?

基于孿生網絡的協作機器人目標追蹤

2023-01-12 07:14韓江雪郭小明湯永恒王麗鑫潘斌
遼寧石油化工大學學報 2022年6期
關鍵詞:分支卷積機器人

韓江雪,郭小明,湯永恒,王麗鑫,潘斌

(1.遼寧石油化工大學 計算機與通信工程學院,遼寧 撫順 113001;2.遼寧石油化工大學 理學院,遼寧 撫順 113001)

智能制造的發展離不開機器人,發展智能機器人是打造智能制造裝備平臺、提升制造自動化和智能化水平的必經之路。智能機器人在工業上廣泛應用的同時,普通消費市場對輕型協作機器人的需求也與日劇增,人機協作將給未來社會的生產和制造帶來根本性變革[1]。目前,協作機器人的應用場景是模仿工業機器人,而其中最為關鍵的一步就是通過攝像頭指導機械手進行精準移動,即協作機器人目標跟蹤,這也是機械手擺脫單調的示教器控制和拖拽軌跡記錄,通過攝像頭與現實世界有機連接起來的重要一步。目標跟蹤結合協作機器人可以在跟蹤錄像、標定校準、手勢操作、高精度動作模仿、工件夾取等多方面展開更多應用。

1 研究現狀

目標跟蹤任務可以被分解為分類任務和回歸任務。分類任務旨在通過分辨前景和背景得出目標的粗略位置,而回歸任務則是預測目標的精確位置,通常用跟蹤框標出。以往的目標跟蹤方法依據回歸任務的方法差異可以被分為三類。第一類為采用不準確且低效的多尺度檢驗預測目標位置,包括判別式相關濾波器(Discriminative Correlation Filter)2]和SiamFC(Fully-Convolutional Siamese Networks)[3]。其 中,SiamFC使用AlexNet[4]網絡作為骨干網絡,其處理速度較快但跟蹤精度不夠。第二類為采用梯度上升方法優化多個初始包圍框以預測最終跟蹤框的ATOM(Accurate Tracking by Overlap Maximization)[5]算法,此方法顯著提高了精度但也帶來了巨大的運算負擔,初始包圍框的數量和分布等超參數也需要仔細調整。第三類為運用區域建議網絡RPN(Region Proposal Network)預測跟蹤框的位置,包括SiamRPN[6]、SiamRPN++[7]和DaSiamRPN[8]。其中,SiamRPN++將骨干網絡更換為更深層的ResNet[9]網絡,使跟蹤精度相比第一類方法有所提高,但降低了處理速度。由于使用了基于錨框(Anchor-Based)的跟蹤器,在跟蹤過程中會選擇幾種固定大小的錨框在原圖中做滑動以獲得跟蹤位置,影響模型的泛化能力[10]。

2 本文算法

用于協作機器人的目標跟蹤算法需要考慮的首要目標便是中心點位置,所以本文選擇無錨的方法進行跟蹤。綜合權衡協作機器人的具體工作需求、硬件因素以及相關算法中存在的問題,提出了基于改進的RepVGG作為骨干網絡的無錨目標跟蹤算法,整個網絡分為孿生網絡模塊、分類回歸模塊和機器人執行模塊。網絡整體框架如圖1所示。圖中,L、T、R、B分別表示回歸模塊預測的目標位置相對于中心點向左、向上、向右、向下的偏移量;n、m為輸出特征圖的通道數。

圖1 網絡整體框架

2.1 孿生網絡模塊

孿生網絡是一種神經網絡框架,它由模板分支和搜索分支兩個結構相同、權值共享的骨干網絡構成。骨干網絡提取輸入圖像的特征后,通過一個神經網絡來計算模板分支輸入與搜索分支輸入之間的相似度,經過計算得到較大相似度的位置,此處即為需要跟蹤的目標。本文采用改進的RepVGG網絡替換傳統的ResNet網絡作為骨干網絡,通過深度互相關運算與多層特征融合方法提取不同細粒度的圖像特征,以達到更好的跟蹤效果。

2.1.1 骨干網絡 RepVGG網絡的設計思路部分來自ResNet網絡,其訓練時采用多分支結構,并設計了如式(1)形式的模塊。

