Action Recognition
액션 인식(Action Recognition)이 영상 내 행동을 식별하는 방법을 탐구해 보십시오. 포즈 추정을 위해 Ultralytics YOLO26을 사용하는 방법을 배우고, HAR 작업을 위한 스마트 AI 시스템을 구축해 보십시오.
Action recognition은 인간 행동 인식(HAR, Human Activity Recognition)이라고도 하며, 비디오 데이터에서 피사체가 수행하는 특정 행동이나 움직임을 식별하고 분류하는 computer vision (CV)의 역동적인 하위 분야입니다. 기존의 object detection이 "이미지에 무엇이 있는가?"라는 질문에 답한다면, action recognition은 "시간의 흐름에 따라 무엇이 일어나고 있는가?"라는 보다 복잡한 질문을 다룹니다. 정지 이미지가 아닌 프레임 시퀀스를 분석함으로써 machine learning (ML) 모델은 "걷기", "자전거 타기", "넘어짐", "악수하기"와 같은 복잡한 활동을 구분할 수 있으며, 이는 인간의 의도와 맥락을 이해하는 지능형 시스템을 구축하는 데 중요한 구성 요소가 됩니다.
Link to this section핵심 개념 및 기술#
행동을 인식하려면 모델이 공간 정보(객체나 사람의 외형)와 시간 정보(시간에 따라 어떻게 움직이는지)를 모두 처리해야 합니다. 이를 위해 현대의 artificial intelligence (AI) 시스템은 종종 표준 convolutional neural networks (CNNs)을 넘어선 특수 아키텍처를 채택합니다.
- Pose Estimation: 모델이 팔꿈치, 무릎, 어깨와 같은 인체의 특정 keypoints를 추적하는 강력한 기술입니다. 시간에 따른 이러한 keypoints의 기하학적 변화는 배경 잡음과 관계없이 행동을 분류하는 강력한 신호를 제공합니다.
- Temporal Modeling: 알고리즘은 Recurrent Neural Networks (RNNs) 또는 Long Short-Term Memory (LSTM) 네트워크와 같은 구조를 활용하여 이전 프레임을 기억하고 미래의 행동을 예측합니다. 최근에는 비디오 스트림의 장거리 의존성을 처리할 수 있는 능력으로 인해 Video Transformers가 인기를 얻고 있습니다.
- Two-Stream Networks: 이 접근 방식은 공간 특징(RGB 프레임)과 시간 특징(종종 optical flow 사용)을 병렬 스트림으로 처리하고 데이터를 융합하여 최종 분류를 수행합니다.
Link to this section실제 애플리케이션 사례#
인간의 움직임을 자동으로 해석하는 능력은 다양한 산업 전반에 걸쳐 혁신적인 잠재력을 지니고 있으며, 안전성, 효율성 및 사용자 경험을 향상시킵니다.
- AI in Healthcare: Action recognition은 환자 모니터링 시스템에 필수적입니다. 예를 들어, 요양원에서 자동 낙상 감지를 활성화하여 환자가 쓰러지면 즉시 직원에게 알립니다. 또한 AI 코치가 환자의 운동 자세를 분석하여 정확하고 안전하게 움직임을 수행하도록 돕는 remote physical rehabilitation 분야에서도 사용됩니다.
- Smart Surveillance and Security: 단순한 움직임 감지를 넘어, 고급 보안 시스템은 action recognition을 사용하여 싸움, 절도, 무단 침입과 같은 의심스러운 행동을 식별하고 사소한 활동은 무시합니다. 이는 오경보를 줄이고 real-time security monitoring을 향상시킵니다.
Link to this sectionUltralytics를 활용한 행동 분석 구현#
일반적인 워크플로우는 먼저 사람과 그들의 골격 포즈를 감지한 다음, 해당 관절의 움직임을 분석하는 것입니다. Ultralytics YOLO26 모델은 많은 action recognition 파이프라인의 기초가 되는 초기 포즈 추정 단계에서 최첨단 속도와 정확도를 제공합니다.
다음 예제는 Python을 사용하여 비디오 프레임에서 골격 keypoints를 추출하는 방법을 보여줍니다:
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}")Link to this section관련 용어 구분#
올바른 방법이 적용되도록 하려면 action recognition과 유사한 컴퓨터 비전 작업을 구별하는 것이 중요합니다.
- Action Recognition vs. Object Tracking: Object tracking은 특정 객체나 사람이 프레임 전체에서 이동할 때 그 정체성을 유지하는 데 중점을 둡니다(예: "사람 A가 좌표 X에 있음"). Action recognition은 추적된 피사체의 행동을 해석합니다(예: "사람 A가 달리고 있음").
- Action Recognition vs. Video Understanding: Action recognition은 특정 물리적 행위를 식별하는 반면, video understanding은 비디오 장면 내의 전체 서사, 맥락 및 인과 관계를 파악하는 더 광범위한 개념입니다.
Link to this section도전 과제 및 향후 트렌드#
Developing robust action recognition models presents challenges, particularly regarding the need for large, annotated video datasets like Kinetics-400 or UCF101. Labeling video data is significantly more time-consuming than labeling static images. To address this, tools like the Ultralytics Platform help streamline the annotation and training workflow.
또한 컴퓨팅 효율성이 매우 중요합니다. 고해상도 비디오를 실시간으로 처리하려면 상당한 하드웨어 리소스가 필요합니다. 업계는 지연 시간과 대역폭 사용을 줄이기 위해 카메라와 모바일 장치에서 모델이 직접 실행되도록 최적화하는 Edge AI 방향으로 점점 더 나아가고 있습니다. 미래의 발전은 model generalization을 개선하여, 명시적으로 학습되지 않은 시점에서도 시스템이 행동을 인식할 수 있도록 하는 것을 목표로 합니다.






