Tải bản đầy đủ (.pptx) (44 trang)

slide thuyết trình nghiên cứu về mạng nơ ron tích chập và xây dựng ứng dụng nhận diện biển báo giao thô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 (3.38 MB, 44 trang )

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI

BÁO CÁO CHUYÊN MÔN

KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Ngành: Công nghệ Thông tin
Chuyên ngành: Công nghệ phần mềm

NGHIÊN CỨU VỀ MẠNG NƠ-RON TÍCH CHẬP VÀ XÂY DỰNG ỨNG DỤNG NHẬN DIỆN BIỂN BÁO GIAO
THÔNG

Sinh viên thực hiện: Nguyễn Thiên Sơn – 1610A06
Giảng viên hướng dẫn: TS. Nguyễn Đức Tuấn

11/21/20

1/55


NỘI DUNG BÁO CÁO

1.
2.
3.
4.
5.
6.

11/21/20



Giới thiệu đề tài
Cơ sở lý thuyết
Phân tích và thiết kế hệ thống
Triển khai và kết quả
Kết luận
Tài liệu tham khảo

2/55


1. GIỚI THIỆU VỀ ĐỀ TÀI
Lý do chọn đề tài



Việc hiểu biết luật giao thông của một bộ phận người dân còn hạn chế, không tuân thủ tốt luật giao thông, điển hình là việc Không tuân thủ
biển báo giao thông



Những năm gần đây, trí thông minh nhân tạo, cụ thể hơn là Machine Learning và Deep Learning nổi lên như bằng chứng của cuộc cách
mạng công nghiệp lần thứ 4

Mục đích của đề tài

11/21/20




Ứng dụng được xây dựng giúp người dùng có một cách tiếp cận nhanh hơn về luật giao thông, cụ thể là công dụng của biển báo giao
thông.



Ứng dụng hoạt động như một trợ lý, chỉ cần bật ứng dụng và hướng camera về phía trước, ứng dụng sẽ nhắc tên biển báo. Giúp các tài xế
không bị bỏ lỡ mất biển báo và không bị phạm phải những lỗi không mong muốn

3/55


2. CƠ sở lý thuyết





11/21/20

Trí tuệ nhân tạo, Machine Learning và Deep Learning
Mạng nơ-ron tích chập





Các phép tích chập
Pooling
Các bài toán với mạng nơ-ron tích chập


Nhận diện vật thể với thuật toán Single Shot Multibox Detection




SSD với mạng VGG16
SSD-Lite với MobileNetV2

4/55


Single shot multibox detector

Hình 2.10. Kiến trúc mạng SSD với backbone là mạng VGG16 [4]

11/21/20

5/55


Hướng tiếp cận

Hình 2.11 Hướng tiếp cận của SSD



Ý tưởng chính của SSD [4][5] đến từ việc sử dụng các bounding box, bằng việc khởi tạo sẵn các default box tại mỗi vị trí trên feature map, SSD sẽ tính toán và đánh giá
thông tin tại mỗi vị trí xem vị trí đó có vật thể hay không, nếu có thì là vật thể nào




11/21/20

Bằng việc sử dụng các default box trên các feature map khác nhau, các box sẽ ôm trọn một phần hình ảnh với các kích thước khác nhau.

6/55


HUẤN LUYỆN MẠNG



Trong quá trình huấn luyện, ta tiến hành tìm các default box trên các feature maps
phù hợp với groundtruth (dữ liệu đã gán nhãn) bằng cách tìm các box có jaccard
overlap cao. Công thức tính jaccard overlap dựa trên tỉ lệ giữa diện tích vùng trùng
nhau giữa 2 tập và diện tích hợp lại của cả 2 tập



Đặt ra 1 ngưỡng, nếu jaccard overlap lớn hơn ngưỡng đó, thì đó chính là vật thể

Hình 2.12. Minh họa Jaccard Overlap

11/21/20

7/55


HUẤN LUYỆN MẠNG


Hàm mất mát



Localization Loss
Confidence Loss
Hàm mất mát của SSD được xây dựng bằng localization loss để đánh giá việc phát hiện và confidence loss để đánh giá việc phân lớp đối
tượng



Đặt

p
x ij



l là box dự đoán
= { 1, 0 } ứng với default box thứ i khớp với groundtruth thứ j thuộc lớp p, ta có hàm Loss sau:
Trong đó:





11/21/20




Trong đó N là số lượng các default boxes matching với ground truth boxes



SmoothL1 được tính toán như sau:
c là các confidence score: Độ tin cậy



l là predicted box: Các khung dự đoán



g là groundtruth: Các giá trị thật

g là box groundtruth



8/55


SINGLE SHOT Multibox detector với mobilenet v2



Cũng là thuật toán nhận diện vật thể SSD, nhưng sử dụng mạng mobilenet làm mạng cơ sở để trích xuất đặc trưng ảnh. Mạng
mobilenet giúp ta có thể triển khai các mô hình máy học trên các thiết bị có tài nguyên tính toán hạn chế như Raspberry PI, Jetson
Nano hoặc các thiết bị di động


11/21/20

Hình 2.13. Ứng dụng của mạng MobileNet trên thiết bị di động

9/55


SINGLE SHOT Multibox detector với mobilenet v2



