孫小權,鄒麗英
(浙江工業大學 之江學院,浙江 紹興 312030)
隨著自動化技術的發展,在零件生產中的許多人工所做的工作也逐步被自動生產裝置所取代,自動上料是零件自動化生產的重要一環。對于小型零件而言,排序上料最常用的裝置就是振動盤。振動盤利用零件本身的外觀形狀、質心分布等特征進行分揀排序,讓零件按照設計要求的狀態沿軌道送出。而當零件的外觀形狀、質心分布無法確定零件的送出狀態時,振動盤送料就無法實現。
文獻[1]通過對圖像分割確定零件在傳送帶上的位置,控制機械手對零件進行了抓取;文獻[2]對圖像進行了孔洞分析,結合零件的結構特征從而識別不同的零件;文獻[3]通過角點檢測和模板匹配實現了零件方位識別,識別正確率在90%左右;文獻[4]利用PCA與SVM對人臉圖片進行識別,取得了較高的識別率。
本研究將針對外觀形狀、質心分布較均勻的零件在自動化生產中難以實現有方位要求的自動送料問題,對零件的圖像采集、圖像處理、圖像特征提取和分類識別等進行研究和分析,提出以圖像識別為核心的零件分揀系統。
正畸帶環如圖1所示。

圖1 零件的兩個狀態
由于生產的需要,該零件在后續加工過程中要求按狀態一的方位送到加工位置。該零件可以利用下部的圓弧缺口實現帶環中心軸與輸送方向垂直,但由于圖1零件A上下兩邊相差一個很小的凹坑,圖1零件B上下兩邊僅是圓弧角度有較小的差異,形狀差異很小,質心位置基本居中,振動盤無法將上下兩邊分出,達不到上料要求。
根據前述的圖像識別的思路,本研究在振動盤出料口安裝圖像識別裝置,控制系統根據圖像識別的結果,控制推桿將不符合方位要求的零件推出送料軌道,如此圖像識別技術與振動盤相結合,就能較好地解決正畸帶環上料方位問題。
零件分揀系統如圖2所示。

圖2 控制系統組成框圖
目前,CCD攝像機拍攝的照片像素較高,數據量較大,須經適當處理,但又要保證圖像的主要特征不能丟失。二維小波變換既能降噪,又能在保留主要特征的情況下具有較大壓縮比例。
小波變換的原理是通過構造一對正交鏡像濾波器[5],對圖像進行濾波處理,得到不同尺度不同方向的高低頻分量。對二維圖像進行小波變換是分別在水平方向與垂直方向作一維小波變換來實現一層二維小波變換,圖像通過一層二維小波變換分解可以得到4個區域:低頻區域LL、高頻區域HL、LH、HH。其中,低頻區域LL表示近似分量,為原圖的平滑像,高頻區域HL、LH、HH分別表示水平分量、垂直分量和對角分量。對于每次變換得到的低頻區域LL可以再次進行小波變換,一幅圖像作n次二維小波變換后,低頻區域圖像的尺寸為原圖像尺寸的1/4n。
小波變換分解如圖3所示。

