湯 偉 成爽爽,* 馮 波,2 曲蘊慧 王孟效
(1.陜西科技大學電氣與控制工程學院,陜西西安,710021;2.陜西科技大學鎬京學院,陜西西安,712046;3.陜西西微測控工程有限公司,陜西咸陽,712000)
特種紙張在生產過程中,容易受內部因素和生產環境的影響產生不同的外觀缺陷,這些紙張表面瑕疵叫做紙病[1]。
基于機器視覺的紙病檢測系統是一種新興的紙病檢測技術,與人工檢測相比,具有非接觸、高精度、高效率的特點[1]。但是隨著紙機車速的提高和幅寬的加大[2],紙病檢測的快速性和準確性大大降低。為了解決現有紙病檢測系統中存在的問題,本文設計了一種適用于中高速紙機的在線紙病檢測系統。根據企業要求的檢測精度、紙張幅寬和紙機運行速度,在成本最低和滿足系統要求的前提下,選擇合適的工業線陣相機。工業線陣相機可以很好地完成動態圖像的采集,但是必然會產生大量的圖像數據。圖像分析模塊主要完成對紙病的檢測和識別,判斷紙張圖像中是否存在紙病,通過動態閾值算法[3]由FPGA完成對紙病的檢測[4]。若存在紙病傳輸到PC機,采用卷積神經網絡完成對紙病類型的識別;若不存在,則進行紙病圖像的保存。由于FPGA具有并行性和高速運算能力的特點,由FPGA完成對紙張圖像的保存。數據存儲模塊主要分為2部分,第一部分由PC機進行控制,主要用于存儲存在紙張缺陷的圖像;第二部分與FPGA相連,完成對紙張圖像的保存,以便于后期分析,對數據存儲實時性要求高,因此采用高端固態硬盤完成對數據的存儲。木桶理論以滿足系統最高檢測速度和精度為要求,通過對各模塊的理論分析,以最低硬件標準設計系統的硬件架構。
通過理論分析,本文設計了一種適用于中高速紙機的紙病檢測系統實驗平臺,以滿足系統最高要求的以最低硬件為標準進行系統架構的設計。在保證系統平穩運行的前提下,不僅可以很大程度避免對資源的浪費,還能夠快速和準確地完成對紙病的檢測和識別。
紙病檢測系統硬件模塊的設計和選取以木桶理論為基礎。木桶理論又稱短板理論,其核心內容為:1只木桶盛水的多少,并不取決于桶壁上最高的那塊木塊,而恰恰取決于桶壁上最短的那塊。根據這一內容,可以有2個推論:其一,只有桶壁上的所有木板均足夠高,那木桶才能盛滿水。其二,只要這個木桶里有一塊高度不夠,木桶里的水就不可能是滿的,高于最低木板所使用的材料均是對資源的浪費[5]。引申到基于機器視覺的紙病檢測系統中,就是如果要實現完整的紙病檢測過程,需要系統所有模塊均能滿足實時處理數據的要求,只要1個模塊不符合要求,就不能完成紙病的實時在線檢測功能,而高于最低標準的模塊是對資源的浪費。為了節約成本,以滿足系統最高要求的最低硬件標準為前提,進行紙病檢測系統架構的設計。結合紙病算法,完成對中高速紙機紙病的檢測和識別。
基于機器視覺的紙病檢測系統主要包括5個模塊:光源模塊、圖像采集模塊、紙病檢測模塊、數據分析模塊和機械控制模塊[6]。工作原理為:根據紙張的幅寬選擇合適的光源模塊[7],根據紙機速度和幅寬得到相機的采集頻率和分辨率,相機將采集到的紙張圖像傳輸給紙病檢測模塊[8],該模塊在接收到圖像后,采用合適的算法以最快的速度進行紙病檢測,將沒有紙病的圖像丟棄或保存,將存在紙病的圖像發送給數據分析模塊,同時給機械控制模塊發送指令,對紙病區域進行標記[9];數據分析模塊對紙張圖像進行分割,提取紙病區域的圖像,對紙病類型識別并保存,為生產工藝的改進提供方案。系統組成框圖如圖1所示。

圖1 基于機器視覺的紙病檢測系統架構框圖Fig.1 Architecture block diagram of paper defect detection system based on machine vision
2.1 系統硬件需求分析
2.1.1 相機的選擇
基于機器視覺的紙病檢測系統中,相機的選取決定了圖像質量,間接決定了檢測的準確性,所以選取合適的相機對檢測的準確性起著決定性作用[10]。相機數據處理能力實時性的計算主要以相機在單位時間內產生的數據為基準。
(1)相機分辨率的計算
相機分辨率指相機單次采集圖像時可采集到的圖像的像素總個數,一般由相機可采集的橫向上的像素總數乘以縱向上的像素總數來確定。紙病檢測系統中,相機分辨率一般需要根據被檢測面的寬度和用戶要求的精度來確定,如式(1)所示。

