Chương 1. TONG QUAN DE TÀI.-2- 2-52 52S£2EE2EE2EE2EE2EEEEEEEEEErErrerree 2 1. Cac cong li 00 1n. Cac nghiên cứu tung TỰ.-- c5 + S1 vn ng rkt 3 1.
Mục tiêu và giới hạn đề tài. Mục tiêu để tài. Giới hạn đề tài.cc tr tre 6 1. _ Ý nghĩa thực tiễn đề tài.
Cấu trúc của báo cáo Khóa luận.---:- ¿2 St+E+EEEE+ESEEEEEEeEErkrkererkereree 7 Chương2. CO SỞ LÝ THUYÊT.-- 2-52 2+ESEEE2EE+EE£EE2EE2EEEEEEEEEEEEErkerrerree 8 2. Thi giác máy tính — Computer V1SIOI. Thư viện xử lý ảnh.-- - -c + v11 ng ng ng rệt 9 2.-- -- c1 11911991 91v vn kg rry 11 2.
HH HH HT TH HH HH tr 12 2. __ Un-Supervised LearnIng. - --- -s «+ xxx ng ng 13 2.- Ăn TH TH HH HH Hàn ng 13 2. Ăn HH TH TH HH TH TH Hàng 13 2.
Convolutional Neural Network (CNN). - G 1119191 HH ng ng 13 2. Cấu trúc mạng CNN. Các tham số của CNN.
11v H1 TH kg ry 18 2. Support Vector Machine (SVM) uu. cece HH HH nghe 19 2. Histogram of Oriented Gradients (HOG).
Gv HH HH TH ng ngờ 19 2. Cấu trúc HOG. Điều chỉnh và đối chiếu khuôn mặt. Tìm tên của người sau khi mã hóa.
IOT và Firebase€. so LH HH TH ng nh ng tr 25 2. Tổng quan về Internet of Thỉngs. Hiệu suất thiết bị.
Thời gian dap Ứng. -- cv HH nghiệp 28 2. Tổng quan về Firebase.-:---¿+¿©++2+++E+++EE++EE++rkrerxrrrxrrrree 29 2. Radio Frequency Identification (RFID) .- -©2- SE SkeSk‡EEEEEEEEEEEEEEEE1221221211211211211 1.
Nguyên lý hoạt động.- --- Ăn HH nghiệt 30 "D1 ha. HyperText Transfer Protocol (HTTP). Các thành phan của HTTTP.-- 2-2 s+2£+EE+EE+EE+EE£EzEzErrsrreree 33 2. -- -G S 1S kg ng rên 33 2.- Ăn ng ng rườn 34 Chương 3.
THIET KE HE THÓNG. So đồ hệ thống. Giao diện người UNG. - óc 131v 91 1 vn ng ren 36 3.
_ Tổng quan giao diện. Gửi dit liệu lên Database. Gửi mã phòng sang ESP32 dé ghi thẻ RFID. Hệ thống nhận dạng.----:- 2+ +©E+EE#EE+EESEEEEEEEEEEEEEEEEErrrrrrrei 45 3.
ESP32 đọc ghi thẻ. Phân mm say ~ven. THỰC NGHIỆM VA DANH GIÁ. _ Cài đặt hệ thống.
Kết quả sau khi đăng ký người dùng trên hệ thống. Kết quả định danh khuôn mặt trên Jetson Nano. Giao diện người dùng.-- --- -- «+ kg ngư 54 Chương 5. KẾT LUẬN DE TÀI VÀ HƯỚNG PHAT TRIÉN.
Hạn chế đề tài.----- + ©52+EE‡EE 2 2EEEE1211271711211211111 211111. Nhược diGM ieee cecccccccsssessscssscssesssessssssscssscssecssscsscssecssecsscssscsseessecsses 55 5. Hướng phát triển đề tài. 55 DANH MỤC HÌNH Hình 1-1 Bảng thống kê về độ chính xác, số lượng tham số cần thiết và tốc độ xử lý với các biến thé của MobileFaceNet và ShuffleNet trên 2 bộ dữ liệu LEW và Ag©DB-3.
ch nà HH TH Hà KH HH HH TH HH HH HHTEERELkErkkrrke 3 Hình 1-2 Bảng thống kê thời gian ra mắt các loss function.ccceeeee 4 Hình 1-3 Bảng thống kê độ chính xác của từng loss function.------ 4 Hình 2-1 Mô tả ảnh dưới góc nhìn của máy tính.-------c-eseccxeerrrxsrrrxrrrreerre 9 Hình 2-2 Mô hình input và output thông qua xử lý các hàm .---‹--- 11 Hình 2-3 Biểu đồ hàm số regression.-:icccccvtrriteevvvttrrreevrtrrrrrsrerrrrrrreere 12 Hình 2-4 Sliding Window trong CNN .cccHHHHHre 14 Hình 2-5 Mô tả cách hoạt động của mỗi Kernel với ảnh Input.--- 15 Hình 2-6 Mô hình fully connected Ïay€r.------‹--ccs<cccessreerrreserkerrrsrrrerrrrrrrree 16 Hình 2-7 Mô hình convolutional layer liên kết trong CNN.- 17 Hình 2-8 Parameter của filter dùng để lọc ảnh.------ccseecccetrrcceerre 17 Hình 2-9 Biểu đồ phân loại SVM 2 elass.--22ieecetreeceetrrererrrrreerrrreerrre 19 Hình 2-10 Ảnh Input được chia nhỏ thành từng Cells.------css+: 20 Hình 2-11 Mũi tên chỉ hướng từ sáng đến tội đại diện cho gradient. 20 Hình 2-12 Kết quả sau khi xử lý gradient.----+-eceerreecerrreceerrrrecrrrreree 21 Hình 2-13 Trích xuất khuôn mặt dựa trên mẫu có sẵn.-se+ 21 Hình 2-14 68 landmarks trên mỗi khuôn mặt ta cần tìm .-------- 22 Hình 2-15 Ảnh đặc trưng của khuôn mặt sau khi tách ra. 24 Hình 2-17 128 đo lường sau khi trải qua quá trình huấn luyện. 25 Hình 2-18 Internet of TÏhings.--- --s-5c+scxeersrrtstrttrrttrrtkkrtrrrrirrrirrrirrrrrrrrrree 26 Hình 2-19 Sự gia tăng của giao tiếp máy-máy.-----ccssrecceerrrererrrreeerre 26 Hình 2-20 Bảng so sánh giao thức truyền tải không dây.----s--- 27 Hình 2-21 Thời gian đáp ứng cho ứng dụng IOÏTỈ.----e-ccc-ererxesrsrvrrrrxeee 28 Hình 2-22 Logo FirebasSe.-----sxccrt th HH1 re 29 Hình 2-23 Cấu trúc cơ bản của hệ thống RFID .c---cccsesccccvescerceer 30 Hình 2-24 Quy trình hoạt động hệ thống RFID .---cc--c-cccccvecceeerre 31 Hình 2-25 Sơ đồ hoạt động của giao thức HTTTP.-------5ccccccvveeeeeeerrree 32 Hình 2-26 Thông tin trong một gói tin Request gửi đến Server.
33 Hình 2-27 Một số chức năng của HTTP ReqUu€st.------e--c-+csereereexsrkserrrrk 34 Hình 3-1 Tổng quan sơ đồ hệ thống.---c-cveceeccccvxveeerrerrrrrrrrrrrrrrrrrree 36 Hình 3-2 Quá trình và tiểu trình của một ứng dụng khi chạy. 37 Hình 3-3 Hàm UpdateFrame.--- --s-©s+++++xsErkerrkkEkrtErktkkrtkkrrkirrrrrrirrrrrrerree 38 Hình 3-4 Ham tao Thread dé lấy frame từ webcam.cssrrcesrre 39 Hình 3-5 Hàm SavelDataToJsonlEIÏe.------cs<csxterketkrsrkketkrirttrirrririirrerie 39 Hình 3-6 Script python gửi file JSON lên Firebase SfOrage.ee 40 Hình 3-7 Script python gửi ảnh lên Storage.escecsesssecssssssesssesssecessessseesseesseesseeseesneesseesees 40 Hình 3-8 Hàm convertRoomIDtoESP32 _ IÏD.-escsscscscesestseestsrssrsrsersrseesrsrssrsrs 41 Hình 3-9 Thiết lập UART bên ứng dụng giao diện.------ccssxcccessee 42 Hình 3-10 Xử lý lỗi và hiển thị lên UI.-----2-+eccetrreceetrrecertrrceerrrreerrre 43 Hình 3-11 Thiết lập UART bên ESP32.+cccStrrervrtrrerrtrrrrrrrrrrrrrrre 43 Hình 3-12 Thiết lập SPI và khởi tạo Key mặc định .----«---e<e-ceeereeeee 44 Hình 3-13 Sơ đồ kết nói chân từ ESP32 sang MEFRC522.ccceerrcee 44 Hình 3-14 Sử dụng hàm từ thư viện MFRC522 dé ghi thé từ.- 45 Hình 3-15 Sơ đồ tổng quan xử ý đọc thẻ RFID từ ESP32.---- 46 Hình 3-16 So đồ tổng quan quá trình tạo file phân loại SVM. 47 Hình 3-17 Sơ đồ tổng quan Jetson Nano chạy .-----cc-ericeecceerrreecevrrrrreeeerr 48 Hình 4-1 Thông tin người dùng trên firebase.---------c-+©cceerrrxeerrrxerrrrrerrrrrree 51 Hình 4-2 Ảnh người dùng trên firebase.-----ccccrrcececvrtrrreerrrrrrrrerrrrrrrrrrerr 51 Hình 4-3 Quy trình huấn luyện ảnh khuôn mặt .-----:ir+eccceetrrrescert 52 Hình 4-4 FPS và độ chính xác khi nhận diện khuôn mặt unknown. 53 Hình 4-5 FPS và độ chính xác khi nhận diện khuôn mặt sau khi train.
53 Hình 4-6 Giao diện đăng ký người dùng.---ssccccxeesrxxrrrreerrrrrrrrrrrrrrrrrrrree 54 Hình 4-7 Giao diện người dùng đăng nhập.-------5cceccceerrrkierrrkrrrrrrrrrrrree 54 DANH MỤC BANG Bang 1 So đồ chân kết nối ESP32. Bang 2 Thống kê sé ảnh sau khi train DANH MỤC TU VIET TAT FPS Frame per second SVM Support Vector Machine RFID Radio Frequency Identification HOG Histogram of Oriented Gradients CNN Convolutional Neural Network DCNN Deep Convolutional Neural Network TÓM TẮT KHÓA LUẬN Hiện nay, các công nghệ nghiên cứu xử lý ảnh đã và đang được quan tâm và phát triển mạnh. Đi kèm theo đó là các ứng dụng áp dụng thành tựu của xử lý ảnh. Một trong những đề tài nổi bật và thu hút nhiều sự chú ý đó là nhận diện khuôn mặt.
Nội dung chính của đề tài sẽ tập trung vào Histogram of Oriented Gradients (HOG) để giải quyết vấn đề. Tạo ra một hệ thống nhận diện khuôn mặt với độ chính xác > 80% và tốc độ xử lý trên 5 FPS. Sau đó, nhóm sẽ tiễn hành train một model trích xuất các đặc trưng ảnh với dữ liệu thu thập từ nhiều nguồn và so sánh với các model hiện có và lưu trữ thông tin vê cơ sở dữ liệu. TONG QUAN ĐÈ TÀI 1.
Các công nghệ hiện nay Ngày nay công nghệ nhận dạng khuôn mặt được quan tâm và được coi là một lĩnh vực quan trọng trong khoa học nhận dạng là do nhu cầu ứng dụng nhận dạng khuôn mặt trong nhiều lĩnh vực như: kinh tế, điều tra tội phạm, bảo mật,.Nói một cách dễ hiểu, công nghệ nhận dạng khuôn mặt là công nghệ cho phép nhận dạng một người cụ thé từ ảnh hoặc một đoạn video. Cách thức làm việc của công nghệ này là so sánh hình ảnh khuôn mặt với những hình ảnh sẵn có trong cơ sở dữ liệu để đưa ra kết quả. Các thuật toán về xử lý nhận diện khuôn mặt đã và đang được phát triển khá rộng rãi với nhiều hướng giải quyết và thuật toán khác nhau. Tuy nhiên có thé khái quát quá trình xử lý này vê 4 bước như sau: - _ Xác định vi trí khuôn mặt có trong ảnh.
- Xuấtra các đặc trung của khuôn mặt. - So sánh với các anh trong bộ dữ liệu. - _ Xuất ra định danh khuôn mặt. Đối với con người, việc nhận diện khuôn mặt diễn ra thường xuyên trong cuộc sống, con người dé dàng nhận ra các khuôn mặt cũng như xác định đối tượng mỗi khi gặp phải đối tượng khác.
Nhưng dé máy tính có thé làm được việc tương tự như con người thì cần phải giải quyết rất nhiều bài toán cấp cao và thuật toán xử lý phù hợp để tiến hành từng bước xử lý. Vì vậy các khái niệm machine learning, deep learning và neural network được sinh ra để đáp ứng nhu cầu xử lý ảnh của con người. Các neural network luôn được quan tâm và phát triển dé đạt kết quả tốt nhất về tốc độ xử lý và độ chính xác. Mỗi mạng neural network có cách thức xử lý và cách hoạt động khác nhau.
Ngoài ra, các yêu tô của môi trường luôn là van đề cần được lưu tâm vì gây ảnh hưởng trực tiếp đến kết quả thu được từ các mạng. Vì vậy, xây dựng hệ thống nhận diện khuôn mặt dé hỗ trợ cho hệ thống IoT sẽ gặp nhiều khó khăn và phức tạp. Các nghiên cứu tương tự Nhắc đến nhận diện khuôn mặt tức là xử lý và biến đổi ảnh dé thu được khuôn mặt mong muốn trong từng khung hình. Vì vậy các thuật toán luôn được nghiên cứu và phát triển dé phục vụ và tối ưu quá trình xử lý ảnh.
Ké từ 1991, sự ra đời của các đặc trưng Haar dé nhận diện khuôn mặt trở thành nền tảng dé xây dựng các công nghệ nhận dạng khuôn mặt khác nhau. Các lĩnh vực nghiên cứu có thể ké đến là Holistic, Local handcraft, Shallow Learning và Deap Learning,. Các phương thức tiếp cận kề trên đều có các ưu điểm và nhược điểm về kha năng giải quyết bài toán, tốc độ xử lý và độ chính xác. Tuy nhiên các mạng Deep Neural Network ngày càng trở nên phô biến hơn.
Với các cải thiện từ phần cứng và đặc biệt là GPU, phương pháp Deep learning tiến dần về việc mô hình hóa bộ não con người và từ đó mang lại các kết quả tốt hơn. Ngoài ra, các mô hình mạng dần được thu gọn về mặt tham số xử lý, dữ liệu cần thiết đề train và test mà vẫn luôn đạt độ chính xác cao.05% Hình 1-1 Bang thống kê về độ chính xác, số lượng tham số cần thiết và tốc độ xử lý với các biến thé của MobileFaceNet và ShuffleNet trên 2 bộ dữ liệu LFW va AgeDB-30 Ngoài ra, để các mạng DCNN đạt kết quả cao nhất, thuộc tính Deep Learning cần được phát huy và tính toán một cách hiệu quả nhất. Chính vì thế Loss function hỗ trợ các mạng tính toán và cập nhập các tham số có khả năng học (learnable parameter) hay còn gọi là weights trong các mạng DCNN.