Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MacOS Xcode build / installation instructions / AliceVision latest version #1071

Closed
JasonCoombs opened this issue Jul 7, 2021 · 5 comments
Closed

Comments

@JasonCoombs
Copy link

JasonCoombs commented Jul 7, 2021

A command-line build guide for MacOS was provided (2020) by @freshnewegg here:
#931

Solutions for problems building on MacOS (2018) were shared by @TomHeaven here:
#525

An open issue requests removing AliceVision's CUDA dependency entirely in the future:
#439

Knowledge shared here by @patniemeyer about CUDA depth map computation for dense mesh:
#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.

@JasonCoombs
Copy link
Author

JasonCoombs commented Jul 7, 2021

Meshroom requires a few minor fixes submitted by @JayFoxRox for MacOS:

alicevision/Meshroom#1307 (comment)

@JasonCoombs
Copy link
Author

JasonCoombs commented Jul 7, 2021

Testing Meshroom on MacOS:

$ git clone https://github.com/alicevision/dataset_monstree

Screen Shot 2021-07-07 at 10 35 39 AM

Screen Shot 2021-07-07 at 10 41 11 AM

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]

Screen Shot 2021-07-07 at 10 51 02 AM

...
[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

Screen Shot 2021-07-07 at 11 30 07 AM

Screen Shot 2021-07-07 at 12 16 23 PM

...
[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

Screen Shot 2021-07-07 at 3 42 49 PM

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.

Screen Shot 2021-07-08 at 9 48 13 AM

Screen Shot 2021-07-08 at 9 52 23 AM

Screen Shot 2021-07-08 at 9 53 15 AM

Screen Shot 2021-07-08 at 9 53 36 AM

Screen Shot 2021-07-08 at 9 54 12 AM

[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

Screen Shot 2021-07-08 at 10 11 20 AM

[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/

Screen Shot 2021-07-08 at 11 17 38 AM

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:

alicevision/Meshroom#719

@github-actions
Copy link

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.

@github-actions
Copy link

github-actions bot commented Jul 6, 2023

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.

@JayFoxRox
Copy link

JayFoxRox commented Jul 14, 2023

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants