1. Trang chủ
  2. » Luận Văn - Báo Cáo

nghiên cứu thiết kế chế tạo chức năng tự hành cho xe điện dựa trên deep learning

100 2 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

Mục tiêu chính của nghiên cứu là nghiên cứu, thiết kế và thử nghiệm một hệ thống xe tự hành có khả năng tự định hình, tự động lái và tương tác an toàn với môi trường xung quanh.. Nghiên

Trang 1

THÀNH PHỐ HỒ CHÍ MINH

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHÓA LUẬN TỐT NGHIỆP

NGÀNH CÔNG NGHỆ KỸ THUẬT Ô TÔ

NGUYỄN HOÀNG ANH TUẤN

S K L 0 1 2 2 4 6

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH

KHOA CƠ KHÍ ĐỘNG LỰC

ĐỒ ÁN TỐT NGHIỆP

SVTH: TRẦN VĂN HỒ MSSV: 19145385

SVTH: NGUYỄN HOÀNG ANH TUẤN MSSV: 19145501

GVHD: PGS.TS LÊ MỸ HÀ

Tp Hồ Chí Minh, tháng 12 năm 2023

NGHIÊN CỨU, THIẾT KẾ, CHẾ TẠO CHỨC NĂNG TỰ HÀNH CHO XE ĐIỆN DỰA TRÊN DEEP LEARNING

Trang 3

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH

SVTH: NGUYỄN HOÀNG ANH TUẤN MSSV: 19145501

GVHD: PGS.TS LÊ MỸ HÀ

Tp Hồ Chí Minh, tháng 12 năm 2023

Trang 10

Chúng em cũng xin gửi lời cảm ơn chân thành đến thầy Lê Mỹ Hà đã hướng dẫn, chỉ bảo và hỗ trợ chúng em trong suốt quá trình nghiên cứu Thầy không chỉ giúp chúng em tiếp thu kiến thức một cách hiệu quả mà còn truyền đạt cho chúng em những kinh nghiệm quý báu và tinh thần trách nhiệm trong học tập và nghiên cứu

Cuối cùng, chúng em xin gửi lời cảm ơn đến ba mẹ, người đã luôn động viên, khuyến khích và hỗ trợ trong suốt quá trình học tập và nghiên cứu Ba mẹ là nguồn động lực lớn nhất giúp chúng em vượt qua những khó khăn và trở ngại để hoàn thành đồ án này

Một lần nữa, chúng em xin cảm ơn sự hỗ trợ và giúp đỡ của Ban giám hiệu, thầy Lê Mỹ Hà và các thầy cô khác trong suốt quá trình học tập và nghiên cứu Em sẽ luôn ghi nhớ và trân trọng những kinh nghiệm và kiến thức mà chúng em đã học được tại trường Đại học Sư phạm Kỹ thuật Tp Hồ Chí Minh

Trang 11

TÓM TẮT

Đề tài “Nghiên cứu, thiết kế, chế tạo chức năng tự hành cho Xe điện dựa trên Deep Learning” tập trung vào Phát tiển và ứng dụng công nghệ xe tự hành, một lĩnh vực đang phát triển nhanh chóng trong ngành công nghiệp ô tô Mục tiêu chính của nghiên cứu là nghiên cứu, thiết kế và thử nghiệm một hệ thống xe tự hành có khả năng tự định hình, tự động lái và tương tác an toàn với môi trường xung quanh Nghiên cứu này để xuất sử dụng một mô hình đa tác vụ để giúp vừa có thể nhận diện được làn đường bằng phân đoạn hình ảnh (Image Segmentation) và nhận diện các yếu tố khác trong giao thông (Object Detection) từ Camera và các thông tin này sẽ được xử lý bởi các thuật toán để đưa ra quyết định và điều khiển xe, việc sử dụng mô hình đa tác vụ sẽ giảm đi áp lực tính toán lên các phần cứng và đảm bảo hệ thống có thể hoạt động với thời gian thực Ngoài ra nhóm cũng xây dựng ứng dụng chỉ đường cho xe tự hành nhằm cung cấp thông tin hướng đi của xe, cho phép nhận biết một cách toàn cục về vị trí của xe, từ đó đưa ra các xử lý cục bộ một cách chính xác hơn Ứng dụng tận dụng GPS từ điện thoại với độ chính xác cao, nhóm cũng đã xây dựng thuật toán tìm đường trên app nhằm tăng thêm khả năng xử lý tình huống khi xe gặp vấn đề khi di chuyển trên đường Cuối cùng nhóm sử dụng vi điều khiển STM32 để xây dựng hệ thống điều khiển tốc độ và góc lái của xe đồng thời giao tiếp nó với Jetson Tx2, là phần cứng được nhóm triển khai mô hình đa tác vụ của mình Bằng cách tận dụng nhiều thông tin từ Camera và GPS, xe có thể nhận biết và tự di chuyển một cách an toàn và chính xác đến điểm đến của mình

Kết quả thực nghiệm của nhóm trong khuôn viên trường Đại học Sư phạm Kỹ Thuật Thành phố Hồ Chí Minh đã chứng minh tính hiệu quả và chính xác của hệ thống Hệ thống hoạt động với FPS là 25-26 fps là một tốc độ hoàn toàn phù hợp với các ứng dụng thời gian thực

Trang 12

1.4.1 Tình hình nghiên cứu trong nước 2

1.4.2 Tình hình nghiên cứu ngoài nước 3

1.5 Phương pháp nghiên cứu 4

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

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

2.1.1 Học máy (Machine Learning) 5

2.1.2 Học sâu (Deep Learning) 6

2.2 Xe tự hành 17

2.2.1 Khái niệm 17

2.2.3 Tiêu chuẩn an toàn của công nghệ xe tự lái 19

2.3 Framework Pytorch và TensorRT 20

2.4 Thuật toán tìm đường tối ưu Dijkstra 22

Trang 13

2.5 Thuật toán điều khiển PID 23

2.6 Hệ thống định vị toàn cầu GPS, AGPS 25

CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 27

3.5.2 Thuật toán tìm đường tối ưu Dijkstra 50

3.5.3 Tín hiệu dẫn đường và các chức năng khác 52

3.6 Thuật toán điều khiển 55

3.6.1 Điều khiển góc lái với PID 55

3.6.2 Phát hiện vật cản 58

Trang 14

3.6.3 Kết hợp với tín hiệu GPS 60

3.6.4 Chiến thuật đánh lái 61

CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM 64

4.1 Môi trường đánh giá 64

4.2 Huấn luyện mô hình đa tác vụ 64

4.2.1 Thu thập và đánh nhãn dữ liệu 64

4.2.2 Kết quả huấn luyện 67

4.3 Kết quả thực nghiệm xe tự hành trong khuôn viên trường Đại học Sư phạm Kỹ Thuật 69

4.3.1 Kết quả dự đoán của mô hình 69

4.3.2 Kết quả thực nghiệm khả năng tự hành của xe 72

