Đồ án: Xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng OpenCV

Đồ án xây dựng ứng dụng phát hiện khuôn mặt trong ảnh với OpenCV. Tìm hiểu quy trình, thuật toán và cách triển khai chi tiết. Tải source code miễn phí!

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2019

61
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

MỤC LỤC

PHẦN MỞ ĐẦU

1. CHƯƠNG 1: TỔNG QUAN VỀ PHÁT HIỆN KHUÔN MẶT

1.1. Giới thiệu phát hiện khuôn mặt

1.2. Các hướng tiếp cận trong phát hiện khuôn mặt

1.2.1. Hướng tiếp cận dựa trên tri thức

1.2.2. Hướng tiếp cận dựa trên đặc trưng không đổi

1.2.3. Hướng tiếp cận dựa trên so lớp mẫu

1.2.4. Hướng tiếp cận dựa trên máy học

1.2.5. Hướng tiếp cận tổng hợp

1.3. Khó khăn và thách thức trong bài toán phát hiện khuôn mặt

1.4. Một số lĩnh vực ứng dụng phát hiện khuôn mặt

2. CHƯƠNG 2: PHÁT HIỆN KHUÔN MẶT SỬ DỤNG ĐẶC TRƯNG HAAR

2.1. Đặc trưng của Haar

2.1.1. Đối tượng nhận dạng

2.1.2. Đặc trưng

2.2. Bộ phân lớp AdaBoost

2.2.1. Các hướng tiếp cận dò tìm khuôn mặt nhanh

2.2.2. Thuật toán AdaBoost

2.2.3. Bộ phân lớp AdaBoost

2.2.4. Nhược điểm

3. CHƯƠNG 3: THỰC NGHIỆM PHÁT HIỆN KHUÔN MẶT

3.1. Mô tả bài toán

3.2. Phân tích và lựa chọn công cụ

3.3. Phát hiện khuôn mặt sử dụng hàm OpenCV

3.3.1. Cấu trúc OpenCV

3.4. Phát hiện khuôn mặt với các hàm trong OpenCV

3.5. Một số kết quả chương trình

DANH MỤC HÌNH

Tóm tắt

I. Tổng Quan Phát Hiện Khuôn Mặt OpenCV Giới Thiệu Chi Tiết

Trong kỷ nguyên số, công nghệ thông tin len lỏi vào mọi ngóc ngách đời sống. Nhận dạng mặt người là một minh chứng tiêu biểu. Trước đây, nhân viên an ninh phải vất vả tìm kiếm nghi phạm qua từng khung hình camera. Giờ đây, hệ thống nhận diện tự động hóa quy trình này. Phát hiện khuôn mặt là bước đầu tiên và quan trọng trong hệ thống nhận dạng, ảnh hưởng trực tiếp đến tốc độ và độ chính xác. Theo tài liệu gốc, đồ án tập trung vào tìm hiểu đặc trưng Haar-like và mô hình Cascade of Classifiers, áp dụng vào bài toán phát hiện mặt người trong ảnh. Ở mức độ đơn giản, hệ thống chỉ cần phân loại một đối tượng có phải mặt người hay không. Cao hơn, nó có thể so sánh với cơ sở dữ liệu để xác định danh tính. Khó khăn nằm ở chỗ làm sao để máy tính “nhìn” và hiểu khuôn mặt một cách chính xác, bất chấp điều kiện ánh sáng, góc chụp, hay các yếu tố gây nhiễu khác. Để giải quyết bài toán này, các nhà nghiên cứu đã phát triển nhiều phương pháp, mỗi phương pháp đều có ưu và nhược điểm riêng. Đồ án này sẽ đi sâu vào tìm hiểu một trong những phương pháp phổ biến nhất, đó là sử dụng thư viện OpenCV với đặc trưng Haar.

1.1. Ứng Dụng Phát Hiện Khuôn Mặt Trong Thực Tế Hiện Nay

Ứng dụng của phát hiện khuôn mặt vô cùng đa dạng. Từ hệ thống an ninh giám sát tội phạm tại các địa điểm công cộng, đến các ứng dụng theo dõi nhân sự, chấm công tự động. Trong lĩnh vực giao tiếp người-máy, nó thay thế bàn phím, chuột bằng các tương tác trực quan hơn như biểu cảm khuôn mặt, cử chỉ. Các đài truyền hình có thể sử dụng để tìm kiếm nhanh các đoạn video có một nhân vật cụ thể. Quan trọng hơn, công nghệ này mở ra cánh cửa cho các hệ thống bảo mật sinh trắc học, thay thế mật khẩu bằng khuôn mặt hoặc vân tay. 'Với một hệ thống máy tính, chúng ta có thể làm được rất nhiều việc, tiết kiệm thời gian và công sức. Điển hình như công việc nhận dạng mặt người', trích từ phần mở đầu của tài liệu gốc.

