Tải bản đầy đủ (.pdf) (68 trang)

Nhận dạng cử chỉ bàn tay ứng dụng trong điều khiển thiết bị điện gia dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.71 MB, 68 trang )

1

LỜI CẢM ƠN
Em xin chân thành cảm ơn Trường Đại học Công nghệ Thông tin và Truyền
thông – Đại học Thái Nguyên đã tạo điều kiện cho em thực hiện luận văn này.
Em xin gửi lời cảm ơn sâu sắc tới thầy giáo TS Phạm Đức Long, trưởng
khoa Tự động hóa – Trường Đại học Công nghệ Thông tin và Truyền thông – Đại
học Thái Nguyên đã trực tiếp hướng dẫn em trong suốt quá trình thực hiện luận văn.
Em cũng xin gửi lời cảm ơn tới các thầy, cô, đã có những ý kiến đóng góp
bổ ích và đã tạo mọi điều kiện tốt nhất cho em trong suốt thời gian thực tập và thực
hiện luận văn. Xin cảm ơn các bạn học đồng khóa đã thường xuyên động viên, giúp
đỡ tôi trong quá trình học tập.
Cuối cùng, em xin gửi lời cảm ơn đến gia đình và bạn bè vì những tình cảm,
sự ủng hộ và động viên đã dành cho em trong suốt quá trình học tập cũng như thực
hiện luận văn này.

Thái Nguyên, tháng 09 năm 2015
Học viên

Lê Mạnh Linh


2

LỜI CAM ĐOAN
Em xin cam đoan về nội dung đồ án tốt nghiệp với tên đề tài “Nhận dạng
cử chỉ bàn tay ứng dụng trong điều khiển thiết bị điện gia dụng” không sao
chép nội dung cơ bản từ các luận văn khác, hay các sản phẩm tương tự mà không
phải do em làm ra. Sản phẩm của luận văn là do chính bản thân em nghiên cứu và
xây dựng nên.
Nếu có gì sai em xin chịu mọi hình thức kỷ luật của Trường Đại học Công


nghệ Thông tin và Truyền thông – Đại học Thái Nguyên.

Thái Nguyên, tháng 09 năm 2015
Học viên

Lê Mạnh Linh


3

MỤC LỤC
DANH MỤC CÁC HÌNH VẼ ................................................................................. 5
DANH MỤC CÁC BẢNG BIỂU ............................................................................ 6
CHƯƠNG I: TỔNG QUAN VỀ NHẬN DẠNG CỬ CHỈ ...................................... 7
1.1.

Khái niệm về nhận dạng cử chỉ................................................................... 8

1.2.

Phân loại cử chỉ: ......................................................................................... 8

1.3.

Mô hình bài toán nhận dạng cử chỉ: ............................................................ 9

1.4.

Một số đặc trưng sử dụng biểu diễn cử chỉ bàn tay: .................................. 11


1.4.1.

Đặc trưng các thành phần chính PCA:................................................ 11

1.4.2.

Đặc trưng HOG ................................................................................. 13

1.4.3.

Đặc trưng SIFT .................................................................................. 13

1.4.4.

Đặc trưng Haar like............................................................................ 17

CHƯƠNG II: CÁC KỸ THUẬT NHẬN DẠNG CỬ CHỈ BÀN TAY TRONG
VIDEO .................................................................................................................. 21
2.1.

Kỹ thuật sử dụng mạng nơron .................................................................. 21

2.2.

Kỹ thuật SVM (Suport Vector Machine) .................................................. 23

2.3.

Kỹ thuật sử dụng Boosting và mô hình Cascade ....................................... 29


2.3.1.

Tiếp cận Boosting .............................................................................. 29

2.3.2.

AdaBoost ........................................................................................... 30

2.3.3 Thuật toán AdaBoost trong mô hình Cascade sử dụng Boosting cho bộ
nhận dạng cử chỉ: ............................................................................................ 33
2.3.4.

Mô hình Cascade ............................................................................... 37

CHƯƠNG III: NHẬN DẠNG CỬ CHỈ BÀN TAY ỨNG DỤNG TRONG ĐIỀU
KHIỂN THIẾT BỊ ĐIỆN GIA DỤNG ................................................................... 46
3.1. Bài toán nhận dạng cử chỉ bàn tay ứng dụng trong điều khiển thiết bị điện
gia dụng: ............................................................................................................ 46
Một số tập cử chỉ tay đã tồn tại ....................................................................... 52
Tập cử chỉ đề xuất:.......................................................................................... 55
Xây dựng cơ sở dữ liệu và thử nghiệm ............................................................ 57


4

Xây dựng tập ảnh positive ............................................................................... 58
Xây dựng tập dữ liệu ảnh negative .................................................................. 61
Xây dựng tập dữ liệu ảnh thử nghiệm ............................................................. 61
Xây dựng chương trình ứng dụng.................................................................... 62
3.2. Cài đặt hệ thống điều khiển thiết bị điện gia dụng bằng cử chỉ bàn tay thông

qua camera kỹ thuật số ....................................................................................... 63
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI ....................................... 65
TÀI LIỆU THAM KHẢO ..................................................................................... 67


5

