<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Use of point clouds for video surveillance system cover zone imitation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>ITMO University</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kronverksky Ave.</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>St. Petersburg</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Russia a.v.mezhenin@gmail.com</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>vikaaiv</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>@gmail.com</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Orenburg State University</institution>
          ,
          <addr-line>Ave. Pobedy 13, Orenburg</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>0000</fpage>
      <lpage>0001</lpage>
      <abstract>
        <p>The article is devoted to assessing the coverage areas of projected video surveillance systems, determining the optimal number of cameras, identifying the so-called “blind zones” at the design stage. For this purpose, it is proposed to use a three-dimensional modeling system in which a polygonal model of a video surveillance scene is created. The resulting model is converted from polygons to a cloud of points. Using different camera locations, we get different coverage areas. During the experiments, the objects of observation and surveillance cameras, whose location changed, were modeled. The resulting 2.5-d surfaces, represented as a cloud of points, are transferred to a common coordinate system and compared. The comparison results are shown as a heat map. Experimental modeling was carried out using specially created objects in the environment of Autodesk 3ds Max and CloudCompare.</p>
      </abstract>
      <kwd-group>
        <kwd>Video surveillance systems</kwd>
        <kwd>Designing</kwd>
        <kwd>Virtual modeling</kwd>
        <kwd>Point clouds</kwd>
        <kwd>Thermal maps</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The main purpose of video surveillance systems is to provide a visual inspection
of an object equipped with them. When designing, it is necessary to take into
account the combination of factors that increase the efficiency of the developed
video surveillance systems. One of the most important factors is the coverage
zone of the observed area with cameras and the absence of so-called “blind
zones”. Their appearance depends on many factors: the characteristics of the
cameras being installed, their location, the number, used data formats [16].</p>
      <p>Obviously, the more cameras, the easier it is to place them so as to get the
most complete coverage of the observed scene, but this increases the cost of the
developed system. The proposed computer simulation of the coverage area in
the form of a cloud of points of the observed surfaces of the 3D space, according
to the authors, will allow obtaining preliminary estimates of the effectiveness of
the developed video surveillance systems [16] at the design stage, which will
improve design solutions. A mathematical model is proposed, as well as
algorithms for modeling a cloud of points and obtaining heat maps for comparing
coverage areas.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Analog overview</title>
      <p>As analogues, we consider special software designed for the development of
video surveillance systems. The first analogue is a program for the design of
video surveil-lance systems-JVSG [13], which allows you to set the number and
location of video surveillance cameras, to calculate the developed system, to
determine the viewing area, to place the camera on an existing or created from
scratch plan of the premises, to place obstacles in three-dimensional space to
identify blind spots. As a result of calculation there is a project that includes
drawings of zones of video cameras, the block diagram and the explanatory
note.</p>
      <p>The second equivalent is the DlinkSurveillanceFloorPlannerPRO [14]
software. This program also helps to create a project for deploying cameras for
video surveil-lance systems. It allows you to select cameras, place them on a
floor plan and visually displays coverage areas.</p>
      <p>Both of the reviewed programs allow to adjust the camera settings, import a
floor plan into a program, determine some camera visibility areas. Thus, they
allow to evaluate the effectiveness using such system capabilities as the choice
of cameras with specific settings, their location and cost. However, coverage
areas are presented in a form of plans, which, according to the authors, does
not allow to evaluate them fully.</p>
      <p>Currently, widespread method of representing objects of space in the form of
clouds of points. A point cloud is a collection of vertices in three-dimensional or
two-dimensional space, obtained from an object and representing the surface of
this object. The data for displaying a cloud of points can be obtained by
scanning 3D objects with special devices or by using computer simulations. In
addition to coordinates, points may contain additional information, such as colors
or normal’s.</p>
      <p>There are several packages available for visualizing point clouds: MeshLab,
CloudCompare and Point Cloud Library (PCL), which can be integrated into
OpenCV. At this stage, the program CloudCompare [17] was used, which allows
editing and processing 3D point clouds. CloudCompare supports import and
export of files with the extension OBJ, E57, ASCII, PLY, etc. Also, the program
allows you to create cameras, place them on the workspace and display visibility
areas for them.
3</p>
      <p>Mathematical envisioning of a surface comparison problem
