SlideShare a Scribd company logo
1 of 15
Download to read offline
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
IEEE transactions on pattern analysis and machine intelligence 39.6 (2017): 1137-1149.
발표자 : 오유진
Related Work
Object Detection
• 입력 영상이 주어졌을 때 영상 내에
존재하는 모든 카테고리에 대해
classification과 localization을 수행
하는 것
• 여러 개의 object를 대상으로 수행
• 입력 영상에서 물체의 영역을 찾아냄
Region Proposals
Selective Search
• 처음에는 조각조각 잘라낸 것을 조금씩 merge 해서 그 boundary를
이용해 initial 한 bounding box를 뽑아냄
• 영역들의 크기, 공간 관계 등의 많은 요인들을 확인해서 merge
Related Work
R-CNN
• CNN 을 Object detection 에 적용한 첫 번째 연구
(1) Input image를 받아서
(2) selective search 로 2000개의 region proposal 을 추출한 다음,
(3) CNN 으로 각 proposal 의 feature 를 계산하고
(4) 각 region 의 classification 결과와 bounding box regression
을 계산 (Classifier 로는 SVM 사용)
• R-CNN 특징
‒ Regional Proposal + CNN
‒ Regional proposal 을 얻기 위해 selective search 사용
‒ CNN 을 사용한 첫 번째 object detection method
‒ 각 proposal 을 독립적으로 계산 (→ 계산이 많이 생김)
‒ Bounding box regression 으로 detection 정확도 향상
• R-CNN 의 문제점
‒ 속도가 느림
• 모든 region proposal 에 대해 전체 CNN path 를 다시 계산
‒ 학습과정이 복잡함 : 여러 단계의 training pipeline
Related Work
Fast R-CNN → R-CNN 의 속도를 개선한 연구
• Fast R-CNN 도 처음에 initial RoI(Regions of Interest → region proposal) 를 찾는 것은 selective search 사용
• 각 RoI 를 매번 convolution 하는 것이 아니라, 전체 image 를 한 번만 convolution 수행
• 그 결과로 나온 convolution feature map 에서 RoI 에 해당하는 영역을 추출해 pooling 해 fully connected layer 에 넣음
‒ R-CNN 에서는 다른 크기의 region 들을 모두 동일하게 만들기 위해 warping 을 통해 같은 크기의 이미지로 변환한 뒤 CNN 연산
‒ Warping 은 사이즈를 줄이고 ratio 를 변경하기 때문에 정보의 손실이 생김
‒ 따라서 특정 영역에 대해 일정한 고정된 개수의 bin 으로 영역을 나눈 뒤, 각 bin 에 대해 max pooling 또는 average pooling 을 취함으로 고정된 길이의
feature vector를 가져오는 RoI Pooling 수행
Related Work
Fast R-CNN
• Fast R-CNN 특징
‒ 같은 image 의 proposal 들이 convolution layer 를 공유
‒ ROI Pooling 도입
‒ 전체 network 가 End to end 로 한 번에 학습
‒ R-CNN 보다 빠르고 더 정확한 결과
• Fast R-CNN 의 문제점
‒ Region proposal 계산이 전체 성능의 bottleneck 이 됨
Faster R-CNN
• Region proposal network
최상위 convolutional feature map 에서 convolution filter 를 더 사용
Image 를 입력 받아 해당 영역에 물체가 존재하는지에 대한 binary classification 과 regress box location
• 기존 Fast R-CNN 속도의 bottleneck 이었던 region proposal 생성을 CNN 내부에
region proposal 을 생성할 수 있는 network 를 설계해 더 빠르고 정확한 region
proposal 생성 → region proposal network 추가
Faster R-CNN
3*3 conv 를 256개 더 쓰고 하나는 1*1 classify 하나는 1*1 regress bounding box
이 모델을 슬림하게 만들기 위해 classification 을 두개로 함
정해진 bounding box안에 물체가 있는지 없는지 classify 하나
Bounding box regression 을 위해 initial 한 bounding box 필요
따라서, Anchor 라는 개념 도입 – pre-defined 된 reference boxes
• 기존 Fast R-CNN 속도의 bottleneck 이었던 region proposal 생성을 CNN 내부에
region proposal 을 생성할 수 있는 network 를 설계해 더 빠르고 정확한 region
proposal 생성 → region proposal network 추가
1 x 1 conv 1 x 1 conv
3 x 3 conv
ZF : 256-d, VGG : 512-d
Faster R-CNN
• Anchor box
이미지의 대상을 해석하려면 proposal이 해석되어야 하고
같은 function 이 어느 위치에서나 proposal 을 예측할 수 있어야 함
이러한 조건이 논문에서 제안된 anchor box 에서 중요한 역할
K개의 anchor box 준비
가로 세로 개수, 가로 세로 비율에 따라 달라짐
→ scale (1238*123, 256*256, 512*512) 3가지, aspect rations (2:1, 1:1, 1:2) 3가지
논문에서는 k = 9 사용
각각의 anchor box 에 대해서 classification 함 object/ non-object 분류 – 2k 개의 score
각각의 k개 bounding box에 대해서 regression – 4k 개의 coordinate
Faster R-CNN
IoU 는 특정 데이터 집합에서 object detector 정확도 검출을
할때 사용되는 평가 지표
예측된 경계 상자와 실제 참값(ground truth) 경계 상자의
IoU를 해당 경계 상자의 ‘정확도’로 사용
이때, IoU 가 0.7 이상이면 positive, 0.3 이하면 negative
Pi* 는 안에 물체가 있으면 1 없으면 0 없으면 계산 안함
Normalization term은 별로 상관없음
• Loss Function
Faster R-CNN
• Training RPNs
End-to-end 로 back-propagation 사용
모든 anchor에 대해서 loss function 이 최적화 될 수는 있지만 negative sample 이 많아서 편향됨
따라서 256 개의 random 한 anchor 를 mini-batch 로 loss function 을 계산할 때 positive, negative anchor 를 1:1 비율로 조정
한 이미지에서 128 개 이하의 positive sample 이 존재하면 negative 로 mini-batch 를 채움
imageNet classification 으로 fine-tuning
Faster R-CNN
• Sharing Features for RPN and Fast R-CNN
Alternating training : RPN 을 학습시켜서 Fast RCNN 학습시키기 위한 proposal 로 사용하고 Fast RCNN 으로 조정된 network는 다음 RPN initialize에 사용 → 반복
Approximate join training : RPN 과 Fast R-CNN 을 한 network 로 합침
forward pass 로 만든 region proposal 값은 고정, backward propagation 은 usual, RPN loss 와 Fast RCNN loss 의 결합
→ alternate training 보다 25~50% 시간 단축
Non-approximate joint training : 본 논문의 범위를 넘어간 방법… RoI warping 방법 이용 (?)
Faster R-CNN
1. 이미지 넷으로 pre train 된 network VGG 등을 가져와서 학습된 conv feature map M0를 이용해 RPN 학습 → M1
2. RPN M1 network 이용해 region proposal RoI 뽑음 : P1
3. M0 기반으로 P1이용해 Fast RCNN인 Fast RCNN(오른쪽 부분) 학습 M2
4. Fast RCNN 모델 M2 를 이용해 region proposal network 학습 : M3 → M2(아래쪽 conv layer)는 fix 시키고 region proposal network 학습
5. RPN M3에서 새로운 region proposal 뽑음 : P2
6. RPN 모델 M3의 conv feature 고정시키고 P2 를 이용해 Fast RCNN 학습 M4 생성
7. M4 가 최종 결과
RPN 과 Fast RCNN 이 서로 convolution feature 를 공유한 상태에서 번갈아 가면서 학습하는 형태
Faster R-CNN
Region proposal 과 detection network 를 single scale 이미지들에 대해 학습하고 테스트
Multi-scale feature extraction 이 성능을 향상시키지만 속도를 떨어뜨리는 문제가 있음
Stride 는 16으로 PASCAL VOC 이미지 보다 크지만 (작게 했을 때 성능이 더 좋음) 이 정도의 큰 stride에서도 좋은 결과를 나타냄
어떤 RPN proposal 들에서는 높은 중복 현상이 나타남
중복을 줄이기 위해 non-maximum suppression(NMS) 도입 → IoU threshold 를 0.7로 고정
NMS 는 정확도에는 영향주지 않고 proposal 수만 줄임, 테스트 할 때는 다른 개수의 proposal 로 계산
• Implementation Details
Faster R-CNN
• Results
9가지 종류의 anchor box 를 ZF net 사용해서 실제로 bounding box 를 regressor 했을 때 average
기초가 되는 field 보다 큰 예측 값이 사용됨
Object 의 중간 부분만 사용하면 object 의 범위의 추측이 가능
- Mean average precision
Bounding box 가 많아지면 이것들을 합치는 non-maximum suppression
두개의 bounding box 에도 IoU 를 구해서 threshold 가 0.7 이상이면 정답
에 더 가까운 것으로 합침 → 차이가 별로 없기때문에 NMS 사용하는 것이
더 효과적
Regression 이 조금 더 중요
아래쪽 CNN을 share 하지않으면 떨어짐
Faster R-CNN
• Results
Scale, ratio 조절
왼쪽의 두개의 경우가 차이가 별로 없음
확장성을 고려해서 9개로 사용
• Conclusion
RoI pooling 을 하거나 Fast-RCNN 수행 시 7의 배수로 계산하게 되는데 7의 배수가 아닌 RoI 로 계산 시 버림을 해야 하는데 이때 오차가 발생
→ 정확도가 필요한 것에서 문제가 생김 → Mask RCNN

More Related Content

What's hot

deep encoder, shallow decoder reevaluating non-autoregressive machine transl...
deep encoder, shallow decoder  reevaluating non-autoregressive machine transl...deep encoder, shallow decoder  reevaluating non-autoregressive machine transl...
deep encoder, shallow decoder reevaluating non-autoregressive machine transl...taeseon ryu
 
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...MYEONGGYU LEE
 
Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...taeseon ryu
 
I3D and Kinetics datasets (Action Recognition)
I3D and Kinetics datasets (Action Recognition)I3D and Kinetics datasets (Action Recognition)
I3D and Kinetics datasets (Action Recognition)Susang Kim
 
딥러닝 논문읽기 efficient netv2 논문리뷰
딥러닝 논문읽기 efficient netv2  논문리뷰딥러닝 논문읽기 efficient netv2  논문리뷰
딥러닝 논문읽기 efficient netv2 논문리뷰taeseon ryu
 
Convolutional Neural Networks(CNN) / Stanford cs231n 2017 lecture 5 / MLAI@UO...
Convolutional Neural Networks(CNN) / Stanford cs231n 2017 lecture 5 / MLAI@UO...Convolutional Neural Networks(CNN) / Stanford cs231n 2017 lecture 5 / MLAI@UO...
Convolutional Neural Networks(CNN) / Stanford cs231n 2017 lecture 5 / MLAI@UO...changedaeoh
 
