상세 컨텐츠

본문 제목

[2주차/최유민/논문리뷰] Object Detection - YOLO v1 , You Only Look Once

2023 Summer Session/CV Team 3

by 도지01 2023. 7. 19. 23:08

본문

YOLO

2-Stage Detector

물체의 위치를 찾는 문제(localization)와 분류 문제(classification)을 순차적으로 해결

1-Stage Detector

물체의 위치를 찾는 문제와 분류 문제를 한 번에 해결

YOLO가 대표적

YOLO(version 1)

 

이미지를 input 으로 받고 SxS grid cells로 나누고 각 cell마다 하나의 개체를 예측한다.

미리 설정된 개수(N개)의 boundary boxes를 통해 객체의 위치와 크기를 파악한다.

이때, 각 cell마다 하나의 객체만을 예측할 수 있기 때문에 여러 개체가 겹쳐있으면 몇몇의 개체는 탐지를 못할 수 있다. 

 

yolo모델 작동과정

grid cell

각 cell 마다 위와 같은 값들을 가진다.

  • 각 셀은 B개의 Bbox를 예측한다. (B * 5개)

각 Bbox는 다음과 같은 값을 가진다.

x, y : Bbox 중심 좌표의 위치

w, h: 바운딩 박스의 w, h를 input image W, H로 나누어 normalization한 값을 활용

confidence: Pr(object) x IOU 물체가 bbox안에 있는지 확률

  • 각 셀은 클래스 분류를 위한 확률 예측값을 가진다.

클래스 개수 C개 마다 Pr(class.i | Object)

cell 당 변수 개수 = B * 5 + C

 

Network Design

24개의 conv layer 와 2개의 FC layer을 포함한다.

 

NMS (Non-Maximum Supression)

가장 신뢰도가 높은 하나의 bounding box 만 남기고 그 객체와 관련된 나머지 bbox를 없애는 후처리 과정에서 사용하는 알고리즘.

IOU (Intersection over Union)

두 Bbox가 겹치는 비율 : 교집합 / 합집합 으로 계산한다.

IOU는 객체를 잘 탐지했는지 성능을 평가할 때 사용되거나,

NMS 알고리즘에서 같은 class끼리 IoU가 임계치 이상일 때 낮은 confidence의 box를 제거한다.

 

IoU의 임계치의 따라 겹쳐 있는 객체를 얼마나 잘 분류할 수 있는지가 달라진다.

위와 같은 문제를 개선하기 위해 Soft-NMS알고리즘이 제안되었다.

Limitations

- 1개의 grid cell 당 1개의 class만 취급하기 때문에 2개 이상의 물체가 하나의 grid cell 에 모여 있더라도 한 가지의 class만 예측이 가능하다. 새 떼와 같은 작은 물체들이 모여 있을때 감지를 하지 못한다.

- 일정한 비율의 bbox로만 예측을 하다 보니 색다른 비율의 물체에 대한 예측이 좋지 못하다. -> 일반화가 어렵다.

- 작은 bbox의 loss와 큰 bbox의 loss를 동일하게 처리한다.

 

Experiments

Faster R-CNN에 비해서 FPS가 높다. -> 속도가 빠르다.

Fast R-CNN 모델과 YOLO 모델의 Error Analysis

YOLO 모델은 Fast R-CNN 모델보다 background error가 덜 나타났지만, Localization error가 더 많이 나타났다.

 

limitation 3번 항목에서 작은 bbox와 큰 bbox의 loss 를 동일하게 처리하여 Localiztion error의 원인이 되지 않을까 싶다.

관련글 더보기

댓글 영역