Tải bản đầy đủ (.pdf) (44 trang)

Phát hiện cử chỉ bàn tay ứng dụng trong điều khiển thiết bị từ xa

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.42 MB, 44 trang )

..

MỤ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


Kỹ thuật cắt ảnh .......................................................................................... 22
Kỹ thuật trừ nền .......................................................................................... 23
Kỹ thuật phát hiện và phân tách màu da .................................................... 24
Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

1


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 tồ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

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

2


DANH 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 tốn phát hiện bàn tay ................................................................................. 9
Hình 4: Bài tố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 tố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 tố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 tố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 đố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

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

3


LỜ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 triǹ h 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
hồn tồ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

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

4


LỜ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.
Tơi xin chân thành cảm ơn cơ Nguyễn Thị Hồng Lan, … đã nhiệt tình hướng dẫn và
hỗ trợ tơi thực hiện đề tài này.
Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

5


CHƯƠ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
Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

6


diễ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 hồn tồ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 hồ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 tố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

-

Cài đặt chương trình điều khiển máy tính trực tiếp với 4 cử chỉ cơ bản.

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

7


CHƯƠ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ệ thống điều khiển
máy tính theo cử
chỉ bàn tay
Đầu vào


Đầu ra

Hình 2: Hệ thống điều khiển máy tính bằng cử chỉ bàn tay

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

8


Bà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 tốn phát hiện bàn tay

Hình ảnh khơng chứa bàn tay
Tọa độ tâm
Kích thước
Trạng thái bàn tay
Hình ảnh chứa bàn tay
Hình 3: Bài tố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?
 Vị trí của hình chữ nhật chứa bàn tay

 Trạng thái của bàn tay đó (nắm/xoè/…)

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

9


Bài toán theo dõi chuyển động bàn tay

Vết chuyển động

Chuỗi các hình ảnh từ camera

Hình 4: Bài tố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

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

10


Sơ đồ khối các khối hệ thống


Khối tiền xử lý

Khối theo dõi
chuyển động

Khối phát
hiện bàn tay

Khối xử lý tác
vụ đầu ra

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.

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

11


Cá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 hồ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.
Dữ liệu đầu ra
Tọa độ tâm


Kích thước bàn tay

Dữ liệu đầu vào
Khối phát hiện
bàn tay

Ảnh (RGB)

Hình 6: Module phát hiện bàn tay

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

12


Module 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 tố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 đó.

Tọa độ kích thước ban tay ban đầu

X= x0 Y=y0
H=h0 W=w0

Khối theo dõi chuyển động
bàn tay

Tại Frame n

Frame n+1

Frame n+2

Frame n+3

X=xn Y=yn

X= xn+1Y=yn+1

X= xn+2Y=yn+2

X= xn+3Y=yn+3

H=hn W=wn

H=hn+1W=wn+1

H=hn+2W=wn+2

H=hn+3W=wn+3


Hình 7: Module theo dõi chuyển động bàn tay

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

13


Module đ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.
Đầu vào

Đầu ra

[x0,y0,w0,h0]
[x0,y0,w0,h0]
[x0,y0,w0,h0]

Khối điều khiển
thiết bị 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

Các định nghĩa cử

chỉ điều khiển

Hình 8 : Module điều khiển thiết bị máy tính

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

14

Lệnh điều khiển
máy tính


CHƯƠ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):



Đặc trưng đường (line features):



Đặc trưng xung quanh tâm (center-surround features):

Các đặc trưng mở rộng của các đặc trưng Haar-like cơ sở
Dùng các đặc trưng trên, ta có thể tính được giá trị của đặc trưng Haar-like là sự
chênh lệch giữa tổng của các pixel của các vùng đen và các vùng trắng như trong
công thức sau:
f(x) = Tổng vùng đen (các mức xám của pixel) – Tổng vùng trắng (các mức xám của pixel)
Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT 15


- 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 khn 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 q 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:

O (MNT log N)
Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

16


N ~ 10.000


Số tập mẫu huấn luyện

M ~ 4.000 – 6.000
T ~ 40.000

Số phân loại yếu
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 hố 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 tố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
d ~ 400-600
T ~ 40.000

– Số tập mẫu huấn luyện
– Kích thước cửa sổ nhận dạng
– 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
Statboost trở thành giải thuật phát hiện đối tượng nhanh nhất thế giới được ghi nhận
năm 2007 [8]

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

17



Phá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 tố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
P ~ 400

-

-

Số tập mẫu huấn luyện
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 tố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.

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

18


Phá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 ln 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.

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

19


Cá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 ln 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 tố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 tốn Kanade-Lucas (KL).
Từ đó xác định được các vùng chuyển động, hướng chuyển động của
vùng đó



