王一,董光林,馬鉦東,龔肖杰,杜巖
基于機器視覺的壓縮機滑片計數系統設計
王一,董光林,馬鉦東,龔肖杰,杜巖
(華北理工大學 電氣工程學院,河北 唐山 063200)
對于人工進行壓縮機滑片計數煩瑣的問題,基于機器視覺技術和PLC設計一種對壓縮機滑片自動計數的算法和裝置。采用工業相機及大功率LED燈設計視覺裝置,并利用PLC作為流水線控制器,與視覺計算機通過TCP通信。基于圖像處理技術設計自動計數算法,首先對相機采集的箱裝滑片圖像裁剪出感興趣區域并進行濾波、直方圖均衡化、形態學處理、自適應閾值分割來增強圖像對比度;然后對圖像空洞進行填充、較大的噪聲斑塊去除后使用thin算法對粘連緊密的滑片細化處理,通過水平投影法繪制直方圖找出切割位置;最后進行連通域分析確定滑片數目,并設計用戶界面顯示計數結果和系統狀態。通過現場多次測試,整體系統運行流暢,不受外界光照影響,計數準確高效。在一天內不同時間段測試,平均每次計數時間為7.6 s,準確率達到99.83%。投影法的應用解決了密集粘連的分割難題,該方法對環境適應性強,對滑片可穩定準確地進行自動計數,在滑片實際批量生產包裝中具有明顯應用優勢。
滑片;水平投影;計數;分割
隨著我國工業和經濟水平的持續增長,滑片式壓縮機由于其體積小、穩定和高效的特點被大量應用于各種空氣壓縮設備中,滑片需求量也與日俱增。在大部分中小型壓縮機滑片生產廠家中仍采用人工的方式對壓縮機滑片計數,這種方式效率低,精度差,影響滑片的生產包裝速度,因此,設計高效的壓縮機滑片自動計數系統對企業生產至關重要。
2005年,王衛勇、朱玉泉[1]基于機器視覺技術提出一種多模板覆蓋的方法應用于鋼筋計數問題,此方法通過水平模板確定目標圖像區、十字模板尋找目標位置、八邊形模板來進行判斷,3個步驟大大提高了鋼筋計數的準確度和速度。2009年,Ronald Poppe[2]基于圖像處理技術通過標簽標記圖像的序列、圖像的表示和分類方法進行了人體行為的識別研究,對人機交互、視頻監控等領域的應用具有重要意義。2011年,程福[3]采用視覺采集設備和開源視覺庫對包裝生產線上的蘋果進行計數,通過設置目標窗口和灰度閾值分割的處理方法使識別蘋果的準確率達到97%,該系統成本較低,滿足了蘋果由計重包裝轉向計數包裝的需求。2013年,賈雄等[4]根據藥片中心進出預先設置的虛擬圓會導致其像素值變化的方法實現了藥片的實時計數。2015年,敖銀輝、蔣進[5]基于圖像處理技術,采用紋理分割及修復的方法實現了對大幅面紙張準確高效的計數。2018年,田齊、張令[6]基于機器視覺技術對粘連緊密的晶圓裸片計數,通過改進的隨機抽樣一致性算法對晶圓切割線擬合,然后根據切割線交點信息來完成晶圓裸片的計數任務。2020年,彭順正等[7]通過RGB顏色特征提取和角點檢測方法設計了一套對油菜籽粒計數的系統,對油菜選種育種具有重要意義。此外,機器視覺檢測技術在農業魚苗計數[8]、醫學菌落計數[9],工業零件計數[10]中也有應用。
綜上可知,機器視覺技術由初始探索階段發展到如今成熟應用于各生產領域階段,離不開其高效方便的特點。對于計數類的自動視覺檢測系統來說,大都基于機器視覺和圖像處理技術,且計數對象以棒材居多,另外還有谷類、藥粒等類圓形對象,使用的算法也有所區別。但是對零件計數的文獻較少,特別對箱式包裝、量多且粘連緊密的物體計數的文獻更少。基于此現狀,文中設計一種基于機器視覺技術的壓縮機滑片自動計數系統,將大大提高壓縮機滑片生產包裝效率,對企業生產具有重要意義。
滑片自動計數系統總體方案設計由流水線、工業相機,視覺檢測箱、PLC控制器、光源、光電開關、圖像處理主機、顯示交互終端和軟件部分共同組成,見圖1。在滑片生產包裝車間設置一條流水線,成箱的滑片通過視覺檢測系統,當箱裝滑片進入視覺檢測箱并到達工業相機拍照的位置時會觸發光電開關,此時PLC收到滑片到位信號后控制電機停止,使得相機拍出較清晰沒有重影的照片并保存下來。之后電腦讀取保存的圖像開始處理并將計數結果在終端上顯示出來,其中設計了終端顯示界面可以進行人機交互。等待計數完成后電腦會通過Server Socket服務器端口給PLC一個信號再控制電機運轉。

