AliceVision
AliceVision copied to clipboard
MacOS Xcode build / installation instructions / AliceVision latest version
A command-line build guide for MacOS was provided (2020) by @freshnewegg here: https://github.com/alicevision/AliceVision/issues/931
Solutions for problems building on MacOS (2018) were shared by @TomHeaven here: https://github.com/alicevision/AliceVision/issues/525
An open issue requests removing AliceVision's CUDA dependency entirely in the future: https://github.com/alicevision/AliceVision/issues/439
Knowledge shared here by @patniemeyer about CUDA depth map computation for dense mesh: https://github.com/alicevision/AliceVision/issues/444
For building with Xcode the steps are somewhat different from what we see today in INSTALL.md https://github.com/alicevision/AliceVision/blob/develop/INSTALL.md
This Issue is meant to invite discussion before amendments are published to that file, to encourage more reporting of recent build failures with AliceVision on MacOS Big Sur (11.4) with Xcode 12.5+
INSTALL.md currently contains the following for MacOS (out-of-date, these instructions presume a CUDA build with old Mac hardware that included an NVIDIA GPU) --
git clone --recursive https://github.com/alicevision/AliceVision.git
mkdir build && cd build
followed by cmake:
cmake -DCMAKE_BUILD_TYPE=Release -G "Xcode" ../AliceVision
or, alternatively, to include unit tests and examples:
cmake -DCMAKE_BUILD_TYPE=Release \
-DALICEVISION_BUILD_TESTS=ON -DALICEVISION_BUILD_EXAMPLES=ON \
-G "Xcode" ../AliceVision
My steps to build successfully were the following (build notes and discussions in various places clarify that a build on MacOS today cannot include CUDA because Mac hardware now provides us with an AMD GPU) --
$ brew install eigen
$ brew link eigen
$ xcode-select --install
$ brew install ceres-solver
$ brew install geogram
$ brew install openimageio
$ brew uninstall open-mesh
$ brew install openexr@2
$ brew unlink openexr
$ brew unlink imath
$ brew link ilmbase --force
$ brew link --overwrite openexr@2
$ brew link --overwrite imath
$ brew install opencv
$ vim ../AliceVision/CMakeLists.txt [ To add the following lines below project(aliceVision) ]
include_directories("/usr/local/include")
link_directories("/usr/local/lib")
link_libraries("omp")
$ vim ../AliceVision/src/CMakeLists.txt [ To change Clang to AppleClang as required by CMake 3.0+ ]
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
// See: https://cmake.org/cmake/help/latest/policy/CMP0025.html
$ git clone https://github.com/laurentkneip/opengv
$ cd opengv && mkdir build && cd build && cmake ../
$ make install
$ git clone https://github.com/alembic/alembic
$ cd alembic && mkdir build && cd build
$ cmake ../
$ make install
Then invoke cmake in your AliceVision build directory with:
$ cmake -DCMAKE_BUILD_TYPE=Release -DALICEVISION_USE_CUDA=OFF -DALICEVISION_USE_ALEMBIC=ON \
-DALICEVISION_BUILD_TESTS=ON -DALICEVISION_BUILD_EXAMPLES=ON -DALICEVISION_USE_OPENCV=ON \
-DALICEVISION_USE_OPENGV=ON -DALICEVISION_USE_OPENMP=ON -G "Xcode" ../AliceVision
The cmake result of the above steps --
** AliceVision version: 2.4.0
** Target architecture: kaby-lake
** Build Shared libs: ON
** Build SfM part: ON
** Build MVS part: ON
** Build AliceVision tests: ON
** Build AliceVision documentation: 0
** Build AliceVision samples programs: ON
** Build AliceVision+OpenCV samples programs: 1
** Build UncertaintyTE: 0
** Build MeshSDFilter: 1
** Build Alembic exporter: 1
** Enable code coverage generation: OFF
** Enable OpenMP parallelization: 1
** Use CUDA: 0
** Use OpenCV SIFT features: 0
** Use PopSift feature extractor: 0
** Use CCTAG markers: 0
** Use OpenGV for rig localization: 1
Open the Xcode project file and click Automatically Create Schemes when prompted.
Select the ALL_BUILD target in Xcode and then compile and link by choosing from the menu Product->Build.
This is my first time building AliceVision. My intent is to use Meshroom without dense mesh Multi View Stereo (MVS) enabled. https://alicevision.org/#photogrammetry/depth_maps_estimation
(CUDA is required for the MVS part of the AliceVision Photogrammetry Pipeline, but draft meshing with the CPU still works.) https://meshroom-manual.readthedocs.io/en/bibtex1/install/requirements/requirements.html
Without CUDA on MacOS the AliceVision Photogrammetry Pipeline still gives us Structure-from-Motion (SfM) https://alicevision.org/#photogrammetry/sfm
Presumably the executables and binary shared library files must be installed manually from the Xcode build directory for Meshroom to find them. There is an "install" target in the Xcode project -- it might automate installation correctly for you. Building the "install" target did copy the resulting binaries to /usr/local/bin and libraries to /usr/local/lib and created /usr/local/include/aliceVision for me as expected.
Meshroom requires a few minor fixes submitted by @JayFoxRox for MacOS:
https://github.com/alicevision/meshroom/pull/1307#issuecomment-875907260
Testing Meshroom on MacOS:
$ git clone https://github.com/alicevision/dataset_monstree
Program called with the following parameters:
* allowSingleView = 1
* allowedCameraModels = "pinhole,radial1,radial3,brown,fisheye4,fisheye1,3deanamorphic4,3deradial4,3declassicld"
* defaultCameraModel = "" (default)
* defaultFieldOfView = 45
* defaultFocalLengthPix = -1 (default)
* defaultIntrinsic = "" (default)
* groupCameraFallback = Unknown Type "20EGroupCameraFallback"
* imageFolder = "" (default)
* input = "/var/folders/rc/8y4v6f2578q3pkfxlrx2bngm0000gn/T/tmp0lcz140f/CameraInit/f9436e97e444fa71a05aa5cf7639b206df8ba282//viewpoints.sfm"
* output = "/var/folders/rc/8y4v6f2578q3pkfxlrx2bngm0000gn/T/tmp0lcz140f/CameraInit/f9436e97e444fa71a05aa5cf7639b206df8ba282/cameraInit.sfm"
* sensorDatabase = ""
* useInternalWhiteBalance = 1
* verboseLevel = "info"
* viewIdMethod = Unknown Type "N11aliceVision9sfmDataIO13EViewIdMethodE"
* viewIdRegex = ".*?(\d+)" (default)
[10:35:32.199171][warning] Some image(s) have no serial number to identify the camera/lens device.
This makes it impossible to correctly group the images by device if you have used multiple identical (same model) camera devices.
The reconstruction will assume that only one device has been used, so if 2 images share the same focal length approximation they will share the same internal camera parameters.
41 image(s) are concerned.
[10:35:32.268002][info] CameraInit report:
- # views listed: 41
- # views with an initialized intrinsic listed: 41
- # views without metadata (with a default intrinsic): 0
- # intrinsics listed: 1
- commandLine: aliceVision_cameraInit --sensorDatabase "" --defaultFieldOfView 45.0 --groupCameraFallback folder --allowedCameraModels pinhole,radial1,radial3,brown,fisheye4,fisheye1,3deanamorphic4,3deradial4,3declassicld --useInternalWhiteBalance True --viewIdMethod metadata --verboseLevel info --output "/Users/jasoncoombs.ceo/Documents/MeshroomCache/CameraInit/379123b316c8eba6324f9ad2a2b9d2e699fda93c/cameraInit.sfm" --allowSingleView 1 --input "/Users/jasoncoombs.ceo/Documents/MeshroomCache/CameraInit/379123b316c8eba6324f9ad2a2b9d2e699fda93c//viewpoints.sfm"
- logFile: /Users/jasoncoombs.ceo/Documents/MeshroomCache/CameraInit/379123b316c8eba6324f9ad2a2b9d2e699fda93c/log
- commandLine: aliceVision_featureExtraction --input "/Users/jasoncoombs.ceo/Documents/MeshroomCache/CameraInit/379123b316c8eba6324f9ad2a2b9d2e699fda93c/cameraInit.sfm" --describerTypes dspsift --describerPreset normal --describerQuality normal --contrastFiltering GridSort --gridFiltering True --forceCpuExtraction True --maxThreads 0 --verboseLevel info --output "/Users/jasoncoombs.ceo/Documents/MeshroomCache/FeatureExtraction/81f0e5f12b3b6b3d9005727e2facd266f4f49c72" --rangeStart 0 --rangeSize 40
- logFile: /Users/jasoncoombs.ceo/Documents/MeshroomCache/FeatureExtraction/81f0e5f12b3b6b3d9005727e2facd266f4f49c72/0.log
$ tail -F /Users/jasoncoombs.ceo/Documents/MeshroomCache/FeatureExtraction/81f0e5f12b3b6b3d9005727e2facd266f4f49c72/0.log
[10:44:53.028031][info] 20000 dspsift features extracted from view '/Users/jasoncoombs.ceo/dataset_monstree/full/IMG_1056.JPG'
[10:44:53.415836][info] Extracting dspsift features from view '/Users/jasoncoombs.ceo/dataset_monstree/full/IMG_1059.JPG' [cpu]
[10:46:14.154240][info] 20000 dspsift features extracted from view '/Users/jasoncoombs.ceo/dataset_monstree/full/IMG_1059.JPG'
[10:46:14.459217][info] Extracting dspsift features from view '/Users/jasoncoombs.ceo/dataset_monstree/full/IMG_1030.JPG' [cpu]
[10:47:33.028377][info] 20000 dspsift features extracted from view '/Users/jasoncoombs.ceo/dataset_monstree/full/IMG_1030.JPG'
[10:47:33.417871][info] Extracting dspsift features from view '/Users/jasoncoombs.ceo/dataset_monstree/full/IMG_1044.JPG' [cpu]
[10:48:38.481731][info] 20000 dspsift features extracted from view '/Users/jasoncoombs.ceo/dataset_monstree/full/IMG_1044.JPG'
[10:48:38.776187][info] Extracting dspsift features from view '/Users/jasoncoombs.ceo/dataset_monstree/full/IMG_1037.JPG' [cpu]
[10:49:34.181837][info] 20000 dspsift features extracted from view '/Users/jasoncoombs.ceo/dataset_monstree/full/IMG_1037.JPG'
[10:49:34.494584][info] Extracting dspsift features from view '/Users/jasoncoombs.ceo/dataset_monstree/full/IMG_1064.JPG' [cpu]
[10:50:54.767872][info] 20000 dspsift features extracted from view '/Users/jasoncoombs.ceo/dataset_monstree/full/IMG_1064.JPG'
[10:50:55.069970][info] Extracting dspsift features from view '/Users/jasoncoombs.ceo/dataset_monstree/full/IMG_1043.JPG' [cpu]
[10:51:57.643782][info] 20000 dspsift features extracted from view '/Users/jasoncoombs.ceo/dataset_monstree/full/IMG_1043.JPG'
[10:51:57.925746][info] Extracting dspsift features from view '/Users/jasoncoombs.ceo/dataset_monstree/full/IMG_1025.JPG' [cpu]
...
[11:28:34.909264][info] Task done in (s): 2850.447000
- commandLine: aliceVision_featureExtraction --input "/Users/jasoncoombs.ceo/Documents/MeshroomCache/CameraInit/379123b316c8eba6324f9ad2a2b9d2e699fda93c/cameraInit.sfm" --describerTypes dspsift --describerPreset normal --describerQuality normal --contrastFiltering GridSort --gridFiltering True --forceCpuExtraction True --maxThreads 0 --verboseLevel info --output "/Users/jasoncoombs.ceo/Documents/MeshroomCache/FeatureExtraction/81f0e5f12b3b6b3d9005727e2facd266f4f49c72" --rangeStart 40 --rangeSize 40
- logFile: /Users/jasoncoombs.ceo/Documents/MeshroomCache/FeatureExtraction/81f0e5f12b3b6b3d9005727e2facd266f4f49c72/1.log
- commandLine: aliceVision_imageMatching --input "/Users/jasoncoombs.ceo/Documents/MeshroomCache/CameraInit/379123b316c8eba6324f9ad2a2b9d2e699fda93c/cameraInit.sfm" --featuresFolders "/Users/jasoncoombs.ceo/Documents/MeshroomCache/FeatureExtraction/81f0e5f12b3b6b3d9005727e2facd266f4f49c72" --method SequentialAndVocabularyTree --tree "" --weights "" --minNbImages 200 --maxDescriptors 500 --nbMatches 40 --nbNeighbors 5 --verboseLevel info --output "/Users/jasoncoombs.ceo/Documents/MeshroomCache/ImageMatching/d831393b0db802ad2838287420478a68f1acb734/imageMatches.txt"
- logFile: /Users/jasoncoombs.ceo/Documents/MeshroomCache/ImageMatching/d831393b0db802ad2838287420478a68f1acb734/log
- commandLine: aliceVision_featureMatching --input "/Users/jasoncoombs.ceo/Documents/MeshroomCache/CameraInit/379123b316c8eba6324f9ad2a2b9d2e699fda93c/cameraInit.sfm" --featuresFolders "/Users/jasoncoombs.ceo/Documents/MeshroomCache/FeatureExtraction/81f0e5f12b3b6b3d9005727e2facd266f4f49c72" --imagePairsList "/Users/jasoncoombs.ceo/Documents/MeshroomCache/ImageMatching/d831393b0db802ad2838287420478a68f1acb734/imageMatches.txt" --describerTypes dspsift --photometricMatchingMethod ANN_L2 --geometricEstimator acransac --geometricFilterType fundamental_matrix --distanceRatio 0.8 --maxIteration 2048 --geometricError 0.0 --knownPosesGeometricErrorMax 5.0 --maxMatches 0 --savePutativeMatches False --crossMatching False --guidedMatching False --matchFromKnownCameraPoses False --exportDebugFiles False --verboseLevel info --output "/Users/jasoncoombs.ceo/Documents/MeshroomCache/FeatureMatching/e8ce646ab9697190a68d5a4c46c52ab73e4b5adb" --rangeStart 0 --rangeSize 20
- logFile: /Users/jasoncoombs.ceo/Documents/MeshroomCache/FeatureMatching/e8ce646ab9697190a68d5a4c46c52ab73e4b5adb/0.log
...
[14:37:05.113578][info] Structure from motion took (s): 9406.447000
[14:37:05.113680][info] Generating HTML report...
[14:37:09.849956][info] Export SfMData to disk: /Users/jasoncoombs.ceo/Documents/MeshroomCache/StructureFromMotion/bd3c1be63eb0316d7cd26d183576c0b8f6ec291b/sfm.abc
[14:37:10.512994][info] Structure from Motion results:
- # input images: 41
- # cameras calibrated: 41
- # poses: 41
- # landmarks: 80413
Ending with the following aliceVision_depthMapEstimation Error:
- commandLine: aliceVision_prepareDenseScene --input "/Users/jasoncoombs.ceo/Documents/MeshroomCache/StructureFromMotion/bd3c1be63eb0316d7cd26d183576c0b8f6ec291b/sfm.abc" --outputFileType exr --saveMetadata True --saveMatricesTxtFiles False --evCorrection False --verboseLevel info --output "/Users/jasoncoombs.ceo/Documents/MeshroomCache/PrepareDenseScene/585d9857dd4b8df878cc51d79441d9972e6217bf" --rangeStart 0 --rangeSize 40
- logFile: /Users/jasoncoombs.ceo/Documents/MeshroomCache/PrepareDenseScene/585d9857dd4b8df878cc51d79441d9972e6217bf/0.log
- commandLine: aliceVision_prepareDenseScene --input "/Users/jasoncoombs.ceo/Documents/MeshroomCache/StructureFromMotion/bd3c1be63eb0316d7cd26d183576c0b8f6ec291b/sfm.abc" --outputFileType exr --saveMetadata True --saveMatricesTxtFiles False --evCorrection False --verboseLevel info --output "/Users/jasoncoombs.ceo/Documents/MeshroomCache/PrepareDenseScene/585d9857dd4b8df878cc51d79441d9972e6217bf" --rangeStart 40 --rangeSize 40
- logFile: /Users/jasoncoombs.ceo/Documents/MeshroomCache/PrepareDenseScene/585d9857dd4b8df878cc51d79441d9972e6217bf/1.log
- commandLine: aliceVision_depthMapEstimation --input "/Users/jasoncoombs.ceo/Documents/MeshroomCache/StructureFromMotion/bd3c1be63eb0316d7cd26d183576c0b8f6ec291b/sfm.abc" --imagesFolder "/Users/jasoncoombs.ceo/Documents/MeshroomCache/PrepareDenseScene/585d9857dd4b8df878cc51d79441d9972e6217bf" --downscale 2 --minViewAngle 2.0 --maxViewAngle 70.0 --sgmMaxTCams 10 --sgmWSH 4 --sgmGammaC 5.5 --sgmGammaP 8.0 --refineMaxTCams 6 --refineNSamplesHalf 150 --refineNDepthsToRefine 31 --refineNiters 100 --refineWSH 3 --refineSigma 15 --refineGammaC 15.5 --refineGammaP 8.0 --refineUseTcOrRcPixSize False --exportIntermediateResults False --nbGPUs 0 --verboseLevel info --output "/Users/jasoncoombs.ceo/Documents/MeshroomCache/DepthMap/ee934ff481ea1528e9845a12e81925c5c028f12a" --rangeStart 0 --rangeSize 3
- logFile: /Users/jasoncoombs.ceo/Documents/MeshroomCache/DepthMap/ee934ff481ea1528e9845a12e81925c5c028f12a/0.log
[2021-07-07 14:59:10,367][ERROR] Error on node computation: Error on node "DepthMap_1(0)":
Log:
/bin/sh: aliceVision_depthMapEstimation: command not found
[2021-07-07 14:59:10,368][WARNING] Downgrade status on node "Texturing_1" from Status.SUBMITTED to Status.NONE
[2021-07-07 14:59:10,389][WARNING] Downgrade status on node "DepthMapFilter_1(0)" from Status.SUBMITTED to Status.NONE
[2021-07-07 14:59:10,398][WARNING] Downgrade status on node "DepthMapFilter_1(1)" from Status.SUBMITTED to Status.NONE
[2021-07-07 14:59:10,400][WARNING] Downgrade status on node "DepthMapFilter_1(2)" from Status.SUBMITTED to Status.NONE
[2021-07-07 14:59:10,402][WARNING] Downgrade status on node "DepthMapFilter_1(3)" from Status.SUBMITTED to Status.NONE
[2021-07-07 14:59:10,404][WARNING] Downgrade status on node "DepthMapFilter_1(4)" from Status.SUBMITTED to Status.NONE
[2021-07-07 14:59:10,409][WARNING] Downgrade status on node "Meshing_1" from Status.SUBMITTED to Status.NONE
[2021-07-07 14:59:10,411][WARNING] Downgrade status on node "MeshFiltering_1" from Status.SUBMITTED to Status.NONE
- commandLine: aliceVision_depthMapEstimation --input "/Users/jasoncoombs.ceo/Documents/MeshroomCache/StructureFromMotion/bd3c1be63eb0316d7cd26d183576c0b8f6ec291b/sfm.abc" --imagesFolder "/Users/jasoncoombs.ceo/Documents/MeshroomCache/PrepareDenseScene/585d9857dd4b8df878cc51d79441d9972e6217bf" --downscale 2 --minViewAngle 2.0 --maxViewAngle 70.0 --sgmMaxTCams 10 --sgmWSH 4 --sgmGammaC 5.5 --sgmGammaP 8.0 --refineMaxTCams 6 --refineNSamplesHalf 150 --refineNDepthsToRefine 31 --refineNiters 100 --refineWSH 3 --refineSigma 15 --refineGammaC 15.5 --refineGammaP 8.0 --refineUseTcOrRcPixSize False --exportIntermediateResults False --nbGPUs 0 --verboseLevel info --output "/Users/jasoncoombs.ceo/Documents/MeshroomCache/DepthMap/ee934ff481ea1528e9845a12e81925c5c028f12a" --rangeStart 3 --rangeSize 3
- logFile: /Users/jasoncoombs.ceo/Documents/MeshroomCache/DepthMap/ee934ff481ea1528e9845a12e81925c5c028f12a/1.log
[2021-07-07 14:59:10,454][ERROR] Error on node computation: Error on node "DepthMap_1(1)":
Log:
/bin/sh: aliceVision_depthMapEstimation: command not found
This was easy to remedy. As expected, the MVS components (ALICEVISION_BUILD_MVS) which require CUDA (ALICEVISION_HAVE_CUDA) did not build when I ran cmake -DALICEVISION_USE_CUDA=OFF therefore the default pipeline presented by Meshroom contained two steps for which executables were missing. From src/software/pipeline/CMakeLists.txt:
if(ALICEVISION_HAVE_CUDA) # Depth map computation need CUDA
# Depth Map Estimation
alicevision_add_software(aliceVision_depthMapEstimation
SOURCE main_depthMapEstimation.cpp
FOLDER ${FOLDER_SOFTWARE_PIPELINE}
LINKS aliceVision_system
aliceVision_gpu
aliceVision_mvsData
aliceVision_mvsUtils
aliceVision_depthMap
aliceVision_sfmData
aliceVision_sfmDataIO
Boost::program_options
Boost::filesystem
)
# Depth Map Filtering
alicevision_add_software(aliceVision_depthMapFiltering
SOURCE main_depthMapFiltering.cpp
FOLDER ${FOLDER_SOFTWARE_PIPELINE}
LINKS aliceVision_system
aliceVision_mvsData
aliceVision_mvsUtils
aliceVision_fuseCut
aliceVision_depthMap
aliceVision_sfmData
aliceVision_sfmDataIO
Boost::program_options
Boost::filesystem
)
endif()
Bypassing the DepthMap computation is accomplished using the visual pipeline Graph Editor.
Click the Start button again after connecting StructureFromMotion component SfMData output port to Meshing SfmData input port.
[09:55:11.644512][info] totalFlow: 871008
[09:55:11.644651][info] Maxflow: update full/empty cells status.
[09:55:11.663870][warning] Maxflow full/nbCells: 188158 / 491322
[09:55:11.663966][info] Maxflow: done.
[09:55:12.930721][info] Graph cut post-processing.
[09:55:13.187727][info] DelaunayGraphCut::removeBubbles: nbBubbles: 0, all empty segments: 1
[09:55:13.187814][warning] DelaunayGraphCut::removeBubbles: 0 cells changed to full within 491322 cells.
[09:55:13.200133][info] [2715] Nb full cells: 188158 / 491322 cells.
[09:55:13.200286][warning] Declare empty around camera centers: 1 cells changed to empty within 491322 cells.
[09:55:13.640487][warning] Full cells with a vertex outside the BBox are changed to empty: 1757 cells changed to empty.
[09:55:13.786871][info] DelaunayGraphCut::removeDust: Number of full segments: 61
[09:55:13.786942][warning] DelaunayGraphCut::removeDust: 132 cells changed to empty within 491322 cells.
[09:55:13.956177][warning] DelaunayGraphCut::invertFullStatusForSmallLabels: 0 cells moved to full, 90 cells moved to empty within 491322 cells.
[09:55:14.046472][warning] [0] Coherence with neighboring tetrahedrons: 1096 cells moved to full, 2097 cells moved to empty within 491322 cells.
[09:55:14.220997][info] computeIsOnSurface nbSurfaceFacets: 109468
[09:55:14.582015][warning] [0] Check solid angle full/empty ratio on surface vertices: 6820 cells moved to full, 8847 cells moved to empty within 491322 cells.
[09:55:14.752231][info] computeIsOnSurface nbSurfaceFacets: 105722
[09:55:15.081167][warning] [1] Check solid angle full/empty ratio on surface vertices: 2823 cells moved to full, 3536 cells moved to empty within 491322 cells.
[09:55:15.081346][info] Graph cut post-processing done.
[09:55:15.081438][info] Extract mesh from Graph Cut.
[09:55:15.267813][info] computeIsOnSurface nbSurfaceFacets: 104186
[09:55:15.267884][info] # surface facets: 104186
[09:55:15.267909][info] # vertixes: 79689
[09:55:15.267931][info] _cellIsFull.size(): 491322
[09:55:15.501908][info] Extract mesh from Graph Cut done.
[09:55:15.502012][info] Extract visibilities.
[09:55:15.577735][info] Extract visibilities done.
[09:55:15.577941][info] Mesh post-processing.
[09:55:15.595473][info] remove free points from mesh.
[09:55:15.705168][info] Mesh Cleaning.
[09:55:17.068744][info] cleanMesh:
- # wrong points: 455
- # new points: 461
[09:55:18.176312][info] cleanMesh:
- # wrong points: 4
- # new points: 4
[09:55:19.373512][info] cleanMesh:
- # wrong points: 0
- # new points: 0
[09:55:19.817338][info] Mesh post-processing done.
[09:55:27.746322][info] Save dense point cloud.
[09:55:28.023850][info] Save obj mesh file.
[09:55:28.023922][info] Save mesh to obj: /Users/jasoncoombs.ceo/Documents/MeshroomCache/Meshing/3fa28de0745826d5c0dd77cddd9c53a4550f2306/mesh.obj
[09:55:28.023997][info] Nb points: 52060
[09:55:28.024060][info] Nb triangles: 103621
[09:55:28.103823][info] Save mesh to obj done.
[09:55:28.105953][info] Task done in (s): 74.378000
[10:10:41.597176][info] - camera 1899323843 (39/41) with contributions to 1 texture files:
[10:10:45.587734][info] - Texture file: 3
[10:10:45.587805][info] - band 1: 59 triangles.
[10:10:45.619567][info] - band 2: 540 triangles.
[10:10:45.722635][info] - band 3: 744 triangles.
[10:10:46.092054][info] - camera 2051611492 (40/41) with contributions to 1 texture files:
[10:10:50.244597][info] - Texture file: 3
[10:10:50.247471][info] - band 1: 50 triangles.
[10:10:50.281530][info] - band 2: 606 triangles.
[10:10:50.639269][info] - band 3: 648 triangles.
[10:10:50.876739][info] - camera 2105066962 (41/41) with contributions to 1 texture files:
[10:10:54.977154][info] - Texture file: 3
[10:10:54.977234][info] - band 1: 398 triangles.
[10:10:55.118316][info] - band 2: 1088 triangles.
[10:10:55.353973][info] - band 3: 2156 triangles.
[10:10:55.881750][info] Create texture 3
[10:10:55.881857][info] - Computing final (average) color.
[10:11:00.113778][info] - Edge padding (15 pixels).
[10:11:01.972146][info] - Downscaling texture (2x).
[10:11:09.516989][info] - Writing texture file: /Users/jasoncoombs.ceo/Documents/MeshroomCache/Texturing/df83b922a46ff614409819d543d34c3e18329b0c/texture_1003.png
[10:11:14.949200][info] Task done in (s): 938.864000
A video tutorial --
Meshroom Without Cuda and a BONUS about how to fill mesh holes in MeshLab
Documentation for Meshroom says, "Double-click the ‘Texturing’ node to load the final 3D output into the viewer."
https://readthedocs.org/projects/meshroom-manual/downloads/pdf/latest/
An error message appeared for me on my first attempt to view the final 3D output:
[2021-07-08 11:17:21,626][WARNING] Qt3DCore::QEntity *Qt3DRender::Render::LoadSceneJob::tryLoadScene(QSceneLoader::Status &, const QStringList &, const std::function<void (QSceneImporter *)> &) Found no suitable importer plugin for QUrl("file:///Users/jasoncoombs.ceo/Documents/MeshroomCache/Texturing/df83b922a46ff614409819d543d34c3e18329b0c/texturedMesh.obj")
Viewing the resulting Texture in Meshroom requires a QT importer plugin which may not exist on MacOS:
https://github.com/alicevision/meshroom/issues/719
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
@simogasp looks like the bot ignored the "do not close". Also potentially affects many other issues: https://github.com/alicevision/AliceVision/issues?q=label%3A%22do+not+close%22+is%3Aclosed
Not sure about the current state on macOS though and wether the instructions need updating / are still necessary.