Bounding Box
바운딩 박스는 이미지에서 객체가 위치한 곳을 표시하는 사각형입니다. xyxy, xywh 및 YOLO 형식, 레이블링, 회전 박스와 3D 박스를 다룹니다.
바운딩 박스는 이미지나 비디오 프레임에서 객체를 둘러싸는 가장 작은 축 정렬 사각형으로, 네 개의 숫자로 표현됩니다. 바운딩 박스는 객체 탐지의 출력 단위입니다. 탐지기는 객체마다 박스 하나와 클래스 레이블, 신뢰도 점수를 반환하며, 어노테이터는 동일한 박스를 그려 학습 데이터로 모델을 학습시킵니다. 박스는 객체의 모양을 따라 그리지 않고 객체의 위치와 대략적인 크기를 나타내므로, 레이블링하기 쉽고 예측 비용도 적게 듭니다.
좌표 형식#
이미지 좌표는 왼쪽 위 모서리에서 시작하며, x는 오른쪽으로 갈수록 증가하고 y는 아래쪽으로 갈수록 증가합니다. 모든 박스 형식은 숫자 네 개를 저장하지만, 데이터셋과 라이브러리마다 어떤 네 개의 숫자를 사용하는지가 다릅니다. 형식을 혼동하면 모든 박스의 위치가 조용히 이동하거나 크기가 늘어나거나 줄어듭니다.
- 모서리(xyxy): 왼쪽 위 모서리(x1, y1)와 오른쪽 아래 모서리(x2, y2)를 픽셀 단위로 나타냅니다. PASCAL VOC 어노테이션과 대부분의 그리기 및 IoU 함수에서 이 형식을 사용합니다.
- COCO 형식: 왼쪽 위 모서리 다음에 너비와 높이를 픽셀 단위로 나타냅니다. [x, y, width, height] 형식입니다.
- YOLO 형식: 박스 중심 다음에 너비와 높이를 나타내며, 각각 이미지 너비 또는 높이로 나누므로 모든 값이 0과 1 사이에 놓입니다. YOLO26 같은 Ultralytics YOLO 모델은 이미지마다 텍스트 파일 하나를 사용하고 객체마다 한 행을 기록해 학습합니다. 각 행에는 클래스 인덱스 다음으로 x_center, y_center, width, height가 들어갑니다.
정규화된 좌표는 크기 조정 후에도 유지됩니다. 박스가 이미지 크기에 대한 비율로 저장되므로 레이블을 다시 작성하지 않고도 이미지를 어떤 학습 해상도로든 조정할 수 있습니다.
from ultralytics import YOLO
# 사전 학습된 YOLO26 nano 탐지기 로드
model = YOLO("yolo26n.pt")
# 객체를 탐지하고 첫 번째 이미지에서 박스를 가져옵니다
results = model("https://ultralytics.com/images/bus.jpg")
boxes = results[0].boxes
# 네 가지 형식으로 나타낸 동일한 첫 번째 박스
print(boxes.xyxy[0]) # 픽셀 단위 모서리 좌표
print(boxes.xywh[0]) # 픽셀 단위 중심, 너비, 높이
print(boxes.xyxyn[0]) # 이미지 너비와 높이로 나눈 모서리 좌표
print(boxes.xywhn[0]) # YOLO 레이블처럼 이미지 크기로 나눈 중심과 크기네 줄 모두 하나의 사각형을 나타냅니다. 정규화된 버전은 픽셀 값을 이미지 크기인 810 × 1080으로 나누며, xywh은 박스 중심을 기준으로 측정하므로 COCO의 왼쪽 위 기준 xywh와 다릅니다.
탐지기는 박스를 어떻게 예측하나요?#
탐지기는 이미지의 여러 위치에서 회귀 출력으로 박스를 예측합니다. 초기 설계에서는 고정된 크기와 종횡비를 가진 미리 정의된 앵커 박스를 기준으로 오프셋을 예측했으며, 앵커 프리 탐지기는 그리드 지점에서 네 박스 모서리까지의 거리를 직접 예측합니다. 학습 중에는 손실 함수를 사용해 예측 박스와 레이블 박스를 교집합 대 합집합(IoU) 기반으로 비교합니다. 인접 위치에서 동일한 객체에 대해 겹치는 박스를 예측하므로 비최대 억제(NMS)를 통해 추론 과정에서 중복 박스를 제거합니다.
바운딩 박스 레이블링#
탐지기는 레이블이 그려진 방식대로 박스를 그리는 법을 학습하므로, 데이터 어노테이션 지침이 박스의 품질을 좌우합니다. 좋은 지침은 각 객체의 눈에 보이는 경계에 맞닿는 박스를 그리도록 하고, 레이블이 없는 객체를 모델이 배경으로 학습하기 때문에 모든 클래스의 모든 인스턴스에 레이블을 지정하도록 요구합니다. 또한 가려지거나 잘린 객체에 대해 보이는 부분만 박스로 지정하는 등의 일관된 규칙을 정해야 합니다. 예측은 레이블 박스와의 IoU로 점수를 매기므로 평가에도 동일한 규칙이 적용됩니다.
바운딩 박스와 다른 영역 유형 비교#
- 회전 바운딩 박스(OBB): 다섯 번째 값인 회전 각도를 사용해 박스를 회전시킵니다. 따라서 항공 이미지에 있는 선박이나 차량처럼 기울어진 객체를 둘러쌀 때 내부에 포함되는 배경을 크게 줄일 수 있습니다.
- 인스턴스 세그멘테이션: 객체마다 정확한 형태를 윤곽으로 나타내는 픽셀 단위 마스크입니다.
- 키포인트: 포즈 추정에 사용하는 신체 관절과 같은 개별 랜드마크 지점입니다.
- 3D 바운딩 박스: 실제 공간의 직육면체로, 일반적으로 중심(x, y, z), 미터 단위 길이·너비·높이, 방향 각도를 나타내는 일곱 개의 숫자로 표현됩니다.