CHƯƠNG 5: KẾT LUẬN VÀ KIẾN NGHỊ 76

5.1 Kết luận 76

5.2 Hướng phát triển của đề tài 76

TÀI LIỆU THAM KHẢO 78

Trang 15

DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU

GPS: Global Positioning System FPS: Frames-per-second

IoT: Internet of Things AI: Artificial intelligence

PID: Proportional Integral Derivative SAE: Society of Automotive Engineers SAGR: Compounded Annual Growth rate RPN: Region Proposal Network

CPU: Central Processing Unit GPU: Graphics Processing Unit A-GPS: Assisted GPS

IMU: Inertial Measurement Unit MCU: Microcontroller Unit

PAFPN: Feature Pyramid Attention Module with Positional Encoding for Object Detection

SPPF: Spatial Pyramid Pooling - Fast

Trang 16

DANH MỤC CÁC HÌNH

Hình 2.1 Hình ảnh mô phỏng của một tế bào thần kinh của con người 6

Hình 2.2 Cấu trúc của một tế bào nhân tạo 7

Hình 2.3 Cấu trúc mạng CNN cơ bản 8

Hình 2.4 Ảnh minh họa cho lớp tích chập, trong đó lớp màu vàng là Filer map 9

Hình 2.5 Kết quả của Features map khi Stride bằng 1 và Stride bằng 2 9

Hình 2.6 Padding 10

Hình 2.7 Pooling 11

Hình 2.8 Một số hàm kích hoạt phổ biến 12

Hình 2.9 Fully Connected Layer 13

Hình 2.10 Sự khác nhau giữa Object detection và Image segmentation 15

Hình 2.11 Những bài toán của Image Segmentation 15

Hình 2.12 Minh họa cho mô hình đa tác vụ 17

Hình 2.13 Các cấp độ của xe tự hành 19

Hình 2.14 Quy trình cơ bản của Pytorch gồm các module quan trọng và được kết nối với nhau qua từng giai đoạn 20

Hình 2.15 Minh họa 5 loại tối ưu của thư viện TensorRT 21

Hình 2.16 Minh họa thuật toán tìm đường ngắn nhất Dijkstra 22

Hình 2.17 Thuật toán điều khiển PID 24

Hình 2.18 Hệ thống định vị toàn cầu GPS 25

Hình 3.1 Tổng quan hệ thống 27

Hình 3.2 Xe Golf Ezgo 28

Hình 3.3 Một số loại động cơ Servo 29

Hình 3.4 Động cơ Ezi Servo và Ezi Driver trên Xe Golf Ezgo 29

Hình 3.5 Encoder loại đo tuyệt đối 31

Hình 3.6 Cơ cấu lái 32

Hình 3.7 Bộ phát Devo 7 32

Hình 3.8 Bộ thu RX-601 33

Hình 3.9 Camera Astra 33

Hình 3.10 Sơ đồ kết nối giữa Relay và Cơ cấu điều khiển 36

Hình 3.11 Kiến trúc học của mô hình đa tác vụ 36

Trang 17

Hình 3.12 Khối phát hiện đối tượng của mô hình đa tác vụ 38

Hình 3.22 Khối cảm biến khoảng cách 45

Hình 3.23 Khối điều khiển công suất động cơ Servo 45

Hình 3.24 Khối điều khiển hướng của động cơ Servo 46

Hình 3.25 Khối điều khiển tốc độ xe 46

Hình 3.26 Bảng mạch PCB 3D 47

Hình 3.27 Bảng mạch điều khiển thực tế 47

Hình 3.28 Xây dựng map cho ứng dụng dẫn đường 49

Hình 3.29 Xây dựng các điểm node trong Graph 50

Hình 3.30 Đánh trọng số đối với đường hai chiều và một chiều trong Graph 50

Hình 3.31 Lưu đồ thuật toán của thuật toán Dijkstra 51

Hình 3.32 Kết quả tìm đường tối ưu và đường dự phòng của ứng dụng dẫn đường 52

Hình 3.33 Giao diện của ứng dụng 53

Hình 3.34 Minh họa góc hướng Bearing của các điểm trên bản đồ 54

Hình 3.35 Vùng cung cấp tín hiệu cho xe tự hành 55

Hình 3.36 Ảnh dự đoán từ mô hình 56

Hình 3.37 Thuật toán điều khiển cho xe tự hành 57

Hình 3.38 Lưu đồ thuật toán PID 58

Hình 3.39 Kết quả dự đoán của mô hình khi gặp các vật thể 58

Hình 3.40 Hướng di chuyển của xe khi gặp vật cản 59

Hình 3.41 Hướng di chuyển của xe khi kết hợp bounding box vào né vật cản 60

Hình 3.42 Xử lý đa luồng trên hệ thống 60

Trang 18

Hình 3.43 Lưu đồ thuật toán kết hợp GPS trong điều khiển xe tự hành 61

Hình 3.44 Chiến thuật đánh lái của xe 62

Hình 3.45 Lưu đồ thuật toán chiến thuật đánh lái 63

Hình 4.1 Sơ đồ khối của hệ thống 64

Hình 4.2 Dữ liệu thu thập được từ khuôn viên trường Đại học Sư phạm Kỹ thuật thành phố Hồ Chí Minh 65

Hình 4.3 Gán nhãn dữ liệu cho tác vụ phân đoạn làn đường bằng Labelme 66

Hình 4.4 Gán nhãn dữ liệu cho tác vụ phát hiện đối tượng bằng LabelImg 66

Hình 4.5 Giá trị của hàm mất mát trong quá trình huấn luyện mô hình 67

Hình 4.6 Giá trị mAP trong quá trình huấn luyện mô hình 68

Hình 4.7 Giá trị mIoU trong quá trình huấn luyện mô hình 68

Hình 4.8 Kết quả thực nghiệm khả năng dự đoán của mô hình 70

Hình 4.9 Dự đoán của mô hình không được tốt ở các đoạn đường vào cua 71

Hình 4.10 Dựa đoán của mô hình không được tốt khi vào cua 71

Hình 4.11 Thực nghiệm chức năng né vật cản của xe 72

Hình 4.12 Khả năng né vật cản của xe tự hành 73

Hình 4.13 Xe tự hành khi đến giao lộ và cua 74

Hình 4.14 Xe tự hành khi đến giao lộ và đi thẳng 74

Hình 4.15 Xe tự dừng lại khi đã đến vị trí cần đến 75

Trang 19

DANH MỤC CÁC BẢNG

Bảng 3.1 Thông số kỹ thuật của xe Golf Ezgo 28

Bảng 3.2 Thông số kỹ thuật của động cơ Ezi Servo 30

Bảng 3.3 Thông số kỹ thuật của driver Ezi Driver 30

Bảng 3.4 Thông số kỹ thuật của Encoder loại đo tuyệt đối 32

Bảng 3.5 Thông số kỹ thuật của Devo 7 33

Bảng 3.6 Thông số kỹ thuật của RX-601 33

