1. Trang chủ
  2. » Giáo Dục - Đào Tạo

LUẬN văn THẠC sĩ điều HƯỚNG XE tự HÀNH DÙNG TRÍ TUỆ NHÂN tạo

71 9 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Điều Hướng Xe Tự Hành Dùng Trí Tuệ Nhân Tạo
Tác giả Dương Minh Thiện
Người hướng dẫn TS. Lê Mỹ Hà
Trường học Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh
Chuyên ngành Kỹ thuật điều khiển và tự động hóa
Thể loại Luận văn thạc sĩ
Năm xuất bản 2019
Thành phố Hồ Chí Minh
Định dạng
Số trang 71
Dung lượng 5,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

Có rất nhiều phương pháp để thực hiện điều này, nhưng cách để có được kết quả tốt nhất và phù hợp với cuộc cách mạng công nghiệp 4.0 là sử dụng một thuật toán liên quan đến lĩnh vực trí

Trang 1

LUẬN VĂN THẠC SĨ DƯƠNG MINH THIỆN

ĐIỀU HƯỚNG XE TỰ HÀNH DÙNG TRÍ TUỆ NHÂN TẠO

NGÀNH: KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA - 8520216

S K C0 0 6 0 7 4

Trang 2

THÀNH PHỐ HỒ CHÍ MINH

Tp Hồ Chí Minh, tháng 04/2019

LUẬN VĂN THẠC SĨ DƯƠNG MINH THIỆN

ĐIỀU HƯỚNG XE TỰ HÀNH DÙNG TRÍ TUỆ NHÂN TẠO

NGÀNH: KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA - 8520216

Trang 3

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

LUẬN VĂN THẠC SĨ DƯƠNG MINH THIỆN

ĐIỀU HƯỚNG XE TỰ HÀNH DÙNG TRÍ TUỆ NHÂN TẠO

Trang 4

QUYẾT ĐỊNH GIAO ĐỀ TÀI

Trang 5

LÝ LỊCH KHOA HỌC

I LÝ LỊCH SƠ LƯỢC:

Họ & tên: Dương Minh Thiện Giới tính: Nam

Ngày, tháng, năm sinh: 22/06/1994 Nơi sinh: Bà Rịa Vũng Tàu Quê quán: Bà Rịa Vũng Tàu Dân tộc: Kinh

Địa chỉ liên lạc: 167/1/7 Võ Thị Sáu, Thị Trấn Long Điền, Huyện Long Điền, Tỉnh Bà Rịa Vũng Tàu

Điện thoại liên hệ: 0909 196 940

E-mail: duongthien2206@gmail.com

II QUÁ TRÌNH ĐÀO TẠO:

1 Đại học:

Hệ đào tạo: Chính qui

Thời gian đào tạo: từ 09/2012 đến 12/2016

Nơi học: Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh Ngành học: Công Nghệ Kỹ Thuật Điều Khiển & Tự Động Hóa

Tên đồ án, luận án hoặc môn thi tốt nghiệp: Thiết Kế, Thi Công và Lập Trình Điều Khiển Cánh Tay Máy Gắp Vật Thể Sử Dụng Thuật Toán Nhận Dạng Màu Sắc và Hình Khối

Ngày & nơi bảo vệ đồ án tốt nghiệp: tháng 07/2016 tại Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh

Người hướng dẫn: TS Nguyễn Văn Thái

10/2017- nay Đại Học Sư Phạm Kỹ Thuật

Thành Phố Hồ Chí Minh Học viên cao học

Trang 6

LỜI CAM ĐOAN

Tôi cam đoan đây là công trình nghiên cứu của tôi

Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công

bố trong bất kỳ công trình nào khác

Tp Hồ Chí Minh, ngày 13 tháng 04 năm 2019

(Ký tên và ghi rõ họ tên)

Trang 7

LỜI CẢM ƠN

Trong suốt quá trình thực hiện đề tài, với sự giúp đỡ nhiệt tình của quý thầy

cô, hướng dẫn về mọi mặt từ thiết kế phần cứng đến phần mềm điều khiển là những yếu tố quyết định đến sự thành công của đề tài ngày hôm nay Tôi xin chân thành gửi lời cảm ơn đến:

Giảng viên hướng dẫn TS Lê Mỹ Hà đã định hướng, nhiệt tình giúp đỡ, chỉ

bảo tận tình và tạo điều kiện tốt nhất cho tôi khi làm việc tại phòng thí nghiệm (ISLab) trong suốt quá trình thực hiện đề tài

Tôi cũng xin gửi lời cảm ơn đến toàn bộ quý thầy cô trong Khoa Điện – Điện

tử và Bộ môn Tư Động Điều Khiển đã giúp đỡ tôi rất nhiều trong quá trình thực hiện

đề tài cũng như đóng góp ý kiến và tạo điều kiện thuận lợi giúp đề tài hoàn thiện hơn

Tôi xin gửi lời cảm ơn đến tập thể lớp cao học TĐH17B, trong quá trình làm

đề tài các anh chị đã có những ý kiến thiết thực và giúp đỡ tôi trong việc thiết kế và thi công đề tài

Cuối cùng, tôi xin gửi lời cảm ơn chân thành tới nhà trường, thầy cô, cha mẹ

và bạn bè đã động viên và giúp đỡ trong suốt quá trình thực hiện đề tài

Tôi xin chân thành cảm ơn!

Trang 8

TÓM TẮT

Trong đề tài này, mô hình xe tự lái dựa trên thị giác máy sử dụng mạng nơron học sâu trên máy tính Raspberry Pi được đề xuất Xe tự lái là một trong những lĩnh vực được quan tâm nghiên cứu nhiều nhất trong những năm gần đây nhờ vào sự phát triển mạnh mẽ của công nghệ phần cứng cũng như phần mềm liên quan đến khả năng

tự lái hoàn toàn, không có sự can thiệp của con người Cấp độ 3 trên 4 của phương tiện tự hành sẽ đạt được trong tương lai rất gần Việc sử dụng cơ điện tử và trí tuệ nhân tạo (AI) sẽ hỗ trợ người lái xe điều khiển và kiểm soát phương tiện một cách dễ dàng hơn Điều này đóng góp rất nhiều cho các vấn đề giao thông hiện nay, có xe tự hành, sẽ không còn kẹt xe, hạn chế tai nạn giao thông do con người Mạng nơron tích chập (CNN) đã được chứng minh rằng có hiệu suất đáng kể trong rất nhiều bài toán nhận dạng và điều khiển so với các kỹ thuật khác trong thời gian gần đây Những yếu

tố quyết định kết quả ấn tượng này chính là khả năng học hàng triệu thông số sử dụng một lượng lớn dữ liệu đã được gán nhãn Ở đây, tác giả tập trung vào việc tìm kiếm một model trực tiếp ánh xạ các hình ảnh đầu vào đến các góc lái dự đoán ở đầu ra mạng nơron học sâu

