The following algorithm demos are available for download :-

Pure Motion Filter     Higher Spec Version     Higher Spec Sun Java Version

The Algol Collection    

These are of interest to those in the fields of Video Analytics or Intelligent Video, commercial or academic. Applications include motion detection & tracking, security alerts, counting, and other video analysis tools.

Both are Java tools, and to run you should install Sun's JMF (see below) and Microsoft's Java Virtual machine (see below, and faster than J# or Sun's).

The tools are java applications for Windows, and will find an attached Windows compatible camera.

The Pure Motion Filter is a subset of The Algol Collection, and uses an algorithm developed during a wider development. It is a very fast true motion screener which identifies multi objects. It is presented alone here because it performs better than many others which learn and separate the background or which monitor the optical flow, except that this algorithm is entirely on the fly with no background separation or learning. It is accurate, fast integer based processing, runs at 30fps+ on reasonable PCs, and could port to a DSP.

There is no documentation yet, and it just plugs and plays. The primary sensitivity is set by the Gradient Tol. One resets the capture rectangle by clicking on the window, and one sets further rectangles by hitting the keyboard with the first letter of a colour when the main display window is in focus, or you find your way around the gui. The documentation in Algol may help. To adjust the setting for the distance to separate objects, find the Capture Range Pixels in the gui - the demo is setup to find just one object per rectangle.

This is shown here to illustrate the scope of this algorithm, and how interesting it is. Run it and note its speed and relative advantages. It is actually very simple and integer based, and was an almost accidental discovery from some larger more profound work in this area. There are some pictures below. The full version is more sensitive and includes hinting to connect moving segments.

If you reverse engineer these programs you may after a great deal of time & effort see how it all works but it will not give you an understanding of why it works. You may though, subject to the licenses and the text within, download the java source of The Pure Motion filter here. The main class is jmfcam05.java. Note too the JMF Plugin Effect version at http://www.exactfutures.com/index02.htm which also includes the source as well as a gaussian codec filter. See also a version of The Pure Motion Filter, with a Sun compile, which is setup for ip cam jpg url addresses, at IP Camera Viewer & Activity Filter for Axis examples and includes the same source code, for running with JMF. This uses example axis ip camera addresses, but could be to any jpg url.

The Algol Collection is a more substantial collection of algorithms and includes some work in progress on new algorithms. The emphasis is always simplicity, speed, and robustness of the actual and visual results.

Enjoy.

Microsoft JVM

Sun's JMF or here

Setup hints:-

Firstly, unzip everything into their own folders. Ensure you have a windows compatible cam installed - Logitechs work well enough.

You should install Microsoft's Java Virtual Machine. Download the zip link here and then install the short named one first, then the longer named patch.

Then install Sun's JMF package, links above. Once that is done and you now have JMStudio on your desktop, then hit on it and go to File/Preferences/Capture Devices, then hit on Detect Capture Devices and wait a while - then hit on Commit. If this seems to fail or not deliver expected results then retry or a reboot can often help. You should now be able to use JMStudio to capture your attached camera. If yes then all is ready. There is absolutely no warranty.

    





Copyright © 2006 ExAct Futures
Last modified: Nov 18, 2008