1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Luận văn thạc sĩ) ứng dụng mạng học sâu cho nhận diện khuôn mặt

121 8 0

Đ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

Tiêu đề Ứng Dụng Mạng Học Sâu Cho Nhận Diện Khuôn Mặt
Tác giả Trần Giang Nam
Người hướng dẫn PGS.TS Nguyễn Thanh Hải
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Kỹ Thuật Điện Tử
Thể loại luận văn thạc sĩ
Năm xuất bản 2020
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 121
Dung lượng 9,26 MB

Cấu trúc

  • Page 1

  • Page 1

Nội dung

TỔNG QUAN

Đặt vấn đề

Nhận diện khuôn mặt đang trở thành một vấn đề quan trọng và phổ biến trên toàn cầu, đặc biệt trong bối cảnh nền Công Nghiệp 4.0 Ngành xử lý ảnh, đặc biệt là nhận diện khuôn mặt, đóng vai trò thiết yếu trong sự phát triển công nghệ hiện đại Hiện nay, nhiều hệ thống nhận diện khuôn mặt, như của Facebook và Google, hoạt động hiệu quả với nhiều giải pháp và thuật toán mới ra đời để đáp ứng nhu cầu ngày càng cao.

Nhiều quốc gia, đặc biệt là Hoa Kỳ và Trung Quốc, đang áp dụng hệ thống nhận diện khuôn mặt để nâng cao quản lý và an ninh Công nghệ này được so sánh với các hình thức sinh trắc học khác như nhận dạng vân tay và tròng mắt, nhưng nổi bật với tính ít gây ảnh hưởng đến người dùng và tốc độ nhanh chóng Hệ thống cho phép các nhà quản lý kiểm soát hiệu quả hơn, nhận diện khuôn mặt một cách kín đáo thông qua camera giám sát mà không cần sự tương tác từ người dùng Trong nhiều trường hợp, đối tượng hoàn toàn không biết về quá trình này.

Việc "bị giám sát" hay xâm phạm quyền riêng tư đang trở thành mối quan tâm lớn, cho thấy sự cần thiết phải nghiên cứu sâu hơn về công nghệ nhận diện khuôn mặt Đề tài “Ứng dụng mạng học sâu cho nhận diện khuôn mặt” của học viên nhằm tìm hiểu và lựa chọn các giải pháp, thuật toán hiệu quả nhất để cải thiện kết quả trong lĩnh vực này.

Các nghiên cứu đã được công bố

Nhận diện khuôn mặt là một lĩnh vực nghiên cứu quan trọng trong thị giác máy tính, với nhiều mô hình và thuật toán được phát triển để giải quyết vấn đề này Quy trình nhận diện khuôn mặt thường bao gồm các bước chính: (1) Thu thập ảnh; (2) Tiền xử lý để nâng cao chất lượng ảnh; và (3) Phát hiện khuôn mặt.

HVTH: Trần Giang Nam 2, GVHD: PGS.TS Nguyễn Thanh Hải, nghiên cứu về nhận dạng khuôn mặt Các phương pháp hiện tại chủ yếu dựa vào đặc trưng khuôn mặt của đối tượng, tuy nhiên, hiệu suất nhận diện vẫn chưa đạt yêu cầu cao.

Trong những năm gần đây, sự phát triển của mạng nơ-ron tích chập đã nâng cao đáng kể hiệu suất nhận dạng khuôn mặt Zhenyao và cộng sự đã xây dựng một mạng tích chập để phân loại và xác định danh tính khuôn mặt hướng trực diện Y Taigman và cộng sự giới thiệu mô hình DeepFace, sử dụng mạng học sâu DNN với hơn 120 triệu tham số, đạt độ chính xác 97.35% trên tập dữ liệu LFW Kiến trúc FaceNet của Florian Schroff và cộng sự sử dụng hàm chi phí bộ ba, cho phép ánh xạ hình ảnh khuôn mặt vào không gian Euclide, đạt độ chính xác kỷ lục 99,63% trên LFW và 95,12% trên YouTube Faces Những nghiên cứu này đều có ưu điểm và nhược điểm riêng, chủ yếu sử dụng hình ảnh khuôn mặt để huấn luyện và kiểm tra độ chính xác của hệ thống.

Mục tiêu

Luận văn này trình bày việc xây dựng hệ thống nhận diện khuôn mặt dựa trên phương pháp mạng nơ-ron tích chập Hệ thống sẽ được thử nghiệm hiệu suất trên các tập dữ liệu ảnh FEI Face và CASIA-WebFace, cùng với tập dữ liệu tự thu thập từ các sinh viên trường Cao đẳng Lý Tự Trọng Tp.HCM Hiệu quả nhận diện sẽ được đánh giá qua tập ảnh kiểm tra, với mục tiêu đạt tỷ lệ nhận diện trên 90%.

HVTH: Trần Giang Nam 3 GVHD: PGS.TS Nguyễn Thanh Hải

Nhiệm vụ và giới hạn

 Thu thập dữ liệu ảnh gồm các tập ảnh trên websites và tập ảnh tự xây dựng

 Đọc tài liệu, tóm tắt các phương pháp để làm cơ sở cho nghiên cứu luận văn

Nghiên cứu mạng nơ-ron tích chập (CNN) tập trung vào việc phân tích quá trình xử lý hình ảnh qua các lớp mạng và tác động của các bộ lọc đến hình ảnh đó Bài viết cũng khám phá cách thay đổi độ sâu của mạng ảnh hưởng đến hiệu suất nhận dạng, cũng như đánh giá các thuật toán tối ưu trong quá trình huấn luyện mạng CNN.

 Viết chương trình cho huấn luyện và nhận dạng

 Chạy chương trình, kiểm tra, đánh giá và hiệu chỉnh

Số lượng đối tượng thu thập ảnh khuôn mặt trong tập tự thu hiện còn hạn chế, chỉ gồm 13 sinh viên của khoa Điện – Điện tử, trường CĐ Lý Tự Trọng Tp.HCM Hình ảnh được ghi lại bằng camera điện thoại có độ phân giải 12MP.

 Chưa huấn huyện được mô hình mạng đề xuất trên những tập ảnh lớn.

Phương pháp nghiên cứu

Nghiên cứu và thu thập tài liệu về nhận diện khuôn mặt, với trọng tâm là các ứng dụng của mạng học sâu trong quá trình đào tạo và phân loại Các bài báo trong và ngoài nước sẽ được xem xét kỹ lưỡng để hiểu rõ hơn về công nghệ này.

 Phân tích, tổng hợp, mô phỏng để đưa ra kết quả và đánh giá.

Tóm tắt các chương

