• Tidak ada hasil yang ditemukan

BÁO CÁO ĐỒ ÁN CƠ SỞ 5: ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT

Phạm Hưng

Academic year: 2023

Membagikan " BÁO CÁO ĐỒ ÁN CƠ SỞ 5: ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT"

Copied!
32
0
0

Teks penuh

Khuôn mặt đóng một vai trò quan trọng trong giao tiếp giữa con người với con người và cũng chứa rất nhiều thông tin, chẳng hạn như có thể xác định giới tính, tuổi tác, trạng thái cảm xúc của một người, v.v. Hơn nữa, nghiên cứu chuyển động trên khuôn mặt có thể cho biết người đó đang cố gắng làm gì nói. Trong hệ thống nhận dạng con người, quá trình nhận dạng khuôn mặt được coi là bước khó khăn và quan trọng nhất so với các phần còn lại của hệ thống. Nhận dạng khuôn mặt con người là công nghệ được sử dụng rộng rãi trong cuộc sống hàng ngày của con người, như hệ thống giám sát, kiểm soát truy cập, tìm kiếm thông tin đã biết, v.v.

Cách tiếp cận nhận dạng đối tượng này cho phép chúng ta thu được nhiều thông tin hơn về đối tượng, không tác động nhiều đến đối tượng mà vẫn đảm bảo tính chính xác, an toàn và tiện lợi. Trong bối cảnh của báo cáo này, chúng tôi muốn trình bày quá trình triển khai hiện diện nhận dạng khuôn mặt thông qua thư viện opencv. Chúng em xin cảm ơn các thầy cô Khoa Công nghệ thông tin và Truyền thông Đại học Đà Nẵng đã giảng dạy trong quá trình học tập, thực tập và làm bài tập giúp em hiểu rõ hơn về nội dung học tập và những hạn chế. vượt qua trong quá trình học tập, nghiên cứu và thực hiện đồ án này.

GIỚI THIỆU TỔNG QUAN

  • Tổng quan về nhận diện khuôn mặt
  • Phân tích bài toán
  • Các công cụ
    • PyThon
    • Thư viện OpenCV
    • Visual Studio Code
    • Thư viện Tkinter
    • Mysql
  • Phương pháp giải quyết
  • Cấu trúc báo cáo

Ngoài ra còn có các giải pháp đi kèm với thiết bị phần cứng, hầu hết đều là nguồn đóng và được tùy chỉnh cho từng thiết bị nên việc mở rộng ứng dụng gặp khó khăn. OpenCV là một công cụ chuyên dụng: được Intel phát triển theo hướng tối ưu hóa cho các ứng dụng xử lý và phân tích hình ảnh, với cấu trúc dữ liệu hợp lý, thư viện tạo giao diện, truy cập phần cứng tích hợp. Visual Studio Code là trình soạn thảo mã được phát triển bởi Microsoft cho Windows, Linux và macOS.

Ngoài Tkinter, còn có một số công cụ khác giúp tạo ứng dụng GUI viết bằng Python, chẳng hạn như wxPython, PyQt và PyGTK. MySQL là hệ thống quản lý cơ sở dữ liệu nguồn mở và miễn phí phổ biến nhất trên thế giới và rất được các nhà phát triển ưa chuộng trong việc phát triển ứng dụng. Với tốc độ cao và tính bảo mật cao, MySQL rất phù hợp cho các ứng dụng truy cập cơ sở dữ liệu trên Internet.

THUẬT TOÁN NHẬN DẠNG

  • Phát hiện khuôn mặt
    • Vấn đề
    • Tìm tất cả khuôn mặt có trong ảnh
  • Đổi góc độ và chiều cho khuôn mặt
  • Mã hóa khuôn mặt
  • Tìm tên người từ hình ảnh đã được mã hóa

