SlideShare a Scribd company logo
1 of 37
Faster R-CNN :
Towards Real-Time Object
Detection with Region Proposal
Networks
NIPS 2015
Microsoft Research
2018.03.26
신호해석특론
김정훈 jhkim@dilab.co.kr
Contents
 Object Detection
 R-CNN(2013)
 Fast R-CNN(2015)
 Faster R-CNN(2016)
 Paper plan(2018)
신호해석특론 2
Introduction
 Object Detection
 입력 영상내에 존재하는 모든 카테고리에 대해
classification과 localization을 수행
 Object 0 ~ N개
신호해석특론 3
Naïve Approach
 Sliding window approach
 모든 크기의 영역(different scale & ratio)에 대해
sliding window 방식으로 이미지를 모두 탐색하면서
classification을 수행
 비효율적
신호해석특론 4
Region Proposals
 Region proposal algorithm
 물체가 있을 법한 영역을 찾아내는 알고리즘
 Search space를 줄임
 SlidingWindow, SelectiveSearch, EdgeBoxes, ..
신호해석특론 5
Selective Search
 Goal
 영상은 계층적 구조를 가지므로 적절한 알고리즘을 사용하여
크기에 상관없이 대상을 찾아낸다.
 컬러, 무늬, 질감, 명암 등 다양한 기준에 따라 segmentation
신호해석특론 6
Selective Search
 sub-segmentation
 각각의 객체가 1개의 영역에 할당이 될 수 있도록
많은 초기 영역을 생성한다.
신호해석특론 7
Selective Search
 Greedy algorithm
 여러 영역으로부터 가장 비슷한 영역을 고르고,
이것들을 좀 더 큰 영역으로 통합을 하며,
1개의 영역이 남을 때까지 반복한다.
 초기의 작은 영역들이 유사도에 따라 점점 통합이 되는 것을 확
인할 수 있다.
신호해석특론 8
Selective Search
 Region of Interest (ROI)
 통합된 영역들을 바탕으로 후보 영역들을 만들어 낸다.
이 과정을 통합적으로 보여주는 과정은 아래와 같다.
신호해석특론 9
R-CNN
 Region Proposal
+ Convolutional Neural Network (CNN)
신호해석특론 10
R-CNN
 문제점
 Localization 성능이 취약
 CNN이 positional invariance한 특성을 가지고 있음
 Region proposal 내에서 물체가 중앙이 아닌 다른 곳에
위치하고 있어도 CNN이 높은 classification score을 예
측하기 때문
신호해석특론 11
R-CNN
 해결 : bounding-box regression
 위치 보정
 region proposal P, 정답 위치 G
 P를 G로 mapping할 수 있는 변환을 학습
 Kind of a refinement step.
신호해석특론 12
R-CNN
 Summary
신호해석특론 13
R-CNN
 R-CNN과 타 알고리즘과의 성능 비교
신호해석특론 14
R-CNN
 문제점
 Test 속도가 느림
 모든 region proposal에 대해 CNN을 계산
 GPU(K40)에서 13s / image
 SVM과 bounding box regressor의 학습이 분리
 CNN학습 과정 후, SVM과 bounding box regressor의 학습이
나중에 진행됨(post-hoc)
 학습 과정이 복잡함
 다단계 training pipeline
 GPU(K40)에서 84시간 (VOC2007, 5000 images)
신호해석특론 15
Fast R-CNN
 특징: 속도개선
 같은 image의 proposal들이 convolution layer를 공유
 ROI Pooling 도입
 전체 network가 End-to-end로 한번에 학습
 ~160x faster than R-CNN
신호해석특론 16
Fast R-CNN
 R-CNN과 feature 추출방법 비교
 R-CNN은 각각의 region마다 crop하여 cnn연산
 Fast R-CNN은 cropping을 image level이 아닌
feature map level에서 수행
 CNN연산 2,000번 ~> 1번
신호해석특론 17
Fast R-CNN
 ROI pooling
 Selective Search통해 찾은 ROI영역
 전체 image를 convolution해 나온 feature map에서
ROI영역만 pooling하여 fc layer에 넣는다.
신호해석특론 18
Fast R-CNN
 전체 구조
신호해석특론 19
Fast R-CNN
 문제점
 Region proposal 계산이 NN밖에서 일어난다.
 Region proposal(Selective Search)이
