朱建寶,許志龍,孫玉瑋,馬青山
(國網江蘇省電力有限公司南通供電公司,南通226001)
隨著相關軟硬件技術的成熟和成本的降低,視頻監控已成為變電站安全生產管控過程中的一大助力,然而,目前變電站對于設備管控和人員管控還處于被動監控階段,即通過人力來進行人員的異常行為監控,或者將監控系統作為事后分析資料的來源,不僅浪費了寶貴的視頻資源,而且也無法自動進行事中分析和預警,操作人員仍處于繁重的監控工作中,因此,為了實現變電站智能化和安全生產管控自動化,有必要開展變電站智能化視頻監控研究。
計算機視覺技術是人工智能的分支方向,主要通過視覺圖像信息的處理,達到識別和理解圖像內容的目的,智能視頻監控借助于計算機強大的計算能力,依靠計算機視覺技術,從監控圖像或視頻中提取關鍵信息并快速分析,并將分析結果反饋給監控系統進行處理,從而達到智能識別、理解和處理監控視頻的目的[1]。
目前,智能視頻監控中的人體行為分析主要是對視頻序列進行運動目標檢測、目標跟蹤和目標行為分析,運動目標檢測需要將運動目標從背景中精確提取出來,主要方法有光流法[2-3]、幀間差法[4-5]、背景減法[6-7]等,這些都是基于運動目標在視頻中的特性而設計的算法,實際上并沒有真正達到感知圖像的效果,目標跟蹤算法分為基于特征的跟蹤[8]、基于區域的跟蹤[9-10]、基于模型的跟蹤[11]和基于輪廓線的跟蹤[12-13],這些跟蹤算法適用于不同的目標和場合,缺乏普適性,往往針對特定場景需要專門設計一類算法,費時費力,目標行為分析可分為基于模型的行為分析方法[14]和基于相似度量的行為分析方法[15],與前述目標跟蹤算法類似,這些方法同樣復雜且冗余,缺乏普適性。
近年來隨著人工智能技術的發展,基于視頻圖像開展人員異常行為監控已成為可能,在變電站人員行為監控中,最重要的問題是人體關鍵點分析,這類問題在深度學習中可以被統一歸為人體姿態估計問題,多年來人們發展出了多種人體姿態估計方法,最早的方法只適用于單人,先識別出人的各個部分,然后再連接各部分來獲得姿態,近年來多人姿態估計也取得了較快的發展,多人姿態估計分為兩類,第一類是自頂向下(Top-down)的方法,即先檢測出多個人,再對每一個人進行姿態估計,這種方法具有較高的準確率但是處理速度不高,如AlphaPose;第二類是自底向上(Down-top)的方法,即先檢測出關節點,再判斷每一個關節屬于哪一個人,這種方法可以做到實時檢測人體關鍵點,如OpenPose。
本文基于OpenPose多人姿態估計算法,提出了一種基于變電站監控視頻的人員危險行為檢測模型,該模型可用于多種監控環境下的人員姿態關鍵點的識別和定位,在本文實驗平臺下檢測速度達到每秒20幀,滿足變電站實時視頻監控的要求。
如圖1所示,本文將變電站人員危險行為檢測劃分為3個子任務:一是變電站安全區域的確定,二是人體關鍵姿態點的定位,三是在前兩步的基礎上進行危險行為判斷并給予反饋,本文首先通過霍夫變換從變電站監控視頻中識別并標定出安全區域,然后基于OpenPose多人姿態估計算法進行實時人體目標檢測和人體關鍵姿態點識別,最后結合人體姿態點信息與變電站安全區域信息,分析人員行為是否是危險行為。

圖1 變電站人員危險行為檢測整體流程Fig.1 Overall process of detection of personnel dangerous behaviors in substation
目前,區域檢測算法主要分為兩大類,一是基于傳統機器視覺的方法,二是基于深度學習的方法,基于傳統機器視覺的方法有邊緣檢測、霍夫變換、顏色閾值、透視變換等,在區域檢測中應用廣泛;基于深度學習的區域檢測主要通過語義分割網絡實現,如LaneNet、SegNet、E-Net、FCNs等,效果較好,但所消耗的計算資源較多,由于變電站監控攝像頭的位置相對固定,所記錄的視頻圖像背景基本無變化,傳統的機器視覺方法就可以達到較好的區域檢測效果,因此本文采用了傳統機器視覺方法對視頻圖像中的安全區域進行標定,處理步驟包括高斯模糊、灰度化、Canny算子邊緣檢測、霍夫變換以及區域識別。
高斯模糊又稱高斯濾波,通過這一過程可以使得數據平滑并消除噪聲,因此被廣泛用于圖像降噪處理,高斯模糊按像素點進行加權平均,即圖像像素點高斯模糊后的值,是由其本身和指定鄰域內的像素值在高斯函數計算后得到的權值矩陣下加權平均后得到,如式(1)所示:

式中:x和y是像素點的坐標;σ是正態分布的標準偏差,分布不為零的像素組成的卷積矩陣與原始圖像做變換,每個像素值都是周圍相鄰像素值的加權平均,這樣的模糊處理相比其它的均衡模糊濾波器能夠更好地保留圖像邊緣特征。
灰度化是將彩色像素點的RGB分量歸一為同一個值,如式(2)所示,本文根據加權平均法來得到灰度圖像。

式中:權重k1=0.299,k2=0.578,k3=0.144。
邊緣檢測主要是利用變化明顯的點會呈現較大的梯度來定位邊緣信息,本文使用Canny算子檢測邊緣,該算子主要是通過卷積來獲得梯度,通過設置兩個高低閾值,過濾掉梯度幅值較小的邊緣噪聲,保留高梯度幅值的邊緣像素,梯度計算公式如下:

