最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

行人車輛檢測(cè)與計(jì)數(shù)系統(tǒng)(Python+YOLOv5深度學(xué)習(xí)模型+清新界面)

2023-03-17 00:51 作者:思緒亦無(wú)限  | 我要投稿

摘要:行人車輛檢測(cè)與計(jì)數(shù)系統(tǒng)用于交通路口行人及車輛檢測(cè)計(jì)數(shù),道路人流量、車流量智能監(jiān)測(cè),方便記錄、顯示、查看和保存檢測(cè)結(jié)果。本文詳細(xì)介紹行人車輛檢測(cè),在介紹算法原理的同時(shí),給出Python的實(shí)現(xiàn)代碼、PyQt的UI界面以及訓(xùn)練數(shù)據(jù)集。在界面中可以選擇各種行人車輛圖片、視頻進(jìn)行檢測(cè)識(shí)別與計(jì)數(shù);可對(duì)圖像中存在的多個(gè)目標(biāo)進(jìn)行識(shí)別分類。博文提供了完整的Python代碼和使用教程,適合新入門(mén)的朋友參考,完整代碼資源文件請(qǐng)轉(zhuǎn)至文末的下載鏈接。

完整代碼下載:mbd.pub/o/bread/ZJaXlJ5

參考視頻演示:bilibili.com/video/BV1m

離線依賴庫(kù)下載鏈接pan.baidu.com/s/1hW9z9o?(提取碼:oy4n )

前言

????????行人車輛檢測(cè)是近年來(lái)計(jì)算機(jī)視覺(jué)領(lǐng)域的研究熱點(diǎn),同時(shí)也是目標(biāo)檢測(cè)領(lǐng)域中的難點(diǎn)。其目的是識(shí)別和定位圖像中存在的行人,在許多領(lǐng)域中都有廣泛的應(yīng)用。交通安全方面,無(wú)人駕駛汽車通過(guò)提前檢測(cè)到行人及時(shí)避讓來(lái)避免交通事故的發(fā)生;安防保護(hù)方面,通過(guò)行人檢測(cè)來(lái)防止可疑人員進(jìn)入;公共場(chǎng)所管理方面,通過(guò)行人和車輛檢測(cè)統(tǒng)計(jì)人流量、車流量數(shù)據(jù),優(yōu)化人力物力等資源的分配。

????????考慮對(duì)交通路口行人車輛的檢測(cè)很多,前面博主也發(fā)布過(guò)實(shí)時(shí)車輛行人多目標(biāo)檢測(cè)與跟蹤系統(tǒng)-上篇(UI界面清新版,Python代碼)和基于深度學(xué)習(xí)的車輛檢測(cè)系統(tǒng)(MATLAB代碼,含GUI界面)等博文。近期我想到可以將模型識(shí)別到的行人、小汽車、卡車、自行車、公交、摩托車等進(jìn)行計(jì)數(shù)統(tǒng)計(jì),觀測(cè)畫(huà)面中各種類型車輛的數(shù)目。系統(tǒng)對(duì)于圖片、視頻和攝像頭捕獲的實(shí)時(shí)畫(huà)面,檢測(cè)畫(huà)面中的行人及車輛并統(tǒng)計(jì)數(shù)目,系統(tǒng)支持結(jié)果記錄、展示和保存,每次檢測(cè)的結(jié)果記錄在表格中,另外采用登錄注冊(cè)進(jìn)行用戶管理。對(duì)此這里給出博主設(shè)計(jì)的新款界面,以前都是淺色系背景,這回弄了個(gè)深色背景,功能也可以滿足圖片、視頻和攝像頭的識(shí)別檢測(cè),希望大家可以喜歡,初始界面如下圖:

????????檢測(cè)類別時(shí)的界面截圖(點(diǎn)擊圖片可放大)如下圖,可識(shí)別畫(huà)面中存在的多個(gè)類別并計(jì)數(shù),也可開(kāi)啟攝像頭或視頻檢測(cè):

???????? 詳細(xì)的功能演示效果參見(jiàn)博主的B站視頻或下一節(jié)的動(dòng)圖演示,覺(jué)得不錯(cuò)的朋友敬請(qǐng)點(diǎn)贊、關(guān)注加收藏!系統(tǒng)UI界面的設(shè)計(jì)工作量較大,界面美化更需仔細(xì)雕琢,大家有任何建議或意見(jiàn)和可在下方評(píng)論交流。


1.?效果演示