式中,Pn為所需要像素的總個數;w為檢測區域的橫向寬度,mm;ε為用戶要求的單位精度,mm2;n為單位精度的像素個數。n值越大,單位精度內需要的像素也就越多,相同采集頻率下系統可檢測的速度就越小,n的取值一般集中在{1,4,9,16,25}。當紙機幅寬比較大時,Pn的值會遠遠超過單個相機的分辨率,單個相機的分辨率無法滿足全幅檢測的需求,需要將多個相機橫向并行排列才能滿足檢測需求。相機個數由橫向檢測寬度所需像素總數除以單個相機橫向分辨率計算得出。
(2)相機采集頻率的計算
相機的采集頻率主要由指定的檢測單位精度和檢測速度來確定。一般情況下,同樣頻率的相機,要求的檢測精度高時,系統的檢測速度就會變慢,反之當要求的檢測精度低時,系統的檢測速度就會變快。相機的采集頻率與檢測精度和檢測速度之間的關系如式(2)所示。

式中,fc為相機的采集頻率,Hz;s為紙機的運行速度,m/min;ε為用戶要求的單位精度,mm2;n為單位精度的像素個數。當檢測的精度和速度均比較高時,相機頻率也隨之變高,硬件成本也會增加。
2.1.2 相機鏡頭的選擇
鏡頭的好壞影響了圖像的采集范圍和成像效果,鏡頭的選取主要考慮以下因素。
(1)鏡頭尺寸
只有當鏡頭的尺寸大于等于相機的成像尺寸時才能充分發揮相機的成像能力,否則會造成相機有效尺寸的浪費。為了更好地發揮相機的性能,建議選擇比相機成像尺寸大一些的鏡頭。
(2)鏡頭焦距
由相機的成像原理可知,焦距的長短與相機到被采集對象的距離成正比,當相機與被采集對象的距離確定時,焦距大的鏡頭可采集的區域比較小,而焦距小的鏡頭可采集的區域比較大。為了選擇合適的鏡頭,可以通過式(3)的計算來選用合適焦距的鏡頭。

式中,f為焦距;A為相機的成像尺寸;H為相機鏡頭到被采集對象之間的高度;L為需要采集區域的長度。一般情況下相機的成像尺寸A是可以提前確定的,可以根據檢測精度和相機的分辨率來確定。短焦鏡頭可以實現廣角采集,但距離中心較遠的區域,可能會產生畸變,導致圖像失真;長焦鏡頭與被采集對象的距離確定時,可采集到的區域變小,在被采集對象的寬度一定時,需要更多的相機才能實現被采集對象的全幅采集,系統成本會更高。
(3)鏡頭光圈
鏡頭的光圈決定單位時間內進入相機光量的多少,光圈越大單位時間內進入相機的光量越多,采集到的圖像越亮。一般情況下光圈大小用F加數字的方法來表示,光圈的大小與F后面跟的數字成反比,數字越大,光圈越小。計算公式如(4)所示。

式中,F為光圈值;f為鏡頭的焦距;d為鏡頭有效口徑直徑。
(4)鏡頭分辨率
鏡頭的分辨率是指在像平面處1 mm內能分辨開的黑白相間的線條對數,單位是“線對/毫米”,是將圖像的對比清晰度量化的一種方式。相機分辨率一定的情況下,鏡頭的分辨率越高,采集到的圖像清晰度也就越高。
2.2 圖像分析模塊的設計
相機完成圖像采集后會將采集好的圖像通過數據傳輸接口傳遞給數據分析模塊。根據系統的功能需要還可以將數據分析模塊再細化為2個模塊:檢測模塊主要完成紙病檢測系統中檢測的功能,此模塊對實時性的要求比較高,必須以最快的速度檢測圖像上是否存在缺陷,否則會造成圖像數據的丟失。識別模塊對接收到的圖像進行紙病區域分割和識別出紙病的類型。然后根據紙病類型和出現頻率對產生紙病的原因進行分析。
在紙病檢測系統中,光源優化的主要目的是保證相機采集到的圖像的背景均勻度[11]和比較明顯的缺陷區域的圖像對比度,保證相機獲取到的圖像符合圖像分析模塊的要求。
能否實時完成檢測的工作,首先需要知道檢測的數據量,相機單位時間內產生的數據量計算如式(5)所示。