Việc thực hiện luận văn này bao gồm ba việc chính Đầu tiên, các thông số của model CNN được huấn luyện bằng cách sử dụng dữ liệu thu thập được từ một xe mô hình tỉ lệ 1/10, gắn máy tính Raspberry Pi 3 Model B và một camera ở phía trước Dữ liệu dùng để huấn luyện mạng là hình ảnh đường đi và góc lái đồng bộ với thời gian thu thập lúc xe được lái Tiếp theo, dữ liệu đó được chuyển sang máy tính và dùng để huấn luyện cho model điều hướng xe Cuối cùng, thực nghiệm model đó trên máy tính Raspberry để xe tự chạy trong môi trường ngoài trời, xung quanh đường tròn và đường số 8 có biển báo giao thông Kết quả thực nghiệm cho thấy tính hiệu quả và

sự mạnh mẽ của model lái tự động trong việc giữ làn đường trong thời gian thực Tốc

độ tối đa của xe khoảng 5-6km/h trong nhiều điều kiện lái khác nhau, bất kể vạch đường có bị che khuất hay không

Trang 9

ABSTRACT

In this thesis, a monocular vision-based self-driving car prototype using Deep Neural Network on Raspberry Pi is proposed Self-driving cars are one of the most increasing interests in recent years as the definitely developing relevant hardware and software technologies toward fully autonomous driving capability with no human intervention Level-3/4 autonomous vehicles are potentially turning into a reality in near future It involves the use of Mechatronics and Artificial Intelligence (AI) to control the vehicle, thereby taking the responsibilities of the driver, providing a more manageable control over it And a swarm of autonomous vehicles could just be the solution to our traffic problems: no traffic jam, no road accidents, no delayed journey Convolutional Neural Networks (CNNs) have been shown to achieve significant performance in various perception and control tasks in comparison to other techniques in the latest years The key factors behind these impressive results are their ability to learn millions of parameters using a large amount of labeled data In this work, we concentrate on finding a model that directly maps raw input images to a predicted steering angle as output using a deep neural network

The technical contributions of this work are three-fold First, the CNN model parameters were trained by using data collected from vehicle platform built with a 1/10 scale RC car, Raspberry Pi 3 Model B computer and front-facing camera The training data were road images paired with the time-synchronized steering angle generated by manually driving Second, the stored data is then transferred to a desktop computer and used for training the model to autonomously navigate the car Finally, road tests the model on Raspberry to drive itself in the outdoor environment around oval-shaped and 8-shaped with traffic sign lined track The experimental results demonstrate the effectiveness and robustness of autopilot model in real-time lane keeping task Vehicle’s top speed is about 5-6km/h in a wide variety of driving conditions, regardless of whether lane markings are present or not

Trang 10

MỤC LỤC

LÝ LỊCH KHOA HỌC i

LỜI CAM ĐOAN iii

LỜI CẢM ƠN iv

TÓM TẮT v

ABSTRACT vi

MỤC LỤC vii

DANH MỤC CÁC CHỮ VIẾT TẮT ix

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

DANH MỤC CÁC HÌNH ẢNH VÀ BIỂU ĐỒ xi

Chương 1: TỔNG QUAN 1

1.1 Đặt vấn đề 1

1.2 Mục tiêu đề tài 2

1.3 Giới hạn đề tài 2

1.4 Nội dung đề tài 3

Chương 2: CƠ SỞ LÝ THUYẾT CỦA XE TỰ HÀNH 4

2.1 Giới thiệu về xe tự hành 4

2.2 Tổng quan về trí tuệ nhân tạo 5

2.2.1 Trí tuệ nhân tạo (Artificial Intelligence- AI) 5

2.2.2 Machine Learning 7

2.2.3 Deep Learning 12

2.3 Convolutional Neural Network (CNN) 16

2.4 Bộ điều khiển PID 25

Chương 3: THIẾT KẾ VÀ LỰA CHỌN THIẾT BỊ 27

3.1 Các thành phần phần cứng 27

3.1.1 Xe điều khiển Trophy Truck 27

3.1.2 Động cơ Brushed Motor RC-540PH 28

3.1.3 Động cơ RC Servo TowerPro MG946R 29

3.1.4 Waterproof Brushed ESC Controller WP-1040 29

3.1.5 Raspberry Pi 3 Model B 30

3.1.6 Raspberry Pi Power Pack 31

Trang 11

3.1.7 Raspberry Pi Camera Module 31

3.1.8 Arduino Uno R3 32

3.1.9 PWM/Servo Driver PCA9685 33

3.1.10 Encoder Omron E6B2-CWZ6C 10P/R 34

3.1.11 Pin Lipo 2S-30C 3600mAh 34

3.2 Sơ đồ kết nối phần cứng 35

3.3 Cấu trúc phần cứng của mô hình xe tự hành 35

Chương 4: GIẢI THUẬT ĐIỀU KHIỂN CỦA MÔ HÌNH XE TỰ HÀNH 38

4.1 Sơ đồ khối thu thập dữ liệu huấn luyện 38

4.2 Sơ đồ khối điều hướng mô hình xe tự hành 39

4.3 Cấu trúc mạng và tối ưu các thông số 40

4.4 Phần mềm và các thư viện sử dụng để lập trinhg 43

4.4.1 Giới thiệu thư viện Tensorflow 43

4.4.2 Giới thiệu thư viện Keras 43

Chương 5: THỰC NGHIỆM 44

5.1 Môi trường thực nghiệm 44

5.2 Mô tả tập dữ liệu 45

5.3 Các phương pháp để tạo ra các nhiều dữ liệu khác nhau 46

5.4 Quá trình huấn luyện 46

5.5 Kết quả thực nghiệm ngoài trời: 48

Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 50

6.1 Kết luận 50

6.2 Hướng phát triển 51

TÀI LIỆU THAM KHẢO 52

PHỤ LỤC 54

Trang 12

DANH MỤC CÁC CHỮ VIẾT TẮT

1 AI: Artificial Intelligence

2 ANN: Artificial Neural Network

3 CNN: Convolutional Neural Network

4 CPU: Control Processing Unit

5 ESC: Electronic Speed Control

6 GPS: Global Positioning System

7 GPU: Graphics Processing Unit

8 PID: Proportional Integral Derivative

9 PWM: Pulse Width Modulation

10 RNN: Recurrent Neural Network

11 USB: Universal Serial Bus

Trang 13

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

Bảng 3.1:Thông số hoạt động của RC Servo TowerPro MG946R 29

Bảng 3.2: Thông số của board Arduino Uno 33

Bảng 5.1:Sự ảnh hưởng của chu kỳ huấn luyện đến độ chính xác của mô hình 47

