Intelligent Visual Surveillance Logic Programming

This Web Site is created to facilitate the research in the area of intelligent video surveillance logic programming.
Are you interested in participation in the research?
You are welcome!

Here is a brief roadmap and the list of activities that you could participate in.

1. Download the installation pack of the Actor Prolog system from this Web Site and install the Actor Prolog system. Please note, that this version of the Actor Prolog system is Windows-based, but some people installed it under Linux successfully.

2. Study examples of logic programs that are provided in the installation pack. Note that the Actor Prolog system can interpret logic programs and / or compile them to Windows EXE-code and Java, but some logic program examples require compilation to Java. Thus, you should install JDK7 on your computer to execute examples of Java3D graphics (see the "Demo Programs / Java3D" directory), examples of intelligent visual surveillance (see the "Demo Programs / Vision" directory), etc. A brief instruction on JDK installation is provided inside the Actor Prolog installation manual.

3. Study logic program examples that implement video processing (the "Demo Programs / Vision" directory). Most examples are adapted for processing video samples from the CAVIAR video archive and the BEHAVE collection. Please download these video samples from the corresponding Web Sites.

4. Develop your own logical rules implementing intelligent visual surveillance. Select a sample from the CAVIAR / BEHAVE data collection that is interesting for you and write a logic program that recognizes given type of people behavior.

5. Create your own video samples demonstrating given type of people behavior / anomalous people activity. One needs nothing, but only a digital video camera to do this actually. The only serious thing to be done is the preparation of reference points. That is, you should select a set of points in your video scene and measure precise physical coordinates (in centimeters) of these points and also precise logical coordinates (in pixels) of the same points. Nobody needs precise GPS / GLONASS coordinates of the points of course. You can select any zero point for your measurements, but all coordinates should be consistent! One can use a usual ruler. You should provide not less than four reference points. A good idea is to select about ten reference points that are somewhat remote. Then you should compute the inverse matrix of the projective transform of your video scene on the base of the reference points (see examples of Matlab scripts in the "Demo Programs / Vision / inverse matrix" directory) and use it in your logic programs. We would be glad to publish your video samples and logic programs on our Web Site!

6. Develop you own video processing methods and build in them into the Actor Prolog system for rapid testing / evaluation. The simplest way to do this is in implementing your algorithms in Java in the form of a predefined class of Actor Prolog. See source codes of Actor Prolog predefined classes for implementation details. Publish your source codes on GitHub!

7. Participate in the development of the Actor Prolog compiler / programming system. Please get in touch with us if you are logic programming developer and are interested in participation in the research.

Please do not hesitate to e-mail and ask questions, especially if you are not familiar with the logic programming framework and need an additional help.