Chương 1: Cơ sở lý thuyết. Chương 2: Thiết kế hệ thống cửa thông minh sử dụng nhận diện khuôn mặt. Chương 3: Kết quả thực nghiệm và đánh giá.1 Tổng quan vấn đề nghiên cứu 1.1 Tình hình nghiên cứu ở trong nước Ở Việt Nam hiện nay, khóa thông minh là một thuật ngữ phổ biến trong các doanh nghiệp và trường đại học. Trong những năm gần đây, nhìn nhận được xu hướng công nghệ toàn cầu, nhiều tập đoàn công nghệ, viện nghiên cứu và trường đại học đã và đang đặt trọng điểm vào việc phát triển và sản xuất các sản phẩm liên quan đến khóa thông minh.
Một số doanh nghiệp liên tục cải tiến sản phẩm của mình để cạnh tranh với các khóa thông minh được nhập khẩu từ các hãng nước ngoài, nhằm thay thế cho các thiết bị khóa cơ truyền thống như Việt Tiệp, Huy Hoàng … Một số hệ thống khóa cửa thông minh được sử dụng phổ biến hiện nay: - Khóa vân tay: Hệ thống này cho phép vân tay của người sự dụng được mã hóa trên thiết bị và chỉ khi có vân tay đó đặt vào thì khóa cửa mới tự động mở. - Khóa mật mã: Là loại khóa dùng mật mã thay cho chìa khóa để mở cửa. - Khóa bằng thẻ RFID: RFID là công nghệ nhận dạng các đối tượng dựa trên bước sóng vô tuyến. - Khóa cửa thông minh sử dụng nhận diện khuôn mặt: Là công nhận diện khuôn mặt được sử dụng để xác thực danh tính của một người thông qua việc phân tích các đặc trưng của khuôn mặt của họ.2 Tình hình nghiên cứu ở nước ngoài An toàn luôn là một yếu tố quan trọng ở mọi quốc gia.
Do đó, đề tài về khóa thông minh đang thu hút sự quan tâm rất lớn trong lĩnh vực nghiên cứu hiện nay. Các tập đoàn công nghệ hàng đầu thế giới như Apple, Samsung, Kassler và Philips đều đặc biệt quan tâm đến chủ đề này. Trong số đó, khóa thông minh sử dụng công nghệ nhận dạng khuôn mặt đang trở thành lựa chọn hàng đầu. Có nhiều phương pháp thường được áp dụng như: - Nhận diện khuôn mặt với Haar Cascade [3] 5 Phương pháp nhận diện khuôn mặt này dựa trên các đặc trưng Haar-Like.
Các đặc trưng Haar-Like là những hình chữ nhật được phân thành các vùng khác nhau. Đặc trưng do Viola và Jones công bố gồm 4 đặc trưng cơ bản để xác định khuôn mặt người. Mỗi đặc trưng Haar-Like là sự kết hợp của hai hay ba hình chữ nhật trắng hay đen. Dùng các đặc trưng trên, ta có thể tính được giá trị của đặc trưng Haar-Like là sự chênh lệch giữa tổng của các pixel của vùng đen và vùng trắng.
- Nhận diện khuôn mặt với OpenCV Dlib và Deeplearning [3] Dlib là một thư viện mở rộng cho OpenCV, cung cấp các công cụ mạnh mẽ cho xử lý hình ảnh và tầm nhìn máy tính, đặc biệt là trong lĩnh vực nhận dạng khuôn mặt. Dlib sử dụng thuật toán HOG (Histogram of Oriented Gradients) và SVM (Support Vector Machine) để xác định khuôn mặt một cách hiệu quả và chính xác. Nhờ ưu điểm này, Dlib có tốc độ xử lý nhanh, phù hợp cho các ứng dụng thời gian thực. - Nhận diện khuôn mặt với MTCNN và FaceNET [4] MTCNN và FaceNet là hai mạng nơ-ron convolution nổi tiếng trong lĩnh vực nhận diện khuôn mặt.
Khi kết hợp, chúng mang lại hiệu quả vượt trội khi xử lý ảnh/video có nhiều người trong điều kiện thực tế. MTCNN đảm nhiệm vai trò phát hiện và sắp xếp khuôn mặt. Nó xác định vị trí từng khuôn mặt trong ảnh/video, tạo ra các khung (bounding boxes) và điều chỉnh kích thước, hướng về chuẩn để phù hợp với FaceNet. Tiếp theo, FaceNet thực hiện vai trò trích xuất đặc trưng và phân loại.
Nó trích xuất các đặc điểm của mỗi khuôn mặt từ ảnh đã được MTCNN chuẩn hóa sau đó phân biệt và xác định danh tính từng cá nhân trong ảnh/video.3 Các kết quả nghiên cứu chính Apple tiên phong ứng dụng Face ID để mở khóa iPhone, iPad, nâng tầm trải nghiệm bảo mật tiện lợi và cá nhân hóa. Facebook kết nối cộng đồng bạn bè hiệu quả hơn thông qua hệ thống gắn thẻ khuôn mặt tự động. Ngành tài chính hướng đến sử dụng nhận diện khuôn mặt như phương thức xác thực thanh toán, 6 thay thế thẻ cứng truyền thống, gia tăng bảo mật và thuận tiện cho giao dịch. Sân bay và nhà ga áp dụng nhận diện khuôn mặt để tăng cường an ninh, kiểm soát và xác định hành khách nhanh chóng, hiệu quả.
Trường học và công ty quan tâm đến việc sử dụng hệ thống tự động điểm danh, chấm công dựa trên nhận diện khuôn mặt, tiết kiệm thời gian và nâng cao hiệu quả quản lý.1 Apple sử dụng nhận diện khuôn mặt để mở khóa thiết bị di động Hình 1.2 App ngân hàng sử dụng nhận diện mặt để xác thực thanh toán 7 Ưu và nhược điểm của việc sử dụng sinh trắc học Xác thực sinh trắc học là một hình thức bảo mật đo lường và đối sánh các tính năng sinh trắc học của người dùng. Xác thực sinh trắc học thực hiện thông qua các dấu hiệu nhận diện như: dấu vân tay, dái tai, võng mạc, hình dạng bàn tay, khuôn mặt hoặc chữ ký bằng văn bản. Ưu điểm - Bảo mật: Sinh trắc học được coi là một phương pháp xác thực an toàn hơn so với mật khẩu hoặc mã PIN vì các đặc điểm sinh học của mỗi người là duy nhất và khó bị sao chép. - Tiện lợi: Sử dụng sinh trắc học có thể nhanh chóng và dễ dàng hơn so với việc nhập mật khẩu hoặc mã PIN.
Người dùng không cần phải ghi nhớ hoặc mang theo bất kỳ thứ gì, chỉ cần quét dấu vân tay, mống mắt hoặc khuôn mặt của họ. - Khó gian lận: Việc giả mạo các đặc điểm sinh học là rất khó khăn, do đó sinh trắc học có thể giúp giảm thiểu gian lận và truy cập trái phép. - Có thể áp dụng rộng rãi: Sinh trắc học có thể được sử dụng cho nhiều ứng dụng khác nhau, chẳng hạn như kiểm soát truy cập vật lý, xác thực tài khoản ngân hàng, bảo mật thiết bị di động và xác minh danh tính. Nhược điểm - Chi phí: Triển khai các hệ thống sinh trắc học có thể tốn kém, đặc biệt là đối với các công nghệ tiên tiến như nhận dạng mống mắt hoặc quét võng mạc.
- Tính riêng tư: Việc thu thập và lưu trữ dữ liệu sinh trắc học có thể gây ra lo ngại về quyền riêng tư. Nếu dữ liệu này bị rò rỉ, nó có thể bị lạm dụng cho các mục đích bất chính. - Độ chính xác: Mức độ chính xác của các hệ thống sinh trắc học có thể thay đổi tùy thuộc vào công nghệ được sử dụng và chất lượng của dữ liệu thu thập được. Một số hệ thống có thể gặp lỗi hoặc cho kết quả sai.
8 - Khả năng bị đánh lừa: Mặc dù rất khó để giả mạo các đặc điểm sinh học, nhưng vẫn có một số trường hợp có thể bị đánh lừa, chẳng hạn như sử dụng mặt nạ silicon hoặc hình ảnh mống mắt in.4 Những hạn chế của các nghiên cứu trước Mục tiêu là phát triển một hệ thống nhận diện khuôn mặt với đầu vào là hình ảnh kỹ thuật số hoặc khung hình video từ một nguồn video, và đầu ra là xác định hoặc xác minh danh tính của người trong hình ảnh hoặc video đó. Để đạt được mục tiêu này, chúng ta thường chia quy trình nhận diện khuôn mặt thành ba bước: phát hiện khuôn mặt, trích xuất đặc trưng và nhận diện khuôn mặt. Ngoài những thành công đã đạt được, nhận diện khuôn mặt vẫn gặp nhiều thách thức như độ sáng, góc nghiêng, khoảng cách, kích thước hình ảnh, diện mạo và biểu hiện cảm xúc của khuôn mặt. Đây là những vấn đề cần được khắc phục và cải tiến.2 Cấu tạo, cách thực hoạt động của khóa thông minh Ổ khóa điện tử thông minh có cấu tạo phức tạp hơn so với ổ khóa thông thường, bao gồm một số bộ phận chủ yếu sau [5]: - Khóa chốt để đảm bảo cửa được khóa an toàn.
- Bộ nguồn để cung cấp và lưu trữ điện cho khóa. - Bộ bát inox để cố định và gắn chốt chắc chắn. Tất cả các bộ phận này được kết nối với nhau thành một hệ thống phức tạp thông qua các đường dây điện và nẹp chắc chắn. Cách thức hoạt động: Giống với khóa truyền thống, chốt khóa và bu lông là 2 bộ phận quan trọng trong cấu tạo của ổ khóa.
Bộ truyền động kết nối với bu lông hoặc xi lanh với một động cơ được ẩn hoàn toàn bên trong cửa hoặc khung. Động cơ sẽ được điều khiển bởi xung điện được kích hoạt theo cách nhận diện khuôn mặt, vân tay hoặc nhập mật mã.3 Nội dung lý thuyết liên quan 1.1 Tổng quan về OpenCV Giới thiệu về OpenCV: [3] Gary Bradsky là người sáng lập dự án OpenCV của Intel vào năm 1999. OpenCV là viết tắt của Open Source Computer Vision Library, thư viện nguồn mở hàng đầu cho Computer Vision và Machine Learning. Nó cung cấp tính năng tăng tốc GPU cho các hoạt động thời gian thực.
OpenCV được phát hành theo giấy phép BSD, vì vậy nó miễn phí cho việc học tập và sử dụng thương mại. Thư viện này hỗ trợ các giao diện C++, C, Python và Java, và tương thích với Windows, Linux, Mac OS, iOS và Android. OpenCV được thiết kế để hiệu quả tính toán và đặc biệt phù hợp cho các ứng dụng thời gian thực. Khi được viết bằng C/C++ tối ưu, thư viện này có thể tận dụng được xử lý đa lõi.
Các ứng dụng của OpenCV: OpenCV đang được sử dụng rộng rãi trong các ứng dụng bao gồm: - Nhận dạng khuôn mặt - Phát hiện đối tượng - Xử lý ảnh và video - Phân tích và theo dõi chuyển động - Xử lý hình ảnh y tế - Thực tế ảo và tăng cường thực tế - Xử lý hình ảnh công nghiệp Chức năng của OpenCV: Theo tính năng và ứng dụng của OpenCV, có thể chia thư viện này thánh các nhóm tính năng và module tương ứng như sau: - Xử lý và hiển thị hình ảnh/video/I/O (core, imgproc, highgui) - Phát hiện các vật thể (objdetect, features2d, nonfree) - Thị giác máy tính đơn hoặc lập thể dựa trên hình học (calib3d, stitching, videostab) 10 - Nhiếp ảnh tính toán (photo, video, superres) - Học máy và phân nhóm (ml, flann) - Tăng tốc CUDA (GPU) Cấu trúc OpenCV: OpenCV có cấu trúc module, nghĩa là gói bao gồm một số thư viện liên kết tĩnh (static libraries) hoặc thư viện liên kết động (shared libraries).