Tải bản đầy đủ (.pdf) (5 trang)

Hệ thống phân tích, nhận dạng biển báo giao thông trên thiết bị di động

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (522.72 KB, 5 trang )

HỆ THỐNG PHÂN TÍCH, NHẬN DẠNG BIỂN BÁO GIAO THƠNG
TRÊN THIẾT BỊ DI ĐỘNG
Lầu Sẹc Dần, Phạm Quốc Quân, Nguyễn Đức Thy Tuấn
Khoa Công nghệ Thông tin, trường Đại học Cơng nghệ TP.Hồ Chí Minh, HUTECH

TĨM TẮT
Hiện nay nhiều tai nạn giao thông xảy ra khi người điều khiển phương tiện đi vào làn đường cấm vì khơng
hiểu ý nghĩa biển báo giao thông trên các đoạn đường. Người tham gia giao thông vẫn chưa nắm rõ hết
các biển báo. Trong khi đó, nhiều người nước ngồi điều khiển các phương tiện nhưng cũng chưa nắm
rõ các ý nghĩa của biển báo giao thông. Để giải quyết vấn đề trên, đề tài mong muốn giúp mọi người có
thể hiểu ý nghĩa các biển báo giao thông một cách dễ dàng và giúp nhiều trẻ em có thể học các biển báo
thơng qua phương pháp nhận dạng hình ảnh. Đề tài sử dụng máy học trong thư viện Tensorflow để phân
tích và nhận dạng các biển báo giao thơng. Mơ hình nhận dạng được huấn luyện trên nền tảng đám mây,
nhờ vậy chúng tôi đã xây dựng một ứng dụng di động có khả năng áp dụng vào thực tế. Kết quả thực
nghiệm ứng dụng cho thấy khả năng nhận dạng thành công biển báo giao thông. Hiệu suất nhận dạng
của ứng dụng vẫn cịn một số hạn chế, nhưng có thể cải tiến và trở nên tốt hơn trong tương lai gần khi bổ
sung thêm dữ liệu huấn luyện.
Từ khóa: Biển báo, Máy học, Nhận dạng, Phân tích, Tensorflow.

1. MỞ ĐẦU
Hầu như trên các tuyến đường đều có biển báo giao thơng để chỉ dẫn cũng như giữ an tồn cho người
tham gia giao thơng, vì vậy biển báo có tầm quan trọng khá cao không thể thiếu trên các tuyến đường, nó
cịn giúp người điều khiển giao thơng (cảnh sát giao thông) dễ dàng quản lý và xử phạt thích hợp với
hành vi sai trái, vi phạm luật lệ giao thơng.
Hiện nay khơng chỉ trong nước mà cả ngồi nước cũng có rất nhiều biển báo giao thơng. Do đó, chúng tơi
quyết định tìm hiểu, phân tích, thu thập dữ liệu và huấn liệu các tập dữ liệu để triển khai chủ đề "Hệ thống
phân tích nhận dạng biển báo giao thông trên thiết bị di động" để giúp người điều khiển giao thông biết
tên gọi và ý nghĩa của biển báo, từ đó giúp người điều khiển giao thông chấp hành đúng với các quy tắc
của biển báo, giúp cảnh báo và giữ an toàn cho người điều khiển giao thông, tránh những trường hợp
đáng tiếc cho người lái xe lưu thông.
TensorFlow là một thư viện phần mềm nguồn mở dành cho máy học trong nhiều loại hình tác vụ nhận


thức và hiểu ngôn ngữ [1]. Thư viện này hiện đang được sử dụng cho cả nghiên cứu lẫn sản xuất các sản
phẩm như: Nhận dạng giọng nói, hình ảnh. Để làm được điều này thì Google Brain đã sử dụng bộ lọc
Canny để tìm các biên ảnh. Đó là sự kết hợp của các bước khác nhau để tìm và tối ưu đường biên, cho
ra đường biên mảnh và chính xác.

