Tải bản đầy đủ (.pdf) (21 trang)

Ứng dụng computer vision nhận diện người tham gia giao thông đội mũ bảo hiểm giúp nâng cao chất lượng kiểm soát an toàn giao thông

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (941.93 KB, 21 trang )

lOMoARcPSD|17343589

HàC VIàN NGÂN HÀNG
KHOA Hà THÞNG THƠNG TIN QN LÍ
------�㶎�㵮✍------

BÀI TÀP LàN
Đề tài: Ứng dụng Computer Vision nhận diện người
tham gia giao thông đội mũ bảo hiểm giúp nâng cao chất
lượng kiểm sốt An tồn giao thơng
Học phần: Trí tuệ nhân tạo trong kinh doanh
Giảng viên hướng dẫn : Trần Thị Huế
Nhóm lớp: 212IS42A22
1. Ph¿m Hồng H¿nh

Mã SV: 23A4020107

2. Ngun Mai Phương

Mã SV: 23A4020305

3. Đồng Thß Thuỷ

Mã SV: 23A4010630

Hà Nßi, tháng 6 năm 2022
1


lOMoARcPSD|17343589


ĐÀ TÀI
Ứng dụng Computer Vision nhận diện người tham gia giao
thông đội mũ bảo hiểm giúp nâng cao chất lượng kiểm sốt
An tồn giao thơng

STT
1

Họ Tên
Ph¿m Hồng H¿nh

Mã SV
23A4020107

PhÁn viác
Tìm nái dung + Ch¿y phÁn mềm

2
3

Ngun Mai Phương
Đồng Thị Thuỷ

23A4020305
23A4010630

Tìm nái dung và tổng hợp
Tìm nái dung, Power Point

Tỉ lá đóng góp cÿa các thành viên đều như nhau


2


lOMoARcPSD|17343589

MỵC LỵC

LọI Mổ U ..................................................................................................................... 4
NI DUNG.......................................................................................................................... 5
I. GIõI THIU BÀI TỐN NHÀN DIàN KHN MÀT ....................................................... 5
1. NhÁn d¿ng khn mÁt là gì? ................................................................................................... 5
2. Giãi thiáu về Google Colab .................................................................................................... 5
II. PHÂN TÍCH BÀI TỐN NHÀN D¾NG KHN MÀT .................................................... 6
1. Xây dāng ................................................................................................................................ 6
2. Chuẩn bị dÿ liáu ..................................................................................................................... 7

2.1. Thu thÁp dÿ liáu .................................................................................................... 7
2.2. Thuác tính nhãn cÁu dā đốn ............................................................................... 8
2.3. Cách thāc thu thÁp ................................................................................................ 8
3. Giãi thiáu tổng quan thuÁt toán sử dụng ................................................................................ 9
4. Mã lánh thāc hián chương trình ........................................................................................... 10

4.1 Khai báo thư vián sử dụng ................................................................................... 10
4.2 KÁt nối vãi Google Drive .................................................................................... 10
4.3 Khai báo đưång d¿n thư mục chāa dÿ liáu ......................................................... 11
4.4 Gán nhãn dÿ liáu.................................................................................................. 11
4.5 Tiền xử lý dÿ liáu Ánh vãi ImageDataGenerator ................................................. 11
4.6 Đọc hai dÿ liáu Train, Validation ........................................................................ 12
4.7 Xây dāng mơ hình ............................................................................................... 13

4.8 ThiÁt lÁp các tham số để hu¿n lun mơ hình ..................................................... 14
4.9 Hu¿n lun mơ hình ............................................................................................ 14
4.10 Sử dụng mơ hình................................................................................................ 17
III. KÀT QUÀ THĀC HIàN .................................................................................................... 19
IV. KÀT LUÀN ........................................................................................................................ 20

LäI KÀT ............................................................................................................................ 21
3


lOMoARcPSD|17343589