Bảng 6.1: Sự ảnh hưởng của số lượng mẫu huấn luyện đến độ chính xác của mô hình

50

Trang 14

DANH MỤC CÁC HÌNH ẢNH VÀ BIỂU ĐỒ

Hình 2.1: Sự phát triển của xe tự hành trong tương lai 4

Hình 2.2: Mối quan hệ giữa AI, Machine Learning và Deep Learning 7

Hình 2.3: Cấu trúc của một tế bào thần kinh sinh học 8

Hình 2.4: Cấu trúc tế bào thần kinh nhân tạo 10

Hình 2.5: Học có giám sát 11

Hình 2.6: Học không giám sát 12

Hình 2.7: Học tăng cường 12

Hình 2.8: So sánh hiệu suất giữa DL với các thuật toán học theo thứ tự 14

Hình 2.9: Tổ chức của hệ thống vỏ não thị giác 15

Hình 2.10: Mô hình RNN 15

Hình 2.11: Kiến trúc mạng autoencoders 16

Hình 2.12: Ví dụ cách thức xử lý của ANN với cấu trúc kết nối đầy đủ 17

Hình 2.13: Ý tưởng thiết kế CNN 17

Hình 2.14: Minh họa tích chập 18

Hình 2.15: Ví dụ ứng dụng tích chập 19

Hình 2.16: Các thành phần của lớp tích chập 20

Hình 2.17: Ví dụ về lớp Convolution trong ảnh 21

Hình 2.18: Cách tính tham số của lớp pooling 22

Hình 2.19: Quá trình tinh chỉnh tuyến tính 23

Hình 2.20: Flatten dữ liệu nhận được từ một lớp convolution a) là ma trận 3x3 b) là mảng sau khi áp dụng flatten 23

Hình 2.21: Kiến trúc mạng CNN cơ bản 24

Hình 2.22: Bộ điều khiển PID 26

Hình 2.23: Bộ điều khiển PID cho tốc độ của xe 26

Hình 3.1: Sơ đồ khối của mô hình xe tự hành 27

Hình 3.2: Xe điều khiển Trophy Truck 27

Hình 3.3: Chi tiết bên trong xe điều khiển 28

Trang 15

Hình 3.4: Động cơ Brushed Motor RC-540PH 28

Hình 3.5: RC Servo TowerPro MG946R 29

Hình 3.6: Waterproof Brushed ESC Controller WP-1040 30

Hình 3.7: Raspberry Pi 3 Model B 30

Hình 3.8: Raspberry Pi Power Pack 31

Hình 3.9: Raspberry Pi Camera 32

Hình 3.10: Board Arduino Uno (mặt trước và sau) 32

Hình 3.11: Mạch Điều Khiển 16 Chanel PWM PCA9685 33

Hình 3.12: Encoder Omron E6B2-CWZ6C 10P/R 34

Hình 3.13: Pin Lipo 2S-30C 3600mAh 34

Hình 3.14: Sơ đồ kết nối phần cứng 35

Hình 3.15: Phía trên của mô hình xe tự hành 36

Hình 3.16: Phía trái của mô hình xe tự hành 36

Hình 3.17: Bên trong xe tự hành (a) bên trong xe nhìn từ phía trên (b) bánh răng của encoder (c) hệ thống bể lái (d) Motor và ESC 37

Hình 4.1: Sơ đồ khối thu thập dữ liệu huấn luyện 38

Hình 4.2: Sơ đồ khối điều hướng mô hình xe tự hành 39

Hình 4.3: Cấu trúc mạng huấn luyện cho mô hình xe tự hành 40

Hình 4.4: Lớp dropout a) mạng nơ-ron tiêu chuẩn, b) mạng nơ-ron sau khi áp dụng dropout 42

Hình 5.1: Quỹ đạo thực nghiệm 1: (a) Quỹ đạo hình bầu dục.(b) góc rẽ của đường đi .(c) mô hình xe đang di chuyển theo quỹ đạo 44

Hình 5.2:Quỹ đạo thực nghiệm 2: (a) quỹ đạo hình số 8 (b) và (c) biển báo hiệu chỉ đường 44

Hình 5.3: Tập dữ liệu thu thập được: (a) là các mẫu từ tập dữ liệu lái xe (b), (c) và (d) là những hình ảnh điển hình trong tập dữ liệu 45

Hình 5.4: Ví dụ về các phương pháp tạo thêm dữ liệu huấn luyện 46

Hình 5.5: Sơ đồ huấn luyện cho mô hình xe tự hành 47

Trang 16

Hình 5.6: Trực quan các lớp tích chập a) ảnh gốc b), c) và d) là lần lượt là các lớp tích chập thứ 1,2 và 3 48 Hình 5.7: Độ chính xác của mạng CNN được đề xuất 49 Hình 5.8: Giá trị góc lái được dự đoán 49

Trang 17

Chương 1: TỔNG QUAN

1.1 Đặt vấn đề

Ngày nay, với sự phát triển mạnh mẽ về khoa học công nghệ cũng như giao thông vận tải, nhiều phương tiện được trang bị chế độ tự lái để hỗ trợ người lái xe duy trì sức khỏe khi lái xe đường dài cũng như giảm thiểu rủi ro tai nạn giao thông

Điều hướng quỹ đạo cho phương tiện giao thông là một trong những khía cạnh quan trọng nhất của sự phát triển của mô hình xe không người lái Có rất nhiều phương pháp để thực hiện điều này, nhưng cách để có được kết quả tốt nhất và phù hợp với cuộc cách mạng công nghiệp 4.0 là sử dụng một thuật toán liên quan đến lĩnh vực trí tuệ nhân tạo Cụ thể, chúng tôi đã thực hiện thuật toán mạng nơ-ron tích chập (CNN) để điều hướng cho các phương tiện tự hành [1]

Học tập sâu (Deep Learning) là một lĩnh vực thuộc phần máy học (Machine Learning) lấy cảm hứng từ một mạng nơron nhân tạo Một trong những loại mạng sâu đặc biệt như vậy là mạng nơ-ron tích chập, thường được gọi là CNN hoặc ConvNet Sự khác biệt của CNN so với mạng thần kinh truyền thống là số lượng nơ-ron trong một lớp có thể giảm nhưng số lượng của các lớp ẩn sẽ lớn hơn và được gọi

là mạng sâu Chúng thường được huấn luyện bằng chiến lược lan truyền ngược Vì vậy, nó có thể xây dựng các hệ thống thông minh với độ chính xác rất cao [1]

