작성
·
700
0
강사님 안녕하세요. 강의 잘 듣고 있는 학생입니다.
강사님의 설명을 들으며 학습 중 의문이 생겨서 질문드립니다.
YOLO Format Data의 Annotation 형식이
0 0.475850 0.406530 0.414100 0.449400처럼
class id, center x 좌표, center y 좌표, width, height인 것은 이해가 되는데,
center x, center y, width, height 좌푯값들을 왜 0~1 사이로 정규화해서 학습을 진행하는지 궁금합니다.
딥러닝 학습 방법론처럼 모델 네트워크에 0~1 사이의 값을 주어서 학습의 최적화를 위한 것인지
아니면 다른 이유가 있는 건지 궁금합니다.
항상 감사드립니다 :)
답변 1
1
안녕하십니까,
일단은 Ultralytics Yolo 패키지가 그렇게 데이터를 정규화해서 입력을 받도록 라이브러리가 구성되어 있습니다. 즉 정규화 된 입력 좌표값이 들어온다고 가정하고, 학습하게 되어 있습니다.
다른 패키지의 경우 정규화된 입력 좌표값을 요구하지 않는 경우도 있습니다. 하지만 입력을 정규화된 값으로 받지 않더라도 내부에서는 다 정규화된 입력값으로 변환합니다.
이유는 아래와 같습니다.
1. 서로 다른 이미지 크기를 가질 경우 이를 공통 이미지 사이즈를 resize하는데, 이때 값이 정규화 되어 있으면 편리하게 할 수 있습니다.
2. 내부적으로 학습시 loss 계산등에 정규화된 값으로 되어 있으면 훨씬 코딩도 쉽고, 계산하기도 편합니다.
감사합니다.
이해가 명확하게 되었습니다. 친절하고 자세한 설명에 항상 감사드립니다 강사님! 좋은 하루 되세요 :)