式中,x、g(x)、f(x)分別為恒等分支、1×1卷積分支和3×3卷積分支。RepVGG網絡使用1×1和3×3卷 積 分 支,ResNet網 絡 是 跨 層 連 接,而RepVGG網絡是每層都使用此兩種分支。RepVGG網絡可以在訓練階段通過對上述模塊的堆砌來構建深度卷積神經網絡,然后通過簡單的代數變換將三個分支轉換為y=h(x)的形式。其中,h(x)代表帶偏置的3×3卷積,參數可由訓練好的模型參數轉換得到。ResNet和RepVGG網絡結構如圖2所示。

圖2 ResNet和RepVGG網絡結構

RepVGG原網絡用于提取圖像的特征,整個網絡分為5個階段,其卷積操作的總步長為32。然而,卷積操作的步長越長,得到的特征圖也就越小,不利于目標跟蹤任務中對跟蹤框的預測,適當減少步長可以有效提高跟蹤精度。本文采用RepVGG-A2作為骨干網絡,其中第4、5階段的步長調整為1,其余階段的步長均為2,以尺寸255×255作為網絡輸入,修改后的RepVGG-A2訓練模型的網絡參數如表1所示。每階段RepVGG訓練的網絡結構如圖3所示。其中,RepVGG Block的個數N=每階段的層數-1。

表1 修改后的RepVGG-A2訓練模型的網絡參數

圖3 每階段RepVGG訓練模型的網絡結構

2.1.2 訓練模型轉換為部署模型 RepVGG的另一個特點是可以進行參數重構,將訓練好的模型通過參數重構轉變為運行時使用的部署模型,將多分支網絡重構為單分支網絡,降低顯存占用,在沒有損失模型性能的前提下提高運行速度。RepVGG網絡每層的卷積操作可以表示為:

式中,Ki為輸入信道數為C1、輸出信道數為C2、核大小為i的卷積層;μi、σi、γi、βi分別為經過核大小為i的卷積后的批歸一化(Batch-Normalization)層的參數;BN為批歸一化操作;μ0、σ0、γ0、β0分別為恒等分支(Identity Block)的批歸一化層參數;A(1)∈RN×C1×H1×W1、A(2)∈RN×C2×H2×W2分別為輸入和輸出;*為卷積操作。

根據批歸一化運算公式,需要先計算xi中所有元素的均值μi和標準差σi,對x1i、x2i、…、xm i進行歸一化處理得到分布?,并引入縮放參數γi和平移參數βi得到新的分布yi,其表達式見式(3)。批歸一化處理示意圖如圖4所示。

圖4 批歸一化處理示意圖

式中,xbi為當前輸入第b個特征圖中第i個點的值;yib為xbi經過批歸一化后的輸出值。

根據式(3),將每個批歸一化層及其之前的一個卷積層轉換成一個帶有偏差向量bi的卷積層,其卷積核為i。變化后的歸一化計算式如式(4)所示。

由于恒等分支可視為值為1的1×1卷積操作,所以1×1卷積分支的參數變換同時適用于恒等映射分支;恒等分支的卷積核可視為一個3×3的單位矩陣,將3個偏置向量相加得到最終的偏置,將恒等分支卷積核、做一層0填充(Zero Padding)后的1×1卷積核以及3×3卷積核對應相加,得到最終帶有偏置的3×3卷積核。

2.1.3 深度互相關與多層特征融合 利用RepVGG深度網絡提取特征之后,將不同深度的層聚合起來以同時獲得更多尺度的特征。視覺跟蹤需要從小到大、從粗略到精細的各種特征。聚集這些特征可以強化對跟蹤目標的定位和預測能力。

深度互相關模塊是處理兩個分支信息的核心操作。受SiamRPN++的啟發,使用深度互相關模塊來生成多個語義響應圖,其表達式為:

式中,★為逐通道進行互相關運算;X、Z分別為搜索分支輸入和模板分支輸入。生成的響應圖Map具有與φ(X)相同的通道數,且包含大量用于計算跟蹤框的信息。

模板分支和搜索分支分別輸入到共享參數的RepVGG骨干網絡中,取其中3、4、5階段的 輸出,通過自適應模塊將通道數轉為同一數量,兩兩對應進行深度互相關運算得到Mapi,分別以Map3、Map4、Map5表示;再將響應圖進行融合,得到最后的多層融合特征φ(x):

式中,MIX為特 征融合操 作。Map3、Map4、Map5的通道數n=256,φ(x)的通道數為3n。經過1×1卷積降維,將融合特征的通道數降低到m=256以減少參數數量,提高計算速度,生成最后的響應圖Map*。相比于直接對3個階段的響應圖Mapi進行加權融合,采用1×1卷積減少通道數的方法的跟蹤性能更優。

