Home
/
Deep Learning
Share
Deep Learning
YOLO
(Joseph Redmon, et al.)
는 One-stage detector의 대표로, 가장 보편적으로 활용된다고 해도 과언이 아닌 Object Detector입니다.
간단한 구조의 네트워크
와
독창적인 방법
으로 ‘높은 성능’과 ‘빠른 속도’ 두 목표를 한 번에 달성했습니다.
1. 간단한 구조의 네트워크, DarkNet
YOLO의
Backbone Network
는 독자적으로 구성한 DarkNet이라는 모델을 사용합니다. DarkNet 뒤로
Head Network
를 기대했지만 없다시피 합니다. 이 부분은 YOLO v1 모델의 특징 중 하나 입니다.
Backbone Network
는 이미지에서 Feature들을 추출하는 역할을 합니다. 이렇게 추출된 Feature들을 Feature map이라고 합니다. Image Classification에서 활용되는 Network들이 적용되는 경우가 많습니다.
Head Network
는 Backbone으로 부터 넘겨받은 Feature들을 이용해 피사체의 위치와 크기, 종류 등을 식별하는 역할을 합니다.
YOLO v1 Architecture
DarkNet은 VGGNet과 유사하게 Convolutional Layer가 단순히 나열되고, 끝 부분에서 Fully-Connected Layer를 거친 다음 3D Tensor로 출력됩니다. 매우 단순한 구조 덕분에 Backbone Network 교체가 비교적 수월한 편입니다.
2. YOLO의 독창적인 방법, 그리드(Grid)
Anchor
, Confidence등 R-CNN에서 부터 사용되던 유용한 이론들을 베이스로 YOLO는
그리드(Grid)
라는 새로운 이론을 함께 제시하고 있습니다. 사실
Grid
그 자체는 새로운 개념이 아니지만 YOLO에서는 기존에 존재하던
Grid
개념을 이용해 새로운 방법을 고안했습니다. 이 내용에 대해 설명하기 전
Anchor Box와 Grid를 사용하는 이유
에 대해 이해해야 합니다.
2-1. Anchor Box와 Grid를 사용하는 이유
좌표를 0~1로 표현한다면, 이미지 정중앙에 있는 피사체는 (
0.5
,
0.5
0.5, 0.5
0.5
,
0.5
)로 표현할 수 있습니다.
YOLO, You Only Look Once