1.2. Các Bước Cơ Bản Của Hệ Thống Nhận Dạng Mặt Người

Một hệ thống nhận dạng mặt người điển hình trải qua bốn giai đoạn chính: phát hiện khuôn mặt, phân đoạn (xác định vị trí các đặc điểm như mắt, mũi, miệng), trích xuất đặc trưng (chuyển thông tin về các đặc điểm thành vector đặc trưng) và phân loại (sử dụng mô hình học máy để nhận diện). Trong đó, phát hiện khuôn mặt được xem là bước khó khăn và quan trọng nhất do ảnh hưởng của nhiều yếu tố như tư thế, ánh sáng. Các bước khác như tiền xử lý, hậu xử lý có thể được thêm vào để tăng độ chính xác.

II. Thách Thức Khó Khăn Trong Phát Hiện Khuôn Mặt Bằng OpenCV

Mặc dù có nhiều tiềm năng, bài toán phát hiện khuôn mặt OpenCV vẫn tồn tại nhiều thách thức. Tư thế (góc nhìn, nghiêng, xoay), sự xuất hiện của râu, kính, biểu cảm khuôn mặt (vui, buồn, ngạc nhiên), vật cản che khuất, điều kiện ánh sáng kém, kích thước khuôn mặt khác nhau và nhiều khuôn mặt dính liền nhau đều gây khó khăn cho việc nhận diện. Vì vậy, một thuật toán hoàn hảo, đáp ứng mọi điều kiện là điều khó đạt được. Đánh giá hiệu quả của các thuật toán dựa trên tỷ lệ xác định chính xác (số khuôn mặt nhận diện đúng/tổng số khuôn mặt), số lượng xác định nhầm (vùng không phải khuôn mặt bị nhận diện sai) và thời gian thực hiện. Mục tiêu là đạt được tỷ lệ chính xác cao, giảm số lượng nhận diện nhầm và đảm bảo tốc độ xử lý nhanh.

2.1. Ảnh Hưởng Của Ánh Sáng Và Góc Chụp Đến Độ Chính Xác

Điều kiện ánh sáng và góc chụp là hai yếu tố then chốt ảnh hưởng đến hiệu suất của thuật toán phát hiện khuôn mặt OpenCV. Ánh sáng không đồng đều, bóng đổ có thể làm thay đổi hình dạng và màu sắc của khuôn mặt, khiến thuật toán khó phân biệt với nền. Góc chụp nghiêng, xoay cũng làm biến dạng hình ảnh, gây khó khăn cho việc trích xuất đặc trưng chính xác. Vì vậy, cần có các phương pháp tiền xử lý ảnh để giảm thiểu ảnh hưởng của các yếu tố này.

2.2. Vấn Đề Xử Lý Khuôn Mặt Bị Che Khuất Hoặc Biến Dạng

Trong thực tế, khuôn mặt thường bị che khuất một phần bởi các vật thể khác (tay, kính, mũ) hoặc bị biến dạng do biểu cảm. Điều này gây khó khăn cho việc trích xuất đặc trưng và nhận diện chính xác. Các thuật toán cần có khả năng xử lý các trường hợp này bằng cách sử dụng các đặc trưng mạnh mẽ, ít bị ảnh hưởng bởi che khuất hoặc biến dạng.

III. Phương Pháp Haar Like và AdaBoost trong Phát Hiện Khuôn Mặt

Để vượt qua những thách thức trên, đồ án này tập trung vào phương pháp sử dụng đặc trưng Haar-likethuật toán AdaBoost. Haar-like là các hình chữ nhật được phân thành các vùng khác nhau, đại diện cho sự khác biệt về cường độ sáng giữa các vùng trên khuôn mặt (ví dụ: vùng mắt thường tối hơn vùng má). Các đặc trưng này được mở rộng thành nhiều loại (đặc trưng cạnh, đường, tâm) để tăng khả năng nhận diện. Integral Image được sử dụng để tính toán nhanh tổng giá trị pixel trong một vùng, giúp tăng tốc độ xử lý. Sau đó, thuật toán AdaBoost sẽ chọn ra các đặc trưng Haar-like quan trọng nhất và kết hợp chúng thành một bộ phân loại mạnh.