Chương I của bài viết cung cấp cái nhìn tổng quan về đề tài nghiên cứu, bao gồm việc đặt vấn đề và tóm tắt các nghiên cứu đã được công bố liên quan Mục tiêu và nhiệm vụ của nghiên cứu được nêu rõ, cùng với các giới hạn và phương pháp nghiên cứu được áp dụng để đảm bảo tính chính xác và hiệu quả.

HVTH: Trần Giang Nam 4 GVHD: PGS.TS Nguyễn Thanh Hải

 Chương II: Cơ sở lý thuyết Mô tả các phương pháp nhận dạng khuôn mặt, các thuật toán tối ưu đang sử dụng hiện nay

 Chương III: Tiền xử lý ảnh khuôn mặt Trình bày phương pháp phát hiện khuôn mặt và các vấn đề liên quan trong xử lý ảnh

Chương IV của bài viết tập trung vào nhận dạng khuôn mặt bằng mạng nơ-ron tích chập, cụ thể là mô hình VGG-16 Bài viết trình bày chi tiết cấu trúc của mạng nơ-ron này, phương pháp tính toán kích thước và các tham số tại từng lớp mạng Ngoài ra, chương cũng mô tả quy trình huấn luyện mạng và cách thức thực hiện nhận dạng khuôn mặt hiệu quả.

Chương V: Kết quả và thảo luận trình bày kết quả của hai quá trình chính là huấn luyện và nhận dạng Bài viết sẽ so sánh hiệu suất của mô hình mạng được đề xuất trong luận văn với các mô hình mạng khác, nhằm đánh giá tính hiệu quả và độ chính xác của nó trong các bài toán tương ứng.

 Chương VI: Kết luận và hướng phát triển

Phần tiếp theo của bài viết sẽ trình bày cơ sở lý thuyết về quá trình xử lý và nhận diện khuôn mặt, nhằm cung cấp kiến thức cần thiết để hiểu rõ hơn về công nghệ nhận diện này.

HVTH: Trần Giang Nam 5 GVHD: PGS.TS Nguyễn Thanh Hải

CƠ SỞ LÝ THUYẾT

Những ứng dụng nhận dạng mặt người

Hiện nay trên thế giới những ứng dụng về nhận dạng khuôn mặt rất nhiều Sau đây là những ứng dụng tiêu biểu:

Hệ thống giám sát an ninh sân bay sử dụng camera để phát hiện các đối tượng xâm nhập vào khu vực cấm, đồng thời gửi cảnh báo tức thì đến các nhà điều hành.

Hệ thống nhận diện người đóng vai trò quan trọng trong việc xác định đối tượng phạm tội và hỗ trợ các cơ quan điều tra Bên cạnh đó, nó còn được sử dụng để nhận diện khách hàng tại các siêu thị và trung tâm thương mại, giúp phân tích hành vi mua sắm của họ.

Hệ thống điều khiển ra vào các cơ quan, văn phòng và quản lý tòa nhà cho phép nhân viên truy cập vào các khu vực được chỉ định một cách dễ dàng, không cần phải đăng nhập hay sử dụng thẻ.

 Trong lĩnh vực robot: hệ thống nhận diện giúp robot xác định đâu là người nhằm đưa ra những tương tác theo yêu cầu của người lập trình

Dưới đây là một số phần mềm với khả năng nhận dạng khuôn mặt nổi bật bao gồm:

 Face ID, iPhoto của Apple

 Windows Live Photo Gallery (Microsoft)

Nhận dạng khuôn mặt là quá trình xác định vị trí và kích thước khuôn mặt của một hoặc nhiều người trong hình ảnh hoặc video Quá trình này thực hiện thông qua việc phân tích và so sánh các mẫu khuôn mặt.

Nhận dạng khuôn mặt là quá trình trích xuất các đặc điểm khuôn mặt và so sánh chúng với cơ sở dữ liệu để tìm ra kết quả phù hợp nhất Đây là một thành phần quan trọng trong nhiều hệ thống sinh trắc học, bảo mật và giám sát, giúp nâng cao hiệu quả trong việc nhận diện và xác thực danh tính.

Mộ số phương pháp nhận dạng khuôn mặt

Thuật toán Viola-Jones, được phát triển bởi Paul Viola và Michael Jones vào năm 2001, là một khung phát hiện đối tượng nổi bật Thuật toán này tập trung vào ba loại tính năng: tính năng hai hình chữ nhật, tính năng ba hình chữ nhật và tính năng bốn hình chữ nhật Quá trình phát hiện đối tượng bao gồm bốn giai đoạn chính: lựa chọn tính năng Haar, tạo hình ảnh tích phân, đào tạo Adaboost và phân loại xếp tầng.

Lựa chọn tính năng Haar

Tạo integral image Đào tạo Adaboost

Hình 2.1: Mô tả thuật toán Viola-Jones bao gồm bốn giai đoạn quan trọng

Tính năng Haar được xác định thông qua các hàm cơ sở Haar, dựa trên ba đặc điểm chính, bao gồm tổng pixel của các khu vực hình chữ nhật liền kề và sự khác biệt giữa các tổng này Hình 2.2 minh họa mô tả các tính năng Haar liên quan đến cửa sổ phát hiện tương ứng.

HVTH: Trần Giang Nam 7 GVHD: PGS.TS Nguyễn Thanh Hải

Hình 2.2 mô tả các tính năng hình chữ nhật liên quan đến cửa sổ phát hiện Integral image được sử dụng để đánh giá các tính năng này trong thời gian không đổi Để chọn lựa các tính năng tốt nhất, thuật toán Adaboost được áp dụng, giúp huấn luyện các trình phân loại Điều này dẫn đến việc tạo ra một trình phân loại mạnh mẽ, kết hợp trọng số tuyến tính với các trình phân loại yếu hơn Cuối cùng, mỗi giai đoạn bao gồm các bộ phân loại được nhóm lại, với nhiệm vụ xác định xem một cửa sổ phụ có chứa một mặt hay không, như mô tả trong Hình 2.3.

Hình 2.3: Mô tả quá trình các bộ phân loại trong thuật toán Viola-Jones

Vào năm 2002, Ojala và cộng sự đã phát triển phương pháp Local Binary Patterns (LBP), một kỹ thuật mô tả kết cấu hiệu quả cho việc nhận diện khuôn mặt Hình ảnh khuôn mặt được phân chia thành nhiều vùng, từ đó trích xuất các tính năng LBP và ghép lại thành một vectơ đặc trưng, đóng vai trò quan trọng trong việc biểu diễn khuôn mặt.

HVTH: Trần Giang Nam 8 GVHD: PGS.TS Nguyễn Thanh Hải

