Thiết Kế Hệ Thống Phát Hiện Làn Đường Cho Xe Tự Hành Dựa Trên Phần Cứng

Khóa luận trình bày thiết kế hệ thống phát hiện làn đường cho xe tự hành, ứng dụng công nghệ phần cứng tiên tiến trong kỹ thuật phần mềm.

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

2022

87
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

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.2. Hướng nghiên cứu của đề tài

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

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

2.1. Phần mềm Matlab Simulink

2.2. Công cụ Xilinx System Generator

2.3. Các thuật toán sử dụng

2.3.1. Thuật toán Gray Scale

2.3.2. Thuật toán Sobel Edge Detection

2.3.3. Thuật toán Hough Transform

3. CHƯƠNG 3: THIẾT KẾ HỆ THỐNG ĐỀ XUẤT

3.1. Thiết kế hệ thống đề xuất trên Matlab Simulink và công cụ Xilinx System Generator

3.2. Thiết kế module Pre Processing và Post Processing

3.2.1. Thiết kế module Pre Processing

3.2.2. Thiết kế module Post Processing

3.3. Thiết kế module IP CORE

3.4. Thiết kế module MASKING

3.5. Thiết kế module GRAY SCALE

3.6. Thiết kế module SOBEL EDGE DETECTION

3.7. Thiết kế module HOUGH TRANSFORM

3.8. Đóng gói hệ thống đề xuất trên Vivado

3.9. Kiến trúc tổng quan thiết kế

3.9.1. Thiết kế trên phần mềm Vivado

4. CHƯƠNG 4: KẾT QUẢ ĐÁNH GIÁ HỆ THỐNG THIẾT KẾ

4.1. Kết quả mô phỏng Hardware Co-Simulation trên phần mềm Matlab Simulink và công cụ Xilinx System Generator

4.2. Kết quả tổng hợp, thực thi của thiết kế trên Vivado

4.2.1. Kết quả tổng hợp, thực thi của hệ thống phát hiện làn đường

4.2.2. Kết quả tổng hợp, thực thi của Block Design

4.3. So sánh kết quả thiết kế với các nghiên cứu liên quan

4.4. Ứng dụng hệ thống phát hiện làn đường trên Board Virtex-7 VC707 thông qua chuẩn giao tiếp PCIe

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

5.1. Khó khăn gặp phải

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

TÀI LIỆU THAM KHẢO

PHỤ LỤC I: BOARD FPGA XILINX VIRTEX-7 VC707

PHỤ LỤC II: CÁCH THỰC THI HARDWARE CO-SIMULATION

Tóm tắt

I. Tổng quan về Hệ Thống Phát Hiện Làn Đường Cho Xe Tự Hành

Hệ thống phát hiện làn đường cho xe tự hành là một phần quan trọng trong công nghệ hỗ trợ người lái xe nâng cao (ADAS). Hệ thống này sử dụng các thuật toán xử lý hình ảnh để nhận diện và theo dõi các làn đường, giúp xe tự hành di chuyển an toàn và hiệu quả. Việc phát hiện làn đường không chỉ giúp xe duy trì vị trí trong làn mà còn cảnh báo người lái khi có nguy cơ lệch làn.

1.1. Công nghệ và thuật toán trong phát hiện làn đường

Các công nghệ như cảm biến cameraradar được sử dụng để thu thập dữ liệu hình ảnh. Thuật toán Hough Transform là một trong những phương pháp phổ biến nhất để phát hiện các đường thẳng trong hình ảnh, nhờ vào khả năng xử lý tốt trong điều kiện ánh sáng khác nhau.

1.2. Lợi ích của hệ thống phát hiện làn đường

Hệ thống này giúp tăng cường an toàn giao thông bằng cách giảm thiểu nguy cơ tai nạn do lệch làn. Ngoài ra, nó còn hỗ trợ người lái trong việc điều khiển xe, đặc biệt trong các tình huống phức tạp.

II. Thách thức trong việc phát triển hệ thống phát hiện làn đường

Mặc dù công nghệ phát hiện làn đường đã có nhiều tiến bộ, nhưng vẫn tồn tại nhiều thách thức cần giải quyết. Các yếu tố như điều kiện ánh sáng, thời tiết và sự xuất hiện của các phương tiện khác có thể gây khó khăn cho việc nhận diện chính xác làn đường.

