1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế hệ thống tương tác giữa người và máy thông qua công nghệ nhận dạng khuôn mặt và hướng mắt

78 17 0

Đ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 78
Dung lượng 3,08 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

DANH SÁCH CÁC THUẬT NGỮ DÙNG TRONG BÀI: Thuật ngữ Giải thích Classifier bộ phân loại Một bộ phân loại được xây dựng theo một thuật toán học máy nào đấy, dùng để phân loại các đối tượng

Trang 1

LUẬN VĂN THẠC SĨ KỸ THUẬT

KỸ THUẬT VIỄN THÔNG

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

LUẬN VĂN THẠC SĨ KỸ THUẬT

KỸ THUẬT VIỄN THÔNG

NGƯỜI HƯỚNG DẪN KHOA HỌC :

TS LÊ DŨNG

Hà Nội – Năm 2017

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi và được sự hướng dẫn khoa học của TS Lê Dũng Các nội dung nghiên cứu, kết quả trong đề tài này

là trung thực và chưa từng được công bố dưới bất kì hình thức nào trước đây Ngoài

ra trong đề tài có dùng một số sơ đồ khối, hình ảnh của các tác giả khác đều có trích dẫn và chú thích nguồn gốc Nếu phát hiện bất kỳ sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung luận văn của mình

Hà Nội, ngày 29 tháng 03 năm 2017

Tác giả luận văn

Phạm Xuân Trường

Trang 4

TÓM TẮT LUẬN VĂN

Trên thế giới, công nghệ nhận diện khuôn mặt đã trở nên phổ biến, được áp dụng vào nhiều lĩnh vực phục vụ nhu cầu giải trí, bảo mật an toàn thông tin cho con người Với công nghệ này cuộc sống của con người không ngừng được nâng cao,

hỗ trợ tốt không chỉ cho người bình thường mà còn là công cụ giao tiếp thiết thực cho người khuyết tật, đặc biệt là người liệt tứ chi

Luận văn tốt nghiệp này hướng tới mục đích tìm hiểu một số phương pháp phân loại khuôn mặt người dựa trên các hướng nghiên cứu đã có của thế giới và từ

đó đề xuất xây dựng một hệ thống nhận dạng hướng mắt

Trong khuôn khổ luận văn, tôi đã thiết kế và phát triển để tài : “Thiết kế hệ thống tương tác giữa người và máy thông qua công nghệ nhận dạng khuôn mặt

và hướng mắt” gồm các nội dụng chính sau:

CHƯƠNG 1: LÝ THUYẾT BÀI TOÁN XỬ LÍ ẢNH MẶT NGƯỜI

Giới thiệu về các kĩ thuật xử lý ảnh mặt người đang được phát triển trên thế giới

CHƯƠNG 2: PHƯƠNG PHÁP ADABOOST VÀ CÁC ĐẶC TRƯNG HAAR FEATURE

Giới thiệu chi tiết về phương pháp Adaboost và các đặc trưng Haar feature

CHƯƠNG 3: XÂY DỰNG HỆ THỐNG

Đưa ra các yêu cầu thực thi hệ thống : các yêu cầu về thiết bị tương tác và ngôn ngữ lập trình

Trang 5

ABSTRACT

In the world, facial recognition technology has become popular, applied in many areas serving the needs of entertainment, confidential information security for people With this technology, human life is constantly improved, good support not only for ordinary people but also a practical communication tool for people with disabilities, especially quadriceps

This thesis aims to explore some methods of classifying people's faces based

on the existing research directions of the world and thereby propose the

establishment of an eye orientation system

In the framework of the thesis, I designed and developed my thesis: "Design

a human machine interaction system using face recognition and eyes directions techniques", including the following main contents:

• CHAPTER 1: THEORY OF IMAGE PROCESSING PROBLEM

Introduction to human facial imaging techniques being developed around the world

• CHAPTER 2: ADABOOST METHOD AND HAAR FEATURES

Detailed introduction to Adaboost method and Haar features

• CHAPTER 3: BUILDING THE SYSTEM

Introduce system performance requirements: requirements for interactive devices and programming languages

Trang 6

MỤC LỤC

TÓM TẮT LUẬN VĂN 2

ABSTRACT 3

DANH SÁCH CÁC THUẬT NGỮ DÙNG TRONG BÀI: 8

CHƯƠNG 1: LÝ THUYẾT BÀI TOÁN XỬ LÍ ẢNH MẶT NGƯỜI 9

1.1 Giới thiệu chung 9

1.1.1 Đặt vấn đề cho bài toán phân loại mặt người 9

1.1.2 Lịch sử phát triển bài toán phân loại, xử lí ảnh mặt người 9

1.1.3 Ứng dụng bài toán phân loại mặt người 10

1.2 Tìm hiểu các phương pháp xử lí ảnh với mặt người 11

1.2.1 Hướng tiếp cận dựa trên tri thức 11

1.2.1.1 Phương pháp của Yang và Huang 11

1.2.1.2 Phương pháp của Kotropoulos và Pitas 13

1.2.1.3 Đánh giá hướng tiếp cận dựa trên tri thức 14

1.2.2 Hướng tiếp cận dựa trên đặc trưng không thay đổi 14

1.2.2.1 Phương pháp của Leung - Random Graph Matching 15

1.2.2.2 Phương pháp dựa trên màu da 16

1.2.2.3 Đánh giá hướng tiếp cận dựa trên đặc trưng bất biến 18

1.2.3 Hướng tiếp cận dựa trên so sánh khớp mẫu 18

1.2.3.1 Dùng mẫu định nghĩa sẵn 18

1.2.3.2 Dùng mẫu biến dạng 20

1.2.3.3 Đánh giá hướng tiếp cận đối sánh mẫu 21

1.2.4 Hướng tiếp cận dựa trên diện mạo 21

1.2.4.1 Các khuôn mặt riêng (Eigenfaces) 22

1.2.4.2 Dùng mạng Nơ ron 22

1.2.4.3 Dùng các phương pháp máy học (machine learning) 25

1.2.4.4 Đánh giá hướng tiếp cận dựa trên diện mạo 25

1.3 Giới thiệu về bài toán nhận diện hướng mắt 25

1.3.1 Hướng giải quyết 25

1.3.2 Ứng dụng 26

1.3.3 Khó khăn 28

1.4 Kết luận 28

Trang 7

CHƯƠNG 2: PHƯƠNG PHÁP ADABOOST VÀ CÁC ĐẶC TRƯNG HAAR

FEATURE 29

2.1 Các đặc trưng Haar-Like 29

2.2 Tổng quan về Adaboost 33

2.3 Giải thuật Adaboost cho việc tách đối tượng mắt 35

2.3.1 Lựa chọn đặc trưng 35

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

2.3.3 Xây dựng bộ phân loại yếu 38

2.3.4 Xây dựng bộ phân loại mạnh 40

2.4 Xây dựng bộ phân loại mạnh theo mô hình Cascade 46

2.5 Kết luận 49

CHƯƠNG 3: XÂY DỰNG HỆ THỐNG 50

3.1 Sơ lược về đầu Kinect 50

3.2 Xác định khuôn mặt sử dụng dữ liệu depth stream từ đầu Kinect 52

3.2.1 Giới thiệu về ảnh depth: 52

3.2.2 Xác định khuôn mặt dựa trên phân tích thống kê 54

