智慧交通day00-项目简介
汽車的日益普及在給人們帶來(lái)極大便利的同時(shí),也導(dǎo)致了擁堵的交通路況,以及更為頻發(fā)的交通事故。智能交通技術(shù)已成為推動(dòng)現(xiàn)代技術(shù)交通技術(shù)發(fā)展的重要力量,智能交通不僅能夠提供實(shí)時(shí)的交通路況信息,幫助交通管理者規(guī)劃管理策略,而且還能優(yōu)化出行者的出行策略。還可以減輕交通道路的堵塞情況,降低交通事故的發(fā)生概率,提高道路運(yùn)行的安全系數(shù)。
本項(xiàng)目分兩個(gè)模塊:
-
一個(gè)是基于視頻的車輛跟蹤及流量統(tǒng)計(jì),是一個(gè)可跟蹤路面實(shí)時(shí)車輛通行狀況,并逐幀記錄不同行車道車流量數(shù)目的深度學(xué)習(xí)項(xiàng)目,在視頻中可看出每個(gè)車輛的連續(xù)幀路徑,該項(xiàng)目可拓展性強(qiáng),可根據(jù)企業(yè)業(yè)務(wù)外接計(jì)費(fèi)結(jié)算系統(tǒng)、LED顯示系統(tǒng)、語(yǔ)音播報(bào)系統(tǒng)、供電防雷系統(tǒng)等,
-
另一個(gè)是車道線檢測(cè)項(xiàng)目,是實(shí)現(xiàn)自動(dòng)駕駛的首要任務(wù),廣泛應(yīng)用于自動(dòng)駕駛廠家,能夠根據(jù)車載攝像頭的輸入,對(duì)安全駕駛區(qū)域進(jìn)行預(yù)判,提醒駕駛員進(jìn)行安全駕駛,減少交通事故的發(fā)生。
該項(xiàng)目的架構(gòu)圖如下所示:?
- 用戶層:通過(guò)攝像頭或人工選擇視頻送入服務(wù)層中進(jìn)行處理,處理完成后可輸出經(jīng)渲染后的視頻,或觸發(fā)報(bào)警裝置
- 服務(wù)層:主要包含兩個(gè)模塊,
- 一是車輛追蹤及計(jì)數(shù),該模塊模塊一對(duì)輸入的視頻進(jìn)行處理,使用yoloV3模型進(jìn)行目標(biāo)檢測(cè),然后使用SORT進(jìn)行目標(biāo)追蹤,使用卡爾曼濾波器進(jìn)行目標(biāo)位置預(yù)測(cè),并利用匈牙利算法對(duì)比目標(biāo)的相似度,完成車輛目標(biāo)追蹤,利用虛擬線圈的思想實(shí)現(xiàn)車輛目標(biāo)的計(jì)數(shù),并根據(jù)計(jì)數(shù)完成車道擁堵的判斷;
- 另一個(gè)是車道線的檢測(cè),該模塊使用張氏較正法對(duì)相機(jī)進(jìn)行較正,利用較正結(jié)果對(duì)圖像去畸變,然后利用邊緣與顏色提取車道線,利用仿射變換轉(zhuǎn)換成鳥瞰圖,并利用直方圖和滑動(dòng)窗口的算法精確定位車道線,利用最小二乘法進(jìn)行擬合,實(shí)現(xiàn)車道線的檢測(cè),并計(jì)算車輛偏離車道中心的距離,觸發(fā)報(bào)警裝置。
- 效果展示:
2.環(huán)境安裝
該項(xiàng)目中使用的工具包包含以下:
NumPy 是使用 Python 進(jìn)行科學(xué)計(jì)算的基礎(chǔ)包。
Numba 是一個(gè)開源 JIT 編譯器,它將 Python 和 NumPy 代碼的子集轉(zhuǎn)換為快速機(jī)器碼。
SciPy 是數(shù)學(xué)、科學(xué)和工程的開源軟件。SciPy 庫(kù)依賴于 NumPy,它提供方便快捷的 N 維數(shù)組操作。
h5py 從 Python 讀取和寫入 HDF5文件。
pandas 用于數(shù)據(jù)分析、時(shí)間序列和統(tǒng)計(jì)的強(qiáng)大的數(shù)據(jù)結(jié)構(gòu)。
opencv-python 用于 Python 的預(yù)構(gòu)建 OpenCV 包。
moviepy 用于進(jìn)行視頻處理的工具包
Filterpy 實(shí)現(xiàn)了卡爾曼濾波器和粒子濾波器等
具體版本見requirements文件中。
安裝方法:
# 創(chuàng)建虛擬環(huán)境 conda create -n dlcv python # 激活虛擬環(huán)境 source activate dlcv # 激活虛擬環(huán)境(window) activate dlcv # 安裝對(duì)應(yīng)的工具包 pip install -r requirements.txtrequirements.txt 見文末總結(jié)
智慧交通中包含兩個(gè)模塊:多目標(biāo)車輛跟蹤及流量統(tǒng)計(jì)和車道線檢測(cè)
智慧交通項(xiàng)目分為用戶層和服務(wù)層,用戶層進(jìn)行視頻或攝像頭的操作,服務(wù)層對(duì)視頻進(jìn)行處理,完成多目標(biāo)車輛的跟蹤及車流量的統(tǒng)計(jì)和車道線檢測(cè)
requirements.txt: amqp==2.5.2 billiard==3.6.3.0 celery==4.4.2 certifi==2019.11.28 chardet==3.0.4 click==7.1.1 colorama==0.3.9 cycler==0.10.0 Cython==0.29.19 decorator==4.4.2 Django==2.2.10 django-redis==4.11.0 filterpy==1.4.5 fire==0.1.3 Flask==1.1.1 h5py==2.8.0 idna==2.8 imageio==2.8.0 imageio-ffmpeg==0.4.1 importlib-metadata==1.6.0 imutils==0.5.3 itsdangerous==1.1.0 Jinja2==2.11.1 Kalman==0.1.3 kiwisolver==1.1.0 kombu==4.6.8 llvmlite==0.31.0 MarkupSafe==1.1.1 matplotlib==2.2.3 moviepy==1.0.1 numba==0.39.0 numpy==1.15.4 opencv-python==3.4.3.18 pandas==0.23.4 Pillow==7.0.0 proglog==0.1.9 protobuf==3.11.3 pyparsing==2.4.6 python-dateutil==2.8.1 pytz==2019.3 redis==3.4.1 requests==2.21.0 scipy==1.1.0 six==1.14.0 sqlparse==0.3.1 tensorboardX==1.6 torch==0.4.1 torchvision==0.2.1 tqdm==4.29.1 urllib3==1.24.3 vine==1.3.0 Werkzeug==1.0.0 zipp==3.1.0
總結(jié)
以上是生活随笔為你收集整理的智慧交通day00-项目简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 数据结构之堆:堆的介绍与python实现
- 下一篇: OpenCV_04 几何变换:图像缩放+