ĐẠI HỌC THÁI NGUYÊN

i

TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

NGUYỄN KHÁNH TÙNG

PHƢƠNG PHÁP NHẬN DIỆN MẪU SỬ DỤNG

MÔ HÌNH TÚI TỪ VÀ MẠNG NEURAL

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Thái Nguyên, tháng 06 năm 2016

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

ĐẠI HỌC THÁI NGUYÊN

ii

TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

NGUYỄN KHÁNH TÙNG

PHƢƠNG PHÁP NHẬN DIỆN MẪU SỬ DỤNG

MÔ HÌNH TÚI TỪ VÀ MẠNG NEURAL

Chuyên ngành: Khoa học máy tính Mã số: 60 48 01 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Ngƣời hƣớng dẫn khoa học

TS. Nguyễn Toàn Thắng

Thái Nguyên, tháng 06 năm 2016

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

iii

LỜI CAM ĐOAN

Tên tôi là Nguyễn Khánh Tùng, học viên cao học lớp 13 C niên khóa

2014- 2016, chuyên nghành Khoa học máy tính. Tôi xin cam đoan luận văn

thạc sĩ: Phƣơng pháp nhận diện mẫu sử dụng mô hình túi từ và mạng

Neural của tự bản thân tôi tìm hiểu, nghiên cứu dƣới sự hƣớng dẫn của TS.

Nguyễn Toàn Thắng. Các chƣơng trình thực nghiệm do chính bản thân tôi lập

trình, các kết quả là hoàn toàn trung thực. Các tài liệu tham khảo đƣợc trích

dẫn và chú thích đầy đủ.

TÁC GIẢ LUẬN VĂN

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Nguyễn Khánh Tùng

iv

LỜI CẢM ƠN

Để hoàn thành luận văn này tôi đƣợc rất nhiều sự động viên giúp đỡ

của các cá nhân tập thể.

Trƣớc hết, cho tôi xin đƣợc bày tỏ lòng biết ơn sâu sắc nhất đến TS

Nguyễn Toàn Thắng đã hƣớng dẫn tôi thực hiện đề tài nghiên cứu của mình.

Xin cùng bày tỏ lòng biết ơn chân thành tới các thầy, cô giáo ngƣời đã

đem lại cho tôi những kiến thức vô cùng quý giá, có ích trong những năm học

vừa qua.

Cảm ơn Trung tâm HN&GDTX Thị xã Đông Triều đã hết sức tạo điều

kiện cho tôi trong suốt quá trình học tập.

Cùng xin gửi lời cảm ơn chân thành tới Ban giám hiệu, Phòng Đào tạo,

Khoa sau đại học, Đại học Công nghệ thông tin và Truyền thông Thái Nguyên

đã tạo điều kiện cho tôi trong quá trình học tập và nghiên cứu.

Cuối cùng tôi xin gửi lời cảm ơn đến gia đình, bạn bè đồng nghiệp, tập thể

lớp Khoa học máy tính K13 C Quảng Ninh, những ngƣời đã luôn bên tôi, động

viên và khuyến khích tôi trong quá trình thực hiện đề tài nghiên cứu của mình.

HỌC VIÊN

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Nguyễn Khánh Tùng

v

LỜI CAM ĐOAN ........................................................................................................ i

LỜI CẢM ƠN ............................................................................................................ iv

MỤC LỤC ................................................................................................................... v

DANH MỤC CÁC BẢNG ........................................................................................ vii

DANH MỤC CÁC HÌNH ....................................................................................... viii

MỞ ĐẦU ..................................................................................................................... 1

CHƢƠNG 1. TỔNG QUAN ....................................................................................... 5

1.1. Khảo sát một số công trình đã đƣợc công bố về nhận diện bàn tay ................ 5

1.2.Trích chọn đặc trƣng ....................................................................................... 10

1.2.1. Đặt vấn đề ............................................................................................... 10

1.2.2. Đặc trƣng màu sắc .................................................................................. 11

1.2.3. Đặc trƣng kết cấu .................................................................................... 12

1.2.4. Đặc trƣng hình dạng ............................................................................... 13

1.2.5. Đặc trƣng cục bộ bất biến ....................................................................... 14

1.3. Phân lớp dữ liệu và mạng neuron .................................................................. 18

1.3.1. Phân lớp dữ liệu ...................................................................................... 18

1.3.2. Các vấn đề liên quan đến phân lớp dữ liệu............................................. 21

1.3.3. Mạng neuron ........................................................................................... 22

CHƢƠNG 2. TRÌNH BÀY SỬ DỤNG MÔ HÌNH TÚI TỪ ĐỂ XÂY DỰNG BỘ 29

MÔ TẢ CHO VẬT THỂ VÀ THUẬT TOÁN NHẬN DIỆN VẬT THỂ VỚI

MẠNG NEURON ..................................................................................................... 29

2.1. Mô hình túi từ trong phân lớp văn bản .......................................................... 29

2.2. Ý tƣởng và Thuật toán .................................................................................. 31

2.3. Diễn giải chi tiết thuật toán ........................................................................... 35

2.3.1. Trích chọn và mô tả đặc trƣng với SURF .............................................. 35

2.3.2. Phân cụm đặc trƣng SURF và sinh từ điển ............................................ 37

2.3.3.Tạo loại mô tả vật thể mới dựa trên SURF và từ điển để dùng cho mạng

neuron ........................................................................................................................ 40

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

MỤC LỤC

2.3.4. Huấn luyện và phân lớp với mạng neuron ............................................. 42

CHƢƠNG 3. XÂY DỰNG CHƢƠNG TRÌNH THỬ NGHIỆM ............................. 44

3.1. Các lớp xây dựng chƣơng trình ..................................................................... 44

3.2. Chƣơng trình «Hand Recognitor» ................................................................. 49

CHƢƠNG 4. THỬ NGHIỆM THUẬT TOÁN VÀ PHÂN TÍCH KẾT QUẢ ......... 60

4.1. Thử nghiệm với các bộ dữ liệu tự tạo ............................................................ 60

4.1.1. Giai đoạn sinh từ điển và huấn luyện ..................................................... 60

4.1.2. Test với bộ dữ liệu chứa các ảnh với nền đơn giản ở nhiều góc nghiêng

và khoảng cách khác nhau ................................................................................ 63

4.1.3. Test với bộ dữ liệu chứa các ảnh có nhiễu ............................................. 67

4.1.4. Test với bộ dữ liệu chứa ảnh bị nhiễu nặng ........................................... 69

4.1.5. Kết luận................................................................................................... 70

4.2. Thử nghiệm với một số bộ dữ liệu mở .......................................................... 71

4.2.1. Thử nghiệm với bộ dữ liệu của Sebastien Marcel .................................. 71

4.2.2. Test với bộ dữ liệu của Đại học Cambridge ........................................... 73

KẾT LUẬN ............................................................................................................... 76

TÀI LIỆU THAM KHẢO ......................................................................................... 77

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

vi

vii

DANH MỤC CÁC BẢNG

Số bảng Tên bảng Trang

Bảng 3.1 Mô tả các lớp để xây dựng mạng neuron ........................................ 45

Bảng 3.2 Mô tả các lớp của module SURF ..................................................... 46

Bảng 3.3 Mô tả một số lớp thuộc module sinh từ điển ................................... 47

Bảng 4.1. Một số kết quả phân tích số lƣợng đặc trƣng với các giá trị khác

nhau của ngƣỡng Hessian. .............................................................................. 62

Bảng4.2. Kết quả test với các bộ dữ liệu hình có kích thƣớc khác nhau ........ 65

Bảng 4.3. Kết quả test với bộ dữ liệu ảnh có nhiễu nhẹ ................................. 68

Bảng 4.4. Kết quả test với bộ dữ liệu có nhiễu ............................................... 70

Bảng 4.5. Kết quả test với bộ dữ liệu Sebastien Marcel ................................. 72

Bảng 4.6. Kết quả thử nghiệm của mô hình CGM .......................................... 73

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Bảng. 4.7. Kết quả thử nghiệm với bộ dữ liệu của Đại học Cambridge ......... 75

viii

DANH MỤC CÁC HÌNH

Số hình Tên hình Trang

Hình 1.1 Găng tay có gắn thiết bị trong HCI .................................................... 6

Hình 1.2. Mô hình bàn tay với 27 DOF do Tomasi xây dựng và nguyên tắc

hoạt động của các phƣơng pháp dựa trên mô hình 3D ..................................... 7

Hình 1.3. Nhận diện bàn tay dựa trên đƣờng biên ............................................ 8

Hình 1.4. Đặc trƣng Haar và AdaBoost ............................................................ 9

Hình 1.5 Biểu đồ mô phỏng việc tính toán các DoG ảnh từ các ảnh kê mờ ... 16

Hình 1.6 Quá trình lựa chọn các điểm hấp dẫn ............................................... 17

Hình 1.7 Biểu diễn vector đặc trƣng ............................................................... 18

Hình 1.8.cấu trúc cơ bản của một neuron ....................................................... 23

Hình 1.9 Mô hình neuron của Mc. Culloch và Pitts ....................................... 24

Hình 1.10. Mạng truyền thẳng ba lớp ............................................................. 25

Hình 2.1. Mô tả ý tƣởng của thuật toán nhận diện vật thể trình bày dựa trên

mô hình túi từ .................................................................................................. 32

Hình 2.2. Sơ đồ tổng quát của thuật toán nhận diện vật thể trình bày ............ 33

Hình 2.3. Đặc trƣng đƣợc trích chọn bằng SURF ........................................... 37

Hình 2.4.Mô tả trực quan quá trình phân cụm và sinh từ điển ....................... 39

Hình 2.5. Vật thể và mô tả BOW tƣơng ứng .................................................. 41

Hình 2.6.Mạng neuron nhiều lớp .................................................................... 42

Hình 3.1 Các lớp để xây dựng mạng neuron .................................................. 45

Hình 3.2 Mô tả các lớp của module SURF ..................................................... 46

Hình 3.3 Các lớp thuộc module sinh từ điển .................................................. 48

Hình 3.4 Giao diện chính của chƣơng trình Hand Recognitor ....................... 49

Hình 3.5. Giao diện module tạo dữ liệu và test thuật toán.............................. 50

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Hình 3.6. Tab «Real-time» để tạo bộ dữ liệu .................................................. 51

ix

Hình 3.7. Ví dụ về các ảnh thu đƣợc thuộc 4 lớp «Fist», «OK», «Palm»,

«Point» ............................................................................................................ 52

Hình 3.8. Giao diện module tạo dữ liệu và test thuật toán.............................. 53

Hình 3.9. Ứng dụng «BOW params» để lựa chọn tham số ............................ 54

Hình 3.10 Kết quả phân tích bộ ảnh thuộc 4 lớp ............................................ 55

Hình 3.11 Giao diện để tạo và huấn luyện mạng neuron. ............................... 56

Hình 3.12 Tự động test độ chính xác của thuật toán ...................................... 58

Hình 3.13 Kiểm tra hoạt động của thuật toán ................................................. 59

Hình 3.14 Thử nghiệm nhận diện trong thời gian thực................................... 59

Hình 4.1. Các lớp vật thể trong các bộ dữ liệu ............................................... 60

Hình 4.2. Một phần bộ dữ liệu dùng để sinh từ điển ...................................... 61

Hình 4.3. Bộ dữ liệu huấn luyện. .................................................................... 63

Hình 4.4. Một số hình trong bộ dữ liệu test .................................................... 64

Hình 4.5. Một phần bộ dữ liệu test với nhiễu nhẹ .......................................... 68

Hình 4.6. Một phần bộ dữ liệu thử nghiệm ..................................................... 69

Hình 4.7 Các lớp trong bộ dữ liê ̣u Sebastien Marcel ...................................... 71

Hình 4.8. Một số hình thuộc lớp A chia làm hai nhóm: nhóm “đơn giản”

(hàng trên), nhóm “phức tạp” (hàng dƣới) ...................................................... 72

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Hình 4.9. Một phần dữ liệu của Đại học Cambridge ..................................... 74

1

MỞ ĐẦU

Ngày nay dƣới sự phát triển rộng rãi của các ứng dụng công nghệ thông

tin vào trong cuộc sống, việc tƣơng tác giữa con ngƣời và thiết bị ngày càng

trở nên quan trọng. Trƣớc đây, bàn phím và chuột là các giao diện chính để

giao tiếp giữa ngƣời và máy tính. Trong các lĩnh vực khác cần tới các thông

tin 3D, chẳng hạn nhƣ trò chơi máy tính, robot và lĩnh vực thiết kế… các thiết

bị cơ khí khác nhƣ bóng lăn, cần điều khiển hay các găng tay dữ liệu đã đƣợc

sử dụng. Tuy nhiên, con ngƣời giao tiếp chủ yếu bởi “nghe” và “nhìn”, do đó

một giao diện ngƣời – máy sẽ trực quan hơn nếu con ngƣời có thể điều khiển

máy tính bằng giọng nói hay cử chỉ giống nhƣ khi tƣơng tác giữa ngƣời với

ngƣời trong thế giới thực mà không cần thông qua các thiết bị điều khiển khác

nhƣ chuột hay bàn phím. Một ƣu điểm khác là ngƣời dùng có thể giao tiếp từ

xa mà không cần phải có tiếp xúc vật lý với máy tính. So với các hệ thống

điều khiển bằng lệnh âm thanh, một hệ thống thị giác sẽ thích hợp hơn trong

môi trƣờng ồn ào hoặc trong trƣờng hợp âm thanh bị nhiễu.

Nhận dạng các cử động của tay ngƣời là cách tự nhiên khi tƣơng tác

ngƣời – máy và ngày nay nhiều nhà nghiên cứu trong các học viện và ngành

công nghiệp đang quan tâm đến hƣớng này. Nó cho phép con ngƣời tƣơng tác

với máy rất dễ dàng và thuận tiện mà không cần phải mang thêm bất kỳ thiết

bị ngoại vi nào. Với mục đích nghiên cứu kỹ thuật nhận dạng cử chỉ bàn tay

ngƣời, luận văn sẽ tập trung trình bày một số nội dung chính nhƣ sau:

1. GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI

Tƣơng tác ngƣời - máy (Human - Computer Interaction, HCI) là một

lĩnh vực thu hút nhiều nghiên cứu và đã đạt đƣợc nhiều kết quả ấn tƣợng

trong thời gian gần đây. Một trong những bài toán quan trọng của lĩnh vực

này là cung cấp khả năng điều khiển máy tính (hoặc thiết bị) từ xa thông qua

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

camera kết nối với máy. Bài toán này thƣờng bao gồm các bƣớc: phát hiện đối

2

tƣợng trong thị trƣờng của camera (ví dụ, tay, mặt, cơ thể ngƣời điều khiển

hoặc một thiết bị đặc biệt nào đó dùng để điều khiển); theo dõi chuyển động

của đối tƣợng; nhận diện hình dạng và cách thức chuyển động của đối tƣợng.

Kết quả nhận diện đƣợc sử dụng để tạo ra các lệnh tƣơng ứng cho máy tính.

Mục đích của đề tài là xây dựng một phƣơng pháp nhận diện mẫu trong

các frame thu trực tiếp từ camera theo thời gian thực để giải quyết bƣớc thứ

ba trong bài toán điều khiển máy tính từ xa nêu trên. Phƣơng pháp nhận diện

này sử dụng mô hình túi từ (bag-of-features, bag-of-words) kết hợp với

phƣơng pháp phân lớp bằng mạng neural. Trong đó, mô hình túi từ đƣợc sử

dụng để tạo ra các vector đặc trƣng làm dữ liệu đầu vào cho mạng neural.

Phƣơng pháp nhận diện này cần đảm bảo đƣợc tốc độ xử lý cao (để có thể

thực hiện trong thời gian thực với dữ liệu thu trực tiếp từ một camera), và có

tính bền vững với một số dạng biến đổi của đối tƣợng (xoay hình, thay đổi

kích thƣớc và vị trí trong frame). Đối tƣợng nhận diện chính của đề tài là cử

chỉ tay ngƣời và một số đồ vật đơn giản.

2. ĐỐI TƢỢNG VÀ PHẠM VI NGHIÊN CỨU

a. Lý thuyết

- Nghiên cứu mô hình túi từ;

- Nghiên cứu một số phƣơng pháp trích chọn đặc trƣng trong ảnh số;

- Nghiên cứu một số phƣơng pháp phân cụm dữ liệu đơn giản;

- Nghiên cứu mạng neural nhiều lớp.

b. Thực nghiệm

- Xây dựng chƣơng trình thử nghiệm;

- Thực hiện huấn luyện và test trên một số loại lớp đối tƣợng (ví dụ,

các dạng của tay ngƣời, một số loại đồ vật đơn giản);

- Thực hiện huấn luyện và test trên một số kho dữ liệu cử chỉ (ví dụ,

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

kho dữ liệu của trƣờng Đại học Cambridge);

3

- Phân tích, đánh giá kết quả thu đƣợc; so sánh kết quả thu đƣợc với kết

quả của một số phƣơng pháp nhận diện đã đƣợc công bố.

