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 gia dụng: điện gia dụng:
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ị :
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ỉ :
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ẽ :
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
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/