- Two-stage Detectors
:image
-Region Proposal
-Classification
-pred
1) Localization (후보영역찾기)
2) Classification (후보영역 분류)
: 속도가 느림
- One-stage Detectors
:image
-Conv layer
-feature map
-pred
:Localization
과Classification
이 동시에 진행
: 속도가 빠름
: 영역을 추출하지 않고 전체 이미지를 보기 때문에맥락적 이해
가 높음
Region proposal
단계가 없음- 전체이미지에서
bbox
와class
를 동시에 예측
Grid
- 입력 이미지를 x
grid
로 나눔()- 각
grid
마다 개의bbox
와confidence score
계산()- ()개의
bbox
- 신뢰도(
confidence score
)=- 각
grid
마다 개의 class에 대한 해당 클래스일 확률 계산()conditional class probability
=
Network(참고슬라이드)
GoogLeNet
을 변형하여 사용input image
-GoogLeNet
-output feature
- = 의
output
을 만듦
- output
- 출력이 가지는
30개의 channel
을5/5/20
으로 나눌 수 있음- 처음
5
개는bbox1
의 +- 두 번째
5
개는bbox2
의 +- 나머지
20
개는class
별score
값을 나타냄- 각
bbox
의score
와class score
를 곱해줌으로써 20차원의bbox class score
를 얻어냄- 최종적으로 하나의 이미지당 개의
bbox
에 대한 20차원의class score
가 만들어짐
1)threshold
이하의class score
를 갖는bbox
의 값은 지움
2)class score
기준으로 bbox를 내림차순 정렬함
3)NMS
를 통해 겹치는bbox
는 제거함
Loss
:object
가 있을 때를 의미
- 장점
1) Faster R-CNN에 비해 6배 빠른 속도
2) 다른 real-time detector에 비해 2배 높은 정확도
3) 물체의 일반화된 표현을 학습, 새로운 dataset에도 좋은성능
- YOLO의 단점
7x7 grid
로 나눠grid
보다 작은 크기의 물체 검출 불가능- 신경망을 통과하여 마지막 feature만 사용
- SSD의 특징
Extra convolution layers
에서 나온feature map
들 모두detection
수행
- 6개의 서로 다른 scale의 feature map 사용
- 큰
feature map
에서는 작은 물체 탐지- 작은
feature map
에서는 큰 물체 탐지fc layer
대신conv layer
사용하여 속도 향상Default box(= anchor box?)
사용
- 서로 다른 scale과 비율을 가진 미리 계산된 box사용
- Network
VGG-16
을backbone
으로 사용- 다양한 크기의
feature map
을 얻음
Multi-scale feature maps
- : 위치 정보
- : 클래스의 수(20) + 배경(1)
- 다양한 크기의
feature map
을 만들기 위해 파라미터 를 사용aspect ratio
인 에 를 곱해 다양한 크기의 를 만들어 냄- 이 1인경우에는 를 각각 로 두는 케이스를 추가함
- 그 결과로 각
cell
별 (의 원소개수 + 1개)의default box
를 만듦
- 각
bbox
의 가 먼저 나옴- 가 나오고,
- 가 이어서 나옴
- 다양한 크기의
feature map
을 얻은 후default box
를 구해 매우 많은bbox
를 얻음큰 feature map
일수록작은 object
를 잘 탐지하고작은 feature map
일수록큰 object
를 잘 탐지함
Training
Hard negative mining
수행NMS
수행
- 3가지파트에서 model 향상
- Better(정확도)
- Faster(속도)
- Stronger(더 많은 클래스)
Better
Batch Normalization
추가 ->mAP
2% 향상- 였던 이미지의 resolution을 로 키워줌 ->
mAP
4% 향상conv with anchor box
->mAP
5% 향상
fc layer
제거anchor box
도입- 좌표값 대신
offset
예측하는 문제가 단순하고 학습하기 쉬움Fine-grained features
low-level
의 정보를high-level
에 주고자early feature map
을 분할 후,channel-wise
로 결합하여late feature map
에 합쳐주는passthrough layer
도입
multi scale training
- 다양한 입력 이미지 사용
- multi-scale
feature map
아님Faster
GoogLeNet
대신DarkNet-19
을backbone
으로 사용Stronger
ImageNet
,coco
데이터셋을 동시에 사용ImageNet
:classification
만 수행coco
:detection
만 수행
Darknet-53
skip connection
적용Max pooling
미사용,stride 2
사용ResNet-101
,ResNet-152
와 비슷한 성능으로 더 높은FPS
를 가짐Multi-scale Feature map
- 서로 다른 3개의
scale
사용Feature Pyramid Network(FPN)
사용
one-stage가 가지고 있는 고질적인 문제를 해결
Class imbalance
Anchor box
대부분이negative sample
임Positive sample(객체)
<negative sample(배경)
two-stage detector
의 경우Region proposal
에서negative sample
을 제거해주고hard negative mining
을 통해pos
와neg
를 적절하게 유지함Focal Loss
cross entropy
+scaling factor
- 쉬운 예제에 작은 가중치, 어려운 예제에 큰 가중치를 주어 어려운 예제에 집중하도록 함
Object Detection
뿐만 아니라class imbalance
가 심한classification task
에도 사용할 수 잇음