Nhận Diện Làn Đường và Điều Hướng Cho Xe Tự Hành Trên FPGA

Khóa luận trình bày giải pháp nhận diện làn đường và điều hướng cho xe tự hành trên FPGA, ứng dụng công nghệ tiên tiến trong kỹ thuật máy tính.

Chuyên ngành

Kỹ thuật máy tính

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2023

57
4
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN ĐỀ TÀI

1.1. Một số nghiên cứu liên quan

1.1.1. Các nghiên cứu liên quan đến nhận diện làn đường

1.1.2. Các nghiên cứu liên quan đến Hough Transform

1.2. Cơ sở lý thuyết

1.2.1. Tìm hiểu DE1 SoC FPGA

1.2.2. Tìm hiểu SDRAM

1.2.3. Thuật toán Hough Transform

1.2.3.1. Giới thiệu thuật toán Hough Transform
1.2.3.2. Không gian Hough và ánh xạ các điểm cạnh lên không gian Hough
1.2.3.3. Cách để biểu diễn một đường thẳng trên máy tính
1.2.3.4. Cách phát hiện đường thẳng

1.2.4. Thuật toán CORDIC

1.2.5. Lý thuyết về vector xoay

1.3. Thiết kế hệ thống

1.3.1. Kiến trúc hệ thống

1.3.2. Kiến trúc mạng để xuất

1.3.3. Thiết kế khối Hough Transform

1.3.3.1. Các bước thiết kế một khối Hough Transform
1.3.3.2. Tìm phương trình đường thẳng đi qua hai điểm

1.3.4. Thiết kế module Turn predict

1.3.5. Thiết kế module HoughP

1.3.6. Xử lý đầu vào

1.3.7. Xây dựng bảng lookup table

1.3.8. Hiện thực thuật toán

1.3.9. Nạp ảnh vào SDRAM

1.3.10. Xây dựng hệ thống SoPC

1.3.11. Xây dựng chương trình C

4. CHƯƠNG 4: KẾT QUẢ

4.1. Kết quả mô phỏng Hough Transform

4.2. Quá trình tìm điểm ảnh sáng của ảnh

4.3. Quá trình bầu chọn giá trị (rho, theta)

4.4. Kết quả mô phỏng Turn predict

4.5. Kết quả mô phỏng tính góc lái sử dụng Cordic

4.6. Tài nguyên phần cứng sử dụng

4.7. Kết quả nạp ảnh vào board

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1. Hướng phát triển

DANH MỤC HÌNH

DANH MỤC BẢNG

DANH MỤC TỪ VIẾT TẮT

Tóm tắt

I. Tổng Quan Về Nhận Diện Làn Đường Trên FPGA

Nhận diện làn đường là một trong những yếu tố quan trọng trong việc phát triển xe tự hành. Công nghệ này không chỉ giúp cải thiện an toàn giao thông mà còn nâng cao trải nghiệm lái xe. Việc áp dụng FPGA trong nhận diện làn đường mang lại nhiều lợi ích, bao gồm khả năng xử lý nhanh và hiệu quả. Nghiên cứu này sẽ đi sâu vào các phương pháp và công nghệ hiện có, đặc biệt là thuật toán Hough Transform và Cordic.

1.1. Khái Niệm Về Nhận Diện Làn Đường

Nhận diện làn đường là quá trình xác định và phân loại các vạch kẻ đường trong hình ảnh. Điều này rất quan trọng cho các hệ thống hỗ trợ lái xe tự động, giúp xe có thể di chuyển an toàn và chính xác trên đường.

1.2. Vai Trò Của FPGA Trong Nhận Diện Làn Đường

FPGA cung cấp khả năng xử lý song song và linh hoạt, cho phép thực hiện các thuật toán phức tạp như Hough Transform một cách hiệu quả. Điều này giúp cải thiện tốc độ và độ chính xác trong việc nhận diện làn đường.

II. Thách Thức Trong Nhận Diện Làn Đường

Mặc dù công nghệ nhận diện làn đường đã phát triển mạnh mẽ, nhưng vẫn còn nhiều thách thức cần phải vượt qua. Các yếu tố như điều kiện ánh sáng kém, vạch kẻ đường bị đứt nét, và sự thay đổi trong môi trường có thể ảnh hưởng đến độ chính xác của hệ thống. Nghiên cứu này sẽ phân tích các vấn đề chính và đề xuất giải pháp.

2.1. Ảnh Hưởng Của Điều Kiện Môi Trường

Điều kiện ánh sáng kém và thời tiết xấu có thể làm giảm khả năng nhận diện của hệ thống. Các nghiên cứu đã chỉ ra rằng việc sử dụng các mô hình học sâu có thể cải thiện khả năng nhận diện trong những điều kiện này.

2.2. Vấn Đề Về Vạch Kẻ Đường

Vạch kẻ đường bị đứt nét hoặc không rõ ràng có thể gây khó khăn cho việc nhận diện. Các thuật toán như Hough Transform cần được cải tiến để xử lý tốt hơn các tình huống này.

