1. Trang chủ
  2. » Công Nghệ Thông Tin

BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT

73 73 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 đề Xây Dựng Chương Trình Nhận Dạng Giới Tính Thông Qua Ảnh Khuôn Mặt
Tác giả Lê Quốc Dũng, Đặng Ngọc Châu
Người hướng dẫn ThS. Nguyễn Quang Vũ
Trường học Đại học
Chuyên ngành Công nghệ thông tin
Thể loại báo cáo đồ án
Năm xuất bản 2021
Thành phố Đà Nẵng
Định dạng
Số trang 73
Dung lượng 3,57 MB

Cấu trúc

  • Chương 1 GIỚI THIỆU

    • 1.1 Tổng Quan

      • 1.1.1 Mở đầu

      • 1.1.2 Mục tiêu của đồ án

      • 1.1.3 Đối tượng nghiên cứu

      • 1.1.4 Phạm vi nghiên cứu

    • 1.2 Phương pháp – kết quả

      • 1.2.1 Phương pháp

      • 1.2.2 Kết quả

    • 1.3 Cấu Trúc đồ án

  • Chương 2 CƠ SỞ LÝ THUYẾT

    • 2.1 Tổng quan về Deep Learning và bài toán nhận diện khuôn mặt trong thị giác máy tính

      • 2.1.1 Tổng quan về Deep Learning

        • 2.1.1.1 Deep Learning là gì?

        • 2.1.1.2 Tầm quan trọng của Deep Learning

        • 2.1.1.3 Deep Learning hoạt động như thế nào ?

        • 2.1.1.4 Các thuật toán Deep Learning sử dụng

        • 2.1.1.5 Một số ứng dụng của Deep Learning

      • 2.1.2 Bài toán nhận dạng khuôn mặt trong thị giác máy tính

    • 2.2 Giới thiệu Convolutional Neural Network

      • 2.2.1 Tổng quan

      • 2.2.2 Kiến trúc CNN

    • 2.3 Tổng quan về Machine Learning

      • 2.3.1 Machine Learning là gì ?

      • 2.3.2 Một vài ứng dụng của Machine Learning

    • 2.4 Thư viện Keras

    • 2.5 Thư viện FaceNet

    • 2.6 Thư viện Sklearn

  • Chương 3 XÂY DỰNG ỨNG DỤNG

    • 3.1 Yêu cầu hệ thống

      • 3.1.1 Phần cứng

      • 3.1.2 Môi trường thực hiện

    • 3.2 Các bước thực hiện

      • 3.2.1 Chuẩn bị dữ liệu

      • 3.2.2 Cài đặt thư viện Multi Task Convolutional Neural Network để trích xuất khuôn mặt

      • 3.2.3 Cài đặt một số thư viện khác.

      • 3.2.4 Liên kết Googgle Collab và Google Drive

      • 3.2.5 Phân chia bộ train và bộ test

      • 3.2.6 Face Embedding

      • 3.2.7 Kiểm tra độ chính xác

      • 3.2.8 Viết hàm dự đoán

      • 3.2.9 Test kết quả

  • Chương 4 KẾT LUẬN

    • 4.1 Kết quả.

    • 4.2 Ưu điểm - nhược điểm

    • 4.3 Hướng phát triển.

  • TÀI LIỆU THAM KHẢO

Nội dung

BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI: XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT

GIỚI THIỆU

Tổng Quan

Hiện nay, vấn đề an ninh bảo mật đang được chú trọng trên toàn cầu, dẫn đến sự phát triển của các hệ thống nhận dạng con người, đặc biệt là nhận dạng khuôn mặt Phương pháp này cho phép phân biệt các cá nhân thông qua hình ảnh và đang được ứng dụng rộng rãi để thu thập và xử lý thông tin mà không cần can thiệp trực tiếp vào đối tượng Sự tiến bộ trong khoa học máy tính đã tạo điều kiện thuận lợi cho việc nhận dạng khuôn mặt từ ảnh số, với các hệ thống nhận dạng offline đạt độ tin cậy cao Tuy nhiên, các hệ thống nhận dạng online vẫn chưa đáp ứng được yêu cầu hiện tại.

Trong đồ án này, chúng em sẽ tiếp tục nghiên cứu bài toán nhận dạng offline, trong đó dữ liệu được thu thập thành các file và chuyển về trung tâm để phân tích Phần đầu của nghiên cứu sẽ tập trung vào bài toán nhận dạng thông thường, trong khi phần hai sẽ giải quyết bài toán nhận dạng giới tính.

1.1.2 Mục tiêu của đồ án