Toán tử LBP (Local Binary Pattern) gán nhãn cho mỗi pixel trong ảnh bằng cách phân tích một vùng lân cận 3 x 3 xung quanh pixel trung tâm Kết quả nhị phân được tạo ra bằng cách đọc các giá trị pixel theo chiều kim đồng hồ, bắt đầu từ góc trên bên trái Đối với mỗi vị trí pixel (x, y), LBP được định nghĩa là một tập hợp các so sánh nhị phân giữa cường độ của pixel trung tâm và các pixel lân cận Giá trị nhãn này được biểu diễn dưới dạng số thập phân 8 bit.

Trong đó l c tương ứng với giá trị màu xám của trung tâm pixel (x, y), đến các giá trị xám của 8 pixel xung quanh l n và hàm s(k) được định nghĩa là:

Toán tử LBP sử dụng tám lân cận của một pixel và giá trị của pixel trung tâm làm ngưỡng Nếu giá trị xám của pixel lân cận cao hơn hoặc bằng pixel trung tâm, nó sẽ được gán giá trị 1, ngược lại sẽ là 0 Mã LBP cho pixel trung tâm được tạo ra bằng cách kết hợp tám số 1 hoặc 0 thành mã nhị phân, như mô tả trong hình 2.4.

Hình 2.4: Cách tính toán của LBP

HVTH: Trần Giang Nam 9 GVHD: PGS.TS Nguyễn Thanh Hải

Trong quá trình đào tạo, các mẫu khuôn mặt và không phải khuôn mặt tạo ra một ma trận vector riêng, đại diện cho không gian đặc trưng LBP Đối với mỗi lớp (khuôn mặt và không phải khuôn mặt), một mô hình đại diện được chọn, chẳng hạn như giá trị trung bình của tất cả các mẫu đào tạo trong mỗi lớp Cả hai mô hình này sau đó được chiếu vào không gian LBP.

LBP (khối 3x3) Trích đặc trưng và ghép Huấn luyện

Ngõ vào ảnh huấn luyện

Có tiềm năng khuôn mặt ?

Không phải khuôn mặt Khuôn mặt

Ngõ vào ảnh kiểm tra Đúng

Hình 2.5: Sơ đồ khối của thuật toán LBP

Trong giai đoạn kiểm tra, vectơ đặc trưng của mẫu thử nghiệm mới được chiếu lên cơ sở trực giao Sau đó, mẫu đầu vào dự kiến được so sánh với hai mô hình đã chiếu (mặt và không phải mặt) Khoảng cách tối thiểu giữa các vectơ cung cấp hình dạng của vectơ đầu vào Hình 2.5 minh họa sơ đồ khối của thuật toán LBP.

Thuật toán K-Nearest Neighbour (K-NN) là một phương pháp phân loại hình ảnh đơn giản, hoạt động dựa trên khoảng cách giữa các vectơ đặc trưng K-NN phân loại các điểm dữ liệu chưa xác định bằng cách xác định lớp phổ biến nhất trong số K mẫu gần nhất Mỗi điểm dữ liệu trong các mẫu này đóng vai trò quan trọng trong quá trình phân loại.

K gần nhất sẽ bỏ phiếu và hạng mục có nhiều phiếu nhất sẽ thắng [10]

HVTH: Trần Giang Nam 10 GVHD: PGS.TS Nguyễn Thanh Hải

Hình 2.6: Sơ đồ nguyên lý của thuật toán phân loại K-NN

Hình vuông màu đỏ trong hình 2.6 cần được phân loại thành ngôi sao xanh hoặc tam giác xanh Khi k = 5, nó được phân loại thành tam giác xanh với xác suất 60%, cao hơn so với ngôi sao xanh (40%) Ngược lại, khi k = 10, hình vuông đỏ lại được phân loại thành ngôi sao xanh với xác suất 60%, vượt trội hơn so với tam giác xanh (40%) Để áp dụng phương pháp K-nearest Neighbour, việc xác định khoảng cách hoặc hàm tương tự là cần thiết, trong đó khoảng cách Euclide là một trong những lựa chọn phổ biến.

Trong đó N là số lượng biến và q i và p i là các giá trị của biến thứ i tại các điểm p và q tương ứng

Các số liệu khoảng cách, đặc biệt là khoảng cách Euclide, thường được sử dụng để so sánh sự tương đồng giữa các hình ảnh Ngoài ra, các phương pháp nhận dạng khuôn mặt khác như SIFT của David G Lowe và mô hình Bag-of-visual-words của Yang và cộng sự (2007) cũng được nghiên cứu và áp dụng trong lĩnh vực này.

HVTH: Trần Giang Nam 11 GVHD: PGS.TS Nguyễn Thanh Hải

2.3 Một số thuật toán tối ưu dùng trong huấn luyện mạng nơ-ron

Thuật toán Giảm độ dốc (Gradient Descent) bắt đầu với một điểm khởi tạo θ = θ0, trong đó θ đại diện cho các tham số của mô hình Quá trình cập nhật θ sẽ tiếp tục cho đến khi đạt được kết quả chấp nhận được.

Với   J()là đạo hàm của hàm mất mát tại θ, η là tốc độ học

Việc tính toán độ dốc cho toàn bộ tập dữ liệu chỉ để thực hiện một bản cập nhật có thể gây chậm trễ và không khả thi với các bộ dữ liệu lớn không vừa với bộ nhớ Tuy nhiên, với sự phát triển của các biến thể thuật toán, Giảm độ dốc ngẫu nhiên (SGD) đã giải quyết hiệu quả vấn đề này.

 Giảm độ dốc ngẫu nhiên

Giảm độ dốc ngẫu nhiên (SGD) thực hiện cập nhật tham số cho mỗi ví dụ đào tạo x (i) và nhãn y (i) :

Trong thuật toán này, chúng ta chỉ tính đạo hàm của hàm mất mát dựa trên một điểm dữ liệu x_i tại mỗi thời điểm Sau đó, θ được cập nhật dựa trên đạo hàm này và quá trình tiếp tục với từng điểm dữ liệu trong toàn bộ tập dữ liệu.

Độ dốc thích ứng (Adagrad) là một thuật toán tối ưu hóa dựa trên độ dốc, điều chỉnh tốc độ học tập cho từng tham số Thuật toán này thực hiện các cập nhật nhỏ hơn cho các tham số liên quan đến các tính năng thường xuyên và cập nhật lớn hơn cho các tham số liên quan đến các tính năng không thường xuyên Adagrad sử dụng tỷ lệ học tập khác nhau cho mỗi tham số θ i tại mỗi bước t, trong đó g t biểu thị độ dốc tại thời điểm t và g t,i là đạo hàm riêng của hàm mục tiêu liên quan đến tham số θ i.

HVTH: Trần Giang Nam 12 GVHD: PGS.TS Nguyễn Thanh Hải

