廖建聰, 秦 軍, 楊 東
(國(guó)網(wǎng)上海崇明供電公司, 上海 202150)
防雷、防火、防汛一直以來(lái)都是變電站在設(shè)計(jì)時(shí)要考慮的重中之重。但是通過(guò)查閱相關(guān)文獻(xiàn)可知,目前變電站內(nèi)部的防火措施仍然依靠傳感器以及設(shè)備自身的防火設(shè)計(jì),這就導(dǎo)致當(dāng)火災(zāi)發(fā)生時(shí)不能及時(shí)、全面地加以處理。如今變電站基本無(wú)人值守,通過(guò)遠(yuǎn)程查看監(jiān)控的方式進(jìn)行監(jiān)管,對(duì)于監(jiān)管人員而言,任務(wù)重而且難以在眾多屏幕中迅速發(fā)現(xiàn)火情。因此,可以考慮引入圖像識(shí)別技術(shù)來(lái)對(duì)火情進(jìn)行判斷。一方面可以加大火情判斷的覆蓋面,提升容錯(cuò)率,減少因傳感器部署不全引起的損失;另一方面可以準(zhǔn)確地對(duì)火點(diǎn)進(jìn)行定位消缺。
火情圖像識(shí)別技術(shù)按照實(shí)現(xiàn)的復(fù)雜度和發(fā)展分為3種:初級(jí)檢測(cè)是通過(guò)顏色檢測(cè)從而實(shí)現(xiàn)對(duì)火情的檢測(cè);進(jìn)階檢測(cè)是通過(guò)顏色+形狀+運(yùn)動(dòng)進(jìn)行檢測(cè);高階版檢測(cè)則是通過(guò)深度學(xué)習(xí)后進(jìn)行檢測(cè)。本文采用深度學(xué)習(xí)的方式來(lái)實(shí)現(xiàn)對(duì)火情的檢測(cè)。采用深度學(xué)習(xí)的方式不僅識(shí)別準(zhǔn)確率更高,同時(shí)也更加靈敏。初級(jí)檢測(cè)和進(jìn)階檢測(cè)可以用于初步判斷,減少常規(guī)的計(jì)算[1]。
深度學(xué)習(xí)的目標(biāo)檢測(cè)模型有Faster RCNN、SSD、RefineDet、YOLOv5等。本項(xiàng)目應(yīng)用于智能變電站火情圖像識(shí)別將采用YOLOv5。
YOLOv5有5個(gè)版本,5個(gè)模型的網(wǎng)絡(luò)結(jié)構(gòu)基本一致,只是其中的模塊數(shù)量或是卷積核個(gè)數(shù)不一樣。YOLOv5模型分辨率、精度均值、CPU推理時(shí)間對(duì)比如表1所示。YOLOv5模型GPU推理時(shí)間、參數(shù)量、理論計(jì)算量對(duì)比如表2所示。通過(guò)大小、運(yùn)行速度、準(zhǔn)確率等綜合比較,決定采用YOLOv5s作為本次火情檢測(cè)的網(wǎng)絡(luò)模型[2]。
表1 YOLOv5模型分辨率、精度均值、CPU推理速度對(duì)比
表2 YOLOv5模型GPU推理時(shí)間、參數(shù)量、理論計(jì)算量對(duì)比
YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)大致和YOLOv3相似,分為輸入端(Input)、網(wǎng)絡(luò)主干(Backbone)、過(guò)渡層(Neck)、預(yù)測(cè)層(Prediction)4個(gè)部分。在結(jié)構(gòu)上的改進(jìn)主要體現(xiàn)為輸入端做了Mosaic數(shù)據(jù)增強(qiáng)、嵌入自適應(yīng)錨框計(jì)算以及自適應(yīng)圖片縮放;網(wǎng)絡(luò)主干首先利用Focus結(jié)構(gòu)減少圖像尺寸,提高了運(yùn)算速度但并未刪減圖像信息,另外CSP結(jié)構(gòu)通過(guò)不同層特征合并提高模型效率;過(guò)渡層采用FPN+PAN結(jié)構(gòu),較前代增強(qiáng)了網(wǎng)絡(luò)特征融合能力;預(yù)測(cè)層利用GIOU_Loss損失函數(shù)將預(yù)測(cè)邊框與實(shí)際標(biāo)注邊框?qū)Ρ?計(jì)算損失。
YOLOv5火情檢測(cè)流程如圖1所示。首先通過(guò)變電站布控的攝像頭采集現(xiàn)場(chǎng)圖像,然后預(yù)處理,再送至已經(jīng)訓(xùn)練好的模型,檢測(cè)是否存在火情,若存在則進(jìn)行預(yù)警,一方面通知到單位應(yīng)急人員,另一方面與消防部門(mén)聯(lián)動(dòng)。按照技術(shù)嵌入過(guò)程首先要制作數(shù)據(jù)集,將其分為訓(xùn)練數(shù)據(jù)集與測(cè)試數(shù)據(jù)集。訓(xùn)練數(shù)據(jù)集用于訓(xùn)練模型,測(cè)試數(shù)據(jù)集用于檢測(cè)反饋成效。
圖1 YOLOv5火情檢測(cè)流程
目前并無(wú)涉及變電站內(nèi)部的火情數(shù)據(jù)集,需要自己制作。通過(guò)以下4個(gè)方法完成火情數(shù)據(jù)集的制備:① 通過(guò)搜索關(guān)鍵詞“建筑物+室內(nèi)+火”在網(wǎng)上下載已有的開(kāi)放資源;② 通過(guò)攝像頭采集不同變電站不同角度的圖片,將不同的火情組合附加至圖片上;③ 在廢棄建筑室內(nèi)通過(guò)點(diǎn)火采用不同角度不同方位進(jìn)行拍攝;④ 對(duì)現(xiàn)有非變電站火災(zāi)數(shù)據(jù)集圖片進(jìn)行挑選。
最終用以上方法制作數(shù)據(jù)集2 500張,隨后將其按照7∶1∶2分為訓(xùn)練集、驗(yàn)證集、測(cè)試集。通過(guò)LabelIme進(jìn)行訓(xùn)練集標(biāo)注,保存為Json格式后再轉(zhuǎn)換為txt格式[3]。
數(shù)據(jù)集制備完成后可以進(jìn)行模型訓(xùn)練,在模型訓(xùn)練之前要配置fire.yaml文件中資源路徑具體所在位置以及models目錄下的yolov5s.yaml文件。
此外,需下載pt權(quán)重文件以及在train.py中配置權(quán)重路徑、epochs(迭代次數(shù))、batch-size(單次傳遞訓(xùn)練個(gè)數(shù))。本文中epochs設(shè)置為500,batch-size設(shè)置為8。設(shè)置之后便可以開(kāi)始訓(xùn)練模型。
YOLO模型的性能評(píng)價(jià)采用精確率、召回率、平均準(zhǔn)確率表示[4]。
精確率(Precision):在所有預(yù)測(cè)為正樣本的結(jié)果中,預(yù)測(cè)正確的比率。計(jì)算式為
P=NTP/(NTP+NFP)
(1)
式中:NTP——預(yù)測(cè)為正例,實(shí)際為正例,即算法預(yù)測(cè)正確的正樣本數(shù)量;
NFP——預(yù)測(cè)為正例,實(shí)際為負(fù)例,即算法錯(cuò)誤預(yù)測(cè)為正樣本的數(shù)量。
召回率(Recall):所有正樣本中被準(zhǔn)確預(yù)測(cè)的比率。計(jì)算式為
R=NTP/(NTP+NFN)
(2)
式中:NFN——預(yù)測(cè)為負(fù)例,實(shí)際為正例,即算法錯(cuò)誤預(yù)測(cè)為負(fù)樣本的數(shù)量。
精度均值(mAP):是在P(R)曲線上的積分,計(jì)算式為
(3)
(4)
式中:PA——平均精度;
P(R)——以精確率和召回率作為縱、橫坐標(biāo)的二維曲線;
c——目標(biāo)檢測(cè)任務(wù)中的類(lèi)別數(shù)量。
模型精確率、召回率隨迭代次數(shù)變化曲線如圖2所示。精確率最后穩(wěn)定在0.89,召回率保持在0.81。
圖2 模型精確率、召回率隨迭代次數(shù)變化曲線
mAP_0.5、mPA_0.5∶0.95隨迭代次數(shù)變化曲線如圖3所示。mAP_0.5達(dá)到0.82,mAP_0.5∶0.95達(dá)到0.52。
圖3 mAP_0.5、mPA_0.5∶0.95隨迭代次數(shù)變化曲線
測(cè)試識(shí)別圖如圖4所示。由圖可以看到火情被準(zhǔn)確識(shí)別出,充分證明了利用YOLOv5來(lái)實(shí)現(xiàn)對(duì)變電站內(nèi)火情的檢測(cè)是可行的。
圖4 測(cè)試識(shí)別圖
本文將圖像識(shí)別技術(shù)應(yīng)用于變電站防火設(shè)計(jì)中,通過(guò)制備數(shù)據(jù)集并通過(guò)YOLOv5訓(xùn)練模型對(duì)火情進(jìn)行檢測(cè),試驗(yàn)證明能夠準(zhǔn)確識(shí)別出火情,具備一定的商用價(jià)值。
今后會(huì)對(duì)數(shù)據(jù)集以及相關(guān)結(jié)構(gòu)進(jìn)行改進(jìn)以確保能夠在關(guān)鍵時(shí)刻發(fā)揮其功能:一方面數(shù)據(jù)集會(huì)由組合方式轉(zhuǎn)向完全貼近室內(nèi)環(huán)境;另一方面對(duì)結(jié)構(gòu)進(jìn)行改進(jìn)以提升準(zhǔn)確率和召喚率。