DANH MỤC CÁC HÌNH VẼ
Hình 1. 1 - Sơ đồ tổng quát của bài toán nhận dạng cử chỉ....................................... 9
Hình 1. 2 - 10 vector đặc trưng có ý nghĩa và 5 vector không mang thông tin ........ 12
Hình 1. 3 - Ảnh sau khi tính gradient chia thành các cell ....................................... 13
Hình 1. 4 - Đặc trưng SIFT biểu diễn các điểm đặc biệt trong ảnh ......................... 14
Hình 1. 5 - Xác định điểm cực trị trong không gian tỉ lệ ........................................ 15
Hình 1. 6a,b,c - Các đặc trưng đường .................................................................... 18
Hình 1. 7 Đặc trưng Haar cho bàn tay.................................................................... 19
Hình 1. 8 - Cách tính tổng các điểm ảnh trong một hình chữ nhật bất kì ................ 19

Hình 2. 1 - Mô hình mạng nơron theo Rowley ...................................................... 22
Hình 2. 2 - Ánh xạ dữ liệu từ không gian gốc sang không gian đặc trưng cho phép
phân chia dữ liệu bởi siêu phẳng............................................................................ 24
Hình 2. 3 - Siêu phẳng tách với khoảng cách lề cực đại ......................................... 25
Hình 2. 4 - Support Vectors ................................................................................... 28
Hình 2. 5 - Minh họa Support Vectors ................................................................... 28
Hình 2. 6 - Minh họa Boosting .............................................................................. 30
Hình 2. 7 - Minh họa thuật toán AdaBoost............................................................. 31
Hình 2. 8 - Bộ phân loại mạnh H(x) xây dựng bằng AdaBoost .............................. 32
Hình 2. 9 - Bộ phân lớp CBC................................................................................. 33
Hình 2. 10 - Cách chọn bộ phân loại yếu của AdaBoost ........................................ 35
Hình 2. 11 - Các ngưỡng θ..................................................................................... 36
Hình 2. 12 - Mô hình Cascade ............................................................................... 37

Hình 2. 13 - Các vùng không liên quan sẽ bị loại ngay từ những tầng đầu tiên ...... 44
Hình 2. 14 - Khắc phục trường hợp nhiều vùng ảnh kế cận nhau bằng cách lấy vùng
ảnh trung bình ....................................................................................................... 44
Hình 2. 15 - Vùng ảnh lồng nhau ........................................................................... 45

Hình 3. 1 - Sơ đồ khối của hệ thống....................................................................... 46
Hình 3. 2 - Khối nhận dạng cử chỉ ......................................................................... 47
Hình 3. 3 - Sơ đồ nguyên lý hoạt động của khối điều khiển thiết bị ....................... 48
Hình 3. 4 - Sơ đồ thiết kế phần nhận tín hiệu điều khiển từ cổng COM của máy tính
và phát sóng RF ..................................................................................................... 49
Hình 3. 5 - Sơ đồ thiết kế bộ thu tín hiệu và điều khiển thiết bị .............................. 50
Hình 3. 6 - Quy trình thiết kế cử chỉ ...................................................................... 51
Hình 3. 7 - Ảnh chụp bằng webcam cho các cử chỉ................................................ 58


6

Hình 3. 8 - Ảnh chụp cử chỉ “Sang trái” ................................................................ 59
Hình 3. 9 - Tiêu điểm của cử chỉ “Sang trái” ......................................................... 59
Hình 3. 10 - Vùng ảnh hình chữ nhật chứa cử chỉ “sang trái” ................................ 60
Hình 3. 11 - Các mẫu cử chỉ “sang trái” sau khi cắt ............................................... 60

DANH MỤC CÁC BẢNG BIỂU
Bảng 3. 1 - Một số tập cơ sở dữ liệu cử chỉ đã tồn tại : .......................................... 52
Bảng 3. 2 - Ưu và nhược điểm của một số tập cử chỉ đã tồn tại :............................ 53
Bảng 3. 3 - Tập cử chỉ đề xuất: .............................................................................. 56
Bảng 3. 4 - Tập cơ sở dữ liệu ảnh positive: ............................................................ 61
Bảng 3. 5 - Tâp cơ sở dữ liệu ảnh thử nghiệm:....................................................... 62



7

CHƯƠNG I
TỔNG QUAN VỀ NHẬN DẠNG CỬ CHỈ
Nhận dạng là một ngành thuộc lĩnh vực học máy đã có lịch sử khá lâu, trong
thập kỷ 60 của thế kỷ XX, hầu hết vấn đề nhận dạng chỉ dừng lại ở việc nghiên cứu
lí thuyết thống kê. Về sau với sự phát triển mạnh mẽ của máy tính thì phần thực
nghiệm đã trở nên đơn giản hơn. Trong bối cảnh xã hội đang phát triển từ thời kỳ
công nghiệp sang hậu công nghiệp, đối với vấn đề tự động hóa thì việc thông tin
được nhận và xử lý một cách tự động là rất cần thiết. Khuynh hướng này làm cho
vấn đề nhận dạng mẫu trở nên rất quan trọng trong ứng dụng kỹ thuật và trong
nghiên cứu ngày nay. Nhận dạng mẫu tích hợp hầu hết vào các hệ thống máy móc
thông minh, có khả năng tự đưa ra quyết định để giải quyết vấn đề.
Nhận dạng nhằm mục đích phân loại dữ liệu dựa trên thông tin thống kê
được trích rút từ các mẫu có sẵn. Các mẫu cần phân loại thường được biểu diễn
thành các nhóm của các dữ liệu đo đạc hay quan sát được, mỗi nhóm là một điểm ở
trong một không gian đa chiều phù hợp. Không gian đa chiều này là không gian của
các đặc tính để dựa vào đó ta có thể phân loại.
Một hệ thống nhận dạng hoàn thiện gồm một thiết bị cảm nhận (sensor) để
thu thập các quan sát cần cho việc phân loại hay miêu tả; một cơ chế trích rút đặc
trưng (feature extraction) để tính toán các thông tin dưới dạng số hay dạng tượng
trưng (symbolic) từ các dữ liệu quan sát được; và một bộ phân loại nhằm thực hiện
công việc phân loại dựa vào các đặc tính đã được trích rút.
Việc phân loại thường dựa vào sự có sẵn của một tập các mẫu mà đã được
phân loại sẵn. Tập các mẫu này được gọi là tập huấn luyện và chiến lược học nhằm
phân loại mẫu vào một trong các lớp có sẵn được gọi là học có giám sát. Việc học
cũng có thể là không có giám sát, theo nghĩa là hệ thống không được cung cấp các
mẫu được đánh nhãn (phân loại) trước, mà nó phải tự đưa ra các lớp để phân loại
dựa vào tính ổn định trong thống kê của các mẫu.



