site search  
 
 

3D NAVIGATION SYSTEM

 
 
 








[+QUICK INFO+]
TEAM :   Human Machine Interaction (HMI) group.
Robert Bosch Corporation - RTC
POSITION :   Software Engineer Intern - Research
NOTE:   I can't really go into details about my research at Robert Bosch Corporation - RTC due to security reasons with sensitive materials, but here is an overview of the whole system, as described in the conference paper by Bosch.
Title: "Vehicle Navigation using 3D Visualization."
   
If you thought my project was helpful to you,

[+OVERVIEW+]

Humans grow up in a three dimensional world and this we have a life-long experience interpreting and seeing the perspective projections of the 3D world. The traditional display mode for the task of navigation and trip planning nowadays are generally in two dimensional. In the research work I worked in at Robert Bosch Corporation over the summer, they advocate the use of 3D techniques for realistic representations of geographic data (maps, roads, landscape, etc). Usually, most information on a 2D map are displayed at a single scale and therefore needs constant 'zooming-in' and 'zooming-out' of the map to be able to get an overall view of the whole area. In the process of creating a system capable of managing geoinformation in an efficient manner to offer 3D visualization for nagivation system, two major parts are required. The offline and the online parts of the nagivation system.

[+OFFLINE DATA PREPARATION+]
Before geo resources can be accessed at real-time on the online system core, they need to be prepared in an offline process. Huge data set of geo information need to be partitioned and indexed in an efficient data structure so that the online system can be possible. The units that are going to be used to break the system down into are going to be called tiles and the hierachical structure to be used is going to be a tiling scheme. In the field of image processing, many different techniques have been explored over the years to partition and organize such huge data set. The most common ones are Quadtree, BSP tree and Octree. In this system, a Quadtree is going to be used to store the tiles, which are set at fixed tile sizes. In the offline process, the handling of aerial photographs is the most important one and therefore needs to be done efficiently. Generally, we're talking in the range of TeraBytes for example for the region of California at 1 m resolution. However, most application will typically have as little as 500 MB available for resource management.

The image data (satellite or aerial images) are required for multiple resolutions for different parts of the world. The most universal input format, that providers all over the world offer, is image data rectified to the WGS84 (World Geodetic System 1984) ellipsoid, the geodetic reference also used in GPS systems. The corresponding projection is UTM (Universal Transverse Mercator). For exchange formats, compression standards like JPEG has been used. From the image data collected, a multiresolution pyramid that corresponds to a certain range of resolutions will be created. The tiles created are all 256 x 256 pixels and are organized into 4 quadrants, with each child splitting the parent node in 4 ways. The area of a node can be specified in latitude and longitude, and for instance the root node is at, N = 180 degrees, S = -180 degrees, E = 180 degrees and W = -180 degrees. The tiling scheme fixes the possible resolutions of the pyramid.

Different fixed levels of resolution at zero degree latitude, the corresponding approximate pixel width, and the region size for tiles of 256 x 256 pixels.

Level # Tile Width Pixel Width [m/pixel] Region
0 360 156250 Earth
1 180 78125  
2 90 39062 Continent
3 45 19531 USA
: : :  
8 1.41 610 Bay Area
9 0.70 305  
10 0.35 153 Silicon Valley
: : :  
15 0.0110 4.77  
16 0.005 2.38  
17 0.003 1.19 Block

Each pyramid is a completely encapsulated structure on its own. For generating a pyramid, each usually very large input image for a specific resolution level n is decomposed into lists of samples containing the sample's colors Red, Green, and Blue. The advantage of this composition into sample lists is that several input images can be combined into a single pyramid without taking care of the projection. the image boundaries, the color space, or the actual source resolution. For the generation of the tiles, from the existing tiles at resolution level n, the lower resolution levels are constructed by downfiltering the now regular grids. The tile at the next lower level is constructed by the tiles at the four child nodes. Again, to avoid boundary effects the surrounding 12 tiles can also be taken into account. After filling the pyramid bottom-up, the next step is to compress the tiles. The currently employed coding scheme is JPEG due to its simplicity in terms of computational complexity.
[+SOFTWARE STRUCTURE+]
The second part of the navigation system is the online system. The latter is entirely written in Java and perform real-time with 3D rendering and fast image retrieval. The core of the visualization software is the Scenegraph Manager which manages a scenegraph. A scenegraph is a data structure which holds all data currently visible on the screen. The Scenegraph Manager periodically purges old data and requests new data (as the viewpoint changes) for the scenegraph from the Resource Manager, which provides access to one or more geo-databases. The system block diagram of the 3D navigation system is as follows:
The viewport manager maintains a viewpoint, which specifies the location from which the scene is viewed, as well as the direction in which it is viewed. The viewpoint may move in one of the pre defined viewpoint motions, for example, by following a car, or in response to a user input. Finally, rendered scenes may be retrieved from the rendering engine and displayed on the navigation device.
[+MY CONTRIBUTION+]
Summer 2004
As a summer software engineering intern in the Human Machine Interaction (HMI) group, I researched means of optimizing the compression ratio of the multiresolution pyramids. The visual quality of the generated tiles is evaluated versus the rate of distortion in the compressed images. From there different results have been analyzed. This allowed for a better selection of a low-pass filter for downsampling purposes, and also offered new capabilities at compressing the overall data at a more efficient rate. Different ways of arranging the data set were explored again in the hope of optimizing compression.

   
Summer 2005
Worked on implementing a distributed system of computers to generate multiresolution pyramids in parallel. The resulting software improved time consumption in the generation of those TeraBytes pyramids in a considerable amount. In short, there was a main server side which analyzed the job to be processed, and partitioned it into sub-jobs and scheduled their processes on a network of computers. This improvement and efficiency of the distributed system were proportional to the number of computers available for processing on the network. At the same time, I was working on developing new tools for the current existing library that was created for this project. At the end of the summer, the project was a success with a reduction in processing time from 3 weeks to 2 days. Project was shipped to Germany for further testing.


:: Site Map :: Contact :: Projects
©2007 Kenny Teng. All rights reserved