Automatic Generation and Detection of Highly Relia
Automatic Generation and Detection of Highly Relia
Automatic Generation and Detection of Highly Relia
net/publication/260251570
CITATIONS READS
1,873 27,338
4 authors, including:
Manuel J. Marín-Jiménez
University of Cordoba (Spain)
97 PUBLICATIONS 4,698 CITATIONS
SEE PROFILE
All content following this page was uploaded by Rafael Muñoz-Salinas on 11 October 2017.
1
Figure 1: Example of augmented reality scene. (a) Input image containing a set of fiducial markers. (b) Markers
automatically detected and used for camera pose estimation. (c) Augmented scene without considering user’s occlusion.
(d) Augmented scene considering occlusion.
2 Related work
A fiducial marker system is composed by a set of valid
markers and an algorithm which performs its detection,
and possibly correction, in images. Several fiducial marker
systems have been proposed in the literature as shown in
Figure 2.
The simplest proposals consist in using points as fiducial
markers, such as LEDs, retroreflective spheres or planar
dots [14, 15], which can be segmented using basic tech-
niques over controlled conditions. Their identification is
usually obtained from the relative position of the markers
and often involves a complex process.
Other approaches use planar circular markers where the
identification is encoded in circular sectors or concentric
rings [16][17]. However, circular markers usually provide Figure 2: Examples of fiducial markers proposed in previ-
just one correspondence point (the center), making neces- ous works.
sary the detection of several of them for pose estimation.
Other types of fiducial markers are based on blob de-
tection. Cybercode[18] or VisualCode[19] are derived from codes. Matrix[23] is one of the first and simplest pro-
2D-barcodes technology as MaxiCode or QR but can also posals. It uses a binary code with redundant bits for er-
accurately provide several correspondence points. Other ror detection. The ARTag [11] system is based on the
popular fiducial markers are the ReacTIVision amoeba same principles but improves the robustness to lighting
markers [20] which are also based on blob detection and its and partial occlusion by using an edge-based square detec-
design was optimized by using genetic algorithms. Some tion method, instead of a fixed threshold. Additionally, it
authors have proposed the use of trained classifiers to im- uses a binary coding scheme that includes checksum bits
prove detection in cases of bad illumination and blurring for error detection and correction. It also recommends
caused by fast camera movement [21]. using its dictionary markers in a specific order so as to
An alternative to the previous approaches are the maximize the inter-marker distances. Its main drawback
square-based fiducial markers systems. Their main ad- is that the proposed marker dictionary is fixed to 36 bits
vantage is that the presence of four prominent points can and the maximun number of erroneous bits that can be
be employed to obtain the pose, while the inner region is corrected is two, independently of the inter-marker dis-
used for identification (either using a binary code or an ar- tances of the subset of markers used.
bitrary pattern such as an image). In the arbitrary pattern ARToolKit Plus [24] improves some of the features of
category, one of the most popular systems is ARToolKit ARToolKit. First, it includes a method to automatically
[10], an open source project which has been extensively update the global threshold value depending on pixel val-
used in the last decade, especially in the academic com- ues from previously detected markers. Second, it employs
munity. ARToolkit markers are composed by a wide black binary codes including error detection and correction, thus
border with an inner image which is stored in a database achieving higher robustness than its predecessor. The
of valid patterns. Despite of its popularity, it has some last known version of ARToolKitPlus employs a binary
drawbacks. First, it uses a template matching approach to BCH [25] code for 36 bits markers which presents a min-
identify markers, obtaining high false positive and inter- imun Hamming distance of two. As a consequence, AR-
marker confusion rates [22]. Second, the system uses a ToolKitPlus BCH markers can detect a maximun error of
fixed global threshold to detect squares, making it very one bit and cannot perform error correction. ARToolkit-
sensitive to varying lighting conditions. Plus project was halted and followed by the Studierstube
Most of the square-based fiducial systems uses binary Tracker[12] project which is not publicly available.
2
BinARyID[26] proposes a method to generate binary
coded markers focused on avoiding rotation ambiguities,
however it only achieves Hamming distance of one between
two markers and does not present any error correction
process. There are also some closed-source systems which
employ square markers such as the SCR, HOM and IGD
[27] marker systems used by the ARVIKA project [28]. Figure 3: Examples of markers of different sizes, n, gener-
ated with the proposed method. From left to right: n = 5,
This paper proposes a square-based fiducial marker sys- n = 6 and n = 8.
tem with binary codes. However, instead of using a pre-
defined set of markers, we propose a method for generat-
ing configurable marker dictionaries (with arbitrary size 3 Automatic dictionary
and number of markers), containing only the number of
markers required. Our algorithm produces markers us- generation
ing a criterion to maximize the inter-marker distance and
The most relevant aspects to consider when designing a
the number of bit transitions. Additionally, a method for
marker dictionary are the false positive and negative rates,
detecting and correcting errors, based on the dictionary
the inter-marker confusion rate, and the number of valid
obtained, is proposed. This method allows error correc-
markers [11]. The first two are often tackled in the lit-
tion of a greater number of erroneous bits compared to the
erature using error detection and correction bits, which,
current state of the art systems.
on the other hand, reduces the number of valid markers.
Our last contribution is related to the occlusion prob- The third one, depends only on the distance between the
lem in augmented reality applications. When designing markers employed. If they are too close, a few erroneous
an augmented reality application, interactivity is a key bits can lead to another valid marker of the dictionary,
aspect to consider. So, one may expect users to occlude and the error could not be even detected.
the markers. ARTag handles the problem in two ways. Another desirable property of markers is having a high
First, the marker detection method allows small breaks in number of bit transitions, so that they are less likely to be
the square sides. Second, they employ several markers si- confused with environment objects. For instance, the bi-
multaneously, thus, the occlusion of some of them does not nary codes with only zeros or ones will be printed as com-
affect the global pose estimation. Despite of being robust pletely black or white markers respectively, which would
to occlusion, ARTag still has a main drawback: it can not be easily confused with environment objects.
detect precisely occlusion. As a consequence, if an object While previous works impose fixed dictionaries, we pro-
moves between the camera and the augmented scene (e.g. pose an automatic method for generating them with the
user’s hands), the virtual objects will be rendered on the desired number of markers and with the desired number
hands, hiding it (see Fig. 1(c,d)). of bits. Our problem is then to select m markers, from the
space of all markers with n×n bits, D , so that they are as
Proposals to detect the occluded regions usually fall
far as possible from each other and with as many bit tran-
into three main categories: depth-based, model-based, and
sitions as possible. In general, the problem is to find the
color-based approaches. Depth-based approaches try to
dictionary D∗ that maximizes the desired criterion τ̂ (D):
calculate the depth of the image pixels to detect occlu-
sions. However, these approaches require depth-based sen-
D∗ = argmax {τ̂ (D)} (1)
sors, such as stereo, time of flight or structured light cam- D∈D
eras [29, 30, 31]. When a single camera is used, some
Since a complete evaluation of the search space is not
authors have adopted model-based approaches [32, 33].
feasible even for a small n, an stochastic algorithm that
The idea is to provide geometric models of the objects
finds suboptimal solutions is proposed.
which can occlude the scene, and detect their pose. This
solution is not practical in many applications where the
occluding objects are not known in advance, and imposes 3.1 Algorithm overview
very strong performance limitations. Finally, color-based Our algorithm starts from an empty dictionary D that is
approaches [34], can be employed. The idea is to create a incrementally populated with new markers. Our markers
color model of the scene (background) which is then com- are encoded as a (n + 2) × (n + 2) grid (Fig. 3 ) where the
pared to the foreground objects. external cells are set to black, creating an external border
In this work, we propose the use of multiple markers to easily detectable. The remaining n × n cells are employed
handle occlusion (as in ARTag). However, we also propose for coding. Thus, we might define a marker,
the use of a color map for precisely detecting the visible
pixels, so that the virtual scene is only rendered on them. m = (w0 , w1 , ..., wn−1 ), (2)
In order to improve segmentation, we employ blue and
as a tuple composed by n binary words w of length n such
green markers, instead of classical black-and-white ones.
that
As we experimentally show, our proposal is an effective
w = (b0 , . . . , bn−1 | bi ∈ {0, 1}). (3)
method for improving current augmented reality applica-
tions such as in gaming or film industry, although not Let us also denote W as the set of all possible words of n
limited to that. bits, whose cardinal is |W| = 2n .
3
At each iteration of the algorithm, a marker is selected being wij the j-bit of the word wi , and δ is 1 if both el-
based on a stochastic process that assigns more probability ements are equal and 0 otherwise. So, T (wi ) tends to 1
to markers with a higher number of bit transitions and as the number of transitions between consecutive bits in-
whose words have not been yet added to D. If the distance creases and to 0 as the number of transitions decreases.
between the generated marker and these in D is greater For instance, the words 010110 and 000011 present values
than a minimum value τ , then it is added. Otherwise, the of T = 4/5 and T = 1/5, respectively, which are propor-
marker is rejected and a new marker is randomly selected. tional to the number of bit transitions.
The process stops when the required number of markers On the other hand, the function O(wi , D) accounts for
is achieved. the number of times the word wi appears amongst the
Because of the probabilistic nature of the algorithm, the markers in D. The idea is to reduce the probability
acceptance of new markers could be improbable or even of choosing words that have already been selected many
impossible in some cases. To guarantee the convergence times. It is defined in the interval [0, 1] as
of the algorithm, the distance threshold is initially set to
the maximum possible inter-marker distance that the dic- ( P P
δ(wj ,wi )
mi ∈D wj ∈mi
tionary can have τ 0 . Along the process, the value of τ is O(wi , D) = 1− n|D| if |D| =
6 0 .
reduced after a number of unproductive iterations ψ. The 1 otherwise
final value τ̂ (D) represents the minimum distance between (6)
any two markers in D, and it will be used as the base for The double sum counts the appearances of w amongst
error detection and correction (explained in Sect. 4). The the markers in D, while the denominator counts the total
proposed algorithm is summarized in Alg. 1. number of words in D. Thus, O(wi , D) is 1 if wi is not in
D, and tends to 0 as it appears a higher number of times.
Algorithm 1 Dictionary generation process Finally, in the first iteration (|D| = 0), the function is
D ← Ø # Reset dictionary defined as 1 so that all words have the same probability
τ ← τ 0 #Initialize target distance, see Sect. 3.4 of being selected.
% ← 0 # Reset unproductive iteration counter
while D has not desired size do 3.3 Distance calculation
Generate a new marker m #Sect. 3.2
if distance of m to elements in D is ≥ τ then As previously indicated, a marker is added to the dictio-
D ← D ∪ m # Add to dictionary nary if its distance to the markers in the dictionary is be-
%←0 low τ . The concept of distance between markers must be
else defined considering that they are printed as binary grids
% ← % + 1 # It was unproductive of n × n bits that can be observed under rotation. Then,
# maximium unproductive iteration reached ?
let us define the distance between two markers as
if % = ψ then
τ ← τ − 1 # Decrease target distance D(mi , mj ) = min { H(mi , Rk (mj )) }. (7)
%←0 k∈{0,1,2,3}
end if
end if The function H is the Hamming distance between two
end while markers, which is defined as the sum of hamming distances
between each pair of marker words. The function Rk is
an operator that rotates the marker grid k × 90 degrees in
clockwise direction. The function D is then the rotation-
3.2 Marker generation invariant Hamming distance between the markers.
Let us also define the distance of a marker to a dictio-
As previously pointed out, markers are selected using a
nary:
random process leaded by a probability distribution that
D(mi , D) = min {D(mi , mj )}, (8)
assigns a higher probability to these markers with a high mj ∈D
number of transitions and whose words are not yet present
as the distance of the marker to nearest one in the dictio-
in D. The proposed process for generating a marker con-
nary.
sists in selecting n words from W with replacement. To do
Finally, it is not only important to distinguish markers
so, each word wi ∈ W has a probability of being selected
from each other, but also to correctly identify the marker
at each iteration that is defined as:
orientation. Otherwise, pose estimation would fail. So, a
valid marker must also guarantee that the minimum dis-
T (wi )O(wi , D)
P {w = wi } = P . (4) tance to its own rotations is above τ . Thus, we define the
wj ∈W T (wj )O(wj , D) marker self-distance as
Eq. 4 defines the probability of selecting a word as the
S(mi ) = min { H(mi , Rk (mi )) }. (9)
combination of two functions. The first one, T (wi ) ∈ [0, 1], k∈{1,2,3}
is related to the number of bit transitions of the word. It
is defined as In summary, we only add a marker to the dictionary
if both S(mi ) and D(mi , D) are greater or equal than τ .
Pn−2 j+1
j=0 δ(wi , wij ) Otherwise, the marker is rejected and a new one generated.
T (wi ) = 1 − , (5) After a number of unproductive iterations ψ, the value of
n−1
4
Hamming distances
Group Quartets
90 deg 180 deg 270 deg
Q1 0000 0 0 0
Q2 1000 → 0100 → 0010 → 0001 2 2 2
Q3 1100 → 0110 → 0011 → 1001 2 4 2
Q4 0101 → 1010 4 0 4
Q5 1110 → 0111 → 1011 → 1101 2 2 2
Q6 1111 0 0 0
Figure 4: Examples of quartets for a 2×2 and 3×3 marker. Table 1: Quartet groups and quartet Hamming distances
Each arrow indicates the destination of a bit after a 90 for each rotation.
degrees clockwise rotation.
5
Hamming distances
Quartet Group
90 degrees 180 degrees 270 degrees
using the Suzuki and Abe [36] algorithm. It produces
1 Q3 2 4 2 the set of image contours, most of which are irrelevant
2 Q3 2 4 2 for our purposes (see Figure 5(c)). Then, a polygo-
3 Q4 4 0 4
4 Q3 2 4 2
nal approximation is performed using the Douglas-
Total distances 10 12 10 Peucker [37] algorithm. Since markers are enclosed
Vs∗ min(10, 12, 10) = 10 in rectangular contours, these that are not approx-
imated to 4-vertex polygons are discarded. Finally,
Table 2: Quartet assignment for a 4 × 4 marker (C = we simplify near contours leaving only the external
4) to obtain Sn∗ . It can be observed as the sequence ones. Figure 5(d) shows the resulting polygons from
{Q3 , Q3 , Q4 } is repeated until filling all the quartets in this process.
the marker.
• Marker Code extraction: The next step consists in an-
alyzing the inner region of these contours to extract
its internal code. First, perspective projection is re-
moved by computing the homography matrix (Fig.
5(e)). The resulting image is thresholded using the
Otsu’s method [38], which provides the optimal im-
age threshold value given that image distribution is
bimodal (which holds true in this case). Then, the bi-
narized image is divided into a regular grid and each
element is assigned the value 0 or 1 depending on the
values of the majority of pixels into it (see Fig. 5(e,f)).
A first rejection test consists in detecting the presence
of the black border. If all the bits of the border are
zero, then the inner grid is analyzed using the method
described below.
6
imental section with 6 × 6 bits and 30 markers, we
obtained τ̂ = 12. So, our approach can correct 5 bits
of errors in this dictionary. Additionally, we can gen-
erate markers with more bits which leads to a larger
τ̂ , thus increasing the correction capabilities. Actu-
ally, our detection and correction method is a general
framework that can be used with any dictionary (in-
cluding ARToolKitPlus and ARTag dictionaries). In
fact, if our method is employed with the ARTag dic-
tionary of 30 markers, for instance, we could recover
from errors of 5 bits, instead of the 2 bits they can Figure 6: Occlusion mask example. (a) Hue component of
recover from. Fig. 1(a) with the detected markers (b) Occlusion mask:
white pixels represent visible regions of the board.
• Corner refinement and pose estimation: Once a
marker has been detected, it is possible to estimate
the board image pixels p into the map space
its pose respect to the camera by iteratively minimiz-
ing the reprojection error of the corners (using for in- pm = Hm p.
stance the Levenberg-Marquardt algorithm[39, 40]).
While, many approaches have been proposed for cor- Then, the corresponding cell pc is obtained by discretizing
ner detection [41, 42, 43], we have opted for doing a the result to its nearest value pc = [pm ]. Let us denote by
linear regression of the marker side pixels to calculate Ic the set of image board pixels that maps onto cell c.
their intersections. This approach was also employed If the grid size of M is relatively small compared to
in ARTag [11], ARToolKit [10] and ARToolKitPlus the size of the board in the images, Ic will contain pix-
[24]. els of the two main board colors. It is assumed then,
that the distribution of the colors in each cell can be
modeled by a mixture of two Gaussians [44], using the
5 Occlusion detection Expectation-Maximization algorithm [45] to obtain its pa-
rameters. Therefore, the pdf of the color u in a cell c can
be approximated by the expression
Detecting a single marker might fail for different reasons
such as poor lighting conditions, fast camera movement, X
P (u, c) = πk Nkc (u|µck , Σkc ), (14)
occlusions, etc. A common approach to improve the ro-
k=1,2
bustness of a marker system is the use of marker boards. A
marker board is a pattern composed by multiple markers where Nkc (u|µck , Σkc ) is the k-th Gaussian distribution and
whose corner locations are referred to a common reference πkc is the mixing coefficient, being
system. Boards present two main advantages. First, since
X
there are more than one marker, it is less likely to lose πkc = 1.
all of them at the same time. Second, the more mark- k=1,2
ers are detected, the more corner points are available for
computing the camera pose, thus, the pose obtained is less In an initial step, the map must be created from a view
influenced by noise. Figure 1(a) shows the robustness of of the board without occlusion. In subsequent frames,
a marker board against partial occlusion. color segmentation is done analyzing if the probability of
Based on the marker board idea, a method to overcome a pixel is below a certain threshold θc . However, to avoid
the occlusion problem in augmented reality applications the hard partitioning imposed by the discretization, the
(i.e., virtual objects rendered on real objects as shown in probability of each pixel is computed as the weighted av-
Fig. 1(c,d)) is proposed. Our approach consists in defining erage of the probabilities obtained by the neighbor cells in
a color map of the board that is employed to compute an the map:
occlusion mask by color segmentation. P
c∈H(pc ) w(pm , c)P (pu , c)
Although the proposed method is general enough to P̄ (p) = P , (15)
work with any combinations of colors, we have opted in c∈H(pc ) w(pm , c)
our tests to replace black and white markers by others
where pu is the color of the pixel, H(pc ) ⊂ M are the
with higher chromatic contrast so as to improve color seg-
nearest neighbor cells of pc , and
mentation. In our case, blue and green have been selected.
Additionally we have opted for using only the hue compo- w(pm , c) = (2 − |pm − c|1 )2 (16)
nent of the HSV color model, since we have observed that
it provides the highest robustness to lighting changes and is a weighting factor based on the L1 -norm between the
shadows. mapped value pm and the center of the cell c. The value
Let us define the color map M as a nc × mc grid, where 2 represents the maximum possible L1 distance between
each cell c represents the color distribution of the pixels of neighbors. As a consequence, the proposed weighting
a board region. If the board pose is properly estimated, value is very fast to compute and provides good results
it is possible to compute the homography Hm that maps in practice.
7
Considering that the dimension of the observed board Candidates detection 8.17 ms/image
Marker identification 0.17 ms/candidate
in the image is much bigger than the number of cells in Error correction 0.71 ms/candidate
the color map, neighbor pixels in the image are likely to Total time (|D| = 24) 11.08 ms/image
have similar probabilities. Thus, we can speed up com-
putation by downsampling the image pixels employed for Table 3: Average processing times for the different steps
calculating the mask and assigning the same value to its of our method.
neighbors.
Figure 6 shows the results of the detection and segmen-
tation obtained by our method using as input the hue
channel and a downsampling factor of 4. As can be seen,
the occluding hand is properly detected by color segmen-
tation.
Finally, it must considered that the lighting conditions
might change, thus making it necessary to update the map.
This process can be done with each new frame, or less
frequently to avoid increasing the computing time exces-
sively. In order to update the color map, the probability
distribution of the map cells are recalculated using only
the visible pixels of the board. The process only applies
to cells with a minimum number of visible pixels γc , i.e.,
only if |Ic | > γc .
8
Figure 8: Standard deviations of inter-marker distances Figure 9: Number of bit transitions of ARTag dictionaries
obtained by our method in Figure 7 (with and without and ours for an increasing number of markers. Higher
considering reflection). number of transitions reduces the possibility of confusion
with environment elements.
9
Figure 11: Image examples from video sequences used to test the proposed fiducial marker system. First row shows
cases of correct marker detection. Second row shows cases where false positives have not been detected.
10
ferences obtained between the three methods can be at-
tributed to implementation details.
θc = 10−4 , γc = 50, nc = mc = 5,
11
Figure 15: Examples of users’ interaction applying the occlusion mask. Note that hands and other real objects are
not occluded by the virtual character and the virtual floor texture.
Figure 16: Example of occlusion mask errors due to light saturation. (a) Original input image. (b) Markers detected.
(c) Occlusion mask. (d) Augmented scene.
12
on Mixed and Augmented Reality, ISMAR ’07, IEEE [18] J. Rekimoto, Y. Ayatsuka, Cybercode: designing
Computer Society, Washington, DC, USA, 2007, pp. augmented reality environments with visual tags, in:
1–10. Proceedings of DARE 2000 on Designing augmented
reality environments, DARE ’00, ACM, New York,
[7] K. Mikolajczyk, C. Schmid, Indexing based on scale NY, USA, 2000, pp. 1–10.
invariant interest points., in: ICCV, 2001, pp. 525–
531. [19] M. Rohs, B. Gfeller, Using camera-equipped mobile
[8] D. G. Lowe, Object recognition from local scale- phones for interacting with real-world objects, in:
invariant features, in: Proceedings of the Interna- Advances in Pervasive Computing, 2004, pp. 265–271.
tional Conference on Computer Vision-Volume 2 -
[20] M. Kaltenbrunner, R. Bencina, reactivision: a
Volume 2, ICCV ’99, IEEE Computer Society, Wash-
computer-vision framework for table-based tangible
ington, DC, USA, 1999, pp. 1150–.
interaction, in: Proceedings of the 1st international
[9] P. Bhattacharya, M. Gavrilova, A survey of landmark conference on Tangible and embedded interaction,
recognition using the bag-of-words framework, in: In- TEI ’07, ACM, New York, NY, USA, 2007, pp. 69–74.
telligent Computer Graphics, Vol. 441 of Studies in
Computational Intelligence, Springer Berlin Heidel- [21] D. Claus, A. Fitzgibbon, Reliable automatic calibra-
berg, 2013, pp. 243–263. tion of a marker-based position tracking system, in:
Workshop on the Applications of Computer Vision,
[10] H. Kato, M. Billinghurst, Marker tracking and hmd 2005, pp. 300–305.
calibration for a video-based augmented reality con-
ferencing system, in: Proceedings of the 2nd IEEE [22] M. Fiala, Comparing artag and artoolkit plus fiducial
and ACM International Workshop on Augmented Re- marker systems, in: IEEE International Workshop on
ality, IWAR ’99, IEEE Computer Society, Washing- Haptic Audio Visual Environments and their Appli-
ton, DC, USA, 1999, pp. 85–. cations, 2005, pp. 147–152.
[11] M. Fiala, Designing highly reliable fiducial markers, [23] J. Rekimoto, Matrix: A realtime object identifica-
IEEE Trans. Pattern Anal. Mach. Intell. 32 (7) (2010) tion and registration method for augmented reality,
1317–1324. in: Third Asian Pacific Computer and Human Inter-
[12] D. Schmalstieg, A. Fuhrmann, G. Hesina, action, July 15-17, 1998, Kangawa, Japan, Proceed-
Z. Szalavári, L. M. Encarnaçäo, M. Gervautz, ings, IEEE Computer Society, 1998, pp. 63–69.
W. Purgathofer, The studierstube augmented reality
project, Presence: Teleoper. Virtual Environ. 11 (1) [24] D. Wagner, D. Schmalstieg, Artoolkitplus for pose
(2002) 33–54. tracking on mobile devices, in: Computer Vision
Winter Workshop, 2007, pp. 139–146.
[13] R. Munoz-Salinas, S. Garrido-Jurado, Aruco li-
brary, http://sourceforge.net/projects/aruco/, [25] S. Lin, D. Costello, Error Control Coding: Funda-
[Online; accessed 01-December-2013] (2013). mentals and Applications, Prentice Hall, 1983.
[14] K. Dorfmller, H. Wirth, Real-time hand and head [26] D. Flohr, J. Fischer, A Lightweight ID-Based Exten-
tracking for virtual environments using infrared sion for Marker Tracking Systems, in: Eurographics
beacons, in: in Proceedings CAPTECH98. 1998, Symposium on Virtual Environments (EGVE) Short
Springer, 1998, pp. 113–127. Paper Proceedings, 2007, pp. 59–64.
[15] M. Ribo, A. Pinz, A. L. Fuhrmann, A new optical
[27] X. Zhang, S. Fronz, N. Navab, Visual marker de-
tracking system for virtual and augmented reality ap-
tection and decoding in ar systems: A comparative
plications, in: In Proceedings of the IEEE Instrumen-
study, in: Proceedings of the 1st International Sym-
tation and Measurement Technical Conference, 2001,
posium on Mixed and Augmented Reality, ISMAR
pp. 1932–1936.
’02, IEEE Computer Society, Washington, DC, USA,
[16] V. A. Knyaz, R. V. Sibiryakov, The development of 2002, pp. 97–.
new coded targets for automated point identification
and non-contact surface measurements, in: 3D Sur- [28] W. Friedrich, D. Jahn, L. Schmidt, Arvika - aug-
face Measurements, International Archives of Pho- mented reality for development, production and ser-
togrammetry and Remote Sensing, Vol. XXXII, part vice, in: DLR Projektträger des BMBF für Infor-
5, 1998, pp. 80–85. mationstechnik (Ed.), International Status Confer-
ence - Lead Projects Human-Computer Interaction
[17] L. Naimark, E. Foxlin, Circular data matrix fiducial (Saarbrücken 2001), DLR, Berlin, 2001, pp. 79–89.
system and robust image processing for a wearable
vision-inertial self-tracker, in: Proceedings of the 1st [29] S. Zollmann, G. Reitmayr, Dense depth maps from
International Symposium on Mixed and Augmented sparse models and image coherence for augmented
Reality, ISMAR ’02, IEEE Computer Society, Wash- reality, in: 18th ACM symposium on Virtual reality
ington, DC, USA, 2002, pp. 27–. software and technology, 2012, pp. 53–60.
13
[30] M. o. Berger, Resolving occlusion in augmented re- [43] S. M. Smith, J. M. Brady, Susan - a new approach to
ality: a contour based approach without 3d recon- low level image processing, International Journal of
struction, in: In Proceedings of CVPR (IEEE Confer- Computer Vision 23 (1995) 45–78.
ence on Computer Vision and Pattern Recognition),
Puerto Rico, 1997, pp. 91–96. [44] A. Sanjeev, R. Kannan, Learning mixtures of arbi-
trary gaussians, in: Proceedings of the thirty-third
[31] J. Schmidt, H. Niemann, S. Vogt, Dense disparity annual ACM symposium on Theory of computing,
maps in real-time with an application to augmented STOC ’01, ACM, New York, NY, USA, 2001, pp.
reality, in: Proceedings of the Sixth IEEE Work- 247–257.
shop on Applications of Computer Vision, WACV
[45] A. P. Dempster, N. M. Laird, D. B. Rubin, Max-
’02, IEEE Computer Society, Washington, DC, USA,
imum likelihood from incomplete data via the EM
2002, pp. 225–.
algorithm, Journal of the Royal Statistical Society.
[32] A. Fuhrmann, G. Hesina, F. Faure, M. Gervautz, Series B (Methodological) 39 (1) (1977) 1–38.
Occlusion in collaborative augmented environments,
[46] D. F. Williamson, R. A. Parker, J. S. Kendrick, The
Tech. Rep. TR-186-2-98-29, Institute of Computer
box plot: a simple visual method to interpret data.,
Graphics and Algorithms, Vienna University of Tech-
Ann Intern Med 110 (11).
nology, Favoritenstrasse 9-11/186, A-1040 Vienna,
Austria (Dec. 1998). [47] D. Q. Huynh, Metrics for 3d rotations: Comparison
and analysis, J. Math. Imaging Vis. 35 (2) (2009)
[33] V. Lepetit, M. odile Berger, A semi-automatic 155–164.
method for resolving occlusion in augmented reality,
in: In Proceedings of the IEEE Conference on Com-
puter Vision and Pattern Recognition, 2000, pp. 225–
230.
14