For a three-dimensional one-sided surface, constructed from the point cloud S,
which contains N points, there exists a coordinate system , which is
constructed in such a way, that the point cloud point  = {(), ), ))})/-. can be
seen as the function  = (, ), built on the discrete point range {(), ))})/-. .</p>
      <p>Here is an example. Two one-sided surfaces, . and 1 are formed respectively
from the point clouds 2(). , ). , ). ))/-3. 4, 2()1, )1, )1))/-3. 4 in the  coordinate
system so that . and 1 will be projected onto the surface  in 6. It is
required to find a measure for comparing the surfaces . and 1, that will satisfy
the semi metric axioms and calculate it [1].</p>
      <p>
        As a quantity that will show the difference between the clouds we will use
d(x,y). This is the Euclidean distance in point clouds between two points, which
is calculated by using the following formula:
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
(, ) = 8 ∑)/-. (), )).
 = /. ∑)/-. ( , ) → 

We will denote the range of points in both clouds, . and 1, that are closest
/ . E is the error margin. Then, E is lowered gradually
to each other - 2:, ?4)-.
to the required amount.
4
      </p>
    </sec>
    <sec id="sec-3">
      <title>Algorithm for comparing object surfaces</title>
      <p>The iterative closest point (ICP), algorithm is the most fitting one for
comparing two different point clouds of the same given object. This algorithm is based
on the minimization of the average distance between two point clouds. A special
procedure is used to minimize the distance between the two point clouds in
question. The algorithm can be used to compare point clouds based on the same
object, which has had some changes made to it. Also it works if the object was
scanned from a different angle. In either case, the point clouds must have similar
areas, that cover each other. This algorithm moves and adjusts these
corresponding areas until they overlap to the extent denoted by E – the margin
of error.</p>
      <p>For the algorithm to start functioning an initial evaluation of the similarity
between the clouds is required, which, over time, becomes more accurate,
because of the repetition of the cycle. The two point clouds - и . and и 1 will
gradually become one cloud. The maximal accuracy will be achieved if the
position of the points in space was similar initially and the similar areas of the
clouds were large. The pairs of closest points, which are located in the similar
areas of the clouds, must be picked in a certain quantity, which should not
exceed a set limit. If the given similar areas of the clouds contain too many
pairs of points, then the accuracy of the algorithm’s work becomes much lower.</p>
      <p>
        During the process, the error margin should be lowered as much as possible:
The offered algorithm of solving the given problem includes the following
steps:
1. Find the corresponding closest point (). , )1), such that
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        )
(
        <xref ref-type="bibr" rid="ref6">6</xref>
        )
(
        <xref ref-type="bibr" rid="ref7">7</xref>
        )
 → 
1(1) = |−)1|
(1) = argmin (1)
      </p>
      <p>
        NO3∈Q3,NOR∈QR
the matrix R is an objective orthogonal 3 × 3 matrix whose determinant
equals 1, therefore it belongs to the orthogonal rotation group (
        <xref ref-type="bibr" rid="ref3">3</xref>
        );
) denotes the given point in the space ℝ6, for which we must find the shortest
possible distance ). to the range . . This means that we need to find such a
point, ). , that will make the functional small as possible (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ).
      </p>
      <p>2. Find the most optimal way to transform the first point cloud, by rotating
it or changing the points’ position, using the least squares method. This step
should be repeated until the error margin E is satisfied. We shall get t – the
vector of transformation and the rotation matrix R, which will deliver minimum
function:
(R, t) = ∑)/-. |(). + ) − )1|11
(, ) =</p>
      <p>
        argmin
