Đồ án HCMUTE: Nhận diện phương tiện giao thông sử dụng bộ phát hiện Single Shot Multibox

Đồ án nghiên cứu hcmute nhận diện phương tiện giao thông sử dụng bộ phát hiện single shot multibox, áp dụng công nghệ tiên tiến, tối ưu giải pháp kỹ thuật cho bài toán .

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2019

53
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

LỜI CẢM ƠN

TÓM TẮT

MỤC LỤC

DANH SÁCH HÌNH

DANH SÁCH BẢNG

1. CHƯƠNG 1: TỔNG QUAN

1.1. Đặt vấn đề

1.2. Tình hình nghiên cứu hiện nay

1.2.1. Tình hình nghiên cứu ngoài nước

1.2.2. Tình hình nghiên cứu trong nước

1.3. Mục đích và nội dung của đề tài

1.3.1. Mục đích đề tài

1.3.2. Nội dung của đề tài

1.4. Bố cục của luận văn

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Phân loại hình ảnh và phát hiện đối tượng

2.1.1. Phân loại hình ảnh

2.1.2. Phát hiện đối tượng

2.2. Huấn luyện dữ liệu và đánh giá hệ thống

2.3. Mạng neural tích chập

2.3.1. Các lớp trong ConvNet

2.3.2. Một số kiến trúc mạng ConvNet

2.4. Các bộ dữ liệu

3. CHƯƠNG 3: BỘ NHẬN DIỆN SINGLE SHOT MULTIBOX DETECTOR

3.1. Tìm hiểu về Single Shot Detector (SSD)

3.2. Kiến trúc thuật toán Single Shot Detector

3.2.1. Quá trình dự đoán tích chập

3.2.2. Hộp mặc định và tỷ lệ hướng

3.3. Mục tiêu đào tạo

3.3.1. Ánh xạ các hộp mặc định

3.3.2. Đào tạo tìm ra vật thể

3.3.3. Chọn kích thước và tỷ lệ cho hộp mặc định

4. CHƯƠNG 4: XÂY DỰNG MÔ HÌNH NHẬN DIỆN PHƯƠNG TIỆN GIAO THÔNG

4.1. Giới thiệu và tóm tắt

4.1.1. Yêu cầu chung của mô hình

4.1.2. Đặc tả hệ thống

4.1.3. Phương án thiết kế

4.2. Sơ đồ tổng quan mô hình

4.3. Chuẩn bị dữ liệu

4.4. Tiền xử lý dữ liệu

4.5. Huấn luyện và xây dựng mô hình thời gian thực

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1. Kết luận

5.2. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về nhận diện phương tiện giao thông

Nhận diện phương tiện giao thông là một lĩnh vực quan trọng trong nghiên cứu công nghệ hiện đại, đặc biệt trong bối cảnh đô thị hóa nhanh chóng. Việc sử dụng bộ phát hiện Single Shot Multibox (SSD) cho phép nhận diện các phương tiện giao thông một cách hiệu quả và chính xác. Theo báo cáo của TomTom, tình trạng tắc nghẽn giao thông đã gia tăng đáng kể trong những năm gần đây, đặc biệt tại các thành phố lớn như TP.HCM. Điều này đặt ra yêu cầu cấp thiết về việc phát triển các giải pháp công nghệ nhằm cải thiện tình hình giao thông. Việc áp dụng trí tuệ nhân tạo (AI) và học sâu (Deep Learning) trong nhận diện phương tiện không chỉ giúp giảm thiểu ùn tắc mà còn nâng cao an toàn giao thông. Như vậy, nghiên cứu này không chỉ mang tính lý thuyết mà còn có giá trị thực tiễn cao trong việc ứng dụng vào các hệ thống giao thông thông minh.

1.1. Tình hình nghiên cứu hiện nay

Nghiên cứu về nhận diện phương tiện giao thông đã được thực hiện rộng rãi trên thế giới. Các công ty như Tesla đã áp dụng công nghệ này trong việc phát triển xe tự hành, cho phép xe nhận diện và điều khiển mà không cần sự can thiệp của con người. Tại Việt Nam, mặc dù đã có một số hệ thống camera được lắp đặt để theo dõi tình hình giao thông, nhưng việc ứng dụng công nghệ nhận diện vẫn còn hạn chế. Việc phát triển một mô hình nhận diện phương tiện giao thông hiệu quả và chi phí thấp là rất cần thiết, nhằm cải thiện tình hình giao thông tại các thành phố lớn.

