1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phát hiện và nhận dạng mặt người Thạc sĩ PTIT

15 1,1K 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 745,34 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.. Chương I Giới thiệu chung về các phương pháp nhận dạng mặt người và đặc trưng của phương ph

Trang 1

MỤC LỤC

Trang 2

LỜI 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 đó, ngày nay 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 ngày nay có độ tin cậy cao và chính xác hơn

Trong khuôn khổ đồ án này, chúng em sẽ tiếp tục giải quyết bài toán nhận dạng mặt người trong thời gian thực Trong đó đối tượng được thu thập thành các file dữ liệu và được chuyển về trung tâm Tại đó, các số liệu sẽ được phân tích xử lý Trong phần này chúng em sẽ giải quyết bài toán nhận dạng thông thường, phần hai sẽ là phần nhận dạng giới tính

Trang 3

Chương I Giới thiệu chung về các phương pháp nhận dạng mặt người

và đặc trưng của phương pháp nhận dạng mặt người bằng thuật toán PCA

1 Các phương pháp nhận dạng mặt người

a Phân loại các phương pháp nhận dạng

 Nhận dạng dựa trên các đặc trưng của các phần tử trên khuôn mặt (Feature based face recognition)

 Nhận dạng dựa trên xét tổng thể khuôn mặt (Appearance based face recognition)

Ngoài ra còn có một số loại nhận dạng sử dụng mô hình về khuôn mặt, một

số phương pháp được dùng cho loại này:

 Nhận dạng 2D: Elastic Bunch Graph, Active Appearance Model

 Nhận dạng 3D: 3D Morphable Model

b Nhận dạng dựa trên mối quan hệ giữa các phần tử

Đây là phương pháp nhận dạng khuôn mặt dựa trên việc xác định các đặc trưng hình học của các chi tiết trên một khuôn mặt (như vị trí, diện tích, hình dạng của mắt, mũi, miệng,…), và mối quan hệ giữa chúng (như khoảng cách của hai mắt, khoảng cách của hai lông mày,…)

Ưu điểm của phương pháp này là nó gần với cách mà con người sử dụng để nhận biết khuôn mặt Hơn nữa với việc xác định đặc tính và các mối quan hệ, phương pháp này có thể cho kết quả tốt trong các trường hợp ảnh có nhiều nhiễu như bị nghiêng, bị xoay hoặc ánh sáng thay đổi

Nhược điểm của phương pháp này là cài đặt thuật toán phức tạp do việc xác định mối quan hệ giữa các đặc tính đòi hỏi các thuật toán phức tạp Mặt khác, với các ảnh kích thước bé thì các đặc tính sẽ khó phân biệt

c Nhận dạng dựa trên xét toàn diện khuôn mặt

Nội dung chính của hướng tiếp cận này là xem mỗi ảnh có kích thước RxC

là một vector trong không gian RxC chiều Ta sẽ xây dựng một không gian mới có

Trang 4

chiều nhỏ hơn sao cho khi biểu diễn trong không gian đó các đặc điểm chính của một khuôn mặt không bị mất đi Trong không gian đó, các ảnh của cùng một người

sẽ được tập trung lại thành một nhóm gần nhau và cách xa các nhóm khác

Hai phương pháp thường được sử dụng là PCA (Principle Components Analysis) và LDA (Linear Discriminant Analysis) Trong khuôn khổ báo cáo này, chúng em sẽ sử dụng thuật toán PCA

2 Thuật toán PCA

a Giới thiệu chung về thuật toán

PCA (Principle Components Analysis) là một thuật toán để được sử dụng để tạo ra một ảnh mới từ ảnh ban đầu Ảnh mới này có kích thước nhỏ hơn rất nhiều

so với ảnh đầu vào và vẫn mang những đặc trưng cơ bản nhất của ảnh cần nhận dạng PCA không cần quan tâm đến việc tìm ra các đặc điểm cụ thể của thực thể cần nhận dạng và mối quan hệ giữa các đặc điểm đó Tất cả các chi tiết đó đều được thể hiện ở ảnh mới được tạo ra từ PCA

