https://arxiv.org/abs/2107.08430
YOLO모델은 다른 Object Dection 모델과 비슷하게 CNN기반의 네트워크로 구성되어있으며
ObjectDection의 모델중 YOLO모델이 가장 인기있게 사용되고 있다 .
YOLO는 v1부터 v5까지 발표가 되었는데 v1을 제외하고는 모두 anchor를 사용한다 .
anchor란 한마디로 정의하면 bounding box를 만드는 기반입니다.
feature extraction을 진행하여 backbone의 마지막 feature map에 output shape에 따라 이미지에 그리드를 나누고 (예제에서는 7x7로 나눔) 칸 하나하나를 Cell이라고 한다.
각 Cell을통해서 anchor를 만들게 되고 수많은 anchor를 visualizing 하게 되면 가운데 위의 그림처럼 진행된다 .
anchor가 bounding box가 되고 얼마나 많이 겹치는지 (IOU) 에 따라 Accuracy가 높은 boundig box만 남게 된다.
anchor 방식은 단점이 존재하는데
- Head의 복잡성과 예측의 수를 증가시킵니다.
- anchor를 직접 구상해야하는 번거로움이 있다.
이러한 이유로 YOLOX는 anchor-free 방식으로 진행되고있다.
anchor-free method는 위와 같이 feature extraction으로 진행하지만 각 Cell마다 anchor를 생성해주지않고 바로 bounding box로 class를 classification 해준다.
파란색 bounding box에 속하는 Cell을 Positive sample로 지정하고 그외 빨간색 bounding box는 Negative sample로 지정한다.
Anchor가 없기때문에 속도 측면에서는 더 빠를 수 있으나 ,
Anchor를 사용하면 다양한 Scale의 object를 찾을수있어 Anchor를 사용하지 않으면 작은 object를 찾는데에는 어려움이 있다.