II. Cơ sở lý thuyết về bộ phát hiện Single Shot Multibox

Bộ phát hiện Single Shot Multibox (SSD) là một trong những thuật toán tiên tiến trong lĩnh vực thị giác máy tính (Computer Vision). SSD cho phép phát hiện nhiều đối tượng trong một hình ảnh chỉ trong một lần xử lý, giúp tiết kiệm thời gian và tài nguyên tính toán. Mô hình này sử dụng mạng nơ-ron tích chập (Convolutional Neural Network - CNN) để trích xuất đặc trưng từ hình ảnh, sau đó áp dụng các hộp giới hạn để xác định vị trí và loại đối tượng. Quá trình này không chỉ giúp nhận diện chính xác các phương tiện giao thông mà còn có thể hoạt động trong thời gian thực, điều này rất quan trọng trong việc giám sát giao thông. Việc áp dụng TensorFlowPyTorch trong việc huấn luyện mô hình SSD đã cho thấy hiệu quả cao trong việc cải thiện độ chính xác của nhận diện.

2.1. Kiến trúc thuật toán SSD

Kiến trúc của SSD bao gồm nhiều lớp khác nhau, từ lớp đầu vào cho đến các lớp đầu ra. Mỗi lớp có nhiệm vụ riêng trong việc xử lý và phân tích hình ảnh. SSD sử dụng các hộp mặc định để dự đoán vị trí của các đối tượng trong hình ảnh. Điều này cho phép mô hình nhận diện được nhiều loại phương tiện khác nhau trong cùng một khung hình. Việc tối ưu hóa các tham số trong quá trình huấn luyện là rất quan trọng để đạt được độ chính xác cao. Các nghiên cứu đã chỉ ra rằng SSD có thể đạt được độ chính xác lên đến 70% trong việc nhận diện các phương tiện giao thông, điều này cho thấy tiềm năng lớn của công nghệ này trong việc ứng dụng vào thực tiễn.

III. Ứng dụng thực tiễn của mô hình nhận diện

Mô hình nhận diện phương tiện giao thông sử dụng bộ phát hiện Single Shot Multibox có nhiều ứng dụng thực tiễn trong việc kiểm soát giao thông thông minh. Việc nhận diện chính xác các phương tiện giúp các cơ quan chức năng có thể theo dõi và quản lý tình hình giao thông một cách hiệu quả hơn. Hệ thống có thể được tích hợp vào các ứng dụng di động để cung cấp thông tin về tình trạng giao thông cho người dân, từ đó giúp họ lựa chọn lộ trình di chuyển hợp lý. Ngoài ra, mô hình cũng có thể được sử dụng trong các hệ thống ADAS (Hệ thống hỗ trợ lái xe nâng cao), giúp nâng cao an toàn giao thông. Việc áp dụng AI trong giao thông không chỉ giúp giảm thiểu ùn tắc mà còn góp phần nâng cao chất lượng cuộc sống cho người dân.

3.1. Tương lai của công nghệ nhận diện giao thông

Với sự phát triển không ngừng của công nghệ, tương lai của nhận diện phương tiện giao thông hứa hẹn sẽ có nhiều bước tiến mới. Các nghiên cứu hiện tại đang hướng tới việc cải thiện độ chính xác và tốc độ xử lý của các mô hình nhận diện. Việc kết hợp giữa học sâuthị giác máy tính sẽ mở ra nhiều cơ hội mới trong việc phát triển các ứng dụng giao thông thông minh. Hơn nữa, việc tích hợp các công nghệ mới như OpenCV vào quy trình nhận diện sẽ giúp nâng cao khả năng xử lý hình ảnh và video, từ đó cải thiện hiệu quả của các hệ thống giao thông thông minh.

01/02/2025

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

Đặt vấn đề, giới thiệu về tình hình nghiên cứu hiện nay. Chương 2: Nền tảng cơ sở lý thuyết liên quan đến luận văn, bao gồm một số thuật ngữ chính, các bộ dữ liệu mà chúng ta sẽ dùng, cơ bản về mạng thần kinh tích chập, phân loại ảnh và nhận dạng đối tượng. Chương 3: Trong chương này sẽ trình bày về bộ phát hiện “Single shot multibox detector”. Chương 4: Thiết kế và xây dựng mô hình nhận diện phương tiện giao thông bằng bộ phát hiện Single Shot Multibox Detector.