3. HƢỚNG NGHIÊN CỨU CỦA ĐỀ TÀI

- Nghiên cứu một số phƣơng pháp nhận diện mẫu đã đƣợc công bố ở

trong và ngoài nƣớc (từ nguồn học liệu tại trung tâm học liệu Đại học Thái

Nguyên, trƣờng Đại học CNTT&TT, các tạp chí online).

- Nghiên cứu mô hình túi từ và cách áp dụng phƣơng pháp này trong xử

lý ảnh để tạo ra vector đặc trƣng làm dữ liệu đầu vào cho mạng neural.

- Nghiên cứu và so sánh một số phƣơng pháp trích chọn đặc trƣng

trong ảnh số (SURF, SIFT) để lựa chọn phƣơng pháp phù hợp với mô hình túi

từ và đáp ứng đƣợc yêu câu đặt ra của đề tài. (tốc độ xử lý, tính bền vững với

một số dạng biến đổi của đối tƣợng trong ảnh).

- Nghiên cứu cách sử dụng mạng neural nhân tạo trong phân lớp dữ

liệu, trong đó, dữ liệu đầu vào cho mạng neural đƣợc tạo ra bằng cách áp

dụng mô hình túi từ.

- Xây dựng dữ liệu để huấn luyện và test; phân tích và đánh giá kết quả

thu đƣợc; so sánh kết quả test trên các kho dữ liệu cử chỉ khác nhau; so sánh

kết quả thu đƣợc bằng phƣơng pháp trình bày với các phƣơng pháp khác đã

đƣợc công bố.

4. NỘI DUNG NGHIÊN CỨU

Chƣơng 1. Tổng quan

Phần này trình bày các kiến thức cơ bản về nhận diện mẫu, các bài toán

trong nhận diện mẫu, một số phƣơng pháp nhận diện mẫu đã đƣợc công bố.

Chƣơng 2. Trình bày sử dụng mô hình túi từ để xây dựng bộ mô tả

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

cho vật thể và thuật toán nhận diện vật thể với mạng Neuron.

4

Phần này trình bày chi tiết về mô hình túi từ, cách ứng dụng mô hình

này trong bài toán nhận diện mẫu, lựa chọn thuật toán trích chọn đặc trƣng và

phân cụm dữ liệu phù hợp, cách xây dựng vector đăc trƣng với mô hình túi từ.

Chƣơng 3. Xây dựng chƣơng trình thử nghiệm

Chƣơng 4. Thử nghiệm và đánh giá kết quả

Phần này trình bày chi tiết về chƣơng trình thử nghiệm, áp dụng

chƣơng trình cho các kho dữ liệu ảnh, phân tích – đánh giá – so sánh kết quả.

5. PHƢƠNG PHÁP NGHIÊN CỨU

- Phương pháp nghiên cứu lý thuyết: Tìm hiểu các tài liệu liên quan tới

các phƣơng pháp nhận diện mẫu trong ảnh số, mô hình túi từ, các phƣơng

pháp trích chọn và biểu diễn đặc trƣng, một số thuật toán phân cụm dữ liệu

đơn giản, mạng neural nhân tạo.

- Phương pháp nghiên cứu thực nghiệm: Xây dựng một số kho dữ liệu

ảnh; xây dựng chƣơng trình thử nghiệm; huấn luyện và test thuật toán trên các

kho dữ liệu để lấy dữ liệu đánh giá độ chính xác và tốc độ xử lý của thuật toán.

- Phương pháp trao đổi khoa học: Trao đổi hƣớng nghiên cứu với

ngƣời hƣớng dẫn và trình bày Seminar với các đồng nghiệp để trình bày và

giải quyết các nội dung luận văn đề ra.

6. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI

Ý nghĩa khoa học của đề tài là trình bày một thuật toán xây dựng vector

đặc trƣng cho đối tƣợng trên ảnh số. Thuật toán đảm bảo tốc độ xử lý trong

thời gian thực với dữ liệu thu trực tiếp từ camera. Vector đặc trƣng đảm bảo

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

đƣợc tính bền vững khi đối tƣợng chịu một số biến đổi.

5

CHƢƠNG 1. TỔNG QUAN

1.1. Khảo sát một số công trình đã đƣợc công bố về nhận diện bàn tay

Cử chỉ tay là phƣơng thức giao tiếp tự nhiên và trực quan trong tƣơng

tác ngƣời – máy (Human – Computer Interaction). Để thực hiện loại tƣơng tác

này ngƣời ta cần phát triển các phƣơng pháp và công cụ gọi là giao diện

người máy (Human – Computer Interface – HCI), cho phép máy tính nhận

diện cử chỉ tay trong thời gian thực. Tuy nhiên, việc theo dõi chuyển động của

tay dựa vào thị giác máy và nhận diện cử chỉ là một vấn đề khó giải quyết do

các cử chỉ tay ngƣời rất phức tạp. Sự phức tạp này là do sự đa dạng của cử chỉ

tạo ra bởi một số lƣợng lớn các bậc tự do (Degree of Freedom – DoF, thu

đƣợc trong quá trình mô hình hóa bàn tay ngƣời).

Để thực hiện tốt vai trò của mình, các HCI dựa trên cử chỉ tay phải đáp

ứng các yêu cầu về hiệu suất trong thời gian thực, độ chính xác cao trong

nhận diện, mức độ ổn định trƣớc các loại biến đổi khác nhau (ví dụ: thay đổi

hƣớng và cƣờng độ chiếu sáng, thay đổi về góc nghiêng của đối tƣợng,

v.v…), và khả năng hoạt động với các phông nền (khung cảnh phía sau ngƣời

thực hiện cử chỉ) đa dạng.

Để đáp ứng các yêu cầu này, nhiều hệ thống nhận dạng cử chỉ đã sử

dụng những thiết bị đánh dấu bằng màu sắc hoặc găng tay (găng tay gắn cảm

biến) để đơn giản hóa việc thu nhận và xử lý thông tin từ cử chỉ tay [5]. Tuy

nhiên, việc sử dụng các thiết bị đánh dấu hoặc găng tay gây phiền phức cho

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

ngƣời sử dụng, đồng thời làm giảm tính tự nhiên trong tƣơng tác với máy tính.

6

Hình 1.1. Găng tay có gắn thiết bị trong HCI

Luận văn này chỉ tập trung vào việc nhận diện một phần cử chỉ tay,

trƣớc hết là hình dạng của bàn tay, thu từ camera trong thời gian thực và

không có sự hỗ trợ của các thiết bị đánh dấu khác hoặc găng tay.

Có hai nhóm phƣơng pháp chính đối với bài toán nhận dạng cử chỉ tay

dựa trên thị giác: các phƣơng pháp dựa trên mô hình ba chiều của tay (3D

hand model); các phƣơng pháp dựa vào hình dạng bên ngoài của tay [15].

Các phƣơng pháp dựa trên mô hình 3D sử dụng mô hình động học ba

chiều của tay với một số lƣợng tƣơng đối lƣớng các bậc tự do [9], [6]–[11].

Các phƣơng pháp này tính ra các tham số của tay bằng cách so sánh hình ảnh

bàn tay trên các frame với hình chiếu của mô hình 3D trên mặt phẳng. Các

phƣơng pháp này phù hợp với tƣơng tác trong môi trƣờng ảo, cho phép thu

đƣợc nhiều tham số của cử chỉ tay, đồng thời cho phép nhận diện một số

lƣợng lớn các lớp cử chỉ tay. Tuy nhiên, do các mô hình 3-D của bàn tay là

những vật thể biến dạng có khớp nối với nhiều bậc tự do (mô hình 3D tiêu

chuẩn có 27 DOF), để mô tả hình dạng của tay dƣới các góc nhìn khác nhau

cần một cơ sở dữ liệu rất lớn. Nhƣợc điểm khác của các phƣơng pháp này là

sự khó khăn trong trích trọn đặc trƣng và không có khả năng xử lý những tình

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

huống đặc biệt (phát sinh từ các góc nhìn không rõ ràng).

Xử lý ảnh

Thu nhận hình qua camera

Bàn tay

Phát hiện / Nhận diện

Điều chỉnh tham số

Chiếu hình

Mô hình bàn tay

7

Hình 1.2. Mô hình bàn tay với 27 DOF do Tomasi xây dựng và nguyên tắc

hoạt động của các phương pháp dựa trên mô hình 3D

Các phƣơng pháp dựa trên hình dạng (appearance-based) thực hiện

trích trọn đặc trƣng để mô hình hóa hình dạng bên ngoài của bàn tay. Khi

nhận diện, các đặc trƣng trích ra sẽ đƣợc so sánh với các đặc trƣng của các

lớp đã biết. Các phƣơng pháp dựa trên hình dạng thƣờng có tốc độ xử lý cao

(hoạt động trong thời gian thực) do việc xử lý hình 2D thƣờng đơn giản hơn.

Các phƣơng pháp thuộc nhóm này thƣờng xử dụng các đặc trƣng nhƣ màu

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

sắc, đƣờng biên, các điểm hoặc các vùng đặc biệt.

8

Trong [10] sử dụng một phƣơng pháp nhận diện đơn giản bằng cách

tìm kiếm những vùng màu da trong hình ảnh. Tuy nhiên, phƣơng pháp này có

một số yếu điểm: rất nhạy cảm với điều kiện ánh sáng; không cho phép có các

đối tƣợng giống màu da trong hình ảnh. Trong [3] sử dụng các đặc trƣng màu

sắc theo thang đo (scale-space color features) để nhận diện cử chỉ tay. Tuy

nhiên, hệ thống này chỉ hoạt động đƣợc trong thời gian thực khi trong hình

không có đối tƣợng khác trùng màu da.

Các tác giả trong [1] sử dụng đƣờng biên của tay để nhận diện bằng

cách tính toán độ cong tại mỗi điểm trên đƣờng biên. Phƣơng pháp tách biên

này thƣờng khó sử dụng nếu có yếu tố gây nhiễu, khi điều kiện chiếu sáng

thay đổi, hoặc khi sử dụng trên phông nền phức tạp.

Hình 1.3. Nhận diện bàn tay dựa trên đường biên

Gần đây có một số nghiên cứu về các đặc trƣng bất biến cục bộ (local

invariant features) [13]–[4]. Trong [13], thuật toán Adaboost và đặc trƣng

SIFT đƣợc sử dụng để phát hiện bàn tay. Phƣơng pháp này cho phép pháp

hiện bàn tay kể cả trong trƣờng hợp bàn tay xoay trên một mặt phẳng. Phƣơng

pháp này cũng đƣa ra khái niệm sharing feature để tăng tốc độ hoạt động và

độ chính xác (lên tới 97,8%). Để đạt đƣợc tốc độ nhận diện trong thời gian

thực, phƣơng pháp này sử dụng thêm một số loại đặc trƣng khác (vd, contrast

context histogram). Trong [2], [4], đặc trƣng Haar đƣợc sử dụng dụng để phát

hiện bàn tay. Đặc trƣng Haar tập trung vào các thông tin trong một vùng nhất

định của hình ảnh thay vì từng pixel riêng rẽ. Để nâng cao độ chính xác khi

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

phân loại và có đƣợc hiệu suất thời gian thực, phƣơng pháp này sử dụng

9

Adaboost (ghép các classifier đơn giản theo mô hình thác nƣớc để tạo thành

một classifier mạnh).

Nghiên cứu mà Viola và Jones đề xuất [12] cho bài toán phát hiện vật

thể trong thời gian thực cho phép phát hiện bàn tay trên bất kỳ phông nền nào

với độ chính xác rất cao [14]. Phƣơng pháp này phát hiện vật thể nhanh và

chính xác nhƣng cần thời gian huấn luyện rất dài và một số lƣợng hình mẫu

rất lớn. Ngoài ra, phƣơng pháp phát hiện vật thể của Viola-Jones chỉ có thể

Xử lý bổ sung

Cửa sổ con

Cấu trúc thác nƣớc

Classifier №1

Classifier № 2

Classifier № 3

Classifier № n

Cửa sổ con bị loại bỏ

đƣợc thực hiện với bàn tay nghiêng từ 15 tới 30 độ [7].

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Hình 1.4. Đặc trưng Haar và AdaBoost

10

1.2.Trích chọn đặc trƣng

1.2.1. Đặt vấn đề

Trong tìm kiếm ảnh theo nội dung, việc lựa chọn các đặc trƣng thích

hợp với từng loại truy vấn và miền ứng dụng cùng với các độ đo tƣơng đồng

tƣong ứng là thành phần quan trọng và then chốt nhất. Việc lựa chọn các đặc

trƣng và độ đo thích hợp sẽ giúp tăng cả tốc độ và mức độ chính xác lựa chọn

đặc trƣng cho ảnh:

- Thành phần lựa chọn đặc trƣng phải lựa chọn đƣợc một tập các đặc

trƣng cung cấp đầu vào tốt nhất cho hệ thống tìm kiếm ảnh. Nếu số lƣợng các

đặc trƣng quá nhiều sẽ làm "che khuất" các "tín hiệu" (giảm các "tín hiệu" đối

với tỉ lệ nhiễu), mặt khác, nếu số lƣợng các đặc trƣng quá ít sẽ khó phân biệt

đƣợc ảnh trong tìm kiếm.

- Nó phải giảm bớt đƣợc độ phức tạp trong lúc tính toán tổng thể bằng

giảm đa chiều của bài toán phân lớp.

- Khi ngƣời dùng muốn sử dụng các đặc trƣng đó cho mọi truy vấn,

thì việc sử dụng các đặc trƣng này phải hiệu quả. Vì số lƣợng các đặc trƣng

có thể là hàng ngàn, dó đó thời gian xử lý của module phải tuyến tính với số

lƣợng đặc trƣng.

- Vì thời gian xử lý của thành phần lựa chọn đặc trƣng tuyến tính với số

lƣợng đặc trƣng, do đó việc lựa chọn các đặc trƣng cũng nên tuyến tính dựa

trên phân lớp.

Trong phần này, chúng tôi sẽ trình bày sơ bộ về các vấn đề về đặc

trƣng của ảnh (màu sắc, kết cấu, hình dạng, đặc trƣng cục bộ SIFT), một số

độ đo tƣơng đồng tƣơng ứng với các đặc trƣng và phƣơng pháp lựa chọn đặc

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

trƣng ảnh để tăng chất lƣợng tập đặc trƣng.

11

1.2.2. Đặc trưng màu sắc

a. Đặc trƣng màu sắc

Tìm kiếm ảnh theo lƣợc đồ màu là phƣơng pháp phổ biến và đƣợc sử

dụng nhiều nhất trong các hệ thống tìm kiếm ảnh theo nội dung. Đây là phƣơng

pháp đơn giản, tốc độ tìm kiếm tƣơng đối nhanh tuy nhiên kết quả tìm kiếm có

độ chính xác không cao. Đây có thể xem là bƣớc lọc đầu tiên cho những bƣớc

tìm kiếm sau. Một số lƣợc đồ màu đƣợc sử dụng nhƣ: lƣợc đồ màu RGB, lƣợc

đồ màu HSI, lƣợc đồ HSI cải tiến.

Trong đó, lƣợc đồ màu RGB đƣợc sử dụng phổ biến nhất.

* Lƣợc đồ màu RGB:

Đối với ảnh 256 màu, lƣợc đồ màu của ảnh tƣơng đƣơng với lƣợc đồ màu

của ảnh xám. Đối với ảnh 24 bit màu, lƣợc đồ miêu tả khả năng kết nối về

cƣờng độ của ba kênh màu R, G, B. Luợc đồ màu này đƣợc định nghĩa nhƣ sau:

(1.1)

Trong đó N là số lƣợng điểm có trong ảnh.

Lƣợc đồ màu này đƣợc tính bằng cách rời rạc hóa từng màu trong ảnh,

sau đó đếm số điểm ảnh của mỗi màu. Khi mà số lƣợng màu là có hạng, để

thuận tiện hơn, ngƣời ta thƣờng chuyển đổi ba kênh màu thành một biến giá

trị duy nhất. Một cách khác để tính lƣợc đồ màu của ảnh RGB là ta phân ra

làm 3 lƣợt đồ riêng biệt hR[] , hG[] , hB[]. Khi đó, mỗi lƣợc đồ đƣợc tính bằng

cách đếm kênh màu tƣơng ứng trong mỗi điểm ảnh.

b. Độ đo tƣơng đồng về màu sắc

Một số độ đo tƣơng đồng đƣợc sử dụng nhƣ: Độ đo khoảng cách

Euclide, độ đo Jensen-Shannon divergence (JSD).

Gọi h(I) và h(M) tƣơng ứng là 2 lƣợt đồ màu của hai ảnh I và ảnh M.

Khi đó các loại độ đo màu đƣợc định nghĩa là một số nguyên (hoặc số thực)

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

theo các loại độ đo tƣơng ứng nhƣ sau:

12

* Khoảng cách Euclide:

Đây là khoảng cách Euclide thông thƣờng giữa các K bin:

 (1.2)

Hoặc:

(1.3)