Bảng 3.7 Thông số kỹ thuật của Camera Astra 34

Bảng 3.8 Thông số kỹ thuật của Jetson TX2 35

Bảng 3.9 Thông số kỹ thuật của STM32 41

Trang 20

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Lý do chọn đề tài

Trong những năm gần đây, ngành công nghiệp ô tô đã có nhiều biến chuyển với sự xuất hiện của các xu hướng mới, nổi bật là xe tự hành Bằng việc được trang bị những tính năng ưu việt và bộ xử lý thông minh, xe tự hành có khả năng "cảm nhận" môi trường xung quanh và tự vận hành mà ít phải phụ thuộc vào sự can thiệp của con người Và để bắt kịp xu hướng toàn cầu, nền công nghiệp ô tô ở Việt Nam cũng đang nỗ lực nghiên cứu, áp dụng các công nghệ và thiết bị hiện đại

Hiện nay, khi mà thế giới bước vào cuộc cách mạng công nghiệp lần thứ 4, các công nghệ robot ngày càng được tích hợp rộng rãi trong nhiều lĩnh vực, và trong trường hợp của xe tự hành, sự kết hợp của các mô hình tiên tiến như điện toán biên, Internet of Things (IoT), và đặc biệt là Trí tuệ Nhân tạo (AI) đã mở ra nhiều khả năng mới Xe tự hành không chỉ thu thập dữ liệu từ cảm biến mà còn có khả năng quan sát, học hỏi từ kinh nghiệm và đưa ra quyết định tự động khi tham gia giao thông

Ứng dụng của xe tự hành không chỉ giải quyết vấn đề tai nạn giao thông mà còn mang lại nhiều lợi ích khác Dự kiến số lượng tai nạn giao thông sẽ giảm đến 90% khi thay thế lái xe bằng xe tự hành Đồng thời, sự phát triển của xe điện kết hợp với tính năng tự hành sẽ cải thiện môi trường và giảm tắc nghẽn giao thông, tiết kiệm nhiên liệu và giảm thiểu khí thải

Nhận thức về tầm quan trọng và xu hướng của xe tự hành, chúng em đã chọn đề tài “Nghiên cứu, thiết kế, chế tạo chức năng tự hành cho xe điện dựa trên Deep Learning” Với mục đích phát triển một mô hình xe tự hành chạy trong các khuôn viên rộng lớn như trường học, bệnh viện, khu du lịch,… mà trong đó người dùng chỉ cần lựa chọn điểm đến, thì xe có thể tìm và di chuyển một cách an toàn, tối ưu đến điểm đến của mình

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

- Thiết kế và triển khai mô hình máy học đa tác vụ lên các phần cứng Jetson Tx2 Kết nối với camera và đảm bảo có thể hoạt động với thời gian thực

- Thiết kế và chế tạo bộ điều khiển cho xe tự hành bằng STM32

- Thiết kế một ứng dụng android có thể tìm đường tối ưu, đường dự phòng trong khuông viên trường bằng thuật toán Dijkstra và đưa ra các chỉ dẫn rẻ hay đi thẳng cho xe tự hành

- Xây dựng thuật toán điều khiển góc lái cho xe dựa trên thuật toán điều khiển PID - Triển khai, hoàn thiện các hệ thống trên Xe Golf Ezgo và tiến hành thực nghiệm trong khuôn viên trường Đại học Sư phạm Kỹ Thuật Thành phố Hồ Chí Minh

Trang 21

1.3 Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu:

Ngôn ngữ Python, Java, C/C++ và các framework Pytorch, Tensorflow Mạng phân đoạn, phát hiện và nhận diện bối cảnh và vật thể

Mạng học đa tác vụ Xe Golf Ezgo

Thuật toán điều khiển PID và thuật toán tối ưu Dijkstra Thiết kế xây dựng ứng dụng android chỉ đường

1.4 Tình hình nghiên cứu

1.4.1 Tình hình nghiên cứu trong nước

Công nghệ xe tự lái trong nước đang có những bước phát triển tích cực và ngày càng đáp ứng tốt hơn với yêu cầu của ngành giao thông thế hệ mới Các doanh nghiệp Việt như FPT, Phenikaa-X và VinFast đã đưa ra những giải pháp tiên tiến, đặt nền móng cho sự phát triển của xe tự hành trong thị trường nội địa, chủ động tham gia vào cuộc cách mạng công nghiệp 4.0 và xu hướng phát triển xe tự hành trên thế giới

FPT đã thành công trong việc thử nghiệm công nghệ xe tự hành trên các loại xe thương mại 4 chỗ và xe điện sân golf tại khu công nghệ cao TP HCM và FPT Complex ở Đà Nẵng Đến năm 2019, xe tự hành của FPT đã được thử nghiệm tại khu đô thị Ecopark, mở ra khả năng đặt xe từ xa thông qua ứng dụng trên điện thoại do FPT Software phát triển

Trang 22

Phenikaa-X, vào tháng 5/2021, cũng giới thiệu mẫu xe tự hành đầu tiên của mình, với mục tiêu trở thành công ty công nghệ hàng đầu trong lĩnh vực xe tự hành và robot công nghiệp tại Việt Nam Mẫu xe của Phenikaa-X được trang bị công nghệ xe tự lái ở cấp độ 4, theo thang đo 5 cấp độ của Hiệp hội Kỹ sư xe hơi (SAE), nơi chiếc xe được coi là hoàn toàn tự động, cho phép người lái thoải mái nghỉ ngơi hoặc rời khỏi ghế lái trong khu vực nhất định

VinFast cũng là một đối thủ đáng chú ý, khi vào tháng 8/2021, họ đã thử nghiệm thành công mẫu xe tự hành cấp độ 4 có khả năng di chuyển với tốc độ tối đa 30 km/h VinFast đã tích hợp công nghệ tự lái vào các mẫu xe điện thông minh mới và sẽ triển khai trên các xe buýt điện trong thời gian sớm nhất, điều này là một bước quan trọng cho sự phát triển của ngành công nghiệp xe tự hành trong nước

Ngoài ra, sự gia tăng của các cuộc thi về xe tự hành cũng làm tăng cường môi trường cho việc phổ biến công nghệ này, đồng thời tạo điều kiện cho sự đổi mới và phát triển trong lĩnh vực xe tự hành, giúp nó ngày càng hoàn thiện và đáp ứng đúng xu hướng phát triển công nghệ toàn cầu trong lĩnh vực này

1.4.2 Tình hình nghiên cứu ngoài nước

Lĩnh vực xe tự hành đang phát triển mạnh mẽ trên toàn cầu với sự tham gia của nhiều công ty lớn như Uber, Tesla và Waymo (công ty xe tự lái của Google) tại Mỹ, cũng như Auto-X, Baidu, Pony.AI và Xpeng tại các quốc gia khác Uber, với công nghệ tầm nhìn 360 độ kết hợp giữa camera, radar và cảm biến khác, đang dẫn đầu với số lượng phương tiện trên đường Tesla sử dụng 8 camera, cảm biến siêu âm và radar để phát triển công nghệ xe tự hành của mình Waymo tập trung vào việc tạo ra người "tài xế ảo" giàu kinh nghiệm nhất thế giới với hàng triệu km trải nghiệm lái xe trong thực tế và hàng tỷ tình huống mô phỏng

