1. Trang chủ
  2. » Tất cả

HỆ THỐNG PHÁT HIỆN VẠCH KẺ ĐƯỜNG TRÊN Python

26 41 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 2,13 MB
File đính kèm 03-Code.rar (6 MB)

Nội dung

1 BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH FINAL PROJECT Môn học XỬ LÍ ẢNH Đề tài HỆ THỐNG PHÁT HIỆN VẠCH KẺ ĐƯỜNG SVTH La Trung Tiến 20851007 Nguyễn Hửu Tân – 20651019 Phạm.

BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH FINAL PROJECT Mơn học: XỬ LÍ ẢNH Đề tài : HỆ THỐNG PHÁT HIỆN VẠCH KẺ ĐƯỜNG SVTH: La Trung Tiến - 20851007 Nguyễn Hửu Tân – 20651019 Phạm Hoàng Vương - 20651030 GVHD: TS Nguyễn Văn Thái TP.HỒ CHÍ MINH, NGÀY 25 THÁNG NĂM 2022 LỜI CẢM ƠN Trước tiên chúng em xin bày tỏ trân trọng lòng biết ơn thầy giáo Nguyễn Văn Thái Trong suốt thời gian học làm đồ án môn học, thầy dành nhiều thời gian quý báu để tận tình bảo, hướng dẫn, định hướng cho em thực Project Chúng em xin cảm ơn thây cô giáo Khoa Điện Điện Tử - Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh giảng dạy trình học tập, thực hành, làm tập, giúp em hiểu thấu đáo nội dung học tập hạn chế cần khắc phục việc học tập, nghiên cứu thực đồ án MỤC LỤC Contents LỜI CẢM ƠN MỤC LỤC MỞ ĐẦU PHẦN 1: GIỚI THIỆU TỔNG QUAN 1.1 Tổng quan phát vạch kẻ đường 1.2 Phân tích tốn 1.2.1 Ngơn ngữ lập trình Python 1.2.2 Thư viện OpenCV 1.2.3 Visual Studio Code 1.2.4 Phép biến đổi Hough Transform PHẦN 2: GIẢI THÍCH CODE PHẦN 3: HOẠT ĐỘNG CỦA CHƯƠNG TRÌNH 24 PHẦN 4: HẠN CHẾ, KẾT LUẬN 25 5.1 Hạn chế 25 5.2 Kết luận 25 Tài liệu tham khảo 26 MỞ ĐẦU Trong thời kỳ công nghệ ứng dụng hầu hết lĩnh vực nay, xử lý ảnh mảng cơng nghệ có tiềm phát triển có tính ứng dụng cao Điển hình việc xử dụng thuật tốn xử lý ảnh để phân tích hình ảnh từ camera xe Đây tảng xây dựng lên hệ thống lái xe tự động, tránh né chướng ngại vật, nhận diện đường phép di chuyển Trong hệ thống nhận dạng đường, đường giới hạn hai vạch kẻ Để xác định đâu phần đường nằm bên giới hạn vạch kẻ, phải phân tích đâu vạch kẻ đường, xử lý ảnh để phát vạch kẻ đường điều quan trọng cần thiết Phát vạch kẻ đường công nghệ ứng dụng rông rãi lĩnh vực xe tự lái ngày Có nhiều phương pháp nhận dạng vạch kẻ nhiên dù hay nhiều, phương pháp vấp phải thử thách độ sáng, hướng nghiên, kích thước ảnh, hay ảnh hưởng tham số môi trường Cùng với phát triển xã hội, vấn đề an toàn, đặc biệt an tồn giao thơng ln quan tâm hàng đầu người Các hệ thống nhận dạng đường giao thơng mà phát triển với độ tin cậy ngày cao Với hướng phát phiển này, giúp cho nâng cao an toàn tiện nghi, đại cho Trong phạm vi báo cáo chúng em xin trình trình thực phát vạch kẻ đường thơng qua ngơn ngữ Python thư viện OpenCV Cuối cùng, cố gắng nhiều thời gian có hạn, khả dịch hiểu tài liệu chưa tốt nên nội dung đồ án tránh khỏi thiếu sót, mong bảo, góp ý thầy cô bạn PHẦN 1: GIỚI THIỆU TỔNG QUAN 1.1 Tổng quan phát vạch kẻ đường Công nghệ cải thiện nhiều tin tưởng nhiều vào Thị giác máy tính cảm biến tiên tiến Phát vạch kẻ đường hỗ trợ cho việc phát triển hệ thống tự hành dòng xe đại Trong người, việc theo đường điều dễ dàng, máy tính khơng đơn giản Một vấn đề hình ảnh đường có q nhiều thơng tin Chúng ta cần đơn giản hóa nó, chọn phần hình ảnh mà quan tâm Chúng ta phân tích phần hình ảnh với đường, cần tách đường khỏi phần cịn lại hình ảnh 1.2 Phân tích tốn Bài toán Phát Hiện Vạch Kẻ Đường (Lane Detection) bao gồm tốn khác như: Các cơng cụ để giải toán project chúng em sử dụng thư viện OpenCV ngôn ngữ lập Python phần mềm Visual Studio Code, thuật toán mà chúng em sử dụng để vẽ theo vạch kẻ đường phép biến đổi Hough Transform 1.2.1 Ngơn ngữ lập trình Python Python ngơn ngữ lập trình hướng đối tượng, cấp cao, mạnh mẽ, tạo Guido van Rossum Nó dễ dàng để tìm hiểu lên ngơn ngữ lập trình nhập môn tốt cho người lần đầu tiếp xúc với ngơn ngữ lập trình Python hồn tồn tạo kiểu động sử dụng chế cấp phát nhớ tự động Python có cấu trúc liệu cấp cao mạnh mẽ cách tiếp cận đơn giản hiệu lập trình hướng đối tượng Cú pháp lệnh Python điểm cộng vơ lớn rõ ràng, dễ hiểu cách gõ linh động làm cho nhanh chóng trở thành ngơn ngữ lý tưởng để viết script phát triển ứng dụng nhiều lĩnh vực, hầu hết tảng Một số ưu điểm ngôn ngữ Python: - Ngôn ngữ lập trình đơn giản, dễ học - Miễn phí, mã nguồn mở - Các chương trình Python di chuyển từ tảng sang tảng khác - Khả mở rộng nhúng - Ngơn ngữ thông dịch cao cấp - Thư viện tiêu chuẩn lớn, xử lý tác vụ phổ biến 1.2.2 Thư viện OpenCV OpenCV viết tắt cho Open Source Computer Vision Library OpenCV thư viện nguồn mở hàng đầu cho Computer Vision Machine Learning, có thêm tính tăng tốc GPU cho hoạt động theo real-time 1.2.3 Visual Studio Code Visual studio Code trình biên tập lập trình code miễn phí dành cho Windows, Linux macOS, Visual Studio Code phát triển Microsoft Nó xem kết hợp hoàn hảo IDE Code Editor Visual Studio Code hỗ trợ chức debug, kèm với Git, có syntax highlighting, tự hồn thành mã thơng minh, snippets, cải tiến mã nguồn Nhờ tính tùy chỉnh, Visual Studio Code cho phép người dùng thay đổi theme, phím tắt, tùy chọn khác 1.2.4 Phép biến đổi Hough Transform Phép biến đổi Hough Transform kỹ thuật trích xuất đặc trưng sử dụng phân tích hình ảnh, thị giác máy tính xử lý hình ảnh kỹ thuật số Mục đích kỹ thuật đê tìm thể khơng hồn hảo đối tượng lớp hình dạng định thủ tục biểu Thủ tục bỏ phiếu thực khơng gian tham số, từ tham số nhận dạng cực đại cục khơng gian gọi tích lũy xây dựng rõ ràng thuật toán Hough Transform PHẦN 2: GIẢI THÍCH CODE ➢ Code Tổng Quát ➢ Code chi tiết phần : o Phần tiền khai báo : + Khai báo sử dụng thư viện xử lý ảnh + Khai báo sử dụng hàm toán học + Khai báo cho phép OpenCV tải ảnh màu lên + Khai báo thư viện vẽ đồ thị Python Phần khai báo : o + Khai báo đường dẫn video ✓ Khai báo chương trình gọi chúng ✓ Hiển thị video cần Detect Lanes hình ✓ Cho phép đóng hồn thành phím máy tính (Q) o Chương trình dùng phương pháp nhận dạng đường biên Canny Mục đích nhận dạng đường biên Canny tìm ranh giới giứa đường Mỗi pixel biểu thị giá trị nằm khoảng từ – 255 - Một cạnh xác định khác biệt cường độ I N pixel liền kề nơi có thay đổi mạnh cường độ , độ sáng thay đổi nhanh chống , nơi có độ thay đổi Gradient mạnh có pixel sáng tương ứng - Quá trình gồm nhiều bước thực sau : + Chuyển đổi ảnh sang ảnh mức xám ( Tại lại chuyển ảnh sang mức xám ? Lí ảnh cấu thành từ kênh màu kênh R-G-B , ảnh mức xám giá trị kênh màu có có giá trị thay đổi từ – 255 sử dụng kênh màu xám cho tốc độ xử lý cao tính tốn 10 o Chương trình tạo vùng nhận dạng đường Lands + Sau xác định vùng nhận dạng lệnh vẽ đồ thị matplot Python → Mục tiêu tạo vùng màu đen có kích thước với đường lấp đầy tam giác 12 + Khai báo đa giác dạng numpy mảng chấm P bên mảng đỉnh đa giác mà chọn 200 chiều dọc 1100 chiều cao 550,250 đỉnh đa giác + Sau tạo mặt nà màu đen có kích thước 13 + Chúng ta hợp hình lại với lện cv.2bitwise_and + Và hình ảnh sau hợp ảnh lại với tách vùng cần quan tâm Sau sử dụng lẹnh Hough để nhận dạng lands đường 14 o Chương trình phát đường thẳng Hough + Cho đến thực phát cạnh hình ảnh cô lập khu vực cần quan tâm sử dụng kỹ thuật phát đường thẳng từ phát land đường kỹ thuật Hough + Chúng ta bắt đầu vẽ không gian tọa độ x y bên đường thẳng có dạng y = mx +b 15 + Điểm qua tâm phương pháp Hough phải tạo đường có điểm cắt + Tuy nhiên, với cách biểu diễn này, giá trị góc nghiêng a trải dài từ – ∞ đến +∞ Có thể lấy ví dụ, để có phương trình đường Oy (x=0) a phải tiến tới ∞ Thuật toán Hough Transform yêu cầu giá trị a, b nằm khoảng xác định (hay bị chặn dưới), ta phải sử dụng hệ tọa độ 16 cực để biểu diễn phương trình đường thẳng Cách biểu diễn nằm chương trình tốn trung: ρ=xcos(θ)+ysin(θ) + Xét thấy phương trình tọa độ cực, giá trị góc θ bị chặn lại khoảng [0, π) Trên thực tế, không gian ảnh không gian hữu hạn (bị chặn lại cạnh ảnh), giá trị ρ bị chặn + Mapping không gian ảnh (A) không gian Hough (B) + Từ điểm khơng gian ảnh, lại có hình sin không gian Hough: 17 + Các điểm nằm đường thẳng lại có biểu diễn hình sin giao điểm khơng gian Hough Đây nơi xuất phát ý tưởng thuật toán Hough Transform Chúng ta dựa vào điểm giao để suy ngược lại phương trình đường thẳng không gian ảnh + Mỗi đường thẳng khác tạo thành điểm sáng (nơi giao nhiều hình sin) khơng gian Hough Dưới biểu diễn đường thẳng không gian Hough + Ta chia không gian Hough thành lưới vng nhỏ Ta có lưới ô vuông với hàng trục ρ cột trục θ hình Độ xác thuật tốn phụ thuộc vào số lượng vuông bạn chọn cho cạnh Giả sử bạn muốn độ xác θ độ (theta resolution = 1), bạn cần 180 cột Giá trị ρ bị chặn cạnh chéo ảnh đầu vào Do lấy độ xác ρ (pixel) (rho resolution = 1) số hàng độ dài đường chéo ảnh theo đơn vị pixel 18 + Đầu tiên khai báo sử dụng lệnh HoughLineP ( đối số hình ảnh bạn muốn phát đường , hình cắt , đối số thứ định độ phân giải tích lũy Hough , mảng tích luy Hough định độ xác pixel , đối số thứ kèm theo độ xác độ tính Radian 180 , nên chọn độ Pi/180 , đối số thứ ngưỡng để tìm hiển thị dịng từ hàng loạt đấu chấm cần tìm điểm có giá trị cao chọn 100 , đối số thứ mảng trống để truyền liệu vào , đối số thứ độ dài dòng tối thiểu lưu ý phải nhỏ 40 pixel phát 40 pixel , đối số cuối khoảng cách dòng tối đa) 19 + Tiếp theo chương trình định nghĩa hàm hiển thị : + Định nghĩa hàm hiển thị gồm hình ảnh dịng hiển thị + Chúng ta tạo mảng numpy hình ảnh đường giống trước có kích thước có màu đen + Tiếp theo kiểm tra mảng có trống khơng , trống lặp qua +Như biết hình tạo từ mảng chiều thành phần Và sau định hình chúng lại thành mảng chiều với phần từ giải nén chúng thành phần tử x1 ,y1 ,x2 ,y2 riêng biệt 20 ... tích đâu vạch kẻ đường, xử lý ảnh để phát vạch kẻ đường điều quan trọng cần thiết Phát vạch kẻ đường công nghệ ứng dụng rông rãi lĩnh vực xe tự lái ngày Có nhiều phương pháp nhận dạng vạch kẻ nhiên... TỔNG QUAN 1.1 Tổng quan phát vạch kẻ đường Công nghệ cải thiện nhiều tin tưởng nhiều vào Thị giác máy tính cảm biến tiên tiến Phát vạch kẻ đường hỗ trợ cho việc phát triển hệ thống tự hành dòng xe... hệ thống lái xe tự động, tránh né chướng ngại vật, nhận diện đường phép di chuyển Trong hệ thống nhận dạng đường, đường giới hạn hai vạch kẻ Để xác định đâu phần đường nằm bên giới hạn vạch kẻ,

Ngày đăng: 14/11/2022, 19:28

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w