日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

显示三维图片序列_SLAM结合三维检测

發布時間:2023/12/10 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 显示三维图片序列_SLAM结合三维检测 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

11.11---11.17

? 在此前一周進行yolo與cube slam整合的時候,采用ros通信的方式。存在兩個問題:一個是darknet檢測不到目標,就不對外發布檢測結果,會造成檢測結果和圖片序列對不上。另一個問題是圖片發布給darknet和cube slam的時間戳難以對齊。本周采用將darknet編譯成動態鏈接庫的形式,可以像調用API一樣直接使用darknet預先定義的類型與模型。

? 在使用時只需要將動態鏈接庫的.so文件和頭文件darknet.h在cmakelist里包含進來就行。

? 這部分工作是在304的服務器上進行,但是304臺式機不能使用sudo命令,因此無法安裝ros,這一周剩下時間在給我的臺式機配置cuda和ros環境。

11.18---11.24

? 上周采用直接darknet編譯為動態鏈接庫的方式,測試可行。這周主要將yolo加入object_slam并實現功能。

object_slam包中實現的并非完整的SLAM算法,只能算一個VO,實際上作者是利用g2o做簡單的位姿估計與優化。

在將二維檢測加入三維檢測中遇到一個問題。算法的第一幀需要相機坐標系與世界坐標系的轉換關系,這個世界坐標系不是第一幀相機坐標系,而是x,y軸所在平面為地平面,z軸向上的一個坐標系,x軸和y軸指向無所謂。因此可以簡化問題,假設x軸指向相機,即指向相機坐標系z軸反方向。

https://www.zhihu.com/video/1185163673403912192

? 為了方便計算旋轉矩陣,還可以假設相機的pitch和roll都為0,這樣世界坐標系變換到相機坐標的旋轉變換就是y軸90°,x軸180°。

但是實際這樣做檢測不到立方體,包括github上issue也有人提出這個問題,即采用這種旋轉矩陣或者四元數得不到結果,必須偏一點角度。實際上我測試TUM數據集的時候,提供的ground truth顯示相機pitch大約為-30°,攝像頭使用這個姿態測試的效果比較好。視頻如下:

11.25---12.1

本周主要是在orb slam中加入三維檢測功能,以實現最終需求。

由于三維檢測只與位姿有關,因此改動主要是在tracking線程里。

在主程序,例如mono_tum.cc,mono_kitti.cc中,

SLAM.TrackMonocular(im, tframe);

TrackMonocular是http://system.cc中的類方法,在TrackMonocular函數的最后調用了http://Tracking.cc中的函數

GrabImageMonocular(im, timestamp, msg_seq_id);

這個函數進入tracking線程,主要是講圖片轉成灰度圖,并調用orb slam提出的勻速模型函數

TrackWithMotionModel()

yolo功能實現,線條檢測和三維檢測主要是在這個部分實現。

編譯的時候報錯:darknet定義的list結構體沖突了。原因是在前幾周的代碼中都沒有用到c++ STL里的list類型,但是orb slam里應該是用到了,因此才會沖突。

總結

以上是生活随笔為你收集整理的显示三维图片序列_SLAM结合三维检测的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。