* Độ đo Jensen-Shannon divergence (JSD) :

Độ đo Jensen-Shannon divergence sử dụng lƣợc độ màu RGB để tính

toán độ tƣơng đồng về màu sắc giữa 2 ảnh :

(1.4)

Trong đó : H và H' là 2 biểu đồ màu đƣợc so sánh, Hm là bin thứ m của

biểu đồ H.

1.2.3. Đặc trưng kết cấu

a. Đặc trƣng kết cấu

Hiện tại, vẫn chƣa có một định nghĩa chính thức cụ thể về kết cấu. Kết

cấu là một đối tƣợng dùng để phân hoạch ảnh ra thành những vùng quan tâm

để phân lớp những vùng đó.

Kết cấu cung cấp thông tin về sự sắp xếp về mặt không gian của màu sắc

và cƣờng độ một ảnh. Kết cấu đƣợc đặc trƣng bởi sự phân bổ không gian của

những mức cƣờng độ trong một khu vực láng giềng với nhau. Kết cấu gồm các

kết cấu gốc hay nhiều kết cấu gộp lại đôi khi gọi là texel.

Một số phƣơng pháp dùng để trích xuất các đặc trƣng kết cấu nhƣ[18]:

* Kim tự tháp "có thể lái đƣợc" (the steerable pyramid)

* Biến đổi đƣờng viền (the cotourlet transform)

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

* Biến đổi Gabor (The Gabor Wavelet transform)

13

* Biểu diễn ma trận đồng hiện (co-occurrence matrix)

* Hệ thống bộ lọc định hƣớng phức tạp (The complex directional

fillter bank)

b. Độ đo tƣơng đồng cho kết cấu ảnh

Để đo độ tƣơng đồng theo kết cấu giữa các ảnh, ngƣời ta thƣờng sử

dụng độ đo Euclide. Kết cấu đƣợc trích xuất từ các bức ảnh sẽ đƣợc biểu diễn

thành các vector nhiều chiều và khoảng cách Euclide đƣợc dùng để đo độ

tƣơng đồng giữa các đặc trƣng của ảnh truy vấn với đặc trƣng của ảnh trong

cơ sở dữ liệu.

1.2.4. Đặc trưng hình dạng

a. Đặc trƣng hình dạng

Màu sắc và kết cấu là những thuộc tính có khái niệm toàn cục trong

một ảnh. Trong khi đó, hình dạng không phải là một thuộc tính của ảnh. Nói

tới hình dạng không phải là nhắc đến hình dạng của một ảnh. Thay vì vậy,

hình dạng có khuynh hƣớng chỉ đến một khu vực đặc biệt trong ảnh, hay hình

dạng chỉ là biên của một đối tƣợng nào đó trong ảnh.

Trong tìm kiếm ảnh theo nội dung, hình dạng là một cấp cao hơn so với

màu sắc và kết cấu. Nó đòi hỏi sự phân biệt giữa các vùng để tiến hành xử lý

về độ đo của hình dạng. Các hệ thống tìm kiếm ảnh theo nội dung thƣờng khai

thác hai nhóm biểu diễn hình dạng sau :

* Biểu diễn hình dạng theo đƣờng biên (cotour-based descriptor) : Biểu

diễn các đƣờng biên bao bên ngoài

* Biểu diễn theo vùng (region-based descriptor): Biểu diễn một vùng

toàn vẹn

b. Độ đo tƣơng đồng cho hình dạng

Độ đo về hình dạng rất nhiều trong phạm vi lý thuyết của bộ môn xử lý

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

ảnh. Chúng trải rộng từ những độ đo toàn cục dạng thô với sự trợ giúp của

14

việc nhận dạng đối tƣợng, cho tới những độ đo chi tiết tự động tìm kiếm

những hình dạng đặc biệt. Lƣợc đồ hình dạng là một ví dụ của độ đo đơn giản.

Kỹ thuật dùng đƣờng biên hiệu quả hơn phƣơng pháp trƣớc, chúng tìm kiếm

những hình dạng đối tƣợng gần giống với đƣờng biên nhất. Phƣơng pháp vẽ

phác họa là phƣơng pháp có nhiều đặc trƣng rõ ràng hơn, không chỉ tìm kiếm

những đƣờng biên đối tƣợng đơn, mà còn đối với tập những đối tƣợng đã đƣợc

phân đoạn trong một ảnh mà ngƣời dùng vẽ hay cung cấp.

1.2.5. Đặc trưng cục bộ bất biến

Ngƣời ta thƣờng chia đặc trƣng cụ bộ thành 2 loại là những điểm trích

xuất đƣợc từ điểm "nhô ra" (salient points) của ảnh và đặc trƣng SIFT đƣợc

trích chọn từ các điểm hấp dẫn Haris (interest points). Trong phần này, chúng

tôi sẽ trình bày chi tiết về việc trích chọn các đặc trƣng cục bộ bất biến (Scale

Invariant Feature Transform SIFT) của ảnh.

a. Đặc trƣng cục bộ bất biến

Phần này trình bày phƣơng pháp trích rút các đặc trƣng cục bộ bất biến

SIFT của ảnh. Các đặc trƣng này bất biến với việc thay đổi tỉ lệ ảnh, quay

ảnh, đôi khi là thay đổi điểm nhìn và thêm nhiễu ảnh hay thay đổi cƣờng độ

chiếu sáng của ảnh. Phƣơng pháp đƣợc lựa chọn có tên là Scale-Invariant

Feature Transform (SIFT) và đặc trƣng trích rút đựợc gọi là đặc trƣng SIFT

(SIFT Feature). Các đặc trƣng SIFT này đƣợc trích rút ra từ các điểm hấp dẫn

cục bộ (Local Interest Point) .

Điểm hấp dẫn (Interest Point (Keypoint)): Là vị trí (điểm ảnh) "hấp

dẫn" trên ảnh. "Hấp dẫn" ở đây có nghĩa là điểm đó có thể có các đặc trƣng

bất biến với việc quay ảnh, co giãn ảnh hay thay đổi cƣờng độ chiếu sáng

của ảnh.

Phƣơng pháp trích rút các đặc trƣng bất biến SIFT đƣợc tiếp cận theo

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

phƣơng pháp thác lọc, theo đó phƣơng pháp đƣợc thực hiện lần lƣợt theo các

15

bƣớc sau:

* Phát hiện các điểm cực trị Scale-Space (Scale-Space extrema

detection):

Bƣớc đầu tiên này tiến hành tìm kiếm các điểm hấp dẫn trên tất cả các

tỉ lệ và vị trí của ảnh. Nó sử dụng hàm different-of-Gaussian để xác định tất

cả các điểm hấp dẫn tiềm năng mà bất biến với quy mô và hƣớng của ảnh.

* Định vị các điểm hấp dẫn (keypoint localization): Một hàm kiểm tra

sẽ đƣợc đƣa ra để quyết định xem các điểm hấp dẫn tiềm năng có đƣợc lựa

chọn hay không?

* Xác định hƣớng cho các điểm hấp dẫn (Orientation assignment):

Xác định hƣớng cho các điểm hấp dẫn đƣợc chọn

* Mô tả các điểm hấp dẫn (Keypoint descriptor): Các điểm hấp dẫn

sau khi đƣợc xác định hƣớng sẽ đƣợc mô tả dƣới dạng các vector đặc trƣng

nhiều chiều.

b. Phát hiện điểm cực trị Scale-space

Các điểm hấp dẫn với đặc trƣng SIFT tƣơng thích với các cực trị địa

phƣơng của bộ lọc difference -of-Gaussian (DoG) ở các tỉ lệ khác nhau.

Định nghĩa không gian tỉ lệ của một hình ảnh là hàm L(x,y,kσ ) đƣợc mô tả

nhƣ sau:

(1.5)

Với G(x, y, kσ ) : biến tỉ lệ Gaussian (variable scale Gaussian)

I (x, y) : Ảnh đầu vào

* là phép nhân chập giữa x và y

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

(1.6)

16

Để phát hiện đƣợc các điểm hấp dẫn, ta đi tìm các cực trị của hàm DoG

đƣợc định nghĩa:

(1.7)

(1.8)

Giá trị hàm DoG đƣợc tính xấp xỉ dựa vào giá trị scale-normalized

Laplacian of Gaussian (σ 2 2G) thông qua các phƣơng trình

(1.9)

Nhƣ vậy, bƣớc đầu tiên của giải thuật SIFT phát hiện các điểm hấp dẫn

với bộ lọc Gaussian ở các tỉ lệ khác nhau và các ảnh GoG từ sự khác nhau của

các ảnh kề mờ.

Hình 1.5. Biểu đồ mô phỏng việc tính toán các DoG ảnh từ các ảnh kê mờ

Các ảnh cuộn đƣợc nhóm thành các octave (mỗi octave tƣơng ứng với

giá trị gấp đôi của σ). Giá trị của k đƣợc chọn sao cho số lƣợng ảnh mờ

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

(blured images) cho

17

c. Định vị điểm hấp dẫn

Mỗi điểm hấp dẫn ứng viên sau khi đƣợc chọn sẽ đƣợc đánh giá xem

có đƣợc giữ lại hay không:

*Loại bỏ các điểm hấp dẫn có độ tƣơng phản hấp

* Một số điểm hấp dẫn dọc theo các cạnh không giữ đƣợc tính ổn định

khi ảnh bị nhiễu cũng bị loại bỏ.

Các điểm hấp dẫn còn lại sẽ đƣợc xác định hƣớng.

Hình 1.6. Quá trình lựa chọn các điểm hấp dẫn

a. Ảnh gốc; b. Các điểm hấp dẫn được phát hiện; c. Ảnh sau khi loại bỏ

các điểm hấp dẫn có độ tương phản thấp; d. Ảnh sau loại bỏ các điểm hấp dẫn

dọc theo cạnh

d. Xác định hướng cho điểm hấp dẫn

Để xác định hƣớng cho các điểm hấp dẫn, ngƣời ta tính toán biểu đồ

hƣớng Gradient trong vùng láng giềng của điểm hấp dẫn. Độ lớn và hƣớng của

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

các điểm hấp dẫn đƣợc xác định theo công thức:

18

(11)

e. Biểu diễn vector cho điểm hấp dẫn

Điểm hấp dẫn sau khi đƣợc xác định hƣớng sẽ đƣợc biểu diễn dƣới dạng

các vector 4x4x8=128 chiều.

Hình 1.7 Biểu diễn vector đặc trưng

1.3. Phân lớp dữ liệu và mạng neuron

1.3.1. Phân lớp dữ liệu

Ngày nay phân lớp dữ liệu (classification) là một trong những hƣớng

nghiên cứu chính của khai phá dữ liệu. Thực tế đặt ra nhu cầu là từ một cơ sở

dữ liệu với nhiều thông tin ẩn con ngƣời có thể trích rút ra các quyết định

nghiệp vụ thông minh. Phân lớp và dự đoán là hai dạng của phân tích dữ liệu

nhằm trích rút ra một mô hình mô tả các lớp dữ liệu quan trọng hay dự đoán xu

hƣớng dữ liệu tƣơng lai. Phân lớp dự đoán giá trị của những nhãn xác định

(categorical label) hay những giá trị rời rạc (discrete value), có nghĩa là phân

lớp thao tác với những đối tƣợng dữ liệu mà có bộ giá trị là biết trƣớc. Trong

khi đó, dự đoán lại xây dựng mô hình với các hàm nhận giá trị liên tục. Ví dụ

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

mô hình phân lớp dự báo thời tiết có thể cho biết thời tiết ngày mai là mƣa, hay

19

nắng dựa vào những thông số về độ ẩm, sức gió, nhiệt độ, của ngày hôm nay

và các ngày trƣớc đó.

Hay nhờ các luật về xu hƣớng mua hàng của khách hàng trong siêu thị,

các nhân viên kinh doanh có thể ra những quyết sách đúng đắn về lƣợng mặt

hàng cũng nhƣ chủng loại bày bán Một mô hình dự đoán có thể dự đoán đƣợc

lƣợng tiền tiêu dùng của các khách hàng tiềm năng dựa trên những thông tin

về thu nhập và nghề nghiệp của khách hàng. Trong những năm qua, phân lớp

dữ liệu đã thu hút sự quan tâm các nhà nghiên cứu trong nhiều lĩnh vực khác

nhau nhƣ học máy (machine learning), hệ chuyên gia (expert system), thống

kê (statistics)... Công nghệ này cũng ứng dụng trong nhiều lĩnh vực khác

nhau nhƣ: thƣơng mại, nhà băng, maketing, nghiên cứu thị trƣờng, bảo hiểm,

y tế, giáo dục... Phần lớn các thuật toán ra đời trƣớc đều sử dụng cơ chế dữ

liệu cƣ trú trong bộ nhớ (memory resident), thƣờng thao tác với lƣợng dữ liệu

nhỏ. Một số thuật toán ra đời sau này đã sử dụng kỹ thuật cƣ trú trên đĩa cải

thiện đáng kể khả năng mở rộng của thuật toán với những tập dữ liệu lớn lên

tới hàng tỉ bản ghi.

Quá trình phân lớp dữ liệu gồm hai bƣớc:

• Bước thứ nhất (learning)

Quá trình học nhằm xây dựng một mô hình mô tả một tập các lớp dữ

liệu hay các khái niệm định trƣớc. Đầu vào của quá trình này là một tập dữ

liệu có cấu trúc đƣợc mô tả bằng các thuộc tính và đƣợc tạo ra từ tập các bộ

giá trị của các thuộc tính đó. Mỗi bộ giá trị đƣợc gọi chung là một phần tử dữ

liệu (data tuple), có thể là các mẫu (sample), ví dụ (example), đối tượng

(object), bản ghi (record) hay trường hợp (case). Khoá luận sử dụng các thuật

ngữ này với nghĩa tƣơng đƣơng. Trong tập dữ liệu này, mỗi phần tử dữ liệu

đƣợc giả sử thuộc về một lớp định trƣớc, lớp ở đây là giá trị của một thuộc

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

tính đƣợc chọn làm thuộc tính gán nhãn lớp hay thuộc tính phân lớp (class

20

label attribute). Đầu ra của bƣớc này thƣờng là các quy tắc phân lớp dƣới

dạng luật dạng if-then, cây quyết định, công thức logic, hay mạng nơron. Quá

trình này đƣợc mô tả nhƣ trong hình 1

• Bước thứ hai (classification)

Bƣớc thứ hai dùng mô hình đã xây dựng ở bƣớc trƣớc để phân lớp dữ

liệu mới. Trƣớc tiên độ chính xác mang tính chất dự đoán của mô hình phân

lớp vừa tạo ra đƣợc ƣớc lƣợng. Holdout là một kỹ thuật đơn giản để ƣớc lƣợng

độ chính xác đó. Kỹ thuật này sử dụng một tập dữ liệu kiểm tra với các mẫu

đã đƣợc gán nhãn lớp. Các mẫu này đƣợc chọn ngẫu nhiên và độc lập với các

mẫu trong tập dữ liệu đào tạo. Độ chính xác của mô hình trên tập dữ liệu kiểm

tra đã đƣa là tỉ lệ phần trăm các các mẫu trong tập dữ liệu kiểm tra đƣợc mô

hình phân lớp đúng (so với thực tế). Nếu độ chính xác của mô hình đƣợc ƣớc

lƣợng dựa trên tập dữ liệu đào tạo thì kết quả thu đƣợc là rất khả quan vì mô

hình luôn có xu hƣớng "quá vừa" dữ liệu. Quá vừa dữ liệu là hiện tƣợng kết

quả phân lớp trùng khít với dữ liệu thực tế vì quá trình xây dựng mô hình

phân lớp từ tập dữ liệu đào tạo có thể đã kết hợp những đặc điểm riêng biệt của

tập dữ liệu đó. Do vậy cần sử dụng một tập dữ liệu kiểm tra độc lập với tập dữ

liệu đào tạo. Nếu độ chính xác của mô hình là chấp nhận đƣợc, thì mô hình

đƣợc sử dụng để phân lớp những dữ liệu tƣơng lai, hoặc những dữ liệu mà giá

trị của thuộc tính phân lớp là chƣa biết.

Trong mô hình phân lớp, thuật toán phân lớp giữ vai trò trung tâm, quyết

định tới sự thành công của mô hình phân lớp. Do vậy chìa khóa của vấn đề phân

lớp dữ liệu là tìm ra đƣợc một thuật toán phân lớp nhanh, hiệu quả, có độ chính

xác cao và có khả năng mở rộng đƣợc. Trong đó khả năng mở rộng đƣợc của

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

thuật toán đƣợc đặc biệt trú trọng và phát triển

21

Có thể liệt kê ra đây các kỹ thuật phân lớp đã đƣợc sử dụng trong những

năm qua:

• Phân lớp cây quyết định (Decision tree classification)

• Bộ phân lớp Bayesian (Bayesian classifier)

• Mô hình phân lớp K-hàng xóm gần nhất (K-nearest neighbor

classifier)

• Mạng nơron

• Phân tích thống kê

• Các thuật toán di truyền

• Phương pháp tập thô (Rough set Approach)

