객체 탐지 알고리즘
YOLO (You Only Look Once):
(1) 실시간 객체 감지
(2) 단일 네트워크에서 모든 객체를 한 번에 감지
(3) 높은 처리 속도
(4) 객체 감지와 클래스 분류를 동시에 수행
(5) 다양한 크기의 객체에 대한 정확성이 상대적으로 떨어질 수 있음
->한 번에 사진 전체를 하나의 그리드로 분할하여 모든 그리드 셀에서 객체를 감지
빠른 처리 속도를 가지지만, 작은 객체에 대한 정확성이 상대적으로 떨어질 수 있음
객체의 경계 상자와 클래스 레이블을 한 번에 예측하여 실시간 객체 감지에 적합함
작은 객체보다 큰 객체에 대해서 상대적으로 우수한 결과를 보여줄 수 있음
SSD (Single Shot Multibox Detector):
(1) 실시간 객체 감지
(2) 다양한 크기의 객체를 한 번에 감지
(3) 다중 스케일 특징 맵 사용
(4) 객체 감지와 클래스 분류를 동시에 수행
(5) YOLO보다 더 정확한 성능
(6)작은 객체에 대한 정확성이 상대적으로 높음
(7)다양한 크기의 bounding box를 동시에 예측하여 정확한 객체 위치 추정 가능
-> 한 번에 사진 전체를 여러 다양한 스케일의 특징 맵으로 변환하여 객체를 감지
YOLO보다 더 정확한 결과를 제공하면서도 상대적으로 높은 처리 속도를 가짐
다양한 크기의 객체에 대한 정확성이 높고 작은 객체도 잘 감지할 수 있음
다중 스케일 특징 맵을 사용하여 객체 감지를 수행하므로 다양한 크기의 객체를 잘 처리함
구조
YOLO (You Only Look Once):
네트워크 아키텍처: Darknet (Darknet-53, Darknet-19 등)
레이어 구조: 주로 컨볼루션(Convolution) 레이어와 풀링(Pooling) 레이어로 구성
감지 방식: 하나의 이미지를 그리드로 나누고, 각 그리드 셀에 대해 bounding box와 클래스 확률을 예측하는 레이어로 구성
특징: 하나의 네트워크로 객체 감지와 클래스 분류를 동시에 처리하여 빠른 처리 속도를 가지지만, 작은 객체에 대한 정확성이 상대적으로 떨어질 수 있음
end to end의 모델 구조 : 객체검출의 전체과정을 하나의 통합된 모델로 처리하여 입력 이미지에서 바로 객체의 위치와 클래스를 예측
SSD (Single Shot Multibox Detector):
네트워크 아키텍처: VGG, ResNet, MobileNet 등 다양한 백본 네트워크 사용 가능
레이어 구조: 백본 네트워크에 추가적인 컨볼루션(Convolution) 레이어와 풀링(Pooling) 레이어, 그리고 객체 감지를 위한 여러 스케일의 특징 맵으로 구성
감지 방식: 다양한 스케일의 특징 맵으로부터 bounding box와 클래스 확률을 예측하여 객체를 감지하는 방식으로 구성
특징: 다양한 크기의 객체에 대한 정확성이 높고, 작은 객체도 잘 감지할 수 있는 특징이 있으며, 다중 스케일 특징 맵을 사용하여 정확하고 빠른 처리 속도를 유지함
end to end의 모델 구조 : 객체검출의 전체과정을 하나의 통합된 모델로 처리하여 입력 이미지에서 바로 객체의 위치와 클래스를 예측
객체 탐지 역사 : 시간날 때 하나씩 볼 것!
1 . RCNN : 높은 정확도 너무 오래걸리는 시간
https://arxiv.org/abs/1311.2524
- 등장배경: 기존의 객체 탐지 방법들은 객체 후보 영역을 선정하는 과정과 객체 분류를 위한 학습이 복잡하고 느려서 실시간 응용에 한계가 있었습니다. RCNN은 이러한 문제를 해결하기 위해 등장했습니다.
- 등장목적: 기존 방법들의 복잡한 객체 후보 영역 선정과 객체 분류 문제를 합치는 대신, 객체 후보 영역 선정과 객체 분류를 각각 분리하여 해결합니다. 객체 후보 영역 제안은 기존의 방법들을 이용하고, 객체 분류는 딥러닝(Convolutional Neural Networks)을 이용하여 수행합니다.
- 주요 특징:
- Selective Search 등의 기법을 사용하여 객체 후보 영역을 제안합니다.
- 각 객체 후보 영역을 독립적으로 추출하고 크기를 일정하게 조정합니다.
- CNN을 사용하여 추출한 객체 후보 영역에서 객체를 분류합니다.
- 후보 영역들의 크기를 동일하게 만들기 위해 RoI(Region of Interest) Pooling을 사용합니다.
- 객체 분류를 위해 softmax를 사용하여 다중 클래스를 분류합니다.
- 결과: 기존의 방법들보다 정확도가 향상되면서도 속도가 비교적 빠르며, 객체 탐지 분야에서 큰 성과를 거두었습니다. 하지만 속도 측면에서는 실시간 응용에는 아직 제약이 있었습니다.
2. SPP net : 실행 시간 단축
https://arxiv.org/abs/1406.4729
3. Fast R-CNN
https://arxiv.org/abs/1504.08083
4. Faster RCNN
https://arxiv.org/abs/1506.01497
single_stage 감지기
-한 단계로 물검 감지 작업 끝낸다
-예시 : YOLO, SSD
-속도가 빠른 대신 작은 물체 감지가 어렵고 바운딩박스 정확도 떨어짐
two_stage 감지기
- 물체감지 작업을 두단계(물체가 있을만한 후보영역ROI를 찾고나서, 두번째로 추출된 후보영역에 대해 물체의 위치와 클래스 예측)
- 예시 : Faster R-CNN, Mask R-CNN
- 좀 느린 대신 더 정확