1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ thống điều khiển giao thông thông minh đô thị (6)

23 194 1

Đ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 23
Dung lượng 1,21 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 4 - PHÁT TRIỂN HỆ THỐNG ĐIỀU KHIỂN GIAO THÔNG THÔNG MINH CHO ĐÔ THỊ 4.1 - Mục đích và phạm vi ứng dụng Cài đặt một hệ thống điều khiển tín hiệu đèn giao thông dựa vào việc phân t

Trang 1

Chương 4 - PHÁT TRIỂN HỆ THỐNG ĐIỀU KHIỂN GIAO THÔNG

THÔNG MINH CHO ĐÔ THỊ 4.1 - Mục đích và phạm vi ứng dụng

Cài đặt một hệ thống điều khiển tín hiệu đèn giao thông dựa vào việc phân tích các chuyển động của phương tiện giao thông trong hình ảnh thu nhận được từ một Camera đặt tại một ngã tư

Phạm vi thử nghiệm chỉ thực hiện trên Camera tĩnh, ứng dụng phải được xác định các vùng mặt đường, làn đường và xác định hướng đi quy định Phạm vi khảo sát là một ngã tư của 2 con đường một chiều

Hình 4 - 1: Phạm vi ứng dụng 4.2 - Mô hình phát hiện chuyển động được áp dụng trong chương trình

Để giảm thiểu chi phí tính toán và tăng tốc độ chương trình, mỗi một đơn vị ảnh là một block (n x n) điểm ảnh Hệ số n này là hệ số thực nghiệm Chương trình cho phép thay đổi hệ số n Theo thực nghiệm n = 3 là tốt nhất

Trang 2

Ngoài ra chương trình còn có khả năng thay đổi các thông số khác nữa, như là khoảng thời gian tĩnh để các đối tượng di động đứng yên đủ lâu để có thể được tích hợp vào hình nền, các ngưỡng để sử dụng trong hàm xác định độ khác biệt đặc trưng của khung hình hiện thời và khung hình đối chiếu,

Dựa vào lý thuyết được trình bày ở trên, tôi xin đưa ra mô hình phát hiện chuyển động được áp dụng trong chương trình thực nghiệm như sau

Khung hình hiện thời

Khung hình trước

Rút trích đặc trưng độ sáng

Rút trích đặc trưng độ sáng

Đối sánh khung hình

Hình 4 - 2: Sơ đồ thuật toán phát hiện chuyển động cài đặt thử nghiệm

Trang 3

4.2.1 - Hàm rút trích đặc trưng Fa

Chương trình thực nghiệm lấy giá tri đặc trưng màu để áp dụng cho quá trình phát hiện chuyển động Chương trình cũng sử dụng phương pháp hiệu chỉnh độ sáng sao cho giảm thiểu nhiễu do tác động của môi trường sáng nên camera là khác nhau trong thời gian vận hành 24 giờ

Hàm lấy giá trị đặc trưng màu được cài đặt là trung bình cộng từng kênh màu (R, G, B) của block Sau đó được chuyển đổi các thông số R, G, B sang hệ màu H, L, S Ứng với mỗi block (kích thước n x n), chương trình sẽ lấy trung bình cộng từng kênh màu R, G, B của tất cả điểm ảnh thuộc block đó Các giá trị này sẽ được chuyển đổi sang các giá trị trong hệ màu HLS

Thảm khảo source code ở phần Phụ lục 1 và 2

Trang 4

Không khác biệt đủ lâu theo ngưỡng cho trước

Cập nhật các block không khác biệt vào hình nền

Rút trích đặc trưng

Rút trích đặc trưng

Đối sánh khung hình đựa theo giá trị đặc trưng

Khung hình nền đã được cập nhật

Khung hình trước đó

Khung hình hiện thời

Hình 4 - 3: Mô hình phương pháp cập nhật động hình nền

Giá trị Kt là giá trị thực nghiêm Chương trình cho phép thay đổi động giá trị Kt Tuy nhiên nếu chương trình tự động thay đổi hệ số Kt đẻ phù hợp với hoàn cảnh là một bước cải tiến trong tương lai

Trang 5

Không Có

Khung hình trước đó

Giảm biến đếm 1 đơn vị

Kiểm tra từng block có chuyển động

?

Đặt biến đếm bằng giá trị Kt

Đặt block đứng yên vào ảnh nền

Gán khung hình trước bằng khung hình hiện thời

Chờ khung hình tiếp theo

Biến đếm

= 0?

Lấy khung hình hiện thời

Sai

Đúng

Khung hình nền

