Tải bản đầy đủ

Nhận dạng phương tiện giao thông sử dụng kỹ thuật học sâu (tt)

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------

BÙI TRẦN TIẾN

NHẬN DẠNG PHƯƠNG TIỆN GIAO THÔNG
SỬ DỤNG KỸ THUẬT HỌC SÂU

CHUYÊN NGÀNH :

KHOA HỌC MÁY TÍNH

MÃ SỐ:

8.48.01.01

TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT

HÀ NỘI - 2019



Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học: TS. NGUYỄN NGỌC ĐIỆP

Phản biện 1: ………………………………………………………
Phản biện 2: ………………………………………………………

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học
viện Công nghệ Bưu chính Viễn thông
Vào lúc:

....giờ ....... ngày ....... tháng ....... .. năm ...............

Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông


1

MỞ ĐẦU
Trong thời đại ngày này công nghệ thông tin hầu như đã thâm nhập vào toàn bộ các lĩnh
vực đời sống xã hội. Xã hội ngày càng phát triển thì nhu cầu áp dụng các tiến bộ của công
nghệ thông tin vào cuộc sống ngày càng cao để giải quyết những vấn đề phức tạp về y tế, giáo
dục, giao thông…
Ở nước ta những năm gần đấy, cùng với sự phát triển của kinh tế xã hội thì số lượng
phương tiện giao thông đường bộ cũng tăng lên nhanh chóng đi liền với đó là vấn đề tai nạn
giao thông và ùn tắc giao thông, đặc biệt là giao thông đường bộ, số vụ giao thông không
ngừng tăng về quy mô và số lượng. Đặc biệt vấn nạn ùn tắc giao thông tại một số tuyến đường
xuyên tâm như đường Đê La Thành, Trần Đại Nghĩa, Kim Liên, Nguyễn Lương Bằng,
Nguyễn Trãi, Giải Phóng… lâm vào cảnh ùn tặc kéo dài, ùn tặc trầm trọng gây ảnh hưởng
đến cuộc sống của người dân và thiệt hại lớn về kinh tế xã hội. Với mục đích đưa những tiến
bộ công nghệ vào phục vụ cho cuộc sống, tôi xin chọn đề tài nghiên cứu “Nhận dạng phương
tiện giao thông sử dụng kỹ thuật học sâu”. Hy vọng kết quả của đề tài này có thể là một
tiền đề quan trọng trong việc xây dựng các hệ thống giám sát phương tiện giao thông cũng
như các hệ thống cảnh báo ùn tắc giao thông ở nước ta hiện nay.
Mục tiêu của luận văn là
Nghiên cứu các phương pháp phát hiện đối tượng bằng kỹ thuật học sâu và áp dụng phát
hiện phương tiện giao thông tại Việt Nam. Mục tiêu cụ thể bao gồm:
- Nắm được một số phương pháp học sâu quan trọng


- Áp dụng và đánh giá hiệu quả trên dữ liệu ảnh, video được thu thập tại Việt Nam
Do thời gian có hạn nên luận văn tập trung phát hiện phương tiện giao thông từ ảnh và video
-

Ảnh và video giao thông tai Việt Nam được quay trong điều kiện ánh sáng tốt.

-

Phương tiện cần phát hiện là ô tô con và xe máy.

Nội dung của luận văn được bố cục thành 3 chương như sau:
 CHƯƠNG 1: KỸ THUẬT HỌC SÂU VÀ BÀI TOÁN PHÁT HIỆN
PHƯƠNG TIỆN GIAO THÔNG
 CHƯƠNG 2: PHÁT HIỆN PHƯƠNG TIỆN GIAO THÔNG SỬ DỤNG KỸ
THUẬT HỌC SÂU YOLO
 CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ


2