Aptiv, thông qua giải pháp phần cứng và phần mềm cảm biến, đang đóng vai trò quan trọng trong việc triển khai các tính năng lái xe tự động như kiểm soát hành trình và công nghệ hỗ trợ giữ làn đường Aurora, tập trung vào phát triển công nghệ tự lái cấp độ

4 trợ lên

Và theo một nghiên cứu thị trường gần đây của New-Journal [1], thị trường xe tự hành được dự đoán sẽ tăng trưởng với tốc độ nhanh chóng trong những năm tới Quy mô thị trường dự kiến sẽ tăng thêm 319,41 tỷ USD, tăng tốc với tốc độ CAGR là 38,45% từ

Trang 23

năm 2022 đến năm 2027 Nhu cầu tự lái phương tiện ngày càng tăng để thúc đẩy thị trường xe tự lái Các nhà sản xuất lớn và các công ty công nghệ đều đang đầu tư vào lĩnh vực này

Tuy hiện tại vẫn còn nhiều hạn chế trong các thuật toán xử lý và các hạn chế về mặt pháp lí và đạo đức song đây vẫn là một trong những lĩnh vực đầy hấp dẫn và đáng mong đợi trong tương lai

1.5 Phương pháp nghiên cứu

- Tìm hiểu và tổng hợp những nghiên cứu về các mạng cho bài toán nhận diện và phân đoạn ứng dụng cho xe tự hành

- Tìm hiểu và tổng hợp những nghiên cứu về bài toán đa tác vụ - Nghiên cứu và thiết kế mô hình đa tác vụ ứng dụng cho xe tự hành - Viết chương trình cho hệ thống và huấn luyện mạng

- Nghiên cứu, xây dựng thuật toán điều khiển và thử nghiệm chúng trong các cuộc thi đua xe tự hành mô phỏng và thực tế với xe mô hình nhỏ

- Nghiên cứu, thiết kế bộ điều khiển cho xe tự hành

- Xây dựng và thử nghiệm tính chính xác của GPS cũng như là khả năng chỉ đường của ứng dụng

- Sử dụng các nguồn tài liệu khác từ Internet

Trang 24

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Tổng quan về trí tuệ nhân tạo

Trí tuệ nhân tạo (Artificial Intelligence - AI) là một lĩnh vực trong khoa học máy tính nhằm phát triển các hệ thống có khả năng thực hiện các nhiệm vụ yêu cầu sự hiểu biết, quyết định, và học hỏi mà thông thường đòi hỏi sự tham gia của con người Mục tiêu của trí tuệ nhân tạo là tạo ra máy tính hoặc hệ thống có khả năng tự động hóa công việc thông minh mà trước đây chỉ có con người mới có thể thực hiện được

2.1.1 Học máy (Machine Learning)

Học máy, hay Machine Learning (ML) trong tiếng Việt, thuộc lĩnh vực quan trọng của trí tuệ nhân tạo (AI), tập trung vào phát triển thuật toán và mô hình máy tính có khả năng tự học và cải thiện dựa trên dữ liệu xử lý Khác với cách truyền thống lập trình máy tính để thực hiện công việc cụ thể, học máy cho phép máy tính tự học từ dữ liệu và trải nghiệm để tự động cải thiện hiệu suất theo thời gian

Các phương pháp chính của học máy bao gồm:

- Học giám sát (Supervised Learning): Mô hình được đào tạo trên tập dữ liệu có đầu vào và đầu ra mong muốn Mục tiêu là học cách ánh xạ từ đầu vào đến đầu ra, giúp mô hình có thể dự đoán đầu ra cho các đầu vào mới

- Học không giám sát (Unsupervised Learning): Mô hình được đào tạo trên tập dữ liệu chỉ có đầu vào mà không có đầu ra mong muốn Mục tiêu của học không giám sát là khám phá cấu trúc hoặc mối quan hệ trong dữ liệu, như phân cụm hoặc giả định về cấu trúc ẩn

- Học tăng cường (Reinforcement Learning): Mô hình hoạt động trong một môi trường động và học từ trải nghiệm bằng cách thực hiện hành động và nhận phản hồi từ môi trường Mục tiêu là tối ưu hóa một hàm thưởng hoặc minh họa

Học máy có ứng dụng rộng rãi trong nhiều lĩnh vực như nhận dạng hình ảnh, xử lý ngôn ngữ tự nhiên, dự đoán chuỗi thời gian, tư vấn cá nhân, và nhiều lĩnh vực khác Phần lớn các vấn đề mà học máy giải quyết là các vấn đề phân loại và hồi quy, và sự lựa chọn giữa các phương pháp phụ thuộc vào bản chất của vấn đề và loại dữ liệu được sử dụng

Trang 25

2.1.2 Học sâu (Deep Learning) 2.1.2.1 Tổng quan

Học sâu là một nhánh của máy học, đặt ra khả năng cho máy tính tự huấn luyện để thực hiện các tác vụ phức tạp Phương pháp này hoạt động dựa trên cấu trúc của các mạng lưới thần kinh sâu, được thiết kế để mô phỏng cách con người suy nghĩ và học hỏi

Trong lĩnh vực học sâu, mạng Nơ-ron đóng một vai trò quan trọng trong nhiều thuật toán hiệu quả Điều này đã đóng góp quan trọng trong việc cho phép máy tính mô phỏng khả năng tư duy và hiểu biết giống như con người Cụ thể, một mạng Nơ-ron trong học sâu được xây dựng để sao chép chức năng của não bộ người, trong đó não bộ bao gồm các nơ-ron liên kết thông qua các synapse

Phương pháp trừu tượng hóa khái niệm này thành đồ thị, trong đó các nút đại diện cho các nơ-ron và các cạnh có trọng số đại diện cho các synapse Trong quá trình học sâu, mạng Nơ-ron này không chỉ giúp giải quyết những thách thức của thị giác máy tính, mà còn vượt qua những hạn chế của các phương pháp truyền thống trong việc nhận diện vật thể, nơi các đặc trưng có thể bị ảnh hưởng bởi nhiều yếu tố như góc nhìn, ánh sáng, và che khuất Học sâu đang được ứng dụng mạnh mẽ và ngày càng trở thành một công cụ quan trọng trong lĩnh vực thị giác máy tính

Hình 2.1 Hình ảnh mô phỏng của một tế bào thần kinh của con người

Dựa trên cấu trúc nói trên, một tế bào thần kinh nhân tạo thường hoạt động theo cách tương tự Trong hình dưới đây, mô tả một tế bào thần kinh nhân tạo, được mô hình

Trang 26

