GB2618278A - Dense 3-D occupancy mapping - Google Patents

Dense 3-D occupancy mapping Download PDF

Info

Publication number
GB2618278A
GB2618278A GB2312319.3A GB202312319A GB2618278A GB 2618278 A GB2618278 A GB 2618278A GB 202312319 A GB202312319 A GB 202312319A GB 2618278 A GB2618278 A GB 2618278A
Authority
GB
United Kingdom
Prior art keywords
sub
map
depth
occupancy
updating
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.)
Pending
Application number
GB2312319.3A
Other versions
GB202312319D0 (en
Inventor
J Tarrio Juan
F Alcantarilla Pablo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Slamcore Ltd
Original Assignee
Slamcore Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Slamcore Ltd filed Critical Slamcore Ltd
Publication of GB202312319D0 publication Critical patent/GB202312319D0/en
Publication of GB2618278A publication Critical patent/GB2618278A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • G01C21/32Structuring or formatting of map data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

A computer-implemented method is provided, for building and updating a 3-D occupancy map of occupied and unoccupied spaces in a 3-D environment. A plurality of overlapping sub-maps are defined. Each sub-map describes a different volumetric region of the 3-D environment. Two or more of the sub-maps are updated based on a 2-D depth image and associated pose estimate.

Claims (22)

1. A computer-implemented method for building and updating a 3-D occupancy map of occupied and unoccupied spaces in a 3-D environment, the method comprising: defining (210) a plurality of sub-maps (10, 11 , 12, 13, 14) of the 3-D occupancy map, each sub-map describing a different volumetric region of the 3-D environment, each sub-map having associated with it a sub-map pose defining a position and orientation of the respective volumetric region within the 3-D occupancy map, wherein the volumetric regions overlap with one another; obtaining (220) a set of frames characterising the environment, each frame comprising a 2-D depth image and a pose estimate describing a position and orientation at which the depth image was captured; and updating (300) two or more of the sub-maps based on one of the 2-D depth images and its associated pose estimate.
2. The method of claim 1 , further comprising: obtaining (230) updated pose information; and in response, updating (240) one or more of the sub-map poses, based on the received updated pose information.
3. The method of claim 2, wherein receiving the updated pose information comprises obtaining (230) updated pose estimates for one or more of the frames, and the method comprises updating (240) one or more of the sub-map poses based on the updated pose estimates.
4. The method of any one of claims 1-3, wherein each sub-map comprises an octree for storing occupancy information, each octree comprising a hierarchy of nodes, each node being associated with a voxel, wherein each leaf node of the octree includes an occupancy indication.
5. The method of claim 2 or claim 3, wherein each sub-map comprises an octree for storing occupancy information, each octree comprising hierarchy of nodes, each node being associated with a voxel, wherein each leaf node of the octree contains an occupancy indication indicating whether the respective voxel is occupied or unoccupied, 43 and wherein updating the at least one sub-map based on a given 2-D depth image comprises: projecting (310) each voxel of the sub-map into the 2-D depth image, to define a projected area within the 2-D depth image; and updating (400) each voxel based on depth values of the 2-D depth image that are located within the respective projected area.
6. The method of claim 5, wherein updating (400) each voxel comprises: defining (410) a first interval of depths encompassed by the voxel; defining (420) a second interval of depth values in the depth image that are located within the voxelâ s projected area; calculating (430), based on the first interval and the second interval, an expected variation in a value of the occupancy indication within the voxel and if (435) the expected variation is greater than a threshold, sub-dividing (446) the voxel into eight sub-voxels.
7. The method of claim 5 or claim 6, wherein updating at least one voxel comprises updating (456) the occupancy indication of the voxel, based on the depth values that are located within the voxelâ s projected area, wherein the occupancy indication is updated using an inverse sensor model, which determines the probability of occupation along a ray, given a queried point on the ray and a depth value in the depth image.
8. The method of any one of claims 5-7, further comprising, before updating (400) each voxel, pre-computing (260) a pooling structure based on the 2-D depth image, wherein the pooling structure comprises one of: a pyramidal min-max pooling structure, describing the minimum and maximum depth values for each of a plurality of regions in the depth image, the regions including regions at different resolutions, the regions at each scale being arranged in a regular array; a mean-variance integral image pooling structure, comprising integral images computed for the zeroth, first and second moments of depth; and a smooth-max integral image pooling structure, comprising integral images computed for positive and negative alpha-softmax functions of depth. 44
9. The method of any one of claims 5-8, wherein updating the at least one submap comprises pruning (460) a group of eight child nodes from the octree if their occupancy can be indicated sufficiently accurately by a single occupancy indication associated with the parent node of the group of eight child nodes.
10. The method of any one of claims 2-3 or 5-9, further comprising: before updating (300) the at least one sub-map, fusing (250) two or more of the 2-D depth images into a combined depth image, and updating (300) the at least one sub-map based on the combined depth image.
11 . The method of claim 10, wherein the fusing comprises: re-projecting (252) depth values from one or more of the 2-D depth images, based on the pose estimates associated with the frames, to produce one or more reprojected depth images; and calculating (256) average depth values based at least in part on the re-projected depth images.
12. The method of claim 13, wherein calculating the average depth values comprises, for each pixel of the combined depth image: computing (254) a histogram of depth values, based on the re-projected depth images; and calculating (256) the average depth value based at least in part on the mode of the histogram.
13. The method of any one of the preceding claims, further comprising: maintaining a list of currently active sub-maps; and defining (210) a new sub-map if occupancy information derived from the 2-D depth image extends outside all of the currently active sub-maps.
14. The method of any one of the preceding claims, further comprising: identifying (510), among the plurality of sub-maps, a first sub-map and a second sub-map, wherein the second sub-map overlaps spatially with the first sub-map; merging (520) the second sub-map into the first sub-map; and discarding (530) the second sub-map.
15. The method of claim 14, further comprising: identifying (522) neighbouring sub-maps of the first sub-map; and before discarding the second sub-map, merging (524) the second sub-map into the neighbouring sub-maps.
16. A computer program comprising computer program code configured to cause one or more physical computing devices to perform all the steps of the method of any one of the preceding claims when said computer program is run on the one or more physical computing devices.
17. A mobile device configured to implement the method of any one of claims 1-15.
18. A mobile device (100) configured to build and update a 3-D occupancy map of occupied and unoccupied spaces in a 3-D environment, the mobile device comprising: a memory (110), for storing the 3-D occupancy map; and one or more processors (140), configured to: define (210) a plurality of sub-maps of the 3-D occupancy map, each sub-map describing a different volumetric region of the 3-D environment, each sub-map having associated with it a sub-map pose defining a position and orientation of the respective volumetric region within the 3-D occupancy map, wherein the volumetric regions overlap with one another; wherein the mobile device further comprises: at least one camera (120), configured to capture (222) visual data, comprising a set of frames characterising the environment; and an inertial measurement unit (134), configured to generate (224) inertial data, wherein the inertial measurement unit comprises at least one or any combination of two or more of: an accelerometer (132), a gyroscope (134) and a compass, and wherein the one or more processors (140) are configured to: calculate (226) a pose estimate of the mobile device for each frame, based on the visual data and the inertial data; produce (228) a 2-D depth image for each frame; and update (300) two or more of the sub-maps based on one of the 2-D depth images and its associated pose estimate.
19. The mobile device of claim 18, wherein the one or more processors are further configured to: obtain (230) updated pose information; and in response, update (240) one or more of the sub-map poses, based on the updated pose information.
20 The mobile device of claim 18 or claim 19, wherein the at least one camera comprises a stereo camera pair (120) configured to capture stereo image pairs, and the one or more processors are configured to produce (228) the 2-D depth images based on the stereo image pairs.
21. The mobile device of any one of claims 18 to 20, wherein the one or more processors (140) are configured to: calculate (230) an updated pose estimate for each frame; and update (240) one or more of the sub-map poses based on the updated pose estimates.
22. The mobile device of any one of claims 18-21, wherein the mobile device is comprised in a handheld device, a robot, or a vehicle.
GB2312319.3A 2021-01-29 2022-01-27 Dense 3-D occupancy mapping Pending GB2618278A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB2101281.0A GB2603179A (en) 2021-01-29 2021-01-29 Dense 3-D occupancy mapping
PCT/EP2022/051922 WO2022162075A1 (en) 2021-01-29 2022-01-27 Dense 3-d occupancy mapping

Publications (2)

Publication Number Publication Date
GB202312319D0 GB202312319D0 (en) 2023-09-27
GB2618278A true GB2618278A (en) 2023-11-01

Family

ID=74865471

Family Applications (2)

Application Number Title Priority Date Filing Date
GB2101281.0A Pending GB2603179A (en) 2021-01-29 2021-01-29 Dense 3-D occupancy mapping
GB2312319.3A Pending GB2618278A (en) 2021-01-29 2022-01-27 Dense 3-D occupancy mapping

Family Applications Before (1)

Application Number Title Priority Date Filing Date
GB2101281.0A Pending GB2603179A (en) 2021-01-29 2021-01-29 Dense 3-D occupancy mapping

Country Status (2)

Country Link
GB (2) GB2603179A (en)
WO (1) WO2022162075A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3617749B1 (en) * 2018-09-03 2020-11-11 Zenuity AB Method and arrangement for sourcing of location information, generating and updating maps representing the location
CN110749901B (en) * 2019-10-12 2022-03-18 劢微机器人科技(深圳)有限公司 Autonomous mobile robot, map splicing method and device thereof, and readable storage medium
CN111737395B (en) * 2020-08-19 2020-12-22 浙江欣奕华智能科技有限公司 Method and device for generating occupancy grid map and robot system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HO BING-JUI ET AL, "Virtual Occupancy Grid Map for Submap-based Pose Graph SLAM and Planning in 3D Environments", 2018 IEEE/RSJ INTERNATIONAL CONFERENCE ON INTELLIGENT ROBOTS AND SYSTEMS (IROS), IEEE, (2018-10-01), pgs 2175-2182, DOI:10.1109/IROS.2018.8594234, [retrieved on 2018-12-27], abstract *
REHDER EIKE ET AL, "Submap-based SLAM for road markings", 2015 IEEE INTELLIGENT VEHICLES SYMPOSIUM (IV), IEEE, 28 June 2015, (2015-06-28), pages 1393-1398, DOI: 10.1109/IVS.2015.7225910, [retrieved on 2015-08-26], abstract figures 1, 5 sections II, III *
YIDUO WANG ET AL, "Elastic and Efficient LiDAR Reconstruction for Large-Scale Exploration Tasks", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY, 14853, 19 October 2020 (2020-10-19), abstract, figures 4-6 sections III, IV *

Also Published As

Publication number Publication date
GB202312319D0 (en) 2023-09-27
WO2022162075A1 (en) 2022-08-04
GB2603179A (en) 2022-08-03
GB202101281D0 (en) 2021-03-17

Similar Documents

Publication Publication Date Title
CN109084732B (en) Positioning and navigation method, device and processing equipment
US11086016B2 (en) Method and apparatus for tracking obstacle
KR20220025028A (en) Method and device for building beacon map based on visual beacon
CN108520554B (en) Binocular three-dimensional dense mapping method based on ORB-SLAM2
CN114018236B (en) Laser vision strong coupling SLAM method based on self-adaptive factor graph
CN111275750A (en) Indoor space panoramic image generation method based on multi-sensor fusion
CN105865462B (en) The three-dimensional S LAM method based on event with depth enhancing visual sensor
CN111366153B (en) Positioning method for tight coupling of laser radar and IMU
CN111862214B (en) Computer equipment positioning method, device, computer equipment and storage medium
CN113240734B (en) Vehicle cross-position judging method, device, equipment and medium based on aerial view
US10134182B1 (en) Large scale dense mapping
CN113514843A (en) Multi-subgraph laser radar positioning method and system and terminal
WO2024140318A1 (en) Pose estimation method and apparatus of mobile robot, mobile robot and medium
CN115128628A (en) Road grid map construction method based on laser SLAM and monocular vision
CN117389305A (en) Unmanned aerial vehicle inspection path planning method, system, equipment and medium
CN114529585A (en) Mobile equipment autonomous positioning method based on depth vision and inertial measurement
CN110989619A (en) Method, apparatus, device and storage medium for locating object
CN111899277B (en) Moving object detection method and device, storage medium and electronic device
GB2618278A (en) Dense 3-D occupancy mapping
CN111765883A (en) Monte Carlo positioning method and equipment for robot and storage medium
CN116045965A (en) Multi-sensor-integrated environment map construction method
CN113160419B (en) Building elevation model building method and device
CN109343074A (en) Mobile humanoid robot and its map constructing method, device and readable storage medium storing program for executing
TW202306400A (en) Occupancy mapping for autonomous control of a vehicle
CN114202567A (en) Point cloud processing obstacle avoidance method based on vision