• 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    미해결

RPN 네트워크 학습 관련 질문

22.01.19 15:07 작성 조회수 161

0

안녕하세요. Faster RCNN 강의를 듣고 RPN 네트워크에서 잘 이해가 되지 않는 부분이 생겨 질문드립니다.

 

1. 이전에 남긴 질문에서 Positive Anchor box와 Negative box를 결정하는 과정이 원본 이미지의 GT box와 Anchor box 사이에서 얻어진 IoU 값으로 결정된다고 하셨는데, 그렇다면 RPN 네트워크에서 이루어지는 이진 분류는 Positive와 Negative에 대해서만 이루어지면 될 것 같은데 왜 IoU 0.3~0.7인 것까지 포함한 모든 Anchor Box에 대해서 이진 분류가 진행되는 것인가요??

2. RPN 네트워크 이진 분류에서 Object인지 Background인지 결정내리는 기준이 무엇인지 궁금합니다. Random으로 결정되었다 나중에 학습하며 바뀌게 되는 것인가요?

3. RPN 네트워크 학습에서는 Flatten 과정이 필요없어도 학습이 가능한 것인가요? 만약 그렇다면 RPN 외의 다른 네트워크에서 Flatten을 하는 이유가 무엇인지 궁금합니다. 

답변 1

답변을 작성해보세요.

0

안녕하십니까, 

1. 이전에 남긴 질문에서 Positive Anchor box와 Negative box를 결정하는 과정이 원본 이미지의 GT box와 Anchor box 사이에서 얻어진 IoU 값으로 결정된다고 하셨는데, 그렇다면 RPN 네트워크에서 이루어지는 이진 분류는 Positive와 Negative에 대해서만 이루어지면 될 것 같은데 왜 IoU 0.3~0.7인 것까지 포함한 모든 Anchor Box에 대해서 이진 분류가 진행되는 것인가요??

=> 음, 질문을 잘 이해하진 못했지만...(원하시는 답변이 아니면 다시 말씀해 주십시요)

RPN은 기본적으로 Anchor box 가 주체 입니다. Anchor box를 기반으로 학습하고 예측하는 것입니다. 즉 해당 object가 anchor box를 기준으로 얼마만큼 떨어져 있는지의 위치를 학습하고 예측합니다. 이들 중 학습 데이터에 있는 object와 겹치는 IOU에 따라서 Anchor box를 positive 또는 negative로 설정합니다. positive anchor 는 자신의 영역에 있는 object가 object인 것이고, negative anchor는 자신의 영역에 있는 object가 background라는 것입니다.  

2. RPN 네트워크 이진 분류에서 Object인지 Background인지 결정내리는 기준이 무엇인지 궁금합니다. Random으로 결정되었다 나중에 학습하며 바뀌게 되는 것인가요?

=>IOU를 기반으로 Object인지 Background인지 판별합니다. 모든 anchor box들은 object가 입력 될 때마다 개별 anchor box에서 object인지 background 인지, 즉 positive인지 negative인지 학습하게 되고, 이렇게 만들어진 모델로 object 여부를 판별하게 됩니다.

3. RPN 네트워크 학습에서는 Flatten 과정이 필요없어도 학습이 가능한 것인가요? 만약 그렇다면 RPN 외의 다른 네트워크에서 Flatten을 하는 이유가 무엇인지 궁금합니다. 

=> 최종 Classification layer에서 flatten후 dense layer로 이미지등을 판별하는것이 전형적인 CNN 기반 이미지 판별 네트웍 구조였는데, 이게 CNN이 점점 발전하게 되면서 최종 Classification layer를 CNN으로 대체 하려는 시도를 하게 됩니다. 왜냐하면 Flatten후 Dense layer에서 너무 많은 가중치로 인해 학습 시간이 오래 걸리고, Dense layer로 변환하는 과정에서 feature map의 크기가 고정되어야 하는 문제가 있게 됩니다. 

 

그런데 이를 Classification 부분을 CNN으로 교체를 하게 되면 성능은 좀 떨어지지만, 앞에 말씀드린 부분을 개선할 수 있게 됩니다. 특히 feature map의 크기에 영향을 받지 않고 최종단을 만들수 있고, object 여부를 빠르게 판별할 수 있어야 하기 때문에 flatten을 하지 않고 학습을 적용합니다. 

 

감사합니다. 

김남욱님의 프로필

김남욱

질문자

2022.01.20

답변 감사드립니다. 제가 잘 설명하지 못한 부분하고 추가적으로 궁금한 부분에 대해서 다시 정리하여 질문드립니다.

1. RPN 네트워크에서의 Box regression은 Feature Map상의 Box에 대해 Regression이 이루어지는 것이고, 외부의 Dense layer에서 이루어지는 Box regression은 원본 이미지상의 Box에 대해 Regression이 이루어지는 것인가요?

1. 위의 질문이 맞다면 IoU를 기준으로 Positive인 Anchor Box에 대해서만 Box regression이 이루어지고 region proposal을 해주는 것인가요?