Tải bản đầy đủ (.pdf) (6 trang)

Xây dựng hệ thống giám sát và phân tích lưu lượng giao thông đường bộ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.55 MB, 6 trang )

Dương Ngọc Pháp

185

Xây dựng hệ thống giám sát và phân tích lưu lượng
giao thơng đường bộ
Dương Ngọc Pháp
Khoa Cơng nghệ Thơng tin và Truyền thơng - Đại học Đà Nẵng


Tóm tắt. Bài báo tập trung phát triển mơ hình mơ phỏng hệ thống quan sát, đếm và phân
tích lưu lượng các phương tiện giao thông đường bộ (cụ thể là các xe ô tô trên đường) trên
thiết bị phần cứng để đưa ra các đánh giá giúp cho nhà quản lí có thể theo dõi tình hình giao
thơng tại trạm và từ xa thông qua Internet sử dụng ThingSpeak. Thuật tốn giám sát lưu
lượng được thực hiện sử dụng ngơn ngữ Matlab với công cụ Simulink nhằm triển khai mã
nguồn ứng dụng chạy trực tiếp trên nền tảng phần cứng Raspberry Pi. Qua kết quả thử
nghiệm cũng đưa ra một số đánh giá về tình hình giao thơng tại trạm quan sát.
Từ khóa: Raspberry Pi, thuật tốn giám sát lưu lượng, ThingSpeak, Simulink, Matlab.

1

Giới thiệu

Để xây dựng một mơ hình IoT ứng dụng, bài báo mô tả việc triển khai sơ đồ khối sử dụng
các thành phần gồm:
Raspberry Pi 3 mode B: kit nhúng sử dụng Vi xử lí mạnh mẽ ARM Cortex A53 quadcore 64-bit tốc độ 1.2GHz làm bộ xử lí trung tâm chạy thuật tốn giám sát lưu lượng, kết nối
internet thông qua Wifi.
Webcam Logitech HP Pro C920 1080P: kết hợp với giá đỡ đảm bảo ghi nhận hình ảnh
tốc độ cao đáp ứng yêu cầu xử lí trích xuất đối tượng xe di chuyển, kết nối với Raspberry Pi
3 qua giao tiếp USB 3.0.
ThingSpeak [1]: lưu trữ dữ liệu trực tuyến phục vụ phân tích và mơ phỏng các thơng số


về mẫu lưu lượng.
Việc phân tích dữ liệu có thể được thực hiện tại hiện trường, tại trạm phân tích hoặc trên bộ
lưu trữ dữ liệu trực tuyến. Như sơ đồ khối trình bày trong Hình 1, bài báo này phát triển thuật
toán giám sát lưu lượng tại hiện trường, dữ liệu sau đó được gởi lên ThingSpeak để tiến hành
phân tích, mơ phỏng.


186

KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA 2018 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC

Hình 1. Sơ đồ khối hệ thống.

Theo sơ đồ khối hệ thống, USB webcam được gắn trên một chân đế vững chắc để có được
góc nhìn tốt nhất đảm bảo chất lượng hình ảnh thu được, kết nối đến một trong bốn cổng USB
của Raspberry Pi 3. Pi 3 kết nối với internet thông qua mạng không dây truyền dữ liệu lên
ThingSpeak. Raspberry Pi 3 đóng vai trị xử lí thuật tốn đếm lưu lượng xe, sau đó gởi dữ liệu
lên cloud với thời gian cập nhật được lựa chọn là 15 giây theo tốc độ dữ liệu tối đa cho phép bởi
ThingSpeak.

2

Phát triển thuật toán giám sát lưu lượng

Để phát triển thuật toán giám sát lưu lượng, bài báo sử dụng công cụ Simulink với các công
cụ Image Processing Toolbox, Computer Vision System Toolbox và Simulink Support Package
cho phần cứng Raspberry Pi. Simulink là mơi trường mơ hình hóa có thể tự sinh mã nguồn chạy
được trên bộ điều khiển nhúng Raspberry Pi 3 trong trường hợp này. Về cơ bản thuật toán sử
dụng phương pháp dị tìm vùng khác nhau trong ảnh xám với khối phân tích Blob như [6] cho
đối tượng cụ thể đặt ra, tuy nhiên để xử lí nhiễu trên các đối tượng có khoảng cách xa cần một