Bắt đầu

KThúc ? Không

Trang 6

Mô tả thuật toán:

Bước 1:

Khởi tạo hình nền ban đầu là khung hình hiện thời

Khởi tạo các biến đếm cho các block tương ứng với khung hình nền Count[i]

Bước 3:

Gán khung hình trước bằng khung hình hiện thời

Lấy khung hình tiếp theo làm khung hình hiện thời

Quay lại bước 2

Chi tiết mã chương trình của thuật toán cập nhật hình nền tự động được trình bày trong phần Phụ lục 4

Bảng 4 - 1: Thống kê hiệu quả phát hiện chuyển động với ngưỡng cập nhật nền

STT Ngưỡng Kt Tỉ lệ phát hiện chuyển động đúng

Trang 7

được nhiễu, làm tăng hiệu suất phát hiện chuyển động Các giá trị đặc trưng đầu vào của hàm này chính là các giá trị đặc trưng của các block đã được chuyển đổi sang các giá trị H, L, S

Hàm đo khảng cách được trình bày source code ở phần Phụ lục 3

4.2.4 - Hàm nhận biết chuyển động Fb

Trong bước tính toán này, ma trận Mc sẽ được đem so sánh vói một ngưỡng toàn cục k Điểm ảnh được coi là chuyển động nếu giá trị Fc(x, y, t) > k, đứng yên nếu nhỏ hơn Hệ số k cũng là hệ số thực nghiệm

Hệ số k = 0.05 là thích hợp nhất

Trang 8

Sai Đúng

Rút trích đặc trưng

độ sáng

Tính toán ma trận khác biệt

Hình 4 - 5: Thuật toán nhận biết chuyển động 4.2.5 - Lọc nhiễu

Lọc nhiễu là một bước tinh chế quan trọng để nâng cao kết quả của bài toán

Sau khi thực hiện bước phát hiện chuyển động, ta thu được một ảnh kết quả chứa các đối tượng chuyển động Tuy nhiên kết quả này vẫn tồn tại các nhiễu gây ra bởi camera hoặc các sai số trong quá trình phát hiện chuyển động, các nhiễu này tồn tại

Trang 9

trong cả kết quả đối tượng chuyển động lẫn kết quả nền tĩnh đồng thời đường biên của các đối tượng chuyển động không được trơn mịn

Quá trình lọc nhiễu và khử bóng được thực thi để hạn chế ảnh hưởng của chúng trên kết quả

Cách thông thường người ta thường sử dụng để lọc các vùng nhiễu là phương pháp loại bỏ các vùng nhỏ Tuy nhiên nó có thể loại bỏ luôn các vùng nhỏ nhưng thật sự cần thiết vì chúng thuộc về đối tượng chuyển động mà chúng ta cần thu nhận được,

và có các vùng nhiễu thật sự nhưng chúng khá lớn lại không được loại bỏ sau khi lọc nhiễu

Phương pháp này dựa trên việc theo dõi các vùng nhiễu nhỏ hơn vùng đối tượng thật sự Ban đầu một thuật toán xác định các thành phần liên thông sẽ tách các vùng chuyển động Sau đó dựa vào diện tích của từng vùng, các vùng có diện tích nhỏ hơn một ngưỡng cho trước nào sẽ được xem như là vùng nhiễu Ở đây có hai loại nhiễu: nhiễu trên nền (nhiễu trắng) và nhiễu trên vùng đối tượng chuyển động (nhiễu đen) Đối với loại nhiễu trên nền thì chúng ta sẽ thực hiện việc loại bỏ chúng khỏi nền, còn đối với loại nhiễu trên vùng đối tượng chuyển động thì chúng ta sẽ xem chúng là thuộc về đối tượng chuyển động đó Sau bước này ta thu được kết quả như hình 4 – 6 (c) từ hình 4 – 6 (b) Sau bước này, chúng ta sử dụng một bộ lọc Blur với cửa sổ 3x3 để làm trơn mịn đường viền của vùng đối tượng và giảm thiểu tối đa ảnh hưởng đến cấu trúc chi tiết của vùng ảnh có chứa đối tượng chuyển động Kết quả của bước này sẽ thu được như trong hình 4 – 6 (d)

Trang 10

(a) (b)

(c) (d)

Hình 4 - 6: Minh họa quá trình lọc nhiễu

Hình 4 – 6 (a) là ảnh gốc, (b) là kết quả nhận được sau khi đối sánh ảnh, (c) là kết

quả nhận được sau khi khử nhiễu trắng và nhiễu đen, (d) là kết quả thu nhận được