Chương 5: Đánh giá kết quả, đưa ra các giải pháp phát triển và kết luận của luận án cũng được đưa ra ở chương này. 5 do an Chương 2: CƠ SỞ LÝ THUYẾT Phần này sẽ cung cấp một cái nhìn tổng quan về các nền tảng lý thuyết có liên quan đến đề tài.1 Phân loại hình ảnh và phát hiện đối tượng 2.1 Phân loại hình ảnh Phân loại hình ảnh là một trong những công việc phổ biến nhất trong thị giác máy tính. Đây là một trong những vấn đề được nghiên cứu nhiều nhất trong học máy. Đối với vấn đề này, chương trình sẽ được yêu cầu chỉ ra các nhãn hay lớp của một điểm dữ liệu.

Nhãn này, thường là một phần tử trong một tập hợp có C phần tử khác nhau. Mỗi phần tử trong tập hợp này được gọi là một lớp và thường được đánh số từ 1 đến C phần tử. Để giải vấn đề này, ta thường phải xây dựng một hàm số f : ℝd → {1, 2,. Khi y = f(x), mô hình gán cho một điểm dữ liệu được mô tả bởi véc- tơ đặc trưng x với một nhãn được xác định bởi số y.2 Phát hiện đối tượng Hình 2.1 Phân loại hình ảnh và phát hiện đối tượng Phát hiện đối tượng là thuật ngữ chung dùng để mô tả một tập hợp các nhiệm vụ trong thị giác máy tính có liên quan chặt chẽ đến việc xác định đối tượng và phân loại các đối tượng trong hình ảnh.

Phân loại hình liên quan đến việc dự đoán để chia 6 do an lớp của một đối tượng trong một hình ảnh. Với phát hiện đối tượng thì tạo ra một khung hình bao chưa đối tượng được quan tâm và gán nhãn cho chúng.2 Huấn luyện dữ liệu và đánh giá hệ thống. Học sâu là một nhánh của máy học dựa trên một tập hợp các thuật toán để trừu tượng hóa mô hình dữ liệu ở mức cao bằng cách sử dụng nhiều lớp xử lý với các cấu trúc phức tạp, hoặc bằng các cách khác bao gồm nhiều phép biến đổi phi tuyến. Làm việc với học sâu là một quá trình gồm 2 giai đoạn: đào tạo và suy luận.

Đào tạo là giai đoạn trong đó một mạng neural cố gắng học hỏi từ dữ liệu. Suy luận là giai đoạn mà mạng neural sau khi được đào tạo sẽ triển khai vào môi trường sản phẩm để ứng dụng vào thực tế. Có các mục đích khác nhau trong việc đào tạo và suy luận cho một hệ thống. Thông thường, một mô hình có thể mất một thời gian dài để huấn luyện được được một mô hình tốt nhất, việc này giúp cho sự suy luận trở nên nhanh hơn và chính xác hơn.

Nhưng không phải lúc nào huấn luyện lâu nhất cũng điều chính xác nhất, kết quả của việc suy luận còn phụ thuộc vào những yếu tố khác nhau như: độ chính xác của thuật toán, tính ổn định của hệ thống, độ chính xác và phong phú của tập dữ liệu dành cho việc huấn luyện. Việc huấn luyện có thể được xử lý nhanh bằng cách xử dụng nhiều bộ xử lý GPU song song có cấu hình cao, sử dụng các hàm kích hoạt để tránh các lỗi không thể hội tụi (vanishing gradient) hay sử dụng các kiến trúc mạng cải tiến và các kỹ thuật học cải thiện (transfer learning).3 Mạng neural tích chập Những năm gần đây, chúng ta được chứng kiến sự phát triển mạnh mẽ trong ngành Thị giác máy tính. Những hệ thống xử lý ảnh lớn như của Facebook, Google, hay cả trong các hãng xe tự hành như Tesla đã đưa những công nghệ như nhận diện mặt người, nhận diện ký tự hay nhận diện các vật thể, đối tượng vào bên trong hệ thống của họ. Để thực hiện được việc xử lý này, thì một mô hình đã được ra đời với tên gọi Convolution Neural Network(CNN hay ConvNet) - mạng neural tích chập đã được 7 do an phát triển từ một những mô hình của học sâu với nhiều cải tiến vượt trội so với mạng neural thông thường.

Một ConvNet được tạo thành từ nhiều lớp kết hợp lại với nhau (Hình 2. Mỗi lớp có một API đơn giản: nó biến đổi một khối 3D đầu vào thành một khối 3D đầu ra với một số chức năng khác nhau có thể có hoặc không có tham số[9].1 Các lớp trong ConvNet Tầng chập Dựa vào nguyên lý biến đổi thông tin, các nhà nghiên cứu đã sử dụng tích chập trong xử lý tín hiệu số để xử lý các hình ảnh và các video số. Để hình dung ra điều này, ta sẽ xem tích chập như một cửa sổ trượt được đặt lên trên một ma trận (như hình 2. Bên trái là một ma trận hình ảnh đầu vào với mỗi giá trị của ma trận tương đương với một điểm ảnh(pixel), trong đó 0 là giá trị đại diện cho điểm ảnh đen và 1 đại diện cho điểm ảnh màu trắng.

Trong trường hợp ảnh là ảnh xám thì sẽ mang các gia trị từ 0 đến 255. Của sổ trượt là quá trình nhân kernel nhân trượt với từng thành phần tương ứng trên ma trận ảnh đầu vào.2 biểu diễn quá trình tích chập dùng nhân kernel có kích thước 3*3, nhân trượt với các phần tử của ma trận bên trái và kết quả ta được một ma trận mới như ma trận bên phải.2 Tầng tích chập[11] 8 do an Tầng chập là một khối xây dựng cốt lõi của ConvNet, thực thi hầu hết các phép toán phức tạp của mạng. Tích chập được sử dụng phổ biến trong lĩnh vực thị giác máy tính. Thông qua các phép tích chập, các đặc trưng chính của ảnh sẽ được trích xuất và truyền vào các lớp tích chập.

Mỗi một lớp tích chập sẽ bao gồm nhiều đơn vị mà kết quả của mỗi đơn vị là một phép biến đổi tích chập từ lớp trước đó thông qua phép nhân tích chập với bộ lọc. Độ phức tạp của đặc trưng được phát hiện bởi bộ lọc tỉ lệ thuận với độ sâu của lớp tích chập mà nó thuộc về. Trong mạng ConvNet, những lớp tích chập đầu tiên sử dụng bộ lọc hình học để phát hiện những đặc trưng đơn giản như cạnh ngang, dọc, chéo của bức ảnh. Những lớp tích chập sau đó được dùng để phát hiện đối tượng nhỏ, bán hoàn chỉnh như mắt, mũi, tóc, v.

Những lớp tích chập sâu nhất dùng để phát hiện đối tượng hoàn hỉnh như: chó, mèo, chim, ô tô, đèn giao thông,… Hình 2.3 Ví dụ minh họa các lớp của ConvNet[10] Trong quá trình chuyển tiếp, mỗi bộ lọc sẽ được tích hợp các chiều dài và chiều rộng của dung lượng đầu vào, sau đó trượt bộ lọc này theo chiều dài và chiều rộng của chúng để tạo ra vùng các đặc trưng (Hình 2. Tích chập ảnh đầu vào với kernel 3x3, stride 1 và padding 1. 9 do an Bước sải và bước đệm (Stride và padding) Bước sải là khoảng cách giữa 2 nhân khi quét. Với stride = 1, nhân sẽ quét 2 ô ngay cạnh nhau, nhưng với stride = 2, nhân sẽ quét ô số 1 và ô số 3.

Bỏ qua ô ở giữa. Điều này nhằm tránh việc lặp lại giá trị ở các ô bị quét. Thông thường, ta chọn stride và kích thước của nhân càng lớn thì kích thước của vùng đặc trưng càng nhỏ, một phần lý do đó là bởi nhân phải nằm hoàn toàn trong đầu vào. Có một cách để giữ nguyên kích cỡ của vùng đặc trưng so với ban đầu.

Đấy là bước đệm. Khi ta điều chỉnh padding = 1, tức là ta đã thêm 1 ô bọc xung quanh các cạnh của đầu vào, muốn phần bọc này càng dày thì ta cần phải tăng bước đệm lên. Tầng ReLU ReLU (Rectified Linear Unit) là hàm kích hoạt (activation function) được sử dụng rộng rãi gần đây vì tính đơn giản của nó. Hàm ReLU rất đơn giản, rất lợi về mặt tính toán, có công thức toán học như sau: f(z) = max(0, z) Đạo hàm của nó bằng 0 tại các điểm âm, bằng 1 tại các điểm dương.

ReLU được chứng minh giúp cho việc huấn luyện các mạng thần kinh đa tầng (multilayer neural network) và mạng sâu (deep network) có rất nhiều tầng ẩn(hidden layer) nhanh hơn rất nhiều so với hàm tanh [6]. Hàm ReLU và tốc độ hội tụ khi so sánh với hàm tanh[11] Hình 2.4 Ví dụ minh họa các lớp của ConvNet[10] 10 do an Tầng Pooling Lớp Pooling được sử dụng trong ConvNet để giảm kích thước đầu vào, tăng tốc độ tính toán và hiệu năng trong việc phát hiện các đặc trưng. Có nhiều hướng Pooling được sử dung, trong đó phổ biến nhất là pooling theo giá trị cực đại (max pooling) và pooling theo giá trị trung bình (average pooling)(Hình 2.5 Pooling Layer Fully-connected Layer Hình 2.5 Hidden layer trong neural network[13] 11 do an Mỗi tầng ẩn được kết nối đầy đủ với nhau được gọi là fully connected layer (hình 2. Mỗi nút (node) trong tầng ẩn được kết nối với tất cả các nút (node) trong các tầng trước đó.

Cả mô hình được gọi là fully connected neural network (FCN).2 Một số kiến trúc mạng ConvNet CNN đầu tiên có thành công lớn về phân loại hình ảnh là LeNet được đề xuất bởi Y. Người kế nhiệm AlexNet [15] đã chiến thắng thử thách ILSVRC năm 2012 và vượt trội đáng kể so với á quân (top 5 lỗi 16% so với á quân 26%). Sau đó, nhiều kiến trúc mạng xuất sắc đã được đề xuất. Phần này liệt kê một số kiến trúc mạng nổi tiếng có liên quan đến nghiên cứu này.

VGGNet Kiến trúc của mạng thần kinh này là một kiến trúc đơn giản với tỷ lệ lỗi 7. VGGNet bao gồm hai phiên bản: VGG16 và VGG19. Kiến trúc của VGG16 là một mạng thần kinh bao gồm 16 tầng, không bao gồm tầng liên kết lớn nhất và tầng softmax. Kiến trúc của VGG19 cũng tương tự như VGG16 nhưng nó có đến 19 tầng.

Nguyên tắc thiết kế chính của mạng VGG là dựa trên độ sâu của các tầng. Để tăng độ sâu, ban đầu sẽ có 2 hoặc 3 tầng chập và tiếp nối sau đó là 1 tầng liên kết lớn nhất 2D. Ngay sau tầng chập cuối cùng là 1 tầng làm phẳng để chuyển ma trận 4 chiều của tầng chập về ma trận 2 chiều. Và tiếp nối sau đó và các tầng Fully-connected và 1 tầng softmax.

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

Bài viết "Nhận diện phương tiện giao thông bằng bộ phát hiện Single Shot Multibox tại HCMUTE" trình bày một phương pháp tiên tiến trong việc nhận diện và phân loại phương tiện giao thông, sử dụng công nghệ Single Shot Multibox. Phương pháp này không chỉ giúp cải thiện độ chính xác trong việc nhận diện mà còn tăng tốc độ xử lý hình ảnh, mang lại hiệu quả cao trong các ứng dụng thực tiễn như giám sát giao thông và quản lý đô thị. Độc giả sẽ tìm thấy những thông tin hữu ích về cách thức hoạt động của công nghệ này, cũng như những lợi ích mà nó mang lại cho việc phát triển hệ thống giao thông thông minh.

Nếu bạn muốn tìm hiểu thêm về các ứng dụng công nghệ trong lĩnh vực kỹ thuật, hãy tham khảo bài viết Hcmute áp dụng kỹ thuật trượt điều khiển cân bằng hệ reaction wheel inverted pendulum, nơi bạn sẽ khám phá cách điều khiển hệ thống phức tạp. Ngoài ra, bài viết Hcmute tái cấu trúc vật thể 3d từ cặp hình ảnh stereo camera sẽ giúp bạn hiểu rõ hơn về công nghệ hình ảnh 3D, một lĩnh vực liên quan mật thiết đến nhận diện và phân tích hình ảnh. Cuối cùng, bài viết Hcmute thiết kế hệ thống nhận dạng cử chỉ bàn tay dùng mạng nơ ron chập sẽ mở rộng kiến thức của bạn về nhận diện cử chỉ, một ứng dụng thú vị trong công nghệ nhận diện hình ảnh.