Tài liệu - Đề thi

Cuộc đua số  »  Tài liệu - Đề thi

Hướng dẫn cơ bản

Chủ đề "XÁC ĐỊNH LÀN ĐƯỜNG CHO XE TỰ HÀNH"

GIỚI THIÊU

- Phát hiện đường đi là một quá trình phát hiện các làn đường trên đường giao thông. Đối với con người, việc phát hiện làn đường là khá dễ dàng; thậm chí ngay cả khi đối mặt với các điều kiện khác nhau như điều kiện về đường xá, sự tồn tại của các đối tượng xung quanh, sự thay đổi của các điều kiện ánh sáng, v.v. Tuy nhiên, đối với hệ thống xe tự hành, bất kỳ sự thay đổi nào về môi trường nói  trên cũng gây ra những khó khăn nhất định trong việc phát hiện làn đường tự động. Do đó, đã có rất nhiều các công trình nghiên cứu nhằm giải quyết bài toán xác định làn đường cho xe tự hành.

CHUẨN BỊ 

- Máy tính chạy hệ điều hành Windows hoặc Ubuntu

- Cài đặt Python lên hệ thống (quy định chỉ sử dụng phiên bản Python 3):

 + Trên Windows: Tải file cài đặt Python3 trên trang chủ https://python.org và tiến hành cài đặt.

 + Trên Ubuntu: Mở terminal và chạy lệnh sudo apt-get install python3

- Cài đặt package Pip Python

- Cài đặt package OpenCV bằng lệnh: python -m pip install opencv-python

- Khuyến khích sử dụng Visual Studio Code để viết code: https://code.visualstudio.com/

PHƯƠNG PHÁP

Mô tả 1 phương pháp xác định làn đường đơn giản giúp các đội thi có cái nhìn chi tiết hơn về cách xác định làn đường cho xe tự hành.

Các bước thực hiện:

B1. Đọc ảnh vào từ Camera hoặc Video.

B2. Xác định khu vực mà làn đường xuất hiện trong ảnh (Region of Interested)

- Chỉ lấy khu vực mà làn đường xuất hiện trong ảnh, loại bỏ tất cả các chi tiết thừa bên ngoài đường như: cây cối, xe cộ, bầu trời,...

 

B3: Biến đổi hình thái học (Perspective Tranform)

- Biến đổi hình thái học giúp chúng ta chuyển đổi góc nhìn của ảnh. Từ góc nhìn của Camera phía trước xe (First View) --> góc nhìn của một con chim từ trên xuống (Bird view).

 

- Hình ảnh trên cho thấy kết quả đạt được sau khi áp dụng biển đổi Bird view lên ảnh. Bên trái: ảnh gốc, bên phải: ảnh sau khi biến đổi.

B4: Xác định vạch kẻ đường

- Sau khi đã có ảnh từ bước 3, tiến hành xác định những giá trị pixel nào thuộc 2 vạch kẻ đường (line) trắng và vàng bằng cách biến đổi nhị phân (Binary): những pixel nào thuộc line đường sẽ có giá trị là 1, ngược lại là 0.

- Có rất nhiều phương pháp để nhị phân ảnh nhằm trích xuất thông tin line đường ví dụ như:

 + Canny, Sobel phát hiện cạnh

 + Threshold trên ảnh xám để lấy ra vạch kẻ đường màu trắng

 + Chuyển ảnh sang không gian màu HSV, HSL để lọc ra ngưỡng sáng của line đường

 + và còn rất nhiều phương pháp khác

- Ví dụ này sẽ sử dụng thuật toán Sobel các bạn có thể đọc thêm khái niệm Sobel - phát hiện cạnh: ở đây

 

B5: Sliding windows & Curve Fit 

- Tím những pixel nào là một phần của lane đường và tiến hành phân cụm (line trái và line phải), sử dụng phương pháp cửa sổ trượt (Sliding windows):

 + Chia chiều cao của ảnh ra làm 9 phần bằng nhau

 + Sử dụng phương pháp cửa sổ trượt - sliding windows để tìm các điểm pixel đại diện cho line đường. Các điểm pixel này cũng chính là tâm của các cửa sổ.

- Khi đã thu được các điểm pixel của 2 line đường, ta có thể tính toán độ cong của line đường bằng công thức: y = Ax² + Bx + C, nhiệm vụ đi tìm 3 tham số [A,B,C].

 

- Phương pháp này được mô tả dựa theo: 

https://medium.com/@mithi/advanced-lane-finding-using-computer-vision-techniques-7f3230b6c6f2

Tham khảo thêm một số phương pháp khác: 

- Simple lane detection with opencv: https://medium.com/@mrhwick/simple-lane-detection-with-opencv-bfeb6ae54ec0

- Road segmentation with deep learning: https://towardsdatascience.com/training-road-scene-segmentation-on-cityscapes-with-supervisely-tensorflow-and-unet-1232314781a8

- Lane detection using vanishing point: https://medium.com/pharos-production/road-lane-recognition-with-opencv-and-ios-a892a3ab635c

- Simple Lane Detection: https://www.hackster.io/kemfic/simple-lane-detection-c3db2f

 


LIÊN HỆ

Thầy Đinh Huy Hoàng

(+84) 826 968 011

Trung tâm Thông tin Tư liệu
        Tòa nhà 1 - Tầng 2 - Số 10 Huỳnh Văn Nghệ, phường Bửu Long, TP. Biên Hòa, tỉnh Đồng Nai.

cuocduaso@lhu.edu.vn

© 2019 Đại học Lạc Hồng