2.2 分類回歸模塊

響應圖Map*中的每個位置(i,j)都可以映射回輸入的搜索區域(x,y)。與基于錨框的跟蹤算法不同,本文算法直接對響應圖中的每個位置進行分類和回歸,并通過端到端的全卷積運算進行訓練,避免手動設置復雜的超參數。跟蹤任務被分解為兩個子任務:一個分類分支用于預測響應圖中每個位置對應的是背景還是跟蹤目標,另一個回歸分支用于計算該位置的邊界框。對分類分支采用交叉熵損失函數,對回歸分支采用IoU(Intersection over Union)損失函數。

將使用孿生網絡模塊提取的響應圖Map*輸入后續的神經網絡中,經過分類子網絡和回歸子網絡以及其后連接的卷積層(見圖5),最后在分類子分支輸出分類特征圖,其每個點包含一個2維向量,表示輸入搜索區域中相應位置的前景和背景得分,以及中心評估特征圖,其每個點給出對應位置的中心度得分。在回歸分支輸出回歸特征圖,每個點包含一個4維向量t(i,j)=(L,T,R,B),表示在搜索分支輸入圖像相應位置到真實邊界框的4個邊的距離。

圖5 分類子網絡和回歸子網絡的網絡結構

2.2.1 回歸分支 用(x0,y0)和(x1,y1)表示真實框的左上角和右下角坐標,用(x,y)表示響應圖Map*上的點(i,j)對應的搜索分支輸入圖像的坐標。對應關系(x,y)=(dis+i×總步長,dis+j×總步長)。其中,dis=[(搜索圖像尺寸-1)-(響應圖尺寸-1)×骨干網絡總步長]÷2=31?;貧w分支特征圖(i,j,:)上 每 個 點 的 回 歸 目 標t?(i,j)表示為:

式中,Ι()為特征圖上每一個點對應的標簽;(i,j,:)為回歸分支的預測結果。

真實框和預測值之間的IoU損失函數為:

2.2.2 分類子分支與中心度分支 分類子分支用交叉熵損失函數計算對應在搜索圖片上的點與真實框逐個點位的交叉熵:

式中,、分別為分類任務中正樣本與負樣本的損失函數計算結果;Ι(i,j)為對應搜索圖片的像素,通過Ι(i,j)值可判斷像素是否在真實框內。對于前景得分(i,j,0)的特征圖,在真實框內的像素的Ι(i,j)值為1,其余為0;對于背景得分(i,j,1)的特征圖,則與之相反。

從遠離跟蹤目標中心的位置得到的跟蹤框的質量往往都很低,會降低算法的性能,且協作機器人目標跟蹤更是與中心點的準確度密切相關。受FCOS[11]目標檢測算法的啟發,添加了一個與分類子分支平行的中心度分支。中心度特征圖上的每個點給出對應搜索分支輸入圖像位置的中心度得分為:

C(i,j)的值與特征圖的點對應搜索區域的位置(x,y)和跟蹤目標中心點之間的距離成正比,如果(x,y)位于背景中,則C(i,j)=0。中心度分支的整體損失函數采用BCE Loss表示為:

2.3 機器人執行模塊

目標跟蹤的主要任務是預測視頻序列中第1幀圖像中跟蹤框的位置變化。從回歸分支得到的l+r和t+b代表目標在當前幀中的預測寬度w和高度h。由于跟蹤框的大小和長寬比通常在連續的幀上只會發生微小的變化,為了使用這種時空一致性來監督預測,受SiamRPN算法啟發,對分類得分cls進行尺度懲罰;為了消除響應圖中邊緣位置對跟蹤框的影響,又對分類得分添加余弦窗懲罰。

式中,H為余弦窗;λ為平衡權重;輸出q是響應圖中具有最高得分的位置。由于沒有采用基于錨框的跟蹤方式,響應圖的每個像素都會生成預測的邊界框,在實際的跟蹤過程中,如果只將q作為跟蹤框,它將在相鄰視頻幀之間抖動。因此,從q的3×3鄰域中選擇得分最高的3個點的回歸框的加權平均值作為最后的預測框。

輸出給協作機器人的預測框的數據格式為一個4向量,包括目標中心點(x,y),以及跟蹤框的尺寸(w,h)??紤]到機械結構特性,為降低工作負擔,提高運行的流暢度,對跟蹤框的變化做平滑處理。最終的尺寸為:

式中,(gtw,gth)為前一幀完成平滑處理的預測框;α為加權參數;(w1,h1)為最終平滑后的結果。