CHƯƠNG 1: KỸ THUẬT HỌC SÂU VÀ BÀI TOÁN PHÁT HIỆN
PHƯƠNG TIỆN GIAO THÔNG
1.1 Giới thiệu về học sâu.
1.1.1 Học sâu
Học sâu (deep learning) là một nhánh của ngành máy học, dựa trên một tập hợp các thuật
toán để cố gắng mô hình dữ liệu để trừu tượng hóa ở mức cao bằng cách sử dụng nhiều lớp
xử lý với cấu trúc phức tạp, hoặc bằng cách khác bao gồm nhiều lớp biến đổi phi tuyến để
trích tách đặc trưng và chuyển đổi[23]. Mỗi lớp kế tiếp dùng đâu ra của lớp trước làm đầu
vào. Các thuật toán này có thể được giám sát hoặc không cần giám sát và các ứng dụng bao
gồm các mô hình phân tích (không giám sát) và phân loại (giám sát).
Một trong những phương pháp học sâu thành công nhất là mô hình mạng nơ-ron nhân tạo
(Arificial Neural Network)[23]. Mạng nơ-ron nhân tạo được lấy cảm hứng từ các mô hình
sinh học năm 1959 được đề xuất bởi người đoạt giải Nobel David H. Hubel & Torsten Wiesel,
2 người đã tìm thấy hai loại tế bào trong vỏ não thị giác chính: các tế bào đơn giản và các tế
bào phức tạp. Nhiều mạng nơ-ron nhân tạo có thể được xem như là các mô hình ghép tầng
của các tế bào loại lấy cảm hứng từ những quan sát sinh học.

Mạng nơ-ron nhân tạo là sự kết hợp của các tầng perceptron hay còn gọi là perceptron đa tầng
(multilayer perceptron) như hình bên dưới:


3

Hình 1.4: Mạng nơ-ron nhân tạo

Kiến trúc chung của mạng nơ-ron nhân tạo bao gồm thành phần: Lớp đầu vào, Lớp ẩn và
Lớp đầu ra.
 Lớp đầu vào (Input layer): Là nơi để nạp dữ liệu vào. Mỗi nơ-ron tương ứng với một
thuộc tính (attribute) hoặc đặc trưng (feature) của dữ liệu đầu vào.
 Lớp ẩn (Hidden layer): Là nơi xử lý dữ liệu trước khi đưa ra output. Thường là hàm
tổng (Summation function) để đưa ra giá trị của một nơ-ron tại hidden layer. Có thể có
nhiều hơn một hidden layer. Khi đó đầu ra của một hidden layer sẽ là đầu vào cho hidden
layer tiếp theo.
 Lớp đầu ra (Output layer): Là giá trị đầu ra của mạng nơ-ron. Sau khi đi qua hidden
layer cuối cùng, dữ liệu sẽ được chuyển hóa bằng một hàm số được gọi là hàm kích hoạt
(Activation function) và đưa ra output cuối cùng. Hàm chuyển đổi thường là hàm
tanh(x), sigmoid(x) hoặc softmax(x)[17].

1.1.2 Mạng nơ-ron tích chập – Convolutional neural network (CNN)
Convolutional Neural Network (CNN – Mạng nơ-ron tích chập) là một trong những mô
hình Deep Learning tiên tiến giúp cho chúng ta xây dựng được những hệ thống thông minh
với độ chính xác cao như hiện nay như hệ thống xử lý ảnh lớn như Facebook, Google hay
Amazon đã đưa vào sản phẩm của mình những chức năng thông minh như nhận diện khuôn
mặt người dùng, phát triển xe hơi tự lái hay drone giao hàng tự động. CNN được sử dụng
nhiều trong các bài toán phát hiện các object trong ảnh.


4

1.2 Các kỹ thuật liên quan đến xử lý ảnh và nhận diện đối tượng.
1.2.1 Tổng quan về xử lý ảnh
Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm tạo ra kết quả
mong muốn. Kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh tốt hơn hoặc một
kết luận nào đó.

Hình 1.13: Các bước cơ bản trong một hệ thống xử lý ảnh

Sơ đồ tổng quát của một hệ thống xử lý ảnh:
 Khối thu nhận ảnh: Có nhiệm vụ tiếp nhận ảnh đầu vào.
 Khối tiền xử lý: Có nhiệm vụ xử lý nâng cao chất lượng ảnh như giảm nhiễu, phân
vùng, tìm biên …
 Khối dự đoán: Có nghiệm vụ đưa ra dự đoán từ bức ảnh đã được tiền xử lý đưa ra kết
quả dự đoán sử dụng cho bước hậu xử lý và đưa ra quyết định.
 Khối hậu xử lý: Có nhiệm vụ xử lý các kết quả của khối dự đoán, có thể lược bỏ hoặc