LâI Mä ĐÀU
Hián nay, tình tr¿ng ngưåi đi mơ tơ, xe gắn máy không đái mũ bÁo hiểm khi
tham gia giao thơng dißn ra khá phổ biÁn và có chiều hưãng gia tăng. Thāc tr¿ng
này đang gây nguy hiểm không chỉ cho chính ngưåi điều khiển phương tián đó mà
cịn gây nguy hiểm cho nhÿng ngưåi tham gia giao thông khác. Nhưng thāc tr¿ng
này từ trưãc đÁn nay chưa bao giå giÁi quyÁt mát cách triát để. Tuy rằng nhà nưãc
đã có nhÿng bián pháp xử lý theo quy định cÿa pháp luÁt nhưng v¿n còn mát bá phÁn
ngưåi tham gia giao thông không ch¿p hành, chống đối. Ngưåi tham gia giao thơng
cố tình dùng nhiều mánh kh để lách lt, gây khó khăn cho q trình kiểm tra cÿa
cơ quan chāc năng. Chính vì vÁy, cÁn có có nhÿng giÁi pháp để ngăn ngừa mát cách
triát để tình tr¿ng này
Trong bối cÁnh cuác Cách m¿ng 4.0 đang bùng nổ và được āng dụng ráng rãi,
trong đó trí t nhân t¿o (AI) là chÿ đề được thÁo luÁn nhiều nh¿t hián nay. Không
chỉ tiÁt kiám công sāc, thåi gian mà AI cịn giúp giÁm thiểu chi phí và đem l¿i trÁi
nghiám tốt hơn cho khách hàng.
NhÁn thāc được v¿n đề đó, nhóm em đã quyÁt định nghiên cāu đề tài <Āng
dụng Computer Vision nhÁn dián ngưåi tham gia giao thông đái mũ bÁo hiểm giúp
nâng cao ch¿t lượng kiểm soát An tồn giao thơng= vãi mong muốn tìm ra giÁi pháp

tối ưu cho v¿n đề . Trong quá trình nghiên cāu v¿n cịn nhiều thiÁu sót, chúng em
r¿t mong nhÁn được nhÿng đánh giá và góp ý cÿa cơ để bài viÁt được hoàn thián
hơn. Chúng em xin chân thành cÁm ơn.

4


lOMoARcPSD|17343589

NịI DUNG
I. GII THIU BI TON NHN DIN KHUễN MắT
1. NhÁn d¿ng khn m¿t là gì?
NhÁn d¿ng khn mÁt (Face recognition) được nghiên cāu từ nhÿng năm 1980,
là mát lĩnh vāc nghiên cāu cÿa ngành thị giác máy tính (tiÁng Anh: Computer vision:
xử lý và nhÁn d¿ng hình Ánh), và cũng được xem là mát lĩnh vāc nghiên cāu cÿa
ngành sinh trắc học (Biometrics) tương tā như nhÁn d¿ng vân tay (Fingerprint
recognition), hay nhÁn d¿ng mống mắt (Iris recognition).
Há thống nhÁn d¿ng khn mÁt là mát āng dụng máy tính tā đáng xác định
hoÁc nhÁn d¿ng mát ngưåi nào đó từ mát bāc hình Ánh kỹ thuÁt số hoÁc mát khung
hình video từ mát nguồn video. Mát trong nhÿng cách để thāc hián điều này là so
sánh các đÁc điểm khn mÁt chọn trưãc từ hình Ánh và mát cơ sỗ d liỏu v khuụn
mt.
Trong khi nhn dng võn tay và mống mắt có thể áp dụng trên thāc tÁ mát cách
ráng rãi thì nhÁn d¿ng khn mÁt ngưåi v¿n còn nhiều thách thāc. So vãi nhÁn d¿ng
vân tay và mống mắt, nhÁn d¿ng mÁt có nguồn dÿ liáu phong phú hơn và ít địi hỏi
sā tương tác, có kiểm soát hơn
2. Giái thiáu vÁ Google Colab
Vãi AI, DeepLearning, Google khơng chỉ có nhÿng sÁn phẩm dā án đã và đang
phát triển. Google cịn có cơng cụ giúp cho các developer phát triển, train model, mát
cách dß dàng nh¿t. Đó chính là Google Colab Google Colab là mát dịch vụ đám mây

mißn phí, hián nay có hß trợ GPU (Tesla K80) và TPU (TPUv2). Do được phát triển
dāa trên Jupiter Notebook nên viác sử dụng Google Colab cũng tương tā như viác sử
5


lOMoARcPSD|17343589