a) Biểu đồ phân tích thống kê 54

b) Xác định các điểm cực trị của đồ thị thống kê 56

3.3 Áp dụng Adaboost vào việc xác định vị trí mắt trong ảnh: 58

3.3.1 Cấu trúc file training 59

3.3.2 Áp dụng file training để tìm vị trí mắt trong ảnh 60

3.3.3 Xác định hướng nhìn của mắt 64

3.4 Phân tích – thiết kế hệ thống nhận diện hướng mắt 66

3.4.1 Phân tích 66

3.4.2 Giới hạn bài toán 66

3.4.3 Thiết kế hệ thống 67

3.5 Kết quả và đánh giá : 71

3.6 Kết luận và hướng phát triển 73

Tài liệu tham khảo 75

Trang 8

DANH MỤC HÌNH ẢNH SỬ DỤNG TRONG BÀI :

HÌNH1.1CƠCHẾTÌMKIẾMCỦAGOOGLEPORTRAIT 10

HÌNH1.2CÁCẢNHVỚIĐỘPHÂNGIẢIKHÁCNHAU 12

HÌNH1.3:MỘTTRITHỨCVỀKHUÔNMẶT 12

HÌNH1.4:MINHHỌAGIẢITHUẬTCHIẾU 13

HÌNH1.5:PHÂNBỐMÀUDATRONGMẶTPHẲNGCRCBTRONGKHÔNG GIANYCRCB 16

HÌNH1.6:MINHHỌAMẪUGỒMCÁCQUANHỆ 19

HÌNH1.7:THÀNHPHẦNĐẦUCỦAHỆTHỐNG 23

HÌNH1.8:SƠĐỒMÔTẢCÁCHSỬDỤNG EYECHARM 26

HÌNH1.9:ÝTƯỞNGVỀMÁYTÍNHTRONGSUỐT 27

HÌNH1.10.MINHHỌAHỆTHỐNGSPACETOP3D 27

HÌNH2.1:4ĐẶTTRƯNGHAAR-LIKECƠBẢN 29

HÌNH2.2:CÁCĐẶCTRƯNGMỞRỘNGCỦACÁCĐẶCTRƯNGHAAR-LIKE CƠSỞ 30

HÌNH2.3:CÁCĐẶCTRƯNGHAAR-LIKEMỞRỘNGMỚI 31

HÌNH2.4:LỢIÍCHCỦAĐẶCTRƯNGHAAR-LIKE 32

HÌNH2.5:CÁCHTÍNHINTEGRALIMAGECỦAẢNH 33

HÌNH2.6:VÍDỤCÁCHTÍNHNHANHTỔNGCÁCĐIỂMẢNHCỦAVÙNGD TRÊNẢNH 33

HÌNH2.7:MÔTẢGIẢITHUẬTBOOSTING 35

HÌNH2.8:ĐẶCTRƯNG3VÀSỰTƯƠNGQUANMỨCXÁM 37

HÌNH2.9:MINHHỌACÁCHCHỌNWEAKCLASSIFIER 40

HÌNH2.10:SƠĐỒCHUNGHỌCADABOOST 41

HÌNH2.11:MINHHỌAQUÁTRÌNHHỌCADABOOST 43

HÌNH2.12:.MÔHÌNHCASCADE 46

HÌNH2.13:MINHHỌATHUẬTTOÁNCASCADE 48

HÌNH3.1:HÌNHẢNHĐẦUKINECT 50

HÌNH3.2:CHITIẾTCÁCTHÀNHPHẦNCỦAĐẦUKINECT 51

HÌNH3.3:CẤUTRÚCPHẦNCỨNGVÀPHẦNMỀMCỦAKINECT 51

Trang 9

HÌNH3.4:LIÊNKẾTGIỮAPHẦNCỨNGPHẦNMỀMVÀỨNGDỤNG 52

HÌNH3.5:DỮLIỆUDEPTH 53

HÌNH3.6:DẢIKHOẢNGCÁCHTỪ VẬTTHỂĐẾNCẢMBIẾNĐỌSÂU 53

HÌNH3.7:ẢNHBITMAPTHỂHIỆNĐỘSÂU 54

HÌNH3.8:ẢNHDEPTHSAUKHIĐÃLỌCBACKGROUND 54

HÌNH3.9:BIỂUĐỒTHỐNGKÊ 55

HÌNH3.10:LƯUĐỒCÁCBƯỚCTÌMCỰCTRỊCỦAĐỒTHỊTHỐNGKÊ 56

HÌNH3.11:MÔPHỎNGQUÁTRÌNHTÌMCỰCTRỊCỦAĐỒTHỊTHỐNGKÊ 56

HÌNH3.12:SỬDỤNGHISTOGRAMĐỂTÁCHPHẦNĐẦUNGƯỜI 58

HÌNH3.13:CẤUTRÚCFILETRAINING 60

HÌNH3.14:LƯUĐỒQUÁTRÌNHPHÁTHIỆNVỊTRÍMẮT 62

HÌNH3.15:KẾTQUẢPHÁTHIỆNMẮTNGƯỜI 64

HÌNH3.16:VỊTRÍCONNGƯƠICỦAMẮT 64

HÌNH3.17:MẮTVỚICÁCHƯỚNGNHÌNKHÁCNHAU 65

HÌNH3.18:ẢNHNHỊPHÂNCỦAMẮTVỚICÁCHƯỚNGNHÌNKHÁCNHAU 65

HÌNH3.19:LƯUĐỒKHỐIHỆTHỐNGNHẬNDẠNGHƯỚNGMẮT 67

HÌNH3.20:CLASSDIAGRAM 68

HÌNH3.21:LƯUĐỒTỔNGQUÁTCỦAHỆTHỐNG 70

HÌNH3.22:CÁCHƯỚNGMẮTNHÌNVÀKẾTQUẢTRÊNGIAODIỆN 72

HÌNH 3.23: KẾT QUẢ ĐÁNH GIÁ THỰC NGHIỆM .73

Trang 10

DANH SÁCH CÁC THUẬT NGỮ DÙNG TRONG BÀI:

Thuật ngữ Giải thích

Classifier (bộ phân loại) Một bộ phân loại được xây dựng theo một thuật toán học

máy nào đấy, dùng để phân loại các đối tượng (khuôn mặt hay không phải khuôn mặt)

False alarm Là tỉ lệ nhận dạng sai của các bộ phân loại

Feature (đặc trưng) Các thông tin giúp nhận biết đối tượng

Haar-like feature

Các đặc trưng của đối tượng trong ảnh Các đặc trưng này thường được định nghĩa bằng các tính toán với tổng điểm ảnh của một vùng nào đó trên bức ảnh

Hit rate Là tỉ lệ nhận dạng đúng của các bộ phân loại

Max false alarm

Đạt được tỉ lệ sai này thì bộ phân loại được xây dựng thành công, tỉ lệ sai này là một giá trị bé, có thể chấp nhận được trong bài toán phân loại

Strong classifier (bộ

phân loại mạnh) Bộ phân loại được xây dựng từ nhiều bộ phân loại yếu

Threshold (ngưỡng) Ngưỡng là giá trị ranh giới giữa các lớp, giá trị của

ngưỡng thường được chọn từ thực nghiệm Chọn giá trị thích hợp nhất để hợp thành các bộ phân loại yếu

Weak classifier (bộ

phân loại yếu)

