(國(guó)網(wǎng)自貢供電公司,四川 自貢 646100)
電力視頻監(jiān)控是堅(jiān)強(qiáng)智能電網(wǎng)的重要基礎(chǔ)和支撐,廣泛應(yīng)用于變電站、營(yíng)業(yè)廳、供電所等電力生產(chǎn)經(jīng)營(yíng)場(chǎng)所,是國(guó)家電網(wǎng)公司堅(jiān)強(qiáng)智能電網(wǎng)的重要組成部分[1]?,F(xiàn)國(guó)網(wǎng)四川省電力公司電力視頻監(jiān)控系統(tǒng)涵蓋站點(diǎn)2245個(gè),每天產(chǎn)生PB級(jí)的視頻監(jiān)控?cái)?shù)據(jù)量,形成豐富的視頻大數(shù)據(jù)資源。
目前,視頻記錄的使用主要用在事故或違章發(fā)生后,人工查找存儲(chǔ)的視頻記錄。這樣不但花費(fèi)人力,查找結(jié)果往往也不準(zhǔn)確。所以,投入大量資金建設(shè)的視頻監(jiān)控系統(tǒng)目前僅起到視頻記錄的作用,并沒(méi)有真正實(shí)現(xiàn)“實(shí)時(shí)監(jiān)控”(即實(shí)時(shí)理解視頻中的行為)。視頻監(jiān)控系統(tǒng)在主動(dòng)預(yù)警方面的能力仍然沒(méi)有體現(xiàn),對(duì)電網(wǎng)的安全生產(chǎn)仍然沒(méi)起到促進(jìn)作用,變電站仍然不夠“智能”。
結(jié)合監(jiān)控視頻缺乏智能分析、實(shí)時(shí)管控的現(xiàn)狀,利用卷積神經(jīng)網(wǎng)絡(luò)技術(shù)提取出目標(biāo)特征,并通過(guò)輸入大量的訓(xùn)練數(shù)據(jù)進(jìn)行自主學(xué)習(xí),最終實(shí)現(xiàn)對(duì)變電站違章作業(yè)和營(yíng)業(yè)廳不規(guī)范服務(wù)行為的視頻大數(shù)據(jù)自動(dòng)挖掘、實(shí)時(shí)預(yù)警以及智能推送。
自貢供電公司的視頻監(jiān)控系統(tǒng)主要由營(yíng)業(yè)廳視頻監(jiān)控系統(tǒng)和變電站視頻監(jiān)控系統(tǒng)組成,其中:營(yíng)業(yè)廳視頻監(jiān)控系統(tǒng)由自井營(yíng)業(yè)廳(沙灣)、貢井局營(yíng)業(yè)廳等35個(gè)供電所視頻監(jiān)控系統(tǒng)組成;變電站視頻監(jiān)控系統(tǒng)由圓灣變電站、舒平變電站等43個(gè)變電站視頻監(jiān)控系統(tǒng)組成。截止到目前,自貢供電公司已經(jīng)累積歷史視頻數(shù)據(jù)超過(guò)100 TB,并且每天有4 TB左右的新數(shù)據(jù)產(chǎn)生,形成豐富的視頻大數(shù)據(jù)資源。
在視頻監(jiān)控系統(tǒng)中,需要保持海量的視頻圖像記錄,現(xiàn)有的視頻存儲(chǔ)模式分為如下3種[2]:
1)DVR/NVR前端本地存儲(chǔ):此種模式由于DVR/NVR存儲(chǔ)容量相對(duì)較小,且DVR/NVR性能較低,信息孤島現(xiàn)象嚴(yán)重,無(wú)法滿足大數(shù)據(jù)需求。
2)集中存儲(chǔ)模式:相對(duì)于DVR/NVR模式,容量大大提升,并實(shí)現(xiàn)了數(shù)據(jù)的集中存儲(chǔ);但隨著大數(shù)據(jù)的來(lái)臨,后續(xù)項(xiàng)目擴(kuò)容時(shí),需要人為配置設(shè)備的負(fù)載均衡。
3)通用云存儲(chǔ):為了設(shè)備的負(fù)載均衡以及空間的虛擬化設(shè)備易維護(hù),云存儲(chǔ)技術(shù)應(yīng)運(yùn)而生。通過(guò)軟件運(yùn)用集群技術(shù)、虛擬化技術(shù)、分布式存儲(chǔ)技術(shù),將網(wǎng)絡(luò)中大量各種不同類型的存儲(chǔ)設(shè)備集合起來(lái)協(xié)同工作,共同對(duì)外提供數(shù)據(jù)存儲(chǔ)和業(yè)務(wù)訪問(wèn)功能。因其內(nèi)部數(shù)據(jù)處理以結(jié)構(gòu)化數(shù)據(jù)為主,云存儲(chǔ)方式具有面向應(yīng)用的特點(diǎn),利于數(shù)據(jù)的分析和利用。
考慮運(yùn)行實(shí)況和未來(lái)需求,充分利用視頻分布式存儲(chǔ)系統(tǒng)靈活性、擴(kuò)展性、經(jīng)濟(jì)性、可靠性等優(yōu)勢(shì),簡(jiǎn)化數(shù)據(jù)共享流程和降低數(shù)據(jù)統(tǒng)一分析的門檻,采用了針對(duì)監(jiān)控行業(yè)應(yīng)用推出的專業(yè)級(jí)云存儲(chǔ)系統(tǒng),其物理拓?fù)淙鐖D1所示。
根據(jù)視頻監(jiān)控系統(tǒng)監(jiān)控記錄,按照智能推送規(guī)則篩選出有效的視頻記錄,形成索引,寫入至MySQL數(shù)據(jù)庫(kù)中備用[3]。利用數(shù)據(jù)庫(kù)可以從視頻云存儲(chǔ)平臺(tái)獲取特定時(shí)間的視頻段。視頻云存儲(chǔ)平臺(tái)提供專門數(shù)據(jù)接口以供數(shù)據(jù)的查詢、回放和下載,如圖2所示。至此,所需的原始數(shù)據(jù)文件已經(jīng)就位(云存儲(chǔ)+索引數(shù)據(jù)庫(kù))以備后續(xù)數(shù)據(jù)清洗過(guò)程使用。
圖1 視頻專用云存儲(chǔ)物理拓?fù)?/p>
圖2 視頻數(shù)據(jù)接口
數(shù)據(jù)清洗一是為了解決數(shù)據(jù)質(zhì)量問(wèn)題,二是讓數(shù)據(jù)更適合挖掘。
監(jiān)控場(chǎng)所內(nèi)熱點(diǎn)的監(jiān)控素材才是有價(jià)值的素材,因此首先要篩選出有效的視頻段。視頻篩選使用Python程序語(yǔ)言開(kāi)發(fā)的腳本工具Detect.py,該工具基于opencv2.3開(kāi)源代碼庫(kù)。
以變電站作業(yè)人員違章智能預(yù)警為例,可用getDefaultPeopleDetector函數(shù)實(shí)現(xiàn)人員行為抓取。從視頻云存儲(chǔ)系統(tǒng)抓取有人工作的視頻片段,結(jié)合數(shù)據(jù)存儲(chǔ)階段整理的有人工作記錄索引數(shù)據(jù),便可直接從視頻云存儲(chǔ)系統(tǒng)獲取有人工作視頻段,流程如圖3所示。
圖3 獲取有人工作視頻段
視頻轉(zhuǎn)換成圖片的目的是為了進(jìn)行機(jī)器學(xué)習(xí)。機(jī)器學(xué)習(xí)過(guò)程中,人員行為判斷分類器的模型訓(xùn)練需要輸入圖片素材[4]。
使用自行開(kāi)發(fā)的輕量級(jí)工具video2pic(Python語(yǔ)言腳本),以流轉(zhuǎn)換模式從有人工作視頻段文件路徑讀取視頻數(shù)據(jù),獲得等間隔時(shí)間采樣的圖片(幀),然后根據(jù)檢測(cè)周期對(duì)圖片進(jìn)行間隔性的抽取(每秒從視頻幀序列中抽取2張圖片),獲得圖片數(shù)據(jù)集,如圖4、圖5所示。
圖4 video2pic工具將視頻轉(zhuǎn)為圖片
圖5 轉(zhuǎn)換后的圖片信息
首先,定義項(xiàng)目系統(tǒng)將要識(shí)別的行為。這里分別以未佩戴安全帽人員頭部和佩戴安全帽人員頭部為例定義了兩類標(biāo)記。
其次,使用可視化工具setTagUI(如圖6所示)對(duì)圖片進(jìn)行篩選,與識(shí)別內(nèi)容相關(guān)的圖片則進(jìn)行區(qū)域圈選和行為標(biāo)簽標(biāo)記,無(wú)關(guān)的圖片則舍棄,最終得到標(biāo)記好類別標(biāo)簽的圖片數(shù)據(jù)集。篩選和標(biāo)記流程如圖7所示。
圖6 sctTangUI
圖7 篩選和標(biāo)記流程
機(jī)器學(xué)習(xí)是人工智能的核心,是使計(jì)算機(jī)具有智能的根本途徑,其應(yīng)用遍及人工智能的各個(gè)領(lǐng)域,它主要使用歸納、綜合而不是演繹[5]。根據(jù)機(jī)器學(xué)習(xí)的學(xué)習(xí)形式可分為監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)。以變電站人員行為違章為例,從變電站監(jiān)控系統(tǒng)識(shí)別已知的某種違章行為,實(shí)質(zhì)上是一種分類任務(wù),即輸入未知數(shù)據(jù)輸出分類結(jié)果。分類任務(wù)要求系統(tǒng)依據(jù)已知的分類知識(shí)對(duì)輸入的未知模式(該模式的描述)作分析,以確定輸入模式的類屬是否違章或者是哪類違章。相應(yīng)的學(xué)習(xí)目標(biāo)就是學(xué)習(xí)用于分類的準(zhǔn)則(如分類規(guī)則)。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)是一種多層的神經(jīng)網(wǎng)絡(luò),主要由卷積層、池化層和全連接層等組成,其中每層又是由很多神經(jīng)元組成[6]。卷積神經(jīng)網(wǎng)絡(luò)中層次之間的緊密聯(lián)系和空間信息使得其特別適用于圖像的處理和理解,并且能夠自動(dòng)地從圖像中抽取出豐富的相關(guān)特性[7]。所采用的卷積神經(jīng)網(wǎng)絡(luò)算法是深度學(xué)習(xí)算法在圖像處理領(lǐng)域的一個(gè)應(yīng)用。
3.2.1 卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
根據(jù)檢測(cè)對(duì)象,可以設(shè)計(jì)出各種CNN架構(gòu)。參照目前主流的CNN網(wǎng)絡(luò)模型,搭建的網(wǎng)絡(luò)模型如圖8所示。
圖8 CNN網(wǎng)絡(luò)模型
該模型由2個(gè)卷積層、2個(gè)池化層、2個(gè)全連接層、1個(gè)RELU層(激勵(lì)層)及1個(gè)Softmax層(網(wǎng)絡(luò)層)組成。根據(jù)檢測(cè)對(duì)象識(shí)別效果和算法效率確定2個(gè)卷積層中的卷積核數(shù)是20和50,卷積的步數(shù)是1,卷積核大小為24×24和8×8;池化層使用12×12最大池,步幅為2;全連接層使用500個(gè)神經(jīng)元。
3.2.2 模型訓(xùn)練
卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練是先搭建整個(gè)網(wǎng)絡(luò)架構(gòu),之后從初始化的網(wǎng)絡(luò)參數(shù)開(kāi)始通過(guò)迭代的循環(huán)交替運(yùn)算,逐步調(diào)整整個(gè)網(wǎng)絡(luò)的參數(shù),使得最后整個(gè)網(wǎng)絡(luò)結(jié)果誤差小于閾值。
訓(xùn)練采用的系統(tǒng)環(huán)境為:Ubuntu操作系統(tǒng)、python語(yǔ)言(anaconda)和Tensorflow深度學(xué)習(xí)框架。訓(xùn)練過(guò)程為:把定義并搭建好的CNN網(wǎng)絡(luò)視為“黑盒子”,圖像的特征由CNN網(wǎng)絡(luò)自動(dòng)提取并訓(xùn)練權(quán)重,將定義好類別的圖像數(shù)據(jù)集(即佩戴安全帽的頭像、未佩戴安全帽的頭像)輸入到“黑盒子”進(jìn)行迭代循環(huán)訓(xùn)練,最終得到案例所需要的網(wǎng)絡(luò)模型文件和權(quán)重文件,保存在checkpoint文件中(“.ckpt”)。模型訓(xùn)練過(guò)程如圖9所示。
圖9 模型訓(xùn)練過(guò)程
3.2.3 模型固化
為了使訓(xùn)練好的網(wǎng)絡(luò)模型能在具體的工程應(yīng)用環(huán)境中使用,需要保證整個(gè)模型是可移植的,需要把訓(xùn)練好的目標(biāo)模型(“.ckpt”文件)轉(zhuǎn)換為固化模型(“.pb”文件)。固化模型不關(guān)心訓(xùn)練過(guò)程中的CNN網(wǎng)絡(luò)模型的具體結(jié)構(gòu)。
本次CNN網(wǎng)絡(luò)模型固化使用freeze_graph.py工具。它首先加載模型文件,然后從checkpoint文件讀取權(quán)重?cái)?shù)據(jù)并初始化到模型里的權(quán)重變量,再將權(quán)重變量轉(zhuǎn)換成權(quán)重常量,最后輸出固化模型文件。
以變電站作業(yè)人員“是否佩戴安全帽”智能預(yù)警分析為例,在視頻監(jiān)控平臺(tái)部署訓(xùn)練好的分類器模型,可以實(shí)時(shí)識(shí)別監(jiān)控畫面是否存在特定不安全行為,與分類器訓(xùn)練和測(cè)試過(guò)程相似,把文件處理流程整合到視頻平臺(tái)便可實(shí)現(xiàn)實(shí)時(shí)判斷?,F(xiàn)場(chǎng)應(yīng)用流程如圖10所示。硬件環(huán)境如表1所示。
圖10 現(xiàn)場(chǎng)應(yīng)用流程
地點(diǎn)攝像頭信息安裝信息主控室海康威視槍機(jī)1080P高度3 m、角度水平向下30、焦距6 m
軟件環(huán)境為Ubuntu操作系統(tǒng)、python語(yǔ)言(anaconda)、tensorflow深度學(xué)習(xí)框架、opencv-python視覺(jué)庫(kù)(用于獲取攝像頭實(shí)時(shí)影像)等。
測(cè)試方式為模擬測(cè)試和現(xiàn)場(chǎng)測(cè)試,如圖11所示。
在室內(nèi)、作業(yè)現(xiàn)場(chǎng)等不同現(xiàn)場(chǎng)測(cè)試環(huán)境中,違章識(shí)別分類器實(shí)現(xiàn)了對(duì)測(cè)試人員安全帽佩戴情況的實(shí)時(shí)識(shí)別和標(biāo)識(shí),達(dá)到了預(yù)期的違章預(yù)警效果。但受限于訓(xùn)練數(shù)據(jù)集規(guī)模較小(約1 k數(shù)量級(jí)的圖片張數(shù)),在背景復(fù)雜、光線較暗等非理想條件下的識(shí)別準(zhǔn)確性還有待提升。從案例“是否佩戴安全帽”這一種違章場(chǎng)景的驗(yàn)證情況看,識(shí)別準(zhǔn)確率超過(guò)90%,但隨著現(xiàn)場(chǎng)違章類別需求的細(xì)化,訓(xùn)練樣本的種類和數(shù)據(jù)集規(guī)模將陡然增加,加之對(duì)圖像進(jìn)行訓(xùn)練時(shí),卷積神經(jīng)網(wǎng)絡(luò)初始狀態(tài)的參數(shù)選擇以及尋優(yōu)算法的選取均會(huì)對(duì)網(wǎng)絡(luò)訓(xùn)練造成很大影響,選擇不好可能會(huì)導(dǎo)致網(wǎng)絡(luò)陷入局部極小、欠擬合、過(guò)擬合等問(wèn)題,甚至導(dǎo)致訓(xùn)練失敗。隨著該領(lǐng)域理論方法的不斷改進(jìn)和開(kāi)放,以及計(jì)算平臺(tái)成本的不斷降低,基于卷積神經(jīng)網(wǎng)絡(luò)的視頻大數(shù)據(jù)智能預(yù)警分析將會(huì)有廣闊的應(yīng)用前景,并在預(yù)防違章領(lǐng)域得到廣泛應(yīng)用。
圖11 模擬測(cè)試和現(xiàn)場(chǎng)測(cè)試
從成功的場(chǎng)景應(yīng)用示例,證明通過(guò)對(duì)視頻監(jiān)控?cái)?shù)據(jù)的清洗、分析和基于卷積神經(jīng)網(wǎng)絡(luò)的特征提取、模型訓(xùn)練、檢測(cè)等,實(shí)現(xiàn)視頻監(jiān)控系統(tǒng)的預(yù)警功能是技術(shù)可行、效果顯著、前景廣闊的。安全是企業(yè)發(fā)展的根本,對(duì)于電網(wǎng)而言,嚴(yán)控各類違章行為,杜絕事故發(fā)生是各級(jí)工作人員的首要職責(zé)。利用計(jì)算機(jī)技術(shù)保障人身、電網(wǎng)、設(shè)備的安全,提升優(yōu)質(zhì)服務(wù)水平是未來(lái)的發(fā)展方向,也是智能電網(wǎng)建設(shè)的重要組成部分。上述場(chǎng)景應(yīng)用大數(shù)據(jù)對(duì)安全帽進(jìn)行了成功檢測(cè),建議從技術(shù)和應(yīng)用兩方面進(jìn)行更深入的研究:
1)通過(guò)增加訓(xùn)練樣本、優(yōu)化訓(xùn)練模型,提升違章預(yù)警的準(zhǔn)確度;
2)通過(guò)擴(kuò)展卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)規(guī)則,以實(shí)現(xiàn)智能預(yù)警功能場(chǎng)景擴(kuò)充;
3)研究成果可應(yīng)用到更豐富的電力安全生產(chǎn)、經(jīng)營(yíng)服務(wù)等場(chǎng)景,有效提升電力生產(chǎn)安全管控能力和優(yōu)質(zhì)服務(wù)水平。