Therefore, the user experience is quickly degraded by
limited performance on this type of development.
AR experiences can be developed applying one of
the following mechanisms: sensor-based, vision-
based, and hybrid tracking. Sensor-based applications
make exhaustive use of a wide variety of sensors, like
GPS, gyroscopes and accelerometers. As a result of
the complexity of computation, storage and
networking, the lightweight Web AR implementation
mechanism is currently the least chosen option for
users to start. Vision-Based applications, on the other
hand, provide object recognition, detection and
tracking. It can be splitted into two methods, the
frame-by-frame tracking approach which uses cloud
servers to perform real time processing in order to
reduce the high pressure on mobile computation, and
the marker-based method, which makes the tracking
based on a defined marker. Marker-based methods
can be implemented in three different ways. 1) The
fiducial markers, which make use of the camera
image to find optical square markers and estimate
their relative pose to the camera. A square marker
consists of a black square of a pre-defined size with a
white border. 2) Physical or natural markers, which is
an image-based tracking technique that detects and
tracks the features that are naturally found in the
image itself. These could be corners, edges, blobs,
etc., without using specifically designed ID markers
(Ćuković et al., 2015; Yabuki, N et al., 2011). The
natural marker technique includes 3-D (a human face
for example) as well as 2-D objects (a photo for
example). 3) Hybrid-approach, which overcomes the
weaknesses and limitations of the individual methods
mentioned earlier by combining different methods.
The use of these approaches provides affordable
means of mobile development in AR experiences.
Nevertheless, since there are still several open
challenges for the application of Web AR in real
cases, it is important to decide which approach is
more appropriate in order to build the final product.
To this end, it is relevant to assess the performance of
each one when performing specific tasks.
Several studies have shown how to improve the
algorithms that are running in the background (Baek
et al., 2013; Hofmann et al., 2012). Nevertheless,
these investigations were based on the precision of
early AR systems for the military using wireless
beacons or optimizations in the algorithm to detect
interest points on different image resolutions. There
is one study that takes quantitative measurements of
Frames Per Second, Latency, Power Consumption
and Number of keypoints, but these results are based
on experiments that are helped with external cloud
server computations as well as the mobile processing
itself (Srinivasan et al., 2009). Therefore, in these
works there is no clear assessment on the specific
performance of the mobile device (Qiao et al., 2018).
It is known that the limited computing and
rendering capabilities on the Web make it challenging
to achieve high-performance, especially on mobile
devices. Application performance is one of the
deciding factors to choose the best approach to build
AR experiences. However, it depends on many
factors including developer coding efficiency, marker
complexity, and usage of native AR modules (they
depend on the operating system in which the
application is running on). In an effort to increase the
knowledge about how efficiently these technologies
perform on a mobile device, five applications were
developed, one per marker-based mechanism
approach, and their performance was compared
taking into account values for CPU and RAM
performance (Azuma et al., 2006).
This work is structured as follows. In the
Methodology section, an overall description of the
code implementation and the performance indicators
is shown. In the Experiment section, the workflow for
the overall process is depicted. In the Results section,
the obtained values for the CPU and RAM assessment
are analyzed. Finally, in the Conclusions and Future
Work section, current results and future lines of work
are presented.
2 METHODOLOGY
In order to evaluate the device CPU and RAM usage
from the runtime perspective, we built a set of
scenarios using different types of markers.
The scenarios consisted of a mobile phone
recognizing both fiducial and natural markers and then
drawing a 3D object on them. In order to simulate real
world experiences, different complexity patterns on the
marker generation were applied. A set of basic 2D
figures called fiducial markers (similar to QR codes)
and 3D figures composed of basic shapes like cubes,
cones as well as complex ones like cylinders and
spheres were generated. Several distances between the
markers and the cellphone were set, and also a specific
illumination set up was used and measured.A wealth
of useful information was provided by the packages
used to measure the resource usage of the mobile
device. However, we considered it necessary to take
only two variables to have a clean starting point in the
technology comparison. Experiments were
performed automatically, and the results were
recorded over determined intervals of time. Results of
each run were analyzed, and the percentage of the