Trước đây, đã có nhiều nghiên cứu về điều hướng cho xe tự hành đã đươc thực hiện Bao gồm các phương pháp như: phát hiện làn đường theo thời gian thực để điều hướng tự động [2], hệ thống theo dõi làn đường cho ứng dụng xe thông minh [3], phát hiện làn đường với xe di chuyển trong cảnh quan giao thông [4] hoặc các phương pháp liên quan đến hướng nghiên cứu này là: [5], [6] Mặc dù các phương pháp này mang lại độ chính xác thuyết phục về phát hiện làn đường nhưng có một số lý do khiến việc phát hiện không thành công Lý do đầu tiên là chủ quan Sau khi phát hiện hai vạch kẻ đường chúng ta cần tính toán và xây dựng một đường ảo tại tâm của làn

xe, sau đó ước tính góc lệch giữa thân xe và đường ảo đó, tiếp đến điều chỉnh góc lái

Trang 18

của xe sao cho xe luôn ở vị trí chính giữa làn đường Các tính toán của góc lái được

đề cập ở trên là vô cùng phức tạp và có thể gây ra nhiều sai số Lý do thứ hai là khách quan Một số con đường mà vạch kẻ không có hoặc bị mờ Thậm chí, khi các xe đang chạy trên đường dốc, máy ảnh được gắn ở phía trước sẽ hướng lên trời và không theo kịp làn đường ở phía trước Điều này cũng có thể dẫn đến việc phát hiện sẽ không chính xác

Ngoài ra, phương pháp GPS cũng được áp dụng để điều hướng xe tự lái Nếu GPS được sử dụng độc lập, nó sẽ gây ra lỗi khá cao nên việc áp dụng phương pháp này trên mô hình xe không người lái sẽ rất khó khăn và yêu cầu sự điều chỉnh sai số [7], [8]

Nhận thấy với những hạn chế nêu trên, tác giả đề xuất một phương pháp sử dụng mạng nơ-ron tích chập để điều hướng các phương tiện tự lái

Trong nghiên cứu này, chúng tôi xây dựng một mô hình xe tự hành bằng cách

dự đoán góc lái từ hình ảnh thô được đào tạo qua mạng CNN Dữ liệu được thu thập

từ một máy ảnh được gắn phía trước xe sau đó được tiền xử lý và đưa vào mạng CNN

để tính toán giá trị góc lái Giá trị góc lái sau khi tính toán được so sánh với giá trị góc lái mong muốn cho hình ảnh đó và trọng số của CNN được điều chỉnh để thu được kết quả tốt hơn

1.2 Mục tiêu đề tài

Mục tiêu của đề tài là huấn luyện một mô hình xe tự lái có thể tự động điều hướng theo thời gian thực trong môi trường ngoài trời với nhiều điều kiện lái xe khác nhau

Trang 19

chưa chạy được trong môi trường ban đêm, sương mù và quỹ đạo di chuyển còn khá đơn giản

1.4 Nội dung đề tài

Đề tài “Điều hướng xe tự hành dung trí tuệ nhân tạo” bao gồm các chương sau:

Chương I: Tổng quan: Chương này trình bày tổng quan sơ bộ về các yêu cầu

của cuốn báo cáo như đặt vấn đề, mục tiêu, giới hạn và nội dung đề tài

Chương II:Cơ sở lý thuyết: Chương này trình bày về giới thiệu xe tự hành,

các công nghệ khác nhau được sử dụng trong xe tự hành, tổng quan về trí tuệ nhân

tạo và lý thuyết và mạng nơ-ron tích chập (CNN)

Chương III: Thiết kế phần cứng và lựa chọn thiết bị: Chương này trình bày

về thiết kế phần cứng và lựa chọn thiết bị phần cứng cho mô hình xe tự hành

Chương IV: Giải thuật điều khiển xe tự hành : Chương này sẽ trình bày giải

thuật, lưu đồ thu thập dữ liệu huấn luyện, điều hướng xe tự hành bằng mô hình đã được huấn luyện, cấu trúc mạng và tối ưu hóa các thông số

Chương V: Thực nghiệm: Chương này sẽ trình bày về việc thực hiện điều

hướng cho xe tự hành theo hai quỹ đạo hình bầu dục và hình số 8

Chương VI: Kết quả: Kết luận chung về ưu điểm và hạn chế của đề tài, khẳng

định những kết quả đóng góp đạt được, đề xuất ý kiến để cải thiện khuyết điểm và định hướng phát triển đề tài

Trang 20

Chương 2: CƠ SỞ LÝ THUYẾT CỦA XE TỰ HÀNH

2.1 Giới thiệu về xe tự hành

Xe tự hành là phương tiện được thiết kế để di chuyển giữa các điểm đến mà không cần người lái xe phải liên tục theo dõi đường Công nghệ của xe tự hành phải đạt được các mục tiêu sau:

- Xử lý một lượng dữ liệu rất lớn và sử dụng nó để đưa ra quyết định thông minh

- Có khả năng thích nghi với môi trường đã biết hoặc chưa biết

Nhìn vào tương lai, chúng ta tin rằng vô lăng của xe sẽ biến mất hoàn toàn và chiếc xe sẽ tự hành một cách tự động kết hợp với việc sử dụng một số hệ thống cảm biến, radar và bản đồ GPS Xe ô tô ngày càng thông minh hơn được minh họa trong hình 2.1

Những chiếc xe tự hành sử dụng nhiều công nghệ tự động khác nhau để cung cấp một phương thức di chuyển thông minh Việc cung cấp loại phương thức này đòi hỏi sự đồng bộ hài hòa giữa các cảm biến thu thập thông tin về môi trường xung quanh và các thuật toán phức tạp xử lý dữ liệu điều khiển xe trong thời gian thực

Những công nghệ này có thể nhận biết đối tượng, con người, ô tô, đánh dấu đường, biển báo và đèn giao thông, tuân thủ các quy tắc của luật giao thông đường

bộ và cảnh báo nhiều mối nguy hiểm không thể đoán trước

Hình 2.1: Sự phát triển của xe tự hành trong tương lai

Trang 21

2.2 Tổng quan về trí tuệ nhân tạo

2.2.1 Trí tuệ nhân tạo (Artificial Intelligence- AI)

Trí tuệ nhân tạo (AI) có sức mạnh phân chia nhiều ngành công nghiệp, và không có gì ngạc nhiên khi nó là một trong những chủ đề đáng chú ý nhất trong hầu hết các vấn đề về khoa học, kinh tế và xã hội hiện nay Tuy nhiên, AI cũng rất hoài nghi và các ứng dụng của nó: ngoài việc được áp dụng mạnh mẽ trong quy trình vận hành cũng như sản xuất của các công ty tiên tiến, AI còn được cho là sẽ thay thế công nhân của con người và phá hủy ngành công nghiệp như chúng ta biết

