Tải bản đầy đủ (.docx) (52 trang)

ĐIỀU KHIỂN THIẾT BỊ DÙNG CỬ CHỈ BÀN TAY (có code và sơ đồ mạch)

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 (2.2 MB, 52 trang )

ĐỒ ÁN TỐT NGHIỆP

ĐIỀU KHIỂN THIẾT BỊ DÙNG CỬ CHỈ
BÀN TAY

1


MỤC LỤC
DANH MỤC CÁC HÌNH VẼ..........................................................................................VII
DANH MỤC CÁC BẢNG BIỂU...................................................................................VIII
DANH MỤC CÁC TỪ VIẾT TẮT...................................................................................IX
CHƯƠNG 1. TỔNG QUAN VỀ ĐIỀU KHIỂN THIẾT BỊ DÙNG CỬ CHỈ TAY......1
1.1

GIỚI THIỆU ĐỀ TÀI.....................................................................................................1

1.1.1

Mục đích nghiên cứu.........................................................................................1

1.1.2

Phương pháp nghiên cứu..................................................................................1

1.2

ĐỊNH NGHĨA VỀ PHƯƠNG PHÁP NHẬN DIỆN CỬ CHỈ BÀN TAY....................................2

CHƯƠNG 2. CÁC KHÁI NIỆM CƠ BẢN VỀ ẢNH.......................................................3
2.1



ẢNH SỐ VÀ ĐIỂM ẢNH (PIXEL)..................................................................................3

2.2

MỨC XÁM CỦA ẢNH..................................................................................................3

2.3

CÁC LOẠI ẢNH...........................................................................................................3

2.3.1

Ảnh nhị phân.....................................................................................................3

2.3.2

Ảnh xám.............................................................................................................4

2.3.3

Ảnh màu RGB....................................................................................................4

CHƯƠNG 3. PHƯƠNG PHÁP PHÂN TÍCH THÀNH PHẦN CHÍNH PCA..............5
3.1

TÌM HIỂU VỀ PCA.....................................................................................................5

3.2


THUẬT TOÁN PCA TRONG NHẬN DIỆN CỬ CHỈ BÀN TAY...........................................7

3.2.1

Nhận các ảnh bàn tay từ cơ sở dữ liệu – tập ảnh huấn luyện...........................7

3.2.2

Tính giá trị vector trung bình............................................................................7

3.2.3

Trừ đi giá trị trung bình....................................................................................8

3.2.4

Tính ma trận hiệp biến......................................................................................8

3.2.5

Tính các trị riêng và vector đặc trưng của ma trận hiệp biến..........................8

3.2.6

Lựa chọn các thành phần và xây dựng vector đặc trưng..................................9

3.2.7

Tính giá trị £j....................................................................................................9


CHƯƠNG 4. THIẾT KẾ HỆ THỐNG............................................................................10

2


4.1

SƠ ĐỒ KHỐI HỆ THỐNG............................................................................................10

4.2

KHỐI NHẬN DIỆN CỬ CHỈ BÀN TAY..........................................................................11

4.2.1

Xây dựng dữ liệu huấn luyện...........................................................................11

4.2.2

Thu nhận tín hiệu, tiền xử lý............................................................................11

4.2.3

Trích chọn đặc trưng.......................................................................................12

4.2.4

Giai đoạn nhận dạng cử chỉ và phân loại cử chỉ............................................12

4.3


KHỐI ĐIỀU KHIỂN THIẾT BỊ......................................................................................13

CHƯƠNG 5. CHƯƠNG TRÌNH NHẬN DIỆN CỬ CHỈ BÀN TAY...........................14
5.1

YÊU CẦU..................................................................................................................14

5.2

PHÂN TÍCH CHƯƠNG TRÌNH.....................................................................................14

5.2.1

Xây dựng cơ sở dữ liệu....................................................................................14

5.2.2

Nhận diện cử chỉ bàn tay.................................................................................16

5.3

THIẾT KẾ CHƯƠNG TRÌNH........................................................................................17

5.3.1

Giao diện chương trình...................................................................................17

