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

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

機(jī)場(chǎng)航拍圖像檢測(cè)軟件(Python+YOLOv5深度學(xué)習(xí)模型+清新界面)

2023-03-22 20:13 作者:思緒亦無(wú)限  | 我要投稿


摘要:機(jī)場(chǎng)航拍圖像檢測(cè)軟件使用深度學(xué)習(xí)技術(shù)檢測(cè)機(jī)場(chǎng)航拍圖像中的飛機(jī)目標(biāo)等,識(shí)別航拍目標(biāo)等結(jié)果并記錄和保存,輔助機(jī)場(chǎng)智能管理運(yùn)行。在介紹算法原理的同時(shí),給出Python的實(shí)現(xiàn)代碼、訓(xùn)練數(shù)據(jù)集,以及PyQt的UI界面。機(jī)場(chǎng)航拍檢測(cè)系統(tǒng)主要檢測(cè)飛機(jī)的數(shù)目、位置、預(yù)測(cè)置信度等;連接攝像頭設(shè)備可開啟實(shí)時(shí)檢測(cè)功能,另外對(duì)圖片、視頻等文件也可進(jìn)行測(cè)試和檢測(cè);登錄系統(tǒng)提供用戶注冊(cè)、登錄、管理功能;訓(xùn)練和調(diào)優(yōu)的模型可有效檢測(cè),模型可選擇切換。博文提供了完整的Python代碼和使用教程,適合新入門的朋友參考,完整代碼資源文件請(qǐng)轉(zhuǎn)至文末的下載鏈接。

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

參考視頻演示:https://www.bilibili.com/video/BV11k4y1h7BP/

離線依賴庫(kù)下載:https://pan.baidu.com/s/1hW9z9ofV1FRSezTSj59JSg?pwd=oy4n?(提取碼:oy4n )

前言

????????機(jī)場(chǎng)航拍圖像檢測(cè)是指利用機(jī)載攝像機(jī)獲取機(jī)場(chǎng)場(chǎng)區(qū)圖像,并利用計(jì)算機(jī)視覺(jué)技術(shù)對(duì)圖像進(jìn)行分析和處理,以實(shí)現(xiàn)機(jī)場(chǎng)安全、運(yùn)行和管理的目的。機(jī)場(chǎng)航拍圖像檢測(cè)涵蓋了航道、跑道、停機(jī)坪、航站樓、機(jī)庫(kù)等各個(gè)方面,包括飛機(jī)起降、滑行、停靠、維修、安檢等過(guò)程。機(jī)場(chǎng)航拍圖像檢測(cè)的技術(shù)方法主要包括目標(biāo)檢測(cè)、圖像分割、特征提取、分類識(shí)別等。其中,目標(biāo)檢測(cè)是機(jī)場(chǎng)航拍圖像檢測(cè)的核心技術(shù),可以通過(guò)機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等方法實(shí)現(xiàn)。機(jī)場(chǎng)航拍圖像檢測(cè)的應(yīng)用可以提高機(jī)場(chǎng)安全性和運(yùn)行效率,為機(jī)場(chǎng)管理部門提供及時(shí)準(zhǔn)確的數(shù)據(jù)支持,也為機(jī)場(chǎng)服務(wù)企業(yè)和航空公司提供更好的服務(wù)。

????????這里給出博主設(shè)計(jì)的軟件界面,同款的簡(jiǎn)約風(fēng),功能也可以滿足圖片、視頻和攝像頭的識(shí)別檢測(cè),希望大家可以喜歡,初始界面如下圖:

????????檢測(cè)飛機(jī)時(shí)的界面截圖(點(diǎn)擊圖片可放大)如下圖,可識(shí)別畫面中存在的多個(gè)飛機(jī),也可開啟攝像頭或視頻檢測(cè):

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


1.?效果演示

????????首先我們還是通過(guò)動(dòng)圖看一下識(shí)別的效果,系統(tǒng)主要實(shí)現(xiàn)的功能是對(duì)圖片、視頻和攝像頭畫面中的航拍圖像進(jìn)行識(shí)別,識(shí)別的結(jié)果可視化顯示在界面和圖像中,另外提供多個(gè)目標(biāo)的顯示選擇功能,演示效果如下。

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

????????這里設(shè)計(jì)了一個(gè)登錄界面,可以注冊(cè)賬號(hào)和密碼,然后進(jìn)行登錄。界面還是參考了當(dāng)前流行的UI設(shè)計(jì),左側(cè)是一個(gè)LOGO圖,右側(cè)輸入賬號(hào)、密碼、驗(yàn)證碼等等。

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

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

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

