Menu

Installation

Stephen O'Hara

Installation

1. Requirements

The Proximity Forest implementation makes use of a number of other open source projects. Some of the core requirements are:

  • Python 2.7 with NumPy and SciPy

Some of the optional requirements include:

  • Matplotlib for plotting results
  • PyFlann for comparing to the FLANN implementation of randomized forests of k-d trees
  • fastcluster, scikits.learn, and networkx for clustering using a Proximity Forest
  • Ipython +Parallel for using the parallelized versions of the Proximity Forest

For working with action recognition code, "tracklets", and some of the demonstrations, you will need the following computer vision libraries.

  • OpenCV 2.2 or later, with python 2.7 bindings
  • PyVision computer vision library, checked out from the trunk on or after May 31, 2012.

2. Installation

Installation depends on a number of open source projects. I develop on macs and linux machines, and have not tested the installation of the Proximity Forest code and requirements on Windows.

Because installing open source projects can become a dependency nightmare, especially for new users, I have done two things to make installation easier. The first is to contribute to the building of a virtual machine that has most of the key dependencies already installed. The virtual machine is hosted by the PyVision project and was built primarily by David Bolme with some help from me. The advantage of using the virtual machine is that you can get the system up-and-running quickly on most popular host operating systems (Windows, Mac, Linux). We use the Virtual Box software for creating and running the virtual machines, so its free. The second "easy installation" option is to use a macintosh computer and the macports package management software to get the major dependencies installed.

Unfortunately, I can not provide technical support for installation problems. If you have a concise set of instructions for getting everything running on Windows, I would be happy to add them to this wiki.

Option 1: Virtual Box

  1. Find the Virtual Box website and install the software appropriate to your host operating system for running virtual machines.

  2. Go to the PyVision website: https://sourceforge.net/apps/mediawiki/pyvision/index.php and download the PyVision virtual box appliance. It will be very large, so this might be a good step to schedule for overnight.

  3. Run the virtual box. It should boot up to a linux distribution. Besides PyVision and its base requirements, the virtual machine also comes with Eclipse, subversion, IPython, and other handy tools.

  4. Update the PyVision install to the latest version from subversion. You can do this from within eclipse, or via the command line once you find where the PyVision source is located on the file system.

  5. Check out the latest version of Proximity Forest from this source forge svn repository.

  6. Install optional dependencies as needed.

Option 2: MacPorts

  1. If you haven't done so already, install MacPorts on your mac.

  2. Install the following port files, "sudo port install <portfile> <+options>"</portfile>

    • python-27 (don't forget to use python-select when prompted to set this as your default python installation!)
    • py27-scipy +atlas +gcc45
    • opencv +python27 (optional, required for pyvision dependent code)
    • py27-matplotlib +tkinter
    • py27-ipython +notebook +parallel +scientific (not strictly required, but handy)
    • py27-scikits-learn (optional, for swiss roll data set and some metrics)
    • flann +python27 (for comparing indexing to KD-Trees and HKM)
    • py27-networkx (optional, for clustering)
  3. (optional, for action recognition code) Checkout the latest PyVision from subversion repository hosted on Source Forge. For instructions, see the PyVision web page: https://sourceforge.net/apps/mediawiki/pyvision/index.php

  4. Add PyVision to your PYTHON_PATH. There may be other ways to accomplish the same effect, but essentially you want to be able to issue an "import pyvision as pv" in your python interpreter without having to be in a special directory.

  5. Checkout the latest version of Proximity Forest from this Source Forge svn repository.

  6. Install additional dependencies as needed.


Related

Wiki: Home

MongoDB Logo MongoDB