5.3.2


Hoạt động của chương trình...........................................................................18

5.4

KẾT QUẢ VÀ ĐÁNH GIÁ...........................................................................................20

CHƯƠNG 6. MÔ HÌNH ĐIỀU KHIỂN THIẾT BỊ DÙNG CỬ CHỈ BÀN TAY.......21
6.1

KHỐI RELAY.............................................................................................................21

6.1.1

Thông số kỹ thuật relay easy...........................................................................21

6.1.2

Sơ đồ thiết kế relay easy..................................................................................22

6.2

KHỐI XỬ LÝ CHÍNH..................................................................................................23

6.2.1

Arduino UNO R3.............................................................................................23

6.2.2

Sơ đồ nguyên lý mạch điều khiển thiết bị........................................................24


6.3

MÔ HÌNH HOÀN THIỆN.............................................................................................24

CHƯƠNG 7. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI.................................26
7.1

KẾT LUẬN................................................................................................................26

7.2

HƯỚNG PHÁT TRIỂN................................................................................................26

TÀI LIỆU THAM KHẢO..................................................................................................28
PHỤ LỤC

29

3


DANH MỤC CÁC HÌNH VẼ
HÌNH 2-1: ẢNH NHỊ PHÂN [5]..........................................................................................3
HÌNH 2-2: ẢNH XÁM [5]....................................................................................................4
HÌNH 2-3: ẢNH MÀU RGB [5]..........................................................................................4
HÌNH 3-1: CÁC PHÉP CHIẾU TRÊN TRỤC TỌA ĐỘ KHÁC NHAU CHO CÁCH
NHÌN KHÁC NHAU VỀ CÙNG MỘT DỮ LIỆU [5]......................................................6
HÌNH 3-2: TÌM TRỤC TỌA ĐỘ MỚI SAO CHO DỮ LIỆU CÓ ĐỘ BIẾN THIÊN CAO
NHẤT [5]


6

HÌNH 3-3: CÁC ẢNH HUẤN LUYỆN CÓ CÙNG KÍCH THƯỚC..............................7
HÌNH 4-1: SƠ ĐỒ KHỐI HỆ THỐNG............................................................................10
HÌNH 4-2: SƠ ĐỒ KHỐI HỆ THỐNG NHẬN DIỆN CỬ CHỈ BÀN TAY.................11
HÌNH 4-3: SƠ ĐỒ KHỐI HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ..............................13
HÌNH 5-1: MỘT PHẦN CỦA TẬP ẢNH LUYỆN.........................................................14
HÌNH 5-2: LƯU ĐỒ THUẬT TOÁN TRONG TẬP ẢNH LUYỆN.............................15
HÌNH 5-3: LƯU ĐỒ THUẬT TOÁN NHẬN DIỆN CỬ CHỈ BÀN TAY....................16
HÌNH 5-4: GIAO DIỆN CHÍNH CHƯƠNG TRÌNH....................................................18
HÌNH 5-5: GIAO DIỆN TẠO CƠ SỞ DỮ LIỆU............................................................18
HÌNH 5-6: GIAO DIỆN CHỌN TẬP ẢNH HUẤN LUYỆN.........................................19
HÌNH 5-7: GIAO DIỆN ĐƯA ẢNH VÀO NHẬN DẠNG.............................................19
HÌNH 6-1: RELAY EASY [6].............................................................................................21
HÌNH 6-2: SƠ ĐỒ THIẾT KẾ RELAY EASY................................................................22
HÌNH 6-3: ARDUINO UNO R3 [7]...................................................................................23
HÌNH 6-4: SƠ ĐỒ NGUYÊN LÝ MẠCH ĐIỀU KHIỂN THIẾT BỊ..........................24
HÌNH 6-5: MÔ HÌNH KHỐI ĐIỀU KHIỂN THIẾT BỊ...............................................24
HÌNH 6-6: MÔ HÌNH ĐIỀU KHIỂN THIẾT BỊ DÙNG CỬ CHỈ BÀN TAY...........25

4


DANH MỤC CÁC BẢNG BIỂ

