Hi everyone, sorry for this newbie question. I'm testing the SFM tool using the sample images provided (ImageDataset_SceauxCastle). After running the python scripts I got some results in the tutorial_out folder. I couldn't see a visualizer showing the reconstructed model. Is there a visualizer for the results? Thank you very much!
@squashking You can use meshlab or cloudcompare to show the result of SFM.
Open the files with .ply extension by meshlab or cloudcompare. The two softwares both are opensource software ,and you can dowaload them conveniently.
You may also use the webgl sample that convert a SfM result into a webgl website that could help you to visualize the point cloud and the cameras reconstructed.
@whuaegeanse @rperrot Thanks for the answers. I see there are many files generated under the reconstruction directory. Is there any introduction/explanation about these files (such as .bin .svg and some .ply files)? Thank you!
Not yet, but you can help to make a better documentation.
Here some insights:
Here the files produced by openMVG_main_SfMInit_ImageListing
:
Here the files produced by openMVG_main_ComputeFeatures
:
Here the files produced by openMVG_main_ComputeMatches
:
Here the files produced by openMVG_main_IncrementalSfM
:
Here the file produced by openMVG_main_ComputeSfM_DataColor
Here the files produced by openMVG_main_GlobalSfM
:
Here the files produced by openMVG_main_ComputeStructureFromKnownPoses
:
Reminder:
openMVG_main_ConvertSfM_DataFormat
I see there is SfMViewer and SfMWebGLViewer under openMVG/src/software, Could you provide some details on how to use them? Thank you!
If you run them the command line will explain what are the expected arguments.
You can also open the file cloud_and_poses.ply with the PLY viewer of your choice -> PLY equivalent of the sfm_data.bin file
@pmoulon what do you mean by " PLY equivalent of the sfm_data.bin file"? do they contain the same information? can sfm_data.bin be visualized as well? thank you!
PLY is a 3d file format (it can display only the 3d point and camera poses).
The sfm_data contains all the relationship between the cameras, the intrinsic, the camera poses and the 3d points and their view visibility.
See: https://openmvg.readthedocs.io/en/latest/openMVG/sfm/sfm/#a-generic-sfm-data-container
can sfm_data.bin be visualized as well?
Somehow yes: You can convert it to a PLY thanks to openMVG_main_ConvertSfM_DataFormat
and see it as 3d points
If you mean see the parameters that are inside it:
openMVG_main_ConvertSfM_DataFormat
and see all the stored relationship and computed values.If you want to help to do a sfm_data viewer/editor, feel free to help!
@pmoulon I cannot find executables for SfMViewer and SfMWebGLViewer under openMVG_Build/Linux-x86_64-RELEASE. Do need to compile under openMVG/src/software/SfMViewer and /openMVG/src/software/SfMWebGLViewer ? sorry for this newbie question. thank you!
SfMViewer is compiled only if you choose OpenMVG_BUILD_OPENGL_EXAMPLES to true in cmake-gui.
For the WebGL sample you will find it as openMVG_main_openMVG2WebGL.exe
@pmoulon When compiling, I typed:
cmake -DCMAKE_BUILD_TYPE=RELEASE -DOpenMVG_BUILD_TESTS=ON -DOpenMVG_BUILD_EXAMPLES=ON . ../openMVG/src/
Shall I add -OpenMVG_BUILD_OPENGL_EXAMPLES=ON to it in order to have SfMViewer?
I'm using Linux, so there is no openMVG_main_openMVG2WebGL.exe. where is the excutable for WebGL?
Thank you very much!
I'm using Linux, so there is no openMVG_main_openMVG2WebGL.exe. where is the excutable for WebGL?
In your build directory you have a directory named *-Release (where * should be something with Linux), you have all the executables. On Linux you should not have .exe extension.
@rperrot I checked the directory, but there are no excutables like SfMViewer and SfMWebGLViewer or similar names.
@pmoulon I'm using 3 ZED cameras, which have 6 views altogether (each ZED has left and right view). I'm trying to reconstruct the scene with 6 images (each view takes one image). I specified the "-f" parameter in the ImageListing step. I don't know why the reconstructed 3D scene shows just 2 views (I can see 2 dots denoting the viewpoint in Meshlab). I have a question about the "-f" parameter. If I specify "-f", does it mean all the focal in the 6 views are the same? What if they are not the same? I'd appreciate for your answer!
I think you got your answer from another issue.
-f allow to specify only one focal.
Else you have to define your intrinsic and set the appropriate intrinsic_id to your views in other to defined shared or unique intrinsic per view or group of view.
Most helpful comment
Not yet, but you can help to make a better documentation.
Here some insights:
Here the files produced by
openMVG_main_SfMInit_ImageListing
:Here the files produced by
openMVG_main_ComputeFeatures
:Here the files produced by
openMVG_main_ComputeMatches
:Here the files produced by
openMVG_main_IncrementalSfM
:Here the file produced by
openMVG_main_ComputeSfM_DataColor
Here the files produced by
openMVG_main_GlobalSfM
:Here the files produced by
openMVG_main_ComputeStructureFromKnownPoses
:Reminder:
openMVG_main_ConvertSfM_DataFormat