3.1. Giải Thích Chi Tiết Về Đặc Trưng Haar like và Integral Image

Đặc trưng Haar-like hoạt động dựa trên sự khác biệt về cường độ sáng giữa các vùng trên khuôn mặt. Integral Image giúp tính toán nhanh tổng giá trị pixel trong một vùng hình chữ nhật, từ đó giảm đáng kể thời gian tính toán đặc trưng Haar-like cho toàn bộ ảnh. Công thức tính Integral Image được đề cập trong tài liệu gốc, cho phép tính tổng giá trị mức xám của một vùng bất kỳ một cách hiệu quả.

3.2. Ưu Điểm Của AdaBoost Trong Việc Lựa Chọn Đặc Trưng Tối Ưu

Thuật toán AdaBoost có khả năng lựa chọn các đặc trưng Haar-like quan trọng nhất và kết hợp chúng thành một bộ phân loại mạnh, giúp tăng độ chính xác và giảm thời gian xử lý. AdaBoost hoạt động bằng cách kết hợp các bộ phân loại yếu (chỉ hơn đoán ngẫu nhiên một chút) thành một bộ phân loại mạnh (có độ chính xác cao hơn nhiều).

IV. Xây Dựng Ứng Dụng Phát Hiện Khuôn Mặt với OpenCV Hướng Dẫn

OpenCV (Open Source Computer Vision Library) là một thư viện mã nguồn mở mạnh mẽ, cung cấp nhiều hàm và công cụ cho xử lý ảnh và thị giác máy tính. Với OpenCV, việc xây dựng ứng dụng phát hiện khuôn mặt trở nên đơn giản hơn rất nhiều. Cấu trúc cơ bản của OpenCV bao gồm nhiều module khác nhau, phục vụ các công việc như xử lý ảnh, nhận diện, robot, v.v. Để phát hiện khuôn mặt, chúng ta sử dụng các hàm liên quan đến đặc trưng Haar-like và bộ phân loại Cascade Classifier (được huấn luyện sẵn và cung cấp kèm theo OpenCV).

4.1. Cài Đặt và Thiết Lập Môi Trường OpenCV Cho Phát Triển

Trước khi bắt đầu xây dựng ứng dụng, cần cài đặt OpenCV và thiết lập môi trường phát triển phù hợp. Các bước cài đặt chi tiết có thể tìm thấy trên trang chủ của OpenCV. Sau khi cài đặt, cần cấu hình môi trường để IDE (Integrated Development Environment) có thể tìm thấy các thư viện OpenCV.

4.2. Sử Dụng Cascade Classifier Của OpenCV Để Dò Tìm Khuôn Mặt

OpenCV cung cấp các bộ phân loại Cascade Classifier đã được huấn luyện sẵn cho việc phát hiện khuôn mặt. Các bộ phân loại này sử dụng đặc trưng Haar-like và thuật toán AdaBoost. Để sử dụng, chỉ cần tải bộ phân loại và gọi các hàm tương ứng trong OpenCV. Ví dụ, đoạn code trong đồ án cho thấy cách sử dụng CascadeClassifier để phát hiện khuôn mặt trong ảnh.

V. Kết Quả Thực Nghiệm Đánh Giá Hiệu Năng Phát Hiện Khuôn Mặt

Các kết quả thực nghiệm cho thấy ứng dụng phát hiện khuôn mặt sử dụng OpenCV hoạt động khá hiệu quả trong điều kiện ánh sáng tốt và khuôn mặt nhìn thẳng. Tuy nhiên, độ chính xác giảm khi khuôn mặt bị nghiêng, xoay hoặc bị che khuất. Thời gian xử lý tương đối nhanh, phù hợp với các ứng dụng thời gian thực. Việc cải thiện hiệu năng có thể đạt được bằng cách sử dụng các bộ phân loại Cascade Classifier được huấn luyện trên bộ dữ liệu lớn hơn và đa dạng hơn, hoặc áp dụng các kỹ thuật tiền xử lý ảnh để giảm nhiễu.

5.1. So Sánh Độ Chính Xác Với Các Phương Pháp Phát Hiện Khuôn Mặt Khác

