Với đồ án này là đi xây dựng hệ thống khóa cửa thông minh bằng nhận diện khuôn mặt, cần xác định mục tiêu là vấn đề bảo mật cho lối ra vào của một địa điểm nhất định, cụ thể hơn là bộ khóa cửa cho một căng hộ. Yêu cầu đặt ra cho bộ khóa này gồm những tiêu chí sau: • Khả năng nhận dạng có độ chính xác cao. • Đáp ứng được tính an toàn và bảo mật • Cho phép người sử dụng lưu trữ khuôn mặt vào dữ liệu của hệ thống. • Tốc độ mở ổ khóa nhanh, chính xác. • Sản phẩm có tính thẩm mỹ. • Thuận tiện cho người sử dụng.
TỔNG QUAN VỀ ĐỀ TÀI
Đặt vấn đề
Trong thời đại phát triển nhanh chóng của công nghệ hiện nay, bảo mật và an ninh đã trở thành những vấn đề cực kỳ quan trọng và cấp thiết trong cuộc sống hàng ngày Các công nghệ liên quan đến an ninh mạng, dữ liệu và truyền thông đang được đẩy mạnh phát triển để đảm bảo sự an toàn cho cá nhân và tổ chức Việc nâng cao các giải pháp bảo mật là yếu tố then chốt giúp bảo vệ thông tin khỏi các mối đe dọa tiềm tàng trong thời đại số hóa hiện nay.
Hệ thống bảo vệ nhà cửa ngày càng được nâng cấp để đảm bảo an ninh tối ưu, từ các loại khóa cơ truyền thống đến các hệ thống khóa thông minh hiện đại như khóa bằng vân tay, khuôn mặt, giọng nói hoặc mã số Mặc dù khóa cơ vẫn có tác dụng ngăn chặn kẻ trộm nhưng dễ dàng bị phá mở bởi dụng cụ đơn giản do tính bảo mật thấp Việc sử dụng chìa khóa gặp nhiều bất tiện như lo lắng về việc cất giữ an toàn hoặc rắc rối khi mất chìa hoặc khóa bị kẹt Do đó, nhiều người đã chuyển sang dùng các hệ thống khóa thông minh giúp tăng cường an ninh và tiết kiệm thời gian, chi phí sửa chữa, thay thế khóa cửa khi gặp sự cố.
Trong bối cảnh phát triển vượt bậc của khoa học công nghệ, việc áp dụng các giải pháp hiện đại cho vấn đề bảo mật ngày càng khả thi Một ổ khóa cửa thông minh không chỉ giúp bảo vệ lối ra vào hiệu quả mà còn phát hiện người lạ xâm nhập, trở thành lựa chọn cần thiết trong việc nâng cao an ninh Các loại khóa thông minh đang dần thay thế khóa truyền thống nhờ vào công nghệ bảo mật cao, khả năng điều khiển từ xa qua ứng dụng điện thoại, thiết kế sang trọng, tự động khoá khi cửa đóng và độ bền vượt trội Trong nghiên cứu này, hệ thống bảo vệ cửa bằng phương pháp nhận diện khuôn mặt dựa trên công nghệ sinh trắc học sẽ được giới thiệu, nhằm tăng cường hiệu quả kiểm soát truy cập và nâng cao an ninh cho ngôi nhà.
Mỗi người sở hữu phong cách học tập riêng biệt, điều này giúp tạo ra hệ thống bảo vệ tối ưu cho ngôi nhà của bạn Đặc biệt, nghiên cứu và phát triển hệ thống khóa cửa thông minh dựa trên nhận diện khuôn mặt mang lại khả năng bảo mật cao, ngăn chặn truy cập trái phép một cách an toàn và hiệu quả.
Mục tiêu đề tài
Dự án này tập trung vào xây dựng hệ thống khóa cửa thông minh sử dụng công nghệ nhận diện khuôn mặt để nâng cao khả năng bảo mật cho các lối ra vào Mục tiêu chính là đảm bảo an toàn tuyệt đối cho một địa điểm nhất định, cụ thể là căn hộ dân cư Bộ khóa này yêu cầu đáp ứng các tiêu chí về độ chính xác nhận diện, tính an toàn và tiện lợi khi sử dụng để đảm bảo hiệu quả bảo vệ tối ưu cho cư dân.
• Khả năng nhận dạng có độ chính xác cao
• Đáp ứng được tính an toàn và bảo mật
• Cho phép người sử dụng lưu trữ khuôn mặt vào dữ liệu của hệ thống
• Tốc độ mở ổ khóa nhanh, chính xác
• Sản phẩm có tính thẩm mỹ
• Thuận tiện cho người sử dụng.
Nội dung nghiên cứu
1.3.1 Tổng quan về các loại khóa thông minh
Trong bối cảnh công nghệ tiên tiến phát triển, khóa cửa thông minh đã trở thành giải pháp tiện nghi, giúp cuộc sống hàng ngày trở nên dễ dàng hơn Các loại khóa này có khả năng đóng mở cửa tự động dựa trên lệnh từ xa, không cần sử dụng chìa khóa truyền thống Chúng hoạt động qua kết nối không dây, sử dụng mã xác nhận hoặc nhận dạng khuôn mặt để mở khóa một cách an toàn và chính xác Các ứng dụng của khóa cửa thông minh rất thiết thực, mang đến sự tiện lợi, an toàn và hiện đại cho người dùng.
Khóa cửa vân tay là hệ thống bảo mật hiện đại cho phép người dùng mã hóa thông qua thiết bị và chỉ mở khóa khi bàn tay của chủ nhân được nhận dạng chính xác Công nghệ này mang lại sự an toàn cao, tiện lợi và hạn chế tối đa các trường hợp mất chìa khóa hoặc truy cập trái phép Với khóa vân tay, việc quản lý và kiểm soát quyền truy cập trở nên dễ dàng, phù hợp cho gia đình và văn phòng hiện đại.
Khóa thẻ từ RFID, viết tắt của Radio Frequency Identification, là công nghệ nhận dạng đối tượng dựa trên sóng vô tuyến, giúp mở khóa nhanh chóng và an toàn Các loại khóa thông minh sử dụng công nghệ RFID mang lại tiện ích vượt trội trong việc kiểm soát truy cập, nâng cao bảo mật cho căn nhà hoặc doanh nghiệp của bạn Công nghệ RFID không chỉ đảm bảo quá trình sử dụng dễ dàng, nhanh chóng mà còn góp phần nâng cao sự an toàn và tiện nghi cho người sử dụng.
4 nghệ này có thể nhận dạng được danh tính của người ra vào qua một hệ thống tiếp nhận tín hiệu và xử lý tức thì
• Khóa mật mã: dùng mật mã để thay thế cho chìa khóa mở cửa
Khóa nhận dạng khuôn mặt tích hợp công nghệ nhận diện trực tiếp bằng khuôn mặt, cho phép mở cửa nhanh chóng khi xác định chính xác danh tính người dùng Hệ thống này hiển thị hình ảnh khuôn mặt trực tiếp trên màn hình của khóa, đảm bảo an toàn và tiện lợi trong việc kiểm tra danh tính.
1.3.2 Ưu và nhược điểm của các loại khóa thông minh Ưu điểm của các loại khóa thông minh
• Tính tiện lợi, tính thẩm mỹ cao
• Thời gian đóng/ mở cửa nhanh chóng
• Tính an toàn, bảo mật cao
• Kiểm soát chặt chẽ việc ra/ vào
• Tính tiện dụng, dễ sử dụng
Nhược điểm của các loại khóa thông minh
• Với khóa cửa mã số, mã khóa có thể dễ dàng bị tiết lộ hoặc bị phá mã
• Chi phí lắp đặt và bảo trì tương đối cao hơn so với khóa cửa thông thường
Hệ thống khóa cửa tại các tòa nhà, trung tâm lớn thường vận hành dựa trên hệ thống máy chủ tự động, điều này có thể tiềm ẩn rủi ro bị xâm nhập Khi máy chủ bị tấn công, kẻ xấu có thể lợi dụng lỗ hổng để thực hiện các hành vi xấu, đe dọa an ninh và an toàn của tòa nhà Chính vì vậy, việc bảo vệ hệ thống máy chủ và cập nhật các biện pháp an ninh là vô cùng cần thiết để đảm bảo an toàn tối đa cho hệ thống kiểm soát cửa.
• Để duy trì tính an toàn và bảo mật, khóa cửa thông minh cần liên tục được bảo trì và nâng cấp để chống lại xâm nhập
Để hoàn thành đồ án "Nghiên cứu xây dựng hệ thống khóa cửa thông minh bằng nhận diện khuôn mặt," tôi đã tận dụng kiến thức đã học trong các môn như vi xử lý, điện tử công suất và các môn chuyên ngành để phát triển giải pháp hiệu quả Các kỹ năng trong lĩnh vực vi xử lý giúp xây dựng hệ điều hành và thuật toán nhận diện khuôn mặt chính xác, trong khi kiến thức về điện tử công suất hỗ trợ thiết kế mạch điều khiển ổ khóa thông minh Nhờ đó, dự án không chỉ đảm bảo tính ứng dụng thực tế mà còn tối ưu về mặt kỹ thuật, góp phần nâng cao độ tin cậy của hệ thống khóa cửa thông minh dựa trên công nghệ nhận diện khuôn mặt.
• Tìm hiểu, tính toán thiết kế mạch cho phần cứng
• Tìm hiểu về hệ thống khóa cửa thông minh trên thị trường
• Xử lý quá trình nhận diện khuôn mặt và lưu trữ khuôn mặt
• Xây dựng mô hình mẫu
• Kiểm tra, thử nghiệm và hiệu chỉnh phần cứng của thiết bị qua đó so sánh đánh giá tính thực tế của đồ án
NGHIÊN CỨU QUY TRÌNH XỬ LÝ ẢNH VÀ CÔNG NGHỆ
Giới thiệu về vài khái niệm cơ bản trong xử lý ảnh
Ảnh gốc (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng Để xử lý bằng máy tính, ảnh cần được số hóa, tức là biến đổi gần đúng ảnh liên tục thành các điểm phù hợp với ảnh thật về vị trí và mức xám Khoảng cách giữa các điểm ảnh được thiết lập sao cho mắt người không phân biệt được ranh giới, mỗi điểm còn gọi là pixel (PEL) Trong ảnh hai chiều, mỗi pixel ứng với cặp tọa độ (x, y) và có mức xám hoặc màu nhất định Kích thước và khoảng cách giữa các pixel được chọn sao cho cảm nhận của mắt người về liên tục không gian và mức xám của ảnh số gần như ảnh thật, với mỗi phần tử trong ma trận gọi là phần tử ảnh.
Hình 2.1 Điểm ảnh trong ảnh màu 2.1.2 Độ phân giải
Độ phân giải là một thước đo quan trọng dùng để mô tả độ sắc nét và rõ ràng của hình ảnh, giúp đánh giá chất lượng hình ảnh một cách chính xác Đây cũng là chỉ số chủ chốt trong việc đánh giá hiệu suất của các thiết bị điện tử như màn hình, máy in, và máy ảnh kỹ thuật số Ngoài ra, độ phân giải còn ảnh hưởng đến trải nghiệm người dùng trong các công nghệ phần cứng và phần mềm, đảm bảo hình ảnh rõ nét và chân thực hơn.
Hình 2.2 Sự khác biệt về độ phân giải
Hình ảnh trên cho thấy rằng mặc dù các ảnh có cùng kích thước nhưng độ phân giải lại khác nhau, với độ phân giải thấp hơn thì hình ảnh sẽ trở nên mờ hơn Cụ thể, ảnh một thể hiện chiều rộng 175 điểm ảnh và chiều dài 256 điểm ảnh, giúp người dùng hiểu rõ mối liên hệ giữa độ phân giải và chất lượng hình ảnh.
Tác dụng của độ phân giải
Độ phân giải đóng vai trò quan trọng trong việc đánh giá chất lượng hình ảnh và không nên bị phủ nhận hoàn toàn Đây là một trong những thông số nổi bật và đáng chú ý nhất khi mua thiết bị hoặc làm việc với hình ảnh Các nhà phát triển luôn chú ý đặc biệt đến độ phân giải để cải thiện trải nghiệm người dùng, giúp hình ảnh rõ nét và chân thực hơn, đồng thời nâng cao chất lượng sản phẩm và hiệu suất xử lý hình ảnh.
• Tăng độ sắc nét, giảm độ nhiễu của hình ảnh trên màn hình có kích thước nhỏ
• Tác dụng khi in khổ lớn như in các tạo chí hay khi cần crop ảnh
Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị số tại điểm đó
Các thang giá trị mức xám phổ biến trên thị trường gồm có các cấp độ 16, 32, 64, 128 và 256 Trong đó, mức 256 là mức sử dụng phổ biến nhất do kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức xám, cho phép thể hiện 256 mức khác nhau từ 0 đến 255, tương đương với 28 cấp độ mức xám.
• Ảnh đen trắng: Là ảnh có hai màu đen, trắng (không chứa màu khác) với mức xám ở các điểm ảnh có thể khác nhau
Ảnh nhị phân là loại hình ảnh chỉ gồm hai mức đen trắng phân biệt rõ ràng, sử dụng 1 bit để mô tả 2 mức khác nhau Mỗi điểm ảnh trong ảnh nhị phân chỉ có thể có giá trị 0 hoặc 1, giúp đơn giản hóa quá trình xử lý hình ảnh và phù hợp cho các ứng dụng yêu cầu độ chính xác cao trong phân biệt đen trắng.
• Ảnh màu: Trong khuôn khổ lý thuyết ba màu (Red, Blue, Green) để tạo nên thế giới màu, khi đó các giá trị màu: 28*3"4≈ 16,7 triệu màu
Các bước cơ bản trong xử lý ảnh
Hình 2.4 Các bước cơ bản trong xử lý ảnh
Sơ đồ này bao gồm các phần sau:
Phần thu nhận ảnh có thể thực hiện qua camera màu hoặc đen trắng, trong đó camera quét dòng thường được sử dụng để tạo ra hình ảnh dạng hai chiều Chất lượng của ảnh thu nhận phụ thuộc vào loại thiết bị camera và các yếu tố môi trường như ánh sáng, phong cảnh và thời tiết.
Tiền xử lý ảnh là bước quan trọng sau bộ thu nhận nhằm nâng cao chất lượng hình ảnh, đặc biệt khi ảnh gặp phải nhiễu và độ tương phản thấp Chức năng chính của bộ tiền xử lý gồm lọc nhiễu và tăng độ tương phản, giúp làm rõ và nét hơn các đặc điểm trong ảnh Quá trình này giúp cải thiện kết quả phân tích và nhận diện hình ảnh trong các ứng dụng xử lý ảnh chuyên sâu.
Phân đoạn hay phân vùng ảnh là quá trình tách một hình ảnh đầu vào thành các vùng thành phần để phục vụ cho phân tích và nhận dạng ảnh Ví dụ, trong nhận dạng chữ hoặc mã vạch trên phong bì thư nhằm phân loại bưu phẩm, cần chia các phần như địa chỉ, tên người thành các từ, chữ, số hoặc vạch riêng biệt để dễ dàng phân tích Phân vùng ảnh là bước phức tạp và dễ gây lỗi nhất trong xử lý ảnh, ảnh hưởng lớn đến độ chính xác của kết quả nhận dạng Do đó, quá trình này đóng vai trò quan trọng trong hiệu quả của toàn bộ hệ thống nhận dạng ảnh.
Biểu diễn ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh đã phân đoạn, kèm theo mã liên kết với các vùng lân cận, giúp xác định các đặc tính cấu trúc của ảnh Việc chuyển đổi dữ liệu này sang dạng phù hợp là bước cần thiết để xử lý tiếp theo bằng máy tính Quá trình chọn các đặc tính đặc trưng (Feature Selection) nhằm trích xuất các thông tin định lượng, giúp tách biệt các lớp đối tượng khác nhau trong ảnh một cách chính xác.
Nhận dạng ảnh là quá trình xác định nội dung của hình ảnh thông qua so sánh với các mẫu chuẩn đã học hoặc lưu trữ trước đó, giúp xác định chính xác đối tượng trong ảnh Quá trình nội suy ảnh dựa trên nhận dạng để đưa ra phán đoán về ý nghĩa của hình ảnh một cách chính xác Theo lý thuyết nhận dạng, các mô hình toán học về ảnh được phân thành hai loại chính, phản ánh các phương pháp nhận dạng ảnh cơ bản nhằm tối ưu hóa khả năng phân biệt và phân loại hình ảnh.
• Nhận dạng theo tham số
• Nhận dạng theo cấu trúc
Các đối tượng nhận dạng phổ biến hiện nay trong lĩnh vực khoa học và công nghệ bao gồm nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạng văn bản (Text), nhận dạng vân tay, nhận dạng mã vạch và nhận dạng khuôn mặt người Những công nghệ này góp phần nâng cao khả năng xác thực và tự động hóa trong các ứng dụng an ninh, quản lý dữ liệu và tối ưu hóa quy trình làm việc.
Cơ sở tri thức về ảnh là một lĩnh vực phức tạp do đặc điểm đa dạng về đường nét, độ sáng tối, dung lượng điểm ảnh và môi trường thu ảnh phong phú gây nhiễu Trong quá trình xử lý và phân tích ảnh, việc áp dụng các phương pháp toán học đơn giản hóa giúp nâng cao hiệu quả và tiện lợi cho các bước xử lý ảnh.
Hệ thống xử lý ảnh
Trong những năm gần đây, nhờ vào sự phát triển vượt bậc của phần cứng máy tính, công nghệ xử lý ảnh và đồ họa đã có bước tiến mạnh mẽ và ứng dụng rộng rãi trong đời sống Xử lý ảnh và đồ họa đóng vai trò quan trọng trong lĩnh vực tương tác người máy, giúp nâng cao khả năng giao tiếp giữa con người và máy móc Quá trình xử lý ảnh được hiểu là thao tác nhằm chỉnh sửa và biến đổi ảnh đầu vào, với mục đích tạo ra kết quả mong muốn hoặc rút ra các kết luận chính xác.
Hình 2.5 minh họa quá trình xử lý ảnh, trong đó ảnh được xem như một tập hợp các điểm ảnh, mỗi điểm ảnh đại diện cho đặc trưng cường độ ánh sáng hoặc dấu hiệu tại vị trí của đối tượng trong khoảng thời gian Trong xử lý ảnh, từng điểm ảnh có thể được mô tả như một hàm n biến P(a1, a2, , an), giúp xem ảnh như một ảnh n chiều Điều này cho phép phân tích và xử lý ảnh một cách chính xác dựa trên các đặc điểm đặc trưng của từng điểm ảnh trong không gian và thời gian.
Các vấn đề của xử lý ảnh:
- Thu nhận ảnh, chụp ảnh và hóa ảnh
+ Hệ thống chụp ảnh và tín hiệu ảnh
+ Hệ thống số hóa ảnh lấy mẫu lượng tử hóa
- Phân tích ảnh và thị giác máy tính
+ Cải thiện nâng cấp ảnh sửa lỗi khôi phục ảnh
+ Phân tách đặc trưng cách biên phân vùng ảnh
+ Biểu diễn và xử lý đặc trưng hình ảnh đối tượng ảnh
+ Nhận dạng đối tượng ảnh phân tích cảnh và hiểu cảnh
+ Các phương pháp nén và các chuẩn nén.
Công nghệ sinh trắc học
2.4.1 Xác thực sinh trắc học
Sinh trắc học liên quan đến các đặc điểm thể chất và hành vi của cơ thể được đo lường để xác định danh tính cá nhân một cách chính xác Xác thực sinh trắc học là phương pháp bảo mật sử dụng các tính năng sinh học của người dùng để xác minh danh tính khi truy cập hệ thống hoặc thiết bị Các đặc điểm sinh trắc học là những đặc điểm vật lý và sinh trắc duy nhất của mỗi cá nhân, dễ dàng được xác nhận so sánh với dữ liệu lưu trữ trong cơ sở dữ liệu Khi các tính năng sinh trắc của người dùng phù hợp với dữ liệu đã được phê duyệt, quyền truy cập sẽ được cấp, giúp đảm bảo an toàn và bảo mật hệ thống Hiện nay, xác thực sinh trắc học phổ biến trong các hệ thống kiểm soát điểm truy cập, bảo vệ máy tính và điện thoại di động.
2.4.2 Các loại xác thực sinh trắc học phổ biến hiện nay
Nhận diện bằng vân tay là phương pháp xác định sinh trắc học phổ biến và đa dạng nhất hiện nay, mang lại độ tin cậy và chính xác cao Công nghệ ID vân tay mang lại sự tiện lợi trong việc xác thực danh tính người dùng, đặc biệt trong chức năng mở khóa điện thoại Hầu hết các hãng điện thoại trên thế giới đều tích hợp cảm biến vân tay để đảm bảo an toàn và thuận tiện khi sử dụng.
Ảnh nhận diện bằng vân tay là phương pháp xác thực sinh trắc học phổ biến nhất hiện nay Khi người dùng đặt ngón tay lên cảm biến vân tay của thiết bị, hệ thống sẽ quét hình ảnh và xử lý dữ liệu để so sánh với thông tin đã lưu trữ Nếu các đặc điểm của vân tay khớp với dữ liệu trong hệ thống, lớp khóa hoặc các biện pháp bảo mật sẽ được mở, đảm bảo an toàn và tiện lợi trong việc truy cập.
Sinh trắc vân tay được tích hợp vào các thiết bị chấm công nhân viên, giúp xác định chính xác danh tính thông qua thuật toán nhận diện hình ảnh Nhờ công nghệ này, máy chấm công có thể phân biệt các dấu vân tay khác nhau, nâng cao hiệu quả và độ chính xác trong việc tính lương.
• Nhận diện qua võng mạc
Sinh trắc võng mạc của con người có đặc điểm đa dạng và phức tạp giống như dấu vân tay, làm cho phương pháp này trở thành hình thức xác thực sinh trắc học rất đáng tin cậy Ưu điểm này đã giúp sinh trắc võng mạc được ứng dụng rộng rãi trong lĩnh vực ngân hàng, nơi người dùng có thể sử dụng để thực hiện các giao dịch và thanh toán tài chính một cách an toàn và chính xác.
Hình 2.7 Ảnh nhận diện qua võng mạc
Thiết bị nhận diện mống mắt hoạt động bằng cách sử dụng máy chiếu tia sáng nhìn thấy hoặc tia hồng ngoại gần (NIR) chiếu vào mắt người, giúp xác định chính xác vị trí các bộ phận của mắt như đồng tử, mí mắt, lông mi và cấu trúc mống mắt Quá trình này cho phép hệ thống so sánh cấu trúc mống mắt đã quét được với dữ liệu đã được phê duyệt trước đó để đảm bảo độ chính xác cao trong nhận diện.
Xác thực sinh trắc học dựa trên đặc điểm khuôn mặt là phương pháp phổ biến thứ hai sau dấu vân tay trong việc nhận diện cá nhân Thiết bị này hoạt động bằng cách phân tích và so sánh các đặc điểm khuôn mặt đã được thiết lập từ trước với hình ảnh khuôn mặt đang được quét trong thời gian thực, đảm bảo tính chính xác và an toàn cao.
Công nghệ Face ID có khả năng chiếu và phân tích để tạo ra bản đồ độ sâu cùng hình ảnh hồng ngoại của khuôn mặt, đảm bảo xác thực sinh trắc học chính xác Apple là thương hiệu đi đầu trong việc tích hợp công nghệ Face ID vào các sản phẩm điện tử của mình, nâng cao bảo mật và trải nghiệm người dùng.
Hình 2.8 Ảnh nhận diện bằng khuôn mặt
Nhận diện khuôn mặt còn được áp dụng trong hệ thống bảo mật vật lý của các tòa nhà, giúp nâng cao hiệu quả kiểm soát ra vào Công nghệ này cho phép nhóm quản lý theo dõi chính xác số lượng người và khách ra vào, tăng cường an ninh và đảm bảo an toàn cho toàn bộ khu vực.
2.4.3 Ưu và nhược điểm của công nghệ sinh trắc học Ưu điểm:
• Có khả năng cải thiện tính bảo mật, kiểm soát truy cập an toàn, thoải mái, tránh để lộ thông tin người dùng cho tội phạm mạng
• Là một giải pháp bảo mật hiện đại và phức tạp nhất, có độ chính xác gần như là tuyệt đối trong quá trình xác thực
Bảo mật sinh trắc học cải thiện đáng kể khả năng xác thực so với phương pháp truyền thống, giúp người dùng thực hiện nhanh chóng và tiện lợi hơn Đây là giải pháp tối ưu cho việc hạn chế quên mật khẩu dài và phức tạp như trước kia, đem lại trải nghiệm đăng nhập nhẹ nhàng và an toàn hơn.
• Khắc phục hiện tượng quá tải thông tin đăng nhập trên các ứng dụng hoặc thiết bị khác nhau
• Xác thực sinh trắc học có tính linh hoạt, dễ đăng ký và triển khai sử dụng
• Các thiết bị xác thực sinh trắc học thường có chi phí đắt hơn so với thiết bị nhập mật khẩu truyền thống
Nhận dạng sinh trắc học không chính xác tuyệt đối, ví dụ như máy xác thực sinh trắc học có thể không nhận diện được giọng nói của người dùng khi bị cảm cúm hoặc không chính xác trong việc nhận diện khuôn mặt khi người dùng tăng hoặc giảm cân, cho thấy hệ thống còn nhiều hạn chế cần cải thiện để đảm bảo độ chính xác cao hơn.
• Gây ảnh hưởng đến quyền riêng tư của người sử dụng.
Cơ sở lý thuyết về nhận diện khuôn mặt
Hệ thống nhận diện khuôn mặt là công nghệ tự động xác định hoặc nhận diện người dựa trên hình ảnh kỹ thuật số hoặc khung hình video Phương pháp chính để thực hiện nhận diện khuôn mặt là so sánh các đặc điểm khuôn mặt đã được chọn lọc từ hình ảnh với dữ liệu trong cơ sở dữ liệu khuôn mặt Công nghệ này ứng dụng rộng rãi trong bảo mật, kiểm soát truy cập và nhận diện người trong các hệ thống giám sát.
Mỗi khuôn mặt đều có nhiều điểm mốc và các đặc điểm hình dạng như phần lồi lõm tạo nên các đặc điểm nhận diện riêng biệt Hệ thống nhận diện gương mặt xác định những điểm này gọi là điểm nút, mỗi khuôn mặt thường có khoảng 80 điểm nút để phân tích và xác định đặc trưng Các điểm nút này đóng vai trò quan trọng trong quá trình nhận diện và phân biệt các gương mặt khác nhau, giúp hệ thống nhận dạng chính xác hơn.
• Khoảng cách giữa hai mắt
• Độ sâu của hốc mắt
• Hình dạng của xương gị má
• Hình các điểm trên khuôn mặt
2.5.2 Lịch sử về nhận diện khuôn mặt
Những người tiên phong trong lĩnh vực nhận diện khuôn mặt bao gồm Woody Bledsoe, Helen Chan Wolf và Charles Bisson Trong những năm 1964 và 1965, Bledsoe cùng với Helen Chan và Charles Bisson đã bắt đầu ý tưởng sử dụng máy tính để nhận diện khuôn mặt của con người, mở ra các nghiên cứu đột phá trong công nghệ nhận diện khuôn mặt bằng trí tuệ nhân tạo.
Năm 1966, Bledsoe rời PRI để tiếp tục công việc tại Viện Nghiên cứu Stanford, chủ yếu làm việc cùng Peter Hart Các thí nghiệm được thực hiện trên cơ sở nghiên cứu này nhằm mở rộng hiểu biết về lĩnh vực của họ.
Máy tính đã vượt trội so với con người trong việc thể hiện cùng một nhiệm vụ nhận dạng hình ảnh, dựa trên hơn 2.000 bức ảnh được xử lý (Bledsoe, 1968) Nhiều năm sau, Peter Hart (1996) nhớ lại dự án này với cảm xúc xúc động và tự hào, chia sẻ rằng "Nó thực sự làm được điều đó!", khẳng định tầm quan trọng của công trình trong lĩnh vực nhận dạng hình ảnh sử dụng công nghệ máy tính.
Năm 2006, các thuật toán nhận dạng khuôn mặt mới nhất đã được đánh giá trong Face Recognition Grand Challenge (FRGC), sử dụng hình ảnh gương mặt, scan 3D và ảnh iris độ phân giải cao để kiểm tra hiệu quả Kết quả cho thấy các thuật toán này chính xác hơn 10 lần so với các công nghệ năm 2002 và chính xác hơn 100 lần so với các thuật toán của năm 1995 Một số thuật toán đã sở hữu khả năng nhận dạng vượt trội, thậm chí xác định chính xác từng người trong các cặp sinh đôi giống hệt nhau Những tiến bộ này đã thúc đẩy sự phát triển nhanh chóng và mạnh mẽ của công nghệ nhận dạng khuôn mặt hiện đại ngày nay.
Trước khi sử dụng công nghệ này, cần thực hiện các bước lưu trữ thông tin trên cơ sở dữ liệu để hệ thống có thể so sánh hiệu quả sau khi các đặc điểm đã được mã hóa Hệ thống sẽ lưu trữ dữ liệu tại một vị trí phù hợp để dễ dàng truy xuất khi cần thiết Khi hoạt động, hệ thống sẽ quét và so sánh các đặc điểm khuôn mặt, dù có thể khác nhau giữa các công nghệ, nhưng chung quy lại, chúng đều tuân theo một số bước cơ bản nhằm đảm bảo độ chính xác và hiệu quả của quá trình nhận diện.
• Người dùng xét tiến gần đến cam bố trí sẳn
• Camera sẽ quét toàn bộ khuôn mặt
• Công nghệ sẽ tiến hành bóc tách khuôn mặt ra khỏi cảnh vật xung quanh
Hệ thống sẽ tiến hành phân tích các đặc điểm khuôn mặt bằng các thuật toán và công thức dữ liệu chuyên biệt Quá trình xử lý này giúp xác định chính xác các đặc tính mặt nhằm tối ưu hóa nhận diện Sau đó, dữ liệu đã được xử lý sẽ được gửi về nơi lưu trữ liên quan nhất để đảm bảo tính bảo mật và dễ dàng truy xuất trong các bước tiếp theo.
Hệ thống tiến hành so sánh dữ liệu vừa phân tích với dữ liệu có sẵn để xác định xem các thông tin có trùng khớp hay không, đảm bảo tính chính xác của kết quả.
• Nhận dạng kiểu truyền thống
Các thuật toán nhận dạng khuôn mặt xác định các đặc điểm quan trọng như vị trí, kích thước và hình dạng của mắt, mũi, gò má và cằm bằng cách trích xuất các ranh giới và đặc điểm từ hình ảnh khuôn mặt Những đặc điểm này sau đó được sử dụng để tìm kiếm các hình ảnh phù hợp trong cơ sở dữ liệu khuôn mặt Quá trình bình thường hóa và nén dữ liệu giúp loại bỏ những thông tin không cần thiết, chỉ lưu giữ những đặc điểm hữu ích cho việc nhận diện Một hình ảnh mẫu sau đó được so sánh với dữ liệu lưu trữ để xác định danh tính Các hệ thống nhận diện khuôn mặt sớm đã thành công trong việc nén dữ liệu hình ảnh thành các đặc điểm nổi bật, tạo ra một dạng đại diện đơn giản và hiệu quả cho việc nhận dạng.
Các thuật toán nhận dạng gồm hai hướng chính: hình học và trắc quang Thuật toán hình học tập trung vào phân tích các tính năng đặc trưng của đối tượng, giúp xác định đặc điểm phân biệt rõ ràng Trong khi đó, phương pháp trắc quang sử dụng các kỹ thuật thống kê để ' chưng cất' hình ảnh thành các giá trị đặc trưng, sau đó so sánh với các mẫu chuẩn để loại bỏ các chênh lệch không cần thiết Hai hướng này đóng vai trò quan trọng trong việc nâng cao độ chính xác và hiệu quả của các hệ thống nhận dạng hình ảnh và tín hiệu.
Các thuật toán nhận dạng khuôn mặt phổ biến hiện nay gồm có Principal Component Analysis (Phân tích thành phần chính), giúp giảm chiều dữ liệu và nhận diện dựa trên các đặc trưng chính của khuôn mặt Linear Discriminate Analysis (Phân tích biệt tuyến tính) tối ưu hóa khả năng phân biệt các lớp khuôn mặt khác nhau Elastic Bunch Graph Matching sử dụng thuật toán Fisherface để nâng cao độ chính xác trong nhận dạng khuôn mặt dưới điều kiện biến đổi ánh sáng và góc chụp Các mô hình Markov ẩn cũng được ứng dụng trong nhận dạng khuôn mặt để xử lý dữ liệu theo chuỗi thời gian Multilinear Subspace Learning (Luyện nhớ không gian con đa tuyến) dựa trên đại diện cơ căng nhằm trích xuất các đặc trưng nâng cao và khả năng nhận dạng Ngoài ra, các phương pháp theo dõi liên kết động thần kinh cũng đóng vai trò quan trọng trong các hệ thống nhận dạng khuôn mặt hiện đại.
502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared
502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared
502 Bad GatewayUnable to reach the origin service The service may be down or it may not be responding to traffic from cloudflared
Các chuẩn giao tiếp sử dụng
UART (Universal Asynchronous Receiver-Transmitter) is a widely used asynchronous serial communication protocol for data transmission between devices It is one of the most common methods for device-to-device communication, enabling efficient and reliable data exchange UART is widely applied in various electronic applications, including microcontrollers, sensors, and communication modules, due to its simplicity and effectiveness in serial data transfer.
Các module giao tiếp như Wifi, Bluetooth, Xbee và đầu đọc thẻ RFID kết nối với Raspberry Pi, Arduino hoặc các vi điều khiển khác là các chuẩn giao tiếp phổ biến và được sử dụng rộng rãi trong công nghiệp Những phương tiện này dễ tích hợp và đảm bảo truyền dữ liệu hiệu quả, góp phần nâng cao khả năng tự động hóa và kết nối trong các hệ thống IoT.
UART truyền dữ liệu không đồng bộ, nghĩa là không sử dụng tín hiệu đồng hồ để đồng bộ hóa các bit truyền đi và nhận Điều này có nghĩa là UART dựa vào các đặc điểm dữ liệu và tín hiệu điều khiển để xác định thời điểm lấy mẫu các bit Việc này giúp giảm bớt phức tạp trong thiết kế hệ thống truyền thông, đồng thời yêu cầu các thiết bị phải đồng bộ chính xác để đảm bảo dữ liệu được truyền nhận đúng cách.
Hình 2.10 Giao tiếp UART 2.6.1.2 Hướng dẫn giao tiếp UART
UART là thiết lập giao tiếp phổ biến có thể được cấu hình để hoạt động với nhiều loại giao thức nối tiếp khác nhau, giúp tăng tính linh hoạt trong các ứng dụng Được phát triển từ những năm đầu 1970, UART đã được tích hợp vào các đơn vị chip đơn như Western Digital’s WD1402A, mang lại hiệu suất ổn định và đáng tin cậy cho các hệ thống truyền thông dữ liệu.
Trong sơ đồ giao tiếp UART, chân Tx (truyền) của một chip kết nối trực tiếp với chân Rx (nhận) của chip kia, tạo thành một đường truyền dữ liệu liên tục và chính xác Quá trình truyền dữ liệu thường hoạt động ở mức điện áp 3.3V hoặc 5V, đảm bảo tương thích với nhiều thiết bị điện tử khác nhau UART là giao thức giao tiếp số đơn giản, hoạt động theo mô hình một master, một slave, trong đó mỗi thiết bị chỉ giao tiếp với duy nhất một thiết bị khác để đảm bảo tính ổn định và chính xác của dữ liệu truyền tải.
UART truyền dữ liệu đồng bộ qua lại giữa thiết bị điều khiển (như CPU) và các thiết bị ngoại vi Khi gửi dữ liệu qua chân TX, UART chuyển đổi dữ liệu song song thành dạng nối tiếp, sau đó truyền đến thiết bị nhận Thiết bị nhận sử dụng UART để biến đổi dữ liệu nối tiếp trở lại thành dạng song song, giúp giao tiếp hiệu quả với thiết bị điều khiển.
UART truyền dữ liệu nối tiếp, theo một trong ba chế độ:
• Full duplex: Giao tiếp đồng thời đến và đi từ mỗi master và slave
• Half duplex: Dữ liệu đi theo một hướng tại một thời điểm
• Simplex: Chỉ giao tiếp một chiều
Dữ liệu truyền qua UART được tổ chức thành các gói, trong đó mỗi gói bao gồm một bit bắt đầu để đồng bộ truyền dữ liệu Mỗi gói chứa từ 5 đến 9 bit dữ liệu, tùy thuộc vào cấu hình UART cụ thể Ngoài ra, gói dữ liệu còn có một bit chẵn lẻ để kiểm tra lỗi và 1 hoặc 2 bit dừng để xác nhận kết thúc tín hiệu truyền.
Hình 2.11 Dữ liệu truyền của UART
Trong giao tiếp UART, đường truyền dữ liệu thường ở mức điện áp cao khi không truyền dữ liệu, đảm bảo độ ổn định của tín hiệu Khi bắt đầu truyền dữ liệu, UART sẽ kéo đường truyền từ mức cao xuống mức thấp trong một chu kỳ đồng hồ, tín hiệu này xác nhận sự bắt đầu của quá trình truyền dữ liệu Khi UART 2 phát hiện sự chuyển đổi từ mức cao xuống thấp, nó sẽ bắt đầu đọc các bit trong khung dữ liệu theo tần số của tốc độ truyền (Baud rate), đảm bảo quá trình truyền dữ liệu chính xác và liên tục.
Bit dừng được đặt ở phần cuối của gói dữ liệu trong truyền thông UART, thường dài 2 bit nhưng chỉ sử dụng 1 bit để dừng sóng Để kết thúc quá trình truyền dữ liệu, UART giữ đường dữ liệu ở mức điện áp cao, đảm bảo tín hiệu được xác nhận đã hoàn tất.
Bit chẵn lẻ là phương pháp kiểm tra lỗi đơn giản giúp người nhận xác nhận tính chính xác của dữ liệu đã thu thập Hệ thống kiểm tra lỗi cấp thấp này hoạt động dựa trên nguyên tắc bit chẵn hoặc lẻ, phù hợp với hai phạm vi chính là Chẵn lẻ – chẵn lẻ và Chẵn lẻ – lẻ Tuy nhiên, trong thực tế, bit chẵn lẻ không được sử dụng rộng rãi và không phải là một yêu cầu bắt buộc trong quá trình kiểm tra dữ liệu.
Khung dữ liệu chứa các bit dữ liệu thực tế truyền từ người gửi đến người nhận, với độ dài thường từ 5 đến 8 bit Trong trường hợp không sử dụng bit chẵn lẻ, khung dữ liệu có thể dài đến 9 bit, giúp tăng khả năng truyền tải thông tin Thông thường, bit LSB (Least Significant Bit) được truyền trước, điều này rất hữu ích trong quá trình truyền dữ liệu.
2.6.1.3 Các ứng dụng của UART
UART thường được sử dụng trong các bộ vi điều khiển để đảm bảo truyền dữ liệu chính xác và hiệu quả Ngoài ra, UART còn phổ biến trong các thiết bị liên lạc khác như giao tiếp không dây, thiết bị GPS, mô-đun Bluetooth và nhiều ứng dụng đa dạng khác, trở thành chuẩn kết nối quan trọng trong công nghệ truyền thông hiện nay.
Trong các tiêu chuẩn truyền thông, RS422 và TIA được sử dụng phổ biến ngoài RS232 trong giao tiếp UART Thông thường, UART là một mạch tích hợp riêng biệt được sử dụng để thực hiện giao tiếp nối tiếp hiệu quả.
2.6.1.4 Ưu và nhược điểm của UART Ưu điểm
• Chỉ sử dụng hai dây
• Không cần tín hiệu đồng hồ
• Có một bit chẵn lẻ để cho phép kiểm tra lỗi
• Cấu trúc của gói dữ liệu có thể được thay đổi
• Phương pháp được ghi chép rõ ràng và được sử dụng rộng rãi
• Kích thước của khung dữ liệu được giới hạn tối đa là 9 bit
• Không hỗ trợ nhiều hệ thống phụ hoặc nhiều hệ thống chính
• Tốc độ truyền của mỗi UART phải nằm trong khoảng 10% của nhau
2.6.2.1 Giới thiệu về giao tiếp SPI
SPI là giao thức giao tiếp phổ biến được ứng dụng rộng rãi trong nhiều thiết bị như module thẻ SD, đầu đọc thẻ RFID và bộ phát / thu không dây 2,4 GHz, giúp kết nối hiệu quả với vi điều khiển để truyền dữ liệu nhanh chóng và đáng tin cậy.
SPI là giao thức truyền dữ liệu liên tục mà không bị gián đoạn, cho phép gửi và nhận bất kỳ số lượng bit nào trong một luồng duy trì liên tục Khác với I2C và UART, dữ liệu trong SPI không giới hạn ở các gói nhỏ hay số bit cố định, giúp nâng cao hiệu suất truyền tải dữ liệu Điều kiện bắt đầu và kết thúc truyền dữ liệu của SPI cũng linh hoạt hơn, đảm bảo quá trình truyền dữ liệu diễn ra thuận lợi và ổn định.
22 dừng xác định điểm bắt đầu và kết thúc của mỗi gói, do đó dữ liệu bị gián đoạn trong quá trình truyền
THIẾT KẾ HỆ THỐNG XỬ LÝ ẢNH
Thiết kế sơ đồ bộ khóa
Bộ khóa cửa thông minh gồm: Khối xử lý trung tâm, khối hiển thị, khối cảnh báo và khối nguồn
Sơ đồ khối hệ thống:
Hình 3.1 Sơ đồ khối hệ thống
3.1.1 Khối xử lý trung tâm
Kit thu phát WiFi ESP32-CAM được sử dụng làm vi điều khiển trung tâm trong hệ thống giám sát và nhận diện khuôn mặt Sau khi kết nối WiFi, hệ thống được khởi tạo, dữ liệu từ các cảm biến gửi về vi xử lý để xử lý Vi xử lý so sánh dữ liệu khuôn mặt mới với dữ liệu đã đăng ký trước đó để xác thực người dùng Cuối cùng, hệ thống gửi lệnh đến khối chấp hành để thực hiện các hành động cần thiết, đảm bảo quy trình hoạt động chính xác và hiệu quả.
ESP32-CAM là một giải pháp lý tưởng cho các ứng dụng IoT nhờ khả năng thích hợp với thiết bị thông minh gia đình, điều khiển không dây công nghiệp và giám sát không dây kiểm soát Nó còn hỗ trợ nhận dạng không dây QR và hệ thống định vị không dây, phù hợp với nhiều lĩnh vực trong công nghệ IoT.
ESP32-CAM là module camera nhỏ gọn, có kích thước chỉ 40 x 27 x 12 mm, phù hợp cạnh tranh trong ngành nhờ thiết kế tiện lợi và khả năng xử lý độc lập Với mức dòng nghỉ chỉ 6mA, ESP32-CAM tiết kiệm năng lượng, đáp ứng tốt các dự án IoT và giám sát từ xa.
Mạch thu phát WiFi ESP32 với độ ổn định và bền bỉ cao, phù hợp cho các dự án yêu cầu kết nối không dây tối ưu Được trang bị camera OV2640 chất lượng cao, cho hình ảnh sắc nét, không nhiễu sọc và hạn chế tình trạng treo máy trong quá trình hoạt động nhờ vào IC cấp nguồn chất lượng Ngoài ra, mạch có khả năng lập trình dễ dàng bằng Arduino IDE, được cộng đồng hỗ trợ mạnh mẽ, giúp người dùng phát triển dự án một cách thuận tiện và hiệu quả.
Hình 3.2 Module ESP32-CAM Bảng 3.1 Thông số cơ bản của ESP32-CAM
Tên Mô tả Điện áp cung cấp 5V
SPI Flash Mặc định 32Mbit
RAM 520KB SRAM + PSRAM 4M bên ngoài
Bộ nhớ ngoài Khe cắm thẻ micro SD lên đến 4GB
Bluetooth tiêu chuẩn Bluetooth 4.2BR / EDR và BLE
Giao diện hỗ trợ UART, SPI, I2C, PWM
Tốc độ cổng giao tiếp 115200 bps mặc định
+ Hỗ trợ camera 0V2640 ( bán kèm theo board) hoặc camera OV7670
+ JPEG (chỉ được hỗ trợ bởi OV2640), BMP + Đèn led
Dạng ăng ten Ăng-ten PCB trên bo mạch, đạt được 2dBi
Truyền tín hiệu + 802.11b: 17 ± 2 dBm (@ 11Mbps)
+ 802.11g: 14 ± 2 dBm (@ 54Mbps) + 802.11n: 13 ± 2 dBm (@ MCS7) Độ nhạy + CCK, 1 Mb/giây: -90dBm
+ CCK, 11 Mb/giây: -85dBm + 6 Mb/giây (1/2 BPSK): -88dBm + 54 Mbps (3/4 64-QAM): -70dBm + MCS7 (65 Mb/giây, 72,2 Mb/giây): -67dBm
Sự tiêu thụ năng lượng + Tắt đèn flash: 180mA @ 5V
+ Bật đèn flash và điều chỉnh độ sáng tối đa: 310mA @ 5V +Sleep Deep: Mức tiêu thụ điện năng thấp nhất có thể đạt 6mA @ 5V
+ Modem-bed: lên tới 20mA @ 5V
+ Sleep Light: lên tới 6,7mA@5V
Bảo vệ WPA / WPA2 / WPA2-Enterprise / WPS
Môi trường lưu trữ -40 °C ~ 90 °C, chọn Preferences
Hình 3.12 Thao tác để mở thư viện
Nhập “https://dl.espressif.com/dl/package_esp32_index.json” vào ô “Additional Board Manager URLs” như hình bên dưới, sau đó nhấn OK
Hình 3.13 Add thư viện ESP32
Gõ esp32 vào ô tìm kiếm, sau đó nhấn Install để cài đặt “ESP32 by Espressif Systems”, sau khi báo Installed là đã cài đặt xong
Hình 3.14 Cài thư viện cho ESP32
Chọn board ESP32 bạn cần nạp: Tool -> Board -> ESP32 Arduino -> ESP32 Wrover module
Hình 3.15 Chọn chế độ board cho ESP32
Để lấy địa chỉ IP cho Module ESP32-CAM, bạn cần kết nối nó với USB TTL CP2102 và máy tính Hãy thực hiện kết nối theo sơ đồ đã hướng dẫn để nạp code thành công và xác định địa chỉ IP cho thiết bị của bạn.
Hình 3.16 Kết nối giữa ESP32 và mạch nạp
Kết nối chân IO0 với chân GND của ESP32-CAM khi nạp code để đảm bảo chế độ lập trình hoạt động chính xác Sau khi hoàn tất nạp code, bạn tháo jumper để tách chân IO0 khỏi GND nhằm để ESP32-CAM có thể hoạt động bình thường Để bắt đầu, mở Serial monitor, chọn baud rate 115200, rồi nhấn nút reset để khởi động thiết bị Quá trình này giúp nạp và khởi động ESP32-CAM một cách hiệu quả và an toàn.
Hình 3.17 Lấy được địa chỉ IP Địa chỉ IP của ESP32 đã được in trong Serial Monitor, bây giờ copy địa chỉ đó và dán vào trình duyệt
3.2.2 Thiết lập Wifi cho mô hình
Trong lập trình WiFi, chúng ta thường sử dụng hàm WiFi.begin(ssid, password) để thiết lập tên mạng và mật khẩu Tuy nhiên, việc phải chỉnh sửa mã nguồn mỗi khi kết nối với mạng WiFi khác và nạp lại chương trình gây bất tiện lớn Điều này khiến hệ thống khó thích ứng linh hoạt trong các ứng dụng thực tế, đặc biệt khi cần thay đổi mạng WiFi thường xuyên.
Trong quá trình thiết lập thiết bị trước khi hoạt động, người dùng cần cấu hình kết nối WiFi cho sản phẩm Trong đồ án này, tôi sử dụng phương pháp Smartconfig, một giải pháp tiện lợi và hiệu quả để truyền dữ liệu WiFi và mật khẩu từ ứng dụng đến ESP32 Phương pháp này không đòi hỏi thao tác phức tạp, nhờ có các gói SDK hỗ trợ giúp đơn giản hóa quá trình cài đặt kết nối WiFi cho thiết bị IoT.
Hình 3.18 Mô hình hoạt động của Smartconfig
3.2.2.1 Những ưu điểm của SmartConfig là:
• Dễ dàng cấu hình wifi cho ESP8266, ESP32 thông qua smartphone
• Không cần phải nạp lại code để cấu hình
• Có thể dùng Smartconfig để cấu hình nhiều thiết bị một lúc
3.2.2.2 SmartConfig hoạt động như thế nào?
Có 2 đặc điểm của ESP để có thể sử dụng được kỹ thuật này
• ESP có khả năng lắng nghe tất cả các gói tin không dây WiFi xung quanh nó, bao gồm cả các gói tin đã được mã hóa
• Các gói tin gửi trong mạng WiFi được mã hóa và không thể đọc được nội dung, tuy nhiên độ dài gói tin là một hằng số
3.2.2.3 Tiến trình Smartconfig như sau
• ESP ở chế độ lắng nghe gói tin UDP
• Smartphone app gửi các gói tin UDP được mã hóa
ESP nhận bản tin và kiểm tra độ dài của từng dữ liệu để suy ra các ký tự phù hợp Sau đó, các ký tự này được ghép nối lại với nhau tạo thành chuỗi SSID và PASS sử dụng cho kết nối Wi-Fi Quá trình này giúp thiết bị tự động cấu hình mạng một cách chính xác và nhanh chóng.
• ESP chuyển sang STA mode đăng nhập vào mạng wifi với thông tin như trên
• App nhận được thông tin ESP đăng nhập vào, lưu địa chỉ IP của thiết bị đó lại để giao tiếp
3.2.2.4 Một số lưu ý khi sử dụng Smartconfig
• Wifi.mode(WIFI_AP_STA): Chuyển ESP32 sang Station mode (Để chạy SmartConfig cần chuyển ESP32 sang Station mode)
• Wifi.smartConfigDone(): Kiểm tra smartconfig xong hay chưa
• Sau khi nạp chương trình, ESP32 sẽ vào chế độ smart config
Hình 3.19 Thiếp lập thành công wifi
Cách lưu trữ khuôn mặt
Trong phần này, tôi sẽ hướng dẫn cách lưu trữ hình ảnh đã đăng ký (eroll face) vào bộ nhớ để dễ dàng quản lý và truy xuất Việc lưu trữ này giúp hệ thống nhận diện khuôn mặt nhanh chóng và chính xác hơn khi so sánh với hình ảnh thu được từ ESP32 Bạn có thể sử dụng các dữ liệu đã lưu để thực hiện quá trình đối chiếu, nhận dạng khuôn mặt một cách hiệu quả trong các ứng dụng nhận diện thế hệ mới.
• Tạo sơ đồ phân vùng mới để cho phép lưu trữ liên tục
• Sửa đổi bản phác thảo CameraWebServer để lưu dữ liệu khuôn mặt vào phân vùng mới
• Sử dụng các nhận dạng đã lưu này để điều khiển các thiết bị được kết nối với ESP32
3.3.1 Phân vùng lại bộ nhớ của ESP32
Để tạo vùng lưu trữ khuôn mặt đã nhận dạng trên ESP32, cần phân vùng lại bộ nhớ của thiết bị và thêm tệp phân vùng mới vào thư mục chứa các lược đồ phân vùng khác Nếu đã cài sẵn file rzo_partitions, quá trình này sẽ diễn ra thuận lợi và kết quả sẽ được thiết lập chính xác, đảm bảo lưu trữ dữ liệu khuôn mặt một cách an toàn và hiệu quả cho dự án của bạn.
Hình 3.20 Thêm tệp vào thư mục chứa các lược đồ phân vùng khác
Để cập nhật lược đồ mới cho thiết bị ESP, bạn cần thêm nó vào tệp cấu hình trình quản lý bảng - board.txt Cụ thể, thêm ba dòng dưới các tùy chọn phân vùng hiện có dành cho bảng Esp32wrover Hướng dẫn chi tiết và hình ảnh minh họa giúp bạn dễ dàng truy cập và chỉnh sửa tệp board.txt một cách chính xác Việc này đảm bảo thiết lập đúng lược đồ mới cho ESP của bạn, nâng cao hiệu suất và khả năng tùy biến của thiết bị IoT.
Tại đây tiếp tục tìm đến phần dữ liệu của esp32wrover.name để thêm 3 dòng code vào tệp dữ liệu của esp32wrover ở dòng 201 như hình bên dưới:
Hình 3.22 Thêm phần dữ liệu của esp32wrover Đóng và mở lại IDE để xác nhận lược đồ phân vùng ‘Face Recognition’ mới có sẵn trong menu công cụ
Hình 3.23 Phân vùng mới đã được lưu
3.3.2 Thu thập dữ liệu khuôn mặt để lưu trữ Để giải quyết vấn đề CameraWebServer trong IDE không lưu các khuôn mặt đã đăng ký khi bị mất điện Trong Arduino IDE tạo một bản sao CameraWebSever sử dụng sketch này để học và lưu lại các khuôn mặt [13]
Hình 3.24 Sử dụng sketch này để học và lưu lại các khuôn mặt
Trong tab thứ hai (app_httpd.cpp) thực hiện các thay đổi sau:
Sau #include “fr_forward.h” thêm: #include “fr_flash.h”;
Hình 3.25 Thêm thư viện flash.h
Thay đổi vùng lưu dữ liệu cho khuôn mặt bằng dòng: int8_t left_sample_face enroll_face_id_to_flash(&id_list, aligned_face)
Hình 3.26 Thay đổi vùng lưu dữ liệu khuôn mặt
Thêm dòng: read_face_id_from_flash(&id_list);
Hình 3.27 Thêm phần đọc dữ liệu từ flash
Flash và chạy, dữ liệu khuôn mặt đã đăng ký sẽ được lưu vào phân vùng mới trên bộ nhớ flash.
Thi công mô hình
Hình 3.28 Sơ đồ đấu nối của mạch bộ khóa
Theo sơ đồ ghép nối của bộ khóa cửa hình 3.27, khối nguồn cung cấp toàn bộ điện áp cần thiết cho vi điều khiển và các linh kiện khác trong hệ thống Các linh kiện được kết nối với nhau theo thứ tự các chân đã được xác định rõ ràng để đảm bảo hoạt động chính xác của bộ khóa Việc cấp nguồn đúng cách là yếu tố quyết định đến hiệu quả và ổn định của hệ thống điều khiển khóa cửa.
• Điện áp 12V cấp nguồn cho chân com của relay
Mô-đun điều chỉnh điện áp LM2596S được cấp nguồn từ nguồn 12V, nối vào hai chân In- và In+ để giảm điện áp xuống còn 5V Điện áp 5V này sau đó cung cấp nguồn cho vi điều khiển và đầu vào của relay, đảm bảo hoạt động ổn định và hiệu quả cho hệ thống điều khiển.
• Chân Vcc của khóa được nối với chân NC (thường đóng) của realy
• Chân In của relay được nối với chân GPIO 12 của vi điều khiển
• Chân GPIO 13 được nối với chân + của còi Buzzer
Hình 3.29 Kết quả mạch của bộ khóa