2.1. Ảnh hưởng của điều kiện môi trường

Điều kiện ánh sáng thay đổi có thể làm giảm độ chính xác của hệ thống. Các nghiên cứu cho thấy rằng nhiễu từ môi trường có thể ảnh hưởng đến khả năng phát hiện của các thuật toán hiện tại.

2.2. Giới hạn của các thuật toán hiện tại

Nhiều thuật toán như Hough Transform có độ phức tạp tính toán cao, yêu cầu tài nguyên bộ nhớ lớn, dẫn đến tốc độ xử lý chậm. Điều này cần được cải thiện để đáp ứng yêu cầu thực tế.

III. Phương pháp cải tiến hệ thống phát hiện làn đường

Để giải quyết các thách thức trên, nhiều phương pháp cải tiến đã được đề xuất. Việc sử dụng bảng tra cứu (LUT) để lưu trữ các giá trị lượng giác là một trong những giải pháp hiệu quả nhằm giảm thiểu thời gian tính toán.

3.1. Sử dụng bảng tra cứu LUT

Bảng tra cứu giúp giảm thời gian tính toán các phép toán lượng giác phức tạp mà không làm thay đổi độ chính xác của hệ thống. Điều này đã được chứng minh trong nhiều nghiên cứu gần đây.

3.2. Tối ưu hóa thuật toán Hough Transform

Việc tối ưu hóa thuật toán Hough Transform thông qua các phương pháp như bầu chọn song song giúp tăng tốc độ xử lý mà vẫn đảm bảo độ chính xác cao.

IV. Ứng dụng thực tiễn của hệ thống phát hiện làn đường

Hệ thống phát hiện làn đường đã được ứng dụng rộng rãi trong các phương tiện tự hành và hỗ trợ lái xe. Các kết quả nghiên cứu cho thấy rằng hệ thống này có thể hoạt động hiệu quả trong nhiều điều kiện khác nhau.

4.1. Kết quả nghiên cứu và thử nghiệm

Nghiên cứu cho thấy rằng hệ thống phát hiện làn đường có thể đạt được độ chính xác lên đến 94% trong các thử nghiệm thực tế. Điều này chứng tỏ tính khả thi của hệ thống trong môi trường giao thông.

4.2. Ứng dụng trong công nghiệp ô tô

Nhiều nhà sản xuất ô tô đã tích hợp hệ thống phát hiện làn đường vào các mẫu xe mới, giúp nâng cao tính năng an toàn và hỗ trợ người lái.

V. Kết luận và hướng phát triển tương lai

Hệ thống phát hiện làn đường cho xe tự hành đang trên đà phát triển mạnh mẽ. Các nghiên cứu hiện tại đã chỉ ra rằng việc cải tiến công nghệ và thuật toán là cần thiết để nâng cao hiệu suất và độ chính xác của hệ thống.

5.1. Tương lai của công nghệ phát hiện làn đường

Công nghệ phát hiện làn đường sẽ tiếp tục được cải tiến với sự phát triển của trí tuệ nhân tạo và học máy, giúp nâng cao khả năng nhận diện trong các điều kiện khó khăn.

5.2. Định hướng nghiên cứu tiếp theo

Các nghiên cứu tiếp theo nên tập trung vào việc phát triển các thuật toán mới và cải tiến phần cứng để đáp ứng nhu cầu ngày càng cao của thị trường ô tô tự hành.

10/07/2025
Khóa luận tốt nghiệp kỹ thuật phần mềm thiết kế hệ thống phát hiện làn đường cho xe tự hành dựa trên phần cứng

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

Đặt vấn đề Nhận diện làn đường là một trong nhiều mục tiêu có tầm quan trọng nhất định trong xử lý hình ảnh, thị giác máy tính; được ứng dụng trong công nghiệp như chỉ dẫn phương tiện; hay trong công nghệ hỗ trợ người lái xe nâng cao (ADAS). Nhiều thuật toán khác nhau đã được áp dụng trong nhận diện làn đường, tuy nhiên thuật toán Hough Transform được áp dụng rộng rãi nhờ tính ồn định các van đề như đường thăng không liền mạch, xuất hiện nhiều nét đứt gãy hay ảnh hưởng của nhiễu từ môi trường xung quanh. Tuy vậy, thuật toán này có độ phức tạp tính toán cao do phải sử dụng nhiều phép tính lượng giác, yêu cầu tài nguyên bộ nhớ lớn và vì thế mà trong thực tế, tốc độ xử lý của thuật toán sẽ bị chậm đi. Do đó, đây vẫn là một thách thức khi hiện thực hệ thống phát hiện làn đường cho xe tự hành dựa trên thuật toán Hough Transform.