BẢNG 5-1: BẢNG ĐÁNH GIÁ NHẬN DIỆN THEO TỪNG PHƯƠNG PHÁP.......20

5



DANH MỤC CÁC TỪ VIẾT TẮT
PCA

Principal Component Analysis

6


Trang 1/46

CHƯƠNG 1.

TỔNG QUAN VỀ ĐIỀU KHIỂN THIẾT BỊ DÙNG
CỬ CHỈ TAY

1.1 Giới thiệu đề tài
Hiện nay ta có rất nhiều kỹ thuật hận diện như: nhận diện khuôn mặt , nhận dạng
vân tay, … và đã được ứng dụng trong rất nhiều lĩnh vực. Và trong đồ án tốt nghiệp
này, em xin trình bày một kỹ thuật nhận dạng khác đó là nhận dạng cử chỉ bàn tay.
Cử chỉ bàn tay có thể được sử dụng hiệu quả để đưa ra lệnh điều khiển thiết bị, và
từ đó ta có thể sử dụng chúng trong một số lượng lớn các ứng dụng.
1.1.1

Mục đích nghiên cứu

Tìm hiểu về lý thuyết xử lí ảnh trong MATLAB.
Tìm hiểu về phương pháp phân tích thành phần chính PCA và ứng dụng nó vào đề
tài.
Xây dựng ứng dụng có khả năng nhận dạng cử chỉ bàn tay dùng cho việc điều khiển

thiết bị.
1.1.2

Phương pháp nghiên cứu

Tìm hiểu lý thuyết:
 Các thuật toán nhận dạng cử chỉ bàn tay.
 Phương pháp PCA.
 Phương pháp lập trình trong MATLAB.
Tiến hành thực nghiệm:
 Từ các lý thuyết PCA, ứng dụng vào lập trình trong MATLAB tạo ra chương
trình nhận diện cử chỉ bàn tay.
 Mô phỏng và đánh giá kết quả thực nghiệm.
 Kết nối phần mềm với phần cứng điều khiển.

Điều khiển thiết bị dùng cử chỉ bàn tay


Trang 2/46

1.2 Định nghĩa về phương pháp nhận diện cử chỉ bàn tay
Nhận diện cử chỉ bàn tay là phương pháp dùng kỹ thuật máy tính để có thể xác định
được các cử chỉ của bàn tay mà cụ thể trong đồ án này là đếm được số ngón tay
được thể hiện. Từ đó dùng để phát triển ứng dụng điều khiển các thiết bị.

Điều khiển thiết bị dùng cử chỉ bàn tay


Trang 3/46


CHƯƠNG 2.

CÁC KHÁI NIỆM CƠ BẢN VỀ ẢNH

2.1 Ảnh số và điểm ảnh (pixel)
Ảnh số là tập hợp hữu hạn các điểm ảnh có mức xám phù hợp dùng để mô tả các
ảnh gần giống với ảnh thật nhất. Số điểm ảnh sẽ xác định độ phân giải của ảnh.
Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) có độ xám hoặc màu
nhất định. Kích thước cùng với khoảng cách giữa các điểm ảnh được chọn sao cho
mắt người có thể cảm nhận được sự liên tục về không gian và mức xám (hoặc màu)
của ảnh số gần như là ảnh thật. Và mỗi phần tử trong ma trận đó sẽ được gọi là một
phần tử ảnh.
2.2 Mức xám của ảnh
Mức xám của ảnh thì là kết quả của sự biến đổi tương ứng giá trị độ sáng của 1
điểm ảnh với 1 giá trị nguyên dương. Thông thường nó được xác định trong [0, 255]
tuỳ thuộc vào giá trị mà mỗi điểm ảnh được biểu diễn. Các thang giá trị mức xám
thông thường là: 16, 32, 64, 128, 256.
2.3 Các loại ảnh
2.3.1

Ảnh nhị phân

Giá trị của tất cả các điểm ảnh chỉ nhận giá trị 1 hoặc 0, vì vậy mỗi điểm ảnh trong
ảnh nhị phân sẽ được biểu diễn bởi 1 bit.

