Thầy đã giúp đỡ em rất nhiều trong quá trình định hướng nghiên cứu, tìm hiểu, xây dựng và phát triển bài toán để em có thể hoàn thành luận văn chuyên đề: "Nghiên cứu một số kỹ thuật phát
Trang 1NGUYỄN QUANG HUY
NGHIÊN CỨU MỘT SỐ KỸ THUẬT PHÁT HIỆN HƯỚNG MẶT NGƯỜI TRONG ẢNH
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên - 2012
Trang 2NGUYỄN QUANG HUY
NGHIÊN CỨU MỘT SỐ KỸ THUẬT PHÁT HIỆN HƯỚNG MẶT NGƯỜI TRONG ẢNH
Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS.TS Đỗ Năng Toàn
Trang 3LỜI CẢM ƠN
Trước tiên, em xin bày tỏ lòng biết ơn sâu sắc tới Thầy giáo, người hướng dẫn khoa học PGS.TS Đỗ Năng Toàn (Viện Công nghệ thông tin - Viện Khoa học và Công nghệ Việt Nam) Thầy đã giúp đỡ em rất nhiều trong quá trình định hướng nghiên cứu, tìm hiểu, xây dựng và phát triển bài toán để
em có thể hoàn thành luận văn chuyên đề: "Nghiên cứu một số kỹ thuật phát
hiện hướng mặt người trong ảnh"
Em chân thành biết ơn các Thầy giáo công tác tại Viện Công nghệ thông tin - Viện Khoa học và Công nghệ Việt Nam, trường Đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên, đã truyền đạt, trang bị kiến thức để em có thể tìm hiểu, nghiên cứu và thực hiện được đề tài luận văn
Em chân thành cảm ơn Thư viện trường Đại học Công nghệ thông tin và Truyền thông, Trung tâm học liệu - Đại học Thái Nguyên đã hết sức tạo điều kiện, phương tiện cho chúng em tìm hiểu, tham khảo, tra cứu tư liệu nhằm phục vụ cho công việc viết luận văn tốt nghiệp
Cuối cùng, em xin bày tỏ lòng biết ơn đến đồng nghiệp, Khoa Công nghệ thông tin, Ban giám hiệu trường Cao đẳng nghề Việt - Đức Vĩnh Phúc đã tạo điều kiện để em hoàn thành khóa học này
Thái Nguyên, tháng 8 năm 2012
Học viên
Nguyễn Quang Huy
Trang 4LỜI CAM ĐOAN
Luận văn "Nghiên cứu một số kỹ thuật phát hiện hướng mặt người
trong ảnh" là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn trực
tiếp của PGS.TS Đỗ Năng Toàn - Viện Công nghệ thông tin, Viện Khoa học
và Công nghệ Việt Nam
Các số liệu trong luận văn đã được công bố trong các tài liệu mà tôi tham khảo, liệt kê trong phần tài liệu tham khảo cuối tập luận văn
Luận văn này không trùng hợp về mặt hình thức cũng như nội dung với bất kỳ một luận văn nào
Nếu trái với các điều trên, tôi xin hoàn toàn chịu trách nhiệm
Thái Nguyên, tháng 8 năm 2012
Học viên
Nguyễn Quang Huy
Trang 5MỤC LỤC
Lời cảm ơn i
Lời cam đoan ii
Mục lục iii
Danh mục các ký hiệu, các chữ viết tắt iv
Danh mục các hình vẽ v
PHẦN MỞ ĐẦU 1
CHƯƠNG 1: KHÁI QUÁT VỀ XỬ LÝ ẢNH VÀ NHẬN DẠNG MẶT NGƯỜI 4
1.1 Khái quát về xử lý ảnh 4
1.1.1 Ảnh số 4
1.1.2 Biểu diễn ảnh số 5
1.1.2.1 Mô hình Raster 5
1.1.2.1 Mô hình Vector 6
1.1.3 Xử lý ảnh số 7
1.1.4 Thu thập ảnh số 8
1.1.5 Nắn chỉnh biến dạng ảnh số 8
1.1.6 Nén ảnh 9
1.1.7 Trích chọn đặc điểm 10
1.1.8 Nhận dạng ảnh 11
1.2 Nhận dạng mặt người và những khó khăn của nhận dạng khuôn mặt 12
1.2.1 Nhận dạng mặt người 12
1.2.2 Các ứng dụng liên quan đến nhận dạng mặt người 12
1.2.3 Những khó khăn và thách thức của nhận dạng khuôn mặt 13
1.2.4 Các hướng tiếp cận liên quan đến nhận dạng khuôn mặt 14
1.3 Bài toán phát hiện hướng mặt người trong ảnh 16
1.3.1 Giới thiệu tổng quát bài toán 16
1.3.2 Mô hình mặt người trong không gian 3D 17
CHƯƠNG 2: MỘT SỐ KỸ THUẬT PHÁT HIỆN HƯỚNG MẶT NGƯỜI TRONG ẢNH 19
Trang 62.1 Phát hiện hướng mặt người trong ảnh dựa trên tâm mắt 19
2.1.1 Tách mặt người trong ảnh 19
2.1.1.1 Sử dụng ngưỡng màu 19
2.1.1.2 Phương pháp trừ ảnh với nền không đổi 20
2.1.2 Chuẩn hóa ảnh 21
2.1.3 Cắt và xoay chuẩn ảnh 21
2.1.3.1 Xác định tâm mắt 21
2.1.3.2 Xoay ảnh và tắt khung mặt 23
2.1.3.3 Chuẩn sáng ảnh 24
2.2 Phát hiện hướng mặt người trong ảnh dựa theo các đặc trưng Haar 25
2.2.1 Nhận dạng đối tượng dựa theo các đặc trưng Haar 25
2.2.1.1 Giới thiệu khái quát 25
2.2.1.2 Đặc trưng Haar (Haar Like Feature) 26
2.2.1.3 Huấn luyện các bộ nhận dạng Haar 31
2.2.1.4 Chuỗi các bộ nhận dạng Haar 33
2.2.1.5 Bộ nhận dạng Haar riêng lẻ 35
2.2.1.6 Kiến trúc hệ thống 36
2.2.2 Xác định mắt, mũi, miệng và vùng bao quanh khuôn mặt 37
2.2.3 Tính toán góc quay theo 3 chiều 38
2.2.3.1 Xác định góc quay theo hướng 38
2.2.3.2 Xác định góc quay theo hướng 39
2.2.3.3 Xác định góc quay theo hướng 40
CHƯƠNG 3: CHƯƠNG TRÌNH THỬ NGHIỆM 42
3.1 Bài toán phát hiện hướng mặt người trong ảnh 42
3.2 Tư thế khuôn mặt người 42
3.3 Các tư thế khác nhau của khuôn mặt 43
3.4 Chương trình thử nghiệm 57
3.5 Một số trường hợp đặc biệt 50
PHẦN KẾT LUẬN 53
TÀI LIỆU THAM KHẢO 55
Trang 7DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
SAT: Summed Area Table Bảng tổng hợp vùng
RSAT: Rotated Summed Area Table Bảng tổng hợp vùng quay
CART: Classification And Regression Tree Cây nhận dạng và hồi quy
HCI: Human Computer Interaction Tương tác người máy
HCC: Haar Cascade Classifier Bộ nhận dạng theo tầng Haar
Trang 8Hình 2.2: Sơ đồ thực hiện xác định tâm mắt
Hình 2.3: Xác định góc nghiêng dựa theo tâm mắt
Hình 2.4: Cân bằng mức xám cho hình ảnh
Hình 2.5: Bốn đặc trưng Haar - Like cơ bản
Hình 2.6: Các đặc trưng mở rộng của các đặc trưng Haar-Like cơ sở Hình 2.7: Cách tính Integral Image của ảnh
Hình 2.8: Cách tính nhanh tổng các điểm ảnh của vùng D trên ảnh Hình 2.9: Cách tính tổng điểm ảnh của vùng D với đặc trưng xoay 45o Hình 2.10: Một vài nguyên mẫu được sử dụng trong xác định vùng mắt Hình 2.11: Dựng thẳng, xoay các hình chữ nhật trong cửa sổ phát hiện Hình 2.12: Một số mẫu dương dùng trong việc xác định khuôn mặt Hình 2.13: Một số mẫu âm dùng trong việc xác định khuôn mặt
Hình 2.14: Chuỗi các nhận dạng theo tầng
Hình 2.15: Kết quả sau khi phát hiện các đặc điểm
Hình 3.1: Khuôn mặt chuẩn và các tư thế thay đổi
Hình 3.2: Tư thế khuôn mặt khi hướng sang trái
Hình 3.3: Tư thế khuôn mặt khi hướng sang phải
Hình 3.4: Tư thế khuôn mặt khi hướng lên trên
Hình 3.5: Tư thế khuôn mặt khi hướng xuống dưới
Hình 3.6: Tư thế khuôn mặt khi hướng lên trên sang trái
Hình 3.7: Tư thế khuôn mặt khi hướng lên trên sang phải
Hình 3.8: Tư thế khuôn mặt khi hướng xuống dưới sang trái
Trang 9Hình 3.9: Tư thế khuôn mặt khi hướng xuống dưới sang phải
Hình 3.10: Giao diện chính của chương trình
Hình 3.11: Chương trình nhận dạng các thành phần trên khuôn mặt Hình 3.12: Chương trình nhận dạng nhiều khuôn mặt
Hình 3.13: Sự xuất hiện của mắt kính trên khuôn mặt
Hình 3.14: Sự xuất hiện của chiếc mũ trên khuôn mặt
Hình 3.15: Sự xuất hiện của cả kính và mũ trên khuôn mặt
Hình 3.16: Khuôn mặt không được nhận dạng bởi góc quay quá lớn Hình 3.17: Khuôn mặt không được nhận dạng do tư thế che khuất
Trang 10PHẦN MỞ ĐẦU
Hiện nay, cùng với sự phát triển của xã hội, vấn đề an ninh bảo mật đang được yêu cầu khắt khe tại mọi quốc gia trên thế giới Các hệ thống nhận dạng con người được ra đời với độ tin cậy ngày càng cao Một trong các bài toán nhận dạng con người rất được quan tâm hiện nay là nhận dạng khuôn mặt Vì nhận dạng khuôn mặt là cách mà con người sử dụng để phân biệt nhau Bên cạnh đó, việc thu thập xử lý thông tin qua ảnh để nhận biết đối tượng đang được quan tâm và ứng dụng rộng rãi Với phương pháp này chúng
ta có thể thu nhận được nhiều thông tin từ đối tượng mà không cần tác động nhiều đến đối tượng nghiên cứu Sự phát triển của khoa học máy tính tạo môi trường thuận lợi cho bài toán nhận dạng mặt người từ ảnh số Các hệ thống nhận dạng offline đã ra đời và có độ tin cậy cao, tuy nhiên các hệ thống nhận dạng online lại chưa đáp ứng được nhiều
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ôn mặ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 từ 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ị thu hì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ế, góc nghiêng thay đổi trong ảnh Không những vậy, bài toán còn mở rộng cả phạm vi, từ môi trường xung quanh khá đơn giản (trong phòng thí nghiệm) cho đến môi trường xung quanh rất phức tạ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
Trong thực tế các hệ thống nhận dạng mặt người chỉ có thể nhận dạng
và nhận dạng chính xác nếu các bức ảnh chứa khuôn mặt ở tư thế thẳng đứng, vuông góc với trục ống kính của máy ảnh Tuy nhiên có rất nhiều ảnh đầu vào
Trang 11chứa khuôn mặt ở những tư thế khác nhau Đó là một trong những khó khăn, thách thức của các bài toán nhận dạng mặt người
Ngay từ khi còn nhỏ, con người đã có khả năng sử dụng sự định hướng
và chuyển động của đầu người để đưa ra những ý định và sử dụng nó như là một hình thức phi ngôn ngữ trong các giao tiếp với người xung quanh một cách dễ dàng Tuy nhiên sự dễ dàng này lại gây ra những khó khăn thách thức cho các hệ thống tính toán trong nhiều năm qua Trong bối cảnh máy tính, việc ước lượng đánh giá tư thế của đầu là quá trình suy luận có định hướng từ các hình ảnh kỹ thuật số Nó đòi hỏi một loạt các bước biến đổi ảnh gốc dựa trên các điểm ảnh sang các khái niệm cao hơn theo các hướng khác nhau Giống như các bước trong quá trình xử lý nhận dạng các thành phần trên khuôn mặt, phương pháp đánh giá tư thế đầu phải được chứng minh bất biến với sự thay đổi của hàng loạt các yếu tố của bức ảnh Những yếu tố này bao gồm các hiện tượng vật lý như biến dạng máy ảnh, các phép chiếu hình học, điều kiện ánh sáng thay đổi cũng như sự xuất hiện của các yếu tố, phụ kiện như kính, mũ, ria mép, …
Mặc dù thấy đó là những đặc điểm kỹ thuật rõ ràng nhưng việc đánh giá tư thế đầu cũng có nhiều cách thể hiện khác nhau Ở mức độ thấp, việc đánh giá tư thế đầu áp dụng với các thuật toán xác định tư thế đầu theo vài hướng riêng biệt như ngửa mặt về phía trước, quay trái, quay phải… Ở mức
độ tốt hơn, việc đánh giá tư thế đầu phải trong mô hình 3D kết hợp với mức
độ tự do của các chuyển động của cơ trên khuôn mặt và hàm Việc phát hiện
tư thế của đầu người có thể được thông qua việc phát hiện các đặc điểm trên khuôn mặt và áp dụng một số công thức để tìm ra được tư thế đầu người chuẩn xác nhất
Việc phát hiện các đặc điểm trên khuôn mặt có thể thông qua một số phương pháp như xác định dựa trên màu sắc các đặc điểm, dựa trên sự xuất
Trang 12hiện của các điểm ảnh trên khuôn mặt hoặc dựa trên các thống kê, mẫu có sẵn, bộ nhận dạng… Mỗi phương pháp khi áp dụng đều có những ưu điểm và nhược điểm riêng
Trong luận văn này sẽ sử dụng phương pháp dựa trên các bộ nhận dạng
và tập dữ liệu được đào tạo trước để xác định đánh giá tư thế của đầu người trong ảnh Các bước xây dựng bộ nhận dạng, lựa chọn đặc trưng dữ liệu đầu vào, tính toán xác định tư thế của đầu người sẽ được trình bày trong các chương của luận văn
Từ những phân tích trên, tôi đã lựa chọn đề tài "Nghiên cứu một số kỹ
thuật phát hiện hướng mặt người trong ảnh" là hướng nghiên cứu chính cho
luận văn của mình
Ngoài phần mở đầu, kết luận, tài liệu tham khảo và phụ lục, luận văn được tổ chức thành ba chương với bố cục như sau:
Chương 1: Khái quát về xử lý ảnh và nhận dạng mặt người
Giớí thiệu khái quát bài toán phát hiện hướng mặt người trong ảnh Tình hình nghiên cứu trong và ngoài nước về lĩnh vực nhận dạng nói chung trong đó nổi bật là nhận dạng khuôn mặt
Chương 2: Một số kỹ thuật phát hiện hướng mặt người trong ảnh
Thu thập và tiền xử lý dữ liệu hình ảnh phục vụ cho việc thử nghiệm Trình bày các giải pháp kỹ thuật, thuật toán nhằm xác định, phát hiện được hướng mặt người trong ảnh
Chương 3: Chương trình thử nghiệm
Xây dựng và cài đặt chương trình thử nghiệm, bao gồm mô tả bài toán, tập dữ liệu thử nghiệm, thiết kế hệ thống, cài đặt thuật toán và đánh giá kết quả thử nghiệm
Trang 13CHƯƠNG I KHÁI QUÁT VỀ XỬ LÝ ẢNH VÀ NHẬN DẠNG MẶT NGƯỜI 1.1 Khái quát về xử lý ảnh
- Ảnh đen trắng: Sử dụng một bit để mã hóa Nếu pixel nhận giá trị 0, điểm đó có màu đen Nếu pixel nhận giá trị 1, điểm đó có màu trắng
- Ảnh xám: Sử dụng 8 bit để biểu diễn mức xám, giá trị của mỗi pixel nhận giá trị nguyên từ 0 - 255 Với mức 0 biểu diễn cho mức cường độ tối nhất và 255 biểu diễn cho mức cường độ sáng nhất
- Ảnh màu: Cách biểu diễn tương tự như với ảnh xám, chỉ khác là mỗi pixel được tổ hợp bởi các màu riêng biệt Ví dụ hệ màu RGB (Red-Green-Blue), mỗi pixel được tổng hợp từ ba màu Red, Green và Blue Mỗi màu được biểu diễn bằng 8 bit và có dải từ 0-255 Các kênh màu thường được sử dụng: RGB, YcbCr, HSV,… Tùy vào việc ứng dụng để lựa chọn kênh màu phù hợp Giữa các kênh màu thường có các phép chuyển đổi
Px = A x P’x
Trong đó:
Px: Không gian biểu diễn màu ban đầu P’x: Không gian biểu diễn màu mới A: Ma trận biểu diễn phép biến đổi
Trang 14Nói tóm lại, ảnh số được xem như là một tập hợp các điểm ảnh Điểm ảnh được xem như là dấu hiệu hay cường độ sáng tại một tọa độ trong không gian của đối tượng
1.1.2 Biểu diễn ảnh số
Ảnh trên máy tính là kết quả thu nhận theo các phương pháp số hóa được nhúng vào các thiết bị kỹ thuật khác nhau Quá trình lưu trữ ảnh nhằm hai mục đích:
- Tiết kiệm bộ nhớ
- Giảm thời gian xử lý
Việc lưu trữ thông tin trong bộ nhớ có ảnh hưởng rất lớn đến việc hiển thị, in ấn và xử lý Ảnh được xem như là một tập hợp các điểm với cùng kích thước nếu sử dụng càng nhiều điểm ảnh thì bức ảnh càng đẹp, càng mịn, càng thể hiện rõ hơn chi tiết của ảnh Người ta gọi đặc điểm này là độ phân giải của ảnh
Việc lựa chọn độ phân giải thích hợp tùy thuộc vào nhu cầu sử dụng, đặc trưng của mỗi ảnh cụ thể, trên cơ sở đó các ảnh thường được biểu diễn theo các mô hình cơ bản Đó là mô hình Raster và Vector
1.1.2.1 Mô hình Raster
Đây là cách biểu diễn ảnh thông dụng nhất hiện nay, ảnh được biểu diễn dưới dạng các ma trận điểm ảnh Ảnh thường được thu nhận qua các thiết bị như camera, scanner Tùy theo yêu cầu thực tế mà mỗi điểm ảnh được biểu diễn qua một hay nhiều bit
Mô hình Raster thuận lợi cho hiển thị và in ấn Ngày nay, công nghệ phần cứng cung cấp những thiết bị thu nhận ảnh Raster phù hợp với tốc độ nhanh và chất lượng cao cho cả đầu vào và đầu ra Một thuận lợi cho việc hiển thị trong môi trường Windows là Microsoft đưa ra khuôn dạng ảnh DIB
Trang 15(Device Independent Bitmap) làm trung gian Hình 1.1 thể hiện quy trình chung để hiển thị ảnh Raster thông qua DIB
Một trong những hướng nghiên cứu cơ bản trên mô hình biểu diễn này
là kỹ thuật nén ảnh Các kỹ thuật nén ảnh lại chia theo hai khuynh hướng là nén bảo toàn và không bảo toàn thông tin Nén bảo toàn có khả năng phục hồi hoàn toàn dữ liệu ban đầu còn nén không bảo toàn chỉ có khả năng phục hồi với độ sai số cho phép nào đó Theo cách tiếp cận này người ta đã đề ra nhiều quy cách khác nhau như BMP, TIF, GIF, PCX…
Hiện nay trên thế giới có trên 50 khuôn dạng ảnh thông dụng bao gồm
cả trong đó các kỹ thuật nén có khả năng phục hồi dữ liệu 100% và nén có khả năng phục hồi với độ sai số nhất định
1.1.2.2 Mô hình Vector
Biểu diễn ảnh ngoài mục đích tiết kiệm không gian lưu trữ, dễ dàng cho hiển thị và in ấn còn phải đảm bảo dễ dàng trong lựa chọn sao chép, di chuyển, tìm kiếm Theo những yêu cầu này, kỹ thuật biểu diễn theo mô hình vector tỏ ra ưu việt hơn
Trong mô hình vector người ta sử dụng hướng giữa các vector của điểm ảnh lân cận để mã hóa và tái tạo hình ảnh ban đầu Ảnh vector được thu nhận
BMP
PCC
Trang 16
trực tiếp từ các thiết bị số hóa như Digital hoặc được chuyển đổi từ ảnh Raster thông qua các chương trình số hóa
Công nghệ phần cứng cung cấp những thiết bị xử lý với tốc độ nhanh
và chất lượng cho cả đầu vào và đầu ra nhưng lại chỉ hỗ trợ cho ảnh Raster
Do vậy những nghiên cứu về biểu diễn vector đều tập trung từ chuyển đổi ảnh từ ảnh Raster
1.1.3 Xử lý ảnh số
Ảnh số mang thông tin về hình ảnh đối tượng, biểu diễn thông tin đó dưới dạng mức xám của điểm ảnh và mối quan hệ giữa các mức xám đó Do vậy, qua việc phân tích các mối quan hệ đó ta có thể xác định hoặc ước lượng được thông tin về vật thể cần quan tâm Tùy vào lĩnh vực và mục đích mà xử
lý ảnh số được áp dụng theo các mức độ khác nhau Trong lĩnh vực đo lường điều khiển, kết quả từ xử lý ảnh số (nhận dạng vật thể, ước lượng vật thể,…) được sử dụng làm tín hiệu cho các cơ cấu điều khiển về sau
Con người thu nhận thông tin qua các giác quan, trong đó thị giác đóng vai trò quan trọng nhất Những năm trở lại đây với sự phát triển của phần cứng máy tính, xử lý ảnh và đồ họa phát triển một cách mạnh mẽ và có nhiều ứng dụng trong cuộc sống Xử lý ảnh và đồ họa đóng một vai trò quan trọng trong tương tác người máy
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong muốn Kết quả đầu ra của một quá trình xử lý ảnh
có thể là một ảnh “tốt hơn” hoặc một kết luận
Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như
là đặc trưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của
hóa
Raster hóa
Hình 1.2 Sự chuyển đổi giữa các mô hình biểu diễn ảnh
Trang 17đối tượng trong không gian và nó có thể xem như một hàm n biến P(c1, c2, …,
cn) Do đó, ảnh trong xử lý ảnh có thể xem như ảnh n chiều
Nhìn chung các hệ thống thu nhận ảnh thực hiện một quá trình
+ Cảm biến: biến đổi năng lượng quang học thành năng lượng điện + Tổng hợp năng lượng điện thành ảnh
Bộ thu nhận ảnh số bao gồm thiết bị thu thập (Camera, Sensor, ) và thiết bị thu nhận Hiện nay, thông dụng trên thị trường là camera số Camera
số là bộ thu thập tích hợp cả hai thiết bị trên, đầu ra là ảnh số với nhiều mức
độ phân giải có thể lựa chọn được Bộ thu thập Webcam có các đặc điểm sau:
- Đầu vào: Hình ảnh thực
- Đầu ra: Ảnh số có độ phân giải 480 x 680 pixel, 600 x 800 pixel
- Truyền nhận theo chuẩn USB Đây là chuẩn có tốc độ đảm bảo và thông dụng trên thị trường hiện nay
Tín hiệu vào của khối xử lý ảnh lấy ra từ camera Để tận dụng phần cứng sẵn có, chương trình thử nghiệm sử dụng máy tính xách tay được tích hợp camera hoặc máy tính cá nhân với khả năng giao tiếp theo chuẩn USB
1.1.5 Nắn chỉnh biến dạng ảnh số
Ảnh thu nhận thường bị biến dạng do các thiết bị quang học và điện tử
Để khắc phục những biến dạng này người ta thường sử dụng các phép chiếu Các phép chiếu được xây dựng trên tập các điểm điều khiển
Giả sử (Pi, Pi’) i=1…n có n các tập điều khiển
Trang 18Tìm hàm f: Pi→f(Pi) sao cho:
min )
i
P P f
Giả sử ảnh bị biến đổi chỉ bao gồm: Tịch tiến, quay, tỷ lệ, biến dạng bậc nhất tuyến tính Khi đó hàm f có dạng:
) ,
( ) ,
i i
i i n
i
i
P f
1
2 ' 2 2 2 2 ' 1 1 1 2
1
'
) (
) (
) ) ( (
i i
i i i
x nc
y b x
a
x y y
c y
b y
x a
x x x
c y
x b x
1 1
' 1
2 1 1
' 1
1 2
Nén ảnh thống kê: Kỹ thuật nén này dựa vào việc thống kê tần suất xuất hiện của các giá trị điểm ảnh, trên cơ sở đó có chiến lược mã hóa thích hợp Một ví dụ điển hình cho kỹ thuật mã hóa này là các ảnh có định dạng *.TIF
Trang 19Nén ảnh không gian: Kỹ thuật này dựa vào vị trí không gian của các điểm ảnh để tiến hành mã hóa Kỹ thuật lợi dụng sự giống nhau của các điểm ảnh trong các vùng gần nhau Ví dụ mã nén *.PCX
Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theo hướng nén không bảo toàn thông tin và do vậy kỹ thuật nén thường kém hiệu quả hơn Định dạng *.JPG chính là tiếp cận theo kỹ thuật nén này
Nén ảnh Fractal: Sử dụng tính chất Fractal của các đối tượng ảnh thể hiện
sự lặp lại của các chi tiết Kỹ thuật nén sẽ tính toán để chỉ cần lưu trữ phần gốc của ảnh và quy luật sinh ra ảnh theo nguyên lý Fractal
1.1.7 Trích chọn đặc điểm
Các đặc điểm của đối tượng được trích chọn tùy theo mục đích nhận dạng trong quá trình xử lý ảnh
Có thể nêu ra một số đặc điểm của ảnh như sau:
Đặc điểm không gian: Phân bố mức xám, phân bố xác suất, biên độ, điểm uốn,…
Đặc điểm biến đổi: Các đặc điểm loại này được trích chọn bằng việc thực hiện lọc vùng (Zonal Filtering) Các bộ lọc vùng được gọi là “mặt nạ đặc điểm” (Feature Mask) thường là các khe hẹp với hình dạng khác nhau (chữ nhật, tam giác, cung tròn,…)
Đặc điểm biên và đường biên: Đặc trưng cho đường biên của đối tượng
và do vậy rất hữu ích trong việc trích chọn các thuộc tính bất biến được dùng khi nhận dạng đối tượng Các đặc điểm này có thể được trích chọn nhờ toán
tử Gradient, toán tử la bàn, toán tử Laplace, toán tử Zero Crossing,…
Việc trích chọn hiệu quả các đặc điểm giúp cho việc nhận dạng các đối tượng ảnh chính xác, với tốc độ tính toán cao và dung lượng bộ nhớ lưu trữ ảnh giảm xuống
Trang 201.1.8 Nhận dạng ảnh
Nhận dạng tự động (Automatic Recognition) mô tả đối tượng, nhận dạng và phân nhóm các mẫu là những vấn đề quan trọng trong thị giác máy, được ứng dụng trong nhiều ngành khoa học khác nhau Tuy nhiên một câu hỏi được đặt ra là: mẫu(Pattern) là gì? Watanabe - một trong những người đi đầu lĩnh vực này đã định nghĩa “Ngược lại với hỗn loạn (Chaos), mẫu là một thực thể (Entity) được xác định một cách ang áng (Veguely Defined) và có thể gán cho nó một tên gọi nào đó” Ví dụ mẫu có thể là ảnh của vân tay, ảnh của một vật nào đó được chụp, một chữ viết, khuôn mặt người hoặc một ký hiệu tiếng nói Khi biết một mẫu nào đó, để nhận dạng mẫu đó có thể lựa chọn:
Nhận dạng có mẫu (Supervised Classification): chẳng hạn phân tích tách biệt (Discrimiant Analysis) trong đó mẫu đầu vào được định danh như một thành phần của một lớp đã xác định
Nhận dạng không có mẫu (Unsupervised Classification hay Clustering) trong đó các mẫu được gán vào các lớp khác nhau dựa trên một tiêu chuẩn đồng dạng nào đó Các lớp này cho đến thời điểm nhận dạng vẫn chưa biết hay chưa được định danh
Hệ thống nhận dạng tự động gồm ba khâu tương ứng với ba giai đoạn chủ yếu sau:
- Thu nhận dữ liệu và tiền xử lý
- Biểu diễn dữ liệu
- Nhận dạng, ra quyết định
Bốn cách tiếp cận khác nhau trong lý thuyết nhận dạng là:
- Đối sánh mẫu dựa trên các đặc trưng được trích chọn
- Nhận dạng thống kê
- Đối sánh cấu trúc
- Nhận dạng dựa trên mạng nơ ron nhân tạo
Trang 21Trong các ứng dụng rõ ràng là không thể chỉ dùng một cách tiếp cận đơn lẻ để nhận dạng “tối ưu” Do vậy cần sử dụng cùng một lúc nhiều phương pháp và cách tiếp cận khác nhau Các phương pháp nhận dạng tổ hợp hay được sử dụng khi nhận dạng hiện nay đã có nhưng kết quả triển vọng dựa trên thiết kế các hệ thống lại bao gồm nhiều mô hình kết hợp
Việc giải quyết bài toán nhận dạng trong những ứng dụng mới, nảy sinh trong cuộc sống không chỉ tạo ra những thách thức về thuật giải mà còn đặt ra những yêu cầu về tốc độ tính toán Đặc điểm chung của tất cả những ứng dụng đó là những đặc điểm đặc trưng cần thiết thường là nhiều, không thể do chuyên gia đề xuất, mà phải được trích chọn dựa trên các thủ tục phân tích dữ liệu
1.2 Nhận dạng mặt người và những khó khăn của nhận dạng khuôn mặt 1.2.1 Nhận dạng mặt người
Hệ thống nhận dạng mặt người là một hệ thống nhận vào là một ảnh hoặc một đoạn video (một chuỗi các ảnh) Qua xử lý tính toán hệ thống xác định được vị trí mặt người trong ảnh (nếu có) và xác định là người nào trong
số những người hệ thống đã được biết (qua quá trình học) hoặc là người lạ Xác định khuôn mặt người (Face Detection) là một kỹ thuật máy tính để xác định cá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ỳ (ảnh kỹ thuật số) Kỹ thuật nà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ể,…
1.2.2 Các ứng dụng liên quan đến nhận dạng mặt người
Bài toán nhận dạng mặt người có thể áp dụng rộng rãi trong nhiều ứng dụng tư thế khác nhau Đó chính là lý do mà bài toán này hấp dẫn rất nhiều nhóm nghiên cứu trong thời gian dài Các ứng dụng liên quan đến nhận dạng mặt người có thể kể như:
Trang 22- Hệ thống phát hiện tội phạm: camera được đặt tại một số điểm công cộng như: siêu thị, nhà sách, trạm xe buýt, sân bay, … Khi phát hiện được sự xuất hiện của các đối tượng là tội phạm, hệ thống sẽ gửi thông điệp về cho trung tâm xử lý
- Hệ thống theo dõi nhân sự trong một đơn vị: giám sát giờ ra vào của từng nhân viên và chấm công
- Hệ thống giao tiếp người máy: Thay thế việc tương tác giữa người và máy theo những cách truyền thống như: bàn phím, chuột, … Thay vào đó là
sử dụng các giao tiếp trực quan: biểu cảm khuôn mặt, dấu hiệu, cử chỉ bằng tay (Visual Input, Visual Interaction)
- Hệ thống tìm kiếm thông tin trên ảnh, video dựa trên nội dung (chỉ mục theo người) Chẳng hạn như: đài truyền hình Việt Nam (VTV) có một kho dữ liệu video tin tức khá lớn cần tìm kiếm nhanh những đoạn video nào có một nhân vật nào đó
- Tương lai sẽ phát triển các loại thẻ thông minh có tích hợp sẵn đặc trưng của người dùng trên đó, khi bất cứ người dùng nào khác chủ thẻ sử dụng thẻ để truy cập hay xử lý tại các hệ thống sẽ được yêu cầu kiểm tra các đặc trưng khuôn mặt so với thẻ để xác định đó có phải là chủ thẻ hay không
- Hệ thống kiểm tra trạng thái người lái xe có ngủ gật, mất tập trung hay không và hỗ trợ thông báo khi cần thiết
- Các hệ thống bảo mật dựa trên thông tin trắc sinh học: mặt người, vân tay, … thay vì xác nhận mật khẩu, khóa, …
1.2.3 Những khó khăn và thách thức của nhận dạng khuôn mặt
Bài toán nhận dạng mặt người là bài toán đã được nghiên cứu từ những năm 70 Tuy nhiên, đây là một bài toán khó nên những nghiên cứu hiện tại vẫn chưa đạt được kết quả mong muốn Chính vì thế vấn đề này vẫn đang
Trang 23được nhiều nhóm trên thế giới quan tâm nghiên cứu Khó khăn của bài toán nhận dạng mặt người có thể kể như sau:
a Tư thế, góc chụp: ảnh chụp khuôn mặt có thể thay đổi rất nhiều bởi vì góc chụp giữa camera và khuôn mặt Chẳng hạn như: chụp thẳng, chụp xéo bên trái 450, chụp từ trên xuống, chụp từ dưới lên,… Với các tư thế khác nhau, các thành phần trên khuôn mặt như mắt, mũi, miệng có thể bị khuất một phần hoặc có thể khuất hết
b Sự xuất hiện hoặc thiếu một số thành phần của khuôn mặt Các đặc trưng như: râu mép, râu hàm, mắt kính, … có thể xuất hiện hoặc không Vấn
đề này càng làm cho bài toán trở nên khó hơn rất nhiều
c Sự biểu cảm của khuôn mặt: Biểu cảm của khuôn mặt người có thể làm ảnh hưởng đáng kể lên các thông số của khuôn mặt Chẳng hạn, cùng một khuôn mặt một người, nhưng có thể sẽ rất khác khi họ cười hoặc sợ hãi, …
d Sự che khuất: Khuôn mặt có thể bị che khuất bởi các đối tượng khác hoặc các khuôn mặt khác
e Hướng của ảnh: Các ảnh của khuôn mặt có thể biến đổi rất nhiều với các góc quay khác nhau của trục camera Chẳng hạn chụp với trục máy ảnh nghiêng làm cho khuôn mặt bị nghiêng so với trục của ảnh
f Điều kiện của ảnh: Ảnh được chụp trong các điều kiện khác nhau về chiếu sáng, về tính chất camera (máy kỹ thuật số, máy hồng ngoại, .) ảnh hưởng rất nhiều đến chất lượng ảnh khuôn mặt
1.2.4 Các hướng tiếp cận liên quan đến nhận dạng khuôn mặt
Có nhiều nghiên cứu tìm phương pháp xác định khuôn mặt người, từ ảnh xám đến ngày nay là ảnh màu Dựa vào tính chất của các phương pháp xác định khuôn mặt người trên ảnh thì các phương pháp này được chia làm bốn hướng tiếp cận chính: dựa trên tri thức (Knowledge - Base), đặc trưng bất biến (Feature Invariant), đối sánh ngẫu (Template Matching) và dựa vào diện
Trang 24mạo (Appearance - Base) Hướng tiếp cận dựa vào diện mạo thường dùng một mô hình máy học nên còn được gọi là phương pháp dựa trên máy học (Machine Learning – Based)
Hướng tiếp cận dựa trên tri thức: Hướng tiếp cận này chủ yếu dựa trên những luật được định nghĩa trước về khuôn mặt người Mã hóa các hiểu biết của con người về các loại khuôn mặt thành các luật Những luật này thường là các mối quan hệ giữa các thành phần trên khuôn mặt Thông thường các luật
mô tả quan hệ của các đặc trưng
Hướng tiếp cận dựa trên các đặc trưng bất biến: Hướng tiếp cận này cố gắng tìm kiếm những đặc trưng độc lập – những đặc trưng không phụ thuộc vào tư thế khuôn mặt, điều kiện ánh sáng và các khó khăn khác Các đặc trưng như thế được gọi là bất biến và được sử dụng để phát hiện khuôn mặt Mục tiêu của hướng tiếp cận này là 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 các yếu
tố khác thay đổi
Hướng tiếp cận dựa trên đối sánh mẫu: Trong hướng tiếp cận này một mẫu khuôn mặt chuẩn được định nghĩa bằng tay trước hoặc được tham số hóa bằng một hàm số Mẫu này được sử dụng để phát hiện khuôn mặt bằng cách quét nó qua ảnh và tính toán giá trị tương đồng cho mỗi vị trí Việc xuất hiện một khuôn mặt tại một vị trí nào đó trong ảnh phụ thuộc vào giá trị tương đồng của điểm đó so với mẫu chuẩn
Hướng tiếp cận dựa trên diện mạo: Ngược với phương pháp đối sánh mẫu sử dụng các mẫu được các chuyên gia định nghĩa trước, phương pháp này sử dụng các mẫu được rút trích qua một quá trình học Nói cách khác, các thuật toán dựa trên máy học dùng các kỹ thuật phân tích thống kê và máy học
để xấp xỉ một hàm phân lớp tuyến tính Có rất nhiều mô hình máy học được
áp dụng trong hướng tiếp cận này
Trang 251.3 Bài toán phát hiện hướng mặt người trong ảnh
1.3.1 Giới thiệu tổng quát bài toán
Một trong những khó khăn của các bài toán phát hiện và nhận dạng khuôn mặt là hướng (Pose) của khuôn mặt trong ảnh Đa số các bài toán nhận dạng khuôn mặt chỉ có thể thực hiện được hoặc đạt kết quả chính xác nếu các bức ảnh chứa khuôn mặt ở tư thế thẳng đứng, vuông góc với trục ống kính của máy ảnh Bài toán phát hiện hướng khuôn mặt người trong ảnh sẽ góp phần không nhỏ vào quá trình nhận dạng mặt người Sử dụng kết quả của bài toán phát hiện hướng khuôn mặt người trong ảnh vào giai đoạn tiền xử lý hình ảnh, những bức ảnh chứa khuôn mặt người ở các tư thế khác nhau sẽ được qui chuẩn làm cơ sở đầu vào cho các hệ thống nhận dạng Với kết quả nghiên cứu của luận văn, bài toán nhận dạng mặt người có thể áp dụng để nhận dạng khuôn mặt ở nhiều góc nghiêng khác nhau
Không chỉ áp dụng cho các bước tiền xử lý hình ảnh trong nhận dạng khuôn mặt, phát hiện hướng mặt người trong ảnh còn được áp dụng vào các
hệ thống tương tác người máy Thông qua các biểu hiện khuôn mặt để điều khiển các chức năng của hệ thống Ví dụ như thông qua hướng của khuôn mặt
để điểu khiển hướng của xe lăn trợ giúp người tàn tật
Cùng trong một bức ảnh có thể có nhiều khuôn mặt ở những tư thế khác nhau Sử dụng bài toán phát hiện hướng khuôn mặt nhằm xác định chính xác hướng của từng khuôn mặt trong ảnh Qua đó kết hợp với quá trình tiền xử lý hình ảnh nhằm tạo ra những ảnh đầu vào tốt hơn rất nhiều cho các hệ thống nhận dạng
Việc xác định tư thế khuôn mặt con người đặt ra nhiều vấn đề hơn so với các đối tượng khác bởi khuôn mặt người là một đối tượng động với nhiều hình thức thể hiện và màu sắc khác nhau Ngoài ra, việc phát hiện và theo dõi khuôn mặt cung cấp rất nhiều lợi ích Việc nhận dạng khuôn mặt không thể
Trang 26được tiến hành nếu khuôn mặt không được phân lập từ nền Tương tác người máy (Human Computer Interaction - HCI) có thể được hỗ trợ rất tốt bằng việc
sử dụng các yếu tố của việc nhận dạng cử chỉ, tư thế, cảm xúc tất cả những yêu cầu việc phát hiện theo dõi khuôn mặt
Mặc dù có nhiều thuật toán khác nhau tồn tại thực hiện việc nhận diện khuôn mặt, mỗi thuật toán có điểm yếu và điểm mạnh riêng Một số thuật toán sử dụng màu da, một số lại sử dụng đường nét và thậm chí phức tạp hơn liên quan đến mẫu, các mạng nơron thần kinh hoặc các bộ lọc Những thuật toán này đều bị cùng một vấn đề là chi phí cho việc thực hiện khá đắt tiền Một bức ảnh chỉ là một tập hợp của màu sắc và/hoặc giá trị cường độ ánh sáng Việc phân tích các điểm ảnh này để phát hiện khuôn mặt thì tốn thời gian để thực hiện và khó có thể hoàn thành bởi vì các biến thể về hình dạng, màu sắc trên khuôn mặt con người Các điểm ảnh thường đòi hỏi phải được phân tích lại, được mở rộng quy mô và chính xác hơn Theo đó Viola và Jones đã phát minh ra một thuật toán gọi là thuật toán nhận dạng Haar để nhanh chóng phát hiện bất kỳ đối tượng nào, bao gồm khuôn mặt con người
sử dụng phương thức nhận dạng AdaBoost dựa trên các đặc tính Haar và không phải điểm ảnh
1.3.2 Mô hình mặt người trong không gian 3D
Chúng ta biết rằng đầu người được xem là một khối 3D trong hệ thống tọa độ 3D Do đó các biến về tư thế đầu cũng sẽ thỏa mãn các mẫu chung của các chuyển động cứng nhắc Các ảnh khuôn mặt theo các tư thế khác nhau có thể được xem như là một phép chiếu khác của ảnh 2D cho phép quay các góc khác nhau quanh trung tâm đầu Trong luận văn này, tôi xây dựng mô hình 3D của đầu được biểu diễn thông qua ma trận quay theo các hướng
Trang 27Hình 1.3 Hệ tọa độ 3D trên khuôn mặt và các góc quay tương ứng
Trang 28CHƯƠNG 2: MỘT SỐ KỸ THUẬT PHÁT HIỆN HƯỚNG MẶT NGƯỜI TRONG ẢNH 2.1 Phát hiện hướng mặt người trong ảnh dựa trên tâm mắt
2.1.1 Tách mặt người trong ảnh
Tìm và tách mặt người ra khỏi ảnh số là một bài toán gắn liền với hệ thống nhận dạng mặt người tự động
Hiện nay có một số phương pháp để tách mặt người trong ảnh:
- Sử dụng ngưỡng màu đối với ảnh màu để xác định vùng có màu da của khuôn mặt người
- Phương pháp trừ ảnh đối với hệ thống có camera đặt cố định
2.1.1.1 Sử dụng ngưỡng màu
Sử dụng ngưỡng màu là phương pháp thường được sử dụng đối với ảnh màu để tách vùng có màu da người Để sử dụng phương pháp này, các hệ màu thường dùng là HSV, YcbCr và một số hệ màu khác Ảnh đầu vào từ Webcam thường mặc định là ảnh trong hệ màu RGB Vì vậy để chuyển sang các hệ màu khác cần phải có ma trận chuyển hệ màu Với hệ màu YCbCr, sử dụng ma trận sau:
Thông thường với hệ màu YcbCr, ngưỡng màu để xác định da người là:
Ưu điểm của phương pháp:
- Phương pháp thực hiện đơn giản
- Thực hiện được trong ảnh có nhiều người, nhiều khuôn mặt
- Có thể thực hiện được với các ảnh có nền khác nhau
Cr Cb Y
214 18 786
93 000
112
000 112 203
74 797
37
966 24 553
128 481
65
128 128 16
173 133
127 77
Trang 29Nhược điểm của phương pháp:
- Bắt buộc phải sử dụng ảnh màu, có dung lượng gấp ba lần so với ảnh xám của cùng một ảnh
- Ngưỡng màu da là tương đối vì làn da con người có nhiều loại màu và màu da thể hiện trên ảnh số có thể bị thay đổi
- Màu da có thể trùng với màu nền sinh ra nhiễu
- Với ảnh có kích thước lớn, nhiều nhiễu, khối lượng tính toán sẽ lớn và đòi hỏi nhiều về cấu hình phần cứng
2.1.1.2 Phương pháp trừ ảnh với nền không đổi
Về bản chất của phương pháp này là so sánh ảnh có khuôn mặt với ảnh không có khuôn mặt Sự chênh lệch mức xám giữa hai ảnh thể hiện sự xuất hiện của đối tượng
Hai điểm ảnh cùng một vị trí trên hai ảnh, nếu hiệu mức xám giữa chúng lớn hơn ngưỡng cho phép, ta chấp nhận mức xám tại điểm đó có sự thay đổi
và xác định được đối tượng
Ưu điểm của phương pháp:
- Phương pháp đơn giản, thời gian thực hiện ngắn
- Chỉ cần thực hiện với ảnh xám
Nhược điểm của phương pháp:
- Phạm vi ứng dụng hẹp, chỉ dùng được với nền không đổi
- Điều kiện ánh sáng không được thay đổi nhiều giữa các lần chụp
Hình 2.1: Phương pháp trừ ảnh với nền không đổi
Trang 302.1.2 Chuẩn hóa ảnh
Mục đích của việc chuẩn hóa ảnh là đưa ảnh về dạng chuẩn trước khi thực hiện Tiến hành sử dụng phương pháp trừ ảnh để tách đối tượng khuôn mặt ra khỏi ảnh Cho ảnh nền X và ảnh chứa khuôn mặt Y có cùng kích thước Ảnh kết quả của phép trừ ảnh là I Xét pixel có tọa độ (x0, y0) ta có:
Kết quả của phép trừ ảnh là một ảnh nhị phân Khu vực chứa đối tượng
sẽ có màu trắng (giá trị bằng 1) và khu vực còn lại sẽ có màu đen (giá trị bằng 0) Tuy nhiên do sự thay đổi cường độ sáng ở một mức độ nào đó giữa ảnh nền và ảnh chứa đối tượng, ảnh sẽ có nhiều nhiễu Do đó phải tiến hành lọc nhiễu để thu được ảnh có chất lượng tốt hơn
- Lọc các nhiễu (các vùng màu trắng không có đối tượng) có diện tích
bé Vùng chứa đối tượng luôn là vùng có diện tích lớn nhất
- Lọc các vùng đen bên trong khu vực chứa đối tượng
2.1.3 Cắt và xoay chuẩn ảnh
2.1.3.1 Xác định tâm mắt
Để thực hiện nhiệm vụ tìm khung khuôn mặt và góc xoay chuẩn, ta sử dụng phương pháp tìm tâm hai mắt để xác định vị trí khuôn mặt, từ đó suy ra góc lệch của khuôn mặt so với tư thế chuẩn
Để xác định vùng mắt, nhận thấy rằng mắt là một vùng có ánh sáng tối nằm ở một khu vực riêng trên khuôn mặt, xung quanh là vùng màu da Do đó
sử dụng phương pháp tách vùng để tìm ra vùng chứa mắt Vậy nên phương pháp phân ngưỡng màu được áp dụng trong bài toán này
Các bước thực hiện có thể theo sơ đồ sau:
| 0
| ) , ( ) , (
| 1
) , (
0 0 0
0
0 0 0
0 0
0
y x Y y x X khi
y x Y y x X khi y
x I
Trang 31Hình 2.2: Sơ đồ thực hiện xác định tâm mắt
Do sự quy định chặt chẽ điều kiện đường biên, số pixel quy định gương mặt có tỉ lệ gần như không đổi so với tổng số pixel Vùng ảnh chứa màu mắt khá nổi bật trong lược đồ mức xám Tỷ lệ của vùng da và nền so với tổng số pixel luôn nằm trong khoảng cố định Do đó có thể tính được ngưỡng của vùng màu mắt
Do diện tích của vùng mắt là nhỏ hơn rất nhiều so với vùng tóc nên ta
sử dụng chương trình lọc để bỏ đi các vùng có diện tích lớn Vùng có diện tích lớn hơn ngưỡng sẽ được thay thế bằng giá trị 0 (màu đen)
Việc đặt ngưỡng thông thường sẽ sinh ra các vùng nhiễu có diện tích
bé Để lọc các vùng này ta sử dụng hàm lọc các vùng có diện tích bé hơn ngưỡng Sau khi tách được vùng mắt, sử dụng phương pháp tìm tâm của một vùng để xác định tâm mắt Qua đó xác định chính xác tâm hai mắt, thực hiện phép xoay ảnh, tách được vùng mặt và xác định được góc nghiêng của khuôn mặt so với phương thẳng đứng
Xác định vùng chứa mắt Loại bỏ vùng có diện tích quá lớn hoặc quá bé
Tạo mặt nạ tách ngưỡng màu mắt
INPUT
Cắt và xoay ảnh
OUTPUT
Trang 322.1.3.2 Xoay ảnh và tắt khung mặt
Từ tọa độ tâm hai mắt, xác định góc nghiêng của khuôn mặt so với phương thẳng đứng
Hình 2.3: Xác định góc nghiêng dựa theo tâm mắt
Giả sử tại tâm hai mắt có tọa độ tương ứng là (x1, y1) và (x2, y2) Khi đó
Sử dụng phương pháp biến đổi Affine Transform ta có:
Các phép chuyển đổi thông thường có thể là: Scale, Rotation, Translation,… Đối với mỗi phương pháp có ma trận T khác nhau Trong trường hợp xoay ảnh thì ma trận T tương ứng là:
Mắt phải Mắt trái
1 2
1 2
x x
y y tg
0 1
1 1
32 31
22 21
12 11
t t
t t
t t z w T z
w y
x