WO2013112237A1 - Mobile device configured to compute 3d models based on motion sensor data - Google Patents
Mobile device configured to compute 3d models based on motion sensor data Download PDFInfo
- Publication number
- WO2013112237A1 WO2013112237A1 PCT/US2012/069088 US2012069088W WO2013112237A1 WO 2013112237 A1 WO2013112237 A1 WO 2013112237A1 US 2012069088 W US2012069088 W US 2012069088W WO 2013112237 A1 WO2013112237 A1 WO 2013112237A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- mobile device
- image
- camera
- motion sensor
- estimated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/564—Depth or shape recovery from multiple images from contours
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/207—Image signal generators using stereoscopic image cameras using a single 2D image sensor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Definitions
- the present disclosure is generally related to generating three-dimensional (3D) models of objects.
- wireless computing devices such as portable wireless telephones, personal digital assistants (PDAs), and. paging devices that are small, lightweight, and easily carried by users.
- portable wireless telephones such as cellular telephones and internet protocol (IP) telephones
- IP internet protocol
- wireless telephones can communicate voice and data packets over wireless networks.
- wireless telephones can process executable instructions, including software applications, such as a web browser application, that can be used to access the Internet.
- these wireless telephones can include significant computing capabilities and may be capable of graphics processing of three- dimensional (3D) objects.
- a three-dimensional (3D) model of an object may be generated based on multi- view images of an object (e.g., multiple views of the object taken by one or more cameras from different angles and/or positions).
- the 3D models may provide useful and. interesting information to a user of a wireless device and may improve an overall user experience.
- 3D reconstruction may be used in security, surveillance, and robotics.
- 3D reconstruction may be used for developing models of buildings for generating virtual tours or for navigational purposes.
- objects that may- have been destroyed may be reconstructed and preserved (e.g., in museums).
- Systems and methods of motion regularized object reconstruction in multi-view processing of a wireless device are disclosed.
- the disclosed embodiments utilize motion information of the wireless device provided by one or more motion sensors to reduce the complexity of generating a three-dimensional (3D) model (e.g., a 3D structure) in connection with one or more 3D reconstruction techniques.
- 3D three-dimensional
- a feature point-based reconstruction technique (e.g., a bundle adjustment technique) is used in connection with motion sensor data to calculate a 3D model.
- bundle adjustment is a "maximum likelihood solution" for the following expression illill ⁇ ' -d ⁇ p' j , x' l f , where is an i-th projection matrix of the camera (i.e., a representation of feature points of the object taken by the camera and projected onto an i-th image), where X,- is aj-th feature point of the object, where ⁇ '.
- Feature points of an object include parts of the object that may be important for generating a 3D model of the object (e.g., corners in the object, curves in the object, edges of the object, etc).
- feature points may include the handle of a mug, corners of a graphics pattern of the mug, portions of the mug that include text, and the base of the mug.
- the feature points X, of the object are estimated, and coordinates of the feature points x'. in multiple images of the object captured by the camera are also estimated.
- the bundle adjustment solution may result in a large and computationally intensive problem because of the large number of parameters to be estimated.
- the bundle adjustment solution may be computationally demanding and may place a burden on processor resources.
- complexity of the bundle adjustment technique may be reduced by using motion sensor data to determine P' ⁇ i (or an estimate of P' ⁇ i ).
- [R, j j is a relative pose matrix associated with the wireless device that is based on measurements made by the one or more sensors of the wireless device.
- at least one i-th+1 projection matrix may be derived from the motion information of the wireless device provided by the one or more motion sensors, and need not be iteratively estimated via the bundle adjustment technique, resulting in reduced overall complexity.
- motion sensor measurements are used to derive camera location information to generate a silhouette-based 3D object (e.g., a 3D object generated using a visual hull technique).
- silhouette-based 3D models can be generated effectively by a mobile device (e.g., a device that is not associated with a "fixed" or predetermined location).
- a method includes capturing, at a camera of a mobile device, a first image of an object while the mobile device is at a first position and capturing a second image of the object while the mobile device is at a second position.
- the method includes determining, based on data output by at least one motion sensor of the mobile device, a movement of the mobile device from the first position to the second position.
- the method also includes computing a three-dimensional (3D) model of the object based on the first image, the second image, and the determined movement of the mobile device.
- an apparatus in a particular embodiment, includes a camera configured to capture a first image of an object while at a first position and to capture a second image of the object while at a second position.
- the apparatus includes at least one motion sensor, a processor, and a memoxy storing instructions executabie by the processor.
- the instructions are executable to determine, based on data output by the at least one motion sensor, a movement of the camera from the first position to the second position and to compute a three-dimensional (3D) model of the object based on the first image, the second image, and the determined xnovexnent of the camera.
- a method includes determining, based on data received from at least one motion sensor, a movement of a mobile device from a first position to a second position. The method also includes computing a three-dimensional (3D) model of an object based on a first image of the object corresponding to a first view of the object from the first position of the mobile device, based further on a second image of the object corresponding to a second view of the object from the second position of the mobile device, and based further on the movement of the mobile device.
- 3D three-dimensional
- an apparatus includes means for determining, based on data received from at least one means for sensing motion, a movement of a mobile device from a first position to a second position.
- the apparatus also includes means for computing a three-dimensional (3D) model of an object based on a first image of the object corresponding to a first view of the object from the first position of the mobile device, based further on a second image of the object corresponding to a second view of the object from the second position of the mobile device, and based further on the movement of the mobile device.
- 3D three-dimensional
- a computer-readable non-transitory medium includes instructions that, when executed by a processor, cause the processor to determine, based on data received from at least one motion sensor, a movement of a mobile device from a first position to a second position.
- the instructions a further executable to compute a three-dimensional (3D) model of an object based on a first image of the object corresponding to a first view of the object from the first position of the mobile device, based further on a second image of the object corresponding to a second view of the object from the second position of the mobile device, and based further on the movement of the mobile device.
- FIG. 1 is a diagram of a particular embodiment of a system that includes a mobile device configured to compute 3D models based on motion sensor data;
- FIG. 2 is a diagram of a particular illustrative embodiment of the mobile device of FIG. 1;
- FIG. 3 is a diagram of another particular illustrative embodiment of the mobile device of FIG. 1 ;
- FIG. 4 is a diagram of another particular illustrative embodiment of the mobile device of FIG. 1 ;
- FIG. 5 is a flow diagram illustrating a particular embodiment of a method of computing a 3D model based on motion sensor data
- FIG. 6 is a flow diagram illustrating another particular embodiment of a method of computing a 3D model based on motion sensor data
- FIG. 7 is a flow diagram illustrating a particular embodiment of a method of computing a 3D model according to a feature point-based reconstraction technique (e.g., a bundle adjustment technique) based on motion sensor data;
- a feature point-based reconstraction technique e.g., a bundle adjustment technique
- FIG. 8 is a flo diagram illustrating a particular embodiment of a method of computing a 3D model according to a silhouette-based reconstruction technique (e.g., a visual hull technique) based on motion sensor data;
- a silhouette-based reconstruction technique e.g., a visual hull technique
- FIG. 9 is a flow diagram illustrating another particular embodiment of a method of computing a 3D model according to a silhouette -based reconstruction technique (e.g., a visual hull technique) based on motion sensor data;
- a silhouette -based reconstruction technique e.g., a visual hull technique
- FIG. 10 is a diagram of another particular illustrative embodiment of the mobile device of FIG, I , where the mobile device is configured to compute 3D models according to a feature point-based reconstruction technique (e.g., a bundle adjustment technique) based on motion sensor data; and
- a feature point-based reconstruction technique e.g., a bundle adjustment technique
- FIG. 1 1 is a diagram of another particular illustrative embodiment of the mobile device of FIG. 1, where the mobile device is configured to compute 3D models according to a silhouette -based reconstruction technique (e.g., a visual hull technique) based on motion sensor data.
- a silhouette -based reconstruction technique e.g., a visual hull technique
- the system 100 includes a mobile device 102 including a camera 108 configured to capture one or more images (e.g., a first image 120 and a second image 122) of one or more objects, such as an object 130.
- the mobile device 102 further includes one or more motion sensors 104, one or more storage devices 106, and a 3D modeler 1 10.
- the 3D modeler 1 10 may be implemented using hardware, using processor-executable instructions stored at a computer-readable tangible medium, or a combination thereof, as described further below.
- the one or more motion sensors 104 may include one or more electrical, mechanical,
- electromechanical, or other sensors such as a gyroscope, an accelerometer, other motion sensor devices, or a combination thereof.
- the object 130 may include one or more feature points, such as apexes of the object 130, a base of the object 130, a handle of the object 130, text or graphics on the object 130, curves of the object 130, one or more other distinct portions of the object 130, or any combination thereof.
- FIG. 1 shows two images 120, 122 of the object 130 captured by the camera 108 when the mobile device 102 is at two positions, it should be noted that multiple images of the object 130 corresponding to multiple positions of the mobile device 102 may be captured by the camera 108.
- the camera 108 may be configured to capture images of the object 130 at multiple positions of the mobile device 102 (e.g., at different angles and/or rotations with respect to a coordinate system or with respect to an initial position). For example, the camera 108 may capture a first image 120 of the object 130 when the mobile device 102 (and the camera 108 ⁇ is at a first position (e.g., a first view 140 of the object 130) and the camera 108 may capture a second image 122 of the object 130 when the mobile device 102 (and the camera 108) is at a second position (e.g., a second view 150 of the object 130).
- image data corresponding to the first view 140 and to the second view 150 may be stored at the one or more storage devices 106.
- the one or more motion sensors 104 may be configured to generate motion sensor data that indicates a position of the mobile device 102 (e.g. , rotation and/or translation of the mobile device 102 with respect to an initial position of the mobile device 102 or with respect to a coordinate system).
- the one or more motion sensors 104 may be configured to generate motion sensor data 1 12 concurrently with the camera 108 capturing the first image 120.
- the one or more motion sensors 104 may be configured to generate motion sensor data 1 14 concurrently with, the camera 108 capturing the second image 122.
- the mobile device 102 uses the 3D modeler 110 to generate a 3D model 1 16 of the object 130 using the motion sensor data 1 12, 1 14 and further using image data related to the images 120, 122, as described farther below.
- the mobile device 102 may capture the first image 120 of the object 130 via the camera 108 based on the first view 140 of the camera 108.
- the mobile device 102 may move to a second position (e.g., due to movement of a user of the mobile device 102) and may capture the second image 122 of the object 130 via the camera 108 based on the second view 150 of the camera 108.
- the one or more motion sensors 104 of the mobile device 102 may output motion sensor data 1 12, 1 14 corresponding to motion information of the mobile device 102 that enables
- the motion sensor data 1 12, 1 14 may indicate rotational and translational motion of the mobile device 102.
- the 3D modeler 1 10 may receive data corresponding to the first image 120 and may farther receive the motion sensor data 112 output by the one or more motion sensors 104.
- the 3D modeler 1 10 may receive the data corresponding to the second image 122 and may further receive the motion sensor data 1 14 output by the one or more motion sensors 104.
- the motion sensor data 1 4 may indicate movement information of the mobile device 102 from the first position to the second position.
- the motion sensor data 114 may include rotational and translational matrices of the mobile device 102 associated with rotation and translation of the mobile device 102 from the first position to the second position.
- the motion sensor data 1 12, 1 14 may provide information that enables generation of rotational and translational matrices of the mobile device 102.
- the motion sensor data 112, 1 14 may include or indicate a "camera pose" matrix obtained from the one or more motion sensors 104, as described further below.
- a non-limiting, example operation is provided of the 3D modeler 1 10 using the motion sensor data 1 12, 1 14 and data corresponding to the images 120, 122 to generate the 3D model 1 16 of the object 130.
- the 3D modeler 110 is configured to generate the 3D model 1 16 by calculating the bundle adjustment expression jj j Q ⁇ d ⁇ P l X ,, x) ) ⁇ based on the motion sensor data
- the 3D modeler 1 10 may output 3D feature points of the object 130 based on the calculation.
- the output 3D feature points correspond to a 3D model of the object 130.
- computing the bundle adjustment expression may include determining feature points of the object 130 based on a function of a first estimated reprojected image point, a second estimated reprojected image point, and the data output by the one or more motion sensors 104.
- computing the bundle adjustment expression may include determining the first estimated reprojected image point of the object 130 based on a product of a first estimate of the first position (i.e., P x ) and one or more feature points (X ; ) of the object 130 (i.e., computing P' ' X ,. ).
- Computing the bundle adjustment expression may also include determining a second estimated reprojected image point of the object based on a product of a second estimate of the second position (i.e., P 2 ) and the one or more feature points ( X,. ) of the object 130 (i.e., computing P z X i ).
- Computing the bundle adjustment expression may also include determining a square of a first Euclidean distance between the first estimated reprojected image point and coordinates of the object 130 in the first image 120 (i.e., computing d ⁇ p l X s , and determining a square of a second Euclidean distance between the second estimated reprojected image point and coordinates of the object 130 in the second image 122 (i.e., computing d ⁇ p 2 X J t x': f ).
- Computing the bundle adjustment expression may include modifying an estimate of the 3D model 116 to reduce or to "minimize' " a sum of the square of the first Euclidean distance and the square of the second Euclidean distance (i.e., "minimizing" d ⁇ p l X l , x) f + d ⁇ p 1 X J ,x 1 ⁇ ).
- the first estimate of the first position P may also be modified to further reduce the sum of the squares.
- d ⁇ ; may represent a distance function such as a geometric distance or any other metric that measures the distance or difference between the projected feature coordinates and the measured feature coordinates in the images.
- the camera pose information may be determined according to a variety of techniques. To illustrate, suppose at least one of the one or more feature points X, is
- ⁇ ⁇ , ⁇ [x 1 , /, l] r PM for / 1, N> 2,
- the upper triangular calibration matrix K' A "s may be the same for images captured with a same camera (e.g., when the camera 108 is used to capture each of the N images, such as for a single-camera embodiment of the mobile device 102), [R l j T' ] may be the relative pose matrix associated with the j-tli camera.
- a bundle adjustment technique in accordance with the foregoing description may utilize camera pose data (e.g., the motion sensor data 1 12, 1 14) to enable simplified and computationally efficient determination of the 3D model 1 16.
- Conventional approaches e.g., bundle adjustment calculations that do not utilize motion sensor information
- FIG. 2 depicts a particular illustrati ve embodiment of the mobile device 102.
- the mobile device 102 of FIG. 2 includes the one or more motion sensors 104, the one or more storage devices 106, the camera 108, and the 3D modeler 110.
- the one or more storage devices 106 store 3D reconstruction data 202 to be used by the 3D modeler 1 10 to generate the 3D model 1 16.
- the 3D reconstruction data 202 may include the motion sensor data 1 12, 1 14 and may further include first image data 220 and second image data 222 corresponding to the first image 120 of FIG. 1 and to the second image 122 of FIG. 1 , respectively.
- the 3D model 1 16 may be displayed on a display of the mobile device 102 (not shown in FIG. 2).
- the image data 220, 222 of FIG. 2 corresponds to a sequence of pictures, each picture individually captured in response to user input (e.g., "still.” or “snapshot” pictures that are "manually" captured by a user and not part of a video sequence).
- the example of FIG. 2 may be used in connection with an application of the mobile device 102 that enables users to generate 3D models, such as the 3D model 1 16, based on still pictures captured by users using the camera 108.
- the image data 220, 222 may correspond to video frames of a video frame sequence (e.g., sequential still images that are "automatically” periodically captured).
- FIG. 3 depicts another particular illustrative embodiment of the mobile device 102 described with reference to FIG. 1.
- the mobile device 102 of FIG. 3 includes the one or more motion sensors 104, the one or more storage devices 106, the camera 108, the 3D modeler 1. 1.0, and a display 320,
- the 3D modeler .1 .10 of FIG. 3 includes a synchronizer 308.
- the one or more storage devices 106 of FIG. 3 include a motion sensor data buffer 306 and a video frame buffer 304.
- the mobile device 102 of FIG. 3 may include a main memory 310.
- the camera 108 may capture a video frame sequence 302
- the video frame buffer 304 may be responsive to the camera 108 and configured to store one or more video frames of the video frame sequence 302.
- the image data 220, 222 correspond to video frames of the video frame sequence 302.
- the motion sensor data buffer 306 may be responsive to the one or more motion sensors 104.
- the motion sensor data buffer 306 may store the motion sensor data 1 12, 1 14.
- the synchronizer 308 may synchronize data from the video frame buffer 304 with respect to data from the motion sensor data buffer 306. For example, the synchronizer 308 may synchronize the first motion sensor data 1 12 with the first image data 220 and may further synchronize the second motion sensor data 1 14 with the second image data 222. According to at least a first technique, the synchronizer 308 synchronizes data from the video frame buffer 304 with respect to data from the motion sensor data buffer 306 by comparing timestamps, such as by comparing timestamps associated with the motion sensor data 1 12, 1 14 to timestamps associated with the image data 220, 222.
- the synchronizer 308 periodically accesses data from the motion sensor data buffer 306 and from the video frame buffer 304.
- the synchronizer 308 is responsive to the movement of the mobile device 102 (e.g., is responsive to the one or more motion sensors 104) and pulls data from the motion sensor data buffer 306 and from the video frame buffer 304 in response to the detected motion.
- Further techniques may utilize a combination of one or more of the first technique, the second technique, and the third technique.
- the data output by the video frame buffer 304 may be stored at the main memory 310 as a video file 312 that includes the video frame sequence 302.
- the 3D modeler 1 10 may operate "on the fly.”
- the 3D modeler 110 may generate the 3D model 116 and the mobile device 102 may display the 3D model 116 on the display 320 concurrenily or substantially concuixently with the video frame sequence 302 being captured.
- “on the fly,” “concurrently,” and “substantially concurrently” refer to a relationship between a view of a captured object and generation of a 3D model of the object that a user may perceive as being simultaneous,
- the example illustrated in connection with FIG. 3 may correspond to an "on the fly” generation of the 3D model 116.
- the 3D modeler 1 10 may "automatically" render the 3D model 1 16, which is displayed on the display 320 concurrently with the user movement.
- one or more embodiments may enable non-concurrent generation of 3D models based on motion sensor data and a video frame sequence.
- FIG. 4 depicts another particular illustrative embodiment of the mobile device 102 described with reference to FIG, I.
- the mobile device 102 of FIG. 4 includes the one or more motion sensors 104, the one or more storage devices 106, the camera 108, the 3D modeler 1 10, the video frame buffer 304, and the display 320.
- the one or more motion sensors 104 may generate the motion sensor data 112, 114, which may be stored at the one or more storage devices 106.
- the camera 108 may capture the video frame sequence 302, which may be stored temporarily at the video frame buffer 304 and. displayed, at the display 320, such as in connection with a "preview " ' feature associated with the video frame sequence 302.
- the video frame sequence 302 may be displayed at the display 320 prior to the video frame sequence 302 being stored at the one or more storage devices 106 (e.g., as the image data 220, 222) and/or prior to the 3D modeler 110 generating the 3D model 1 16.
- the 3D modeler 1 10 may generate the 3D model 1 16 according to a "post-processing' ' technique.
- the display 320 can instead show r a "preview" of the images being captured by the camera 108.
- the display 320 may display user instructions for camera positioning (e.g., angles and/or positions at which the camera is to be held with respect to object being viewed).
- the 3D model 1 16 can thereafter be generated by the 3D modeler 110 by accessing the one or more storage devices 106, which may be a "main memory,” such as the main memory 310 described in connection with FIG. 3.
- the method 500 includes capturing, at a camera of a mobile device, a first image of an object while the mobile device is at a first position, at 502, and capturing a second image of the object while the mobile device is at a second position, at 504.
- the camera 108 may capture the first image 120 of the object 130 while the mobile device 102 is at the first position and the camera 108 may capture the second image 122 of the object 130 while the mobile device 102 is at the second position.
- the first image 120 may correspond to the first view 140 of the object 130 as captured by the camera 108 while at the first position and the second image 122 may correspond to the second view 150 of the object 130 as captured by the camera 108 while at the second position.
- the method 500 further includes determining, based on data output by at least one motion sensor of the mobile device, a movement of the mobile device from the first position to the second position, at 506.
- the one or more motion sensors 104 may output motion sensor data 1 12, 114 corresponding to motion information of the mobile device 102,
- the motion information may include rotation and translation of the mobile device 102 from the first position to the second position.
- the one or more motion sensors may provide first rotational and/or iranslational matrices of the mobile device 102 corresponding to the first position and second rotational and/or iranslational matrices of the mobile device 102
- the first position of the mobile device is used as a "reference" position, and the second position accordingly indicates a change in position of the mobile device.
- another position e.g., a previous position, or a position associated with a predetermined coordinate system
- both the first position and the second position each indicate a change in position of the mobile device.
- the method 500 also includes computing a 3D model of the object based on the first image, the second image, and the determined movement of the mobile device, at 508.
- the 3D modeler 1 10 may compute feature points of the object 130 based on the first image 120 and the second image 122.
- the 3D modeler 1 10 may be configured to calculate the bundle adjustment expression jyjjn ⁇ . >: ) based on the motion sensor data 1 14
- the 3D model may be computed according to a silhouette-based technique (e.g., a visual hull technique).
- FIG. 6 a diagram illustrating another particular embodiment of a method of computing a three-dimensional (3D) model based on motion sensor data is disclosed and generally designated 600.
- the method 600 includes determining, based on data received from at least one motion sensor, a movement of a mobile device from a first position to a second position, at 602.
- the data, the at least one motion sensor, and the mobile device may correspond to the motion sensor data 1 12, 1 14, the one or more motion sensors 104, and the mobile device 102, respectively.
- the method 600 further includes computing a 3D model of an object based on a first image of the object corresponding to a first view of the object from the first position of the mobile device, based further on a second image of the object corresponding to a second view of the object from the second position of the mobile device, and based further on the movement of the mobile device, at 604.
- the camera 108 may capture the first image 120 of the object 130 while the mobile device 102 is at the first position and the camera 108 may capture the second image 122 of the object 130 while the mobile device 102 is at the second position.
- the first image 120 may correspond to the first view 140 of the object 130 as captured by the camera 108 while at the first position and the second image 122 may correspond to the second view 150 of the object 130 as captured by the camera 108 while at the second position.
- FIG. 7 a flow diagram illustrating a particular embodiment of a method of computing a 3D model according to a feature point-based reconstraction technique (e.g., a bundle adjustment technique) based on motion sensor data is depicted and generally designated 700.
- the method 700 includes capturing images (e.g., the images 120, 122) of an object (e.g., the object 130) using a camera (e.g., the camera 108) of a mobile device (e.g., the mobile device 102), at 702.
- the method 700 includes determining motion sensor data (e.g., the motion sensor data 1 12, 1 14) using one or more motion sensors (e.g., the one or more motion sensors 104). At 706, one or more feature points of the images are matched, and at 708, a 3D location for each of the one or more matched features is determined.
- motion sensor data e.g., the motion sensor data 1 12, 1 14
- motion sensors e.g., the one or more motion sensors 104
- Determining the one or more feature points and the 3D locations for each of the one or more matched feature points can be performed using any suitable technique, such as the bundle adjustment technique described above with reference to at least FIG. 1.
- a 3D model of the object is generated using the one or more matched features (e.g., according to the bundle adjustment technique).
- the method 700 of FIG, 7 is performed using a processor of the mobile device 102, as described further with reference to at least FIG. 10.
- FIG. 8 a flow diagram illustrating a particular embodiment of a method of computing a 3D model according to a silhouette-based reconstruction technique (e.g., a visual hull technique) based on motion sensor data is depicted and generally designated. 800.
- the method. 800 includes capturing images (e.g.. the images 120, 122) of an object (e.g., the object 130) using a camera (e.g., the camera 108) of a mobile device (e.g., the mobile device 102), at 802.
- motion sensor data (e.g., the motion sensor data 1 12, 1 14) is determined using one or more motion sensors (e.g., the one or more motion sensors 104) of the mobile device.
- a silhouette is generated of the object in each of the images, at 806.
- the method 800 further includes generating a silhouette-based model of the object, at 808, and generating a 3D model based on the silhouette -based model, at 810.
- a particular example of a silhouette-based reconstruction technique is described with reference to FIG 9.
- FIG. 9 a flow diagram illustrating another particular embodiment of a method of computing a 3D model according to a silhouette-based reconstruction technique (e.g., a visual hull technique) based on motion sensor data is depicted and generally designated 900.
- the method 900 includes scanning by a mobile device (e.g., the mobile device 102) each pixel of a first view and projecting a ray R based on a view direction, at 902.
- the ray R is projected to one or more reference images and. an interval / is found such that the interval / intersects a silhouette of each of the images.
- motion sensor data e.g., the motion sensor data 1 12, 1 14
- the motion sensor data determined at 906 is used to project the ray R to the one or more reference images, at 902.
- the method 900 further includes projecting the interval / back into 3D space using a known camera projection P' as a 3D interval L, at 908.
- the known camera projection P l may be derived from the motion sensor data.
- the method 900 further includes selecting an innermost (e.g., shortest) intersection Q from the overlapping Ls, where Q is a final 3D interval having end points corresponding to surface points of a 3D model to be constructed, at 910.
- Q is a final 3D interval having end points corresponding to surface points of a 3D model to be constructed
- another ray or view is added, at 914.
- the 3D model (e.g., the 3D model 1 16) is generated using the intersections Qs.
- the method 800 of FIG. 8, the method 900 of FIG. 9, or a combination thereof, may be performed using a processor of the mobile device 102, as described further with reference to at least FIG. 1 1.
- FIG. 10 is a diagram of another particular illustrative embodiment of the mobile device 102, where the mobile device 102 is configured to compute 3D models according to a feature point-based reconstruction technique (e.g., a bundle adjustment technique) based on motion sensor data.
- the mobile device 102 of FIG. 10 includes a processor, such as a processor 1010, coupled to a memory 1032, and to the one or more motion sensors 104.
- the one or more motion sensors 104 may also be coupled to the memory 1032.
- the memory 1032 may be a computer-readable non-transitory medium that stores data (e.g., motion data of the mobile device 102), instructions, or a combination thereof.
- the memory 032 may include instructions 1054 that may be executable by the processor 1010 to cause the processor 1010 to perform one or more functions of the mobile device 102.
- the instructions 1054 may include user applications, an operating system, or other executable instructions, or a combination thereof.
- the instructions 1054 may be executable by the processor 1010 to cause the processor 1010 to perform one or more operations described herein, such as to determine movement of the mobile device 102 based on motion sensor data (e.g., the motion sensor data 112, 1 14) determined by the one or more motion sensors 104.
- motion sensor data e.g., the motion sensor data 112, 1 14
- the memory 1032 is a "main memory,” such as the main memor 310 described with reference to FIG. 3.
- the memory 1032 may include the one or more storage devices 106, the motion sensor data buffer 306, the video frame buffer 304, or a combination thereof.
- the processor 1010 may include the 3D modeler 110.
- the 3D modeler 1 10 may be a hardware component of the processor 1010, a set of instructions (e.g., instructions stored at the memory 1032) executable by the processor 1010, or a combination thereof.
- the 3D modeler 110 includes a feature point generator 1092, which may determine feature points 1094 of captured images (e.g., the first image 120 and the second image 122 of FIG. 1) of an object in connection with a feature-point based reconstruction technique.
- the 3D modeler 110 may generate the 3D model 116 based on the feature points 1094.
- FIG. 10 illustrates the camera 108 coupled to a camera controller 1090 that may provide the images 120, 122 and/or video data to be processed by the 3D modeler 1 10.
- the camera controller 1090 may be coupled to the processor 1010 and to a display- controller 1026.
- the camera 108 may be a video camera, a non-video camera, a single camera, a multi-camera (e.g., a stereo camera), or a combination thereof.
- FIG. 10 also shows that the display controller 1026 may be coupled to the processor 1010 and to the display 320.
- a coder/ decoder (CODEC) 1034 (e.g., an audio and/or voice CODEC) may be coupled to the processor 1010.
- a speaker 1036 and a microphone 1038 may be coupled to the CODEC 1034.
- a wireless controller 1040 may be coupled to the processor 1010 and to a transceiver 1050 that is coupled to a wireless antenna 1042,
- the processor 1010, the one or more motion sensors 104, the camera controller 1090, the display controller 1026, the memory 1032, the CODEC 1034, the wireless controller 1040, and the transceiver 1050 are included in a system-in-package or system-on-chip device 1022.
- an input device 1030 and. a power supply 1044 are coupled to the system-on-chip device 1022.
- the display 320, the camera 108, the input device 1030, the speaker 1036, the microphone 1038, the wireless antenna 1042, and the power supply 1044 are external to the system-on-chip device 1022.
- each of the display 320, the input device 1030, the speaker 1036, the microphone 1038, the wireless antenna 1042, and the power supply 1044 can be coupled to a component of the system-on-chip device 1022, such as an interface or a controller.
- FIG, 1 1 is a diagram of another particular illustrative embodiment of the mobile device 102, where the mobile device 102 is configured to compute 3D models according to a silhouette-based reconstruction technique (e.g., a visual hull technique) based on motion sensor data. Certain components and features of the mobile device 102 of FIG. 11 may be described generally with reference to the mobile device 102 of FIG.
- the 3D modeler 1 10 of FIG. 1 1 includes a silhouette generator 1 192 to generate a silhouette 1 194, for example in connection with a visual hull technique.
- the silhouette 1194 may be used by the 3D modeler 1 10 to generate the 3D model 116.
- the processor 1010 and the memory 1032 of FIGS. 10 and 1 1 may be integrated into a multimedia player, an entertainment unit, a navigation device, a personal digital assistant (PDA), a fixed location data unit, or a computer (e.g., a tablet computer, a laptop computer, a desktop computer, etc), a media device, another device configured to wirelessly communicate data, or a combination thereof.
- a multimedia player e.g., an entertainment unit, a navigation device, a personal digital assistant (PDA), a fixed location data unit, or a computer (e.g., a tablet computer, a laptop computer, a desktop computer, etc), a media device, another device configured to wirelessly communicate data, or a combination thereof.
- PDA personal digital assistant
- a media device e.g., a tablet computer, a laptop computer, a desktop computer, etc
- various techniques e.g., reconstruction techniques, such as feature point-based and silhouette-based reconstruction techniques
- one or more such techniques can be combined.
- an apparatus includes means for determining, based, on data received, from at least one means for sensing motion, a movement of a mobile device from a first position to a second position.
- the means for determining may include the 3D modeler 1 10 of FIGS. 1 -4, 10, and 1 1 , the processor 1010 of FIGS, 10 and 11 , one or more other devices configured to determine a movement of a mobile device, or any combination thereof.
- the means for sensing motion may include the one or more motion sensors 104.
- the apparatus further includes means for computing a three-dimensional (3D) model of an object based on a first image of the object corresponding to a first view of the object from the first position of the mobile device, based further on a second image of the object corresponding to a second view of the object from the second position of the mobile device, and based further on movement of the mobile device.
- the means for computing the 3D mode! may include the 3D modeler 1 10 of FIGS. 1-4, 10, and 11 , the processor 1010 of FIGS. 10 and 1 1, one or more other devices configured to compute a 3D model, or any combination thereof.
- A. software module may reside in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disk, a removable disk, a compact disc read-only memory (CD-ROM), or any other form of non-transitory storage medium.
- An exemplary storage medium is coupled to the processor such that the processor can read information from, and write information to, the storage medium.
- the storage medium may be integral to the processor.
- the processor and. the storage medium may reside in an application-specific integrated circuit (ASIC ).
- ASIC application-specific integrated circuit
- the ASIC may reside in a computing device or a user terminal (e.g., a mobile phone or a PDA).
- the processor and the storage medium may reside as discrete components in a computing device or user terminal.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Image Analysis (AREA)
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP12806819.4A EP2807629B1 (en) | 2012-01-26 | 2012-12-12 | Mobile device configured to compute 3d models based on motion sensor data |
| CN201280066984.2A CN104081434B (zh) | 2012-01-26 | 2012-12-12 | 经配置以基于运动传感器数据计算3d模型的移动装置 |
| KR1020147019346A KR101827046B1 (ko) | 2012-01-26 | 2012-12-12 | 모션 센서 데이터에 기초한 3d 모델들을 계산하도록 구성된 이동 디바이스 |
| JP2014554717A JP6199313B2 (ja) | 2012-01-26 | 2012-12-12 | モーションセンサーデータに基づく3dモデルを計算するように構成されたモバイルデバイス |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201261591196P | 2012-01-26 | 2012-01-26 | |
| US61/591,196 | 2012-01-26 | ||
| US13/673,681 | 2012-11-09 | ||
| US13/673,681 US9639959B2 (en) | 2012-01-26 | 2012-11-09 | Mobile device configured to compute 3D models based on motion sensor data |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2013112237A1 true WO2013112237A1 (en) | 2013-08-01 |
Family
ID=48869873
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2012/069088 Ceased WO2013112237A1 (en) | 2012-01-26 | 2012-12-12 | Mobile device configured to compute 3d models based on motion sensor data |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US9639959B2 (enExample) |
| EP (1) | EP2807629B1 (enExample) |
| JP (1) | JP6199313B2 (enExample) |
| KR (1) | KR101827046B1 (enExample) |
| CN (1) | CN104081434B (enExample) |
| WO (1) | WO2013112237A1 (enExample) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10606350B2 (en) | 2015-12-24 | 2020-03-31 | Samsung Electronics Co., Ltd. | Deformable display device and image display method using same |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10261408B2 (en) * | 2010-07-18 | 2019-04-16 | Spatial Cam Llc | Mobile and portable camera platform for tracking an object |
| US9131118B2 (en) * | 2012-11-14 | 2015-09-08 | Massachusetts Institute Of Technology | Laser speckle photography for surface tampering detection |
| CN104813230A (zh) * | 2012-11-30 | 2015-07-29 | 汤姆逊许可公司 | 使用单个相机捕捉三维图像的方法和系统 |
| KR102153539B1 (ko) * | 2013-09-05 | 2020-09-08 | 한국전자통신연구원 | 영상 처리 장치 및 방법 |
| US9173066B1 (en) * | 2014-06-13 | 2015-10-27 | Xerox Corporation | Methods and systems for controlling an electronic device |
| CN104282041A (zh) * | 2014-09-30 | 2015-01-14 | 小米科技有限责任公司 | 三维建模方法及装置 |
| JP6306996B2 (ja) * | 2014-10-01 | 2018-04-04 | 日本電信電話株式会社 | 映像データ処理方法、映像データ処理装置及び映像データ処理プログラム |
| JP2016070891A (ja) * | 2014-10-01 | 2016-05-09 | 日本電信電話株式会社 | 映像データ処理装置及び映像データ処理プログラム |
| KR102248404B1 (ko) | 2014-11-17 | 2021-05-07 | 삼성전자주식회사 | 움직임 분석 방법 및 움직임 분석 장치 |
| CN104517316B (zh) * | 2014-12-31 | 2018-10-16 | 中科创达软件股份有限公司 | 一种三维物体建模方法及终端设备 |
| CN108139876B (zh) * | 2015-03-04 | 2022-02-25 | 杭州凌感科技有限公司 | 用于沉浸式和交互式多媒体生成的系统和方法 |
| CN104794723A (zh) * | 2015-05-04 | 2015-07-22 | 福建师范大学 | 一种基于概率的遥感影像建筑物位置检测方法 |
| US10012509B2 (en) * | 2015-11-12 | 2018-07-03 | Blackberry Limited | Utilizing camera to assist with indoor pedestrian navigation |
| US10341633B2 (en) | 2015-11-20 | 2019-07-02 | Qualcomm Incorporated | Systems and methods for correcting erroneous depth information |
| US10841486B2 (en) * | 2017-07-20 | 2020-11-17 | Eclo, Inc. | Augmented reality for three-dimensional model reconstruction |
| WO2019127320A1 (zh) * | 2017-12-29 | 2019-07-04 | 深圳前海达闼云端智能科技有限公司 | 信息处理方法、装置、云处理设备及计算机程序产品 |
| WO2019198562A1 (ja) * | 2018-04-11 | 2019-10-17 | 富士フイルム株式会社 | 構造物管理装置、構造物管理方法、及び構造物管理プログラム |
| CN113140030B (zh) * | 2020-01-17 | 2024-12-31 | 北京小米移动软件有限公司 | 三维模型生成方法、装置及存储介质 |
| US20210259779A1 (en) * | 2020-02-20 | 2021-08-26 | Verb Surgical Inc. | Multi-camera user interface device calibration and tracking |
| US11694313B2 (en) * | 2020-02-28 | 2023-07-04 | Unity Technologies Sf | Computer-generated image processing including volumetric scene reconstruction |
| FR3122763B1 (fr) * | 2021-05-07 | 2024-07-26 | Captana Gmbh | Procédé automatisé de réglage d’un paramètre de visualisation d’un dispositif d’imagerie en magasin |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100316282A1 (en) * | 2009-06-16 | 2010-12-16 | Hope Clinton B | Derivation of 3D information from single camera and movement sensors |
Family Cites Families (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6094215A (en) | 1998-01-06 | 2000-07-25 | Intel Corporation | Method of determining relative camera orientation position to create 3-D visual images |
| EP1121245B1 (en) * | 1998-06-18 | 2008-12-24 | Kline & Walker L.L.C. | Automated devices to control equipment and machines with remote control and accountability worldwide |
| US7466843B2 (en) * | 2000-07-07 | 2008-12-16 | Pryor Timothy R | Multi-functional control and entertainment systems |
| US6539330B2 (en) | 2000-07-19 | 2003-03-25 | Pentax Corporation | Method and apparatus for measuring 3-D information |
| US6961055B2 (en) * | 2001-05-09 | 2005-11-01 | Free Radical Design Limited | Methods and apparatus for constructing virtual environments |
| JP2003006680A (ja) | 2001-06-20 | 2003-01-10 | Zenrin Co Ltd | 3次元電子地図データの生成方法 |
| US7596473B2 (en) * | 2003-05-20 | 2009-09-29 | Interlego Ag | Method of constructing a virtual construction model |
| CA2524031C (en) * | 2003-05-20 | 2015-07-07 | Interlego Ag | Method and system for manipulating a digital representation of a three-dimensional object |
| JP4132068B2 (ja) | 2005-02-28 | 2008-08-13 | 学校法人早稲田大学 | 画像処理装置及び三次元計測装置並びに画像処理装置用プログラム |
| JP4910312B2 (ja) * | 2005-06-03 | 2012-04-04 | ソニー株式会社 | 撮像装置および撮像方法 |
| US7856125B2 (en) | 2006-01-31 | 2010-12-21 | University Of Southern California | 3D face reconstruction from 2D images |
| CN101395613A (zh) | 2006-01-31 | 2009-03-25 | 南加利福尼亚大学 | 由2d图像实现3d人脸重建 |
| US20070248260A1 (en) | 2006-04-20 | 2007-10-25 | Nokia Corporation | Supporting a 3D presentation |
| US8498497B2 (en) | 2006-11-17 | 2013-07-30 | Microsoft Corporation | Swarm imaging |
| US7676146B2 (en) * | 2007-03-09 | 2010-03-09 | Eastman Kodak Company | Camera using multiple lenses and image sensors to provide improved focusing capability |
| JP2009200713A (ja) | 2008-02-20 | 2009-09-03 | Sony Corp | 画像処理装置、画像処理方法、プログラム |
| CN102027440A (zh) * | 2008-03-18 | 2011-04-20 | 艾利普提克实验室股份有限公司 | 对象与运动检测 |
| US20110261187A1 (en) | 2010-02-01 | 2011-10-27 | Peng Wang | Extracting and Mapping Three Dimensional Features from Geo-Referenced Images |
| US20110234750A1 (en) | 2010-03-24 | 2011-09-29 | Jimmy Kwok Lap Lai | Capturing Two or More Images to Form a Panoramic Image |
| KR20110116525A (ko) | 2010-04-19 | 2011-10-26 | 엘지전자 주식회사 | 3d 오브젝트를 제공하는 영상표시장치, 그 시스템 및 그 동작 제어방법 |
| FR2960082B1 (fr) | 2010-05-17 | 2012-08-10 | Commissariat Energie Atomique | Procede et systeme pour fusionner des donnees issues de capteurs d'images et de capteurs de mouvement ou de position |
| US8918209B2 (en) | 2010-05-20 | 2014-12-23 | Irobot Corporation | Mobile human interface robot |
| US9716826B2 (en) * | 2011-12-07 | 2017-07-25 | Intel Corporation | Guided image capture |
-
2012
- 2012-11-09 US US13/673,681 patent/US9639959B2/en active Active
- 2012-12-12 WO PCT/US2012/069088 patent/WO2013112237A1/en not_active Ceased
- 2012-12-12 JP JP2014554717A patent/JP6199313B2/ja active Active
- 2012-12-12 CN CN201280066984.2A patent/CN104081434B/zh active Active
- 2012-12-12 EP EP12806819.4A patent/EP2807629B1/en active Active
- 2012-12-12 KR KR1020147019346A patent/KR101827046B1/ko active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100316282A1 (en) * | 2009-06-16 | 2010-12-16 | Hope Clinton B | Derivation of 3D information from single camera and movement sensors |
Non-Patent Citations (3)
| Title |
|---|
| BASTIAN J ET AL: "Interactive modelling for AR applications", MIXED AND AUGMENTED REALITY (ISMAR), 2010 9TH IEEE INTERNATIONAL SYMPOSIUM ON, IEEE, PISCATAWAY, NJ, USA, 13 October 2010 (2010-10-13), pages 199 - 205, XP032291046, ISBN: 978-1-4244-9343-2, DOI: 10.1109/ISMAR.2010.5643570 * |
| MANOLIS I.A. LOURAKIS ET AL: "The design and implementation of a generic sparse bundle adjustment software package based on the levenberg-marquardt algorithm", TECHNICAL REPORT FORTH-ICS TR-340, 1 August 2004 (2004-08-01), pages 1 - 23, XP055054108, Retrieved from the Internet <URL:http://www.ics.forth.gr/~lourakis/publ/2004_tr340.pdf> [retrieved on 20130221] * |
| R. ROBERT CLARK ET AL: "<title>3D environment capture from monocular video and inertial data</title>", PROCEEDINGS OF SPIE, vol. 6056, 2 February 2006 (2006-02-02), pages 60560G, XP055054107, ISSN: 0277-786X, DOI: 10.1117/12.650805 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10606350B2 (en) | 2015-12-24 | 2020-03-31 | Samsung Electronics Co., Ltd. | Deformable display device and image display method using same |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2015508197A (ja) | 2015-03-16 |
| US20130194392A1 (en) | 2013-08-01 |
| KR20140116867A (ko) | 2014-10-06 |
| CN104081434B (zh) | 2018-01-05 |
| EP2807629B1 (en) | 2017-09-20 |
| CN104081434A (zh) | 2014-10-01 |
| JP6199313B2 (ja) | 2017-09-20 |
| EP2807629A1 (en) | 2014-12-03 |
| US9639959B2 (en) | 2017-05-02 |
| KR101827046B1 (ko) | 2018-02-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9639959B2 (en) | Mobile device configured to compute 3D models based on motion sensor data | |
| US12387431B2 (en) | 3D model reconstruction and scale estimation | |
| JP7223449B2 (ja) | 撮影に基づく3dモデリングシステム | |
| KR102580961B1 (ko) | 촬영을 기반으로 하는 3d 모델링 시스템 및 방법, 자동 3d 모델링 장치 및 방법 | |
| US20230290037A1 (en) | Real-time progressive texture mapping of a 3d mesh | |
| JP2015508197A5 (enExample) | ||
| US8675049B2 (en) | Navigation model to render centered objects using images | |
| CN110462686B (zh) | 用于从场景获得深度信息的设备和方法 | |
| CN111161336B (zh) | 三维重建方法、三维重建装置和计算机可读存储介质 | |
| CN103914876B (zh) | 用于在3d地图上显示视频的方法和设备 | |
| JP2017529620A (ja) | 姿勢推定のシステムおよび方法 | |
| US10165186B1 (en) | Motion estimation based video stabilization for panoramic video from multi-camera capture device | |
| US10447926B1 (en) | Motion estimation based video compression and encoding | |
| US20190079158A1 (en) | 4d camera tracking and optical stabilization | |
| US20140267600A1 (en) | Synth packet for interactive view navigation of a scene | |
| CN114792340B (zh) | 一种室内定位方法、系统、存储介质及电子设备 | |
| JP6240328B2 (ja) | オプティカルフロー場を構築する方法 | |
| TWI502271B (zh) | 控制方法及電子裝置 | |
| CN118509713B (zh) | 视频处理方法、装置、计算机设备和存储介质 | |
| CN120374668A (zh) | Vslam建图方法、装置、计算机设备、存储介质 | |
| CA3102860A1 (en) | Photography-based 3d modeling system and method, and automatic 3d modeling apparatus and method | |
| TWI550556B (zh) | A Method of Establishing Stereo Image Model by Kalman Filtering |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 12806819 Country of ref document: EP Kind code of ref document: A1 |
|
| REEP | Request for entry into the european phase |
Ref document number: 2012806819 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2012806819 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 20147019346 Country of ref document: KR Kind code of ref document: A |
|
| ENP | Entry into the national phase |
Ref document number: 2014554717 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |