Luận văn: Công nghệ nhận diện làn đường, biển báo cho xe tự hành dùng Raspberry Pi

Luận văn nghiên cứu công nghệ nhận diện làn đường, biển báo cho xe tự hành. Xây dựng mô hình thực tế bằng Raspberry Pi, OpenCV và ngôn ngữ C++.

Chuyên ngành

Kỹ thuật Cơ khí

Người đăng

Ẩn danh

Thể loại

Luận văn tốt nghiệp

2023

71
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về xe tự hành Raspberry Pi

Xe tự hành Raspberry Pi là một giải pháp công nghệ tiên tiến trong lĩnh vực xe tự động hóa. Với sự phát triển của trí tuệ nhân tạo (AI)Internet vạn vật (IoT), các chuyên gia dự báo rằng xe tự lái sẽ trở nên phổ biến trong 15-20 năm tới. Hiện nay, nhiều tập đoàn công nghệ hàng đầu đang tham gia cuộc đua phát triển công nghệ tự hành thông minh. Tại Việt Nam, công nghệ này đã bắt đầu được ứng dụng tại Bình Dương với khả năng tự hành cấp độ 4. Nghiên cứu về nhận diện làn đường và biển báo là nền tảng quan trọng để xe tự hành có thể hoạt động an toàn và hiệu quả trên đường phố.

1.1. Khái niệm và lịch sử phát triển

Xe tự hành là những phương tiện có khả năng tự động di chuyển mà không cần sự can thiệp của con người. Công nghệ này bắt đầu từ những năm 1980 và đã trải qua nhiều giai đoạn phát triển. Raspberry Pi, một máy tính nhỏ gọn nhưng mạnh mẽ, đã trở thành công cụ lý tưởng cho các dự án xe tự động hóa. Sự kết hợp giữa Raspberry Picông nghệ vision mở ra những khả năng mới cho xe tự lái ở Việt Nam.

1.2. Ứng dụng trong giao thông Việt Nam

Để áp dụng xe tự hành hiệu quả ở Việt Nam, cần phải phát triển các công nghệ nhận diện làn đường chính xác. Dựa trên tình hình giao thông hiện nay, xe tự hành nên có làn đường riêng biệt với vạch kẻ sơn trắng rõ ràng. Hệ thống camera trên Raspberry Pi sẽ nhận diệntheo dõi những vạch này để đảm bảo an toàn.

II. Công nghệ nhận diện làn đường

Nhận diện làn đường là một trong những thành phần cốt lõi của hệ thống xe tự hành. Quá trình này liên quan đến việc sử dụng camera để phát hiệntheo dõi vị trí của làn đường trong thời gian thực. OpenCV là thư viện mã nguồn mở phổ biến được sử dụng để xây dựng các thuật toán nhận diện. Nghiên cứu này sử dụng ngôn ngữ C++ thay vì Python để tối ưu tốc độ xử lý. Các phương pháp nhận diện vạch trắng kết hợp với Houghlines giúp Raspberry Pi có thể xác định vị trí làn đường với độ chính xác cao, từ đó điều khiển xe di chuyển an toàn.

2.1. Phương pháp Houghlines và phát hiện vạch trắng

Houghlines là một thuật toán mạnh mẽ để tìm đường thẳng trong ảnh. Phương pháp phát hiện vạch làn trắng sử dụng kỹ thuật xử lý ảnh để xác định vị trí các vạch sơn trên đường. Canny Edge Detection được áp dụng để phát hiện cạnh, sau đó Houghlines sẽ xác định đường thẳng từ những cạnh này. Kết hợp với ROI (Region of Interest), hệ thống có thể tập trung vào vùng làn đường cần theo dõi.

2.2. Xử lý ảnh và chuyển đổi Bird Eye View

Chuyển đổi góc nhìn Bird Eye View là kỹ thuật quan trọng giúp Raspberry Pi nhìn thấy làn đường từ góc độ từ trên cao. Xác định ngưỡng ảnh (Threshold) giúp phân tách vạch trắng khỏi nền đường. Histogram được sử dụng để xác định tâm làn đườngphương pháp bám đường để điều khiển xe theo đúng hướng.

