Arrangement and method for providing a three dimensional map representation of an area
TECHNICAL FIELD
The present invention relates to an arrangement and method for proving a three dimensional map representation of an area. In particular, it concerns generation of images and stereo-processing of said images so as to provide said three-dimensional map representation.
BACKGROUND
A fast growing market both in civilian and military business is geographical information systems. Knowledge about geographical conditions forms a fundamental decision support to companies, authorities and in the military. The geographical information comprises digital maps having superposed information layers such as infrastructure, terrain type and different types of objects. It is a time consuming process to form two dimensional maps comprising capturing images of the terrain from an aircraft and post-processing of the captured images. It is an even more time consuming process to form three dimensional maps from captured images or range data sets of the terrain/infrastructure. There are available today different methods such as photogrammetric methods with manual stereo-processing and laser scanning. These methods require time-consuming post-processing. Therefore, the formation of three- dimensional maps becomes expensive. As a consequence thereof, updates of the maps are made with a low updating frequency.
EP 1 657 927 discloses image-based movement tracking of a number of objects in a particular area based on stereo-processing. In this application, cameras are mounted in fixed and known positions. Therefore, matching between images captured by the different cameras is less time consuming than in the case of moving cameras.
One object of the present invention is to provide an improved way of providing three dimensional map representations.
SUMMARY This has in one embodiment of the present invention been achieved by means of an arrangement for providing a three dimensional map representation of an area. The arrangement comprises an image generating unit and a processing unit. The image generating unit is arranged to generate time recorded images and to provide a plurality of at least partly overlapping images each covering at least a part of said area. The processing unit is arranged to stereo process an arbitrary number of at least partly overlapping image sets generated by said image generating unit so as to provide said three dimensional map representation. The arrangement is characterized in that a navigation unit is arranged to output time recorded navigation states related to the image generating unit, and in that the processing unit is arranged to, for each time recorded image to be processed by the stereo processor, associate the navigation states relating to a corresponding time record. The time recorded navigation states comprises in one embodiment position and attitude. The navigation unit comprises in one example an inertial navigation system and means for providing position data in a predetermined coordinate system, such as a GPS receiver or a map.
The use of the navigation states provided by the navigation unit enables position determination of the time recorded images with high accuracy. It even enables position determination for a number of points (pixels) or each point (pixel) in the time recorded images. The positions are determined in a predetermined coordinate system. Due to the fact that the positions of the images are determined with high accuracy, the stereo-processing can be performed without any ground based infrastructure. Therefore, the processing is less costly and time consuming. It can even be performed in real time or near real time. Moreover, each point or pixel in the three- dimensional map representations provided is inherently related to a position in the predetermined coordinate system.
In one embodiment, the image generating unit is mountable on a movable carrier, such as a land vehicle, satellite, aircraft, watercraft, for example a lorry, airplane, ship or submarine. In one embodiment the image generating unit can be hand held or mounted on a person.
The present invention also relates to a method for providing a three dimensional map representation of an area comprising the steps of:
- generating time recorded images,
- providing a plurality of at least partly overlapping images each covering at least a part of said area,
- forming an arbitrary number of at least partly overlapping image sets from said provided at least partly overlapping images, and
- processing said image sets so as to provide said three dimensional map representation. The method is characterized by outputting time recorded navigation states comprising position and attitude, and to, for each time recorded image to be processed by a stereo processor, associate the navigation states relating to a corresponding time record.
The present invention further relates to a computer programme comprising a pro- gramme code for performing the method steps when said computer programme is run on a computer.
BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 illustrates an arrangement for providing a three dimensional map representation of an area mounted on an aircraft.
Fig. 2 is a block scheme showing an example of the arrangement of Fig. 1. Fig. 3 illustrates schematically the function of an image generation unit in the arrangement in Fig. 2. Fig. 4 is a block scheme showing an example of a navigation unit in the arrangement of Fig. 2.
Fig. 5 is a flow chart showing an example of a process performed by a processing unit in the arrangement of Fig. 2.
Fig. 6 illustrates schematically the geometry used in stereo processing
Fig 7 illustrates schematically an application of the arrangement in Fig 1 in a vol- ume measuring application.
Fig 8 illustrates schematically an application of the arrangement in Fig 1 in a forest application.
Fig 9 illustrates schematically an application of the arrangement in Fig 1 in an industrial robot application. Fig. 10 illustrates schematically an application of the arrangement in Fig 1 in a traffic application
Fig 11 is a flow chart showing an example of a method for providing a three dimensional map representation of an area.
DETAILED DESCRIPTION
In Fig. 1, an arrangement 101 for providing a three dimensional map representation of an area 103 is mounted on a movable carrier 102 in the form of an aircraft. The movable carrier is in an alternative example (not shown) a satellite, a land vehicle, or a watercraft, for example a lorry, ship or submarine. The arrangement 101 can also be hand held or mounted on a person.
In Fig. 2, an arrangement 201 for providing a three dimensional map representation of an area comprises an image generation unit 204, a navigation unit 205 and a processing unit 206. In the shown example, the arrangement 201 also comprises a memory 207 for storing data related to the three dimensional map representation calculated by the processing unit 206, and a display unit 208 arranged to display the map representation calculated by the processing unit 206. In an alternative example, the arrangement comprises either the memory 207 or the display unit 208. In yet another alternative example, the arrangement comprises a transmitter (not shown) ar- ranged to transmit the data related to the provided three dimensional map representation to a receiver in a remote location. In one example, the transmitter substitutes
the memory 207 and/or the display unit 208. In an alternative example, the transmitter is provided in addition to the memory and/or the display unit.
The image generating unit 204 is arranged to generate time recorded images. The time records are given with an accuracy sufficient for the application. The time records are for example provided from a GPS-receiver 412 in the arrangement 201.
In Fig. 3, the image generation unit comprises in one example one image capturing unit. At a first time, the image capturing unit is placed at a first position 310a so as to capture an image of an area 309a. At a second time, the image capturing unit is placed at a second position 310b so as to capture an image of an area 309b. The image generating unit is arranged to provide a plurality of at least partly overlapping images each covering at least a part of the area 103. Accordingly, the required updating frequency of the images captured by the image generation unit so as to pro- vide overlapping images depends on the travelling speed of the carrier 102, a distance to a plane in which the area is formed and the size of a geographical area covered by each image. In the example, wherein the carrier 102 is an aircraft, the distance to a plane in which the area lies is approximately the distance to the ground. If the image generation unit comprises a plurality of image capturing units, the image capturing units can be arranged to cooperate so as to enable decreasing the updating frequency. Fig 3 can also be seen as it comprises a plurality of image capturing units 310a, 310b fixed mounted in relation to each other. The images of the areas 309a, 309b captured by the respective image capturing units 310a, 310b are then in one example captured at the same time.
In Fig. 4, a navigation unit 405 is arranged to output time recorded navigation states related to the image generating unit 204. The time recorded navigation states comprises in one embodiment position and attitude. The navigation unit 405 is arranged to continuously calculate the motions of the image generating unit 204. The naviga- tion unit 405 comprises a calculation unit 413 arranged to continuously calculate for example position and attitude angle for the image capturing unit(s) based on the cal-
culated motions and rotations. The navigation unit 405 comprises in one example an inertial navigation system 411 arranged to provide the motions and rotations of the image generating unit 204. The navigation unit comprises in one example means for providing attitude and also position data in a predetermined coordinate system. The position data is for example provided by means of a GPS receiver 412 or a digitally stored map. The time records of the navigation states are in one example given with approximately the same accuracy as the time records of the images. The time records are provided using the same time reference as is used by the image generation unit. The time records are for example provided from the GPS-receiver 412.
The inertial navigation system 411 is in the example described above mounted in a known relation to the image generating unit such that the navigation states provided directly relates to the navigation states of the image generating unit. If the image generating unit comprises a plurality of image capturing units, an inertial navigation system is in one example associated to each image capturing unit, whereby navigation states can be provided directly related to the respective image capturing unit. In accordance therewith, the image capturing units can be mounted independently of each other. The navigation states are in one example both a three dimensional position vector and a three dimensional attitude vector in a predefined coordinate sys- tem, but can also comprise a three-dimensional velocity vector in a predefined coordinate system. The velocity vector is for example directly provided from the inertial navigation system 411 in the navigation unit. The functional aspect of an inertial navigation system and how it calculates navigation states is well known.
The image capturing units are mounted with such a tilt angle so as to provide sufficient information for the actual application. For example, in an application of three dimensional modelling of man made objects such as buildings or bridges, vertical information is of importance. Therefore, in this application, the image capturing unit should be tilted so as to provide an accurate modelling of vertical surfaces.
In Fig. 5, the processing unit 206 is arranged to process a number of at least partly overlapping image sets generated by said image generating unit so as to provide said three dimensional map representation. The image sets comprises each two or more images. The processing unit 206 is arranged to be fed with the time recorded images from the image generating unit 204 and the time recorded navigation states from the navigation unit 205. Camera calibration is performed by a parameter estimation procedure directly from image data, as for example in reference "An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision" by R.Y. Tsai, Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, Miami Beach, FL, pp. 364-374, 1986.
In one example, wherein the image generating unit comprises a plurality of image capturing units 310a, 310b, the image sets comprises overlapping images captured at substantially the same time (i.e. the images are associated to corresponding time re- cords) by the image capturing units 310a, 31 Ob of the image generating unit. In the following example, sets comprising two images, forming image pairs, are described.
The processing unit 206 is arranged to execute a number of steps on a number of at least partly overlapping image sets generated by the image generating unit 204 so as to provide the three dimensional map representation. The steps performed by the processing unit comprise a step of relating 514 the navigation data to the image data. Accordingly, image data is correlated to navigation data having a corresponding time record. In one example, each pixel of the image is correlated to corresponding navigation data. In another example, the pixels in a subset of pixels in the image are each correlated to corresponding navigation data. As discussed above, the navigation data relates to the position and attitude of the image capturing unit(s) in a geographical coordinate system. Each pixel of the image is then associated with a geographical coordinate on the ground.
Only those parts of the images are used in the subsequent processing, which matches with a corresponding area in the other image of the image pair. In the illus-
trated example, the processing unit 206 is arranged to remove those parts of the images not having a correspondence in the other image of the image pair in a cutting step 515.
In a following transformation step 516 of the illustrated example, the images of each image pair are transformed to a common ground plane images.
Thereafter, the transformed images of each image pair are used along with the position of the image capturing unit(s) when the two images were captured so as to per- form stereo calculations in a stereo processing step 517. In Fig. 6, the distance between the two image capturing unit positions is defined as a base length B. If an object can be unambiguously determined in both the images, the object will be somewhat displaced with a distance corresponding to the distance between a base plane in which the base length B lies, and the object. This displaced distance is denoted disparity. In the example illustrated in Fig. 6, the optical axles of the two image capturing units or image capturing unit positions are parallel. In this case, equilateral triangles can for example be used and the focal length of the image capturing units so as to provide an expression for the distance between the image capturing unit plane and a point X, which is to be measured. The disparity estimation is based on finding corresponding points in the both images. It is in one example pre-assumed that a translation of the carrier 102 is performed in a solely horizontal direction. There are many methods known in the art for finding disparity estimations so as to provide stereo processing. The known methods includes correlation based methods, property based methods and methods based on a local structure.
In one example, the stereo processing is implemented by means of multimedia instructions for example in a personal computer.
The stereo processed images are then ortho-projeted (or ortho-rectified) in an ortho projecting step 518. In the illustrated example, the whole map representation is geometrically corrected such that the scale of the image is uniform, once the whole map
representation has been formed. In an alternative example (not shown), the ortho projection is performed on each stereo processed image as the stereo processed images are formed. The ortho-projected map representation is adjusted for topographic relief, lens distortion and/or camera tilt. This means that the map representation is equivalent to a map. The ortho-projected image can be used to measure true distances, angles and areas.
The ortho projected map representation is then textured in a texturing step 519 based on the ortho projected map representation formed in the preceding step. In an alternative example (not shown), the texturing is performed on each ortho-projected image as the ortho-projected images are formed.
The accordingly provided map representation is then used in an application step 520. There are several applications which can be based on the 3D mapping tech- nique as described above. In the following, some examples of such applications will be described.
In a first functional mode, all pixels in the map representation are specified in three geographical dimensions. The three dimensional map representation represents ele- vation and lateral data for the geographical area covered by the map representation.
In a second functional mode, difference analysis is provided on two three- dimensional map representations so as to provide a "map" comprising difference values. Accordingly, the arrangement 101 mounted on a movable carrier 102 pro- vides a three dimensional map representation of the area 103 at two different times. Thereafter, the difference analysis is provided on the two three-dimensional map representations so as to provide a height difference value for each analyzed pixel pair. Each pixel pair comprises pixels corresponding to the same geographical location in the two map representations.
In fig. 7, a volume measuring application is illustrated. The volume can be determined by measuring a topographical convex or concave formation in relation to a well defined ground plane geometry. The volume is then calculated by comparing the elevation value in each location with the corresponding ground value. Applica- tions related to convex formations can be mountains of garbage, prospect measurements of excavation volumes etc. Applications related to concave formations are for example measurements of open cut volumes.
Volumes can also be measured by using a three dimensional differential analysis (the second functional mode). This application is for example applicable to erosion measurements and preventive earth slip measurements. In accordance with this application, three dimensional map representations are calculated at different times and corresponding points (pixels) are compared to each other.
In Fig. 8, an application for measuring of forest parameters is illustrated. These parameters comprise for example tree-height, number of trees and tree volume. In one example, individual trees can be created from the three dimensional data by using a segmentation algorithm to capture the crown closure. The tree height is in one example defined as the topmost pixel in the tree segment minus a terrain elevation value in the corresponding lateral position which can be extracted by an elevation database or by direct measure of the ground elevation. A volume of wood can be calculated based on the number of trees (derivable from the number of segmented trees). In order to refine the determination of the volume of wood, also the determined tree heights can be used in the calculation.
In Fig. 9, an industrial robotic application is illustrated. In said application three- dimensional information is continuously created related to an item or object which shall be operated or processed by an industrial robot. The arrangement for providing three-dimensional information (generated by stereo photogrametry as described in relation to Figs 1 to 6) is arranged directly on the robot lever arm. The three dimen-
sional information possibly together with a texture (as described in relation to fig 5) can be used as feed back information in a trajectory calculation algorithm and/or an algorithm for gripping.
In Fig. 10, man made objects such as road objects (e.g. road signs, road elements such as lamp posts, bridge pillars etc.) are detected by matching with predefined structure models and thereafter positioned in three dimensions of a geographical coordinate system using the three dimensional stereo modelling technique as described above.
Other applications which can be based on the 3D mapping technique as described above includes line of sight calculations, wherein visible areas and shaded areas are calculated with reference from a given geographical position. The line of sight calculations are provided by means of a scanning algorithm. The scanning algorithm includes for example finding the shaded areas by determining heights which shadow terrain parts lying behind and determining the sizes of the shadowed areas.
Another application, in which the 3D mapping technique can be used, is reconnaissance of power transmission line networks. In this application, trees and underbrush in the vicinity of the power transmission lines are measured from the 3D map representations. The measurement involves determining the height and location of the trees/underbrush in relation to the power transmission line. Thereafter, risk trees can be determined based on the determined heights and locations. Further, growth of the underbrush can be determined using differential analysis.
The maps provided with the above mentioned technique can also be used in computer games, serious gaming and training. In these applications digital models of real landscapes, urban environments or other real-life objects are used so as to enhance the sense of reality. Especially, the maps can be used in a "man in the loop scenario", wherein a player acts physically so as to drive the 3D scenario presented on a screen forwards. In one example, the man in the loop-scenario comprises a
training-bicycle driving the scenario; the load on the bicycle can further be related to the scenario so that it becomes heavy to pedal up-hills and lighter down-hills.
The maps can also be used in surveillance and reconnaissance applications. In both these applications, it is desirable to, for example identify and geographically localize different objects, perform mapping operations, terrain classification and perform moving target identification. Usage of differential analysis reveals masked objects, moving targets and other changes in a geographical region.
The maps can be used in a variety of other applications, for example in GPS navigators.
In Fig 11 a method for providing a three dimensional map representation of an area comprises the steps of: generating 1130 time recorded images, outputting time re- corded navigation states 1131 comprising position and attitude, providing 1132 a plurality of at least partly overlapping images each covering at least a part of said area, forming 1133 an arbitrary number of at least partly overlapping image sets from said provided at least partly overlapping images, and to, for each time recorded image to be processed by a stereo processor, associate 1134 the navigation states relating to a corresponding time record and processing 1135 said image sets so as to provide said three dimensional map representation. The steps are not necessarily performed in the above given order.