biến đổi các kết quả này để phù hợp với các ký thuật cụ thể sử dụng trọng hệ quyết
định.
 Khối hệ quyết định và lưu trữ: Có nhiệm vụ đưa ra quyết định(phân loại, phát hiện)
dựa trên dữ liệu đã học.
 Khối kết luận: Đưa ra kết luận dựa vào quyết định của khối quyết định.

1.2.2 Các vấn đề cơ bản trong xử lý ảnh
 Nắn chỉnh biến dạng:
 Khử nhiễu:
 Chỉnh số mức xám
 Nén ảnh

1.2.3 Nhận diện và phân loại ảnh
Các hệ thông phát hiện và nhận dạng đối tượng hiện nay thường có ba bước xử lý


5

-

Bước 1: Sử dụng một mô hình hoặc một thuật toán để tạo ra các vùng ứng viên, các khu
vực quan tâm. Các vùng ứng viên này là một tập hợp lớn các hộp giới hạn để xác định
đối tượng.

-

Bước 2: Trích xuất đặc trưng từ các hộp giới hạn tìm được, chúng được đánh giá và xác
định xem đối tượng nào có mặt trong hộp giới hạn đó (tức là thành phần phân loại đối
tượng) hay không.

-

Bước 3: Trong bước hậu xử lý cuối cùng, các hộp chồng chéo nhau được kết hợp thành
một hộp giới hạn sử dụng một số thuật toán như Non-maximum suppression, …

1.3 Các kỹ thuật hiện tại và hạn chế.
1.3.1 R-CNN, Fast R-CNN
a. R-CNN
Sau khi các nghiên cứu về các kỹ thuật học sâu thu được nhiều kết quả rõ ràng các kỹ
thuật phân loại dựa trên HOG[2] dần được thay thế bằng một kỹ thuật học sâu như CNN đã
cho kết quả chính xác hơn. Tuy nhiên, có một vấn đề là CNN quá chậm và tính toán rất tốn
kém. Không thế chạy CNN trên nhiều cửa sổ được tạo bởi thuật toán cửa sổ trượt (sliding
window detector). R-CNN[12] đã giải quyết vấn đề này bằng cách chạy một thuật toán được
gọi là Selective Search để giảm số hộp giới hạn (bounding box) được đưa vào bộ phân loại.
Selective Search sử dụng các dấu hiệu bố cục như kết cấu, cường độ, màu sắc ... để tạo ra các
vị trí có thể chứa đối tượng. Sau đó chúng ta có thể cung cấp các hộp giới hạn này cho một
bộ phân loại dựa trên CNN.
b. Fast R-CNN
Fast R-CNN[5] sử dụng ý tưởng của SPP-net, R-CNN và sửa một vấn đề chính trong SPPnet như: Fast R-CNN có thể thực hiện từ đầu đến cuối (end-to-end). Một điều nữa là họ đã
thêm tính toán hồi quy để tìm hộp giới hạn vào việc huấn luyện. Vì vậy mạng có hai đầu ra
một đầu phân loại đầu ra và một đâu dự đoán hộp giới hạn. Mục tiêu này là tính năng nổi bật
của Fast R-CNN[5] vì nó không còn yêu cầu huấn luyện mạng độc lập để tìm vị trí và phân
loại đối tượng. Hai thay đổi này đã làm giảm bớt thời gian huấn luyện tổng thể và tăng độ
chính xác so với SPP-net.


6

Hình 1.16: Mô hình mạng Fast R-CNN

1.3.2 Faster R-CNN
Faster R-CNN[14] là một phiên bản cải tiến của Fast R-CNN[5]. Nó thay thế phần chậm
nhất của Fast R-CNN là Selective search bằng một mạng CNN nhỏ được gọi là mạng đề xuất
khu vực(Region Proposal network-RPN) để đề xuất ra các vùng quan tâm trên ảnh.

Hình 1.17: Mô hình mạng Faster R-CNN

