IX-B3, 2012
lependent from the
culated, we could
rder to obtain high
s. In our study, we
s by applying a lo-
an be also used for
TM data. In local
/indow is used over
ited for each region
| is chosen by con-
DSMs of the study
s not differ signifi-
with slight changes
use the same win-
metric resolutions.
[ (D(z,y)), we ob-
objects are labeled
) to obtain its con-
ere each connected
the size of a con-
scard it since these
isters. Considering
ume the R value as
than this pixel size
1d be fixed by con-
tudy regions before
g. 1(a) and (b), we
d B p(z, y) thresh-
> to the low resolu-
thresholding result
.. However, it gives
lilding.
(d)
/orldview2 satellite
esholding (sub-part
he same sub-part of
ximate segments to
ur 3D active shape
SHAPES
(Sirmacek and Un-
ir binary active shape
they used color in-
| rooftop segments.
e assumed as seed-
eed-point locations
shape based on an
k et al, 2010) and
binary active shape
g shapes from a bi-
nt mask. First, We
; complex or not. If
ments, we assumed
ision by computing
t (Horn, 1986). If a
International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XXXIX-B3, 2012
XXII ISPRS Congress, 25 August — 01 September 2012, Melbourne, Australia
puilding segment is in a complex shape, we divided the building
segment into elongated pieces using its skeleton. To do so, we de-
tected junctions and endpoints of the building segment skeleton.
We divided the skeleton into pieces by removing these junction
pixels from the skeleton. For each obtained skeleton piece, we
divided it again into pixel length pieces if it is longer than / pix-
els. We assume center pixels of obtained skeleton pieces as our
seed-point locations to run the box-fitting algorithm. Herein, sim-
ilarly to our previous applications, we assume | value as equal to
20 pixels. In our previous study (Sirmacek et al., 2012), we pro-
vided effects of choosing / value to the shape detection result in
detail.
For detecting complex building shapes, herein we follow a similar
methodology. However instead of using the binary active shape
growing approach in each seed-point location, we propose a novel
active shape growing approach based on the usage of 3D informa-
tion. To do so, after extracting (zs, ys) seed point locations as we
describe in (Sirmacek et al., 2012) in detail, we start to grow our
active rectangular shapes in each seed point location by regarding
the height information. We assume that (27, y; ) array holds the
pixel coordinates for nth edge of the virtual rectangular shape. It-
eratively, we sweep each edge to the outwards growing direction
if the edge pixels satisfy (max (D(zy, yy )) —min(zy, yy) « 9)
inequality (n € [1,2,3, 4]. Here, ó threshold is the minimum
building height that we would like to detect in the region. In
our application we assume à as equal to 3, which means that
we assume the buildings to be higher than 3 meters to be de-
tected. When the growing process stops for each edge, we cal-
culate the final energy value by using the equation that we rep-
resent in Eqn. 1. In the equation, m(.) represents the mean
value. For the same seed-point, we apply growing process for
all 0 € [0, r/6, 7/3, 7/2, 27/3, …, 277] angles with Oasis = 7/6
radian turning steps. As we discussed in detail in (Sirmacek et al.,
2012), by reducing 04;; step sizes, we can obtain more accurate
approximations, however in this case we need more computation
time. After calculating E for all 0 angles, herein we pick the
estimated box which exhibits the highest Fe energy as detected
building shape. Since most buildings appear like compositions
of rectangular building segments, it makes sense to extract rect-
angular shapes on buildings. The main advantage of using the
box-fitting approach is that approximate building shapes still can
be found even if the building edges are not well-determined, or
even if there are trees adjacent to the building facades. However,
other region growing algorithms fail to extract an object shape in
these cases, since the growing region can flow out easily when
the parameters are not set precisely.
Eo =4 x m(Bp(z,y) x Di(z,y)) — Y wld) (1)
For complex buildings, after fitting a chain of boxes, discontinu-
ity between adjacent boxes should be smoothed. For this purpose,
we simply benefit from morphological operations. First, we start
with filling inside of the detected binary boxes with 1 value in
Bg(z,y) binary mask. Then, we apply morphological dilation
and erosion operations respectively to the detected boxes, using a
disk shaped structuring element with radius 1. After this opera-
tion small discontinuity between adjacent boxes can be smoothed.
Final improved building shapes are kept in a new B (a, y) binary
mask.
The detected shape for our sample building can be seen in Fig.
1.(d). : Obtained building shape is used to insert sharp building
walls into our 3D model.
3.1 Rooftop-type Classification
After detecting building groundfloor shapes, we focus on recon-
struction of rooftops. For this purpose, we benefit from our pre-
vious approach that we represent in (Sirmacek et al., 2012). We
first start with ridge-line and tower detection. Using obtained
ridge-lines we classify rooftops as flat or gable type. Obtained
information is used to insert realistic models into our 3D city rep-
resentations.
The ridge-line detection approach is based on derivative calcula-
tion over the DSM. We use the following derivative filter. For a
symmetric Gaussian function G(z, y) — exp(— (x? -- y?)), itis
possible to define basis filters Gpo and Gp z as follows,
0
Gpo = a, C v) - -2xzezp(- (à y?) 2)
Gog = 2G,9) = ~2ewp(~@ +97) — 0)
De dy
We can find a derivative in an arbitrary 0 direction using follow-
ing filter function,
Gpo = cos(0)Gpo + sin(0)Gpz 4)
We convolve our DSM with this derivative filter in 0 € [0, 7/12,
..., 237/12] directions as follows,
Je = Dix, yy)» Gap (5)
If 0 angle is perpendicular to the building ridge-line orientation,
then one side of the building rooftop gives positive response, and
the other side of the building rooftop gives negative response to
the filter. Assuming B?(z, y) is the jth connected component
in B(z, y) binary building segment matrix, we assume that two
sides of the building rooftop (RP? and RN, 2) can be extracted as
follows,
RP} = B’(x,y) x (Je > 0) (6)
RNj — B'(z,y) x (Je « 0) (7)
Since we have no pre-information about building orientations,
we should do the derivative filtering in all possible orientations.
Therefore, we calculate >), RL} for 0 € (0,7/12, ..., 231/12]
directions. Building ridge-lines will be extracted in 6; filtering
angle which is almost perpendicular to the ridge-line orientation.
However the ridge-line will be also detected in 0; — 7/12 and
0; 4- 1/12 neighbor filtering directions. Therefore, the ridge-line
will have a value of higher than 2 in the $7, RLj result. As a
result, the ridge-line of jth building rooftop can be obtained by
calculating R/ (z, y) — $^, RL} » 2 and eliminating connected
components which are less than 10 pixels in order to eliminate
redundant information coming from small objects on rooftop.
Towers around buildings are very important attributes to be con-
sidered in 3D model generation. Therefore, beside ridge-line de-
tection and rooftop classification, tower detection from the input
DSM is needed. To this end, in our study we detect maximum