Bộ phân loại đơn giản có độ chính xác khoảng 50%

Trang 11

CHƯƠNG 1: LÝ THUYẾT BÀI TOÁN XỬ LÍ ẢNH MẶT NGƯỜI

1.1 Giới thiệu chung

1.1.1 Đặt vấn đề cho bài toán phân loại mặt người

Trong nhiều năm qua, có rất nhiều công trình nghiên cứu về bài toán nhận dạng mặt người Các nghiên cứu đi từ bài toán đơn giản, từ việc nhận dạng một mặt người trong ảnh đen trắng cho đến mở rộng cho ảnh mầu và có nhiều mặt người trong ảnh Đến nay các bài toán xác định mặt người đã mở rộng với nhiều hướng nghiên cứu như nhận dạng khuôn mặt, hướng mặt, theo dõi mặt các bộ phận trên mặt người …, và nhận dạng hướng mắt cũng là một trong các hướng nghiên cứu được nhiều người quan tâm Trong phần này tôi sẽ tập trung trình bày một số phương pháp để xác định mặt người, từ đó áp dụng để giải quyết bài toán nhận diện hướng mắt cho luận văn

1.1.2 Lịch sử phát triển bài toán phân loại, xử lí ảnh mặt người

Phát hiện và nhận dạng khuôn mặt trong ảnh có rất nhiều ứng dụng trong cuộc sống, bài toán này đã được các nhà khoa học quan tâm và nghiên cứu trong hơn hai thập kỷ qua Đã có rất nhiều giải pháp khác nhau được đưa ra nhằm giải quyết bài toán phát hiện khuôn mặt trong ảnh đơn và trong video Song do tính phức tạp và đa dạng của thực tế nên việc tìm ra một giải pháp toàn diện và hoàn chỉnh cho vấn đề này vẫn đang là một thách thức

Nói chung, với chặng đường nghiên cứu bài toán của các nhà khoa học, ta có thể thấy được cho đến nay, xét về cơ bản ta có thể chia các giải pháp đó theo 4 hướng tiếp cận:

1 Hướng tiếp cận dựa trên tri thức (Knowledge-based methods)

2 Hướng tiếp cận dựa trên đặc trưng bất biến (Feature-based methods)

3 Hướng tiếp cận dựa trên đối sánh mẫu (Template matching)

4 Hướng tiếp cận dựa trên thể hiện bề ngoài (Appearance-based methods)

Thực tế đã chứng minh các phương pháp theo hướng tiếp cận 1, 2 và 3 cho phép xây dựng hệ thống với tốc độ xử lý chấp nhận được tuy vậy, kết quả đầu ra lại chưa

Trang 12

cao Bên cạnh đó, các phương pháp theo hướng tiếp cận thứ 4 lại có kết quả tốt hơn song việc cài đặt thực hiện tương đối khó khăn

1.1.3 Ứng dụng bài toán phân loại mặt người

Ứng dụng của bài toán phân loại mặt người có rất nhiều và đã được triển khai tương đối hiệu quả trong thực tế Có thể kể đến một số ứng dụng điển hình sau đây:

Hệ thống phát hiện xâm nhập :nhằm phát hiện đối tượng khả nghi Camera

được đặt tại một số điểm công cộng như: siêu thị, nhà sách, trạm xe buýt, sân bay Khi phát hiện được sự xuất hiện của các đối tượng khả nghi hệ thống sẽ gởi thông điệp về cho trung tâm xử lý

Hệ thống giao tiếp người máy: thay thế việc tương tác giữa người và máy

theo những cách truyền thống như: bàn phím, chuột Thay vào đó là sử dụng các giao tiếp trực quan: biểu cảm khuôn mặt, dấu hiệu, cử chỉ bằng tay

Hệ thống tìm kiếm thông tin trên ảnh, video: là bước đệm cho việc tìm kiếm

dựa trên nội dung ảnh hay video Ví dụ như phát hiện mặt người trong đó rồi qua nhận dạng đưa ra đúng chỉ mục cần tìm như video hay ảnh có Obama chẳng hạn

Google portrait [1]: sử dụng hệ thống nhận dạng khuôn mặt đa hướng nhìn (Multi-view Face) phát triển bởi IDIAP, Google đã tạo ra một công cụ hỗ trợ trong Google Image có khả năng lọc ảnh có chứa khuôn mặt và đưa ra ảnh chân dung thay vì đưa ra tấm ảnh hoàn chỉnh

Hình 1.1 Cơ chế tìm kiếm của Google Portrait

Trang 13

1.2 Tìm hiểu các phương pháp xử lí ảnh với mặt người

1.2.1 Hướng tiếp cận dựa trên tri thức

Trong hướng tiếp cận này, phương pháp phát hiện khuôn mặt dựa trên các quy tắc rút ra từ những tri thức về khuôn mặt được các nhà khoa học nêu ra Dễ dàng để

có được luật đơn giản để thể hiện các đặc trưng mặt người và mối quan hệ của chúng Chẳng hạn, một khuôn mặt thường có 2 mắt đối xứng nhau, 1 mũi, và 1 miệng Quan hệ giữa chúng thể hiện qua quan hệ khoảng cách hay vị trí

Tuy nhiên, hướng tiếp cận này gặp một khó khăn đó là việc chuyển từ tri thức về mặt người thành tập luật xác định tốt cho nhiều truòng hợp Tập luật quá chi tiết sẽ rất dễ dẫn đến bỏ sót các khuôn mặt thật, ngược lại nếu tập luật sơ sài sẽ dẫn đến kết quả có rất nhiều khuôn mặt mà trong số đó có cả các ứng viên không phải khuôn mặt Thêm vào đó hướng tiếp cận này là khá khó khăn khi mở rộng bài toán trong các trường hợp tư thế chụp khác nhau vì tư thế chụp có thể dẫn đến luật trên đây áp dụng không đúng nữa

Theo hướng tiếp cận này, chúng ta sẽ xem xét 2 nghiên cứu sau đây:

1.2.1.1 Phương pháp của Yang và Huang

Hai nhà khoa học Yang và Huang [2] đã dùng phương pháp có thứ tự theo

hướng tiếp cận này để phát hiện khuôn mặt Hệ thống này bao gồm 3 tầng luật:

Tầng đầu tiên: Tìm ra các ứng viên bằng cách quét 1 cửa sổ khắp ảnh đầu

vào, các ứng viên phải thỏa tập luật tầng này

Tầng giữa: Sử dụng các tập luật mô tả chung về khuôn mặt

Tầng cuối cùng: Dùng các tập luật xem xét một cách chi tiết các đặc trưng

khuôn mặt

Một hệ thống ảnh đa phân giải được xây dựng theo các mẫu con với độ xám của cả mẫu đó được thay bằng mức xám trung bình của mẫu Ví dụ như dưới đây:

Trang 14

Hình 1.2 Các ảnh với độ phân giải khác nhau

các mẫu với được mã hóa theo quy tắc nxn pixels có giá trị trung bình của các pixel trong mẫu Trái qua phải n=1,4,8,16

Hình 1.3: Một tri thức về khuôn mặt

Hai ông sử dụng tri thức về khuôn mặt với một số tính chất độ sáng như trên hình 4 và rằng:

 Tầng đầu tiên: Tìm ứng viên khuôn mặt trong mức phân giải thấp nhất gồm

