Hệ thống có thể tự động nhận dạng mặt người trong một dòng video thực bằng phương pháp tăng cường thích nghi Adaboost và tiếp tục nhận dạng những cảm xúc của mặt người bằng phương pháp e
Trang 1TRẦN MẠNH SƠN
NHẬN DẠNG CẢM XÚC MẶT NGƯỜI THEO
THỜI GIAN THỰC
Chuyên ngành: TỰ ĐỘNG HOÁ
LUẬN VĂN THẠC SĨ
Trang 2ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
Cán bộ hướng dẫn khoa học: GVC TS NGUYỄN ĐỨC THÀNH
Cán bộ chấm nhận xét 1:
Cán bộ chấm nhận xét 2:
Luận văn thạc sĩ được bảo vệ TẠI HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN
THẠC SĨ
TRƯỜNG ĐẠI HỌC BÁCH KHOA, Ngày … tháng … năm 2009
Trang 3Họ và tên học viên: TRẦN MẠNH SƠN Phái: Nam
Ngày tháng năm sinh: 12/09/1982 Nơi sinh: THANH HÓA Chuyên ngành: TỰ ĐỘNG HOÁ Mã số: 605260
I TÊN ĐỀ TÀI:
NHẬN DẠNG CẢM XÚC MẶT NGƯỜI THEO THỜI GIAN THỰC
II NHIỆM VỤ:
- Viết chương trình Nhận dạng cảm xúc mặt người
III NGÀY GIAO NHIỆM VỤ: ngày 21 tháng 01 năm 2009
IV NGÀY HOÀN THÀNH NHIỆM VỤ: ngày 28 tháng 11 năm 2009
V GIÁO VIÊN HƯỚNG DẪN: GVC.TS NGUYỄN ĐỨC THÀNH
Nội dung và đề cương Luận văn Thạc sĩ đã được Hội Đồng Chuyên Ngành thông qua
Ngày tháng năm 2009
CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MƠN KHOA QL CHUYÊN NGÀNH
(Họ tên và chữ ký) QUẢN LÝ CHUYÊN NGÀNH (Họ tên và chữ ký)
(Họ tên và chữ ký)
Trang 4LỜI CẢM ƠN
Trong quá trình thực hiện đề tài luận văn, tôi đã gặp rất nhiều khó khăn, và
đã phải cố gắng nỗ lực rất nhiều để hoàn thành được luận văn Thạc sĩ này Tuy
nhiên, tôi đã không thể hoàn thành được luận văn này nếu không có sự quan
tâm, giúp đỡ của gia đình, thầy cô, bạn bè đồng nghiệp
Đạt được kết quả như ngày hôm nay, tôi xin được gởi lời cảm ơn chân thành
đến Thầy GVC.TS Nguyễn Đức Thành, đã hướng dẫn tôi thực hiện đề tài luận
văn này; 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.Hồ Chí Minh, mọi người trong gia đình, bạn bè,
đồng nghiệp đã giúp đỡ tôi trong quá trình hoàn thành luận văn
Ngồi ra, học viên cũng xin gởi lời cảm ơn đến tất cả những thầy cơ đã trực tiếp
giảng dạy trong suốt khĩa học, những người bạn đã quan tâm, động viên và chia sẻ
kiến thức cũng như kinh nghiệm chuyên ngành trong quá trình học tập và rèn luyện
vừa qua của học viên
Học viên thực hiện Trần Mạnh Sơn
Trang 5ta tạo cho robot một Hệ Thống Tự Động Nhận Biết Cảm Xúc Mặt Người Hệ
thống có thể tự động nhận dạng mặt người trong một dòng video thực bằng
phương pháp tăng cường thích nghi (Adaboost) và tiếp tục nhận dạng những cảm
xúc của mặt người bằng phương pháp eigenface, dựa trên các đặc trưng vị trí
hình học như lông mày, độ mở của miệng
Luận văn gồm có sáu chương với nội dung như sau:
Chương 1: Giới Thiệu Giới thiệu sơ lược về các công trình liên quan trong
lĩnh vực mà đề tài nghiên cứu cũng như mục tiêu cần đạt được
Chương 2: Cơ Sở Lý Thuyết Về Thuật toán nhận dạng Trình bày lần lượt các
cơ sở lý thuyết ứng dụng để thực hiện đề tài
Chương 3: Xây Dựng Hệ Thống Nhận Dạng bằng Microsoft Visual C++ 6.0
Trình bày các thuật toán nhận dạng của chương trình nhận dạng cảm xúc mặt
người
Chương 4: Chương Trình & Kết Quả Giới thiệu chương trình “Nhận dạng
cảm xúc” và các kết quả nhận dạng sẽ được trình bày và đánh giá
Chương 5: Kết Luận & Hướng Phát Triển Kết luận lại ý nghĩa của đề tài và
nêu ra hướng mở rộng của luận văn
Trang 6MỤC LỤC
I ĐẶT VẤN ĐỀ: 5
II NHỮNG CÔNG TRÌNH NGHIÊN CỨU LIÊN QUAN: 6
1 CÁC CÔNG TRÌNH NGHIÊN CỨU TRONG NƯỚC: 6
1.1 Luận văn: “Các phương pháp nhận dạng mặt người” : 6
1.2 Nhận dạng mặt người dùng gabor wavelets: 7
2 CÁC CÔNG TRÌNH NGHIÊN CỨU Ở NƯỚC NGOÀI: 8
2.1 Mạng neural nhận dạng mặt người 8
2.2 Hệ thống chuyên gia cho phân tích tự động cảm xúc: 9
2.3 Hệ thống trích đặc trưng cảm xúc tự động: 9
2.4 Hệ thống nhận diện cảm xúc dựa trên fed (facial expression dictionary): 10
2.5 Hệ thống mã hoá cảm xúc (facial action coding system-facs) 11
2.6 Hệ thống tự động nhận dạng cảm xúc (eigenexpressions for Facial Expression): 12
III NHẬN DẠNG CẢM XÚC MẶT NGƯỜI - CÁC CÔNG TRÌNH ĐÃ NGHIÊN CỨU 13
IV: MỤC TIÊU CỦA LUẬN VĂN 15
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ THUẬT TOÁN NHẬN DẠNG 16
1 LÝ THUYẾT VỀ ẢNH SỐ: 16
1.1 Khái niệm: 16
1.2 Khái niệm về phần tử ảnh : 18
1.3 Cấu trúc một file ảnh : 18
1.4 Ảnh xám : 19
1.5 Ảnh trắng đen hay ảnh nhị phân : 19
1.6 Ảnh màu và mô hình màu RGB : 19
1.7 Hệ toạ độ pixel mặt người : 21
1.8 Mục đích của việc xử lý ảnh số: 21
2 CÁC PHƯƠNG PHÁP PHÁT HIỆN (DỊ TÌM) HÌNH ẢNH MẶT NGƯỜI: 22
2.1 Phát hiện dựa trên ảnh: 23
2.2 Phát hiện dựa trên dạng hình học: 24
2.3 Phương pháp đặc trưng Haar-like và tăng tốc thích nghi nhanh AdaBoost 25
3 TRÍCH ĐẶT TRƯNG BẰNG PHƯƠNG PHÁP EIGENFACES PCA: 34 3.1 Phương pháp Eigenfaces PCA; 34
3.2 Xây dựng Eigenfaces với PCA: 37
3.3 Biến đổi ảnh mặt thành vector: 38
Trang 74.2 Tế bào thần kinh và mạng thần kinh nhân tạo: 49
4.3 Mạng truyền thẳng một lớp (mạng perceptron đơn giản): 53
4.4 Mạng perceptron nhiều lớp và thuật tốn lan truyền ngược: 61
CHƯƠNG 5: CHƯƠNG TRÌNH & KẾT QUẢ 70
I GIỚI THIỆU CHƯƠNG TRÌNH 70
1 Xây dựng giao diện chương trình: 70
II CHƯƠNG TRÌNH C++: 71
III KẾT QUẢ CHƯƠNG TRÌNH 74
1 Kết quả nhận dạng với Webcam: 74
2 Kết quả nhận dạng với ảnh từ file: 88
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 88
I KẾT LUẬN: 103
II HẠN CHẾ CHƯƠNG TRÌNH: 103
III HƯỚNG PHÁT TRIỂN: 103
TÀI LIỆU THAM KHẢO 105
LÝ LỊCH TRÍCH NGANG 108
Trang 8CHƯƠNG 1: GIỚI THIỆU
I ĐẶT VẤN ĐỀ
Trong quá khứ, chúng ta thường nghĩ robot chỉ là một cái máy, được lập trình
và hoạt động cứng nhắc theo chương trình sẵn có, chỉ giao tiếp được với con
người qua bàn phím, chuột, màn hình Tuy nhiên, ngày nay, với sức mạnh của
các bộ vi xử lý ngày càng được cải thiện, đã cho phép robot giao tiếp với con
người theo một cách mới, đó là hình ảnh (thị giác) và âm thanh Có thể, trong
một tương lai xa, robot có thể “nhìn thấy” con người xung quanh nó và giao tiếp
lại một cách rất “người” như thể hiện cảm xúc, điệu bộ, ….vv Vì thế, nhiều dự
án ở nước ngoài đã được nghiên cứu nhằm điều khiển robot có tính cách người
hơn (humanoid robot), nghĩa là robot có thể hiểu được cảm xúc và cử chỉ của
con người Để thực hiện ý tưởng đó, đòi hỏi chúng ta tạo cho Robot một Hệ
Thống Tự Động Nhận Biết Cảm Xúc Mặt Người Hệ thống có thể tự động
nhận dạng mặt người trong một dòng video thực và tiếp tục nhận dạng những
cảm xúc của mặt người trong thời gian thực Nói cách khác, hệ thống tự động
kiểm tra mặt người và nhận dạng ra các cảm xúc mặt người: vui mừng (Joy),
buồn (sadness), bất ngờ (suprise), giận dữ (angry), sợ sệt (fear), bình thường
(neural),…v.v [11]
Hình 1 Các cảm xúc trên gương mặt người:
1.Sợ sệt, 2.Vui mừng, 3.Bất ngờ, 4.Buồn rầu, 5.Giận dữ
Trang 9Phần này sẽ trình bày các bài báo và luận văn mà tác giả đã tham khảo, để có
được một cái nhìn tổng quan về các công trình nghiên cứu liên quan trong nước
và nước ngoài trong lĩnh vực nhận dạng mặt người và cảm xúc của gương mặt
1 CÁC CÔNG TRÌNH NGHIÊN CỨU TRONG NƯỚC:
1.1 Luận văn: “Các phương pháp nhận dạng mặt người” :
Theo [2], tác giả giới thiệu phương pháp nhận dạng mặt người truyền thống:
Nhận Dạng Mặt Người Dùng Mạng Neural Bằng Biến Đổi DCT (Discrete
Cosine Transform)
DCT, một kỹ thuật nén ảnh được sử dụng rộng rãi, cho phép hiện diện tất cả
các thành phần quan trọng nhất của khuôn mặt (tóc, mắt, miệng, mũi) với một
số lượng nhỏ thành phần tần số thấp Sau khi DCT được áp dụng cho một hình
ảnh, các hệ số được lựa chọn được đưa đến một mạng nơron nhân tạo nhiều lớp
(ANN) Bởi vì chỉ dùng một lượng nhỏ các hệ số nên tốc độ huấn luyện và nhận
dạng sẽ rất cao
Tác giả dùøng cơ sở dữ liệu ảnh gồm 400 ảnh khác nhau, cho 40 người khác
nhau, kích thước mỗi ảnh là 112-92 pixel mặt người, với 256 mức xám cho mỗi
pixel mặt người
Trang 10ảnh Kết quả
nhận dạng
Nhận dạng mặt
Phát hiện đặc trưng
trên cơ sở dữ liệu ảnh có sẵn (ảnh gray, kích thước 112x92), là các ảnh tĩnh chưa
tập trung vào nhận dạng mặt người theo thời gian thực, ví dụ: ảnh động từ video
hay webcam, vì phương pháp nhận dạng tốc độ còn chậm
1.2 Nhận dạng mặt người dùng gabor wavelets:
Theo [3], tác giả đề cập phương pháp gabor wavelets được sử dụng để xây
dựng các vector đặc trưng vì nó có khả năng miêu tả tốt cách xử lý của các lĩnh
vực dễ tiếp thu trong hệ thống trực quan của con người Phương pháp chọn các
đỉnh (các điểm năng lượng cao) của đáp ứng Gabor làm điểm đặc trưng
Trang 11Hình 3 Sơ Đồ Trích Đặc Trưng Bằng Gabor Wavelets Nhận mặt ngườiùt: Luận văn này cũng giống luận văn trên, chỉ nhận dạng mặt
người trên một cơ sở ảnh sẵn có và là ảnh tĩnh nên chỉ chủ yếu áp dụng cho các
ngành an ninh, …vv , khó có thể áp dụng cho giao tiếp giữa người và robot Vì
Robot cần nhận dạng mặt người để làm một việc cụ thể hơn, ví dụ: nhận dạng
cảm xúc của gương mặt đó trong hình ảnh động (camera, webcam) để xử lý điều
chỉnh các hoạt động của mình
Biến đổi Gabor wavelets
Tìm điểm đặc trưng
Các vector đặc trưng
Ma trận đặc trưng Mi
2 CÁC CÔNG TRÌNH NGHIÊN CỨU Ở NƯỚC NGOÀI:
2.1 Mạng neural nhận dạng mặt người:
Trong [10], các tác giả trình bày phương pháp để nhận dạng mặt người bằng
Trang 12Hình 4 Thuật toán neural nhận dạng mặt người Hệ thống hoạt động theo 2 giai đoạn Thành phần đầu tiên là neural network-
based filter nhận vùng ảnh 20x20 pimặt ngườil Đầu ra là khẳng định hay không
khẳng định cho sự hiện diện hay sự không hiện diện gương mặt trong cửa sổ phụ
(sub-window) Để kiểm tra các gương mặt lớn hơn cửa sổ, thì hình ảnh sẽ được
thu nhỏ lại Trước khi 20x20 pimặt ngườis vượt qua mạng nơron, nó được chỉnh
độ sáng và cân bằng histogram
2.2 Hệ thống chuyên gia cho phân tích tự động cảm xúc:
Trong [5], Rothkrantz đang làm việc để phát triển một hệ thống tự động cho
việc phân tích các giao tiếp không lời Kết quả nghiên cứu là một hệ thống nhận
dạng cảm xúc (ISFER) Sự khác biệt với các hệ thống nhận dạng cảm xúc khác
là người ta thường dùng một kỹ thuật xử lý ảnh đơn lẻ thì ở đây tác giả dùng một
biện pháp ghép nối các phương pháp được áp dụng Thay vì tìm cách cải tiến
các phương pháp nhận dạng cảm xúc, tác giả đã ghép nối các kỹ thuật này chạy
song song Tuy nhiên hệ thống này chỉ làm việc với ảnh tĩnh Mô hình gương
mặt là một mô hình 2D
2.3 Hệ thống trích đặc trưng cảm xúc tự động:
Trang 13Hình 5 Mô Hình Mặt Người Của Kobayashi Và Hara Từ mô hình trên, tác giả giả sử một gương mặt với 29 điểm mô tả cảm xúc Sự
chuyển động của các đặc điểm sẽ chỉ ra cảm xúc của gương mặt Những điểm
này được dùng cho việc nhận dạng cảm xúc
2.4 Hệ thống nhận diện cảm xúc dựa trên fed (facial expression dictionary):
Trong [7], Edwin Jde Jongh đã tạo ra Hệ thống FED - một từ điển online cảm
xúc gương mặt, có giao diện như sau:
Trang 14Hình 6 Giao Diện Của FED (Facial Expression Dictionary)
FED hoạt động như sau: người dùng phải định bằng tay vị trí gương mặt và
các điểm mô tả cảm xúc (FCPs) của mô hình Haar face Sau khi chọn bằng tay
và đồng ý với các điểm này thì hệ thống sẽ cho ra nhận dạng cảm xúc của người
đó
Nhận mặt ngườiùt: Từ nguyên tắc hoạt động trên, ta thấy FED có khuyết điểm là
(không tự động nhận dạng cảm xúc, cũng như chỉ xử lý với ảnh tĩnh
2.5 Hệ thống mã hoá cảm xúc (facial action coding system-facs)
Theo [8], Ekman đã phát triển hệ thống mă cho các cảm xúc của gương mặt với
sự chuyển động của gương mặt FACIAL ACTION CODING SYSTEM (FACS)
được mô tả bằng đơn vị action units (AU) Mỗi AU liên quan đến một nhóm cơ
mặt
Cơ bản, FACS chia gương mặt ra vùng cảm xúc trên và vùng cảm xúc dưới
Trang 15Hình 7 Hệ Thống Mã Hoá Cảm Xúc (FACS)
2.6 Hệ thống tự động nhận dạng cảm xúc (eigenexpressions for Facial
Expression):
Trong [9], tác giả Luigi đã giới thiệu một chương trình Matlab Nhận Dạng
Cảm Xúc Dùng Mạng Neural để làm bộ phân loại và nguyên tắc PCA để trích
đặc trưng
Chương trình này chỉ nhận dạng cảm xúc trên các gương mặt tĩnh do các
phương pháp lấy đặc trưng còn nhiều hạn chế
Trang 16Hình 8 Chương trình Matlab Nhận Dạng Cảm Xúc Dùng Mạng Neural
III NHẬN DẠNG CẢM XÚC MẶT NGƯỜI CÁC CÔNG TRÌNH ĐÃ
NGHIÊN CỨU
Từ những tìm hiểu trên, tác giả nhận thấy
1/ Trong nước:
Các đề tài nghiên cứu trong nước, chủ yếu là nhận dạng mặt người bằng các
phương pháp khác nhau, chưa thấy các tác giả hướng đến việc phân tích cảm
xúc trên gương mặt người đã nhận dạng được.Vì thế, đề tài nghiên cứu nhận
dạng cảm xúc mặt người là một hướng nghiên cứu mới và sâu hơn trong nhận
dạng mặt người
2/ Ngoài nước:
Các đề tài nghiên cứu ở nước ngoài, các tác giả đã và đang phát triển những
hệ thống tự động nhận dạng cảm xúc mặt người khác nhau bằng các phương
pháp mới và hiệu quả như: Adaboost, HMMs, TAN, NB, Neutral, Facts ,…v.v
Trang 17page mà chúng ta có thể tham khảo, là nơi để trao đổi giữa các phòng thí
nghiệm về các kết quả đạt được
http//www.kasrl.org/facial_expression.html
Ngoài ra, theo ý kiến riêng của tác giả, các phòng thí nghiệm đa số chỉ báo
cáo kết quả đạt được và trình bày sơ lược về các thuật toán, thiếu nhiều thông
tin hướng dẫn thực hiện báo cáo, cũng như các chương trình demo trình chiếu
Điều này đã gây ra rất nhiều khó khăn cho những ai mới tham gia vào hướng
nghiên cứu này như: tốn nhiều thời gian để nghiên cứu và xây dựng lại chương
trình và thí nghiệm, v.v
Kế tiếp, các chương trình này đa phần là xây dựng cho các ứng dụng an ninh,
chống khủng bố, ví dụ: các chương trình được xây dựng trên cơ sở: một camera
được đặt cố định trong nhà hay siêu thị, v.v với các điều kiện tốt về ánh sáng,
mặt người khả nghi nhận dạng được sẽ được phân tích cảm xúc và so với một
database mặt người để nhằm phát hiện tên, tuổi và dự đoán các hành động của
người đó Hướng ứng dụng này hơi khác với hướng ứng dụng cho robot Vì môi
trường hoạt động của robot có thể là ngoài trời và di chuyển nên cần một chương
trình đơn giản, xử lý nhanh và cho kết quả tương đối nếu các điều kiện về ánh
sáng thay đổi
Trang 18IV. MỤC TIÊU CỦA LUẬN VĂN
Từ mục tiêu điều khiển robot có thể hiểu và giao tiếp với con người trong
thời gian thực và xác định ứng nhiều trong an ninh phát hiện tội phạm, hỏi cung
tội phạm, mà cụ thể là việc nhận dạng cảm xúc trên gương mặt người, đề tài sẽ
tập trung nghiên cứu Hệ Thống Tự Động Nhận Dạng Cảm Xúc Mặt Người
Trong Thời Gian Thực và Nhận Dạng Ảnh Tĩnh theo sơ đồ sau:
Webcam
Nhận dạng mặt người Nhận dạng cảm xúc Hiển thị kết quả Ảnh từ
file
Hình 9 Hệ thống nhận dạng cảm xúc tự động theo thời gian thực
Vì thế nhiệm vụ của luận văn được xác định như sau:
- Thu nhận hình ảnh động từ webcam hoặc ảnh từ file
- Cộng ảnh mặt vào cơ sở dữ liệu
- Nhận dạng những cảm xúc cơ bản của mặt người : vui, buồn, bất ngờ,
bình thường, v.v
- Vẽ một gương mặt robot để thể hiện robot hiểu ra sao các cảm xúc cơ bản
của gương mặt nhận dạng
Trang 19Khái niệm về ảnh số xuất hiện từ năm 1964 Chẳng bao lâu, một nhánh
mới của khoa học gọi là xử lý ảnh số ra đời Kể từ đó, liên tục phát triển và tạo
ra các kỹ thuật quan trọng ảnh hưởng trực tiếp đến các lĩnh vực truyền thông,
tivi, kỹ xảo đồ hoạ ,
Xử lý ảnh là một trong các vấn đề ngày nay được thế giới quan tâm, nghiên
cứu và ứng dụng Ở Việt Nam, vấn đề xử lý ảnh cũng được quan tâm và nghiên
cứu trong thời gian gần đây
Cùng với sự phát triển mạnh mẽ của máy tính số, xử lý ảnh số với sự hỗ trợ
của máy tính cũng được phát triển và có nhiều ứng dụng Các ứng dụng cụ thể
như: Trong lĩnh vực truyền hình, cũng như việc lấy hình ảnh từ vệ tinh về trái đất
thì ảnh có thể giảm chất lượng do tác động của nhiễu từ môi trường hay nhiễu
trong các thiết bị xuất nhập Trong đo đạc bản đồ phục vụ cho việc xây dựng các
bản đồ, trong quá trình chụp ảnh đôi khi bản đồ bị mờ, nhoè hoặc bị nhiễu do
điều kiện khách quan của môi trường chụp Do đó việc xử lý khôi phục lại ảnh
gốc là rất quan trọng
Vấn đề xử lý hình ảnh bằng kỹ thuật số đã được quan tâm, có thể tóm tắt
các hướng nghiên cứu chính trong xử lý hình ảnh bằng phương pháp số như sau :
Trang 20- Khôi phục ảnh, làm nổi bật các đặc trưng lọc, biến đổi, tạo lại hình ảnh
(restoration , filtering , enhancement , transforms , reconstruction)
- Nhận dạng hình ảnh (pictorial pattern recognition)
- Các đặc trưng phân đoạn , phân tích ảnh (feature detection , segmentation
image analysis)
- Ghép (matching) và biến đổi thời gian (time varying imaging)
- Tạo dạng và mẫu (shape, pattern)
Hình ảnh của một đối tượng là sự sao chụp lại đối tượng đó Qua hình ảnh
mắt ta cảm thụ hình ảnh một cách gián tiếp Ảnh được hình thành qua hệ thống
ảnh Trong thực tế ảnh sao chụp không phải là lý tưởng, ảnh bị méo, sai lệch với
nhiều mức độ khác nhau, vì vậy việc xử lý khôi phục hình ảnh là nhằm khôi
phục lại ảnh nguyên gốc theo một tiêu chuẩn nào đó
Khôi phục là quá trình so sánh một hình ảnh nào đó với một tập các hình
ảnh chuẩn Khôi phục các hình ảnh giảm chất lượng (do chụp và ghi nhận trong
điều kiện không thuận lợi hoặc do lưu trữ lâu ngày) bằng phương pháp số cho
hiệu quả cao và nhanh (trong nhiều trường hợp không thể giải quyết bằng
phương pháp tương tự )
Hình ảnh được phân vào hai loại :
- Hình ảnh tĩnh (static image)
- Hình ảnh động (dynamic image)
Hình ảnh được biểu diễn theo nhiều chiều (hai hoặc ba chiều) Tất nhiên
hình ảnh nhiều chiều sẽ phức tạp hơn hình ảnh một chiều khi biểu diễn và xử lý
Xử lý hình ảnh là thực hiện các phép toán lên các tín hiệu số của hình ảnh
Khối lượng thông tin trong một bức ảnh là rất lớn (đến vài trăm mêga bít/ảnh)
Trang 21Ảnh trong thực tế liên tục về không gian và độ sáng, để ảnh có thể xử lý
bằng máy tính ta cần thiết phải số hoá ảnh Quá trình này, người ta biến đổi tín
hiệu tương tự thành tín hiệu rời rạc thông qua quá trình lấy mẫu (rời rạc về
không gian) và lượng thành phần giá trị mà về mặt nguyên tắc bằng mắt thường
không phân biệt được hai điểm liền kề nhau Quá trình này người ta sử dụng
khái niệm phần tử ảnh mà ta thường gọi là pimặt ngườil, nó là phần tử nhỏ nhất
của ảnh Như vậy, một ảnh là một tập hợp các pimặt ngườil
Một ảnh số là một mảng các điểm ảnh được số hoá và đưa vào bộ nhớ của
máy tính Một số nhị phân chứa trong mỗi điểm ảnh thể hiện cường độ hay bước
sóng ánh sáng trong ảnh
Độ phân giải của một ảnh là khu vực của mỗi điểm ảnh, thông thường nó là
số điểm ảnh trên mỗi hàng của ảnh, nó là một hàm của khoảng cách từ camera
đến khung nhìn, chiều dài hội tụ của thấu kính và số điểm ảnh mỗi hàng của
ảnh Như màn hình máy tính có nhiều loại với độ phân giải khác nhau: màn hình
CGA có độ phân giải 320x200, màn hình VGA là 640x350
1.3 Cấu trúc một file ảnh :
Tổng quát, một file ảnh là một tập hợp nhiều điểm ảnh, mỗi điểm ảnh
Trang 22Hình 10 Mảng hai chiều của một file ảnh
1.4 Ảnh xám :
Y
Với ảnh này, mỗi pimặt ngườil được xác định bằng cặp toạ độ (x,y) Vậy
toàn bộ ảnh là mảng 2 chiều mà giá trị của mỗi phần tử mảng chính là giá trị
mức xám từ 0 đến 255
1.5 Ảnh trắng đen hay ảnh nhị phân :
Aûnh trắng đen cũng tương tự như ảnh xám, chỉ khác ở chỗ ảnh trắng đen chỉ
có hai mức xám là 0 (trắng) và 1 (đen)
Màu của một pimặt ngườil được xây dựng trên nhiều mô hình: RGB, HSV
1.6 Ảnh màu và mô hình màu RGB :
Màu của một pimặt ngườil được xây dựng trên nhiều mô hình: RGB, HSV
Ánh sáng trắng được hình thành từ bảy màu khác nhau: đỏ, cam, vàng, lục,
lam, chàm, tím Các màu này tạo nên một dãy màu liên tục mà ta không thấy
được ranh giới giữa chúng Nhưng mặt ngườiùt về cấu tạo của mắt và việc nhìn thì
tất cả các màu đều được liên kết bởi các màu cơ bản sau:
¾ Red :λ(R) = 700nm
Trang 23
Hình 11 Mô hình màu RGB Các màu R,G,B nằm ở đỉnh của khối lập phương Màu lam-lục, đỏ-lam,
vàng nằm ở ba đỉnh bên kia của khối lập phương Màu đen nằm ở gốc toạ độ
Màu trắng nằm ở đỉnh xa gốc toạ độ nhất Thang mức xám kéo dài từ đen đến
trắng(đường nối gốc toạ độ và đỉnh màu trắng)
Mỗi màu cơ bản được mã hoá bởi 8bit, vậy với ba màu phối hợp nhau tạo
thành 255x255x2255=16.581.375 màu thứ cấp mà mắt người có thể cảm nhận
được Thường ta giả thiết là tất cả các giá trị màu được chuẩn hoá (khối hình lập
phương là hình khối đơn vị) Tất cả các giá trị màu R,G,B nằm trong đoạn [0 1]
Trang 241.7 Hệ toạ độ pixel mặt người :
Thông thường để thuận tiện trong việc định vị trong ảnh, người ta sử dụng
hệ toạ độ pimặt ngườil Trong hệ toạ độ này ảnh được mặt ngườim như một lưới
các phần tử Số cột tăng dần từ trái qua phải và số hàng tăng dần từ trên xuống
dưới Đơn vị của toạ độ là các số nguyên, các toạ độ lẻ là không có ý nghĩa
trong hệ toạ độ này
Hình 12 Hệ toạ độ pimặt ngườil
1.8 Mục đích của việc xử lý ảnh số:
Mục đích đặt ra cho việc xử lý ảnh được chia làm hai phần :
Phần thứ nhất: liên quan đến những khả năng cải tiến các ảnh thu lại, để
rồi từ đó nhận được nhiều thông tin hơn, để quan sát và đánh giá bằng mắt
Phần thứ hai: nhằm nhận dạng hoặc đón nhận các ảnh một cách tự động
Người ta gọi phần thứ nhất là sự biến đổi ảnh (image transformation), hay sự
tăng cường ảnh (image enhancement) và phần thứ hai là nhận dạng ảnh (pattern
recognition) hay đón nhận ảnh (image understanding)
Trong lý thuyết nhận dạng nói chung và nhận dạng ảnh nói riêng có ba
cách tiếp cận khác nhau :
Trang 25Hai cách tiếp cận đầu là các kỹ thuật kinh điển Các đối tượng ảnh quan sát
và thu nhận được phải trải qua giai đoạn tiền xử lý nhằm tăng cường chất lượng,
làm nổi các chi tiết, tiếp theo là trích chọn và biểu diễn các đặc trưng, và cuối
cùng là giai đoạn nhận dạng Cách tiếp cận thứ ba hoàn toàn khác, nó dựa vào
cơ chế đoán nhận lưu trữ và phân biệt đối tượng mô phỏng theo hoạt động của
hệ thần kinh con người Do cơ chế đặc biệt, các đối tượng thu nhận bởi thị giác
con người không cần trải qua giai đoạn cải thiện mà chuyển ngay sang giai đoạn
tổng hợp, so sánh với các mẫu đã lưu trữ để nhận dạng.[18]
2 CÁC PHƯƠNG PHÁP PHÁT HIỆN (DỊ TÌM) HÌNH ẢNH MẶT NGƯỜI:
quan giao thơng, liệu cĩ xuất hiện trong ảnh thu được từ camera (hình động) hay
những tấm hình tĩnh dựa trên sự trợ giúp của máy tính từ lâu đã được con người
nghiên cứu và phát triển bởi nĩ đĩng vai trị là cơ sở chung và là nền tảng để nghiên
cứu và ứng dụng trong các lĩnh vực và các hệ thống khác Trong quá trình nghiên
cứu và phát triển, thì yêu cầu được đặt lên hàng đầu là yếu tố chính xác và phải thực
hiện nhanh chĩng trong thời gian thực Do vậy, việc này cần cĩ sự phối hợp qua lại
chặt chẽ của hai lĩnh vực là Xử lý ảnh (Image Processing) và Thị giác máy tính
(Computer Vision)
Trang 26này sẽ so sánh một ảnh của mặt người trong ảnh đầu vào với tất cả các ảnh có trong
cơ sở dữ liệu đã được huấn luyện trước đó và đưa ra ảnh gần nhất
các phương pháp dựa trên ảnh và các phương pháp dựa trên dạng hình học Các
phương pháp có thể được liệt kê ra như sau: [ ][ ][ ]…
2.1 Phát hiện dựa trên ảnh:
đối tượng và sử dụng cửa sổ trượt để phát hiện mặt người Cách làm này khác biệt
so với các phương pháp dựa trên khuôn mẫu (cần thiết phải có sẵn mô hình mặt
người, hình thái mặt người) Để trích đặc trưng từ các mẫu ví dụ, cần phải thực hiện
việc cho học huấn luyện dưới dạng thống kê hoặc các thuật toán học máy (machine
learning) với đủ nhiều các mẫu ảnh có chứa đối tượng mặt người và không chứa đối
tượng mặt người Do sự xuất hiện của mặt người trong ảnh là ngẫu nhiên với nhiều
tư thế quan sát khác nhau nên thường phải xấp xỉ chúng để tạo nên sự phân biệt của
hai đối tượng Tùy theo cách tiếp cận xác xuất nào mà sẽ xuất hiện các phương
pháp dò tìm tương ứng Liệt kê dưới đây là một số các phương pháp thuộc nhóm
này:
¾ Phương pháp EigenObjects
¾ Phương pháp Fisher ‘s Linear Discriminant
¾ Các phương pháp dựa trên Eigen-space
¾ Các phương pháp dựa trên mang nơ-ron nhân tạo
¾ Máy học hỗ trợ vec-tơ (Support Vector Machine – SVM)
¾ Phương pháp Mô hình Markov ẩn (Hidden Markov Model – HMM)
¾ Phương pháp Sparse Network of Winnows (SNoW)
Trang 272.2 Phát hiện dựa trên dạng hình học:
này quan tâm đến các đặc điểm cấu trúc hình học của mặt người Vì vậy chúng còn
được gọi là nhóm tiếp cận dựa trên đặc trưng (feature - based) Tùy theo cách triển
khai vấn đề mà chúng được chia thành hai phân nhóm:
¾ Các phương pháp Bottom – Up
¾ Phương pháp dựa trên lưu lượng quang (optical flow)
biến của mặt người đối với ngoại cảnh và nền ảnh để phát hiện ra mặt người rồi tùy
vào mối liên hệ của chúng với nhau mà thiết lập các liên kết giữa các đặc điểm bất
biến này ngay trong ảnh đầu tiên, tiếp theo sẽ dựa vào đó mà tìm chúng trên các ảnh
kế tiếp
quan của các bộ phận của mặt người (đã được xác định trước) mà dựa vào đó để
phát hiện Ví dụ, có thể dựa vào mối tương quan là đối xứng và khoảng cách của hai
đèn chiếu sau (hoặc đèn chiếu trước) mà có thể xác định được đó có phải là mặt
Trang 28- Việc phát hiện mặt người là sự kết hợp giữa một thuật toán tăng tốc gọi là
AdaBoost (Adaptive Boost) và đặc tính đáp ứng nhanh của các đặc trưng Haar Đây
là một phương pháp được mặt người như là phối hợp của cả hai phương pháp đã
nêu ở trên là : Phương pháp dựa trên ảnh và Phương pháp dựa trên dạng hình học
- Cụ thể, phương pháp này không chỉ sử dụng các thuật toán học (learning
algorithm) để huấn luyện tạo các bộ phân lớp (cascade) bằng các hình mẫu ví dụ
tích cực (có chứa hình ảnh mặt người) và các hình mẫu không tích cực (không chứa
hình ảnh mặt người) được lựa chọn cẩn thận (đây là phương pháp dựa trên ảnh)
Các hình ảnh sau khi được chọn lọc cẩn thận sẽ được quyết định đặc trưng cho từng
loại mặt người bởi thuật toán học hầu hết có liên quan trực tiếp đến các đặc trưng
riêng biệt trên hình ảnh mặt người (đặc điểm các chi tiết trên mặt người, gương, đầu
mặt người, dàn đèn, đuôi mặt người, …) Kỹ thuật tăng tốc cải thiện tốc độ tìm
kiếm dựa trên các bộ phân loại bằng cách lấy ra các trọng số cho các mẫu ví dụ
dùng trong huấn luyện
2.3 Phương pháp đặc trưng Haar-like và tăng tốc thích nghi nhanh
AdaBoost
khai sử dụng thuật toán phát hiện đối tượng (dựa trên các đặc trưng Haar-like và
thuật toán tăng tốc AdaBoost) trên từng frame ảnh thu được từ nguồn tín hiệu hình
ảnh (camera hoặc file video) rồi dựa vào các thuật toán xử lý ảnh và thị giác máy
tính để thi hành các tác vụ lên các mặt người đã được phát hiện và nhận dạng Sau
đây là phần trình bày phương thức hoạt động của phương pháp dò tìm mặt người
bằng các đặc trưng được liệt kê sau đây:
2.3.1 Các đặc trưng Haar-like:
- Mục đích của việc sử dụng các đặc trưng Haar-like là đảm bảo yêu cầu đáp
ứng thời gian thực Mỗi một đặc trưng Haar-like bao gồm 2 hoặc 3 khối hình màu
trắng và đen liên kết nhau
Trang 29Hình 13: Các đặc trưng cạnh
Hình 14: Các đặc trưng đường
Hình 15: Các đặc trưng bao quanh tâm
Trang 30Hình 16: Đặc trưng đường chéo
các giá trị pixel mức xám nằm trong vùng đen so với vùng trắng
y x i y
x
P
' , '
) ' ,' ( )
, (
Hình 17: Ảnh chia nhỏ tại tọa độ (x,y)
- Tổng các giá trị pixel trong vùng “A”:
A = P + P1 – P2 – P3 ;
Trang 31Hình 18: Tổng các giá trị pixel nằm trong vùng A
chứa đặc trưng Haar-like Dựa trên từng đặc trưng Haar-like , một bộ phân loại
f p
if x
, 0
) ( ,
1 )
2.3.2 Thuật toán tăng tốc AdaBoost:
tạo ra một bộ phân loại mạnh (strong classifier) bằng cách chọn các đặc tính tốt
trong một họ các bộ phân loại yếu (weak classifier – các bộ phân loại đơn giản) và
kết hợp chúng lại tuyến tính bằng cách sử dụng các trọng số (hình 2.4) Điều này
thật sự cải thiện dần độ chính xác nhờ áp dụng hiệu quả một chuỗi các bộ phân loại
yếu
Trang 32Hình 19: Lược đồ cơ bản của AdaBoost
- Thuật toán học này ban đầu duy trì một phân bố chuẩn (tương đồng nhau)
các trọng số lên mỗi một mẫu huấn luyện Trong bước lặp đầu tiên, thuật toán huấn
luyện một bộ phân loại yếu bằng cách dùng một đặc trưng Haar-like đã thực hiện
tốt nhất việc phát hiện các mẫu thử huấn luyện Trong lần lặp thứ hai, các mẫu thử
dùng cho huấn luyện nhưng bị phân loại nhầm bởi bộ phân loại yếu đầu tiên được
nhận trọng số cao hơn sao cho đặc trưng Haar-like được chọn lần này phải tập trung
khả năng tính toán cho các mẫu thử bị phân loại nhầm này Sự lặp lại tiếp tục thực
hiện và các kết quả cuối cùng sẽ là một chuỗi cascade các kết hợp tuyến tính của
các bộ phân loại yếu, tạo ra một bộ phân loại mạnh, giúp tạo được độ chính xác
mong muốn (Hình 2.5 là một ví dụ thuật toán AdaBoost sau ba lần lặp)
Trang 33Hình 20: Thuật toán học AdaBoost
- Bộ phân loại mạnh cuối cùng là sự kết hợp có trọng số của các bộ phân loại
yếu:
)) ( )
( )
( (
Trang 34(a) Huấn luyện bộ phân loại bằng bộ mẫu thử đã được đánh trọng số { , t)}
t n
1
(d) Cập nhật các trọng số:
{ t n t n } t
t n
t n
d
1 ) 1
(
α α
độ thực thi của thuật toán dò tìm Trong giai đoạn đầu của quá trình huấn luyện,
ngưỡng của bộ phân loại yếu được điều chỉnh đủ thấp sao cho 100% các đối tượng
đích có thể được dò ra trong khi vẫn giữ tỉ lệ nhận dạng sai mẫu không tích cực gần
Trang 35- Các cửa sổ con là tích cực (phù hợp, dò đúng đối tượng) nếu được cho qua
tại từng bộ phân lớp của chuỗi cascade đã được huấn luyện Nếu không, một ngõ ra
trên chuỗi sẽ loại bất kì cửa sổ không phù hợp ngay lập tức (Hình 2.6, [1] trang 59,
4, 10)
Hình 21: Dùng chuỗi cascade đã được huấn luyện để phát hiện cửa sổ con phù hợp
- Bằng cách sử dụng cấu trúc gồm các chuỗi cascade song song, tốc độ phát
Trang 36Hình 28: Cấu trúc các chuỗi cascade song song
Hình 29: Mô hình tác vụ phát hiện vật thể dùng chuỗi cascade
Trang 37thông tin về phương mã hóa và giải mã ảnh mặt có thể đưa chúng ta hiểu biết tường tận nội dung thông tin ảnh mặt, nhẫn mạnh vùng quan trọng và vùng đặc trưng chung Nhiều đặc trưng có thể hoặc không có thể quan hệ trực tiếp đến ý niệm trực giác của đặc trưng mặt như mắt, mũi, môi, và tóc Điều này có thể có liên quan quan trọng cho việc sử dụng công cụ nhận dạng như Identikit và Photofit (Bruce, 1998)
trong một ảnh mặt, phải mã hóa nó, và so sánh một mặt đang mã hóa với một mô hình của cơ sở dữ liệu đã được mã hóa tương tự Một phương pháp đơn giản để trích thông tin được lưu trữ trong một ảnh của khuôn mặt là không biết phải làm sao bắt được những biến trong tập ảnh mặt được thu thập
phân phối của khuôn mặt, hoặc vector riêng của ma trận tương quan cho việt thiết lập khuôn mặt, mặt người như 1 điểm (vector) trong một không gian khoảng cách rộng Vector trị riêng được sắp xếp thứ tự, sự khác nhau dựa trên sự biến đổi của khuôn mặt
- Những vector trị riêng có thể sắp xếp lại tính chất đặc trưng chung trước sự biến đổi của ảnh mặt Mỗi vùng ảnh đóng góp nhiều hơn hay ít hơn đến mỗi vector trị riêng, để chúng ta có thể sắp xếp sao lưu mặt cái đó gọi là Eigenface Một vài khuôn mặt chúng ta đã học được mô phỏng trong hình 1, và tương quan eigenface được chỉ trong hình 2 Mỗi eigenface đại diện ảnh mức xám, ở đó đặc trưng mặt
Trang 38Hình 30: Ảnh dùng cho việc huấn luyện
Hình 31: Bảy eigenface được tính toán từ ảnh ngõ vào
Trang 39Sirovich và Kirby (1987) và Kirby và Sirovich (1990) dựa trên kết quả hình ảnh khuôn mặt bằng nghiên lý phân tích thành phần
bằng tổng trọng số của một sự thu thập nhỏ của tính chất đặc trưng hoặc trị riêng bức tranh, có lẽ một cách hiệu quả để học và nhận dạng mặt nên được xây dựng lại những đặc điểm đặc trưng bằng kinh nghiệm dựa trên thời gian và nhận dạng mặt thông thường bằng cách so sánh trọng số đặc trưng cần được xây dựng chúng lại với trọng số xấp xỉ riêng đã biết
¾ Yêu cầu việc khởi tạo thiết lập ảnh mặt (thiết lập chuỗi huấn luyện)
¾ Tính toán Eigenfaces từ chuỗi huấn luyện, chỉ giữ ảnh M tương ứng eigenvalue cao nhất Những ảnh M định nghĩa không gian mặt Với những ảnh mới, eigenfaces có thể được cập nhật và tính toán lại
¾ Tính toán xác xuất tương ứng in trong không gian trọng lượng khoảng cách M cho mỗi mỗi ảnh riêng, bằng cách đưa ảnh mặt vào khung gian ảnh mặt
Những hoạt động cũng có thể được thực thi từ lần này đến lần khác, bất cứ khi nào ở đó tự di truy suất khả năng tính toán
Việc khởi tạo hệ thống, những bước sau là được sử dụng để nhận dạng ảnh mặt mới:
Trang 40¾ Nếu nĩ là một khuơn mặt, lớp phân loại trọng số vật thể hoặc là người
đã biết hoặc là khơng biết
¾ (Tùy chọn) Việc cập nhật các eigenfaces và/hoặc kiểu trọng số
¾ (Tùy chọn) Nếu cùng ảnh mặt khơng biết là được thấy một vài lần, việc tính tốn kiểu trọng số đặc trưng và hợp nhất vào khơng gian mặt đã biết
3.2 Xây dựng Eigenfaces với PCA:
- Hầu hết các phương pháp nhận dạng mặt và trạng thái mặt bằng máy tính đều tập trung vào phát hiện các đặc trưng riêng như mắt, miệng mũi, đầu hoặc định nghĩa một mô hình mặt bằng vị trí, kích thước, và mối quan hệ giữa những đặc trưng này Trích đặc trưng đóng vai trò quan trọng trong giai đoạn tiền xử lý Eigenfaces (eigenface) áp dụng phương pháp PCA là một trong những phương pháp chính dùng để xử lý đặc trưng mặt Phương pháp PCA có ưu điểm hơn các phương pháp khác là nhanh và đơn giản
TurK và Alex Pentland để nhận dạng mặt người Đây là thành công đầu tiên trong lĩnh vực tự động nhận dạng mặt người mà không cần quan tâm đến vị trí cũng như kích thước của ảnh Nó đánh dấu bước phát triển đột phá so với các nghiên cứu trước đó chỉ tập trung vào phân biệt các đặc trưng như mắt, muỗi miệng, và xác định mô hình mặt dựa trên vị trí và kích thước của những đặc trưng này, cũng như mối quan hệ về hình học giữa chúng
- Các Eigenfaces chính là tập hợp các vector riêng được rút từ ma trận ma trận hiệp phương sai (covariance) nhiều chiều
- Để xây dựng một tập hợp các Eigenfaces, trước tiên ta xây dựng 1 cơ sở dữ liệu ảnh mặt Các ảnh này phải được chuẩn hóa về cùng vị trí, kích thước như