Chương 1: Giới thiệu tông quan đề tài Trinh bay tổng quát van dé của xe tự hành, tiếp đến là liệt kê các nghiên cứu có liên quan đến giải pháp, cuối cùng là mục tiêu của đề tài mà nhóm muốn hướng đến. e Chương 2: Cơ sở lý thuyết Nền tảng lí thuyết có liên quan đến đề tài sẽ được trình bày. Mỗi mục trình bày bao gồm cơ sở lý thuyết, ví dụ và hình ảnh nếu có. e Chương 3: Kiến trúc CNN đề xuất Trình bày kiến trúc của mô hình CNN được đề xuất.
Đưa ra chỉ tiết về kiến trúc của mô hình cùng với lý giải về các lựa chọn trong thiết kế. e_ Chương 4: Tiền xử lý ảnh và huấn luyện dữ liệu Đưa ra phân tích về việc tiền xử lý ảnh trước khi huấn luyện. Ngoài ra còn giới thiệu về tập dữ liệu môi trường UIT và phần mềm dùng cho tiền xử lý kèm huân luyện. Chương 5: Giải thuật điều khiến góc lái đề xuất Trình bày quy tắc xác định góc lái của giải thuật và đưa ra chỉ tiết về các trường hợp nhận diện làn đường.
Ngoài ra còn giới thiệu đôi chút về phần mềm. Chương 6: Hiện thực trên FPGA Trình bày cách hiện thực hóa kiến trúc phần cứng đã đề ra lên FPGA. Trình bay cách xây dựng hệ thống và các phương pháp dé vận hành, kiêm tra. Chương 7: Kết quả Đưa ra kết quả về độ chính xác và tốc độ khung hình của mô hình phần mềm va phan cứng.
Ngoài ra, trình bày kết quả của phương thức định hướng xe tự hành và các video demo, hình ảnh thực tế. Chương 8: Tong kết Dua ra kết luận cho dé tài. Các van đề, khó khăn gặp phải và hướng phát triên của đê tài cũng sẽ được đê cập đên. GIỚI THIỆU TONG QUAN DE TAI 1.
Giới thiệu Một trong những công nghệ đang được phát triển liên tục hiện nay là các hệ thống hỗ trợ tài xế nâng cao — Advanced Driver Assistance Systems (ADAS). Công nghệ này đóng một vai trò quan trọng trong việc giảm thiêu rủi ro và tai nạn giao thông [2] [3]. Trong vài năm gần đây, sự phát triển của ADAS lại càng được thúc đây nhờ các cải tiến trong lĩnh vực deep learning, cụ thê là các mạng nơ-ron tích chập — Convolutional Neural Networks (CNNs). Mạng thần kinh tích chập là giải pháp có độ chính xác cao cho các vân đê về xe tự hành [4].
Tuy nhiên, một mang CNN điền hình cần một lượng lớn chi phí tính toán, từ đó có thể dẫn tới độ trễ cao. Điều này tạo ra nhiều khó khăn trong việc sử dụng chúng cho các vấn đề real-time như xe tự hành. Ngoài ra, một loại thiết bị thường được sử dung cho CNN là bộ xử lý đồ họa — Graphics Proccessing Unit (GPU), nhờ vào kha năng xử lý song song cực lớn của chúng. Nhung các GPU lại cần một lượng lớn năng lượng dé hoạt động, từ đó khiến chúng không phù hợp cho các hệ thống nhúng di động trên xe tự hành.
Một giải pháp có trién vọng cho CNNs là thiết kế trên FPGA. Các thiết bị này có kiến trúc phan cứng có thé được dé dang cấu hình lại dé trở thành các kiến trúc phan cứng khác nhau, từ đó cho phép các kỹ sư có thê thiết kế các mạch tối ưu cho CNN và tiết kiếm năng lượng hơn [5].1 trình bày kết quả của QuantLaneNet [6], một nghiên cứu sử dụng mô hình CNN để phát hiện làn đường và kiểm thử trên FPGA thông qua việc đối chiếu kết quả với nhãn của tập dit liệu TuSimple [1]. Tóm lại, hiện thực CNN bằng FPGA là một đề xuất tốt cho nghiên cứu về xe tự hành.1 Một số kết quả trong tập TuSimple của QuantLaneNet [6] 1. Các nghiên cứu liên quan 1.
Cac nghiên cứu về giải thuật dự đoán góc lái xe Nghiên cứu [7] trình bày về kĩ thuật dự đoán góc lái cho xe tự hành. Nghiên cứu nhắn mạnh thử thách to lớn là phải làm cho hệ thống vững mạnh khi xử lý trong các trường hợp khác nhau, chăng hạn như sự thay đổi ánh sáng, tình trạng giao thông, thời tiết. Đề giải quyết thử thách này, các nhà nghiên cứu đề xuất ra các phương pháp khác nhau. Các phương pháp đưa ra được chia làm hai hướng chính, đều có ưu nhược và đáp ứng tùy nhu cầu của người nghiên cứu.
Hai hướng chính được chia ra và biểu diễn ở Hình 1.2: e Hướng tiếp cận lấy nên tảng thị giác máy tính, giải quyết van dé bằng tiền xử lý hình ảnh và các phép biến đổi ảnh đề tìm ra góc lái. Bước đầu tiên của hướng tiếp cận này là thu được hình ảnh môi trường trên xe bằng camera. Ảnh thu được sẽ được tiền xử lý dé làm rõ các đặc trưng. Bức ảnh sau đó được dùng cho hệ thống dò tìm và phát hiện làn đường.
Bằng cách phân tích dựa vào tình trạng của xe và làn đường, ta có thê tính ra góc lái và các biến đầu ra khác. Controller dùng các biến để liên tục gửi lệnh cho actuator trong xe nhằm điều hướng xe chạy trong ranh giới làn đường. e Hướng tiếp cận theo kiểu học tập bắt chước, sẽ sử dụng các mô hình mang neural nhân tạo (ANN, artificial neural network) có kha năng dự đoán góc lái xe một cách chính xác. Góc lái được tính toán bằng cách đưa các chuỗi hình ảnh vào mà không cần triết xuất khu vực làn đường như hướng tiếp cận thị giác máy tính.
Góc lái và các biến đầu ra khác sẽ được controller của xe sử dụng đề điều hướng. Một mô hình mạng neural bắt kì đều cần huấn luyện qua tập dữ liệu trước khi thực hiện một tác vụ cụ thể. Đối với mang neural thiết kế dé dự đoán góc lái, tập dữ liệu được lấy dựa trên hành vi lái xe của con người. Sau khi thiết kế mô hình, cần phải có sự tôi ưu hóa đê đạt được kêt quả mong muôn.
Steering Angle Prediction | Computer Vision-based Imitation Learning-based | Approach 1 Approach Image _ | “ge Smoothing NN Architecture Formulation = Preprocessing 7 ROI | Contrast | — Simula ti imulation Formulation = > Enchancement Dataset | Collection Reakaine Ỷ | Hentare hase. Đôn wr ne eased Neural Network Training Approach Approach _Ẩ, Ũ Optimizing Neural Network | v Ỳ v Road Edge € olor Road Texture ` Hough Clofliold RANSAC Feature Feature Feature Transform v Kalman Filter <——Lane Tracking ——> Particle Filter Hynerparamster Tuning Eavameter Tuning Steering Angle Estimation Hình 1.2 Cac phương pháp nghiên cứu chính cho giải thuật góc lái [7] Nghiên cứu [8] trình bày phương pháp theo hướng thị giác máy tính, xác định góc lái dựa trên hai bên làn trái phải từ hình ảnh. Bên cạnh đó, phương pháp còn xử lý trường hợp nếu không phát hiện đủ hai làn đường. Giải thuật đã được thử nghiệm trên các mẫu video thật và cho thấy độ hiệu quả của nó khi xe chạy trong các trường hợp ban ngày lẫn ban đêm.
Góc lái tính được từ giải thuật thé hiện đúng góc lái mà xe cần phải rẽ. Tuy nhiên, phương pháp này chưa được kiểm thử trong các điều kiện thời tiết ngặt nghèo như mưa, sương mù. Việc nghiên cứu giải thuật này sâu hơn và hiện thực phần cứng là cần thiết nếu muốn sử dụng thực tiễn trên đường thật.3 trình bày kết quả mà giải thuật đạt được khi kiêm thử trên video, trong đó giá trị của góc lái (trục hoành) chuyên dịch từ dương (ảnh (a), thể hiện hướng rẽ phải) sang âm (ảnh (b), thé hiện hướng rẽ trái) khi giá tri thời gian (trục tung) tăng dần. mm “Tat “100 -£0 (c) Hình 1.3 Đồ thị dao động của góc lái đối với sự thay đôi khung hình [8] 1.
Cac nghiên cứu về giải thuật phát hiện làn đường Các phương pháp truyền thống để phân tích hình ảnh đường xe chạy sử dụng các giải thuật được thiết kế tay như Hough Transform, Edge Detection. [9] [10] để trích xuất các đặc trưng từ hình ảnh đầu vào. Nghiên cứu [11] đã xây dựng một kiến trúc phần cứng dé phát hiện làn đường dựa trên thuật toán Hough Transform và đã hiện thực lên FPGA. Nhưng các phương pháp này thường không được linh hoạt, dễ bị lỗi do tính đa dạng của hình ảnh như ánh sáng thấp, vạch phân cách không rõ ràng.
Ngược lại, sự phát trién của CNNs cho phép các mô hình được huấn luyện trên một số lượng lớn hình ảnh, từ đó chúng có thé tự học ra được những đặc trưng cần phải trích xuất từ ảnh, thay vì cần được cụ thé bởi con người. Do đó, CNNs là giải pháp có độ chính xác cao nhất cho bài toán nhận diện làn đường [4]. Nghiên cứu [6] đã thiết kế một kiến trúc phần cứng cho CNN và triển khai thành công trên FPGA trên tập dữ liệu TuSimple theo kết quả ở Bảng 1.1 (Các thông số accuracy, FP và FN được trình bày ở phần 4. Nghiên cứu hiện tại vẫn chưa triển khai trên mô hình xe tự hành cũng như chưa nghiên cứu phương thức điều khién tự động.
Đây chính là lí do nhóm đề xuất tiếp tục phát triển nghiên cứu này bằng cách hiện thực thiết kế trên xe mô hình.1 Độ chính xác trên tập TuSimple của phần cứng QuantLaneNet [6] Acc FP FN Software 32-bit float | 93.89% Software 8-bit quant | 93.03% Hardware 8-bit quant | 93. Mục tiêu dé tài Dé giải quyết bài toán phân loại làn đường và hiện thực xe tự hành thông qua mô hình CNN trên FPGA, trong khóa luận nay, nhóm đưa ra ba mục tiêu chính: 1. Kế thừa đề tài và đánh giá: Tìm hiểu và tái sử dụng kiến trúc phần cứng từ đã hiện thực trên FPGA Virtex-7 VC707 từ nghiên cứu [6]. Tan dụng các source code cũ dé xây dựng cách huấn luyện mới cho các tập dữ liệu khác nhau ngoài tập TuSimple.
Nhóm sẽ tiếp tục thử nghiệm khả năng nhận diện cũng như độ chính xác của model trên các tập dữ liệu tự thu tại khu vục làng đại học hoặc qua các video có sẵn trong các môi trường thời tiết khác nhau. Độ chính xác sẽ tiếp tục được đánh giá theo phương pháp của TuSimple được đề cập trong nghiên cứu [6], bao gồm 3 thang đo: Accuracy, EP (False Positive) và FN (False Negative) [6]. Bởi vì các tập dữ liệu sẽ có khác biệt so với TuSimple, nhóm đưa ra mục tiêu là Accuracy sẽ nằm trong khoảng 94 + 3%, FP va FN sẽ nằm trong khoảng 10 + 5%. Thiết kế hệ thống cho xe tự hành: Ở phần này, nhóm muốn phát triển nghiên cứu [6] bằng cách thiết kế một hệ thống xe tự hành.
Trong quá trình nghiên cứu, nhận thấy sự tiện lợi của việc thiết kế nhúng khi sử dụng các kit phát triển nhúng như việc hỗ trợ các thư viện điều khiển động cơ, camera, hệ điều hành,.