inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Faster RCNN의 이해 02 - Anchor Box를 활용한 RPN 구성

3x3 conv 및 1x1 conv

296

좋은 가자미

작성한 질문수 5

0

안녕하세요 좋은 강의 너무나 진심으로 감사드립니다.

몇가지 질문이있습니다.

1. 3x3 convolution 하는 이유

앞선 질문에 대한 답변을 보면 padding 이 same 이므로 

크기가 동일한데 이것이 단순 추가적인 연산인 것인지 궁금합니다.

2. 앵커박스

1번 질문에 대한 저의 이해가 맞다면,

학습시에는 단순히 40x50 x 2 x 9의 최종 결과가 각 픽셀에 대한 9개 앵커의 sigmoid값이 되므로 

학습시에는 우리가 각 픽셀의 9앵커의 ground truth를 전부 알려주어서 loss를 구해 학습 시키는것 같은데, 맞습니까?

RPN기 학습하는 것은 결국 Feature map의 각 픽셀의 앵커박스별로 오브젝트가 있는지 없는지를 우리가 알려준 답에 맞춰 weight를 업데이트 하는 것이라고 이해했습니다.

(마치 image segmentation에서 픽셀 단위로 학습시키듯이)

즉 앵커의 모양대로 뭔가 연산을 하는 것이 아니라 채널만 1x1FC로 픽셀 별로 2x9개 만들어 놓고 정답만 제공하는 방식으로 학습시키는 단순한 로직이라고 생각했습니다.

이해가 잘못되었다면 지적 부탁드리겠습니다.

바쁘신 와중에 죄송하지만, 답변해 주시면 감사하겠습니다.

컴퓨터-비전 python 딥러닝 tensorflow keras 머신러닝 배워볼래요?

답변 2

1

좋은 가자미

답변 정말 감사드립니다.

3x3 conv이 Feature map의 주변 픽셀들의 각 512채널들을 이용하여 연산되므로

같은 사이즈의 주변 픽셀값을 반영한 새로운 Feature map을 만들어지고(padding = same이므로) 

이걸 다시 1x1conv 시켜 학습하고자 하는 채널수에 맞게 feature들을 뽑아내어(분류는 2x9개, 회귀는 4x9개) 학습이 되게 되는 원리이군요

많은 공부가 되었습니다.

감사합니다!

0

권 철민

안녕하십니까,

1. RPN은 속도등을 감안하여 매우 심플하게 설계되었습니다.

제 생각엔 입력 피처맵에 1x1(channel수는 anchor 수) conv를 바로 붙였다가는 특별히 학습할 것이 없어서, 먼저 입력 피처맵에 3X3 Convolution을 매우 많은 채널수(512)로 적용한 뒤에 다시 1x1을 적용한 것으로 보입니다.

개인적으로 이렇게 심플하게 구현해도 RPN이 잘 동작해서 딥러닝의 힘(?)에 살짝 놀라긴 했습니다.

2. 말씀하신 것이 거의 다 맞습니다.

정확히는 40x50 x 2 x 9는 Softmax의 경우이고, 오브젝트인가/아닌가로 sigmoid로 한다면 40x50x9 입니다.

RPN기 학습하는 것은 결국 Feature map의 각 픽셀의 앵커박스별로 오브젝트가 있는지 없는지를 우리가 알려준 답에 맞춰 weight를 업데이트 하는 것이라고 이해했습니다.

=> 네 맞습니다.  그리고 RPN이 학습을 수행 하면서 계산된 ROI값이 다시 Faster - Rcnn 전달되면서 Faster-RCNN의 학습을 도와주게 됩니다.

감사합니다.

강의 환경설정 질문

0

38

2

Custom Dataset에서의 polygon 정보 관련

0

81

3

cvat.ai 보안 수준이 궁금합니다

0

77

2

캐클 nucleus 챌린지 runpod 실습 코드 에러 질문드립니다.

0

93

3

추론 결과의 Precision(또는 mAP) 평가 방법

0

81

2

mmdetection mask rcnn inferenct 실습 시 runpod 템플릿 관해서 질문드립니다.

0

56

2

runpod에서 google drive 연결 시 오류 발생

0

106

2

로드맵 선택

0

64

1

mmcv

0

55

2

Anchor box의 Positive 처리 위치

0

59

2

해당 강의 runpod 적용 후 에러 제보드립니다

0

83

2

run pod credit 관련 제보

0

93

2

mmdetection 2.x과 3.x 호환 관련 표기

0

75

2

mm_faster_rcnn_train_kitti.ipynb 실행 오류

0

93

3

질문 드립니다.

0

74

3

mm_faster_rcnn_train_coco_bccd 실행 오류 질문드립니다.

0

75

1

강사님께 수정을 제안드리고 싶은 것이 있습니다.

0

91

1

google automl efficientdet 다운로드 및 설치 오류

0

71

1

이상 탐지에 사용할 비전 기술 조언 부탁드립니다.

0

100

2

OpenCV 관련 질문드립니다.

0

68

2

mmcv 설치관련해서 문의드려요

0

324

3

강의 구성 관련해서 질문이 있습니다

1

133

2

모델 변환 성능 질문드립니다.

0

120

1

NMS 로직 문의 드려요

0

109

2