Bản cập nhật Giảm độ dốc ngẫu nhiên cho mọi tham số θ i tại mỗi thời điểm bước t là: i t i t i t 1 ,  , .g ,

TIỀN XỬ LÝ ẢNH KHUÔN MẶT

Chuẩn hóa hình ảnh

Trước khi đưa ảnh khuôn mặt vào mạng nơ-ron tích chập, cần chuẩn hóa ảnh để đảm bảo rằng ảnh đó là ảnh màu RGB Nhiều ảnh thu thập từ websites có thể ở định dạng xám hoặc không đúng hệ màu, vì vậy cần chuyển đổi về hệ màu RGB Không gian màu RGB (Red, Green, Blue) là mô hình màu phổ biến nhất, định nghĩa không gian màu dựa trên ba thành phần, trong đó mỗi thanh ghi màu được xem là một yếu tố quan trọng.

8 bit màu tương ứng với mức màu của mỗi pixel màu cơ bản có giá trị trong khoảng từ 0-255:

 Red: giá trị dao động từ 0-255

 Green: giá trị dao động từ 0-255

 Blue: giá trị dao động từ 0-255

HVTH: Trần Giang Nam 14 GVHD: PGS.TS Nguyễn Thanh Hải

Các giá trị Red, Green và Blue, hay còn gọi là ba màu cơ bản, được kết hợp để tạo ra các màu sắc khác nhau Điều này có nghĩa là mỗi pixel trong ảnh màu là sự phối hợp của ba màu với các giá trị nằm trong một khoảng nhất định.

