?

基于改進CenterNet的托盤定位方法①

2022-11-07 09:08朱丹平周恒森
計算機系統應用 2022年10期
關鍵詞:中心點叉車關鍵點

朱丹平,朱 明,周恒森

(中國科學技術大學 信息科學技術學院,合肥 230026)

1 引言

隨著我國物流行業的發展,以及勞動力成本的不斷上升,自動化倉儲物流近年來不斷發展,自動化運輸設備的需求不斷提升.自動叉車是一種自動駕駛車輛,可以完成對貨物的自動搬運,能有效降低人力成本,被廣泛應用于自動化物流中.在倉儲物流中,因為貨物的外觀存在大小、形狀、顏色等明顯的差異,所以直接對貨物定位非常困難.而托盤用于承載和搬運貨物,且具有通用的規格和形狀.因此自動叉車一般通過托盤定位來叉取和搬運貨物.

托盤定位方法主要分為以下3 類: 第1 類是基于激光雷達傳感器的檢測方法.趙俊宏等人[1]根據2D 激光雷達掃描結果分析托盤的距離和姿態.雖然基于激光雷達的方法對光照有比較好的魯棒性,但是激光雷達成本高昂、不利于大規模普及.第2 類是傳統圖像處理的方法.Cui 等人[2]使用傳統圖像處理的方法直接分析圖像本身特征,如角點、邊緣和顏色等特征來檢測托盤.Seelinger 等人[3]提出了一種利用標簽來定位托盤的方法,但存在標簽安裝和維護的成本,而且在使用過程中容易損壞.武文漢[4]使用tof 相機和紙標簽分別完成了對遠距離托盤和近距離托盤的檢測定位,但是算法速度較慢,實時性不高,因此難以應用于工業場景.此類方法易受到光照等環境因素影響,魯棒性較差.第3 類是基于深度學習的托盤檢測方法.Mohamed 等人[5]使用了Faster R-CNN[6]來訓練模型,實現了對托盤的定位.李天健等人[7]使用改進的SSD 算法[8]實現了倉儲環境中托盤的定位.葉偉[9]首先使用YOLOv4 算法[10]對托盤進行目標檢測,再使用GrabCut 分割方法[11]提高精度.此類方法準確率高,抗干擾能力強,而且成本遠低于激光雷達,適合部署于實際工業場景中.

在實際物流場景中,自動叉車為完成自動叉卸貨任務,需要將叉鏟對準托盤中心點,將叉鏟方向與托盤水平方向保持一致,以保證安全無碰撞地叉取托盤.因此托盤定位任務可分為2 部分: (1)托盤中心點定位;(2)托盤水平方向估計.目前基于目標檢測的托盤定位算法,一般使用矩形框進行定位,只能檢測托盤區域位置,使用目標框中心點對托盤中心點定位精度不高,且無法有效估計托盤水平方向,難以應用于自動叉車系統中.基于此問題,本文提出了一種基于改進Center-Net[12]的托盤定位方法.在目標檢測的基礎上,通過托盤關鍵點檢測,在精準定位托盤中心點的同時,完成對托盤水平方向的估計.

本文的貢獻如下: (1)本文使用遷移學習的方法,將人體姿態估計引入托盤定位任務,完成了托盤關鍵點定位.(2)針對托盤定位任務,本文對CenterNet 網絡做出2 點改進: 1)改進關鍵點分組方法,提出基于托盤關鍵點位置的區域約束方法; 2)提出關鍵點回歸評價指標與自適應補償,提高關鍵點檢測精度.(3)在關鍵點定位的基礎上,提出基于幾何約束的托盤中心點計算方法,以及托盤水平方向估計方法.(4)使用RGB 攝像頭拍攝并標注了托盤數據集.

2 相關工作

Mohamed 等人[5]、李天健等人[7]與葉偉[9]所使用的目標檢測算法,都需要人工設計特定長寬比的錨框,以訓練出更好的檢測器.但是人工設計的錨框難以兼顧所有長寬比的目標,針對此問題,Law 等人提出了CornerNet[13],通過檢測目標的左上角和右下角關鍵點來檢測目標,不需要人工設計錨框.ExtremeNet[14]通過檢測目標的頂部、底部、最左側、最右側和中心點這5 點信息來完成目標檢測.以上兩種無錨框目標檢測算法在關鍵點檢測之后,都需要進行復雜且耗時的后處理步驟,這大大降低了算法的實時性.而Zhou 等人[12]提出的CenterNet 較好解決了這個問題.CenterNet 將目標檢測簡化成為對目標中心點的檢測.使用3×3 最大池化選取目標中心點,從而避免了NMS 等后處理步驟.

