Khóa Luận Tốt Nghiệp Về Phần Cứng AI Dựa Trên FPGA Cho Nhận Diện Làn Đường

Khóa luận trình bày phương pháp nhận diện làn đường bằng phần cứng AI trên FPGA, ứng dụng trong kỹ thuật máy tính và giao thông thông minh.

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

74
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. Các nghiên cứu liên quan

1.1.1. Các nghiên cứu phần mềm

1.1.2. Các nghiên cứu phần cứng

1.2. Mục tiêu đề tài

1.3. Mạng nơ-ron (Neural Networks)

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

3. CHƯƠNG 3: KIẾN TRÚC CNN ĐỀ XUẤT

4. CHƯƠNG 4: KIẾN TRÚC PHẦN CỨNG ĐỀ XUẤT

5. CHƯƠNG 5: HIỆN THỰC TRÊN FPGA

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

7. CHƯƠNG 7: TỔNG KẾT

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

7.2. 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 KHÓA LUẬN

MỞ ĐẦU

Tóm tắt

I. Tổng Quan Về Phần Cứng AI Dựa Trên FPGA Cho Nhận Diện Làn Đường

Phần cứng AI dựa trên FPGA đang trở thành một giải pháp hiệu quả cho bài toán nhận diện làn đường. Công nghệ này cho phép xử lý nhanh chóng và tiết kiệm năng lượng, điều này rất quan trọng trong các hệ thống tự động hóa. FPGA (Field-Programmable Gate Array) có khả năng cấu hình lại, giúp tối ưu hóa cho các ứng dụng cụ thể như nhận diện làn đường. Việc áp dụng công nghệ này không chỉ nâng cao hiệu suất mà còn giảm thiểu chi phí vận hành.

1.1. FPGA Là Gì Và Tại Sao Nên Sử Dụng

FPGA là một loại mạch tích hợp có thể lập trình lại, cho phép các kỹ sư thiết kế các mạch điện tử tùy chỉnh. Sử dụng FPGA cho nhận diện làn đường giúp tăng tốc độ xử lý và giảm tiêu thụ năng lượng so với các giải pháp truyền thống.

1.2. Lợi Ích Của Việc Sử Dụng Phần Cứng AI

Việc sử dụng phần cứng AI giúp cải thiện độ chính xác trong nhận diện làn đường. Các mô hình CNN có thể được tối ưu hóa để chạy trên FPGA, mang lại hiệu suất cao mà không cần tiêu tốn nhiều năng lượng.

II. Thách Thức Trong Nhận Diện Làn Đường Bằng Công Nghệ AI

Nhận diện làn đường gặp nhiều thách thức do sự đa dạng của môi trường thực tế. Các yếu tố như ánh sáng yếu, vạch phân cách không rõ ràng có thể làm giảm độ chính xác của các mô hình AI. Điều này đòi hỏi các giải pháp phải linh hoạt và có khả năng thích ứng với nhiều tình huống khác nhau.

2.1. Các Yếu Tố Ảnh Hưởng Đến Độ Chính Xác

Ánh sáng, thời tiết và tình trạng đường là những yếu tố chính ảnh hưởng đến khả năng nhận diện của hệ thống. Các mô hình cần được huấn luyện trên nhiều loại dữ liệu để cải thiện khả năng nhận diện trong các điều kiện khác nhau.

2.2. Giải Quyết Vấn Đề Độ Trễ Trong Xử Lý

Độ trễ trong xử lý là một vấn đề lớn khi sử dụng các mô hình CNN. Việc tối ưu hóa kiến trúc phần cứng trên FPGA có thể giúp giảm thiểu độ trễ, đảm bảo hệ thống hoạt động hiệu quả trong thời gian thực.

III. Phương Pháp Thiết Kế Phần Cứng AI Trên FPGA

Thiết kế phần cứng AI trên FPGA yêu cầu một quy trình chặt chẽ để đảm bảo hiệu suất tối ưu. Các kỹ thuật như pipelining và quantization được áp dụng để cải thiện throughput và giảm thiểu tài nguyên sử dụng. Việc này không chỉ giúp tăng tốc độ xử lý mà còn tiết kiệm năng lượng.