số khối tiền xử lí. Sơ đồ mơ hình thực hiện được mơ tả như hình 2.

Hình 2. Mơ hình Simulink cho thuật toán giám sát lưu lượng.


Dương Ngọc Pháp

187

Chế độ mở rộng ngoài của Simulink được sử dụng để phát triển thuật toán nhằm thu thập
luồng video từ Raspberry Pi và có thể quan sát trên cửa sổ ngoài sử dụng khối hiển thị video
SDL trong khi chạy chương trình, như ví dụ ở hình 3.

Hình 3. Hình ảnh được trích xuất từ luồng video SDL.

Từ sơ đồ mơ hình, khối webcam bên trái sơ đồ kết nối đến Raspberry Pi để thu nhận video
với khung hình đặt trước. Tiếp theo khối vision.ForegroundDetector ước lượng những điểm ảnh
nền trước của các đối tượng được ghi nhận bởi luồng video và ước lượng nền sử dụng mô hình
Gaussian [2] và tạo ra mặt nạ làm nổi bật đối tượng cần theo dõi, trong trường hợp này các xe ô
tô đang chuyển động.

Hình 4. Mặt nạ Foreground.

Mặt nạ Foreground sau đó được xử lí sử dụng Median filter để loại bỏ nhiễu [3]. Tiếp theo
sử dụng khối Blob Analysis [4] để xác định trọng tâm các đốm sáng ứng với vị trí của chiếc xe
như hình 5.


188


KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA 2018 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC

Hình 5. Mặt nạ Foreground sau khi được xử lí bởi Median filter.

Cuối cùng, khối Car Density có nhiệm vụ xác định số lượng xe lưu thơng theo mỗi hướng
trong khung hình [5]. Dữ liệu về số lượng xe đi về mỗi hướng được gởi lên ThingSpeak lưu trữ
ở các vùng khác nhau dành cho việc đánh giá mơ phỏng.

Giới hạn của thuật tốn giám sát lưu lượng

3

Thuật tốn thực hiện vai trị ước lượng vì khơng theo dõi từng đối tượng riêng lẻ. Mỗi khung
hình sau 15 giây dùng để xử lí nhằm ước lượng mức độ lưu thông, trong khi thực tế có thể có ít
hơn hoặc nhiều hơn số lượng xe ô tô di chuyển trong khoảng 15 giây lấy mẫu. Một số giới hạn
khi sử dụng thuật toán như ở hình 2 như sau:
a.
b.
c.
d.
e.

4

Camera khơng có chức năng thu ảnh hồng ngoại nên hạn chế vào ban đêm.
Nếu có tình trạng kẹt xe, ảnh nền có thể bị tính tốn sai số lượng xe.
Nếu có sự thay đổi về điều kiện ánh sáng, thuật toán mất vài giây để tự hiệu chỉnh.
Thuật tốn có thể khơng tính trường hợp một phần xe không nhận dạng.
Chỉ hỗ trợ nhận dạng được phương tiện là xe ơ tơ có kiểu dáng tương đồng.


Cơng cụ thực hiện

Sau khi phát triển thuật tốn, phần cứng Raspberry Pi 3 được sử dụng để thực thi và chạy
chương trình mà khơng cần kết nối trực tiếp với Simulink trên PC. Điều này được thực hiện
bằng cách sử dụng cơng cụ Simulink Support Package.
Với thuật tốn giám sát lưu lượng phát triển trên nền tảng Raspberry Pi có thể tiến hành phân
tích dữ liệu thơ được gởi bởi Raspberry Pi lên ThingSpeak. Để đơn giản hóa việc truy xuất dữ
liệu từ ThingSpeak, chúng ta có thể sử dụng hàm từ ThingSpeak Support Toolbox trong dữ liệu
cua Matlab.