1.3.3 YOLO, SSD
a. You Only Look Once
YOLO chia mỗi hình ảnh đầu vào thành một lưới có SxS ô và mỗi ô dự đoán N hộp
giới hạn và độ tin cậy. Độ tin cậy phản ảnh độ chính xác của hộp giới hạn và liệu hộp giới
hạn đó có thực sự chứa một đối tượng(không phân biệt lớp). YOLO cũng dự đoán xác suất
các lớp cho mỗi hộp. Chúng ta có thể kết hợp cả hai xác suất để có được xác suất của mỗi lớp
cho từng hộp giới hạn được dự đoán.


7

Hình 1.18: Quá trình dự đoán của YOLO

Một số lợi ích của YOLO:
-

Nhanh. Tốt cho các hệ thông xử lý thời gian thực

-

Dự đoán cả vị trí và loại đối tượng trong một mạng duy nhất nên có thể huấn luyện

end-to-end để tối ưu độ chính xác
-

YOLO tổng quát hóa tốt hơn. Nó hoạt động tốt hơn các phương pháp khác khi tổng

quát hóa từ hình ảnh tự nhiên sang các miền khác như các tác phẩm nghệ thuật.
b. Single Shot Detector (SSD)

Hình 1.19: Mô hình mạng SSD

SSD[10] đạt được sự cân bằng tốt giữa tốc độ và độ chính xác. SSD chỉ chạy một mạng CNN
trên hình ảnh đầu vào một lần và tính toán một bản đồ các đặc trưng. Bây giờ chúng ta chạy
một filter có kích thước nhỏ 3x3 trên toàn bộ bản đồ đặc trưng này để dự đoán các hộp giới
hạn và xác suất phân loại. SSD cũng sử dụng các hộp neo ở các tỷ lệ khung hình khác nhau
tượng tự như Faster R-CNN[14]. Để xử lý tỷ lệ, SSD dự đoán các hộp giới hạn sau nhiều lần
co dãn.

1.4. Kết luận chương.
Qua phần giới thiệu và đánh giá ở trên chúng ta có rất nhiều phương pháp để phát hiện
phương tiện giao thông. Nhưng do tốc độ di chuyển của các phương tiện giao thông thường
cao nên cần một phương pháp có tốc độ xử lý nhanh và độ chính xác tốt trong điều kiện ánh
sáng tốt.


8

CHƯƠNG 2: PHÁT HIỆN PHƯƠNG TIỆN GIAO THÔNG SỬ
DỤNG KỸ THUẬT HỌC SÂU YOLO
2.1 Bài toán phát hiện phương tiện giao thông
2.1.1 Tổng quan bài toán
Phát hiện phương tiện giao thông là một bài toán khó và phức tạp khi cần xác định vị trí
và phân loại các phương tiện giao thông. Một hệ thống phát hiện phương tiện giao thông bao
gồm ba bước xử lý chính:
Bước 1: Thu nhận ảnh từ các hệ thống camera giao thông và thực hiện tiền xử lý dữ liệu
đầu vào.
Bước 2: Sử dụng một mô hình phát hiện đã được huấn luyện để phát hiện (YOLO, RCNN, SSD…) và trả về kết quả bao gồm hộp giới hạn và đối tượng xuất hiện trong các hộp
giới hạn đó.
Bước 3: Thực hiện hậu xử lý để loại bỏ các hộp chồng chéo, theo dõi các phương tiện…

Hình 2.1 Bài toán phát hiện phương tiện giao thông

2.1.2 Các điều kiện ràng buộc
Để thu được kết quả phát hiện chính xác cao các hệ thống camera cần được đặt tại các vị
trí phù hợp như giữa các làn xe để có góc nhìn rộng tránh các trường hợp các phương tiện bị
che khuất, các vị trí có ánh sáng tốt.
Các hệ thống xử lý trung tâm cần được hỗ trợ các máy tính xử lý có nhiều CPU hoặc GPU
giúp cho việc phát hiện các phương tiện nhanh và chính xác đảm bảo thời gian thực.

2.2 Hệ thống phát hiện đối tượng thời gian thực YOLO.
2.2.1 Tổng quan hệ thống phát hiện đối tượng YOLO.
YOLO là một phương pháp phát hiện đối tượng thời gian thực hiện đại nhất hiện nay. Với
GPU[21] Titan X mô hình YOLO có tốc độ 30 FPS với độ chính xác trung bình 57.9% trên
tập dữ liệu tiêu chuẩn COCO[20]. YOLO rất phù hợp cho các bài toán đòi hỏi tốc độ xử lý
theo thời gian thực như giám sát giao thông, xe tự lại, các hệ thống giám sát an ninh.