sau khi áp dụng bộ lọc Blur

4.2.6 - Khử bóng

Trong nhiều ứng dụng thực tế, vùng bóng của đối tượng chuyển động sẽ xuất hiện

trong vùng nền của cảnh Mỗi khi đối tượng chuyển động thì bóng của nó sẽ di

chuyển theo Việc phân biệt đâu là vùng đối tượng và đâu là bóng của nó thực sự là

một việc khó khăn Trong luận văn này, tôi chỉ hạn chế ảnh hưởng của bóng đối

tượng chuyển động đến kết quả thu nhận được do phải cân nhắc giữa hiệu quả của

việc khử bóng và cái giá phải trả cho việc đó thông qua tốc độ của ứng dụng

Một phương pháp đơn giản và ít tốn kém hơn được ứng dụng trong luận văn để

giảm bớt bóng của đối tượng chuyển động Mô hình của phương pháp này được

Trang 11

trình bày trong hình 4 – 7 Ảnh đầu vào được áp dụng một bộ lọc gradient và sau đó được đưa qua thuật toán phát hiện đối tượng chuyển động đã được trình bày bên trên Bộ lọc ảnh được áp dụng có công thức như sau:

Có một lưu ý về bộ lọc này là sẽ có sai số về đường biên của đối tượng trên kết quả thu nhận được khi áp dụng bộ lọc này, phép toán trên công thức trên sẽ làm mở rộng vùng biên của đối tượng Để khắc phục được điều này thì bước sau cùng của việc khử bóng là bước phục hồi đường biên của vùng đối tượng chuyển động

Trang 12

Khung hình hiện thời

Bộ lọc Gradient

Bộ đệm khung hình

Thuật toán phát hiện chuyển động

Khung hình hiện thời

Khung hình trước

Phục hồi đường biên

Vùng đối tượng chuyển động

Hình 4 - 7: Mô hình phương pháp khử bóng

Một số hạn chế của phương pháp khử bóng này:

• Việc khử bóng đối tượng phụ thuộc vào độ mịn của bóng

• Nếu bóng của đối tượng nằm trên một vùng có độ tương phản cấu trúc cao thì hiệu quả sẽ không cao

• Bộ lọc loại bỏ một số thông tin hình ảnh gốc cho nên kết quả phát hiện chuyển động có thể bị suy giảm vì điều này

Trang 13

(a) (b)

(c) (d)

Hình 4 - 8: Minh họa quá trình khử bóng

Hình 4 – 8 (a) là ảnh gốc, (b) là kết quả nhận được sau khi đối sánh ảnh, (c) là kết

quả nhận được sau khi áp dụng bộ lọc, (d) là kết quả thu nhận được sau khi khử

bóng

4.3 - Cấu trúc chương trình

4.3.1 - Cấu trúc chính

Chương trình chính CameraSupervisor gồm có 3 phần: phần phát hiện chuyển

động, phần trợ giúp điều khiển giao thông và phần mô phỏng nút giao thông

Trang 14

Module phát hiện chuyển động

Module trợ giúp điều khiển giao thông

Module mô phỏng nút giao thông

Dữ liệu vào từ Camera (Khung hình hiện thời)

Khung hình nền

Khung hình

trước đó

Vùng ảnh có đối tượng di chuyển

Phát tín hiệu đèn giao thông

Ước lượng các thành phần chuyển động trên làn đường

Bộ suy diễn để đưa ra trợ giúp điều khiển giao thông

Tổng hợp khung hình nền

Phát hiện chuyển động

Hình 4 - 9: Cấu trúc chính của chương trình

Trang 15

4.3.2 - Phần phát hiện chuyển động

Hệ thống được cài đặt theo phương pháp phát hiện đối tượng chuyển động kết hợp của phương pháp so sánh khác biệt đặc trưng giữa khung hình hiện thời với khung hình trước đó, giữa khung hình hiện thời với khung hình nền

Khung hình nền được tổng hợp tự động trong quá trình chạy

4.3.3 - Phần mô phỏng nút giao thông

Nút giao thông được mô phỏng trong chương trình gồm một ngã tư của hai đường một chiều (hướng đi từ trên xuống và từ trái qua) và một hệ thống đèn giao thông gồm 2 cột đèn tín hiệu

Hệ thống trụ đèn giao thông gồm đầy đủ các tín hiệu đèn Xanh – Vàng – Đỏ

