Khám phá cách nhận diện hành động xác định các hành vi trong video. Tìm hiểu cách sử dụng Ultralytics YOLO26 được sử dụng để ước lượng tư thế và xây dựng các hệ thống AI thông minh cho các nhiệm vụ nhận dạng con người (HAR).
Nhận dạng hành động, thường được gọi là Nhận dạng Hoạt động Con người (HAR), là một lĩnh vực con năng động của thị giác máy tính (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ể được thực hiện bởi các đối tượng trong dữ liệu video. Trong khi phát hiện đối tượng truyền thống trả lời câu hỏi "có gì trong hình ảnh?", nhận dạng 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 chuỗi khung hình thay vì hình ảnh tĩnh, các mô hình học máy (ML) có thể phân biệt giữa các hoạt động phức tạp như "đi bộ", "đạp xe", "ngã" hoặc "bắt tay", khiến nó trở 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à ngữ cảnh của con người.
Nhận diện hành động đòi hỏi một mô hình có khả năng xử lý cả thông tin không gian (hình dạng của các vật thể hoặc con người) 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 trí tuệ nhân tạo (AI) hiện đại thường sử dụng các kiến trúc chuyên biệt vượt xa các mạng nơ-ron tích chập (CNN) tiêu chuẩn.
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 cách mạng trong nhiều ngành công nghiệp, giúp nâng cao an toàn, hiệu quả và trải nghiệm người dùng.
Một quy trình làm việc phổ biến bao gồm việc phát hiện người và tư thế khung 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 hàng đầu cho bước ước tính tư thế ban đầu, vốn là nền tảng cho nhiều quy trình nhận dạng hành động.
Ví dụ sau đây minh họa cách trích xuất các điểm mấu chốt của khung xương từ một khung hình video bằng cách sử dụ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}")
Việc phân biệt nhận dạng hành động với các nhiệm vụ thị giác máy tính tương tự là rất quan trọng để đảm bảo áp dụng đúng phương pháp.
Việc phát triển các mô hình nhận dạng hành động mạnh mẽ gặp nhiều thách thức, đặc biệt là về nhu cầu đối với các tập dữ liệu video lớn, được chú thích đầy đủ như Kinetics-400 hoặc UCF101. Việc gắn nhãn dữ liệu video tốn nhiều thời gian hơn đáng kể so với việc gắn nhãn hình ảnh tĩnh. Để giải quyết vấn đề này, các công cụ như Nền tảng Ultralytics giúp đơn giản 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à rất 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 đáng kể. Ngành công nghiệp đang ngày càng hướng tới AI biên (Edge AI) , tối ưu hóa các mô hình để chạy trực tiếp trên camera và thiết bị di động nhằm giảm độ trễ và mức sử dụng băng thông. Những tiến bộ trong tương lai hướng đến việc cải thiện khả năng khái quát hóa của mô hình , cho phép hệ thống nhận dạng hành động ngay cả từ những góc nhìn mà chúng không được huấn luyện một cách rõ ràng.