III. Nhận diện biển báo sử dụng Haar Cascade

Nhận diện biển báo là yếu tố quan trọng khác giúp xe tự hành tuân thủ luật giao thông. Haar Cascade là một thuật toán máy học dựa trên tính năng Haar được sử dụng để phát hiện các đối tượng trong ảnh, đặc biệt là biển báo giao thông. Phương pháp Cascade Haar hoạt động bằng cách huấn luyện mô hình với hàng trăm ảnh biển báo dươngảnh âm. Sau khi huấn luyện, mô hình này có thể nhận diện biển báo trong thời gian thực trên Raspberry Pi. Hệ thống sẽ tải tệp XML vào chương trình để thực hiện nhận diệnxác định khoảng cách của biển báo từ xe.

3.1. Nguyên lý Haar Cascade và huấn luyện mô hình

Haar Cascade dựa trên tính năng Haar - những hình chữ nhật đơn giản được sử dụng để phát hiện đặc trưng trong ảnh. Quá trình huấn luyện bao gồm thu ảnh mẫu, tạo thư mục ảnh dương, và huấn luyện mô hình nhận diện ảnh. Tệp XML được tạo ra sau khi huấn luyện sẽ được tích hợp vào chương trình Raspberry Pi để nhận diện biển báo trực tiếp trên camera.

3.2. Tích hợp nhận diện biển báo vào hệ thống

Nhận diện biển báo được tích hợp chung với chương trình nhận diện làn đường. Khi Raspberry Pi phát hiện một biển báo, hệ thống sẽ xác định khoảng cách của nó so với xe và gửi lệnh điều khiển phù hợp. Module điều khiển L298NServo MG996 được sử dụng để điều khiển tốc độhướng của xe dựa trên các biển báo được phát hiện.

IV. Hệ thống điều khiển và triển khai thực tế

Hệ thống xe tự hành Raspberry Pi bao gồm nhiều linh kiện điện tửthuật toán xử lý được tích hợp thành một mô hình hoạt động. Module L298N điều khiển các động cơ DC, trong khi Servo MG996 điều khiển lái xe. Camera Raspberry Pi liên tục capture hình ảnhxử lý để nhận diện làn đườngbiển báo. Hệ thống tính toán FPS (khung hình trên giây) để đảm bảo xử lý thời gian thực. Các code C++ được viết để tối ưu hóa tốc độ so với Python. Dự án này là nền tảng cho việc phát triểnhoàn thiện xe tự hành trong ứng dụng thực tế tương lai ở Việt Nam.

4.1. Kiến trúc hệ thống và các linh kiện chính

Xe tự hành được trang bị Raspberry Pi làm bộ xử lý trung tâm, camera để thu hình ảnh, module L298N để điều khiển động cơ, và Servo MG996 để quản lý lái xe. Sơ đồ mạch điện được thiết kế cẩn thận để đảm bảo kết nối ổn định giữa các linh kiện. Cài đặt hệ điều hành trên Raspberry Pi tạo nền tảng cho việc chạy chương trình nhận diện.

4.2. Kết quả và hướng phát triển trong tương lai

Đề tài xe tự hành Raspberry Pi đã chứng minh khả năng nhận diện làn đườngbiển báo một cách hiệu quả. Mặc dù còn có những hạn chế về tốc độ xử lýđiều kiện ánh sáng, nhưng nền tảng này đã sẵn sàng cho những nâng cấp trong tương lai. Nghiên cứu mở ra con đường để phát triển xe tự hành ở Việt Nam với công nghệ AIvision tiên tiến hơn.

18/12/2025

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

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1. Tổng quan về xe tự hành 1. Khái niệm về xe tự hành Xe tự hành, còn được hiểu đến là xe tự lái, là một chiếc xe có khả năng hoàn thành các khả năng vận chuyển con người của xe truyền thống. Nó có khả năng cảm nhận môi trường xung quanh và điều hướng thông qua cảm biến và camera mà không cần sự can thiệp của con người Hình 1.1 Xe tự hành và môi trường xung quanh 1.

