동영상에서 행동을 식별하는 동작 인식 기술을 탐구하세요. 자세 추정용 Ultralytics 활용법을 배우고 행동 인식(HAR) 작업을 위한 스마트 AI 시스템을 구축하세요.
동작 인식(Action Recognition)은 일반적으로 인간 활동 인식(HAR)으로도 알려져 있으며, 컴퓨터 비전(CV) 의 역동적인 하위 분야로 비디오 데이터 내 피사체가 수행하는 특정 행동이나 움직임을 식별하고 분류하는 것을 다룹니다. 전통적인 객체 탐지가 "이미지에 무엇이 있는가?"라는 질문에 답하는 반면, 동작 인식은 "시간에 따라 무슨 일이 일어나고 있는가?"라는 더 복잡한 질문을 다룹니다. 정적 이미지 대신 프레임 시퀀스를 분석함으로써 머신 러닝(ML) 모델은 "걷기", "자전거 타기", "넘어지기", "악수하기"와 같은 복잡한 활동을 구분할 수 있어, 인간의 의도와 맥락을 이해하는 지능형 시스템 구축에 핵심적인 요소로 작용합니다.
행동을 인식하려면 공간 정보(물체나 사람의 외관)와 시간 정보(시간에 따른 움직임)를 모두 처리할 수 있는 모델이 필요합니다. 이를 달성하기 위해 현대 인공지능(AI) 시스템은 표준 컨볼루션 신경망(CNN)을 넘어선 특수화된 아키텍처를 종종 활용합니다.
인간의 움직임을 자동으로 해석하는 능력은 다양한 산업 분야에서 혁신적인 잠재력을 지니며, 안전성, 효율성 및 사용자 경험을 향상시킵니다.
일반적인 워크플로는 먼저 사람과 그 골격 자세를 감지한 후 해당 관절의 움직임을 분석하는 방식으로 진행됩니다. Ultralytics 모델은 초기 자세 추정 단계에서 최첨단 속도와 정확도를 제공하며, 이는 많은 동작 인식 파이프라인의 기반이 됩니다.
다음 예제는 Python 사용하여 비디오 프레임에서 스켈레탈 키포인트를 추출하는 방법을 보여줍니다:
from ultralytics import YOLO
# Load the YOLO26 pose estimation model
model = YOLO("yolo26n-pose.pt")
# Run inference on an image to detect person keypoints
results = model("https://ultralytics.com/images/bus.jpg")
# Process results
for result in results:
# Access the keypoints (x, y, visibility)
if result.keypoints is not None:
print(f"Detected keypoints shape: {result.keypoints.data.shape}")
동작 인식과 유사한 컴퓨터 비전 작업을 구분하는 것은 올바른 방법이 적용되도록 보장하기 위해 중요합니다.
강력한 동작 인식 모델 개발은 특히 Kinetics-400이나 UCF101과 같은 대규모 주석 처리된 영상 데이터 세트의 필요성과 관련해 어려움을 제기합니다. 영상 데이터에 라벨을 부여하는 작업은 정적 이미지에 라벨을 부여하는 것보다 훨씬 더 많은 시간이 소요됩니다. 이를 해결하기 위해 Ultralytics 같은 도구는 주석 작업 및 훈련 워크플로우를 간소화하는 데 도움을 줍니다.
또한 계산 효율성은 매우 중요합니다. 고해상도 영상을 실시간으로 처리하려면 상당한 하드웨어 자원이 필요합니다. 업계는 지연 시간과 대역폭 사용량을 줄이기 위해 카메라와 모바일 기기에서 직접 실행되도록 모델을 최적화하는 엣지 AI로 점점 더 이동하고 있습니다. 향후 발전은 모델의 일반화 능력을 향상시켜 시스템이 명시적으로 훈련되지 않은 시점에서조차 행동을 인식할 수 있도록 하는 것을 목표로 합니다.