1.1 Tìm biên ảnh dựa trên bộ lọc Canny
Q trình tìm biên bằng phương pháp Canny có thể được thực hiện theo bốn bước:
Bƣớc 1: Loại bỏ nhiễu trong hình ảnh
Đó là loại nhiễu trong hình ảnh, làm cho hình ảnh mờ đi bằng cách nhân hình ảnh với bộ lọc Gause,
chẳng hạn như bộ lọc G5 5x5 với hệ số của σ = 1,4

250


[

]

Bƣớc 2: Tính giá trị độ dốc trong ảnh
Vì đường biên trong ảnh là nơi tách biệt giữa các đối tượng khác nhau, độ dốc của nó sẽ thay đổi mạnh
mẽ nhất. Để tính tốn độ dốc trong hình ảnh, chúng ta có thể sử dụng bộ lọc Sobel hoặc hợp nhất trực
tiếp ma trận hình ảnh với mặt nạ theo hướng x và y.
Sau đó, chúng tơi tính tốn độ lớn của độ dốc trong hình ảnh.:

(



)


Trong đó, Gx Gy là đạo hàm theo hướng x, y của pixel đang xem xét. Góc sẽ được làm trịn theo hướng
dọc, ngang và chéo, nghĩa là nó sẽ được làm trịn để nhận các giá trị 0, 45, 90 và 135 độ.
Bƣớc 3: Xóa các giá trị khơng được tối đa hóa
Bước này sẽ tìm các pixel có khả năng là biên ảnh nhất bằng cách loại bỏ các giá trị khơng được tối đa
hóa trong bước để tìm gradient hình ảnh ở trên. Chúng ta thấy rằng, với giá trị của góc ở trên, đường
biên của đối tượng có thể đi theo bốn hướng.
Bƣớc 4: Chọn đường biên của đối tượng trong ảnh
Theo đó, bộ lọc Canny sẽ sử dụng ngưỡng trên và ngưỡng dưới, nếu độ dốc tại một điểm trong ảnh có
giá trị lớn hơn ngưỡng trên, thì chúng tơi xác nhận rằng đó là điểm biên trong ảnh, nếu giá trị này nhỏ hơn
ngưỡng dưới, thì đó khơng phải là điểm biên.

Hình 1: Ảnh xám

Hình 2: Biên ảnh sau khi lọc với bộ lọc Canny

1.2 Hình nhị phân, nhị phân hóa với ngƣỡng động
Ảnh nhị phân là ảnh trong đó giá trị của mỗi pixel chỉ được biểu thị bằng hai giá trị 0 hoặc 255 tương ứng
với màu đen hoặc trắng. Nhị phân hóa là quá trình biến hình ảnh màu xám thành hình ảnh nhị phân. Ảnh
xám sẽ được chuyển thành ảnh nhị phân theo công thức 1.3.

1.3 Công thức
(

)

