李博 梁颯
目前工業(yè)流水線上的工業(yè)機(jī)器人多數(shù)只能完成簡單的任務(wù)和重復(fù)性的工作。社會(huì)的進(jìn)步和技術(shù)提高需要更加智能化的機(jī)器人。機(jī)器視覺的發(fā)展和三維建模技術(shù)的進(jìn)步,為機(jī)器人完成更加復(fù)雜和智能的任務(wù)奠定了基礎(chǔ)。工業(yè)智能倉儲技術(shù)和智能倉庫急需能夠自動(dòng)識別貨架上的物體的三維位姿,并能夠自動(dòng)抓取的智能機(jī)器人系統(tǒng)。
倉庫中的貨架上往往不規(guī)則地?cái)[放了各種各樣的物體,這些物體相互之間位姿排列并不整齊,往往相互遮擋和影響,因此三維視覺系統(tǒng)從一個(gè)視角拍照獲取物體的點(diǎn)云數(shù)據(jù)經(jīng)常交叉干擾和影響,只能獲取物體的一小部分的三維點(diǎn)云數(shù)據(jù),影響物體的后續(xù)處理。
針對物體的相互遮擋和干擾,本文提出了一種基于多視角的空間多位姿拍照技術(shù),拍照位姿均勻排布在一個(gè)橢球面上,實(shí)現(xiàn)對貨架所有物體的拍攝。經(jīng)過多次實(shí)驗(yàn),挑選了15個(gè)拍攝角度,這些拍攝角度盡最大可能降低了物體之間相互遮擋的問題,圖1所示是貨架及貨架上的物體,還有15個(gè)用三棱錐表示的不同拍攝位姿。
圖1 位姿示意圖
圖2 多特征點(diǎn)圖像
為了獲得更為精確的15個(gè)位置之間的相對位置關(guān)系,實(shí)驗(yàn)采用SURF特征點(diǎn)提取算法來獲取相對位置矩陣。首先,我們在貨架上放置特征點(diǎn)數(shù)量較多的圖像(如圖2),然后對此場景下進(jìn)行15個(gè)位置的圖像拍攝,最后,針對拍攝的圖像應(yīng)用SURF算法,獲取兩個(gè)位置之間相同特征點(diǎn)的位置及方向變化,將此變化矩陣作為相對位置關(guān)系,如圖3為特征點(diǎn)的匹配。
圖3 特征點(diǎn)匹配圖
圖4 訓(xùn)練集
實(shí)驗(yàn)貨架部署6種類型的物體?;谝陨蠈?shí)驗(yàn)條件,采用神經(jīng)網(wǎng)絡(luò)對物體和背景進(jìn)行訓(xùn)練和彼此分割。因此神經(jīng)網(wǎng)絡(luò)的輸出一共是7類,包括六類物體和一類背景。采用的神經(jīng)網(wǎng)絡(luò)模型是基于FCN-VGG結(jié)構(gòu)的全卷積神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)模型的初始化參數(shù)采用ImageNet的權(quán)重,這個(gè)權(quán)重是基于1000個(gè)物體分類訓(xùn)練后得到的參數(shù)。整個(gè)實(shí)驗(yàn)采用PC機(jī)和能夠?qū)崿F(xiàn)深度智能學(xué)習(xí)的GTX1070NOVIDA顯卡作為訓(xùn)練的硬件。
詳盡、全面和大量的訓(xùn)練數(shù)據(jù)集是神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的基礎(chǔ)。本項(xiàng)目獲取實(shí)驗(yàn)數(shù)據(jù)的方法是,首先對六個(gè)物體中的每一個(gè)物體都進(jìn)行拍照,獲取每個(gè)物體的平面彩色圖像及其對應(yīng)三維點(diǎn)云數(shù)據(jù)作為標(biāo)簽圖像。圖4是拍攝到的一組樣例。實(shí)驗(yàn)中每個(gè)物體拍照1075幅彩色圖像和1075幅對應(yīng)的三維點(diǎn)云圖像及標(biāo)簽圖像,因此共選取10230幅彩色圖像和10230幅對應(yīng)的標(biāo)簽圖像組成訓(xùn)練集進(jìn)行訓(xùn)練。
圖5分割結(jié)果
訓(xùn)練的時(shí)間超過168小時(shí),迭代次數(shù)超過40萬次,具有0.997的識別正確率和低于0.001的損失率。圖5顯示了將不同物體及其背景分割出來的分割結(jié)果。
實(shí)驗(yàn)采用尤傲機(jī)器人R5腕部裝配Intel ReaISense F200相機(jī),進(jìn)行15個(gè)不同角度彩色圖像和深度圖像的采集,以獲取物體的彩色信息和深度信息。
在上一步通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)得到物體分割的結(jié)果后,如圖5所示,為了將同一物體在15個(gè)角度拍攝得到的三維點(diǎn)云數(shù)據(jù)融合在一起,我們采用如下方法。
圖6 圖像歸一化
首先將16位的分割深度圖像標(biāo)準(zhǔn)化為0~1之間,如圖6所示,然后利用圖7所示的方法將所有15個(gè)角度的深度圖的像素值累加求和,并除以15求出每個(gè)像素的平均值,最后,除以總的像素個(gè)數(shù),求出整體的像素平均值。然后利用圖8所示的辦法,求出沿著15個(gè)位姿方向拍攝的圖像的像素值變化的樣本標(biāo)準(zhǔn)差,得到像素值變化的方差。如圖9所示,利用三倍方差的原則去除掉非物體自身的像素點(diǎn)。該方法就是要?jiǎng)?chuàng)建一個(gè)與原圖像大小完全一樣的圖像模板。如果原圖像中的像素值在三倍方差之內(nèi),對應(yīng)的模板像素值為1,否則為00然后將模板圖像與獲取的深度圖像進(jìn)行乘法運(yùn)算,把屬于物體真實(shí)深度值的像素值保留下來。
15幅位姿的深度圖像都進(jìn)行這樣操作后,每幅圖像都只保留了有用的物體深度信息,然后根據(jù)15幅圖像之間拍攝時(shí)的位姿關(guān)系進(jìn)行坐標(biāo)變換,最后將所有深度圖像中的物體深度坐標(biāo)統(tǒng)一到一個(gè)參考坐標(biāo)系中,這樣同一物體的15幅不同角度的深度圖的深度信息就融合到了一個(gè)參考坐標(biāo)系中,實(shí)現(xiàn)了點(diǎn)云數(shù)據(jù)的融合。圖10就是一個(gè)物體不同角度點(diǎn)云數(shù)據(jù)的融合結(jié)果。
圖7 像素均值獲取
圖8 樣本標(biāo)準(zhǔn)差獲取
圖10物體分割點(diǎn)云圖
根據(jù)上一步點(diǎn)云融合后的三維點(diǎn)云數(shù)據(jù),首先,需要去除噪聲;其次,為了提高速度,還需要進(jìn)行降采樣處理。
三維位姿配準(zhǔn)時(shí),ICP算法容易收斂于局部最優(yōu)點(diǎn),因此配準(zhǔn)的初始物體位姿應(yīng)盡量接近最優(yōu)位姿,這一點(diǎn)尤為重要。本文中采用兩步法進(jìn)行位姿獲取。首先利用PCA進(jìn)行粗配準(zhǔn),得到物體與三維點(diǎn)云的初步位姿關(guān)系。物體的三維點(diǎn)云數(shù)據(jù)樣例如圖11所示。圖12是利用PCA方法將物體的模型與三維點(diǎn)云數(shù)據(jù)進(jìn)行配準(zhǔn)獲取位姿變換關(guān)系的樣例。
接著利用上一步PCA粗配準(zhǔn)的結(jié)果,得到的物體三維位姿作為ICP精配準(zhǔn)的初始輸入,利用ICP配準(zhǔn)算法的迭代原理,實(shí)現(xiàn)精確三維物體位姿的獲取。圖13表示了從PCA粗配準(zhǔn)到ICP精配準(zhǔn)的樣例展示。圖14展示了最終的分割和匹配結(jié)果。物體的外方框是將配準(zhǔn)的位姿利用彩色圖像顯示出來。
圖11 物體點(diǎn)云圖
圖12 物體位姿轉(zhuǎn)換
圖13 物體位姿轉(zhuǎn)換
圖14 最終分割結(jié)果
本文針對倉儲物流過程中貨架上物體的分割及其位姿的獲取提出了新的解決方案和算法。基于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),獲得了貨架上不同種類物體的分割模型,基于神經(jīng)網(wǎng)絡(luò)分割的結(jié)果實(shí)現(xiàn)了貨架上各個(gè)物體各個(gè)角度拍攝的三維點(diǎn)云融合,最后通過PCA和ICP由粗到精的兩步模型匹配方法,得到物體的實(shí)際位姿,定位精度小于兩毫米,能夠滿足機(jī)器人抓取的要求。