Tiểu luận cuối kỳ môn Xử lí ảnh đề tài "Hệ thống điểm danh nhận diện bằng khuôn mặt"

Tiểu luận cuối kỳ môn Xử lí ảnh đề tài "Hệ thống điểm danh nhận diện bằng khuôn mặt" của Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh với những kiến thức và thông tin bổ ích giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả cao cũng như có thể vận dụng tốt những kiến thức mình đã học vào thực tiễn cuộc sống. Mời bạn đọc đón xem!

lOMoARcPSD|36625228
B
GIÁO D
ỤC ĐÀO TẠ
TRƯỜNG Đ
I H
ỌC SƯ PHẠ
M K
THU
T TP. H
CHÍ MINH
TP.H
CHÍ MINH, NGÀY 17 THÁNG 6 NĂM 2022
FINAL PROJECT
Môn h
X
NH
Đề
tài : H
TH
ỐNG ĐIỂ
M DANH
B
NG NH
N DI
N KHUÔN M
T
SVTH: Nguy
n Hoàng Minh Ti
ế
n - 20151577
Hu
nh Thanh Duy - 20151180
GVHD: TS. Nguy
ễn Văn Thái
lOMoARcPSD| 36625228
LỜI CẢM ƠN
Trước tiên chúng em xin ược bày tỏ sự trân trọng và lòng biết ơn ối với thầy
giáo Nguyễn Văn Thái. Trong suốt quá thời gian học và làm án môn học, thầy ã
dành rất nhiều thời gian quý báu tận tình chỉ bảo, hướng dẫn, ịnh hướng cho em
thực hiện ồ án.
Chúng em xin ược cảm ơn các thâygiáo Khoa Điện Điện Tử - Đại Học
Phạm KThuật Thành Phố Hồ Chí Minh ã giảng dạy trong quá trình học tập, thực
hành, làm bài tập, giúp em hiểu thấu áo hơn các nội dung học tập và những hạn chế
cần khắc phục trong việc học tập, nghiên cứu và thực hiện ồ án này.
lOMoARcPSD|36625228
MỤC LỤC
M ĐẦU ..................................................................................................................... 3
PHN 1: GII THIU TNG QUAN ....................................................................... 4
1.1. Tổng quan về nhận diện khuôn mặt .............................................................. 4
1.2. Phân tích bài toán ............................................................................................ 5
1.3. Các công cụ ....................................................................................................... 5
1.3.1. Ngôn ngữ lập trình C# ............................................................................... 5
1.3.2. Thư viện EmguCV ..................................................................................... 5
1.3.3. Visual Studio .............................................................................................. 5
1.3.4. Thuật toán Haar Like Feature ................................................................. 6
PHN 2: TRÌNH BÀY GIAO DIN .......................................................................... 6
PHN 3: GII THÍCH CODE .................................................................................... 7
PHN 4: HOT ĐỘNG CỦA CHƯƠNG TRÌNH................................................... 12
PHN 5: HN CH, KT LUN ............................................................................ 15
5.1. Hạn chế ........................................................................................................... 15
5.2. Kết luận ........................................................................................................... 16
Tài liu tham kho ..................................................................................................... 16
MỞ ĐẦU
Khuôn mặt óng vai trò quan trọng trong quá trình giao tiếp giữa người với người,
cũng mang một lượng thông tin giàu có, chẳng hạn có thế xác ịnh giới tính, tuổi tác,
trạng thái cảm xúc của người ó,... hơn nữa khảo sát chuyển ộng, của các ường nét
trên khuôn mặt có thể biết ược người ó ang muốn nói gì.
lOMoARcPSD|36625228
Trong hệ thống nhận dạng người thì quá trình nhận dạng khuôn mặt ược ánh giá
bước khó khăn và quan trọng nhất so với các bước còn lại của hệ thống. Do ó, nhận
dạng khuôn mặt là iều quan trọng và cần thiết.
Nhận dạng khuôn mặt người là một công nghệ ược ứng dụng rông rãi trong ời sống
hằng ngày của con người như các hệ thống giám sát, quản lí vào ra, tìm kiếm thông
tin người nổi tiếng,... rất nhiều phương pháp nhận dạng khuôn mặt nâng cao
hiệu suất tuy nhiên dù ít hay nhiều những phương pháp này ang vấp phải những thử
thách về sáng, hướng nghiên, kích thước ảnh, hay ảnh hưởng của tham số môi
trường.
Cùng với sự phát triển của xã hội, vấn ề an ninh, bảo mật ang ược yêu cầu khắt khe
tại mọi quốc gia trên thế giới. Các hệ thống nhận dạng con người, ồ vật... ược ra ời
và phát triển với ộ tin cậy ngày càng cao. Với cách tiếp cận ối tượng nhận dạng theo
phương pháp này, chúng ta có thể thu nhập ược nhiều thông tin từ ối tượng hơn, mà
không cần tác ộng nhiều ến ối tượng cũng vấn ảm bảo tính chính xác, an toàn, thuận
tiện. Trong phạm vi bài báo cáo này chúng em xin ược trình bài quá trình thực hiện
iểm danh qua nhận diện khuôn mặt qua thư viện emgucv. Cuối cùng, mặc ã cố
gắng rất nhiều nhưng do thời gian có hạn, khả năng dịch và hiểu tài liệu chưa tốtnên
nội dung án này không thể tránh khỏi những thiếu sót, rất mong ược sự chỉ bảo,
góp ý của các thầy cô và các bạn.
PHẦN 1: GIỚI THIỆU TỔNG QUAN
1.1. Tng quan v nhn din khuôn mt
Hơn một thập kỉ qua có rất nhiều công trình nghiên cứu về bài toán xác ịnh
khuôn mặt người từ ảnh en trắng, xám ến ảnh màu như ngày nay. Các nhà nghiên
cứu i từ bài toán ơn giản, mỗi ảnh chỉ có một mặt người nhìn thẳng vào thiết bị thu
hình và ầu ở tư thế thẳng ứng trong ảnh en trắng. Cho ến ngày nay bài toán mở
rộng cho ảnh màu, có nhiều khuôn mặt trong cùng một ảnh, có nhiều tư thế thay ổi
trong ảnh. Không chỉ những thế mà còn mở rộng cả phạm vi từ môi trường xung
quanh khá ơn giản cho ến môi trường xung quanh phức tạp nhầm áp ứng nhu cầu
của con người.
lOMoARcPSD|36625228
Trong những năm gần ây các ứng dụng về trí tuệ nhân tạo ngày càng phát
triển và ược ánh giá cao. Một lĩnh vực ang ược quan tâm của trí tuệ nhân tạo nhằm
tạo ra các ứng dụng thông minh, có tính người ó là nhận dạng. Trong ề tài này
chúng em chọn ối tượng là khuôn mặt.
1.2. Phân tích bài toán
Bài toán Nhận Diện Khuôn Mặt (Face Recognition) bao gồm các bài toán
khác nhau như Phát hiện khuôn mặt (Face detection), ánh dấu (Facial
landmarking), trích chọn (rút) ặc trưng (feature extration), gán nhãn, phân lớp
(classification)…
1.3. Các công c
Để giải quyết bài toán trong project này chúng em sử dụng thư viện
EmguCV và ngôn ngữ lập C# trên phần mềm Visual Studio, thuật toán mà chúng
em sử dụng là thuật toán Haar Like Feature.
1.3.1. Ngôn ng lp trình C#
C# (hay C sharp) là một ngôn ngữ lập trình ơn giản, ược phát triển bởi ội ngũ kỹ
sư của Microsoft vào năm 2000. C# là ngôn ngữ lập trình hiện ại, hướng ối tượng và
ược xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java.
Trong các ứng dụng Windows truyền thống, mã nguồn chương trình ược
biên dịch trực tiếp thành mã thực thi của hệ iều hành. Trong các ứng dụng sử dụng
.NET Framework, mã nguồn chương trình (C#, VB.NET) ược biên dịch thành mã
ngôn ngữ trung gian MSIL (Microsoft intermediate language). Sau ó mã này ược
biên dịch bởi Common Language Runtime (CLR) ể trở thành mã thực thi của hệ
iều hành.
1.3.2. Thư viện EmguCV
EmguCV là thư viện xử lý ảnh dành riêng cho C#, ược xây dựng từ
OpenCV và có phát triển thêm. Thực ra EmguCV là lớp bao của OpenCV do ó
EmgCV chỉ khác cách sử dụng, cấu trúc hàm…Trong EmguCV vẫn có thể sử dụng
lại các hàm của OpenCV bằng câu lệnh Cvlnvoke.
1.3.3. Visual Studio
Visual studio là một trong những công cụ hỗ trợ lập trình website rất nổi
tiếng nhất hiện nay của Mcrosoft và chưa có một phần mềm nào có thể thay thế ược
nó. Visual Studio ược viết bằng 2 ngôn ngữ ó chính là C# và VB+. Đây là 2 ngôn
ngữ lập trình giúp người dùng có thể lập trình ược hệ thống một các dễ dàng
nhanh chóng nhất thông qua Visual Studio.
lOMoARcPSD|36625228
Visual Studio là một phần mềm lập trình hệ thống ược sản xuất trực tiếp từ
Microsoft. Từ khi ra ời ến nay, Visual Studio ã có rất nhiều các phiên bản sử dụng
khác nhau. Điều ó, giúp cho người dùng có thể lựa chọn ược phiên bản tương thích
với dòng máy của mình cũng như cấu hình sử dụng phù hợp nhất.
Bên cạnh ó, Visual Studio còn cho phép người dùng có thể tự chọn lựa giao
diện chính cho máy của mình tùy thuộc vào nhu cầu sử dụng.
1.3.4. Thut toán Haar Like Feature
Phát hiện mặt người là bài toán cơ bản ược xây dựng từ nhiều năm nay, có
nhiều phương pháp ược ưa ra như sử dụng template matching, neuron
network…Cho tới nay bài toán này hầu như ược giải quyết dựa trên phương pháp
sử dụng các ặc trưng haar like. Phương pháp này ược cho là ơn giản và kết quả phát
hiện là tương ối cao, lên tới 98%, các hãng sản xuất máy ảnh như Canon,
Samsung… cũng ã tích hợp nó vào trong các sản phẩm của mình. Và trong bài báo
cáo này, em sẽ sử dụng phương pháp pháp phát hiện khuôn mặt của Violas và John
ược cài ặt trong Emgucv.
PHẦN 2: TRÌNH BÀY GIAO DIỆN
Khi nhấn “Bắt Đầu” camera sẽ ược bật và sinh viên bắt ầu thực hiện việc iểm
danh nếu trường hợp chương trình chạy lần ầu cần phải thêm sinh viên vào lớp.
lOMoARcPSD|36625228
Những sinh viên ã iểm danh sẽ hiện trên trên “ Danh Sách Sinh Viên Có Mặt”. Kết
thúc buổi học ấn nút tổng kết ể xem số sinh viên vắng mặt, số sinh viên vắt mặt sẽ
ược hiển thị ở “Danh Sách Sinh Viên Vắng Mặt”.
PHẦN 3: GIẢI THÍCH CODE
Khai báo các thư viện cần thiết:
Khởi tạo các biến và vector ể thao tác:
Chương trình nút nhấn “Bắt ầu”:
Dùng ể bật camera và bắt ầu chương trình
lOMoARcPSD|36625228
Chương trình nút nhấn “Thêm Sinh Viên”:
Dùng ể thêm thông tin của sinh viên vào Database
- Nếu phát hiện ược khuôn mặt: khi nhấn nút chương trình sẽ tiến hành chụp
ảnh khuôn mặt, chuyển ảnh về ảnh mức xám và lưu ảnh vào thư mục TrainedFaces,
tên cho ảnh ược người dùng nhập vào textbox1 cũng s ược lưu lại vào file
TrainedLabels.txt trong thư mục TrainedFaces.
- Nếu không phát hiện khuôn mặt: hiển thị thông báo yêu cầu người dùng kiểm
tra lại camera hoặc vị trí khuôn mặt so với camera.
lOMoARcPSD|36625228
Chương trình nút nhấn “Điểm danh”:
- Nếu phát hiện khuôn mặt, sinh viên sẽ ược iểm danh, tên sinh viên sẽ ược ghi
vào listBox2.
- Nếu không phát hiện khuôn mặt, chương trình sẽ hiện thông báo không phát
hiện ược khuôn mặt và yêu cầu thử lại.
lOMoARcPSD|36625228
Chương trình nút nhấn “Tổng kết”:
Những sinh viên trong lớp chưa tên trong listBox2 ( iểm danh) sẽ ược ghi tên vào
listBox3 (vắng).
Hàm nhận diện và ánh dấu khuôn mặt
lOMoARcPSD|36625228
Chương trình chính
lOMoARcPSD|36625228
Lấy dữ liệu từ file haarcascade_frontalface_default.xml ể nhận diện khuôn mặt.
PHẦN 4: HOẠT ĐỘNG CỦA CHƯƠNG TRÌNH
Chương trình sau khi chạy
lOMoARcPSD|36625228
Khi chưa ấn nút Bắt ầu nhưng ấn nút Thêm Sinh Viên
Chương trình sau khi ấn nút Bắt ầu
lOMoARcPSD|36625228
Thông báo thêm sinh viên thành công, tên sinh viên ược lưu vào listBox2
Khi ấn nút iểm danh mà không phát hiện khuôn mặt
lOMoARcPSD|36625228
Khi ấn nút tổng kết
PHẦN 5: HẠN CHẾ, KẾT LUẬN
5.1. Hn chế
Trong quá trình thực hiện, có một số vấn ề phát sinh mà chúng em chưa giải
quyết ược như sau:
lOMoARcPSD|36625228
Sinh viên chưa ược thêm dliệu vào Database khi ấn iểm danh slấy thông tin
ngẫu nhiên của sinh viên ã ược thêm thông tin vào Database.
Cách giải quyết các vấn ề chưa tối ưu.
Trình bày bố cục chưa ẹp mắt
5.2. Kết lun
Về cơ bản, chúng em ã hoàn thành ược dự án với ộ chính xác và tính ổn ịnh
tương ối. Về mặt giao diện, chương trình có ầy các phím chức năng cần thiết. Tuy
nhiên, ể tiến xa hơn, nhóm sẽ ưa ra một số phương án phát triển cũng như hướng áp
dụng.
Trước sự phát triển của thời ại công nghệ số, iểm danh bằng nhận diện khuôn
mặt ã ược ứng dụng trên rất nhiều lĩnh vực. Giải pháp y ược ứng dụng rộng rãi
nhất trong mô hình quản lý nhân viên và nhận diện iểm danh tại trường học.
Ứng dụng iểm danh nhận diện khuôn mặt trong trường học: Hệ iểm danh
nhận diện khuôn mặt với bộ phận camera có thể quét gương mặt của giáo viên,
nhân viên học sinh và lưu vào bộ nhớ.Thiết bị này sẽ xử lý hình ảnh một cách
nhanh chóng, chính xác, ổn ịnh chống gian lận chấm công hoặc iểm danh hộ.
Ứng dụng cho doanh nghiệp, công sở: Hệ thống chấm công với bộ phận
camera có thể quét gương mặt của các nhân viên trong công ty và lưu lại trong bộ
nhớ. Thiết bị này sẽ xử lý hình ảnh rất nhanh chóng, hoạt ộng ổn ịnh, có tính bảo
mật cao, hạn chế mọi thủ tục giấy tờ rườm rà cũng như những trường hợp gian lận
chấm công hộ.
Điểm danh bằng nhận diện khuôn mặt ngày nay ược ứng dụng rộng rãi trong
cuộc sống, trong doanh nghiệp và ở môi trường học ường. Cuộc sống ngày càng
phát triển, do vậy nhu cầu về việc sử dụng các thiết bị công nghệ phục vụ ời sống
ngày càng trở nên cần thiết.
Tài liệu tham khảo
1. ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT – Nguyễn
Nguyên Ngọc Phú (https://www.slideshare.net/nataliej4/ti-im-danh-bng-nhn-
dinkhun-mt-ging-vin-pgsts-hunh-cng-php-6773725)
2. Nhận dạng mặt người với giải thuật haar Like feature Cascade of boosted
classifiers và ặc trưng sift (https://tailieutuoi.com/tai-lieu/nhan-dang-mat-
lOMoARcPSD|36625228
nguoivoi-giai-thuat-haar-like-feature-cascade-of-boosted-classifiers-va-dac-trung-
sift)
3. https://viblo.asia/p/tim-hieu-ve-phuong-phap-nhan-dien-khuon-mat-cua-
violasjohn-ByEZkNVyKQ0
4. https://codegym.vn/blog/2020/06/29/c-la-gi-tim-hieu-ve-ngon-ngu-lap-trinh-c/
5. https://123docz.net/trich-doan/885205-thu-vien-xu-ly-anh-opencv-emgucv.htm
| 1/17

Preview text:

lOMoARcPSD| 36625228
B Ộ GIÁO D ỤC ĐÀO TẠ O
TRƯỜNG ĐẠ I H ỌC SƯ PHẠ M K Ỹ THU Ậ T TP. H Ồ CHÍ MINH FINAL PROJECT
Môn h ọ c: X NH Đề
tài : H TH ỐNG ĐIỂ M DANH
B NG NH N DI N KHUÔN M T
SVTH: Nguy ễ n Hoàng Minh Ti ế n - 20151577
Hu ỳ nh Thanh Duy - 20151180
GVHD: TS. Nguy ễn Văn Thái
TP.H CHÍ MINH, NGÀY 17 THÁNG 6 NĂM 2022 lOMoAR cPSD| 36625228 LỜI CẢM ƠN
Trước tiên chúng em xin ược bày tỏ sự trân trọng và lòng biết ơn ối với thầy
giáo Nguyễn Văn Thái. Trong suốt quá thời gian học và làm ồ án môn học, thầy ã
dành rất nhiều thời gian quý báu ể tận tình chỉ bảo, hướng dẫn, ịnh hướng cho em thực hiện ồ án.
Chúng em xin ược cảm ơn các thây cô giáo Khoa Điện Điện Tử - Đại Học Sư
Phạm Kỹ Thuật Thành Phố Hồ Chí Minh ã giảng dạy trong quá trình học tập, thực
hành, làm bài tập, giúp em hiểu thấu áo hơn các nội dung học tập và những hạn chế
cần khắc phục trong việc học tập, nghiên cứu và thực hiện ồ án này. lOMoARcPSD| 36625228 MỤC LỤC
MỞ ĐẦU ..................................................................................................................... 3
PHẦN 1: GIỚI THIỆU TỔNG QUAN ....................................................................... 4
1.1. Tổng quan về nhận diện khuôn mặt .............................................................. 4
1.2. Phân tích bài toán ............................................................................................ 5
1.3. Các công cụ ....................................................................................................... 5
1.3.1. Ngôn ngữ lập trình C# ............................................................................... 5
1.3.2. Thư viện EmguCV ..................................................................................... 5
1.3.3. Visual Studio .............................................................................................. 5
1.3.4. Thuật toán Haar Like Feature ................................................................. 6
PHẦN 2: TRÌNH BÀY GIAO DIỆN .......................................................................... 6
PHẦN 3: GIẢI THÍCH CODE .................................................................................... 7
PHẦN 4: HOẠT ĐỘNG CỦA CHƯƠNG TRÌNH................................................... 12
PHẦN 5: HẠN CHẾ, KẾT LUẬN ............................................................................ 15
5.1. Hạn chế ........................................................................................................... 15
5.2. Kết luận ........................................................................................................... 16
Tài liệu tham khảo ..................................................................................................... 16 MỞ ĐẦU
Khuôn mặt óng vai trò quan trọng trong quá trình giao tiếp giữa người với người, và
cũng mang một lượng thông tin giàu có, chẳng hạn có thế xác ịnh giới tính, tuổi tác,
trạng thái cảm xúc của người ó,... hơn nữa khảo sát chuyển ộng, của các ường nét
trên khuôn mặt có thể biết ược người ó ang muốn nói gì. lOMoARcPSD| 36625228
Trong hệ thống nhận dạng người thì quá trình nhận dạng khuôn mặt ược ánh giá là
bước khó khăn và quan trọng nhất so với các bước còn lại của hệ thống. Do ó, nhận
dạng khuôn mặt là iều quan trọng và cần thiết.
Nhận dạng khuôn mặt người là một công nghệ ược ứng dụng rông rãi trong ời sống
hằng ngày của con người như các hệ thống giám sát, quản lí vào ra, tìm kiếm thông
tin người nổi tiếng,... có rất nhiều phương pháp nhận dạng khuôn mặt ể nâng cao
hiệu suất tuy nhiên dù ít hay nhiều những phương pháp này ang vấp phải những thử
thách về ộ sáng, hướng nghiên, kích thước ảnh, hay ảnh hưởng của tham số môi trường.
Cùng với sự phát triển của xã hội, vấn ề an ninh, bảo mật ang ược yêu cầu khắt khe
tại mọi quốc gia trên thế giới. Các hệ thống nhận dạng con người, ồ vật... ược ra ời
và phát triển với ộ tin cậy ngày càng cao. Với cách tiếp cận ối tượng nhận dạng theo
phương pháp này, chúng ta có thể thu nhập ược nhiều thông tin từ ối tượng hơn, mà
không cần tác ộng nhiều ến ối tượng cũng vấn ảm bảo tính chính xác, an toàn, thuận
tiện. Trong phạm vi bài báo cáo này chúng em xin ược trình bài quá trình thực hiện
iểm danh qua nhận diện khuôn mặt qua thư viện emgucv. Cuối cùng, mặc dù ã cố
gắng rất nhiều nhưng do thời gian có hạn, khả năng dịch và hiểu tài liệu chưa tốtnên
nội dung ồ án này không thể tránh khỏi những thiếu sót, rất mong ược sự chỉ bảo,
góp ý của các thầy cô và các bạn.
PHẦN 1: GIỚI THIỆU TỔNG QUAN
1.1. Tổng quan về nhận diện khuôn mặt
Hơn một thập kỉ qua có rất nhiều công trình nghiên cứu về bài toán xác ịnh
khuôn mặt người từ ảnh en trắng, xám ến ảnh màu như ngày nay. Các nhà nghiên
cứu i từ bài toán ơn giản, mỗi ảnh chỉ có một mặt người nhìn thẳng vào thiết bị thu
hình và ầu ở tư thế thẳng ứng trong ảnh en trắng. Cho ến ngày nay bài toán mở
rộng cho ảnh màu, có nhiều khuôn mặt trong cùng một ảnh, có nhiều tư thế thay ổi
trong ảnh. Không chỉ những thế mà còn mở rộng cả phạm vi từ môi trường xung
quanh khá ơn giản cho ến môi trường xung quanh phức tạp nhầm áp ứng nhu cầu của con người. lOMoARcPSD| 36625228
Trong những năm gần ây các ứng dụng về trí tuệ nhân tạo ngày càng phát
triển và ược ánh giá cao. Một lĩnh vực ang ược quan tâm của trí tuệ nhân tạo nhằm
tạo ra các ứng dụng thông minh, có tính người ó là nhận dạng. Trong ề tài này
chúng em chọn ối tượng là khuôn mặt.
1.2. Phân tích bài toán
Bài toán Nhận Diện Khuôn Mặt (Face Recognition) bao gồm các bài toán
khác nhau như Phát hiện khuôn mặt (Face detection), ánh dấu (Facial
landmarking), trích chọn (rút) ặc trưng (feature extration), gán nhãn, phân lớp (classification)… 1.3. Các công cụ
Để giải quyết bài toán trong project này chúng em sử dụng thư viện
EmguCV và ngôn ngữ lập C# trên phần mềm Visual Studio, thuật toán mà chúng
em sử dụng là thuật toán Haar Like Feature.
1.3.1. Ngôn ngữ lập trình C#
C# (hay C sharp) là một ngôn ngữ lập trình ơn giản, ược phát triển bởi ội ngũ kỹ
sư của Microsoft vào năm 2000. C# là ngôn ngữ lập trình hiện ại, hướng ối tượng và
ược xây dựng trên nền tảng của hai ngôn ngữ mạnh nhất là C++ và Java.
Trong các ứng dụng Windows truyền thống, mã nguồn chương trình ược
biên dịch trực tiếp thành mã thực thi của hệ iều hành. Trong các ứng dụng sử dụng
.NET Framework, mã nguồn chương trình (C#, VB.NET) ược biên dịch thành mã
ngôn ngữ trung gian MSIL (Microsoft intermediate language). Sau ó mã này ược
biên dịch bởi Common Language Runtime (CLR) ể trở thành mã thực thi của hệ iều hành.
1.3.2. Thư viện EmguCV
EmguCV là thư viện xử lý ảnh dành riêng cho C#, ược xây dựng từ
OpenCV và có phát triển thêm. Thực ra EmguCV là lớp bao của OpenCV do ó
EmgCV chỉ khác cách sử dụng, cấu trúc hàm…Trong EmguCV vẫn có thể sử dụng
lại các hàm của OpenCV bằng câu lệnh Cvlnvoke. 1.3.3. Visual Studio
Visual studio là một trong những công cụ hỗ trợ lập trình website rất nổi
tiếng nhất hiện nay của Mcrosoft và chưa có một phần mềm nào có thể thay thế ược
nó. Visual Studio ược viết bằng 2 ngôn ngữ ó chính là C# và VB+. Đây là 2 ngôn
ngữ lập trình giúp người dùng có thể lập trình ược hệ thống một các dễ dàng và
nhanh chóng nhất thông qua Visual Studio. lOMoARcPSD| 36625228
Visual Studio là một phần mềm lập trình hệ thống ược sản xuất trực tiếp từ
Microsoft. Từ khi ra ời ến nay, Visual Studio ã có rất nhiều các phiên bản sử dụng
khác nhau. Điều ó, giúp cho người dùng có thể lựa chọn ược phiên bản tương thích
với dòng máy của mình cũng như cấu hình sử dụng phù hợp nhất.
Bên cạnh ó, Visual Studio còn cho phép người dùng có thể tự chọn lựa giao
diện chính cho máy của mình tùy thuộc vào nhu cầu sử dụng.
1.3.4. Thuật toán Haar Like Feature
Phát hiện mặt người là bài toán cơ bản ược xây dựng từ nhiều năm nay, có
nhiều phương pháp ược ưa ra như sử dụng template matching, neuron
network…Cho tới nay bài toán này hầu như ược giải quyết dựa trên phương pháp
sử dụng các ặc trưng haar like. Phương pháp này ược cho là ơn giản và kết quả phát
hiện là tương ối cao, lên tới 98%, các hãng sản xuất máy ảnh như Canon,
Samsung… cũng ã tích hợp nó vào trong các sản phẩm của mình. Và trong bài báo
cáo này, em sẽ sử dụng phương pháp pháp phát hiện khuôn mặt của Violas và John
ược cài ặt trong Emgucv.
PHẦN 2: TRÌNH BÀY GIAO DIỆN
Khi nhấn “Bắt Đầu” camera sẽ ược bật và sinh viên bắt ầu thực hiện việc iểm
danh nếu trường hợp chương trình chạy lần ầu cần phải thêm sinh viên vào lớp. lOMoARcPSD| 36625228
Những sinh viên ã iểm danh sẽ hiện trên trên “ Danh Sách Sinh Viên Có Mặt”. Kết
thúc buổi học ấn nút tổng kết ể xem số sinh viên vắng mặt, số sinh viên vắt mặt sẽ
ược hiển thị ở “Danh Sách Sinh Viên Vắng Mặt”.
PHẦN 3: GIẢI THÍCH CODE
Khai báo các thư viện cần thiết:
Khởi tạo các biến và vector ể thao tác:
Chương trình nút nhấn “Bắt ầu”:
Dùng ể bật camera và bắt ầu chương trình lOMoARcPSD| 36625228
Chương trình nút nhấn “Thêm Sinh Viên”:
Dùng ể thêm thông tin của sinh viên vào Database -
Nếu phát hiện ược khuôn mặt: khi nhấn nút chương trình sẽ tiến hành chụp
ảnh khuôn mặt, chuyển ảnh về ảnh mức xám và lưu ảnh vào thư mục TrainedFaces,
tên cho ảnh ược người dùng nhập vào textbox1 cũng sẽ ược lưu lại vào file
TrainedLabels.txt trong thư mục TrainedFaces. -
Nếu không phát hiện khuôn mặt: hiển thị thông báo yêu cầu người dùng kiểm
tra lại camera hoặc vị trí khuôn mặt so với camera. lOMoARcPSD| 36625228
Chương trình nút nhấn “Điểm danh”: -
Nếu phát hiện khuôn mặt, sinh viên sẽ ược iểm danh, tên sinh viên sẽ ược ghi vào listBox2. -
Nếu không phát hiện khuôn mặt, chương trình sẽ hiện thông báo không phát
hiện ược khuôn mặt và yêu cầu thử lại. lOMoARcPSD| 36625228
Chương trình nút nhấn “Tổng kết”:
Những sinh viên trong lớp chưa có tên trong listBox2 ( iểm danh) sẽ ược ghi tên vào listBox3 (vắng).
Hàm nhận diện và ánh dấu khuôn mặt lOMoARcPSD| 36625228
Chương trình chính lOMoARcPSD| 36625228
Lấy dữ liệu từ file haarcascade_frontalface_default.xml ể nhận diện khuôn mặt.
PHẦN 4: HOẠT ĐỘNG CỦA CHƯƠNG TRÌNH
Chương trình sau khi chạy lOMoARcPSD| 36625228
Khi chưa ấn nút Bắt ầu nhưng ấn nút Thêm Sinh Viên
Chương trình sau khi ấn nút Bắt ầu lOMoARcPSD| 36625228
Thông báo thêm sinh viên thành công, tên sinh viên ược lưu vào listBox2
Khi ấn nút iểm danh mà không phát hiện khuôn mặt lOMoARcPSD| 36625228 Khi ấn nút tổng kết
PHẦN 5: HẠN CHẾ, KẾT LUẬN 5.1. Hạn chế
Trong quá trình thực hiện, có một số vấn ề phát sinh mà chúng em chưa giải quyết ược như sau: lOMoARcPSD| 36625228
• Sinh viên chưa ược thêm dữ liệu vào Database khi ấn iểm danh sẽ lấy thông tin
ngẫu nhiên của sinh viên ã ược thêm thông tin vào Database.
• Cách giải quyết các vấn ề chưa tối ưu.
• Trình bày bố cục chưa ẹp mắt 5.2. Kết luận
Về cơ bản, chúng em ã hoàn thành ược dự án với ộ chính xác và tính ổn ịnh
tương ối. Về mặt giao diện, chương trình có ầy ủ các phím chức năng cần thiết. Tuy
nhiên, ể tiến xa hơn, nhóm sẽ ưa ra một số phương án phát triển cũng như hướng áp dụng.
Trước sự phát triển của thời ại công nghệ số, iểm danh bằng nhận diện khuôn
mặt ã ược ứng dụng trên rất nhiều lĩnh vực. Giải pháp này ược ứng dụng rộng rãi
nhất trong mô hình quản lý nhân viên và nhận diện iểm danh tại trường học.
Ứng dụng iểm danh nhận diện khuôn mặt trong trường học: Hệ iểm danh
nhận diện khuôn mặt với bộ phận camera có thể quét gương mặt của giáo viên,
nhân viên và học sinh và lưu vào bộ nhớ.Thiết bị này sẽ xử lý hình ảnh một cách
nhanh chóng, chính xác, ổn ịnh chống gian lận chấm công hoặc iểm danh hộ.
Ứng dụng cho doanh nghiệp, công sở: Hệ thống chấm công với bộ phận
camera có thể quét gương mặt của các nhân viên trong công ty và lưu lại trong bộ
nhớ. Thiết bị này sẽ xử lý hình ảnh rất nhanh chóng, hoạt ộng ổn ịnh, có tính bảo
mật cao, hạn chế mọi thủ tục giấy tờ rườm rà cũng như những trường hợp gian lận chấm công hộ.
Điểm danh bằng nhận diện khuôn mặt ngày nay ược ứng dụng rộng rãi trong
cuộc sống, trong doanh nghiệp và ở môi trường học ường. Cuộc sống ngày càng
phát triển, do vậy nhu cầu về việc sử dụng các thiết bị công nghệ phục vụ ời sống
ngày càng trở nên cần thiết.
Tài liệu tham khảo
1. ĐỀ TÀI : ĐIỂM DANH BẰNG NHẬN DIỆN KHUÔN MẶT – Nguyễn
Nguyên Ngọc Phú (https://www.slideshare.net/nataliej4/ti-im-danh-bng-nhn-
dinkhun-mt-ging-vin-pgsts-hunh-cng-php-6773725)
2. Nhận dạng mặt người với giải thuật haar Like feature – Cascade of boosted
classifiers và ặc trưng sift (https://tailieutuoi.com/tai-lieu/nhan-dang-mat- lOMoARcPSD| 36625228
nguoivoi-giai-thuat-haar-like-feature-cascade-of-boosted-classifiers-va-dac-trung- sift)
3. https://viblo.asia/p/tim-hieu-ve-phuong-phap-nhan-dien-khuon-mat-cua- violasjohn-ByEZkNVyKQ0
4. https://codegym.vn/blog/2020/06/29/c-la-gi-tim-hieu-ve-ngon-ngu-lap-trinh-c/
5. https://123docz.net/trich-doan/885205-thu-vien-xu-ly-anh-opencv-emgucv.htm