圖1 計數系統設計
文中軟件設計主要包括PLC運控、滑片計數、PLC與電腦通信三方面,初始時PLC計數完成應答位置1,壓縮機滑片自動計數系統軟件部分主程序流程和子線程圖像處理部分程序流程見圖2。
在壓縮機滑片生產包裝車間中,首先工業相機會對滑片拍攝圖像,在此過程中容易受到多種因素的噪聲污染,這些噪聲會導致采集的圖像質量下降,如多出斑點或者出現孔洞等,這些噪聲會直接影響后續整個圖像處理過程,所以對檢測系統的光源進行調整和圖像預處理至關重要。文中首先對采集的滑片圖像進行感興趣提取,即相機調整固定后便可提前通過人工測量出滑片所在的核心長方形區域的左上角坐標及長寬,把滑片周轉箱邊框及其他外界圖像盡量去掉,只提取滑片本身所在的核心區域,然后再對滑片核心區域進行預處理操作,為后續的圖像信息分析做鋪墊。

圖2 程序流程
圖像的灰度化算法有多種,但實質都是將像素值中3個不同數值組成的通道化為相同數值的通道。彩色的每個像素由R(紅)、G(綠)、B(藍)3種分量共同決定,而且每種分量又有255個中值選擇。灰度化后的圖像是RGB 3種分量相同的一種特殊彩色圖像,同樣能夠表達圖像局部和整體的亮度及色度等級范圍,這樣就能夠大大減少后續圖像的計算量。
濾波有多種方式,文中采用的是高斯濾波,它通過設置固定大小的掩膜在滑片圖上移動,然后用掩膜覆蓋下的鄰域值通過不同大小的權值運算后相加,最后把這個平均值設置為掩膜覆蓋下的中心點的值并以此遍歷整個滑片圖片,高斯濾波在二維狀態的濾波函數見式(1)。
(1)
式中:0(,)為得到目標圖像;為方差;為標準差。高斯濾波可消除高斯噪聲,它只有一個波峰,會加強邊緣特性,可起到增加圖像對比度的作用。
直方圖均衡化算法并不復雜,在實際運用起來也較為容易,而且改善圖像對比度方面效率較高,因此在圖像處理中很受歡迎。其原理是在灰度級別操作,將高低不平的直方圖盡量非線性的平攤開,使圖像灰度域趨于平均,從而使圖像信息量更大、顏色層次更具有辨識度,視覺上看起來更美觀一些。文中在對滑片圖像濾波后再通過均衡化操作,使亮度不均的滑片圖像更具有對比感,若此時滑片圖像的灰度排列密度和函數分別為(;,),f(),則其得到目標圖像的變換式為:
(2)
如果初始圖像(,)在點(,)處的灰度值是,則變換公式為:
(3)
式中:(,)為初始灰度圖像;為圖像的定義域;(,)為目標滑片圖像;為的面積;在原始圖像中,滑片之間緊密粘連,沒有縫隙,在視覺系統中經調整光源后采集的圖像中,與原始圖像相比,縱向的滑片出現了縫隙,但橫向仍然緊密粘連,同時亮度略有不均衡,左上方和左下角較暗。經過預處理后的圖像,中間最亮,但整體亮度已趨向均勻,方便后期處理,3種狀態的對比結果見圖3。
圖像二值化是圖像分割中比較簡單常用的一種形式,其原理就是根據物體與背景的灰度差異,通過設定一個恰當的閾值與灰度圖像中的像素點比較,從而將圖像中的像素點分為2類。假設原始圖像為(,),選擇某種算法來設置閾值,則有:
(4)
式中:為預先選定的閾值;(,)為得到的二值圖。根據式(4)可以看出,就是將原始灰度圖像中大于設定閾值的像素點變為白色,小于閾值的像素點設置為黑色,從而將圖像中的目標區域與背景分割開來,而閾值的選擇最為關鍵。
閾值分割[11]的算法有直方圖法、迭代法、大津法、分水嶺法,經過測試文中選擇自適應局部閾值分割法,這種方法對光照不均的圖像處理效果好,其算法實現邏輯如下所述。
1)把預處理后的滑片圖像根據灰度排列的不同情況分成許多小的區域,然后分別計算這些小區域的直方圖。
2)測試各個子區域的直方圖是否為雙峰圖像,若是則采用迭代法確定具體的閾值,若不是則不 處理。
3)將步驟2中算出來的閾值再用插值法確定各子區域的閾值,從而通過許多不同的閾值同時來分割初始圖像。經過多次參數調整及測試后分割的圖像見圖4,可以看到其左邊相較于右邊略微有些空洞。
對于閾值分割后的圖像中還有不少腐蝕膨脹操作無法去除的較大噪聲和存在目標滑片部分空洞的現象,這些因素會導致后期輪廓連通域計數錯誤,因此基于面積域設計了清除噪聲、填充空洞的算法,其最為關鍵的就是找出內外輪廓。外輪廓是由1連通域的像素點組成,內輪廓(空洞)是由0連通域的像素點組成,他們之間層次雖有序而繁雜,但存在著對應邏輯,尋找具體過程如下所述。
1)遍歷整個圖像,遍歷每行像素時,若遇到(,?1)=0,(,)=1狀態時則認為是外輪廓的起點,若遇到(,)>=1,(,+1)=0狀態時則認為找到一個洞輪廓的起點。
2)給邊界輪廓編號,在內外輪廓起點通過4個指針開始去搜索完整輪廓,一搜索到新的界限點就將它設置的序號NBD加1,在此步驟中若碰到(,)= 1,(,+1)=0則把(,)轉換成-NBD即認為到達了右邊界的中止點。
3)確定內外輪廓,把以上的相同記錄值的點劃歸到一個邊界,洞邊界是像素為0的連通域被像素為1的連通域環繞著的,外輪廓則與之相反。
對于噪聲斑點的清除和空洞的填充是先將輪廓畫出來后計算面積大小,然后依次與預先設定的面積值進行比較來決定是否清除和填充,兩者不是同時進行的。經過測試,文中先將小于200的空洞進行填充,然后將小于500的斑點去除。
對于圖像的細化算法(Thinning Algorithm, thin)[12—13],通俗點說就是把圖像中的目標物體變瘦,其實質就是在二值圖像中,按照從外到內的次序把目標物體進行一定程度的像素點去除,但最后需保持主體軀干部分清晰。細化算法原理就是根據八鄰域中的值來判斷此點是孤立點、端點和內部點,進而判斷是否保留此點的像素值,具體分為3個步驟。