Sử dụng thư viện Multi Task Convolutional Neural Network để trích xuất khuôn mặt từ ảnh đầu vào, sau đó áp dụng mô hình đã được huấn luyện trước FaceNet nhằm giảm chiều dữ liệu của các vector khuôn mặt xuống còn 128 chiều Tiếp theo, các thuật toán Machine Learning được sử dụng để huấn luyện mô hình và lựa chọn mô hình tốt nhất.

 Input: Ảnh chụp mặt người.

 Output: Giới tính của người đó.

- Tìm hiểu về Machine Learning và Deep Learning

- Các thuật toán nhận diện

- Nghiên cứu thư viện Multi Taks Convolutional Neural Network và FaceNet

- Xây dựng chương trình nhận dạng giới tính con người sử dụng Machine Learning.

- Ứng dụng đề tài phục vụ cho việc nghiên cứu về nhiều lĩnh vực.

Phương pháp – kết quả

- Phương pháp nghiên cứu lý thuyết:

+ Tìm hiểu tổng quan về Machine Learning và bài toán nhận diện khuôn mặt trong thị giác máy tính.

- + Tìm hiểu thư viện Multi Taks Convolutional Neural Network và FaceNet.

+ Tìm hiểu thư viện Keras và một số thư viện khác.

- Phương pháp nghiên cứu thực nghiệm:

+ Tiến hành phân tích và cài đặt trên Python

+ Tiến hành training data cho máy học.

- Tạo ra chương trình nhận dạng giới tính thông qua ảnh có sẵn thực trên hệ điều hành Window.

Cấu Trúc đồ án

Nội dung chính của chuyên đề được chia thành 4 phần như sau:

Chương 1: Giới thiệu: Chương này trình bày một cách tổng quan về mục tiêu, đối tượng và phạm vi nghiên cứu, các hướng tiếp cận để giải quyết bài toán nhận dạng và kết quả dự tính.

Chương 2: Cơ sở lý thuyết: Tìm hiểu phương pháp máy học và tìm hiểu các thư viện, ứng dụng Machine Learning và bài toán nhận diện khuôn mặt.

Chương 3: Xây dựng ứng dụng: Trên cơ sở thư viện mã nguồn mở xây dựng chương trình nhận diện giới tính con người qua ảnh có sẵn, cùng với những phân tích chương trình.

Chương 4: Kết luận và hướng phát triển: Đánh giá kết quả và hướng phát triển nghiên cứu.

CƠ SỞ LÝ THUYẾT

Tổng quan về Deep Learning và bài toán nhận diện khuôn mặt trong thị giác máy tính

2.1.1 Tổng quan về Deep Learning

Deep Learning là một nhánh của Trí tuệ nhân tạo, sử dụng kỹ thuật học máy để giúp máy tính và thiết bị hoạt động một cách logic Tên gọi "Deep Learning" xuất phát từ việc nó đi sâu vào nhiều lớp của mạng, bao gồm cả lớp ẩn, cho phép trích xuất thông tin phức tạp hơn khi học sâu hơn.

Phương pháp Deep Learning sử dụng các chương trình phức tạp để mô phỏng trí thông minh của con người, giúp máy móc nhận diện và phân loại các họa tiết khác nhau Nhận dạng mẫu là yếu tố quan trọng trong Deep Learning, cho phép máy tính hoạt động mà không cần lập trình mở rộng nhờ vào Machine Learning Bằng cách sử dụng các tệp hình ảnh, văn bản hoặc âm thanh, máy móc có khả năng thực hiện các tác vụ giống như con người.

Hình 1.Deep Learning là gì ? 2.1.1.2 Tầm quan trọng của Deep Learning

Deep Learning đang trở nên phổ biến hơn bao giờ hết, góp phần làm cho cuộc sống hàng ngày của chúng ta tiện lợi hơn Xu hướng này dự kiến sẽ tiếp tục phát triển trong tương lai Từ công nghệ hỗ trợ đỗ xe tự động đến nhận diện khuôn mặt tại sân bay, Deep Learning đang thúc đẩy quá trình tự động hóa trong thế giới hiện đại.

Deep learning ngày càng trở nên quan trọng do sự gia tăng nhanh chóng của dữ liệu trong thế giới hiện đại, điều này tạo ra nhu cầu cần thiết về cấu trúc dữ liệu quy mô lớn Công nghệ này tận dụng khối lượng dữ liệu ngày càng tăng và tính sẵn có của nó để tối ưu hóa quá trình học tập Tất cả thông tin thu thập từ dữ liệu được sử dụng để đạt được kết quả chính xác thông qua các mô hình học tập lặp.

