안녕하세요. 후니대디입니다.
이번에는 object detection history 3탄 one stage 관련하여 포스팅하겠습니다.
이전의 포스팅은 아래 참고하세요.
One stage object Detection의 대표 Yolo를 통해 One stage object detection의 원리에 대해 알아보겠습니다.
YOLO v1
Yolo V1 은 입력 이미지를 S X S Grid로 나누고 각 Grid Cell 이 2개의 Bounding Box 후보를 기반으로 Object의 Bounding Box 를 예측합니다. 각 Grid Cell별로는 2개의 bbox 후보의 좌표와 confidence score(오브젝트일 확률 * IOU 값), 클래스 확률을 구합니다.
Yolo v1은 Detection 시간은 빠르나 Detection 성능이 떨어지고 특히 작은 Object에 대한 성능이 좋지 않습니다.
YOLO v2
13 x 13 feature map 기반으로 각각의 Grid cell에서 k-mean clustering을 활용하여 5개의 anchor box를 추출하여 object detection을 진행합니다. classification layer를 Fully Connected layer에서 Fully Convolution으로 변경하였습니다. 또한 predicted Bbox의 center 좌표가 해당 cell에서 벗어나지 않도록 Direct Location Prediction을 적용하였습니다.( center 좌표가 Cell 중심을 너무 벗어나지 못하도록 0 ~ 1 사이의 시그모이드 값으로 조절)
위의 그림은 Passthrough module을 통한 fine grained feature을 나타냅니다. 이는 좀 더 작은 오브젝트를 Detect 하기 위해서 26x26x512 feature map의 특징을 유지한 채 13x13x2048 로 reshape한 뒤 13x13x1024에 추가하여 feature map 생성합니다.
bbox별로 위의 그림와 같이 25개의 vector정보를 갖게 됩니다. loss function을 v1과 거의 유사합니다.
YOLO v3
Yolo v3 부터는 FPN(Feature Pyramid Network)와 같은 기법을 적용하여 각각 서로 다른 크기를 가진 Feature Map를 이용해 다양한 scale을 가진 anchor box통해 Detection을 수행합니다. 또한 Classification layer는 softmax가 아닌 sigmoid기반의 logistic classifier로 개별 object multi label을 예측합니다.
Focal Loss
Focal Loss는 one stage detector중 하나인 Retinanet에서 사용되었습니다. Object Detection을 위한 이미지에서는 주로 background(negative)가 foreground(positive)보다 많습니다. 이를 class imbalance문제라고 하는데요. 즉, Easy exmple(찾기 쉬운 object)는 많고, Hard Example이 적은 문제입니다. two-stage에서는 RPN에서 object가 있을만한 region을 proposal해 주지만 one-stage는 이를 같이 수행하기 때문에 calss imbalance문제가 발생하게 됩니다.
이를 해결하기 위해서 사용되는 것이 Focal Loss입니다. 즉, 확실한 object들에게는 작은 loss를 부여하는 것 입니다.
위의 그래프에서 알수 있듯이 $\gamma$의 값이 커질수록 Easy Example에 대한 loss가 줄어들게 되고 $\gamma$이 0이면 cross entropy와 일치하게 됩니다. 여기서 $\gamma$를 focusing parameter라고 하며 Easy Example에 대한 Loss의 비중을 낮추게 됩니다.
- detection & segmentation
- pip package
- small object에서도 acc정확도 높힘
- 여전히 eage device에서도 돌수있음
- anchor free model -> save computing time
-
이상으로 object detection history를 마치겠습니다.