Tag Archives: Photogrammetry

Open3D: Crowd-Sourced Distributed Curation of City Models

Open3D is a project by the Smart Geometry Processing Group in UCL’s Computer Science department. The project aims to provide tools for the crowd-sourcing of large-scale 3D urban models. It achieves this by giving users access to a basic 3D data set and providing an editor enabling them to amend the model and add further detail.

The model that users start with is created by vertically extruding 2D building footprints derived from OpenStreetMap or Ordnance Survey map data. Access to the resulting the 3D model is granted using a viewer based on the Cesium javascript library for rendering virtual globes in a web browser. The interface allows users to select particular buildings to work on. As changes are made to the model with the Open3D editor they are parameterised behind the scenes. This means that each changes become variables in an underlying set of repeatable rules that form templates representing common objects such as different types of window or door. These templates can then be shared between users and reapplied to other similar buildings within the model. This helps facilitate collaboration between multiple users and speeds up model creation.

Crowd-sourcing 3D urban models is not new. As we saw in an earlier post on 3D Imagery in Google Earth, Google’s acquisition of SketchUp in 2006 enabled enthusiasts to model and texture 3D buildings directly from satellite imagery. These models could then be uploaded to the 3D Warehouse where they were curated by Google who choose the best models for inclusion in their platform. Despite the enthusiasm of the user community there were limits to the speed of progress and the amount of coverage that could be achieved. In 2012 Google sold SketchUp to engineeting company Trimble after adopting a more automated process relying on a combination of photogrammetry and computer vision techniques. We recently saw similar techniques being used by ETH Zurich in our last post on their project VarCity.

In this context the Open3D approach which heavily relies on human intervention may seem outdated. However, while the kinds of textured surface models that are created using automated photogrammetry look very good from a distance, closer inspection reveals all sorts of issues. The challenges involved in creating 3D models through photogrammetry include: (i) gaining sufficient coverage of the object; (ii) the need to use images taken at different times in order to achieve sufficient coverage; (iii) having images of sufficient resolution to obtain the required level of detail; (iv) the indiscriminate nature of the captured images in the sense that they include everything within the camera’s field of view, regardless of whether it is intended for inclusion in the final model or not. Without manual editing or further processing this can result in noisy surfaces with hollow, blob-like structures for mobile or poorly defined structures and objects. The unofficial Google Earth Blog has done a great job of documenting such anomalies within the Google platform over the years. These include ghostly images and hollow objects, improbably deep riversdrowned citiesproblems with overhanging trees and buildings and blobby people.

The VarCity project sought to address these issues by developing new algorithms and combining techniques to improve the quality of the surface meshes they generated using aerial photogrammetry. For example, vehicle mounted cameras were used in combination with tourist photographs to provide higher resolution data at street level. In this way the ETH Zurich team were able to improve the level of detail and reduce noise in the building facades considerably. Despite this the results of the VarCity project still have limitations. For example, with regard to their use in first person virtual reality applications it could be argued that a more precisely modeled environment might better support a sense of presence and immersion for the user. While such a data set would be more artificial by virtue of the artifice involved in its production, it would also appear less jarringly course in appearance and feel more seamlessly realistic.

In their own ways both VarCity and Open3D seek to reduce the time and effort required in the production of 3D urban models. VarCity uses a combination of methods and increasingly sophisticated algorithms to help reduce noise in the automated reconstruction of urban environments. Open3D on the other hand starts with a relatively clean data set and provides tools to enhance productivity while leveraging the human intelligence of users and their familiarity with the environment they are modelling to maintain a high level of quality. Hence, while the current output for Open3D may appear quite rudimentary compared to VarCity this would improve through the effort of the systems potential users.

Unlike the VarCity project in which crowd-sourcing was effectively achieved by proxy through the secondary exploitation of tourist photos gathered via social media, Open3D seeks to engage a community of users through direct and voluntary citizen participation. In this regard Open3D has a considerable challenge. In order to work the project needs to find an enthusiastic user group and engage them by providing highly accessible and enjoyable tools and features that lower the bar to participation. To that end the Open3D team are collaborating with UCL’s Interaction Group (UCLIC) who will be focused on usability testing and adding new features. There is definitely an appetite for online creation of 3D which is evident in the success of new platforms like Sketchfab. Whether there is still sufficient enthusiasm for the bottom-up creation of 3D urban data sets without the influence of a brand like Google remains to be seen.

For more information on Open3D check out the Smart Geometry Processing Group page or have a look at the accompanying paper here.

3D Imagery in Google Earth

Since 2006 Google Earth has included textured 3D building models for urban areas. Initially these were crowd-sourced from enthusiastic members of the user community who modeled them by hand with the aid of SketchUp, sold to Timble in 2012, or the simpler Google Building Maker, retired in 2013. As the video above shows, from 2012 onward Google have instead been using aerial imagery captured at a 45 degree angle and employing photogrammetry to automate the generation of 3D building and landscape models.In the following video from the Nat and Friends YouTube channel Google employees help explain the process.

As explained Google Earth’s digital representation of the world is created with the aid of different types of imagery. For the global view 2D satellite imagery is captured from above and wrapped around Google Earth’s virtual globe. The 3D data that appears when users zoom in to the globe is captured via aircraft.

Each aircraft has five different cameras. One faces directly downward while the others are aimed to the front, back, left and right of the plane at a 45 degree angle. By flying in a stripe-like pattern and taking consecutive photos with multiple cameras, the aircraft is able to capture each location it passes from multiple directions. However, the need to obtain cloud free images means that multiple flights have to be taken, entailing that the images captured for any single location may be taken at different times days apart. The captured imagery is colour corrected to account for different lighting conditions, and the images for some areas even have finer details like cars removed.

The process of photogrammetry as employed by Google works by combining the different images of a location and generating a 3D geometric surface mesh. Computer vision techniques are used to identify common features within the different images so that they can be aligned. A GPS receiver on the aircraft also records the position from which each photograph was taken enabling the calculation of the distance between the camera on the plan and any given feature within the photograph. This facilitates the creation of depth maps which can be stitched together using the common features identified earlier to form a combined geometric surface mesh. The process is completed by texturing the mesh with the original aerial imagery. For regularly shaped objects like buildings this can be done very accurately with the aid of edge detection algorithms that can identify the edges of buildings in the imagery and help align them with the edges of features in the mesh. For organic structures this is more challenging.

Google Earth includes imagery for may different levels of detail or zoom. According to the video the number of images required is staggering, in the order of the tens of millions. While the zoomed out global view in Google Earth is only fully updated once every few years the aerial imagery for particular urban areas may be updated in less than a year. Gathered over time this imagery can enable users to observe changes and this can be leveraged for analysis with the aid of Google’s Earth Engine.