Image-based 3D modeling is the problem of recovering scenes 3D geometry and appearance from images. Nowadays, with the prevalence of digital cameras, image-based 3D modeling has the clear advantage over other 3D modeling techniques in terms of equipment availability, affordability and amount of user input, besides advantages on operation conditions, scalability, etc.

Most of these OS's were tested on VM's using vmware's free vmplayer

  • Ubuntu
    • Ubuntu 11.10 (Oneiric Ocelot) (64bit)
    • Ubuntu 11.04 (Natty Narwhal) (64bit)
    • Ubuntu 10.04 LTS (Lucid Lynx) (64bit)
  • Windows
    • Windows 7 (64bit)
    • Vista SP2 (64bit)
    • XP (32bit)
  • Resources (Minimum)
    • Memory: 2G
    • Disk: 100M
  • Windows PHP Install
  • PHP and required libraries

    sudo apt-get install php5 php5-mysql php5-curl php5-gd php5-cli

    3d and matrix related libraries

    sudo apt-get install libatlas3gf-base

    Image tools and mogrify

    sudo apt-get install imagemagick

    This one takes awhile but needed for 32 bit sift

    sudo apt-get install ia32-libs

Unzip the downloaded into desired directory.

  • Windows Extraction
    • On windows I right clicked on the zip file and chose 'Extract All'

    • In this example I'm saving it in my home directory c:/Users/jpb but it can be anywhere.

    • This will create a directoryc:/Users/jpb/sentinal which we'll use in windows examples

  • Ubuntu unzip
    • (Let's assume using using the user reveal's home directory /home/reveal)

    • This will create a directory/home/reveal/sentinal which we'll use in linux examples

    cd /home/reveal
    unzip /path_to_downloaded_zipfile/

    Here we have php.exe and the location of php.ini so no need to edit sentinal.bat

    Commands are in green My notes are in red italics and important info in bold.

  • we will test if php.exe is in our path.
    c:\Users\jpb\sentinal>where php
    good now let's find what php.ini we are using.
    c:\Users\jpb\sentinal>php --ini
    Configuration File (php.ini) Path: C:\Windows
    Loaded Configuration File:         C:\wamp\bin\php\php5.3.4\php.ini
    Scan for additional .ini files in: (none)
    Additional .ini files parsed:      (none)
    In this case we most likely don't need to edit sentinal.bat unless we want to change ini path below and use the wamp gui.
  • In the case below php.exe is not in our path we will need to configure sentinal.bat to find php

  • c:\Users\jpb\sentinal>where php
    INFO: Could not find files for the given pattern(s).
    c:\Users\jpb\sentinal>chdir c:\ 
    We search for php.exe and php.ini to help configure our batch file
    Note that we found two ini files. Since I'm running wamp I'll use the apache ini.
    This will allow me to use the WAMP gui to modify the ini and enable extentions.
    c:\>dir /s /b php.exe php.ini
    c:\wamp\bin\apache\Apache2.2.17\bin\php.ini  Let's use this one to enable configuration with wamp gui
    Now edit the c:\Users\jpb\sentinal\sentinal.bat file and add the lines in bold as seen below..
  • Editing the sentinal.bat file we may change our php.exe path and what configuration php.ini to use.

  • Change the lines below using the info found above
    There are examples in the batch file also. 
    Lines from:
    set php_ini=
    set php_exe=
    Lines to:
    set php_ini=-c c:\wamp\bin\apache\Apache2.2.17\bin\php.ini this is a dash c -c
    set php_exe=c:\wamp\bin\php\php5.3.4\php.exe
    Save file and display the help screen if all is ok the php is configured.
  • c:\Users\jpb\sentinal>sentinal -h
    Usage: sentinal.bat [--config ] [-h] [--help] -d
      --config                : Xml configuration location. (default config.xml)
      --remote-host           : Host or ip where database lives.
      --daemon                : Run's as daemon in background (unix only)
      --foreground            : Run in foreground don't fork daemon (default)
      --console               : Prints all events to screen. (console)
      --logfile[=]      : Outputs all log to logfile.  (C:/Users/jpb/AppData/Local/Temp/sentinal.log) NOTE:no spaces
      --logdb                 : Logs all events to database.
      --pidfile               : File containing daemon pid number. (C:/Users/jpb/AppData/Local/Temp/
      --dump                  : Prints out useful debugging info
      --help | -h             : Prints this screen.
    >sentinal --dump
    sentinal.php settings
    php.ini used:        C:\wamp\bin\php\php5.3.4\php.ini
    include path         C:/Users/jpb/Desktop/vmshare/sentinal-beta/sentinal/classes;.;C:\php\pear
    temp dir             C:/Users/jpb/AppData/Local/Temp
    os:                  winnt
    arch:                win64
    bits:                64
    is win:              yes         (useful to know as this function is often used)
    pidfile:             C:/Users/jpb/Desktop/vmshare/sentinal-beta/sentinal/log/
    logfile:             C:/Users/jpb/Desktop/vmshare/sentinal-beta/sentinal/log/sentinal.log (if logging to a file)
    Loaded modules and settings from php.ini
    exif:                yes        (needed to determine camera used and focal data)
    curl:                yes        (needed to upload models to database)
    mysql:               yes        (mysql database core)
    mysqli:              yes        (newer mysqli transactions)
    pdo_mysql:           yes        (needed for legacy admin tasks)
    mysqli.reconnect:    Off        (avoids mysql re-login to re-establish db connection when 'On')
    file_uploads:        yes        (file uploads allowed)
    post_max_size:       1000M      (determines the max size of model upload)
    upload_max_filesize: 1000M      (make this equal to post_max_size 8M at least)
    Daemon related settings
    has posix:           no         (compiled with posix)
    has pcntl:           no         (compiled with pcntl)
    can be daemon:       no         (can be a forking daemon)