1 Star 0 Fork 3

唐明颖 / instant-ngp

forked from nyy / instant-ngp 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

#xcolmap 安装 instant-ngp 安装测试

介绍

git clone -b rel https://github.com/nvlabs/instant-ngp 可以从官方的github拉取,但依赖较多,所以此工程是提供instant-ngp的全部依赖文件和colmap3.6版本。 安装的整体难点:对colmap 安装依赖下载太耗时; 对instant-ngp需要依赖大量其他的git文件 需要多次执行命令下载依赖:git submodule update --init; 总之下载的依赖太费时!!!!!

docker

此镜像使用  telminov/ubuntu-18.04-python3.7:latest   是安装cudn11.4
xhost +
sudo docker run --gpus all  --device=/dev/video0 -e DISPLAY=unix$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -itd -v  /home/nyy/dockerShare/LF/NVIDIA_colmap:/home --name="colmap" -p 10011:10006 telminov/ubuntu-18.04-python3.7:latest  bash

sudo docker commit 55 colmap:v1
sudo docker save -o colmap-v1.tar.gz colmap:v1
sudo docker load -i colmap-v1.tar.gz
共享文件夹://home/nyy/dockerShare/LF/NVIDIA_colmap

基础环境

cuda-11.4

cuda必须先安装,要不colmap无法调用GPU

bash cuda_11.4.0_470.42.01_linux.run
不要选择驱动

进入/usr/local/cuda-11.4/samples/1_Utilities/deviceQuery目录
make -j32
./deviceQuery 测试cuda是否安装成功