3.1. Kỹ Thuật Pipelining Trong Thiết Kế

Pipelining cho phép xử lý nhiều tác vụ đồng thời, từ đó tăng tốc độ xử lý tổng thể của hệ thống. Kỹ thuật này rất quan trọng trong việc tối ưu hóa các mô hình CNN trên FPGA.

3.2. Lượng Tử Hóa Dữ Liệu Để Tối Ưu Tài Nguyên

Lượng tử hóa dữ liệu giúp giảm kích thước mô hình và tăng tốc độ xử lý. Kỹ thuật này cho phép các mô hình CNN hoạt động hiệu quả hơn trên FPGA mà không làm giảm độ chính xác.

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

Phần cứng AI dựa trên FPGA đã được áp dụng thành công trong nhiều hệ thống nhận diện làn đường. Các nghiên cứu cho thấy rằng việc sử dụng FPGA không chỉ cải thiện độ chính xác mà còn tăng tốc độ xử lý, giúp các hệ thống hoạt động hiệu quả hơn trong môi trường thực tế.

4.1. Kết Quả Nghiên Cứu Về Độ Chính Xác

Nghiên cứu cho thấy mô hình CNN được tối ưu hóa trên FPGA đạt độ chính xác lên đến 93% khi xử lý dữ liệu từ tập TuSimple. Điều này chứng tỏ khả năng của FPGA trong việc hỗ trợ nhận diện làn đường.

4.2. Tốc Độ Xử Lý Của Hệ Thống

Hệ thống phần cứng FPGA có thể đạt tốc độ xử lý lên đến 549 FPS, cho thấy khả năng hoạt động hiệu quả trong thời gian thực. Điều này rất quan trọng cho các ứng dụng trong xe tự hành.

V. Kết Luận Và Tương Lai Của Phần Cứng AI Trong Nhận Diện Làn Đường

Phần cứng AI dựa trên FPGA đang mở ra nhiều cơ hội mới cho nhận diện làn đường. Với khả năng tối ưu hóa hiệu suất và tiết kiệm năng lượng, công nghệ này hứa hẹn sẽ trở thành tiêu chuẩn trong các hệ thống tự động hóa trong tương lai. Việc tiếp tục nghiên cứu và phát triển sẽ giúp cải thiện hơn nữa độ chính xác và tốc độ xử lý.

5.1. Hướng Phát Triển Trong Nghiên Cứu

Nghiên cứu tiếp theo sẽ tập trung vào việc cải thiện độ chính xác và khả năng thích ứng của các mô hình CNN trên FPGA. Các kỹ thuật mới sẽ được áp dụng để tối ưu hóa hơn nữa hiệu suất của hệ thống.

5.2. Tương Lai Của Công Nghệ Nhận Diện Làn Đường

Công nghệ nhận diện làn đường sẽ tiếp tục phát triển, với sự hỗ trợ của các giải pháp phần cứng AI. Điều này sẽ giúp nâng cao độ an toàn và hiệu quả trong giao thông, đặc biệt là trong các hệ thống 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 bằng phần cứng ai trên fpga

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

Chương 1: Giới thiệu tổng quan dé tai Trình bày tổng quát về mục tiêu của vấn đề phân loại làn đường, sau đó liệt kê và phân tích một số nhóm giải pháp hiện đang tồn tai, các nghiên cứu trong các giải pháp này, điểm mạnh và điểm yếu của chúng. © Chương 2: Cơ sở lý thuyết Trình bày các lý thuyết nền được sử dụng trong đề tài. Ở mỗi mục trình bày cơ sở lý thuyết, ví dụ minh họa và hình ảnh nếu có. ¢ Chương3: 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ế. Cuối cùng, chỉ tiết về quá trình training được trình bày. e Chương 4: Kiến trúc phan cứng đề xuất Trình bày chỉ tiết về kiến trúc của thiết kế phần cứng cho mạng CNN. Phân tích về các giải pháp để song song hóa giải thuật convolution cùng với các thiết kế phần cứng tương ứng.

