王叢政 李啟光
摘 要 在箱體的圖像采集與分割過程中,由于角度、光線的影響,使得模板圖像與待匹配圖像中相同目標圖像因為角度變化和色差等原因影響,使得匹配成功率并不理想,存在無法匹配到目標箱體或者匹配偏差較大的問題。這里創(chuàng)新性的采用了一種新的圖像預處理方法,使用邊緣檢測算子與膨脹的組合方法,對模板與待匹配圖像進行處理,使用處理后的圖像進行匹配。通過與傳統(tǒng)方法的實驗對比,實驗結果表明,新的方法在圖像在存在色差和一定旋轉角度時,仍然具有較高的匹配率。
【關鍵詞】邊緣檢測 模板匹配 膨脹 角度 匹配率
隨著京東天貓自營倉庫的發(fā)展,大型的倉庫應運而生,人力取貨裝箱的運作方式越來越不能滿足公司運作的要求,企業(yè)迫切的需要一種高效的取貨方式代替人工取貨。
隨著視覺與機器人技術的發(fā)展,采用視覺結合機器人取貨的方式變成了一種可能,國內外各大網商紛紛開始了機器人取貨的嘗試,亞馬遜在研究和實踐上走在了前沿,采用托盤機器人將放置貨物的貨架運送到裝箱人員的工位,員工取貨后,物流小車將貨架再運回貨架原來所在的地方。但是此種方法在貨物較小,貨架較小,貨架數(shù)量不多的情況下可以運行良好,但是對于貨物體積過大,數(shù)量較多,貨架體積較大,層數(shù)過多的情況下,采用物流車運送貨架移動的方式顯然不夠優(yōu)秀。所以采用貨架固定,機械手在貨架上上下左右移動取貨的方式被提出并得到嘗試。
箱體分割方法最常用的方法是邊緣檢測的方法,采用canny算子等邊緣檢測算法檢測采集來的箱體邊緣,使用矩形邊緣檢測算子,將單獨箱體的輪廓找到進而實現(xiàn)獨立箱體的分割。此種方法在箱體圖案較為簡單,箱體之間的邊緣較為清晰的時候,可以取得較好的效果,但是當箱體圖案較為復雜,箱體顯色較重,箱體之間靠的過于緊密,箱體之間縫隙過窄,將會造成邊緣檢測時無法檢測出輪廓,或者檢測出過多錯誤邊緣的情況存在。對于獨立箱體分割,本文提出了一種全新的獨立箱體搜索提取方法。
1 實現(xiàn)過程
模板匹配是在一幅圖像中尋找一個特定目標的方法之一,這種方法的原理非常簡單,遍歷圖像中的每一個可能的位置,比較各處與模板是否“相似”,當相似度足夠高時,就認為找到了我們的目標。以模板匹配為基礎,結合一定的循環(huán)算法,便可實現(xiàn)多模板多目標的檢測和分割。模板匹配實現(xiàn)函數(shù)為:
matchTemplate( g_srcImage, g_templateImage, g_resultImage1, g_nMatchMethod );
2 圖像預處理算法
2.1 邊緣檢測算法
圖像的邊緣是指圖像局部區(qū)域亮度變化顯著的部分, 該區(qū)域的灰度剖面一般可以看作是一個階躍,即從一個灰度值在很小的緩沖區(qū)域內急劇變化到另一個灰度相差較大的灰度值。 圖像的邊緣部分集中了圖像的大部分信息, 圖像邊緣的確定與提取對于整個圖像場景的識別與理解是非常重要的,同時也是圖像分割所依賴的重要特征,邊緣檢測主要是圖像的灰度變化的度量、檢測和定位。實現(xiàn)代碼為:
void Canny(InputArray image, OutputArray edges,double threshold1, double threshold2,int aper- ture Size = 3, bool L2gradient = false);
模板匹配過程中,影響模板匹配準確率的因素很多,光線,拍攝角度,箱體顏色氧化等原因會導致模板與待匹配圖片中的相同特征存在一定的色差,為了排除色差所帶來的匹配誤差,需要將色差因素排除掉,使用的方法就是使用邊緣檢測算法,將邊緣特征作為模板匹配的唯一依據(jù),雖然圖像會之間會存在色差,但是不會影響他們的邊緣特征,將模板和待檢測圖片的邊緣特征提取出來,消除了色差所帶來的影響,大大增加了匹配的成功率。
相同的圖片經過處理變成了色差較大的兩幅圖片,在模板匹配中,因為顏色差異較大,會出現(xiàn)匹配失敗的情形,但是將兩幅圖片使用邊緣檢測后,發(fā)現(xiàn)他們的邊緣圖像完全一樣,邊緣特征沒有因為顏色的改變收到影響,所以使用邊緣特征作為模板匹配的依據(jù),可以大大的增加模板匹配的抗干擾性和成功率。
2.2 圖像膨脹算法
形態(tài)學是圖像處理的一種重要數(shù)學工具,已廣泛應用到計算機視覺、模式識別、遙感監(jiān)測和生物醫(yī)學影像等領域。在圖像處理中,通過膨脹形態(tài)學基本操作,可以對圖像進行相關處理。模板匹配中,角度造成的匹配失敗也是不可忽略的問題,因為待匹配圖像在采集的過程中,因為貨物擺放的問題或者攝像頭的旋轉問題,導致模板圖像和待匹配圖像存在一定的角度旋轉誤差,對于圖像中一些字符和較細的線條,微小的旋轉角度就可能導致特征重合率較大的降低,所以提高旋轉角度引起的匹配失誤也是必須解決的問題。
采用圖像膨脹算法,將圖像中的邊緣間隙較小較密的的特征膨脹成較大的塊狀區(qū)域,較細的邊緣特征膨脹成較粗的區(qū)域,當邊緣特征增粗面積增大后,即使有一定角度的旋轉變化,也會有較大區(qū)域的特征重合,大大增強了模板匹配的成功率,實現(xiàn)代碼為:
Mat element = getStructuringElement ( MORPH_ RECT , Size (3, 3) );
dilate(src,src, element);
3 循環(huán)算法
待匹配圖像如下圖,圖中有多個與模板圖片相同的箱體,而模板匹配算法是逐點掃描全圖,找出匹配值最佳的位置,所以一次掃描只能找到一個箱體的位置,而且圖中箱體的位置因為擺法的問題,出現(xiàn)了四種不同的形式,同一個模板無法滿足搜索到所有箱體的需要,要想既能把每種擺法的箱體全部搜索到,又能把所有擺放形式也搜索到,需要采用一定的搜索算法。循環(huán)搜索算法由模板旋轉算法,掩膜覆蓋算法,特征點匹配算法三部分組成,保證待匹配每一個不同擺法的箱體都可以被搜索到。實現(xiàn)代碼為:
3.1 模板旋轉操作
首先加入模板旋轉算法,每次循環(huán)結束,使用圖像旋轉算法將模板旋轉90度,然后進入下一次循環(huán),每一次新循環(huán)的開始,都在上一次循環(huán)使用的模板基礎上旋轉90度,這樣就可以使每種擺放形式的箱體都可以被搜索到。實現(xiàn)代碼為:
Mat rotate_90(Mat img)
{
transpose(img, img);
flip(img, img, 0);
return img;
}
3.2 特征點檢測
其次是確保每種擺放形式的循環(huán)中,可以將此種擺法的所有箱體全部搜索到,因為模板匹配算法是基于匹配最佳值來確定匹配位置的,所以即使相應擺法的所有箱體都已經找到,也還是會找到一個最佳匹配點,而這個匹配點是錯誤的,所以需要一定的條件來結束循環(huán)。使用SUFT 算法與FLANN 算法相結合的圖像匹配方法來判斷模板匹配的正確與否,根據(jù)匹配成功的特征點的數(shù)量判斷兩幅圖是否匹配成功。SURF 是在 SIFT 算法的基礎上提出的一種快速魯棒特征提取的配準算法。SURF 算法不僅對于圖像旋轉、平移、縮放和噪聲影響具有較好的魯棒性。每次模板匹配后,判斷匹配區(qū)域與模板圖的相似度,達到要求繼續(xù)搜索,不滿足條件則結束循環(huán),此次擺放形式的搜索完成。
3.3 掩膜覆蓋
對于搜索成功的區(qū)域,下次搜索肯定還會搜索到這個區(qū)域,所以搜索過的地方需要排除,使下次搜索的時候不會搜索到這片區(qū)域。這里采取了一種掩膜覆蓋的方法,當待匹配一塊區(qū)域與模板圖片匹配成功,我們將此區(qū)域使用黑色或白色掩膜進行覆蓋,在新一輪搜索中此區(qū)域特征便不會干擾搜索,模板匹配算法會找出新的最佳匹配點。實現(xiàn)函數(shù)為:
cv::Mat image = cv:: Mat:: zeros ( temp_Image.rows , temp_Image.cols, CV_8UC3);
image.setTo(cv::Scalar(0, 0, 0));
cv::Rect roi_rect = cv:: Rect (matchLocation.x , matchLocation.y, temp_Image.cols, temp_Image.rows);
image.copyTo(srcImage(roi_rect));
rectangle( srcImage, matchLocation, Point( matchLocation.x + temp_Image.cols , matchLocation.y + temp_Image.rows ), Scalar(0,0,255), 2, 8, 0 );
4 實驗結果分析
本文在單模板匹配算法之前加入了圖像預處理算法,增強了模板匹配在色差和角度干擾的匹配率,通過加入循環(huán)算法實現(xiàn)了多擺放形式的多模板匹配任務。實驗中我們選擇了如圖1與2所示的模板圖與待匹配圖片,經過邊緣檢測算法和圖像膨脹算法生成了圖3、4,使用圖3、4作為模板匹配的圖像,結合特征點檢測算法、掩膜覆蓋算法、循環(huán)算法實現(xiàn)了箱體分離的任務,實驗結果如圖5。
5 結論
通過合理的使用圖像的預處理算法,對圖像進行處理,消除了模板匹配時色差所帶來的影響,大大增強了角度變化對模板匹配的干擾,提高了模板匹配的正確率,使模板匹配算法更具實用性。
參考文獻
[1]鄭亞紅.物流中心倉儲搬運設備信息管理與系統(tǒng)設計.西南交通大學碩士論文,2008.
[2]程娟,唐岫等.現(xiàn)代企業(yè)倉儲物流的發(fā)展模式與對策[J].物流工程與管理,2013(06):34-35.
[3]田娟,鄭郁正.模板匹配技術在圖像識別中的應用[J].2008,27(01):112-114.
[4]John Canny.A Computational Approach to Edge Detection[J].IEEE Trans Pattern Analysis and Machine Intelligence,1986,10(12):679-697.
[5]GONZALEZ R C,WOODS R E.Digital Image Processing [M].3rd Edition, Beijing:Publishing House of Electrnics Industry,2006:429-468.
[6]王樹文,閆成新,張?zhí)煨虻?數(shù)學形態(tài)學在圖像處理中的應用[J/OL].計算機工程與應用,2004,40(32):89-92.
[7]郭魯,魏穎.SUFT算法與改進的Harris 算法相結合的圖像匹配方法[J].黑龍江科技信息,2014(36):98.
作者簡介
王叢政(1991-),男,山東省人。碩士研究生,主要從事機器人視覺相關的研究工作。
作者單位
北京信息科技大學機電工程學院 北京市 100192