AI
Object Detection + Tracking + ReID(Re-identification) 기능을 포함한 검출 시스템
연 수
2024. 12. 13. 13:05
반응형
H 과제 : 신분증(ID Card)를 탐지하기 위한 시스템 구축
- License를 고려하여 모델 선정
- 현재, 킥오프 미팅 이전이라 변경 가능성 높음 / 미리 조금씩 준비
- Object Detection : Detectron2
- Facebook AI Research(Facebook AI Research Lab, FAIR)에서 개발한 차세대 객체 검출 라이브러리 (Pytorch 기반)
- 모듈화된 설계 : 모듈화된 아키텍처를 채택하여 다양한 컴퓨터 비전 작업을 쉽게 확장하고 커스터마이즈 가능
- 유연한 구성 : Yaml 기반의 구성 파일을 통해 모델, 데이터셋, 학습 파라미터 등을 손쉽게 설정 가능
- 다양한 모델 지원: Faster R-CNN, Mask R-CNN, RetinaNet, DensePose 등 다양한 객체 검출 및 세분화 모델을 지원
- 효율성: PyTorch의 고성능 연산과 최적화된 데이터 파이프라인을 활용하여 빠른 학습 및 추론이 가능
- 확장성: 커뮤니티 기반으로 다양한 추가 기능과 모델이 지속적으로 개발되고 있으며, 활발한 개발과 풍부한 문서, 예제 코드로 사용자가 쉽게 시작하고 문제를 해결 가능
- 작동 원리
- 데이터 로딩 및 전처리:
- Detectron2는 다양한 데이터셋(COCO, LVIS)을 지원하며 데이터를 로드하고 전처리하는 파이프라인을 제공
- 데이터 증강(Data Augmentation) 기술을 통해 모델의 일반화 성능을 향상 가능
- 모델 구성:
- 구성 파일(YAML)을 통해 모델의 구조, 백본 네트워크, 학습 하이퍼파라미터 등을 정의
- 학습 및 추론:
- Detectron2는 모델 학습을 위한 훈련 루프를 제공하며, 다양한 손실 함수와 최적화 알고리즘을 지원
- 추론 시, 입력 이미지에 대해 객체 검출, 인스턴스 세분화 등을 수행하여 결과를 반환
- 후처리:
- 비최대 억제(Non-Maximum Suppression, NMS) 등을 통해 중복 검출을 제거하고 최종 검출 결과를 도출
- 데이터 로딩 및 전처리:
- Facebook AI Research(Facebook AI Research Lab, FAIR)에서 개발한 차세대 객체 검출 라이브러리 (Pytorch 기반)
- Tracking : BoT - SORT
- BoT-SORT는 Simple Online and Realtime Tracking (SORT) 알고리즘을 개선한 객체 추적(Tracking) 프레임워크로, **Bag of Tricks (BoT)**와 Re-Identification (ReID) 기능을 통합하여 보다 정확하고 효율적인 추적을 구현
- 고속 추적: SORT의 경량화된 구조를 유지하면서도 추가적인 최적화로 높은 프레임 속도를 지원
- ReID 통합: ReID 기능을 통해 동일 객체의 재식별 능력을 향상시켜 객체가 프레임을 벗어나 다시 등장할 때 일관된 ID를 유지
- 멀티 클래스 지원: 다양한 객체 클래스에 대해 별도의 추적을 지원하여 각 클래스별로 고유한 추적 ID를 할당
- 유연한 구성: 다양한 파라미터를 통해 추적 성능을 세밀하게 조정
- 오픈 소스: GitHub를 통해 공개되어 있으며, 커뮤니티의 기여와 개선이 활발히 이뤄짐
- 작동 원리
- 객체 검출 입력:
- Detectron2와 같은 객체 검출기를 통해 검출된 객체의 경계 상자와 클래스 정보를 입력으로 받음
- ReID 특징 추출:
- Fast-ReID와 같은 ReID 모델을 사용하여 각 검출된 객체의 외관 특징을 추출
- 이 특징은 객체의 재식별에 사용
- 칼만 필터 (Kalman Filter):
- 각 객체의 이동을 예측하고, 실제 검출 결과와 비교하여 추적 상태를 업데이트 후 칼만 필터를 통해 객체의 위치와 속도를 추정
- 가우시안 혼합 모델 (Gaussian Mixture Model, GMM):
- 객체의 외관 특징과 위치 정보를 결합하여 객체의 상태를 모델링하고, GMM을 통해 객체의 재식별 및 매칭
- 추적 매칭:
- 검출된 객체와 기존 추적 객체 간의 매칭을 수행하여 ReID 특징과 위치 정보를 기반으로 매칭 점수를 계산하고, 최적의 매칭을 결정
- 추적 상태 업데이트:
- 매칭 결과를 바탕으로 각 추적 객체의 상태를 업데이트하여 새로운 객체의 추적을 시작하거나, 추적이 실패한 객체를 제거
- 객체 검출 입력:
- BoT-SORT는 Simple Online and Realtime Tracking (SORT) 알고리즘을 개선한 객체 추적(Tracking) 프레임워크로, **Bag of Tricks (BoT)**와 Re-Identification (ReID) 기능을 통합하여 보다 정확하고 효율적인 추적을 구현
- ReID : Fast-ReID -> BoT SORT 내부에서 진행
- Fast-ReID는 객체 재식별(Re-Identification, ReID)을 위한 고성능 오픈 소스 딥러닝 프레임워크
- 다양한 백본 네트워크: ResNet, HRNet, Vision Transformer(ViT) 등 다양한 백본 네트워크를 지원하여 모델 선택의 유연성을 제공
- 다양한 손실 함수: Cross-Entropy Loss, Triplet Loss, ArcFace Loss, Circle Loss 등 다양한 손실 함수를 지원하여 ReID 모델의 학습을 최적화할 수 있음
- 데이터 증강: Random Erasing, MixUp, CutMix, Color Jitter 등 다양한 데이터 증강 기법을 통해 모델의 일반화 성능을 향상
- 확장성: 사용자 정의 데이터셋과 모델 구성이 용이하여, 다양한 도메인에 맞게 ReID 모델을 커스터마이즈 가능
- 사전 학습된 모델: 다양한 데이터셋에서 사전 학습된 모델을 제공
- 작동 원리
- 데이터 준비:
- ReID 작업을 위해 특정 데이터셋(Market-1501, MSMT17, CUHK03 등)을 사용
- 데이터셋은 보통 이미지와 해당 객체의 ID 정보로 구성
- ReID 작업을 위해 특정 데이터셋(Market-1501, MSMT17, CUHK03 등)을 사용
- 데이터 로딩 및 전처리:
- Fast-ReID는 데이터 로더를 통해 이미지와 레이블을 효율적으로 로드
- 데이터 증강 기법을 적용하여 모델의 일반화 성능을 향상
- 모델 구성:
- 구성 파일(YAML)을 통해 모델의 구조, 백본 네트워크, 손실 함수, 학습 하이퍼파라미터 등을 정의
- 예를 들어, ResNet50 백본과 Triplet Loss를 사용하는 ReID 모델을 선정
- 구성 파일(YAML)을 통해 모델의 구조, 백본 네트워크, 손실 함수, 학습 하이퍼파라미터 등을 정의
- 모델 학습:
- 정의된 모델과 손실 함수를 기반으로 데이터셋을 학습
- 학습 과정에서 모델은 각 객체의 고유한 특징을 학습하여 동일 객체를 일관되게 식별할 수 있도록 최적화
- 정의된 모델과 손실 함수를 기반으로 데이터셋을 학습
- 추론 및 ReID 특징 추출:
- 학습된 모델을 사용하여 새로운 이미지에서 객체의 ReID 특징을 추출하여 BoT-SORT와 같은 추적 알고리즘에서 객체의 재식별에 사용
- 평가 및 튜닝:
- 다양한 지표(정확도, mAP 등)를 통해 모델의 성능을 평가하고, 필요에 따라 하이퍼파라미터를 조정하여 최적화
- 데이터 준비:
- Fast-ReID는 객체 재식별(Re-Identification, ReID)을 위한 고성능 오픈 소스 딥러닝 프레임워크
- 기술 통합 및 시스템 설계
- 데이터 흐름
- 입력 비디오 프레임 -> 객체 검출(Detectron2) -> 특징 추출 (Fast-ReID) -> 추적 (BoT-SORT) -> 결과 도출
- 데이터 흐름
- 개발 진행 상황
- 초안 시스템의 기능 구현 완료 (Detectron2 + BoT SORT + Fast ReID)
- Object Detection 성능은 괜찮음 (Human 기준)
- ReID 성능은 잘 안나옴 (pretrained pth 사용)
- Custom Data 사용하여 학습 고려 / 파라미터 튜닝 -> 성능 향상
- 기술 리서치 및 정리 필요
- ID Card를 근본적으로 잘 인식하기 위한 준비
- (company) lanyard id badge (lanyard) -> id card 는 신분증에 가까움 / 목에 거는 회사 신분증, 출입증 느낌
- Hugging Face에서 Grounding SAM 테스트 / Lanyard (간단한 사진은 잘 잡음)
- 어떤 환경에서 모델을 돌릴지, (local & server) 고려하여 향후 모델 재선정
- https://huggingface.co/spaces/yizhangliu/Grounded-Segment-Anything
- ID Card를 근본적으로 잘 인식하기 위한 준비
반응형