Sơ đồ khối hệ thống detect khn mặt bằng thuật tốn Viala-Jones

Một phần của tài liệu Ứng dụng phân tích khuôn mặt vào chống gian lận trong thi cử trực tuyến tích hợp vào hệ thống lms (Trang 28)

3 TÍCH HỢP ỨNG DỤNG PHÂN TÍCH KHN MẶT TRONG

1.10 Sơ đồ khối hệ thống detect khn mặt bằng thuật tốn Viala-Jones

Để xác định khuôn mặt ở các tỉ lệ khác nhau phương pháp trượt cửa số trên các ảnh thu được từ image pyramid [26] (tập các ảnh với các ảnh đc kích thước khác nhau thu được từ ảnh gốc bằng phương pháp thay đổi kích thước ảnh) được sử dụng. Sau đó thuật tốn NMS (Non-maxima suppression) [27] để đưa ra vùng duy nhất cho mỗi khuôn mặt.

Gần đây với sự phát triển vượt bậc của trí tuệ nhân tạo nói chung và học máy, học sâu nói riêng đã giúp việc detect khn mặt trở nên chính xác hơn rất nhiều. Việc thay vì sử dụng các đặc trưng hand-craft như trước đây thì bây giờ các đặc trưng có thể thu được thơng qua một trích chọn đặc trưng tiêu biểu như CNN (Convolution Neural Network - mạng Nơ-ron tích chập). Các đặc trưng thu

Hình 1.11: Ảnh trước và sau chạy thuật tốn NMS11.

bằng phương pháp này cho chất lượng tốt hơn các đặc trưng truyền thống điều này đã được kiểm chứng ví dụ như bộ MTCNN detector [28].

Các bộ detctor ngoài thay các đặc trưng từ hand-craft sang đặc trưng CNN thì cũng thể sử dụng CNN để huấn luyện một bộ detector kèm nhận dạng vật thể với độ chính xác cao, tiêu biểu có thể kể đến như thuật tốn YOLO [29], R-CNN [30], Fast-RCNN [31], Faster-RCNN [32], SSD [33],...

Căn chỉnh lại khuôn mặt:

Sau khi đã phát hiện và xác định được vị trí khn mặt, vùng khn mặt được tách ra từ ảnh có thể chứa khn mặt với các hướng của khuôn mặt khác nhau trong những trường hợp khác nhau. Vì thế việc căn chỉnh lại khuôn mặt theo một tham chiếu quy chuẩn nào đấy là cân thiết để nâng cao độ chính xác khi nhận diện khuôn mặt.

Để làm được điều này đầu tiên chúng ta phải xác định được những điểm đặc biệt trên khuôn mặt như mũi, mắt, lông mày, ... nằm ở vị trí nào trên khn mặt, từ đó áp dụng các phương pháp biến đổi hình học như quay, dịch, .. để đưa khn mặt trở về theo chuẩn. Bài tốn này quy trở về bài toán Shape prediction

[34] mà cụ thể với khn mặt thì nó là Face landmark detection [35].

Để làm được điều này cấu trúc của khuôn mặt cần được xác định. Có rất nhiều kiểu cấu trúc khn mặt khác nhau nhưng về cơ bản, chúng ta sẽ phải xác định được những phần sau: miệng, lông mày phải, lơng mày trái, mắt phải, mắt trái, mũi, hàm. Có nhiều thuật tốn đã được các nhà nghiên cứu phát triển để giải quyết bài tốn này. Một trong số đó có bộ xác định facial landmark của thư viện Dlib là cài đặt của thuật tốn được mơ tả trong bài báo One Millisecond Face Alignment with an Ensemble of Regression Trees của Kazemi và Sullivan (2014) [37]. Bộ xác định facial landmark này hiện tại được sử dụng phổ biến trong bài toán face alignment, về cơ bản thuật toán này sẽ xác định 68 điểm

