關鍵詞:自動化;預處理;霍夫變換;圓形檢測
中圖分類號:TP391.41;TM933.4 文獻標識碼:A
0 引言
隨著科技水平的不斷提高,工業(yè)生產過程中的儀表種類也逐漸增多,而儀表示數的讀取是安全生產的前提,因此儀表示數的智能讀取也逐漸引起人們的重視。然而,大多數的工廠及各種基地的儀表均需要依靠工作人員進行識別。這種方式效率較低,需要工作人員長期重復執(zhí)行,并且由于工作人員本身有主觀臆斷性,不能保證讀取數據的準確性[1]。因此,研究儀表的自動識別具有重要意義[2-3]。
現有的表盤識別技術都是基于現場拍攝的照片,但是由于戶外檢測現場的復雜性,工作人員無法近距離靠近表盤進行拍攝,因此獲得的圖片都是距離較遠的寬視野圖像,如何從寬視野圖像中精準獲取表盤的位置是目前亟待解決的問題。
針對此問題,已有一些學者進行了研究。賀瑤等[4] 通過調節(jié)支架,使攝像機光軸線與表盤中心處于同一高度,表盤盡量充滿整個采集畫面。但是,這種方法存在不確定性,不能保證每次拍攝都能準確獲取表盤區(qū)域。張汝祥等[5] 提出了基于圓對稱性和隨機選點改進霍夫變換圓形檢測算法,但該算法并未對圖像中存在多個圓的情況進行處理。因此,現有的圓形檢測算法無法針對特定的工業(yè)現場問題提供較為詳細的解決方案。
基于上述問題,本文提出基于霍夫變換的復雜檢測現場的圓形檢測算法,以獲得圓盤的精確位置。本文主要研究內容包括:①特定的預處理算法。復雜的檢測現場會出現各種不同的光線干擾,如霧霾、強光、夜視、沙塵等。在多變的工作環(huán)境中,本文提出了一系列預處理算法,最大化去除圖像中的噪聲干擾,還原現場情況,這有利于從低倍率圖片中搜索儀表。②圓形檢測算法。本文采用霍夫變換識別圓形[6] 的算法對圓形儀表進行識別,該算法已經廣泛應用于工業(yè)領域中,其實用性強,但通常精度不高。基于現場情況,本文預先設定了圓形表盤的半徑范圍,從而排除部分干擾項,提高識別精度。此外,對于圖像中存在的多表盤區(qū)域,本文也設定了一系列限定條件,以保證設計的算法能夠識別所有的圓盤。
1 圖像預處理
針對陰天、霧天、雨天、戶外光照不佳或者采光不勻等情況,圖片整體亮度和對比度低,儀表不明顯,檢測難度較大。因此,需要對圖片進行預處理,以提升圖片亮度和對比度。圖片預處理流程如圖1 所示。
儀表識別是基于圖片的灰度化圖像進行檢測,這可以減少算法的復雜度,因此對圖像進行灰度化處理是第一步。其次,現場圖片存在各式各樣的噪聲,因此采取雙邊濾波算法去除噪聲可以提升檢測效果。當遇到陰天、霧霾或夜視下等儀表不明顯的情況時,提升亮度和對比度可以使得儀表在圖片上更加明顯,更加有利于檢測到儀表示數。
2 基于霍夫變換的圓形檢測
圖像預處理是數字分割中較為關鍵的一步,預處理效果好壞與后續(xù)數字分割有直接關系。然而,現場圖片因受到光照、溫度和霧霾等的影響,采集照片的清晰度并不能得到有效保障,因此,需要經過一系列的預處理。
霍夫變換進行圓形檢測的本質是二維空間到三維空間轉換的過程。二維空間中的圓由于圓心、半徑等參數的限定,可以轉化為三維空間中的一個點,即在二維空間的圓,經過霍夫變換以后,都變成了三維空間中的一個點。
圖3展示了使用霍夫變換進行圓表檢測的結果,根據圖像可以確定,使用本文提出的算法檢測出的圓形,可以無限接近圓形表盤的真實邊緣,效果較好。
圖像中可能會存在多個圓表的情況,需要保證多個圓表都被檢測到,因此采取逐漸降低閾值循環(huán)檢測的方案,即設定初始閾值和循環(huán)次數,通過多次循環(huán)逐漸降低閾值,直到檢測圓的個數滿足設定值。此外,霍夫圓半徑范圍是根據所有圖中最大觀測圓表和最小觀測圓表的半徑來設置。其他參數取常規(guī)值。
本文設定了目標表的個數,該值只要大于所有圖像上最多的圓表個數即可。霍夫圓檢測過程中,為達到檢測個數的要求,閾值逐漸下降,直到滿足要求個數或閾值降至40。
3 實驗結果分析
基于上述圖像預處理操作以及霍夫變換的圓形檢測,本文對復雜工業(yè)現場拍攝的圖像進行檢測,單個圓表情況下拍攝圖檢測結果如圖4 所示,多個圓表情況的拍攝圖檢測結果如圖5 所示。
由圖4 和圖5 可知,在戶外環(huán)境較為復雜的情況下,本文提出的算法不僅可以有效提取圖像中的單個圓形區(qū)域,也可以提取出圖像中的多個圓形區(qū)域,且提取區(qū)域均為有效區(qū)域,準確率較高。
4 結論
針對工業(yè)現場固定位置讀取圖像存在距離遠、位置低,導致拍攝的圖像無法提取到準確位置等問題,本文提出了一種基于霍夫變換的圓形檢測算法。首先,對復雜戶外環(huán)境下拍攝的模糊圖片進行了一系列的預處理操作;其次,執(zhí)行了霍夫變換圓形檢測。此外,針對多圓表的情況,本文設定了檢測條件,保證能夠讀取到多個圓表。實驗結果證明,本文提出的算法可以獲取準確的圓形區(qū)域,為后續(xù)指針的數值識別奠定了良好的基礎。