3 實驗環境及結果

實驗訓練過程在64位ubuntu 18.04操作系統上進行,使用pytorch框架對網絡進行構建和訓練,硬件 配 置CPU為Intel Xeon(R)Platinum 816,內 存256 G,GPU為4張NVIDIA P100。實驗測試過程在64位Windows 10操作系統上進行,硬件配置CPU為Intel(R)Core(TM)i5-9400,內存8 G,GPU為NVIDIA GTX1660Ti。將模板分支和搜索分支的輸入圖像大小分別設置為127和255像素。修改后的RepVGG網絡被用作骨干網絡,該網絡參數在ImageNet上進行預訓練,然后使用其預訓練參數作為初始值來重新訓練構建的模型。

3.1 參數設置

整個訓練使用的數據集有COCO[12]、YouTube-BB[13]、LaSOT[14]、ImageNet DET[15]、ImageNet VID[15]、GOT-10K[16]。訓練過程中batchsize被設置為96,總共20個時期(epochs)通過使用初始學習率為0.001的SGD來執行。前10個時期用于訓練分類和回歸子網絡,此時骨干網絡的參數被凍結。在后10個時期,解凍RepVGG的最后3個階段的參數,使用所有的數據集進行訓練。

3.2 性能分析

LaSOT是一個包含70個子類,每類20個跟蹤序列的超大型單目標跟蹤數據集。使用1 120個跟蹤序列進行訓練,用余下的280個用于測試。由于協作機器人一般工作在室內的固定地點,因此主要關注照明變化(IV)、部分遮擋(POC)、相機運動(CM)場景下跟蹤器的性能表現。跟蹤器測試結果如圖6所示。圖中,綠框為真實值,黃框為預測值。協助機器人目標追蹤成功率及精確度如圖7所示。

圖6 跟蹤器測試結果

圖7 協助機器人目標追蹤成功率及精確度

由圖7可以看出與SiamRPN++、SiamMask[10]、SiamFC、DaSiamRPN、VITAL、DSTRCF、ECO、DSiam、StructSiam、TRACA、CSK孿生網絡跟蹤器以及其他類型的跟蹤器相比,所提算法保持了很高的水平;對比目前主流的孿生跟蹤算法SiamFC,在LaSOT數據集上的照明變化(IV)、相機運動(CM)等與協作機器人工作環境相近的場景中成功率分別提升了60%和64%,與DaSiamRPN的性能相當;在大數據集上具有如此好的效果,證明改進的孿生網絡具有良好的泛化能力。

3.3 有效性分析

為確認改進策略的有效性,繼續在LaSOT數據集上進行了對比實驗,結果如表2所示。

表2 LaSOT數據集對比實驗結果

由表2可以看出,使用中心度模塊可以提高追蹤的性能,采用RepVGG作為骨干網絡可以提高運行速度;本文算法雖然與實驗1相比準確度和成功率略有下降,但減少參數量,FPS為45幀/s,達到了實時跟蹤的效果,在精確度與實時性之間找到了相對較優的平衡點。

4 結論

提出了一種基于孿生網絡的協作機器人目標跟蹤算法,整個網絡的各個分支卷積核的尺寸大多為3×3,且不需要復雜的超參數調節;在復雜數據集上的測試也有主流孿生網絡跟蹤器的優秀性能。由于現有計算庫有CuDNN、Intel MKL等,硬件對3×3卷積的優化以及RepVGG骨干網絡的特殊設計,使整個網絡的顯存占用更低,處理速度更快,在中等性能的圖形處理器上也能達到實時處理的效果;在精確度和實時性之間找到了相對較優的平衡點。然而,在實際使用中還會有很多問題需要解決。協作機器人作為一種新型且具有高生產力的產品,只有更多地開發針對其硬件優化的高質量算法,才能廣泛地推廣到消費級市場;只有降低購買者的學習成本和使用成本,才能更好地發揮其高精度、輕便、易部署、低后期維護成本的特點,更好地提高社會生產力。

猜你喜歡
分支卷積機器人
一類離散時間反饋控制系統Hopf分支研究
軟件多分支開發代碼漏合問題及解決途徑①
基于3D-Winograd的快速卷積算法設計及FPGA實現
卷積神經網絡的分析與設計
巧分支與枝
從濾波器理解卷積
基于傅里葉域卷積表示的目標跟蹤算法
機器人來幫你
認識機器人
機器人來啦
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合