曾清旋,陶征勇,宗起振
(南京國電南自軌道交通工程有限公司,江蘇 南京 210032)
數字儀表作為變電站中最常見的儀表之一,其數碼管中包含由金屬絲制成的陽極和陰極,并充以不同的稀有氣體,借助電極供電,從而發出不同的顏色光,進而顯示相關字符數據。由于成本低,穩定性好,數字儀表廣泛用于電力行業,累計記錄電壓、電流等電力數據,以及實時監控顯示變電站、供電所等電壓、溫度的信息,保障電力系統的安全穩定運行。然而,數字儀表只能顯示電力數據,之后還需要通過人工對顯示的字符數據進行讀取和再記錄,操作速度慢且容易引入人工誤差。
數字儀表字符數值的檢測屬于字符檢測的一個方向,作為計算機視覺領域的研究熱點,傳統機器學習對字符的檢測方法主要通過圖像處理技術[1-3]。首先,對儀表字進行灰度轉換、濾波、仿射變換等預處理;其次,通過圖像顯著性區域[2]、二值化、形態學操作、搜索屏幕區域[3]等定位分割出單個字符;最后,通過模板匹配[1]、支持向量機等識別出單個字符。研究的字符大多為背景簡單、不易受環境影響的場景。除此之外,受數字儀表自身結構原理的影響,長時間工作后,字符容易受背景字符印跡、發光不均勻、光照等因素影響,采用傳統的圖像處理方法,人工設計提取特征復雜耗時、魯棒性差,檢測準確率和檢測速度難以保證。近幾年,隨著社會的發展、人工智能技術的出現以及計算機硬件水平的提高,基于深度學習的數字儀表字符檢測方法采用端到端的卷積神經網絡自動學習特征,相比于分階段進行的圖像處理方法,檢測速度和穩定性有了很大的提升。同時,由于使用卷積神經網絡自動獲取目標特征,避免人工設計特征的各種缺陷,獲得了較好的性能[4-5]。但基于深度學習的方法在對數字儀表字符檢測時依然存在問題,主要是由于采集樣本時易產生樣本之間數量的類別不平衡,最終拉低模型性能[6]。SSD模型作為深度學習網絡中代表性的優秀網絡模型,在對數字儀表字符檢測時,依然存在前述問題,使得數字儀表字符檢測的準確率受到限制。
本文針對工業場景中的數字儀表字符受環境、字符類間數量不平衡導致的識別準確率底的問題,提出一種基于部分加權損失函數的SSD字符檢測方法。通過對SSD損失函數引入部分加權損失函數,提升基于深度學習方法對類間樣本數量不平衡的儀表字符檢測準確率。
SSD損失函數由兩部分構成:分類損失函數和回歸損失函數,如式(1)所示。其中,L(x,c,l,g)表示數字儀表字符檢測模型的總損失,x表示預測錨框和標注錨框關于字符類別是否匹配的指標參數,c表示數字儀表字符檢測模型預測字符類別的概率值,l表示數字儀表字符檢測模型預測的錨框位置,g表示標注的錨框位置,N為數字儀表字符檢測模型預測的錨框總數量,α為多任務平衡因子,Lconf(x,c)表示數字儀表字符檢測模型的分類損失函數,Lloc(x,l,g)表示數字儀表字符檢測模型的回歸損失函數。

即:

SSD模型總損失為每批量訓練樣本的分類損失和回歸損失之和的均值,也即分類總損失的均值與回歸總損失的均值。在進行反向傳播更新權重時,更新公式如式(2)和(3)所示,η為學習率,lNodm為第Nodm個樣本的損失,wm是第m次更新的權重。對于分類損失,如果類間樣本數量存在差距較大,即類間樣本不平衡問題,會引起樣本數量多的總損失將大于樣本數量少的總損失,進而導致樣本數量多的類別的權重更新速率快于樣本數量少的類別的權重,最終造成樣本數量多的類別分類準確率高于樣本數量少的類別分類準確率。
針對上述問題,為減輕類間樣本數量不平衡對SSD分類損失產生的問題,提出使用基于部分加權損失函數的SSD數字儀表字符檢測方法,改善儀表字符數量中類間樣本數量不平衡導致SSD檢測準確率低的問題,基于部分加權分類損失SWLconf(x,c)的表達式如式(4)所示。

其中,p為字符類別總數,k=0,1,…,p,Lconf(x,c)表示每個字符類別的分類損失,βk表示第k個字符類別的類別不平衡因子。部分加權損失函數為每個類別樣本分類損失和的平均值,相比于原始分類損失函數所求的每個類別樣本之間的分類損失差距,最終求得的每個類別樣本的分類損失差距明顯減小。
對于基于部分加權損失函數的SSD數字儀表字符檢測模型,總損失依然為分類損失和回歸損失之和,計算公式如下式(5)所示。

以采集到400張儀表字符圖像做實驗驗證(見圖1),受時間、設備運行影響,采集到的儀表字符類別之間樣本數量明顯存在不平衡問題,統計后訓練集和測試集種各類樣本的數量如表1—2所示。表1的訓練集樣本存在類間樣本數量不平衡問題;表2的測試集樣本不存在類間樣本數量不平衡問題。采用基于PyTorch的深度學習框架,將本文方法與原始模型方法進行對比實驗,以mAP-50作為準確率評價指標,批量訓練采用8張圖片,訓練300次。

圖1 樣本圖片

表1 訓練集樣本數量統計

表2 測試集樣本數量統計表
由表1可以看出,字符類別6和8的樣本集數量與其他字符相比存在不平衡現象,但在表3的實驗結果對比中,在其他類別字符檢測準確率幾乎不變的情況下,字符類別6和8的有了部分提升,并且在表4的整體mAP計算中。本文方法整體的mAP相比于原始SSD模型,整體提升了3.23個百分點,說明本文方法有效緩解SSD對字符檢測時遇到的類間樣本不平衡問題。

表3 類間AP實驗結果對比

表4 整體mAP實驗結果對比
由圖2可以看出,第一行圖片為原始SSD的檢測結果,第二行圖片為基于本文方法的檢測結果。當閾值取0.6時,原始SSD模型在訓練時,由于受類別樣本“8”數量不平衡影響,導致在對“8”檢測時出現漏檢現象;而對于本文方法,由于使用部分加權分類損失函數,有效緩解了類別樣本數量不平衡的影響。

圖2 樣本圖片檢測結果(檢測概率閾值取0.6)
本文針對SSD模型對變電站儀表字符識別準確率低問題,提出使用基于部分加權損失函數的SSD字符檢測模型。通過對SSD模型的分類損失函數引入部分加權分類損失函數,提升樣本數量少的類別權重更新速率,然后結合多任務平衡因子,平衡與回歸任務之間的權重更新速率。實驗證明,基于部分加權分類損失的SSD模型,有效緩解了模型對儀表字符檢測時遇到的類間樣本不平衡問題,提升了變電站儀表字符檢測的準確率。