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

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

32 15 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 Đà Nẵng
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 32
Dung lượng 1,19 MB

Cấu trúc

  • Chương 1 GIỚI THIỆU (6)
    • 1.1 Tổng Quan (6)
      • 1.1.1 Mở đầu (6)
      • 1.1.2 Mục tiêu của chuyên đề (6)
      • 1.1.3 Đối tượng nghiên cứu (7)
      • 1.1.4 Phạm vi nghiên cứu (7)
    • 1.2 Phương pháp – kết quả (7)
      • 1.2.1 Phương pháp (7)
      • 1.2.2 Kết quả (7)
    • 1.3 Cấu Trúc đồ án (7)
  • Chương 2 CƠ SỞ LÝ THUYẾT (9)
    • 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 (9)
      • 2.1.1 Tổng quan về Deep Learning (9)
      • 2.1.2 Bài toán nhận dạng khuôn mặt trong thị giác máy tính (15)
    • 2.2 Giới thiệu Convolutional Neural Network (17)
      • 2.2.1 Tổng quan (17)
      • 2.2.2 Kiến trúc CNN (18)
    • 2.3 Tổng quan về Machine Learning (19)
      • 2.3.1 Machine Learning là gì ? (19)
      • 2.3.2 Một vài ứng dụng của Machine Learning (19)
    • 2.4 Thư viện Keras (20)
    • 2.5 Thư viện FaceNet (21)
    • 2.6 Thư viện Sklearn (22)
  • Chương 3 XÂY DỰNG ỨNG DỤNG (25)
    • 3.1 Yêu cầu hệ thống (25)
      • 3.1.1 Phần cứng (25)
      • 3.1.2 Môi trường thực hiện (25)
    • 3.2 Các bước thực hiện (25)
      • 3.2.1 Mô tả dữ liệu (0)
      • 3.2.2 Lựa chọn model (0)
      • 3.2.3 Kết quả đạt được (0)
      • 3.2.4 Tinh chỉnh tham số (0)
      • 3.2.5 Test (0)
  • Chương 4 KẾT LUẬN (30)
    • 4.1 Kết quả (30)
    • 4.2 Ưu điểm - nhược điểm (30)
    • 4.3 Hướng phát triển (31)
  • TÀI LIỆU THAM KHẢO (32)

Nội dung

GIỚI THIỆU

Tổng Quan

Hiện nay, an ninh bảo mật đang trở thành một yêu cầu quan trọng trên toàn cầu, dẫn đến sự phát triển mạnh mẽ 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 và thu thập thông tin từ hình ảnh mà không cần tác động đến đố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 nhiều yêu cầu hiện tại.

Trong đồ án này, chúng em tập trung vào bài toán nhận dạng offline, nơi các đối tượng được thu thập thành file dữ liệu và chuyển về trung tâm để phân tích Phần đầu của nghiên cứu sẽ giải quyết bài toán nhận dạng thông thường, trong khi phần hai sẽ tập trung vào 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ừ bức ảnh đầu vào, sau đó áp dụng mô hình đã được huấn luyện trước FaceNet để giảm chiều dữ liệu của các vector biểu diễn khuôn mặt xuống còn 128 chiều Cuối cùng, các thuật toán Machine Learning được sử dụng để huấn luyện mô hình và chọn ra mô hình tốt nhất.

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

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

5 download by : skknchat@gmail.com

- 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:

6 download by : skknchat@gmail.com

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.

7 download by : skknchat@gmail.com

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ó khám phá nhiều lớp trong mạng nơ-ron, bao gồm cả lớp ẩn Khi quá trình học diễn ra sâu hơn, khả năng trích xuất thông tin phức tạp từ dữ liệu cũng tăng lê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 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ố cốt lõi của 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 Qua Deep Learning, máy móc có khả năng xử lý các tệp hình ảnh, văn bản và âm thanh để thực hiện các tác vụ tương tự như con người.

8 download by : skknchat@gmail.com

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 thuận tiện hơn Xu hướng này hứa hẹ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 mạnh mẽ 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 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 lớn và tính khả dụng của nó để tối ưu hóa quy trình học tập Tất cả thông tin thu thập từ dữ liệu này đượ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 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, từ đó dẫn đến kết luận đáng tin cậy Deep learning sẽ tiếp tục ảnh hưởng mạnh mẽ đến cả lĩnh vực kinh doanh và cá nhân, đồng thời mở ra nhiều cơ hội việc làm trong tương lai.

9 download by : skknchat@gmail.com

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

