<!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>Seam Line Optimization for Remote Sensing Image Mosaicking Based on Graph Shortest Path Finding</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Andrew Sudorgin Joint-Stock Company Research Institute of Precision Instruments (JSC RI PI) Moscow</institution>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Copyright c by the paper's authors. Copying permitted for private and academic purposes. In: V. Voevodin, A. Simonov (eds.): Proceedings of the GraphHPC-2017 Conference, Moscow State University</institution>
          ,
          <addr-line>Russia, 02-03-2017, published at</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Seam line determination is important step of remote sensing image mosaicking. Automatic seam line selection problem using graph shortest path nding is discussed in this paper. Approaches to graph construction from image similarity cost function, graph memory layout and parallel seam line optimization using shortest path on graph are presented.</p>
      </abstract>
      <kwd-group>
        <kwd>remote sensing data processing</kwd>
        <kwd>image mosaic</kwd>
        <kwd>seamless coverage</kwd>
        <kwd>optimization</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Acquisition of holistic image of a certain territory in
the form of a mosaic from various (in the sense of
geometry and brightness-contrast) separate images is an
important problem when processing satellite and aerial
photos. Wide range of remote sensing equipment with
unique spectral sensitivity, variation of angle of view,
position of the Sun and atmosphere condition,
nonsimultaneous image acquisition cause unique
deformation of the image of object of interest. Such a large
number of negative factors means that it is practically
impossible to compose the images, both from a
geometric point of view, and from the point of view of
radiometric conditions. One of the solutions of the
described problem when seamless mosaic is created is
optimal seam line detection within overlapping image
regions.</p>
      <p>
        To obtain a visually qualitative result that does
