<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>An Approach to the Intelligent Monitoring of Anomalous Human Behaviour Based on the Actor Prolog Ob ject-Oriented Logic Language</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alexei A. Morozov</string-name>
          <email>morozov@cplire.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander F. Polupanov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Olga S. Sushkova</string-name>
          <email>o.sushkova@mail.ru</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Kotel'nikov Institute of Radio Engineering and Electronics of RAS</institution>
          ,
          <addr-line>Mokhovaya 11, Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Moscow State University of Psychology &amp; Education</institution>
          ,
          <addr-line>Sretenka 29, Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>A method for the monitoring of anomalous human behaviour that is based on the logical description of complex human behaviour patterns and special kinds of blob (a separated area of a foreground image) motion statistical metrics is developed. The concurrent object-oriented logic language is used for the analysis of graphs of tracks of moving blobs; the graphs are supplied by low-level analysis algorithms implemented in a special built-in class of Actor Prolog. The blob motion statistics is collected by the low-level analysis procedures that are of the need for the discrimination of running people, people riding bicycles, and cars in a video scene. The first-order logic language is used for implementing the fuzzy logical inference based on the blob motion statistics. A research software platform is developed that is based on the Actor Prolog logic language and a state-of-the-art Prolog-to-Java translator for experimenting with the intelligent visual surveillance.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Human activity recognition is a rapidly growing research area with important
application domains including security and anti-terrorist issues. Recently logic
programming was recognized as a promising approach for dynamic visual scenes
analysis (see surveys of logic-based recognition systems in [
        <xref ref-type="bibr" rid="ref1 ref2">1,2</xref>
        ]). The idea of the
logic programming approach is in usage of logical rules for description and
analysis of people activities. Knowledge about object co-ordinates and properties,
scene geometry, and human body constraints is encoded in the form of certain
rules in a logic programming language and is applied to the output of low-level
object / feature detectors.
      </p>
      <p>
        The distinctive feature of our approach to the visual surveillance logic
programming is in the 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 [
        <xref ref-type="bibr" rid="ref2 ref3 ref4">3,4,2</xref>
        ] for
implementation of concurrent stages of video processing. A state-of-the-art Prolog-to-Java
translator is used for eficient implementation of logical inference on video scenes.
      </p>
      <p>Basic principles of video surveillance logic programming are described in
Section 2. Development of the blob motion metrics for discrimination of running
people, bicycles, and cars in the video scene is described in Section 3.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Basic principles of video surveillance logic programming</title>
      <p>
        Let us consider an example of logical inference on video. The input of a logic
program written in Actor Prolog is a standard BEHAVE [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] sample.
(a)
(b)
      </p>
      <p>The video (see Fig. 1a) demonstrates a case of a street ofence. Two groups of
persons meet in the scope of the video camera, then one group attacks another
one, they fight, then people run away.</p>
      <p>
        We will solve the problem of anomalous human activity recognition using a
logic program that describes a given scenario of complex people behaviour. The
input data for the logic program will be supplied by low-level algorithms that
trace objects in a video scene and estimate average speed in diferent segments
of the trajectories [
        <xref ref-type="bibr" rid="ref2 ref4">4,2</xref>
        ]. This low-level processing is implemented in Java (not in
Prolog) and includes extraction of foreground blobs, tracking of the blobs over
time, detection of interactions between the blobs, creation of connected graphs
of linked tracks of the blobs, and estimation of average speed of the blobs in
separate segments of the tracks (see Fig. 2a). The input data include a special
set of blob motion metrics to discriminate running pedestrians, bicycles, and
cars during the logical inference.
      </p>
      <p>The logic program checks the graph of tracks and looks for the following
pattern of interaction among several persons: “If two or more persons meet
somewhere in the scene and one of them runs after the end of the meeting,
the program should consider this scenario as a kind of a running away and a
probable case of a sudden attack or a theft.” Thus, the program has to alarm if
this kind of sub-graph is detected in the total connected graph of tracks. In this
(a)
(b)
case, the program marks all persons in the inspected graph by yellow rectangles
and outputs a warning in the middle of the screen (see Fig. 1b).
3</p>
    </sec>
    <sec id="sec-3">
      <title>Development of the blob motion metrics</title>
      <p>
        In contrast to the previously developed motion analysis methods of pedestrian
