閆明,陶大鵬,普?qǐng)@媛
云南大學(xué)信息學(xué)院,昆明 650500
現(xiàn)代工業(yè)零件分揀系統(tǒng)大多先依賴視覺(jué)檢測(cè)器對(duì)混雜目標(biāo)進(jìn)行檢測(cè)定位,然后引導(dǎo)機(jī)械臂抓取期望目標(biāo)完成分揀。該任務(wù)在機(jī)器人學(xué)中稱為隨機(jī)分揀(random bin picking),目前有大量研究者對(duì)此研究,并提出不同的解決方案(Blank等,2019)。圖1所示的SCARA(selective compliance assembly robot arm)分揀系統(tǒng)是一種已經(jīng)運(yùn)用于實(shí)際生產(chǎn)的方案,由SCARA、相機(jī)、工控機(jī)和震盤(pán)組成。這種系統(tǒng)通過(guò)相機(jī)拍攝目標(biāo)的圖像,然后依賴視覺(jué)檢測(cè)器對(duì)平面上的目標(biāo)進(jìn)行識(shí)別定位,引導(dǎo)機(jī)械臂完成分揀。由于該系統(tǒng)采用了2D相機(jī)和SCARA機(jī)械臂作為主要硬件,并且使用震盤(pán)輔助識(shí)別和分揀,在成本和效率上都有顯著優(yōu)勢(shì),極具應(yīng)用價(jià)值。
圖1 SCARA分揀系統(tǒng)Fig.1 SCARA picking system
近年來(lái),針對(duì)自然場(chǎng)景的目標(biāo)檢測(cè)算法有了長(zhǎng)足發(fā)展,然而應(yīng)用在上述SCARA零件分揀系統(tǒng)時(shí)卻難以獲得理想結(jié)果,這是由于該系統(tǒng)的特殊需求造成的,主要包括:1)工業(yè)現(xiàn)場(chǎng)需要快速部署,算法需要在少量樣本情況下快速調(diào)整參數(shù);2)待檢測(cè)目標(biāo)的表面通常色彩單一,沒(méi)有豐富的紋理細(xì)節(jié),稱之為低紋理目標(biāo)(texture-less objects);3)工控機(jī)計(jì)算能力有限,難以部署流行的深度學(xué)習(xí)算法。以上特性給目標(biāo)檢測(cè)算法在分揀系統(tǒng)的應(yīng)用帶來(lái)了特殊的挑戰(zhàn)。
基于卷積神經(jīng)網(wǎng)絡(luò)的方法,如YOLO(you only look once)(Redmon等,2016)和Faster-RCNN(faster region-based convolutional neural network)(Ren等,2017)在自然場(chǎng)景的目標(biāo)檢測(cè)中取得了很好的效果。然而,這類方法一方面需要大量數(shù)據(jù)進(jìn)行訓(xùn)練(Zhao等,2019),昂貴的數(shù)據(jù)收集和標(biāo)注成本限制了其在工業(yè)分揀中的應(yīng)用;另一方面往往依賴GPU(graphics processing unit)完成推理過(guò)程(趙永強(qiáng) 等,2020),難以在運(yùn)算能力有限的工控機(jī)上部署。當(dāng)物體的表面具有足夠的紋理信息時(shí),使用傳統(tǒng)的特征點(diǎn)構(gòu)造方法(Collet等,2011),如SIFT(scale-invariant feature transform)(Lowe,2004)或ORB(oriented fast and rotated brief)(Rublee等,2011),可以有效地提取紋理特征構(gòu)造特征點(diǎn),完成目標(biāo)匹配識(shí)別。然而上述方法在面對(duì)低紋理目標(biāo)時(shí)往往無(wú)法奏效,這是因?yàn)榇祟愇矬w的外觀通常由物體形狀而不是紋理決定(Hodan等,2017)。基于模板匹配的檢測(cè)器(Chan等,2017)充分利用目標(biāo)形狀特征對(duì)目標(biāo)進(jìn)行檢測(cè),并且具有較高的檢測(cè)速度。然而當(dāng)輸入圖像中存在其他與目標(biāo)形狀相似的模式時(shí),單純的形狀匹配將導(dǎo)致錯(cuò)誤的匹配結(jié)果。因此針對(duì)工業(yè)環(huán)境的特殊需求,開(kāi)發(fā)一種能對(duì)低紋理目標(biāo)進(jìn)行有效檢測(cè),并且不太依賴數(shù)據(jù)標(biāo)注的算法,仍然是一個(gè)開(kāi)放性問(wèn)題。
本文主要工作如下:1)通過(guò)建模工業(yè)零件的形狀和顏色兩方面特征,提出一種面向工業(yè)零件分揀的低紋理目標(biāo)檢測(cè)算法;2)通過(guò)建立模板數(shù)據(jù)庫(kù)提升了算法速度;3)依照實(shí)際工業(yè)環(huán)境,提出YNU-BBD 2020(YNU-building blocks datasets 2020)數(shù)據(jù)集,可對(duì)低紋理目標(biāo)檢測(cè)算法的性能進(jìn)行測(cè)試和驗(yàn)證。
檢測(cè)器可分為基于學(xué)習(xí)方法的檢測(cè)器、基于關(guān)鍵點(diǎn)匹配的檢測(cè)器和基于模板匹配的檢測(cè)器。
基于學(xué)習(xí)方法的檢測(cè)器早期使用局部特征配合機(jī)器學(xué)習(xí)方法對(duì)目標(biāo)進(jìn)行檢測(cè)。如使用方向梯度直方圖(histogram of oriented gradient,HOG)特征加支持向量機(jī)(support vector machine,SVM)的分類器(Dalal和Triggs,2005)及其后續(xù)改進(jìn)(Felzenszwalb,2010)。最近基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的檢測(cè)器如YOLO(Redmon等,2016)和SSD(single shot multibox detector)(Liu等,2016)通過(guò)在規(guī)模龐大的數(shù)據(jù)集上進(jìn)行訓(xùn)練,在通用目標(biāo)檢測(cè)領(lǐng)域取得極大成功。然而,工業(yè)分揀應(yīng)用中目標(biāo)更新頻繁,需要在少量樣本情況下調(diào)整參數(shù),使得此類檢測(cè)器無(wú)法適用。此外,這類檢測(cè)器需要消耗較多計(jì)算資源,特別是基于卷積神經(jīng)網(wǎng)絡(luò)的檢測(cè)器通常需要GPU進(jìn)行推理,而現(xiàn)有工控機(jī)設(shè)備計(jì)算資源有限,因而難以在工業(yè)現(xiàn)場(chǎng)部署。
基于關(guān)鍵點(diǎn)匹配的檢測(cè)器使用特定算法提取場(chǎng)景圖像和參考圖像關(guān)鍵點(diǎn)周圍特征,構(gòu)造關(guān)鍵點(diǎn)描述子,然后通過(guò)建立參考圖像與場(chǎng)景圖像對(duì)應(yīng)關(guān)鍵點(diǎn)的關(guān)聯(lián)完成目標(biāo)檢測(cè)。如基于SIFT特征點(diǎn)(Zhao和Ngo,2013)和基于SURF(speeded up robust features)特征點(diǎn)(Li和Zhang,2013)的方法。得益于關(guān)鍵點(diǎn)描述子對(duì)多種變換的魯棒性,此類檢測(cè)器具有優(yōu)良性能。然而,此類檢測(cè)器的特征點(diǎn)構(gòu)造算法過(guò)于依賴目標(biāo)的紋理特征,在面對(duì)低紋理目標(biāo)時(shí)往往無(wú)法構(gòu)造有效的特征點(diǎn)描述子。此外,工業(yè)分揀應(yīng)用中存在大量外觀幾乎一致的實(shí)例,檢測(cè)器在實(shí)際應(yīng)用時(shí)必須解決多個(gè)實(shí)例之間匹配互相干擾的問(wèn)題(Piccinini等,2012)。
基于模板匹配的檢測(cè)器通過(guò)計(jì)算目標(biāo)模板與輸入圖像上部分區(qū)域的相似度完成目標(biāo)檢測(cè)。早期工作如倒角距離匹配(Borgefors,1988)主要基于目標(biāo)的邊緣特征,通過(guò)距離變換的方法完成輸入圖像與模板之間的相似度度量。然而這些工作對(duì)噪聲和物體遮擋非常敏感,后續(xù)大量工作對(duì)此進(jìn)行了改進(jìn)。如基于霍夫距離的方法(Rucklidge,1997)、基于梯度方向的方法(Steger,2002)和基于線段特征的方法(Tombari等,2013)等。典型的工作如BIND(binary integrated net descripto)(Chan等,2017)使用二進(jìn)制集成網(wǎng)絡(luò)描述子對(duì)目標(biāo)的邊緣特征進(jìn)行描述,由于使用了二進(jìn)制編碼方式,匹配過(guò)程得以高效進(jìn)行。這些方法中,Line2D(Hinterstoisser等,2012)是一種比較快速高效的方法,該方法選取目標(biāo)輪廓上離散點(diǎn)的梯度方向作為特征,配合梯度方向編碼等措施優(yōu)化匹配流程,達(dá)到了不錯(cuò)的檢測(cè)效果。相比于紋理特征,輪廓點(diǎn)的梯度方向能夠更為有效地表述低紋理目標(biāo),但這種特征本質(zhì)上描述的是目標(biāo)形狀,當(dāng)檢測(cè)目標(biāo)與背景或其他目標(biāo)具有相似形狀時(shí),這種方法容易失敗。
CL2D基于模板匹配原理,在離線運(yùn)行時(shí)拍攝目標(biāo)圖像D獲取模板數(shù)據(jù),然后在線運(yùn)行時(shí),使用模板數(shù)據(jù)在輸入圖像I上匹配,獲取檢測(cè)結(jié)果。算法總體工作流程如圖2所示,主要分為粗匹配、精細(xì)匹配和抓取點(diǎn)定位3個(gè)步驟:1)通過(guò)對(duì)比檢測(cè)目標(biāo)形狀進(jìn)行粗匹配,從而獲取候選匹配結(jié)果;2)剔除重復(fù)候選匹配結(jié)果后,采用檢測(cè)目標(biāo)的顏色特征進(jìn)行精細(xì)匹配;3)根據(jù)精細(xì)匹配結(jié)果包含的位置和角度信息,定位目標(biāo)的抓取點(diǎn)。此外,為了進(jìn)一步對(duì)算法進(jìn)行加速,建立了模板數(shù)據(jù)庫(kù),存儲(chǔ)匹配過(guò)程用到的數(shù)據(jù)。
圖2 CL2D整體流程Fig.2 The overall process of CL2D
通過(guò)對(duì)比目標(biāo)形狀進(jìn)行粗匹配是快速有效的方法,而輪廓點(diǎn)的梯度方向又能有效表示目標(biāo)形狀,所以使用梯度方向特征模板完成粗匹配過(guò)程。為了使匹配對(duì)目標(biāo)的旋轉(zhuǎn)變換具有魯棒性,使用D生成不同旋轉(zhuǎn)角度的參考圖像,然后在這些參考圖像上提取不同角度模板完成匹配。如圖3,對(duì)于其中某個(gè)參考圖像O,希望獲取其在輸入圖像I上的匹配結(jié)果,具體做法如下:
圖3 滑窗匹配示意Fig.3 Sliding window template match
使用一個(gè)滑動(dòng)窗口遍歷輸入圖像,并在滑動(dòng)窗口經(jīng)過(guò)的每個(gè)位置計(jì)算當(dāng)前窗口與參考圖像的模板T的相似度。當(dāng)相似度大于閾值τ1時(shí),將滑動(dòng)窗口位置、模板編號(hào)及相似度作為一個(gè)匹配結(jié)果輸出。模板T在I中位置c(滑動(dòng)窗口左上角)的相似度ε計(jì)算為
(1)
式中,P表示輪廓點(diǎn)位置的集合,ori(O,r)表示參考圖像O在位置r的梯度方向,ori(I,t)表示輸入圖像I在位置t的梯度方向,R(c+r)是I上以c+r為中心的一塊區(qū)域,區(qū)域范圍為[c+r-T/2,c+r+T/2]×[c+r-T/2,c+r+T/2],其中T表示區(qū)域尺寸,是一個(gè)手動(dòng)設(shè)置的參數(shù)。對(duì)于參考圖像與輸入圖像上的一對(duì)點(diǎn),通過(guò)計(jì)算兩個(gè)點(diǎn)梯度方向的差的余弦值,再求絕對(duì)值,作為該點(diǎn)的相似度。這里參考圖像上輪廓點(diǎn)集P中每一個(gè)位置r都對(duì)應(yīng)輸入圖像上的一塊區(qū)域R(c+r),本文取其與R(c+r)內(nèi)所有點(diǎn)相似度的最大值作為該點(diǎn)的相似度。最終,對(duì)P中所有點(diǎn)的相似度求和計(jì)算總的相似度ε。相似度的概率形式為εp=ε/n,其中n為P中選取位置的數(shù)量,匹配結(jié)果需滿足εp>τ1。
需要說(shuō)明的是,雖然上述匹配方法涉及的模板及需要遍歷的窗口數(shù)量巨大,但可以用梯度方向量化及響應(yīng)圖預(yù)計(jì)算(Hinterstoisser等,2012)的方法對(duì)其進(jìn)行優(yōu)化,提高處理速度。
精細(xì)匹配包含非極大值抑制和顏色直方圖比對(duì)兩個(gè)步驟:1)使用一個(gè)非極大值抑制方法對(duì)重復(fù)匹配的候選結(jié)果進(jìn)行剔除,減小后續(xù)過(guò)程的計(jì)算量;2)使用顏色直方圖比對(duì)對(duì)候選結(jié)果進(jìn)行更準(zhǔn)確的匹配。
2.2.1 非極大值抑制
在粗匹配過(guò)程中,由于使用了一個(gè)目標(biāo)在密集旋轉(zhuǎn)角度下的模板,同時(shí)計(jì)算相似度時(shí)設(shè)置了區(qū)域R(c+r),匹配產(chǎn)生的結(jié)果中會(huì)存在大量對(duì)同一個(gè)目標(biāo)在鄰近位置、相近角度的重復(fù)匹配。所以使用一個(gè)非極大值抑制算法剔除重復(fù)識(shí)別的結(jié)果。與一般的非極大值抑制方法相同,先按照相似度對(duì)匹配結(jié)果進(jìn)行排序,然后在重疊的結(jié)果中剔除相似度較小的結(jié)果,抑制非極大值。
為了防止算法在目標(biāo)密集出現(xiàn)時(shí)錯(cuò)誤剔除候選結(jié)果(如圖4所示,兩個(gè)邊界框重疊區(qū)域較大,可能導(dǎo)致其中一個(gè)候選結(jié)果被剔除),本文對(duì)判斷重疊規(guī)則進(jìn)行改進(jìn),替代使用邊界框交并比(intersection over union,IoU)計(jì)算重疊的方法。1)設(shè)置一個(gè)閾值τ2,當(dāng)匹配結(jié)果的角度相差在τ2以內(nèi)時(shí)認(rèn)為其角度相近;2)將顏色直方圖提取的前景區(qū)域作為目標(biāo)的mask估計(jì),當(dāng)mask在幾何上有交點(diǎn)時(shí),認(rèn)為其位置相近;3)兩個(gè)匹配結(jié)果角度和位置都相近時(shí)認(rèn)為其是重疊的結(jié)果。
圖4 邊界框重疊區(qū)域Fig.4 Overlap area of bounding box
2.2.2 顏色直方圖比對(duì)
顏色直方圖比對(duì)主要針對(duì)粗匹配產(chǎn)生的錯(cuò)誤結(jié)果。直方圖的提取在HSV色彩空間中完成。這里將每個(gè)通道的直方圖劃分為10個(gè)區(qū)間,然后將10個(gè)區(qū)間的取值按照區(qū)間順序排列看做一個(gè)向量,即
(2)
(3)
當(dāng)某一通道的余弦相似度小于設(shè)定的閾值τ3時(shí),將匹配結(jié)果過(guò)濾。實(shí)際比對(duì)前,會(huì)在目標(biāo)圖像上標(biāo)注前景區(qū)域,僅統(tǒng)計(jì)該區(qū)域內(nèi)的像素,避免背景干擾。前景區(qū)域?qū)嶋H是目標(biāo)圖像上的一個(gè)多邊形,記錄下這個(gè)多邊形頂點(diǎn)的坐標(biāo)后,利用匹配結(jié)果包含的角度和位置信息,對(duì)其進(jìn)行旋轉(zhuǎn)及平移變換,即可以確定輸入圖像上對(duì)應(yīng)的區(qū)域。
為了順利實(shí)現(xiàn)機(jī)械臂抓取操作,需要給出抓取點(diǎn)位置。針對(duì)每種零件,可以根據(jù)經(jīng)驗(yàn)在目標(biāo)圖像上手工標(biāo)注固定的抓取點(diǎn)。當(dāng)完成精細(xì)匹配過(guò)程后,可根據(jù)匹配結(jié)果對(duì)標(biāo)注的抓取點(diǎn)進(jìn)行旋轉(zhuǎn)和平移變換,定位出輸入圖像上抓取點(diǎn)的位置。
如圖5所示,假設(shè)目標(biāo)圖像的寬和高為w和h,在目標(biāo)圖像上標(biāo)注的抓取點(diǎn)位置為(xG,yG),匹配結(jié)果中模板對(duì)應(yīng)的參考圖像旋轉(zhuǎn)角度為θ,匹配的位置為c=(xc,yc)。這里以目標(biāo)圖像的中心點(diǎn)為旋轉(zhuǎn)中心進(jìn)行旋轉(zhuǎn)獲取參考圖像,假設(shè)其坐標(biāo)為(xo,yo),那么旋轉(zhuǎn)使用的仿射矩陣為
(4)
為了使旋轉(zhuǎn)后得到的參考圖像包含目標(biāo)圖像的所有內(nèi)容,需要增加圖像的寬和高,使其變?yōu)閣r和hr,具體為
(5)
(6)
然后,使用Wθ計(jì)算抓取點(diǎn)在參考圖像上的齊次坐標(biāo)。具體為
(7)
圖5 抓取點(diǎn)定位Fig.5 Grasp point localize
最終,使用參考圖像上的坐標(biāo)加上模板的匹配位置c,求出輸入圖像上對(duì)應(yīng)的抓取點(diǎn)坐標(biāo)。具體為
(8)
經(jīng)過(guò)以上的旋轉(zhuǎn)和平移操作,便可以根據(jù)檢測(cè)結(jié)果和標(biāo)注信息,定位出輸入圖像上的抓取點(diǎn)位置。
上述檢測(cè)過(guò)程中某些數(shù)據(jù)可以在檢測(cè)前計(jì)算完成,為此建立了一個(gè)模板數(shù)據(jù)庫(kù)存儲(chǔ)這些數(shù)據(jù),在檢測(cè)時(shí)調(diào)用,加快檢測(cè)速度??紤]到工業(yè)分揀的實(shí)際環(huán)境,在采集目標(biāo)圖像時(shí)僅選擇目標(biāo)的幾個(gè)穩(wěn)定朝上面,然后在采集的目標(biāo)圖像上標(biāo)注并提取數(shù)據(jù),建立模板數(shù)據(jù)庫(kù)。整個(gè)過(guò)程可以看做是一個(gè)對(duì)目標(biāo)的建模過(guò)程,而數(shù)據(jù)庫(kù)內(nèi)存儲(chǔ)的數(shù)據(jù)可以看做是目標(biāo)的識(shí)別模型,如圖6所示。具體步驟如下:
圖6 目標(biāo)識(shí)別模型Fig.6 Object detection model
通過(guò)以上步驟,將待檢測(cè)目標(biāo)建立成了識(shí)別模型。目標(biāo)的識(shí)別模型用M表示,每個(gè)識(shí)別模型包含選取的幾個(gè)穩(wěn)定面M={F1,F2,…,Fk},每個(gè)面包含顏色直方圖特征和不同旋轉(zhuǎn)角度的梯度方向模板、有效區(qū)域和抓取點(diǎn)位置,即
(9)
(10)
目前,在低紋理目標(biāo)檢測(cè)領(lǐng)域缺乏針對(duì)工業(yè)零件分揀應(yīng)用的數(shù)據(jù)集。對(duì)此,本文提出了YNU-BBD 2020(YNU-building blocks datasets 2020)對(duì)低紋理目標(biāo)檢測(cè)算法進(jìn)行評(píng)測(cè)。YNU-BBD 2020的所有數(shù)據(jù)都在一個(gè)接近實(shí)際工業(yè)環(huán)境的數(shù)據(jù)采集平臺(tái)上采集。如圖7所示,平臺(tái)選用單色平面放置目標(biāo),并將工業(yè)相機(jī)垂直固定于平面上方。采集圖像時(shí)使用工業(yè)面光源和遮光幕布控制光照條件,同時(shí)固定相機(jī)高度并選取相同的相機(jī)參數(shù)保證拍攝圖像的一致性。
圖7 數(shù)據(jù)集采集平臺(tái)Fig.7 Data collection platform
YNU-BBD 2020使用16種低紋理的玩具零件作為目標(biāo),由訓(xùn)練集和測(cè)試集構(gòu)成。如圖8(d),訓(xùn)練集共有32幅圖像,通過(guò)單獨(dú)拍攝每個(gè)零件制作,每幅圖像包含一個(gè)零件的一個(gè)面,整個(gè)訓(xùn)練集涵蓋了所有零件在測(cè)試集中出現(xiàn)的所有面。測(cè)試集包含30幅圖像,通過(guò)拍攝隨機(jī)混合的零件制作(如圖9)。圖像的分辨率統(tǒng)一為1 920×1 200像素,對(duì)測(cè)試集的每幅圖像本文標(biāo)注實(shí)例級(jí)別的目標(biāo)mask作為基準(zhǔn)真值(ground truth),整個(gè)測(cè)試集共計(jì)618個(gè)目標(biāo)。
圖8 目標(biāo)檢測(cè)結(jié)果和訓(xùn)練集Fig.8 Object detection results and training set ((a) ground truth; (b) coarse match results; (c) precise match results; (d) training set)
圖9 測(cè)試集樣例及基準(zhǔn)真值Fig.9 Samples from test set and ground truth((a)samples from test set;(b)ground truth)
本文算法通過(guò)對(duì)目標(biāo)圖像進(jìn)行旋轉(zhuǎn)獲取不同姿態(tài)的模板,因而在構(gòu)建模板數(shù)據(jù)庫(kù)前需要確定旋轉(zhuǎn)角θ的采樣間隔。通過(guò)實(shí)驗(yàn)的方法尋找合適的采樣間隔。首先選取不同的采樣間隔在整個(gè)數(shù)據(jù)集上提取模板,然后使用不同模板進(jìn)行匹配并統(tǒng)計(jì)所有目標(biāo)的召回率。
圖10 不同采樣間隔下的召回率Fig.10 Recall rate in different sample step
建立模板數(shù)據(jù)庫(kù)后,在測(cè)試集上測(cè)試算法的精度和速度。測(cè)試使用Intel CORE I5 9400 CPU運(yùn)行算法,對(duì)比的深度學(xué)習(xí)算法借助額外的GTX2080ti GPU運(yùn)行。測(cè)試時(shí),根據(jù)經(jīng)驗(yàn)將算法的參數(shù)設(shè)置為T(mén)=4,τ1=0.6,τ2=10°,τ3=0.95。
2)精度。將目標(biāo)的顏色直方圖提取區(qū)域作為目標(biāo)的mask估計(jì),將該區(qū)域的外接矩形作為目標(biāo)的邊界框估計(jì)。然后,使用COCO(common objects in context)數(shù)據(jù)集(Lin等,2014)的標(biāo)準(zhǔn),計(jì)算算法在整個(gè)測(cè)試集上的mAP(mean average precision),包含邊界框精度和mask精度,如表1和表2所示,表中AP50和AP75表示IoU為50%和75%時(shí)的平均精度。計(jì)算mAP時(shí),設(shè)置不同的τ1和τ3獲得PR曲線,再統(tǒng)計(jì)mAP。本文對(duì)比了僅使用梯度方向特征的算法Line2D(Hinterstoisser等,2012)、使用RGB顏色直方圖算法CL2D-RGB以及兩個(gè)基于深度學(xué)習(xí)的方法YOLO-V4(Bochkovskiy等,2020)和Mask-RCNN(He等,2017)。對(duì)于深度學(xué)習(xí)方法,通過(guò)隨機(jī)選取訓(xùn)練集內(nèi)的圖像,執(zhí)行前景分離和隨機(jī)旋轉(zhuǎn)操作,合成2 000幅訓(xùn)練圖像擴(kuò)充數(shù)據(jù)集訓(xùn)練檢測(cè)模型。CL2D算法匹配結(jié)果可視化如圖8(b)(c),抓取點(diǎn)定位結(jié)果可視化如圖11。而如圖12所示為錯(cuò)誤示例。
表1 不同方法的邊界框精度對(duì)比Table 1 Comparison of bounding box accuracy among different methods
表2 不同方法的mask精度對(duì)比Table 2 Comparison of mask accuracy among different methods
圖11 抓取點(diǎn)定位結(jié)果Fig.11 Grasp point localize results ((a) template; (b) results in scene image)
圖12 錯(cuò)誤示例Fig.12 Failure cases ((a) wrong detection when object have similar appearance; (b) wrong angle)
本文算法與經(jīng)典的低紋理目標(biāo)檢測(cè)算法BLOD(bunch of lines descriptor)(Tombari等,2013)和BIND(Chan等,2017)的對(duì)比結(jié)果如圖13所示??梢钥闯?,當(dāng)同一個(gè)目標(biāo)在輸入圖像上存在多個(gè)實(shí)例時(shí),BLOD算法和BIND算法僅能匹配到1個(gè)實(shí)例。當(dāng)圖像上存在與目標(biāo)圖像非常相似的模式時(shí),3個(gè)算法都出現(xiàn)了錯(cuò)誤匹配(第1行、第2行)。但本文算法正確的目標(biāo)圖像匹配的相似度明顯較高(第1行右1、第2行右1)。各算法的運(yùn)行速度如表3所示??梢钥闯觯珺IND算法在YNU-BBD 2020數(shù)據(jù)集上的速度較慢,CL2D平均運(yùn)行時(shí)間多于Line2D和BLOD,但明顯優(yōu)于BIND算法。
圖13 本文方法與經(jīng)典方法的檢測(cè)結(jié)果對(duì)比Fig.13 Compare with classical methods((a) template; (b) BLOD (green rectangle); (c) BIND (green and yellow area); (d) CL2D (cyan rectangle))
表3 不同算法的平均運(yùn)行時(shí)間Table 3 Average runtime of different methods
本文提出一種面向工業(yè)零件分揀系統(tǒng)的低紋理目標(biāo)檢測(cè)方法CL2D。該方法基于模板匹配原理設(shè)計(jì),主要分為3個(gè)部分:1)通過(guò)梯度方向特征建模工業(yè)零件的形狀,完成粗匹配過(guò)程;2)通過(guò)顏色直方圖建模工業(yè)零件的顏色,完成精細(xì)匹配過(guò)程;3)通過(guò)坐標(biāo)變換定位目標(biāo)的抓取點(diǎn)位置。此外,本文通過(guò)建立模板數(shù)據(jù)庫(kù)的方法對(duì)算法進(jìn)行加速。在YNU-BBD 2020數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果顯示,CL2D能夠在CPU平臺(tái)上高效完成目標(biāo)檢測(cè)任務(wù),并達(dá)到可觀的檢測(cè)精度,并且無(wú)需使用大量數(shù)據(jù)進(jìn)行訓(xùn)練。無(wú)論相較于基于深度的目標(biāo)檢測(cè)算法還是經(jīng)典的低紋理目標(biāo)檢測(cè)算法,CL2D都具有顯著優(yōu)勢(shì)。但是,由于僅使用形狀和輪廓特征,CL2D在目標(biāo)相似時(shí)仍然會(huì)出現(xiàn)錯(cuò)誤,在后續(xù)工作中,可融合更多特征對(duì)算法進(jìn)行改進(jìn)。另外,由于未使用任何優(yōu)化方法,算法中精細(xì)匹配過(guò)程速度較慢,考慮到其占比,未來(lái)的工作將對(duì)算法的精準(zhǔn)匹配過(guò)程進(jìn)一步優(yōu)化,提高運(yùn)行速度。