Hình 2-1: Ảnh nhị phân [5]

Điều khiển thiết bị dùng cử chỉ bàn tay



Trang 4/46

2.3.2

Ảnh xám

Giá trị mỗi điểm ảnh sẽ nằm trong khoảng [0 255], như vậy mỗi điểm ảnh trong ảnh
xám sẽ được biểu diễn bởi 1 byte hoặc 8 bits.

Hình 2-2: Ảnh xám [5]

2.3.3

Ảnh màu RGB

Ảnh màu còn được gọi là ảnh “Truecolor”, nó đựợc biểu diễn bởi một ma trận với 3
chiều có kích thước (MxN)x3, trong đó MxN là kích thước ảnh theo pixel. Mỗi
điểm ảnh có giá trị gồm có 3 màu : màu đỏ (Red) + xanh lục (Green) + xanh dương
(Blue).

Hình 2-3: Ảnh màu RGB [5]

Điều khiển thiết bị dùng cử chỉ bàn tay


Trang 5/46

CHƯƠNG 3.

PHƯƠNG PHÁP PHÂN TÍCH THÀNH PHẦN

CHÍNH PCA

3.1 Tìm hiểu về PCA
PCA - Principal Component Analysis hay còn gọi là phương pháp phân tích theo
thành phần chính. Phương pháp này được phát minh năm 1901 bởi Karl Pearson và
hiện nay nó được sử dụng như công cụ để phân tích dữ liệu nghiên cứu và thực hiện
các mô hình dự đoán. PCA còn bao gồm cả việc tính toán và phân tích các giá trị
đặc trưng của một ma trận tương quan dữ liệu hay phân tích các giá trị đơn của ma
trận dữ liệu sau khi đã tính trung bình dữ liệu của mỗi thuộc tính. PCA là phương
pháp đơn giản nhất để phân tích đa biến dựa trên các vector đặc trưng.
PCA là một trong những phương pháp có nhiều đặc tính tốt:
 Giúp làm giảm số chiều của dữ liệu.
 Thay vì giữ lại các trục tọa độ của không gian cũ, PCA xây dựng một không
gian mới có số chiều ít hơn, nhưng lại có thể biểu diễn dữ liệu tốt tương
đương với không gian cũ, có nghĩa là vẫn đảm bảo được độ biến thiên của dữ
liệu trên mỗi chiều mới.
 PCA xây dựng đặc tính mới dựa trên các đặc tính đã quan sát được.
Ta có thể hiểu, mục tiêu của phương pháp PCA là tìm ra một không gian mới, với số
chiều ít hơn không gian cũ. Các trục tọa độ trong không gian mới này thì được xây
dựng sao cho trên mỗi trục, độ biến thiên của dữ liệu trên đó là lớn nhất có thể
(maximize the variability).

Điều khiển thiết bị dùng cử chỉ bàn tay


Trang 6/46

Hình 3-1: Các phép chiếu trên trục tọa độ khác nhau cho cách nhìn khác nhau về cùng một dữ
liệu [5]


Hình 3-1 là một ví dụ điển hình cho thuật toán PCA. Cùng là hình ảnh một con lạc
đà nhưng nếu nhìn từ bên hông thì ta có được thông tin đầy đủ nhất, trong khi nếu
nhìn từ phía trước thì ta không đủ thông tin để xác định nó là con lạc đà.

Hình 3-2: Tìm trục tọa độ mới sao cho dữ liệu có độ biến thiên cao nhất [5]

Giả sử tập dữ liệu ban đầu (các chấm màu xanh) nếu được quan sát trong không
gian 3 chiều (trục màu đen) như hình bên trái. Rõ ràng ở hệ trục này không thể biểu
diễn được tốt nhất mức độ biến thiên của dữ liệu. Do đó PCA sẽ tìm hệ trục tọa độ
mới (là hệ trục màu đỏ trong hình bên trái). Và sau khi đã tìm được không gian mới,
dữ liệu sẽ được chuyển sang không gian này và biểu diễn như trong hình bên phải.

