Development of logic programming approach
to intelligent monitoring of anomalous human activities
Philosophy of the Project
Investigation of the logic programming approach to the intelligent visual surveillance yields
progress in the both research areas, because:
1. Intelligent video monitoring needs complex artificial intelligent methods.
2. Video processing is a complex problem that is characterized by high CPU / memory consumption.
Thus the intelligent visual surveillance is a good application domain for creation and critical
evaluation of industrial logic programming languages, methods, and software tools.
Objectives of the Project
The objectives of the project are:
1. To develop state-of-the-art industrial logic programming methods and software tools.
2. To investigate and develop the logic programming approach to the intelligent visual surveillance.
3. To facilitate the research of the intelligent monitoring of anomalous people activities.
Brief Project Overview
We develop a research led software platform based on the Actor Prolog concurrent object-oriented
logic language and a state-of-the-art Prolog-to-Java translator for examining the intelligent visual
surveillance. The platform includes the Actor Prolog logic programming system and an open source Java
library of Actor Prolog built-in classes. It is created to facilitate our research of the intelligent
monitoring of anomalous people activities and studying the logical description and analysis of people
Feature of Novelty
The distinctive feature of our approach to the visual surveillance logic programming is in application of
general-purpose concurrent object-oriented logic programming features, but not in the development of a new
logical formalism. We use the Actor Prolog object-oriented logic language for implementation of
concurrent stages of video processing. A state-of-the-art Prolog-to-Java translator is used for efficient
implementation of logical inference on video scenes. We develop and implement special built-in classes of
the Actor Prolog language for the low-level video processing.
Intelligent visual surveillance; Object-oriented logic programming; Concurrent logic programming;
Abnormal behavior detection; Anomalous human activity; Actor Prolog; Complex events recognition;
Technical vision; Prolog to Java translation.
Examples of Video Processing
This logic program recognizes another case of a street offence (a sudden attack).
This logic program implements background subtraction, discriminates foreground blobs, traces the
foreground blobs over time, forms connected graphs of linked tracks, and estimates the velocity of the blobs.
This logic program analyzes video test and discovers no anomalous people activity in the video.
This logic program analyzes an ambiguous people behavior and discovers no abnormal activity in the video test.
This logic program analyzes an ambiguous people behavior in the video test and outputs a warning message.
A brief user instruction: open an Actor Prolog program, compile and start the program, select
a video test to be analyzed.