03.12.2012 Views

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

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!