Intelligent Visual Surveillance Logic Programming



Warning! This project is old. Please see the Web Site of the current project here: https://www.fullvision.ru.

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 behavior.

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.


     Keywords: 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

1. picture This logic program recognizes a case of a street offence (a fight) in the CAVIAR test video (https://homepages.inf.ed.ac.uk/rbf/CAVIAR/).
2. picture This logic program recognizes another case of a street offence (a sudden attack).
3. picture 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.
4. picture This logic program analyzes video test and discovers no anomalous people activity in the video.
5. picture This logic program recognizes abnormal people behavior in BEHAVE test videos (https://homepages.inf.ed.ac.uk/rbf/BEHAVE/).
6. picture This logic program analyzes an ambiguous people behavior and discovers no abnormal activity in the video test.
7. picture This logic program analyzes an ambiguous people behavior in the video test and outputs a warning message.
8. picture A brief user instruction: open an Actor Prolog program, compile and start the program, select a video test to be analyzed.




статистика