1. Trang chủ
  2. » Công Nghệ Thông Tin

Nhận diện biển báo giao thông Việt Nam thời gian thực bằng thuật toán MobileNet kết hợp SSD trên board Jetson Nano

6 19 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 1,8 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài viết trình bày một hệ thống phát hiện và nhận diện biển báo giao thông Việt Nam thời gian thực dựa trên kiến trúc MobileNet kết hợp với SSD trên board Jetson Nano. Với đặc tính và cấu hình nổi trội của mô hình, sự kết hợp giữa MobileNet và SSD mang lại độ chính xác cao và thời gian triển khai nhanh chóng trên các hệ thống có hạn chế phần cứng.

Trang 1

Nhận diện biển báo giao thông Việt Nam thời gian thực

bằng thuật toán MobileNet kết hợp SSD

trên board Jetson Nano Dương Văn Sơn, Nguyễn Vũ Minh Thành, Nguyễn Thị Thanh Xuân, Lê Đức Hùng

Phòng thí nghiệm DESLAB, Khoa Điện Tử - Viễn Thông, Trường Đại Học Khoa Học Tự Nhiên – Đại học Quốc gia TP.HCM

Email: ldhung@hcmus.edu.vn

Abstract – Nhận diện biển báo giao thông là một trong những thành

phần quan trọng của ngành công nghiệp hệ thống điều khiển tự động

hiện nay ví dụ xe vận hành không người lái, hệ thống kiểm soát giao

thông hoặc các máy bay tự hành drones Trong bài báo này, bài báo

sẽ trình bày một hệ thống phát hiện và nhận diện biển báo giao thông

Việt Nam thời gian thực dựa trên kiến trúc MobileNet kết hợp với

SSD trên board Jetson Nano Với đặc tính và cấu hình nổi trội của

mô hình, sự kết hợp giữa MobileNet và SSD mang lại độ chính xác

cao và thời gian triển khai nhanh chóng trên các hệ thống có hạn chế

phần cứng Ngoài ra, do tính chất đặc thù của môi trường giao thông

Việt Nam, bài báo sẽ phân tích, bổ sung và nâng cấp bộ dữ liệu để

phù hợp hơn bằng phương pháp xử lí dữ liệu ảnh trên thư viện

OpenCV Sau quá trình nghiên cứu, hệ thống đạt hiệu quả với mAP

= 84.4% (indoor) và mAP = 71% (outdoor) và cho tốc độ xử lí 13

FPS Với kết quả trên cùng với module có kích thước nhỏ, phương

pháp này hứa hẹn có thể tích hợp lên các xe hơi, hệ thống giám sát

giao thông đường phố, v.v để giải quyết các vấn đề giao thông và tai

nạn xe hiện nay tại Việt Nam

Keywords: Nhận diện biển báo giao thông Việt Nam, TSR,

MobileNet, SSD, thời gian thực, AI, ADAS

Thành phần nhận diện biển báo giao thông phải đáp ứng không

chỉ nhanh về mặt thời gian thực mà còn phải mang lại hiệu quả

cao về mặt chính xác Nhận diện biển báo giao thông đã được

nghiên cứu và thực nghiệm trên thế giới khá phổ biến nhưng đối

với môi trường giao thông Việt Nam thì lĩnh vực này còn gặp khá

nhiều hạn chế Nguyên nhân dẫn đến điều này vì môi trường tại

Việt Nam khá thử thách, điển hình như không có nhiều nguồn dữ

liệu biển báo, đường xá phức tạp, xe cộ lưu thông trên đường

nhiều, các loại biển báo bị cây che phủ,…

Theo một nghiên cứu của cục Quản lý An toàn Giao thông

Đường cao tốc Quốc gia (NHTSA) của Mỹ, trung bình hằng năm

có khoảng 51% các vụ tai nạn chết người do người điều khiển

vượt đèn đỏ và khoảng 29% là do người điều khiển phương tiện

giao thông lơ là biển báo chỉ đường và các tín hiệu giao thông

