Keypoints
키포인트가 AI에서 객체의 기하학적 구조와 자세를 정의하는 방법을 알아봅니다. Ultralytics YOLO26을 사용한 포즈 추정을 살펴보고 사용하기 쉬운 Python SDK로 시작해 보세요.
키포인트는 이미지 내에서 객체나 대상의 중요한 특징을 정의하는 뚜렷한 공간적 위치 또는 랜드마크입니다. 컴퓨터 비전과 머신 러닝의 맥락에서 키포인트는 일반적으로 객체의 특정 부분(예: 사람의 팔꿈치, 건물의 모서리 또는 자동차 바퀴의 중심)을 정확히 나타내는 좌표 집합(X, Y)으로 표현됩니다. 객체의 존재 여부만 식별하는 단순한 작업과 달리, 키포인트를 식별하면 인공지능 (AI) 모델이 대상의 기하학적 구조, 자세 및 구조적 배열을 이해할 수 있습니다. 이 기능은 고급 시각 분석의 핵심으로, 기계가 신체 언어를 해석하고 정밀한 움직임을 추적하며 디지털 오버레이를 실제 객체에 맞춰 정렬할 수 있도록 합니다.
AI 모델에서 키포인트의 역할#
키포인트는 사람이나 동물의 골격 구조를 매핑하는 기법인 자세 추정을 위한 기반 데이터입니다. 어깨, 무릎, 발목과 같이 사전에 정의된 일련의 포인트를 감지하면 알고리즘이 대상의 전체 자세를 실시간으로 재구성할 수 있습니다. 이 과정은 일반적인 객체 감지를 뛰어넘습니다. 객체 감지는 일반적으로 객체의 내부 형태를 이해하지 않고 객체 주위에 바운딩 박스를 출력합니다.
최신 아키텍처인 최첨단 Ultralytics YOLO26과 같은 모델은 이러한 키포인트를 높은 정확도와 속도로 예측하도록 발전했습니다. 이러한 모델은 COCO Keypoints와 같은 대규모 주석 데이터셋으로 학습된 딥러닝 (DL) 네트워크를 사용하여 관절 및 얼굴 특징과 관련된 시각적 패턴을 학습합니다. 추론 중에 모델은 각 키포인트의 좌표를 회귀하며, 예측의 신뢰도를 나타내는 confidence score를 함께 포함하는 경우가 많습니다.
키포인트와 관련 개념 비교#
키포인트의 고유한 활용도를 이해하려면 키포인트를 다른 일반적인 컴퓨터 비전 출력과 구분하는 것이 도움이 됩니다.
- 키포인트와 바운딩 박스 비교: 바운딩 박스는 객체 전체를 직사각형으로 둘러싸는 대략적인 위치 정보를 제공합니다. 키포인트는 해당 객체 내부의 특정 부분을 세밀하게 위치 지정합니다.
- 키포인트와 이미지 세그멘테이션 비교: 이미지 세그멘테이션은 모든 픽셀을 분류하여 객체 형태의 정밀한 마스크를 생성합니다. 세그멘테이션이 상세한 경계 정보를 제공하는 반면, 키포인트는 움직임과 키네마틱스를 분석할 때 더 효율적인 구조적 요약("스켈레톤")을 제공합니다.
- 키포인트와 특징 디스크립터 비교: SIFT (크기 불변 특징 변환)과 같은 전통적인 이미지 처리에서 키포인트는 이미지 매칭에 사용되는 관심 지점(코너, 블롭)입니다. 최신 DL 자세 추정에서는 키포인트가 네트워크가 학습한 의미론적 레이블(예: "왼쪽 손목")입니다.
실제 적용 사례#
특정 신체 부위나 객체 특징을 추적하는 기능은 다양한 산업 분야의 폭넓은 애플리케이션을 가능하게 합니다.
- 스포츠 분석: 코치와 선수는 생체역학을 분석하기 위해 자세 추정을 사용합니다. 관절의 키포인트를 추적하면 시스템이 각도와 속도를 계산하여 골프, 테니스 또는 단거리 달리기와 같은 스포츠의 기술을 향상할 수 있습니다. Ultralytics YOLO 모델이 골프 스윙을 추적하여 실행 가능한 피드백을 제공하는 방법을 확인해 보세요.
- 헬스케어 및 재활: 물리 치료 플랫폼은 키포인트를 활용하여 환자의 운동을 원격으로 모니터링합니다. 시스템은 환자가 재활 운동 중 올바른 자세를 유지하도록 하여 부상 위험을 줄이고 회복 진행 상황을 추적합니다.
- 증강 현실 (AR): 소셜 미디어 필터와 가상 착용 애플리케이션은 얼굴 키포인트(눈, 코, 입 윤곽)를 사용하여 디지털 마스크나 안경을 사용자의 얼굴에 안정적으로 고정하고, 사용자가 움직일 때도 정렬 상태를 유지합니다.
- 운전자 모니터링: 자동차 안전 시스템은 얼굴 랜드마크를 추적하여 졸음이나 주의 산만의 징후를 감지하고, 운전자의 눈이 감기거나 머리 위치가 주의력 부족을 나타내면 운전자에게 경고합니다.
Ultralytics YOLO26으로 키포인트 감지 구현하기#
Ultralytics Platform 또는 Python SDK를 사용하면 개발자가 키포인트 감지를 쉽게 구현할 수 있습니다. 다음 예제에서는 사전 학습된 YOLO26-pose 모델을 로드하고 이미지에서 추론을 실행하여 사람의 스켈레톤을 감지하는 방법을 보여 줍니다.
from ultralytics import YOLO
# Load a pre-trained YOLO26 pose estimation model
model = YOLO("yolo26n-pose.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Visualize the results showing detected keypoints and skeletons
for result in results:
result.show() # Display the image with keypoints drawn
# Access keypoint coordinates (x, y, confidence)
keypoints = result.keypoints.data
print(f"Detected keypoints shape: {keypoints.shape}")이 간단한 워크플로를 통해 정교한 컴퓨터 비전 (CV) 애플리케이션을 신속하게 배포할 수 있습니다. 산업 기계의 특정 포인트나 동물 종을 감지하는 등 자체적인 커스텀 키포인트 모델을 학습하려는 사용자의 경우, Ultralytics Platform이 클라우드에서 데이터 주석 처리와 모델 학습 과정을 간소화합니다.
고급 고려 사항#
키포인트 감지를 성공적으로 배포하려면 가림(신체 부위가 가려진 경우)과 다양한 조명 조건과 같은 문제를 처리해야 합니다. 최신 모델은 학습 중 강력한 데이터 증강을 통해 다양한 상황에 네트워크를 노출함으로써 이러한 문제를 해결합니다. 또한 키포인트를 객체 추적 알고리즘과 통합하면 비디오 스트림에서 시간에 따라 개인을 일관되게 식별할 수 있어 보안이나 행동 분석과 같은 애플리케이션에 필수적입니다.