8

Việc phân loại thường dùng một trong hai hướng tiếp cận sau là thống kê
(hay còn gọi là lí thuyết quyết định) và cú pháp. Nhận dạng mẫu dùng thống kê
là dựa vào các đặc tính thống kê của các mẫu, chẳng hạn các mẫu được tạo bởi
một hệ thống xác suất. Nhận dạng dùng cấu trúc là dựa vào tương quan cấu trúc
giữa các mẫu.
Các ứng dụng phổ biến là nhận dạng tiếng nói tự động, phân loại văn bản
thành nhiều loại khác nhau (ví dụ : những thư điện tử nào là thư rác và không phải
thư rác), nhận dạng tự động các mã bưu điện viết tay trên các bao thư, hay hệ thống
nhận dạng danh tính dựa vào mặt người v.v... Trong khuôn khổ luận văn này, lý
thuyết nhận dạng sẽ được áp dụng vào việc nhận dạng cử chỉ trong video ứng dụng
trong điều khiển thiết bị điện gia dụng.
1.1.

Khái niệm về nhận dạng cử chỉ
Cử chỉ là tất cả các cử động của cơ thể nhằm
- Thể hiện, truyền đạt một thông tin nào đó.
- Tương tác với môi trường.

Cử chỉ là một phương thức giao tiếp hữu hiệu giữa con người - con người.
Ngay cả đối với các giao tiếp qua giọng nói, người ta vẫn sử dụng cử chỉ để tăng
khả năng truyền thụ.
Trong tương tác người - máy, một trong những cách thức hiệu quả mà máy
có thể thực hiện yêu cầu của người hoặc đưa ra các đáp ứng với môi trường xung
quanh là nhận ra các cử chỉ của người.
1.2.

Phân loại cử chỉ:

Cử chỉ được chia thành hai loai : cử chỉ tĩnh và cử chỉ động. Một cử chỉ tĩnh

được mô tả bởi một hình trạng duy nhất của cơ thể hoặc một bộ phận của cơ thể.
Một cử chỉ động là một chuỗi các hình trạng liên tiếp theo một quỹ đạo nhất định.
Dựa vào các bộ phận của cơ thể, người ta phân ra các lớp cử chỉ sau :
 Cử chỉ của tay và cánh tay : Trợ giúp nói bằng tay, ứng dụng trong giải
trí (trò chơi tương tác), điều khiển máy móc thông qua các cử chỉ.


9

 Cử chỉ của đầu và gương mặt : Hướng nghiêng của đầu, hướng nhìn của
mắt, hướng của lông mày, độ mở của miệng được sử dụng trong các bài
toán nhận dạng cảm xúc của con người (ứng dụng trong các hệ thống giao
tiếp thông minh).
 Cử chỉ của cơ thể : Theo dõi toàn bộ chuyển động của người, phân tích
chuyển động của người nhảy để sinh ra nhạc và chiếu sáng tương ứng,
nhận dạng phân tích dáng đi trong huấn luyện điền kinh, v.v..
Như vậy, cử chỉ của một con người rất phong phú và đa dạng. Có nhiều cách
thức để thể hiện một cử chỉ, và một cử chỉ có thể truyền đạt nhiều thông tin khác
nhau, đưa ra các đáp ứng khác nhau với môi trường.
1.3.

Mô hình bài toán nhận dạng cử chỉ:

Hình 1. 1 - Sơ đồ tổng quát của bài toán nhận dạng cử chỉ
Bài toán nhận dạng cử chỉ được chia làm các giai đoạn chính sau:


10


 Giai đoạn xây dựng mô hình huấn luyện
Giai đoạn này thực hiện việc xây dựng bộ nhận dạng cho từng cử chỉ. Dữ
liệu được lấy từ dữ liệu huấn luyện, qua quá trình tiền xử lý sau đó sẽ được trích
chọn các đặc trưng. Các đặc trưng được trích chọn sẽ làm đầu vào cho thuật toán
phân lớp. Kết quả trả về của giai đoạn này là các tập tin mô hình huấn luyện để
phục vụ cho quá trình nhận dạng.
 Thu nhận tín hiệu, tiền xử lý
