물체 위치 식별 + 물체 판별
두 개 이상의 객체 존재 가능(classification에 비해 조금 더 어려운 task)
Real world에 적용 가능성 큼

mAP(mean Average Precision)를 사용
mAP란, 각 클래스 당 AP의 평균을 의미
PR Curve란, 누적 recall 값을 x좌표로, 누적 precision을 y좌표로 그린 그래프


IOU란, precision과 recall을 계산하기 위한 정확한 detect의 기준으로 ground truth와 prediction가 있을 때 두 영역 간 겹치는 영역을 두 영역의 합으로 나눈 값
IOU40, IOU50 등 기준 값을 다르게 설정 가능

FPS
FLOPs(Floating Point Operations)
Model이 얼마나 빠르게 동작하는지 측정하는 metric으로, 주로 덧셈이 아니라 곱셈만 계산
convloution opertaions example

MMDetection
Detectron2
YOLOv5
EfficientDet
• 통합된 library의 부재
• 엔지니어링 적인 측면 강함
▪ 어떤 모델이 풀고자 하는 문제에 적합한지 실험적인 증명이 필요
▪ Custom, tuning 하는 과정에서 개발 수준의 활용 필요
• 복잡한 파이프라인
• 높은 성능을 내기 위해서 무거운 모델을 활용
• Resolution이 성능에 영향을 많이 끼쳐 사진의 크기가 큼

1) Sliding Window나 Selective Search 이용해 약 2000개 Region 추출하고 warping으로 모두 동일한 사이즈로 크기 조정
2) Pretrained AlexNet 구조 활용해 각 Region을 CNN을 통해 4096-dim의 feature maps 생성
3) 각 feature map을 SVM을 통해 분류(배경으로 식별하기 어려운 샘플들을 강제로 다음 배치의 negative sample로 mining하는 Hard negative mining 사용)
4) 각 featrue map을 regression을 통해 bounding box 예측
1) 2000개의 Region을 각각 CNN 통과
2) 강제 Warping(fc layer때문) -> 성능 하락 가능성
3) CNN, SVM classifier, bounding box regressor 따로 학습
4) End-to-End X
R-CNN의 강제 warping 문제를 Spatial Pyramid Pooling으로 해결
모든 region이 CNN 통과하는 문제를 처음 한 번만 CNN을 통과시키고 나온 feature maps에서 region 추출하도록 함으로써 해결

1) input image를 CNN을 통과시켜 feature maps 생성
2) Selective Search 이용해 RoI 추출
3) Spatial Pyramid Pooling으로 RoI들을 고정된 크기의 feature vector로 만듦

4) SVM으로 분류
5) bouning box 예측
1) CNN, SVM classifier, bounding box regressor 따로 학습
2) End-to-End X

1) input image를 CNN(VGG16)을 통과시켜 feature maps 생성
2) Selective Search와 RoI projection으로 줄어든 크기에 맞게 feature maps 생성
3) RoI Pooling으로 feature maps의 크기를 고정(SPP와 유사)

4) FC 이후 Softmax Classifier와 Bounding box regeressor
multi task loss 사용
classification loss : Cross entropy
bounding box regression : Smooth L1
Dataset 구성
• IoU > 0.5: positive samples
• 0.1 < IoU < 0.5: negative samples
• Positive samples 25%, negative samples 75%
Hierarchical sampling
• 한 배치에 한 이미지의 RoI만을 포함
• 한 배치 안에서 연산과 메모리를 공유할 수 있음

1) input image를 CNN(VGG16)을 통과시켜 feature maps 생성
2) RPN을 통해 RoI 계산(Anchor box)



3) NMS로 중복 box 제거 : 박스를 스코어 기준 내림차순 정렬 후 순서대로 기준 box를 대상으로 설정한 IoU보다 높은 경우 그 박스를 제거

4) Softmax Classifier와 Bounding box regeressor
RPN 단계에서 classification과 regressor학습을 위해 앵커박스를 positive/negative samples 구분
데이터셋 구성
• IoU > 0.7 or highest IoU with GT: positive samples
• IoU < 0.3: negative samples
• Otherwise : 학습데이터로 사용 X
RPN과 Fast를 4단계를 거쳐 학습해 복잡함 -> 최근엔 Approximate Joint Training