chính theo tọa độ (x, y) cấu tạo nên khn mặt người như hình bên dưới.

Để có thể xác định được 68 điểm này trên khuôn mặt người, bộ xác định facial landmark của Dlib được huấn luyện với bộ dữ liệu iBUG 300-W [36]. Xác định được càng nhiều điểm landmark thì khn mặt người càng cụ thể, rõ ràng và chính xác hơn. Từ đấy căn chỉnh lại khn mặt chuẩn hơn.

Hình 1.13: Vị trí 68 điểm landmark có trên khn mặt13.

Trích chọn đặc trưng phục vụ cho q trình nhận dạng:

Ảnh khuôn mặt sau khi được căn chỉnh sẽ được đi qua một bộ trích chọn đặc trưng mà đầu ra ở đây là một vector biểu thị cho khuôn mặt. Với một độ đo thích hợp (ví dụ khoảng cách L2, khoảng cách cosine ...) thì hai khn mặt thu được từ hai ảnh của cùng một người sẽ có khoảng cách gần nhau và ứng với hai người khác nhau thì khoảng cách này sẽ là lớn. Các mơ hình trích chọn đặc trưng cũng rất đa dạng, dựa theo kiến trúc mạng Nơ-ron đã trình bày ở phần trên thì tác giả sẽ sử dụng mạng ResNet làm mạng để trích xuất đặc trưng khn mặt phục vụ cho q trình nhận diện.

Hình 1.15: Mơ hình quá trình huấn luyện và kiểm thử mạng CNN cho bài tốn nhận diện khn mặt 15.

Nhận dạng khuôn mặt:

Tùy vào ứng dụng thực tế mà việc nhận diện khn mặt được phân loại thành các bài tốn như face verification hay face identification.

Face verification: đây là bài toán xác thực liệu các ảnh có phải là của cùng

một người không, ứng dụng nhiều nhất của bài tốn này là bảo mật thơng tin. Một khuôn mặt sẽ được đăng kí với hệ thống và từ sau đó để mở khóa hệ thống này thì khi đưa khn mặt vào thơng qua mơ hình trích chọn đặc trưng được

một vector, vector này đem so sánh với vector đã được trích chọn đặc trưng từ khn mặt đã đăng kí, nếu khoảng cách giữa 2 vector này đủ nhỏ hơn một ngưỡng so sánh nào đó hệ thống bảo mật này sẽ được mở khóa.

Hình 1.16: Mơ hình xác thực khn mặt 16.

Face identification: khác với bài toán face verification, bài toán này mục tiêu

là xác định danh tính của khn mặt so với một tập các khuôn mặt. Ở đây lại chia ra làm 2 bài toán con là Open-set face identificationClose-set face identification.

o Với Close-set thì khn mặt nhận diện sẽ được phân vào một trong các khuôn mặt nằm trong tập thư viện

o Cịn với Open-set thì bài tốn trở nên phức tạp hơn ở chỗ phải xác định xem khn mặt ấy có nằm trong tập thư viện khơng đã rồi mới xác định danh tính của khn mặt đấy.

Để nhận dạng được chủ thể thì cần phải đi tìm kiếm đặc trưng trong cơ sở dữ liệu khuôn mặt sát với đặc trưng ảnh đầu vào nhất. Cơ sở dữ liệu khuôn mặt lưu các khuôn mặt dưới dạng vector. Để nhận diện khuôn mặt ứng với vector đặc trưng thu được thì cần tìm kiếm trong Database xem vector đặc trưng này đang

Hình 1.17: Mơ hình nhận dạng khn mặt17.

có độ tương đồng cao nhất với vector nào trong cơ sở dữ liệu (ví dụ sử dụng độ đo cosine để đo khoảng cách giữa hai vector). Từ đó đánh giá và đưa ra id của của khn mặt đó.

1.5 Kết chương