Đưa ra phân tích và cách lựa chọn các phiên bản thiết kế cho phiên bản cuối cùng. se _ Chương 5: 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 bày cách xây dựng hệ thống và các phương pháp để vận hành, kiểm tra. e Chương 6: Kết quả Đưa ra kết quả về độ chính xác và tốc độ của mô hình phần mềm lẫn phần cứng.

Ngoài ra, trình bày kết quả về tài nguyên phần cứng và các hình ảnh thực tế. © Chuong 7: Tổng kết Đưa ra kết luận, trình bay các van dé gặp phải và hướng phát triển của đề tài. GIỚI THIEU TONG QUAN DE TÀI 1. Giới thiệu Một phương pháp truyền thống cho bài toán nhận diện làn đường là các giải thuật được thiết kế tay đề trích xuất các đặc trưng như màu sắc [2] [3] hay các thuật toán như hough transform [4] [5] [6].

Mặc dù nhiều thuật toán đạt được tốc độ rất nhanh, các phương pháp này thường không được linh hoạt và dễ bị lỗi do tính đa dạng của hình ảnh ngoài đời thật như ánh sáng thấp, vạch phân cách không được vẽ rõ rang,.1 trình bay một ví dụ lỗi của AR-LHT [6], một mô hình dựa trên hough transform. Kết quả được chạy từ mã nguồn của mô hình [7]. bằng kỹ thuật học sâu (deep learning), cụ thể là các mô hình CNN, nhờ vào hàng loạt các công trình nghiên cứu chứng tỏ CNN có khả năng mang lại độ chính xác cao cho rất nhiều ứng dụng khác nhau. Các mô hình CNN có thể đượ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ể hóa bởi con người.

Một phương pháp thường được dùng cho bài toán phân loại làn đường là xuất ra segmentation map. Một số mô hình tiêu biéu sử dụng phương pháp này bao gồm U-Net [8], Enet [9], LaneNet [10] và một mô hình sử dụng mạng LSTM [11]. Các phương pháp nay xuất ra một ảnh output có kích thước giống với input, nhưng mỗi pixel đều được phân loại vào một lớp khác nhau. Mặc dù các phương pháp này đạt được độ chính xác cao, kết quả đầu ra của chúng thường không được tối ưu.

Dé giải thích rõ hơn, các làn đường là những đường cong liên tục, mỏng và dài, việc miêu tả chúng bằng các nhóm pixel dày đặc sẽ không chứa được các thông tin về hình học, ví dụ như góc nghiêng, và các thông tin này đòi hỏi nhiều hậu xử lý từ đầu ra của mô hình để có thé trích xuất ra.2 thé hiện một ví dụ về segmentation do nhóm tạo ra. Đâu vào Đâu ra Hình 1.2: Ví dụ về segmentation Các nghiên cứu gần đây đề xuất các giải pháp cho vấn đề này bằng các phương pháp miêu tả làn đường nhỏ gọn hơn và có thể chứa thêm các thông tin miêu tả về hình học. Vi dụ, Line-CNN [12] sử dụng khối Line Proposal Unit (LRU) để dự đoán làn đường sử dụng các đường thắng được định nghĩa trước. CondLaneNet [13] va PINet [14] miêu ta làn đường bằng cách dự đoán ra các điểm thưa dọc trên các làn đường và PolyLaneNet [15] biến bài toán phân loại làn đường thành bài toán hồi quy.

Mặc dù đạt được độ chính xác vô cùng cao và có kết quả đầu ra rất tối ưu, các phương pháp này đều được chạy trên các GPUs có mức độ tiêu thụ năng lượng rất cao, dẫn đến chúng khó mang tính thực tiễn cho các hệ thống di động trên xe. Từ các van đề trên, ta có thé thay một mô hình CNN có độ chính xác cao kèm với đầu ra mang tính tối ưu là một trong những giải pháp hiệu quả nhất cho bài toán phân loại làn đường. Đồng thời, việc có khả năng hiện thực mô hình này trên một nên tảng có khả năng xử lý song song cao mà không tiêu tốn nhiều năng lượng, ví dụ như FPGA, sẽ mang đến một giải pháp cực kỳ tối ưu cho các hệ thống di động dùng pin trên xe tự hành. Các nghiên cứu liên quan 1.