hóa toán học là một hàm tuyến tính kết hợp với một hàm kích hoạt (Activation function) Hàm kích hoạt chịu trách nhiệm biến đổi đầu ra của hàm tuyến tính, thường được áp dụng để nén giá trị trong khoảng từ 0 đến 1 (sigmoid activation), -1 đến 1 (tanh activation), hoặc lớn hơn 0 (ReLU) Ý tưởng của hàm kích hoạt là khám phá mối quan hệ phi tuyến tính giữa đầu vào và đầu ra Mỗi nơ-ron có thể được xem xét như một bộ phân loại tuyến tính, ví dụ như hồi quy logistic

Hình 2.2 Cấu trúc của một tế bào nhân tạo

Một số kiến trúc deep learning phổ biến bao gồm mạng nơ-ron đa tầng (Multilayer Perceptron - MLP) cho học giám sát, mạng nơ-ron hồi quy (Recurrent Neural Network - RNN) cho dữ liệu chuỗi, và mạng nơ-ron tích chập (Convolutional Neural Network - CNN) cho thị giác máy tính

2.1.2.2 Mạng Nơ-ron tích chập (Convolutional Neural Network)

Mạng thần kinh tích chập (CNN) là một kiến trúc học sâu được thiết kế đặc biệt cho xử lý dữ liệu hình ảnh, đạt hiệu suất cao Cách hoạt động của CNN được lấy cảm hứng từ cách vỏ não thị giác của động vật hoạt động Trong vỏ não thị giác, tế bào thần kinh thị giác phản ứng với kích thích thị giác trong một tiểu vùng của trường thị giác Các tế bào thần kinh khác nhau đảm nhiệm việc bao phủ các trường con khác nhau, tạo thành một sự chồng lớp để bao phủ toàn bộ trường thị giác Trong CNN, cách tiếp cận này được mô phỏng thông qua việc sử dụng các bộ lọc tương tác với tiểu vùng trong hình ảnh và truyền thông tin trong vùng đó

Trang 27

CNN bao gồm nhiều lớp lặp lại, mỗi lớp đảm nhận một chức năng cụ thể Lớp tích chập chịu trách nhiệm trích xuất các đặc trưng từ hình ảnh đầu vào bằng cách sử dụng bộ lọc tích chập Các lớp này nhận đầu vào từ hình ảnh và sản xuất đầu ra, chứa các đặc trưng được trích xuất, được chuyển giao đến lớp tiếp theo

Lớp tổng hợp giúp giảm kích thước của các đặc trưng bằng cách kết hợp nhiều đầu ra thành một đầu ra duy nhất Các phương pháp tổng hợp phổ biến bao gồm tổng hợp tối đa (lấy giá trị tối đa từ đầu ra) và tổng hợp trung bình (tính trung bình các đầu ra)

Sau một hoặc nhiều lớp tích chập và lớp tổng hợp, lớp kết nối đầy đủ được sử dụng để kết hợp và làm phẳng các đầu ra từ lớp trước đó, trước khi chúng được đưa vào lớp đầu ra để phân loại hình ảnh Điều này tạo ra một kiến trúc mạng thần kinh tích chập hiệu quả cho việc nhận diện và phân loại hình ảnh

Hình 2.3 Cấu trúc mạng CNN cơ bản

2.2.1.2.1 Lớp tích chập (Convolutional Layer)

Tích chập đóng vai trò quan trọng trong mô hình CNN bởi nó cho phép mô hình chia sẻ trọng số và học các đặc trưng từ dữ liệu Trong quá trình tích chập, các bộ lọc (filter) được trượt qua từng phần của hình ảnh để tạo ra các feature map Lớp tích chập được coi là phần quan trọng nhất của toàn bộ mạng CNN, thực hiện nhiệm vụ quan trọng trong quá trình tính toán Các yếu tố quan trọng trong lớp tích chập bao gồm padding, stride, feature map và filter map

Filter map: Trong mạng CNN, các filter được áp dụng lên các vùng của ma trận hình ảnh Các filter map là các ma trận 3 chiều, trong đó chứa các tham số được gọi là parameters Các tham số này được học từ dữ liệu và đóng vai trò quan trọng trong việc

Trang 28

trích xuất đặc trưng từ hình ảnh Các filter map giúp chúng ta nhận biết các đặc trưng quan trọng trong hình ảnh, làm nổi bật những thông tin quan trọng và giảm chiều của dữ liệu Điều này giúp tăng hiệu suất của mô hình CNN trong việc nhận diện và phân loại hình ảnh

Hình 2.4 Ảnh minh họa cho lớp tích chập, trong đó lớp màu vàng là Filer map

Stride: tức là dịch chuyển filter map theo từng pixel dựa vào các giá trị từ trái qua phải

Hình 2.5 Kết quả của Features map khi Stride bằng 1 và Stride bằng 2

Padding: Thường, giá trị viền xung quanh của ma trận hình ảnh sẽ được gán các giá trị 0 để có thể tiến hành nhân tích chập mà không làm giảm kích thước ma trận ảnh ban đầu

Feature map: Là kết quả sau khi đưa ảnh qua các lớp tích chập, mô hình có càng nhiều lớp tích chập thì các đặc trưng từ ảnh lấy được sẽ càng sâu và mang đậm thông tin ngữ nghĩa hơn

Trang 29

Hình 2.6 Padding

2.2.1.2.2 Lớp gộp (Pooling Layer)

Khi ma trận ảnh đầu vào có kích thước lớn, các lớp Pooling được đặt giữa các lớp Convolutional để giảm kích thước của dữ liệu và số lượng tham số, làm cho mô hình trở nên hiệu quả hơn Hiện tại, hai loại lớp Pooling phổ biến là Max Pooling và Average

Pooling

Max Pooling: Trong Max Pooling, với mỗi vùng không chồng lên nhau trên ma trận đầu vào, giá trị lớn nhất sẽ được chọn để đại diện cho vùng đó Các lớp Max Pooling

giữ lại thông tin quan trọng nhất từ mỗi vùng và loại bỏ các chi tiết không quan trọng

Average Pooling: Trong Average Pooling, giá trị trung bình của mỗi vùng không chồng lên nhau trên ma trận đầu vào được chọn Điều này giúp giảm kích thước của dữ

liệu và giảm độ phức tạp của mô hình mà vẫn giữ lại một lượng lớn thông tin

Cả hai loại Pooling đều giúp giảm kích thước của đầu ra từ lớp Convolutional, làm tăng tính hiệu quả và giảm độ phức tạp của mô hình Sự lựa chọn giữa Max Pooling và

Average Pooling thường tùy thuộc vào loại bài toán cụ thể và yêu cầu của dữ liệu

Trang 30

Hình 2.7 Pooling

2.2.1.2.3 Hàm kích hoạt (Activation function)

