2. The system is very slow in search because it in-
volves many translation between two coordinate
systems: the latitude-longitude-altitude coordi-
nate system and the geocentric Cartesian coordi-
nate system. The system uses the former for ter-
rain data and the latter for line of sight from cam-
eras, and the translation between them is needed
in collision detection between line of sight from
cameras and the earth in the terrain model.
3. We could not improve the search process enough
though we introduced some techniques to the sys-
tem, which are relaxation of optimization prob-
lems, a local search to avoid lethal genes and so
on.
2.2 A CNN-based Method
Tobians Weyand et al. proposed a method to identify
the shooting area using convolution neural network
(CNN) (Hays and Efros, 2008). It divides the world
map into multiple areas and learns areas in which
given landscape photographs were taken. When a new
landscape photograph without location information is
input, it estimates an area in which the landscape pho-
tograph was highly likely taken.
The method can narrow down the shooting area,
but cannot specify the shooting location in detail. To
specify the shooting location in detail, it is necessary
to divide the world map in more detail and use a lot
of photographs with shooting location information for
training.
3 AN OVERVIEW OF OUR NEW
SYSTEM
To resolve the problems of our former system pointed
out in section 2.1, we decided to develop a new sys-
tem which supports to identify geolocations of land-
scape photographs from scratch.
The main differences between our former system
and the our new system are as follows.
1. We changed the implementation language from
Java to Python. One of the reason is that Python
is in widespread use as Java. Another reason
is that we plan to introduce image segmentation
based on deep neural network for automatic im-
age feature extraction to define a search problem
from a given landscape photograph and Python
libraries for deep learning such as TensorFlow
(Abadi et al., 2015) and PyTorch (Paszke et al.,
2019) are also in widespread use. In addition, it
would be easy to implement a domain specific lan-
guage for search problem in Python than in Java.
2. We changed the mainly used coordination sys-
tem for terrain data from the latitude-longitude-
altitude coordinate system to the geocentric Carte-
sian coordinate system. To realize the change, we
use three dimensional polygons converted from
the DEM used in our former system as terrain
data.
3. We introduced a camera parameter adjustment
method based on image features to make parame-
ter adjustment more efficient.
4 SEARCH IN OUR SYSTEM
In this section, we explain how our new system search
the shooting location of a given landscape using a
real-coded genetic algorithm.
4.1 An Overview of the Search Process
The input for our new system are a color-coded land-
scape photograph whose colors corresponds to at-
tributes such as the sky and the ground surface, and
a search range. If the input is given, our new system
works as follows.
1. It extracts image features such as ridge lines from
the given color-coded photograph.
2. It sets the search range as a geographical area.
3. It generates an initial solution set, each solution of
which corresponds to initial parameters of a vir-
tual camera. It uses the terrain data of the geo-
graphical area to place virtual cameras where the
surrounding scenery can be looked over.
4. It repeats the following steps until the best fitness
function’s value converges or the number of repe-
tition reaches the specified number of times.
(a) For each virtual camera, it calculates the
ridge line in the virtual landscape photograph,
the color-coded virtual landscape photograph
whose colors correspond to attributes such as
the sky and the ground surface, and the depth
image of the virtual landscape photograph.
(b) For each virtual camera, it compares the fea-
tures of the input landscape photograph with
the features of the ridge line taken by the cam-
era and calculates the fitness function value of
the camera based on the degree of similarity be-
tween them. The higher the degree of similarity
is, the lower the fitness function value is.
ICAART 2021 - 13th International Conference on Agents and Artificial Intelligence
1292