Các bước để ứng dụng K-means nhận diện lane

Một phần của tài liệu Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 60 - 67)

Ý tưởng áp dụng K-means: Để áp dụng được thuật toán K-means phân cụm dữ liệu, chúng ta cần tạo ra bộ dữ liệu là các điểm từ ảnh binary mà AI nhận diện được. Sau

53 đó, đồng thời phân từng điểm đó vào từng lane cụ thể. Sau đó mới dùng K-means gôm nhiều điểm đó thành một gọi là các centers. Chúng ta sẽ thực hiện các bước sau.

Tạo các đường bao các lane (gọi là contours) bằng cách sử dụng hàm cv2.findContours() trong OpenCV.

Kết quả thu được (viền màu xanh là được gọi là các contour đã được vẽ lên):

Hình 4.11 Tìm các contours trên ảnh chụp

54 Từ contours vừa tạo ở trên, ta tạo được một hình chữ nhật bé nhất ôm lấy contour. Kết quả thu được (Hình chữ nhật màu tím là các box nhỏ nhất bao lấy contour):

Hình 4.13 Tìm box ôm lấy contour trên ảnh tự chụp

Hình 4.14 Tìm box ôm lấy contour trên ảnh download

Sau đó ta dùng Hough Tranform, đầu ra của hàm Hough sẽ cho ta một tập hợp các điểm đầu và điểm cuối của một của một đường thẳng. Để biết được điểm đó thuộc contours nào, ta cần phải xét điểm đó có thuộc box của contour đó không, sau đó lưu giá

55 trị lại đúng vào contour đó. Sau khi có pointList là tập hợp giá trị các điểm cần phân cum, bậy giờ ta có thể sử dụng K- means để phân cụm các liệu, tìm ra các center để vẽ lane. Sau khi sử dụng K-means ta có được kết quả với các center. Center là các chấm màu thể hiện trên hình.

Hình 4.15 Tìm các center trên ảnh tự chụp

56 Sau khi tìm được các center ta sẽ dùng phương pháp nội suy tìm ra được đường thẳng gần với các center nhất và vẽ đường thẳng đó.

[4.4]

Kết quả thu được các lane được hiện lên như sau:

Hình 4.17 Bắt lane trên ảnh tự chụp

57 Kết quả thu được khi nhận diện lane bằng K – means:

58

Hình 4.19 Kết quả sau khi sử dụng K-Means

Nhận xét:

- Lane nhận diện tốt hơn đối với nhiều ảnh test khác nhau - Những đoạn đường cong bắt được tốt

59 - Khắc phục được những hạn chế và những thiếu sót ở những đoạn đường AI bắt chưa

tốt

- Những hạn chế:

+ Tốc độ xử lý tăng lên đáng kể sau khi dùng thuật toán K – means ( Từ khoảng 0.1/frame ảnh lên đến khoảng 0.17s/frame.

+ Do phụ thuộc nhiều vào AI, nếu AI bắt không tốt sẽ không nhận diện được lane. + Chưa được tracking, nên lane sẽ bị mất khi có xe vượt mặt cùng làn

- Hướng phát triển tiếp theo: Tracking bằng cách sử dụng bộ lọc Kalman filter

Một phần của tài liệu Ứng dụng tri tuệ nhân tạo để phát triển hệ thống nhận diện và theo dõi làn đường cho xe tự lái đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 60 - 67)

Tải bản đầy đủ (PDF)

(103 trang)