Semi-automatic generation of full CityGML models from images
Semi-automatic generation of full CityGML models from images
Semi-automatic generation of full CityGML models from images
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Semi</strong>-<strong>automatic</strong> <strong>generation</strong> <strong>of</strong> <strong>full</strong> <strong>CityGML</strong> <strong>models</strong> <strong>from</strong> <strong>images</strong><br />
Kerstin Falkowski, Jürgen Ebert<br />
Work Group S<strong>of</strong>tware Technology<br />
University Koblenz-Landau<br />
Universitätstr. 1, 56070 Koblenz, Germany<br />
{falkowski|ebert}@uni-koblenz.de<br />
Abstract<br />
This paper reports on an experiment to generate 3d <strong>models</strong><br />
<strong>from</strong> a pair <strong>of</strong> <strong>images</strong> captured by a single calibrated<br />
color camera and to augment and transform them semi<strong>automatic</strong>ally<br />
into an annotated internal graph model. After<br />
some exemplary algorithmic manipulations on the graph<br />
the result is exported using the <strong>CityGML</strong> format. This case<br />
study shows that in principle <strong>full</strong> <strong>CityGML</strong> <strong>models</strong> might be<br />
generated <strong>automatic</strong>ally with all their facets.<br />
1. Introduction<br />
<strong>CityGML</strong> [1] is a common information model for the<br />
representation <strong>of</strong> 3d urban objects and an <strong>of</strong>ficial standard<br />
<strong>of</strong> the Open Geospatial Consortium (OGC) since August<br />
2008 [3]. Besides representing geometry only, <strong>CityGML</strong><br />
can also be used to model topological and semantical properties<br />
<strong>of</strong> 3d city <strong>models</strong> and to attach appearance information<br />
like textures. We call these <strong>models</strong> <strong>full</strong> <strong>CityGML</strong> <strong>models</strong>.<br />
The additional information <strong>of</strong> <strong>full</strong> <strong>CityGML</strong> <strong>models</strong> allows<br />
for powerful queries in the context <strong>of</strong> augmented reality<br />
and pose tracking applications. Thus, <strong>CityGML</strong> is also<br />
suited to function as an interchange format in semanticsbased<br />
processing <strong>of</strong> 3d objects in computer vision applications.<br />
In this paper we report on an experiment to generate 3d<br />
<strong>models</strong> <strong>from</strong> stereo <strong>images</strong> and to augment and transform<br />
them semi-<strong>automatic</strong>ally into an annotated internal graph<br />
model. After some exemplary algorithmic manipulations on<br />
the graph the result is exported using the <strong>CityGML</strong> format.<br />
This case study shows that in principle <strong>full</strong> <strong>CityGML</strong> <strong>models</strong><br />
might be generated <strong>automatic</strong>ally with all their facets.<br />
Generating a model <strong>from</strong> stereo <strong>images</strong> instead <strong>of</strong> modeling<br />
it <strong>from</strong> scratch by some graphical modeling tool has<br />
plenty <strong>of</strong> advantages. Taking photos is much easier than<br />
reconstructing a model <strong>from</strong> accurate blueprints, and <strong>of</strong>ten<br />
photos are even the only source for modeling. Furthermore,<br />
the textures come along for free.<br />
Peter Decker, Stefan Wirtz, Dietrich Paulus<br />
Work Group Active Vision<br />
University Koblenz-Landau<br />
Universitätsstr. 1, 56070 Koblenz, Germany<br />
{decker|wirtz|paulus}@uni-koblenz.de<br />
2. <strong>CityGML</strong> model <strong>generation</strong><br />
In the following the <strong>generation</strong> process is exemplified<br />
in the context <strong>of</strong> building recognition in GIS applications.<br />
Several pictures <strong>of</strong> a building are taken and the task is to<br />
derive a <strong>full</strong> <strong>CityGML</strong> model there<strong>of</strong>.<br />
The <strong>generation</strong> process described here consists <strong>of</strong> four<br />
different phases. At first, a 3d model is extracted <strong>from</strong><br />
stereo <strong>images</strong>, then an internal integrated graph model is<br />
derived <strong>from</strong> the input. This model is manipulated and refined<br />
to generate a <strong>full</strong> model. Finally, the resulting model<br />
is exported as a <strong>CityGML</strong> model and rendered by some appropriate<br />
viewer.<br />
2.1. Extracting geometry <strong>from</strong> <strong>images</strong><br />
To be able to reconstruct a 3d geometry <strong>from</strong> two <strong>images</strong>,<br />
one has to find corresponding features in each <strong>of</strong> them.<br />
Since it is our goal to reconstruct a building, those features<br />
should be relevant to the geometry <strong>of</strong> that object. If the correct<br />
features are chosen, very few will suffice to reconstruct<br />
a large part <strong>of</strong> the geometry. Since <strong>automatic</strong> detection <strong>of</strong><br />
suitable features like corners at the top and bottom <strong>of</strong> buildings<br />
or at corners <strong>of</strong> windows is rather difficult, we chose<br />
to do it semi-<strong>automatic</strong>ally in this case study. Hugin [4] 1<br />
turned out to be an excellent tool for marking corresponding<br />
point features in a pair <strong>of</strong> <strong>images</strong> with <strong>automatic</strong>ally<br />
improved subpixel accuracy (figure 1).<br />
The resulting hugin files are parsed and the pixel coordinates<br />
<strong>of</strong> corresponding points are used to estimate a fundamental<br />
matrix. Radial distortion is corrected using previously<br />
acquired calibration data. Since the features were<br />
selected manually, we do not need to worry about outliers.<br />
Using the calibration matrix <strong>from</strong> our camera, we can extract<br />
the essential matrix which is then decomposed into a<br />
rotation and a translation up to a scalar factor. Having obtained<br />
both projection matrices <strong>of</strong> the cameras this way, we<br />
1 Hugin is a photo stitcher invented to connect single photos into one<br />
large panorama.
can reconstruct the 3d coordinates <strong>of</strong> all points by doing a<br />
triangulation with minimal squared back projection error.<br />
This process results in 3d point sets where geometric<br />
primitives like linear rings are assembled and annotated<br />
manually with rough semantical descriptions like ”wall”,<br />
”ro<strong>of</strong>”, ”ground”, ”window”, . . . Each <strong>of</strong> the rings describes<br />
a part <strong>of</strong> the building’s geometry and a has list <strong>of</strong> 2d positions,<br />
representing the building’s wall appearance in terms<br />
<strong>of</strong> texture coordinates concerning one <strong>of</strong> the input <strong>images</strong>.<br />
2.2. Building an integrated model<br />
After extraction, all information is composed to a integrated<br />
model which is kept as a TGraph data structure.<br />
This model contains geometric, topological, semantical and<br />
appearence information. TGraphs [2] are directed graphs<br />
whose vertices and edges are typed, ordered and attributed.<br />
Thus, they are a versatile representation for semantically<br />
annotated, attributed geometric <strong>models</strong>. The combination<br />
<strong>of</strong> a graph API (JGraLab) with a graph query language<br />
(GReQL) and a modeling approach for graphs and graph<br />
schemas (grUML) provides a base for definition, creation<br />
and processing <strong>of</strong> <strong>models</strong>. Built on this, we derived a<br />
TGraph schema for <strong>CityGML</strong> and implemented an importer<br />
and an exporter for GML/<strong>CityGML</strong> <strong>models</strong> in JGralab.<br />
The TGraph <strong>CityGML</strong> schema extends the tree-like<br />
XML schema for <strong>CityGML</strong> because its modeling power is<br />
much higher. This explicit representation <strong>of</strong> geometry and<br />
boundary representation allows for an <strong>automatic</strong> model refinement<br />
(section 2.3).<br />
After composition, our examplary integrated model is a<br />
city model containing one building. This building has an<br />
explicit level <strong>of</strong> detail 1 (lod 1) geometry consisting <strong>of</strong> a set<br />
<strong>of</strong> polygons with the given linear rings as exteriors, representing<br />
the building’s parts. It has also got an explicit appearance<br />
in terms <strong>of</strong> a surface data object relating one <strong>of</strong><br />
the input <strong>images</strong> to texture coordinates for every building<br />
part. Furthermore, it is annotated by an implicit semantics<br />
in terms <strong>of</strong> the given semantic key words.<br />
2.3. Refining the integrated model<br />
After its <strong>generation</strong> the TGraph model can be refined <strong>automatic</strong>ally.<br />
There are several schema dependent refinement<br />
activities concerning all kinds <strong>of</strong> model elements. Based<br />
on the (TGraph) <strong>CityGML</strong> schema integration <strong>of</strong> semantics<br />
and geometry, there are also special activities accentuating<br />
semantical and/or geometric aspects. The model can be manipulated<br />
using the following refinement techniques.<br />
Basic refinement activities are verifying the existence <strong>of</strong><br />
mandatory attributes and element parts and their <strong>automatic</strong><br />
addition as well as checking existent attribute values and<br />
element parts and their <strong>automatic</strong> correction.<br />
Semantical refinement activities are inference and supplementation<br />
<strong>of</strong> further semantical elements (e.g. building<br />
walls) or further attributes <strong>of</strong> existent semantical elements.<br />
Therefore general and/or application dependent semantical<br />
background information (e.g. the above mentioned simple<br />
semantical keywords) are required.<br />
Geometric refinement activities are computation and<br />
supplement <strong>of</strong> further geometric elements (e.g. bounding<br />
boxes) or further attributes <strong>of</strong> existent geometric elements<br />
(e.g. the area <strong>of</strong> a surface). Therefore general geometric<br />
background information can be supplied. Another refinement<br />
activity for geometric elements is the analysis <strong>of</strong> the<br />
element’s position in world coordinates and the <strong>automatic</strong><br />
correction <strong>of</strong> the position or the supplement <strong>of</strong> position dependent<br />
attributes (e.g. attribute value ”isHorizontal” for a<br />
surface).<br />
2.4. Exporting the <strong>CityGML</strong> model<br />
After model refinement the integrated model contains<br />
one building and a bounding box for the whole model. The<br />
building has a lod 1 geometry and an appearance (section<br />
2.2). Furthermore the building contains an explicit semantics<br />
in terms <strong>of</strong> lod 2-4 geometry elements. The lod 2<br />
geometry consists <strong>of</strong> building walls and a building ro<strong>of</strong>,<br />
represented by those polygons <strong>of</strong> the lod 1 geometry that<br />
were annotated with the simple semantic keywords ”wall”<br />
or ”ro<strong>of</strong>”. The lod 3-4 geometries consist <strong>of</strong> windows, represented<br />
by those polygons <strong>of</strong> the lod 1 geometry that were<br />
annotated with the semantic keyword ”window”. Moreover<br />
it has new inferred building walls with a lod 1-4 geometry<br />
and an appearance. At last, there are a lot <strong>of</strong> explicit building<br />
attributes, like height and width <strong>of</strong> a building wall, the<br />
surface area <strong>of</strong> a building wall, and so forth.<br />
As a pro<strong>of</strong> <strong>of</strong> concept the semi-<strong>automatic</strong>ally generated<br />
TGraph <strong>CityGML</strong> feature model <strong>of</strong> a building <strong>from</strong> two <strong>images</strong><br />
was exported to <strong>CityGML</strong> and visualized using the<br />
IFC-Explorer [5] (figure 2 and 3).<br />
3. Conclusion and future work<br />
We sketched a procedure which leads <strong>from</strong> two stereo<br />
<strong>images</strong> via a 3d model and its annotation to an integrated<br />
model <strong>of</strong> an urban object. This model contains geometric,<br />
topological, semantical and appearance information, which<br />
can be further analyzed, refined and exported via <strong>CityGML</strong><br />
to other tools.<br />
Further work will concentrate on a <strong>full</strong>y <strong>automatic</strong><br />
derivation <strong>of</strong> the 3d model, a more comfortable annotation<br />
<strong>of</strong> semantics and more services supplied for the integrated<br />
model.
Figure 1. Computer-assisted correspondence<br />
<strong>generation</strong> using hugin<br />
Figure 2. <strong>Semi</strong>-<strong>automatic</strong> generated <strong>CityGML</strong><br />
model<br />
Figure 3. <strong>Semi</strong>-<strong>automatic</strong> generated <strong>CityGML</strong><br />
model (textured)<br />
References<br />
[1] <strong>CityGML</strong>. Offical web site: http://www.citygml.org, 12 2008.<br />
[2] J. Ebert, V. Riediger, and A. Winter. Graph Technology in<br />
Reverse Engineering, The TGraph Approach. In R. Gimnich,<br />
U. Kaiser, J. Quante, and A. Winter, editors, 10th Workshop<br />
S<strong>of</strong>tware Reengineering (WSR 2008), volume 126 <strong>of</strong> GI Lecture<br />
Notes in Informatics, pages 67–81, Bonn, 2008. GI.<br />
[3] Forschungszentrum Karlsruhe. Official web site <strong>of</strong><br />
IFCExplorer for <strong>CityGML</strong>: http://www.iai.fzk.de/wwwextern/index.php?id=1570&L=0,<br />
12 2008.<br />
[4] G. Groeger, T. H. Kolbe, A. Czerwinski, and C. Nagel.<br />
OpenGIS City Geography Markup Language (<strong>CityGML</strong>) Encoding<br />
Standard. Technical Report 1.0.0, Open Geospatial<br />
Consortium Inc., 08 2008.<br />
[5] Hugin. Official website: http://hugin.sourceforge.net, 12<br />
2008.