Hàm kích hoạt (activation function) là một thành phần quan trọng trong mạng ron, được áp dụng vào đầu ra của mỗi nơ-ron trong tầng ẩn của mô hình Nhiệm vụ chính của hàm kích hoạt là chuẩn hóa đầu ra của mỗi nơ-ron và tạo ra đầu vào cho tầng tiếp theo của mạng Dưới đây là một số hàm kích hoạt cơ bản:

nơ-Sigmoid Activation Function: Đưa giá trị đầu ra về khoảng (0, 1) và thường được sử dụng trong các tình huống cần ánh xạ đầu ra vào một phạm vi xác định, chẳng hạn như các tác vụ phân loại nhị phân

Softmax Activation Function: Chuyển đầu ra thành một phân phối xác suất, thích hợp cho tác vụ phân loại nhiều lớp Thường được sử dụng ở tầng đầu ra của mô hình phân loại nhiều lớp

ReLU (Rectified Linear Unit) Activation Function: Đưa ra giá trị 0 nếu đầu vào là âm, ngược lại trả về chính giá trị đầu vào nếu là dương Phổ biến và thường được sử dụng trong nhiều kiến trúc mô hình CNN và mạng nơ-ron sâu

Leaky ReLU Activation Function: Tương tự như ReLU, nhưng có một giá trị nhỏ khác 0 cho các đầu vào âm, giúp tránh tình trạng "neuron chết" khi đầu vào là âm

Trang 31

Các hàm kích hoạt này giúp mô hình nơ-ron học được các biểu diễn phức tạp và non-linear từ dữ liệu đầu vào, làm tăng khả năng của mạng trong việc học các mối quan hệ phức tạp Sự chọn lựa giữa các hàm kích hoạt thường phụ thuộc vào bài toán cụ thể và đặc điểm của dữ liệu

Hình 2.8 Một số hàm kích hoạt phổ biến

2.2.1.2.4 Lớp kết nối đầy đủ (Fully Connected Layer)

Lớp Fully Connected là phần quan trọng trong kiến trúc mạng thần kinh tích chập (CNN), có nhiệm vụ chuyển đổi thông tin đã được trích xuất từ lớp Convolutional và Pooling thành kết quả cuối cùng Sau khi các lớp Convolutional và Pooling đã xử lý ảnh đầu vào, lớp Fully Connected sẽ đưa ra kết quả cho mô hình, tạo thành một mô hình có

khả năng đọc thông tin từ ảnh

Trong lớp Fully Connected, mọi nút (neuron) trong lớp này kết nối với tất cả các nút trong lớp trước đó, tạo ra một kết nối đầy đủ Điều này giúp mô hình có khả năng học được các mối quan hệ phức tạp giữa các đặc trưng đã được trích xuất từ ảnh Các trọng số của các kết nối này được điều chỉnh trong quá trình huấn luyện mô hình để tối ưu hóa

hiệu suất của nó

Trang 32

Lớp Fully Connected là quan trọng để chúng ta có thể kết hợp thông tin từ các phần khác nhau của ảnh và tạo ra đầu ra cuối cùng của mô hình Điều này giúp mô hình

có khả năng phân loại hoặc dự đoán đối với ảnh đầu vào

Hình 2.9 Fully Connected Layer

2.1.2.3 Nhận diện vật thể (Object Detection)

Phát hiện đối tượng (Object Detection) được coi là một lĩnh vực quan trọng trong sự phát triển của học sâu (Deep Learning) và xử lý hình ảnh (Image Processing) Các mô hình phát hiện đối tượng thường được đào tạo để nhận diện và định vị sự hiện diện của các đối tượng cụ thể trong hình ảnh, video, hoặc thậm chí là trong thời gian thực

Trước khi có sự xuất hiện của phương pháp học sâu và công nghệ xử lý hình ảnh hiện đại, phát hiện đối tượng đã thu hút sự quan tâm lớn Các phương pháp truyền thống như SIFT và HOG, cùng với kỹ thuật trích xuất cạnh của vật thể, thường được áp dụng để thực hiện nhiệm vụ này

Với sự xuất hiện của mạng nơ-ron tích chập (CNN) và các tiến bộ trong lĩnh vực thị giác máy tính (Computer Vision), đã mở ra nhiều cách tiếp cận mới và thuật toán phát hiện đối tượng hiệu quả hơn Điều này giúp cải thiện đáng kể khả năng nhận diện và định vị các đối tượng trong ảnh và video, đồng thời mang lại sự linh hoạt và độ chính xác cao hơn trong các ứng dụng thực tế

Dựa vào cách hoạt động của mô hình mà các thuật toán phát hiện vật thể được chia là mạng One-Stage (một giai đoạn) và mạng Two-Stage (hai giai đoạn)

Trang 33

Với Two-Stage (R-CNN [2], Fast-RCNN [3],…): Giai đoạn đầu tiên là phát hiện vùng có chứa vật thể còn có thể gọi là vùng được quan tâm bằng cách sử dụng các mô hình đặc biệt như RPN, và dựa vào vùng chứa vật thể mô hình cố gắng phân loại và xác định vị trí của vật Điều này giúp mô hình đạt được độ chính xác cao nhưng thay vào đó thời gian đáp ứng của chúng lại rất chậm và không phù hợp trong các dự án thực tế

Với One-Stage (YOLO [4], SSD [5], Nanodet [6], ) Mạng này phát hiện vị trí và phân loại vật thể đồng thời YOLO chia ảnh đầu vào thành các lưới SxS thay vì các mạng RPN khác, điều này giúp tăng tốc độ phát hiện vật thể một cách đáng kể Tuy nhiên các mạng này quá nặng để cho các ứng dụng điện thoại hay các hệ thống nhúng và do đó hiện nay các phiên bản sau của YOLO nhẹ hơn như gần đây nhất là YOLOv8 [7], ngoài ra áp dụng thêm các kỹ thuật “nén model” như Quatization, Pruning, Thì việc triển khai trên các thiết bị nhúng không còn là vấn đề

2.2.1.4 Phân đoạn hình ảnh (Image Segmentation) [8]

Lớp bài toán Image Segmentation có nghĩa là phân đoạn hình ảnh, mục tiêu chính là chia một hình ảnh thành các vùng ảnh khác nhau Trong Image Segmentation, không chỉ phát hiện vùng ảnh chứa vật thể mà còn gán nhãn cho từng pixel cụ thể trong hình ảnh Điều này tạo ra một mức độ độ chính xác cao hơn so với bài toán Object Detection, nơi chỉ cần xác định vùng chứa vật thể và gán một nhãn tổng quát

Mục tiêu chính của Image Segmentation là phân biệt giữa các vùng ảnh khác nhau trong hình ảnh, thậm chí là tới mức pixel, nên đòi hỏi một độ chính xác cao trong quá trình dự đoán Cụ thể, mỗi pixel trong hình ảnh cần được gán một nhãn phù hợp, tạo ra một mô hình chi tiết và chính xác

Bài toán này thường được sử dụng trong nhiều ứng dụng thực tế như trong lĩnh vực y học (phân đoạn cơ quan trong hình chụp y khoa), tự động lái xe (phân biệt giữa đường và vỉa hè), và nhiều lĩnh vực khác nơi cần sự chi tiết cao trong việc hiểu cấu trúc của hình ảnh

