王雯雯, 高 暢, 劉基宏
(生態(tài)紡織教育部重點實驗室(江南大學), 江蘇 無錫 214122)
細紗斷頭檢測是紡紗生產(chǎn)管理中的一個重要環(huán)節(jié),斷頭檢測裝置有單錠式和巡回式檢測2種形式:單錠式在每個錠位分別安裝探頭,通過光電或渦流檢測方式判斷紗線是否斷頭;巡回式有紅外感應(yīng)和視覺感應(yīng)2種,可將檢測探頭安裝在可以來回運動的移動裝置上,通過移動裝置在細紗機前移動檢測細紗[1-2]。由于巡回式與單錠式相比具有探頭少的特點,從而可制成質(zhì)量高、成本低、維護方便、適用于移動設(shè)備現(xiàn)場檢測的產(chǎn)品。然而每臺細紗機上有約480個錠位,斷紗時移動裝置難以準確判斷斷紗位置。針對這一難題,本文設(shè)計了針對巡回式斷紗檢測的細紗斷紗定位系統(tǒng),對錠位標識后,通過巡回式小車上的圖像采集裝置采集標識的圖像,并利用圖像處理識別錠位號。
在TH558型細紗機生產(chǎn)9.7 tex精梳純棉紗,錠速為11 000 r/min,捻系數(shù)為329。錠位標識粘貼在細紗機的大梁上,每隔3個錠位粘貼1個錠位標識。在車間正常燈光下,通過DC80型工業(yè)相機用80萬像素采集紡紗段圖像,采集到的圖像分為普通情況、紗線遮擋標識的情況和多個錠位標識的情況,如圖1所示。工業(yè)相機通過USB接口與電腦相連固定在移動小車上,小車邊緣與細紗機底部距離為400 mm,相機高度與細紗機葉子板保持一致,鏡頭正對葉子板且平行于葉子板,相機鏡頭與導紗鉤間的距離為660 mm,通過USB接口與電腦相連。
圖1 原始錠位標識Fig.1 Original position mark.(a) Ordinary situation;(b) Yarn block;(c) Multiple marks interference
原始標識圖像中,噪聲較多,正在運行的細紗可能會對標識產(chǎn)生遮擋,由于小車運行過程中的穩(wěn)定性較差,可能拍攝到的標識是傾斜的,這都對標識識別造成一定的干擾。為準確讀取標識信息,對原始標識圖像進行形態(tài)學預處理后,分割字符并識別,處理過程以圖1(a)為范例進行解釋。
錠位標識的分割是標識識別的第1步,標識分割的好壞直接關(guān)系到后續(xù)的字符分割及識別率的高低。錠位標識分割是將錠位標識從整個圖像中單獨分割出來,先對原始標識圖像進行剪裁及灰度化,通過邊緣檢測提取標識邊緣,形態(tài)學處理進行初步定位,對水平和垂直方向的像素灰度值投影,根據(jù)投影結(jié)果對標識進行分割。
工業(yè)相機采集到的錠位標識圖,其有效區(qū)域為大梁區(qū)域,為提高檢測準確度,先對圖像[0,200,1 020,400]區(qū)域進行剪裁,保留有效區(qū)域。為方便后續(xù)的形態(tài)學分析,將圖像進行灰度化處理,結(jié)果如圖2所示。
圖2 錠位標識剪裁及灰度化Fig.2 Position mark cut and grayscale
由圖2可見,標識在圖像中呈橫向,紗線對標識具有一定的干擾性,在邊緣檢測中為排除紗線干擾選用prewitt算子,檢測方向設(shè)定為水平,圖3(a)示出邊緣檢測后的圖像。邊緣檢測提取的標識邊緣很明顯,但是標識邊緣并不連續(xù),無法根據(jù)其特征作進一步判斷,因此,需要對其進行形態(tài)學處理,使其成為一個連續(xù)的整體,完成后續(xù)的標識定位。
圖3 形態(tài)學處理Fig.3 Morphological treatment.(a) Edge detect;(b) Inflate and retain maximal connected domain
進行形態(tài)學處理時,首先使用55像素×55像素的矩形對標識邊緣檢測圖進行膨脹處理,使標識區(qū)域連接成整體,與周圍的干擾區(qū)域分離,成為一個獨立的區(qū)域,但由于膨脹運算使圖像中其他部分細節(jié)也被凸顯了出來,可能造成定位錯誤,所以初步提取標識,去除偽標識。對標識區(qū)域的提取可通過regionprops函數(shù),標記圖像中各個區(qū)域,然后計算出每個區(qū)域的像素點,保留最大像素點的區(qū)域,如圖 3(b)所示,圖中只保留了標識區(qū)域,其余區(qū)域像素變?yōu)?。
在標識初步定位之后,得到了標識區(qū)域圖像,采用投影法對標識進行精確定位。通過圖3(b)可發(fā)現(xiàn),二值化的標識區(qū)域圖像在水平方向和垂直方向上都具有明顯的跳變,會出現(xiàn)峰值。對水平和垂直方向的像素點個數(shù)進行統(tǒng)計,結(jié)果如圖4所示。
圖4 行、列方向像素累計圖Fig.4 Row (a) and column (b) direction pixel cumulative graph
用max函數(shù)找出像素點最多的一行,設(shè)定閾值為5個像素,分別向上下2個方向計算像素點,當像素點超過閾值時,行數(shù)增加;同理,對列數(shù)進行篩選。最終剪裁出彩色的錠位標識圖,如圖5所示。
圖5 錠位標識圖Fig.5 Position mark image
在錠位標識準確定位分割后,需要對標識中單個字符進行分割。標識分割出的圖像為RGB圖像,直接用來分割字符運算量大,所以先將RGB圖像轉(zhuǎn)換為二值圖像。與RGB圖像相比,二值圖像只有0和1這2個像素值,圖像信息更簡單明確,信息量大大減少,運算快。圖6示出二值化的錠位標識圖。
圖6 二值化錠位標識圖Fig.6 Binarized position mark image
進行字符分割時,先將字符外邊界切割掉,通過遞歸算法,由左向右,逐列識別是否存在像素值為255的點,當出現(xiàn)像素值全為0時,進行切割,從而分割出第1個字符,以此類推,切割出第2個第3個和第4個字符。切割出的字符大小不一,為方便后續(xù)的字符識別,將其大小歸一為20像素×40像素,如圖7所示。
圖7 字符分割圖Fig.7 Character segmentation graph
目前已有的字符識別方法有模板匹配法、統(tǒng)計特征匹配法、神經(jīng)網(wǎng)絡(luò)算法和支持向量機模式識別算法。在這4種方法中,模板匹配法是最早使用的字符識別算法,神經(jīng)網(wǎng)絡(luò)算法是目前比較流行的算法[3-5]。本文采用卷積神經(jīng)網(wǎng)絡(luò)(CNN)進行字符識別。
一般CNN的基本結(jié)構(gòu)包括2層:1)特征提取層,每個神經(jīng)元的輸入與前一層的局部接受域相連,并提取該局部的特征;2)特征映射層,特征映射結(jié)構(gòu)采用影響函數(shù)核小的sigmoid函數(shù)作為卷積網(wǎng)絡(luò)的激活函數(shù),使得特征映射具有位移不變性[6-7]。同時,映射面上的神經(jīng)元共享權(quán)值,減少了網(wǎng)絡(luò)自由參數(shù)的個數(shù)。
CNN包含卷積層和亞采樣層2個特殊的網(wǎng)絡(luò)[8-9]。卷積層由多個特征平面組成,每個特征平面都代表著上一層的某些特征,卷積層后緊跟著亞采樣層。亞采樣層將卷積層的數(shù)據(jù)進行重構(gòu),對數(shù)據(jù)進行降維,防止出現(xiàn)過度擬合和維數(shù)災(zāi)難[10-11]。卷積層的形式如下式所示:
式中:n為層數(shù);k為卷積核;Mj為輸入特征圖的一個選擇;b為每個輸出特征映射添加的偏置;a為輸入特征映射個數(shù);f為卷積層神經(jīng)元所用的激活函數(shù),其中最常用的為sigmoid函數(shù)。亞采樣層表示為:
式中:ins(·)為亞采樣所用的函數(shù);B和b均為輸出特征的偏置。
設(shè)計的CNN包含2個卷積層,2個亞采樣層和1個全連接層,卷積層的卷積核為5像素×5像素。神經(jīng)網(wǎng)絡(luò)分為訓練和測試2部分,其中預處理將訓練樣本和測試樣本歸一化為40像素×40像素的圖像。卷積層采用sigmoid函數(shù)作為激活函數(shù),亞采樣層無激活函數(shù),采用均值池化。
神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖8所示,輸入為40像素×40像素的圖像,經(jīng)過第1個卷積層C1后,得到4個特征映射,卷積核的大小為5像素×5像素,每一個特征映射大小為36像素×36像素,經(jīng)過亞采樣層S1池化作用后,池化矩陣大小為2像素×2像素,得到4個18像素×18像素的特征映射。用同樣的方式,經(jīng)過C2卷積之后得到8個特征映射,每一個特征映射大小為14像素×14像素,經(jīng)過采樣層S2池化作用后,共有8個特征映射,每一個特征映射大小為 7像素×7像素。
圖8 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.8 Convolution neural network structure
實驗是在MatLab R2013a下完成的,操作系統(tǒng)為Windows 7,內(nèi)存為2 GB,主頻為2.10 GHz。實驗所用訓練樣本為400張20像素×40像素的0~9的圖像,測試樣本為100張20像素×40像素的0~9的圖像,格式為BMP。將神經(jīng)網(wǎng)絡(luò)的迭代次數(shù)設(shè)置為300,得到訓練時間為506.57 s,準確率為97%。
字符分割出的字符大小為20像素×40像素,由于神經(jīng)網(wǎng)絡(luò)的訓練樣本為40像素×40像素的圖像,所以將字符分割出的字符歸一化為40像素×40像素的大小。通過加載已經(jīng)訓練好的CNN神經(jīng)網(wǎng)絡(luò)對字符識別,并將斷紗錠位號顯示在對話框中。輸入100張圖像進行錠位識別并輸出錠位號,統(tǒng)計程序運行100次的時間為115.20 s,錠位識別程序識別一張圖像所需時間為1.152 s。
不同網(wǎng)絡(luò)結(jié)構(gòu)的參數(shù)設(shè)定如表1所示。迭代次數(shù)都設(shè)置為300,實驗結(jié)果如圖9所示。由圖可知:1)在一定范圍內(nèi),隨著C1層特征映射數(shù)量的增大,神經(jīng)網(wǎng)絡(luò)識別的準確率逐漸上升,當C1層特征映射數(shù)量超出一定范圍后,神經(jīng)網(wǎng)絡(luò)識別的準確率反而下降;2)特征映射數(shù)量與運行時間成正比;3)亞采樣層池化矩陣的選擇對識別的準確率影響較大,若池化矩陣過小,池化作用不明顯,識別的準確率較低;4)池化矩陣過小,數(shù)據(jù)充分降維,運算量大,運行時間較長。
表1 不同的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Tab.1 Different neural network structures
圖9 不同特征映射在不同池化矩陣下的準確率和運行時間Fig.9 Correct rate (a) and run time (b) of different feature mapping under different pooling matrices
神經(jīng)網(wǎng)絡(luò)通過迭代運算優(yōu)化權(quán)值,得到理想?yún)?shù)。表2示出迭代次數(shù)與準確率和運行時間的關(guān)系??砂l(fā)現(xiàn),在迭代次數(shù)較少的情況下,網(wǎng)絡(luò)沒有進行充分的學習,所以準確率較低。隨著迭代次數(shù)的增加,準確率緩慢升高,參數(shù)不斷被優(yōu)化,但是準確率的升高速率趨于緩慢。當準確率趨于穩(wěn)定,不再隨著迭代次數(shù)的增加而增加時,說明網(wǎng)絡(luò)呈收斂性,性能已達到最優(yōu)。同時,迭代次數(shù)與運行時間成正比例關(guān)系。
表2 不同迭代次數(shù)下的準確率和運行時間Tab.2 Correct rate and run time of different iterations
相機在移動過程中采集的標識圖像有可能出現(xiàn)紗線遮擋標識的情況(見圖1(b)),標識受到紗線的干擾,但是紗線干擾的情況對標識的定位分割沒有影響,標識可準確地從原始圖像中分割出來。然而進行字符分割時,遮擋的紗線分割出的字符圖像如圖10(a)所示。由于紗線的干擾,導致后續(xù)的字符識別錯誤率升高。為排除這一干擾,對圖像進行腐蝕,腐蝕后的字符圖像如圖10(b)所示。對比后可發(fā)現(xiàn),紗線基本被腐蝕掉,同時字符信息被保留,結(jié)構(gòu)清晰。
圖10 腐蝕前后的分割字符Fig.10 Split character before(a) and after(b) corrosion
細紗生產(chǎn)過程中出現(xiàn)斷紗的情況,當斷紗位置發(fā)生在標識前時,標識前不存在紗線;當斷紗位置發(fā)生在其他位置時,標識前存在紗線。這2種情況都不會影響標識的錠位分割及字符的分割識別。
相機移動過程中采集錠位圖像,圖像中可能出現(xiàn)不止一個標識圖像(見圖1(c)),當一個標識完全出現(xiàn)時,上一個標識還沒有完全消失在相機中,這樣才能保證相機采集到的圖像中每一幅都包含標識圖。當圖像中出現(xiàn)2個標識時,不完整的標識圖會對標識分割及識別產(chǎn)生干擾,分割出的字符如圖11所示。
圖11 多標識字符分割圖
Fig.11 Character segmentation graph with multiple marks
針對這種情況,對錠位二值圖像的各個連通域進行標記并計算面積,只保留最大連通域,如圖12所示。通過保留最大連通域的方式,可有效地排除其他標識的影響,準確提取標識,錠位識別準確率也大大提高。
圖12 保留單一標識Fig.12 One single mark
基于卷積神經(jīng)網(wǎng)絡(luò),提出一種細紗斷紗定位系統(tǒng)。對細紗錠位粘貼標識,通過巡回的工業(yè)相機采集紡紗段圖像,對斷紗圖像進行錠位標識分割、標識字符分割,對卷積神經(jīng)網(wǎng)絡(luò)進行訓練并用于標識字符識別,最終將識別出的斷紗錠位號輸出。從網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)設(shè)置和迭代次數(shù)2個方面研究了對神經(jīng)網(wǎng)絡(luò)識別準確率及運行時間的影響,實驗網(wǎng)絡(luò)由2個卷積層、2個亞采樣層和1個全連接層構(gòu)成,迭代次數(shù)為300,網(wǎng)絡(luò)識別準確率達到了97%。但是本文設(shè)計的系統(tǒng)也存在一些不足:標識字符由數(shù)字組成,字母與數(shù)字的組合可擴大適用范圍;工業(yè)相機巡回速度較慢,后期有待提高小車的巡回速度;僅對卷積神經(jīng)網(wǎng)絡(luò)的傳統(tǒng)算法進行研究,采用了均值池化算法,其他池化算法還有待研究。
參考文獻:
[1] 宋曉亮, 劉建立, 徐陽, 等. 光電式環(huán)錠斷紗在線檢測系統(tǒng)[J]. 紡織學報, 2014, 35(8): 98-103.
SONG Xiaoliang, LIU Jianli, XU Yang, et al.On-line detecting system based on optoelectronic technology for ring spun-yarn breakage[J]. Journal of Textile Research, 2014, 35(8): 98-103.
[2] 李強, 楊藝, 劉基宏, 等. 賽絡(luò)紡粗紗斷紗在線檢測[J]. 紡織學報, 2016, 37(10): 120-124.
LI Qiang, YANG Yi, LIU Jihong, et al. Online detection of roving strand broken in siro-spinning[J]. Journal of Textile Research, 2016, 37(10): 120-124.
[3] 賈世杰, 楊東坡, 劉金環(huán). 基于卷積神經(jīng)網(wǎng)絡(luò)的商品圖像精細分類[J]. 山東科技大學學報(自然科學版), 2014, 33(6): 91-96.
JIA Shijie, YANG Dongpo, LIU Jinhuan. Product image fine-grained classification based on convolutional neural network[J]. Journal of Shandong University of Science and Technology(Natural Science Edition), 2014, 33(6): 91-96.
[4] 謝永祥, 董蘭芳. 復雜背景下基于HSV空間和模板匹配的車牌識別方法研究[J]. 圖學學報, 2014, 35(4): 585-589.
XIE Yongxiang, DONG Lanfang. License plate recognition in complex background base on HSV space and template matching[J]. Journal of Graphics, 2014, 35(4): 585-589.
[5] 陳明華. 印刷體數(shù)字識別算法研究[D]. 武漢:華中科技大學, 2012: 1-10.
CHEN Minghua. The study of printed numeral recognition[D]. Wuhan:Huazhong University of Science and Technology, 2012: 1-10.
[6] 丁偉. 改進神經(jīng)網(wǎng)絡(luò)算法在車牌識別中的應(yīng)用[J]. 計算機仿真, 2011, 28(8): 359-362,366.
DING Wei. Application of license plate recognition based on improved neural network[J]. Computer Simulation, 2011, 28(8): 359-362,366.
[7] 趙志宏, 楊紹普, 馬增強. 基于卷積神經(jīng)網(wǎng)絡(luò) LeNet-5的車牌字符識別研究[J]. 系統(tǒng)仿真學報, 2010, 22(3): 638-641.
ZHAO Zhihong, YANG Shaopu, MA Zengqiang. License plate character recognition based on convolutional neural network LeNet-5[J]. Journal of System Simulation, 2010, 22(3): 638-641.
[8] 王璐. 基于MatLab的車牌識別系統(tǒng)研究[D]. 上海:上海交通大學, 2009: 1-10.
WANG Lu. Research of plate license recognization system based on MatLab[D]. Shanghai:Shanghai Jiao Tong University, 2009: 1-10.
[9] 金立生, 王榮本, 儲江偉, 等. 視覺導航自動車輛用BP神經(jīng)網(wǎng)絡(luò)數(shù)字識別方法的研究[J]. 計算機工程與應(yīng)用, 2004(14): 18-21.
JIN Lisheng, WANG Rongben, CHU Jiangwei, et al. Study on numerical recognition method of vision navigate AGV based on BP neural network[J]. Computer Engineering and Applications, 2004(14): 18-21.
[10] 杜選, 高明峰. 人工神經(jīng)網(wǎng)絡(luò)在數(shù)字識別中的應(yīng)用[J]. 計算機系統(tǒng)應(yīng)用, 2007(2): 21-22,27.
DU Xuan, GAO Mingfeng. The application of identifying numbers on artificial neural network[J]. Computer Systems Applications, 2007(2): 21-22,27.
[11] 雙小川, 張克. 基于統(tǒng)計和結(jié)構(gòu)特征的手寫數(shù)字識別研究[J]. 計算機工程與設(shè)計, 2012, 33(4): 1533-1537.
SHUANG Xiaochuan, ZHANG Ke. Research of handwritten numeral recognition based on statistical and structure characteristics[J]. Computer Engineering and Design,2012, 33(4): 1533-1537.