1. Trang chủ
  2. » Tài Chính - Ngân Hàng

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

68 537 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 68
Dung lượng 5,71 MB

Nội dung

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

Trang 1

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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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

Trang 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ỉ

Trang 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ỉ:

Bài toán nhận dạng cử chỉ được chia làm các giai đoạn chính sau:

Hình 1 1 - Sơ đồ tổng quát của bài toán nhận dạng cử chỉ

Trang 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…

Đặ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]

Trang 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:

Trang 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

Trang 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

Trang 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

Trang 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 :

Trang 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 đó

Trang 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

Trang 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

Trang 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ì

Trang 20

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

Trang 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ể

Trang 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

Trang 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

Trang 24

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 :

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)

Trang 25

Trong đó : ∈ và ∈ {±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 :

1

(2) Sao cho :

( Φ( ) + ) ≥ 1 −

≥ 0, ∀ , trong đó C là tham số nới lỏng điều kiện phân lớp

Trang 26

Thay vì giải bài toán (2), ta giải bài toán đối ngẫu của nó bằng cách giải bài toán qui hoạch toàn phương (QP-Quadratic programming) :

2(3) Thỏa mãn :

0 ≤ ≤ , ∀

= 0

Trong đó = [ , … , ] và H là ma trận kích thước N×N được gọi là ma

trận nhân (kernel matrix) với mỗi phần tử ( , ) = Φ( ) Φ( ) Giải bài toán (3) ta thu được :

(4) Mỗi mẫu huấn luyện tương ứng với một hệ số Lagrange Sau khi huấn luyện, các mẫu có > 0 được gọi là véctơ hỗ trợ

Thế (4) vào (1), ta có :

Giả sử Φ( ) Φ( ) = ( , ) Nghĩa là, tích vô hướng trong không gian

đặc trưng tương đương với một hàm nhân K của không gian đầu vào Vì vậy, ta

không cần phải tính trực tiếp các giá trị Φ( ), Φ mà chỉ cần tính tích vô hướng

< Φ( ) Φ( ) > gián tiếp thông qua hàm nhân ( , ) Nếu sử dụng hàm nhân

Trang 27

là hàm tuyến tính thì SVM được gọi là SVM tuyến tính, ngược lại thì gọi là SVM phi tuyến Như vậy, hàm mục tiêu cho bài toán phân lớp SVM nhị phân có dạng :

Chỉ có các véc tơ hỗ trợ tham gia vào việc xây dựng siêu phẳng phân cách,

do đó một mẫu x sẽ được phân lớp theo hàm quyết định :

Trong đó, là số véc tơ hỗ trợ

Support Vector Machine (SVM) đã được Osuna [7] áp dụng đầu tiên để xác định khuôn mặt người SVM được xem như là một kiểu mới dùng huấn luyện để phân loại theo hàm đa thức Trong khi hầu hết các phương pháp khác huấn luyện để phân loại (Mạng Bayes, nơron, RBF) đều dùng tiêu chí tối thiểu lỗi huấn luyện, trong khi SVM dùng quy nạp, mục tiêu là làm tối thiểu lỗi tổng quát Osuna [7] đã phát triển một phương pháp hiệu quả để huấn luyện một SVM với tỷ lệ lớn để áp dụng cho bài toán xác định khuôn mặt người Ông dùng 10,000,000 mẫu có kích thước 19x19 điểm ảnh, hệ thống của ông có tỷ lệ lỗi ít hơn Sung và Poggio [8] Llorca [9] cũng sử dụng SVM cho việc phát hiện tay ứng dụng trong hệ thống xả nước tự động cho bồn rửa tay với tỉ lệ nhận dạng trên 90%

Trang 28

Hình 2 4 - Support Vectors

Hình 2 5 - Minh họa Support Vectors

Trang 29

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

2.3.1 Tiếp cận Boosting

Boosting là kỹ thuật dùng để tăng độ chính xác cho các thuật toán học máy (learning algorithm) Nguyên lý cơ bản của nó là kết hợp các bộ phân loại yếu thành một bộ phân loại mạnh Trong đó, bộ phân loại yếu là các bộ phân loại đơn giản chỉ cần có độ chính xác trên 50% Bằng cách này, chúng ta nói bộ phân loại đã được

“boost”

Xét một bài toán phân loại 2 lớp (mẫu cần nhận dạng sẽ được phân vào 1 trong 2 lớp) với D là tập huấn luyện gồm có n mẫu Trước tiên, chúng ta sẽ chọn ngẫu nhiên ra n1 mẫu từ tập ( < ) để tạo tập D1 Sau đó, chúng ta sẽ xây dựng

bộ phân loại yếu đầu tiên C1 từ tập D1 Tiếp theo, chúng ta xây dựng tập D2 để huấn luyện bộ phân loại C2 D2 sẽ được xây dựng sao cho một nửa số mẫu của nó được phân loại đúng bởi C1 và nửa còn lại bị phân loại sai bởi C1 Bằng cách này, D2 chứa đựng những thông tin bổ sung cho C1 Bây giờ chúng ta sẽ xây huấn luyện C2

từ D2 Tiếp theo, chúng ta sẽ xây dựng tập D3 từ những mẫu không được phân loại tốt bởi sự kết hợp giữa C1 và C2: những mẫu còn lại trong D mà C1 và C2 cho kết quả khác nhau Như vậy, D3 sẽ gồm những mẫu mà C1 và C2 hoạt động không hiệu quả Sau cùng, chúng ta sẽ huấn luyện bộ phân loại C3 từ D3

Bây giờ chúng ta đã có một bộ phân loại mạnh: kết hợp C1, C2 và C3 Khi tiến hành nhận dạng một mẫu X, kết quả sẽ được quyết định bởi sự thỏa thuận của 3

bộ C1, C2 và C3: Nếu cả C1 và C2 đều phân X vào cùng một lớp thì lớp này chính là kết quả phân loại của X; ngược lại, nếu C1 và C2 phân X vào 2 lớp khác nhau, C3 sẽ quyết định X thuộc về lớp nào

Trang 30

Hình 2 6 - Minh họa Boosting

2.3.2 AdaBoost

Adaboost (Adaptive Boost) là một tiếp cận boosting [9] được Freund [10] và Schapire đưa ra vào năm 1995 Adaboost cũng hoạt động trên nguyên tắc kết hợp tuyến tính các bộ phân loại yếu để có một bộ phân loại mạnh

Là một cải tiến của tiếp cận boosting, Adaboost sử dụng thêm khái niệm trọng số (weight) để đánh dấu các mẫu khó nhận dạng Trong quá trình huấn luyện,

cứ mỗi bộ phân loại yếu được xây dựng, thuật toán sẽ tiến hành câp nhật lại trọng số

để chuẩn bị cho việc xây dựng bộ phân loại yếu kế tiếp : Tăng trọng số của các mẫu

bị nhận dạng sai và giảm trọng số của các mẫu được nhận dạng đúng bởi bộ phân loại yếu vừa xây dựng Bằng cách này, các bộ phân loại yếu sau có thể tập trung vào các mẫu mà các bộ phân loại yếu trước nó chưa làm tốt Sau cùng, các bộ phân loại yếu sẽ được kết hợp tùy theo mức độ “tốt” của chúng để tạo dựng nên bộ phân loại mạnh Quá trình được minh họa như hình vẽ dưới :

Trang 31

Hình 2 7 - Minh họa thuật toán AdaBoost

Có thể hình dung một cách trực quan như sau : để biết một ảnh có phải là bàn tay hay không, ta hỏi T người (tương đương với T bộ phân loại yếu xây dựng từ

T vòng lặp của boosting), đánh giá của mỗi người (tương đương với một bộ phân loại yếu) chỉ cần tốt hơn ngẫu nhiên một chút (tỉ lệ sai dưới 50%) Sau đó, ta sẽ đánh trọng số cho đánh giá của từng người (thể hiện qua hệ số α), người nào có khả năng đánh giá tốt các mẫu khó thì mức độ quan trọng của người đó trong kết luận cuối cùng sẽ cao hơn những người chỉ đánh giá tốt được các mẫu dễ Việc cập nhật lại trọng số của các mẫu sau mỗi vòng boosting chính là để đánh giá độ khó của các mẫu (mẫu càng có nhiều người đánh giá sai là mẫu càng khó)

Trang 32

Hình 2 8 - Bộ phân loại mạnh H(x) xây dựng bằng AdaBoost

Các bộ phân loại yếu ℎ ( ) được biểu diễn như sau :

: Hàm lượng giá vector đặc trưng của mẫu

: Hệ số quyết định chiều của bất phương trình

Trang 33

Công thức trên có thể được diễn giải như sau : Nếu giá trị vector đặc trưng của mẫu cho bởi hàm lượng giá của bộ phân loại vượt qua một ngưỡng cho trước thì mẫu là đối tượng, ngược lại thì mẫu không phải đối tượng

Mô hình hoạt động của bộ phân lớp CBC (Cascade of Boosted Classifiers) :

Trang 34

trưng này là thực sự hữu dụng Nhiệm vụ của bộ phân loại là phải tìm ra được các đặc trưng này

Mỗi bộ phân loại yếu gồm có 1 đặc trưng và 1 ngưỡng, ngưỡng này chính là giá trị của một mẫu cụ thể được cho bởi đặc trưng này Vấn đề của thuật toán là phải tìm được mẫu nào dùng làm ngưỡng Như vậy, với N mẫu và M đặc trưng thì

số bộ phân loại yếu có thể có là M×N, tức là với 2.000 mẫu cho một cử chỉ và 140.000 đặc trưng thì hệ thống sẽ phải chọn được 1 bộ phân loại yếu trong số 140.000× 2.000 = 280.000.000 bộ phân loại yếu trong mỗi vòng lặp boosting

AdaBoost được thiết kế để có thể chọn nhanh các đặc trưng, cũng là chọn nhanh các bộ phân loại yếu Thuật toán sử dụng ở đây là Gentle AdaBoost [15], một biến thể của AdaBoost Gentle AdaBoost để xây dựng bộ nhận dạng cho 1 cử chỉ như sau :

 Cho một tập huấn luyện gồm n mẫu có đánh dấu ( , ), ( , ), …, ( , ) với ∈ = ( , , … , ) là vector đặc trưng và

∈ {−1,1} là nhãn của mẫu (1 ứng với object, -1 ứng với background)

 Chọn trước min detection rate (tỉ lệ nhận dạng đúng tối thiểu) và max false alarm (tỉ lệ nhận dạng sai tối đa)

 Xây dựng tập đặc trưng và tính toán các bảng Intergral Image cho tất

cả các mẫu trong tập huấn luyện

 Khởi tạo trọng số ban đầu cho tất cả các mẫu :

Ngày đăng: 14/04/2017, 22:41

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Đỗ Năng Toàn, Phạm Việt Bình, Giáo trình xử lý ảnh, Khoa công nghệ thông tin Đại học Thái Nguyên, 2007 Sách, tạp chí
Tiêu đề: Giáo trình xử lý ảnh
[2]. Đồng Văn Thái, Nhận dạng cử chỉ bàn tay ứng dụng trong điều khiển chương trình máy tính. SoICT 2010.Tiếng Anh Sách, tạp chí
Tiêu đề: Nhận dạng cử chỉ bàn tay ứng dụng trong điều khiển chương trình máy tính
[13]. Kolsch, M. and M. Turk. Robust Hand Detection. in Conference on Automatic Face and Gesture Recognition. 2004: IEEE Intl Sách, tạp chí
Tiêu đề: Robust Hand Detection". in "Conference on Automatic Face and Gesture Recognition
[14]. Kolsch, M. and M. Turk. Analysis of Rotational Robustness of Hand Detection with a Viola-Jones Detector. in Conference on Pattern Recognition. 2004: IEEE Intl Sách, tạp chí
Tiêu đề: Analysis of Rotational Robustness of Hand Detection with a Viola-Jones Detector". in "Conference on Pattern Recognition
[15]. Lienhart, R. and J. Maydt, An Extended Set of Haarlike Features for Rapid Object Detection. 2002. 1: p. 900-903 Sách, tạp chí
Tiêu đề: An Extended Set of Haarlike Features for Rapid Object Detection

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w