2.1 CenterNet 目標檢測算法

CenterNet 可選取3 種不同的骨干網絡,分別為Hourglass[15]、ResNet[16]、DLA[17],都是編碼-解碼結構.其中Hourglass 在3 種骨干網絡中精度最高但預測速度較慢,而使用DLA 可以得到較好的精度以及較快的速度,因此選擇DLA 作為算法的骨干網絡.如圖1 所示,CenterNet 網絡的頭部可分為3 個互相獨立的部分,分別完成目標框中心點、中心點偏置和目標框寬高的檢測.CenterNet 使用二維高斯核函數將輸入圖像映射成為熱力圖作為訓練目標.二維高斯核函數的公式為:

圖1 CenterNet 網絡結構圖

其中,Yxyc是歸一化后的熱力圖,(x,y)為熱力圖中點的坐標,(p~x,p~y)為目標中心點4 倍下采樣后的坐標(向下取整),σp是自適應標準差[13].CenterNet 目標檢測任務中損失函數為Ldet:

Ldet由3 部分組成,分別為置信度損失Lk、下采樣損失Loff和目標框寬高損失Lsize,超參數λsize為0.1,λoff為1.Lk用來訓練目標中心點位置.由于正樣本遠少于負樣本數量,為了使模型在訓練時更加關注于難檢測的樣本,Lk使用focal loss[18].因為輸出的熱力特征圖為原圖大小的0.25 倍,所以中心點位置預測存在離散化誤差,Loff用來訓練下采樣偏置的大小.

其中,Yxyc=1表示正樣本,Y?xyc是目標檢測的預測值.N是圖像中正樣本的數量.超參數α 和 β分別為2 和4.

其中,為預測的中心點偏置大小,p為中心點真實值坐標,R為下采樣倍數,中心點坐標p下采樣R倍后向下取整得到.

其中,sk=(wk,hk)為目標k的寬高,為寬高估計值.

2.2 CenterNet 人體姿態估計

CenterNet 具有良好可擴展性,可以將CenterNet應用到人體姿勢估計任務中.人體姿勢估計的任務要求估計出圖像中每個人體實例的人體關鍵點位置.首先直接回歸每個關鍵點與中心點之間的偏移量,得到關鍵點的初步定位,使用L1 損失函數Lreg進行訓練.然后為了細化關鍵點定位,類似目標檢測,通過熱力特征圖以及中心點偏置來進行關鍵點檢測,并以初步定位位置為依據進行分組.關鍵點檢測使用目標檢測任務中的置信度損失LK和偏移損失Loff進行訓練.

其中,E為關鍵點個數,M為關鍵點掩碼,對于圖像中被遮擋等不可見的關鍵點Mki=0,可見關鍵點Mki=1.=(xkj,ykj)為第k個目標的第j個關鍵點坐標的偏移量.關鍵點檢測失函數為Lkey=Lk+Loff+Lreg,得到總損失函數Loss:

在多人姿態檢測場景中,通過關鍵點檢測得到的結果無法確定屬于哪個人體實例.CenterNet 使用初步定位結果作為分組依據,使用3 項規則進行匹配:(1)所匹配的熱力特征圖關鍵點置信度得分大于0.1;(2)匹配歐氏距離最近的初步定位位置; (3)僅匹配目標框內的關鍵點.

3 算法

3.1 算法框架

如圖2 所示,不同類型托盤外觀存在一定差異,主要可分為兩柱形托盤和三柱形托盤.為適應不同類型托盤,選取托盤正面外輪廓的4 個角點作為關鍵點.從左上角點開始順時針將關鍵點分別編號為1,2,3,4.托盤定位算法可分為托盤檢測、托盤關鍵點檢測以及托盤中心點計算與水平方向估計的后處理部分.算法框架如圖3 所示,其具體流程如算法1 所示.算法1 中的所有步驟均在圖3 中標出,其中本文提出的工作用星號標記,在原算法基礎上改進的工作用菱形標記.

圖2 托盤類型圖

圖3 托盤定位算法圖