Lịch sử phát triển của xe tự hành Năm 1939, trong cuộc triển lãm của General Motors, Norman Bel Geddes đã tạo ra chiếc xe hơi tự lái đầu tiên. Đó là chiếc xe điện từ trường điều khiển bằng sóng vô tuyến tạo thành nhờ các gai kim loại từ hóa được gắn trên đường. Năm 1977, Nhật Bản đã cải tiến ý tưởng trên bằng cách sử dụng hệ thống camera chuyển dữ liệu đến máy tính để xử lý hình ảnh con đường. Tuy nhiên, chiếc xe này chỉ di chuyển được với tốc độ khoảng 32km/giờ.

Sau một thập kỷ, người Đức tiếp tục cho ra đời một phương tiện được trang bị camera có thể tự lái với tốc độ khoảng 90km/giờ. Khi công nghệ này được cải thiện thì khả năng phát hiện và phản ứng với môi trường của xe tự lái cũng tăng theo. Trang 1 LUẬN VĂN TỐT NGHIỆP SVTH: PHẠM CHÍ ĐỨC Từ 1950 - 2000, các tính năng an toàn/tiện lợi, đai ghế điều khiển hành trình và Antilock Brakes (Hệ thống chống bó phanh) được khám phá. Trong năm 2000 - 2010, các tính năng tự động hóa, hệ thống kiểm soát hành trình, phát hiện điểm mù, cảnh báo va chạm, chệch làn và phanh chống bó cứng tiếp tục được phát triển.

Những tính năng này nhằm đảm bảo sự an toàn và tiện lợi cho người dùng. Kể từ năm 2016 đến nay, tính năng của xe tự hành đã dần trở nên tự chủ hơn như: giúp người lái xe đi đúng làn đường, phát triển công nghệ ACC (Adaptive Cruise Control - hệ thống kiểm soát hành trình thích ứng) và khả năng tự đỗ xe.2 Các tính năng nhận diện qua camera của xe Các chuyên gia dự tính từ nay đến năm 2025 sẽ tập trung nghiên cứu để nâng cấp các tính năng: an toàn tự động một phần, hỗ trợ giữ làn đường, kiểm soát hành trình, tự đỗ xe, hỗ trợ lái khi kẹt xe,…để các phương tiện tự hành hoạt động hiệu quả và an toàn hơn. Giai đoạn từ 2010 - 2016, các khả năng hỗ trợ người lái như: camera chiếu hậu, phanh khẩn cấp tự động và hỗ trợ tập trung vào làn đường đã xuất hiện. Trang 2 LUẬN VĂN TỐT NGHIỆP SVTH: PHẠM CHÍ ĐỨC 1.

Tình hình xe tự hành trên thế giới và trong nước 1. Tình hình nghiên cứu xe tự hành của thế giới Hiện nay xe tự hành đã được chia thành 6 cấp độ tự hành dựa trên tiêu chuẩn của Hiệp hội kỹ sư ô tô (SAE) để mô tả các mức độ tự chủ của phương tiện. Trong đó cấp độ cơ bản nhất là 0 (Phương tiện không có thể tự vận hành) và cấp độ 5 là cấp độ phương tiện có thể hoàn toán tự chủ không cần đến sự can thiệp của con người.3 Các cấp độ của xe tự hành -Cấp độ 0 hoàn toàn không có tính năng tự lái. Hiện này hầu hết các ô tô đang lưu thông đang ở mức độ này, kể các những ô tô được trang bị tính năng cảnh báo va chạm hay cảnh bảo điểm mù.

