This relates generally to the updating and enhancing of three dimensional models of physical objects.
A Mirror World is a virtual space that models a physical space. Applications, such as Second Life, Google Earth, and Virtual Earth, provide platforms upon which virtual cities may be created. These virtual cities are part of an effort to create a Mirror World. Users of programs, such as Google Earth, are able to create Mirror Worlds by inputting images and constructing three dimensional models that can be shared from anywhere. However, generally, to create and share such models, the user must have a high end computation and communication capacity.
In accordance with some embodiments, virtual cities or Mirror Worlds may be authored using mobile Internet devices instead of high end computational systems with high end communication capacities. A mobile Internet device is any device that works through a wireless connection and connects to the Internet. Examples of mobile Internet devices include laptop computers, tablet computers, cellular telephones, handheld computers, and electronic games, to mention a few examples.
In accordance with some embodiments, non-expert users can enhance the visual appearance of three dimensional models in a connected visual computing environment such as Google Earth or Virtual Earth.
The problem of extracting and modeling three dimensional features from geo-referenced images may be formulated as a model-based three dimensional tracking problem. A coarse wire frame model gives the contours and basic geometry information of a target building. Dynamic texture mapping may then be automated to create photo-realistic models in some embodiments.
Referring to
Also coupled to the control 12 is a set of sensors 16. The sensors may include one or more high resolution cameras 20 in one embodiment. The sensors may also include inertial navigation system (INS) sensors 22. These may include global positioning systems, wireless, inertial measurement unit (IMU), and ultrasonic sensors. An inertial navigation system sensor uses a computer, motion sensors, such as accelerometers, and rotation sensors, such as gyroscopes, to calculate via dead reckoning the position, orientation, and velocity of a moving object without the need for external references. In this case, the moving object may be the mobile Internet device 10. The cameras 20 may be used to take pictures of an object to be modeled from different orientations. These orientations and positions may be recorded by the inertial navigation system 22.
The mobile Internet device 10 may also include a storage 18 that stores algorithmic components, including image orientation module 24, 2D/3D registration module 26, and texture components 26. In some embodiments, at least one high resolution camera is used or two lower resolution cameras for front and back views, respectively, if a high resolution camera is not available. The orientation sensor may be a gyroscope, accelerometer, or magnetometer, as examples. Image orientation may be achieved by camera calibration, motion sensor fusion, and correspondence alignment. The two dimensional and three dimensional registration may be by means of a model-based tracking and mapping, and fiducial based rectification. The texture composition may be by means of blending different color images to e three dimensional geometric surface.
Referring to
Referring to
Referring next to
The predicted pose PM i indicates which control points are visible and what their new location should be. And the new pose is updated by searching correspondence distance (dist (PMi, mi) in the horizontal, vertical, or diagonal direction, closest to the model edge normal. With enough control points, pose parameters can be optimized by solving a least squares problem in some embodiments.
Thus, the pose setting module 34 receives the wire frame model input and outputs scan line, control point, model segments, and visible edges. This information is then used in the feature alignment sub-module 38 to combine the pose setting with the image sequences from the camera to output contours, gradient normals, and high contrast edges in some embodiments. This may be used in the viewpoint association sub-module 36 to produce a visible view of images, indicated as Iv.
Turning next to
Once a real world scene is captured by the camera and sensors, the image sequences in raw data may be synchronized in time. The Mirror World representation may be updated after implementing the algorithmic components of orienting images using camera pose recovery and sensor function, 2D/3D registration using pose prediction, distance measurement and viewpoint association, and texture composition using geometric polygon refinement, occlusion removal, and texture grid image patch binding, as already described.
Thus, referring to
The relative pose 50 may be processed using an appropriate sensor fusion technique, such as an Extended Kalman filter (EKE) in the sensor fusion module 32. The sensor fusion module 32 fuses the relative pose 50 and the raw data, including location, rotation, and translation information to produce an absolute pose 54. The absolute pose 54 is passed to the pose setting 34 that receives feedback from the three dimensional model 60. The pose setting 34 is then compared at 66 to the two dimensional image feature 52 to determine if alignment occurs. In some embodiments, this may be done using a visual edge as a control point, rather than a point, as may be done conventionally.
In some embodiments, the present invention may be implemented in hardware, software, or firmware. In software embodiments, a sequence of instructions may be stored on a computer readable medium, such as the storage 18, for execution by a suitable control that may be a processor or controller, such as the control 12. In such case, instructions, such as those set forth in modules 24, 26, and 28 in
In some embodiments, a Virtual City may be created using mobile Internet devices by non-expert users. A hybrid visual and sensor fusion for dynamic texture update and enhancement uses edge features for alignment and improves accuracy and processing time of camera pose recovery by taking advantage of inertial navigation system sensors in some embodiments.
References throughout this specification to “one embodiment” or “an embodiment” mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least, one implementation encompassed within the present invention. Thus, appearances of the phrase “one embodiment” or “in an embodiment” are not necessarily referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be instituted in other suitable forms other than the particular embodiment illustrated and all such forms may be encompassed within the claims of the present application.
While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/CN10/00132 | 2/1/2010 | WO | 00 | 7/8/2011 |