Nếu là hệ nhận dạng đối tượng vật lý, ở đầu vào của hệ thống thường là một
loại thiết bị chuyển đổi như máy ghi hình hay ghi âm… Thiết bị này thu nhận tín
hiệu về đối tượng để nhận dạng. Các tín hiệu này thông thường sẽ được số hóa, sau
đó sẽ được tiến hành tiền xử lý như : lọc nhiễu, tách ngưỡng…
 Trích chọn đặc trưng
Các đặc điểm của đối tượng được trích chọn tuỳ theo mục đích nhận dạng
trong quá trình xử lý ảnh. Có thể nêu ra một số đặc điểm của ảnh sau đây:
Đặc điểm không gian: Phân bố mức xám, phân bố xác suất, biên độ, điểm
uốn v.v..
Đặc điểm biến đổi: Các đặc điểm loại này được trích chọn bằng việc thực
hiện lọc vùng (zonal filtering). Các bộ vùng được gọi là “mặt nạ đặc 10 điểm”
(feature mask) thường là các khe hẹp với hình dạng khác nhau (chữ nhật, tam giác,
cung tròn v.v..).
Đặc điểm biên và đường biên: Đặc trưng cho đường biên của đối tượng và
do vậy rất hữu ích trong việc trích trọn các thuộc tính bất biến được dùng khi nhận
dạng đối tượng. Các đặc điểm này có thể được trích chọn nhờ toán tử gradient, toán
tử la bàn, toán tử Laplace, toán tử “chéo không” (zero crossing) v.v..
Việc trích chọn hiệu quả các đặc điểm giúp cho việc nhận dạng các đối
tượng ảnh chính xác, với tốc độ tính toán cao và dung lượng nhớ lưu trữ giảm
xuống. [1]



11

Ranh giới khái niệm giữa việc trích chọn đặc trưng và phân lớp ở góc độ nào
đó có phần không thực sự rõ ràng; một bộ trích chọn đặc trưng lý tưởng phải làm
cho công việc còn lại của bộ phân lớp trở nên dễ dàng hơn. Mục tiêu chung của bộ
trích chọn đặc trưng là dựa trên tín hiệu thu được để mô tả các đối tượng bằng các
giá trị xấp xỉ bằng nhau đối với các đối tượng thuộc cùng loại, và khác xa nhau nếu
khác loại. Hơn nữa để tiện xử lý thì số lượng đặc trưng càng ít càng tốt. Điều này
dẫn đến việc phải tìm ra các đặc trưng khác nhau và chúng không phụ thuộc vào
hoàn cảnh thu nhận tín hiệu về đối tượng. Đầu ra của công đoạn này được gọi là
vector đặc trưng của đối tượng, thông thường đây là một vector số thực.
 Giai đoạn nhận dạng cử chỉ và phân loại cử chỉ
Giai đoạn này thực hiện việc phân tích từ dữ liệu đầu vào để kiểm tra trong
dữ liệu đầu vào có chứa cử chỉ đang xét hay không. Dữ liệu đầu vào cũng qua các
quá trình tiền xử lý, trích chọn đặc trưng và sau đó đưa vào bộ nhận dạng. Bộ nhận
dạng sẽ phân loại các đặc trưng vào các lớp đã được định nghĩa trong mô hình huấn
luyện trước đó. Việc nhận dạng ở khâu này được áp dụng thêm một số kỹ thuật
nhằm tăng độ chính xác cho hệ thống. Sau đó cử chỉ được phân loại nhờ vào việc
kết hợp các bộ nhận dạng cử chỉ. Mỗi bộ nhận dạng cử chỉ có chức năng nhận dạng
một cử chỉ ứng với các đặc trưng đã được huấn luyện. Bộ phân loại sẽ nhận vào một
ảnh và cho biết trong ảnh đó có chứa những cử chỉ nào (cho biết vị trí của vùng ảnh
tương ứng với các cử chỉ).
1.4.

Một số đặc trưng sử dụng biểu diễn cử chỉ bàn tay:

1.4.1. Đặc trưng các thành phần chính PCA:
Phương pháp đơn giản nhất để phát hiện đối tượng là sử dụng cường độ xám
hoặc màu của điểm ảnh để biểu diễn đối tượng. Phương pháp này không đòi hỏi bất
kỳ một khâu trích chọn đặc trưng nào cả. Tuy nhiên với phương pháp này, một ảnh

kích thước

× ℎ sẽ được biểu diễn bởi một vector

× ℎ thành phần. Với

= 64,

ℎ = 128 pixel, thì không gian đặc trưng có 42 × 128 = 8191 chiều. So sánh và tìm
kiếm trong không gian có số chiều lớn sẽ rất tốn kém thời gian, nên ta cần giảm số


12

chiều không gian đặc trưng này. Hơn nữa, việc biểu diễn này cũng không cho phép
phân loại hiệu quả các lớp đối tượng.
Để giảm số chiều của không gian đặc trưng, kỹ thuật PCA được sử dụng.
Mục đích của PCA là đưa không gian đặc trưng có số chiều lớn M (ví dụ M = 8191
chiều) về không gian đặc trưng có số chiều nhỏ hơn N << M, với mục đích giảm
thời gian tính toán và tìm kiếm. Trong hình 1.2 là 10 vector đặc trưng có ý nghĩa
nhất được chọn để xây dựng không gian đặc trưng, 5 vector với giá trị riêng nhỏ
mang các không tin không cho phép phân biệt các lớp đối tượng sẽ được bỏ qua.

