[05 RE-ID] - 기술 도입의 한계와 고려사항 그리고 해결책
·
딥러닝 (Deep Learning)/[08] - 프로젝트
이전에 Re-ID 기술에 대해 간략히 소개한 바 있다. 이번에는 Re-ID 기술을 실제 프로젝트에 적용하며 마주한 한계점과 이를 해결하기 위한 아이디어를 정리해 보았다.Re-ID 기술은 초기 단계인 1단계(사람 검출)과 2단계(피처 추출)까지는 비교적 쉽게 도입할 수 있었다. 하지만, 3단계(임베딩), 4단계(클러스터링), 5단계(트래킹), 6단계(검색)으로 넘어가려면 몇 가지 중요한 한계와 문제점이 존재했다.https://ai-bt.tistory.com/entry/05-RE-ID-Re-Identification-%EA%B8%B0%EC%88%A0-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0한계와 문제점1. 클러스터 라벨링 문제Re-ID 시스템에서 클러스터링을 수행하려면 각 클러스터(..
[05 RE-ID] - Re-Identification 기술 이해하기!
·
딥러닝 (Deep Learning)/[08] - 프로젝트
Re-ID 란?Re-ID (Re-Identification) 기술은 여러 장면에서 촬영된 이미지에서 같은 사람을 인식하고 식별하는 기술이다. 주어진 이미지(검색할 이미지)와 데이터베이스의 이미지를 비교하여 같은 사람을 찾는 것이 주요 목표이다. 아래에 Re-ID의 과정을 단계별로 정리하였다. 우선 RE-ID 의 과정은 아래와 같이 진행 된다. 하나씩 내용을 보면서 이해해보자. 사람 검출 (Detection)피처 추출 (Feature Extraction)임베딩 (Embedding)클러스터링 (Clustering)트래킹 (Tracking)검색 (Search) 1. 사람검출 (Detection)Re-ID의 첫 번째 단계는 입력 이미지에서 사람을 탐지하는 것이다. 이 과정에서는 Object Detection 모..
[04 Segmentation] - Segmentation Models Pytorch 사용법
·
딥러닝 (Deep Learning)/[08] - 프로젝트
이번 포스팅에서는 Segmentation Models PyTorch(SMP) 라이브러리를 사용하여 UNet 기반의 모델을 학습하는 방법을 다룬다. SMP는 다양한 세그멘테이션 모델과 사전 학습된 백본(Backbone)을 제공하여 모델 개발을 간편하게 만든다. 이 글에서는 PyTorch와 SMP를 활용해 X-Ray 데이터를 학습하는 코드를 구성하고, 각 단계에서 사용한 기능과 로직을 설명하겠습니다.  SMP란 무엇인가?Segmentation Models PyTorch는 PyTorch를 기반으로 구축된 세그멘테이션 모델 라이브러리이다. UNet, UNet++, DeepLabV3+와 같은 다양한 모델을 지원하며, EfficientNet, ResNet, RegNet 등 여러 백본을 선택할 수 있다. 특히 사전 ..
[04 Segmentation] - Semantic Segmentation 대회에서 사용하는 방법들
·
딥러닝 (Deep Learning)/[08] - 프로젝트
K-Fold 구분 1. K-Fold 교차 검증K-Fold 교차 검증은 데이터를*K개의 동일한 크기의 부분집합(Fold*으로 나누어 모델을 평가하는 방법이다. 이 방법은 데이터의 불균형을 방지하고, 모델의 일반화 성능을 향상시키기 위해 사용된다. 과정데이터를 K개의 Fold로 나눈다.각 Fold를 한 번씩 검증 데이터로 사용하며, 나머지 Fold는 훈련 데이터로 사용한다.이 과정을 K번 반복하여, K개의 모델을 학습하고 각각의 성능을 측정한다.최종적으로 K개의 결과를 평균 내어 모델의 일반화 성능을 평가한다.장점모든 데이터가 훈련 및 검증에 사용되므로 데이터 낭비가 없다.데이터가 고르게 검증되기 때문에 일반화 성능 평가에 효과적이다.단점반복적으로 모델을 학습해야 하므로 계산 비용이 높다. 2. Strati..
[04 Segmentation] - PyTorch 에서 메모리 부족할때 해결하는 방법! (Autocast, GradScaler)
·
딥러닝 (Deep Learning)/[08] - 프로젝트
Autocast와 GradScaler딥러닝 모델을 학습할 때, 특히 GPU를 사용할 경우 메모리 효율성과 연산 속도를 개선하는 것이 매우 중요하다. 이때 PyTorch에서 제공하는 Autocast와 GradScaler는 메모리 사용량을 줄이고 학습 성능을 최적화하는 데 효과적이다. 이 글에서는 Autocast와 GradScaler의 원리를 설명하고, 이를 활용한 코드와 적용 사례를 알아보자. Autocast의 원리Autocast는 PyTorch에서 제공하는 기능으로, Mixed Precision Training(혼합 정밀도 학습)을 구현한다. 그러면 Mixed Precision Training 이게 무엇인가??딥러닝 연산에서 일부를 FP32(32-bit floating point) 대신 FP16(16-b..
[04 Segmentation] - MMsegmentation 사용법
·
딥러닝 (Deep Learning)/[08] - 프로젝트
1. MMSegmentation이란? MMDetection과 MMSegmentation은 모두 컴퓨터 비전 분야에서 널리 사용되는 오픈소스 라이브러리이다. 특히, MMSegmentation은 주로 이미지 세그멘테이션 작업에 특화된 프레임워크로, 다양한 세그멘테이션 모델과 학습 방식을 지원한다.MMSegmentation은 OpenMMLab이라는 오픈소스 프로젝트의 일환으로 개발된 이미지 세그멘테이션을 위한 라이브러리이다. 이 프레임워크는 다양한 종류의 세그멘테이션 모델을 쉽게 구축하고 학습할 수 있도록 설계되어 있다. 대표적인 세그멘테이션 모델인 U-Net, DeepLab 시리즈, FCN(Fully Convolutional Network) 등을 지원하며, 최신 연구 결과와 알고리즘도 빠르게 반영하고 있다...
[03 OCR] - 영수증 데이터 추가 방법
·
딥러닝 (Deep Learning)/[08] - 프로젝트
1. EAST 모델 기반 영수증 텍스트 영역 검출 프로젝트 프로젝트는 EAST 모델을 기반으로 영수증의 텍스트 영역을 더욱 정밀하게 검출하는 데 중점을 두고 있다. 목표는 텍스트 영역 검출의 precision과 recall을 최대한 높여, 영수증 내 텍스트 검출 성능을 크게 향상시키는 것이다. EAST 모델 자체의 설명은 후반부에서 다루기로 하고, 먼저 기존에 부족했던 데이터셋을 보완하기 위해 영수증 데이터를 추가하는 과정을 공유하겠다.영수증 데이터셋이 제한적이었기에, 텍스트 검출의 정확도와 성능 향상에 어려움이 있었다. 이를 해결하기 위해 추가 데이터를 활용하여 train/val 세트를 확장하였고, 그 결과 텍스트 검출의 precision 와 recall 모두 긍정적인 성능 향상을 확인할 수 있었다. ..
[02 Object Detection] - MMdetection train/val 학습 방법
·
딥러닝 (Deep Learning)/[08] - 프로젝트
지난 블로그에서는 MMDetection의 기본적인 설치와 사용 방법에 대해 다뤘습니다. 이번 포스트에서는 train/val 데이터를 나누고 학습을 진행하는 방법에 대해 알아보겠습니다. 특히, COCO 형식의 데이터셋을 사용해 객체 탐지 모델을 학습하는 방법을 중점적으로 설명하겠습니다. [02 Object Detection] - MMdetection 설치 및 기본사용법MMDetection이란?MMDetection은 OpenMMLab에서 개발한 오픈 소스 딥러닝 객체 탐지 라이브러리입니다. 다양한 최신 객체 탐지 알고리즘을 구현하고 있어, 연구 및 실험을 위한 최적의 환경을 제공합니다.ai-bt.tistory.com 1. 데이터셋 준비 및 Train/Val 분할  객체 탐지 모델을 학습할 때, 보통 학습 데..
[02 Object Detection] - MMdetection 설치 및 기본사용법
·
딥러닝 (Deep Learning)/[08] - 프로젝트
MMDetection이란?MMDetection은 OpenMMLab에서 개발한 오픈 소스 딥러닝 객체 탐지 라이브러리입니다. 다양한 최신 객체 탐지 알고리즘을 구현하고 있어, 연구 및 실험을 위한 최적의 환경을 제공합니다. 이 라이브러리는 COCO, VOC, ADE20K 등 다양한 데이터셋을 지원하며, 사용자 친화적인 API와 확장성이 뛰어난 구조로 되어 있습니다. MMDetection은 연구자와 개발자들이 효율적으로 딥러닝 모델을 구축하고 학습할 수 있도록 도와줍니다. 1. MMDetection 설치 과정 1) MMdection 클론하기MMDetection을 사용하기 위해서는 먼저 라이브러리를 설치해야 합니다. 설치 과정은 다음과 같습니다.우선, MMDetection의 소스 코드를 GitHub에서 클론해..