작성
·
140
0
많은 이미지 상에서 여러가지 유형의 오브젝트들을 가지는 ground truth들을 기반으로 학습하면 개별 anchor box들이 ground truth와의 좌표 차이를 최소화 할 수 있도록 모델이 최적화 됩니다.
그럼 이렇게 최적화된 모델에 새로운 이미지를 입력하면 anchor box들이 학습된 최적화 모델상에서 오브젝트와의 좌표 차이를 계산해 내는데, 학습이 제대로 되었다면 이들 중 가장 가까운 anchor box가 보다 정확한 좌표값을 내놓게 되며 이를 기반으로 bounding box 로 object 좌표를 예측할 수 있습니다.
와 같이 답변을 주셨는데
아직도 "이들 중 가장 가까운 anchor box가 보다 정확한 좌표값을 내놓게 되며 이를 기반으로 bounding box 로 object 좌표를 예측할 수 있습니다."
어떻게 이게 가능하지? 하는 의문이 들어서요.
학습시에는 GT 같은 정답에 해당하는 정보와 좌표가 있기에 이것이 어떤 오브젝트인지 알 수 있지만 학습 후 inference에 입력되는 이미지는 어떠한 정보도 없으며 심지어는 탐지하고자 하는 오브젝트가 해당 이미지에 있는지 없는지도 알수 없는 상황에서 학습된 좌표만으로 어떻게 오브젝트 위치를 찾아 낼 수 있는지 궁금합니다. 혹시나 이때에 다른 값 즉 오브젝트를 대강이라도 추측할 수 있는 값( 학습시에 좌표도 학습되지만 동시에 CNN과 같은 필터도 같이 학습되는건 아닌지 ? 그래서 inference 시에 이 필터도 같이 이용되는건 아닌지 ? )이 있어서 이를 기반으로 학습된 좌표를 기준으로 계산되는건 아닌지 궁금합니다. 아울러 혹시나 그렇다면 실제 inference시에 계산되는 메카니즘을 대강이라도 설명 부탁드릴 수 있는지요? 강사님
답변 1
0
안녕하십니까,
괴롭히다뇨, 천만의 말씀입니다. 질문은 언제나 환영입니다.
딥러닝(머신러닝 포함)은 기본적으로 문제와 답을 가지고 학습한 뒤에 예측은 문제가 가지고 예측을 합니다.
일반적으로 어떤 문제가 있다면 그 문제를 해결할 수 있는 식이 있고, 그 식에 문제를 대입해서 답을 구합니다.
딥러닝은 문제와 답만 가지고 학습을 계속하면서 이 문제를 해결할 수 있는 최적의 식을 찾는 것입니다.
이 최적의 식은 매우 복잡합니다. 선형 회귀의 경우 이 최적식을 w0x0 + w1x1 + ..... 와 같은 선형식으로 학습을 하면서 유추합니다. 마찬가지로 딥러닝도 선형회귀와 같은 식을 찾아냅니다. 물론 선형회귀보다 매우 복잡한 식입니다.
가령 이미지를 판별하는 딥러닝 모델을 만든다고 하면 이미지와 해당 이미지의 클래스값을 계속 학습 시킵니다. 그러면 어떤 최적의 식이 도출되고 이제 학습 된 모델을 가지고 이미지만 입력하면 최적의 식에서 클래스 값을 예측합니다.
그리고 말씀하신대로 학습시에 좌표도 학습되지만 동시에 CNN과 같은 필터도 같이 학습됩니다. 그래야만 최적의 식이 도출됩니다.
object detection model을 이미지와 annotation을 가지고 모델에 있는 다양한 cnn filter들을 학습 시킵니다. 이렇게 filter들이 학습되면 여기에 기반해서 최적식이 도출되고 이 최적식에 이미지를 입력하면 개별 anchor box들이 값을 예측합니다. cnn filter와 anchor box 모두 최적식을 위한 인자들(즉 weight)을 가지고 있어서, 어떤 이미지를 입력하든 그들이 내놓는 값은 object detection에 최적화된 값을 내놓습니다. 즉 모델이 배운게 좌표값을 예측 할 수 있도록 학습한 것 밖에 없으니까, 학습된 모델에 이미지만 넣으면 어떤 값을 예측해 내는게 그게 바로 오브젝트의 좌표값과 클래스 값인 것입니다.