Con số này sẽ như thế nào khi đường xá Việt Nam chằng chịt và

nhiều chướng ngại vật gấp nhiều lần so với nước Mỹ Chính vì

thế, một hệ thống nhận diện biển báo giao thông sẽ là một công

cụ quan trọng để giúp người lái xe an toàn hơn khi đang lái xe Người lái xe sẽ biết mình có đang chạy quá tốc độ cho phép hoặc biết cách nhường đường cho những phương tiện như thế nào để tránh được những tai nạn không đáng tiếc xảy ra?

Một số phương pháp kể đến như trong [1] xử lí vấn đề này dựa trên các thuật toán nhận diện về màu sắc, hình dạng, kích thước hoặc phương pháp sử dụng đặc trưng Haar và mạng nơron nhân tạo trong [2], … đã được áp dụng rộng rãi vào các nghiên cứu học thuật nhưng lại không mang lại kết quả khả quan khi vận dụng vào điều kiện thực tế Vì thế, hệ thống nhận diện biển báo giao thông trong bài báo này sử dụng một hệ thống tích chập nơron CNN hướng tiếp cận hiện đại làm mô hình chính để nhận diện vật thể Hệ thống này mang lại hiệu quả tin cậy cao và độ thực thi thời gian thực Các bức ảnh đầu vào sẽ được mô hình xử lí, vận dụng các feature map của kiến trúc để tạo ra được bộ phân loại các biển báo giao thông như mô tả ở Hình 1

Hình 1 Quy trình của hệ thống nhận diện biển báo giao thông

Trang 2

II HỆ THỐNG VỚI MÔ HÌNH MOBILENET-SSD

II.1 Bo NVIDIA Jetson Nano 4GB

Board hệ thống sử dụng là một SBC từ hãng NVIDIA Jetson

Nano Development Kit, với kích thước nhỏ gọn và tích hợp 128

lõi GPU Maxwell Cùng với đó, hệ thống cho phép làm việc trên

cái framework AI như Pytorch, Tensorflow,… giúp triển khai mô

hình nhanh chóng và thuận tiện hơn rất nhiều

Hình 2 Phần cứng hệ thống

Camera sử dụng là camera Raspberry Pi v2 với độ phân giải

8MP giúp thu thập thông tin hình ảnh cho board chính xử lí

II.2 Mô hình nhận diện vật thể SSD

Mô hình phát hiện và nhận diện biển báo giao thông được huấn

luyện dựa trên mạng cơ sở MobileNet-v1 làm mạng trích xuất dữ

liệu và mạng nhân chập SSD [4] tạo ra các đối tượng phát hiện

vật thể Sau đó là quá trình hậu xử lí NMS để triệt tiêu những vùng

phát hiện lân cận Mô hình được mô tả như Hình 3

Hình 3 Tổng quan quan mô hình phát hiện dựa trên kiến trúc SSD

II.3 Kiến trúc mạng cơ sở MobileNet

Kiến trúc mạng Mobilenet là một trong những mô hình nhỏ,

nhẹ, cấu hình thông số ít mà vẫn đảm bảo được độ chính xác cao

Mạng cơ sở MobileNet có nhiều thế hệ như MobileNet-v1,

MobileNet-v2, MobileNet-v3, nhưng trong hệ thống này, mạng

MobileNet-v1 được sử dụng để làm mạng cơ sở thực thi tốt hơn

trên các bo nhúng có kích thước nhỏ

Kiến trúc mô hình này xây dựng dựa trên nền tảng sử dụng phép nhân chập tách rời theo chiều sâu (Depthwise Separable Convolution) mà là một dạng phức hợp cho phép biến đổi phép nhân chập thông thường thành một nhân chập chiều sâu (Depthwise Convolution) và một phép nhân chập 1 x 1 hay còn gọi là nhân chập theo từng điểm (Pointwise Convolution)

Hình 4 Phép nhân chập tách rời theo chiều sâu

