国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于多尺度下LBP和PSO的織物瑕疵檢測方法研究

2019-03-05 02:59陳建英
關(guān)鍵詞:疵點分塊瑕疵

李 濤,陳建英,劉 莉

(西南民族大學計算機科學與技術(shù)學院,四川 成都 610041)

1 引言

織物疵點檢測在紡織品生產(chǎn)中占有重要地位,減少布匹疵點、提高質(zhì)量是紡織企業(yè)生產(chǎn)和管理中不容忽視的問題.盡管對織物疵點自動檢測的研究已有大量有價值的文獻,新方法不斷涌現(xiàn),對織物疵點的自動檢測仍吸引著國內(nèi)外學者的關(guān)注和研究.

受織物疵點圖像采集過程中各種噪聲的影響、不同織物的紋理各不相同及瑕疵本身所具有的多樣性和復雜性,以及疵點的不規(guī)則性、出現(xiàn)的隨機性或奇異性等特點,疵點形狀和大小不可預(yù)測而難以建立疵點模型.疵點自動檢測技術(shù)的核心內(nèi)容是對采集的織物圖像進行處理,已有的檢測方法眾多[1-6].

織物紋理屬于一種結(jié)構(gòu)性紋理,具有穩(wěn)定性、局部性和鄰域相關(guān)性等特征,紋理的描述通常有結(jié)構(gòu)法、統(tǒng)計法和頻譜法三種.LBP(Local Binary Pattern)可以有效地描述圖像的紋理,兼顧了紋理的結(jié)構(gòu)特征和統(tǒng)計特征,具有光照不變性和旋轉(zhuǎn)不變性的特點,被廣泛應(yīng)用于人臉識別、掌紋特征提取、場景分類、超聲圖像處理、目標跟蹤等領(lǐng)域[7-12].LBP區(qū)別于一般基于統(tǒng)計紋理描述子的是它考慮了像素與其鄰域之間的關(guān)系.而紋理又是一種與尺度有關(guān)的圖像特征,同一紋理在不同的尺度下有不同的表現(xiàn).多尺度分析這種對圖像進行分析的方法類似于人類的視覺系統(tǒng),緣于在不同尺度下,圖像會表現(xiàn)出具有與尺度相關(guān)的一些特性,即通過多尺度分析,可得到不同尺度下的全局和局部的信息.此外,在一些實時處理場合,多尺度分析還具有計算效率上的優(yōu)勢.正因為如此,對圖像進行多尺度處理方式在數(shù)字圖像處理、分析領(lǐng)域獲得成功應(yīng)用[13-16].

Eberhart和Kennedy于1995年基于對鳥群、魚群的模擬提出的微粒群優(yōu)化算法PSO(Particle Swarm Optimization)具有精度高、收斂快的特點,本文擬采用在不同多尺度下用LBP分析技術(shù)提取織物紋理特征,在此基礎(chǔ)上將圖像分塊后用PSO對疵點搜索進行檢測.

2 LBP算法原理

局部二進制模式(Local Binary Pattern,LBP)[17-19]可以有效地描述圖像的紋理特征,LBP可以用于提取紋理特征,將特征組織在一起構(gòu)成特征向量,能夠表示圖像的局部特征,有很好的灰度不變性和旋轉(zhuǎn)不變性,該模式是以一個鄰域為待處理對象,將鄰域中心像素的灰度與其相鄰像素的灰度進行差分運算,若結(jié)果為正,則將該相鄰像素置為1,否則置為0,由此得到一個二進制序列,以左上角為起點,按順時針方向讀出八個像素位置的值,為每一位二進制分配一個權(quán)重因子2i后,得到一個對應(yīng)的十進制數(shù)值,以此值作為中心像素點的輸出.

以3×3的8鄰域為例說明基本LBP算法,如圖1所示:

圖1 基本LBP算法Fig.1 Basic LBP algorithm

式(2-1)為其數(shù)學描述:

