CHƯƠNG 1. Tổng quan về học máy, học sâu. Khái niệm cơ bản về mạng nơ-ron. Mạng nơ-ron sinh học.
Mạng nơ-ron nhân tạo. Phân loại mạng nơ-ron nhân tạo. Huấn luyện mạng nơ-ron nhân tạo. Mạng nơ-ron tích chập.
Giới thiệu về mạng nơ-ron tích chập. Các lớp trong mạng nơ-ron tích chập. Vấn đề về bài toán nhận dạng phương tiện giao thông. MÔ HÌNH PHÁT HIỆN ĐỐI TƯỢNG.
Tổng quan về phát hiện đối tượng. Máy dò phát hiện đối tượng hai giai đoạn. Máy dò phát hiện đối tượng một giai đoạn. Một số thách thức chính trong phát hiện đối tượng.
Những thách thức liên quan đến độ chính xác. Những thách thức liên quan đến hiệu quả và khả năng mở rộng. KẾT QUẢ THỬ NGHIỆM CỦA BÀI TOÁN NHẬN DẠNG CÁC PHƯƠNG TIỆN GIAO THÔNG. Phát biểu bài toán nhận dạng phương tiện giao thông.
Thu thập cơ sở dữ liệu về phương tiện giao thông. Cơ sở dữ liệu. Ứng dụng C-Thái Nguyên. Công cụ gán nhãn dữ liệu Make Sense.
Huấn luyện mô hình. Mô hình YOLOv8. Kết quả huấn luyện mô hình. Phân tích và đánh giá kết quả thu được.
Đánh giá độ chính xác của mô hình. So sánh kết quả mật độ giao thông tại một số giao lộ. 60 TÀI LIỆU THAM KHẢO. 61 v DANH MỤC CÁC KÍ HIỆU, CHỮ VIẾT TẮT TT Chữ viết tắt Ý nghĩa 1 AI Artificial Intelligence (Trí tuệ nhân tạo) 2 ANN Artificial Neural Network (Mạng nơ-ron nhân tạo) Convolutional Neural Network 3 CNN (Mạng nơ-ron tích chập) 4 DSSD Deconvolutional Single Shot Detector 5 RNN Recurrent Neural Network (Mạng nơ-ron tái phát) 6 SSD Single Shot Detector vi DANH MỤC CÁC BẢNG Bảng 2.
Thông tin chi tiết các cơ sở dữ liệu thực nghiệm.47 vii DANH MỤC CÁC HÌNH Hình 1. Các phương pháp học máy [1]. Mối quan hệ giữa AI, Machine Learning và Deep Learning [14]. Một mạng nơ-ron sâu cho phân loại chữ số [3].
Đặc trưng sâu được học bởi mô hình phân loại chữ số [3]. Một mạng nơ-ron được tham số hóa bởi các trọng số của nó [3]. Hàm mất mát đo lường chất lượng đầu ra của mạng [3]. Điểm mất mát được sử dụng làm tín hiệu phản hồi để điều chỉnh trọng số [3].
Cấu trúc của một nơ-ron sinh học điển hình [2]. Mô hình nơ-ron nhân tạo [2]. Mô hình toán học mạng nơ-ron nhân tạo [2]. Mô hình mạng nơ-ron nhân tạo [2].
Hàm kích hoạt ReLU. Phân loại mạng nơ-ron nhân tạo. Mô hình học có giám sát. Mô hình học không có giám sát.
Mô hình học tăng cường. Mô hình CNN phân loại ảnh [7]. Một ví dụ về bộ lọc hình ảnh 2D. Minh họa hoạt động của một lớp tích chập [7].
Minh họa hoạt động của một lớp tích chập với phần đệm bằng 1 và bước sải bằng 2 [7]. Minh họa hoạt động của một lớp gộp tối đa (max-pooling layer) với vùng gộp là 2x2 và bước sải bằng 1 [7]. Số lượng công bố về phát hiện đối tượng [12]. Cấu trúc máy dò phát hiện đối tượng [8].
Tổng quan hệ thống phát hiện đối tượng [8]. Cấu trúc Fast R-CNN [8]. Nền tảng Mask R-CNN cho phân đoạn đối tượng riêng biệt [5]. Mô hình YOLOv1 [10].
Mô hình SSD [9]. Pyramidal feature hierarchy [8]. Mô hình mạng DSSD [8]. Mô hình mạng RetinaNet [8].
Tổng quan về mô hình đề xuất. Minh họa ảnh 2 lớp đối tượng: Xe đạp và xe máy. Minh họa ảnh 3 lớp đối tượng: Xe hơi, xe buýt và xe tải. Giao diện chính trên ứng dụng C-Thái Nguyên.
Giao diện làm việc trên công cụ Make Sense. Cấu trúc mô hình YOLOv8. Kết quả huấn luyện mô hình. Kết quả kiểm thử mô hình.
Kết quả phát hiện đối tượng trong quá trình kiểm thử. Mật độ giao thông tại một số giao lộ. Kết quả phát hiện phương tiện giao thông tại các giao lộ.59 ix LỜI NÓI ĐẦU Trong thời đại ngày này công nghệ thông tin hầu như đã thâm nhập vào toàn bộ các lĩnh vực đời sống xã hội. Xã hội ngày càng phát triển thì nhu cầu áp dụng các tiến bộ của công nghệ thông tin vào cuộc sống ngày càng cao để giải quyết những vấn đề phức tạp về y tế, giáo dục, giao thông, … Hiện nay, tình hình giao thông ở Việt Nam rất phức tạp, cơ sở hạ tầng không theo kịp tốc độ phát triển của thành phố nên gây thiệt hại lớn về kinh tế do ùn tắc giao thông gây ra.
Có nhiều giải pháp đã được thực hiện để giảm thiểu ùn tắc giao thông, cũng như để điều khiển các phương tiện chấp hành luật lệ giao thông nhưng chưa thật sự hiệu quả và tốn kém. Mạng nơ-ron sâu (Deep neural networks) đang được nghiên cứu tích cực và các mô hình học sâu đã được sử dụng rộng rãi trong lĩnh vực thị giác máy tính. Học sâu có những lợi thế đáng kể so với phân loại đối tượng truyền thống. Phương pháp truyền thống được sử dụng để trích xuất thủ công các đặc trưng, và các chuyên gia xử lý chúng theo cách thủ công thông qua tích lũy và kinh nghiệm trong một thời gian dài.
Phương pháp dựa trên học sâu trích xuất đặc trưng trực tiếp từ dữ liệu. Các đặc trưng liên quan được học trong quá trình huấn luyện mạng từ dữ liệu được thu thập. Việc trích xuất tính năng tự động như vậy đảm bảo độ chính xác của các phương pháp dựa trên học sâu cho các bài toán trong lĩnh vực thị giác máy tính. Các phương pháp dựa trên học tập sâu có thể cung cấp độ chính xác rất cao.
Xuất phát từ những vấn đề nêu trên, đề tài này sẽ nghiên cứu phương pháp nhân dạng đối tượng dựa trên mạng nơ-ron và ứng dụng vào trong bài toán nhận dạng các phương tiện giao thông. Tổng quan về học máy, học sâu 1. Giới thiệu về học máy Học máy (Machine Learning) là một tập con của trí tuệ nhân tạo (Artificial Intelligence - AI). Học máy là một lĩnh vực nhỏ trong khoa học máy tính, có khả năng tự học hỏi dựa trên dữ liệu được đưa vào mà không cần phải được lập trình cụ thể [1].
Học máy giúp máy tính tự động học hỏi và điều chỉnh chính nó để cải thiện kết quả của nó khi xử lý các nhiệm vụ cụ thể. Quá trình học được thực hiện bằng cách sử dụng các thuật toán và mô hình được đào tạo từ dữ liệu. Để đào tạo một mô hình học máy, chúng ta cung cấp cho nó một tập dữ liệu đầu vào và kết quả đầu ra mong muốn. Mô hình sẽ học từ các ví dụ này và sau đó có thể dự đoán đầu ra cho các dữ liệu mới mà nó chưa từng thấy trước đó.
Học máy được sử dụng trong nhiều lĩnh vực như xử lý ngôn ngữ tự nhiên, xử lý ảnh, nhận dạng giọng nói, khai thác dữ liệu, tư vấn khách hàng, tự động hóa công việc, và đặc biệt là xe tự lái. Học máy cũng là một trong những lĩnh vực được phát triển mạnh mẽ trong thời gian gần đây và được dự báo sẽ đóng vai trò quan trọng trong tương lai của công nghệ. Ứng dụng của học máy Học máy được sử dụng rộng rãi trong nhiều lĩnh vực và có nhiều ứng dụng khác nhau, bao gồm: - Xử lý ngôn ngữ tự nhiên: Học máy được sử dụng để phân loại văn bản, phát hiện ngôn ngữ, dịch thuật và tạo ra các chức năng tương tác giọng nói. - Xử lý ảnh và video: Học máy được sử dụng để phân loại hình ảnh, nhận diện khuôn mặt, phát hiện đối tượng và phân tích video.
2 - Nhận dạng giọng nói: Học máy được sử dụng để nhận dạng giọng nói và chuyển đổi giọng nói thành văn bản. - Tư vấn khách hàng: Học máy được sử dụng để tạo ra các hệ thống tư vấn khách hàng tự động dựa trên dữ liệu về hành vi của khách hàng. - Tự động hóa công việc: Học máy được sử dụng để tự động hóa các nhiệm vụ công việc, như việc phân loại và phân tích dữ liệu hoặc tạo ra các báo cáo tự động. - Khai thác dữ liệu: Học máy được sử dụng để tìm ra các mẫu và quy luật trong dữ liệu và áp dụng chúng vào các quyết định kinh doanh.
- Xe tự lái: Học máy được sử dụng để giúp các hệ thống xe tự động học hỏi và cải thiện khả năng lái và nhận biết tình huống trên đường. Trên thực tế, học máy được sử dụng trong hầu hết các lĩnh vực của cuộc sống hiện đại, từ dịch vụ ngân hàng đến y tế và sản xuất. Học máy đang trở thành một công cụ mạnh mẽ và cần thiết để giúp cho các tổ chức và doanh nghiệp phát triển và cải thiện hiệu quả công việc của mình. Các phương pháp học máy Các thuật toán dựa trên phương pháp học trong học máy (Hình 1.1) bao gồm: Học có giám sát (Supervised learning), học không giám sát (Unsupervised learning), học bán giám sát (Semi-Supervised learning) và Học tăng cường (Reinforcement Learning) [1].
Học có giám sát (Supervised learning): Học có giám sát được hiểu là cách sử dụng các tập dữ liệu được gắn nhãn để huấn luyện thuật toán phân loại hoặc dự đoán kết quả một cách chính xác. Học tập có giám sát giúp các tổ chức giải quyết nhiều vấn đề trong thực tế trên quy mô lớn. Một số phương pháp được sử dụng trong học có giám sát bao gồm mạng nơ-ron, mô hình phân lớp (Naive bayes), hồi quy tuyến tính, hồi quy logistic, rừng ngẫu nhiên (Random forest) và máy hỗ trợ vectơ (SVM - support vector machine). 3 Học không giám sát (Unsupervised learning): Học không giám sát, còn được gọi là học máy không giám sát, sử dụng các thuật toán học máy để phân tích và phân cụm các tập dữ liệu không được gắn nhãn.
Các thuật toán này phát hiện ra các mẫu hoặc nhóm dữ liệu ẩn mà không cần sự can thiệp của con người. Khả năng phát hiện ra những điểm tương đồng và khác biệt trong dữ liệu của phương pháp này khiến nó trở nên lý tưởng cho việc phân tích dữ liệu khám phá, chiến lược bán chéo, phân khúc khách hàng cũng như nhận dạng hình ảnh và mẫu. Phương pháp này cũng được sử dụng để giảm số lượng các tính năng trong một mô hình thông qua quá trình giảm kích thước. Phân tích thành phần chính (PCA -Principal component analysis) và phân tích giá trị đơn lẻ (SVD - Singular value decomposition) là hai cách tiếp cận phổ biến cho việc này.Các thuật toán khác được sử dụng trong học tập không giám sát bao gồm mạng nơ-ron, phân cụm k-means và các phương pháp phân cụm theo xác suất.