III. Phương Pháp Nhận Diện Làn Đường Trên FPGA

Để giải quyết các thách thức trong nhận diện làn đường, nhiều phương pháp đã được phát triển. Trong đó, thuật toán Hough Transform và Cordic là hai phương pháp chính được áp dụng trong nghiên cứu này. Cả hai đều có những ưu điểm và nhược điểm riêng, và việc kết hợp chúng có thể mang lại hiệu quả cao hơn.

3.1. Thuật Toán Hough Transform

Hough Transform là một phương pháp phổ biến để phát hiện các đường thẳng trong hình ảnh. Thuật toán này hoạt động bằng cách ánh xạ các điểm cạnh trong không gian ảnh sang không gian Hough, từ đó xác định các đường thẳng.

3.2. Thuật Toán Cordic

Cordic là một thuật toán tính toán lượng giác hiệu quả, giúp xác định góc lái cho xe tự hành. Thuật toán này có thể giảm độ phức tạp tính toán, nhưng cần được tối ưu hóa để cải thiện tốc độ xử lý.

IV. Ứng Dụng Thực Tiễn Của Nhận Diện Làn Đường

Nhận diện làn đường không chỉ có ứng dụng trong xe tự hành mà còn trong nhiều lĩnh vực khác như giao thông thông minh và hệ thống hỗ trợ lái xe. Các kết quả nghiên cứu cho thấy rằng việc áp dụng công nghệ này có thể cải thiện đáng kể an toàn giao thông.

4.1. Ứng Dụng Trong Xe Tự Hành

Xe tự hành sử dụng nhận diện làn đường để điều hướng và đảm bảo an toàn. Công nghệ này giúp xe có thể tự động chuyển làn và điều chỉnh tốc độ phù hợp với tình huống giao thông.

4.2. Giao Thông Thông Minh

Nhận diện làn đường cũng có thể được áp dụng trong các hệ thống giao thông thông minh, giúp tối ưu hóa lưu lượng giao thông và giảm thiểu tai nạn.

V. Kết Luận Và Hướng Phát Triển Tương Lai

Nghiên cứu về nhận diện làn đường và điều hướng cho xe tự hành trên FPGA đã chỉ ra nhiều tiềm năng và thách thức. Việc cải tiến các thuật toán và công nghệ hiện có sẽ giúp nâng cao hiệu quả và độ chính xác của hệ thống. Hướng phát triển trong tương lai có thể bao gồm việc áp dụng trí tuệ nhân tạo và học sâu để cải thiện khả năng nhận diện trong các điều kiện khó khăn.

5.1. Kết Luận Về Nghiên Cứu

Nghiên cứu đã chỉ ra rằng việc áp dụng FPGA trong nhận diện làn đường mang lại nhiều lợi ích, nhưng cũng cần phải giải quyết các thách thức hiện tại để đạt được hiệu quả tối ưu.

5.2. Hướng Phát Triển Tương Lai

Hướng phát triển trong tương lai có thể bao gồm việc tích hợp các công nghệ mới như học sâu và mạng nơ-ron để cải thiện khả năng nhận diện và điều hướng cho xe tự hành.

10/07/2025
Khóa luận tốt nghiệp kỹ thuật máy tính nhận diện làn đường và điều hướng cho xe tự hành trên fpga

Trích đoạn nội dung tài liệu

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.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu có tiêu đề "Nhận Diện Làn Đường và Điều Hướng Cho Xe Tự Hành Trên FPGA" cung cấp cái nhìn sâu sắc về công nghệ nhận diện làn đường và cách điều hướng cho xe tự hành sử dụng FPGA. Bài viết nêu bật các phương pháp và thuật toán hiện đại, giúp cải thiện độ chính xác và hiệu suất của hệ thống tự hành. Đặc biệt, tài liệu này không chỉ mang lại kiến thức về công nghệ mà còn mở ra hướng đi mới cho việc phát triển các ứng dụng giao thông thông minh, từ đó nâng cao an toàn và hiệu quả trong việc di chuyển.

Để mở rộng thêm kiến thức của bạn về lĩnh vực này, bạn có thể tham khảo tài liệu Đồ án hcmute nhận diện phương tiện giao thông sử dụng bộ phát hiện single shot multibox, nơi trình bày về công nghệ nhận diện phương tiện giao thông. Ngoài ra, tài liệu Luận văn thạc sĩ hcmute ứng dụng xử lý hình ảnh nhận dạng đường đi cho ôtô chạy tự động sẽ giúp bạn hiểu rõ hơn về ứng dụng xử lý hình ảnh trong xe tự hành. Cuối cùng, tài liệu Luận văn thạc sĩ khoa học máy tính nghiên cứu xây dựng các giải thuật dự báo tốc độ phương tiện của dòng xe dựa vào dữ liệu camera sẽ cung cấp thêm thông tin về việc sử dụng dữ liệu camera trong việc theo dõi và điều hướng phương tiện. Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về công nghệ và ứng dụng trong lĩnh vực giao thông tự động.