Một số nghiên cứu liên quan Theo như các nghiên cứu trước đó, nghiên cứu [2] [3] đã xây dựng một kiến trúc phần cứng cho giải thuật Hough Transform song song và sử dụng giải pháp bảng tra cứu LUT, điều này giúp giảm thời gian tính toán các phép toán lượng giác phức tạp mà không làm thay đổi độ chính xác, ngoài ra nghiên cứu [2] còn đề ra các giải pháp tính toán song song và bầu chọn song song nhằm làm tăng tốc độ xử lý. Dựa trên nghiên cứu [2], nghiên cứu [3] tiếp tục làm tăng tốc độ xử lý và giảm yêu cầu bộ nhớ nhờ vào việc bầu chọn các vị trí có số phiếu bầu lớn nhất ở cục bộ - local maximum. Đối với nghiên cứu [4] 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. Tương tự như nghiên cứu [4], ở nghiên cứu [5], các tác giả đã dùng phương pháp sử dụng các đặc điểm cu thé của làn đường để sửa đổi thuật toán HT tiêu chuẩn, đồng thời phân tách thuật toán mới thành một tập hợp các khối several hardware (HW) va software (SW).

Hiệu suất hoạt động được tối ưu hóa rất nhiều bằng cách giảm trực tiếp của phép tính HT và bộ nhớ tiêu thụ. Các tác giả ở nghiên cứu [6] đã xây dựng hệ thống cảnh báo chệch làn đường hoạt động chính xác trong các điều kiện ánh sáng khác nhau dựa trên tầm nhìn một mắt trong thời gian thực. Các thuật toán được tác giả sử dụng trong hệ thống chủ yếu là phương pháp ngưỡng Otsu và thuật toán Hough Transform đề giải quyết vấn dé ánh sáng, trích xuất ranh giới làn đường và giám sát vị trí của xe đối với làn đường và cung cấp cảnh báo nếu phương tiện sắp ra khỏi làn. Ở nghiên cứu [7], các tác giả đã xây dựng thuật toán Hough dựa trên gradient — một cải tiến của biến đổi Hough ban dau, dé phát hiện đường thang.

Nhờ vậy, lượng tính toán được giảm đáng ké mà không làm thay đổi độ chính xác. Hệ thống được các tác giả xây dựng bằng cách sử dụng Xilinx Virtex-7 FPGA với các lát cắt DSP được nhúng và khối RAM. Các thuật toán Gaussian blur, Gray Scale, DLD-threshold và Hough Transform được các tác giả sử dung chủ yếu ở nghiên cứu [8] để phát hiện đường thing. Phương pháp này có thể hoạt động hiệu quả, chính xác và thu được kết quả tốt cả trong trường hợp thông tin đường đơn giản cũng như phức tạp.

Tuy nhiên, nghiên cứu này không xem xét tác động ánh sáng mạnh và vạch làn không rõ ràng do môi trường gây ra. Hướng nghiên cứu của đề tài Dựa trên ý tưởng phát triển hệ thống phát hiện làn đường đã xuất hiện ở những công trình nghiên cứu trước đó, nhóm đề xuất một kiến trúc phần cứng đề phát hiện làn đường dựa trên thuật toán Hough Transform được thiết kế và mô phỏng trên Matlab Simulink. Đồng thời sau khi đã kiểm tra chức năng trên phần mềm nhóm tiến hành ứng dụng hệ thống trên board FPGA thông qua chuẩn giao tiếp PCle dé thực hiện phát hiện làn đường cho video theo thời gian thực. Mục tiêu của đề tài Ở khóa luận này, nhóm sẽ xây dựng một kiến trúc Hough Transform dựa trên bài báo [4] [5] để xây dựng một hệ thống day đủ các giải thuật xử lý ảnh từ video gốc ban đầu, đồng thời cải tiến được tốc độ thực thi, độ phân giải xử lý của frame ảnh.

