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

Khóa luận tốt nghiệp Kỹ thuật máy tính: Triển khai các tác vụ nhận dạng và lập kế hoạch cho xe tự hành trên hệ thống đa máy tính nhúng

88 0 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

Thông tin cơ bản

Tiêu đề Triển khai các tác vụ nhận dạng và lập kế hoạch cho xe tự hành trên hệ thống đa máy tính nhúng
Tác giả Lý Hồng Phong
Người hướng dẫn THS. Phạm Minh Quân
Trường học Trường Đại học Công nghệ Thông tin
Chuyên ngành Kỹ thuật Máy tính
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2023
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 88
Dung lượng 47,41 MB

Nội dung

Trong quá trình học tap và rèn luyện tại trường, với sự dạy dỗ, chi bảo tận tình của quý thầy cô đã trang bị cho em những kiến thức về chuyên môn cũng như kỹ năng mềm, tạo cho em hành tr

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA KỸ THUẬT MÁY TÍNH

LÝ HÒNG PHONG

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

TRIEN KHAI CAC TÁC VỤ NHẬN DẠNG VA LAP KE HOẠCH CHO XE TU HANH TREN HE THONG DA

MAY TÍNH NHÚNG

Deploy autonomous vehicles perception and planning tasks on an

Embedded multi-computer system

KỸ SƯ NGANH KY THUAT MAY TÍNH

TP HO CHÍ MINH, 2023

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA KỸ THUẬT MÁY TÍNH

LÝ HÓNG PHONG -18520331

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

TRIEN KHAI CÁC TÁC VỤ NHAN DẠNG VÀ LAP KE HOẠCH CHO XE TU HANH TREN HE THONG DA

MAY TÍNH NHUNG

Deploy autonomous vehicles perception and planning tasks on an

Embedded multi-computer system

KỸ SU NGÀNH KY THUAT MAY TÍNH

GIANG VIEN HUONG DAN THS PHAM MINH QUAN

TP HO CHi MINH, 2023

Trang 3

THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ĐHCNTT ngày 15 tháng 02 năm 2023 của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

Trang 4

71/QD-LOI CAM ON

Dau tién, em xin gửi lời cảm on đến quý thầy cô trường Đại Học Công Nghệ Thông

Tin Trong quá trình học tap và rèn luyện tại trường, với sự dạy dỗ, chi bảo tận tình

của quý thầy cô đã trang bị cho em những kiến thức về chuyên môn cũng như kỹ năng mềm, tạo cho em hành trang vững chắc trong cuộc sống cũng như công việc sau

viên Chế Quang Huy, Nguyễn Văn Tín, Lê Đại Quốc và các sinh viên khác trong

CLB CEEC đã giúp đỡ em hiện thực hệ thống này lên được phương tiện thực tế.

Em cũng muốn cảm on tat cả các công ty và nhà phát triển cung cấp các dịch vụ miễn

phí cũng như các thư viện và dự án mã nguồn mở Không có những công cụ và thư viện nay khoá luận của em sẽ không thê hoàn thành được như bây giờ.

Cuối cùng, em xin cảm ơn đến gia đình, những người luôn dành những sự động viên đến em trong suốt quá trình thực hiện khóa luận.

Thành phó Hồ Chí Minh, tháng 01 năm 2023

Sinh viên thực hiện

Lý Hồng Phong

Trang 5

MỤC LỤC

Chương 1 TONG QUAN ĐÊ TÀI 22-22222+22222E22E22EEEE2EEEcrrrrkrcree 1

1.1 Giới HhiQU oe eee ec eeseesnesneseesesseeseesessessssesesseesessessnseneeseeseesessneenes 1

1.2 Tình hình hành công nghiệp Automotive eee +=++++x+xe++ 2

1.2.1 Tình hình nghiên cứu trên thế giới .-c-: -22ccvvcccce+rcrree 4

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

1.3 Mục tiêu để tài Hee 6

1.4 Phương pháp thực hiỆn - - ¿<6 S2 SE HH rưy 7

1.5 Nội dung báo cáo -c<ccẶS SH 8

Chương 2 CƠ SỞ LÝ THUYET DE TÀI -c¿¿522222c+2cvxszrvrrvecree 9

2.1 Stream Socket và Datagram SOCK€K - 6-6 SEvskeekrrerrreree 9

2.1.1 Sooke là DẤU ấn TỐ ẾT oĂeieieiecieee 9

2.2.3 Mô hình Pub/Sub - - tt HH Hước 4

2.3 Kiến trúc Entity Components System -ccc+++22vcvxe+ 4

2.4 Kinematic Bicycle model

2.5 TensorRT [22] ccccccccssscesessesesssseeseseesescsesecsessesecseeesseeesessesesseeeeseeaeeees 7

2.6 Mô hình YOLOPP 1S S221 TH HH Hi 9

Trang 6

2.6.1 Kiến trúc 2c tt E2 ST S111 1E1E151111111 1511 SEEErrrree 19

2.6.2 Bộ mã hoOá - G2 KH TH TH HH HH nh ng 20 2.6.3 BỘ giải mã HH HH TH TH TH HH HH nh ng 20

2.6.4 Ham độ lỗi và phương pháp huấn luyện . : : 21

">n‹.n :.ô': ÔỎ 22 2.7 tivi ẰẰẰ 22

Chương 3 GIẢI PHÁP ĐỀ XUẤTT 2° E+EE+EE£EE+EEEEEEeEEerkerkerxres 24 3.1 Thiết kế kiến trúc hệ thống - 2 2 ++E++EE£+E++EE+EEeEEzEEerxerxerxee 24 3.2 Cơ chế giao tiếp trong MULTI-COMP -2- 2 sccc+z+zerxersee 25 3.2.1 Thiết kế cơ chế truyền tensor sử dung Stream Sockets 26

3.2.2 Sử dụng MQTT trong điều phối hệ thống -: 5252 28 3.2.3 Giao tiếp giữa Node Master Controller với Node Vehicles 29

3.3 Thiết kế kiến trúc phần mềm - - 2 + + ££+E£+E£+E£+E+£E+EE+EEzrsvez 31 3.3.1 Thiết kế Node Backbone chạy Pipelines trên mô hình ECS 31

