高 健,夏利霞
(1.湖北工業(yè)大學(xué) 機(jī)械工程學(xué)院,武漢 430068;2.湖北省機(jī)電研究設(shè)計(jì)院,武漢 430068)
近年來,圖像處理技術(shù)被廣泛應(yīng)用于工業(yè)生產(chǎn),以提高生產(chǎn)效率和產(chǎn)品質(zhì)量。就汽車保險(xiǎn)杠生產(chǎn)來說,汽車保險(xiǎn)杠型號(hào)識(shí)別是實(shí)現(xiàn)保險(xiǎn)杠生產(chǎn)全自動(dòng)化的關(guān)鍵技術(shù)。
目前,汽車保險(xiǎn)杠識(shí)別的研究也愈發(fā)深入,何新龍等[1]根據(jù)常用汽車保險(xiǎn)杠制作材料聚碳酸酯分子結(jié)構(gòu)對(duì)稱的特點(diǎn),拉曼光譜對(duì)對(duì)稱的有機(jī)基團(tuán)振動(dòng)敏感的特性,借助于聚類分析法實(shí)現(xiàn)了對(duì)44種不同保險(xiǎn)杠的識(shí)別,準(zhǔn)確率達(dá)94.8%。但此方法對(duì)檢測(cè)設(shè)施、檢測(cè)環(huán)境要求嚴(yán)苛,不適用于工業(yè)現(xiàn)場(chǎng)的使用。
畢程[2]通過kinect獲取各保險(xiǎn)杠三維點(diǎn)云,以單視角點(diǎn)云的視點(diǎn)特征直方圖V F H(Viewpoint Feature Histogram)特征計(jì)算結(jié)果訓(xùn)練主成分分析SVM(Support Vector Machine)分類器,借助于最小歐氏距離的聚類分割方法對(duì)待分類點(diǎn)云數(shù)據(jù)進(jìn)行分割,使用已訓(xùn)練的SVM分類器對(duì)分割結(jié)果的VFH特征進(jìn)行分類。但該方法需要人工獲取各保險(xiǎn)杠全視角點(diǎn)云,再模擬單視角采集,對(duì)操作員水品要求較高,后期維護(hù)難度大。
Kazuya等[3]使用背景差分法濾除背景,通過背景圖像與包含保險(xiǎn)杠圖像的全局平均像素值的差確定二值化閾值,使用最大面積矩形法截取二值化結(jié)果區(qū)域作為模板,最終通過模板匹配進(jìn)行型號(hào)識(shí)別。該方法識(shí)別過程簡(jiǎn)單,但使用最大面積矩形法使得模板中包含了過多的非保險(xiǎn)杠像素點(diǎn),不僅增加了計(jì)算量也降低了識(shí)別的正確率。
本文借助OpenCV所包含的算法對(duì)一組前后保險(xiǎn)杠源圖進(jìn)行識(shí)別,實(shí)現(xiàn)方式簡(jiǎn)單,后期維護(hù)難度小,實(shí)施過程如圖1所示。
圖1 試驗(yàn)過程
其中,在分割階段對(duì)比了均值聚類和區(qū)域生長(zhǎng)兩種分割效果。對(duì)聚類分割結(jié)果使用了基于類別質(zhì)心位置的感興趣區(qū)域提取方法,對(duì)區(qū)域生長(zhǎng)分割結(jié)果使用目標(biāo)區(qū)域的灰度圖疊加方案,這兩種提取方案避免了文獻(xiàn)[3]中的背景信息干擾。
挑選出圖像中保險(xiǎn)杠信息可減少計(jì)算量,提高處理效率。對(duì)圖像通常有閾值法、基于區(qū)域或邊緣的分割方法。閾值法可快速實(shí)現(xiàn)圖像二值化,其關(guān)鍵在于選取合適閾值。全局閾值分割按指定灰度值進(jìn)行二值化,在合適的閾值下可得到主要輪廓,如圖2(b)所示,但該方法對(duì)環(huán)境敏感,每幅圖像的合適閾值都有差異,需要在處理過程中動(dòng)態(tài)調(diào)節(jié)。自適應(yīng)閾值分割能動(dòng)態(tài)調(diào)節(jié)閾值,體現(xiàn)保險(xiǎn)杠的整體樣貌,如圖2(c)所示,但大量背景信息也被高亮。從保險(xiǎn)杠在圖像中呈灰度值變化較小的連續(xù)塊狀分布特征來看,采用基于區(qū)域的分割方法應(yīng)該更有效,本文對(duì)區(qū)域生長(zhǎng)和聚類兩種分割方法進(jìn)行了試驗(yàn)。
圖2 閾值法分割
區(qū)域生長(zhǎng)法的分割過程如圖3所示,首先對(duì)源圖像灰度化,將灰度圖中灰度值大于235的像素點(diǎn)選為種子點(diǎn),將種子點(diǎn)以灰度值為255顯示在與灰度圖同等大小的單通道圖中,結(jié)果如圖4(a)、圖4(d)所示。使用八方向的區(qū)域生長(zhǎng)分割法,依次比較源圖中種子點(diǎn)所在位置的灰度值與其相鄰八個(gè)方向上各像素點(diǎn)位置灰度值,當(dāng)差值小于生長(zhǎng)條件時(shí),將種子分布圖中該像素點(diǎn)位置所對(duì)應(yīng)的灰度值置為255。當(dāng)所有像素點(diǎn)遍歷結(jié)束或者相對(duì)生長(zhǎng)結(jié)果再無未生長(zhǎng)種子時(shí),生長(zhǎng)停止,生長(zhǎng)結(jié)果過程如圖4(b)、圖4(e)所示。根據(jù)連通域大小過濾掉孤立的信息,提取最大輪廓進(jìn)行填充,得到了圖4(d)、圖4(f)所示的處理結(jié)果。
圖3 區(qū)域生長(zhǎng)法分割過程
圖4 區(qū)域生長(zhǎng)圖像分割結(jié)果
聚類是將給定數(shù)據(jù)劃分為若干簇,均值聚類是基于代表的聚類方法,采用一種貪心的迭代算法找到使平方差和最小的類簇。在圖像處理過程中其實(shí)現(xiàn)流程如下:
圖5 聚類分割過程
聚類算法需要手動(dòng)設(shè)定期望的聚類數(shù)k,程序會(huì)在起始步隨機(jī)分配k個(gè)像素點(diǎn)作為k個(gè)簇類的質(zhì)心,然后遍歷圖像中的像素點(diǎn),對(duì)每一個(gè)點(diǎn)分別計(jì)算與各簇的海明距離,距離最小的歸為同一類。當(dāng)一個(gè)類簇加入新的元素后,計(jì)算簇內(nèi)所有元素均值作為新質(zhì)心。然后根據(jù)新的質(zhì)心去遍歷圖像像素點(diǎn),一直迭代到指定代數(shù),或者兩次迭代結(jié)果的質(zhì)心在預(yù)設(shè)精度范圍內(nèi),停止聚類計(jì)算。本文設(shè)定聚類數(shù)大小為4,處理結(jié)果如圖6所示。
圖6 區(qū)域生長(zhǎng)圖像分割結(jié)果
相比兩種分割算法,無監(jiān)督學(xué)習(xí)聚類算法只需在處理前指定類簇?cái)?shù),對(duì)分割結(jié)果影響小。區(qū)域生長(zhǎng)算法需指定種子和生長(zhǎng)條件,兩者都需要依賴先驗(yàn)知識(shí)且對(duì)分割結(jié)果影響大。另外,由前保險(xiǎn)杠處理結(jié)果可知,當(dāng)孔洞較多時(shí),區(qū)域生長(zhǎng)法會(huì)丟失空洞邊緣細(xì)小特征,故均值聚類算法分割圖像魯棒性更強(qiáng)、效率更高。
區(qū)域生長(zhǎng)分割后保留下來的高亮區(qū)域?qū)?yīng)源圖像中保險(xiǎn)杠分布區(qū)域,在源圖像中提取該區(qū)域圖像即為感興趣區(qū)域(ROI)。圖4為文獻(xiàn)[3]所使用的邊界矩形法,處理結(jié)果包含了目標(biāo)區(qū)域但也包含了一部分無用的背景信息。圖5為本文所采取的分割圖與灰度圖作疊加運(yùn)算的處理結(jié)果,這種方法處理過程如下:
圖7 區(qū)域生長(zhǎng)圖像分割結(jié)果
其中,D(i,j)代表分割結(jié)果圖中坐標(biāo)值為(i,j)的像素值,G(i,j)代表灰度圖中坐標(biāo)值為(i,j)的像素值,M(i,j)代表像素值處理得中間值,P(i,j)代表當(dāng)前像素點(diǎn)像素值。式(1)將分割圖與灰度圖各像素點(diǎn)灰度值進(jìn)行加和,再減去255作為像素值計(jì)算的中間結(jié)果。式(2)對(duì)中間結(jié)果進(jìn)行判斷,當(dāng)中間結(jié)果小于或者等于零時(shí),將像素點(diǎn)的灰度值設(shè)為0;若大于零,將結(jié)果設(shè)為當(dāng)前像素點(diǎn)灰度值。
區(qū)域生長(zhǎng)從種子開始就限定了保險(xiǎn)杠的灰度值為有效灰度值,生長(zhǎng)結(jié)果直接指示出保險(xiǎn)杠分布區(qū)域。但在聚類中,所有聚類數(shù)據(jù)會(huì)被保存下來,且類別排序也是隨機(jī)的,即不能按保險(xiǎn)杠被分為第幾類作為提取依據(jù)。
在抓取保險(xiǎn)杠圖像時(shí),保險(xiǎn)杠特征總是會(huì)分布在圖像的正中間部分,且所占據(jù)的圖像像素點(diǎn)最多,所以保險(xiǎn)杠特征聚類分割結(jié)果的簇中心均會(huì)穩(wěn)定的落在圖像的某個(gè)區(qū)域。為了不在人工干預(yù)下,將保險(xiǎn)杠特征區(qū)域高亮化,本文使用了基于簇中心的提取方法。提取步驟如圖8示。
通過模板的聚類結(jié)果返回值可觀察到每類的簇中心分布位置,分別對(duì)每類顏色進(jìn)行高亮顯示,即可得到保險(xiǎn)杠類簇中心的分布位置。對(duì)待處理圖像,挑選聚類算法返回值center第一列中合乎要求的簇中心值的所在行,即可得到保險(xiǎn)杠特征的所屬聚類類別。遍歷圖像中各個(gè)像素點(diǎn),若像素點(diǎn)所屬類別與保險(xiǎn)杠類別相同,將該像素點(diǎn)灰度值賦為255,不滿足條件的像素點(diǎn)灰度值賦為0,全部經(jīng)過一次遍歷后,保險(xiǎn)杠特征類即可被凸顯出來,結(jié)果如圖6(c)、圖6(f)所示。
圖8 簇中心法提取過程
不同型號(hào)保險(xiǎn)杠在尾燈、前燈孔的大小和形狀上具有一定的差異,根據(jù)先驗(yàn)知識(shí)選取辨識(shí)度最好的輪廓作為保險(xiǎn)杠特征輪廓,提高識(shí)別結(jié)果的準(zhǔn)確率。由疊加法生成的ROI區(qū)域?yàn)榛叶葓D,經(jīng)過二值化或邊緣檢測(cè)后可提取輪廓;由簇中心法生成的ROI區(qū)域?yàn)槎祱D像,可直接進(jìn)行輪廓提取。輪廓提取函數(shù)將所有輪廓將以點(diǎn)向量形式輸出,使用迭代器遍歷輸出數(shù)據(jù)可計(jì)算出輪廓長(zhǎng)度,根據(jù)包含輪廓的最小矩形可近似出輪廓的面積,通過限定輪廓的周長(zhǎng)與面積去除所有非保險(xiǎn)杠特征輪廓的其他輪廓。圖9、圖10為輪廓提取結(jié)果。
提取不同型號(hào)保險(xiǎn)杠特征輪廓Hu矩[4],使用模板匹配識(shí)別方法,根據(jù)匹配值判定分類結(jié)果。對(duì)于基于HU矩的模板匹配,通常有以下三種計(jì)算方法:
圖9 區(qū)域生長(zhǎng)提取結(jié)果
圖10 聚類特征提取結(jié)果
從表1匹配結(jié)果可以看到,后保險(xiǎn)杠圖像使用公式1時(shí),與后模板匹配范圍為0~0.04,與前模板匹配范圍為0.23~0.28;使用式(2)時(shí),與后模板匹配范圍為0~0.46,與前模板匹配范圍為0.69~1.15;使用式(3)時(shí),與后模板匹配范圍為0~0.06,與前模板匹配范圍為0.12~0.14。
從表2匹配結(jié)果可以看到,前保險(xiǎn)杠圖像使用式(1)時(shí),與后模板匹配范圍為0.14~0.26,與前模板匹配范圍為0~0.28;使用公式2時(shí),與后模板匹配范圍為0.91~1.14,與前模板匹配范圍為0~0.37;使用式(3)時(shí),與后模板匹配范圍為0.16~0.18,與前模板匹配范圍為0~0.07。
根據(jù)匹配結(jié)果可以總結(jié)出,對(duì)后保險(xiǎn)杠計(jì)算模板匹配值時(shí),式(1)對(duì)不同模板算出的匹配值距離最大即對(duì)不同類別輪廓區(qū)分度較大,且相同模板匹配值距離較小即對(duì)相同類別輪廓吸納能力較強(qiáng),效果最好。而式(2)與之相反,效果最差。式(3)對(duì)不同模板算出的匹配值距離等于后模板匹配值分布距離,前模板匹配值距離小,可以對(duì)型號(hào)做出判別,效果居中。
對(duì)前保險(xiǎn)杠計(jì)算模板匹配值時(shí),式(1)對(duì)不同模板算出的匹配值出現(xiàn)了重疊,不能對(duì)型號(hào)做有效區(qū)分。式(2)對(duì)不同模板有較好區(qū)分度,但同模板匹配值距離較大。式(3)表現(xiàn)出對(duì)后保險(xiǎn)杠計(jì)算模板匹配值時(shí)的相同效果。
總體上看,式(1)對(duì)后保險(xiǎn)杠的小輪廓識(shí)別能力強(qiáng),式(2)對(duì)前險(xiǎn)杠的大輪廓有一定識(shí)別能力,式(3)對(duì)前、后保險(xiǎn)杠都有識(shí)別能力,且性能穩(wěn)定,但對(duì)后保輪廓的吸納能力較差。綜合結(jié)果選取式(1)作為后保險(xiǎn)杠匹配度計(jì)算方法,式(3)作為前保險(xiǎn)杠匹配度計(jì)算方法。
本文首先對(duì)比了基于閾值的全局閾值、自適應(yīng)閾值分割和基于區(qū)域的區(qū)域生長(zhǎng)、均值聚類的圖像分割效果,然后采取疊加法和簇中心法得到比采用最小包圍矩形法更優(yōu)質(zhì)的感興趣區(qū)域,以輪廓周長(zhǎng)和面積篩選區(qū)分度大的輪廓作為特征進(jìn)行形狀匹配,最后根據(jù)三種匹配度計(jì)算公式的匹配計(jì)算結(jié)果,選定式(1)作為后保險(xiǎn)杠匹配計(jì)算公式,式(3)作為前保險(xiǎn)杠匹配計(jì)算公式。
表1 后保險(xiǎn)杠圖像模板匹配結(jié)果
表2 前保險(xiǎn)杠模板匹配結(jié)果
本識(shí)別方案充分利用了對(duì)保險(xiǎn)杠的先驗(yàn)知識(shí),以提高識(shí)別效率,增強(qiáng)識(shí)別方案的魯棒性。通過直接對(duì)源圖像操作獲取分類結(jié)果降低了實(shí)施難度、減少了后期維護(hù)障礙。但在模板匹配時(shí),使用了七階幾何不變矩,計(jì)算量偏大,維數(shù)偏高,后續(xù)應(yīng)考慮如何降維,用更少的特征更充分的描述輪廓特性,使用新特征訓(xùn)練支持向量機(jī)或神經(jīng)網(wǎng)絡(luò),以構(gòu)建更智能的識(shí)別系統(tǒng)。