????????很多時(shí)候我們需要識(shí)別一段視頻,這里設(shè)計(jì)了視頻選擇功能。點(diǎn)擊視頻按鈕可選擇待檢測(cè)的視頻,系統(tǒng)會(huì)自動(dòng)解析視頻逐幀識(shí)別圖片中的飛機(jī),并將結(jié)果記錄在右下角表格中,效果如下圖所示:

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

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

2.?機(jī)場(chǎng)航拍數(shù)據(jù)集及訓(xùn)練

????????這里我們使用的航拍圖像數(shù)據(jù)集,包括訓(xùn)練數(shù)據(jù)集708張圖片,驗(yàn)證集68張,測(cè)試集34張圖片,共計(jì)810張圖片。部分?jǐn)?shù)據(jù)集的圖像及標(biāo)注如下圖所示:

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

? ? ? ? 以下給出本系統(tǒng)項(xiàng)目的文件目錄,其中包含了YOLOv5相關(guān)的代碼以及界面設(shè)計(jì)代碼,如下圖所示。對(duì)于訓(xùn)練模型部分只需要關(guān)注train.py這個(gè)文件,訓(xùn)練用到的數(shù)據(jù)集、標(biāo)注文件及配置文件在本項(xiàng)目中已配置完成。

????????關(guān)于這個(gè)項(xiàng)目,我們首先要安裝python的依賴庫(kù),配置一個(gè)Python3.8然后按照requirements.txt里面的依賴裝環(huán)境就可以運(yùn)行了。

????????到這,深度學(xué)習(xí)所需的環(huán)境和依賴包就準(zhǔn)備好了,現(xiàn)在對(duì)整個(gè)代碼目錄做一個(gè)介紹:

????????data:主要是存放一些超參數(shù)的配置文件(這些文件(yaml文件)是用來(lái)配置訓(xùn)練集和測(cè)試集還有驗(yàn)證集的路徑的,其中還包括目標(biāo)檢測(cè)的種類數(shù)和種類的名稱);

????????models:里面主要是一些網(wǎng)絡(luò)構(gòu)建的配置文件和函數(shù),其中包含了該項(xiàng)目的四個(gè)不同的版本,分別為是s、m、l、x。從名字就可以看出,這幾個(gè)版本的大小。他們的檢測(cè)測(cè)度分別都是從快到慢,但是精確度分別是從低到高。如果訓(xùn)練自己的數(shù)據(jù)集,需要修改這里面相對(duì)應(yīng)的yaml文件來(lái)訓(xùn)練自己模型。

????????utils:存放的是工具類的函數(shù),里面有l(wèi)oss函數(shù),metrics函數(shù),plots函數(shù)等等。

????????weights:放置訓(xùn)練好的權(quán)重參數(shù)。

????????testPicture.py, testVideo.py:利用訓(xùn)練好的權(quán)重參數(shù)進(jìn)行目標(biāo)檢測(cè),可以進(jìn)行圖像、視頻和攝像頭的檢測(cè)。

????????train.py:訓(xùn)練自己的數(shù)據(jù)集的函數(shù)。

????????requirements.txt:這是一個(gè)文本文件,里面寫著使用yolov5項(xiàng)目的環(huán)境依賴包的一些版本,可以利用該文本導(dǎo)入相應(yīng)版本的包。

????????以上就是本項(xiàng)目代碼的整體介紹。我們訓(xùn)練和測(cè)試自己的數(shù)據(jù)集基本就是利用到如上的代碼,這里可以運(yùn)行train.py文件訓(xùn)練目標(biāo)檢測(cè)模型,以下是在終端運(yùn)行訓(xùn)練的截圖。

????????在深度學(xué)習(xí)中,我們通常通過(guò)損失函數(shù)下降的曲線來(lái)觀察模型訓(xùn)練的情況。而YOLOv5訓(xùn)練時(shí)主要包含三個(gè)方面的損失:矩形框損失(box_loss)、置信度損失(obj_loss)和分類損失(cls_loss),在訓(xùn)練結(jié)束后,我們也可以在logs目錄下找到生成對(duì)若干訓(xùn)練過(guò)程統(tǒng)計(jì)圖。下圖為博主訓(xùn)練飛機(jī)識(shí)別的模型訓(xùn)練曲線圖。