????????系統(tǒng)界面設(shè)計(jì)上采用了許多美化技巧,首先我們還是通過(guò)動(dòng)圖看一下系統(tǒng)的效果,主要實(shí)現(xiàn)的功能是對(duì)圖片、視頻和攝像頭畫(huà)面中的行人車輛進(jìn)行識(shí)別,識(shí)別的結(jié)果可視化顯示在界面和圖像中,另外提供多個(gè)行人車輛的顯示選擇功能,演示效果如下。

(一)系統(tǒng)介紹

????????行人車輛檢測(cè)與計(jì)數(shù)系統(tǒng)主要用于日常道路行人及車輛等目標(biāo)的智能監(jiān)測(cè),對(duì)路口常見(jiàn)的目標(biāo)包括行人、小汽車、卡車、公交、自行車、摩托車等目標(biāo)進(jìn)行計(jì)數(shù),以方便對(duì)交通情況分析;系統(tǒng)提供登錄注冊(cè)功能,可進(jìn)行用戶管理;能夠有效識(shí)別圖片、視頻等文件形式,檢測(cè)目標(biāo)位置、類別并統(tǒng)計(jì)各類別計(jì)數(shù)結(jié)果;可開(kāi)啟攝像頭實(shí)時(shí)檢測(cè)和統(tǒng)計(jì)路口行人車輛數(shù)目,支持結(jié)果記錄、展示和保存。

(二)主要特點(diǎn)

???????? (1)YOLO v5算法實(shí)現(xiàn),模型一鍵切換更新;
???????? (2)檢測(cè)圖片、視頻等圖像中的各目標(biāo)數(shù)目;
???????? (3)攝像頭監(jiān)控實(shí)時(shí)檢測(cè),便攜展示、記錄和保存;
???????? (4)支持用戶登錄、注冊(cè),檢測(cè)結(jié)果可視化功能;
???????? (5)提供數(shù)據(jù)集和訓(xùn)練代碼可重新訓(xùn)練;

(三)用戶注冊(cè)登錄界面

????????這里設(shè)計(jì)了一個(gè)登錄界面,可以注冊(cè)賬號(hào)和密碼,然后進(jìn)行登錄。這里的登錄比較簡(jiǎn)單,提供一個(gè)從登錄到主界面的跳轉(zhuǎn)功能,并沒(méi)有涉及數(shù)據(jù)庫(kù)等操作。

(四)選擇圖片識(shí)別

????????系統(tǒng)主界面可以選擇圖片文件進(jìn)行識(shí)別,點(diǎn)擊圖片選擇按鈕圖標(biāo)選擇圖片后,顯示所有識(shí)別的結(jié)果,可通過(guò)下拉選框查看單個(gè)結(jié)果,以便單獨(dú)顯示某一特定目標(biāo)。本功能的界面展示如下圖所示:

(五)視頻識(shí)別效果展示

????????若需識(shí)別一段視頻中的行人及車輛,這里可以點(diǎn)擊視頻按鈕可選擇待檢測(cè)的視頻,系統(tǒng)會(huì)自動(dòng)解析視頻逐幀識(shí)別交通道路,并將人流量、車流量的結(jié)果記錄在下方表格中,效果如下圖所示:

(六)攝像頭檢測(cè)效果展示

????????在真實(shí)場(chǎng)景中,我們往往利用道路的攝像頭獲取實(shí)時(shí)畫(huà)面,同時(shí)需要對(duì)畫(huà)面中的行人及車輛進(jìn)行識(shí)別,因此本文考慮到此項(xiàng)功能。如下圖所示,點(diǎn)擊攝像頭按鈕后系統(tǒng)進(jìn)入準(zhǔn)備狀態(tài),系統(tǒng)顯示實(shí)時(shí)畫(huà)面并開(kāi)始檢測(cè)畫(huà)面中的行人及車輛,識(shí)別結(jié)果展示如下圖:

2.?算法原理與數(shù)據(jù)集

(一)YOLOv5算法

????????從最終效果來(lái)看YOLOv5已經(jīng)相當(dāng)優(yōu)秀,是發(fā)展的比較完備、使用比較廣泛的一個(gè)版本;而更重要的是YOLOv5的調(diào)用、訓(xùn)練和預(yù)測(cè)都十分方便。YOLOv5的另一個(gè)特點(diǎn)就是它為不同的設(shè)備需求和不同的應(yīng)用場(chǎng)景提供了大小和參數(shù)數(shù)量不同的網(wǎng)絡(luò)。

????????(1)主干部分:使用了Focus網(wǎng)絡(luò)結(jié)構(gòu),具體操作是在一張圖片中每隔一個(gè)像素拿到一個(gè)值,這個(gè)時(shí)候獲得了四個(gè)獨(dú)立的特征層,然后將四個(gè)獨(dú)立的特征層進(jìn)行堆疊,此時(shí)寬高信息就集中到了通道信息,輸入通道擴(kuò)充了四倍。該結(jié)構(gòu)在YoloV5第5版之前有所應(yīng)用,最新版本中未使用。