전체 성능의 bottleneck이 된다.
 SS가 느린 이유 중 하나는 GPU가 아니라
CPU로 계산하기 때문.
 =>GPU연산을 사용하자(Faster R-CNN)
신호해석특론 20
Faster R-CNN
 RPN: Region Proposal Network
 Fast R-CNN에서 Bottleneck이었던
region proposal 생성을 CNN내부에 설계.
신호해석특론 21
Faster R-CNN
 Region Proposals from Feature Map
 Classification 또는 detection을 수행하는 CNN이 가진 feature
map이 대략적인 물체의 위치정보를 가지고 있다면, 이를 잘 학습
하면 물체의 대략적인 위치를 잡아낼 수 있을것.
 feature map activation 시각화
신호해석특론 22
Faster R-CNN
 RPN: Region Proposal Network
 feature map 정보를 활용해 물체가 존재하는 위치를 출력으로 가
지는 네트워크인 region proposal network(RPN)를 학습해보자는
아이디어
 입력: N x N 크기의 작은 window영역
 출력: binary classification
 Bounding-box regression또한 사용
신호해석특론 23
Faster R-CNN
 RPN: Region Proposal Network
 하지만, object들의 크기와 비율은 다양.
 미리 정의된 여러 크기와 비율의 reference box k
 물체/배경 x, y, w, h
신호해석특론 24
Faster R-CNN
 Anchor 개수
 feacher map의 크기가 W x H일때
 총 W x H x K 개의 anchor를 가진다.
 논문에서는 3가지 크기(128, 256, 512), 3가지 비율(2:1, 1:1, 1:2)
 K = 9
신호해석특론 25
Faster R-CNN
 Alternating Optimization
 RPN과 Fast R-CNN이 서로 convolution feature를
공유한 상태에서 번갈아 가며 학습을 진행하는 형태
 복잡한 학습 과정
 논문 마감일 때문
신호해석특론 26
Faster R-CNN
 Joint Optimization
 RPN의 loss function과 Fast R-CNN의 loss function을 합쳐
multi-task loss로 둔 뒤 한번에 학습.
 동일하거나 높은 성능이 나올 수 있음을 실험적으로 증명
신호해석특론 27
Faster R-CNN
 Experiments
 RPN을 사용했을때 상당한 속도향상을 보인다.
신호해석특론 28
Faster R-CNN
 Experiments
 3 scales, 3 ratios를 사용했을때 가장 성능이
잘 나온다
 Anchor를 9개로 잡은 이유.
신호해석특론 29
Faster R-CNN
 Performance
 R-CNN, Fast R-CNN, Faster R-CNN의 성능 비교
 object detection system to run at
near real-time frame rates
신호해석특론 30
SUMMARY
 R-CNN
 Region proposal과 Classification CNN을 결합하여 높은 성능의
Object detection을 수행
 Fast R-CNN
 ROI Pooling을 사용해 연산을 줄이고 속도를 올림
신호해석특론 31
SUMMARY
 Faster R-CNN
 Region proposal 알고리즘으로 생기는 bottleneck을 개선
 Conv feature map으로부터 region proposal을 직접 생성할 수
있는 RPN(region proposal network)를 제안
신호해석특론 32
Furthermore
 YOLO(You Only Look Once)
 https://youtu.be/VOC3huqHrssDetection문제를
regression문제로 접근
 하나의 convolution network사용
 전체 image를 한 번에 처리하므로 매우 빠르다.
신호해석특론 33
Furthermore
 SSD(Single Shot Detector)
 Faster R-CNN 보다 빠르고 YOLO 만큼 정확하다.
 Category와 box offset을 prediction한다.
 Feature map을 사용해 prediction한다.
신호해석특론 34
Furthermore
 Mask R-CNN
신호해석특론 35
Reference
 How Good are Detection Proposals, really?, J. Hosang et al, BMVC14.
 Selective Search for Object Recognition, J. R. R. Uijings et al, IJCV13.
 Edge boxes: Locating Object Proposals from Edges, L. Zitnick et al,
ECCV14.
 Fast R-CNN, R. Girshick, ICCV15.
 Faster R-CNN: Towards Real-Time Object Detection with Region Proposal