9

2.2.2 Các thành phần của hệ thống YOLO
Mô hình YOLO sử dụng một phương pháp tiếp cận hoàn toàn khác. Nó thực hiện cho ảnh
đầu vào qua một mạng CNN duy nhất. Mạng CNN sẽ chia hình ảnh thành các khu vực dự
đoán hộp giới hạn và xác suất của mỗi khu vực đó. Trong ví dụ phía dưới kết quả trả về cuối
cùng của mô hình thu được một ma trận 3 chiều có kích thước 7x7x30. Tương ứng YOLO đã
chia hình ảnh đầu vào thành lưới 7x7 (SxS). Mỗi ô chỉ dự đoán một đối tượng. Như ví dụ
dưới: ô màu vàng cố gắng dự đoán đối tượng ô tô có tâm(điểm màu xanh) nằm trong ô lưới
đó.

Hình 2.3: Ô chịu trách nhiệm dự đoán đối tượng xe ô tô

2.2.3 Kiến trúc của mô hình YOLO qua các phiên bản
a. YOLO version 1

Hình 2.5: YOLO version 1

YOLOv2 có 24 lớp convolutional theo sau là 2 lớp fully connected (FC). Một vài lớp
convolutional sử dụng các lớp giảm có kích thước 1x1 để giảm độ sâu của các features map.
Đối với lớp convolutional cuối cùng, nó xuất ra một tensor có kích thước (7x7x1024). Tensor
sau đó được dàn phẳng ra. Sử dụng 2 fully connected dưới dạng hồi quy tuyến tính tạo ra


10

output có kích thước 7x7x30 tương ứng với dự đoán 2 hộp giới hạn cho mỗi ô và 20 lớp dự
đoán như ví dụ trên.
b. YOLO version 2
Để cải thiện độ chính xác YOLOv2 đã thực hiện cải tiến các phương pháp sau
-

Loại bỏ các lớp fully connected chịu trách nhiệm dự đoán hộp giới hạn

Hình 2.6: Loại bỏ phần kết nối đầy đủ trên YOLOv2

-

YOLO di chuyển lớp dự đoán từ cấp độ ô lên cấp độ hộp giới hạn. Bây giờ mỗi dự đoán
bao gồm 4 tham số cho hộp giới hạn, 1 điểm tin cậy của hộp và C xác suất lớp, tức là với
5 hộp giới hạn với 25 tham số cho mỗi hộp giới hạn ta có 125 tham số cho mỗi ô.

Hình 2.7: Kết quả dự đoán của YOLO

-

Để tạo ra các dự đoán với kích thước 7x7x125, chúng ta sẽ thay thế lớp convolutional
cuối cùng bằng ba filter có kích thước 3x3 cho mỗi đầu ra có 1024 giá trị. Sau đó ở lớp
convolutional cuối cùng ta áp dụng filter có kích thước 1x1 để chuyển từ 7x7x1024 output
về 7x7x125.

-

Thay đổi kích thước ảnh đầu vào từ 448x448 xuống 416x416.

-

Loại bỏ một lớp pooling để làm cho đầu ra của mạng có kích thước 13x13 (thay vì 7x7)
c. YOLO version 3


11

YOLOv3 sử dụng một biến thể của Darknet[25, 26], ban đầu có 53 lớp được đào tạo trên
Imagenet. Đối với nhiệm vụ phát hiện, 53 lớp khác được xếp chồng lên nó, tạo cho chúng
ta một kiến trúc cơ bản hoàn toàn dựa trên 106 lớp cho YOLOv3

Hình 2.8: Mô hình YOLO phiên bản thứ 3

Hình dạng kernel của phát hiện là 1x1x(Bx(5+C)). Ở đây B là số lượng hộp giới hạn một
ô trên ma trậ đặc trưng có thể dự đoán, 5 là thuộc tính của hộp giới hạn và điểm tin cậy và C
là số lớp. Ma trậ đặc trưng được tạo ra bởi kernel này có chiều rộng và chiều cao giống hệt
nhau của ma trậ đặc trưng trước đó và có các thông tin dọc theo chiều sâu như mô tả hình bên
dưới.


