Đề tài NCKH: Phát triển chương trình nhận diện xe ô tô và người đi bộ

Luận văn NCKH chi tiết về chương trình nhận diện xe ô tô và người đi bộ bằng AI. Xây dựng và huấn luyện mô hình với thuật toán YOLOv4-tiny.

Người đăng

Ẩn danh

Thể loại

Đề tài nghiên cứu khoa học của sinh viên

2021

52
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về Công nghệ Nhận diện Xe Ô tô và Người đi bộ bằng AI

Trong thời đại chuyển đổi số, nhận diện xe ô tô và người đi bộ bằng AI đã trở thành một lĩnh vực nghiên cứu quan trọng trong thị giác máy tính. Công nghệ này sử dụng các thuật toán học sâu để phát hiện và theo dõi các đối tượng trong hình ảnh video thời gian thực. Ứng dụng AI trong giao thông không chỉ giúp cải thiện an toàn đường bộ mà còn hỗ trợ phát triển ô tô tự lái và các hệ thống giám sát thông minh. Đề tài nghiên cứu này tập trung vào việc xây dựng mô hình phát hiện đối tượng có độ chính xác cao và tốc độ xử lý nhanh, đáp ứng nhu cầu thực tiễn của các ứng dụng giao thông hiện đại.

1.1. Tầm quan trọng của Công nghệ Phát hiện Đối tượng

Phát hiện đối tượng là một trong những bài toán cơ bản trong lĩnh vực AI. Nó không chỉ xác định vị trí của vật thể mà còn phân loại chúng một cách chính xác. Trong giao thông đô thị, khả năng nhận diện nhanh chóng xe ô tôngười đi bộ là yếu tố then chốt để phòng ngừa tai nạn. Các hệ thống camera thông minh sử dụng công nghệ này có thể cảnh báo kịp thời, giảm thiểu rủi ro và nâng cao an toàn cho người tham gia giao thông.

1.2. Sự Phát triển của Nghiên cứu Trong và Ngoài Nước

Hiện nay, nhiều quốc gia đã đầu tư mạnh mẽ vào nghiên cứu AIthị giác máy tính. Các trường đại học hàng đầu như Trường ĐH Sư phạm Kỹ thuật TPHCM đang phát triển các đề tài nhận diện xe ô tô và người đi bộ với độ chính xác cao. Những kết quả này không chỉ có ý nghĩa học thuật mà còn có tiềm năng ứng dụng thực tiễn trong các hệ thống an toàn giao thông thông minh.

II. Nền tảng Lý thuyết Mạng CNN và Thuật toán YOLO

Mạng Convolutional Neural Network (CNN) là nền tảng của hầu hết các thuật toán phát hiện đối tượng hiện đại. Kiến trúc này bao gồm các lớp tích chập, lớp tổng hợp và lớp kết nối đầy đủ, cho phép máy học nhận ra các đặc trưng phức tạp từ hình ảnh. Thuật toán YOLO (You Only Look Once) là một bước tiến lớn trong lĩnh vực này, cho phép phát hiện đối tượng với tốc độ xử lý rất nhanh. YOLOv4-tiny, một phiên bản tối ưu hóa của YOLO, đặc biệt phù hợp cho các ứng dụng yêu cầu hiệu suất cao trên các thiết bị có tài nguyên hạn chế.

2.1. Kiến trúc Mạng Convolutional Neural Network

CNN gồm ba thành phần chính: lớp tích chập thực hiện trích xuất đặc trưng, lớp tổng hợp (Pooling) giảm kích thước dữ liệu, và lớp kết nối đầy đủ để phân loại. Mỗi lớp tích chập sử dụng các filter với kích thước f×f và stride để dịch chuyển qua ảnh. Batch Normalization được áp dụng để chuẩn hóa dữ liệu, cải thiện tốc độ huấn luyện và độ ổn định của mô hình.

2.2. Thuật toán YOLO và YOLOv4 tiny

YOLO hoạt động bằng cách chia ảnh thành grid và dự đoán bounding box cùng xác suất lớp cho từng ô grid. YOLOv4-tiny là phiên bản nhẹ hơn, giảm số lượng tham số nhưng vẫn duy trì độ chính xác tốt. Với tốc độ xử lý nhanhyêu cầu tài nguyên thấp, YOLOv4-tiny trở thành lựa chọn lý tưởng cho các ứng dụng nhận diện xe ô tô và người đi bộ trên các thiết bị embedded.

III. Quy trình Xây dựng Mô hình Phát hiện

