YOLOv8 이해하기 (3) - Detection output shape
https://sims-solve.tistory.com/123
YOLOv8 이해하기 (2) - Head
https://sims-solve.tistory.com/122 YOLOv8 이해하기 (1) - Backbone디텍션 테스크를 하다보면 YOLO를 한번쯤은 들어본적이 있을 것이다.물론 YOLO가 너무 유명해서 관심이 없어도 한번쯤은 들어봤을 것이다..
sims-solve.tistory.com
YOLOv8의 head부분에서 Detection을 지나면 각각 어떤 shape의 결과물이 나오는지 살펴보았다.
이 3개의 서로다른 size의 grid cell로 나눈것을 합쳐서 최종적으로 Loss를 구하기 위한 형태로 변경하는 과정이 더 필요하다.
최종적으로 어떤 형태로 output이 나오는지 살펴보고, 어떤 의미를 가지는지 나름대로 탐구하고 생각해보았다.
결국 [batch, ClassNumber + xywh , total Grid cell ] 이라고 생각하면 된다.
한가지 헷갈렸던게, YOLO는 항상 Objectness Score라고 해서, 해당 그리드셀에 객체가 있는지 판단하는 output이 존재했지만, YOLOv8에서는 Objectness Score가 없다. 그래서 ClassNumber + xywh 만 존재하게 된다.
그럼 Confidence Score는 뭘까? 단순히 Class의 예측값이다.
천천히 살펴보고 한번 이해해놓고 지속적으로 보길 권장한다.
여기서 한가지 아직 풀리지 않은 궁금증이 생기는데, Bbox를 DFL이라는 곳에 넣어서 (batch , 4, 8400)으로 만드는 부분이 있다. DFL이라는게 Distribution Focal Loss라고 하여 보다 정밀하게 Bbox를 예측하기 위해 추가한 것으로 보이는데, 추가적으로 이 부분에 대해 생각해보고 포스팅을 해보겠다.