1.3.2. Các vấn đề liên quan đến phân lớp dữ liệu

Việc tiền xử lý dữ liệu cho quá trình phân lớp là một việc làm không thể

thiếu và có vai trò quan trọng quyết định tới sự áp dụng đƣợc hay không của

mô hình phân lớp. Quá trình tiền xử lý dữ liệu sẽ giúp cải thiện độ chính xác,

tính hiệu quả và khả năng mở rộng đƣợc của mô hình phân lớp.

Quá trình tiền xử lý dữ liệu gồm có các công việc sau:

- Làm sạch dữ liệu

Làm sạch dữ liệu liên quan đến việc xử lý với lỗi (noise) và giá trị

thiếu (missing value) trong tập dữ liệu ban đầu. Noise là các lỗi ngẫu nhiên

hay các giá trị không hợp lệ của các biến trong tập dữ liệu. Để xử lý với loại

lỗi này có thể dùng kỹ thuật làm trơn. Missing value là những ô không có giá

trị của các thuộc tính. Giá trị thiếu có thể do lỗi chủ quan trong quá trình nhập

liệu, hoặc trong trƣờng hợp cụ thể giá trị của thuộc tính đó không có, hay

không quan trọng. Kỹ thuật xử lý ở đây có thể bằng cách thay giá trị thiếu

bằng giá trị phổ biến nhất của thuộc tính đó hoặc bằng giá trị có thể xảy ra

nhất dựa trên thống kê. Mặc dù phần lớn thuật toán phân lớp đều có cơ chế xử

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

lý với những giá trị thiếu và lỗi trong tập dữ liệu, nhƣng bƣớc tiền xử lý này có

22

thể làm giảm sự hỗn độn trong quá trình học (xây dựng mô hình phân lớp).

- Phân tích sự cần thiết của dữ liệu

Có rất nhiều thuộc tính trong tập dữ liệu có thể hoàn toàn không cần

thiết hay liên quan đến một bài toán phân lớp cụ thể. Ví dụ dữ liệu về ngày

trong tuần hoàn toàn không cần thiết đối với ứng dụng phân tích độ rủi ro của

các khoản tiền cho vay của ngân hàng, nên thuộc tính này là dƣ thừa. Phân

tích sự cần thiết của dữ liệu nhằm mục đích loại bỏ những thuộc tính không

cần thiết, dƣ thừa khỏi quá trình học vì những thuộc tính đó sẽ làm chậm, phức

tạp và gây ra sự hiểu sai trong quá trình học dẫn tới một mô hình phân lớp

không dùng đƣợc.

- Chuyển đổi dữ liệu

Việc khái quát hóa dữ liệu lên mức khái niệm cao hơn đôi khi là cần

thiết trong quá trình tiền xử lý. Việc này đặc biệt hữu ích với những thuộc tính

liên tục (continuous attribute hay numeric attribute). Ví dụ các giá trị số của

thuộc tính thu nhập của khách hàng có thể đƣợc khái quát hóa thành các dãy giá

trị rời rạc: thấp, trung bình, cao. Tƣơng tự với những thuộc tính rời rạc

(categorical attribute) nhƣ địa chỉ phố có thể đƣợc khái quát hóa lên thành

thành phố. Việc khái quát hóa làm cô đọng dữ liệu học nguyên thủy, vì vậy

các thao tác vào/ ra liên quan đến quá trình học sẽ giảm.

1.3.3. Mạng neuron

a. Mạng Neuron nhân tạo

Mạng neuron nhân tạo (ANN: artificial neuron networks) là mạng đƣợc

xây dựng bằng cách sao chép lại các nguyên lý tổ chức của hệ neuron của con ngƣời. Bộ óc của con ngƣời là một hệ neuron gồm có 1010 đến 1012 neuron

đƣợc tổ chức có cấu trúc vào khoảng 200 mô hình khác nhau dƣới dạng nhiều

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

lớp.

23

Hình 1.8. Cấu trúc cơ bản của một neuron

Cấu trúc cơ bản của một neuron của hệ neuron con ngƣời gồm: các đầu

vào (dendrite), thân neuron (soma) và đầu ra (axon). Mỗi neuron có nhiều đầu

vào và chỉ một đầu ra. Thân neuron là phần tử xử lý có chức năng thu nhận tất

cả các thông tin đến từ các đầu vào, tính toán và đƣa ra quyết định ở ngõ ra để

gởi thông tin đến các neuron khác. SYNAP là khớp nối giữa đầu vào của

neuron này với đầu ra của neuron khác.

Tín hiệu điện áp đƣợc truyền từ neuron này sang neuron khác. Tín hiệu

điện áp dƣơng đƣợc coi nhƣ là tín hiệu kích động (excitory) để kích động

neuron gởi tín hiệu đến các neuron khác và điện áp âm đƣợc xem nhƣ là tín

hiệu ức chế (inhibitory) để ức chế neuron gởi tín hiệu đến nhiều neuron khác.

Điện áp không thì không có tín hiệu kết nối giữa hai neuron.

Đối với hệ neuron con ngƣời có cấu trúc cơ bản gồm: lớp neuron đầu

vào (lớp này đƣợc kết nối với các phần tử cảm biến nhƣ miệng, mắt, mũi, tai

và da), các lớp neuron ẩn và lớp neuron đầu ra (lớp này đƣợc kết nối với các

phần tử cơ nhƣ tay, chân).

Cƣờng độ kết nối SYNAP xác định lƣợng tín hiệu truyền đến đầu vào

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

và giá trị cƣờng độ synap đƣợc gọi là trọng số.

24

Ngƣời ta dùng mạng neuron nhân tạo để giải quyết các bài toán trong

kỹ thuật (mục tiêu là mô phỏng hoạt động của não ngƣời)

Để xây dựng một mạng neuron nhân tạo giống nhƣ hệ neuron con

ngƣời,vào năm 1943 Mc.culloch và Pitts đề ra cấu trúc cơ bản của một neuron

thứ I trong mô hình của mạng neuron nhân tạo.

Hình 1.9. Mô hình neuron của Mc. Culloch và Pitts

Trong đó: xj(k): tín hiệu vào thứ j ở thời điểm k

Yi(k): tín hiệu ra thứ I ở thời điểm k

Wij: trọng số trên tín hiệu vào thứ j

Фi : Ngƣỡng tác động của neuron i

F: Hàm tích hợp

A(.): Hàm tác động

Wij biểu diễn cƣờng độ kết nối giữa neuron thứ j và neuron thứ i.wij >0

tƣơng ứng với tín hiệu tác động,wij <0 tƣơng ứng với tín hiệu ức chế và wij =0

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

thí không có sự kết hợp giữa hai neuron.

25

b. Mạng truyền thẳng nhiều lớ p Định nghĩa hàm Squashing: Hàm a(f):R→[0,1] (hoặc R→[-1,1]) đƣợc

gọi là hàm squashing nếu a(f) không giảm khi f tăng, a(-∞)=0 (hoặc a(-∞)= -

1) và a(+∞)=1.

Ngƣời ta chứng minh đƣợc rằng mọi quan hệ phi tuyến đều có thể đƣợc

xấp xỉ với độ chính sát tùy ý bởi một mạng truyền thẳng nhiều lớp với số nút

ẩn đủ lớn, hàm tích hợp tuyến tính hoặc đa thức và hàm tác động squashing.

Hình 1.10. Mạng truyền thẳng ba lớp

c. Giải thuật lan truyền ngƣợc

Giải thuật lan truyền ngƣợc là một trong các giải thuật quan trong nhất

trong lịch sử phát triển của các mạng neuron nhân tạo. Giải thuật đƣợc sử

dụng để huấn luyện các mạng truyền thẳng nhiều lớp với các phần tử xử lý

trong mạng có hàm tác động là hàm phi tuyến. Cho tập các cặp mẫu huấn

luyện vào – ra (x(k),d(k)) với k = 1,2,…p, giải thuật sẽ cung cấp một thủ tục

cho việc cập nhật các trọng số trong mạng từ lớp neuron đầu ra tới lớp neuron

đầu vào. Giải thuật vận hành theo 2 luồng dữ liệu, đầu tiên là các mẫu huấn

luyện x(k) đƣợc truyền từ lớp neuron đầu vào đến lớp neuron đầu ra và cho

kết quả thực sự y(k) của lớp neuron đầu ra. Sau đó các tín hiệu sai lệch giữa

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

neuron đầu ra mong muốn d(k) và đầu ra thực sự y(k) của mạng đƣợc truyền

26

ngƣợc từ lớp đầu ra đến các lớp đứng trƣớc để cập nhật các trọng số trong

mạng.

Giả sử xét mạng truyền thẳng ba lớp nhƣ hình 2.12 gồm lớp neuron đầu

vào (input layer), lớp neuron ẩn (hidden layer) và lớp neuron đầu ra (output

layer)

Lớp neuron đầu vào của mạng có m đầu vào trong đó x1…..,xi..,xm. Lớp

neuron ẩn có r phần tử xử lý với các đầu ra, đó là z1….,zq…..,zr.và lớp neuron

đầu ra của mạng có n phần tử xử lý với n đầu ra,đó là y1….,yi….,yn. Trọng số

kết nối giữa đầu vào thứ j của lớp neuron đầu vào với phần tử xử lý thứ q của

lớp neuron ẩn là vqj và trọng số kết nối giữa phần tử xử lý thứ q của lớp

neuron ẩn với phần tử xử lý thứ i của lớp neuron đầu ra là wiq.

Dữ liệu huấn luyện : {x(k),d(k),k =1,2….p}

Lớp ẩn:

Hàm tích hợp (1.12)

Hàm tác động (1.13)

Lớp ra :

Hàm tích hợp (1.14)

Hàm tác động (1.15)

Hàm mục tiêu :

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

(1.16)

27

Luật học delta tổng quát hóa đƣợc xây dựng dùng phƣơng pháp

gradient descent.

Xét các nhánh nối giữa nút ẩn và nút ra :

(1.17)

Xét các nhánh nối giữa nút vào và nút ẩn :

(1.18)

 Luật học lan truyền ngƣợc :

Nhập: Tập các cặp mẫu huấn luyện {x(k),d(k),k =1,2,…..p}, trong đó

các vector đầu vào với các phần tử cuối cùng đƣợc gán bằng -1.

Bƣớc 0: Khởi động trị

Chọn hằng số học η >0, ngƣỡng dừng Emax

Các trọng số có trị nhỏ và ngẫu nhiên

E =0 , K =1

Bƣớc 1: Lan truyền thuận dữ liệu :

Áp dụng mẫu dữ liệu thứ k

Xác định tín hiệu tại các nút trong mạng

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Xác định hàm mục tiêu

28

Xác định tín hiệu học tại các nút

Bƣớc 2: Lan truyền ngƣợc sai lệch :

Cập nhật các vector trọng số

Xác định các tín hiệu học

Bƣớc 3: Kiểm tra :

Nếu E > Emax: k =1 ,nhảy đến bƣớc 1

Nếu E ≤ Emax: kết thúc

Trong mạng truyền thẳng nhiều lớp, việc huấn luyện mạng dùng giải

thuật lan truyền ngƣợc chịu tác động bởi các yếu tố:

- Trị khởi động của các trọng số: các trọng số nên khởi động với các

giá trị bé và ngẫu nhiên. Các giá trị lớn của vector trọng số có thể làm tác

động bão hòa khi bắt đầu học.

- Hằng số học: η lớn sẽ hội tụ nhanh nhƣng có thể gây vọt lố, do đó có

thể chọn η giảm dần

- Hàm mục tiêu

- Luật học

- Dữ liệu huấn luyện

- Số nút ẩn

Giải thuật gradient descent rất chậm bởi vì nó yêu cầu tốc độ học thấp

cho sự ổn định quá trình học.Việc lựa chọn hằng số học η cho phù hợp mạng

nhiều lớp là không đơn giản, η quá lớn dẫn đến quá trình học không ổn định

và ngƣợc lại η quá nhỏ sẽ làm cho thời gian huấn luyện lớn.

Mạng phụ thuộc vào số neuron có trong lớp ẩn. quá ít neuron sẽ dẫn

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

đến tình trạng thiếu, quá nhiều neuron sẽ dẫn đến tình trạng thừa.

29

CHƢƠNG 2.

TRÌNH BÀY SỬ DỤNG MÔ HÌNH TÚI TỪ ĐỂ XÂY DỰNG BỘ

MÔ TẢ CHO VẬT THỂ VÀ THUẬT TOÁN NHẬN DIỆN VẬT THỂ

VỚI MẠNG NEURON

2.1. Mô hình túi từ trong phân lớp văn bản

Mô hình túi từ (Bag-of-words model) là một phƣơng pháp biểu diễn

đơn giản thƣờng đƣợc sử dụng trong xử lý ngôn ngữ tự nhiên (Natural

Language Processing), tìm kiếm thông tin (Information Retrieval) và trong

các phƣơng pháp phân lớp văn bản (Document Classification). Mô hình này

đƣợc nhắc tới lần đầu tiên (trong ngôn ngữ học) vào năm 1954 trong bài báo

của Zellig Harris.

Phân lớp văn bản thƣờng đƣợc thực hiện dựa trên mô hình ngữ nghĩa

hoặc máy học. Theo M. Hearst (Giáo sƣ đầu ngành về phân tích dữ liệu của

Đại học California, Berkeley), phân lớp văn bản theo hƣớng tiếp cận ngữ

nghĩa là vấn đề rất khó và phức tạp. Trong khi đó, hƣớng tiếp cận dựa trên các

phƣơng pháp máy học (machine learning) lại đơn giản và cho nhiều kết quả

tốt trong thực tiễn. Hầu hết các phƣơng pháp phân loại văn bản dựa trên mô

hình thống kê từ và các giải thuật học tự động. Mô hình túi từ chính là mô

hình thống kế và cho phép sử dụng cùng với các phƣơng pháp học tự động.

Theo mô hình túi từ, dữ liệu văn bản không có cấu trúc (độ dài khác

nhau) đƣợc biểu diễn tần số xuất hiện của từ trong văn bản dƣới dạng một

vector. Tập các dữ liệu văn bản đƣợc chuyển về dạng một bảng có số cột

(chiều, từ vựng) rất lớn. Từ bảng dữ liệu này có thể huấn luyện các mô hình

học máy tự động. Các mô hình máy học thƣờng đƣợc sử dụng bao gồm giải

thuật k-means (kNN), Naïve Bayes (NB), cây quyết định (Decision Tree -

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

DT), Support Vector Machine (SVM), Boosting, và Random Forest (RF).

30

Theo tiếp cận phân lớp tự động bằng mô hình máy học, việc phân loại

văn bản bao gồm hai bƣớc chính: biểu diễn dữ liệu văn bản, huấn luyện mô

hình phân lớp. Vấn đề khó khăn trong phân lớp văn bản dựa trên học máy

nằm ở chỗ, văn bản đầu vào ở dạng không cấu trúc, trong khi các giải thuật

máy học ở giai đoạn tiếp theo thƣờng chỉ có thể xử lý đƣợc dữ liệu dạng bảng

(mỗi dòng là một phần tử dữ liệu, cột là chiều hay thuộc tính). Để giải quyết

vấn đề này, ngƣời ta sử dụng mô hình túi từ.

Mô hình túi từ cho phép biểu diễn tập dữ liệu văn bản về cấu trúc bảng.

Bƣớc tiền xử lý này bao gồm việc phân tích từ vựng và tách các từ trong nội

dung của tập văn bản, chọn tập hợp các từ có ý nghĩa quan trọng dùng để

phân loại, biểu diễn dữ liệu văn bản về dạng bảng để từ đó các giải thuật

máy học có thể học để phân loại. Ở bƣớc phân tích từ vựng, công việc có thể là

quy về từ gốc của các biến thể từ, có thể xóa bỏ các từ không có ý nghĩa cho

việc phân lớp nhƣ các mạo từ, từ nối... Tiếp đến là tách các từ, đƣa vào tự điển.

Một văn bản đƣợc biểu diễn thành một vector n chiều, trong đó giá trị thành

phần thứ j là tần số xuất hiện từ thứ j trong văn bản. Nếu xét tập T gồm m văn

bản và tự điển có n từ vựng, thì T có thể đƣợc biểu diễn thành bảng D kích

thƣớc m x n, dòng thứ i của bảng là véc tơ biểu diễn văn bản thứ i tƣơng ứng.

Chúng ta có thể thấy rằng, khi tập dữ liệu chứa vài trăm văn bản,

bộ từ điển có thể lên đến khoảng vài chục ngàn từ. Do đó bảng D có số cột

n rất lớn. Khi đó, các mô hình máy học nhƣ kNN, NB hay DT có thể xử lý

kém hiệu quả. Để khắc phục, ngƣời ta thƣờng thực hiện việc rút gọn chiều dữ

liệu. Phƣơng pháp rút gọn có thể là lựa chọn những từ quan trọng nhất để có

thể phân biệt văn bản này với văn bản khác, hay phƣơng pháp giảm chiều.