Mục đích của bước này là để chúng ta tìm ra vị trí của các khuôn mặt trong ảnh trước khi có thể phân biệt chúng và chuyển sang bước tiếp theo. Nhưng chúng tôi sử dụng nó cho mục đích khác, tìm vị trí của khuôn mặt trong ảnh và gửi kết quả đó đến bước tiếp theo trong quy trình. Chúng tôi sử dụng một phương pháp được phát minh vào năm 2005 có tên là "Biểu đồ độ dốc định hướng" (rút gọn thành HOG).

Tiếp theo, chúng ta sẽ vẽ một mũi tên theo hướng màu trở nên đậm hơn. Nhưng việc lưu trữ gradient cho từng pixel riêng lẻ lại cho chúng ta quá nhiều chi tiết. Điều này sẽ giúp việc so sánh khuôn mặt ở các bước tiếp theo dễ dàng hơn nhiều.

Để làm điều này, chúng tôi sẽ sử dụng một thuật toán có tên là Ước tính điểm ngày khuôn mặt. Bây giờ, dù quay mặt như thế nào, chúng ta cũng có thể tập trung mắt và miệng vào cùng một vị trí trong ảnh. Điều này sẽ làm cho bước tiếp theo của chúng tôi chính xác hơn nhiều.

Bây giờ chúng ta đang ở trọng tâm của vấn đề - thực sự đang nói chuyện với những khuôn mặt khác nhau. Khi chúng tôi tìm thấy một khuôn mặt được gắn thẻ trước đó trông rất giống với khuôn mặt chưa biết của chúng tôi thì đó phải là cùng một người. Những gì chúng ta cần là một cách để lấy được một số phép đo cơ.

Vì vậy, tất cả những gì chúng ta phải làm là chạy hình ảnh khuôn mặt của mình thông qua một mạng được đào tạo trước để có số đo 128. Tất cả những gì chúng ta quan tâm là mạng tạo ra con số gần như giống nhau khi chúng ta nhìn vào hai hình ảnh khác nhau của cùng một người. Tất cả những gì chúng ta cần làm là đào tạo một bộ phân loại có thể thực hiện các phép đo từ một hình ảnh thử nghiệm mới và cho biết đó là hình ảnh nào.

Hình 2.2 : Mục tiêu bước 1
Hình 2.2 : Mục tiêu bước 1

TRIỂN KHAI CHƯƠNG TRÌNH

Cài đặt môi trường

  • Python và Visual studio

Sau khi cài đặt xong môi trường chúng ta tiến hành cài đặt các thư viện để sử dụng (dùng lệnh pip của python).

Nắm rõ vấn đề

Giao diện chương trình

Vui lòng điền thông tin vào đây và thông tin đã nhập sẽ được lưu trữ trong cơ sở dữ liệu. Sau khi có tài khoản bạn nhấn vào “Đăng nhập” để đăng nhập vào hệ thống. Chức năng đầu tiên là thêm, chỉnh sửa, xóa dữ liệu và dữ liệu được thêm vào lưu trữ cho mỗi ID một nhóm hình ảnh màu xám để phát triển khuôn mặt.

Để biết hệ thống sau khi nhận ảnh đã lưu hình ảnh bạn bấm vào chức năng thứ 2 để xem. Sau đó, chúng tôi lấy tất cả dữ liệu người dùng từ tập dữ liệu chúng tôi có ở trên và huấn luyện dữ liệu với hàm trong OpenCv bằng cách nhấp vào chức năng 3. Để nhận dạng khuôn mặt theo người nào, chúng tôi nhấp vào chức năng thứ 4.

Bây giờ chúng ta sẽ nhận dạng chính mình bằng một hình ảnh được camera chụp trực tiếp và kết quả trả về là ID và tên của chủ nhân khuôn mặt đó cùng với độ tin cậy của nhận dạng. Ngược lại, nếu khuôn mặt là camera thì trả về "Unknown" không xác định, khi nhận diện khuôn mặt hệ thống sẽ xuất ra file excel thông tin thời gian, nếu báo "có" nghĩa là người đó đã được ghi lại trong và hiện tại Chức năng tiếp theo là đổi mật khẩu, ở đây chúng ta điền thông tin đăng nhập cũ và nhập “mật khẩu mới” để đổi mật khẩu.

