đến giao tiếp người – máy, làm cho các thiết bị điện tử trở nên thân thiện hơn.Ví dụ như, xây dựng một hệ thống robot có thể nhận diện được trạng thái tâm lý của chủ nhân sau đó đưa ra c
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
TRẦN VĂN TRINH
NHẬN DẠNG TRẠNG THÁI MẶT DÙNG PCA VÀ MẠNG NEURAL
Chuyên ngành: Điều Khiển Học Kỹ Thuật
Mã ngành: 2.05.01
LUẬN VĂN THẠC SỸ
Tp Hồ chí minh, tháng 11 năm 2007
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
Cán bộ hướng dẫn khoa học: 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ỹ 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…
Trang 3TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM PHÒNG ĐÀO TẠO SĐH ĐỘC LẬP – TỰ DO – HẠNH PHÚC
NHIỆM VỤ LUẬN VĂN THẠC SỸ
Họ và tên học viên: Trần Văn Trinh Phái: nam
Ngày, tháng, năm sinh: 20/08/76 Nơi sinh: VĨNH LONG
Chuyên ngành: Điều Khiển Học Kỹ Thuật MSHV: 01504384
I- TÊN ĐỀ TÀI:
NHẬN DẠNG TRẠNG THÁI MẶT DÙNG PCA VÀ MẠNG NEURAL II- NHIỆM VỤ VÀ NỘI DUNG
• Nghiên cứu thuật toán phân tích thành phần chính (PCA) áp dụng cho bài
toán trích đặc trưng trạng thái mặt
• Nghiên cứu mạng Perceptron nhiều lớp áp dụng cho phân loại trạng thái
mặt
• Kết hợp các kết quả nghiên cứu thực hiện bài toán nhận dạng trạng thái
mặt
III- Ngày Giao Nhiệm Vụ:
IV- Ngày Hoàn Thành Nhiệm Vụ:
Trang 4LỜI CẢM ƠN
Tôi xin chân thành gời đến toàn thể Quý Thầy Cô Khoa Điện – Điện Tử nói chung , và Bộ Môn Điều Khiển Tự Động nói riêng lời cảm ơn chân thành nhất Quý thầy cô đã truyền đạt cho tôi những kiến thức chuyên môn cũng như kinh nghiệm học tâp vô cùng quý báu và phong phú trong suốt thời gian học tại trường
Tôi xin gởi đến thầy TS Nguyễn Đức Thành lời cảm ơn chân thành nhất Thầy đã hướng dẫn tôi rất tận tình trong suốt thời gian qua Những tài liệu bổ ích mà thầy đã cung cấp cũng như những lời khuyên, góp ý vô cùng quý báo giúp e hoàn thành tốt luận văn này
Xin cảm ơn tất cả các bạn đã động viên, giúp đỡ trao đổi kiến thức giúp tôi hoàn thành luận văn này
Cuối cùng xin tỏ lòng biết ơn sâu sắc tới gia đình tôi đã hết lòng ủng hộ và động viên trong thời gian qua
Tp HCM ngày 31 tháng 10 năm 2007
Học viên TRẦN VĂN TRINH
Trang 5TÓM TẮT LUẬN VĂN
Trong luận văn này, chúng tôi trình bày một phương pháp phân loại trạng thái mặt offline không giám sát, không phụ thuộc vào vị trí đặt trưng như mắt, miệng, mũi, có thể phân loại được bảy trạng thái mặt cơ bản: vui, buồn, giận, phẩn nộ (hay ghê tởm), ngạc nhiên, sợ hãi, và tự nhiên Sử dụng PCA 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 chính miêu tả tập mẫu bằng cách sắp xếp các vectơ riêng (các thành phần chính) theo thứ tự sao cho các trị riêng của nó giảm dần Vì các vectơ riêng ứng với các chính trị riêng cao nhất sẽ sở hữu nhiều đặc trưng miêu tả tập mẫu nhất Do đó, các thành phần chính ứng với các trị riêng nhỏ có thể bỏ qua
Vectơ đặc trưng này dùng làm ngõ vào để mạng perceptron nhiều lớp với hằng số học thích nghi để huấn luyện và phân loại
Trong phần thí nghiệm đánh giá khả năng nhận dạng của hệ thống đạt được
từ 78% đến 95% tùy theo cấu trúc mạng và tập ảnh mẫu Tập ảnh mặt làm cơ sở
dữ liệu lấy từ JAFFE
ABSTRACT
We propose an algorithm for offline and unsupervised facial expression recognition which can classify the given image into one of the seven basic facial expression categories (happiness, sadness, fear, surprise, anger, disgust and neutral) In the reprocessing phase, PCA is used for dimensionality reduction in input data while retaining those characteristics of the data set that contribute most to its variance, by keeping lower-order principal components and ignoring higher-order ones Such low-order components contain the "most important" aspects of the data Because The higher the eigenvalue, the more characteristic features of a face does the particular eigenvector describe Eigenfaces with low eigenvalues can be omitted, as they explain only a small part of characteristic features of the faces
The extracted feature vectors in the reduced space are used to train the supervised Neural Network classifier
In the experiments for performance evaluation the networks achieved a recognition rate equal to 78 % and 95% dependently on structuring multyplayer perceptron neural network and different sets of facial images
A constructive procedure is detailed and the system performance is evaluated on a public database “Japanese Females Facial Expression (JAFFE).”
Trang 62.2 Tách biên đối tượng
Chương 3: CÁC KHÁI NIỆM CƠ BẢN NHẬN DẠNG MẶT……… 6
3.1 Giới thiệu
3.2 Hệ thống nhận dạng mặt cơ bản
3.3 Nhận dạng mặt dựa trên trên đặc trưng
3.4 Nhận dạng mặt dựa trên PCA
Chương 4: NHẬN DẠNG TRẠNG THÁI MẶT……….……10
4.1 Giới Thiệu
4.2 Cơ Sở Toán Học Thống Kê
4.3 Vectơ riêng – trị riêng – không gian riêng
4.4 Giảm số chiều bằng phương pháp mặt riêng
4.5 Xây dựng một ảnh từ các mặt riêng
4.6 Xây dựng lại trạng thái mặt với PCA
Chương 5: MẠNG NEURON CHO NHẬN DẠNG TRẠNG THÁI MẶT… 26
5.1 Giới Thiệu
5.2 Tế bào thần kinh và mạng thần kinh nhân tạo
5.3 Mạng truyền thẳng một lớp (mạng perceptron đơn giản)
5.3.1 Luật học Perceptron
5.3.2 Luật học suy giảm độ dốc và luật học Delta
5.3.3 Đạo hàm của luật học suy giảm độ dốc
5.4 Mạng perceptron nhiều lớp và thuật toán lan truyền ngược
Trang 7Hướng phát triển đề tài
Tài liệu tham khảo
Trang 8CHƯƠNG 1: GIỚI THIỆU NHẬN DẠNG TRẠNG THÁI MẶT
Nhận dạng trạng thái mặt trở nên quan trọng trong nhiều lĩnh vực từ nhận diện tội phạm, bảo mật, đến giao tiếp người – máy, làm cho các thiết bị điện tử trở nên thân thiện hơn.Ví dụ như, xây dựng một hệ thống robot có thể nhận diện được trạng thái tâm lý của chủ nhân sau đó đưa ra các lời khuyên chia sẻ,…
Nhận dạng trạng thái mặt có thể chia làm hai loại là nhận dạng dựa trên ảnh tĩnh và ảnh động, trên ảnh động cho ta nhiều thông tin hơn nên do lấy mẫu trên nhiều khung ảnh liên còn tiếp còn ảnh tĩnh chỉ thu thập được ít đặc trưng do số lượng ảnh có hạn vì đòi hỏi nhiều thời gian xử lý hơn nếu lượng ảnh tĩnh càng lớn Các phương pháp cơ bản như là ước lượng lưu lượng quang ( optical flow), phân tích đặc trưng không gian (spatial feature analysis), và phân tích bộ lọc cục bộ ( local filter) [2-13] Yacoop và Davis [12] dùng phương pháp lưu lượng quang để bám theo sự thay đổi của các đặc trưng mặt trên ảnh động và phân loại thành 6 loại trạng thái (vui, ngạc nhiên, giận, sợ hãy, buồn, và phẩn nộ) Tỷ lệ nhận dạng đạt từ 80% đến 94% Barlett [2] kết hợp phương pháp lưu lượng quang và PCA nhận dạng trạng thái mặt Rosenblum [8,9] phát triển mạng neural RBF , trích đặc trưng
sử dụng phép biến đổi cosine rời rạc cho toàn bộ ảnh mặt Tỷ lệ nhận dạng tốt nhất đạt 88% Otsuka và Ohya [7] đưa ra mô hình nhận dạng mặt bằng cách kêt hợp HMM( hidden Markov Model) và lưu lượng quang sau đó ước lượng các trạng thái của các cơ mặt từ ảnh động FACS ( facial action coding system) do Ekman và Friesen đưa ra đã được sử dụng rộng rãi để miêu tả trạng thái mặt Mase[6] đưa ra phương pháp FACS + hệ thống mã hóa, phân tích và nhận dạng trạng thái mặt Nghiên cứu của ảnh chủ yếu là tập trung tính sự chuyển động của các cơ mặt tương ứng với các đơn vị tác động AU(action units) Tian[10] xây dựng hệ thống tự động
Trang 9phân tích mặt dưa trên các các đặc trưng tĩnh và động, với tỷ lệ nhận dạng đạt khoảng 96% Donato [15] cung cấp chi tiết hơn các kỹ thuật nhận dạng trạng thái mặt gần đây dựa trên ảnh động và hệ thống mã hóa FACS,
Nhận dạng trạng thái mặt dựa trên ảnh tĩnh cho đến bây giờ vẫn là bài toán khó hơn so với ảnh động do ảnh tĩnh chứa ít thông tin hơn ảnh động Cottrel và Metcalfe[17] áp dụng mạng neural lan truyền ngược và PCA để nhận dạng 6 trạng thái mặt, gen từ các ảnh tĩnh Phương pháp tương tự được đưa ra bởi Padgett và Cottrell [18] nhưng tỷ lệ nhận dạng đã được cải thiện đạt 84% Matsuno[19] nhận dạng dựa trên các thông số được tính trước và chỉ phân loại 4 trạng thái cơ bản: vui, buồn, giận, ngạc nhiên Chen và Huang đưa ra thuật toán phân tích biệt thức tuyến tính LDA(linear discriminate analysis) và trình bày phương pháp trích đặc trưng nhóm (clustering) Tỷ lệ nhận dạng đúng khá cao khoảng 86% Ma và khorasami nhận dạng dùng mạng neural nuôi tiến với kỹ thuật Pruning, tỷ lệ nhận dạng cho các trạng thái vui, giận, ngạc nhiên, và phẩn nộ đạt gần 95% Các phương pháp khác như là bộ lọc gabor wavelet, phân tích biệt thức tuyến tính, so sánh vị trí điểm đặc trưng, cũng đươc trình bày trong [5, 21-23]
Trong luận văn này tập trung nhận dạng sáu trạng thái mặt cơ bản: buồn, vui, giận, phẩn bộ, ngạc nhiên, sợ hãi và tự nhiên Trình tự xây dựng trình bày chi tiết, hệ thống phân loại không giám sát được đánh giá dựa trên cở sở dữ liệu chung
“Japanese Females Facial Expression (JAFFE)”
Ví dụ như hình 1: Thể hiện 7 trạng thái cơ bản lấy từ cơ sở dữ liệu của JAFFE
Tự nhiên -hạnh phúc–ngạc nhiên –buồn - giận – sợ - phẩn nộ
Trang 10Hình 1: Các trạng thái cơ bản
Chương 2: TỔNG QUAN VỀ XỬ LÝ ẢNH
Xử lý ảnh là một trong nhưng mảng quan trọng nhất trong kỹ thuật nhận dạng ảnh cũng như nhận dạng đối tượng, là tiền đề cho nghiên cứu và xây dựng hệ thống giao tiếp giữa người và máy Hai nhiệm vụ cơ bản của quá trình xử lý ảnh là nâng cao chất lượng thông tin hình ảnh và xử lý số liệu cung cấp cho các quá trình khác trong đó có việc xử lý hình ảnh thô ban đầu thành dạng chuẩn để nhận dạng chính xác hơn
Đã có rất bhiều công trình nghiên cứu từ năm 1920 tới nay về xử lý ảnh đã góp phần thúc đẩy lĩnh vực này phát triển không ngừng quá trình bắt đầu từ việc thu thập ảnh nguồn ( ảnh từ các thiết bị thu ảnh dạng số hoặc tương tự) gửi đến máy tính Dữ liệu ảnh được lưu trữ ở dạng định dạng phù hợp với quá trình xử lý Người lập trình sẽ xây dựng các thuật toán phù hợp lên dữ liệu ảnh nhằm thay đổi cấu trúc ảnh phù hợp với các ứng dụng khác nhau
Với mục tiêu hướng đến của luận văn là nhận dạng trạng thái mặt dùng thuật toán PCA và mạng Neural thì khâu xử lý ảnh phải là khâu đầu tiên trong bài toán trên
2.1 Các Bộ Lọc Không Gian
Trong quá trình xử lý ta có thể sử dụng các mặt nạ không gian nhằm làm thay đổi cấu trúc ảnh gọi là các bộ lọc không gian Có hai loại lọc không gian là lọc không gian tuyến tính và lọc không gian phi tuyến
2.1.1 Lọc tuyến tính
Lọc tuyến tính có các hàm dịch, hàm xung hoặc hàm phân tán điểm là các biến đổi Fourier ngược lọc thông thấp làm suy giảm hoặc loại trừ các thành phần
có tần số cao trong miền Fourier và cho các tần số thấp đi qua.Các thành phần tần
số cao đặc trưng cho các biên, các chi tiết làm nét trong ảnh, do đó hiệu quả của bộ lọc thông thấp lam nhòe ảnh ngược lại với bộ lọc thông thấp, bộ lọc thông cao làm
Trang 11suy giảm các thành phần tần số thấp các thành phần này thể hiện qua các đặc trưng thay d0ổi chậmcủa ảnh như độ tương phản và cường độ ánh sáng trung bình Hiệu quả của bộ lọc thông cao là làm rõ nét biên và chi tiết ngoài ra còn các bộ lọc thông dãi nhằm giữ lại vùng tần số giữa thấp và cao nhiệm vụ chính của các bộ lọc này là nhằm khôi phục lại ảnh
c Lọc Gauss
về bản chất bộ lọc Gauss có phương thức tiến hành tương đồng như lọc trung bình, nhưng có thêm tác động của các trọng số các trọng số này được tính tỷ lệ với hàm Gauss theo khoảng cách tới điểm tính toán Công thức tính giá trị cho từng pixel ảnh gốc theo lọc Gauss như sau:
N j
i
g
k n m
, ,
1 ,
: ,
Trang 12Trong đó g(i,j) là giá trị cường độ xám, N là kích thước cửa sổ, f(m,n) giá trị độ xám của pixel đang tác động, G(i-m,j-n) là các trọng số các trọng số được tính toán tỷ lệ theo hàm Gauss bằng khoảng cách tới điểm tính toán
2 2
2 2
e y
x G
+
=
2.2 Tách Biên Đối Tượng
Ảnh thu được từ các thiết bị ghi nhận sau khi qua bước tiền xử lý sẽ đến quá trình phân tích ảnh có nhiều phương hpáp phân tích ảnh trong đó tách biên đối tượng là một công cụ mạnh vai trò của tách biên chủ yếu là trích đặc trưng đối tượng theo đường biên ảnh và phân vùng ảnh trên đường biên Có nhiều phương phap tách biên ảnh nhưng thông dụng nhất là phương pháp Canny Là phương pháp do canny tìm ra tại phòng thí nghiệm ảnh thuôc MIT Quá trình tiến hành thuật toán gồm các bước sau:
• Làm trơn bằng bộ lọc Gauss nhằm giảm thiểu ảnh hưởng của nhiễu và các chi tiết không mong muốn trong cấu trúc ảnh
• Tính gradient của ảnh nhờ một trong các toán tử như Roberts, sobel hay Prewitt,
• Xác định mức ngưỡng
• Dựa vào hướng của gradient để loại bỏ những điểm không thực sự là biên
• Dùng ngưỡng kép tạo ra các điểm trung gian để nối liền các điểm biên đã xác định được từ trước
Trang 13CHƯƠNG 3: CÁC KHÁI NIỆM CƠ BẢN NHẬN DẠNG MẶT NGƯỜI
3.1 Giới Thiệu
Nhận dạng mặt là nhận dạng những mẫu ảnh được thực hiện trên ảnh mặt nào đó Cũng có thể xem như là việc phân loại một ảnh có phải là ảnh mặt hay không, sau đó so sánh với từng ảnh mặt trong cơ sở dữ liệu mặt đã có Và chúng ta luôn mong muốn một hệ thống có khả năng học và nhận dạng các ảnh mặt chưa biết
Các thuật toán nhận dạng phải giải quyết một vài khó khăn trong nhận dạng đó là:
• Phải trình bày ảnh như thế nào mà có thể tận dụng được càng nhiều thông tin trên ảnh mặt càng tốt để có thể phân biệt được một ảnh mặt nào đó so với các khác có trong cùng không gian ảnh
• Tư thế mặt là bài toán đặt biệt khó bởi vì các ảnh mặt điều gần giống nhau,
vì cùng có các đặc trưng như mắt, mũi, miệng và nằm ở những vị trí tương
Hình 2.1: Hệ thống nhận dạng mặt cơ bản
3.2.1 Ngõ vào
Trang 14Khối ngõ vào là ảnh mặt cần nhận dạng có thể lấy từ nhiều nguồn khác nhau như từ máy ảnh, từ một file ảnh,
3.2.2 Khâu tiền xử lý
Qua khâu này, các ảnh được chuẩn hóa đến giá trị mong muốn để cải thiện chất lượng hệ thống nhận dạng Một vài hoặc toàn bộ các khâu sau được dùng để
xử lý ảnh trước khi đưa vào nhận dạng
• Chuẩn hóa kích thước ảnh Đưa các ảnh thu thập được về cùng kích thước
ví dụ như về cùng 256 x 256, như trong luận văn này xử lý trích đặc trưng trên toàn bộ ảnh mặt nên khâu chuẩn hóa là vô chùng quang trọng
• Cân bằng Historgram Nếu chúng ta làm việc trên các ảnh quá tối hay quá
sáng, để cải thiện chất lượng ảnh cũng như độ chính xác trong hệ thống ta cần cân bằng histogram ( thay đổi khoảng tương phản của ảnh) để các ảnh
có mức sáng gần bằng nhau, làm cho các đặc trưng trở nên rõ hơn
• Bộ lọc trung bình (Median) Đặc biệt các ảnh bị nhiễu do camera hay do
người chụp thì bộ lọc Median có thể loại bỏ mà không làm mất thông tin ảnh
• Bộ lọc thông cao Khâu trích đặc trưng thường dựa vào nét ngoài của mặt,
vì vậy việc xác định sơ đồ biên ảnh là cần thiết Bộ lọc thông cao làm tăng cường chi tiết ảnh ở các biên mà có sự thay đổi giá trị đột ngột
• Loại bỏ nền ảnh Loại bỏ nền ảnh mặt là đặc biệt quan trọng trong các hệ
thống nhận dạng mặt hay trạng thái mặt, vì toàn bộ thông tin trong ảnh đều được dùng vì vậy loại bỏ nền sẽ làm giảm dung lượng cần xử lý cũng như thời gian tinh toán
• Chuẩn hóa tư thế ảnh Trong các hệ thống nhận dạng ảnh mặt thẳng như
trong luận văn này thì vị trí đầu đóng vai trò quang trọng không kém Vì vậy nếu có thể thì cần dịch chuyển hoặc quay đầu về vị trí thẳng đứng
Trang 15• Cân bằng độ chói ảnh Các ảnh mặt chụp dưới các điều kiện khác nhau có
thể làm giảm chất lượng hệ thống nhận dạng, đặc biệt đối với hệ thống nhận dạng mặt hay trạng thái mặt dựa trên phân tích PCA vì toàn bộ thông tin trong mặt điều được dùng cho nhận dạng
3.2.3 Khâu trích đặc trưng
Sau khi qua các bước xử lý từ ảnh thô ban đầu thành ảnh được chuẩn hóa đưa qua khâu trích đặc trưng để tìm các đặc trưng chính, quan trọng để sử dụng cho phân loại Nói cách khác, khâu này đưa ra một vectơ đặc trưng đủ để trình bày ảnh mặt
3.2.4 Khâu phân loại
Trong khâu này với sự trợ giúp của bộ phân loại, các đặc trưng được trích ra
từ ảnh mặt đem so sánh với từng ảnh mặt trong cơ sở dữ liệu mặt Sau bước này, ảnh mặt sẽ được phân loại theo yêu cầu
3.2.5 Tập ảnh mẫu cho huấn luyện
Tập ảnh mẫu huấn luyện được dùng trong giai đoạn “học” của hệ thống nhận dạng Các khâu trích đặc trưng và phân loại sẽ điều chỉnh thông số của chúng
để đạt được chất lượng nhận dạng tốt nhất
3.2.6 Cơ sơ dữ liệu ảnh mặt
Sau khi ảnh mặt đã được xác định, ảnh được thêm vào cơ sở dữ liệu với vectơ đặc trưng của chúng để sử dụng sau nay Bộ phân loại sử dụng ảnh trực tiếp
từ thư viện này
3.3 Nhận dạng mặt dựa trên trên đặc trưng
Nhận dạng ảnh mặt dựa trên đặc trưng thường dựa trên phân tích vị trí hình học của mặt như vị trí các pixel xung quanh hai mắt, mũi, miệng, càm, Sau khi xác định được vị trí cần trích đặc trưng ta dùng phương pháp phù hợp để lấy viền các vùng này làm các đặc trưng cho nhận dạng mặt
3.4 Nhận dạng mặt dựa trên PCA
Trang 16PCA là phương pháp nhận dạng dựa trên lý thuyết thông tin Là phương pháp dựa trên thông tin của toàn bộ ảnh mặt Ở đây, những thông tin thích đáng chứa trong ảnh mặt được trích và mã hóa một cách hiệu quả như có thể Nhận dạng được thực hiện trên cơ sở dữ liệu ảnh gồm những mô hình mặt được mã hóa tương
Trang 17CHƯƠNG 4: NHẬN DẠNG TRẠNG THÁI MẶT
Nội dung chương này nhằm giải thích phương pháp PCA (phương pháp mặt riêng) được sử dụng trích ra các vectơ đặc trưng sau đó dưa đến ngõ vào cho mạng neural phân loại
Công việc mà PCA có thể làm là dự báo, loại bỏ dư thừa, trích đặc trưng, nén
dữ liệu, bởi vì PCA là thuật toán cổ điển, làm việc chủ yếu trong vùng tuyến tính
vì vậy, các ứng dụng chủ yếu là xử lý tính hiệu, xứ lý ảnh, truyền thông, điều khiển
và hệ thống,
Phân tích thành phần chính là một trong những phương pháp được ứng dụng trong nhận dạng và nén ảnh thành công nhất và là phương pháp dựa trên lý thuyết sác xuất thống kê
Nhận dạng trạng thái mặt sử dụng PCA là phương pháp nhận dạng không có sự giám sát vì nó sử dụng thông tin trên toàn bộ ảnh mặt Không giống như các phương pháp khác chủ yếu dựa vào sự thay đổi kết cấu của trạng thái mặt như mắt, mũi, miệng, PCA sử dụng toàn bộ ảnh mặt như là ngõ vào thô ban đầu của hệ thống nhận dạng Thuật toán nhận dạng trạng thái mặt dựa vào diện mạo bên ngoài thực chất là để tạo một không gian ảnh mặt mới có số chiều nhỏ hơn rất nhiều so với số chiều của ảnh gốc để thực hiện nhận dạng nhanh và hiệu quả hơn Ngược
Trang 18lại, phương pháp nhận dạng dựa trên các đặc trưng hình học (nhận dạng dựa vào diện mạo) của ảnh mặt thì cố gắn phân biệt sự khác nhau giữa hai ảnh bằng cách so sánh các tính chất và mối quan hệ giữa các đặc trưng của hai ảnh như là: mắt, miệng, mũi, càm, điều này đưa đến hệ quả là kết quả nhận dạng phụ thuộc vào số lượng đặc trưng và quá trình đo lường
4.2 Cơ Sở Toán Học Thống Kê
4.2.1 Khoa học thống kê
Khoa học thống kê dựa trên ý tưởng nếu bạn có một tập dữ liệu lớn, và bạn muốn phân tích chúng xem giữa từng điểm lân cận trong tập dữ liệu có quan hệ với nhau như thế nào? Sau đây trình bày phương pháp để trả lời câu hỏi trên
4.2.2 Độ Lệch Chuẩn ( Standard Deviation)
n
i i
∑
=
= 1 (2.1) Trong đó:
- n là số phần tử
- X ilà phần tử thứ I trong tập X
Với công thức (2.1) ta không biết gì nhiều ngoài điểm trung bình của tập mẫu
Ví dụ với hai tập mẫu sau chúng có cùng giá trị trung bình là 10 nhưng hoàn toàn khác nhau
[0 8 12 20] và 8 9 11 22]
Để biết mức độ khác nhau của hai tập trên ta dùng công thức độ lệch chuẩn sau để
đo độ phân tán ( độ trải rộng) của tập mẫu
Trang 19)(
Tập mẫu 2: tương tự ta được =1.8257 s2
Từ kết quả trên ta thấy tập thứ nhất có độ lệch chuẩn lớn hơn do dữ liệu của tập này
có độ trải rộng (spread) lớn hơn từ giá trị trung bình của chúng
1
2 2
n
i
i
(2.3)
4.2.4 Hiệp phương sai(covariance)
Công thức (2.2) và (2.3) chỉ đơn thuần là phương pháp đo dữ liệu một chiều Với tập mẫu có nhiều hơn 1 chiều thì ta cần biết xem giữa các chiều với nhau có mối quan hệ nào không
Trang 20Ví dụ như chúng ta muốn phân tích giữa điểm và chiều cao của sinh viên trong lớp xem chiều cao có ảnh hưởng đến điểm hay không?
Độ lệch chuẩn và variance chỉ là phép đo một chiều vì vậy ta có thể tính độ lệch chuẩn một cách độc lập cho mỗi chiều Phép đo tính hiệp phương sai sẽ cho kết quả tổng quát hơn trong mỗi chiều và giữa các chiều dữ liệu có liên quan với nhau hay không
1
))(
(),cov( 1
X
n
i
i i
(2.4) Trong đó (X,Y) là chiều X và Y của tập mẫu
4.2.5 Ma Trận Hiệp Phương Sai
Nếu ta có dữ liệu nhiều hơn hai chiều ví dụ như ba chiều x, y, z thì ta cần tính cov(x,y), cov(x,z), cov(y,z) Nếu ta có n chiều dữ liệu thì cần ( 2)!2
Ma trận cov như sau:
( j j i j )
nxn c c
Trong đó C nxn là ma trận n dòng, n cột, dimx là chiều thứ x
Ví dụ như ta muốn tính cov ba chiều x,y,z thì ma trận cov như sau:
) , cov(
) , cov(
) , cov(
) , cov(
) , cov(
) , cov(
) , cov(
) , cov(
z z y
z x
z
z y y
y x
y
z x y
x x
x C
4.3 Vectơ Riêng – Trị Riêng – Không Gian Riêng
Trong toán học khi nói đến vectơ ta nghỉ nó giống như một mũi tên gồm chiều dài còn gọi là biên độ và đầu mũi chỉ một hướng nào đó
Trong phép biến đổi tuyến tính nếu ngõ vào là một vectơ thì sau phép biến đổi biên
độ và hướng bị thay đổi
Trang 21Vectơ riêng là vectơ mà sau phép biến đổi thì chiều vẫn không đổi
Ví dụ ta nhân môt ma trận với một vectơ như sau:
82
31 2
3 2
Hệ số 4 của ví dụ trên còn gọi là trị riêng Như vậy sau phép biến đổi thì vectơ ban đầu dài hơn 4 lần nhưng hướng thì giữ nguyên
Trong đó u là vectơ riêng của ma trận M, λ là trị riêng tương ứng
Không gian riêng của một biến đổi được cho chính là tập hợp tất cả các vectơ riêng của phép biến đổi đó mà có cùng trị riêng
4.4 Giảm Số Chiều Bằng Phương Pháp Mặt Riêng (PCA)
4.4.1 Giới Thiệu
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ý Thuật toán PCA hay con gọi là phương pháp mặt riêng (eigenface) là một trong những thuật toán chính dùng để xử lý đặc trưng mặt Phương pháp PCA thường được sử dụng cho các bài toán nhận dạng mặt PCA có ưu điểm hơn các phương pháp khác
là nhanh và đơn giản
Thuật toán mặt riêng được sử dụng đầu tiên vào năm 1989 bởi Mathew 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 quang tâm đến vị trí cũng như kích
Trang 22thước các đặc trưng 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 riê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 mặt riêng chính là tập hợp của các vectơ riêng được rút ra 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 mặt riêng, trước tiên ta xây dựng một 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ư miệng và mắt phải ngang nhau,.và cùng độ sáng, độ chói, sau đó có thể dùng thuật toán PCA
để trích ra các đặc trưng của tập ảnh
Tóm lại: Các mặt riêng chính là tập hợp các thành phần đã được chuẩn hóa, được rút ra bằng phương pháp phân tích thống kê (PCA) từ cơ sở ảnh dùng cho huấn luyện Mỗi ảnh mặt điều có thể xây dựng lại bằng cách kết hợp một vài hoặc tất các mặt riêng từ không gian riêng ( không gian được tạo từ các mặt riêng) như hình (3.4.1) và (3.4.2.)
Như trong hình ta thấy số mặt riêng dùng xây dựng lại ảnh mặt càng nhiều thì ảnh xây dựng lại càng chính xác
Hình 3.4.1: ảnh được xây dựng lại bằng 8 mặt riêng
Trang 23Hình 3.4.2: ảnh xây dựng lại bằng 30 mặt riêng
4.4.2 Xây Dựng Mặt Riêng với PCA
4.4.2.1 Biến Đổi Ảnh Mặt Thành Vectơ
Cho một ảnh mặt I(x,y), là mảng hai chiều có kích thước N x N của các giá trị cường độ, ảnh này thường được lượng tử hóa tới các giá trị 8 bit Mỗi cập giá trị
x và y biểu thị một vị trí trong ảnh Để tiện cho việc phân tích và tính toán sau này thì mỗi ảnh được xem như là một vectơ Các vectơ ảnh dược xây dựng bằng cách nối từng dòng pixel ảnh liên tiếp lại với nhau như hình 2.1 sau:
Hình 2.1: Tạo vectơ ảnh từ ảnh mặt
Thay vì có ma trận N x N chiều, ta lại có một vectơ chiều ví dụ, nếu ta có một ảnh kích thước 256 x 256 trở thành một vectơ 65.536 chiều hoăc tương một điểm trong không gian 65.536 chiều
là N x N Cơ sở của không gian này là gồm các vectơ sau
Hình 2.2: Cơ sở của không gian ảnh
Trang 24Một cách tổng thể thì các ảnh mặt là gần giống nhau vì chúng có mắt, mũi, miệng,
và chúng cùng nằm trong một không gian gọi là không gian mặt Các ảnh mặt này
sẽ không phân bố một cách ngẩu nhiên trong không gian vô cùng lớn này mà chúng phải được miêu tả trong một không gian con có chiều nhỏ hơn rất nhiều
Hình 2.3 Minh họa không gian mặt
Ý tưởng chính của phương pháp PCA là tìm các vectơ mà nó có thể giải thích một cách tốt nhất sự phân bố các ảnh mặt trong toàn bộ không gian ảnh PCA
sẽ nắm bắt toàn bộ sự thay đổi trong tập ảnh mặt để huấn luyện, và giải thích sự thay đổi này bằng một vài biến mới dễ xử lý và dễ hiểu hơn Khi có nhiều ảnh mặt cần xử lý thì việc giảm số chiều của mỗi ảnh là vô cùng quang trọng
3.4.2.3 Xây Dựng Mặt Riêng
Để xây dựng các mặt riêng cho tập mẫu dùng huấn luyện, trước tiên cần phải xác định vectơ trung bình (ảnh trung bình của tập mẫu), các vectơ độ lệch trung bình (các vectơ sau khi trừ đi với vectơ trung bình), và ma trận hiệp phương sai cho tập ảnh mẫu dùng huấn luyện
Cho tập ảnh mẫu huấn luyện gồm { } ảnh, mỗi ảnh T là một vectơ chiều và M là số ảnh trong tập mẫu huấn luyện
M T T T
M 1
Trang 25Ảnh minh họa cho ảnh trung bình như hình 3.4
Hình 3.4 Ảnh trung bình Vectơ độ lệch trung bình {φ1,φ2,φ3, φM1} chứa đựng sự khác biệt của mỗi ảnh trong tập huấn luyện so với vectơ trung bình Chúng được định nghĩa như sau:
T n n M
Từ phương trình (2.3) chúng ta cần tìm vectơ riêng và hệ số tỷ lệ u k λ sao cho: k
k k
Cu = λ (2.4)
k
l 0,
k
l 1,
Đặt:
Trang 26]
, , [ 1 2 3 M
Thì
T
AA M
Từ (2.7) cho ta chiều của ma trận C là và việc xác định vectơ riêng và trị riêng tương ứng từ ma trận ảnh lớn (65.536 x 65.536 trong ví dụ trên) là không thực tế Hơn nữa, mục đích sử dụng PCA là trình bày lại dữ liệu ở số chiều thấp hơn mà vẫn giữ được các thông tin chính của dữ liệu cho nên việc sử dụng vectơ riêng như trên là không khả thi Thật vậy, nếu số điểm dữ liệu trong không gian ảnh mà ta muốn chỉ M (M<< ) chiều, thì chỉ cần (M-1) vectơ riêng là đủ
A T
i i i
)(
1)
(
1
i i i
M v A A A
)(
1))(
(
1
M Av
Hoặc i i u i
M
Cu = 1 μ , với u i = Av i
Trang 27Nếu là vectơ riêng của v i A T A thì
• AA Tcó thể có tới N2 trị riêng và vectơ riêng
• A T A có thể có tới M trị riêng và vectơ riêng
• M trị riêng của (cùng với M vectơ riêng tương ưng) tương ứng với M trị riêng lớn nhất của ( cùng với các vectơ riêng tương ưng)
A
A T
T AA
Tính M vectơ riêng của AA T bằng cách: u i = Av i
Lưu ý: cần chuẩn hóa sao cho u i u i = 1
Từ M trị riêng và vectơ riêng tương ứng này ta chỉ cần giữ lại K (K<M) vectơ riêng ( tương ứng với K trị riêng lớn nhất) là đủ
) , , , max(
] , , ,
[ v1 v2 vk = u1 u2 uM , (K<M)
Sự kết hợp tuyến của M vectơ riêng lớn nhất v M và ΦM còn gọi là các mặt riêng u l
k M
k lk
Trang 28riêng càng tốt Với tập mẫu từ 10 đến 20 ảnh mặt thì chỉ cần ít hơn 10 mặt riêng là
đủ để miêu tả (giải thích) hơn 90% sự thay đổi trong tập mẫu đó
Hoặc theo Sirovich & Kirby, 1987, 1990 sử dụng 115 (M=115) ảnh là cơ sở dữ liệu thì chỉ cần 40 (M’=40) ảnh là đủ để xây dựng lại tất cả 115 ảnh mặt trong cơ sở trên Trong thực tế M’ có thể nhỏ hơn 40 vẫn có thể xây dựng lại tốt các ảnh trong
cơ sở 115 ảnh trên, vì việc miêu tả lại chính xác anh mặt là không cần thiết
Cụ thể ta chọn M’ mặt riêng có trị riêng lớn nhất tương ứng như sau:
9.0
1 1
M
i i
và vectơ riêng Ta thấy chỉ khoảng 30 mặt riêng ứng vơi trị riêng lớn nhất là đủ để miêu tả toàn bộ tập huấn luyện gồm 76 ảnh
Trang 29Hình 3.4 Tương quan giữa trị riêng và vectơ riêng
Hình chiếu mỗi ảnh cần kiểm tra của tập huấn luyện { } trong không gian mặt cho bởi phương trình sau:
M T T T
T1, 2, 3, ,
( ) ( − Ψ
= T i k
Trang 30Lưu đồ phân loại như hình sau
Thuật toán PCA được viết bằng Matlab
% phân tích PCA trên ảnh
% X: ảnh ngõ vào được vectơ hóa
% k: số vectơ riêng muốn giữ lại
% ed: trị riêng
% ev: vectơ riêng
[xdim,ndata] = size(X);
mean = sum(X,2)/ndata; % tính ma trận trung bình cho tập dữ liệu
X = X-repmat(mean,1,ndata); % ảnh ban đầu trừ cho ảnh trung bình
cov = X*X'/ndata; % xây dựng ma trận hiệp phương sai
Trang 31[ev,ed]=eig(cov);%phân tích vectơ riêng và trị riêng
ed = diag(ed); %lấy các trị riêng trên ma trận đường chéo
% sắp xếp các vectơ riêng theo trị riêng giảm dần
'
1
)(
M
i i i
f Av ωVới phương trình (2.14) và (2.15) thì ảnh xây dựng lại chỉ sử dụng M’ mặt riêng đầu tiên ứng với các trị riêng lớn nhất
Hiển nhiên ảnh xây dựng lại có sai số đáng kể so với ảnh gốc tùy thuộc vào số lượng mặt riêng dùng để tái tạo lại
Sai số tái tạo lại:
T
T T
Trang 324.6 Xây Dựng Lại Trạng Thái Mặt Với PCA
Phần lớn các phương pháp nhận nhận dạng mặt và trạng thái mặt đều tập trung phân tích các đặc trưng riêng như mắt, miệng, tư thế đầu hoặc định nghĩa một
mô hình mặt bởi vị trí, kích thước và mối liên hệ giữa những đặc trưng này Trích đặc trưng đóng vai trò đặc biệt quan trọng trong giai đoạn tiền xử lý PCA thường được sử dụng trong các bài toán nhận dạng mặt Thuật toán PCA tiêu biểu như đã trình bày ở phần trên PCA có ưu điểm hơn các thuật toán khác do tốc độ nhanh và tính đơn giản trong tính toán Trong luận văn này tôi dùng PCA trong giai đoạn tiền xử lý để trích đặc trưng từ ảnh mặt
Nhưng với bài toán nhận dạng dạng thái mặt thì thuật toán PCA áp dụng như sau: Chia tập huấn luyện thành 7 lớp ứng với 7 trạng thái mặt cần huấn luyện và dùng PCA để xây dựng không gian riêng cho mỗi lớp Để nhận dạng một ảnh trong tập kiểm tra, trước tiên chiếu nó vào trong không gian riêng của tất cả các lớp một cách độc lập và sau đó rút ra ảnh được xây dựng lại từ mỗi lớp Bằng cách đo tính tương đồng (sai số quân phương) giữa ảnh vào và ảnh xây dựng lại cửa mỗi lớp, chúng ta
có thể nhận dạng được ảnh kiểm tra thuộc lớp nào Sau đây là lưu đồ phát họa của phương pháp xây dựng mặt riêng dùng PCA
Trang 33Hình 3.1: Trình tự phân loại trạng thái mặt với PCA
Với lưu đồ trên thì khâu đo lường tính tương đồng có thể dùng phương pháp đo khoảng cách Euclidean hoặc mạng Neural Trong luận văn này dùng mạng Neural
Trang 34Chương 5: MẠNG NEURON CHO NHẬN DẠNG TRẠNG THÁI MẶT
5.1 Giới Thiệu
Bộ não con người là hệ thống xử lý thông tin phức hợp, phi tuyến và song song, có khả năng học, ghi nhớ, tổng qáut hóa và xử lý lỗi bộ não người gồm khoảng 1011tế bào thần kinh liên kết lại với nhau thành mạng
Hình 4.1
Tế bào thần kinh sinh học có cấu tạo như hình 4.1, mỗi tế bào thần kinh sinh học gồm 3 thành phần chính là thân tế bào ( soma), một hệ thống hình cây các đầu dây thần kinh vào (dendrites) và một trục (Axon) dẫn đến đầu dây thần kinh ra Tại đầu của các dây thần kinh có các khớp thần kinh (synapse) để kết nối với các tế bào thần kinh khác Mỗi tế bào thần kinh trong bộ não người có khoảng khớp thần kinh Có hai loại khớp là khớp nối kích thich (excitatory) và ức chế (inhibitory)
4
10
Tín hiệu truyền trong các dây thần kinh vào và ra của các tế bào thần kinh là tín hiệu điện phát sinh thông qua quá trình phản ứng và giải phóng các chất hữu cơ Các chất này được phát ra từ các khớp nối dẫn đến các dây thần kinh vào sẽ làm
Trang 35tăng hay giảm điện thế của nhân tế bào Khi điện thế này đạt đến một ngưỡng nào
đó, sẽ tạo ra một xung điện dẫn đến trục dây thần kinh ra Xung dày được truyền dọc theo trục, tới cá nhánh rẽ khi chạm tới các khớp nối với các tế bào thần kinh khác sẽ giải phóng cá chất truyền điện Quá trình lan truyền điện cứ tiếp tục như vậy cho đến khi đầu ra cuối cùng
Mạng thần kinh nhân tạo là mô hình toán học đơn giản của bộ não con ngừơi, bản chất của mạng thần kinh nhân tạo là mạng tính toán phân bố song song Trái với các mô hình toán học thông thường, hầu hết các mạng thần kinh phải được huấn luyện trước khi sử dụng Các nghiên cứu về mạng thần kinh nhân tạo được bắt đầu
từ những năm 1940 Năm 1944, McCullloch và Pitts công bố công trình nghiên cứu sự liên kết của các tế bào thần kinh Năm 1949, Hebb công bố nghiên cứu về tính thích nghi của mạng thần kinh Cuối những năm 1950 Rosenblatt đưa ra mạng Perceptron Nghiên cứu về mạng thần kinh chỉ phát triển mạnh từ sau 1980 sau giai đoạn thoái trào từ năm 1969 khi Minsky Papert chỉ ra một số khuyết điểm của mạng Perceptron Năm 1985, mạng Hopfield ra đời và sau đó một năm là mạng lan truyền ngược Đến nay đã có rất nhiều cấu hình mạng và các thuật toán huấn luyện tương ứng được công bố để giải quyết các bài toán khác nhau
5.2 Tế Bào Thần Kinh Và Mạng Thần Kinh Nhân Tạo
5.2.1 Tế bào thần kinh
Mạng thần kinh nhân tạo có thể xem như là một mô hình toán học đơn giản của bộ não người Mạng gồm các tế bào thần kinh ( đơn vị xử lý) kết nối với nhau bởi các liên kết Mỗi liên kết gồm một trọng số, đặc trưng cho đặc tính kích thich hay ức chế giữa các tế bào thần kinh