????????一般我們會(huì)接觸到兩個(gè)指標(biāo),分別是召回率recall和精度precision,兩個(gè)指標(biāo)p和r都是簡(jiǎn)單地從一個(gè)角度來(lái)判斷模型的好壞,均是介于0到1之間的數(shù)值,其中接近于1表示模型的性能越好,接近于0表示模型的性能越差,為了綜合評(píng)價(jià)目標(biāo)檢測(cè)的性能,一般采用均值平均密度map來(lái)進(jìn)一步評(píng)估模型的好壞。我們通過(guò)設(shè)定不同的置信度的閾值,可以得到在模型在不同的閾值下所計(jì)算出的p值和r值,一般情況下,p值和r值是負(fù)相關(guān)的,繪制出來(lái)可以得到如下圖所示的曲線,其中曲線的面積我們稱AP,目標(biāo)檢測(cè)模型中每種目標(biāo)可計(jì)算出一個(gè)AP值,對(duì)所有的AP值求平均則可以得到模型的mAP值,以本文為例,我們可以計(jì)算佩戴安全帽和未佩戴安全帽的兩個(gè)目標(biāo)的AP值,我們對(duì)兩組AP值求平均,可以得到整個(gè)模型的mAP值,該值越接近1表示模型的性能越好。關(guān)于更加學(xué)術(shù)的定義大家可以在知乎或者csdn上自行查閱,以我們本次訓(xùn)練的模型為例,在模型結(jié)束之后你會(huì)找到圖像,分別表示我們模型在驗(yàn)證集上的召回率、準(zhǔn)確率和均值平均密度。

????????以PR-curve為例,可以看到我們的模型在驗(yàn)證集上的均值平均準(zhǔn)確率為0.938。

3.?機(jī)場(chǎng)航拍圖像檢測(cè)識(shí)別

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

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

????????執(zhí)行得到的結(jié)果如下圖所示,圖中飛機(jī)的種類和置信度值都標(biāo)注出來(lái)了,預(yù)測(cè)速度較快?;诖四P臀覀兛梢詫⑵湓O(shè)計(jì)成一個(gè)帶有界面的系統(tǒng),在界面上選擇圖片、視頻或攝像頭然后調(diào)用模型進(jìn)行檢測(cè)。

????????博主對(duì)整個(gè)系統(tǒng)進(jìn)行了詳細(xì)測(cè)試,最終開發(fā)出一版流暢得到清新界面,就是博文演示部分的展示,完整的UI界面、測(cè)試圖片視頻、代碼文件,以及Python離線依賴包(方便安裝運(yùn)行,也可自行配置環(huán)境),均已打包上傳,感興趣的朋友可以通過(guò)下載鏈接獲取。

下載鏈接

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

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

注意:該代碼采用Pycharm+Python3.8開發(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)勿使用其他版本,詳見requirements.txt文件;

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

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

參考視頻演示:https://www.bilibili.com/video/BV11k4y1h7BP/

離線依賴庫(kù)下載:https://pan.baidu.com/s/1hW9z9ofV1FRSezTSj59JSg?pwd=oy4n?(提取碼:oy4n )

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

????????在Qt Designer中可以徹底修改界面的各個(gè)控件及設(shè)置,然后將ui文件轉(zhuǎn)換為py文件即可調(diào)用和顯示界面。如果只需要修改界面中的文字、圖標(biāo)和背景圖的,可以直接在ConfigUI.config文件中修改,步驟如下:
????????(1)打開UI_rec/tools/ConfigUI.config文件,若亂碼請(qǐng)選擇GBK編碼打開。
????????(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)您不吝賜教。


機(jī)場(chǎng)航拍圖像檢測(cè)軟件(Python+YOLOv5深度學(xué)習(xí)模型+清新界面)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
咸宁市| 泸定县| 哈巴河县| 洛阳市| 错那县| 平和县| 九龙城区| 竹山县| 伊通| 通河县| 叶城县| 邵阳市| 康保县| 嘉义市| 育儿| 县级市| 库伦旗| 来安县| 博罗县| 图木舒克市| 高雄县| 万山特区| 治县。| 泽库县| 右玉县| 滦南县| 孝昌县| 新巴尔虎右旗| 道孚县| 开平市| 新昌县| 汶上县| 清河县| 靖江市| 蕉岭县| 西城区| 察哈| 乐业县| 宁晋县| 邵东县| 灌云县|