Điều khiển thiết bị dùng cử chỉ bàn tay


Trang 7/46

Và với hình bên phải, ta chỉ cần 2 trục tọa độ nhưng đã biểu diễn tốt hơn so với hệ
trục 3 chiều ban đầu.
3.2 Thuật toán PCA trong nhận diện cử chỉ bàn tay
3.2.1

Nhận các ảnh bàn tay từ cơ sở dữ liệu – tập ảnh huấn luyện

Đầu tiên, chúng ta sẽ tiến hành tạo cơ sở dữ liệu cho chương trình đó là nhận vào
các ảnh huấn luyện Ii. Các ảnh huấn luyện ở đây đều là ảnh bàn tay, với bàn tay phải
ở tâm ảnh và có cùng một kích thước.
Giả sử ta có N ảnh huấn luyện, khi đó i=1…N

Hình 3-3: Các ảnh huấn luyện có cùng kích thước


Tương ứng với mỗi ảnh Ii ta sẽ có một vector Zi:
I(i) (ảnh M×M) → Z(i) (vector M2)
3.2.2

Tính giá trị vector trung bình

Giá trị vector trung bình được tính bằng công thức sau:

ᴪ= i
Điều khiển thiết bị dùng cử chỉ bàn tay


Trang 8/46

Với N là số ảnh trong tập ảnh huấn luyện, Z i là vector 1 chiều (M2×1) sẽ đại diện
cho mỗi ảnh.
Ψ là vector trung bình (kích thước M 2×1) của tập tất cả các vector Z i ở trên; Ψ còn
được gọi là vector trung bình của tập ảnh huấn luyện.
3.2.3

Trừ đi giá trị trung bình

Sai số của các ảnh so với giá trị vector trung bình được tính theo công thức như sau:
Φi = Zi – Ψ (*)
Φi là vector sai số ứng với mỗi ảnh, Z i là vector 1 chiều của các ảnh, Ψ là vector
trung bình.
3.2.4

Tính ma trận hiệp biến


Ma trận hiệp biến được tính theo công thức như sau:
C=T = AAT
Trong đó C là ma trận hiệp biến ( với kích thước M2× M2).
A = [ɸ1, ɸ2 , ɸ 3 , … … … … ɸn].
2
A là ma trận M × N, �n là giá trị sai số được tính ở công thức (*).
3.2.5

Tính các trị riêng và vector đặc trưng của ma trận hiệp

biến
Để tính các trị riêng và vector đặc trưng của ma trận hiệp biến chúng ta phải tính
với ma trận C và cũng chính là tính cho ma trận AA T. Tuy nhiên điều này thì không
khả thi, vì C là ma trận M 2× M2 nên sẽ có số chiều rất lớn, khối lượng tính toán sẽ
vô cùng nhiều.
Trong khi đó, 2 ma trận AA T và ATA thì nó luôn có chung trị riêng và vector đặc
trưng và có liên hệ với nhau bởi biểu thức ri = Aui, mà trong khi đó ma trận ATA
thì lại có số chiều ít hơn hẳn (ma trận N×N) nên ta sẽ chuyển đổi về ma trận A TA.

Điều khiển thiết bị dùng cử chỉ bàn tay


Trang 9/46

Sau khi tính toán ta được N vector đặc trưng của AA T (ri = Aui) tương ứng với N
giá trị riêng.
3.2.6

Lựa chọn các thành phần và xây dựng vector đặc trưng


Nhằm giảm thiểu tối đa số chiều cũng như giảm độ phức tạp tính toán, ta chỉ giữ lại
K vector đặc trưng (tương ứng với K giá trị riêng lớn nhất). Khi đó mỗi ảnh sau khi
trừ đi giá trị trung bình thì sẽ được đại diện bởi K vector đặc trưng và sẽ được đưa
vào không gian đặc trưng:
T
�� − ���� = , trong đó wj =rj . ( Zi - ᴪ )
Khi ta thực hiện Φ = Zi - ᴪ , nó được gọi là quá trình chuẩn hóa vector.
Với mỗi ảnh training Φi sẽ được biểu diễn bởi một vector:
T
i=[wi1, wi2, wi3,… …., wiK]
Trong đó wj i với (j=1..K) là các trọng số tương ứng với K vector đặc trưng, i là
vector đại diện cho ảnh thứ i trong tập ảnh huấn luyện.
3.2.7