Kiến trúc các tầng của mô hình MobileNet-v1:

Bảng 1 Mô tả các tầng của kiến trúc MobileNet-v1

Loại / Stride Kích thước filter Input image

Conv / s2 3 x 3 x 3 x 32 224 x 224 x 3 Conv dw / s1 3 x 3 x 32 dw 112 x 112 x 32 Conv / s1 1 x 1 x 32 x 64 112 x 112 x 32 Con dw / s2 3 x 3 x 64 dw 112 x 112 x 64 Conv / s1 1 x 1 x 64 x 128 56 x 56 x 64 Conv dw / s1 3 x 3 x 128 dw 56 x 56 x 128 Conv / s1 1 x 1 x 128 x 128 56 x 56 x 128 Con dw / s2 3 x 3 x 128 dw 56 x 56 x 128 Conv / s1 1 x 1 x 128 x 256 28 x 28 x 128 Con dw / s1 3 x 3 x 256 dw 28 x 28 x 256 Conv / s1 1 x 1 x 256 x 256 28 x 28 x 256 Conv dw / s2 3 x 3 x 256 dw 28 x 28 x 256 Conv / s1 1 x 1 x 256 x 512 14 x 14 x 256 Conv dw / s1

5 x Conv / s1

3 x 3 x 512 dw

1 x 1 x 512 x 512

14 x 14 x 512

14 x 14 x 512 Conv dw / s2 3 x 3 x 512 dw 14 x 14 x 512 Conv / s1 1 x 1 x 512 x 1024 7 x 7 x 512 Conv dw / s2 3 x 3 x 1024 dw 7 x 7 x 1024 Conv / s1 1 x 1 x 1024 x 1024 7 x 7 x 1024 Avg Pool / s1 Pool 7 x 7 7 x 7 x 1024

FC / s1 1024 x 1000 1 x 1 x 1024 Softmax / s1 Classifier 1 x 1 x 1000

Trang 3

Kiến trúc tổng thể bao gồm 14 tầng nhân chập (kể cả nhân

chập tách rời) được kết nối liền kề với nhau, trong đó đã loại bỏ

những tầng cuối của mô hình phân loại bao gồm tầng Avg Pool,

tầng Fully-Connected (FC)

II.4 Kiến trúc SSD (Single Shot Multibox Detector)

Hình 5 Kiến trúc mạng của mô hình SSD

Mô hình mạng SSD dựa trên quá trình chiết xuất dữ liệu từ

mạng cơ sở (VGG-16) và sau đó là 6 tầng phụ trợ được đưa vào

với mục đích tạo ra các phát hiện cho đối tượng trong khung ảnh

Trong quá trình này, kiến trúc SSD tiến hành đánh giá các tập hợp

nhỏ gồm các khung bao mặc định (các khung nét đứt trong Hình

6) tương ứng với các tỉ lệ cạnh khác nhau trên các feature map

khác nhau như hình bên dưới

Hình 6 Kích thước phân chia các feature map khác nhau của SSD

Hai hàm mất mát bao gồm một hàm mất mát vị trí Smooth L1,

hàm này sẽ đo lường sai số tham số giữa khung bao dự đoán được

(p – predicted box) và khung bao sự thật (g – ground truth box)

và hàm hàm mất mát tin cậy cross-entropy đo đạc các giá trị

_ để lấy được điểm tin cậy

II.5 Kết hợp kiến trúc MobileNet với SSD

Quá trình chiết xuất đặc trưng tại MobileNet, sau đó sẽ được

xử lí thông qua 6 tầng phụ trợ của phần đầu mô hình SSD Với

mỗi tầng phụ trợ như vậy, SSD cấu hình một kích thước feature

map khác nhau để tạo ra các phát hiện vật thể với các kích thước

khác nhau Chi tiết được mô tả Hình 7

Bài toán kết nối lại tầng nhân chập tách rời theo chiều sâu với

bộ lọc là 1 × 1 × 512 × 512 (tầng thứ 12) với SSD để tạo ra feature

