<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">INFORMATICA</journal-id>
<journal-title-group><journal-title>Informatica</journal-title></journal-title-group>
<issn pub-type="epub">1822-8844</issn><issn pub-type="ppub">0868-4952</issn><issn-l>0868-4952</issn-l>
<publisher>
<publisher-name>Vilnius University</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">INFO1178</article-id>
<article-id pub-id-type="doi">10.15388/Informatica.2018.164</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title>Crowd Abnormal Behaviour Identification Based on Integral Optical Flow in Video Surveillance Systems</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Chen</surname><given-names>Huafeng</given-names></name><email xlink:href="eric.hf.chen@hotmail.com">eric.hf.chen@hotmail.com</email><xref ref-type="aff" rid="j_info1178_aff_001">1</xref><xref ref-type="corresp" rid="cor1">∗</xref><bio>
<p><bold>H. Chen</bold> was born in 1982. He is a lecturer of Zhejiang Shuren University. Graduated from Zhejiang University in 2003. In 2009 he got his PhD in the field of earth exploration and information technology at the Institute of Space Information &amp; Technique, Zhejiang University. His scientific interests include remote sensing image processing, GIS application, image and video processing, multi-agent system. He has published more than 10 academic articles.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Nedzvedz</surname><given-names>Olga</given-names></name><xref ref-type="aff" rid="j_info1178_aff_002">2</xref><bio>
<p><bold>O. Nedzvedz</bold> is a senior lecturer of Department of Medical and Biological Physics of Belarusian Medical University. Her area of scientific interests includes analysis of medical images, mathematical simulation of medical processes, biophysics and biophysical education. She is an author of more than 25 publications in the fields of medical informatics, biophysics and pedagogy.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Ye</surname><given-names>Shiping</given-names></name><xref ref-type="aff" rid="j_info1178_aff_001">1</xref><bio>
<p><bold>Sh. Ye</bold> was born in 1967. He is a professor and vice president of Zhejiang Shuren University. Graduated from Zhejiang University in 1988. In 2009 he got his master’s degree in computer science and technology from Zhejiang University. His scientific interests include application of computer graphics and image, GIS. He has published more than 40 academic articles. Four research projects he has taken part in have been awarded second prize of Zhejiang Provincial Scientific and Technological Achievement. Two teaching research programs he has presided over have been awarded first prize and second prize of Zhejiang Provincial Teaching Achievement, respectively.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Ablameyko</surname><given-names>Sergey</given-names></name><xref ref-type="aff" rid="j_info1178_aff_003">3</xref><bio>
<p><bold>S. Ablameyko</bold> was born in 1956, DipMath in 1978, PhD in 1984, DSc in 1990, prof. in 1992. Rector (president) of Belarusian State University from 2008 to 2017. His scientific interests are: image analysis, pattern recognition, digital geometry, knowledge based systems, geographical information systems, medical imaging. He has more than 400 publications. He is in editorial board of <italic>Pattern Recognition Letters</italic>, <italic>Pattern Recognition and Image Analysis</italic> and many other international and national journals. He is editor-in-chief of two national journals. He is a senior member of IEEE, Fellow of IAPR, Fellow of Belarusian Engineering Academy, Academician of National Academy of Sciences of Belarus, Academician of the European Academy, and others. He was a first vice-president of International Association for Pattern Recognition IAPR (2006–2008), President of Belarusian Association for image analysis and recognition. He is a deputy chairman of Belarusian Space Committee, chairman of BSU Academic Council of awarding of PhD and DSc degrees. For his activity he was awarded by State Prize of Belarus (highest national scientific award) in 2002, Belarusian Medal of F. Skoryna, Russian Award of Friendship and many other awards.</p></bio>
</contrib>
<aff id="j_info1178_aff_001"><label>1</label><institution>Zhejiang Shuren University</institution>, 8, Shuren Street, Hangzhou, 310015, <country>People’s Republic of China</country></aff>
<aff id="j_info1178_aff_002"><label>2</label><institution>Belarusian State Medical University</institution>, 83, Dzerzhinski Avenue, Minsk, 220116, <country>Republic of Belarus</country></aff>
<aff id="j_info1178_aff_003"><label>3</label><institution>Belarusian State University</institution>, 4, Nezavisimosti Avenue, Minsk, 220050, <country>Republic of Belarus</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>∗</label>Corresponding author.</corresp>
</author-notes>
<pub-date pub-type="ppub"><year>2018</year></pub-date><pub-date pub-type="epub"><day>1</day><month>1</month><year>2018</year></pub-date><volume>29</volume><issue>2</issue><fpage>211</fpage><lpage>232</lpage><history><date date-type="received"><month>6</month><year>2017</year></date><date date-type="accepted"><month>3</month><year>2018</year></date></history>
<permissions><copyright-statement>© 2018 Vilnius University</copyright-statement><copyright-year>2018</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>Open access article under the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">CC BY</ext-link> license.</license-p></license></permissions>
<abstract>
<p>Basic motion structures of crowd aggregation and crowd dispersion are defined and a novel method for identifying these crowd behaviours is proposed. Based on integral optical flow, background and foreground are separated and intensive motion region is obtained. Crowd motion is analysed at pixel-level statistically for each frame to obtain quantity of pixels moving toward or away from each position and their comprehensive motion at each position. Regional motion indicators are computed and regional motion maps are formed to describe motions at region-level. Crowd behaviours are identified by threshold segmentation of regional motion maps.</p>
</abstract>
<kwd-group>
<label>Key words</label>
<kwd>crowd behaviour</kwd>
<kwd>integral optical flow</kwd>
<kwd>motion analysis</kwd>
<kwd>segmentation</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="j_info1178_s_001">
<label>1</label>
<title>Introduction</title>
<p>Video surveillance technology has been widely used for monitoring situation or postmortem analysis. Different applications focus on various kinds of objects in video sequences. In public places, e.g. squares, railway stations, etc., video surveillance technology can be used to detect and analyse abnormal situations. In this kind of scenarios, pedestrians are of most interest. Comparing to individual movement, crowd motion is much more important and harder to track.</p>
<p>Crowd is a unique group of individuals or something that involves community or society. Crowd can be described in a general term, the behaviour of the crowds has a collective characteristic such as ‘an angry crowd’ and ‘a peaceful crowd’. In ‘an angry crowd’ we have to identify its behaviour. Various tasks for detecting crowd behaviour can be defined such as crowd density estimation, crowd behaviour identification, crowd motion, crowd tracking. Good reviews of crowd behaviour situations are given in Sjarif <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_021">2012</xref>), Li <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_015">2015</xref>), Yogameena and Nagananthini (<xref ref-type="bibr" rid="j_info1178_ref_025">2017</xref>).</p>
<p>Crowds react to their surroundings; they may also actively cause certain situations when abnormal event happens. In abnormal case crowd can quickly move in one direction or run in different directions. We will not consider in this paper crowd moving in one direction. We will concentrate our attention to crowd aggregation and crowd dispersion. When these behaviours happen, they usually mean abnormal or even urgent event happens. So, in this paper, we will consider a crowd abnormal behaviour as crowd aggregation and dispersion.</p>
<p>Identifying crowd behaviours in videos has been proved challenging. In traditional way, one could segment objects of interests from the background and track their movements separately (Cheriyadat and Radke, <xref ref-type="bibr" rid="j_info1178_ref_006">2008</xref>; Hu <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1178_ref_012">2013</xref>). But in crowded situations, this is difficult due to severe occlusions (Junior <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1178_ref_013">2010</xref>). In recent years, there have been great improvements in the study of Convolutional Neural Network (CNN), thus some works used CNN for crowd behaviour analysis. Shao <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_019">2016</xref>) presented Slicing-CNN for crowd video understanding. Zhang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_026">2016</xref>) proposed a method using optical flow and CNN to recognize crowd events on video. Ravanbakhsh <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_018">2017</xref>) employed Fully Convolutional Network and optical flow to obtain the complementary information of both appearance and motion patterns. There are some other CNN-based methods that have been proposed for crowd video analysis, e.g. (Cheung <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1178_ref_007">2016</xref>; Zhao <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1178_ref_027">2016</xref>; Shao <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1178_ref_020">2017</xref>). Some works which also require training adopted other training techniques. Andrade <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_001">2006</xref>) presented a method combining optical flow and unsupervised feature extraction based on spectral clustering and Multiple Observation Hidden Markov Model (MOHMM) training for abnormal events detection in crowds and correctly distinguished blocked exit situation from normal crowd flow. Wang <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_024">2016</xref>) presented a feature descriptor called hybrid optical flow histogram and performed training on normal behaviour samples through sparse representation, they detected change of speed in different directions of a movement as abnormal behaviour for every frame. Mehran <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_017">2009</xref>) proposed abnormal crowd behaviour detection method based on social force model, it could distinguish abnormal frames from normal frames. Methods with training stage usually need mass data to train certain behaviour model and it is not easy to create that kind of data set with professional and accurate labels. Some works which don’t require training have also been published. Hu <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_011">2008</xref>) proposed a method to learn crowd motion pattern based on sparse optical flows and clustering, and neighbourhood graph was used to measure the similarity and proximity of flow vectors. They didn’t further identify crowd behaviours. Chen and Shao (<xref ref-type="bibr" rid="j_info1178_ref_004">2014</xref>) proposed a method for detection and localization of crowd escape anomalous behaviours in video surveillance systems, they used energy of optical flow to detect abnormality and divergent centre to indicate corresponding location. Ali and Shah (<xref ref-type="bibr" rid="j_info1178_ref_002">2007</xref>) presented a framework in which Lagrangian Particle Dynamics is used for the segmentation of high density crowd flows and detection of flow instabilities. An interesting approach for moving object detection based on partitioning a video into blocks of equal length and detecting objects in the first and last frames of the block is proposed in Kustikova and Gergel (<xref ref-type="bibr" rid="j_info1178_ref_014">2016</xref>). Solmaz <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_022">2012</xref>) proposed a method to identify five crowd behaviours including blocking, lane, bottleneck, ring/arch and fountainhead based on stability analysis through Jacobian matrix. This paper considered abnormal crowd behaviour, based on using an optical flow and it is much closer to our research.</p>
<p>Among aforementioned works, optical flow is widely used for motion analysis because of its ability to treat crowd as single entity and thus avoid individual tracking. Instead of using basic optical flow (Lucas and Kanade, <xref ref-type="bibr" rid="j_info1178_ref_016">1981</xref>; Farnebäck, <xref ref-type="bibr" rid="j_info1178_ref_009">2003</xref>; Horn and Schunck, <xref ref-type="bibr" rid="j_info1178_ref_010">1981</xref>; Tao <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1178_ref_023">2012</xref>) directly, we use integral optical flow (Chen <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1178_ref_005">2017</xref>) to analyse crowd motion. Ali and Shah (<xref ref-type="bibr" rid="j_info1178_ref_002">2007</xref>), Solmaz <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_022">2012</xref>) also integrate basic optical flow over time in similar ways, but the reason of using integral optical flow in our work is to separate background and foreground and obtain intensive motion region. Several works, e.g. Mehran <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_017">2009</xref>), Ali and Shah (<xref ref-type="bibr" rid="j_info1178_ref_002">2007</xref>), Solmaz <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_022">2012</xref>), create dynamical system and perform particle advection along with optical flow to emulate crowd motion, while our method only uses start position and end position of pixels in certain time period to perform motion analysis.</p>
<p>In this paper, we present a novel method based on integral optical flow to identify crowd aggregation and crowd dispersion in videos which should be captured by stationary cameras in public places. The main contributions of our work are as follows: 1) Identifying specific crowd behaviours in public places where pedestrians are the main moving objects. 2) Instead of being inspired by particle advection from fluid dynamics, our method is from the perspective of geometry. We focus on geometric structure formed by crowd motion in certain time period. This straightforward idea makes our method simpler than other methods. 3) Taking advantage of the accumulative effect of integral optical flow. Random motion of background is reduced in integral optical flow, thus separating foreground from background becomes much easier. Our method doesn’t require training, it can be used for situation monitoring and analysis, or as a component of comprehensive systems. We apply our method on simulated videos and real word videos and get good results. Experimental results show that our method outperforms state-of-the-art methods.</p>
</sec>
<sec id="j_info1178_s_002">
<label>2</label>
<title>Integral Optical Flow</title>
<p>Optical flow provides a way letting one study pixel motion at different time. There exist several methods for computing optical flow, these methods differ in basic theory and mathematic method. Some of the methods only compute optical flow for certain set of pixels, e.g. Lucas and Kanade (<xref ref-type="bibr" rid="j_info1178_ref_016">1981</xref>), while others compute optical flow for all pixels in the frame, e.g. Farnebäck (<xref ref-type="bibr" rid="j_info1178_ref_009">2003</xref>), Horn and Schunck (<xref ref-type="bibr" rid="j_info1178_ref_010">1981</xref>), Tao <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_023">2012</xref>). In this paper method in Farnebäck (<xref ref-type="bibr" rid="j_info1178_ref_009">2003</xref>) is used to find dense optical flow.</p>
<p>Basic optical flow only records displacement vector of pixels between two consecutive frames. Taking into account the very short time interval between them, it is hard to distinguish foreground from background due to motion of background. Generally background moves randomly, e.g. back and forth or circularly. In short time this kind of character doesn’t show, but after a long enough time, it will reveal itself thus help identifying foreground. Integral optical flow is an intuitive idea that accumulate optical flows for several consecutive frames. Along with the accumulation, displacement vectors of background become small, while those of foreground keep growing.</p>
<p>For description convenience, we use <inline-formula id="j_info1178_ineq_001"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula> to denote <italic>t</italic>-th frame of video <italic>I</italic> and <inline-formula id="j_info1178_ineq_002"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${I_{t}}(p)$]]></tex-math></alternatives></inline-formula> to denote pixel at position <italic>p</italic> in <inline-formula id="j_info1178_ineq_003"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula> throughout the remainder of this paper. Let <inline-formula id="j_info1178_ineq_004"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OF</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{OF}_{t}}$]]></tex-math></alternatives></inline-formula> denote basic optical flow of <inline-formula id="j_info1178_ineq_005"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1178_ineq_006"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">IOF</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">itv</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\mathit{IOF}_{t}^{\mathit{itv}}}$]]></tex-math></alternatives></inline-formula> denote integral optical flow of <inline-formula id="j_info1178_ineq_007"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1178_ineq_008"><alternatives><mml:math>
<mml:mi mathvariant="italic">itv</mml:mi></mml:math><tex-math><![CDATA[$\mathit{itv}$]]></tex-math></alternatives></inline-formula> is the frame interval parameter used to compute integral optical flow. <inline-formula id="j_info1178_ineq_009"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">IOF</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">itv</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\mathit{IOF}_{t}^{\mathit{itv}}}$]]></tex-math></alternatives></inline-formula> is a vector field which records accumulated displacement information in time period of <inline-formula id="j_info1178_ineq_010"><alternatives><mml:math>
<mml:mi mathvariant="italic">itv</mml:mi></mml:math><tex-math><![CDATA[$\mathit{itv}$]]></tex-math></alternatives></inline-formula> frames for all pixels in <inline-formula id="j_info1178_ineq_011"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>. For any pixel <inline-formula id="j_info1178_ineq_012"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${I_{t}}(p)$]]></tex-math></alternatives></inline-formula>, its integral optical flow <inline-formula id="j_info1178_ineq_013"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">IOF</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">itv</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{IOF}_{t}^{\mathit{itv}}}(p)$]]></tex-math></alternatives></inline-formula> can be determined as follows: 
<disp-formula id="j_info1178_eq_001">
<label>(1)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">IOF</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">itv</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
<mml:mi mathvariant="italic">O</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathit{IOF}_{t}^{\mathit{itv}}}(p)={\sum \limits_{i=0}^{itv-1}}O{F_{t+i}}({p_{t+i}}),\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1178_ineq_014"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{t+i}}$]]></tex-math></alternatives></inline-formula> is the position in <inline-formula id="j_info1178_ineq_015"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t+i}}$]]></tex-math></alternatives></inline-formula> of the pixel.</p>
</sec>
<sec id="j_info1178_s_003">
<label>3</label>
<title>Proposed Method</title>
<sec id="j_info1178_s_004">
<label>3.1</label>
<title>General Scheme</title>
<p>Our method considers three factors to identify crowd behaviours: motion intensity, quantity and motion direction of pixels moving toward and away from certain regions. First we define basic motion structures of crowd aggregation and crowd dispersion. Based on integral optical flow, we then define four motion maps to describe pixel motions at each position, i.e. statistical analysis of quantity and motion direction of pixels moving toward or away from each position. After that, we introduce regional motion indicators to analyse motion at region-level, which is appropriate for crowd behaviour identification. At last, we use threshold segmentation to identify above-mentioned crowd behaviours. General scheme of our method is shown in Fig. <xref rid="j_info1178_fig_001">1</xref>.</p>
<fig id="j_info1178_fig_001">
<label>Fig. 1</label>
<caption>
<p>General scheme of crowd behaviour identification.</p>
</caption>
<graphic xlink:href="info1178_g001.jpg"/>
</fig>
</sec>
<sec id="j_info1178_s_005">
<label>3.2</label>
<title>Definition of Crowd Behavior</title>
<fig id="j_info1178_fig_002">
<label>Fig. 2</label>
<caption>
<p>Diagram of crowd aggregation and crowd dispersion. (a) basic structure of typical crowd aggregation; (b) basic structure of crowd aggregation with fewer motion directions; (c) basic structure of typical crowd dispersion; (d) basic structure of crowd dispersion with fewer motion directions; (e), (f) crowd aggregate from all directions; (g), (h) crowd aggregate from two opposite directions; (i), (j) crowd disperse in all directions; (k), (l) crowd disperse in two opposite directions. In (a), (b), (c) and (d), a black solid circle represents a group of people, a dotted circle represents a certain region and arrows show motion directions.</p>
</caption>
<graphic xlink:href="info1178_g002.jpg"/>
</fig>
<p>Human behaviours reflect one’s emotion which can be affected by surroundings. Individual behaviours may not be reliable for indicating things happening around, but behaviours of crowd in public places are very reliable indicators. From human nature point of view, people react rapidly to urgent events, thus their motions become fast on video. For example, when people see something dangerous, they get away from the corresponding region in order to prevent getting hurt. Crowds not only react to their surroundings, they may also create emergencies. When conflict is going to happen between two groups of people, e.g. fans of two football clubs, they tend to approach each other rapidly. There are many other situations causing these crowd behaviours.</p><statement id="j_info1178_stat_001"><label>Definition 1</label>
<title>(<italic>Crowd aggregation</italic>).</title>
<p>Many people move rapidly toward a certain region from different directions. In typical crowd aggregation as shown in Fig. <xref rid="j_info1178_fig_002">2</xref>(a), people are from all directions symmetrically. But in real situations, that is not necessary. It depends on characteristic of the public place where people are and at which stage the corresponding event is. For example, if two groups of people decide to attack each other after some sort of plan or emotion accumulation, aggregation like Fig. <xref rid="j_info1178_fig_002">2</xref>(b) is more likely to happen. In general, three rules are proposed to identify crowd aggregation: 1) many people move toward a certain region from elsewhere; 2) they move fast; 3) there are at least two moving directions and they are more or less symmetrical.</p></statement><statement id="j_info1178_stat_002"><label>Definition 2</label>
<title>(<italic>Crowd dispersion</italic>).</title>
<p>Many people move rapidly away from a certain region in different directions. Usually it means something urgent or dangerous happens and people run in different directions to get away, like it is shown in Fig. <xref rid="j_info1178_fig_002">2</xref>(c). But unless it is too crowded that people stand shoulder by shoulder, they don’t necessarily move in all directions, although their motion directions are still more or less symmetrical. Situation like Fig. <xref rid="j_info1178_fig_002">2</xref>(d) can also happen when two groups of people retreat from a conflict. In general, three rules are proposed to identify crowd dispersion: 1) many people move away from a certain region to elsewhere; 2) they move fast; 3) there are at least two moving directions and they are more or less symmetrical.</p></statement>
</sec>
<sec id="j_info1178_s_006">
<label>3.3</label>
<title>Statistical Motion Analysis at Position-Level</title>
<p>Crowd behaviours are related to regions spatially. As a region comprises several adjacent positions, before looking into those behaviours, one should describe motion at each position clearly. Basic optical flow and integral optical flow record basic information of motions, i.e. starting position and ending position of pixels, thus for each position in the frame, not only number of pixels passing through can be counted, their comprehensive moving directions can also be computed.</p>
<sec id="j_info1178_s_007">
<label>3.3.1</label>
<title>Pixel Motion Path</title><statement id="j_info1178_stat_003"><label>Definition 3</label>
<title>(<italic>Motion path of a pixel</italic>).</title>
<p>Suppose <inline-formula id="j_info1178_ineq_016"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${I_{t}}(p)$]]></tex-math></alternatives></inline-formula> moves to <italic>q</italic> in <inline-formula id="j_info1178_ineq_017"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t+itv}}$]]></tex-math></alternatives></inline-formula>, then position sequence <inline-formula id="j_info1178_ineq_018"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(p,q)$]]></tex-math></alternatives></inline-formula> is called <bold>simple motion path</bold> of pixel <inline-formula id="j_info1178_ineq_019"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${I_{t}}(p)$]]></tex-math></alternatives></inline-formula> in the time period from <inline-formula id="j_info1178_ineq_020"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula> to <inline-formula id="j_info1178_ineq_021"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t+itv}}$]]></tex-math></alternatives></inline-formula>. Suppose <inline-formula id="j_info1178_ineq_022"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>⩾</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${p_{0}},{p_{1}},\dots ,{p_{n-1}}(n\geqslant 2,{p_{0}}=p,{p_{n-1}}=q)$]]></tex-math></alternatives></inline-formula> are positions computed through Digital Differential Analyzer (DDA) for line segment <inline-formula id="j_info1178_ineq_023"><alternatives><mml:math>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mi mathvariant="italic">q</mml:mi></mml:math><tex-math><![CDATA[$pq$]]></tex-math></alternatives></inline-formula>, then position sequence <inline-formula id="j_info1178_ineq_024"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({p_{0}},{p_{1}},\dots ,{p_{n-1}})$]]></tex-math></alternatives></inline-formula> is called <bold>interpolative motion path</bold> of pixel <inline-formula id="j_info1178_ineq_025"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${I_{t}}(p)$]]></tex-math></alternatives></inline-formula> in the time period from <inline-formula id="j_info1178_ineq_026"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula> to <inline-formula id="j_info1178_ineq_027"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t+itv}}$]]></tex-math></alternatives></inline-formula>.</p></statement>
<fig id="j_info1178_fig_003">
<label>Fig. 3</label>
<caption>
<p>An example of pixel motion path. (a) displacement vectors of pixel <inline-formula id="j_info1178_ineq_028"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${I_{t}}({p_{0}})$]]></tex-math></alternatives></inline-formula> in basic optical flows; (b) displacement vector of <inline-formula id="j_info1178_ineq_029"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${I_{t}}({p_{0}})$]]></tex-math></alternatives></inline-formula> in integral optical flow and its motion path. Dotted arrows represent displacement vectors in basic optical flows and their integer versions, the solid arrow represents displacement vector in integral optical flow, solid circles represent positions.</p>
</caption>
<graphic xlink:href="info1178_g003.jpg"/>
</fig>
<p>From integral optical flow, motion of a pixel in given time period can be determined. For example, in Fig. <xref rid="j_info1178_fig_003">3</xref>(a), one pixel in <inline-formula id="j_info1178_ineq_030"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula> with original position <inline-formula id="j_info1178_ineq_031"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{0}}$]]></tex-math></alternatives></inline-formula> moves to position <inline-formula id="j_info1178_ineq_032"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{3}}$]]></tex-math></alternatives></inline-formula> after four frames in <inline-formula id="j_info1178_ineq_033"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t+4}}$]]></tex-math></alternatives></inline-formula>; <inline-formula id="j_info1178_ineq_034"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
<mml:mo mathvariant="normal">,</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
<mml:mo mathvariant="normal">,</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
<mml:mo mathvariant="normal">,</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\vec{{d_{1}}},\vec{{d_{2}}},\vec{{d_{3}}},\vec{{d_{4}}}$]]></tex-math></alternatives></inline-formula> are displacement vectors of the pixel extracted from basic optical flows <inline-formula id="j_info1178_ineq_035"><alternatives><mml:math>
<mml:mi mathvariant="italic">O</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">O</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">O</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">O</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">F</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$O{F_{t}},O{F_{t+1}},O{F_{t+2}},O{F_{t+3}}$]]></tex-math></alternatives></inline-formula>, respectively, <inline-formula id="j_info1178_ineq_036"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
<mml:mo mathvariant="normal">,</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
<mml:mo mathvariant="normal">,</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
<mml:mo mathvariant="normal">,</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\vec{{d^{\prime }_{1}}},\vec{{d^{\prime }_{2}}},\vec{{d^{\prime }_{3}}},\vec{{d^{\prime }_{4}}}$]]></tex-math></alternatives></inline-formula> in Fig. <xref rid="j_info1178_fig_003">3</xref>(b) are their integer versions for computing integral optical flow; <inline-formula id="j_info1178_ineq_037"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
<mml:mo>=</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
<mml:mo>+</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
<mml:mo>+</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
<mml:mo>+</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\vec{d}=\vec{{d^{\prime }_{1}}}+\vec{{d^{\prime }_{2}}}+\vec{{d^{\prime }_{3}}}+\vec{{d^{\prime }_{4}}}$]]></tex-math></alternatives></inline-formula> is the displacement vector of the pixel extracted from integral optical flow <inline-formula id="j_info1178_ineq_038"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">IOF</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\mathit{IOF}_{t}^{4}}$]]></tex-math></alternatives></inline-formula>. Here we call position sequence <inline-formula id="j_info1178_ineq_039"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({p_{0}},{p_{3}})$]]></tex-math></alternatives></inline-formula> simple motion path of the pixel in time period from frame <inline-formula id="j_info1178_ineq_040"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula> to frame <inline-formula id="j_info1178_ineq_041"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t+4}}$]]></tex-math></alternatives></inline-formula>. When we need to describe the motion more precisely, position sequence <inline-formula id="j_info1178_ineq_042"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({p_{0}},{p_{1}},{p_{2}},{p_{3}})$]]></tex-math></alternatives></inline-formula> can be used as interpolative motion path of the pixel in the same time period.</p>
<p>For statistical motion analysis, only pixels which actually move should be considered. Thus for each position, only motion path whose starting position is different from its ending position should be taken into account.</p><statement id="j_info1178_stat_004"><label>Definition 4</label>
<title>(<italic>Effective motion path of a position</italic>).</title>
<p>Suppose <inline-formula id="j_info1178_ineq_043"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({p_{0}},{p_{1}},\dots ,{p_{n-1}})$]]></tex-math></alternatives></inline-formula> is a motion path of <inline-formula id="j_info1178_ineq_044"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${I_{t}}({p_{0}})$]]></tex-math></alternatives></inline-formula>, where <inline-formula id="j_info1178_ineq_045"><alternatives><mml:math>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>⩾</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">≠</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$n\geqslant 2,{p_{0}}\ne {p_{n-1}}$]]></tex-math></alternatives></inline-formula>, then <inline-formula id="j_info1178_ineq_046"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({p_{0}},{p_{1}},\dots ,{p_{n-1}})$]]></tex-math></alternatives></inline-formula> is called an <bold>effective motion path</bold> of <inline-formula id="j_info1178_ineq_047"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{i}}$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1178_ineq_048"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(0\leqslant i<n)$]]></tex-math></alternatives></inline-formula>. Here <inline-formula id="j_info1178_ineq_049"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({p_{0}},{p_{1}},\dots ,{p_{n-1}})$]]></tex-math></alternatives></inline-formula> can be a simple motion path or an interpolative motion path depending on which type of motion path is used for motion analysis. All effective motion paths of <inline-formula id="j_info1178_ineq_050"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{i}}$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1178_ineq_051"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(0\leqslant i<n)$]]></tex-math></alternatives></inline-formula> form its <bold>effective motion path set</bold> (EMP set).</p></statement>
</sec>
<sec id="j_info1178_s_008">
<label>3.3.2</label>
<title>Motion Maps</title>
<p>Comprehensive motion direction of pixels in a region can be easily obtained or computed thus help determine whether the pixels move in the same direction or in symmetrical directions. But without knowing their destinations, one can hardly say it is a motion of aggregation or dispersion. Therefore in this section, motion maps are defined and created to describe motions in a frame from the point of view of positions instead of pixels.</p><statement id="j_info1178_stat_005"><label>Definition 5</label>
<title>(<italic>Motion maps</italic>).</title>
<p>A map with a scalar value at each position indicating number of pixels moving toward the corresponding position is called <bold>in-pixel quantity map</bold> (IQ map); A map with a scalar value at each position indicating number of pixels moving away from the corresponding position is called <bold>out-pixel quantity map</bold> (OQ map); A map with a vector at each position indicating comprehensive motion of pixels moving toward the corresponding position is called <bold>in-pixel comprehensive motion map</bold> (ICM map); A map with a vector at each position indicating comprehensive motion of pixels moving away from the corresponding position is called <bold>out-pixel comprehensive motion map</bold> (OCM map).</p></statement>
<fig id="j_info1178_fig_004">
<label>Fig. 4</label>
<caption>
<p>An effective motion path starting from <inline-formula id="j_info1178_ineq_052"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{0}}$]]></tex-math></alternatives></inline-formula> and ending at <inline-formula id="j_info1178_ineq_053"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{n-1}}$]]></tex-math></alternatives></inline-formula> where <inline-formula id="j_info1178_ineq_054"><alternatives><mml:math>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>⩾</mml:mo>
<mml:mn>2</mml:mn></mml:math><tex-math><![CDATA[$n\geqslant 2$]]></tex-math></alternatives></inline-formula> and the corresponding displacement vector in integral optical flow is <inline-formula id="j_info1178_ineq_055"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="true">→</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\overrightarrow{{p_{0}}{p_{n-1}}}$]]></tex-math></alternatives></inline-formula>.</p>
</caption>
<graphic xlink:href="info1178_g004.jpg"/>
</fig>
<p>Let’s take a look at a single effective motion path. Assume <inline-formula id="j_info1178_ineq_056"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo>…</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$({p_{0}},{p_{1}},\dots ,{p_{n-1}})$]]></tex-math></alternatives></inline-formula> is an effective motion path as shown in Fig. <xref rid="j_info1178_fig_004">4</xref>, vector <inline-formula id="j_info1178_ineq_057"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="true">→</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\overrightarrow{{p_{0}}{p_{n-1}}}$]]></tex-math></alternatives></inline-formula> is the corresponding displacement vector in integral optical flow. In order to compute contributions of pixel quantity and comprehensive motion of this path for every position in it, we use the normalized vector of <inline-formula id="j_info1178_ineq_058"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="true">→</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\overrightarrow{{p_{0}}{p_{n-1}}}$]]></tex-math></alternatives></inline-formula>, because it carries information of both pixel number and motion direction. The normalized vector of <inline-formula id="j_info1178_ineq_059"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="true">→</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\overrightarrow{{p_{0}}{p_{n-1}}}$]]></tex-math></alternatives></inline-formula> can be computed as follow: 
<disp-formula id="j_info1178_eq_002">
<label>(2)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">norm</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="true">→</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="true">→</mml:mo></mml:mover>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\vec{v}_{\mathrm{norm}}}=\frac{\overrightarrow{{p_{0}}{p_{n-1}}}}{|\overrightarrow{{p_{0}}{p_{n-1}}}|}\]]]></tex-math></alternatives>
</disp-formula> 
where <inline-formula id="j_info1178_ineq_060"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">norm</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\vec{v}_{\mathrm{norm}}}$]]></tex-math></alternatives></inline-formula> is the normalized vector, <inline-formula id="j_info1178_ineq_061"><alternatives><mml:math>
<mml:mo stretchy="false">|</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="true">→</mml:mo></mml:mover>
<mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$|\overrightarrow{{p_{0}}{p_{n-1}}}|$]]></tex-math></alternatives></inline-formula> is the magnitude of <inline-formula id="j_info1178_ineq_062"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="true">→</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\overrightarrow{{p_{0}}{p_{n-1}}}$]]></tex-math></alternatives></inline-formula>. If the angle between <inline-formula id="j_info1178_ineq_063"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">norm</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\vec{v}_{\mathrm{norm}}}$]]></tex-math></alternatives></inline-formula> and x-axis is <italic>θ</italic>, then 
<disp-formula id="j_info1178_eq_003">
<label>(3)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">norm</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mo movablelimits="false">cos</mml:mo>
<mml:mi mathvariant="italic">θ</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mo movablelimits="false">sin</mml:mo>
<mml:mi mathvariant="italic">θ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\vec{v}_{\mathrm{norm}}}=(\cos \theta ,\sin \theta ).\]]]></tex-math></alternatives>
</disp-formula> 
Note that <inline-formula id="j_info1178_ineq_064"><alternatives><mml:math>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">norm</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$|{\vec{v}_{\mathrm{norm}}}|=1$]]></tex-math></alternatives></inline-formula> indicates pixel number for a single effective motion path, four values can be computed for any position <inline-formula id="j_info1178_ineq_065"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{i}}$]]></tex-math></alternatives></inline-formula> <inline-formula id="j_info1178_ineq_066"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>⩽</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(0\leqslant i<n)$]]></tex-math></alternatives></inline-formula> in the path: <disp-formula-group id="j_info1178_dg_001">
<disp-formula id="j_info1178_eq_004">
<label>(4)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">in</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">in</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">norm</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {s_{\mathrm{in}}}={w_{\mathrm{in}}}\cdot |{\vec{v}_{\mathrm{norm}}}|,\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1178_eq_005">
<label>(5)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">out</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">out</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">norm</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {s_{\mathrm{out}}}={w_{\mathrm{out}}}\cdot |{\vec{v}_{\mathrm{norm}}}|,\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1178_eq_006">
<label>(6)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">in</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">in</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">norm</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {v_{\mathrm{in}}}={w_{\mathrm{in}}}\cdot {\vec{v}_{\mathrm{norm}}},\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1178_eq_007">
<label>(7)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">out</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">out</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">norm</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {v_{\mathrm{out}}}={w_{\mathrm{out}}}\cdot {\vec{v}_{\mathrm{norm}}},\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> where <inline-formula id="j_info1178_ineq_067"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">in</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">out</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${w_{\mathrm{in}}},{w_{\mathrm{out}}}$]]></tex-math></alternatives></inline-formula> are weights to indicate the degree or percentage of coming and leaving of the corresponding pixel at the position and <inline-formula id="j_info1178_ineq_068"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">in</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">out</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${w_{\mathrm{in}}}+{w_{\mathrm{out}}}=1$]]></tex-math></alternatives></inline-formula>. There is a simple way to determine <inline-formula id="j_info1178_ineq_069"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">in</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${w_{\mathrm{in}}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1178_ineq_070"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">out</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${w_{\mathrm{out}}}$]]></tex-math></alternatives></inline-formula> based on distance: <disp-formula-group id="j_info1178_dg_002">
<disp-formula id="j_info1178_eq_008">
<label>(8)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">in</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {w_{\mathrm{in}}}=\frac{|{p_{0}}{p^{\prime }_{i}}|}{|{p_{0}}{p_{n-1}}|},\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1178_eq_009">
<label>(9)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">w</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">out</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {w_{\mathrm{out}}}=\frac{|{p^{\prime }_{i}}{p_{n-1}}|}{|{p_{0}}{p_{n-1}}|},\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> where <inline-formula id="j_info1178_ineq_071"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${p^{\prime }_{i}}$]]></tex-math></alternatives></inline-formula>, which is rounded to <inline-formula id="j_info1178_ineq_072"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">i</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{i}}$]]></tex-math></alternatives></inline-formula> in the process of generating interpolative motion path, is the intersection of line segment <inline-formula id="j_info1178_ineq_073"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{0}}{p_{n-1}}$]]></tex-math></alternatives></inline-formula> and the underlying grid.</p>
<p>In general, let <inline-formula id="j_info1178_ineq_074"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${S_{t}}(p)$]]></tex-math></alternatives></inline-formula> denote EMP set of position <italic>p</italic> at the time of <inline-formula id="j_info1178_ineq_075"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1178_ineq_076"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ICM</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OCM</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{IQ}_{t}},{\mathit{OQ}_{t}},{\mathit{ICM}_{t}},{\mathit{OCM}_{t}}$]]></tex-math></alternatives></inline-formula> denote IQ map, OQ map, ICM map and OCM map of <inline-formula id="j_info1178_ineq_077"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>, respectively, then values at position <italic>p</italic> on these maps at the corresponding time can be computed as follows: <disp-formula-group id="j_info1178_dg_003">
<disp-formula id="j_info1178_eq_010">
<label>(10)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">in</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathit{IQ}_{t}}(p)=\sum \limits_{a\in {S_{t}}(p)}{s_{\mathrm{in}}}(a,p),\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1178_eq_011">
<label>(11)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">out</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathit{OQ}_{t}}(p)=\sum \limits_{a\in {S_{t}}(p)}{s_{\mathrm{out}}}(a,p),\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1178_eq_012">
<label>(12)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ICM</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">in</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathit{ICM}_{t}}(p)=\sum \limits_{a\in {S_{t}}(p)}{\vec{v}_{\mathrm{in}}}(a,p),\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1178_eq_013">
<label>(13)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OCM</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">out</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathit{OCM}_{t}}(p)=\sum \limits_{a\in {S_{t}}(p)}{\vec{v}_{\mathrm{out}}}(a,p),\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> where <inline-formula id="j_info1178_ineq_078"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">in</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">out</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">in</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">v</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">→</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">out</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">a</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${s_{\mathrm{in}}}(a,p),{s_{\mathrm{out}}}(a,p),{\vec{v}_{\mathrm{in}}}(a,p),{\vec{v}_{\mathrm{out}}}(a,p)$]]></tex-math></alternatives></inline-formula> are computed according to Eqs. (<xref rid="j_info1178_eq_004">4</xref>)–(<xref rid="j_info1178_eq_007">7</xref>).</p>
<p>After above four motion maps for time of <inline-formula id="j_info1178_ineq_079"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula> have been created, important characteristics of pixel motions at that time will be revealed by these maps. 
<list>
<list-item id="j_info1178_li_001">
<label>(1)</label>
<p>Positions with bigger value on IQ map are positions to which more pixels move;</p>
</list-item>
<list-item id="j_info1178_li_002">
<label>(2)</label>
<p>Positions with bigger value on OQ map are positions from which more pixels leave;</p>
</list-item>
<list-item id="j_info1178_li_003">
<label>(3)</label>
<p>Positions with smaller vector magnitude on ICM map are positions to which pixels move in more symmetrical directions;</p>
</list-item>
<list-item id="j_info1178_li_004">
<label>(4)</label>
<p>Positions with smaller vector magnitudes on OCM map are positions from which pixels leave in more symmetrical directions.</p>
</list-item>
</list> 
In conclusion, positions with big values on IQ map and small vector magnitudes on ICM map are positions at which pixels tend to aggregate; positions with big values on OQ map and small vector magnitudes on OCM map are positions at which pixels tend to disperse.</p>
</sec>
</sec>
<sec id="j_info1178_s_009">
<label>3.4</label>
<title>Regional Motion Analysis</title>
<p>It makes more sense to analyse motions at region-level when studying crowd behaviours. In this section, meaningful indicators are defined and computed for regions of interest, these indicators will be used to identify crowd aggregation and crowd dispersion.</p>
<sec id="j_info1178_s_010">
<label>3.4.1</label>
<title>Intensive Motion Region</title>
<p>Motion intensity is a major factor for detecting urgent events. It is appropriate to use average displacement of pixels to represent motion intensity in a region. <statement id="j_info1178_stat_006"><label>Definition 6</label>
<title>(<italic>Regional motion intensity</italic>).</title>
<p>Average of displacement vector magnitudes extracted from integral optical flow for pixels in a certain region. Let <italic>r</italic> denote a certain region, <inline-formula id="j_info1178_ineq_080"><alternatives><mml:math>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$M{I_{t}}(r)$]]></tex-math></alternatives></inline-formula> denote regional motion intensity of <italic>r</italic> at the time of <inline-formula id="j_info1178_ineq_081"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>, then it can be computed as follow: 
<disp-formula id="j_info1178_eq_014">
<label>(14)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:munder>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">IOF</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">itv</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ M{I_{t}}(r)=\frac{1}{n}\sum \limits_{p\in r}\big|{\mathit{IOF}_{t}^{\mathit{itv}}}(p)\big|,\]]]></tex-math></alternatives>
</disp-formula> 
where <italic>n</italic> is position number in <italic>r</italic>, <inline-formula id="j_info1178_ineq_082"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">IOF</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">itv</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{IOF}_{t}^{\mathit{itv}}}(p)$]]></tex-math></alternatives></inline-formula> is displacement vector of <inline-formula id="j_info1178_ineq_083"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${I_{t}}(p)$]]></tex-math></alternatives></inline-formula> extracted from integral optical flow. Any region with a high enough regional motion intensity is considered an intensive motion region. Identification of intensive motion region is the precondition of further process, i.e. crowd behaviour identification.</p></statement></p>
</sec>
<sec id="j_info1178_s_011">
<label>3.4.2</label>
<title>Regional Motion Analysis Based on Motion Maps</title>
<p>IQ map and OQ map can be used to obtain quantities of pixels moving toward and away from a certain region, respectively. Since region size will be considered further in crowd behaviour identification, whether to use sum or average here doesn’t matter.</p><statement id="j_info1178_stat_007"><label>Definition 7</label>
<title>(<italic>Regional in-pixel relative quantity</italic>).</title>
<p>Average of values on IQ map at positions in a certain region.</p></statement><statement id="j_info1178_stat_008"><label>Definition 8</label>
<title>(<italic>Regional out-pixel relative quantity</italic>).</title>
<p>Average of values on OQ map at positions in a certain region.</p></statement>
<p>Let <italic>r</italic> denote a certain region, <inline-formula id="j_info1178_ineq_084"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IRQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{IRQ}_{t}}(r)$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1178_ineq_085"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ORQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{ORQ}_{t}}(r)$]]></tex-math></alternatives></inline-formula> denote regional in-pixel relative quantity and regional out-pixel relative quantity of <italic>r</italic> at the time of <inline-formula id="j_info1178_ineq_086"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>, respectively, then <disp-formula-group id="j_info1178_dg_004">
<disp-formula id="j_info1178_eq_015">
<label>(15)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IRQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:munder>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathit{IRQ}_{t}}(r)=\frac{1}{n}\sum \limits_{p\in r}{\mathit{IQ}_{t}}(p),\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1178_eq_016">
<label>(16)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ORQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:munder>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathit{ORQ}_{t}}(r)=\frac{1}{n}\sum \limits_{p\in r}{\mathit{OQ}_{t}}(p),\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> where <italic>n</italic> is position number in <italic>r</italic>, <inline-formula id="j_info1178_ineq_087"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{IQ}_{t}}(p)$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1178_ineq_088"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{OQ}_{t}}(p)$]]></tex-math></alternatives></inline-formula> are values at position <italic>p</italic> on IQ map and OQ map at the time of <inline-formula id="j_info1178_ineq_089"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>, respectively.</p>
<p>By comparing <inline-formula id="j_info1178_ineq_090"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IRQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{IRQ}_{t}}(r)$]]></tex-math></alternatives></inline-formula> with <inline-formula id="j_info1178_ineq_091"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ORQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{ORQ}_{t}}(r)$]]></tex-math></alternatives></inline-formula>, one can know whether more pixels move toward a certain region than pixels move away from it or vice versa. This is important when identifying possible crowd aggregation and crowd dispersion.</p><statement id="j_info1178_stat_009"><label>Definition 9</label>
<title>(<italic>Regional in/out indicator</italic>).</title>
<p>Regional in-pixel relative quantity divided by regional out-pixel relative quantity.</p></statement>
<p>Let <italic>r</italic> denote a certain region, <inline-formula id="j_info1178_ineq_092"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IOI</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{IOI}_{t}}(r)$]]></tex-math></alternatives></inline-formula> denote regional in/out indicator of <italic>r</italic> at the time of <inline-formula id="j_info1178_ineq_093"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>, then 
<disp-formula id="j_info1178_eq_017">
<label>(17)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IOI</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IRQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ORQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathit{IOI}_{t}}(r)=\frac{{\mathit{IRQ}_{t}}(r)}{{\mathit{ORQ}_{t}}(r)}\]]]></tex-math></alternatives>
</disp-formula> 
<inline-formula id="j_info1178_ineq_094"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IOI</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${\mathit{IOI}_{t}}(r)>1$]]></tex-math></alternatives></inline-formula> means more pixels move toward <italic>r</italic> while <inline-formula id="j_info1178_ineq_095"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IOI</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${\mathit{IOI}_{t}}(r)<1$]]></tex-math></alternatives></inline-formula> means more pixels move away from <italic>r</italic>.</p>
<p>According to Definition <xref rid="j_info1178_stat_005">5</xref> and Eqs. (<xref rid="j_info1178_eq_010">10</xref>)–(<xref rid="j_info1178_eq_013">13</xref>), it can be concluded that <inline-formula id="j_info1178_ineq_096"><alternatives><mml:math><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ICM</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>⩾</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\frac{{\mathit{IQ}_{t}}(p)}{|{\mathit{ICM}_{t}}(p)|}\geqslant 1$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1178_ineq_097"><alternatives><mml:math><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OCM</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>⩾</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\frac{{\mathit{OQ}_{t}}(p)}{|{\mathit{OCM}_{t}}(p)|}\geqslant 1$]]></tex-math></alternatives></inline-formula>. The equal sign in each inequality works when and only when pixels move in exactly the same direction. When motion directions become more symmetrical, value of the left side of each inequality becomes bigger. These kinds of useful properties shall keep invariant for regions thus help identify crowd behaviours.</p><statement id="j_info1178_stat_010"><label>Definition 10</label>
<title>(<italic>Regional in-pixel symmetry</italic>).</title>
<p>Regional in-pixel relative quantity of a certain region divided by magnitude of average vector in that region on ICM map.</p></statement><statement id="j_info1178_stat_011"><label>Definition 11</label>
<title>(<italic>Regional out-pixel symmetry</italic>).</title>
<p>Regional out-pixel relative quantity of a certain region divided by magnitude of average vector in that region on OCM map.</p></statement>
<p>Let <italic>r</italic> denote a certain region, <inline-formula id="j_info1178_ineq_098"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{IS}_{t}}(r)$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1178_ineq_099"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{OS}_{t}}(r)$]]></tex-math></alternatives></inline-formula> denote regional in-pixel symmetry and regional out-pixel symmetry of <italic>r</italic> at the time of <inline-formula id="j_info1178_ineq_100"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>, respectively, then <disp-formula-group id="j_info1178_dg_005">
<disp-formula id="j_info1178_eq_018">
<label>(18)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IRQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ICM</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathit{IS}_{t}}(r)=\frac{{\mathit{IRQ}_{t}}(r)}{\big|\frac{1}{n}{\textstyle\sum _{p\in r}}{\mathit{ICM}_{t}}(p)\big|},\]]]></tex-math></alternatives>
</disp-formula>
<disp-formula id="j_info1178_eq_019">
<label>(19)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="left">
<mml:mtr>
<mml:mtd class="align-odd">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ORQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OCM</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathit{OS}_{t}}(r)=\frac{{\mathit{ORQ}_{t}}(r)}{\big|\frac{1}{n}{\textstyle\sum _{p\in r}}{\mathit{OCM}_{t}}(p)\big|},\]]]></tex-math></alternatives>
</disp-formula>
</disp-formula-group> where <italic>n</italic> is position number in <italic>r</italic>.</p>
<p>Here we have <inline-formula id="j_info1178_ineq_101"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${\mathit{IS}_{t}}(r)\geqslant 1$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1178_ineq_102"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${\mathit{OS}_{t}}(r)\geqslant 1$]]></tex-math></alternatives></inline-formula> with the equal signs work when corresponding pixels move in exactly the same direction. The bigger <inline-formula id="j_info1178_ineq_103"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{IS}_{t}}(r)$]]></tex-math></alternatives></inline-formula> or <inline-formula id="j_info1178_ineq_104"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{OS}_{t}}(r)$]]></tex-math></alternatives></inline-formula> is, the more symmetrically the corresponding pixels move.</p>
</sec>
</sec>
<sec id="j_info1178_s_012">
<label>3.5</label>
<title>Identifying Crowd Behaviours</title>
<p>Methods proposed in this paper apply to identifying crowd behaviours from videos captured by stationary camera and with foreground mainly consisting of pedestrians. Videos captured by Closed Circuit Television (CCTV) in public places normally have these characteristics.</p>
<p>As described in Section <xref rid="j_info1178_s_005">3.2</xref>, crowd aggregation and crowd dispersion are good indicators of abnormal or urgent events. When trying to identify these behaviours, lower limits of region size and regional motion intensity and thresholds for pixel quantity and motion direction should be properly determined according to specific purposes in different applications. One proper way to determine these parameters, which we adopt in our experiments, is to perform statistical analysis of videos which contain crowd aggregation or crowd dispersion, especially for the same scene.</p>
<p>We may have different types of regions of interest. Sometimes only several certain regions are of interest, other times the whole scene needs to be monitored. For the first case, indicators of Definitions <xref rid="j_info1178_stat_006">6</xref>–<xref rid="j_info1178_stat_011">11</xref> can be computed only for certain regions; for the second case, a sliding window should be moved through each position which is treated as the centre of a region. There are basically no restrictions on region shape, though normally self-symmetric regions should be used, e.g. squares, rectangles, circles, etc. Since the first case is just a special case of the second and much easier, we will just discuss the second case.</p>
<p>Square region will be used and its centre will represent the region. Let <italic>r</italic> denote a certain square region, <italic>c</italic> denote the centre position of <italic>r</italic>, then we have <inline-formula id="j_info1178_ineq_105"><alternatives><mml:math>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$M{I_{t}}(c)=M{I_{t}}(r)$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1178_ineq_106"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IRQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IRQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{IRQ}_{t}}(c)={\mathit{IRQ}_{t}}(r)$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1178_ineq_107"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ORQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ORQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{ORQ}_{t}}(c)={\mathit{ORQ}_{t}}(r)$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1178_ineq_108"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IOI</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IOI</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{IOI}_{t}}(c)={\mathit{IOI}_{t}}(r)$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1178_ineq_109"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{IS}_{t}}(c)={\mathit{IS}_{t}}(r)$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1178_ineq_110"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{OS}_{t}}(c)={\mathit{OS}_{t}}(r)$]]></tex-math></alternatives></inline-formula>. Thus <inline-formula id="j_info1178_ineq_111"><alternatives><mml:math>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IRQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ORQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IOI</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$M{I_{t}},{\mathit{IRQ}_{t}},{\mathit{ORQ}_{t}},{\mathit{IOI}_{t}},{\mathit{IS}_{t}},{\mathit{OS}_{t}}$]]></tex-math></alternatives></inline-formula> can be seen as maps and are called <bold>regional motion intensity map</bold> (MI map), <bold>regional in-pixel relative quantity map</bold> (IRQ map), <bold>regional out-pixel relative quantity map</bold> (ORQ map), <bold>regional in/out indicator map</bold> (IOI map), <bold>regional in-pixel symmetry map</bold> (IS map) and <bold>regional out-pixel symmetry map</bold> (OS map), respectively. Regional versions of ICM map and OCM map, called <bold>regional in-pixel comprehensive motion map</bold> (RICM map) and <bold>regional out-pixel comprehensive motion map</bold> (ROCM map), respectively, can also be created to show how symmetrically pixels move toward and away from a region. Let <inline-formula id="j_info1178_ineq_112"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">RICM</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{RICM}_{t}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1178_ineq_113"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ROCM</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{ROCM}_{t}}$]]></tex-math></alternatives></inline-formula> denote RICM map and ROCM map, respectively, then <inline-formula id="j_info1178_ineq_114"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">RICM</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">RICM</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ICM</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{RICM}_{t}}(c)={\mathit{RICM}_{t}}(r)=\frac{1}{n}{\textstyle\sum _{p\in r}}{\mathit{ICM}_{t}}(p)$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1178_ineq_115"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ROCM</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ROCM</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:msub>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">O</mml:mi>
<mml:mi mathvariant="italic">C</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{ROCM}_{t}}(c)={\mathit{ROCM}_{t}}(r)=\frac{1}{n}{\textstyle\sum _{p\in r}}OC{M_{t}}(p)$]]></tex-math></alternatives></inline-formula>, where <italic>n</italic> is position number in <italic>r</italic>.</p>
<sec id="j_info1178_s_013">
<label>3.5.1</label>
<title>Identification of Crowd Aggregation</title>
<p>According to Definition <xref rid="j_info1178_stat_001">1</xref> and the three rules, crowd aggregation is identified in region <italic>r</italic> if <inline-formula id="j_info1178_ineq_116"><alternatives><mml:math>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IRQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IOI</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$M{I_{t}}(r),{\mathit{IRQ}_{t}}(r),{\mathit{IOI}_{t}}(r)$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1178_ineq_117"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{IS}_{t}}(r)$]]></tex-math></alternatives></inline-formula> meet thresholds. Let <inline-formula id="j_info1178_ineq_118"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{11}}$]]></tex-math></alternatives></inline-formula> denote threshold for MI map, <inline-formula id="j_info1178_ineq_119"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{12}}$]]></tex-math></alternatives></inline-formula> denote threshold for IRQ map, <inline-formula id="j_info1178_ineq_120"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>13</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{13}}$]]></tex-math></alternatives></inline-formula> denote threshold for IOI map, <inline-formula id="j_info1178_ineq_121"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>14</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{14}}$]]></tex-math></alternatives></inline-formula> denote threshold for IS map when identifying crowd aggregation, then if the following conditions are met, one can conclude that crowd aggregation is going to happen in region <italic>r</italic> at the time of <inline-formula id="j_info1178_ineq_122"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>. 
<list>
<list-item id="j_info1178_li_005">
<label>(1)</label>
<p><inline-formula id="j_info1178_ineq_123"><alternatives><mml:math>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$M{I_{t}}(r)\geqslant {t_{11}}$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_info1178_li_006">
<label>(2)</label>
<p><inline-formula id="j_info1178_ineq_124"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IRQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{IRQ}_{t}}(r)\geqslant {t_{12}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1178_ineq_125"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IOI</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>13</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{IOI}_{t}}(r)\geqslant {t_{13}}$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_info1178_li_007">
<label>(3)</label>
<p><inline-formula id="j_info1178_ineq_126"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>14</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{IS}_{t}}(r)\geqslant {t_{14}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list> 
Here <inline-formula id="j_info1178_ineq_127"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>13</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${t_{13}}>1$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1178_ineq_128"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>14</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${t_{14}}>1$]]></tex-math></alternatives></inline-formula>.</p>
</sec>
<sec id="j_info1178_s_014">
<label>3.5.2</label>
<title>Identification of Crowd Dispersion</title>
<p>According to Definition <xref rid="j_info1178_stat_002">2</xref> and the three rules, crowd dispersion is identified in region <italic>r</italic> if <inline-formula id="j_info1178_ineq_129"><alternatives><mml:math>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ORQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IOI</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$M{I_{t}}(r),{\mathit{ORQ}_{t}}(r),{\mathit{IOI}_{t}}(r)$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1178_ineq_130"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\mathit{OS}_{t}}(r)$]]></tex-math></alternatives></inline-formula> meet thresholds. Let <inline-formula id="j_info1178_ineq_131"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>21</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{21}}$]]></tex-math></alternatives></inline-formula> denote threshold for MI map, <inline-formula id="j_info1178_ineq_132"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>22</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{22}}$]]></tex-math></alternatives></inline-formula> denote threshold for ORQ map, <inline-formula id="j_info1178_ineq_133"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>23</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{23}}$]]></tex-math></alternatives></inline-formula> denote threshold for IOI map, <inline-formula id="j_info1178_ineq_134"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>24</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{24}}$]]></tex-math></alternatives></inline-formula> denote threshold for OS map when identifying crowd dispersion, then if the following conditions are met, one can conclude that crowd dispersion is going to happen in region <italic>r</italic> at the time of <inline-formula id="j_info1178_ineq_135"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>. 
<list>
<list-item id="j_info1178_li_008">
<label>(1)</label>
<p><inline-formula id="j_info1178_ineq_136"><alternatives><mml:math>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>21</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$M{I_{t}}(r)\geqslant {t_{21}}$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_info1178_li_009">
<label>(2)</label>
<p><inline-formula id="j_info1178_ineq_137"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ORQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>22</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{ORQ}_{t}}(r)\geqslant {t_{22}}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1178_ineq_138"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IOI</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>23</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{IOI}_{t}}(r)<{t_{23}}$]]></tex-math></alternatives></inline-formula>;</p>
</list-item>
<list-item id="j_info1178_li_010">
<label>(3)</label>
<p><inline-formula id="j_info1178_ineq_139"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>24</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{OS}_{t}}(r)\geqslant {t_{24}}$]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
</list> 
Here <inline-formula id="j_info1178_ineq_140"><alternatives><mml:math>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>23</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$0<{t_{23}}<1$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_info1178_ineq_141"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>24</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${t_{24}}>1$]]></tex-math></alternatives></inline-formula>.</p>
</sec>
</sec>
</sec>
<sec id="j_info1178_s_015">
<label>4</label>
<title>Results and Discussion</title>
<p>The proposed methods are tested on some videos in Agoraset and several real world videos. Agoraset is a dataset dedicated to researchers working on crowd video analysis. It was described in Allain <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_003">2012</xref>), Courty <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_008">2014</xref>) and can also be found in https://www.sites.univ-rennes2.fr/costel/corpetti/agoraset/Site/Scenes.html. There are totally eight scenes in Agoraset, among which SCENE 5: Dispersion (Dispersion from a given point), SCENE 7: Sideway (Two flows are going in opposite directions) and SCENE 8: Crossing (Four groups of people are meeting in the middle of the scene) contain at least one of the two types of crowd behaviour and are therefore used for testing.</p>
<sec id="j_info1178_s_016">
<label>4.1</label>
<title>Explanations About the Experiments</title>
<p>In order to describe crowd motion precisely, especially to determine whether they move symmetrically or not, the window size for computing basic optical flow should be about or a little smaller than the size of a person on video. Except for SCENE 7, there are two types of view for videos in Agoraset: top view and perspective view. In top view video, size of a person almost doesn’t change during motion. In perspective view video, size of a person becomes bigger when that person moves closer to the camera. Therefore, window size for computing optical flow is determined according to the size of a person away from the lens for perspective view video.</p>
<fig id="j_info1178_fig_005">
<label>Fig. 5</label>
<caption>
<p>Colour plate for displaying integral optical flow.</p>
</caption>
<graphic xlink:href="info1178_g005.jpg"/>
</fig>
<p>Munsell colour system is referenced to display integral optical flow. Different colours mean different motion directions (Fig. <xref rid="j_info1178_fig_005">5</xref>). For example, when a pixel moves right, then it will be red in the colour image of integral optical flow. In the meantime, colour purity depends on magnitude of displacement vector, the bigger the purer.</p>
<p>Images transformed from other intermediate results will be selectively shown based on the type of crowd behaviour to be identified. Transformation methods for these results are listed as follows: 
<list>
<list-item id="j_info1178_li_011">
<label>(1)</label>
<p>IQ map, OQ map, MI map, IRQ map, ORQ map, IOI map, IS map and OS map are transformed into grey images.</p>
</list-item>
<list-item id="j_info1178_li_012">
<label>(2)</label>
<p>ICM map, OCM map, RICM map and ROCM map are transformed into colour images in the same way as integral optical flow is transformed. Lighter colours mean pixels move more symmetrically or less pixels are moving.</p>
</list-item>
<list-item id="j_info1178_li_013">
<label>(3)</label>
<p>MI map, IRQ map, ORQ map, IOI map, IS map and OS map are segmented using thresholds and shown as binary images with white indicating specific thresholds are met.</p>
</list-item>
</list> 
Finally, masks of different colours are mixed with original video to show certain crowd behaviours are identified. Green and blue are used for crowd aggregation and crowd dispersion, respectively. We also use red mask to indicate simple directional motion in Section <xref rid="j_info1178_s_019">4.4</xref>. Note that only centre position of a region will be marked when certain crowd behaviour is identified in that region. In top view of SCENE 8 (<inline-formula id="j_info1178_ineq_142"><alternatives><mml:math>
<mml:mn>512</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>512</mml:mn></mml:math><tex-math><![CDATA[$512\times 512$]]></tex-math></alternatives></inline-formula>, 25 fps), four group of people are meeting in the middle of the scene. Interpolative motion path is used for motion analysis. When identifying crowd aggregation, it is important to know that motion intensity inside the aggregation region is probably small. <inline-formula id="j_info1178_ineq_143"><alternatives><mml:math>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>20</mml:mn></mml:math><tex-math><![CDATA[$itv=20$]]></tex-math></alternatives></inline-formula> is frame interval parameter for computing integral optical flow, size of square region used to identify crowd behaviour is <inline-formula id="j_info1178_ineq_144"><alternatives><mml:math>
<mml:mn>101</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>101</mml:mn></mml:math><tex-math><![CDATA[$101\times 101$]]></tex-math></alternatives></inline-formula>. <inline-formula id="j_info1178_ineq_145"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>10</mml:mn></mml:math><tex-math><![CDATA[${t_{11}}=10$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1178_ineq_146"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>3.0</mml:mn></mml:math><tex-math><![CDATA[${t_{12}}=3.0$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1178_ineq_147"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>13</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1.5</mml:mn></mml:math><tex-math><![CDATA[${t_{13}}=1.5$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1178_ineq_148"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>14</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>4</mml:mn></mml:math><tex-math><![CDATA[${t_{14}}=4$]]></tex-math></alternatives></inline-formula> are thresholds for MI map, IRQ map, IOI map, IS map, respectively. Here <inline-formula id="j_info1178_ineq_149"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>13</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1.5</mml:mn></mml:math><tex-math><![CDATA[${t_{13}}=1.5$]]></tex-math></alternatives></inline-formula> means number of pixels moving toward a candidate region should be relatively at least 1.5 times of number of pixels moving away from the region.</p>
</sec>
<sec id="j_info1178_s_017">
<label>4.2</label>
<title>Crowd Aggregation</title>
<fig id="j_info1178_fig_006">
<label>Fig. 6</label>
<caption>
<p>Experimental results of crowd aggregation identification using interpolative motion path (top view of SCENE 8). (a) <inline-formula id="j_info1178_ineq_150"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>; (b) colour image of <inline-formula id="j_info1178_ineq_151"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">IOF</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\mathit{IOF}_{t}^{20}}$]]></tex-math></alternatives></inline-formula>; (c) <inline-formula id="j_info1178_ineq_152"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t+20}}$]]></tex-math></alternatives></inline-formula>; (d) grey image of <inline-formula id="j_info1178_ineq_153"><alternatives><mml:math>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$M{I_{t}}$]]></tex-math></alternatives></inline-formula>; (e) grey image of <inline-formula id="j_info1178_ineq_154"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{IQ}_{t}}$]]></tex-math></alternatives></inline-formula>; (f) grey image of <inline-formula id="j_info1178_ineq_155"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IRQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{IRQ}_{t}}$]]></tex-math></alternatives></inline-formula>; (g) grey image of <inline-formula id="j_info1178_ineq_156"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IOI</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{IOI}_{t}}$]]></tex-math></alternatives></inline-formula>; (h) segmentation result of <inline-formula id="j_info1178_ineq_157"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IOI</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{IOI}_{t}}$]]></tex-math></alternatives></inline-formula>; (i) colour image of <inline-formula id="j_info1178_ineq_158"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">RICM</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{RICM}_{t}}$]]></tex-math></alternatives></inline-formula>; (j) grey image of <inline-formula id="j_info1178_ineq_159"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{IS}_{t}}$]]></tex-math></alternatives></inline-formula>; (k) crowd aggregation identification result of <inline-formula id="j_info1178_ineq_160"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>; (l) crowd aggregation identification result of <inline-formula id="j_info1178_ineq_161"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula> with only <inline-formula id="j_info1178_ineq_162"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>14</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{14}}$]]></tex-math></alternatives></inline-formula> changed to 2.</p>
</caption>
<graphic xlink:href="info1178_g006.jpg"/>
</fig>
<p>As shown in Fig. <xref rid="j_info1178_fig_006">6</xref>(a) and 6(c), the crowd starts to aggregate at the centre of the scene. The integral optical flow in Fig. <xref rid="j_info1178_fig_006">6</xref>(b) clearly shows their motion trend. Because interpolative motion path is used, the slender greyish-white trails in Fig. <xref rid="j_info1178_fig_006">6</xref>(e) mean values are very big at corresponding positions on IQ map. There are some noises at the lower right corner of IOI map causing most of Fig. <xref rid="j_info1178_fig_006">6</xref>(g) is black, but segmentation result in Fig. <xref rid="j_info1178_fig_006">6</xref>(h) shows there are more pixels moving toward than moving away from around the centre and some other places. Figure <xref rid="j_info1178_fig_006">6</xref>(i) shows pixels move symmetrically around the centre with light colours. Figure <xref rid="j_info1178_fig_006">6</xref>(j) shows their symmetrical motion directions much clearer. Final result is shown in Fig. <xref rid="j_info1178_fig_006">6</xref>(k) with green mask at the centre of regions in which crowd aggregation is happening. In order to get better visual result, the result is mixed with <inline-formula id="j_info1178_ineq_163"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t+20}}$]]></tex-math></alternatives></inline-formula> instead of <inline-formula id="j_info1178_ineq_164"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>. When restriction on the symmetry of motion directions is relaxed, more regions are identified as shown in Fig. <xref rid="j_info1178_fig_006">6</xref>(l).</p>
<fig id="j_info1178_fig_007">
<label>Fig. 7</label>
<caption>
<p>Experimental results of crowd aggregation identification using interpolative motion path (perspective view of SCENE 8). (a) <inline-formula id="j_info1178_ineq_165"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>; (b) <inline-formula id="j_info1178_ineq_166"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t+20}}$]]></tex-math></alternatives></inline-formula>; (c) crowd aggregation identification result of <inline-formula id="j_info1178_ineq_167"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>; (d) crowd aggregation identification result of <inline-formula id="j_info1178_ineq_168"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula> with only <inline-formula id="j_info1178_ineq_169"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>14</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{14}}$]]></tex-math></alternatives></inline-formula> changed to 2.</p>
</caption>
<graphic xlink:href="info1178_g007.jpg"/>
</fig>
<p><inline-formula id="j_info1178_ineq_170"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{IS}_{t}}$]]></tex-math></alternatives></inline-formula> which stands for symmetry of motion directions is a decisive factor in this example. This doesn’t mean motion intensity or pixel quantity can be ignored. For perspective view of SCENE 8 (<inline-formula id="j_info1178_ineq_171"><alternatives><mml:math>
<mml:mn>512</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>512</mml:mn></mml:math><tex-math><![CDATA[$512\times 512$]]></tex-math></alternatives></inline-formula>, 25 fps, angle of view: 30), same parameters are used and results are shown in Fig. <xref rid="j_info1178_fig_007">7</xref>.</p>
<fig id="j_info1178_fig_008">
<label>Fig. 8</label>
<caption>
<p>Experimental results of crowd aggregation identification using interpolative motion path (SCENE 7). (a) <inline-formula id="j_info1178_ineq_172"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>; (b) <inline-formula id="j_info1178_ineq_173"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t+20}}$]]></tex-math></alternatives></inline-formula>; (c) crowd aggregation identification result of <inline-formula id="j_info1178_ineq_174"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>; (d) crowd aggregation identification result of <inline-formula id="j_info1178_ineq_175"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula> with only <inline-formula id="j_info1178_ineq_176"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>14</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{14}}$]]></tex-math></alternatives></inline-formula> changed to 2.</p>
</caption>
<graphic xlink:href="info1178_g008.jpg"/>
</fig>
<p>In SCENE 7 (<inline-formula id="j_info1178_ineq_177"><alternatives><mml:math>
<mml:mn>640</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>480</mml:mn></mml:math><tex-math><![CDATA[$640\times 480$]]></tex-math></alternatives></inline-formula>, 30 fps, angle of view: 54.43), two group of pedestrians walk rapidly toward each other in two opposite directions. With the same parameters used above, results are shown in Fig. <xref rid="j_info1178_fig_008">8</xref>.</p>
</sec>
<sec id="j_info1178_s_018">
<label>4.3</label>
<title>Crowd Dispersion</title>
<p>In top view of SCENE 5 (<inline-formula id="j_info1178_ineq_178"><alternatives><mml:math>
<mml:mn>640</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>480</mml:mn></mml:math><tex-math><![CDATA[$640\times 480$]]></tex-math></alternatives></inline-formula>, 30 fps), the crowd disperse from the lower right part of a square with walls. As the crowd disperse, motion intensity inside the corresponding region reduces, so later dispersion won’t be able to be detected unless increasing region size or reducing threshold for MI map. Interpolative motion path is used for motion analysis. <inline-formula id="j_info1178_ineq_179"><alternatives><mml:math>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>20</mml:mn></mml:math><tex-math><![CDATA[$itv=20$]]></tex-math></alternatives></inline-formula> is frame interval parameter for computing integral optical flow, size of square region used to identify crowd behaviour is <inline-formula id="j_info1178_ineq_180"><alternatives><mml:math>
<mml:mn>101</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>101</mml:mn></mml:math><tex-math><![CDATA[$101\times 101$]]></tex-math></alternatives></inline-formula>. <inline-formula id="j_info1178_ineq_181"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>21</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>10</mml:mn></mml:math><tex-math><![CDATA[${t_{21}}=10$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1178_ineq_182"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>22</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>2.0</mml:mn></mml:math><tex-math><![CDATA[${t_{22}}=2.0$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1178_ineq_183"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>23</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.8</mml:mn></mml:math><tex-math><![CDATA[${t_{23}}=0.8$]]></tex-math></alternatives></inline-formula>, <inline-formula id="j_info1178_ineq_184"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>24</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>4</mml:mn></mml:math><tex-math><![CDATA[${t_{24}}=4$]]></tex-math></alternatives></inline-formula> are thresholds for MI map, ORQ map, IOI map, OS map, respectively.</p>
<fig id="j_info1178_fig_009">
<label>Fig. 9</label>
<caption>
<p>Experimental results of crowd dispersion identification using interpolative motion path (top view of SCENE 5). (a) <inline-formula id="j_info1178_ineq_185"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>; (b) colour image of <inline-formula id="j_info1178_ineq_186"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">IOF</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${\mathit{IOF}_{t}^{20}}$]]></tex-math></alternatives></inline-formula>; (c) <inline-formula id="j_info1178_ineq_187"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t+20}}$]]></tex-math></alternatives></inline-formula>; (d) grey image of <inline-formula id="j_info1178_ineq_188"><alternatives><mml:math>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$M{I_{t}}$]]></tex-math></alternatives></inline-formula>; (e) grey image of <inline-formula id="j_info1178_ineq_189"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{OQ}_{t}}$]]></tex-math></alternatives></inline-formula>; (f) grey image of <inline-formula id="j_info1178_ineq_190"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ORQ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{ORQ}_{t}}$]]></tex-math></alternatives></inline-formula>; (g) grey image of <inline-formula id="j_info1178_ineq_191"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IOI</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{IOI}_{t}}$]]></tex-math></alternatives></inline-formula>; (h) segmentation result of <inline-formula id="j_info1178_ineq_192"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">IOI</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{IOI}_{t}}$]]></tex-math></alternatives></inline-formula>; (i) colour image of <inline-formula id="j_info1178_ineq_193"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">ROCM</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{ROCM}_{t}}$]]></tex-math></alternatives></inline-formula>; (j) grey image of <inline-formula id="j_info1178_ineq_194"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">OS</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\mathit{OS}_{t}}$]]></tex-math></alternatives></inline-formula>; (k) crowd dispersion identification result of <inline-formula id="j_info1178_ineq_195"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>; (l) crowd dispersion identification result of <inline-formula id="j_info1178_ineq_196"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula> with only <inline-formula id="j_info1178_ineq_197"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>24</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{24}}$]]></tex-math></alternatives></inline-formula> changed to 2.</p>
</caption>
<graphic xlink:href="info1178_g009.jpg"/>
</fig>
<p>As shown in Fig. <xref rid="j_info1178_fig_009">9</xref>(a) and 9(c), the crowd starts to disperse from the lower right part of the square. The integral optical flow in Fig. <xref rid="j_info1178_fig_009">9</xref>(b) clearly shows their motion trend. Because the dispersion happens near the bottom wall and pedestrians are stopped by the wall, thus symmetry of motion directions is affected, Fig. <xref rid="j_info1178_fig_009">9</xref>(j) shows the distortion. But combining with other segmentation results, this problem can be solved. Dispersion centre is clearly shown in Fig. <xref rid="j_info1178_fig_009">9</xref>(b), 9(e), 9(i). Final result is shown in Fig. <xref rid="j_info1178_fig_009">9</xref>(k) with blue mask at the centre of regions in which crowd dispersion is happening. Figure <xref rid="j_info1178_fig_009">9</xref>(l) shows result with symmetry restriction relaxed.</p>
<p>For perspective view of SCENE 5 (<inline-formula id="j_info1178_ineq_198"><alternatives><mml:math>
<mml:mn>640</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>480</mml:mn></mml:math><tex-math><![CDATA[$640\times 480$]]></tex-math></alternatives></inline-formula>, 30 fps, angle of view: 54.43), same parameters are used as above and results are shown in Fig. <xref rid="j_info1178_fig_010">10</xref>.</p>
<fig id="j_info1178_fig_010">
<label>Fig. 10</label>
<caption>
<p>Experimental results of crowd dispersion identification using interpolative motion path (perspective view of SCENE 5). (a) <inline-formula id="j_info1178_ineq_199"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>; (b) <inline-formula id="j_info1178_ineq_200"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t+20}}$]]></tex-math></alternatives></inline-formula>; (c) crowd dispersion identification result of <inline-formula id="j_info1178_ineq_201"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>; (d) crowd dispersion identification result of <inline-formula id="j_info1178_ineq_202"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula> with only <inline-formula id="j_info1178_ineq_203"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>24</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{24}}$]]></tex-math></alternatives></inline-formula> changed to 2.</p>
</caption>
<graphic xlink:href="info1178_g010.jpg"/>
</fig>
<p>In SCENE 7, which is already used for crowd aggregation identification experiment, two groups of pedestrians continue their motion after aggregation, thus causing crowd dispersion later. Same parameters are used as above. As shown in Fig. <xref rid="j_info1178_fig_011">11</xref>(a) and 11(b), the crowd is blocked on the right side, therefore there is a much smaller area marked on the right side in identification result shown in Fig. <xref rid="j_info1178_fig_011">11</xref>(c). When restriction on symmetry of motion directions is relaxed, area around the centre where more pedestrians move upside than those move downside is marked as shown in Fig. <xref rid="j_info1178_fig_011">11</xref>(d).</p>
<fig id="j_info1178_fig_011">
<label>Fig. 11</label>
<caption>
<p>Experimental results of crowd dispersion identification using interpolative motion path (SCENE 7). (a) <inline-formula id="j_info1178_ineq_204"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>; (b) <inline-formula id="j_info1178_ineq_205"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t+20}}$]]></tex-math></alternatives></inline-formula>; (c) crowd dispersion identification result of <inline-formula id="j_info1178_ineq_206"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula>; (d) crowd dispersion identification result of <inline-formula id="j_info1178_ineq_207"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${I_{t}}$]]></tex-math></alternatives></inline-formula> with only <inline-formula id="j_info1178_ineq_208"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>24</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{24}}$]]></tex-math></alternatives></inline-formula> changed to 2.</p>
</caption>
<graphic xlink:href="info1178_g011.jpg"/>
</fig>
<fig id="j_info1178_fig_012">
<label>Fig. 12</label>
<caption>
<p>Experimental results of crowd behaviour identification on real wold videos.</p>
</caption>
<graphic xlink:href="info1178_g012.jpg"/>
</fig>
</sec>
<sec id="j_info1178_s_019">
<label>4.4</label>
<title>Crowd Behaviour Identification on Real World Videos</title>
<p>We also test our method on real world videos downloaded from YouTube. Figure <xref rid="j_info1178_fig_012">12</xref>(a) shows that a team of South Korean police move fast in one direction to help the front police in a riot control exercise. Figure <xref rid="j_info1178_fig_012">12</xref>(b) shows the police and the protesters approach each other with the police occupying the position first. Figure <xref rid="j_info1178_fig_012">12</xref>(c) shows that the police who are confronting with the protesters start to extend their formation and the protesters start to retreat. The video shakes thus background motion is a little intensive, but with proper thresholds we still manage to get good results. Figure <xref rid="j_info1178_fig_012">12</xref>(d) shows that prisoners move fast in a Mexican prison riot, the blue area shows some of the prisoners start to disperse to dodge something thrown toward them (a white object in the red circle) from the dark area between the two buildings. Figure <xref rid="j_info1178_fig_012">12</xref>(e) shows many Marathon runners run along a U-shape street.</p>
</sec>
<sec id="j_info1178_s_020">
<label>4.5</label>
<title>Comparison with State-of-the-Art Methods</title>
<p>To the best of our knowledge, most of the non-training works published only detected abnormal behaviours or events, they didn’t identify specific crowd behaviours. Solmaz <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_022">2012</xref>) proposed a method to identify five crowd behaviours including crowd dispersion and aggregation. Therefore our method is to be compared with this method.</p>
<p>It is important to notice that definitions in Solmaz <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_022">2012</xref>) are not the same as ours, although some of those definitions are similar to ours to some extent. In the comparison, we take blocking and bottleneck in Solmaz <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_022">2012</xref>) as crowd aggregation, and fountainhead as crowd dispersion. To estimate performance, we first generate ground truth manually, then count total number, correctly identified number, missed number and misidentified number of corresponding structure defined in Section <xref rid="j_info1178_s_005">3.2</xref> of each crowd behaviour. Table <xref rid="j_info1178_tab_001">1</xref> shows the results.</p>
<p>As shown in Table <xref rid="j_info1178_tab_001">1</xref>, our method outperforms method in Solmaz <italic>et al.</italic> (<xref ref-type="bibr" rid="j_info1178_ref_022">2012</xref>). However, we have to point out that the definitions of crowd behaviour used here are in favour of our method. As a matter of fact, generally accepted definitions of crowd behaviour are not present yet, these can only be obtained through more researchers’ work in computer vision and related fields. We believe that, for abnormal or urgent event detection, it is important not to miss identification of related crowd behaviours. In our experiment, we choose thresholds in order to achieve this goal. The relatively high misidentified number is an apparent side effect of our choice.</p>
<table-wrap id="j_info1178_tab_001">
<label>Table 1</label>
<caption>
<p>Crowd behaviour identification results.</p>
</caption>
<table>
<thead>
<tr>
<td rowspan="2" style="vertical-align: middle; text-align: left; border-top: solid thin; border-bottom: solid thin">Crowd behaviour</td>
<td rowspan="2" style="vertical-align: middle; text-align: left; border-top: solid thin; border-bottom: solid thin">Total</td>
<td colspan="3" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Proposed method</td>
<td colspan="3" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">(Solmaz <italic>et al.</italic>, <xref ref-type="bibr" rid="j_info1178_ref_022">2012</xref>)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Correctly identified</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Missed</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Misidentified</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Correctly identified</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Missed</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Misidentified</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left">Crowd aggregation</td>
<td style="vertical-align: top; text-align: left">27</td>
<td style="vertical-align: top; text-align: left">25</td>
<td style="vertical-align: top; text-align: left">2</td>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">20</td>
<td style="vertical-align: top; text-align: left">7</td>
<td style="vertical-align: top; text-align: left">6</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Crowd dispersion</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">37</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">34</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">3</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">11</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">27</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">10</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">9</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="j_info1178_s_021">
<label>4.6</label>
<title>Discussion</title>
<p>
<list>
<list-item id="j_info1178_li_014">
<label>(1)</label>
<p>Although we can get good results for jittering videos through changing thresholds in some cases, but that is not universal, thus our method should be applied to stable videos generally. In different applications thresholds for motion intensity, quantity and motion direction of pixels should be set depending on the scene and specific purposes.</p>
</list-item>
<list-item id="j_info1178_li_015">
<label>(2)</label>
<p>Frame interval parameter for computing integral optical flow affects determination of threshold for motion intensity. With bigger frame interval parameter, more intensive motion field will be obtained, thus threshold for motion intensity should be bigger for the same situation monitoring application. Let <inline-formula id="j_info1178_ineq_209"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{s}}$]]></tex-math></alternatives></inline-formula> denote threshold for motion intensity, e.g. <inline-formula id="j_info1178_ineq_210"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{11}}$]]></tex-math></alternatives></inline-formula> in identification of crowd aggregation and <inline-formula id="j_info1178_ineq_211"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>21</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{21}}$]]></tex-math></alternatives></inline-formula> in identification of crowd dispersion, <inline-formula id="j_info1178_ineq_212"><alternatives><mml:math>
<mml:mi mathvariant="italic">itv</mml:mi></mml:math><tex-math><![CDATA[$\mathit{itv}$]]></tex-math></alternatives></inline-formula> denote frame interval parameter, then when determining <inline-formula id="j_info1178_ineq_213"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{s}}$]]></tex-math></alternatives></inline-formula> for the same task the following relation should hold: 
<disp-formula id="j_info1178_eq_020">
<label>(20)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">α</mml:mi>
<mml:mo>·</mml:mo>
<mml:mi mathvariant="italic">i</mml:mi>
<mml:mi mathvariant="italic">t</mml:mi>
<mml:mi mathvariant="italic">v</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {t_{s}}=\alpha \cdot itv,\]]]></tex-math></alternatives>
</disp-formula> 
where <italic>α</italic> is a constant for the specific task.</p>
</list-item>
<list-item id="j_info1178_li_016">
<label>(3)</label>
<p>Region size is another parameter that affects determination of threshold. If number of people in the moving crowd is important regardless of how large area they occupy, then if bigger region is used, threshold for pixel quantity should be smaller. Let <inline-formula id="j_info1178_ineq_214"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{q}}$]]></tex-math></alternatives></inline-formula> denote threshold for pixel quantity, e.g. <inline-formula id="j_info1178_ineq_215"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>12</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{12}}$]]></tex-math></alternatives></inline-formula> in identification of crowd aggregation and <inline-formula id="j_info1178_ineq_216"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>22</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{22}}$]]></tex-math></alternatives></inline-formula> in identification of crowd dispersion, <italic>s</italic> denote area of region that is used, then when determining <inline-formula id="j_info1178_ineq_217"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{q}}$]]></tex-math></alternatives></inline-formula> for the same task the following relation should hold: 
<disp-formula id="j_info1178_eq_021">
<label>(21)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">β</mml:mi>
<mml:mo mathvariant="normal" stretchy="false">/</mml:mo>
<mml:mi mathvariant="italic">s</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {t_{q}}=\beta /s,\]]]></tex-math></alternatives>
</disp-formula> 
where <italic>β</italic> is a constant for the specific task. If crowd density is important, then <inline-formula id="j_info1178_ineq_218"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${t_{q}}$]]></tex-math></alternatives></inline-formula> stays the same when region size is changed.</p>
</list-item>
</list>
</p>
</sec>
</sec>
<sec id="j_info1178_s_022">
<label>5</label>
<title>Conclusion</title>
<p>In urgent event monitoring or analysing applications, it is important to detect abnormal or urgent events as soon as possible. People react rapidly to these events happening around them, therefore certain types of crowd behaviours are reliable indicators for urgent events. In this paper, we have defined two types of crowd behaviours: crowd aggregation and crowd dispersion and presented a method to identify these behaviours at their early stage. Our method mainly consists of the following steps: integral optical flow computation, position-level motion analysis, region-level motion analysis and threshold segmentation. The accumulative effect of integral optical flow is taken advantage of to separate background and foreground and obtain intensive motion regions which are usually of interest. Pixel motion intensity, quantity and motion direction in regions are together used to describe motions and identify crowd behaviours. The effectiveness of our method has been demonstrated and confirmed by experimental results.</p>
</sec>
</body>
<back>
<ack id="j_info1178_ack_001">
<title>Acknowledgements</title>
<p>This work is supported by Zhejiang Provincial Natural Science Foundation of China (LQ12D01004), Belarusian Republican Foundation for Foundational Research (F16R-180), the National High-end Foreign Experts Program (GDW20163300034), and Public Welfare Technology Applied Research Program of Zhejiang Province (LGJ18F020001).</p></ack>
<ref-list id="j_info1178_reflist_001">
<title>References</title>
<ref id="j_info1178_ref_001">
<mixed-citation publication-type="chapter"><string-name><surname>Andrade</surname>, <given-names>E.L.</given-names></string-name>, <string-name><surname>Blunsden</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Fisher</surname>, <given-names>R.B.</given-names></string-name> (<year>2006</year>). <chapter-title>Modelling crowd scenes for event detection</chapter-title>. In: <source>Proceedings of 18th International Conference on Pattern Recognition</source>, Vol. <volume>01</volume>. <publisher-name>IEEE Computer Society</publisher-name>, <publisher-loc>Washington, DC</publisher-loc>, pp. <fpage>175</fpage>–<lpage>178</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_002">
<mixed-citation publication-type="chapter"><string-name><surname>Ali</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Shah</surname>, <given-names>M.</given-names></string-name> (<year>2007</year>). <chapter-title>A Lagrangian particle dynamics approach for crowd flow segmentation and stability analysis</chapter-title>. In: <source>Proceedings of IEEE Computer Vision and Pattern Recognition</source>, Vol. <volume>00</volume>. <publisher-name>IEEE Computer Society</publisher-name>, <publisher-loc>Washington, DC</publisher-loc>, pp. <fpage>1</fpage>–<lpage>6</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_003">
<mixed-citation publication-type="chapter"><string-name><surname>Allain</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Courty</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Corpetti</surname>, <given-names>T.</given-names></string-name> (<year>2012</year>). <chapter-title>AGORASET: a dataset for crowd video analysis</chapter-title>. In: <source>Proceedings of 1st ICPR International Workshop on Pattern Recognition and Crowd Analysis</source>, pp. <fpage>1</fpage>–<lpage>6</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_004">
<mixed-citation publication-type="chapter"><string-name><surname>Chen</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Shao</surname>, <given-names>Y.</given-names></string-name> (<year>2014</year>). <chapter-title>Anomalous crowd behavior detection and localization in video surveillance</chapter-title>. In: <source>Proceedings of IEEE International Conference on Control Science and Systems Engineering</source>. <publisher-name>IEEE</publisher-name>, <publisher-loc>New York</publisher-loc>, pp. <fpage>190</fpage>–<lpage>194</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_005">
<mixed-citation publication-type="journal"><string-name><surname>Chen</surname>, <given-names>C.X.</given-names></string-name>, <string-name><surname>Ye</surname>, <given-names>S.P.</given-names></string-name>, <string-name><surname>Chen</surname>, <given-names>H.F.</given-names></string-name>, <string-name><surname>Nedzvedz</surname>, <given-names>O.</given-names></string-name>, <string-name><surname>Ablameyko</surname>, <given-names>S.</given-names></string-name> (<year>2017</year>). <article-title>Integral optical flow and its applications for dynamic object monitoring in video</article-title>. <source>Journal of Applied Spectroscopy</source>, <volume>84</volume>(<issue>1</issue>), <fpage>120</fpage>–<lpage>128</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_006">
<mixed-citation publication-type="journal"><string-name><surname>Cheriyadat</surname>, <given-names>A.M.</given-names></string-name>, <string-name><surname>Radke</surname>, <given-names>R.J.</given-names></string-name> (<year>2008</year>). <article-title>Detecting dominant motions in dense crowds</article-title>. <source>IEEE Journal of Selected Topics in Signal Processing</source>, <volume>2</volume>(<issue>4</issue>), <fpage>568</fpage>–<lpage>581</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_007">
<mixed-citation publication-type="chapter"><string-name><surname>Cheung</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Wong</surname>, <given-names>T.K.</given-names></string-name>, <string-name><surname>Bera</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Manocha</surname>, <given-names>D.</given-names></string-name> (<year>2016</year>). <chapter-title>Generating labeled videos for simulation-based crowd behavior learning</chapter-title>. In: <source>Proceedings of Computer Vision ECCV 2016 Workshops</source>, <series><italic>Lecture Notes in Computer Science</italic></series>, Vol. <volume>9914</volume>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin</publisher-loc>, pp. <fpage>709</fpage>–<lpage>727</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_008">
<mixed-citation publication-type="journal"><string-name><surname>Courty</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Allain</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Creusot</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Corpetti</surname>, <given-names>T.</given-names></string-name> (<year>2014</year>). <article-title>Using the AGORASET dataset: assessing for the quality of crowd video analysis methods</article-title>. <source>Pattern Recognition Letters</source>, <volume>44</volume>(<issue>8</issue>), <fpage>161</fpage>–<lpage>170</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_009">
<mixed-citation publication-type="chapter"><string-name><surname>Farnebäck</surname>, <given-names>G.</given-names></string-name> (<year>2003</year>). <chapter-title>Two-frame motion estimation based on polynomial expansion</chapter-title>. In: <source>Proceedings of Scandinavian Conference on Image Analysis</source>, Vol. <volume>2749</volume>. <publisher-name>Springer</publisher-name>, <publisher-loc>Berlin</publisher-loc>, pp. <fpage>363</fpage>–<lpage>370</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_010">
<mixed-citation publication-type="journal"><string-name><surname>Horn</surname>, <given-names>B.K.</given-names></string-name>, <string-name><surname>Schunck</surname>, <given-names>B.G.</given-names></string-name> (<year>1981</year>). <article-title>Determining optical flow</article-title>. <source>Artificial Intelligence</source>, <volume>17</volume>(<issue>1–3</issue>), <fpage>185</fpage>–<lpage>203</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_011">
<mixed-citation publication-type="chapter"><string-name><surname>Hu</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Ali</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Shah</surname>, <given-names>M.</given-names></string-name> (<year>2008</year>). <chapter-title>Learning motion patterns in crowded scenes using motion flow field</chapter-title>. In: <source>Proceedings of 19th International Conference on Pattern Recognition</source>. <publisher-name>IEEE</publisher-name>, <publisher-loc>New York</publisher-loc>, pp. <fpage>1</fpage>–<lpage>5</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_012">
<mixed-citation publication-type="journal"><string-name><surname>Hu</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Zheng</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>X.</given-names></string-name> (<year>2013</year>). <article-title>A novel approach for crowd video monitoring of subway platforms</article-title>. <source>Optik</source>, <volume>124</volume>(<issue>22</issue>), <fpage>5301</fpage>–<lpage>5306</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_013">
<mixed-citation publication-type="journal"><string-name><surname>Junior</surname>, <given-names>J.C.S.J.</given-names></string-name>, <string-name><surname>Musse</surname>, <given-names>S.R.</given-names></string-name>, <string-name><surname>Jung</surname>, <given-names>C.R.</given-names></string-name> (<year>2010</year>). <article-title>Crowd analysis using computer vision techniques</article-title>. <source>IEEE Signal Processing Magazine</source>, <volume>27</volume>(<issue>5</issue>), <fpage>66</fpage>–<lpage>77</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_014">
<mixed-citation publication-type="journal"><string-name><surname>Kustikova</surname>, <given-names>V.D.</given-names></string-name>, <string-name><surname>Gergel</surname>, <given-names>V.P.</given-names></string-name> (<year>2016</year>). <article-title>Vehicle video detection and tracking quality analysis</article-title>. <source>Pattern Recognition and Image Analysis</source>, <volume>26</volume>(<issue>1</issue>), <fpage>155</fpage>–<lpage>160</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_015">
<mixed-citation publication-type="journal"><string-name><surname>Li</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Chang</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Ni</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Hong</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Yan</surname>, <given-names>S.</given-names></string-name> (<year>2015</year>). <article-title>Crowded scene analysis: a survey</article-title>. <source>IEEE Transactions on Circuits and Systems for Video Technology</source>, <volume>25</volume>(<issue>3</issue>), <fpage>367</fpage>–<lpage>386</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_016">
<mixed-citation publication-type="chapter"><string-name><surname>Lucas</surname>, <given-names>B.D.</given-names></string-name>, <string-name><surname>Kanade</surname>, <given-names>T.</given-names></string-name> (<year>1981</year>). <chapter-title>An iterative image registration technique with an application to stereo vision</chapter-title>. In: <source>Proceedings of the 7th International Joint Conference on Artificial Intelligence</source>, Vol. <volume>2</volume>. <publisher-name>ACM</publisher-name>, <publisher-loc>New York</publisher-loc>, pp. <fpage>674</fpage>–<lpage>679</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_017">
<mixed-citation publication-type="chapter"><string-name><surname>Mehran</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Oyama</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Shah</surname>, <given-names>M.</given-names></string-name> (<year>2009</year>). <chapter-title>Abnormal crowd behavior detection using social force model</chapter-title>. In: <source>Proceedings of IEEE Conference on Computer Vision and Pattern Recognition</source>. <publisher-name>IEEE Computer Society</publisher-name>, <publisher-loc>Washington, DC</publisher-loc>, pp. <fpage>935</fpage>–<lpage>942</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_018">
<mixed-citation publication-type="other"><string-name><surname>Ravanbakhsh</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Nabi</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Mousavi</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Sangineto</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Sebe</surname>, <given-names>N.</given-names></string-name> (2017). Plug-and-play cnn for crowd motion analysis: an application in abnormal event detection. arXiv preprint at <ext-link ext-link-type="uri" xlink:href="https://arxiv.org/abs/1610.00307v1">https://arxiv.org/abs/1610.00307v1</ext-link>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_019">
<mixed-citation publication-type="chapter"><string-name><surname>Shao</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Loy</surname>, <given-names>C.C.</given-names></string-name>, <string-name><surname>Kang</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>X.</given-names></string-name> (<year>2016</year>). <chapter-title>Slicing convolutional neural network for crowd video understanding</chapter-title>. In: <source>Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR)</source>. <publisher-name>IEEE Computer Society</publisher-name>, <publisher-loc>Washington, DC</publisher-loc>, pp. <fpage>5620</fpage>–<lpage>5628</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_020">
<mixed-citation publication-type="journal"><string-name><surname>Shao</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Loy</surname>, <given-names>C.C.</given-names></string-name>, <string-name><surname>Kang</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>X.</given-names></string-name> (<year>2017</year>). <article-title>Crowded scene understanding by deeply learned volumetric slices</article-title>. <source>IEEE Transactions on Circuits and Systems for Video Technology</source>, <volume>27</volume>(<issue>3</issue>), <fpage>613</fpage>–<lpage>623</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_021">
<mixed-citation publication-type="journal"><string-name><surname>Sjarif</surname>, <given-names>N.N.A.</given-names></string-name>, <string-name><surname>Shamsuddin</surname>, <given-names>S.M.</given-names></string-name>, <string-name><surname>Hashim</surname>, <given-names>S.Z.</given-names></string-name> (<year>2012</year>). <article-title>Detection of abnormal behaviors in crowd scene: a review</article-title>. <source>International Journal of Advances in Soft Computing and Its Applications</source>, <volume>4</volume>(<issue>1</issue>), <fpage>1</fpage>–<lpage>33</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_022">
<mixed-citation publication-type="journal"><string-name><surname>Solmaz</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Moore</surname>, <given-names>B.E.</given-names></string-name>, <string-name><surname>Shah</surname>, <given-names>M.</given-names></string-name> (<year>2012</year>). <article-title>Identifying behaviors in crowd scenes using stability analysis for dynamical systems</article-title>. <source>IEEE Transactions on Pattern Analysis and Machine Intelligence</source>, <volume>34</volume>(<issue>10</issue>), <fpage>2064</fpage>–<lpage>2070</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_023">
<mixed-citation publication-type="journal"><string-name><surname>Tao</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Bai</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Kohli</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Paris</surname>, <given-names>S.</given-names></string-name> (<year>2012</year>). <article-title>Simple flow: a non-iterative, sublinear optical flow algorithm</article-title>. <source>Computer Graphics Forum</source>, <volume>31</volume>(<issue>2</issue>), <fpage>345</fpage>–<lpage>353</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_024">
<mixed-citation publication-type="journal"><string-name><surname>Wang</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Ma</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Luo</surname>, <given-names>C.H.</given-names></string-name>, <string-name><surname>Liu</surname>, <given-names>H.Y.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>C.L.</given-names></string-name> (<year>2016</year>). <article-title>Hybrid histogram of oriented optical flow for abnormal behavior detection in crowd scenes</article-title>. <source>International Journal of Pattern Recognition and Artificial Intelligence</source>, <volume>30</volume>(<issue>2</issue>), <fpage>210</fpage>–<lpage>224</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_025">
<mixed-citation publication-type="journal"><string-name><surname>Yogameena</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Nagananthini</surname>, <given-names>C.</given-names></string-name> (<year>2017</year>). <article-title>Computer vision based crowd disaster avoidance system: a survey</article-title>. <source>International Journal of Disaster Risk Reduction</source>, <volume>22</volume>, <fpage>95</fpage>–<lpage>129</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_026">
<mixed-citation publication-type="chapter"><string-name><surname>Zhang</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Hou</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>S.</given-names></string-name> (<year>2016</year>). <chapter-title>Event recognition of crowd video using corner optical flow and convolutional neural network</chapter-title>. In: <source>Procceedings of Eighth International Conference on Digital Image Processing (ICDIP 2016)</source>, Vol. <volume>10033</volume>. <publisher-name>SPIE</publisher-name>, <publisher-loc>Bellingham</publisher-loc>, pp. <fpage>332</fpage>–<lpage>335</lpage>.</mixed-citation>
</ref>
<ref id="j_info1178_ref_027">
<mixed-citation publication-type="chapter"><string-name><surname>Zhao</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Li</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Zhao</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Wang</surname>, <given-names>X.</given-names></string-name> (<year>2016</year>). <chapter-title>Rossing-line crowd counting with two-phase deep neural networks</chapter-title>. In: <source>Proceedings of Computer Vision – ECCV 2016</source>, <series><italic>Lecture Notes in Computer Science</italic></series>, Vol. <volume>9912</volume>. <publisher-name>Springer</publisher-name>, <publisher-loc>Cham</publisher-loc>, pp. <fpage>712</fpage>–<lpage>726</lpage>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>