Tài liệu Xây dựng hệ thống xác thực khuôn mặt ứng dụng Face API vào hệ thống trung tâm dữ liệu

  • Số trang: 51 |
  • Loại file: PDF |
  • Lượt xem: 75 |
  • Lượt tải: 0
kenhht

Tham gia: 06/11/2018

Mô tả:

TRƯỜNG ĐẠI HỌC LẠC HỒNG              KHOA CÔNG NGHỆ THÔNG TIN ----- ----- BÁO CÁO NGHIÊN CỨU KHOA HỌC ĐỀ TÀI: XÂY DỰNG HỆ THỐNG XÁC THỰC KHUÔN MẶT ỨNG DỤNG FACE API VÀO HỆ THỐNG TRUNG TÂM DỮ LIỆU NGUYỄN TẤN PHƯỚC BIÊN HÒA, THÁNG 11/2018 TRƯỜNG ĐẠI HỌC LẠC HỒNG KHOA CÔNG NGHỆ THÔNG TIN ----- ----- BÁO CÁO NGHIÊN CỨU KHOA HỌC              ĐỀ TÀI: XÂY DỰNG HỆ THỐNG XÁC THỰC KHUÔN MẶT ỨNG DỤNG FACE API VÀO HỆ THỐNG TRUNG TÂM DỮ LIỆU Sinh viên thực hiện: NGUYỄN TẤN PHƯỚC Giáo viên hướng dẫn: ThS. Nguyễn Minh Sơn BIÊN HÒA, THÁNG 11/2017 I LỜI CẢM ƠN Em xin chân thành cảm ơn tất cả các giảng viên trường Đại Học Lạc Hồng, các thầy cô khoa Công Nghệ Thông Tin đã giảng dạy và hướng dẫn chúng em trong suốt thời gian chúng em theo học tại trường. Em xin gởi lời cảm ơn đến ThS. Nguyễn Minh Sơn, là giáo viên đã tận tình hướng dẫn chúng em hoàn thành đề tài nghiên cứu khoa học này. Em xin cảm ơn các thầy, các cô trong khoa Công Nghệ Thông Tin đã có những ý kiến đóng góp trong các buổi báo cáo tiến độ. Ngoài ra em xin cảm ơn thầy Nguyễn Vũ Duy Quang, giáo viên chủ nhiệm lớp 14CN111 và cũng là giáo viên phản biện đã tận tình giúp em có thể hoàn thành cuốn báo cáo này một cách tốt nhất, lời cảm ơn gửi đến các bạn trong lớp cùng toàn thể gia đình và người thân đã giúp đỡ, động viên chúng em trong quá trình thực hiện đề tài này. Với vốn kiến thức còn hạn chế cùng những điều kiện khách quan không cho phép, đề tài của em khó tránh khỏi những thiếu sót cũng như chưa đáp ứng đầy đủ các yêu cầu. Do đó em hy vọng tiếp tục nhận được những ý kiến đóng góp và hướng dẫn của quý thầy cô để đề tài của em được hoàn thiện hơn. Em xin chân thành cảm ơn. Biên Hòa, tháng 11 năm 2018 Sinh viên thực hiện Nguyễn Tấn Phước II MỤC LỤC LỜI CẢM ƠN ................................................................................................................................ I MỤC LỤC ..................................................................................................................................... II DANH MỤC BẢNG ..................................................................................................................... V DANH MỤC HÌNH ...................................................................................................................... V DANH MỤC TỪ VIẾT TẮT ..................................................................................................... VII PHẦN MỞ ĐẦU ............................................................................................................................ 1 1. Lý do chọn đề tài ............................................................................................... 1 2. Tình hình nghiên cứu ......................................................................................... 1 2.1. Ngoài nước...............................................................................................1 2.2. Trong nước...............................................................................................2 3. Mục tiêu nghiên cứu .......................................................................................... 2 4. Đối tượng và phạm vi nghiên cứu ..................................................................... 2 4.1. Đối tượng nghiên cứu ..............................................................................2 4.2. Phạm vi nghiên cứu .................................................................................2 5. Phương pháp nghiên cứu ................................................................................... 2 6. Những đóng góp mới và những vấn đề mà đề tài chưa thực hiện được ............ 3 6.1. Những đóng góp mới ...............................................................................3 6.2. Những vấn đề chưa thực hiện được .........................................................3 7. Kết cấu của đề tài............................................................................................... 3 Chương 1 : Tổng quan đề tài ................................................................................... 4 1.1. Tổng quan nhận dạng khuôn mặt ................................................................ 4 1.2. Tổng quan về Raspberry Pi ......................................................................... 4 1.2.1. Giới thiệu tổng quan về Raspberry Pi .................................................. 5 1.2.2. Một số ứng dụng chạy trên Raspberry Pi............................................. 5 1.2.3. Cấu tạo phần cứng của Raspberry Pi ................................................... 7 1.2.4. Raspberry Pi 3 model B+ ..................................................................... 8 1.2.4.1. Thông số kĩ thuật ......................................................................... 8 1.2.4.2. Chân pin GPIO của Raspberry Pi 3 model B+ ............................ 9 1.2.5. Các hệ điều hành chạy trên Raspberry Pi ............................................ 9 1.3. Tổng quan hệ điều hành Windows 10 IoT Core ....................................... 10 1.3.1. Hệ điều hành Windows 10 IoT Core ................................................. 10 1.3.2. Ứng dụng Universal cho Windows 10 IoT Core ............................... 11 1.3.3. So sánh Windows 10 IoT Core với một số hệ điều hành khác .......... 12 1.3.3.1. So sánh Windows 10 cho IoT với Windows 10 trên PC và Windows 10 trên Mobile ................................................................................. 12 1.3.3.2. So sánh Windows 10 IoT với Raspbian trên Raspberry Pi ....... 13 III 1.4. Điện toán đám mây trên Microsoft Azure ................................................. 14 1.4.1. Tổng quan về Microsoft Azure .......................................................... 14 1.4.2. Các thành phần trong Microsoft Azure .............................................. 15 1.4.3. Azure Services Cognitive .................................................................. 15 1.4.4. Tổng quan về Face API Services ....................................................... 16 1.4.4.1. Face Detection ........................................................................... 16 1.4.4.2. Face Recognition ....................................................................... 17 1.5. Giới thiệu về một số công cụ sử dụng trong đề tài.................................... 19 1.5.1. Microsoft Visual Studio 2017 ............................................................ 19 1.5.2. Windows 10 IoT Dashboard Manager ............................................... 19 1.5.3. Windows IoT Remote Client ............................................................. 19 1.6. Tiêu chuẩn Tier cho trung tâm dữ liệu ...................................................... 19 1.6.1. Tiêu chuẩn Tier 3 là gì ? .................................................................... 19 1.6.2. Những yêu cầu đạt chuẩn Tier 3 cho trung tâm dữ liệu..................... 19 1.7. Tiểu kết ...................................................................................................... 20 Chương 2 : Xây dựng hệ thống cửa nhận diện khuôn mặt sử dụng Face API ...... 21 2.1. Một số công cụ cần thiết được sử dụng trong đề tài ................................. 21 2.2. Tín hiệu đầu vào của hệ thống cửa nhận diện khuôn mặt ......................... 22 2.2.1. Microsoft Lifecam HD 3000 .............................................................. 23 2.2.2. Bàn phím, chuột ................................................................................. 23 2.2.3. Nút nhấn mở cửa ................................................................................ 23 2.3. Tín hiệu đầu ra của hệ thống cửa nhận diện khuôn mặt ............................ 23 2.3.1. Màn hình, loa ..................................................................................... 23 2.3.2. Khóa chốt điện từ ............................................................................... 24 2.3.3. Một số thiết bị hỗ trợ khác ................................................................. 24 2.4. Phần process của hệ thống cửa nhận diện khuôn mặt ............................... 24 2.4.1. Đăng kí tài khoản Microsoft Azure và lấy Key Face API ................. 24 2.4.2. Quy trình thêm thành viên vào hệ thống cửa nhận diện khuôn mặt .. 26 2.4.2.1. Thu thập dữ liệu hình ảnh khuôn mặt người dùng .................... 27 2.4.2.2. Phương pháp thêm thành viên vào hệ thống cửa ....................... 27 2.4.3. Xác thực khuôn mặt từ hình ảnh chụp của người dùng ..................... 29 2.4.4. Xây dựng chương trình đóng hoặc mở cửa nhận diện khuôn mặt ..... 30 2.5. Tiểu kết ...................................................................................................... 31 Chương 3 : Xây dựng hệ thống cửa vật lý nhận diện khuôn mặt ......................... 32 3.1. Một số loại khóa cửa trên thị trường hiện nay .......................................... 32 3.2. Xây dựng mô hình vật lý hệ thống cửa nhận diện khuôn mặt .................. 33 3.3. Quá trình thực hiện mô hình hệ thống cửa vật lý nhận diện khuôn mặt ... 34 IV 3.3.1. Nạp chương trình nhận diện khuôn mặt trên mô hình cửa vật lý ...... 35 3.3.2. Thêm người dùng trên mô hình cửa vật lý......................................... 37 3.4. Ðộ chính xác của hệ thống cửa vật lý nhận diện khuôn mặt ..................... 37 3.5. Những lợi thế, điểm mạnh của đề tài và khả năng áp dụng vào thực tế ... 38 3.6. Tiểu kết ...................................................................................................... 39 KẾT LUẬN .................................................................................................................................. 40 TÀI LIỆU THAM KHẢO ............................................................................................................ 41 V DANH MỤC BẢNG Bảng 1-1 Các thông số kĩ thuật của Raspberry Pi 3 model B Bảng 1-2 So sánh một vài thuộc tính của hệ điều hành Windows 10 trên ba nền tảng PC, Mobile và thiết bị IoT Bảng 1-3 So sánh một vài thuộc tính của hai hệ điều hành Windows 10 IoT Core và Raspbian trên Raspberry Pi Bảng 3-1 Danh sách các thiết bị được sử dụng trong mô hình cửa vật lý Bảng 3-2 Thông tin dữ liệu người dùng được lưu trong hệ thông Bảng 3-3 Thông tin dữ liệu người dùng không có trong hệ thống DANH MỤC HÌNH Hình 1-1 Raspberry Pi model B Hình 1-2 Hệ thống thủy sinh thông minh Hình 1-3 Bộ RasPiLaspe Hình 1-4 Máy pha cà phê tự động Hình 1-5 Mô hình kiến trúc phần cứng của Raspberry Pi Hình 1-6 Mạch Raspberry Pi 3 model B+ Hình 1-7 Sơ đồ chân pin GPIO của Raspberry Pi 3 model B+ Hình 1-8 Giao diện hệ điều hành Windows 10 IoT Core Hình 1-9 Nền tảng Universal Windows Application của Microsoft Hình 1-10 Giao diện tinh chỉnh nền tảng ARM để kết nối tới Raspberry Pi Hình 1-11 Giao diện Properties của Project Hình 1-12 Mô hình các thành phần trong Microsoft Azure Hình 1-13 Danh sách các nhóm API của Microsoft Cognitive Services Hình 1-14 Chế độ matchPerson trong việc tìm kiếm khuôn mặt tương tự Hình 1-15 Danh sách “Bạn bè” được gom nhóm Hình 2-1 Sơ đồ hệ thống cửa nhận diện khuôn mặt VI Hình 2-2 Giao diện lập trình trên Visual Studio 2017 Hình 2-3 Giao diện Windows 10 IoT Core Dashboard Hình 2-4 Giao diện Windows IoT Remote Client Hình 2-5 Hình ảnh Microsoft Lifecam HD 3000 Hình 2-6 Khóa chốt điện từ 12VDC Hình 2-7 Module Relay Hình 2-8 Key Face API trên Microsoft Azure Hình 2-9 Liên kết Endpoint sử dụng các điểm cuối của khu vực Southeast Asia Hình 2-10 Endpoint đường dẫn vị trí khi đăng ký Hình 2-11 Code gán Key Face API và đường dẫn Endpoint Hình 2-12 Hình ảnh người dùng được chụp từ camera laptop Hình 2-13 Danh sách thư mục hình ảnh thu thập được từ các thầy cô trong khoa Hình 2-14 Giao diện Command Line trên Windows 10 IoT Core Hình 2-15 Upload hình ảnh người dùng trên Windows Device Portal Hình 2-16 Thư mục chứa hình ảnh khuôn mặt người dùng trên thẻ nhớ SD Hình 2-17 Code xử lý nhận diện khuôn mặt từ hình ảnh người dùng Hình 2-18 Code xử lý đóng \ mở cửa khi có xác thực khuôn mặt người dùng Hình 3-1 Một số loại khóa cửa cơ thông dụng. và khóa số Hình 3-2 Khóa cửa vân tay và khóa thẻ từ Hình 3-3 Mô hình hệ thống cửa vật lý nhận diện khuôn mặt Hình 3-4 Giao diện Properties cùa chương trình Hình 3-5 Giao diện chương trình trên mô hình hệ thống cửa vật lý Hình 3-6 Giao diện quản lý ứng dụng trên Windows Device Portal Hình 3-7 Thử nghiệm người dùng trên mô hình cửa vật lý VII DANH MỤC TỪ VIẾT TẮT IoT Internet of Things API Application Programming Interface FPGA Field Programmable Gate Array PCA Principal Compoment Analysis OEM Original Equipment Manufacturer BCM Broadcom GPIO General Purpose Input / Output ARM Advance Risc Machine CPU Central Processing Unit GPU Graphics Processing Unit UWP Universal Windows Application IDE Integrated Development Enviroment NOC Network Operations Centers MRTG Multi Router Traffic Grapher NMS Network Management System UPS Uninterruptible Power Supply BMS Building Management System SD Secure Digital IP Internet Protocol I/O Input / Output 1 PHẦN MỞ ĐẦU 1. Lý do chọn đề tài Trong xã hội hiện đại ngày nay và đặc biệt là ngành công nghiệp 4.0 với xu hướng IoT trên toàn thế giới đang ngày một phát triển, đòi hỏi các tổ chức, doanh nghiệp dần dần phải chuyển mình để có thể hội nhập và phát triển trong thời đại 4.0. Và một sản phẩm công nghệ có khả năng nhận diện khuôn mặt sẽ luôn là một giái pháp mà các tổ chức, doanh nghiệp quan tâm hàng đầu. Ví dụ:  Một công ty khởi nghiệp của Nga là NtechLab đã đánh bại Google trong cuộc thi nhận diện khuôn mặt MegaFace.  Facebook sử dụng tính năng nhận diện khuôn mặt, tính năng này sẽ thông báo khi có ai đó post ảnh của họ lên Facebook.  Công ty Ant Financial của Trung Quốc ra mắt hệ thống thanh toán sử dụng công nghệ nhận diện khuôn mặt ở một nhà hàng bán đồ ăn nhanh tại thành phố Hàng Châu, tỉnh Chiết Giang. Sau khi Raspberry Pi được đưa ra thị trường. Microsoft đã bày tỏ sự ủng hộ của mình bằng cách cung cấp một phiên bản Windows 10 hoàn toàn miễn phí cho thiết bị này, điều này đã khiến cho các cộng đồng lập trình có nhiều ý tưởng về việc phát triển các sản phẩm IoT phục vụ cho nhu cầu trong cuộc sống qua việc kết hợp giữa Raspberry Pi và Windows 10 IoT Core đã xuất hiện. Công nghệ nhận diện khuôn mặt cũng là những lĩnh vực đang nằm trong xu thế của cuộc cách mạng công nghiệp 4.0. Để bắt kịp với xu thế đó cùng với mong muốn tạo ra được một sản phẩm có khả năng hỗ trợ con người trong việc nhận dạng khuôn mặt đồng thời giúp tác giả tiếp cận được với nền tảng cộng nghệ IoT, tác giả mong muốn thực hiện một đề tài với tên là: “Xây dựng hệ thống xác thực khuôn mặt ứng dụng Face API vào hệ thống trung tâm dữ liệu”. Windows 10 IoT Core và Face API là gì ? Sẽ được trình bày ở các mục sau. 2. Tình hình nghiên cứu Trước sự phát triển mạnh mẽ của công nghệ cùng với đó là trí tuệ nhân tạo, các thuật toán nhận diện khuôn mặt ngày càng chính xác hơn và được áp dụng rộng rãi vào đời sống. Các nhà nghiên cứu bắt đầu dành nhiều thời gian cho việc nghiên cứu về công nghệ nhận diện khuôn mặt. Trong phần này, tác giả sẽ trình bày qua một số nghiên cứu về công nghệ nhận diện khuôn mặt diễn ra trong và ngoài nước. 2.1. Ngoài nước Tình hình hiện nay trên thế giới về xu hướng IoT nói chung và những giải pháp về công nghệ nhận diện khuôn mặt nói riêng đang phát triển và được áp dụng rộng rãi trên toàn cầu nhằm đáp ứng những nhu cầu trong ngành công nghiệp 4.0 Trong bài báo [1], nhóm tác giả đề xuất một máy học phần cứng tăng tốc độ thời gian thực tế phát hiện xâm nhập mạng, kết quả thự nghiệm trên một FPGA đạt băng tần 409,6 Gbps với phát hiện xâm nhập mạng nhanh nhưng công suất thấp dựa trên một số điểm chuẩn. 2 Trong bài báo [2], đây là một bài báo về Deep Face của Facebook. Nhóm nghiên cứu đã tiến hành cho huấn luyện tập dữ liệu lớn với số lượng ảnh được gắn nhãn là hơn 4.000 hình. Kết quả của bài báo này thu được với kết quả chính xác lên đến 97,5%. 2.2. Trong nước So với thế giới, việc nghiên cứu ứng dụng nhận diện khuôn mặt vào đời sống ở Việt Nam còn chậm. Để bắt kịp được xu hướng IoT và hội nhập trong ngành công nghiệp 4.0, nước ta cũng đã áp dụng và dần bắt kịp được với công nghệ này. Trong bài báo “Một phương pháp phân cụm ảnh khuôn mặt hiệu quả trên mạng xã hội” của các tác giả: Cù Việt Dũng, Nguyễn Hữu Quỳnh, Nguyễn Thị Thanh Tân trích trong cuốn “Tóm tắt báo cáo Hội nghị khoa học Quốc gia lần thứ VIII”. Các tác giả đã đề xuất một phương pháp phận cụm hình ảnh khuôn mặt trên mạng xã hội dựa trên các đặc trưng PCA kết hợp với các ý tưởng phân cụm phân cấp. Để kiểm tra độ chính xác của thuật toán này, các tác giả nghiên cứu đã sử dụng bốn tập dữ liệu đó là: faces94, face95, face96 và grimace. Với tổng cộng 7000 hình ảnh được chụp từ 395 người với các trạng thái biểu cảm khác nhau. Trong trường hợp tốt nhất, kết quả của phương pháp này có độ chính xác lên đến 95%. 3. Mục tiêu nghiên cứu Đề tài thực hiện với các mục tiêu:  Hệ thống cửa nhận diện được khuôn mặt người dùng.  Phát ra thông báo khi người dùng xác thực khuôn mặt trước cửa.  Tích hợp phần mềm cảnh báo vào hệ thống cửa khi có phát hiện xâm nhập. 4. Đối tượng và phạm vi nghiên cứu 4.1. Đối tượng nghiên cứu  Hệ điều hành Windows 10 IoT Core.  Raspberry Pi 3.  Hệ thống cửa an ninh..  Dịch vụ Face API về xác thực khuôn mặt. 4.2. Phạm vi nghiên cứu  Môi trường nghiên cứu: Phòng thí nghiệm B304.  Điều kiện ánh sáng: Phòng thí nghiệm B304 được bật tất cả các đèn.  Số người hệ thống nhận diện được: 5 người.  Số người hệ thống nhận diện được trong một lúc: 1 người trên 1 lần. 5. Phương pháp nghiên cứu  Nghiên cứu về cách thức hoạt động của hệ điều hành Windows 10 IoT Core trên Raspberry Pi 3.  Nghiên cứu báo cáo – bài báo về phương pháp nhận diện khuôn mặt: [1], [3], [4].  Thực nghiệm bộ công cụ dịch vụ Face API để xác thực, nhận diện khuôn mặt. 3 6. Những đóng góp mới và những vấn đề mà đề tài chưa thực hiện được 6.1. Những đóng góp mới  Đưa bài toán từ lý thuyết vào thực tiễn. Cụ thể hệ thống cửa nhận diện khuôn mặt.  Giúp cho việc mở đóng hoặc cửa trở nên an toàn hơn.  Có thể áp dụng sản phẩm vào trong công ty, doanh nghiệp: lối ra vào phòng trung tâm dữ liệu, phòng máy. phòng học, phòng làm việc…  Áp dụng công nghệ nhận diện khuôn mặt vào các mục đích khác nhau một cách dễ dàng. 6.2. Những vấn đề chưa thực hiện được  Chưa giải quyết được lỗi thêm thành viên trực tiếp từ hệ thống.  Chưa thu thập được nhiều hình ảnh của nhiều người.  Chưa tích hợp được phần mềm cảnh báo khi có phát hiện xâm nhập. 7. Kết cấu của đề tài Luận văn được chia làm ba phần: phần mở đầu, phần nội dung và phần kết luận. Phần mở đầu Nêu lý do chọn đề tài, tổng quan tình hình phát triển, mục tiêu nghiên cứu đề tài, đối tượng, phạm vi, phương pháp nghiên cứu cũng như những đóng góp mới của đề tài. Bên cạnh đó cũng chỉ ra mặt hạn chế mà đề tài chưa thực hiện được để giúp mọi người có cái nhìn rõ hơn. Phần nội dung chính: gồm 3 chương  Chương 1: Tổng quan lý thuyết Trong chương này tác giả sẽ giới thiệu về Raspberry Pi, trình bày tổng quan về hệ điều hành Windows 10 IoT Core, dịch vụ Face API trong việc phát hiện và nhận diện khuôn mặt. Đồng thời sẽ giới thiệu cơ bản về dịch vụ Microsoft Azure và một số phần mềm mà tác giả đã sử dụng trong đề tài cùng với chức năng của những phần mềm đó.  Chương 2: Xây dựng hệ thống nhận diện khuôn mặt Face API. Trong chương này tác giả trình bày chi tiết về phương pháp thêm thành viên vào hệ thống, thu thập dữ liệu hình ảnh khuôn mặt người dùng, chương trình đóng hoặc mở cửa và nhận diện khuôn mặt.  Chương 3: Xây dựng mô hình cửa nhận diện khuôn mặt. Trong chương này tác giả trình bày quá trình xây dựng mô hình cửa vật lý nhận diện khuôn mặt cùng với việc đánh giá độ chính xác của hệ thống khi nhận diện khuôn mặt người dùng. Phần kết luận Đưa ra những kết luận và kiến nghị về chương trình đã xây dựng. 4 Chương 1 : Tổng quan đề tài Trong chương này tác giả giới thiệu tổng quan lý thuyết và nhận xét tình hình nghiên cứu trong và ngoài nước liên quan mật thiết đến đề tài. 1.1. Tổng quan nhận dạng khuôn mặt Hiện nay đã có rất nhiều bài báo, đề tài về nhận dạng khuôn mặt. Đa số các thuật toán nhận dạng khuôn mặt đều sử dụng các kỹ thuật công nghệ phổ biến như: Machine Learning (học máy), Deep Learning (học sâu), AI (trí tuệ nhân tạo)...Mỗi kỹ thuật có những đặc điểm khác nhau, nhưng phần lớn đặc điểm nhận dạng khuôn mặt ở các kỹ thuật này là so sánh các đặc điểm khuôn mặt chọn trước từ hình ảnh và một cơ sở dữ liệu về khuôn mặt. Việc áp dụng thuật toán nhận dạng khuôn mặt vào đời sống ngày càng phát triển rộng rãi và được ứng dụng vào thực tiển. - Sản phẩm đạt giải Nhất cuộc thi “Sáng tạo trẻ Bách khoa 2017” có tên là Hệ thống nhận dạng khuôn mặt BKFace. Sản phẩm nhận diện khuôn mặt với độ chính xác lên đến 96% do nhóm các bạn sinh viên đến từ các trường Đại Học Bách khoa Hà Nội, Đại Học Ngoại thương, Đại Học Kinh tế quốc dân thực hiện [5]. - Hệ thống điểm danh sinh viên dùng nhận diện gương mặt ứng dụng công nghệ học máy của nhóm các bạn sinh viên đến từ trường Đại Học FPT thực hiện với khả năng nhận dạng từ 70 - 80% [6] . - Nhận dạng khuôn mặt đang được sử dụng rộng rãi và phổ biến ở Trung Quốc như: ứng dụng thanh toán di động nhận diện khuôn mặt Alipay của Alibaba, Xiaohua một ngân hàng ảo với ứng dụng di động có tên Xiaohua Qianbao sử dụng công nghệ Face ++ trong việc nhận dạng khuôn mặt khách hàng... [7]. Có thể thấy rằng thị trường nhận dạng khuôn mặt là rất lớn và sẽ còn được phát triển rộng rãi trong tương lai nhất là khi thế giới đang bước vào giai đoạn ngành công nghiệp 4.0 với những sản phẩm ứng dụng IoT ra đời nhằm cải thiện và đem lại đời sống cho con người ngày một tốt hơn. Để xây dựng hệ thống cửa nhận dạng khuôn mặt, tác giả có tham khảo qua nhiều loại cửa thông minh hiện nay có khả năng nhận dạng dấu vân tay, nhận dạng bằng giọng nói, quét thẻ từ...Điển hình trong số đó là sản phẩm chuông cửa thông minh Nest Hello có thể nhận diện khuôn mặt của một công ty có tên là Nest chuyên về sản phẩm điện tử gia dụng cho smarthome [8]. Nhìn chung về nhận diện khuôn mặt trên các thiết bị cũng phải được tích hợp cả phần cứng lẫn phần mềm. Từ tình hình thực tế trên, tác giả mong muốn thiết kế và xây dựng một hệ thống cửa nhận diện khuôn mặt được tích hợp cả phần cứng lẫn phần mềm nhằm cài tiến và đem lại một sản phẩm tốt hơn vào cuộc sống. Để hiểu rõ hơn về phần cứng và phần mềm của một hệ thống cửa nhận diện khuôn mặt, tác giả xin trình bày chi tiết ở phần sau. 1.2. Tổng quan về Raspberry Pi Raspberry Pi Foundation là một tổ chức giáo dục phi lợi nhuận ở Anh. Mục tiêu của tổ chức này là tạo ra các sản phẩm dùng trong giáo dục áp dụng cho người lớn cũng như trẻ em. Các sản phẩm của Raspberry Pi Foundation thường hướng đến các sản phẩm vi tính và Raspberry Pi là một trong các sản phẩm đó. 5 Hình 1-1: Raspberry Pi model B Raspberry Pi sản xuất bởi 3 OEM: Sony, Qsida, Egoman. Và được phân phối chính bởi Element14, RS Components và Egoman. Glyn Moody đã miêu tả về dự án Raspberry Pi tháng 5 năm 2011 như là một “potential BBC Micro 2.0”, nghĩa là nó không thay thế máy tính nhưng sẽ bổ sung cho nó. Dưới đây tác giả sẽ trình bày cấu tạo một cách tổng quan về Raspberry Pi. 1.2.1. Giới thiệu tổng quan về Raspberry Pi Raspberry Pi như là một máy tính có kích thước nhỏ như một thẻ tín dụng, có giá thành tương đối thấp và tùy vào từng dòng model khác nhau sẽ có những mức giá chênh lệch. Raspberry Pi có thể kết nối với màn hình máy tính, hoặc tivi, có thể kết nối với các thiết bị đầu vào như camera, bàn phím, chuột như một chiếc máy vi tính thông thường. Raspberry Pi còn hỗ trợ trong việc truy cập web, nghe nhạc, xem phim với chất lượng cao, tạo bảng tính, làm file word cũng như chơi game. Ngoài ra, Raspberry Pi còn có khả năng tương tác với các thiết bị ngoại vi khác và đã được sử dụng trong các dự án phần cứng như máy nghe nhạc, thiết bị dự báo thời tiết, các dự án smarthome với cảm biến hồng ngoại. Hiện tại, Raspberry Pi đang được sử dụng khá phổ biến trên thế giới, với đối tượng chủ yếu là các học sinh để tìm hiểu về lập trình cũng như cách thức làm việc của máy tính. 1.2.2. Một số ứng dụng chạy trên Raspberry Pi Sau đây là một vài ứng dụng của Raspberry Pi trong cuộc sống mả tác giả đã tham khảo ở mục [9] và phòng thí nghiệm B304 Trường Đại học Lạc Hồng..  Hệ thống thủy sinh thông minh - Smart Aquaponics Sytem ứng dụng trên Raspberry Pi do nhóm tác giả tại phòng thí nghiệm B304 Trường Đại học Lạc Hồng thực hiện. Trồng rau thủy canh kết hợp nuôi cá hay còn gọi là hệ Aquaponic là một hệ hoạt động tuần hoàn hồi lưu khép kín. Hệ thống giúp trồng rau theo hướng hữu cơ không có chất hóa học tốt cho sức khỏe. Tiện lợi để trồng ở các văn phòng, nhà ở giúp tăng cường oxy trong môi trường và làm đẹp cho không gian sống. 6 Hình 1-2: Hệ thống thủy sinh thông minh  RasPiLapse là một bộ thiết bị do Rick Adam chế tạo dựa trên nền tảng thiết bị của Raspberry Pi. Một thiết bị hỗ trợ chụp ảnh time-lapse chuyên nghiệp có giá 650 USD (khoảng 13,6 triệu đồng) , thế nhưng với sản phẩm được điều khiển bởi Raspberry Pi của nhà phát triển Rick Adam, cái giá này giảm xuống chỉ còn vài chục USD. Hình 1-3: Bộ RasPiLaspe  Một nhà phát triển người Đức có tên Sascha Wolter cùng một vài người bạn của mình đã “chế tạo” lại chiếc máy pha cà phê Nespresso bằng cách gắn nó với một chiếc Raspberry Pi được kích hoạt thông qua điện thoại. Hình 1-4: Máy pha cà phê tự động 7 1.2.3. Cấu tạo phần cứng của Raspberry Pi Thông tin chi tiết về cấu tạo phần cứng của Raspberry Pi được tác giả tham khảo [10]. Hình 1-5: Mô hình kiến trúc phần cứng của Raspberry Pi Mô hình kiến trúc phần cứng của Raspberry Pi bao gồm bộ vi xử lý, bộ nhớ trong RAM, cổng kết nối với các thiết bị nhập xuất, cổng kết nỗi USB và đầu vào Ethernet. Tuy nhiên, ứng với mỗi model khác nhau của Raspberry Pi sẽ có một kiến trúc khác nhau, thêm hoặc bớt các linh kiện phần cứng. Phiên bản Raspberry Pi đầu tiên là Raspberry Pi model A được phát hành vào tháng 2 năm 2013. Tiếp theo đó là các model Raspberry Pi model A+, Raspberry Pi model B, Raspberry Pi model B+. Và phiên bản mới nhất là Raspberry Pi 3 model B+ vừa được phát hành vào tháng 3 năm 2018.  Vi xử lý: Bộ vi xử lý được sử dụng trong Raspberry Pi thế hệ đầu tiên tương đương với bộ vi xử lý được dùng trong các smartphone cũ như (iPhone 3G, iPhone 3GS). Raspberry Pi chạy dựa trên hệ thống Broadcom BCM2835. Bao gồm vi xử lý 700 MHz ARM1176JZF-S, bộ xử lý độ họa VideoCore IV GPU và RAM. Nó có bộ nhớ đệm Level 1 là 16Kb, Level 2 là 128Kb. Bộ nhớ đệm Level 2 được sử dụng chủ yếu bởi GPU. RAM của Raspberry Pi nằm dưới chân của CPU.  RAM: Với phiên bản ban đầu của Raspberry Pi, RAM của nó là 256MB với 128MB được chia cho GPU và 128MB dành cho CPU. Với dung lượng bộ nhớ trong này, Raspberry Pi có thể xử lý được video 1080p và 3D đơn giản. Tuy nhiên do nhu cầu tăng cao, nên trong các model tiếp theo, dung lượng bộ nhớ trong đã được nhà cung cấp tăng lên thành 512MB(Model B, B+) và 1GB (Raspberry Pi 2 và 3).  Thiết bị ngoại vi: Raspberry Pi có thể hoạt động với bất kỳ bàn phím máy tính và chuột thông qua kết nối cổng USB. Ngoài ra, Raspberry Pi còn cho phép kết nối với các thiết bị ngoại vi khác như camera, cảm biển hồng ngoại cũng như các linh kiện phần cứng khác.  Video: Bộ xử lý video của Raspberry Pi cho phép xử lý video độ phân giải cao, chạy được trên các tivi hiện đại hiện nay. Như HD, Full HD, các màn hình có độ phân giải cao hơn hoặc thấp hơn và cả các dòng tivi có độ phân giải cũ.  Đồng hộ thực: Raspberry Pi không có đồng hộ thực như trên máy vi tính thông thường. Vì vậy nó không thể lưu giữ thời gian thực tế khi không hoạt động. Đồng hồ thường được lấy dựa vào đồng hồ Internet khi Raspberry Pi được kết nối mạng. 8 1.2.4. Raspberry Pi 3 model B+ Raspberry Pi 3 model B+ được ra mắt vào tháng 3/2018, được tác giả sử dụng cho đề tài nghiên cứu khoa học bởi vì tính mới cũng như sự ưu việt về bộ vi xử lí so với các phiên bản cũ hơn. Hình 1-6: Mạch Raspberry Pi 3 model B+ 1.2.4.1. Thông số kĩ thuật Các thông số kĩ thuật của Raspberry Pi 3 model B+ đươc tác giả tham khảo [10] Raspberry Pi 3 model B+ Giá 30$ CPU 1.4GHz quad-core A53 (ARMv8) 64-bit SOC GPU Broadcom BCM2837, Cortex-A53 (ARMv8) 64-bit SoC @ 1,4 GHz RAM 1GB Cổng USB 2.0 4 cổng Ngõ ra video HDMI (rev 1.3 & 1.4), 14 HDMI độ phân giải từ 640×350 tới 1920×1200 Ngõ ra audio Qua 2 cổng analog 3.5mm và HDMI Bộ nhớ trong MicroSD slot Cổng network 2.4GHz and 5GHz IEEE 802.11 b/g/n/ac wireless LAN, Bluetooth 4.2, BLE, Gigabit Ethernet over ethernet USB 2.0 (Tối đa 300Mbps) Bảng 1-1: Các thông số kĩ thuật của Raspberry Pi 3 model B 9 1.2.4.2. Chân pin GPIO của Raspberry Pi 3 model B+ Hình 1-7: Sơ đồ chân pin GPIO của Raspberry Pi 3 model B+ Chân pin GPIO trên Raspberry Pi 3 model B+ được đánh số từ 1 đến 40 theo thứ tự từ trái qua phải, từ trên xuống dưới, bao gồm nhiều loại chân pin với các chức năng khác nhau: - Chân PWR (power) là chân cấp nguồn (+) bao gồm hai chân có điện áp 3.3V (chân số 1 và chân số 17, đủ cấp nguồn cho đèn LED hoạt động) và hai chân có điện áp 5V (chân số 2 và chân số 4, thường dùng làm nguồn để kích hoạt các mạch Arduinos, mạch rf,…). - Chân GND (Ground) là chân âm (-) dùng cho các kết nối để tạo thành mạch điện kín. Các chân 6, 9, 14, 20, 25, 30, 34, 39 là các chân âm. - Chân GPIO: GPIO là viết tắt của General Purpose Input Output. GPIO chính là cửa ngõ để giao tiếp giữa vi điều khiển với các thiết bị bên ngoài. Ngoài ra chân GPIO còn có một số chức năng đặc biệt khác như chân giao tiếp UART, ngõ vào timer, bus địa chỉ, ngõ vào ngắt ngoài… Ngoài các chân pin PWR, GND, GPIO như trên, thì hệ thống chân pin còn có các chân pin khác với các chức năng khác nhau như chân I2C1, SPI0, SPI1. 1.2.5. Các hệ điều hành chạy trên Raspberry Pi Raspberry Pi chủ yếu sử dụng hệ điều hành Linux. Chip của Raspberry Pi được dựa trên phiên bản 6 của ARM. Các phiên bản cũ của Raspberry Pi không chạy được hệ điều hành windows. Chỉ đến phiên bản Raspberry Pi 2, mới hỗ trợ chạy được Windows 10 IoT Core. Một số hệ điều hành phổ biến trên Raspberry Pi bao gồm: 10  Raspbian Raspbian là phiên bản hệ điều hành phổ biến nhất trên Raspberry Pi. Vì Raspbian là một hệ điều hành dễ sử dụng và với sự hỗ trợ tốt của cộng đồng trên thế giới. Hơn thế nữa, Raspbian là phiên bản không chính thức của Debian Wheezy – một phiên bản Linux có tiếng. Nó là nền tảng rất tốt cho những người mới bắt đầu làm quen với Raspberry Pi nói riêng và Linux nói chung. Giống như một chiếc máy tính Windows, Raspbian bao gồm các ứng dụng đa phương tiện, đồ họa (xem ảnh, xem phim, soạn thảo notepad), và có thể cài đặt thêm các gói phần mềm khác như trình duyệt internet, nhắn tin, bộ phần mềm văn phòng,…  Ubuntu MATE Một phiên bản của Ubuntu MATE cho Raspberry Pi 2, đó là Ubuntu 15.04. Đây là phiên bản chính thức đầu tiên hỗ trợ Raspberry Pi 2 mới nhất. Các phiên bản Ubuntu 15.04 còn được gọi với tên mã: Vivid Vervet. Vivid Vervet cung cấp nhiều tính năng mới và các cải tiến trong kernel để đáp ứng nhu cầu Video HD. Tương tự Raspbian, Ubuntu Mate có giao diện Desktop và nó biến Raspberry Pi thành máy tính để bàn có giao diện trực quan với nhiều phần mềm được khuyên dùng bởi chính Raspbian. Với ứng dụng xem ảnh Shotwell, trình Email Mozilla Thunderbird và trình duyệt web Mozilla Firefox, phần mềm văn phòng LibreOffice, phần mềm nhắn tin đa năng Pidgin, trình nghe nhạc Rhythmbox, hoặc Transmission để tải Torrent.  PiNet PiNet là một dự án mã nguồn mở miễn phí, giúp đỡ các trường thành lập và quản lý một lớp học sử dụng Raspberry Pi. Nó đã được phát triển cùng với sự đóng góp ý kiến phản hồi của giáo viên từ hơn 15 quốc gia trên toàn thế giới. Phần mềm máy chủ được cài đặt trên một máy tính chạy Ubuntu Linux 14.04. Sau đó, kết nối các máy chủ và Raspberry Pi với nhau bằng cách sử dụng một mạng có dây.  Ngoài ra còn có một số hệ điều hành khác như: Xbian, openSUSE, Slcakware ARM, FreeBSD, OpenWrt, Kano OS, Archlinux ARM... 1.3. Tổng quan hệ điều hành Windows 10 IoT Core 1.3.1. Hệ điều hành Windows 10 IoT Core Windows 10 IoT Core được Microsoft ra mắt từ cưối năm 2015, trong nỗ lực nhằm đem hệ điều hành của mình tới lĩnh vực Internet of Things, lĩnh vực mà hiện nay đang bị chiếm lĩnh bởi các hệ điều hành dựa trên Linux. Vì Windows 10 IoT Core khá nặng nên hiện nay người dùng chỉ có thể chạy nó trên Raspberry Pi 2 và 3, với các dòng Raspberry Pi cũ và yếu hơn thì chỉ có thể chạy trên Raspbian. Hiện có hai bo mạch IoT đã hỗ trợ cho hệ điều hành mới này là Raspberry Pi 2 và Minnowboard Max. 11 Hình 1-8: Giao diện hệ điều hành Windows 10 IoT Core Thực chất Windows 10 IoT Core không có giao diện desktop hay cửa sổ truyền thống như Windows 10 bình thường, thay vào đó lập trình viên sẽ phải viết ra các ứng dụng Universal để đóng vai trò giao diện. So với bản thử nghiệm lúc trước thì bản chính thức ngày hôm nay đã hỗ trợ đầy đủ cho Bluetooth, Wi-Fi, ngôn ngữ lập trình Python và bộ khung Node.js, cùng với đó là nhiều tính năng liên quan đến Universal Application. Windows 10 IoT Core mang sức mạnh cốt lõi của Windows dễ dàng tích hợp những chức năng cao cấp tới các thiết bị chẳng hạn như giao diện người dùng tự nhiên (Natural User Interface), tìm kiếm, lưu trữ trực tuyến và các dịch vụ điện toán đám mây. Microsoft cho biết IoT Core được thiết kế để có thể hoạt động với một loạt các ngôn ngữ mã nguồn mở, giúp các nhà sản xuất dễ dàng cài đặt trên các thiết bị của mình cũng như phát triển ứng dụng riêng cho mình. Nếu muốn phát triển ứng dụng mã nguồn mở cho Windows IoT, chỉ cần PC có cài đặt phiên bản Windows 10 (Build 10240) và Visual Studio 2015 trở lên để có thể lập trình ứng dụng. Trong để tài, tác giả sử dụng hệ điều hành Windows 10 IoT Core vì hệ điều hành này dễ sử dụng và phù hợp với đề tài. 1.3.2. Ứng dụng Universal cho Windows 10 IoT Core Universal Application hay Universal Windows Application là những ứng dụng được lập trình để chạy trên các nền tảng Windows khác nhau (như trên Windows dành cho máy tính, Windows Phone dành cho thiết bị di động, trên Windows RT dành cho máy tính bảng và trên cả thiết bị Xbox). Các ứng dụng UWP chủ yếu được mua và tải về qua Windows Store.
- Xem thêm -