Ngoài ra, nhận dạng cử chỉ bàn tay còn có khả năng ứng dụng vào việcgiao tiếp với người bị câm, điếc…1.2 Mục tiêu đề tài Đề tài “Xây dựng mô hình điều khiển thiết bị dùng cử chỉ bàn tay
Trang 1ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG MÔ HÌNH ĐIỀU KHIỂN THIẾT BỊ DÙNG CỬ CHỈ BÀN TAY
Trang 2CHƯƠNG 1 TỔNG QUAN VỀ ĐỀ TÀI
1.1 Giới thiệu về nhận dạng cử chỉ bàn tay
Với sự phát triển của khoa học ngày nay, sự tương tác giữa robot và con người
đã trở thành một lĩnh vực được chú ý Hiện tại có rất nhiều kỹ thuật nhận dạngđược nghiên cứu như: nhận dạng dấu vân tay, nhận dạng khuôn mặt người, nhậndạng ký tự/chữ/số Và nhận dạng cử chỉ bàn tay cũng được nghiên cứu và đưavào sử dụng rộng rãi Cử chỉ bàn tay được đưa vào sử dụng hiệu quả nhằm đưa ralệnh cho robot thực thi
Một số ứng dụng:
• Người và máy tính có thể tương tác với nhau
• Tương tác với các thiết bị ngoại vi
• Ứng dụng khác
Hình 1- 1 Hình ảnh về sử dụng TV với cử chỉ bàn tay Error: Reference source not
found
Trang 3Ngoài ra, nhận dạng cử chỉ bàn tay còn có khả năng ứng dụng vào việcgiao tiếp với người bị câm, điếc…
1.2 Mục tiêu đề tài
Đề tài “Xây dựng mô hình điều khiển thiết bị dùng cử chỉ bàn tay” sẽ thực hiệnbao gồm xây dựng mô hình nhận dạng được cử chỉ bàn tay dùng phần mềmMATLAB2016a, kết hợp với máy tính có sẵn webcam để thu thập cử chỉ (đếm sốngón tay) để điều khiển các thiết bị trong nhà như TV, đèn, quạt, …
1.3 Nội dung thực hiện
Đề tài thực hiện gồm các nội dung chính như sau:
- Tìm hiểu lý thuyết về xử lý ảnh và lý thuyết về nhận dạng cử chỉ bàn tay
o Các khái niệm cơ bản về ảnh/ảnh số
o Các kỹ thuật xử lý ảnh cơ bản
o Các phương pháp/kỹ thuật nhận dạng
- Tìm hiểu phương pháp phân tích thành phần chính (P C A) và các ứngdụng
- Lập trình ứng dụng nhận dạng cử chỉ trên MATLAB và thực hiện đánh giá
o Xây dựng CSDL cử chỉ dùng cho huấn luyện và đánh giá
o Lập trình xử lý ảnh bàn tay cho nhận dạng dùng P C A
- Xây dựng hệ thống áp dụng kỹ thuật nhận dạng cử chỉ cho việc điều khiểnthiết bị
o Thu thập ảnh cử chỉ qua ảnh có sẵn và webcam
o Kết hợp vi điều khiển để điều khiển các thiết bị trong nhà như TV,đèn, quạt, …
Trang 42.1.2 Mức xám của ảnh
Hình 2- 1 Các mức xám.Error: Reference source not found
Mức xám là kết quả cho sự mã hoá tương ứng cường độ sáng của mỗiđiểm ảnh, với một giá trị số Cách mã hoá thường dùng 16, 32 hay 64 mức
Mã hoá 256 mức là phổ biến nhất vì 28 = 256 (0, 1 255), nên với 256 mức,mỗi pixel sẽ được mã hoá bằng 8 bit ( hay 1 byte)
2.1.3 Phân loại ảnh
• Ảnh nhị phân
Mỗi một điểm ảnh được biểu diễn bằng 1 bit Giá trị của các điểm ảnhchỉ được nhận hai giá trị 0 hoặc là 1
Trang 5Hình 2- 2 Biểu diễn cho 2 mức trắng và đen.Error: Reference source not found
Hình 2- 3 Ảnh nhị phân.Error: Reference source not found
• Ảnh xám
Giá trị của 1 điểm ảnh nằm trong tập [0 255], 1 điểm ảnh biểu diễn bằng
1 byte ( hoặc 8 bits )
Trang 6Hình 2- 4 Ảnh xám.Error: Reference source not found
• Ảnh màu
Hình 2- 5 Ảnh màu R G B.Error: Reference source not found
o Hệ màu R G B là chế độ hiển thị màu sắc tự nhiên của màn hình CRT, màn hình LCD và màn hình plasma Hệ màu R G B là hệ màu là tốt
nhất cho thiết kế: thiết kế website, hình ảnh kỹ thuật số, thiết kế các tàiliệu quảng cáo trực tuyến…
o Hệ màu C M Y K là một mô hình màu trong đó tất cả các màu
được mô tả như là một hỗn hợp của các quá trình hòa trộn của
bốn màu sắc C M Y K là mô hình màu được sử dụng trong in
offset cho các tài liệu đầy đủ màu sắc
Trang 7o Hệ màu YcbCr : là một trong những hệ của không gian màu được
dùng như là một phần của đường dẫn ảnh màu trong video và các
hệ thống mô hình nhiếp ảnh kỹ thuật số
1.1.1.1 Phương pháp phân tích thành phần chính P C A
Trang 8P C A – Principaul Components Analysiss : Là phương pháp đơn giản nhất
để phát hiện đối tượng , sử dụng cường độ xám hoặc màu của điểm ảnh để biểudiễn đối tượng Phương pháp này nhằm giảm số chiều của ảnh mà vẫn có thể giữđược lượng thông tin lớn nhất
1.1.1.2 Phương pháp phân tích thành phần độc lập I C A
I C A - Indepeudent Compouent Analysis: Để định nghĩa I C A, ta có thể dụng
mô hình các biến ẩn thống kê, n biến ngẫu nhiên x1, …, xn, là tổ hợp tuyến tính của
n biến ngẫu nhiên s1… sn dưới dạng:
xi = ai1s1 + ai2s2 +…+ ainsn , i = 1,2,…,n
với aij (i, j = 1, …, n) là các hệ số thực Các si là độc lập thống kê với nhau Môhình cơ bản của I C A chính là giải quyết bà i toán x As cùng với các điều kiệnràng buộc sau:
• Nguồn tín hiệu gốc ban đầu độc lập thống kê với nhau
• Ma trận trộn A là ma trận vuông
• Tối đa chỉ được có 1 nguồn tín hiệu gốc có phân bố Ganss
Phương pháp I C A giải bài toán x As bằng phương pháp thống kê thông quaviệc ước lượng vector y = Wvx (đặt Wv = Av-1)
1.1.1.3 Phương pháp H O G (Histosgram Ogrientations Grandient)
Là hình dạng đối tượng trong ảnh được đặc trưng khá tốt vì sự phân bố
theo sự thay đổi mức xám hay theo hướng của biến đối tượng H O G được tính
bằng cách chia ảnh thành nhiều vùng không gian nhỏ hơn, gọi là cell, mỗi 1cell này, tích lũy “histosgram” 1 chiều cục bộ của hướng “gradient” hoặc địnhhướng biên trên các điểm ảnh của cell Những cell nằm cạnh nhau được gộp lạithành một khối gọi là “blocks”, “blocks” được chồng lên nhau nhằm tăng cườngmối quan hệ trong không gian giữa các điểm ảnh Các “histogram” của khối đượckết hợp với nhau tạo thành vector đặc trưng
1.1.1.4 Phương pháp sử dụng mạng “nơrons”
Mạng “nơrons” nhân tạo được xây dựng để mô hình một số tính chất củamạng “nơrons” sinh học Đa số các ứng dụng lại có bản chất kỹ thuật Mạngnơrons nhân tạo được gọi là máy mô phỏng cách bộ não hoạt động thực hiện các
Trang 9nhiệm vụ của nó Một mạng nơron là bộ xử lý song song phân tán lớn, nógiống như bộ não người về 2 mặt:
• Tri thức được nắm bắt bằng mạng “nơrons” thông qua các quá trìnhhọc
• Độ lớn của trọng số kết nối “nơrons” đóng vai trò là các khớp nốilưu giữ thông tin
1.1.1.5 Phương pháp S V M (Suported Vectort Maching)
S V M là phương pháp phân loại tự động tương đối mới do Vapnik [3] đưa ravào năm 1995 Nhiều thử nghiệm với các ứng dụng khác nhau cho thấy
S V M là một trong những phương pháp phân loại có độ chính xác cao và là mộtphương pháp tương đối tổng quát cho bài toán nhận dạng
Như vậy, để thực hiện việc nhận dạng cử chỉ tay trong đề tài “Xây dựng
mô hình điều khiển thiết bị dùng cử chỉ bàn tay”, phương pháp nhận dạngđược lựa chọn là phương pháp phân tích thành phần chính P C A bởi vì đượctiến hành một cách đơn giản và dễ thực hiện nhất Thêm vào đó P C A rất hữu íchtrong các ứng dụng nhận dạng cơ thể và nén ảnh, và là một kỹ thuật phổ biến để tìmmẫu trong các dữ liệu nhiều chiều Chất lượng và độ chính xác khi xử lý ảnh dùngphương pháp P C A đạt rất cao
2.2.3 Khái niệm nhận dạng cử chỉ bàn tay
Nhận dạng cử chỉ bàn tay, phương pháp sử dụng kĩ thuật máy tính nhằmxác định được những cử chỉ, chuyển động của bàn tay Trong đề tài “ Xây dựng môhình điều khiển thiết bị dùng cử chỉ bàn tay ” sẽ đếm được số ngón tay trong hìnhảnh thu được Từ đó có thể ứng dụng xây dựng hệ thống nhằm điều khiển cácthiết bị bằng tương tác cử chỉ bàn tay…
Trang 10CHƯƠNG 3 PHƯƠNG PHÁP PHÂN TÍCH THÀNH
PHẦN CHÍNH P C A
Phương pháp phân tích thành phần chính (P C A) là một phương pháp được sửdụng thường xuyên khi phải đối mặt với những bộ số liệu với số chiều lớn (bigdata) Là phương pháp giảm thiểu chiều dữ liệu mà vẫn không mất đi thôngtin và giữ lại được những thông tin cần thiết cho việc nhận dạng cử chỉ bàn tay
3.1 Phương pháp phân tích thành phần chính (P C A)
3.1.1 Khái niệm P C A
P C A là tên viết tắt của Princispal Comnponents Anaulysis hay còn gọi làphương pháp phân t ích theo thành phần chính, được Karls Pearsson phát minhnăm 1901
Trang 11P C A là phương pháp đơn giản nhất nhằm phân tích nhiều biến dựa vào vectorđặc trưng, nhằm mục đích khám phá cấu trúc bên trong của dữ liệu Một tập
dữ liệu nhiều biến được xem là tập các tọa độ trong 1 không gian dữ liệu đachiều thì phương pháp P C A lại cung cấp 1 bức ảnh ít chiều hơn
Trong lĩnh vực xử lý ảnh, thông thường cần phải phân tích dữ liệu trước khi xâydựng các mô hình dựa trên cơ sở dữ liệu đó Nhưng đôi khi dữ liệu có số chiềulớn, không thể hình dung trong không gian hai hay ba chiều, vì vậy cần đưa raphương án đưa cơ sở dữ liệu về không gian có số chiều nhỏ hơn
3.1.2 Đặc điểm P C A
P C A là phương pháp có những đặc điểm sau đây:
- Giảm được số chiều của dữ liệu ban đầu
- P C A tạo nên một không gian mới ít chiều hơn không gian cũ, tuy nhiênbiểu diễn dữ liệu tốt như không gian cũ và bảo đảm độ biến thiên của dữliệu của mỗi chiều mới
- P C A tạo ra đặc tính mới dựa trên các đặc tính đã quan sát được và các đặctính có thể biểu diễn tốt dữ liệu lúc đầu
Mục đích của P C A là tạo ra một không gian mới, có số chiều ít hơn sốchiều của không gian cũ Các trục tọa độ trong không gian mới được xây dựngsao cho độ biến thiên dữ liệu của mỗi trục tọa độ là lớn nhất
Trang 12Hình 3- 1 Ví dụ cho trục tọa độ mới có dữ liệu , với độ biến thiên lớn hơn.Error:
Reference source not found
3.2 Giải thuật P C A
Trang 133.2.1 Nhận các ảnh bàn tay từ cơ sở dữ liệu và tập luyện
Bước đầu tiên là đọc cơ sở dữ liệu(CSDL) và nhận vào tất cả ảnh huấn luyện Tất cả ảnh huấn luyện phải đều là ảnh có bàn tay ở tâm ảnh và có chung kích thước
Hình 3- 3 Ảnh huấn luyện có chung kích thước.
Hình 3- 4 Chuyển đổi ảnh có kích thước MxM sang vector M 2 x1.
Tương ứng mỗi một ảnh Ii thì có 1 vector Zi:
Hình 3- 2 Giải thuật P C A
Trang 143.2.2 Tính toán giá trị vector trung bình
Giá trị vector trung bình: (2) Hiệu giá trị vector trung bình:
(3)
3.2.3 Tính ma trận hiệp biến
Ma trận hiệp biến C được tính theo công thức:
(4) Với (5)
3.2.4 Tính các “trị riêng” và “vector đặc trưng” của ma trận hiệp biến
Hai ma trận A AT và ATA luôn có cùng “trị riêng” và “vector đặc trưng” thì
có liên hệ với nhau bởi biểu thức mà ma trận ATA lại có số chiều nhỏhơn hẳn ( ma trận N × N) vì vậy sẽ chuyển đổi về ma trận ATA
Sau khi tính toán ta được N vector đặc trưng của A AT( )
tương ứng với N trị riêng
3.2.5 Lựa chọn các thành phần và vector đặc trưng
Nhằm giảm nhiều nhất số chiều và giảm mức độ phức tạp trong việc tính toán, chỉ cần giữ lại K vector đặc trưng (tương ứng với K giá trị riêng lớn nhất)
Lúc đó, ảnh sau khi trừ cho trị trung bình, sẽ được đại diện bằng K vector đặc trưng và được đưa vào không gian đặc trưng:
(6) trong đó:
(7)Thực hiện là quá trình chuẩn hóa vector
Mỗi ảnh bàn tay huấn luyện Φi sẽ được biểu diễn bằng 1 vector:
(8)
Trang 153.2.6 Tính giá trị £ j
Tính khoảng cách “Euclides” của ma trận µ, so với không gian mặt
Tính khoảng cách tới từng ảnh trong tập ảnh huấn luyện, và tìm đượckhoảng cách tới ảnh huấn luyện, gần nhất trong không gian mặt Khoảng cáchnày là:
(9) Với N là số ảnh có trong tập ảnh huấn luyện Khi tính được khoảng cáchEuclide, từ đó so sánh ở sai số thấp nhất với database, và suy ra được sốngón tay thể hiện trên ảnh
CHƯƠNG 4 MÔ PHỎNG GIẢI THUẬT PCA CHO NHẬN
DẠNG CỬ CHỈ
Từ những cơ sở lý thuyết về P C A được nên ở chương trên dẫn đến việc xâydựng một chương trình nhận dạng cử chỉ tay trên phần mềm để có được sự nhìnnhận rõ hơn về nhận dạng cử chỉ tay phương pháp P C A
4.1 Mô hình thông số mô phỏng nhận dạng cử chỉ
4.1.1 Các cử chỉ thực hiện nhận dạng trong hệ thống
Trang 16Trong hệ thống nhận dạng cử chỉ tay bằng phương pháp PCA có 5 cử chỉ đượcnhận dạng bao gồm các cử chỉ thể hiện từ 1 ngón tay đến 5 ngón tay như trên hình.
Hình 4- 1 Cử chỉ được nhận dạng trong hệ thống [5]
4.1.2 Cơ sở dữ liệu
Cơ sở dữ liệu được xây dựng dựa trên tập ảnh luyện (training image) và ảnhthực nghiệm Hình ảnh các ngón tay thể hiện giá trị 1, 2, 3, 4, 5 Mỗi giá trị sẽ có 40ảnh với các thể hiện không giống nhau để tạo được sự đa dạng cho cơ sở dữ liệu
Hình 4- 2 Tập ảnh luyện (Training image).
4.1.3 Mô hình các bước nhận dạng cử chỉ
Mô hình nhận dạng cử chỉ bàn tay được thực hiện theo sơ đồ khối sau và thểhiện chạy giải thuật trên lưu đồ:
Trang 17Hình 4- 3 Sơ đồ khối ( hệ thống)
1.1.1.6 Acqui Hand Image (Nhập ảnh)
1.1.1.7 Hand Segmentation (Tách biên)
Hình 4- 4 Ảnh chụp cử chỉ tay biểu diễn số 2.
Dễ dàng có thể nhận biết được phần da tay từ mắt người và từ đó ta dễ dàng hiểuđược ảnh muốn truyền đạt là số 2
Nhưng máy tính chưa có khả năng phân biệt như mắt người thấy, vậy nên cầnđến thuật toán tách biên nhằm giúp máy tính hiểu được đâu là phần da tay, từ đó dễdàng điều khiển
• Chuyển ảnh từ hệ R G B sang hệ Y cb Cr
Chuyển ảnh từ hệ R G B sang hệ Y Cb Cr theo công thức:
• Tách màu da
Trang 18Công đoạn này được sử dụng để phân loại pixel, theo pixel màu da hoặc khôngphải là pixel màu da Sau khi kết nối tất cả các pixels màu da, và sẽ thu được bàntay sau khi tách màu da.
• Otsu Thresthoilding
Sau khi tiến hành tách biên màu da ta sẽ thu được bàn tay, nhưng có thể là một
số điểm ảnh khác trong nền cũng bị dính vào Để xóa các điểm ảnh nền và làm táchbiệt cho đối tượng (ở đây là bàn tay), cần sử dụng phương pháp Otsu Thresholding
Để lấy ngưỡng Otsu, ta sử dụng hàm graythresh:
1.1.1.8 Hand Recognition (Nhận dạng cử chỉ tay)
Một trong các kĩ thuật quan trọng trong việc nhận dạng cử chỉ bàn tay
là so sánh hình ảnh thu được với tập ảnh luyện, từ đó xuất ra được giá trị màhình ảnh thể hiện và xuất ra màn hình
Trang 19Hình 4- 5 Sơ đồ các bước nhận dạng, trong tập ảnh luyện
Đầu tiên tiến hành đọc ảnh từ tập ảnh luyện vào cơ sở dữ liệu
Khi đọc, ảnh đang ở dạng ảnh màu R G B, có kích thước 640 x 480
Tiếp theo, thực hiện bước tiền xử lý cơ bản (Chuyển ảnh màu R G B sangảnh xám và chuyển ảnh sang vector 1 chiều)
Sau đó tính vector trung bình của tập ảnh luyện:
Tính sai số của từng ảnh so với ma trận trung bình: Các vector sai số sẽ đượcgộp lại thành 1 ma trận A:
Trang 20
Sau khi có được ma trận A và ma trận hiệp biến , tiến hành tính trị riêng
và vector riêng của C thông qua tính trị riêng và vector riêng cua ma trận
Mỗi ảnh tương ứng với một vector trọng số wj cho mỗi hệ số của vector là
hệ số tương ứng 1 vector đặc trưng trong số những vetor đặc trưng mới tìm được
Trang 21
Hình 4- 6 Lưu đồ giải thuật chương trình nhận dạng cử chỉ bàn tay dùng P CA.
Khi đã xử lý các bước cơ bản trong tiền xử lý, bước tiếp theo là trừ đi vectortrung bình :
Trang 22Kết quả tính được đưa vào một ma trận
Giá trị khoảng cách nhỏ nhất đó được lấy và gán vào biến p
Cuối cùng so sánh khoảng cách này với khoảng cách ngưỡng ( để xem có phải
là ảnh trong tập ảnh luyện hay không)
(Ngưỡng đang được gán nhờ, thực nghiệm tương ứng với tập cơ sở dữ liệu đãxây dựng)
4.2 Mô phỏng
Tất cả chương trình mô phỏng của đề tài “Xây dựng mô hình điều khiển thiết bịdùng cử chỉ bàn tay” được thực hiện trên phần mềm MATLAB R2016a và hoạtđộng trong Laptop Dell core i3 với R A M 4 G B chạy trên hệ điều hànhWindows 10 cùng Webcam 1.5 MP được tích hợp trong Laptop
4.2.1 Kết quả và đánh giá trên tập CSDL
Chương trình mô phỏng nhận dạng cử chỉ tay bằng phương pháp PCA đã có khảnăng nhận dạng được số ngón tay như hình bên dưới
Hình 4- 7 Hình ảnh nhận dạng 1 ngón tay.