Phân tích lặp đi lặp lại các bộ dữ liệu lớn giúp loại bỏ lỗi và sự khác biệt trong quá trình tìm kiếm, dẫn đến kết luận đáng tin cậy Công nghệ deep learning sẽ tiếp tục ảnh hưởng mạnh mẽ đến cả lĩnh vực kinh doanh và đời sống cá nhân, đồng thời mở ra nhiều cơ hội việc làm trong tương lai.

2.1.1.3 Deep Learning hoạt động như thế nào ?

Deep learning là một phương pháp dạy máy móc bắt chước trí thông minh của con người thông qua các phương pháp lặp Mạng lưới thần kinh nhân tạo thực hiện quá trình này qua nhiều cấp độ phân cấp, bắt đầu từ việc học thông tin đơn giản và dần dần phát triển thông tin khi tăng cấp độ Mỗi cấp độ mới cho phép máy học thêm thông tin và kết hợp với kiến thức đã học ở cấp trước Cuối cùng, hệ thống thu thập thông tin đầu vào ghép, đi qua nhiều hệ thống phân cấp, và tạo ra tư duy logic phức tạp.

Hình 2.Cách thức hoạt động của Deep Learning

2.1.1.4 Các thuật toán Deep Learning sử dụng

Hình 3.Các thuật ngữ Deep Learning

2.1.1.5 Một số ứng dụng của Deep Learning

Trợ lý ảo như Amazon Echo, Google Assistant, Alexa và Siri đang sử dụng công nghệ học sâu để tạo ra trải nghiệm người dùng cá nhân hóa Những trợ lý này không ngừng học hỏi và cải thiện khả năng phục vụ nhu cầu của người dùng.

Công nghệ hiện đại cho phép nhận diện giọng nói và ngữ điệu của bạn qua 11 tiếng nói khác nhau, mang đến trải nghiệm tương tác giống như con người thông qua các mạng lưới thần kinh sâu Trợ lý ảo không chỉ giúp bạn mua sắm và điều hướng, mà còn ghi chú, chuyển đổi văn bản và đặt lịch hẹn cho thẩm mỹ viện một cách dễ dàng.

Nhận dạng khuôn mặt trên iPhone sử dụng công nghệ Deep Learning để xác định các điểm dữ liệu từ khuôn mặt của người dùng, giúp mở khóa điện thoại và nhận diện trong hình ảnh Công nghệ này bảo vệ thiết bị khỏi việc mở khóa trái phép và mang lại trải nghiệm liền mạch, ngay cả khi người dùng thay đổi kiểu tóc, giảm cân hoặc trong điều kiện ánh sáng kém Mỗi lần mở khóa, Deep Learning phân tích hàng ngàn điểm dữ liệu để tạo bản đồ độ sâu khuôn mặt, từ đó xác định chính xác danh tính của người dùng.

Cá nhân hóa đang trở thành xu hướng chủ đạo trong thương mại và giải trí, với các ông lớn như Amazon và Netflix đầu tư vào công nghệ Deep Learning để tạo ra trải nghiệm người dùng tối ưu Hệ thống gợi ý phim và sản phẩm dựa trên các mẫu hành vi của người dùng, giúp cung cấp nội dung phù hợp với sở thích cá nhân Những doanh nghiệp này phát triển mạnh nhờ khả năng đưa ra các tùy chọn dựa trên sở thích, lịch sử truy cập gần đây, và mối quan hệ của người dùng với các thương hiệu, diễn viên, nghệ sĩ, cùng với lịch sử duyệt web trên nền tảng của họ.

Xử lý ngôn ngữ tự nhiên (NLP) là một trong những công nghệ quan trọng nhất trong lĩnh vực trí tuệ nhân tạo, giúp nâng cao khả năng sử dụng và sự trưởng thành của AI Các tổ chức đang áp dụng học sâu để cải thiện tính phức tạp của các ứng dụng NLP Một số ứng dụng phổ biến bao gồm tóm tắt tài liệu, trả lời câu hỏi, mô hình hóa ngôn ngữ, phân loại văn bản và phân tích tình cảm Sự phát triển này có thể dẫn đến việc giảm thiểu sự cần thiết của can thiệp con người trong các lĩnh vực chuyên môn về ngôn ngữ và ngôn ngữ viết.

Chăm sóc sức khỏe đã trải qua sự phát triển mạnh mẽ với sự xuất hiện của trợ lý ảo cá nhân và các bài tập thể dục phục hồi sức khỏe Công nghệ máy tính hiện nay thu thập một lượng lớn dữ liệu liên quan đến tình trạng sinh lý và tinh thần của con người, góp phần nâng cao chất lượng cuộc sống và sức khỏe cộng đồng.