Ví dụ: màu "Đỏ" có thể được biểu thị là [R = 255, G = 0, B = 0], "Tím" là [R = 238, G

Một trường hợp thường gặp là ảnh thu thập được có dạng ảnh xám, trong đó mỗi pixel biểu thị cường độ xám với 256 mức khác nhau, dao động từ màu đen (0) đến màu trắng (255).

Để đồng bộ hóa ảnh ngõ vào mạng trong nghiên cứu về hệ màu RGB, cần chuyển đổi ảnh từ một kênh thành ba kênh màu Trong Matlab, để ghép kênh hoặc tăng kênh, ta sử dụng hàm “cat” với cú pháp “image = cat(3,R,G,B)”, trong đó R, G, B là các ma trận ảnh xám đầu vào được kết hợp với nhau với độ sâu ba.

Cú pháp “image = repmat(image,[1 1 3])” sử dụng hàm “repmat” để sao chép mảng hai chiều image thành ba mảng, nhằm phù hợp với định dạng đầu vào của mạng nơ-ron tích chập cho ảnh RGB với ba kênh màu Tuy nhiên, mặc dù chiều sâu của ảnh được tăng lên, ảnh đầu ra sau khi thực hiện hai hàm vẫn giữ nguyên là ảnh xám nhưng với 3 kênh, như minh họa trong hình 3.2.

Hình 3.2: Mô tả cách ghép ảnh từ 1 kênh thành 3 kênh màu

Hệ màu không phù hợp có thể gây ra lỗi ngõ vào mạng, vì vậy cần chuyển đổi sang màu RGB Hiện nay, có nhiều hệ màu khác nhau như HSV, HSL, CMYK và YUV, và việc lựa chọn hệ màu phù hợp sẽ tùy thuộc vào từng ứng dụng để tối ưu hóa hiệu quả của hệ thống xử lý.

HVTH: Trần Giang Nam 15 GVHD: PGS.TS Nguyễn Thanh Hải

Lấy mẫu ảnh khuôn mặt

Trình phát hiện đối tượng khuôn mặt có tích hợp sẵn trong MATLAB với hàm

“vision.CascadeObjectDetector” áp dụng thuật toán Viola-Jones để phát hiện khuôn mặt qua một chuỗi phân loại Thuật toán này sử dụng các phân loại nhị phân ngày càng phức tạp, cho phép loại bỏ nhanh chóng các vùng hình ảnh không chứa khuôn mặt Nếu không phát hiện được đối tượng mong muốn ở bất kỳ giai đoạn nào, máy dò sẽ từ chối khu vực đó và ngừng quá trình xử lý Hình 3.3 minh họa quy trình dò tìm khuôn mặt trong thuật toán Viola-Jones.

Khuôn mặt Ảnh ngõ vào Giai đoạn 1 Giai đoạn 2 Giai đoạn N Đúng Đúng Đúng

Hình 3.3: Quá trình dò tìm khuôn mặt trong thuật toán Viola-Jones

Hình 3.4: Các khuôn mặt được trình dò phát hiện

Hình 3.4 minh họa các khuôn mặt được phát hiện bởi trình dò Sau khi xác định vị trí tọa độ cùng với chiều rộng và chiều cao của từng khuôn mặt trong bức ảnh, quá trình nhận diện sẽ được hoàn tất.

Trong nghiên cứu của HVTH, tác giả Trần Giang Nam dưới sự hướng dẫn của PGS.TS Nguyễn Thanh Hải sẽ tiến hành trích mẫu ảnh khuôn mặt của từng đối tượng sử dụng hàm “imcrop”, như được minh họa trong hình 3.5.

Hình 3.5: Ảnh khuôn mặt các đối tượng sau khi được tách từ ảnh hình 3.4

Trước khi sử dụng ảnh khuôn mặt cho việc huấn luyện hoặc nhận diện, cần điều chỉnh kích thước ảnh cho phù hợp với đầu vào của mạng Trong nghiên cứu này, kích thước ảnh thực tế được sử dụng là 224 x 224 x 3.

3.3 Lọc ảnh dùng phương pháp tích chập

Lọc ảnh là một phương pháp quan trọng trong các ứng dụng thị giác máy tính và hệ thống xử lý ảnh Mỗi bộ lọc, như Sobel, Laplacian, Scharr, và Prewitt, có chức năng riêng, bao gồm phát hiện cạnh, làm sắc nét và làm mờ Các bộ lọc này được thiết kế để giữ lại hoặc làm rõ các chi tiết đặc trưng của ảnh tùy thuộc vào mục đích sử dụng Đặc biệt, bộ lọc là thành phần thiết yếu trong mạng nơ-ron tích chập, nơi các bộ lọc miền không gian thực hiện quá trình tích chập với dữ liệu đầu vào, cho ra kết quả g(x,y) từ bộ lọc w kích thước m x n và ảnh đầu vào f(x,y).

Với f(𝑥,𝑦) ảnh vào, 𝑤(s,t) bộ lọc và g(x,y) ảnh ngõ ra

HVTH: Trần Giang Nam 17 GVHD: PGS.TS Nguyễn Thanh Hải Ảnh ngõ vào f(x,y)

3 2 -1 Ảnh ngõ ra g(x,y), gọi là đặc trưng

Hình 3.6: Tích chập giữa ngõ vào và cửa sổ lọc

Hình 3.6 minh họa quá trình tích chập giữa ngõ vào và cửa sổ lọc, dẫn đến việc tạo ra ma trận đặc trưng đầu ra Bảng 3.1 cung cấp ví dụ về một số bộ lọc cùng với hình ảnh ngõ ra tương ứng.

Bảng 3.1: Mô tả một số bộ lọc

Chức năng bộ lọc Bộ lọc Ảnh ngõ ra

Phiên bản khác của bộ lọc Laplacian

HVTH: Trần Giang Nam 18 GVHD: PGS.TS Nguyễn Thanh Hải

Bộ lọc Sobel phương ngang

Bộ lọc Sobel phương dọc

Bộ lọc Laplacian kết hợp

Trong lớp tích chập, có rất nhiều bộ lọc được áp dụng, và việc sử dụng nhiều bộ lọc giúp trích xuất đặc trưng ảnh hiệu quả hơn, từ đó cải thiện độ chính xác của mạng nơ-ron Để nhận diện khuôn mặt, mạng nơ-ron cần học các đặc điểm của khuôn mặt đó; việc cung cấp nhiều mẫu ảnh sẽ giúp mạng học được nhiều đặc trưng hơn Điều đặc biệt là các bộ lọc trong mạng nơ-ron tích chập được khởi tạo một cách tự động.

HVTH: Trần Giang Nam 19, GVHD: PGS.TS Nguyễn Thanh Hải Quá trình huấn luyện mô hình sử dụng phương pháp ngẫu nhiên và điều chỉnh thông qua lan truyền ngược (backpropagation) Sau mỗi vòng huấn luyện, các giá trị trong từng bộ lọc được cập nhật để giảm thiểu lỗi ở hàm mất mát (loss function), từ đó cải thiện độ chính xác của dự đoán kết quả.

NHẬN DẠNG KHUÔN MẶT SỬ DỤNG MẠNG NƠ-RON TÍCH CHẬP 20

Giới thiệu mô hình mạng nơ-ron tích chập VGG-16

Mô hình mạng nơ-ron tích chập VGG-16, được phát triển bởi nhóm VGG Oxford, được sử dụng trong nghiên cứu cấu trúc chi tiết của mạng nơ-ron và ứng dụng nhận diện khuôn mặt Lý do lựa chọn VGG-16 là do việc sử dụng đồng nhất các lớp tích chập với bộ lọc 3x3, giúp dễ dàng thay đổi độ sâu của mạng mà không làm ảnh hưởng đến kích thước tham số đầu ra.

4.1.1 Cấu trúc mạng nơ-ron tích chập

Mạng nơ-ron tích chập (CNN) là công nghệ phổ biến hiện nay trong nhận dạng và phân loại hình ảnh Giống như mạng thần kinh thông thường, mạng CNN được cấu thành từ các tế bào thần kinh có khả năng học hỏi Cấu trúc cơ bản của mạng CNN bao gồm nhiều lớp khác nhau, mỗi lớp thực hiện các chức năng riêng biệt để xử lý thông tin.

• Convolution layer: lớp tích chập

• Rectified linear units layer (ReLU): lớp hiệu chỉnh tuyến tính

• Pooling layer (Sub Sampling layer): lớp Pooling

• Fully Connected Layer: lớp kết nối đầy đủ

HVTH: Trần Giang Nam 21 GVHD: PGS.TS Nguyễn Thanh Hải

Hình 4.1: Mạng nơ-ron tích chập

Các lớp trong mạng nơ-ron có thể được lặp lại nhiều lần tùy thuộc vào độ phức tạp của bài toán Các lớp này liên kết với nhau thông qua cơ chế tích chập, với lớp tiếp theo là kết quả của phép tích chập từ lớp trước Điều này tạo ra các kết nối cục bộ, trong đó mỗi nơ-ron ở lớp kế tiếp được sinh ra từ kết quả của bộ lọc áp dụng lên một vùng ảnh cục bộ của lớp trước đó.

Lớp tích chập sử dụng bộ lọc kích thước nhỏ để quét qua toàn bộ ảnh, dịch chuyển theo từng bước trượt Tại mỗi vị trí, bộ lọc thực hiện quá trình tích chập với các điểm ảnh trong vùng ảnh đó Ngoài ra, có thể áp dụng nhiều bộ lọc khác nhau lên ảnh đầu vào để khai thác nhiều đặc trưng khác nhau Công thức 3.1 và hình 3.6 minh họa hoạt động của lớp này.

Lớp hiệu chỉnh tuyến tính (ReLU) là một hàm phi tuyến tính, có chức năng chuyển đổi toàn bộ giá trị âm từ đầu ra của lớp tích chập thành giá trị 0, đồng thời giữ được tính chính xác toán học của mạng Cụ thể, đầu ra của lớp ReLU được tính bằng công thức Output = max(0, Input) Kích thước đầu ra của lớp này tương tự như kích thước đầu vào, nhưng tất cả các giá trị âm sẽ bị loại bỏ Hình 4.2 mô tả hoạt động của lớp này.

HVTH: Trần Giang Nam 22 GVHD: PGS.TS Nguyễn Thanh Hải

Hình 4.2: Hoạt động của lớp ReLU

Lớp Pooling trong mạng nơ-ron tích chập giúp giảm kích thước ảnh mà vẫn giữ lại các đặc trưng quan trọng Khác với lớp tích chập, lớp này thực hiện lấy mẫu (subsampling) bằng cách sử dụng các mảng nhỏ (filter 2x2 hoặc 3x3) để tạo ra mẫu đặc trưng Các phương pháp phổ biến để thực hiện pooling bao gồm lấy giá trị trung bình hoặc giá trị lớn nhất, với Max Pooling là phương pháp thường được áp dụng Sau khi qua lớp Pooling, số điểm ảnh của hình ảnh giảm xuống nhưng các đặc trưng vẫn được bảo toàn nhờ việc chọn các giá trị lớn nhất từ mỗi cửa sổ Điều này cho phép CNN xác định sự hiện diện của các đặc trưng mà không cần quan tâm đến vị trí chính xác của chúng, tạo ra tính bất biến đối với kích thước của cửa sổ trượt.

Hình 4.3: Hoạt động của Max pooling

HVTH: Trần Giang Nam 23 GVHD: PGS.TS Nguyễn Thanh Hải

Lớp kết nối đầy đủ (Fully connected layer) là một thành phần quan trọng trong mạng nơ-ron nhiều tầng, sử dụng hàm kích hoạt softmax ở lớp đầu ra Đặc điểm nổi bật của lớp này là mọi nơ-ron ở lớp trước đều được kết nối với tất cả nơ-ron ở lớp kế tiếp, điều này giúp tối ưu hóa khả năng học và phân loại của mô hình.

Hình 4.4: Lớp kết nối đầy đủ

Hàm Softmax là một hàm quan trọng trong machine learning, chuyển đổi một vectơ các số thực thành phân phối xác suất, với mỗi thành phần nằm trong khoảng (0,1) Trước khi áp dụng Softmax, các thành phần có thể âm hoặc lớn hơn một, và tổng không bằng 1 Sau khi sử dụng Softmax, các giá trị lớn hơn sẽ tương ứng với xác suất cao hơn, giúp dễ dàng hiểu và so sánh Hàm này thường được áp dụng trong các mạng nơ-ron để chuyển đổi đầu ra không chuẩn hóa thành phân phối xác suất cho các lớp dự đoán.

Với f là ngõ vào có kích thước k x l, 1≤ i ≤ C, trong đó C là số lớp đào tạo

Lớp ngõ ra là một vector thể hiện các lớp được xác định từ hình ảnh ngõ vào, trong bối cảnh này, nó bao gồm dữ liệu đại diện cho khuôn mặt cần nhận dạng.

HVTH: Trần Giang Nam 24 GVHD: PGS.TS Nguyễn Thanh Hải

Kỹ thuật drop out trong mạng nơ-ron là quá trình loại bỏ ngẫu nhiên một số nơ-ron trong suốt quá trình huấn luyện mô hình Việc này giúp các nơ-ron bị bỏ qua không tham gia vào quá trình huấn luyện, từ đó hạn chế hiện tượng phù hợp quá mức (overfitting) của mạng Hình 4.5 minh họa hoạt động của kỹ thuật drop out.

(a) Chưa áp dụng drop-out (b) Áp dụng drop-out

Hình 4.5: Kỹ thuật drop-out trong CNN 4.1.2 Tính toán cho các l ớp mạng

Ngõ vào có kích thước cố định W 1 x H 1 x D 1 (rộng x cao x sâu) với số lượng bộ lọc K, kích thước bộ lọc F, bước trượt S, và số lượng padding P Kết quả sẽ tạo ra kích thước ngõ ra W 2 x H 2 x D 2.

Trọng số trên mỗi bộ lọc được tính là F x F x D1, do đó tổng số trọng số là (F x F x D1) x K cùng với K bias Đầu ra của lát thứ d, có kích thước W2 x H2, được tạo ra từ quá trình tích chập bộ lọc thứ d trên ảnh đầu vào, sử dụng stride S và điều chỉnh bởi bias thứ d.

Trong ví dụ ở hình 4.6, ảnh ngõ vào có kích thước W1 = 5, H1 = 5, D1 = 3 Các thông số của lớp tích chập được xác định là K = 1, F = 3, S = 2, P = 1 Sử dụng bộ lọc kích thước 3 x 3 với stride là 2, kích thước ngõ ra sẽ được tính theo công thức (5 – 3 + 2)/2 + 1, kết quả là 3 Thông số padding P cũng cần được xem xét trong quá trình tính toán.

= 1 có nghĩa là tạo một đường viền bằng 0 được áp lên ngõ vào

HVTH: Trần Giang Nam 25 GVHD: PGS.TS Nguyễn Thanh Hải

Ngõ vào 5x5x3 + padding 1 Bộ lọc 3x3x3 Ngõ ra 3x3 x[ : , : , 0] w[ : , : , 0]

Hình 4.6: Hoạt động tích chập của ảnh ngõ vào X với bộ lọc W

HVTH: Trần Giang Nam 26 GVHD: PGS.TS Nguyễn Thanh Hải

Hình thức phổ biến nhất của lớp pooling là sử dụng bộ lọc 2x2 với stride 2, giúp giảm kích thước đầu vào xuống một nửa theo cả chiều rộng và chiều cao Mỗi thao tác MAX sẽ lấy giá trị lớn nhất từ 4 số trong vùng 2x2 nhỏ trên các lát cắt sâu, trong khi kích thước chiều sâu vẫn giữ nguyên.

Ngõ vào với kích cỡ cố định W 1 x H 1 x D 1 , kích cỡ bộ lọc F, bước trượt (stride) S Cho kích thước ngõ ra W 2 x H 2 x D 2 , với

Ví dụ: Khối lượng đầu vào có kích thước 224x224x64 được chập với cửa sổ kích thước 2x2, stride 2 sẽ cho đầu ra có kích thước 112x112x64 như mô tả hình 4.7

Hình 4.7: Hoạt động lớp Pooling

 Lớp kết nối đầy đủ

Lớp kết nối đầy đủ trong mạng nơ-ron tích chập (CNN) tạo ra một vectơ có chiều dài tương ứng với số lượng tế bào thần kinh trong lớp Có hai loại lớp kết nối đầy đủ: loại đầu tiên kết nối với lớp tích chập cuối cùng và loại thứ hai kết nối với lớp kết nối đầy đủ trước đó Số lượng tham số của mỗi loại lớp này sẽ khác nhau, phản ánh cấu trúc và chức năng của chúng trong mạng.

HVTH: Trần Giang Nam 27 GVHD: PGS.TS Nguyễn Thanh Hải

 Trường hợp 1: Số lượng tham số của lớp kết nối đầy đủ kết nối với lớp tích chập

Ta có ngõ vào với kích cỡ cố định Wx H x D, số lượng nơ-ron N của lớp kết nối đầy đủ, sẽ cho ra (Wx H x D) x N trọng số và N bias

Áp dụng mạng nơ-ron tích chập VGG-16 cho nhận diện khuôn mặt

4.2.1 Giới thiệu tập dữ liệu

Trong quá trình nhận diện khuôn mặt bằng mạng học sâu, hiệu suất của mạng được đánh giá dựa trên các tập dữ liệu như FEI Face, CASIA-WebFace và một tập ảnh tự thu thập Bài viết này sẽ cung cấp mô tả tổng quan về các tập dữ liệu này.

Cơ sở dữ liệu khuôn mặt FEI là một bộ sưu tập hình ảnh khuôn mặt tại Brazil, bao gồm 200 đối tượng với 14 hình ảnh cho mỗi cá nhân, tổng cộng 2800 hình ảnh Tất cả hình ảnh đều có màu sắc sống động, được chụp trên nền trắng với góc chụp thẳng đứng, cho phép xoay lên tới 180 độ Các khuôn mặt trong cơ sở dữ liệu chủ yếu là của sinh viên và nhân viên tại FEI, nằm trong độ tuổi từ 19 đến 40, với các đặc điểm ngoại hình, kiểu tóc và trang điểm đa dạng.

CASIA-WebFace là bộ dữ liệu chứa 453.453 hình ảnh khuôn mặt của 10.575 danh tính khác nhau Số lượng hình ảnh cho mỗi danh tính không đồng nhất Trong số đó, 10 danh tính với tổng cộng 2.924 hình ảnh đã được lựa chọn để phục vụ cho việc huấn luyện và nhận dạng khuôn mặt.

Tập ảnh tự thu thập bao gồm hơn 6000 ảnh khuôn mặt của 13 sinh viên trường Cao đẳng Lý Tự Trọng Tp.HCM, được chụp từ nhiều khoảng cách và góc độ khác nhau Số lượng ảnh của mỗi đối tượng không đồng nhất, tạo ra một tập dữ liệu phong phú cho nghiên cứu và ứng dụng trong lĩnh vực nhận diện khuôn mặt.

HVTH: Trần Giang Nam 36 GVHD: PGS.TS Nguyễn Thanh Hải

4.2.2 Mô tả phương pháp huấn luyện Đối với mô hình đã được đào tạo như VGG-16, trước khi sử dụng thì tất cả các lớp kết nối đầy đủ và lớp ngõ ra của mô hình phải được thay thế để phù hợp với số đối tượng cần nhận dạng trong luận văn, chỉ giữ lại những lớp tích chập Quá trình huấn luyện mô hình là bắt đầu từ đầu

Trước khi bắt đầu quá trình huấn luyện, việc lựa chọn tập ảnh là rất quan trọng Nghiên cứu này sử dụng ba tập ảnh: FEI Face, CASIA-WebFace và một tập ảnh tự thu thập Mỗi tập ảnh được chia ngẫu nhiên với tỷ lệ 80% cho tập huấn luyện và 20% cho tập kiểm tra, sử dụng hàm “splitEachLabel” Dưới đây là cấu hình các thông số trong quá trình huấn luyện mạng.

“trainingOptions” trong Matlab: options = trainingOptions('rmsprop',

Trong nghiên cứu này, các tùy chọn đào tạo cho trình tối ưu hóa bao gồm RMSProp và Adam, hai thuật toán phổ biến trong phân loại nhận dạng khuôn mặt Hiện có nhiều thuật toán tối ưu như SGD, AdaGrad, Adadelta, RMSprop, Adam và Nadam, mỗi loại đều có ưu nhược điểm riêng Việc lựa chọn thuật toán phù hợp phụ thuộc vào loại dữ liệu cụ thể Adam, nhờ vào việc kết hợp các đặc tính tốt nhất của RMSProp và AdaGrad, cho thấy hiệu suất tốt ngay cả với các bộ dữ liệu nhiễu hoặc phân tán.

Nghiên cứu gần đây chỉ ra rằng thuật toán Adam có thể gặp vấn đề và không hội tụ trong một số trường hợp Do đó, việc lựa chọn giữa hai thuật toán này cần được xem xét kỹ lưỡng.

MiniBatchSize là kích thước của lô nhỏ được sử dụng trong mỗi vòng lặp huấn luyện Lô nhỏ này là một tập hợp con của tập huấn luyện, giúp đánh giá độ dốc của hàm mất mát và cập nhật trọng số Trong nghiên cứu này, kích thước MiniBatchSize được chọn là 10.

MaxEpochs là số lượng tối đa các epoch được sử dụng trong quá trình đào tạo, trong khi iteration đại diện cho số lượng mini-batch cần thiết để hoàn thành một epoch Một epoch được định nghĩa là một lần duyệt qua toàn bộ tập huấn luyện Trong trường hợp này, MaxEpochs được chọn là 15.

Tỷ lệ học ban đầu (InitialLearnRate) được chỉ định là 10^-5 trong quá trình đào tạo Nếu tỷ lệ này quá thấp, thời gian đào tạo sẽ kéo dài, trong khi nếu tỷ lệ quá cao, kết quả đạt được có thể không tối ưu hoặc dẫn đến phân kỳ.

Trong quá trình đào tạo mạng, việc xáo trộn dữ liệu là rất quan trọng Chúng ta cần xáo trộn dữ liệu đào tạo trước mỗi kỷ nguyên và dữ liệu xác nhận trước mỗi lần xác thực Nếu kích thước lô nhỏ không chia đều số lượng mẫu đào tạo, trình trainNetwork sẽ loại bỏ những dữ liệu không phù hợp với lô nhỏ hoàn chỉnh cuối cùng của mỗi kỷ nguyên Để tránh việc loại bỏ cùng một dữ liệu trong mỗi epoch, chúng ta nên thiết lập giá trị 'Shuffle' là 'every-epoch'.

 ValidationData là dữ liệu được sử dụng để xác thực trong quá trình đào tạo

ValidationFrequency là tần suất in kết quả xác thực, thể hiện số lần lặp giữa hoạt động in và cửa sổ lệnh Thuộc tính này chỉ có hiệu lực khi giá trị Verbose được đặt là true Khi thực hiện xác thực mạng trong quá trình đào tạo, trình trainNetwork sẽ in ra cửa sổ lệnh mỗi khi có sự kiện xác thực xảy ra.

Plots là biểu đồ hiển thị quá trình đào tạo mạng, bao gồm thông tin về mini-batch loss, accuracy, validation loss và accuracy Những biểu đồ này giúp theo dõi tiến trình đào tạo và đánh giá hiệu suất của mô hình.

HVTH: Trần Giang Nam 38 GVHD: PGS.TS Nguyễn Thanh Hải

Việc điều chỉnh các thông số trong huấn luyện cần phù hợp với mục đích và điều kiện thực tế Mục tiêu của huấn luyện là phân loại đối tượng theo mong muốn đã xác định trước, trong đó mạng sẽ điều chỉnh các thông số để ngõ ra gần nhất với mục tiêu Quá trình này được gọi là huấn luyện có giám sát Sau khi xây dựng mạng và chuẩn bị dữ liệu ảnh khuôn mặt, quá trình huấn luyện mạng có thể được mô tả theo lưu đồ hình 4.10.

Cho dữ liệu đi qua các lớp mạng

Khởi tạo các thông số ban đầu (weight, bias, learning rate, )

Tính toán sai số ngõ ra

Cập nhật trọng số Đủ số chu kỳ huấn luyện?

Lưu lại mạng đã được huấn luyện

Hình 4.10: Lưu đồ quá trình huấn luyện mạng

HVTH: Trần Giang Nam 39 GVHD: PGS.TS Nguyễn Thanh Hải

Tương ứng với lưu đồ trên ta tóm tắt thành các bước sau:

 Bước 1: Khởi tạo các thông số ban đầu cho mạng (weight, bias, learning rate,…)

Đánh giá độ chính xác kết quả nhận dạng

Để đánh giá độ chính xác của mô hình phân loại, chúng ta sử dụng Ma trận nhầm lẫn (Confusion matrix) Ma trận này cung cấp cái nhìn tổng quát về kết quả phân loại đúng và sai bằng cách so sánh với giá trị thực của biến mục tiêu trong tập dữ liệu.

Trong nghiên cứu của Trần Giang Nam dưới sự hướng dẫn của PGS.TS Nguyễn Thanh Hải, một ma trận nhầm lẫn 2x2 được sử dụng để phân loại dữ liệu theo biến mục tiêu với hai giá trị là Positive và Negative, như được trình bày trong bảng 4.2.

Bảng 4.2: Bảng Ma trận nhầm lẫn

Positive True Positive (TP) False Negative (FN)

Negative False Positive (FP) True Negative (TN)

Quan sát bảng 4.2, ta có các thông tin sau:

 TP (true positive): mẫu mang nhãn dương được phân lớp đúng vào lớp dương

 FN (false negative): mẫu mang nhãn dương bị phân lớp sai vào lớp âm

 FP (false positive): mẫu mang nhãn âm bị phân lớp sai vào lớp dương

 TN (true negative): mẫu mang nhãn âm được phân lớp đúng vào lớp âm

Từ đây, độ chính xác của mô hình (Accuracy) được tính như sau:

Acc TP (4.9) Độ lỗi (error hoặc loss) của mô hình được tính như sau:

Ngoài ra còn có một số cách đo khác:

Precision (Pre) là tỷ lệ các mẫu được dự đoán đúng trong mỗi lớp, trong khi Recall (Rec) là tỷ lệ các mẫu thực tế của mỗi lớp được phân loại chính xác.

Nó rõ ràng là một phương pháp rất cần thiết trong việc đánh giá hiệu suất trong phân loại nhiều loại tập khác nhau sử dụng mạng nơ-ron

HVTH: Trần Giang Nam 42 GVHD: PGS.TS Nguyễn Thanh Hải

Ngày đăng: 02/12/2021, 09:09

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Z. Zhu, P. Luo, X. Wang, and X. Tang. Recover canonicalview faces in the wild with deep neural networks. arXiv:1404.3543. 2014 Sách, tạp chí
Tiêu đề: arXiv:1404.3543
[2] Y. Taigman, M. Yang, M. Ranzato, and L. Wolf. Deepface: Closing the gap to human-level performance in face verification. In IEEE Conf. on CVPR. 2014 Sách, tạp chí
Tiêu đề: In IEEE Conf. on CVPR
[3] Florian Schroff, Dmitrv Kalcnichenko, and James Philbin. Facenet: A unified embedding for face recognition and clustering. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . 2015 Sách, tạp chí
Tiêu đề: In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition
[4] Viola, Paul and Michael J. Jones. Rapid Object Detection using a Boosted Cascade of Simple Features. Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2001 Sách, tạp chí
Tiêu đề: Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition
[5] Ojala T, Pietikọinen M & Mọenpọọ T. Multiresolution gray-scale and rotation invariant texture classification with local binary patterns. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2002 Sách, tạp chí
Tiêu đề: IEEE Transactions on Pattern Analysis and Machine Intelligence
[6] Olivares-Mercado, J., K. Toscanomedina, G. Sanchez-Perez, H. Perezmeana and M. Nakano-Miyatake. Face recognition system for smartphone based on LBP. International Workshop on Biometrics and Forensics (IWBF). 2017 Sách, tạp chí
Tiêu đề: International Workshop on Biometrics and Forensics (IWBF)
[7] Kamencay, P., T. Trnovszky, M. Benco, R. Hudec, P. Sykora and A. Satnik. Accurate wild animal recognition using PCA, LDA and LBPH. ELEKTRO. 2016 Sách, tạp chí
Tiêu đề: ELEKTRO
[8] Ameur, B., S. Masmoudi, A. G. Derbel and A. Ben Hamida. Fusing Gabor and LBP feature sets for KNN and SRC-based face recognition. International Conference on Advanced Technologies for Signal and Image Processing (ATSIP). 2016 Sách, tạp chí
Tiêu đề: International Conference on Advanced Technologies for Signal and Image Processing (ATSIP)
[9] Stekas, N. and D. Heuvel. Face Recognition Using Local Binary Patterns Histograms (LBPH) on an FPGA-Based System on Chip (SoC). IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW). 2016 Sách, tạp chí
Tiêu đề: IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)
[11] Nugrahaeni, R. A. and K. Mutijarsa. Comparative analysis of machine learning KNN, SVM, and random forests algorithm for facial expression classification.International Seminar on Application for Technology of Information and Communication (ISemantic). 2016 Sách, tạp chí
Tiêu đề: International Seminar on Application for Technology of Information and Communication (ISemantic)
[12] David G.Lowe. Object Recognition from Local Scale-Invariant Features. International Conference on Computer Vision. 1999 Sách, tạp chí
Tiêu đề: International Conference on Computer Vision
[13] Yang, J., Jiang, Y.-G., Hauptmann, A. G., and Ngo, C.-W. Evaluating bag-of-visual- words representations in scene classification. Proceedings of the International Workshop on Multimedia Information Retrieval (ACM). 2007 Sách, tạp chí
Tiêu đề: Proceedings of the International Workshop on Multimedia Information Retrieval (ACM)
[14] Sebastian Ruder. An overview of gradient descent optimization algorithms. arXiv:1609.04747v2. 2017 Sách, tạp chí
Tiêu đề: arXiv:1609.04747v2
[15] Duchi, John, Hazan, Elad, and Singer, Yoram. Adaptive subgradient methods for online learning and stochastic optimization. The Journal of Machine Learning Research.2011 Sách, tạp chí
Tiêu đề: The Journal of Machine Learning Research
[16] Bernard Alala , Waweru Mwangi , George Okeyo. Image Representation using RGB Color Space. International Journal of Innovative Research and Development. 2014 [17] Smith, A. R. Color Gamut Transform Pairs. ACM SIGGRAPH Computer Graphics.1978 Sách, tạp chí
Tiêu đề: International Journal of Innovative Research and Development." 2014 [17] Smith, A. R. Color Gamut Transform Pairs. "ACM SIGGRAPH Computer Graphics
[18] Karen Simonyan, Andrew Zisserman. Very deep convolutional networks for large- scale image recognition. ICLR. 2015 Sách, tạp chí
Tiêu đề: ICLR
[19] Guo, S., S. Chen and Y. LI. Face recognition based on convolutional neural network and support vector machine. IEEE International Conference on Information and Automation (ICIA). 2016 Sách, tạp chí
Tiêu đề: IEEE International Conference on Information and Automation (ICIA)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w