Z∈Q[ (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ),\∈ℝ]
(, ),
the vector t displays the translation of the range of points along the vector
[, , ]`;
      </p>
      <p>‖ ∙ ‖11 is the square of the normal . or the square of the Euclidean distance
between two given points.</p>
      <p>3. Adjustment of the point cloud being transformed by using the rotation
matrix and translation vector that were found in the above mentioned steps.
Thus we will get a new point cloud.</p>
      <p>
        ). = ). + 
(
        <xref ref-type="bibr" rid="ref8">8</xref>
        )
4. Repeat steps 1 through three.
      </p>
      <p>The work of the algorithm will stop only then, when the amount of similarity,
imposed by E – the error margin is met. The amount of difference between the
positions of the points in clouds S1 and S2 will be the quantity we sought to
find. This amount can be also displayed as a percentage of the original distance
between the points.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Experimental results</title>
      <p>The point cloud 1 was generated by applying rotating and translation
operations, based on the matrix, illustrated below, to the original point cloud . .</p>
      <p>0.86
d−00.5
0</p>
      <p>Figure 3 displays a graphic rendering of the distance of point cloud S1 relative
to point cloud S2. This distance is calculated as the distance between
corresponding points, both for random angle view (see Fig. 3, (a)) and view from the
top (see Fig. 3, (b)). The areas that are colored blue correspond to the minimal
distance between similar points on the two surfaces, while areas colored red
denote the maximal distance. The ratio of distance to color is shown on the
scale in the right part of the figure.
Fig.3. Distance between point clouds S1 and S2, random angle view (a), top
view (b).</p>
      <p>Initial average distance between the points of cloud S1 and cloud S2 was 26.231,
the standard difference was 21.597; S2 relative to S1 – 26.894, standard
difference – 22.061.</p>
      <p>Shown on Figure 4 are the results of applying the point cloud registration
operation, that utilizes the ICP algorithm in the cloud processing program
CloudCompare for an arbitrary view (see Fig. 4, (a)) and view from the front
(see Fig. 4, (b)).
Fig.4. The result of applying the ICP algorithm for point clouds S_1 and S_2,
arbitrary view (a), top view (b).</p>
      <p>The calculated distance of the point cloud S1 relative to the point cloud S2 and
from point cloud S2 relative to point cloud S1 is displayed on Figure 5, both
from an arbitrary view (see Fig. 5, (a)) and for a top view (see Fig. 5, (b)).</p>
      <p>The average distance from point cloud S1 to point cloud S2 is 0.315, standard
difference is 0.32; S2 relative to S1 – 0.322, standard difference is 0.325.</p>
      <p>As a result of the execution of the ICP algorithm on the point cloud 1 the
following matrix was used:</p>
      <p>And this vector was applied:
The proposed approach to the modeling of coverage areas and their visualization
will allow obtaining more effective design solutions for video surveillance
systems. The possibility of using universal 3D modeling and data processing
systems for solving a specific applied problem is shown. The results of the
comparison, presented in the form of a heat map, make it possible to estimate the
degree of coverage of the observation zone and reveal the presence of dead zones.
These provisions are the basis for further ongoing research in this area.
Acknowledgments. The research has been supported by the RFBR, according
to the research projects No. 17-07-00700 A.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Dyshkant</surname>
          </string-name>
          , N.:
          <article-title>Measures for Surface Comparison on Unstructured Grids with Different Density</article-title>
          . Lecture Notes in Computer Science:
          <article-title>Discrete Geometry for Computer Imagery</article-title>
          , Vol.
          <volume>6607</volume>
          , pp.
          <fpage>501</fpage>
          -
          <lpage>512</lpage>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Dyshkant</surname>
          </string-name>
          , N.:
          <article-title>Disparity Measure Construction for Comparison of 3D Objects' Surfaces</article-title>
          .
          <source>Inproceedings of the Workshop IMTA</source>
          , Lisbon, Portugal: INSTICC Press, pp.
          <fpage>43</fpage>
          -
          <lpage>52</lpage>
          (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Dyshkant</surname>
            ,
            <given-names>N.:</given-names>
          </string-name>
          <article-title>An algorithm for calculating the similarity measures of surfaces represented as point clouds</article-title>
          .
          <source>Pattern Recognition and Image Analysis: Advances in Mathematical Theory and Applications</source>
          , vol.
          <volume>20</volume>
          , No.
          <issue>4</issue>
          , pp.
          <fpage>495</fpage>
          -
          <lpage>504</lpage>
          (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Tomaka</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>The application of 3d surfaces scanning in the facial features analysis</article-title>
          .
          <source>Journal of edical Informatics and Technologies</source>
          ,pp.
          <fpage>233</fpage>
          -
          <lpage>240</lpage>
          (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Szymczak</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rossignac</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>King</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Piecewise regular meshes: Construction and compression</article-title>
          .
          <source>Graphical Models</source>
          , vol.
          <volume>64</volume>
          , No.
          <fpage>3</fpage>
          -
          <issue>4</issue>
          , pp.
          <fpage>183</fpage>
          -
          <lpage>198</lpage>
          (
          <year>2002</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Stepanyants</surname>
            ,
            <given-names>D.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Knyaz</surname>
            ,
            <given-names>V.A.</given-names>
          </string-name>
          :
          <article-title>PC-Based Digital CloseRange Photogrammetric System for Rapid 3D Data Input in CAD Systems</article-title>
          .
          <source>International Archives of Photogrammetry and Remote Sensing</source>
          , vol.
          <volume>33</volume>
          ,
          <string-name>
            <surname>part</surname>
            <given-names>B5</given-names>
          </string-name>
          , pp.
          <fpage>756</fpage>
          -
          <lpage>763</lpage>
          (
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Mitra</surname>
            ,
            <given-names>N.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Guibas</surname>
            ,
            <given-names>L.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pauly</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Partial and approximate symmetry detection for 3D geometry</article-title>
          .
          <source>In proceedings ACM SIGGRAPH</source>
          , pp.
          <fpage>560</fpage>
          -
          <lpage>568</lpage>
          (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodrigues</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          :
          <article-title>Geometrical analysis of two sets of 3D correspondence data patterns for the registration of free-form shapes</article-title>
          .
          <source>J. Int. and Rob. Systems</source>
          , vol.
          <volume>33</volume>
          , pp.
          <fpage>409</fpage>
          -
          <lpage>436</lpage>
          (
          <year>2002</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Knyaz</surname>
            ,
            <given-names>V.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zheltov</surname>
            ,
            <given-names>S.Yu.</given-names>
          </string-name>
          :
          <article-title>Photogrammetric Techniques for Dentistry Analysis, Planning and Visualisation</article-title>
          .
          <source>In proceedings ISPRS Congress Beijing</source>
          <year>2008</year>
          , Proceedings of Commission V, pp.
          <fpage>783</fpage>
          -
          <lpage>788</lpage>
          (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Koidis</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patias</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tsioukas</surname>
          </string-name>
          , V.:
          <article-title>3D Visualization of Dental Data for Virtual Treatment Planning</article-title>
          .
          <source>In proceedings ISPRS Congress Istanbul</source>
          <year>2004</year>
          , Proceedings of Commission V, pp.
          <fpage>996</fpage>
          -
          <lpage>1001</lpage>
          (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <article-title>MathWorks - Makers of MATLAB and Simulink</article-title>
          , URL: https://www.mathworks.com/.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Unity</surname>
          </string-name>
          , URL: https://unity3d.com/ru.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. JVSG:
          <article-title>CCTV Design Software</article-title>
          , URL: http://www.jvsg.com/.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>D-Link Surveillance</surname>
          </string-name>
          Floor Planner, URL: http://tools.dlink.com/intro/sfp/.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>15. CloudCompare - Open Source project, URL: https://www.danielgm.net/cc/.</mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Shardakov</surname>
            ,
            <given-names>V.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parfenov</surname>
            ,
            <given-names>D.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zaporozhko</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Izvozchikova</surname>
            ,
            <given-names>V.V.</given-names>
          </string-name>
          <article-title>Development of an Adaptive Module for Visualization of the Surrounding Space for Cloud Educational Environment In: 11th International Conference Management of Large-Scale System Development</article-title>
          ,
          <source>MLSD</source>
          (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>