Hình 1. 2 - 10 vector đặc trưng có ý nghĩa và 5 vector không mang thông tin
Các vector đặc trưng của không gian đặc trưng này được xác định từ các
vector riêng của ma trận hiệp phương sai xây dựng từ tập ảnh mẫu học. Vector riêng
với giá trị riêng lớn nhất được coi như vector đặc trưng có ý nghĩa nhất sẽ được sử
dụng như bộ vector cơ sở của không gian đặc trưng.
Để phát hiện đối tượng trong ảnh, một cửa sổ ảnh kích thước


× ℎ sẽ được

quét trên tất cả các pixel trong ảnh. Mỗi ảnh cửa sổ sẽ được ánh xạ vào không gian
đặc trưng có số chiều N, và được biểu diễn bởi một vector N thành phần. Phương
pháp sử dụng lân cận gần nhất thường được sử dụng để xác định xem vector này có
gần với thực thể của một đối tượng thuộc lớp đã được học hay không. Phương pháp
biểu diễn này đơn giản nhưng đặc trưng sử dụng là toàn bộ ảnh đối tượng, do đó sẽ
không hiệu quả khi các đối tượng bị che khuất hoặc biến đổi về hình dạng. PCA
thích hợp cho việc nhận dạng các đối tượng này không bị thay đổi lớn.


13

1.4.2. Đặc trưng HOG
HOG viết là tắt của Histogram Orientation Gradient, ý tưởng cơ bản của
HOG là hình dạng đối tượng trong ảnh có thể được đặc trưng tốt bởi sự phân bố
theo hướng của sự thay đổi mức xám (gradient) hay theo hướng của biên đối tượng
[3]. HOG được tính bằng cách chia ảnh thành các vùng không gian nhỏ hơn gọi là
cell, mỗi cell này tích lũy histogram 1 chiều cục bộ của hướng gradient hoặc định
hướng biên trên các điểm ảnh của các cell. Các cell nằm cạnh nhau được gộp lại
thành một khối gọi là block, các block có thể chồng lên nhau với mục đích tăng
cường mối quan hệ trong không gian giữa các điểm ảnh. Các histogram của khối
được kết hợp với nhau tạo thành vector đặc trưng.

Hình 1. 3 - Ảnh sau khi tính gradient chia thành các cell
1.4.3. Đặc trưng SIFT
SIFT là viết tắt của Scale Invariant Feature Transforms - phép biến đổi đặc
tính bất biến tỉ lệ, do David G.Lowe [2] đề xuất. Đối với bất kỳ một đối tượng nào
trong ảnh sẽ có rất nhiều trưng để mô tả, tuy nhiên David G.Lowe chỉ ra rằng các điểm
đặc biệt trên đối tượng có thể trích chọn mô tả tốt cho đối tượng. Mô tả này có thể được

sử dụng để xác định đối tượng trong một ảnh chứa rất nhiều đối tượng khác nhau. Các
thuộc tính SIFT của ảnh cung cấp một tập hợp các thuộc tính của một đối tượng mà
không ảnh hưởng bởi sự phức tạp giống như các phương pháp khác.


14

Hình 1. 4 - Đặc trưng SIFT biểu diễn các điểm đặc biệt trong ảnh

Trong khi cho phép một đối tượng được nhận biết trong một ảnh lớn hơn các
thuộc tính, SIFT cũng cho phép các đối tượng trong nhiều ảnh ở cùng một vị trí, hay
được chụp từ nhiều vị trí khác nhau trong cùng một môi trường được nhận biết. Các
thuộc tính SIFT cũng rất hiệu quả trong trường hợp có nhiễu trong ảnh.
Để tạo các đặc tính của ảnh, một ảnh được lấy và biến đổi thành một tập hợp
lớn các vectơ thuộc tính cục bộ. Mỗi vectơ thuộc tính đó là bất biến trong bất kỳ
một sự thay đổi tỉ lệ, quay hoặc tịnh tiến nào của ảnh. Cách tiếp cận này rất gần với
cảm nhận nguyên thủy của mắt người. Để trích chọn những thuộc tính này, thuật
toán SIFT thực hiện 4 giai đoạn như sau : (1) giai đoạn phát hiện cực trị trong
không gian tỉ lệ, (2) xác định vị trí những điểm quan trọng, (3) chỉ định sự định
hướng, (4) mô tả các điểm quan trọng. Các giai đoạn này được trình bày chi tiết như
sau :


Phát hiện cực trị trong không gian tỉ lệ :
Trong giai đoạn lọc này chú ý xác định những vị trí và những tỉ lệ tương ứng

mà có thể xác định được từ những góc nhìn khác nhau từ cùng một đối tượng. Điều
này có thể sử dụng một hàm không gian tỉ lệ. Hơn nữa điều này có thể được thể
hiện dưới giả thiết hợp lý là nó phải dựa trên hàm Gause.



15

Hình 1. 5 - Xác định điểm cực trị trong không gian tỉ lệ

Không gian tỷ lệ được xác định bởi hàm sau :
( , , )= ( , , )∗ ( , )
Trong đó ∗ là toán tử tích chập;

( , , ) là hàm Gause biến đổi tỉ lệ và

