Blog posts are provided in Korean only.
Contents
이미지 속 객체에 바운딩 박스(Bounding Box)를 그려 위치를 찾고 따라가는 객체 인식(Object Detection)은 영상처리와 컴퓨터 비전에서 가장 기본적이면서도 널리 쓰이는 기술입니다. 실시간 응용 프로그램에서 특히 중요하기 때문에 빠른 속도와 높은 정확도가 함께 요구됩니다. 이 분야를 대표하는 모델이 바로 YOLO 알고리즘입니다.
(이미지 출처: velog)
YOLO 알고리즘이란
YOLO(You Only Look Once)는 실시간 객체 탐지를 위한 딥러닝 알고리즘입니다. 이름 그대로 이미지를 한 번만 보고 바로 객체를 검출하며, 탐지 과정 전체를 단일 신경망으로 처리해 속도가 매우 빠릅니다.
YOLO 이전의 딥러닝 모델은 이미지를 여러 번에 걸쳐 확인했기 때문에 한 장을 처리하는 데도 시간이 오래 걸렸고, 실시간 검출에는 쓰기 어려웠습니다. YOLO는 한 번의 처리로 객체 탐지를 끝내기 때문에 동영상처럼 실시간 인식이 필요한 환경에서도 활용할 수 있습니다.
YOLO의 세 가지 특징
- 단일 신경망 구조: 객체 분류와 경계 상자 예측을 하나의 신경망에서 동시에 수행
- 실시간 처리 속도: 기존 객체 탐지 알고리즘보다 훨씬 빠르게 탐지
- 높은 정확도: 다양한 객체와 환경에서 고르게 높은 검출 성능
(이미지 출처: AI DEV 인공지능 모임)
그리드와 앵커 박스로 이해하는 YOLO의 원리
YOLO는 먼저 원본 이미지를 같은 크기의 그리드(grid)로 나눕니다. 각 그리드에서는 그리드 중앙을 기준으로 미리 정의된 형태의 경계 박스, 즉 앵커 박스(Anchor Box)를 예측하고 신뢰도를 계산합니다. 이 과정에서 해당 영역에 객체가 있는지, 배경만 있는지도 함께 판단합니다.
앵커 박스는 크기와 형태가 서로 다른 객체를 탐지할 수 있도록 설계돼 있습니다. 모델은 앵커 박스와 함께 신뢰도 점수를 예측하는데, 이 점수는 박스 안에 객체가 있을 가능성과 예측한 박스가 정확한지에 대한 확신을 나타냅니다. 각 앵커 박스는 5가지 예측값으로 구성되며, 셀에 객체가 없으면 신뢰도 점수는 0이 됩니다.
예를 들어 앵커가 세 개로 나뉘었다면, 알고리즘은 각 앵커와 비슷한 크기의 객체를 찾아 붉은색 박스 안의 객체가 사람인지 자전거인지 판단합니다. 최종 예측은 앵커의 위치와 크기 등 여러 요인으로 결정됩니다.
(이미지 출처: LOTIS)
YOLO는 어디에 쓰일까
빠른 속도와 높은 정확도 덕분에 YOLO는 여러 산업에서 활용되고 있습니다. 물류 소포 분류, 지능형 교통 제어, 건설 현장 안전 관리, 농작물 분류와 병충해 감지, 자율주행 로봇, 병원 등 보안 시설의 보안 감지까지, 객체의 종류와 위치, 개수를 확인해야 하는 거의 모든 곳에 쓰입니다.
산업 현장에 딥러닝 모델을 적용하려면 프론트엔드에서 빠르게 처리하고, 탐지한 객체 정보를 데이터베이스에 저장해 활용할 수 있어야 합니다. 실시간으로 정보를 제공하는 YOLO는 빠른 의사결정이 필요한 비즈니스 환경에서 특히 선호됩니다.
아스트라고 허브에서 바로 쓰는 YOLO
YOLO 모델은 아스트라고(AstraGo)의 허브 지원 목록에서 확인할 수 있습니다. 워크로드를 생성할 때 Hub 지원 이미지 목록에서 SOTA 모델인 YOLOv8과 YOLOv5를 선택할 수 있습니다. 실시간 객체 탐지 성능은 물론, 시각 지능 모델도 빠르고 정확하게 학습시킬 수 있습니다.
YOLO와 자주 비교되는 R-CNN은 이미지에서 객체가 있을 만한 영역을 먼저 찾은 뒤 컨볼루션 넷으로 특징을 추출하는 등 여러 단계를 거칩니다. YOLO는 이 과정을 단순화했습니다. 아스트라고에서 지원하는 YOLOv5는 초당 82~158프레임(FPS)으로 객체를 탐지하며, R-CNN보다 5배 이상 빠른 처리 속도를 보입니다.
한 번의 Forward Pass로 모든 객체를 탐지하고 실시간으로 정보를 제공하는 YOLO, 아스트라고에서 직접 경험해 보세요.
- YOLO
- 객체인식
- 객체탐지
- Object Detection
- 딥러닝
- 컴퓨터비전
- 앵커박스
- YOLOv5
- YOLOv8
- 아스트라고