Các phƣơng pháp để lựa chọn các từ có thể dựa vào ngƣỡng tần số xuất hiện,

độ lợi thông tin (information gain), thông tin tƣơng quan (mutual

information). Bƣớc rút gọn này thƣờng gây mất thông tin, làm giảm độ chính

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

xác của bộ phân lớp sau này. Tuy nhiên, nếu không thực hiện bƣớc rút gọn

31

chiều, chúng ta cần xây dựng giải thuật máy có thể xử lý đƣợc bảng có số

chiều lớn.

2.2. Ý tƣởng và Thuật toán

Để thực hiện phân lớp với mạng neuron, bộ mô tả (descriptor) vật thể

thƣờng đƣợc biểu diễn bằng một vector có số chiều cố định và bằng số lƣợng

neuron ở lớp input. Để tạo ra bộ mô tả này có thể sử dụng nhiều loại đặc

trƣng: đƣờng viền (contour), góc nghiêng hoặc điểm đặc biệt trên vật thể,

vùng đặc biệt trên vật thể, v.v…Việc lựa chọn đặc trƣng này có ý nghĩa quan

trọng liên quan đến đặc điểm của vật thể cần nhận diện và phƣơng pháp phân

lớp đƣợc sử dụng. Đối với bài toán nhận diện vật thể có hình dáng thay đổi

nhƣ hình bàn tay, bộ mô tả cần có những đặc điểm: bền vững với biến đổi

xoay hình, di chuyển hình và thay đổi độ phóng đại hình vật thể. Ngoài ra, bộ

mô tả này cần có kích thƣớc cố định và mang tính đặc trƣng cho lớp vật thể

cần nhận diện.

Trong luận văn trình bày một phƣơng pháp mô tả vật thể dựa trên mô

hình túi từ để tạo ra bộ mô tả cho vật thể đáp ứng đƣợc các yêu cầu đề ra: là

một vector có số chiều cố định; không phụ thuộc vào các biến đổi affine

(xoay hình, di chuyển hình, phóng đại hình). Phần này cũng sẽ trình bày một

thuật toán nhận diện vật thể sử dụng phƣơng pháp mô tả để trình bày kết hợp

với mạng neuron.

Ý tƣởng của của phƣơng pháp mô tả vật thể này nằm ở chỗ, một hình

vật thể đƣợc coi nhƣ một tài liệu văn bản, trong đó các đặc trƣng đƣợc xem

nhƣ các từ tạo thành văn bản. Tài liệu này đƣợc phân lớp dựa trên việc tính

toán số luần xuất hiện của một số “từ khóa”. Đây là ý tƣởng chính lấy từ

phƣơng pháp “túi từ” (TA: bag-of-words hay BOW) đƣợc sử dụng rộng rãi

trong xử lý văn bản.

Để đƣa ý tƣởng này vào nhận diện vật thể, các đặc trƣng của vật thể

đƣợc trích ra từ một tập hợp hình ảnh (tập huấn luyện) và đƣợc chia thành các

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

nhóm. Trong mỗi nhóm chọn ra một đặc trƣng làm “đại diện” cho toàn bộ

32

nhóm. Mỗi đặc trƣng đại diện này sẽ đƣợc sử dụng làm một từ khóa. Tập hợp

các từ khóa này tạo thành bộ “từ điển”. Khi đối chiếu các đặc trƣng trích ra từ

một bức hình với các từ khóa trong từ điển sẽ thu đƣợc một biểu đồ

(histogram) tần số của các từ khóa. Biểu đồ này là một vector có kích thƣớc

cố định và có thể sử dụng làm vector đầu vào cho các phƣơng pháp nhận diện

(vd: mạng neuron).

Hình 2.1. Mô tả ý tưởng của thuật toán nhận diện vật thể trình bày

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

dựa trên mô hình túi từ

33

Một cách tổng quát, ý tƣởng của mô hình túi từ khi áp dụng ở đây cho

phép tạo ra một bộ mô tả của vật thể là một vector có kích thƣớc cố định và

có giá trị tƣơng đối đặc trƣng cho lớp vật thể. Bộ mô tả này sẽ đƣợc sử dụng

làm vector đầu vào cho mạng neuron. Sơ đồ tổng quát của ý tƣởng này đƣợc

thể hiện trong hình 2.1.

Để sử dụng bộ mô tả kết hợp với mạng neuron để nhận diện vật thể,

luận văn này trình bày một thuật toán thể hiện trong hình 2.2.

Hình 2.2. Sơ đồ tổng quát của thuật toán nhận diện vật thể trình bày

Thuật toán này bao gồm các giai đoạn sau:

1. Huấn luyện:

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

a. Sinh ra bộ từ điển:

34

- i. Trích tất cả đặc trƣng từ tất cả các ảnh trong bộ ảnh huấn luyện với

phƣơng pháp SURF: Từ hình của mỗi vật thể thu đƣợc một số lƣợng tƣơng

đối lớn đặc trƣng (ví dụ, đối với hình bàn tay mở có thể thu đƣợc từ 20 đến

100 đặc trƣng). Mỗi đặc trƣng này đƣợc mô tả bởi một vector 64 chiều gọi là

mô tả SURF (SURF-descriptor).

- ii. Phân cụm các đặc trƣng thu đƣợc sử dụng thuật toán K-means: Do

số lƣợng SURF-descriptor khá lớn và không cố định nên không thể trực tiếp

sử dụng chúng với mạng neuron. Ở bƣớc này, tất cả các SURF-descriptor

đƣợc phân thành các cluster. Mỗi cluster chứa một loạt các SURF-descriptor

có giá trị gần nhau.

- iii. Sinh ra từ điển từ các cụm thu đƣợc: Đối với mỗi cluster chọn ra

một SURF-descriptor đại diện cho cả nhóm. Tập hợp tất cả các SURF-

descriptor đại diện và sắp theo một trật tự cố định sẽ tạo ra một “từ điển”. Bộ từ

điển này sẽ đƣợc dùng làm cơ sở để tạo ra một loại mô tả mới phù hợp với các

yêu cầu đặt ra. Trong luận văn sẽ gọi loại mô tả mới này là BOW-descriptor.

BOW-descriptor sẽ đƣợc sử dụng làm vector đầu vào cho mạng neuron.

b. Sinh các bộ mô tả và huấn luyện mạng neuron:

- i. Ứng với mỗi ảnh trong bộ ảnh huấn luyện trích chọn ra các đặc

trƣng bằng phƣơng pháp SURF: Ở bƣớc a.i. chúng ta đã gộp tất cả các đặc

trƣng trích đƣợc qua phƣơng pháp SURF để phục vụ sinh từ điển. Tại bƣớc

này chúng ta để riêng các SURF-descriptor của từng ảnh vật thể trong bộ

huấn luyện nhằm tạo ra BOW-descriptor của ảnh này. Tập hợp các BOW-

descriptor của tất cả các ảnh trong bộ huấn luyện sẽ đƣợc sử dụng làm dữ liệu

huấn luyện của mạng neuron.

- ii. Sinh ra BOW-descriptor của từng ảnh trong bộ ảnh huấn luyện:

Tất cả SURF-descriptor thu đƣợc từ một ảnh sẽ đƣợc đối điếu với từ điển.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Mỗi SURF-descriptor sẽ đƣợc so sánh với một từ trong từ điển để tìm ra từ

35

gần với nó nhất. SURF-descriptor sẽ đƣợc thay thế bằng từ tƣơng đƣơng

trong từ điển. Khi đếm số lần xuất hiện của mỗi từ ta sẽ thu đƣợc một

histogram. Histogram này chính là bộ mô tả của ảnh vật thể chúng ta đang cần

tìm (ở trên đã quy ƣớc sẽ gọi là BOW-descriptor).

- iii. Sử dụng tất cả các BOW-descriptor thu đƣợc này làm bộ dữ liệu

huấn luyện để dạy cho mạng neuron.

2. Nhận diện:

- Trích đặc trƣng của vật thể dựa trên phƣơng pháp SURF;

- Đối chiếu các đặc trƣng thu đƣợc với từ điển để thu đƣợc BOW-

descriptor của ảnh vật thể;

- Sử dụng bộ mô tả này làm dữ liệu đầu vào để nhận diện với mạng

neuron đã đƣợc huấn luyện ở bƣớc trên.

2.3. Diễn giải chi tiết thuật toán

2.3.1. Trích chọn và mô tả đặc trưng với SURF

Trong lĩnh vực phân loại ảnh sử dụng nhiều phƣơng pháp trích chọn

đặc trƣng: bộ dò Harris, phƣơng pháp SIFT (Scale-invariant feature

transform), DoG (Difference of Gaussians filter), SURF (Speeded Up Robust

Features), v.v… Song song với trích chọn đặc trƣng cũng tồn tại nhiều

phƣơng pháp mô tả đặc trƣng: Gaussian derivative, moment invariants,

complex features, steerable filters, phase-based local features, SIFT, SURF.

[4] đƣa ra kết quả so sánh và đánh giá các phƣơng pháp trích chọn đặc trƣng.

Căn cứ vào đánh giá này, SIFT và SURF đƣợc xem là hai phƣơng pháp cho

kết quả tốt nhất và phù hợp nhất với tiêu chí của đặc trƣng mà phƣơng pháp

trong luận văn này cần tới. SIFT đƣợc đánh giá có thể trích chọn đƣợc nhiều

đặc trƣng hơn nhƣng tốc độ hoạt động thấp hơn so với SURF. SURF đƣợc

đánh giá cao hơn khi áp dụng trên những hình có kích thƣớc nhỏ. Do đó,

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

trong thuật toán, để trích chọn đặc trƣng ban đầu trong pha sinh từ điển, luận

36

văn này quyết định sử dụng phƣơng pháp trích chọn và biểu diễn đặc trƣng

SURF.

Phƣơng pháp trích chọn đặc trƣng SURF hoạt động dựa trên tính toán

gần đúng giá trị ma trận Hessian. Đối với mỗi điểm ảnh , ma trận

Hessian tại P với tỷ lệ σ đƣợc xác định dựa theo công thức sau [2.1]:

(2.1)

Trong đó , , – đạo hàm Gaussian bậc hai

, , tại điểm P.

Để rút ngắn thời gian xử lý, đạo hàm bậc hai của hàm Gaussian đƣợc

tính gần đúng bằng cách sử dụng “box filter” và “integral image”. Integral

Image cho phép đơn giản hóa quá trình phân tích không gian tỷ lệ (TA: scale

space). Định thức của ma trận Hessian đƣợc sử dụng để lựa chọn tọa độ điểm

mong muốn và tỷ lệ. Tọa độ điểm này đƣợc xác định nhờ phƣơng pháp non-

maximum suppression. Cách tính này giúp SURF-descriptor bền vững khi

thay đổi độ phóng đại hình.

Phƣơng thức SURF cũng tạo ra một vùng hình tròn xung quan điểm lựa

chọn để xác định hƣớng nghiêng đặc trƣng và giúp đặc trƣng SURF bền vững

khi xoay hình (khi xoay hình vẫn có thể tìm lại đƣợc đặc trƣng đó). Do SURF

xác định điểm đặc biệt tren cơ sở các thông tin cục bộ quan điểm đó, số lƣợng

đặc trƣng phát hiện đƣợc phụ thuộc vào ảnh và không cố định. Do đó, tập hợp

các đặc trƣng SURF không thể trực tiếp sử dụng cho mạng neuron và các

phƣơng pháp phân lớp khác.

Trong hình 2.3 mô tả các đặc trƣng SURF đƣợc tìm ra trên hình chụp

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

một bàn tay với các tỷ lệ và góc nghiêng khác nhau. Mỗi đặc trƣng này đƣợc

37

mô tả bởi một vector có kích thƣớc cố định 64 (đối với phƣơng thức biểu diễn

nguyên bản của SURF) hoặc 128 (với phƣơng thức biểu diễn mở rộng).

Hình 2.3. Đặc trưng được trích chọn bằng SURF

2.3.2. Phân cụm đặc trưng SURF và sinh từ điển

Nhƣ trên đã phân tích, mô tả SURF mặc dù có kích thƣớc cố định (64

hoặc 128 phần tử) nhƣng có số lƣợng khá lớn với mỗi vật thể, đồng thời số

lƣợng này cũng không cố định và không hoàn toàn xác định với mỗi vật thể.

Do đó, mô tả SURF không thể sử dụng trực tiếp cho mạng neuron. Để giải

quyết vấn đề, trong luận văn này trình bày giải pháp tạo ra một loại mô tả mới

dƣới dạng một vector có kích thƣớc cố định đối với mỗi vật thể cần nhận diện.

Nhƣ đã trình bày ở phần ý tƣởng 2.2, dựa trên mô hình túi từ, nếu

chúng ta coi ảnh của mỗi vật thể là một tài liệu văn bản, và mỗi mô tả SURF

thu đƣợc ở bƣớc trích chọn đặc trƣng là một từ tạo nên văn bản đó thì việc

tính số lần xuất hiện của một số các từ khóa quan trọng trong văn bản có thể

giúp xác định đƣợc nội dung của văn bản đó thuộc thể loại nào.

Dựa theo ý tƣởng này, tất cả các mô tả SURF thu đƣợc từ toàn bộ các

hình vật thể trong bộ dữ liệu huấn luyện sẽ đƣợc phân thành các nhóm dựa

trên một thuật toán phân cụm. Thực tế là, các đặc trƣng trích ra từ cùng một

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

lớp vật thể sẽ phải có điểm tƣơng đồng, đồng thời trong rất nhiều đặc trƣng

38

trích ra cũng có thể có giá trị rất gần nhau. Việc phân cụm các mô tả SURF

cho phép gộp các đặc trƣng gần nhau thành một nhóm và lựa chọn ra một đại

diện duy nhất cho cả nhóm. Khi đó một đối tƣợng hoàn toàn có thể đƣợc mô

tả thông qua các đại diện này.

Việc phân cụm các mô tả SURF có thể đƣợc thực hiện nhờ nhiều thuật

toán phân cụm khác nhau: k-means, C-means, KRAB, các thuật toán EM,

DBSCAN, v.v… Thực tế thấy rằng có thể áp dụng bất kỳ phƣơng pháp phân

cụm nào. Tuy nhiên, trong luận văn này trình bày áp dụng phƣơng pháp phân

cụm k-means dựa trên sự đơn giản và tốc độ thực hiện.

K-means phân chia tập hợp các phần tử trong một không gian vector

thành k cụm với k là giá trị cung cấp sẵn. Ý tƣởng của k-means là tại mỗi lƣợt

duyệt (iteration) sẽ tính toán lại giá trị trọng tâm (center of mass) của mỗi

cụm thu đƣợc từ bƣớc trƣớc, sau đó các vector lại đƣợc chia thành cụm tƣơng

ứng nếu nó “gần” hơn so với giá trị trọng tâm này. Thuật toán dừng hoạt động

nếu tại một lƣợt duyệt nào đó không có sự thay đổi về các cụm hoặc sau một

số lƣợt duyệt xác định trƣớc. K-means hƣớng tới cực tiểu hóa độ lệch tổng

bình phƣơng “khoảng cách” từ các vector tới trọng tâm của cụm theo công

thức sau:

(2.2)

Trong đó: k – số cụm cho trƣớc; – các cụm thu đƣợc; – trọng tâm

của các vector ; x – tập hợp các vector đầu vào.

Khi áp dụng k-means cần cung cấp sẵn số lƣợng cụm mong muốn. Nếu

mỗi cụm đƣợc coi là một hợp của các đặc trƣng gần giống nhau (tƣơng tự nhƣ

các từ có nghĩa tƣơng tự nhau trong văn bản và có thể thay bằng một từ khóa

duy nhất) thì số lƣợng cụm chính là tổng số lƣợng “từ khóa”; trọng tâm của

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

mỗi cụm chính là từ khóa sẽ đại diện cho cả cụm. Tập hợp tất cả các từ khóa

39

này sắp xếp theo một trật tự nhất định chính là bộ “từ điển” sẽ đƣợc dùng để

tạo ra loại mô tả mới cho vật thể.

Giả sử các đặc trƣng trích đƣợc qua phƣơng thức SURF từ tất cả các vật thể thuộc cùng một lớp là không trùng lặp và chỉ đặc trƣng cho vật thể thuộc lớp đó, số lƣợng cụm khi áp dụng k-means (hay là số từ khóa trong bộ

từ điển) có thể tính gần đúng theo công thức sau: (2.3)

Trong đó K – số lƣợng cụm; N – số lƣợng lớp vật thể; – số lƣợng ảnh

huấn luyện của lớp i; – số lƣợng đặc trƣng trích ra từ mẫu thứ j của lớp i.

Khi kết thức quá trình phân cụm sẽ thu đƣợc tập hợp các vector trọng tâm của các cụm. Mỗi vector này cũng chính là một mô tả SURF làm đại diện cho tất cả các vector khác trong cụm. Mỗi hình vật thể sau khi trích chọn đặc trƣng SURF sẽ đem so sánh với tập hợp vector trọng tâm này. Đặc trƣng nào gần trọng tâm nhất sẽ đƣợc thay thế bởi vector trọng tâm. Khi đếm số lần xuất hiện của từng từ trong từ điển ta có thể xác định đƣợc lớp của vật thể đó.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Hình 2.4. Mô tả trực quan quá trình phân cụm và sinh từ điển