Image Segmentation là một bài toán phức tạp hơn so với Object Detection do nó đòi hỏi độ chính xác tới từng pixel, mục tiêu là phân đoạn và gán nhãn cho mỗi vùng ảnh một cách chính xác và chi tiết

Trang 34

Hình 2.10 Sự khác nhau giữa Object detection và Image segmentation

Có 2 bài toán image segmentation chính:

Semantic segmentation: Chúng ta phân đoạn (segment) các vùng ảnh theo những nhãn khác nhau mà không phân biệt sự khác nhau giữa các đối tượng trong từng nhãn Ví dụ trong hình ảnh bên trái chúng ta phân biệt được pixel nào thuộc về người và pixel nào thuộc về background Tuy nhiên trong bức ảnh xuất hiện 5 người, mức độ phân chia sẽ không xác định từng pixel thuộc về người nào

Instance segmentation: Chúng ta phân đoạn các vùng ảnh chi tiết đến từng đối tượng trong mỗi nhãn Ví dụ: ở hình ảnh bên phải đối với nhãn người sẽ được phân chia chi tiết tới từng người 1, 2, … , 5

Trang 35

Image Segmentation có rất nhiều các ứng dụng trong y học, xe tự hành, xử lý ảnh vệ tinh

Y học: Trong lĩnh vực y học, thuật toán Image Segmentation đóng vai trò quan trọng trong việc hỗ trợ chuẩn đoán các khối u từ ảnh X-quang Không chỉ xác định vị trí của các khối u mà còn cung cấp thông tin về hình dạng của chúng, từ đó, giúp bác sĩ đưa ra quyết định chính xác về điều trị

Xe tự hành: Trong lĩnh vực xe tự hành, Image Segmentation đóng vai trò quan trọng trong việc nhận diện và phân loại các vật thể trong môi trường xung quanh Điều này giúp xe tự hành hiểu rõ hơn về môi trường di chuyển của mình và đưa ra quyết định an toàn và chính xác

Xử lý ảnh vệ tinh: Trong lĩnh vực xử lý ảnh vệ tinh, Image Segmentation giúp phân loại đối tượng trên bề mặt trái đất từ các hình ảnh thu được từ vệ tinh Điều này giúp tạo ra các bản đồ đa dạng và cung cấp thông tin quan trọng về địa lý và môi trường

Nông nghiệp: Trong nông nghiệp, Image Segmentation được áp dụng để phân biệt giữa khu vực cây trồng và cỏ dại Điều này hỗ trợ hệ thống tự động phun thuốc tập trung vào việc xử lý các khu vực cần thiết, giảm lượng thuốc trừ sâu được sử dụng

Cảnh báo cháy rừng: Trong việc giám sát cháy rừng, Image Segmentation giúp xác định chính xác vị trí và diện tích của các đám cháy từ các hình ảnh vệ tinh, từ đó cung cấp thông tin cần thiết để quản lý cháy rừng một cách hiệu quả

2.1.2.5 Mô hình đa tác vụ (Multitask learning)

Multitask learning là một phương pháp học máy sử dụng cùng một mô hình để học nhiều tác vụ khác nhau cùng một lúc Lợi thể chính của multitask learning là:

- Tiết kiệm tài nguyên: sử dụng một mô hình duy nhất cho nhiều tác vụ giúp tiết kiệm tài nguyên và chi phí hơn

- Tăng khả năng generalization: học nhiều tác vụ cùng một lúc giúp mô hình có khả năng generalization tốt hơn trong các tác vụ khác nhau

- Tăng độ chính xác: học nhiều tác vụ cùng một lúc giúp mô hình có thể học được thông tin chung giữa các tác vụ, do đó tăng độ chính xác trong các tác vụ khác nhau Tăng khả năng sử dụng thông tin: học nhiều tác vụ cùng một lúc giúp mô hình có thể sử dụng thông tin giữa các tác vụ để học tốt hơn

Trang 36

Mục tiêu của việc học đa tác vụ là nâng cao khả năng khái quát hóa của mô hình bằng cách tận dụng những thông tin chung cho các nhiệm vụ Thông qua việc chia sẻ tham số, mô hình có thể thu được sự biểu diễn dữ liệu nhỏ gọn và hiệu quả hơn

Trong học sâu, học đa tác vụ thường được triển khai bằng cách dùng chung một bộ trích xuất đặc trưng sau đó đưa đến một lớp fully connected khác, ở đây sẽ đưa chia ra các nhánh nhằm đáp ứng từng tác vụ khác nhau

Hình 2.12 Minh họa cho mô hình đa tác vụ

2.2 Xe tự hành 2.2.1 Khái niệm

Xe tự lái [11], hay còn gọi là xe tự hành (self-driving car), là loại xe có khả năng tự cảm nhận môi trường xung quanh và di chuyển an toàn mà ít hoặc không cần sự can thiệp của con người

Các xe tự lái tích hợp nhiều công nghệ cảm biến môi trường như radar, lidar, sonar, định vị GPS, và trí tuệ nhân tạo Hệ thống điều khiển cao cấp phân tích thông tin từ các cảm biến để xác định đường đi phù hợp, đồng thời nhận biết chướng ngại vật và biển báo giao thông

Hoạt động của xe tự lái dựa vào sự kết hợp của cảm biến, bộ điều khiển, thuật toán, máy học và bộ xử lý mạnh mẽ Một số công nghệ phổ biến trên xe tự lái bao gồm:

- Cảm biến radar: Theo dõi vị trí của các phương tiện xung quanh

Trang 37

- Camera video: Phát hiện đèn giao thông, đọc biển báo, theo dõi phương tiện khác và nhận diện người đi bộ

- Cảm biến LiDAR: Sử dụng xung ánh sáng để đo khoảng cách, phát hiện mép đường và xác định vạch kẻ đường

- Cảm biến siêu âm: Lắp đặt trong bánh xe để phát hiện lề đường và các phương tiện khi đỗ xe

Phần mềm của xe tự lái xử lý thông tin đầu vào để đề xuất một con đường và gửi hướng dẫn đến bộ điều khiển của xe để kiểm soát tốc độ, phanh và lái xe Các quy tắc giao thông được định rõ trong phần mềm, và các thuật toán tránh chướng ngại vật, mô hình dự đoán và nhận dạng đối tượng giúp xe tuân thủ quy tắc và tránh chướng ngại vật khi di chuyển trên đường

2.2.2 Các cấp độ của xe tự hành

Đến thời điểm hiện tại, thuật ngữ "xe tự lái" đã trở nên phổ biến trong ngành công nghiệp sản xuất ô tô Lĩnh vực xe tự hành đánh dấu sự xuất hiện của một phương tiện mới, và để áp dụng nó vào thực tế, cần thiết lập các quy chuẩn chung Hiệp hội Kỹ sư Ô tô (SAE), tổ chức chịu trách nhiệm phát triển quy định và tiêu chuẩn cho ngành công nghiệp ô tô toàn cầu, đã thiết lập một hệ thống phân loại gồm 6 cấp độ tự lái để xác định