có phần trung tâm của mặt với 4 phần có mức sáng tương đối đều nhau, tiếp theo là phần xung quanh, sáng hơn chút cũng có độ sáng gần như nhau (chênh lệch độ sáng giữa 2 vùng nói trên là đủ lớn)

 Tầng giữa: Dùng biểu đồ historgram để xem xét tiếp các ứng viên trên đây, đồng thời tìm ra đường cạnh bao ứng viên

 Tầng cuối cùng: Dùng các tập luật của tầng này xem xét đặc trưng khuôn mặt các ứng viên qua được tầng giữa Ví dụ đặc trưng về mắt, miệng …

Nhận xét: phương pháp này khá đơn giản, dễ thực hiện, tuy nhiên , kết quả lại

chưa cao Song các ý tưởng của phương pháp đã làm nền tảng cho các nghiên cứu sau này như ý tưởng sử dụng ảnh đa phân giải hay các tri thức về khuôn mặt đã

dùng

Trang 15

1.2.1.2 Phương pháp của Kotropoulos và Pitas

Hai ông khá thành công trong việc định vị vùng chứa khuôn mặt bằng phương pháp chiếu Ta xem xét phương pháp này với ảnh đa mức xám Cơ sở của phương pháp có thể hiểu như sau:

 Giả thiết I(x,y) là độ xám tại vị trí tọa độ (x,y) của ảnh kích thước mxn

đủ để phát hiện được các ứng viên khuôn mặt

Xem ví dụ dưới đây cho giải thuật này Hình 1.4(a) minh họa cho cách xác định biên của khuôn mặt ứng với các cực trị địa phương như đã nêu trên đây Sau đó dùng vài luật đơn giản để kiểm tra lại ví như việc tồn tại của lông mày/ mắt, lỗ mũi/ mũi hay cái miệng … Tuy nhiên ở hai hình bên 1.4(b) và 1.4(c) việc xác định các cực trị địa phương như đã nêu là rất khó khăn do sự thay đổi của các đường cong HI(x) và VI(y) phụ thuộc vào nhiều yếu tố Trường hợp hình 1.4(b) là ảnh với nền phức tạp, trường hợp hình 1.4(c) là ảnh với sự có mặt của nhiều khuôn mặt trong ảnh

Hình 1.4: Minh họa giải thuật chiếu

Trang 16

Phương pháp được đưa ra kiểm tra trên một tập khuôn mặt trong trong video gồm 37 người khác nhau Mỗi ảnh chỉ chứa 1 khuôn mặt trên 1 nền không đổi Phương pháp của họ tìm ra được đúng các ứng viên khuôn mặt Tỷ lệ phát hiện đúng là 86.5% và định vị đúng các đặc trưng của khuôn mặt như mắt, mũi, môi …

Nhận xét: phương pháp của Kotropoulos Pitas khá đơn giản, dễ thực hiện, tuy

nhiên, phương pháp này lại chỉ cho hiệu quả cao với các ảnh có một khuôn mặt, tư thế chụp thẳng và nền ảnh không quá phức tạp Sau này, phương pháp này đã được

cải tiến, kết hợp với ý tưởng đa phân giải, hay tiền xử lí trước khi chiếu

1.2.1.3 Đánh giá hướng tiếp cận dựa trên tri thức

1.2.2 Hướng tiếp cận dựa trên đặc trưng không thay đổi

Khác với hướng tiếp cận dựa trên tri thức, theo hướng tiếp cận này các nhà khoa học cố gắng tìm ra các đặc trưng bất biến của khuôn mặt phục vụ việc phát hiện khuôn mặt Trên tư tưởng các đặc trưng bất biến này vẫn tồn tại và có thể được nhận biết trong nhiều trường hợp và tư thế khác nhau, đã có nhiều nghiên cứu trước

là nhằm xác định các sự tồn tại đặc trưng khuôn mặt và sau là chỉ ra có khuôn mặt hay không Các đặc trưng như lông mày, mắt, mũi, miệng, và đường viền của tóc được trích bằng phương pháp xác định cạnh Từ đó xây dựng một mô hình thống

Trang 17

kê để mô tả các quan hệ giữa chúng để kiểm tra sự tồn tại của khuôn mặt Vấn đề ở đây là các đặc trưng này có thể bị sai khác đi tùy thuộc điều kiện chiếu sáng, nhiễu, hay có thể bị che khuất, bên cạnh đó, bóng của ảnh cũng có thể tạo ra các cạnh gây lên sự nhầm lẫn, những vấn đề này gây ra khó khăn cho việc xác định khuôn mặt do

đó cần có sự điều chỉnh phù hợp Sau đây ta xem xét cụ thể hơn về một số phương pháp theo hướng tiếp cận này:

1.2.2.1 Phương pháp của Leung - Random Graph Matching

Leung đã phát triển một mô hình xác suất để định vị khuôn mặt trong ảnh nền phức tạp dựa vào việc xác định các đặc trưng cục bộ và bộ so sánh đồ thị ngẫu

nhiên (random graph matching) [3]

Ý tưởng ở đây là :

 Đưa ra quy tắc định vị khuôn mặt thông qua các đặc trưng của mặt bằng việc tìm ra một trật tự hình học các đặc trưng sao cho gần nhất với mẫu khuôn mặt nhất

 Các đặc trưng được xác định bởi giá trung bình các đáp ứng đa hướng, đa tỷ

lệ qua bộ lọc đạo hàm Gauss

 Học các cấu hình của đặc trưng khuôn mặt với phân bố Gauss của các khoảng cách qua lại giữa các đặc trưng

 Dựa trên sự gần giống nhau giữa các đặc trưng, dung bộ lọc Gauss để định vị các đặc trưng là ứng viên

 Cuối cùng, dung bộ khớp đồ thị ngẫu nhiên (random graph matching) đối với các đặc trưng ứng viên trên để xác định khuôn mặt

Cụ thể hơn, ông mô tả khuôn mặt chuẩn thông qua 5 đặc trưng : 2 mắt, 2 lỗ mũi, đoạn giữa môi và mũi Với mỗi cặp đặc trưng cùng loại (chẳng hạn mắt trái và mắt phải), tính khoảng cách liên hệ giữa chúng trên toàn ảnh, tập các khoảng cách

đó được mô hình bằng mô hình Gauss Định nghĩa một mẫu khuôn mặt bởi giá trị trung bình tập kết quả của bộ lọc đạo hàm đa hướng, đa tỉ lệ (tại các pixel trong vùng đặc trưng mặt) trên tổng số các mặt trong tập data Với 1 ảnh cần kiểm tra, mỗi đặc trưng mặt được chỉ ra bằng cách khớp đáp ứng bộ lọc tại mỗi pixel với đáp ứng véc tơ mẫu Chọn hai đặc trưng với đáp ứng tốt nhất để làm cơ sở cho việc tìm

Trang 18

các đặc trưng khác của khuôn mặt Vì rằng các đặc trưng không thể xuất hiện tùy tiện nên có thể mô hình xác xuất để định vị chúng qua khoảng cách Các hình sao được hình thành từ các đặc trưng ứng viên trong vùng thích hợp Việc tìm kiếm hình sao tốt nhất được xem như việc khớp đồ thị mà các nút tương ứng với các đặc trưng khuôn mặt, còn các cạnh ứng với khoảng cách giữa các đặc trưng Hạng của các hình sao được tính dựa trên hàm tỉ lệ xác suất mà hình sao đó ứng với khuôn mặt thật và không phải khuôn mặt rồi đưa ra kết luận cho ứng viên hình sao đó

