호기심 많은 분석가
[BoostCamp] Week9_Day37. New P-Stage 본문
부스트캠프
개발자의 지속 가능한 성장을 위한 학습 커뮤니티
boostcamp.connect.or.kr
Object Detection Overview
1. Object Detection
- Classification vs. Object Detection
- Object Detection
- 이미지에서 객체를 식별해내는 테스트 / 분류보다 어려움
- 이미지에서 객체를 찾고 이것이 무엇인가
1-1. Real World
- 자율주행 / 사진 속에서 텍스트를 추출 (OCR) / 의료 도메인(굉장히 중요하게 쓰이고 있음)
1-2. History
1-3. Evaluation
- 성능
- mAP (얼마나 잘 검출했는 지)
- 속도
- FPS
- Flops
2-1. mAP (mean average precision)
- 각 클래스당 AP의 평균
- 이것을 계산하기 위해 필요한 개념
- Confusion Matrix
- Precision & Recall
- PR curve
- AP (Average Precision)
- IOU (Intersection Over Union)
- Confusion Matrix
- 뒤의 문자가 모델이 예측한 것, 앞이 그게 정답인지 오답인지
- Precision
- 모델의 예측 관점에서 정의한 메트릭
- Recall
- 정답 관점에서 본 것
- Example
- Precision은 모델의 예측 관점에서 보았기 때문에 예측한 8개 중에 정답이 4개
- Recall은 정답 관점에서 보기 때문에 5개 중 4개
- 바라보는 시각에 따라 수치가 확연히 달라짐
- PR Curve
- Ground Truth : 총 10개의 객체
- Predict : 아래 10개의 객체
- 예측들에 대해 맞았는지 틀렸는지 레이블이 가능하고 Confidence가 존재한다고 했을 때
- Confidence를 기준으로 내림차순 한 뒤 TP/FP의 누적을 구해줌
- 그 후에 (Recall, Precision)으로 그래프를 그려줌
- AP란 PR Curve에서 선을 긋고 아래 면적을 계산한 것이다. 무조건 0과 1 사이
- mAP란 모든 객체에 대한 AP의 평균
- 디텍션의 경우에는 클래스피케이션과는 다르게 bbox를 예측한다. 그 박스가 Ground Truth과 같은 지 판단하는 조건이 필요하다. 그 기준을 세워주는 것이 IOU
- 그래서 디텍션의 경우에는 mAP만 사용하는 것이 아니라 그 뒤에 IOU 기준을 함께 설정해주어야 함
- mAP50, mAP60, mAP70,...
2-2. FPS (Frames Per Second)
- 초당 처리할 수 있는 프레임 숫자 → 크면 클수록 모델이 빠름
2-3. FLOPs (Floating Point Operations)
- Model이 얼마나 빠르게 동작하는지 측정하는 metric → 작으면 작을수록 빠름
- 연산량 횟수 (곱하기, 더하기, 빼기 등)
- 일반적으로 덧셈 같은 경우는 모델에서 생략하기 마련
3. Library
- MMDetection
- pytorch기반인 object detection 오픈소스
- pytorch기반인 object detection 오픈소스
- Detectron2
- 페이스북 AI 리서치의 라이브러리로 pytorch 기반의 object detection과 segmentation의 알고리즘을 제공
- YOLOv5
- coco 테이터셋으로 사전 학습된 모델로 수천 시간의 연구와 개발에 걸쳐 발전된 object detection 모델
- colab, kaggle, docker, AWS, google cloud platform 등에서 오픈소스를 제공
- EfficientDet
- Google Research & Brain에서 연구한 모델로 EfficientNet을 응용해 만든 Object Detection모델
3-1. Object Detection Domain 특성
- 통합된 Library의 부재
- 엔지니어링적인 측면 강함
- 어떤 모델이 풀고자 하는 문제에 적합한지 실험적인 증명이 필요
- Custom, tuning 하는 과정에서 개발 수준의 활용 필요
- 복잡한 파이프라인
- 높은 성능을 내기 위해서 무거운 모델을 활용
- Resolution이 성능에 영향을 많이 끼쳐 사진의 크기가 큼
[AI Tech]Daily Report
Naver AI Tech BoostCamp 2기 캠퍼 허정훈 2021.08.03 - 2021.12.27 https://bit.ly/3oC70G9
www.notion.so
'Coding > BoostCamp' 카테고리의 다른 글
[BoostCamp] Week12_Lec1. Segmentation (0) | 2021.10.26 |
---|---|
[Boostcamp] 멘토님, 마스터님, 그리고 우리 팀 (2) | 2021.10.21 |
[BoostCamp] Week7_Day33&34. Multi-modal Learning (0) | 2021.10.05 |
[Boostcamp] 온라인의 인연을 오프라인에서 (4) | 2021.10.04 |
[BoostCamp] Week7_Day32. Conditional Generative Model (0) | 2021.09.28 |