• 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    미해결

학습과 추론 질문

22.03.06 12:38 작성 조회수 152

0

안녕하세요 강사님
강의 정말 잘 듣고 있습니다.
강의 중 궁금한 점이 생겨 질문 남깁니다.
 
38 x 38 에서 각 칸에서 4개의 바운딩 박스
19 x 19 에서 각 6개씩
10 x 10 에서 각 6개
5 x 5 에서 각 6개
3 x 3 에서 각 4개
1 x 1 에서 4개가 나와서 총 8732개의 바운딩 박스가 나온다는 것을 보고 알 수 있었습니다.
그 후에 NMS를 거친다고 나와있습니다.
 
학습 과정에서 매칭 전략이 IOU 0.5 이상이라고 되어 있는데, 8732개의 바운딩 박스를 NMS(IOU 0.5)를 거치고 나온 바운딩 박스들을 ground truth와의 IOU를 계산하여 0.5를 넘기지 않는 바운딩 박스들을 걸러서 학습시키는 것으로 이해를 했습니다.
 
일단 이 부분을 맞게 이해한 것인지 궁금하고,
학습과정이 아닌 inferencing과정에서 본다면 ground truth가 없으니 NMS과정만 거치고 나서 결과를 내뱉는 게 맞는 것인가요?
 
마지막으로 질문이 있는데 바운딩 박스들의 구성요소가 class들에 대한 소프트맥스 값 + x, y, w, h로 이루어지는데 좌표는 offset이라고 하셨는데 단위가 0~1사이라고 한다면, 다른 크기에서 뽑은 것인데 그냥 바로 8732개로 합쳐버린다면 이 박스가 38*38에서 온 것인지 10*10에서 온 것인지 모르는데 알맞은 비교나 inference시 원본 사이즈로 복구되는 원리가 궁금합니다.
 
 
 

답변 1

답변을 작성해보세요.

1

안녕하십니까, 

1. 학습 과정에서 매칭 전략이 IOU 0.5 이상이라고 되어 있는데, 8732개의 바운딩 박스를 NMS(IOU 0.5)를 거치고 나온 바운딩 박스들을 ground truth와의 IOU를 계산하여 0.5를 넘기지 않는 바운딩 박스들을 걸러서 학습시키는 것으로 이해를 했습니다.

=> 학습과정은 NMS를 수행하지 않습니다. NMS는 Inference시에만 수행됩니다. 

NMS를 수행하지 않으면 학습 모델이 anchor box에서 내놓는 예측 bbox가 비슷한 object에 대해서 매우 많아지게 됩니다. 이를 NMS로 제거합니다. 

2. 학습과정이 아닌 inferencing과정에서 본다면 ground truth가 없으니 NMS과정만 거치고 나서 결과를 내뱉는 게 맞는 것인가요?

=> 네, 맞습니다. 

3. 마지막으로 질문이 있는데 바운딩 박스들의 구성요소가 class들에 대한 소프트맥스 값 + x, y, w, h로 이루어지는데 좌표는 offset이라고 하셨는데 단위가 0~1사이라고 한다면, 다른 크기에서 뽑은 것인데 그냥 바로 8732개로 합쳐버린다면 이 박스가 38*38에서 온 것인지 10*10에서 온 것인지 모르는데 알맞은 비교나 inference시 원본 사이즈로 복구되는 원리가 궁금합니다.

=> 음, SSD 모델은 이미지가 들어올 때 anchor들을 좌표값을 학습하도록 모델의 가중치가 최적화 됩니다. 
그러니까 원본 이미지에서 여러 사이즈의 Feature map 내부의 CNN filter값들이 최적으로 학습이 되면서 bounding box 좌표를 예측하는 것입니다. 다시 원본 사이즈로 복구할 필요가 없습니다.  원본 이미지 자체를 기반으로 좌표가 학습이 되는 것입니다.