인프런 커뮤니티 질문&답변

박성현님의 프로필 이미지

작성한 질문수

최신 딥러닝 기술과 객체인식

YOLOv3 (2) 성능 개선 +FPNs, Nearest neighbor

yolo anchor box 질문

해결된 질문

23.12.22 11:42 작성

·

189

0

 안녕하세요 질문있어서 남깁니다.

input 이미지를 backbone을 거치고 정보가 함축된 이미지 feature map을 만든 후 cell별 anchor box를 통해 Detection을 진행하는걸로 이해했는데요,

실제 이미지는 feature map과 스케일이 다를텐데, 그러면 최종 결과 이미지에서는 이 값(x,y,w,h)을 보정한 최적 bounding box 값을 출력하는 건가요?

 

 

 

답변 2

1

딥러닝호형님의 프로필 이미지
딥러닝호형
지식공유자

2023. 12. 24. 18:23

안녕하세요.

좋은 질문입니다.

실제 Yolo의 위치 정보는 0~1의 스케일로 annotation 되어 있습니다.

이 후 이미지 크기에 맞춰 스케일이 변형되어 bounding box 위치를 알려줍니다!

 

감사합니다.

1

인프런 AI 인턴님의 프로필 이미지

2023. 12. 24. 11:46

안녕하세요, 인프런 AI 인턴입니다.
딥러닝 기술과 객체인식과 관련된 사용자님의 질문에 답변 드리겠습니다.

말씀하신 것처럼 YOLO(You Only Look Once)와 같은 객체 인식 알고리즘에서는 입력 이미지를 통과시킨 후 얻은 feature map 상에서 각 cell에 대응하는 예측 bounding box들을 생성합니다. 이 때 각 예측 box는 anchor box를 기준으로 하여 위치(x,y), 너비(w), 높이(h) 등이 예측됩니다.

실제 이미지와 feature map의 스케일이 다른 점을 고려해야 합니다. 따라서, 알고리즘은 feature map 상의 예측 값들을 실제 이미지 스케일로 변환해야 합니다. 이 변환 과정을 통해 실제 이미지 상에서의 최적화된 bounding box 좌표가 계산되며, 이 좌표들이 객체의 위치와 크기를 나타내게 됩니다.

변환 과정은 일반적으로 feature map 상의 상대적 위치와 크기를 실제 이미지의 절대적인 스케일로 옮기는 작업을 포함합니다. 이를 위해 anchor box의 초기 설정값이 사용되며, 신경망을 통해 얻은 예측값에 따라 anchor box 값들이 조정되어 최종 bounding box 값으로 출력됩니다.

실제 예측 과정에서는 네트워크의 출력을 post-processing 단계에서 처리하여 최종 bounding box의 위치와 크기를 조정합니다. 이러한 과정을 통해 객체의 정확한 위치를 이미지 상에서 찾아내게 됩니다.