Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 58 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
58
Dung lượng
2,2 MB
Nội dung
UBND TỈNH BÌNH DƯƠNG TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT TRẦN NGUYỄN THANH TUYỀN HỆ THỐNG ĐIỂM DANH HỌC SINH TẠI TRƯỜNG PHỔ THÔNG SỬ DỤNG CÔNG NGHỆ NHẬN DẠNG KHUÔN MẶT CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN MÃ SỐ: 8480104 LUẬN VĂN THẠC SỸ BÌNH DƯƠNG - NĂM 2019 UBND TỈNH BÌNH DƯƠNG TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT TRẦN NGUYỄN THANH TUYỀN HỆ THỐNG ĐIỂM DANH HỌC SINH TẠI TRƯỜNG PHỔ THÔNG SỬ DỤNG CÔNG NGHỆ NHẬN DẠNG KHUÔN MẶT CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN MÃ SỐ: 8480104 LUẬN VĂN THẠC SỸ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS QUẢN THÀNH THƠ BÌNH DƯƠNG - NĂM 2019 LỜI CAM ĐOAN Tôi xin cam đoan rằng, đề tài “Hệ thống điểm danh học sinh trường phổ thông sử dụng công nghệ nhận dạng khuôn mặt” công trình nghiên cứu tơi hướng dẫn thầy PGS TS Quản Thành Thơ, xuất phát từ nhu cầu thực tế đơn vị công tác nguyện vọng tìm hiểu thân Ngoại trừ kết tham khảo từ cơng trình khác ghi rõ luận văn, nội dung trình bày luận văn kết nghiên cứu thực kết luận văn chưa cơng bố trước hình thức Bình Dương, ngày 25 tháng 02 năm 2019 Tác giả Trần Nguyễn Thanh Tuyền LỜI CẢM ƠN Qua thời gian học tập rèn luyện trường Đại học Thủ Dầu Một, bảo giảng dạy nhiệt tình q thầy cơ, đặc biệt q thầy cô khoa Khoa Kỹ thuật - Công nghệ truyền đạt cho kiến thức lý thuyết thực hành suốt thời gian học trường Tôi xin chân thành cảm ơn thầy PGS.TS Quản Thành Thơ tận tình hướng dẫn tơi hồn thành tốt đề tài luận văn thạc sỹ Một lần em chân thành cảm ơn thầy chúc thầy nhiều sức khoẻ Tuy nhiên Do kiến thức hạn hẹp nên khơng tránh khỏi thiếu sót cách diễn đạt trình bày Tơi mong nhận đóng góp ý kiến q thầy để báo cáo luận văn đạt kết tốt Tôi xin kính chúc q thầy thật nhiều sức khỏe, niềm vui thành công công việc sống Tơi xin chân thành cảm ơn! TĨM TẮT LUẬN VĂN Hiện nay, với phát triển xã hội, vấn đề an ninh bảo mật yêu cầu khắt khe quốc gia giới Các hệ thống nhận dạng người đời với độ tin cậy ngày cao Một toán nhận dạng quan tâm tốn nhận dạng khn mặt cách mà người sử dụng để phân biệt Bên cạnh đó, ngày việc thu thập, xử lý thông tin qua ảnh để nhận biết đối tượng quan tâm ứng dụng rộng rãi Với phương pháp này, thu thập nhiều thơng tin từ đối tượng mà không cần tác động nhiều đến đối tượng nghiên cứu Sự phát triển khoa học máy tính tạo mơi trường thuận lợi cho tốn nhận dạng mặt người qua camera, qua ảnh, qua video Các ứng dụng nhận dạng đời có độ tin cậy cao Trong luận văn ứng dụng mơ hình mạng Convolutional Neural Network để nhận dạng khn mặt học sinh để đưa vào hệ thống điểm danh học sinh cơng nghệ nhận dạng Tơi trình bày kiến thức tảng Deep Learning, áp dụng Deep Learning vào tốn nhận dạng khn mặt Từ kiến thức tham khảo từ cơng trình liên quan giới, tơi ứng dụng thuật tốn có tên FaceNet học cách ánh xạ từ ảnh khuôn mặt vào không gian Euclide với khoảng cách đo tương ứng với độ tương đồng khn mặt Thuật tốn tạo vector đặc trưng nhúng vào tốn nhận dạng khn mặt, kiểm tra khn mặt phân cụm khn mặt Sử dụng Mạng Tích Chập (Convolution Network - CNN) huấn luyện để tự tối ưu hóa tốn Sau tơi thực hệ thống nhằm thu thập hình ảnh học sinh khối trường THCS Định Hòa để thực kiểm tra đánh giá độ xác ứng dụng MỤC LỤC CHƯƠNG - GIỚI THIỆU 1.1 Đặt vấn đề 1.2 Mục tiêu phạm vi nghiên cứu 1.3 Tổng quan mơ hình CHƯƠNG - KIẾN THỨC NỀN TẢNG 2.1 Mạng nơron nhân tạo 2.1.1 Giới thiệu 2.1.2 Kiến trúc mạng 2.1.3 Huấn luyện mạng 2.1.4 Giải thuật Back – Propagation 2.1.5 Giảm lỗi cho mạng 12 2.2 Mơ Hình Convolutional Neural Network – CNN 14 2.2.1 Giới thiệu mạng CNN 14 2.2.2 Mơ hình kiến trúc mạng CNN 15 2.2.3 Các vấn đề mạng CNN 18 2.2.5 Huấn luyện mơ hình 21 2.2.6 Bộ lọc đặt tính (Filters And Feature Map) 23 2.2.7 Ứng dụng mạng CNN 24 CHƯƠNG - CÁC CƠNG TRÌNH LIÊN QUAN 25 3.1 Nhận dạng khuôn mặt sử dụng Bag-of-Words 25 3.2 Khoanh vùng phần khuôn mặt sử dụng mẫu đồng dạng 26 CHƯƠNG - MƠ HÌNH ĐỀ XUẤT NHẬN DẠNG KHN MẶT BẰNG DEEP LEARNING SỬ DỤNG MẠNG FACENET VÀ THỰC NGHIỆM 29 4.1 Mơ hình mạng CNN cho tốn nhân dạng khn mặt 29 4.2 Tổng qt hóa kích thước 30 4.2.1 Tổng qt hóa kích thước ảnh 30 4.2.2 Tổng quát hóa kích thước lọc Convolution 31 4.2.3 Tổng qt hóa kích thước lọc max pooling 31 4.2.4 Kích thước ảnh sau tầng 32 4.3 Phương pháp huấn luyện 32 4.3.1 Huấn luyện CNN cho việc extract feature 32 4.3.2 Huấn luyện mơ hình phân loại 34 4.4 Thực Thuật Toán 35 4.5 Thực Nghiệm 36 4.6 Ưu Nhược Điểm Thuật Toán 39 4.6.1 Ưu Điểm 39 4.6.2 Nhược Điểm 39 4.7 Nhận Xét Thuật Toán 39 4.8 Hiển thị kết xuất file 40 4.8.1 Giao diện ứng dụng 40 4.8.2 Xuất kết file Excel 41 KẾT LUẬN 43 CÔNG NGHỆ SỬ DỤNG 44 TÀI LIỆU THAM KHẢO 47 DANH MỤC CHỮ VIẾT TẮT ANN - Artificial Neural Network CNN - Convolutional Neural Network FC - Fully-connected ReLU - Rectified Linear Unit SIFT –Scale Invariant Feature Transform SVM - Support Vector Machine DANH MỤC HÌNH, ĐỒ THỊ Hình Mơ hình tổng quan Hình Mơ hình mạng nơron nhân tạo Hình Ảnh tế bào Nơron nhân tạo Hình Mạng nơron truyền thẳng Hình Quá trình học Supervised ANN Hình Quá trình học mạng nơron Hình Mơ hình tính toán nơron 10 Hình Giảm lỗi cho mạng 12 Hình Underfiting 12 Hình 10 Overfitting 13 Hình 11 Convolution với filter 16 Hình 12 Tính tốn với phương pháp MaxPooling 17 Hình 13 Kết nối cục 18 Hình 14 Trọng số 19 Hình 15 Ví dụ ảnh CIFAR-10 20 Hình 16 Kết sau covolution ảnh 32x32 với filter 3x3 20 Hình 17 Tác động trọng số đến loss function 22 Hình 18 Bước học (learning rate) 23 Hình 19 Bộ lọc đặt tính 23 Hình 20 Sơ đồ thuật toán Khối Bag of Word 25 Hình 21 Ảnh kết sau khoanh vùng nhóm tác giả 27 Hình 22 kết xác định điểm liệu LFPW với số điểm lỗi 28 Hình 23 Sai số trung bình kết 28 Hình 24 thuật tốn nhận dạng khuôn mặt 28 Hình 25 Hình minh họa output khoảng cách sử dụng FaceNet 29 Hình 26 Kích thước ảnh đầu vào 30 Hình 27 Filter concatenation 31 Hình 28 Tiền xử lý ảnh 33 Hình 29 Mơ q trình tính tốn tripletloss 34 Hình 30 Sơ đồ tổng quát thuật toán 35 Hình 31 Thực nghiệm hệ điều hành Ubuntu 36 Hình 32 Thực nghiệm nhận dạng khn mặt học sinh 37 Hình 33 Thực nghiệm nhận dạng khuôn mặt học sinh 37 Hình 34 Thực nghiệm nhận dạng khuôn mặt học sinh 38 Hình 35 Thực nghiệm nhận dạng khuôn mặt học sinh 38 Hình 36 Thực nghiệm nhận dạng khn mặt học sinh 39 Hình 37 Giao diện ứng dụng 40 Hình 38 Thực nghiệm nhận dạng khuôn mặt in kết giao diện 40 Hình 39 Thực nghiệm nhận dạng khuôn mặt in kết giao diện 41 Hình 40 Xuất kết file Excel 41 Hình 41 Xuất kết file Excel 42 hình người đó, người tầm 100-1000 hình, data khoảng vài nghìn người Sử dung face detector [4] để tách phần ảnh có gương mặt người Sau ta resize hình lại kích cỡ xác định (tùy chọn), facenet 160x160, gần arcface dùng cỡ 112x112, việc chọn cỡ tùy theo yêu cầu phần cứng độ xác Ta sử dụng thuật toán face detection MTCNN (Multi Cascade Convolution Neural Network)[6] để tách phần ảnh có chứa gương mặt ra, sau sử dụng hàm OpenCV để điều chỉnh kích thước ảnh 160x160 sau chiếu khơng gian ảnh vào miền [-1,1] cách normalize hình Hình gốc Face detection Align resize Hình normalize Hình 28 Tiền xử lý ảnh 2.Thực bước “lọc” dataset Thực tế dataset lớn vggface hay ms 1m có nhiều “nhiễu”, tức hình khơng chứa gương mặt gương mặt khác với người cần xét Vì dùng mơ hình nhận diện gương mặt khác để tìm loại bỏ hình “nhiễu” Hoặc đơn giản ta lấy clean list (danh sách hình chuẩn) lọc sẵn 3.Thực bước normalize cho tập dataset chuẩn bị Cách normalize giống cách normalize cho CNN bình thường Các bước train: Đầu vào tập dataset chuẩn bị, CNN CNN inception, mobilenet,… với đầu embbeding vector nói, embedding vector có 128 chiều 512 chiều,… tùy ý Tóm lại ta cần lấy cấu trúc inception mobilenet, bỏ lớp cuối thêm vào lớp embedding vector (khơng có activation) Trang 33 4.Forward pass tập data, lưu embedding vector tính minibatch lại 5.Chia minibatch thành phần positive, negative anchor, anchor phần “neo” giống “tâm” cụm embedding vector, sau chọn phần positive embedding vector người với anchor, negative khác người Hình 29 Mơ q trình tính tốn tripletloss 6.Tính Triplet loss khoảng cách embbeding vector anchor positive trừ cho khoảng cách embbeding vector anchor negative (tức ta tìm cách làm giảm khoẳng cách từ vector positive tới anchor ngược lại đẩy vector negative xa khỏi anchor) Sử dụng thuật toán backpropagation để huấn luyện CNN theo hàm lỗi triplet 4.3.2 Huấn luyện mơ hình phân loại Sử dụng model face detector [5] để tìm bounding box gương mặtchú ý face detector phải giống với face detector dùng cho trình train cho kết xác Cắt phần gương mặt tìm ra, resize lại thực prewhiten (bước normalize data) Đưa vào CNN train để tính embbeding vector Trang 34 Dùng kNN, SVM, so sánh khoảng cách để tìm “cụm” mà embedding vector thuộc về, từ suy danh tính người chọn 4.4 Thực Thuật Tốn Hình 30.Sơ đồ tổng qt thuật tốn Bước Tiền xử lý Thực bước huấn luyện cho 8000 ảnh 200 học sinh, học sinh sau xử lí đưa vào thư mục gán nhãn với tên lớp học sinh Bước Tính embedding vector Hình ảnh tiền xử lý bước 4.3.1 đưa vào CNN huấn luyện, kết embedding vector gương mặt Bước Thực xác định gương mặt Sau có embedding vector, việc ta dùng embedding vector đưa vào mơ hình SVM kNN huấn luyện dựa tập embedding vector để phân biệt gương mặt với Trang 35 4.5 Thực Nghiệm Tôi thực nghiệm 8000 ảnh khuôn mặt từ 200 đối tượng học sinh, sau cắt phần khuôn mặt ảnh để tạo thành ảnh khn mặt, tơi thay đổi kích thước ảnh khn mặt từ 96 × 96 điểm ảnh đến 160 × 160 điểm ảnh Với tốn nhận dạng khn mặt, sau huấn luyện thu vector đặc trưng 128 chiều ta sử dụng phân loại k-NN Đánh giá liệu LFW với 8000 ảnh khuôn mặt từ 200học sinh thu độ xác 92.5% Hình 31 Thực nghiệm hệ điều hành Ubuntu Trang 36 Hình 32 Thực nghiệm nhận dạng khn mặt học sinh Hình 33 Thực nghiệm nhận dạng khn mặt học sinh Trang 37 Hình 34 Thực nghiệm nhận dạng khn mặt học sinh Hình 35 Thực nghiệm nhận dạng khn mặt học sinh Trang 38 Hình 36 Thực nghiệm nhận dạng khuôn mặt học sinh 4.6 Ưu Nhược Điểm Thuật Tốn 4.6.1 Ưu Điểm Tính đến thời điểm FaceNet đời, thuật toán lập nên kỷ lục nhận dạng khuôn mặt nhiều điều kiện ảnh khác 4.6.2 Nhược Điểm FaceNet huấn luyện với số lượng lớn hình ảnh (hơn 200 triệu ảnh nghìn đối tượng), lớn gấp lần so với liệu có Để xây dựng liệu lớn khó thực phòng thiết bị, học thuật đòi hỏi kiến trúc máy lớn 4.7 Nhận Xét Thuật Toán Thuật toán FaceNet sử dụng ba sai số CNN để huấn luyện, sử dụng ý tưởng vào đề tài Tuy nhiên, vấn đề gặp phải ta khơng có đủ thiết bị để huấn Trang 39 luyện triệu ảnh FaceNet Do đó, thay vì huấn luyện tồn khn mặt, ta huấn luyện phần khuôn mặt dựa ý tưởng trình bày mục 2.3.5 4.8.Hiển thị kết xuất file 4.8.1 Giao diện ứng dụng Lập trình giao diện với PyQt5 Hình 37 Giao diện ứng dụng Nháy nút Start để kiểm tra kết Hình 38 Thực nghiệm nhận dạng khn mặt in kết giao diện Trang 40 Hình 39 Thực nghiệm nhận dạng khuôn mặt in kết giao diện 4.8.2 Xuất kết file Excel Sau nhận dạng xong ứng dụng tên người bên khung bên phải, để xuất file Excel ta nhấn nút Get File Hình 40 Xuất kết file Excel Trang 41 Hình 41 Xuất kết file Excel Trang 42 KẾT LUẬN * Kết đạt Sau thực nghiệm ứng dụng điểm danh học sinh công nghệ nhận dạng ảnh, ứng dụng giúp trường điểm danh trực tiếp học sinh cơng nghệ nhận dạng khn mặt tương đối xác, bắt đầu đưa cách mạng công nghiệp 4.0 vào sống * Tồn hạn chế Thuật toán FaceNet sử dụng ba sai số CNN để huấn luyện, sử dụng ý tưởng vào đề tài Tuy nhiên, vấn đề gặp phải ta khơng có đủ thiết bị để huấn luyện triệu ảnh FaceNet - Ưu điểm: Tính đến thời điểm FaceNet đời, thuật toán lập nên kỷ lục nhận dạng khuôn mặt nhiều điều kiện ảnh khác - Nhược điểm: FaceNet huấn luyện với số lượng lớn hình ảnh (hơn 200 triệu ảnh triệu đối tượng), lớn gấp lần so với liệu có Để xây dựng liệu lớn khó thực phòng thiết bị, học thuật đòi hỏi kiến trúc máy lớn * Hướng phát triển Thuật toán FaceNet sử dụng ba sai số CNN để huấn luyện, sử dụng ý tưởng vào đề tài Tuy nhiên, vấn đề gặp phải ta khơng có đủ thiết bị để huấn luyện triệu ảnh FaceNet Đề tài phát triển thành phần mềm nhận dạng mặt người tốt hơn, cách kết hợp với số thuật toán nhận dạng phụ thuộc nhiều vào tập huấn luyện, vị trí khn mặt hình Cho kết xác Trang 43 CƠNG NGHỆ SỬ DỤNG * Ngơn ngữ lập trình Python Python ngơn ngữ lập trình thơng dịch, thiết kế trọng vào tính dễ đọc đoạn mã cho phép lập trình viên diễn tả khái niệm với vài dòng lệnh Python sử dụng hệ thống kiểu động (dynamic type system), chế cấp phát nhớ tự động hỗ trợ nhiều mơ hình lập trình lâp trình hướng đối tượng, lập trình hàm lập trình thủ tục Tơi sử dụng Python phiên 3.6 làm ngơn ngữ lập trình ngồi ưu điểm trên, Python cịn ngơn ngữ nhiều framework học sâu hỗ trợ (Tensorflow, Keras, ) * Các Framework library - TensorFlow TensorFlow thư viện mã nguồn mở dùng cho việc tính tốn số học sử dụng mơ hình đồ thị luồng liệu (data flow graphs) Các node đồ thị biểu thị cho phép tính tốn, cạnh đồ thị biểu diễn mảng đa chiều chứa liệu (cịn gọi tensor) truyền qua cạnh Kiến trúc đặc biệt giúp cho việc triển khai tác vụ tính tốn cách linh hoạt hay nhiều CPU GPU máy tính cá nhân, hệ thống máy chủ hay thiết bị di động mà không cần viết lại mã nguồn TensorFlow hỗ trợ mạnh việc xây dựng sử dụng mơ hình học máy học sâu Tôi sử dụng TensorFlow phiên 1.12 (thông qua API cấp cao Keras) để xây dựng mô hình thực huấn luyện liệu - Keras Keras thư viện mã nguồn mở dùng cho Deep Learning, chạy Theano Tensorflow Trang 44 Keras thiết kế để hỗ trợ thực mơ hình Deep Learning nhanh phục vụ cho nghiên cứu phát triển ứng dụng Keras phát triển với nguyên tắc chính: - Mơ đun: Một mơ hình hiểu chuỗi đồ thị riêng lẻ Các thành phần mơ hình học sâu Keras tách thành phần riêng kết hợp tùy ý lại với cách dễ dàng để hình thành nên mơ hình - Thân thiện với người dùng: Keras API thiết kế cho người Kerasđặt trải nghiệm người dùng lên hàng đầu, đưa API đồng đơn giản, tối thiểu hóa số thao tác cần thiết cho tác vụ phổ biến - Dễ dàng mở rộng: Các mơ đun dễ dàng thêm vào sử dụng bên thư viện, điều đặc biệt hữu dụng nhà nghiên cứu muốn thử nghiệm khám phá ý tưởng - Làm việc với Python: Thư viện viết hồn tồn Python Các mơ hình miêu tả Python, với đặc tính nhỏ gọn, dễ dàng kiểm tra lỗi cho phép dễ dàng mở rộng Keras trọng vào ý tưởng mô hình Kiểu mơ hình gọi Sequence - ngăn xếp (stack) tầng (layer) - Scikit-learn Scikit-learn (viết tắt sklearn) thư viện mã nguồn mở ngành machine learning, mạnh mẽ thông dụng với cộng đồng Python, thiết kế NumPy SciPy Scikit-learn chứa hầu hết thuật toán machine learning đại nhất, kèm với comprehensive documentations Điểm mạnh thư viện sử dụng phổ biến academia industry, ln updated có very active user community - PyQt Trang 45 Qt Application framework đa tảng viết ngôn ngữ C++ , dùng để phát triển ứng dụng desktop, hệ thống nhúng mobile Hỗ trợ cho platform bao gồm : Linux, OS X, Windows, VxWorks, QNX, Android, iOS, BlackBerry, Sailfish OS số platform khác PyQt Python interface Qt, kết hợp ngôn ngữ lập trình Python thư viện Qt, thư viện bao gồm thành phần giao diện điều khiển (widgets , graphical control elements) PyQt API bao gồm module bao gồm số lượng lớn với classes functions hỗ trợ cho việc thiết kế giao diện giao tiếp với người dùng phần mềm chức Hỗ trợ với Python 2.x 3.x PyQt phát triển Riverbank Computing Limited Công cụ thiết bị Anaconda Anaconda tảng (platform) mã nguồn mở Khoa học liệu (Data Science) Python thông dụng Với triệu người dùng, Anaconda cách nhanh dễ để học Khoa học liệu với Python R Windows, Linux Mac OS X Visual Studio Code Visual Studio Code sản phẩm Microsoft, mắt vào tháng năm 2015 hội nghị Build Đặc điểm bật đơn giản, gọn nhẹ, dễ dàng cài đặt Visual Studio Code cài đặt Windows, Linux Mac OS hỗ trợ nhiều ngôn ngữ Trang 46 TÀI LIỆU THAM KHẢO [1] Phan Văn Hiền,2013,Giáo trình Mạng neural - Trường Đại học Bách Khoa Đà Nẵng [2] P N Belhumeur, D W Jacobs, D J Kriegman and N Kumar, Localizing parts of faces using a consensus of exemplars, IEEE transactions on pattern analysis and machine intelligence, vol 35(12), pp 2930-2940, 2013 [3] F Schroff, D Kalenichenko and J Philbin, Facenet: A unified embedding for face recognition and clustering, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp 815-823, 2015 [4] https://viblo.asia/p/tim-hieu-mtcnn-va-ap-dung-de-xac-dinh-vi-tri-cac-khuonmat-3Q75wkO75Wb [5] https://towardsdatascience.com/face-detection-neural-network-structure257b8f6f85d1 [6] https://towardsdatascience.com/mtcnn-face-detection-cdcb20448ce0 [7] CS231n Convolutional neural networks for visual recognition http://cs231n.github.io/convolutional-networks [8] http://machinelearningcoban.com/2017/03/04/overfitting [9] http://nhiethuyettre.me/mang-no-ron-tich-chap-convolutional-neural-network [10] Adit Deshpande (July 20, 2016) A Beginner's Guide To Understanding Convolutional Neural Networks, https://adeshpande3.github.io/ABeginner'sGuide-To-Understanding-Convolutional-Neural-Networks/ [11] C.-F Tsai, "Bag-of-words representation in image annotation: A review.," ISRN Artificial Intelligence 2012, 2012 Trang 47 ... TỈNH BÌNH DƯƠNG TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT TRẦN NGUYỄN THANH TUYỀN HỆ THỐNG ĐIỂM DANH HỌC SINH TẠI TRƯỜNG PHỔ THÔNG SỬ DỤNG CÔNG NGHỆ NHẬN DẠNG KHUÔN MẶT CHUYÊN NGÀNH: HỆ THỐNG THÔNG TIN MÃ SỐ:... mặt. Với mục đích đưa tiến công nghệ vào phục vụ cho sống, xin chọn đề tài nghiên cứu: ? ?Hệ thống điểm danh học sinh trường phổ thông sử dụng công nghệ nhận dạng khuôn mặt? ?? 1.2 Mục tiêu phạm vi... DẪN KHOA HỌC: PGS TS QUẢN THÀNH THƠ BÌNH DƯƠNG - NĂM 2019 LỜI CAM ĐOAN Tôi xin cam đoan rằng, đề tài ? ?Hệ thống điểm danh học sinh trường phổ thông sử dụng công nghệ nhận dạng khuôn mặt? ?? công trình