티스토리 뷰

[업데이트 2018.06.24 15:30]


열한번째 요약할 논문은 "Selective Search for Object Recognition"(http://www.huppelen.nl/publications/selectiveSearchDraft.pdf) 입니다. 본 논문은 Object Detection에서 입력된 이미지의 후보 영역을 추천할 때 사용 되었던 방법으로 R-CNN 등의 논문들이 탁월한 성능을 보여주면서 주목 받게 되었습니다. Abstract를 보면 2가지 방법을 조합하여 Selective Search를 수행합니다. 


1) Segmentation

2) Exhaustive Search


1번의 경우는 이미지 구조적 특징(색상, 무늬, 크기, 모양)을 사용하여 후보 영역을 추출하는 것을 말하며, 2번의 경우는 모든 가능한 후보 영역을 검색하는 것을 의미합니다. 


아래는 Selective Search에 대한 알고리즘인데, 간략히 어떤 로직으로 동작하는지 정리해보면 다음과 같습니다.


1. [13] Efficient Graph-Based Image Segmentation (Felzenszwalb 외)을 사용하여 초기 후보 영역을 아래의 그림과 같이 다양한 크기와 비율로 생성합니다.


2. 그리디 알고리즘을 통해 비슷한 영역을 반복적으로 통합합니다.

- 처음에 모든 영역에 대해 유사도를 계산하여 similarity set S를 생성합니다.

- S에서 가장 큰 유사도값을 가진 영역 ri, rj에 대해 통합합니다.

- ri, rj의 유사도 값은 S로부터 제거합니다.

- 통합된 새로운 영역(rt)과 인접한 영역들(its neighbours)에 대해 유사도(St)를 계산합니다.

- S와 R에 유사도(St)와 통합된 새로운 영역(rt)을 추가합니다.


아래와 같이 비슷한 영역간에 점점 통합이 되어갑니다.




3. 최종적으로 하나의 영역이 만들어질 때까지, 2번을 반복적으로 수행합니다.



아래의 그림에서 알 수 있듯이 주어진 원본 이미지로 부터 위의 Selective Search 알고리즘을 통해 점점 각 후보 영역들이 유사도가 높은 영역간에 통합이 되어감을 확인 할 수 있습니다. 


Selective Search의 경우 후보 영역 추출 과정이 CNN과 별도로 동작하기 때문에 보틀넥이 발생하는데(실시간 처리의 어려움 등), 그 이후 논문들(Faster R-CNN, YOLO, FCN 등)을 보면 CNN 아키텍쳐에 포함 및 적용되어 end-to-end 학습이 가능하도록 개선되었음을 알 수 있습니다. 따라서 향후 효율적인 후보 영역 추출의 기술 트렌드는 end-to-end 학습이 가능한 방향으로 가고 있는 것으로 보입니다.


아래는 YOLO의 CNN구조로 후보 영역 추출이 CNN 내부에서 이루어지고 있습니다.  (end-to-end 학습)



* 참고

[1] http://www.huppelen.nl/publications/selectiveSearchDraft.pdf

[2] https://m.blog.naver.com/laonple/220918802749

[3] https://lilianweng.github.io/lil-log/2017/10/29/object-recognition-for-dummies-part-1.html

[4] https://nhannguyen95.github.io/coursera-deep-learning-course-4-week-3/

[5] https://www.coursera.org/learn/convolutional-neural-networks/home/week/3

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함