Các nghiên cứu phần mềm Các phương pháp deep learning ban đầu tìm cách giải quyết bài toán phân loại làn đường sử dụng semantic segmentation [9] [11]. Các mô hình 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 ảnh đầu vào, nhưng mỗi pixel đều được phân loại vào một lớp khác nhau như đường, xe, người đi bộ,. Mặc dù có kha năng thé hiện các hình dạng phức tạp, kỹ thuật nay không thể phân biệt các làn đường riêng biệt khác nhau, do tất cả mọi pixel trong tất cả các làn đều được phân loại vào cùng một lớp như nhau.3 trình bày đầu ra của mô hình CNN sử dụng kỹ thuật LSTM được công bố ở bài báo [11].3: Kết qua semantic segmentation của bài báo [11] LaneNet [10] tìm cách giải quyết van đề này bằng cách sử dụng instance segmentation thay vì semantic segmentation, tức là cũng xuất ra segmentation map, tuy nhiên các pixel thuộc mỗi làn đường khác nhau sẽ được nhóm về thành các nhóm khác nhau.4 trình bày đầu ra của mô hình LaneNet. Đ&vầàuo nhãn a 3 N Đrầau Tuy có những cải tiến trên, các kiến trúc segmentation nói chung đều không được tối ưu, do các vạch phân cách làn đều mỏng và dài, chạy dọc theo bức ảnh.

Mặc dù các segmentation map nhìn rất đẹp khi đánh giá bằng mắt, việc thé hiện các vạch phân cách làn bằng các nhóm pixel dày đặc sẽ đòi hỏi đầu ra đó được xử lý không hề ít dé có thể nhóm lại và xuất ra các thông tin như góc nghiêng của làn, tọa độ của trung điểm,. Các nghiên cứu gần đây nhắm đến việc giải quyết sự thiếu tối ưu này bằng cách quy tắc miêu tả làn đường nhỏ gọn hơn các segmentation map. Dựa trên Region Proposal Network (RPN) của Faster R-CNN [16], Line-CNN [12] đề xuất khối Line Proposal Unit (LPU) có khả năng dự đoán các offset của làn đường so với các đường thing đã được định nghĩa sẵn. UFAST [17] đề xuất một quy tắc miêu tả làn đường theo từng hàng (row-wise formulation), tức là đầu ra bao gồm một danh sách hoành độ tương ứng và các tung độ đã được định sẵn.

Quy tắc miêu tả này được cải thiện thêm bởi CondLaneNet [13] bằng cách thêm hai bộ giá trị vertical range và offset map. Một ý tưởng khác, PINet [14], dự đoán các điểm thưa trên làn đường, sau đó được cụm lại thành từng instance khác nhau (phân biệt được điểm nào thuộc làn nào).5 trình bày dạng au ra của Line-CNN [12]. Đề xuất 15 đường ¬ Le By Te Le Lo Đường L3 có xác suất cao nhất [0.8 vu C + + a Xác suất Độ dai Cac offset hoành độ dọc trên L3 để định nghĩa vạch phân cách _) Hình 1.5: Dạng đầu ra của Line-CNN [12] Mặc dù giải quyết được vấn đề thiếu tối ưu của segmentation map mà vẫn mang độ chính xác vô cùng cao, các phương pháp mới này vẫn sử dụng các mô hình CNN có kích thước quá lớn để đạt được tốc độ real-time. Thậm chí các mô hình được công bồ với tốc độ vô cùng nhanh như UFAST [17] hay CondLaneNet [13], các tốc độ này đều được đánh giá trên các GPU có cấu hình cao.

Mức độ tiêu thụ năng lượng của các GPU này khiến chúng khó có thể tích hợp được vào các hệ thống nhúng di động sử dụng bởi các xe tự hành. Các nghiên cứu phần cứng Dé cải thiện về tốc độ xử lý lẫn năng lượng tiêu thụ, nhiều nghiên cứu tập trung vào thiết kế các bộ gia tốc phần cứng. ChipNet [18] [19] là một mô hình CNN được thiết kế dé phân loại phần đường xe chạy sử dụng cảm biến LiDAR. Mô hình này được hiện thực trên FPGA Xilinx UltraScale XCKUI15 và đạt được tốc độ 79.