????????(2)數(shù)據(jù)增強(qiáng):Mosaic數(shù)據(jù)增強(qiáng)、Mosaic利用了四張圖片進(jìn)行拼接實(shí)現(xiàn)數(shù)據(jù)中增強(qiáng),根據(jù)論文所說(shuō)其擁有一個(gè)巨大的優(yōu)點(diǎn)是豐富檢測(cè)物體的背景!且在BN計(jì)算的時(shí)候一下子會(huì)計(jì)算四張圖片的數(shù)據(jù)!

????????(3)多正樣本匹配:在之前的Yolo系列里面,在訓(xùn)練時(shí)每一個(gè)真實(shí)框?qū)?yīng)一個(gè)正樣本,即在訓(xùn)練時(shí),每一個(gè)真實(shí)框僅由一個(gè)先驗(yàn)框負(fù)責(zé)預(yù)測(cè)。YoloV5中為了加快模型的訓(xùn)練效率,增加了正樣本的數(shù)量,在訓(xùn)練時(shí),每一個(gè)真實(shí)框可以由多個(gè)先驗(yàn)框負(fù)責(zé)預(yù)測(cè)。

????????下圖是YoloV5經(jīng)過(guò)非極大值抑制在COCO數(shù)據(jù)集上的人、車圖片測(cè)試結(jié)果。


(二)行人車輛數(shù)據(jù)集

????????這里我們使用的行人車輛數(shù)據(jù)集,是從COCO和VOC數(shù)據(jù)集中抽取的包含行人、小汽車、卡車、公交、自行車、摩托車等類別的圖像數(shù)據(jù),每張圖片除包括類別標(biāo)簽外,還有一個(gè)標(biāo)注的物體邊框(Bounding Box)。組成的訓(xùn)練數(shù)據(jù)集包含2856張圖片,驗(yàn)證集1343張圖片,共計(jì)4199張圖片。

????????每張圖像均提供了圖像類標(biāo)記信息,圖像中行人及車輛的bounding box,行人及車輛的關(guān)鍵part信息,以及行人及車輛的屬性信息,數(shù)據(jù)集并解壓后得到如下的圖片。

3.?行人車輛檢測(cè)與計(jì)數(shù)系統(tǒng)

(一)訓(xùn)練過(guò)程

????????數(shù)據(jù)集準(zhǔn)備好,接下來(lái)可執(zhí)行訓(xùn)練程序,首先要安裝本系統(tǒng)所需的依賴庫(kù),配置一個(gè)Python3.8然后按照requirements.txt里面的依賴裝環(huán)境就可以運(yùn)行了。

????????YOLOv5是通過(guò)yaml格式的配置文件來(lái)找到對(duì)應(yīng)的訓(xùn)練測(cè)試數(shù)據(jù),因此在訓(xùn)練前需要對(duì)該文件進(jìn)行簡(jiǎn)單配置。這里我們?yōu)榇藬?shù)據(jù)集配置好的yaml文件如下所示:

????????我們可以在終端輸入如下命令進(jìn)行訓(xùn)練,當(dāng)然也可以直接點(diǎn)擊train.py運(yùn)行。

(二)行人車輛預(yù)測(cè)

????????在訓(xùn)練完成后得到最佳模型,接下來(lái)我們將幀圖像輸入到這個(gè)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè),從而得到預(yù)測(cè)結(jié)果,預(yù)測(cè)方法(predict.py)部分的代碼如下所示。

????????得到預(yù)測(cè)結(jié)果我們便可以將幀圖像中的行人車輛框出,然后在圖片上用opencv繪圖操作,輸出行人車輛的的類別及行人車輛的預(yù)測(cè)分?jǐn)?shù)。以下是讀取一個(gè)行人車輛圖片并進(jìn)行檢測(cè)的腳本,首先將圖片數(shù)據(jù)進(jìn)行預(yù)處理后送predict進(jìn)行檢測(cè),然后計(jì)算標(biāo)記框的位置并在圖中標(biāo)注出來(lái)。

????????跑通了這個(gè)預(yù)測(cè)程序,我們可以將其封裝到界面中,利用PyQt5設(shè)計(jì)一個(gè)UI界面,在運(yùn)行圖片、視頻檢測(cè)時(shí)調(diào)用這個(gè)方法。博主對(duì)整個(gè)系統(tǒng)進(jìn)行了詳細(xì)測(cè)試,最終開(kāi)發(fā)出一版流暢得到清新界面,就是博文演示部分的展示,完整的UI界面、測(cè)試圖片視頻、代碼文件,以及Python離線依賴包(方便安裝運(yùn)行,也可自行配置環(huán)境),均已打包上傳,感興趣的朋友可以通過(guò)參考文章里面給出的下載鏈接或B站視頻簡(jiǎn)介處的下載鏈接獲取。