Trong lĩnh vực khoa học đời sống và chăm sóc sức khỏe, việc phát hiện sớm các bệnh lý, hình ảnh định lượng, phẫu thuật robot và công cụ hỗ trợ quyết định đang tạo ra những thay đổi đáng kể Tại Uber AI Labs ở Pittsburgh, nỗ lực phát triển xe tự lái đang được triển khai mạnh mẽ, với Deep Learning là nguyên tắc chủ đạo Các thử nghiệm với xe tự lái đang cho thấy sự tiến bộ vượt bậc nhờ vào việc học từ hàng triệu tình huống, giúp xe điều hướng an toàn và thoải mái Dữ liệu từ cảm biến, GPS và bản đồ địa lý được kết hợp trong quá trình học sâu, cho phép tạo ra các mô hình chuyên biệt để xác định đường đi, biển báo và các yếu tố động như giao thông và người đi bộ.

Học sâu đang tiến bộ nhanh chóng và dự kiến sẽ sớm tạo ra văn bản gốc, bao gồm cả thơ Các công nghệ này sử dụng bộ dữ liệu lớn, từ văn bản trên internet đến tác phẩm của Shakespeare, để học và mô phỏng sự sáng tạo của con người với chính tả, dấu câu, ngữ pháp, văn phong và giọng điệu hoàn hảo Những ứng dụng này đã tạo ra nhiều chú thích và tiêu đề trên các nền tảng khác nhau, minh chứng cho tiềm năng mà chúng ta hướng tới trong tương lai.

Nhận dạng hình ảnh là một lĩnh vực quan trọng trong công nghệ, sử dụng mạng thần kinh chuyển đổi để xử lý hình ảnh kỹ thuật số, bao gồm nhận dạng khuôn mặt, nhận dạng đối tượng và phân tích chữ viết tay Hiện nay, máy tính có khả năng nhận diện hình ảnh thông qua phương pháp Deep Learning, kết hợp công nghệ xử lý hình ảnh và trí tuệ nhân tạo Các ứng dụng của công nghệ này còn mở rộng đến việc tô màu hình ảnh đen trắng và thêm âm thanh cho phim câm, thể hiện sự tiến bộ đáng kể của các nhà khoa học dữ liệu và chuyên gia trong ngành.

Hình 4.Ứng dụng của Deep Learning 2.1.2 Bài toán nhận dạng khuôn mặt trong thị giác máy tính

Giới thiệu Convolutional Neural Network

Mạng nơron tích chập (CNN) bao gồm nhiều lớp chập và lớp kết nối, được thiết kế để tận dụng cấu trúc 2 chiều của hình ảnh hoặc tín hiệu Kiến trúc của CNN sử dụng các kết nối cục bộ và trọng số ràng buộc, giúp tạo ra các đặc trưng không thay đổi Một ưu điểm nổi bật của CNN là khả năng dễ dàng huấn luyện và có ít thông số hơn so với mạng nơron kết nối đầy đủ với số lượng đơn vị ẩn tương đương.

CNN bao gồm các lớp chập và lớp lấy mẫu con tùy chọn, tiếp theo là các lớp kết nối Đầu vào cho lớp chập là hình ảnh có kích thước m x m x r, với m là chiều cao và chiều rộng, và r là số kênh (ví dụ, ảnh RGB có r = 3) Lớp chập sử dụng k bộ lọc có kích thước n < n < 4, trong đó n nhỏ hơn kích thước hình ảnh và q có thể bằng hoặc nhỏ hơn r Kích thước bộ lọc tăng dần để tạo ra cấu trúc kết nổi cục bộ, với mỗi bộ lọc xoắn với hình ảnh để tạo ra k bản đồ đặc trưng có kích thước m – n + 1 Mỗi bản đồ được lấy mẫu con thông qua việc hợp nhất trung bình hoặc lớn nhất trên các khu vực 2 x 2, với phạm vi p từ 2 đến 5 Trước hoặc sau khi lấy mẫu con, một bias bổ sung và hàm kích hoạt phi tuyến được áp dụng cho mỗi bản đồ đặc trưng.

Hình 6.Kiến trúc CNN trong nhận diện hành động con người