mức độ tự chủ của phương tiện và người lái trong quá trình vận hành

Hệ thống phân loại 6 cấp độ của SAE bắt đầu từ Cấp độ 0, trong đó không có sự hỗ trợ nào từ phương tiện, và tiến lên đến Cấp độ 5, đại diện cho việc phương tiện tự chủ hoàn toàn mà không cần sự can thiệp của người ngồi sau vô-lăng Các cấp độ này giúp xác định và đánh giá mức độ tự động hóa và khả năng điều khiển tự động của xe, đồng

thời cung cấp hướng dẫn cho người tiêu dùng và các doanh nghiệp trong ngành ô tô

Trang 38

Hình 2.13 Các cấp độ của xe tự hành

2.2.3 Tiêu chuẩn an toàn của công nghệ xe tự lái

Đúng, việc đảm bảo an toàn là một yếu tố quan trọng và không thể phủ nhận trong phát triển và triển khai các công nghệ xe tự lái Dưới đây là một số tiêu chuẩn và yếu tố an toàn quan trọng mà những người làm trong lĩnh vực này cần xem xét:

- Tiêu chuẩn An toàn Phương tiện Cơ giới Liên bang (FMVSS): Các nhà sản xuất ô tô cần tuân thủ theo các tiêu chuẩn của FMVSS để đảm bảo rằng xe của họ đáp ứng các yêu cầu an toàn cơ bản Điều này bao gồm các yêu cầu về hệ thống phanh, an toàn bám đường, hệ thống túi khí, v.v

- Hệ thống Cảm biến và Nhận diện Đối tượng: Hệ thống cảm biến của xe tự lái phải có khả năng chính xác xác định và theo dõi các đối tượng xung quanh, bao gồm xe khác, người đi bộ, và cả cấu trúc đường

- Quyết định Tức thì: Hệ thống phần mềm điều khiển xe tự lái cần có khả năng đưa ra quyết định tức thì và phản ứng nhanh chóng với các tình huống giao thông khẩn cấp

- An toàn Mạng và Phần mềm: Việc đảm bảo an toàn của hệ thống trước mọi rủi ro về an ninh mạng là quan trọng Phần mềm điều khiển phải được thiết kế để ngăn chặn các tấn công và đảm bảo tính toàn vẹn của hệ thống

- Hướng dẫn và Giáo dục Người Dùng: Người lái và người sử dụng các hệ thống xe tự lái cần được cung cấp hướng dẫn rõ ràng và đầy đủ về cách sử dụng, và họ cũng cần phải hiểu rõ về các hạn chế của hệ thống

Trang 39

- Giám sát và Can thiệp của Người Lái: Ở các cấp độ thấp hơn của tự động hóa, việc giữ cho người lái giữ tinh thần giám sát và sẵn sàng can thiệp vào mọi lúc cần thiết là quan trọng để đảm bảo an toàn

Các tiêu chuẩn và yếu tố an toàn này là những điểm cơ bản mà ngành công nghiệp

đang nỗ lực đạt được để tạo ra các hệ thống xe tự lái an toàn và đáng tin cậy

2.3 Framework Pytorch và TensorRT

Pytorch [12] là framework được phát triển bởi Facebook Với sự đầu tư đáng kể vào lĩnh vực Trí tuệ Nhân tạo, Facebook đã giới thiệu PyTorch như một công cụ mạnh mẽ PyTorch là một dự án mã nguồn mở, điều này đã tạo ra một cộng đồng lớn quanh nó Cộng đồng lớn không chỉ cung cấp nhiều tài nguyên học, mà còn giúp giải quyết vấn đề của bạn thông qua việc chia sẻ thông tin và kiến thức

PyTorch, cùng với Tensorflow và Keras, là một trong những framework phổ biến nhất được sử dụng cho các bài toán Deep Learning hiện nay Trong lĩnh vực nghiên cứu, đa phần các tác giả đều ưa chuộng PyTorch để triển khai bài toán của họ PyTorch thể hiện sự ưu việt của mình trong lĩnh vực nghiên cứu bằng việc cung cấp khả năng debug và visualize dễ dàng Ngoài ra, với cơ chế Dynamic Graphs, PyTorch giúp giảm thời gian huấn luyện mô hình

PyTorch sử dụng Tensor làm kiểu dữ liệu chủ yếu Tensor là một mảng nhiều chiều với các phần tử có cùng loại dữ liệu Đặc biệt, Tensor có thể thực hiện tính toán trên GPU, giúp tăng tốc quá trình tính toán

Hình 2.14 Quy trình cơ bản của Pytorch gồm các module quan trọng và được kết nối với nhau qua từng giai đoạn

Trang 40

Các module quan trọng và cơ bản chúng tôi sẽ đề cập trong bài báo cáo này là torch.utils, torch.nn, torch.optim, torch.autograd

Về thư viện TensorRT, TensorRT là một thư viện được phát triển bởi NVIDIA nhằm cải thiện tốc độ inference, giảm độ trì truệ trên các thiết bị đồ họa NVIDIA(GPU) Nó có thể cải thiện tốc độ suy luận lên đến 2-4 lần so với các dịch vụ real-time và nhanh hơn gấp 30 lần so với hiệu suất của CPU

TensorRT [13] thực hiện 5 loại tối ưu để tăng hiệu suất bao gồm:

- Precision Calibration: Trong suốt quá trình training, các tham số và hàm kích

hoạt activations trong độ chính xác FP32(Float Point 32) sẽ được convert về độ chính xác FP16 hoặc INT8 Việc tối ưu nó sẽ giảm độ trì truệ và tăng tốc độ suy luận nhưng phải trả một cái giá là phải giảm độ chính xác của model mặc dù không đáng kể Trong nhận diện real-time thì đôi khi vịệt đánh đổi độ chính xác so với tốc độ suy luận là cần thiết

- Layer & Tensor Fusion: TensorRT nó sẽ gộp layer and tensor để tối ưu hóa bộ

nhớ GPU và băng thông bởi việc gộp các nodel theo chiều dọc, chiều ngang hoặc cả hai

- Kernel auto-tuning: Trong quá trình tối ưu model, một vài kernel riêng dành cho

việc tối ưu sẽ thực thi trong suốt tiến trình

- Dynamic Tensor Memory: Cho phép chỉ phân bổ bộ nhớ cần thiết cho mỗi tensor

và chỉ trong thời gian sử dụng của nó giúp giảm dung lượng bộ nhớ và cải thiện việc sử dụng lại bộ nhớ

- Multiple Stream Execution: Cho phép xử lý nhiều luồng đầu vào

Hình 2.15 Minh họa 5 loại tối ưu của thư viện TensorRT

Ngày đăng: 07/06/2024, 16:36

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w