式中,gc是鄰域中心點的灰度值,gi是與中心點相鄰像素的灰度值,P為該鄰域中像素總數(shù),R是鄰域的半徑值.上圖中P=8,R=3.但當紋理發(fā)生旋轉(zhuǎn)時,由式(2-1)可以得到不同的 LBPP,R,如11011111與11111011,顯然,這兩個值也可由另一個LBP循環(huán)移位得到,此時,這兩個值對局部空間結(jié)構(gòu)的描述視為一致.因此,為消除旋轉(zhuǎn)所帶來的影響,引入(2-2)式:

上式中的ROR(x,i)表示將二進制序列x向右循環(huán)移位i次,(2-2)式表示標準LBP算子循環(huán)移位(P-1)次后,其中的最小值作為L算子.

式中u(LBPP,R)表示LBP算子中0-1或1-0的跳變次數(shù),當二進制位串包含的1到0或0到1的跳變次數(shù)不大于2的情況稱為統(tǒng)一LBP或均勻LBP(Uniform LBP,ULBP),否則為非統(tǒng)一模式或非均勻模式.

3 PSO算法

PSO(Particle Swarm Optimization,微粒群算法)是一種仿生演化計算技術(shù),它源于對鳥群覓食,可實現(xiàn)高效并行、隨機、自適應(yīng)群體搜索,用來求全局最優(yōu)解該算法擁有參數(shù)少、收斂速度快、易實現(xiàn)的優(yōu)點,而受到學者們的關(guān)注及應(yīng)用.

微粒通過跟蹤粒子來尋找最好解,即算法通過pbest(局部極值)和gbest(全局極值,種群的最好解)兩個量來更新微粒的當前值,微粒i是一個D維向量,該向量包含兩個方面的信息:位置信息和速度信息,其中位置信息用 Xi表示,或?qū)懗?Xi=(xi1,xi2,…,xiD)T,速度信息用 Vi表示,可表示為 Vi= (vi1,vi2,…,viD)T,這兩個量的更新方程為:

式中rand1和rand2是兩個在[0,1]范圍內(nèi)變化的隨機函數(shù),另有3個權(quán)重因子,w為慣性權(quán)重系數(shù),c1和c2為加速因子.從方程(3-2)可以知道,PSO算法的性能與其參數(shù)相關(guān),加速因子c1用于調(diào)節(jié)微粒飛向全局最好的最大步長,加速因子c2則是調(diào)節(jié)個體最好的最大步長,這兩個加速因子的取值會影響微粒與目標區(qū)的距離,如果太小,微??赡苓h離目標區(qū);太大,微??赡苤苯语w過或沖向目標區(qū)[20].因此,讓算法加快收斂又不易陷入局部最優(yōu)需要選用合適的c1,c2.本文取c1=c2=2[21].而慣性權(quán)重w,該值越大,全局搜索能力越強;越小,則局部搜索能力越強.通常,在搜索過程中,w的取值會不同,在初期,取值較大,后期則取值較小.因而有不少文獻對參數(shù)進行改進,本文采用文獻[22]對權(quán)重的優(yōu)化方法:

其中wmax是最大慣性權(quán)重的初始化值,wmin對應(yīng)最小慣性權(quán)重的初始化,λ為控制慣性權(quán)重變化的參數(shù),本文取值為3,t為當前的迭代次數(shù),tmax為最大迭代次數(shù).因而,PSO算法流程表述如下:STEP 1,隨機初始化微粒,包括位置信息、速度信息、群體規(guī)模和微粒的維數(shù);STEP 2,對每個微粒的適應(yīng)度進行評價;STEP 3,對每個微粒經(jīng)歷過的最好的位置pbest與其適應(yīng)值進行比較,如果優(yōu)于當前值,則進行替換,將之作為當前最好位置;STEP 4,再將每個微粒所經(jīng)歷的全局最好位置gbest與其適應(yīng)值作比較,如果也是優(yōu)于當前值,則對gbest的索引號重新設(shè)置;STEP 5,根據(jù)方程(3-1)和(3-2)對微粒的速度和位置進行調(diào)整,檢查是否符合結(jié)束條件,是,則停止迭代,如果沒有,再返回到STEP 2.

