Meshroom各模块算法调查
目录 默认Pipline中的组件算法 参考AliceVision和meshroom程序自带说明文档 AliceVision | Photogrammetric Computer Vision Framework 下图是Meshroom默认pipline,其中实线连接的参数是初始设定的值;虚线连接的参数是实现设定的值。 ...
目录 默认Pipline中的组件算法 参考AliceVision和meshroom程序自带说明文档 AliceVision | Photogrammetric Computer Vision Framework 下图是Meshroom默认pipline,其中实线连接的参数是初始设定的值;虚线连接的参数是实现设定的值。 ...
1. 安装meshroom git clone --recursive git://github.com/alicevision/meshroom cd meshroom git checkout v2021.1.0 # <- 版本必须和Alicevision的版本相同 pip install -r requirements.txt 2. 不编译AliceVision使用meshroom 下载一个合适的 release 版本 Checkout corresponding Meshroom (ui) version/tag to avoid versions incompatibilities LD_LIBRARY_PATH=~/foo/Meshroom-2021.1.0/aliceVision/lib/ PATH=$PATH:~/foo/Meshroom-2021.1.0/aliceVision/bin/ PYTHONPATH=$PWD python3 meshroom/ui #meshroom alicevision export LD_LIBRARY_PATH=/algorithm/xxx/meshroom_save/Meshroom-2021.1.0-av2.4.0-centos7-cuda10.2/aliceVision/lib:$LD_LIBRARY_PATH export PATH=/algorithm/xxx/meshroom_save/Meshroom-2021.1.0-av2.4.0-centos7-cuda10.2/aliceVision/bin:$PATH 安装cx_Freeze (不打包项目,不用setup.py就不装) ~~pip3 install --upgrade pip pip install -i https://marcelotduarte.github.io/packages/ cx_Freeze python -m pip install cx_Freeze --upgrade~~ conda install -c conda-forge cx_freeze ...
0. 需求 修改meshroom未修改稠密点云的输出格式,需要在alicevision项目编译前修改代码 AliceVision/src/software/pipeline# vim main_meshing.cpp if(saveRawDensePointCloud) { ALICEVISION_LOG_INFO("Save dense point cloud before cut and filtering."); StaticVector<StaticVector<int>> ptsCams; delaunayGC.createPtsCams(ptsCams); sfmData::SfMData densePointCloud; createDenseSfMData(sfmData, mp, delaunayGC._verticesCoords, ptsCams, densePointCloud); removeLandmarksWithoutObservations(densePointCloud); if(colorizeOutput) sfmData::colorizeTracks(densePointCloud); sfmDataIO::Save(densePointCloud, (outDirectory/"densePointCloud_raw.abc").string(), sfmDataIO::ESfMData::ALL_DENSE); } // 修改 densePointCloud_raw.abc -> densePointCloud_raw.ply 1. Nvidia docker安装AliceVision host克隆alicevision项目 git clone --recursive https://github.com/alicevision/AliceVision.git cd AliceVision/ && git checkout v2.4.0 mkdir build && cd build cmake -DCMAKE_BUILD_TYPE=Release -DALICEVISION_USE_ALEMBIC=ON .. 装组件 参考AliceVision/CMakeLists.txt获得各组件的版本 下载编译或apt-get安装 -- Boost 1_76 found. 编译 -- OpenEXR found. (Version 2.5.8) 编译 可选: libjpeg-turbo-2.1.1 编译 -- OpenImageIO found. apt-get install libopenimageio-dev -- eigen3 3.4.0 编译(可选) -- git clone ceres-solver 编译 apt-get install libgoogle-glog-dev libgflags-dev libatlas-base-dev libeigen3-dev libsuitesparse-dev apt-get install libmetis-dev liblapack-dev libcxsparse3 libgflags-dev libgtest-dev -- geogram-1.7.6 编译 apt-get install libxinerama-dev libxcursor-dev apt-get install libglfw3 libglfw3-dev xlibmesa-glu-dev # https://stackoverflow.com/questions/8321628/compiling-error-cannot-find-lglu-and-lgl-in-kubuntu-linux -- alembic 编译 apt-get install zlib1g-dev make 编译 出现error,修改问题部分 make install 2. AliceVision docker安装AliceVision 下载docker image docker pull alicevision/alicevision-deps:cuda10.2-ubuntu18.04 克隆项目 git clone --recursive https://github.com/alicevision/AliceVision.git cd AliceVision/ && git checkout v2.4.0 mkdir build && cd build 安装依赖, 参考AliceVision/CMakeLists.txt获得各组件的版本 -- zlib 1.2.11 编译 编译项目 export AV_DEV=/opt/AliceVision_git && \ export AV_INSTALL=/opt/AliceVision_install && \ cmake -DCMAKE_BUILD_TYPE=Release -DALICEVISION_USE_ALEMBIC=ON \ -DOPENIMAGEIO_LIBRARY_DIR_HINTS:PATH=/opt/AliceVision_install/lib/ \ -DOPENIMAGEIO_INCLUDE_DIR:PATH=/opt/AliceVision_install/include/ \ -DOPENEXR_HOME:PATH=/opt/AliceVision_install/include/OpenEXR \ -DGEOGRAM_INSTALL_PREFIX:PATH=/opt/AliceVision_install/lib \ -DGEOGRAM_INCLUDE_DIR:PATH=/opt/AliceVision_install/include/geogram1 \ .. make 编译 出现error,修改问题部分 make install ...