3.3.1.1 SySfem SH HH T HH HH HH HH HH 32 3.3.1.2 COImPOTH( G1 1E 1* KH ng, 34 “ha 35

3.3.2 Thiết kế Node Segment chạy pipeline trên mô hình ECS 36

“` e 37

3.3.3 Thiết kế node Master Controller trong hệ thống - 38

3.3.3.1 Car Controller SySf€m cv HknH grg 40 3.3.3.2 MỘT Controller Šysfem c5 + SSs+ssseereseeeesere 41

3.4 Thiết kế giải thuật điều khiển Ultra-Fast Control 5-2 s2 43

Trang 7

3.4.1 Phương pháp tìm kiếm lộ trình di chuyỀn -. - 5: 5552 5+ 45

3.4.2 Phương pháp Ultra-Fast Control - -++-s + ssscxseseersserssss 49

3.5 Thiết kế hệ thống phần cứng -2- 2+++£+£++E++EEerE++Eezrxerxerxee 55

Chương 4 Kết quả thực hiện -2-©2¿©+¿22++2E+£EE+2EE+2EEeEErerkesrxerrrees 59

4.1 Kết quả tốc độ xử lý và độ trễ hệ thống . ¿ + ¿+cx+cz+sc+z 59

4.1.1 Tốc độ truyền TensOr -¿ 2¿+¿©++2+++x+2E++rx+zrxezrxrrresres 594.1.2 Tốc độ xử lý Node Backbone cececcscceccssessessessessessesessessessessessesseaes 62

4.1.3 Tốc độ xử lý Node Segment cececccccesscesessessesstesessesseessesesseesees 63

4.2 Điện năng tiêu thỤ - G Sc 1x11 TH TH HH TH ng Hy 64

4.3 Kết quả giải thuật điều khiển trên môi trường mô phỏng 65

44 Kết quả chạy hệ thống trên phương tiện thực TẾ TH TH ng crey 67Chương 5 KET LUẬN 2© SE SE 2112121111111 ce, 70

5.1 Kết 801;85:-108010002220 705.2 Ưu điểm và nhược điểm của đề tài -2- 5+ ©5225z+cxecxvxsrxerxersee 70

5.2.1 Ưuđiểm -2c 2c 222 E221 2112112121211 1E cEEcrree 705.2.2 Nhược điỂm +2+2t2E2E1EEEE2121122171 112111 1x 70

5.3 Kho khan gap phat ccc 71

5.4 Hướng phát triển đề tai cccseseseescssesscssesscssessesesestssessessesneaee 71

Trang 8

DANH MỤC HÌNH

Hình 1.1: Sơ đồ luồng dữ liệu trong điều khiển xe tự hành -2- 5-2 252 3Hình 1.2: Hình ảnh từ phần mềm đội MIT trong cuộc thi DARPA Urban Challenge

— 5

Hình 1.3: Mini bus tự hành cấp độ 4 thuộc tập đoàn Phenikaa - 6

Hình 2.1: Mô hình OSI [ 13] - c6 2222133121 E51351 1511511111 111.1 111 kg rưy 9

Hình 2.2: Cau trúc Stream Socket +- + + +x+E+EE+EEtEEEEEEEEEEEEEErrkrrkerkrres 10Hình 2.3: Cau trúc Datagram Socket - 2© ++2£+EE£EEtEE2EEEEEEEECEErrkerkerkrree 11Hình 2.4: Kiến trúc thành phần MQTT ¿2 2 E+EE+EE2EE+EE£E£EerEerkerxrrexee 13Hình 2.5: Chuyên mô hình xe 4 bánh về 2 bánh 2 2 22+ +x+£++z++zs2s+2 l6

Hình 2.6: Kinematic bicycle model của phương tIỆn - 55-5 +5<*>+<<++ss2 17

Hình 2.7: Ứng dụng của TensorR'T -: s- 2¿22+++++£x++EE+2Ex2EEerxeerxezrxerrecree 18Hình 2.8: Kiến trúc mô hình YOLOP [27] -2- 2 252 ££££2££+E+Ee£EeExerxzrszxe2 20Hình 2.9: Các thuật toán tối ưu eng-to-end so với thuật toán xen kẽ 21

Hình 2.10: Phương pháp Quantization trong ứng dụng giảm kích thước mô hình 22

Hình 3.1: Sơ đồ luồng đữ liệu trong mô hình YOLOP từ lúc nhận ảnh tới khi ra được

[00 - 4 24

Hình 3.2: Tổng quan hệ thống MULTI-COMP - 2-2 2 2+E££xe£Ee£xerxzrszxez 25

Hình 3.3: Giao thức truyền nhận Tensor thông qua Socket 2- 5 s2 s2 26

Hình 3.4: Mô tả khung truyền và nhận Tensor data từ Server tới Client 27Hình 3.5: Sơ đồ kết nối các Topic trong hệ thống 2-2 +2z+s+z++zxzsz 28Hình 3.6: Kiến trúc phần mềm của Backbone Nodđe 2-2 ¿55 s2 s+£s2 5+2 32Hình 3.7: Các System chạy độc lập trên từng thread và chuyên đữ liệu qua các Queue

Trang 9

Hình 3.8: Thành phan cấu trúc lên các Component trong Node - 34Hình 3.9: Kiến trúc phần mềm của Segment Node 2-2 2 2 se +x+£x£+£+2 +2 36Hình 3.10: Các System chạy độc lập trên từng thread và chuyên dữ liệu qua các Queue

trong Note S€BðIm€TIE - - G2 1n TH TH TH HH nh 38

Hình 3.11: Kiến trúc phần mềm của Master Controller Node -: 39

Hình 3.12: Các System chạy song song trên các Thread riêng biệt trong Node Master

Controller oo eee 40

Hình 3.13: Một số sự kiện đọc ban phím tiêu biéu của Car Controller System 40

Hình 3.14: Các sự kiện được xử lý trong MQTT Controller System trong Node Master

09/4011 42

Hình 3.15: Ví dụ về việc tính toán lộ trình cho phương tiện trên Simulink 44

Hình 3.16: Lộ trình của phương tiện trên các đoạn đường cong nhẹ 45

Hình 3.17: Kết quả quá trình biến đổi hình thái học - 2 2 2 s2 s2 sz£s2 5+2 46Hình 3.18: Tìm lộ trình dựa trên các điểm trọng tâm làn đường 47Hình 3.19: Biểu dién các điểm trung tâm làn đường trên hệ trục của Opencv 48

Hình 3.20: Các điểm trung tâm làn đường sau khi được biến đổi không gian toa độ

Hình 3.21: Quỹ đạo di chuyên dựa trên Bicycle Model trong 2s - 50Hình 3.22: Quỹ đạo di chuyền thay đổi theo góc [-20, 20] với vận tốc 5km/h trong

Trang 10

Hình 3.26: Bộ chia mang Switch TPLink 5 TL-SG105 5 555 S<<++<<++ss+ 56

Hình 3.27: Hoàn thiện thiết kế của hệ thống MULTI-COMP 2-52 58

Hình 4.1: Tốc độ truyền tải trung bình trong 10s giữa 2 node với kích thước gói tintăng dan (1kb — 1OOkb), - ¿2E SE+SE+EE+EE2EE2EE2EEEEEEEEEEEEEEE12121121121 7111111 xe 59

Hình 4.2: Tốc độ truyền tải trung bình trong 10s giữa 2 node với kích thước gói tin

Hình 4.3: Truyền Tensor song SOng cccccccsssssessesessesesessessessesscsscssssecscsessessessessease 61

Hình 4.4: Xe mô phỏng đánh lái trên đường cong csSc se s+sseersserees 65

Hình 4.5: Xe mô phỏng khi di chuyển trên cầu 2-2 2 52£2+£s+£xerxcrsz 66Hình 4.6: Xe mô phỏng mất lái khi vào cua lớn nhưng van quay trở lại được 1an 66Hình 4.7: Tổng điểm phần mềm mô phỏng chấm -2- 2 2 2 52 £E£E2£++££2 5+2 67Hình 4.8: (a) Anh góc, (b) Anh Segment, (c) Sau khi tính góc lái 68Hình 4.9: Hệ thống MULTI-COMP được lắp đặt lên xe golf - 69

Trang 11

DANH MUC BANG

Định dạng khung dữ liệu - 5c 222132332 EEEesrreresrrrsrrres 29

Chi tiết nội dung khung truyên ¿2-55 5SSE£SE+E£2E££E££EerEerxersrree 30

Các thông số khung truyễn -2- 2-22 2+E£EE£EE£2EE2EEEEEEEEEEEErrxrrkerreee 30

Thông số kỹ thuật máy tính nhúng Jetson Tx2 ¿5c 5z s2 522 55Thông số kỹ thuật máy tính nhúng Raspberry Pi B3+ 55Thông số kỹ thuật TL-SG lO5 -¿- ¿2£ ESE+EE+E£+E£2E££E££EeEEerxerszxee 56Thống kê tốc độ truyền Tensor trong hệ thống - 5-52 52 61

Kết quả đo tốc độ thực hiện trung bình của Backbone trên Jetson Tx2 62

Thời gian xử lý cua từng System trong Note Backbone 63

Kết quả đo tốc độ thực hiện trung bình của Segment trên Jetson Tx2 63

Thời gian xử lý của từng System trong Node Segment - 64

Thống kê điện năng tiêu thu của mô hình -2- 2 2 52 s2 =s+£s2 5+2 64

Trang 12

DANH MỤC TỪ VIET TAT

AI Artificial Intelligent

DOD Data Driented Design

ECS Entity Components System

I2C Inter-Integrated Circuit

IoT Internet of Things

LAN Local area network

MPC Model Predictive Control

MỌTT Message Queuing Telemetry Transport

OOP Object-oriented programming

OSI Open Systems Interconnection

SAE Society of Automotive Engineers

TCP Transmission Control Protocol

UDP User Datagram Protocol

YOLOP | You Only Look One for Panoptic Perception

Trang 13

TÓM TẮT

Dé tai “TRIEN KHAI CÁC TÁC VỤ NHẬN DẠNG VÀ LẬP KE HOẠCH

CHO XE TỰ HANH TREN HE THONG DA MAY TÍNH NHÚNG còn được gọi làMULTI-COMP” do nhóm nghiên cứu phát triển, dé tài sử dụng ba máy tính nhúngbao gồm hai máy tính Jetson Tx2 và một máy tính Raspberry Pi kết nối với nhautrong mạng LAN dé xử lý các tác vụ Nhận dang và Lập lịch trong điều khiển xe tự

hành Tác vụ nhận diện sử dụng mô hình YOLOP được chia cho 2 máy tính Jetson

Tx2 thực hiện và tác vụ Lap lịch va điều khiến sử dụng giải thuật Ultra-Fast Control

do nhóm tự phát triển được chạy trên máy tính Raspberry Pi Hệ thống được thửnghiệm trên môi trường mô phỏng và cả trên phương tiện thực tế trên các đoạn đường

trong trường Đại học Công nghệ Thông tin.

Trang 14

Chương 1 TONG QUAN DE TÀI

1.1 Giới thiệu

Công nghệ đang cải tiễn từng ngày với 2 xu hướng công nghệ chủ đạo là Trí tuệnhân tạo (AI) và Kết nối van vật (IoT), nó đã thay đôi hầu hết mọi mặt đời sống củachúng ta từ cách ta trò chuyện với nhau, mua sắm thường nhật hay di chuyền giữacác địa điểm Nếu chỉ cần xét tới mảng công nghệ trong vận chuyền hàng hóa, đi lại

cá nhân thì cũng đã làm cho chúng ta choáng ngợp với sự xuất hiện của hàng tá nhữnggiải pháp công nghệ mới, điển hình là sự xuất hiện của Xe tự hành (Autonomous

Vehicles).

Trước kia, ta chỉ có thé nhìn thấy những chiếc xe bus tự động đưa đón khách,những con robot giao hàng trong các bộ phim khoa học viễn tưởng về tương lai

Nhưng hiện tại, tương lai đó đang ở nơi đây, khi mà các công ty công nghệ lớn như

Amazon, Tesla, Google, dang tung ra thị trường hàng loạt các sản phẩm “đỉnh caocông nghệ” trong mảng xe tự hành và lĩnh vực vận chuyền hàng hoá trong nhà kho,tạo ra một xu thé phát trién công nghệ trên toàn cầu Sự bùng né của công nghệ nàylại làm cho các công nghệ phụ trợ xoay quanh nó cũng phát triển theo Họ sản xuất

ra các cảm biến như lidar, radar phù hợp dé lap đặt trên xe tu hành, những bộ camera

chuyên dụng hay như NVIDIA, họ tung ra những nền tảng AI, những bộ xử lý trung

tâm dành riêng cho các tổ chức muốn nghiên cứu về xe tự hành và đang cần một phần

cứng đủ mạnh mẽ [1].

Đánh đổi lại với sức mạnh lớn của các platform này lại là giá thành và chi phí nănglượng Tuy nó cung cấp cho người dùng con đường ngăn nhất dé tự phát triển mộtsản phẩm liên quan đến “Tự hành” nhưng mức chỉ phí phải bỏ ra là quá sức đối vớicác tô chức nghiên cứu nhỏ lẻ như các phòng nghiên cứu trong các trường đại học

Vi vậy, chúng ta cần một giải pháp tiết kiệm chi phí hơn, tiết kiệm năng lượng hơn,

có tính linh động cao hơn và phù hợp với quy mô sản phẩm mà các nhóm nghiên này

hướng tới.

Trang 15

Do cũng là thành viên trong một nhóm nghiên cứu phát triển xe tự hành trongtrường, chúng em hiểu được những giới hạn về phần cứng khi giải quyết nhiều bài

toàn AI cùng lúc Chủ yếu nhóm chỉ đang phát triển giải thuật điều khiển cho mô hình

xe tự hành tự thiết kế trên các board máy tính nhúng như Jetson Nano, Jetson Tx2.Khi tiễn tới phát triển trên xe thật, đòi hỏi lượng tính toán thông tín lớn hơn thì nhữngchiếc máy tính nhúng này lại không đạt được hiệu quả cao khi hoạt động riêng lẻ,

chính vì vậy nhóm chúng em bắt đầu nghiên cứu cách thức kết hợp nhiều máy tính

nhúng lại, cùng nhau xử lý dữ liệu và tính toán đường đi cho xe Nghiên cứu này vừa

tận dụng được những board đang có sẵn của nhóm, tăng tốc được khả năng xử lý của

xe khi những tác vụ cần thiết được phân ra cho từng board xử lý Và từ giờ, nhóm sẽđặt tên hệ thống này bằng tên MULTI-COMP

1.2 Tình hình hành công nghiệp Automotive

Khởi nguyên của cuộc chạy đua công nghệ này được bắt nguồn từ cuộc thi DARPA

Challenge từ những năm 2004, rồi được đổi tên thành DARPA Urban Challenge [2]vào năm 2007 với những thử thách chạy xe trong môi trường đô thị Từ đó, rất nhiềucuộc thi về xe tự hành đã được tổ chức và được nhiều phòng nghiên cứu và nhà sảnxuất đầu tư phát triển các hệ thống tự hành thêm vào những chiếc xe trên thị trường

Ví dụ như Waymo, được phát triển bởi Google, trước đó đã sử dụng những chiếc xe

như Toyota Prius, Fiat Chrysler Pacifica, Audi TT va Lexus RX450h dé lắp đặt lênchúng hệ thống tự hành thử nghiệm, nhưng hiện tại họ đã đưa hệ thống này trên nhữngchiếc xe riêng của mình

Kha năng tự hành của một loại xe được chia làm 5 cấp độ, dựa theo hệ thống doSAE International (SAE J3016) phát triển

s* Các cấp độ SAE có thé được biết đến như sau: [3]

- Level 0 (Không hỗ trợ - No automation): Người lái tự điều khiến tay lái,

phanh, tăng tốc và tự phản ứng với môi trường giao thông xung quanh

Trang 16

- Level 1 (Hỗ trợ người lái - Driver Assistance): Trong những điều kiện cố

định, chiếc xe có thé tự điều khiển tay lái hoặc tốc độ nhưng không thể đồng

thời điều khiển cả hai

- Level 2 (Hỗ trợ từng phần — Partial Automation): Chiếc xe có thé tự điều

khiến tay lái, tăng tốc, phanh ở trong những trường hợp nhất định

- Level 3 (Tự động hóa có điều kiện — Conditional Automation): Ở trong

điều kiện phù hợp, chiếc xe có thể tự thực hiện hầu hết các tác vụ trong điềukhiển xe, bao gồm cả giám sát môi trường xung quanh Hệ thống sẽ nhắc nhởngười lái can thiệp khi gặp tình huống mà nó không thể xử lý

- Level 4 (Tự động hóa cao — High Automation): Chiếc xe có thé hoạt động

mà không cần sự tham gia hoặc sự giám sát của con người ở trong những môi

trường hoặc loại đường đã được khảo sát.

- Level 5 (Tự động hoàn toàn): Chiếc xe có thé tự vận hành trên bat cứ loại

đường hay môi trường mà không cân có sự giám sát của con người.

Từ level 3 trở đi, nhiệm vụ di chuyên trên đường đã được chiéc xe kiêm soát gan

như hoàn toàn với sự giám sát hoặc không có giám sát của con người Kiên trúc luông

dữ liệu từ các sensor đên điêu khiên xe được phát triên theo kiên trúc chung như trong

Hình 1.1

Hình 1.1: Sơ đồ luồng đữ liệu trong điều khiển xe tự hành

- Perception: Có nhiệm vụ thu nhận thông tin từ các sensor, nhận biết làn

đường, biển báo, vật cản xung quanh xe

- Localization: Sử dụng những thông tin phát hiện được ở lớp trên để dự đoán

vị trí và tình trạng hiện tại của xe trong môi trường.

Trang 17

- Planning: Khi đã xác định được vị trí và môi trường xung quanh ta sẽ chuyên

đến lớp planning, có nhiệm vụ tính toán lộ trình di chuyên sắp tới Lớp nàycho ra 2 loại kết quả là: lộ trình ngắn hạn và lộ trình dài hạn, mục đích cuốicùng vẫn là đưa ra lối đi an toàn nhất dé xe đến được điểm chỉ định

- Control: Lớp này có nhiệm vụ điều khiến xe theo lộ trình đã được thiết lập ở

lớp trên.

1.2.1 Tinh hình nghiên cứu trên thế giới

Sau khi cuộc th DARPA Urban Challenge được tô chức vào năm 2007 kết thúc,rất nhiều bài báo của các nhóm tham gia thử thách này được công bồ rộng rãi chocộng đồng học thuật trên thế giới Những chiếc xe tham gia thử thách này được cácđội tham gia thiết kế, cải tiến lại từ những chiếc xe hơi đang có sẵn trên thị trường

lúc đó Ví dụ như đội thi từ trường đại hoc MIT đã chon chiếc Land Rover LR3 và

lắp đặt lên đó những thiết bị trong hệ thống tự lái của họ [4] Hệ thống tự lái của MITđược đề cập trong [4] va [5] được trang bi gom 5 camera, 7 lidar 180°, radar dat xungquanh xe va tất cả đều được xử lý tại bộ 10 chiếc máy tính 4 nhân, kết nối với nhau

thông qua Ethernet.

Trang 18

Hình 1.2: Hình anh từ phần mềm đội MIT trong cuộc thi DARPA Urban Challenge [5]

Đối với những nhóm nghiên cứu nhỏ khác, ho chọn cách thiết kế hệ thống tự hành

của mình trên những chiếc xe mô hình nhỏ và sử dụng mô phỏng đề phát triển giải

thuật [6] Tiếp sau đó là các nghiên cứu đưa công nghệ tự hành lên những chiếc xe

điện giống trong bài báo của H Hafez và các cộng sự [7], họ đã tự phát triển hệ thống

của mình trên chiếc xe golf 14 chỗ chạy bằng điện, với phần cứng trước đó có cấp độ

tự hành là 0 (theo SAE), thành một chiếc xe tự hành đạt được cấp độ tự hành là 3

bằng cách thay đôi về phần trợ lực cho bánh lái, hệ thống phanh điện và các cảm biến

liên quan đặt xung quanh xe Công nghệ tự hành không những xuất hiện trong ngành

công nghiệp ô tô mà còn len lỏi vào những bài giảng ở các trường đại học chỉ sau hơn

15 năm bùng nổ, dan biến nó trở thành một mảng nghiên cứu vững chắc trong hiện

tại và tương lai.

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

Mang nghiên cứu về xe tự hành bao gồm phần mềm va phần cứng phụ trợ cũng

được phát triển mạnh tại Việt Nam trong những năm gần đây nhưng vẫn còn khá mới

Trang 19

mẻ Nhiều công ty tại đây đã bắt đầu đầu tư vào đội ngũ nghiên cứu của họ hoặc các

trường đại học đề ra được những sản phẩm đầu tiên trong mảng nghiên cứu này

Như phía tập đoàn FPT tổ chức cuộc thi về xe tự hành “Cuộc đua số” [8] để khởinguồn đam mê nghiên cứu về công nghệ tự hành trong các trường đại học Một công

ty sản xuất xe hơi non trẻ như VinFast hiện dang dau tư rất mạnh vào mục tiêu dao

tạo những kỹ sư tài năng trong mang tự hành này và gan đây họ đã đưa ra được thành

quả đầu tiên của mình là một sản phẩm đạt được cấp độ tự hành 4 (thang đo SAE)

đang chạy thử nghiệm tại các khu nghiên cứu của VinBigdata [9].

Còn về sản phẩm thương mại thì hiện tại chỉ có Mini bus tự hành của công ty

Phenikaa-X thuộc tập đoàn Phenikaa [10], [11] là đang được thương mại hóa trên thị

trường với khả năng tự hành theo nhà sản xuất đưa ra thuộc cấp độ 4, hiện đang hoạt

động tại các khu Resort hợp tác với họ.

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

Đề tài “TRIEN KHAI CÁC TAC VU NHAN DẠNG VA LAP KE HOẠCH

CHO XE TU HANH TREN HE THONG DA MAY TÍNH NHÚNG” của nhóm

Trang 20

sẽ hướng tới xây dựng một nền tang phần cứng lẫn phần mềm cho xe tự hành với chi

phí thấp, dé thay đổi và dé lắp đặt Những dòng máy tính nhúng tầm trung bình — yếu

như Jetson Tx2 hay Jetson Nano đều cảm thấy đuối sức khi một mình vận hành cả một

khối lượng công việc khống 16 để điều khiển một chiếc xe chạy được trongmôi trường thực tế, nhưng khi ta kết hợp nhiều chiếc máy tính này lại với nhau vàchia công việc cụ thé cho từng máy thực hiện thì việc vận hành này sẽ không còn là

bài toán khó, tưởng chừng chỉ có thê giải quyết được khi chạy trên những dòng máy

cực mạnh như Jetson Orin nx hay các dòng Full Self-Driving Chip — Tesla mới có

thê lam được Mục tiêu cụ thé của dé tài như sau:

- Có khả năng kết nối và chia sẻ dữ liệu tính toán giữa các máy tính trong hệ

thống thông qua mang LAN với độ sai lệch dữ liệu < 10%

- Hé thống dé dàng lắp đặt trên phương tiện mới và dé thao tác khi sử dụng

- Hệ thống tự động thực hiện các tác vụ nhận dạng làn đường dang di va tính

toán lộ trình di chuyền ngắn hạn bao gồm: Góc lái cần đánh và tốc độ cần đạt

tại thời điểm đó Từng tác vụ nhận dang, tính toán lộ trình, điều khiển, được

chia ra xử lý độc lập trên nhiều máy tính nhúng

- Phuong tiện lap hệ thong có khả năng tự vận hành với kịch ban: di chuyển

trên đường thang, di chuyên trên đường cong nhẹ

1.4 Phương pháp thực hiện

Đề tài tập trung vào việc phát triển phương thức giao tiếp hiệu quả giữa các máy

tính nhúng sao cho tốc độ chia sẻ đạt cao nhất nhưng độ mat mát dữ liệu không được

quá lớn Các tác vụ liên quan đến nhận dạng và lập kế hoạch sẽ được nhóm sử dụng

lại những nghiên cứu có mã nguồn mở được chia sẻ trên Internet Ngoài ra, hệ thống

sẽ phải qua hai giai đoạn thử nghiệm gồm: thử nghiệm trên phần mềm mô phỏng xe

tự hành đo chính nhóm phát triển và thử nghiệm trên phương tiện thực tế - xe golf

chạy điện.

Trang 21

1.5 Nội dung báo cáo

Nội dung đề tài bao gồm 5 Chương:

Chương 1: Tổng quan đề tàiChương 2: Cơ sở lý thuyết đề tài

Chương 3: Nội dung thực hiện

Chương 4: Kết quả thực hiện

Chương 5: Kết luận

Trang 22

Chương 2 CƠ SỞ LÝ THUYET DE TÀI

2.1 Stream Socket và Datagram Socket

2.1.1 Socket là gi?

Socket là giao diện lập trình ứng dụng mạng được dùng dé truyén và nhận dữ liệu

trên Internet Giữa hai chương trình chạy trên mạng cần có một liên kết giao tiếp haichiều, hay còn gọi là two-way communication dé kết nối 2 process trò chuyện với

nhau Điểm cuối (endpoint) của liên kết này được gọi là Socket [12]

Socket hoạt động trên cả giao thức TCP và UDP và được định nghĩa bằng công

thức ( 2.1), với Portnumber ở đây chính là Port logic của máy tính (16 bits = 65535 ports).

Socket = IP Address + Portnumber (2.1)

Data Link =—— Data Link Layer

Physical Layer — Physical

Hình 2.1: Mô hình OSI [13]

Có 2 loại Socket chính ma ta cần quan tâm trong đề tài này bao gồm:

- Stream Socket

- Datagram Socket

Trang 23

2.1.2 Stream Socket

Stream Socket hay còn gọi là socket hướng kết nối, là socket hoạt động thông

qua giao thức TCP (Transmission Control Protocol) Stream Socket chỉ hoạt động khi

server và client đã kêt nôi với nhau, ta có thê thay miêu ta của giao thức ở Hình 2.2.

- _ Dữ liệu truyền đi được đảm bảo truyền đến đúng nơi nhận, đúng thứ tự với

thời gian nhanh chóng.

- Mỗi thông điệp gửi đi đều có xác nhận trả về dé thông báo cho người dùng

thông tin về quá trình truyền tải

Nhược điểm:

- Gitta máy chủ và máy nhận chỉ có 1 IP, nên khi kết nối, 1 máy phải chờ may

còn lai chap nhận kết nôi.

10

Trang 25

2.2 Giao thức MQTT

2.2.1 Dinh nghĩa

MQTT (Message Queuing Telemetry Transport) [14] là giao thức truyền thôngđiệp (message) theo mô hình publish/subscribe (cung cấp / thuê bao), được sử dung

cho các thiết bị loT với băng thông thấp, độ tin cậy cao và khả năng được sử dụng

trong mạng lưới không ồn định Nó dựa trên một Broker (tạm dich là “Máy chủ môigiới”) “nhẹ” (khá ít xử lý) và được thiết kế có tính mở (tức là không đặc trưng choứng dụng cụ thể nào), đơn giản và dễ cài đặt

Một số ưu điểm nồi bật của MQTT như: băng thông thấp, độ tin cậy cao va có thể

sử dụng ngay cả khi hệ thống mạng không ồn định, tốn rất it byte cho việc kết nối với

server và connection có thê giữ trạng thái open xuyên suốt, có thể kết nối nhiều thiết

bị (MQTT client) thông qua một MQTT server (broker) Bởi vì giao thức này sử dụng

băng thông thấp trong môi trường có độ trễ cao nên nó là một giao thức lý tưởng chocác ứng dụng IoT va sử dụng như một bộ điều phối thông tin tin cậy trong các hệthống lớn như xe tự hành

2.2.2 Kiến trúc thành phần

Kiến trúc thành phần của giao thức MQTT được mô tả chỉ tiết trong Hình 2.4

12

Trang 26

Thành phần chính của MQTT là Client (Publisher/Subscriber), Server

(Broker), Sessions (tạm dịch là Phiên làm việc), Subscriptions va Topics.

MỌTTT Client (Publisher/Subscriber): Clients sẽ subscribe một hoặc nhiều

topics để gửi và nhận thông điệp từ những topic tương ứng

MQTT Server (Broker): Broker nhận những thông tin subscribe

(Subscriptions) từ client, nhận thông điệp, chuyên những thông điệp đến các

Subscriber tương ứng dựa trên Subscriptions từ client.

Topic: Có thé coi Topic là một hàng đợi các thông điệp, và có săn khuôn mẫu

dành cho Subscriber hoặc Publisher Một cach logic thì các topic cho phép

Client trao đồi thông tin với những ngữ nghĩa đã được định nghĩa sẵn Ví dụ:

Dữ liệu cảm biến nhiệt độ của một tòa nhà

Session: Một session được định nghĩa là kết nối từ client đến server Tất cả

các giao tiép giữa client và server đêu là 1 phân của session.

13

Trang 27

- Subscription: Không giống như session, subscription về mặt logic là kết nối từ

client đến topic Khi đã subscribe một topic, Client có thê nhận/gửi thông điệp

(message) với topIc đó.

2.2.3 Mô hình Pub/Sub

- Client:

o Publisher : Nơi gửi thông điệp

o Subscriber : Nơi nhận thông điệp

- Broker : May chủ môi giới

Trong đó Broker được coi như trung tâm, nó là điểm giao của tất cả các kết nốiđến từ Client (Publisher/Subscriber) Nhiệm vụ chính của Broker là nhận thông điệp(message) từ Publisher, xếp vào hàng đợi rồi chuyên đến một địa điểm cụ thể Nhiệm

vụ phụ của Broker là nó có thể đảm nhận thêm một vài tính năng liên quan tới quátrình truyền thông như: bảo mat message, lưu trữ message, logs,

Client thì được chia thành hai nhóm là Publisher va Subscriber Client chi làm ít

nhất một trong 2 việc là publish các thông điệp (message) lên một/nhiều topic cụ thể

hoặc subscribe một/nhiêu topic nào đó đê nhận message từ topic nay.

2.3 Kiến trúc Entity Components System

Entity Components System - ECS [16] là một kién tric phan mềm được thiết kếtheo cầu tric DOD (Thiết kế hướng dit liệu — Data Driented Design) thay vì hướngđối tượng - OOP (Object-oriented programming) trong các ứng dụng thông thường

khác Kiến trúc này được tông hợp lên từ 3 thành phần chính:

- Component: Chia tính chat, đặc điểm của một đối tượng hay còn gọi là đữ

liệu của đối tượng đó và thường được thêm vào đối tượng để hỗ trợ thực hiện

hành vi Một component được thêm vào đối tượng nó sẽ thể hiện một tính chất

duy nhất, một component tự nó sẽ không có hành vi

14

Trang 28

- System: Là những module con, hoạt động độc lập với nhau, xử lý một

“behaviour” nào đó trong hệ thống Có thé ké đến như các System tìm đường

đi, System nhận diện vat thê

- Entity: Entity như là một thực thé được triển khai dưới dạng liên kết duy nhất

của các components Entity sẽ không có dữ liệu hay hành vị thực tế nào, nóchỉ là nơi liên kết các tính chất của component tới các System dé hỗ trợ một

hành vi nào đó.

Về cơ bản, ECS giúp ta phân tách chương trình thành các phần riêng lẻ có thê chạy

độc lập với nhau Mỗi System có thé sử dụng một hoặc nhiều Component và ta có thểthay đôi thêm bớt bất cứ Component nào ta muốn mà không gây ảnh hướng tới các

System khác.

Ví dụ, trong đề tài này, các chương trình liên quan đến tác vụ nhận dạng hoặc lập

lịch có thể được tách thành nhiều System nhỏ khác chạy độc lập với nhau, chúng cóthé liên kết với nhau thông qua các Component chứa dữ liệu của toàn bộ hệ thống.Bằng cách này, ta có thê thiết kế một hệ thống chạy đa luồng và đạt tới khả năng đa

nhiệm.

2.4 Kinematic Bicycle model

Mô hình động học của phương tiện thường được sử dụng trong các ứng dụng liên

quan đến Motion Planning [17], [18] Khi áp dụng các mô hình động hoc của xe trong

lập lịch, ta có thể biết được sự thay đôi trạng thái của xe mỗi khi đánh lái hoặc thay

đổi tốc độ Các thay đối này có ý nghĩa như việc dự đoán trước tương lai của xe vậy

Ta có thé đưa vào day giá trị của vận tốc, góc lái và cho mô hình vẽ lên chuyên động

của xe.

Đối với các mô hình xe 4 bánh, ta có thé làm đơn giản hoá nó lại bằng cách kếthợp 2 bánh trước và 2 bánh sau lại giống Hình 2.5, ta sẽ được mô hình xe hai bánhmang tên Kinematic Bicycle model và phải thoả những điều kiện sau:

- Phuong tiện hoạt động trên mặt phăng 2D.

15

Trang 29

- Gia sử toan bộ trọng lượng của phương tiện được đặt ở trọng tâm.

- Chico bánh trước của xe mới được bẻ hướng.

Hình 2.5: Chuyên mô hình xe 4 bánh về 2 bánh

Mô hình Kinematic bicycle model này còn được gọi với cái tên là Mô hình bánh

lái trước (Font wheel steering model) vì hướng của bánh xe tác động trực tiếp tớihướng của cả xe Và khi nhìn vào Hình 2.6, ta có thé viết được phương trình của mô

hình này như sau:

Trang 30

- L: Chiều dai phương tiện

- ww: Hướng của phương tiện

- ¢: Góc đánh lái

2.5 TensorRT [22]

Cốt lõi của NVIDIA® TensorRTTM là thư viện C++ hỗ trợ suy luận hiệu suất cao

trên các đơn vị xử lý đồ họa NVIDIA (GPU) Nó được thiết kế dé hoạt động theo

kiểu bổ sung với các khung đảo tạo như TensorFlow, Caffe, PyTorch, MXNet, v.v

17

Trang 31

Nó tập trung đặc biệt vào việc chạy một mạng đã được đảo tạo một cách nhanh chóng

và hiệu quả trên GPU nhằm mục đích tạo ra một kết quả (một quy trình được gọi ởnhiều nơi khác nhau như cho điểm, phát hiện, hồi quy hoặc suy luận) Một số khuônkhổ dao tạo như TensorFlow đã tích hợp TensorRT để nó có thể được sử dụng détăng tốc suy luận trong khuôn khổ Ngoài ra, TensorRT có thé được sử dung như mộtthư viện trong ứng dụng người dùng Nó bao gồm các trình phân tích cú pháp dé nhập

các mô hình hiện có từ Caffe, ONNX hoặc TensorFlow và các API C++ và Python

dé xây dựng các mô hình theo chương trình

Trained TheFET TensorRT

Neural Optimizer Runtime

Sar

Automotive Data center

Jetson Drive Tesla

Hình 2.7: Ứng dụng của TensorRT

18

Trang 32

Hình 2.7 cho thấy TensorRT là một công cụ tối ưu hóa suy luận mạng thần kinh

hiệu suât cao và công cụ thời gian chạy đê triên khai sản xuât.

2.6 Mô hình YOLOP

Trong bài toán nhận dạng cho xe tự hành thường có các các tác vụ như:

- Nhận diện làn đường.

- Phat hiện vật.

- Phat hiện vạch kẻ đường.

Các giải thuật hoặc mô hình đã được phát triển mạnh dé việc nhận diện này trở lênnhanh hơn với độ chính xác cao hơn Lấy một vài ví dụ như Mask R-CNN [23]va

YOLOR [24] được dùng trong phát hiện vật Hoặc các mô hình như UNet [25] và

PSPNet [26] cho các tác vụ phân đoạn ảnh làn đường Và mặc dù các mô hình này có

hoạt động hiệu quả đến đâu nhưng khi phải chạy lần lượt từng mô hình trong bài toán

nhận diện lớn hơn cho xe tự hành sẽ tốn rất nhiều thời gian.

Thấy được hạn chế khi phải chạy nhiều mô hình để ra được nhiều kết quả chonhiều mục đích khác nhau nên YOLOP [27] đã được ra đời YOLOP, You Only Look

One For Panoptic Perception, được áp dụng công nghệ đa tác vụ trong học sâu có khả

năng sử dụng những thông tin có liên quan đến nhau dé xây dựng lên một mô hình

nhanh hơn và có độ chính xác cao hơn.

2.6.1 Kiến trúc

YOLOP có một bộ mã hoá dùng chung (backbone) và ba đầu giải mã dé giải quyếtcác tác vụ riêng biệt, Hình 2.8 Không có bat kỳ khối chia sẻ đặc trưng phức tạp nào

giữa các bộ giải mã dé giữ cho quá trình tính toán được đơn giản và có thé huấn luyện

từ đầu đến cuối dễ dàng hơn.

19

Trang 33

: Neck + Detect head :

AD

Backbone

Hình 2.8: Kiến trúc mô hình YOLOP [27]

2.6.2 Bộ mã hoá

Bộ mã hoá bao gom một mang Backbone va một mang Neck YOLOP sử dụng

một bộ CSP-Darknet dé làm Backbone, được sử dung dé trích xuất các đặc trưng từ

ảnh đầu vào Nó hỗ trợ truyền tài và tái sử dụng các đặc trưng, giúp giảm lượng lớn

tham số và tính toán Mạng Neck chịu trách nhiệm về các kỹ thuật đặc trưng (feature

engineering), nó điều khiến và trích xuất tối đa các đặc trưng của ảnh Nó bao gồm

một module Spatial Pyramid Pooling (SPP) và một module Feature Pyramid Network

(FPN) Mô hình SPP có thé tao va hop nhất các đặc trưng ở các tỉ lệ khác nhau và

FPN hợp nhất các đặc trưng đó ở các cấp độ ngữ nghĩa khác nhau Do đó mạng Neck

tao ra các đặc trưng phong phú ở nhiều tỉ lệ, nhiều ngữ nghĩa khác nhau

2.6.3 Bộ giải mã

Trong tác vụ nhận diện vật, YOLOP sử dụng công nghệ anchor-based multi-scale

detection tương tự trong mô hình YOLOPv4 và kết hợp với mạng Path Aggregation.Mang FPN ở mạng Neck truyền các phân đoạn đặc trưng top-down còn PAN chuyêncác đặc trưng bottom-up YOLOP sẽ kết hợp chúng lại dé ra được đặc trưng tong hợp

20

Trang 34

có hiệu quả cao hơn và kết quả của quá trình tổng hợp này là ban đồ đặc trưng hợp

nhất đa tỷ lệ được sử dụng cho tác vụ nhận diện

Tác vụ phân đoạn ảnh làn đường và phân đoạn ảnh vạch kẻ đường sử dụng chung

một kiến trúc mạng Các đặc trưng có kích thước (W/8, H/8, 256) từ lớp bottom của

EPN được đây vào segmentation branch Nó áp dụng qua ba bước upsampling và lưutrữ bản đồ đặc trưng thành (W, H, 2), có khả năng thé các pixel cho vùng làn đườngđược phép di chuyên và vạch kẻ đường từ ảnh đầu vào Trong khi các mạng phân

đoạn khác sử dụng module SPP thì phía phân đoạn ảnh của YOLOP không cần do nó

đã được tích hợp trong phần module SPP chia sẻ ở trong mạng Neck

2.6.4 Hàm độ lỗi và phương pháp huấn luyện

YOLOP sử dụng các hàm mat mát đơn giản, nó có ba hàm mắt mát riêng ở ba đầugiải mã Hàm mat mát của phần nhận diện là tổng hợp của mat mát phân loại, mat

mát đối tượng và mat mát hộp giới hạn Ca hai hàm mat mát của đầu phân đoạn làn

đường và vạch kẻ đường đều chưa mat mát cross-entropy với logits Về phía phânđoạn ảnh vạch kẻ đường có thêm hàm mat mát IoU vi tính hiệu quả cua nó trong việc

dự đoán các danh mục dự phòng Hàm độ lỗi tổng thể của mô hình là tổng trọng số

của cả ba hàm mât mát trên.

Training method Recall(%) AP(%) mloU(%) Accuracy(%) IoU(%)

ES-W 87.0 75:3 90.4 66.8 26.2 ED-W 87.3 76.0 91.6 1Ì.2 26.1

ES-D-W 87.0 75.1 91.7 68.6 27.0 ED-S-W 87.5 76.1 91.6 68.0 26.8

End-to-end 89.2 76.5 91.5 70.5 26.2

Hình 2.9: Các thuật toán tối ưu eng-to-end so với thuật toán xen kẽ

Nhóm tác giả của mô hình YOLOP đã thử nghiệm các phương pháp đảo tạo khác

nhau Họ đã thử đảo tạo end-to-end, điều này khá hữu ích trong trường hợp tất cả các

tác vụ điều liên quan đến nhau Hơn nữa, trong Hình 2.9, họ cũng đã thử nghiệm một

số thuật toán tối ưu hoá xen kẽ dé dao tạo mô hình từng bước Trong đó, mỗi bướctập trung vào một hoặc nhiều nhiệm vụ liên quan Những gì họ quan sát được là các

thuật toán tôi ưu hoá xen kẽ mang lại cải tiên không đáng kê về hiệu suât.

21

Trang 35

2.6.5 Kết quả

YOLOP được thử nghiệm trên một bộ dữ liệu BDD100k day thách thức so với các

mô hình hiện đại nhất cho ba nhiệm vụ Nó đánh bại Faster RCNN, MultiNet va

DLT-Net về độ chính xác của tác vụ nhận diện và ca thời gian thực hiện inference về phía

phân đoạn ảnh, YOLOP cho ra kết quả tốt hơn so với MultiNet và DLT-Net từ 19.9%đến 20.2% và còn nhanh hơn từ 4 đến 5 lần so với cả 2 Và tác vụ phân đoạn ảnh vạch

kẻ đường cũng cho ra kết quả tương tự

2.7 Quantization

Phương pháp Quantization, Hình 2.10, là phương pháp hữu hiệu giúp tăng tốc thờigian xử ly của các mô hình học sâu mà đảm bảo độ chính xác không giảm đi đáng kếbang cách tính toán và lưu trữ các Tensor ở kiêu đữ liệu số Bit thấp hơn kiêu Float(Hiện tại các Tensor output của Backbone đang ở kiêu dit liệu Float)

ite ES ô: ¬ :

Quantization

FP32 INT8

Hình 2.10: Phương pháp Quantization trong ứng dụng giảm kích thước mô hình

Dựa vào tính chất giảm kích thước Tensor của phương pháp Quantization trên, ta

có thê ứng dụng nó nhằm giảm kích thước của Tensor 3 xuống kích thước thích hợp

22

Trang 36

cho quá trình truyền Tensor trong môi trường mạng LAN Ta có thể sử dụng công

Trong công thức ( 2.3), ta có Tensor3 là Tensor cần được Quanta và out là kết quả

của quá trình quanta này Khi thực hiện phương pháp Quantization, phần chiếm nhiềuthời gian xử lý nhất chính là tìm kiếm MaxT và MinT trong Tensor, vì phải duyệt quatoàn bộ phần tử trong Tensor và lựa ra giá trị lớn nhất và nhỏ nhất trong chúng Nhóm

đã đưa ra giải pháp cải thiện tốc độ quy trình này bằng cách chạy Backbone qua tất

cả Dataset và tìm ra giá trị lớn nhất và nhỏ nhất trong tat cả các Tensor này, ta sẽ laynhững giá trị này làm mốc cho những lần chạy sau và sẽ không cần phải tìm lại cácgiá trị này trong lúc chạy hệ thống nữa

23

Trang 37

Chương 3 GIẢI PHÁP ĐÈ XUẤT

3.1 Thiết kế kiến trúc hệ thống

Khi nghiên cứu phat trién hệ thống MULTI-COMP, nhóm hướng tới việc sử dung

nó trong các ứng dụng có yêu cầu mức độ tính toán cao và trải qua nhiều bước tính

toán dé cho ra kết quả Ví dụ như mô hình YOLOP, trong Hình 3.1 mô tả luồng ditliệu trong mô hình khi nó phải được di chuyên qua nhiều bước Inference dé cho ra

được phân đoạn ảnh làn đường.

được kết quả

Dé tận dụng tối da tài nguyên của máy tinh trong các ứng dụng như trên, hệ thốngcung cấp cho người dùng khả năng chạy độc lập các tác vu dé đảm bảo dit liệu đượcliên tục xử lý và cho ra kết quả có độ trễ thấp nhất

24

Trang 38

—> USB F——Ề SOCK STREAM

MQTT Controller Steering Control

Hình 3.2: Tổng quan hệ thong MULTI-COMP

Hệ thống MULTI-COMP trong Hình 3.2 được nhóm xây dựng dé tối ưu cho quátrình sử dụng mô hình YOLOP dé ra được phân đoạn anh làn đường và sử dụng nócho tác vụ tính toán góc lái điều khiến chiếc xe đi chuyền trên đường Trong Hình 3.2

ta sẽ thay có nhiều Node bao gồm: Backbone Node, Segment Node, Master ControllerNode va Vehicles Node 3 Node đầu tiên được liệt kê ở trên sẽ được chia ra sử dụngtại 3 máy tính nhúng độc lập và được kết nối với nhau trong môi trường mạng LAN,riêng Vehicles Node là một node tách biệt vì nó được chạy trên MCU và chỉ kết nối

với Master Controller Node thông qua giao tiếp Serial

“+ Input/Output hệ thống MULTI-COMP:

- Input: Anh đọc từ Camera.

- Output: Góc lái cần thực hiện

3.2 Cơ chế giao tiếp trong MULTI-COMP

25

Trang 39

3.2.1 Thiết kế cơ chế truyền tensor sử dung Stream Sockets

Như đã trình bày ở Chương 2 về tác dụng của Stream Sockets và ứng dụng của nótrong thực tế thì ở phần này ta sẽ đi vào thiết kế của giao thức truyền tensor từ Node

Backbone qua Node Segment thông qua Stream Sockets.

Trong hé thống MULTI-COMP, Backbone Node đảm nhiệm nhiệm vụ tính toán

ra đặc trưng của ảnh (từ camera) được lưu dưới dạng các Tensor Khi có yêu cầu nhận

Tensor từ phía Segment Node thì MULTI-COMP sẽ lấy các Tensor được yêu cầu vàtruyền nó cho client thông qua Socket

Server Client

©

‘ Create socket / ‘ Create socket /

Connect 'Waiting for connection Connect server

Hình 3.3: Giao thức truyền nhận Tensor thông qua Socket

Hình 3.3 cho ta thấy được cái nhìn chỉ tiết về quy trình truyền nhận Tensor trong

hệ thống, với Server làm một phần của Backbone Node và Client là một phần của

Segment Node Khi nhận được tín hiệu bắt đầu truyền của Master Controller Node

thông qua MQTT, phía Server va Client sẽ cùng khởi tạo Socket, chuẩn bi cho quátrình truyền theo quy trình sau:

26

Trang 40

Server tiến hành đợi Client kết nối tới nó, Node sẽ giữ nguyên trạng thái chờ

và chỉ chờ nên các chương trình phía sau nó sẽ không thê chạy nếu không được

tách một luỗng riêng hoặc sử dung cơ chế Asynch dé xử lý

Client sau khi khởi tạo xong sẽ chờ khoảng 0.5s rồi mới gửi sự kiện connecttới Server Nếu quá trình connect thất bại, hệ thống sẽ gửi một sự kiện thoáttoàn bộ dé người dùng tiến hành sửa chữa Nếu thành công kết nối, hệ thống

sẽ tiến đến phần truyền Tensor giữa 2 máy

Sau khi xác nhận kết nối thành công, phía Client sẽ gửi tới Server một Client

ID để kích hoạt quá trình truyền Tensor Nếu Client ID được nhận là hợp lệ,quá trình truyền sẽ được thông qua

Phía Server gửi trước một chuỗi chứa kích thước của Tensor chuẩn bị gửi(Tensor length), Hình 3.3 (1) Ngay sau đó sẽ gửi tiếp Tensor, đã được chuyền

về dạng Bytes, Hình 3.3 (2)

Về phía Client, sau khi nhận được kích thước của Tensor, ta sẽ tạo một vòng

lặp nhận dữ liệu Mỗi một vòng lặp sẽ cho phép nhận một sỐ lượng Buffer nhất

định và sẽ cộng dồn dit liệu nhận được cho tới khi kích thước của nó bằng với

kích thước Tensor gửi trước đó Hình 3.4.

(1) : Tensor lenght - recv data lenght

< Tensor lenght >

Send Tensor Bytes array

+m —— ——\— Tensor lenght ———————————————— »>

Recv Tensor Bytes array [1] Tensor Bytes array [2] fe

< — Buffer Size ———»<—_ Buffer Size >< (1) >

Hình 3.4: Mô tả khung truyền và nhận Tensor data từ Server tới Client

27

Ngày đăng: 23/10/2024, 00:28

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w