map có độ sâu là 512 và tầng nhân chập với bộ lọc 1 × 1 × 1024

× 1024 (tầng thứ 14) với mô hình SSD để tạo ra ma trận đặc trưng

1024 Kiến trúc trên có 6 ma trận đặc trưng lần lượt cho 6 tầng

phụ trợ lần lượt là (19×19), (10×10), (5×5), (3×3), (2×2), (1×1) Kiến trúc đầu vào ảnh (300 x 300) là kiến trúc tiêu chuẩn và có thể điều chỉnh lại kèm theo các feature map

Hình 7 Sơ đồ kiến trúc kết hợp mô hình MobileNet-v1 với SSD

Với mỗi feature map khác nhau trong mô hình SSD khác nhau,

ta gán số lượng các khung bao mặc định là 4 hoặc 6 cho mỗi ô vuông trong feature map Quá trình phát hiện sẽ sử dụng 2 hàm

mất mát quy về hai kết quả Classification: _ ×

Khi thay thế VGG16 bằng MobileNetv1, bài toán nhận diện biển báo giao thông kết nối tầng 12 và 14 của MobileNet Ta sử dụng 2 tầng cuối như để miêu tả một vấn đề rằng tầng thứ 14 sẽ trả về nhiều đặc trưng hơn tầng thứ 12, ta cần những đặc trưng mức cao và cả đặc trưng mức trung bình cho cả việc chiết xuất hình ảnh Những đặc trưng cao và trung bình sẽ giúp mô hình thông minh hơn trong việc nhận dạng thông tin của bức ảnh

Trang 4

II.6 Quá trình huấn luyện mô hình

II.6.1 Chiến lược ghép nối các khung bao vật thể

Cơ chế dự đoán của mô hình được phân loại thành những dự

đoán đúng và những dự đoán sai Nếu như tỉ lệ IoU lớn hơn 0.5

khung bao dự đoán được xem như đúng, ngược lại, dự đoán IoU

bé hơn 0.5 sẽ là những dự đoán sai

Hình 8 Mô tả độ ghép nối giữa các khung bao mặc định

Để phát hiện được các vật thể khác nhau ở những kích thước

khung hình khác nhau, mô hình sử dụng các ma trận đặc trưng với

những kích thước khác nhau cho từng tầng trong mô hình Tỉ lệ

ma trận trận trưng (scale) nhỏ nhất là 0.2 (hoặc 0.1) và sau đó tỉ

lệ tăng dần qua các tầng mô hình sau (lớn nhất là 0.9)

Hình 9 Ma trận đặc trưng với các kích thước khác nhau

II.6.2 Lựa chọn kích thước và tỉ lệ khung cho mô hình SSD

Tỉ lệ của feature map được đo lường trước với tỉ lệ khung hình

khác nhau để tạo ra được kích thước chiều dài và chiều rộng của

feature map tương ứng với từng tầng đó Công thức để tính chiều

dài (h) và chiều rộng (w) là:

= ỉ ệ ℎ ℎì ℎ

ℎ =

ỉ ệ ℎ ℎì ℎ

(mức scale là 1, 2, 3, 1/2, và 1/3)

Điều chỉnh thông số trên dựa trên 4 phương thức, bao gồm:

Feature map, Shrinkage, Kích thước khung bao và tỉ lệ khung hình

tương ứng với các feature map trải qua từng phép nhân chập như

Hình 10

Hình 10 Các kích thước điều chỉnh của mô hình

III.1 Các bộ dữ liệu biển báo giao thông

Nhận diện biển báo giao thông là một nhiệm vụ khá đặc thù khi nguồn dữ liệu đến từ rất nhiều biển báo giao thông khác nhau Tùy mỗi quốc gia, sẽ có kích thước, màu sắc, kí hiệu, và ý nghĩa của biển báo giao thông sẽ khác nhau

Hình 11: Độ đa dạng của các loại biển báo giao thông Bảng 2 Thống kê 3 bộ dữ liệu biển báo giao thông chính

Dataset Số lượng

(ảnh)

Gán nhãn

Quốc gia Chú thích

Kích thước nhỏ, biển báo riêng

lẻ

TT100K 100000 ~ 20% Trung

Quốc

Kích thước bé, ý nghĩa biển báo Trung Quốc

Nam Biển báo phù hợp, số lượng ít

Trang 5

III.2 Phương pháp xử lí dữ liệu trên thư viện OpenCV

Quá trình tiền xử lí dữ liệu sẽ tổng hợp và sửa đổi từ 3 bộ dữ

liệu trên thành nguồn dữ liệu phù hợp, quá trình xử lí được mô tả

theo chu trình Hình 12

Hình 12: Quy trình tổng quát xử lí dữ liệu

III.3 Các quá trình xử lí dữ liệu

II.3.1 Loại bỏ kênh alpha của bức ảnh

Các biển báo giao thông trong bộ dữ liệu GTSRB sẽ được cắt

ra một phần, phần còn lại trên bức ảnh là một loại biển báo giao

thông và đã loại bỏ phần nền ảnh phía sau

III.3.2 Phương pháp điều chỉnh độ sáng, độ tương phản

Hai phép tính được sử dụng phổ biến của quá trình xử lí này

là phép nhân và phép cộng với một hằng số cụ thể

( ) = ( ) +

III.3.3 Phương pháp nạp chồng hình ảnh

Ảnh biển báo sẽ được nạp chồng vào ảnh nền khác với vị trí

biết trước, cho phép tạo ra bộ dữ liệu phù hợp cho mô hình để đào

tạo Các bức ảnh sau đó được đánh nhãn tương thích và được phân

chia định dạng thành loại định dạng phù hợp, cung cấp cho mô

hình học Các bức ảnh sau đó sẽ được xử lí tương tự với tập dữ

liệu còn lại

III.3.4 Bộ dữ liệu biển báo chính thức sử dụng

Bộ dữ liệu sau khi nâng cấp bao gồm 13 loại biển báo giao thông mà trước đây chưa có trong những tập dữ liệu khác Những loại biển báo bao gồm:

Bảng 3 Thống kê 13 loại biển báo trong bộ dữ liệu

Tốc độ tối đa 30km Chỉ được rẽ trái Tốc độ tối đa 50km Cấm dừng và đỗ xe Tốc độ tối đa 70km N Tốc độ tối đa Chạy theo vòng xuyến N Biển nguy hiểm Cấm đi ngược chiều N Biển cấm khác

N Biển báo hiệu lệnh *N: Nhóm

Hình 13 Biểu đồ chênh lệch giữa các bộ dữ liệu chính thức

IV.1 Huấn luyện mô hình trên Google Colab

Quá trình huấn luyện đề xuất 3 mô hình là SSD300, SSD512

và SSD608 tương ứng với đó là kích thước ảnh đầu vào 300, 512

và 608

Bảng 4 Kết quả của các mô hình đề xuất MobileNet-SSD

image

Trang 6

Hình 14 Biểu đồ hàm mất mát mô hình SSD300, 512 và 608

Một số kết quả kiểm tra thực nghiệm:

So sánh hiệu suất với những phương pháp khác:

Bảng 5: So sánh hiệu suất với các phương pháp khác

Bài

báo

Phương

Real-time

Loại biển báo Hiện

tại

[2] Haar + SVM 92% Không Việt Nam

Quốc

Bảng 6 Kết quả được đo đạc cho 13 loại biển báo

Loại biển báo Biển báo Độ chính xác

Hệ thống phát hiện và nhận diện biển báo giao thông đã đạt được kết quả chính xác cao ~ 84.4% (indoor) và ~71% (outdoor)

và tốc độ 13 fps trên bo Jetson Nano Hệ thống đã được triển khai

