Trong hệthống dựa trên thị giác máy tính, biển báo giao thông được phát hiện và nhận biết saukhi áp dụng mô hình giải thuật phù hợp đề xử lý những hình ảnh được chụp bởi/từ camera.Trong
Trang 1_ ĐẠI HỌC QUOC GIA TP HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
TRẢN THỊNH MẠNH ĐỨC
NGHIÊN CUU VE NHẬN DIEN BIEN BAO GIAO
THONG SU DUNG MO HINH YOLOV7
LUAN VAN THAC SĨ KHOA LUAN CAO HOC
NGANH CONG NGHE THONG TIN
NGƯỜI HUONG DAN KHOA HOC:
TS DO TRÍ NHỰT
Mã số: 8480201
TP HO CHÍ MINH — NĂM 2024
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình khoa học được tôi nghiên cứu Những dữ liệu trong
bài luận văn bảo đảm là hoàn toàn chính xác không ghi khống, có nguồn gốc xuất xứ rõrang và chưa có ai dùng trong bat kỳ công trình khoa học nào khác Những kết qua sốliệu trong bài luận văn được tôi thực hiện dưới sự hướng dẫn của thầy giảng viên hướng
dẫn
Tôi xin thé hiện sự biết ơn đối với Tiến sĩ Đỗ Trí Nhựt, là người giáo viên đã hướng dẫn
nhiệt tình cho tôi dé hoàn thành việc nghiên cứu tới lúc cuối cùng
Tôi xin chân thành cảm ơn các thầy, cô giáo Trường Đại học Công nghệ thông tin, giađình và bạn bè tôi đã hỗ trợ trong việc động viên, cung cấp các máy móc phần mềm dé
tôi có được bai Luận văn Thạc sĩ đã hoàn thành này.
Tp.Hồ Chí Minh, ngày tháng 2024
Học viên
Trang 3MỤC LỤC
LOI CAM ĐOAN 5 25s 221 22112211122112712 2.1 2T TT nàn 0e 1 DANH MỤC KI HIEU VA CHU VIET TAT cccccccssccssssssscsessrsessscsucerssssussecscsesarsessesereansassessusaneaneneeees 4
Attention Fusion Feature Pyramid Network - 5 t1 vn TH TH nh ng HT TH ng nh ng 4
Extended efficient layer aggregation €EWOTKS 5 ch Thi TH Thu HH ghi Hưng 4
DANH MỤC CÁC BẢNG 5 5c 2E 121121121111211111211 11 T111 1 1 11g11 111 1 ye 6 DANH MỤC CÁC HÌNH VE VÀ ĐƠ THI , :- 6 St tExEEkS SE EEEEEKEEEEEEEEEEEEESEEEEEEEEEEEELSELEEerkrrkervei 7 CHƯƠNG 1 TỎNG QUAN 2-22 22k 2EEEEE1221127112711211711 211711211211 211111 errre 9
II 099.92 aa^14 ),H HHẬH 9 1.2 MỤC TIÊU CUA NGHIÊN CỨU -¿-22-©2£+©E92EE9EE2EEEE2EE22E12E1211271E271.211211 21121111 xe, 15 1.3 PHAM VI VÀ ĐỐI TƯỢNG NGHIÊN CỨU -22-©22+SE£2EE2EE222522152712221221211 21121 xe 15
1.4 NỘI DUNG THỰC HIỆN 5: 52221221 21 211211211021011121121101111211 011.1111.111 11111 re 16
1.5 PHƯƠNG PHÁP THỰC HIỆN S2 222212 x921921121121121121121121111111111111111 11111 0 c0 17
1.6 ĐĨNG GĨP CUA NGHIÊN CỨU 2-2¿-2¿©2++22E+2E2EEE2EEEEEEEEEE2EEE71E271221 21121121121 cee 17 1.7 CẤU TRÚC CUA LUẬN VĂN -¿ ¿- 22-2222 E2EEE21127112711221211111071121.11 21121111 17 CHƯƠNG2 CO SỞ LÝ THUYẾT - 2: 222+22E2E2EEEE2EXEE2212711222112711 22121121 crrk 18
2.1 KHÁI NIỆM MƠ HÌNH YOLOV7 - 52222 222122122123123212121121 2111112111111 re, 18
2.2 ĐIỂM KHÁC BIỆT CUA YOLOV7 VỚI MƠ HÌNH KHÁC 22-©2c2+2+Et2EEEtEEEerrrerrrkeree 19 2.3 KIEN TRUC MO HINH 297 4 21 2.4 SỰ KHÁC BIET GIỮA CÁC PHIÊN BAN CUA YOLOV7 scsssesssesssesssessssesseesessseessesssesssssseseseesseess 28
PB NH0 co 0o a1 HH 29 2.6 PHƯƠNG PHÁP ĐÁNH GIÁ HIỆU SUẤT MƠ HÌNH 2 22c 2t2EeErerrrrrrrerrreee 31 CHUONG 3 THIẾT KE HE THĨNG ¿- SE xEEEEEESEEEEEEESEEEEESEEEEEEEEEESEEEEEEESEEEELSEkrkrrkrrk
3.1 THIẾT KẾ GIẢI THUẬT - HUAN LUYEN TAP DỮ LIEU
3.1.1 Tổng Quan Về Tập Dữ LiỆU ¿+ + + 22t StStEEEESEEEEESEEEEEEEEEEEEEEEEEEEErkerererrkekree 32 3.1.2 Các Bước Huấn Luyện Dữ Liệu Trên Mơ Hình YolOV7 - ¿+2 +++++x+s+exsx++exsxzx+s 34 3.1.3 So Sánh Độ Chính Xác Với Mơ Hình YỌOVB + + + 8+3 E££+£++*##EEEE+++zzeseeeeeezzs 37
3.1.4 Tinh Chinh M6 Hin Au 37
3.1.5 Đĩnh Giá Kết Quả Ứng Dụng Giải Thuật YOIOV scccccccsssssssssssssssessescesssessessssesescsseacsssaeeness 38
3.2 THIẾT KE PHAN CỨNG -©2++2+<2Ek2EkE221E211711711271111711 111.111.1111 E1 Excrrrrei 41
Trang 43.2.1 Khái Niệm Máy Ảnh Thông Minh ¿ -¿©-e£©+<+©++E++EEtEEEtEEEEEEEEEEEEkErkrrrkrrrerres 41
3.2.2 Giới Thiệu Máy Tính Nhung KV260 VISION AI - 5 + + **E**E#vE£eEEseEeeksserseexsersee 42
CS nan nh h6 he sS ÔỎ 46
3.2.4 Thiết Lập Phần Cứng Cụ Thể Và Triển Khai Ứng Dụng - -¿- + c2 2+s+s+s+£z£scsz 47
3.2.4.1 Thiết lập phần cứng cụ thỂ ¿tt t++$E‡E‡EEt+E+EEEEESEEEEEEEEEEEEEEkEtrkrkekerrrrrsrersrs 47 3.2.4.2 Trin KAGE NG AUN PRSERRRSSSEEee- a 51 3.2.4.2.1 Chudin bị ứng dụng dựa trên Docke@r - +2 ++s+s+s+s+s+e+£+£eEeteszxexzxzezererererere 51
3.2.4.2.2 _ Chạy ứng dụng với Jupyter Notebook
3.2.4.2.3 Tuỳ chọn cấu hình bổ SUNG ¿ - + +2 +2 ++++E++E+E£E+E+EEeEEE+EEsErkEekrerteerkreererererree
3.2.4.3 Thiết Lập Hệ Điều Hành Ubuntu Cho Kv260 - -+ + +s+++++s+e+++£ex+x+e+sxes+ersxz 57
CHƯƠNG 4 KÉT QUA THỰC NGHIỆM 22-22222222 SEEEE2EEE21E221E211 221.21 crecrrke 58
4.1 CÀI ĐẶT MOI TRƯỜNG CHO MÔ HÌNH - 1 0 2122 21221211211212112112112111011211211 ce 58 4.2 CÀI ĐẶT MÔ HÌNH VÀO KRIA KV260 -2- 252 ©+S22222EEEEEEEEEE2EE2EEEEEEEEEEEEErkrrrerrrrrrrrree 60
4.2.1 Cài Đặt Hệ Điều Hành -.:©¿©-++-++©+£©+SEEEE+EEEEEkEEEEEEEEEEEEEEEEEErrrrkrrkrrkrrrree 61
42.2, COD PGE VOLOV nnnn a ÔÒỎ 64
4.3 KET QUA THỰC NGHIEM TREN MAY TÍNH NHUNG KV260 c.ssscssssesssesssessssessseessseesseeesseeess 65 4.4 ĐÁNH GIA KET QUA THỰC NGHIEM ccscssscsssesssesssessssssecssecssessssesssssesssscssecssesssessssesecesecsseess 67 CHUONG 5 KET LUẬN VA KHUYEN NGHỊ 2-52 E+EE+EE£EE2EE2EEEEEEEE2112711311e21ee, 70 DANH MỤC CONG BO CUA TAC GIA oeesssssessssessssssssssessessssesssssssssessssessecsssscsssscssecssscsssecssseessesssneeess 71 TAI LIEU THAM KHẢO ¿ 6-1219 19115E1511E1EE15E11111111171511111111111111111111111111111111 1.11 EExc7 71
Trang 5DANH MỤC KI HIEU VA CHU VIET TAT
Ky hiéu viét tat Nội dung viết tắt
YOLO You Only Look Once
TSR Traffic Sign Recognition
CSUST Chinese Traffic Sign Detection
CCTSDB Benchmark
mAP Mean Average Precision
FPS Frame per second
AF-FPN Attention Fusion Feature Pyramid Network
AAM Adaptive attention module
FEM Feature enhancement module
AR
a LID Light Detection and Ranging
ATSDR Automatic Traffic Sign Detection and
Recognition
Single shot multibox detector
Deep neural Network
Extended efficient layer aggregation networks
Trang 7DANH MỤC CÁC BANG
Bang 2.1 So sánh mơ hình YOLOv7 với một số mơ hình nhận diện khác 20Bang 3.1 Số lượng ảnh mỗi loại biển báo -22- 22 ©5+22++2xv2zxerxezrxrersrees 32Bảng 3.2 Số lượng nhãn trong tập train và †eS{ 2- +: ©2+cx+2x++zxczxeerxerreerxee 35
Bang 3.3 So sánh Yolov5 VỚI YỌOV7 0 G31 9E HH ng Hết 35
Bang 3.4 Banh tinh chỉnh tham số mơ hình -2- 22 ©¿2+z2++2zx++zx++cseze2 37
Trang 8DANH MỤC CÁC HÌNH VẼ VÀ ĐÒ THỊHình 1.1 Các biển báo của từng nƯỚC - - 2-2 5+ £+E£+E2EE£EE£EEEEEEEEerkrrkerkerreee 13Hình 1.2.Các biển báo cắm - 222+c tt Hee 16
Hình 2.1 So sánh mô hình YOLOv7 với các mô hình khác - s5 -5<++s++<52 19
Hình 2.2 Kiến trúc cơ bản mô hình YOLO + 2 2 ++E£+EEEE+EEeEEerEerkerrerreee 22Hình 2.3 Cấu trúc chỉ tiết mô hình YOL/OV7 -ccc¿+ccvvvretrrvrrrrrrrrrrrrrrrrrrrr 23Hình 2.4 Cấu trúc mạng E-ELLAN - 2-2 2© +E£2Et2E2EE2EEE21E2121 21712121 24Hình 2.5 Tổng hợp các cách chia tỉ lệ mô hình 2-2 x+2s£+++zz+zxzzz+rxez 25
Hình 2.6 Kế hoạch tham số hoá lại mô hình ¿-©c++cv+eererrrverrrre 26
Hình 2.7 Các cách dùng Auxiliary Head -:- + + + * + ++vE+exsexeererrsrrrrrxrs 28
Hình 3.1 Tính đa dạng của dữ lIỆU G322 1313 1121 EEEEEErrerrrrree 33
Hình 3.2 Tính phức tạp của dữ lIỆU - - 2 22221331 E£E3EEEEEErerrrrrerrrrrrke 33
Hình 3.3 Mô tả dán nhãn ảnh .- - 2 22 2322132112124 18E5 1181111111111 eree 34
Hình 3.4 Cấu hình thành phan của KV260 Vision AI -¿©2- 5¿25s+cx2zs+cse2 43
Hình 3.5 Sự hỗ trợ giữa các pipeline ¿- ¿2 +22 2222232121212 44
Hình 3.6 Các khối xử lí hình ảnh được dùng trong đường dẫn chụp .- - 46Hình 3.7 Sơ đồ cau tạo board máy tính nhúng KV260 . -2- 52522 s2zz+c5e2 48Hình 4.1 Các đầu vào cho Kit KV260 - 2-2-5522 2222EEt2EESEEtEErerxrrrrerxrrrrervee 61
Hanh 4.2 The nho SD 62
Hình 4.3 USB đọc thẻ nhớ SD oo eseseeeceeceeceeceecseeseesessessesseeaeeaeeeseeseneeeseeaeeaes 62
Hinh 4.4 Giao dién Flashing Hé điều 11 ce 62Hình 4.5 Flashing Hệ điều hành đã xong .cceccecsccssessessessessesseesssssesessessessessesseeseaees 63
Hình 4.6 Các nhãn trong file †€Sf - - - 5 3221321123351 1851511111 11.1111 ke 66
Trang 9Hình 4.7 Dự đoán các nhãn trong file f€Sf - c3 St SxSSsrsrrirrirrirkrrrrree
Hình 4.8 Chỉ số FI_curve
Hình 4.9 Chỉ số PR._curve - ¿+2<+2<+EE+EEEEEEEEE2121121121121121111 1111111111 ty
Trang 10CHUONG1 TONG QUAN
1.1.LY DO CHON DE TAI
Mô hình giải thuật YOLO đã được ứng dung rộng rãi nhăm mục tiêu nhận diệnbiển báo giao thông với nhiều công trình nghiên cứu trước đây đã được công bố Tổngquan khái quát về van dé nhận diện biển báo giao thông đã được các tác giả trong công
bố [1] tổng hợp liệt kê Hơn nữa, trong nghiên cứu [2] có tiêu đề YOLOv5 for TrafficSign Recognition and Detection Using Transfer Learning, các tác giả mô tả một hệ thốngthị giác dựa trên các mô hình YOLO v5 đã được huấn luyện cho cả 2 tập dữ liệu GTSRB
và GTSDB bằng cách dùng học chuyên (Transfer Learning) từ phân loại sang mô hìnhphát hiện dé tối ưu hóa kết quả Các tác giả lý giải cho sự lựa chọn thuật toán YOLOv5bằng khả năng kết hợp cùng lúc giữa độ chính xác và tốc độ, khiến nó phù hợp với cácứng dụng thời gian thực Trong các công bố nghiên cứu [3-4], các tác giả đều cho rằng
hệ thống được đề xuất của họ vượt trội hơn các phương pháp tiên tiến khác về độ chínhxác và tốc độ Đặc biệt trong nghiên cứu [4] mới nhất gần đây có tiêu đề TSR-YOLO:
A Chinese Traffic Sign Recognition Algorithm for Intelligent Transportation Systems,
các tác giả đề xuất một thuật toán cải tiến có tên TSR-YOLO đã được thử nghiệm vàđánh giá bằng bộ dữ liệu CCTSDB2021 Thuật toán được đề xuất cho thay độ chính xác
phát hiện là 96,62%, tỷ lệ thu hồi là 79,73%, Điểm F-1 là 87,37% và giá trị mAP là 92,77%, vượt trội so với mạng nhỏ YOLOv4 ban đầu và giá trị FPS của nó vẫn ở mức
xung quanh §1 khung hình/giây Trong nghiên cứu [5], các tác giả đề xuất một mô hình
kim tự tháp đặc trưng được cai tiến, được đặt tên là AF-FPN, dùng mô-đun chú ý thích
ứng (the adaptive attention module - AAM) và mô-đun nâng cao tính năng (feature
enhancement module - FEM) đề giảm thiểu tình trang mắt thông tin trong quá trình tạo
bản đồ đặc điểm và nâng cao khả năng biểu diễn của kim tự tháp đặc trưng Các tác giả
đã thay thế mạng kim tự tháp tính năng ban đầu trong YOLOv5 bằng AF-FPN, giúp cảithiện hiệu suất phát hiện cho các mục tiêu đa quy mô của mạng YOLOv5 với tiền đề là
đảm bảo phát hiện theo thời gian thực Kết quả thử nghiệm mở rộng trên bộ dữ liệu
Trang 11Tsinghua-Tencent 100K (TT100K) chứng minh tính hiệu qua va ưu việt của phương
pháp được đề xuất khi so sánh với một số phương pháp tiên tiến nhất.
Trong công nghệ thị giác máy tính, đề tài nhận diện biển báo giao thông đượcxem là nghiên cứu quan trọng Đặc biệt, ứng dụng thực tế của đề tài này rất nhiều trong
hệ thống giao thông thông minh (Intelligent Transportation Systems - ITS) [6]
Nhìn vào tông thé, chúng ta chia nhận diện biển báo giao thông thành hai loại: hệthống dựa trên thị giác máy tính và hệ thống không dựa trên thị giác máy tính Trong hệthống dựa trên thị giác máy tính, biển báo giao thông được phát hiện và nhận biết saukhi áp dụng mô hình giải thuật phù hợp đề xử lý những hình ảnh được chụp bởi/từ camera.Trong khi đó, các hệ thống không dựa trên thị giác máy tính thì dùng các cảm biến nhưradar hoặc LIDAR đề phát hiện biển báo giao thông Nghiên cứu [6] tổng hợp và đánhgiá về đề tài này được xuất bản năm 2014 đã cung cấp đánh giá quan trọng về ba bướcchính trong hệ thống Nhận diện và Phát hiện Biên báo Giao thông Tự động (Automatic
Traffic Sign Detection and Recognition - ATSDR), tức là phân đoạn, phát hiện và nhận
diện trong bối cảnh hệ thống hỗ trợ người lái xe dựa trên kỹ thuật thị giác máy tính Bàiđăng [6] cũng tập trung vào các thiết lập thử nghiệm khác nhau của hệ thống thu nhậnhình ảnh và thảo luận về những thách thức nghiên cứu có thê có trong tương lai để làm
cho ATSDR hiệu quả hơn.
Các đánh giá khác được xuất bản [7] vào năm 2017 về các phương pháp phát hiệnhiện sự ton tại (existing detection methods) bao gồm phương pháp phát hiện ton tại dựatrên màu sắc (color-based), phương pháp phát hiện tồn tại dựa trên hình dạng (shape-
based) và phương pháp phát hiện tồn tại dựa trên học tập (learning-based) Một cuộc
khảo sát được công bố vào năm 2020 cung cấp cái nhìn tổng quan về các công trìnhnghiên cứu về phát hiện và nhận diện biển báo giao thông, bao gồm các phương pháptiếp cận mới, mang tính đột phá Các bước dé xử lý cơ sở dữ liệu biển báo giao thông
bào gồm: tiền xử lý, trích xuất và phát hiện tinh năng, xử lý hậu kỳ [8] Một nghiên cứu [9] xuất bản năm 2019 trình bày đánh giá về các phương pháp phát hiện biển báo giao thông dựa trên thị giác máy tính; đồng thời nêu rõ các thảo luận về những thách thức liên
10
Trang 12quan đến việc Phát hiện biển báo giao thông (Traffic Sign Detection — TSD) như các loại khác nhau, kích thước nhỏ, bối cảnh lái xe phức tạp và tắc nghẽn Cuối cùng, một nghiên
cứu [10] xuất bản vào năm 2022 có đánh giá hiệu suất của YOLOv5 dựa trên tập dữ liệu
về Nhận diện biển báo giao thông (Traffic Sign Recognition - TSR) thông qua so sánhtoàn diện với SSD (thí dụ như là trình phát hiện nhiều hộp trên ảnh chụp một lần - single
shot multibox detector).
YOLO là cách viết gọn trong tiếng Anh của “You Only Look Once” Đây là một
mô hình thuật toán phát hiện đối tượng theo thời gian hiện tại tiên tiến YOLO được đề
xuất lần đầu vào năm 2015 bởi J oseph Redmon, Santosh Divvala, Ross Girshick va Ali
Farhadi [11] Trong công nghệ thi giác máy tính, mô hình giải thuật YOLO được ứng
dụng dé nhận diện và bản địa hóa các đối tượng trong một hình ảnh hoặc chuỗi hình ảnh
(video) Mô hình YOLO có thê cho ra hình ảnh lên đến tốc độ 45 khung hình mỗi giây
(nhanh hơn đa số mô hình tương tự khác) với điểm chính xác cao và khá ít lỗi nền Hơn
nữa, YOLO cũng là tài nguyên với mã nguồn không cần bảo mật và có tính khái quát tốt
Chính vì vậy, từ khi được cho ra mắt, các phiên bản YOLO đã liên tục ra nhiêu phiên
bản theo thời gian, với 15 mô hình từ YOLOv1 ban đầu đến YOLOv8 mới nhất [12]
trong lúc nghiên cứu Dưới đây là giới thiệu ngăn gọn về các phiên bản khác nhau của
YOLO:
e YOLOvl: Phiên bản đầu tiên của YOLO được cho ra mat vào năm 2015 Nó
nhanh hơn các mô hình nhận diện đối tượng cùng thời đó và có thé xuất ra màn
hình các hình ảnh ở tốc độ 45 khung hình mỗi giây (FPS)
e YOLOv2: Được cho ra mắt vào năm 2016, YOLOv2 đã cải thiện độ chính xác
khi nhận diện của YOLOv1 bang cách dùng kiến trúc phức tạp hon và thêm hàngloạt chuẩn hóa
e YOLOv3: Được phát hành vào năm 2018, YOLOv3 đã cải thiện hơn nữa độ chính
xác của việc nhận diện đối tượng bằng cách cho ra mắt một tính năng mới có tên
là “Mạng kim tự tháp đặc trưng” (Feature Pyramid Networks - FPN).
11
Trang 13e YOLOv4: Được phát hành vào năm 2020, YOLOv4 đã cho ra mắt một số tính
năng mới như “CSPDarknet53” và “SPP” để cải thiện độ chính xác và tốc độ phát
hiện của mô hình.
e YOLOvS: Được phát hành vào năm 2020, YOLOvS là một kiến trúc hoàn toàn
mới dựa trên máy dò một giai đoạn Nó nhanh hơn với điểm chính xác hơn các
phiên bản trước của YOLO.
e YOLOvé6: Được phát hành vào năm 2021, YOLOv6 là phiên bản cải tiến của
YOLOvS dùng kiến trúc hiệu quả hơn dé đạt được tốc độ nhanh hơn nữa trong
khi vẫn duy trì độ chính xác cao.
e YOLOv7: Được phát hành vào năm 2022, YOLOv7 là phiên bản thậm chí còn
nhanh hơn của YOLO, dùng kiến trúc mới có tên “YOLT” ((You Only LookTwice - Bạn chỉ nhìn hai lần) để đạt được khả năng làm việc tốt trong các côngviệc phát hiện các đối tượng
e YOLOv8: Được phát hành vào năm 2023, YOLOv§ là phiên bản mới nhất của
gia đình YOLO Nó được cho ra mắt một số tính năng mới như “Chuyên đổi động(Dynamic Convolution)” và “Chú ý không gian (Spatial Attention)” dé cải thiện
tôc độ nhận diện và sự chính xác của mô hình.
Yolo là một thuật toán dựa trên các mạng thần kinh sâu Giải thuật này vượt trội
hơn tất cả tốc độ xử lý và độ chính xác trong việc phát hiện đối tượng trong thời gian
hiện tại Cho nên, Yolo đã được áp dụng dé phat hién va nhan ra số lượng đối tượng
khác nhau Đặc biệt, trong phân khúc về giao thông vận tải, giải thuật này giúp xác
định các biển báo giao thông, người đi bộ, đèn giao thông và phương tiện tham gia giao thông Hiện nay, trên thế giới đã và đang nghiên cứu nhiều về vấn đề đối với mô hình
Yolo mục đích đề cải thiện, nâng tầm hệ thống quản lí giao thông của các nước Tuy
nhiên, các bộ dit liệu được sử dụng dé huấn luyện và dé nhận dạng biển báo giao thông
đa phần đến từ Đức và Trung Quốc [27]
12
Trang 14Vì vậy, trong nghiên cứu này, học viên sau khi đã tìm hiểu các cơ sở dit liệu về
các loại biển báo giao thông đã có trên mạng và thấy không có cơ sở nào về biển báo
giao thông phù hợp với thiết kế của biển báo ở Việt Nam nên đã tự thu thập mọi dữ
liệu về hình ảnh biển báo giao thông của Việt Nam với hon 3000 tam hình về 9 loại
biển báo Học viên đã cải tiến mô hình YOLOv7 bang cach thay đổi và chỉnh sửa các
tham số trong mô hình dé có được kết quả tốt nhất
Hệ thống đề xuất đã thiết kế cho việc nhận diện 9 loại biển báo giao thông ở Việt
nam gồm có: cắm rẽ trái, cắm rẽ phải, cắm rẽ trái-phải, cắm đỗ, cắm dừng đỗ, cắm ô tô
rẽ phải, cam 6 tô rẽ trái, cam quay đầu và cam đi thang Hình anh sẽ được chụp ở các
góc độ có thể nhận diện được từ camera khi đang chạy trên đường, hình ảnh cho huấn
luyện sẽ không được quá mờ hoặc quá xa ngoài tầm nhìn của mắt người Thực tế chứngminh qua các công bố khoa học mới nhất cho thay các mô hình nhận diện biển báo giao
thông dựa trên YOLO cung cấp khả năng xử lý hiệu quả và mạnh mẽ theo thời gian thực,
khiến chúng trở thành lựa chọn hàng đầu cho các phần mềm trên xe oto và an toàn đường
bộ [13, 14] Sự khác biệt được thê hiện ở Hình 1.1 ở dưới vớii biển 1 là của Việt Nam,
biên 2 là của Trung Quoc, biên 3-4-5 của các nước châu Au.
©®@@@®
Hình 1.1 Các biển báo của từng nước.
Các phân tích so sánh chỉ tiết về những ưu điểm của mô hình nhận diện biển báogiao thông dựa trên YOLO so với các phương pháp khác được nhóm tác giả tổng hợp
như sau:
e_ Xử lý thời gian thực: YOLO xuất ra hình anh theo thời gian hiện tại trên hệ thong,
khiến nó hợp với các ứng dụng phần mềm cần yêu cầu tốc độ cao, chăng hạn như
xe tự hành Không giông như một sô mô hình khác yêu câu nhiêu lân chuyên qua
13
Trang 15một hình ảnh, YOLO phán đoán các hộp được giới hạn và tỉ lệ của lớp trong mỗi
lần chuyên tiếp
Độ chính xác và hiệu quả: YOLO có sự cân băng giữa sự chính xác và hiệu quả
Nó đạt được hiệu suất cạnh tranh trong khi vẫn hiệu quả về mặt tính toán Các mô
hình khác có thể chính xác nhưng tốn kém về mặt tính toán, khiến chúng ít thực
tế hơn khi triển khai trong thế giới thực
Phát hiện thống nhất: YOLO phát hiện nhiều đối tượng trong một lần quét, baogom cả biển báo giao thông Nó không dựa vào đề xuất khu vực hoặc cửa sé trượt.Các mô hình khác có thé dùng các giai đoạn riêng biệt dé xác đinh tọa độ và phânloại đối tượng, việc này có thé kém hiệu quả hơn
Sự khái quát: Kiến trúc của YOLO cho phép nó khái quát hóa tốt các loại đốitượng khác nhau, bao gồm cả biên báo giao thông Một vài mô hình khác có thểgap khó khăn với việc khái quát hóa do kiến trúc phức tạp hoặc trang bị quá mức.Mạnh mẽ về quy mô và tỷ lệ khung hình: YOLO tiến hành phân loại các đối tượng
có kích cỡ và tỷ lệ khung hình khác nhau theo cách có hiệu quả nhất Các mô hìnhtương tự khác thì cần yêu cầu tiền xử lý bô sung hoặc các kỹ thuật chuyên biệt dé
xử lý các biến thể tỷ lệ.
Kiến trúc mạng đơn: YOLO dùng một mạng lưới thần kinh duy nhất cho cả việc
xác định tọa độ và phân loại đối tượng Các mô hình khác có thé liên quan đến
các mạng hoặc đường ống riêng biệt, dẫn đến độ phức tạp tăng lên.
Chuyền tiếp học tập: YOLO có thé hưởng lợi từ trong việc học chuyền giao bangcách đảo tạo trước trên các tập dữ liệu lớn và chỉnh sửa cho các công việc cụ thể
như nhận diện biển báo giao thông
Trong luận văn nghiên cứu này chỉ áp dụng mô hình vào tập đữ liệu có 9 biển báo
câm trong tram loại biên báo giao thông khác vì các loại biên báo này nêu không châp
hành sẽ dẫn tới việc vi phạm giao thông và sẽ bị xử phạt và cũng một phần hiện nay chưathấy ứng dụng trong việc nhận diện và cảnh báo cho người tham gia giao thông đề phòng
tránh rơi vào trường hợp dẫn tới vi phạm giao thông Ngoài ra việc nhận diện các biên
14
Trang 16báo khác liên quan như giới hạn tốc độ cũng đã có tác giả khác thực hiện và ứng dụng
vào thực tiến.
Van đề nhận diện biển báo giao thông được nghiên cứu tiễn hành bằng mô hìnhYOLOv7 ở khóa luận này Hệ thống đề xuất được thiết kế cho việc nhận diện 9 loạibiển báo giao thông ở Việt nam bao gồm: cam rẽ trái, cấm rẽ phải, cấm rẽ trái-phải,cam đỗ, cam dừng-đỗ, cam ô tô rẽ phải, cam 6 tô rẽ trái, cam quay đầu và cam đi thang
Hình ảnh sẽ được chụp ở các góc độ có thể nhận diện được từ camera khi đang chạy
trên đường, hình ảnh cho huấn luyện sẽ không được quá mờ hoặc quá xa ngoài tầm
nhìn của mắt người Trong đó, đầu vào sẽ là hình ảnh, video hoặc Máy ảnh thời gian
thực và đầu ra sẽ hiển thị ý nghĩa của biển báo giao thông Đóng góp của tác giả trong
nghiên cứu này là:
e Tạo ra bộ dữ liệu hình anh 9 biển báo giao thông, tự thu thập của các tuyến đường
trong thành phố Hồ Chi Minh dé đưa vào mô hình YOLOv7
e© Ngoài ra tinh chỉnh lại một số thông số trong mô hình dé dat được trong số nhận
diện tốt hơn so với trọng số của mô hình gốc
e Việc chọn đề tài này dé ap dung vao thuc té néu camera hanh trinh sé ghi lai va
nhận diện các biển báo trong tap đữ liệu nếu nhận diện được biển báo cắm rẽ mà
người lái bắt đầu rẽ vào sẽ phát cảnh báo trên màn hình Nếu người lái xe dừng
hoặc đỗ xe không đúng nơi được phép thì sẽ phát cảnh báo tương tự Từ đó sẽ hạn
chế các tình trạng bị phạt nguội
1.2.MỤC TIỂU CUA NGHIÊN CỨU
Xây dựng hệ thống nhận diện một số biển báo giao thông đề áp dụng vào hệ thống Máy
ảnh của xe oto.
1.3.PHẠM VI VÀ ĐÓI TƯỢNG NGHIÊN CỨU
Phạm vị nghiên cứu: Xử lí hình ảnh và video hành trình của xe với biển báo giao thôngbằng mô hình YOLOv7, từ đó đưa ra kết quả hiện trên màn hình dé người lái xe hoặc hệthống nhận biết được việc đi hướng nào sẽ không bi vi phạm giao thông
15
Trang 17Đối tượng nghiên cứu: Dữ liệu gồm 9 bién báo giao thông như Hình 1.2 gồm: Cam
dừng và a6, cam đó, cam rẽ phải, cam rễ trái, cam quay đầu xe, cam ré trái và phải, cam oto ré trái, cam oto rẽ phải, cam di thang.
Hình 1.2.Các biển báo cắm.
1.4.NỘI DUNG THUC HIỆN
Tìm hiểu về nhận diện hình ảnh biển báo, tổng quát thực trạng hiện nay ở trong
va ngoai nước về các công trình, ứng dụng nhận diện biển báo
Tìm hiểu các công nghệ có hiệu quả và thường dùng hiện nay dé nhận diện biên
báo, từ đó tìm ra phương pháp cho bài toán nhận diện biển báo.
Tìm hiểu thuật toán mạng noron tích chập CNN và YOLOv7 dé ung dung nhandiện biển báo trong video
Tạo bộ cơ liệu cơ sở ảnh.
Tìm hiểu máy học đề nhận diện biển báo giao thông
Tiến hành thử nghiệm với bộ cơ sở dữ liệu biển báo video và cài đặt lên trang bị
Xây dựng và thiết lập phần mềm nhận diện biển báo giao thông lên trang bị với
mô hình YOLOv/7.
16
Trang 181.5.PHƯƠNG PHÁP THỰC HIỆN
Ap dụng thuật toán mạng nơron tích chập CNN và Yolov7 dé nhận diện biển báo trong
video.
Dùng bộ dữ liệu chứa hình ảnh với 9 loại biển báo giao thông
Về lý thuyết: thu thập các cơ sở lý thuyết liên quan từ các nguồn tài liệu khác nhau như
giáo trình, bài giảng, Internet, chuyên đê, luận văn, luận án.
Về thực nghiệm: viết phần mềm nhận diện biển báo giao thông trong video và nhúngphần mềm lên thiết bị IoT
1.6.ĐÓNG GOP CUA NGHIÊN CỨU
Về mặt lý thuyết, nghiên cứu có những đóng góp sau:
° Tổng quan các khái nệm về các kỹ thuật học máy và từ đó nói về YOLOV7
e Được cho ra mắt về các ứng dụng thường được dùng trong lĩnh vực thị giác máy
tính.
Ngoài ra, nghiên cứu còn có những đóng góp về mặt ứng dụng như:
e Xay dung được một bộ cơ sở dữ liệu phù hop với đường phố Việt Nam cũng như
các dit liệu mới về các biển báo giao thông.
e Xây dựng được mô hình nhận diện biến báo giao thông và cài đặt vào thiết bị hệ
thống.
1.7.CÁU TRÚC CỦA LUẬN VĂN
Luận văn này được trình bày trong 5 CHƯƠNG sau:
CHƯƠNG 1: TONG QUANCHUONG 2: CO SO LY THUYETCHƯƠNG 3: THIET KE HE THONG
CHUONG 4: THU NGHIEM VA ĐÁNH GIA KET QUA
CHƯƠNG 5: KET LUẬN
17
Trang 19CHƯƠNG2 CƠ SỞ LÝ THUYET
2.1.KHAI NIỆM MÔ HÌNH YOLOV7
Là một mạng no-ron sâu (DNN) nên mô hình YOLOv7 có nhiều lớp giữa đầu vô(input) và đầu ra (output) Khái niệm về mạng lưới nơ-ron sâu được lấy cảm hứng từ các
tế bào thần kinh có khả năng cảm ứng trong cơ thê sinh vật Ở mức độ cao, một tế bàothần kinh nơ-ron nhận được nhiều tín hiệu thông qua các khớp thần kinh tiếp xúc với cácsợi nhánh của nó và gửi một dòng điện thông qua sợi trục của nó Độ phức tạp của nhiều
đầu vào được giảm bớt bằng cách phân loại mẫu đầu vào của nó Các mô hình nơ-ron được con người tạo ra bao gồm các đơn vị kết hợp nhiều đầu vô và chỉ tạo ra duy nhất
một đầu ra nên lây cảm hứng từ việc này
Mã nguồn này cấp theo giấy phép GPL-3.0 đưới dang mã nguồn mở, có thé được
tìm thấy trong Github và đã được đánh giá hơn 4000 sao trong tháng đầu tiên khi phát
hành.
YOLOv7 được biết tới là một chương trình phát hiện đối tượng theo thời gianthực tế với tốc độ phát hiện và chỉ số chính xác trong khoảng từ 5 FPS tới 160 FPS chocác thao tác thị giác máy tính từ lúc nghiên cứu vào năm 2022 Nó có chỉ số chính xáccao nhất (56.8% AP) theo tập hợp dữ liệu MS COCO Khi ứng dụng thuật toán YOLOv7
vào nhận diện đối tượng thì ta thu được kết quả có độ chính xac cao và được xếp hạng
đứng đầu trong các loại thuật toán trong lĩnh vực nhận diện Đặc biệt khi ứng dụng
18
Trang 20với GPU V100 thì ngoài độ chính xác ấn tượng, chúng ta còn thấy được tốc độ ấn
tượng lên tới 30fps.
Mô hình YOLOv7 vượt trội hơn trên cả những mô hình cùng loại như YOLOR,
YOLOX, Scaled-YOLOv4, YOLOv5, DETR, ViT Adaptor-B về tốc độ và chỉ số chính
xác Ở bài này em sẽ so sánh hai mô hình YOLOv7 với YOLOvS (Hình 2.1).
better MS COCO Object Detection
Hình 2.1 So sánh mô hình YOLOv7 với các mô hình khác.
Nguồn: Sức mạnh của YOLOV7 khi so sánh với những phiên bản YOLO khác [15].
2.2.ĐIÊM KHAC BIET CUA YOLOV7 VỚI MÔ HÌNH KHAC
Với mô hình YOLOv7, chi phí suy luận chang những không bị phát sinh thêm mà
độ chính xác theo thời gian thực còn được tăng thêm Nhu đã trình bày trước đây trong
các điểm chuẩn, khi so sánh giữa các mô hình nhận diện đối tượng khác nhau, tham sé
trong mô hình YOLOv7 đã giảm khoảng 40% va công việc tính toán cũng giảm 50% trong việc nhận diện các mục tiêu theo thời gian thực Ngoài ra, mô hình YOLOv7 còn
có một cấu hình mạng nhanh hơn, mạnh hơn, giảm việc mất dữ liệu hơn cũng như tăng
19
Trang 21được khả năng thành công trong việc định vị cho hình ảnh và huấn luyện mô hình Do
đó, cau hình máy sẽ gọn hơn nhiều lần khi sử dụng mô hình YOLOv7 Các tệp dữ liệunhỏ có thé sẽ được nó huấn luyện nhanh hơn nhiều mà không cần các trọng số phải huấn
luyện trước Sau đây là bảng 2.1 so sánh mô hình YOLOv7 so với các mô hình khác như SSD, Faster RCNN trong việc nhận diện những quả trứng vỡ và không vỡ.
Bảng 2.1 So sánh mô hình YOLOv7 với một số mô hình nhận diện khác.
Nguôn: Số liệu được trích dẫn từ [26].
Model Class Precision (%) Recall (%) mAP@.5 (%) | FPS
Non-broken 89.3 80.4 SSD 75.5 22
Broken 73.1 68
Non-broken 90.8 83.2 Faster RCNN 79.5 16
Broken 80.0 TT.4
Non-broken 97.4 922 YOLOv4 89.4 31
Broken 91.2 88
Non-broken 99.1 94.8 YOLOv7 94.9 37
Broken 96.8 93.6
Non-broken 98.9 95.6
YOLOv5_add 95.2 45
Broken 96.7 93.5
Các lập trình viên huấn luyện mô hình YOLOv7 băng việc dùng các bộ dữ liệu
được đưa ra cho cộng đồng miễn phí như MS COCO mà không cần đảo tạo trước các
tệp dữ liệu hình ảnh hoặc các trọng số khác Giống như mô hình Scaled YOLOv4, đường
trục mô hình YOLOv7 không dùng đường trục được hướng dẫn từ trước của Image Net
(giống như mô hình YOLOv3) Mô hình YOLOv7 được cho ra mắt những sự đôi mới
lớn sau đây:
e©_ Mở rộng mạng tổng hợp các lớp (E-ELAN)
e Chia các mức độ của mô hình theo ty lệ dựa trên kết nối
e Trainable Bag of Freebies (thêm nhiều tuỳ chỉnh kiến trúc mang, các hàm mat
mát, ) tăng độ chính xác mà không làm giảm tốc độ nhận diện đối tượng:
e Tham số hóa lại lớp tích chập theo kế hoạch
20
Trang 22e Thô cho auxiliry và tinh cho lead loss.
2.3.KIEN TRÚC MÔ HINH YOLOV7
Kiến trúc mô hình YOLOv7 được xây lên dựa trên sự xây dựng của mô hìnhYOLO trước đó như các mô hình YOLOv4, Scaled YOLOv4 và YOLOR Kiến trúc baogồm nhiều phần khác nhau, nói chung là gồm:
e Đầu vào xuất hiện trước và về cơ bản là những gi chúng ta có dưới dạng tập hop
các hình ảnh huấn luyện sẽ được đưa vào mạng - chúng được xử lý đồng thời theo
batch size bởi GPU.
° Tiếp theo là Backbone Network: YOLOv7 dùng một kiến trúc mạng nơ-ron mạnh
mẽ làm gốc để trích xuất các đặc trưng từ hình ảnh ra Các mạng backbone như
ResNet, DarkNet, hoặc EfficientNet có thé được dùng dé trích xuất thông tin từ
ảnh đầu vào.
e Va Neck thực hiện việc sau khi ảnh được đưa qua mang backbone, các đặc trưng
được trích xuất từ ảnh thông qua các lớp tích chập (convolutional) và các lớp tổnghợp (pooling) dé tạo ra biêu dién đặc trưng của ảnh Trong đó lớp tích chập là một
lớp quan trọng trong mạng nơ-ron học sâu (deep learning), đặc biệt là trong mạng
CNN Lớp tích chập chịu trách nhiệm thực hiện trích xuất các đặc trưng của ảnhtrên dữ liệu đầu vào Các thành phần quan trọng trong lớp tích chập bao gồm bộ
lọc (kernel), stride, padding, hàm kích hoạt Lớp tích chập giúp mô hình CNN tự
động học và trích xuất các đặc trưng từ đỡ liệu hình ảnh một cách hiệu quả Chúng
đóng một vai trò cần thiết trong việc nhận diện vật thé, phân loại anh, hoặc các
nhiệm vụ khác liên quan đến xử lý ảnh trong deep learning Lớp tổng hợp được
dùng sau lớp tích chập trong mạng CNN, nó giúp giảm kích cỡ của feature maps
và giữ lại các đặc trưng cần thiết, qua đó cải thiện khả năng làm việc và tốc độtính toán của mô hình Các thành phần quan trọng trong lớp tổng hợp bao gồm
max pooling, average pooling, stride, global pooling Lop pooling giúp giảm độ
phức tap cua mô hình, hạn chế overfitting, tang tốc độ học và cải thiện khả năngtong quát hóa của mô hình Khi kết hợp với lớp tích chập, lớp tổng hợp đóng vai
21
Trang 23trò cần thiết trong việc trích xuất và tạo ra các đặc trưng thiết yếu cho quá trình huấn luyện mô hình.
e Cuối cùng, phần head sẽ thực hiện việc nhận diện/dự đoán, chủ yếu sẽ làm trọng
trách nhận diện (cả xác định toạ độ và phân loại) Phần này của mô hình được
dùng dé dự đoán các bounding box và khả năng dự đoán của các lớp vật thé trongảnh YOLOv7 dùng anchor boxes dé dự đoán multiple bounding boxes cho mỗi
grid cell trong anh (Hinh 2.2).
One-Stage Detector
Input | Backbone Sparse Prediction
+
Input: { Image, Patches, Image Pyramid, }
Backbone: { VGG16 (651, ResNet-50 |26), ResNeXt-101 (%6|, DarknetS3 |63), }
Neck: { FPN [44], PANet |49|, Bi-FPN [77Ị, }
Head:
Dense Prediction: { RPN |64|, YOLO |61, 62 65|, SSD |50|, RetinaNet |45|, FCOS (7%|, }
Sparse Prediction: { Faster R-CNN {64|, R-ECN |, }
Hinh 2.2 Kién tric co ban mé hinh YOLONguồn: Hình ảnh được trích dẫn từ [16].
Bởi vì YOLO là máy dò một giai đoạn nên nó thực hiện đồng thời cả hai giai đoạn
(còn được gọi là Phát hiện mật độ) Trong khi đó, máy dò hai giai đoạn thực hiện chúng
một cách riêng biệt và tổng hợp các kết quả (Phát hiện thưa thớt) Trình tự như sau và
được mô tả qua Hình 2.3:
Input > CSPDarknet53(Backbone) > [SPP Block + PANet](Neck) >
YOLOv7(Head)
22
Trang 24| ` Rulaling Target Deleclinn
| Unify Pixel Size !
Ị
(Data Preprocessing}
Nguồn: Hình ảnh được trích dẫn từ [1T]
Từ đó mô hình YOLOv7 sẽ có nhưng điểm cải thiện như sau:
e©_ Mở rộng lớp hiệu quả cho mạng tổng hợp (E-ELAN): Khối tính toán trong mô
hình YOLOv7 - backbone hay còn viết tat là E-ELAN, viết từ Mở rộng lớp hiệuquả cho mạng tổng hợp Sự hiệu quả, cải thiện liên tục bằng kết cấu E-ELAN của
mô hình YOLOv7 đồng ý dé cho việc huấn luyện được ôn hơn bằng việc dùng
“mở rộng, xáo trộn, hợp nhất số lượng thẻ” giúp cho khả năng học trên mạngđường gradient lúc đầu không bi thay đổi và được mô tả qua Hình 2.4 như dưới
23
Trang 25¥ ¥
3x3 Conv 3x3 Conv
3x3 Conv 3x3 Conv c=64 c=64
3x3 Conv 3x3 Conv c=64 c=64
Hình 2.4 Cấu triic mạng E-ELAN.
Nguôn: Hình ảnh được trích dan từ [18].
nó, các phương án liên quan với nhu câu làm việc sẽ được chia tỷ lệ Phương án
chia theo tỷ lệ nhiều thành phần được kết hợp với nhau nhằm giữ được các thuộc
tính chính mà mô hình có ở hình dạng nguyên bản và đê giữ được kêt câu ưu việt
nhất Đó là cách vận hành với việc chia tỷ lệ mô hình kết hợp, nếu ta chia tỷ lệ hệ
số độ sâu (tăng số lượng lớp của khối tính toán lên) ((a), (b) hình 2.5), thì lúc nốilại với nhau thì số lượng kênh được sinh ra cũng sẽ được tăng lên Sau đó, việcchia tỷ lệ hệ số chiều rộng làm song song với đổi thay trên các lớp chuyên tiếp
((c) hình 2.5).
24
Trang 26width also be changed
(a) concatenation-based model (b) scaled-up concatenation-based model
Computational block Transition
Scaling up depth Scaling up width
Transition
Scaling up width
Hình 2.5 Tổng hop các cách chia tỉ lệ mô hình.
Nguồn: Hình ảnh được trích dẫn từ [19].
e Su tích chập được tham số hoá lại theo thiết lập: Mặc dù mô hình VGG RepConv
đã đạt hiệu quả làm việc tuyệt vời nhưng lại làm giảm sự chính xác khi dùng hai
mô hình ResNet và DenseNet Vì thế, mô hình YOLOv7 đã tham số hoá lại lớptích chập bởi việc mà không cần kết nối nhận diện (RepConvN) như Hình 2.6
25
Trang 27Hình 2.6 Kế hoạch tham số hoá lại mô hình.
Nguồn: Hình ảnh được trích dan từ [20].
e Auxiliry head va tinh chỉnh cho lead loss: Cấu trúc YOLO bao gồm phan
backbone, phan cổ (neck) và phần đầu (head) Assigner là quá trình Label
Assignment, GT là Ground Truth, Aux Head là Auxiliary Head, Lead Head là
head được dùng dé cho sự dự đoán trong quá trình inference Phan đầu chứa các
kết quả cho đầu ra của mô hình nên sẽ đảm nhiệm về đầu ra ở cuối được gọi làLead Head Phần đầu phụ (auxiliary head) được dùng khi phần đầu giúp việc huấnluyện ở những tầng trung Ngoài ra, dé làm mạnh thêm khả năng huấn luyện mangthần kinh sâu, việc gắn nhãn (Label Assigner) được đề xuất đề xét đến đáp án sau
khi dự đoán cùng với vùng tin tưởng (ground truth) và sau đó sẽ được gán nhãn
mềm Mô hình YOLOv7 dùng các công cụ Label Assignment như SimOTA Thậtvậy, SimOTA sẽ dùng vùng tin tưởng và sự dự đoán từ phần đầu để sinh ra mụctiêu (target), để khi đó ta có thể tính điểm loss giữa mục tiêu và sự dự đoán của
mô hình Trong mô hình YOLOv7, phần đầu phụ đã dùng sự dự đoán của Lead
26
Trang 28Head đề sinh ra mục tiêu cho nó (Aux Head) (Hình 2.7.(d)) Do Lead Head có khảnang hoc tuong đối nhanh, vì thé mục tiêu được sinh ra từ nó sẽ có đặc điểm tốthơn và có sự liên kết vùng tin tưởng cao hơn Vì thế, Aux Head sẽ được học từmục tiêu tốt hơn, nên sẽ tối ưu hoá tốt hơn và ta cũng có thể xem nó như là "residuallearning" Việc để cho Aux Head nằm trước Lead Head (Hình 2.7.(a),(b)), họcnhững cái mà Lead Head đã được học, Lead Head có thê tập trung việc tiếp thu
thêm những thông tin "residual" mà Lead Head chưa được học trước đó Không
chi thế, để cải thiện thêm, mô hình YOLOv7 đã tao hai mục tiêu từ Lead Head,
một cho bản thân Lead Head (fine label), cái còn lại thì cho Aux Head (coarse
label) (Hình 2.7.(e)) Toàn bộ các Aux Head của mô hình YOLOv7 được dùng
vào phần Neck như trên Hình 2.7.(a),(b).
27
Trang 292.4.SỰ KHÁC BIỆT GIỮA CÁC PHIÊN BAN CUA YOLOV7
Các mẫu YOLOv7 cơ bản khác nhau bao gồm YOLOv7, YOLOv7-tiny và
YOLOv7-w6:
e YOLOv7 là mô hình cơ ban được tối ưu hoá cho tính toán trên GPU thông thường
e_ YOLOv7-tiny là mô hình cơ bản được tối ưu hoá cho GPU biên Hậu tố “tiny”
của mô hình thị giác máy tính có nghĩa là chúng được tối ưu hoá cho Edge AI và
khối lượng công việc deep learning, đồng thời nhẹ hơn để chạy ML trên các thiết
bị điện toán di động hoặc máy chủ và thiết bị phân tán biên Mô hình này rất quantrọng đối với các ứng dụng thị giác máy tính trong thời gian thực So sánh với các
28
Trang 30phiên bản khác, YOLOv7-tiny được tối ưu hoá việc dùng ReLU làm hàm kích
hoạt, trong khi các mẫu khác dùng SiLI làm hàm kích hoạt
e YOLOv7-w6 là mô hình cơ bản được tối ưu hoá cho điện toán đám mây GPU
Như vậy Cloud Graphic Units (GPUs) là các phiên ban máy tính dé chạy các ứngdụng nhằm xử lí khối lượng công việc lớn và học sâu trên đám mây mà khôngyêu cau triên khai GPU trên thiết bị người dùng cục bộ
Ngoài ra còn có các biến thể khác là YOLOv7-x, YOLOv7-e6 và YOLOv7-d6,thu được bằng phương pháp chia ty lệ kết hợp được đề xuất dé tăng quy mô chiều sâu và
chiêu rộng của toán bộ mô hình.
2.5.ỨNG DUNG CUA YOLOV7
Mô hình YOLOv7 được dùng rất phố biến trong nhiều môi trường từ khoa hoc,
kỹ thuật, y tế đến kinh tế, tài chính Dưới đây, tác giả liệt kê 1 vài ứng dụng tiêu biểubao gồm:
e An nỉnh và giám sát mạng: Phát hiện đối tượng được dùng trong an ninh và giám
sát để theo dấu các đối tượng trong một khu vực nhất định Điều này được dùngcho mục tiêu bảo an, ví dụ như xác định các hiểm họa tiềm ân hoặc dé giám sáthành động của người hoặc một vật thể trong một không gian được xác định trước
(giám sát chu vi) Phát hiện đối tượng cũng dùng nhiều trong hệ thống nhận diện
khuôn mặt
e Thành phố thông minh và quản lý giao thông: YOLOv7 cho phép hién thị đối
tượng được dùng trên các màn hình quản lý giao thông để phát hiện phương tiện
và người ổi lại tại các giao lộ Do đó, tính năng nhận diện vật thể có thể dùngtrong thành phố thông minh, dé phân tích đám đông người dân và kiểm tra các cơ
sở hạ tầng xem có đầy đủ an toán hay không
e Phân tích trong việc đầu tư mua bán trí tuệ nhân tạo (Artifical Intelligent - Al):
Các phần mềm của thị giác máy tính đối với kinh doanh có được sử dụng nhiềuđối với các doanh nghiệp bán lẻ có cửa hàng thực tế dé số hóa hoạt động của họ.Visual AI cho phép hiểu biết dựa trên dữ liệu mà chỉ có trong các sàn giao dịch
29
Trang 31điện tử (hành vi khách hàng, đường dẫn khách truy cập, trải nghiệm khách hàng,
v.v.) Tính năng nhận diện đối tượng được dùng để theo dõi và lần theo sự đi
chuyên như bước chân của khách và nhân viên, cải thiện sự chính xác của việctheo sát các hàng tồn đọng trong kho, tăng cường bảo mật, v.v
© Sản xuất và năng lượng: Công nghệ nhận diện đối tượng là một công nghệ mới
nổi có tính đột phá cao trong sản xuất công nghiệp Thuật toán YOLOv7 có théđược dùng dé nhận diện và theo dõi các công việc khi trong dây chuyền sản xuất,cho phép sản xuất hiệu quả và chính xác hơn Ngoài ra, tính năng nhận diện đối
tượng được dùng dé kiểm soát chất lượng và nhận diện lỗi trong sản phẩm hoặc
linh kiện khi chúng được sản xuất Các ứng dụng thị giác AI giúp tránh bị gián
đoạn hoặc chậm trễ thường có giá trị kinh doanh to lớn Ví dụ: nhận diện đốitượng trong sản xuát oto, tầm nhìn của AI trong ngành công nghiệp dầu khí
© Xe tự lái: Phát hiện đối tượng là công nghệ chủ chốt dành cho 6 tô tự lái, nơi nó
được dùng để tự động nhận diện các phương tiện khác, người đi bộ và chướngngại vật Ngoài ra còn có thê nhận diện các biên báo giao thông đề xe tự lái cũngnhư người cầm lái có thể được cảnh báo nếu đi sai đường để tránh gây thiệt hại
về tài sản hay tai nạn đối với người xung quanh.Tầm nhìn AI cũng được dùng
trong Hàng không , cho máy bay không người lái tự động, quản lý tài sản hoặc thậm chí là công nghệ tên lửa.
© Phát hiện đối tượng trong vấn đề sức khoé y tế: Ứng dung quan trọng nhất dé
nhận diện đối tượng là trong lĩnh vực phát hiện các vấn đề về tình trạng sức khỏe.Đặc biệt, các bệnh viện, phòng khám dùng nó để nhận diện và theo dõi các trang
bi, vật tư y tế và bệnh nhân Điều này giúp theo dõi mọi thứ đang diễn ra trong
bệnh viện (di chuyền của bệnh nhân), cho phép quản lý thuốc men hay trang thiết
bị tồn kho hiệu quả hơn và cải thiện sự an toàn cho người khám bệnh Ngoài ra,các bác sĩ còn dùng thuật toán nhận diện đối tượng dé hỗ trợ chân đoán các tìnhtrạng bằng hình ảnh y khoa, ví dụ như chụp X-quang, chụp MRI hay nội soi
30
Trang 322.6.PHƯƠNG PHÁP ĐÁNH GIÁ HIỆU SUÁT MÔ HÌNH
Phương pháp đánh giá mô hình sẽ cần dùng các điểm số f1-score, Precision-Recall
Curve, mAP Fl-score là một phép đo phô biến trong đánh giá hiệu suất các mô hìnhphân loại, hợp nhất giữa precision và recall thành một điểm số duy nhất Khi muốn cân
bằng giữa precision và recall ta sẽ dùng chi số Fl-score trong việc đánh giá mô hình
phân loại Phương thức tính Fl-score được xác định như sau: [F1 = \frac{2 \times Precision \times Recall} {Precision + Recall} ] Trong đó:
e© Precision (Chính xác): La tỷ lệ giữa số trường hop dự đoán đúng thuộc lớp
positive (true positive) trên tong số mẫu du đoán được xác định là positive (true
positive + false positive).
e Recall (Ti lệ tái hợp): La tỷ lệ số trường hop dy đoán đúng thuộc lớp positive
(true positive) trên tong số mẫu thực sự thuộc lớp positive (true positive + false
negative).
e Điểm Fl-score thường nam trong khoảng từ 0 đến 1, giá trị càng cao thì mô hình
càng có hiệu suất tốt hơn trong việc cân bằng giữa điểm precision và điểm recall
Fl-score thường được dùng đề đánh giá mô hình phân loại khi có sự mat cân bang giữa các lớp hoặc khi cả hai chỉ số precision và recall có ảnh hưởng quan trọng
với chương trình.
31
Trang 33CHUONG 3 THIET KE HE THONG
3.1 THIET KE GIẢI THUAT - HUAN LUYEN TAP DU LIEU
3.1.1 Tổng Quan Về Tập Dữ Liệu
Dữ liệu dé huấn luyện trong đề tài này gồm 9 lớp bao gồm các bién báo giao thông
bao gồm và được chia tỉ lệ sau khi thu thập như Bảng 3.1:
e Cam rẽ trái và phải
e Cam quay dau xe
Bang 3.1 Số lượng ảnh mỗi loại biên báo
STT Tên biến báo Số lượng ảnh
1 Cam dừng va đỗ 752
2 Cam rẽ trái 735
3 Cam rẽ phải 713
4 Cam đỗ 629
5 Cam oto rẽ phải 191
6 Cam rẽ trái và phải 177
7 Cam quay dau xe 171
8 Cam oto rẽ trái 143
32
Trang 349 Cam di thang 109
Bộ dữ liệu về biển báo giao thông sau khi thu thập có tính da dang về khoảngcách khi chụp các biển báo từ 20 mét cho tới 1 mét, thời gian được chụp từ lúc trời
sáng sớm như buổi trưa cho tới lúc chụp lúc buổi tối ở nơi ít có ánh đèn cũng như
nhiều ánh đèn, góc độ khi lay anh được chụp từ nhiều góc độ phù hợp khi đặt camera
dé nhận diện sau này Ngoài ra, các hình anh cần chụp với kích thước ảnh tốt từ size
640x640 pixels trở lên Các hình ảnh được thê hiện qua Hình 3.1 như sau
Hình 3.1 Tính đa dạng của dữ liệu.
Ngoài ra bộ dữ liệu còn có tính phức tạp làm khó nhận diện hơn khi chứa những
hình ảnh bị phản chiếu ánh sáng, nền của phía sau biển báo bị trùng màu với ảnh, biểnbáo bị cây hay các vật khác che khuất một phần hay biên báo bị hư hay móp méo do
tác động của thời gian hay ngoại lực được thể hiện ở dưới Hình 3.2
Trang 353.1.2 Các Bước Huấn Luyện Dữ Liệu Trên Mô Hình Yolov7
Trong phần này, học viên sẽ trình bày cách để ứng dụng Roboflow cho việc
upload, sau đó gán nhãn lên các hình ảnh cho quá trình huấn luyện Sau khi upload ảnh
lên, Roboflow sẽ loại bỏ các anh trùng lặp và hiển thị tổng số ảnh đã được upload lên màn hình Sau đó chúng ta sẽ “assign” đề tiến hành thực hiện việc gán nhãn ảnh như mô
e Chuẩn hóa kích thước (resize) hình ảnh thành 640x640
e Có 5 tùy chọn dé tăng cường mẫu cho huấn luyện bao gồm: độ sáng, làm mờ,
thêm nhiễu, cắt ảnh và kéo ảnh qua trai/phai.
e Khởi tạo: kiểm tra lần cuối các tùy chọn và chọn kích cỡ phiên ban dé sinh hình
ảnh cho bộ dữ liệu Phiên bản được sinh ra càng lớn sẽ càng huấn luyện lâu hơnnhưng sẽ được kết quả tốt hơn
e_ Học viên đã có được 7946 tấm ảnh trong đó gồm 6945 hình anh cho tập huấn
luyện và 1001 hình ảnh cho tập kiểm tra sau khi khởi tạo Số lượng tam ảnh sau
khi chia tỉ lệ được liệt kê như Bảng 3.2.
34
Trang 36Bảng 3.2 Số lượng nhãn trong tập train và test
Cấm rẽ trái Cấm rễ phải
Dữ liệu ảnh trong tập test 8 Dữ liệu ảnh trong tập train
Xuất hình ảnh về máy tính dé huấn luyện với mô hình YOLOv7 Chon format
cho hình ảnh là YOLOv7 Pytorch cho mô hình.
Bảng 3.3 So sánh Yolov5 với Yolov7
Bảng so sánh Yolov5 với Yolov7
Trang 37Học viên khai thác Google Colab Pro vì được dùng GPU cao cấp sẽ giúp quá trình
huấn luyện mô hình YOLOv7 hoàn tất nhanh hơn Chọn “Trình tăng tốc cao cấp” trong
mục “Thời gian chạy > Thay đổi loại thời gian chạy”, để quá trình huấn luyện nhanh
nhất có thé nhưng phải trả phí Chúng ta sẽ được cấp phép dùng GPU V100 hoặc A100
của Nvidia Với đề tài nghiên cứu này, em đã chọn A100 dé có thêm RAM huấn luyện
nhiều hơn, cụ thê là 40GB cho mỗi epoch huấn luyện Các bước huấn luyện sẽ được thực
thi theo thứ tự như sau:
Clone YOLOV7 repo.
Truy cập GG Colab va cài đặt các requiments Ở trong thư mục yolov7, ta sẽthay thư mục tên là “requiments.txt” Mở thư mục lên và remove đòng 11 và 12
ghi là torch và torchvision Tạo một thư mục mới với tên là
“requiments_gpu.txt” trong thư mục yolov7.
©_ from google.colab import drive
o drive.mount('/content/drive')
Chuẩn bi dit liệu: Tao ra 2 thư mục được đặt tên như sau: “images” và “labels”
Thư mục “images” chứa các hình anh va thư mục “labels” chứa các nhãn như trên.
Thiết lập thư mục config: Mở file “coco.yaml” trong thu mục data và xóa 4dòng đầu tiên
o_ Thiết lập “train: data/train”
o_ Thiết lập “val: data/train”
Trang 38e Bắt đầu huấn luyện trên mô hình YOLOv7 với tập dữ liệu đã sinh ở trên Chạy
các câu lệnh để cài đặt các thư viện yêu cầu Chạy dòng lệnh dưới đây dé batđầu huấn luyện tập dữ liệu với mô hình mặc định, trong đó worker là sé luong
công dé tai dữ liệu vào mô hình, batch-size là 1 lần lặp ta sẽ cho ngẫu nhiên 8
ảnh vào mạng học, epochs là sô lân ta đưa tât cả dữ liệu vào mạng lưới học, Img
là kích cỡ hình ảnh vào dé huấn luyện, các thông số mặc định trong file.yaml vàtrọng số yolov7.pt
!python train.py workers 8 device 0 batch-size 8 epochs 25 img 640 640
data data/coco.yaml hyp data/hyp.scratch.custom.yaml name yolov7-custom
weights yolov7.pt
3.1.3 So Sanh Độ Chính Xác Với Mô Hình Yoloy5
So với mô hình YOLOvS5-N thì mô hình YOLOv7-tiny chạy nhanh hơn 127FPS
và độ chính xác hơn 10.7% trên thang điểm mAP Tốc độ suy luật của phiên bản mô
hình YOLOv7-x đạt 117 FPS trong khi phiên bản YOLOvS5-I chỉ có 99FPS, ngoài ra mô
hình có độ chính xác tốt hơn (mAP hơn 3.9%)
Ngoài ra, tham số của giảm 22% và việc tính toán it hon 8% trong khi đó độ chínhxác trung bình lại tăng lên 2.2% Cụ thé hơn khi so sánh mô hình YOLOv7 với mô hìnhYOLOv5 thì tham số yêu cầu của kiến trúc phiên bản YOLOv7-e6 thấp hơn 45% so vớiphiên bản YOLOv5-x6, tốc độ suy luận nhanh hơn 47% trong khi chỉ cần tính toán ít
hơn 63%.
3.1.4 Tinh Chỉnh Mô Hình
Bang 3.4 Banh tinh chỉnh tham số mô hình
Model Parameters | GPU_ mem | P R mAP@.5 | mAP@.5:.95 | Các thay đối
Yolov7 37248560 7.34G 0.885 | 0.898 | 0.944 0.778 25 epoch,
batch size: 8 Yolov7 37248560 24.2G 0.948 | 0.950 | 0.966 0.781 add 10 epoch,
batch size: 16,
loss_ota: 0
37
Trang 39Yolov7 37248560 11.9G 0.967 0.927 0.966 0.806 add 10 epoch,
batch size: 16, Ir0: 0.001,
Irf: 0.01 Yolov7 37248560 24.2G 0.909 0.943 0.956 0.792 add 10 epoch,
batch size: 16, Ir0: 0.001,
batch size: 16,
Ir0: 0.001, Irf: 0.001 Yolov7 37248560 21.2G 0.947 0.935 0.965 0.807 add 25 epoch,
batch size: 32,
Ir0: 0.001, Irf: 0.01
Yolov7-x 70866630 9.33G 0.933 0.948 0.954 0.774 25 epoch,
batch size: 8 Yolov7-w6 69880104 5.16G 0.906 0.899 0.829 0.731 25 epoch,
batch size: 8
Yolov5-s 7039792 2.09G 0.935 0.921 0.948 0.765 25 epoch,
batch size 8
3.1.5 Đánh Giá Kết Quả Ung Dụng Giải Thuật Yolov7
Phương pháp đánh giá đối với mỗi class sẽ được dùng thang đo F1, Precision vàRecall và đối với toàn class sẽ được dùng thang đo mAP.5 và mAP.5:.95
38
Trang 40e Để nhận diện đối tượng, thông thường dé xác định xem hiện thị của đối tượng có
đúng hay không thi ta sẽ dùng Intersection over Union (IoU hay IU) Việc này lâyvùng A gồm các pixel chứa đối tượng được đề xuất và vùng B chứa pixel đối
tượng thực và tính toán theo công thứ 3.1:
area(A nB)
e Hinh ảnh bên dưới chỉ rõ IOU giữa hộp giới hạn thực tế cơ bản (màu xanh lá cây)
và hộp giới hạn được nhận diện (màu đỏ).
area of overlap TOU
area of union
(3.2)
e Một số thuật ngữ co ban được dùng trong công thức:
o True Positive (TP) : Phát hiện chính xác Phat hiện với IOU = threshold
o_ False Positive (FP) : Phát hiện sai Phát hiện với IOU < threshold
o False Negative (FN) : Không phát hiện được ground truths
o True Negative(TN) : Không áp dụng Nó sé dai diện cho một phát hiện sai đã
được sửa chữa Trong tác vụ phát hiện đối tượng, có nhiều hộp giới hạn cóthé không được phát hiện trong ảnh Do đó, TN sẽ là toán bộ các vùng giớihạn có thể không được nhận diện chính xác (có thé có rất nhiều vùng trongmột tam ảnh) Đó là lý do tại sao các số liệu không được dùng
o Threshold (ngưỡng) : tùy thuộc vào số liệu, nó thường được đặt thành 50%,
75% hoặc 95%.
e_ Độ chính xác (Precision): La khả năng khi xác định được các đối tượng có liên
quan của mô hình Đó là tỷ lệ phần trăm dự đoán tích cực chính xác và được tính
bởi công thứ 3.3:
39