Action Recognition
Khám phá cách nhận diện hành động (action recognition) xác định hành vi trong video. Học cách sử dụng Ultralytics YOLO26 cho ước tính tư thế và xây dựng các hệ thống AI thông minh cho các tác vụ HAR.
Nhận diện hành động (Action recognition), hay còn được gọi phổ biến là Nhận diện hoạt động của con người (HAR), là một lĩnh vực con động của computer vision (CV) liên quan đến việc xác định và phân loại các hành vi hoặc chuyển động cụ thể do các đối tượng thực hiện trong dữ liệu video. Trong khi object detection truyền thống trả lời cho câu hỏi "có gì trong ảnh?", thì nhận diện hành động giải quyết câu hỏi phức tạp hơn là "điều gì đang xảy ra theo thời gian?". Bằng cách phân tích các chuỗi khung hình thay vì các hình ảnh tĩnh, các mô hình machine learning (ML) có thể phân biệt giữa các hoạt động phức tạp như "đang đi bộ", "đang đạp xe", "đang ngã" hoặc "đang bắt tay", biến nó thành một thành phần quan trọng để xây dựng các hệ thống thông minh hiểu được ý định và bối cảnh của con người.
Các Khái niệm và Kỹ thuật Cốt lõi#
Việc nhận diện các hành động đòi hỏi một mô hình phải xử lý cả thông tin không gian (các đối tượng hoặc con người trông như thế nào) và thông tin thời gian (cách chúng di chuyển theo thời gian). Để đạt được điều này, các hệ thống artificial intelligence (AI) hiện đại thường sử dụng các kiến trúc chuyên biệt vượt qua các convolutional neural networks (CNNs) tiêu chuẩn.
- Pose Estimation: Một kỹ thuật mạnh mẽ trong đó mô hình theo dõi các keypoints cụ thể trên cơ thể con người, chẳng hạn như khuỷu tay, đầu gối và vai. Sự thay đổi hình học ở các keypoints này theo thời gian cung cấp một tín hiệu mạnh mẽ để phân loại các hành động, không bị ảnh hưởng bởi độ nhiễu của nền.
- Mô hình hóa thời gian (Temporal Modeling): Các thuật toán sử dụng các cấu trúc như Recurrent Neural Networks (RNNs) hoặc mạng Long Short-Term Memory (LSTM) để ghi nhớ các khung hình trước đó và dự đoán các hành động trong tương lai. Gần đây, Video Transformers đã trở nên phổ biến nhờ khả năng xử lý các sự phụ thuộc tầm xa trong các luồng video.
- Mạng hai luồng (Two-Stream Networks): Phương pháp này xử lý các đặc trưng không gian (khung hình RGB) và đặc trưng thời gian (thường sử dụng optical flow) trong các luồng song song, kết hợp dữ liệu để đưa ra phân loại cuối cùng.
Các ứng dụng trong thực tế#
Khả năng tự động diễn giải chuyển động của con người có tiềm năng mang tính thay đổi trong nhiều ngành công nghiệp, nâng cao tính an toàn, hiệu quả và trải nghiệm người dùng.
- AI in Healthcare: Nhận diện hành động đóng vai trò rất quan trọng đối với các hệ thống giám sát bệnh nhân. Ví dụ, nó cho phép phát hiện té ngã tự động trong các viện dưỡng lão, cảnh báo nhân viên ngay lập tức nếu một bệnh nhân ngã quỵ. Nó cũng được sử dụng trong remote physical rehabilitation, nơi các huấn luyện viên AI phân tích tư thế tập luyện của bệnh nhân để đảm bảo họ thực hiện các động tác chính xác và an toàn.
- Giám sát thông minh và Bảo mật (Smart Surveillance and Security): Ngoài việc phát hiện chuyển động đơn giản, các hệ thống bảo mật nâng cao sử dụng nhận diện hành động để xác định các hành vi đáng ngờ, chẳng hạn như ẩu đả, ăn cắp vặt hoặc trái phép đột nhập, đồng thời bỏ qua các hoạt động lành tính. Điều này làm giảm các cảnh báo sai và cải thiện real-time security monitoring.
Triển khai Phân tích hành động với Ultralytics#
Một quy trình phổ biến bao gồm việc phát hiện con người và tư thế xương của họ trước, sau đó phân tích chuyển động của các khớp đó. Mô hình Ultralytics YOLO26 cung cấp tốc độ và độ chính xác tiên tiến cho bước ước lượng tư thế ban đầu, đây là nền tảng cho nhiều đường ống nhận diện hành động.
Ví dụ sau đây minh họa cách trích xuất các điểm khóa khung xương từ một khung hình video bằng 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}")Phân biệt các thuật ngữ liên quan#
Điều quan trọng là phải phân biệt nhận diện hành động với các tác vụ thị giác máy tính tương tự để đảm bảo các phương pháp chính xác được áp dụng.
- Nhận diện hành động so với Object Tracking: Theo dõi đối tượng tập trung vào việc duy trì danh tính của một đối tượng hoặc người cụ thể khi họ di chuyển qua các khung hình (ví dụ: "Người A ở tọa độ X"). Nhận diện hành động diễn giải hành vi của đối tượng được theo dõi đó (ví dụ: "Người A đang chạy").
- Nhận diện hành động so với Video Understanding: Trong khi nhận diện hành động xác định các hành vi thể chất cụ thể, thì hiểu video là một khái niệm rộng hơn liên quan đến việc lĩnh hội toàn bộ câu chuyện, bối cảnh và các mối quan hệ nhân quả trong một cảnh quay video.
Thách Thức và Xu Hướng Tương Lai#
Việc phát triển các mô hình nhận diện hành động mạnh mẽ đặt ra nhiều thách thức, đặc biệt là nhu cầu về các video datasets lớn và có chú thích như Kinetics-400 hoặc UCF101. Gắn nhãn dữ liệu video tốn nhiều thời gian hơn đáng kể so với gắn nhãn hình ảnh tĩnh. Để giải quyết vấn đề này, các công cụ như Ultralytics Platform giúp hợp lý hóa quy trình chú thích và huấn luyện.
Hơn nữa, hiệu quả tính toán là điều tối quan trọng. Xử lý video độ phân giải cao trong thời gian thực đòi hỏi tài nguyên phần cứng lớn. Ngành công nghệ đang ngày càng chuyển dịch hướng tới Edge AI, tối ưu hóa các mô hình để chạy trực tiếp trên camera và các thiết bị di động nhằm giảm độ trễ và mức sử dụng băng thông. Các tiến bộ trong tương lai nhằm mục đích cải thiện model generalization, cho phép các hệ thống nhận diện hành động ngay cả từ các góc nhìn mà chúng chưa từng được huấn luyện rõ ràng trước đó.