12

Hình 2.9: Kết quả dự đoán của YOLOv3

2.2 Phương pháp huấn luyện
YOLO sử dụng hàm sum-squared error giữa dự đoán và giá trị mong muốn để tính mất mát.
Hàm mất mát bao gồm:
-

Classification loss: Nếu một đối tượng được phát hiện, classification loss ở mỗi ô là sai
số bình phương (squared error) của xác suất có điều kiện cho mỗi lớp.
𝑆2
𝑜𝑏𝑗

∑ 1𝑖
𝑖=0



(𝑝𝑖 (𝑐 ) − 𝑝̂𝑖 (𝑐 ))

2

𝑐∈𝐶𝑙𝑎𝑠𝑠𝑒𝑠

Trong đó:
-

obj

1i

= 1 nếu một đối tượng xuất hiện trong ô i và bằng 0 nểu không có đối

tượng nào xuất hiện
-

p̂i (c): Xác suất có điều kiện của lớp c trong ô i


13

-

Localization loss: Localization loss được tính bằng cách tính lỗi tại mỗi vị trí và kích
thước hộp giới hạn được dự đoán. Chúng ta chỉ đếm những ô chịu trách nhiệm dự đoán
đối tượng.
𝑆2

𝐵

𝑜𝑏𝑗
𝜆𝑐𝑜𝑜𝑟𝑑 ∑ ∑ 1𝑖𝑗 [(𝑥𝑖 − 𝑥̂𝑖 )2 + (𝑦𝑖 − 𝑦̂𝑖 )2 ]
𝑖=0 𝑗=0
𝑆2

+

𝐵

𝑜𝑏𝑗
𝜆𝑐𝑜𝑜𝑟𝑑 ∑ ∑ 1𝑖𝑗 [(√𝑤𝑖
𝑖=0 𝑗=0

2

2

− √𝑤
̂)
+ (√ℎ𝑖 − √ℎ̂𝑖 ) ]
𝑖

Trong đó:
-

obj

1ij = 1 nếu hộp giới hạn thứ j trong ô i chịu trách nhiệm dự đoán một đối tượng
ngược lại bằng 0

-

λcoord tăng trọng số cho hàm mất mát của tọa độ hộp giới hạn

-

x̂, ŷ, w
̂, ĥ : Tọa độ của hộp giới hạn được dự đoán

Để tránh việc lỗi dự đoán cho hộp có kích thước to hoặc nhỏ hơn hộp thực sự có cùng giá
trị lỗi ví dụ hộp to hơn và hộp nhỏ hơn cùng lớn hơn và nhỏ hơn hộp thực sự 2 pixel. YOLO
đã lấy căn bậc hai của chiều rộng và chiều cao của hộp giới hạn thay vì giữ nguyên. Ngoài ra,
để nhấn mạnh hơn vào độ chính xác của hộp giới hạn YOLO còn nhân localization loss với
𝜆𝑐𝑜𝑜𝑟𝑑 (mặc định bằng 5).
-

Confidence loss: Nếu một đối tượng được phát hiện trong hộp confidence loss sẽ

được tính là:
𝑆2

𝐵
𝑜𝑏𝑗

∑ ∑ 1𝑖𝑗 (𝐶𝑖 − 𝐶̂𝑖 )

2

𝑖=0 𝑗=0

Trong đó:
-

Ĉi : Độ tin cậy của hộp giới hạn j trong ô i

-

1ij = 1 nếu hộp giới hạn thứ j chịu trách nhiệm phát hiện đối tượng ngược lại

obj

bằng 0
-

Nếu một đối tượng không được phát hiện trong hộp thì confidence loss là:


14
𝑆2

𝐵
𝑛𝑜𝑜𝑏𝑗

𝜆𝑛𝑜𝑜𝑏𝑗 ∑ ∑ 1𝑖𝑗

2
(𝐶𝑖 − 𝐶̂𝑖 )

𝑖=0 𝑗=0

Trong đó:
noobj

obj

là phần bổ sung cho 1ij

-

1ij

-

Ĉi : Độ tin cậy của hộp giới hạn j trong ô i

