작성
·
347
0
강의는 RCNN 계열 object Dtecter(...) - Faster RCNN의 이해 01 - RPN(...)과 Anchor Box 입니다.
강의 13:04초 쯤에 나오는 크기가 1/16으로 서브샘플링이 된다고 한다면 피쳐맵이 60 40 이되고 채널이 512 된다는 뜻이 잘 이해가 가질 않습니다.
첫번쨰 질문입니다.
서브샘플링이 동영상의 데이터 크기를 줄이기 위한 방법이라고 하던데 이 계산이 어떻게 되는지 알 수 있을까요??
그리고 채널이 색을 말씀하시는건가요?? 저는 색이라고 생각을 했는데 512로 되어있다고 해서 이 부분도 잘 이해가 가질 않습니다..
두번째 질문입니다.
Faster RCNN의 이해 03 - RPN과 Faster RCNN Training 및 성능 비교 강의 10분 27초입니다.
Fine Tuning을 해서 convolutional network에 가중치를 수정하지 않는다고 하셨는데 그러면 regional proposal network에 의하여 학습된 convolutional network는 사용하지 않으니 classes와 boundary box로 학습된 convolutional network 가중치만을 사용하는 것인가요??
이 부분에 대해서 답변해주시면 감사하겠습니다!
감사합니다.
답변 2
0
0
안녕하십니까,
1. Faster RCNN의 Feature Extractor로 VGG16을 적용했을 때를 설명 드린 것입니다. Feature Extractor로는 VGG뿐만 아니라 Resnet등 다양한 CNN Classification Network이 적용될 수 있습니다.
VGGnet은 2014년에 소개된 CNN Network으로 3x3 convolution으로 매우 깊은 네트웍을 구성하여 Imagenet에서 훌륭한 성적을 거둔 CNN 아키텍처 입니다.
VGGNet은 여러개의 Convolution layer들을 block 형태로 구성하여 만든 네트웍입니다. 그리고 각 CNN layer 들의 block과 Maxpooling Layer를 통과할 때마다 Feature map이 생성되는데 이렇게 생성되는 feature map의 크기는 원본 이미지 크기의 절반씩 계속 줄고(원본 이미지 224-> 112-> 56 -> 28 -> 14), 그리고 feature map의 개수는 원본 이미지 RGB Channel 3에서 32->64->128->256->512 와 같이 feature map의 갯수(깊이)가 늘어나게 됩니다.
보통 VGG16 CNN Network에 원본 이미지 224x224x3 을 통과 시키면 마지막에 생성되는 feature map은 14 x 14 크기의 feature map 512개가 만들어집니다(보통은 14x14x512로 표현합니다. 그리고 마지막 max pooling layer를 통과시키면 7 x 7 x 512 가 됩니다). 그래서 VGG16은 보통 원본 이미지를 1/16 사이즈로 줄게 만들어서 서브 샘플링을 1/16이라고 지칭합니다.
동영상 강의 설명에서는 600X1000 원본 이미지인데 대략 40 X 60으로 줄어든 Feature map으로 사이즈가 줄어들게 됩니다.
일반적으로 channel 수라고 하면 RGB와 같은 이미지의 3 Channel을 말하기도 하며 feature map의 갯수를 지징하기도 합니다.
요약 드리자면 원본 이미지 배열 600x 1000 x 3을 VGGNet으로 통과 시키면 40 x 60 x 512 형태의 feature map 배열(최종 max pool layer 이전 feature map)을 얻게 됩니다.
VGG에 대한 설명은 아래 주소를 참조하시면 좋을 것 같습니다.
2. 일단 RPN에 대한 학습이 완료되면 RPN 네트웍의 가중치가 학습되지 않도록 해당 Layer는 Freeze 되어서 가중치 업데이트를 적용하지 않아야 합니다(Keras라면 layer.trainable=False로 해당 layer들을 모두 freeze 적용). 그리고 class와 bounding box regression 적용을 위한 CNN Network만 학습 시켜서 가중치를 Update해야 합니다.
감사합니다.