Chương 1. Giới Thiệu Tổng Quan Đề Tài Chương đầu tiên sẽ giới thiệu tổng quan về đề tài khóa luận, lý do nhóm chọn đề tài này, mục tiêu đề ra của nhóm, những giới hạn của đề tài và kết quả thực hiện mà nhóm đạt được. Cơ Sở Lý Thuyết Chương này trình bày những cơ sở lý thuyết được sử dụng có liên quan đến nội dung nghiên cứu của đê tài. Thiết Kế Hệ Thống Trình bày chỉ tiết về thiết kế phần cứng, sự tương quan của các khối thiết Chương 4.
Kết Quả Dua kêt quả đạt được vé độ chính xác, toc độ, tài nguyên phân cứng cân thực hiện. Kết Luận Và Hướng Phát Triển Đưa ra kết luận, trình bày khó khăn gặp phải và hướng phát triển trong tương lai. GIỚI THIỆU TONG QUAN ĐÈ TÀI 11. Giới thiệu Nhận diện làn đường và điều hướng là một phần quan trọng cho xe tự hành và các hệ thống hỗ trợ tài xế nâng cao — Advanced Driver Assistance Systems (ADAS).
Nhiều thuật toán khác nhau đã được áp dụng trong nhận diện làn đường, một số phương pháp truyền thống giải quyết bài toán nhận diện làn đường dựa vào xử lý ảnh bằng cái thuật toán: Hough Transform [1], Sliding Window [2],. Mặc dù thuật toán có tốc độ xử lý nhanh nhưng các phương pháp này không có khả năng xử ly cho các điều kiện xấu như ánh sáng tối, vạch kẻ đường bị đứt nét nặng,. Trong những năm gần đây, van đề này phần lớn đã được chuyên sang giải quyết bằng trí tuệ nhân tạo sử dụng nhiều kỹ thuật khác nhau. Tuy nhiên, phần lớn các phương pháp đều tập trung vào việc xử lý phát hiện làn đường trên một khung hình, nên các kết quả thường không đạt được hiệu suất tốt trong các điều kiện không tốt.
Do đó mô hình CNN sử dụng kỹ thuật LSTM với khả năng lay thông tin từ nhiều không hình để tìm được thông tin làn đường nhiều hơn, cho kết quả chính xác hơn được lựa chọn dé tìm hiểu. Và để đưa ra quyết định điều hướng, thuật toán Hough Transform và thuật toán Cordic được hiện thực. Thuật toán Hough Transform là thuật toán được sử dụng rộng rãi trong việc phát hiện đường thăng, tuy nhiên nhược điểm là tốn nhiều bộ nhớ và cho hiệu suất thấp khi xuất hiện các đường thắng đứt nét. Cordic là thuật toán tính lượng giác phổ biến với khả năng giảm độ phức tạp cho bài toán bằng cách sử dụng các phép tính đơn giản như: cộng, trừ, nhân, shift,.
nhiều lần dé đưa ra kết quả. Tuy nhiên, thuật toán có nhược điểm là tốc độ xử lý chậm. Một số nghiên cứu liên quan 1. Cac nghiên cứu liên quan đến nhận diện làn đường Các phương pháp thường thấy để giải quyết bài toán phân loại làn đường là sử dụng semantic segmentation (hay còn gọi là phân vùng ảnh).
Bài toán này thường nhận một ảnh RGB, và trả về một ảnh khác có kích thước tương tự với anh đầu vào, nhưng mỗi điểm ảnh đều được phân loại vào một lớp khác nhau như đường, xe,. LaneNet [3] là phương pháp coi bai toán nhận diện làn đường như một bài toán semantic instance segmentation, phương pháp này sẽ có đầu ra là một lane instance map bang cách gan nhãn từng diém ảnh thuộc các làn đường khác nhau Hình 1. Kết quả của LaneNet [3]. Hàng đầu: đầu vào và nhãn.
Hàng giữa: đầu ra. Hàng cuối: làn đường được dự đoán. Spatial CNN [4] là phương pháp coi bài toán nhận diện làn đường như một bài toán semantic instance segmentation, tuy nhiên phương pháp này sẽ tìm các mối liên hệ của các pixel có thê là vạch kẻ đường và nhóm chúng lại với nhau. Các nghiên cứu liên quan đến Hough Transform Đã có nhiều nghiên cứu liên quan đến thuật toán tìm đường thăng Hough Transform, cũng như phương pháp giúp cải tiễn tốc độ, giảm yêu cầu về bộ nhớ cho thuật toán.
Có thé kế đến như: Nghiên cứu [5] các tác giả đã xây dựng một thuật toán mới cho không gian tham số Hough — Hough Parameter Space (HPS), phương pháp mới này đã làm giảm đáng ké yêu cầu về bộ nhớ so với việc thực hiện giải thuật Hough Transform (HT) tiêu chuẩn. Nghiên cứu [6], các tác giả xây dụng thuật toán Hough Transform sử dụng lát cắt DSP va block RAMs. Lat cắt DSP được cau hình đề có thé tính nhanh các phép tính như cộng, trừ, nhân, chia và các phép toán khác,. Việc sử dung song song lát cắt DSP và block RAMs giúp tăng tốc khả năng tính toán của FPGAs.
Mục tiêu của đề tài Đề giải quyết bài toán phân loại làn đường và điều hướng cho xe tự hành, trong khóa luận này, nhóm có những mục tiêu chính: 1. Tìm hiểu giải thuật nhận diện được làn đường huấn luyện và đánh giá trên tập dữ liệu TuSimple. Mục tiêu có mô hình có accuracy > 95%. Xác định được hướng cần rẽ của xe.
Bằng cách hiện thực thuật toán Hough Transform và xây dựng các modules tính toán dé đưa ra hướng rẽ. Xác định được góc lãi cho hướng rẽ. Bằng cách hiện thực thuật toán Cordic dé tính atan(góc lái). Hiện thực thiết kế lên FPGAs DE1-SoC.
Giải thuật nhận diện làn đường được thực hiện trên phần mềm và đưa kết quả là ảnh chứa làn đường xuống phần cứng. Ở phần cứng, các module được mô tả bởi ngôn ngữ verilog như Hough Transform, Cordic sẽ đưa ra tín hiệu điều hướng. CO SỞ LÝ THUYET 2. Tìm hiểu DE1 SoC FPGA DEI-SoC là một FPGA System-on-Chip (SoC) được sản xuất bởi Altera.
Nó bao gồm một FPGA Cyclone V SE cùng với một vi xử lý ARM Cortex-A9 dual- core. DEI-SoC cung cấp một nên tảng tùy chỉnh với các tính năng xử lý và mở rộng tốt hơn so với vi xử lý đơn giản. DEI-SoC có một số tính năng nổi bật như: e Hỗ trợ cho vi xử lý ARM Cortex-A9 dual-core với tốc độ tới 1 GHz. e Cung cấp một FPGA Cyclone V SE với hơn 50,000 hoạt động Logic Element (LE) và các tính năng kết nối của chuẩn transceiver serdes.
e C6 sẵn các giao diện đầu vào/đầu ra như HDMI, VGA, audio codec, Ethernet, USB, SD card, etc. ¢ Hỗ trợ cho các hệ điều hành như Linux và tích hợp các công cụ phát triển phần mềm cho FPGA và vi xử lý ARM. DEI-SoC là một lựa chọn tốt cho các nhà phát triển muốn xây dựng các hệ thống tùy chỉnh với các tính năng xử lý tốt hơn và các chức năng mở rộng hơn so với vi xử lý đơn giản. [os ty joc SCSEMSF31C6N 2x7 LTC Header BRERRIRRRRR ‘Side Switch x10 2.
Tìm hiểu SDRAM SDRAM (Synchronous Dynamic Random Access Memory) là một loại bộ nhớ truy cập ngau nhiên đồng bộ với vi xử lý chính của hệ thống. Trong DEI-SoC FPGA, SDRAM cung cấp một khoảng trồng lưu trữ lớn cho hệ thống, giúp tăng tốc độ xử lý và giảm thiểu sự giới hạn bộ nhớ trong FPGA. SDRAM trong DEI-SoC cung cấp các tính năng sau: e Tốc độ truy cập cao với thời gian truy cập ngẫu nhiên cô định. e Khả năng mở rộng dung lượng bộ nhớ bằng cách kết hợp nhiều chip SDRAM.
e Hỗ trợ cho vi xử lý chính trong việc truy cập vào bộ nhớ một cách đồng bộ với tốc độ xử lý. SDRAM trong DEI-SoC là một tính năng quan trọng để cung cấp một khoảng trống lưu trữ lớn cho hệ thống và giúp tăng tốc độ xử lý cho các ứng dụng tùy chỉnh. 32Mx16 SDRAM DRAM_DG(15.0] @WfBBBE DRAM_ADDR(12.0] | Ñ ĐẾNA12 ‹ DRAM BAI1.0 , EyNeIy ị DRAM_CLK ——————ằ_F° _- = © DRAM_LDQM LDQM SS lil ict Cyclone!vais. DRAM_UDQM Le) UDQM nWE Soc DRAM_CAS_N , ĐC —_=—_—_» DRAM_RAS_N nRAS DRAM_CS_N nCS Hình 2.
Kết nối giữa FPGA và SDRAM. SDRAM được sử dụng có cấu hình là 64MB (32Mx16) SDRAM chip. Với 16 bit data, tín hiệu điều khiến và địa chỉ để kết nối với FPGA. Trong khóa luận này, SDRAM sẽ được dùng để lưu ảnh sau đã được phát hiện làn đường và truyền lại cho khối tìm hướng rẽ và góc lái.
Thuật toán Hough Transform 2. Giới thiệu thuật toán Hough Transform Hough Transform là một thuật toán được cấp bằng sáng chế bởi Paul V. Hough và ban đầu được phát minh để nhận ra các đường phức tạp trong ảnh (Hough, 1962). Hough Transform là thuật toán phát hiện đường thắng khá hiệu quả trong xử lý ảnh có thé được sử dụng dé phát hiện các đường thằng, đường tròn, và 1 số đường cong khác.
Ý tưởng chung của việc phát hiện đường thăng trong thuật toán này là tạo mapping từ không gian ảnh (A) sang một không gian mới (B) mà mỗi đường thắng trong không gian (A) sẽ ứng với một điểm trong không gian (B). - Để hiểu cách hoạt động của thuật toán Hough Transform, ta cần tìm hiểu các thành phan: edge image, không gian Hough Space và mapping (ánh xạ) các điểm cạnh lên không gian Hough, cách đề biểu diễn một đường thắng trên máy tính, và cách phát hiện đường. Không gian Hough va ánh xạ các điểm cạnh lên không gian Hough Phương trình đường thăng cơ bản sẽ được biéu diễn theo 2 tham số a và b như sau: y=ax+b Trên đường thắng đó có thé lay duoc cac diém được gọi là điểm cạnh có tọa độ (Xi, yi), (Xj, yj). Đường thang trong không gian Oxy Thay vì dùng trục xy, ta đảo ngược lại và sử dụng trục ab, ta có phương trình đường thăng biéu diễn theo 2 điểm cạnh đã lay có tọa độ (xi, yi), (xj, yj): bị = y; - ax; va bz = yj; - đXj Hai đường thăng vừa tim được sẽ giao nhau tai giao điểm có tọa độ (a, b).
Nếu tiếp tục chọn các điểm tọa độ thuộc đường thắng y và biếu diễn sang trục ab, ta sẽ thấy các đường thắng vừa lay déu cat nhau tai giao điểm toa độ (a, b). 10 Nếu xem trục xy là không gian ảnh và trục ab là không gian Hough, vậy môt đường thắng trong không gian ảnh (A) với 2 tham số a, b, sau khi map sang không gian Hough (B) sẽ thành một điểm. Nếu xem trục xy là không gian ảnh và trục ab là không gian Hough, vậy môt đường thắng trong không gian ảnh (A) với 2 tham số a, b, sau khi map sang không gian Hough (B) sẽ thành một điểm. Cách để biểu diễn một đường thang trên máy tinh Khi biểu diễn đường thăng theo dạng: y = ax + b, giá trị của góc nghiênga trải dài từ -œ đến +œ.
Vi du, dé có được phương trình đường Oy (x=0) thi a phải tiễn tới oo. Khi biểu diễn trên máy tính, bộ nhớ lưu trữ là có hạn, việc lưu trữ tat cả giá trị a là bất khả thi.