当前位置: 首页 > article >正文

3dmatch-toolbox详细安装教程-Ubuntu14.04

3dmatch-toolbox详细安装教程-Ubuntu14.04

  • 前言
  • docker搭建Ubuntu14.04
  • 安装第三方库
    • 安装cuda/cundnn
    • 安装OpenCV
    • 安装Matlab
  • 安装以及运行3dmatch-toolbox
    • 1.安装测试3dmatch-toolbox(对齐两个点云)
  • 总结

前言

paper:3DMatch: Learning Local Geometric Descriptors from RGB-D Reconstructions 【CVPR-2017】
githup::https://github.com/1447121704/3dmatch-toolbox
提示:3dmatch-toolbox源码作者只在Ubuntu 14.04上安装运行。
最近在docker的ubuntu14.04容器上配置3dmatch-toolbox运行环境时踩了很多坑,在这期间查阅了很多资料和博客,于是想对安装过程进行总结,方便自己反复查阅以及分享经验避免大家重复踩坑。
博主是用docker在ubuntu14.04容器中安装的3dmatch-toolbox,后续会打包成docker的镜像文件分享给大家。

docker搭建Ubuntu14.04

windows10下docker的安装教程参考博主之前的博文《【docker】Windows10系统下安装并配置阿里云镜像加速》,这里默认大家都装好docker了。
docker命令大全参考

# 获取镜像ubuntu14.04
docker pull snoopy86/desktop-dockers
# 查看镜像
docker images
# 创建(并启动)gpu版本容器,将容器内部的端口5900和22映射到宿主机上的相同端口
docker run -it --privileged=True --shm-size 8g --gpus all --name 3dmatch -p 5900:5900 -p 22:22 -d snoopy86/desktop-dockers:latest
# 只查看正在运行的容器
docker ps
# 进入容器
docker attach 3dmatch 
# 或者
docker exec -it 3dmatch /bin/bash

win10下cmd进行docker容器内部:

这里镜像博主找了很久,但是有个小问题,root用户的密码不知道:

解决办法如下,在cmd进行ubuntu容器时候设置root的密码

# 设置root密码
passwd root
# 这里也重置ubuntu(用户)的密码
passwd ubuntu

# 查看ubuntu版本
lsb_release -a
# 更新apt库,更新软件列表
sudo apt-get update
sudo apt-get upgrade

安装第三方库

安装cuda/cundnn

【参考】博主的ubuntu18.04下深度学习环境配置详细教程,按照比较类似博主不再赘述。

假如你是和博主一样用docker使用ubuntu14.04容器来搭建环境,推荐按照博主的选项来。

安装OpenCV

【OpenCV安装教程参考】
【OpenCV2.4.11官网地址】,直接下载安装即可(推荐)。

# 安装依赖项
sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev
#下载源码包到Downloads(不推荐)
cd Downloads
wget https://github.com/opencv/opencv/archive/2.4.11.zip
# 解压opencv源代码并进入目录
sudo apt-get install unzip
unzip opencv-2.4.11.zip && cd opencv-2.4.11
# 创建并进入构建目录
mkdir build && cd build
# 开始编译和安装
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D CUDA_GENERATION=Kepler ..
# 4线程数量,根据电脑性能选择合适的数字
make -j4
sudo make install
#验证安装是否完成
# 安装pkg-config工具
sudo apt-get install -y pkg-config
# 查询OpenCV版本
pkg-config --modversion opencv
# 查询OpenCV库
pkg-config --cflags opencv
# 查询头文件目录
pkg-config --libs opencv

安装Matlab

【参考】
1.下载安装包和破解文件
matlabR2016b源码 提取码:kov1
下载的Linux matlabR2016b文件夹内有三个文件:

ubuntu14.04有个神坑,不能安装百度云,这里博主是下载到win10下,然后将三个文件夹打包后从win10主机复制文件到docker容器ubuntu14.04。

# 主机复制文件到docker容器
docker cp  hostfilepath  containerid:/filepath
#  eg:
docker cp  E:\BaiduNetdiskDownload\Linux.zip acd42a2ba5f2://home/ubuntu/Downloads


# 解压文件夹
unzip Linux.zip
# 解压Matlab 2016b Linux64 Crack.rar文件
sudo apt-get install unrar
cd Linux && unrar x Matlab_2016b_Linux64_Crack.rar
# 解压出如下文件
# license_server.lic
# Matlab_2016b_Linux64_Crack.rar
# R2016b
# license_standalone.lic
# MATLAB_Production_Server
# readme.txt
# 在Documents下新建matlab文佳夹用于挂载镜像
mkdir /home/ubuntu/Downloads/matlab
# 挂载镜像1
sudo mount -t auto -o loop /home/ubuntu/Downloads/Linux/R2016b_glnxa64_dvd1.iso /home/ubuntu/Downloads/matlab


2.安装Matlab

# 在挂载1的文件夹外执行
sudo /home/ubuntu/Downloads/matlab/install


同意条款下一步,在解压生成的readme.txt文件中找到"Use a File Installation Key":

一路下一步,直到系统提示挂载镜像2:

卸载镜像1,挂载镜像2,然后点击ok继续安装,等待程序运行结束:

# 新开一个命令行
sudo umount /home/ubuntu/Downloads/matlab
# 挂载到同一位置
sudo mount -t auto -o loop /home/ubuntu/Downloads/Linux/R2016b_glnxa64_dvd2.iso /home/ubuntu/Downloads/matlab	



3.注册并运行

# 安装完成后,将解压得到的R2016b/bin文件复制到安装目录下替换原有文件
sudo cp -r /home/ubuntu/Downloads/Linux/R2016b/bin/ /usr/local/MATLAB/R2016b/
# 再将解压得到的license_standalone.lic复制到安装目录
sudo mkdir /usr/local/MATLAB/R2016b/bin/licenses/ 
sudo cp /home/ubuntu/Downloads/Linux/license_standalone.lic /usr/local/MATLAB/R2016b/bin/licenses/ 
# 完成上述操作后把挂载卸载
sudo umount /home/ubuntu/Downloads/matlab
# 执行命令运行
sudo /usr/local/MATLAB/R2016b/bin/matlab


弹出激活框,然后导入/usr/local/MATLAB/R2016b/bin/licenses/ 文件目录下选择license_standalone.lic这个文件,即可激活。

完成安装。

安装以及运行3dmatch-toolbox

1.安装测试3dmatch-toolbox(对齐两个点云)

源码作者给出的过程和效果示意图:

# 新建3DMatch文件夹
mkdir 3DMatch && cd 3DMatch
# 通过git下载3dmatch-toolbox源码,需要科学上网
sudo apt-get install git 
git clone https://github.com/andyzeng/3dmatch-toolbox.git 3dmatch-toolbox
cd 3dmatch-toolbox/core
# 编译 C++/CUDA 演示代码
./compile.sh
# 下载3DMatch预训练权重
./download-weights.sh # 3dmatch-weights-snapshot-137000.marvin

下载权重出现以下问题,打开download-weights.sh文件添加 “–no-check-certificate”


加载两个示例 3D 点云,计算其 TDF 体素网格体积,并计算随机表面关键点及其 3DMatch 描述符,保存到磁盘上的二进制文件。

./demo ../data/sample/3dmatch-demo/single-depth-1.ply fragment-1
./demo ../data/sample/3dmatch-demo/single-depth-2.ply fragment-2 

成功运行的截图:


保存到磁盘上的对应二进制文件。

可能出现 “ error while loading shared libraries: libopencv_core.so.2.4: cannot open shared object file: No such file or directory” 错误

解决方法:

# 编辑修改文件ld.so.conf
sudo gedit /etc/ld.so.conf
# 插入信息,路径要根据自己的具体情况设置
include /usr/local/include/opencv/*
/sbin/ldconfig -v
# 保存退出执行以下命令
sudo ldconfig   

opencv下是头文件:

插入的内容:
=
在 Matlab 中运行以下脚本,加载关键点和3DMatch描述符,并使用RANSAC注册两个点云,对齐的点云的可视化保存到文件“result.ply”。

# 启动 Matlab 
sudo /usr/local/MATLAB/R2016b/bin/matlab
# 执行命令
demo

该文件也可以使用Meshlab或任何其他3D查看器进行查看。

注意:由于默认情况下随机选择的关键点不正确,首次尝试此演示时可能会导致对齐失败。


这里博主先暂时告一段落,后续会把其他部分内容补上。

总结

尽可能简单、详细的介绍3dmatch-toolbox的安装流程以及解决了安装过程中可能存在的问题。后续会根据自己学到的知识结合个人理解讲解3dmatch-toolbox的原理和代码。

原文地址:https://blog.csdn.net/yangyu0515/article/details/135906484
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.kler.cn/a/229295.html

相关文章:

  • 具身智能研究报告
  • 17.Word:李楠-学术期刊❗【29】
  • C++:PTA L2-003 月饼
  • C++ ——— 仿函数
  • 《多阶段渐进式图像修复》学习笔记
  • YOLOv11-ultralytics-8.3.67部分代码阅读笔记-head.py
  • Web APIs 2 事件
  • 解决“使用Edge浏览器每次鼠标点击会出现一个黑色边框”的问题
  • Spring Web Header 解析常见错误
  • opencv0014 索贝尔(sobel)算子
  • 如何在Termux中使用Hexo结合内网穿透工具实现远程访问本地博客站点
  • python实现rdbms和neo4j的转换
  • #Z0458. 树的中心2
  • 解决跨域问题8种方法,含网关、Nginx和SpringBoot~
  • 【数据结构与算法】之排序系列-20240205
  • 人工智能之大数定理和中心极限定理
  • Java中SQL注入的防范与解决方法
  • OpenCV 图像处理六(傅里叶变换、模板匹配与霍夫变换)
  • ubuntu22.04@laptop OpenCV Get Started: 000_hello_opencv
  • HomeAssistant系统添加HACS插件商店与远程控制家中智能家居
  • LeetCode、746. 使用最小花费爬楼梯【简单,动态规划 线性DP】
  • Webpack插件浅析
  • 用 Delphi 程序调用 Python 代码画曲线图 -- 数据来自 Delphi 程序
  • OpenHarmony开源鸿蒙开发之旅
  • python+flask人口普查数据的应用研究及实现django
  • R语言:箱线图绘制(添加平均值趋势线)