WO2022000260A1 - 地图的更新方法、装置、可移动平台及存储介质 - Google Patents

地图的更新方法、装置、可移动平台及存储介质 Download PDF

Info

Publication number
WO2022000260A1
WO2022000260A1 PCT/CN2020/099243 CN2020099243W WO2022000260A1 WO 2022000260 A1 WO2022000260 A1 WO 2022000260A1 CN 2020099243 W CN2020099243 W CN 2020099243W WO 2022000260 A1 WO2022000260 A1 WO 2022000260A1
Authority
WO
WIPO (PCT)
Prior art keywords
map
point cloud
area
origin
boundary
Prior art date
Application number
PCT/CN2020/099243
Other languages
English (en)
French (fr)
Inventor
陈琳
颜钊
张�林
Original Assignee
深圳市大疆创新科技有限公司
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 深圳市大疆创新科技有限公司 filed Critical 深圳市大疆创新科技有限公司
Priority to CN202080005442.9A priority Critical patent/CN112789609A/zh
Priority to PCT/CN2020/099243 priority patent/WO2022000260A1/zh
Publication of WO2022000260A1 publication Critical patent/WO2022000260A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/56Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras

Definitions

  • the embodiments of the present invention relate to the technical field of data processing, and in particular, to a method, device, movable platform and storage medium for updating a map.
  • Map update refers to the process of correcting the map content according to the actual situation to ensure the real-time, accurate and reliable map display.
  • the steps of map updating include: obtaining a depth map, generating point cloud data corresponding to the depth map, updating a historical map based on the point cloud data, and obtaining an updated map.
  • Embodiments of the present invention provide a map updating method, device, movable platform and storage medium.
  • a first aspect of the present invention is to provide a method for updating a map, comprising:
  • the second map is updated according to the effective area and the first map to obtain a target map.
  • a second aspect of the present invention is to provide a device for updating a map, comprising:
  • a processor for running a computer program stored in the memory to achieve:
  • the second map is updated according to the effective area and the first map to obtain a target map.
  • a third aspect of the present invention is to provide a movable platform, comprising:
  • the above-mentioned map updating device is arranged on the fuselage.
  • a fourth aspect of the present invention is to provide a computer-readable storage medium, the storage medium is a computer-readable storage medium, and program instructions are stored in the computer-readable storage medium, and the program instructions are used in the first aspect. how to update the map described above.
  • the map updating method, device, movable platform and storage medium provided by the embodiments of the present invention can effectively reduce the amount of data processing during the map updating operation, reduce the memory bandwidth occupied by the data, and thus effectively improve the performance of the map.
  • the quality and efficiency of the update operation which in turn facilitates the corresponding map navigation operation based on the constructed map.
  • 1 is a schematic diagram of a grid map
  • FIG. 2 is a schematic diagram of point cloud data being stored in blocks according to the memory storage method of the grid map
  • Figure 3 is a schematic diagram of the existence of objects or obstacles in the map
  • FIG. 4 is a schematic diagram of a memory operation corresponding to map update processing
  • FIG. 5 is a schematic flowchart of a method for updating a map according to an embodiment of the present invention.
  • FIG. 6 is a schematic flowchart of obtaining the first map corresponding to the current moment in FIG. 5;
  • FIG. 7 is a schematic flow chart 1 of determining an effective area for updating the second map in FIG. 5;
  • FIG. 8 is a schematic diagram of determining an effective area for updating the second map in FIG. 7;
  • FIG. 9 is a second schematic flow chart of determining an effective area for updating the second map in FIG. 5;
  • FIG. 10 is a schematic diagram of determining an effective area for updating the second map in FIG. 9;
  • FIG. 11 is a schematic diagram of determining an effective area for updating the second map according to an embodiment of the present invention.
  • FIG. 12 is a schematic flowchart of obtaining the area boundary for identifying the effective area in FIG. 11;
  • FIG. 13 is a schematic diagram of determining a maximum boundary position corresponding to the grid map based on the infinity point position according to an embodiment of the present invention
  • FIG. 14 is a schematic flowchart of determining the area boundary of the effective area based on the origin position, the maximum boundary position and the point cloud position in FIG. 12;
  • 15 is a schematic flowchart of another method for updating a map according to an embodiment of the present invention.
  • FIG. 16 is a schematic flowchart of identifying whether the point cloud data is valid in FIG. 15;
  • FIG. 17 is a schematic diagram of a plurality of sets of binocular devices provided on a movable platform provided by an application embodiment of the present invention.
  • FIG. 18 is a top view of a grid map provided by an application embodiment of the present invention.
  • FIG. 19 is a schematic structural diagram of an apparatus for updating a map according to an embodiment of the present invention.
  • FIG. 20 is a schematic structural diagram of a movable platform according to an embodiment of the present invention.
  • Simultaneous localization and mapping is to hope that the movable platform (such as: UAV, mobile robot, etc.) starts from an unknown location in an unknown environment, and repeats the observed map during the movement process.
  • the movable platform such as: UAV, mobile robot, etc.
  • Local map construction based on depth map is a key technology in the field of artificial intelligence (AI).
  • AI artificial intelligence
  • the navigation operation can be performed based on the constructed local map.
  • autonomous navigation may include the following steps: acquiring image data collected by an image sensor, analyzing and processing the image data, and obtaining a disparity map, Then, the disparity map is used to output the 3D point cloud in the world coordinate system, and the 3D point cloud is used to update the historical map information to generate a local map, so as to use the updated map for path planning and autonomous navigation operations.
  • the local map can be a grid map, as shown in Figure 1, a grid in the grid map represents whether there is an object (obstacle) in a cube area (a grid) in space
  • the number of symbols corresponding to a grid can be identified as 16bit data. Specifically, when the number of symbols is 32767, the probability of identifying obstacles in the grid is at most 1, and the number of symbols is - When it is 32768, the probability that there is an obstacle in the grid is 0.
  • Mwid can be used to represent the bit width of the grid map
  • the size of the grid map can be identified as Lx*Ly*Lz
  • the resolution is set to Res
  • the actual space size identified by a grid is Res* Res*Res.
  • Lx, Ly, and Lz represent the length, width, and height of the grid map, respectively.
  • the size of Res can be set differently according to the actual application scenario, for example, the unmanned vehicle can be set to 1m, 0.5m or 0.3m, etc.
  • the depth map is the coordinates in the camera coordinate system.
  • the depth map can be converted into the world coordinate system. , which can be achieved by the following formula:
  • P c is the coordinates of the depth map in the camera coordinate system
  • P w is the coordinates of the depth map in the world coordinate system
  • R c2w is the rotation matrix of the camera coordinate system converted to the world coordinate system
  • t c2w is the camera coordinate system conversion The translation matrix to the world coordinate system.
  • the position of the depth map in the grid map can be determined. Specifically, the position of the point cloud data in the grid map can be determined by the following formula:
  • P w is the coordinates of the depth map in the world coordinate system
  • P mstart is the initial position of the origin of the grid map in the world coordinate system
  • Res is the resolution of the grid map
  • P idx is the point cloud data in the grid location on the map.
  • the 3D point cloud data in the grid map can be obtained.
  • the grid map needs to be stored in the memory.
  • the amount of data stored in the map is Lx*Ly*Lz*Mwid bits, which is huge.
  • Wd is the width of the depth map
  • Hd is the height of the depth map
  • the number of point clouds in the point cloud data is Wd*Hd. If the point cloud data is inside the grid map, the grid map can be updated based on the point cloud data, so as to update the probability used to identify whether there is an object in the grid map.
  • the point cloud data in the grid map since the obstacles and/or the image capturing device are movable, the position of the point cloud data in the grid map is not fixed. In this way, when using the point cloud data When generating a local map, frequent and fragmented memory operations (reading map data) are required, resulting in large bandwidth.
  • the point cloud data can be stored in blocks according to the memory storage method of the grid map. As shown in Figure 2, z can correspond to a xy plane, then the z plane can be divided into N blocks, and each block can be divided into N blocks. The size is (Lz/N)*Lx*Ly.
  • the overlapping area of is updated.
  • the above-mentioned overlapping area can be identified according to the position of the origin in the grid map.
  • the degree of change of the origin of the grid map can be determined based on the following formula:
  • P mstart is the position of the origin of the current map in the world coordinate system
  • P_diff is the degree of change of the origin of the grid map in the world coordinate system.
  • the probability information of the existence of obstacles can be identified by the grids included in the new map.
  • objects or obstacles in the map can change dynamically, and there may be dynamic obstacles in the environment. Therefore, when building a new map, it is necessary to clear the moving dynamic obstacles in the historical map. .
  • the circular area in the figure is used to identify the dynamic obstacle.
  • the circular obstacle was observed at a previous moment and left in the grid map.
  • the dynamic obstacle moves To other locations, you need to clear the dynamic obstacle in the map.
  • the coordinates of a 3D pixel point on the image corresponds to the ray between the camera and the 3D pixel point.
  • the ray between the camera and the 3D point The ray projected onto the image corresponds to a pixel coordinate.
  • the grids included in the map are traversed, and in the camera coordinate system, the center point p of each grid is projected into the image plane to obtain 2D pixel coordinates (u, v), and then the coordinates of the 2D pixel points are determined.
  • the corresponding pixel points (u, v, depth) are analyzed and identified.
  • the result of analyzing and identifying the pixel point is: if the pixel point is not in the depth map, the pixel point is deleted, that is, there is no need to update the pixel point at this time. If the pixel is located in the depth map, the depth measurement value Z center_m can be obtained through the back projection operation, and the map is updated based on the depth measurement value Z center_m. After the depth measurement value is obtained, the depth measurement value can be analyzed and compared with the historical depth measurement value corresponding to the pixel point in the historical map. The distance difference between Z center and Z center_m is greater than the preset threshold, and Z When center ⁇ Z center_m , the probability value of the obstacle corresponding to the grid (ie, the pixel point) can be reduced. Among them, Z center is the historical depth measurement value corresponding to the pixel point in the historical map. That is, the corresponding grid (ie, pixel point) in the historical map is projected to the corresponding depth value in the image plane under the camera coordinate system.
  • the point cloud data after analyzing the point cloud data, it may be determined based on the point cloud data that there is an obstacle A within the current field of view range.
  • obstacle B if there is obstacle B in the current viewing angle in the historical map, and the distance between obstacle B and the origin of the grid map is smaller than the distance between obstacle A and the origin of the grid map, the view is Within the field angle range, obstacle B will block at least part of obstacle A.
  • the obstacle B and a part of the obstacle A can be displayed.
  • obstacle A can be clearly seen, which means that the obstacle B in the historical map has moved. Based on this, the probability of obstacles corresponding to the grids in the historical map can be reduced according to the preset strategy, thereby effectively realizing the real-time update operation of the historical map.
  • the amount of calculation includes multiple memory operations and calculations on map data.
  • this embodiment provides a map updating method, device, movable platform and storage medium.
  • the method can obtain the first map corresponding to the current moment and the second map corresponding to the historical moment, and then determine the effective area for updating the second map.
  • the field angle is related, that is, the effective area corresponds to a part of the second map. Therefore, when the second map is updated according to the effective area and the first map, the data processing amount during the map update operation is effectively reduced.
  • the memory bandwidth required in the data operation process is reduced, thereby effectively improving the quality and efficiency of acquiring the target map, and facilitating corresponding navigation operations based on the constructed map, further improving the practicability of the method.
  • FIG. 5 is a schematic flowchart of a method for updating a map according to an embodiment of the present invention.
  • the present embodiment provides a method for updating a map
  • the execution body of the method may be a map updating device
  • the device for updating the map can be implemented as software, or a combination of software and hardware.
  • the update method of the map may include:
  • Step S501 Obtain the first map corresponding to the current moment and the second map corresponding to the historical moment.
  • Step S502 Determine an effective area for updating the second map, where the effective area is related to the field of view corresponding to the first map.
  • Step S503 Update the second map according to the effective area and the first map to obtain the target map.
  • Step S501 Obtain the first map corresponding to the current moment and the second map corresponding to the historical moment.
  • the second map refers to the historical map data obtained at the historical moment and needs to be updated
  • the first map refers to the current map data obtained at the current moment and used to perform the map update operation on the second map.
  • this embodiment does not limit the specific implementation of acquiring the first map, and those skilled in the art can set it according to specific application requirements and design requirements.
  • the first map can be stored in a preset area, and can be accessed by accessing The preset area can obtain the first map.
  • the first map can be obtained by analyzing and processing the image data obtained by the image acquisition device. Specifically, the depth image is acquired by the image acquisition device, and after the map updating device acquires the depth image, the depth image is analyzed and processed by , the first map corresponding to the depth image can be obtained.
  • obtaining the first map corresponding to the current moment in this embodiment may include:
  • Step S5011 Obtain the depth map corresponding to the current moment.
  • Step S5012 Generate point cloud data corresponding to the depth map.
  • Step S5013 Construct a first map based on the point cloud data, where the first map is a grid map.
  • the depth map corresponding to the current moment may be acquired first.
  • this embodiment does not limit the specific acquisition method of the depth map, and those skilled in the art can obtain the depth map according to the specific method.
  • Application requirements and design requirements are set, for example: a depth image is acquired through an image acquisition device, wherein the above-mentioned image acquisition device can be a binocular camera. At this time, two images for the same scene are acquired through the binocular camera, and then The stereo matching algorithm is used to match the two images, and the disparity information between the two images is calculated according to the triangulation principle, and then the depth map used to characterize the object in the application scene can be determined based on the disparity information.
  • the image acquisition device may further include a visible light sensor and a phase sensor, the visible light image is obtained through the visible light sensor, the phase image is obtained through the phase sensor, the depth information is obtained based on the phase image, and then the depth information is superimposed on the visible light image. Get a depth image.
  • a visible light sensor and a phase sensor
  • the visible light image is obtained through the visible light sensor
  • the phase image is obtained through the phase sensor
  • the depth information is obtained based on the phase image
  • the depth information is superimposed on the visible light image. Get a depth image.
  • those skilled in the art can also acquire the depth map corresponding to the current moment in other ways, as long as the accuracy and reliability of acquiring the depth map can be ensured, which will not be repeated here.
  • the depth map can be analyzed and processed to generate point cloud data corresponding to the depth map. Specifically, coordinate transformation processing can be performed on the depth map to convert the coordinates of the depth map in the camera coordinate system. Convert to the world coordinate system, so that multiple point cloud data corresponding to the depth map can be obtained.
  • a first map may be generated based on the multiple point cloud data, and at this time, the generated first map may be a grid map.
  • the second map can be stored in a preset area, and the A second map can be obtained by visiting a preset area.
  • the second map may be stored in the preset device, and the map updating device may be connected in communication with the preset device, so that the data processing device may obtain the second map through the preset device.
  • the map updating device may actively obtain the preset map. It is assumed that the second map is stored in the device, or the preset device can actively send the second map to the map update device, so that the map update device can obtain the second map.
  • those skilled in the art can also acquire the second map in other ways, as long as the accuracy and reliability of acquiring the second map can be ensured, which will not be repeated here.
  • Step S502 Determine an effective area for updating the second map, where the effective area is related to the field of view corresponding to the first map.
  • the first map and/or the second map may be analyzed and processed to determine an effective area for performing an update operation on the second map, and the effective area is the same as that of the first map.
  • the corresponding field of view is related.
  • the effective area may be a regular-shaped area covering a range corresponding to the angle of view, and the edge of the regular-shaped area is parallel or perpendicular to the edge of the first map.
  • the regular shape region includes any one of the following: a cube region, a cuboid region, and preferably, the regular shape region may be a cuboid region.
  • the determining of the valid area for updating the second map in this embodiment may include:
  • Step S5021 Obtain a map valid area corresponding to the first map.
  • Step S5022 Determine the effective area of the map as an effective area for updating the second map.
  • the first map can be analyzed and processed to obtain a map effective area corresponding to the first map.
  • the map can be determined based on the field of view corresponding to the first map. valid area.
  • the effective area of the map may be determined as an effective area for performing an update operation on the second map, thereby effectively ensuring the accuracy and reliability of acquiring the effective area.
  • the effective area of the map corresponding to the first map can be determined based on the field of view, and the effective area of the map is the area covered by the inclined line in the figure. area.
  • the effective area of the map can be determined as the effective area for performing the update operation on the second map. It should be noted that the effective area at this time includes the partial area in the second map and the area in Part of the area outside the second map.
  • the determining of the valid area for updating the second map in this embodiment may include:
  • Step S5023 Acquire the overlapping area corresponding to the first map and the second map.
  • Step S5024 In the overlapping area, determine an effective area for updating the second map.
  • the first map and the second map may be matched, so as to obtain the overlapping area corresponding to the first map and the second map.
  • an effective area for updating the second map may be determined in the overlapping area. The effective area of the update operation is performed on the second map, thereby effectively ensuring the accuracy and reliability of acquiring the effective area.
  • the first map and the second map can be matched, so that the overlap corresponding to the first map and the second map can be obtained.
  • area After the overlapping area is acquired, it can be determined in the overlapping area as an effective area for updating the second map based on the angle of view.
  • the effective area is the area covered by the inclined line in the figure. It should be noted that, The effective area at this time is at least a part of the area in the second map.
  • Step S503 Update the second map according to the effective area and the first map to obtain the target map.
  • the effective area and the first map can be analyzed and processed to implement an update operation on the second map.
  • the second map may include an effective area and a non-field-of-view area.
  • an update operation may be performed on the second map by using the first map, thereby obtaining an updated effective area.
  • the target map can be obtained based on the updated effective area and the non-field-of-view area, which effectively ensures the stability and reliability of the update operation on the target map.
  • the method for updating a map obtained by this embodiment obtains a first map corresponding to the current moment and a second map corresponding to a historical moment, and determines an effective area for updating the second map, and then determines the effective area for updating the second map according to the effective area and the first map.
  • a map updates the second map to obtain the target map. Since the effective area is related to the field of view corresponding to the first map, that is, the effective area corresponds to a part of the second map, therefore, according to the effective area and the first map.
  • the second map is updated, the data processing volume during the map update operation is effectively reduced, and the memory bandwidth required in the data operation process is reduced, thereby effectively improving the quality and efficiency of acquiring the target map. , and is conducive to the corresponding navigation operation based on the constructed map, which further improves the practicability of the method.
  • FIG. 11 is a schematic diagram of determining an effective area for updating the second map according to an embodiment of the present invention; on the basis of the above-mentioned embodiment, with continued reference to FIG. 11 , the determination in this embodiment is used to update the second map
  • the effective area for updating the second map can include:
  • Step S1101 in the overlapping area or grid map, obtain the area boundary used to identify the effective area.
  • Step S1102 Determine an effective area for updating the second map based on the area boundary.
  • the area boundary for identifying the valid area may be obtained in the overlapping area or the grid map, and the area boundary may be related to the origin of the camera coordinate system and the Raster map related.
  • an implementation manner is that, after acquiring the overlapping area, the area boundary for identifying the effective area can be acquired in the overlapping area.
  • Another achievable way is that, after the grid map is acquired, the area boundary for identifying the valid area can be acquired in the grid map.
  • the area boundary can be analyzed and processed to determine an effective area for performing an update operation on the second map. Specifically, the area covered by the area boundary The effective area of the update operation effectively ensures the accuracy and reliability of determining the effective area, and further improves the quality and efficiency of the map update operation.
  • FIG. 12 is a schematic flowchart of the process of obtaining the area boundary used to identify the valid area in FIG. 11 ; on the basis of the above-mentioned embodiment, with continued reference to shown in FIG. 12 , whether in the overlapping area or in the grid map, this The embodiment provides a specific implementation manner of acquiring the area boundary used to identify the effective area. Specifically, acquiring the area boundary used to identify the effective area may include:
  • Step S1201 Obtain the origin position corresponding to the origin of the camera coordinate system in the grid map.
  • the origin of the camera coordinate system may be determined based on the acquired depth map, and in some instances, the center point of the depth map may be determined as the origin of the camera coordinate system.
  • the position of the origin corresponding to the origin of the camera coordinate system in the grid map can be determined.
  • the origin of the acquired camera coordinate system can be located in the grid map. Including: obtaining the first position corresponding to the origin of the camera coordinate system, determining the resolution corresponding to the grid map and the second position of the origin of the grid map in the world coordinate system, and The second position is to determine the origin of the camera coordinate system at the origin of the grid map. It can be understood that the origin position corresponding to the origin of the camera coordinate system in the grid map is the minimum boundary information corresponding to the effective area.
  • the first position t c2w corresponding to the origin of the camera coordinate system in the grid map and the second position P of the origin of the grid map in the world coordinate system can be determined mstart .
  • the resolution Res corresponding to the grid map can be determined. It can be understood that the resolution corresponding to the grid map can be a preconfigured parameter.
  • the first position, the resolution and the second position can be analyzed and processed, so that the origin of the camera coordinate system can be determined at the origin of the grid map.
  • the first position, the resolution and the second position can be analyzed using the following formula:
  • P idx, 0 is the origin of the camera coordinate system in the origin of the grid map
  • t c2w is the first position corresponding to the origin of the camera coordinate system in the grid map
  • P mstart is the origin of the grid map In the second position in the world coordinate system
  • Res is the resolution corresponding to the grid map.
  • Step S1202 Determine the maximum boundary position corresponding to the grid map.
  • the maximum boundary position corresponding to the grid map can be determined. It can be understood that the maximum boundary position is used to define and determine the area covered by the effective area; in some In an example, determining the maximum boundary position corresponding to the grid map may include: obtaining the first distance between the origin of the depth map and the center of the grid map; determining the sum of the first distance and the position of the point cloud as an infinite point. Location; based on the infinity point location, determines the maximum boundary location corresponding to the raster map.
  • P 0 is the center of the grid map.
  • the location of the point cloud data in the grid map can be determined. Specifically, the following formula can be used to obtain the location of the point cloud data in the grid map.
  • the sum of the first distance and the point cloud position can be determined as the infinity point position, and then the infinity point position can be determined based on the infinity point position.
  • the maximum boundary position corresponding to the raster map.
  • determining the maximum boundary position corresponding to the grid map based on the infinity point position in this embodiment may include directly determining the infinity point position as the maximum boundary position corresponding to the grid map.
  • the position of the infinity point is determined to be the same as the grid
  • the maximum boundary position corresponding to the map which effectively ensures the accuracy and reliability of the update operation on the grid map.
  • determining the maximum boundary position corresponding to the grid map based on the position of the infinity point in this embodiment may include: connecting the origin of the camera coordinate system and the position of the infinity point to generate a connecting straight line; obtaining the connection at least one intersection formed by the straight line and the grid map; based on the at least one intersection, determine the maximum boundary position corresponding to the grid map.
  • the origin of the camera coordinate system and the position of the infinity point can be connected to generate a connecting line, and the connecting line and the grid map can form at least one intersection point.
  • a maximum boundary position corresponding to the grid map may be determined based on the at least one intersection point. Specifically, among at least one intersection point, the intersection point with a larger distance from the origin of the camera coordinate system may be determined as the maximum boundary position corresponding to the grid map.
  • intersection point 2 connects the position of the infinity point and the origin of the camera coordinate system to generate a connecting line.
  • the connecting line and the grid map form intersection 1 and intersection 2.
  • the distance between intersection 1 and the origin of the camera coordinate system is d11
  • the distance between the intersection point 2 and the origin of the camera coordinate system is d12. Since d12>d11, then the intersection point 2 corresponding to d12 can be determined as the maximum boundary position corresponding to the grid map, thereby effectively guaranteeing
  • the accuracy and reliability of determining the maximum boundary position are improved, and the quality and efficiency of determining the effective area are further improved.
  • Step S1203 Calculate the point cloud position of the point cloud data in the grid map.
  • the point cloud position of the point cloud data in the grid map can be calculated.
  • the point cloud where the point cloud data is located in the grid map can be obtained by the following formula Location Among them, L x is the X-axis coordinate information of the point cloud data in the grid map , L y is the Y-axis coordinate information of the point cloud data in the grid map, and L z is the Z-axis of the point cloud data in the grid map. Coordinate information, Res is the resolution corresponding to the grid map.
  • Step S1204 Determine the area boundary of the effective area based on the origin position, the maximum boundary position and the point cloud position.
  • the boundary area of the effective area can be determined based on the origin position, the maximum boundary position and the point cloud position, wherein the above-mentioned origin position is the initial minimum boundary corresponding to the effective area position, the maximum boundary position is the initial maximum boundary position corresponding to the effective area, and then, the above-mentioned initial area boundary (initial minimum boundary position and initial maximum boundary position) can be continuously updated based on the point cloud position, so that it can be accurately and effectively obtained. to the effective area, so that it is convenient to use the effective area to update the second map.
  • Fig. 14 is a schematic flowchart of determining the area boundary of the effective area based on the origin position, the maximum boundary position and the point cloud position in Fig. 12;
  • the origin position, the maximum boundary position and the point cloud position, the specific implementation method for determining the area boundary of the effective area is not limited, and those skilled in the art can set it according to specific application requirements and design requirements.
  • the Based on the origin position, the maximum boundary position and the point cloud position, determining the area boundary of the valid area can include:
  • Step S1401 Determine the origin position and the maximum boundary position as the initial area boundary with the effective area.
  • Step S1402 Update the initial area boundary based on the point cloud position to determine the area boundary of the effective area.
  • the origin position and the maximum boundary position can be determined as the initial area boundary with the effective area, and then the initial area boundary can be updated based on the point cloud position to determine the area of the effective area. boundary.
  • updating the initial area boundary based on the point cloud position, and determining the area boundary of the effective area may include: analyzing and comparing the point cloud position with the origin position in the initial area boundary, and when the point cloud position is smaller than the origin position, Then determine the point cloud position smaller than the origin position as the updated origin position; analyze and compare the point cloud position with the maximum boundary position in the initial area boundary, when the point cloud position is greater than the maximum boundary position, the position greater than the maximum boundary position will be determined.
  • the point cloud position is determined as the updated maximum boundary position; based on the updated origin position and the updated maximum boundary position, the area boundary of the effective area is determined.
  • the initial area boundary of the effective area includes: the origin position (X0, Y0, Z0) and the maximum boundary position (Xm, Ym, Zm), the point cloud position includes the point cloud position a (Xa, Ya, Za), the point cloud position Cloud position b (Xb, Yb, Zb) and point cloud position c (Xc, Yc, Zc).
  • the point cloud position a can be analyzed and compared with the initial area boundary, and the positional comparison relationship between the point cloud position a and the origin position satisfies at least one of the following: Xa ⁇ X0, Ya ⁇ Y0, Za ⁇ Z0, it means that the coordinate position corresponding to the point cloud position a at this time is smaller than the initial boundary position (origin position) of the effective area, and then the point cloud position smaller than the origin position can be determined as the updated origin position .
  • the point cloud position b can be analyzed and compared with the initial area boundary, and the positional comparison relationship between the point cloud position b and the origin position satisfies the following relationship: Xm>Xb >X0, Ym>Yb>Y0, Zm>Zb>Z0, it means that the coordinate position corresponding to the point cloud position b at this time is located inside the initial boundary position of the effective area, and it is unnecessary to adjust the initial boundary of the effective area point. location to update.
  • the point cloud position c can be analyzed and compared with the initial area boundary, and the positional comparison relationship between the point cloud position c and the origin position satisfies at least one of the following: Xz >X0, Yz>Y0, Zz>Z0, it means that the coordinate position corresponding to the point cloud position z at this time is greater than the initial boundary position (maximum boundary position) of the effective area, and then the point cloud position larger than the maximum boundary position can be Determined as the updated maximum boundary position.
  • the update processing of the initial area boundary based on the point cloud position is effectively implemented. , and ensure the accuracy and reliability of determining the area boundary of the effective area, and further improve the stability and reliability of the map update operation.
  • Fig. 15 is a schematic flowchart of another method for updating a map provided by an embodiment of the present invention; on the basis of the above-mentioned embodiment, referring to Fig. 15, after generating point cloud data corresponding to the depth map, this implementation Examples of methods can also include:
  • Step S1501 Identify whether the point cloud data is valid.
  • Step S1502 when the point cloud data is invalid data, delete the point cloud data.
  • the acquired point cloud data may include valid point cloud data and invalid point cloud data.
  • identifying whether the point cloud data is valid can include:
  • Step S1601 Acquire a data calibration value corresponding to the point cloud data.
  • Step S1602 when the data calibration value matches the preset value for identifying invalid data, determine that the point cloud data corresponding to the data calibration value is invalid data; When the preset values do not match, it is determined that the point cloud data corresponding to the data calibration value is valid data.
  • a data calibration value corresponding to the point cloud data may be acquired, and the data calibration value is used to identify whether the point cloud data is a feature value of valid data.
  • the data calibration value can be analyzed and compared with the preconfigured preset value for identifying invalid data, and when the data calibration value matches the preset value, it can be determined that the data calibration value matches the data calibration value.
  • the corresponding point cloud data is invalid data.
  • the data calibration value does not match the preset value, it can be determined that the point cloud data corresponding to the data calibration value is valid data.
  • corresponding processing operations can be performed on the point cloud data based on different identification results. For example, when the point cloud data is invalid data, the point cloud data can be deleted. , to avoid unnecessary data processing operations based on the point cloud data.
  • the map update operation can be performed based on the point cloud data, which not only ensures the quality and efficiency of the map update operation, but also effectively reduces the data processing volume corresponding to the data processing operation. The practicability of the method is further improved.
  • this application embodiment provides a map update method, and the map update method can be applied to a movable platform, and the movable platform can be a handheld phone, a handheld PTZ, a drone, an unmanned vehicle, an unmanned Ships, robots or self-driving cars, etc.
  • the method may include the following steps:
  • Step 1 Get the depth map.
  • the movable platform can be provided with multiple sets of binocular devices for acquiring depth maps.
  • multiple sets of binocular devices can be configured in different directions, so as to obtain the front direction, Depth maps in different directions such as back, left, right, up, and down.
  • Step 2 Obtain the point cloud data corresponding to the depth map.
  • Step 3 Generate the current map corresponding to the depth map based on the point cloud data.
  • Step 4 Determine an effective area for updating the historical map, and the effective area is related to the field of view corresponding to the current map.
  • the top view (front view) of the grid map is taken as an example for description. Since the area covered by the field of view (Field of view, FOV) is a part of the grid map, and the point The distribution of cloud data in the grid map is irregular. Therefore, in order to accurately obtain the effective area corresponding to the field of view, the area boundary used to identify the effective area can be obtained in the grid map, and then based on the area The boundary determines the valid area for updating the second map. Specifically, determining the valid area for updating the historical map may include the following steps:
  • Step 41 Obtain the center point (u0, v0) of the depth map, and determine the origin t c2w of the camera coordinate system based on the center point (u0, v0) of the depth map.
  • Step 42 Determine the first position of the origin of the camera coordinate system in the grid map.
  • Step 43 Determine the maximum boundary position corresponding to the grid map.
  • L x is the X-axis coordinate information of the point cloud data in the grid map
  • L y is the Y-axis coordinate information of the point cloud data in the grid map
  • L z is the Z-axis of the point cloud data in the grid map.
  • Coordinate information, Res is the resolution corresponding to the grid map.
  • the sum of the first distance and the point cloud position can be determined as the infinity point position, that is, the infinity point position is d 1 +d 2 , the infinity point position at this time Has the effect of falling outside the raster map.
  • the position of the infinity point can be determined as the maximum boundary position corresponding to the grid map.
  • Step 44 Determine the origin position and the maximum boundary position as the initial area boundaries (x min , y min , z min , x max , y max , z max ) with the effective area.
  • Step 45 Obtain the point cloud position of the point cloud data in the grid map, update the initial area boundary based on the point cloud position, and determine the area boundary of the effective area.
  • x min p idx, 0 [0]
  • y min p idx, 0 [1]
  • z min p idx, 0 [2]
  • x max p idx, 1 [0]
  • y max p idx, 1 [1]
  • z max p idx, 1 [2].
  • the initial region boundary can be updated based on the point cloud position.
  • the point cloud position includes p idx [0], p idx [1], p idx [2] as an example for description :
  • the number of point cloud data corresponding to the depth map can be multiple. After analyzing and judging the position corresponding to one point cloud data, you can continue to analyze the next point cloud data in the depth map. Continue to analyze and match until the point cloud positions corresponding to all 3D point cloud data in the depth map are traversed, and the initial region boundary is updated based on the point cloud positions.
  • Step 5 Determine the effective area based on the area boundary of the effective area, and update the historical map based on the effective area to generate an updated map.
  • the operation of removing obstacles can be performed on the historical map only for the point cloud data in the valid area.
  • the map update method provided in the related art may include the following steps: calculating point cloud data corresponding to the depth map, using the point cloud data to obtain the current map corresponding to the depth map, performing map fusion operations on the current map and the historical map and Projection operations to remove obstacles present in the historical map.
  • the related technology refers to other technologies that do not use the effective area related to the field of view to update the map.
  • the second map is updated through the effective area and the first map. Since the effective area is related to the field of view corresponding to the first map, that is, the effective area corresponds to Therefore, when the second map is updated according to the effective area and the first map, the amount of data processing during the map update operation is effectively reduced, and the amount of data that needs to be occupied during the data operation is reduced.
  • the memory bandwidth improves the data processing speed, reduces the single frame processing bandwidth, and further improves the practicability of the method.
  • FIG. 19 is a schematic structural diagram of an apparatus for updating a map according to an embodiment of the present invention.
  • this embodiment provides an apparatus for updating a map, and the apparatus for updating a map can execute the above-mentioned embodiment in FIG. 1 .
  • the device for updating the map may include:
  • the processor 11 is used for running the computer program stored in the memory 12 to realize:
  • the second map is updated according to the valid area and the first map to obtain the target map.
  • the structure of the map updating apparatus may further include a communication interface 13 for the electronic device to communicate with other devices or a communication network.
  • the processor 11 when the processor 11 acquires the first map corresponding to the current moment, the processor 11 is configured to: acquire the depth map corresponding to the current moment; generate point cloud data corresponding to the depth map; based on the point cloud data A first map is constructed, and the first map is a grid map.
  • the effective area is a regular-shaped area covering a range corresponding to the viewing angle, and the edge of the regular-shaped area is parallel or perpendicular to the edge of the first map.
  • the regularly shaped region includes any one of: a cube region, a cuboid region.
  • the processor 11 determines an effective area for updating the second map
  • the processor 11 is configured to: obtain a map effective area corresponding to the first map; The effective area for the second map to be updated.
  • the processor 11 determines an effective area for updating the second map
  • the processor 11 is configured to: acquire the overlapping area corresponding to the first map and the second map; The valid area for updating the second map.
  • the processor 11 determines an effective area for updating the second map
  • the processor 11 is configured to: in the coincident area or grid map, obtain an area boundary for identifying the effective area; based on the area The boundary determines the valid area for updating the second map.
  • the processor 11 when the processor 11 acquires the area boundary used to identify the effective area, the processor 11 is configured to: acquire the origin position corresponding to the origin of the camera coordinate system in the grid map; determine the location corresponding to the grid map The maximum boundary position of the point cloud data is calculated; the point cloud position of the point cloud data in the raster map is calculated; based on the origin position, the maximum boundary position and the point cloud position, the area boundary of the effective area is determined.
  • the processor 11 when the processor 11 obtains the position of the origin of the camera coordinate system at the origin of the grid map, the processor 11 is configured to: obtain the first position corresponding to the origin of the camera coordinate system; determine the position corresponding to the grid map The resolution and the second position of the origin of the grid map in the world coordinate system; based on the first position, the resolution and the second position, it is determined that the origin of the camera coordinate system is at the origin of the grid map.
  • the processor 11 determines the maximum boundary position corresponding to the grid map
  • the processor 11 is configured to: obtain a first distance between the origin of the depth map and the center of the grid map; The sum of the point cloud positions is determined as the infinity point position; based on the infinity point position, the maximum boundary position corresponding to the raster map is determined.
  • the processor 11 when the processor 11 determines the maximum boundary position corresponding to the grid map based on the infinity point position, the processor 11 is configured to: determine the infinity point position as the maximum boundary position corresponding to the grid map Boundary location.
  • the processor 11 determines the maximum boundary position corresponding to the grid map based on the position of the infinity point
  • the processor 11 is configured to: connect the origin of the camera coordinate system and the position of the infinity point to generate a connecting straight line ; Acquire at least one intersection formed by the connecting straight line and the grid map; and determine the maximum boundary position corresponding to the grid map based on the at least one intersection.
  • the processor 11 determines the area boundary of the valid area based on the origin position, the maximum boundary position and the point cloud position
  • the processor 11 is configured to: determine the origin position and the maximum boundary position as the initial area with the valid area Boundary; the initial area boundary is updated based on the position of the point cloud to determine the area boundary of the valid area.
  • the processor 11 when the processor 11 updates the initial area boundary based on the point cloud position and determines the area boundary of the effective area, the processor 11 is configured to: analyze and compare the point cloud position with the origin position in the initial area boundary, When the point cloud position is smaller than the origin position, the point cloud position smaller than the origin position is determined as the updated origin position; the point cloud position is analyzed and compared with the maximum boundary position in the initial area boundary, if the point cloud position is greater than the maximum boundary position When , the point cloud position larger than the maximum boundary position is determined as the updated maximum boundary position; based on the updated origin position and the updated maximum boundary position, the area boundary of the effective area is determined.
  • the processor 11 is configured to: identify whether the point cloud data is valid; when the point cloud data is invalid data, delete the point cloud data.
  • the processor 11 when the processor 11 identifies whether the point cloud data is valid, the processor 11 is configured to: obtain a data calibration value corresponding to the point cloud data; when the data calibration value is consistent with a preset value for identifying invalid data When matching, the point cloud data corresponding to the data calibration value is determined to be invalid data; or, when the data calibration value does not match the preset value for identifying invalid data, the point cloud corresponding to the data calibration value is determined.
  • the data is valid data.
  • the apparatus shown in FIG. 19 may execute the method of the embodiment shown in FIG. 1 to FIG. 18 .
  • the apparatus shown in FIG. 19 may execute the method of the embodiment shown in FIG. 1 to FIG. 18 .
  • Fig. 20 is a schematic structural diagram of a movable platform provided by an embodiment of the present invention; with reference to Fig. 20, this embodiment provides a movable platform.
  • PTZ portable medical record
  • the movable platform may include:
  • the map updating device 22 in the above-mentioned embodiment of FIG. 19 is arranged on the fuselage 21 .
  • FIG. 20 The specific implementation process and implementation principle of the movable platform shown in FIG. 20 are similar to the implementation process and implementation principle of the movable platform in the above-mentioned FIG. 19 .
  • FIG. 20 please refer to the description in the above-mentioned embodiment shown in FIG. 20 , which will not be repeated here. .
  • Another aspect of this embodiment provides a computer-readable storage medium, where the storage medium is a computer-readable storage medium, and program instructions are stored in the computer-readable storage medium, and the program instructions are used to implement the above-mentioned FIG. 1 to FIG. 18 . Corresponding to the method for updating the map in the embodiment.
  • the disclosed related remote control devices and methods may be implemented in other manners.
  • the embodiments of the remote control device described above are only illustrative.
  • the division of the modules or units is only a logical function division.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, and the indirect coupling or communication connection of the remote control device or unit may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and components shown as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as an independent product, may be stored in a computer-readable storage medium.
  • the technical solution of the present invention is essentially or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions for causing a computer processor (processor) to perform all or part of the steps of the methods described in the various embodiments of the present invention.
  • the aforementioned storage medium includes: U disk, mobile hard disk, Read-Only Memory (ROM, Read-Only Memory), Random Access Memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Remote Sensing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

