Sinh viên thực hiện: PHẠM NGỌC VIỆT Lớp: K13-CNTT-KHDL - Tính cấp thiết của đề tài: Đây là một bài toán cấp thiết trong thời đại hiện nay, khi lưu lượng giao thông trên đường phố ngày c
Trang 1Sinh viên: PHẠM NGỌC VIỆT
Mã số sinh viên: 19010042 Khóa: 13
Ngành: Công nghệ thông tin Hệ: Chính quy
Giảng viên hướng dẫn: TS Lương Văn Thiện
Hà Nội – Năm 2023
Copies for internal use only in Phenikaa University
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC PHENIKAA
Sinh viên: PHẠM NGỌC VIỆT
Mã số sinh viên: 19010042 Khóa: 13
Ngành: Công nghệ thông tin Hệ: Chính quy
Giảng viên hướng dẫn: TS Lương Văn Thiện
Hà Nội – Năm 2023
Copies for internal use only in Phenikaa University
Trang 3NHẬN XÉT ĐỒ ÁN/KHÓA LUẬN TỐT NGHIỆP
CỦA GIẢNG VIÊN HƯỚNG DẪN
Giảng viên hướng dẫn: TS Lương Văn Thiện Bộ môn: Khoa học máy tính
Tên đề tài: Xây dựng ứng dụng trí tuệ nhân tạo nhận diện và đếm phương tiện giao
Trình bày rõ ràng phần mô tả dự án, phương pháp nghiên cứu, và kết quả
được thể hiện chi tiết Bảng biểu, hình ảnh minh họa và đồ thị được sử dụng một
cách hợp lý để trình bày thông tin
- Tính cấp thiết của đề tài:
Đây là một bài toán cấp thiết trong thời đại hiện nay, khi lưu lượng giao
thông trên đường phố ngày càng tăng và quản lý an toàn giao thông là một vấn đề
quan trọng, các cách xác định lưu lượng giao thông và phân loại đang được xử lý
bằng tay tiêu tốn rất nhiều nguồn lực và nhân lực Việc ứng dụng trí tuệ nhân tạo
để giải quyết vấn đề này có tiềm năng ứng dụng rộng rãi trong thực tế
- Mục tiêu của đề tài:
Mục tiêu của đề tài là xây dựng phát triển ứng dụng trí tuệ nhân tạo nhận
diện và đếm phương tiện giao thông sử dụng YOLOv8x và ByteTrack, từ đó kết
hợp thuật toán đếm để phân loại và xác định lưu lượng từng loại xe đi qua
- Nội dung của đề tài:
Bao gồm việc thu thập dữ liệu, phân tích xử lý dữ liệu, sử dụng YOLOv8x
và ByteTrack đào tạo mô hình, viết xác định thuật toán đếm phương tiện, xây dựng
ứng dụng và đánh giá kết quả
- Tài liệu tham khảo:
Báo cáo đã trình bày danh sách tài liệu tham khảo một cách đầy đủ và chính
xác, bao gồm các tài liệu liên quan đến trí tuệ nhân tạo, nhận diện đối tượng và
theo dõi phương tiện
Copies for internal use only in Phenikaa University
Trang 4Mô tả phương pháp nghiên cứu rõ ràng, về dữ liệu đã được phân tích kỹ càng chia thành nhiều class Xác định được mô hình sử dụng là YOLOv8x kết hợp với ByteTrack Mô tả thuật toán đếm xe chi tiết có hình ảnh miêu tả cụ thể, đã có so sánh được kết quả thực tế và làm rõ được tầm quan trọng của dữ liệu qua việc so sánh khi tập dữ liệu thay đổi và vẫn sử dụng YOLOv8x Và thử nghiệm thêm nhiều
mô hình nhỏ hơn và kiểm tra được cả độ chính xác và tốc độ xử lý của từng mô hình
- Tính sáng tạo và ứng dụng:
Mặc dù việc nhận diện và đếm các phương tiện giao thông đã được nhiều người nhiều nơi trên thế giới thực hiện, nhưng việc nghiên cứu chia thành nhiều class kỹ hơn rõ ràng hơn, chính xác hơn sẽ hỗ trợ rất nhiều trong việc cải thiện quản lý giao thông thông minh và đảm bảo an ninh giao thông
Ứng dụng để giải quyết được rất nhiều vấn đề về phân luồng điều tiết giao thông, cung cấp thông tin dữ liệu tạo cơ sở để có thể cải thiện cơ sở hạ tầng,
II Nhận xét tinh thần và thái độ làm việc của sinh viên:
Việc thu thập, tạo dữ liệu cho dự án để training mô hình là một phần rất quan trọng ảnh hưởng rất lớn đến độ chính xác của mô hình Sinh viên đã thực hiện nghiêm túc việc làm đồ án với tinh thần trách nghiệm cao Sinh viên cho thấy sự
tỷ mỉ và kiên nhẫn trong việc thu thập và gán nhãn dữ liệu, đã hoàn thành và thực hiện đủ số lượng dữ liệu cần thiết để training mô hình
Sinh viên có thái độ tích cực trong khi làm đồ án, luôn sẵn sàng làm và học hỏi thêm và thử nghiệm phương pháp và kiểm tra mô hình Điều này giúp cải thiện
mô hình và đảm bảo rằng nó đáp ứng được yêu cầu đặt ra
III Kết quả đạt được:
Hoàn thành được mục tiêu đặt ra đã xây dựng được một website demo đơn giản sản phẩm của mình Kết quả thu được Tốt đạt độ chính xác lên đến 90 % so với kết quả thực tế
IV Kết luận: Đồng ý cho bảo vệ: Không đồng ý cho bảo vệ:
Hà Nội, ngày … tháng … năm 20…
GIẢNG VIÊN HƯỚNG DẪN
Trang 5NHẬN XÉT ĐỒ ÁN/KHÓA LUẬN TỐT NGHIỆP
CỦA GIẢNG VIÊN PHẢN BIỆN
Giảng viên phản biện:
Bộ môn:
Tên đề tài:
Sinh viên thực hiện: PHẠM NGỌC VIỆT Lớp: K13-CNTT-KHDL
Giảng viên hướng dẫn: TS Lương Văn Thiện
Trang 6
III Ưu nhược điểm:
IV Kết luận: Đồng ý cho bảo vệ: Không đồng ý cho bảo vệ:
Trang 7LỜI CAM ĐOAN
Tên tôi là: PHẠM NGỌC VIỆT
Ngành: Công nghệ thông tin
Tôi đã thực hiện đồ án/khóa luận tốt nghiệp với đề tài:
Xây dựng ứng dụng trí tuệ nhân tạo nhận diện và đếm phương tiện giao thông
Tôi xin cam đoan đây là đề tài nghiên cứu của riêng tôi và được sự hướng dẫn của: TS Lương Văn Thiện
Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa được các tác giả khác công bố dưới bất kỳ hình thức nào Nếu phát hiện có bất kỳ hình thức gian lận nào tôi xin hoàn toàn chịu trách nhiệm trước pháp luật
GIẢNG VIÊN HƯỚNG DẪN
Trang 8Lời cảm ơn
Trong suốt quá trình học tập và làm đồ án tốt nghiệp em luôn được sự quan tâm, giúp đỡ, hướng dẫn tận tình của các thầy, cô giảng viên trong khoa Công nghệ thông tin cùng sự giúp đỡ của bạn bè và đồng nghiệp
Lời đầu tiên em xin được bày tỏ lòng biết ơn sâu sắc đến Ban giám hiệu Trường Đại học Phenikaa, Ban chủ nhiệm khoa Công nghệ thông tin đã tận tình giúp đỡ em trong suốt thời gian học tập tại trường
Trong quá trình hoàn thành đồ án tốt nghiệp của mình, ngoài những cố gắng của bản thân, em sẽ không thể hoàn thành tốt được công việc của mình nếu không
có sự chỉ bảo và hướng dẫn tận tình của TS Lương Văn Thiện Em xin được gửi lời cảm ơn chân thành sâu sắc nhất tới thầy, người đã trực tiếp giúp đỡ và hướng dẫn em hoàn thành đồ án tốt nghiệp
Em cũng xin bày tỏ lòng biết ơn sâu sắc đến gia đình, người thân, bạn bè và đồng nghiệp đã giúp đỡ động viên em hoàn thành đồ án tốt nghiệp này
Em xin trân trọng cảm ơn!
Copies for internal use only in Phenikaa University
Trang 9Mục Lục
Danh sách hình vẽ v
Danh sách bảng vii
Danh sách tên viết tắt viii
MỞ ĐẦU 1
CHƯƠNG 1: TỔNG QUAN CƠ SỞ LÝ THUYẾT 3
1.1 Giới thiệu tổng quan 3
1.2 Nền tảng lý thuyết 4
1.2.1 Trí tuệ nhân tạo 4
1.2.2 Ứng Dụng Của Trí Tuệ Nhân Tạo 4
1.2.3 Deep Learning 6
1.2.4 Object Detection 7
1.2.5 Object Tracking 9
1.2.6 Bytetrack 11
1.2.7 YOLO 13
1.2.8 DATA 18
1.2.9 FLASK - API 19
CHƯƠNG 2: PHÂN TÍCH BÀI TOÁN NHẬN DIỆN VÀ ĐẾM PHƯƠNG TIỆN GIAO THÔNG 21
2.1 Thực trạng hiện nay 21
2.2 Tổng quan về bài toán 22
2.3 Phân tích bài toán nhận diện phương tiện 24
2.4 Phân tích bài toán đếm phương tiện 30
CHƯƠNG 3: THỰC NGHIỆM, KẾT QUẢ VÀ PHÂN TÍCH 32
3.1 Giới thiệu bài toán thực nghiệm 32
3.1.1 Phát biểu bài toán 32
3.1.2 Thuật toán và hướng giải quyết 40
3.1.3 Ngôn ngữ lập trình và các thư viện cần thiết 49
3.2 Dữ liệu thực nghiệm 59
3.2.1 Thu thập dữ liệu 59
3.2.2 Tiền xử lý dữ liệu 59
3.2.3 Gán nhãn dữ liệu sử dụng LabelImg 61 Copies for internal use only in Phenikaa University
Trang 103.3 Kết quả và phân tích thực nghiệm 66
3.3.1 Với bài toán Nhận diện phương tiện giao thông 66
3.3.2 Với bài toán Đếm phương tiện giao thông 76
3.3.3 Demo trang web 79
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 82
4.1. Kết luận 82
4.2 Hướng phát triển 83
TÀI LIỆU THAM KHẢO 84
Copies for internal use only in Phenikaa University
Trang 11Danh sách hình vẽ
Hình 1.1: Deep Learning 6
Hình 1.2: Single Object Tracking 10
Hình 1.3: Multiple Object Tracking 10
Hình 1.4: ByteTrack 22
Hình 1.5: Khái quát về YOLO 14
Hình 1.6: Kiến trúc output của mô hình YOLO 15
Hình 1.7: Xác định anchor box cho một vật thể 16
Hình 3.1: loại xe car 32
Hình 3.2: loại xe TAXI 33
Hình 3.3: xe tải 2 trục nhỏ (LGV) 34
Hình 3.4: xe van (LGV) 34
Hình 3.5: xe bán tải (LGV) 35
Hình 3.6: Xe HGV (HGV) 35
Hình 3.7: xe tải nặng 3-4 trục (HGV) 36
Hình 3.8: xe VHGV 36
Hình 3.9: xe khách từ 13 đến dưới 30 chỗ (Coach) 37
Hình 3.10: xe buyt công cộng (BUS) 37
Hình 3.11: xe máy 38
Hình 3.12: xe đạp 38
Hình 3.13: Thuật toán toán đếm đường một/hai chiều 44
Hình 3.14: Chiều của ảnh 45
Hình 3.15: Thuật toán đếm tại nút giao 48
Hình 3.16: Thời gian YOLO phát triển ra mắt các phiên bản 52
Hình 3.17: So sánh số lượng tham số đầu vào (Parameters) và Tốc độ xử lý ảnh 53
Hình 3.18: Kiến trúc mô hình YOLOv8 54
Hình 3.19: các video dữ liệu gốc 60
Hình 3.20: Openshot Video Editor 60
Hình 3.21: ảnh sau khi đã được cắt 61
Hình 3.22: Download LabelImg.zip 63
Hình 3.23: Download Anaconda 63
Hình 3.24: Chạy LabelImg 64
Hình 3.25: Giao diện LabelImg 64
Hình 3.26: Thực hiện gán nhãn 64
Hình 3.27: Thư mục chứa ảnh và label của từng ảnh 65 Copies for internal use only in Phenikaa University
Trang 12Hình 3.28: Confusion Matrix yolov8x 120 epoch 70 Hình 3.29: Một số hình ảnh cụ thể kết quả trả về khi chạy với mô hình mới 75 Hình 3.30: Video thực tế ở Việt Nam khi detect với mô hình yolov8x với
150 epoch 76
Copies for internal use only in Phenikaa University
Trang 13Bảng 3.7: Biểu đồ thể hiện mối tương quan giữa số epoch và giá trị Loss, mAP tương ứng của mô hình yolov8x sau khi train với 120 epoch 70 Bảng 3.8: Biểu đồ Tổng hợp số lượng Dữ liệu thêm và chỉnh sửa và chia
Bảng 3.12: Bảng so sánh kết quả đếm tay và kết quả thực nghiệm sence ở
Copies for internal use only in Phenikaa University
Trang 14Danh sách tên viết tắt
Networks
Copies for internal use only in Phenikaa University
Trang 15MỞ ĐẦU
Vấn đề ùn tắc giao thông hiện nay ở các đô thị ngày càng trở nên phổ biến, gây bức xúc cho nhiều người dân Tình trạng vẫn xảy ra hàng ngày trở thành bài toán khó giải quyết, nguyên nhân chủ yếu là do số lượng xe ngày càng tăng, cơ sở
hạ tầng yếu kém, xử lý chưa tốt đối với phương tiện công cộng và do việc phân luồng không hợp lý
Vấn đề hiện nay về nhận diện và đếm phương tiện là sự phát triển và ứng dụng của công nghệ nhận diện hình ảnh và máy học trong việc đếm và phân loại các phương tiện di chuyển trên đường Đây là một lĩnh vực quan trọng trong lĩnh vực giao thông và an ninh, có thể áp dụng trong nhiều trường hợp, bao gồm:
Giao thông đô thị: Nhận diện và đếm phương tiện có thể giúp quản lý giao
thông đô thị hiệu quả hơn bằng cách cung cấp thông tin về lưu lượng xe cộ, thời gian tắc nghẽn, tốc độ trung bình và các thông số khác Thông tin này có thể được
sử dụng để điều phối giao thông, tăng cường an toàn đường bộ và cải thiện chất lượng cuộc sống của người dân
Theo dõi và quản lý giao thông công cộng: Nhận diện phương tiện trong
các hệ thống giao thông công cộng như xe buýt, xe điện, và xe đạp có thể cung cấp thông tin quan trọng về việc sử dụng và tải trọng của các phương tiện này Điều này có thể giúp cải thiện lịch trình, dự đoán và tránh tắc nghẽn, và nâng cao trải nghiệm đi lại của hành khách
An ninh và giám sát: Nhận diện và đếm phương tiện cũng có thể được sử
dụng để mục đích an ninh và giám sát Ví dụ, trong các trạm kiểm soát ra vào khu vực hoặc sân bay, việc phân loại và đếm phương tiện có thể giúp xác định các hành vi đáng ngờ và giúp đảm bảo an toàn cho khu vực quan tâm
Nghiên cứu và phân tích giao thông: Dữ liệu nhận diện và đếm phương
tiện có thể cung cấp thông tin quan trọng để nghiên cứu và phân tích giao thông Chúng có thể giúp xác định xu hướng di chuyển, phân tích tải trọng đường, và đưa
ra các dự đoán về nhu cầu vận chuyển trong tương lai Thông tin này có thể hỗ trợ quy hoạch đô thị và xây dựng hạ tầng giao thông hiệu quả
Copies for internal use only in Phenikaa University
Trang 16Trước những ảnh hưởng nghiêm trọng của tắc nghẽn giao thông, ngày càng nhiều các biện pháp được nghiên cứu và áp dụng, việc ứng dụng khoa học máy tính càng được chú ý nhiều hơn Các nghiên cứu đã sử dụng trí tuệ nhân tạo (AI)
và máy học (Machine Learning) để thiết kế hệ thống thị giác máy tính thu thập và
xử lý dữ liệu nhận được từ các camera giao thông giúp theo dõi và thống kê lưu lượng của từng loại xe, từ đó tìm ra phương hướng tránh xung đột, ùn tắc tại các nút giao lộ
Copies for internal use only in Phenikaa University
Trang 17CHƯƠNG 1: TỔNG QUAN CƠ SỞ LÝ THUYẾT
1.1 Giới thiệu tổng quan
Trong một thế giới ngày càng đông đúc và phức tạp, việc quản lý và điều tiết giao thông đang trở nên ngày càng quan trọng Tình hình giao thông kém hiệu quả không chỉ gây ra sự lãng phí thời gian của người tham gia giao thông mà còn tạo ra những tác động tiêu cực đến môi trường và an toàn đường đi Đây là bài toán thách thức mà ứng dụng AI có thể giải quyết
Mục tiêu chính của dự án này là xây dựng một website ứng dụng AI có khả năng nhận diện và đếm phương tiện giao thông Điều này có thể giúp tăng cường khả năng quản lý giao thông, dự đoán tình hình lưu lượng giao thông, và cải thiện
an toàn đường đi Đồng thời, dự án cũng nhằm tạo ra một công cụ hiệu quả cho việc giám sát và thu thập dữ liệu liên quan đến phương tiện giao thông, có thể ứng dụng trong nhiều lĩnh vực, từ quản lý đô thị đến nghiên cứu vận tải
Phạm vi của dự án bao gồm việc phát triển một website có khả năng nhận diện và đếm các loại phương tiện giao thông như ô tô, xe máy, xe buýt, xe tải, trên các tuyến đường phổ biến Sản phẩm này sẽ sử dụng các kỹ thuật và thuật toán AI như học sâu (deep learning) để xử lý hình ảnh và dữ liệu video
Để thực hiện dự án, em sẽ sử dụng ngôn ngữ lập trình Python và các thư viện phổ biến trong lĩnh vực trí tuệ nhân tạo như TensorFlow và OpenCV Ngoài
ra, dự án sẽ được xây dựng giao diện thực thi trên website nên sẽ có sử dụng thêm một vài ngôn ngữ như HTML, CSS, JS,
Copies for internal use only in Phenikaa University
Trang 181.2 Nền tảng lý thuyết
1.2.1 Trí tuệ nhân tạo (AI)
Trí tuệ nhân tạo hay AI [1] (tiếng Anh: artificial intelligence), đôi khi được gọi là trí thông minh nhân tạo, là trí thông minh được thể hiện bằng máy móc, trái ngược với trí thông minh tự nhiên của con người Thông thường, thuật ngữ “trí tuệ nhân tạo” thường được sử dụng để mô tả các máy chủ móc (hoặc máy tính) có khả năng bắt chước các chức năng “nhận thức” mà con người thường phải liên kết với tâm trí, như “học tập” và “giải quyết vấn đề”
1.2.2 Ứng Dụng Của Trí Tuệ Nhân Tạo
AI đã và đang có một tầm ảnh hưởng lớn đối với nhiều khía cạnh của cuộc sống Dưới đây là một số ứng dụng quan trọng của AI:
● Ô tô tự hành: AI được sử dụng để phát triển công nghệ ô tô tự hành, giúp giảm tai nạn giao thông và cải thiện việc đi lại
● Chăm sóc sức khỏe: AI có thể giúp chẩn đoán bệnh, phát triển thuốc mới
và tối ưu hóa quản lý bệnh viện
● Tài chính và giao dịch: AI được sử dụng để dự đoán thị trường tài chính, quản lý rủi ro và thậm chí giao dịch tài chính tự động
● Robotics: Trong ngành công nghiệp, AI đã giúp tạo ra các robot thông minh
có khả năng thực hiện nhiều nhiệm vụ khác nhau, từ sản xuất đến dịch vụ khách hàng
Nhận diện đối tượng trong ảnh
Nhận diện ảnh là quá trình sử dụng máy tính và các thuật toán để nhận biết và phân loại các đối tượng, biểu đồ hoặc mẫu trong hình ảnh hoặc video Quá trình này thường bao gồm các bước sau:
Thu thập dữ liệu: Để xây dựng các mô hình nhận diện ảnh, cần phải thu
thập một lượng lớn dữ liệu hình ảnh chứa các đối tượng hoặc mẫu cần nhận diện
Copies for internal use only in Phenikaa University
Trang 19Tiền xử lý: Dữ liệu hình ảnh thường cần được tiền xử lý để loại bỏ nhiễu
và chuẩn hóa chúng trước khi đưa vào mô hình
Trích xuất đặc trưng: Máy tính cần phải học cách trích xuất những đặc
trưng quan trọng từ hình ảnh, chẳng hạn như cạnh, màu sắc, hình dạng, và text
Huấn luyện mô hình: Sử dụng các mẫu dữ liệu đã được gán nhãn, máy
tính sẽ học cách nhận diện các đối tượng hoặc mẫu này bằng cách xây dựng một mô hình học máy hoặc mạng nơ-ron sâu (deep learning)
Đánh giá và tinh chỉnh: Mô hình cần được kiểm tra trên dữ liệu mới để
đảm bảo tính hiệu quả và độ chính xác Nếu cần, mô hình sẽ được tinh
chỉnh thêm
Copies for internal use only in Phenikaa University
Trang 201.2.3 Deep Learning
Deep Learning [3] (học sâu) có thể được xem là một lĩnh vực con của Machine
Learning (học máy) – ở đó các máy tính sẽ học và cải thiện chính nó thông qua
các thuật toán Deep Learning được xây dựng dựa trên các khái niệm phức tạp hơn
rất nhiều, chủ yếu hoạt động với các mạng nơ-ron nhân tạo để bắt chước khả năng
tư duy và suy nghĩ của bộ não con người
Deep Learning [3] là một phương pháp của Machine Learning Mạng
nơ-ron nhân tạo tnơ-rong Deep Learning được xây dựng để mô phỏng khả năng tư duy
của bộ não con người
Một mạng nơ-ron bao gồm nhiều lớp (layer) khác nhau, số lượng layer càng
nhiều thì mạng sẽ càng “sâu” Trong mỗi layer là các nút mạng (node) và được
liên kết với những lớp liền kề khác Mỗi kết nối giữa các node sẽ có một trọng số
tương ứng, trọng số càng cao thì ảnh hưởng của kết nối này đến mạng nơ-ron càng
lớn
Mỗi nơ-ron sẽ có một hàm kích hoạt, về cơ bản thì có nhiệm vụ “chuẩn hoá”
đầu ra từ nơ-ron này Dữ liệu được người dùng đưa vào mạng nơ-ron sẽ đi qua tất
cả layer và trả về kết quả ở layer cuối cùng, gọi là output layer
Hình 1.1: Deep Learning
Copies for internal use only in Phenikaa University
Trang 211.2.4 Object Detection
Một trong những lĩnh vực quan trọng của Trí tuệ nhân tạo [1] (Artificial Intelligence) là thị giác máy (Computer Vision) Computer Vision là một lĩnh vực bao gồm các phương pháp thu nhận, xử lý ảnh kỹ thuật số, phân tích và nhận dạng các hình ảnh, phát hiện các đối tượng, tạo ảnh, siêu phân giải hình ảnh và nhiều hơn vậy Object Detection có lẽ là khía cạnh sâu sắc nhất của thị giác máy do số lần sử dụng trong thực tế
Object Detection đề cập đến khả năng của hệ thống máy tính và phần mềm để định vị các đối tượng trong một hình ảnh và xác định từng đối tượng Object Detection đã được sử dụng rộng rãi để phát hiện khuôn mặt, phát hiện xe, đếm số người đi bộ, hệ thống bảo mật và xe không người lái Có nhiều cách để nhận diện đối tượng có thể được sử dụng cũng như trong nhiều lĩnh vực thực hành Giống như mọi công nghệ khác, một loạt các ứng dụng sáng tạo và tuyệt vời của Object
Detection sẽ đến từ các lập trình viên và các nhà phát triển phần mềm
Bắt đầu sử dụng các phương pháp nhận diện đối tượng hiện đại trong các ứng dụng và hệ thống, cũng như xây dựng các ứng dụng mới dựa trên các phương pháp này Việc triển nhận diện đối tượng sớm liên quan đến việc sử dụng các thuật toán cổ điển, giống như các thuật toán được hỗ trợ trong OpenCV, thư viện computer vision phổ biến Tuy nhiên, các thuật toán cổ điển này không thể đạt được hiệu suất đủ để làm việc trong các điều kiện khác nhau
Việc áp dụng đột phát và nhanh chóng của deep learning vào năm 2012 đã đưa vào sự tồn tại các thuật toán và phương pháp phát hiện đối tượng như R-CNN, Fast-RCNN, Faster-RCNN, RetinaNet, SSD và YOLO Sử dụng các phương pháp
và thuật toán này, dựa trên deep learning và cũng dựa trên việc học máy đòi hỏi rất nhiều kiến thức về toán học và việc học sâu Có hàng triệu chuyên gia lập trình
và các nhà phát triển phần mềm muốn tích hợp và tạo ra các sản phẩm mới sử dụng object detection Nhưng công nghệ này xa tầm tay của họ và phức tạp để hiểu và sử dụng thực tế của nó
Copies for internal use only in Phenikaa University
Trang 22● Các mô hình object detection dựa trên Region-Based Convolutional Neural Network (R-CNNs) gồm các lớp mô hình: R-CNN, Fast R-CNN và Faster R- CNN là những mô hình sơ khai,
có tốc độ xử lý chậm Thuật toán dựa trên 2 phần xử lý riêng biệt
là phát hiện các region proposal và phân loại hình ảnh
● Lớp các mô hình YOLO có tốc độ thời gian xử lý thực Là công nghệ state-of-art nhất hiện nay có tốc độ xử lý realtime, phát hiện được lên tới 9000 loại đối tượng
Copies for internal use only in Phenikaa University
Trang 231.2.5 Object Tracking
Object Tracking [2][5] là bài toán theo dõi một hoặc nhiều đối tượng chuyển động theo thời gian trong một video Hiểu một cách đơn giản nhất, nó là bài toán ở mức độ cao hơn so với object detection, khi đối tượng được xử lý không đơn giản là một hình ảnh mà là một chuỗi các hình ảnh, video
Object Tracking không phải cứ tách video ra thành các frame rồi áp dụng object detection với từng frame là đủ mà việc tracking bên cạnh việc xác định các bounding box, còn quan tâm đến khá nhiều yếu tố hoặc nhiễu khác nhau:
● ID của mỗi đối tượng cần đảm bảo luôn không đổi qua các frame
● Khi đối tượng bị che khuất hoặc biến mất sau 1 vài frame, hệ thống vẫn cần đảm bảo nhận diện lại được đúng ID khi đối tượng xuất hiện
● Các vấn đề liên quan đến tốc độ xử lí để đảm bảo realtime và tính ứng dụng cao
Object Tracking có thể chia thành 2 cách tiếp cận chính:
Single Object Tracking (SOT): Cái tên nói lên tất cả, Single Object Tracking
tập trung vào việc theo dõi một đối tượng duy nhất trong toàn bộ video Và tất nhiên,
để biết được cần theo dõi đối tượng nào, việc cung cấp một bounding box từ ban đầu
là việc bắt buộc phải có
Copies for internal use only in Phenikaa University
Trang 24Hình 1.2: Single Object Tracking
Multiple Object Tracking (MOT): Multiple Object Tracking hướng tới các
ứng dụng có tính mở rộng cao hơn Bài toán cố gắng phát hiện đồng thời theo dõi tất
cả các đối tượng trong tầm nhìn, kể cả các đối tượng mới xuất hiện trong video Vì điều này, MOT thường là những bài toán khó hơn SOT và nhận được rất nhiều sự quan tâm của giới nghiên cứu
Hình 1.3: Multiple Object Tracking
Copies for internal use only in Phenikaa University
Trang 25Một phương pháp Multiple Object Tracking cố gắng hướng đến việc theo dõi
tất cả các đối tượng xuất hiện trong khung hình bằng việc phát hiện và gắn định danh cho từng đối tượng Bên cạnh đó, các ID đã được gán cho 1 đối tượng cần đảm bảo nhất quán qua từng frame Những vấn đề đáng quan tâm ở đây:
Phát hiện "tất cả" các đối tượng: Đây vẫn luôn là vấn đề được quan tâm nhất
trong object detection và vẫn không ngừng có những phương pháp, những thuật toán cải thiện vấn đề này Trong object tracking, đặc biệt là detection based tracking, việc đảm bảo tính chính xác của quá trình detect cũng vô cùng quan trọng
● Đối tượng bị che khuất 1 phần hoặc toàn bộ: Khi 1 ID được gán cho 1 đối
tượng, ID cần đảm bảo nhất quán trong suốt video, tuy nhiên, khi một đối tượng
bị che khuất, nếu chỉ dựa riêng vào object detection là không đủ để giải quyết vấn đề này
● Đối tượng ra khỏi phạm vi của khung hình và sau đó xuất hiện lại: Nói về
chỉ số ID switches Cần giải quyết tốt vấn đề nhận dạng lại đối tượng kể cả việc che khuất hay biến mất để giảm số lượng ID switches xuống mức thấp nhất có thể
● Các đối tượng có quỹ đạo chuyển động giao nhau hoặc chồng chéo lên nhau: Việc các đối tượng có quỹ đạo chồng chéo lên nhau cũng có thể dẫn đến
hậu quả gán nhầm ID cho các đối tượng
1.2.6 Bytetrack
ByteTrack [11] là một phương pháp tiên tiến trong lĩnh vực nhận dạng và theo dõi đối tượng trên video Được phát triển bởi nhóm nghiên cứu của ByteDance, ByteTrack sử dụng kỹ thuật theo dõi điểm đặc trưng (feature point tracking) và mạng nơ-ron YOLO [6] (You Only Look Once) hoặc Detectron2 để đạt được hiệu suất cao trong việc nhận dạng và theo dõi các đối tượng trong video
Thuật toán ByteTrack bắt đầu bằng việc sử dụng mạng nơ-ron YOLO như một
bộ phân loại và nhận dạng đối tượng Mạng YOLO chia video thành các ô lưới (grid)
và tìm kiếm các đối tượng trong từng ô lưới YOLO có khả năng phát hiện đối tượng nhanh chóng và chính xác bằng cách dự đoán bounding box và xác suất của các lớp đối tượng
Copies for internal use only in Phenikaa University
Trang 26Tuy nhiên, để giải quyết vấn đề theo dõi đối tượng liên tục trong video, ByteTrack sử dụng kỹ thuật theo dõi điểm đặc trưng Phương pháp này sử dụng các điểm đặc trưng để xác định vị trí và theo dõi các đối tượng trong video theo thời gian Các điểm đặc trưng được chọn để đại diện cho các đặc tính quan trọng của đối tượng,
ví dụ như góc mắt, mũi, miệng và các điểm đặc trưng khác
Quá trình theo dõi điểm đặc trưng trong ByteTrack bao gồm ba bước chính: khởi tạo điểm đặc trưng ban đầu, theo dõi trong khung hình tiếp theo và cập nhật vị trí điểm đặc trưng Thuật toán sử dụng các phép biến đổi hình học và các thuật toán tối ưu để tìm kiếm vị trí chính xác của các điểm đặc trưng trong khung hình tiếp theo Việc theo dõi này giúp đảm bảo rằng các đối tượng không bị mất trong quá trình xử lý video
Hình 1.4: ByteTrack
(nguồn: https://github.com/ifzhang/ByteTrack)
ByteTrack cho thấy tốc độ xử lý và độ chính xác của ByteTrack cao nhất trong các thuật toán tracking hiện tại: TransMOT, ReMOT, CorTracker, FairMOT, ByteTrack có điểm MOTA cao hơn cả trên 80 và tốc độ luôn đạt trên 30PFS
Có những lý do khác để ByteTrack được lựa chọn trong việc kết hợp giải quyết bài toán tracking trong YOLOv8[7][8]
Copies for internal use only in Phenikaa University
Trang 27Khả Năng Theo Dõi Đối Tượng Đa Đối Tượng: ByteTrack có khả năng theo dõi
đồng thời nhiều đối tượng khác nhau, điều này rất hữu ích khi đếm và theo dõi nhiều loại phương tiện giao thông khác nhau như ô tô, xe máy, xe đạp, và xe buýt
Điều Kiện Ánh Sáng Thay Đổi: ByteTrack có khả năng làm việc hiệu quả trong
các điều kiện ánh sáng thay đổi, ví dụ như khi xe đi vào hoặc ra khỏi bóng râm, hoặc trong điều kiện thời tiết khác nhau
Ổn Định Theo Thời Gian: Thuật toán ByteTrack được thiết kế để duy trì sự ổn
định trong quá trình theo dõi theo thời gian Điều này đảm bảo rằng phương tiện được theo dõi một cách liên tục và không bị mất theo dõi sau khi đi ra khỏi khung hình hoặc
bị che khuất
1.2.7 YOLO
Yolo [6] [13] là một mô hình mạng CNN cho việc phát hiện, nhận dạng, phân loại đối tượng Yolo được tạo ra từ việc kết hợp giữa các convolutional layers và connected layers Trong đó các convolutional layers sẽ trích xuất ra các feature của ảnh, còn full-connected layers sẽ dự đoán ra xác suất đó và tọa độ của đối tượng
So với họ mô hình R-CNN, YOLO và SSD có tốc độ được cải thiện rất nhiều Các thuật toán này coi việc phát hiện đối tượng như một bài toán hồi quy, chỉ dùng một
mô hình để xác định đồng thời tọa độ đường bao và xác suất của nhóm đối tượng tương ứng Nếu để ý, tên của các mô hình này đều nói đến việc chúng chỉ dùng mô hình 1 bước thay vì mô hình 2 bước xuất hiện trước đó (You Only Look Once - Bạn chỉ nhìn một lần và Single Shot Detectors - máy phát hiện chỉ dùng một ảnh)
Copies for internal use only in Phenikaa University
Trang 28Hình 1.5: Khái quát về YOLO
Về cơ bản, YOLO chia ảnh đầu vào thành các ô nhỏ, mô hình sẽ dự đoán xác xuất đối tượng trong các đường bao (bounding-box) xung quanh mỗi ô nhỏ này Những đường bao có xác xuất cao sẽ được giữ lại và sử dụng cho nhiệm vụ xác định vị trí của đối tượng trong ảnh
Copies for internal use only in Phenikaa University
Trang 29OUTPUT của YOLO
Output của mô hình YOLO là một véc tơ sẽ bao gồm các thành phần:
Trong đó:
● : là xác suất dự báo vật thể xuất hiện trong bounding box
● : giúp xác định bounding box Trong đó là tọa độ tâm và
là kích thước rộng, dài của bounding box
● là véc tơ phân phối xác suất dự báo của các classes
Việc hiểu output khá là quan trọng để cấu hình tham số chuẩn xác khi huấn luyện model qua các open source như darknet Như vậy output sẽ được xác định theo số lượng
classes theo công thức (n_class + 5) Nếu huấn luyện 80 classes thì sẽ có output là 85 Trường hợp áp dụng 3 anchors/cell thì số lượng tham số output sẽ là: (n_class + 5) x
3 = 85 x 3 = 255
Hình 1.6: Kiến trúc output của mô hình YOLO
Copies for internal use only in Phenikaa University
Trang 30Hình ảnh gốc là một feature map kích thước 13x13 Trên mỗi một cell của feature map, lựa chọn ra 3 anchor boxes với kích thước khác nhau lần lượt là Box 1, Box 2, Box 3 sao cho tâm của các anchor boxes trùng với cell Khi đó output của YOLO
là một véc tơ concatenate của 3 bounding boxes Các attributes của một bounding box được mô tả như dòng cuối cùng trong hình
Anchor box
Để tìm được bounding box cho vật thể, YOLO sẽ cần các anchor box làm cơ sở ước lượng Những anchor box này sẽ được xác định trước và sẽ bao quanh vật thể một cách tương đối chính xác Sau này thuật toán regression bounding box sẽ tinh chỉnh lại anchor box để tạo ra bounding box dự đoán cho vật thể Trong một mô hình YOLO:
● Mỗi một vật thể trong hình ảnh huấn luyện được phân bố về một anchor box Trong trường hợp có từ 2 anchor boxes trở lên cùng bao quanh vật thể thì ta sẽ xác định anchor box mà có IoU với ground truth bounding box là cao nhất
Hình 1.7: Xác định anchor box cho một vật thể
Từ Cell i ta xác định được 3 anchor boxes viền xanh như trong hình Cả 3 anchor
boxes này đều giao nhau với bounding box của vật thể Tuy nhiên chỉ anchor box có đường viền dày nhất màu xanh được lựa chọn làm anchor box cho vật thể bởi nó có IoU so với ground truth bounding box là cao nhất
Copies for internal use only in Phenikaa University
Trang 31● Mỗi một vật thể trong hình ảnh huấn luyện được phân bố về một cell trên feature map mà chứa điểm mid point của vật thể Chẳng hạn như hình chú chó trong
Hình B5 sẽ được phân về cho cell màu đỏ vì điểm mid point của ảnh chú chó
rơi vào đúng cell này Từ cell ta sẽ xác định các anchor boxes bao quanh hình ảnh chú chó
Như vậy khi xác định một vật thể ta sẽ cần xác định 2 thành phần gắn liền với
nó là (cell, anchor box) Không chỉ riêng mình cell hoặc chỉ mình anchor box
Copies for internal use only in Phenikaa University
Trang 321.2.8 DATA
Data là yếu tố quan trọng nhất trong việc huấn luyện mô hình học máy Nguồn
dữ liệu chất lượng và đa dạng cung cấp thông tin cần thiết để mô hình hiểu và tổ chức Tầm quan trọng của dữ liệu không chỉ nằm ở số lượng, mà còn ở chất lượng hình ảnh
và tính chất của dữ liệu
Số lượng dữ liệu đủ lớn là yếu tố quyết định thành công của mô hình Một lượng
dữ liệu lớn hỗ trợ mô hình trong việc học được nhiều mẫu, nhận biết các mẫu hiếm và phát hiện ra sự biến đổi Điều này giúp tăng tính tổng quát và khả năng dự đoán của mô hình
Tuy nhiên, không chỉ số lượng, tính chất của dữ liệu cũng rất quan trọng Dữ liệu phải phản ánh đầy đủ các trường hợp và biến thể có thể xảy ra trong thực tế Nếu
dữ liệu không đủ đại diện, mô hình có thể gặp khó khăn trong việc xử lý các trường hợp mới Đồng thời, dữ liệu phải được chính xác, không chứa nhiễu hoặc thông tin sai lệch để tránh làm sai lệch mô hình
Sự đa dạng của dữ liệu cũng quan trọng Dữ liệu đa dạng về các thuộc tính, đặc trưng và phân phối giúp mô hình học được sự biến đổi và tương quan giữa các đặc điểm Điều này tạo ra một mô hình mạnh mẽ và linh hoạt, có khả năng áp dụng cho nhiều bối cảnh khác nhau
Việc sử dụng dữ liệu chất lượng và đa dạng trong quá trình huấn luyện mô hình
có nhiều lợi ích Trước hết, nó giúp mô hình học được các quy tắc và mẫu phức tạp hơn Dữ liệu cung cấp thông tin và ví dụ cần thiết để mô hình hiểu và dự đoán đúng các tình huống mới
Thứ hai, dữ liệu tốt giúp tránh hiện tượng overfitting, tức là mô hình quá tập trung vào các chi tiết không quan trọng hoặc nhiễu trong dữ liệu huấn luyện Overfitting
có thể xảy ra khi mô hình không có đủ thông tin để hiểu và tổng quát hóa các quy luật
và mẫu trong dữ liệu mà thay vào đó chỉ ghi nhớ các thông tin cụ thể trong tập huấn luyện Điều này dẫn đến khả năng dự đoán kém trên dữ liệu mới và không quan tâm đến các đặc trưng quan trọng
Sử dụng dữ liệu đa dạng giúp mô hình hạn chế overfitting bằng cách giúp mô hình tiếp cận và hiểu được nhiều biến thể, đặc điểm và trường hợp Mô hình được huấn Copies for internal use only in Phenikaa University
Trang 33luyện trên nhiều loại dữ liệu sẽ học được các quy tắc và mẫu tổng quát hơn, và do đó
có khả năng dự đoán tốt hơn trên dữ liệu mới
Thêm vào đó, dữ liệu cũng có vai trò quan trọng trong quá trình kiểm tra và đánh giá mô hình Sử dụng một tập dữ liệu độc lập để kiểm tra mô hình giúp đánh giá khả năng tổng quát hóa của nó Nếu mô hình hiệu quả trên dữ liệu kiểm tra mà không được
sử dụng trong quá trình huấn luyện, thì có thể tin tưởng vào khả năng dự đoán của mô hình trên dữ liệu mới
Dữ liệu đóng vai trò then chốt trong việc huấn luyện mô hình máy học Chất lượng và đa dạng của dữ liệu ảnh hưởng trực tiếp đến hiệu suất và khả năng tổng quát hóa của mô hình Vì vậy, để đạt được kết quả tốt, cần đảm bảo rằng dữ liệu được thu thập và sử dụng một cách cẩn thận và có sự đa dạng đầy đủ để mô hình có thể hiểu và tổng quát được môi trường thực tế
Dữ liệu trong bài toán được sinh ra từ các video giao thông thực tế Gồm 9 loại phương tiện cơ bản: xe máy, xe đạp, xe con, xe taxi, xe khách, xe bus, xe van/xe tải nhẹ, xe tải nặng và xe siêu trọng
Tập dữ liệu được thu thập từ nhiều nơi, nhiều góc độ khác nhau, đủ các loại hình phương tiện từ xe máy cho đến xe siêu trọng
1.2.9 FLASK - API
FLASK là một framework hỗ trợ xây dựng các API trên nền tảng python
Flask là framework không quá nhanh Nếu làm việc nhiều với server, có nhiều ngôn ngữ thích hợp hơn mà các chuyên gia hay dùng đó là vuejs, golang, erlang Ngoài
ra Flask cũng có ưu điểm đó là tính bảo mật của nó rất cao, code đẹp và dễ hiểu
Về định nghĩa của API thì API được coi như chất liệu để làm nên một website
Khi tương tác với một ứng dụng là tương tác với dữ liệu của ứng dụng đó được render trong một template html Dữ liệu đó được truyền đến thiết bị của mình thông qua chính API API là chiếc cầu nối dữ liệu qua lại giữa client và server và thay đổi những gì mà nhìn thấy trên front end Các phương thức tương tác dữ liệu trên API chính bao gồm:
GET, POST, PUT, PATCH, DELETE
Copies for internal use only in Phenikaa University
Trang 34● GET - Read: Client nhận dữ liệu từ server
● POST - Create: Client gửi dữ liệu lên server Server xử lý dữ liệu và trả về một kết quả
● PUT – Update: Cập nhật dữ liệu
● DELETE – Delete: Xóa dữ liệu
Flask là một micro Website framework được viết bằng Python, không yêu cầu tool hay thư viện cụ thể nào “Micro” không có nghĩa là thiếu công dụng mà “micro” theo triết lý thiết kế là cung cấp một lõi chức năng đầy đủ, ngắn gọn và đơn giản nhất cho ứng dụng Website tuy vậy vẫn có thể mở rộng bất cứ lúc nào
Flask luôn hỗ trợ các thành phần tiện ích mở rộng cho ứng dụng như tích hợp cơ
sở dữ liệu, xác thực biểu mẫu, xử lý upload, các công nghệ xác thực, template, Email, RESTful…, chỉ khác là khi nào muốn thì mới đưa vào Có thể tập trung xây dựng Web application ngay từ đầu trong một khoảng thời gian rất ngắn và có thể phát triển quy
mô của ứng dụng tùy theo yêu cầu
Bảng 1.1: Cấu trúc Luồng xử lý
Copies for internal use only in Phenikaa University
Trang 35CHƯƠNG 2: PHÂN TÍCH BÀI TOÁN NHẬN DIỆN VÀ ĐẾM PHƯƠNG TIỆN
GIAO THÔNG 2.1 Thực trạng hiện nay
Thực Trạng:
Để hiểu rõ thực trạng của việc đếm số lượng phương tiện qua nút giao thông và tại đường 1 hoặc 2 chiều, cần thực hiện thu thập dữ liệu từ nút giao thông cụ thể và các tuyến đường liên quan trong một khoảng thời gian đủ dài và đại diện Dữ liệu cần thu thập có thể bao gồm:
● Số lượng phương tiện qua nút giao thông theo từng loại (ô tô cá nhân, taxi, xe buýt, xe máy, xe đạp)
● Thời gian và tần suất đèn giao thông chuyển đổi
● Tình trạng tắc nghẽn giao thông và nguyên nhân gây ra tắc nghẽn
Thông qua việc thu thập và phân tích dữ liệu này, nghiên cứu có thể xác định thực trạng về tình hình giao thông tại nút giao thông và đường 1 hoặc 2 chiều, bao gồm tần suất sử dụng đường, dòng xe chủ yếu và những vấn đề giao thông cụ thể
Kiểm Chứng:
Sau khi thu thập dữ liệu thực trạng, bước tiếp theo là kiểm chứng thông qua việc
so sánh dữ liệu này với kết quả của hệ thống nhận diện và đếm phương tiện Điều này đòi hỏi:
● Phân tích độ chính xác của hệ thống nhận diện bằng cách so sánh kết quả với dữ liệu thực trạng
● Tính toán tỷ lệ lỗi hoặc sai số giữa dữ liệu thu thập thực tế và kết quả từ hệ thống nhận diện
● Xác định nguyên nhân của các sai lệch nếu có và đánh giá tác động của chúng lên hiệu suất hệ thống
Kiểm chứng đảm bảo rằng hệ thống nhận diện có khả năng chính xác đếm số lượng phương tiện và làm cho nghiên cứu trở nên có tính xác thực
Copies for internal use only in Phenikaa University
Trang 36● Xác định các mẫu và xu hướng trong dữ liệu đếm phương tiện, ví dụ, tần suất cao điểm, biến động hàng ngày, và tác động của các sự kiện đặc biệt
● Đánh giá tác động của luồng giao thông lên hiệu suất hệ thống đường và cơ sở
hạ tầng
Phân tích này giúp tạo ra cái nhìn sâu hơn về tình hình thực tế và hỗ trợ trong việc đề xuất giải pháp cải thiện giao thông và quản lý luồng xe
2.2 Tổng quan về bài toán
Bài toán nhận diện và đếm phương tiện giao thông là một thách thức quan trọng trong lĩnh vực Trí Tuệ Nhân Tạo (AI) và công nghệ thông tin Việc quản lý giao thông trở thành một nhiệm vụ phức tạp và cấp bách Không chỉ để cải thiện hiệu suất và an toàn giao thông, mà còn để đảm bảo quản lý tài nguyên môi trường
Bài toán nhận diện và đếm phương tiện giao thông yêu cầu khả năng xác định
và đếm số lượng phương tiện giao thông trên các tuyến đường và nơi công cộng Điều này có đa bao gồm việc nhận diện các loại phương tiện như ô tô, xe máy, xe bus, xe tải, Copies for internal use only in Phenikaa University
Trang 37xe đạp Mục tiêu chính của bài toán này là tự động hóa quá trình đếm và ghi nhận dữ liệu mà trước đây thường được thực hiện thủ công bởi con người
Bài toán nhận diện và đếm phương tiện giao thông đòi hỏi một mô hình có khả năng xử lý hình ảnh trong thời gian ngắn và độ chính xác cao Dưới là một số lý do chọn mô hình YOLO (You Only Look Once) cho bài toán nhận diện và đếm phương tiện giao thông
Thời Gian Thực:
YOLO được thiết kế để xử lý hình ảnh trong video và cả thời gian thực, tức là
nó có khả năng nhận diện đối tượng trong thời gian gần như thực sự (real-time) Điều này rất quan trọng trong bài toán nhận diện và đếm phương tiện giao thông nếu muốn thông tin về lưu lượng giao thông cần được cập nhật liên tục và kịp thời Với khả năng
xử lý nhanh chóng của YOLO, việc theo dõi các phương tiện giao thông trở nên hiệu quả và chính xác
Độ Chính Xác và Đa Dạng Loại Phương Tiện:
YOLO được phát triển với mục tiêu cải thiện độ chính xác của việc nhận diện đối tượng Điều này đặc biệt quan trọng trong bài toán nhận diện và đếm phương tiện giao thông, vì có nhiều loại phương tiện khác nhau, từ ô tô và xe máy đến xe bus và xe tải YOLO có khả năng xác định và phân loại một loạt các đối tượng với độ chính xác cao, giúp đảm bảo rằng tất cả các loại phương tiện được đếm đúng và đủ
Tích Hợp Dễ Dàng:
YOLO có sẵn dưới dạng mã nguồn mở và có nhiều phiên bản và biến thể khác nhau được cộng đồng phát triển Điều này làm cho việc tích hợp YOLO vào ứng dụng trở nên dễ dàng hơn Và có thể tìm thấy nhiều tài liệu và tài liệu tham khảo trực tuyến
để hướng dẫn về cách triển khai YOLO trên nhiều nền tảng khác nhau
Tích Hợp Với Hệ Thống Giao Thông Hiện Có:
Hầu hết các hệ thống quản lý giao thông và an ninh đô thị đã tích hợp sẵn các hệ thống camera và cơ sở hạ tầng để giám sát giao thông YOLO có thể tích hợp dễ dàng vào các hệ thống này thông qua giao thức liên kết dữ liệu (API), cho phép sử dụng dữ liệu từ các nguồn hiện có để thực hiện nhận diện và đếm phương tiện
Copies for internal use only in Phenikaa University
Trang 38Hiệu Suất Tối Ưu:
Một trong những lợi ích lớn của YOLO là hiệu suất tối ưu Nó có khả năng xử
lý hình ảnh nhanh chóng trên các thiết bị có tài nguyên tính toán hạn chế, bao gồm cả các thiết bị nhúng và máy tính đám mây Điều này giúp giảm thiểu yêu cầu về phần cứng và tối ưu hóa thời gian thực hiện
Sử Dụng Cộng Đồng Phát Triển Mạnh Mẽ:
YOLO có một cộng đồng phát triển mạnh mẽ, với nhiều tài liệu, tài liệu tham khảo và hỗ trợ từ cộng đồng Điều này đồng nghĩa với việc có sẵn nhiều tài nguyên và giải pháp cho việc triển khai và tối ưu hóa YOLO cho bài toán nhận diện và đếm phương tiện giao thông
2.3 Phân tích bài toán nhận diện phương tiện
Nghiên cứu về các loại phương tiện giao thông trên đường bộ, bao gồm:
● Ô tô cá nhân (car);
● Taxi;
● Xe buýt (bus);
● Xe chở khách (coach);
● Xe tải nhẹ (LGV - Light Goods Vehicle);
● Xe tải nặng (HGV - Heavy Goods Vehicle);
● Xe tải cỡ lớn (VHGV - Very Heavy Goods Vehicle)
● Xe máy cá nhân (Motor)
● Xe đạp (Bicycle)
Các loại này là một phần quan trọng của lĩnh vực quản lý giao thông Việc hiểu
và theo dõi các loại phương tiện này có ý nghĩa quan trọng trong việc tối ưu hóa luồng Copies for internal use only in Phenikaa University
Trang 39giao thông, cải thiện an ninh đô thị, và thúc đẩy sự phát triển bền vững của các đô thị hiện đại
Đề tài nghiên cứu sẽ tập trung vào việc phát triển và triển khai hệ thống nhận diện và đếm phương tiện giao thông qua một nút giao thông cụ thể
Mục tiêu chính là phân loại và đếm số lượng phương tiện tham gia giao thông
(ví dụ: ô tô cá nhân, taxi, xe buýt, xe máy, xe đạp) trong phạm vi nút giao thông và trên đường 1 hoặc 2 chiều tại nút đó
Nghiên cứu sẽ xem xét các phương pháp và công nghệ nhận diện hình ảnh hoặc video, chẳng hạn như mạng nơ-ron YOLO (You Only Look Once) hoặc các phương pháp khác của Trí Tuệ Nhân Tạo để thực hiện
Mục tiêu cuối cùng của nghiên cứu là xây dựng một hệ thống tự động hoặc bán
tự động có khả năng nhận diện và đếm số lượng phương tiện giao thông tại nút giao thông và trên đường 1 hoặc 2 chiều, cung cấp thông tin hữu ích cho quản lý giao thông
và nghiên cứu về tải trọng đường
Copies for internal use only in Phenikaa University
Trang 40● Ô tô Cá Nhân (Car):
Mô tả: Ô tô cá nhân là loại phương tiện giao thông phổ biến nhất trên đường bộ Chúng được thiết kế để chở một hoặc một vài người và hàng hóa
Quan Trọng: Ô tô cá nhân đóng vai trò quan trọng trong luồng giao thông đô thị
và phản ánh xu hướng di chuyển cá nhân Nghiên cứu về ô tô cá nhân giúp cải thiện quản lý đô thị và đề xuất giải pháp giao thông thông minh
Không Gian: Phạm vi nghiên cứu về không gian cho ô tô cá nhân liên quan đến các tuyến đường, thành phố, và hệ thống giao thông nơi các ô tô cá nhân di chuyển
Thời Gian: Nghiên cứu về ô tô cá nhân xem xét thời gian trong việc phân tích
dữ liệu giao thông, dự đoán tắc nghẽn, và tối ưu hóa lịch trình lái xe
Không Gian: Phạm vi nghiên cứu về không gian liên quan đến vùng hoạt động của các dịch vụ taxi trong thành phố và các điểm đón và trả khách
Thời Gian: Nghiên cứu về taxi cũng quan tâm đến thời gian để dự đoán cao điểm, tối ưu hóa lịch trình, và cải thiện thời gian phục vụ khách hàng
Không Gian: Phạm vi nghiên cứu về không gian cho xe buýt bao gồm mạng lưới tuyến đường buýt và các trạm dừng
Copies for internal use only in Phenikaa University