Tính giá trị £j

Ở bước này chúng ta sẽ tính khoảng cách Euclide của ma trận

 so với không gian.

Có nghĩa là ta sẽ đi tính khoảng cách tới từng bức ảnh trong tập ảnh huấn luyện và
tìm ra khoảng cách tới bức ảnh huấn luyện nào gần nhất trong không gian. Khoảng
cách này dưa theo công thức sau:
£j= min ||  - j ||; j = 1, 2,3… N
Với N là số ảnh trong tập ảnh huấn luyện. Sau khi tính được khoảng cách Euclide,
từ so sánh ở sai số thấp nhất với cơ sở dữ liệu, ta sẽ suy ra được số ngón tay nào
đang thể hiện.

Điều khiển thiết bị dùng cử chỉ bàn tay



Trang 10/46

CHƯƠNG 4.

THIẾT KẾ HỆ THỐNG

4.1 Sơ đồ khối hệ thống

Hình 4-1: Sơ đồ khối 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 các 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 ta đưa ra cử chỉ bàn tay trước webcam, khối nhận dạng cử chỉ sẽ tách từng
khung hình trong các hình ảnh được chụp. 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 đó sẽ đưa các đặc trưng này vào bộ phận các loại
cử chỉ để có thể xác định lớp mà cử chỉ đó thuộc về. 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. Khối thực thi lệnh sẽ thực thi các lệnh ứng với từng cử chỉ đã được nhận dạng.
Hệ thống có thể sử dụng trong nhiều ứng dụng khác nhau.

Điều khiển thiết bị dùng cử chỉ bàn tay


Trang 11/46


4.2 Khối nhận diện cử chỉ bàn tay

Hình 4-2: Sơ đồ khối hệ thống nhận diện cử chỉ bàn tay

4.2.1

Xây dựng dữ liệu huấn luyện

Giai đoạn này có nhiệm vụ xây dựng bộ nhận dạng cho từng cử chỉ. Dữ liệu được
lấy từ dữ liệu huấn luyện, sau khi qua quá trình tiền xử lý sẽ được trích chọn các
đặc trưng. Các đặc trưng được trích chọn sẽ làm dữ liệu đầu vào cho thuật toán phân
lớp. Kết quả trả về của giai đoạn này là các tập tin mô hình huấn luyện để phục vụ
cho quá trình nhận dạng cử chỉ bàn tay.
4.2.2

Thu nhận tín hiệu, tiền xử lý

Nếu là hệ nhận dạng đối tượng vật lý, ở đầu vào của hệ thống thường sẽ là một loại
thiết bị chuyển đổi, ví dụ như máy ghi hình hoặc ghi âm… Thiết bị này sẽ thu nhận
tín hiệu các đối tượng dùng để nhận dạng. Các tín hiệu này thông thường sẽ được số
hóa, sau đó sẽ được tiến hành tiền xử lý như : lọc nhiễu, tách ngưỡng…

Điều khiển thiết bị dùng cử chỉ bàn tay


Trang 12/46

4.2.3

Trích chọn đặc trưng


Các đặc điểm của đối tượng sẽ được trích chọn tuỳ theo mục đích nhận dạng trong
quá trình xử lý ảnh. Có thể nêu ra một số đặc điểm của ảnh sau đây:
 Đặc điểm không gian: Phân bố mức xám….
 Đặc điểm biến đổi: Các đặc điểm loại này được trích chọn bằng việc thực
hiện lọc vùng (zonal filtering).
 Đặc điểm biên và đường biên: Đặc trưng cho đường biên của đối tượng và
do vậy rất hữu ích trong việc trích trọn các thuộc tính bất biến được dùng khi
nhận dạng đối tượng.
4.2.4

Giai đoạn nhận dạng cử chỉ và phân loại cử chỉ