一种地图的更新方法、装置、可移动平台及存储介质。其中,方法包括:获取当前时刻所对应的第一地图和历史时刻所对应的第二地图(S501);确定用于对第二地图进行更新的有效区域,有效区域与第一地图所对应的视场角有关(S502);根据有效区域和第一地图对第二地图进行更新,获得目标地图(S503)。由于有效区域与第一地图所对应的视场角有关,即有效区域是第二地图中的一部分,因此,在根据有效区域和第一地图对第二地图进行更新操作时,有效地降低了地图更新操作过程中的数据处理量,减少了数据所需要占用的内存带宽,从而有效地提高了对目标地图进行获取的质量和效率,进而便于基于所构建的地图进行相应地图导航操作。

Description

地图的更新方法、装置、可移动平台及存储介质 技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种地图的更新方法、装置、可移动平台及存储介质。
背景技术
地图更新是指按现实情况对地图内容进行更正的过程,以保证地图显示的实时性、准确性和可靠性。一般情况下,地图更新的步骤包括:获得深度图,生成与深度图相对应的点云数据,基于点云数据对历史地图进行更新操作,获得更新后地图。
其中,由于点云数据的个数一般为多个,且点云数据的位置是不固定的,因此,在基于多个点云数据对历史地图进行更新操作时,需要频繁和零散的操作内存,从而导致带宽较大,地图更新的效率较慢。
发明内容
本发明实施例提供了一种地图的更新方法、装置、可移动平台及存储介质。
本发明的第一方面是为了提供一种地图的更新方法,包括:
获取当前时刻所对应的第一地图和历史时刻所对应的第二地图;
确定用于对所述第二地图进行更新的有效区域,所述有效区域与所述第一地图所对应的视场角有关;
根据所述有效区域和所述第一地图对所述第二地图进行更新,获得目标地图。
本发明的第二方面是为了提供了一种地图的更新装置,包括:
存储器,用于存储计算机程序;
处理器,用于运行所述存储器中存储的计算机程序以实现:
获取当前时刻所对应的第一地图和历史时刻所对应的第二地图;
确定用于对所述第二地图进行更新的有效区域,所述有效区域与所述第一地图所对应的视场角有关;
根据所述有效区域和所述第一地图对所述第二地图进行更新,获得目标地图。
本发明的第三方面是为了提供了一种可移动平台,包括:
机身;
上述的地图的更新装置,设置于所述机身上。
本发明的第四方面是为了提供一种计算机可读存储介质,所述存储介质为计算机可读存储介质,该计算机可读存储介质中存储有程序指令,所述程序指令用于第一方面所述的地图的更新方法。
本发明实施例提供的地图的更新方法、装置、可移动平台及存储介质,可以有效地降低地图更新操作过程中的数据处理量,减少数据所需要占用的内存带宽,从而有效地提高了对地图进行更新操作的质量和效率,进而便于基于所构建的地图进行相应地图导航操作。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为栅格地图的示意图;
图2为点云数据按照栅格地图的内存存储方式进行分块存放的示意图;
图3为地图中存在物体或者障碍物的示意图;
图4为地图更新处理所对应的内存操作示意图;
图5为本发明实施例提供的一种地图的更新方法的流程示意图;
图6为图5中的获取当前时刻所对应的第一地图的流程示意图;
图7为图5中的确定用于对所述第二地图进行更新的有效区域的流程示意图一;
图8为图7中的确定用于对所述第二地图进行更新的有效区域的示意图;
图9为图5中的确定用于对所述第二地图进行更新的有效区域的流程示意图二;
图10为图9中的确定用于对所述第二地图进行更新的有效区域的示意图;
图11为本发明实施例提供的确定用于对所述第二地图进行更新的有效区域的示意图;
图12为图11中的获取用于标识所述有效区域的区域边界的流程示意图;
图13为本发明实施例提供的基于所述无穷远点位置,确定与所述栅格地图相对应的最大边界位置的示意图;
图14为图12中的基于所述原点位置、所述最大边界位置和所述点云位置,确定所述有效区域的区域边界的流程示意图;
图15为本发明实施例提供的另一种地图的更新方法的流程示意图;
图16为图15中的识别所述点云数据是否有效的流程示意图;
图17为本发明应用实施例提供的可移动平台上设置有多组双目设备的示意图;
图18为本发明应用实施例提供的栅格地图的俯视图;
图19为本发明实施例提供的一种地图的更新装置的结构示意图;
图20为本发明实施例提供的一种可移动平台的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
为了便于理解本申请的技术方案,下面对相关技术进行简要说明:
同步定位与地图构建(Simultaneous localization and mapping,简称SLAM)是希望可移动平台(例如:无人机、移动机器人等等)从未知环境的未知地点出发,在运动过程中,通过重复观测到的地图特征来定位自身位置和姿态,而后根据自身位置增量式的构建地图,从而达到同步定位和地图构建的目的。
基于深度图的局部地图构建是人工智能(Artificial Intelligence,简称AI)领域的关键技术。在建立局部地图之后,则可以基于所构建的局部地图进行导航操作,一般情况下,自主导航可以包括如下步骤:获取通过图像传感器所采集的图像数据,对图像数据进行分析处理,获得视差图,而后利用视差图输出世界坐标系下的3D点云,利用3D点云对历史地图信息进行更新处理,生成局部地图,以利用更新后地图进行路径规划和自主导航操作。
对于所构建的局部地图而言,局部地图可以为栅格地图,如图1所示,栅格地 图中的一个栅格代表空间中一个正方体区域(一个栅格)内是否有物体(障碍物)的概率,比如:对于一栅格所对应的符号数可以标识为16bit数据,具体的,在符号数为32767时,则标识该栅格内存在障碍物的概率最大为1,在符号数为-32768时,则标识该栅格内存在障碍物的概率为0。
在具体应用时,可以利用Mwid表示为栅格地图的位宽,栅格地图的大小可以标识为Lx*Ly*Lz,分辨率设置为Res,则一个栅格所标识的实际空间大小为Res*Res*Res。其中,Lx,Ly,和Lz分别代表栅格地图的长,宽,高。Res的大小可以根据实际应用场景的不同而进行不同设定,比如:无人车可以设定为1m、0.5m或者0.3m等等。
另外,在构建局部地图的过程中,深度图是在相机坐标系下的坐标,为了能够准确地构建局部地图,在获取到深度图之后,则可以将深度图转换在世界坐标系下,具体的,可以通过以下公式来实现:
P w=R c2w·P c+t c2w
其中,P c为深度图在相机坐标系下的坐标,P w为深度图在世界坐标系下的坐标,R c2w为相机坐标系转换到世界坐标系的旋转矩阵,t c2w为相机坐标系转换到世界坐标系的平移矩阵。
在获取深度图在世界坐标系下的坐标之后,则可以确定与深度图在栅格地图中的位置,具体的,可以通过以下公式来确定与点云数据在栅格地图中的位置:
Figure PCTCN2020099243-appb-000001
其中,P w为深度图在世界坐标系下的坐标,P mstart为栅格地图的原点在世界坐标系中的初始位置,Res为栅格地图的分辨率,P idx为点云数据在栅格地图中的位置。
通过上述公式,可以获取到位于栅格地图中的3D点云数据,在获取到栅格地图或者对栅格地图进行更新操作的过程中,栅格地图需要放入内存中,其中,对于某一单个地图而言,地图存储的数据量为Lx*Ly*Lz*Mwid bit,上述的数据量是巨大的。假设,Wd为深度图的宽度,Hd为深度图的高度,则点云数据中的点云数量为Wd*Hd。如果点云数据在栅格地图的内部,则可以基于点云数据对栅格地图进行更新操作,以实现对栅格地图中用于标识是否有物体的概率进行更新。
对于栅格地图中的点云数据而言,由于障碍物和/或图像拍摄装置是可移动的,因此,点云数据在栅格地图中的位置是不固定的,这样,在利用点云数据生成局部 地图时,需要频繁和零散的操作内存(读取地图数据),从而导致带宽较大。为了解决上述问题,可以先把点云数据按照栅格地图的内存存储方式进行分块存放,如图2所示,z可以对应xy一个平面,则可以将z平面分成N个块,每个块大小为(Lz/N)*Lx*Ly。
在利用点云数据对历史地图进行更新操作时,需要对历史地图和与点云数据所对应的当前地图进行融合操作,即识别当前地图和历史地图的重合区域,而后基于当前地图对历史地图中的重合区域进行更新操作。其中,上述的重合区域可以根据栅格地图中原点的位置来进行识别,具体的,可以基于以下公式来确定栅格地图的原点的变化程度:
Figure PCTCN2020099243-appb-000002
其中,P mstart为当前地图的原点在世界坐标系中的位置,
Figure PCTCN2020099243-appb-000003
为历史地图的原点在世界坐标系中的历史位置,P_diff为栅格地图的原点在世界坐标系中的变化程度。通过上述公式,即可确定栅格地图的原点在世界坐标系中的变化程度,在地图原点位置发生变化之后,即可以识别出当前地图和历史地图的重合区域,而后可以基于当前地图对历史地图进行不断的融合和更新操作,从而可以构建生成新地图。
在构建生成新地图之后,可以通过新地图中包括的栅格来标识存在障碍物的概率信息。实际应用中,位于地图中的物体或者障碍物可以是动态变化的,并且,环境中可能存在动态障碍物,因此,在构建生成新地图时,需要将移动的动态障碍物在历史地图中清除掉。
举例来说,如图3所示,图中圆形区域用于标识动态障碍物,在之前某个时刻观测到该圆形障碍物并留在栅格地图中,在当前时刻,动态障碍物移动到其它位置,则需要在地图中将该动态障碍物清除。
具体的,根据投影和反投影原理,图像(即,深度图)上的一个3D像素点坐标经过反投影之后,对应相机到3D像素点之间的射线,同理,相机到3D点之间的射线投影到图像上对应一个像素点坐标。具体的,遍历地图中包括的栅格,在相机坐标系下,将每个栅格的中心点p投影到图像平面内,得到2D像素点坐标(u,v),而后确定与2D像素点坐标相对应的像素点(u,v,depth),并对像素点进行分析识别。
在对像素点进行分析识别的结果为:若像素点不在深度图内,则对像素点进行删除,即此时无需对像素点进行更新操作。若像素点位于深度图内,则可以通过反投影操作得到深度测量值Z center_m,并基于深度测量值Z center_m对地图进行更新操 作。在获取到深度测量值之后,则可以将深度测量值与历史地图中的像素点所对应的历史深度测量值进行分析比较,在Z center和Z center_m之间的距离差大于预设阈值,且Z center<Z center_m时,则可以减小栅格(即,像素点)所对应的障碍物的概率值。其中,Z center是历史地图中的像素点所对应的历史深度测量值。也就是说,在历史地图中对应的栅格(即,像素点)投影到相机坐标系下的图像平面内对应的深度值。
举例来说,在对点云数据之后,可以基于点云数据确定当前视场角范围内存在障碍物A。此时,若在历史地图中,当前视角范围内存在障碍物B,且障碍物B到栅格地图原点之间的距离要小于障碍物A到栅格地图原点之间的距离时,即在视场角范围内,障碍物B会遮挡至少部分的障碍物A。此时,在历史地图中,可以显示障碍物B以及部分的障碍物A。然而,在当前地图中,可以清楚地看到障碍物A,则反向说明,位于历史地图中的障碍物B已发生了移动。基于此,可以按照预设策略减少历史地图中的栅格所对应的障碍物的概率,从而有效地实现了对历史地图进行实时地更新操作。
基于上述陈述内容可知,在进行地图更新的过程中,运算量包括了对地图数据的多次内存操作和计算,参考附图4所示,在地图数据存储在内存时,一个地图数据的存储量可以为Lx*Ly*Lz*Mwid bit,假设Lx=Ly=Lz=128,Mwid=8,此时,一个完整地图数据的存储量为2MB。那么,在基于新地图对历史地图进行更新操作时,如果历史地图和新地图几乎完全重合(即,历史地图和新地图具有一样的尺寸),则地图更新操作需要在内存中读取4MB的数据量,而后需要向内存中写入4MB的数据量,这样极大地增加了内存的带宽,降低数据的处理能力,进一步限制了局部地图构建的使用。此外,在利用上述方式对地图进行更新操作时,需要进行Lx*Ly*Lz次加法,这样不仅增大了数据处理的运算量,降低了数据处理的质量和效率,并且,不利于基于所构建的地图进行相应的导航操作。
为了能够保证数据处理的质量和效率,降低数据处理的运算量,本实施例提供了一种地图的更新方法、装置、可移动平台及存储介质。具体的,该方法可以获取当前时刻所对应的第一地图和历史时刻所对应的第二地图,而后确定用于对第二地图进行更新的有效区域,由于有效区域与第一地图所对应的视场角有关,即有效区域对应于第二地图中的一部分,因此,在根据有效区域和第一地图对第二地图进行更新操作时,有效地降低了地图更新操作过程中的数据处理量,减少了数据操作过程中所需要占用的内存带宽,从而有效地提高了对目标地图进行获取的质量和效率, 并且有利于基于所构建的地图进行相应的导航操作,进一步提高了该方法的实用性。
下面结合附图,对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图5为本发明实施例提供的一种地图的更新方法的流程示意图;参考附图5所示,本实施例提供了一种地图的更新方法,该方法的执行主体可以为地图的更新装置,可以理解的是,该地图的更新装置可以实现为软件、或者软件和硬件的组合。具体的,该地图的更新方法可以包括:
步骤S501:获取当前时刻所对应的第一地图和历史时刻所对应的第二地图。
步骤S502:确定用于对第二地图进行更新的有效区域,有效区域与第一地图所对应的视场角有关。
步骤S503:根据有效区域和第一地图对第二地图进行更新,获得目标地图。
下面针对上述各个步骤进行详细阐述:
步骤S501:获取当前时刻所对应的第一地图和历史时刻所对应的第二地图。
其中,第二地图是指在历史时刻获取到的、需要进行地图更新操作的历史地图数据,第一地图是指在当前时刻获取的、用于对第二地图进行地图更新操作的当前地图数据。具体的,本实施例对于获取第一地图的具体实现方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,例如:第一地图可以存储在预设区域中,通过访问预设区域可以获得第一地图。或者,第一地图可以通过图像采集装置所获得的图像数据进行分析处理来获得,具体的,通过图像采集装置获取深度图像,在地图的更新装置获取到深度图像之后,通过对深度图像进行分析处理,可以获得与深度图像相对应的第一地图。
在一些实例中,参考附图6所示,本实施例中的获取当前时刻所对应的第一地图可以包括:
步骤S5011:获取当前时刻所对应的深度图。
步骤S5012:生成与深度图相对应的点云数据。
步骤S5013:基于点云数据构建第一地图,第一地图为栅格地图。
为了能够获取到与当前时刻所对应的第一地图,可以先获取当前时刻所对应的深度图,具体的,本实施例对于深度图的具体获取方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,例如:通过图像采集装置获取到深度图像,其中,上述的图像采集装置可以是双目摄像头,此时,通过双目摄像头获 取到针对同一场景的两幅图像,而后利用立体匹配算法对两幅图像进行匹配处理,并根据三角原理计算出两幅图像之间的视差信息,而后可以基于视差信息确定用于表征在应用场景中的物体的深度图。或者,图像采集装置还可以包括可见光传感器和相位传感器,通过可见光传感器获取到可见光图像,通过相位传感器获取到相位图像,基于相位图像获取到深度信息,而后将深度信息叠加在可见光图像中,从而可以获得深度图像。当然的,本领域技术人员也可以采用其他的方式获取当前时刻所对应的深度图,只要能够保证对深度图进行获取的准确可靠性即可,在此不再赘述。
在获取到深度图之后,可以对深度图进行分析处理,以生成与深度图相对应的点云数据,具体的,可以对深度图进行坐标转换处理,以将深度图在相机坐标系下的坐标转换至世界坐标系,从而可以获得与深度图相对应的多个点云数据。在获取到多个点云数据之后,可以基于多个点云数据来生成第一地图,此时,所生成的第一地图可以为栅格地图。
当然的,本领域技术人员也可以采用其他的方式获取到第一地图,只要能够保证对第一地图进行获取的准确可靠性即可,在此不再赘述。
相类似的,本实施例对于获取第二地图的具体实现方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,例如:第二地图可以存储在预设区域中,通过访问预设区域可以获得第二地图。或者,第二地图可以存储在预设设备中,地图的更新装置可以与预设设备通讯连接,进而数据处理装置可以通过预设设备获得第二地图,具体的,地图的更新装置可以主动获取预设设备内存储的第二地图,或者,预设设备可以主动将第二地图发送至地图的更新装置,从而使得地图的更新装置可以获得第二地图。当然的,本领域技术人员也可以采用其他的方式获取到第二地图,只要能够保证对第二地图进行获取的准确可靠性即可,在此不再赘述。
步骤S502:确定用于对第二地图进行更新的有效区域,有效区域与第一地图所对应的视场角有关。
在获取到第一地图和第二地图之后,可以对第一地图和/或第二地图进行分析处理,以确定用于对第二地图进行更新操作的有效区域,该有效区域与第一地图所对应的视场角有关。
在一些实例中,有效区域可以为覆盖视场角所对应范围的规则形状区域,规则 形状区域的边缘与第一地图的边缘相平行或者垂直。例如:规则形状区域包括以下任意之一:正方体区域、长方体区域,较为优选的,规则形状区域可以为长方体区域。
在一些实例中,参考附图7所示,本实施例中的确定用于对第二地图进行更新的有效区域可以包括:
步骤S5021:获取与第一地图相对应的地图有效区域。
步骤S5022:将地图有效区域确定为用于对第二地图进行更新的有效区域。
其中,在获取到第一地图之后,可以对第一地图进行分析处理,以获得与第一地图相对应的地图有效区域,具体的,可以基于与第一地图相对应的视场角来确定地图有效区域。在一些实例中,在获取到地图有效区域之后,可以将地图有效区域确定为用于对第二地图进行更新操作的有效区域,从而有效地保证了对有效区域进行获取的准确可靠性。
举例来说,参考附图8所示,在获取到第一地图之后,可以基于视场角来确定与第一地图相对应的地图有效区域,该地图有效区域即为图中倾斜线所覆盖的区域。在获取到地图有效区域之后,可以将地图有效区域确定为用于对第二地图进行更新操作的有效区域,需要注意的是,此时的有效区域中包括位于第二地图中的部分区域和位于第二地图之外的部分区域。
在另一些实例中,参考附图9所示,本实施例中的确定用于对第二地图进行更新的有效区域可以包括:
步骤S5023:获取第一地图与第二地图相对应的重合区域。
步骤S5024:在重合区域中,确定用于对第二地图进行更新的有效区域。
其中,在获取到第一地图和第二地图之后,可以将第一地图和第二地图进行匹配处理,从而可以获得第一地图与第二地图相对应的重合区域。在获取到重合区域之后,则可以在重合区域中确定用于对第二地图进行更新操作的有效区域,具体的,可以基于与第一地图相对应的视场角,在重合区域中确定用于对第二地图进行更新操作的有效区域,从而有效地保证了对有效区域进行获取的准确可靠性。
举例来说,参考附图10所示,在获取到第一地图和第二地图之后,可以对第一地图和第二地图进行匹配处理,从而可以获得第一地图与第二地图相对应的重合区域。在获取到重合区域之后,可以基于视场角在重合区域中确定为用于对第二地图进行更新操作的有效区域,该有效区域即为图中倾斜线所覆盖的区域,需要注意的 是,此时的有效区域为第二地图中的至少一部分区域。
可以理解的是,确定用于对第二地图进行更新的有效区域的具体实现方式并不限于上述所限定的技术方案,本领域技术人员也可以采用其他的方式来确定用于对第二地图进行更新的有效区域,只要能够保证对有效区域进行确定的准确可靠性即可,在此不再赘述。
步骤S503:根据有效区域和第一地图对第二地图进行更新,获得目标地图。
在获取到有效区域和第一地图之后,可以对有效区域和第一地图进行分析处理,以实现对第二地图进行更新操作。具体的,第二地图可以包括有效区域和非视场角区域,针对有效区域,可以利用第一地图对第二地图进行更新操作,从而获得更新后有效区域。而后,基于更新后有效区域和非视场角区域可以获得目标地图,这样有效地保证了对目标地图进行更新操作的稳定可靠性。
本实施例提供的地图的更新方法,通过获取当前时刻所对应的第一地图和历史时刻所对应的第二地图,并确定用于对第二地图进行更新的有效区域,而后根据有效区域和第一地图对第二地图进行更新,获得目标地图,由于有效区域与第一地图所对应的视场角有关,即有效区域对应于第二地图中的一部分,因此,在根据有效区域和第一地图对第二地图进行更新操作时,有效地降低了地图更新操作过程中的数据处理量,减少了数据操作过程中所需要占用的内存带宽,从而有效地提高了对目标地图进行获取的质量和效率,并且有利于基于所构建的地图进行相应的导航操作,进一步提高了该方法的实用性。
图11为本发明实施例提供的确定用于对第二地图进行更新的有效区域的示意图;在上述实施例的基础上,继续参考附图11所示,本实施例中的确定用于对第二地图进行更新的有效区域可以包括:
步骤S1101:在重合区域或者栅格地图中,获取用于标识有效区域的区域边界。
步骤S1102:基于区域边界确定用于对第二地图进行更新的有效区域。
其中,在获取到栅格地图或者位于栅格地图中的重合区域之后,可以在重合区域或者栅格地图中,获取用于标识有效区域的区域边界,该区域边界可以与相机坐标系的原点以及栅格地图有关。
可以理解的是,在获取用于标识有效区域的区域边界时,一种实现的方式为,在获取重合区域之后,可以在重合区域中获取用于标识有效区域的区域边界。另一种可实现的方式为,在获取到栅格地图之后,可以在栅格地图中获取用于标识有效 区域的区域边界。
在获取到区域边界之后,可以对区域边界进行分析处理,以确定用于对第二地图进行更新操作的有效区域,具体的,可以将区域边界所覆盖的区域确定为用于对第二地图进行更新操作的有效区域,这样有效地保证了对有效区域进行确定的准确可靠性,进一步提高了对地图进行更新操作的质量和效率。
图12为图11中的获取用于标识有效区域的区域边界的流程示意图;在上述实施例的基础上,继续参考附图12所示,无论是在重合区域中还是在栅格地图中,本实施例提供了一种获取用于标识有效区域的区域边界的具体实现方式,具体的,获取用于标识有效区域的区域边界可以包括:
步骤S1201:获取相机坐标系的原点在栅格地图中所对应的原点位置。
其中,在获取到深度图之后,可以基于所获取到的深度图确定相机坐标系的原点,在一些实例中,可以将深度图的中心点确定为相机坐标系的原点。在获取到相机坐标系的原点之后,可以确定相机坐标系的原点在栅格地图中所对应的原点位置,具体的,本实施例中的获取相机坐标系的原点在栅格地图的原点位置可以包括:获取相机坐标系的原点所对应的第一位置,确定栅格地图所对应的分辨率以及栅格地图的原点在世界坐标系中的第二位置,并且基于第一位置、分辨率和第二位置,确定相机坐标系的原点在栅格地图的原点位置。可以理解的是,相机坐标系的原点在栅格地图中所对应的原点位置即为有效区域所对应的最小边界信息。
具体实现时,在获取到相机坐标系的原点之后,可以确定相机坐标系的原点在栅格地图中所对应的第一位置t c2w以及栅格地图的原点在世界坐标系中的第二位置P mstart。在获取到栅格地图之后,可以确定栅格地图所对应的分辨率Res,可以理解的是,上述栅格地图所对应的分辨率可以是预先配置的参数。在获取到第一位置、分辨率和第二位置之后,可以对第一位置、分辨率和第二位置进行分析处理,从而可以确定相机坐标系的原点在栅格地图的原点位置,具体的,可以利用以下公式对第一位置、分辨率和第二位置进行分析处理:
Figure PCTCN2020099243-appb-000004
上述公式中,P idx,0为相机坐标系的原点在栅格地图的原点位置,t c2w为相机坐标系的原点在栅格地图中所对应的第一位置,P mstart为栅格地图的原点在世界坐标系中的第二位置,Res为栅格地图所对应的分辨率。通过上述公式,可以稳定、有效地获取到相机坐标系的原点在栅格地图的原点位置。
步骤S1202:确定与栅格地图相对应的最大边界位置。
为了能够准确地获取到用于标识有效区域的区域边界,可以确定与栅格地图相对应的最大边界位置,可以理解的是,最大边界位置用于限定并确定有效区域所覆盖的区域;在一些实例中,确定与栅格地图相对应的最大边界位置可以包括:获取深度图的原点与栅格地图中心之间的第一距离;将第一距离与点云位置的和值确定为无穷远点位置;基于无穷远点位置,确定与栅格地图相对应的最大边界位置。
在获取到深度图和栅格地图之后,可以获取深度图的原点与栅格地图中心之间的第一距离,假设第一距离d 1=|t 0-P 0|,上述的t 0是深度图的原点位置,P 0是栅格地图的中心位置。
此外,在获取到与深度图相对应的点云数据之后,可以确定点云数据在栅格地图中所在的点云位置,具体的,可以通过以下公式来获取点云数据在栅格地图中所在的点云位置
Figure PCTCN2020099243-appb-000005
其中,L x为点云数据在栅格地图中的X轴坐标信息,L y为点云数据在栅格地图中的Y轴坐标信息,L z为点云数据在栅格地图中的Z轴坐标信息,Res为栅格地图所对应的分辨率。
在获取到第一距离和点云数据在栅格地图中所在的点云位置之后,可以将第一距离与点云位置的和值确定为无穷远点位置,而后可以基于无穷远点位置确定与栅格地图相对应的最大边界位置。
在一些实例中,本实施例中的基于无穷远点位置,确定与栅格地图相对应的最大边界位置可以包括:直接将无穷远点位置确定为与栅格地图相对应的最大边界位置。
其中,由于无穷远点位置与相机坐标系的原点之间的距离大于栅格地图中所包括的所有位置与相机坐标系的原点之间的距离,因此,将无穷远点位置确定为与栅格地图相对应的最大边界位置,这样有效地保证了对栅格地图进行更新操作的准确可靠性。
在另一些实例中,本实施例中的基于无穷远点位置,确定与栅格地图相对应的最大边界位置可以包括:连接相机坐标系的原点与无穷远点位置,生成一连接直线;获取连接直线与栅格地图所形成的至少一个交点;基于至少一个交点,确定与栅格地图相对应的最大边界位置。
具体的,在获取到相机坐标系的原点和无穷远点位置之后,可以连接相机坐标系的原点与无穷远点位置,生成一连接直线,该连接直线与栅格地图可以形成至少 一个交点,在获取到至少一个交点之后,可以基于至少一个交点确定与栅格地图相对应的最大边界位置。具体的,可以在至少一个交点中,将与相机坐标系的原点之间的距离较大的交点确定为与栅格地图相对应的最大边界位置。
如图13所示,连接无穷远点位置与相机坐标系的原点,生成一连接直线,该连接直线与栅格地图形成交点1和交点2,交点1与相机坐标系的原点之间的距离为d11,交点2与相机坐标系的原点之间的距离为d12,由于d12>d11,那么,则可以将d12所对应的交点2确定为与栅格地图相对应的最大边界位置,从而有效地保证了对最大边界位置进行确定的准确可靠性,进一步提高了对有效区域进行确定的质量和效率。
步骤S1203:计算点云数据在栅格地图中的点云位置。
在获取到与深度图相对应的点云数据之后,可以计算点云数据在栅格地图中的点云位置,具体的,可以通过以下公式来获取点云数据在栅格地图中所在的点云位置
Figure PCTCN2020099243-appb-000006
其中,L x为点云数据在栅格地图中的X轴坐标信息,L y为点云数据在栅格地图中的Y轴坐标信息,L z为点云数据在栅格地图中的Z轴坐标信息,Res为栅格地图所对应的分辨率。
步骤S1204:基于原点位置、最大边界位置和点云位置,确定有效区域的区域边界。
在获取到原点位置、最大边界位置和点云位置之后,可以基于原点位置、最大边界位置和点云位置来确定有效区域的边界区域,其中,上述的原点位置为有效区域所对应的初始最小边界位置,最大边界位置为有效区域所对应的初始最大边界位置,而后,可以基于点云位置对上述的初始区域边界(初始最小边界位置和初始最大边界位置)进行不断更新,从而可以准确有效地获取到有效区域,进而便于利用有效区域对第二地图进行更新处理操作。
图14为图12中的基于原点位置、最大边界位置和点云位置,确定有效区域的区域边界的流程示意图;在上述实施例的基础上,继续参考附图14所示,本实施例对于基于原点位置、最大边界位置和点云位置,确定有效区域的区域边界的具体实现方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,较为优选的,本实施例中的基于原点位置、最大边界位置和点云位置,确定有效区域的区域边界可以包括:
步骤S1401:将原点位置和最大边界位置确定为与有效区域的初始区域边界。
步骤S1402:基于点云位置对初始区域边界进行更新,确定有效区域的区域边界。
在获取到原点位置和最大边界位置之后,可以将原点位置和最大边界位置确定为与有效区域的初始区域边界,而后可以基于点云位置对初始区域边界进行更新,以确定的该有效区域的区域边界。
在一些实例中,基于点云位置对初始区域边界进行更新,确定有效区域的区域边界可以包括:将点云位置与初始区域边界中的原点位置进行分析比较,在点云位置小于原点位置时,则将小于原点位置的点云位置确定为更新后原点位置;将点云位置与初始区域边界中的最大边界位置进行分析比较,在点云位置大于最大边界位置时,则将大于最大边界位置的点云位置确定为更新后最大边界位置;基于更新后原点位置和更新后最大边界位置,确定有效区域的区域边界。
举例来说,有效区域的初始区域边界包括:原点位置(X0,Y0,Z0)以及最大边界位置(Xm,Ym,Zm),点云位置包括点云位置a(Xa,Ya,Za)、点云位置b(Xb,Yb,Zb)和点云位置c(Xc,Yc,Zc)。
在确定有效区域的初始区域边界之后,则可以将点云位置a与初始区域边界进行分析比较,在点云位置a与原点位置之间的位置比较关系满足以下至少之一:Xa<X0、Ya<Y0、Za<Z0时,则说明此时的点云位置a所对应的坐标位置小于有效区域的初始边界位置(原点位置),进而可以将小于原点位置的点云位置确定为更新后原点位置。
相类似的,在确定有效区域的初始区域边界之后,则可以将点云位置b与初始区域边界进行分析比较,在点云位置b与原点位置之间的位置比较关系满足以下关系:Xm>Xb>X0、Ym>Yb>Y0、Zm>Zb>Z0时,则说明此时的点云位置b所对应的坐标位置位于有效区域的初始边界位置的内部,进而可以无需对有效区域点的初始边界位置进行更新。
相类似的,在确定有效区域的初始区域边界之后,则可以将点云位置c与初始区域边界进行分析比较,在点云位置c与原点位置之间的位置比较关系满足以下至少之一:Xz>X0、Yz>Y0、Zz>Z0时,则说明此时的点云位置z所对应的坐标位置大于有效区域的初始边界位置(最大边界位置),进而可以将大于最大边界位置的点云位置确定为更新后最大边界位置。
本实施例中,通过将原点位置和最大边界位置确定为与有效区域的初始区域边 界,而后将点云数据与初始区域边界进行分析比较,有效地实现基于点云位置对初始区域边界进行更新处理,并且保证了对有效区域的区域边界进行确定的准确可靠性,进一步提高了对地图进行更新操作的稳定可靠性。
图15为本发明实施例提供的另一种地图的更新方法的流程示意图;在上述实施例的基础上,参考附图15所示,在生成与深度图相对应的点云数据之后,本实施例中的方法还可以包括:
步骤S1501:识别点云数据是否有效。
步骤S1502:在点云数据为无效数据时,则删除点云数据。
其中,在生成与深度图相对应的点云数据时,所获取的点云数据可以包括有效的点云数据和无效的点云数据,此时,为了能够保证基于点云数据进行分析处理的质量和效率,在生成与深度图相对应的点云数据之后,可以识别点云数据是否有效,具体的,参考附图16所示,识别点云数据是否有效可以包括:
步骤S1601:获取与点云数据相对应的数据标定值。
步骤S1602:在数据标定值与用于标识无效数据的预设值相匹配时,则确定与数据标定值相对应的点云数据为无效数据;或者,在数据标定值与用于标识无效数据的预设值不匹配时,则确定与数据标定值相对应的点云数据为有效数据。
具体的,在获取到点云数据之后,可以获取与点云数据相对应的数据标定值,该数据标定值用于标识点云数据是否为有效数据的特征值。在获取到数据标定值之后,可以将数据标定值与预先配置的用于标识无效数据的预设值进行分析比较,在数据标定值与预设值相匹配时,则可以确定与数据标定值相对应的点云数据为无效数据。在数据标定值与预设值不匹配时,则可以确定与数据标定值相对应的点云数据为有效数据。
可以想到的是,在识别出点云数据是否有效之后,可以基于不同的识别结果来对点云数据进行相应的处理操作,例如,在点云数据为无效数据时,则可以删除该点云数据,以避免基于该点云数据进行不必要的数据处理操作。在点云数据为有效数据时,则可以基于该点云数据进行地图更新操作,这样不仅保证了对地图进行更新操作的质量和效率,并且也有效地降低了数据处理操作对应的数据处理量,进一步提高了该方法的实用性。
具体应用时,本应用实施例提供了一种地图更新方法,该地图更新方法可以应用于可移动平台,该可移动平台可以为手持电话、手持云台、无人机、无人车、无 人船、机器人或自动驾驶汽车等,具体的,该方法可以包括以下步骤:
步骤1:获取深度图。
具体的,可移动平台上可以设置有用于获取深度图的多组双目设备,如图17所示,多组双目设备可以配置在不同的方向,以通过多组双目设备获取前方向、后方向、左方向、右方向、上方向和下方向等不同方向上的深度图。
步骤2:获取与深度图相对应的点云数据。
步骤3:基于点云数据生成与深度图相对应的当前地图。
步骤4:确定用于对历史地图进行更新的有效区域,有效区域与当前地图所对应的视场角有关。
其中,参考附图18所示,以栅格地图的俯视图(前视)为例进行说明,由于视场角(Field of view,简称FOV)所覆盖的区域是栅格地图中的一部分,而点云数据在栅格地图中的分布是不规则的,因此,为了能够准确地获取到视场角所对应的有效区域,可以在栅格地图中获取用于标识有效区域的区域边界,而后基于区域边界确定用于对第二地图进行更新的有效区域。具体的,确定用于对历史地图进行更新的有效区域可以包括如下步骤:
步骤41:获取深度图的中心点(u0,v0),基于深度图的中心点(u0,v0)确定相机坐标系的原点t c2w
步骤42:确定相机坐标系的原点在栅格地图中的第一位置。
具体的,根据公式
Figure PCTCN2020099243-appb-000007
来确定相机坐标系的原点在栅格地图中的第一位置,上述公式中,P idx,0为相机坐标系的原点在栅格地图的原点位置,t c2w为相机坐标系的原点在栅格地图中所对应的第一位置,P mstart为栅格地图的原点在世界坐标系中的第二位置,Res为栅格地图所对应的分辨率。
步骤43:确定与栅格地图相对应的最大边界位置。
获取深度图的原点相对于栅格地图的中心点之间的第一距离d 1,具体的,第一距离可以通过以下公式来实现:d 1=|t 0-P 0|,上述的t 0是深度图的原点位置,P 0是栅格地图的中心位置。
而后,获取点云数据在栅格地图中所在的点云位置,具体的,通过以下公式来实现:
Figure PCTCN2020099243-appb-000008
其中,L x为点云数据在栅格地图中的X轴坐标信息,L y为点云数据在栅格地图中的Y轴坐标信息,L z为点云数据在栅格地图中的Z轴坐标信息,Res为栅格地图所对应的分辨率。
在获取到第一距离和点云位置之后,可以将第一距离和点云位置的和值确定为无穷远点位置,即无穷远点位置为d 1+d 2,此时的无穷远点位置具有落在栅格地图之外的效果。在获取到无穷远点之后,则可以将无穷远点位置确定为与栅格地图相对应的最大边界位置。
步骤44:将原点位置和最大边界位置确定为与有效区域的初始区域边界(x min、y min、z min、x max、y max、z max)。
步骤45:获取点云数据在栅格地图中的点云位置,基于点云位置对初始区域边界进行更新,确定有效区域的区域边界。
举例来说,x min=p idx,0[0],y min=p idx,0[1],z min=p idx,0[2],x max=p idx,1[0],y max=p idx,1[1],z max=p idx,1[2]。
在获取到点云位置之后,可以基于点云位置对初始区域边界进行更新操作,具体的,以点云位置包括p idx[0]、p idx[1]、p idx[2]为例进行说明:
判断p idx,0[0]是否比x min小,如p idx,0[0]<x min,则更新x min的值为p idx,0[0];
判断p idx,1[0]是否比x max大,如p idx,1[0]>x max,则更新x max的值为p idx,1[0];
判断p idx,0[1]是否比y min小,如p idx,0[1]<y min,则更新y min的值为p idx,0[1];
判断p idx,1[1]是否比y max大,如p idx,1[1]>y max,则更新y max的值为p idx,1[1];
判断p idx,0[2]是否比z min小,如p idx,0[2]<z min,则更新z min的值为p idx,0[2];
判断p idx,1[2]是否比z max大,如p idx,1[2]>z max,则更新z max的值为p idx,1[2]。
需要注意的是,深度图所对应的点云数据的个数可以为多个,在针对一个点云数据所对应的位置进行分析判断完毕之后,则可以继续对深度图中的下一个点云数据继续进行分析匹配,直至遍历深度图中的所有3D点云数据所对应的点云位置,并基于点云位置对初始区域边界进行更新操作为止。
通过上述过程可知,只需要通过对点云位置与初始区域边界之间进行大小比较,即可实现基于点云位置对初始区域边界进行更新操作,进而保证了对有效区域的区域边界进行获取的准确可靠性。
步骤5:基于有效区域的区域边界来确定有效区域,并基于有效区域对历史地图进行更新操作,生成更新后地图。
在获取到有效区域之后,则可以只针对有效区域中的点云数据对历史地图进行去除障碍物的操作,此时,地图更新操作所需要计算的点云数据的个数如下公式:p_total=(x max-x min)(y max-y min)(z max-z min)。
基于上述公式可知,由于上述所确定的有效区域是整个栅格地图的子集,进一步的,基于多个方向传感器来构建地图,可以大量减少在每个方向上进行地图更新操作的数据处理量,这样达到了降低读写DDR带宽、提高处理速度、降低单帧处理带宽的综合效果。
具体的,参考下述表格1所示,将本应用实施例提供的技术方案与相关技术中的技术方案进行分析对比:
  相关技术 本应用实施例提供的技术方案
