Introduction
현재 개체 탐지 시스템은 경계 상자의 가설을 세우고, 각 상자에 대한 픽셀 또는 특징을 다시 샘플링하고, 고품질 분류기를 적용하는 파이프라인을 사용하는 한계가 있습니다. 이러한 접근 방식은 정확하지만 계산 집약적이어서 실시간 애플리케이션에 비해 속도가 너무 느립니다.
본 논문에서는 경계 상자 제안(bounding box proposals)과 후속 픽셀(subsequent pixel)또는 기능 재샘플링 단계(feature resampling stages)를 제거하여 높은 정확도를 유지하면서 탐지 속도를 크게 향상시키는 새로운 심층 네트워크 기반 객체 탐지기인 SSD를 제안합니다. 제안된 프레임워크는 VOC2007 테스트에서 mAP 74.3%로 59 FPS의 탐지 속도를 달성하여 Faster R-CNN 및 YOLO를 능가합니다.
프레임워크의 개선 사항에는 작은 컨볼루션 필터를 사용하여 경계 상자 위치에서 객체 범주와 오프셋을 예측하고, 다른 종횡비 탐지에 대해 별도의 예측 변수를 사용하고, 이러한 필터를 여러 기능 맵에 적용하여 여러 척도로 탐지를 수행하는 것이 포함됩니다. 결과 시스템은 탐지 정확도를 63.4%에서 74.3%로 향상시키며, 이는 잔류 네트워크에 대한 최근 작업보다 탐지 정확도가 상대적으로 크게 향상되었습니다.
The Single Shot Detector (SSD)
SSD는 입력 이미지와 실제 상자를 사용하여 모델을 교육한 다음 이미지의 다른 위치에서 크기와 모양이 다른 작은 기본 상자 집합을 평가합니다. 각 기본 상자에 대해 모형은 모든 객체 범주의 모양과 신뢰 수준을 예측합니다. 이 프레임워크에는 현지화 손실과 신뢰 손실의 가중 합계가 있습니다. SSD는 객체 제안을 필요로 하지 않기 때문에 정확도가 높고 다른 방법보다 빠릅니다. 이 프레임워크는 여러 데이터 세트에서 테스트되었으며 표준 객체 감지 벤치마크에서 경쟁력 있는 성능을 달성했습니다.
Model
SSD 모델은 객체 클래스 인스턴스에 대한 고정 크기의 경계 상자 세트와 관련 점수를 생성하는 피드포워드 컨볼루션 신경망으로 구성되며, 최종 탐지를 생성하기 위한 non-maximum suppression 단계가 뒤따릅니다. 이 모델에는 세 가지 주요 구성 요소가 있습니다.
Multi-scale feature maps for detection: truncated 기본 네트워크의 끝에 컨볼루션 피처 레이어를 추가하여 여러 척도로 탐지를 예측할 수 있습니다. 이러한 계층은 크기가 점진적으로 감소하고 여러 척도에서 탐지를 예측할 수 있습니다. 탐지를 예측하기 위한 컨볼루션 모델은 각 기능 계층마다 다르므로 여러 척도로 탐지할 수 있습니다.
Convolutional predictors for detection: 추가된 각 피쳐 레이어는 컨볼루션 필터 세트를 사용하여 고정된 탐지 예측 세트를 생성할 수 있습니다. p 채널이 있는 m x n 크기의 피처 레이어의 경우, 잠재적 검출 매개 변수를 예측하기 위한 기본 요소는 기본 상자 좌표에 상대적인 범주 또는 형상 오프셋을 생성하는 3 x 3 x p 작은 커널입니다. 커널이 적용되는 각 mxn 위치에서 출력 값을 생성합니다. 경계 상자 오프셋 출력 값은 각 형상 지도 위치를 기준으로 기본 상자 위치를 기준으로 측정됩니다.
Default boxes and aspect ratios: 네트워크 맨 위에 있는 여러 피쳐 맵에 대해 기본 경계 상자 집합을 각 피쳐 맵 셀과 연결합니다. 기본 상자는 해당 셀에 대한 각 상자의 위치가 고정되도록 형상 맵을 컨볼루션 방식으로 타일링합니다. 각 피쳐 맵 셀에서 모델은 셀의 기본 상자 모양에 상대적인 오프셋과 각 상자에 클래스 인스턴스가 있음을 나타내는 클래스당 점수를 예측합니다. 기본 상자는 고속 R-CNN에 사용되는 앵커 상자와 유사하지만 해상도가 다른 여러 형상 맵에 적용됩니다.
Training
SSD 논문에서 저자들은 심층 신경망 아키텍처를 사용하고 레이블이 지정된 이미지 데이터 세트에서 이를 훈련시켜 이 목표를 달성합니다. 저자들은 모델을 훈련하기 위해 확률적 경사 하강법(SGD)을 사용합니다.
손실 함수를 계산하기 위해 작성자는 먼저 네트워크의 각 기능 맵에 대한 기본 상자 집합을 생성합니다. 이러한 기본 상자는 종횡비와 척도가 다르므로 모델이 다양한 모양과 크기의 개체를 탐지할 수 있습니다. 각 기본 상자에 대해 모델은 이미지의 각 객체에 대해 상자의 중심에서 실제 상자의 중심까지의 오프셋을 예측합니다. 또한 각 기본 상자에 대한 각 클래스의 신뢰 점수를 예측하여 상자에 해당 클래스의 개체가 포함될 가능성을 나타냅니다.
저자들은 두 가지 손실 함수를 사용하여 모델을 훈련합니다. 현지화 손실(localization loss)과 신뢰(confidence) 손실입니다. 현지화 손실은 예측 및 ground truth box 간의 차이를 측정합니다. 신뢰 손실은 예측 진실 클래스 점수와 ground truth class 점수 간의 차이를 측정합니다. 저자들은 이 두 손실의 가중 합계를 사용하여 총 손실을 계산합니다.
훈련 중에 저자는 데이터 세트에서 훈련 예제 배치를 무작위로 샘플링하고 이를 사용하여 손실 함수를 계산합니다. 그런 다음 네트워크 매개 변수와 관련하여 손실 그레이디언트를 역전파하고 SGD를 통해 매개 변수를 업데이트하는 데 사용합니다. 이 과정은 고정된 횟수의 반복에 대해 또는 수렴될 때까지 반복됩니다.
Experiments
여러 표준 데이터 세트에서 SSD 모델을 평가하고 그 성능을 다른 최첨단 객체 감지 시스템과 비교합니다. 결과는 SSD 모델이 높은 정확도를 달성하고 객체 제안이 필요한 다른 방법보다 훨씬 빠르다는 것을 보여줍니다. 이 모델은 속도와 정확성 면에서 Faster R-CNN 및 YOLO를 능가합니다.
요약하면, SSD 프레임워크는 객체 제안 및 기능 재샘플링 없이 이미지에서 객체 감지를 수행하는 딥 러닝 모델입니다. 이 모델은 다중 스케일 기능 맵이 있는 피드포워드 컨볼루션 신경망, 탐지를 위한 컨볼루션 예측기 및 다양한 종횡비를 가진 기본 상자를 사용하여 높은 정확도와 속도를 달성합니다. SSD 모델은 여러 데이터 세트에서 평가되었으며 표준 객체 감지 벤치마크에서 경쟁력 있는 성능을 달성했습니다.
'AI' 카테고리의 다른 글
Midjourney 프롬프트 시작하기: AI 이미지 생성 (0) | 2024.07.04 |
---|---|
Midjourney로 AI 이미지 생성하기: 초보자를 위한 단계별 가이드 (0) | 2024.07.03 |
PyTorch 모델을 ONNX으로 변환 (0) | 2023.03.31 |
쉽게 알아보는 머신러닝(ML) (0) | 2023.01.01 |
인공지능_딥러닝, 머신러닝 간단하게 총정리 (0) | 2023.01.01 |
댓글