朱建寶,許志龍,孫玉瑋,馬青山
(國網(wǎng)江蘇省電力有限公司南通供電公司,南通226001)
隨著相關(guān)軟硬件技術(shù)的成熟和成本的降低,視頻監(jiān)控已成為變電站安全生產(chǎn)管控過程中的一大助力,然而,目前變電站對(duì)于設(shè)備管控和人員管控還處于被動(dòng)監(jiān)控階段,即通過人力來進(jìn)行人員的異常行為監(jiān)控,或者將監(jiān)控系統(tǒng)作為事后分析資料的來源,不僅浪費(fèi)了寶貴的視頻資源,而且也無法自動(dòng)進(jìn)行事中分析和預(yù)警,操作人員仍處于繁重的監(jiān)控工作中,因此,為了實(shí)現(xiàn)變電站智能化和安全生產(chǎn)管控自動(dòng)化,有必要開展變電站智能化視頻監(jiān)控研究。
計(jì)算機(jī)視覺技術(shù)是人工智能的分支方向,主要通過視覺圖像信息的處理,達(dá)到識(shí)別和理解圖像內(nèi)容的目的,智能視頻監(jiān)控借助于計(jì)算機(jī)強(qiáng)大的計(jì)算能力,依靠計(jì)算機(jī)視覺技術(shù),從監(jiān)控圖像或視頻中提取關(guān)鍵信息并快速分析,并將分析結(jié)果反饋給監(jiān)控系統(tǒng)進(jìn)行處理,從而達(dá)到智能識(shí)別、理解和處理監(jiān)控視頻的目的[1]。
目前,智能視頻監(jiān)控中的人體行為分析主要是對(duì)視頻序列進(jìn)行運(yùn)動(dòng)目標(biāo)檢測、目標(biāo)跟蹤和目標(biāo)行為分析,運(yùn)動(dòng)目標(biāo)檢測需要將運(yùn)動(dòng)目標(biāo)從背景中精確提取出來,主要方法有光流法[2-3]、幀間差法[4-5]、背景減法[6-7]等,這些都是基于運(yùn)動(dòng)目標(biāo)在視頻中的特性而設(shè)計(jì)的算法,實(shí)際上并沒有真正達(dá)到感知圖像的效果,目標(biāo)跟蹤算法分為基于特征的跟蹤[8]、基于區(qū)域的跟蹤[9-10]、基于模型的跟蹤[11]和基于輪廓線的跟蹤[12-13],這些跟蹤算法適用于不同的目標(biāo)和場合,缺乏普適性,往往針對(duì)特定場景需要專門設(shè)計(jì)一類算法,費(fèi)時(shí)費(fèi)力,目標(biāo)行為分析可分為基于模型的行為分析方法[14]和基于相似度量的行為分析方法[15],與前述目標(biāo)跟蹤算法類似,這些方法同樣復(fù)雜且冗余,缺乏普適性。
近年來隨著人工智能技術(shù)的發(fā)展,基于視頻圖像開展人員異常行為監(jiān)控已成為可能,在變電站人員行為監(jiān)控中,最重要的問題是人體關(guān)鍵點(diǎn)分析,這類問題在深度學(xué)習(xí)中可以被統(tǒng)一歸為人體姿態(tài)估計(jì)問題,多年來人們發(fā)展出了多種人體姿態(tài)估計(jì)方法,最早的方法只適用于單人,先識(shí)別出人的各個(gè)部分,然后再連接各部分來獲得姿態(tài),近年來多人姿態(tài)估計(jì)也取得了較快的發(fā)展,多人姿態(tài)估計(jì)分為兩類,第一類是自頂向下(Top-down)的方法,即先檢測出多個(gè)人,再對(duì)每一個(gè)人進(jìn)行姿態(tài)估計(jì),這種方法具有較高的準(zhǔn)確率但是處理速度不高,如AlphaPose;第二類是自底向上(Down-top)的方法,即先檢測出關(guān)節(jié)點(diǎn),再判斷每一個(gè)關(guān)節(jié)屬于哪一個(gè)人,這種方法可以做到實(shí)時(shí)檢測人體關(guān)鍵點(diǎn),如OpenPose。
本文基于OpenPose多人姿態(tài)估計(jì)算法,提出了一種基于變電站監(jiān)控視頻的人員危險(xiǎn)行為檢測模型,該模型可用于多種監(jiān)控環(huán)境下的人員姿態(tài)關(guān)鍵點(diǎn)的識(shí)別和定位,在本文實(shí)驗(yàn)平臺(tái)下檢測速度達(dá)到每秒20幀,滿足變電站實(shí)時(shí)視頻監(jiān)控的要求。
如圖1所示,本文將變電站人員危險(xiǎn)行為檢測劃分為3個(gè)子任務(wù):一是變電站安全區(qū)域的確定,二是人體關(guān)鍵姿態(tài)點(diǎn)的定位,三是在前兩步的基礎(chǔ)上進(jìn)行危險(xiǎn)行為判斷并給予反饋,本文首先通過霍夫變換從變電站監(jiān)控視頻中識(shí)別并標(biāo)定出安全區(qū)域,然后基于OpenPose多人姿態(tài)估計(jì)算法進(jìn)行實(shí)時(shí)人體目標(biāo)檢測和人體關(guān)鍵姿態(tài)點(diǎn)識(shí)別,最后結(jié)合人體姿態(tài)點(diǎn)信息與變電站安全區(qū)域信息,分析人員行為是否是危險(xiǎn)行為。
圖1 變電站人員危險(xiǎn)行為檢測整體流程Fig.1 Overall process of detection of personnel dangerous behaviors in substation
目前,區(qū)域檢測算法主要分為兩大類,一是基于傳統(tǒng)機(jī)器視覺的方法,二是基于深度學(xué)習(xí)的方法,基于傳統(tǒng)機(jī)器視覺的方法有邊緣檢測、霍夫變換、顏色閾值、透視變換等,在區(qū)域檢測中應(yīng)用廣泛;基于深度學(xué)習(xí)的區(qū)域檢測主要通過語義分割網(wǎng)絡(luò)實(shí)現(xiàn),如LaneNet、SegNet、E-Net、FCNs等,效果較好,但所消耗的計(jì)算資源較多,由于變電站監(jiān)控?cái)z像頭的位置相對(duì)固定,所記錄的視頻圖像背景基本無變化,傳統(tǒng)的機(jī)器視覺方法就可以達(dá)到較好的區(qū)域檢測效果,因此本文采用了傳統(tǒng)機(jī)器視覺方法對(duì)視頻圖像中的安全區(qū)域進(jìn)行標(biāo)定,處理步驟包括高斯模糊、灰度化、Canny算子邊緣檢測、霍夫變換以及區(qū)域識(shí)別。
高斯模糊又稱高斯濾波,通過這一過程可以使得數(shù)據(jù)平滑并消除噪聲,因此被廣泛用于圖像降噪處理,高斯模糊按像素點(diǎn)進(jìn)行加權(quán)平均,即圖像像素點(diǎn)高斯模糊后的值,是由其本身和指定鄰域內(nèi)的像素值在高斯函數(shù)計(jì)算后得到的權(quán)值矩陣下加權(quán)平均后得到,如式(1)所示:
式中:x和y是像素點(diǎn)的坐標(biāo);σ是正態(tài)分布的標(biāo)準(zhǔn)偏差,分布不為零的像素組成的卷積矩陣與原始圖像做變換,每個(gè)像素值都是周圍相鄰像素值的加權(quán)平均,這樣的模糊處理相比其它的均衡模糊濾波器能夠更好地保留圖像邊緣特征。
灰度化是將彩色像素點(diǎn)的RGB分量歸一為同一個(gè)值,如式(2)所示,本文根據(jù)加權(quán)平均法來得到灰度圖像。
式中:權(quán)重k1=0.299,k2=0.578,k3=0.144。
邊緣檢測主要是利用變化明顯的點(diǎn)會(huì)呈現(xiàn)較大的梯度來定位邊緣信息,本文使用Canny算子檢測邊緣,該算子主要是通過卷積來獲得梯度,通過設(shè)置兩個(gè)高低閾值,過濾掉梯度幅值較小的邊緣噪聲,保留高梯度幅值的邊緣像素,梯度計(jì)算公式如下:
式中:Gx,Gy分別為x,y 方向的梯度,I為原始圖像。
霍夫變換被用來從圖像中識(shí)別幾何圖形,它是一種基于邊緣二值圖像尋找直線的方法,一條直線在二維空間可由兩個(gè)變量表示,即在笛卡爾坐標(biāo)系中由斜率和截距(k,b)表示,在極坐標(biāo)系中由極徑和極角(r,θ)表示。通過笛卡爾坐標(biāo)系中某點(diǎn)的任意直線組合在極坐標(biāo)系中是正弦函數(shù)曲線,因此,對(duì)邊緣二值圖像中的點(diǎn)進(jìn)行坐標(biāo)變換,在極坐標(biāo)系中將產(chǎn)生無數(shù)正弦曲線,因此,在極坐標(biāo)系(r,θ)平面中相交于同一點(diǎn)的正弦曲線數(shù)量說明通過該交點(diǎn)的直線由更多的點(diǎn)組成,因此直線的可能性很大,通過設(shè)置閾值,可以使得霍夫變換達(dá)到檢測直線的目的。
安全區(qū)域標(biāo)定的具體流程如下:首先,將變電站的監(jiān)控視頻流轉(zhuǎn)化為一幀幀的圖像,再將圖像轉(zhuǎn)化為灰度圖,同時(shí)用高斯模糊進(jìn)行去噪處理;然后,使用Canny算子對(duì)圖像輪廓進(jìn)行提取,得到邊緣二值圖像,再使用霍夫直線檢測,提取輪廓圖中的直線;最后,對(duì)提取出的直線集合進(jìn)行處理,得到安全區(qū)域的點(diǎn)集,并用紅色線對(duì)安全區(qū)域進(jìn)行標(biāo)定,處理效果如圖2所示。
圖2 安全區(qū)域標(biāo)定流程中的結(jié)果展示Fig.2 Results in the process of calibrating safe area
OpenPose多人姿態(tài)估計(jì)模型由美國卡耐基梅隆大學(xué)的研究人員提出,如圖3所示。
圖3 整體網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 Diagram of overall network structure
該模型使用VGG-19 深度神經(jīng)網(wǎng)絡(luò)提取圖像的原始特征圖F(Feature Map),然后再分成兩個(gè)分支輸入,一部分使用卷積網(wǎng)絡(luò)(CNN)預(yù)測人體姿態(tài)關(guān)節(jié)點(diǎn)的熱度圖,另一部分使用CNN 得到所有相連關(guān)節(jié)點(diǎn)的部分親和域,部分親和域是記錄肢體位置和方向的2維向量,關(guān)鍵點(diǎn)熱度圖和部分親和域在每一個(gè)階段下與輸入特征層的關(guān)系映射視為St和Lt,其輸入層除第一個(gè)階段為VGG-19網(wǎng)絡(luò)輸出的特征層外,其余階段的輸入層均為前一個(gè)階段的兩個(gè)輸出向量與VGG-19輸出層的連接組合,即:
通過多階段的預(yù)測,所得到的預(yù)測結(jié)果將更加精確,當(dāng)從最后階段得到置信熱度圖和部分親和域后,也就得到了所有關(guān)節(jié)點(diǎn)的位置信息和相連關(guān)節(jié)點(diǎn)的方向向量。
對(duì)于給定的肢體c,通過訓(xùn)練找到一個(gè)連線配對(duì)方式使得總親和度最高,如式(5)所示:
式中:Emn是與的親和度;Ec是肢體c上涉及的兩類關(guān)鍵點(diǎn)間的連線總親和度,該最優(yōu)化問題可用Hungarian 貪心算法求解。
通過各肢體之間獨(dú)立優(yōu)化配對(duì),可以解決每個(gè)肢體涉及的兩類關(guān)鍵點(diǎn)的連線聚類問題,然后依據(jù)相同關(guān)鍵點(diǎn)銜接組裝成整個(gè)身體的姿態(tài)。
圖像增廣是通過對(duì)圖像進(jìn)行一系列的變換,產(chǎn)生相似但又有所不同的訓(xùn)練樣本,從而擴(kuò)大數(shù)據(jù)集的規(guī)模,同時(shí)也可以降低模型對(duì)某些屬性的依賴,提高模型的泛化能力,本文使用了平移、翻轉(zhuǎn)、裁切、旋轉(zhuǎn)、加噪等多種方法來對(duì)圖像進(jìn)行增廣以擴(kuò)充訓(xùn)練集,對(duì)于圖像變換的過程中產(chǎn)生的空白區(qū)域選用黑色填充,以減少對(duì)目標(biāo)特征的影響,部分?jǐn)?shù)據(jù)增廣效果如圖4所示。
圖4 訓(xùn)練圖像的數(shù)據(jù)增廣Fig.4 Data augmentation for training images
本文使用在計(jì)算機(jī)視覺研究中應(yīng)用廣泛的COCO數(shù)據(jù)集作為人體關(guān)鍵點(diǎn)模型的訓(xùn)練數(shù)據(jù)集,使用變電站監(jiān)控視頻中的圖片樣本作為測試數(shù)據(jù)集,數(shù)據(jù)集中的人體關(guān)鍵點(diǎn)共17個(gè),包括手臂、腳等,訓(xùn)練與測試所基于的軟硬件平臺(tái)如表1所示。
表1 軟硬件實(shí)驗(yàn)平臺(tái)Tab.1 Experimental platform of hardware and software
輸入圖片的大小為368×368,一次訓(xùn)練所有樣本,循環(huán)次數(shù)設(shè)置為5,初始學(xué)習(xí)率設(shè)置為0.0001,每批次輸入10 張圖片,最后一層熱度圖和部分親和力場的損失隨訓(xùn)練次數(shù)的變化情況如圖5和圖6所示,其中橫坐標(biāo)為迭代次數(shù),縱坐標(biāo)為總誤差,從圖中可以看出,隨著迭代次數(shù)的增加,熱力圖和親和力場的損失函數(shù)逐漸減小。
圖5 最后一層熱度圖損失隨訓(xùn)練次數(shù)的變化Fig.5 Variation of heat map loss of the last layer with iterations
圖6 部分親和力場損失隨訓(xùn)練次數(shù)的變化Fig.6 Variation of partial affinity field loss with iterations
將變電站監(jiān)控視頻中抽取的圖片輸入到訓(xùn)練好的模型,得如圖7所示的結(jié)果,從圖中可以看出,人體姿態(tài)點(diǎn)識(shí)別模型訓(xùn)練效果較好,能夠較好地檢測出人體姿態(tài)關(guān)鍵點(diǎn),并在圖像中準(zhǔn)確標(biāo)注出,測試還發(fā)現(xiàn),該模型對(duì)測試攝像頭視頻流的檢測速度達(dá)到每秒20幀左右,實(shí)時(shí)性較好。
圖7 人體關(guān)鍵點(diǎn)輸出圖Fig.7 Human body key point output diagram
前文通過傳統(tǒng)圖像感知的方法標(biāo)注了變電站安全區(qū)域,獲得了安全區(qū)域框的點(diǎn)集,也通過基于OpenPose的多人姿態(tài)估計(jì)模型獲得了人體關(guān)鍵點(diǎn)數(shù)據(jù)位置點(diǎn)集,從人體關(guān)鍵位置點(diǎn)集中選取人的雙腳位置,通過判斷雙腳位置點(diǎn)是否位于標(biāo)注的安全區(qū)域內(nèi),即可得到人員是否處于危險(xiǎn)區(qū)域內(nèi)的結(jié)論。
為了適應(yīng)變電站視頻監(jiān)控智能化的趨勢(shì),本文提出了一種基于OpenPose多人姿態(tài)估計(jì)算法的變電站人員危險(xiǎn)行為檢測模型,該模型包括3個(gè)子任務(wù),分別是安全區(qū)域的識(shí)別和標(biāo)定、變電站人員的姿態(tài)點(diǎn)分析(可應(yīng)用于多人)以及巡檢危險(xiǎn)行為檢測,通過訓(xùn)練和測試,該模型在實(shí)驗(yàn)環(huán)境下獲得了較好的識(shí)別與檢測效果,同時(shí)檢測速度也能滿足實(shí)時(shí)性要求。