ual plane equations using 3D tensor voting. Note that
we perform local plane fitting as in (Bhavsar and Ra-
jagopalan, 2010) but we do not use the intensity im-
age for synthesizing missing values. This eliminates
computations required for registering intensity image
and range map. We pass depth estimates, obtained
from different plane equations, inside the missing re-
gion. A final pass of 3D TV is performed to decide
the best depth estimate. As lower depth regions oc-
clude higher depth regions, we perform region filling
starting with the lowest depth region and moving on
to higher depth regions.
The paper is organized as follows. Section 2
describes our TV-based edge detection and Least
Squares (LS) based edge interlinking process to en-
able robust segmentation. In section 3 we discuss re-
gion filling by local plane fitting using 3D TV. Exper-
imental results are provided in Section 4 for purpose
of validation.
2 TV FOR EDGE LINKING
Range maps usually have regions with varying depths.
Some depth maps (such as piecewise planar scenes)
exhibit sharp variations in depth from one plane to an-
other while some display smooth variations. Without
the missing region, we have continuous boundaries
between these regions while a defect renders these
boundaries discontinuous. It is important to recon-
nect these boundaries as they define the extent of each
region in the range map.
Edge detection based on Canny, Sobel or Prewitt
is sensitive to noise and tends to produce weak and
spurious edges when applied to real depth maps. For
robust edge detection, we resort to 2D tensor voting.
The key idea is that true edge pixels form coherent
edges in the range image. We first apply basic Sobel
operator on the image. We set edge strength thresh-
old to a high value so that only strong edge pixels get
selected. These pixels are more likely to be true edge
pixels. We refer to them as Reference edge pixels as
they serve as reference for selecting weaker edge pix-
els subsequently. Next, we reduce the edge strength
threshold by a small value so as to allow selection
of weak edge pixels (some of them might even be
noise). We refer to them as Candidate edge pixels.
We use 2D tensor voting for selecting true edge pix-
els from Candidate edge pixels. Here, Reference and
Candidate edge pixel locations act as tokens for ten-
sor voting. We find the coherency of Candidate edge
pixels with respect to Reference edge pixels. Here,
Curve saliency (obtained from the tensor voting) acts
as a measure of coherency. For 2D tensor voting, a
tensor T can be decomposed as
T = (λ
1
− λ
2
)e
1
e
T
1
+ λ
2
(e
1
e
T
1
+ e
2
e
T
2
) (1)
Here λ
1
and λ
2
are eigenvalues of T correspond-
ing to eigenvectors e
1
and e
2
, respectively. The
Curve saliency is given by
Curve saliency = λ
1
− λ
2
(2)
Thus, among all Candidate edge pixels, only those
with high Curve saliency value are retained. The
threshold for saliency is chosen empirically. The re-
tained Candidate edge pixels now become a part of
Reference edge pixels to be used for the next stage.
We iteratively reduce the edge strength threshold in
small steps and select edge pixels using the above pro-
cedure. As only those edge pixels that form coherent
connections are retained, our edge detection process
is robust to noise.
We demonstrate the performance of our edge de-
tection method on a real range map. Fig.1(a) is a sam-
ple real depth map. Fig.1(b) shows reference edge
pixels for one of the stages and Fig.1(c) shows can-
didate edge pixels obtained with smaller threshold.
It can be seen from Fig.1(d) that our approach se-
lects only those candidate pixels which form coherent
connections with reference edge pixels. The selected
edge pixels (after the first iteration) are shown in red
in Fig.1(d) along with reference edge pixels.
For interconnections, we only consider edges that
are close to the missing region. The approach de-
scribed in (Jia and Tang, 2003) uses 2D tensor vot-
ing for connecting edges. It assumes that there are no
possible edge intersections within a missing region.
In contrast, we use a least squares (LS) approach for
modeling and connecting edges. The TV based ap-
proach, due to its limited voting range, imposes con-
straints on the size of the missing region. Also, it can-
not handle possible edge intersections within a miss-
ing region. We attempt to connect two broken (dis-
continuous) edge components by a smooth curve. To
enforce smoothness, we fit a second order polynomial
to the edge data. A general equation of a second order
polynomial is given by
Y = aX
2
+ bX +c (3)
where (a,b,c) are the parameters of the polynomial
fit. Here, X and Y are the spatial coordinates of a
data point. We consider combinations of two separate
(broken) edge components at a time. We define
Edge(i) = [x
i
,y
i
] i = 1 : N (4)
where [x
i
, y
i
] is the co-ordinate of the i
th
edge pixel
and N is the total number of edge pixels from the two
edge components. We use LS to fit a second order
DEPTH INPAINTING WITH TENSOR VOTING USING LOCAL GEOMETRY
23