Trí tuệ nhân tạo được hiểu đơn giản là máy móc sử dụng các quá trình ra quyết định hoặc tính toán bắt chước nhận thức của con người Trong thực tế, điều này đòi hỏi một loại máy có cấu hình phải hiểu thông tin về môi trường của nó, cho dù đó là một không gian vật lý hay thông tin liên quan từ cơ sở dữ liệu Sau đó, một hệ thống thông minh nhân tạo có thể sử dụng dữ liệu này để tối ưu hóa các hành động giúp đạt được mục tiêu cụ thể, như thực hiện lại một hoạt động đã được huấn luyện trước đó hay chiến thắng một ván cờ

Trí tuệ nhân tạo là một lĩnh vực rộng bao gồm một số trường con, kỹ thuật và thuật toán Lĩnh vực trí tuệ nhân tạo dựa trên mục tiêu tạo ra một cỗ máy thông minh như con người Đó thực sự là mục tiêu bao trùm ban đầu Quay trở lại năm 1956, các nhà nghiên cứu đã đến với nhau tại Dartmouth với mục tiêu rõ ràng là lập trình máy tính để hành xử giống như con người Đây là sự ra đời hiện đại của trí tuệ nhân tạo như chúng ta biết ngày nay

Để giải thích thêm về các mục tiêu của trí tuệ nhân tạo, các nhà nghiên cứu đã

mở rộng mục tiêu chính của họ sang sáu mục tiêu chính sau:

- Lý luận logic: Cho phép máy tính thực hiện các loại nhiệm vụ tinh thần phức tạp mà con người có khả năng thực hiện Ví dụ về giải quyết các vấn đề lý luận logic này bao gồm chơi cờ và giải các bài toán đại số

Trang 22

- Trình bày kiến thức: Cho phép máy tính mô tả các đối tượng, con người và ngôn ngữ Ví dụ về điều này bao gồm ngôn ngữ lập trình hướng đối tượng, chẳng hạn như Smalltalk

- Lập kế hoạch và điều hướng: Cho phép một robot đi từ điểm A đến điểm B

Ví dụ, robot tự lái đầu tiên được chế tạo vào đầu năm 1960

- Xử lý ngôn ngữ tự nhiên: Cho phép máy tính hiểu và xử lý ngôn ngữ Một trong những dự án đầu tiên liên quan đến vấn đề này, đã cố gắng dịch tiếng Anh sang tiếng Nga và ngược lại

- Nhận thức: Cho phép máy tính tương tác với thế giới thông qua thị giác, thính giác, xúc giác và khứu giác

Ngay cả với những mục tiêu chính này, điều này không phân loại các thuật toán và kỹ thuật trí tuệ nhân tạo cụ thể Đây chỉ là sáu trong số các thuật toán và kỹ thuật chính trong trí tuệ nhân tạo:

- Machine Learning là lĩnh vực trí tuệ nhân tạo cung cấp cho máy tính khả năng học mà không cần lập trình rõ ràng

- Tìm kiếm và tối ưu hóa: Các thuật toán như Gradient Descent để lặp lại tìm kiếm tối đa hoặc tối thiểu cục bộ

- Sự thỏa mãn ràng buộc là quá trình tìm giải pháp cho một tập hợp các ràng buộc áp đặt các điều kiện mà các biến phải thỏa mãn

- Lý luận logic: Một ví dụ về lý luận logic trong trí tuệ nhân tạo là một hệ thống máy tính chuyên gia mô phỏng khả năng ra quyết định của một chuyên gia về con người

- Lý luận xác suất là kết hợp lý thuyết xác suất để xử lý sự không chắc chắn với năng lực logic suy diễn để khai thác cấu trúc của lập luận chính thức

- Lý thuyết điều khiển là một cách tiếp cận chính thức để tìm các bộ điều khiển

có các thuộc tính có thể chứng minh được Điều này thường liên quan đến một hệ thống các phương trình vi phân, thường mô tả một hệ thống vật lý như robot hoặc máy bay

Trang 23

Hình 2.2: Mối quan hệ giữa AI, Machine Learning và Deep Learning

Trí tuệ nhân tạo, học máy và học sâu là mỗi tập hợp con của trường trước đó như trong Hình 2.2 Trí tuệ nhân tạo là thể loại bao quát cho Machine Learning Ngoài

ra, Machine Learning là danh mục bao quát cho Deep Learning

2.2.2 Machine Learning

Machine Learning là một tập hợp con của trí tuệ nhân tạo Trí tuệ nhân tạo nhằm mục đích làm cho máy tính trở nên thông minh, khái niệm Machine Learning được hiểu rằng chúng ta nên cung cấp dữ liệu cho máy tính và để máy tính tự học Ý tưởng cho rằng máy tính có thể tự học được đã được Arthur Samuel đưa ra vào năm

1959

Một bước đột phá lớn đã dẫn đến sự xuất hiện của Machine Learning với tư cách là động lực thúc đẩy trí tuệ nhân tạo là phát minh của internet Internet đi kèm với một lượng lớn thông tin về kỹ thuật số đang được tạo ra, lưu trữ và cung cấp để phân tích Đây là khi bạn bắt đầu nghe về dữ liệu lớn (big data) Hơn nữa, các thuật toán Machine Learning đã có hiệu quả nhất trong việc tận dụng tất cả dữ liệu lớn này

Mạng nơ-ron là một phần quan trọng và thành công nhất của một số thuật toán Machine Learning Sự phát triển của mạng lưới thần kinh là chìa khóa để dạy máy tính suy nghĩ và hiểu thế giới theo cách mà con người làm Về cơ bản, một mạng lưới thần kinh mô phỏng bộ não của con người Các tế bào não, hay tế bào thần kinh, được kết nối thông qua các khớp thần kinh Điều này được trừu tượng hóa như một biểu

Trang 24

đồ của các nút (nơ ron) được kết nối bởi các cạnh có trọng số (khớp thần kinh) Cấu trúc của một tế bào thần kinh sinh học được minh họa trong hình 2.3

Bộ não của chúng ta sử dụng các mạng nơ-ron liên kết cực lớn để xử lý thông tin và mô hình hóa thế giới chúng ta đang sống Các đầu vào được truyền qua mạng lưới các nơ-ron này tạo ra đầu ra Trong trường hợp não sinh học, điều này có thể dẫn đến việc co thắt cơ bắp hoặc báo hiệu tuyến mồ hôi của bạn tiết ra mồ hôi Một nơ-ron thu thập các đầu vào bằng cách sử dụng một cấu trúc gọi là đuôi gai, nơ-ron tổng hợp một cách hiệu quả tất cả các đầu vào này từ các sợi nhánh và nếu giá trị kết quả lớn hơn ngưỡng loại bỏ của nó, thì nơ-ron sẽ xuất ra Khi tế bào thần kinh xuất ra, nó