Từ đó thiết kế được một hệ thống phát hiện làn đường và mô phỏng trên phần mềm Matlab Simulink kết hợp với thư viện Xilinx System Generator dé kiểm tra chức năng hoạt động của hệ thống. Sau khi đã kiểm tra chức năng hoạt động sẽ tiến hành tạo ra HDL Netlist sang phần mềm Vivado và thực hiện đóng gói Block Design để có thể thực hiện trên chuẩn giao tiếp PCle. Từ đó có thé đạt được tốc độ truyền dữ liệu tối đa để xử lý thời gian thực. Mục tiêu về tốc độ, tan số của kiến trúc nhóm dé xuất so với các nghiên cứu trước đó được thê hiện ở Bảng 1.1: Mục tiêu kiến trúc đề xuất của nhóm Kiến trúc [2] [3] [4] I5] của nhóm Độ phân giải 1024x768 | 640x480 | 640x480 | 1024x1024 | 1024x1024 Tần số (MHz) 200 50 200 145 150 Thời | (ms⁄img) | 5.

- Bố cục báo cáo Báo cáo này chia làm 05 chương chính. Chương đầu tiên đặt van dé về đề tài, hướng nghiên cứu của để tài và mục tiêu của đề tài. Các chương tiếp theo được trình bày như sau: Chương 2. CƠ SỞ LÝ THUYET Chương 2 sẽ trình bày những công cụ phục vụ trong việc thiết kế hệ thống và lý thuyết của các giải thuật được sử dụng trong hệ thống.

THIẾT KE HE THONG ĐÈ XUẤT Chương 3 sẽ trình bày về tổng quan hệ thống phát hiện làn đường được thực hiện trên nền tảng chính là Matlab Simulink kết hợp cùng Xilinx System Generator cũng như tổng quan thiết kế Block Design của hệ thống và các IP của Xilinx dùng trong thiết kế trên phần mềm Vivado Design Suite. KET QUA ĐÁNH GIÁ HE THONG THIẾT KE Chương 4 trình bày phương pháp đánh giá của thiết kế, kiểm tra kết quả mô phỏng của hệ thống dựa trên công cụ Co — Simulation được tích hợp trong Xilinx System Generator và kết quả tổng hợp, thực thi của thiết kế trên Vivado cũng như trên Board FPGA Virtex-7 VC707. Bên cạnh đó, kết quả thực hiện cũng được so sánh với các nghiên cứu liên quan. KET LUẬN VÀ HƯỚNG PHÁT TRIÊN Chương 5 sẽ tóm tắt toàn bộ công việc và kết quả đạt được.

Đồng thời đề ra phương hướng phát triển cho đề tài trong tương lai cũng được trình bày ở chương này. Tổng quan Trong dé tài này, nhóm dé xuất một kiến trúc phát hiện làn đường dựa trên thuật toán Hough Transform — một thuật toán rất hữu ích, đặc biệt trong quá trình xử lý ảnh. Mục đích chính của thuật toán này chính là dựa trên quá trình “bầu chọn” mà sẽ trích xuất lại những đường thăng hoàn chỉnh từ những điểm đen phát hiện được sau thuật toán Gray Scale và Sobel Edge Detection. Quá trình “bầu chọn” được phát triển từ thuật toán HT và sau đó được thực hiện trong một không gian biến để tìm ra “phiếu bầu” được bầu chọn nhiều nhất, hay nói cách khác, những điểm ảnh có cặp giá trị góc và khoảng cách tương ứng với “phiếu bầu” sẽ cùng nằm trên một đường thẳng.

Phần mềm Matlab Simulink Matlab là từ viết tắt của Matrix Laboratory, một ngôn ngữ lập trình cấp cao dạng thông dịch. Nó là môi trường tính toán số được thiết kế bởi công ty MathWorks. Matlab cho phép thực hiện các phép tính toán số, ma trận, vẽ dé thi hàm số hay biểu diễn thông tin (đưới dạng 2D hay 3D), thực hiện các thuật toán và giao tiếp với các chương trình của các ngôn ngữ khác một cách dễ dàng. Simulink là một công cụ mô phỏng được thiết kế tích hợp sẵn trong Matlab, nó giúp ta có thể dễ dang xây dựng các thuật toán xử lý tín hiệu một cách dé dàng thông qua các khối (block) chức năng được thiết kế sẵn.

