CHƯƠNG I. TỔNG QUAN VỀ NHẬN DẠNG HÌNH TRẠNG NGƯỜI Nhận dạng hình trạng người là bài toán khá phổ biến và đã được nghiên cứu, áp dụng trong hàng thập kỷ nay. Có nhiều phương pháp để nhận dạng hình trạng người, căn cứ vào đặc trưng của các phương pháp ta có thể chia ra làm 3 nhóm chính sau: - Nhận dạng hình trạng người bằng các cảm biến vật lý: Phương pháp này sử dụng các cảm biến vật lý để gắn vào đối tượng cần nhận dạng, các tín hiệu gửi về từ cảm biến vật lý sẽ được phân tích để đưa ra hình trạng người [4]. Cảm biến vật lý được dùng có thể là cảm biến vận tốc, cảm biến gia tốc.
- Nhận dạng hình trạng người bằng các cảm biến hình ảnh: Cảm biến hình ảnh được dùng thông thường là các camera, dữ liệu thu được từ camera (ảnh hoặc video) sẽ được phân tích để đưa ra kết quả về hình trạng người. - Nhận dạng hình trạng người bằng cảm biến Kinect: Phương pháp nhận dạng này dựa trên các thông tin mà Kinect thu nhận được. Ngoài thông tin về ảnh màu, Kinect còn cung cấp thông tin về độ sâu ảnh và các khớp xương trên cơ thể người. Ta có thể dựa vào một hoặc kết hợp tất cả các dữ liệu từ Kinect để phục vụ việc nhận dạng hình trạng người.
Mỗi phương pháp trên đều có ưu, nhược điểm riêng. Phương pháp sử dụng cảm biến vật lý gắn vào đối tượng nhận dạng cho ra kết quả có độ chính xác cao và nhận dạng được các thay đổi nhỏ ít biểu hiện ra bên ngoài tuy nhiên phương pháp này khá tốn kém và chỉ áp dụng được trên từng đối tượng riêng rẽ. Phương pháp sử dụng cảm biến hình ảnh áp dụng đơn giản, chi phí thấp, có thể áp dụng chung được cho nhiều đối tượng nhưng độ chính xác không cao vì dễ bị nhiễu bởi môi trường. Phương pháp sử dụng Kinect có thể dùng camera hồng ngoại để giảm thiểu tác động của các đối tượng nhiễu và không phụ thuộc vào các điều kiện ảnh sáng, tuy nhiên một vài hình thái của cơ thể (như nằm chẳng hạn) camera hồng ngoại không cho thông tin khớp xương chính xác.
9 Trong khuôn khổ đề tài này, ta sẽ chỉ quan tâm các phương pháp nhận dạng hình trạng người từ cảm biến hình ảnh (ảnh màu từ camera) và từ Kinect. Nhận dạng hình trạng người từ camera màu Phương pháp này dựa vào một ảnh hoặc một chuỗi các ảnh thu nhận được từ camera để phân tích, đưa ra kết quả về hình trạng người, tiêu biểu gồm có: Nhận dạng hình trạng người dựa vào phương pháp phân phối hình chiếu, được đưa ra trong công trình nhiên cứu [3]. Trong nghiên cứu của mình, các tác giả đưa ra mô hình tập trung 4 hình thái cơ thể là đứng, nằm, cúi và nằm. Nội dung của phương pháp được thể hiện qua các bước sau: - Tách đối tượng ra khỏi nền bằng cách nhị phân hóa, khử nhiễu, dùng các phép hình thái học và phát hiện đối tượng.
- Mô hình hóa cơ thể dựa vào các hình bao xung quanh cơ thể. Mô hình hóa cơ thể dựa vào các đường bao theo [3] 10 - Ước lượng các hình thái cơ thể dựa vào các hình chiếu theo chiều ngang và dọc. Hình chiếu ngang và dọc của cơ thể theo [3] Hình 1. Hình chiếu của tương ứng với các hình thái của cơ thể theo [3] Tác giả đã thử nghiệm mô hình với một chuỗi video ngoài trời chứa 1075 khung hình của một người đàn ông, kết quả nhận dạng cho thấy độ chính xác lên tới 95%.
Tuy nhiên, độ chính xác của phương pháp này phụ thuộc phần lớn vào bước trích chọn đối tượng. Việc nhị phân hóa ảnh trong các điều kiện môi trường khác nhau để thu được đối tượng thường gặp nhiều khó khăn. Hơn nữa, khi các đối tượng cần nhận dạng có bóng, kết quả nhận dạng cũng sẽ không cao. 11 Nhận dạng hình trạng người sử dụng đặc trưng trị riêng và vector riêng [1].
Mục đích của tác giả là xây dựng mô hình nhận dạng cho tương tác và điều kiển robot với 7 hình thái thông dụng là: đứng, chỉ tay sang trái, chỉ tay sang phải, giang hai tay sang ngang, giơ tay trái lên cao, giơ tay phải lên cao và giơ cả hai tay lên cao. Các tác giả chia thuật toán nhận dạng ra làm 2 phần, phần đầu tác giả dùng bộ lọc hạt (Particle Filter) với giải thuật Condensation để phát hiện theo dõi người trong khung hình. Theo dõi người dựa trên bộ lọc hạt theo [1] Phần thứ hai, với mỗi người thu nhận được từ bước một, tác giả sử dụng phương pháp phân tích các thành phần chính (PCA) để giảm số chiều dữ liệu cho 7 lớp hình trạng và đưa ra kết quả nhận dạng dựa vào 12 vector riêng. Các hình trạng người được nhận dạng trong các điều kiện khác nhau [1] Kết quả thực nghiệm cho thấy, độ chính xác của phương pháp trung bình lên tới 95%.
Nhận dạng hình trạng người dựa vào đặc trưng SURF [6]. Trong nghiên cứu của mình, tác giả sử dụng các đặc trưng SURF kết hợp với phương pháp phân lớp SVM nhằm phân loại 4 hình thái của cơ thể là đứng, cúi, ngồi và nằm nhằm phục vụ việc phát hiện các hành vi bất thường trong các phòng bệnh nhân. Nhận dạng hình trạng người dựa vào các đực trưng SURF [6] Kết quả thực nghiệm cho thấy, phương pháp cho kết quả có độ chính xác tùy thuộc vào độ lớn của tập dữ liệu. Với bộ tập dữ liệu 512 mẫu, độ chính xác đạt được là 94.
Nhìn chung, các phương pháp nhận dạng hình trạng người dựa trên ảnh màu trong những điều kiện cụ thể cho kết quả khá khả quan. Tuy nhiên, độ chính xác của các phương pháp này phụ thuộc khá lớn vào chất lượng ảnh đầu vào, các điều kiện chiếu sáng và môi trường thực nghiệm. Nhận dạng hình trạng người từ Kinect Kinect là một thiết bị điện tử được cung cấp bởi Microsoft với ý định ban đầu nhằm phục vụ các máy trò chơi Xbox 360. Tuy nhiên, nhờ sự tiện lợi và chi phí vừa phải, Kinect ngày càng được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau như phát hiện hình trạng người, xây dựng mô hình 3D, xây dựng các bộ tương tác ảo … Hiện tại Microsoft cung cấp Kinect phiên bản 2.0 với cấu tạo cơ bản bao gồm: - Camera màu RGB: cung cấp ảnh (hoặc video) có độ phân giải tới 1920x1080 (pixel) và tốc độ tới 60 khung hình trên giây (60 fps) 14 - Cảm biến độ sâu 3D: bao gồm một bộ phát và một bộ thu sóng hồng ngoại, có khả năng cho ảnh hồng ngoại với độ phân giải 512x424 (pixel) - Hệ thống MIC: có khả năng thu nhận âm thanh từ mọi phía.
Cấu tạo của một Kinect phiên bản 2.0 Ngoài thiết bị, Microsoft còn cung cấp bộ SDK để làm việc với Kinect, từ các hàm có sẵn trong thư viện, người phát triển có thể dễ dàng tiếp cận các khung hình của camera màu, ảnh độ sâu 3D, đặc biệt SDK cung cấp thông tin hữu ích về tọa độ 3D của 25 khớp xương trên cơ thể người cũng như một số hình thái cơ bản của của cơ thể (trạng thái mở hoặc đóng của lòng bàn tay). Các khớp xương được cung cấp bởi Kinect phiên bản 2.0 Sau đây là một số công trình nghiên cứu tiêu biểu về nhận dạng hình trạng người từ Kinect. Phương pháp nhận dạng hình trạng người từ ảnh độ sâu của Kinect được tác giả Wen-June Wang và các đồng nghiệp đưa ra vào năm 2015 [9] nhằm nhận dạng 5 hình thái của cơ thể là đứng, cúi, ngồi, quỳ gối và nằm. Đầu tiên, tác giả trích chọn ra các đường bao của cơ thể qua các bước theo sơ đồ sau 16 Chụp ảnh nền Chụp ảnh chứa Thực hiện Bắt đầu người phép trừ nền Nhị phân hóa Thực hiện Thành phần ảnh phép giản nở kết nối Hình bao cơ thể người Hình 1.
Sơ đồ nhận dạng hình trạng người từ ảnh độ sâu của [9] Hình 1. Hình bao cơ thể thừ ảnh chiều sâu của Kinect theo [9] Hình bao của cơ thể sau đó được chiếu theo phương ngang để xác định xem cơ thể có ở hình thái quỳ hay không. Nếu không phải ở hình thái quỳ, kỹ thuật xương hình sao (star skeleton) sẽ được áp dụng cho toàn bộ hình bao của cơ thể để tìm ra các điểm đặc trưng của nó. Hình chiếu và trọng tâm của hình thái quỳ gối theo [9] Các điểm đặc trưng này cùng với các điểm trọng tâm của hình bao cơ thể và các điểm chiều sâu sẽ được đưa vào một mạng neuron Learning Vector Quantization (LVQ) để huấn luyện.
Kết quả huấn luyện sẽ được dùng để nhận dạng các hình thái cơ thể. Trong [5], các tác giả đề xuất phương pháp nhận dạng hình trạng dựa vào các khớp xương. Trong nghiên cứu của mình, các tác giả xây dựng mô hình nhận dạng dựa trên dữ liệu là các khớp xương mà Kinect cung cấp. Theo tác giả, các khớp xương có ảnh hưởng lớn tới việc nhận dạng hình thái của cơ thể bao gồm các khớp A, B, C, D, E, F, G, H, O và Q như hình vẽ dưới.
Các khớp xương quan trọng quyết định hình thái cơ thể Bằng mô hình SVM với dữ liệu đầu vào là tập các góc được tạo ra từ những khớp xương trên, các tác giả đã xây dựng thành công mô hình nhận dạng cho bốn hình thái của cơ thể là đứng, ngồi, cúi và nằm. Kết quả thực nghiệm phương pháp nhận dạng dựa trên các khớp xương [5] Trong [8], các tác giả xây dựng hệ thống dạy múa (dancing system) bằng cách sử dụng nhiều Kinect thu thập các khớp xương trên cơ thể của các chuyên gia múa, sau đó đồng bộ các khớp xương từ nhiều Kinect khác nhau rồi lưu vào cơ sở dữ liệu. Khi một người khác muốn học múa, Kinect sẽ thu thập các khớp xương của người này, đồng bộ dữ liệu sau đó so sánh với các chuyển động đã có trước đó của các chuyên gia múa. Đồng bộ dữ liệu từ nhiều Kinect cho việc dạy múa theo [8] 1.
Kết luận Trong phần trên, một vài các nghiên cứu về nhận dạng hình trạng người đã được trình bày một cách trực tiếp, ngắn ngọn. Mỗi một phương pháp nghiên cứu đều có những ưu và nhược điểm riêng. Các phương pháp dựa trên phân tích ảnh mầu thường đơn giản để thực hiện, tuy nhiên bị nhiễu khá lớn bởi các điều kiện ánh sáng và môi trường xung quanh.