sẽ gửi một xung điện qua sợi trục của tế bào thần kinh đến các nút của nó Những nút này sau đó có thể được nối mạng với hàng ngàn tế bào thần kinh khác thông qua các kết nối được gọi là khớp thần kinh Có khoảng một trăm tỷ (100.000.000) tế bào thần kinh bên trong não người, mỗi bộ có khoảng một nghìn kết nối khớp thần kinh Đó là cách hiệu quả mà các khớp thần kinh này có dây mang lại cho bộ não của chúng ta khả năng xử lý thông tin theo cách chúng làm

Hình 2.3: Cấu trúc của một tế bào thần kinh sinh học

Trang 25

Các mô hình nơ-ron ở các mô hình đơn giản hóa của chúng cốt lỗi dựa trên các nơ-ron sinh học Điều này cho phép họ nắm bắt được bản chất của một tế bào thần kinh sinh học hoạt động như thế nào Chúng ta thường gọi những tế bào thần kinh nhân tạo này là “nhận thức” (perceptions)

Như được hiển thị trong Hình 2.4, một tri giác (perceptron) điển hình sẽ có nhiều đầu vào và các đầu vào này đều có trọng số riêng Các trọng số perceptron có thể khuếch đại hoặc khử tín hiệu đầu vào ban đầu Ví dụ: nếu đầu vào là 1 và trọng

số của đầu vào là 0,2 thì đầu vào sẽ giảm xuống 0,2 Các tín hiệu có trọng số này sau

đó được thêm vào với nhau và được chuyển vào chức năng kích hoạt Chức năng kích hoạt được sử dụng để chuyển đổi đầu vào thành đầu ra hữu ích hơn Có nhiều loại chức năng kích hoạt khác nhau nhưng một trong những cách đơn giản nhất sẽ là chức năng bước Hàm bước thường sẽ xuất 1 nếu đầu vào cao hơn ngưỡng nhất định, nếu không, đầu ra của nó sẽ là 0

Chi tiết về một số thành phần này:

- Tế bào thần kinh: một mạng lưới thần kinh là một biểu đồ của các tế bào thần kinh Tương tự, một mạng lưới thần kinh có đầu vào và đầu ra Các đầu vào và đầu

ra của một mạng nơ ron được thể hiện bằng các nơ ron đầu vào và các nơ ron đầu ra

Tế bào thần kinh đầu vào không có tế bào thần kinh tiền thân nhưng có đầu ra Tương

tự, một nơ-ron đầu ra không có nơ-ron kế tiếp nhưng không có đầu vào

- Kết nối và trọng số: Một mạng lưới thần kinh bao gồm các kết nối, mỗi kết nối chuyển đầu ra của một nơron sang đầu vào của một nơron khác Mỗi kết nối được gán một trọng số

- Chức năng lan truyền: Chức năng lan truyền tính toán đầu vào của một nơron

từ đầu ra của các nơ ron tiền thân Chức năng nhân giống được tận dụng trong giai đoạn nhân giống về phía trước của đào tạo

Trang 26

Hình 2.4: Cấu trúc tế bào thần kinh nhân tạo

- Quy tắc học tập: Quy tắc học tập là một chức năng sửa đổi trọng số của các

kết nối Điều này phục vụ để tạo ra một đầu ra phù hợp cho một đầu vào nhất định cho mạng thần kinh Quy tắc học tập được tận dụng trong giai đoạn lan truyền ngược

- Các loại hình học tập: Có nhiều thuật toán khác nhau có thể được sử dụng khi

đào tạo các mạng lưới thần kinh nhân tạo như học tập có giám sát, học tập không giám sát, học tập tăng cường, mỗi loại có những ưu điểm và nhược điểm riêng Quá trình học tập trong các mạng thần kinh nhân tạo là kết quả của việc thay đổi trọng số của mạng, với một số loại thuật toán học tập Mục tiêu là tìm ra một tập hợp các ma trận trọng số mà khi áp dụng vào mạng nên ánh xạ bất kỳ đầu vào nào thành một đầu

ra chính xác

• Học có giám sát: Học có giám sát: Là quá trình học có sự tham gia giám sát của một “thầy giáo” Cũng giống như việc ta dạy một em nhỏ các chữ cái Ta đưa ra một chữ “a” và bảo với em đó rằng đây là chữ “a” Việc này được thực hiện trên tất

cả các mẫu chữ cái Sau đó khi kiểm tra ta sẽ đưa ra một chữ cái bất kì (có thể viết hơi khác đi) và hỏi em đó đây là chữ gì?

Trang 27

Như vậy với học có giám sát, số lớp cần phân loại đã được biết trước Nhiệm

vụ của thuật toán là phải xác định được một cách thức phân lớp sao cho với mỗi vector đầu vào sẽ được phân loại chính xác vào lớp của nó (Hình 2.5)

• Học tập không giám sát: Trong mô hình này, mạng lưới thần kinh chỉ được cung cấp một bộ đầu vào và mạng lưới thần kinh có trách nhiệm tìm một số kiểu mẫu trong các đầu vào được cung cấp mà không cần bất kỳ sự trợ giúp bên ngoài nào Kiểu mô hình học tập này thường được sử dụng trong khai thác dữ liệu và cũng được

sử dụng bởi nhiều thuật toán đề xuất do khả năng dự đoán sở thích của người dùng dựa trên sở thích của những người dùng tương tự khác mà họ đã nhóm lại với nhau (Hình 2.6)

• Học tăng cường: Học tăng cường tương tự như học có giám sát ở chỗ một số phản hồi được đưa ra, tuy nhiên thay vì cung cấp đầu ra mục tiêu, phần thưởng được đưa ra dựa trên mức độ hệ thống hoạt động tốt Mục đích của học tập củng cố là để tối đa hóa phần thưởng mà hệ thống nhận được thông qua thử và sai Mô hình này liên quan mạnh mẽ đến cách học tập hoạt động trong tự nhiên, ví dụ, một con vật có thể nhớ những hành động mà nó đã thực hiện trước đó giúp nó tìm thức ăn (phần thưởng) (Hình 2.7)

Hình 2.5: Học có giám sát

Trang 28

Hình 2.6: Học không giám sát

Hình 2.7: Học tăng cường

2.2.3 Deep Learning

Deep Learning là ưu thế của những gì máy móc có thể làm, các nhà phát triển

và lãnh đạo doanh nghiệp hoàn toàn cần phải hiểu nó là gì và hoạt động như thế nào Loại thuật toán độc đáo này đã vượt xa mọi tiêu chuẩn trước đây để phân loại hình ảnh, văn bản và giọng nói

Nó cũng cung cấp năng lượng cho một số ứng dụng thú vị nhất trên thế giới, như xe tự hành và dịch thuật thời gian thực Chắc chắn có rất nhiều sự ngạc nhiên xung quanh việc AlphaGo dựa trên Deep Learning của Google để đánh bại người chơi cờ vây giỏi nhất thế giới, nhưng các ứng dụng kinh doanh cho công nghệ này ngay lập tức và có khả năng tác động mạnh hơn, ví dụ như dự đoán giá cổ phiếu