Networks, S. Ren et al, NIPS15.
 Mask R-CNN, K. He et al, arXiv17.
 Rich Feature Hierarchies for Accurate Object Detection and Semantic
Segmentation, R. Girshick et al, CVPR14.
 “Lecture 6: CNNs for Detection, Tracking, and Segmentation”
 https://blog.lunit.io/2017/06/01/r-cnns-tutorial/
신호해석특론 36
Q&A
신호해석특론 37

More Related Content

What's hot

Machine Learning Summer School 2016
Machine Learning Summer School 2016Machine Learning Summer School 2016
Machine Learning Summer School 2016chris wiggins
 
You only look once (YOLO) : unified real time object detection
You only look once (YOLO) : unified real time object detectionYou only look once (YOLO) : unified real time object detection
You only look once (YOLO) : unified real time object detectionEntrepreneur / Startup
 
You Only Look Once: Unified, Real-Time Object Detection
You Only Look Once: Unified, Real-Time Object DetectionYou Only Look Once: Unified, Real-Time Object Detection
You Only Look Once: Unified, Real-Time Object DetectionDADAJONJURAKUZIEV
 
Generalized Intersection over Union: A Metric and A Loss for Bounding Box Reg...
Generalized Intersection over Union: A Metric and A Loss for Bounding Box Reg...Generalized Intersection over Union: A Metric and A Loss for Bounding Box Reg...
Generalized Intersection over Union: A Metric and A Loss for Bounding Box Reg...Sungchul Kim
 
Photo-realistic Single Image Super-resolution using a Generative Adversarial ...
Photo-realistic Single Image Super-resolution using a Generative Adversarial ...Photo-realistic Single Image Super-resolution using a Generative Adversarial ...
Photo-realistic Single Image Super-resolution using a Generative Adversarial ...Hansol Kang
 
Investment and deep learning
Investment and deep learningInvestment and deep learning
Investment and deep learningNAVER Engineering
 
RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기Woong won Lee
 
Continuous control with deep reinforcement learning (DDPG)
Continuous control with deep reinforcement learning (DDPG)Continuous control with deep reinforcement learning (DDPG)
Continuous control with deep reinforcement learning (DDPG)Taehoon Kim
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016Taehoon Kim
 
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard LibraryDongMin Choi
 
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) 파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) Yunho Maeng
 
Reinforcement Learning for Algorithmic Trading
Reinforcement Learning for Algorithmic TradingReinforcement Learning for Algorithmic Trading
Reinforcement Learning for Algorithmic TradingSynaptonIncorporated
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)SANG WON PARK
 
golang과 websocket을 활용한 서버프로그래밍 - 장애없는 서버 런칭 도전기
golang과 websocket을 활용한 서버프로그래밍 - 장애없는 서버 런칭 도전기golang과 websocket을 활용한 서버프로그래밍 - 장애없는 서버 런칭 도전기
golang과 websocket을 활용한 서버프로그래밍 - 장애없는 서버 런칭 도전기Sangik Bae
 

What's hot (20)

Machine Learning Summer School 2016
Machine Learning Summer School 2016Machine Learning Summer School 2016
Machine Learning Summer School 2016
 
Yolo releases gianmaria
Yolo releases gianmariaYolo releases gianmaria
Yolo releases gianmaria
 
Yolo
YoloYolo
Yolo
 
You only look once (YOLO) : unified real time object detection
You only look once (YOLO) : unified real time object detectionYou only look once (YOLO) : unified real time object detection
You only look once (YOLO) : unified real time object detection
 
You Only Look Once: Unified, Real-Time Object Detection
You Only Look Once: Unified, Real-Time Object DetectionYou Only Look Once: Unified, Real-Time Object Detection
You Only Look Once: Unified, Real-Time Object Detection
 
Generalized Intersection over Union: A Metric and A Loss for Bounding Box Reg...
Generalized Intersection over Union: A Metric and A Loss for Bounding Box Reg...Generalized Intersection over Union: A Metric and A Loss for Bounding Box Reg...
Generalized Intersection over Union: A Metric and A Loss for Bounding Box Reg...
 
Photo-realistic Single Image Super-resolution using a Generative Adversarial ...
Photo-realistic Single Image Super-resolution using a Generative Adversarial ...Photo-realistic Single Image Super-resolution using a Generative Adversarial ...
Photo-realistic Single Image Super-resolution using a Generative Adversarial ...
 