Kiểm tra trên tập 150 ảnh có khuôn mặt với các hướng khác nhau, tỷ lệ nhận dạng đúng của hệ thống đạt 86%

1.2.2.2 Phương pháp dựa trên màu da

Màu da con người đã và được sử dụng và chứng minh là một đặc trưng có hiệu quả trong nhiều ứng dụng như xác định khuôn mặt, bàn tay … Mặc dù màu da của con người có khác nhau nhưng các nghiên cứu gần đây đã chỉ ra rằng sự khác nhau này chủ yếu là do sự khác nhau về cường độ sáng hơn là do sự khác nhau về thành phần màu

Tư tưởng chính của phương pháp là việc phân lớp các điểm ảnh theo xem có phải màu da hay không phải màu da Do đó nên chọn một không gian màu thích hợp, ở đó có sự tách biệt giữa 2 thành phần: thành phần độ chói / cường độ sáng và thành phần màu Qua thực nghiệm, các không gian màu có thể sử dụng là: HSV, HIS, TSL, YUV-YCrCb, YIQ, YES, CIE XYZ, CIE LUV …

Hình 1.5: Phân bố màu da trong mặt phẳng CrCb trong không gian YCrCb

Trang 19

Quan sát hình trên đây ta thấy sự phân bố màu da trong không gian YCrCb khá nhỏ và tập trung Do đó ý tưởng dùng vùng màu da để phát hiện khuôn mặt là hoàn toàn có cơ sở Đã có rất nhiều phương pháp được đề xuất theo hướng nghiên cứu này Dưới đây để làm rõ hơn vấn đề ta xem xét một số ý tưởng sau đây:

Sử dụng không gian màu YCrCb Không gian màu YCrCb với quy tắc chuyển đổi được định nghĩa như dưới đây:

Cr1 ≤ Cr ≤C

Cb1 ≤ Cb ≤Cb2

C.Garcia và G.Tziritas [4] cũng dùng không gian màu YCrCb nhưng hai ông

dùng một tập luật khá chi tiết để phân loại các pixel Có thể tóm tắt như sau:

 Khi Y ≤ 128: chọn các giá trị trung gian như sau:

Trang 20

1.2.2.3 Đánh giá hướng tiếp cận dựa trên đặc trưng bất biến

Ưu điểm:

- Dễ dàng phát hiện khuôn mặt trong các ảnh chỉ có một khuôn mặt trên

nền đơn giản

- Phát hiện được khuôn mặt trong nhiều tư thế và kiểu chụp khác nhau

vì đặc trưng khuôn mặt không thay đổi theo tư thế chụp

Nhược điểm:

- Khó khăn khi xác định khuôn mặt trong ảnh có nền phức tạp, hay khi

có sự xuất hiện vật che cản

1.2.3 Hướng tiếp cận dựa trên so sánh khớp mẫu

Trong phương pháp này người ta định nghĩa hoặc tham số hóa một mẫu khuôn mặt chuẩn thông qua một hàm nào đó (thường là khuôn mặt chụp thẳng) Từ đó mỗi ảnh đưa vào, tính toán các giá trị tương quan với mẫu chuẩn cho các thành phần đường viền khuôn mặt, mắt, mũi và miệng một cách độc lập Tiếp theo, từ các giá trị tương quan này ta mới xem xét rồi kết luận sự tồn tại của khuôn mặt trong ảnh

1.2.3.1 Dùng mẫu định nghĩa sẵn

Sakai [5] đã phát triển phương pháp phát hiện mặt người trong tư thế chụp

thẳng theo hướng tiếp cận này Ông dùng các mẫu con đối với mắt, mũi miệng và

Trang 21

đường viền khuôn mặt để mô hình khuôn mặt Mỗi mẫu con được giới hạn bởi các đoạn thẳng Đối với mỗi ảnh vào, các đường được trích ra dựa vào sự thay đổi độ dốc lớn nhất sẽ đem so với mẫu con Có thể xem tư tưởng này gồm hai bước:

 Bước đầu là tính toán các tương quan giữa các mẫu con và đường viền để xác định vị trí các ứng viên

 Bước tiếp đó thực hiện so sánh với các mẫu con trong vùng này

Craw [6] lại phát triển một phương pháp định vị dựa vào hình dạng mẫu của

khuôn mặt ở tư thế chụp thẳng Trước tiên ông dùng bộ lọc Sobel để trích cạnh, các cạnh này được nhóm lại để tìm ra các mẫu khuôn mặt dựa trên một vài ràng buộc đưa ra Sau khi xác định được đường viền phần đầu, áp dụng tương tự đối với mắt, lông mày và mỗi ở các tỉ lệ khác nhau Sau đó ông dùng 40 mẫu để tìm ra các đặc trưng khuôn mặt và dùng một phương pháp để chỉ ra và đánh giá kết quả từ những mẫu của các đặc trưng trên

Sinha [7] dùng một tập nhỏ các ảnh cố định để mô tả không gian các mẫu

khuôn mặt Ý tưởng chính là trong khi độ sáng của các phần như mắt, hai má và vầng trán thay đổi với các khuôn mặt khác nhau thì quan hệ về độ sáng giữa chúng lại gần như không thay đổi gì lớn Từng cặp tỉ số độ sáng và chỉ dẫn kèm theo (vùng này tối hơn hay sáng hơn vùng kia) chính là những bất biến rất tốt chính vì vậy sử dụng các chỉ số này ta có thể tạo ra một mẫu với các tỉ số tương ứng với các đặc trưng như mắt, hai má và trán Các ràng buộc giữa các vùng mặt này cho ta một tập thích hợp các cặp quan hệ tối-sáng giữa các vùng con Một khuôn mặt được xác nhận nếu nó thỏa mãn các cặp ràng buộc trên Xem minh họa sau đây:

Hình 1.6: Minh họa mẫu gồm các quan hệ

Hình trên thể hiện một mẫu gồm 23 quan hệ giữa các vùng trong đó:

 11 mũi tên màu đen thể hiện các ràng buộc chính

Trang 22

 12 mũi tên xám mang tính chất kiểm tra

 Đầu các mũi tên ám chỉ đó là vùng thứ hai ứng với quan hệ

Một quan hệ được thỏa mãn khi điều kiện về tương quan như đề cập trên giữa hai vùng được chấp nhận (thường có một giá trị ngưỡng) Ý tưởng này của ông sau đó cũng đã được phát triển thêm dùng biến đổi wavelet để áp dụng đối với người đi bộ, xe, và phát hiện khuôn mặt Phương pháp của ông sau này cũng có nhiều ứng dụng khác nữa điển hình như hệ thống thị giác của rô bốt…

Lanitis nghiên cứu một phương pháp biểu diễn khuôn mặt với hai yếu tố hình

dạng và mức sáng [9] Tư tưởng như sau:

 Huấn luyện một tập các ảnh với các đường viền được lấy mẫu như đường bao mắt, mũi cằm và má (lưu ý là chúng được gán nhãn) và một véc tơ với thành phần là các điểm lấy mẫu để mô tả hình dạng

Dùng mô hình phân bố điểm (PDM- Point Distribution Model) để mô tả đặc