Deep learning là phương pháp dạy máy móc bắt chước trí thông minh 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 Khi nâng cao cấp độ, thông tin sẽ tiếp tục phát triển và được kết hợp với kiến thức đã học từ cá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 cấp độ phân cấp, để tạo ra tư duy logic phức tạp.

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

10 download by : skknchat@gmail.com

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 những trải nghiệm người dùng cá nhân hóa Các trợ lý này không ngừng học hỏi và cải thiện để phục vụ nhu cầu của bạn một cách tốt nhất.

SKKN Chat mang đến trải nghiệm tương tác độc đáo bằng cách nhận diện giọng nói và ngữ điệu của bạn thông qua công nghệ mạng nơ-ron sâu Trợ lý ảo này không chỉ giúp bạn mua sắm, điều hướng và ghi chú, mà còn chuyển đổi chúng thành văn bản và hỗ trợ đặt lịch hẹn cho thẩm mỹ viện.

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ệ điện thoại khỏi việc mở khóa không mong muốn 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 Khi 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ừ đó thuật toán sẽ xác định xem đó có phải là người dùng thực sự hay khô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ư mạnh vào công nghệ Deep Learning Hệ thống đề xuất phim và sản phẩm được xây dựng dựa trên các mẫu hành vi của người dùng, giúp tạo ra trải nghiệm mua sắm và giải trí độc đáo Các doanh nghiệp này phát triển mạnh nhờ khả năng cung cấp tùy chọn phù hợp với sở thích cá nhân, lịch sử duyệt web, và các mối quan hệ với thương hiệu, diễn viên, nghệ sĩ mà người dùng yêu thích.

Xử lý ngôn ngữ tự nhiên (NLP) là công nghệ quan trọng giúp nâng cao khả năng của trí tuệ nhân tạo (AI), từ đó cải thiện tính hiệu quả và sự tinh tế trong các ứng dụng Các tổ chức hiện đang áp dụng học sâu để phát triển các tính năng phức tạp trong NLP Những ứ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 Điều này cho thấy rằng nhiều công việc hiện tại liên quan đến chuyên môn ngôn ngữ và viết lách sẽ sớm trở nên không cần thiết do sự tiến bộ của công nghệ.

Chăm sóc sức khỏe đang trải qua sự chuyển mình mạnh mẽ với sự xuất hiện của công nghệ, từ trợ lý ảo đến các bài tập phục hồi sức khỏe, giúp thu thập dữ liệu sinh lý và tinh thần của bệnh nhân Các công nghệ tiên tiến như phát hiện sớm bệnh, hình ảnh định lượng, phẫu thuật robot và công cụ hỗ trợ quyết định đã trở thành những yếu tố then chốt trong lĩnh vực này Trong khi đó, lĩnh vực ô tô tự lái cũng đang phát triển nhanh chóng, với Uber AI Labs tại Pittsburgh dẫn đầu trong việc hiện thực hóa giấc mơ xe tự lái Nhờ vào deep learning, các xe tự lái đang ngày càng cải thiện khả năng điều hướng thông qua việc xử lý hàng triệu tình huống, đảm bảo mang lại chuyến đi an toàn và thoải mái cho người dùng Dữ liệu từ cảm biến, GPS và lập bản đồ địa lý được tích hợp để tạo ra các mô hình chính xác, giúp xe nhận diện đường đi, biển báo và các yếu tố giao thông.

Học sâu đang phát triển nhanh chóng và sẽ sớm có khả năng tạo ra văn bản gốc, bao gồm cả thơ ca Các công nghệ này sử dụng bộ dữ liệu lớn từ internet và các tác phẩm văn học nổi tiếng như Shakespeare để mô phỏng sự sáng tạo của con người Chúng có khả năng hoàn thiện chính tả, dấu câu, ngữ pháp, văn phong và giọng điệu, tạo ra những sản phẩm văn bản chất lượng cao Những chú thích và tiêu đề tự động trên nhiều nền tảng hiện nay là minh chứng cho tiềm năng của công nghệ này 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, đối tượng và phân tích chữ viết tay Công nghệ này dựa trên trí tuệ nhân tạo và học máy, cho phép máy tính nhận diện nội dung trong hình ảnh Ngoài ra, các ứng dụng như tô màu hình ảnh đen trắng và thêm âm thanh vào phim câm cũng đang được phát triển, thể hiện sự tiến bộ của các nhà khoa học dữ liệu trong lĩnh vực này.

13 download by : skknchat@gmail.com

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