Investment and deep learning
Investment and deep learningInvestment and deep learning
Investment and deep learning
 
Lock free queue
Lock free queueLock free queue
Lock free queue
 
RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기
 
Yolo
YoloYolo
Yolo
 
Continuous control with deep reinforcement learning (DDPG)
Continuous control with deep reinforcement learning (DDPG)Continuous control with deep reinforcement learning (DDPG)
Continuous control with deep reinforcement learning (DDPG)
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
 
Troubleshooting Java HotSpot VM
Troubleshooting Java HotSpot VMTroubleshooting Java HotSpot VM
Troubleshooting Java HotSpot VM
 
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library
[C++ Korea 2nd Seminar] Ranges for The Cpp Standard Library
 
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI ) 파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
파이썬(Python) 으로 나만의 딥러닝 API 만들기 강좌 (Feat. AutoAI )
 
Reinforcement Learning for Algorithmic Trading
Reinforcement Learning for Algorithmic TradingReinforcement Learning for Algorithmic Trading
Reinforcement Learning for Algorithmic Trading
 
내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)내가 이해하는 SVM(왜, 어떻게를 중심으로)
내가 이해하는 SVM(왜, 어떻게를 중심으로)
 
golang과 websocket을 활용한 서버프로그래밍 - 장애없는 서버 런칭 도전기
golang과 websocket을 활용한 서버프로그래밍 - 장애없는 서버 런칭 도전기golang과 websocket을 활용한 서버프로그래밍 - 장애없는 서버 런칭 도전기
golang과 websocket을 활용한 서버프로그래밍 - 장애없는 서버 런칭 도전기
 
Hierarchical Object Detection with Deep Reinforcement Learning
Hierarchical Object Detection with Deep Reinforcement LearningHierarchical Object Detection with Deep Reinforcement Learning
Hierarchical Object Detection with Deep Reinforcement Learning
 

Similar to Faster R-CNN

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal NetworksFaster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal NetworksOh Yoojin
 
