摘要:介紹了基于機(jī)器視覺的坯布疵點(diǎn)實(shí)時檢測系統(tǒng)軟件部分各主要環(huán)節(jié)的具體實(shí)現(xiàn)。該系統(tǒng)運(yùn)用修正的自適應(yīng)鄰域平均法增強(qiáng)坯布疵點(diǎn)圖像的質(zhì)量,用自動閾值法將疵點(diǎn)從背景中分割出來,并利用去除雜點(diǎn)法對分割后的二值圖像進(jìn)行濾波。以提取出的周長、面積、不變矩等為特征,運(yùn)用BP神經(jīng)網(wǎng)絡(luò)分類器對常見的九種疵點(diǎn)進(jìn)行了分類,識別正確率達(dá)到了95.7%。
關(guān)鍵詞:坯布疵點(diǎn);圖像處理;特征提取;識別
中圖分類號:TP391.41文獻(xiàn)標(biāo)志碼:A
文章編號:1001-3695(2007)05-0190-02
織物疵點(diǎn)是影響紡織品質(zhì)量的重要因素。常見的織物疵點(diǎn)不僅包括后織過程中的松經(jīng)、浪紋、百腳、緯縮、破洞、爛邊等,還包括紡織原材料中攜帶的雜質(zhì)(如毛發(fā)、尼龍草)等。目前對于織物疵點(diǎn)的檢測大多依靠人工目測的方法來完成,不但存在勞動強(qiáng)度大、效率低等缺點(diǎn),還會對驗布工人的視覺造成嚴(yán)重的傷害。因此本文提出了一種基于機(jī)器視覺的坯布疵點(diǎn)實(shí)時檢測方法,即通過計算機(jī)視覺、圖像處理與模式識別技術(shù)相結(jié)合[1],對常見的坯布疵點(diǎn)進(jìn)行實(shí)時檢測與分類識別。
1總體設(shè)計
該檢測系統(tǒng)軟件利用Visual C++ 6.0可視化語言面向?qū)ο缶幊痰奶攸c(diǎn),結(jié)合OK_C30S圖像卡提供的API函數(shù),編寫了基于MFC框架的Windows應(yīng)用軟件[2],總體框圖如圖1所示。
具體工作流程如下:首先用系統(tǒng)的硬件裝置完成疵點(diǎn)圖像的獲取,統(tǒng)計灰度值快速判斷該圖像是否有疵點(diǎn)存在。若有疵點(diǎn),則調(diào)用后續(xù)處理軟件對其進(jìn)行處理。其中,圖像處理和分析完成了對圖像的濾波、目標(biāo)分割和二值化;特征選擇和提取環(huán)節(jié)提取出二值化圖像的面積、周長、復(fù)雜度、不變矩等16個形態(tài)學(xué)特征,并將16維特征向量壓縮到7維。分類識別環(huán)節(jié)是運(yùn)用神經(jīng)網(wǎng)絡(luò)分類器對九類疵點(diǎn)進(jìn)行識別,并最終給出檢測結(jié)果和防治措施。
2圖像增強(qiáng)
在疵點(diǎn)圖像獲取的過程中,要經(jīng)過攝像頭的捕獲和圖像采集卡的采集等中間過程。在這個過程中,存在機(jī)械振動、光照不均勻等各種各樣的噪聲,因此必須對圖像進(jìn)行增強(qiáng)(濾波)處理。本系統(tǒng)采用一種修正的自適應(yīng)鄰域平均法[3],算法如下:
3圖像分割與濾波
圖像分割是把坯布疵點(diǎn)從背景中分割開來,形成二值化圖像,以利于后續(xù)的特征提取與識別,分割的精確程度至關(guān)重要。這里選用了自適應(yīng)能力較強(qiáng)的迭代閾值法[4],它能夠應(yīng)對各種意外的情況,而且對本系統(tǒng)來說分割效果也很好。具體求解過程如下:
疵點(diǎn)圖像經(jīng)二值化分割后,其背景圖像可能含有一些孤立點(diǎn)噪聲。本系統(tǒng)采用的是去除雜點(diǎn)的方法來進(jìn)行去噪聲處理的,具體算法是:掃描整幅圖像,當(dāng)發(fā)現(xiàn)一個白點(diǎn)時,就考慮和該白點(diǎn)間接或直接相連的白點(diǎn)的個數(shù)有多少,如果大于一定的值,就說明該點(diǎn)不是離散點(diǎn),否則就是離散點(diǎn),需將其去掉。后經(jīng)迭代閾值法對圖像進(jìn)行處理并去除雜點(diǎn)后,圖2(b)的處理效果如圖3(b)所示,實(shí)驗證明該方法編程簡單,處理效果較好。
4特征提取和分類
充分利用疵點(diǎn)本身所具有的形態(tài)學(xué)特征,提取了面積、周長、復(fù)雜度、偏心率和不變矩等16個特征,形成原始特征空間;利用特征選擇的方法對原始特征空間進(jìn)行壓縮,提取出了適合本系統(tǒng)的七個有效特征[5]。本系統(tǒng)以九類疵點(diǎn)的學(xué)習(xí)樣本集設(shè)計三層BP網(wǎng)絡(luò),用來識別九類疵點(diǎn)。用基于對九類疵點(diǎn)原始特征空間的處理而形成的低維特征作為輸入。在輸出層,則需要有九個神經(jīng)元。選擇log-sigmoid函數(shù)作為節(jié)點(diǎn)傳遞函數(shù)。目前,在網(wǎng)絡(luò)的隱含層節(jié)點(diǎn)數(shù)選擇中,大多還是依靠經(jīng)驗和猜測;通過借鑒以前的設(shè)計經(jīng)驗,此處隱層設(shè)定為15個神經(jīng)元,其網(wǎng)絡(luò)為Net(7×15×9)。
建立網(wǎng)絡(luò)后,訓(xùn)練網(wǎng)絡(luò)。為了使產(chǎn)生的網(wǎng)絡(luò)對輸入向量有一定的容錯能力,先用理想的輸入信號對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,直到其平方和誤差足夠小;使用理想信號和帶有噪聲的信號對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。網(wǎng)絡(luò)學(xué)習(xí)的速率和沖量參數(shù)設(shè)置為自適應(yīng)改變,使用快速BP算法對前向網(wǎng)絡(luò)進(jìn)行快速訓(xùn)練[6]。網(wǎng)絡(luò)的訓(xùn)練過程誤差變化情況如圖4所示。訓(xùn)練完成后,用現(xiàn)場采集的200多幅坯布疵點(diǎn)樣本圖像進(jìn)行分類,正確識別率達(dá)到了95.7%。表1為其中九個疵點(diǎn)圖像的識別結(jié)果。為了清楚起見,測試樣本i(i=1,2,…,9)是從相應(yīng)的第i(i=1,2,…,9)類疵點(diǎn)的眾多樣本中隨機(jī)抽取的樣本。
5結(jié)束語
該系統(tǒng)能夠?qū)崟r給出疵點(diǎn)的種類、密度等信息,可為企業(yè)管理決策和坯布疵點(diǎn)防治提供準(zhǔn)確及時的質(zhì)量信息,有利于降低勞動強(qiáng)度,提高產(chǎn)品質(zhì)量,促進(jìn)紡織企業(yè)生產(chǎn)效率的提高。
參考文獻(xiàn):
[1]KUDO M, SKLANSKY J.Comparison of algorithms that select features for pattern Classification[J].Pattern Recognition,2000, 33(1):25-41.
[2]石祥生,翟炯,石秋云.Visual C++ 6 使用指南[M]. 北京:電子工業(yè)出版社,1999.
[3]章毓晉.圖像工程(上冊)——圖像處理和分析[M].北京: 清華大學(xué)出版社,2000.
[4]何斌,馬天予,王運(yùn)堅,等.Visual C++數(shù)字圖像處理[M].第2版. 北京:人民郵電出版社,2002.
[5]邱道尹,張紅濤,陳鐵軍,等. 模糊識別技術(shù)在儲糧害蟲檢測中的應(yīng)用[J]. 農(nóng)業(yè)系統(tǒng)科學(xué)與綜合研究,2002,18(2): 122-125.
[6]劉光中, 李曉峰. 人工神經(jīng)網(wǎng)絡(luò)BP算法的改進(jìn)和結(jié)構(gòu)的自調(diào)整[J].運(yùn)籌學(xué)學(xué)報,2001,5(1):82-88.
注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”