|
|
Welcome to the iLab Neuromorphic Vision C++ Toolkit (iNVT)!
The iLab Neuromorphic Vision C++ Toolkit (iNVT, pronounced
``invent'') is a comprehensive set of C++ classes for the development
of neuromorphic models of vision. Neuromorphic models are
computational neuroscience algorithms whose architecture and function
is closely inspired from biological brains. The iLab Neuromorphic
Vision C++ Toolkit comprises not only base classes for images,
neurons, and brain areas, but also fully-developed models such as our
model of bottom-up visual
attention and of Bayesian
surprise.
Features at a glance:
- The source tree is maintained using the Subversion (SVN)
revision control system.
- The main development platform is Linux. However, the core
programs also compile under Windows (using cygwin) and MacOS X.
- All source code is distributed freely under the GNU General Public
License. Registered users get access to our central SVN
source code repository and hence receive updates in real-time,
not only when we make major releases.
- Low-level helper classes, including Point2D, Rectangle,
PixRGB<T>, Range, Timer, XWindow, etc.
- Template Image<T> and ImageSet<T> classes with
hundreds of image processing functions and copy-on-write /
ref-counting semantics.
- Image I/O functions for read/write to image files (PNM or PNG) or
video streams (various formats).
- Low-level neural network simulation classes, such as
LeakyInterator and LeakyIntFire neurons and backprop perceptron
classes.
- High-level neuromorphic classes, including a hierarchy
of low-level visual feature Channels for the computation of
neural maps responding to color, intensity, orientation, motion,
corners, T-junctions, etc; a Winner-Take-All maximum selector
network; a Saliency Map network to represent conspicuous
locations in a visual scene; a Visual Buffer short-term visual
memory endowed with internal competitive dynamics; a Visual
Cortex class that orchestrates the computations of a variable
collection of feature channels; a Brain class that holds a Visual
Cortex, Saccade Controller for the simulation of eye/head
movements, Task-Relevance Map to memorize locations of interest
in a scene, Shape Estimator to roughly segment objects in a
scene, a set of SIFT classes that implement David Lowe's
Scale-Invariant Feature Transform model for object/scene
recognition, etc.
- Neuromorphic models of visual attention (to find
locations in an image or video stream that are likely to attract
the eyes of a human observer or to surprise the observer),
contour integration (to simulate how elongated contours are
strong attractors of attention in human observers), object
recognition (using various strategies including matching feature
vectors, backprop perceptrons, hierarchical feedforward feature
extraction models, etc), intelligent knowledge-based vidual
agents that perform high-level scene understanding, rapid
computation of the ``gist'' or coarse semantic category of an
entire scene (e.g., indoors vs. outdoors), and many more!
- Hardware interfacing, to Video4Linux and IEEE-1394
(FireWire) cameras, audio/dsp, serial ports, serial servo
controllers, GPS units, etc. This only works under Linux.
- Parallel processing classes for the simulation of
complex models over Beowulf clusters of computers.
- Neuromorphic modeling environment which facilitates the
run-time selection of plug-in model components, the management of
persistent model tuning parameters, and the generation/parsing of
command-line options for various models based on the collection
of model components which they implement.
- And much, much more...
The iLab Neuromorphic Vision C++ Toolkit is one of the many
exciting neuromorphic vision research projects from the iLab at the University of Southern California.
Current Status
Recent SVN and Forum activity, ordered by last SVN commit
date/time.
|