Về bản chất, PCA tìm ra một không gian mới theo hướng biến thiên mạnh nhất của một tập hợp các vector trong không gian cho trước Trong không gian mới, người ta hy vọng rằng việc phân loại sẽ mang lại kết quả tốt hơn so với không gian ban đầu

Trang 5

10.00

20.00

30.00

40.00

50.00

60.00

70.00

x1

0.00

10.00

20.00

30.00

40.00

50.00

60.00

70.00

0.00 50.00 100.00 x1 150.00 200.00 250.00

p2

Không gian mới (p1,p2) theo hướng phân bố mạnh nhất của các vector

trong không gian (x1,x2) tìm theo PCA.

b Ưu điểm của phương pháp PCA

 Tìm được các đặc tính tiêu biểu của đối tượng cần nhận dạng mà không cần phải xác định các thành phần và mối quan hệ giữa các thành phần đó

 Thuật toán có thể thức hiện tốt với các ảnh có độ phân giải cao, do PCA sẽ thu gọn ảnh thành một ảnh có kích thước nhỏ hơn

Trang 6

 PCA có thể kết hợp với các phương pháp khác như mạng Noron, Support Vector Machine … để mang lại hiệu quả nhận dạng cao hơn

c Nhược điểm của PCA

 PCA phân loại theo chiều phân bố lớn nhất của tập vector Tuy nhiên, chiều phân

bố lớn nhất không phải lúc nào cũng mang lại hiệu quả tốt nhất cho bài toán nhận dạng Đây là nhược điểm cơ bản của PCA

 PCA rất nhạy với nhiễu

Trang 7

Chương II Trình bày phương pháp

1 Mô tả

Việc nhận dạng khuôn mặt đã là một vấn đề phổ biến trong nhiều lĩnh vực trên toàn thế giới như cơ điện tử, robot,… đặc biệt là trong lĩnh vực khoa học máy tính

Nhận diện khuôn mặt trong thời gian thực sử dụng C# và EmguCV

EmguCV là một đa nền tảng Net wrapper cho các thư viện xử lý hình ảnh Intel OpenCV Nó cho phép chức năng OpenCV được gọi từ các ngôn ngữ như C#,

VB, VC++, IronPython

Mục đích chính là thực hiện nhận diện khuôn mặt trong thời gian thực sử dụng phân tính thành phần chính (PCA) với eigenface

2 Các hàm xử lý

Đầu tiên, khai báo tất cả các giá trị, vecto và haarcascades:

Sau đó, tải Haarcascades để nhận diện khuôn mặt và tạo thủ tục để tải các gương mặt và nhãn cho mỗi hình ảnh được lưu trữ trước đó

Trang 8

Tiếp tục, khởi tạo thiết bị chụp và sự kiện FrameGrabber để thực hiện việc phát hiện hình ảnh cho mỗi khung hình bị bắt:

Sử dụng DetectHaarCascade và EigenObjectRecognizer để phát hiện các hoạt động đối với mỗi khuôn mặt trong một khung hình:

Trang 9

Các tham số:

haarObj: Phân tầng haar trong nội bộ scaleFactor: yếu tố mà cửa sổ tìm

kiếm được thu nhỏ giữa các lượt quét tiếp theo, ví dụ, 1.1 nghĩa là tăng cửa sổ 10%

minNeighbors: Số tối thiểu (trừ 1) các hình chữ nhật láng giềng tạo nên một

đối tượng Tất cả các nhóm số lượng hình chữ nhật nhỏ hơn min_neighbors-1 sẽ bị

từ chối Nếu min_neighbors là 0, sẽ không có nhóm nào và trả về tất cả hình chữ

Trang 10

nhật được phát hiện, điều này là hữu ích nếu người dùng áp dụng vào thủ tục nhóm tùy chỉnh

flag: Chế độ hoạt động Hiện nay các cờ (flag) chỉ có thể được xác định là

