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

Báo cáo pbl5 – dự Án kỹ thuật máy tính mở cửa bằng nhận diện khuôn mặt và chống giả mạo khuôn mặt

43 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Định dạng
Số trang 43
Dung lượng 4,71 MB

Nội dung

Các phương pháp bảo mật truyền thông như mã số đã không còn đáp ứng được yêu cầu cao về an ninh, dễ dàng bị xâm nhập và phá hoại.Trước tình hình đó, việc ứng dụng công nghệ nhận diện khu

Trang 1

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO PBL5 – DỰ ÁN KỸ THUẬT MÁY TÍNH

MỞ CỬA BẰNG NHẬN DIỆN KHUÔN MẶT VÀ CHỐNG GIẢ

MẠO KHUÔN MẶT

SINH VIÊN THỰC HIỆN:

GIẢNG VIÊN HƯỚNG DẪN: TS NINH KHÁNH DUY

Trang 2

TÓM TẮT

Trong thời đại công nghệ số hiện nay, an ninh và bảo mật là những vấn đề quantrọng được đặt lên hàng đầu Các phương pháp bảo mật truyền thông như mã số đã không còn đáp ứng được yêu cầu cao về an ninh, dễ dàng bị xâm nhập và phá

hoại.Trước tình hình đó, việc ứng dụng công nghệ nhận diện khuôn mặt vào hệ thống kiểm soát truy cập đang trở thành một giải pháp tiên tiến và hiệu quả

Nhận diện khuôn mặt là một công nghệ cho phép xác định hoặc xác thực danh tính của một cá nhân bằng cách sử dụng các đặc điểm khuôn mặt Đề tài "Nhận Diện Khuôn Mặt Để Mở Cửa Và Chống Giả Mạo" tập trung vào việc phát triển một hệ thống bảo mật sử dụng công nghệ này nhằm tăng cường an ninh cho các tòa nhà, văn phòng, nhà ở và các khu vực yêu cầu mức độ bảo vệ cao

Hệ thống nhận diện khuôn mặt để mở cửa và chống giả mạo không chỉ đảm bảo rằng chỉ những người được phép mới có thể truy cập vào khu vực được bảo vệ, mà cònngăn chặn các hành vi gian lận và giả mạo Điều này đạt được thông qua việc sử dụng các thuật toán học sâu (deep learning) và trí tuệ nhân tạo (AI) để phân tích và xác minhcác đặc điểm khuôn mặt một cách chính xác và nhanh chóng

Báo cáo này sẽ trình bày chi tiết các bước thực hiện, từ giai đoạn khảo sát nhu cầu, phân tích yêu cầu, thiết kế hệ thống, cho đến quá trình thử nghiệm và đánh giá kếtquả

Trang 3

BẢNG PHÂN CÔNG NHIỆM VỤ

STT Sinh viên thực hiện Các nhiệm vụ Tự đánh giá

1

Hoàng Chiến Thắng

- Lọc dữ liệu, chia thành các tập huấn luyện và kiểm thử

- Huấn luyện và thử nghiệm

mô hình nhận diện khuôn mặt

- Huấn luyện và thử nghiệm

mô hình phát hiên giả mạo

- Ghép nối và thử nghiệm sản phẩm

Đã hoàn thành

2 Lê Thanh Việt - Lọc dữ liệu, chia thành các

tập huấn luyện và kiểm thử

- Huấn luyện và thử nghiệm

mô hình phát hiên giả mao

- Huấn luyện và thư nghiệm

mô hình nhận diện giả mạo

- Ghép nối và thử nghiệm sản phẩm

- Lập trình phần cứng

- Thiết kế mô hình phần cứng

Đã hoàn thành

Bảng 1: Phân công nhiệm vụ

Trang 4

MỤC LỤC

1 GIỚI THIỆU 8

2 GIẢI PHÁP 8

2.1 Giải pháp phần cứng và truyền thông 9

2.1.1 Giải pháp phần cứng 9

2.1.2 Giải pháp truyền thông 17

2.1.3 Lưu trữ dữ liệu sử dụng Firebase 18

2.2 Giải pháp TTNT/KHDL 20

2.2.1 Mô hình tổng quan 20

2.2.2 Mô hình nhận diện khuôn mặt Face Detector 21

2.2.3 Trích xuất đặc trưng gương mặt bằng Facenet 22

2.3 Giải pháp phần mềm 26

2.3.1 Flash Framework 26

2.3.2 App mobile 28

3 KẾT QUẢ 33

3.1 Nhận diện khuôn mặt 33

3.1.1 Tập dữ liệu 33

3.1.2 Huấn luyện 33