So với các phương pháp phát hiện khuôn mặt khác, phương pháp sử dụng Haar-like và AdaBoost trong OpenCV có ưu điểm là tốc độ xử lý nhanh và dễ cài đặt. Tuy nhiên, độ chính xác có thể thấp hơn so với các phương pháp sử dụng deep learning, đặc biệt trong điều kiện ánh sáng kém hoặc khuôn mặt bị biến dạng.

5.2. Các Yếu Tố Ảnh Hưởng Đến Tốc Độ Xử Lý Của Ứng Dụng

Tốc độ xử lý của ứng dụng phát hiện khuôn mặt phụ thuộc vào nhiều yếu tố, bao gồm kích thước ảnh, số lượng khuôn mặt trong ảnh, cấu hình phần cứng và mức độ tối ưu hóa code. Việc giảm kích thước ảnh hoặc sử dụng các kỹ thuật tối ưu hóa code có thể giúp tăng tốc độ xử lý.

VI. Kết Luận và Hướng Phát Triển Phát Hiện Khuôn Mặt OpenCV

Bài toán phát hiện khuôn mặt vẫn là một lĩnh vực nghiên cứu sôi động, với nhiều hướng phát triển tiềm năng. Sự kết hợp giữa các thuật toán truyền thống (như Haar-like và AdaBoost) với các kỹ thuật deep learning hứa hẹn sẽ mang lại hiệu quả cao hơn. Ngoài ra, việc phát triển các bộ phân loại Cascade Classifier chuyên biệt cho các điều kiện khác nhau (ánh sáng, góc chụp, biểu cảm) cũng là một hướng đi tiềm năng.

6.1. Tích Hợp Deep Learning Để Nâng Cao Độ Chính Xác Của Hệ Thống

Việc tích hợp các mô hình deep learning (ví dụ: CNN) vào hệ thống phát hiện khuôn mặt có thể giúp nâng cao đáng kể độ chính xác, đặc biệt trong điều kiện ánh sáng kém hoặc khuôn mặt bị biến dạng. Tuy nhiên, cần cân nhắc về thời gian xử lý và yêu cầu phần cứng.

6.2. Các Ứng Dụng Tiềm Năng Của Phát Hiện Khuôn Mặt Trong Tương Lai

Trong tương lai, phát hiện khuôn mặt sẽ tiếp tục được ứng dụng rộng rãi trong nhiều lĩnh vực, từ an ninh, giao thông, đến y tế và giáo dục. Các ứng dụng tiềm năng bao gồm nhận diện khuôn mặt trong đám đông, theo dõi cảm xúc, hỗ trợ người khuyết tật và cá nhân hóa trải nghiệm người dùng.

22/09/2025
Đồ án xây dựng ứng dụng phát hiện khuôn mặt trong ảnh sử dụng opencv

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN VỀ PHÁT HIỆN KHUÔN MẶT.1 Giới thiệu phát hiện khuôn mặt Trong những năm gần đây, 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. Ban đầu chỉ là những bài toán đơn giản, mỗi ảnh chỉ có một khuôn mặt nhìn thẳng và đầu luôn phải ở tư thế thẳng đứng trong ảnh đen trắng, không đáp ứng được nhu cầu ngày càng cao trong cuộc sống, khoa học ngày nay. Vì thế đã có nhứng cải tiến nghiên cứu về bài toán phát hiện khuôn mặt người trong những môi trường phức tạp hơn, có nhiều khuôn mặt người trong ảnh hơn, và có nhiều tư thế thay đổi trong ảnh. Xác định khuôn mặt người là một kỹ thuật để xác định vị trí và kích thước khuôn mặt người trong các ảnh bất kỳ.

Kỹ thuật này nhận biết về các đặc trưng của khuôn mặt và bỏ qua những thứ khác. Tổng quan kiến trúc của một hệ thống nhận dạng mặt người Một hệ thống nhận dạng mặt người thông thường bao gồm bốn bước xử lý sau: phát hiện khuôn mặt (face detection), phân đoạn khuôn mặt (face alignment hay segmentation), rút trích đặc trưng (feature extraction), và phân lớp khuôn mặt (face classification). Hình 1-1: Các bước chính trong một hệ thống nhận dạng mặt người. Há»— trợ Cao Tiến ôn Đạt _tập.