tính của véc tơ hình dạng thành qua tập các điểm riêng Mô hình phân bố này được dùng tìm khuôn mặt trong các ảnh mới sử dụng mô hình hình dạng có hiệu quả (ASM) để tìm và ước lượng vị trí và các thông số Khuôn mặt tạm thời được biến dạng về hình dạng trung bình và trích ra các tham số mức sáng Hình dạng và các thông số này sẽ được sử dụng để phân loại

 Bây giờ để bắt đầu, ông định nghĩa vùng chữ nhật có các đặc trưng cần xem xét Phân tích các nhân tố ứng với đặc trưng được huấn luyện để có được hàm phân

Trang 23

bố Tìm đặc trưng ứng viên nếu độ đo xác suất thỏa ngưỡng nào đó và phải được kiểm tra dùng ASM

Kết quả chính xác của phương pháp này là 35/40 ảnh vào Sau này việc ước lượng đã được cải thiện nhờ dùng hai bộ lọc Kalman

1.2.3.3 Đánh giá hướng tiếp cận đối sánh mẫu

Ưu điểm:

- Việc xây dựng và cài đặt giải thuật khá thuận lợi

- Xác định tốt cho các trường hợp đơn giản

- Thời gian xử lý chấp nhận được

Nhược điểm:

- Việc xây dựng được các mẫu là không đơn giản

- Không hiệu quả trong trường hợp phức tạp, có nhiễu, tư thế chụp bị

che khuất

1.2.4 Hướng tiếp cận dựa trên diện mạo

Trái với phương pháp đối sánh mẫu vừa bàn ở trên, đây là hướng tiếp cận mà mẫu được học trực tiếp từ các ảnh Thông thường các phương pháp theo hướng tiếp cận này thường dựa trên sự phân tích thống kê và kĩ thuật máy học để tìm các đặc tính thích hợp của ảnh khuôn mặt và ảnh không có khuôn mặt Các đặc tính đã học trong các mô hình phân bố hoặc các hàm biệt số do đó có thể dùng cho việc phát hiện mặt người Các phương pháp sử dụng mô hình xác suất dựa trên ý tưởng như sau: một ảnh hay một véc tơ đặc trưng xuất phát từ ảnh đầu vào sẽ được xem như một biến x và thêm nữa là giá trị ngẫu nhiên mô tả cho khuôn mặt và không phải khuôn mặt bởi hàm mật độ xác suất có điều kiện p(x | khuôn mặt) và p(x | không phải khuôn mặt), sau đó dùng các phương pháp để phân loại Bên cạnh đó có các phương pháp trên cơ sở tìm hàm biệt số giữa lớp các ảnh khuôn mặt và không khuôn mặt Thông thường bước đầu là chiếu mẫu ảnh vào các không gian có số chiều nhỏ hơn rồi phân loại chúng Ta xét một số phương pháp dưới đây:

Trang 24

1.2.4.1 Các khuôn mặt riêng (Eigenfaces)

Theo Kirby và Sirovich [10], các ảnh khuôn mặt có thể biểu diễn tuyến tính

bởi một số hữu hạn các ảnh cơ sở dựa trên phép biến đổi KL - kĩ thuật phân tích thành phần chính (PCA) Đưa ra một tập các ảnh huấn luyện kích thước m x n xem như một tập véc tơ m x n chiều Xác định các véc tơ cơ sở của không gian con tối

ưu trên cơ sở tìm giá trị nhỏ nhất của phương sai khoảng cách Họ coi tập các véc tơ riêng tối ưu này là ảnh riêng bởi chúng chính là véc tơ riêng của ma trận hiệp phương sai xây dựng trên tập huấn luyện Kinh nghiệm với tập 100 ảnh, các ảnh khuôn mặt với kích thước 91x50 có thể chỉ cần dùng 50 ảnh riêng biểu diễn

Turk và Pentland [11] sử dụng PCA để tìm ra các khuôn mặt riêng có thể

được xem như các véc tơ riêng tạo lên không gian con là không gian các khuôn mặt Bây giờ với bức ảnh đưa vào, thực hiện phép chiếu vào không gian con trên, nhận xét rằng hình chiếu của ảnh khuôn mặt về căn bản không thay đổi, còn hình ảnh không khuôn mặt khác xa rất nhiều Để phát hiện khuôn mặt, họ tính toán khoảng cách tương ứng các vùng ảnh đối với không gian khuôn mặt trên tại các vị trí của ảnh Kết quả tính toán sẽ dùng để phân loại vùng ảnh xem có phải lớp khuôn mặt hay không

Rowley [12, 13] 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 Cụ thể hơn có thể hiểu hệ thống của ông có thể xem như gồm 2 thành phần chính:

Trang 25

 Tầng 1: Hệ thống hai mạng nơ ron Đầu vào của các mạng nơ ron là các vùng với kích thước 20x20 pixel đã qua tiền xử lí của ảnh vào, và đầu ra là một giá trị trong khoảng (-1, 1)

 Tầng 2: Một module thực hiện việc đưa ra quyết định cuối cùng Kết hợp các kết quả phát hiện từ các mạng nơ ron (merging overlapping), sử dụng các phép toán logic

Hình 1.7: Thành phần đầu của hệ thống

Đư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 unit: 4 dạng 10x10, 16 dạng 5x5, 6 dạng 6x6 và áp dụng mạng

nơ ron Thực tế ông dùng tầm 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

Kết quả trong trường hợp dùng kết hợp hai mạng nơ ron trên database CMU đạt tỷ lệ 80.5%, số phát hiện thiếu là 33/169 và số phát hiện sai là 67

Các phương pháp 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 cũng có rất nhiều Việc chọn kích thước mẫu học được cải tiến cho

Trang 26

phù hợp với cấu trúc khuôn mặt (kích thước mẫu có thể là 18x27 pixel), các bước tiền xủ lí cũng tốt hơn …

Trang 27

1.2.4.3 Dùng các phương pháp máy học (machine learning)

Có rất nhiều phương pháp học máy được sử dụng trong hướng tiếp cận dựa trên diện mạo như : Adaboost , Super Vector Machine … Và Adaboost là một trong những phương pháp tối ưu nhất, giải quyết được tính thời gian thực Vì vậy tôi chọn phương pháp này để giải quyết bài toán nhận diện hướng mắt và sẽ được trình bày chi tiết trong phần sau của báo cáo

1.2.4.4 Đánh giá hướng tiếp cận dựa trên diện mạo

- Khó khăn trong việc xây dựng cài đặt giải thuật

- Trong nhiều trường hợp, thời gian tính toán không mang tính thực tế

1.3 Giới thiệu về bài toán nhận diện hướng mắt

Trên cơ sở kế thừa những thành tựu từ bài toán nhận diện khuôn mặt, nhận diện hướng mắt là một hướng nghiên cứu nhỏ, ghóp phần giải quyết một số bài toán cụ thể trong cuộc sống Bài toán được đặt ra là khi mặt người được giữ ở vị trí cố định, mắt người thay đổi hướng nhìn bằng cách di chuyển con ngươi Nhiệm vụ là phải xác định được hướng nhìn của mắt, trong phạm vị đề đài là xác định xem mắt nhìn sang trái, phải hay lên trên, xuống dưới

1.3.1 Hướng giải quyết

Để giải quyết bài toán trong luận văn tôi có thể chia bài toán thành 2 phần

