1. motivation
semantic segmentation에서는 서로 다른 물체더라도 같은 class로 구분하는 한계가 있었다
최근에는 이런 서로 다른 물체도 구분하는 instance segmentation, panoptic segmentation 등이 등장했다

어떻게 가능할까? 서로 다른 물체를 구분하기 위해 필요한 기술이 object detection이라는 object를 탐지하는 기술이다
단순한 semantic segmentation보다 더욱 구체적으로 이미지를 인식하게 도와준다.
2. object detection이란?
classification과 bounding box를 동시에 추정하는 문제
구체적으로 이미지 내 특정 object를 bounding box로 위치를 특정하고
해당 박스내 물체의 category까지 분류해야한다.
3. bounding box는 어떻게 찾을까?
대표적으로 좌측 상단(top left) 점 1개와 우측 하단(bottom right) 점 1개로 유일하게 사각형을 결정시킨다
혹은 둘 중 점 1개와 높이(h), 너비(w)를 이용하여 결정시키기도 한다

4개의 bounding box 위치 결정 모수와 class 분류 모수로 5개를 추정
당연히 단순 class 분류보다는 더욱 고난이도
4. 어디에 사용할 수 있을까?
무인자동차에서 주변 물체를 탐지하는데 사용할 수 있다

object detection은 이렇게 산업가치가 커서 주목받고 있는 기술이다
OCR에서 특정 글자를 인식하는데 사용할 수 있다.

5. gradient based object detection
image내에서 개별 pixel들의 변화율을 계산한 pixel gradient는 경계선을 탐지하는데 중요하다
왜냐하면 object의 경계선 안밖에서는 pixel값이 급격하게 변할 것이기 때문이다
경계선 특징을 잘 모델링하면 물체의 detection을 잘 할 수 있을 것
이미지 내 경계선 별 특징을 뽑고 SVM으로 관심물체인지 판별하는 알고리즘이 Histogram of Oriented Gradient
방법이 복잡한데 요약해서 기술하면 이미지를 구역별로 나누고
거기서 edge를 검출하는 kernel로 edge 검출해서
다음으로 gradient 변화를 이용한 orientation map을 계산해서
이것을 한줄로 이어붙이면 histogram of oriented gradient가 되는데
이 과정을 구역별로 이동하면서 다 구해서 concat 후에 SVM에 넣어서 object detection을 한다고 한다

(a)는 경계선을 파악하는데 gradient가 중요하다는 것을 보여줌
(e)는 경계선별 특징을 파악한 분포인데 이것을 linear classifier에 넣어서 가중치를 학습하고
가중치를 visualization해보면 positive로 구분되는 것은 (f)로 사람형태
negative로 구분되는 것은 (g)로 형태를 알수없다
6. selective search
object detection을 위해서는 물체를 특정하는 bounding box를 구할 필요가 있는데 이것을 수행하는 box proposal 알고리즘이다
사람이나 특정물체 뿐만아니라 다양한 물체 후보군에 대해서 영역을 제한해준다
먼저 초기 영역을 최대한 많이 지정해준다. 각각의 객체가 1개의 영역에 할당될 수 있도록 많은 영역을 지정한다
분할된 이웃 박스 영역들 간에 유사도를 계산하여 순간 순간에 최대한 비슷한 영역들끼리 합쳐준다(greedy 알고리즘)
유사도의 기준은 gradient 분포부터 색깔 등 다양하다
서로 엉켜있는 모든 박스들이 single region이 될때까지 반복한다

1번에서 초기 영역을 지정하고 2번처럼 유사도를 기준으로 통합하는 과정을 거치며
3번처럼 모든 엉켜있는 box들이 최대한 single region이 될때까지 계속 반복
여기서 중요한 점은 greedy 알고리즘으로 학습할 수 있는 neural net 알고리즘이 아니기 때문에 최적을 보장하는 것이 아니다
box를 구하는것 자체가 사실 object detection의 일부분이라고 생각할 수 있어서 초창기부터 꽤 많이 사용해옴
'딥러닝 > Computer Vision' 카테고리의 다른 글
R-CNN에서 가장 발전된 Faster R-CNN에 대하여 (0) | 2022.05.05 |
---|---|
object detection을 위한 R-CNN과 Fast R-CNN의 원리 (0) | 2022.05.05 |
fully convolutional network와 비슷했던 hypercolumn (0) | 2022.05.02 |
Fully convolutional layer에서 사용하는 layer fusion의 원리 (0) | 2022.04.28 |
fully convolutional network에서 Upsampling이란 무엇인가 + interpolation 기본 (0) | 2022.04.26 |