投影读带宽(Mb) Lx*Ly*Lz*Mwid (x max-x min)(y max-y min)(z max-z min)*Mwid
投影写带宽(Mb) Lx*Ly*Lz*Mwid (x max-x min)(y max-y min)(z max-z min)*Mwid
投影计算量 Lx*Ly*Lz (x max-x min)(y max-y min)(z max-z min)
表1
由于相关技术中提供的地图更新方法可以包括以下步骤:计算与深度图相对应的点云数据,利用点云数据获得与深度图相对应的当前地图,对当前地图和历史地图进行地图融合操作和投影操作,以去除历史地图中所存在的障碍物。其中,相关技术是指没有采用利用视场角相关的有效区域对地图进行更新的其他技术。
如上述表1所示,通过对比本应用实施例提供的地图更新方法和相关技术中提供的地图更新方法可知,本应用实施例提供的技术方案所对应的带宽信息、计算量和相关技术中的技术方案所对应的带宽信息和计算量的比例为
Figure PCTCN2020099243-appb-000009
假设,(x max-x min)=1/2,(y max-y min)=1/2,(z max-z min)=1/2,那么,所对应的带宽信息和计算量是相关技术中的技术方案所对应的带宽信息和计算量的1/8倍,从而有效地降低了数据计算量以及内存所占用的整体带宽,并且极大地提成了数据处理性能会有较大提升,比如,对于640x480的深度图,Lx=Ly=Lz=192而言,本实施例中的地图更新方法的数据处理速率是相关技术中的地图更新方法的数据处理速率的3-4倍。
总的来说,本应用实施例提供的地图更新方法,通过有效区域和第一地图对第二地图进行更新操作,由于有效区域与第一地图所对应的视场角有关,即有效区域对应于第二地图中的一部分,因此,在根据有效区域和第一地图对第二地图进行更新操作时,有效地降低了地图更新操作过程中的数据处理量,减少了数据操作过程中所需要占用的内存带宽,提高了数据处理速度,降低了单帧处理带宽,进一步提高了该方法的实用性。
图19为本发明实施例提供的一种地图的更新装置的结构示意图;参考附图19所示,本实施例提供了一种地图的更新装置,该地图的更新装置可以执行上述图1实施例所对应的地图的更新方法。具体的,地图的更新装置可以包括:
存储器12,用于存储计算机程序;
处理器11,用于运行存储器12中存储的计算机程序以实现:
获取当前时刻所对应的第一地图和历史时刻所对应的第二地图;
确定用于对第二地图进行更新的有效区域,有效区域与第一地图所对应的视场角有关;
根据有效区域和第一地图对第二地图进行更新,获得目标地图。
其中,地图的更新装置的结构中还可以包括通信接口13,用于电子设备与其他设备或通信网络通信。
在一些实例中,在处理器11获取当前时刻所对应的第一地图时,处理器11用于:获取当前时刻所对应的深度图;生成与深度图相对应的点云数据;基于点云数据构建第一地图,第一地图为栅格地图。
在一些实例中,有效区域为覆盖视场角所对应范围的规则形状区域,规则形状区域的边缘与第一地图的边缘相平行或者垂直。
在一些实例中,规则形状区域包括以下任意之一:正方体区域、长方体区域。
在一些实例中,在处理器11确定用于对第二地图进行更新的有效区域时,处理器11用于:获取与第一地图相对应的地图有效区域;将地图有效区域确定为用于对第二地图进行更新的有效区域。
在一些实例中,在处理器11确定用于对第二地图进行更新的有效区域时,处理器11用于:获取第一地图与第二地图相对应的重合区域;在重合区域中,确定用于对第二地图进行更新的有效区域。
在一些实例中,在处理器11确定用于对第二地图进行更新的有效区域时,处理器11用于:在重合区域或者栅格地图中,获取用于标识有效区域的区域边界;基于区域边界确定用于对第二地图进行更新的有效区域。
在一些实例中,在处理器11获取用于标识有效区域的区域边界时,处理器11用于:获取相机坐标系的原点在栅格地图中所对应的原点位置;确定与栅格地图相对应的最大边界位置;计算点云数据在栅格地图中的点云位置;基于原点位置、最大边界位置和点云位置,确定有效区域的区域边界。
在一些实例中,在处理器11获取相机坐标系的原点在栅格地图的原点位置时,处理器11用于:获取相机坐标系的原点所对应的第一位置;确定栅格地图所对应的分辨率以及栅格地图的原点在世界坐标系中的第二位置;基于第一位置、分辨率和第二位置,确定相机坐标系的原点在栅格地图的原点位置。
在一些实例中,在处理器11确定与栅格地图相对应的最大边界位置时,处理器11用于:获取深度图的原点与栅格地图中心之间的第一距离;将第一距离与点云位置的和值确定为无穷远点位置;基于无穷远点位置,确定与栅格地图相对应的最大边界位置。
在一些实例中,在处理器11基于无穷远点位置,确定与栅格地图相对应的最大边界位置时,处理器11用于:将无穷远点位置,确定为与栅格地图相对应的最大边界位置。
在一些实例中,在处理器11基于无穷远点位置,确定与栅格地图相对应的最大边界位置时,处理器11用于:连接相机坐标系的原点与无穷远点位置,生成一连接直线;获取连接直线与栅格地图所形成的至少一个交点;基于至少一个交点,确定与栅格地图相对应的最大边界位置。
在一些实例中,在处理器11基于原点位置、最大边界位置和点云位置,确定有效区域的区域边界时,处理器11用于:将原点位置和最大边界位置确定为与有效区域的初始区域边界;基于点云位置对初始区域边界进行更新,确定有效区域的区域边界。
在一些实例中,在处理器11基于点云位置对初始区域边界进行更新,确定有效区域的区域边界时,处理器11用于:将点云位置与初始区域边界中的原点位置进行分析比较,在点云位置小于原点位置时,则将小于原点位置的点云位置确定为更新后原点位置;将点云位置与初始区域边界中的最大边界位置进行分析比较,在点云位置大于最大边界位置时,则将大于最大边界位置的点云位置确定为更新后最大边界位置;基于更新后原点位置和更新后最大边界位置,确定有效区域的区域边界。
在一些实例中,在生成与深度图相对应的点云数据之后,处理器11用于:识别点云数据是否有效;在点云数据为无效数据时,则删除点云数据。
在一些实例中,在处理器11识别点云数据是否有效时,处理器11用于:获取与点云数据相对应的数据标定值;在数据标定值与用于标识无效数据的预设值相匹配时,则确定与数据标定值相对应的点云数据为无效数据;或者,在数据标定值与用 于标识无效数据的预设值不匹配时,则确定与数据标定值相对应的点云数据为有效数据。
图19所示装置可以执行图1-图18所示实施例的方法,本实施例未详细描述的部分,可参考对图1-图18所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1-图18所示实施例中的描述,在此不再赘述。
图20为本发明实施例提供的一种可移动平台的结构示意图;参考附图20所示,本实施例提供了一种可移动平台,具体应用时,该可移动平台可以为手持电话、手持云台、无人机、无人车、无人船、机器人或自动驾驶汽车等,具体的,该可移动平台可以包括:
机身21;
上述图19实施例中的地图的更新装置22,设置于机身21上。
图20所示可移动平台的具体实现过程和实现原理与上述图19中可移动平台的实现过程和实现原理相类似,具体可参见上述图20所示实施例中的描述,在此不再赘述。
本实施例的另一方面提供了一种计算机可读存储介质,存储介质为计算机可读存储介质,该计算机可读存储介质中存储有程序指令,程序指令用于实现上述图1-图18所对应实施例中的地图的更新方法。
以上各个实施例中的技术方案、技术特征在与本相冲突的情况下均可以单独,或者进行组合,只要未超出本领域技术人员的认知范围,均属于本申请保护范围内的等同实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的相关遥控装置和方法,可以通过其它的方式实现。例如,以上所描述的遥控装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,遥控装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分 布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得计算机处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (34)

  1. 一种地图的更新方法,其特征在于,包括:
    获取当前时刻所对应的第一地图和历史时刻所对应的第二地图;
    确定用于对所述第二地图进行更新的有效区域,所述有效区域与所述第一地图所对应的视场角有关;
    根据所述有效区域和所述第一地图对所述第二地图进行更新,获得目标地图。
  2. 根据权利要求1所述的方法,其特征在于,获取当前时刻所对应的第一地图,包括:
    获取当前时刻所对应的深度图;
    生成与所述深度图相对应的点云数据;
    基于所述点云数据构建所述第一地图,所述第一地图为栅格地图。
  3. 根据权利要求2所述的方法,其特征在于,所述有效区域为覆盖所述视场角所对应范围的规则形状区域,所述规则形状区域的边缘与所述第一地图的边缘相平行或者垂直。
  4. 根据权利要求3所述的方法,其特征在于,所述规则形状区域包括以下任意之一:正方体区域、长方体区域。
  5. 根据权利要求2所述的方法,其特征在于,确定用于对所述第二地图进行更新的有效区域,包括:
    获取与所述第一地图相对应的地图有效区域;
    将所述地图有效区域确定为用于对所述第二地图进行更新的有效区域。
  6. 根据权利要求2所述的方法,其特征在于,确定用于对所述第二地图进行更新的有效区域,包括:
    获取所述第一地图与所述第二地图相对应的重合区域;
    在所述重合区域中,确定用于对所述第二地图进行更新的有效区域。
  7. 根据权利要求6所述的方法,其特征在于,确定用于对所述第二地图进行更新的有效区域,包括:
    在所述重合区域或者所述栅格地图中,获取用于标识所述有效区域的区域边界;
    基于所述区域边界确定用于对所述第二地图进行更新的有效区域。
  8. 根据权利要求7所述的方法,其特征在于,获取用于标识所述有效区域的区 域边界,包括:
    获取相机坐标系的原点在所述栅格地图中所对应的原点位置;
    确定与所述栅格地图相对应的最大边界位置;
    计算所述点云数据在所述栅格地图中的点云位置;
    基于所述原点位置、所述最大边界位置和所述点云位置,确定所述有效区域的区域边界。
  9. 根据权利要求8所述的方法,其特征在于,获取相机坐标系的原点在所述栅格地图的原点位置,包括:
    获取所述相机坐标系的原点所对应的第一位置;
    确定所述栅格地图所对应的分辨率以及所述栅格地图的原点在世界坐标系中的第二位置;
    基于所述第一位置、分辨率和所述第二位置,确定所述相机坐标系的原点在所述栅格地图的原点位置。
  10. 根据权利要求8所述的方法,其特征在于,确定与所述栅格地图相对应的最大边界位置,包括:
    获取所述深度图的原点与所述栅格地图中心之间的第一距离;
    将所述第一距离与所述点云位置的和值确定为无穷远点位置;
    基于所述无穷远点位置,确定与所述栅格地图相对应的最大边界位置。
  11. 根据权利要求10所述的方法,其特征在于,基于所述无穷远点位置,确定与所述栅格地图相对应的最大边界位置,包括:
    将所述无穷远点位置,确定为与所述栅格地图相对应的最大边界位置。
  12. 根据权利要求10所述的方法,其特征在于,基于所述无穷远点位置,确定与所述栅格地图相对应的最大边界位置,包括:
    连接所述相机坐标系的原点与所述无穷远点位置,生成一连接直线;
    获取所述连接直线与所述栅格地图所形成的至少一个交点;
    基于所述至少一个交点,确定与所述栅格地图相对应的最大边界位置。
  13. 根据权利要求8所述的方法,其特征在于,基于所述原点位置、所述最大边界位置和所述点云位置,确定所述有效区域的区域边界,包括:
    将所述原点位置和所述最大边界位置确定为与所述有效区域的初始区域边界;
    基于所述点云位置对所述初始区域边界进行更新,确定所述有效区域的区域边 界。
  14. 根据权利要求13所述的方法,其特征在于,基于所述点云位置对所述初始区域边界进行更新,确定所述有效区域的区域边界,包括:
    将所述点云位置与所述初始区域边界中的原点位置进行分析比较,在所述点云位置小于所述原点位置时,则将小于所述原点位置的点云位置确定为更新后原点位置;
    将所述点云位置与所述初始区域边界中的最大边界位置进行分析比较,在所述点云位置大于所述最大边界位置时,则将大于所述最大边界位置的点云位置确定为更新后最大边界位置;
    基于所述更新后原点位置和更新后最大边界位置,确定所述有效区域的区域边界。
  15. 根据权利要求2所述的方法,其特征在于,在生成与所述深度图相对应的点云数据之后,所述方法还包括:
    识别所述点云数据是否有效;
    在所述点云数据为无效数据时,则删除所述点云数据。
  16. 根据权利要求15所述的方法,其特征在于,识别所述点云数据是否有效,包括:
    获取与所述点云数据相对应的数据标定值;
    在所述数据标定值与用于标识无效数据的预设值相匹配时,则确定与所述数据标定值相对应的点云数据为无效数据;或者,在所述数据标定值与用于标识无效数据的预设值不匹配时,则确定与所述数据标定值相对应的点云数据为有效数据。
  17. 一种地图的更新装置,其特征在于,包括:
    存储器,用于存储计算机程序;
    处理器,用于运行所述存储器中存储的计算机程序以实现:
    获取当前时刻所对应的第一地图和历史时刻所对应的第二地图;
    确定用于对所述第二地图进行更新的有效区域,所述有效区域与所述第一地图所对应的视场角有关;
    根据所述有效区域和所述第一地图对所述第二地图进行更新,获得目标地图。
  18. 根据权利要求17所述的装置,其特征在于,在所述处理器获取当前时刻所对应的第一地图时,所述处理器用于:
    获取当前时刻所对应的深度图;
    生成与所述深度图相对应的点云数据;
    基于所述点云数据构建所述第一地图,所述第一地图为栅格地图。
  19. 根据权利要求18所述的装置,其特征在于,所述有效区域为覆盖所述视场角所对应范围的规则形状区域,所述规则形状区域的边缘与所述第一地图的边缘相平行或者垂直。
  20. 根据权利要求19所述的装置,其特征在于,所述规则形状区域包括以下任意之一:正方体区域、长方体区域。
  21. 根据权利要求18所述的装置,其特征在于,在所述处理器确定用于对所述第二地图进行更新的有效区域时,所述处理器用于:
    获取与所述第一地图相对应的地图有效区域;
    将所述地图有效区域确定为用于对所述第二地图进行更新的有效区域。
  22. 根据权利要求18所述的装置,其特征在于,在所述处理器确定用于对所述第二地图进行更新的有效区域时,所述处理器用于:
    获取所述第一地图与所述第二地图相对应的重合区域;
    在所述重合区域中,确定用于对所述第二地图进行更新的有效区域。
  23. 根据权利要求22所述的装置,其特征在于,在所述处理器确定用于对所述第二地图进行更新的有效区域时,所述处理器用于:
    在所述重合区域或者所述栅格地图中,获取用于标识所述有效区域的区域边界;
    基于所述区域边界确定用于对所述第二地图进行更新的有效区域。
  24. 根据权利要求23所述的装置,其特征在于,在所述处理器获取用于标识所述有效区域的区域边界时,所述处理器用于:
    获取相机坐标系的原点在所述栅格地图中所对应的原点位置;
    确定与所述栅格地图相对应的最大边界位置;
    计算所述点云数据在所述栅格地图中的点云位置;
    基于所述原点位置、所述最大边界位置和所述点云位置,确定所述有效区域的区域边界。
  25. 根据权利要求24所述的装置,其特征在于,在所述处理器获取相机坐标系的原点在所述栅格地图的原点位置时,所述处理器用于:
    获取所述相机坐标系的原点所对应的第一位置;
    确定所述栅格地图所对应的分辨率以及所述栅格地图的原点在世界坐标系中的第二位置;
    基于所述第一位置、分辨率和所述第二位置,确定所述相机坐标系的原点在所述栅格地图的原点位置。
  26. 根据权利要求24所述的装置,其特征在于,在所述处理器确定与所述栅格地图相对应的最大边界位置时,所述处理器用于:
    获取所述深度图的原点与所述栅格地图中心之间的第一距离;
    将所述第一距离与所述点云位置的和值确定为无穷远点位置;
    基于所述无穷远点位置,确定与所述栅格地图相对应的最大边界位置。
  27. 根据权利要求26所述的装置,其特征在于,在所述处理器基于所述无穷远点位置,确定与所述栅格地图相对应的最大边界位置时,所述处理器用于:
    将所述无穷远点位置,确定为与所述栅格地图相对应的最大边界位置。
  28. 根据权利要求26所述的装置,其特征在于,在所述处理器基于所述无穷远点位置,确定与所述栅格地图相对应的最大边界位置时,所述处理器用于:
    连接所述相机坐标系的原点与所述无穷远点位置,生成一连接直线;
    获取所述连接直线与所述栅格地图所形成的至少一个交点;
    基于所述至少一个交点,确定与所述栅格地图相对应的最大边界位置。
  29. 根据权利要求24所述的装置,其特征在于,在所述处理器基于所述原点位置、所述最大边界位置和所述点云位置,确定所述有效区域的区域边界时,所述处理器用于:
    将所述原点位置和所述最大边界位置确定为与所述有效区域的初始区域边界;
    基于所述点云位置对所述初始区域边界进行更新,确定所述有效区域的区域边界。
  30. 根据权利要求29所述的装置,其特征在于,在所述处理器基于所述点云位置对所述初始区域边界进行更新,确定所述有效区域的区域边界时,所述处理器用于:
    将所述点云位置与所述初始区域边界中的原点位置进行分析比较,在所述点云位置小于所述原点位置时,则将小于所述原点位置的点云位置确定为更新后原点位置;
    将所述点云位置与所述初始区域边界中的最大边界位置进行分析比较,在所述 点云位置大于所述最大边界位置时,则将大于所述最大边界位置的点云位置确定为更新后最大边界位置;
    基于所述更新后原点位置和更新后最大边界位置,确定所述有效区域的区域边界。
  31. 根据权利要求18所述的装置,其特征在于,在生成与所述深度图相对应的点云数据之后,所述处理器用于:
    识别所述点云数据是否有效;
    在所述点云数据为无效数据时,则删除所述点云数据。
  32. 根据权利要求31所述的装置,其特征在于,在所述处理器识别所述点云数据是否有效时,所述处理器用于:
    获取与所述点云数据相对应的数据标定值;
    在所述数据标定值与用于标识无效数据的预设值相匹配时,则确定与所述数据标定值相对应的点云数据为无效数据;或者,在所述数据标定值与用于标识无效数据的预设值不匹配时,则确定与所述数据标定值相对应的点云数据为有效数据。
  33. 一种可移动平台,其特征在于,包括:
    机身;
    权利要求17-32中任意一项所述的地图的更新装置,设置于所述机身上。
  34. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序指令,所述程序指令用于实现权利要求1-16中任意一项所述的地图的更新方法。