Phần 1 là phát hiện vị trí mắt áp dụng phướng pháp Adaboost kết hợp với các đặc trưng Haar-Like Cụ thể phương pháp này sẽ được giới thiệu chi tiết trong

chương 3 của báo cáo Đồng thời để tăng tốc độ cho bài toán phát hiện vị trí mắt

người, trong luận văn tôi dùng ảnh độ sâu (depth) lấy ra từ Kinect Sensor để có thể

dễ dàng tách ra phần đầu người trong ảnh, từ đó việc áp dụng phương pháp

Trang 28

Adaboost cho phát hiện vị trí mặt sẽ chỉ diễn ra trong vùng ảnh nhỏ hơn giúp đáp ứng được tính thời gian thực

Phần 2 là theo dõi chuyển động của con ngươi, cụ thể là lòng đen, từ đó ta

có thể dễ dàng suy ra được hướng nhìn của mắt Như chúng ta biết thông thường vị trí con ngươi là ở chính giữa mắt và con ngươi có màu đen Dựa vào các đặc trưng này, sau khi nhận diện được vị trí của mắt, ta có lọc ra vị trí của con ngươi sau đó chuyển ảnh sang dạng binary tức chỉ còn hai màu đen và trắng Với việc theo dõi

sự thay đổi vị trí vùng đen ta có thể dẽ dàng suy ra hướng nhìn của mắt

1.3.2 Ứng dụng

 Ứng dụng trong y tế, dành cho những người khuyết tật bị liệt

 Úng dụng trong điều khiển ví dụ như dùng mắt để điều khiển chuột trên màn hình máy tính …

 Ứng dụng cho các thiêt bị như google glass

Hiện tại trên thế giới cũng đã có nhiều nghiên cứu về vẫn đề này và đã có

những ứng dụng cụ thể Ví dụ như thiết bị “eyeCharm” là thiết bị mở rộng trên

Kinect cho phép điều khiển máy tính dựa trên chuyển động của mắt Với thiết bị này người dùng có thể chơi game, vẽ photoshop và nhiều hơn thế

Hình 1.8:Sơ đồ mô tả cách sử dụng Eye charm

Một ứng dụng khác cũng đang được phát triển là mẫu máy tính “SpaceTop 3D” Với mẫu máy tính này, người dùng có thể đưa tay vào tận phía sau màn hình

Trang 29

để điều khiển các biểu tượng và ứng dụng trong khi camera theo dõi vị trí mắt họ và điều khiển góc nhìn giúp cho hình ảnh xuất hiện như thể đây là một chiếc hộp 3D thực sự

Hình 1.9: Ý tưởng về máy tính trong suốt

Hình 1.10 Minh họa hệ thống SpaceTop 3D

Trang 30

Hướng nghiên cứu này cũng hữu ích cho việc phát triển các ứng dụng cho các thiết bị google glass Ví dụ như một ứng dụng có xác định thông tin vật thể thông qua hướng nhìn của mắt chẳng hạn Tương lai sẽ không khác những bộ phim viễn tưởng chúng ta đang xem Công nghệ là một cái gì đó không tưởng

1.3.3 Khó khăn

 Mắt người bị che khuất bởi tóc, đeo kính …

 Mắt người bị khuyết tật VD: mắt lác, hay mặt híp

 Điều kiện ánh sáng yếu

1.4 Kết luận

Trong Chương 1, tôi đã trình bày tổng quan các cơ sở lý thuyết về xử lý, nhận dạng ảnh và cơ sở lý luận của tương tác giữa người và máy tính Thông qua việc tìm hiểu, phân tích một số công trình nghiên cứu điển hình, tôi đã đánh giá được sự phát triển và tiềm năng của ứng dụng tương tác giữa người và máy thông qua nhận dạng khuôn mặt và hướng mắt Những nội dung này, chính là nền tảng lý thuyết quan trọng trong việc xây dựng ứng dụng tại Chương 3 Luận văn

Trang 31

CHƯƠNG 2: PHƯƠNG PHÁP ADABOOST VÀ CÁC ĐẶC

TRƯNG HAAR FEATURE

2.1 Các đặc trưng Haar-Like

Một đối tượng được đặc trưng bởi tập hợp các pixel, các pixel này tạo lên những điểm khác biệt so với các vùng pixel khác Tuy nhiên với một ảnh đầu vào, việc sử dụng các điểm ảnh riêng lẻ lại không hiệu quả Tư tưởng kết hợp các vùng pixel với nhau tạo ra đặc trưng có khả năng phân loại tốt các vùng của khuôn mặt được đưa ra nhiều Trong số đó đặc trưng haarlike đã được ứng dụng và tỏ ra rất hiệu quả Viola và Jones dùng 4 đặc trưng cơ bản để xác định khuôn mặt người Mỗi đặc trưng Haar–like là sự kết hợp của hai hay ba hình dạng được mô tả như sau:

Hình 2.1: 4 đặc trưng Haar-like cơ bản

Mỗi đặc trưng có một kích cỡ bất kì và nhỏ hơn kích cỡ của cửa sổ con (của

sổ dùng để quét bức ảnh để xác định ra vùng đối tượng mong muốn) Kích cỡ của mỗi hình dạng trong mỗi đặc trưng cũng có thể khác nhau Các đặc trưng này không chỉ được dùng để phát hiện khuôn mặt mà còn có thể được dùng để phát hiện một đối tượng bất kì trong ảnh Trong luận án, tôi dùng các đặc trưng này để phát hiện

vị trí của “mắt người” trong ảnh Các đặc trưng này sẽ được kết hợp với phương

pháp Adaboost Phương pháp này sẽ được trình bày trong các phần sau của chương này

Để áp dụng các đặt trưng này vào việc bài toán xác định đối tượng trong ảnh,

4 đặt trưng Haar-like cơ bản được mở rộng ra, và được chia làm 3 tập đặc trưng như sau:

Trang 32

1 Đặc trưng cạnh (edge features):

2 Đặc trưng đường (line features):

3 Đặc trưng xung quanh tâm (center-surround features):

Hình 0.2: Các đặc trưng mở rộng của các đặc trưng Haar-like cơ sở

Sau này các đặc trưng này còn được mở rộng ra rất nhiều, để nâng cao tính chính xác cho bài toán phát hiện đối tượng trong ảnh

Trang 33

Hình 2.3: Các đặc trưng Haar-Like mở rộng mới

Lợi ích của các đặc trưng Haar-like 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 Để tính giá trị các đặc trưng haar-like, ta tính sự chênh lệch giữa tổng của các pixel của các vùng đen và các vùng trắng như trong công thức sau:

f(x) = Tổng vùng đen (pixel) - Tổng vùng trắng (pixel)

Lấy ví dụ phát hiện khuôn mặt, ta dùng giá trị của các đặc trưng haar-like để xác định vùng ảnh tương ứng có phải là khuôn mặt hay không Nhìn vào hai bức ảnh bên dưới, trong bức ảnh thứ nhất ta thấy vùng mắt có màu đen vùng mũi có

màu sáng hơn nên giá trị đặc trưng f khi lấy trị tuyệt đối sẽ lớn Trong bức ảnh thứ

hai thì giá trị đặc đặc trưng sẽ nhỏ vì hai vùng có màu sắc gần giống nhau Dựa vào các giá trị đặc trưng đó kết hợp với một giá trị mức ngưỡng ta sẽ xác định được vùng ảnh đó có phải là khuôn mặt hay không