40

2.3.3.Tạo loại mô tả vật thể mới dựa trên SURF và từ điển để dùng cho

mạng neuron

Đối với mỗi hình vật thể sẽ áp dụng phƣơng pháp SURF để trích tất cả

các đặc trƣng và tạo mô tả SURF cho từng đặc trƣng này. Đối với mỗi mô tả

SURF chúng ta tính khoảng cách Eclide tới từng trọng tâm của của mỗi cụm

và lựa chọn giá trị nhỏ nhất theo công thức:

(

(2.4)

Trong đó – khoảng cách từ vector đặc trƣng SURF p của vật

thể tới trọng tâm thứ k; N – số chiều của vector SURF (64 hoặc 12); p; –

trọng tâm thứ k.

Nếu khoảng cách này nhỏ hơn một giới hạn xác định trƣớc thì trọng

tâm đó sẽ đƣợc lựa chọn để thay thế cho đặc trƣng SURF của hình vật thể.

Sau khi thay thế tất cả các vector SURF gốc của vật thể bằng đại diện phù

hợp, vật thể sẽ đƣợc đặc trƣng bằng một histogram với số lần xuất hiện của

mỗi đại diện.

Lƣu ý, khi xây dựng bộ từ điển chúng ta chỉ sử dụng các hình chứa duy

nhất một vật thể (không có nhiễu và không có nền). Khi đó, các đặc trƣng trích

chọn ra để làm từ điển hoàn toàn đƣợc trích ra từ vật thể. Khi xây dựng bộ dữ

liệu huấn luyện, nhằm tăng khả năng của mạng, chúng ta sẽ đƣa thêm vào các

hình có nhiễu hoặc có nền. Khi đó, các đặc trƣng SURF trích chọn ra có thể

không thuộc về vật thể mà thuộc về nền hoặc yếu tố gây nhiễu. Do vậy cần

phải thiết lập một giá trị ngƣỡng khoảng cách để loại bỏ các đặc trƣng không

mong muốn này. Giá trị ngƣỡng có thể tính gần đúng với công thức sau:

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

(2.5)

41

Trong đó – khoảng cách ngƣỡng; – khoảng cách giữa các

trọng tâm và ; N – số lƣợng cụm.

Khi tất cả các đặc trƣng SURF của hình vật thể đã đƣợc thay thế bằng

các đại diện (trọng tâm cụm) tƣơng ứng, chúng ta sẽ xây dựng một histogram

chỉ ra số lần xuất hiện của mỗi đại diện. Histogram này sẽ đƣợc dùng làm một

mô tả mới, sau đây sẽ tạm gọi là đặc trƣng BOW hay mô tả BOW (bag-of-

words). Mô tả BOW này có kích thƣớc cố định bằng số cụm, đặc trƣng cho

lớp vật thể, và có thể sử dụng cho pha phân lớp với mạng neuron.

Hình 2.5. Vật thể và mô tả BOW tương ứng

Do SURF trích chọn ra các đặc trƣng cục bộ và không quan tân đến

quan hệ tƣơng đối giữa chúng, đặc trƣng BOW vừa xây dựng cũng không tính

đến quan hệ không gian giữa các điểm đặc trƣng của vật thể. Đối với bài toán

nhận diện bàn tay, đây là một đặc điểm có lợi do có thể chỉ cần luyện cho

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

thuật toán nhận diện một bàn tay nhƣng có thể sử dụng cho cả tay còn lại.

42

2.3.4. Huấn luyện và phân lớp với mạng neuron

Mô tả BOW tạo ra ở trên có thể đƣợc sử dụng với nhiều phƣơng pháp

phân lớp khác nhau. Trong luận văn này trình bày và áp dụng thử nghiệm

mạng neuron nhiều lớp để giải quyết bài toán phân lớp do độ chính xác cao và

tốc độ xử lý lớn, có thể áp dụng cho bài toán nhận diện theo thời gian thực.

Hình 2.6.Mạng neuron nhiều lớp

Mạng neuron nhiều lớp với truyền dẫn ngƣợc (TA: Multilayer

Perceptron – MLP) chứa 3 lớp hoặc nhiều hơn, bao gồm một lớp đầu vào, một

lớp đầu ra với một hoặc vài lớp ẩn. Số neuron ở lớp đầu vào đƣợc xác định

bằng số cụm đặc trƣng (đã tính trong phần 2.3.2); số neuron ở lớp đầu ra xác

định bằng số lƣợng lớp cần phân loại. Việc lựa chọn hàm kích hoạt phù hợp

thực hiện thông qua thực nghiệm.

Việc huấn luyện mạng đƣợc thực hiện bằng cách thay đổi giá trị trọng

số khi xử lý từng phần của bộ dữ liệu huấn luyện, đánh giá sai số đầu ra và

so sánh với kết quả dự kiến. Sai số đầu ra sẽ đƣợc truyền dẫn ngƣợc trở lại

các lớp trƣớc đó.

Nếu biểu diễn sai số tại đầu ra thứ j là ( - giá trị đích, -

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

giá trị do mạng tính ra) thì lỗi đầu ra có thể tính theo công thức:

43

Trong bƣớc tiếp theo cần tính độ thay đổi trọng số của từng liên kết sử

dụng phƣơng pháp gradient:

(2.6)

Trong đó: - giá trị ra của neuron trƣớc đó; - tốc độ huấn luyện.

Một vấn đề quan trọng khi áp dụng mạng neuron trong phân lớp là việc

lựa chọn cấu hình mạng, bao gồm lựa chọn số lƣợng lớp ẩn và số lƣợng

neuron ở từng lớp. Các yếu tố này ảnh hƣởng tới khả năng tổng hợp và tốc độ

xử lý của mạng. Tuy nhiên hiện không có các phƣơng pháp tiêu chuẩn để lựa

chọn cấu hình tối ƣu cho mạng. Luận văn này không đi sâu vào vấn đề tối ƣu

hóa mạng neuron mà chỉ sử dụng phƣơng pháp lựa chọn cấu hình theo chiến

thuật “thử và sai” với cấu hình ban đầu nhƣ sau: mạng có 3 lớp (1 lớp ẩn); số

neuron lớp đầu vào bằng số lƣợng cụm; số lƣợng neuron lớp đầu ra bằng số

lớp cần phân loại; số lƣợng neuron trong lớp ẩn bằng ba lần số neuron lớp đầu

vào. Sau đó sẽ đem mạng huấn luyện thử và tiến hành giảm dần số lƣợng

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

neuron lớp ẩn để đạt đƣợc tỉ lệ hợp lý giữa tốc độ xử lý và độ chính xác.

44

CHƢƠNG 3.

XÂY DỰNG CHƢƠNG TRÌNH THỬ NGHIỆM

Trong khuôn khổ luận văn này xây dựng chƣơng trình “Hand

Recognitor” để thử nghiệm hoạt động của thuật toán và tạo dữ liệu thử

nghiệm. Chƣơng này sẽ trình bày chi tiết về chƣơng trình.

Chƣơng trình này bao gồm đầy đủ các module cho phép tạo các bộ dữ

liệu thu trực tiếp từ camera, sinh từ điển, huấn luyện mạng neuron, thực hiện

test tự động trên các bộ dữ liệu hình thu sẵn, test thực tế với hình thu trực tiếp

từ camera máy tính.

Chƣơng trình thử nghiệm đƣợc xây dựng bằng ngôn ngữ lập trình C#

và sử dụng bộ thƣ viện OpenCV để đơn giản hóa một số công việc thu và xử

lý video.

3.1. Các lớp xây dựng chƣơng trình

Phần này trình bày chi tiết một số lớp chính để tạo ra các module của

chƣơng trình.

a. Module mạng neuron

Mạng neuron đƣợc xây dựng với hai lớp chính: «ANN_MPL» và

«ANNModel» (Hình 3.1). Lớp «ANN_MPL» dành cho huấn luyện và thử

nghiệm mạng; lớp «ANNModel» chứa thông tin cấu hình của mạng. Trong

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

bảng 3.1. mô tả sơ lƣợc một số thuộc tính và phƣơng thức của các lớp này.

45

Bảng 3.1. Mô tả các lớp để xây dựng mạng neuron

Lớp «ANNModel»

layerSize Cấu trúc mạng neuron lƣu dƣới dạng các ma trận (số lớp

và số neuron ở từng lớp).

parameters Danh sách tham số bắt buộc để tạo mạng.

Lớp «ANN_MPL»

Predict Yêu cầu mạng thực hiện nhận dạng (dự đoán kết quả).

Train Yêu cầu mạn bắt đầu thực hiện huấn luyện.

Cấu trúc «MCvANN_MLP_TrainParams»

term_crit Tiêu chí kết thúc huấn luyện.

bp_dw_scale Giá trị gradient weight.

bp_moment_scale Giá trị momentum.

Hình 3.1. Các lớp để xây dựng mạng neuron

b. Module SURF detector

SURF detector đƣợc sử dụng để trích chọn và biểu diễn các đặc trƣng

của hình vật thể dùng để sinh từ điển cũng nhƣ để sinh ra mô tả BOW. SURF

detector đƣợc xây dựng thông qua hai class: «SURFDetector» và

«SURFFeature». Mô tả sơ lƣợc các lớp này trình bày ở hình 3.2 và bảng 3.2. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

46

Bảng 3.2. Mô tả các lớp của module SURF

Thuộc tính / phƣơng thức Mô tả

Lớp «SURFFeature» - mô tả SURF feature

Descriptor vector SURF

Mảng của các điểm đặc biệt phát hiện đƣợc

Point trên hình. Các đặc trƣng sẽ đƣợc trích và xây

dựng xung quanh các điểm này.

Lớp «SURFDetector»

SURFParams Các tham số cho SURF detector.

Phƣơng phức dùng để tìm các điểm đặc biệt DetectKeyPoints trên hình.

DetectFeatures Phát hiện tất cả các đặc trƣng SURF trên hình.

Tính toán danh sách các vector SURF của ComputeDescriptors hình.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Hình 3.2. Mô tả các lớp của module SURF

47

c. Module sinh từ điển

Module sinh từ điển bao gồm bốn lớp: BOWSURFCalculator,

BOWDescriptorCalculator, BOWVocabularyGenerator, BOWParams. Lớp

BOWTrainingData dùng để sinh ra dữ liệu huấn luyện (mảng của các mô tả

BOW). Mô tả các lớp này trình bày ở bảng 3.3 và hình 3.3.

Bảng 3.3. Mô tả một số lớp thuộc module sinh từ điển

Thuộc tính/phƣơng thƣc Mô tả

Lớp «BOWSURFCalculator» dùng để tính ra các SURF descriptor

SURFparams Danh sách tham số cho SURF detector.

Tìm ra tất cả SURF descriptor trên hình và SURFComputeDescriptors lƣu lại dƣới dạng ma trận.

Tìm ra tất cả SURF descriptor trên hình và

SURFComputeDescriptorsList lƣu lại dƣới dạng danh sách.

Lớp «BOWDescriptorCalculator» dùng để tính ra BOW descriptor thông qua

từ điển và tập hợp SURF descriptor tìm ra từ ảnh.

Vocabulary Sinh từ điển

LoadVocabulary Tải từ điển từ file.

BOWComputeDescriptor Tính BOW descriptor.

Lớp «BOWVocabularyGenerator» dùng để sinh từ điển

Attempts Tham số cho k-means.

ClusterCount Số lƣợng từ trong từ điển.

TermCriteria Điều kiện dừng thuật toán.

Vocabulary Từ điển đƣợc tạo ra.

GenerateVocabulary Bắt đầu sinh từ điển.

SaveVocabulary Lƣu từ điển vào file.

Lớp «BOWParams» dùng để lƣu các tham số

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Clusters Số lƣợng từ trong từ điển.

48

Số lần thử của K-means. Attempts

Giá trị ngƣỡng Hessian. Hessian

Phiên bản SURF descriptor sử dụng (64 Extended hay 128).

LoadParams|SaveParams Tải | Lƣu danh sách tham số.

Lớp «BOWTrainingData» dùng để tạo ra các bộ dữ liệu.

Tính BOW descriptor. BOWDesCal

Tính SURF descriptor. BOWSurfCal

Sinh từ điển. BOWVocGen

Sinh dữ liệu huấn luyện. TrainingData

Từ điển. Vocabulary

GenerateTrainingData Bắt đầu sinh dữ liệu huấn luyện.

Lƣu dữ liệu lên đĩa. SaveTrainingData

Tải dữ liệu từ đĩa. LoadTrainingData

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Hình 3.3. Các lớp thuộc module sinh từ điển

49

3.2. Chƣơng trình «Hand Recognitor»

Giao diện chính của chƣơng trình trình bày ở hình 3.4.

Hình 3.4. Giao diện chính của chương trình Hand Recognitor

Nhóm «Data» chứa các trƣờng để nhập dữ liệu từ file:

 Codebook – file chứa dữ liệu từ điển sinh ra trong pha «sinh từ điển”;

ANN_BOW – file chứa thông tin về mạng neuron đã đƣợc huấn luyện sẵn;

Nhóm «Params» chứa các trƣờng để cung cấp tham số ban đầu cho

chƣơng trình:

 Clusters – số lƣợng từ trong từ điển, đƣợc đƣa ra trong giai đoạn sinh

từ điển;

 Attempts – số lần thử, đƣợc đƣa ra trong giai đoạn sinh từ điển;

 Hessian – giá trị ngƣỡng Hessian, đƣợc đƣa ra trong giai đoạn sinh

từ điển;

 Extended – số phần tử trong vector SURF (64 hoặc 128);

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

 Classes – số lƣợng và tên gọi các lớp, dùng khi test.

50

Tất cả các tham số này đƣợc đƣa ra tƣơng ứng với dữ liệu sử dụng

trong giai đoạn huấn huyện thuật toán.

Sau khi tải dữ liệu từ các file có thể bắt đầu bật camera (nút Camera).

Nếu chƣơng trình phát hiện đƣợc camera rỗi và liên kết đƣợc với chƣơng

trình, chƣơng trình có thể bắt đầu hoạt động.

Trong quá trình hoạt động có thể thay đổi không gian màu cho phù hợp

(HSL, RGB, Mixed – trong nhóm «Color Space»).

Để tạo dữ liệu thử nghiệm và test thuật toán nhận diện cần lựa chọn

Menu -> Hand form creator. Giao diện của module này trình bày ở hình 3.5.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Hình 3.5. Giao diện module tạo dữ liệu và test thuật toán

51

Qúa trình thực hiện để có thể test nhận diện các hình dạng bàn tay bao

gồm các bƣớc sau:

 Tạo ra bộ ảnh cho từng lớp (mỗi loại hình dạng bàn tay là một lớp);

 Sinh từ điển;

 Chuẩn bị dữ liệu để huấn luyện mạng neuron;

 Khởi tạo và huấn luyện mạng neuron;

 Thử nghiệm.

d. Tạo các bộ ảnh thử nghiệm

Để tạo bộ ảnh thử nghiệm, trong tab Real-time cần bật camera (nút

Camera), click chọn Indefined Region để kích hoạt việc lƣu hình ảnh từ

camera trong vùng đƣợc lựa chọn. Các hình sẽ đƣợc chụp liên tục theo

framerate của camera và lƣu thành từng thƣ mục riêng. Để sinh từ điển cần

chụp các hình không có nền với độ sáng tốt.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Hình 3.6. Tab «Real-time» để tạo bộ dữ liệu

52

Nút bấm «Save to» cho phép chọn thƣ mục để lƣu các hình chụp

đƣợc. Click chọn Save object sẽ bắt đầu thu hình và lƣu hình. Trong hình

3.7 là ví dụ về các bộ dữ liệu thu đƣợc thuộc 4 lớp thử nghiệm: «Fist»,

«OK», «Palm», «Point».

Hình 3.7. Ví dụ về các ảnh thu được thuộc 4 lớp «Fist», «OK», «Palm»,

«Point»

e. Sinh từ điển và tạo dữ liệu huấn luyện

Quá trình sinh từ điển và tạo dữ liệu huấn luyện bao gồm các bƣớc:

 Đặt các tham số cho k-means, SURF, số lƣợng và tên các lớp;

 Tạo danh sách file từ bộ ảnh “sạch”;

 Kích hoạt lệnh sinh từ điển và lƣu vào file;

 Sử dụng file list và từ điển vừa tạo để sinh ra bộ dữ liệu huấn luyện.

Trƣớc khi có thể sinh từ điển cần phải tạo ra một bộ ảnh “sạch” thuộc

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

về các lớp cần nhận diện. Phƣơng pháp làm đã trình bày ở phần a. Trong tab

53

«Codebook Generation» (hình 3.8), ô «Image folder» cần chỉ ra đƣờng dẫn

tới nơi chứa thƣ mục ảnh “sạch”. Kết quả sẽ đƣợc lƣu trong file chỉ ra trong

mục Save Filelist to. Filelist là một file văn bản chứa danh sách tất cả các

hình thuộc tất cả các lớp trong bộ dữ liệu. Filelist sẽ đƣợc sử dụng để có thể

nhanh chóng duyệt tất cả các file ảnh trong bộ dữ liệu.

Hình 3.8. Giao diện module tạo dữ liệu và test thuật toán

Sau khi tạo ra một danh sách các hình ảnh, cần phải thiết lập các tham số:

 Clusters - số lƣợng các "từ khóa" trong từ điển;

 Attempts - số lần thử của các thuật toán K-means, thiết lập mặc định

bằng 2. Giá trị của tham số này càng lớn làm tăng thời gian sinh từ điển;

 Hessian - ngƣỡng Hessian;

 Extended - sử dụng một phiên bản mở rộng của mô tả SURF với 128

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

phần tử. Mặc định là phiên bản tiêu chuẩn với 64 phần tử. Phiên bản mở rộng

54

làm giảm đáng kể hiệu suất trong thời gian thực và cũng làm tăng thời gian

sinh từ điển;

 Classes - danh sách các lớp.

Các giá trị «Clusters», «Hessian», «Extended» đƣợc xác định thông

qua một ứng dụng nhỏ «BOW params» (hình 3.9).

Hình 3.9. Ứng dụng «BOW params» để lựa chọn tham số

Ứng dụng nhỏ này cho phép chạy SURF detector để xử lý từng hình

ảnh riêng rẽ và tính toán số lƣợng các đặc trƣng trích xuất từ các hình ảnh,

cũng nhƣ thời gian xử lý đối với mỗi giá trị Hessian nhất định. Tiêu chí để lựa

chọn giá trị Hessian là tỷ lệ của số lƣợng đặc trích xuất đƣợc với thời gian xử

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

lý. Các thí nghiệm đã chỉ ra rằng tỷ lệ 50/20 (50 đặc trƣng trong 20 ms) cho

55

kết quả tốt nhất. Tiện ích này cũng cho phép thực hiện các phân tích tập hợp

các hình ảnh đƣợc tạo ra giai đoạn đầu. Hộp thoại sẽ cho biết số lƣợng

(khuyến cáo) của các cụm – chính là số từ trong từ điển (Hình. 3.10).

Hình 3.10. Kết quả phân tích bộ ảnh thuộc 4 lớp

Sau khi tạo ra danh sách ảnh và chỉ định tất cả các thông số, có thể bắt

đầu tạo ra từ điển (trong chƣơng trình này dùng từ codebook). Để thực hiện,

trong mục «save codebook to» cần xác định tập tin dữ liệu nơi sẽ lƣu từ điển,

và chọn «Create». Việc sinh từ điển thƣờng cần một thời gian dài. Tùy thuộc

vào tùy chọn và khối lƣợng của tập dữ liệu ảnh, việc sinh từ điển có thể mất

vài giờ. Bất cứ lúc nào, ngƣời dùng có thể đình chỉ quá trình và khôi phục lại

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

sau đó.

56

f. Chuẩn bị dữ liệu huấn luyện

Dữ liệu huấn luyện mạng neuron đƣợc sinh ra từ tập hình ảnh tạo ra

trong giai đoạn đầu (chính là bộ dữ liệu dùng để sinh từ điển). Tuy nhiên, để

tăng khả năng chịu nhiễu của thuật toán nhận diện, cần bổ sung thêm các ảnh

đƣợc chụp với hình nền trong nhiều điều kiện chiếu sáng khác nhau. Danh

sách hình ảnh, từ điển, và file đích sẽ chứa dữ liệu huấn luyện cần đƣa vào

các ô chọn tƣơng ứng: «File list», «codebook», và «Save to» trong nhóm

«Training data».

g. Tạo và huấn luyện mạng neuron

Mạng neuron đƣợc khởi tạo và huấn luyện trong tab «Neural Network»

(Hình 3.11). Thuật toán phát triển trong luận văn sử dụng mạng neuron đa lớp

lan truyền ngƣợc với một lớp ẩn.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Hình 3.11. Giao diện để tạo và huấn luyện mạng neuron.

57

Tùy chọn để tạo và huấn luyện mạng neuron:

 Input – số lƣợng neuron đầu vào, bằng với số từ khóa trong từ điển;

 Hidden – số lƣợng neuron trong lớp ẩn;

 Output – số lƣợng neuron lớp ra, bằng số lƣợng các lớp cần nhận diện;

 Max iteration – số lƣợng tối đa các bƣớc lặp trong huấn luyện;

 Epsilon – tiêu chí kết thúc huấn luyện;

 DW scale – giá trị trọng lƣợng của gradient, chỉ sử dụng khi dùng

Back Prop;

 Back Prop/RProp – phƣơng pháp truyền dẫn ngƣợc.

Sau khi xác định file với các dữ liệu huấn luyện có thể bắt đầu luyện

mạng neuron. Tập tin với cấu trúc của mạng nơron đƣợc đào tạo sẽ đƣợc lƣu

trữ sử dụng tiếp với chƣơng trình (trong khâu test và chạy thử nghiệm).

h. Test

Chƣơng trình hỗ trợ ba cách kiểm tra: kiểm tra tự động trên một bộ dữ

liệu kiểm tra, thử nghiệm "bằng tay" và thử nghiệm trong thời gian thực.

Tự động thử nghiệm đƣợc thực hiện trong tab «Testing». Để thực hiện

cần phải xác định các tập tin chứa từ điển đã tạo ra trong bƣớc trƣớc đó (hộp

«codebook»), tập tin với các trọng số của mạng neuron (hộp «ANN»), danh

sách các hình ảnh thử nghiệm (hộp «File list»), tập tin để lƣu kết quả (hộp

«Log file »). Hình 3.12 trình bày kết quả của quá trình phân loại hình ảnh

thử nghiệm (từ một bộ 583 hình ảnh) thành ba lớp: đá, giấy, kéo (trò chơi

oẳn-tù-tì).

Tab " checking" cho phép nhanh chóng kiểm tra phân loại trên một tập

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

hợp nhỏ của hình ảnh (Hình 3.13).

58

Hình 3.12. Tự động test độ chính xác của thuật toán

Kiểm tra việc thực hiện của các tay phân loại định hình trong thời gian

thực đƣợc thực hiện trong tab «Realtime» (Hình 3.14). Trong chế độ kiểm tra

này chƣơng trình có tích hợp các module phát hiện và theo dõi bàn tay (do bộ

thƣ viện OpenCV cung cấp sẵn) để tiện lợi hơn cho việc thử nghiệm trong

thời gian thực. Chế độ này cho chuyển đổi giữa các không gian màu sắc để

lựa chọn chế độ hiển thị màu sắc phù hợp nhất cho việc theo dõi (HSL, RGB,

Mixed). Lựa chọn «Stop tracking» sẽ dừng module theo dõi vật thể mà chỉ

thực hiện nhận diện trong một vùng định trƣớc. Tùy chọn «In defined region»

quy định một vùng màn hình nơi thu hình ảnh, đƣợc thiết kế để kiểm tra khả

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

năng nhận dạng bàn tay mà không thực hiện phát hiện và theo dõi.

59

Hình 3.13. Kiểm tra hoạt động của thuật toán

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Hình 3.14. Thử nghiệm nhận diện trong thời gian thực

60

CHƢƠNG 4.

THỬ NGHIỆM THUẬT TOÁN VÀ PHÂN TÍCH KẾT QUẢ

Chƣơng này sẽ trình bày kết quả thử nghiệm thuật toán nhận diện hình

dạng bàn tay trên các tập dữ liệu khác nhau và đƣa ra đánh giá. Trong các thử

nghiệm này sử dụng các bộ dữ liệu do tác giả tự xây dựng và một số bộ dữ

liệu mở do các tác giả khác công bố.

4.1. Thử nghiệm với các bộ dữ liệu tự tạo

Để huấn luyện thuật toán, hai bộ dữ liệu đã đƣợc tạo ra: một bộ chứa

các hình ảnh “sạch” (chỉ chụp hình vật thể, không có nền, không có nhiễu)

dùng để sinh ra từ điển, một bộ chứa các hình ảnh với nền và nhiễu dùng để

huấn luyện. Trong giai đoạn test sử dụng ba bộ dữ liệu: một bộ với hình vật

thể không chứa nhiễu, một bộ có nền đơn giản, một bộ có độ sáng kém với

hình nền và các yếu tố nhiễu. Tất cả các bộ dữ liệu này chứa hình bàn tay

thuộc bốn lớp (Fist, Open Palm, Palm, V-Shape (hình 4.1)) và thu từ camera

của máy Notebook ASUS ULVT80.

Fist Open Palm Palm V-Shape

Hình 4.1. Các lớp vật thể trong các bộ dữ liệu

4.1.1. Giai đoạn sinh từ điển và huấn luyện

Bộ dữ liệu “sạch” để sinh từ điển chứa 1160 hình ảnh thuộc bốn lớp, cụ

thể nhƣ sau: lớp First – 269 hình, lớp Open Palm – 293 hình, lớp Palm – 284

hình, lớp V-Shape – 314 hình. Thuật toán trình bày cho phép xử lý các hình

ảnh với kích thƣớc bất kỳ. Tuy nhiên, để tiện lợi trong việc xây dựng các bộ

dữ liệu, tất cả các hình ảnh đều đƣợc chụp với cùng kích thƣớc 100x100 Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

61

pixel. Tất cả các hình trong bộ dữ liệu này chỉ chứa vật thể chụp ở nhiều góc

nghiêng và khoảng cách khác nhau, nền trắng và không có nhiễu (Hình 4.2).

Hình 4.2. Một phần bộ dữ liệu dùng để sinh từ điển

Số lƣợng đặc trƣng trích ra từ hình ảnh phụ thuộc vào ngƣỡng Hessian.

Nếu đặt giá trị này quá nhỏ, số lƣợng đặc trƣng tăng lên và thời gian xử lý

cũng tăng theo. Nếu đặt giá trị này quá lớn, số lƣợng đặc trƣng trích ra giảm

xuống và có thể ảnh hƣởng tới độ chính xác của thuật toán nhận dạng. Để

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

chọn đƣợc giá trị hợp lý của ngƣỡng Hessian sử dụng phƣơng pháp thực

62

nghiệm: nhiều giá trị khác nhau của ngƣỡng Hessian đƣợc sử dụng và đƣa vào

phân tích sau đó chọn giá trị Hessian nhỏ nhất mà thời gian xử lý mỗi bức ảnh

trong mức cho phép để có thể xử lý trong thời gian thực (để thu đƣợc số

lƣợng đặc trƣng lớn nhất có thể trong điều kiện giới hạn thời gian xử lý dƣới

20 ms để thuật toán có thể hoạt động trong thời gian thực với giả định camera

thu đƣợc tối thiểu 15 frame/s để đảm bảo hình thu đƣợc không bị giật). Trong

bảng 3.1 trình bày kết quả phân tích với giá trị ngƣỡng lần lƣợt là 0, 50, 100.

Bảng 4.1. Một số kết quả phân tích số lƣợng đặc trƣng với các giá trị

khác nhau của ngƣỡng Hessian.

Thời gian Số lƣợng đặc trƣng trung bình theo lớp

Giá trị Số lƣợng xử lý

Open Hessian đặc trƣng trung Fist Palm V-Shape Palm bình (ms)

48685 17 32 0 53 40 40

41060 15 25 50 46 32 35

13 22 100 36984 43 27 32

Kết quả này có nghĩa là, với giá trị Hessian = 0, từ 1160 hình của bộ dữ

liệu sinh từ điển trích ra đƣợc tổng cộng 48685 đặc trƣng, thời gian trung bình

để xử lý mỗi hình (trích đặc trƣng bằng SURF) là 17 ms, trung bình lớp First

có 32 đặc trƣng, lớp Open Palm – 53, lớp Palm – 40, lớp V-Shape – 40.

Tƣơng tự nhƣ vậy với giá trị Hessian bằng 50 và 100. Nhƣ vậy, trong trƣờng

hợp này có thể chọn giá trị Hessian = 0, và số lƣợng từ trong từ điển bằng

nhiều hơn 165 (tổng số lƣợng đặc trƣng trung bình). Điều này có thể đƣợc

giải thích là do kích thƣớc của ảnh vật thể trong bộ dữ liệu tƣơng đối nhỏ nên

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

giá trị Hessian không ảnh hƣởng nhiều đến thời gian xử lý.

63

Để huấn luyện mạng neuron, đối với mỗi lớp vật thể trong bộ dữ liệu

trên bổ sung thêm 100 hình đƣợc chụp với nền đơn giản và nhiều mức độ

chiếu sáng khác nhau để tăng thêm khả năng chịu nhiễu của thuật toán

(hình 4.3).

Hình 4.3. Bộ dữ liệu huấn luyện.

Trong các phần tiếp theo sẽ trình bày các kết quả test sau:

 Test với bộ dữ liệu chứa các ảnh với nền đơn giản ở nhiều góc

nghiêng và khoảng cách khác nhau;

 Test với bộ dữ liệu chứa các ảnh có nhiễu;

 Test với bộ dữ liệu chứa các ảnh bị nhiễu nặng.

Tất cả test đƣợc thực hiện trên máy notebook ASUS ULVT80, hệ điều

hành Windows 7 64 bit, 4Gb RAM, camera tích hợp sẵn của máy với tốc độ

thu 15 frame/giây.

4.1.2. Test với bộ dữ liệu chứa các ảnh với nền đơn giản ở nhiều góc

nghiêng và khoảng cách khác nhau

Thí nghiệm này kiểm tra khả năng của thuật toán nhận diện với các ảnh

có nền đơn giản ở các góc nghiêng, khoảng cách và kích thƣớc hình khác

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

nhau. Trong thí nghiệm này sử dụng các bộ dữ liệu test sau đây:

64

 Bộ dữ liệu gốc kích thƣớc 120x120, mỗi lớp chứa 500 hình;

 Bộ dữ liệu kích thƣớc 100x100, mỗi lớp chứa 500 hình (là các hình

của bộ dữ liệu đầu tiên đƣợc thu nhỏ kích thƣớc);

 Bộ dữ liệu kích thƣớc 80x80, mỗi lớp chứa 500 hình (là các hình của

bộ dữ liệu đầu tiên đƣợc thu nhỏ kích thƣớc);

 Bộ dữ liệu kích thƣớc 50x50, mỗi lớp chứa 500 hình (là các hình của

bộ dữ liệu đầu tiên đƣợc thu nhỏ kích thƣớc).

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Hình 4.4. Một số hình trong bộ dữ liệu test

65

Kết quả test đƣợc thể hiện trong bảng 4.2.

Bảng 4.2. Kết quả test với các bộ dữ liệu hình có kích thƣớc khác nhau

Kích thƣớc 120x120

Lớp

Open Fist Palm V-Shape Palm

Fist 493 0 0 0

Open Palm 0 499 0 0 Nhận diện

thành Palm 0 0 494 0

V-Shape 0 0 0 490

Không nhận diện 7 1 6 10

Kết quả Thời gian xử lý trung bình (ms)1 39 42 39 40

Độ chính xác (%) 98,6 99,8 98,8 98,0

Độ chính xác trung bình 98,8 %

Kích thƣớc 100x100

Lớp

Open Palm V-Shape Fist Palm

0 0 0 492 Fist

499 0 0 0 Open Palm Nhận diện

thành 0 493 0 0 Palm

0 0 490 0 V-Shape

1 Thời gian xử lý bao gồm thời gian trích đặc trƣng của SURF, thời gian tính vector

BOW, thời gian xử lý trong mạng neuron.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

1 7 10 8 Không nhận diện

66

Kết quả

28 Thời gian xử lý trung bình (ms) 31 29 30

98,4 Độ chính xác (%) 99,8 98,6 98,0

Độ chính xác trung bình 98,7 %

Kích thƣớc 80x80

Lớp

Open Fist Palm V-Shape Palm

490 Fist 0 0 0

0 Open Palm 499 0 0 Nhận diện

thành 0 Palm 0 491 0

0 V-Shape 0 0 489

10 Không nhận diện 1 9 11

Kết quả

14 Thời gian xử lý trung bình (ms) 16 15 15

98,0 Độ chính xác (%) 99,8 98,2 97,8

Độ chính xác trung bình 98,5 %

Kích thƣớc 50х50

Lớp

Open Fist Palm V-Shape Palm

444 Fist 6 22 23

10 Open Palm 470 11 12 Nhận diện

thành 9 Palm 8 443 13

14 V-Shape 7 11 441

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

23 Không nhận diện 9 13 11

67

Kết quả

Thời gian xử lý trung bình (ms) 14 16 15 15

Độ chính xác (%) 88,8 94,0 88,6 88,2

Độ chính xác trung bình 89,9 %

Kết quả thực nghiệm trên cho thấy sự chênh lệch nhỏ về độ chính xác

trung bình (trừ bộ hình kích thƣớc 50x50). Tuy nhiên thời gian xử lý trung bình

chênh lệch khá lớn (15 ms đối với bộ hình kích thƣớc 80x80, 40 ms với bộ hình

kích thƣớc 120x120). Tốc độ xử lý này chấp nhận đƣợc để sử dụng trong thời

gian thực (với camera có tốc độ thu 15 frame/giây thì thời gian xử lý mỗi frame

không đƣợc vƣợt quá 40 ms, nếu không sẽ tạo ra tình trạng giật hình).

Thuật toán trình bày đạt đƣợc kết quả nhận diện rất cao trong tình

huống lý tƣởng (một vật thể trên nền trơn) và không phụ thuộc vào khoảng

cách chụp hình cũng nhƣ góc nghiêng của vật thể trong hình.

Đối với bộ dữ liệu hình kích thƣớc 50x50, độ chính xác giảm mạnh và

số lƣợng nhận diện nhầm tăng lên đáng kể (trừ lớp Open Palm). Khi phân tích

cho thấy, số lƣợng đặc trƣng SURF thu đƣợc từ mỗi hình chỉ khoảng 7-10 (trừ

Open Palm). Nhƣ vậy, thuật toán hoạt động thiếu hiệu quả khi số lƣợng đặc

trƣng SURF thu đƣợc quá ít đối với ảnh có kích thƣớc nhỏ. Điều này cũng

giúp đƣa đến kết luận rằng, nếu một vật thể có bề mặt quá đơn giản (vd, hình

quả bóng tròn đồng màu), thuật toán không hoạt động hiệu quả do có quá ít

đặc trƣng trích ra đƣợc từ hình vật thể. Thuật toán hoạt động tốt hơn với các

vật thể có hình dạng bề mặt phức tạp.

4.1.3. Test với bộ dữ liệu chứa các ảnh có nhiễu

Bộ dữ liệu chứa các ảnh có nhiễu nhẹ (hình 4.5) bao gồm 1000 ảnh cho

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

mỗi lớp. Mỗi ảnh đƣợc chụp với độ sáng thấp trên nền đơn giản và có một số

68

vật thể nhỏ khác. Kích thƣớc mỗi ảnh trong bộ dữ liệu này là 100x100 pixel.

Kết quả test đƣợc trình bày ở bảng 4.3.

Hình 4.5. Một phần bộ dữ liệu test với nhiễu nhẹ

Bảng 4.3. Kết quả test với bộ dữ liệu ảnh có nhiễu nhẹ

Lớp

Fist Open Palm V-Shape

Palm

947 0 0 0 Fist

0 983 0 1 Open Palm Nhận diện

thành 0 0 951 0 Palm

1 0 0 935 V-Shape

52 17 49 64 Không nhận diện đƣợc

Kết quả

Thời gian xử lý trung 31 34 30 32 bình

Độ chính xác (%) 94,7 98,3 95,1 93,5

Độ chính xác trung bình 95,8 %

Trong thử nghiệm này quan sát thấy rằng độ chính xác trung bình giảm

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

nhẹ (so với các thử nghiệm trong phần trƣớc), đồng thời tăng thời gian xử lý

69

trung bình của mỗi bức hình. Điều này có thể đƣợc giải thích nhƣ sau: khi

xuất hiện các vật thể khác và hình nền, số lƣợng đặc trƣng SURF tìm thấy

tăng lên, do đó làm tăng thời gian xử lý khi xây dựng mô tả BOW; những đặc

trƣng SURF thu đƣợc từ những đối tƣợng “lạ” (không phải từ vật thể) có ảnh

hƣởng xấu tới độ chính xác của thuật toán nhận diện.

Kết quả thử nghiệm này cũng đƣa đến một kết luận quan trọng: phƣơng

pháp biểu diễn đặc trƣng BOW có thể hoạt động mà không cần thực hiện

phân tách riêng vật thể ra khỏi hình nền.

4.1.4. Test với bộ dữ liệu chứa ảnh bị nhiễu nặng

Đây là bộ dữ liệu đƣợc chụp trong điều kiện thật ở văn phòng với độ

sáng không cố định, có lẫn các vật thể lớn khác, với nhiều góc nghiêng và

kích thƣớc khác nhau (từ 80x80 tới 120x120). Một phần của bộ dữ liệu này

đƣợc trình bày ở hình 4.6. Kết quả test trình bày trong bảng 4.4.

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

Hình 4.6. Một phần bộ dữ liệu thử nghiệm

70

Bảng 4.4. Kết quả test với bộ dữ liệu có nhiễu

Lớp

Fist Open Palm Palm V-Shape

918 0 1 0 Fist

0 965 0 2 Open Palm Nhận diện

thành 1 0 903 1 Palm

1 0 1 918 V-Shape

80 35 95 79 Không nhận diện đƣợc

Kết quả

34 37 34 35 Thời gian xử lý trung bình (ms)

91,8 96,5 90,3 91,8 Độ chính xác (%)

92,6 % Độ chính xác trung bình

Trong thử nghiệm này, độ chính xác đã giảm đáng kể và thời gian xử lý

tăng lên so với các thử nghiệm trên nhƣng nhìn chung, độ chính xác này là

chấp nhận đƣợc. Nếu thuật toán nhận diện này đƣợc sử dụng cùng với một

giải pháp theo dõi vật thể (object tracking) sẽ luôn đạt đƣợc kết quả tƣơng tự

nhƣ trong thử nghiệm thứ hai (do phƣơng pháp theo dõi vật thể thƣờng sẽ

khoanh vùng đƣợc khu vực chỉ chứa vật thể).

4.1.5. Kết luận

Thuật toán trình bày đạt đƣợc kết quả nhận diện rất cao trong tình

huống lý tƣởng (một vật thể trên nền trơn) và không phụ thuộc vào khoảng

cách chụp hình cũng nhƣ góc nghiêng của vật thể trong hình.

Thuật toán hoạt động thiếu hiệu quả khi số lƣợng đặc trƣng SURF thu

đƣợc quá ít đối với ảnh có kích thƣớc nhỏ. Điều này cũng giúp đƣa đến kết

luận rằng, nếu một vật thể có bề mặt quá đơn giản, thuật toán không hoạt

động hiệu quả do có quá ít đặc trƣng trích ra đƣợc từ hình vật thể. Thuật toán

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

hoạt động tốt hơn với các vật thể có hình dạng bề mặt phức tạp.

71

Phƣơng pháp biểu diễn đặc trƣng BOW có thể hoạt động mà không cần

thực hiện phân tách riêng vật thể ra khỏi hình nền.

Vâ ̣y môi trƣờ ng làm viê ̣c là mô ̣t yếu tố ảnh hƣở ng tớ i hiê ̣u quả củ a

công viê ̣c thƣ̉ nghiê ̣m thuâ ̣t toán.

4.2. Thử nghiệm với một số bộ dữ liệu mở

Trong phần này sẽ trình bày kết quả thử nghiệm với hai bộ dữ liệu: bộ

dữ liệu của Sebastien Marcel và bộ dữ liệu của Đại học Cambridge.

4.2.1. Thử nghiệm với bộ dữ liệu của Sebastien Marcel

Bộ dữ liệu này đƣợc xây dựng và công bố với 6 lớp (A, B, C, Five,

Point, V) và là một phần của bộ ký hiệu trong ngôn ngữ cử chỉ của Hoa Kỳ

(ASL – American Sign Language) (Hình 4.7).

A B C

Point V Five

Hình 4.7. Các lớp trong bộ dữ liệu Sebastien Marcel

Bộ dữ liệu huấn luyện chứa 1329 hình thuộc lớp A, 487 hình lớp B,

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

572 hình lớp C, 645 lớp Five, 1395 hình lớp Point, 435 hình lớp V. Để sinh ra

72

từ điển, trong công trình này tự xây dựng một bộ dữ liệu gồm 200 hình kích

thƣớc 100x100 cho mỗi lớp.

Bộ dữ liệu test chứa 97 hình lớp A, 102 hình lớp B, 112 hình lớp C,

112 hình lớp Five, 138 hình lớp Point và 119 hình lớp V (hình 4.8). Kết quả

thử nghiệm trình bày trong bảng 4.5.

Hình 4.8. Một số hình thuộc lớp A chia làm hai nhóm:

nhóm “đơn giản” (hàng trên), nhóm “phức tạp” (hàng dưới)

Bảng 4.5. Kết quả test với bộ dữ liệu Sebastien Marcel2

Số hình Nhận diện Độ chính xác Lớp Thời gian xử lý trung bình (ms)

(1) (2) (1) (2) (1) (2) (1) (2)

58 39 57 35 98,3% 89,7% 27 28 A

61 41 59 40 96,7% 97,6% 27 27 B

65 47 60 40 92,3% 85,1% 27 27 C

57 38 54 30 94,7% 78,9% 27 27 V

76 58 75 56 98,7% 96,6% 28 29 Five

65 54 63 50 96,9% 92,6% 27 27 Point

Kết quả

2 Cột (1), (2) – Kết quả test với bộ dữ liệu đơn giản (1), và bộ dữ liệu phức tạp (2).

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

96,3% 90,1% Độ chính xác trung bình 93,2%

73

Trong công trình [8], Sebastien Marcel đã xây dựng mô hình CGM

(Constrained Generative Model) để nhận diện hình bàn tay. Kết quả này đƣợc

tác giả công bố và tổng kết trong bảng 4.6.

Bảng 4.6. Kết quả thử nghiệm của mô hình CGM

Trên nền đơn giản

Độ chính xác Lớp Số hình trung bình

A,B,C,V 241 93,8%

A-V 382 93,4%

Trên nền phức tạp

Độ chính xác Lớp Số hình trung bình

A,B,C,V 165 74,8%

A-V 277 76,1%

Nhìn qua kết quả bảng test của CGM so với kết quả test của chúng tôi

thƣ̉ nghiê ̣m.Về mă ̣t chỉ số hiê ̣u quả củ a chú ng tôi hơn hẳn đô ̣ chính xác lẫn thờ i gian xƣ̉ lí 4.2.2. Test với bộ dữ liệu của Đại học Cambridge

Bộ dữ liệu của Đại học Cambridge chứa 900 chuỗi hình với 9 lớp,

tƣơng ứng với 3 hình dạng bàn tay và 3 hƣớng nghiêng của bàn tay (hình 4.9),

đƣợc chụp với 5 hƣớng chiếu sáng khác nhau. Mỗi lớp chứa 100 chuỗi hình

(5 hƣớng chiếu sáng x 20 chuỗi hình cho mỗi hƣớng). Mỗi chuỗi hình chứa

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

70 hình.

74

Trái Phải Nắm

Phẳng

Mở

Chữ V

a)

