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

Alex님의 프로필 이미지
Alex

작성한 질문수

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

RCNN의 이해 02 - RCNN Training과 Loss

선생님 질문입니다!

작성

·

218

0

구글링을 해도 잘 이해가 안되서 이렇게 질문을 남깁니다.

원본이미지는 이미지내에 오브젝트가 어떤 것이 있는지, 어디에 있는지에 대한 정보인 레이블 값과 비슷한 Annotation 파일과 1:1 매치가 됩니다. (pascal데이터라는 가정하에) 그러한 이미지를 selective search를 통해서 예측한 box와 실제위치 (ground truth)의 겹치는 정도(IOU)가 0.5 이상인 이미지를 미리 학습된 CNN(Alexnet)에 넣어 이 이미지가 예측한 이 곳이 "사람"이다. 라고 분류를 해주는 순으로 가는거라 생각하는데.

  1. 제가 이해한게 맞는건지 잘 모르겠습니다.

  2. 또한 IOU가 0.5이상인 ss predicted 된 박스의 레이블은 어떻게 결정되는 건가요?

머릿속이 너무 뒤죽박죽이라 질문이 두서가없는 점 죄송합니다.

답변 1

0

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

질문 내용을 RCNN에 대한 개괄적인 질문으로 판단하고 답변 드리겠습니다.

Object Detection이 Image classification에 비해서 가장 크게 다른점은 이미지와 annotation 정보만 가지고 학습을 하기가 매우 어렵다는 것입니다.

단순히 이미지와 annotation 정보만 가지고 image classification과 같은 방식을 적용해서 학습할 경우 모델 성능이 굉장히 저하 됩니다. annotation상의 object 위치만 가지고는 모델이 학습을 진행하기에 정보가 크게 부족하고, 잘못된 예측에 이르는 경우가 많아지게 됩니다.

그래서 이미지 상에서 오브젝트가 있을 만한 위치를 미리 찾아내거나 설정하는 방법이 학습과정 중에 포함됩니다. 이렇게 미리 찾아낸 위치에서 annotation의 실제 위치가 어느정도 차이가 있는지를 학습하는 방식이 바로 object detection의 학습 방식입니다. 그러니까 오브젝트의 절대적인 위치를 학습하는게 아니라 오브젝트가 있을 만한 위치와 annotation의 실제 위치 차이를 기반으로 모델이 학습되는 것입니다.

이를 위해 selective search를 이용해서 미리 오브젝트가 있을 만한 위치를 찾아내는데, selective search가 찾아내는 object들이 굉장히 많습니다. 이들 중에 annotation bbox가 서로 상당 부분 겹치는 경우(즉 IOU가 0.5) 인 경우만 해당 클래스로 학습을 하는 것입니다.

그리고 2번째 질문하신

"또한 IOU가 0.5이상인 ss predicted 된 박스의 레이블은 어떻게 결정되는 건가요?"

(은 제가 질문 내용을 제대로 이해하지 못했습니다만) 박스의 레이블은 annotation에 있는 박스의 레이블로 계속 학습됩니다. 원하시는 답변이 아니면 다시 글 부탁드립니다.

감사합니다.

 

 

 

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

감사합니다!

그렇다면 선생님 faster rcnn 같은경우에는 cnn을 통과해서 나온 feature 이미지에다가 RPN으로 영역을 추출해 나온 것으로 학습을 해야하는데, feature에서 있을법한 곳을 찾게되면, 원본에서는 어디에 있는지 어떻게 찾나요?
classfications은 정답과 비교해서 학습을 하는 걸로 알고있는데, annotation 안에 명시된 bouding 범위가 정해진 이미지와 비교해서 학습을 하려해도 feature map에서는 따로 명시된 레레이블 값이 없는 것 같은데 어떻게 학습을 시키는지 아직도 의문입니다.

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

feature에서 있을법한 곳을 찾게되면, 원본에서는 어디에 있는지 어떻게 찾나요?

=> 원본을 학습용 이미지를 의미한다고 가정하고 말씀드리겠습니다.

먼저 feature map은 레이블 값이 없습니다.

selective search와 원본 이미지에 selective search를 먼저 통과시키면 object가 있을만한 위치에 대한 정보와 annotation 상에 bounding box 정보를 매칭 시키고 IOU 0.5 이상이 될 경우 해당 object 의 label을 annotation 정보의 label로 할당하고 학습을 시킵니다.

feature map에서는 위에 bbox가 원본 이미지 대비 feature map 사이즈 만큼 줄여서 이를 적용합니다. 즉 selective search에서 찾은 오브젝트의 크기와 annotation bbox 크기를 원본 이미지 대비 feature map 크기 만큼 줄여서 매핑하고 IOU 0.5이상인 object label의 annotation 정보를 가지고 학습을 수행하게 됩니다.

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

주말에도 답변해주셔서 대단히 감사드립니다! 덕분에 너무 재미있습니다.

Alex님의 프로필 이미지
Alex

작성한 질문수

질문하기