4 本文提出的檢測算法

計算分塊圖像間的相似度,通過計算分塊圖像LBP直方圖間的距離得到,而用于表示直方圖距離的方法有歐幾里德距離、中心距法、閔可夫斯基距離法等,本文采用K-S(Kolmogorov-Smirmov)距離[23],即:

其中 H1i和 H2i分別表示子圖像中各分塊的值,N 為的個數(shù),Dks值越大則疵點的可能性越大,反之,可能性小.但是也不能排除疵點范圍大,相鄰兩個塊同屬疵點區(qū)域的中能,這樣Dks值反而小,而多尺度下的分塊可以減少這種可能,即在不同分辨率下逐級排除疵點.

在多尺度、多分辨率分析方面,小波變換和Gabor變換,因這兩種方法的處理過程與人眼視覺過程近似,可用于檢測不同尺度的疵點,但它們的高復雜度、大計算量的特點,對于實時性要求較高的大規(guī)模生產(chǎn)下對疵點檢測就不太適用了,本文采用Goutsias和Heijmans[24]提出的擴展金字塔變換,這種金字塔變換保留了傳統(tǒng)金字塔變換的多分辨率分析特性,對信號空間的要求可以是非線性空間,同時,對信號進行分解的濾波器可以是非線性的.

4.1 算法模型

對輸入圖像建立坐標系,水平向右為x軸正向,垂直向下為y軸正向,左上角頂點為坐標原點,一幅M×N個像素的圖像,其左上角的像素定為第(1,1)個像素,右下角的像素定為第(M,N)個像素,而PSO中的微粒位置與像素點的坐標相對應(yīng),因而微粒維數(shù)D為2.對于第i個微粒在迭代時,其位置為=(,),其中k表示第k迭代,表示像素點與x軸的距離,表示像素點與y軸的距離.微粒的運動范圍

4.2 擴展金字塔變換

假設(shè)Vj(j∈Ζ)表示j層的信號空間,定義分解算子和合成算子如下:

分解算子將信號從低層變換到高一層,向上逐層減少信號信息,合成算子對信號的處理則是由高到低的進行映射,是分解算子的逆算子,金字塔變換在這兩個算子滿足下式的情況下即可實現(xiàn).

上式表示:對于任意信號xj+1∈Vj+1,先用合成算子對它向下一層合成,然后再用分解算子向上一層分解,得到的信號與xj+1恒等.但是先分解后合成的結(jié)果是原始信號的近似,即

4.3 算法描述

本文提出的基于PSO和LBP的疵點檢測算法描述如下:

Step1:將輸入圖像進行擴展金字塔變換,得到多個不同分辨率的子圖像;

Step2:對每個子圖像分塊并計算其ULBP值,獲取對應(yīng)的直方圖并進行排序;

Step3:對每個子圖像,初始化PSO算法中的各參數(shù),使用式(4-1)計算微粒的適應(yīng)度值進而評價微粒,對微粒進行更新、迭代.

Step4:如果迭代次數(shù)到達設(shè)定閾值或搜索到全局最優(yōu)位置則停止迭代,輸出結(jié)果.

在對微粒進行初始化時,需要設(shè)置微粒的數(shù)量、維度、最小和最大的飛行速度及3個權(quán)重值,而對于各微粒的初始位置和速度則隨機生成,初始位置確定當前微粒所在的分塊區(qū)域,由Dks計算微粒的適應(yīng)度值.

5 實驗結(jié)果

本文提出的算法的測試平臺為Pentium4、2.66 GHz、512MB內(nèi)存.實驗在MATLAB7.1上實現(xiàn),進行了9組實驗,圖2、3為其中的兩組實驗,每組實驗圖像大小不一,采用先將原始圖像樣本劃分成16×16的子圖像塊后,再分別含有瑕疵的子圖像塊和不含瑕疵的圖像塊進行測試.實驗結(jié)果表明正常樣本的準確率為99.56%,對有瑕疵的樣本檢測準確率為96.37%.

