[Submitted on 8 Jun 2015 (v1), last revised 9 May 2016 (this version, v5)]
You Only Look Once: Unified, Real-Time Object Detection
0. 요약
0.1 소개
- 물체 검출을 위한 새로운 방법인 YOLO를 소개합니다. 이전의 물체 검출 연구에서는 분류기가 검출을 수행할 수 있도록 고쳤습니다.
- YOLO는 대신 물체 검출을 나눠진 바운딩 박스들과 이에 연관된 클래스 확률에 대한 회귀 문제로 만들었습니다.
- 하나의 신경망은 이미지로부터 바운딩 박스와 클래스 확률들을 예측하는데, 전체 검출 파이프라인이 하나의 신경망으로 이루어져 있으므로 end-to-end로 검출 성능을 최적화 시킬수가 있습니다.
0.2 속도
- 우리가 소개한 아키텍처는 매우 빠르며, YOLO 베이스 모델의 경우 초당 45프레임으로 실시간으로 이미지를 처리합니다.
- 더 작아진 신경망 버전인 Fast YOLO는 초당 155 프레임의 처리속도를 가졌을 뿐더러 다른 실시간 물체 검출기의 mAP의 두배에 달하는 성능을 유지하고 있습니다.
0.3 특징
- 최신 검출 시스템과 비교해서 YOLO는 더 많은 위치 추정 에러를 가지고 있기는 하나 배경을 거짓 긍정으로 예측하는 경우를 줄였습니다.
- 마지막으로 YOLO는 물체의 일반적인 표현들을 학습하여, 일반 자연스러운 이미지에서 미술품 같은 특정 도메인까지 DPM과 R-CNN과 같은 다른 방법보다 우수한 성능을 보이고 있습니다.
1. 소개
사람의 경우 이미지를 한번 보면 그 이미지에 있는 물체가 무엇이고, 어디에 있는지, 이들이 뭘하는지 한번에 알수 있습니다. 그래서 사람의 시각 시스템은 빠르고 정확하며 무의식적으로 복잡한 작업을 할수 있게 됩니다. 물체 검출을 위한 빠르고 정확한 알고리즘을 이용하면 컴퓨터가 특별한 센서 없이 차를 운전할수 있게 도우며, 사람에게 실시간 정보를 전달하거나, 더 범용적인 목적으로, 로봇 시스템 같은데 활용될 잠재력을 가지고 있습니다.
현재 검출 시스템은 분류기를 검출을 수행할수 있도록 수정한 것입니다. 물체를 검출하기 위해서 이러한 시스템들은 물체의 분류기가 테스트 이미지의 어느 장소에, 스케일이 있는지 추정해 냅니다. 변환 파츠 모델 Deformable Parts Model DPM같은 시스템은 슬라이딩 윈도우 방법으로 분류기를 이미지 전체 위치에다가 동작시켰습니다.
R-CNN같이 더 최근 방법의 경우 영역 제안 방법을 통해서 이미지의 첫번쨰 잠재 바운딩 박스들을 생성해내고, 주어진 바운딩 박스에다가 분류기를 동작시킵니다. 분류한 후에 후처리 과정을 통해 바운딩 박스의 위치를 고치고, 중복된 검출을 제거하고, 다시 박스에 다른 물체가 있는지 평가 합니다. 하지만 이런 복잡한 파이프라인은 각 요소들이 독립적으로 학습되어야 하다보니 느리고, 최적화하기가 어려운 문제가 있겠습니다.
우리는 물체 검출을 하나의 회귀 문제로 봄으로서, 이미지 픽셀들로부터 바로 바운딩 박스의 좌표와 클래스 확률을 구해냅니다. 이 시스템을 사용해서 여러분은 이미지를 한번만 봄으로서 어떤 물체가 있고, 어디에 위치하는지 예측할수가 있겠습니다.
YOLO는 단순합니다. 그림 1을 보면 한 합성곱 신경망이 동시에 바운딩 박스들과 클래스 확률들을 예측해 냅니다. 욜라는 전체 이미지를 학습하고, 검출 성능을 최적화 시킬수가 있어요. 이 통합된 모델은 기존의 물체 검출기들보다 다양한 이점을 가질수가 있습니다.
첫번째로, 우선 YOLO는 아주 빠릅니다. 검출을 회귀 문제로 만든 덕분에 복잡한 파이프 라인 필요없이 새로운 이미지를 신경망에다가 돌려서 검출 결과들을 예측하면 됩니다. 기본 신경망의 경우 Titan X GPU에서 배치 처리 없이 초당 45 프레임 속도로 동작하였으며, 빠른 버전의 경우 150 fps이상의 속도를 보였습니다. 이는 적어도 25ms 레이턴시 아래로 실시간으로 비디오 스트리밍을 처리할수 있겠습니다. 거기다가 YOLO는 다른 실시간 시스템보다 mAP가 2배 이상의 성능을 보이고 있습니다.
두번쨰는, YOLO는 예측 할때 전역적으로 추론합니다. 슬라이딩 윈도우나 영역 제안 기법과는 달리 YOLO는 훈련과 테스트 시 전체 이미지를 보고, 묵시적으로 클래스 뿐만 아니라 외형에 대한 상황적인 정보를 인코드 합니다. 최고의 검출 방법이라 할 수 있는 Fast R-CNN은 더 큰 상황을 볼수 없기 때문에 이미지에 존재하는 물체에 대해서 잘못된 배경 패치를 구할수 있습니다. 하지만 YOLO는 Fast R-CNN과 비교하여 절반정도 안되는 배경 오류를 구합니다
세번째는 YOLO는 물체의 일반화 시킨 표현들을 학습시킵니다. 자연스러운 이미지를 학습하고, 미술품으로 테스트시에 YOLO는 DPM이나 R-CNN같은 다른 방법들보다 큰 폭으로 높은 성능을 보입니다. YOLLO는 크게 일반화 할수 있기 때문에 새로운 분야나 예상치 못한 입력에도 오작동 할 가능성이 적겠습니다.
하지만 YOLO는 여전히 최신 검출 시스템들과 비교할떄 정확성 면에서 여전히 뒤떨어 지고 있습니다. YOLO는 이미지 상에 존재하는 물체들을 빠르게 식별할수 있지만 작은 물체들의 경우 힘들게 찾아냅니다. 이에 대해 실험을 통해 트레이드 오프를 조사해보았습니다.
우리의 훈련과 테스트 코드 전체는 오픈소스이며, 선학습된 모델 또한 다운받아서 사용할수 있습니다.
2. 통합된 검출 Unified Detection
본 논문에서는 물체 검출의 다양한 요소들을 하나의 신경망으로 합쳤습니다. 우리의 신경망은 이미지 전체로부터 얻은 특징들을 각 바운딩 박스를 예측하는데 사용하였고, 모든 바운딩 박스와 동시에 클래스를 예측해내었습니다. 즉, 우리가 제안한 신경망은 이미지 전체를 전역적으로, 모든 물체들을 추론해낸다고 할수 있겠습니다. YOLO 디자인은 end-to-end 학습이 가능하며, 높은 평균 정밀도를 유지하면서 실시간성을 가지고 있습니다.
이 시스템은 입력 이미지를 S x S 크기의 그리드로 분할 시킵니다. 물체의 중심이 그리드 셀에 있다면, 그 그리드 셀은 물체가 존재한다고 할수 있겠습니다.
각 그리드셀은 B개의 바운딩 박스와 이 박스들의 신뢰도 스코어를 예측해냅니다. 이 신뢰도 스코어는 모델이 얼마나 신뢰할수 있게 박스가 물체를 포함하고 있는지, 그리고 그 박스가 얼마나 정확하게 예측하고 있는지를 반영합니다. 일단 신뢰도를 Pr(Object) * IOU(truth_pred) 로 정의하면, 물체가 셀에 존재하지 않는 경우 신뢰도 스코어는 0이 되겠습니다. 하지만 우리는 신뢰도 스코어가 예측된 박스와 그라운드 트루스 박스 사이의 IOU와 동일하기를 원했습니다.
각 바운딩 박스는 5개의 예측치로 구성됩니다. x, y, w, h, 신뢰도. 여기서 (x, y)는 그리드 셀에서의 박스 중심점 위치를 나타내고, 폭과 높이는 전체 이미지에 대한 상대적인 예측 비율. 마지막으로 신뢰도 예측치는 예측 박스와 그라운드 트루스 박스 사이 IOU로 나타내겠습니다.
그리고 각 그리드 셀은 C개의 조건부 클래스 확률들 Pr(Class_i | Object)를 예측 합니다. 이 확률들은 그리드 셀이 한 물체를 포함하고 있을지를 조건으로 하고 있습니다. 박스의 개수 B에 상관없이 각 그리드셀마다 클래스 확률을 예측한다고 할수 있겠습니다.
테스트 시에 조건부 클래스 확률과 개 개별 박스 신뢰도 예측치를 곱하여 정리하면, 각 박스당 클래스 신뢰도 스코어를 얻을수 있게 됩니다.
이 스코어는 박스에 존재하는 클래스의 확률과 예측된 박스가 물체에 얼마나 적합한지를 인코드 합니다.
YOLO로 PASCAL VOC셋을 평가하기 위해서 S = 7, B = 2로 설정시, PASCAL VOC는 20개의 라벨 클래스를 가지고 있으므로, C = 20으로 하겠습니다. 그 결과 최종 예측은 7 x 7 x 30 텐서가 나오게 됩니다.
'그외 > 논문' 카테고리의 다른 글
Attention Is All You Need (0) | 2021.04.19 |
---|---|
Zero-Shot Text-to-Image Generation (0) | 2021.04.19 |
Generative Adversarial Networks (0) | 2021.04.18 |
Training Region-based Object Detectors with Online Hard Example Mining (0) | 2021.04.18 |
Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition (0) | 2021.04.18 |