Ở cấp độ này, người điều khiển phải tự mình điều khiển hoàn toàn các tính năng của xe như bám vững làn đường, tăng hoặc giảm tốc độ khi xe đang di chuyển trên đường. - Cấp độ 1, ở cấp độ này các yếu tố của quá trình điều khiển phương tiện được thực hiện một cách cô lập, sử dụng dữ liệu từ các cảm biến và máy ảnh, người lái xe vẫn phải chịu phần lớn trách nhiệm điều khiển. Vào năm 2008 honda giới thiệu chức năng hộ trợ giữ làn đường trên dòng xe Honda Legend. Ngoài ra ở cấp độ này còn có thể kể đến tính năng kiểm soát hành trình tự động.

Trang 3 LUẬN VĂN TỐT NGHIỆP SVTH: PHẠM CHÍ ĐỨC -Cấp độ 2, ở cấp độ này phương tiện có thể dảm nhận nhiều chức năng từ trình điều khiển và có thể kết hợp hai hoặc nhiều các tính năng lại với nhau bằng việc tiếp nhận tự nhiều nguồn dữ liệu như điều khiển phanh và giữ làn cùng một lúc. Tuy nhiên, người điều khiển vẫn cần phải theo dõi để kiểm soát trong mọi tính huống. -Cấp độ 3, ở cấp độ này xe có khả năng tự lái ở trong một số trường hợp nhất định và nắm quyền kiểm soát tất cả các chức năng quan trọng về an toàn bằng cách tiếp nhận các dự liệu về bản đồ, radar, các cảm biến và hợp nhất dự liệu môi trường với bộ xử lý để đưa ra thuật toàn điều khiển. -Cấp độ 4, ở cấp độ này xe có thể hoàn toàn xử lý và tự mình di chuyển không cần đến sự can thiệp của con người.

Đặc biệt hơn ở cấp độ này xe còn có khả năng đảm bảo an toàn cho người sử dụng và có thể tự động dừng khi chế độ tự lái hỏng. -Cấp độ 5, phương tiện hoàn toàn không cần đến sự điều khiển và hiện diện của người lái trên xe và có thể di chuyển mọi nơi với điều khiển tủy chọn. Tình hình nghiên cứu xe tự hành trong nước Vào những năm 2016 đến 2019, tập đoàn FPT cùng với những đơn vị tài trợ khác đã phát động cuộc thi “Cuộc đua số” với tiêu chí đặt khả năng vận hành xe không người lái để giúp cho các sinh viên Việt Nam tham gia nghiên cứu và phát triển cũng như là có được một nền tảng vững chắc để đón nhận cơ hội tham gia vào cuộc cách mạng số đang được diễn ra trên toàn thế giới. Hiện nay tập đoàn Vingroup cũng đã bắt đầu thử nghiệm xe điện tự hành cấp độ 4 bao gồm 2 lidar và 6 camera góc rộng phối hợp tuệ nhân tạo ở khu du lịch Vinwonder (Nha trang).

Xe có khả năng di chuyển, phát hiện người đi bộ và biển báo với độ chính xác cao. Khi gặp các vận cản hoặc con người cách 30m xe sẽ giảm tốc độ và đứng yên. Ngoài ra vào năm 2021 chiếc xe “không người lái” thông minh Phenikaa chính thức được giới thiệu tại Hà Nội. Đây là xe tự hành do người Việt làm chủ công nghệ đầu tiên tại Việt Nam.

Trang 4 LUẬN VĂN TỐT NGHIỆP SVTH: PHẠM CHÍ ĐỨC Hình 1.4 Xe tự hành Phenikaa-X Mẫu xe tự hành thông minh Phenikaa có công nghệ tự lái ở cấp độ 4 dưa trên thang đo 5 cấp độ cho xe tự lái của Hiệp hội Kỹ sư xe hơi (SAE). Mẫu xe có các chức năng hệ thống chuyển làn tự động, hệ thống nhận diện biển báo và người đi bộ, hệ thống định vị, chức năng phân tích quỹ đạo di chuyển của các xe xung quanh và khả năng thay đổi đường đi tùy theo vị trí của vật cản và các xe di chuyển xung quanh. Tuy nhiên hiện nay xe chỉ được hoạt động trong các khu vực tư nhân như du lịch, resort và sân golf. Để có thể hoàn toàn tự vận hành trên đường phố, xe cần phải giải quyết được nhiều vấn đề khác.