PCT/CN2020/099243 2020-06-30 2020-06-30 地图的更新方法、装置、可移动平台及存储介质 WO2022000260A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202080005442.9A CN112789609A (zh) 2020-06-30 2020-06-30 地图的更新方法、装置、可移动平台及存储介质
PCT/CN2020/099243 WO2022000260A1 (zh) 2020-06-30 2020-06-30 地图的更新方法、装置、可移动平台及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/099243 WO2022000260A1 (zh) 2020-06-30 2020-06-30 地图的更新方法、装置、可移动平台及存储介质

Publications (1)

Publication Number Publication Date
WO2022000260A1 true WO2022000260A1 (zh) 2022-01-06

Family

ID=75753999

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/099243 WO2022000260A1 (zh) 2020-06-30 2020-06-30 地图的更新方法、装置、可移动平台及存储介质

Country Status (2)

Country Link
CN (1) CN112789609A (zh)
WO (1) WO2022000260A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115930954A (zh) * 2023-03-09 2023-04-07 青岛慧拓智能机器有限公司 一种矿区高精度地图构建和更新方法
US20230360239A1 (en) * 2022-05-05 2023-11-09 Visual Sensing Technology Co., Ltd. Method for Establishing Semantic Distance Map and Related Moving device
CN117405130A (zh) * 2023-12-08 2024-01-16 新石器中研(上海)科技有限公司 目标点云地图获取方法、电子设备及存储介质
CN117788593A (zh) * 2024-02-26 2024-03-29 苏州艾吉威机器人有限公司 剔除三维激光数据中动态点的方法、装置、介质及设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113295176A (zh) * 2021-05-27 2021-08-24 上海商汤临港智能科技有限公司 地图更新方法、地图更新装置及计算机可读存储介质
CN115705670A (zh) * 2021-08-06 2023-02-17 北京小米移动软件有限公司 地图管理方法及其装置
CN113720325B (zh) * 2021-09-14 2024-05-17 阿里巴巴达摩院(杭州)科技有限公司 环境变化检测方法、装置、电子设备及计算机存储介质
CN114081396B (zh) * 2021-11-30 2023-04-18 深圳Tcl新技术有限公司 扫地机的地图数据上报方法、装置、存储介质及电子设备
CN114637698B (zh) * 2022-05-18 2022-09-02 深圳市倍思科技有限公司 机器人的地图内存分配方法、装置、机器人及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140022281A1 (en) * 2012-07-18 2014-01-23 The Boeing Company Projecting airplane location specific maintenance history using optical reference points
CN105869214A (zh) * 2015-11-26 2016-08-17 乐视致新电子科技(天津)有限公司 一种基于虚拟现实设备的视锥体裁剪方法及装置
CN110000786A (zh) * 2019-04-12 2019-07-12 珠海市一微半导体有限公司 一种基于视觉机器人的历史地图利用方法
CN110009718A (zh) * 2019-03-07 2019-07-12 深兰科技(上海)有限公司 一种三维高精度地图生成方法及装置
CN110070615A (zh) * 2019-04-12 2019-07-30 北京理工大学 一种基于多相机协同的全景视觉slam方法
CN110874812A (zh) * 2019-11-15 2020-03-10 网易(杭州)网络有限公司 游戏中的场景图像绘制方法、装置及电子终端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140022281A1 (en) * 2012-07-18 2014-01-23 The Boeing Company Projecting airplane location specific maintenance history using optical reference points
CN105869214A (zh) * 2015-11-26 2016-08-17 乐视致新电子科技(天津)有限公司 一种基于虚拟现实设备的视锥体裁剪方法及装置
CN110009718A (zh) * 2019-03-07 2019-07-12 深兰科技(上海)有限公司 一种三维高精度地图生成方法及装置
CN110000786A (zh) * 2019-04-12 2019-07-12 珠海市一微半导体有限公司 一种基于视觉机器人的历史地图利用方法
CN110070615A (zh) * 2019-04-12 2019-07-30 北京理工大学 一种基于多相机协同的全景视觉slam方法
CN110874812A (zh) * 2019-11-15 2020-03-10 网易(杭州)网络有限公司 游戏中的场景图像绘制方法、装置及电子终端

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230360239A1 (en) * 2022-05-05 2023-11-09 Visual Sensing Technology Co., Ltd. Method for Establishing Semantic Distance Map and Related Moving device
US11972587B2 (en) * 2022-05-05 2024-04-30 Fitipower Integrated Technology Inc. Method for establishing semantic distance map and related moving device
CN115930954A (zh) * 2023-03-09 2023-04-07 青岛慧拓智能机器有限公司 一种矿区高精度地图构建和更新方法
CN115930954B (zh) * 2023-03-09 2023-06-30 青岛慧拓智能机器有限公司 一种矿区高精度地图构建和更新方法
CN117405130A (zh) * 2023-12-08 2024-01-16 新石器中研(上海)科技有限公司 目标点云地图获取方法、电子设备及存储介质
CN117405130B (zh) * 2023-12-08 2024-03-08 新石器中研(上海)科技有限公司 目标点云地图获取方法、电子设备及存储介质
CN117788593A (zh) * 2024-02-26 2024-03-29 苏州艾吉威机器人有限公司 剔除三维激光数据中动态点的方法、装置、介质及设备