Trang 34

Hình 2.4: Lợi ích của đặc trưng Haar-Like

Như vậy ta có thể thấy rằng, để tính các giá trị của đặc trưng Haar-like, ta phải tính tổng của các vùng pixel trên ảnh Nhưng để tính toán các giá trị của các đặc trưng Haar-like cho tất cả các vị trí trên ảnh đòi hỏi chi phí tính toán khá lớn, không đáp ứng được cho các ứng dụng đòi hỏi tính run-time Do đó Viola và Jones

đưa ra một khái niệm gọi là Integral Image để tính toán nhanh cho khác feature cơ

bản Sau này, Lienhart kế thừa gọi Integral Image là SAT – Summed Area Table và đưa ra thêm khái niệm RSAT – Rotated Summed Area Table dùng để tính toán

nhanh cho các đặc trưng xoay 1 góc 45o

Integral Image là một mảng 2 chiều với

kích thước bằng với kích của ảnh cần tính các đặc trưng Haar-like, với mỗi phần tử của mảng này được tính bằng cách tính tổng của điểm ảnh phía trên (dòng-1) và bên trái (cột-1) của nó Bắt đầu từ vị trí trên, bên trái đến vị trí dưới, phải của ảnh, việc tính toán này đơn thuần chỉ đựa trên phép cộng số nguyên đơn giản, do đó tốc độ thực hiện rất nhanh

𝑃(𝑥, 𝑦) = ∑𝑖≤𝑤,𝑗≤ℎ𝐼(𝑥, 𝑦) Trong đó:

w: Chiều rộng của ảnh

h: chiều cao của ảnh

x, y: vị trí các pixel trên ảnh

P(x,y)

Trang 35

Hình 2.5: Cách tính Integral Image của ảnh

Sau khi đã tính được Integral Image, việc tính tổng điểm ảnh của một vùng bất kỳ nào đó trên ảnh thực hiện rất đơn giản theo cách sau: (Giả sử ta cần tính tổng điểm ảnh của vùng D như trong hình dưới

Học theo “adaboost” là một cách trong hướng tiếp cận dựa trên diện mạo,

Viola và Jones dùng AdaBoost kết hợp cascade để xác định khuôn mặt người với các đặc trưng dạng Haar wavelet-like Tốc độ xử lý khá nhanh và tỷ lệ chính xác hơn 80% trên ảnh xám Phương pháp này hoàn toàn có thể dùng để nhận diện mắt

AdaBoost là một bộ phân loại mạnh phi tuyến phức dựa trên hướng tiếp cận

“boosting” được Freund 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 weak classifiers để hình thành một strong classifier

Về lịch sử, boosting bắt nguồn từ câu hỏi nổi tiếng được đưa ra bời Kearns

vào năm 1989 : “Liệu có thể tạo ra một strong classifier từ một tập các weak classifier?” Năm 1990, Robert Schapire đưa ra thuật toán boosting đầu tiên, tiếp

Trang 36

đến năm 1993 thì nó được Drucker, Schapire và Simard kiểm nghiệm trong trong

các chương trình nhận dạng ( OCR application ) Freund đã tiếp tục các nghiên cứu

của Schaprire, và đến năm 1995 thì ông cùng với Schapire phát triển boosting thành adaboost

Như vậy, nguyên lý cơ bản của boosting là sự kết hợp các weak classifiers thành một strong classifier Trong đó, weak classifier 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” tức được tăng cường

Để hiểu cách hoạt động của thuật toán boosting, ta xét một bài toán phân loại

2 lớp: đối tượng và không phải đối tượng (mẫu cần nhận dạng chỉ thuộc một trong

hai 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 n 1 mẫu từ tập D (n 1 <n) để tạo tập D1 Sau đó, chúng ta sẽ xây dựng weak classifier đầ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 tức là 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 strong classifier là sự 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 37

Hình 2.7: Mô tả giải thuật boosting

2.3 Giải thuật Adaboost cho việc tách đối tượng mắt

Như đã biết, AdaBoost ( Adaptive Boost ) là một bộ phân loại mạnh phi tuyến

phức dựa trên hướng tiếp cận boosting được Freund và Schapire đưa ra vào năm

1995 Adaboost hoạt động trên nguyên tắc kết hợp tuyến tính các weak classifier dựa trên các đặc trưng Haar- Like để hình thành một strong classifier

Để có thể kết hợp các bộ phân loại yếu, adaboost sử dụng một 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 weak classifier đượ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 weak classifier tiếp theo: 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 weak classifier vừa xây dựng Bằng cách này, các weak classifier sau có thể tập trung vào các mẫu mà các weak classifier trước đó chưa thực hiện tốt Sau cùng các weak classifier sẽ được kết hợp tùy theo mức độ ‘tốt’ của chúng để tạo nên một strong classifier

Trang 38

2 Đặc trưng loại 2: gồm 2 hình chữ nhật (1 trắng, 1 đen) được xếp theo chiều dọc có cùng kích cỡ Kích cỡ ban đầu của đặc trưng là 2x1(pixel)

3 Đặc trưng loại 3: gồm 3 hình chữ nhật (1 trắng 2 đen) được xếp theo chiều ngang và có cùng kích cỡ Kích cỡ ban đầu của đặc trưng là 1x3(pixel)

4 Đặc trưng loại 4: gồm 3 hình chữ nhật (1 trắng 2 đen) được xếp theo chiều dọc và có cùng kích cỡ Kích cỡ ban đầu của đặc trưng là 3x1(pixel)

5 Đặc trưng loại 5: gồm 4 hình chữ nhật (2 trắng, 2 đen) có cùng kích cỡ Kích

cỡ ban đầu của đặc trưng là 2x2(pixel)

Hình 2 6: Các đặc trưng Haar-Like dùng trong luận văn

Trang 39

Nguyên nhân lựa chọn:

 Nhận thấy các đặc trưng như trên thể hiện tốt sự tương quan mức

xám giữa các vùng trên mắt người

Hình 2.8: Đặc trưng 3 và sự tương quan mức xám

 Việc lựa chọn đặc trưng như trên có thể được tính toán một cách dễ dàng, không quá phức tập như các đặc trưng nghiêng, nhờ vào ảnh tích phân

 Số lượng các đặc trưng ảnh hưởng đến đầu vào bộ học Với các đặc trưng được chọn trên và kích thước cửa sổ học là 20x20 và 5 loại đặc trưng được chọn ở trên thì số bộ phân loại yếu là 78.460 đặc trưng

Việc lựa chọn đặc trưng như thế nào ảnh hưởng rất lớn đến chất lượng hệ thống trong quá trình xây dựng bộ phân loại, nói cách khác ảnh hưởng trực tiếp đến chất lượng của hệ thống phát hiện khuôn mặt

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

Để thuận tiện cho việc trích chọn đặc trưng ta xây dụng một cấu trúc chung

của đặc trưng là class “NhaarFeature” Mỗi đặc trưng gồm:

Loại đặc trưng: NHaarLike

Tọa độ X, Y: int

Chiều rộng(W) và chiều cao(H): int

Giá trị (Value): int

Trong đó tọa độ X, Y được xác định theo của sổ con Giá trị của đặc trưng sẽ được tính nhanh bằng cách sử dụng ma trận tích phân như đã được trình bày ở phân

Ngày đăng: 22/01/2021, 12:58

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w