Focal Loss for Dense Object Detection
RetinaNet 복습한 것. 리뷰에 개인 프로젝트에 대한 이야기를 많이 들어가 있다.
지난 OD 모델들은 두 가지로 나뉜다. 1stage 모델과 2stage 모델.
1stage모델은 가능한 location들의 dense sampling을 통해 보다 빠르고, 단순한 모델이며,
2stage모델은 candidate object location의 sparse set에 classifier를 부착하여 보다 정확성을 챙긴 모델이다.
그렇다면 왜 1stage로는 2stage만큼의 정확성을 얻을 수 없을까. retinanet은 여기에 집중하여, 문제점을 찾아 고치려 한 논문이다.
2stage의 경우 고전적으론 selective search, 최근엔 RPN과 같은 방법을 통해 미리 candidate location을 찾아 볼 영역 수를 1~2k 수준으로 줄인다. 거기에 sampling heuristics과 같이 fore-background간 오차를 줄이는 방법을 적용해 정확도를 더 높인다.
그에 반해 1stage는 dense한 sampling을 통해 100k에 육박하는 영역들을 커버해야 한다. 이 경우 sampling heuristics 방법을 적용해도, 너무 많은 background class sample들 때문에 한계가 있다.
여기서 생기는 정확도의 차이를, retinanet은 새로운 loss function을 제안하여 해결하려 했다. foreground-background class간의 imbalance가 해결되지 않는 것을, 기존의 ce loss를 바꿈으로써 해결하려 했다.
여기서 gamma = 0 이면 ce loss인데, gamma를 0보다 크게 함으로써 많은 easy negatives가 training에 미치는 영향을 줄이려 한 것이다.
하나하나 따져보자.
우선 pt는 label이 truth일때(y=1) 예측확률 p와 같다. 대신 label이 false라면 1-p 로 계산한다.
즉 알맞게 예측했다면 1에 가깝고, 틀리게 예측했다면 0에 가깝다.
이렇게 설정함으로써 두가지 효과를 기대했는데,
-
misclassfied된 경우(pt →0) 1-pt가 커지므로, loss의 효과를 높이는 대신 옳게 분류된 경우 1-pt가 작아지므로 효과를 줄인다. 곧 easy negative가 loss에 미치는 영향을 높이는 것이다.
-
이 영향을 hyperparameter gamma로써 조절할 수 있게 하였다.
논문에서 실험하기로 gamma=2일때 가장 좋은 성능을 보였다고 한다.
focal loss는 어떤(any) 1-stage 모델에도 좋지만, 저자들은 실험을 위해 하나의 모델을 만들었다. ResNet+FPN을 통해 feature를 뽑아낸 것에 classification/bbox regression subnet을 부착하여 만든 모델이다. 간단한 모델임에도, 따로 variation이나 복잡한 테크닉없이 SOTA와 비슷한 모델이 나왔다고 한다. 그 외 구체적 구현, 트레이닝 결과 등은 논문에 자세히 있어서 여기선 생략하겠다. (실제로 구현하기 쉽게 논문에서 network마다 설명이 잘되있다. 요약해보려해도 잘되있어서 일단 생략)
FPN의 특성상 큰이미지에 조금 취약한 점은 있으나, 그래도 속도, 정확도 모두 잡은 SOTA 1stage 모델이기에 의미가 클것이다.
구체적인 구현은 cv team project에서 구현을 하였다. 아직 repo가 정리가 안되어 공개를 하진 못하지만, 실제로 구현을 해본 결과 손,얼굴 point를 별도 데이터셋으로 학습시킨 결과 목표했던 수화 영상의 손, 얼굴 point를 잘 찾는 테스트 결과를 보였다. 물론 model간 연결의 문제로 실제로 쓰진 못하였지만.
아래는 1)2)가 validation 이미지, 3)이 테스트 이미지이다.
*커다란 anchor는 pose이다. 맨 처음엔 pose도 detect하려 했으나 이후에는 빼고 training했다. 뺀 후 이미지가 찾아도 없어서.. 일단 대체한다.
'내 맘대로 읽는 논문 리뷰 > CV' 카테고리의 다른 글
SORT (0) | 2021.03.10 |
---|---|
A Survey on Moving Object Detection & Tracking methods (0) | 2021.03.10 |
Early-Learning Regularization : ELRloss (0) | 2021.03.10 |
TResNet - ASLLoss (0) | 2021.03.10 |
DG-STA (0) | 2021.03.10 |