not introduce distortions into the information, strict
and, in some sense, contradictory restrictions on the
behavior of the seam line are superimposed in the
construction of photographic plans and mosaic of
images: a seam line must not cross high-altitude objects,
seam line must cross linear objects perpendicularly
and should be inside low-informativeness areas [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. It
is not easy task to satisfy all those criteria completely,
especially when editing by hand.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Related</title>
    </sec>
    <sec id="sec-3">
      <title>Work</title>
      <p>There are some di erent approaches for seam line
creation:</p>
      <p>Draw seam line along image borders (no
optimization);
Central image area maximization;
Draw seam line inside areas with maximum
similarity.</p>
      <p>
        Draw seam line along image borders is used when there
are no quality demands to resulting image mosaic, or
there are strict time limitations. Since brightness and
geometrical distortions of remote sensing images are
minimal in their central areas we can draw seam line
as close to image center as possible using Voronoi
polygons [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. This approach is helps to avoid of image
margin brightness inequality and to include central
areas with minimal geometry distortions to nal mosaic.
However, the rst two approaches completely do not
take into account the properties of the input images.
      </p>
      <p>
        Optimal seam line detection methods are based on
the search of the pixels with minimal di erences in
brightness, gradient and some other parameters which
are calculated from the image overlap regions
(intersections of image pairs in coordinate system of an
output image). Seam line being determined is a base
for united mosaic from several initial images. In this
case the visual divergence is signi cantly eliminated.
Many approaches bring optimal seam line
determination problem to energy function minimization. In
some articles normalized cross correlation (NCC) [
        <xref ref-type="bibr" rid="ref3 ref4">3,4</xref>
        ],
texture analysis [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ], image di erences [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
morphological analysis [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] are suggested as a energy
function. In order to create energy cost function some
authors also use vector roads graph [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and digital
surface model [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. The following algorithms are used
as optimization: snake model [
        <xref ref-type="bibr" rid="ref11 ref6">6, 11</xref>
        ], Dijkstra`s
algorithm [
        <xref ref-type="bibr" rid="ref3 ref4 ref5">3,4,5</xref>
        ], Floyd-Warshall algorithm, dynamic
programming, graph cuts [
        <xref ref-type="bibr" rid="ref12 ref13">12, 13</xref>
        ].
      </p>
      <p>
        Even though in practice, graph cuts algorithms
have computational complexity close to linear [
        <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
        ]
and there are parallel approaches that allow
processing graphs that are larger than the available RAM
[
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], they remain relatively slow, since a much larger
amount of RAM is required for the solution. For
example, one of the fast realizations of the graph cut
algorithm requires memory several times more than the
graph itself takes, since it is required to store and
process not only edge weights, but also forward/backward
edge capacity and other auxiliary values [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
      </p>
      <p>
        Due to the fact that the solution of optimization
problems on graphs is associated with high
computational complexity, a number of authors try to simplify
the structure of the graph, leading to a reduction in
the time of solving the problem at the cost of a slight
degradation in quality [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>The main contribution of this paper is a new
approach to seam line optimization with low memory
consumption and a high degree of parallelism.
3</p>
    </sec>
    <sec id="sec-4">
      <title>Approach to Seam tion</title>
    </sec>
    <sec id="sec-5">
      <title>Line</title>
    </sec>
    <sec id="sec-6">
      <title>Optimiza</title>
      <p>To achieve a visual invisibility of the seam line the
value of the pixels of overlapped images must coincide
at points with the same coordinates in geographic
coordinate system (or coordinate system of output image
for non georeferenced mosaic). Seam line optimization
is one of steps of remote sensing image mosaicking.
Normally, it follows after geometry alignment and
radiometric correction of input images. We expect that
these two steps have already been correctly done, but
not ideally due to some reasons and we need to
eliminate the remaining visual inconsistencies.
3.1</p>
      <sec id="sec-6-1">
        <title>Energy Cost Function</title>
        <p>In this article to create optimal seam line we propose
to build energy cost function comprised of three
functions: the image similarity matrix Ws, the image
informativeness matrix Wi and the forbidden zone matrix
(linear extensive, high-altitude and other visually
obvious foreground objects). The similarity matrix Ws
is calculated as follows:</p>
        <p>Ws(x; y) = (I0(x; y)</p>
        <p>I1(x; y))2
(1)
where I0(x; y) and I1(x; y) denote the brightness on
the rst and second overlapping images in the (x; y)
position (here and later we assume that (x; y) is a
pixel coordinates (row/column) of input images in
coordinate system of output mosaic and all
geometry transformations, including nonlinear ones, already
have been done at geometry align step).</p>
        <p>
          To de ne informativeness matrix Wi Moravec [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]
algorithm is used. According to this algorithm, we
calculate the changes in the average brightness value
of the image of a small fragment around the point of
interest when the fragment is shifted by one pixel in
four directions (horizontal, vertical and diagonal) and
choose among them the minimal value, which is the
measure of the informativeness of the image. Thus,
fragments of the image with a small brightness
variation are marked as low-informative, and with high
variation, as highly informative. Total informativeness
Wi(x; y) is the sum of each overlapping image
informativeness. By drawing a seam line in places with a low
value of the Moravec's operator of interest, we will
satisfy the requirement [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] of carrying out the seam line
in places of image with low informativeness.
        </p>
        <p>In order for the seam line to cross the line objects
along a line close to the perpendicular and not
intersect the high-altitude objects, we introduce the matrix
of forbidden zones. To create forbidden zone matrix
Wr(x; y) we rasterize vector lines and polygons, which
represent linear extensive and high-altitude objects,
using specially de ned penalty coe cients for
crossing those objects. Due to the fact that the seam line
receives an additional penalty when crossing objects
marked in matrix Wr(x; y), the optimization algorithm
will try to bypass such objects or cross them along the
line of the minimum possible length, that for thin
elongated objects (roads, rivers) will be perpendicular.</p>
        <p>Resultant energy function de ned as a weighted
sum of the particular matrices:</p>
        <p>W (x; y) =</p>
        <p>Ws(x; y) +</p>
        <p>Wi(x; y) +</p>
        <p>Wr(x; y); (2)
where , , are the weighting coe cients, which
dened each matrix contribution. In most cases, we can
choose all weights to be the same, but if one wants to
amplify one of the constraints, the corresponding
coe cient can be increased. For example, if the visual
similarity of images is more important to us, then we
increase , and if it is more important for us to draw
the seam line in places with low informativeness, then
we increase the coe cient, if we want to completely
prohibit the intersection of linear and high-altitude
objects, we can set the coe cient close to in nity.</p>
        <p>Thereby, seam line, which was delineated along the
path with minimal energy cost sum, meet the seam
line principal criteria: do not intersect high-altitude
objects, linear objects should be intersected along the
shortest distance (perpendicularly), and the other
object should be intersected in the areas with maximum
similarity and minimum informativeness.
For optimal seam line determination we de ne energy
function as weighted graph. Each node of the graph
represents corresponding energy function matrix
element. Let us connect all graph nodes to their
neighbors, here we have two options: four- and eight-
connected graph (Figure 1). We de ne the weight of the
edge between energy matrix cells (x1; y1) and (x2; y2)
as the sum of weights in the corresponded nodes
multiplied by the distance between them:
[W (x1; y1) + W (x2; y2)]p(x1
Thereby energy function matrix of M N size is
represented by at graph consisted of M N nodes and
PconnM N edges (where Pconn is a connection amount
of energy matrix elements). Such a construction of the
graph allows us not to store the graph explicitly, but
to build it as necessary from the energy matrix on the
y.</p>
        <sec id="sec-6-1-1">
          <title>a) Four-connectivity</title>
          <p>b) Eight-connectivity
where Se is the size of one matrix element.
Majority of the Earth remote sensing photos are 16 bit per
channel images, therefore it is reasonable to use similar
approach to energy matrix storage data type (Se = 2).
The amount of memory required to store the graph
explicitly in the form of compressed sparse row matrix
(CSR) is:
Scsr = SP trM N + SP trPconnM N + SePconnM N; (5)
where rst term is a memory amount to store graph
nodes, second term is memory amount to store graph
edge pointers and third term is memory for edge
weights, SP tr is node/edge pointer size (usually 4 or 8
byte), Se is size of edge weight.</p>
          <p>When we store and use the graph in the described
implicit way, it is possible to reduce memory usage by
SP tr+SP trPScoenn+SePconn times. When 8 byte pointers
and eight- connected graph are used, it is possible to
reduce the RAM usage by a factor of 44 in comparison
with the CSR graph storage type.</p>
          <p>With this approach to storing the graph and when
combined with the block method of storing the energy
matrix W (x; y) in memory, the processor cache is more
e ciently used, since when a graph is traversed, most
nodes connected by edges are in the adjacent memory
cells.</p>
          <p>Moreover, the block storage of the energy matrix
W (x; y) allows us to calculate and load matrix blocks
as we use at the optimization algorithm, which further
reduces the algorithm's requirement for the amount of
memory and allows us to process images larger than
the available RAM.
3.3</p>
        </sec>
      </sec>
      <sec id="sec-6-2">
        <title>Hierarchical Processing</title>
        <p>Typical satellite image size is about 50000 100000
pixels. When seam line between two images is created,
we deal with the graph of 109 nodes and 1010 edges.</p>
        <p>To avoid processing the entire array of data, we
apply a hierarchical approach to image processing.</p>
        <p>In the rst step, we construct optimal seam line at
the overview level of the original images (Figure 2). To
do this, we calculate the coordinates of the points of
intersection of the image frames in the coordinate
system of the output image (Vb and Ve), read input images
from the overview levels of detail, build a coarse
energy matrix and run the optimization process between
the graph nodes corresponding to the points of
intersection of the image frames. As a result, we obtain
a coarse approximation of the seam line (blue
polyline with black vertices). In the case where the image
frames are not convex polygons and the intersection
result is a multipolygon, each part of the
multipolygon is processed independently.</p>
        <p>In the second step, we will re ne the seam line
between the vertices of the seam line obtained on an
overview scale. To do this, we construct the ne
energy matrix using fragments of input images from the
detailed level and perform the optimization process
again, taking as the initial and nal nodes of the graph,
those that correspond to the vertices of the coarse seam
line. Note that to carry out the optimization, it is not
necessary to build the entire energy matrix W (x; y),
but only the part that is near the coarse
approximaImage blocks
that is being
processed</p>
        <p>Vb
Ve
Refinement area
around overview seam-line
Seam-line obtained on an overview scale
Seam-line obtained on a detailed scale
Seam-line refined on a detailed scale
tion of the seam line. Moreover, each image fragment
can be processed in parallel.</p>
        <p>But the new seam lime will have fractures near the
vertices of the coarse seam line, because end point
vertices of seam lime, are rigidly xed. To eliminate
unwanted fractures, we will carry out the third stage of
the seam line re nement on a detailed scale. To do
this, we will take as a initial and nal nodes of the
graph, those that correspond to the midpoints of the
segments, obtained in the second step, and we will
perform optimization again. Thus, we obtain a seam line,
unnoticeable both at the detailed and at the overview
scale (Figure 2).
3.4</p>
      </sec>
      <sec id="sec-6-3">
        <title>Optimization</title>
        <p>
          For optimization we use the shortest path Dijkstra`s
algorithm [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] with the Goldberg modi cation [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ].
The best implementation of Dijkstra's shortest path
algorithm with Fibonacci heap has a running time
O(m + nlog(n)), where n is graph node count, m is
graph edge count. Goldberg's shortest path algorithm
with multi-level bucket has an average running time
that is linear, and a worst-case time of O(m+nlog(C))
where C is a ratio of the biggest graph edge weight
to the smallest nonzero graph edge weight. Since the
graph constructed from the energy matrix has a
restriction on the maximum weight of the edge, this gives
us a signi cant advantage in the running time.
        </p>
        <p>Data: W (x; y), Vb, Ve</p>
        <p>Result: S - optimal seam line vertices
1 D:f ill(inf); P:f ill(inf);
2 D[Vb] 0;
3 QMLB:insert(0; Vb)
4 while QMLB not empty do
5 c q:extractM in()
6 for p = 0; p &lt; Pconn; ++p do
7 n c + Ap
8 // Compute edge weight according to (3)
9 ! (W (cx; cy) + W (nx; ny))length(Ap)
10 d D(cx; cy) + !
11 if d &lt; D(nx; ny) then
12 if P (nx; ny) is not set then
13 q:insert(d; n)
14 else
15 q:decreaseKey(d; n)
16 end
17 D(nx; ny) d
18 P (nx; ny) p
19 end
20 end
21 end
22 S turnBack(P; Ve)</p>
        <p>
          Algorithm 1: Pseudo code of the optimization
algorithm taking into account structure of the graph
Implementation details taking into account the
proposed structure of the graph are given in the Algorithm
1. The input data for the algorithm are energy
function matrix W (x; y) and Vb, Ve { start and end points.
Note that the coordinates of the corresponding
mosaic pixels are used as pointers to the nodes of the
graph. In addition to the input data, the algorithm
uses several important internal structures. D(x; y) is
distance the matrix from the start node to each other.
The matrix D(x; y) must have a data type that allows
storing the sums of the elements of the matrix W (x; y)
without over owing. If we assume that the size of
the element of matrix W (x; y) is equal to two bytes,
then the size of the elements of matrix D(x; y) must
be equal to four or eight bytes. A is a possible arc list,
for four-connectivity case A4 = [ ; !; "; #], and for
eight-connectivity case A8 = [ ; !; "; #; %; &amp;; -; .],
according to Figure 1. P (x; y) is node's parent
matrix. Since the graph has an ordered structure and
each node has four or eight neighbors, we can use the
arc number in array A as a pointer to the adjacent
node. Thus, no more than one byte is needed to store
the element of the matrix P . QMLB is a multi-level
bucket data structure. According to the calculations
in the paper [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ], the structure of QMLB requires no
more than O(log(C)) words of memory. Thus, the
total amount of memory necessary for seam line
optimization consists of memory sizes for the matrices
W (x; y), D(x; y) and P (x; y), the size of the structure
QMLB, can be neglected since log(C) is much smaller
than the size of the graph in our case.
3.5
        </p>
      </sec>
      <sec id="sec-6-4">
        <title>Parallel Implementation</title>
        <p>
          We divide the problem into a number of blocks, while
re ning the seam line on detailed level, this allow us
to process unlimited amount of data and perform
parallel optimization in each individual blocks of
information. OpenMP [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] library is used for parallel data
processing. Implementation details are presented in
Algorithm 2. Coarse step is done at lines 2-7. After
the end of the rst step, we divide the received coarse
seam line into blocks and perform the second and the
third steps (line 9) of parallel re nement of seam line
(lines 11-23). Due to the fact that the sizes of the
image fragments corresponding to the blocks of the coarse
seam line depend on the shape of the line segment, we
use the dynamic partition of the problem into parallel
blocks (line 11). Note, that parallel reading of image
data from the disk leads to a decrease in performance,
this operation is separated to the critical section (line
16).
        </p>
        <sec id="sec-6-4-1">
          <title>Data: I1 - rst image, I2 - second image</title>
          <p>Result: S - optimal seam line vertites
2 O1; O2 readImageOverview(I1; I2);
3 Vb; Ve computeIntersectionP oints(I1; I2);
4 Wcoarse computeEnergy(O1; O2);
5 Scoarse shortestP ath(Wcoarse; Vb; Ve);
7 B splitP athT oBlocks(Scoarse);
9 for step = 2; step &lt;= 3; ++step do
11 #pragma omp parallel for
12 for i = 0; i &lt; B:size(); ++i do
13 box computeBoundingBox(Bi);
14 Vb; Ve computeEndP oints(Bi);
16 begin #pragma omp critical
17 F1; F2 readF ineImage(I1; I2; box);
18 end
19 Wfine computeEnergy(F1; F2);
20 Sfine;i shortestP ath(Wfine; Vb; Ve);
21 end
23 S constructP athF romSegments(Sfine);
24 if step == 3 then
25 break;
26 end
27 B splitP athT oBlocks(S);
28 end
29 return S;</p>
          <p>Algorithm 2: Simpli ed pseudo code of parallel
hierarchical seam line optimization
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Results</title>
      <p>Several datasets were used to test hierarchical seam
line optimization algorithm:</p>
      <p>Colored (RGB) 8-bit per channel middle
resolution images acquired by Landsat-8 satellite
system 16000 16000 pixels each (Figure 3);
Colored (RGB) 8-bit per channel high resolution
images acquired by aerial camera 4368 2912
pixels each with roads digitized (Figure 5);
Panchromatic 16-bit high resolution images
acquired by Resurs-P satellite system 36000
105000 pixels size.</p>
      <p>The rst and second datasets were used to study the
visual quality of the algorithm, and the latter was used
to estimate the performance.</p>
      <p>Algorithm was tested on a workstation equipped
with a quad-core Intel Core i7 processor and 8 GB
RAM.</p>
      <p>Figure 4 shows the output mosaic obtained using
the hierarchical seam line optimization algorithm, it
can be seen that the seam line is practically
indistinguishable both on a coarse scale and on a ne scale.
The result of the algorithm on high resolution images
using a vector layer of roads as forbidden zones is
shown in Figure 6. It can be seen that the seam line
crosses the roads as perpendicular as possible. But
additional restrictions on the seam line in the form of
forbidden zones lead to the fact that near the zone,
the visual similarity of images on the di erent sides of
the line is lost.</p>
      <p>The dependence of the time for optimal seam line
constructing on the number of vertices in the graph is
shown in the Figure 7.</p>
      <p>The construction of the seam line for maximum
size graph, with one-processor version with full data
loading into memory was not performed due to high
consumption of memory. As studies have shown,
when constructing an eight-connected graph, the
visual quality of the seam line is somewhat higher,
because it includes diagonally oriented edges, but the
processing time increases due to the increase in the
number of edges in the graph and the non-integer
weight of the diagonal edges. Also on the Figure 7b
it is seen that for the size of graph 109 nodes the
processing time sharply increases, which is due to the
predominance of the time of data loading from the hard
drive over the optimization time.
5</p>
    </sec>
    <sec id="sec-8">
      <title>Conclusion</title>
      <p>In this paper the approach to construct an optimal
seam line for the Earth remote sensing image mosaic,
based on the graph shortest path nding is presented.
The construction of an energy function matrix taking
into account both informativeness and similarity of
input images is discussed. Graph data structure design
from an energy matrix is presented, which makes it
possible to reduce the amount of RAM. The
hierarchical parallel implementation of the optimization
algorithm is presented with regard to the proposed graph
data structure. The amount of RAM required for the
optimization process is estimated.</p>
      <p>The proposed hierarchical image processing
approach not only allows us to reduce a seam line
construction time, but also to make seam line unnoticeable
both at the detailed and at the overview scale of the
output mosaic. Using proposed approach, the time for
optimal seam line creation was reduced by more than
10 times, which make it possible to produce seamless
image mosaic with minimal CPU time usage.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>[1] Federal Service of Geodesy and Cartography of Russia., Instruction on photogrammetric work in the creation of digital topographic Maps and plans</article-title>
          , Moscow,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Skvortsov</surname>
            <given-names>V.A.</given-names>
          </string-name>
          ,
          <source>The Delaunay Triangulation and Its Applications</source>
          . Tomsk. Univ. Press,
          <year>2002</year>
          . 128 p. http://www.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Chon</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kim</surname>
            <given-names>H</given-names>
          </string-name>
          .
          <article-title>Seam-line determination for image mosaicking: A technique minimizing the maximum local mismatch and the global cost</article-title>
          .
          <source>ISPRS Journal of Photogrammetry and Remote Sensing</source>
          , No.
          <volume>65</volume>
          (
          <issue>1</issue>
          ),
          <year>2010</year>
          . pp.
          <volume>8692</volume>
          . https://doi.org/10.1016/j.isprsjprs.
          <year>2009</year>
          .
          <volume>09</volume>
          .001 (
          <issue>accessed</issue>
          :
          <fpage>10</fpage>
          .
          <fpage>10</fpage>
          .
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Chon</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Slankard</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ristevski</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>High-Quality Seamless</surname>
          </string-name>
          Panoramic Images. Special Applications of Photogrammetry, ed. Dr. Daniel Carneiro Da Silva,
          <year>2012</year>
          , InTech http://cdn.intechopen.com/pdfs/ 36193.pdf (
          <issue>accessed</issue>
          :
          <fpage>10</fpage>
          .
          <fpage>10</fpage>
          .
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Zhao</surname>
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Han</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Feng</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miao</surname>
            <given-names>C.</given-names>
          </string-name>
          ,
          <article-title>Remote Sensing Image Mosaic by Incorporating Segmentation and the Shortest Path</article-title>
          . In: Bian F.,
          <string-name>
            <surname>Xie</surname>
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cui</surname>
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zeng</surname>
            <given-names>Y</given-names>
          </string-name>
          . (eds) GeoInformatics in Resource Management and
          <string-name>
            <given-names>Sustainable</given-names>
            <surname>Ecosystem</surname>
          </string-name>
          .
          <source>Communications in Computer and Information Science</source>
          , vol
          <volume>398</volume>
          . Springer, Berlin, Heidelberg,
          <year>2013</year>
          https:// doi.org/10.1007/978-3-
          <fpage>642</fpage>
          -45025-9_67 (
          <issue>accessed</issue>
          :
          <fpage>10</fpage>
          .
          <fpage>10</fpage>
          .
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Kerschner</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <article-title>Twin snakes for determining seam lines in orthoimagemosaicking</article-title>
          . // IAPRS, Vol. XXXIII, Amsterdam,.
          <year>2000</year>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          . http://geo.tuwien.ac.at/fileadmin/ editors/IPFpublications/mk_isprs2000/ paper725.
          <source>pdf (accessed:10.10</source>
          .
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Adrov</surname>
            <given-names>V.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drakin</surname>
            <given-names>M.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sechin</surname>
            <given-names>A.Y.</given-names>
          </string-name>
          ,
          <article-title>High performance photogrammetric processing on computer clusters</article-title>
          . // International Archives of the Photogrammetry,
          <source>Remote Sensing and Spatial Information Sciences, Volume XXXIX-B4</source>
          ,
          <article-title>XXII ISPRS Congress</article-title>
          . Melbourne, Australia.
          <volume>25</volume>
          August
          <issue>01</issue>
          <year>September 2012</year>
          . pp.
          <fpage>109</fpage>
          -
          <lpage>112</lpage>
          . http://dx.doi.org/10. 5194/
          <string-name>
            <surname>isprsarchives-XXXIX-B4-</surname>
          </string-name>
          109-2012
          <source>(accessed:10.10</source>
          .
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Bielski</surname>
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grazzini</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Soille</surname>
            <given-names>P.</given-names>
          </string-name>
          ,
          <source>Automated Morphological Image Composition for Mosaicing Large Image Data Sets. // Spatial Data Infrastructures Unit Institute for Environment and Sustainability DG Joint Research Centre, European Commission I-21020 Ispra</source>
          , (Va),
          <source>Italy</source>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>4</lpage>
          . https://doi.org/10.1109/ IGARSS.
          <year>2007</year>
          .
          <volume>4423743</volume>
          (
          <issue>accessed</issue>
          :
          <fpage>10</fpage>
          .
          <fpage>10</fpage>
          .
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Wan</surname>
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xiao</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lai</surname>
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xu</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <article-title>Automatic determination of seamlines for aerial image mosaicking based on vector roads alone</article-title>
          . // ISPRS Journal of Photogrammetry and Remote Sensing, No.
          <volume>76</volume>
          ,
          <year>2013</year>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          . https://doi.org/10.1016/j.isprsjprs.
          <year>2012</year>
          .
          <volume>11</volume>
          .002 (
          <issue>accessed</issue>
          :
          <fpage>10</fpage>
          .
          <fpage>10</fpage>
          .
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Chen</surname>
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sun</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hu</surname>
            <given-names>X.</given-names>
          </string-name>
          , Zhang Z.
          <article-title>Automatic Seamline Network Generation for Urban Orthophoto Mosaicking with the Use of a Digital Surface Model</article-title>
          . // Remote Sens.
          <year>2014</year>
          ,
          <article-title>6</article-title>
          . pp.
          <fpage>12334</fpage>
          -
          <lpage>12359</lpage>
          . http://www.mdpi.com/ 2072-4292/6/12/12334 (accessed:
          <fpage>10</fpage>
          .
          <fpage>10</fpage>
          .
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Kass</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Witkin</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Terzopoulos</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <article-title>Snakes: active contour models</article-title>
          . //
          <source>International Journal of Computer Vision</source>
          ,
          <volume>1</volume>
          (
          <issue>4</issue>
          ),
          <year>1988</year>
          ,
          <volume>321331</volume>
          http://web.cs.ucla.edu/~dt/papers/ ijcv88/ijcv88.
          <source>pdf (accessed:10.10</source>
          .
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Kwatra</surname>
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schodl</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Essa</surname>
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Turk</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bobick</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <source>Graphcut Textures: Image and Video Synthesis Using Graph Cuts. // ACM Transactions on Graphics (TOG) - Proceedings of ACM SIGGRAPH</source>
          <year>2003</year>
          , Volume
          <issue>22 Issue 3</issue>
          ,
          <year>July 2003</year>
          , pp.
          <fpage>277</fpage>
          -
          <lpage>286</lpage>
          http://gamma.cs.unc.edu/kwatra/ publications/gc-final-lowres.
          <source>pdf (accessed:10.10</source>
          .
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Li</surname>
            <given-names>Li</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Yao</given-names>
            <surname>Jian</surname>
          </string-name>
          , Lu Xiaohu, Shan Jie.,
          <article-title>Optimal Seamline Detection for Multiple Image Mosaicking via Graph Cuts</article-title>
          . // ISPRS Journal of Photogrammetry &amp; Remote
          <string-name>
            <surname>Sensing</surname>
          </string-name>
          .
          <source>February</source>
          <year>2015</year>
          . pp.
          <fpage>1</fpage>
          -
          <lpage>32</lpage>
          . http: //cvrs.whu.edu.cn/publications/2015/ GraphCutsSeamlineDetection-ISPRS2015.
          <source>pdf (accessed:10.10</source>
          .
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Boykov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Veksler</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zabih</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <article-title>Fast approximate energy minimization via graph cuts</article-title>
          .
          <source>IEEE Transactions on Pattern Analysis and Machine Intelligence</source>
          <volume>23</volume>
          (
          <issue>11</issue>
          ), pp
          <fpage>12221239</fpage>
          .
          <year>2001</year>
          . http://www.cs.cornell. edu/rdz/Papers/BVZ-pami01
          <article-title>-final</article-title>
          .
          <source>pdf (accessed:10.10</source>
          .
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Boykov</surname>
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kolmogorov</surname>
            <given-names>V.</given-names>
          </string-name>
          <article-title>An Experimental Comparison of Min-cut/Max- ow Algorithms for Energy Minimization in Vision</article-title>
          . In:
          <string-name>
            <surname>Figueiredo</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zerubia</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jain</surname>
            <given-names>A.K.</given-names>
          </string-name>
          <article-title>(eds) Energy Minimization Methods in Computer Vision and Pattern Recognition</article-title>
          .
          <source>EMMCVPR 2001. Lecture Notes in Computer Science</source>
          , vol
          <volume>2134</volume>
          . Springer, Berlin, Heidelberg https: //doi.org/10.1007/3-540-44745-8_24 (
          <issue>accessed</issue>
          :
          <fpage>10</fpage>
          .
          <fpage>10</fpage>
          .
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Boykov</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Delong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A Scalable</given-names>
            <surname>Graph-Cut Algorithm for N-D Grids</surname>
          </string-name>
          . In IEEE Conference on
          <article-title>Computer Vision and Pattern Recognition (CVPR), Anchorage</article-title>
          , June 2008 https://doi.org/10.1109/CVPR.
          <year>2008</year>
          .
          <volume>4587464</volume>
          (
          <issue>accessed</issue>
          :
          <fpage>10</fpage>
          .
          <fpage>10</fpage>
          .
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>F. R.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Toppe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Cremers</surname>
          </string-name>
          ,
          <article-title>E cient Planar Graph Cuts with Applications in Computer Vision</article-title>
          . IEEE CVPR, Miami, Florida, June 2009 https:// doi.org/10.1109/CVPR.
          <year>2009</year>
          .
          <volume>5206863</volume>
          (
          <issue>accessed</issue>
          :
          <fpage>10</fpage>
          .
          <fpage>10</fpage>
          .
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Li</surname>
            <given-names>Li</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Jian</given-names>
            <surname>Yao</surname>
          </string-name>
          , Xiaohu Lu, and
          <string-name>
            <given-names>Jing</given-names>
            <surname>Ren</surname>
          </string-name>
          .
          <article-title>Superpixel-Based Optimal Seamline Detection via Graph Cuts for Panoramic Images</article-title>
          . submitted to IEEE
          <source>International Conference on Image Processing (ICIP)</source>
          ,
          <year>2015</year>
          http: //cvrs.whu.edu.cn/projects/SSD/papers/ SuperpixelStitching-ICIP2015.
          <source>pdf (accessed:10.10</source>
          .
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Moravec</surname>
            <given-names>H.</given-names>
          </string-name>
          ,
          <source>Towards automatic visual obstacle avoidance // Proceedings of the 5-th International Joint Conference of Arti cial Intelligence Cambridge</source>
          .
          <year>1977</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Dijkstra</surname>
            <given-names>E.W.,</given-names>
          </string-name>
          <article-title>A note on two problems in connexion with graphs // Numerische Mathematik</article-title>
          , Vol.
          <volume>1</volume>
          ,
          <year>1959</year>
          . P.
          <volume>269271</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Goldberg</surname>
            <given-names>A.V.</given-names>
          </string-name>
          <article-title>A Simple Shortest Path Algorithm with Linear Average Time</article-title>
          .
          <source>// Proceedings of the 9th European Symposium on Algorithms (ESA '01)</source>
          ,
          <source>Springer Lecture Notes in Computer Science LNCS 2161</source>
          .
          <year>2001</year>
          . pp.
          <fpage>230</fpage>
          -
          <lpage>241</lpage>
          . https://doi.org/10.1007/ 3-540-44676-1_19 (
          <issue>accessed</issue>
          :
          <fpage>10</fpage>
          .
          <fpage>10</fpage>
          .
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>OpenMP</surname>
          </string-name>
          [2017]. URL: http://openmp.org/ (accessed:
          <fpage>01</fpage>
          .
          <fpage>02</fpage>
          .
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>