Xây dựng mô hình phát hiện xe ô tô và người đi bộ là một quá trình phức tạp bao gồm nhiều bước từ chuẩn bị dữ liệu đến huấn luyện và đánh giá. Sơ đồ khối tổng quát của hệ thống bắt đầu từ thu thập dữ liệu hình ảnh, tiếp theo là tiền xử lý để chuẩn bị cho mô hình. Quá trình huấn luyện thuật toán yêu cầu thiết lập các thông số huấn luyện phù hợp như learning rate, batch size, và số epochs. Cuối cùng, mô hình được kiểm thử trên tập dữ liệu độc lập để đảm bảo tính chính xác và hiệu suất trong các tình huống thực tế.

3.1. Chuẩn bị Dữ liệu và Tiền xử lý

Dữ liệu huấn luyện là yếu tố quan trọng nhất đối với độ chính xác của mô hình. Quá trình thu thập dữ liệu bao gồm các hình ảnh có anotation với bounding box cho xe ô tô và người đi bộ. Tiền xử lý bao gồm chuẩn hóa dữ liệu, augmentation để tăng đa dạng, và chia tập dữ liệu thành training, validation, và test set. Những bước này đảm bảo mô hình có thể học tốt và tổng quát hóa cho các dữ liệu mới.

3.2. Huấn luyện và Đánh giá Mô hình

Quá trình huấn luyện sử dụng thuật toán tối ưu để giảm thiểu loss function. Các thông số như learning rate, batch size, và số epochs được cài đặt dựa trên thử nghiệm. Mô hình được kiểm thử trên video ngoài tập dữ liệu để đánh giá hiệu suất thực tế. Kết quả cuối cùng cho thấy độ chính xác caotốc độ xử lý nhanh, phù hợp với yêu cầu nhận diện thời gian thực.

IV. Ứng dụng Thực tiễn và Hướng Phát triển

Mô hình phát hiện xe ô tô và người đi bộ có rất nhiều ứng dụng thực tiễn trong lĩnh vực giao thông và an toàn công cộng. Các hệ thống camera thông minh trên đường phố có thể sử dụng công nghệ này để giám sát giao thông, phát hiện vi phạm, và cảnh báo nguy hiểm. Bên cạnh đó, công nghệ còn hỗ trợ phát triển ô tô tự lái và các hệ thống ADAS (Advanced Driver Assistance System). Mặc dù hiện tại mô hình chỉ nhận diện hai đối tượng, nhưng hướng phát triển tương lai bao gồm mở rộng nhận diện nhiều loại đối tượng khác, cải thiện hiệu suất trong điều kiện ánh sáng kém, và tối ưu hóa cho các thiết bị di động.

4.1. Ứng dụng trong An toàn Giao thông

Công nghệ nhận diện có thể được tích hợp vào các hệ thống cảnh báo giúp lái xe nhận biết nguy hiểm sớm hơn. Camera phía trước của xe có thể phát hiện xe ô tô phía trướcngười đi bộ bất ngờ, kích hoạt hệ thống phanh tự động. Các giao lộ thông minh sử dụng công nghệ này để quản lý giao thông hiệu quảgiảm tai nạn. Những ứng dụng này đóng góp đáng kể vào nâng cao an toàn giao thông trên toàn xã hội.

4.2. Hướng Phát triển Tương lai

Hướng phát triển tiếp theo bao gồm mở rộng nhận diện nhiều lớp đối tượng như xe máy, tải xe, chính phủ. Cần cải thiện khả năng hoạt động trong điều kiện thời tiết xấuánh sáng yếu. Tối ưu hóa tốc độ trên thiết bị nhúngsmartphone sẽ mở rộng khả năng ứng dụng. Ngoài ra, kết hợp với các cảm biến khác như LIDAR có thể tạo ra hệ thống nhận diện 3D chính xác hơn.

21/12/2025

Trích đoạn nội dung tài liệu

Đặt vấn đề Trong vài năm trở lại đây, Artificial Intelligence (trí tuệ nhân tạo) hay cụ thể là Machine Learning ( Máy học) đang phát triển. Ứng dụng của AI rất đa dạng và ảnh hưởng tích cực đến đời sống như: Ô tô tự lái, hệ thống dịch tự động, chatbot tự động trả lời,… Hiện nay, có rất nhiều nghiên cứu về bài toán nhận diện đối tượng, các hệ thống từ đơn giản đến phức tạp, sử dụng nhiều thuật toán khác nhau. Do đó, dễ dàng trong việc thực hiện và đánh giá các thuật toán. Tình hình nghiên cứu trong và ngoài nước Trong lĩnh vực thị giác máy tính hiện nay có rất nhiều nhiệm vụ,ví dụ như : • Image classification (phân loại hình ảnh) : Dự đoán nhãn của một đối tượng trong một hình ảnh.Trong đó input là một ảnh với chỉ một đối tượng và output là nhãn lớp • Object localization (định vị đối tượng) : Xác định vị trí hiện diện của các đối tượng trong ảnh và cho biết vị trí của chúng bằng bounding box.