Định hướng đề tài Để nắm bắt được xu thế công nghệ xe tự hành, em lựa chọn đề tài “Ứng dụng OpenCV nhận diện làn đường, biển báo cho xe tự hành bằng RASBERRY PI”. Với mục đích là xây dựng mô hình xe tự hành có khả năng nhận diện được làn đường và khả năng nhân diện biển báo để tham gia giao thông trên đường phố và trên làn đường dành riêng cho xe tự hành. Đề tài sẽ đi vào giải quyết các vấn đề sau: Vấn đề 1: xây dựng mô hình điều khiển bằng raspberry Pi 3b+. Vấn dề 2: Đưa ra thuật toán xác định làn đường dựa trên sự hỗ trợ của OpenCV.

Trang 5 LUẬN VĂN TỐT NGHIỆP SVTH: PHẠM CHÍ ĐỨC Vấn để 3: Đưa ra thuật toán xác định biển báo dựa trên phương pháp Haar Cascade. Để giải quyết các vấn đề trên, người kỹ sư phải nắm được các công nghệ liên quan đến đề tài. Các phần dưới đây sẽ trình bày cụ thể khải niệm. nguyên lý ưu nhược điểm, cũng như công nghệ để giải quyết vấn đề.

Khái niệm OpenCV Project OpenCV được bắt đầu từ Intel năm 1999 bởi Gary Bradsky. OpenCV viết tắt cho Open Source Computer Vision Library. OpenCV là thư viện nguồn mở hàng đầu cho công việc xử lý ảnh và học sâu của máy, và hiện có thêm tính năng tăng tốc GPU cho các hoạt động được xử lý theo thời gian thực. OpenCV được sử dụng miễn phí cho cả học tập và mục đích thương mại.

OpenCV được thiết kế để hộ trợ hiệu quả về tính toán và chuyên dung cho các ứng dụng real-time (thời gian thực) và C++ là ngôn ngữ tối ưu nhất giúp cho thư viện này có thể tận dụng được tối đa được bộ xử lý đa lõi. Một số phương pháp nhận diện làn đường 1. Phương pháp tìm đường thẳng bằng hàm Houghlines Phương pháp này dựa trên kết quả phát hiện cạnh (Canny Edge Detection) để tiến hành phát hiện đường thẳng. trên mỗi pixel thuộc cạnh được phát hiện trong ảnh, ta lần lượt thử các phương trình đường thẳng đi qua pixel đó.5 Một đoạn đường cao tốc Trang 6 LUẬN VĂN TỐT NGHIỆP SVTH: PHẠM CHÍ ĐỨC Ta tiến hành phương phát hiện cạnh Hình 1.6 Đoạn cao tốc sau khi áp dụng phát hiện cạnh Sau khi duyệt hết tất cả các pixel, ta sẽ lọc theo một giá trị ngưỡng xác định trước và vùng quan tâm của camera ta có được làn đường cần xác định cho xe vận hành.7 Làn đường được phát hiện thông qua xử lý ảnh trên máy tính Trang 7 LUẬN VĂN TỐT NGHIỆP SVTH: PHẠM CHÍ ĐỨC 1.

Phương pháp phát hiện vạch làn trắng Tương tự như phương pháp sử dụng hạm Houghlines, Ta vẫn sử dụng chuyển đổi phát hiện cạnh CannyEdge nhưng ta xác định ngưỡng Histogram để phát hiện các làn trắng được sơn trên làn đường.8 Phương pháp phát hiện vạch làn trắng 1. Phương pháp nhận diện làn đường nâng cao Phương pháp này sử dụng mỗi frame ảnh được trích ra từ file video về thông tin làn đường và sẽ được tiến hành tăng cường chất lượng ảnh bằng các kỹ thuật xử lý tổ chức đồ (Histogram) sau khi đã lọc nhiễu ảnh bằng bộ lọc Gausian. Thuật toán phát hiện đường biên Canny được dùng để phát hiện các điểm ảnh có khả năng thuộc các làn đường.

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