Giai đoạn này thực hiện việc phân tích từ dữ liệu đầu vào để kiểm tra xem trong dữ
liệu đầu vào có chứa cử chỉ đang kiểm tra hay không. Dữ liệu đầu vào cũng qua các
quá trình tiền xử lý, rồi trích chọn đặc trưng và sau đó sẽ đưa vào bộ nhận dạng. Bộ
nhận dạng sẽ phân loại các đặc trưng vào các lớp đã được định nghĩa trong mô hình
huấn luyện trước đó. Sau đó cử chỉ được phân loại nhờ vào việc kết hợp các bộ
nhận dạng cử chỉ. Mỗi bộ nhận dạng cử chỉ sẽ có chức năng nhận dạng một cử chỉ
ứng với các đặc trưng đã được huấn luyện. Bộ phân loại sẽ nhận vào một ảnh và
cho biết trong ảnh đó có chứa những cử chỉ nào (cho biết vị trí của vùng ảnh tương
ứng với các cử chỉ đó).

Điều khiển thiết bị dùng cử chỉ bàn tay


Trang 13/46

4.3 Khối điều khiển thiết bị


Hình 4-3: Sơ đồ khối hệ thống điều khiển thiết bị

Khối điều khiển thiết bị 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 hành động điều khiển cụ thể.

4.4

Điều khiển thiết bị dùng cử chỉ bàn tay


Trang 14/46

CHƯƠNG 5.

CHƯƠNG TRÌNH NHẬN DIỆN CỬ CHỈ BÀN TAY

5.1 Yêu cầu
 Dữ liệu đầu vào: Là ảnh bàn tay của một người nào đó đã được chuẩn hóa.
 Dữ liệu đầu ra: Chương trình nhận dạng đưa ra thông tin về bàn tay hiển thị
số mấy (ví dụ: bàn tay 1 ngón thì sẽ hiển thị số 1, v.v..).
5.2 Phân tích chương trình
5.2.1

Xây dựng cơ sở dữ liệu

Tập dữ liệu ở đây chính là tập ảnh huấn luyện (Training image). Hình ảnh các ngón
tay thể hiện giá trị từ 1-5. Mỗi giá trị đều xuất hiện 5 lần với các cách thể hiện khác
nhau nhằm tạo sự đa dạng cho database.


Hình 5-1: Một phần của tập ảnh luyện

Điều khiển thiết bị dùng cử chỉ bàn tay


Trang 15/46

Hình 5-2: Lưu đồ thuật toán trong tập ảnh luyện

Việc đầu tiên luôn là đọc các ảnh từ tập ảnh huấn luyện vào cơ sở dữ liệu. Khi đọc,
ảnh sẽ ở dạng ảnh màu, kích thước 640x480. Ta sẽ tiến hành các bước tiền xử lý cơ
bản cho ảnh, đó là đưa ảnh về mức xám và chuyển thành vector một chiều. Sau khi
thực hiện lệnh này, ảnh màu sẽ chuyển thành ảnh xám.
 Tính vector trung bình của tập ảnh huấn luyện.
Để tính vector trung bình này ta sẽ nhóm các vector 1 chiều ở trên vào 1 ma trận T
rồi thực hiện việc tính toán vector trung bình bằng lệnh như sau:
m = mean(T,2);
 Tính sai số của từng ảnh so với ma trận trung bình.
Các vector sai số này sau đó sẽ được gộp thành một ma trận là ma trận A.
A=zeros(size(T));
for i=1:c
A(:,i)=T(:,i)-m;
end
Như vậy ta được ma trận A, và ma trận hiệp biến C= AAT.
 Tính trị riêng và vector riêng của C.
Ta tính trị riêng và vector riêng của AAT thông qua tính trị riêng và vector riêng của
ma trận ATA.
Điều khiển thiết bị dùng cử chỉ bàn tay



Trang 16/46