( , ) là ảnh đầu ra. Các kỹ thuật đa dạng có thể được sử dụng để phát hiện ra các
vị trí đặc biệt cố định trong không gian tỷ lệ. Vi phân của hàm Gause là một trong
các kỹ thuật đó, xác định cực trị của không gian tỉ lệ

( , , ) bằng cách tính sự

khác nhau giữa 2 ảnh mà tỉ lệ gấp nhau k lần ( , , ) được đưa ra bởi công thức :
( , , )= ( , ,
Để xác định cực đại và cực tiểu của

)− ( , , )
( , , ) mỗi điểm được so sánh với 8

điểm lân cận của nó ở cùng một tỉ lệ. Nếu giá trị này là nhỏ nhất hoặc lớn nhất trong
tất cả các điểm thì điểm này là một cực trị.


Xác định vị trí của những điểm quan trọng (key point) :
Giai đoạn này loại trừ đi một số điểm trong danh sách các điểm có được


trong giai đoạn 1, đó là những điểm có tương phản thấp hoặc có sự định vị mập mờ
về một cạnh. Điều này được tính toán bởi toán tử Laplace. Vị trí của các cực trị z
được đưa ra bởi công thức :


16

=−
Nếu giá trị của hàm tại z nhỏ hơn giá trị ngưỡng thì điểm đó bị loại trừ. Điều
này sẽ loại bỏ những điểm mà có độ tương phản thấp. Để loại trừ những điểm có
thông tin định vị mập mờ về cạnh, người ta sử dụng độ cong cơ bản trên những
cạnh như là độ cong nhỏ trong hướng trực giao của hàm vi phân Gausse. Nếu sự
khác biệt này bé hơn tỉ số của vectơ trị riêng lớn nhất và nhỏ nhất từ ma trận
Hessian 2x2 ở vị trí và tỉ lệ của điểm đặc biệt, thì điểm đặc biệt đó bị loại bỏ.


Chỉ định sự định hướng :
Trong giai đoạn này hướng tới việc chỉ định sự định hướng phù hợp tới

những điểm đặc biệt dựa trên các đặc tính cục bộ của ảnh. Một sự mô tả điểm đặc
biệt được miêu tả trong giai đoạn tiếp theo sẽ liên quan tới sự định hướng này, sự
định hướng này là bất biến đối với phép quay. Cách tiếp cận để tìm một sự định
hướng là:
+ Sử dụng tỉ lệ của những điểm đặc biệt để chọn lựa ảnh đã được làm
trơn bởi Gausse L, từ hệ thức trong giai đoạn 1.
+ Tính toán độ lớn của gradient :
( , )=

( ( + 1, ) − ( − 1, )) + ( ( , + 1) − ( , − 1))


+ Tính toán sự định hướng,
( , ) = tan

:
( , + 1) − ( , − 1)
( + 1, ) − ( − 1, )

+ Xây dựng một histogram định hướng từ những hướng gradient của
những điểm điểm quan trọng trong giai đoạn 1.
+ Định vị đỉnh lớn nhất trong histogram, sử dụng đỉnh này và bất kỳ
một đỉnh cục bộ nào khác trong 80% độ cao của đỉnh để tạo một điểm
với sự định hướng đó.


17

+ Một số điểm sẽ được chỉ định bởi nhiều sự định hướng.
+ Đặt một parabol đi qua 3 giá trị histogram gần nhất với đỉnh để nội
suy vị trí các đỉnh.


Mô tả các điểm quan trọng (Keypoint Descriptor) :
Dữ liệu về gradient cục bộ được sử dụng ở trên cũng được dùng để tạo

nên sự mô tả của các điểm đặc biệt. Thông tin về gradient được quay để các
đường hướng lên với sự định hướng của điểm đặc biệt và sau đó được định
lượng bởi toán tử Gause với hệ số biến đổi 1.5 * tỉ lệ điểm đặc biệt. Dữ liệu này
sau đó được sử dụng để tạo một tập hợp của histogram trên một cửa sổ trung tâm
trên điểm đặc biệt.

Những mô tả điểm đặc biệt sử dụng một tập hợp 16 histogram, xếp hàng
thành lưới 4 × 4, với 8 hướng. Kết quả là vectơ định hướng sẽ có 8*16 = 128
thành phần.
1.4.4. Đặc trưng Haar like
Đặc trưng Haar like [4] là một loại đặc trưng thường được dùng cho bài toán
nhận dạng trên ảnh. Haar like được xây dựng từ các hình chữ nhật có kích thước
bằng nhau, dùng để tính độ chênh lệch giữa các giá trị điểm ảnh trong các vùng kề
nhau. Trong hình 2.6a và 2.6b, giá trị của feature cho bởi một ảnh bằng hiệu số giữa
tổng các điểm ảnh thuộc hai vùng hình chữ nhật sáng và tối. Trong hình 2.6c thì giá
trị feature bằng tổng các điểm ảnh trong hai vùng hình chữ nhật bên ngoài trừ cho
tổng các điểm ảnh trong hình chữ nhật ở giữa. Trong hình 2.6d, giá trị feature bằng
tổng các điểm ảnh nằm trong vùng hai hình chữ nhật màu tối trừ cho tổng các điểm
ảnh nằm trong hai hình chữ nhật màu sáng.


18

Hình 1. 6a - Các đặc trưng cạnh

