1.2 Định nghĩa về phương pháp nhận diện cử chỉ bàn tayNhậ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
Trang 1ĐIỀU KHIỂN THIẾT BỊ DÙNG CỬ CHỈ
BÀN TAY
Trang 2DANH 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
Trang 34.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
Trang 4HÌ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
Trang 5BẢNG 5-1: BẢNG ĐÁNH GIÁ NHẬN DIỆN THEO TỪNG PHƯƠNG PHÁP 20
Trang 7CHƯƠ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ạngvân tay, … và đã được ứng dụng trong rất nhiều lĩnh vực Và trong đồ án tốt nghiệpnà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ểnthiết bị
1.1.2 Phương pháp nghiên cứu
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
Trang 81.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ị
Trang 9CHƯƠ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àunhấ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 chomắ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ộtphầ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ámthô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
Trang 10Hình 2-3: Ảnh màu RGB [5]
Trang 11CHƯƠ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 theothà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ệncá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 matrậ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ươngphá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ônggian 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ì đượcxâ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).
Trang 12Hì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ếunhì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ônggian 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ểudiễ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
Trang 13Và 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àocá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:
Trang 143.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:
A là ma trận M2× 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ínhvới ma trận C và cũng chính là tính cho ma trận AAT Tuy nhiên điều này thì khôngkhả thi, vì C là ma trận M2× 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 AAT 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 ATAthì 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 ATA
Trang 15Sau khi tính toán ta được N vector đặc trưng của AAT (ri = Aui) tương ứng với Ngiá 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 khitrừ đi giá trị trung bình thì sẽ được đại diện bởi K vector đặc trưng và sẽ được đưavào không gian đặc trưng:
𝛷𝑖 − 𝑚𝑒𝑎𝑛 = ∑
j=1
K
w j r j, trong đó wj =rjT ( Zi - ᴪ )Khi ta thực hiện Φi = Z = Zi - ᴪ , nó được gọi là quá trình chuẩn hóa vector
Với mỗi ảnh training Φi = Zi sẽ được biểu diễn bởi một vector:
i=[wi1, wi2, wi3,… …., wiK]TTrong đó 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ảngcá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
Trang 16CHƯƠNG 4 THIẾT KẾ HỆ THỐNG4.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ừngkhung 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ìnhthự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
Trang 174.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 đượclấ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 đặctrư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ânlớ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ạithiế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ậntí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…
Trang 184.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 trongquá 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ựchiệ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 khinhậ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ácquá 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ìnhhuấ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ỉ đó)
Trang 194.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áclệ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
Trang 20CHƯƠ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óntay 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ácnhau 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
Trang 21Hì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 khithự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 Trồ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:cA(:,i)=T(:,i)-m;
endNhư 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
Trang 225.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 racá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:
Trang 23𝑤𝑖 = 𝑢𝑖𝑇 𝜱 Với các ui (i=1 k) là các vector đặc trưng của tập ảnh huấn luyện
endTí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ủatậ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ấnluyệ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:
Trang 24Hì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ổngCOM để đ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
Trang 25Ta 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ạngthô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
Trang 265.4 Kết quả và đánh giá
Chương trình nhận diện cử chỉ tay được lập trình bằng phần mềm MATLAB 2013b,
sử dụng camera của laptop để đưa ảnh đầu vào Sử dụng dữ liệu đầu vào theo 2dạng: nhập ảnh đã được chụp sẵn và ảnh được chụp bằng webcam
Bảng 5-1: Bảng đánh giá nhận diện theo từng phương pháp
Nhận xét: Phương pháp nhận diện sử dụng hình ảnh có sẵn cho hiệu suất cao
hơn các phương pháp khác ( do chất lượng ảnh và môi trường ánh sáng tốt)
Hướng giải quyết: Nếu sử dụng phương pháp nhập ảnh qua webcam thì
phải chụp ảnh trong môi trường ánh sáng tốt, và sử dụng thêm những phươngpháp lọc nhiễu ảnh trong quá trình chuẩn hóa đầu vào cho ảnh