在我國電力系統(tǒng)中,配電站作為電網(wǎng)末端與用電設(shè)備相連的關(guān)鍵節(jié)點,與輸電、變電同樣是電力系統(tǒng)中的重要環(huán)節(jié)。隨著社會經(jīng)濟的高速發(fā)展,以及配電站在整個電力網(wǎng)絡(luò)中的特殊地位,其數(shù)量也日益增加。
人工巡檢或一些傳統(tǒng)硬件設(shè)備的數(shù)據(jù)采集手段,由于成本或效率等問題,已經(jīng)無法完美匹配當下數(shù)以萬計的配電站安防巡檢需求。并且,配電站屬于高電壓、高危場所,如何高效、安全地監(jiān)管進入站房的工作人員及其施工區(qū)域是否合規(guī)等,更是一個重要問題。
當前的主流做法是采用安裝相關(guān)傳感器的方式進行監(jiān)管,該方案存在成本高、無法存證等問題。因此,有必要研究與設(shè)計新的監(jiān)管方法,在低成本的條件下實現(xiàn)證據(jù)鏈的保存和違規(guī)識別的高準確率。
在傳統(tǒng)硬件設(shè)備環(huán)境感知的基礎(chǔ)上,本文提出一種基于機器視覺的智能配電站安防巡檢解決方案。此方案可通過視頻監(jiān)控設(shè)備,實現(xiàn)對配電站房內(nèi)視頻流的視覺分析,通過YOLO(you only look once)卷積神經(jīng)網(wǎng)絡(luò)進行目標檢測,從而實現(xiàn)安全帽佩戴檢測、工作服著裝檢測、越界預警識別等功能。
在實際應(yīng)用中,絕大部分卷積神經(jīng)網(wǎng)絡(luò)都是部署在中央處理器(central processing unit, CPU)和圖形處理器(graphics processing unit, GPU)上,然而CPU的高延時、低效率,GPU的高成本、高功耗的缺點決定了其難以在邊緣設(shè)備上實現(xiàn)。
張量處理器(tense processing unit, TPU)、網(wǎng)絡(luò)處理器(neural- network processing unit, NPU)作為特殊的專用集成電路(application specific integrated circuit, ASIC)方案,研發(fā)成本高,研發(fā)周期長,且完成后難以更改,難以適應(yīng)更新迭代較快的神經(jīng)網(wǎng)絡(luò)算法。因此,本文利用現(xiàn)場可編程門陣列(field programmable gate array, FPGA)的可定制性、可重構(gòu)性及高并行度的獨特優(yōu)勢,設(shè)計一套基于FPGA的快速推理模型。
1.1 YOLO模型
近些年來,有關(guān)目標檢測算法的研究取得了一定的進展。目前比較流行的算法可以分為基于候選區(qū)域的兩階段(two stage)目標檢測算法和單階段(one stage)目標檢測算法,包括YOLO、SSD(single shot multibox detector)等。相較于兩階段目標檢測算法,單階段目標檢測算法雖然在精度上略有不及,但其在模型參數(shù)量及檢測速度上均有一定優(yōu)勢。
YOLO是一種基于深度神經(jīng)網(wǎng)絡(luò)的對象識別和定位算法,是較為優(yōu)秀的目標檢測架構(gòu)之一,其在檢測實時性方面具有較大優(yōu)勢。YOLO將生成候選區(qū)和對象識別這兩個階段合二為一,利用整張圖片作為網(wǎng)絡(luò)的輸入,直接在輸出層回歸邊界框的位置和所屬類別。
YOLOv4-tiny是在YOLOv4算法的基礎(chǔ)上進行壓縮設(shè)計的,其結(jié)構(gòu)更為簡單,參數(shù)量只有原來的十分之一,這使YOLOv4-tiny的檢測速度獲得較大提升,使之部署在移動和嵌入式設(shè)備上成為可能。因此本文采取YOLOv4-tiny網(wǎng)絡(luò)進行目標檢測。而對于部分對速度、功耗、資源不敏感,對精度有較高要求的場景,可使用YOLOv4或其他卷積神經(jīng)網(wǎng)絡(luò)。
1.2 數(shù)據(jù)集采集
由于配電站環(huán)境復雜多變,通過監(jiān)控攝像頭和公開數(shù)據(jù)集獲取更為豐富的數(shù)據(jù)集。利用監(jiān)控攝像頭進行視頻采集,并經(jīng)過篩選及處理共獲得12928張圖片。此外,還從公開數(shù)據(jù)集中獲得9873張圖像文件。完成圖像采集后,使用開源項目LabelImg進行標定工作。
數(shù)據(jù)集各類標簽比例如圖1所示,通過對數(shù)據(jù)集標簽文件的分析可知,本次采集的數(shù)據(jù)集中共四種檢測目標,即穿著工作服的行人、未穿著工作服的行人、已佩戴安全帽的頭部、未佩戴安全帽的頭部。
圖1 數(shù)據(jù)集各類標簽比例
1.3 訓練結(jié)果
利用本次采集的數(shù)據(jù)集對YOLOv4-tiny模型進行訓練,訓練結(jié)果各項指標見表1。其中,Precision為準確率;Recall為召回率;MAP.5為將IOU(intersection over union)設(shè)置為0.5時,每個類別的AP(average precision)的平均值。
表1 模型訓練結(jié)果指標
利用訓練好的模型對驗證集圖片進行檢測,如圖2所示,能夠準確識別畫面中所出現(xiàn)的工作人員是否佩戴了安全帽,以及是否穿著工作服。若正確佩戴安全帽且穿著工作服,則不出現(xiàn)提示信息,使用綠框框出工作人員;若錯誤佩戴或未佩戴安全帽,則使用黃框框出對應(yīng)工作人員頭部,并使用“Helmet”在頭部進行標注;若未穿著工作服,則使用黃框框出對應(yīng)工作人員,并使用“Dress”在頭部進行標注。
圖2 效果展示
2.1 量化方案
神經(jīng)網(wǎng)絡(luò)的訓練一般采用浮點數(shù)進行計算,然而浮點運算在硬件平臺上的實現(xiàn)比定點計算更加復雜,運算效率更低。為減少硬件資源消耗,提高系統(tǒng)推理速度,對YOLOv4-tiny模型進行8bits對稱線性量化。對稱線性量化具有高效、易于硬件實現(xiàn)的優(yōu)勢,其具體量化公式為
2.2 系統(tǒng)架構(gòu)設(shè)計
系統(tǒng)架構(gòu)如圖3所示。CPU負責統(tǒng)籌協(xié)調(diào)任務(wù)并發(fā)送指令。PL端主要負責YOLOv4-tiny網(wǎng)絡(luò)的加速實現(xiàn)。由于片上存儲資源有限,采用片外數(shù)據(jù)方向寄存器(data direction register, DDR)協(xié)同存儲數(shù)據(jù)。
圖3 系統(tǒng)架構(gòu)
PL端可通過配置直接存儲器訪問(direct memory access, DMA)實現(xiàn)輸入輸出數(shù)據(jù)的傳輸。指令存儲于隨機塊的存儲器(block random access memory, BRAM),其中包括操作模式、配置參數(shù)、存儲位置等指令。
Command Analyzer作為核心控制模塊,負責解析指令,并輸出相應(yīng)的控制信號。池化模塊、上采樣模塊、卷積模塊等計算單元,從輸入緩沖區(qū)讀取輸入特征圖,利用數(shù)字信號處理(digital signal processing, DSP)資源進行相應(yīng)計算,中間數(shù)據(jù)緩存于輸出緩沖區(qū),計算完成后進行量化、激活,最終存入輸入緩沖區(qū)。
2.3 加速器優(yōu)化設(shè)計
YOLO網(wǎng)絡(luò)經(jīng)歷多次的卷積和池化層,其中包含大量的重復循環(huán)操作,因此需對數(shù)據(jù)排布與存儲、計算過程等方面進行優(yōu)化與改進。本文考慮采用并行展開與流水線技術(shù)來提高并行度,增加系統(tǒng)吞吐量。并行展開是一種用面積換速度的設(shè)計方法,通過在硬件上重復設(shè)計多個計算單元,可以實現(xiàn)一定數(shù)量計算單元的并行運算。
卷積優(yōu)化架構(gòu)如圖4所示,卷積過程中,考慮到隨著網(wǎng)絡(luò)層數(shù)的增加,特征圖尺寸越來越小,而通道數(shù)越來越大,故若直接按照特征圖寬度和高度進行并行展開,當寬度和高度小于并行度時則無法充分利用重復設(shè)計的硬件單元,造成資源的浪費且無法達到加速的目的。因此選擇對輸入通道及輸出通道進行并行展開。充分利用DSP資源,提高系統(tǒng)并行度,從而增大系統(tǒng)吞吐量。
圖4 卷積優(yōu)化架構(gòu)
流水線技術(shù)廣泛運用于硬件架構(gòu)設(shè)計中,它可以縮短運行周期并有效提升系統(tǒng)效率。本文對循環(huán)中的任務(wù)采取流水線技術(shù)優(yōu)化,將原有卷積操作進行細分,以周期為單位細分讀數(shù)據(jù)、乘法、累加、寫數(shù)據(jù)等操作,使每個環(huán)節(jié)在每個周期都可以有連續(xù)的輸入與輸出。以卷積中的累加操作為例,如圖4中PE所示,通過加法器樹的設(shè)計,使每個周期并行展開的乘法結(jié)果都可以開始累加操作而不互相依賴,從而實現(xiàn)流水線設(shè)計。
為了評估本文的優(yōu)化策略,使用Xilinx公司的ZCU102開發(fā)板進行驗證。性能評估見表2,DSP資源主要用于進行乘法運算,BRAM資源主要用于存儲輸入圖片、權(quán)重、量化參數(shù)等數(shù)據(jù)。為了提升并行度、加快檢測速度,各邏輯模塊消耗了較多的觸發(fā)器和查找表(look up table, LUT)資源。
系統(tǒng)時鐘頻率150MHz的情況下,整體平均性能達到228十億次運算/秒(giga operations per second, GOPS),峰值性能達到307GOPS,系統(tǒng)實現(xiàn)每秒傳輸幀數(shù)(frames per second, FPS)為68的檢測速度。
表2 性能評估
本文針對當下配電站存在的缺陷及其需求,設(shè)計了一套基于FPGA的智能配電站安防巡檢系統(tǒng)。
通過YOLOv4-tiny網(wǎng)絡(luò)實現(xiàn)安全帽佩戴檢測、工作服著裝檢測、越界預警識別等功能,達到了危險預警和異常告警的目的。在ZCU102 FPGA開發(fā)板上進行了加速器的實現(xiàn)與優(yōu)化,通過并行展開及流水線操作兩方面進行加速優(yōu)化,最終實現(xiàn)68FPS的檢測速度,整體平均性能達到228GOPS,峰值性能可達307GOPS。
考慮到配電網(wǎng)絡(luò)結(jié)構(gòu)龐大多變,配電站環(huán)境較為復雜,可通過增加、修改數(shù)據(jù)集,利用神經(jīng)網(wǎng)絡(luò)的自學習、自適應(yīng)能力,重新訓練獲得網(wǎng)絡(luò)模型,并更新硬件系統(tǒng)相關(guān)參數(shù)本,以適應(yīng)新場景的需求。
因此,本文提出的解決方案具備較強的通用性,能夠大幅降低整個電力網(wǎng)絡(luò)在配電站環(huán)節(jié)針對安防巡檢的投入成本,并有效提高整個電力網(wǎng)絡(luò)的運行效率,最大限度保障人員、設(shè)施安全,為配電站安防巡檢的智能化發(fā)展提供參考。
本文編自2022年第5期《電氣技術(shù)》,論文標題為“基于現(xiàn)場可編程門陣列的智能配電站安防巡檢系統(tǒng)設(shè)計與實現(xiàn)”,作者為陳標發(fā)、陳傳東 等。