영상인식

SSD(Single Shot Multibox Detector)란 무엇인가

728x90

Object Detection의 방법 중엔 SSD와 YOLO가 있다. 두 방식은 서로 엎치락 뒤치락 하며 계속해 발전해왔다.

 

 

두가지 Object Detection에 대해 설명하기 전, 공통으로 사용되는 개념인 IOU( Intersection over Union )에 대해 먼저 설명해야 하는데, IOU란 두 영역이 겹칠때, 얼마만큼이 겹쳐졌는지에 대한 값이다. 겹치는 부분이 많을수록 값은 커지며, 겹치는 부분이 적다면 값이 적어진다. ( 교집합의 개념이며, 0 ~ 1 로 나타냄 )
즉,  IOU = (두 영역의 교집합) / (두 영역의 합집합) 이다.

 

 

SSD란 Single Shot Multibox Detector의 약자로, 하나의 이미지데이터에 들어있는 여러 사물들을 찾는다.
즉, Input은 이미지 데이터( 학습한 이미지의 크기가 정해져 있으므로 모델에 돌리기 전 resize 필수 )이고,
Output은 분류하는 사물의 class와 class로 예측되는 점수, 그 사물의 위치( 중심점과 가로, 세로)를 나타낸다.

 

 

동작 방식

1. 모델에 입력된 이미지를 Convolution과 Pooling을 하면서 점점 작아지는 필터들을 만들어낸다.
2. 각각의 필터들로 어느 위치에서 어떤 물체를 인식하였는지에 대한 데이터들을 받아온다.
3. 출력된 데이터 중 어떤 데이터가 실제 물체를 인식했는지 확인하기 위해 IOU값을 사용한다. ( NMS알고리즘 사용) 주변의 데이터들과 비교했을 때 최대값인 데이터만 추출한다.

여러개의 필터에 의해 출력된 물체를 인식한 데이터들이 많이 나오는데 NMS방법으로 하나의 데이터만 가져온다.

 

 

 

 

 

 

 

참고 - tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/install.html

 

Installation — TensorFlow 2 Object Detection API tutorial documentation

Anaconda Python 3.7 (Optional) Although having Anaconda is not a requirement in order to install and use TensorFlow, I suggest doing so, due to it’s intuitive way of managing packages and setting up new virtual environments. Anaconda is a pretty useful t

tensorflow-object-detection-api-tutorial.readthedocs.io

 

728x90