式中,Data為單位時間內產生的數據量,B/s;P為相機分辨率;fc為相機的采集頻率。
當紙機的速度和幅寬提高時,串行的CPU無法實時完成數據的處理。FPGA可以實現多內核之間的資源調度,為流水線和數據并行奠定了良好的基礎,再加上其可快速定制化的優點,適用于紙病檢測系統中實時性要求高的檢測模塊。
2.3 數據存儲模塊的設計
數據存儲模塊可以分為2個部分:第一部分由PC機來進行控制,主要用于存儲有紙病的圖像,對存儲的實時性要求不高;第二部分與FPGA連接,由FPGA負責將采集到的所有圖像利用數據總線存儲在設備上,此模塊產生的數據量大,實時性要求高,要求存儲模塊的存儲速度要大于相機產生數據的速度,為了實現系統的最優化配置需要對不同存儲設備的存儲速度進行對比,如表1所示。從表1中可以看出,固態硬盤的存儲速度比機械硬盤和閃存盤的存儲速度要高很多,普通的固態硬盤也可以實現300 Mbps的速度,同樣是固態硬盤,PCIe GEN3*4接口的高端固態硬盤比SATA 3.0接口的固態硬盤要高出接近10倍的存儲速度,這主要是由2種不同接口的存儲方式不同造成的。在傳統SATA接口的固態硬盤中,數據需要先從硬盤讀取到內存,再將數據提取至CPU內部進行計算,計算后也需要通過CPU寫入計算機的內存,然后再由內存存儲到固態硬盤中。PCIe GEN3*4接口沒有內存環節,需要存儲的數據可以直接通過系統總線與CPU通信,傳輸效率與速度均有了成倍的提升。

表1 不同存儲設備存儲速度對比Table 1 Comparison of storage speed of different storage devices
2.4 系統架構的軟件需求分析
利用集成環境Visual studio 2015進行開發設計,使用C++作為主要編程語言,在圖像采集方面使用了DALSA提供的Sapera++類庫,包括兩大類:基礎應用類(basic classes)和界面設計類(GUI classes)。在界面開發方面使用了微軟基礎類庫MFC[12]。MFC包含了大量的Windows API接口,較好的減輕了程序開發的工作壓力。
系統分成以下幾個模塊:紙病圖像采集模塊、紙病檢測模塊、紙病位置標記模塊[12](可選)、數據存儲管理模塊(可選)、紙病區域分割模塊、紙病類型識別模塊、數據庫管理模塊、人機交互模塊、同步觸發模塊、網絡通信模塊。
軟件模塊中,紙病圖像采集模塊由相機完成;紙病檢測模塊主要由FPGA負責完成;紙病位置標記模塊由FPGA和打標機合作完成;數據存儲管理模塊由FPGA和數據存儲器完成[13];紙病區域分割模塊、紙病類型識別模塊和數據庫管理模塊主要由上位機完成;網絡通信模塊由上位機、FPGA模塊和工業線性相機一起完成。系統軟件結構如圖2所示。

圖2 紙病檢測系統軟件結構圖Fig.2 Software structure diagram of paper defect detection system
基于機器視覺的紙病檢測系統實驗平臺主要模仿實際生產中紙張的運行狀態,以實際生產線的結構為基礎展開設計。以各個模塊的功能為基礎,將實驗平臺分成支架固定模塊、機械轉動模塊、光源模塊、圖像采集模塊、紙病檢測模塊和紙病識別模塊。

圖3 紙病檢測系統實驗平臺示意圖Fig.3 Schematic diagram of the experimental platform of the paper disease detection system
為了對比不同系統架構可達到的效果,設計了2套實驗平臺:一套低速紙機紙病檢測系統實驗平臺,采用“線陣相機+采集卡+PC機[14]”的系統架構,此實驗平臺如圖4所示,已經可以實現低速紙機紙病的檢測,本文不再做過多敘述;另一套中高速紙機系統實驗平臺采用“工業線陣相機+FPGA+PC機”的系統架構,主要對中高速紙機系統的硬件匹配策略進行說明,并對運行效果進行驗證。

圖4 低速紙機紙病檢測實驗平臺Fig.4 Low-speed paper machine paper disease detection experiment platform
3.1 實驗平臺的硬件結構介紹
在保證實驗安全的情況下,為了提高紙機的速度,設計了大直徑輥筒,小轉速電機的方案。結構如圖5所示。

