Mạng neural và rút trích đặc điểm đặc trưng 2.1 Mạng neural Mô hình mạng nơ ron gồm 3 lớp: lớp nhập, lớp ẩn và lớp xuất. Mỗi nút trong lớp nhập nhận giá trị của một biến độc lập và chuyển vào mạng. Dữ liệu từ tất cả các nút trong lớp nhập được tích hợp và chuyển kết quả cho các nút trong lớp ẩn. Dữ liệu từ lớp ẩn sẽ tiếp tục đưa đến lớp xuấtViệc học trong mạng neural gồm có 3 bước chính:•Bước 1:Tính toán đầu ra•Bước 2:So sánh đầu ra với đầu vào mong đợi•Bước 3: Nếu chính xác thì giữ lại trọng số và kết thúc quá trình học. Ngược lại thì thay đổi trọng số rồi quay lại bước đầu tiên 2.2 Rút trích đặc trưng Trích rút đặc trưng của khuôn mặt bằng phương pháp FFT kết hợp với bộ lọc Gabor (Gabor filter). Phương pháp này gồm 2 bước chính:•Bước 1 : xác định vị trí của điểm đặc trưng•Bước 2: Tính toán vector đặc trưng.3. Chuẩn bị cơ sở dữ liệu Trong phần này, chúng em chuẩn bị 3 tập dữ liệu Tập face, nonface phục vụ cho quá trình huấn luyện mạng neural và tập ảnh cần để kiểm tra hệ thống Tập face và nonface được lấy từ nguồn chuyên phục vụ xác định khuôn mặt. Chúng đều là ảnh xám có kích thước chuẩn là 27x18 pixel.http:vasc.ri.cmu.eduidbimagesfacefrontal_imagesimages.html4. Áp dụng dò tìm khuôn mặt Áp dụng tập bộ dò tìm dựa trên mạng neural , và sau đó sử dụng một bộ phân xử kết hợp các đầu ra. Quá trình dò tìm sử dụng phương pháp chóp ảnh, chóp ảnh cho phép tìm kiếm mọi kích thước của khuôn mặt. Sử dụng 1 số giữa giá trị 1 và 1 để chỉ ra vị trí đâu là khuôn mặt, đâu không phải là khuôn mặt. Giá trị 1 tương ứng với vị trí là khuôn mặt và 1 tương ứng với vị trí không phải là khuôn mặt. Ngoài ra ta còn sử dụng giá trị ngưỡng để giúp cho việc phân loại trở nên chính xác hơn. Trong đồ án này ta lấy giá trị ngưỡng là 0.5. Tức là tất cả các mẫu dương sẽ chứa vị trí khuôn mặt, còn các mẫu âm chứa phong cảnh.5. Quá trình xây dựng và kết quả của phương pháp xác định khuôn mặt dựa trên mạng neural.5.1Các bước chính 1.Tạo cơ sở dữ liệu2.Thiết lập mạng neural cơ bản3.Tiến hành quá trình huấn luyện4.xác định vị trí khuôn mặtTa sử dụng matlab toolbox để xây dựng mạng neural cơ bản có 2160 lớp vào, 100 lớp ẩn và 1 lớp ra và tiến hành quá trình huấn luyện với 4 hàm cơ bản trainscg, traincgb, traincgp và traincgfTỉ lệ thành công của phương pháp được tính theo công thức:Tỉ lệ thành công(%)= 100%(tỉ lệ phát hiện sai(%) +tỉ lệ khuôn mặt khôngphát hiện(%)) 4
Trang 1LỜI CAM ĐOAN
Lê Thị Cẩm Vân 07DT4
Sinh viên : Khoa Điện Tử-Viễn Thông, khóa 07 Đại Học Bách Khoa Đà Nẵng
Đề tài : Xác định khuôn mặt người dựa trên mạng Nơ-ron
Chúng tôi xin cam đoan đồ án tốt nghiệp này không sao chép hoàn toàn bất kì đồ ánhay đề tài nghiên cứu khoa học nào Nếu vi phạm tôi xin chịu hoàn toàn trách nhiệmtrước nhà trường và khoa
Trang 2MỤC LỤC
LỜI CAM ĐOAN i
CÁC TỪ VIẾT TẮT iiiDANH MỤC CÁC HÌNH VẼ ivLỜI MỞ ĐẦUvi
1.6 Kết luận chương xiii4.4 Kết luận chương xxxviii5.1 Giới thiệu chương xxxix5.4 Chương trình con tạo mạng Nơ-ron đơn giản xl5.5 Chương trình con huấn luyện và phân lớp xli
5.6 Tổng kết chương xliiCHƯƠNG 6: KẾT QUẢ MÔ PHỎNG xlii6.1 Giới thiệu chương xlii6.2 Kết quả với TRAINSCG xliii6.3 Kết quả với TRAINCGB xlv6.6 So sánh kết quả li6.8 Kết quả thu được khi thay đổi số Nơ-ron trong lớp ẩn với hàm traincgb liii6.9 Kết quả thu được khi thay đổi số Nơ-ron trong lớp ẩn với hàm traincgf liv6.10 Kết quả thu được khi thay đổi số Nơ-ron trong lớp ẩn với hàm traincgp lv6.11 So sánh kết quả của 4 hàm trên khi thay đổi số Nơ-ron trong lớp ẩn lvi6.12 Kết luận chương lviiHƯỚNG PHÁT TRIỂN ĐỀ TÀI lvii
Trang ii
Trang 3CÁC TỪ VIẾT TẮT
FFT : Fast Fourier Transform
PCA : Principal Component Analysis
MLP : Multi Layer Perception
TRAINSCG: Scaled Cọnjugate Gradient Backpropagation
TRAINCGB: Conjugate gradient backpropagation with Powell-Beale restarts
TRAINCGP: Conjugate gradient backpropagation with Polak-Ribiére updates
TRAINCGF: Conjugate gradient backpropagation with Fletcher-Reeves updates
Trang iii
Trang 4Hình 2.3 Các mẫu dùng để kiểm tra.
Hình 2.4 Trái: Mẫu khuôn mặt chuẩn Phải: Các vị trí đặc trưng
Hình 2.5 Các mẫu của khuôn mặt thẳng
Hình 2.6 Các bước trong việc tiền xử lí windown
Hình 2.7 Phân đoạn ảnh nền với thuật toán E
Hình 3.1 Mô hình mạng Nơ-ron.
Hình 3.2 Mạng Nơ-ron truyền thẳng một lớp
Hình 3.3 Mạng Nơ-ron truyền thẳng nhiều lớp
Hình 3.4 Ảnh thực hiện phép biến đổi FFT
Hình 3.5 Biến đổi của bộ lọc Gabor
Hình 3.6 Ví dụ về đáp ứng khuôn mặt dựa trên bộ lọc Gabor
Hình 3.7 Các điểm đặc trưng khuôn mặt người được trích từ đáp ứng của bộ lọc
Gabor
Hình 3.8 Các bước thực hiện quá trình rút trích đặc trưng
Hình 4.1 Thuật toán dò tìm khuôn mặt
Hình 4.2 Ảnh minh họa khi chưa sử dụng heuristic
Hình 4.3 Kết quả khi sử dụng heuristic
Hình 4.4 Ảnh minh họa việc đánh mất cửa sổ khi sử dụng Heuristic
Hình 4.5 AND các đầu ra từ hai mạng trên các vị trí và tỷ lệ khác nhau có
thể cải thiện độ chính xác dò tìm
Hình5.1 Lưu đồ các bước trong chương trình chính
Trang iv
Trang 5Hình 5.2 Lưu đồ chương trình tạo cơ sở dữ liệu.
Hình 5.3 Cấu trúc mạng Nơ-ron
Hình 6.1 Các ảnh kiểm tra với phương pháp trainscg
Hình 6.2 Bảng thống kê số liệu khi ứng dụng phương pháp trainscg
Hình 6.3 Các ảnh kiểm tra với phương pháp traincgb
Hình 6.4 Bảng thống kê số liệu khi ứng dụng phương pháp traincgb
Hình 6.5 Các ảnh kiểm tra với phương pháp traincgf
Hình 6.6 Bảng thống kê số liệu khi ứng dụng phương pháp traincgf
Hình 6.7 Các ảnh kiểm tra với phương pháp traincgp
Hình 6.8 Bảng thống kê số liệu khi ứng dụng phương pháp traincgp
Hình 6.9 kết quả của 4 phương pháp
Trang v
Trang 6LỜI MỞ ĐẦU
Trong những năm gần đây, các ứng dụng về trí tuệ nhân tạo ngày càng phát triển và được đánh giá cao Một lĩnh vực đang được quan tâm của trí tuệ nhân tạo nhằm tạo ra các ứng dụng thông minh, có tính người đó là nhận dạng Đối tượng cho việc nghiên cứu nhận dạng cũng rất phong phú và đa dạng Trong đề tài này em chọn đối tượng là khuôn mặt
Khuôn mặt đóng vai trò quan trọng trong quá trình giao tiếp giữa người với người,
và cũng mang một lượng thông tin giàu có, chẳng hạn có thể xác định giới tính, tuổitác, trạng thái cảm xúc của người đó, hơn nữa khảo sát chuyển động của các đườngnét trên khuôn mặt có thể biết được người đó muốn nói gì.Trong hệ thống nhận dạngngười thì quá trình xác định khuôn mặt người được đánh giá là bước khó khăn và quantrọng nhất so với các bước còn lại của hệ thống Do đó, xác định khuôn mặt là điềuquan trọng và cần thiết Đó là lí do cơ bản để em chọn đề tài :
“XÁC ĐỊNH KHUÔN MẶT NGƯỜI DỰA TRÊN MẠNG NƠ-RON”
Đề tài được chia thành 6 chương với nội dung sau:
chương này, đồ án trình bày mô hình cũng như định nghĩa về bài toán xác địnhkhuôn mặt Nêu ra những khó khăn tồn tại đối với phương pháp xác định khuônmặt Đồng thời xây dựng theo hướng tiếp cận dựa trên diện mạo Cụ thể là ứngdụng mạng Nơ-ron
trình bày cơ sở xây dựng tập cơ sở dữ liệu và các giai đoạn tiền xử lí để nângcao chất lượng hình ảnh
chương trình này trình bày hai kĩ thuật quan trọng trong hệ thống xác định
Trang vi
Trang 7khuôn mặt: Mạng Nơ-ron và kĩ thuật rút trích đặc trưng bằng phương pháp FFTkết hợp với bộ lọc Gabor.
xác định vị trí của khuôn mặt
mạng Nơ-ron
Mặc dù đã cố gắng rất nhiều, nhưng do thời gian có hạn, khả năng dịch và hiểutài liệu chưa tốt nên nội dung đồ án này không thể tránh khỏi những thiếu sót, rấtmong được sự chỉ bảo, góp ý của các thầy cô và các bạn
Em xin chân thành cảm ơn các thầy cô khoa Điện tử-Viễn thông, Đại học báchkhoa Đà Nẵng đã tận tình dạy bảo, truyền đạt nhiều kiến thức quí báu cho chúng
em Đặc biệt em xin gửi lời cảm ơn chân thành nhất đến Tiến Sĩ Bùi Thị Minh Tú
đã tận tình giúp đỡ và chỉ dẫn, cũng như định hướng đề tài cho em trong suốt thờigian làm đồ án tốt nghiệp
Chương 1: TỔNG QUAN VỀ HỆ THỐNG XÁC ĐỊNH KHUÔN MẶT
NGƯỜI
1.1 Giới thiệu chương
Hơn một thập kỷ qua có rất nhiều công trình nghiên cứu về bài toán xác định khuônmặt người từ ảnh đen trắng, xám đến ảnh màu như ngày hôm nay Các nghiên cứu đi
Trang vii
Trang 8từ bài toán đơn giản, mỗi ảnh chỉ có một khuôn mặt người nhìn thẳng vào thiết bị thuhình và đầu ở tư thế thẳng đứng trong ảnh đen trắng Cho đến ngày hôm nay bài toán
mở rộng cho ảnh màu, có nhiều khuôn mặt trong cùng một ảnh, có nhiều tư thế thayđổi trong ảnh Không những vậy mà còn mở rộng cả phạm vi từ môi trường xungquanh khá đơn giản (trong phòng thí nghiệm) cho đến môi trường xung quanh rất phứctạp (như trong tự nhiên) nhằm đáp ứng nhu cầu thật sự và rất nhiều của con người
1.2 Hệ thống xác định khuôn mặt và ứng dụng
1.2.1 Định nghĩa
Xác định khuôn mặt người (Face Detection) là một kỹ thuật máy tính để xác địnhcác vị trí và các kích thước của các khuôn mặt người trong các ảnh bất kỳ Kỹ thuậtnày nhận biết các đặc trưng của khuôn mặt và bỏ qua những thứ khác, như: tòa nhà,cây cối, cơ thể…
Input output
Hình 1.1 Ví dụ về xác định khuôn mặt
1.2.2 Một số lĩnh vực ứng dụng xác định khuôn mặt
Xác định khuôn mặt đã được ứng dụng nhiều trong các lĩnh vực:
* Hệ thống tương tác giữa người và máy (điều kiển máy tính qua các cử động củakhuôn mặt)
* Hệ thống nhận dạng người (giúp cho các cơ quan an ninh quản lý tốt con người)
* Hệ thống quan sát, bảo vệ, quản lý việc ra vào cho các cơ quan và công ty
Trang viii
Hệ thống xácđịnh khuôn mặt
Trang 9* Hệ thống trợ giúp lái xe, hệ thống phân tích cảm xúc trên khuôn mặt, và hệthống nhận dạng khuôn mặt cho các máy ảnh kỹ thuật số
1.3 Một số phương pháp xác định khuôn mặt người
Hiện nay có rất nhiều phương pháp xác định khuôn mặt người, dựa vào các tínhchất của các phương pháp, ta có thể chia ra làm bốn hướng tiếp cận chính như sau:
o Hướng tiếp cận dựa trên tri thức: Mã hóa các hiểu biết của con người về các
loại khuôn mặt người thành các luật Thông thường các luật mô tả quan hệ của cácđặc trưng.
o Hướng tiếp cận dựa trên đặc trưng không thay đổi: Mục tiêu các thuật toán đi tìm các đặc trưng mô tả cấu trúc khuôn mặt người mà các đặc trưng này sẽ không thay đổi khi tư thế khuôn mặt, vị trí đặt thiết bị thu hình hoặc điều kiện ánh sáng
thay đổi
o Hướng tiếp cận dựa trên so khớp mẫu: Dùng các mẫu chuẩn của khuôn mặt
người (các mẫu này được chọn lựa và lưu trữ) để mô tả cho khuôn mặt người haycác đặc trưng khuôn mặt (các mẫu này phải chọn làm sao cho tách biệt nhau theotiêu chuẩn mà các tác giả định ra để so sánh) Các mối tương quan giữa dữ liệu ảnhđưa vào và các mẫu dùng để xác định khuôn mặt người
o Hướng tiếp cận dựa trên diện mạo: Trái ngược hẳn với so khớp mẫu, các mô
hình (hay các mẫu) được học từ một tập ảnh huấn luyện trước đó Sau đó hệ thống(mô hình) sẽ xác định khuôn mặt người Hay một số tác giả còn gọi hướng tiếp cậnnày là hướng tiếp cận theo phương pháp học
1.3.1 Hướng tiếp cận dựa trên tri thức
Trong hướng tiếp cận này, các luật sẽ phụ thuộc rất lớn vào tri thức của những tácgiả nghiên cứu về bài toán xác định khuôn mặt người Đây là hướng tiếp cận dạng top-down Dễ dàng xây dựng các luật cơ bản để mô tả các đặc trưng của khuôn mặt và cácquan hệ tương ứng
Trang ix
Trang 10Ví dụ: một khuôn mặt thường có hai mắt đối xứng nhau qua trục thẳng đứng ở giữakhuôn mặt và có một mũi, một miệng Các quan hệ của các đặc trưng có thể được mô
tả như quan hệ về khoảng cách và vị trí Thông thường các tác giả sẽ trích đặc trưngcủa khuôn mặt trước tiên để có được các ứng viên, sau đó các ứng viên này sẽ đượcxác định thông qua các luật để biết ứng viên nào là khuôn mặt và ứng viên nào khôngphải khuôn mặt Thường áp dụng quá trình xác định để giảm số lượng xác định sai
1.3.2 Hướng tiếp cận dựa trên đặc trưng không thay đổi
Đây là hướng tiếp cận theo kiểu bottom-up Các tác giả cố gắng tìm các đặc trưngkhông thay đổi của khuôn mặt người để xác định khuôn mặt người Dựa trên nhận xétthực tế, con người dễ dàng nhận biết các khuôn mặt và các đối tượng trong các tư thếkhác nhau và điều kiện ánh sáng khác nhau, thì phải tồn tại các thuộc tính hay đặctrưng không thay đổi Có nhiều nghiên cứu đầu tiên xác định các đặc trưng khuôn mặtrồi chỉ ra có khuôn mặt trong ảnh hay không Các đặc trưng như: lông mày, mắt, mũi,miệng, và đường viền của tóc được trích bằng phương pháp xác định cạnh Trên cơ sởcác đặc trưng này, xây dựng một mô hình thống kê để mô tả quan hệ của các đặc trưngnày và xác định sự tồn tại của khuôn mặt trong ảnh
1.3.3 Hướng tiếp cận dựa trên dựa trên so khớp mẫu
Trong so khớp mẫu, các mẫu chuẩn của khuôn mặt (thường là khuôn mặt được chụpthẳng) sẽ được xác định trước hoặc xác định các tham số thông qua một hàm Từ mộtảnh đưa vào, tính các giá trị tương quan so với các mẫu chuẩn về đường viền khuônmặt, mắt, mũi và miệng Thông qua các giá trị tương quan này mà các tác giả quyếtđịnh có hay không có tồn tại khuôn mặt trong ảnh
Hướng tiếp cận này có lợi thế là rất dễ cài đặt, nhưng không hiệu quả khi tỷ lệ, tưthế, và hình dáng thay đổi
1.3.4 Hướng tiếp cận dựa trên diện mạo
Trang x
Trang 11Trái ngược với các phương pháp so khớp mẫu với các mẫu đã được định nghĩatrước bởi những chuyên gia, các mẫu trong hướng tiếp cận này được học từ các ảnhmẫu Một cách tổng quát, các phương pháp theo hướng tiếp cận này áp dụng các kỹthuật theo hướng xác suất thống kê và máy học để tìm những đặc tính liên quan củakhuôn mặt và không phải là khuôn mặt Các đặc tính đã được học ở trong hình thái các
mô hình phân bố hay các hàm biệt số nên dùng có thể dùng các đặc tính này để xácđịnh khuôn mặt người Đồng thời, bài toán giảm số chiều thường được quan tâm đểtăng hiệu quả tính toán cũng như hiệu quả xác định
Ưu điểm của hướng tiếp cận này là: Các phương pháp theo 3 hướng tiếp cận đầuthường cho tốc độ xử lí nhanh, tuy nhiên có nhược điểm là kết quả xử lí chưa cao.Ngược lại các phương pháp dựa trên máy học thường cho kết quả chính xác hơn
1.4 Khó khăn và thách thức trong bài toán xác định khuôn mặt
Việc xác định khuôn mặt người có những khó khăn nhất định như sau:
• Tư thế khuôn mặt (pose): của khuôn mặt đối với máy ảnh như: nhìn
thẳng, nhìn nghiêng hay nhìn từ trên xuống Cùng trong một ảnh có thể cónhiều khuôn mặt ở những tư thế khác nhau
• Nội dung khuôn mặt: khuôn mặt chứa đầy đủ các thông tin như: mắt, mũi,
miệng, hay thiếu một vài đặc trưng nào đó
• Trạng thái khuôn mặt: Các nét mặt khác nhau trên khuôn mặt như: vui,
buồn, tức giận, ngạc nhiên, …
1.5 Hướng tiếp cận được thử nghiệm trong đồ án
Trong đề tài xác định khuôn mặt người, em sẽ đi theo hướng tiếp cận dựa trên diệnmạo Cụ thể là em sẽ trình bày phương pháp tiêu biểu của phương pháp máy học đó là:Mạng Nơ-ron
1.5.1 Mạng Nơ-ron nhân tạo
Trang xi
Trang 12Là một hệ thống bao gồm nhiều phần tử xử lý đơn giản(hay còn gọi là nơ-ron) hoạtđộng song song và được nối với nhau bằng các liên kết nơ-ron Mỗi liên kết kèm theomột trọng số nào đó, đặc trưng cho tính kích hoạt hay ức chế của các nơron
1.5.2 Ứng dụng của mạng Nơ-ron trong bài toán xác định khuôn mặt
Mạng Nơ-ron được áp dụng rộng rãi và tương đối thành công trong các bài toánnhận dạng mẫu như: Nhận diện kí tự ( nhận diện chữ viết), đối tượng (object) , điềukhiển robot …Một trong những ưu điểm của mạng nơ-ron là tính khả thi của hệ thốnghọc là cơ sở dữ liệu mẫu đa dạng và phức tạp vì vậy khả năng phát hiện khuôn mặt rấtlớn.Tuy nhiên điều trở ngại là các kiến trúc mạng đều quá lớn ,vì vậy khi áp dụng vàotrường hợp cụ thể phải xác định rõ ràng số lượng tầng ,số lượng node , tỉ lệ … chotừng trường hợp
Theo đánh giá của các chuyên gia thì phương pháp xác định mặt người bằng mangnơ-ron của Rowel đối với ảnh xám là tốt nhất Một mạng đa tầng được dùng để họccác mẫu khuôn mặt và không phải là khuôn mặt từ các ảnh tương ứng ( dựa trên quan
hệ về cường độ và mặt không gian của các điểm ảnh) Đây cũng là phương pháp mạngnơ-ron mà em sẽ trình bày cụ thể trong các chương sau của luận văn
1.5.3 Các bước xác định khuôn mặt dựa trên mạng Nơ-ron
Hệ thống xác định khuôn mặt thực hiện các bước chính sau :
• Ước lượng vị trí: việc dùng tiếp cận máy học, cụ thể là mạng Nơ-ron, đòi hỏi
việc huấn luyện mẫu Để giảm số lượng biến đổi trong ảnh huấn luyện dương,ảnh được canh biên với các ảnh khác để cực tiểu hoá các biến đổi vị trí đặctrưng khuôn mặt Khi thi hành chương trình, ta không biết chính xác các vị tríđặc trưng khuôn mặt, do đó không thể dùng chúng để định vị các ứng viênkhuôn mặt tiềm năng Thay vậy, ta dò tìm toàn diện ở mọi vị trí và tỷ lệ để tìmmọi vị trí ứng viên Các cải tiến dò tìm toàn diện làm cho thuật toán nhanh hơn,với tỷ lệ dò tìm giảm 10% đến 30%
Trang xii
Trang 13• Tiền xử lý: để giảm các biến đổi gây ra do chiếu sáng hay camera, ảnh được
tiền xử lý với các thuật toán chuẩn như cân bằng lược đồ để cải thiện độ sáng
và độ tương phản trong ảnh Sau đó ta tiến hành phân mảnh ảnh và rút trích cácđặc trưng quan trọng của khuôn mặt, đồng thời tiến hành phân tích độ nhạy đểlọc bỏ các thông tin dư thừa
• Dò tìm: các khuôn mặt tiềm năng đã chuẩn hoá về vị trí, tư thế, và độ sáng
trong hai bước đầu tiên được khảo sát để xác định chúng có thực sự là khuônmặt hay không Quyết định này được thực hiện bằng mạng Nơ-ron đã huấnluyện với nhiều ảnh mẫu khuôn mặt và không khuôn mặt
• Quyết định: Kết hợp nhiều mạng để có được một quyết định khách quan nhất.
Mỗi mạng học những điều khác nhau từ dữ liệu huấn luyện, và đưa ra các lỗikhác nhau Các quyết định của chúng có thể kết hợp dùng một số phương thứcđơn giản khác, làm tăng độ chính xác dò tìm khuôn mặt và ngăn chặn lỗi
1.6 Kết luận chương
Qua chương này, ta đã có cái nhìn tổng quan về hệ thống xác định khuôn mặt cũngnhư các khó khăn trong quá trình thực hiện Sau khi phân tích được ưu nhược điểmcủa các cách tiếp cận , cho ta thấy được hướng tiếp cận dựa trên diện mạo cho kết quảtương đối chính xác so với các hướng tiếp cận khác Từ đó đi tới quyết định thực hiệnnhận dạng mặt người dựa trên phương pháp mạng Nơ-ron Trong chương này cũng
đã trình bày sơ lược về các bước thực hiện chính trong phương pháp nhận diện dựatrên mạng Nơ-ron
Chương 2: CƠ SỞ DỮ LIỆU VÀ CÁC BƯỚC TIỀN XỬ LÝ
2.1 Giới thiệu chương
Trong chương này, em sẽ trình bày các bước chuẩn bị dữ liệu để áp dụng thuật toánxác định khuôn mặt bằng mạng Nơ-ron
Trang xiii
Trang 14 Dữ liệu cho huấn luyện mạng Nơ-ron: bao gồm tập các dữ liệu khuôn mặt vàkhông phải khuôn mặt Tập các ảnh sử dụng để huấn luyện mạng
Dữ liệu dùng để khảo sát và thử nghiệm kết quả hoạt động của hệ thống
2.2 Nguồn cơ sở dữ liệu
2.2.1 Các nguồn cơ sở dữ liệu
Trong phần này, Em xin giới thiệu các nguồn cơ sở dữ liệu hình ảnh Các ảnh nàyđược lấy từ nguồn chuyên phục vụ nhận diện khuôn mặt
http://vasc.ri.cmu.edu/idb/images/face/frontal_images/images.html Cơ sở dữ liệu gồmcác ảnh xám có kích thước chuẩn hoá 27x18 (pixels).Một vài ảnh sẽ được minh họatrong hình sau:
Hình 2.1 Một số mẫu mặt người làm cơ sở dữ liệu trong hệ thống xác định khuôn mặt
Hình 2.2 Một sỗ mẫu không phải là mặt người làm cơ sở dữ liệu cho hệ thống xác định
Trang xiv
Trang 15
Hình 2.3: Các mẫu dùng để kiểm tra Nhận xét về tập mẫu giữ liệu: Hầu hết các khuôn mặt xuất hiện trong ảnh là
góc không đáng kể
2.2.2 Biểu diễn dữ liệu khuôn mặt trong máy tính
Dữ liệu ảnh biểu diễn bên trong máy tính là cường độ sáng của điểm ảnh, tại vị trị x
bố trí để thí nghiệm cho phương pháp PCA
Đọc từng khối ảnh có kích thước 8×32 (pixel) theo thứ tự khối dưới chồnglấp khối trên một nữa kích thước tính theo chiều cao, trên mỗi khối ảnh này ta lạitiếp tục tách ra mỗi khối con 8×8 liên tục nhau Từ khối 8×8(pixels), chúng tôichọn ra 20 hệ số đặc trưng từ phép biến đổi trên miền tần số Mỗi khối ảnh 8×32
sẽ được lượng hoá thành mỗi vector một chiều Như vậy đỗi với ảnh mỗi khuôn
Trang xv
Trang 16mặt ta biểu biển trong máy tính thành một chuỗi các vector một chiều liên tiếpnhau.
2.3 Gán nhãn và canh biên các đặc trưng khuôn mặt
Bước đầu tiên trong việc giảm số các biến đổi trong ảnh khuôn mặt là canh biên các
khuôn mặt này với khuôn mặt khác Việc canh biên này sẽ làm giảm các biến đổi về vịtrí, hướng, và tỷ lệ các khuôn mặt Việc canh biên được tính trực tiếp từ các ảnh Và
nó tạo ra không gian ảnh khuôn mặt tối thiểu Cường độ ảnh khuôn mặt có thể biến đổinhiều, làm cho một số khuôn mặt khó canh biên với nhau Ta dùng giải pháp gán nhãnthủ công các mẫu khuôn mặt Bước tiếp theo là dùng thông tin này để canh biên cáckhuôn mặt với khuôn mặt khác Trước hết định nghĩa canh biên giữa hai tập điểm đặctrưng Đó là phép quay, biến đổi tỷ lệ, và dich chuyển để làm cực tiểu hoá tổng bìnhphương khoảng cách giữa từng cặp đặc trưng tương ứng Trong không gian hai chiều,một phép biến đổi toạ độ như vậy có thể được viết dưới dạng sau:
cossin
sincos
'
'
y
x t a b
t b a t
t y
x s
s
s s
y
x
y
x y
x
θθ
θθ
[3]
Khi có hai hay nhiều hơn cặp điểm đặc trưng phân biệt, hệ các phương trình tuyếntính có thể được giải bằng phương pháp đảo ngược giả Gọi ma trận bên trái là A,vector (a, b, t-x, ty) là T, và bên phải là B, khi đó lời giải:
T=(A T.A)− 1(A T B) [3]
Lời giải đảo ngược giả đưa ra phép biến đổi T làm cực tiểu tổng bình phương khácbiệt giữa tập toạ độ x’i, y’i và phiên bản đã biến đổi của xi, yi
Canh biên tập các điểm đặc trưng :
Bước 1 : Khởi tạo F , vector sẽ là vị trí trung bình của mỗi đặc trưng gán nhãn
trên mọi khuôn mặt, với một số vị trí đặc trưng ban đầu Trong trường hợpcanh biên các khuôn mặt thẳng, các đặc trưng này là vị trí mong muốn của hai
Trang xvi
Trang 17mắt, đỉnh mũi, hai góc và trung tâm miệng của mỗi khuôn mặt trong cửa sổ đầuvào.
Bước 2 : Với mỗi khuôn mặt i, dùng thủ tục canh biên để tính phép quay, dịchchuyển, và biến đổi tỷ lệ tốt nhất để canh biên các đặc trưng khuôn mặt Fi với
các vị trí đặc trưng trung bình F Gọi vị trí đặc trưng đã canh biên F’i.
Bước 3 : Cập nhật F bằng việc lấy trung bình các vị trí đặc trưng đã canh biên
F’i cho mỗi khuôn mặt i
Bước 4 : Toạ độ đặc trưng trong F được quay, dịch chuyển và biến đổi để phù
hợp với một số toạ độ chuẩn Toạ độ chuẩn là toạ độ được dùng làm giá trị
khởi tạo cho F
Bước 5: Sang bước 2
Theo kinh nghiệm, thuật toán hội tụ trong vòng năm lần lặp, tạo cho mỗi khuôn mặtphép biến đổi để ánh xạ nó gần về vị trí chuẩn, và canh biên với mọi khuôn mặt khác.Khi đã biết các tham số để canh biên khuôn mặt, ảnh có thể được lấy mẫu lại dùng nộisuy song tuyến tính Khuôn mặt chuẩn và phân phối của các vị trí đặc trưng được chotrong hình 3.4.
Hình 2.4 Trái: Mẫu khuôn mặt chuẩn Phải: Các vị trí đặc trưng Trong quá trình huấn luyện xác định khuôn mặt, thì số lượng mẫu cần thiết dùngcho quá trình xác định rất quan trọng Điều này có thể thực hiện bằng cách xoay,chuyển đổi , lấy tỉ lệ các mẫu
Trangxvii
Trang 18Hình 2.5 Các mẫu của khuôn mặt thẳng
2.4 Tiền xử lý về độ sáng và độ tương phản trên tập mẫu học
Sau khi canh biên các khuôn mặt, vẫn còn một nguồn biến đổi chính (không kể biếnđổi về bản chất giữa các khuôn mặt) Biến đổi này gây ra do độ sáng và các đặc tínhmáy ảnh, dẫn đến các ảnh có độ sáng tươi hay kém, hoặc ảnh có độ tương phản kém
Kỹ thuật tiền xử lý trước hết cân bằng các giá trị mật độ trên toàn cửa sổ Lập hàmbiến đổi tuyến tính giá trị mật độ trong vùng tròn trong cửa sổ Các điểm ảnh bênngoài hình tròn có thể là nền Nếu mật độ của pixel (x,y) là I(x,y), khi đó cách biến đổituyến tính này được tham số hoá bởi a, b, c với:
Trangxviii
Trang 19tuyến tính này sẽ xấp xỉ toàn bộ độ sáng của mỗi phần của cửa sổ, và bị trừ đi với cửa
sổ để cân bằng biến đổi về độ sáng
Tiếp theo, cân bằng lược đồ, ánh xạ không tuyến tính các giá trị mật độ để mở rộngmiền cường độ trong cửa sổ Lược đồ được tính với các pixel trong vùng tròn trongcửa sổ Việc này bù cho các khác biệt trong việc thu nhận đầu vào camera, và cũng cảithiện độ tương phản trong một số trường hợp Các kết qủa của mỗi bước được chotrong hình
Hình 2.6 Các bước trong việc tiền xử lí windown
2.6 Kết luận chương:
Phần đầu của chương mô tả tập ảnh dùng trong quá trình huấn luyện và kiểm tra.Trong phần sau của chương ta cũng đã tìm hiểu một số phương pháp góp phần làm cảithiện chất lượng của ảnh trước khi tiến hành huấn luyện
Chương 3: MẠNG NƠ-RON VÀ RÚT TRÍCH ĐIỂM ĐẶC TRƯNG KHUÔN
MẶT
Trang xix
Trang 203.1 Giới thiệu chương:
Trong chương này, em sẽ trình bày cụ thể về mạng Nơ-ron và trích rút các đặc trưngcủa khuôn mặt bằng phương pháp FFT kết hợp với bộ lọc Gabor (Gabor filter)
3.2 Tổng quan về mạng Nơ-ron nhân tạo
3.2.1 Khái niệm mạng Nơ-ron:
Mạng Nơ-ron là một mạng bao gồm rất nhiều bộ xử lý đơn giản (gọi là các unit),
mỗi unit có vùng nhớ riêng của mình Các unit được kết nối với nhau thông qua kênhthông tin (gọi là các connection), thường mạng dữ liệu số, và được mã hóa theo mộtcách nào đấy
Các unit chỉ xử lý trên bộ dữ liệu của riêng nó và trên các đầu vào được đưa tớithông qua các liên kết
Mạng nơ-ron nhân tạo được coi là một công cụ mạnh để giải quyết các bài toán cótính phi tuyến, phức tạp và đặc biệt trong các trường hợp mà mối quan hệ giữa các quátrình không dễ thiết lập một cách tường minh Có nhiều loại mạng nơ-ron khác nhautrong đó mạng nơ-ron truyền thẳng nhiều lớp là một trong những mạng nơ-ron thôngdụng nhất
Trang 21• Synapse: Là một thành phần liên kết giữa các Nơ-ron, nó nối đầu ra của Nơ-ron lớp
này với đầu vào của một nơ ron trong lớp khác Đặc trưng của synapse là một trọng số
mà mỗi tín hiệu đi qua đều được nhân với trọng số này Các trọng số synapse chính là cáctham số tự do cơ bản của mạng Nơ-ron, có thể thay đổi được nhằm thích nghi với môitrường xung quanh
• Bộ cộng : để tính tổng các tín hiệu đầu vào của Nơ-ron, đã được nhân với các trọng
số synapse tương ứng, phép toán được mô tả ở đây tạo nên một bộ hợp tuyến tính
• Hàm truyền : (hàm kích hoạt) chuyển đổi một tổ hợp tuyến tính của tất cả các
tín hiệu đầu vào thành tín hiệu đầu ra Hàm kích hoạt này đảm bảo tính chất phituyến cho tính toán mạng Nơ-ron Nó được xem như là một hàm giới hạn, nó giớihạn phạm vi biên độ cho phép tín hiệu đầu ra trong một khoảng giá trị hữu hạn
3.2.3 Phân loại cấu trúc mạng Nơ-ron
Phỏng theo cơ chế làm việc của bộ não con người Mạng nơ-ron nhân tạo được thểđược chia thành 2 loại sau:
3.2.3.1 Mạng Nơ-ron truyền thẳng một lớp
Mạng nơ-ron truyền thẳng một lớp là loại mạng chỉ có lớp nơ-ron đầu vào và mộtlớp nơ-ron đầu ra (thực chất lớp nơ-ron đầu vào không có vai trò xử lý, do đó ta nóimạng chỉ có một lớp) Loại mạng này còn được gọi là mạng perceptron một lớp Mỗi
nơ-ron đầu ra có thể nhận tín hiệu từ các đầu vào x1, x2, …, xm để tạo ra tín hiệu đầu
Nơron
Trang 22Trong mạng Nơ-ron truyền thẳng nhiều lớp, lớp nhận tín hiệu vào của mạng gọi là
lớp vào (input layer), nó thường không thực hiện việc chuyển đổi thông tin mà chỉ làm chức năng nhận tín hiệu Tín hiệu ra của mạng được đưa ra từ lớp ra (output layer).
Các lớp ở giữa lớp vào và lớp ra gọi là các lớp ẩn
Mạng Nơ-ron nhiều lớp có thể giải quyết các bài toán phi tuyến nhờ vào các lớp ẩn.Các lớp ẩn này xen giữa các input bên ngoài và output của mạng Càng nhiều lớp ẩnthì khả năng mở rộng thông tin càng cao và xử lý tốt mạng có nhiều input và output
Hình 3.3 Mạng Nơ-ron truyền thẳng nhiều lớp
3.2.4 Quá trình lan truyền tín hiệu từ đầu vào đến đầu ra:
Xét mạng Nơ-ron 3 lớp: lớp vào, lớp ẩn, lớp ra
Giả sử có m nơ-ron ở lớp vào(j=1……….m), l nơ-ron trong lớp ẩn(q=1……….l) và n
Trang 23q
q iq
Và cuối cùng, đầu ra của Nơ-ron i trên lớp ra sẽ là:
j qj iq
Trang 24f (u) = tanh (u) = e u – e -u
e u + e -u
3.3 Rút trích điểm đặc trưng khuôn mặt
Nhận dạng mặt người là một lĩnh vực nghiên cứu hấp dẫn được nhiều người quantâm trong vài năm gần đây Nói chung có hai phương pháp để nhận dạng mặt người,phương pháp dựa vào mẫu (template based) và phương pháp dựa vào các đặc trưnghình học (geometric features based)
Trong phương pháp dựa vào mẫu, các phương pháp thống kê được sử dụng để biểudiễn toàn bộ ảnh
Trong khi đó, phương pháp nhận dạng theo đặc trưng mô tả khuôn mặt theo ý tưởngđối tượng ảnh có thể được biểu diễn như một tập hợp các đặc trưng trừu tượng Một sốđặc trưng đơn giản như các đường biên, đường thẳng, đoạn thẳng, điểm Các đặc trưngphức tạp hơn có thể được xây dựng từ các đặc trưng đơn giản này
Trong hầu hết các phương pháp nhận dạng theo đặc trưng, sự lựa chọn các đặc trưng
và mô tả chúng là rất quan trọng
3.3.1 Phép biến đổi fourier rời rạc (Discrete Fourier Transform)
Phép biến đổi Fourier rời rạc là một kĩ thuật biến đổi nhanh, và là một trong những
phép biến đổi hữu ích nhất trong lĩnh vực xử lý tín hiệu số nói chung và lĩnh vực xử líảnh, video nói riêng Mục đích của mã hóa Fourier rời rạc xử lý tín hiệu trên miềnkhông gian pixel sang một tín hiệu mới trên miền tần số, nhằm giảm khối lượng dữliệu của các tín hiệu, đồng thời vẫn bảo toàn tốt chất lượng của tín hiệu
Ứng dụng trong việc tính đạo hàm riêng và các phép tính như tính chập Biến đổinày có thể tính nhanh bởi thực toán biến đổi Fourier nhanh (FFT)
Dãy của N số Số phức :x0, ,xN − 1 được biến đổi thành chuỗi của N số phức X0, ,
X N−1 bởi công thức sau đây:
Trangxxiv
Trang 25ảnh đầu vào ảnh sau khi biến đổi FFT
Hình 3.4 Ảnh thực hiện phép biến đổi FFT 3.3.2 Bộ lọc Gabor (Gabor Filter)
Bộ lọc Gabor có cả hai ưu điểm là tần số chọn lọc và định hướng chọn lọc thuộc
tính ngoài ra nó còn có độ phân giải tối ưu chung trong cho không gian và tần số Do
đó bộ lọc Gabor có thể loại bỏ tín hiệu nhiễu và bảo tồn cấu trúc
Trangxxv
Trang 26Phương pháp nhận dạng dùng biến đổi Gabor là một phương pháp nhận dạng dựa trên đặc trưng Gabor là các hàm toán học chia dữ liệu thành các thành phần tần số khác nhau và xem xét từng thành phần với độ phân giải thích hợp.
Nó được cho bởi công thức:
] [
σ σ
;sin
cos)
πθ
θ
α α
x i
k
k k
Trangxxvi
Trang 27Hình 3.5 Biến đổi của bộ lọc gabor
Hình 3.6 Ví dụ về đáp ứng khuôn mặt dựa trên bộ lọc Gabor
a) Khuôn mặt được lấy từ nguồn cơ sở dữ liệu b) Đáp ứng bộ lọc
Trích đặc trưng gồm 2 bước: xác định vị trí của điểm đặc trưng và tính các vector đặc trưng
3.3.2.1 Xác định vị trí của điểm đặc trưng:
Trong bước này, vector đặc trưng ( feature veator ) được trích từ các điểm chứa thông tin quan trọng trong ảnh có chứa khuôn mặt người Hầu hết trong các kĩ thuật rút trích đặc trưng , các điểm khuôn mặt người đều là mắt , mũi và miệng Tuy nhiên takhông thể thay đổi vị trí cũng như số lượng điểm đặc trưng Số vector đặc trưng và vị trí tương ứng của chúng có thể bị biến đổi do các đặc trưng khác của khuôn mặt như lúm đồng tiền, nốt ruồi …Tất cả các đặc trưng được sử dụng để nhận dạng khuôn mặt người
Trangxxvii
Trang 28Hình 3.7 Các điểm đặc trưng khuôn mặt người được trích từ đáp ứng của bộ lọc gabor
Từ đáp ứng của bộ lọc Gabor Gabor , vị trí đỉnh được xác định bằng cách dò tìm tại các
Điểm đặc trưng tại vị trí (x0,y0) nếu:
vi,k = { xk, yk, R,j( xk, yk) j = 1 , , 40 } [2]
Ta có 40 bộ lọc Gabor, 42 vectors đặc trưng Hai thành phần đầu tiên biểu diễn vị trí đặc trưng của điểm được lưu dưới dạng (x,y) Vì ta không có bất kì thông tin gì về vector đặc trưng nên hai thành phần đầu tiên của vector đặc trưng rất quan trọng 40 thành phần còn lại là mẫu của bộ lọc Gabor tại điểm đó
Trangxxviii
Trang 29Hình 2.8 Các bước thực hiện quá trình rút trích đặc trưng
3.4 Kết luận chương:
Trong phần đầu của chương, ta đã tìm hiểu về mạng Nơ-ron nhân tạo, cách thức tổchức , cũng như cách học của mạng Nơ-ron và mạng Nơ-ron tiêu biểu với các ưu điểm(Mạng MLP)
Trong phần sau của chương, ta đã tìm hiểu đặc điểm của phương pháp rút trích đặctrưng FFT kết hợp với bộ lọc Gabor Phương pháp này có ưu điểm giúp cho quá trình
xử lí nhanh, thay vì xử lí trên miền thời gian thì ta tiến hành xử lí trên miền tần số Hai khâu quan trọng này sẽ được áp dụng cụ thể trong bài toán xác định khuôn mặtthẳng , sẽ được trình bày trong chương 4
Trangxxix
Trang 30Chương 4: DÒ TÌM KHUÔN MẶT
4.1 Giới thiệu chương
Trong chương này em sẽ trình bày thuật toán mạng Nơ-ron cơ bản dùng để xácđịnh khuôn mặt thẳng Thuật toán thực hiện bằng cách áp dụng một hay nhiều mạngNơ-ron trực tiếp với các phần của ảnh đầu vào, sau đó quyết định kết quả Mỗi mạngđược huấn luyện để xem xét một kết quả là có hay không có khuôn mặt
Việc phát triển bộ dò tìm đối tượng dựa trên khung nhìn dùng máy học có ba vấn đềchính:
thuộc vào độ sáng, tình trạng che lấp, tư thế, biểu hiện khuôn mặt và tính giốngnhau Thuật toán dò tìm giải quyết với càng nhiều biến đổi càng tốt
biến đổi còn lại trong việc phân biệt đối tượng (object) với không phải đốitượng (non-object)
biểu diễn đối tượng hay không
Huấn luyện mạng neural để dò tìm khuôn mặt là một công việc nhiều thách thức, vìkhó khăn trong việc phân chia các ảnh “không khuôn mặt” Không như việc nhậndạng khuôn mặt, trong đó các lớp phân biệt là các khuôn mặt khác nhau Đối với việcphát hiện khuôn mặt các lớp phân biệt bao gồm: lớp “ảnh có chứa khuôn mặt” vàlớp“ảnh không chứa khuôn mặt” Dễ dàng lấy được mẫu ảnh chứa khuôn mặt điểnhình, nhưng việc lấy mẫu ảnh không chứa khuôn mặt điển hình khó hơn rất nhiều
4.2 Huấn luyện dò tìm khuôn mặt
Hệ thống hoạt động theo hai giai đoạn:
Trangxxx
Trang 31• Áp dụng tập bộ dò tìm dựa trên mạng neural, và sau đó sử dụng một bộ phân
xử kết hợp các đầu ra Các bộ dò tìm riêng lẻ khảo sát mỗi vị trí trong ảnh ởcác tỷ lệ khác nhau nhằm tìm vị trí có thể chứa khuôn mặt
chồng lặp
Thành phần đầu tiên của hệ thống là phần chóp ảnh, sau đó trích lấy cửa sổ có kíchthước 27x18 (pixels) và tạo đầu ra trong khoảng 1 đến -1, biểu thị có hay không cókhuôn mặt Để dò tìm mọi khuôn mặt trong ảnh, mạng được áp dụng ở mọi vị trí trongảnh Để dò tìm các khuôn mặt lớn hơn kích thước cửa sổ, ảnh đầu vào được giảm kíchthước nhiều lần, và áp dụng bộ dò tìm ở mỗi kích thước
Hình 4.1 Thuật toán dò tìm khuôn mặt
Sau khi cửa sổ 27x18 pixel được trích ra từ một vị trí và tỷ lệ nào đó trong ảnh đầuvào, nó được bộ tiền xử lý dùng các bước hiệu chỉnh độ sáng và cân bằng lược đồ Saugiai đoạn tiền xử lí, windown được gửi tới mạng neural Window đầu vào được chiathành các mảnh nhỏ, 4 vùng 10x10 (pixels), 16 vùng 5x5 (pixels), và 6 vùng chồng lấp20x5 (pixels) Mỗi vùng có liên kết đầy đủ với một đơn vị ẩn Hình vẽ cho thấy mộtđơn vị ẩn tương ứng với mỗi vùng con đầu vào, và các đơn vị này có thể được tái tạolại Với thử nghiệm sau, ta dùng mạng có hai và ba tập các đơn vị ẩn này Hình dáng
Trangxxxi
Trang 32của các vùng con được chọn sao cho đơn vị ẩn có khả năng dò tìm được các đặctrưng quan trọng của khuôn mặt Cụ thể, các sọc ngang cho phép các đơn vị ẩn dò tìmcác đặc trưng như miệng, cặp mắt Trong khi các đơn vị ẩn với vùng tiếp thu hìnhvuông có thể dò tìm các đặc trưng như mắt, mũi, hai góc của miệng Kết quả thửnghiệm cho thấy rằng hình dạng chính xác của các vùng này không quan trọng, cáiquan trọng ở đây là đầu vào được chia thành các vùng nhỏ thay vì dùng các kết nốihoàn toàn với toàn bộ đầu vào Mạng có một đầu ra giá trị thực, chỉ định window cóchứa khuôn mặt hay không.
4.2.1 Huấn luyện ảnh khuôn mặt
Với kiến trúc là một mạng Nơ-ron đơn lẻ thì, chúng ta không thể cùng 1 lúc pháthiện khuôn mặt ở mọi tư thế Bởi vì nếu như thế trong tập ảnh huấn luyện khuôn mặt,chúng ta phải có đầy đủ các bộ dữ liệu miêu tả các tư thế khác nhau của khuôn mặt.Nhưng khi đó sự sai khác của các ảnh huấn luyện sẽ quá lớn và làm cho mạng học sai
và dẫn đến mạng sẽ không học được gì cả Cũng chính vì điều này mà trong tập ảnhkhuôn mặt để huấn luyện, sẽ chỉ có ảnh nhìn thẳng hoặc bị nghiêng 1 góc không đáng
kể (không quá 150)
Quá trình huấn luyện ảnh khuôn mặt sẽ cố định với ảnh khuôn mặt có sẵn Nóichung việc huấn luyện khuôn mặt ở đây không có gì nói thêm Vấn đề ở đây là chiếnthuật huấn luyện ảnh không phải khuôn mặt Vì thực tế cho thấy số lượng ảnh khôngkhuôn mặt lớn hơn ảnh có khuôn mặt rất nhiều Để huấn luyện toàn bộ số ảnh này thật
là khó khăn Chính vì vậy một chiến lược giảm bớt ảnh không khuôn mặt là cần thiết
4.2.2 Huấn luyện ảnh không phải khuôn mặt
Chiến thuật luyện mạng học ảnh không phải khuôn mặt được xây dựng trên nhữngnhận xét sau đây:
Nếu ta gán cho mỗi ảnh không khuôn mặt một trọng số gọi là giá trị tương ứngvới xác suất một mạng có thể nhận nhầm nó là ảnh khuôn mặt Dễ nhận thấy,
Trangxxxii
Trang 33giá trị của các cửa sổ không khuôn mặt là không giống nhau Vì khi tiến hànhnhận biết, sẽ có một số cửa sổ nhận nhầm là khuôn mặt và một số sẽ không bịnhận nhầm Mà thông thường những cửa sổ bị nhận nhầm là khuôn mặt giá trịcao hơn nhiều những cửa sổ không bị nhận nhầm.
Phương pháp của chúng ta đồng thời được kết hợp với phương pháp phân vùngmàu gia để giảm không gian tiềm kiếm Việc làm này đã làm cho một số cửa sổ
sẽ không bao giờ bị nhận nhầm nếu nó không thuộc vùng màu da Và giá trịnhận nhầm của những ảnh không khuôn mặt thuộc vùng màu da là rất cao Đặcbiệt là những cửa sổ chứa một bộ phận nào đó của cơ thể
Hai nhận xét trên không phải là đã làm mất hết giá trị của các cửa sổ không bịnhận nhầm là cửa sổ khuôn mặt, bởi đây chính là những cửa sổ có nhiệm vụkhởi tạo cho mạng học Những cửa sổ này sẽ giúp cho mạng phân biệt ranh giớigiữa ảnh không khuôn mặt và khuôn mặt được rõ ràng hơn Chính vì vậy chúng
ta cũng sẽ lưu tâm đến tập cửa sổ có tính tổng quát này
4.2.3 Huấn luyện toàn diện:
Việc huấn luyện trong mạng Nơ-ron thường yêu cầu thực hiện nhiều lần trên 1 ảnh.Nhưng như đã đề cập trong chương trước, để chắc chắn mạng Nơ-ron sẽ học được cácmẫu là khuôn mặt và các mẫu không phải là khuôn mặt Ta sẽ chọn các mẫu âm bằng
số lượng mẫu dương Tuy nhiên điều này làm việc xây dựng tập mẫu dương và mẫu
âm không phù hợp với việc xây dựng tập mẫu trong thực tế
Định lý Bayes sẽ giải quyết vấn đề này Nếu ta coi P (face|window) như là xác suất xác định cửa sổ là khuôn mặt, P’(face) và P’(nonface) lần lượt là xác suất khuôn mặt
và xác suất không phải khuôn mặt trong quá trình huấn luyện Định lý Bayes phát biểunhư sau:
NNOutput = P(window| face).P p('(window face)+|P face(window).P'(face|nonface) ).P'(nonface) [3]
Trangxxxiii
Trang 34Khi ta biết giá trị của P’(face), P’(nonface), và P(window|nonface)= 1-
P(window|face) , thì mạng Nơ-ron sẽ tiến hành ước lượng phía bên trái dấu bằng và
cho ra kết quả như sau :
P (window|face)= NN Output
Bây giờ ta tiến hành phân lớp một cửa sổ, gọi xác suất thực sự lần lượt của khuôn
mặt và không phải là P (face) và P (nonface) Sử dụng thuật toán Bayes để tìm ra xác
suất thực sự của khuôn mặt
P(face|window) = NNOutput.P(face NNOutput)+(1−.NNOutput P(face) ).P(nonface) [3]
Ta sẽ phân lớp cửa sổ là khuôn mặt nếu như P(face|window) >0.5
4.3 Nâng cao chất lượng và cải thiện tốc độ xác định khuôn mặt
Hệ thống phát hiện khuôn mặt sau khi huấn luyện đã được thử nghiệm trên một số ảnh màu chúng ta có thể cải thiện chất lượng phát hiện khuôn mặt bằng một vài heuristic đơn giản Các heuristic như những mẹo giúp ích cho hệ thống Và có thể trong trường hợp tổng quát nhất nó không hoàn toàn đúng
4.3.1 Các Heuristic loại bỏ thông tin thừa
Tiến hành thử nghiệm chúng ta nhận thấy rằng Trong một vùng màu da có khuôn mặt, có rất nhiều cửa sổ được phát hiện nhưng chỉ trên cùng một khuôn mặt Điều này
có thể thấy trong hình dưới đây
Hình 4.2 Ảnh minh họa khi chưa sử dụng heuristic
Trangxxxiv
Trang 35Chúng ta luôn mong muốn mỗi khuôn mặt chỉ được phát hiện một lần với độ chínhxác cao Tuy nhiên kết quả ra bao giờ cũng có rất nhiều cửa sổ được phát hiện với độsai khác không nhiều.
Vấn đề đặt ra bây giờ là làm thế nào để biết các cửa sổ là nhận biết cho cùng mộtkhuôn mặt Thông thường nếu một cửa sổ là của một khuôn mặt thì các cửa sổ lân cậnđều là của khuôn mặt ấy Hai cửa sổ gọi là lân cận nhau nếu chúng giao nhau
Nhận xét này giúp ta tìm được tập các cửa sổ biểu thị cho một khuôn mặt không mấykhó khăn Đó là tập các cửa sổ giao với ít nhất một cửa sổ trong tập đó Để tránhtrường hợp có hai cửa sổ trong cùng một tập có cùng độ tin cậy Chúng ta sẽ sử dụngthêm một điều kiện chọn nữa Đó là trong tất cả các cửa sổ có độ tin cậy cao nhất nhưnhau, chúng ta sẽ chọn cửa sổ có số cửa sổ trong tập giao với nó nhiều nhất Với điềukiện chọn này, kết quả cuối cùng cho một tập cửa sổ hầu như chỉ có một cửa sổ duynhất
Như vậy thuật toán để cải thiện chất lượng phát hiện khuôn mặt gồm hai bước sau:
Bước 1: Với mỗi cửa sổ, tiến hành đếm số lượng cửa sổ giao với nó Đồng thờigán cùng nhãn cho tập tất cả các ảnh này
Bước 2: Trong mỗi vùng chọn cửa sổ có độ tin cậy cao nhất và số cửa sổ giaovới nó nhiều nhất đại diện cho vùng Đó là kết quả cửa sổ duy nhất khi pháthiện Chúng ta sẽ loại bỏ tất cả các cửa sổ giao với cửa sổ được chọn này
Hình 4.3 Kết quả khi sử dụng heuristic
Trangxxxv
Trang 36Tuy nhiên Heuristic chỉ mang tính thủ thuật, nên nó chỉ đúng trong phần lớn trườnghợp, còn một số trường hợp khác không đúng Với Heuristic này chúng ta có thể nhậnthấy một trường hợp không đúng có hai khuôn mặt, một khuôn mặt tuy vẫn đầy đủ nộidung nhưng bị khuất sau khuôn mặt kia một phần nào đó Nếu như không sử dụngHeuristic thì cả hai khuôn mặt đều được phát hiện, nhưng khi sử dụng Heuristic thì chỉ
có một khuôn mặt được phát hiện Hình dưới đây minh họa cho trường hợp trên
Hình 4.4 Ảnh minh họa việc đánh mất cửa sổ khi sử dụng Heuristic
4.3.2 Hệ thống mạng kết hợp:
Để giảm hơn nữa số lỗi, ta có thể áp dụng nhiều mạng, và phân xử đầu ra của chúng để quyết định cuối cùng Mỗi mạng được huấn luyện theo cách tương tự, nhưngvới các trọng số ban đầu ngẫu nhiên, các ảnh không khuôn mặt ban đầu ngẫu nhiên Việc dò tìm và tỷ lệ lỗi của các mạng riêng bị hạn chế Tuy nhiên, vì các điều kiện huấn luyện khác nhau và vì việc tự lựa chọn các mẫu huấn luyện âm khác nhau, các mạng có các khuynh hướng khác nhau và tạo các lỗi khác nhau
Trangxxxvi
Trang 37dò tìm là lỗi Vì vậy phép AND dùng để ước lượng hầu hết các dò tìm lỗi Ngoài ra ,các mạng riêng có thể dò tìm cùng tập khuôn mặt, để số khuôn mặt bị mất do AND lànhỏ.
Bên cạnh đó có những phương thức tương tự, chẳng hạn OR các đầu ra của hai mạng, hay chọn ra dò tìm có kết quả tốt nhất giữa ba mạng, cũng đã được thử
Trangxxxvii