Latest Frame interpolation Algorithms
Latest Frame interpolation AlgorithmsLatest Frame interpolation Algorithms
Latest Frame interpolation AlgorithmsHyeongmin Lee
 
Simple Review of Single Image Super Resolution Task
Simple Review of Single Image Super Resolution TaskSimple Review of Single Image Super Resolution Task
Simple Review of Single Image Super Resolution TaskMYEONGGYU LEE
 
Encoding in Style: a Style Encoder for Image-to-Image Translation
Encoding in Style: a Style Encoder for Image-to-Image TranslationEncoding in Style: a Style Encoder for Image-to-Image Translation
Encoding in Style: a Style Encoder for Image-to-Image Translationtaeseon ryu
 
Designing more efficient convolution neural network
Designing more efficient convolution neural networkDesigning more efficient convolution neural network
Designing more efficient convolution neural networkDongyi Kim
 
DeBERTA : Decoding-Enhanced BERT with Disentangled Attention
DeBERTA : Decoding-Enhanced BERT with Disentangled AttentionDeBERTA : Decoding-Enhanced BERT with Disentangled Attention
DeBERTA : Decoding-Enhanced BERT with Disentangled Attentiontaeseon ryu
 
Convolutional Neural Networks
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural NetworksSanghoon Yoon
 