圖3 小波變換圖
圖3中,低頻區域LL集中了圖像的大部分信息,而高頻區域則包含了大量的冗余信息和干擾,所以本研究直接對低頻區域進行特征提取。由于圖像信息相對集中,小波變換不僅能有效地降低維數,去除冗余干擾信息,還能節省空間,提高計算效率。
識別圖片經小波變換,大小已縮小至原圖像的1/4n,但是維數仍然太多,不利于后續識別計算,需要進一步進行特征提取,主成分分析法(PCA)是一種常用的基于變量協方差矩陣對信息進行處理、壓縮和提取的有效方法,由于其在降維和特征提取方面的有效性,在圖像識別領域得到了廣泛的應用。PCA算法主要利用K—L變換提取圖像的主要成分,構成特征空間,識別時將測試圖像投影到此空間,得到一組投影系數,即該測試圖像的特征向量[6]。
主成分分析(PCA)具體算法是:(1)將圖像的二維矩陣按行轉換成一維向量,把一幅大小為M×N的圖像的像素矩陣的每行連在一起構造成一個長度D=M×N的特征向量,設有n個訓練樣本,則構成D×n向量矩陣;(2)求每列均值;(3)計算每列值與均值的差,構建新的D×n向量矩陣;(4)構建協方差矩陣;(5)求協方差矩陣的特征值和特征向量,構造特征圖像空間;(6)為了減少維數,可以按照特征值的影響選取影響最大的前q個特征值及其特征向量。由此,原始的M×N維圖像經上述轉換變成q維。根據這一維數,從主成分系數矩陣和訓練樣本投影矩陣中取出相應的構成新的主成分系數矩陣和樣本投影矩陣。識別時,只需將識別樣本向主成分系數矩陣上投影就得到要提取的特征向量[7]。
根據特征向量進行分類識別的技術較多,如距離分類、聚類分析、神經網絡、支持向量機(SVM)等。支持向量機是在統計學習理論基礎上發展起來的一種新的機器學習方法,能解決小樣本、維數災難、過學習等問題。支持向量機以構造最優超平面為目標,將不可分的數據映射到高維特征空間中,在高維特征空間中正確區分各類樣本。
設有兩類線性可分的樣本集合:
(1)
它可以被一個最優分類超平面沒有錯誤地分開,并且離超平面最近的向量與超平面的距離是最大的。最優分類面函數為:
(2)
式中:xi—支持向量;ai—拉格朗日系數;b—分類閾值。
對于數據為線性不可分的情況,支持向量機的分類過程則是通過核函數K(xi,yi)定義的非線性變換將輸入空間映射到一個線性可分的高維空間,然后在高維空間進行線性分類。其相應的分類函數也變為:
支持向量機最初是針對二分類問題的,當用于多分類問題時,可以以二分類為基礎,構造多個二類分類器,求解多個分類器的分類超平面而獲得分類問題的最優解[8-9]。
使用訓練集建立支持向量機模型需要根據數據特征向量選擇合適的核函數和相關參數。徑向基函數應用較廣泛,可以適應大多數的應用場合。徑向基核函數需要設置兩個參數,分別是核函數的寬度參數g和誤差懲罰系數c。合適的參數可以通過多種方法進行尋優得到,如網格算法、遺傳算法、粒子群算法等。
本研究選取圖1所示兩個零件各一批,一半在向上方位、一半在向下方位采集圖片樣本,選取不同的樣本數作為訓練樣本,另外樣本作為測試樣本,借助Matlab程序開發平臺和臺灣大學林智仁教授等的LIBSVM模式識別與回歸的軟件包,進行小波變換、PCA降維和分類識別。
(1)小波變換。程序讀出圖片后,依次進行灰度化、三層小波變換、向量化,保存向量矩陣。零件A的三層小波變換如圖4所示。

圖4 零件A的三層小波變換
零件B的三層小波變換如圖5所示。

圖5 零件B的三層小波變換
(2)PCA特征提取。圖像經過三層小波變換,成為保留零件主要特征的圖片并保存為向量矩陣,向量矩陣經PCA變換,按90%的影響力選取p值,提取適當維數的特征向量。將變換得到的主成分系數矩陣(即變換矩陣)、樣本投影矩陣、列向量平均值保存,以供訓練和識別使用。選取B零件20個作為訓練樣本經PCA處理后主成分系數矩陣如表1所示。
訓練樣本投影矩陣如表2所示。

表2 訓練樣本投影矩陣20×10
(3)SVM訓練與識別。SVM的分類函數和懲罰因子選擇是關鍵,本例根據經驗選擇徑向基函數,核函數的寬度參數g選2,懲罰因子c選1。
訓練時,訓練樣本投影矩陣中每行為一個樣本的10維向量,與樣本的分類標簽作為支持向量機的輸入,調用LIBSVM中的svmtrain函數進行訓練,訓練結果模型保存在文件中,以供識別時調用。
識別測試時,本研究讀取待檢測樣本,進行灰度化、3層小波變換和向量化,通過訓練時得到的變換矩陣進行變換,得到檢測樣本投影矩陣,將前述訓練得到的分類模型和檢測樣本投影矩陣,以及檢測樣本的分類標簽輸作為SVM預測模塊的輸入,即可得到識別率。工程應用時,直接從攝像頭獲得圖片,進行適當裁剪后按上述程序可以得到一個圖片的識別結果,從而驅動控制裝置的動作。實驗結果如表3所示。

表3 實驗結果
本文以正畸帶環排位送料為例,通過對零件結構的分析,在振動盤出料口安置CCD采集圖像,通過小波變換算法對零件圖像進行去噪和降維,使零件圖像從40萬像素轉換成6 000多像素;通過主成分分析法從6 000多像素中提取10維向量作為零件主要特征,10維向量特征作為支持向量機的輸入,從而對零件方位進行正確地識別,根據零件的方位狀態,控制驅動裝置將不合要求的零件推出軌道,為下道工序的生產實現自動送料。
實驗結果表明:訓練樣本達到20以上時,兩種零件的識別正確率都達到了100%,單個零件的識別時間在1 s以內,能滿足實際生產要求。