Nhận dạng khuôn mặt (Face Recognition) là một phương pháp sinh trắc học nhằm xác định hoặc xác minh danh tính cá nhân thông qua việc so sánh hình ảnh chụp trực tiếp hoặc hình ảnh kỹ thuật số với các bản ghi đã lưu trữ Phương pháp này thuộc lĩnh vực nghiên cứu của sinh trắc học (Biometrics), tương tự như nhận dạng vân tay (Fingerprint Recognition) và nhận dạng mống mắt (Iris Recognition).

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 kết hợp với các lớp kết nối, được thiết kế để khai thác cấu trúc 2 chiều của hình ảnh hoặc tín hiệu Kiến trúc này sử dụng 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 trong những lợi ích nổi bật của CNN là dễ dàng huấn luyện và có ít tham số hơn so với các mạng nơron kết nối đầy đủ với số lượng đơn vị ẩn tương đương.

16 download by : skknchat@gmail.com

Mạng nơ-ron tích chập (CNN) bao gồm nhiều 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à một hình ảnh có kích thước m x m x r, trong đó m là chiều cao và chiều rộng, và r là số kênh (ví dụ, một ảnh RGB có r = 3) Lớp chập sử dụng k bộ lọc với kích thước n, nhỏ hơn kích thước hình ảnh, và q có thể bằng hoặc nhỏ hơn số kênh r Các bộ lọc này tạo ra k bản đồ đặc trưng có kích thước m – n + 1 thông qua quá trình xoắn với hình ảnh Mỗi bản đồ đặc trưng sau đó được lấy mẫu con bằng cách áp dụng phép 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

Trong quá trình xử lý hình ảnh, các bộ lọc huấn luyện và bias bổ sung được sử dụng để chập hình ảnh đầu vào, tạo ra nhiều bản đồ đặc trưng trong lớp C1 Mỗi bản đồ đặc trưng trong lớp S2 được tổng hợp từ các bản đồ tương ứng trong lớp C1 Quy 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 sau khi tổng hợp cực đại trong lớp S4 được mã hóa thành một vector một chiều để phục vụ cho bước nhận diện.

17 download by : skknchat@gmail.com

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ụ thông qua việc học hỏi từ dữ liệu Hệ thống machine learning có khả năng nâng cao hiệu quả thực hiện nhiệm vụ sau nhiều lần lặp lại Cụ thể, nó sử dụng các thuật toán để phân tích thông tin, từ đó đưa ra quyết định hoặc dự đoán liên quan Thay vì lập trình chi tiết cho từng hành động, máy tính được "huấn luyện" bằng dữ liệu và thuật toán để tự động 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 mà thuật toán xây dựng 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 phải học cách xấp xỉ một hàm ánh xạ từ một vector đến các lớp khác nhau bằng cách phân tích các mẫu dữ liệu và kết quả tương ứng 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 phổ biến nhất trong việc điều hướng giao thông, đặc biệt khi các dịch vụ như Grab và Be ngày càng phát triển Ứ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ụ, giúp 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ử về các tuyến đường được thu thập theo thời gian, kết hợp với thông tin từ nhiều nguồn khác, tạo nên một hệ thống dữ liệu lớn về lưu lượng giao thông Người dùng đóng góp thông tin về vị trí, tốc độ trung bình và tuyến đường, góp phần làm phong phú thêm cơ sở dữ liệu của Google.

Thông qua các thuật toán phân tích phức tạp trên Machine Learning, thông tin từ 18 download bởi skknchat@gmail.com trở nên có ý nghĩa, giúp Google dự đoán lưu lượng truy cập sắp tới và điều chỉnh tuyến đường của bạn 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 hình ảnh với cơ sở dữ liệu của người dùng, từ đó đưa ra gợi ý gắn thẻ chính xác nhờ vào công nghệ DeepFace.

Trợ lý cá nhân ảo giúp 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 đóng vai trò quan trọng, nâng cao khả năng tương tác và đáp ứng nhu cầu thông tin của người dùng.

 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

Để biết thông tin cần thiết, bạn chỉ cần đặ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 của bạn sẽ tìm kiếm thông tin hoặc ghi nhớ các truy vấn trước đó để cung cấp câu trả lời chính xác.

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ờ Mô hình máy học sẽ phân tích kỹ lưỡng hồ sơ của khách hàng mỗi khi họ thực hiện giao dịch, nhằm 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 dạng phân loại hoạt động.

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.

19 download by : skknchat@gmail.com

