Sau đó, mạng thần kinh tiến hành phân loại với đầu vào là ảnh cần nhận dạng trong không gian mặt riêng và đầu ra của mạng thần kinh được dùng để xác định hướng nhìn của mắt.. Với những l
Trang 1TRẦN ĐỨC ANH MINH
NÂNG CAO CHẤT LƯỢNG XÁC ĐỊNH HƯỚNG NHÌN
ỨNG DỤNG ĐIỀU KHIỂN ROBOT DI ĐỘNG
Chuyên ngành : TỰ ĐỘNG HÓA
Mã số: 605260
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, tháng 07 năm 2012
Trang 22 TS Nguyễn Thanh Phương
3 PGS TS Dương Hoài Nghĩa
4 TS Trương Đình Châu
5 TS Nguyễn Vĩnh Hảo
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Bộ môn quản lý chuyên ngành sau khi luận văn được sửa chữa (nếu có)
TS Nguyễn Đức Thành PGS TS Nguyễn Hữu Phúc
Trang 3NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: TRẦN ĐỨC ANH MINH MSHV: 10150043 Ngày, tháng, năm sinh: 24/10/1985 Nơi sinh: TP.Hồ Chí Minh Chuyên ngành: TỰ ĐỘNG HÓA Mã số : 605260
I TÊN ĐỀ TÀI:
NÂNG CAO CHẤT LƯỢNG XÁC ĐỊNH HƯỚNG NHÌN ỨNG DỤNG ĐIỀU KHIỂN ROBOT DI ĐỘNG
II NHIỆM VỤ VÀ NỘI DUNG:
- Nghiên cứu thiết kế và xây dựng hệ thống xác định hướng nhìn của mắt người dùng
- Ứng dụng hệ thống xác định hướng nhìn của mắt vào điều khiển hướng di chuyển cho Robot di động
III NGÀY GIAO NHIỆM VỤ : 06/02/2012
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 30/06/2012
V CÁN BỘ HƯỚNG DẪN: TS HUỲNH THÁI HOÀNG
Tp HCM, ngày tháng năm 20
CÁN BỘ HƯỚNG DẪN
TS HUỲNH THÁI HOÀNG
CHỦ NHIỆM BỘ MÔN ĐÀO TẠO
TS NGUYỄN ĐỨC THÀNH
TRƯỞNG KHOA ĐIỆN-ĐIỆN TỬ
PGS TS NGUYỄN HỮU PHÚC
Trang 4iv
LỜI CẢM ƠN
Trong suốt thời gian học tập chương trình Cao học và thực hiện đề tài luận văn thạc sĩ này, tôi đã nhận được nhiều công sức giảng dạy, hướng dẫn tận tâm của quý Thầy Cô, sự giúp đỡ và hỗ trợ nhiệt tình của các bạn học và sự quan tâm, chăm sóc rất mực của các thành viên trong gia đình
Để có được kết quả như ngày hôm nay, trước hết tôi xin gởi lời biết ơn sâu
sắc đến Tiến sĩ Huỳnh Thái Hoàng đã dành nhiều thời gian và tâm huyết hướng
dẫn và giúp đỡ tôi hoàn thành luận văn Thạc sĩ
Đồng thời, tôi xin chân thành cảm ơn quý Thầy Cô Bộ môn Điều khiển Tự động – Khoa Điện-Điện Tử - Trường Đại học Bách Khoa TP.HCM đã giảng dạy và tạo nhiều điều kiện để tôi học tập và hoàn thành luận văn Thạc sĩ
Nhân đây, tôi xin chân thành cảm ơn Ba, Mẹ, Anh, Chị và người thân đã quan tâm, động viên và giúp đỡ tôi trong suốt thời gian học tập
Cuối cùng, tôi xin gởi lời cảm ơn đến các anh chị học viên ngành Tự động khóa – Khóa 2010 đã chia sẽ những khó khăn và trao đổi kinh nghiệm cùng tôi trong quá trình học tập và nghiên cứu trong suốt khóa học
TP Hồ Chí Minh, tháng 07 năm 2012 Học viên ngành Tự động hóa – Khóa 2010
Trần Đức Anh Minh
Trang 5into the eigenface space (projected train images) Next, the test image is projected into this new space (projected test image) and the distance of the projected test
image to the projected train images is used to classify the test image
Neural Network is used to increase the accuracy of the system The projected train images are used to train the supervised Neural Network Classifier Later, the projected test image is used as Neural Network input, and output of Neural Network
is used to classify the test image
Experimental results show that the proposed system can detect accurately eye movements in real-time This system had been applied to control the mobile robot by using the eye-gaze of user
Trang 6vi
Trong đề tài, chúng tôi trình bày những nghiên cứu của mình liên quan đến
kỹ thuật xác định hướng nhìn của mắt dựa trên công nghệ thị giác máy tính
Nhằm mang lại thuận tiện cho người sử dụng, WebCam được đặt trước mặt người sử dụng, cách khoảng 50cm Theo thiết kế này, chương trình sẽ trích ra ảnh mắt với kích thước khá nhỏ Yêu cầu này đặt ra bài toán xử lý ảnh và phân loại ảnh
có độ phân giải thấp
Qua quá trình nghiên cứu tổng quan và đánh giá kết quả trên những phương
pháp khác nhau, chúng tôi chọn phương pháp mặt riêng (eigenface) trong giai đoạn
tiền xử lý để trích đặc trưng và làm giảm số chiều ảnh trong khi vẫn giữ lại các thành phần chính miêu tả tập mẫu Phương pháp mặt riêng là ứng dụng của phương
pháp phân tích thần phần chính (Principal component analysis - PCA) trong xử lý ảnh Không gian mặt riêng (eigenface space) được xây dựng bằng cách áp dụng
phương pháp mặt riêng lên tập ảnh huấn luyện Sau đó, các ảnh huấn luyện được chiếu vào không gian mặt riêng, gọi là ảnh huấn luyện trong không gian mặt riêng Tiếp theo, ảnh cần nhận dạng cũng được chiếu vào không gian mặt riêng, gọi là ảnh cần nhận dạng trong không gian mặt riêng và khoảng cách giữa ảnh cần nhận dạng trong không gian mặt riêng và các ảnh huấn luyện trong không gian mặt riêng được dùng để phân loại ảnh theo hướng nhìn
Mạng thần kinh được sử dụng nhằm tăng tính chính xác của hệ thống Các ảnh huấn luyện trong không gian mặt riêng được dùng để huấn luyện mạng thần kinh Sau đó, mạng thần kinh tiến hành phân loại với đầu vào là ảnh cần nhận dạng trong không gian mặt riêng và đầu ra của mạng thần kinh được dùng để xác định hướng nhìn của mắt
Dựa vào kết quả thực nghiệm cho thấy rằng hệ thống đạt được độ chính xác khá cao trong thời gian thực và hoạt động tương đối ổn định trong những điều kiện chiếu sáng khác nhau
Trang 7vii
Nội dung bao gồm 4 chương:
- Chương 1: Giới thiệu
- Chương 2: Cơ sở lý thuyết
- Chương 3: Giải thuật
- Chương 4: Kết quả
Mặc dù chúng tôi đã cố gắng hoàn thành luận văn bằng tất cả tâm huyết và năng lực của mình, tuy nhiên vẫn không thể tránh khỏi những thiếu sót, rất mong nhận được những đóng góp quý báu của quý Thầy Cô và các bạn
Trang 8viii
CHƯƠNG I
GIỚI THIỆU
1.1 Đặt vấn đề 1
1.2 Nghiên cứu tổng quan 2
1.2.1 Nghiên cứu 2
1.2.2 Ứng dụng 9
1.3 Mục tiêu đề tài 11
1.4 Tóm lược nội dung nghiên cứu 12
CHƯƠNG II CƠ SỞ LÝ THUYẾT 2.1 Ảnh số 14
2.1.1 Khái niệm 14
2.1.2 Biểu diễn 15
2.1.3 Thiết bị thu 17
2.2 Đặc trưng Haar-like 20
2.2.1 Đặc trưng Haar-like 20
2.2.2 Phương pháp ảnh tích hợp 21
2.3 Thuật toán AdaBoost 25
2.3.1 Phương pháp Boosting 25
2.3.2 Thuật toán AdaBoost 26
2.3.3 Các bộ phân loại ghép tầng 30
2.3.4 Các bộ phân loại ghép tầng tăng cường 31
2.4 Phương pháp phân tích thành phần chính 32
2.4.1 Cơ sở toán học 32
2.4.2 Phương pháp 35
Trang 9ix
2.5.3 Mạng truyền thẳng nhiều lớp 43
2.6 Tóm tắt 46
CHƯƠNG III XÂY DỰNG GIẢI THUẬT 3.1 Tổng quan giải thuật xác định hướng nhìn 47
3.2 Giải thuật phát hiện mặt và mắt .49
3.2.1 Nhận dạng khuôn mặt 49
3.2.2 Nhận dạng mắt 51
3.3 Giải thuật phát hiện hướng nhìn dùng phương pháp khoảng cách ngắn nhất 54
3.3.1 Phương pháp mặt riêng 55
3.3.2 Phương pháp tính mặt riêng 56
3.3.3 Biểu diễn lại các ảnh mắt 59
3.3.4 Phương pháp khoảng cách ngắn nhất 59
3.4 Giải thuật phát hiện hướng nhìn dùng mạng thần kinh nhân tạo 61
3.4.1 Mạng thần kinh truyền thẳng 3 lớp 62
3.4.2 Mạng thần kinh hồi quy 3 lớp 66
3.5 Tóm tắt 68
CHƯƠNG IV KẾT QUẢ 4.1 Chương trình phát hiện hướng nhìn 69
4.1.1 Nhiệm vụ 69
4.1.2 Lưu đồ 69
4.1.3 Giao diện 73
4.2 Kết quả phát hiện hướng nhìn .74
Trang 10x
4.3 Ứng dụng điều khiển robot di động 81
4.3.1 Phương trình động học robot 81
4.3.2 Mô hình hệ thống điều khiển robot di động bằng hướng nhìn của mắt .82
4.3.3 Giao thức điều khiển robot 84
4.3.4 Kết quả điều khiển 86
4.4 Kết luận và hướng phát triển 86
4.4.1 Kết luận 86
4.4.2 Hướng phát triển 87
4.5 Tóm tắt 87
TÀI LIỆU THAM KHẢO 89
PHỤ LỤC 93
Trang 11xi
Hình 1.1 Trang 3
Hình 1.2 3
Hình 1.3 4
Hình 1.4 4
Hình 1.5 5
Hình 1.6 5
Hình 1.7 6
Hình 1.8 7
Hình 1.9 9
Hình 1.10 9
Hình 1.11 10
Hình 1.12 11
Hình 2.1 15
Hình 2.2 16
Hình 2.3 18
Hình 2.4 19
Hình 2.5 20
Hình 2.6 21
Hình 2.7 22
Hình 2.8 23
Hình 2.9 24
Hình 2.10 26
Hình 2.11 29
Hình 2.12 30
Hình 2.13 31
Hình 2.14 35
Hình 2.15 36
Trang 12xii
Hình 2.19 40
Hình 2.20 42
Hình 2.21 44
Hình 3.1 48
Hình 3.2 49
Hình 3.3 50
Hình 3.4 51
Hình 3.5 52
Hình 3.6 53
Hình 3.7 54
Hình 3.8 61
Hình 3.9 63
Hình 3.10 64
Hình 3.11 67
Hình 4.1 70
Hình 4.2 73
Hình 4.3 75
Hình 4.4 81
Hình 4.5 82
Hình 4.6 83
Hình 4.7 85
Trang 13xiii
Bảng 2.1 Trang 27
Bảng 2.2 41
Bảng 2.3 45
Bảng 4.1 76
Bảng 4.2 76
Bảng 4.3 76
Bảng 4.4 78
Bảng 4.5 79
Bảng 4.6 79
Trang 14thống tương tác người-máy (human-computer interface – HCI) thông qua các giao
tiếp cơ học như nút nhấn, bàn phím, con trỏ chuột, cần gạt, bàn đạp; ngoài ra còn có các giao tiếp bằng giọng nói, cử chỉ bàn tay, dáng điệu của thân người hoặc hướng đầu
Nhưng những hệ thống điều khiển được nêu ra ở trên chỉ được sử dụng bởi những người khỏe mạnh, chân tay lành lặn hay giọng nói rõ ràng Đối với những người cao tuổi, bị bại liệt, xơ hóa tứ chi, họ không thể điều khiển chân tay hay giọng nói theo ý muốn và cần một phương pháp điều khiển thuận tiện hơn Mặt khác, trong những môi trường làm việc mà ở đó cả chân và tay được sử dụng cho các mục đích khác hay có nhiều tạp âm thì phương pháp điều khiển bằng tay hay giọng nói bị hạn chế rất nhiều
Với những lý do kể trên, các hệ thống xác định hướng nhìn (eye-gaze
detection) và phương pháp điều khiển bằng hướng mắt đã và đang được nghiên cứu,
phát triển trên thế giới
Kỹ thuật xác định hướng nhìn của mắt dùng để đo đạc điểm nhìn hay chuyển động tương đối của mắt so với đầu Thiết bị xác định hướng nhìn của mắt là một thiết bị dùng để đo vị trí và chuyển động của mắt Các thiết bị này được sử dụng trong nghiên cứu trên hệ thống ảo, trong tâm lý học, trong ngôn ngữ học và trong thiết kế sản phẩm
Trang 15Khoa học nghiên cứu về các chuyển động của mắt đã bắt đầu từ thế kỷ 19 Nhưng gần đây, công nghệ xử lý ảnh và thị giác máy tính phát triển nhanh chóng và
có nhiều ứng dụng thực tiễn nhờ sự ra đời của những thiết bị phần cứng (bao gồm thiết bị tính toán và camera) tốc độ cao, giá thành thấp; các thuật toán xử lý ảnh và thị giác máy tính từ đó cũng phát triển đa dạng tùy theo cấu hình phần cứng, chất lượng hình ảnh thu nhận; tiềm năng ứng dụng của các chuyển động mắt trong giao tiếp người máy mới được khám phá Giao tiếp dùng ánh mắt là một phương thức giao tiếp người-máy tự nhiên, thân thiện với con người Nhiều nghiên cứu đã cho thấy rõ khả năng của kỹ thuật xác định hướng nhìn của mắt giúp nâng cao chất lượng giao tiếp người-máy trong cuộc sống hàng ngày, đặc biệt các ứng dụng hỗ trợ người khuyết tật, người già trong giao tiếp và điều khiển các thiết bị phục vụ
Với những lợi ích thiết thực nêu trên, bài toán xác định hướng nhìn của mắt đang được chú trọng đầu tư nghiên cứu ở hầu hết các quốc gia phát triển trên thế giới và đã có được một số ứng dụng trong phòng thí nghiệm và các sản phẩm dùng trong đời sống hằng ngày
1.2 NGHIÊN CỨU TỔNG QUAN
1.2.1 Nghiên cứu
- Nhóm tác giả A Yuille, P Hallinan và D Cohen [01] đề xuất mô hình biến dạng
(deformable template) của mắt bao gồm hai parabol thể hiện hai mí mắt (mô hình
với 11 thông số) và một vòng tròn thể hiện con ngươi (H.1.1) Nghiên cứu thực nghiệm cho thấy vị trí ban đầu của khuôn biến dạng rất quan trọng Thuật toán không phát hiện được mắt khi khởi tạo các mặt nạ ở trên lông mày Một vấn đề khác nằm ở sự phức tạp trong việc mô tả các mặt nạ Ngoài ra, phương pháp tiếp cận dựa trên mặt nạ có thể gặp khó khăn khi mí mắt nhắm lại hoặc tư thế đầu không hướng về trước
Trang 16Hình 1.1 (a) Mô hình mắt của Yuille, (b) kết quả phát hiện mắt
- Nhóm tác giả C Colombo và A.D Bimbo [02] đề xuất một mô hình mắt với sáu tham số biến dạng bao gồm hai nửa elip có cùng trục chính Vị trí mắt bên trái và bên phải được ước lượng và hình dạng mắt được tính toán lúc đầu Các mặt nạ này sau đó được tối ưu tương tự như trong phương pháp của Yuille
Hình 1.2 Mô hình tham chiếu cho mắt
- Nhóm tác giả G.C Feng và P.C Yuen [03] giới thiệu mô hình mắt gồm sáu điểm mốc (điểm góc mắt) Ban đầu, các điểm mốc của mắt được đặt và sử dụng để định
vị con ngươi và giới hạn vùng mắt Các vị trí và kích thước chính xác của con ngươi hoặc mí mắt được xác định bằng cách sử dụng các sai lệch cường độ trong vùng mắt Các thí nghiệm cho thấy phương pháp này không thành công nếu mắt nhắm hoặc một phần mắt bị che bởi tóc và bị ảnh hưởng bởi hướng mặt, vùng tối và chuyển động mắt Ngoài ra, kỹ thuật này có thể nhầm lẫn lông mày là mắt
Trang 17Hình 1.3 a) Mô hình mắt; b) Mô hình tổng quát của mắt và các hàm sai lệch cường
độ theo phương dọc và phương ngang
- Nhóm tác giả Zheng, Jie Yang, Meng Wang và Yonggang Wang [04] đề xuất thuật toán phát hiện các đặc trưng của mắt Đầu tiên, sử dụng kênh H trong không gian màu HSV để phát hiện tâm đồng tử, bán kính đồng tử được ước lượng Sau đó,
bộ lọc góc mắt dựa trên không gian đặc trưng Gabor định vị các góc mắt Cuối cùng, các đường cong Spline nối vùng mí mắt lại
Hình 1.4 Xác định vị trí đồng tử bằng đồ thị cường độ sáng
Trang 18Hình 1.5 Phát hiện góc mắt
(a) ảnh xám của mắt; (b) biểu hiện xoắn Gabor của part2 hình (a) với F 7x
(c) biểu hiện xoắn Gabor của part1 hình (a) với F 5x5 ; (d) kết quả phát hiện góc
- Nhóm tác giả Cui Xu, Ying Zheng và Zengfu Wang [05] đề xuất phương pháp phát hiện góc mắt dựa trên đặc trưng màu sắc trích từ đặc tính cấu trúc và biểu hiện của khóe mắt Mí mắt được cố định trước để xây dựng mô hình góc mắt Dựa trên
mô hình này, một đặc trưng định rõ biểu hiện khác nhau giữa vùng bên trong và bên ngoài khóe mắt (vùng ngoài khóe mắt là da, vùng trong là nhãn cầu), và một đặc trưng khác chỉ rõ vai trò của đường phân giác ở khóe mắt (đường phân giác của khóe mắt đi qua cả tròng trắng và tròng đen nên biểu hiện của vùng quanh phân giác phải có 2 trạng thái, cường độ cao ở tròng trắng và thấp ở tròng đen) Kết hợp hai đặc trưng này thành bộ phân lớp để phát hiện khóe mắt
a) b) c)
Hình 1.6 a) Các góc trích bởi thuật toán Harris; b) mô hình góc của khóe mắt
c) gắn mô hình (đường đỏ) và các đường nét của ảnh mắt
- Rainer Stiefelhagen và các đồng sự [06] giới thiệu một hệ thống xác định hướng
nhìn không gây phiền toái (non-intrusive) có thể xác định và bám đuổi mắt của
người dùng trong thời gian thực ngay khi gương mặt xuất hiện trong thị trường của camera mà không cần sử dụng nguồn sáng đặc biệt hay bất kỳ dấu hiệu nào trên gương mặt người dùng Đầu tiên hệ thống phát hiện vùng mặt bằng cách tính diện tích tất cả các vùng mà điểm ảnh có màu da, vùng có diện tích lớn nhất được xem là
Trang 19vùng mặt Sau đó, hệ thống tìm mắt bằng cách áp dụng phương pháp phân ngưỡng trong vùng mặt vừa phát hiện được Do điều kiện sáng và người dùng có thể thay đổi, quá trình phân ngưỡng phải lặp lại nhiều lần, với giá trị từ nhỏ tới lớn, cho đến khi cả hai con ngươi xuất hiện Hệ thống sử dụng mạng thần kinh để ước lượng hướng nhìn của mắt người dùng Mỗi ảnh mắt có kích thước 20x10, 2 ảnh mắt có
400 tín hiệu đưa đến ngõ vào của mạng thần kinh Lớp ẩn của mạng có từ 40 đến 50
tế bào, lớp ra của mạng có 2x50 tế bào biểu diễn tọa độ điểm nhìn của người dùng trên màn hình Nhóm thực hiện đã thu thập 4 tập dữ liệu từ 4 người dùng khác nhau dùng hệ thống nhận dạng hướng nhìn và đã huấn luyện và kiểm tra bằng mạng thần kinh với nhiều cấu hình khác nhau Hệ thống nhận dạng hướng nhìn của mắt đã đạt được độ chính xác từ 1.3 đến 1.8 độ với chế độ một người dùng và 1.9 độ với chế
độ nhiều người dùng
a)
Hình 1.7 a) Phát hiện vùng mặt dựa vào màu da
b) Phát hiện mắt dùng phương pháp phân ngưỡng lặp c) Ảnh mắt có kích thước 20x10 được trích ra để huấn luyện mạng thần kinh
- Nhóm tác giả Michael Chau và Margrit Betke giới thiệu hệ thống giao tiếp máy (HCI) được thiết kế dùng cho những người khuyết tật, bị liệt hay mắc bệnh hiểm nghèo không thể cử động hay điều khiển các bộ phận như tay, chân; ngoại trừ cặp mắt Hệ thống [07] phát hiện trạng thái chớp mắt của người dùng, phân tích và
Trang 20người-sử dụng ảnh, khoảng thời gian chớp mắt để làm tín hiệu nhập vào máy tính, giống như thao tác click chuột Hệ thống khởi động sau khi ghi nhận sự kiện người dùng chớp mắt một đến hai lần, hệ thống theo dõi mắt trong thời gian thực bằng cách lấy mẫu liên tục và phân tích tương quan Nếu khoảng cách từ WebCam đến người dùng thay đổi nhiều hay đầu người dùng chuyển động nhanh, hệ thống tự tinh chỉnh lại Hệ thống không cần thêm nguồn sáng hoặc thu thập các mẫu mắt trước Hệ thống sử dụng camera USB phổ thông và hoạt động ở 30 fps Các thử nghiệm mở rộng cho phép xác định tính chính xác của hệ thống trong việc xác định chớp mắt cố
ý và vô ý, cũng như khả năng thích nghi của hệ thống trong các điều kiện môi trường không ổn định, chẳng hạn như thay thế camera khác hay các điều kiện ánh sáng khác nhau Thí nghiệm thực hiện trên tám đối tượng và phát hiện chính xác đến 95.3%
Hình 1.8 Phân tính chuyển động
(A) ảnh người dùng ở thời điểm f;
(B) ảnh người dùng ở thời điểm f+1, đang chớp mắt;
(C) Khác biệt giữa 2 thời điểm, nhiễu xuất hiện ở nền ảnh do điều kiện sáng và đặc
tính của máy quay;
(D) Ảnh khác biệt giữa 2 thời điểm sau khi xử lý bằng thuật toán Opening, được
dùng để xác định vị trí mắt
Trang 21- Hướng nhìn của mắt là một tín hiệu điều khiển có vai trò quan trọng trong các hệ thống giao tiếp người máy Trong lĩnh vực này, chuyển động của mắt được nghiên cứu nhiều nhất Nhóm tác giả Kyung-Nam Kim và R S Ramakrishna [08] giới thiệu hệ thống theo dõi hướng nhìn của mắt một cách thuận tiện, cho phép đầu có thể chuyển động nhẹ Một điểm nhỏ được dùng để tham chiếu bù chuyển động của đầu Tâm tròng đen được dùng làm thước đo chuyển động của mắt Điểm nhìn được
dự đoán sau khi biết được dữ liệu về chuyển động của mắt Hệ thống thử nghiệm được dùng như con trỏ trên màn hình
- Nhóm tác giả Zhiwei Zhu và Qiang Ji [09] giới thiệu hệ thống tương tác đồ họa trong thời gian thực dựa trên phương pháp theo dõi hướng nhìn của mắt Hệ thống hoạt động trong môi trường ánh sáng hồng ngoại Không như các phương pháp theo dõi hướng nhìn khác, thường yêu cầu giữ yên đầu trong khi sử dụng và các bước tinh chỉnh hệ thống cho từng người dùng, nhóm tác giả giới thiệu hệ thống theo dõi mắt có khả năng hoạt động xác định hướng nhìn chính xác mà không cần tinh chỉnh
và người dùng không cần giữ đầu cố định Hệ thống sử dụng cho phép ánh xạ các thông số của mắt sang hệ tọa độ màn hình ứng dụng Hệ thống đạt độ chính xác 5otheo chiều ngang và 8o theo chiều dọc
- A.Pérez và các đồng sự [10] đã xây dựng hệ thống theo dõi hướng nhìn của mắt trong thời gian thực, bằng cách xác định chính xác vị trí con ngươi mắt Camera quay theo dịch chuyển của đầu người dùng để giữ con ngươi ở vị trí trung tâm ảnh Khi có lỗi xảy ra trong quá trình theo dõi, ảnh nhận được từ camera sẽ được mở rộng tầm tìm kiếm để xác định lại vị trí của mắt, và quá trình theo dõi được tiếp tục tiến hành Bốn nguồn sáng hồng ngoại, đồng bộ với cửa trập của camera sẽ tạo ra các tia phản chiếu trên mắt Hình dạng đặc biệt của các tia phản chiếu được thiết kế tối ưu cho quá trình xử lý và xây dựng hệ thống theo dõi Các tia sáng này đã được khống chế về cường độ ở dưới mức độ nguy hiểm
Trang 22Hình 1.9 a) Sơ đồ hệ thống; b) Bốn vùng phản chiếu
1.2.2 Ứng dụng
- Nhóm tác giả Djoko Purwanto, Ronny Mardiyanto và Kohei Arai [11] xây dựng
mô hình xe lăn điện điều khiển bằng hướng nhìn của mắt và trạng thái chớp mắt Một camera được đặt trước mặt người dùng để thu nhận ảnh Hướng nhìn được xác định bằng tam giác tạo bởi tâm của hai mắt và chóp mũi Hướng nhìn được dùng để chỉ hướng cho xe di chuyển và trạng thái chớp mắt được dùng làm các lệnh điều khiển như khởi động, dừng và chạy lùi Một số thử nghiệm được tiến hành để đánh giá kết quả xác định hướng nhìn của hệ thống và khảo sát hoạt động của xe
Hình 1.10 a) Mô hình xe lăn điện điều khiển bằng hướng nhìn
b) Quan hệ giữa hình dạng tam giác và hướng nhìn
Trang 23- Nhóm tác giả Jin S Ju, Yunhee Shin và Eun Y Kim xây dựng mô hình xe lăn thông minh hỗ trợ việc di chuyển cho người khuyết tật [12] Hệ thống thị giác phân tích những cử chỉ của người sử dụng gồm ba giai đoạn: phát hiện, nhận dạng và chuyển đổi Trong quá trình phát hiện, vùng mặt của người sử dụng được trích xuất bằng thuật toán Adaboost, sau đó vùng miệng được phát hiện dựa trên thuật toán phát hiện cạnh Các đặc trưng trích ra được chuyển tới khâu nhận dạng, ở đây độ nghiêng của mặt và khẩu hình miệng được tính toán bằng cách sử dụng phân tích thống kê và thuật toán K-Means Kết quả nhận dạng được chuyển đến bộ chuyển đổi để điều khiển xe lăn Hướng di chuyển của xe được xác định bằng cách nghiêng đầu Lệnh chạy và dừng được xác định bằng khẩu hình miệng
Hình 1.11 a) Kết quả nhận dạng hướng nghiêng của đầu
b) mẫu khẩu hình miệng "Uhm" và mẫu khẩu hình miệng "Go"
- Rafael Barea và các đồng sự [13] giới thiệu phương pháp điều khiển bằng mắt dựa trên thiết bị gắn quanh mắt và ghi lại các tín hiệu điện khi mắt chuyển động
(electrooculography - EOG) Hệ thống được phát triển nhằm hỗ trợ việc di chuyển
cho người khuyết tật Một đặc điểm nổi bật là hệ thống được thiết kế dạng mô-đun, đáp ứng các yêu cầu cụ thể của nhiều đối tượng người dùng theo loại và mức độ thương tật mà họ chẳng may gặp phải Hệ thống gồm xe lăn điện tiêu chuẩn với máy tính tích hợp, các cảm biến và giao diện người dùng chạy trên máy tính Với hệ thống này, mắt có thể thao tác trên giao diện đồ họa như chuột vi tính Hệ thống có chức năng hoạch định quỹ đạo dựa trên EOG và điều khiển xe lăn di chuyển theo quỹ đạo mong muốn
Trang 24Hình 1.12 a) Vị trí đặt các tiếp điểm của EOG
b) Hệt thống điều khiển xe lăn điện bằng chuyển động của mắt dựa trên EOG
1.3 MỤC TIÊU ĐỀ TÀI
Quá trình tìm hiểu về vấn đề nghiên cứu và ứng dụng kỹ thuật xác định hướng nhìn của mắt ở trên cho thấy đây là lĩnh vực có nhiều ứng dụng thực tiễn và còn nhiều tiềm năng nghiên cứu
Đề tài nghiên cứu: “Nâng cao chất lượng xác định hướng nhìn ứng dụng điều khiển Robot di động” được thực hiện trên máy tính cá nhân và thiết bị thu nhận hình ảnh là WebCam Áp dụng kỹ thuật xác định hướng nhìn của mắt với thiết bị thu nhận hình ảnh đặt trước mặt người dùng nhằm tạo cảm giác thuận tiện khi sử dụng, hoạt động trên trong vùng quang phổ nhìn được bằng mắt
Hệ thống xác định hướng nhìn của mắt đòi hỏi phải có độ chính xác và độ tin cậy cao, có khả năng hoạt động thời gian thực và bền vững với những điều kiện chiếu sáng khác nhau
Mục tiêu quan trọng nhất và khó khăn nhất của đề tài là xây dựng được hệ thống xác định hướng nhìn từ ảnh thu được từ webCAM đặt phía trước, cách mặt của người sử dụng khoảng 50cm Sau khi phát hiện mặt và xác định vùng tìm kiếm mắt, ảnh mắt được trích ra có độ phân giải tương đối thấp Vì vậy, bài toán khó
Trang 25được đặt ra là thiết lập được giải thuật xác định hướng nhìn chính xác từ ảnh mắt có
độ phân giải thấp Để xác định được hướng nhìn, đề tài phải giải quyết các vấn đề
về thu thập và xây dựng tập ảnh huấn luyện trong nhiều điều kiện chiếu sáng khác nhau; tiến hành xây dựng không gian biểu diễn ảnh mới, ảnh mắt được biểu diễn với số chiều ít hơn, đồng nghĩa với việc tính toán được đơn giản hóa, phù hợp với năng lực tính toán của máy tính, hệ thống có khả năng đáp ứng trong thời gian thực Ngoài phương pháp xác định hướng nhìn dùng khoảng cách Euclid đơn giản, hệ thống còn sử dụng mạng thần kinh để huấn luyện, phân loại ảnh
Để đánh giá được khả năng ứng dụng của hệ thống xác định hướng nhìn của mắt đã xây dựng, hệ thống được nghiên cứu áp dụng thực nghiệm để điều khiển hướng di chuyển của Robot di động Robot này có khả năng di chuyển và chuyển hướng theo quỹ đạo được xác định bằng hướng nhìn của mắt người điều khiển
1.4 TÓM LƯỢC NỘI DUNG NGHIÊN CỨU
Đề tài được nghiên cứu theo các bước: nghiên cứu lý thuyết, xây dựng giải thuật, lập trình hệ thống, đánh giá hệ thống và áp dụng thực nghiệm để kiểm chứng
Đây là đề tài thuộc lĩnh vực thị giác máy tính, do đó lý thuyết cơ sở cần nghiên cứu là các phép toán và các giải thuật về xử lý ảnh số, xác định và trích đặc trưng ảnh Nội dung lý thuyết phục vụ chủ yếu cho đề tài là các phương pháp và giải thuật xác định hướng nhìn Tuy nhiên, do yêu cầu hệ thống phải hoạt động tốt trong những điều kiện sáng thay đổi nên đòi hỏi đề tài cần nghiên cứu thêm một số
lý thuyết về toán học thống kê và mạng thần kinh nhân tạo góp phần tăng tính bền vững của hệ thống trước các yếu tố bất định
Giải thuật xác định hướng nhìn của mắt từ ảnh người dùng qua WebCam, đòi hỏi phải thu thập dữ liệu huấn luyện trong các điều kiện chiếu sáng khác nhau, phân tích các đặc trưng và trích được những điểm đặc trưng của mắt, xây dựng không gian biểu diễn ảnh mới, thuận tiện và đáp ứng được yêu cầu thời gian thực của hệ thống Bên cạnh đó, hệ thống còn tích hợp thêm mạng thần kinh, giúp việc huấn luyện và xác định hướng nhìn
Trang 26Phần mềm ứng dụng của hệ thống được lập trình trên nền ngôn ngữ Visual C++ 2008 kết hợp với thư viện xử lý ảnh OpenCV phiên bản 2.3.1, chạy trên môi trường Windows và máy tính cá nhân Ứng dụng cho phép thu ảnh người dùng qua WebCam, chạy các giải thuật xác định hướng nhìn của mắt, giao tiếp và điều khiển thiết bị ngoại vi
Tương tự như quá trình thu thập dữ liệu huấn luyện, dữ liệu dùng để đánh giá
độ chính xác của hệ thống cũng được lấy từ các điều kiện sáng khác nhau Sau các khâu phân tách và xử lý, ảnh mặt và 2 mắt được lưu lại kèm theo các thông số để có thể kiểm tra và thống kê kết quả Độ chính xác của hệ thống được đánh giá dựa trên
tỉ lệ giữa số lượng ảnh mắt xác định đúng hướng nhìn và số lượng ảnh WebCam thu vào
Hoạt động của hệ thống được kiểm chứng dựa vào thực nghiệm trên mô hình Robot di động Ngoài thành phần thu nhận, phân tích và xác định hướng nhìn từ mắt người điều khiển, hệ thống ứng dụng còn có thêm phần lập trình giao thức điều khiển chuyển động của Robot
Trang 27CHƯƠNG II
CƠ SỞ LÝ THUYẾT
2.1 ẢNH SỐ
2.1.1 Khái niệm
Ảnh là mảng hai chiều của các con số Sắc thái màu hay mức xám được hiển
thị đối với mỗi phần tử ảnh (pixel) cho trước phụ thuộc vào giá trị được lưu trữ
trong mảng dành cho điểm ảnh đó Dạng dữ liệu ảnh đơn giản nhất là trắng và đen
Đó là một ảnh nhị phân vì mỗi điểm ảnh hoặc là 0 hoặc là 1
Tiếp theo, dạng dữ liệu ảnh phức tạp hơn là ảnh xám, trong đó mỗi điểm ảnh lấy một giá trị giữa 0 và một giá trị mức xám mà máy quét có thể ghi được Những ảnh này thường xuất hiện giống như các ảnh đen trắng – chúng bao gồm trắng, đen
và sắc xám Hầu hết ảnh xám hiện nay có 256 sắc xám Con người có thể phân biệt khoảng 40 sắc xám
Dạng ảnh phức tạp nhất là ảnh màu Ảnh màu tương tự như ảnh xám ngoại trừ việc chúng có ba dải kênh, tương ứng với các màu đỏ, xanh lá và xanh lam Do đó, mỗi điểm ảnh có ba giá trị tương ứng với chúng Một máy quét màu sử dụng các bộ lọc đỏ, xanh lá và xanh lam để tạo ra các giá trị này
Ảnh số thường có sẵn trên Internet, hoặc dùng máy quét và các camera số Các
ảnh trên Internet có thể tải xuống máy tính thường ở định dạng JPEG (Joint
Photographic Experts Group) Một số phần mềm có thể chuyển đổi sang định dạng
TIFF (Tagged Image File Format) hay BMP (Bitmap Picture)
Trang 282.1.2.1 Biểu diễn ảnh trong không gian
Ảnh biểu diễn trong không gian là một phân bố bức xạ trên một mặt phẳng
Về mặt toán học, sự phân bố này có thể được mô tả như một hàm liên tục của hai
biến không gian:
1, 2
E x x E x (2.1) Máy tính không thể biểu diễn các ảnh liên tục mà chỉ có thể xử lý trên các mảng số Do đó, cần thiết phải biểu diễn ảnh dưới dạng các mảng điểm hai chiều Một điểm trên lưới 2-D được gọi là pixel Một pixel biểu diễn sự bức xạ tại một vị trí tương ứng trên lưới Trong trường hợp đơn giản nhất, các pixel được định vị trên một lưới hình chữ nhật Vị trí của pixel được cho dưới dạng ký hiệu thông thường của ma trận Chỉ số thứ nhất, m ký hiệu vị trí của dòng, chỉ số thứ hai, n là vị trí của cột (H.2.2a) Nếu ảnh số chứa MxN pixel, tức là, nó được biểu diễn bởi một ma trận MxN, chỉ số n chạy từ 0 đến N-1, và chỉ số m chạy từ 0 đến M-1 M cho biết số
Trang 29dòng, N là số cột Tương ứng với ký hiệu ma trận, trục tung (trục y) chạy từ trên xuống dưới và trục hoành (trục x) chạy từ trái sang phải Mỗi pixel không chỉ biểu diễn một điểm trong ảnh mà còn là một vùng chữ nhật, một ô cơ bản của lưới
2.1.2.2 Không gian vector
Trong phần trên, ta đã thảo luận xung quanh phép biểu diễn không gian của các ảnh số Ta chưa đề cập đến vấn đề xem một ảnh như là từng pixel riêng biệt Bây giờ ta xét một ảnh với nhiều ảnh cơ sở trong đó mỗi ảnh cơ sở là một pixel có một giá trị của ảnh cơ sở trong khi tất cả các pixel còn lại bằng không Ta ký hiệu một ảnh cơ sở tại dòng m, cột n bởi
Trang 30, ,
,
1:
0
và otherwise
trong đĩ, gm,n biểu diễn giá trị mức xám tại vị trí (m, n)
Tích số của hai ảnh cơ sở bằng khơng nếu hai ảnh cơ sở khác nhau Tích vơ hướng của một ảnh cơ sở với chính nĩ là một Do đĩ, M x N ảnh cơ sở được chuyển đổi thành một khơng gian vector M x N trên tập các số thực Tương tự đối với các khơng gian vector hai chiều và ba chiều R2 và R3 đã được biết đến giúp ta biết được lợi ích của phép biểu diễn ảnh như thế nào Một ảnh M x N biểu diễn một điểm trong khơng gian vector M x N Nếu ta đổi hệ tọa độ, thì ảnh vẫn như cũ nhưng hệ tọa độ của nĩ thay đổi Cĩ nghĩa là ta cĩ thể quan sát cùng một mẫu thơng tin từ một gĩc nhìn khác Tĩm lại, ta cĩ thể rút ra hai kết luận quan trọng từ thực tế
cơ bản này Thứ nhất, tất cả các phép biểu diễn đều tương đương với nhau Mỗi cách đều cho một phép biểu diễn ảnh đầy đủ Thứ hai, các phép biến đổi hệ tọa độ thích hợp giúp ta chuyển đổi từ phép biểu diễn này sang phép biểu diễn khác và ngược lại
Trang 31điện tích Tất cả các tế bào trước tiên được xóa về 0, và sau đó chúng bắt đầu chuyển đổi tùy thuộc vào đáp ứng của chúng với năng lượng ánh sáng đập vào chúng Có thể hoặc không cần một màn trập Nền ảnh hoạt động như một bộ nhớ số
có thể được đọc từng dòng bởi một máy tính
Hình 2.3 Một camera CCD chụp ảnh một cái bình
Nếu một ảnh số dạng xám kích thước gồm 500 dòng và 500 cột, thì phải cần đến một mảng bộ nhớ ¼ triệu byte Đôi khi một camera CCD được gắn vào một board máy tính, bao gồm bộ nhớ cho ảnh và có thể điều khiển camera Những thiết
kế mới hiện nay cho phép truyền thông số trực tiếp (chẳng hạn, sử dụng chuẩn IEEE 1394) Ngày nay, các nhà sản xuất camera chuyên nghiệp đưa ra những camera số
có thể lưu trữ nhiều ảnh trên bộ nhớ bên trong camera; một số có một ổ đĩa dùng cho mục đích này Những ảnh này có thể được đưa vào máy tính xử lý bất kỳ lúc nào
2.1.3.2 Camera video
Các camera video tạo hình ảnh dùng cho người bằng cách ghi lại chuỗi ảnh ở tốc độ 30 ảnh/giây, cho phép biểu diễn chuyển động của đối tượng theo thời gian bằng cách thêm vào các đặc trưng không gian trong các ảnh hay khung đơn lẻ Để cung cấp độ mịn, sử dụng 60 bán khung/giây: các bán khung này là tất cả các dòng ảnh lẻ và các dòng ảnh chẵn trong chuỗi luân phiên Một tín hiệu âm thanh cũng được mã hóa
Trang 32Các camera video tạo hình ảnh dùng cho máy có thể ghi lại những ảnh ở một tốc độ thích hợp nào đó và không cần sử dụng kỹ thuật bán khung
Các khung của chuỗi video được tách ra bởi các bộ ghi và một số thủ thuật nén ảnh cũng được sử dụng để giảm lượng dữ liệu
2.1.3.3 WebCAM
WebCAM (web camera) là thiết bị ghi video được kết nối với máy tính hoặc
mạng máy tính, thường sử dụng một cổng USB, wi-fi, hoặc được tích hợp bên trong một số loại laptop WebCAM được biết đến vì chi phí sản xuất thấp và linh hoạt, đó
là một dạng điện thoại hình ảnh có chi phí thấp nhất
Hình 2.4 WebCAM Logitech C910
Các webCAM thường bao gồm một thấu kính, một cảm biến hình ảnh, và một
số mạch điện tử hỗ trợ Có nhiều loại thấu kính khác nhau, thường gặp nhất trong những webCAM loại thông thường là một thấu kính plastic có thể vặn vào và ra để đặt tiêu cự của camera Cũng có những thấu kính tiêu cự cố định, không điều chỉnh được Các cảm biến hình ảnh có thể là CMOS hay CCD
Phần lớn webCAM thông thường có khả năng cung cấp video độ phân giải VGA với tốc độ 30 khung/giây Nhiều thiết bị mới hơn có thể cung cấp video ở các
độ phân giải nhiều megapixel, và một số có thể chạy ở các tốc độ cao hơn Chẳng hạn, PlayStation Eye có thể tạo video 320x240 ở tốc độ 120 khung/giây
Những mạch điện tử hỗ trợ được dùng để đọc hình ảnh từ cảm biến và truyền
nó đến máy tính Thí dụ, webCAM (H.2.4) sử dụng chip SN9C101 của Sonix để truyền hình ảnh của nó qua USB
Trang 33Hình 2.5 Mạch điện hỗ trợ trong webcam
Nhóm thiết bị video USB cho phép kết nối giữa webCAM và máy tính không cần cài đặt driver Microsoft Windows XP SP2, Linux và Mac OS X có sẵn các driver này và không yêu cầu thêm driver, tuy nhiên chúng thường được cài đặt để
có được những tính năng bổ sung
2.2 ĐẶC TRƯNG HAAR-LIKE
2.2.1 Đặc trưng Haar-like
Đặc trưng Haar-like 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 [14] Có rất nhiều động lực thúc đẩy việc sử dụng các đặc trưng thay cho xử lý trực tiếp các điểm ảnh Một trong các lý do đó là khả năng diễn tả được tri thức về các đối tượng trong ảnh (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 Thêm vào đó hệ thống làm việc trên các đặc trưng nhanh hơn nhiều so với các hệ thống làm việc trên các điểm ảnh Các đặc trưng đơn giản này gợi nhớ tới các hàm Haar cơ bản được Papageorgiou và các đồng nghiệp sử dụng [15]
Đặc trưng 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 Thường sử dụng 3 loại đặc trưng:
Trang 34Hình 2.6 Trong hình A và B, giá trị của đặc trưng gồm 2 hình chữ nhật bằng
hiệu số giữa tổng các điểm ảnh thuộc hai vùng chữ nhật sáng và tối Trong hình C, giá trị của đặc trưng gồm 3 hình chữ nhật 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 D giá trị của đặc trưng gồm 4 hình chữ nhật bằng tổng các điểm ảnh nằm trong hai vùng hình chữ nhật tối trừ cho tổng các điểm ảnh nằm trong hai vùng chữ nhật sáng
Chú ý rằng ở bộ phát hiện có độ phân giải cơ sở 24x24, tập hợp các đặc trưng hình chữ nhật rất lớn, hơn 180.000
2.2.2 Phương pháp ảnh tích hợp
Trong quá trình huấn luyện, số lượng các đặc trưng Haar cần xử lý rất lớn, việc tính tổng các điểm ảnh cho bởi từng đặc trưng Haar làm cho thời gian xử lý tăng lên đáng kể Để khắc phục điều này, Viola và Jones đã đưa ra phương pháp
biểu diễn ảnh trung gian từ ảnh gốc, được gọi là ảnh tích hợp (Integral Image) để
tính toán nhanh các đặc trưng cơ bản
Trang 35Giá trị ở tọa độ (x,y) trong ảnh tích hợp là tổng của các điểm ảnh ở trên và bên trái điểm đó
Sử dụng các biểu thức hồi quy sau
, , 1 ,
s x y s x y i x y và (2.4)
, 1, ,
ii x y ii x y s x y (2.5) Với s x y là tổng lũy tích của các hàng, , s x , 10 và ii1,y0
Từ 2 biểu thức hồi quy ta có: ii x y , ii x 1,ys x y , 1i x y ,
Hình 2.7 Mô hình ảnh tích hợp
Nhờ sử dụng ảnh tích hợp, tổng của một hình chữ nhật có thể được tính bằng 4 mảng tham chiếu
Trang 36Hình 2.8 Tổng của các điểm ảnh trong hình chữ nhật D được tính với 4 mảng tham
chiếu Giá trị ảnh tích hợp ở vị trí 1 là tổng của các điểm ảnh trong hình chữ nhật
A Giá trị ở vị trí 2 là A+B, ở vị trí 3 là A+C và ở vị trí 4 là A+B+C+D Tổng các điểm ảnh trong D được tính theo biểu thức sau: 4+1-(2+3)
Dễ dàng nhận thấy sai khác giữa tổng các điểm ảnh của 2 hình chữ nhật được tính bằng 8 mảng tham chiếu
Vì các đặc trưng gồm 2 hình chữ nhật định nghĩa ở trên gồm tổng của 2 vùng hình chữ nhật kề nhau nên có thể tính bằng 6 mảng tham chiếu
LienHart [16] kế thừa và giới thiệu phương pháp RSAT (Rotated Summed
Area Table) để tính toán nhanh các đặc trưng xoay một góc 45o
Trang 37Hình 2.9 Tính các đặc trưng xoay trong phương pháp RSAT
Trang 382.3 THUẬT TOÁN ADABOOST
2.3.1 Phương pháp Boosting
Là kỹ thuật dùng để tăng độ chính xác cho các thuật toán học (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 (weak classifier) thành một bộ phân loại mạnh (strong classifier) 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 thu được một bộ phân loại mạnh từ các bộ phân loại đơn giản
Ví dụ:
Xét một bài toán phân loại hai lớp (mẫu cần nhận dạng sẽ được phân vào 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 n1 mẫu từ tập D (n1 < n) để 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 nữa còn lại bị phân loại sai bởi C1 Bây giờ chúng ta sẽ huấn luyện C2 bởi 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 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 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: từ sự kết hợp của 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ự kết hợp của ba bộ C1, C2 và C3:
• Nếu 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ả
• Ngược lại nếu C1 và C2 phân X vào hai lớp khác nhau, C3 sẽ quyết định X thuộc về lớp nào
Trang 39Hình 2.10 Phân loại Boosting
2.3.2 Thuật toán AdaBoost
Adaboost (Adaptive Boost) là một phương pháp tiếp cận boosting được Freund
và Schapire đưa ra vào năm 1995 [17] 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
Adaboost là một cải tiến của tiếp cận boosting, 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 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ó làm chưa 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
Trang 40Paul Viola và Michael Jones [14] giới thiệu một biến thể của phương pháp Adaboost được dùng để chọn một tập nhỏ các đặc trưng và huấn luyện bộ phân loại Phải nói thêm rằng 180.000 đặc trưng hình chữ nhật gắn với mỗi cửa sổ ảnh nhỏ, một con số vượt xa số điểm ảnh Mặc dù các đặc trưng được tính rất nhanh, việc xử lý toàn bộ tập thì quá nặng nề Giả thiết của nhóm tác giả, được minh chứng trong thực nghiệm, cho thấy một số lượng nhỏ các đặc trưng có thể kết hợp để tạo thành bộ phân loại hiệu quả Vấn đề đặt ra là tìm được các đặc trưng này
Theo ý tưởng này, thuật toán học đơn giản (weak learning algorithm) được
thiết kế để chọn một đặc trưng hình chữ nhật phân loại được các mẫu đối tượng và không là đối tượng Với mỗi đặc trưng, thuật toán học đơn giản xác định hàm phân
loại tối ưu theo ngưỡng (optimal threshold classification function) sao cho số mẫu
bị phân loại sai ít nhất Do đó một bộ phân loại đơn giản hj(x) bao gồm một đặc trưng fj, một ngưỡng j và một cờ chẵn lẻ pj cho biết hướng của dấu bất đẳng thức
(directon of the inequality sign):
Bảng 2.1 Thuật toán Adaboost huấn luyện bộ phân loại
(Với x là cửa sổ nhỏ 24x24 của ảnh)
Cho tập ảnh n mẫu (để huấn luyện) x y1, 1 x y n, n với y nếu ảnh không là i 0đối tượng, y nếu ảnh là đối tượng i 0
Khởi tạo các trọng số 1,
1, 02
1, 12
i i
i
y m y l