Object Detection란:
- 객체 검출(Object Detection)은 이미지나 비디오 내에서 사람, 자동차, 동물 등 특정 객체를 찾아내고, 그 위치를 표시(보통 직사각형 바운딩 박스로)하는 작업
YOLO:
- YOLO (You Only Look Once)는 객체 검출 분야에서 널리 알려진 실시간 알고리즘
- YOLO는 “한 번만 보고 판단한다 (You Only Look Once)”는 뜻으로, 이미지 전체를 한 번에 처리하여 객체를 검출하는 모델
YOLO의 핵심 아이디어:
- 이미지 분할: 입력 이미지를
S×S 그리드로 나눕니다.
- 각 그리드 셀 역할: 각 셀은 그 영역에 객체의 중심이 존재한다면 해당 객체를 인식하고, 바운딩 박스와 - 클래스 확률을 예측합니다.
- 단일 신경망: 이미지 전체를 한 번에 네트워크에 입력하여 모든 객체의 위치와 종류를 동시에 예측합니다.
YOLO의 동작 방식 (단순화)
- 입력 이미지를
CNN(합성곱 신경망)에 넣습니다.
- 특징 추출:
CNN은 이미지의 특징을 추출해 고수준 표현을 만듭니다.
- 그리드 예측: 마지막 출력층은
S×S 그리드 셀별로 여러 개의 예측을 수행합니다.
각 셀은 여러 개의 바운딩 박스 후보와 그 박스에 대한 신뢰도(confidence), 그리고 객체가 어떤 클래스에 속하는지 예측합니다.
- 결과 처리: 모든 셀의 예측을 모아서, 높은 신뢰도를 가진 바운딩 박스들을 추리고, 겹치는 박스들을 제거(
NMS: Non-Maximum Suppression)하여 최종 객체 검출 결과를 얻습니다.
YOLO의 장점
- 속도: 전체 이미지를 한 번에 처리하기 때문에 매우 빠릅니다. 실시간 객체 검출에 적합합니다.
- 전체 문맥 이해: 이미지 전체를 보고 예측하기 때문에, 주변 환경(context)을 고려한 객체 인식이 가능합니다.
YOLO의 단점
- 작은 객체 검출 어려움: 그리드 셀 크기 제한 때문에 작은 객체나 근접한 객체의 구별이 어려울 수 있습니다.
- 정확도: 일부 상황에서 두 단계 접근 방식(two-stage)인
Faster R-CNN보다 정확도가 떨어질 수 있습니다.