算法1.托盤定位算法1)將輸入圖片通過仿射變換轉為512×512 固定大小輸入;2)通過骨干網絡生成128×128 高分辨率熱力特征圖;3)基于熱力特征圖進行托盤檢測獲得托盤目標框;4)直接回歸得到托盤關鍵點初步定位位置;5)使用自適應補償對初步定位位置進行調整;6)使用熱力特征圖進行關鍵點檢測;

7)以托盤目標框和關鍵點初步定位位置為分組依據,對步驟6)的結果進行關鍵點分組;8)基于托盤關鍵點定位結果,計算托盤中心點,估計托盤的水平方向.

3.2 基于關鍵點位置的區域約束

CenterNet 網絡為了對關鍵點進行分組,只對目標框內的關鍵點進行匹配.由于托盤關鍵點分布于托盤邊緣,托盤檢測輕微的精度誤差就可能導致目標框無法包含關鍵點位置,嚴重影響關鍵點分組結果,針對此問題,本文根據托盤關鍵點分布特點,如圖4 所示,分別為左右兩邊的關鍵點設置了兩組約束區域.

圖4 區域約束對比圖

其中,Pleft和Pright分別為托盤左右兩邊關鍵點的約束區域,(xm,ym)為托盤目標框中心點,(w,h)為托盤目標框寬高,(x,y)為圖像中點的坐標.

3.3 關鍵點回歸自適應補償

關鍵點回歸結果作為關鍵點定位的初步結果,是關鍵點檢測的分組依據.較差的關鍵點回歸結果,會直接影響關鍵點定位的最終精度.因為關鍵點分布于托盤外邊緣,所以關鍵點的最小外接矩形與托盤的目標框相近.托盤目標框中心點與第i個關鍵點的歐式距離為,目標框中心點與目標框角點歐式距離Ddet.Ddet反映了目標的大小情況,對有一定參考意義.在與Ddet數值差距較大時,認為托盤關鍵點回歸效果較差.根據二者大小關系得到關鍵點回歸評價指標.

其中,=(xi,yi)為第i個托盤關鍵點回歸的坐標.將目標框角點從左上角按順時針編號為1,2,3,4,=(,)為第i個托盤目標框角點坐標.當與Ddet接近時,接近于1,關鍵點回歸效果好,補償比重小;當與Ddet差距較大時,接近于0,關鍵點回歸效果差,補償比重大.

3.4 基于幾何約束的托盤中心點計算方法

自動叉車相機與托盤空間關系如圖5 所示,坐標系z軸指向相機正前方,y軸垂直向下.因為托盤承載貨物一般水平放置于地面,所以設定托盤放置平面與自動叉車相機坐標系xz平面平行.Pi為托盤關鍵點(i=1,2,3,4),Pi在自動叉車相機坐標系中的坐標為(Xi,Yi,Zi).Pc為托盤中心點,在自動叉車相機坐標系中的坐標為(Xc,Yc,Zc).pi為托盤關鍵點在歸一化平面中的坐標(xi,yi),pc為托盤中心點在歸一化平面的坐標(xc,yc).基于針孔相機模型,本文提出基于幾何約束的托盤中心點計算方法,通過托盤關鍵點計算托盤中心點.

圖5 叉車相機與托盤空間關系圖

其中,K為相機內參矩陣.因為托盤放置平面與自動叉車相機坐標系xz平面平行,在自動叉車相機坐標系中Z1=Z4,Z2=Z3,根據式(11)可得:

托盤中心點Pc與托盤關鍵點的空間關系為:

將式(12)-式(15)帶入式(11)得到托盤中心點坐標(xc,yc):

3.5 托盤水平方向估計

為了估計托盤水平方向,本文在自動叉車相機坐標系中分析了托盤關鍵點坐標與水平方向的關系.如圖5,定義托盤水平方向的角度θ為托盤正面所在平面P1P2P3與坐標系x軸正方向所成夾角,設定Z1<Z2時θ為正,反之為負.通過托盤關鍵點p1和p2的y坐標之差Δy=y1-y2來估計托盤水平方向.關鍵點P1和P2在空間中的關系如式(17),其中W為關鍵點P1和P2的空間距離,也即托盤正面長度.

將式(17)帶入式(11),得到:

在Z1不變的前提下,Δy對θ求導:

