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 -