detection that consider the periodicity and cyclic motion in the way humans
movement [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], we have developed a set of blob motion statistical metrics based
on the windowed coeficient of determination of the temporal changes of the
length of the contour of the blob [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        The coeficient of determination R2 [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] indicates the proportionate amount of
variation in the given response variable Y explained by the independent variable
X in a linear regression model. In the general case, vehicles will be characterised
by bigger values of the R2 metrics than running persons, because the contour
of the running person changes permanently in the course of his motion when he
waves his arms and moves his legs (see Fig. 2b).
      </p>
      <p>We use a windowed modification of the R2 metrics, that is, the trajectory of
a moving blob is characterised by a set of instantaneous values of the R2 metrics
computed in each point of the trajectory. Specifically, two statistical metrics that
characterise the motion of the blob, namely, the mean of the wR2 distribution
and the bias-corrected skewness of the wR2 distribution are used.</p>
      <p>
        The properties of the mean(wR2) and the skewness(wR2) metrics can be
illustrated by the example of the BEHAVE data set [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. For that, we have
computed the tracks of moving blobs in this data set by the blob extraction methods
implemented in Actor Prolog [
        <xref ref-type="bibr" rid="ref2 ref4">4,2</xref>
        ]. The “speed-mean(wR2)” and the
“speedskewness(wR2)” diagrams show clearly that these metrics allow discriminating
fast moving persons and vehicles (Fig. 3). We have implemented the metrics
in the Vision standard package of the Actor Prolog language and use them for
experimenting with the intelligent visual surveillance.
(a)
(b)
Fig. 3. (a) The values of the mean(wR2) metrics of the blobs. The x co-ordinate
is the speed of the object; the y co-ordinate is the mean(wR2) metrics value.
(b) The values of the skewness(wR2) metrics of the blobs. The x co-ordinate is
the speed of the object; the y co-ordinate is the skewness(wR2) metrics value.
In both figures, pedestrians are designated by circles: small blue circles denote
single walking persons; big cyan circles denote groups of walking persons; small
red circles denote single running persons; big orange circles denote groups of
running persons. Vehicles are designated by diamonds: small magenta diamonds
denote bicycles and big yellow diamonds denote cars.
      </p>
      <p>
        We have incorporated elements of fuzzy logical inference based on the blob
motion statistics into the logic language by means of standard arithmetic means
of the language. For example, the is a f ast object predicate for recognition of
fast objects may take into account simultaneously two characteristics of blobs;
namely, the average velocity of a blob and the length of a track. Combination of
these two characteristics is performed by very simple fuzzy metrics described in
terms of arithmetic functions. From the standpoint of the declarative semantics
of the language, the procedure is a standard formula of the first-order predicate
logic. Please see a detailed example of a logic program in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>
        We use a compilation from the Actor Prolog language to Java [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] to ensure
necessary performance of logical inference as well as reliability, portability, and
openness of the software, including the possibility of access to open source code
libraries. At present, we can demonstrate that the Actor Prolog system is fast
enough for real-time analyzing clips of the standard data set [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Conclusions</title>
      <p>
        We have developed a research software platform based on the Actor Prolog
concurrent object-oriented logic language and a state-of-the-art Prolog-to-Java
translator for studying 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 [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. It is intended to facilitate the study of the
intelligent monitoring of anomalous people activities, the logical description and
analysis of people behaviour (see Web Site [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]).
      </p>
      <p>Special blob motion statistical metrics based on the windowed coeficient of
determination wR2 were developed. The blob motion statistics are collected by
the low-level analysis procedures that are implemented in a specialised
builtin class of the Actor Prolog system. Our studies have demonstrated that this
approach is a prospective one for description and analysis of complex people
behaviour, and is useful in recognition of anomalous people activities.</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgements</title>
      <p>Authors are grateful to Abhishek Vaish, Vyacheslav E. Antciperov, Vladimir V.
Deviatkov, Aleksandr N. Alfimtsev, Vladislav S. Popov, and Igor I. Lychkov for
co-operation.</p>
      <p>We acknowledge a partial financial support from the Russian Foundation for
Basic Research, grant No 13-07-92694.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Skarlatidis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Artikis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Filippou</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paliouras</surname>
          </string-name>
          , G.:
          <article-title>A probabilistic logic programming event calculus</article-title>
          .
          <source>Theory and Practice of Logic Programming</source>
          (
          <year>2014</year>
          )
          <fpage>1</fpage>
          -
          <lpage>33</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Morozov</surname>
            ,
            <given-names>A.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polupanov</surname>
            ,
            <given-names>A.F.</given-names>
          </string-name>
          :
          <article-title>Intelligent visual surveillance logic programming: Implementation issues</article-title>
          . In Stro¨der,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Swift</surname>
          </string-name>
          , T., eds.:
          <string-name>
            <surname>CICLOPS-WLPE 2014. Number</surname>
            <given-names>AIB</given-names>
          </string-name>
          -2014-09 in Aachener Informatik Berichte, RWTH Aachen University (
          <year>2014</year>
          )
          <fpage>31</fpage>
          -
          <lpage>45</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Morozov</surname>
            ,
            <given-names>A.A.</given-names>
          </string-name>
          :
          <article-title>Actor Prolog: an object-oriented language with the classical declarative semantics</article-title>
          . In Sagonas,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Tarau</surname>
          </string-name>
          , P., eds.
          <source>: IDL</source>
          <year>1999</year>
          , Paris, France (
          <year>1999</year>
          )
          <fpage>39</fpage>
          -
          <lpage>53</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Morozov</surname>
            ,
            <given-names>A.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vaish</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polupanov</surname>
            ,
            <given-names>A.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Antciperov</surname>
            ,
            <given-names>V.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lychkov</surname>
            ,
            <given-names>I.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alifmtsev</surname>
            ,
            <given-names>A.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deviatkov</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          :
          <article-title>Development of concurrent object-oriented logic programming system to intelligent monitoring of anomalous human activities</article-title>
          . In Jr.,
          <string-name>
            <given-names>A.C.</given-names>
            ,
            <surname>Plantier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Schultz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Fred</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Gamboa</surname>
          </string-name>
          , H., eds.
          <source>: BIODEVICES</source>
          <year>2014</year>
          ,
          <string-name>
            <surname>SCITEPRESS</surname>
          </string-name>
          (
          <year>2014</year>
          )
          <fpage>53</fpage>
          -
          <lpage>62</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. Fisher, R.: BEHAVE:
          <article-title>Computer-assisted prescreening of video streams for unusual activities</article-title>
          .
          <source>The EPSRC project GR/S98146</source>
          . [Online] Available from: http://groups.inf.ed.ac.uk/vision/BEHAVEDATA/INTERACTIONS/ (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Borges</surname>
            ,
            <given-names>P.V.K.</given-names>
          </string-name>
          :
          <article-title>Pedestrian detection based on blob motion statistics</article-title>
          .
          <source>IEEE Trans. Circuits Syst. Video Techn</source>
          . (
          <year>2013</year>
          )
          <fpage>224</fpage>
          -
          <lpage>235</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Morozov</surname>
            ,
            <given-names>A.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Polupanov</surname>
            ,
            <given-names>A.F.</given-names>
          </string-name>
          :
          <article-title>Development of the logic programming approach to the intelligent monitoring of anomalous human behaviour</article-title>
          . In Paulus, D.,
          <string-name>
            <surname>Fuchs</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Droege</surname>
          </string-name>
          , D., eds.: OGRW2014, Koblenz, University of Koblenz-Landau (
          <year>2015</year>
          )
          <fpage>82</fpage>
          -
          <lpage>85</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Draper</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          :
          <article-title>Applied Regression Analysis</article-title>
          . Wiley-Interscience (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Morozov</surname>
            ,
            <given-names>A.A.</given-names>
          </string-name>
          :
          <article-title>A GitHub repository containing source codes of Actor Prolog built-in classes</article-title>
          . [Online] Available from: https://github.com/Morozov2012/actorprolog-java-library (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Morozov</surname>
            ,
            <given-names>A.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sushkova</surname>
            ,
            <given-names>O.S.:</given-names>
          </string-name>
          <article-title>The intelligent visual surveillance logic programming Web Site</article-title>
          . [Online] Available from: http://www.fullvision.ru/actor prolog/ (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>