Hình 1. 6b - Các đặc trưng đường

Hình 1. 6c - Các đặc trưng bao quanh tâm


19

Hình 1. 6d - Đặc trưng đường chéo
Ưu điểm của Haar feature là nó diễn đạt được tri thức về các đối tượng trong
ảnh bởi vì nó biểu diễn mối liên hệ giữa các bộ phận của đối tượng, điều mà bản
thân từng điểm ảnh không diễn đạt được.


Hình 1. 7 Đặc trưng Haar cho bàn tay
Tính toán nhanh các đặc trưng Haar like :
Trong quá trình huấn luyện, số lượng xử lý trên các Haar Feature là rất lớn,
việc tính tổng các điểm ảnh cho bởi từng feature làm cho thời gian xử lý tăng đáng
kể. Để khắc phục điều này, Viola và Jones đã đưa ra khái niệm Integral Image [4]
để tính toán nhanh cho các feature cơ bản.

Hình 1. 8 - Cách tính tổng các điểm ảnh trong một hình chữ nhật bất kì


20

Với định nghĩa integral image tại điểm ( , ) là :
( , )=

( ,

)

,

Tổng các giá trị pixel trong vùng “D” được tính như sau :
= ;
=






=

+ ;

=

+

=

+ ;

=

+

−( + )−( + )=

+
+

+




Khi đó, tổng các điểm ảnh trong môt hình chữ nhật bất kì có thể tính nhanh
dựa trên integral image tại 4 đỉnh của nó :
( )=


+






21

CHƯƠNG II
CÁC KỸ THUẬT NHẬN DẠNG CỬ CHỈ BÀN TAY TRONG VIDEO
2.1.

Kỹ thuật sử dụng mạng nơron
Mạng nơron nhân tạo được thiết kế để mô hình một số tính chất của mạng

nơron sinh học. Tuy nhiên, khác với các mô hình nhận thức, phần lớn các ứng dụng
lại có bản chất kỹ thuật. Mạng nơron nhân tạo (ANN) là máy mô phỏng cách bộ
não hoạt động thực hiện các nhiệm vụ của nó. Một mạng nơron là bộ xử lý song
song phân tán lớn, nó giống bộ não người về hai mặt :
-

Tri thức được nắm bắt bởi mạng nơron thông qua quá trình học.

-

Độ lớn của trọng số kết nối nơron đóng vai trò khớp nối cất giữ thông tin.
Kiến trúc của mạng nơron nhân tạo lấy tư tưởng chính của mạng nơron sinh

học đó là sự kết nối của các nơron. Tuy nhiên, mạng nơron nhân tạo có kiến trúc

đơn giản hơn nhiều về cả số lượng nơron và cả kiến trúc mạng, trong khi ở mạng
nơron tự nhiên một nơron có thể kết nối với một nơron khác bất kỳ ở trong mạng
thì ở mạng nơron nhân tạo, các nơron được kết nối sao cho nó có thể dễ dàng được
biểu diễn bởi một mô hình toán học nào đấy. Ví dụ trong mạng nơron truyền thẳng,
các nơron được phân thành nhiều lớp, các nơron ở lớp trước chỉ được kết nối với
các nơron ở lớp sau.
Mạng nơron được áp dụng khá thành công trong các bài toán nhận dạng mẫu
như: nhận dạng ký tự, nhận dạng vân tay, nhận dạng khuôn mặt người v.v. Nhận
dạng cử chỉ tay có thể xem là bài toán nhận dạng hai loại mẫu mẫu có cử chỉ tay và
mẫu không phải đối tượng. Một thuận lợi khi dùng mạng nơron để nhận dạng cử
chỉ tay là tính khả thi của hệ thống khi có sự phức tạp trong lớp của các mẫu cử chỉ
tay. Tuy nhiên, một điều trở ngại là các kiến trúc mạng đều tổng quát, khi áp dụng
thì phải xác định rõ ràng số lượng tầng, số lượng node, tỷ lệ học v.v. cho từng
trường hợp cụ thể.


22

Bài toán nhận dạng một cử chỉ của bàn tay cũng tương tự như bài toán nhận
dạng khuôn mặt, bài toán nhằm giải quyết mục tiêu là phân loại ra lớp là cử chỉ và
không phải là cử chỉ. Vì vậy có thể tham khảo một số mô hình nhận dạng khuôn
mặt sử dụng mạng nơron cho mô hình nhận dạng cử chỉ.
Theo đánh giá các phương pháp dùng mạng nơron để xác định khuôn mặt
người của nhiều tác giả, thì nghiên cứu của Rowley [5] được xem là tốt nhất đối với
ảnh xám. Rowley sử dụng mạng nơron nhiều tầng để học các mẫu khuôn mặt và
không phải khuôn mặt từ các ảnh có khuôn mặt và không chứa khuôn mặt. Khác với
nhiều phương pháp trước đó, ông dùng nhiều mạng nơron và vài phương pháp phân
tách để tăng cường hiệu quả việc phân loại. Hệ thống của ông có thể xem như gồm
hai thành phần chính:
 Một hệ thống bốn mạng nơron để phát hiện các mẫu khuôn mặt. Đầu vào

của các mạng nơron là các vùng với kích thước 20 × 20 pixel đã qua tiền xử
lí của ảnh vào, và đầu ra là một giá trị trong khoảng (-1, 1).
 Một module thực hiện việc đưa ra quyết định cuối cùng. Kết hợp các phát