Trong chương nội dung đầu tiên của đề tài ,tơi đã trình bày một cách tổng quan nhất bài tốn nhận dạng khn mặt và các nghiên cứu có liên quan để giải quyết bài tốn. Sau khi trình bày bài tốn, tác giả cũng đã trình bày về mạng Nơ-ron nhân tạo cho đến mạng Nơ-ron tích chập.

Thông qua những nghiên cứu và lựa chọn đã được trình bay trên cũng như bên trên tơi đưa ra một các khái quát về một hệ thống nhận diện khuôn mặt. Với những ưu điểm về phương pháp của ArcFace đưa ra tơi sử dụng nó là một trong những mơ hình mã hố hình ảnh tạo ra các vector tính năng cho khn mặt nhằm giúp và hỗ trợ cho các nhiệm vụ nhận dạng và xác thực khn mặt trong bài tốn chống gian lận sẽ được trình bày trong các chương sau.

ÁNH NHÌN TRÊN KHN MẶT

Theo dõi chuyển động mắt là việc quan sát các điểm nơi mắt một người nào đó tập trung vào hoặc những chuyển động của tia nhìn. Các phương án theo dõi ánh nhìn sẽ sử dụng thiết bị đeo để có thể theo dõi được ánh nhìn người đang đeo.

Thiết bị theo dõi chuyển động của mắt (eye tracker) là thiết bị đo lường vị trí mắt người nhìn vào và các chuyển động mắt của họ.

Những phát hiện đầu tiên về quy luật trong hành vi chuyển động mắt được đánh dấu vào năm 1879, khi Louis Emile Javal đã kết luận rằng, mắt người thực ra không đọc các dòng chữ ở trang giấy một cách đều đặn mà họ có xu hướng dừng lại tập trung ở một số từ, một số đoạn và nhanh chóng lướt qua những chữ hoặc đoạn khác. Đến những năm 1980, các thiết bị theo dõi chuyển động mắt đã bắt đầu được sử dụng để xem xét tác động của quảng cáo. Công nghệ của máy eye tracker đã giúp các nhà quảng cáo có thể xác định được đâu là điểm trên thông tin quảng cáo mà khách hàng tập trung nhìn và họ tập trung nhìn vào những phần đó trong bao lâu.

Nhận thấy việc theo dõi ánh nhìn của một người có thể quan sát được hành vi hướng nhìn và địa điểm quan sát của người nào đó. Trong các bài thi trực tuyến việc thí sinh nhìn vào các màn hình là cần thiết và liên tục. Vì vậy tơi xây dựng một hướng tiếp cận nhằm xác định hướng nhìn của người dùng từ đó có thể phát hiện các gian lận trong q trình làm bài trực tuyến.

Bên cạnh đó ở khía cạnh phân tích khác tơi khơng sử dụng thiết bị sử dụng theo dõi ánh nhìn, thay vào đó tơi nghiên cứu và tiếp cận nó như một vấn đề và sử dụng kĩ thuật trong trí tuệ nhân tạo để giải quyết vấn đề ánh nhìn với hình

ảnh từ webcam.

2.1 Face Landmark

Phát hiện mốc khuôn mặt (face landmark) là một nhiệm vụ trong thị giác máy tính, nhiệm vụ này cung cấp một bản đồ các vị trị các điểm chính từ khn mặt. Việc sử dụng Face landmark đang được áp dụng rộng rãi cho nhiều vấn đề khác nhau từ nhận diện khn mặt, theo dõi ánh nhìn, nhận diện cảm xúc, phát hiện tư thế đầu khi lái xe. . .

Để có thể tìm và đánh dấu được các mốc trên khn mặt có nhiều các phương pháp khác nhau. Song có hai loại phương pháp chính: phương pháp dựa trên mơ hình và phương pháp dựa trên kết cấu. Phương pháp dựa trên mơ hình, cịn được gọi là phương pháp dựa trên hình dạng, coi hình ảnh khn mặt và tập hợp các điểm mốc trên khn mặt là một hình dạng tổng thể.