Phẳng/ Trái Phẳng/ Phải Phẳng/ Nắm

Mở/ Trái Mở/ Phải Mở/ Khép

V / Trái V / Phải V / Khép

b)

c)

Hình 4.9. Một phần dữ liệu của Đại học Cambridge

a) 9 lớp, bao gồm 3 hình dạng và 3 hướng nghiêng;

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

b) Ví dụ hình của các lớp; c) 5 hướng chiếu sáng

75

Bảng 4.7. Kết quả thử nghiệm với bộ dữ liệu của Đại học Cambridge

Hƣớng chiếu Độ chính xác Độ chính xác trung Lớp sáng bình (%) (%)

95,2 Phẳng

95,9 98,1 Mở

94,5 V

93,4 Phẳng

94,7 97,7 Mở

93,1 V

93,6 Phẳng

94,9 97,9 Mở

93,1 V

94 Phẳng

94,8 97,5 Mở

92,9 V

94,2 Phẳng

95,4 98,1 Mở

93,9 V

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

95,1% Độ chính xác trung bình

76

KẾT LUẬN

Trong thời gian vừa qua, nhƣ đã trình bày ở trên đây nội dung nghiên

cứu đề tài của tôi bao gồm các phần chính sau:

- Giới thiệu chung về nhận diện mẫu