如圖2、3中所示(a)原圖分別為(1140×1140)和(512×512),圖2(a)的正常子圖像塊樣本有4916個,含瑕疵的樣本塊有160個;圖3(a)的正常子圖像塊樣本有914個,含瑕疵的樣本塊有110個.其中圖(b)~(e)是不同分辨率下的ULBP紋理特征,實驗中采用三層分解,檢測結(jié)果在(a)中標記,均是在LBP直方圖的基礎(chǔ)上分塊使用PSO進行尋優(yōu)得到.在PSO尋優(yōu)過程中,對迭代進行控制的加速因子均取值2,控制慣性權(quán)重的參數(shù)取3.圖4僅給出了其他的疵點圖及其LBP紋理圖,在檢測中對于空心糙如圖2(a)和蛛網(wǎng)糙如圖3(a)及缺經(jīng)等的檢測效果比較理想,但對于圖4(a)的油漬在一層分解的情況下檢測率略低,而加入其他不同尺度下的LBP及分塊處理后能檢測出來.織物瑕疵在圖像中的表現(xiàn)差別比較大,將圖像進行分塊、分尺度處理后,算法對瑕疵區(qū)域的識別敏感性得到提高,對于本研究所述方法,實驗中對不尺度情況下的瑕疵圖進行對比,盡管有油漬織物直接在大尺度情況下檢測效果不太好,但進行分塊和其他尺度結(jié)合下能檢測出來;實驗也證實了,對于同一類瑕疵,進行旋轉(zhuǎn)和改變光照條件情況下,未使用ULBP算法及傳統(tǒng)LBP算法時的檢測識別率明顯低于采用ULBP后的檢測效果.

圖2 檢測結(jié)果1Fig.2 Detection result 1

圖3 檢測結(jié)果2Fig.3 Detection result 2

圖4 其它疵點及ULBP紋理圖Fig.4 Other defects and theirs ULBP texture

6 結(jié)論

本研究以分塊分尺度下利用ULBP算法和PSO結(jié)合的形式對瑕疵圖像進行處理,從實驗結(jié)果看到該算法可適用于多種瑕疵檢測,且克服了瑕疵圖像在生產(chǎn)中不宜大量獲取情況下進行檢測的問題.

針對帶有疵點的織物圖像在疵點區(qū)域其紋理、灰度有別于規(guī)律性的正常紡織結(jié)構(gòu),提出了一種多尺度下基于PSO和ULBP的疵點檢測算法,對圖像進行多尺度變換后,利用ULBP計算速率高且具有光照不變性和旋轉(zhuǎn)不變性的特點進行紋理特征描述,在此基礎(chǔ)上采用PSO算法對分塊的LBP直方圖進行疵點檢測,在保證速度的情況下,本文提出的算法能較好地定位瑕疵區(qū)域.

猜你喜歡
疵點分塊瑕疵
基于Cascade RCNN 和二步聚類的織物疵點檢測
鋼結(jié)構(gòu)工程分塊滑移安裝施工方法探討
關(guān)于4×4分塊矩陣的逆矩陣*
噴絲板疵點檢測系統(tǒng)設(shè)計
登記行為瑕疵與善意取得排除的解釋論
基于FPGA的圖像疵點處理設(shè)計與實現(xiàn)
哦,瑕疵
哦,瑕疵
懶交互模式下散亂不規(guī)則分塊引導的目標跟蹤*
毫無瑕疵的推理
伊金霍洛旗| 梅河口市| 盐边县| 海林市| 松溪县| 吴桥县| 隆安县| 津南区| 龙州县| 鄄城县| 什邡市| 靖边县| 昌平区| 镇江市| 车险| 尚义县| 平湖市| 南汇区| 浦江县| 新巴尔虎右旗| 霞浦县| 昌图县| 贺兰县| 天门市| 金乡县| 新巴尔虎右旗| 邯郸市| 潞西市| 龙游县| 广汉市| 盘山县| 合山市| 海兴县| 阳朔县| 芷江| 蒲江县| 彭阳县| 敖汉旗| 灯塔市| 鹿泉市| 尼勒克县|