Họ học “hình dạng khn mặt” từ các hình ảnh đào tạo được dán nhãn, và sau đó ở giai đoạn thử nghiệm, họ cố gắng tạo hình dạng phù hợp với một khn mặt chưa biết. Loại thứ hai, phương pháp dựa trên kết cấu, cịn được gọi là phương pháp khơng dựa trên mơ hình, nhằm mục đích tìm từng mốc trên khn mặt hoặc các nhóm mốc cục bộ một cách độc lập mà khơng cần sự hướng dẫn của mơ hình. Trong các phương pháp này, thơng tin hình dạng vẫn có thể được gọi, nhưng ở giai đoạn sau để xác minh.

Độ chính xác khi đánh giá q trình tìm các điểm mốc khn mặt sử dụng phép so sánh đơn giản nhất là bình phương lỗi gốc (RMSE), trong đó khoảng cách trung bình mỗi điểm trong số N mốc dự đốn (xpi, yip) và giá trị thực tế

(xti, yit) . Các mốc dự đoán kém sẽ có khoảng cách xa hơn với vị trị nhãn thực tế khi đó góp phần làm tăng giá trị RMSE. Bên cạnh đó, sai số bình phương trung bình được chuẩn hoá bằng khoảng cách hai điểm nhãn sự thật (NMRSE) như bên trái (xt

le, yt

le) và bên phải (xpre, ypre) của góc ngồi mắt. Mục đích của q trình này khiến sự so sánh cơng cơng bằng hơn giữa các khn mặt có kích thước khác nhau.

RM SE = N1 N

i=1

N RM SE = 1 N N i=1 (xp i−xt i)2+(yp i−yt i)2 dnorm dnorm = (xt lext re)2+ (yt leyt re)2

Q trình xây dựng mơ hình xác định điểm neo trên khn mặt gồm 3 q trình:

Hình 2.1: Sơ đồ khối xây dựng mơ hình landmark1.

Chuẩn bị dữ liệu

Việc lựa chọn chính xác và thích hợp các tập dữ liệu rất quan trọng cho sự phát triển của bất kỳ thuật toán dự đáon nào. Tập dữu liệu được chọn phải chứa các tính năng có đủ khả năng để q trình đạo tạo có thể học được các mối liên kết bên trong dữ liệu.

Trong vấn đề về nhận diện khn mặt có nhiều tập dữ liệu về khn mặt được công khai và được sử dụng làm điểm chuẩn cho các cuộc thi và đánh gía kết quả thuật tốn hằng năm. Mặc dù vậy dữ liệu về điểm mốc khuôn mặt không giống với dữ liệu các bài phân loại như MNIST [53] hay CIFA [54] dữ liệu mốc khuôn mặt khó khăn hơn trong việc đánh giá hiệu suất của các mơ hình. Hiện nay tập dữ liệu 300W là tập dữ liệu mốc khuôn mặt phổ biến nhất và độ tin cậy cao nhất với 68 điểm mốc trên khuôn mặt.

Đề xuất khu vực quan tâm

Giai đoạn tiếp theo của quá trình tìm mốc khn mặt đó là việc tìm vùng quan tâm, q trình này đảm bảo trích xuất khn mặt khỏi hình ảnh loại bỏ thơng tin khơng liên quan khn mặt như nền.

Q trình nhận diện khn mặt này tạo thành giai đoạn đầu tiên trong hệ thống đánh dấu điểm tự động rất quan trong đối với hiệu suất tổng thể. Tại giai

đoạn này một mơ hình học máy cần xác định chính xác các khn mặt và các biến thể về ánh sáng, tư thể, biểu cảm và diện mạo khn mặt.