여러 컨볼루션 레이어 테크닉과 경량화 기법들
여러 컨볼루션 레이어 테크닉과 경량화 기법들여러 컨볼루션 레이어 테크닉과 경량화 기법들
여러 컨볼루션 레이어 테크닉과 경량화 기법들Dongyi Kim
 
PR-218: MFAS: Multimodal Fusion Architecture Search
PR-218: MFAS: Multimodal Fusion Architecture SearchPR-218: MFAS: Multimodal Fusion Architecture Search
PR-218: MFAS: Multimodal Fusion Architecture SearchSunghoon Joo
 
SPPNet : Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Re...
SPPNet : Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Re...SPPNet : Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Re...
SPPNet : Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Re...Dae Hyun Nam
 
Convoutional sequence to sequence
Convoutional sequence to sequenceConvoutional sequence to sequence
Convoutional sequence to sequenceWoodam Lim
 
[기초개념] Graph Convolutional Network (GCN)
[기초개념] Graph Convolutional Network (GCN)[기초개념] Graph Convolutional Network (GCN)
[기초개념] Graph Convolutional Network (GCN)Donghyeon Kim
 
Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명홍배 김
 
Bidirectional attention flow for machine comprehension
Bidirectional attention flow for machine comprehensionBidirectional attention flow for machine comprehension
Bidirectional attention flow for machine comprehensionWoodam Lim
 

What's hot (20)

FPN 리뷰
FPN 리뷰FPN 리뷰
FPN 리뷰
 
deep encoder, shallow decoder reevaluating non-autoregressive machine transl...
deep encoder, shallow decoder  reevaluating non-autoregressive machine transl...deep encoder, shallow decoder  reevaluating non-autoregressive machine transl...
deep encoder, shallow decoder reevaluating non-autoregressive machine transl...
 
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
(Paper Review)Kernel predicting-convolutional-networks-for-denoising-monte-ca...
 
Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...
 
I3D and Kinetics datasets (Action Recognition)
I3D and Kinetics datasets (Action Recognition)I3D and Kinetics datasets (Action Recognition)
I3D and Kinetics datasets (Action Recognition)
 
딥러닝 논문읽기 efficient netv2 논문리뷰
딥러닝 논문읽기 efficient netv2  논문리뷰딥러닝 논문읽기 efficient netv2  논문리뷰
딥러닝 논문읽기 efficient netv2 논문리뷰
 
Convolutional Neural Networks(CNN) / Stanford cs231n 2017 lecture 5 / MLAI@UO...
Convolutional Neural Networks(CNN) / Stanford cs231n 2017 lecture 5 / MLAI@UO...Convolutional Neural Networks(CNN) / Stanford cs231n 2017 lecture 5 / MLAI@UO...
Convolutional Neural Networks(CNN) / Stanford cs231n 2017 lecture 5 / MLAI@UO...
 
Latest Frame interpolation Algorithms
Latest Frame interpolation AlgorithmsLatest Frame interpolation Algorithms
Latest Frame interpolation Algorithms
 
Simple Review of Single Image Super Resolution Task
Simple Review of Single Image Super Resolution TaskSimple Review of Single Image Super Resolution Task
Simple Review of Single Image Super Resolution Task
 
Encoding in Style: a Style Encoder for Image-to-Image Translation
Encoding in Style: a Style Encoder for Image-to-Image TranslationEncoding in Style: a Style Encoder for Image-to-Image Translation
Encoding in Style: a Style Encoder for Image-to-Image Translation
 
Designing more efficient convolution neural network
Designing more efficient convolution neural networkDesigning more efficient convolution neural network
Designing more efficient convolution neural network
 
DeBERTA : Decoding-Enhanced BERT with Disentangled Attention
DeBERTA : Decoding-Enhanced BERT with Disentangled AttentionDeBERTA : Decoding-Enhanced BERT with Disentangled Attention
DeBERTA : Decoding-Enhanced BERT with Disentangled Attention
 
