효과적으로 해상도(grid size)를 줄이는 방법
grid 크기를 줄이는 대표적인 방식은
stride를 1 이상으로 설정하거나
pooling을 사용하는 것이다.
먼저 pooling을 사용할 경우,
왼쪽의 경우(conv보다 pooling을 먼저 적용)
연산량 관점에서는 효율적이지만 pooling 을 거치면서 feature map에 숨어 있는 정보(representational concept)가 사라지는 반면,
오른쪽의 경우 (conv보다 pooling을 나중에 적용)
왼쪽에 비해 연산량이 4배가 많다.
이에 Szegedy는 다음 구조를 제시했다.
(Rethking the inception architecture for computer vision 논문)
기존 Inception 모듈의 최종 단에 stride 값을 1 이 아닌 2로 적용했다.
또한 convolution layer와 pooling layer를 나란히 두어,
feature map의 정보 유지 관점에서의 효율성과
연산량의 절감을 동시에 달성할 수 있게 된다.
CNN feature에 기반한 detection알고리즘인 R-CNN, SPPNet에 대하여 살펴보자
R-CNN(Regions with CNN features)
R-CNN 이전에 대부분의 object detection에 주로 사용되었던 방법은
영상 내에 존재하는 gradient 성분을 일정 블락으로 나누고
그 경향성을 이용하여 대상을 검출하는 방식인 SIFT, HOG에 기반한 알고리즘이다.
SPPNet(Spatial Pytamid Pooling in Deep Convolution Networks for Visual Recognition)
BoW(Bag of Words) 개념을 사용하여 특정 개체를 분류하는데 굵고 강한 특징에 의존하는 대신 작은 여러개의 특징을 사용하면 개체를 잘 구별할 수 잇다는 사실에 기반한 것.
'Computer Science > Image processing' 카테고리의 다른 글
pycham에서 cv2 라이브러리 설치 시 에러 (pip 버전 문제) (0) | 2020.02.26 |
---|---|
Morphology(모폴로지;형태학) - gray scale image (0) | 2015.09.15 |
Gaussian mixture model(2014. 06. 07.) (0) | 2015.07.29 |
Snake_Active Contour Models(ACM)(2014. 07. 25.) (0) | 2015.07.29 |
Kidney Anatomy (0) | 2015.07.29 |