안녕하세요!
사진 속 고양이와 자동차를 컴퓨터가 어떻게 구분하는지 궁금한 적이 있나요?
YOLO를 시작하기 전에는 이미지와 정답지가 어떤 모습인지 먼저 알아두는 편이 좋습니다.
YOLO는 무엇을 하는 도구일까?
YOLO는 사진이나 영상에서 물체를 찾아내는 인공지능 모델 계열입니다.
여기서 말하는 작업을 객체 탐지라고 합니다.
객체 탐지는 단순히 사진에 무엇이 있는지 맞히는 일보다 한 단계 더 많습니다.
무엇인지와 함께 사진의 어느 위치에 있는지도 찾아야 합니다.
예를 들어 고양이 사진 한 장을 생각해 보겠습니다.
이미지 분류는 ‘고양이 있음’이라고 답할 수 있지만, 객체 탐지는 고양이가 있는 네모 영역까지 답합니다.
YOLO라는 이름은 ‘You Only Look Once’의 약자입니다.
이름의 뜻보다 먼저, 컴퓨터가 사진을 숫자로 읽는 방식을 이해하는 것이 중요합니다.

사진은 컴퓨터에게 숫자 격자다
사람은 사진을 볼 때 사람, 나무, 길을 한꺼번에 인식합니다.
반면 컴퓨터는 처음부터 물체를 보는 것이 아니라 숫자 배열을 받습니다.
사진을 아주 작게 확대하면 색이 다른 작은 점들이 보입니다.
이 점 하나를 이미지 픽셀이라고 하며, 픽셀들이 모여 한 장의 사진이 됩니다.
가로 640개, 세로 480개의 점으로 된 사진이라면 크기는 640×480입니다.
이 사진에는 모두 307,200개의 위치가 있는 셈입니다.
컬러 사진의 각 픽셀은 보통 빨강, 초록, 파랑의 양으로 색을 표현합니다.
이를 RGB 값이라고 부르며, 흔히 각 색은 0부터 255 사이의 수로 저장됩니다.
예를 들어 빨강이 강한 점은 RGB가 255, 0, 0에 가까울 수 있습니다.
흰색에 가까운 점은 세 색 값이 모두 큰 편입니다.
모델은 이 숫자만 보고 색의 변화와 윤곽, 반복되는 모양을 찾습니다.
많은 예시를 학습하면서 바퀴 모양, 얼굴 윤곽 같은 특징을 구분하게 됩니다.
이미지 크기가 왜 중요할까?
픽셀이 많을수록 작은 물체의 세부 모습이 남을 가능성이 커집니다.
하지만 픽셀이 늘면 모델이 계산해야 할 숫자도 많아집니다.
그래서 YOLO 학습과 추론에서는 사진 크기를 일정한 크기로 바꾸는 일이 흔합니다.
이 과정을 리사이즈라고 하며, 원본 비율을 어떻게 다룰지도 결과에 영향을 줍니다.
가로로 긴 사진을 정사각형으로 억지로 늘리면 물체 모양이 찌그러질 수 있습니다.
빈 여백을 덧붙여 비율을 유지하는 방식도 자주 사용됩니다.
초보 단계에서는 숫자를 모두 외울 필요가 없습니다.
다만 모델이 보는 사진 크기와 정답 좌표의 기준이 함께 바뀔 수 있다는 점은 기억해 두세요.
바운딩 박스는 물체 위치를 나타내는 네모
객체 탐지의 정답에는 물체 이름만 적지 않습니다.
물체를 감싸는 직사각형인 바운딩 박스도 함께 표시합니다.
사진 속에 자전거가 있다면 자전거 전체가 들어오도록 네모를 그립니다.
이 네모는 자전거의 실제 윤곽을 따라가는 선이 아니라 가장 단순한 사각형 범위입니다.
일반적으로 사각형은 왼쪽 위 모서리와 오른쪽 아래 모서리로 표현할 수 있습니다.
또는 중심점의 위치와 가로 폭, 세로 높이로 표현할 수도 있습니다.
예를 들어 중심이 x=320, y=240이고 폭이 100, 높이가 80일 수 있습니다.
이 숫자는 이미지의 왼쪽 위를 기준점으로 삼는 좌표 방식에서 이해할 수 있습니다.
이미지 좌표는 보통 왼쪽 위가 0, 0입니다.
오른쪽으로 갈수록 x가 커지고, 아래로 갈수록 y가 커집니다.
YOLO 형식의 라벨은 흔히 중심 x, 중심 y, 폭, 높이를 이미지 크기로 나눈 값으로 저장합니다.
이를 정규화 좌표라고 하며, 값이 보통 0과 1 사이가 되도록 만든 방식입니다.
예를 들어 가로 640픽셀 사진에서 중심 x가 320이면 정규화한 x는 0.5입니다.
다만 사용하는 도구와 데이터셋에 따라 라벨 형식은 다를 수 있으니 규칙을 꼭 확인해야 합니다.
좋은 박스는 왜 중요한가?
박스가 물체보다 지나치게 작으면 일부를 놓친 정답이 됩니다.
반대로 배경을 너무 많이 포함하면 모델이 물체와 배경을 헷갈릴 수 있습니다.
한 장에 사람이 세 명이면 사람마다 박스도 세 개가 필요합니다.
같은 종류의 물체가 여러 개 있어도 각각 별도의 객체로 표시합니다.
물체가 다른 물체에 가려진 경우에는 데이터셋 규칙이 중요합니다.
보이는 부분만 감쌀지, 가려진 전체 크기를 추정할지는 프로젝트의 라벨링 기준에 따라 달라집니다.
클래스는 ‘무엇인가’를 알려주는 이름표
바운딩 박스가 위치를 알려준다면 클래스는 물체의 종류를 알려줍니다.
사람, 자동차, 강아지처럼 프로젝트에서 구분하려는 범주가 클래스입니다.
클래스는 사람이 이해하는 글자 이름과 내부에서 쓰는 번호를 함께 가질 수 있습니다.
예를 들어 0은 사람, 1은 자동차, 2는 자전거처럼 약속할 수 있습니다.
중요한 점은 번호 자체에 특별한 뜻이 없다는 것입니다.
학습 파일의 번호와 클래스 목록의 순서가 처음부터 끝까지 일치해야 합니다.
‘컵’과 ‘머그컵’을 다른 클래스로 나눌지 하나로 묶을지도 미리 정해야 합니다.
이 기준이 흔들리면 비슷한 사진에 서로 다른 정답이 붙게 됩니다.
처음에는 클래스 수를 너무 많이 늘리지 않는 편이 관리하기 쉽습니다.
실제로 구별해야 하는 목적을 먼저 정하고, 구분 기준을 문서로 남겨 두세요.
학습 데이터는 사진과 정답지의 묶음이다
모델은 사진만 많이 본다고 물체를 알아서 배우지 않습니다.
각 사진에 어떤 물체가 어디에 있는지 알려주는 정답이 필요합니다.
이 사진과 정답의 모음을 학습 데이터라고 합니다.
객체 탐지에서는 보통 이미지 파일과 라벨 파일이 짝을 이룹니다.
YOLO 라벨 파일의 한 줄은 보통 한 개 물체를 뜻합니다.
대표적인 형식은 ‘클래스 번호 중심x 중심y 폭 높이’ 순서입니다.
예를 들어 ‘1 0.5 0.5 0.25 0.4’라는 줄을 생각해 보세요.
클래스 1번 물체가 이미지 중앙에 있고, 폭과 높이가 정규화되어 기록된 예시입니다.
같은 사진에 자동차와 사람이 있으면 라벨 파일에는 두 줄 이상이 들어갑니다.
각 줄의 클래스 번호와 박스 좌표가 그 사진의 정답지를 구성합니다.
파일 이름을 맞추는 일도 매우 중요합니다.
예를 들어 car_001.jpg의 정답 파일은 보통 car_001.txt처럼 같은 이름으로 연결합니다.
학습용, 검증용, 테스트용은 왜 나눌까?
데이터는 흔히 학습용, 검증용, 테스트용으로 나눕니다.
학습용은 모델이 정답을 보며 배우는 자료입니다.
검증용은 학습 중 설정을 점검하는 데 사용합니다.
테스트용은 마지막에 처음 보는 자료에서 성능을 확인하는 데 씁니다.
같은 장면을 거의 똑같이 찍은 사진이 서로 다른 묶음에 섞이면 평가가 지나치게 좋아 보일 수 있습니다.
비슷한 연속 사진은 가능하면 같은 묶음에 두는 이유입니다.
좋은 학습 데이터에 가까워지는 방법
데이터 수량도 중요하지만, 실제 사용 환경을 얼마나 담았는지가 더 중요할 때가 많습니다.
실내와 실외, 밝은 곳과 어두운 곳, 가까운 물체와 먼 물체를 함께 고려하세요.
한쪽 방향에서 찍은 사진만 많으면 다른 각도에서 탐지가 약해질 수 있습니다.
배경, 크기, 가림 정도가 다양한 사례를 포함하는 편이 좋습니다.
특정 클래스의 사진만 지나치게 많아도 문제가 될 수 있습니다.
적은 클래스의 예시가 부족하면 그 물체를 충분히 배우기 어려울 수 있습니다.
무엇보다 라벨 오류를 줄여야 합니다.
잘못된 클래스 번호, 빠진 박스, 어긋난 박스는 모델에 잘못된 답을 가르치는 것과 같습니다.
라벨링이 끝난 뒤에는 박스를 이미지 위에 표시해 직접 확인해 보세요.
몇 장만 확인하지 말고, 클래스별로 여러 장을 무작위로 점검하는 것이 안전합니다.
5분 미니 연습: 사진 한 장을 정답지로 읽기
길을 건너는 사람과 자동차가 있는 사진 한 장을 떠올려 보세요.
먼저 사진 크기가 가로 몇 픽셀, 세로 몇 픽셀인지 확인합니다.
다음으로 사람과 자동차 각각에 바운딩 박스를 그린다고 생각해 보세요.
한 물체마다 클래스 하나와 박스 하나가 연결됩니다.
자동차 박스의 중심이 사진 가로의 절반 지점에 있다면 중심 x는 0.5로 정규화할 수 있습니다.
박스 폭이 사진 가로의 4분의 1이라면 폭은 0.25가 됩니다.
이렇게 사진을 숫자, 위치, 종류로 나누어 보면 라벨 형식이 덜 낯설어집니다.
YOLO 학습은 바로 이 정답들을 예측하도록 모델을 훈련하는 과정입니다.
핵심 정리
이미지 픽셀은 컴퓨터가 사진을 읽는 가장 작은 색 정보입니다.
모델은 픽셀 숫자들의 패턴에서 물체의 특징을 찾아냅니다.
객체 탐지는 물체의 종류와 위치를 함께 찾는 작업입니다.
클래스는 종류를, 바운딩 박스는 위치와 범위를 알려줍니다.
학습 데이터는 이미지와 정확한 라벨이 쌍을 이루는 자료입니다.
사진의 다양성, 일관된 클래스 기준, 정확한 박스가 모델 성능의 바탕이 됩니다.
다음 단계에서는 이런 정답을 바탕으로 YOLO가 예측 결과를 어떻게 만들고 비교하는지 살펴보면 좋습니다.
지금은 사진 한 장의 픽셀, 박스, 클래스, 라벨을 직접 읽을 수 있으면 충분합니다.
일부 이미지는 Pexels에서 제공되었습니다.
'공부' 카테고리의 다른 글
| AI 논문을 잘 읽는 방법: 연구 질문부터 Figure·Method까지 실전 순서 (0) | 2026.09.17 |
|---|---|
| YOLO를 공부하기 전에 알아야 할 상식과 기초 지식 2편: IoU부터 mAP와 NMS까지 (0) | 2026.09.17 |
| 객체 추적(Object Tracking) 알고리즘이란? 탐지부터 ID 유지까지 쉽게 이해하기 (0) | 2026.09.16 |
| 도커로 ROS 2가 동작하는 원리와 Cyclone DDS 네트워크 이해하기 (0) | 2026.09.14 |
| 온톨로지란? 철학부터 인공지능까지 쉽게 이해하기 (0) | 2026.09.13 |