Ngoài ra nó còn tạo môi trường thuận lợi cho việc xử lý các bài toán DSP trên phần mềm, sau đó chuyền sang phần cứng với sự hỗ trợ của công cụ Xilinx được tích hợp cùng.1 mô tả bộ thư viện Matlab Simulink. hạn ren IH El S&S & ‘Lookup Tables H ie Tư (ven ors & subsystems 'Model-\Wide Utlities Discrete Logic and Bit’ Sperators Lookup Tablet operations Math Spel atrbates Sonal Routing + 2 =| & Sources ‘User-Defined Functions Model-wide Mode! Ports & ‘Signal ‘Additional Math & Discrete Utilities Verification Subsystems Attributes Aerospace Bctet Ao Syste Todlox Aomated Diving Sytem Toolbox bài. + Communications System Toobox as 2 Camputer ison System Toobox Communicators System Toobox HOL Supp = feng oe Hình 2.1: Bộ thư viện Matlab Simulink 2. Công cụ Xilinx System Generator Xilinx System Generator (XSG) [9] là công cụ phát triển hệ thống cho FPGA, cho phép thiết kế hệ thống ở dạng các khối và hỗ trợ mô phỏng, debug, tạo code để nạp vào FPGA hoặc kết hợp vào những ứng dụng lớn hơn.

XSG được xây dựng như một Blockset của Simulink trong Matlab. Do đó, XSG thừa hưởng tất cả các ưu điểm của Simulink trong việc xây dựng hệ thống và mô phỏng. XSG còn sử dụng thư viện Logic Core đề xây dựng các block của mình. Trong thư viện của XSG có tat cả các khối thực hiện các chức năng từ cơ bản như cộng, trừ, nhân, các khối logical,.

cho đến những thiết kế phức tạp như các DSP, bộ lọc số, nhân chập, UART. , các bộ nhớ tích hợp: Single Port Ram, Dual Port Ram, FIFOs, các thanh ghi,. XSG còn cho phép người thiết kế tạo ra các khối để thực hiện những nhiệm vụ riêng biệt bằng khối Black Box, tại đây người thiết kế sẽ tạo ra các entity và cài mã của nó vào Black Box để tạo ra các thiết kế riêng của mình. Những thiết kế của XSG có thé được dich ra nhiều kiểu dữ liệu, có thé thành file *.bir để nạp ngay vào phan cứng thông qua chức năng Hardware Co — Simulation được tính hợp, hoặc thành các thiết kế để ghép vào một hệ thống lớn hơn.

Với việc kết hợp với MathWorks để xây dựng XSG, Xilinx đã làm cho việc thiết kế hệ thống trên FPGA trở nên thuận tiện và đơn giản hơn rất nhiều đối với người làm kỹ thuật. Trong khóa luận này, nhóm đã sử dụng XSG dé xây dụng toàn bộ phan thuật toán xử lý ảnh phát hiện làn đường.

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

Tài liệu có tiêu đề Hệ Thống Phát Hiện Làn Đường Cho Xe Tự Hành Dựa Trên Phần Cứng trình bày một hệ thống tiên tiến giúp nhận diện và theo dõi làn đường cho xe tự hành, sử dụng công nghệ phần cứng hiện đại. Hệ thống này không chỉ cải thiện độ chính xác trong việc điều hướng mà còn tăng cường an toàn cho các phương tiện tự hành. Các điểm chính của tài liệu bao gồm các phương pháp phát hiện làn đường, các thuật toán xử lý hình ảnh, và ứng dụng thực tiễn trong giao thông.

Độc giả có thể tìm hiểu thêm về các khía cạnh liên quan đến công nghệ này qua tài liệu Luận án tiến sĩ nghiên cứu phát triển các thuật toán ước lượng mặt phẳng và dẫn đường cho hệ thống thị giác rôbốt trong nhà, nơi cung cấp cái nhìn sâu sắc về các thuật toán dẫn đường và ứng dụng của chúng trong môi trường nội thất. Những tài liệu này sẽ giúp bạn mở rộng kiến thức và hiểu rõ hơn về sự phát triển của công nghệ xe tự hành và các hệ thống hỗ trợ điều hướng.