Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 96 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
96
Dung lượng
2,61 MB
Nội dung
TÊN ĐỀ TÀI: KHĨA CỬA THƠNG MINH SỬ DỤNG ARDUINO Giáo viên hướng dẫn: PGS.TS Trần Đức Thuận MỤC LỤC MỤC LỤC DANH MỤC HÌNH ẢNH .5 DANH MỤC BẢNG BIỂU .7 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP : TỔNG QUAN VỀ KHĨA THƠNG MINH Lý chọn đề tài Mục tiêu .10 Giới thiệu khóa thơng minh 10 Giới thiệu khóa thơng minh 11 Các phương thức mở khóa cửa thơng minh 11 CƠ SỞ LÝ THUYẾT VỀ CÁC LINH KIỆN 13 Tổng quan arduino 13 Giới thiệu board arduino uno 13 Giới thiệu board arduino mega 2560 .17 Nhận dạng vân tay với cảm biến vân tay as608 22 Giới thiệu công nghệ RFID 31 Giới thiệu 31 Module RFID-rc522 32 Bàn phím ma trận 4x4 (keypad 4x4) 35 Hoạt động keypad 4x4 36 Khái niệm 36 Thông số kỹ thuật keypad 4x4 37 Ứng dụng 37 Giới thiệu vè module sim 800l 37 Giới thiệu chung 37 Thông số kỹ thuật module sim800l .38 Tập lệnh at module sim800l 38 Sơ đồ chân module gsm gprs 39 Màn hình lcd 16x2 40 Giới thiệu 40 Module giao tiếp i2c lcd 16x2 với arduino 42 TÍNH TỐN VÀ THIẾT KẾ .43 THIẾT KẾ SƠ ĐỒ KHỐI HỆ THỐNG .43 Tính tốn thiết kế mạch 45 Khối xử lý trung tâm 45 Khối cảm biến vân tay 46 Khối module sim 800l 48 Khối module RFID-rc522 50 Khối ma trận bàn phím 4x4 52 Khối nguồn 52 Khối chấp hành 55 Chống nhiễu cho arduino .57 THI CÔNG HỆ THỐNG 58 Lập trình hệ thống 58 Lưu đồ giải thuật 58 Giới thiệu phần mềm lập trình arduino ide 59 Giới thiệu phần mềm mô proteus 60 Lập trình code nạp cho vi điều khiển 65 Mơ hình sau hoàn thành 84 NGHIÊN CỨU MỞ KHÓA BẰNG CHỨC NĂNG NHẬN DIỆN KHUÔN MẶT .85 Giới thiệu phương pháp nhận diện khuôn mặt 85 Nhận dạng dựa đặc trưng khuôn mặt .86 Nhận dạng dựa xét tồn khn mặt 86 Opencv việc nhận dạng khuôn mặt 87 Sơ đồ khối hệ thống 89 DANH MỤC HÌNH ẢNH Hình 1-1 Hình ảnh khóa thơng minh thực tế 10 Hình 2-1 Các loại board arduino 13 Hình 2-2 Hình ảnh thực tế arduino uno 14 Hình 2-3 Các chân nguồn arduino uno .15 Hình 2-4 Hình ảnh thực tế arduino mega 2560 18 Hình 2-5 Sơ đồ chân arduino mega 2560 20 Hình 2-6 Hình ảnh vân tay nhận dạng .23 Hình 2-7 Sơ đồ trình xủ lý ảnh 24 Hình 2-8 Quá trình so sánh vân tay 25 Hình 2-9 Hình ảnh thực tế cảm biến vân tay as608 .26 Hình 2-10 giao thức truyền thông as608 .29 Hình 2-11 Định nghĩa ghi 30 Hình 2-12 Chip bảo mặt thẻ RFID 31 Hình 2-13 Hình ảnh thực tế module RFID-rc522 32 Hình 2-14 Thẻ từ để quét với module rfid 34 Hình 2-15 Hình ảnh thực tế bàn phím ma trận 4x4 36 Hình 2-16 Hình ảnh thực tế module sim800l .38 Hình 2-17 Hình ảnh thực tế hình lcd 16x2 40 Hình 2-18 Hình ảnh thực tế module giao tiếp i2c 42 Hình 3-1 Sơ đồ khối hệ thống 44 Hình 3-2 Board arduino mega 2560 46 Hình 3-3 Khối xử lý khối cảm biến vân tay 46 Hình -4 Phương thức truyền thông nối tiếp uart 48 Hình 3-5 Cảm biến vân tay kết nối arduino mega 48 Hình 3-6 Hình ảnh thực tế module giảm áp lm2596 49 Hình 3-7 Phương thức giao tiếp spi 51 Hình 3-8 Hình ảnh thực tế bàn phím ma trận 4x4 52 Hình 3-9 Hình ảnh nguồn adapter 12v 3a thực tế 53 Hình 3-10 Nguồn pin 9v dự phòng 53 Hình 3-11 Dây cáp cấp nguồn cho arduino 53 Hình 3-12 Mạch chuyển nguồn tự động 54 Hình 3-13 Hình ảnh relay thực tế .55 Hình 3-14 Khóa điện 12v 56 Hình 3-15 Hình ảnh tip 41c 57 Hình 4-1 Lưu đồ giải thuật 58 Hình 4-2 Giao diện phần mềm lập arduino ide 59 Hình 4-3 Ma trận bàn phím 4x4 hiển thị lên lcd 61 Hình 4-4 Cửa mở nhập mật 65 Hình 4-5 Đăng ký vân tay thành cơng 71 Hình 4-6 Chạy thử chức mở cửa 83 Hình 4-7 Mơ hình cửa thơng minh hoàn thành .84 Hình 5-1 Hình ảnh raspberry pi 3…………….……………………………… 88 Hình 5-2 Sơ đồ khối hệ thống mở cửa phương pháp nhận diện khuôn mặt 89 Hình 5-3 Kết đoạn trương trình phát khn mặt 91 Hình 5-4 Kết tìm điểm landmarks chỉnh khn mặt .92 Hình 5-5 Các điểm landmarks chuẩn sử dụng 93 DANH MỤC BẢNG BIỂU bảng 2-1 Thông số kỹ thuật arduino uno .15 Bảng 2-2 Chức chân cảm biến vân tay 28 bảng 5-3 Sơ đò chân hình lcd 16x2 .40 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP TÊN ĐỀ TÀI : KHĨA CỬA THƠNG MINH SỬ DỤNG ARDUINO U CẦU: Mơ hình thực tế phần mềm mơ Nội dung thực hiện: + Nhiệm vụ chung : - Tìm hiểu nghiên cứu cấu tạo, nguyên lý hoạt động, chức module Arduino R3, arduino Mega 2560 , cảm biến vân tay AS608, module Sim 800l, ma trận phím 4x4, module RFID hình LCD, nguồn giảm áp … - Tìm hiểu phần mềm lập trình cho Arduino - Tìm hiểu phần mềm mô mạch điện Proteus - Thiết kế lắp đặt mơ hình hồn thiện - Viết báo cáo tốt nghiệp + Nhiệm vụ riêng: - Tìm hiểu thêm phương pháp mở cửa nhận diện khuôn mặt - Lập trình điều khiển khóa cửa với cách : mở cửa mật mở cửa gọi phần mềm Arduino IDE - Mô nguyên lý hoạt động cách mở cửa mật phần mềm Proteus : TỔNG QUAN VỀ KHÓA THÔNG MINH Lý chọn đề tài Ngày nay, đời sống kinh tế - xã hội phát triển, vấn đề an ninh quan tâm nhiều Ở nước ta, việc bảo vệ an ninh dẫm chân chỗ việc người ta sử dụng người cho mục đích an ninh việc thuê bảo vệ viên, hay lắp đặt hệ thống camera thông thường mà kẻ gian hiểu biết qua mắt Thời đại 4.0 thời đại công nghệ thứ dần cơng nghệ hóa, đại hóa và Smart home cần có smartlock Thiết kế khóa cửa thơng minh thời điểm sớm hay mẻ chưa muộn xã hội dần tiếp cận gần ưa chuộng với thiết bị điện tử thơng minh có tính bảo mật cao Khóa cửa thơng minh thiết bị điện khác biệt với loại khóa truyền thống có tác dụng thực nhiệm vụ đóng/mở nhận lệnh từ thiết bị xác thực Smartlock sử dụng kết nối không dây với khóa mã để thực q trình xác nhận Khóa cửa thơng minh đồng thời nhận diện tiếp cận gửi thông báo tình khẩn cấp khác liên quan đến tình trạng thiết bị Mặt khác, việc phát triển không ngừng vi xử lý cho đời nhiều loại sản phẩm thơng minh nhỏ gọn, tích hợp nhiều cho người dùng dễ sử dụng Không thể không kể đến kit Arduino- sản phẩm sử dụng tồn cầu có cộng đồng người dùng lớn Kit Arduino kết hợp với nhiều module khác để tạo nên ứng dụng thiết thực cho sống đại ngày Với đặc tính trên, nhóm định thực mơ hình bao gồm Arduino, module cảm biến vân tay, bàn phím, thẻ từ để làm khóa cửa thơng minh Trong báo này, chúng em xây dựng mô hình hệ thống cửa tự động với cấp độ bảo mật cao khắc phục vấn đề tồn sử dụng nguồn nhân lực người Mục tiêu -Tìm hiểu nghiên cứu kit Arduino, module cảm biến vân tay AS608, thiết bị điện cách kết nối module để hồn thành mơ hình hồn thiện -Xây dựng hệ thống quét dấu vân tay để điều khiển đóng mở cửa qua cảm biến vân tay liệu vân tay gửi lên máy tính qua cổng truyền thơng giao tiếp -Xây dựng mật qua ma trận bàn phím 4x4, hiển thị lên hình LCD -Kết nối module RFID để trình mở cửa nhanh nhất, sử dụng module sim 800l để điều khiển mở cửa từ xa -Trình bày giao diện mơ máy tính -Thiết kế hồn chỉnh mơ hình thực tế -Tiến hành chạy thử nghiệm mơ hình hệ thống Giới thiệu khóa thơng minh Hình 1-1 Hình ảnh khóa thơng minh thực tế 10 if (inchar=='1') { delay(10); inchar=Serial3.read(); if (inchar=='5') { delay(10); inchar=Serial3.read(); if (inchar=='6') { delay(10); inchar=Serial3.read(); if (inchar=='3') { Serial3.println("do sometehing"); delay(10); doSomething(); } } } } } } } } } } } } Sau nạp code ta tiến hành nhập mật từ 1>8, ấn vân tay quẹt thẻ RFID.Bật hình Serial lên xem kết 82 Hình 4-6 Chạy thử chức mở cửa Màn hình đọc mật là: 12345678 UID thẻ : 61 FE B4 63 Mở khóa vân tay với vân tay số 83 Mô hình sau hồn thành Hình 4-7 Mơ hình cửa thơng minh hồn thành 84 NGHIÊN CỨU MỞ KHĨA BẰNG CHỨC NĂNG NHẬN DIỆN KHN MẶT Bởi đề tài nghiên cứu thêm số lý tài liệu chi phí nên em khơng thể thiết kế “mở khóa chức nhận diện khn mặt” vào mơ hình mơ nên em xin phép trình bày nghiên cứu em chức Giới thiệu phương pháp nhận diện khuôn mặt Nhận diện khuôn mặt mảng rộng lĩnh vực Thị giác máy tính (computer vision) Bên cạnh ứng dụng để mở khoá điện thoại, xác minh danh tính, mở khóa cửa chí mua sắm, nhiều cơng ty tập trung đầu tư, nghiên cứu phát triển công nghệ để tìm nhiều ứng dụng hữu ích cho đời sống Nhận dạng khuôn mặt (Face Recognition) phương pháp sinh trắc để xác định xác minh cá nhân cách so sánh liệu hình ảnh chụp trực tiếp hình ảnh kỹ thuật số với ghi lưu trữ cho người Nó xem lĩnh vực nghiên cứu ngành Biometrics (tương tự nhận dạng vân tay – Fingerprint Recognition, hay nhận dạng mống mắt – Iris Recognition) Xét nguyên tắc chung, nhận dạng khuôn mặt có tương đồng lớn với nhận dạng vân tay nhận dạng mống mắt, nhiên khác biệt nằm bước trích chọn đặt trưng (feature extraction) lĩnh vực Trong nhận dạng vân tay mống mắt đạt tới độ chín, tức áp dụng thực tế cách rộng rãi nhận dạng khn mặt người cịn nhiều thách thức lĩnh vực nghiên cứu thú vị với nhiều người So với nhận dạng vân tay mống mắt, nhận dạng khn mặt có nguồn liệu phong phú (chúng ta nhìn thấy mặt người ảnh, video clip liên quan tới người mạng) địi hỏi tương tác có kiểm sốt (để thực nhận dạng vân tay hay mống mắt, liệu input lấy từ người địi hỏi có hợp tác mơi trường có kiểm sốt) Bài tốn nhận dạng khuôn mặt ứng dụng nhiều lĩnh vực đời sống đặc biệt lĩnh vực công nghệ cao, yêu cầu an ninh, bảo mật Do để hệ 85 thống nhận dạng khn mặt hoạt động mạnh mẽ với tốc độ độ tin cậy có nhiều phương pháp nhận dạng khn mặt đưa Các phương pháp phân loại theo tiêu chí khác nhận dạng với liệu ảnh đầu vào ảnh tĩnh 2D (Elastic Bunch Graph, Active Appearance Model) Phương pháp phổ biến tương lai 3D (3D Morphable Model) Tuy nhiên thực tế người ta hay chia phương pháp nhận dạng khuôn mặt thành loại: - Nhận dạng dựa đặc trưng phần tử khuôn mặt (Feature Base Face Recognition) - Nhận dạng dựa xét tổng thể tồn khn mặt (Appearance Based Face Recognition) Nhận dạng dựa đặc trưng khuôn mặt Đây phương pháp nhận dạng khuôn mặt dựa việc xác định đặc trưng hình học chi tiết khn mặt vị trí, diện tích, khoảng cách mắt, mũi, miệng, ….và quan hệ chúng ví dụ khoảng cách hai mắt Ưu điểm phương pháp gần với cách mà người sử dụng để nhận biết khuôn mặt Hơn với việc xác định đặc tính mối quan hệ, phương pháp cho kết tốt điều kiện khơng có kiểm sốt Nhược điểm phương pháp cài đặt thuật toán phức tạp việc xác định mối quan hệ đặc tính, địi hỏi thuật tốn phức tạp phương pháp hoạt động khơng hiệu kích thước hình ảnh nhỏ khó phân biệt đặc tính Nhận dạng dựa xét tồn khn mặt Nội dụng hướng tiếp cận xem ảnh có kích thước R x C vector khơng gian có R x C chiều Ta xây dựng khơng gian có chiều nhỏ cho biểu diễn khơng gian đặc điểm khn mặt khơng bị Trong khơng gian ảnh người tập trung lại thành nhóm gần cách xa so với nhóm khác Hai phương pháp thường sử dụng hướng tiếp cận là: - PCA (Principle Components Analysis) 86 - LDA (Linear Discriminant Analysis) Opencv việc nhận dạng khuôn mặt OpenCV (Open Source Computer Vision) thư viện hàm lập trình lợi hại chủ yếu nhắm vào thị giác máy tính (computer vision) theo thời gian thực, ban đầu phát triển Trung tâm nghiên cứu Intel Nizhny Novgorod (Nga) Một số ứng dụng OpenCV bao gồm: • Nhận dạng cử • Nhận dạng chuyển động • Nhận dạng khuôn mặt • Thực tế ảo Để nhận dạng khuôn mặt với Arduino ta khơng thể thực được, chip Arduino xử lý phù hợp với ứng dụng nhỏ Thay vào ta sử dụng mạch vi xử lý Raspberry Pi phần mềm OpenCV máy tính OpenCV (Open Computer Vision) thư viện mã nguồn mở hàng đầu cho xử lý thị giác máy tính, machine learning, xử lý ảnh OpenCV viết C/C++, có tốc độ tính tốn nhanh, sử dụng với ứng dụng liên quan đến thời gian thực Opencv có interface cho C/C++, Python Java hỗ trợ cho Window 87 Hình 5-1 Hình ảnh raspberry pi Pi máy vi tính nhỏ gọn, kích thước hai cạnh cỡ thẻ ATM Người ta tích hợp thứ cần thiết để bạn sử dụng máy vi tính Trên bo mạch Pi có CPU, GPU, RAM, khe cắm thẻ microSD, Wi-Fi, Bluetooth cổng USB 2.0 88 Sơ đồ khối hệ thống Khối nhận tín hiệu đầu vào Camera Thẻ RFID Mật người dùng Quét vân tay Khối xử lý trung tâm (board mạch Raspberry pi) Truyền hình ảnh qua internet Khối vi điều khiển Điều khiển mạch động lực Hỗ trợ chuyển tiếp đầu vào Kiểm tra mật Khối xử lý hình ảnh Máy tính xử lý hình ảnh để Khối hiển thị xử lý xác minh khuôn LCD 16x2 LED mặt Khối chấp hành 𝑲𝒉ố𝒊 𝒎ạ𝒄𝒉 độ𝒏𝒈 𝒍ự𝒄 Động cơ/đóng mở chốt 𝑀ạ𝑐ℎ đ𝑖ề𝑢 𝑘ℎ𝑖ể𝑛 độ𝑛𝑔 𝑐ơ Hình 5-2 Sơ đồ khối hệ thống mở cửa phương pháp nhận diện khuôn mặt Hệ thống cửa sử dụng camera để phân biệt, nhận diện đối tượng phép mở cửa làm phương thức bảo mật Ngồi ra, hệ thống cửa chấp nhận yêu cầu khác việc nhập từ bàn phím có sẵn hay, nhập vân tay, quẹt thẻ RFID đồng thời lưu trữ hình ảnh từ camera để thuận tiện cho việc truy xuất hình ảnh cần 89 Khi người dùng yêu cầu mở cửa, cấu chốt khóa tự động kéo cho phép người dùng mở cửa Cơ cấu gài lại có u cầu từ người dùng Hệ thống cịn có số tính bổ sung khác truyền hình ảnh từ camera đến thiết bị khác điện thoại, máy tính, chế độ từ chối tiếp khách liên động với chng cửa báo cáo trình bày thuật tốn xử lý ảnh nhận diện khn mặt 2.1.1 Thuật toán xử lý ảnh nhận diện khn mặt 2.1.2 Thuật tốn xử lý ảnh Hệ thống xác minh khuôn mặt báo thực xử lý ảnh qua bốn bước sau: Phát khn mặt (detection): Tìm vị trí kích thước khuôn mặt ảnh Căn chỉnh khuôn mặt (alignment): Tìm điểm landmarks dựa vào điểm để biến đổi khuôn mặt (xoay, tịnh tiến hay thu phóng) cho khn mặt ảnh góc nhìn diện Biểu diễn (Representation): Biểu diễn khuôn mặt thành số đo để dựa vào xác minh khn mặt Xác minh (Verification): Dựa vào số đo tìm để xác minh khn mặt có phải người dùng hay khơng Bức ảnh thu từ camera có kích thước 480x640x3, ảnh xử lý để phát vị trí kích thước khn mặt; khuôn mặt cắt điều chỉnh kích thước 96x96x3 Bức ảnh điều chỉnh xử lý tiếp qua giai đoạn sau để xác minh Các khung hình xử lý liên tiếp Sau xử lý xong khung hình, máy tính lấy tiếp khung hình lặp lại bước xử lý trên; trình lặp lại vơ hạn Trong ngơn ngữ lập trình Python, ảnh biểu diễn dạng numpy array Ví dụ mảng numpy array sau: I = [[1, 0, 0], [0, 1, 2]] Trong mảng này, số cặp ngoặc vuông bên phần tử hàng; dấu phẩy cặp ngoặc vuông phân cách hàng với Việc đánh số phần tử hàng cột bắt đầu số 0, ví dụ I [0,0] trả giá trị 90 Để lấy tất phần tử chiều đó, ta dùng dấu “:” chiều khác, ví dụ để lấy hàng đầu tiên, ta dùng lệnh I [1,:] (lấy tất cột hàng 1) Các ảnh biểu diễn mảng numpy array chiều theo thứ tự chiều dọc, chiều ngang chiều sâu Sau đây, chi tiết bước xử lý ảnh xác minh trình bày 2.1.3 Phát khn mặt Thuật tốn sử dụng để phát khn mặt báo thuật toán Viola-Jones Ưu điểm bật thuật toán tốc độ xử lý Thực tế thuật toán phát khn mặt có tốc độ nhanh có độ xác tương đối cao Bài báo sử dụng thư viện xử lý ảnh mã nguồn mở OpenCV [3] để thực việc phát khuôn mặt Sau phát khn mặt, chương trình trả vị trí kích thước hình chữ nhật bao quanh khn mặt hình Từ đó, ta tách khuôn mặt khỏi ảnh để thực tiếp bước nhận dạng Hình 5-3 Kết đoạn trương trình phát khn mặt 2.1.4 Căn chỉnh khn mặt Để chỉnh khn mặt, trước hết, cần phải tìm điểm landmarks, điểm đặc biệt có mặt khn mặt, chẳng hạn góc mắt, đỉnh mũi hay khóe miệng Ở em sử dụng thư viện xử lý ảnh mã nguồn mở Dlib [6] để tìm 68 điểm landmarks khn mặt Thuật tốn sử dụng thuật toán Ensemble of Regression Trees; thuật tốn có tốc độ thực thi cao, xử lý 1.000 ảnh vịng 1s Minh họa điểm landmarks khuôn mặt hình 5-4: 91 Hình 5-4 Kết tìm điểm landmarks chỉnh khuôn mặt Sau phát điểm landmarks, ta dựa vào điểm để biến đổi khn mặt cho góc nhìn diện Ở ta sử dụng phép biến đổi affine Cụ thể tìm ma trận H, ma trận biến đổi điểm có tọa độ (𝑥𝑖 ,𝑦𝑖 ,1) ảnh gốc thành điểm có tọa độ (𝑥𝑖′ ,𝑦𝑖′ )[3] ảnh cho: 𝑥 [𝑦𝑥𝑖 ]=H[𝑦𝑖𝑖 ] 𝑖 (1) Để tìm H, ta cần dựa vào tính chất phép biến đổi affine sau: Với hai hình tam giác bất kỳ, ta ln tìm phép biến đổi affine để biến đổi tam giác thành tam giác [5] Dựa vào tính chất này, ta chọn ba điểm, tìm ma trận H cho với ma trận H, ba điểm landmarks chọn ảnh gốc biến đổi thành ba điểm landmarks chuẩn tương ứng Hình bên minh họa 68 điểm landmarks chuẩn mà báo sử dụng [1] Gọi A, B, C ba điểm landmarks chọn ảnh gốc A’, B’, C’ ba điểm tương ứng landmarks chuẩn, từ phương trình (1) ta có: 𝑥 𝐴 11 𝐻12 𝐻13 [𝑦𝑥𝐴′′]=[𝐻 ] [ 𝑦 𝐴] 𝐻 𝐻 𝐻 𝐴 12 22 23 (2) 92 Hình 5-5 Các điểm landmarks chuẩn sử dụng 𝑥 𝐵 11 𝐻12 𝐻13 [𝑦𝑥𝐵′′]=[𝐻 ] [ 𝑦 𝐵] 𝐻 𝐻 𝐻 𝐵 12 22 23 𝑥 𝐶 11 𝐻12 𝐻13 [𝑦𝑥𝐶′′]=[𝐻 ] [ 𝑦 𝐶] 𝐻 𝐻 𝐻 𝐶 𝐻11 [ 𝐻12 𝐻13 𝐻21 𝐻22 𝐻23 = ] [ 12 22 23 𝑥𝐵 𝑥𝐶 0 𝑦𝐵 𝑦𝑐 0 1 𝑥𝐴 𝑥𝐵 𝑥𝐶 𝑦𝐴 𝑦𝐵 𝑦𝐶 1 ][ (4) 𝑥𝐴′ 𝑥𝐴 𝑦𝐴 0 (3) 𝑦𝐴′ 𝑥𝐵′ 𝑦𝐵′ 𝑥𝐶′ 𝑦𝐶′ (5) ] Ma trận biến đổi cuối là: 11 𝐻12 𝐻13 H=[𝐻 ] 𝐻 𝐻 𝐻 12 22 23 (6) Trong báo cáo này, điểm landmarks số 39, 42 33 sử dụng để biến đổi 93 𝑝 ‖𝑓 (𝑥𝑖𝑎 ) − 𝑓(𝑥𝑖 )‖ 22 + 𝑎 < ‖𝑓 (𝑥𝑖𝑎 ) −𝑓(𝑥𝑖𝑛 )‖ 22 (7) 𝑝 Trong 𝑥𝑎𝑖 ảnh người để đối chiếu; 𝑥𝑖 ảnh khác 𝑝 người với 𝑥𝑎𝑖 𝑥𝑛𝑖 ảnh người khác với 𝑥𝑎𝑖 𝑥𝑖 Từ bất đẳng thức (7) ta thấy khoảng cách embeddings hai khuôn mặt hai người khác lớn khoảng cách embeddings hai khn mặt người 𝑎 (với mạng neuron OpenFace, 𝑎 = 0.2) [1] 2.1.5 Xác minh khuôn mặt Sau biểu diễn khuôn mặt, việc xác minh dễ dàng Từ công thức (7) ta rút ra: 𝑝 𝑝 ‖𝑓 (𝑥𝑖𝑎 ) − 𝑓(𝑥𝑖 )‖ 22 < ‖𝑓(𝑥𝑖𝑎 ) −𝑓(𝑥𝑖 )‖ 22 − 𝑎 (8) Từ công thức (8) suy ra: 𝑝 < ‖𝑓(𝑥𝑖𝑎 ) −𝑓(𝑥𝑖 )‖ 22 − 𝑎 (9) Như vậy, khoảng cách Euclide hai khuôn mặt hai người khác lớn 𝑎, báo cáo 0,2 Như vậy, lập trình, cần tính khoảng cách khn mặt lưu máy tính với khn mặt thu từ camera, khoảng cách nhỏ 0,2 kết luận hai khuôn mặt người Ngược lại, lớn 0,2 kết luận hai khuôn mặt khác Tuy nhiên, để đảm bảo an toàn, ta chọn ngưỡng thấp hơn, báo em chọn 0,18 2.1.6 Đọc ảnh từ sever Để đọc ảnh từ server trả về, trước hết, cần phải kết nối với server Server báo trả ảnh dạng JPEG; chuẩn nén ảnh phổ biến internet Nếu server trả ảnh ta cần giải mã chuỗi liệu nhận biến stream ảnh Tuy nhiên, trường hợp này, server liên tục trả ảnh nên cần phải có cách để đọc chuỗi mã hóa ảnh stream Để tìm chuỗi mã hóa ảnh, ta cần tìm chuỗi ‘\xff\xd8’ ‘xff\xd9’; chuỗi mở đầu kết thúc quy ước định dạng ảnh JPEG Sau đọc chuỗi mã hóa, 94 ta xóa giá trị từ ‘\xd9’ trở trước Quá trình đọc ảnh tiếp tục lặp lại để đọc ảnh 2.1.7 Lưu ảnh thành video Để lưu ảnh thành video, ta dùng hàm cv2.imwrite() thư viện opencv Ta có ba thơng số cần phải khai báo Thông số tên video (ví dụ ‘out.avi’), sau cần phải khai báo mã Fourcc số khung hình giây (frames per second) Cuối cờ isColor; cờ set True chương trình lưu thành video với khung hình màu, False chương trình lưu lại thành video đen trắng Fourcc đoạn mã dùng để nhận biết mã ảnh động (video codec), định dạng nén định dạng pixel màu sử dụng video Mỗi mã Fourcc ký hiệu bốn chữ bảng mã ASCII Mã Fourcc phụ thuộc vào hệ điều hành sử dụng định dạng video; khai báo sai mã Fourcc việc lưu video thất bại Mã Fourcc sử dụng báo ‘MJPG’ với định dạng video avi Nếu việc lưu video thất bại cần phải thử với mã Fourcc khác trang web https://www.fourcc.org/codecs.php 95 TÀI LIỆU THAM KHẢO • Vi điều khiển ứng dụng Arduino dành cho người tự học – tác giả Phạm Quang Huy, Nguyễn Trọng Hiếu – Nhà xuất bách khoa Hà Nội • Lập trình điều khiển Arduino cho hệ vạn vật kết nối (loT) – tác giả Phạm Quang Huy, Hà Quang Phúc – NXB Thanh Niên • Tự học Protus hình ảnh – Tác giả Phạm Quang Huy –NXB Thanh Niên • Interacoustics AS608 Operation Manual • Chương trình điều khiển Arduino http://arduino.vn/reference/howto ngày 31 tháng năm 2021 96 ... khóa thơng minh thực tế 10 Giới thiệu khóa thơng minh Cũng khóa cửa truyền thống, Giới thiệu khóa cửa thơng minh có cấu tạo bao gồm hai phận ổ khóa chìa khóa Tuy nhiên, chìa khóa khóa thơng minh. .. mà nằm ứng dụng điện thoại thông minh, thẻ từ loại móc chìa khóa đặc biệt định dạng dành riêng cho khóa thơng minh Với loại khóa đơn giản hơn, “chìa khóa? ?? đơn giản đoạn mã số Khóa cửa thường... mã khóa dễ bị tiết lộ hay bị phá mã -Để trì tính an tồn bảo mật, khóa cửa thơng minh cần liên tục bảo trì nâng cấp để chống lại xâm nhập -Mặc dù có rủi ro định, khóa cửa thông minh chắn sử dụng