圖3 預處理過程
1)遍歷全部像素點,查看是否滿足以下4個條件:P2至p9的像素值總和要大于等于2且小于等于6;在從左到右、從上到下p2->p9的數值順序中,每2個相鄰順序數值為0和1的數量為1;p2*p4*p6=0;p4*p6*p8=0
2)將步驟1中的后2個條件改為p2*p4*p8 = 0,p2*p6*p8=0,前2個條件不變,遍歷像素。
3)若同時能夠滿足步驟1中或者步驟2中的4個條件,則將該點置0即刪除。
經過對自適應閾值分割后的圖像進行清除、填充及thin算法后的圖像見圖5,相較于圖4可以看到,滑片周圍及滑片縫隙里獨立的斑點已被清除干凈,經過填充算法大部分空洞已經被填充,圖像左上部滑片相對已變得更加飽滿。經過thin算法后滑片之間縫隙變得更大了,上下行之間的粘連也變得更小了,有利于后續投影圖尋找谷底位置進行切割圖像。

圖5 細化結果
對于圖像中的滑片縱向看每個滑片已經被分割開來,但是橫向依然粘連。文中借鑒車牌識別和字符分割中常用的垂直水平投影分割算法將橫向滑片徹底分開。水平投影算法思路為:即二值圖像水平方向上的投影,首先在水平方向上取一條直線,然后記錄這條直線所有白色像素點的數量并累加求和作為此軸此位置的值,以此遍歷圖像上所有的行,最后統計出每行白色像素點的數量并在一個空白圖像上依次對應畫出直方圖(將對應位置像素設為255即白色直方圖,其余位置像素設為0即黑色背景),最后畫出的水平投影直方圖見圖6,其中標注紅色方框的位置就是滑片橫向需要切割的位置。
基于投影法[14—16]的圖像分割就是把圖像映射這種特征后,據此判斷切割的位置,從而來分割圖像得到目標圖像。在車牌字體分割時,主要是將車牌字體投影圖中谷峰與谷峰之間的空隙和設定的字體長寬比例作為分割依據,與車牌字符分割不同的是文中橫向滑片粘連嚴重且排列不是十分整齊,無法通過縫隙分割。文中提出通過圖像監視方法來確定滑片投影直方圖中具體的切割位置,進而確定滑片圖像切割的位置。圖6中紅色方框標注的位置就是需要分割的地方,在visual studio的環境下調試編譯算法,通過圖像特征和像素信息取谷底縱坐標的平均值得到4個縱坐標分別為415,738,1056,1365,即把這些行值作為切割線位置。另外因為滑片不是整齊排列的,只做一條切割線是不能夠將上下2行滑片整齊切開的,所以文中采取在上下兩行滑片連接處切掉一個矩形條,將找到的4個行數分別上下各加30行,即把找到的4個縱坐標作為每個矩形的中線,矩形的高為60,長為整個原圖像的列數,將矩形條內所有像素點設置為0,最終切割后的圖像見圖7。