hiện từ các mạng nơron từ đó sử dụng thêm phép toán logic và kĩ thuật bầu
cử để tăng hiệu quả.

Hình 2. 1 - Mô hình mạng nơron theo Rowley


23

Đưa vào một mẫu cần kiểm tra, kết quả đầu ra của mạng huấn luyện sẽ
gần -1 nếu không phải mẫu khuôn mặt và kết quả gần 1 nếu là mẫu khuôn mặt.
Và để phát hiện khuôn mặt trong ảnh cần phải áp dụng trên toàn bộ ảnh. Đối với
khuôn mặt kích thước lớn hơn 20x20, lặp lại việc lấy mẫu ở các tỉ lệ khác nhau,
các mẫu này chia thành các phần nhỏ: 4 mẫu10x10, 16 mẫu 5x5, 6 mẫu 6x6 và
áp dụng mạng nơron. Thực tế ông dùng khoảng 1500 mẫu ảnh với các tỉ lệ,
hướng, vị trí và mức sáng khác nhau để huấn luyện mạng. Với mỗi ảnh huấn
luyện, gán nhãn cho mắt, đỉnh mũi, góc cạnh và tâm miệng để có thể chuẩn hóa
về cùng tỉ lệ, vị trí và hướng.
Một giới hạn trong phương pháp của Rowley là chỉ có thể xác định khuôn
mặt chụp thẳng và tựa thẳng (nghiêng đầu). Sau đó Rowley cải tiến để có thể xác
định khuôn mặt bị xoay bằng mạng định hướng (Router Network). Các tác giả sau
này phát triển dựa trên mạng nơron kết hợp các hướng tiếp cận khác nhau cũng cho
kết quả tốt hơn. Việc chọn kích thước mẫu học được cải tiến sao cho phù hợp với
cấu trúc mẫu đưa vào, các bước tiền xử lí tốt hơn …
2.2.

Kỹ thuật SVM (Suport Vector Machine)
SVM là phương pháp phân loại tự động tương đối mới do Vapnik [6] đưa ra


vào năm 1995. Nhiều thử nghiệm với các ứng dụng khác nhau cho thấy SVM là
một trong những phương pháp phân loại có độ chính xác cao và là một phương
pháp tương đối tổng quát cho bài toán nhận dạng. SVM được xây dựng trên cơ sở
hai ý tưởng chính :


Ý tưởng thứ nhất : ánh xạ dữ liệu gốc sang một không gian mới gọi là
không gian đặc trưng với số chiều lớn hơn sao cho trong không gian mới có
thể xây dựng một siêu phẳng cho phép phân chia dữ liệu thành hai phần riêng
biệt, mỗi phần bao gồm các điểm có cùng nhãn phân loại. Ý tưởng ánh xạ
sang không gian đặc trưng được minh hoạ trên hình 3.1.


24

Không gian gốc

Không gian đặc trưng

Hình 2. 2 - Ánh xạ dữ liệu từ không gian gốc sang không gian đặc trưng cho phép
phân chia dữ liệu bởi siêu phẳng


Ý tưởng thứ hai : trong số những siêu phẳng như vậy cần lựa chọn siêu
phẳng có lề lớn nhất. Lề ở đây là khoảng cách từ siêu phẳng tới các điểm gần
nhất nằm ở hai phía của siêu phẳng (mỗi phía tương ứng với một nhãn phân
loại). Lưu ý rằng siêu phẳng nằm cách đều các điểm gần nhất với nhãn khác
nhau. Trên hình 2.11. là minh hoạ siêu phẳng (đường liền nét) với lề cực đại
tới các điểm dữ liệu biểu diễn bởi các hình tròn và hình vuông.

Ban đầu, SVM được thiết kế cho bài toán phân lớp nhị phân, hàm mục tiêu

của bài toán SVM phân lớp nhị phân có thể được phát biểu như sau :
( )=

. Φ( ) +

(1)

Trong đó :
- Véc tơ đầu vào
-



.

là véc tơ chuẩn của siêu phẳng phân cách trong không gian đặc
trưng được sinh ra từ ánh xạ : Φ( ):



( >

, Φ( ) có thể

tuyến tính hoặc phi tuyến).
-

là độ lệch so với gốc tọa độ.


Trong bài toán phân lớp nhị phân, dấu của g(x) cho biết véc tơ x thuộc lớp
+1 hay lớp -1. Bài toán phân lớp nhị phân được mô tả như sau :
Cho tập mẫu : {(

,

) ,…, (

,

)}


25

Trong đó :





∈ {±1}

Mục tiêu của phương pháp phân lớp SVM là tìm một siêu phẳng phân cách
sao cho khoảng cách lề (margin) giữa hai lớp đạt cực đại (Hình 2.11).

Hình 2. 3 - Siêu phẳng tách với khoảng cách lề cực đại

Khoảng cách lề giữa hai lớp được tính theo công thức :


.

=‖



Để nới lỏng điều kiện phân lớp, thêm vào một số yếu tố cân bằng và việc
huấn luyện SVM chính là giải bài toán tối ưu có ràng buộc :
min
,

1
.
2

+
(2)

Sao cho :
( . Φ( ) + ) ≥ 1 −
≥ 0, ∀ , trong đó C là tham số nới lỏng điều kiện phân lớp.


×