Xây dựng ứng dụng phát hiện khuân mặt trong ảnh sử dụng OpenCV Phát hiện khuôn mặt dò tìm và định vị những vị trí khuông mặt xuất hiện trong ảnh hoặc trên các frame video. Phân đoạn khuôn mặt sẽ xác định vị trí mắt mũi, miệng, là các thành phần khác của khuôn mặt và chuyển kết quả này cho bước rút trích đặc trưng. Từ những thông tin về các thành phần trên khuôn mặt, chúng ta có thể dễ dàng tính được véc-tơ đặc trưng trong bước rút trích đặc trưng. Những véc-tơ đặc trưng này sẽ là dữ liệu đầu vào cho một mô hình đã được huấn luyện trước để phân loại khuôn mặt.

Bên cạnh những bước chính nêu trên, chúng ta còn có thể áp dụng thêm một số bước khác như tiền xử lý, hậu xử lý nhằm làm tăng độ chính xác cho hệ thống. Do một số thông số như: tư thế khuôn mặt, độ sáng, điều kiện ánh sáng, v.v , phát hiện khuôn mặt được đánh giá là bước khó khăn và quan trọng nhất so với các bước còn lại của hệ thống. Trong luận văn này, em tập trung chủ yếu vào bước phát hiện khuôn mặt.2 Các hướng tiếp cận trong phát hiện khuôn mặt Có nhiều nghiên cứu tìm ra 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 này thành bốn hướng tiếp cận chính:  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.  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ếu bị thu hình hoặc điều kiện ánh sáng thay đổi.  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 hay các đặc trưng khuôn mặt(các mẫu. Há»— trợ Cao Tiến ôn Đạt _tập.

Xây dựng ứng dụng phát hiện khuân mặt trong ảnh sử dụng OpenCV này phải chọn làm sao cho tách biệt nhau theo tiêu chuẩn mà các tác giả định ra để so sánh).  Hướng tiếp cận dựa trên diện mạo: Trái ngược hẳn so khớp mẫu, các mô hình học ở đây được học từ 1 tập ảnh huấn luyện cho trước. Sau đó hệ thống sẽ xác định khuôn mặt người. Một số tác giả còn gọi hướng tiếp cận này là hướng tiếp cận theo phương pháp học.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 hơn vào tri thức của những tác giả 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 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ác quan hệ tương ứng, Ví dụ, một khuôn mặt thường có hai đôi mắt đối xứng nhau qua trục thẳng đứng ở giữa khuô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ưng của khuôn mặt trước tiên để có thể được các ứng viên, sau đó các ứng viên này sẽ được xá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ông phải là khuôn mặt, Một vấn đề khá phức tạp khi dùng hướng tiếp cận này là làm sao chuyển từ tri thức con người sang các luật một cách hiệu quả.

Nếu các luật này quá chi tiết những khuôn mặt(chặt chẽ) thì khi xác định có thể xác định thiếu các khuôn mặt có trong ảnh, vì những khuôn mặt này không thể thỏa mãn tất cả các luật đưa ra, Nhưng các luật tổng quát có thể chúng ta sẽ xác định lầm một vùng nào đó không phải là khuôn mặt mà lại xác định là khuôn mặt. Và cũng khó khăn khi cân mở rộng yêu cầu của bài toán để xác định các khuôn mặt có nhiều tư thế khác nhau. Há»— trợ Cao Tiến ôn Đạt _tập. Xây dựng ứng dụng phát hiện khuân mặt trong ảnh sử dụng OpenCV Hình 1-2: (a) Ảnh ban đầu có độ phân giải n = 1; (b), (c), và (d) Ảnh có độ phân giải n = 4, 8, 16.

Yang và Huang dùng phương thức theo hướng tiếp cận này để xác định các khuôn mặt. Hệ thống của hai tác giả này bao gồm ba mức luật. Ở mức cao nhất, dùng một khung cửa số quét trên ảnh và thông qua một tập luật để tìm các ứng viên có thể là khuôn mặt. Ở mức kế tiếp, hai ông dùng một tập luật để mô tả tổng quát hình dáng khuôn mặt.