Hệ thống định nghĩa 4 vùng thông tin của làn đường, 2 vùng bên trên và bên trái sẽ mang nhiều thông tin quan trọng hơn cho việc điều khiển tín hiệu đèn giao thông từ các thông tin phân tích thu nhận được thông qua chức năng phát hiện đối tượng chuyển động của chương trình

Đèn tín hiệu giao thông có nguyên lý hoạt động như là một hệ thống đèn giao thông thật tại một ngã tư Nó hoạt động theo thứ tự bình thường như sau:

4.3.4 - Phần trợ giúp điều khiển giao thông

Các thông tin về vùng thông tin trên làn đường giúp giới hạn các thông tin di chuyển thu nhận được qua phần phát hiện chuyển động Hai vùng bên trên và bên

Trang 16

trái là hai vùng chứa thông tin quan trọng, bởi vì đó là hai vùng mà phương tiện giao thông sẽ đi qua và nguy cơ ùn tắc cao hơn so với hai vùng còn lại

Hệ thống sử dụng các thông tin từ phần mô phỏng nút giao thông như là trạng thái tín hiệu đèn giao thông, … kết hợp với các thông tin thu nhận được từ kết quả của phần phát hiện chuyển động và áp dụng các phương pháp suy luận đặc thù để đưa ra quyết định hỗ trợ điều khiển lại tín hiệu đèn giao thông trong phần mô phỏng

4.3.5 - Chương trình mô phỏng nút giao thông

Ở chương trình trên (CameraSupervisor), khả năng cho thấy sự tương tác giữa các

tín hiệu điều khiển giao thông và dòng xe cộ qua camera hoặc trong đoạn phim giao thông chưa rõ nét được vì chưa tích hợp được vào hệ thống điều khiển giao thông thực sự

Chương trình này (CRS – CrossRoadSimulator) được viết thêm để mô phỏng hoạt

động giao thông tại một ngã tư Nó minh họa rõ nét khả năng điều khiển giao thông, cho thấy được tác dụng của các tín hiệu đèn giao thông đối với các phương tiện tham gia giao thông như thế nào

Chương trình này cũng có các giới hạn như chương trình trên, đó là chỉ mô phỏng một ngã tư của 2 con đường một chiều Tây Æ Đông và Bắc Æ Nam Các phương tiện giao thông tham gia bao gồm: Xe con, xe tải và xe gắn máy

4.4 - Môi trường cài đặt

Trang 17

4.6 - Các giao diện chính và một số tính năng

4.6.1 - Chương trình CameraSupervisor

Hình 4 - 10: Giao diện của chương trình thử nghiệm, phần phát hiện chuyển động

Trang 18

Hình 4 - 11: Thể hiện quá trình cập nhật hình nền

Trang 19

Hình 4 - 12: Mô phỏng nút giao thông

Giao diện của chương trình đơn giản, thể hiện chức năng phát hiện đối tượng chuyển động và mô phỏng một nút giao thông là một ngã tư của 2 con đường 1 chiều

• Tham số Radius dùng để điều chỉnh kích thước của block Kích thước đó được xác định theo công thức:

Block size = Radius * 2 + 1

Trang 20

Vị trí để xác định block là tâm của nó và có phạm vi là 1 ô vuông có bán kính là Radius

• Tham số Static Interval dùng để điều chỉnh khoảng thời gian Kt để cập nhật khung hình nền

• Tham số Thresold1 và Thresold2 dùng để điều chỉnh các ngưỡng để khoảng xác định khoảng sai biệt đặc trưng của các block khi phát hiện chuyển động

Vị trí các cột tín hiệu đèn giao thông cũng như tọa độ các góc của vùng tứ giác xác định thông tin của làn đường đều có thể thay đổi được bằng cách dùng chuột để di chuyển, và các thông tin đó được tự động lưu giữ lại trong file Thesis.cfg Nếu file này chưa được tạo ra thì nó sẽ được chương trình tạo ra bằng các hằng số mặc định Khả năng thay đổi này được cài đặt để đáp ứng nhu cầu áp dụng tại nhiều địa hình thử nghiệm khác nhau

Hình 4 - 13: Nút giao thông có khả năng được thay đổi tùy theo địa hình áp dụng

Trang 21

4.6.2 - Chương trình CRS

Hình 4 - 14: Giao diện chương trình CRS

Giao diện chính của chương trình này gồm có một mô hình giả lập một ngã tư hai con đường một chiều Tây Æ Đông và Bắc Æ Nam, và một bộ điều khiển lưu lượng trên 2 con đường đó Ngoài ra chương trình còn hiển thị một đồng hồ đếm giờ ngược, nó thể hiện khoảng thời gian còn lại của tín hiệu đèn xanh hoặc vàng đang được bật