圖6 投影直方圖

圖7 最終切割后圖像
由切割后的圖像可以看到,每個滑片都已經被完全分離成沒有粘連的獨立個體,這時就可以通過連通域找出每個滑片的輪廓,輪廓的數量就是滑片的數量,具體算法在3.3節已闡述,最終計數結果為368。
圖像處理主機和顯示終端為一臺64位Window 10戴爾筆記本電腦,英特爾i5處理器,8 G內存。圖像采集設備為高清500萬像素的敏特U500工業相機,采集的照片像素為2562×1944,相機接口為USB并配有相機支架,相機位置可以調節,還搭配臺灣SunWay xw0612型號的工業相機鏡頭。視覺檢測系統的光源為50瓦的大功率LED燈,檢測倉為黑色亞克力材質板,限位開關為漫反射式紅外光電傳感模塊D80NK。流水線采用40×40工業鋁材方管搭建而成,西門子PLC200控制器作為運控系統的主機,操作箱可以人工操作選擇手動模式還是自動模式,急停按鈕等,實驗硬件實物見圖8。

圖8 硬件實物
計數系統顯示界面使用C++跨平臺的圖形界面開發框架QT,設置2種模式:在自動模式時,打開滑片計數系統軟件,當滑片到位后可直接計數并顯示出來;在手動模式時,可以先點擊讀取圖像按鈕,然后再點擊開始計數按鈕就可以將計數結果顯示出來。另外界面有相機實時顯示窗口,也設計了檢測系統狀態指示燈和狀態信息欄等功能,計數界面顯示結果見圖9。
在實驗過程中發現系統光源和自適應閾值算法中分割的塊大小和偏移量對滑片計數準確性影響較大,初始時光源選擇的是40 cm和20 cm各6條9 W的LED燈帶傾斜置于檢測倉四周,經算法調參后仍不能準確計數,后來經過分析認為LED燈帶亮度不夠,而且檢測倉內部比較光滑會發生鏡面反射,最后更換為50 W大功率LED燈并置于檢測倉上方,而且檢測倉內部都貼上粗糙壁紙,這樣光源在檢測倉內部發生漫反射,使得其采集的滑片圖像盡量光照均勻。在此光源調整合適并固定前提下,經過多次測試,再次對自適應閾值分割算法參數改進,將其最終調整后的結果同時將由于滑片油污導致的缺損連接起來,并且消除掉了多余的邊框,得到準確的滑片數量,其對比結果見圖10,另外得益于投影法的創新應用,解決了滑片密集粘連的分割難題。