Ở mức còn lại dùng một tập luật khác để xem xét ở mức chi tiết các đặc trưng khuôn mặt, Một hệ thống đa độ phân giải có thứ tự được dùng để xác định, (Hình 1. Các luật ở mức cao nhất để tìm ứng viên như: “Vùng trung tâm khuôn mặt ( phần tối hơn trong hình 1.2) có bốn phần với một mức độ đều cơ bản”, “phần xung quanh bên trên của một khuôn mặt( phần sáng hơn trong hình 1.2) có một mức độ đều cơ bản”. và “mức độ khác nhau giữa các giá trị xám trung bình của phần trung tâm và phần bao bên trên là đáng kể”. Ở mức hai, xem xét biểu đồ của các ứng viên để loại bớt ứng viên không phải là khuôn mặt, đồng thời dò ra cạnh bao xung quanh ứng viên.

Ở mức cuối cùng, những ứng viên nào còn lại sẽ được xem xét các đặc trưng của khuôn mặt về mắt và miện. Hai ông đã dùng một chiến lược “ từ thô đến mịn” hay “Làm rõ dần” để giảm số lượng tính toán trong xử lý, Mặc dù tỷ lệ chính xác chưa cao, nhưng đây là tiền để cho nhiều nghiên cứu sau này. Há»— trợ Cao Tiến ôn Đạt _tập. Xây dựng ứng dụng phát hiện khuân mặt trong ảnh sử dụng OpenCV Hình 1-3: Một loại tri thức của người nghiên cứu phân tích trên khuôn mặt.

Kotropoulos và Pitas đưa ra một phương pháp dùng trên độ phân giải thấp. Hai ông dùng phương pháp chiếu để xác định các đặc trưng khuôn mặt. Kanade đã thành công với phương pháp chiếu để xác định biên của khuôn mặt. Với I(x,y) là giá trị xám của một điểm trong ảnh có kích thước m x n iwr tại vị trí (x,y), các hàm để chiếu ảnh theo phương ngang và thẳng đứng được định nghĩa như sau: HI(x)  ( , y) và VI(y) ny1 I x  mx1 I(x, y) (1-1) Hình 1-4: Phương pháp chiếu (a) Ảnh chỉ có một khuôn mặt và hình nền đơn giản; (b) Ảnh chỉ có một khuôn mặt và hình nền phức tạp; (c) Ảnh có nhiều khuôn mặt.

Há»— trợ Cao Tiến ôn Đạt _tập. Xây dựng ứng dụng phát hiện khuân mặt trong ảnh sử dụng OpenCV Dựa trên biển đồ chiếu hình ngang, có hau cực tiểu cục bộ khi hai ông xét quá trình thay đổi độ dốc HI, đó chính là cạnh bên trái và phải của hai bên đầu. Tương tự với hình chiếu dọc VI, các cực tiểu cục bộ cũng cho ta biết vị trí miệng, đỉnh mũi, và hai mắt. Các đặc trưng này đủ để xác định khuôn mặt.a là một ví dụ của cách xác định trên.

Cách xách định này có tỷ lệ xác định chính xác 86,5% cho trường hợp chỉ có một khuôn mặt thẳng trong ảnh và hình nền không phức tạp. Nếu hình nền phức tạp thì rất khó tìm, như là hình 1. Nếu ảnh có nhiều khuôn mặt thì sẽ không xác định được, hình 1. Hình 1-5: Chiếu từng phần ứng viên để xác định khuôn mặt.

Mateos và Chicote dùng kết cấu để xác định ứng viên trong ảnh màu. Sau đó phân tích hình dáng, kích thước, thành phần khuôn mặt để xác định khuôn mặt, hai ông trích các ứng viên của từng thành phần khuôn mặt, sau đó chiếu từng phần này để xác thực đó có phải là thành phần khuôn mặt hay không. Tỷ lệ chính xác hơn 87%. Berbar kết hợp mô hình màu da người và xác định cạnh để tùn ứng viên khuôn mặt người.

Sau đó kết hợp các đặc trưng và phương pháp chiếu các ứng viên khuôn mặt xuống hệ trục tọa độ để xác định ứng viên nào thực sự là khuôn mặt.2 Hướng tiếp cận dựa trên đặc trưng không đổi. Đây là hướng tiếp cận thiểu kiểu bottom-up. Các tác giả cố gắng tìm các đặc trưng khô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ét thực tế: con người dễ dàng nhận biết các khuôn mặt trong.

Há»— trợ Cao Tiến ôn Đạt _tập. Xây dựng ứng dụng phát hiện khuân mặt trong ảnh sử dụng OpenCV các tư thế khác nhau và điều kiện ánh sáng khác nhau. Do đó khuôn mặt phải có các thuộc tính hay đặc trưng không thay đổi. Theo nhiều nghiên cứu thì ban đầu phải xác định các đặc trưng khuôn mặt rồi chỉ 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.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