Nếu thông báo thành công thì hệ thống sẽ tự động đăng xuất và đăng nhập lại bằng mật khẩu mới, nếu không thì kiểm tra tài khoản và mật khẩu cũ có trùng khớp không và đăng nhập trước đó. Khi tham dự xong hệ thống có thể nhấn biểu tượng thoát để thoát.

Hình 3.5: Đăng kí
Hình 3.5: Đăng kí

Kết luận và hướng phát triển

Kết Luận

  • Tại sao nhận dạng khuôn mặt là một việc khó ?

Hướng phát triển

  • Cá nhân hóa trải nghiệm
  • An ninh sân bay và quản lí an ninh biên giới
  • Chăm sóc sức khỏe
  • Thanh toán không dùng thẻ
  • Ngành du lịch
  • Công nghệ thông minh
  • Quảng cáo digital

Gần đây, Delta Airlines đã triển khai công nghệ xác thực khuôn mặt tại sân bay Atlanta. Đến cuối năm 2020, Delta dự kiến ​​sẽ triển khai nhận dạng khuôn mặt tại hơn 20 sân bay để cải thiện hành trình của khách hàng. Khách hàng sẽ có thể sử dụng khuôn mặt của họ để đăng nhập, đăng nhập, đăng ký và lên tàu.

Tuy nhiên, mặc dù đã nảy sinh những lo ngại về việc sử dụng nhận dạng khuôn mặt để nhận dạng tại sân bay, tuy nhiên, 73% khách hàng cho biết họ sẽ cảm thấy thoải mái khi sử dụng công nghệ sau chuyến đi thông qua hệ thống nhận dạng khuôn mặt của Delta. Ngành y tế đang đầu tư nhiều hơn vào công nghệ nhận dạng khuôn mặt để tăng cường bảo mật và cải thiện trải nghiệm của bệnh nhân. Lĩnh vực thanh toán không dùng tiền mặt ngày càng phát triển, đặc biệt là ở Trung Quốc với các hệ thống như AliPay, WePay.

Hệ thống thanh toán nhận dạng khuôn mặt sẽ liên kết thẻ tín dụng của bạn. Khi đặt phòng khách sạn trực tuyến hoặc trực tiếp, khách hàng có thể đăng ký bằng khuôn mặt của mình. Sử dụng công nghệ nhận dạng khuôn mặt sẽ giảm 40% thời gian nhận phòng.

Dự kiến ​​đến năm 2020 công nghệ nhận diện khuôn mặt sẽ được phát triển ở khắp mọi nơi từ đặt vé máy bay cho đến nhận phòng tại các khu nghỉ dưỡng. Với sự ra mắt FaceID của Apple, điện thoại thông minh đã trở thành một lĩnh vực chính mà công nghệ nhận dạng khuôn mặt đang được triển khai. Giải pháp này cũng đang dần trở nên phổ biến trong các dạng công nghệ thông minh khác như TV thông minh và hệ thống an ninh nhà thông minh.

Các nhà bán lẻ đang tìm cách cá nhân hóa trải nghiệm tại cửa hàng cho người mua hàng. Nhận dạng khuôn mặt được sử dụng để xác định cá nhân và nhân khẩu học của khách hàng (giới tính, độ tuổi, v.v.), sau đó đưa ra các chiến dịch và nội dung phù hợp với thông tin được phân tích.

Gambar

Hình 2.1: Hình dung các khuôn mặt từ vật thể
Hình 2.2 : Mục tiêu bước 1
Hình 2.4 Ảnh output bước 1
Hình 2.3 : Ảnh input bước 1
+7

Referensi

Dokumen terkait