Convolutional Neural Networks
Convolutional Neural NetworksConvolutional Neural Networks
Convolutional Neural Networks
 
여러 컨볼루션 레이어 테크닉과 경량화 기법들
여러 컨볼루션 레이어 테크닉과 경량화 기법들여러 컨볼루션 레이어 테크닉과 경량화 기법들
여러 컨볼루션 레이어 테크닉과 경량화 기법들
 
PR-218: MFAS: Multimodal Fusion Architecture Search
PR-218: MFAS: Multimodal Fusion Architecture SearchPR-218: MFAS: Multimodal Fusion Architecture Search
PR-218: MFAS: Multimodal Fusion Architecture Search
 
SPPNet : Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Re...
SPPNet : Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Re...SPPNet : Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Re...
SPPNet : Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Re...
 
Convoutional sequence to sequence
Convoutional sequence to sequenceConvoutional sequence to sequence
Convoutional sequence to sequence
 
[기초개념] Graph Convolutional Network (GCN)
[기초개념] Graph Convolutional Network (GCN)[기초개념] Graph Convolutional Network (GCN)
[기초개념] Graph Convolutional Network (GCN)
 
Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명
 
Bidirectional attention flow for machine comprehension
Bidirectional attention flow for machine comprehensionBidirectional attention flow for machine comprehension
Bidirectional attention flow for machine comprehension
 