Trang 22

Chương trình được thiết kế với một số tính năng sau:

• Chương trình chạy với tốc độ 15 frames/giây

• Mỗi loại xe có một diện tích khác nhau và chúng được lập trình để chạy trên các làn đường dành riêng:

o Xe con: chạy trên làn đường bên trái Phần đường này chiếm 4/12 chiều rộng con đường

o Xe tải: chạy trên làn đường chính giữa Phần đường này chiếm 5/12 chiều rộng con đường

o Xe gắn máy: chạy trên làn đường bên phải Phần đường này chiếm 3/12 chiều rộng con đường

• Thời lượng đèn vàng là 3 giây, thời lượng đèn xanh tối đa là 60 giây Tuy nhiên thời lượng đèn xanh sẽ được ước đoán trước dựa vào số phương tiện giao thông đang đợi đèn đỏ khi tín hiệu đèn xanh chuẩn bị được bật Công thức để ước lượng thời gian đèn xanh là:

Min(60, Số_phương_tiện_đang_đợi_đèn_đỏ * 3) giây

• Trong quá trình điều khiển lưu lượng trên một con đường, nếu như số lượng tối đa phương tiện giao thông được tham gia lớn hơn số lượng phương tiện giao thông đang hiện hữu trên con đường đó thì sẽ có thêm một số phương tiện nữa được bổ sung vào Ngược lại nếu số này nhỏ hơn, thì khi các phương tiện đang tham gia trên con đường đó ra khỏi tầm nhìn của bộ mô phỏng, chúng sẽ không tham gia trở lại nữa nếu số phương tiện còn lại vẫn vượt quá con số mới được chọn này

• Khi một phương tiện đã vượt ra khỏi tầm nhìn của bộ mô phỏng, thì nó sẽ trở rời khỏi hệ thống và chỉ trở lại khi xác xuất hoạt động trở lại được đạt đến Xác suất này là 90/00

• Trong quá trình chạy, nếu một làn đường có số phương tiện đang hoạt động

ít hơn số tối đa, thì phương tiện mới sẽ phát sinh bổ sung ngẫu nhiên với xác suất như trên Xác suất phát sinh ngẫu nhiên của từng loại phương tiện lần lượt là: Xe hơi – 45%, xe tải – 30% và xe máy 25%

Trang 23

• Mỗi loại phương tiện có các hành động khởi động, chạy bình thường, tăng tốc, thắng

• Mỗi phuơng tiện giao thông có một xác suất tăng tốc nhằm làm cho giao thông đa dạng hơn Xác suất này là 30/00 Nếu xác suất này xảy ra thì phương tiện đó sẽ tăng tốc để chạy nhanh hơn để vượt lên xe khác

• Trong quá trình chạy phương tiện giao thông sẽ tự ước đoán đoạn đường trước mặt, nếu có phương tiện khác cản đường thì nó sẽ tự giảm tốc hoặc dừng lại tránh Nếu tín hiệu đèn vàng bật lên, phương tiện giao thông sẽ tự ước đoán xem nó có bị đi lố vạch sơn dừng hay chưa Nếu sẽ bị lố thì nó sẽ tiếp tục chạy qua ngã tư, ngược lại nó sẽ tự dừng lại đợi đèn đỏ ở trước vạch sơn dừng hoặc sau đuôi một phương tiện khác ở trước mặt

• Hiện hệ mô phỏng này chỉ mới xây dựng cho các loại phương tiện khác nhau chạy trên các làn đường quy định, và chúng xuất phát ở vị trí nào của làn đường thì sẽ vẫn giữ nguyên vị trí đó chứ chưa hoàn thiện chức năng tránh

né hoặc lạng lách Chức năng này sẽ được hoàn thiện trong giai đoạn phát triển sau này của chương trình

• Người sử dụng có thể can thiệp vào quá trình điều khiển đèn bằng cách bấm nút phải chuột để cưỡng chế chuyển trạng thái đèn Chương trình có 4 trạng thái đèn tuần tự như sau:

o Xanh – Đỏ: Tây Æ Đông: Xanh; Bắc Æ Nam: Đỏ

o Vàng – Đỏ: Tây Æ Đông: Vàng; Bắc Æ Nam: Đỏ

o Đỏ - Xanh: Tây Æ Đông: Đỏ; Bắc Æ Nam: Xanh

o Đỏ - Vàng: Tây Æ Đông: Đỏ; Bắc Æ Nam: Vàng

Ngày đăng: 01/06/2018, 13:19

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm