Điều khiển máy tính theo cử chỉ không phải là vấn đề mới, từ những năm 90 của thế kỷ 20, trong những bộ phim khoa học viễn tưởng con người đã tưởng tượng đến việc thao tác với máy tính m
Trang 1MỤC LỤC
LỜI CAM ĐOAN 4
LỜI NÓI ĐẦU 5
CHƯƠNG I : GIỚI THIỆU VẤN ĐỀ VÀ XÁC ĐỊNH NHIỆM VỤ 6
Tổng quan đề tài 6
Đặt vấn đề 6
Xác định nhiệm vụ và định hướng nghiên cứu 7
CHƯƠNG II : PHÂN TÍCH HỆ THỐNG 8
Mô tả hệ thống điều khiển máy tính theo cử chỉ bàn tay 8
Bài toán đặt ra 9
Bài toán phát hiện bàn tay 9
Bài toán theo dõi chuyển động bàn tay 10
Sơ đồ khối các khối hệ thống 11
Các thành phần của hệ thống 12
Module tiền xử lý 12
Module phát hiện bàn tay 12
Module theo dõi chuyển động bàn tay 13
Module điều khiển thiết bị máy tính 14
CHƯƠNG III: CÁC KỸ THUẬT PHÁT HIỆN CỬ CHỈ BÀN TAY 15
Các kỹ thuật phát hiện bàn tay 15
Phát hiện bàn tay sử dụng đặc trưng Haar-like 15
Phát hiện bàn tay sử dụng trích trọn đặc trưng PCA 18
Phát hiện bàn tay bằng cách sử dụng găng tay nhiều màu 19
Các kỹ thuật có theo dõi chuyển động 20
Theo dõi bàn tay sử dụng kỹ thuật phát hiện luồng quang học chuyển động (Optical Flow) 20
Theo dõi bàn tay sử dụng lọc hạt (Particle Filter) 21
Các kỹ thuật phụ trợ 22
Kỹ thuật biến đổi ảnh thông thường về dạng ảnh xám 22
Trang 2
Một số kết quả và tồn tại 26
Một số đề xuất kỹ thuật 28
Phát hiện màu da kết hợp khoanh vùng chuyển động (trừ nền) 28
Kỹ thuật loại bỏ những vùng không có khả năng chứa bàn tay 30
Kỹ thuật tìm điểm lồi lõm trên vùng bàn tay và ước lượng vị trí khả nghi có chứa bàn tay 31
Ước lượng vùng có thể chứa bàn tay có thể trên ảnh màu da 32
CHƯƠNG IV: XÂY DỰNG ỨNG DỤNG 33
Môi trường, thiết bị và các công cụ sử dụng 33
Hệ thống phần cứng 33
Nền tảng phần mềm 33
Cài đặt chương trình 33
Khối thu nhận dữ liệu từ camera 33
Khối xử lý hình ảnh cơ bản 34
Khối nhận dạng bàn tay 36
Khối theo dõi chuyển động bàn tay 37
Khối cấp lệnh điều khiển 37
Thử nghiệm chương trình 38
Kiểm tra hoạt động từng module 38
Kiểm tra hoạt động của toàn bộ chương trình 39
Thử nghiệm chương trình với các kịch bản thực tế 40
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 43
Kết luận 43
Hướng phát triển 43
TÀI LIỆU THAM KHẢO 44
Trang 3DANH MỤC BẢNG, HÌNH VẼ
Hình 1: Điều khiển máy tính bằng cử chỉ bàn tay 8
Hình 2: Hệ thống điều khiển máy tính bằng cử chỉ bàn tay 8
Hình 3: Bài toán phát hiện bàn tay 9
Hình 4: Bài toán theo dõi chuyển động 10
Hình 5: Sơ đồ khối hệ thống 11
Hình 6: Module phát hiện bàn tay 12
Hình 7: Module theo dõi chuyển động bàn tay 13
Hình 8 : Module điều khiển thiết bị máy tính 14
Hình 9: Các đặc trưng Haar-like cơ bản 15
Hình 10 : Quá trình phát hiện đối tượng sử dụng đặc trưng haar-like 16
Hình 11 : Phát hiện bàn tay sử dụng găng tay nhiều màu 19
Hình 12: Theo dõi bàn tay sử dụng thuật toán Optical Flow 20
Hình 13 : Theo dõi bàn tay sử dụng lọc hạt (Particle Filter) 21
Hình 14 : Mô tả tả thuật toán cắt ảnh 22
Hình 15 : Kỹ thuật trừ nền 24
Hình 16 :Phát hiện bàn tay sử dụng phân tách màu da 24
Hình 17 : Màu da trong không gian YCrCb 25
Hình 18 : Ảnh màu da bị nhiễu bởi yếu tố môi trường 28
Hình 19: Mô hình phát hiện màu da kết hợp phát hiện sự sai biệt 29
Hình 20: Tách màu da kết hợp phát hiện chuyển động 29
Hình 21 : Khoanh vùng màu da chứa bàn tay 30
Hình 22: Thuật toán loại bỏ vùng không có khả năng chứa bàn tay 31
Hình 23: Phát hiện vùng cực tiểu/cực đại địa phương 31
Hình 24: Ước đoán vị trí bàn tay 32
Hình 25 : Cài đặt khối nhận dữ liệu từ camera trên EmguCV 34
Hình 26 : Ảnh xử lý căn bản 34
Hình 27: Cài đặt khối xử lý hình ảnh cơ bản 35
Hình 28: Các ảnh mẫu bàn tay 36
Hình 29 : Phát hiện bàn tay 36
Hình 30 : Theo dõi chuyển động bàn tay 37
Hình 31: Theo dõi chuyển động bàn tay 39
Hình 32 :Thử nghiệm chương trình với trình duyệt ảnh 39
Hình 33 :Kịch bản điều khiển slide thuyết trình 40
Hình 34: Kịch bản sử dụng máy tính ở nơi có ánh sáng mạnh 41
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan đề tài nghiên cứu của tôi hoàn toàn do tôi tự làm dưới sự hướng dẫn củ a cô giáo PGS.TS Nguyễn Thị Hoàng Lan Những kết quả tìm hiểu và nghiên cứu trình bày trong luận văn là hoàn toàn trung thực và chưa từng được công bố trong
bất cứ công trình nào
Nếu xảy ra bất cứ điều không đúng như những lời cam đoan trên, tôi xin chịu hoàn toàn trách nhiệm trước Viện và Nhà trường
Ngày tháng 10 năm 2015
Tác giả luận văn
Trang 5LỜI NÓI ĐẦU
Tương tác người-máy hay giao tiếp người-máy là một phân ngành của công nghệ thông tin nghiên cứu về tương tác giữa người sử dụng và máy tính Đây là một bộ môn liên ngành giữa khoa học máy tính và các lĩnh vực khác Lĩnh vực tương tác máy tính đã phát triển từ rất lâu và có những công trình nghiên cứu rất công phu, kết quả thể hiện như giao diện người dùng của hệ điều hành Mac OSX, giao diện điều hành Windows
10 là những minh chứng rất rõ ràng Tuy nhiên, sự tương tác đó dựa trên các thiết bị nhập xuất chuẩn là chuột và bàn phím
Điều khiển máy tính theo cử chỉ là một lĩnh vực tương đối mới, nghiên cứu tương tác người-máy theo một cách mới và thú vị hơn – điều khiển theo cử chỉ cơ thể
Microsoft đã rất thành công với thiết bị Kinect được giới thiệu từ năm 2009, cho phép người dùng chơi game thông qua việc đứng trước thiết bị Kinect và điều khiển bằng cách cử động cơ thể như đầu, tay, chân… Điều này tạo nên sự thành công nổi bật của Microsoft: hơn 10 triệu thiết bị Kinect được bán ra chỉ sau gần 3 tháng Thiết bị Kinect
đã được giới thiệu vào năm 2012
Samsung và một số hãng sản xuất TV cũng đã nghiên cứu và cho ra đời hàng loạt thiết
bị smartTV sử dụng điều khiển theo cử chỉ Măc dù chưa thật sự thành công nhưng cũng đã mở ra những hướng nghiên cứu mới làm thay đổi tư duy và thói quen người dùng
Tuy nhiên, tương tác người-máy theo cử chỉ ứng dụng trên các thiết bị như robot, smartTV, các máy tính cá nhân vẫn là những lĩnh vực chưa thực sự hoàn thiện và cần nhiều nghiên cứu khác nữa để làm phong phú hơn lĩnh vực này
Xuất phát từ điều này, tôi quyết định lựa chọn đề tài “Phát hiện cử chỉ bàn tay ứng dụng trong điều khiển thiết bị từ xa” nhằm tham gia vào lĩnh vực này Mong muốn của
tôi là được nghiên cứu những kỹ thuật tiên tiến, và phát triển mở rộng cũng như sáng tạo ra các kỹ thuật khác nhằm đóng góp một phần làm cho lĩnh vực này trở nên phong phú và phát triển hiệu quả với những ứng dụng thực tiễn hơn nữa
Đề tài luận văn này là một phần trong dự án RemoteHand của công ty cổ phần công
nghệ FUT Hanoi Kết quả nghiên cứu của luận văn là một trong những đóng góp quan trọng cho dự án
Trang 6CHƯƠNG I : GIỚI THIỆU VẤN ĐỀ VÀ XÁC ĐỊNH NHIỆM VỤ
Tổng quan đề tài
Tương tác giữa người dùng và máy tính càng ngày càng trở nên đơn giản và phức tạp Đơn giản với người dùng và phức tạp đối với máy tính Hiện tại con người và máy tính không chỉ tương tác với nhau qua giao tiếp chuột bàn phím với màn hình Trên thế giới các công ty, tổ chức công nghệ đã nghiên cứu và đưa vào thực tế sử dụng các phương pháp giao tiếp giữa người với máy khác như phím bấm cảm ứng, giao tiếp thoại, cử chỉ,…
Điều khiển máy tính theo cử chỉ là một lĩnh vực tương đối mới, nghiên cứu tương tác người-máy theo một cách mới và thú vị hơn – Theo cử chỉ cơ thể
Các công ty lớn trên thế giới đã rất thành công với các thiết bị như Kinect của Microsoft, Xtion của Asus, The Leap của Leap Motion,…
Tuy nhiên, tương tác người-máy theo cử chỉ ứng dụng trên các thiết bị như Tivi thông minh, robot thông minh, các máy tính cá nhân vẫn là những lĩnh vực chưa thực sự hoàn thiện và cần nhiều nghiên cứu khác nữa để làm phong phú hơn lĩnh vực này[1] [2]
Xuất phát từ đó, tôi quyết định lựa chọn đề tài “Phát hiện cử chỉ bàn tay ứng dụng trong điều khiển thiết bị từ xa” Mong muốn của tôi là được nghiên cứu những
kỹ thuật tiên tiến trong lĩnh vực cảm quan máy tính – ứng dụng trong tương tác người-máy và phát triển một số kỹ thuật khác nhằm đóng góp một phần làm cho lĩnh vực này trở nên phong phú và phát triển hiệu quả với những ứng dụng thực tiễn hơn nữa
Đặt vấn đề
Việc điều khiển máy tính bằng bàn phím khá tiện dụng nhưng để thao tác người dùng phải sử dụng bàn phím có kích thước tương đối lớn và thừa thãi đối với những ứng dụng chỉ cần những thao tác đơn giản như thuyết trình, xem phim, nghe nhạc, giải trí Đôi khi những ứng dụng này cần sự tương tác trực quan hơn là việc bấm nút
Ví dụ trong trường hợp đứng thuyết trình trước đám đông sử dụng máy chiếu thường
Trang 7diễn giả phải đứng ở trung tâm sân khấu, việc điều khiển máy tính bằng bàn phím
là không thể thậm chí việc sử dụng 1 thiết bị cầm tay để điều khiển máy tính cũng khá là khó khăn trong khi thao tác sử dụng bàn phím của diễn giả lại vô cùng đơn giản chỉ là 2 thao tác cơ bản để chuyển trang trình chiếu Hay trong trường hợp khác,
sử dụng máy tính để xem phim trên màn hình lớn, các thao tác điều khiển chương trình cũng chỉ là Play, Pause, Stop, Rewind, Forward
Trong những trường hợp trên việc cầm theo một chiếc bàn phím 102 nút là khá thừa thãi trong khi thao tác của người dùng cần sự tương tác trực quan giống như việc thao tác với màn hình cảm ứng ở khoảng cách xa vậy
Điều khiển máy tính theo cử chỉ không phải là vấn đề mới, từ những năm 90 của thế
kỷ 20, trong những bộ phim khoa học viễn tưởng con người đã tưởng tượng đến việc thao tác với máy tính mà không cần các thiết bị như bàn phím hay chuột mà chỉ đơn giản bằng những cử chỉ đơn giản như vẩy tay, nháy mắt…
Với sự phát triển của công nghệ, ngày nay những câu chuyện viễn tưởng đó đã trở nên hoàn toàn khả thi Máy tính đã có thể nhận dạng và theo dõi được hầu hết các đối tượng xuất hiện trong khung hình camera Các thuật toán, các bộ thư viện thị giác máy tính đã tương đối hoàn thiện đảm bảo máy tính có thể làm được
Xác định nhiệm vụ và định hướng nghiên cứu
- Nghiên cứu xây dựng giải pháp điều khiển máy tính bằng cử chỉ bàn tay với một
số chức năng điều khiển - 4 thao tác cơ bản lên, xuống, sang trái, sang phải
- Tìm hiểu cơ chế phát hiện và nhận dạng đối tượng trên máy tính
- Tìm hiểu các mô hình hệ thống phát hiện, theo dõi đối tượng, các thuật toán và
các thư viện hỗ trợ
- Phân tích xây dựng hệ thống điều khiển máy tính theo cử chỉ bàn tay
- Thử nghiệm các kỹ thuật phát hiện cử chỉ bàn tay
Trang 8CHƯƠNG II : PHÂN TÍCH HỆ THỐNG
Mô tả hệ thống điều khiển máy tính theo cử chỉ bàn tay
Hình 1: Điều khiển máy tính bằng cử chỉ bàn tay
Điều khiển máy tính theo cử chỉ bàn tay là cách tương tác với máy tính mà ở đó người dùng sẽ thực hiện các hành vi điều khiển máy tính bằng cách sử dụng các cử chỉ bàn tay từ xa để ra lệnh cho máy tính
Máy tính sẽ theo dõi hành vi của người điều khiển thông qua các hình ảnh từ
camera, phát hiện và theo dõi các hành vi cử chỉ điều khiển để đưa ra hành động tương ứng
Hệ thống điều khiển máy tính theo cử chỉ bàn tay là hệ thống xử lý thu nhận hình ảnh từ camera qua máy tính xử lý và đưa ra tác vụ tương ứng
Hình 2: Hệ thống điều khiển máy tính bằng cử chỉ bàn tay
Hệ thống điều khiển máy tính theo cử chỉ bàn tay Đầu vào
Đầu ra
Trang 9Bài toán đặt ra
Đề tài nghiên cứu là sự kết hợp giữa 2 bài toán:
Bài toán 1: Phát hiện bàn tay
Bài toán 2: Theo dõi chuyển động bàn tay
Bài toán phát hiện bàn tay
Hình 3: Bài toán phát hiện bàn tay
Đầu vào: Chuỗi các khung hình (frame) được thu nhận từ các thiết bị ghi
hình như Camera, Webcam hoặc Video
Đầu ra: Xác định khung hình thu được từ các thiết bị ghi hình có xuất hiện bàn tay hay không?
Nếu có:
Kích thước của bàn tay là bao nhiêu?
Tọa độ tâm Kích thước Trạng thái bàn tay Hình ảnh không chứa bàn tay
Hình ảnh chứa bàn tay
Trang 10Bài toán theo dõi chuyển động bàn tay
Hình 4: Bài toán theo dõi chuyển động
Đầu vào: Chuỗi các khung hình (frame) được thu nhận từ các thiết bị
ghi hình như Camera, Webcam hoặc Video
Đầu ra: Chuỗi các hình chữ nhật bao quanh bàn tay xác định được từ
chuỗi hình ảnh đầu vào
Mỗi hình chữ nhật được xác định các thông số:
Kích thước hình chữ nhật
Toạ độ tâm Chuỗi các hình ảnh từ camera
Vết chuyển động
Trang 11Sơ đồ khối các khối hệ thống
Hình 5: Sơ đồ khối hệ thống
Qua sự tham khảo một số mô hình giải pháp phát hiện đối tượng và theo dõi đối tượng chuyển động [3] [4], tôi đã xây dựng hệ thống phát hiện cử chỉ bàn tay ứng dụng trong điều khiển thiết bị từ xa gồm 4 thành phần chính như sau:
▪ Module tiền xử lý
▪ Module phát hiện bàn tay
▪ Module theo dõi chuyển động bàn tay
▪ Module điều khiển thiết bị
Các khối này được chia ra tương ứng với các bài toán riêng biệt, mỗi module xử lý một chức năng riêng biệt và có thể hoạt động một cách độc lập
Trang 12Các thành phần của hệ thống
Module tiền xử lý
Đây là module làm nhiệm vụ lấy và chuẩn hóa dữ liệu đầu vào cho module phát hiện bàn tay và module theo dõi chuyển động
Đầu vào của module là dữ liệu hình ảnh thu trực tiếp từ camera
Đầu ra là dữ liệu hình ảnh đã qua xử lý cơ bản có thể hiển thị trực tiếp lên thiết bị màn hình
Module tiền xử lý có thể hoạt động như 1 chương trình hoàn chỉnh với chức năng thu hình ảnh và hiển thị ra màn hình
Module tiền xử lý giải quyết tất cả các vấn đề của bài toán kết nối phần cứng, xử lý tất
cả các vấn đề có liên quan đến hệ thống và khả năng giao tiếp với phần cứng
Module phát hiện bàn tay
Đây là module làm nhiệm vụ phát hiện bàn tay trong các hình ảnh mà camera đã thu và được module tiền xử lý chuẩn hóa
Đầu vào dữ liệu là một ảnh (có thể có hoặc không có bàn tay)
Đầu ra là dữ liệu về vị trí, kích thước của bàn tay (nếu có) trong khung hình
Hình 6: Module phát hiện bàn tay
Khối phát hiện bàn tay
Trang 13Module phát hiện giải quyết vấn đề của bài toán nhận dạng bàn tay Với mỗi hình ảnh được khối tiền xử lý thu thập, module này sẽ kiểm tra toàn bộ hình ảnh, sử dụng các thuật toán tìm kiếm phát hiện đối tượng để đưa ra tọa độ và kích thước của tay (nếu có) trong khung hình
Module theo dõi chuyển động bàn tay
Đây là module làm nhiệm vụ theo dõi đối tượng (là bàn tay) đã được xác định từ module phát hiện bàn tay và đưa ra các vị trí tiếp theo của đối tượng đó trong các khung hình tiếp theo
Đầu vào của module là dữ liệu hình ảnh bàn tay với các giá trị tọa độ tâm và kích thước
2 chiều
Đầu ra là dữ liệu tọa độ tâm và kích thước 2 chiều của đối tượng bàn tay ở các khung hình sau đó
Hình 7: Module theo dõi chuyển động bàn tay
Tọa độ kích thước ban tay ban đầu
Trang 14Module điều khiển thiết bị máy tính
Đây là module làm nhiệm vụ phát lệnh điều khiển máy tính tương ứng với cử chỉ bàn tay
Đầu vào là dữ liệu chứa các tọa độ và kích thước bàn tay trong một chuỗi các khung hình liên tiếp đã thu được trước đó
Đầu ra là lệnh điều khiển tương ứng với cử chỉ đã được phát hiện thông qua các định nghĩa điều khiển tương ứng
Hình 8 : Module điều khiển thiết bị máy tính
Lệnh điều khiển máy tính
Thông tin về vị trí và kích
thước bàn tay tại các thời điểm
Trang 15CHƯƠNG III: CÁC KỸ THUẬT PHÁT HIỆN CỬ CHỈ BÀN TAY
Các kỹ thuật phát hiện bàn tay
Phát hiện bàn tay sử dụng đặc trưng Haar-like
- Phát hiện đối tượng sử dụng đặc trưng Haar-like được Paul Viola và Jones công bố năm 2011[5][6]
- Ban đầu, Paul Viola và Jones nghiên cứu Haar-like phục vụ cho bài toán phát hiện mặt người, chỉ gồm 4 đặc trưng cơ bản để xác định Mỗi đặc
trưng Haar– like là sự kết hợp của hai hay ba hình chữ nhật “trắng” hay
“đen” như trong hình sau
Hình 9: Các đặc trưng Haar-like cơ bản
Về mặt bản chất, các đặc trưng haar-like còn có thể phát hiện được đối tượng bất
kỳ Chứ không chỉ dừng lại ở việc phát hiện phát hiện khuôn mặt hay bàn tay
- Tập dữ liệu mẫu: Là tập các bàn ảnh chứa vùng bàn tay
- Huấn luyện: Để sử dụng các đặc trưng này vào việc xác định khuôn
mặt người, 4 đặc trưng Haar-like cơ bản được mở rộng ra, và được chia làm 3 tập đặc trưng như sau:
• Đặc trưng cạnh (edge features):
Trang 16- Phát hiện đối tượng:
Hình 10 : Quá trình phát hiện đối tượng sử dụng đặc trưng haar-like
Hệ thống xác định vị trí bàn tay (như trong hình trên), từ ảnh gốc ban đầu, ta sẽ được tính Integral Image (ảnh chứa hàm f ), là mảng 2 chiều với phần tử (x, y) sẽ được tính bằng tổng của các phần tử (x', y') với x' < x và y' < y, mục đích là để tính nhanh tổng của các giá trị mức xám của một vùng hình chữ nhật bất kỳ trên ảnh gốc Các vùng ảnh con này sẽ được đưa qua các hàm Haar cơ bản để ước lượng đặc trưng, kết quả ước lượng sẽ được đưa qua bộ điều chỉnh AdaBoost để loại bỏ nhanh các đặc trưng không có khả năng là đặc trưng của khuôn mặt người Chỉ có một tập nhỏ các đặc trưng mà bộ điều chỉnh AdaBoost cho là có khả năng là đặc trưng của bàn tay mới được chuyển sang cho bộ quyết định kết quả
Bộ quyết định sẽ tổng hợp kết quả là bàn tay nếu kết quả của các bộ phân loại yếu trả về là bàn tay Mỗi bộ phân loại yếu sẽ quyết định kết quả cho một đặc trưng Haarlike, được xác định ngưỡng đủ nhỏ sao cho có thể vượt được tất cả các bộ dữ liệu mẫu trong tập dữ liệu huấn luyện (số lượng ảnh bàn tay trong tập huấn luyện có thể rất lớn)
Trong quá trình xác định bàn tay, mỗi vùng ảnh con sẽ được kiểm tra với các đặc trưng trong chuỗi các đặc trưng Haar-like, nếu có một đặc trưng Haar-like nào cho
ra kết quả là bàn tay thì các đặc trưng khác không cần xét nữa Thứ tự xét các đặc trưng trong chuỗi các đặc trưng Haar-like sẽ được dựa vào trọng số (weight) của đặc trưng đó do AdaBoost quyết định dựa vào số lần và thứ tự xuất hiện của các đặc trưng Haarlike.[7]
- Độ phức tạp của giải thuật huấn luyện:
Trang 17N ~ 10.000 Số tập mẫu huấn luyện
M ~ 4.000 – 6.000 Số phân loại yếu
T ~ 40.000 Số lượng các đặc trưng được sử dụng
- Ưu điểm
▪ Là phương pháp phát hiện đối tượng mạnh mẽ, hiệu quả
▪ Dễ hình dung tư tưởng
▪ Tương đối hoá hình ảnh về đối tượng
- Nhược điểm:
▪ Độ phức tạp huấn luyện rất cao
▪ Khó cài đặt
Ứng dụng: Sản phẩm phần mềm PointGrab đã ứng dụng Haar-like và xây
dựng thành công sản phẩm điều khiển máy tính từ xa theo 2 cử chỉ thông
dụng
Tình hình nghiên cứu: Kỹ thuật phát hiện bàn tay sử dụng đặc trưng Haarlike là kỹ
thuật rất phù hợp cho không chỉ bài toán phát hiện bàn tay, mà cho cả các bài toán phát hiện đối tượng Tuy nhiên, tồn tại duy nhất của kỹ thuật này chính là độ phức tạp huấn
luyện Nhược điểm này đã được Phạm Minh Trí ĐH Công nghệ Nanyang - Singapore
2007 cải thiện với việc sử dụng Fast Statboost thay vì sử dụng Adaboost như Paul Viola
và Jones Độ phức tạp huấn luyện đã giảm xuống rất nhiều
O (N d 2+T)
N ~ 10.000 – Số tập mẫu huấn luyện
d ~ 400-600 – Kích thước cửa sổ nhận dạng
T ~ 40.000 – Số lượng các đặc trưng được sử dụng
Từ đó, đưa giải thuật phát hiện đối tượng sử dụng haar-like trên nền Fast
Trang 18Phát hiện bàn tay sử dụng trích trọn đặc trưng PCA
PCA (Principal Component Analyst) là kỹ thuật phân tích thành phần chính Dựa trên tư tưởng giảm thiểu sai số trung bình bình phương tối thiểu PCA tốt trong bài toán có số chiều dữ liệu lớn, trong đó có những chiều dữ liệu có những mức độ ảnh hưởng khác nhau lên tập dữ liệu đó Quan sát từ ảnh, ta nhận thấy có những điểm ảnh có sức ảnh hưởng lớn đến tập dữ liệu (vì mỗi ảnh khác nhau, các vùng đó
sẽ biến đổi khác nhau) như vùng xung quanh ngón tay … Và có những điểm ảnh ít
có sự thay đổi (điểm ảnh ở các góc, và vùng ảnh ở giữa bàn tay) khi ta so sánh nhiều ảnh với nhau
Vì vậy, sử dụng kỹ thuật PCA nhằm giữ lại những vùng ảnh có nhiều thay đổi (nghĩa là có sức ảnh hưởng lớn đến tập dữ liệu ảnh) và loại bỏ những vùng ít có ảnh hưởng (những vùng ít có sự thay đổi) sẽ giúp ta tiết kiệm thời gian thực thi và tối
ưu các thuật toán nhận dạng bàn tay
- Độ phức tạp của giải thuật huấn luyện:
O (min(N3, P3))
N ~ 10.000 Số tập mẫu huấn luyện
P ~ 400 Số lượng các đặc trưng được sử dụng
- Ưu điểm của phương pháp PCA:
▪ Tìm được các đặc tính tiêu biểu của đối tượng cần nhận dạng mà không cần phải xác định các thành phần và mối quan hệ giữa các thành phần đó
▪ Thuật toán có thể thức hiện tốt với các ảnh có độ phân giải cao, do PCA
sẽ thu gọn ảnh thành một ảnh có kích thước nhỏ hơn
- Nhược điểm của PCA:
▪ PCA phân loại theo chiều phân bố lớn nhất của tập vector Tuy nhiên, chiều phân bố lớn nhất không phải lúc nào cũng mang lại hiệu quả tốt nhất cho bài toán nhận dạng Đây là nhược điểm cơ bản của PCA
▪ PCA rất nhạy với nhiễu
Trang 19Phát hiện bàn tay bằng cách sử dụng găng tay nhiều màu
Hình 11 : Phát hiện bàn tay sử dụng găng tay nhiều màu
Đây là kỹ thuật được Robert Y Wang và Jovan Popovic – giới thiệu tháng 8/2009 với sự đóng góp của Viện Công nghệ Massachusetts – Hoa Kỳ, phòng nghiên cứu công nghệ - Adobe Hoa Kỳ, ĐH Washington.[9]
Tư tưởng chính: Các vùng màu sắc được phân đoạn, nếu các vùng màu sắc được
gom lại gần nhau (sử dụng giải thuật gom cụm) thì đó là vùng bàn tay xuất hiện
Vị trí, mỗi vùng màu sắc đặc trưng cho 1 vị trí nhất định của bàn tay Ví dụ: Màu hồng là vị trí đầu ngón giữa và đầu găng tay Từ đó, ta luôn xác định được trạng thái của bàn tay trong không gian 3D
Ưu điểm: Độ phức tạp thuật toán thấp nên tốc độ hệ thống rất nhanh Thường ở
mức >10fps
Nhược điểm:
- Bị ảnh hưởng bởi yếu tố chất lượng đầu vào Camera với độ nét thấp rất khó
phát hiện chính xác sự phân tách của các vùng màu trên găng tay từ đó gây khó khăn cho thuật toán
- Chưa phù hợp với bài toán tương tác người-máy vì phải sử dụng thêm yếu tố
phụ trợ là găng tay nhiều màu
Trang 20Các kỹ thuật có theo dõi chuyển động
Theo dõi bàn tay sử dụng kỹ thuật phát hiện luồng quang học chuyển động (Optical Flow)
Kỹ thuật phát hiện luồng quang học chuyển động là một kỹ thuật tương đối đơn
giản trong quá trình cài đặt Vì vậy, Optical flow luôn là lựa chọn đầu tiên mỗi
khi ta nghĩ đến bài toán theo dõi đối tượng nói chung.[10]
Hình 12: Theo dõi bàn tay sử dụng thuật toán Optical Flow
Sử dụng kỹ thuật phát hiện luồng quang học chuyển động được rất nhiều nhóm nghiên cứu và áp dụng vào bài toán theo dõi bàn tay chuyển động Trong đó phải kể đến đề tài của Desmond Chik – ĐH quốc gia Canberra – Úc, đề tài này cũng được đăng lên tạp chí 2006 của hiệp hội kỹ thuật máy tính ACM
Tư tưởng chung:
Xác định hình trạng ban đầu của bàn tay
▪ Dựa vào 2 khung hình liên tiếp, sử dụng thuật toán Kanade-Lucas (KL)
Từ đó xác định được các vùng chuyển động, hướng chuyển động của
Trang 21Theo dõi bàn tay sử dụng lọc hạt (Particle Filter)
Kỹ thuật này là luận án tiến sĩ của Vincent Spruyt, ĐH Atteris – Bỉ [11]
Hình 13 : Theo dõi bàn tay sử dụng lọc hạt (Particle Filter)
Tư tưởng chính: Phát hiện chuyển động dựa trên màu sắc và thông tin chuyển
động (based on color and motion information) Lọc hạt (Particle Filter) là bộ lọc phi tuyến rất mạnh, được sử dụng để dự đoán vị trí của bàn tay tại frame kế tiếp dựa
Ưu điểm: Theo đánh giá chủ quan: là kỹ thuật theo dõi đối tượng và bàn tay tốt
Trang 22Các kỹ thuật phụ trợ
Kỹ thuật biến đổi ảnh thông thường về dạng ảnh xám
Ảnh được camera thông thường thu lại nằm trong hệ màu RGB, được đặc trưng bởi 3 màu: màu đỏ (Red – R), màu xanh lá cây (Green – G), màu xanh nước biển (Blue – B) tạo nên không gian màu đặc trưng cho điểm ảnh và tạo nên màu sắc tại điểm ảnh đó Điểm ảnh trong ảnh xám là ảnh chỉ được đặc trưng bởi yếu tố duy nhất
là mức xám Ảnh xám vẫn tái hiện đầy đủ thông tin từ ảnh gốc ban đầu, và có vai trò quan trọng trong các bài toán nhận dạng
Kỹ thuật cắt ảnh
Hình 14 : Mô tả tả thuật toán cắt ảnh
Với mỗi ảnh đầu vào, ảnh luôn được thu thập ở dạng ma trận điểm ảnh (và mỗi điểm ảnh sẽ được đặc trưng bởi các thông tin riêng) Ví dụ, ta thu được một ma trận điểm ảnh như sau:
Tư tưởng và thuật toán:
- Khởi tạo một ảnh đích có kích thước bằng với kích thước vùng ảnh cần
cắt
- Nhảy con trỏ đến tọa độ x,y trên ảnh
- Sao chép giá trị điểm ảnh từ ma trận ảnh cũ sang ma trận ảnh mới có