3.1.3 Kiểm thử 34

3.1.4 Tốc độ thực thi 36

3.2 Nhận diện giả mạo 36

3.2.1 Tập dữ liệu 36

3.2.2 Huấn luyện 37

3.2.4 Tốc độ thực thi 40

4 KẾT LUẬN 42

4.1 Đánh giá 42

4.2 Hướng phát triển 42

TÀI LIỆU THAM KHẢO 43

Trang 5

DANH SÁCH BẢNG BIỂU

Bảng 1: Phân công nhiệm vụ 3

Bảng 2: Tổng quan giải pháp 8

Bảng 3: Thông số kỹ thuật của Esp32 camera 10

Bảng 4: Thông số kỹ thuật của khóa chốt điện từ 12

Bảng 5: Sơ đồ đấu nối của khóa chốt điện từ 12

Bảng 6: Thông số kỹ thuật của cảm biến tiệm cận 13

Bảng 7: Sơ đồ đấu nối của cảm biến tiệm 14

Bảng 8: Thông số kỹ thuật của Relay 5V 14

Bảng 9: Sơ đồ chân 15

Bảng 10: Thông số kỹ thuật của cảm biến ánh sáng 15

Bảng 11: Sơ đồ chân cảm biến ánh sáng 16

Bảng 12: Chi phí 17

Bảng 13: Tổng hợp Api của hệ thống 27

Bảng 14: Các thông số đánh giá mô hình 36

Bảng 15: Kết quả kiểm thử nhận diện gương mặt 36

Bảng 16: Tốc độ thực thi nhận diện gương mặt 39

Bảng 17: Bảng đánh giá hiệu suất mô hình 40

Bảng 18: Kết quả kiểm thử giả mạo gương mặt 41

Bảng 19: Tốc độ thực thi nhận diện gương mặt 41

Trang 6

DANH SÁCH HÌNH ẢNH

Hình 1: Sơ đồ IoT 9

Hình 2: Esp32 camera 9

Hình 3: Sơ đồ chân Esp32 camera 11

Hình 4: Khóa chốt điện từ 11

Hình 5: Cảm biến tiệm cận 13

Hình 6: Relay 5V 14

Hình 7: Cảm biến ánh sáng 15

Hình 8: Sơ đồ lắp mạch 17

Hình 9: Sơ đồ Restful Api 15

Hình 10: Lưu trữ ảnh ở storage 18

Hình 11: Lưu trữ trong Firestore Database 19

Hình 12: Lưu trữ trong Realtime database 19

Hình 13: Mô hình tổng quan 20

Hình 14: Kết quả trả về của Face Detector MTCNN 21

Hình 15: Facenet Layers 22

Hình 16: Siam Network 23

Hình 17: Bộ 3 hình ảnh Positive, Anchor, Negative 23

Hình 18: Hàm triplet loss 24

Hình 19: Kiến trúc mạng YOLOv8 24

Hình 20: Hình ảnh Real/Fake 25

Hình 21: Giao diện đăng nhập đăng kí tài khoản 29

Hình 22: Giao diện chính của app mobile 29

Hình 23: Giao diện thông báo và hiển thị khuôn mặt 30

Hình 24: Giao diện mở cửa từ xa và thêm khuôn mặt 30

Hình 25: Giao diện thêm khuôn mặt và thống kê lịch sửa ra vào 31

Hình 26: Biểu đồ use-case của ứng dụng 31

Hình 27: Biểu đồ tổng quan dữ liệu 32

Hình 28: Các thông số đánh giá mô hình 34

Hình 29: Confusion matrix nhận diện khuôn mặt 34

Trang 7

Hình 30: Đồ thị box loss 34 Hình 31: Đồ thị class losst 34 Hình 32: Confusion matrix nhận diện giả mạo 34

Trang 8

1 GIỚI THIỆU

Đề tài "Nhận Diện Khuôn Mặt Để Mở Cửa Và Chống Giả Mạo" tập trung vào việc phát triển một hệ thống kiểm soát truy cập sử dụng công nghệ nhận diện khuôn mặt, nhằm tăng cường an ninh cho các tòa nhà, văn phòng và nhà ở Hệ thống này không chỉ đảm bảo rằng chỉ những người được phép mới có thể truy cập vào khu vực được bảo vệ, mà còn ngăn chặn các hành vi gian lận Sử dụng trí tuệ nhân tạo và thuật toán học sâu, hệ thống nhận diện khuôn mặt mang lại giải pháp bảo mật hiện đại, hiệu quả

Thư viện Facenet, MTCNN

Giả mạo khuôn

mặt