dụng Jupyter Notebook. Google Colab là mát công cụ lý tỗng chỳng ta rốn luyỏn
k nng lp trỡnh vói ngôn ngÿ Python thông qua các thư vián cÿa Deep Learning.
Google Colab cài đÁt s¿n cho chúng ta nhÿng thư vián r¿t phổ biÁn trong nghiên cāu
Deep Learning như PyTorch, TensorFlow, Keras và OpenCV. Ngoài viác nâng cao
kỹ năng code cÿa b¿n, hay thāc hián trên các thư vián Deep Learning b¿n cịn có thể
t¿o mát Notebooks trên Colab, thāc hián các thao tác vãi Notebooks đó như tÁi, lưu
trÿ, chia sẻ kể cÁ trên Google Drive. B¿n có thể sử dụng b¿t cā thā gì b¿n lưu trÿ trong
Notebooks như tÁi lên Jupyter cá nhân, GitHub,..
Google Colab thāc sā cung c¿p nhÿng điều tuyát våi cÁn thiÁt nh¿t đối vãi mát lÁp
trình viên khi thāc hián Deep Learning.
II. PHÂN TÍCH BÀI TỐN NHÀN D¾NG KHN M¾T
1. Xây dāng

6


lOMoARcPSD|17343589

Áp dụng Google Colab khi thāc hián học sâu (Deep learning) trong nhÁn dián hình
Ánh thể hián tính ưu viát hơn các kỹ thuÁt nhÁn dián khác, cho đá chính xỏc cao hn
giỳp cho viỏc nhn diỏn trỗ nờn dò dàng, tián lợi hơn
2. Chuẩn bß dÿ liáu
2.1. Thu thÁp dÿ liáu

Dÿ liáu thu thÁp là hình Ánh ngưåi tham gia giao thơng bao gồm:
- Có đái mũ bÁo hiểm
Mát số hình Ánh ngưåi tham gia giao thơng có đái mũ bÁo hiểm:

- Không đái mũ bÁo hiểm
7


lOMoARcPSD|17343589

Mát số hình Ánh ngưåi tham gia giao thơng khơng đái mũ bÁo hiểm:

2.2. Thc tính nhãn cÁu dā đốn
- Ngưåi tham gia giao thông đái mũ bÁo hiểm
- Ngưåi tham gia giao thông không đái mũ bÁo hiểm
2.3. Cách thức thu thÁp
- Thu thÁp dÿ liáu gồm 2 lo¿i là có đái mũ bÁo hiểm và khơng đái mũ bÁo hiểm
trên thư mục Drive/ dÿ liáu Ánh nằm trong hai thư mục con là Train và Validation.
8


lOMoARcPSD|17343589

Trong từng thư mục Train và Validation gồm có hai thư mục dÿ liáu hình Ánh
tương āng CoDoiMuBaoHiem và KhongDoiMuBaoHiem.
3. Giái thiáu tổng quan thuÁt toán sử dÿng
Bài toán sử dụng phương pháp học có giám sát, cụ thể là học sâu (Deep Learning),
sử dụng mát lo¿i m¿ng nơ- ron nhân t¿o (Artificial Neural Network):
Convolutional Neural Network (CNN – M¿ng nơ ron tích chÁp). Xây dāng m¿ng
neuron vãi c¿u trúc gồm các lãp như sau:

- ĐÁu tiên là 1 lãp Convolutional tiÁp nhÁn dÿ liáu tensor vãi các thông số ó
c khai bỏo ỗ trờn, hm kớch hot l RELU;
- Lãp ẩn tiÁp theo là 1 lãp Convolutional khác
- TiÁp theo là 1 lãp pooling
- TiÁp theo, 1 lãp flatten nối vãi 1 lãp dense và 1 lãp dropout, công dụng cÿa bá ba
này là chuyển giá trị đÁu ra cÿa lãp pooling thành vector feature, sau đó tinh chỉnh
- Lãp cuối cùng: xu¿t kÁt quÁ, vãi số neuron đúng bằng số nhãn cÁn phân lo¿i, vãi
hàm kích ho¿t là softmax
CNN s¿ so sánh hình Ánh ngưåi tham gia giao thơng theo từng mÁnh. Mßi
mÁnh (feature: đÁc trưng) được coi như mát hình Ánh mini, tāc chúng cũng là
nhÿng mÁng hai chiều nhỏ. Các feature s¿ được so sánh vãi hình Ánh mãi được ghi
l¿i trong camera và đưa ra kÁt q dā đốn.
Mơ hình sử dụng phương pháp Confusion Matrix đánh giá kÁt quÁ cÿa bài
toán phân lo¿i vãi viác xem xét cÁ nhÿng chỉ số về đá chính xác và đá bao quát cÿa
các dā đoán cho từng lãp. Mát confusion matrix gồm 4 chỉ số (True Positive, True
Negative, False Positive, False Negative). Bài toán chuẩn đoán ngưåi tham gia
giao thơng có đái mũ bÁo hiểm hay khơng ta có 2 lãp: lãp có có đái mũ được chẩn
đốn Positive và lãp khơng đái mũ được chẩn đốn là Negative. Từ 4 chỉ số này, ta
9


