인프런 커뮤니티 질문&답변

Alex님의 프로필 이미지
Alex

작성한 질문수

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

Faster RCNN의 이해 03 - RPN과 Faster RCNN Training 및 성능 비교

선생님 질문입니다!

작성

·

401

0

3:23 에서 질문을 드리고 있습니다!

  1. 예측 BBbox 와 positive 좌표차이가 Ground truth와 positive 좌표차이와 같게 만든다고 하셨는데 가령 빨간점이 파랑 점과의 거리 가 같은 곳은 무수히 많다고 생각하는데 단순히 거리를 줄이는 것이 어떤 원리로 regression이되는지 이해가 되지 않습니다.

답변 1

0

권 철민님의 프로필 이미지
권 철민
지식공유자

음, 질문의 의도는 대강 알겠는데,

거리 차이를 줄이기 위한 모델을 만들기 위해서 regression 모델을 적용하는 것이 핵심인데, 거리를 줄이는 것이 어떤 원리로 regression이 된다는 질문을 잘 이해하지 못했습니다. 좀 더 사례나 상세한 내용을 추가해 주시겠습니까?

 

 

Alex님의 프로필 이미지
Alex
질문자

스크린샷 2023-04-11 오후 5.36.13.png

네 답변 감사합니다. 옆에 있는 말처럼 bbox와 positive anchor box의 좌표차이가 Ground Truth 와 Positive anchor box와의 좌표차이와 최대한 동일하게 regression 학습을 한다고 되어있는데, 여기서 질문이 2가지 입니다.

  1. anchor box는 그리드에서 9가지 영역을 통해서 ground Truth와의 거리를 통해 예측 박스를 만든다.

  2. 궁극적인 목표가 저 예측 bbox가 ground Truth와 차이가 거의 안 나도록 학습을 하는건데 제가 표시한 O처럼 거리가 비슷한 후보 군들이 많은데 어떻게 학습이 되는건지 잘 이해가 가질 않습니다.

권 철민님의 프로필 이미지
권 철민
지식공유자

O를 생각하실 필요가 없을것 같습니다만,

딥러닝 모델의 학습은 Loss 함수를 기반으로 Ground truth 데이터 세트와 모델이 학습시 예측한 값을 계속 줄여 나가는 방향으로 진행합니다. 그러니까 Loss 함수 반환값이 최소가 되도록 지속적으로 학습을 해나가는 겁니다.

뒤에 loss 함수 식을 보시면 아시겠지만, anchor와 예측 좌표간의 차이, 그리고 anchor와 ground truth간의 차이, 이 두개값이 차이가 최소가 되도록 loss함수가 구성이 되어 있습니다.

네트웍과 loss함수과 그리고 학습데이터를 통해서 모델이 regression 학습이 되는 것입니다.

Alex님의 프로필 이미지
Alex
질문자

빠른 답변 감사합니다!

저도 그렇게 생각했었는데 저 말이 이해가 잘 되질 않는데 강의에서 regression 으로 bbox와 ground truth와의 차이를 줄이는데만 집중하면 되지 않나 싶어서요. 질문이 많아 죄송합니다!

권 철민님의 프로필 이미지
권 철민
지식공유자

질문은 언제든 환영입니다. 부담 갖지 마십시요 ^^

질문의 요지가 "bbox와 ground truth와의 차이를 줄이는데만 집중하면 되지 않나 싶어서요" 라고만 생각하면 될까요?

강의에서도 어디선가 언급을 드릴텐데(그리고 예전 질문하신 부분에서도 비슷한 답변을 드렸는데) bbox와 ground truth와의 차이만 가지고 모델을 학습하면 모델 성능이 좋아지지 않습니다.

object detection 이 어려운 부분중에 하나가 단순히 bbox와 ground truth간의 좌표차이만 줄이는 방식으로는 학습이 잘 되지 않습니다. 그래서 selective search나 anchor box등을 통해서 object가 있을 만한 위치를 미리 정해놓고, 모델 학습시 ground truth와 anchor box의 거리차이와 예측 bbox와 anchor box간의 거리 차이가 점차 좁혀지는 방향으로 모델을 학습하는 방식을 택해 왔습니다.

요약하자면 예측 bbox와 ground truth간의 거리 차이는 학습을 하더라도 잘 좁혀지지 않습니다. 그래서 anchor box와 같이 예측 bbox와 ground truth간 절대 거리를 지정하지 않고, anchor box라는 일종의 좌표축 역할의 도움을 받는 것입니다. 이렇게 하면 절대 거리가 아니라 anchor box를 기준으로 한 상대적인 거리 기반으로 전환되어서 object detection 모델 성능이 훨씬 더 좋아지게 됩니다.

Alex님의 프로필 이미지
Alex
질문자

늘 정성스럽게 답변해주셔서 감사합니다! 강의를 조금 더 들으면서 이해해보겠습니다. 오늘도 좋은 하루 되시길 바랍니다!

Alex님의 프로필 이미지
Alex

작성한 질문수

질문하기