Keras là một thư viện deep learning cấp cao, sử dụng các backend như TensorFlow, CNTK, hoặc Theano (nhưng Theano sẽ không còn được cập nhật) 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à áp 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.

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 lưới thần kinh sâu được phát triển bởi các nhà nghiên cứu của Google vào năm 2015, nhằm mục đích trích xuất các đặc trưng từ hình ảnh khuôn mặt của con người.

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à chuyển đổi thành một vector 128 chiều, đại diện cho 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 được gọi là nhúng (embeddings) Việc nhúng là cần thiết vì nó chứa tất cả thông tin quan trọng từ hình ảnh Cụ thể, FaceNet nén khuôn mặt thành một vector gồm 128 số, và khuôn mặt cần được nhận diện cũng sẽ có nhúng tương tự.

Facenet là một mạng siam có khả năng biểu diễn hình ảnh trong không gian Euclidean n chiều (thường là 128 chiều), giúp tối ưu hóa khoảng cách giữa các vector embedding Điều này đồng nghĩa với việc khoảng cách nhỏ hơn giữa các vector sẽ tương ứng với mức độ tương đồng cao hơn giữa các bức ảnh.

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 vector nhúng (embedding) để biểu diễn khuôn mặt, thông qua một layer bottle neck nhằm giảm chiều dữ liệu.

Các thuật toán embedding thường gặp hạn chế về số lượng chiều 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 tốc độ tính toán, thường cần áp dụng thêm thuật toán PCA nhằm giảm chiều dữ liệu.

Hàm loss function chỉ đo lường khoảng cách giữa hai bức ảnh, cho phép mô hình học được hai khả năng: sự giống nhau nếu chúng thuộc cùng một lớp và sự khác nhau nếu chúng thuộc các lớp khác Tuy nhiên, trong một lượt huấn luyện, mô hình chỉ có thể học một trong hai khả năng này mà không thể cùng lúc nắm bắt cả sự giống nhau và khác nhau.

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 để giảm chiều dữ liệu xuống còn 128 chiều, giúp tăng tốc độ 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 hàm mất mát, giúp học được sự tương đồng giữa hai bức ảnh trong cùng một nhóm và phân biệt các bức ảnh không cùng nhóm 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 trên nền tả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 một cách hiệu quả.

21 download by : skknchat@gmail.com 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à tìm ra các giải pháp hiệu quả cho vấn đề của mình.

Thư viện scikit-learn, được cấp phép bản quyền chuẩn FreeBSD, tương thích với nhiều nền tảng Linux và thường được sử dụng như 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 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.

Các bộ dữ liệu là tập hợp các dữ liệu được tích hợp sẵn trong thư viện, giúp người dùng dễ dàng truy cập và sử dụng Hầu hết các bộ dữ liệu này đã được chuẩn hóa, mang lại hiệu suất cao trong quá trình huấn luyện, chẳng hạn như bộ dữ liệu iris và digit.

Dimensionality reduction aims to decrease the number of significant attributes in a dataset through techniques such as data representation, feature selection, and aggregation A notable example of this is the Principal Component Analysis (PCA) algorithm, which effectively simplifies complex data while retaining essential information.

22 download by : skknchat@gmail.com

Phương pháp tập hợp (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, vượt trội hơn so với bất kỳ thuật toán đơn lẻ nào trong tập hợp.

- 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 array of machine learning algorithms, including linear models, discriminant analysis, naive Bayes, lazy methods, neural networks, support vector machines, and decision trees.

23 download by : skknchat@gmail.com

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 trên khuôn mặt người già và trẻ em vẫn còn hạn chế Do đó, cần bổ sung thêm 200 ảnh từ UTK Faces để cải thiện độ chính xác của mô hình.

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

24 download by : skknchat@gmail.com

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

Để tiết kiệm thời gian cho những lần sử dụng sau, chúng ta sử dụng Savez_compressed để lưu lại các mảng đã chuyển đổi từ ảnh khuôn mặt, vì quá trình trích xuất khuôn mặt và vector embedding bằng deep learning thường tốn nhiều thời gian Đồng thời, Asarray được sử dụng để chuyển đổi ảnh thành định dạng 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

25 download by : skknchat@gmail.com

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

26 download by : skknchat@gmail.com

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

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

27 download by : skknchat@gmail.com

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

28 download by : skknchat@gmail.com

Ngày đăng: 21/04/2022, 06:58

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 18)
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 21)
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 29)

TỪ KHÓA LIÊN QUAN

w