논문 리뷰/object detection

[논문 리뷰] YOLOv3

curious_cat 2023. 2. 22. 01:23
728x90
728x90

개요

논문 링크: https://arxiv.org/abs/1804.02767

이전 글: 2023.01.31 - [paper review] - [논문 리뷰] YOLO-v2
사실 논문이라기보다 informal tech report이라서 글이 재미있다. 이 report에서는 YOLO-v2 성능을 더 높이는 방안들을 소개한다.

트릭들

bbox 관련

  • 우선 bbox는 예전처럼 \( t_x, t_y, t_w, t_h\)를 예측한다. \( c_x, c_y \)는 왼쪽 위에 코너에서부터 offset이고 정수 값을 갖는다. \( p_w, p_h\) 는 bbox 너비와 높이의 prior. 

 

  • 학습할 때 t 값에 대해서는 square error loss를 사용한다.
  • 예전에는 confidence score을 예측했다면 (v1 참고) 이제 objectness score을 예측한다. 이때 logistic regression을 사용. Objectness score 은 다음과 같이 정한다:
    • 어떤 bbox prior이 GT물체 bbox와 (다른 bbox prior에 비해서) 가장 많이 겹치면 1
    • bbox prior이 어떤 threshold value (0.5를 사용)보다 많이 겹치지만, 가장 많이 겹치지 않으면 그냥 무시
    • 나머지는 0
  •  bbox prior이 GT 물체에 할당되지 않으면 bbox loss에 기여 안 함; objectness loss에만 기여.

Class prediction 관련

  • classification을 할 때 각 class마다 logistic regression 사용하면 충분하다고 한다. 참고로 v2에서는 classification을 할 때 softmax 사용 (리뷰에서는 classification을 자세히 다루지 않았다), v1에서는 MSE loss 사용. 
    • 참고로 '복잡한' class label에 이런 방식이 더 유용하다고 한다. 예를 들어 'woman'이랑 'person'이라는 label이 둘 다 존재하는 classification dataset에 대해서는 softmax는 mutually exclusive 하다는 가정을 하지만 각 class마다 logistic regression을 하면 person이면서 woman인 것을 예측하는 것이 가능

Multiscale prediction

  • Feature pyramid network와 비슷하게 3개의 다른 scale에서 예측을 한다
  • 우선 base feature extractor에 몇 개의 convolutional layer을 추가해서 N x N x [3(4+1+80)] 개의 값을 예측한다. 여기서 N은 feature dimension, 3는 예측하는 bbox 개수, 4는 bbox offset (t 값들), 1는 objectness, 80은 class prediction.
  • 두 개 전 layer에서부터 2배로 upsample 하고, 이전 layer (feature dim이 2배인 layer)와 concatenate 한다. 이렇게 얻은 feature에 convolution layer을 추가해서 비슷하게 예측을 한다
  • 위 프로세스를 한번 더 반복

Feature extractor

Residual connection 추가된 Darknet 53이라는 architecture을 사용

Detection task에서는 적어도 ResNet에 비해서 좋은 결과를 줌

결과

  • AP_50 (mAP at IOU=0.5)를 보면 YOLOv3가 꽤 좋다.
  • 하지만 IOU threshold를 높이면 성능이 많이 떨어진다. 아직 bbox를 완전히 잘 align 하는 것을 잘 못하는 것을 알 수 있다.
  • 예전에는 작은 물체를 찾는데 힘들어했지만 YOLOv3에서는 multiscale을 사용해서 작은 물체를 이제 잘 찾는다 (AP_S). 하지만  (다른 detection method에 비해서) 큰 물체에서는 성능이 별로 안 좋은 것을 알 수 있다. 이유는 잘 모르겠다고 한다.

다른 방식과 비교

  • 속도 대비 mAP-50을 봤을 때 YOLOv3가 좋다

 

728x90
728x90

'논문 리뷰 > object detection' 카테고리의 다른 글

[논문 리뷰] PP-YOLO v1 (+v2)  (3) 2023.05.26
YOLOv5 정리  (2) 2023.05.19
[논문 리뷰] YOLOv4 (상세 리뷰)  (0) 2023.04.11
[논문 리뷰] YOLOv2  (0) 2023.01.31
[논문 리뷰] YOLOv1  (0) 2023.01.24