王利祥,郭向偉,盧明星
(1.河南護理職業(yè)學院公共學科部,河南 安陽 455000;2.河南理工大學電氣工程與自動化學院,河南 焦作 454000)
智能機器人不僅要能夠執(zhí)行預定義的固定任務,還應該能夠基于嵌入式傳感器感知環(huán)境并與環(huán)境交互[1],視覺機器人對于物體的夾持是智能化控制的一大重要標志。成功的抓取主要通過視覺或觸覺傳感器進行正確的抓取姿勢檢測,并在此基礎上進行精確的夾持控制[2]。為了實現(xiàn)自主抓取,國內外研究人員對視覺機器人的控制開展了大量研究,文獻[3]將深度學習方法應用到機器人抓取中,提出了一種用于多步級聯(lián)抓取的檢測系統(tǒng),該系統(tǒng)通過神經網絡提取的特征代替之前算法中手工制作的特征。文獻[4]提出了深度強化學習的視覺機器人抓取策略,該策略通過深度網絡框架進行學習訓練,有效提升了機器人抓取物體成功率。文獻[5]研究了RGB顏色空間下的視覺機器人識別方法,提出了視覺逼近的控制算法,該策略應用在視覺機器人上具有一定的識別成功率和抓取成功率。文獻[6]結合卷積神經網絡和深度學習方法,提出了機器人抓取算法,該算法在Cornell抓取數(shù)據(jù)集上得到了有效驗證,且應用在視覺機器人抓取動作上。文獻[7]針對視覺機器人的物體抓取,在圖形融合技術的基礎上提出了改進的Canny的圖形邊緣檢測算法,該控制算法在抓取物體過程中具有較好的魯棒性能。文獻[8]基于殘差BP神經網絡研究了視覺機器人對圖像識別與機器人關節(jié)角之間的關系,神經網絡模型的性能得到了有效提升,通過劃分區(qū)域對數(shù)據(jù)進行了訓練,視覺機器人的網絡訓練速度得到了提升。
上述所有方法都是基于單尺度特征生成抓取,這些特征提取器具有低分辨率(較高層)或語義信息較少(較低層)的特征,這削弱了抓取檢測精度。基于此,使用密集連接的FPN作為特征提取器,將語義更強的高級特征圖與分辨率更高的低級特征圖融合,將兩階段檢測單元附加到每個融合層,根據(jù)融合的特征圖中生成密集的抓取預測,這種模型結構保證了對各種物體的精確抓取。并在Cornell抓取數(shù)據(jù)集和Jacquard數(shù)據(jù)集上訓練,并證了所提算法在抓取姿勢估計的有效性。設計了兩種不同真實場景的物體抓取控制實驗,結果表明所提模型能有效提高機器人抓取物體的能力。
這里研究的視覺感知抓取機器人結構示意圖,如圖1所示。將深度相機RGBD相機安裝在機器人手臂上進行視覺感知,如圖1(a)所示。抓取構型的邊界框,如圖1(b)所示。[x,y]表示圖像幀中的位置,[w,h]以像素表示夾持器寬度和開口寬度,θ是圖像框中矩形相對于X軸的夾角,即通過5D向量[x,y,w,h,θ]來描述圖像幀中的抓取姿勢。
圖1 視覺感知抓取機器人結構示意圖Fig.1 Structure Diagram of Visual Perception Grasping Robot
在檢測到圖像中的抓取姿態(tài)后,首先將圖像幀中表示的抓取姿態(tài)轉換到相機坐標系中,其中可以利用相機固有參數(shù)和感知到的原始深度圖像計算變換矩陣。抓取估計的最終目標是找到相對于機器人基座的邊界框的位置和角度。一旦確定攝像頭和抓取姿勢之間的齊次變換后,可以根據(jù)機器人運動學計算抓取姿勢與機器人底座之間的位置和方向位移:
機器人抓取姿態(tài)的估計,與抓取器和物體之間的最佳接觸點有關。這些6D空間接觸點可以通過機器人手臂相對于機器人基座的6D位姿進行構型,即[X,Y,Z,yaw,pitch,roll]。
在不喪失普適性的情況下,可以假設機器人手臂沿著實驗臺法線接近物體,或者對于其他情況,可以用抓取中心在物體上的表面法線作為接近方向,因此抓取姿勢的角度可以簡單地通過偏航角來確定。
對于平移,圖像拍攝點到實驗室工作臺之間的高度是固定的,或者可以通過原始深度圖像像素值計算。通過這些簡化的程序,可以發(fā)現(xiàn)抓取檢測所需的位姿構型由[X,Y,yaw]組成,模型應該根據(jù)捕獲的RGB或深度圖像找到正確的構型。此外,還有兩個特征為每一個獨特的抓取提供有用的信息,一個是夾持器的開口寬度H,這是由檢測出的物體大小和幾何細節(jié)決定,另一個是抓取區(qū)域的寬度W。最后通過5D 向量來描述可能的抓取區(qū)域,即[X,Y,yaw,H,W]。所有這些特征都可以通過攝像機的固有特性和機器人的結構構型映射到圖像幀。
抓取矩形的大小隨物體及其幾何細節(jié)的變化而變化,為了適應物體,模型應考慮預測不同大小的抓取矩形。對于普通的CNN,卷積層和池化層的組合逐步生成層次特征圖。
隨著層的深入,特征映射的接受域變大,可以獲得分辨率降低、語義信息增加的層。較低層次的特征圖有更多的圖像細節(jié),并能夠預測小的抓取矩形。相比之下,高級特征圖包含更多抽象的語義信息,且能夠回歸大的抓取矩形。僅將抓取檢測單元附加到最高或最低(最精細)層,將分別導致抓取區(qū)域邊界框參數(shù)回歸不準確或識別失敗。
這里提出了一種密集連接的FPN,即下采樣部分,上采樣部分及其橫向連接,作為特征提取器。下采樣部分從每個ResNet階段的最后一層輸出中選取,即輸出大小相同的圖層。
然后將這些來自不同層的特征映射進行密集融合,提取圖像的語義信息。這些融合的特征圖可以在精確的定位和豐富的語義信息之間實現(xiàn)很好的平衡,并發(fā)送給預測單元,整個模型,如圖2所示。
圖2 整體模型結構示意圖Fig.2 Schematic Diagram of Overall Model Structure
特征提取器的下采樣部分由ResNet-50構造[9],得到一系列標度步長為2的標度特征圖,每個最后剩余塊的激活輸出,記為[D2,D3,D4,D5],是系統(tǒng)中的下采樣特征圖。與輸入圖像相比,這些特征圖的步幅為[4,8,16,32]像素。然后,通過對應的對應特征圖Di和所有之前上采樣的融合層的橫向連接生成融合層,記為[Q5,Q4,Q3,Q2]。最高層Q5是通過對特征圖D5上操作的(1×1)核獲得,融合層[Q5,Q4,Q3,Q2]計算為:
其中,Ki為從最上層(5)到最后一層(j=i+1)的所有前融合層的連接,即:
融合層Q2的形成過程示意圖,如圖3所示。Q2是之前所有上采樣層(Q3,Q4,Q5)和下采樣特征圖D2的融合,抓取姿態(tài)估計可以通過兩階段抓取檢測器從這些融合層中獲得。
圖3 融合層Q2的形成Fig.3 Formation of Fusion Layer Q2
抓取姿勢檢測單元根據(jù)融合的特征圖中生成密集的抓取預測,檢測單元分為兩個階段,包括第一階段的粗抓取區(qū)域檢測和第二階段的抓取姿態(tài)細化。在第一階段中,大部分可能的抓取區(qū)域通過錨點策略獲得。錨點是一系列預定義的水平邊界框,具有不同的大小和縱橫比,位于圖像中密集平鋪的錨點上。錨點的設置應該覆蓋大部分的抓取矩形[10],除了旋轉角度,旋轉角度會在第二階段回歸。將這些錨點作為參考,以預測抓取區(qū)域的可能性,并得到粗抓取框參數(shù),包括位置和尺度。抓取建議網絡是一個輕量級網絡,在整個圖像上滑動,以搜索潛在的對跖抓取。
在第二階段,基于建議裁剪的融合圖,并使用感興趣區(qū)域(ROI)池化策略提取固定長度特征,并將其發(fā)送到分類頭和回歸頭進行精細化抓取預測。由于抓取檢測任務只包含單個類別,即抓取區(qū)域與否,第二階段分類頭與第一階段相同,用于預測正抓取區(qū)域的可能性。
與之前固定錨點和建議數(shù)量的對象檢測方法不同,本研究通過保證正樣本和負樣本之間的平衡來計算損失和更新模型參數(shù)。選取300個得分最高的錨點作為池,隨機選取最多128個正錨點和128個負錨點。第二階段的訓練也是類似的過程,選擇最多32個正面建議和32個負面建議。使正樣本的數(shù)量等于每個階段的負樣本的數(shù)量,即使沒有正面建議,在第二階段也至少有16個抽樣的負面建議,以防模型訓練過擬合到第一階段,即該模型產生零個正面建議以生成第二階段的零損失(Lg-cls=0,Lg-reg=0)。
抓取姿態(tài)檢測管道在每個階段都包含兩種損失。在第一階段為建議分類損失Lp-cls和提議位置和大小回歸損失Lp-reg。對于第二階段,有夾持可能性預測損失Lg-cls和定向抓取姿態(tài)和尺寸回歸損失Lg-reg??倱p失L的計算方法為:
第一階段和第二階段損失的計算過程相似,只是在第一階段使用錨點作為參考,計算地面實況和預測之間的回歸損失,而在第二階段使用第一階段生成的建議作為參考,在第二階段中存在角度回歸損失。在這兩個階段中,使用平滑L1損失(Ls-L1)來計算錨點(或建議)與地面實況的偏移量,以及錨點(或建議)與預測的偏移量之間的回歸損失。
其中,objn=1 表示前景,其中可能存在正抓姿,否則視為背景,不進行下一步的回歸處理。由于只計算了第二階段抓姿預測頭中的角度回歸損失,因此對于Lp-reg的計算不包括角度,即j∈{x,y,ω,h}。第n個偏移量v=[tx,ty,tw,th,tθ],有:
其中,[x,y,w,h,θ]表示地面實況姿勢,[xa,ya,wa,ha,θa]和[x',y',w',h',θ']分別代表錨盒和預測的抓取姿勢。抓取的預測損失Lp-cls和Lg-cls為交叉熵損失,λ1,λ2和λ3是這些損失的加權,設置為[1.0,1.0,1.0]。
使用Cornell抓取數(shù)據(jù)集和Jacquard數(shù)據(jù)集[11]的抓取數(shù)據(jù)集來評估所提抓取姿態(tài)檢測算法的性能,首先,通過Cornell抓取數(shù)據(jù)集對抓取模型進行評估,通常會通過圖像和對象兩種不同的策略對數(shù)據(jù)集進行分割。與圖像分割相比,采用對象分割時,訓練數(shù)據(jù)集和測試數(shù)據(jù)集的對象沒有重疊,更接近真實場景。本研究選擇了面向對象的分割策略來比較模型性能。然后,使用標準矩形度量來確定抓取預測是否正確。該度量同時考慮了預測邊界框的位置和角度。對于正確的預測,Jaccard指數(shù)應該大于0.25。Jaccard指數(shù)定義為地面實況和預測之間的交集與并集的比率。模型用80%的樣本訓練,用20%的樣本測試。對于對象分割,每個對象的捕獲圖像數(shù)量不同,導致不同數(shù)量的測試圖像,這增加了檢測精度的隨機性。
對于Cornell抓取數(shù)據(jù)集,由于訓練圖像的數(shù)量有限,檢測精度隨每個訓練時期而變化。通過同時考慮角度誤差和Jaccard指數(shù),研究了Cornell 抓取數(shù)據(jù)集和Jacquard數(shù)據(jù)集上的檢測精度,如表1、表2所示??梢钥闯觯狙芯克崮P驮趦蓚€數(shù)據(jù)集上都比其他方法獲得了更高的檢測精度。RGB-d模態(tài)策略是將RGB和深度模態(tài)結合起來,用對應的深度圖像替換藍色通道。僅采用深度模態(tài)訓練的模型準確率達到91.6%,而采用RGB-d 模態(tài)和RGB模態(tài)訓練的模型準確率更高。對于Cornell 抓取數(shù)據(jù)集,真實捕獲的深度圖像是有噪聲的,尤其是在圖像邊界和物體邊緣處,因此引入相應的RGB模態(tài)可以提高抓取檢測精度。在尺寸為(420×420)的輸入圖像下,本研究所提模型的檢測率約為35Hz,可以滿足大多數(shù)實時機器人應用的要求。對于Jacquard數(shù)據(jù)集上的檢測精度,由于模擬的深度圖像清晰準確,使用RGB模態(tài)時并沒有太大的提高?;趯ο蠓指畹臋z測精度,所提模型顯示了精確抓取姿勢的能力。
表1 Cornell Grasp數(shù)據(jù)集的性能比較Tab.1 Performance Comparison of Cornell Grass Datasets
表2 Jacquard數(shù)據(jù)集上的檢測精度Tab.2 Detection Accuracy on Jacquard Data Set
從Cornell 抓取數(shù)據(jù)集中選取的全尺寸RGB圖像評估示例,如圖4所示。
圖4 這里模型在Cornell 抓取數(shù)據(jù)集上的檢測Fig.4 Detection of Our Model on Cornell Grab Dataset
從上到下,每一行分別代表輸入的RGB圖像、第一階段的抓取建議和第二階段的抓取檢測結果。粗略的抓取建議在模型的第一階段生成,抓取姿態(tài)預測則在第二階段提供。與Jacquard數(shù)據(jù)集相比,Cornell 抓取數(shù)據(jù)集中的真實捕獲圖像在背景中的噪聲更大,導致第一階段產生假陽性建議,可通過第二階段的細化過程進行過濾。密集連接的特征圖和兩階段的抓取檢測器確保了對多種尺寸和復雜形狀的對象成功的抓取檢測。
所提模型從Jacquard 數(shù)據(jù)集訓練集的抓取檢測,如圖5 所示。可以看出Jacquard 數(shù)據(jù)集訓練模型的輸入、中間階段和輸出的實例,使用錨點作為參考有助于生成高質量的建議。
圖5 所提模型在Jacquard數(shù)據(jù)集訓練集的抓取檢測Fig.5 Grab Detection of the Proposed Model in Jacquard Dataset Training Set
基于上述模型,本節(jié)通過實驗對模型的合理性進行驗證,設計了兩個實驗來檢驗模型檢測精度,其中模型由Cornell抓取數(shù)據(jù)集進行訓練。首先以不同的姿勢多次抓取單個物體,然后抓取堆疊在一起的各個物體,以驗證抓取檢測器在現(xiàn)實世界中的有效性。在實驗中,可以使用RGB或深度圖像生成抓取姿勢預測,然后使用深度圖像計算相應的抓取高度。與深度圖像相比,RGB圖像的噪聲更小,但容易受到光照條件的影響。因此,在實驗中使用深度圖像作為模型輸入來消除這些誤差。
本研究開展了兩個抓取實驗,包括一個單物體抓取實驗和一個多物體抓取實驗。在實驗中使用的對象均沒有出現(xiàn)在訓練數(shù)據(jù)中。得出實驗結果如下:
(1)實驗1:收集了42個物體,覆蓋了機器人在現(xiàn)實世界中可能具有的大部分抓取姿態(tài)。這些被選中的物體在形狀、顏色、大小和材質上都有所不同,以挑戰(zhàn)抓取姿勢檢測模型。在實驗過程中,每個物體都被以“扔”的方式隨機放在實驗臺上三次,因此總共進行了126次抓取試驗,實驗1的抓取試驗,如圖6所示。
圖6 抓取機器人實驗1示意圖Fig.6 Schematic Diagram of Grasping Robot Experiment 1
第一行中,機器人手首先移動到預定義的初始位置,以便安裝在腕部的深度相機拍攝對象的照片。第二行中,基于捕獲的深度圖像,模型試圖找到最佳抓取區(qū)域。第三行中,將夾持邊界框轉換為相對于機器人基座的空間姿勢。第四行中,機器人手移動到與生成的夾持姿勢對齊的位置,并閉合手指。第五行中,機器人夾持物體以提起。可以看出所提模型成功地生成了準確的抓取姿勢。失敗的原因主要是高度執(zhí)行誤差造成,高度執(zhí)行誤差主要來自于深度相機的傳感噪聲,而這種誤差會導致夾持器無法接觸到物體。
(2)實驗2:提出多物體抓取實驗,其中物體之間密集重疊。這個實驗更具挑戰(zhàn)性與前兩者相比,因為背景并不干凈,預測抓取應該更準確,以避免夾持器和“背景”對象之間的碰撞。此外,不僅對象沒有出現(xiàn)在訓練數(shù)據(jù)中,而且訓練后的模型在訓練過程中從未遇到過雜亂的場景。
收集了36個形狀、大小和顏色各異的物體,并將它們隨機分成4個不同的組,每組包含9個物體。對于每組物體,都將其放入不透明的盒子中,并用力搖晃以確保其隨機性和無序性,然后再將其放入工作空間中。機器人系統(tǒng)從這些物體中檢測抓取姿勢,然后選擇得分最高的一個由執(zhí)行單元去實現(xiàn)。系統(tǒng)逐個抓取物體,直到清理工作空間,如圖7所示。
圖7 抓取機器人實驗3示意圖Fig.7 Schematic Diagram of Grasping Robot Experiment 3
抓取實驗在不同的相機初始位置下重復三次,失敗案例的原因分類為位置誤差(P)、尺寸誤差(S)、角度誤差(A)、高度誤差(H)和不穩(wěn)定(NS)。其中P、S和A與抓取預測有關,H和NS主要是由于深度感知不確定性和夾持器閉合力不足造成。由[P,S]引起的失敗嘗試次數(shù)從(5,8)減少到(2,1),這表明所提方法在解決復雜場景下的抓取檢測時是有效的。
針對視覺機器人的物體抓取控制,與之前的抓取檢測相比,結合了特征金字塔網絡(FPN)算法實現(xiàn)機器人對物體抓取的精確控制,得出的主要結論有:
(1)使用密集連接的FPN作為特征提取器,將語義更強的高級特征圖與分辨率更高的低級特征圖融合,將兩階段檢測單元附加到每個融合層,根據(jù)融合的特征圖中生成密集的抓取預測,這種模型結構保證了對各種物體的精確抓取。
(2)FPN利用CNN固有的多尺度層次結構,為檢測頭部提供多個具有更豐富語義信息的特征映射。該模型在Cornell抓取數(shù)據(jù)集和Jacquard 數(shù)據(jù)集上訓練,檢測準確率分別為94.1%和89.6%。驗證了所提模型在抓取姿勢估計的有效性。
(3)在理論分析的基礎上,設計了兩種不同真實場景的物體抓取控制實驗,結果表明視覺機器人具有抓取各種日常物體的潛力,進一步驗證了所提模型的合理性。