下載鏈接

????若您想獲得博文中涉及的實(shí)現(xiàn)完整全部程序文件(包括測(cè)試圖片、視頻,py, UI文件等,如下圖),這里已打包上傳至博主的面包多平臺(tái),見(jiàn)可參考博客與視頻,已將所有涉及的文件同時(shí)打包到里面,點(diǎn)擊即可運(yùn)行,完整文件截圖如下:

????在文件夾下的資源顯示如下,下面的鏈接中也給出了Python的離線依賴包,讀者可在正確安裝Anaconda和Pycharm軟件后,復(fù)制離線依賴包至項(xiàng)目目錄下進(jìn)行安裝,離線依賴的使用詳細(xì)演示也可見(jiàn)本人B站視頻:win11從頭安裝軟件和配置環(huán)境運(yùn)行深度學(xué)習(xí)項(xiàng)目Win10中使用pycharm和anaconda進(jìn)行python環(huán)境配置教程。


注意:該代碼采用Pycharm+Python3.8開(kāi)發(fā),經(jīng)過(guò)測(cè)試能成功運(yùn)行,運(yùn)行界面的主程序?yàn)閞unMain.py和LoginUI.py,測(cè)試圖片腳本可運(yùn)行testPicture.py,測(cè)試視頻腳本可運(yùn)行testVideo.py。為確保程序順利運(yùn)行,請(qǐng)按照requirements.txt配置Python依賴包的版本。Python版本:3.8,請(qǐng)勿使用其他版本,詳見(jiàn)requirements.txt文件;

完整資源中包含數(shù)據(jù)集及訓(xùn)練代碼,環(huán)境配置與界面中文字、圖片、logo等的修改方法請(qǐng)見(jiàn)視頻,項(xiàng)目完整文件下載請(qǐng)見(jiàn)以下給出:???

完整代碼下載:mbd.pub/o/bread/ZJaXlJ5

參考視頻演示:bilibili.com/video/BV1m

離線依賴庫(kù)下載鏈接pan.baidu.com/s/1hW9z9o?(提取碼:oy4n )

界面中文字、圖標(biāo)和背景圖修改方法:

在Qt Designer中可以徹底修改界面的各個(gè)控件及設(shè)置,然后將ui文件轉(zhuǎn)換為py文件即可調(diào)用和顯示界面。如果只需要修改界面中的文字、圖標(biāo)和背景圖的,可以直接在ConfigUI.config文件中修改,步驟如下:
(1)打開(kāi)UI_rec/tools/ConfigUI.config文件,若亂碼請(qǐng)選擇GBK編碼打開(kāi)。
(2)如需修改界面文字,只要選中要改的字符替換成自己的就好。
(3)如需修改背景、圖標(biāo)等,只需修改圖片的路徑。例如,原文件中的背景圖設(shè)置如下:

可修改為自己的名為background2.png圖片(位置在UI_rec/icons/文件夾中),可將該項(xiàng)設(shè)置如下即可修改背景圖:

結(jié)束語(yǔ)

????????由于博主能力有限,博文中提及的方法即使經(jīng)過(guò)試驗(yàn),也難免會(huì)有疏漏之處。希望您能熱心指出其中的錯(cuò)誤,以便下次修改時(shí)能以一個(gè)更完美更嚴(yán)謹(jǐn)?shù)臉幼?,呈現(xiàn)在大家面前。同時(shí)如果有更好的實(shí)現(xiàn)方法也請(qǐng)您不吝賜教。

行人車輛檢測(cè)與計(jì)數(shù)系統(tǒng)(Python+YOLOv5深度學(xué)習(xí)模型+清新界面)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
石河子市| 上栗县| 江达县| 五峰| 兰坪| 灵宝市| 枣强县| 海盐县| 章丘市| 达尔| 犍为县| 云浮市| 泰州市| 电白县| 高青县| 闵行区| 庆安县| 个旧市| 青川县| 揭东县| 丹阳市| 剑川县| 新安县| 诸暨市| 雷州市| 平阳县| 赫章县| 陕西省| 波密县| 涡阳县| 万安县| 桐乡市| 崇义县| 阳谷县| 乐都县| 沭阳县| 安徽省| 古田县| 高尔夫| 穆棱市| 丁青县|