-

λnoobj: Giảm trọng số lỗi khi phát hiện nền

Hầu hết các hộp không chưa bất kỳ đối tượng nào, điều này gây ra mất cân bằng như
chũng ta đang đào tạo một mô hình phát hiện nền thường xuyên hơn là phát hiện đối tượng.
Để khắc phục vấn đề này, YOLO đề xuất thêm một tham số 𝜆𝑛𝑜𝑜𝑏𝑗 (mặc định: 0.5).
Cuối cùng hàm mất mát của YOLO có dạng:
𝑆2

𝐵

𝑜𝑏𝑗
𝜆𝑐𝑜𝑜𝑟𝑑 ∑ ∑ 1𝑖𝑗 [(𝑥𝑖 − 𝑥̂𝑖 )2 + (𝑦𝑖 − 𝑦̂𝑖 )2 ]
𝑖=0 𝑗=0
𝑆2

+

𝑜𝑏𝑗
𝜆𝑐𝑜𝑜𝑟𝑑 ∑ ∑ 1𝑖𝑗
𝑖=0 𝑗=0
𝑆2

+

𝐵

[(√𝑤𝑖 − √𝑤
̂)
+ (√ℎ𝑖 − √ℎ̂𝑖 ) ]
𝑖
𝑆2

𝐵

𝑜𝑏𝑗
∑ ∑ 1𝑖𝑗 (𝐶𝑖
𝑖=0 𝑗=0

2

2

𝐵

2

2
𝑛𝑜𝑜𝑏𝑗
− 𝐶̂𝑖 ) + 𝜆𝑛𝑜𝑜𝑏𝑗 ∑ ∑ 1𝑖𝑗
(𝐶𝑖 − 𝐶̂𝑖 )
𝑖=0 𝑗=0

𝑆2
𝑜𝑏𝑗

+ ∑ 1𝑖
𝑖=0

2

∑ (𝑝𝑖 (𝑐 ) − 𝑝̂𝑖 (𝑐 ))
𝑐∈𝐶𝑙𝑎𝑠𝑠𝑒𝑠

2.3 Kết luận chương.
YOLO là một trong những mô hình hiện đại nhất trong phát hiện đối tượng. Nó có tốc độ
xử lý rất nhanh và cần bằng được giữa độ chính xác và tốc độ. YOLO rất phù hợp cho các hệ
thông phát hiện thời gian thực như phát hiện các phương tiện giao thông đang lưu thông trên
đường phố. Các phương tiện giao thông được thu thập để áp dụng mô hình YOLO bao gồm
ô tô con và xe máy là một trong nhưng phương tiên phổ biến nhất trong giao thông Việt Nam
hiện nay.


15

CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ
3.1 Thu thập và tiền xử lý dữ liệu.
Bộ dữ liệu thử nghiệm được thu thập từ video giao thông được cung cấp bởi hệ thống
camera giao thông của thành phố Đà Nẵng, các video được chuyển thành các hình ảnh có kích
thước 720x1280. Bộ dữ liệu bao gồm 600 ảnh trong đó 500 ảnh được sử dụng cho quá trình
huấn luyện và 100 ảnh cho quá trình kiểm tra.
Tất cả các ảnh đều được tiền xử lý để tạo file .txt chú thích thể hiện vị trí của các đối tượng
trong ảnh theo định dạng sau.

3.2 Cài đặt và thử nghiệm.
3.2.1 Môi trường thử nghiệm
Trong luận văn này cầu hình phần cứng được thử nghiệm là:
-

Hệ điều hành: Linux

-

Bộ xử lý: Intel Core i5 7400 @ 3.40GHz.

-

Bộ nhớ Ram: 8GB

-

Bộ xử lý đồ họa GPU: Nvidia 1060 3GB

3.2.2 Huấn luyện dữ liệu
Đầu vào:
Tập dữ liệu đầu vào của mô hình là các hình ảnh và file mô tả vị trí và loại của mỗi đối tượng
trong ảnh đó được mô tả trong phần tiền xử lý.
Đầu ra:
Tập các ma trận trọng số w và bias của mô hình YOLO.