5

Kết quả thực nghiệm

Để tiến hành thực nghiệm, hệ thống được đặt để thu nhận ảnh hiện trường với khoảng cách
nằm trong dải từ 40 -> 50m, độ cao ứng với tầng 4 của tịa nhà để có góc quan sát tốt cho hình
ảnh. Thời gian lấy mẫu là 15 giây, mỗi thao tác thực hiện của ThingSpeak đáp ứng chỉ 8000
mẫu dữ liệu, chương trình cho phép tạo ra các vịng lặp để ghép nối dữ liệu và các thơng số về
thời gian, lưu lượng sẽ được ấn định lần lượt vào các mảng lưu trữ.
Dữ liệu thô thu được sẽ giúp thể hiện rõ sự biến động lưu lượng mặc dù rất khó để quan sát
các mẫu riêng biệt. Để đánh giá lưu lượng trong mỗi ngày cần tiến hành giảm mẫu để loại bỏ
những biến động trong thời gian ngắn. Việc sử dụng chức năng dò đỉnh sẽ giúp tìm được các
điểm mật độ lưu lượng cao nhất và vẽ lên biểu đồ đánh giá như ở hình 6 đối với mật độ lưu
lượng ngày giữa tuần và hình 7 đối với mật độ lưu lượng ngày cuối tuần. Quan sát biểu đồ có
thể thấy được kết quả phân tích có sự khác nhau về mật độ và thời gian giữa hai ngày theo dõi.
Dữ liệu thô sẽ làm khó phân biệt được các điểm lưu lượng, khoảng thời gian giữa các điểm
hiển thị sẽ được chia tỉ lệ lớn hơn so với 15 giây. Để làm việc này, trong 24 giờ sẽ được chia
thành các đoạn 30 phút và biểu đồ được vẽ bằng cách nối các đỉnh lưu lượng tại các thời điểm
tương ứng.



Dương Ngọc Pháp

189

Hình 6. Mật độ lưu lượng trong ngày giữa tuần.

Hình 7. Mật độ lưu lượng trong ngày cuối tuần.

6

Kết luận

Bài báo đã minh họa việc phát triển một thuật tốn giám sát lưu lượng có thể triển khai trên
nền tảng phần cứng Raspberry Pi và gởi dữ liệu lên ThingSpeak. Việc phân tích, giám sát sử
dụng khối phân tích Blob cho phép thực hiện tại trạm để giảm chi phí xây dựng thực tế. Trên
cơng cụ ThingSpeak được sử dụng, việc mơ phỏng có thể được tùy chọn và cập nhật thường


190

KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA 2018 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC

xuyên theo cấu hình. Trong hướng phát triển tiếp tục điều chỉnh các thuật toán tiền xử lý để
khắc phục các hạn chế của thuật tốn đồng thời tăng tốc độ xử lí cho bài toán thời gian thực.

Tài liệu tham khảo
1. last visited July 30th, 2018.
2. Greggio, Nicola, et al.: "Fast estimation of Gaussian mixture models for image
segmentation." Machine Vision and Applications 23.4: 773-789 (2012).

3. Reddy, Vikas, Conrad Sanderson, and Brian C. Lovell: "A low-complexity algorithm for static
background estimation from cluttered image sequences in surveillance contexts." EURASIP Journal
on Image and Video Processing (2011).
4. Patro, Badri Narayana: "Design and implementation of novel image segmentation and BLOB
detection algorithm for real-time video surveillance using DaVinci processor." Advances in
Computing, Communications and Informatics (ICACCI, 2014 International Conference on. IEEE
(2014).
5. Royani, Tahere, Javad Haddadnia, and MohammadReza Pooshideh: "A simple method for
calculating vehicle density in traffic images." Machine Vision and Image Processing (MVIP), 2010
6th Iranian. IEEE (2010).
6. Manasa, J., et al.: "Real time object counting using Raspberry pi." International Journal of Advanced
Research in Computer and Communication Engineering 4.7: 540-544 (2015).



×