Chập hình ảnh đầu vào với các bộ lọc huấn luyện và bias bổ sung tạo ra nhiều bản đồ đặc trưng trong lớp C1 Mỗi bản đồ đặc trưng trong S2 được hình thành từ việc tổng hợp các bản đồ tương ứng trong lớp C1 Quá trình chập và tổng hợp cực đại trong lớp C3 và S4 tương tự như ở lớp C1 và S2 Cuối cùng, các đặc trưng thu được từ tổng hợp cực đại trong lớp S4 được mã hóa thành một vector 1 chiều.

Tổng quan về Machine Learning

Machine Learning là thuật ngữ chỉ việc dạy máy tính cải thiện hiệu suất trong các nhiệm vụ qua nhiều lần thực hiện Hệ thống machine learning cho phép máy tính học hỏi từ dữ liệu có sẵn, sử dụng thuật toán để phân tích thông tin và đưa ra quyết định hoặc dự đoán Thay vì lập trình chi tiết cho từng hành động, máy tính tự động cải thiện khả năng thực hiện nhiệm vụ dựa trên kinh nghiệm.

“huấn luyện” bằng cách sử dụng lượng dữ liệu và các thuật toán để học cách thực hiện nhiệm vụ.

Có 2 loại Máy học chính bao gồm học có giám sát (supervised learning) và học không giám sát (unsupervised learning).

Học có giám sát là quá trình trong đó thuật toán tạo ra một hàm ánh xạ dữ liệu để đạt được kết quả mong muốn Một ví dụ điển hình của học có giám sát là bài toán phân loại, trong đó chương trình cần học cách xấp xỉ biểu diễn của một hàm ánh xạ từ một vector đến một số lớp, dựa trên việc phân tích một tập hợp mẫu dữ liệu – kết quả của hàm đó.

- Học không giám sát - mô hình hóa một tập dữ liệu, không có sẵn các ví dụ đã được gắn nhãn.

2.3.2 Một vài ứng dụng của Machine Learning

Google Maps hiện là ứng dụng dẫn đường phổ biến nhất, đặc biệt khi kết hợp với các dịch vụ di chuyển như Grab và Be Ứng dụng này không chỉ cung cấp chỉ đường cho người dùng mà còn cho các nhà cung cấp dịch vụ, phân tích quãng đường tối ưu và thời gian di chuyển nhanh nhất Dữ liệu lịch sử tuyến đường được thu thập theo thời gian, cùng với thông tin từ nhiều nguồn khác, giúp Google tổng hợp dữ liệu lớn về lưu lượng truy cập Người dùng cũng đóng góp thông tin như vị trí, tốc độ trung bình và tuyến đường, làm phong phú thêm kho dữ liệu của Google.

Qua việc sử dụng các thuật toán phân tích phức tạp trong Machine Learning, thông tin trở nên có ý nghĩa và giúp Google dự đoán lưu lượng giao thông sắp tới, từ đó điều chỉnh tuyến đường một cách tối ưu nhất.

- Mạng xã hội Facebook: Một trong những ứng dụng phổ biến nhất của Machine

Facebook sử dụng công nghệ nhận diện khuôn mặt và nhận dạng hình ảnh để tự động đề xuất gắn thẻ bạn bè trên nền tảng của mình Tính năng này hoạt động bằng cách so sánh khuôn mặt trong ảnh với Cơ sở dữ liệu của Facebook, từ đó gợi ý người dùng gắn thẻ những người phù hợp thông qua thuật toán DeepFace.

Trợ lý cá nhân ảo là công cụ hỗ trợ người dùng tìm kiếm thông tin hữu ích thông qua các yêu cầu bằng văn bản hoặc giọng nói Ứng dụng của Machine Learning trong lĩnh vực này rất đa dạng, giúp cải thiện khả năng hiểu và phản hồi của trợ lý.

 Chuyển đổi lời nói thành văn bản

 Xử lý ngôn ngữ tự nhiên

Chuyển đổi văn bản thành giọng nói giúp bạn dễ dàng truy cập thông tin chỉ bằng cách đặt câu hỏi đơn giản như "Lịch trình của tôi vào ngày mai là gì?" hoặc "Có chuyến bay nào sắp tới cho chuyến công tác của tôi?" Trợ lý cá nhân sẽ tìm kiếm thông tin hoặc nhớ lại các truy vấn trước đó để cung cấp câu trả lời chính xác và nhanh chóng.

Phát hiện gian lận là một tính năng quan trọng trong Machine Learning, giúp nhận diện các giao dịch đáng ngờ Khi khách hàng thực hiện giao dịch, mô hình máy học sẽ phân tích hồ sơ của họ để tìm kiếm các mẫu bất thường Trong lĩnh vực này, phát hiện gian lận được xem như một loại phân loại hoạt động, góp phần nâng cao tính an toàn cho các giao dịch.

Thư viện Keras

Keras là một thư viện nơ-ron mã nguồn mở được viết bằng ngôn ngữ lập trình

Python Nó có khả năng chạy trên đầu trang của Tensorflow, Microsoft Cognitive Toolkit,

R, Theano hoặc StripeML Được thiết kế để cho phép thử nghiệm nhanh với các mạng thần kinh sâu, nó tập trung vào việc thân thiện với người dùng, mô-đun và mở rộng.

Keras là một thư viện deep learning 'high-level' với backend có thể là TensorFlow, CNTK hoặc Theano, tuy nhiên Theano sẽ không còn được duy trì Keras có cú pháp đơn giản hơn nhiều so với TensorFlow, giúp người dùng dễ dàng tiếp cận và sử dụng Trong bài viết này, tôi sẽ chọn Keras kết hợp với TensorFlow làm backend để giới thiệu về các mô hình deep learning.

Một số tính năng của Keras:

- Keras ưu tiên trải nghiệm của người lập trình

- Keras đã được sử dụng rộng rãi trong doanh nghiệp và cộng đồng nghiên cứu

- Keras giúp dễ dàng biến các thiết kế thành sản phẩm

- Keras hỗ trợ huấn luyện trên nhiều GPU phân tán

- Keras hỗ trợ đa backend engines và không giới hạn bạn vào một hệ sinh thái.

Thư viện FaceNet

FaceNet là một mạng nơ-ron sâu được phát triển để trích xuất đặc trưng từ hình ảnh khuôn mặt Được công bố vào năm 2015 bởi các nhà nghiên cứu tại Google, FaceNet đã mở ra những ứng dụng mới trong nhận diện khuôn mặt và phân tích hình ảnh.

Hình 7.FaceNet lấy hình ảnh khuôn mặt làm đầu vào và xuất ra vector embedding

FaceNet sử dụng hình ảnh khuôn mặt làm đầu vào và tạo ra một vector 128 chiều, thể hiện các đặc điểm quan trọng nhất của khuôn mặt Trong lĩnh vực học máy, vector này đóng vai trò quan trọng trong việc nhận diện và phân loại khuôn mặt.

Nhúng (embeddings) là quá trình quan trọng trong việc chuyển đổi thông tin từ hình ảnh thành các vector FaceNet thực hiện việc này bằng cách nén khuôn mặt của một người thành một vector gồm 128 số Mỗi khuôn mặt cần được nhận diện cũng sẽ có một nhúng tương tự, giúp lưu trữ và xử lý thông tin một cách hiệu quả.

Facenet là một mạng lưới siam, giúp biểu diễn hình ảnh trong không gian Euclidean n chiều, thường là 128 Mục tiêu của Facenet là giảm khoảng cách giữa các vector embedding, từ đó tăng cường độ tương đồng giữa chúng.

Hầu hết các thuật toán nhận diện khuôn mặt trước Facenet đều sử dụng một layer bottleneck để giảm chiều dữ liệu, nhằm biểu diễn khuôn mặt bằng một vector nhúng (embedding).

Hạn chế của các thuật toán embedding là số chiều thường lớn (thường từ 1000 trở lên), điều này ảnh hưởng đến tốc độ xử lý Để cải thiện hiệu suất tính toán, chúng ta thường cần áp dụng thuật toán PCA nhằm giảm chiều dữ liệu.

Hàm loss function chỉ đánh giá khoảng cách giữa hai bức ảnh, do đó trong quá trình huấn luyện, mô hình chỉ có thể học được một trong hai khả năng: sự giống nhau nếu chúng thuộc cùng một lớp, hoặc sự khác nhau nếu chúng thuộc các lớp khác nhau Điều này dẫn đến việc mô hình không thể đồng thời học cả sự giống nhau và khác nhau trong cùng một lượt huấn luyện.

Facenet đã giải quyết cả 2 vấn đề trên bằng các hiệu chỉnh nhỏ nhưng mang lại hiệu quả lớn:

Mạng cơ sở sử dụng mạng nơ-ron tích chập (convolutional neural network) để giảm chiều dữ liệu xuống còn 128 chiều, giúp tăng tốc quá trình suy diễn và dự báo mà vẫn đảm bảo độ chính xác cao.

Hàm triplet loss được sử dụng làm loss function có khả năng học đồng thời sự tương đồng giữa hai bức ảnh trong cùng một nhóm và phân biệt chúng với các bức ảnh không thuộc nhóm đó Nhờ vào khả năng này, phương pháp này mang lại hiệu quả vượt trội so với các phương pháp trước đây.

Thư viện Sklearn

Scikit-learn (Sklearn) là thư viện hàng đầu cho các thuật toán học máy được phát triển bằng ngôn ngữ Python Thư viện này cung cấp nhiều công cụ hữu ích để xử lý các bài toán học máy hiệu quả.

21 toán machine learning và statistical modeling gồm: classification, regression, clustering, và dimensionality reduction.

Thư viện này kết hợp nhiều thuật toán hiện đại và cổ điển, giúp bạn dễ dàng học hỏi và áp dụng các giải pháp hiệu quả cho bài toán của mình.

Thư viện scikit-learn, được cấp phép bản quyền chuẩn FreeBSD, hỗ trợ nhiều nền tảng Linux và thường được sử dụng làm tài liệu học tập Để cài đặt scikit-learn, trước tiên bạn cần cài đặt thư viện SciPy (Scientific Python).

- Numpy: Gói thư viện xử lý dãy số và ma trận nhiều chiều

- SciPy: Gói các hàm tính toán logic khoa học

- Matplotlib: Biểu diễn dữ liệu dưới dạng đồ thị 2 chiều, 3 chiều

- IPython: Notebook dùng để tương tác trực quan với Python

- SymPy: Gói thư viện các kí tự toán học

- Pandas: Xử lý, phân tích dữ liệu dưới dạng bảng

Thư viện tập trung vào việc mô hình hóa dữ liệu Nó không tập trung vào việc truyền tải dữ liệu, biến đổi hay tổng hợp dữ liệu.

Sau đây là một số nhóm thuật toán được xây dựng bởi thư viện scikit-learn:

- Clustering: Nhóm thuật toán Phân cụm dữ liệu không gán nhãn Ví dụ thuật toán

Kiểm thử chéo, hay còn gọi là Cross Validation, là phương pháp đánh giá hiệu quả của thuật toán học giám sát bằng cách sử dụng dữ liệu kiểm thử trong quá trình huấn luyện mô hình Phương pháp này giúp xác định độ chính xác của mô hình và cải thiện khả năng tổng quát khi áp dụng trên dữ liệu mới.

Các bộ dữ liệu trong thư viện bao gồm nhiều nhóm dữ liệu được tích hợp sẵn, hầu hết đã được chuẩn hóa và tối ưu hóa để đạt hiệu suất cao trong quá trình huấn luyện, như các bộ dữ liệu iris, digit, và nhiều bộ khác.

Dimensionality reduction aims to decrease the number of important features in a dataset through methods such as data representation, feature selection, and aggregation One notable example of this technique is Principal Component Analysis (PCA), which effectively simplifies data while retaining essential information.

Phương pháp tập hợp, hay Ensemble methods, là kỹ thuật sử dụng nhiều thuật toán học máy để cải thiện hiệu suất dự đoán Bằng cách kết hợp các mô hình khác nhau, phương pháp này thường mang lại kết quả tốt hơn so với bất kỳ thuật toán đơn lẻ nào.

- Feature extraction: Trích xuất đặc trưng Mục đích là để định nghĩa các thuộc tình với dữ liệu hình ảnh và dữ liệu ngôn ngữ.

- Feature selection: Trích chọn đặc trưng Lựa chọn các đặc trưng có ý nghĩa trong việc huấn luyện mô hình học giám sát.

- Parameter Tuning: Tinh chỉnh tham số Các thuật toán phục vụ việc lựa chọn tham số phù hợp để tối ưu hóa mô hình.

- Manifold Learning: Các thuật toán học tổng hợp và Phân tích dữ liệu đa chiều phức tạp.

Supervised learning encompasses a wide range of machine learning algorithms designed to make predictions based on labeled data Key examples include linear models, discriminant analysis, naive Bayes, lazy methods, neural networks, support vector machines, and decision trees These algorithms are essential for various applications in data analysis and predictive modeling.

XÂY DỰNG ỨNG DỤNG

Yêu cầu hệ thống

- Thư viện Multi Task Convolutional Neural Network và FaceNet

Các bước thực hiện

Dữ liệu gồm 2200 bức ảnh từ 2 bộ dữ liệu là CelebA và UTK Faces gồm 919 nam và 1281 nữ

Bộ dữ liệu Celeb chủ yếu tập trung vào khuôn mặt của người nổi tiếng, tuy nhiên, độ chính xác của mô hình vẫn chưa cao khi áp dụng cho khuôn mặt của người già và trẻ em Để cải thiện điều này, cần bổ sung thêm 200 ảnh từ UTK Faces.