sudo cp ./include/* /usr/local/cuda-11.4/include
sudo cp ./lib64/libcudnn* /usr/local/cuda-11.4/lib64
sudo chmod a+x /usr/local/cuda-11.4/include/cudnn*
sudo chmod a+r /usr/local/cuda-11.4/lib64/libcudnn*

export CUDA_HOME=/usr/local/cuda-11.4
export PATH=/usr/local/cuda-11.4/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH

cat /usr/local/cuda-11.4/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
nvcc --version
1)安装基础环境
apt-get update && apt-get install -y \
    git \
    build-essential \
    vim	
2)cmake-3.23 安装
wget https://github.com/Kitware/CMake/releases/download/v3.22.2/cmake-3.22.2.tar.gz
tar -zxvf cmake-3.22.2.tar.gz
cd cmake-3.22.2/
./bootstrap

make -j32
sudo make install
hash -r
2)Ceres-Solver 安装

Google开源了Ceres Solver库,是一个解很多非线性最优化问题的高效、方便的工具

####### 1)Ceres-Solver 依赖安装

依赖项:
Eigen,好用的数学库,无源码,全部是头文件。
CMake,工程生产工具,跨平台。
Glog,log库,选装。TBB,选装。
Gflags,SuiteSparse, CXSparse,BLAS,LAPACK主要是用来解大型稀疏矩阵的,必须要装。
Linux系统下可以很方便的用命令行安装各种库。
安装依赖
apt-get update && apt-get install -y \
    libeigen3-dev \
    libsuitesparse-dev \
    libgoogle-glog-dev \
    libgflags-dev 
apt-get install liblapack-dev libcxsparse3.1.2 libgtest-dev 

apt-get install  libatalas-base-dev 

####### 1)Ceres-Solver 安装

下载ceres,链接为https://github.com/ceres-solver/ceres-solver/tree/2.0.0

cd ceres-solver-2.0.0  (这里下载的是2.0版本的)
mkdir build
cd build
cmake ..
make -j32
make install
colmap 依赖安装
1)boost安装,Ubuntu可以直接命令行
apt-get update && apt-get install -y \
    libboost-program-options-dev \
    libboost-filesystem-dev \
    libboost-graph-dev \
    libboost-regex-dev \
    libboost-system-dev \
    libboost-test-dev 
3)freeimage
apt-get update && apt-get install -y libfreeimage-dev
安装失败可以用源码编译: 待测试
wget http://downloads.sourceforge.net/freeimage/FreeImage3170.zip
#解压
unzip FreeImage3170.zip -d freeImage
cd freeImage
sudo make
4)openGL
apt-get install build-essential 
apt-get update && apt-get install -y libgl1-mesa-dev

apt-get update && apt-get install -y freeglut3-dev   

apt-get update && apt-get install -y libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev
5)Qt5 colmap使用GUI的依赖
apt-get install qt5-default qtcreator
apt-get update && apt-get install -y \
    qtbase5-dev \
    libqt5opengl5-dev \
    libcgal-dev \
    libcgal-qt5-dev 
colmap 安装
https://github.com/colmap/colmap.git
选择版本下载colmap-3.7   
cd ./colmap-3.7              
mkdir build && cd ./build    
cmake ..                     
make -j32                    
make install

测试colmap是否安装成功

colmap 
colmap gui
若是黑色可能会有以下错误:
(base) root@8febe657eda1:/home/instant-ngp# colmap gui
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
QOpenGLWidget: Failed to create context
QOpenGLWidget: Failed to create context
composeAndFlush: makeCurrent() failed

问题1 :QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root' export XDG_RUNTIME_DIR=/usr/lib/ export RUNLEVEL=3 问题2 :libGL error: No matching fbConfigs or visuals found

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast

find / -name *libGL.so*
root@8febe657eda1:/home/instant-ngp# find / -name *libGL.so*
/usr/local/cuda-11.4/nsight-systems-2021.2.4/host-linux-x64/Mesa/libGL.so.1.5.0
/usr/local/cuda-11.4/nsight-systems-2021.2.4/host-linux-x64/Mesa/libGL.so
/usr/local/cuda-11.4/nsight-systems-2021.2.4/host-linux-x64/Mesa/libGL.so.1
/usr/local/cuda-11.4/nsight-compute-2021.2.0/host/linux-desktop-glibc_2_11_3-x64/Mesa/libGL.so.1.5.0
/usr/local/cuda-11.4/nsight-compute-2021.2.0/host/linux-desktop-glibc_2_11_3-x64/Mesa/libGL.so
/usr/local/cuda-11.4/nsight-compute-2021.2.0/host/linux-desktop-glibc_2_11_3-x64/Mesa/libGL.so.1
/usr/lib/x86_64-linux-gnu/libGL.so.1.0.0
/usr/lib/x86_64-linux-gnu/libGL.so
/usr/lib/x86_64-linux-gnu/libGL.so.1
是因为冲突导致的 配置环境变量
export LD_LIBRARY_PATH=/usr/local/cuda-11.4/nsight-systems-2021.2.4/host-linux-x64/Mesa${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
或者
apt-get install libnvidia-gl-470
apt-get update && apt-get install -y libnvidia-gl-470

问题3:QOpenGLWidget: Failed to create context whereis qmake export QT_SELECTION=/usr/bin/qmake apt-get install qt5-default

测试colmap 简单使用教程

colmap mapper \
    --database_path ./flower_rose/database.db \
    --image_path ./flower_rose/images \
    --output_path ./flower_rose/sparse
	
位姿态 有.bin文件转换为txt   instant-ngp中需要txt
colmap model_converter \
    --input_path ./data/nerf/flower_rose/sparse/0 \
    --output_path ./data/nerf/flower_rose/sparse \
    --output_type TXT
此部分参考:
https://blog.csdn.net/ling7319/article/details/123630362
https://blog.csdn.net/weixin_43736326/article/details/120660585
https://blog.csdn.net/qq_20373723/article/details/119113659
instant-ngp 安装
git clone -b rel https://github.com/nvlabs/instant-ngp
因为需要依赖大量其他的git文件 需要多次执行命令下载依赖:git submodule update --init

安装instant-ngp

cmake . -B build
cmake --build build --config RelWithDebInfo -j 16
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

视频转换图片:可以缩放抽帧

python3 ./scripts/convert_video.py --input ./VID_20220521_192056.mp4 \
                                  --output /home/instant-ngp/data/nerf/grass_tree/data/ \
                                  --show_image 1 \
                                  --scale 1
								  
python3 ./scripts/convert_video.py --input ./VID_20220521_190845.mp4 \
                                  --output /home/instant-ngp/data/nerf/flower202205/data/ \
                                  --show_image 1 \
                                  --scale 1
								  
参考:https://vincentqin.tech/posts/instant-ngp/#more

colmap计算位姿 并转换为txt格式

colmap model_converter \
    --input_path ./data/nerf/grass_tree/sparse \
    --output_path ./data/nerf/grass_tree/sparse \
    --output_type TXT
	
colmap model_converter \
    --input_path ./data/nerf/flower202205/sparse/ \
    --output_path ./data/nerf/flower202205/sparse/ \
    --output_type TXT

把txtx图片路径等转换为json

python3 scripts/colmap2nerf.py --aabb_scale 16 --images  ./data/nerf/grass_tree/data \
                              --text ./data/nerf/grass_tree/sparse \
                              --out ./transform_grass.json

python3 scripts/colmap2nerf.py --aabb_scale 16 --images  ./data/nerf/flower202205/data \
                              --text ./data/nerf/flower202205/sparse \
                              --out ./transform_flower202205.json

./build/testbed --scene data/nerf/fox ./build/testbed --scene ./data/nerf/tussock_tiny/transform.json ./build/testbed --scene data/nerf_synthetic/lego/transforms_train.json ./build/testbed --scene ./data/nerf/flower_rose/transform.json ./build/testbed --scene transform_flower202205.json ./build/testbed --scene transform_grass.json

./build/testbed --scene data/sdf/armadillo.obj ./build/testbed --scene data/image/albert.exr

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

特技

  1. 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
  2. Gitee 官方博客 blog.gitee.com
  3. 你可以 https://gitee.com/explore 这个地址来了解 Gitee 上的优秀开源项目
  4. GVP 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
  5. Gitee 官方提供的使用手册 https://gitee.com/help
  6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 https://gitee.com/gitee-stars/

空文件

简介

docker内 安装xcolmap 测试instant-NeRF 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/tang-mingying/instant-ngp.git
git@gitee.com:tang-mingying/instant-ngp.git
tang-mingying
instant-ngp
instant-ngp
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891