Có nhiều các tiếp cận trong vấn đề xác định khuôn mặt này, hai phương pháp cũ hơn là Viola-Jone và HOG mặc dù vậy nhưng chúng vẫn đạt độ chính xác và tốc độ xử lý hợp lý được triển khai bên trong hai thư viện hỗ trợ lớn là OpenCV và Dlib.

Bên cạnh đó một số phương pháp máy dị khn mặt sử dụng các mạng học sâu tiên tiến với việc huấn luyện qua hằng trăm nghìn hình ảnh như: MTCNN, hay các mơ hình về phát hiện đối tượng SSD, YOLO cũng có hiệu suất ấn tượng và hoạt động theo thời gian thực

Xây dựng mơ hình

Sau khi hồn thiện xong hai giai đoạn là dữ liệu và xác định khuôn mặt, giai đoạn tiếp theo cần đó là xây dựng một mơ hình tự động xác định các điểm mốc neo trên khuôn mặt. Các phương pháp hiện đại và đạt hiệu suất cao thời điểm hiện tại là mơ hình dựa trên những kiến trúc mạng nơ-ron học sâu CNN.

Một trong những thiết kế phổ biến nhất của mơ hình học sâu trong việc đánh dấu khuôn mặt là cấu trúc phân tầng trong một số giai đoạn của mạng nơ-ron phức hợp được kết nối tuần tự để đưa ra các dự đốn mang tính bước ngoặt cuối cùng.

Người sử dụng sớm phương pháp này [55] là Sun et al. vào năm 2013. Họ sử dụng ba cấp độ xếp tầng để dự đoán năm điểm mốc trên khn mặt. Sau khi áp dụng máy dị mặt, Sun et al. đã xây dựng ba CNN trong giai đoạn đầu tiên: CNN đầu tiên nhận được hình ảnh của tồn bộ vùng mặt, thứ hai là hình ảnh của mắt và mũi, và thứ ba của mũi và miệng. Giai đoạn đầu tiên ước tính các vị trí mốc gần đúng, do đó mỗi mạng được đào tạo để đưa ra các dự đốn thơ về các vị trí mốc trong vùng tương ứng của hình ảnh.

Ba mạng CNN đã quan sát mỗi mốc ít nhất hai lần, và do đó nhiều dự đốn cho mỗi mốc đã được đưa ra. Giá trị trung bình của mỗi dự đốn này đã được tính tốn và sử dụng để xác định các bản vá hình ảnh cục bộ được cung cấp cho giai đoạn tích hợp thứ hai. Như có thể thấy trong hình 2.3, thiết kế của mạng

nơ-ron tích chập ở giai đoạn thứ hai và thứ ba là hơi giống nhau, cả hai đều được cung cấp các bản vá hình ảnh bản địa hóa để đào tạo và do đó cả hai đều bị hạn chế thực hiện các điều chỉnh nhỏ trên các dự đốn trước đó. Tương tự như mạng tích chập ở giai đoạn đầu tiên, nhiều dự đoán đã được thực hiện cho mỗi mốc ở giai đoạn thứ hai và thứ ba và do đó, các giá trị trung bình một lần nữa được tính tốn. Các kiến trúc CNN trong mỗi giai đoạn đã sử dụng các lớp lặp lại, xen kẽ và gộp lại, theo sau là hai lớp được kết nối đầy đủ.

Hình 2.2: Bản đồ 68 điểm trên khn mặt2.

2.2 Theo dõi ánh nhìn từbiểu đồ Face Landmark

Bản đồ các điểm mốc được dự đốn từ hình ảnh khn mặt được làm cơ sở tính tốn cho các nhiệm vụ ánh nhìn. Các điểm mốc trên khn mặt sẽ cho phép tính

Một phần của tài liệu Ứng dụng phân tích khuôn mặt vào chống gian lận trong thi cử trực tuyến tích hợp vào hệ thống lms (Trang 28)

Tải bản đầy đủ (PDF)

(75 trang)