WO2024258840A1 - Trajectory estimation and alignment using omnidirectional images / videos - Google Patents
Trajectory estimation and alignment using omnidirectional images / videos Download PDFInfo
- Publication number
- WO2024258840A1 WO2024258840A1 PCT/US2024/033384 US2024033384W WO2024258840A1 WO 2024258840 A1 WO2024258840 A1 WO 2024258840A1 US 2024033384 W US2024033384 W US 2024033384W WO 2024258840 A1 WO2024258840 A1 WO 2024258840A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- trajectories
- trajectory
- camera
- images
- image data
- 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/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/248—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- 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
-
- 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/10028—Range image; Depth image; 3D point clouds
-
- 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/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
- G06T7/337—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
Definitions
- the subject matter disclosed herein relates to images and/or videos with relatively large fields of view, such as panoramic images/videos, omnidirectional images/videos, fisheye images/videos, spherical images/videos, and/or the like including combinations and/or multiples thereof.
- Spherical videos also referred to as 360 degree videos, surround videos, or immersive videos, are video recordings that capture a substantially 360 degree view relative to a omnidirectional capturing device.
- Spherical images are similar 360 degree images that capture a substantially 360 degree view relative to a omnidirectional capturing device.
- the omnidirectional capturing device can be a collection of individual cameras configured and arranged to capture a substantially 360 degree view.
- the omnidirectional capturing device can be an individual device known as an omnidirectional camera that is capable of capturing a substantially 360 degree view.
- images can be stitched together to form spherical images.
- videos can be stitched together to form spherical videos.
- fisheye images/videos can be captured and stitched together to form spherical images/videos.
- Fisheye images are images that show a wide panoramic or hemispherical image and are generally captured with ultra-wide-angle lenses.
- Fisheye images/videos are considered omnidirectional for the purposes of the present disclosure.
- Spherical images and/or spherical videos have various uses. For example, spherical images and/or spherical videos are useful for visualizing a project environment, such as a construction site.
- An omnidirectional capturing device can be moved throughout a construction site, for example, to capture spherical images and/or spherical video of the construction site, when can then be viewed to track progress against milestones, to evaluate quality, to document assets, and/or the like including combinations and/or multiples thereof.
- Spherical images and/or spherical videos can also be useful for immersive environments, such as virtual reality. For example, a spherical image and/or spherical video of an environment can be captured and used to generate a virtual reality environment and/or presented to a user to view.
- the spherical image and/or spherical video and/or the virtual reality environment generated using the spherical video can be displayed to a user via a display, multiple displays, a wearable head mounted display, and/or the like including combinations and/or multiples thereof. These and other use cases for spherical videos are possible.
- a system includes a camera to capture image data of an environment and to generate a series of trajectories. Each trajectory of the series of trajectories is generated based at least in part on a reliability threshold.
- the system further includes a processing system communicatively coupled to the camera, the processing system including a memory comprising computer readable instructions a processing device for executing the computer readable instructions.
- the computer readable instructions control the processing device to perform operations for aligning trajectories to a known layout.
- the operations include receiving, from the camera, the image data and the series of trajectories.
- the operations further include generating point clouds for each of the series of trajectories using the image data.
- the operations further include generating a layout for the environment based at least in part on the point clouds.
- the operations further include mapping the layout to the known layout.
- the operations further include computing, during the mapping, mapping parameters.
- the operations further include, for each of the plurality of trajectories, aligning the trajectory to the known layout using the mapping parameters.
- a computer-implemented method generating a series of trajectories includes initiating capturing image data by a camera. The method further includes generating a first trajectory of the series of trajectories based at least in part on the image data. The method further includes determining, based on results of a reliability check, whether a reliability threshold is satisfied for the first trajectory. The method further includes, responsive to determining that the reliability threshold is not satisfied, building a second trajectory of the series of trajectories based at least in part on the image data.
- a computer-implemented method for processing a series of trajectories includes generating a layout for an environment based at least in part on a collection of point clouds, each of the collection of point clouds corresponding to a trajectory of a plurality of trajectories.
- the method further includes mapping the layout to a known layout.
- the method further includes computing, during the mapping, mapping parameters.
- the method further includes, for each of the plurality of trajectories, aligning the trajectory to the known layout using the mapping parameters.
- FIG. 1A is a schematic image of a three-dimensional measurement device having a camera in accordance with an embodiment
- FIG. IB is a schematic view of an omnidirectional camera for use with the three-dimensional measurement device of FIG. 1A in accordance with an embodiment
- FIG. 1C is a schematic view of an omnidirectional camera system with a dual camera for use with the three-dimensional measurement device of FIG. 1 A;
- FIG. ID and FIG. IE are images acquired by the dual camera of FIG. 1C;
- FIG. ID’ and FIG. IE’ are images of the dual camera of FIG. 1C where each of the images has a field of view greater than 180 degrees;
- FIG. IF is a merged image formed from the images of FIG. ID and FIG. IE in accordance with an embodiment
- FIG. 2 is a schematic illustration of a processing system for trajectory estimation and alignment using omnidirectional images and/or omnidirectional videos according to one or more embodiments described herein;
- FIGS. 3 A and 3B together are a flow diagram of a method for trajectory estimation and alignment using omnidirectional images and/or omnidirectional videos according to one or more embodiments described herein; and [0019] FIG. 4 is a schematic illustration of a processing system for implementing the presently described techniques according to one or more embodiments described herein.
- Embodiments described herein provide for trajectory estimation and alignment using omnidirectional images and/or omnidirectional videos.
- a series of omnidirectional images and/or an omnidirectional video can be captured using an omnidirectional capturing device (e.g., a collection of individual cameras configured and arranged to capture a substantially 360 degree view, an individual device known as an omnidirectional camera that is capable of capturing a substantially 360 degree view, and/or the like including combinations and/or multiples thereof).
- an omnidirectional capturing device e.g., a collection of individual cameras configured and arranged to capture a substantially 360 degree view, an individual device known as an omnidirectional camera that is capable of capturing a substantially 360 degree view, and/or the like including combinations and/or multiples thereof.
- a user can hold the omnidirectional capturing device and walk through an environment with the omnidirectional capturing device to capture a series of images and/or a video of the environment.
- the omnidirectional capturing device can be mounted to a device (e.g., a vehicle, a mobile tripod, and/or the like including combinations and/or multiples thereof), which is then moved through the environment to capture the video of the environment.
- a video trajectory is computed for the movement of the omnidirectional capturing device using the sequence of images and/or the video and the trajectory can be overlaid on an existing representation of the environment (e.g., a 2D map, such as a floorplan or blueprint).
- FIGS. 1 A, IB, 1C show an embodiment of an image acquisition system 100 for capturing data about an environment.
- the image acquisition system 100 can capture omnidirectional images about an environment and can use the omnidirectional images to determine coordinates, such as three-dimensional coordinates, in the environment.
- the image acquisition system 100 can capture omnidirectional videos of an environment.
- the image acquisition system 100 includes a processing system 102 having an camera 104 associated therewith.
- the camera 104 is an ultra- wide angle camera.
- the processing system 102 can be communicatively coupled to the camera 104.
- the processing system 102 and the camera 104 can be integrated into a single physical device (e.g., integrated into a common housing).
- the processing system 102 includes a processing device 106 (which can be one or more processors (e.g., the processing device(s) 421 of FIG.
- the processing system 102 is configured to process and/or store data captured by the camera 104, such as omnidirectional videos.
- the image acquisition system 100 can also include a coordinate measurement device 103, which can be in communication, via a wired and/or wireless link, to one or both of the processing system 102 and/or the camera 104.
- the coordinate measurement device 103 is a metrology device that measures three-dimensional (3D) coordinates of an environment.
- the coordinate measurement device 103 can use an optical process for acquiring coordinates of surfaces.
- Metrology devices of this category include, but are not limited to time-of-flight (TOF) laser scanners, laser trackers, laser line probes, photogrammetry devices, triangulation scanners, structured light scanners, or systems that use a combination of the foregoing. Examples of such metrology devices are described and shown in co-owned U.S. Patent Publication No. 2022/0137225 entitled “THREE DIMENSIONAL MEASUREMENT DEVICE
- the camera 104 is an ultra-wide angle camera that includes a sensor 110 (FIG. IB), that includes an array of photosensitive pixels.
- the sensor 110 is arranged to receive light from a lens 112.
- the lens 112 is an ultra-wide angle lens that provides (in combination with the sensor 110) a field of view 0 between substantially 100 and substantially 270 degrees.
- the field of view 9 is greater than substantially 180 degrees and less than substantially 270 degrees about an optical axis. It should be appreciated that while embodiments herein describe the lens 112 as a single lens, this is for examplary purposes and the lens 112 includes a plurality of optical elements in other embodiments. It should be further appreciated that in other embodiments, the field of view is greater than 63 degrees, less than 180 degrees, or between 63 degrees and 180 degrees for example.
- the camera 104 includes a pair of sensors 110A, HOB that are arranged to receive light from ultra- wide angle lenses 112A, 112B respectively (FIG. 1C).
- the sensor 110A and lens 112A are arranged to acquire images in a first direction and the sensor HOB and lens 112B are arranged to acquire images in a second direction.
- the second direction is opposite the first direction (e.g. substantially 180 degrees apart).
- a camera having opposingly arranged sensors and lenses with at least substantially 180 degree field of view are sometimes referred to as an omnidirectional camera, 360 degree camera, or a panoramic camera as it acquires an image in a substantially 360 degree volume about the camera.
- any suitable image acquisition device having a wide angle field of view e.g., greater than 63 degrees
- the images are combined to form a single image 128 of at least a substantial portion of the spherical volume about the camera 104 as shown in FIG. IF.
- sequences of omnidirectional images and/or omnidirectional videos are captured (e.g., by the camera 104), such images (which are frames of spherical videos) are stitched together to form spherical images, for example, which are generally geometrically inaccurate due to the nature of the lenses used in the capturing devices.
- the capturing device e.g., the camera 104 passes through areas of an environment where it is dark or where few visual features exist. For example, an indoor hallway with few doors or other features causes drift to occur for tracking the capturing device.
- Tracking refers to detecting the pose of the capturing device during tracking where the pose refers position and orientation of the capturing device.
- the position is a point in space of the capturing device denoted by three coordinates (x,y,z), which are local coordinates for a local coordinate system or world coordinates for a world coordinate system in various instances.
- the orientation refers to how the device is oriented at the position relative to the environment and can be expressed in terms of pitch, roll, and yaw, for example.
- a trajectory is an imaginary line through the perspective center (including the angle of the sensor) along the path traveled for the capturing device (e.g., an omnidirectional capturing device, such as the camera 104).
- trajectory extends along a line that is comprised or a plurality of straight line segments, a continuous or segmented curved line, or a combination of the foregoing.
- One or more embodiments described herein provide for trajectory estimation using omnidirectional images and/or omnidirectional videos captured by an omnidirectional capturing device, such as the camera 104. Additionally or alternatively, one or more embodiments described herein provide for aligning a computed layout of an environment generated using a sequence of omnidirectional images and/or an omnidirectional video to a layout, map, or model of the environment. Examples of layouts, maps, or models of the environment include floor plans, blueprints, computer- aided design (CAD) models, building information modeling (BIM) models, and/or the like including combinations and/or multiples thereof.
- CAD computer- aided design
- BIM building information modeling
- FIG. 2 shows the processing system 102 for trajectory estimation and alignment using omnidirectional images and/or omnidirectional videos according to one or more embodiments described herein.
- the processing system 102 can be any suitable computing device, such as a laptop computer, a desktop computer, a smartphone, a tablet computer, and/or the like, including combinations and/or multiples thereof.
- FIG. 4 depicts the processing system 102 in more detail.
- the processing system 102 includes a processing device 106 (e.g., one or more of the processing devices 421 of FIG. 4), a system memory 108 (e.g., the RAM 424 and/or the ROM 422 of FIG. 13), a network adapter 206 (e.g., the network adapter 426 of FIG. 4), a data store 208, a display 210, a capture engine 212, a photogrammetry engine 214, and a layout alignment engine 216.
- a processing device 106 e.g., one or more of the processing devices 421 of FIG. 4
- a system memory 108 e.g., the RAM 424 and/or the ROM 422 of FIG. 13
- the various components, modules, engines, etc. described regarding FIG. 2 can be implemented as instructions stored on a computer- readable storage medium, as hardware modules, as special-purpose hardware (e.g., application specific hardware, application specific integrated circuits (ASICs), application specific special processors (ASSPs), field programmable gate arrays (FPGAs), as embedded controllers, hardwired circuitry, etc.), or as some combination or combinations of these.
- the engine(s) described herein can be a combination of hardware and programming.
- the programming can be processor executable instructions stored on a tangible memory, and the hardware can include the processing device 106 for executing those instructions.
- the system memory 108 can store program instructions that when executed by the processing device 106 implement the engines described herein.
- Other engines can also be utilized to include other features and functionality described in other examples herein.
- the network adapter 206 enables the processing system 102 to transmit data to and/or receive data from other sources, such as the camera 104.
- the processing system 102 receives image data (e.g., omnidirectional images and/or omnidirectional video of the environment 222) from the camera 104 directly and/or via the network 207.
- the image data (e.g., the omnidirectional images and/or the omnidirectional video) from the camera 104 can be stored in the data store 208 of the processing system 102 as image data 209a, which is displayed on the display 210.
- the network 207 represents any one or a combination of different types of suitable communications networks such as, for example, cable networks, public networks (e.g., the Internet), private networks, wireless networks, cellular networks, or any other suitable private and/or public networks. Further, the network 207 can have any suitable communication range associated therewith and include, for example, global networks (e.g., the Internet), metropolitan area networks (MANs), wide area networks (WANs), local area networks (LANs), or personal area networks (PANs).
- MANs metropolitan area networks
- WANs wide area networks
- LANs local area networks
- PANs personal area networks
- the network 207 includes any type of medium over which network traffic is carried including, but not limited to, coaxial cable, twisted-pair wire, optical fiber, a hybrid fiber coaxial (HFC) medium, microwave terrestrial transceivers, radio frequency communication mediums, satellite communication mediums, or any combination thereof.
- medium over which network traffic is carried including, but not limited to, coaxial cable, twisted-pair wire, optical fiber, a hybrid fiber coaxial (HFC) medium, microwave terrestrial transceivers, radio frequency communication mediums, satellite communication mediums, or any combination thereof.
- the camera 104 e.g., an omnidirectional image capturing device
- the environment 222 e.g., an indoor environment, an outdoor environment, or a combination thereof
- the camera 104 captures a sequence of omnidirectional images and/or an omnidirectional video of at least portions of the environment 222, where the images or video have a relatively wide field of view (e.g., fisheye images, panoramic images, omnidirectional images, and/or the like including combinations and/or multiples thereof).
- the camera 104 can capture fisheye images, and the fisheye images can be stitched together to create a spherical image.
- the omnidirectional images, omnidirectional video, the spherical images, and/or the spherical video can be stored as image data 209a in the data store 208 or another suitable location (e.g., a node of a cloud computing environment).
- the capture engine 212 can control the camera 104 and/or cause the camera 104 to capture the image data 209a (e.g., omnidirectional images and/or an omnidirectional video).
- the photogrammetry engine 214 can generate 3D data representative of at least portions of the environment 222 using the image data 209a.
- the photogrammetry engine 214 can apply photogrammetry techniques to the image data 209a to generate 3D data and can store the resulting 3D data as 3D data 209a in the data store 208 or another suitable location (e.g., a node of a cloud computing environment).
- the photogrammetry engine 214 can simultaneously generate a trajectory and a sparse point cloud of the environment.
- the photogrammetry engine 214 can generate a dense point cloud of the environment once trajectory (partially or completely) is computed.
- Photogrammetry is a technique for measuring objects using images, such as photographic images acquired by a digital camera (e.g., the camera 104) for example.
- Photogrammetry can make 3D measurements from 2D images or photographs, such as omnidirectional images, spherical images, frames of omnidirectional videos, and/or frames of spherical videos.
- images such as photographic images acquired by a digital camera (e.g., the camera 104) for example.
- Photogrammetry can make 3D measurements from 2D images or photographs, such as omnidirectional images, spherical images, frames of omnidirectional videos, and/or frames of spherical videos.
- omnidirectional images such as omnidirectional images, spherical images, frames of omnidirectional videos, and/or frames of spherical videos.
- common points or features are identified on each image.
- the 3D coordinate of the feature/point are determineable using trigonometry or triangulation.
- photogrammetry is based on markers/targets (e.g., lights or reflective stickers) or based on natural features.
- images are captured, such as with a camera (e.g., the camera 104) having a sensor, such as a photosensitive array for example.
- a camera e.g., the camera 104
- a sensor such as a photosensitive array for example.
- 3D coordinates of points in the environment 222 is determined based on common features or points and information on the position and orientation of the camera 104 when each image was acquired.
- features are identified in two or more images.
- FIGS. 3A and 3B together depict a flow diagram of a method 300 for trajectory estimation and alignment using omnidirectional images and/or omnidirectional videos according to one or more embodiments described herein.
- the method 300 can be performed by any suitable system and/or device, such as the processing system 102 of FIGS. 1A and 2, the processing system 400 of FIG. 4, and/or the like including combinations and/or multiples thereof.
- the method 300 is now described with reference to FIGS. 1A and 2 but is not so limited.
- the method 300 includes a capturing phase 302 and a processing phase 304.
- the capturing phase 302 and the processing phase 304 is performed substantially sequentially and/or at different times.
- the capturing phase 302 and the processing phase 304 can be performed by the same system or device or by different systems or devices.
- the processing system 102 can perform the capturing in conjunction with the camera 104, collectively as the image acquisition system 100.
- the image acquisition system 100 e.g., the combination of the processing system 102 and the camera 104
- another system or device e.g., the processing system 400 of FIG. 4, a cloud computing node of a cloud computing system, and/or the like including combinations and/or multiples thereof
- the processing phase 304 can perform the processing phase 304.
- the capturing phase 302 begins at block 312, where the camera 104 initiates capturing image data (e.g., omnidirectional images and/or omnidirectional videos).
- the image data can include fisheye images and/or fisheye videos (e.g., frames from fisheye videos).
- the fisheye images and/or fisheye videos can be stitched together to form spherical images and/or spherical videos.
- the image data can include spherical images and/or spherical videos (e.g., frames from the spherical videos).
- the processing system 102 builds a series of trajectories as the camera 104 moves relative to the environment. For example, at block 314, the processing system 102 generates a trajectory while capturing the image data as the camera 104 moves through the environment and/or as the environment moves relative to the camera 104. According to another embodiment, the processing system 102 builds the trajectories after the capturing is completed. For example, once the capturing is completed, the image data is transferred from the camera 104 to the processing system 102, and the processing system 102 computes the trajectories. Thus, according to one or more embodiments described herein, the trajectories can be generated while capturing the image data or after the image data capture is completed.
- a trajectory is an imaginary line (or series of lines) through the perspective center (including the angle of the sensor) along the path traveled for the capturing device (e.g., an omnidirectional capturing device, such as the camera 104).
- Trajectory construction provides for estimating the position and angular orientation of images in 3D space. Because the sequence of the image capture is known, the images can be connected in 3D space with a unique sequence. The order of adding images to compute the trajectory can be different depending on the method of trajectory reconstruction used. According to an embodiment, trajectory estimation includes computing the trajectory by adding images sequentially with the same order of image capture. However, other approaches to computing the trajectory can be implemented.
- the trajectory can be other than the path along which the capturing device traveled. That is, trajectory reconstruction can be expanded include generating to an optimal direction that is not necessarily the direction that sequence of image/video are captured. Each of the trajectories of the series of trajectories is generated until a reliability threshold is no longer satisfied. That is, the processing system 102 builds a trajectory during the capturing (block 314), and the processing system 102 performs a reliability check at block 316. At decision block 318, is determined whether the reliability threshold is satisfied. If the reliability check is satisfied (“YES” at decision block 318), the camera 314 continues to build the trajectory while capturing the image data at block 314.
- the reliability check at block 316 can be performed using internal measures of the camera 104, such as a number of common features between or among images or generated in 3D space, the root mean squares of back projected errors (RMSE), and/or the like including combinations and/or multiples thereof.
- RMSE root mean squares of back projected errors
- the computed trajectory is stored for later post-processing (320).
- Non-limiting examples of reliability thresholds including a drift threshold (e.g., an amount of drift), an error threshold (e.g., an amount of error), and/or the like including combinations and/or multiples thereof.
- the processing system 102 continues to build the trajectory while capturing the image data at block 314. If the reliability check is not satisfied (e.g., the reliability threshold is exceeded) (“NO at decision block 318), the processing system 102 stops building the current trajectory. That is, once the reliability threshold is no longer satisfied (e.g., the amount of drift exceeds the drift threshold, the amount of error exceeds the error threshold), the trajectory building ends and a new trajectory can be built. Specifically, at block 320, the trajectory is saved responsive to the reliability check (block 316) indicating that the reliability threshold is not satisfied (decision block 318).
- No more image data (e.g., omnidirectional images and/or omnidirectional video) is added to the trajectory once the reliability threshold is exceeded according to one or more embodiments described herein.
- decision block 322 it is determined whether to build a new trajectory from the same data set (e.g., a next trajectory in the series of trajectories). If so (“YES” at decision block 322), the method 300 returns to block 314 and proceeds to generate a new trajectory while capturing the image data.
- the method 300 proceeds to block 324 where a point cloud for each of the trajectories is generated.
- the camera 104 or another suitable device e.g., the processing system 102 generates a dense point cloud for each of the trajectories using the image data (e.g., omnidirectional images, omnidirectional video, and/or the like including combinations and/or multiples thereof).
- the sparse point cloud of each trajectory has been already computed together with the corresponding trajectory reconstruction.
- photogrammetry can be used to generate the dense point cloud as described herein.
- the photogrammetry engine 214 can be used to generate dense point clouds for the trajectories using photogrammetry.
- the capturing phase 302 concludes, and the method 300 proceeds to the processing phase 304 (see FIG. 3B).
- the method 300 begins the processing phase 304 at block 326.
- the processing system 102 uses the point cloud(s) generated for each of the trajectories at block 324 to generate a layout of the environment.
- the layout can be a 2D layout, a 3D layout, and/or the like including combinations and/or multiples thereof.
- the 2D or 3D layout can be computed through deep learning based techniques, for example.
- Examples of such deep learning based techniques include are described in the following references: “Learning Indoor Layouts from Simple Point-Clouds” by Mahmood et al.; “3D vision : pointcloud based room segmentation algorithm for accurate indoor odometry” by Brun et al.; “Floorplan generation from 3D point clouds: A space partitioning approach” by Fang et al.; and “Generation of Approximate 2D and 3D Floor Plans from 3D Point Clouds” by Stojanovic et al. Other possible deep learning based techniques are also possible.
- the processing system 102 maps the layout from block 326 to a known (or given) layout.
- the known (or given) layout can be a floor plan, a blueprint, CAD model, a BIM model, and/or the like including combinations and/or multiples thereof.
- the layout alignment engine 216 generates mapping parameters, which includes scale, rotation matrix, translation, and/or the like including combinations and/or multiples thereof.
- the known layout can be a known map that is a picture.
- the picture can be converted to a vectorized map (e.g., a CAD model).
- the vectorized map is an architectural floor plan, map from a mapping service (e.g., GOOGLE® maps), created from a 3D point cloud (e.g., using 3D mobile mapping), and/or the like including combinations and/or multiples thereof.
- the mapping at block 328 will also perform CAD model to CAD model mapping using registration techniques, such as Iterative Closest Point (ICP) following FAST Point Feature Histogram as described in “CAD-based Pose Estimation - Algorithm Investigation” by Annette Lef.
- ICP Iterative Closest Point
- the processing system 102 aligns the trajectories to the known layout using the mapping parameters from block 328.
- the mapping parameters are used modify the trajectories to align with the known layout.
- many or most of the frames of image data are aligned to the known layout with minimal drift and increased accuracy.
- the processing phase 304 then ends.
- FIGS. 3A and 3B represents an illustration, and that other processes may be added or existing processes may be removed, modified, or rearranged without departing from the scope of the present disclosure.
- the method 300 can be implemented using an omnidirectional camera and a processing system that supports light detection and ranging (LIDAR).
- LIDAR light detection and ranging
- the method 300 supports the use of 2D images, such as frame images captured by a camera of a smartphone.
- An angle of the camera can be used to provide perspective, for example.
- spatial information from spatial images and/or spatial video can be added to 2D images (like orientation and position) and then can be connected to other existing data to form four-dimensional (4D) (time in addition to space).
- FIG. 4 depicts a block diagram of a processing system 400 for implementing the techniques described herein.
- the processing system 400 is an example of a cloud computing node of a cloud computing environment.
- processing system 400 has one or more central processing units (“processors” or “processing resources” or “processing devices”) 421a, 421b, 421c, etc. (collectively or generically referred to as processor(s) 421 and/or as processing device(s)).
- each processor 421 can include a reduced instruction set computer (RISC) microprocessor.
- RISC reduced instruction set computer
- Processors 421 are coupled to system memory (e.g., random access memory (RAM) 424) and various other components via a system bus 433.
- RAM random access memory
- ROM Read only memory
- BIOS basic input/output system
- I/O adapter 427 is a small computer system interface (SCSI) adapter that communicates with a hard disk 423 and/or a storage device 425 or any other similar component.
- SCSI small computer system interface
- mass storage 434 are collectively referred to herein as mass storage 434.
- Operating system 440 for execution on processing system 400 is stored in mass storage 434.
- system bus 433 interconnects system bus 433 with an outside network 436 enabling processing system 400 to communicate with other such systems.
- a display 435 is connected to system bus 433 by display adapter 432, which includes a graphics adapter to improve the performance of graphics intensive applications and a video controller.
- display adapter 432 which includes a graphics adapter to improve the performance of graphics intensive applications and a video controller.
- adapters 426, 427, and/or 432 connected to one or more I/O busses that are in turn connected to system bus 433 via an intermediate bus bridge (not shown).
- Suitable VO buses for connecting peripheral devices such as hard disk controllers, network adapters, and graphics adapters typically include common protocols, such as the Peripheral Component Interconnect (PCI). Additional input/output devices are shown as connected to system bus 433 via user interface adapter 428 and display adapter 432.
- PCI Peripheral Component Interconnect
- processing system 400 includes a graphics processing unit 437.
- Graphics processing unit 437 is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display.
- Graphics processing unit 437 is very efficient at manipulating computer graphics and image processing, and has a highly parallel structure that makes it more effective than general- purpose CPUs for algorithms where processing of large blocks of data is done in parallel.
- processing system 400 includes processing capability in the form of processors 421, storage capability including system memory (e.g., RAM 424), and mass storage 434, input means such as keyboard 424 and mouse 430, and output capability including speaker 431 and display 435.
- system memory e.g., RAM 424
- mass storage 434 collectively store the operating system 440 to coordinate the functions of the various components shown in processing system 400.
- image data comprises video selected from a group consisting of spherical video and fisheye video.
- image data comprises video selected from a group consisting of spherical images and fisheye images.
- further embodiments of the system include that camera is a panoramic camera.
- further embodiments of the system include that the camera is an omnidirectional camera, wherein the omnidirectional camera has a substantially 360- degree field of view.
- further embodiments of the system include that generating the point clouds is performed using photogrammetry.
- further embodiments of the system include that a first trajectory of the series of trajectories is generated until the reliability threshold is exceeded.
- further embodiments of the system include that the reliability threshold is determined to be exceeded by performing a reliability check.
- further embodiments of the system include that the reliability check is based at least in part on a number of common features between two or more images.
- further embodiments of the system include that the reliability check is based at least in part on a root mean squares of back projected errors.
- further embodiments of the computer-implemented method include performing the reality check prior to determining whether the reliability threshold is satisfied for the first trajectory.
- further embodiments of the computer-implemented method include that the reliability check is based at least in part on a number of common features between two or more images.
- further embodiments of the computer-implemented method include that the reliability check is based at least in part on a root mean squares of back projected errors.
- further embodiments of the computer-implemented method include: generating a first point cloud for the first traj ectory; and generating a second point cloud for the second trajectory.
- further embodiments of the computer-implemented method include that the first point cloud and the second point is generated using photogrammetry.
- image data is selected form a group consisting of fisheye images, fisheye video, spherical images, and spherical video.
- further embodiments of the computer-implemented method include that the plurality of trajectories are generated while capturing image data.
- one or more embodiments described herein will be embodied as a system, method, or computer program product and will take the form of a hardware embodiment, a software embodiment (including firmware, resident software, micro-code, etc.), or a combination thereof. Furthermore, one or more embodiments described herein take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
Abstract
Description
Claims
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP24737273.3A EP4724983A1 (en) | 2023-06-12 | 2024-06-11 | Trajectory estimation and alignment using omnidirectional images / videos |
| US19/395,408 US20260094285A1 (en) | 2023-06-12 | 2025-11-20 | Trajectory estimation and alignment using omnidirectional images / videos |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202363507616P | 2023-06-12 | 2023-06-12 | |
| US63/507,616 | 2023-06-12 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US19/395,408 Continuation US20260094285A1 (en) | 2023-06-12 | 2025-11-20 | Trajectory estimation and alignment using omnidirectional images / videos |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024258840A1 true WO2024258840A1 (en) | 2024-12-19 |
Family
ID=91738821
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2024/033384 Ceased WO2024258840A1 (en) | 2023-06-12 | 2024-06-11 | Trajectory estimation and alignment using omnidirectional images / videos |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20260094285A1 (en) |
| EP (1) | EP4724983A1 (en) |
| WO (1) | WO2024258840A1 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210343032A1 (en) * | 2019-12-13 | 2021-11-04 | Reconstruct Inc. | Interior photographic documentation of architectural and industrial environments using 360 panoramic videos |
| US20220137225A1 (en) | 2020-11-02 | 2022-05-05 | Faro Technologies, Inc. | Three dimensional measurement device having a camera with a fisheye lens |
-
2024
- 2024-06-11 WO PCT/US2024/033384 patent/WO2024258840A1/en not_active Ceased
- 2024-06-11 EP EP24737273.3A patent/EP4724983A1/en active Pending
-
2025
- 2025-11-20 US US19/395,408 patent/US20260094285A1/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20210343032A1 (en) * | 2019-12-13 | 2021-11-04 | Reconstruct Inc. | Interior photographic documentation of architectural and industrial environments using 360 panoramic videos |
| US20220137225A1 (en) | 2020-11-02 | 2022-05-05 | Faro Technologies, Inc. | Three dimensional measurement device having a camera with a fisheye lens |
Non-Patent Citations (5)
| Title |
|---|
| BRUN ET AL., 3D VISION : POINT-CLOUD BASED ROOM SEGMENTATION ALGORITHM FOR ACCURATE INDOOR ODOMETRY |
| FANG ET AL., FLOORPLAN GENERATION FROM 3D POINT CLOUDS: A SPACE PARTITIONING APPROACH |
| LI XIANGCHENG ET AL: "Dynamic Objects Recognizing and Masking for RGB-D SLAM", 2021 4TH INTERNATIONAL CONFERENCE ON INTELLIGENT AUTONOMOUS SYSTEMS (ICOIAS), IEEE, 14 May 2021 (2021-05-14), pages 169 - 174, XP033969585, DOI: 10.1109/ICOIAS53694.2021.00038 * |
| MAHMOOD ET AL., LEARNING INDOOR LAYOUTS FROM SIMPLE POINT-CLOUDS |
| STOJANOVIC ET AL., GENERATION OF APPROXIMATE 2D AND 3D FLOOR PLANS FROM 3D POINT CLOUDS |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4724983A1 (en) | 2026-04-15 |
| US20260094285A1 (en) | 2026-04-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5832341B2 (en) | Movie processing apparatus, movie processing method, and movie processing program | |
| CN109115186B (en) | A 360° measurable panoramic image generation method for vehicle-mounted mobile measurement system | |
| US20110110557A1 (en) | Geo-locating an Object from Images or Videos | |
| CN111127524A (en) | A method, system and device for trajectory tracking and three-dimensional reconstruction | |
| You et al. | An accurate and practical calibration method for roadside camera using two vanishing points | |
| CN110033489A (en) | A kind of appraisal procedure, device and the equipment of vehicle location accuracy | |
| KR20130138247A (en) | Rapid 3d modeling | |
| CN112739983B (en) | Method for correcting point cloud data and related device | |
| CN110260857A (en) | Calibration method, device and storage medium of visual map | |
| US11776148B1 (en) | Multi-view height estimation from satellite images | |
| JP7836988B2 (en) | Calculation method and calculation apparatus | |
| Luo et al. | Fast terrain mapping from low altitude digital imagery | |
| CN114969221A (en) | Method for updating map and related equipment | |
| Yuan et al. | Three dimensional deformation measurement method based on image guided point cloud registration | |
| Junior et al. | Calibration of a catadioptric omnidirectional vision system with conic mirror | |
| CN119991928A (en) | A three-dimensional real scene modeling method and system based on unmanned aerial vehicle | |
| US20240176025A1 (en) | Generating a parallax free two and a half (2.5) dimensional point cloud using a high resolution image | |
| WO2018134866A1 (en) | Camera calibration device | |
| US9852542B1 (en) | Methods and apparatus related to georeferenced pose of 3D models | |
| CN119048718B (en) | A method and electronic device for augmented reality three-dimensional registration | |
| US20260094285A1 (en) | Trajectory estimation and alignment using omnidirectional images / videos | |
| CN113077500A (en) | Panoramic viewpoint positioning and attitude determining method, system, equipment and medium based on plane graph | |
| US20240069203A1 (en) | Global optimization methods for mobile coordinate scanners | |
| Novikov et al. | Vehicle geolocalization from drone imagery | |
| CN115170847B (en) | Coal mine underground monocular vision positioning method and device based on prior map constraint |
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: 24737273 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2024737273 Country of ref document: EP Effective date: 20260112 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024737273 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2024737273 Country of ref document: EP Effective date: 20260112 |
|
| ENP | Entry into the national phase |
Ref document number: 2024737273 Country of ref document: EP Effective date: 20260112 |
|
| ENP | Entry into the national phase |
Ref document number: 2024737273 Country of ref document: EP Effective date: 20260112 |
|
| ENP | Entry into the national phase |
Ref document number: 2024737273 Country of ref document: EP Effective date: 20260112 |
|
| WWP | Wipo information: published in national office |
Ref document number: 2024737273 Country of ref document: EP |