由式(18)和式(19)可知,當 θ為0 時,p1和p2的y 坐標之差 Δy為0; 當θ大于0 時,Δy大于0; 當θ小于0 時,Δy小于0.同一距離下 Δy在θ ∈[-0.5π,0.5π]的區間內單調遞增,因此通過 Δy可以有效估計托盤水平方向.考慮到關鍵點檢測誤差,設Δy∈[-10,10]時,托盤水平方向正對; Δy<-10時,托盤水平方向左偏; Δy>10時,托盤水平方向右偏.

4 實驗分析

4.1 數據集

本文采用的數據集為筆者自己采集制作的數據集.筆者使用1920×1080分辨率的RGB 攝像頭拍攝了一個數據集.如圖6 所示,攝像頭安裝在自動叉車系統前方的叉齒架上.叉齒架可上升下降,在不同高度拍攝托盤照片.整個數據集拍攝了合力叉車公司2 種類型的托盤,在多個場景中采集了時長60 分鐘的視頻.從中選取1 251 幀圖片,使用coco-annotator 工具標注.將其中80%圖片作為訓練集,10%用作驗證集,10%用作測試集.

圖6 數據集采集裝置圖

4.2 實驗過程

實驗所用的機器配置如表1 所示.實驗有兩個評價指標.第1 個是關鍵點定位精度指標APkp,用以衡量關鍵點定位的精度,APkp越高代表托盤關鍵點定位越精確.第2 個指標是筆者提出的托盤中心點定位指標平均定位精度ALP(average location precision),通過托盤定位中心點與托盤實際中心點的歐式距離Dc和托盤真實框面積Abbox得到.

表1 訓練所用機器配置表

在ALP中只考慮檢測目標框和真實框IOU大于0.5的樣本,式(20)中N為樣本數量.ALP越高代表對托盤中心點定位越準確.因為數據集規模較小,模型在訓練時隨機對輸入圖像進行反轉,同時疊加一個服從正態分布的隨機白噪聲,用以提高模型的魯棒性.學習率設為0.000 25,訓練的epoch 設為120,為了防止過擬合,筆者在驗證集Loss 不再下降時停止訓練.

4.3 實驗結果

為了驗證本文對CenterNet 算法提出改進方法的有效性,筆者使用關鍵點定位精度指標APkp,做了模型自身的縱向對比實驗.將關鍵點位置約束設為改進1,關鍵點回歸自適應補償設為改進2,實驗結果如表2 所示,兩項改進均顯著提高了APkp,證明了本文方法的有效性.

表2 縱向對比實驗表

為了驗證本文方法定位托盤中心點的有效性,筆者使用評價指標ALP,與其他目標檢測算法進行了橫向對比實驗.對于其他目標檢測算法,筆者使用托盤目標框中心點作為托盤中心點的定位結果.實驗結果如表3 所示.可以看到,本文方法對比其他目標檢測算法,中心點定位精度均有顯著提高.

表3 橫向對比實驗表

為驗證本文方法估計托盤水平方向的有效性,筆者分別選取托盤左偏、右偏與正對3 種具有代表性的情況進行實際測試.結果如圖7 所示,圖7(a)中,關鍵點p1和p2的y坐標之差Δy=-75,托盤水平方向左偏;圖7(b)中,Δy=1,托盤水平方向正對; 圖7(c)中,Δy=59,托盤水平方向右偏.通過 Δy可有效對托盤水平方向進行估計.

圖7 托盤方向估計圖

5 結論與展望

本文提出了一種基于關鍵點檢測的托盤定位方法.首先將CenterNet 人體姿態估計引入到托盤定位任務中,完成對托盤外邊緣4 個關鍵點的檢測.然后改進關鍵點分組約束,并提出關鍵點回歸自適應補償,顯著提高了托盤關鍵點定位精度.在關鍵點檢測的基礎上,提出了托盤中心點計算與托盤水平方向估計方法,提高了托盤中心點的定位精度,解決了目前目標檢測算法無法有效估計托盤水平方向的問題.與其他托盤檢測方法相比,本文提出的方法表現優異,下一步計劃將本文方法應用于自動叉車系統中.

猜你喜歡
中心點叉車關鍵點
SAEL-FORKLIFT(SAEL叉車)
論建筑工程管理關鍵點
水利水電工程施工質量控制的關鍵點
Scratch 3.9更新了什么?
如何設置造型中心點?
磨課,一段痛苦與快樂交織的過程
利用定義法破解關鍵點
尋找視覺中心點
機械能守恒定律應用的關鍵點
叉車租賃市場發展及監管對策
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合