개요
YOLO(You Only Look Once)는 실시간 객체 검출(Real-Time Object Detection) 분야를 혁신한 딥러닝 모델입니다. 기존의 객체 검출 방식들이 여러 단계를 거쳐 느리고 복잡했던 것과 달리, YOLO는 이미지 전체를 단 한 번의 신경망 연산으로 처리하여 압도적인 속도와 뛰어난 성능을 동시에 달성했습니다. 이는 자율 주행차, 지능형 CCTV, 드론 검사 등 실시간 응용 분야의 발전을 가속화하는 핵심 기술로 자리매김했습니다.
주제 개념
YOLO의 주제 개념은 통합 인식(Unified Detectoin) 입니다.
대부분의 긱존 객체 검출 모델(Two-Stage Detector 예 : R-CNN)은 객체가 있을만한 위치를 먼저 제안(Proposal)하고, 그 후에 분류(Classification)를 수행하는 두 단계 과정을 거쳤습니다. YOLO는 이 두과정을 하나의 컨볼루션 신경망(CNN) 파이프라인으로 통합하여, 입력 이미지를 받으면 위치 정보와 클래스 정보를 동시에 출력합니다.
용어 정리
- You(당신) : 이 문맥에서는 YOLO 모델을 사용하는 사용자 또는 시스템 자체를 의미
- Only(오직) : 단지, 오직 하나만을 의미하며, 이미지 분석 과정을 한 번만 수행한다는 점을 강조
- Look(보다) : 이미지를 분석하고 인식하는 행위를 의미
- Once(한 번) : 횟수를 의미하며 이미지 데이터를 신경망에 통과시키는 횟수가 단 한번이라는 것을 강조
| 용어 | 개념 설명 |
| 객체 검출(Object Detection) | 이미지 내에서 특정 객체(예 : 사람, 자동차)의 위치를 경계 상자(Bounding Box)로 표시하고 종류(Class)를 식별하는 컴퓨터 비전 기술 |
| 경계 상자(Bounding Box) | 이미지 속 객체의 위치와 크기를 나타내는 사각형 박스. 보통 중심 좌표(x,y), 너버(w), 높이(h)로 정의됩니다. |
| 단일 신경망(Single Neural Network) | 객체 제안(Proposal)과 분류(Classification)를 분리하지 않고, 전체 과정을 하나의 CNN 모델이 책임지는 구조입니다. (YOLO의 핵심) |
| 실시간(Real-Time) | 초당 처리할 수 있는 프레임 수(FPS)가 높아, 입력되는 비디오 스트림을 지연 없이 처리할 수 있는 속도를 의미합니다. |
| 비최대 억제(Non-Maximum Suppression, NMS) | 하나의 객체에 대해 여러 개의 중복된 경계 상자가 예측될 때, 가정 정확도가 높은 상자 하나만을 최종 결과로 선택하는 후처리 과정입니다. |
사용 사례 및 예시
| 사용 분야 | 적용 내용 | 예시 |
| 자율 주행차 | 도로 위 차량, 보행자, 신호등, 표지판 등을 실시간으로 감지하여 안전한 운행 경로를 판단합니다. | 주행 중 갑자기 도로에 뛰어든 보행자를 0.01초 내에 감지하여 제동 시스템에 신호를 보냅니다. |
| 지능형 CCTV | 특정 구역 내의 인원 수 카운트, 침입자 감지, 쓰러짐 등 위험 상황을 실시간으로 분석합니다. | 공장 작업장에서 안전모를 착용하지 않은 작업자를 즉시 식별하여 경고를 보냅니다. |
| 드론 검사 | 송전탑, 풍력 발전기, 교량 등의 구조물을 촬영하며 미세한 균열이나 손상 부위를 빠르게 검출합니다. | 드론이 비행하며 발전기 블레이드의 작은 손상을 실시간으로 찾아 기록합니다. |
이해를 위한 실생활 예시
YOLO를 이해하는 가장 좋은 실생활 비유는 능숙한 사람의 시야입니다.
기존 방식(R-CNN) : 책상 위의 물건(펜, 노트, 컵)을 찾을 때, 먼저 눈을 가늘게 뜨고 물건이 있을 법한 후보 영역을 여러번 제시한 다음, 그 영역을 하니씩 확대하여 이게 펜이 맞나 하고 판단하는 것과 같습니다.
YOLO 방식 : 책상 위를 단 한 번에 훑어보는 순간, 당신의 뇌는 여기 펜, 저기 노트, 옆에 컵 이라고 동시에 인식하는 것과 같습니다. 뇌는 물체의 위치와 종류를 한 번의 시각 처리로 즉시 파악합니다.
실제 작동 원리 및 예시
YOLO의 작동 원리는 이미지를 일련의 격자(Grid)로 나누고, 각 격자가 객체를 책임지도록 하는 것입니다.
- 입력 이미지 : 448 X 448 크기의 이미지를 입력으로 받습니다.
- 격자 분할(Gridding) : 이미지를 7 X 7 과 같이 S X S 크기의 격자로 나눕니다.
- 예측 수행(Prediction) : 각 격자 셀은 다음 정보를 포함하는 벡트를 출력합니다.
- 경계 상자 정보(B Box) : B개의 경계 상자(x,y,w,h)와 각 상자의 신뢰도 점수(Confidence Score)
- 크래스 정보(Classed) : C 개의 클래스에 대한 조건부 확률(C차원)
- 결과적으로 S X S X (B X 5 + C) 차원의 텐서(Tensor)가 출력됩니다.
- 최종 결과 도출 출력된 텐서에 NMS(비최대 억제)를 적용하여 중복된 상자를 제거하고 최종 객체 검출 결과를 도출합니다.
왜?
왜 사용하는가?
YOLO는 속도와 정확도의 균형(Speed-Accuracy Trade-off)이 매우 뛰어나기 때문에 사용합니다. 특히 실시간 처리가 필수적인 분야에서 다른 모델들보다 압도적인 성능을 제공합니다. 낮은 계산 자원으로도 높은 성능을 낼 수 있어 임베디드 시스템에서도 활용이 용이합니다.
왜 필요한가?
현대 AI 응용 프로그램은 지연없는 의사 결정을 요구합니다. 자율 주행차에서 객체 인식이 1초만 지연되어도 치명적인 사고로 이어질 수 있습니다. YOLO는 이러한 시간 민감성(Time-sensitive) 요구사항을 충족시키기 때문에 필수적입니다.
언제 사용하는가?
- 실시간 비디오 분석 : CCTV, 드론, 생산 라인 검사 등
- 임베디드 장치 : GPU 자원이 제한적인 소형 장치(엣지 디바이스)에서 객체 검출을 해야할 때
- 빠른 프로토타이핑 : 객체 검출 시스템을 빠르게 구현하고 테스트해야할 때
어떻게 사용할 것인가?
YOLO는 주로 파이토치(PyTorch)나 텐서플로우(TensorFlow)와 같은 딥러닝 프레임워크를 통해 구현되며, 미리 학습된(Pre-trained) 가중치를 사용하거나 사용자 정의 데이터셋으로 추가 학습(Fine-tuning)하여 사용합니다.
YOLO
YOLO의 등장은 객체 검출 패러다임을 2단계(Two-Stage)에서 1단계(One-Stage)로 전환시킨 기념비적인 사건입니다.
기존 2단계 모델이 정확도에 중점을 두었다면, YOLO는 속도와 효율성에 초점을 맞추면서도 준수한 정확도를 확보했습니다. 특히, YOLO는 객체를 검출할 때 이미지 전체를 보기 때문에, R-CNN 계열 모델이 저지르기 쉬운 배경 오인식(False Positive)을 줄이는 데 효과적입니다.
이러한 효율성 덕분에 YOLO는 연구실을 넘어 실제 산업 현장에 가장 많이 적용된 객체 검출 모델 중 하나로 평가받고 있습니다.
버전별 특징
| 버전 | 출시 연도 | 주요 특징 |
| YOLO v1 | 2016 | 최초 단일 신경망 기반 One-Stage Detector. 빠른 속도가 장점이나, 작은 객체 검출과 인접한 객체 검출에 취약함 |
| YOLO v3 | 2018 | Darknet-53 백본 네트워크 도입. FPN(Feature Pyramid Network) 개념을 도입하여 다양한 스케일의 객체 검출 능력이 향상됨. 객체 분류 손실 함수를 이진 교차 엔트로피(BCE)로 변경. 산업계에서 가장 널리 사용된 안정적인 버전 중 하나 |
| YOLO v5 | 2020 | PyTorch 기반으로 구현되어 사용 편의성이 대폭 향상됨. 다양한 모델 크기(s, m, l, x) 제공으로 자원 효율성을 높임. 빠른 학습 및 추론 속도를 보이며 인기를 얻음 |
| YOLO v8 | 2023 | Anchor-Free 구조 도입. 이전 버전보다 더 빠른 속도와 높은 정확도 제공. 객체 검출 외에도 세그멘테이션(Segmentation) 및 포즈 추정(Pose Estimation) 기능까지 통합하여 범용성이 극대화됨 |

'AI > 인공지능(CNN)' 카테고리의 다른 글
| [인공지능] 전이 학습(Transfer Learning) 완벽 가이드: CNN 기반 Fine-tuning 및 Feature Extraction 분석 (0) | 2025.10.31 |
|---|---|
| [인공지능] 잔차 신경망(ResNet)으로 기울기 소실 문제 해결 (0) | 2025.10.30 |
| [인공지능] 딥러닝 핵심 : CNN(Convolution Neural Network) (0) | 2025.10.28 |
| [인공지능] 인공 신경망(Artificial Neural Network, ANN) (0) | 2025.10.28 |
| [인공지능] XOR 문제를 넘어 : 비선형 데이터 분류를 위한 MLP 설계와 작동 원리 (0) | 2025.10.26 |