圖9 計數結果顯示界面
該滑片自動計數系統計數準確,整箱滑片實際368個,計數結果顯示368。根據某公司提出滑片計數準確率要達到99.5%以上,且計數效率不低于每小時25 000片的實際生產需求,在此實驗條件下,再次進行系統性的測試3組,每組總數相近且分為100次測試,每次測試在保證滑片直立不倒的情況下,隨機將滑片拿出若干片或者不拿,統計最后平均結果。結果顯示平均計數準確率達到99.83%,每次計數時間平均為7.6 s,表現出良好的穩定性和準確率,滿足實際生產需求,測試結果見表1。

圖10 光源調整前后對比結果
對于壓縮機滑片生產包裝過程中人工計數煩瑣、效率低等問題,文中利用機器視覺技術設計了滑片自動計數系統,通過對圖像預處理來增強圖像對比度、細化處理、借鑒字符分割中的投影法對圖像進行分割等方法實現了準確計數。該方法在系統光源固定后,對于外界光照環境變化后仍然適用。另外此系統對雜亂擺放的滑片無效,下一步考慮利用深度學習來處理遮擋、隨機擺放滑片的計數問題。
[1] 王衛勇, 朱玉泉. 一種基于多模板覆蓋的鋼筋計數方法[J]. 計算機與現代化, 2005, 4(5): 25-27.
WANG Wei-yong, ZHU Yu-quan. A Method of Reinforcing Bar Based on Multi-Template Coverage[J]. Computer and Modernization, 2005, 4(5): 25-27.
[2] POPPE R. A Survey on Vision-Based Human Action Recognition[J]. Image and Vision Computing, 2009, 28(6): 976-990.
[3] 程福. 基于機器視覺的高品質蘋果在線計數方法[J]. 農業裝備技術, 2011, 37(4): 45-46.
CHENG Fu. On-Line Counting Method of High-Quality Apples Based on Machine Vision[J]. Agricultural Equipment Technology, 2011, 37(4): 45-46.
[4] 賈雄, 葉邦彥. 基于圖像處理的藥片計數系統設計[J]. 電子設計工程, 2013, 21(12): 67-69.
JIA Xiong, YE Bang-yan. Design of Tablet Counting System Based on Image Processing[J]. Electronic Design Engineering, 2013, 21(12): 67-69.
[5] 敖銀輝, 蔣進. 基于紋理分割的紙張計數研究[J]. 包裝工程, 2015, 36(19): 135-138.
AO Yin-hui, JIANG Jin. Research on Paper Counting Based on Texture Segmentation[J]. Packaging Engineering, 2015, 36(19): 135-138.
[6] 田齊, 張令. 基于機器視覺的晶圓裸片計數方法[J]. 傳感器與微系統, 2018, 37(10): 41-43.
TIAN Qi, ZHANG Ling. Method for Counting Die of Wafer Based on Machine Vision[J]. Sensors and Microsystems, 2018, 37(10): 41-43.
[7] 彭順正, 岳延濱, 馮恩英, 等. 基于機器視覺的油菜籽計數系統開發與設計[J]. 計算機應用, 2020, 40(S2): 142-146.
PENG Shun-zheng, YUE Yan-bin, FENG En-ying, et al. Development and Design of Rapeseed Counting System Based on Machine Vision[J]. Journal of Computer Applications, 2020, 40(S2): 142-146.
[8] 多功昊, 王紫聰, 張航. 基于機器視覺的魚苗自動計數方法研究[J]. 農業技術與裝備, 2020(6): 55-56.
DUO Gong-hao, WANG Zi-cong, ZHANG Hang. Research on Automatic Counting Method of Fish Fry Based on Machine Vision[J]. Agricultural Technology and Equipment, 2020(6): 55-56.
[9] 馬健錦. 基于機器視覺的菌落自動計數軟件開發[J]. 海峽科學, 2019(1): 37-40.
MA Jian-jin. Development of Automatic Colony Counting Software Based on Machine Vision[J]. Strait Science, 2019(1): 37-40.
[10] 方志強, 肖書浩, 熊禾根, 等. 基于機器視覺及SVM的零件產品計數系統[J]. 制造業自動化, 2018, 40(7): 37-40.
FANG Zhi-qiang, XIAO Shu-hao, XIONG He-gen, et al. Parts Product Counting System Based on Machine Vision and SVM[J]. Manufacturing Automation, 2018, 40(7): 37-40.
[11] 宋凱, 王舒卉. 圖像分割算法研究與實現[J]. 沈陽工程學院學報(自然科學版), 2020, 16(4): 67-70.
SONG Kai, WANG Shu-hui. Research and Implementation of Image Segmentation Algorithm[J]. Journal of Shenyang University of Engineering (Natural Science Edition), 2020, 16(4): 67-70.
[12] 張曉東, 岳歡. 基于OPTA細化算法在核安保指紋識別系統的應用[J]. 黑龍江科學, 2020, 11(24): 22-25.
ZHANG Xiao-dong, YUE Huan. Application of OPTA Refining Algorithm in Nuclear Security Fingerprint Identification System[J]. Heilongjiang Science, 2020, 11(24): 22-25.
[13] 王哲, 王華昌, 李建軍. 二值圖像骨架抽取算法在細長面數控加工刀路優化中的應用[J]. 模具工業, 2020, 46(6): 1-5.
WANG Zhe, WANG Hua-chang, LI Jian-jun. Application of Two-Value Image Skeleton Extraction Algorithm in the Optimization of Elongated Surface Numerical Control Processing Knife Road[J]. Mold Industry, 2020, 46(6): 1-5.
[14] 陳虹宇, 李鐵軍. 運用灰色關聯度的儀表數字字符識別[J]. 集美大學學報(自然科學版), 2021, 26(1): 66-71.
CHEN Hong-yu, LI Tie-jun. Identification of Instrumental Digital Character with Gray Correlation[J]. Journal of Jimei University (Natural Science Edition), 2021, 26(1): 66-71.
[15] THILAGAVATHY A. CHILAMBUCHELVAN A. Fuzzy Based Edge Enhanced Text Dalgorithm Using MSER[J]. Cluster Computing, 2019, 22(5): 11681- 11687.
[16] 姚文鳳, 甄彤, 呂宗旺, 等. 車牌字符分割與識別技術研究[J]. 現代電子技術, 2020, 43(19): 65-69.
YAO Wen-feng, ZHEN Tong, LYU Zong-wang, et al. Research on Vehicle License Plate Character Segmentation and Recognition Technology[J]. Modern Electronic Technology, 2020, 43(19): 65-69.
Design of Compressor Slide Counting System Based on Machine Vision
WANG Yi, DONG Guang-lin, MA Zheng-dong, GONG Xiao-jie, DU Yan
(College of Electrical Engineering, North China University of Science and Technology, Tangshan 063200, China)
The work aims to designan algorithm and device for automatic counting of compressor slides based on machine vision technology and PLC in view of the cumbersome problem of manually counting compressor slides. Industrial cameras and high-power LED lights were used to design the visual device, and PLC was used as the assembly line controller to communicate with the visual computer through TCP. An automatic counting algorithm was designed based on image processing technology. Firstly, the area of interest was cropped from the boxed slide image collected by the camera and subject to filtering, histogram equalization, morphological processing, and adaptive threshold binary segmentation to enhance image contrast. Then, the image cavities were filled. After the larger noise points were removed, the thin algorithm was used to refine the tightly adhered slides, and the histogram was drawn by the horizontal projection method to find the cutting position. Finally, the connected domain analysis was performed to determine the number of slides, and design the user interface to display the counting results and system status. Through many on-site tests, the overall system ran smoothly and was not affected by external light, with high counting accuracy. Tests were carried out at different time in a day, the average time for each count was 7.6 s, and the accuracy reached 99.83%. The application of the projection method solves the segmentation problem of dense adhesion. This method is highly adaptable to the environment, can automatically count slides stably and accurately and has obvious application advantages in the actual mass production and packaging of slides.
slide; horizontal projection; count; cutting
TB487
A
1001-3563(2022)01-0202-08
10.19554/j.cnki.1001-3563.2022.01.026
2021-03-30
唐山市科技計劃(21130212C)
王一(1981—),男,博士,華北理工大學副教授,主要研究方向為視覺檢測、智能控制、精密測量。