Object detection
- 물체가 여러개있으면 바운더리. 물체가 어딨는지 box level로
- 즉 box level의 localization
Semantic Segmentation
- 각 pixel이 어느레이블이다. 각 class에 해당하는..
- pixel level localization이다.
그렇다면 RCNN은,
object detection을 위한 CNN이다. 즉 CNN Feature에 region이 있는 것이다.
3개 모듈로 구성된다.
1) Region proposal
- selective search방법을 사용한다. 계층적 segmentation, bounding box
2) (feature) extraction위한 CNN (알렉스넷사용)
- 알렉스넷 두번째 Fully connected layer의 4096개 output을
feature vector로 쓴다.. 이것을 3번째 SVM training/testing에서 쓴다
3) ( Classification) 두번째에서 뽑은 feature Vector들을 classify하는 SVM ( Classification)
CNN 입력에 맞춰야되니까 손실되는 정보가 많다.
proposal된 ROI영역에 대해 각각 conv 연산을 하기에 느리다
post-processing: 일단 결과를 내고, 따로 다른 모델을 만들어서 training을 한다.
Fast RCNN

여기서 위의 문제를 해결하였다.
- selective search방법을 통해 region proposal을 얻는다.
- 이걸 ROI pooling에 보낸다.
그럼 Fully connected layer 에 의해 동일한 사이즈의 벡터가된다.
잘 변형된 feature(ROI Feature vector)가 된다..
즉 feature를 더 잘 추출하기 위한 것이다. classifier와 regressor에게 잘 주기위해\
*정리 ROI Pooing Layer : region proposal을 동일한 사이즈 벡터로 변환하기 위한 것이다. (FC에 의해)
Fast RCNN에서는 ROI Pooling이 핵심이다~
Faster RCNN
Fast RCNN + Region proposal net work
proposal generation이 추가된 것이다.
그래서 더 좋은 region 영역을 proposal하는것.
두개 모듈로 볼수잇다.
1) RPN ( Region Proposal Network) : deep convolution layer에 의해 조정된 region set을 준다.
2) Fast RCNN Roi Pooling layer : proposal 위치 location 및 classify each proposal
alternate training방법을 쓴다.
먼저 loss학습하고, 고정. 돌리고.. RPN <-> Fast RCNN
하지만 이렇게 하면 훨씬 더 적은량의 proposal layer로 학습할 수 있다.
FCN = Fully convolution Network.
별다른 어려운 기법을 사용한게 아닌데, semantic segmentation에서 뛰어난 성능을 보였다고 한다.
15년에 발표된 논문이다.
semantic segmentation은 위에서 말했듯이.. 단순하게 바운딩박스 찾는게 아니다.
픽셀단위의 예측을 수행하여 의미있는 단위로 대상을 분리하는 것이다.
그러므로 이미지에서 무엇이 있는지 + 그것의 위치 까지 파악해야 한다.
그러나 semantic 과 location은 각자 성질이 다르니까 이걸 조화롭게 합쳐야 하고..
- End to End CNN 기법
- 보통 classification문제에서는 convolution , Pooling...레이어 맨 마지막엔
fully connected layer가 온다. 이걸 거치고 나면 위치/공간정보(special domain)는 사라지게 된다.
!!!! 그러나 Fully convolution Network이란?
위치정보(special domain)를 마지막에 죽이지 않는다.
어쨋든 Fully connected layer를 1*1 Convolution layer로 간주함으로써, special domain을 유지하고, 전부가 convolutional network로 구성되므로 입력영상의 제한을 받지 않게 되었다.
fully connected layer에 demension을 없애지 않는거다.
RCNN, Fast RCNN등 모두 softmax와 regressor부분에 이게 들어가있다. 위치정보가 필요하니까
FCN with skip connection
- Semantic segmentation 할때, 더 정교하게 예측할수있도록
마지막에 너무 작아져버린 layer를 원영상크기로 복원하는 것이다.
FCN 1/32, 1/16..
Deconvolution Network
위 FCN의 skip connection보다 더 강력한 방법이다. 더 정교한 sementic segmantiaon이 가능하다.
단순한 upSampling (bilinear interpolation에 의한 ) 및 후반부 layer의 convolution 를 합치는 방식이 아니다.
unpooling + deconvolution이다.
unPooling을 통해 가장 강한 activation 위치를 정확하게 복원하여, 더 특화된 픽셀을 얻을 수있고,
Deconvol을 통해 개체의 class에 특화된 구조를 얻게 된다.
그러나 떄로는 좋지못한 결과도 내므로.. 뭐가 절대적인 방법이라고 할 수는 없다고 한다.
'IT > Deep learning' 카테고리의 다른 글
Moving average and Moving variance (0) | 2021.03.18 |
---|---|
DL - Convolutional Neural Network (0) | 2017.06.29 |
DL - Deep Neural Network (0) | 2017.06.29 |
DL - Neural Net (0) | 2017.06.29 |
Test22222 (0) | 2014.04.16 |