[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
 
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창기 문
 
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창기 문
 
FCN to DeepLab.v3+
FCN to DeepLab.v3+FCN to DeepLab.v3+
FCN to DeepLab.v3+Whi Kwon
 
Deep Object Detectors #1 (~2016.6)
Deep Object Detectors #1 (~2016.6)Deep Object Detectors #1 (~2016.6)
Deep Object Detectors #1 (~2016.6)Ildoo Kim
 
네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLDKim Junghoon
 
Final project v0.84
Final project v0.84Final project v0.84
Final project v0.84Soukwon Jun
 
20200309 (FSRI) deep-family_v2-br31_rabbit
20200309 (FSRI)  deep-family_v2-br31_rabbit20200309 (FSRI)  deep-family_v2-br31_rabbit
20200309 (FSRI) deep-family_v2-br31_rabbitjason min
 
Designing more efficient convolution neural network
Designing more efficient convolution neural networkDesigning more efficient convolution neural network
Designing more efficient convolution neural networkNAVER Engineering
 
Designing more efficient convolution neural network
Designing more efficient convolution neural networkDesigning more efficient convolution neural network
Designing more efficient convolution neural networkDongyi Kim
 
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
 
[Paper] shuffle net an extremely efficient convolutional neural network for ...
[Paper] shuffle net  an extremely efficient convolutional neural network for ...[Paper] shuffle net  an extremely efficient convolutional neural network for ...
[Paper] shuffle net an extremely efficient convolutional neural network for ...Susang Kim
 
ICIP 2018 REVIEW
ICIP 2018 REVIEWICIP 2018 REVIEW
ICIP 2018 REVIEWSungMan Cho
 
History of Vision AI
History of Vision AIHistory of Vision AI
History of Vision AITae Young Lee
 
Attention is all you need 설명
Attention is all you need 설명Attention is all you need 설명
Attention is all you need 설명Junho Lee
 

Similar to Faster R-CNN (20)

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
Faster R-CNN: Towards Real-Time Object Detection with Region Proposal NetworksFaster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
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 ...
 
180427 hian frcnn
180427 hian frcnn180427 hian frcnn
180427 hian frcnn
 
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
 
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
 
FCN to DeepLab.v3+
FCN to DeepLab.v3+FCN to DeepLab.v3+
FCN to DeepLab.v3+
 
Deep Object Detectors #1 (~2016.6)
Deep Object Detectors #1 (~2016.6)Deep Object Detectors #1 (~2016.6)
Deep Object Detectors #1 (~2016.6)
 
네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD네트워크 경량화 이모저모 @ 2020 DLD
네트워크 경량화 이모저모 @ 2020 DLD
 
R-FCN 리뷰
R-FCN 리뷰R-FCN 리뷰
R-FCN 리뷰
 
Final project v0.84
Final project v0.84Final project v0.84
Final project v0.84
 
20200309 (FSRI) deep-family_v2-br31_rabbit
20200309 (FSRI)  deep-family_v2-br31_rabbit20200309 (FSRI)  deep-family_v2-br31_rabbit
20200309 (FSRI) deep-family_v2-br31_rabbit
 
CNN
CNNCNN
CNN
 
Designing more efficient convolution neural network
Designing more efficient convolution neural networkDesigning more efficient convolution neural network
Designing more efficient convolution neural network
 
Designing more efficient convolution neural network
Designing more efficient convolution neural networkDesigning more efficient convolution neural network
Designing more efficient convolution neural network
 
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...
 
[Paper] shuffle net an extremely efficient convolutional neural network for ...
[Paper] shuffle net  an extremely efficient convolutional neural network for ...[Paper] shuffle net  an extremely efficient convolutional neural network for ...
[Paper] shuffle net an extremely efficient convolutional neural network for ...
 
ICIP 2018 REVIEW
ICIP 2018 REVIEWICIP 2018 REVIEW
ICIP 2018 REVIEW
 
Convolutional rnn
Convolutional rnnConvolutional rnn
Convolutional rnn
 
History of Vision AI
History of Vision AIHistory of Vision AI
History of Vision AI
 
Attention is all you need 설명
Attention is all you need 설명Attention is all you need 설명
Attention is all you need 설명
 

Recently uploaded

JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 

Recently uploaded (8)

JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 

Faster R-CNN

  • 1. Faster R-CNN : Towards Real-Time Object Detection with Region Proposal Networks NIPS 2015 Microsoft Research 2018.03.26 신호해석특론 김정훈 jhkim@dilab.co.kr
  • 2. Contents  Object Detection  R-CNN(2013)  Fast R-CNN(2015)  Faster R-CNN(2016)  Paper plan(2018) 신호해석특론 2
  • 3. Introduction  Object Detection  입력 영상내에 존재하는 모든 카테고리에 대해 classification과 localization을 수행  Object 0 ~ N개 신호해석특론 3
  • 4. Naïve Approach  Sliding window approach  모든 크기의 영역(different scale & ratio)에 대해 sliding window 방식으로 이미지를 모두 탐색하면서 classification을 수행  비효율적 신호해석특론 4
  • 5. Region Proposals  Region proposal algorithm  물체가 있을 법한 영역을 찾아내는 알고리즘  Search space를 줄임  SlidingWindow, SelectiveSearch, EdgeBoxes, .. 신호해석특론 5
  • 6. Selective Search  Goal  영상은 계층적 구조를 가지므로 적절한 알고리즘을 사용하여 크기에 상관없이 대상을 찾아낸다.  컬러, 무늬, 질감, 명암 등 다양한 기준에 따라 segmentation 신호해석특론 6
  • 7. Selective Search  sub-segmentation  각각의 객체가 1개의 영역에 할당이 될 수 있도록 많은 초기 영역을 생성한다. 신호해석특론 7
  • 8. Selective Search  Greedy algorithm  여러 영역으로부터 가장 비슷한 영역을 고르고, 이것들을 좀 더 큰 영역으로 통합을 하며, 1개의 영역이 남을 때까지 반복한다.  초기의 작은 영역들이 유사도에 따라 점점 통합이 되는 것을 확 인할 수 있다. 신호해석특론 8
  • 9. Selective Search  Region of Interest (ROI)  통합된 영역들을 바탕으로 후보 영역들을 만들어 낸다. 이 과정을 통합적으로 보여주는 과정은 아래와 같다. 신호해석특론 9
  • 10. R-CNN  Region Proposal + Convolutional Neural Network (CNN) 신호해석특론 10
  • 11. R-CNN  문제점  Localization 성능이 취약  CNN이 positional invariance한 특성을 가지고 있음  Region proposal 내에서 물체가 중앙이 아닌 다른 곳에 위치하고 있어도 CNN이 높은 classification score을 예 측하기 때문 신호해석특론 11
  • 12. R-CNN  해결 : bounding-box regression  위치 보정  region proposal P, 정답 위치 G  P를 G로 mapping할 수 있는 변환을 학습  Kind of a refinement step. 신호해석특론 12
  • 14. R-CNN  R-CNN과 타 알고리즘과의 성능 비교 신호해석특론 14
  • 15. R-CNN  문제점  Test 속도가 느림  모든 region proposal에 대해 CNN을 계산  GPU(K40)에서 13s / image  SVM과 bounding box regressor의 학습이 분리  CNN학습 과정 후, SVM과 bounding box regressor의 학습이 나중에 진행됨(post-hoc)  학습 과정이 복잡함  다단계 training pipeline  GPU(K40)에서 84시간 (VOC2007, 5000 images) 신호해석특론 15
  • 16. Fast R-CNN  특징: 속도개선  같은 image의 proposal들이 convolution layer를 공유  ROI Pooling 도입  전체 network가 End-to-end로 한번에 학습  ~160x faster than R-CNN 신호해석특론 16
  • 17. Fast R-CNN  R-CNN과 feature 추출방법 비교  R-CNN은 각각의 region마다 crop하여 cnn연산  Fast R-CNN은 cropping을 image level이 아닌 feature map level에서 수행  CNN연산 2,000번 ~> 1번 신호해석특론 17
  • 18. Fast R-CNN  ROI pooling  Selective Search통해 찾은 ROI영역  전체 image를 convolution해 나온 feature map에서 ROI영역만 pooling하여 fc layer에 넣는다. 신호해석특론 18
  • 19. Fast R-CNN  전체 구조 신호해석특론 19
  • 20. Fast R-CNN  문제점  Region proposal 계산이 NN밖에서 일어난다.  Region proposal(Selective Search)이 전체 성능의 bottleneck이 된다.  SS가 느린 이유 중 하나는 GPU가 아니라 CPU로 계산하기 때문.  =>GPU연산을 사용하자(Faster R-CNN) 신호해석특론 20
  • 21. Faster R-CNN  RPN: Region Proposal Network  Fast R-CNN에서 Bottleneck이었던 region proposal 생성을 CNN내부에 설계. 신호해석특론 21
  • 22. Faster R-CNN  Region Proposals from Feature Map  Classification 또는 detection을 수행하는 CNN이 가진 feature map이 대략적인 물체의 위치정보를 가지고 있다면, 이를 잘 학습 하면 물체의 대략적인 위치를 잡아낼 수 있을것.  feature map activation 시각화 신호해석특론 22
  • 23. Faster R-CNN  RPN: Region Proposal Network  feature map 정보를 활용해 물체가 존재하는 위치를 출력으로 가 지는 네트워크인 region proposal network(RPN)를 학습해보자는 아이디어  입력: N x N 크기의 작은 window영역  출력: binary classification  Bounding-box regression또한 사용 신호해석특론 23
  • 24. Faster R-CNN  RPN: Region Proposal Network  하지만, object들의 크기와 비율은 다양.  미리 정의된 여러 크기와 비율의 reference box k  물체/배경 x, y, w, h 신호해석특론 24
  • 25. Faster R-CNN  Anchor 개수  feacher map의 크기가 W x H일때  총 W x H x K 개의 anchor를 가진다.  논문에서는 3가지 크기(128, 256, 512), 3가지 비율(2:1, 1:1, 1:2)  K = 9 신호해석특론 25
  • 26. Faster R-CNN  Alternating Optimization  RPN과 Fast R-CNN이 서로 convolution feature를 공유한 상태에서 번갈아 가며 학습을 진행하는 형태  복잡한 학습 과정  논문 마감일 때문 신호해석특론 26
  • 27. Faster R-CNN  Joint Optimization  RPN의 loss function과 Fast R-CNN의 loss function을 합쳐 multi-task loss로 둔 뒤 한번에 학습.  동일하거나 높은 성능이 나올 수 있음을 실험적으로 증명 신호해석특론 27
  • 28. Faster R-CNN  Experiments  RPN을 사용했을때 상당한 속도향상을 보인다. 신호해석특론 28
  • 29. Faster R-CNN  Experiments  3 scales, 3 ratios를 사용했을때 가장 성능이 잘 나온다  Anchor를 9개로 잡은 이유. 신호해석특론 29
  • 30. Faster R-CNN  Performance  R-CNN, Fast R-CNN, Faster R-CNN의 성능 비교  object detection system to run at near real-time frame rates 신호해석특론 30
  • 31. SUMMARY  R-CNN  Region proposal과 Classification CNN을 결합하여 높은 성능의 Object detection을 수행  Fast R-CNN  ROI Pooling을 사용해 연산을 줄이고 속도를 올림 신호해석특론 31
  • 32. SUMMARY  Faster R-CNN  Region proposal 알고리즘으로 생기는 bottleneck을 개선  Conv feature map으로부터 region proposal을 직접 생성할 수 있는 RPN(region proposal network)를 제안 신호해석특론 32
  • 33. Furthermore  YOLO(You Only Look Once)  https://youtu.be/VOC3huqHrssDetection문제를 regression문제로 접근  하나의 convolution network사용  전체 image를 한 번에 처리하므로 매우 빠르다. 신호해석특론 33
  • 34. Furthermore  SSD(Single Shot Detector)  Faster R-CNN 보다 빠르고 YOLO 만큼 정확하다.  Category와 box offset을 prediction한다.  Feature map을 사용해 prediction한다. 신호해석특론 34
  • 36. Reference  How Good are Detection Proposals, really?, J. Hosang et al, BMVC14.  Selective Search for Object Recognition, J. R. R. Uijings et al, IJCV13.  Edge boxes: Locating Object Proposals from Edges, L. Zitnick et al, ECCV14.  Fast R-CNN, R. Girshick, ICCV15.  Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks, S. Ren et al, NIPS15.  Mask R-CNN, K. He et al, arXiv17.  Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation, R. Girshick et al, CVPR14.  “Lecture 6: CNNs for Detection, Tracking, and Segmentation”  https://blog.lunit.io/2017/06/01/r-cnns-tutorial/ 신호해석특론 36

Editor's Notes

  1. 질문은 발표 마지막에 받겠습니다.
  2. “Rich feature hierarchies for accurate object detection and semantic segmentation” “Fast R-CNN” “Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks”
  3. Selective Search for Object Recognition, J. R. R. Uijings et al, IJCV13.
  4. Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation, R. Girshick et al, CVPR14.  “Rich feature hierarchies for accurate object detection and semantic segmentation”
  5. https://books.google.co.kr/books?id=wX8XDQAAQBAJ&pg=PA171&lpg=PA171&dq=Distribution+of+top-ranked+R-CNN+false+positive+types&source=bl&ots=MnwNEORr9b&sig=tBHhxw7UTI5yUE9C_iIXx8GVukM&hl=ko&sa=X&ved=0ahUKEwi2tcXNl_7ZAhUEU7wKHZfLCO0Q6AEINjAB#v=onepage&q=Distribution%20of%20top-ranked%20R-CNN%20false%20positive%20types&f=false
  6. “we demonstrate that a simple bounding-box regression method significantly reduces mislocalizations, which are the dominant error mode.” (More detail in the paper)
  7. The PASCAL VOC project. Visual Object Classes challenge
  8. SPP-net(SPP-net. Spartial Pyramid Pooling) RCNN의 아이디어를 사용 공간 풀링을 통해 계산. /*생략한 내용*/ R-CNN에서는 Softmax classifier와 linear bounding-box regressor를 따로 학습했습니다. ⇒ 반면, Fast R-CNN에서는 두 함수의 loss를 더한 multi-task loss를 기반으로 동시에 두 가지 task를 학습합니다.
  9. 바운딩 박스들 사이에 겹치는 영역이 많은데 이들을 따로따로 CNN을 통과시키는 것은 비용 낭비다. Fast R-CNN도 처음에 initial ROI( region proposal)를 찾는 것은 SS를 사용합니다. 하지만 각 ROI를 매번 conv하는게 아니라 한번에 해서 결과로 나온 피쳐맵에서 ROI영역만 추출해 Pooling(=subsampling)과정을 거쳐 Fully Connected layer에 넣는것입니다.
  10. Fast R-CNN에서 남은 한가지 성능의 병목은 바운딩 박스를 만드는 리전 프로포잘 단계입니다. Faster R-CNN은 리전 프로포잘 단계를 CNN안에 넣어서 마지막 문제를 해결했습니다. CNN을 통과한 특성 맵에서 슬라이딩 윈도우를 이용해 각 지점anchor마다 가능한 바운딩 박스의 좌표와 이 바운딩 박스의 점수를 계산합니다. 대부분 너무 홀쭉하거나 넓은 물체는 많지 않으므로 2:1, 1:1, 1:2 등의 몇가지 타입으로도 좋다고 합니다.
  11. classification을 위해 학습한 CNN이 어느 정도 localization 역할을 수행할 수 있음을 확인해 볼 수 있습니다. 그 이유는 바로 classification 학습 과정에서 학습되는 convolution filter들이 중요한 정보는 보존하고 불필요한 정보는 손실하는 방향으로 형성되기 때문입니다. 위 그림에서도 볼 수 있듯이, 학습된 classification CNN에 특정 이미지를 입력하고 해당 이미지로부터 얻어낸 feature map을 시각화 해 보면, 물체를 구별하는데 불필요하다고 판단되는 배경은 무시하고 실제 물체가 존재하는 위치에 대부분의 filter가 반응함을 볼 수 있습니다
  12. Faster R-CNN에서는 feature map 정보를 활용해 물체가 존재하는 위치를 출력으로 가지는 네트워크인 region proposal network(RPN)를 학습해보자는 아이디어를 제시합니다. 이를 위해 feature map 위의  크기의 작은 window 영역을 입력으로 받고,  해당 영역에 물체가 존재하는지/존재하지 않는지에 대한 binary classification을 수행하는 작은 classification network를 만들어 볼 수 있습니다.  R-CNN, Fast R-CNN에서 사용되었던 bounding-box regression 또한 위치를 보정해주기 위해 추가로 사용됩니다. 하나의 feature map에서 모든 영역에 대해 물체의 존재 여부를 확인하기 위해서는 앞서 설계한 작은  영역을 sliding window 방식으로 탐색하면 될 것입니다. 이러한 작동 방식은  크기의 convolution filter, 그리고 classification과 regression을 위한  convolution filter를 학습하는 것으로 간단하게 구현할 수 있습니다.
  13. ImageNet 데이터로 미리 학습된 CNN M0를 준비합니다. M0 conv feature map을 기반으로 RPN M1를 학습합니다. RPN M1을 사용하여 이미지들로부터 region proposal  P1을 추출합니다. 추출된 region proposal P1을 사용해 M0를 기반으로 Fast R-CNN을 학습하여 모델M2를 얻습니다. Fast R-CNN 모델M2 의 conv feature를 모두 고정시킨 상태에서 RPN을 학습해 RPN 모델 M3을 얻습니다. RPN 모델M3 을 사용하여 이미지들로부터 region proposal P2을 추출합니다. RPN 모델 M3의 conv feature를 고정시킨 상태에서 Fast R-CNN 모델 M4를 학습합니다.
  14. http://mp7.watson.ibm.com/ICCV2015/slides/iccv15_tutorial_training_rbg.pdf
  15. 그 밖의 최근 연구 R-CNN 계열 : 2stage detection -> SPP-net, R-FCN, Mask-CNN 딥러닝 기반 FAST 객체 탐색 기법
  16. 딥러닝 기반 FAST 객체 탐색 기법 Mask R-CNN Faster R-CNN에 각 픽셀이 오브젝트에 해당하는 것인지 아닌지를 마스킹하는 네트워크(CNN)를 추가한 것입니다. 이를 바이너리 마스크binary mask라고 합니다. 페이스북 팀은 정확한 픽셀 위치를 추출하기 위해 CNN을 통과하면서 RoIPool 영역의 위치에 생기는 소숫점 오차를 2D 선형보간법bilinear interpolation을 통해 감소시켰다고 합니다. 이를 RoIAlign이라고 합니다.