CHƯƠNG III: NHẬN DẠNG CỬ CHỈ BÀN TAY ỨNG DỤNG TRONG ĐIỀU KHIỂN THIẾT BỊ ĐIỆN GIA DỤNG
3.1. Bài toán nhận dạng cử chỉ bàn tay ứng dụng trong điều khiển thiết bị điện
Sơ đồ khối hệ thống
Hình 3. 1 - Sơ đồ khối của hệ thống Hệ thống gồm 3 khối chính :
Khối nhận dạng cử chỉ Khối điều khiển thiết bị
Khối thực thi lệnh điều khiển (Các thiết bị).
Hệ thống hoạt động dựa trên 1 webcam dùng để ghi nhận hình trạng của bàn tay. Khi người dùng đưa ra một hình trạng của bàn tay trước webcam, khối nhận dạng cử chỉ tách từng khung hình trong chuỗi video thu đƣợc. Tại mỗi khung hình, khối nhận dạng cử chỉ sẽ trích chọn các đặc trƣng sau đó đƣa các đặc trƣng này vào bộ phân loại cử chỉ để xác định lớp mà cử chỉ thao tác thuộc vào. Khối điều khiển
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
chương trình thực hiện thao tác chuyển các cử chỉ nhận dạng thành các lệnh điều khiển tương ứng. Khối thực thi lệnh sẽ thực thi các lệnh tương ứng với từng cử chỉ đã đƣợc nhận dạng.
Hệ thống thể sử dụng trong nhiều ứng dụng khác nhau. Ví dụ hệ thống có thể mở rộng để điều khiển điều khiển ti vi, điều khiển hoạt động của robot, v.v.
Vì khối thực thi là khối sẵn có (các chương trình ứng dụng) nên trong phần sau, đồ án sẽ trình bày kỹ về khối nhận dạng cử chỉ và khối điều khiển.
Sơ đồ nguyên lý hoạt động của khối nhận dạng cử chỉ
CSDL Ảnh
Tiền xử lý Trích chọn đặc
trưng
Tập các mô hình được huấn luyện
………
Cử chỉ Play, Stop, Next v.v Tiền xử lý Trích chọn đặc
trưng Phát hiện
cử chỉ
Không có cử chỉ
Giai đoạn huấn luyện
Giai đoạn nhận dạng
ảnh bàn tay
Hình 3. 2 - Khối nhận dạng cử chỉ
Khối nhận dạng cử chỉ xác định trong chuỗi video đầu vào có xuất hiện cử chỉ điều khiển đã được định nghĩa hay không. Trước khi có thể nhận dạng, hệ thống phải tiến hành huấn luyện với tập dữ liệu ảnh để đƣa ra mô hình nhận dạng (trong chương trình sử dụng mô hình phân lớp dữ liệu Adaboost và cấu trúc phân tầng cascade). Trong quá trình nhận dạng, chuỗi video sẽ đƣợc tách ra thành từng khung
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
hình (frame). Các khung hình này sẽ là đầu vào cho quá trình nhận dạng. Hệ thống sẽ trả lại kết quả bức ảnh đầu vào có chứa cử chỉ đang xét hay không. Nếu có N khung hình liên tiếp trong chuỗi video có chứa cùng một cử chỉ thì chương trình sẽ chuyển sang khối điều khiển với cử chỉ đó (trong phần thực nghiệm của luận văn này, chọn N = 5).
Sơ đồ nguyên lý hoạt động của khối điều khiển
Khối điều khiển chương trình thực hiện thao tác chuyển các cử chỉ nhận dạng thành các lệnh điều khiển tương ứng. Với mỗi cử chỉ được nhận dạng và phân loại sẽ tương ứng với một (hay một vài) thông điệp gửi đến hệ điều hành (hoặc đến một chương trình cụ thể). Thông điệp được gửi đến hệ điều hành có thể là thông điệp bàn sự kiện bàn phím hay sự kiện chuột tùy vào ý đồ điều khiển của người lập trình.
Ví dụ sơ đồ sau minh họa lệnh điều khiển đến thiết bị :
Hình 3. 3 - Sơ đồ nguyên lý hoạt động của khối điều khiển thiết bị
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Với mỗi cử chỉ đƣợc khối nhận dạng cử chỉ phân loại sẽ gửi thông điều khiển tương ứng đến hệ điều hành thông qua cấu trúc case-of. Hệ điều hành sẽ gửi lệnh điều khiển tương ứng đến thiết bị. Tùy vào lệnh nhận được mà thiết bị phản ứng khác nhau như: Điều hòa tăng giảm nhiệt độ, đổi hướng gió, chuyển chế độ hoạt động, v.v…
Sơ đồ thiết kế của khối điều khiển thiết bị ngoại vi
Gồm 2 phần, phần nhận tín hiệu điều khiển từ cổng COM máy tính chuyển thành tín hiệu điều khiển thông qua MAX232, vi điều khiển C8051 và thiết bị phát RF PT2262. Phần thu tín hiệu RF và điều khiển thiết bị gồm PCR1A và vi điều khienr PT2272.
Hình 3. 4 - Sơ đồ thiết kế phần nhận tín hiệu điều khiển từ cổng COM của máy tính và phát sóng RF
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Hình 3. 5 - Sơ đồ thiết kế bộ thu tín hiệu và điều khiển thiết bị Thiết kế tập cử chỉ bàn tay
Trong hầu hết các thiết kế tập cử chỉ tương tác, các vấn đề kỹ thuật thường được đặt lên hàng đầu mà không chú ý đến yếu tố hướng đối tượng sử dụng. Ngoài ra, một vấn đề cũng cần phải đƣợc quan tâm đó là một cử chỉ phụ thuộc rất nhiều vào văn hóa, xã hội. Một cử chỉ có thể được coi là bình thường trong một xã hội, một nền văn hóa này thì lại được coi là bất thường trong một xã hội, nền văn hóa khác. Mục tiêu của việc thiết kế một tập cử chỉ là phải đạt đƣợc hai tiêu chí :
- Hướng đến đối tượng tương tác : Đem lại sự trực quan và thoải mái đối với đối tƣợng thực hiện nó.
- Hướng đến hệ thống : Tập cử chỉ phải phân biệt để tăng khả năng nhận dạng của hệ thống.
Có hai bước chính cần được xem xét trong việc thiết kế một tập cử chỉ :
- Định nghĩa các tập lệnh tương tác : “đồng ý”; “bắt đầu”, “kết thúc”, v.v.
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
- Biểu diễn các lệnh điều khiển thông qua cử chỉ tay. Việc gán một lệnh với một cử chỉ đƣợc gọi là xây dựng từ điển cử chỉ.
Tập các cử chỉ này sẽ đƣợc đƣa qua một bộ đánh giá tiêu chí (tính trực quan, tính thoải mái) để chọn lọc ra một vài cử chỉ phù hợp. Các cử chỉ sau khi đƣợc lựa chọn này lại tiếp tục đƣợc đƣa vào một bộ kiểm tra tính phân biệt và tính dễ nhận dạng của cử chỉ để cuối cùng đƣa ra một cử chỉ phù hợp nhất với nhiệm vụ đề ra. Đây là một quy trình cho phép xây dựng bộ từ điển cử chỉ tối ưu trong các ứng dụng tương tác người - máy hoặc các ứng dụng xây dựng ngôn ngữ cử chỉ tay.
Quy trình đƣợc thể hiện thông qua hình vẽ :
Hình 3. 6 - Quy trình thiết kế cử chỉ
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Một số tập cử chỉ tay đã tồn tại
Khâu đầu tiên trong bài toán nhận dạng cử chỉ là thu thập dữ liệu, cụ thể là dữ liệu ảnh cử chỉ để học trước khi nhận dạng. Phần này sẽ trình bày một số tập dữ liệu cử chỉ tay đã tồn tại, phân tích và đánh giá các ƣu nhƣợc điểm của từng hệ cơ sở dữ liệu, từ đó phân tích nhu cầu xây dựng một hệ cơ sở dữ liệu riêng cho bài toán nhận dạng cử chỉ áp dụng và hệ thống điều khiển chương trình máy tính. Bảng II tổng kết một hệ cơ sở dữ liệu cử chỉ đã tồn tại.
Bảng 3. 1 - Một số tập cơ sở dữ liệu cử chỉ đã tồn tại :
CSDL Đơn vị Địa chỉ chứa CSDL Mô tả tóm tắt CSDL
(1) Tae Kyun
Kim
Machine Intelligence Laboratory - Cambridge University
ftp://mi.eng.cam.ac.uk/pub/CamG esData
http://mi.eng.cam.ac.uk/~tkk22/ge s_db.htm
- 900 ảnh màu của 9 lớp cử chỉ
- Chụp trên nền xám đồng đều
(2,3)Sebat ien Marcel et
al.
Viện nghiên cứu IDIAP - Thụy Sỹ
http://www-
prima.inrialpes.fr/FGnet/data/04- TwoHand/main.html
http://www-
prima.inrialpes.fr/FGnet/data/10- Gesture/gestures/main.html
3 hệ cơ sở dữ liệu:
1. CSDL các cử chỉ tạo bởi hai tay để thao tác đồ vật
2. CSDL các cử chỉ tĩnh 3. CSDL các cử chỉ động
(4) Jochen Triesch et
al.
Trường Đại học Frankfurt
http://www-
prima.inrialpes.fr/FGnet/data/10- Gesture/gestures/main.html
- 720 ảnh đen trắng, phông nền đơn giản + phức tạp - 10 tập cử chỉ
(5) Thomas Moeslun
d
Virtual Reality, Media
Technology, Trường Đại học AAlborg, Đan Mạch
http://www-
prima.inrialpes.fr/FGnet/data/12- MoeslundGesture/database.html
- 2060 ảnh đen trắng các cử chỉ tĩnh biểu diễn các ký hiệu trong bảng chữ cái
(6) Holte
Virtual Reality, Media
Technology, Trường Đại học AAlborg, Đan Mạch
http://www-
prima.inrialpes.fr/FGnet/data/03- Pointing/index.html
- CSDL về các cử chỉ để giao tiếp bằng tay
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
(7) Letessier
PRIMA INRIA Rhone-Alpes
http://www-
prima.inrialpes.fr/Pointing04/data- hand.html
- 8 videos màu thu nhận cử chỉ
"Pointing" từ 4 camera
(8) Nguyễn et
al.
Kyushu Institute of Technology
- 32 cử chỉ để xây dựng ngôn ngữ nói bằng tay
(9) Axenbeck
et al.
Freiburg University
- 4 cử chỉ động, 75 mẫu / cử chỉ
- 20fps, độ phân giải 640x480
Qua tìm hiểu, nghiên cứu và đánh giá ta thấy rằng mỗi tập cử chỉ có những ƣu nhƣợc điểm riêng đƣợc tóm tắt trong bảng sau :
Bảng 3. 2 - Ưu và nhược điểm của một số tập cử chỉ đã tồn tại :
CSDL Ƣu điểm Nhƣợc điểm Ứng dụng
(1)
Tae Kyun Kim
- Tập cơ sở dữ liệu gồm các ảnh màu, vì thế cho phép các giải thuật sử dụng tính chất của màu da để phát hiện bàn tay.
- Mô tả về hệ cơ sở dữ liệu tương đối rõ ràng.
- Nền của ảnh còn đơn giản (màu ghi xám đồng đều).
- 9 lớp cử chỉ đơn giản. Trong mọi trường hợp, các ngón tay và lòng bàn tay đều vẫn nằm trên một mặt phẳng. Các hình trạng phức tạp chƣa đƣợc xem xét.
Thử nghiệm phương pháp phân tích tương quan tensor (Tensor Canonical Correlation Analysis) cho bài toán phân lớp các hành động của người [Kim07].
(2,3)Sebatien Marcel et al.
- Các cử chỉ tĩnh cũng nhƣ một số các cử chỉ động đƣợc mô tả - Dữ liệu vẫn tồn tại, có thể tải về để thử nghiệm
- Ảnh đen trắng, không thích hợp với các giải thuật sử dụng thuộc tính về màu sắc
Thử nghiệm một thuật toán sử dụng mạng nơron [Marcel99] và Mô hình Markov ẩn [Marcel00] để học và phân lớp hình trạng của bàn tay trong ảnh.
(4) Jochen Triesch et al.
- Tập cử chỉ tương đối phức tạp hơn (các ngón tay và lòng bàn tay không nằm trên một mặt phẳng)
- Các ảnh chụp trên nền đơn giản (nền đen hoặc
- Ảnh đen trắng, vì thế không thể áp dụng các giải thuật sử dụng màu.
- Các tập cử chỉ để thử nghiệm mặc dù đã phức tạp hơn, trên phông nền phức tạp hơn, thì vẫn cùng kích thước,
Thử nghiệm một thuật toán đối sánh các đồ thị co giãn (elastic graph) để xuất bởi một nhóm tác giả Jochen
Triesch and
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
trắng) đƣợc dùng làm tập học. Các ảnh chụp trên nền phức tạp đƣợc dùng làm tập thử. Sự thu nhận ảnh của tay trên phông nền phức tạp cho phép thử nghiệm tính hiệu quả của thuật toán nhận dạng trong các điều kiện thu nhận khác nhau.
hướng quay, v.v. so với ảnh mẫu. Vì thế không thử nghiệm đƣợc hiệu quả bất biến của thuật toán đối với góc quay (rotation), sự thay đổi về thang đo (scale change) cũng nhƣ trong các điều kiện ánh sáng khác nhau (illumination change)
Christoph von der Malsburg[Triesch96].
(5) Thomas Moeslund
- Một tập đầy đủ các cử chỉ tương ứng với bảng chữ cái
- Có thể tải về để thử nghiệm
- Ảnh đen trắng, không cho phép sử dụng các giải thuật dựa trên tính chất màu sắc
Mục đích của CSDL là dùng để nhận dạng cử chỉ ứng dụng trong giao tiếp bằng tay [Birk97].
(6) Holte
- Kịch bản thu nhận đƣợc mô tả rất chi tiết, rõ ràng
- Ảnh mầu, có giá trị đối với các giải thuật sử dụng màu
- Tập cử chỉ tương đối đa dạng
- Các tập cử chỉ đƣợc thu nhận trên nền tương đối đơn giản
- Trong mặt phẳng
- Góc quay, ánh sáng, sự thay đổi về kích thước.
PETs2003
(7) Letessier
- Ảnh mầu, có thông tin về grountruth - Sử dụng trong bài toán nhận dạng cử chỉ
"Pointing".
- Chỉ sử dụng để thử nghiệm một loại cử chỉ
"Pointing"
PETs2004
(8)
Nguyễn et al. - Ảnh đen trắng - Phông nền phức tạp
- Dữ liệu không mở
- Không có mô tả về CSDL
Sử dụng để nhận dạng các cử chỉ ngôn ngƣ (ASL) [Nguyen05]
(9)
Axenbeck et al.
- Cử chỉ động - Dữ liệu không mở, không tải về đƣợc để thử nghiệm
Tương tác người Robot [Axenbeck08]
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Qua bảng tổng kết, ta có một số nhận xét nhƣ sau : Một CSDL đƣợc xây dựng thường để thử nghiệm một loại thuật toán nào đó trong một ứng dụng cụ thể.
Mỗi CSDL không thỏa mãn tất cả các tính chất sau :
- Ảnh là ảnh màu để có thể sử dụng các thuật toán dựa trên việc phát hiện màu da, giảm thời gian tính toán trên tất cả các vùng ảnh
- Nền ảnh bàn tay thường còn đơn giản (nền đen trắng phân bố màu đồng đều) - Thông thường điều kiện thu nhận ảnh chỉ có thay đổi về ánh sáng, tuy nhiên góc
quay và khoảng cách chụp không hề thay đổi (camera tĩnh). Vì thế việc học một hình trạng với tập các mẫu học không bao quát hết các khả năng xảy ra trong thực tế, vì thế sẽ không thể nhận dạng tốt khi điều kiện chụp ảnh thay đổi - Tập cử chỉ còn tương đối đơn giản : đại đa số là các cử chỉ sử dụng trong giao
tiếp bằng tay hoặc thao tác một đối tƣợng nào đó. Vì thế khó có thể áp dụng một cách trực tiếp vào bài toán điều khiển robot cũng nhƣ điểu khiển máy tính.
Ứng dụng trong bài toán cụ thể, các tập cử chỉ phải đƣợc định nghĩa riêng biệt.
Để học và thử nghiệm thuật toán nhận dạng, chúng ta có thể sử dụng một số CSDL tồn tại. Tuy nhiên để gắn với ứng dụng cụ thể trong đề tài thì nhất thiết phải định nghĩa một tập cử chỉ riêng biệt và xây dựng một CSDL cử chỉ mới.
Tập cử chỉ đề xuất:
Để xây dựng tập cử chỉ tay có thể sử dụng trong nhiều ứng dụng tương tác khác nhau, cần phải xác định xem những cử chỉ nào thường được sử dụng nhiều nhất trong tương tác người - máy. Tập 8 cử chỉ sau do tác giả Đồng Văn Thái đề xuất trong một đề tài nghiên cứu về nhận dạng cử chỉ bàn tay. Do thời gian không nhiều để xây dựng đủ các tập cử chỉ đề xuất nên trong khuôn khổ đề tài tác giả chỉ xây dựng 5 tập dữ liệu cử chỉ. Cụ thể là các cử chỉ “Bắt đầu”, “Dừng lại”, “Sang trái”, “Sang phải” và cử chỉ “Lên trên”.
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Bảng 3. 3 - Tập cử chỉ đề xuất:[2]
Tên cử chỉ Ảnh minh họa Mô tả
“Bắt đầu”
Cử chỉ “bắt đầu” đƣợc thực hiện khi người sử dụng muốn bắt đầu cho một công việc nào đấy: bật điện, bật điều hòa…
“Kết thúc”
Cử chỉ “kết thúc” đƣợc thực hiện khi người sử dụng muốn thiết bị dừng thực thi: tắt điện, tắt điều hòa…
“Đồng ý”
Cử chỉ “đồng ý” đƣợc thực hiện khi đồng ý một việc gì đó nhƣ xác nhận kết nốt thiết bị “yes” hay “ok”.
“Dừng lại”
Cử chỉ “Dừng lại” đƣợc thực hiện khi muốn tạm dừng thiết bi, nhƣ tạm dừng quay đổi hướng quạt…
“Sang trái”
Cử chỉ “sang trái” đƣợc sử dụng với chức năng tương ứng như đổi hướng quạt sang trái...
“Sang phải”
Cử chỉ “sang phải” đƣợc sử dụng với chức năng tương ứng như đổi hướng quạt sang phải....
“Lên trên” Cử chỉ “lên trên” đƣợc sử dụng với chức năng tương ứng như mở cửa lên trên…
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
“Xuống dưới”
Cử chỉ “xuống dưới” được sử dụng với chức năng tương ứng như đóng cửa xuống…
Xây dựng cơ sở dữ liệu và thử nghiệm
Cơ sở dữ liệu huấn luyện gồm hai phần chính: dữ liệu huấn luyện và dữ liệu thử nghiệm.
Dữ liệu huấn luyện : Là các dữ liệu dùng cho việc học của một hệ nhận dạng. Trong quá trình huấn luyện, bộ nhận dạng sẽ học từ các dữ liệu này và thông qua các đặc trƣng để nhận ra đối tƣợng cần nhận dạng. Dữ liệu huấn luyện gồm 2 tập :
o Các ảnh chứa đối tƣợng cần nhận dạng (positive samples).
o Các ảnh không chứa đối tƣợng cần nhận dạng (negative samples).
Trong quá trình học, bộ nhận dạng sẽ cố gắng tìm các đặc trƣng của các mẫu positive mà mẫu negative không có, từ đó rút ra đƣợc các đặc trƣng của đối tƣợng cần nhận dạng. Khi đƣa một mẫu mới vào nhận dạng, bộ nhận dạng sẽ áp các đặc trƣng này lên mẫu, nếu thỏa mãn thì mẫu này là đối tƣợng cần nhận dạng, ngƣợc lại thì không phải. Trong một hệ thống nhận dạng, số lƣợng ảnh positive càng lớn và đƣợc chuẩn hóa tốt thì mô hình nhận dạng thu đƣợc sẽ cho kết quả nhận dạng càng chính xác. Tức là chất lượng và số lượng tập dữ liệu huấn luyện có ảnh hưởng trực tiếp đến kết quả nhận dạng. Qua thực nghiệm cho thấy, nếu cơ sở dữ liệu huấn luyện lớn và các mẫu đối tƣợng đa dạng về góc quay, điều kiện chiếu sáng và các đối tƣợng đƣợc thu thập từ nhiều chủ thể khác nhau thì khi huấn luyện ta sẽ thu đƣợc một mô hình nhận dạng mang tính tổng quát cao. Khi tiến hành nhận dạng, nếu mô hình nhận dạng đủ tính tổng quát thì hệ thống nhận dạng sẽ cho kết quả tốt với tập đối tƣợng đa dạng.