3.2.3 Phương pháp đánh giá.
Các mô hình phát hiện đối tượng thường được huấn luyện trên một nhóm các lớp cố định
vì vậy mô hình sẽ định vị và chỉ phân loại các lớp trong hình ảnh đó. Ngoài ra, vị trí của đối
tượng thường ở dạng hình chứ nhật bị ràng buộc. Vì vậy, phát hiện đối tượng liên quan đến
cả vị trí của đối tượng trong hình ảnh và phân loại đối tượng đó.
Để tính toán Precision và Recall, cũng giống như các bài toán học máy chúng ta cần xác định
các điểm True Positives, False Positives, True Negatives và False Negatives.

3.3 Đề xuất phương pháp cải tiến và đánh giá
3.3.1 Đề xuất phương pháp cải tiến


16

Trong luận văn này chúng ta sử dụng phương pháp thay đổi số lượng filter trên các
convolutional của YOLO. Quá trình thay đổi này giúp tăng tốc độ dự đoán và huấn luyện của
mô hình YOLO mà độ chính xác không giảm đi quá nhiều. Số lượng filter của phương pháp
cải tiền này thự hiện thay đổi số lượng filter của các lớp convolutional từ lớp 27 đến lớp 66,
lần lượt thay đổi số lượng filter xuống 512 và 256 filter.

3.3.2 Đánh giá phương pháp cải tiến
a. Tốc độ xử lý

Speed
12.5
12
11.5
11
FPS

10.5
10
9.5
9
YOLO Full

YOLO 512

YOLO 256

Hình 3.9: Tốc độ xử lý

b. Thời gian huấn luyện

Total loss

100

Total loss

80
60
40
20
0
0

20000

40000

YOLO Full

Epochs
YOLO 512

60000
YOLO 256

Hình 3.10: Tốc độ hội tụ của hai cấu hình

80000


17

Time training
100000

Epochs

80000
60000
40000
20000
0

5

10

15

20

25

30

35

Hours
YOLO Full

YOLO 512

YOLO 256

Hình 3.11: Thời gian huấn luyện của hai cấu hình

c. Độ chính xác

mAP & Speed

Accuracy

90
80
70
60
50
40
30
20
10
0
mAP(%)
speed(FPS)

YOLO Full

YOLO 512

YOLO 256

85.71

82.8

81.5

10

10.8

12

Hình 3.12: Kết quả mô hình YOLO sau khi thay đổi số filter

3.4 Kết luận chương
Chương III giới thiệu về bộ dữ liệu thử nghiệm, xây dựng mô hình, cài đặt thử nghiệm và
đề xuất một phương pháp cái tiến mô hình YOLO trong bài toán phát hiện phương tiện giao
thông giúp tăng tốc độ xử lý mà không làm gì đi độ chính xác của mô hình đáng kể.


18

KẾT LUẬN
Với mục tiêu nghiên cứu và xây dựng mô hình phát hiện phương tiện giao thông có thể áp
dụng tại Việt Nam. Luận văn này tập trung nghiên cứu về các phương pháp phát hiện và nhận
dạng phương tiện giao thông sử dụng kỹ thuật học sâu dựa trên mô hình YOLO. Luận văn đạt
được một số kết quả sau:
-

Nghiên cứu tổng quan một số vấn đề về kỹ thuật học sâu trong xử lý ảnh, giới thiệu

một số mô hình được sử dụng phổ biến trong nhiều bài toán phát hiện hiện nay.
-

Nghiên cứu sâu mô hình YOLO, một trong những mô hình hiện đại nhất hiện nay. Thử

nghiệm và đánh giá các phương pháp cải tiến cho mô hình YOLO giúp cải thiện tốc độ huấn
luyện cũng như tốc độ dự đoán
-

Thu thập dữ liệu huấn luyện, thử nghiệm và đánh giá kết quả của phương pháp. Kết

quả thực nghiệm cho thấy việc thay đổi số filter trong các lớp convolutional của mô hình
YOLO thực sự đem lại hiệu quả giúp tăng tốc độ huấn luyện và tốc độ dự đoán trong điều
kiện ánh sang tốt của ảnh đầu vào.
Trong tương lai, Luận văn có thể được tiếp tục nghiên cứu theo hướng ứng dụng phục vụ cho
các hệ thống giám sát giao thông tại Việt Nam.



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×