SFMToolkit

Structure from Motion Toolkit is a complete photogrammetry solution based on open-source software. This toolkit is designed to be used on a 64-bit Windows OS with an Nvidia 3D card (tested on Windows Vista/7 and Nvidia 8800, 9800, 285, 465, 470).

Development status:

Done:

  • BundlerViewer: basic features implemented, needs improvements

ToDo:

  • Replace BundlerMatcher with OpenSynther that has a linear matching complexity

Credits:

Links:

Binary: SFMToolkit3.zip.
Source code: github repository (MIT license).
Help: Photogrammetry forum.

Related post:

Share

25 comments

  1. Olof says:

    Have you done any 32-bit version of BundlerMatcher? I am very curious about cmvs, but I only have Vista 32-bit. The Photosynthtoolkit is very good, but I miss cmvs.

  2. admin says:

    Olof: I don’t have compiled a 32-bit version of BundlerMatcher because the memory limitation of 32-bit app are too low. Moreover SiftGPU is using lot of virtual memory so it doesn’t let that much memory space to handle lot of feature descriptors… But I think that I’ll have a good news about CMVS and PhotoSynthToolkit in a couple weeks… stay tuned!

  3. Olof says:

    Ok. Thanks for the reply. CMVS and PhotoSynthToolkit sounds like a very nice combination!

  4. Trevor says:

    I have installed and attempt to run this tool kit.
    However I get a Microsoft LScript runtime error when using the supplied sample images.

    The error is file not found code 800A0035 line 330 char 3.
    SFMTToolkit3\1-Bundler.wsf.

    Any help working this issue out would be greatly appreciated.

  5. Damian says:

    I am having the same error on line 330 Char 3 File not found. I am on windows 7 x64 and have a nvidia graphics card.

  6. Damian says:

    Regarding my last post, Moving the SFMToolkit3 folder to C:\ seems to have fixed the problem

  7. Giorgia says:

    I am having the same error on line 330 Char 3 File not found. I am on windows 7 x64, but I have a Radeon graphics card.

  8. gianluca says:

    Hi there, any news about the error on line 330 char 3? I just moved to a new 64bit computer but I keep getting this error message. I copied everything on C but nothing. I also moved the photos to c:\photos but still no success.
    Help please!!
    Thanks

  9. Brad says:

    Getting the same error
    Script: C:\SFMToolkit3\1 – Bundler.wsf
    Line: 330
    Char: 3
    Error: File not found
    Code: 800A0035
    Source: Microsoft JScript runtime error.

    Here is my bundler.log:
    [OnInit] Running program bin\Bundler\bundler.exe
    Loading images from file ‘list_focal_absolute.txt’
    [BundlerApp::OnInit] Processing options…
    [BundlerApp::OnInit] Loading frame…
    [BundlerApp::OnInit] Loading images…
    [SifterApp::ReadGeometricConstraints] Error: number of images don’t match!
    Avg. proj error [0 projections] = -1.#IOe+000
    [BundleAdjust] Error: no good camera pairs found!
    [BundleAdjust] Trying a backup approach…
    [BundleAdjust] Error: no good camera pairs found!
    [BundleAdjust] Picking first two cameras…
    [SifterApp::BundleAdjust] Adjusting cameras 0 and 1 (score = 0.000)
    [GetJPEGDimensions] File C:\SFMToolkit3\samples\Tree\IMG_6960.jpg: ( 2592 , 3888 )
    [GetJPEGDimensions] File C:\SFMToolkit3\samples\Tree\IMG_6961.jpg: ( 2592 , 3888 )
    [BaseApp::SetTracks] Setting tracks for image 0…
    [BaseApp::SetTracks] Finished in 0.000s
    [BaseApp::SetTracks] Setting tracks for image 1…
    [BaseApp::SetTracks] Finished in 0.000s

  10. Brad says:

    Here’s my related post on the pgrammetry forum:
    http://pgrammetry.com/forum/viewtopic.php?f=22&t=362

  11. Henri says:

    @Brad: I’ve taken a look at your log files and my guess is that there is not enough overlap between your pictures. Have you tried to use photosynth with your dataset?

  12. Ara says:

    I follow the instructions in the guide (http://files.neonascent.net/photogrammetry-guide.pdf) but when I get to step denserecon.vds, starts the process but I get the error: Error opening file. / bundle / bundle.out for reading and a system window that says: radialundistort.exe stopped working. What should I do to get through the process? What am I doing wrong?. I am desperate

  13. Henri says:

    @Ara: well, you should use SFMToolkit instead: the toolkit you are referring to was created before. BTW do you have tried PhotoSynthToolkit or even better 123D catch?

  14. Nabeel says:

    Hi. I have downloaded the kit. When I try to run Bundler script on the images error comes up at line 3. . .

  15. Lee_william says:

    My computer does not support GPU.But I want to use BundlerToTracking.exe to generate track files.What should I do?Thank you!

  16. Henri says:

    @Lee: BundlerToTracking was designed to produce a binary file needed for my outdoor augmented reality tracking algorithm. I doubt that it will be useful to you without the corresponding tracking code… (which is not open-source).

  17. swee says:

    Error: Missing CCD width in xml database for (Canon Canon EOS 550D) in file C:\SFMToolkit3\samples\Myimage\IMG_7655.jpg
    How can i solve this . if i want to add camera ccdwidth to extract_focal.pl. How can i do that in windows?

  18. Henri says:

    @swee: You just need to add the ccd width of your camera in “cameras.xml”. You can find easily the ccd width on http://www.dpreview.com.

  19. Josch says:

    Hi,
    I´m really interested in your work. We´re studying it at uni. But I can´t get the toolkit to run. I´m on WinXP 64bit, have copied the sfmtoolkit3 folder to c:\ and receive this error message: “Line: 85, Char: 3, This app has failed to start cause the app config is incorrect. Reinstalling may fix the problem”
    Do you have any suggestions? The application isn´t really installed, is it? So I can´t reinstall it, right?
    Any help would be greatly appreciated!

  20. Jon A says:

    Doest the camera you take the photos with have to be ccd, or does a cmos camera work as well?

  21. gunny says:

    I am having the same error like@Brad,any help would be greatly appreciated~

    Loading images from file ‘E:\bundler-v0.4-source\bundler-v0.4-source\Lady_result
    \pmvs\list.txt’
    [BundlerApp::OnInit] Processing options…
    [BundlerApp::OnInit] Loading frame…
    [BundlerApp::OnInit] Loading images…
    [SifterApp::ReadGeometricConstraints] Error: number of images don’t match!
    Avg. proj error [0 projections] = nan
    [BundleAdjust] Error: no good camera pairs found!
    [BundleAdjust] Trying a backup approach…
    [BundleAdjust] Error: no good camera pairs found!
    [BundleAdjust] Picking first two cameras…
    [SifterApp::BundleAdjust] Adjusting cameras 0 and 1 (score = 0.000)
    [GetJPEGDimensions] File E:/bundler-v0.4-source/bundler-v0.4-source/Lady_result/
    pmvs/ladybug_cube_000.jpg: ( 1024 , 1024 )
    [GetJPEGDimensions] File E:/bundler-v0.4-source/bundler-v0.4-source/Lady_result/
    pmvs/ladybug_cube_001.jpg: ( 1024 , 1024 )
    [BaseApp::SetTracks] Setting tracks for image 0…
    [BaseApp::SetTracks] Finished in 0.000s
    [BaseApp::SetTracks] Setting tracks for image 1…
    [BaseApp::SetTracks] Finished in 0.000s
    assertion “p.first != p.second” failed: file “BaseApp.h”, line 273, function: st
    d::vector& MatchTable::GetMatchList(MatchIndex)
    2 [main] bundler 130956 open_stackdumpfile: Dumping stack trace to bundler
    .exe.stackdump

Leave a Reply