{

(

)

(

)

Ghi chú: g(x, y) là giá trị cường độ ánh sáng của một pixel ở vị trí (x, y).
T là ngưỡng nhị phân.
251


1.4 Hình ảnh

Hình 3: Hình xám

Hình 4: Hình nhị phân

Ta có thể thấy như hình 3 là một hình xám chưa qua q trình nhị phân hóa. Hình 4 thể hiện hình ảnh sau
khi đã nhị phân hóa hình 3 với ngưỡng nhị phân(T) là 100.

2. GIẢI PHÁP ĐỀ XUẤT
Để giải quyết cho vấn đề này, chúng tôi muốn mang đến một sản phẩm để giúp người dân dễ dàng tham
gia giao thông hơn mà không lo ngại về vấn đề biển báo. Sản phẩm sẽ giúp người dân có thể hiểu luật
một cách rõ ràng và tuân thủ luật giao thơng một cách đơn giản, chuẩn xác hơn.
Ngồi ra, sản phẩm cịn giúp người dùng lưu trữ thơng tin biển báo đã nhận dạng, dùng làm bằng chứng
trước các trường hợp xảy ra mâu thuẫn khi tham gia giao thông. Hỗ trợ mọi người đi du lịch từ nước này
sang nước khác cũng như người nước ngoài vào Việt Nam tham gia giao thông một cách dễ dàng hơn
mà không lo ngại về vấn đề luật giao thông của mỗi nước. Với thời đại công nghệ càng hiện đại, sản
phẩm cũng có thể giúp trẻ em học biển báo thông qua việc nhận dạng mà không tốn thời gian mua sách
vở cũng như học thuộc các biển báo.
Áp dụng mơ hình đường ống xử lý cho nhận dạng vật thể (Object detection processing pipeline) [4] với
Google Colab để đào tạo các mơ hình biển báo giao thơng và nhận dạng biển báo giao thông bằng

camera sau của smartphone với sự hỗ trợ của thư viện TensorFlow [1, 2, 3].

3. KẾT QUẢ THỰC NGHIỆM
Sau khi sưu tầm và nghiên cứu cách thức hoạt động. Biển báo đã được huấn luyện thành công một số
tập dữ liệu và áp dụng vào ứng dụng. Sau khi hệ thống phân tích sẽ đưa ra kết luận cho biển báo đó và
lưu vào lịch sử, từ đó mà ta có thể xem chi tiết của từng biển báo điều luật cũng như hình thức xử phạt.
Sau nhiều lần chạy thử nghiệm và sản phẩm đã có được các kết quả rất khả quan khi tất cả các biển báo
(30 biển báo) đều được nhận dạng với độ tin cậy gần như là 100% trong điều kiện chuẩn.
252


Bảng 1: Thống kê kết quả thực nghiệm

THỐNG KÊ KẾT QUẢ THỰC NGHIỆM
Số lượng biển báo đã đào tạo

30

Kích thước hình ảnh nhận dạng (Pixel)

120 x 120 đến 7020 x 4960

Số bước(step) trung bình đào tạo cho mỗi
biển báo

15000

Số lần test cho mỗi biển báo

10


Tuy nhiên vẫn còn một số hạn chế ở cự ly có thể nhận dạng biển báo, thể hiện một cách tường minh qua
biểu đồ sau:

Độ chính xác
100.000%
90.000%
80.000%
70.000%
60.000%
50.000%
40.000%
30.000%
20.000%

Khoảng
cách(mét)

10.000%
.000%
0

0.5

1

1.5

2


2.5

3

3.5

4

4.5

Biểu đồ 1: Biểu độ thể hiện độ chính xác theo khoảng cách

Kết quả thực nghiệm ứng dụng nhận dạng biển báo giao thơng.

Hình 5: Đang nhận dạng biển báo

Hình 6: Kết quả sau khi nhận dạng

253


Hình 7: Lịch sử biển báo

Hinh 8: Chi tiết biển báo

4. KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN
Đề tài đã thành cơng bước đầu khi hồn thành được mục tiêu ban đầu là tạo ra được một ứng dụng có
khả năng nhận dạng biển báo giao thơng. Vì cịn liên quan đến chất lượng camera của từng điện thoại và
kích thước của hình ảnh nên cịn một số vấn đề chưa tốt về mặt hiệu năng như: Khoảng cách, tốc độ,
ánh sáng.

Trong tương lai gần, chúng tôi sẽ sẽ tiếp tục phát triển và tối ưu hóa vấn đề về khoảng cách vì đây là một
điều khá quan trọng trong sản phẩm này. Hoàn thiện các tập dữ liệu để đưa ra sự đa dạng về mặt biển
báo cũng như tăng thêm độ chính xác, giải quyết các vấn đề cịn tồn đọng ở ứng dụng và sau đó đưa sản
phẩm lên nền tảng camera hành trình dành cho các phương tiện giao thông, giúp mọi người tham gia
giao thông cũng như trẻ em học biển báo một cách dễ dàng hơn.

TÀI LIỆU THAM KHẢO
[1]

Anukrati Mehta, Jonathan Hui, Juan De Dios Santos (2018) Guide about use Tensorflow object
detection API and step train model on cloud.

[2]

Justin Francis (2017) through all the steps for building a custom object classification model using
TensorFlow’s API.

[3]

Pulkit Sharma, Arun Ponnusamy (2018) use Yolo for detect object and predict from the cell level to
the boundary box level.

[4]

Vijayan K. Asari (2016) Object Detection and Recognition in Complex Environmental Conditions.

254




×