式中:Gx,Gy分別為x,y 方向的梯度,I為原始圖像。
霍夫變換被用來從圖像中識別幾何圖形,它是一種基于邊緣二值圖像尋找直線的方法,一條直線在二維空間可由兩個變量表示,即在笛卡爾坐標系中由斜率和截距(k,b)表示,在極坐標系中由極徑和極角(r,θ)表示。通過笛卡爾坐標系中某點的任意直線組合在極坐標系中是正弦函數曲線,因此,對邊緣二值圖像中的點進行坐標變換,在極坐標系中將產生無數正弦曲線,因此,在極坐標系(r,θ)平面中相交于同一點的正弦曲線數量說明通過該交點的直線由更多的點組成,因此直線的可能性很大,通過設置閾值,可以使得霍夫變換達到檢測直線的目的。
安全區域標定的具體流程如下:首先,將變電站的監控視頻流轉化為一幀幀的圖像,再將圖像轉化為灰度圖,同時用高斯模糊進行去噪處理;然后,使用Canny算子對圖像輪廓進行提取,得到邊緣二值圖像,再使用霍夫直線檢測,提取輪廓圖中的直線;最后,對提取出的直線集合進行處理,得到安全區域的點集,并用紅色線對安全區域進行標定,處理效果如圖2所示。

圖2 安全區域標定流程中的結果展示Fig.2 Results in the process of calibrating safe area
OpenPose多人姿態估計模型由美國卡耐基梅隆大學的研究人員提出,如圖3所示。

圖3 整體網絡結構圖Fig.3 Diagram of overall network structure
該模型使用VGG-19 深度神經網絡提取圖像的原始特征圖F(Feature Map),然后再分成兩個分支輸入,一部分使用卷積網絡(CNN)預測人體姿態關節點的熱度圖,另一部分使用CNN 得到所有相連關節點的部分親和域,部分親和域是記錄肢體位置和方向的2維向量,關鍵點熱度圖和部分親和域在每一個階段下與輸入特征層的關系映射視為St和Lt,其輸入層除第一個階段為VGG-19網絡輸出的特征層外,其余階段的輸入層均為前一個階段的兩個輸出向量與VGG-19輸出層的連接組合,即:

通過多階段的預測,所得到的預測結果將更加精確,當從最后階段得到置信熱度圖和部分親和域后,也就得到了所有關節點的位置信息和相連關節點的方向向量。
對于給定的肢體c,通過訓練找到一個連線配對方式使得總親和度最高,如式(5)所示:

式中:Emn是與的親和度;Ec是肢體c上涉及的兩類關鍵點間的連線總親和度,該最優化問題可用Hungarian 貪心算法求解。
通過各肢體之間獨立優化配對,可以解決每個肢體涉及的兩類關鍵點的連線聚類問題,然后依據相同關鍵點銜接組裝成整個身體的姿態。
圖像增廣是通過對圖像進行一系列的變換,產生相似但又有所不同的訓練樣本,從而擴大數據集的規模,同時也可以降低模型對某些屬性的依賴,提高模型的泛化能力,本文使用了平移、翻轉、裁切、旋轉、加噪等多種方法來對圖像進行增廣以擴充訓練集,對于圖像變換的過程中產生的空白區域選用黑色填充,以減少對目標特征的影響,部分數據增廣效果如圖4所示。

圖4 訓練圖像的數據增廣Fig.4 Data augmentation for training images
本文使用在計算機視覺研究中應用廣泛的COCO數據集作為人體關鍵點模型的訓練數據集,使用變電站監控視頻中的圖片樣本作為測試數據集,數據集中的人體關鍵點共17個,包括手臂、腳等,訓練與測試所基于的軟硬件平臺如表1所示。

表1 軟硬件實驗平臺Tab.1 Experimental platform of hardware and software
輸入圖片的大小為368×368,一次訓練所有樣本,循環次數設置為5,初始學習率設置為0.0001,每批次輸入10 張圖片,最后一層熱度圖和部分親和力場的損失隨訓練次數的變化情況如圖5和圖6所示,其中橫坐標為迭代次數,縱坐標為總誤差,從圖中可以看出,隨著迭代次數的增加,熱力圖和親和力場的損失函數逐漸減小。

圖5 最后一層熱度圖損失隨訓練次數的變化Fig.5 Variation of heat map loss of the last layer with iterations

圖6 部分親和力場損失隨訓練次數的變化Fig.6 Variation of partial affinity field loss with iterations
將變電站監控視頻中抽取的圖片輸入到訓練好的模型,得如圖7所示的結果,從圖中可以看出,人體姿態點識別模型訓練效果較好,能夠較好地檢測出人體姿態關鍵點,并在圖像中準確標注出,測試還發現,該模型對測試攝像頭視頻流的檢測速度達到每秒20幀左右,實時性較好。

圖7 人體關鍵點輸出圖Fig.7 Human body key point output diagram
前文通過傳統圖像感知的方法標注了變電站安全區域,獲得了安全區域框的點集,也通過基于OpenPose的多人姿態估計模型獲得了人體關鍵點數據位置點集,從人體關鍵位置點集中選取人的雙腳位置,通過判斷雙腳位置點是否位于標注的安全區域內,即可得到人員是否處于危險區域內的結論。
為了適應變電站視頻監控智能化的趨勢,本文提出了一種基于OpenPose多人姿態估計算法的變電站人員危險行為檢測模型,該模型包括3個子任務,分別是安全區域的識別和標定、變電站人員的姿態點分析(可應用于多人)以及巡檢危險行為檢測,通過訓練和測試,該模型在實驗環境下獲得了較好的識別與檢測效果,同時檢測速度也能滿足實時性要求。