同步操作将从 nyy/instant-ngp 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#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; 总之下载的依赖太费时!!!!!
此镜像使用 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必须先安装,要不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
apt-get update && apt-get install -y \
git \
build-essential \
vim
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
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
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
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
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
apt-get install qt5-default qtcreator
apt-get update && apt-get install -y \
qtbase5-dev \
libqt5opengl5-dev \
libcgal-dev \
libcgal-qt5-dev
https://github.com/colmap/colmap.git
选择版本下载colmap-3.7
cd ./colmap-3.7
mkdir build && cd ./build
cmake ..
make -j32
make install
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 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
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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。