Trong đó input là một hình ảnh có một hoặc nhiều đối tượng và output là một hay nhiều bounding box được xác định bởi tọa độ tâm, chiều rộng và chiều cao • Object detection (phát hiện đối tượng) : Xác định vị trí hiện diện của các đối tượng trong bounding box và nhãn của các đối tượng nằm trong một hình ảnh. Trong đó input là hình ảnh có một hoặc nhiều đối tượng và output là một hoặc nhiều bounding box và nhãn cho mỗi bounding box Ngoài ra còn nhiều nhiệm vụ khác cũng rất quan trọng trong thị giác máy tính là phân đoạn đối tượng (object segmentation), trong đó các đối tượng được nhận dạng bằng cách làm nổi bật các pixel cụ thể của đối tượng thay vì bounding box Hình 1.Sơ đồ tổng hợp các tác vụ trong thị giác máy tính Đối với bài toán phát hiện đối tượng, tức là nhận diện được đối tượng này nằm ở đâu trên bức ảnh và phân loại đối tượng vào đúng nhãn. Lý do lựa chọn mô hình thuật toán Ứng dụng công nghệ mạng noron trong trí tuệ nhân tạo để nhận dạng và phân loại đối tương. Có 3 phương pháp dò đối tượng chính mà ta thường gặp được hỗ trợ trong thị giác máy tính là : • R-CNN và các biến thể của chúng, bao gồm R-CNN, Fast R-CNN và Faster- RCNN • Phát hiện bắn một lần (SSD) • YOLO R-CNN là một trong những detectors tìm đối tượng dựa trên học tập sâu đầu tiên và là một ví dụ về detectors hai giai đoạn 2 R-CNN đầu tiên, phân cấp tính năng phong phú để phát hiện đối tượng chính xác và phân đoạn ngữ nghĩa, (2013) Girshick et al.

đề xuất một trình phát hiện đối tượng yêu cầu một thuật toán như Tìm kiếm chọn lọc (hoặc tương đương) để đề xuất các hộp giới hạn ứng viên có thể chứa các đối tượng. Các vùng này sau đó được chuyển vào CNN để phân loại, cuối cùng dẫn đến một trong những detectors tìm đối tượng dựa trên học tập sâu đầu tiên. Vấn đề với phương pháp R-CNN tiêu chuẩn là nó rất chậm và không phải là máy phát hiện đối tượng đầu cuối hoàn chỉnh. Girshick et al.

xuất bản một bài báo thứ hai vào năm 2015, có tựa đề Fast R- CNN. Thuật toán R-CNN nhanh đã tạo ra những cải tiến đáng kể cho R-CNN ban đầu, cụ thể là tăng độ chính xác và giảm thời gian cần thiết để thực hiện chuyển tiếp; tuy nhiên, mô hình vẫn dựa vào thuật toán đề xuất khu vực bên ngoài.Mãi cho đến khi bài báo tiếp theo năm 2015 của Girshick và cộng sự, Faster R-CNN: Hướng tới phát hiện đối tượng theo thời gian thực với Mạng đề xuất khu vực, R-CNN đã trở thành một trình phát hiện đối tượng học sâu thực sự từ đầu đến cuối loại bỏ yêu cầu Tìm kiếm có chọn lọc và thay vào đó dựa vào Mạng đề xuất khu vực (RPN) là (1) tích chập hoàn toàn và (2) có thể dự đoán các hộp giới hạn đối tượng và điểm số của đối tượng xác định (nghĩa là điểm số định lượng khả năng đó là khu vực của một hình ảnh có thể chứa một hình ảnh). Đầu ra của RPN sau đó được chuyển vào thành phần R-CNN để phân loại và ghi nhãn cuối cùng. Mặc dù R-CNN có xu hướng rất chính xác, vấn đề lớn nhất với gia đình mạng R-CNN là tốc độ của chúng - chúng rất chậm, chỉ đạt 5 FPS trên GPU.