Similar to Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...
[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...
[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...Gyubin Son
 
네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLDKim Junghoon
 
Densely Connected Convolutional Networks
Densely Connected Convolutional NetworksDensely Connected Convolutional Networks
Densely Connected Convolutional NetworksOh Yoojin
 
Designing more efficient convolution neural network
Designing more efficient convolution neural networkDesigning more efficient convolution neural network
Designing more efficient convolution neural networkNAVER Engineering
 
Summary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detectionSummary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detection창기 문
 
Deep learning super resolution
Deep learning super resolutionDeep learning super resolution
Deep learning super resolutionNAVER Engineering
 
History of Vision AI
History of Vision AIHistory of Vision AI
History of Vision AITae Young Lee
 
Improved techniques for grid mapping with rao blackwellized particle filters 번역
Improved techniques for grid mapping with rao blackwellized particle filters 번역Improved techniques for grid mapping with rao blackwellized particle filters 번역
Improved techniques for grid mapping with rao blackwellized particle filters 번역jdo
 
Convolutional neural networks
Convolutional neural networksConvolutional neural networks
Convolutional neural networksHyunjinBae3
 
Deep Learning Into Advance - 1. Image, ConvNet
Deep Learning Into Advance - 1. Image, ConvNetDeep Learning Into Advance - 1. Image, ConvNet
Deep Learning Into Advance - 1. Image, ConvNetHyojun Kim
 
Attention is all you need 설명
Attention is all you need 설명Attention is all you need 설명
Attention is all you need 설명Junho Lee
 
"Learning transferable architectures for scalable image recognition" Paper Re...
"Learning transferable architectures for scalable image recognition" Paper Re..."Learning transferable architectures for scalable image recognition" Paper Re...
"Learning transferable architectures for scalable image recognition" Paper Re...LEE HOSEONG
 
A Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding AutoencoderA Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding AutoencoderLee Seungeun
 
SAGAN_2024seminar announce_seoultech.pptx
SAGAN_2024seminar announce_seoultech.pptxSAGAN_2024seminar announce_seoultech.pptx
SAGAN_2024seminar announce_seoultech.pptxssuser4b2fe7
 
CNN visualization
CNN visualizationCNN visualization
CNN visualization태영 정
 
밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장Sunggon Song
 
Deep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural NetworkDeep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural Networkagdatalab
 

Similar to Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks (20)

[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...
[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...
[paper review] 손규빈 - Eye in the sky & 3D human pose estimation in video with ...
 
네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD
 
Densely Connected Convolutional Networks
Densely Connected Convolutional NetworksDensely Connected Convolutional Networks
Densely Connected Convolutional Networks
 
Designing more efficient convolution neural network
Designing more efficient convolution neural networkDesigning more efficient convolution neural network
Designing more efficient convolution neural network
 
Summary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detectionSummary in recent advances in deep learning for object detection
Summary in recent advances in deep learning for object detection
 
Deep learning super resolution
Deep learning super resolutionDeep learning super resolution
Deep learning super resolution
 
History of Vision AI
History of Vision AIHistory of Vision AI
History of Vision AI
 
HistoryOfCNN
HistoryOfCNNHistoryOfCNN
HistoryOfCNN
 
Improved techniques for grid mapping with rao blackwellized particle filters 번역
Improved techniques for grid mapping with rao blackwellized particle filters 번역Improved techniques for grid mapping with rao blackwellized particle filters 번역
Improved techniques for grid mapping with rao blackwellized particle filters 번역
 
Convolutional neural networks
Convolutional neural networksConvolutional neural networks
Convolutional neural networks
 
Deep Learning Into Advance - 1. Image, ConvNet
Deep Learning Into Advance - 1. Image, ConvNetDeep Learning Into Advance - 1. Image, ConvNet
Deep Learning Into Advance - 1. Image, ConvNet
 
Attention is all you need 설명
Attention is all you need 설명Attention is all you need 설명
Attention is all you need 설명
 
"Learning transferable architectures for scalable image recognition" Paper Re...
"Learning transferable architectures for scalable image recognition" Paper Re..."Learning transferable architectures for scalable image recognition" Paper Re...
"Learning transferable architectures for scalable image recognition" Paper Re...
 
A Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding AutoencoderA Beginner's guide to understanding Autoencoder
A Beginner's guide to understanding Autoencoder
 
Review Dense net
Review Dense netReview Dense net
Review Dense net
 
SAGAN_2024seminar announce_seoultech.pptx
SAGAN_2024seminar announce_seoultech.pptxSAGAN_2024seminar announce_seoultech.pptx
SAGAN_2024seminar announce_seoultech.pptx
 
CNN visualization
CNN visualizationCNN visualization
CNN visualization
 
Convolutional rnn
Convolutional rnnConvolutional rnn
Convolutional rnn
 
밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장밑바닥부터 시작하는딥러닝 8장
밑바닥부터 시작하는딥러닝 8장
 
Deep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural NetworkDeep Learning & Convolutional Neural Network
Deep Learning & Convolutional Neural Network
 

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

  • 1. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks IEEE transactions on pattern analysis and machine intelligence 39.6 (2017): 1137-1149. 발표자 : 오유진
  • 2. Related Work Object Detection • 입력 영상이 주어졌을 때 영상 내에 존재하는 모든 카테고리에 대해 classification과 localization을 수행 하는 것 • 여러 개의 object를 대상으로 수행 • 입력 영상에서 물체의 영역을 찾아냄 Region Proposals Selective Search • 처음에는 조각조각 잘라낸 것을 조금씩 merge 해서 그 boundary를 이용해 initial 한 bounding box를 뽑아냄 • 영역들의 크기, 공간 관계 등의 많은 요인들을 확인해서 merge
  • 3. Related Work R-CNN • CNN 을 Object detection 에 적용한 첫 번째 연구 (1) Input image를 받아서 (2) selective search 로 2000개의 region proposal 을 추출한 다음, (3) CNN 으로 각 proposal 의 feature 를 계산하고 (4) 각 region 의 classification 결과와 bounding box regression 을 계산 (Classifier 로는 SVM 사용) • R-CNN 특징 ‒ Regional Proposal + CNN ‒ Regional proposal 을 얻기 위해 selective search 사용 ‒ CNN 을 사용한 첫 번째 object detection method ‒ 각 proposal 을 독립적으로 계산 (→ 계산이 많이 생김) ‒ Bounding box regression 으로 detection 정확도 향상 • R-CNN 의 문제점 ‒ 속도가 느림 • 모든 region proposal 에 대해 전체 CNN path 를 다시 계산 ‒ 학습과정이 복잡함 : 여러 단계의 training pipeline
  • 4. Related Work Fast R-CNN → R-CNN 의 속도를 개선한 연구 • Fast R-CNN 도 처음에 initial RoI(Regions of Interest → region proposal) 를 찾는 것은 selective search 사용 • 각 RoI 를 매번 convolution 하는 것이 아니라, 전체 image 를 한 번만 convolution 수행 • 그 결과로 나온 convolution feature map 에서 RoI 에 해당하는 영역을 추출해 pooling 해 fully connected layer 에 넣음 ‒ R-CNN 에서는 다른 크기의 region 들을 모두 동일하게 만들기 위해 warping 을 통해 같은 크기의 이미지로 변환한 뒤 CNN 연산 ‒ Warping 은 사이즈를 줄이고 ratio 를 변경하기 때문에 정보의 손실이 생김 ‒ 따라서 특정 영역에 대해 일정한 고정된 개수의 bin 으로 영역을 나눈 뒤, 각 bin 에 대해 max pooling 또는 average pooling 을 취함으로 고정된 길이의 feature vector를 가져오는 RoI Pooling 수행
  • 5. Related Work Fast R-CNN • Fast R-CNN 특징 ‒ 같은 image 의 proposal 들이 convolution layer 를 공유 ‒ ROI Pooling 도입 ‒ 전체 network 가 End to end 로 한 번에 학습 ‒ R-CNN 보다 빠르고 더 정확한 결과 • Fast R-CNN 의 문제점 ‒ Region proposal 계산이 전체 성능의 bottleneck 이 됨
  • 6. Faster R-CNN • Region proposal network 최상위 convolutional feature map 에서 convolution filter 를 더 사용 Image 를 입력 받아 해당 영역에 물체가 존재하는지에 대한 binary classification 과 regress box location • 기존 Fast R-CNN 속도의 bottleneck 이었던 region proposal 생성을 CNN 내부에 region proposal 을 생성할 수 있는 network 를 설계해 더 빠르고 정확한 region proposal 생성 → region proposal network 추가
  • 7. Faster R-CNN 3*3 conv 를 256개 더 쓰고 하나는 1*1 classify 하나는 1*1 regress bounding box 이 모델을 슬림하게 만들기 위해 classification 을 두개로 함 정해진 bounding box안에 물체가 있는지 없는지 classify 하나 Bounding box regression 을 위해 initial 한 bounding box 필요 따라서, Anchor 라는 개념 도입 – pre-defined 된 reference boxes • 기존 Fast R-CNN 속도의 bottleneck 이었던 region proposal 생성을 CNN 내부에 region proposal 을 생성할 수 있는 network 를 설계해 더 빠르고 정확한 region proposal 생성 → region proposal network 추가 1 x 1 conv 1 x 1 conv 3 x 3 conv ZF : 256-d, VGG : 512-d
  • 8. Faster R-CNN • Anchor box 이미지의 대상을 해석하려면 proposal이 해석되어야 하고 같은 function 이 어느 위치에서나 proposal 을 예측할 수 있어야 함 이러한 조건이 논문에서 제안된 anchor box 에서 중요한 역할 K개의 anchor box 준비 가로 세로 개수, 가로 세로 비율에 따라 달라짐 → scale (1238*123, 256*256, 512*512) 3가지, aspect rations (2:1, 1:1, 1:2) 3가지 논문에서는 k = 9 사용 각각의 anchor box 에 대해서 classification 함 object/ non-object 분류 – 2k 개의 score 각각의 k개 bounding box에 대해서 regression – 4k 개의 coordinate
  • 9. Faster R-CNN IoU 는 특정 데이터 집합에서 object detector 정확도 검출을 할때 사용되는 평가 지표 예측된 경계 상자와 실제 참값(ground truth) 경계 상자의 IoU를 해당 경계 상자의 ‘정확도’로 사용 이때, IoU 가 0.7 이상이면 positive, 0.3 이하면 negative Pi* 는 안에 물체가 있으면 1 없으면 0 없으면 계산 안함 Normalization term은 별로 상관없음 • Loss Function
  • 10. Faster R-CNN • Training RPNs End-to-end 로 back-propagation 사용 모든 anchor에 대해서 loss function 이 최적화 될 수는 있지만 negative sample 이 많아서 편향됨 따라서 256 개의 random 한 anchor 를 mini-batch 로 loss function 을 계산할 때 positive, negative anchor 를 1:1 비율로 조정 한 이미지에서 128 개 이하의 positive sample 이 존재하면 negative 로 mini-batch 를 채움 imageNet classification 으로 fine-tuning
  • 11. Faster R-CNN • Sharing Features for RPN and Fast R-CNN Alternating training : RPN 을 학습시켜서 Fast RCNN 학습시키기 위한 proposal 로 사용하고 Fast RCNN 으로 조정된 network는 다음 RPN initialize에 사용 → 반복 Approximate join training : RPN 과 Fast R-CNN 을 한 network 로 합침 forward pass 로 만든 region proposal 값은 고정, backward propagation 은 usual, RPN loss 와 Fast RCNN loss 의 결합 → alternate training 보다 25~50% 시간 단축 Non-approximate joint training : 본 논문의 범위를 넘어간 방법… RoI warping 방법 이용 (?)
  • 12. Faster R-CNN 1. 이미지 넷으로 pre train 된 network VGG 등을 가져와서 학습된 conv feature map M0를 이용해 RPN 학습 → M1 2. RPN M1 network 이용해 region proposal RoI 뽑음 : P1 3. M0 기반으로 P1이용해 Fast RCNN인 Fast RCNN(오른쪽 부분) 학습 M2 4. Fast RCNN 모델 M2 를 이용해 region proposal network 학습 : M3 → M2(아래쪽 conv layer)는 fix 시키고 region proposal network 학습 5. RPN M3에서 새로운 region proposal 뽑음 : P2 6. RPN 모델 M3의 conv feature 고정시키고 P2 를 이용해 Fast RCNN 학습 M4 생성 7. M4 가 최종 결과 RPN 과 Fast RCNN 이 서로 convolution feature 를 공유한 상태에서 번갈아 가면서 학습하는 형태
  • 13. Faster R-CNN Region proposal 과 detection network 를 single scale 이미지들에 대해 학습하고 테스트 Multi-scale feature extraction 이 성능을 향상시키지만 속도를 떨어뜨리는 문제가 있음 Stride 는 16으로 PASCAL VOC 이미지 보다 크지만 (작게 했을 때 성능이 더 좋음) 이 정도의 큰 stride에서도 좋은 결과를 나타냄 어떤 RPN proposal 들에서는 높은 중복 현상이 나타남 중복을 줄이기 위해 non-maximum suppression(NMS) 도입 → IoU threshold 를 0.7로 고정 NMS 는 정확도에는 영향주지 않고 proposal 수만 줄임, 테스트 할 때는 다른 개수의 proposal 로 계산 • Implementation Details
  • 14. Faster R-CNN • Results 9가지 종류의 anchor box 를 ZF net 사용해서 실제로 bounding box 를 regressor 했을 때 average 기초가 되는 field 보다 큰 예측 값이 사용됨 Object 의 중간 부분만 사용하면 object 의 범위의 추측이 가능 - Mean average precision Bounding box 가 많아지면 이것들을 합치는 non-maximum suppression 두개의 bounding box 에도 IoU 를 구해서 threshold 가 0.7 이상이면 정답 에 더 가까운 것으로 합침 → 차이가 별로 없기때문에 NMS 사용하는 것이 더 효과적 Regression 이 조금 더 중요 아래쪽 CNN을 share 하지않으면 떨어짐
  • 15. Faster R-CNN • Results Scale, ratio 조절 왼쪽의 두개의 경우가 차이가 별로 없음 확장성을 고려해서 9개로 사용 • Conclusion RoI pooling 을 하거나 Fast-RCNN 수행 시 7의 배수로 계산하게 되는데 7의 배수가 아닌 RoI 로 계산 시 버림을 해야 하는데 이때 오차가 발생 → 정확도가 필요한 것에서 문제가 생김 → Mask RCNN