để nhận diện được quá trình xe đang di chuyển cho kết quả tốt Với điều kiện giao thông Việt Nam, hệ thống cho phép hoạt được được trên 13 loại biển báo đặc thù thông qua việc cung cấp, sửa đổi Tuy nhiên, vẫn còn nhiều điểm hạn chế trong hệ thống phát hiện và nhận diện biển báo giao thông như khả năng phân tích biển báo giao thông nhỏ, các đối tượng biển báo giao thông bị nhòe trong quá trình chụp, cơ sở dữ liệu chưa đủ mạnh, … điều

đó dẫn đến hệ thống còn nhiều công việc cần làm hơn trong tương lai

TÀI LIỆU THAM KHẢO [1] Ayoub Ellahyani, Ilyas El Jaafari and Said Charfi, “Traffic Sign Detection for Intelligent Transportation Systems: A Survey”, E3S Web of Conferences, 2021

[2] Lê Chân Thiện Tâm, Phạm Hồng Thái, Trần Tiến Đức, “Phát hiện và nhận dạng một số biển báo giao thông đường bộ nguy hiểm tại Việt Nam”, Bài báo khoa học trường Đại học Lạc Hồng

và Đại học Sư Phạm Kỹ Thuật, 2017

[3] Zhe Zhu, Dun Liang, “Traffic-Sign Detection and Classification in the Wild”, Computer Vision Foundation, 2016 [4] Wei Liu, Dragomir Anguelov, “SSD: Single Shot MultiBox Detector”, Computer Vision and Pattern Recognition (cs.CV),

2016

[5] Adrian Rosebrock, “Traffic Sign Classification with Keras and Deep Learning”, https://www.pyimagesearch.com/2019/11/04/,

2019

Ngày đăng: 29/04/2022, 10:09

HÌNH ẢNH LIÊN QUAN

Hình 1. Quy trình của hệ thống nhận diện biển báo giao thông - Nhận diện biển báo giao thông Việt Nam thời gian thực bằng thuật toán MobileNet kết hợp SSD trên board Jetson Nano
Hình 1. Quy trình của hệ thống nhận diện biển báo giao thông (Trang 1)
Hình 5. Kiến trúc mạng của mô hình SSD. - Nhận diện biển báo giao thông Việt Nam thời gian thực bằng thuật toán MobileNet kết hợp SSD trên board Jetson Nano
Hình 5. Kiến trúc mạng của mô hình SSD (Trang 3)
Hình 6. Kích thước phân chia các feature map khác nhau của SSD. - Nhận diện biển báo giao thông Việt Nam thời gian thực bằng thuật toán MobileNet kết hợp SSD trên board Jetson Nano
Hình 6. Kích thước phân chia các feature map khác nhau của SSD (Trang 3)
Mô hình mạng SSD dựa trên quá trình chiết xuất dữ liệu từ mạng cơ sở (VGG-16) và sau đó là 6 tầng phụ trợ được đưa vào  với mục đích tạo ra các phát hiện cho đối tượng trong khung ảnh - Nhận diện biển báo giao thông Việt Nam thời gian thực bằng thuật toán MobileNet kết hợp SSD trên board Jetson Nano
h ình mạng SSD dựa trên quá trình chiết xuất dữ liệu từ mạng cơ sở (VGG-16) và sau đó là 6 tầng phụ trợ được đưa vào với mục đích tạo ra các phát hiện cho đối tượng trong khung ảnh (Trang 3)
Bảng 5: So sánh hiệu suất với các phương pháp khác - Nhận diện biển báo giao thông Việt Nam thời gian thực bằng thuật toán MobileNet kết hợp SSD trên board Jetson Nano
Bảng 5 So sánh hiệu suất với các phương pháp khác (Trang 6)
Hình 14. Biểu đồ hàm mất mát mô hình SSD300, 512 và 608. - Nhận diện biển báo giao thông Việt Nam thời gian thực bằng thuật toán MobileNet kết hợp SSD trên board Jetson Nano
Hình 14. Biểu đồ hàm mất mát mô hình SSD300, 512 và 608 (Trang 6)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w