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ợ
CƠ SỞ LÝ THUYẾT
Tổng quan về học máy, học sâu
1.1.1.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ệ
1.1.1.2 Ứ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
- 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
1.1.1.3 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)
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
Học bán giám sát (Semi-Supervised learning): Học bán giám sát là sự kết hợp hài hòa giữa học tập có giám sát và không giám sát Trong quá trình đào tạo, nó sử dụng một tập dữ liệu có nhãn nhỏ hơn học có giám sát để hướng dẫn phân loại và
Hình 1.1 Các phương pháp học máy [1]
Mạng nơ-ron
1.2.1 Khái niệm cơ bản về mạng nơ-ron
Neural Network đọc tiếng việt là mạng nơ-ron nhân tạo, đây là một chuỗi những thuật toán được đưa ra để tìm kiếm các mối quan hệ cơ bản trong tập hợp các dữ liệu Thông qua việc bắt bước cách thức hoạt động từ não bộ con người Nói cách khác, mạng nơ-ron nhân tạo được xem là hệ thồng của các tế bào thần kinh nhân tạo Đây thường có thể là hữu cơ hoặc nhân tạo về bản chất
Mạng nơ-ron có khả năng thích ứng được với mọi thay đổi từ đầu vào Do vậy, nó có thể đưa ra được mọi kết quả một cách tốt nhất có thể mà bạn không cần phải thiêt kế lại những tiêu chí đầu ra Khái niệm này có nguồn gốc từ trí tuệ nhân tạo, đang nhanh chóng trở lên phổ biến hơn trong sự phát triển của những hệ thống giao dịch điện tử
Mạng nơ-ron nhân tạo được xây dựng dựa trên cấu trúc của bộ não con người, giúp ta đưa ra một phương pháp mới trong lĩnh vực tiếp cận hệ thống thông tin Mạng nơ-ron nhân tạo có thể thực hiện các bài toán mẫu (Recognition), tối ưu, nhận dạng (Identiffication) va điều khiển (Control) cho các đối tượng tuyến tính và phi tuyến đạt hiệu quả hpn so với các phương pháp tính toán truyền thống
Mô phỏng sinh học, đặc biệt là mô phỏng nơ-ron thần kinh là một ước muốn từ lâu của nhân loại Với khoảng 10 25 nơ-ron ở não người, mỗi nơ-ron có thể nhận hàng vạn tín hiệu từ các khớp thần kinh và được coi là một cơ chế sinh học phức tạp nhất Não người có khả năng giải quyết những vấn đề như: nghe, nhìn, nói, hồi ức thông tin, phân biệt các mẫu mặc dù dữ liệu bị méo mó, thiếu hụt Não thực hiện những nhiệm vụ như vậy bởi có những phần tử xử lý tính toán gọi là nơ-ron Não phân bổ việc xử lý thông tin cho hàng tỉ nơ-ron có liên quan, điều khiển liên lạc giữa các nơ-ron Nơ-ron không ngừng nhận và truyền thông tin lẫn nhau
1.2.2 Mạng nơ-ron sinh học
Qua quá trình nghiên cứu về bộ não, người ta thấy rằng: bộ não con người bao gồm khoảng 10 11 nơ-ron tham gia vào khoảng 10 15 kết nối trên các đường truyền Mỗi đường truyền này dài khoảng hơn một mét Các nơ-ron có nhiều đặc điểm chung với các tế bào khác trong cơ thể, ngoài ra chúng còn có những khả năng mà các tế bào khác không có được, đó là khả năng nhận, xử lý và truyền các tín hiệu điện hóa trên các đường mòn nơ-ron, các con đ đường này tạo nên hệ thống giao tiếp của bộ não
Mỗi nơ-ron sinh học có 3 thành phần cơ bản (Hình 1.8 [2]):
- Thân tế bào (Cell body)
Các sợi nhánh truyền tín hiệu vào đến thân tế bào Thân tế bào tổng hợp và xử lý cho tín hiệu đi ra Sợi trục truyền tín hiệu ra từ thân tế bào này sang nơ-ron khác Điểm liên kết giữa sợi trục của nơ-ron này với sợi nhánh của nơ-ron khác gọi là synapse Liên kết giữa các nơ-ron và độ nhạy của mỗi synapse được xác định bởi quá trình hóa học phức tạp Một số cấu trúc của nơ-ron được xác định trước lúc sinh ra
Hình 1.8 Cấu trúc của một nơ-ron sinh học điển hình [2]
Một số cấu trúc được phát triển thông qua quá trình học Trong cuộc đời cá thể, một số liên kết mới được hình thành, một số khác bị hủy bỏ
Như vậy nơ-ron sinh học hoạt động theo cách thức sau: nhận tín hiệu đầu vào, xử lý các tín hiệu này và cho ra một tín hiệu output Tín hiệu output này sau đó được truyền đi làm tín hiệu đầu vào cho các nơ-ron khác Dựa trên những hiểu biết về nơ- ron sinh học, con người xây dựng nơ-ron nhân tạo với hy vọng tạo nên một mô hình có sức mạnh như bộ não
1.2.3 Mạng nơ-ron nhân tạo
Nơ-ron nhân tạo (Hình 1.9) là sự rút gọn hết sức đơn giản của nơ-ron sinh học
Nó có thể thực hiện nhờ chương trình máy tính hoặc bằng mạch phần cứng Mỗi nơ- ron thực hiện hai chức năng là chức năng đầu vào và chức năng kích hoạt đầu ra Do đó ta có thể coi mỗi nơ-ron như là một đơn vị xử lý Nó được xây dựng mô phỏng theo cấu trúc của các nơ-ron sinh học Mỗi nơ-ron có một số đầu vào giống như các dây thần kinh tiếp nhận Các đầu vào này làm nhiệm vụ tiếp nhận thông tin từ các nơ- ron khác hoặc từ tập số liệu gốc vào Tương tự như nơ-ron sinh học, mỗi đầu vào của nơ-ron nhân tạo có ảnh hưởng khác nhau đối với tín hiệu ra của nơ-ron (còn gọi là kết xuất của nơ-ron) Điều này được thực hiện nhờ các hệ số được gán cho từng đầu vào-w i : trọng số của đầu vào thứ i Giá trị của w i có thể dương hay âm tương tự như việc có hai loại khớp nối trong mạng nơ-ron sinh học Nếu w i có giá trị dương thì tương đương với khớp nối kích thích còn nếu w i âm thì tương đương với khớp nối ức chế Thân nơ-ron sẽ làm nhiệm vụ tổng hợp các tín hiệu đầu vào xử lý để đưa một tín hiệu ra đầu ra của nơ-ron Quá trình xử lý, tính toán này sẽ được đề cập cụ thể ở phần sau Đầu ra của nơ-ron nhân tạo tương tự như sợi trục axon của nơ-ron sinh học Tín hiệu ra cũng có thể tách ra thành nhiều nhánh theo cấu trúc hình cây để đưa đến đầu vào của các nơ-ron khác
1.2.3.2 Mạng nơ-ron nhân tạo
Các nơ-ron nhân tạo được tổ chức thành mạng nơ-ron nhân tạo Các nơ-ron thường được sắp xếp trong mạng thành từng lớp Đầu ra của mỗi nơ-ron sẽ được nối đến đầu vào của một số nơ-ron khác theo một cấu trúc phù hợp Tuy nhiên cấu trúc mạng nơ-ron nhân tạo chưa thể đạt được độ phức tạp như mạng nơ-ron sinh học Mạng nơ-ron nhân tạo hiện chỉ mới là sự mô phỏng hết sức đơn giản cấu trúc của mạng nơ-ron sinh học
Giữa mạng nơ-ron nhân tạo và mạng nơ-ron sinh học có 3 điểm chung là:
- Mạng được xây dựng bằng các phần tử tính toán đơn giản liên kết lại với nhau một cách phức tạp và hoạt động theo nguyên tắc song song
- Chức năng của mạng được xác định qua cấu trúc mạng, quá trình xử lý bên trong các phần tử và mức độ liên kết giữa các phần tử
- Mức độ liên kết giữa các phần tử được xác định thông qua quá trình học của mạng (hay còn gọi là quá trình huấn luyện mạng)
Hình 1.9 Mô hình nơ-ron nhân tạo [2] Điểm khác nhau về căn bản giữa Mạng nơ-ron nhân tạo và mạng nơ-ron sinh học là ở tốc độ tính toán, độ phức tạp và tính song song Tuy xét về tốc độ xử lý của các máy tính hiện đại là cao hơn rất nhiều so với tốc độ xử lý của não bộ con người nhưng bộ não lại có thể đồng thời kích hoạt toàn bộ các nơ-ron để làm nhiều công việc khác nhau Điều này mạng nơ-ron nhân tạo không thể thực hiện được Với sự phát triển nhanh chóng của khoa học như hiện nay thì ta có thể hi vọng sẽ có những bước đột phá mới trong lĩnh vực mô phỏng mạng nơ-ron sinh học
1.2.3.3 Mô hình toán học của một nơ-ron nhân tạo
Dựa trên những kiến thức cơ bản về nơ-ron nhân tạo như đã trình bày ở phần trên, ta có thể xây dựng một mô hình toán học của nơ-ron nhân tạo như Hình 1.10 Các tín hiệu vào ( còn gọi là mẫu vào) p i (i=1 R) được đưa tới đầu vào của nơ-ron S tạo thành ma trận tín hiệu vào P Mỗi đầu vào của nơ-ron S sẽ có một trọng số kí hiệu là w s,i (i=1 R) và các trọng số này tạo thành một ma trận trọng số đầu vào W của nơ- ron Mức ngưỡng của nơ-ron có thể được biễu diễn trong mô hình toán học bằng hệ số bias b (gọi là thế hiệu dịch) Ta có b=- Hàm thế sau khớp nối (Post Synaptic Potential function - PSP) là tổng của các tín hiệu vào có trọng số và hệ số bias Như vậy tín hiệu vào là nnet sẽ được tính theo công thức sau:
𝑛 𝑛𝑒𝑡 = 𝑤 𝑠,1 𝑝 1 + 𝑤 𝑠,2 𝑝 2 + ⋯ + 𝑤 𝑠,𝑅 𝑝 𝑅 + 𝑏 (1.1) Viết dưới dạng ma trận sẽ là:
Hình 1.10 Mô hình toán học mạng nơ-ron nhân tạo [2]
Xem các biểu thức trên thì ta có thể coi hệ số bias như trọng số của một đầu vào với tín hiệu bằng 1 Có một số loại nơ-ron có thể bỏ qua hệ số bias này
Hàm hoạt hoá (hay còn gọi là hàm truyền đạt) được kí hiệu là f sẽ biến đổi tín hiệu đầu vào net thành tín hiệu đầu ra nơ-ron a Ta có biểu thức:
Thông thường thì hàm đầu ra sẽ được chọn bởi người thiết kế tuỳ theo mục đích của mạng Các trọng số và hệ số bias là các thông số điều chỉnh được của mạng nơ-ron Chúng được điều chỉnh bởi một số luật học Như vậy quan hệ giữa đầu ra và các đầu vào của nơ-ron sẽ tuỳ thuộc vào việc nơ-ron đó được dùng cho các mụch đích cụ thể nào
1.2.3.4 Cấu trúc mạng nơ-ron nhân tạo
Mạng nơ-ron tích chập
1.3.1 Giới thiệu về mạng nơ-ron tích chập
Chúng ta đã thảo luận về mạng nơ-ron trong Mục 1.2 Mạng nơ-ron tích chập (Convolutional Neural Network – CNN) là một trong những loại mạng nơ-ron phổ biến nhất, đặc biệt đối với dữ liệu nhiều chiều (ví dụ: hình ảnh và video) CNN hoạt động theo cách rất giống với các mạng nơ-ron tiêu chuẩn Tuy nhiên, một điểm khác biệt chính là mỗi đơn vị trong lớp CNN là bộ lọc hai chiều được tích hợp với đầu vào của lớp đó Điều này rất cần thiết cho các trường hợp chúng ta muốn tìm hiểu các mẫu từ phương tiện đầu vào có nhiều chiều, ví dụ: hình ảnh hoặc video Các bộ lọc CNN kết hợp bối cảnh không gian bằng cách có hình dạng không gian tương tự (nhưng nhỏ hơn) làm phương tiện đầu vào và sử dụng chia sẻ tham số để giảm đáng kể số lượng biến có thể học được Trước tiên, chúng ta thấy điều quan trọng là cung cấp một nền tảng lịch sử ngắn gọn về CNN [7]
Hình thức sớm nhất của CNN là mô hình Neocognitron do Kunihiko Fukushima đề xuất [4] Nó bao gồm nhiều lớp tự động học một hệ thống phân cấp các tính năng trừu tượng để nhận dạng mẫu Neocognitron được thúc đẩy bởi công trình quan trọng của Hubel và Wiesel [6] trên vỏ não thị giác sơ cấp chứng minh rằng các tế bào thần kinh trong não được sắp xếp theo dạng các lớp Các lớp này học cách nhận dạng các mẫu trực quan bằng cách trích xuất các tính năng cục bộ đầu tiên và sau đó kết hợp chúng để có được các biểu diễn cấp cao hơn Việc đào tạo mạng được thực hiện bằng quy tắc học tăng cường Một cải tiến lớn so với Neocognitron là mô hình LeNet được đề xuất bởi LeCun et al [12], trong đó các tham số mô hình được học bằng lan truyền ngược lỗi Mô hình CNN này đã được áp dụng thành công để nhận dạng các chữ số viết tay
CNN là một lớp mô hình hữu ích cho cả mô hình học tập có giám sát và không giám sát Cơ chế học có giám sát là cơ chế mà đầu vào của hệ thống và đầu ra mong muốn (nhãn thực) được biết và mô hình học một ánh xạ giữa hai cơ chế này Trong cơ chế học không giám sát, các nhãn thực sự cho một tập hợp đầu vào nhất định không được biết và mô hình nhằm mục đích ước tính phân phối cơ bản của các mẫu dữ liệu đầu vào Một ví dụ về nhiệm vụ học có giám sát (phân loại hình ảnh) được hiển thị trong Hình 1.17 CNN học cách ánh xạ một hình ảnh nhất định vào danh mục tương ứng của nó bằng cách phát hiện một số biểu diễn tính năng trừu tượng, từ đơn giản đến phức tạp hơn Các tính năng phân biệt này sau đó được sử dụng trong mạng để dự đoán danh mục chính xác của hình ảnh đầu vào Bộ phân loại mạng thần kinh giống hệt với Multi Layer Perceptron (MLP) Chức năng của CNN tương tự như quy trình biểu diễn đặc trưng thủ công, với điểm khác biệt chính là tự động học hệ thống phân cấp các biểu diễn tính năng hữu ích và tích hợp các giai đoạn phân loại và trích xuất tính năng trong một quy trình duy nhất có thể huấn luyện từ đầu đến cuối thái độ Điều này làm giảm nhu cầu thiết kế thủ công và sự can thiệp của chuyên gia con người
1.3.2 Các lớp trong mạng nơ-ron tích chập
Một CNN bao gồm một số khối xây dựng cơ bản, được gọi là các lớp CNN Trong phần này, chúng ta nghiên cứu các khối xây dựng này và chức năng của chúng trong kiến trúc CNN Lưu ý rằng một số lớp này thực hiện các chức năng cơ bản như
Hình 1.17 Mô hình CNN phân loại ảnh [7] chuẩn hóa, tổng hợp, tích chập và các lớp được kết nối đầy đủ Các lớp cơ bản này được trình bày đầu tiên trong phần này để phát triển hiểu biết cơ bản về các lớp CNN
1.3.2.1 Lớp tích chập (Convolutional Layers)
Lớp tích chập là thành phần quan trọng nhất của CNN Nó bao gồm một tập hợp các bộ lọc (còn được gọi là hạt nhân tích chập) được tích hợp với một đầu vào nhất định để tạo bản đồ đặc trưng đầu ra
Bộ lọc là gì? Mỗi bộ lọc trong một lớp tích chập là một lưới các số rời rạc Ví dụ, hãy xem xét bộ lọc 2x2 được hiển thị trong Hình 1.18 Trọng số của mỗi bộ lọc (các số trong lưới) được học trong quá trình đào tạo CNN Quy trình học tập này liên quan đến việc khởi tạo ngẫu nhiên các trọng số của bộ lọc khi bắt đầu đào tạo Sau
Hình 1.18 Một ví dụ về bộ lọc hình ảnh 2D
Hình 1.19 Minh họa hoạt động của một lớp tích chập [7] đó, các cặp đầu vào-đầu ra đã cho, các trọng số của bộ lọc được điều chỉnh theo một số lần lặp lại khác nhau trong quy trình học
Hoạt động tích chập là gì? Chúng ta đã đề cập trước đó rằng lớp tích chập thực hiện tích chập giữa các bộ lọc và đầu vào của lớp Hãy xem xét một tích chập 2D trong Hình 1.19 để phát triển cái nhìn sâu sắc về hoạt động của lớp Đưa ra bản đồ đặc trưng đầu vào 2D và bộ lọc tích chập có kích thước ma trận lần lượt là 4x4 và 2x2, lớp tích chập nhân bộ lọc 2x2 với một bản vá được đánh dấu (cũng là 2x2) của bản đồ đặc trưng đầu vào và tính tổng tất cả các giá trị để tạo một giá trị trong bản đồ đặc trưng đầu ra Lưu ý rằng bộ lọc trượt dọc theo chiều rộng và chiều cao của bản đồ đặc trưng đầu vào và quá trình này tiếp tục cho đến khi bộ lọc không thể trượt thêm nữa
Trong ví dụ trên, để tính toán từng giá trị của bản đồ đặc trưng đầu ra, bộ lọc thực hiện bước 1 dọc theo vị trí ngang hoặc dọc (nghĩa là dọc theo cột hoặc hàng của đầu vào) Bước này được gọi là bước sải của bộ lọc tích chập, có thể được đặt thành giá trị khác (hơn 1) nếu cần Ví dụ, hoạt động tích chập với bước sải 2 được hiển thị
Hình 1.20 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] trong Hình 1.20 So với bước sải 1 trong ví dụ trước, bước sải 2 dẫn đến bản đồ đặc trưng đầu ra nhỏ hơn Việc giảm kích thước này được gọi là hoạt động lấy mẫu phụ Việc giảm kích thước như vậy mang lại sự bất biến vừa phải đối với tỷ lệ và tư thế của các đối tượng, đây là một thuộc tính hữu ích trong các ứng dụng như nhận dạng đối tượng Chúng ta sẽ thảo luận về các cơ chế lấy mẫu con khác trong phần mà chúng ta thảo luận về các lớp tổng hợp (Pooling layer)
Chúng ta đã thấy rằng trong Hình 1.20 kích thước không gian của bản đồ đặc trưng đầu ra bị giảm so với bản đồ đặc trưng đầu vào Chính xác, đối với bộ lọc có kích thước f x f , bản đồ đặc trưng đầu vào có kích thước h x w và độ dài bước sải s, kích thước tính năng đầu ra được đưa ra bởi:
Tuy nhiên, trong một số ứng dụng, chẳng hạn như khử nhiễu hình ảnh, siêu phân giải hoặc phân đoạn, chúng tôi muốn giữ kích thước không gian không đổi (hoặc thậm chí lớn hơn) sau khi tích chập Điều này rất quan trọng vì các ứng dụng này yêu cầu các dự đoán dày đặc hơn ở cấp độ pixel Hơn nữa, nó cho phép chúng ta thiết kế các mạng sâu hơn (nghĩa là có nhiều lớp trọng số hơn) bằng cách tránh sự sụp đổ nhanh chóng của các kích thước tính năng đầu ra Điều này giúp đạt được hiệu suất tốt hơn và ghi nhãn đầu ra có độ phân giải cao hơn Điều này có thể đạt được bằng cách áp dụng zero-padding xung quanh bản đồ đặc trưng đầu vào
Như được hiển thị trong Hình 1.20, đệm không (zero-padding) vào chiều ngang và dọc cho phép chúng ta tăng kích thước đầu ra và do đó mang lại sự linh hoạt hơn trong thiết kế kiến trúc Ý tưởng cơ bản là tăng kích thước của bản đồ đặc trưng đầu vào sao cho thu được bản đồ đặc trưng đầu ra, với các kích thước mong muốn Nếu p biểu thị mức tăng trong bản đồ đặc trưng đầu vào dọc theo mỗi thứ nguyên (bằng cách đệm các số 0), thì chúng ta có thể biểu thị các thứ nguyên bản đồ đặc trưng đầu ra đã sửa đổi như sau:
Siêu tham số (Hyper-parameters): Các tham số của lớp chập cần được người dùng đặt (dựa trên xác thực chéo hoặc kinh nghiệm) trước khi học bộ lọc (chẳng hạn như bước sải và phần đệm) được gọi là siêu tham số Các siêu tham số này có thể được hiểu là các lựa chọn thiết kế cho kiến trúc mạng của chúng tôi dựa trên một ứng dụng nhất định
Vấn đề về bài toán nhận dạng phương tiện giao thông
Hiện ở Việt Nam, chúng ta bắt đầu sử dụng khái niệm “giao thông thông minh” để chỉ việc ứng dụng khoa học, công nghệ thông tin vào lĩnh vực giao thông Xét ở một chừng mực nhất định, có thể coi đó là sự khởi đầu cho ý tưởng ứng dụng công nghiệp 4.0 vào quản lý giao thông, mặc dù chưa thật rõ ràng Bởi vậy, cần có sự đầu tư xem xét để cụ thể hóa việc ứng dụng Công nghiệp 4.0 vào quản lý giao thông của chúng ta trong bối cảnh hiện nay sao cho phù hợp [15]
Cụ thể là sử dụng các công cụ điện toán và tự động nhằm hướng đến việc tối ưu hóa:
- Một là, tương tác giữa người vận hành và phương tiện (qua kết nối internet)
- Hai là, cung cấp thông tin để xây dựng bức tranh toàn cảnh và nhờ vậy giúp người sử dụng phương tiện “đọc được tình huống”
- Ba là, hỗ trợ người sử dụng phương tiện ra quyết định (chẳng hạn đối với giao thông thì đó là việc lựa chọn tuyến giao thông, phương tiện giao thông, ưu tiên tối ưu hóa quãng đường hoặc tối ưu hóa thời gian, …)
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Ô HÌNH PHÁT HIỆN ĐỐI TƯỢNG
Tổng quan về phát hiện đối tượng
Phát hiện đối tượng (Object Detection) là một nhiệm vụ thị giác máy tính quan trọng liên quan đến việc phát hiện các đối tượng trực quan của một lớp nhất định (chẳng hạn như con người, động vật hoặc ô tô) trong hình ảnh kỹ thuật số Mục tiêu của phát hiện đối tượng là phát triển các mô hình và kỹ thuật tính toán cung cấp một trong những phần kiến thức cơ bản nhất cần thiết cho các ứng dụng thị giác máy tính: ĐỐI TƯỢNG ĐANG Ở ĐÂU? Hai số liệu quan trọng nhất để phát hiện đối tượng là độ chính xác (bao gồm độ chính xác phân loại và độ chính xác nội địa hóa) và tốc độ [13]
Phát hiện đối tượng làm cơ sở cho nhiều tác vụ thị giác máy tính khác, chẳng hạn như phân đoạn ảnh, chú thích hình ảnh và theo dõi đối tượng Trong những năm gần đây, sự phát triển nhanh chóng của các kỹ thuật học sâu đã thúc đẩy đáng kể tiến trình phát hiện đối tượng, dẫn đến những bước đột phá đáng chú ý và đẩy nó trở thành điểm nóng nghiên cứu với sự chú ý chưa từng có Phát hiện đối tượng hiện đã được sử dụng rộng rãi trong nhiều ứng dụng trong thế giới thực, chẳng hạn như lái xe tự
Hình 2.1 Số lượng công bố về phát hiện đối tượng [12] động, thị giác rô-bốt và giám sát video Hình 2.1 cho thấy số lượng ấn phẩm ngày càng tăng có liên quan đến “phát hiện đối tượng” trong hai thập kỷ qua
Hai loại máy dò đối tượng:
Các máy dò phát hiện đối tượng hình ảnh dành riêng cho miền có sẵn thường có thể được chia thành hai loại, một là máy dò hai giai đoạn, máy dò tiêu biểu nhất, Faster R-CNN Loại còn lại là máy dò một giai đoạn, chẳng hạn như YOLO, SSD Máy dò hai giai đoạn có độ chính xác nhận dạng đối tượng và nội địa hóa cao, trong khi máy dò một giai đoạn đạt được tốc độ suy luận cao Hai giai đoạn của máy dò hai giai đoạn có thể được chia theo lớp tổng hợp RoI (Khu vực quan tâm) Chẳng hạn,
Hình 2.2 Cấu trúc máy dò phát hiện đối tượng [8] trong Faster R-CNN, giai đoạn đầu tiên, được gọi là RPN, Mạng đề xuất khu vực, đề xuất các hộp giới hạn đối tượng ứng cử viên Giai đoạn thứ hai, các tính năng được trích xuất bởi hoạt động RolPool (Rol Pooling) từ mỗi hộp ứng viên cho các tác vụ hồi quy hộp giới hạn và phân loại sau đây Hình 2.2 (a) cho thấy kiến trúc cơ bản của máy dò hai giai đoạn Hơn nữa, bộ dò một giai đoạn đề xuất các hộp dự đoán từ hình ảnh đầu vào trực tiếp mà không cần bước đề xuất vùng, do đó chúng tiết kiệm thời gian và có thể được sử dụng cho các thiết bị thời gian thực Hình 2.2 (b) thể hiện kiến trúc cơ bản của máy dò một giai đoạn [8].
Máy dò phát hiện đối tượng hai giai đoạn
R-CNN là một máy dò CNN dựa trên khu vực Như Girshick et al đề xuất R- CNN có thể được sử dụng trong các tác vụ phát hiện đối tượng, công trình của họ là công trình đầu tiên cho thấy rằng CNN có thể dẫn đến hiệu suất phát hiện đối tượng cao hơn đáng kể trên bộ dữ liệu PASCAL VOC so với các hệ thống dựa trên các tính năng giống như HOG đơn giản hơn Phương pháp học sâu được kiểm chứng hiệu quả trong lĩnh vực phát hiện đối tượng
Máy dò R-CNN bao gồm bốn mô-đun (Hình 2.3) Mô-đun đầu tiên tạo ra các đề xuất khu vực độc lập với danh mục Mô-đun thứ hai trích xuất một vectơ đặc trưng có độ dài cố định từ mỗi đề xuất vùng Mô-đun thứ ba là một tập hợp các SVM tuyến
Hình 2.3 Tổng quan hệ thống phát hiện đối tượng [8] tính dành riêng cho lớp để phân loại các đối tượng trong một hình ảnh Mô-đun cuối cùng là bộ hồi quy hộp giới hạn để dự đoán chính xác hộp giới hạn Đối với các đề xuất chi tiết, đầu tiên, để tạo ra các đề xuất khu vực, các tác giả sử dụng phương pháp tìm kiếm có chọn lọc Sau đó, một CNN được sử dụng để trích xuất một vectơ đặc trưng 4096 chiều từ mỗi đề xuất khu vực Bởi vì lớp được kết nối đầy đủ cần các vectơ đầu vào có độ dài cố định, các tính năng đề xuất vùng phải có cùng kích thước Các tác giả sử dụng pixel 227 x 227 cố định làm kích thước đầu vào của CNN Như chúng ta đã biết, các đối tượng trong các hình ảnh khác nhau có kích thước và tỷ lệ khung hình khác nhau, điều này làm cho các đề xuất vùng được trích xuất bởi mô- đun đầu tiên có kích thước khác nhau Bất kể kích thước hoặc tỷ lệ khung hình của vùng ứng cử viên là bao nhiêu, các tác giả sẽ làm cong tất cả các pixel trong một hộp giới hạn chặt chẽ xung quanh nó thành kích thước yêu cầu 227 x 227 Mạng trích xuất tính năng bao gồm năm lớp tích chập và hai lớp được kết nối đầy đủ Và tất cả các tham số CNN được chia sẻ trên tất cả các danh mục Mỗi danh mục đào tạo SVM độc lập với danh mục không chia sẻ tham số giữa các SVM khác nhau
Huấn luyện trước trên tập dữ liệu lớn hơn, sau đó là tinh chỉnh trên tập dữ liệu đã chỉ định là một phương pháp huấn luyện tốt để các mạng thần kinh tích chập sâu đạt được sự hội tụ nhanh Đầu tiên, Girshick et al huấn luyện trước CNN trên tập dữ liệu quy mô lớn (tập dữ liệu phân loại ImageNet) Lớp được kết nối đầy đủ cuối cùng được thay thế bằng lớp phân loại 1000 chiều cụ thể của ImageNet của CNN Bước tiếp theo là sử dụng SGD (giảm dần độ dốc ngẫu nhiên) để tinh chỉnh các tham số CNN trên các cửa sổ đề xuất bị biến dạng Lớp được kết nối đầy đủ cuối cùng là lớp phân loại theo chiều (N+1) (N: lớp đối tượng, 1: nền) được khởi tạo ngẫu nhiên
Khi đặt ví dụ tích cực và ví dụ tiêu cực, tác giả chia thành hai tình huống Đầu tiên là xác định ngưỡng chồng lấn IoU (giao cắt trên liên kết) là 0,5 trong quá trình tinh chỉnh Dưới ngưỡng, các đề xuất khu vực được xác định là phủ định trong khi trên ngưỡng đó, các đề xuất đối tượng được xác định là dương Đồng thời, các đề xuất đối tượng có IoU tối đa trùng lặp với lớp sự thật cơ bản được gán cho hộp sự thật cơ sở Một tình huống khác là cài đặt tham số khi huấn luyện SVM Ngược lại, chỉ các hộp sự thật cơ bản được lấy làm ví dụ tích cực cho các lớp tương ứng của chúng và các đề xuất có ít hơn 0,3 IoU trùng lặp với tất cả các trường hợp sự thật cơ bản của một lớp làm đề xuất tiêu cực cho lớp đó Những đề xuất này có độ trùng lặp từ 0,5 đến 1 và chúng không phải là sự thật cơ bản, làm tăng số lượng ví dụ tích cực lên khoảng 30 lần Do đó, một tập hợp lớn như vậy có thể tránh được tình trạng thừa trong quá trình tinh chỉnh một cách hiệu quả
Ross Girshick đề xuất một phiên bản R-CNN nhanh hơn, được gọi là Fast R- CNN (Hình 2.4) Do R-CNN thực hiện chuyển tiếp ConvNet cho từng đề xuất khu vực mà không chia sẻ tính toán nên R-CNN mất nhiều thời gian để phân loại SVM Fast R-CNN trích xuất các đặc điểm từ toàn bộ hình ảnh đầu vào và sau đó chuyển lớp tổng hợp vùng quan tâm (ROI) để lấy các đặc điểm có kích thước cố định làm đầu vào của phân loại và hồi quy hộp giới hạn sau các lớp được kết nối đầy đủ Các tính năng được trích xuất từ toàn bộ hình ảnh một lần và được gửi tới CNN để phân loại và bản địa hóa tại một thời điểm So với R-CNN nhập từng đề xuất khu vực cho CNN, có thể tiết kiệm được một lượng lớn thời gian để xử lý CNN và bộ nhớ đĩa lớn để lưu trữ nhiều tính năng có thể được lưu trong R-CNN nhanh Như đã đề cập ở trên, đào tạo R-CNN là một quy trình gồm nhiều giai đoạn bao gồm giai đoạn tiền đào tạo, giai đoạn tinh chỉnh, SVMS giai đoạn phân loại và giai đoạn hồi quy hộp giới hạn
Hình 2.4 Cấu trúc Fast R-CNN [8]
Fast R-CNN là quy trình đào tạo một giai đoạn từ đầu đến cuối bằng cách sử dụng tổn thất đa tác vụ trên mỗi Rol được gắn nhãn để cùng đào tạo mạng
Một cải tiến khác là Fast R-CNN sử dụng lớp tổng hợp Rol để trích xuất bản đồ tính năng có kích thước cố định từ các đề xuất khu vực có kích thước khác nhau Hoạt động này không cần các vùng cong vênh và bảo lưu thông tin không gian của các tính năng của các đề xuất vùng Để phát hiện nhanh, tác giả sử dụng SVD bị cắt bớt để tăng tốc quá trình chuyển tiếp tính toán các lớp được kết nối đầy đủ
Kết quả thử nghiệm cho thấy Fast R-CNN có 66,9% mAP trong khi R-CNN là 66,0% trên bộ dữ liệu PASCAL VOC 2007 Thời gian đào tạo giảm xuống còn 9,5h so với R-CNN là 84h, nhanh gấp 9 lần Đối với tốc độ thử nghiệm (giây/hình ảnh), Fast R-CNN với SVD bị cắt ngắn (0,32 giây) nhanh hơn 213 lần so với R-CNN (47 giây) Các thử nghiệm này được thực hiện trên GPU Nvidia K40, điều này chứng minh rằng Fast R-CNN đã tăng tốc quá trình phát hiện đối tượng
Ba tháng sau khi Fast R-CNN được đề xuất, Faster R-CNN [11] tiếp tục cải thiện đường cơ sở CNN dựa trên khu vực R-CNN nhanh sử dụng tìm kiếm có chọn lọc để đề xuất RoI, chậm và cần thời gian chạy giống như mạng phát hiện R-CNN nhanh hơn thay thế nó bằng một RPN mới (mạng đề xuất khu vực) là mạng tích chập hoàn toàn để dự đoán hiệu quả các đề xuất khu vực với nhiều phạm vi quy mô và tỷ lệ khung hình RPN tăng tốc độ tạo các đề xuất khu vực vì nó chia sẻ các tính năng tích chập hình ảnh đầy đủ và một tập hợp các lớp tích chập chung với mạng phát hiện Hơn nữa, một phương pháp mới để phát hiện đối tượng có kích thước khác nhau là sử dụng các điểm neo đa tỷ lệ làm tham chiếu Các neo có thể đơn giản hóa rất nhiều quá trình tạo các đề xuất khu vực có kích thước khác nhau mà không cần nhiều tỷ lệ hình ảnh hoặc tính năng đầu vào Trên các đầu ra (bản đồ đặc trưng) của lớp tích chập được chia sẻ cuối cùng, trượt một cửa sổ có kích thước cố định (3 × 3), điểm trung tâm của mỗi cửa sổ đặc trưng tương ứng với một điểm của hình ảnh đầu vào ban đầu là điểm trung tâm của k ( 3 × 3) hộp neo Các tác giả định nghĩa anchor box có 3 tỷ lệ và 3 tỷ lệ khung hình khác nhau Đề xuất vùng được tham số hóa tương ứng với hộp neo tham chiếu Sau đó, họ đo khoảng cách giữa hộp dự đoán và hộp sự thật cơ sở tương ứng của nó để tối ưu hóa vị trí của hộp dự đoán
Các thí nghiệm chỉ ra rằng Faster R-CNN đã cải thiện đáng kể cả độ chính xác và hiệu quả phát hiện Trên bộ thử nghiệm PASCAL VOC 2007, Faster R-CNN đạt được mAP là 69,9% so với Fast R-CNN là 66,9% với các phép tính phức tạp được chia sẻ Đồng thời, tổng thời gian chạy của Faster R-CNN (198 mili giây) thấp hơn gần 10 lần so với Fast R-CNN (1830 mili giây) với cùng một đường trục VGG và tốc độ xử lý là 5 khung hình/giây so với 0,5 khung hình/giây
Mask R-CNN [5] là một công việc mở rộng sang Faster R- CNN chủ yếu cho tác vụ phân đoạn phiên bản Bất kể việc thêm nhánh mặt nạ song song, có thể thấy Mask R-CNN là một máy dò đối tượng chính xác hơn He và cộng sự sử dụng Faster R-CNN với ResNet-FPN (mạng kim tự tháp tính năng, xương sống trích xuất các tính năng Rol từ các cấp khác nhau của kim tự tháp tính năng theo tỷ lệ của chúng) để trích xuất các tính năng đạt được độ chính xác và tốc độ xử lý tuyệt vời FPN chứa đường dẫn từ dưới lên và đường dẫn từ trên xuống với các kết nối bên Lộ trình từ dưới lên là ConvNet xương sống tính toán hệ thống phân cấp đối tượng bao gồm các
Hình 2.5 Nền tảng Mask R-CNN cho phân đoạn đối tượng riêng biệt [5] bản đồ đối tượng ở một số tỷ lệ với bước chia tỷ lệ là 2 Lộ trình từ trên xuống tạo ra các đối tượng có độ phân giải cao hơn bằng cách lấy mẫu bản đồ đối tượng thô hơn về mặt không gian nhưng mạnh hơn về mặt ngữ nghĩa từ các cấp kim tự tháp cao hơn Lúc đầu, các bản đồ đặc trưng của kim tự tháp trên cùng được chụp bởi đầu ra của lớp tích chập cuối cùng của lộ trình từ dưới lên Mỗi kết nối bên hợp nhất các bản đồ đặc trưng có cùng kích thước không gian từ lộ trình từ dưới lên và lộ trình từ trên xuống Mặc dù kích thước của bản đồ đối tượng là khác nhau, nhưng lớp tích chập 1x1 có thể thay đổi kích thước Sau khi trải qua hoạt động kết nối bên, sẽ hình thành một cấp độ kim tự tháp mới và các dự đoán được thực hiện độc lập trên từng cấp độ
Vì các bản đồ tính năng có độ phân giải cao hơn rất quan trọng để phát hiện các đối tượng nhỏ trong khi các bản đồ tính năng có độ phân giải thấp hơn rất giàu thông tin ngữ nghĩa, mạng kim tự tháp tính năng trích xuất các tính năng quan trọng.
Máy dò phát hiện đối tượng một giai đoạn
YOLO [10] (you only look once) là công cụ phát hiện đối tượng một giai đoạn được đề xuất bởi Redmon et al sau Faster R-CNN Các đóng góp chính là phát hiện hình ảnh đầy đủ và webcam theo thời gian thực Đầu tiên, đó là do hệ thống này chỉ dự đoán ít hơn 100 hộp giới hạn cho mỗi hình ảnh trong khi Fast R-CNN sử dụng tìm kiếm có chọn lọc dự đoán 2000 đề xuất vùng cho mỗi hình ảnh Thứ hai, phát hiện khung YOLO là một vấn đề hồi quy, do đó, một kiến trúc hợp nhất có thể trích xuất trực tiếp các tính năng từ hình ảnh đầu vào để dự đoán các hộp giới hạn và xác suất của lớp Mạng YOLO chạy ở tốc độ 45 khung hình/giây mà không xử lý hàng loạt trên GPU Titan X so với Fast R-CNN ở tốc độ 0,5 khung hình/giây và Faster R-CNN ở tốc độ 7 khung hình/giây
Trước tiên, quy trình YOLO chia hình ảnh đầu vào thành lưới S x S, trong đó một ô lưới chịu trách nhiệm phát hiện đối tượng có tâm rơi vào Điểm tin cậy có được bằng cách nhân hai phần, trong đó P(đối tượng) biểu thị xác suất của hộp chứa đối tượng và IOU (giao điểm trên hợp) cho biết mức độ chính xác của hộp chứa đối tượng đó Mỗi ô lưới dự đoán B hộp giới hạn (x, y, w, h) và điểm tin cậy cho chúng và xác suất lớp có điều kiện chiều C cho danh mục C Mạng trích xuất tính năng chứa 24 lớp chập theo sau là 2 lớp được kết nối đầy đủ Khi đào tạo trước trên tập dữ liệu ImageNet, các tác giả sử dụng 20 lớp tích chập đầu tiên và lớp tổng hợp trung bình, theo sau là lớp được kết nối đầy đủ Để phát hiện, toàn bộ mạng được sử dụng để có hiệu suất tốt hơn Để có được thông tin trực quan chi tiết nhằm cải thiện độ chính xác của phát hiện, trong giai đoạn phát hiện, hãy tăng gấp đôi độ phân giải đầu vào là 224 × 224 trong giai đoạn đào tạo trước
YOLOv2 là phiên bản thứ hai của YOLO, áp dụng một loạt các quyết định thiết kế từ các công trình trước đây với các khái niệm mới để cải thiện tốc độ và độ chính xác của YOLO
Chuẩn hóa hàng loạt (Batch Normalization) Đã sửa lỗi phân phối đầu vào cho lớp ConvNet sẽ có kết quả tích cực cho các lớp Việc chuẩn hóa toàn bộ tập huấn luyện là không thực tế vì bước tối ưu hóa sử dụng phương pháp giảm dần độ dốc ngẫu nhiên Vì SGD sử dụng các lô nhỏ trong quá trình đào tạo, mỗi lô nhỏ tạo ra các ước tính về giá trị trung bình và phương sai của mỗi lần kích hoạt Tính toán giá trị trung bình và phương sai của lô nhỏ cỡ m, sau đó chuẩn hóa kích hoạt của số m để có giá trị trung bình bằng 0 và phương sai bằng 1 Cuối cùng, các phần tử của mỗi lô nhỏ được lấy mẫu từ cùng một phân phối Hoạt động này có thể được xem như một lớp
BN tạo ra các kích hoạt có cùng phân phối YOLOv2 thêm một lớp BN trước mỗi lớp chập giúp tăng tốc mạng để đạt được sự hội tụ và giúp chuẩn hóa mô hình Chuẩn hóa hàng loạt cải thiện hơn 2% trong mAP
Trình phân loại độ phân giải cao (High Resolution Classifier) Trong đường trục YOLO, bộ phân loại sử dụng độ phân giải đầu vào là 224 x 224, sau đó tăng độ phân giải lên 448 để phát hiện Quá trình này cần mạng điều chỉnh theo đầu vào có độ phân giải mới khi chuyển sang tác vụ phát hiện đối tượng Để giải quyết vấn đề này, YOLOv2 thêm một quy trình tinh chỉnh vào mạng phân loại ở 448 × 448 cho 10 kỷ nguyên trên tập dữ liệu ImageNet giúp tăng mAP lên 4%
Convolutional with Anchor Boxes Trong các mạng YOLO ban đầu, tọa độ của các hộp dự đoán được tạo trực tiếp bởi các lớp được kết nối đầy đủ R-CNN nhanh hơn sử dụng các hộp neo làm tham chiếu để tạo độ lệch với các hộp dự đoán YOLOv2 áp dụng cơ chế dự đoán này và trước hết loại bỏ các lớp được kết nối đầy đủ Sau đó, nó dự đoán lớp và tính đối tượng cho mọi hộp neo Hoạt động này tăng khả năng thu hồi 7% trong khi mAP giảm 0,3%
Dự đoán kích thước và tỷ lệ khung hình của các hộp neo bằng cách sử dụng các cụm kích thước Trong Faster R-CNN, kích thước và tỷ lệ khung hình của các hộp neo được xác định theo kinh nghiệm Để dễ học hơn trong việc dự đoán các phát hiện tốt, YOLOv2 sử dụng cụm K-means trên các hộp giới hạn của tập huấn luyện để tự động nhận được các ưu tiên tốt Việc sử dụng các cụm kích thước cùng với dự đoán trực tiếp vị trí trung tâm của hộp giới hạn giúp cải thiện YOLO gần 5% so với phiên bản trên với các hộp neo
Các tính năng chi tiết (Fine-Grained Features) Để bản địa hóa các đối tượng nhỏ hơn, bản đồ tính năng có độ phân giải cao có thể cung cấp thông tin hữu ích Tương tự như ánh xạ nhận dạng trong ResNet, YOLOV2 kết hợp các tính năng có độ phân giải cao hơn với các tính năng có độ phân giải thấp bằng cách xếp chồng các tính năng liền kề vào các kênh khác nhau giúp tăng hiệu suất khiêm tốn 1% Đào tạo đa quy mô Để các mạng trở nên mạnh mẽ để chạy trên các hình ảnh có kích thước khác nhau, cứ sau 10 lô, mạng sẽ chọn ngẫu nhiên một kích thước kích thước hình ảnh mới từ {320, 352, , 608} Điều này có nghĩa là cùng một mạng có thể dự đoán các phát hiện ở các độ phân giải khác nhau
YOLOv3 là phiên bản cải tiến của YOLOv2 Đầu tiên, YOLOv3 sử dụng phân loại đa nhãn (phân loại logistic độc lập) để thích ứng với các bộ dữ liệu phức tạp hơn chứa nhiều nhãn chồng chéo Thứ hai, YOLOv3 sử dụng ba bản đồ tính năng tỷ lệ khác nhau để dự đoán hộp giới hạn Lớp tích chập cuối cùng dự đoán lớp mã hóa tensor 3 chiều dự đoán, tính đối tượng và hộp giới hạn Thứ ba, YOLOv3 đề xuất một trình trích xuất tính năng sâu hơn và mạnh mẽ hơn, được gọi là Darknet-53 (Bảng 2.1), lấy cảm hứng từ ResNet
SSD [9], công cụ phát hiện một lần cho nhiều danh mục trong một giai đoạn dự đoán trực tiếp điểm số danh mục và độ lệch hộp cho một tập hợp cố định các hộp giới hạn mặc định có tỷ lệ khác nhau tại mỗi vị trí trong một số bản đồ đặc trưng có tỷ lệ khác nhau, như minh họa trong Hình 2.7 Các hộp giới hạn mặc định có tỷ lệ khung hình và tỷ lệ khác nhau trong mỗi bản đồ tính năng Trong các bản đồ đối tượng khác nhau, tỷ lệ của các hộp giới hạn mặc định được tính toán với khoảng cách đều đặn giữa lớp cao nhất và lớp thấp nhất nơi mỗi bản đồ đối tượng cụ thể học cách phản ứng với tỷ lệ cụ thể của các đối tượng Đối với mỗi hộp mặc định, nó dự đoán cả độ lệch và độ tin cậy cho tất cả các loại đối tượng (Hình 2.8) Tại thời điểm đào tạo, khớp với các hộp giới hạn mặc định này để căn cứ vào hộp sự thật trong đó các
Bảng 2.1 Darknet-53 hộp mặc định phù hợp là ví dụ tích cực và phần còn lại là tiêu cực Đối với số lượng lớn hộp mặc định là âm bản, các tác giả áp dụng khai thác tiêu cực cứng bằng cách sử dụng mức độ mất tin cậy cao nhất cho mỗi hộp mặc định, sau đó chọn những hộp trên cùng để tạo tỷ lệ giữa âm bản và dương tính nhiều nhất là 3:1 Đồng thời, các tác giả thực hiện tăng cường dữ liệu đã được chứng minh là một cách hiệu quả để nâng cao độ chính xác với biên độ lớn
DSSD (Deconvolutional Single Shot Detector) là phiên bản sửa đổi của SSD (Single Shot Detector) bổ sung mô-đun dự đoán và mô-đun giải chập cũng sử dụng ResNet-101 làm xương sống Kiến trúc của DSSD được hiển thị trong Hình 2.9 Đối với mô-đun dự đoán, Fu et al thêm một khối dư vào mỗi lớp dự đoán, sau đó thực hiện bổ sung theo từng phần tử của các đầu ra của lớp dự đoán và khối dư Mô-đun giải mã tăng độ phân giải của bản đồ tính năng để tăng cường tính năng Mỗi lớp giải mã theo sau bởi một mô-đun dự đoán là để dự đoán nhiều loại đối tượng với các kích cỡ khác nhau Trong quá trình đào tạo, trước tiên, các tác giả đào tạo trước mạng đường trục dựa trên ResNet-101 trên tập dữ liệu ILSVRC CLS- LOC, sau đó sử dụng đầu vào 321 x 321 hoặc đầu vào 513 × 513 để đào tạo mô hình SSD gốc trên tập dữ liệu phát hiện Cuối cùng, họ đào tạo mô-đun giải mã đóng băng tất cả trọng lượng của mô-đun SSD
RetinaNet là công cụ phát hiện đối tượng một giai đoạn với tiêu cự là hàm mất phân loại được đề xuất bởi Lin và cộng sự vào tháng 2 năm 2018 Kiến trúc của RetinaNet được hiển thị trong Hình 2.10 R-CNN là một máy dò đối tượng hai giai đoạn điển hình Giai đoạn đầu tiên tạo ra một tập hợp thưa thớt các đề xuất khu vực và giai đoạn thứ hai phân loại từng vị trí ứng cử viên Do giai đoạn đầu tiên lọc ra phần lớn các vị trí phủ định, máy dò đối tượng hai giai đoạn có thể đạt được độ chính
Hình 2.9 Mô hình mạng DSSD [8] xác cao hơn so với máy dò một giai đoạn đề xuất một tập hợp dày đặc các vị trí ứng cử viên Lý do chính là sự mất cân bằng cực độ của lớp nền trước-nền khi các bộ dò một giai đoạn đào tạo các mạng để đạt được sự hội tụ Vì vậy, các tác giả đề xuất một hàm mất mát, được gọi là mất tiêu điểm, có thể làm giảm trọng lượng của mất mát được gán cho các ví dụ dễ dàng hoặc được phân loại tốt Mất tiêu điểm tập trung vào các ví dụ đào tạo chăm chỉ và tránh số lượng lớn các ví dụ tiêu cực dễ dàng áp đảo máy dò trong quá trình đào tạo RetinaNet kế thừa tốc độ nhanh của các máy dò một giai đoạn trước đó trong khi khắc phục rất nhiều nhược điểm của các máy dò một giai đoạn khó huấn luyện các ví dụ dương và âm không cân bằng.
Một số thách thức chính trong phát hiện đối tượng
2.4.1 Những thách thức liên quan đến độ chính xác
Những thách thức về độ chính xác của phát hiện bắt nguồn từ (1) phạm vi rộng lớn của các biến thể trong lớp và (2) số lượng lớn các loại đối tượng Các biến thể trong lớp có thể được chia thành hai loại: yếu tố nội tại và điều kiện hình ảnh Về các yếu tố nội tại, mỗi loại đối tượng có thể có nhiều thể hiện đối tượng khác nhau, có thể khác nhau về một hoặc nhiều màu sắc, kết cấu, chất liệu, hình dạng và kích thước Ngay cả trong một lớp được xác định hẹp hơn, chẳng hạn như người hoặc ngựa, các thể hiện đối tượng có thể xuất hiện ở các tư thế khác nhau, tùy thuộc vào các biến dạng không cứng nhắc
Hình 2.10 Mô hình mạng RetinaNet [8]
Các biến thể về điều kiện hình ảnh được gây ra bởi các tác động đáng kể mà môi trường không bị hạn chế có thể có đối với hình thức của đối tượng, chẳng hạn như ánh sáng (bình minh, ban ngày, hoàng hôn, trong nhà), vị trí thực tế, điều kiện thời tiết, máy ảnh, nền, ánh sáng, che khuất và chế độ xem điệu nhảy Tất cả những điều kiện này tạo ra những thay đổi đáng kể về hình thức đối tượng, chẳng hạn như chiếu sáng, tư thế, tỷ lệ, che khuất, lộn xộn, đổ bóng, mờ và chuyển động Những thách thức khác có thể được thêm vào bởi các tạo phẩm số hóa, hỏng tiếng ồn, độ phân giải kém và biến dạng lọc
Ngoài các biến thể nội lớp, số lượng lớn các loại đối tượng, đòi hỏi khả năng phân biệt lớn từ máy dò để phân biệt giữa các biến thể giữa các lớp khác nhau một cách tinh tế Trên thực tế, các máy dò hiện tại tập trung chủ yếu vào các danh mục đối tượng có cấu trúc Rõ ràng, số lượng danh mục đối tượng đang được xem xét trong bộ dữ liệu điểm chuẩn hiện tại nhỏ hơn nhiều so với con người có thể nhận ra
2.4.2 Những thách thức liên quan đến hiệu quả và khả năng mở rộng
Sự phổ biến của các mạng truyền thông xã hội và thiết bị di động/thiết bị đeo được đã dẫn đến nhu cầu phân tích dữ liệu trực quan ngày càng tăng Tuy nhiên, thiết bị di động/thiết bị đeo được có khả năng tính toán và không gian lưu trữ hạn chế, khiến cho việc phát hiện đối tượng hiệu quả trở nên quan trọng Các thách thức về hiệu quả xuất phát từ nhu cầu bản địa hóa và nhận dạng, độ phức tạp tính toán tăng lên với số lượng (có thể lớn) các loại đối tượng và với số lượng vị trí và tỷ lệ (có thể rất lớn) trong một hình ảnh Một thách thức nữa là khả năng mở rộng: Máy dò có thể xử lý các đối tượng chưa từng thấy trước đó, tình huống chưa biết và tốc độ dữ liệu cao Khi số lượng hình ảnh và số lượng danh mục tiếp tục tăng lên, có thể không thể chú thích chúng theo cách thủ công, buộc phải dựa vào các chiến lược được giám sát yếu.
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
Nhận dạng phương tiện giao thông là một lĩnh vực quan trọng trong trí tuệ nhân tạo và thị giác máy tính Với sự phát triển nhanh chóng của công nghệ, việc nhận dạng và phân loại các loại phương tiện giao thông trong hình ảnh hoặc video đã trở thành một yếu tố quan trọng trong việc nâng cao hiệu suất và an toàn giao thông Phương tiện giao thông đóng vai trò quan trọng trong cuộc sống hàng ngày của chúng ta Việc nhận dạng và phân loại các loại phương tiện giao thông có thể cung cấp thông tin quan trọng về giao thông, hỗ trợ quản lý đô thị, nâng cao an ninh và hỗ trợ xe tự hành Trong những năm gần đây, sự phát triển của trí tuệ nhân tạo và thị giác máy tính đã mở ra những cánh cửa mới cho việc áp dụng các phương pháp nhận dạng phương tiện giao thông Ứng dụng thực tế:
Công nghệ nhận dạng phương tiện giao thông đã được áp dụng rộng rãi trong nhiều lĩnh vực thực tế Dưới đây là một số ứng dụng chính của nhận dạng phương tiện giao thông:
- Giám sát giao thông: Công nghệ nhận dạng phương tiện giao thông có thể được sử dụng để giám sát và đếm lưu lượng giao thông trên các tuyến đường, đảm bảo an toàn và hiệu suất giao thông tốt hơn
- Phát hiện vi phạm giao thông: Nhận dạng phương tiện giao thông có thể được sử dụng để phát hiện các hành vi vi phạm giao thông như vượt đèn đỏ, lấn làn đường, và sử dụng điện thoại khi lái xe
- Quản lý bãi đỗ xe: Công nghệ nhận dạng phương tiện giao thông có thể hỗ trợ quản lý bãi đỗ xe thông minh, giúp định vị và xác định sự sẵn có của chỗ đỗ xe trống
- Hỗ trợ hệ thống điều khiển giao thông thông minh: Nhận dạng phương tiện giao thông có thể cung cấp thông tin về lưu lượng giao thông thời gian thực, từ đó hỗ trợ hệ thống điều khiển giao thông thông minh để tối ưu hóa luồng giao thông và giảm ùn tắc
- Xe tự hành: Công nghệ nhận dạng phương tiện giao thông đóng vai trò quan trọng trong phát triển xe tự hành Nhận dạng và định danh các phương tiện giao thông xung quanh giúp xe tự hành nhận biết và phản ứng đúng với môi trường giao thông xung quanh
Tổng quan của mô hình đề xuất được thể hiện như trong Hình 3.1 Dữ liệu đầu vào là các video giám sát tại các giao lộ Nghiên cứu này sẽ thực hiện phát hiện 5 loại phương tiện giao thông đường bộ phổ biến, bao gồm: xe đạp, xe máy, xe hơi, xe buýt và xe tải Đầu tiên, hệ thống thực hiện trích xuất các khung ảnh liên tiếp từ video đầu vào để thực hiện xử lý trên các khung ảnh riêng biệt đó Tốc độ lấy mẫu là số khung hình trên 1 giây (Frame per second - fps) và được thiết lập tùy chỉnh Tiếp theo, mô hình mạng nơ-ron tích chập (CNN) được sử dụng để phát hiện các đối tượng trên mỗi hình ảnh Mô hình YOLOv8 được sử dụng để thực hiện và phát triển hệ thống Mô hình này là một trong những mô hình phát hiện đối tượng tiên tiến và độ chính xác
Hình 3.1 Tổng quan về mô hình đề xuất rất cao Mô hình YOLOv8 được huấn luyện mới để có thể phát hiện 5 loại phương tiên giao thông như trên Cuối cùng, ảnh kết quả là hình ảnh xác định được vị trí các loại phương tiện giao thông bởi các hộp giới hạn (bounding boxes) Từ đó, hệ thống có thể thống kê được số lượng của mỗi loại phương tiện và tổng số lượng phương giao thông tại các giao lộ.
Thu thập cơ sở dữ liệu về phương tiện giao thông
Cơ sở dữ liệu 5 phương tiện giao thông: Cơ sở dữ liệu này bao gồm 2.500 hình ảnh của 5 loại phương tiện giao thông đường bộ phổ biến, bao gồm: xe đạp, xe máy, xe hơi, xe buýt và xe tải Trong đó, số lượng ảnh ở mỗi lớp đối tượng bằng nhau là
500 hình ảnh Cơ sở dữ liệu này được chia làm 2 phần là tập dữ liệu huấn luyện (Training dataset) và tập dữ liệu kiểm thử (Testing dataset), với tỉ lệ tương ứng là 70% và 30% Cơ sở dữ liệu này được tổng hợp từ một số nguồn dữ liệu khác nhau,
Bảng 3.1 Thông tin chi tiết các cơ sở dữ liệu thực nghiệm
Tên đối tượng Nguồn cơ sở dữ liệu Số lượng ảnh gốc
Số lượng ảnh sử dụng
1 Xe_dap Xe đạp Poribohon-BD dataset:
3 Xe_hoi Xe hơi Car dataset: Thư mục “cars_train” 8.144 500
Thư mục “Truck” 730 500 bao gồm: Poribohon-BD dataset [17], Car dataset [18] và Bus dataset [19] Thông tin chi tiết các lớp đối tượng trong cơ sở dữ liệu được thể hiện trong Bảng 3.1 Hình 3.2 và 3.3 minh họa ảnh các lớp trong cơ sở dữ liệu a) Xe đạp b) Xe máy
Hình 3.2 Minh họa ảnh 2 lớp đối tượng: Xe đạp và xe máy a) Xe hơi b) Xe buýt c) Xe tải
Hình 3.3 Minh họa ảnh 3 lớp đối tượng: Xe hơi, xe buýt và xe tải
Mô hình sau khi được huấn luyện, kiểm thử và đánh giá thì sẽ được triển khai ứng dụng Nghiên cứu này sẽ ước lượng mật độ giao thông tại các giao lộ được cho phép tại ứng dụng C-Thái Nguyên [16] Hình 3.4 thể hiện giao diện chính trên ứng dụng C-Thái Nguyên Trong đó, chức năng “Camera trực tuyến” cho phép quan sát trực tiếp tình hình giao thông tại 15 điểm giao lộ thuộc tỉnh Thái Nguyên, bao gồm: Cầu Gia Bẩy; Chợ Thái; Cổng Tam Quan; Đường tròn Đồng Quang; Đường tròn Gang Thép; Đường tròn Tân Long; Đường tròn Trung Tâm; Lương Ngọc Quyến- LTV; Minh Cầu-HVT; Minh Cầu Hoàng Ngân; Ngã ba Mỏ Bạch; Ngã ba Nông Lâm- DTM; Quang Trung-Việt Bắc; Quang Trung Z115; Quảng trường Võ Nguyên Giáp (Tên các điểm giao lộ ghi theo tên trên ứng dụng C-Thái Nguyên) Trong quá trình tiến hành nghiên cứu này, các video đã được ghi lại để đưa vào hệ thống xử lý, phân tích và thống kê
Hình 3.4 Giao diện chính trên ứng dụng C-Thái Nguyên
3.2.3 Công cụ gán nhãn dữ liệu Make Sense
Trong quá trình tạo ra cơ sở dữ liệu, đầu tiên, dữ liệu thu thập được ở dạng thô (Raw data) là hình ảnh của đối tượng người cần phát hiện Sau đó, những hình ảnh này sẽ được gán nhãn (Data labeling) nhằm cung cấp thông tin để mô hình phát triển có thể học hỏi từ dữ liệu đó Trong nghiên cứu này, công cụ Make Sense [20] được sử dụng để gán nhãn các hình ảnh
Trong lĩnh vực trí tuệ nhân tạo và học máy đang phát triển nhanh chóng, việc có sẵn dữ liệu được gán nhãn chất lượng cao là rất quan trọng để huấn luyện và phát triển các mô hình chính xác Một trong những thách thức chính trong lĩnh vực này là việc gán nhãn cho hình ảnh và video, bao gồm việc gán nhãn chính xác cho các đối tượng và vùng quan tâm Để giải quyết nhu cầu này, công cụ gán nhãn tiên tiến "Make Sense" đã xuất hiện như một giải pháp mạnh mẽ Với giao diện dễ sử dụng và các tính năng tiên tiến, Make Sense giúp người dùng gán nhãn và gắn kết dữ liệu hình ảnh và video một cách hiệu quả, tạo điều kiện thuận lợi cho nhiều ứng dụng như phát hiện đối tượng, phân loại hình ảnh và phân đoạn ngữ nghĩa
Giao diện người dùng và quy trình làm việc:
Hình 3.5 thể hiện giao diện làm việc trên công cụ Make Sense Make Sense sở hữu một giao diện người dùng thân thiện và trực quan đảm bảo tính dễ sử dụng và quy trình gán nhãn mượt mà Khi mở công cụ, người dùng sẽ được trình bày một không gian làm việc hấp dẫn mắt nơi họ có thể dễ dàng tải lên hình ảnh hoặc video để gán nhãn Không gian làm việc này được trang bị một bộ công cụ gán nhãn toàn diện, cho phép người dùng vẽ các hộp giới hạn, đa giác, điểm nổi và nhiều công cụ khác Công cụ cung cấp cả tùy chọn gán nhãn thủ công và bán tự động, phù hợp với sở thích và yêu cầu của người dùng và dự án cụ thể
Gán nhãn đa lớp và gán nhãn phân cấp:
Make Sense hỗ trợ gán nhãn đa lớp, cho phép người dùng tạo và gán nhãn cho nhiều lớp đối tượng khác nhau trong một hình ảnh hoặc video Điều này rất hữu ích khi làm việc với các bộ dữ liệu phức tạp chứa nhiều đối tượng yêu cầu các nhãn riêng biệt Ngoài ra, công cụ còn hỗ trợ gán nhãn phân cấp, cho phép người dùng tạo mối quan hệ cha-con giữa các nhãn Tính năng này đặc biệt hữu ích trong các tình huống mà các đối tượng có cấu trúc phân cấp, ví dụ như gán nhãn các cấu trúc cơ thể hoặc kiến trúc
Gán nhãn đồng thời và gán nhãn theo khung hình: Để tối ưu quá trình gán nhãn trong video, Make Sense cung cấp tính năng gán nhãn đồng thời và gán nhãn theo khung hình Người dùng có thể gán nhãn đồng thời nhiều khung hình trong một video, loại bỏ việc gán nhãn trùng lặp Tính năng này giúp giảm thời gian gán nhãn và cải thiện hiệu suất tổng thể, đặc biệt là khi làm việc với video dài hoặc bộ dữ liệu có tốc độ khung hình cao
Gán nhãn tương tác và điều chỉnh:
Make Sense cung cấp khả năng gán nhãn tương tác, cho phép người dùng tương tác với các nhãn đã được gán và điều chỉnh vị trí, kích thước và hình dạng của chúng Mức kiểm soát này đảm bảo việc gán nhãn chính xác và chính xác, nâng cao chất lượng của dữ liệu đã được gán nhãn Người dùng có thể dễ dàng điều chỉnh và cải thiện các nhãn, đảm bảo chúng phù hợp với các đối tượng quan tâm trong hình
Hình 3.5 Giao diện làm việc trên công cụ Make Sense ảnh hoặc video Ngoài ra, công cụ hỗ trợ theo dõi gán nhãn, cho phép người dùng theo dõi đối tượng qua các khung hình trong một video, duy trì tính nhất quán và độ chính xác trong quá trình gán nhãn
Xuất dữ liệu và tích hợp:
Make Sense cho phép xuất dữ liệu gán nhãn dễ dàng với nhiều định dạng phổ biến như Pascal VOC, YOLO, COCO và nhiều định dạng khác Tính linh hoạt này giúp dễ dàng tích hợp với các framework và quy trình làm việc học máy hiện có Dữ liệu đã được xuất có thể được sử dụng trực tiếp cho huấn luyện mô hình, đánh giá hoặc phân tích tiếp theo Make Sense đảm bảo khả năng tương thích với các định dạng tiêu chuẩn của ngành, tạo điều kiện thuận lợi cho tương tác và sự hợp tác mượt mà giữa các nhà nghiên cứu, nhà phát triển và các nhà khoa học dữ liệu
Hợp tác và quản lý dự án:
Hợp tác và quản lý dự án là những khía cạnh cần thiết của một công cụ gán nhãn Make Sense giải quyết những yêu cầu này bằng cung cấp các chức năng quản lý dự án Người dùng có thể tạo và quản lý dự án, mời cộng tác viên và gán vai trò và quyền hạn Công cụ hỗ trợ hợp tác thời gian thực, cho phép nhiều người dùng làm việc đồng thời trên cùng một dự án, khuyến khích sự hợp tác và cải thiện năng suất
Tóm lại, Make Sense là một công cụ gán nhãn hình ảnh và video hiện đại và mạnh mẽ, đơn giản hóa quá trình gán nhãn và gắn kết dữ liệu cho các nhiệm vụ học máy khác nhau Giao diện người dùng thân thiện, hỗ trợ gán nhãn đa lớp, gán nhãn phân cấp, gán nhãn đồng thời và gán nhãn tương tác giúp công cụ trở thành sự lựa chọn xuất sắc cho nhà nghiên cứu, nhà khoa học dữ liệu và nhà phát triển Với khả năng tích hợp mượt mà và tùy chọn xuất dữ liệu đa dạng, Make Sense giúp người dùng tạo ra các bộ dữ liệu đã được gán nhãn chất lượng cao, cần thiết để huấn luyện và phát triển các mô hình trí tuệ nhân tạo chính xác Cho dù bạn đang làm việc trong phát hiện đối tượng, phân loại hình ảnh hay phân đoạn ngữ nghĩa, Make Sense là một công cụ quý giá giúp tăng tốc quá trình làm việc và đạt được kết quả tốt hơn.
Huấn luyện mô hình
Trong nghiên cứu này, mô hình YOLOv8 [21] được sử dụng để xây dựng hệ thống Mô hình YOLOv8 được phát triển bởi nhóm nghiên cứu Ultralytics – được thành lập bởi Glenn Jocher [22] Mô hình YOLOv8 là một mô hình tiên tiến, hiện đại (State-of-the-art) được xây dựng dựa trên sự thành công của các phiên bản YOLO trước đó Đồng thời, mô hình này giới thiệu các tính năng và cải tiến mới để tăng hiệu suất và tính linh hoạt hơn nữa YOLOv8 được thiết kế để trở nên nhanh chóng, chính xác và dễ sử dụng, khiến nó trở thành lựa chọn tuyệt vời cho nhiều tác vụ phát hiện đối tượng, phân đoạn hình ảnh và phân loại hình ảnh Cấu trúc của mô hình YOLOv8
Hình 3.6 Cấu trúc mô hình YOLOv8 được thể hiện như trong Hình 3.6 Mô hình YOLOv8 có một số phiên bản khác mô hình nhau, như: YOLOv8n, YOLOv8s, YOLOv8m, YOLOv8l và YOLOv8x
Trong tiến trình xây dựng hệ thống, pha đầu tiên là huấn luyện mô hình Trong pha này, chúng ta tiến hành thu thập và gán nhãn dữ liệu để tạo ra cơ sở dữ liệu phục vụ huấn luyện và kiểm thử mô hình Tiếp theo, mô hình YOLOv8n được lựa chọn và huấn luyện để phát triển hệ thống
3.3.2 Kết quả huấn luyện mô hình
Sau khi thu thập được cơ sở dữ liệu, chúng ta sẽ tiến hành huấn luyện mô hình mạng YOLOv8n Nhiệm vụ huấn luyện mô hình này rất quan trọng vì nó ảnh hướng trực tiếp đến chất lượng của hệ thống đề xuất Trong phần này, thang đo độ chính xác trung bình (mAP - Mean Average Precision) được sử dụng để đánh giá chất lượng mô hình Thang đo này là một trong những thang đo phổ biến nhất được sử dụng để đánh giá hiệu suất của các mô hình trong phát hiện đối tượng, và được định nghĩa ở Công thức (3.1) Trong đó, AP i là độ chính xác trung bình ở lớp thứ i Hình 3.7 cho thấy độ chính xác của mô hình trong quá trình huấn luyện Độ chính xác được cải
Hình 3.7 Kết quả huấn luyện mô hình thiện sau mỗi epoch Kết thúc epoch thứ 20, độ chính xác của mô hình đạt ở mức cao, tương ứng với mAP50 và mAP50-95 là 0,994 và 0,915
Phân tích và đánh giá kết quả thu được
3.4.1 Đánh giá độ chính xác của mô hình
Như đã đề cập ở trên, cơ sở dữ liệu 5 phương tiện giao thông bao gồm 2.500 hình ảnh của 5 loại phương tiện giao thông đường bộ phổ biến Cơ sở dữ liệu này được chia làm 2 phần là tập dữ liệu huấn luyện (Training dataset) và tập dữ liệu kiểm thử (Testing dataset), với tỉ lệ tương ứng là 70% và 30% Do đó, số lượng trong tập dữ liệu kiểm thử là 750 hình ảnh Trong phần này, chúng ta thực hiện đánh giá mô hình trên tập dữ liệu kiểm thử Hình 3.8 thể hiện kết quả kiểm thử mô hình Độ chính xác trung bình mAP50 ở các lớp đối tượng là rất cao và xấp xỉ bằng nhau Vì vậy, độ chính xác trung bình mAP50 của trung bình tất cả các lớp đối tượng cũng rất tốt là 0,988 Trong khi đó, độ chính xác trung bình mAP50-95 ở các lớp đối tượng có sự
Hình 3.8 Kết quả kiểm thử mô hình khác nhau và cũng ở mức cao Lớp đối tượng xe hơi có độ chính xác trung bình mAP50-95 cao nhất là 0,961 Ngược lại, lớp đối tượng xe máy có độ chính xác trung bình mAP50-95 thấp nhất là 0,702 Tuy nhiên, giá trị này vẫn ở mức chấp nhận được
Do đó, độ chính xác trung bình mAP50-95 của trung bình tất cả các lớp đối tượng đạt được là 0,873 Hình 3.9 minh họa một số kết quả phát hiện đối tượng trong quá trình kiểm thử Các kết quả phát hiện này đều rất chính xác
3.4.2 So sánh kết quả mật độ giao thông tại một số giao lộ
Trong phần này, chúng ta thực hiện đánh giá và so sánh kết quả mật độ giao thông tại một số giao lộ được cho phép tại ứng dụng C-Thái Nguyên Trong đó, chức năng “Camera trực tuyến” cho phép quan sát trực tiếp tình hình giao thông tại 15 điểm giao lộ thuộc tỉnh Thái Nguyên Tuy nhiên, trong quá trình thu thập dữ liệu, đã xác định được 12 giao lộ có tín hiệu video, trong khi có 3 giao lộ không có tín hiệu video, bao gồm: Lương Ngọc Quyến-LTV; Minh Cầu-HVT; Quảng trường Võ Nguyên Giáp (Tên các điểm giao lộ ghi theo tên trên ứng dụng C-Thái Nguyên) Do đó, trong chương trình thử nghiệm, nghiên cứu này thực hiện ghi lại các video của 12 giao lộ trong 1 giờ (Từ 15:00 đến 16:00 ngày 17/03/2023), sau đó thực hiện trích xuất các khung ảnh để tiến hành phân tích, với tốc độ lấy mẫu là 4 giây/ảnh
Hình 3.9 Kết quả phát hiện đối tượng trong quá trình kiểm thử
Hình 3.10 thể hiện kết quả mật độ giao thông tại các giao lộ Từ hình này, chúng ta có thể thấy rằng có một số giao lộ có số lượng phương tiện lớn như Ngã ba Nông Lâm-DTM, đường tròn Đồng Quang và chợ Thái Trong khi đó, một số giao lộ khác lại có số lượng phương tiện rất ít và mật độ giao thông thưa như Cổng Tam Quan và đường tròn Gang Thép Trong thời gian thử nghiệm hệ thống, phương tiện xe hơi và xe máy là hai loại phương tiện phổ biến nhất, đặc biệt tại đường tròn Đồng Quang và đường tròn Trung tâm, với số lượng xe hơi lần lượt là 17.061 và 14.397 Trong khi đó, xe đạp là phương tiện ít nhất trong số 5 phương tiện được đánh giá Bên cạnh đó, Hình 3.11 cũng minh họa kết quả phát hiện phương tiện tại các giao lộ với độ chính xác cao
Hình 3.10 Mật độ giao thông tại một số giao lộ
Hình 3.11 Kết quả phát hiện phương tiện giao thông tại các giao lộ.