Thư viện YOLOv8Server - Xây dựng Server dùng Flask - API, lưu trữ bằng Firebase

- Thu thập dữ liệu từ esp32 cam

- Xử lí, phân tích dữ liệu, gửi lại kết quả cho người dùngApp Mobile - Xây dựng ứng dụng điện thoại bằng React-Native

- Cho phép quản lí hệ thống từ xa

- Nhận thông báo khi có sự xâm nhập không được phép

Trang 9

Bảng 2: Tổng quan giải pháp

Sơ đồ IoT

Hình 1: Sơ đồ IoT

2.1 Giải pháp phần cứng và truyền thông

Trang 10

Tên Mô tả

Bộ nhớ ngoài Khe cắm thẻ micro SD lên đến 4GB

Bluetooth Chuẩn Bluetooth 4.2 BR/EDR và BLE

Tốc độ truyền UART 115200bps(Mặc định

+ Hỗ trợ camera OV2640 hoặc camera OV7670, đèn flash tích hợp

Tín hiều điều khiển Điều khiển các thiết bị ngoại vi khác

qua UART, SPI, I2C hoặc GPIO

Bảng 3: Thông số kỹ thuật của Esp32 camera

Trang 11

4 Giao tiếp với các thiết bị ngoại vi: ESP32-CAM cũng có khả năng giao tiếp

với các thiết bị ngoại vi khác như cảm biến, đèn LED thông qua các giao tiếp như UART, SPI, I2C hoặc GPIO

 Các chân

Hình 2: Sơ đồ chân của Esp32 camera

b Khóa chốt điện từ LY-03 12VDC

Khóa chốt điện từ LY-03 12VDC là một loại khóa điện từ hoạt động bằng cách

sử dụng điện để điều khiển chốt khóa

Trang 12

Hình 3: Khóa chốt điện từ

 Thông số kỹ thuật

Bảng 4: Thông số

từ

 Nguyên tắc hoạt động:

1 Trạng thái đóng( Locked State)

Khi không có nguồn điện cấp cho khóa, lò xo bên trong khóa sẽ đẩy chốt khóa vào

vị trí khóa, giữ cửa hoặc vật thể ở trạng thái đóng

2 Trạng thái mở ( Unlocked State)

 Khi có nguồn điện 12VDC cấp vào cuộn dây điện từ, cuộn dây sẽ sinh ra từ trường mạnh kéo lõi sắt vào trong cuộn dây

 Sự chuyển động của lõi sắt kéo theo chốt khóa, di chuyển chốt ra khỏi vị trí khóa, làm cho khóa mở ra và cửa hoặc vật thể có thể được mở

3 Trở lại trạng thái đóng

 Khi nguồn điện bị ngắt, từ trường của cuộn dây điện từ biến mất

 Lò xo hoặc cơ chế trở lại sẽ đẩy lõi sắt và chốt khóa trở lại vị trí khóa ban đầu, khóa lại cửa hoặc vật thể

 Các chân của khóa chốt điện từ

Cực dương ( dây đỏ) Đấu với dây dương của nguồn 12V

Trang 13

Bảng 5: Sơ đồ đấu nối của khóa chốt điện từ

1 Phát tia hồng ngoại: Cảm biến phát ra một chùm tia hồng ngoại từ bộ phảt.

2 Phản xạ từ vật thể: Khi có vật thể đi vào phạm vi phát hiện, tia hồng ngoại sẽ

phản xạ trở lại từ bề mặt của vật thể

3 Nhận tín hiệu: Bộ thu trong cảm biến nhận lại tia hồng ngoại phản xạ.

Trang 14

4 Xử lý tín hiệu: Cảm biến xử lý tín hiệu nhận được để xác định sự hiện diện của

vật thể và xuất tín hiệu điều khiển tương ứng

Các chân của cảm biến tiệm cận

Dây xanh dương Kết nối với nguồn âmDây đen Tín hiệu ngõ ra ( Output)

Bảng 7: Sơ đồ đấu nối của cảm biến tiệm

d Relay 5V

Relay 5V là một thiết bị chuyển mạch điều khiển bằng điện, thường được sử dụng

để điều khiển các tải điện áp và dòng điện cao bằng cách sử dụng một tín hiệu điện áp thấp từ một vi điều khiển hoặc mạch logic

Hình 5: Relay 5V

Bảng 8: Thông số kỹ thuật của Relay 5V

 Nguyên tắc hoạt động

1 Trạng thái bình thường ( Cuộn dây không có điện)

 Cuộn dây không có dòng điện, lõi sắt không phải là nam châm

Trang 15

 Lò xo giữ tiếp điểm ở vị trí NC (Normally Closed), tiếp điểm NO (Normally Open) không kết nối.

2 Trạng thái kích hoạt ( Cuộn dây có điện):

Khi có điện áp 5V qua cuộn dây, dòng điện tạo từ trường

 Từ trường làm lõi sắt trở thành nam châm, hút armature và thay đổi vị trí tiếp điểm

 Tiếp điểm NO (Normally Open) kết nối, tiếp điểm NC (Normally Closed) ngắt kết nối

 Các chân của relay 5V

1 COM Chân chung, kết nối với thiết bị hoặc nguồn

điện

2 NO hân thường mở, kết nối với thiết bị khi relay

được kích hoạt

4 VCC Chân cấp nguồn cho cuộn relay (5V)

Trang 16

Quang trở CDS

Bảng 10: Thông số kỹ thuật của cảm biến ánh sáng

Các chân của cảm biến ánh sáng

VCC Kết nối với nguồnGND Kết nối với chân GND

AO Kết nối với chân analog

DO Kết nối với chân digital

Bảng 11: Sơ đồ chân cảm biến ánh sáng

Trang 17

 Restful API

Trang 18

RESTful API là một tiêu chuẩn được sử dụng trong việc thiết kế API cho các phầnmềm, ứng dụng và dịch vụ web để tạo sự thuận tiện cho việc quản lý các resource Các tài nguyên hệ thống như tệp văn bản, ảnh, video, âm thanh hay dữ liệu di động là mục tiêu mà nó hướng tới, bao gồm các trạng thái tài nguyên được định dạng và truyền tải qua HTTP Có thể nói, RESTful API không phải là một loại công nghệ Nó chỉ là một phương thức tạo ra API và nguyên lý tổ chức nhất định.

Hình 9: Sơ đồ Restful Api API (Application Programming Interface) là một tập các quy tắc và cơ chế mà

theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay thành phần khác API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình

ở những kiểu dữ liệu phổ biến như JSON hay XML.

REST (Representational State Transfer) là một dạng chuyển đổi cấu trúc dữ liệu,

một kiểu kiến trúc để viết API Nó sử dụng phương thức HTTP đơn giản để tạo cho giao tiếp giữa các máy Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thôngtin người dùng, REST gửi một yêu cầu HTTP như GET, POST, DELETE, vv đến mộtURL để xử lý dữ liệu

RESTful API là một tiêu chuẩn dùng trong việc thiết kế các API cho các ứng

dụng web để quản lý các resource RESTful là một trong những kiểu thiết kế API được sử dụng phổ biến ngày nay để cho các ứng dụng (web, mobile ) khác nhau giaotiếp với nhau

REST hoạt động chủ yếu dựa vào giao thức HTTP Các hoạt động cơ bản nêu trên

sẽ sử dụng những phương thức HTTP riêng

GET (SELECT): Trả về một Resource hoặc một danh sách Resource.

POST (CREATE): Tạo mới một Resource.

Trang 19

DELETE (DELETE): Xoá một Resource.

2.1.3 Lưu trữ dữ liệu sử dụng Firebase

Firebase là một nền tảng Backend-as-a-Service (BaaS) được phát triển bởi Google để giúp các nhà phát triển xây dựng các ứng dụng web và di động nhanh chóng và dễ dàng hơn Firebase cung cấp các tính năng và dịch vụ như

cơ sở dữ liệu thời gian thực, lưu trữ đám mây, xác thực người dùng, thông báo đẩy, phân tích và nhiều hơn nữa Firebase cũng cung cấp các SDK cho các nền tảng phổ biến như Android, iOS, JavaScript, Unity và C++ Các tính năng của Firebase được sử dụng trong đồ án: • Firebase Storage: dịch vụ lưu trữ đám mây cho phép các ứng dụng lưu trữ và quản lý các tệp tin, hình ảnh, video và

âm thanh.

Hình 10: Lưu trữ ảnh ở storage

Firestore Database: là một cơ sở dữ liệu đám mây có cấu trúc tài liệu được pháttriển bởi Google Firestore được xây dựng trên cơ sở dữ liệu NoSQL và cho phép các nhà phát triển lưu trữ và truy vấn dữ liệu trong thời gian thực

Trang 20

Hình 11: Lưu trữ trong Firestore Database

Hình 12: Lưu trữ trong Realtime database

Trang 21

2.2 Giải pháp TTNT/KHDL

2.2.1 Mô hình tổng quan

Hình 13: Mô hình tổng quan

 Phương hướng triển khai, nhóm xác định mô hình nhận diện tổng quan sẽ baogồm những khối sau:

 Input đầu vào của hệ thống sẽ là hình ảnh cần nhận diện Hình ảnh nhận diện sẽđược đưa vào mô hình “Nhận diện khuôn mặt” để tiến hành xác định khuôn mặttrong bức ảnh và phân loại khuôn mặt đó thuộc về người nào, kết quả trả về sẽ làlabel tương ứng với khuôn mặt có trong ảnh hoặc là giá trị “Unknowed Face” nếuhình ảnh chứa khuôn mặt không có trong Firebase

 Sau khi nhận được kết quả từ mô hình đầu tiên, hình ảnh sẽ được đưa vào môhình “Nhận diện giả mạo” để tiến hành phân loại xem gương mặt trong ảnh là củangười thật hay là bị kẻ xấu giả mạo Kết quả trả về sẽ là nhãn “Real” nếu hìnhảnh chứa khuôn mặt thật hoặc là nhãn “Fake” nếu hình ảnh chứa khuôn mặt giảmạo

Trang 22

 Sau khi nhận được output từ 2 mô hình trên, chương trình trên Server sẽ gửi tín hiệu điều khiển đến phần cứng để “Đóng cửa” nếu hình ảnh trả về kết quả nhận dạng khuôn mặt là “Unknowed Face” hoặc kết quả nhận diện giả mạo là

“FAKE” Ngược lại, Server sẽ gửi tín hiệu đến phần cứng để “Mở cửa” nếu hình ảnh trả về kết quả nhận dạng khuôn mặt là nhãn tồn tại trên Firebase của hệ thống

và kết quả nhận diện giả mạo là “REAL”

2.2.2 Mô hình nhận diện khuôn mặt Face Detector

Face Detector (bộ phát hiện khuôn mặt) là một công nghệ hoặc thuật toán dùng

để nhận diện và xác định vị trí khuôn mặt người trong hình ảnh hoặc video Các bộphát hiện khuôn mặt được sử dụng rộng rãi trong nhiều ứng dụng như nhận diện khuônmặt, kiểm soát truy cập, phân tích cảm xúc, và các ứng dụng an ninh Nhóm quyếtđịnh sẽ sử dụng mô hình MTCNN như một Face Detector cho dự án lần này

Hình 14: Kết quả trả về của Face Detector MTCNN

- Sử dụng MTCNN để dò tìm các khuôn mặt xuất hiện trong hình ảnh đầu vào,kết quả trả về là 4 tọa độ bounding box của các khuôn mặt, tọa độ 5 điểm landmarktrên mặt, bao gồm 2 mắt, 1 mũi, 2 bên cánh môi và điểm confident của mỗi box Ta cắtvùng bounding box chứa khuôn mặt và resize về kích cỡ 160x160 Hình ảnh sau khi

xử lý sẽ được đưa vào mô hình tiếp theo để nhận diện gương mặt

2.2.3 Trích xuất đặc trưng gương mặt bằng Facenet

FaceNet là một thuật toán hỗ trợ cho việc nhận dạng và phân cụm khuôn mặt.Đối với thuật toán FaceNet, hàm loss function sử dụng hàm triplet loss cho phép khắcphục hạn chế của các phương pháp nhận dạng trước đây, quá trình huấn luyện chophép học được đồng thời: Sự giống nhau giữa hai bức ảnh (nếu hai bức ảnh cùng mộtlớp) và sự khác nhau giữa hai bức ảnh (nếu chúng không cùng một lớp)

Trang 23

Hình 15: Facenet Layers

FaceNet chính là một dạng Siam network thường biểu diễn véc-tơ đặc trưng củacác bức ảnh trong một không gian Euclidean n chiều (thường là 128 chiều) Việc biểudiễn thường tuân theo quy tắc: Nếu khoảng cách giữa các véc-tơ embedding càng nhỏ,thì mức độ tương đồng giữa chúng càng lớn và ngược lại Tập hợp véc-tơ này sẽ là dữliệu đầu vào cho hàm loss function để đánh giá chì số khoảng cách giữa các véc-tơ FaceNet sử dụng CNN bằng cách dùng hàm f(x) và nhúng hình ảnh X vàokhông gian Euclidean d chiều sao cho khoảng cách giữa các hình ảnh của 1 ngườikhông phụ thuộc vào điều kiện bên ngoài, khoảng cách giữa các khuôn mặt giống nhau(cùa cùng một người là nhỏ) trong khi khoảng cách giữa các ảnh khác nhau sẽ cókhoảng cách lớn

Ngày đăng: 14/12/2024, 23:03

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

TÀI LIỆU LIÊN QUAN

w