Phân chia bộ dữ liệu: Trainingset: 80% và Testset: 20%

3.2.2 Cài đặt thư viện Multi Task Convolutional Neural Network để trích xuất khuôn mặt

3.2.3 Cài đặt một số thư viện khác

Để tiết kiệm thời gian cho các lần sử dụng sau, việc lưu trữ các mảng đã chuyển đổi từ ảnh khuôn mặt là cần thiết, vì quá trình trích xuất khuôn mặt và vector embedding sử dụng deep learning thường mất nhiều thời gian thực thi.

Asarray: chuyển ảnh về pixels

Expand_dims: mở rộng chiều cho tương ứng đầu vào của model facenet.

3.2.4 Liên kết Googgle Collab và Google Drive

Lấy toàn bộ dữ liệu huấn luyện, dữ liệu nén

3.2.5 Phân chia bộ train và bộ test

Phân chia bộ train và bộ test để trích xuất khuôn mặt bằng train_test_split do sklearn hỗ trợ theo tỉ lệ train 80% và test 20%

Chuyển đổi tử ảnh sang vector số thực

3.2.7 Kiểm tra độ chính xác

Sử dụng hàm cross_val_score do sklearn hỗ trợ để đánh giá

Dưới đây là kết một vài quả dự đoán chính xác của model.

Hình 8.Kết quả chương trình

Ngày đăng: 20/04/2022, 21:57

HÌNH ẢNH LIÊN QUAN

Hình 1.Deep Learning là gì? 2.1.1.2 Tầm quan trọng của Deep Learning - BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT
Hình 1. Deep Learning là gì? 2.1.1.2 Tầm quan trọng của Deep Learning (Trang 10)
Hình 2.Cách thức hoạt động của Deep Learning - BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT
Hình 2. Cách thức hoạt động của Deep Learning (Trang 11)
Hình 3.Các thuật ngữ Deep Learning 2.1.1.5 Một số ứng dụng của Deep Learning - BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT
Hình 3. Các thuật ngữ Deep Learning 2.1.1.5 Một số ứng dụng của Deep Learning (Trang 12)
Hình 4.Ứng dụng của Deep Learning 2.1.2 Bài toán nhận dạng khuôn mặt trong thị giác máy tính - BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT
Hình 4. Ứng dụng của Deep Learning 2.1.2 Bài toán nhận dạng khuôn mặt trong thị giác máy tính (Trang 15)
Hình 5.Hệ thống nhận diện khuôn mặt - BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT
Hình 5. Hệ thống nhận diện khuôn mặt (Trang 16)
Hình 6.Kiến trúc CNN trong nhận diện hành động con người - BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT
Hình 6. Kiến trúc CNN trong nhận diện hành động con người (Trang 21)
Hình 7.FaceNet lấy hình ảnh khuôn mặt làm đầu vào và xuất ra vector embedding - BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT
Hình 7. FaceNet lấy hình ảnh khuôn mặt làm đầu vào và xuất ra vector embedding (Trang 24)
Hình 8.Kết quả chương trình - BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT
Hình 8. Kết quả chương trình (Trang 34)
1-Bảng số liệu: - BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT
1 Bảng số liệu: (Trang 47)
-Tính sai số tương đối Rxi cho từng lần đo rồi ghi vào bảng số liệu - BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT
nh sai số tương đối Rxi cho từng lần đo rồi ghi vào bảng số liệu (Trang 50)
2. Bảng 2: Xác định dung kháng Zc và điện dung Cx. - BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT
2. Bảng 2: Xác định dung kháng Zc và điện dung Cx (Trang 51)
2. Bảng 2: Xác định dung kháng Zc và điện dung Cx. - BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT
2. Bảng 2: Xác định dung kháng Zc và điện dung Cx (Trang 51)
3- Bảng 3: Xác định cảm khán g, độ tự cảm (cuộn dây không lõi sắt) - BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT
3 Bảng 3: Xác định cảm khán g, độ tự cảm (cuộn dây không lõi sắt) (Trang 53)
-Tính giá trị trung bình của độ tự cảm (bảng) - BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT
nh giá trị trung bình của độ tự cảm (bảng) (Trang 53)
4- Bảng 4: Xác định tần số cộng hưởng fo - BÁO CÁO ĐỒ ÁN CƠ SỞ 4 ĐỀ TÀI XÂY DỰNG CHƯƠNG TRÌNH NHẬN DẠNG GIỚI TÍNH THÔNG QUA ẢNH KHUÔN MẶT
4 Bảng 4: Xác định tần số cộng hưởng fo (Trang 54)

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w