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

Hcmute mô hình xe tự hành

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 (6.18 MB, 83 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

CƠNG TRÌNH NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

MƠ HÌNH XE TỰ HÀNH
S

K

C

0

0

3

9

5

9

MÃ SỐ: SV2020-152

S KC 0 0 7 3 6 9

Tp. Hồ Chí Minh, tháng 07/2020


Luan van


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM

BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

MƠ HÌNH XE TỰ HÀNH
SV2020 - 152

Chủ nhiệm đề tài:

Huỳnh Việt Cường

TP Hồ Chí Minh, 07/2020

Luan van

16119015


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM

BÁO CÁO TỔNG KẾT
ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CỦA SINH VIÊN

MƠ HÌNH XE TỰ HÀNH

SV2020 - 152

Thuộc nhóm ngành khoa học: Kỹ thuật
SV thực hiện: Huỳnh Việt Cường Nam, Nữ: Nam
Dân tộc: Kinh
Lớp, khoa: 16119CLC – Đào tạo Chất Lượng Cao Năm thứ 4/Số năm đào tạo: 4
Ngành học: Cơng nghệ kỹ thuật máy tính
Người hướng dẫn: TS.Trần Vũ Hồng

TP Hồ Chí Minh, 07/2020

Luan van


i

MỤC LỤC
MỤC LỤC ....................................................................................................................... i
DANH MỤC CÁC HÌNH ẢNH, BIỂU ĐỒ ................................................................. iv
DANH MỤC CÁC BẢNG BIỂU.................................................................................. vi
DANH MỤC CÁC TỪ VIẾT TẮT ............................................................................. viii
CHƯƠNG 1: MỞ ĐẦU...................................................................................................9
1.1. ĐẶT VẤN ĐỀ ........................................................................................................1
1.2. LÝ DO CHỌN ĐỀ TÀI ..........................................................................................4
1.3. MỤC TIÊU ............................................................................................................4
1.4. PHƯƠNG PHÁP, ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU...........................4
1.5. BỐ CỤC ................................................................................................................5
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ................................................................................7
2.1. THƯ VIỆN PYTORCH .........................................................................................7
2.2. XỬ LÝ ẢNH ...........................................................................................................8

2.2.1. Các khái niệm cơ bản trong xử lý ảnh ...........................................................8
2.2.2. Biến đổi Hough .............................................................................................11
2.3. MÁY HỌC (MACHINE LEARNING) ..................................................................12
2.3.1. Giới thiệu ......................................................................................................12
2.3.2. SVM ...............................................................................................................13
2.4. HỌC SÂU (DEEP LEARNING) ..........................................................................13
2.4.1. CNN ..............................................................................................................13
2.4.2. Phân đoạn ảnh (Image Segmentation) .........................................................14
2.4.3. Bài toán phát hiện vật thể (Object Detection) ..............................................15
2.4.4. Phương pháp tối ưu ......................................................................................19

Luan van


2.5. GIẢI THUẬT ĐIỀU KHIỂN PID ........................................................................20
CHƯƠNG 3 : GIỚI THIỆU VỀ PHẦN CỨNG ...........................................................22
3.1. TỔNG QUAN PHẦN CỨNG ..............................................................................22
3.2. CHI TIẾT PHẦN CỨNG .....................................................................................23
3.2.1. Tổng quan về xe Traxxas Desert ..................................................................23
3.2.2. Các thiết bị trên xe ........................................................................................26
3.2.3. Tổng quang về mạch adapter CDS TX2 .......................................................31
CHƯƠNG 4: THIẾT KẾ PHẦN MỀM ........................................................................34
4.1.XỬ LÝ ON-ROAD ................................................................................................35
4.1.1. Xử lý ảnh RGB ..............................................................................................35
4.1.2. Xử lý ảnh depth .............................................................................................39
4.2. XỬ LÝ OFF-ROAD .............................................................................................40
4.2.1. Tổng quan phương pháp ...............................................................................40
4.2.2. Hàm mất mát (loss function).........................................................................42
4.3. ĐIỀU KHIỂN ......................................................................................................44
CHƯƠNG 5: KẾT QUẢ THỰC HIỆN, SO SÁNH VÀ ĐÁNH GIÁ ..........................48

5.1. THỰC NGHIỆM .................................................................................................48
5.1.1. Môi trường thực nghiệm ...............................................................................48
5.1.2. Tập dữ liệu ....................................................................................................49
5.2. KỸ THUẬT HUẤN LUYỆN MẠNG VÀ THIẾT LẬP THÔNG SỐ ......................51
5.2.1. Xử lý On-road ...............................................................................................51
5.2.2. Xử lý Off-road ...............................................................................................51
5.3. KẾT QUẢ ............................................................................................................51
5.3.1. Môi trường mô phỏng ...................................................................................51
5.3.2. Môi trường thực tế ........................................................................................53
5.4. SO SÁNH VÀ ĐÁNH GIÁ ...................................................................................56
5.4.1. Các phương pháp đánh giá kết quả ..............................................................56

Luan van


5.4.2. Kết quả On-road ...........................................................................................58
5.4.3. Kết quả Off-road ...........................................................................................60
CHƯƠNG 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ..............................................65
6.1. KẾT LUẬN ..........................................................................................................65
6.2. HƯỚNG PHÁT TRIỂN .......................................................................................65
TÀI LIỆU THAM KHẢO .............................................................................................66

Luan van


DANH MỤC CÁC HÌNH ẢNH, BIỂU ĐỒ
Hình 1.1 Hệ thống hỗ trợ người lái (ADAS) .................................................................1
Hình 2. 1 Workflow của PyTorch ...................................................................................7
Hình 2. 3 Hình tách biên sử dụng Canny ......................................................................10
Hình 2. 5 Ánh xạ đường thẳng từ khơng gian ảnh sang khơng gian Hough .................12

Hình 2. 6 Kiến trúc mạng CNN .....................................................................................14
Hình 2. 7 Ví dụ minh họa về phân đoạn ngữ nghĩa .......................................................15
Hình 2. 8 Kiến trúc của SSD .........................................................................................16
Hình 2. 9 Ứng dụng của Mobilenet trên thiết bị thơng minh ........................................17
Hình 2. 10 Kiến trúc mạng mobilenet version 1 ...........................................................18
Hình 2. 11 Kiến trúc mạng Moblilenet version 2 ..........................................................18
Hình 2. 12 Kiến trúc của RFB. ......................................................................................19
Hình 3. 1 Tổng quan phần cứng ....................................................................................22
Hình 3. 2 Xe RC 1/7 Traxxas Desert .............................................................................23
Hình 3. 3 Bộ điều tốc .....................................................................................................24
Hình 3. 4 Động cơ khơng chổi than..............................................................................25
Hình 3. 5 Bộ xử lý trung tâm NVIDIA Jetson TX2 ......................................................26
Hình 3. 6 Cảm biến khoảng cách...................................................................................27
Hình 3. 7 Cảm biến gia tốc ............................................................................................28
Hình 3. 8 Pin LiPo .........................................................................................................29
Hình 3. 9 Camera astra ..................................................................................................30
Hình 3. 10 Mạch chuyển đổi CDD ................................................................................31
Hình 3. 11 Sơ đồ kết nối mạch chuyển đổi với thiết bị ngoại vi ...................................32
Hình 3. 12 Mơ hình xe thực tế .......................................................................................32
Hình 3. 13 NVIDIA Jetson TX2 gắn mạch chuyển đổi và các kết nối .........................33
Hình 4. 1 Sơ đồ tổng quan phương pháp .......................Error! Bookmark not defined.
Hình 4. 2 Tổng quan qui trình xử lý On-road................Error! Bookmark not defined.
Hình 4. 3 Kiến trúc mạng đề xuất cho xử lý On-road ...................................................36
Hình 4. 4 Phương pháp phát hiện làn đường .................................................................37
Hình 4. 5 Xác định cụm dựa trên miền Hough..............................................................38
Hình 4. 6 Lọc nền ..........................................................................................................39
Hình 4. 7 Sơ đồ chi tiết thuật toán phát hiện vật cản.....................................................40

Luan van



Hình 4. 8 Sơ đồ phương pháp nhận diện biển báo ........................................................40
Hình 4. 9 Kiến trúc thuật tốn phát hiện vị trí biển báo ................................................41
Hình 4. 10 Đặc trưng HOG được biểu diễn bằng t-SNE ...............................................42
Hình 4. 11 Áp dụng kỹ thuật PID chạy bám làn đường. ...............................................45
Hình 4. 12 Vượt xe. .......................................................................................................45
Hình 4. 13 Lưu đồ giải thuật điều khiển ........................................................................46
Hình 5. 1 Mơi trường ảo dùng phần mềm UNITY ........................................................48
Hình 5. 2 Mơi trường thực tế tự tạo...............................................................................49
Hình 5. 3 Ảnh thu được từ camera ................................................................................50
Hình 5. 4 Các loại biển báo giao thơng .........................................................................50
Hình 5. 5 Kết quả trong mơi trường mơ phỏng .............................................................52
Hình 5. 6 Kết quả trong mơi trường mơ phỏng .............................................................52
Hình 5. 7 Kết quả trong mơi trường thực tế ngồi cuộc sống (dữ liệu lấy ra từ video) 53
Hình 5.8 Kết quả trong mơi trường thực tế (Ảnh lấy từ mơ hình xe) ...........................54
Hình 5.9 Kết quả nhận diện làn đường (1) ....................................................................54
Hình 5.10 Kết quả nhận diện làn đường (2) ..................................................................55
Hình 5.11 Kết quả nhận diện làn đường (3) ..................................................................55
Hình 5.12 Kết quả nhận diện làn đường (4) ..................................................................55
Hình 5. 13 Ví dụ cho ma trận tương quan .....................................................................57
Hình 5. 14 Kết quả phân loại .........................................................................................60
Hình 5. 23 (a) Kết quả trong điều kiện ánh sáng thấp. (b) Kết quả trong điều kiện ánh
sáng cao .........................................................................................................................61

Luan van


DANH MỤC CÁC BẢNG BIỂU

Bảng 1. 1 THÁCH THỨC VÀ PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN PHÁT

HIỆN BIỂN BÁO ............................................................................................................3
Bảng 5. 1 HIỆU SUẤT QUÁ TRÌNH PHÂN ĐOẠN ..................................................58
Bảng 5. 2 SỐ PHẦN TỬ ĐIỂM NỔI VÀ TỐC ĐỘ FPS .............................................59
Bảng 5. 3 BẢNG SO SÁNH GIỮA MÔ-ĐUN CẢI TIẾN VỚI SKIPNET ................59
Bảng 5. 4 HIỆU SUÂT CỦA PHÁT HIỆN LÀN ĐƯỜNG VỚI NHỮNG KHOẢNG
CÁCH KHÁC NHAU ...................................................................................................59
Bảng 5. 5 FPS CỦA MỖI CÔNG VIỆC TRONG OFF-ROAD ...................................61
Bảng 5. 6 ĐÁNH GIÁ KẾT QUẢ PHÁT HIỆN BIỂN BÁO TRONG CÁC LAANFN
CHẠY THỬU NGHIỆM KHÁC NHAU......................................................................61

Luan van


DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt
ADAS

Tên đầy đủ
Advanced Driver Assistance Systems

TSR

Traffic Sign Detection

LOD

Lane and Obstacle Detection

SSD


Single Shot Multi-box Detector

RFB

Receptive Field Block

SVM

Support Vector Machine

FPS

Frames per second

FLOPS

Floating point operations per second

HOG

Histogram of Oriented Gradients

GPU

Graphics Processing Unit

CUDA

Central Processing Unit


Luan van


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT TPHCM

THÔNG TIN KẾT QUẢ NGHIÊN CỨU CỦA ĐỀ TÀI
1. Thơng tin chung:
- Tên đề tài: Mơ hình xe tư hành
- Chủ nhiệm đề tài:

Huỳnh Việt Cường

Mã số SV: 16119003

Khoa: Đào tạo chất lượng cao

- Lớp: 16119CLC
- Thành viên đề tài:
Stt

Họ và tên

MSSV

Lớp

Khoa

1


Huỳnh Việt Cường

16119003

16119CLC

Đào tạo
lượng cao

chất

2

Lưu Vạn Tín

16119048

16119CLC

Đào tạo
lượng cao

chất

3

Nguyễn Đình Vương

16119056


16119CLC

Đào tạo
lượng cao

chất

- Người hướng dẫn: TS. Trần Vũ Hoàng
2. Mục tiêu đề tài:
Nghiên cứu và phát triển các chức năng trong hệ thống hỗ trợ người lái của xe tự hành. Ứng
dụng lý thuyết được học và tìm hiểu để nhận diện làn đường và biển báo giao thông trên đường đồng
thời phát hiện vật cảng trên đường.
Thiết kế thuật toán nhận diện làn đường và biển báo trong mơi trường mơ phỏng. Mơ hình xe
tự hành có khả năng nhận diện làn đường và biển báo trong môi trường thực tế. Đồng thời phát hiện
chướng ngại vật phía trước.
3. Tính mới và sáng tạo:
Bài viết tận dụng ưu điểm của xử lý ảnh truyền thống kết hợp với các mo-dun học sâu để huấn
luyện mạng vừa chính xác vừa cải thiện khả năng đáp ứng thời gian thực cho xe mơ hình.
4. Kết quả nghiên cứu:
Thuật toán nhận diện làn đường.
Thuật toán nhận diện vật thể, chướng ngại.
Thuật phát phá hiện biển báo giao thông.
Chạy nên tảng ROS trên Jetson TX2.

Luan van


Chạy thuật tốn trên mơi trường mơ phỏng.
Giao tiếp ngoại vi với Jetson TX2.


5. Đóng góp về mặt giáo dục và đào tạo, kinh tế - xã hội, an ninh, quốc phòng và khả năng áp dụng
của đề tài:
Đề tài "Mơ hình xe tự hành" sẽ đóng góp về mặt giáo dục và xã hội. Đề tài nghiên cứu về
các thuật toán hiện tại dành cho xe tự hành. Đặt biệt là các thuật toán về lĩnh vực thị giác máy tính,
máy học và học sâu trong trí tuệ nhân tạo. Bên cạnh đó mơ hình là tiền đề để phát triển hoàn chỉnh
và cải thiện hệ thống xe tự hành sau này.

6. Công bố khoa học của SV từ kết quả nghiên cứu của đề tài
Được chấp nhận công bố trong hội nghị khoa học tổ chức bởi IEEE Xplore. Paper ID:
GTSD2020_78.

Luan van


Ngày

tháng

năm 2020

SV chịu trách nhiệm chính
thực hiện đề tài
(kí, họ và tên)

Luan van


Nhận xét của người hướng dẫn về những đóng góp khoa học của SV thực hiện đề tài:
Đề tài xây dựng hoàn thiện một thống nhận diện biển báo, làn đường và vật cản sử dụng camera,

từ đó cho phép xe mơ hình có thể hồn tồn tự lái trong xa hình.

Ngày

Luan van

tháng

năm 2020


CHƯƠNG 1: MỞ ĐẦU
1.1. ĐẶT VẤN ĐỀ
Xe tự hành đang là xu hướng của thế giới hiện tại và cả trong tương lai, nó đang
thu hút được nhiều sự quan tâm cả trong và ngồi nước. Nó đã mở ra một cuộc chạy đua
cơng nghệ cho các tập đồn lớn như Tesla, Argo AI, Baidu, … Dự kiến trong tương lai
nó có thể thay thế hồn tồn cho con người nhằm giảm thiểu tai nạn đến từ những vấn
đề chủ quan của người lái như mất tập trung, tầm nhìn bị hạn chế, … hoặc do những vấn
đề khách quan như thời tiết, điều kiện ánh sáng, … Tuy nhiên để đạt được mức độ đó,
các hệ thống xe tự hành còn phải được nghiên cứu và phát triển hơn nữa để đảm bảo về
tính ổn định, thời gian đáp ứng và độ chính xác trong nhiều điều kiện làm việc khác
nhau. Do đó, trong giai đoạn hiện tại, các nhà nghiên cứu đang chia nhỏ hệ thống này ra
thành các hệ thống nhỏ với những tính năng thiết yếu nhằm hỗ trợ người lái (ADAS).
Các hệ thống này góp phần tạo mơi trường lái an tồn và thuận tiện hơn cho các tài xế.
Trong các hệ thống này, việc nhận diện biển báo giao thông, phát hiện làn đường và các
vật cản trên đường đóng vai trị đặc biệt quan trọng.

Hình 1.1 Hệ thống hỗ trợ người lái (ADAS)
 Tình hình nghiên cứu ngồi nước:
Trên thế giới, hầu hết các phương pháp giải quyết bài toán nhận diện làn đường

và phát hiện vật cản trên đường (LOD) [1-3] đều tập trung vào các trường hợp đơn giản
trên đường cao tốc. Gần đây, cũng có một vài nghiên cứu [4-5] phát triển các thuật toán

Luan van


có thể giải quyết vấn đề trên trong những mơi trường phức tạo hơn. Do đó, chúng phải
đối mặt với nhiều thách thức khó khăn hơn. Đa số những thách thức này đến từ nhiễu
của khung cảnh xung quanh làn đường ví dụ như đường cong, vật cản, bóng cây hay
thậm chí là bóng của các phương tiện giao thơng trên đường. Vì vậy, chúng ta cần một
phương pháp hiệu quả và mạnh mẽ hơn để giải quyết những thử thách trên. Tác giả trong
nghiên cứu [6] đã ứng dụng mạng “deep learning-based segmentation” để biểu diễn
phân đoạn làn. Những nghiên cứu này cho thấy tính hiệu quả trong việc giải quyết các
vấn đề nêu trên, cần ít khả năng tính tốn và đạt được kết quả tốt hơn. Tuy nhiên, làn
đường nhận diện được lại bị gãy khúc thành những phần khơng liên tục. Do đó, việc kết
hợp những thành phần không liên tục này lại thành một làn đường cụ thể như trong thực
tế là một bài toán mới được đặt ra và cần phải giải quyết. Trong nghiên cứu [7], tác giải
đã đề xuất một giải pháp rất tốt, giải quyết hầu các vấn đề đã nêu trước đó, nhưng nó lại
khơng đáp ứng tốc độ thời gian thực và không thể sử dụng cho một hệ thống nhúng với
phần cứng hạn chế.
Đối với bài toán phát hiện biển báo, một số thuật toán được đề xuất gần đây và
những thách thức chúng giải quyết được được nhóm tổng hợp ở bảng 1.1. Như được thể
hiện trong bảng, những phương pháp dựa trên học sâu đạt được hiệu suất tốt và hầu như
giải quyết được tất cả các vấn đề được nêu, nhưng chúng thường rất nặng và không thể
sử dụng cho các hệ thống yêu cầu đáp ứng thời gian thực. Do đó, mục đích của nhóm là
tận dụng ưu điểm của từng phương pháp và thiết kế lại hệ thống để nó phù hợp với phần
cứng giới hạn trong hệ thống nhúng. Mỗi phương pháp có thể được tận dụng ở những
bước khác nhau phụ thuộc vào tính chất của nó. Nhìn chung, vấn đề phát hiện vật thể
được chia thành hai nhiệm vụ chính: (1) xác định tọa độ của vật thể và (2) phân loại vật
thể. Ở nhiệm vụ (1), SSD [8] cho thấy được khả năng mạnh mẽ của nó trong việc giải

quyết hầu hết các vấn đề và phát hiện vật thể ở nhiều kích thước khác nhau chỉ trong
một lần chạy. Tuy nhiên, phương pháp SSD truyền thống rất nặng, và không thể làm
việc hiệu quả trong các phần cứng hạn chế như NVIDIA Jetson TX2.
 Tình hình nghiên cứu trong nước:
Theo báo Công Luận [9], năm 2015 mẫu xe tự lái đầu tiên của Việt Nam được
FPT phát triển trên chiếc Kia Soul, đã đạt được cấp độ lái thứ 2 (trong 5 cấp độ lái).
Điều này thu hút rất nhiều sự chú ý của các nhà nghiên cứu và các trường đại học lớn

Luan van


trong nước. Với phiên bản hiện tại, xe có những chức năng như: ứng dụng End to end
Deep Learning (thu thập data, xử lý hình ảnh), Traffic Sign (nhận diện các biển báo),
Vehicle Detection & Tracking (nhận diện vật cản, né vật cản trên đường), Lane Finding
(tìm kiếm làn đường phù hợp). Để có thể tự động di chuyển thì mẫu xe tự lái của
FPT được áp dụng những công nghệ chính gồm: ZED Strereo camera ví như con mắt
của xe có thể đọc hiểu những tín hiệu trên đường, tín hiệu biển báo giao thơng; cảm biến
LiDar có khả năng phát hiện xe trong bán kính 200 mét; bộ xử lý trung tâm sử dụng chíp
NVIDIA TX2; cơ cấu điều khiển lái từ Robot Driving do FPT phát triển.
Hiện tại, FPT Software là đơn vị duy nhất tại Việt Nam nghiên cứu và phát triển
công nghệ xe tự lái đạt đến cấp độ 3, tuy nhiên họ đang đối mặt với các thách thức lớn
mà trong đó là giá thành của Lidar và tốc độ xử lý của máy tính. Đối với bài tốn này,
chúng ta phải tối ưu về mặt thuật tốn giúp camera có thể phát hiện xe thay cho chức
năng của Lidar và giảm độ tính toán để phù hợp với tốc độ xử lý của máy tính.
Bảng 1. 1 THÁCH THỨC VÀ PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN PHÁT
HIỆN BIỂN BÁO

Methods

Ảnh


Mờ và

Tác

Nhiễu

Méo

Đáp

hưởng

bạc

động

bởi

dạng

ứng

bởi ánh màu

của

khung

thời


sáng

chuyển

cảnh

gian

động

xung

thực

quanh
Image
Processing
SVM [10]
SSD [8]
Faster
RCNN
[11]

Luan van

Task

1


2


1.2. LÝ DO CHỌN ĐỀ TÀI
Cho tới hiện nay, rất nhiều phương pháp [12-14] để phát triển hệ thống ADAS
đã được đề xuất. Nhìn chung, chúng được chia thành hai hướng chính: (1) xử lý ảnh và
(2) học sâu. Với những phương pháp sử dụng xử lý ảnh, mặc dù chúng đạt được tốc độ
xử lý và thời gian đáp ứng rất nhanh nhưng chúng chỉ phù hợp một vài mơi trường cố
định và đơn giản. Trong khi đó, các phương pháp học sâu lại có thế mạnh về việc giải
quyết những vấn đề phức tạp tuy nhiên tốc độ và thời gian xử lý lại phụ thuộc nhiều vào
phần cứng và giải thuật được thiết kế. Hơn nữa, những phương pháp học sâu còn cần rất
nhiều dữ liệu được dán nhãn để huấn luyện, việc này tốn rất nhiều thời gian và công sức
để thu thập và xử lý. Do đó để giải quyết các thách thức hiện tại nhóm quyết định thực
hiện đề tài “Thiết Kế Hệ Thống Xe Tự Hành Kết Hợp Các Phương Pháp Xử Lý Ảnh
Truyền Thống và Học Sâu”. Trong đề tài này, nhóm nghiên cứu đề xuất kết hợp cả hai
hướng xử lý ảnh và học sâu thành một hệ thống thống nhất để tận dụng ưu điểm của
từng phương pháp. Từ đó giải quyết các vấn đề về nhận diện làn đường, biển báo giao
thông đồng thời phát hiện vật cản trên đường. Mục đích của nhóm là phát triển một thuật
tốn nhẹ và có thể làm việc trên các phần cứng giới hạn như NVIDIA Jetson TX2.
1.3. MỤC TIÊU
Xây dựng thuật tốn và mơ hình xe tự hành có khả năng nhận diện làn đường,
biển báo và các chướng ngại vật trong mơi trường mơ phỏng và sa hình thực tế.
1.4. PHƯƠNG PHÁP, ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU
 Phương pháp nghiên cứu:


Nghiên cứu lý thuyết dựa trên các bài báo khoa học đã công bố.




Khảo sát các vấn đề gặp phải, thách thức và đưa ra hướng giải quyết.



Tham khảo ý kiến đánh giá của người hướng dẫn.



Thực thi các hướng đề xuất.



Kiểm tra, ghi nhận kết quả thực hiện và đưa ra so sánh, đánh giá từ đó đề xuất
các điều chỉnh.

 Đối tượng nghiên cứu:


NVIDIA Jetson TX2.

Luan van




Các thuật toán xử lý ảnh, máy học, học sâu cho bài tốn phát hiện làn đường,
biển báo giao thơng và vật cản.




Các phương pháp làm giảm trọng lượng mô hình học sâu.

 Phạm vi nghiên cứu:


Đề tài chỉ tập trung vào phát triển phần mềm trên board Jetson TX2.



Thuật tốn được đánh giá và thử nghiệm trong mơi trường mơ phỏng của Unity
và sa hình thực tế nhỏ, mơ phỏng điều kiện giao thơng bên ngồi.

1.5. BỐ CỤC
Bố cục của bài báo cáo được chia thành năm chương như sau:
 Chương 1: Giới thiệu
Chương này trình bày về giới thiệu đề tài, tình hình nghiên cứu, mục tiêu đề tài, giới
hạn đề tài và bố cục đồ án.
 Chương 2: Cơ sở lý thuyết
Chương này giới thiệu về các nền tảng vận hành, các khái niệm và phương pháp được
sử dụng trong thuật toán từ các lĩnh vực như xử lý ảnh, máy học, học sâu. Bên cạnh đó
là giải thuật để điều khiển mơ hình ổn định.
 Chương 3: Giới thiệu phần cứng
Chương này cung cấp cách nhìn tổng quan về phần cứng của mơ hình bao gồm các linh
kiện quan trọng, các cảm biến được trang bị và đặc biệt là bộ não xử lý.
 Chương 4: Thiết kế phần mềm
Chương này trình bày các bước đi tìm cách giải quyết vấn đề và mục tiêu đề ra. Phương
pháp được mô tả từ tổng quan đến chi tiết các giải thuật bên trong.
 Chương 5: Kết quả thực hiện, so sánh và đánh giá
Chương này trình bày về những thực nghiệm bao gồm môi trường, cách thu thập dữ
liệu, các thông số được thiết lập ban đầu. Bên cạnh đó là những kết quả nhóm đạt được,

từ đó so sánh và đánh giá phương pháp của nhóm.

Luan van


 Chương 6: Kết luận và hướng phát triển
Chương này đưa ra kết luận đề tài và hướng phát triển tiếp theo.
 Tài liệu tham khảo
Dẫn chứng nguồn tài liệu tham khảo trong đề tài.

Luan van


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

2.1. THƯ VIỆN PYTORCH [15]
PyTorch là một thư viện dựa trên ngơn ngữ lập trình python, nó hỗ trợ tạo ra các
mơ hình học sâu và sử dụng chúng cho các ứng dụng khác nhau. PyTorch tương tự như
Python, nó được thiết kế tập trung vào tính dễ sử dụng và thậm chí người dùng có kiến
thức lập trình rất cơ bản cũng có thể sử dụng nó trong các dự án liên quan đến học sâu.
Cấu trúc dữ liệu cốt lõi được sử dụng trong PyTorch là Tensor. Tương tự như
numpy array, Tensor là một mảng một chiều với các phần tử có cùng kiểu dữ liệu.
Hình dưới đây mơ tả một quy trình cơ bản của:

Hình 2. 1 Workflow của PyTorch [15]
Trong đó có các mơ-đun cơ bản thường gặp là torch.nn, torch.optim, torch.utils
và torch.autograd.
Bước đầu tiên của một dự án nào về học sâu đều phải qua việc tải và xử lý dữ
liệu. Vì thế PyTorch đã hỗ trợ các tiện ích để thực hiện bước này với các mô-đun
torch.utils.data. Hai thư viện quan trọng trong mô-dun này là Dataset và DataLoader.

Dataset được xây dựng trên nền kiểu dữ liệu Tensor và được sử dụng chủ yếu cho các
bộ dữ liệu tùy chỉnh, DataLoader được sử dụng khi bạn có một tập dữ liệu lớn và bạn

Luan van


muốn tải dữ liệu từ Dataset ở chế độ nền để nó sẵn sàng và chờ sử dụng cho quá trình
training loop. Ngồi ra chúng ta cũng có thể dùng torch.nn.DataParallel và
torch.distribution trong trường hợp có thể sử dụng song song nhiều máy tính hoặc nhiều
GPUs.
Trong đó có mơ-đun torch.nn được sử dụng để tạo ra mạng thần kinh (NN). Nó
cung cấp tất các lớp NN phổ biến như các lớp “fully connected” (FN), “convolution”,
các hàm kích hoạt và hàm mất mát, …
Một khi kiến trúc mạng đã được tạo ra và dữ liệu đã sẵn sàng để được đưa vào
mạng, chúng ta sẽ cần các kỹ thuật để cập nhật các trọng số (weights) và độ lệch (biases)
để mạng tiến hành q trình huấn luyện. Các tiện ích cịn được cung cấp trong mơ-đun
torch.optim. Cịn để tính gradient tự động, chúng ta sử dụng mơ-đun torch.autograd.
Sau khi mơ hình đã được huấn luyện, nó có thể được sử dụng để dự đoán ngõ ra
cho các bộ dữ liệu thử nghiệm hoặc thậm chí các bộ dữ liệu mới. Quá trình này được
gọi là “model inference”. PyTorch cịn chung cấp TorchScript có thể được sử dụng để
chạy các mơ hình độc lập với “Python runtime”. Đây có thể được coi là một máy ảo
được thiết kế chủ yếu dành riêng cho việc thao tác với Tensors.
Chúng ta cũng có thể chuyển mơ hình được huấn luyện bằng PyTorch sang các
định dạng như ONNX, cho phép sử dụng các mơ hình này trong các “Deep leaning
framework” khác như MXNet, CNTK, Caffe2. Chúng ta cũng có thể chuyển đổi các mơ
hình ONNX sang Tensorflow.
2.2. XỬ LÝ ẢNH
2.2.1. Các khái niệm cơ bản trong xử lý ảnh [16]
Ảnh số là một tập hợp của nhiều điểm ảnh, hay còn gọi là pixel. Mỗi điểm ảnh
biểu diễn một màu sắc nhất định (hay độ sáng với ảnh đen trắng) tại một điểm duy nhất,

có thể xem một điểm ảnh giống như một chấm nhỏ trong một tấm ảnh màu. Bằng
phương pháp đo lường và thống kê một lượng lớn các điểm ảnh, chúng ta hồn tồn
có thể tái cấu trúc các điểm ảnh này thành một ảnh mới gần giống với ảnh gốc. Có thể
nói pixel gần giống như các phần tử có cấu trúc hạt trên một ảnh thông thường nhưng
được sắp xếp theo từng hàng và cột và chứa các thông tin khác nhau.
Ảnh được biểu diễn dưới dạng một ma trận hai chiều với các pixel được xác định bởi

Luan van


cặp tọa độ (x, y), trong đó, giá trị của pixel tại tọa độ nhất định biểu diễn độ sáng (ảnh
đen trắng) hay màu nhất định (ảnh màu).
Mỗi điểm ảnh tương ứng với một phần của một đối tượng vật lý trong thế giới
ba chiều. Đối tượng này được mô tả bởi một vài nguồn sáng mà trong đó chúng được
phản chiếu một phần và hấp thụ một phần bởi vật thể. Phần phản chiếu có thể thu được
bằng các cảm biến để mô tả lại khung cảnh tương ứng và nó được ghi lại như là đặc
trưng của điểm ảnh, hay nói cách khác, các giá trị này phụ thuộc vào từng loại cảm biến
được dùng để phản ánh khung cảnh từ nguồn sáng phản chiếu.
Có 2 dạng quan trọng trong ảnh số được dùng với nhiều mục đích khác nhau là
ảnh màu và ảnh đen trắng (hay còn gọi là ảnh xám). Trong đó, ảnh màu được cấu trúc
từ các pixel màu trong khi ảnh đen trắng được xây dựng từ các pixel có giá trị mức xám
khác nhau.
Ảnh đen trắng: với một ảnh đen trắng được xây dựng từ nhiều pixel mà tại đó
biểu diễn một giá trị nhất định tương ứng với một mức xám. Những mức xám này trải
dài trong một khoảng từ đen sang trắng với bước nhảy rất mịn, thông thường là 256 mức
xám khác nhau theo tiêu chuẩn. Do mắt người chỉ có thể phân biệt một cách rõ ràng với
khoảng 200 mức xám khác nhau nên vì thế hồn tồn có thể nhận xét sự thay đổi liên
tục các mức xám.
Ảnh màu: một ảnh màu thường được tạo thành từ nhiều pixel mà trong đó mỗi
pixel được biểu diễn bởi ba giá trị tương ứng với các mức trong các kênh màu đỏ (Red),

xanh lá (Green) và xanh dương (Blue) tại một vị trí cụ thể. Các kênh màu Red, Green
và Blue (trong không gian màu RGB) là những màu cơ bản mà từ đó có thể tạo ra các
màu khác nhau bằng phương pháp pha trộn. Với việc chuẩn hóa 256 (28) mức cho
từng kênh màu chính, từ đó có thể thấy một pixel màu có thể biểu diễn được một trong
(28) 3 =16777216 màu khác nhau. Từ đó có thể thấy rằng với 1-pixel thì chỉ cần 1-byte
cho việc lưu trữ đối với ảnh đen trắng và 3 bytes đối với ảnh màu.
Ảnh nhị phân: chỉ sử dụng duy nhất một bit để biểu diễn một pixel. Do một bit
chỉ có thể xác lập hai trạng thái là đóng và mở hay 1 và 0 tương ứng với hai màu là đen
và trắng. Do đặc trưng trên mà ảnh nhị phân ít khi được sử dụng trong thực tế.
Ảnh chỉ số: một vài ảnh màu (hay đen trắng) được tạo thành từ một bảng màu có
sẵn bị giới hạn, điển hình thường dùng là tập 256 màu khác nhau. Những ảnh này được
gọi là ảnh màu chỉ số hóa do dữ liệu dành cho mỗi pixel bao gồm chỉ số có sẵn chỉ rõ

Luan van


màu trong tập có sẵn ứng với pixel đang xem xét.
Phát hiện cạnh Canny: là một trong những phương pháp phát hiện biên được sử
dụng để tìm tất cả các điểm cạnh trong hình ảnh và đầu ra là một bản đồ nhị phân. Canny
sử dụng một gradient trên hình ảnh để tìm những thay đổi mạnh về cường độ pixel. Đây
là những đường nét có khả năng là đường viền trong hình ảnh đầu vào. Đầu ra sẽ là một
ảnh nhị phân cho thấy những đường nét của hình.
Trong thuật tốn Canny, các đạo hàm bậc một được tính theo x và y và sao đó
kết hợp thành bốn đạo hàm hướng. Các điểm nơi những đạo hàm hướng này là cực trị
địa phương sau đó là các ứng viên cho tập hợp thành các cạnh. Trong đồ án này sử dụng
Canny để phát hiện ranh giới làn đường trong khung hình.
Việc phát hiện cạnh cơ bản sử dụng vector gradient của một hình ảnh cường độ
để phát hiện ranh giới làn đường có độ tương phản cao trong ảnh. Đây là một trong
những phương pháp tốt nhất và hiệu quả trong nhiều phương pháp phát hiện biên.


Hình 2. 2 Hình tách biên sử dụng Canny
Contour: có thể được giải thích đơn giản là một đường cong nối tất cả các điểm
liên tục (dọc theo đường biên), có cùng màu hoặc cường độ. Các contour là một công
cụ hữu ích để phân tích hình dạng và phát hiện và nhận dạng đối tượng. Contour tracking
là một trong nhiều kỹ thuật tiền xử lý được thực hiện trên hình ảnh kỹ thuật số để trích
xuất thơng tin về hình dạng chung của chúng. Khi contour của một mẫu nhất định được
trích xuất, các đặc điểm khác nhau của nó sẽ được kiểm tra và sử dụng làm các tính năng
mà sau này sẽ được sử dụng trong phân loại mẫu. Do đó, việc tính tốn contour tracking
sẽ tạo ra các tính năng chính xác hơn, điều này sẽ tăng cơ hội phân loại chính xác một
mẫu nhất định.

Luan van


2.2.2. Biến đổi Hough [17]
Biến đổi Hough là một kỹ thuật trích xuất đặc trưng được sử dụng trong phân
tích hình ảnh, thị giác máy tính và xử lý hình ảnh kỹ thuật số. Mục đích của kỹ thuật là
tìm các trường hợp khơng hồn hảo của các đối tượng trong một lớp hình dạng nhất định
bằng một thủ tục chọn lọc. Quy trình chọn lọc này được thực hiện trong một khơng gian
tham số, từ đó đối tượng cần được chọn lọc ra được lấy làm cực đại cục bộ trong một
khơng gian được gọi là khơng gian tích lũy được thuật tốn xây dựng rõ ràng để tính
tốn biến đổi Hough.
Trong phân tích tự động các hình ảnh kỹ thuật số, một bài toán con thường phát
sinh các hình dạng đơn giản, chẳng hạn như các đường thẳng, hình trịn hoặc hình elip.
Trong nhiều trường hợp, một máy dị cạnh biên (edge detector) có thể được sử dụng làm
giai đoạn tiền xử lý để thu được các điểm hình ảnh hoặc pixel hình ảnh nằm trên đường
cong mong muốn trong khơng gian hình ảnh. Tuy nhiên, do sự khơng hồn hảo của dữ
liệu hình ảnh hoặc máy dị cạnh, có thể thiếu các điểm hoặc pixel trên các đường cong
mong muốn cũng như độ lệch không gian giữa đường/ vịng trịn/ hình elip lý tưởng và
các điểm cạnh nhiễu khi chúng được lấy từ máy dị cạnh. Vì những lý do này, việc nhóm

các tính năng cạnh được trích xuất thành một tập hợp các đường, vịng trịn hoặc hình
elip thích hợp là khơng tầm thường. Mục đích của biến đổi Hough là giải quyết vấn đề
này bằng cách cho phép thực hiện các nhóm điểm cạnh thành các đối tượng cần được
chọn lọc ra bằng cách thực hiện quy trình chọn lọc trên một tập hợp các đối tượng hình
ảnh đã được tham số hóa.
Trường hợp đơn giản nhất của biến đổi Hough là phát hiện các đường thẳng. Nói
chung, đường thẳng y = mx + b có thể được biểu diễn dưới dạng một điểm (b, m) trong
không gian tham số. Tuy nhiên, các đường thẳng đứng đặt ra một vấn đề. Chúng sẽ làm
tăng các giá trị không giới hạn của tham số độ dốc m. Do đó, vì lý do tính tốn, Duda
và Hart đã đề xuất sử dụng Hesse normal form.
𝜌 = 𝑥 cos 𝜃 + 𝑦 sin 𝜃

(4)

Với r là khoảng cách từ gốc tọa đơ đến đường thẳng, theta là góc giữa trục x với
đường cao r. Các (𝜌,𝜃) mặt phẳng cịn được gọi là khơng gian Hough (Hough space),
Mỗi đường thẳng trên trục tọa độ sẽ ứng với một điểm trên không gian Hough.

Luan van


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

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