System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術屬于位姿識別,尤其涉及一種基于3d視覺的挖掘機位姿識別方法。
技術介紹
1、挖掘機作為應用廣泛的工程機械,其作業安全和工作效率對整個項目的進展至關重要。然而,挖掘機的工作環境復雜多變且往往較為惡劣,傳統的監控方式主要依賴人工現場監控,通過人工目測和簡單設備結合人員經驗進行危險預警。但這種方法不僅費時費力,還可能因人為疏忽而無法及時預警危險,同時也無法準確評估工作效率。
2、盡管已有眾多相關技術研究旨在解決這些問題,但當前的挖掘機監測技術仍存在諸多不足。接觸式傳感器監測手段雖然有效,但成本高昂且維護不便。視覺監測技術則易受視角遮擋影響,導致識別效果大打折扣,而多攝像頭融合或深度攝像頭的使用又受到場景限制,校準過程復雜,且對安裝和操作要求較高。此外,一些依賴可視化標記的監測方法在建筑工地上也面臨標記易遮擋、損壞或脫落的問題。基于卷積神經網絡(cnn)的方法雖然具有潛力,但在面對未包含在訓練數據中的挖掘機型號時,需要重新收集數據并訓練模型,這既耗時又費力。而當前采用的合成圖像數據集方法又存在模型精度不足和背景不夠逼真的問題,這可能導致訓練出的模型在實際應用中的識別準確度無法達到要求。
3、綜上所述,盡管已有多種挖掘機監測技術被提出,但到目前為止,還沒有成熟的技術方案能夠較好地監控挖掘機的狀態,因此人工現場監控仍然是主要的監控方法。鑒于此,本專利技術提出了一種基于3d視覺的挖掘機位姿識別方法。
技術實現思路
1、本專利技術的目的在于提供一種基于3d視覺的挖
2、為實現上述目的,本專利技術提供如下技術方案:
3、一種基于3d視覺的挖掘機位姿識別方法,包括以下步驟:
4、步驟s1、選取關鍵點,根據關鍵點建立實際挖掘機數據集和合成圖像數據集;
5、步驟s2、使用yolov8x-pose-p6作為預訓練模型進行訓練;
6、步驟s3、對挖掘機進行運動學建模,得到投影3d坐標;
7、步驟s4、將投影3d坐標進行坐標變換,獲得關鍵點的投影2d坐標;
8、步驟s5、對估計2d坐標進行預處理;
9、步驟s6、建立優化目標函數;
10、步驟s7、結合全局優化算法和局部優化算法,計算挖掘機最佳3d位姿;
11、步驟s8、對3d位姿進行平滑處理,使挖掘機位姿變化連續。
12、進一步的,所述步驟s1的具體步驟如下:
13、步驟s11、選擇關鍵點并設計標簽;
14、選取七個關鍵點:動臂鉸點、斗桿鉸點、鏟斗鉸點、鏟斗尖點、動臂油缸鉸點、斗桿油缸鉸點和鏟斗油缸鉸點;
15、設計關鍵點標簽[x,y,visible],包含一個挖掘機包圍框和七個關鍵點,其中x、y分別代表橫、縱坐標;visible代表可見性,0為超出視圖、1為遮擋、2為可見;
16、步驟s12、建立實際挖掘機數據集和合成圖像數據集;
17、建立實際挖掘機數據集:通過在土方作業現場拍攝挖掘機,并進行手動標簽標注,然后進行離線增強;
18、建立合成圖像數據集:利用blender建立挖掘機虛擬模型,模擬環境并隨機化參數合成不同圖片,同時提取挖掘機關鍵點的3d坐標,并將其投影為2d坐標,生成對應的標簽文件。
19、進一步的,所述步驟s2的具體過程為:使用yolov8x-pose-p6作為預訓練模型,對實際挖掘機數據集和合成圖像數據集進行訓練,以識別挖掘機的關鍵點和包圍框。
20、進一步的,所述步驟s3的具體過程如下:
21、通過標準d-h法建立挖掘機運動學模型,得到相鄰連桿i-1到i間的坐標變換矩陣:
22、
23、其中,代表從第i-1個連桿的坐標系到第i個連桿的坐標系的變換矩陣;ai為沿xi軸方向,zi軸到zi+1軸的距離;αi為繞xi軸,zi軸到zi+1軸的旋轉角度;i為沿zi軸方向,xi軸到xi+1軸的距離;θi為繞zi軸,xi軸到xi+1軸的旋轉角度,θ0為回轉角;θ1為動臂關節轉角;θ2為斗桿關節轉角,θ3為鏟斗關節轉角;為旋轉矩陣,表示第i個關節相對于第i-1個關節的旋轉;為平移矩陣,表示從第i個關節相對于第i-1個關節的平移;
24、利用坐標變換矩陣,求出所選七個關鍵點在挖掘機坐標系下的3d坐標其中下標為關鍵點序號,上標為所在坐標系的序號;
25、將各點的笛卡爾坐標乘以傾斜角θ4相關的旋轉矩陣r,得到考慮地面不平整的挖掘機運動學模型;
26、
27、其中,p'i為加入傾斜角θ4后關鍵點的新的投影3d坐標;p'0為加入傾斜角θ4后回轉中心軸與地面的交點的新的投影3d坐標;為回轉中心軸與地面的交點坐標;
28、在建立挖掘機運動學模型并計算其關鍵點的3d坐標時涉及的位姿變量包括回轉中心軸到地面的交點在相機坐標系下的x,y,z坐標、回轉角θ0、動臂關節轉角θ1、斗桿關節轉角θ2、鏟斗關節轉角θ3和傾斜角θ4這八個變量。
29、進一步的,所述步驟s4的具體過程如下:
30、將關鍵點的投影3d坐標(p'i,i=1,2,3,…,7)轉換到像素坐標系中的2d坐標(p'i,i=1,2,3,…,7),表示為:
31、
32、其中,p'i為像素坐標系中的2d坐標;t為轉置操作;k為內參矩陣;e為外參矩陣;zc,i為第i個關鍵點在相機坐標系下的z坐標;
33、對關鍵點坐標進行畸變矯正,經畸變矯正后,關鍵點在像素坐標系下的投影2d坐標為:
34、
35、其中,pi為畸變矯正后的像素坐標系下關鍵點的投影2d坐標;kc=1+k1ri2+k2ri4,k1,k2為由相機標定確定的畸變參數,ri為第i個關鍵點原始坐標值到圖像中心的距離。
36、進一步的,所述步驟s5的具體過程如下:
37、選定第一幀中挖掘機在圖像中的位置,并依次檢測后一幀中與其位置最相近的挖掘機,以剔除其他挖掘機,同時利用挖掘機包圍框的面積大小作為輔助判據以排除其他挖掘機;當發生遮擋時,對每一幀中每個2d點坐標進行離群值檢測和擬合修補。
38、進一步的,所述步驟s6的具體過程如下:
39、將關鍵點的投影2d坐標pi和估計2d坐標之間的誤差最小化作為目標,優化得到pi中的位姿變量建立投影誤差函數,將變量求解問題轉換為優化問題:
40、首先將與pi之間距離差的加權和作為目標函數obj1:
41、
42、其中,wi為第i個關鍵點對應的和pi坐標差絕對值的權值,始終保持
43、然后使用pes和pi計算動臂鉸點和斗桿鉸點間的估計長度投影長度l1,斗桿鉸點和鏟斗鉸點間的估計長度投影長度l2,鏟斗鉸點和鏟斗尖點間的估計長度投影長度l3,并將各估計長度與投影長度之差的和作為目標函數obj2:
...
【技術保護點】
1.一種基于3d視覺的挖掘機位姿識別方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的基于3d視覺的挖掘機位姿識別方法,其特征在于,所述步驟S1的具體步驟如下:
3.根據權利要求2所述的基于3d視覺的挖掘機位姿識別方法,其特征在于,所述步驟S2的具體過程為:使用YOLOv8x-pose-p6作為預訓練模型,對實際挖掘機數據集和合成圖像數據集進行訓練,以識別挖掘機的關鍵點和包圍框。
4.根據權利要求3所述的基于3d視覺的挖掘機位姿識別方法,其特征在于,所述步驟S3的具體過程如下:
5.根據權利要求4所述的基于3d視覺的挖掘機位姿識別方法,其特征在于,所述步驟S4的具體過程如下:
6.根據權利要求5所述的基于3d視覺的挖掘機位姿識別方法,其特征在于,所述步驟S5的具體過程如下:
7.根據權利要求6所述的基于3d視覺的挖掘機位姿識別方法,其特征在于,所述步驟S6的具體過程如下:
8.根據權利要求7所述的基于3d視覺的挖掘機位姿識別方法,其特征在于,所述步驟S7的具體過程如下:
9.根
...【技術特征摘要】
1.一種基于3d視覺的挖掘機位姿識別方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的基于3d視覺的挖掘機位姿識別方法,其特征在于,所述步驟s1的具體步驟如下:
3.根據權利要求2所述的基于3d視覺的挖掘機位姿識別方法,其特征在于,所述步驟s2的具體過程為:使用yolov8x-pose-p6作為預訓練模型,對實際挖掘機數據集和合成圖像數據集進行訓練,以識別挖掘機的關鍵點和包圍框。
4.根據權利要求3所述的基于3d視覺的挖掘機位姿識別方法,其特征在于,所述步驟s3的具體過程如下:
5....
【專利技術屬性】
技術研發人員:姚宗偉,李昊旻,黃鴻溥,靳鴻鵬,李學飛,陳辰,高振云,榮浩,
申請(專利權)人:吉林大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。