Untitled 1 HàC VIàN NGÂN HÀNG KHOA Hà THÞNG THÔNG TIN QUÀN 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 soát An[.]
Trang 1HàC VIàN NGÂN HÀNG KHOA Hà THÞNG THÔNG TIN QUÀN 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 soát An toà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ế
Trang 21 Ph¿m Hồng H¿nh 23A4020107 Tìm nái dung + Ch¿y phÁn mềm
2 Nguyßn Mai Phương 23A4020305 Tìm nái dung và tổng hợp
3 Đồng Thị Thuỷ 23A4010630 Tìm nái dung, Power Point
Tỉ lá đóng góp cÿa các thành viên đều như nhau
Trang 3MþC LþC
LäI Mæ ĐÀU 4
NàI DUNG 5
I GIâI THIàU BÀI TOÁN NHÀN DIàN KHUÔN MÀT 5
1 NhÁn d¿ng khuôn mÁt là gì? 5
2 Giãi thiáu về Google Colab 5
II PH ÂN TÍCH BÀI TOÁN NHÀN D¾NG KHUÔN 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ā đoá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 luyán mô hình 14
4.9 Hu¿n luyán 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
Trang 4Lâ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 khoé để lách luÁt, gây khó khăn cho quá 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í tuá 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 toà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
Trang 5NÞI DUNG
1 NhÁn d¿ng khuôn m¿t là gì?
NhÁn d¿ng khuôn 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 khuôn 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 khuôn mÁt chọn trưãc từ hình Ánh và mát cơ sç dÿ liáu về khuôn mÁt
Trong khi nhÁn d¿ng 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 khuôn 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ử
Trang 6dụng Jupyter Notebook Google Colab là mát công cụ lý tưçng để chúng ta rèn luyán
kĩ năng lÁp 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 TOÁN NHÀN D¾NG KHUÔN M¾T
1 Xây dāng
Trang 7Á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 hơn giúp cho viác nhÁn 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
Trang 8Mát số hình Ánh ngưåi tham gia giao thông không đái mũ bÁo hiểm:
2.2 Thußc tính nhãn cÁu dā đoá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
Trang 9Trong 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, hàm kích ho¿t 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 quÁ dā đoá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 đoán Positive và lãp không đái mũ được chẩn đoán là Negative Từ 4 chỉ số này, ta
Trang 10có 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ã nguồn mç phục vụ cho ho¿t đáng Machine Learning Giúp t¿o 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ã nguồn mç cho Neural Network được viÁt 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
Trang 114.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 nÁu không có cơ sç dÿ liáu hoÁc đưång d¿n tãi thư mục chāa dÿ liáu bị sai thì bài toán không thể thāc hián được
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
Trang 1212
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 luyán 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
Trang 13MaxPooling2D: 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 toá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
Trang 1414
4.8 Thi¿t lÁp các tham sß để hu¿n luyán mô hình
compile: Chọn các tham số để hu¿n luyán mô hình
optimizer: thuÁt toán hu¿n luyán mô hình
loss: hàm tính toá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 luyán mô hình
EPOCHS: Số vòng lÁp ch¿y mô hình
Trang 1515
Trang 1616
Trang 1717
4.10 Sử dÿng mô hình
K¿t quÁ thāc hián:
Trang 1818
Trang 19KÁt quÁ mô hình: Nhóm đã tiÁn hành test và tỷ lá chính xác là 88%
Trang 2020
IV K¾T LUÀN
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Á
trong cuác sống đÁc biát trong viác hß trợ nâng cao ch¿t lượng kiểm soát ATGT Từ đó ta có thể phát triển và āng dụng 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 &
khi tham gia giao thông giúp cho quá trình xử lý vi ph¿m An toàn giao thông được nhanh chóng hơ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
Trang 2121
LâI K¾T
Ngày nay, nhu cÁu sử dụng phương tián giao thông moto, xe gắn máy là r¿t lãn æ Viát Nam, viác xử lý ngưåi tham gia giao thông không tuân thÿ nhÿng quy
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= là điều cÁn thiÁt, quan trọng, kịp thåi