Also Published As

Publication number Publication date
CN112789609A (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
WO2022000260A1 (zh) 地图的更新方法、装置、可移动平台及存储介质
WO2019170164A1 (zh) 基于深度相机的三维重建方法、装置、设备及存储介质
CN110031824B (zh) 激光雷达联合标定方法及装置
CN111325796B (zh) 用于确定视觉设备的位姿的方法和装置
US11983820B2 (en) Information processing method and device, positioning method and device, electronic device and storage medium
US8199977B2 (en) System and method for extraction of features from a 3-D point cloud
US11877716B2 (en) Determining region attribute
JP2020035448A (ja) 3次元シーンマップの生成方法、生成装置、機器および記憶媒体
US20190370989A1 (en) Method and apparatus for 3-dimensional point cloud reconstruction
KR20200005999A (ko) 듀얼 이벤트 카메라를 이용한 slam 방법 및 slam 시스템
WO2021052403A1 (zh) 一种移动机器人感知障碍信息的方法、装置
US20200349727A1 (en) Obstacle detection method, mobile platform, and computer readable storage medium
WO2022160790A1 (zh) 一种三维地图的构建方法及装置
CN112784873A (zh) 一种语义地图的构建方法及设备
CN111768489B (zh) 一种室内导航地图构建方法和系统
WO2021056516A1 (zh) 目标检测方法、设备及可移动平台
US7030875B2 (en) Environmental reasoning using geometric data structure
CN115063550B (zh) 一种语义点云地图构建方法、系统及智能机器人
CN114255323A (zh) 机器人、地图构建方法、装置和可读存储介质
WO2021185036A1 (zh) 点云数据的生成及实时显示方法、装置、设备及介质
US20210156710A1 (en) Map processing method, device, and computer-readable storage medium
CN113763438B (zh) 一种点云配准方法、装置、设备及存储介质
US11423609B2 (en) Apparatus and method for generating point cloud
CN112085842B (zh) 深度值确定方法及装置、电子设备和存储介质
WO2023030062A1 (zh) 一种无人机的飞行控制方法、装置、设备、介质及程序

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: 20943274

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20943274

Country of ref document: EP

Kind code of ref document: A1