LOI CAM DOAN Tên tôi là: Nguyễn Minh Thiện Sinh ngày: 16/03/1997 Học viên lớp cao học CH20HT01 ngành Hệ thống Thông tin — Trường Dai học Thủ Dầu Một Tôi xin cam đoan: Đề tài “Nghiên c
Trang 1UY BAN NHAN DAN TINH BINH DUONG
TRUONG DAI HOC THU DAU MOT
NGUYEN MINH THIEN
NGHIEN CUU NHAN DANG CAC DIEM MO HO TRO CON NGUOI KHI LUU THONG TRONG DIEU KIEN
THOI TIET KHONG DAM BAO
LUAN VAN THAC Si
CHUYEN NGANH: HE THONG THONG TIN
MA SO: 8480104
BINH DUONG - 2022
Trang 2ỦY BAN NHÂN DẦN TỈNH BÌNH DƯƠNG
TRƯỜNG ĐẠI HỌC THỦ DẦU MỘT
NGUYEN MINH THIEN
NGHIEN CUU NHAN DANG CAC DIEM MO HO TRO
CON NGUOI KHI LUU THONG TRONG DIEU KIEN
THOI TIET KHONG DAM BAO
LUAN VAN THAC Si CHUYEN NGANH: HE THONG THONG TIN
MA SO: 8480104
NGUOI HUONG DAN KHOA HOC:
TS NGUYEN HA HUY CUONG
BINH DUONG -_ 2022
Trang 3LOI CAM DOAN
Tên tôi là: Nguyễn Minh Thiện
Sinh ngày: 16/03/1997
Học viên lớp cao học CH20HT01 ngành Hệ thống Thông tin — Trường Dai học Thủ Dầu Một
Tôi xin cam đoan: Đề tài “Nghiên cứu nhận dạng các điểm mờ hỗ trợ
con người khi lưu thông trong điều kiện thời tiết không đảm bảo” là do tôi
nghiên cứu, tìm hiểu và phát triển dưới sự hướng dẫn của TS Nguyễn Hà Huy
Cường, không phải sao chép từ các tài liệu, công trình nghiên cứu của người khác
mà không ghi rõ trong tài liệu tham khảo
Tôi xin chịu trách nhiệm về lời cam đoan này
Học viên thực hiện
Nguyễn Minh Thiện
Trang 4LOI CAM ON
Đề hoàn thành luận văn này, đầu tiên em gửi lời cảm ơn chân thành đến toàn thể Quý Thầy, Cô giảng viên Trường Đại học Thủ Dầu Một đã tận tình giảng dạy, truyền đạt những kiến thức quý báu và tạo điều kiện thuận lợi cho em trong suốt quá trình học tập, nghiên cứu
Em bày tỏ lòng biết ơn đến TS Nguyễn Hà Huy Cường, Trung tâm phát triển phần mềm — Dai học Đà Nẵng tận tâm hướng dẫn và đưa ra những góp ý,
điều chỉnh vô cùng xác thực cho luận văn, đồng thời Quý thầy cũng cho em những lời động viên sâu sắc giúp em có những định hướng đúng đắn để hoàn thành luận văn
Cuối cùng em gửi lời cảm ơn đến gia đình, các bạn cùng khóa, đồng nghiệp cùng cơ quan đã nhiệt tình hỗ trợ những thông tin, chia sẻ những kiến thức hay ø1úp em trong quá trình thực hiện
Trân trọng!
il
Trang 5TOM TAT LUAN VAN
Luận văn với từ khoá nhận dạng điểm mờ biển báo giao thông hứa hẹn sẽ
có tính chất thực tiễn, ứng dụng cao, rộng rãi và rất cần thiết cho cuộc sống hiện đại ngày nay Thời gian gần đây, tại Việt Nam đặc biệt là các đô thị lớn lưu lượng
xe lưu thông trên đường ngày càng đông đúc, kèm theo đó là các vụ tai nạn giao thông cũng không dừng gia tăng Theo đánh giá của uỷ ban an toàn giao thông quốc gia tai nạn giao thông 4 tháng đầu năm 2022 (tính từ ngày 15/12/2021 đến 14/4/2022), toàn quốc xảy ra 3.808 vụ tai nạn giao thông, làm chết 2.276 người, bị thương 2.431 người So với 4 tháng đầu năm 2021, số vụ TNGT giảm 694 vụ (- 15,42%), tăng 7 người người chết (0,31%), giảm 801 người bị thương (-24,78%) Phân lớn các vụ tai nạn diễn ra trong tình trạng người dân say xin, đặc biệt những
vụ tai nạn xảy ra trong điều kiện thời tiết không đảm bảo Xuất phát từ những đặc điểm nêu trên luận văn được nghiên cứu nhằm mục đích đảm bảo an toàn cho người lái xe và người đi đường trước các vẫn đề về thời tiết xấu hay khó khăn về tầm nhìn Xử lý ảnh để nhận diện biển báo giao thông đã được nghiên cứu và áp dụng từ rất lâu, tuy nhiên việc thực thi triển khai thực tế còn ít và chưa thực sự hiệu quả ở Việt Nam cũng như trên thế giới
Đối với bài toán phân loại biển báo giao thông, tức là nhận diện bức ảnh
này thuộc loại biển báo gì Đối với mỗi ngõ vào, ta phân loại vào 1 class nhất định,
có thể nói rằng đây là lớp các bài toán phân lớp (Classification) hình ảnh từ tập đữ
liệu đầu vào, sau đó tiến hành huấn luyện, tiếp theo nhận dạng các đối tượng được dùng để kiểm tra Các nhà nghiên cứu trước đây đã công bố rất nhiều thuật toán để phân lớp dữ liệu, từ cổ điển đến hiện đại Thời gian gần đây với sự phát triển bùng
bố của ngành trí tuệ nhân tạo, đặc biệt với những công nghệ ngày càng tiến gần với thực tế hơn Những lĩnh vực như học máy và học sâu đã được áp dụng rất sâu vào trong những bài toán thiết thực với cuộc sống Có thể nói răng mạng No- ron tích chập được đánh giá là thuật toán khá hiệu quả, tránh được tác động từ môi trường, nhiễu, sự thay đôi khoảng cách ảnh đến camera Trong luận văn, mục tiêu đặt ra là:
ill
Trang 6Xây dựng mô hình nhận diện biển báo giao thông trong ảnh và video
Từ đó so sánh hiệu quả giữa các mô hình khác nhau
Với bài toán nhận diện biển báo, gồm hai bài toán lớn là phát hiện và
phân loại vật thẻ
Chuyển sang nghiên cứu các kỹ thuật mạng no-ron một lớp, Support Vector Machine cho bài toán lọc màu, đồng thời kết hợp cùng phương pháp đếm thẻ và thu được kết quả chính xác 100% đối với các hội trường nhỏ, số thẻ biếu quyết cách xa nhau
Cuối cùng phân loại vật thể thông qua những case study thử nghiệm ở
các mô hình khác như YOLO, R-CNN, FastR-CNN, Faster R-CNN và một số thuật toán khác
IV
Trang 7MUC LUC
Chutong 1 TONG QUAN vicscccccscscsssscsssssscsssssscsssscsessssesesssssssssssscsssasstsssassessens 6
1.1 Tổng quan đề tài nghiên cỨu 2-5 < se + k£E*EE£E£E+EE£EeEsrereersreced 6 12_ Hệ thống biến báo giao thông ở Việt Nam - 2-2 eses+xsEeveesrsrxee 7 1.3 Cơ sở khoa hỌC - << 3 59 9999998989 E969 33555 nen 9 IESNNV) P u ca 9 1.3.2 Neural NGfWOTK Ăn 0 ve 9 1.3.3 Convolutional Neural Network (Mang no-ron tích chập) 11 1.3.3.1 Giới thiệu Convolutional Neural NetworĂ .- - - (c2 1] IESP2AN€® vo no an I1 1.3.3.3 Cấu trúc của CNN «ch krrerrrkerrked 12
IS EN'IY(,U coi o 13 1.3.4 Mô hình You Only Look nce . «s55 c5 s1 SssEsesssesesssee 14 1.3.4.1 Cach YOLO hoat dOng ou 15 1.3.4.2 Cấu trúc của YOLO s-c++e+kttsrkttrktErktrrkserkksrrkirrkerrrkerrked 16 1.3.4.3 Mô hình mạng của YOUO - QG G3 Y1 ng 51 re ló 1.3.4.4 Kiến trúc của YOLO c+-cxe++rkrtrkrrrkettrketrkrrrrrrkrrrkrrrrked 17 1.3.4.4.1 Backbone - - sọ nọ cv ve 17
Trang 81.3.5.3 Thư viện TenSOrÍÏOW - - << - << +5 s2 nen re 21 In) 60) ca 22
` mn 23 1.4 Khái niệm cơ bản trong xử lý ảnh - < c S119 1119995555 58555516 55 24 1.4.1 Mức xám của ản - - SE 9 66 24
1.4.2 Khử nhiễu -25- << SE SEEEEEEEEEEEEEEEEEEEEEEEEEEEEEsrkrrerrerkee 24 1.4.3 Nhận dạng ảnh + - <2 +k++EEESEkeEEEEEEEEEEEEEEEEEEEEEEEerkrrkreerkee 24
Chuong 2 PHAN TICH VA THIET KE HE THONG NHAN DANG DOI
TƯỢNG DỰA TREN MO HINH YOLOV4 cccccscsscsssssessescssessessssessssssssssssseens 26 2.1 M6 ta DAL tOAM eee eeeecccescescssessesssessessssssscsscesssesssstssessssesssssssesesssssssersseeseass 26 2.2 Áp dụng mô hình YOLOv4 2 5s kEE*Es£E£EE*EkEEeEEEEErererrsrered 28
2.3 Thu thập dữ liệu và tăng sinh dữ liệu . - 5-5552 SS+Sssssesss 29
2.4 Phân tích và thiết kế hệ thống . .- 2-2 < SE Ez£E£E£E£E£EzEerErrsrered 32
2.4.1.1 Yêu cầu về chức năng -s - + xSEkEEx E9 EEEx cv rưcxới 32
2.4.1.2 Yêu cầu phi chức năng s - 4x ke cvevrs xi 32
2.4.2 Thiết kế hệ thống 2 s99 EE xxx gveesrsrevereeesrsreve 32
2.4.2.1 Các chức năng của hệ thống <5 + s£xEEE£keErererrsrered 32
2.4.2.2 Mô tả hệ thống 2-5-9 99v Tư gveeersrevereesrsreve 32
2.5 Triển khai xây dựng << tk x1 ch cuc 33
2.5.1.1 Tập đữ liệu đầu vào - << k+EsxEE*E*SkEkExckEEvxEkEErkrerrsrered 33 2.5.1.2 Gán nhãn đữ liệu 2-2 << kẻ EEEEEESEkEEEESEEEEEEEsrkrrkrkerkee 34
2.5.2 Huấn luyện mô hìnhh 2 e s sEE#E* 1E £ES 9v gEgevxveverreesrsrxvi 38
2.5.2.1 Tiền huấn luyện . << x39 EE Sư EvEgg gưghcgưcưới 38 2.5.2.2 Huấn luyện mô hình 2 ®sE + £E£E*£E£E*Ez£E£E£E£E£EzErErrsrered 38
Vi
Trang 9Churong 3 THU'C NGHIEM cccccccssssccsseescsssvecssssseeccssseesesssseecsssueesesseesessneeeesen 40
3.1 M61 trirOng Cai Gat 40
3.1.1 Hé didu han wc scssssssescsssscsssssssssssssssssssssssssssssssssssssseseseeseseess 40
3.1.2 Cai dat churong trinh 40 3.2 Mô tả thực nghiệm - - G2 0000009903031 10330 3 1g 10051591 e6 41 3.3 Tiến hành thực nghiệm huấn luyện . ° <5 SE Esxk£xe sscxee 41
3.4 KẾ( quả -G- «St E3 TT TH TT re rerei 45 Chương4 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỀN . 2- - s55¿ 51
Vil
Trang 10DANH MUC CHU VIET TAT
Trang 11DANH MUC BANG BIEU
Bang 1 Ứng dụng của Neural network trong đời sống . 55-5 scscs2 9 Bảng 2 Bảng chức năng của người dùng
iX
Trang 12DANH MUC HINH, DO THI
Hình 1-1 Bién b&0 CAM o eessesssssssesssssseccsscssecseccscsssesseecscssucssecsessecessessesssceneenseesses 7 Hình 1-2 Biển báo nguy hiỂm 2 ke keEEEEkEEExEEEExEErErEsrerkrrerered 8 Hinh 1-3 Bién bao Chi dan .c.csessscsssessesssessscssesssesssessscescssscsseecsessscsssesseessceseenseesses 8 Hình 1-4 Biển bao higu 1emh oo esseessssssesssecssesseessccssccscesscsssecsessscesecsssenseeseenseesses 8
Hinh 1-5 Bién ba0 phu cscccssssescssssssccsssescsssscscssssessssssesssscsessssssesssssscssssssesssassssens 8
Hinh 1-6 Citra sé truot Slidering Windows .ccscsscsssscsscsssesesssesssssesesessscssseeees 11
Hình 1-7 Mô hình cấu trúc của CNN s+ccscrxsersrrrrkrtrrrrierrrrrriie 12
Hinh 1-8 Lop tich chap trong CNN .- G HH HH ng 11 re 13 Hình 1-9 Lớp Pooling trong CNN - SH HH ng ng ng kg 13 Hình 1-10 Lớp Fully conrieCf€cdẢ . << 5 «s5 9899558 94.19 9 11 8 815 3 se 14 Hinh 1-11 M6 hinh YOLO ou 15
Hình 1-12 Phương pháp phát hiện vật thể của YOLO .- 2-5-5 2552 15 Hình 1-13 Kiến trúc của YOLO ¿(5+ ©5+©2+£©x+xtSEEExeErerketkerrsersrrrsres 17
Hình 1-15 Cách hoạt động của NecK - <1 1111991 1111111511 185555 11 E6 18 Hình 1-16 Cách hoạt động của Head - << 5553111355555 5555555555 19 Hình 1-17 Ngôn ngữ lập trìn Python G5 5c s39 10919411 9 11 8831189 1 s5, 20
500000010800 4/./89) ,0 1 21 Hình I-19 Thư viện Tensorflow .:cccccccccccccscsssssssccssssccccccsesscsssescsceseseceeess 22 Hình 1-20 Môi trường Œoogle ColabOraẦOFY G5 S11 S9 1 1119355514 22 Hình 2-1 Mô tả bài toán thực nghiệm nhận dạng biến báo - 5-5 27
Hình 2-2 So sánh mô hình YOLOv4 với các phiên bản tiền nhiệm 29
Hình 2-3 Dữ liệu hình ảnh thu thập G55 c5 S191 115551558535 54 30 Hình 2-4 Dữ liệu biển báo giao thông được thu thập - 2s +sss+ 34 Hình 2-5 Giao diện chính của RobofÏOWw . 5S n3 se esee 34 Hình 2-6 Thực hiện tải hình ảnh lên website RobofÏow 555cc 35 Hình 2-7 Giao diện màn hình thực hiện chức năng gắn vị trÍ - 35 Hình 2-8 Hình ảnh được định vị vị trí đặc trưng của biến báo - 36 Hình 2-9 Hình ảnh được phân loại tổng số lượng hình ảnh 2-5 ¿ 36 Hình 2-10 Các bước xử lý hình ảnh phù hợp với đầu vào mô hình đào tạo 37
Hình 2-11 Đặt tên cho phiên bản đã chuẩn bị, 2 + 5 52 s+seesxscss 37
Hình 2-12 Chọn định dạng gán nhãn cho bộ dữ liệu và các tùy chọn tải xuống 37 Hình 2-13 Khởi tạo quá trình sử dụng và kết nối với Google Colab 39
Trang 13Hình 2-14 Huan luyén m6 hinh véi cdc thong s6 da cai dat eee 39 Hình 2-15 Các phương pháp giám Sắt - - G G5191 1111196551 1185555 1 6 39 Hình 3-1 Mô tả thực nghiỆm Ă 52393 1311833 1188511885111 81111 8xx 41 Hình 3-2 Download bộ dữ liệu dataset biển báo -c-cccccccrrcere 42
Hình 3-3 Hình ảnh các tham số và đầu vào dữ liệu khi huấn luyện 42
Hình 3-5 Các tham số của hàm mắt mát iou ÌOSS 2 + 5 s2 s£££Esze£s+ 43 Hình 3-6 Kết quả phát hiện đối tượng và bounding box -s- -:- 44 Hình 3-7 Ảnh gốc ban đầu và sau khi phát hiện được đối tượng 45
Hình 3-8 Biểu đồ đánh giá mô hình huấn luyện của YOLOv4 46
Hình 3-9 Hình ảnh nhận dạng trong điều kiện bình thường . - 46
Hình 3-10 Nhận dạng điểm mở biến báo trong thời tiết mưa - 47
Hình 3-11 Nhận diện biển báo trong điều kiện ánh sáng lóa 47
Hình 3-12 Nhận diện biển báo trong điều kiện ánh sáng mờ . - 48
Hình 3-13 Nhận diện biển báo trong điều kiện ánh sáng mờ 48
Hình 3-14 Nhận diện biển báo trong điều kiện ánh sáng mờ và tối 49
Hình 3-15 Nhận diện biển báo trong điều kiện bị che khuất . .- 49
Xi
Trang 14MO DAU
1 Ly do chon dé tai
Dự báo các điểm mờ đang là một yếu tố giao thông quan trọng làm ảnh hưởng đến nhiều lĩnh vực như: ùn tắc giao thông, an toàn cho người đi đường, ôn định an sinh đời sống xã hội hay hạnh phúc của người dân Do đó, bài toán “Nghiên cứu nhận dạng các điểm mờ hỗ trợ con người khi lưu thông trong điều kiện thời tiết không đảm bảo” đang nhận được sự quan tâm, chú ý của nhiều nhàn khoa học trong và ngoài nước Nhiều mô hình nhận đạng đã được áp dụng đối với bài toán nhận dạng điểm mờ, biển báo và bài toán dự báo như: mô hình mạng nơ ron nhân
tạo, mô hình toán máy vector hỗ trợ (SVM), mô hình suy luận mờ thích nghi và
m6 hinh mang no ron tich chap (CNN)
Cùng với sự phát triển nhanh chóng của các loại máy móc hiện đại như máy ảnh số, máy quay phim kỹ thuật số, máy vi tính, thì lượng thông tin con người thu
được dưới dạng hình ảnh là rất dễ dàng Xử lý ảnh là một trong những lĩnh vực
ngày càng được phô biến trong đời sống xã hội Các thiết bị ghi hình có thê thấy
và hiểu được thế giới xung quanh được xây dựng và phát triển ngày càng nhiều bởi sự tiễn bộ trong các thuật toán phân tích, chọn lọc hình ảnh
Thời gian gần đây, tại Việt Nam đặc biệt là các đô thị lớn lưu lượng xe lưu thông trên đường ngày càng đông đúc, kèm theo đó là các vụ tai nạn giao thông cũng không dừng gia tăng Theo đánh giá của uý ban an toàn giao thông quốc gia tai nạn giao thông 4 tháng đầu năm 2022 (tính từ ngày 15/12/2021 đến 14/4/2022), toàn quốc xảy ra 3.808 vụ tai nạn giao thông, làm chết 2.276 người, bị thương
2.431 người So với 4 tháng đầu năm 2021, số vụ TNGT giảm 694 vụ (-15,42%),
tăng 7 người người chết (0,31%), giảm 801 người bị thương (-24,78%) Phần lớn
các vụ tai nạn diễn ra trong tình trạng người dân say xin, đặc biệt những vụ tai nạn xảy ra trong điều kiện thời tiết không đảm bảo Xuất phát từ những đặc điểm nêu trên luận văn được nghiên cứu nhằm mục đích đảm bảo an toàn cho người lái xe
và người đi đường trước các vân đê về thời tiêt xâu hay khó khăn vê tâm nhìn Xử
Trang 15lý ảnh để nhận diện biển báo giao thông đã được nghiên cứu và áp dụng từ rất lâu, tuy nhiên việc thực thi triển khai thực tế còn ít và chưa thực sự hiệu quả ở Việt Nam cũng như trên thế giới
Đối với bài toán phân loại biển báo giao thông, tức là nhận diện bức ảnh này thuộc loại biển báo gì Đối với mỗi ngõ vào, ta phân loại vào 1 class nhất định,
có thể nói rằng đây là lớp các bài toán phân lớp (Classification) hình ảnh từ tập dữ liệu đầu vào, sau đó tiễn hành huấn luyện, tiếp theo nhận dạng các đối tượng được
dùng để kiểm tra Các nhà nghiên cứu trước đây đã công bó rất nhiều thuật toán để
phân lớp dữ liệu, từ cỗ điển đến hiện đại Thời gian gần đây với sự phát triển bùng
nỗ của ngành trí tuệ nhân tạo, đặc biệt với những công nghệ ngày càng tiến gần với thực tế hơn Những lĩnh vực như học máy và học sâu đã được áp dụng rất sâu vào trong những bài toán thiết thực với cuộc sống Có thể nói rằng mạng Nơ-ron tích chập được đánh giá là thuật toán khá hiệu quả, tránh được tắc động từ môi trường, nhiễu, sự thay đôi khoảng cách ảnh đến camera
Nếu có hướng tiếp cận phù hợp, ta luôn nhận thấy nhu cầu áp dụng những thành tựu của Khoa học, công nghệ vào giải quyết các vấn đề của cuộc sống Với mục tiêu tiết kiệm thời gian, giảm thiểu được những vụ tai nạn xảy ra, hỗ trợ người dân trong quá trình lưu thông trong điều kiện thời tiết không đảm bảo và áp dụng các thành tựu khoa học, chúng tôi tiến hành thu thập những hình ảnh, những biển báo trên các cung đường tại địa bàn tỉnh Bình Dương những hình ảnh thu được sau khi chọn lọc sẽ được thực hiện việc tăng cường gắn nhãn cũng là một trong nội dung nghiên cứu của đề tài
2 Mục tiêu nghiên cứu (mục tiêu chung, mục tiêu cụ thể)
Trang 16Muc tiéu cu thé:
- Nghiên cứu các giải pháp lọc màu, chọn lọc đối tượng thông qua hình ảnh
để từ đó đưa vào mô hình huấn luyện
- Việc áp dụng các giải pháp kỹ thuật, phân tích và nhận dạng độ chính xác trong quá trình huấn luyện và nhận dạng đối tượng từ đấy đề xuất giải pháp phù
hợp với đặc điểm của đề tài Do đó, luận văn đã áp dụng mô hình YOLO để nhận
dạng đối tượng Ngoài ra đề tài còn áp dụng các kỹ thuật của xử lý ảnh để xây dựng, cài đặt, thực nghiệm và so sánh đánh giá
Mô hình 1: Lọc tách các điểm ảnh có màu đặc trưng hình ảnh điểm mờ trên đoạn đường dựa trên mạng nơ-ron (Neural networks) truyền thắng
Mô hình 2: Áp dụng phương pháp phân loại đối tượng bằng Support Vector Machine (SVM) dé loc mau
Mô hình 3: Áp dụng mô hình YOLO để nhận dạng và phát hiện đối tượng
4 Đối tượng, phạm vi nghiên cứu
Đối tượng nghiên cứu:
- Hình ánh sưu tập từ các đoạn đường trên địa bàn tỉnh Bình Dương
- Phương pháp chọn lọc các đặc trưng mạng nơ-ron truyền thắng, phân loại
đối tượng SVM
- Phương pháp nhận dạng phát hiện đối tượng, thực hiện thông báo
Phạm vi nghiên cứu: Với mục tiêu đã đề ra như trên, đề tài nghiên cứu được giới hạn trong dia bàn tỉnh Bình Dương và các hình ảnh thu được từ camera phi lại tại các quãng đường
3 Tong quan nghiên cứu của đề tài
Đê đạt được mục tiêu trên, đê tài cân thực hiện các nội dung sau:
Trang 17- Tìm hiểu các kỹ thuật xử lý ảnh, áp dụng các phương pháp vào đề tài như: Một số tiêu chuẩn lưu trữ ảnh số, phân tách đối tượng bằng các phương pháp phân loại (huấn luyện mạng nơ-ron truyền thăng, phân loại đối tượng bằng SVMI)
- Tìm hiểu và phân tích các bài báo, công trình nghiên cứu liên quan gần hoặc tương đương
- Đề xuất các kỹ thuật, phương pháp tăng cường dữ liệu hình ảnh
- Thực hiện và so sánh kết quả đạt được với các nghiên cứu khác
5 Phương pháp nghiên cứu
Đề thực hiện đề tài này, em sử dụng các phương pháp nghiên cứu sau:
- Phuong pháp phân tích và tổng hợp lý thuyết: Tìm kiếm, tổng hợp và
nghiên cứu các tài liệu về xử lý ảnh; các thuật toán chọn lọc hình ảnh, kiến thức
liên quan kỹ thuật lập trình
- Phương pháp thực nghiệm: Sau khi nghiên cứu phương pháp lý thuyết, xác định vấn đề bài toán, đề xuất mô hình; tiến hành xây dựng và đề xuất các mô hình; cài đặt thử nghiệm chương trình với ngôn ngữ lập trình Python
- Phương pháp so sánh và đánh giá: để phân tích đánh giá các mô hình đề
xuất
6 Đóng góp của đề tài
Đối với mục tiêu nghiên cứu của luận văn, đã đề xuất thực hiện những giải pháp như sau:
- Tăng cường dữ liệu hình anh để nhận dạng các điểm mờ
- Đề xuất áp dụng các phương pháp như: mạng nơ-ron, SVM, YOLO cho bài toán lọc màu Tiến hành lập trình, thực nghiệm để đánh giá, lựa chọn giải pháp phù hợp
- Lập trình, áp dụng mô hình YOLOv4 trong nhận dạng và phát hiện đối
tượng.
Trang 187 Cau trúc của đề tài
Ngoài phân mở đâu, kêt luận, tài liệu tham khảo, luận văn có kêt câu gôm
03 chương như sau:
Chương 1: Tổng quan về tình hình nghiên cứu
Tổng quan về mạng nơ-ron tích chập; bài toán nhận dạng phát hiện đối
Trang 19Chuong 1 TONG QUAN
1.1 Tổng quan đề tài nghiên cứu
Đề tài nhận diện biển báo giao thông có những nghiên cứu đầu tiên vào năm
1984 với mục đích là phát hiện ra các loại biển báo dùng thị giác máy tính Vấn đề
xử lý ảnh nhận diện biển báo giao thông đang có những bước tiến trong những năm gần đây Minh chứng cho điều này là ngày càng nhiều các nghiên cứu của các nhà khoa học trên thế giới ra đời, cũng như việc ứng dụng các công nghệ mới về
xử lý ảnh lên ôtô
Mạng Nơron học sâu (Deep Neural Network) là lĩnh vực nghiên cứu các thuật toán, chương trình máy tính để máy tính có thể học tập và đưa ra những dự đoán như con người Nó được ứng dụng vào nhiều ứng dụng khác nhau như khoa học, kỹ thuật, các lĩnh vực đời sống khác cũng như các ứng dụng về phân loại và phát hiện đối tượng Một ví dụ điển hình là CNN (Convolutional Neural Network)
áp dụng để nhận dạng tự động, tìm hiểu các mẫu phân biệt từ ảnh bằng tập hợp các lớp tích chập chồng lên nhau và sử dụng các hàm nonlinear activation như ReLU
và tanh để kích hoạt các trọng số, CNN hiện nay được coi là kiến trúc lý tưởng để phân loại ảnh và thúc đây các công nghệ trong lĩnh vực thị giác máy tính, làm đòn bấy cho quá trình học máy Bên cạnh đó, để phân loại được một đối tượng thì công nghệ CNN tiêu tốn cực lớn về tài nguyên như băng thông, bộ nhớ và khả năng xử
lý của phần cứng Để giảm thiêu những tài nguyên tiêu hao này, những thuật toán,
mô hình giải thuật theo thời gian được ra đời ngày càng nhiều và mô hình YOLOv4 cho bài toán phân loại vật thể là một trong số đó
Việc nhận diện và phân loại phương tiện giao thông có ý nghĩa quan trọng trong quy hoạch đô thị và quản lý giao thông ngày càng được nghiên cứu sâu trên thế giới Giao thông tại Việt Nam có mật độ lưu thông lớn và phương tiện chủ yếu
là xe máy nên vấn đề nhận diện phương tiện với độ chính xác cao càng trở nên phức tạp Bài toán nghiên cứu phát triển thuật toán mới cho phép nhận diện và phân loại phương tiện trong luông video trực tiếp Thuật toán được đề xuất sử dụng mạng nơ-ron triển khai trên thuật toán Yolo và sắp xếp ứng dụng trong theo dõi
Trang 20đối tượng Nghiên cứu được thử nghiệm trên các tệp video trực tiếp của camera giám sát, kết quả thử nghiệm cho thấy thuật toán đề xuất hoạt động ôn định và hiệu quả với độ chính xác cao khoảng 95%, kết quả rất tích cực so với các phương pháp
khác
1.2 Hệ thống biến báo giao thông ở Việt Nam
Gồm có 5 nhóm chính: Biến báo cẫm, biển báo nguy hiểm, biển báo chỉ
dẫn, biển báo hiệu lệnh và biển báo phụ
e Biên báo câm: có dạng hình tròn, có viên màu đỏ
BIEN BAO CAM
(QCVN 41:2012/BGTVT)
09S OOOO 9889 — ort deren Sanus chuodddemuến dayleBA Gini9ìgdsl: cums ine in in ne
cla m ocr we women nck mete mot onttc wrod oder "”- 7T onde te te me frat hn
curt = eam decades a dam dhnn nh soemmrenees 6 tome | dhmnUÓM hƯẢQVSƠn AĐNỀm «= dain censmudes daNNHMNA dánu GHM
Hình 1-1 Biển báo cắm
e Biên báo nguy hiêm: có dạng hình tam giác, nên vàng, có viên đỏ
Trang 21Hình 1-2 Biển báo nguy hiểm
> i
Th ĐUỜNGCỤT «ate LU EB] DUONG MỘT CHIẾU TAN TAT
410 412 413a
tư ta KHU VU QUAY XE set hwo LAN DANE CHO DUONG CO LAN DANE
tu Xe KHACH CHO XE KHACH
` ° A wv ? x
Hinh 1-3 Bién bao chi dan
e Biển báo hiệu lệnh: Có dạng hình tròn và có nên xanh
BIỂN HIỆU LỆNH
rt aie DUOC RE PHAL otc Re Tha TRÌNVÀM PHI TRANG VA RE TRAL fan ene aa Pia ~=
HƯỚNG PHẢI DI N01 GIAO NRAU CHAY mem DUONG DANE nic sinh G2 “ np
VONG SANG TRAIL THEO YONG Xt" XE THÔ SỬ CHO NGUẤI BI Bd va chu vila cdr ona
Hình 1-4 Biển báo hiệu lệnh
Biển báo phụ: thông thường có dạng hình chữ nhật, có nền trắng
Hình 1-5 Biển báo phụ
Trang 221.3 Cơ sở khoa học
1.3.1 Deep Learning
Deep Learning (Học sâu) là một nhánh nhỏ cua Machine Learning (May học), bắt nguồn từ thuật toán Neural Network Tuy nhiên, gần đây Deep Learning mang lại nhiều thành tựu kĩ thuật nhờ vào sự phát triển của Big Data (Dữ liệu lớn), với tập dữ liệu càng lớn giúp phát triển các mạng Neural Network sâu hơn với khả năng dự đoán chính xác cao hơn Bắt nguồn từ các loại hình kinh doanh internet truyền thống như tìm kiếm web và quảng cáo Deep Learning ngày nay đã tạo ra nhiều lợi ích hơn trong cuộc sống hằng ngày Ví dụ như trong lĩnh vực y tế, việc phân tích các hình ảnh X-quang được ứng dụng vào Deep Learning để nghiên cứu
và dự đoán các khả năng mang bệnh của người được khám Và đặc biệt Deep Learning còn được ứng dụng trong các xe tự hành để dự đoán các tình huống giao thông
Các ứng dụng khác nhau có thể áp dụng các Neural Network khác nhau:
Bảng 1 Ứng dụng của Neural network trong đời sống
Nhận diện giọng nói Current Neural Network
Nhận diện vật thê Convolutional Neural Network
Trang 23lượng hơn Mỗi Layer là tập hợp nhiều node, các node của lớp sau kết nối với toàn
bộ các node của lớp trước
Mỗi node trong hidden layer và output layer thực hiện các công việc sau: Liên kết với tất cả các node ở layer trước đó với các hệ số w riêng Mỗi node có 1
hệ số bias b riêng Từ đó w, b biểu thị mối quan hệ giữa node trước và node sau
Node phía trên có đầu vào là X1, X2, có trọng số w1, w2 Ngõ ra y là kết quả của một hàm phi tuyến tính Hàm phi tuyến ø còn được gọi là hàm kích hoạt (activation) giúp tăng khả năng học của mạng neural
Các hàm phi kích hoạt thường được sử dụng là:
Sigmoid: Gia tri ngõ ra được chuyền về trong khoảng [0, 1] bằng công thức:
Tanh: Giá trị ngõ ra được chuyền về trong khoảng [-1,1] khiến nó có tính chất tâm không(zero-centered), theo công thức: Khi đó, ngõ ra bằng 1 khi ngõ vào lớn và ngõ ra bằng -1 khi ngõ vào nhỏ Hàm Tanh với tính chất tâm không giúp các đữ liệu được phân bố quanh điểm 0, tanh khi lấy đạo hàm có cả phần dương
và phần âm giúp việc hội tụ trở nên tốt hơn Tuy nhiên hàm tanh không giải quyết được vấn đề bão hòa khi giá trị ngõ vào quá lớn hoặc quá nhỏ của sigmoid
ReLU va leaky ReLU: Lấy ngưỡng giá trị ở 0 (Thay thế các giá trị âm bằng 0): g(x)=max(0, x) Hàm ReLU loại bỏ các giá trị âm, việc hội tụ cũng diễn ra nhanh hơn khi không còn bị bão hòa ở hai đầu như hàm Sigmoid và hàm Tanh Tuy nhiên, với các giá trị âm nhỏ gân 0, việc giữ lại đạo hàm vẫn có giả trị khi lây
10
Trang 24Gradient, nhung lai bị triệt tiêu gây ra hiện tượng “Dying ReLU” Dé khắc phục việc đó, hàm Leaky ReLU ra đời và là biến thể của ReLU, các giá trị âm lớn gần như xấp xỉ bằng 0 trong khi các giá trị âm nhỏ vẫn mang giá trị khi đạo hàm Nhưng
cả hai hàm ReLU và Leaky ReLU lại không có đạo hàm tại 0
1.3.3 Convolutional Neural Network (Mạng nơ-ron tích chập)
1.3.3.1 Giới thiệu Convolutional Neural Network
Convolutional Neural Network (CNNs — Mạng nơ-ron tích chập) là một trong những mô hình Deep Learning tiên tiến Nó giúp chúng ta xây dựng được những hệ thống thông minh với độ chính xác cao như hiện nay
CNN được sử dụng nhiều trong các bài toán nhận dạng vật thể trong ảnh CNN phân loại hình ảnh bằng cách nhận 1 hình ảnh đầu vào, xử lý và phân loại nó theo các hạng mục nhất định (Ví dụ: Chó, Mèo, Hồ, .) Máy tính xem hình anh đầu vào là 1 mảng pixel và nó phụ thuộc vào độ phân giải của hình ảnh Dựa trên
độ phân giải hình ảnh, máy tính sẽ xác định HxWxD (H: Chiều cao, W: Chiều
rộng, D: Độ dày)
Convolved Feature
Trang 25xác suất giữa 0 và 1 Hình dưới đây mô tả toàn b6 luéng CNN dé xtr ly hinh anh đầu vào và phân loại các đối tượng dựa trên giá trị
1.3.3.3 Cấu trúc của CNN
Mạng CNN là một tập hợp các lớp tích hợp chồng lên nhau, sử dụng các hàm nonlinear activation như ReLU và tanh để kích hoạt các trọng số trong các node Mỗi một lớp sau khi thông qua các hàm kích hoạt sẽ tạo ra các thông tin trừu tượng hơn cho các lớp tiếp theo
Trong mô hình mạng truyền ngược (feedforward neural network) thì mỗi nơ-ron đầu vào (input node) cho một nơ-ron đầu ra trong các lớp tiếp theo Mô hình này gọi là mạng kết nối đầy đủ (fully connected layer) hay mạng toàn vẹn (affine layer)
Còn trong mô hình CNNs thì ngược lại, các layer liên kết được với nhau thông qua cơ chế tích chập (convolution) Lớp tiếp theo là kết quả tích chập từ lớp trước đó, nhờ vậy mà ta có được các kết nỗi cục bộ Như vậy mỗi nơ-ron ở lớp kế tiếp sinh ra từ kết quả của bộ lọc áp đặt lên một vùng ảnh cục bộ của nơ-ron trước
đó
Mỗi một lớp được sử dụng các bộ lọc khác nhau, thông thường có hàng trăm hàng nghìn bộ lọc như vậy, và kết hợp kết quả của chúng lại Ngoài ra có một
số lớp khác như pooling/subsampling dùng để chất lọc lại các thông tin hữu ích
hơn (loại bỏ các thông tin nhiễu)
Feature maps
¬ _ Output
Trang 261.3.3.3.1 Lép tich chap
L6p tich chap (Convolutional) là lớp đầu tiên trích xuất các đặc tính từ hình ảnh Tham số lớp này bao gồm một tập hợp các bộ lọc có thể học được Các bộ lọc đều nhỏ thường có kích cỡ hai chiều đầu tiên khoảng 3x3 hoặc 5x5, và có độ sâu bằng với độ sâu của đầu vào đầu vào Băng cách trượt dần bộ lọc theo chiều ngang
và dọc trên ảnh, chúng thu được một Feature Map chứa các đặc trưng được trích
xuât từ trên hình ảnh đâu vào
Hình 1-8 Lớp tích chập trong CNN 1.3.3.3.2 Lớp pooling
Lớp pooling thường được dùng giữa các lớp tích chập đê 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 giúp giảm việc tính toán trong mô hình Trong quá trình này, quy tắc về stride và padding áp dụng như phép tính tích chập trên anh
Trang 27Sau khi ảnh được truyền qua nhiều lớp tích chập và lớp pooling thì mô hình
đã học được tương đối các đặc điểm của ảnh thì tensor của output của lớp cuối cùng sẽ được là phăng thành véc-tơ và đưa vào một lớp được kết nối như một mang nơ-ron Với lớp fully-connected, các tính năng được kết hợp lại với nhau để tạo ra một mô hình Cuối cùng sử dụng hàm softmax hoặc sigmoid đề phân loại đầu ra
You Only Look Once, hay con gọi tắt là YOLO, là một mô hình thuật toán nhận diện đối tượng (Object Detection) trong lĩnh vực thị giác máy tính (Computer Vision) Thuật toán nhận diện đối tượng được chia làm 2 nhóm chính:
- - Họ các mô hình RCNN (Region-Based Convolutional Neural Networks), dùng để giải quyết các bài toán về định vị và nhận diện vật thể
- _ Họ các mô hình về YOLO (You Only Look Once), dùng để nhận dạng đối tượng, được thiết kế để nhận diện các vật thể real-time
YOLO là một mô hình mạng nơ-ron tích chập (Convolutional Neural Network — CNN) được phát triển cho việc phát hiện, nhận dạng, và phân loại đối tượng YOLO được tạo ra băng sự kết hợp giữa các lớp tích chập (convolutional layers) và các lớp kết nối (connected layers) Trong đó các lớp tích chập sẽ trích xuất ra các đặc điểm của ảnh, còn lớp fully-connected sẽ dự đoán xác suất và tọa
độ của đôi tượng
14
Trang 28Hình 1-11 Mô hình YOLO 1.3.4.1 Cách YOLO hoạt động
Mô hình nhận một hình ảnh làm dữ liệu đầu vào, nhận dạng ảnh đó có đối
tượng nào hay không, sau đó sẽ xác định tọa độ của đối tượng trong bức ảnh Ảnh
đầu vào được chia thành các SxS ô, thường là 3x3, 5x5, 7x7, Việc chia ô này
ảnh hưởng tới việc mô hình phát hiện đối tượng
Final detections
S x S grid on input
Class probability map
Hình 1-12 Phương pháp phát hiện vật thê của YOLO
Với đữ liệu đâu vào là một hình ảnh, đâu ra của mô hình là một ma trận 3 chiều có kích thước SxSx (5xN + MỊ), với số lượng tham số mỗi ô là (5xN + M), trong đó N và M lần lượt là số lượng Box và Class mà mỗi ô cần dự đoán Ví dụ với hình ảnh trên chia thành 7x7 ô, mỗi ô cần dự đoán 2 bounding box và 3 object: con chó, ô tô, xe đạp thì output là 7x7x(5x2 + 3) = 7x7x13, mỗi ô sẽ có 13 tham
số, kết quả trả về (7x7x2 = 98) bounding box Dự đoán của mỗi bounding box gồm
5 thành phần: (x, y, w, h, prediction) với (x, y) là tọa độ âm của bounding box, (w,
15
Trang 29h) lần lượt là chiều rộng và chiều cao cla bounding box, prediction dugc định nghĩa là Pr(ObJect)
1.3.4.2 Cau tric cia YOLO
YOLO gồm nhiều bước đào tạo với nhiều thành phần khác nhau để tạo nên
độ chính xác cao cho mỗi mô hình được huấn luyện Cấu trúc của YOLO bao gồm:
e Ham tinh IOU tính việc mô hình nhận dạng đúng bao nhiêu phần
trăm
e Loss Function tinh độ mất mác của mô hình
e_ Clasifycation loss tính độ mất mác của nhãn
e Localization loss tính độ mất mác ở vị trí gán nhãn
e Confidence loss tính độ tin cậy
e Total loss tinh tong céng mat mac
1.3.4.3 M6 hinh mang cia YOLO
Mô hình mạng YOLO là một mô hình mạng CNN thông thường gồm các lớp tích chập kết hợp với lớp maxpooling, cuối cùng là 2 lớp fully-connected, với hàm kích hoạt cho lớp cuối cùng là một linear activation function và tất cả các lớp khác sẽ sử dụng leaky RELU
16
Trang 301.3.4.4 Kién trúc của YOLO
Hình 1-13 Kiến trúc của YOLO
Kiến trúc của YOLO gồm 4 phan:
e Input 1a qua trình xử lý hình ảnh đầu vào trước khi đưa vào bộ đào tạo
e Backbone (Dense Block & DenseNet, CSP, CSPDarknet53);
và thiết kế một mạng sâu hơn để mở rộng trường tiếp nhận, tăng độ phức tạp của
mô hình, giảm bớt khó khăn khi huấn luyện
17
Trang 31Type Filters Size Output
Convolutional 512 1x1 4x| Convolutional 1024 3x3
18
Trang 321.3.4.4.3 Head
Mạng phát hiện tọa độ hộp giới hạn (x, y, w, h) cũng như điêm tin
cậy cho một lớp Mục tiêu của YOLO là chia hình ảnh thành một lưới gôm nhiêu
ô và sau đó cho mỗi ô để dự đoán xác suất có một đôi tượng băng cách sử dụng các hộp neo Đâu ra là một vectơ có tọa độ hộp giới hạn và các lớp xác suât Cuôi cùng có các kỹ thuật xử lý hậu kỳ được sử dụng như triệt tiêu không cực đại
thiết kế với ưu điểm mạnh là dễ đọc, dễ học và dễ nhớ Python là ngôn ngữ có hình
thức rất sang sua, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình Cầu trúc của Python còn cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiêu
Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động;
do vậy nó tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl Python được phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundatfion quản lý
19
Trang 33Ban đầu, Python được phát triển để chạy trên nền Unix Nhưng rồi theo thời gian, Python dần mở rộng sang mọi hệ điều hành từ MS-DOS đến Mac OS, OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix Mặc dù sự phát triển của Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay vẫn là tác giả chủ yếu của Python Ông giữ vai trò chủ chốt trong việc quyết định hướng phát triển của Python
và các vấn dé liên quan tới thị giác máy OpenCv được thiết kế một cách tối ưu,
sử dụng tối đa mạnh của các dòng chip đa lõi để thực hiện các phép tính toán trong thời gian thực, nghĩa là tốc độ đáp ứng của nó thể đủ nhanh cho các ứng dụng thông thường
OpenCV là thư viện được thiết kế để chạy trên nhiều nền tảng khác nhau (cross-platform), nghĩa là nó có thể chạy trên hệ điều hành Window, Linux, Mac, iOS Việc sử dụng thư viện OpenCV tuân theo các quy định về sử dụng phần mềm mã nguồn mở BSD đo đó bạn có thể sử dụng thư viện này một cách miễn phí
cho các mục đích phi thương mại lẫn thương mại
Dự án về OpenCV được khởi động từ những năm 1999, đến năm 2000 nó được giới thiệu trong một hội nghị của IEEE về các vấn đề trong thị giác máy và nhận dạng, tuy nhiên bản OpenCV 1.0 mãi tới tận năm 2006 mới chính thức được
20
Trang 34công bố và năm 2008 bản 1.1 (prerelease) mới được ra đời Tháng 10 năm 2009, ban OpenCV thế hệ thứ hai ra đời (thường gọi là phiên bản 2.x), phiên bản này có giao diện của C++ (khác với phiên bản trước có giao diện của C) và có nhiều điểm
khác biệt so với phiên bản thứ nhất
Thư viện OpenCV ban đầu được sự hỗ trợ từ Intel, sau đó được hỗ trợ bởi
Willow Garage, một phòng thí nghiệm chuyên nghiên cứu về công nghệ robot Cho đến nay, OpenCV vẫn là thư viện mở, được phát triển bởi nguồn quỹ không lợi nhuận (none-proft foundation) và được sự hưởng ứng rất lớn của cộng đồng
TensorFlow được sử dụng trong một số dự án, chăng hạn như Mô hình phân loại hình ảnh ban đầu Dự án này đã giới thiệu một mạng hiện đại để phân loại và
21
Trang 35phát hiện trong Thử thách nhận dạng hình ảnh quy mô lớn ImageNet năm 2014 Trong dự án này, việc sử dụng tài nguyên máy tính được cải thiện bằng cách điều chỉnh chiều rộng và chiều sâu của mạng trong khi vẫn giữ ngân sách tính toán không đổi Một dự án khác sử dụng khung công tác TensorFlow là DeepSpeech, duoc phat triển bởi Mozilla Kiến trúc là một hệ thống nhận dạng hiện đại được phát triển băng cách sử dụng học sâu end-to-end Don giản hơn là các kiến trúc khác và không cần các thành phần được thiết kế thủ công cho tiếng ồn xung quanh,
độ vang hoặc sự biến đổi của loa Chúng tôi sẽ trình bày các phương pháp và kiêu
dữ liệu được sử dụng quan trọng nhất từ TensorFlow cùng với mô tả ngắn gon cho từng phương pháp đó
Trang 36Google Colaboratory hay còn gọi là Google Colab, là một sản phẩm từ Google Research, nó cho phép chạy các dòng code python thông qua trình duyệt, đặc biệt phù hợp với Data Analysis, Machine Learning và giáo dục Colab không cần yêu cầu cài đặt hay cấu hình máy tính, mọi thứ có thê chạy thông qua trình duyệt, có thể sử dụng tài nguyên máy tính từ CPU tốc độ cao và cả GPUs và cả TPUs đều được cung cấp
1.3.5.5 JavaScript
JavaScript là một ngôn ngữ lập trình của HTML và WEB Nó là nhẹ và được sử dụng phổ biến nhất như là một phần của các trang web, mà sự thi hành của chung cho phép Client-Side script tương tác với người sử dụng và tạo các trang web động Nó là một ngôn ngữ chương trình thông dịch với các khả năng hướng
HTML: Giúp bạn thêm nội dung cho trang web
CSS: Định dạng thiết kế, bố cục, phong cách, canh lề của trang web
JavaScript: Cải thiện cách hoạt động của trang web
JavaScript có thể học nhanh và dé dàng áp dụng cho nhiều mục đích khác nhau, từ việc cải thiện tính năng của website đến việc chạy game và tạo phần mềm nền web Hơn nữa, có hàng ngàn mẫu template JavaScript và ứng dụng ngoài kia, nhờ vào sự cống hiến của cộng đồng, đặc biệt là Github
23
Trang 371.4 Khái niệm cơ bản trong xử lý ảnh
1.41 Mức xám của ảnh
Mức xám là kết quả sự mã hóa tương ứng một cường độ sáng của mỗi điểm
ảnh với một giá trị số - kết quả của quá trình lượng hóa được gán bằng giá trị số tại điểm đó Dưới đây chúng ta xem xét một số khái niệm và thuật ngữ thường dùng trong xử lý ảnh
a) Định nghĩa: Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị số tại điểm đó
b) Cac thang gia tri mức xám thông thường: 1ó, 32, 64, 128, 256 (Mức
256 là mức phố dụng Lý do: từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức xám: Mức xám dùng 1 byte biểu diễn: 28 = 256 mức, tức là từ 0 đến 255)
1.42 Khử nhiễu
Có hai loại nhiễu cơ bản trong quá trình thu nhận ảnh:
- Nhiễu hệ thống: là nhiễu có quy luật có thê khử bằng các phép biến đổi
- Nhiễu ngẫu nhiên: vết bân không rõ nguyên nhân, cách khắc phục bằng các phép lọc
1.43 Nhận dạng ảnh
Nhận dạng ảnh là quá trình liên quan đến mô tả đối tượng mà người ta muốn đặc tả nó Thường đi sau quá trình trích chọn các đặc tính của đối tượng
Có hai kiểu mô tả đối tượng:
- Mô tả theo tham số (nhận dạng theo tham số)
- Mô tả theo cấu trúc (nhận dạng theo cấu trúc)
Ứng dụng dung đề nhận dạng đối tượng, mặt, vân tay, văn bản
Nhận dạng chữ in hoặc đánh máy phục vụ cho việc tự động hoá việc đọc tài
liệu, tăng nhanh tốc độ và chất lượng thu nhật thông tin từ máy tính
Nhận dạng chữ viết tay (với một số ràng buộc)
24
Trang 38Ngoài ra, mạng nơ-ron là một kỹ thuật mới đang được áp dụng vào nhận dạng và cho kết quả khả quan
Tổng kết chương 1 Như vậy, trong chương 1 luận văn đã thực hiện một số nội dung cơ bản như sau: phần đầu tiên luận văn đã giới thiệu tổng quan về chủ dé phát hiện và nhận dạng biển báo giao thông, có thê nói đây là một vẫn đề nóng của tình hình giao thông trên toàn lãnh thổ Việt Nam hiện nay Bởi vì tình trạng tai nạn giao thông ngày càng tăng đáng kể, đặc biệt điều kiện thời tiết tại Việt Nam cũng thay đổi thường xuyên, đột ngột ngây ra những điểm mờ cản trở người tham gia phương tiện giao thông tại Việt Nam Trong phần tiếp theo của chương 1 luận văn đã trình bày các mô hình nhận dạng biển báo giao thông đã được công bố áp dụng phổ biến trên các trục đường giao thông tại Việt Nam Phan thir 3 trong chương Ì của luận văn đã trình bày các công nghệ đã và đang được áp dụng trong lĩnh vực trí tuệ nhân tạo ví dụ như: Khái niệm về học sâu (Deep Learning), Mạng mạng nơ ron tích chập và mô hình YOLO phát hiện các đối tượng Phần cuối cùng của luận văn đã trình bày các công nghệ và công cụ hỗ trợ lập trình để mô phỏng giải quyết vẫn đề như: Ngôn ngữ Python, OpenCV, thư viện Tensorflow, Google Colab, JavaScript; các khải niệm trong xử lý ảnh cũng được trình bày ở chương ngày Trong phân tiếp theo của luận văn chương thứ 2 sẽ trình bày kỹ thuật phân tích và thiết kế hệ thống nhận dạng đối tượng dựa trên mô hình YOLOv4
25
Trang 39Chuong 2
PHAN TICH VA THIET KE HE THONG NHAN DANG DOI TUQNG
DUA TREN MO HiNH YOLOv4
2.1 M6 ta bài toán
Thoi gian gan đây, tại Việt Nam đặc biệt là các đô thị lớn lưu lượng xe lưu thông trên đường ngày càng đông đúc, kèm theo đó là các vụ tai nạn giao thông cũng không dừng gia tăng Theo đánh giá của uỷ ban an toàn giao thông quốc gia tai nạn giao thông 4 tháng đầu năm 2022 (tính từ ngày 15/12/2021 đến 14/4/2022), toàn quốc xảy ra 3.808 vụ tai nạn giao thông, làm chết 2.276 người, bị thương
2.431 người So với 4 tháng đầu năm 2021, số vụ TNGT giảm 694 vụ (-15,42%),
tăng 7 người người chết (0,31%), giảm 801 người bị thương (-24,78%) Phần lớn
các vụ tai nạn diễn ra trong tình trạng người dân say xin, đặc biệt những vụ tai nạn xảy ra trong điều kiện thời tiết không đảm bảo Xuất phát từ những đặc điểm nêu trên luận văn được nghiên cứu nhằm mục đích đảm bảo an toàn cho người lái xe
và người đi đường trước các vấn đề về thời tiết xấu hay khó khăn về tầm nhìn Xử
lý ảnh để nhận diện biển báo giao thông đã được nghiên cứu và áp dụng từ rất lâu, tuy nhiên việc thực thi triển khai thực tế còn ít và chưa thực sự hiệu quả ở Việt Nam cũng như trên thế giới
Cùng với sự phát triển nhanh chóng của các loại máy móc hiện đại như máy ảnh số, máy quay phim kỹ thuật số, máy vi tính, thì lượng thông tin con người thu được dưới dạng hình ảnh là rất dễ dàng Xử lý ảnh là một trong những lĩnh vực ngày càng được phô biến trong đời sống xã hội Các thiết bị ghi hình có thê thấy
và hiểu được thế giới xung quanh được xây dựng và phát triển ngày càng nhiều bởi sự tiễn bộ trong các thuật toán phân tích, chọn lọc hình ảnh
Dự báo các điểm mờ đang là một yếu tố giao thông quan trọng làm ảnh hưởng đến nhiều lĩnh vực như: ùn tắc giao thông, an toàn cho người đi đường, ôn định an sinh đời sống xã hội hay hạnh phúc của người dân Nhiều mô hình nhận dạng đã được áp dụng đối với bài toán nhận dạng điểm mờ, biển báo và bài toán dự báo như: mô hình mạng nơ-ron nhân tạo, mô hình toán máy vector hỗ trợ (SVM), mô hình suy luận mờ thích nghi và mô hình mạng nơ-ron tích chập (CNN)
Đối với bài toán phân loại biển báo giao thông, tức là nhận diện bức ảnh này thuộc loại biển báo gì Đối với mỗi ngõ vào, ta phân loại vào 1 chủ thể nhất định,
có thể nói rằng đây là lớp các bài toán phân lớp (Classification) hình ảnh từ tập dữ
liệu đầu vào, sau đó tiễn hành huấn luyện, tiếp theo nhận dạng các đỗi tượng được
26