利用DSO SLAM進行單目三維建模

2021-08-20 15:40:23 字數 1981 閱讀 7122

direct sparse odometry(dso)

是業內很流行的lsd_slam系統作者的學生jakob engel開發的,實測效能和精度優於lsd_slam。dso已經被作者開源到

github

,同時還一併開源了dso在ros系統下的使用**例項

本篇教程將演示如何在小強機械人開發平台上安裝dso和dso_ros, 利用小強平台上的攝像頭實時執行dso進行三維建模

。先上最後

1.dso的安裝

注:因為小強開發平台已經提前安裝好了不少dso需要的依賴包,下文將跳過這些包的安裝,請其它開發平台的讀者參考github上的完整安裝教程進行安裝。

1.a安裝依賴包

sudo apt-get install libsuitesparse-dev libeigen3-dev libboost-dev

sudo apt-get

install libopencv-dev

cd ~/documents/

git clone

1.c繼續配置依賴包
sudo apt-get install zlib1g-dev

cd ~/documents/dso/thirdparty

tar -zxvf libzip-1.1

.1.tar.gz

cd libzip-1.1

.1/./configure

make

sudo make install

sudo cp lib/zipconf.h /usr/local/include/zipconf.h

1.d編譯安裝
cd ~/documents/dso/

mkdir build

cd build

cmake ..

make -j

2.dso_ros的安裝

注:原作者提供的源**有兩個分支,master分支對應rosbuild版,catkin分支對應catkin版。對於現代ros版本,推薦使用catkin版本,安裝使用更方便。但是作者的catkin分支存在**缺陷,實際無法安裝使用,因此下文將安裝我們藍鯨智慧型修改之後的dso_ros版本。

cd ~/documents/ros/src

git clone

cd ..

export dso_path=/home/xiaoqiang/documents/dso

catkin_make

3.開始使用

注:小強開發平台的攝像頭標定檔案是相同的,因此可以直接執行下列命令,請其它開發平台的讀者自行修改camera.txt檔案中的內容(留意每行的最後結尾不能有空格)以及命令中的image topic名字

rosrun dso_ros dso_live image:=/camera_node/image_raw calib=/home/xiaoqiang

/documents/ros

/src/dso_ros/camera.txt mode=1

現在移動攝像頭,就能開始對周圍環境進行三維建模,移動過程避免急轉彎和劇烈運動。對於小強使用者,請先遙控小強運動同時用rosbag錄製/camera_node/image_raw這個image topic資料,然後重放,這樣可以實現大範圍的建模。rosbag重放前,需要關閉usb攝像頭節點(sudo service startup stop),否則會有影象發布衝突。

dso原著**鏈結

本文原文出處鏈結

單目線雷射三維重建

單目雷射的三維重建,就是使用乙個雷射頭加乙個工業相機來完成三維重建,但是重建出來的是一條線上的三維點。如果要得到物體整體的三維點還需要拼接的操作,一般會配置乙個步進電機來精確控制運動。另外一種就是使用雙目加標記點的方法。這些本文先不做介紹了,先介紹單目雷射的標定過程吧 實驗過程 1 將雷射線投射到乙...

雙目三維重建 單目結構光三維重建 多頻外差單目重建

基於結構光的重建包括了雙目三維重建和單目三維重建,雙目的重建方法主要採用雙目立體視覺演算法來匹配兩幅的相位資訊,可以參考我的多頻外差雙目重建,這裡不做介紹了。主要還是介紹下我做的單目三維重建,當然結構光採用的方法還是基於多頻外差的方法。傳統的單目演算法是將投影儀裝置當做乙個反向相機來處理的,其 實質...

利用matlab將三維資料擬合成三維曲線

擬合三維曲線貌似可以用相信回歸做,但是matlab有乙個自帶的polyfit函式,可以直接算出二維資料的擬合曲線,用的是最小二乘法的思想。思路其實很簡單,將兩條擬合的二維曲線組合在一起就是三維曲線了。先上 吧 clc clear all fb load leafcloud bend.txt fb l...