- Những vấn đề cần giải quyết trong bài toán nhận diện mẫu

- Các phƣơng pháp trích chọn đặc trƣng trong ảnh số

- Các phƣơng pháp biểu diễn đặc trƣng

- Các phƣơng pháp phân lớp dữ liệu

- Một số phƣơng pháp nhận diện mẫu đã đƣợc công bố (phân tích, so

sánh ƣu/nhƣợc điểm, phạm vi ứng dụng)

- Trình bày thuật toán xây dựng vector đặc trƣng dựa trên mô hình túi từ

+ Lựa chọn phƣơng pháp trích chọn đặc trƣng (Trình bày sử dụng song

+ Lựa chọn phƣơng pháp phân cụm dữ liệu (Trình bày sử dụng thuật toán K-

means)

song SURF và SIFT)

+ Trình bày thuật toán xây dựng kho từ vựng cho mô hình túi từ

+ Trình bày thuật toán xây dựng vector đặc trƣng cho đối tƣợng trong

ảnh số

+ Xây dựng chƣơng trình thử nghiệm

+ Thực hiện huấn luyện và test trên một số kho dữ liệu cử chỉ.

+ Phân tích, đánh giá kết quả thu đƣợc; so sánh kết quả thu đƣợc với

kết quả của một số phƣơng pháp nhận diện đã đƣợc công bố.

+ Thuật toán đạt đƣợc kết quả nhận diện rất cao trong tình huống lý

tƣởng (một vật thể trên nền trơn) và không phụ thuộc vào khoảng cách chụp

hình cũng nhƣ góc nghiêng của vật thể trong hình.

+ Thuật toán hoạt động thiếu hiệu quả khi số lƣợng đặc trƣng SURF

thu đƣợc quá ít đối với ảnh có kích thƣớc nhỏ. Điều này cũng giúp đƣa đến

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

kết luận rằng, nếu một vật thể có bề mặt quá đơn giản, thuật toán không hoạt

77

động hiệu quả do có quá ít đặc trƣng trích ra đƣợc từ hình vật thể. Thuật toán

hoạt động tốt hơn với các vật thể có hình dạng bề mặt phức tạp.

TÀI LIỆU THAM KHẢO

[1]. A. Argyros and M. Lourakis, “Vision-based interpretation of hand ges-

tures for remote control of a computer mouse,” in Proc. Workshop Com-

put.HumanInteract.,2006,pp.40–51.

[2]. A. Barczak and F. Dadgostar, “Real-time hand tracking using a set of co-

operative classifiers based on Haar-like features,” Res. Lett. Inf. Math.

Sci.,vol.7,pp.29–42,2005.

[3]. L. Bretzner, I. Laptev, and T. Lindeberg, “Hand gesture recognition us-

ing multiscale color features, hieracrchichal models and particle filter-ing,” in

Proc. Int. Conf. Autom. Face Gesture Recog., Washington, DC,May 2002.

[4]. Q. Chen, N. Georganas, and E. Petriu, “Real-time vision-based hand

gesture recognition using Haar-like features,” in Proc. IEEE IMTC, 2007,

pp.1–6.

[5]. A. El-Sawah, N. Georganas, and E. Petriu, “A prototype for 3-D hand

tracking and gesture estimation,” IEEE Trans. Instrum. Meas., vol. 57,no.8,

pp. 1627–1636, Aug. 2008.

[6]. A. J. Heap and D. C. Hogg, “Towards 3-D hand tracking using a de-

formable model,” in Proc. 2nd Int. Face Gesture Recog. Conf., Killington,

VT, Oct. 1996, pp. 140–145.

[7]. M. Kolsch and M. Turk, “Analysis of rotational robustness of hand detection

with a Viola-Jones detector,” in Proc. 17th ICPR, 2004, pp. 107–110.

[8]. Maral S.Haud posture recognion in a body-face centered space // Extened

Abstract on Human Factors in computer System (CHI'99). - NewYork: ACM,

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

1999. - P.340-347

78

[9]. J. M. Rehg and T. Kanade, “Visual tracking of high DOF articulated

structures: An application to human hand tracking,” in Proc. Eur. Conf.

Comput.Vis.,1994,pp.35–46.

[10]. B. Stenger, “Template based hand pose recognition using multiple

cues,” in Proc. 7th ACCV, 2006, pp. 551–560.

[11]. B. Stenger, P. R. S. Mendonça, and R. Cipolla, “Model-based 3D

tracking of an articulated hand,” in Proc. Brit. Mach. Vis. Conf., Manchester,

U.K.,Sep. 2001, vol. I, pp. 63–72

[12]. P. Viola and M. Jones, “Robust real-time object detection,” Int. J.

Comput.Vis.,vol.2,no.57,pp.137–154,2004.

[13]. C. Wang and K. Wang, Hand Gesture Recognition Using Adaboost

With SIFT for Human Robot Interaction, vol.370.Berlin, Germany: Springer-

Verlag, 2008.

[14]. S.Wagner,B.Alefs, and C. Picus,“Framework for a portable gesture

interface,” in Proc. Int. Conf. Autom. Face Gesture Recog., 2006,pp. 275–280

[15]. H. Zhou and T. Huang, “Tracking articulated hand motion with Eigen

Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.lrc.tnu.edu.vn

dynamics analysis,” in Proc. Int. Conf. Comput. Vis., 2003, vol. 2,pp.1102–1109.