Dựa vào thơng tin chuyển động, đưa ra trạng thái mới và vị trí mới của
bàn tay

Ưu điểm: Thuật toán được kế thừa từ Optical flow nên cho phép xác định
chính xác vùng có chuyển động
Nhược điểm: Rất khó theo dõi nếu giữa 2 khung hình liên tiếp có sự dịch
chuyển lớn.

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

20


Theo 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ự đố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
nhất
Nhược điểm: Theo dõi dựa trên màu sắc, nên sự ảnh hưởng của yếu tố mơi trường
là tất yếu.
So với thuật tốn theo dõi sử dụng kỹ thuật luồng quang học (Optical flow), sử dụng
lọc hạt (particle filter) nổi bật lên về cả mức độ chính xác và hiệu suất hệ thống.

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

21


Cá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 tốn nhận dạng.

Kỹ thuật cắt ảnh

Hình 14 : Mơ tả tả thuật tố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 tố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ó
kích thước w x h
Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

22


Kỹ thuật trừ nền
Thuật toán trừ nền là phương pháp triệt tiêu những phần giống nhau giữa 2
khung hình trong đó 1 khung hình là ảnh nền.
Phương pháp trừ nền này khởi tạo một ảnh nền là khung hình đầu tiên khi chưa có đối
tượng cần theo dõi. Sau đó, nó trừ giá trị cường độ của mỗi điểm ảnh trong ảnh hiện
thời cho giá trị tương ứng trong ảnh nền tham khảo.
Gọi In(x) là biểu diễn của giá trị cường độ mức xám ở điểm ảnh có vị trí (x) và ở
trường hợp thứ n của dãy Video I thuộc trong đoạn [0, 255]. Gọi Bn(x) là giá trị cường
độ nền tương ứng cho điểm ảnh ở vị trí (x) ước lượng theo thời gian từ ảnh Video I0
đến In-1. Một điểm ảnh ở vị trí (x) trong ảnh hiện thời thuộc thành phần nổi trội nếu nó
thỏa mãn:
|In(x) – Bn(x)| > Tn(x)

(1)

Trong đó Tn(x) là giá trị ngưỡng có khả năng thích hợp được khởi tạo cùng với ảnh
Video đầu tiên I0, B0 = I0, và ngưỡng được khởi tạo bởi giá trị đã được xác định trước.
Nền cơ sở và các ảnh ngưỡng phải được cập nhật liên tục từ các ảnh đầu vào. Sự phối

hợp cập nhật này là khác nhau đối với các vị trí điểm, chẳng hạn như một điểm x ∈
FG thì sẽ khác với x ∈ BG

Trong đó α,β(∈[0.0,1.0]) là các hằng số chỉ ra rằng có bao nhiêu thơng tin từ các ảnh
vào được đẩy vào nền và các ảnh ngưỡng. Nói cách khác, nếu mỗi điểm ảnh nền được
coi như là chuỗi các lần, các ảnh nền là một giá trị trung bình của trọng số vùng theo
thời gian của chuỗi các ảnh đầu vào và ảnh ngưỡng là giá trị trung bình của trọng số
vùng của γ lần khác nhau của các ảnh đầu vào và nền đó.

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

23


(a)

(b)

(c)

Hình 15 : Kỹ thuật trừ nền

Ảnh (a) là ước lượng nền cơ sở, ảnh (b) thu được ở bước tiếp theo. ảnh (c) thể hiện
bản đồ điểm ảnh nổi trội phát hiện được bằng cách sử dụng phép trừ nền.

Kỹ thuật phát hiện và phân tách màu da

Hình 16 :Phát hiện bàn tay sử dụng phân tách màu da

Đây là một kỹ thuật tương đối cơ bản cho việc phát hiện bàn tay. Phát hiện màu

da có thể tiếp cận theo một số hướng như: Sử dụng xác suất Bayes, phân bố Gaussian…
Nhưng dễ hiểu nhất và đôi lúc cũng đem lại những hiệu quả rõ rệt đó là sử dụng khơng
gian màu. (Có thể sử dụng hệ màu HSV, YcrCb hoặc RGB). Với YCrCb, vùng màu da
sẽ nổi rõ lên cho phép ta lựa chọn các ngưỡng màu để tách ra vùng màu da một cách dễ
dàng nhất.

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

24


Ngưỡng màu da sử dụng trong hệ
màu YcrCb
Y  35

133  C r  173
77  C  127
b


Hình 17 : Màu da trong không gian YCrCb

Học viên: Nguyễn Mạnh Việt Lớp: 13BMTTT

25


×