lOMoARcPSD|17343589

có 2 con số để đánh giá māc đá tin cÁy cÿa mát mơ hình: Precision và Recall. Qua
đó s¿ cho ra kÁt quÁ là có đái mũ bÁo hiểm hay khơng.
4. Mã lánh thāc hián chương trình
4.1 Khai báo thư vián sử dÿng

- Tensorflow: là mát thư vián mã ngun mỗ phc v cho hot ỏng Machine Learning.
Giỳp to ra các biểu đồ luồng dÿ liáu hoÁc nhÿng c¿u trỳc mụ t,

- Keras: l mỏt mó ngun mỗ cho Neural Network c vit bỗi ngụn ng Python
- Matplotlib.pyplot: th vián v¿ biểu đồ
- Numpy: thư vián toán học. Cho phép làm viác hiáu quÁ vãi ma trÁn mÁng

4.2 K¿t nßi vái Google Drive

Viác kÁt nối vãi Google Drive để đọc file, lưu file, lưu trÿ chương trình tránh trưång hợp
bị m¿t các đo¿n code khi tắt Google colab.

10


lOMoARcPSD|17343589

4.3 Khai báo đưãng d¿n thư mÿc chứa dÿ liáu

Viác khai báo này giúp kÁt nối vãi thư mục dÿ liáu gốc trên google drive, để l¿y dÿ liáu
giÁi quyÁt bài toán. Đây là mát bưãc r¿t quan trọng, khai báo đưång d¿n thư mục chāa dÿ
liáu phÁi chính xác bỗi nu khụng cú c sỗ d liỏu hoc ồng d¿n tãi thư mục chāa dÿ
liáu bị sai thì bài tốn khơng thể thāc hián được.

4.4 Gán nhãn dÿ liáu

Phân lo¿i Ánh là bài tốn học có giám sát, nên dÿ liáu hu¿n luyán và kiểm định phÁi
được gán nhãn. Tên thư mục chāa Ánh như nào thì gán nhãn Ánh tên cũng như vÁy và thā
tā gán nhãn dÿ liáu cũng theo thā tā các thư mục chāa Ánh hu¿n luyán và kiểm định.
Gán nhãn dÿ liáu là
4.5 TiÁn xử lý dÿ liáu Ánh vái ImageDataGenerator


Để máy tính có thể xử lý dÿ liáu Ánh, phÁi chuyển nó về d¿ng máy tính có thể hiểu được.
Máy tính nhÁn d¿ng Ánh bằng cách chia nhỏ bāc Ánh ra rồi đưa chúng về d¿ng nhị phân.

11


lOMoARcPSD|17343589

4.6 Đác hai dÿ liáu Train, Validation

train_image_file_path : lánh giúp liên kÁt trāc tiÁp tãi thư mục Ánh hu¿n luyán, giúp mơ
hình l¿y được Ánh để học.
target_size = (100, 100) : do các Ánh đÁu vào có thể có kích thưãc khác nhau nên phÁi
chuẩn hóa chúng về cùng kích cỡ để hu¿n lun mơ hình
class_mode = 8categorical9 : để phân lo¿i Ánh đa nhãn, định d¿ng Ánh, phân chia các bāc
Ánh vào cùng mát lo¿i. Trong bài toán này, Ánh được chia làm hai lo¿i là có đái mũ bÁo
hiểm và không đái mũ bÁo hiểm.
➔ KÁt quÁ ch¿y:

KÁt quÁ đÁu tiên là cÿa tÁp Train: Tìm th¿y 60 Ánh trong 2 lãp
KÁt quÁ thā hai là cÿa tÁp Validation: Tìm th¿y 20 Ánh trong 2 lãp

12

Downloaded by v? ngoc ()


lOMoARcPSD|17343589

