chương 1 trình bày lí do chọn đề tài, mục tiêu và phạm vi của đề tài. Chương 2: Cơ sở lý thuyết Nội dung chương 2 trình bày về lý thuyết xử lý ảnh, các phương pháp xử lý biên, AI, bộ điều khiển PID, Fuzzy, thư viện Firmata điều khiển động cơ DC qua Arduino, truyền nhận dữ liệu giữa Server & Client và chương trình xử lý đa luồng. Chương 3: Thiết kế mô hình 2 Nội dung chương 3 trình bày về yêu cầu thiết kế cơ khí và phần thiết bị điện, sơ đồ nối dây giữa các thiết bị. Chương 4: Giải thuật và chương trình Nội dung chương 4 trình bày về thuật toán nhận diện lane đường, nhận diện biển báo giao thông và thuật toán đường hồi quy.
Chương 5: Kết quả và đánh giá Nội dung chương 5 trình bày kết quả thực nghiệm và đánh giá tổng quan về mô hình được thực hiện. Chương 6: Kết luận và hướng phát triển đề tài Nội dung chương 6 trình bày ưu nhược điểm của mô hình và đưa ra hướng phát triển của đề tài trong tương lai.4 PHẠM VI ĐỀ TÀI - Xe hoạt động trong điều kiện ánh sáng đầy đủ, tốc độ mạng wifi ổn định. - Phần Map cho xe di chuyển được thiết kế và thi công với phần lane đường rộng 40-50cm, tổng diện tích Map là 10m2. - Xe nhận dạng được một số biển báo giao thông gồm: biển báo STOP, biển báo rẽ phải, biển báo rẽ trái, biển báo cấm rẽ phải, biển báo cấm rẽ trái, di chuyển bám đường và tránh được vật cản.
- Xe chỉ tránh được các vật cản có màu khác với màu của lane đường ( màu trắng). 3 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Tổng quan về xử lý ảnh 2.1 Giới thiệu chung về xử lý ảnh Xử lý ảnh là một lĩnh vực nghiên cứu mới trong khoa học công nghệ. Trong những năm gần đây lĩnh vực này được nghiên cứu và phát triển với tốc độ nhanh chóng bởi các trung tâm nghiên cứu, các trường đại học với rất nhiều ứng dụng thực tế trong nhiều lĩnh vực khác nhau. Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng nhằm nâng cao chất lượng ảnh bằng các phương pháp phân tích được nghiên cứu trong giai đoạn thiết bị phần cứng bị hạn chế như nâng cao độ sáng hay độ phân giải của ảnh,.
Ngày nay, khi công nghệ máy tính phát triển đã tạo điều kiện để cho quá trình thực hiện các thuật toán xử lý ảnh. Xử lý ảnh ngày được ứng dụng càng nhiều trong các lĩnh vực tự động hóa, kỹ thuật y sinh, viễn thông,. Trong cuộc sống, các thiết bị kỹ thuật số như máy ảnh, điện thoại thông minh, tivi thông minh,. cũng kết hợp sử dụng xử lý ảnh để cho những hình ảnh rõ nét theo đúng yêu cầu của người sử dụng.2 Các bước xử lý ảnh Hình 2.
1 Các bước xử lý ảnh - Thu nhận ảnh: Đây là bước đầu tiên. Ảnh đầu vào sẽ được thu nhận qua các thiết bị như camera, sensor, máy scanner,. - Tiền xử lý: Sau khi có ảnh đầu vào, ảnh sẽ được đưa vào bộ tiền xử lý để nâng cao chất lượng hình ảnh. Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độ tương phản để làm ảnh rõ hơn, nét hơn.
- Phân đoạn (Segmentation): Quá trinh này thực hiện việc phân vùng ảnh thành các vùng rời rạc và đồng nhất với nhau hay nói cách khác là xác định các biên của các vùng ảnh đó. Phân đoạn ảnh là chia ảnh thành các vùng không trùng lặp, mỗi vùng gồm 1 nhóm pixel liên thông và đồng nhất theo 1 tiêu chí nào đó. Đây là phần phức tạp trong xử lý ảnh và dễ gây lỗi, làm mất độ chính xác của ảnh. Kết quả nhận dạng ảnh phụ thuộc nhiều vào công đoạn này.
- Trích chọn đặc điểm: 4 Dựa trên các thông tin thu nhận được qua quá trình phân đoạn, kết hợp với các kỹ thuật xử lý, thủ tục phân tích dữ liệu để đưa ra các điểm đặc trưng, đối tượng ảnh cũng như các thông tin cần thiết trong quá trình xử lý. Các đặc điểm của đối tượng được trích chọn tùy theo mục đích nhận dạng trong hệ thống xử lý ảnh. Một vài đặc điểm của ảnh: đặc điểm không gian, đặc điểm biến đổi, đặc điểm biên và đường biên. - Nhận dạng và giải thích: Đây là bước cuối cùng trong quá trình xử lý ảnh, quá trình này liên quan đến các mô tả đối tượng mà người ta muốn đặc tả nó.
Nhận dạng ảnh có thể được nhìn nhận một cách đơn giản là việc gán nhãn cho các đối tượng trong ảnh. Hiện nay, người ta đã áp dụng kỹ thuật nhận dạng thành công với nhiều đối tượng: nhận dạng vân tay, khuôn mặt, biển số xe,. Ngoài ra kỹ thuật nhận dạng dựa vào kỹ thuật mạng nơ ron đang được áp dụng và cho kết quả khả quan.3 Biên và các phương pháp phát hiện biên a. Khái niệm Cho tới nay chưa có định nghĩa chính xác về biên và mỗi định nghĩa được sử dụng trong một số trường hợp nhất định.
Biên có thể được tạo ra bởi bóng tối, kết cấu hình học,. Biên cũng có thể được định nghãi là không liên tục ở cường độ hình ảnh do sự thay đổi trong cấu trúc hình ảnh. Biên trong một hình ảnh thường xảy ra với độ phân giải hoặc quy mô khác nhau và đại diện cho quá trình chuyển đổi của mức xám khác nhau, hay mức độ gradient. Tuy nhiên có thể định nghĩa biên như sau: - Điểm biên: một điểm ảnh được coi là điểm biên nếu có sự thay đổi đột ngột về mức xám.
Ví dụ: đối với ảnh đen trắng, một điểm được gọi là điểm biên nếu nó là điểm đen có ít nhất một điểm trắng bên cạnh. - Đường biên của đối tượng: được tạo bởi một tập hợp các điểm biên. - Mỗi một biên là một thuộc tính gắn liền với một điểm riêng biệt và được tính toán từ những điểm lân cận nó. Đó là một biến vector gồm 2 thành phần: độ lớn của Gradient; hướng của biên với góc φ, lệch so với hướng của Gradient ψ một góc -90⁰.
Quy trình phát hiện biên Hình 2. 2 Quy trình phát hiện biên Quy trình phát hiện biên gồm 4 bước: Bước 1: Lọc nhiễu Bước 2: Làm nổi biên Bước 3: Định vị biên Bước 4: Liên kết & trích chọn 5 c. Các phương pháp phát hiện biên Phương pháp phát hiện biên Gradient Dựa theo đạo hàm ( sự biến thiên của hàm trong khoảng lân cận). Gradient là đạo hàm của hàm đa biến f(x,y): 2 f ( x, y ) f ( x, y ) 2 grad ( f ( x, y )) (2.3) f x Điều kiện phân ngưỡng: 1 f ( x, y ) f ( x, y ) (2.4) 0 f ( x, y ) Việc xấp xỉ đạo hàm bậc nhất theo các hướng x và y được thực hiện thông qua 2 mặt nạ nhân chập tương ứng sẽ cho ta các kỹ thuật phát hiện biên khác nhau ( Roberts, Sobel,.) - Toán tử Roberts Toán tử Roberts bao gồm một cặp mặt nạ nhân chập 2x2 là Hx và Hy, những mặt nạ này được thiết kế có thể đáp ứng tối đa để biên hoạt động theo 2 hướng -45 và 45: 0 1 1 0 Hx H y 0 1 1 0 - Toán tử Sobel Sử dụng 2 mặt nạ nhân chập 3*3 theo hướng x, y với hình xám.
1 0 1 1 2 1 H x 2 0 2 H y 0 0 0 1 0 1 1 2 1 Phương pháp phát hiện biên Laplace Để khắc phục hạn chế và nhược điểm của phương pháp Gradient, trong đó sử dụng đạo hàm riêng bậc nhất người ta nghĩ đến việc sử dụng đạo hàm riêng bậc 2 hay toán tử Laplace. Phương pháp phát hiện biện theo Laplace hiệu quả hơn phương pháp 6 toán tử Gradient trong trường hợp mức xám biến đổi chậm, miền chuyển đổi mức xám có độ trải rộng. Toán tử Laplace được định nghĩa như sau: 2 f 2 f 2 f (2.5) x 2 y 2 Toán tử Laplace dùng một số kiểu mặt nạ khác nhau nhằm tính gần đúng đạo hàm riêng bậc hai. Các dạng mặt nạ theo toán tử Laplace 3*3 hay dùng: 0 1 0 1 1 1 1 2 1 H1 1 4 1 H 2 1 8 1 H 3 2 4 2 0 1 0 1 1 1 1 2 1 Phương pháp phát hiện biên Canny Bước 1: Giảm nhiễu: làm trơn ảnh để loại bỏ nhiễu bằng cách nhân chập ảnh với bộ lọc Gauss.
Bước 2: Tìm Gradient: Tính toán góc và chiều dài qua gradient. Biên nên được đánh dấu nơi mà gradient của ảnh có chiều dài lớn. Bước 3: Thực hiện “Non-maximum suppression”: Chỉ cực đại cục bộ những điểm được đánh dấu là biên (có mức xám cao). Bước 4: Sử dụng ngưỡng đôi: Những biên tiềm năng được xác định bởi ngưỡng cao và ngưỡng thấp.4 Biến đổi Hough Transform Biến đổi Hough Transform là một kỹ thuật nằm trong định dạng hình ảnh.
Hough Transform được sử dụng để trích chọn đường thẳng, hình tròn và elip. - Biến đổi Hough cho đường thẳng: Phương trình đường thẳng cơ bản sẽ được biểu diễn theo 2 tham số a và b như sau: y ax b (2.6) Đường thẳng cắt nhau có điểm (x0,y0) chung. Khi đổi (x0,y0) là tham số của phương trình: c x0 m y0 (2.7) - Biến đổi Hough cho đường thẳng trong hệ tọa độ cực Ta sử dụng tọa độ cực để biểu diễn phương trình đường thẳng: x cos ysin (2.8) Xét thấy trong phương trình tọa độ cực, giá trị của góc θ có thể bị chặn lại trong khoảng 0, ). Trên thực tế, không gian ảnh là không gian hữu hạn ( bị chặn bởi các cạnh của ảnh), do vậy giá trị ρ cũng bị chặn.5 Xử lý ảnh với thư viện OpenCV 2.1 Khái niệm OpenCV (Open source computer vision library) là một thư viện mã nguồn mở cho máy tính.
OpenCV chứa các mã nguồn mở được dùng xử lý hình ảnh, phát triển các ứng dụng đồ họa trong thời gian thực thường được sử dụng cho thị giác máy tính, xử lý ảnh, máy học và các tính năng tăng tốc GPU. OpenCV được phát hành theo giấy phép BSD, vì vậy nó hoàn toàn miễn phí và cho phép bạn sử dụng cho các hoạt động thương mại cũng như phi thương mại.