Trang 29

Deep learning là một tập hợp con cụ thể của Machine Learning, là một tập hợp con cụ thể của trí tuệ nhân tạo Đối với định nghĩa cá nhân:

• Trí tuệ nhân tạo là nhiệm vụ rộng lớn của việc tạo ra những cỗ máy có thể suy nghĩ thông minh

• Machine Learning là một cách để làm điều đó, bằng cách sử dụng các thuật toán để thu thập thông tin chuyên sâu về dữ liệu

• Deep Learning là một cách để làm điều đó, bằng cách sử dụng một thuật toán

cụ thể được gọi là mạng thần kinh

Deep Learning chỉ là một loại thuật toán dường như hoạt động thực sự tốt để

dự đoán mọi thứ Deep Learning và Neural Nets, đối với hầu hết các mục đích, đồng nghĩa một cách hiệu quả Mạng lưới thần kinh được lấy cảm hứng từ cấu trúc của vỏ não Ở cấp độ cơ bản là nhận thức, biểu diễn toán học của một tế bào thần kinh sinh học Giống như trong vỏ não, có thể có một vài lớp tri giác liên kết với nhau

Các giá trị đầu vào, hay nói cách khác là dữ liệu cơ bản của chúng ta, được truyền qua mạng này của các lớp ẩn cho đến khi chúng hội tụ đến lớp đầu ra Lớp đầu

ra là dự đoán của chúng ta: nó có thể là một nút nếu mô hình chỉ xuất ra một giá trị hoặc một vài nút nếu nó có vấn đề phân loại đa lớp Các lớp ẩn của mạng thần kinh thực hiện các sửa đổi trên dữ liệu để cuối cùng cảm nhận được mối quan hệ của nó với biến mục tiêu là gì Mỗi nút có trọng số và nó nhân giá trị đầu vào của nó với trọng số đó Làm điều đó qua một vài lớp khác nhau và mạng nơ-ron có thể điều khiển

dữ liệu thành một thứ gì đó có ý nghĩa

Deep Learning chỉ quan trọng vì một lý do duy nhất: chúng có thể đạt được độ chính xác có ý nghĩa, hữu ích cho các nhiệm vụ quan trọng Machine Learning đã được sử dụng để phân loại trên hình ảnh và văn bản trong nhiều thập kỷ nhưng nó đã phải vật lộn để vượt qua ngưỡng nhất định, có một độ chính xác cơ bản mà các thuật toán cần phải hoạt động Deep Learning cuối cùng đã cho phép vượt qua ranh giới đó

ở những nơi mà trước đây chúng không thể đạt được

Trang 30

Hình 2.8: So sánh hiệu suất giữa DL với các thuật toán học theo thứ tự

Tầm nhìn máy tính là một ví dụ tuyệt vời về một nhiệm vụ mà Deep Learning

đã biến thành một cái gì đó thực tế cho các ứng dụng Hình 2.8 cho thấy rằng sử dụng Deep Learning để phân loại và gắn nhãn hình ảnh không chỉ tốt hơn bất kỳ thuật toán truyền thống nào khác: nó bắt đầu tốt hơn hành động con người

 Deep Learning Models:

Convolutional Neural Network:

Convolutional Neural Network viết tắt của từ CNN, là một loại mạng thần kinh

nhân tạo thuộc kiểu feed-forward, trong đó mô hình kết nối giữa các nơ-ron của nó

được lấy cảm hứng từ hệ thống vỏ não thị giác như trong Hình 2.9

Recurrent Neural Network:

- Hình 2.10 cho thấy một mô hình trình tự thường được thiết kế để chuyển đổi một chuỗi đầu vào thành một chuỗi đầu ra trong một miền khác Recurrent Neural Network, viết tắt của từ RNN, phù hợp cho mục đích này và đã cho thấy sự cải thiện

to lớn trong các vấn đề như nhận dạng chữ viết, nhận dạng giọng nói và dịch máy

- Một mô hình Recurrent Neural Network được sinh ra với khả năng xử lý dữ liệu dài một cách tuần tự và để giải quyết các nhiệm vụ với bối cảnh trải rộng theo thời gian Mô hình xử lý một phần tử trong chuỗi ở mỗi bước một lần Sau khi tính toán, trạng thái đơn vị mới được cập nhật được chuyển sang bước tiếp theo để tạo thuận lợi cho việc tính toán của phần tử tiếp theo Hãy tưởng tượng trường hợp khi một mô hình RNN đọc tất cả các bài viết Wikipedia, theo từng ký tự, và sau đó nó có thể dự đoán các từ sau được đưa ra theo ngữ cảnh

Trang 31

Hình 2.9: Tổ chức của hệ thống vỏ não thị giác

Hình 2.10: Mô hình RNN Autoencoders:

Khác với các mô hình trước đó, autoencoders, được hiển thị trong Hình 2.11, dành cho việc học tập không giám sát Nó được thiết kế để tìm hiểu và biểu diễn chiều thấp của tập dữ liệu chiều cao, tương tự như Principal Components Analysis (PCA)

Mô hình bộ mã hóa tự động cố gắng tìm hiểu hàm xấp xỉ f (x) xf (x) ≈ x để tái tạo dữ liệu đầu vào Tuy nhiên, nó bị hạn chế bởi một lớp nút cổ chai ở giữa với số lượng nút rất nhỏ Với khả năng hạn chế, mô hình buộc phải hình thành một mã hóa dữ liệu rất hiệu quả, về cơ bản là mã chiều thấp mà chúng ta đã học

Trang 32

Hình 2.11: Kiến trúc mạng autoencoders

2.3 Convolutional Neural Network (CNN)

Mạng nơron thần kinh (CNN) là mô hình học tập sâu hàng đầu cho thị giác máy tính Thị giác máy đã trở nên tốt đến nỗi hiện nay nó đang đánh bại cả con người trong những nhiệm vụ khó nhất và CNN đóng một vai trò quan trọng trong câu chuyện thành công này CNN là một trong những thuật toán Deep Learning cho kết quả tốt nhất hiện nay trong hầu hết các bài toán về thị giác máy như phân loại, nhận dạng…

Về cơ bản CNN là một kiểu mạng ANN truyền thẳng, trong đó kiến trúc chính gồm nhiều thành phần được ghép nối với nhau theo cấu trúc nhiều tầng đó là

 Convolution (tích chập)

 Pooling (gộp chung)

 ReLU (tinh chỉnh các đơn vị tuyến tính)

 Fully connected (liên kết đầy đủ)

Trước khi đi vào các thành phần cơ bản của CNN, ta xem xét một ví dụ về cách thức xử lý thông tin đầu vào của một ANN truyền thẳng để từ đó rút ra tác dụng của các thành phần có trong mạng CNN

