Đ. T. H. Hà / Nghiên cứu xây dng h thng theo dõi, giám sát trng thái bun ng da tn th giác máy tính
80
NGHIÊN CU XÂY DNG H THNG THEO DÕI, GIÁM SÁT
TRNG THÁI BUN NG DA TRÊN TH GIÁC MÁY TÍNH
Đin Th Hng Hà
Trường Đại hc Kinh tế - K thut công nghip, Hà Ni, Vit Nam
ARTICLE INFORMATION
TÓM TT
Journal: Vinh University
Journal of Science
Natural Science, Engineering
and Technology
p-ISSN: 3030-4563
e-ISSN: 3030-4180
Bài báo này tp trung nghiên cu xây dng mô hình h thng
phát hin giám sát trng thái bun ng khi lái xe da trên
th giác máy tính. Sn phm có th ng dụng trên các phương
tin giao thông hiện nay (như xe ô hoặc xe chức năng
tương tự). Nghiên cu s dng mt s hình phát hin bun
ng mi nht hin nay, t đó thu thập x d liu, hun
luyện mô hình để đưa ra được các kết qu định lượng. Thông
qua đó đánh giá và thực hin đề xut ci tiến mô hình cho phù
hp với phương tiện giao thông ti Vit Nam. Kết qu thc
nghim cho thy, h thng th ghi li hình nh thông qua
camera, phát hin khuôn mặt người, d đoán trạng thái bun
ngủ, sau đó gửi cnh báo v máy ch và hin th d liu cnh
báo trên giao diện website. Đánh giá cơ bản cho thy h thóng
hoạt động ổn định tương đối chính xác theo các yêu cu
thiết kế lập trình trước đó. Kết qu nghiên cu y th
đem s dng trên thc tế hoc dùng làm hình thc hành
cho sinh viên các ngành trí tu nhân tạo và Robot, điều khin
t động hóa nhm nâng cao kh năng áp dụng thuyết vào
gii quyết bài toán trong thc tế.
Từ khóa: Buồn ngủ; giao thông; Robot thông minh; thị giác
máy tính; trí tuệ nhân tạo.
1. Gii thiu
Volume: 53
Issue: 3A
*Correspondence:
dthha@uneti.edu.vn
Received: 26 June 2024
Accepted: 16 August 2024
Published: 20 September 2024
Citation:
Dien Thi Hong Ha (2024).
Research on developing a
monitoring system for drowsiness
detection based on computer
vision. Vinh Uni. J. Sci.
Vol. 53 (3A), pp. 80-90
doi: 10.56824/vujs.2024a075a
Bun ng (somnolence) là mt trong nhng nguyên nhân
chính ca tai nn giao thông tại nước ta và các nưc trên
thế gii hiện nay. Theo đó, buồn ng được hiu mt
trng thái khao khát mãnh liệt được ng, hoc ng trong
thi gian dài bất thường. Bun ng mang ý nghĩa
nguyên nhân riêng bit. th s ám ch đến trng thái
bình thường trước khi ng, trng thái bun ng do ri lon
nhp sinh học, các điều kin khi trong mt trng thái
bun ng do nhp sinh hc di lon, hoc mt triu chng
ca các vấn đề sc khe khác. th được đi kèm vi
th ơ, suy nhược và thiếu s nhanh nhn tinh thn. Bun
ng có th nguy him khi thc hin các nhim v đòi hỏi
s tp trung liên tc, chng hạn như lái xe. Khi một người
mt mi, th gp phải cơn buồn ng. Trong nhng
người b mt ng, thì bun ng th t tiêu tan trong
mt thi gian ngn; hiện tượng này được gọi cơn gió
th hai, và kết qu ca chu k bình thường ca nhp sinh
hc can thiệp vào các quá trình cơ thể thc hiện để chun
b cho bn thân ngh ngơi.
OPEN ACCESS
Copyright © 2024. This is an
Open Access article distributed
under the terms of the Creative
Commons Attribution License (CC
BY NC), which permits non-
commercially to share (copy and
redistribute the material in any
medium) or adapt (remix,
transform, and build upon the
material), provided the original
work is properly cited.
Vinh University Journal of Science Vol. 53, No. 3A/2024
81
Hin nay các hãng sn xuất xe hơi đã đang thực hin chú trng tối đa mức an
toàn ca khách hàng nh ng dng các công ngh hiện đại (như trí tuệ nhân tạo) để giúp
khách hàng gim thiểu các nguy cơ liên quan tới tai nn giao thông. Mt s ví d v nhng
h thng phát hin bun ng như: Driver Alert Control ca hãng Volvo, Attention Assist
ca hãng Mazda, Driver Drowsiness Detection ca hãng Bosch, Active Driving Assistant
with Attention Assistant của hãng BMW… Những h thng này s giám sát người lái xe
(tài xế), và đưa ra cảnh báo cn thiết v tình trng bun ng ca h. T đó người tài xế s
xem xét hoc bin pháp phù hợp như dng lại để ngh ngơi, giải thoát cơn bun ng.
Các giải pháp này có độ chính xác tương đối cao, đã hỗ tr rt tích cc cho các tài xế khi
lái xe góp phn gim thiu tai nn giao thông gây ra bởi hành động ng gt ca tài xế.
Nhng h thống này tuy có đ chính xác cao, nhưng chỉ dng li mc theo dõi và cnh
báo cho người s dụng. Trong trường hp nếu người tài xế c tình pht l li cnh báo,
mi th có th tr nên vô nghĩa. Đặc bit, những công ty trong lĩnh vực giao thông vn ti
cho thuê xe, bởi phương tiện điều khin không thuc s hu của người điều khin
phương tiện thì tình trng pht l này li càng d xảy ra hơn. Hơn nữa, đa số các xe
trng ti ln chạy đường dài hin nay ti Việt Nam đều chưa lắp đặt các h thng cnh báo
tình trng bun ng tối ưu.
Nghiên cu này thc hin đề xut gii pháp ci tiến các thiếu sót trên, đó s xây
dng mt h thng phát hin và cnh báo bun ng có kết nối điện toán đám mây [1]-[3].
Nếu có cnh báo, h thng s gi tín hiu v máy ch để lưu trữ kết quả. Điều này nếu kết
hp vi trách nhim pháp lý khi gây ra tai nn giao thông s phần nào điều chnh hành vi
của người điều khiển phương tiện khi gp tình trng bun ng.
Trong bài báo này s dng phương pháp dùng các kỹ thut phát hin da trên hin
ng sinh ca con người để phát hin trng thái bun ng được thc hin theo hai
cách sau [4]-[9]: Cách th nht: Theo dõi, đo lường s thay đổi trong các tín hiu sinh lý,
chng hạn như sóng não, nhịp tim nháy mt (intrusive techniques: k thut xâm nhp).
Để áp dng k thut này các cm biến điện s đưc gn trc tiếp vào cơ thể của ngưi lái
xe, do đó gây khó chịu và mt tp trung. Ngoài ra, i xe trong thi gian dài s dẫn đến đổ
m hôi và làm gim kh năng hoạt động trên các thiết b cm biến. Cách th hai: S dng
Th giác máy tính để đo lường những thay đổi v cơ th vt lý (non-intrusive techniques: k
thut không xâm nhập) như thế chùng xung, v trí nghiêng đầu, trng thái nhm/ m mt,
ming của người lái xe. K thut này rt phù hp với điều kin i xe thc tế không cn
c động trc tiếp vào thể ngưi i xe mà thông qua máy quay (camera) đ phát hin
những thay đổi trên khuôn mặt ngưi. Bin pháp này ha hn là mt trong những phương
pháp tt nht với ưu điểm là vic không có tác động vt lý lên c ngưi và xe, mang li s
tin li và hiu qu. ng thiết kếlập trình điều khin ca sn phm i báo s s dng
cách th hai như vừa trình bày. Mc tiêu d kiến sau khi hoàn thành ca nghiên cu bao
gm: Phát trin mt h thống đ xut theo dõi và giám t (phát hin) ngưi lái xe bun ng
trong thi gian thc. Nghiên cu đã phát triển mt h thng đơn giản gm 5 phn, c th :
(a) Ghi li hình nh camera. (b) Phát hin khuôn mt. (c) D đoán trng thái, phát hin bun
ng. (d) Gi cnh báo v máy ch. (e) Hin th d liu cnh báo lên website.
2. Công c thc hin
Để thc hin thành công nghiên cu y, nhóm tác gi đã sử dng các công c ct
lõi đó [2]-[5]: Ngôn ng lp trình Python dùng để viết ni dung chương trình; Thư viện
Đ. T. H. Hà / Nghiên cứu xây dng h thng theo dõi, giám sát trng thái bun ng da trên th giác máy tính
82
Open CV dùng để tn dng các hàm thư viện sn (như Scikit-learn, TensorFlow, Keras,
Numpy) h tr nhn din khuôn mặt người trong th giác máy tính; H điu nh Linux
Ubuntu dùng để cài đặt chương trình thử nghim; Google Colab dùng để viết thc thi
đonpython thông qua trình duyt Mt s thiết b phn cng được s dng kết hợp đó
: Camera dùng để quay video tài xế; Máy tính nhúng Jetson Nano đưc thiết kế dành riêng
cho các nhà phát trin, sn xut và nghiên cu sn phm ng dng trí tu nhân to.
3. Xây dng h thng
3.1. Thu thp d liu
Đối vi mt bài toán s dng Deep Learning, d liệu đầu vào ca bài toán
cùng quan trng. Khi ta có mt d tốt, đủ nhiu, bao gm hết những trưng hp mà model
s gp phi trong thc tế, thì model Deep Learning này s hoạt động rt tt trong thc tế
ngược li, không th mong mun model hot động vi một độ chính xác cao trong khi bn
thân d liệu đầu vào rt t. Vì vy, khi gii quyết nhng bài toán s dng Deep Learning,
các kinh nghiệm điều thu thp, x lí, điều chnh d liu một cách càng trước
khi hun luyn mô hình [6]-[8].
Trng thái bun ng của con người thc cht không phi mt khonh khc, mà
là c một giai đoạn. đó con người s đi từ trng thái không tnh táo, bun ng, tin ng
ri mới đến ng hẳn. Phân tích xem con người có đang trng thái bun ng hơn một
bài toán phc tp, ngay c vi một con người bi rt nhiu biu hiện trường
hp khác nhau. Hin tại, đề tài đang sử dng bài toán phân loi nh, tc là h thng s
chp tng khonh khc, liên kết nhng khonh khc này li vi nhau t đó đưa ra d đoán
rng một người có bun ng hay không.
Trong nghiên cu này có tham kho ti b d liệu sau đây:
- B d liu v cơn buồn ng trong đời thc của Đại hc Texas ti Arlington (UTA
Real-Time Drowsiness Datasets) được to ra cho nhim v phát hin bun ng nhiu giai
đoạn, nhm mc tiêu không ch các trường hp cực đoan d nhìn thy, còn c các
trường hp tinh vi khi các biu hin vi tế nh yếu t phân bit. Tp d liu UTA-
RLDD ca là tp d liu bun ng thc tế ln nhất cho đến nay. B d liu này bao gm
khong 30 gi video RGB của 60 người tham gia khe mnh.
- B d liu Driver Drowsiness Detection Datasets (DDDD) s dng tp d liu
video v tình trng bun ng của người lái xe do Phòng thí nghim Th giác Máy tính
NTHU thu thp.
- B d liu mô phng cho người Vit: UTA-RLDD DDDD đều hai ngun
d liu vô cùng quý giá và đầy đủ, bao hàm hết nhng trường hp trong thc tế, gồm đầy
đủ rt nhiu sc tc. Tuy nhiên, phân phi sc tc ca 2 ngun d liệu trên ít người châu
Á (với đặc điểm mt nh hơn) và đặc biệt là người Vit Nam. Vy nên, nghiên cu đã xây
dng riêng mt b d liu ca những người Vit Nam (da trên k thut ca hai b d liu
trên) đ h thng th phù hợp hơn với đặc điểm ca người Vit th s dng cho
người Vit.
3.2. X lý d liu
Nhng d liệu đã thu thập được điều d liu dng video, thế cn phi nhng
công đoạn x lí d liu thô tr thành d liu đu vào cho bài toán phân loi [9]-[10]. Các
công đoạn x lí video được tóm tắt theo sơ đồ như trong Hình 1 dưới đây:
Vinh University Journal of Science Vol. 53, No. 3A/2024
83
Hình 1: Quá trình x lý d liu video
Trong đó:
- Ly khung hình: Video thc cht mt chui liên tiếp các hình nh liên tiếp
nhau, được hin th mt cách ni tiếp nhau. Mi video có mt tốc độ khung hình nhất định
gi là FPS (Frame per second), tốc độ này đại din cho s ng khung hình xut hin trên
mt giây. Tốc độ khung hình càng cao thì độ t ca video càng tt. Thông thường FPS
phi lớn hơn 25 thì mắt con ngưi s không thy b git. Bi vì bài toán s dng hình nh,
vì vy ta cn phi ly hình nh tài xế t nhng video trong ngun d liu. Vic ly khung
hình được thc hiện qua thư vin OpenCV trong Python.
- Phát hin khuôn mt: Bi hình nh toàn cnh ca tài xế quá nhiu đặc
trưng (feature) không cn thiết, nên cn thiết phi mt model phát hin khuôn mặt để
có th trích xut khuôn mt ca tài xế. Vi hình ảnh đầu vào là hình nh toàn cnh ca tài
xế, mô hình s tr v kết qu (x1, y1, x1, x2) vi (x1, y1) là tọa độ cặp điểm bên trái phía
dưới ca ô d đoán và (x2, y2) là tọa độ điểm bên phi trên cùng ca ô d đoán.
- Cắt, thay đổi kích thước hình nh: Model d đoán khuôn mặt đã vẽ bounding
box khuôn mt rt chính xác. Và Bounding box này thường có hình dng là hình ch nht,
tuy nhiên mt vấn đề ny sinh hình ảnh đầu vào ca Model phân loi nh vuông
(224*224*3). Nếu ta ct ngay nh hình ch nht rồi thay đổi kích thước v 224*224*3 thì
hình s b méo, và tr nên không thc tế. Vì vy ta cn phi biến Bounding box ca khuôn
mt thành hình vuông bng cách viết mt hàm trong Python.
- Xóa hình ging nhau: bước trên, kĩ thuật skip frame đã được áp dng khi ly
khung hình t video, tuy nhiên nhng hình nh nhận được sau đó vn khá nhiu nh
trùng nhau. Vì vy cn thiết phi thc hin xóa hình giống nhau để gim bt s ng hình
nh trong ngun d liệu nhưng vẫn gi được chất lượng hình nh.
- Gán nhãn: Việc xác định trng thái ca một người thông qua hình nh là vic
cùng khó khăn, cho dù là đối vi con người bi vì mỗi người có một đặc điểm khuôn mt
khác nhau, đc biệt đặc đim mt. Quy tắc gán nhãn được thc hin trong nghiên cu
này như sau: Một người được xem là đang buồn ng khi có mt hoc nhng biu hin sau:
Ngáp; Mt nhm h; Có cung thâm mt, mt m nh; Không tnh táo. Một người được
xem đang ngủ khi mt hoc nhng biu hin sau: Nhm mt; Cúi đầu không thy
mt; Ngẩng đầu và nhm mt. Một người được xem là đang tỉnh táo khi không có nhng
biu hin trên. Nếu mt hình nh có th thuc hai lp bun ng hoc tnh táo hay bun ng
và ng, thì hình ảnh đó sẽ được xếp trng thái thấp hơn.
Đ. T. H. Hà / Nghiên cứu xây dng h thng theo dõi, giám sát trng thái bun ng da trên th giác máy tính
84
- Chuyển đổi thành nh xám: Bi ngun d liu video thô gm có c nh màu,
nh xám và nh hng ngoi. Vì thế cn thiết phi có một bước chuyn hình nh thành nh
xám để quy toàn b d liu v h nh xám.
3.3. Thc hin bài toán phân loi d liu
3.3.1. Chun hóa và làm giàu d liu
Sau khi tiến hành x lí d liu, d liu cho bài toàn phân loi trng thái khuôn mt
như sau [10]-[12]:
- Tp hun luyn (Train sets): 8464 nh vi 3 lp: 3672 nh lp tnh táo, 2804
nh lp bun ng, 1988 nh lp ng. Tp thẩm định (Validation): 1253 nh vi ba lp:
484 nh lp tnh táo, 436 nh lp bun ng, 333 nh lp ng.
- Làm giàu d liu: Bi d liu ca bài toán bao gm 8464 bc nh, khá ít so
vi mt bài toán Deep Learning thông thường. thế cn phi s làm giàu d liệu để
tăng cường s d liu hiện có. thuật làm giàu d liệu thuật đó chúng ta tạo
thêm những điểm d liu có ích cho bài toán da trên d liệu ban đầu.
3.3.2. Xây dng mô hình
hình phát hin bun ng ca h thống được xây dng da trên hình
MobileNet V2 với thuật Fine tuning s h tr ca Framework Tensorflow Keras.
hình gm hai phn: Head Model và End Model vi các thông s chi tiết như Hình 2.
Hình 2: Thông s của mô hình đề xut
3.2.3. Hun luyn mô hình
Sau khi hoàn thành vic xây dựng mô hình, mô hình được hun luyn vi toàn b
d liệu đã được làm giàu. Nhng thông s trong lúc hun luyện như sau: Thut toán ti
ưu: Adam, learning_rate (tốc độ hc) 0.00003; Hàm mt mát: Categorical_crossentropy;
Ma trận đánh giá: Accuracy; Số epoch mi ln train: 10 [13]-[15].
Da vào Bng 1, và các biểu đồ Hình 3, 4, 5 ta có th thy 70 epoch thì mô hình
đã đạt được nhng tiêu chí mà nghiên cứu đã nêu ra ở trên cũng như có s cân bng gia
cách thông s trong c ba lp. Vic chn ra mt mô hình có s cân bng gia nhng thông
s ca c ba lp cũng giúp cho mô hình hoạt động tt trong việc đưa ra cảnh báo cũng như
không gi cnh báo sai quá nhiu.