圖5 中高速紙機紙病檢測系統結構圖Fig.5 Structure diagram of paper defect detection system for medium and high speed paper machine
支架固定模塊采用鑄鐵框架結構,其長、寬、高分別為1.2、0.8、0.6 m,為了更好地采集高速運動紙張的圖像,在輥筒的外圈采用了長度0.8 m,直徑0.6 m的高透光亞克力輥筒,亞克力輥筒兩端使用不銹鋼法蘭固定,將法蘭直接焊接到動軸上,動軸與中間的空心硬軸使用軸承連接,動軸與固定底座之間也采用軸承連接,最終實現中間的空心硬軸不動,通過外圈的動軸帶動滾筒轉動的目的;底光源模塊則需要固定在中間的空心硬軸上,而上光源和相機低速紙機實驗平臺采用相同的方式,為了避免轉動裝置在高速轉動時產生震動影響相機的采集效果,特意安排與轉動裝置物理分開。
亞克力材料的硬度和柔韌度相對較低,為了保證滾筒高速旋轉時兩端的平衡性,在機械驅動方面設計了單軸雙端驅動的連接方式,即在滾筒兩端的動軸上各加一個同步帶輪,用同步帶與驅動軸兩端的同步帶輪相連接,最大可能地避免了因受力不均造成的滾筒扭動。驅動軸采用軟連接的方式與驅動電機相連。驅動電機選用了信達電機定制的6D300GU-C直流調速電機,最小轉速為10 r/min,最大轉速600 r/min,最快可以實現1130.1 m/min轉速。
3.2 紙病檢測系統硬件模塊設計
中高速紙機紙病檢測系統實驗平臺的轉動裝置寬度為0.8 m,檢測精度要求為0.1 mm×0.1 mm,假設需要單位精度內使用1個像素,則根據式(1)可以得出在橫向上需要的像素數量為8000個,4臺2K相機、2臺4K相機、1臺8K相機3種方式均可滿足橫向像素的要求;最快可以實現1130.1 m/min的線速度,代入式(2)可得系統需要的采集頻率為188.35 kHz,根據相機的頻率分機情況,需要相機的采集頻率在200 kHz以上,當前在工業線陣相機中能達到200 kHz以上的CCD相機可供選擇的種類不多[15],而很多CMOS相機可以達到300 kHz以上[16],因此只能選擇CMOS相機;每秒鐘可以產生的總數據量是1436.996 MB,在傳輸接口的選擇上就只有Camera link HS[17]和光纖2種可以滿足條件;在圖像數據處理方面,每秒鐘能處理1436.996 MB數據的硬件設備也只有DSP和FPGA可以滿足;在數據存儲方面,每秒鐘要寫入到硬盤的數據超過1 GB,普通硬盤不滿足此要求,只能選用高端固態硬盤。
單從性能進行分析,可以滿足紙病檢測系統硬件配置有很多種,例如相機的選擇上,選用一臺具有200 kHz采集頻率、分辨率為8192、采用Camera link HS的CMOS相機;在數據檢測上選用FPGA板[18];在數據存儲上選擇采用M.2接口的高端固態硬盤;在紙病類型識別上可以選用高端上位機。滿足以上條件的硬件設備也有多種可供選擇。但對于造紙企業來說,在硬件選配的過程中,不僅要滿足系統的要求,經濟成本和系統的穩定性要求也比較高,越高端的產品,其設計難度和實現難度均會變高,價格也會相應變高,比如當前4臺2K的相機的總價格小于一臺8K相機,而且分辨率低的相機穩定性相對更高;單臺2K相機產生的數據量相對也比較少,更容易找到適配的FPGA板。
根據上述分析,決定采用CMOS相機+FPAG+上位機[19]的模式,為有效保存數據,同時也測試FPGA的存儲效果,在此選用了三星970 EVO Plus 250GB M.2接口(NVMe協議)固態硬盤,實際存儲速度可以達到2300 MB/s,滿足系統要求。
基于木桶理論的紙病檢測系統架構,除了按用戶需要設計可以平穩運行外,還需要考慮硬件的成本問題。實現1+1>2的效果,否則會造成硬件資源的浪費。
本文主要針對現有紙病檢測系統中存在的缺陷進行改進,通過分析系統中圖像采集模塊、數據檢測模塊和圖像處理模塊等主要硬件模塊的要求,選擇合適的硬件,提出了基于木桶理論的紙病檢測系統架構設計方案,避免了因硬件配置不均衡造成的檢測系統可檢測車速不高、幅寬小的問題,同時系統中各個模塊的利用率得到有效提高,整個紙病檢測系統的經濟成本更加合理。