• 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    미해결

선생님 질문있습니다.

22.03.24 23:14 작성 조회수 104

0

Pretrained된 CNN에서 나온 Feature Map에서 RPN구조에 들어가 Anchor박스를 추려내고 NMS, Positive, Negative등등 걸러내서 ROI Pooling에서 고정크기로 FC레이어들을 통과해서 마지막 FC Layer로 분류과, Bounding Box의 loss값을 계산하여서 역전파가 가지 않습니까?? 역전파를 할때  RPN의 Bounding Box는 영역의 x, y, w, h를 정확히 찾아가는 것으로 알고있는데,  그럼 FC의 Bounding Box는 softmax로 loss를 구하는 것이고 그렇단 말은 loss계산을 2번 한다는게 맞는건가요??

요약하자면

1) RPN에서 Anchor Box 의 Positive, Negative를 분류하고 loss를 계산한다.

2) 위의 분류한 Positive, Negative를 RoI Pooling 하여 학습하고 이것이 무엇인지 softmax로 분류하고, loss를 구한다.

 

혹시 제가 이해한 질문에서 잘못된점이 있으면 함께 지적해주시면 감사하겠습니다. 늘 질문에 답해주셔서 감사합니다 ^_^

 

 

답변 1

답변을 작성해보세요.

1

안녕하십니까. 

이게 alternation training 기법을 써서 늘 헷갈립니다. 논문에서 성능이 제일 좋았다고 했지만, (지난번에도 말씀드렸듯이) 복잡도 때문에 alternating training 기법을 무조건 따라 할 이유는 없습니다.

논문 대로라면 loss를 2번 구합니다.  RPN Loss와  RPN제외 Faster RCNN Loss 

0. 역전파를 할때  RPN의 Bounding Box는 영역의 x, y, w, h를 정확히 찾아가는 것으로 알고있는데

=> 정확하다는 표현이 어떤 의미인지는 모르겠지만 RPN은 오브젝트 여부만 대략적으로 찾아줍니다. 즉 오브젝트인지 아닌지(그러니까 무슨 클래스인지는 관심없습니다), 그리고 Object의 대략적인 위치. 그리고 RPN에 따라서 ROI pooling mapping을 시켜 줍니다. 보다 정확한 bounding box예측은 Faster RCNN Regression layer에서 일어납니다. 

1) RPN에서 Anchor Box 의 Positive, Negative를 분류하고 loss를 계산한다.

=> 네 맞습니다. 

2) 위의 분류한 Positive, Negative를 RoI Pooling 하여 학습하고 이것이 무엇인지 softmax로 분류하고, loss를 구한다.

=> 네 맞습니다. 

 

bbcc8417님의 프로필

bbcc8417

질문자

2022.03.28

늘 성심성의껏 답변해주셔서 너무 감사합니다 ㅠㅠ