CV_HAAR_DO_CANNY_PRUNING Nếu được thiết lập, chức năng sử dụng việc phát hiện cạnh Canny để từ chối một số vùng ảnh chứa quá ít hoặc quá nhiều cạnh và do đó, không thể chứa các đối tượng tìm kiếm Các giá trị ngưỡng đặc biệt được điểu chỉnh để nhận diện khuôn mặt và trong trường hợp này được giảm bớt

để tăng tốc độ xử lý

minSize: Kích thước cửa sổ tối thiểu Kích thước của mẫu phân loại đã đào

tạo được thiết lập mặc định (~20x20 cho nhận diện khuôn mặt)

- Đào tạo Nguyên mẫu

Với mỗi khung hình sẽ liên tục nhận diện khuôn mặt và có thể thêm khuôn mặt đã được phát hiện vào trong cơ sở dữ liệu hình ảnh với một nhãn Hình ảnh khuôn mặt được đào tạo sẽ hiển thị trong imageBoxFrameGrabber và quá trình này

sẽ được hoàn thành

Ví dụ:

Trang 11

Phần code cho nút Training:

Trang 13

3 Cải thiện độ chính xác

Các thuật toán nhận dạng khuôn mặt dựa trên PCA sẽ so sánh sự phù hợp giữa khuôn mặt được phát hiện và những hình ảnh đào tạo lưu trữ trong cơ sở dữ liệu nhị phân Để có được độ chính xác thì nên thêm một số hình ảnh của cùng một người ở các góc độ, vị trí và điệu kiện chiếu sáng khác nhau

- Các thông số mặc định như: scale_factor = 1.1, min_neighbors = 3, flag = 0 được điều chỉnh cho chính xác phát hiện đối tượng

- Thay đổi kích thước cho một giá trị lớn Sửa đổi này như sau:

4 Cải thiện hiệu suất cho các CPU chậm

Tất cả các thuật toán xử lý hình ảnh đòi hỏi khả năng tính toán cao, trong trường hợp này có hai lựa chọn để cải thiện hiệu suất cho các CPU chậm

- Đối với các video hình ảnh thực cần thiết lập: scale_factor = 1.2, min_neighbors =

2, flag = CV_HAAR_DO_CANNY_PRUNING, MIN_SIZE = <tối thiểu> (ví dụ

từ 1/4 đến 1/16 cho khu vực hình ảnh trong hội nghị truyền hình)

Ngoài ra, bạn có thể thay đổi các tham số Minsize bằng một giá trị lớn:

Trang 14

- Sử dụng “hình thu nhỏ” hoặc thay đổi kích thước hình ảnh chụp ban đầu:

Ví dụ:

Tương tự với nút Training:

Trang 15

Chương III Đánh giá thuật toán

1 Kết quả đạt được

- Đã xử lýđược yêu cầu bài toán khi nhận diện được mặt người bằng phương pháp PCA (phân tích thành phần chính) trong thời gian thực qua camera

- Độ chính xác khi phát hiện và nhận dạng tương đối cao và nó càng chính xác nếu như tập huấn luyện của chúng ta có nhiều góc độ ảnh, vị trí, cường độ sáng với cùng một mẫu thử

- Trong chương trình có sử dụng mã nguồn mở của EmguCVnên việc tương tác với

các thư viện được dễ dàng hơn và độ chính xác cao hơn

2 Những hạn chế của phương pháp lựa chọn

- Khả năng nhận dạng bị hạn chế nếu mẫu thử không được làm giầu trước khi so sánh dễ dẫn đến kết quả bị sai lệch

- Những đối tượng mà không được huấn luyện sẽ không được phát hiện là một hạn

chế của phương pháp Eigenface sử dụng trong chương trình.

- Do sử dụng phương pháp PCA để nhận dạng mặt người nên khi mặt bị che đi 1 góc rất nhỏ (trán hoặc mũi …) thì phương pháp này cũng không thể nhận dạng được

Ngày đăng: 07/12/2016, 21:24

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w