Sử dụng kiến trúc của ResNet[6] để mạng có thể có rất nhiều layer nhưng không gặp hiện tượng Vanishing Gradient



MobileNetV2[7] sử dụng tích chập chiều sâu tách biệt để giảm số lượng tham số trong mạng. => Giảm số lượng tham số => Kích
thước mạng giảm => có thể chạy tốt trên các thiết bị hạn chế về tài nguyên tính toán

Hình 2.15. Khối bình thường
Hình 2.14. Hiện tượng Vanishing Gradient
11/21/20

và Khối dư trong mạng
10/55


3. Phân tích và thiết kế hệ thống

Ứng dụng đầu ra chạy trên mobile, gồm 2 nhóm chức năng
chính:





Tra cứu thông tin biển báo qua hình ảnh
Nhận diện biển báo theo thời gian thực

Hình 3.1. Sơ đồ phân rã chức năng
11/21/20

11/55


Phân tích chức năng

Hình 3.2. DFD mức khung cảnh
11/21/20

12/55


Phân tích chức năng

11/21/20

13/55

Hình 3.3. DFD mức đỉnh



Phân tích chức năng

Hình 3.4. DFD mức dưới đỉnh tiến trình “Tra cứu thông tin biển
báo”

11/21/20

Hình 3.5. DFD mức dưới đỉnh tiến trình
“Nhận diện biển báo theo thời gian thực”

14/55


Phân tích chức năng

Hình 3.6. DFD mức dưới đỉnh tiến trình “Quản trị model nhận diện biển báo”
11/21/20

15/55


Phân tích chức năng

Hình 3.7. DFD tiến trình “Tiền huấn luyện”

11/21/20

Hình 3.8. DFD tiến trình “Huấn luyện model”

16/55



Phân tích chức năng

11/21/20

Hình 3.9. DFD tiến trình “Hậu huấn luyện”

17/55


Phân tích dữ liệu
Bảng 3.1. Bảng dữ liệu “biển báo”

Ứng dụng cần lưu trữ các thông tin về biển báo

STT

Khóa chính

Tên trường

Kiểu dữ liệu

Diễn giải

1

X


Id

int

Mã biển báo

2

 

YNghia

Nvarchar(Max)

Ý nghĩa của biển báo

3

 

MoTaThem

Nvarchar(Max)

Mô tả thêm cho biển báo.
(nếu có)

4

 


HinhAnh

Nvarchar(Max)

Đường dẫn đến hình ảnh
đại diện cho biển báo

11/21/20

18/55


Thiết kế giao diện ứng dụng

11/21/20

19/55

Hình 3.10. Giao diện Menu

Hình 3.11. Màn hình cài đặt


Thiết kế giao diện ứng dụng



Giao diện chức năng Tra cứu thông tin biển báo
qua hình ảnh




Khi bấm vào biển báo dưới listView của màn
hình thì hiển thị dialog như hình bên phải: Chứa
thông tin và ý nghĩa của biển báo

11/21/20

Hình 3.12. Giao diện chức năng Tra cứu thông tin biển báo qua hình ảnh

20/55


Thiết kế giao diện ứng dụng



Giao diện camera màn hình chức năng nhận diện biển báo theo thời gian
thực



11/21/20

Khi ứng dụng nhận diện được biển báo, ứng dụng sẽ đọc lên tên biển báo

Hình 3.13. Giao diện chức năng Nhận diện biển báo
21/55theo thời gian
thực



4. TRIỂN KHAI VÀ KẾT QUẢ



11/21/20

Theo QCVN41:2019/BGTVT [9]. Có 5 nhóm biển báo giao thông chính



Nhóm biển báo cấm



Nhóm biển cảnh báo nguy hiểm



Nhóm biển hiệu lệnh



Nhóm biển chỉ dẫn



Nhóm biển báo phụ


Hình 4.1. Các nhóm biển báo và biển báo giao thông đường bộ tại Việt Nam

22/55


Thu thập dữ liệu







Dữ liệu thu được để phục vụ huấn luyện được thu thập từ các nguồn:
Các hình ảnh trên Internet(Facebook, Google)
Hình ảnh được cắt ra từ các video trên youtube
Hình ảnh được chụp bằng điện thoại trên các tuyến đường tại Hà Nội
Hiện tại, số lượng ảnh đã lên đến 7078 ảnh với 114 loại biển báo thu thập được. Tổng số biển báo trong tập dữ liệu trên là 12958
biển.



11/21/20

Việc gán nhãn dữ liệu được thực hiện bằng công cụ LabelImg

23/55


Thu thập dữ liệu




Thu thập dữ liệu

24/55

11/21/20

Hình 4.2. Công cụ LabelImg trong việc gán nhãn dữ liệu


Thu thập dữ liệu



Về độ đa dạng của dữ liệu huấn luyện: Các hình ảnh trong tập dữ liệu được chụp bằng nhiều thiết bị khác nhau: Camera
hành trình, điện thoại, hình ảnh trên Internet…; kích thước, góc chụp và ánh sáng biển báo trong ảnh là khác nhau(to, nhỏ,
nghiêng, ngược sáng, xuôi sáng…) và điều kiện thời tiết cũng như thời gian, địa điểm chụp là khác nhau

11/21/20

25/55


×