4.7 Xây dāng mơ hình


Mơ hình gồm 5 tÁng: Input image -> CNN1 -> CNN2 -> Fully connected
layer -> Output.
TÁng CNN1 gồm 64 bá lọc kích thưãc 5x5. TÁng CNN 1 kÁt nối vãi đÁu vào nên
phÁi mô tÁ rõ thông tin cÿa đÁu vào
(input_shape).
MaxPooling2D: lãp Pooling thưång được dùng giÿa các lãp convolutional,
để giÁm kích thưãc dÿ liáu nhưng v¿n giÿ được các thuác tính quan trọng. Kích
thưãc dÿ liáu giÁm s¿ giúp giÁm viác tính tốn trong model.
Relu: Hàm kích ho¿t để lo¿i các giá trị âm
Flatten: chuyển Ánh từ d¿ng ma trÁn về mÁng 1 chiều

13

Downloaded by v? ngoc ()


lOMoARcPSD|17343589

4.8 Thi¿t lÁp các tham sß để hu¿n lun mơ hình

compile: Chọn các tham số để hu¿n lun mơ hình.
optimizer: tht tốn hu¿n lun mơ hình
loss: hàm tính tốn sai số giÿa giá trị học được và giá trị thāc tÁ ategorical_crossentropy
dùng trong trưång hợp dā đoán nhiều lãp
metrics: thưãc đo để ta đánh giá đá chính xác accuracy cÿa mơ hình

4.9 Hu¿n lun mơ hình
EPOCHS: Số vịng lÁp ch¿y mơ hình


14

Downloaded by v? ngoc ()


lOMoARcPSD|17343589

15

Downloaded by v? ngoc ()


lOMoARcPSD|17343589

16

Downloaded by v? ngoc ()


lOMoARcPSD|17343589

4.10 Sử dÿng mơ hình

K¿t q thāc hián:

17

Downloaded by v? ngoc ()



lOMoARcPSD|17343589

18

Downloaded by v? ngoc ()


lOMoARcPSD|17343589

III. K¾T Q THĀC HIàN
Link:
https://col
research.google.com/drive/1ITBEQhLoplZewlG4QpGAECPCl73M6tNd#scrollTo=UHS
Z9GU9re1u
KÁt q mơ hình: Nhóm đã tiÁn hành test và tỷ lá chính xác là 88%

19

Downloaded by v? ngoc ()


lOMoARcPSD|17343589

IV. K¾T LN
Qua q trình tìm hiểu và thāc hián đề tài: mũ bÁo hiểm giúp nâng cao ch¿t lượng kiểm soát ATGT= , chúng em đã thu được
nhÿng kÁt quÁ
- Có thêm thông tin và kiÁn thāc về nhÁn dián khuôn mÁt và āng dụng cÿa nó
trong cuác sống đÁc biát trong viác hß trợ nâng cao ch¿t lượng kiểm sốt
ATGT. Từ ú ta cú th phỏt trin v ng dng mỗ ráng thêm trong nhiều

ngành nghề, lĩnh vāc khác như: ch¿m công cÿa các cty, gửi xe cÿa sv, nhÁn
dián thāc phẩm &
-

Cách xây dāng và sử dụng google colab, vai trị cÿa nó trong học sâu

-

Ch¿y và nhÁn dián được ngưåi đái mũ bÁo hiểm và không đái mũ bÁo hiểm
khi tham gia giao thơng giúp cho q trình xử lý vi ph¿m An tồn giao thơng
được nhanh chóng hơn .

- Bưãc đÁu thử nghiám cho th¿y āng dụng có đá chính xác cao trong viác nhÁn
dián ngưåi tham gia giao thơng có đái mũ bÁo hiểm hay khơng. Trong nhÿng
trưång hợp đÁc biát thì khÁ năng nhÁn dián khơng cao, khó phân biát nhÿng
ngưåi tham gia giao thơng sử dụng mánh khoé, lách luÁt. Há thống cÁn nâng
c¿p, cÁi thián để giÁm thiểu thåi gian nhÁn dián, tăng tốc đá xử lý, nghiên cāu,
phát triển và thử nghiám trên nhiều kịch bÁn khác nhau trưãc khi đưa vào sử
dụng thāc tÁ để đem l¿i sā tián lợi, nhanh chóng và có đá chính xác cao.

20

Downloaded by v? ngoc ()



×