Cho đầu vào từ camera, một mô hình CNN khác mang tên RoadNet-RT [20] được thiết kế cho đầu ra có ứng dụng tương tự với ChipNet. Sử dụng kỹ thuật lượng tử hóa dữ liệu (data quantization), mô hình này đạt được tốc độ 327.9 FPS khi được hiện thực trên FPGA ZCU102 MPSoC. Sử dụng kỹ thuật được trình bày ở [21], throughput của RoadNet-RT tiếp tục được cải thiện bằng cách thực hiện hai phép nhân 8-bit song song trên một nhân DSP48E2, từ đó thiết kế một phiên bản 8-bit có thê xử lý hai ảnh đầu vào một cách song song. Tuy nhiên, phiên bản này kém tính thực tế bởi vì thông thường các camera chỉ xuất ra từng khung ảnh một cách tuần tự, có nghĩa là trong một ứng dụng thực tế, thường chỉ có một ảnh đề xử lý một lúc.

Hơn nữa, cả hai phương pháp này đều xuất ra segmentation map, từ đó mang lại sự thiếu tối ưu được nhắc đến ở phần 1. Mục tiêu đề tài Để giải quyết bài toán phân loại làn đường và tối ưu về năng lượng tiêu thụ của mô hình CNN, trong khóa luận này, nhóm đưa ra ba mục tiêu chính: 1. Thiết kế một mô hình CNN có kích thước nhẹ, huấn luyện và đánh giá trên tập dữ liệu TuSimple. Mô hình sẽ được đánh giá bằng ba thang đo được cung cấp bởi tập dữ liệu bao gồm: accuracy, false positive (FP) và false negative (FN), mục tiêu có accuracy > 95%.

Thiết kế một kiến trúc phần cứng cho mô hình CNN trên, sử dụng các kỹ thuật để tối ưu như pipeline, data quantization dé đảm bảo mang lại sự đánh đổi tốt nhất và throughput, tài nguyên phần cứng và năng lượng tiêu thụ. Hiện thực kiến trúc này lên FPGA Virtex-7 VC707 như một bộ gia tốc phần cứng cho vi xử lý chính thông qua chuẩn giao tiếp PCle.

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

Tài liệu có tiêu đề Phần Cứng AI Dựa Trên FPGA Cho Nhận Diện Làn Đường khám phá cách mà công nghệ FPGA (Field-Programmable Gate Array) có thể được áp dụng trong lĩnh vực nhận diện làn đường, một phần quan trọng trong hệ thống lái xe tự động. Tài liệu này nêu bật những lợi ích của việc sử dụng FPGA, bao gồm khả năng xử lý nhanh chóng và hiệu quả, giúp cải thiện độ chính xác trong việc nhận diện và phân tích hình ảnh từ camera. Độc giả sẽ tìm thấy thông tin hữu ích về cách mà phần cứng này có thể tối ưu hóa các thuật toán AI, từ đó nâng cao hiệu suất của các ứng dụng trong giao thông.

Để mở rộng kiến thức của bạn về các ứng dụng của công nghệ FPGA và mạng nơron trong nhận diện hình ảnh, bạn có thể tham khảo tài liệu Triển khai mạng nơron tích chập trên nền tảng fpga và ứng dụng trong nhận dạng ảnh, nơi cung cấp cái nhìn sâu sắc về cách triển khai mạng nơron trên FPGA. Ngoài ra, tài liệu Khóa luận tốt nghiệp kỹ thuật máy tính thiết kế bộ tăng tốc tính toán cnn sẽ giúp bạn hiểu rõ hơn về việc tối ưu hóa các thuật toán CNN cho các ứng dụng thực tiễn. Cuối cùng, tài liệu Luận văn mạng nơron và ứng dụng mạng nơron trong nhận dạng cảm xúc trên khuôn mặt người sẽ mở rộng thêm kiến thức về ứng dụng của mạng nơron trong các lĩnh vực khác nhau, bao gồm nhận diện cảm xúc. 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ệ AI và FPGA.