Hình 2.12 mô tả một ví dụ với dữ liệu đầu vào là một bức ảnh có kích thước 200x200 được xử lý bằng ANN với kết nối đầy đủ giữa hai tầng liên tiếp (full connected) Như vậy giả sử số neural tầng ẩn là 40000 thì tổng số tham số (mà cụ thể hơn ở đây là các trọng số liên kết W giữa các neural tầng nhập với tầng ẩn) cần phải

Trang 33

ước lượng lên đến 1.6 tỉ Điều này gây khó khăn cho việc huấn luyện ANN trên hai yếu tố: thứ nhất là chi phí để xây dựng dữ liệu huấn luyện lớn và thứ hai thời gian huấn luyện lâu

Từ thực tế đặt ra ở trên người ta thấy rằng để giảm số lượng tham số cần giảm

số lượng kết nối giữa các lớp Từ đây thành phần convolution được áp dụng – ý tưởng chính là mỗi neural chỉ cần kết nối tới một vùng cục bộ của ảnh thay vì trên toàn bộ ảnh (hình 2.13)

Hình 2.12: Ví dụ cách thức xử lý của ANN với cấu trúc kết nối đầy đủ

Hình 2.13: Ý tưởng thiết kế CNN

W

Trang 34

Hình 2.14: Minh họa tích chập

2.3.1.1 Lớp tích chập (Convolution layer)

Tầng Convolution (Conv) là tầng quan trọng nhất trong cấu trúc của CNN Conv dựa trên lý thuyết xử lý tín hiệu số, việc lấy tích chập sẽ giúp trích xuất được những thông tin quan trọng từ dữ liệu Nhờ vào nguyên lý biến đổi thông tin, các nhà khoa học đã áp dụng kĩ thuật này vào xử lý ảnh và video số

Để dễ hình dung, ta có thể xem tích chập như một cửa sổ trượt (Sliding Window) áp đặt lên một ma trận Ta có thể theo dõi cơ chế của tích chập qua hình minh họa 2.14 Ma trận bên trái à một bức ảnh trắng đen Mỗi giá trị của ma trận tương đương với một điểm ảnh (pixel), 0 là màu đen, 1 là màu trắng (nếu là ảnh xám thì giá trị biến thiên từ 0 đến 255)

Sliding window còn có tên gọi là kernel, feature hoặc filter Ở đây, ta dùng một ma trận với bộ lọc có kích thước 3x3 nhân từng thành phần tương ứng với ma trận ảnh bên trái Giá trị đầu ra là tổng của các tích này cộng lại Kết quả của phép tích chập cũng là một ma trận (Convoled Feature) sinh ra từ việc trượt ma trận bộ lọc

và thực hiện tích chập cùng một lúc lên toàn bộ ma trận ảnh bên trái

Khi được áp dụng phép tính Conv vào xử lý ảnh người ta thấy rằng Conv sẽ giúp biến đổi các thông tin đầu vào thành các yếu tố đặc trưng (nó tương ứng như bộ phát hiện – detector các đặc trưng về cạnh, hướng, đốm màu…) Hình 2.15 là minh họa việc áp dụng phép tính Conv trên ảnh trong đó (a) là kết quả biến đổi hình ảnh khi thực hiện phép Conv khác nhau cho ra kết quả khác nhau, (b) là trực quan hóa các kernel dùng để detector các đặc trưng về cạnh, hướng, đốm màu

Trang 35

Hình 2.15: Ví dụ ứng dụng tích chập

Để dễ hình dung, ta xét bài toán thực hiện tính giá trị đầu ra của một ảnh có kích thước 𝑊1*𝐻1* 𝐷1 Khi đó một lớp tích chập sẽ có một cửa sổ trượt – cửa sổ này thực chất cũng là một ma trận có kích thước F*F thực hiện trên mỗi chiều của ảnh đầu vào(ta sử dụng K bộ lọc) Trong quá trình xử lý sẽ dịch chuyển các bộ lọc trên toàn bộ

bức ảnh theo S (stride) bước (tính bằng pixel)

Ta gọi mỗi vùng mà bộ lọc áp đặt lên ma trận đầu vào là receptive field Trong một số trường hợp để cân bằng giữa số bước dịch chuyển và kích thước của ảnh người

ta có thể chèn thêm P pixel với một giá trị màu cho trước (thường là 0) xung quanh viền của ảnh khi đó ta được ma trận đầu ra (feature map) là 𝑊2* 𝐻2*𝐷2 trong đó:

Đây cũng là tính chất quan trọng (dùng chung bộ trọng số – shared weights) làm giảm thêm số tham số cần học trong quá trình huấn luyện mạng Từ đó tổng số tham

Ngày đăng: 08/05/2023, 06:30

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Minh-Thien Duong, Truong-Dong Do and My-Ha Le, “Navigating Self- Driving Vehicles Using Convolutional Neural Network”, 2018 4th International Conference on Green Technology and Sustainable Development (GTSD). IEEE, 2018. p. 607-610 Sách, tạp chí
Tiêu đề: 2018 4th International Conference on Green Technology and Sustainable Development (GTSD)
Tác giả: Minh-Thien Duong, Truong-Dong Do, My-Ha Le
Nhà XB: IEEE
Năm: 2018
[2] S. G. Jeong et al., “Real time lane detection for autonomous navigation,” in Proc. IEEE Intell. Transp. Syst., Aug. 2001, pp. 508–513 Khác
[3] K. A. Redmill, S. Upadhya, A. Krishnamurthy, and ĩ. ệzgỹner, “A lane tracking system for intelligent vehicle application,” in Proc. IEEE Intell.Transp.Syst., Aug. 2001, pp. 273–279 Khác
[4] Hsu-Yung Cheng, Bor-Shenn Jeng, Pei-Ting Tseng, and Kuo-Chin Fan, “Lane Detection with Moving Vehicles in Traffic Scenes”, IEE Transactions on intelligent transportation systems, vol 7, No.4, December 2006 Khác
[5] Kamarul Ghazali, Rui Xiao, Jie Ma, “Road Lane Detection Using H-Maxima and Improve Hough Transform”, 2012 Fourth International Conference on Computational Intelligence, Modelling and Simulation Khác
[6] Mohamed Aly, “Real time Detection of Lane Markers in Urban Streets” 2008 IEEE Intelligent Vehicles Symposium Eindhoven University of Technology Eindhoven, The Netherlands, June 4-6, 2008 Khác
[7] S. Hong, M. Hyung Lee, S. Hong Kwon and H. Hwan Chun, “A car test for the estimation of GPS/INS alignment errors,” IEEE Trans. Intell. Trans. Syst. 5(3), 208–218 (2004) Khác

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