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

Eunmi님의 프로필 이미지
Eunmi

작성한 질문수

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

RCNN의 이해 02 - RCNN Training과 Loss

BBox 좌표 Training관련 문의드립니다.

작성

·

445

·

수정됨

0

안녕하세요. 늘 감사한 마음으로 수업을 듣고 있습니다.

답변도 늘 달아주셔서 감사합니다.

제가 직관적으로 이해가 되지 않아서 문의드립니다.

two-stage object detection의 경우

S.S 를 거치든, RPN을 거치든 Region proposal 된 Image들을 Resize 한 후, 그 이미지들만 다음 단계의 feature extractor를 통하고 그 값들을 classification하던가 bbox regression 하는 것으로 이해했는데요

classification이야 잘라진 object 이미지가 들어가니 학습 가능하다고 이해되도

bbox의 경우 잘라진 이미지만 들어가고 전체 이미지나 상대적 위치 정보가 input에 들어있지 않은데, 뭘 가지고 학습하는 건지 직관적으로 이해되지 않습니다.

그냥 이미지에 따른 라벨 외우기인가요?

예를 들어 차(car)라는 영역만 짤려서 들어가는데 원래 그림에서 어느 위치에 있는지 위치 정보 찾으라는게 가능한가 해서요. (원래 이미지는 보여주지 않은채)

training image마다 object 위치 값을 외우는 식의 학습인가 해서 문의드립니다.

 

 

 

 

 

 

답변 1

0

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

안녕하십니까,

강의를 잘 듣고 계시다니 저도 기분이 좋군요 ^^

일반적으로 Anchor 기반의 Two stage detector(Faster RCNN 이후 모델)가 Bounding Box의 위치 정보를 학습하는 방식은 해당 이미지 object와 Bounding Box의 위치 정보를 기반으로 해서 해당 Object가 Anchor box와 얼마나 떨어져 있는지를 학습하는 거라고 직관적으로 이해하시면 좋을 것 같습니다.

계속 설명드리는 Loss 함수 식을 보시면 anchor box가 bounding box를 기반으로 계속 학습이 되면서 모델이 이미지 오브젝트가 특정 위치에 있을 때 여러개의 anchor box들이 해당 object의 위치를 예측할 수 있도록 모델이 학습이 됩니다. 그리고 모델은 이 여러개의 anchor box들이 예측한 위치 정보 중에서 가장 예측 확률이 높은 anchor box가 예측한 위치를 기반으로 object의 위치를 예측하게 됩니다.

지금 강의를 듣고 계시는 RCNN은 Anchor 기반의 Two stage는 아닙니다. 다만 Anchor가 아니라 Selective Search에서 Object가 있을 만한 위치의 영역들을 이용하는 방식입니다. (뒤에서 이 Selective Search가 Anchor로 변경되는 faster rcnn 알고리즘에 대해서 설명드립니다). 앞에서 anchor방식과 유사하게 selective search로 찾아낸 설정된 영역들과 실제 bouning box의 차이들을 학습해 나가면서 모델이 오브젝트의 위치 정보를 학습해 나가는 방식입니다.

감사합니다.

 

Eunmi님의 프로필 이미지
Eunmi

작성한 질문수

질문하기