L = A'*A;
[V D] = eig(L);
Ta đã tính được vector đặc trưng và trị riêng tương ứng của A TA với 2 biến V và D
tương ứng. Tính vector đặc trưng của ma trận AAT theo công thức ui = Avi.
Sau đó ta sẽ trích chọn đặc trưng và đưa chúng về 1 không gian đặc trưng và biểu
diễn các ảnh theo vector trị riêng mà chúng ta vừa tìm được.Các ảnh sẽ tương ứng
với một vector trọng số wj mà mỗi hệ số của vector là hệ số tương ứng với một
vector đặc trưng trong số các vector đặc trưng vừa tìm được.
5.2.2

Nhận diện cử chỉ bàn tay

Hình 5-3: Lưu đồ thuật toán nhận diện cử chỉ bàn tay

Đầu tiên ta cũng đọc ảnh vào từ tập ảnh nhận dạng, với lưu ý ảnh nhận dạng phải có
cùng kích thước với ảnh trong tập ảnh huấn luyện (kích thước 640x480). Sau đó
tiến hành xử lý cơ bản chuyển ảnh thành ảnh xám và đưa về vector 1 chiều.
 Trừ đi vector trung bình đã tính ở trên.
A=T-m;
Đưa ảnh nhận dạng vào không gian đặc trưng. Mục đích của bước này nhằm tìm ra
các trọng số wi tương ứng với từng vector đặc trưng của ảnh huấn luyện. Bước này
được mô tả bằng công thức như sau:
Điều khiển thiết bị dùng cử chỉ bàn tay


Trang 17/46

�� = ��� �

Với các ui (i=1..k) là các vector đặc trưng của tập ảnh huấn luyện
q=E'*A;
 Tính khoảng cách Euclide
[~,c]=size(q);
e=zeros(1,c);
for i=1:c
e(i)=norm(q(:,i)-q_test);
end
Tính lần lượt khoảng cách từ vector của các ảnh nhận dạng đến từng vector ảnh của
tập ảnh huấn luyện (M ảnh) rồi ta đưa chúng vào một ma trận. Mục đích của việc
đưa vào ma trận này là tìm ra được giá trị nhỏ nhất trong các khoảng cách đó để
xem ảnh nhận dạng gần với ảnh nào nhất trong tập ảnh huấn luyện.
p=find(e==min(e));
p=p(1);
Giá trị khoảng cách nhỏ nhất đó được lấy ra và gán vào biến p.
 So sánh khoảng cách này với khoảng cách ngưỡng
Mục đích là để rút ra kết luận liệu nó có phải là bức ảnh nào trong tập ảnh huấn
luyện hay không. Ngưỡng ở đây sẽ được gán nhờ thực nghiệm tương ứng với tập cơ
sở dữ liệu đã xây dựng.
5.3 Thiết kế chương trình
5.3.1

Giao diện chương trình

Giao diện chính của chương trình như sau:

Điều khiển thiết bị dùng cử chỉ bàn tay


Trang 18/46


Hình 5-4: Giao diện chính chương trình

Chương trình bao gồm tất cả các chức năng như: kết nối với camera, kết nổi cổng
COM để điều khiển thiết bị, chụp ảnh từ camera hoặc chọn một ảnh bất kì từ tập
ảnh có sẵn để nhận diện.
5.3.2

Hoạt động của chương trình

5.3.2.1 Tạo cơ sở dữ liệu

Hình 5-5: Giao diện tạo cơ sở dữ liệu

Điều khiển thiết bị dùng cử chỉ bàn tay


Trang 19/46

Ta nhấn nút Train ở chương trình, và 1 hộp thoại hiện lên để ta chọn tập ảnh luyện.

Hình 5-6: Giao diện chọn tập ảnh huấn luyện
5.3.2.2 Đưa ảnh vào nhận dạng

Ta có thể sử dụng camera hoặc chọn 1 ảnh bất kì từ tập ảnh có sẵn để nhận dạng
thông qua nút “Chup anh” và “Chon anh bat ki”. Sau đó dùng phím “Nhan dang” để
trả về kết quả hiển thị ở khung trống.

Hình 5-7: Giao diện đưa ảnh vào nhận dạng


Điều khiển thiết bị dùng cử chỉ bàn tay


×