Để giúp tăng tốc độ của các máy dò tìm đối tượng dựa trên học tập sâu, cả detectors một lần bắn (SSD) và YOLO đều sử dụng chiến lược phát hiện một giai đoạn. YOLO vừa đảm bảo về tốc độ xử lý vừa đảm bảo về độ chính xác vừa đủ để xử dụng với các ứng dụng thực tế. So sánh tốc độ và độ chính xác của một số mô hình phát hiện đối tượng Trong đề tài này, chúng tôi sử dụng phiên bản rút gọn của thuật toán YOLOv4 là YOLOv4- tiny để nhận diện phương tiện xe ô tô và người đi bộ vì lý do YOLOv4-tiny là một bản rút gọn được thừa hưởng độ chính xác khá cao của thuật toán YOLOv4 nổi tiếng và có thể đáp ứng khi triển khai trên các phần cứng nhúng vì đề tài này hướng đến ứng dụng hỗ trợ người lại trên xe ô tô. Tóm tắt quá trình thực hiện đề tài Việc hiện đề tài được chia thành nhiều giai đoạn, mỗi giai đoạn thực hiện một công việc như đã trình bày ở phần mục lục.

Chi tiết cho từng giai đoạn như sau: • Tìm hiểu về Deep Learning và các ứng dụng. • Nghiên cứu xây dựng một mô hình CNN, YOLO. • Tham khảo cách sử dụng các thư viện và môi trường ảo. Lựa chọn thư viện phù hợp.

• Thu thập và tiền xử lý dữ liệu. Phân chia dataset thành tập training, tập validation và tập test • Xây dựng mô hình phân loại và mô hình nhận diện xe 4 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT MẠNG CNN VÀ THUẬT TOÁN YOLO Chương này đưa ra lý thuyết về Deep Learning, mạng Neural Network và thuật toán YOLO. Để thực hiện việc phân loại và phát hiện xe hay người đi bộ, việc vận dụng những kỹ thuật trên đã chứng minh được sự hiệu quả của mình.1 giới thiệu nhanh về kỹ thuật Deep Learning.2 trình bày về mạng Neural Network từ đó đưa ra cơ sở để trình bày về thuật toán Convolutional Neural Network ở phần 2.4 trình bày về thuật toán YOLO, là một mô hình CNN để phát hiện vật thể một cách nhanh chóng và hiệu quả. Deep Learning Deep Learning(Học sâu) là một nhánh nhỏ của Machine Learning(Máy 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 (Hình 1. 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 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. Giới thiệu về deep learning Hình 2. Quan hệ giữa dữ liệu và khả năng dự đoán của thuật toán. Nguồn: Coursera Các ứng dụng khác nhau chúng ta có thể áp dụng các Neuron Network khác nhau: Các ứng dụng Neural Network có thể áp dụng Đoán giá nhà Standard Neural Network Quảng cáo online 6 Xe tự hành Custom, Hybrid Neural Network Nhận diện giọng nói Recurrent Neural Network Máy dịch Nhận diện vật thể Convolutional Neural Network 2.

Neural Network Neural Network là một mạng lưới gồm nhiều lớp được lấy cảm hứng từ neuron người. Ở đó, lớp đầu tiên để đưa các đặc tính của vật cần dự đoán vào được gọi là Input Layer. Và layer cuối cùng mang kết quả dự đoán gọi Output Layer. Một mạng neuron có thể có hoặc không có các lớp ở giữa Input Layer và Output Layer gọi là Hidden Layer, các Hidden Layer này giúp cho tỉ lệ dự đoán chính xác cao hơn tuy nhiên việc huấn luyện cũng tốn nhiều thời gian và dung lượ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.

Mối quan hệ giữa ngõ vào và ngõ ra của một node. Node phía trên có đầu vào là X1,X2, trọng số w1,w2. Ngõ ra y là kết quả của một hàm phi tuyến và một hàm tuyến tính. Hàm phi tuyến g 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.

7 Các hàm kích hoạt thường được sử dụng là: Sigmoid: Giá trị ngõ ra được chuyển về trong khoảng [0,1] bằng công thức: 1  ( x) = 1 + e− x Hàm sigmoid cho ngõ ra có giá trị bằng 1 khi ngõ vào lớn và ngõ ra bằng 0 khi ngõ vào bằng 1. Ở thời gian đầu hàm sigmoid rất được ưa chuộng sử dụng, tuy nhiên sau này vì hàm luôn dương nên khi lấy gradient, hàm sẽ khó hội tụ. Mặt khác hàm sigmoid dễ bị bão hòa và không có gradient khi đầu vào rất nhỏ hoặc rất. Vì vậy, sau này hàm sigmoid chỉ được sử dụng ở những lớp tích chập cuối khi cần tính binary cross-entropy loss.

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 dữ 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.

Đồ thị hàm sigmoid (a) và hàm tanh (b) ReLU và 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 8 còn bị bão hòa ở hai đầu như hàm Sigmoid và hàm Tanh.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