(北京工商大學 計算機與信息工程學院,北京 100048)
隨著工業(yè)生產水平的不斷提高,產品外觀質量也越來越受到重視。傳統(tǒng)的人工檢測手段已經不能滿足現代工業(yè)生產的需求,利用機器視覺技術對產品外觀缺陷進行檢測是實現工業(yè)現代化的必然趨勢。由于產品外觀缺陷種類較多,采用多種圖像特征融合的方式可以取得更好的檢測效果,并且在檢測中需要對各類缺陷進行學習分類[1]。不同的圖像特征,最適合的核函數不同,同一種特征,選擇不同的核函數其分類結果也會有較大差異[2]。
多核學習(MKL)針對單核學習的劣勢,提出將多個不同的核函數進行組合獲得一個組合核函數,采用該組合核函數作為線性不可分問題的核函數進行學習分類,這樣可以有效地提高分類精度。近幾年來,國內外也有不少學者針對MKL進行了相關的研究與改進,典型的有:Duan等學者進一步改進了多核學習的交叉驗證方法[3];Wang等學者結合典型相關分析獲取核映射空間的共有信息,提高了模型的分類精度[4];Gonen等人針對多核學習在整個輸入空間中對某個核都分配相同權重的問題,利用一種選通模型局部地選擇合適的核函數,提出一種局部多核學習方法[5-6]。張凱軍等人將稀疏MKL算法與Multi-MHKS算法進一步改進,提出一種改進的顯性多核支持向量機(IDMK-SVM),該方法既考慮到如何充分利用已經選用的核函數中的共有信息,同時還考慮到核函數的篩選問題,提高了分類精確性[7];李琦等人針對核函數選擇對最小二乘支持向量機回歸模型泛化性的影響,提出一種新的基于lp-范數約束的最小二乘支持向量機多核學習方法[8-9]。
針對多核學習方法中各個核函數的權重求解問題,筆者提出一種基于模糊松弛約束的求解方法。首先提取圖像的幾種不同的特征,對不同的特征選擇合適的核函數,劃分每個核函數的模糊權重,每個權重包括上下的松弛邊界,求解各個權重獲得組合核函數,然后使用SVM對各類外觀缺陷分類。最后將所提出的方法應用于實際的生產流水線。結果表明,所提出的方法可以滿足外觀檢測對于實時性以及檢測精度的要求??傮w工作流程如圖1所示。
圖1 總體工作流程
在建立多核學習模型以后,如何確定每個核函數的權重直接關系到最終的缺陷分類結果。根據不同的圖像特征對不同的檢測評價指標的影響程度,以及外觀的不同表面對檢測精度的不同需求,劃定每個基核權重的松弛邊界,求解得到組合核函數的多核學習模型,并根據該模型進行學習分類,從而最終將檢測到的模型進行正確分類。具體過程如下。
(1) 建立式(1)所示的初始多核學習模型。
(2) 建立模糊約束條件模型:
(1)
式中,A為每幅圖像包含的圖像單元個數;γi為第i個特征對融合特征性能的影響程度。劃定核函數松弛權重范圍如式(2)所示,其中權重滿足0≤ρ≤1且ρ1+ρ2+ρ3+…+ρm=1。
(2)
根據不同檢測面的不同需求,選擇權重松弛邊的上邊界或下邊界:對于正面來說,檢測精度最為重要,確定上下邊界的時候要著重考慮提高精度;對于底面或背面來說,精度要求可以適當減低,確定上下邊界的時候需要著重考慮節(jié)約時間;對于頂面或側面來說,則需要中和兩者考慮。松弛邊界劃定流程如圖2所示。
圖2 松弛邊界劃定流程
(3) 在劃分模糊松弛邊界的時候,考慮圖像特征對檢測評價指標的“影響程度越大,權重越高”這一模糊行為,將其量化[10]。調整第i個特征的影響因子為ωγi,其中ωγi∈(0,γi],稱其為“虛擬”影響程度。該特征對需求的影響越大,ωγi越大,用ωγi代替模型中的γi,可以滿足影響越大,分配的權重越大的條件。選取ωγi=γi[1-μk(γi)],其中k為參數,反映了對約束條件的重視程度,重視程度越高,k越小。
選取ωγi的理由如下:
①ωγi滿足0<ωγi<γi;
②ωγi是連續(xù)遞減函數,對于“影響程度大”的隸屬度越大(γi越大),相對應的ωγi則越小,并且為原γi的整數倍;
③ 該參數的選擇使得計算更加有利。
(4) 建立“影響較大”的隸屬度函數。
γ={γi|i=1,2,…,n},Y={γi|γi大,γi∈γ},把Y看作是γ上的一個模糊子集,定義隸屬度μ:Y→[0,1]為
(3)
其中:
(4)
該隸屬度函數確定的理由如下:
① 該隸屬度函數μ的定義域為[0,+∞),值域為[0,1],與實際情況相符合。
② 該隸屬度函數為連續(xù)遞增函數,與“影響程度越大”,其隸屬度越大的事實相符合。
③ 該隸屬度函數μ的導函數μ′為
(5)
該導函數為連續(xù)遞減函數。
求解模型,得到各項參數,獲得每個基核的權重?;谀:沙诩s束多核學習流程圖如圖3所示。
圖3 模糊松弛約束多核學習流程
設模型的非基變量指標集合為R,基變量指標集合為S,令任意有序指標m∈R1,其中ρm=0;令任意有序指標m∈R2,其中ρm∈(ωm3,ωm4)。R1和R2分別被稱為第一類非基變量指標集合以及第二類非基變量指標集合,并滿足R=R1∪R2且R1∩R2=?。
把上述ρm代入模型中,得到一個基解{ρm},其中m∈S,這個基解如果滿足約束條件,則稱其為基可行解。記λm=Um-Lm,其中Um是模型的一個基解,若滿足:
(6)
則基解{ρm}被稱為模型的正則解。若一個基解既是模型的正則解,也是模型的可行解,則該基解被稱為模型的最優(yōu)解。某一特征與權重對應的回路的頂點若增加一個調整量,則稱該頂點為接納元素;若減少一個調整量,則稱該頂點為釋放元素。接下來執(zhí)行下述迭代過程。
(1) 令R1=R2=?,{ρm}為一個正則解,若其滿足模型約束條件,且m∈S,則該解即為最優(yōu)解,轉入步驟(7)。
(2) 若某一ρpm>ωm4,則轉入步驟(3);若某一ρpm<0,則轉入步驟(5)。
(3) 取R1中某一元素使對應的ρqm滿足以下條件:
① 存在一條回路,該回路除去ρqm以外全部是基變量;
② (p,m)是釋放元素,(q,m)是接納元素。
轉入步驟(4)。
(4) 釋放元素減去Q,其中Q=ρpm-ωm4,余下元素依次交叉+Q和-Q,ρpm變成第二類非基變量,ρqm變成基變量,從而得到一組新的基解并返回步驟(1)。
(5) 取R2中某一元素使對應的ρqm滿足以下條件:
① 存在一條回路,該回路除去ρqn以外全部是基變量;
② (p,m)是接納元素,(q,m)是釋放元素。
轉入步驟(6)。
(6) 釋放元素減去Q,其中Q=-ρpm,余下元素依次交叉-Q和+Q,ρpm變成第一類非基變量,ρqm變成基變量,從而得到一組新的基解并返回步驟(1)。
(7) 得到最優(yōu)解。
模型求解的算法流程如圖4所示。
圖4 模糊松弛模型求解流程
在青島海爾集團滾筒洗衣機生產流水線上進行實驗,實驗數據為實時采集的洗衣機機身照片,各個角度的圖像共5200張。部分產品外觀圖像如圖5所示。
圖5 部分產品外觀圖像
通過對生產車間現場的深入調研和跟蹤,再結合工業(yè)產品工藝特征的不同,總結出常見的外觀缺陷主要包括五大類[11-12],分別是機身劃傷、表面凹凸坑、拼裝縫隙過大、商標錯誤、色差這幾大類型[13]。每一類還包含不同的表現形式,如圖6所示。
圖6 不同種類缺陷實例
本文的研究共提取3種圖像特征,分別為SIFT特征、多尺度等價模式LBP特征和HSV顏色特征。對應的核函數分別為高斯核函數、Sigmoid核函數、線性核函數。采用3種核函數建立缺陷分類模型。通過反復交叉驗證,確定3種核函數的最優(yōu)參數如表1所示。
表1 3種核函數最優(yōu)參數選擇
采用基于模糊松弛約束的多核學習方法進行缺陷分類試驗,選取5類缺陷共計200個樣本進行實驗,從樣本集中抽取100個作為訓練集,其他的作為測試集,步驟如下:
① 對樣本圖像進行預處理;
② 提取樣本圖像的圖像特征;
③ 選取核函數,采用模糊松弛約束的求解方法,得到組合核函數;
④ 進行分類實驗,得到結果。
采用多核學習方法,針對多特征融合以后,單一核函數不能滿足分類需求,為了對比單核系統(tǒng)與多核系統(tǒng)性能上的差異,采用對照實驗法,分別單獨采用3種核函數建立分類模型對缺陷分類,再采用組合核函數對缺陷分類。分類結果如表2所示,其中百分數表示分類精確度。
表2 單核學習方式與多核學習方式實驗對比
其中,4種分類方式仿真圖像如圖7~圖10所示,其中圖中的“+”、“*”、“?”和“□”均表示測試數據,“?”表示被分類到1中的測試數據,“□”表示被分類到2中的測試數據,支持向量被“○”圈出。
圖7 線性核函數
圖8 Sigmoid核函數
圖9 高斯核函數
圖10 組合核函數
根據表1中的確定參數,確定組合核函數。經過反復交叉驗證,該組合函數得到的分類曲線沒有過擬合現象,分類效果較好。
在系統(tǒng)運行時間段內,誤檢率可以控制在10%左右,為了能夠得到更加真實客觀的測試數據,采用隨機抽樣法。統(tǒng)計某一時段內,連續(xù)檢測500臺洗衣機的各類缺陷的漏檢率與誤檢率統(tǒng)計,如表3所示。表中檢測的缺陷種類包括五大類,每一大類中還有若干小類,同時,還給出了出現次品以后的差異原因、處理方式以及解決方案。
引入松弛邊界是為了能夠解決大尺寸工業(yè)產品不同表面需要采用不同的檢測標準的問題,即根據所需要的標準,選擇松弛邊界的上邊界或是下邊界。為了驗證加入松弛邊界后系統(tǒng)性能的優(yōu)越性,實驗對比了模糊松弛約束求取核函數權重與模糊約束求取權重后的實測結果,結果表明,模糊松弛約束的性能要優(yōu)于模糊約束。
表3 檢測結果統(tǒng)計
本文提出了一種基于模糊松弛約束的多核學習缺陷分類方法。首先提取圖像特征,針對每種特征選擇適合的核函數,然后給每個特征劃定一個模糊邊界,根據一件產品不同表面的不同檢測需求的特點,為模糊邊界劃定上下松弛邊界以提高系統(tǒng)性能,最后求解模型得到分類結果。實驗對比了單核系統(tǒng)與多核系統(tǒng)的分類精度,以及有無松弛約束的檢測性能,實驗結果表明,多核系統(tǒng)的分類精度要高于單核系統(tǒng),當系統(tǒng)中加入松弛約束時可以提高對產品外觀缺陷的檢測精度并且滿足外觀缺陷的實時檢測。