SYSTEM AND METHOD FOR DETECTING DYNAMIC EVENTS
20250216850 ยท 2025-07-03
Assignee
Inventors
Cpc classification
G05D1/242
PHYSICS
International classification
Abstract
A moving object detection system and method is provided. The system includes an input module capturing a point cloud comprising measurements of distances to points on one or more objects and a detection module receiving the point cloud captured by the input module and configured to determine whether the objects are moving objects. The determination of moving objects is performed by determining whether currently measured points occlude any previously measured points, and/or whether the currently measured points recursively occlude any previously measured points, and/or whether the currently measured points are recursively occluded by any previously measured points.
Claims
1. A moving object detection system, comprising: an input module configured to capture a point cloud comprising measurements of distances to points on one or more objects; a detection module configured to receive the point cloud captured by the input module and configured to determine whether the objects are moving objects, by determining whether currently measured points occlude any previously measured points, and/or whether the currently measured points recursively occlude any previously measured points, and/or whether the currently measured points are recursively occluded by any previously measured points; and controlling the movement of a vehicle on the basis of the object detection.
2. The moving object detection system of claim 1, wherein whether the objects are moving objects is determined either sequentially or simultaneously, the system being configured with other processing modules for performance enhancements.
3. The moving object detection system of claim 1, wherein the previously measured points of the moving objects are partially or completely excluded in the determination of occlusion for currently measured points.
4. The moving object detection system of claim 1, wherein the determination of occlusion is performed based on a depth image by comparing the depth of the currently measured points with previously measured ones that projecting to the same or adjacent pixels of the depth image to determine the occlusion, the occlusion results being corrected by additional tests for performance enhancements.
5. The moving object detection system of claim 4, wherein the points are projected to the depth image by a spherical projection, a perspective projection, or a projection that projects points lying on neighboring lines of sight to neighboring pixels.
6. The moving object detection system of claim 5, wherein in a moving platform, the depth image is attached to a pose read from an external motion sensing module, indicating under which pose the depth image is constructed and points are configured to be transformed to this pose before projection to the depth image.
7. The moving object detection system of claim 5, wherein for each pixel of the depth image, the detection module is configured to save all or a selected number of points projected therein, and/or all or a select number of the depths of points projected therein, and/or the statistical information comprising a minimum value, a maximum value, or a variance of depths of all or a selected number of points projected therein, and/or other information of the occluded points attached to points projected therein.
8. The moving object detection system of claim 5, wherein multiple depth images are constructed at multiple prior poses, and each is constructed from points starting from the respective pose and accumulating for a certain period of time.
9. The moving object detection system of claim 8, wherein for each point of a pixel, the detection module is configured to save the points in a previous depth image that occludes the point or are occluded by the point.
10. The moving object detection system of claim 8, wherein the occlusion of current points is determined against all or a selected number of depth images previously constructed.
11. The moving object detection system of claim 10, wherein a current point is determined to occlude previous points if its depth is smaller than all or any points contained in adjacent pixels of any depth image to which it projects.
12. The moving object detection system of claim 10, wherein a current point is determined to be occluded by previous points if its depth is greater than all or any points contained in adjacent pixels of any depth image to which it projects.
13. The moving object detection system of claim 11, wherein a current point is determined to recursively occlude previous points if it occludes a set of points in previous depth images and in the set, points in later depth images occlude points in earlier depth images.
14. The moving object detection system of claim 12, wherein a current point is determined to be recursively occluded by previous points if it is occluded by a set of points in previous depth image and in the set, points in later depth images are occluded by points in earlier depth images.
15. A method for detecting one or more moving objects, the method comprising: capturing, by an input module, a point cloud comprising measurements of distances to points on one or more objects; providing the point cloud captured by the input module to a detection module; configuring the detection module to determine whether the objects are moving objects, by determining whether currently measured points occlude any previously measured points, and/or whether the currently measured points recursively occlude any previously measured points, and/or whether the currently measured points are recursively occluded by any previously measured points; and controlling the movement of a vehicle on the basis of the object detection.
16. The method of claim 15, wherein whether the objects are moving objects is determined either sequentially or simultaneously, the method being configured with other processing steps for performance enhancements.
17. The method of claim 15, wherein the previously measured points of the moving objects are partially or completely excluded in the determination of occlusion for currently measured points.
18. The method of claim 15, wherein the determination of occlusion is performed based on depth image by comparing the depth of the currently measured points with previously measured ones that are projected to same or adjacent pixels of the depth image to determine the occlusion, the occlusion results being corrected by additional tests for performance enhancements.
19. The method of claim 18, wherein the points are projected to the depth image by a spherical projection, a perspective projection, or a projection that projects points lying on neighboring lines of sight to neighboring pixels.
20. The method of claim 19, wherein in a moving platform, the depth image is attached with to a pose read from an external motion sensing module, indicating under which pose the depth image is constructed and points are configured to be transformed to this pose before projection to the depth image.
21. The method of claim 19, wherein for each pixel of the depth image, the detection module is configured to save all or a selected number of points projected therein, and/or all or a select number of the depths of points projected therein, and/or the statistical information comprising a minimum value, a maximum value, or a variance of depths of all or a selected number of points projected therein, and/or other information of the occluded points attached to points projected therein.
22. The method of claim 19, wherein multiple depth images are constructed at multiple prior poses, and each is constructed from points starting from the respective pose and accumulating for a certain period of time.
23. The method of claim 22, wherein for each point of a pixel, the detection module is configured to save the points in a previous depth image that occludes the point or are occluded by the point.
24. The method of claim 22, wherein the occlusion of current points is determined against all or a selected number of depth images previously constructed.
25. The method of claim 24, wherein a current point is determined to occlude previous points if its depth is smaller than all or any points contained in adjacent pixels of any depth image to which it is projected.
26. The method of claim 24, wherein a current point is determined to be occluded by previous points if its depth is greater than all or any points contained in adjacent pixels of any depth image to which it is projected.
27. The method of claim 25, wherein a current point is determined to recursively occlude previous points if it occludes a set of points in previous depth images and in the set, points in later depth images occlude points in earlier depth images.
28. The method of claim 26, wherein a current point is determined to be recursively occluded by previous points if it is occluded by a set of points in previous depth image and in the set, points in later depth images are occluded by points in earlier depth images.
29. A computer-readable storage medium having stored therein program instructions that, when executed by a processor of a computing system, cause the processor to execute a method for detecting one or more moving objects, the method comprising: capturing, by an input module, a point cloud comprising measurements of distances to points on one or more objects; providing the point cloud captured by the input module to a detection module; and configuring the detection module to determine whether the objects are moving objects, by determining whether currently measured points occlude any previously measured points, and/or whether the currently measured points recursively occlude any previously measured points, and/or whether the currently measured points are recursively occluded by any previously measured points, wherein the object detection controls the movement of a vehicle.
30. The moving object detection system of claim 1 wherein the input module comprises at least one of a light detection and ranging (LiDAR) sensor, a laser scanner, an ultrasonic sensor, a radar, or any suitable sensor that captures the three-dimensional (3-D) structure of a moving object or a stationary object from the viewpoint of the sensor.
31. The moving object detection system of claim 1 wherein the detection module is one or more of a programmed computer or microcontroller, an application-specific integrated circuit (ASIC), a programable gate array or other analog or digital logic circuit.
32. The moving object detection system of claim 4, wherein the occlusion results are corrected by an additional a false positive rejection (FPR) test based on the principle that a point on the moving object should be distant from stationary map points. said FRP test comprising the steps of: following the occlusion checking step, after the occlusion checking step, performing a map consistency check on multiple recent depth images by retrieving all non-event points in the pixel where the current point is projected and in neighboring pixels, and for any retrieved point, if there exists a point with a similar depth to that of the current point, considering it a stationary point and revising the dynamic event point to be a non-event one, whereby false positives are removed.
33. A moving object detection system, comprising: an input module configured to capture a point cloud comprising measurements of distances to points on one or more objects; a detection module configured to receive the point cloud captured by the input module and configured to determine whether the objects are moving objects, (1) by determining that an object, when moving perpendicular to a ranging direction of the input module, partially or wholly occludes the background objects that have been previously detected and (2) by determining that an object, when moving parallel to the ranging direction, occludes or can be occluded by itself repeatedly; and controlling the movement of a vehicle on the basis of the object detection.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] This patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provided by the Office upon request and payment of the necessary fee.
[0009] The foregoing and other objects and advantages of the present invention will become more apparent when considered in connection with the following detailed description and appended drawings in which like designations denote like elements in the various views, and wherein:
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
DETAILED DISCLOSURE OF THE INVENTION
[0019] The embodiments of subject invention show a method and systems for detecting dynamic events from a sequence of point scans measured by ranging detecting devices such as ranging sensors.
[0020] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the term and/or includes any and all combinations of one or more of the associated listed items. As used herein, the singular forms a, an, and the are intended to include the plural forms as well as the singular forms, unless the context clearly indicates otherwise. It will be further understood that the terms comprises and/or comprising, when used in this specification (except for the claims), specify the presence of stated features, steps, operations, elements, and/or components, but do not prelude the presence or addition of one or more other features, steps, operations, elements, components, and/or groups thereof.
[0021] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one having ordinary skill in the art to which this invention pertains. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and the present disclosure and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
[0022] When the term about is used herein, in conjunction with a numerical value, it is understood that the value can be in a range of 90% of the value to 110% of the value, i.e. the value can be +/10% of the stated value. For example, about 1 kg means from 0.90 kg to 1.1 kg.
[0023] In describing the invention, it will be understood that a number of techniques and steps are disclosed. Each of these has individual benefits and each can also be used in conjunction with one or more, or in some cases all, of the other disclosed techniques. Accordingly, for the sake of clarity, this description will refrain from repeating every possible combination of the individual steps in an unnecessary fashion. Nevertheless, the specification and claims should be read with the understanding that such combinations are entirely within the scope of the invention and the claims.
[0024] The term ranging direction used herein refers to a direction along which a ranging sensor measures a distance to a moving object or a stationary object.
[0025] Referring to
[0026] A detection module 220 in processor 218 reads the point cloud data from memory 218 or directly from range sensor 115 and determines whether the points on the objects in the field of view are moving objects by checking whether the data points currently measured occlude any points previously measured, and/or whether the points currently measured recursively occlude any data points previously measured, and/or whether the data points currently measured are recursively occluded by any data points previously measured. The detection module 220 can be programmed to make the determinations based on the points currently measured or previously measured either sequentially or simultaneously. For each current point of the cloud data being processed, the corresponding sensor pose at the measured time, including a translational component and a rotational component, is read from an odometry system or odometer 222 in
[0027] Referring to
[0028] The one or more objects may move perpendicularly to the ranging directions, or move in parallel with the ranging directions, or move in a direction that can be broken into two directions including a first direction perpendicular to the ranging direction and a second direction parallel to the ranging direction.
[0029] In one embodiment, the ranging sensor measures the distances to an object in a field of view (FoV) in one ranging direction or multiple ranging directions.
[0030] In one embodiment, the ranging sensor can be one of a light detection and ranging (LiDAR) sensor, a laser scanner, an ultrasonic sensor, a radar, or any suitable sensor that captures the three-dimensional (3-D) structure of a moving object or a stationary object from the viewpoint of the sensor. The ranging sensor can be used in a variety of applications, such as robot/unmanned aerial vehicles (UAVs) navigation, autonomous driving, environment monitoring, traffic monitoring, surveillance, and 3D reconstruction.
[0031] The moving object detection system and method of the subject invention may instantaneously detect data points of the moving objects, referred to as dynamic event points, by determining the occlusion between current position of the dynamic event points and all or a selected number of previous positions of the dynamic event points based on two fundamental principles of physics.
[0032] The first principle is that an object, when moving perpendicular to the ranging direction, partially or wholly occludes the background objects that have been previously detected by the moving object detection system and method.
[0033]
[0034] The second principle is that an object, when moving parallel to the ranging direction, occludes or can be occluded by itself repeatedly. This second occlusion principle is necessary to form a complete moving objects detection method, since the first occlusion principle can only detect objects that are moving crossing the laser ranging direction, but not along the ranging direction
[0035]
[0036] On the other hand, when the object is moving towards the sensor in parallel with the ranging direction, the phenomenon is identical except that the corresponding point occludes other point(s) instead of being occluded by other point(s). That being said, a point on the mentioned moving object would occlude previous points that further occlude themselves recursively. It should be noted that applying this phenomenon to moving object detection from LiDAR point clouds is not disclosed by any prior art.
[0037] It is also noted that for both the first and the second principles, a point can be determined that, whether it recursively occludes the previous points or is recursively occluded by the previous points, once it is generated it enables instantaneous detection of the moving objects at the point measuring rates.
[0038] The main challenge of the present invention resides in the large number of previous points, which are hard to be processed in real-time. To address such challenges, the invention has several novel features. First, depth images are used to store the previous points to ensure efficient occlusion checking (which is the foundation of the occlusion principles). Currently measured points are projected into depth images to perform occlusion checks with points in their neighboring pixels. This makes the occlusion check more efficient. Second, only a certain number of depth images containing previous points are saved for occlusion checking. This limits the number of depth images for occlusion checking and hence limits the processing time.
[0039] In one embodiment, determination of the occlusion between current time points and the previous time points can be implemented by depth images. In particular, the determination of the occlusions is performed based on depth images by comparing the depth of the current points and previous ones that are projected to the same or adjacent pixels of the depth image to determine their occlusions.
[0040] As shown in
[0041] A depth image can be attached with a pose (referred to as the depth image pose) with respect to a reference frame (referred to as the reference frame x,-y,-z), indicating where the depth image is constructed.
[0042] When (R, t) is defined as the depth image pose and p is defined as the coordinates of a point (either the current point or any previous points) in the same reference frame, a projection of the point to the depth image can be achieved by following steps.
[0043] First, the point is transformed into depth image pose by Equation (1)
[0044] Then, the transformed point is projected to the depth image as shown by Equations (2) and (3)
where a projection such as perspective projection can be used.
[0045] Finally, the pixel location of the projected point location is determined by Equations (4) and (5)
where d is the pixel size which is the resolution of the depth image.
[0046] In one embodiment, the points are projected to the depth image by a spherical projection, a perspective projection, or any other suitable project that projects points lying on neighboring lines of sight to neighboring pixels.
[0047] In one embodiment, in a moving platform, a depth image is attached with a pose read from an external motion sensing device such as an odometry module, indicating under which pose the depth image is constructed and points are configured to be transformed to this pose before the projection to the depth image.
[0048] In one embodiment, each pixel of a depth image saves all or a selected number of points projected therein, and/or all or a select number of the depths of points projected therein, and/or the statistical information, for example, the minimum value, the maximum value, or the variance, of depths of all or a selected number of points projected therein, and/or the occluded points' other information attached to points projected therein.
[0049] In one embodiment, depth images are constructed at multiple prior poses and each depth image is constructed from points starting from the respective pose and accumulating for a certain period. Moreover, each point in a pixel saves the points in previous depth images that occlude the point or are occluded by the point.
[0050] In one embodiment, the occlusion of current points is determined against all or a selected number of depth images previously constructed.
[0051] In one embodiment, a current point is considered as occluding previous points if its depth is smaller than all or any points contained in adjacent pixels of any depth images it projects to.
[0052] In one embodiment, a current point is considered to be occluded by the previous points if its depth is larger than all or any points contained in adjacent pixels of any depth images it projects to.
[0053] In one embodiment, the occlusion of the current point and points in a depth image could be rejected or corrected by additional tests, for example, depending on if the current point is too close to points in the depth image.
[0054] In one embodiment, a current point is considered to recursively occlude previous points if it occludes a set of points in previous depth images, and in the set, points in later depth images are occluded by points in earlier depth images.
[0055] In one embodiment, a current point is considered to be recursively occluded by the previous points if it is occluded by a set of points in previous depth images, and in the set, points in later depth images are occluded by points in earlier depth images.
[0056] The depth image can be implemented with a fixed resolution as shown above or with multiple resolutions, the depth image can be implemented as a two-dimensional array or other types of data structure such that the pixel locations of previous points can be organized more efficiently.
[0057] Referring to
[0058] In the first step, a current point can be individually processed immediately after it is received or a group of points can form a batch by being accumulated over a certain period of time, for example, 50 Hz per frame. For each current point being processed, the corresponding sensor pose at the measured time, including a translational component and a rotational component, is read from an external odometry system or odometer 222 in
[0059] Referring to Test 1 of
[0060] Referring to Test 2 of
[0061] In particular, if the current point is occluded by any points in a selected set of previous depth image (e.g., denoted by p.sup.I.sup.
[0062] Referring to Test 3 of
[0063] In particular, if the current point occludes any points in a selected set of previous depth image (e.g., denoted by p.sup.I.sup.
[0064] Referring back to
[0065] Referring to
[0066] The moving object detection method and system of the subject invention can instantaneously distinguish points of the moving objects from the points of stationary objects measured by the ranging devices. Based on this point-level detection, moving objects in a detected scene can be robustly and accurately recognized and tracked, which is essential for an agent such as a robot/UAV, a self-driving car, or an alarming system to react or respond to the moving objects.
[0067]
[0068] In particular,
[0069]
[0070]
[0071]
[0072] The computational efficiencies of the various experiments performed by the moving object detection system and method are shown in Table 1 below. A detection latency smaller than 0.5 us can be achieved.
TABLE-US-00001 TABLE 1 Computational Efficiencies of the Moving Object Detection System and Method with Various Types of LiDAR Velodyne Velodyne LiDAR Type Livox AVIA HDL-32E HDL-64E Points per second 240,000 800,000 1,330,000 Detection time 1.7 s 2.3 s 3.8 s per point
[0073] Due to the limited sensor resolution, the occlusion principles may lead to many false positive points (i.e., points not on moving objects are detected as on moving objects). To address this problem, a false positive rejection (FPR) step, following the occlusion check step, can be applied to each dynamic event points. This step aims to reject incorrect event points according to the principle that a point on the moving object should be distant from stationary map points. Since one depth image contains only a part of the map points, a map consistency check is performed on multiple recent depth images. Specifically, after the occlusion check, all non-event points are retrieved in the pixel where the current point is projected and in neighboring pixels. For any retrieved point, if there exists a point with a similar depth to that of the current point, the current point is considered as a stationary point and the dynamic event point should be revised as a non-event one.
[0074] The embodiments of the moving object detection system and method of the subject invention provide many advantages.
[0075] First, the embodiments are robust for detecting dynamic events of moving objects of different types, shapes, sizes, and speeds, such as moving vehicles, pedestrians, and cyclists in the application of autonomous driving and traffic monitoring, or any intruders in the application of security surveillance, or general objects such as human or animal on the ground, birds in air, and other man-made or natural objects in the application of UAV navigations.
[0076] Second, the embodiments are adaptable for working with different types of ranging sensors including, but not limited to, conventional multi-line spinning LiDARs, emerging solid-state or hybrid LiDARs, 3D laser scanners, radars, or other suitable ranging sensors, even when the ranging sensor itself is moving.
[0077] Third, the embodiments are highly efficient and can run at high point measuring rates, for example a few tens of thousands of Hertz when running on embedded low-power computers.
[0078] Fourth, the embodiments can achieve a low latency for determining whether a point is a dynamic event immediately after the measurement of the point is conducted. For example, the latency between the measurement of a point on any moving object and the determination can be less than one microsecond.
[0079] All patents, patent applications, provisional applications, and publications referred to or cited herein are incorporated by reference in their entirety, including all figures and tables, to the extent they are not inconsistent with the explicit teachings of this specification.
[0080] It should be understood that the examples and embodiments described herein are for illustrative purposes only and that various modifications or changes in light thereof will be suggested to persons skilled in the art and are to be included within the spirit and purview of this application and the scope of the appended claims. In addition, any elements or limitations of any invention or embodiment thereof disclosed herein can be combined with any and/or all other elements or limitations (individually or in any combination) or any other invention or embodiment thereof disclosed herein, and all such combinations are contemplated with the scope of the invention without limitation thereto.
EMBODIMENTS
[0081] Embodiment 1. A moving object detection system, comprising: [0082] an input module configured to capture a point cloud comprising measurements of distances to points on one or more objects; and [0083] a detection module configured to receive the point cloud captured by the input module and configured to determine whether the objects are moving objects, by determining whether currently measured points occlude any previously measured points, and/or whether the currently measured points recursively occlude any previously measured points, and/or whether the currently measured points are recursively occluded by any previously measured points.
[0084] Embodiment 2. The moving object detection system of embodiment 1, wherein whether the objects are moving objects is determined either sequentially or simultaneously, with the system being used configured with other processing steps and modules for performance enhancements.
[0085] Embodiment 3. The moving object detection system of embodiment 1, wherein the previously measured points of the moving objects are partially, or completely excluded in the determination of occlusion for currently measured points.
[0086] Embodiment 4. The moving object detection system of embodiment 1, wherein the determination of occlusion is performed based on a depth image by comparing the depth of the currently measured points with previously measured ones that are projected to same or adjacent pixels of the depth image to determine the occlusion, with the occlusion results being corrected by additional tests for performance enhancements.
[0087] Embodiment 5. The moving object detection system of embodiment 4, wherein the points are projected to the depth image by a spherical projection, a perspective projection, or a projection that projects points lying on neighboring lines of sight to neighboring pixels.
[0088] Embodiment 6. The moving object detection system of embodiment 5, wherein in a moving platform, the depth image is attached with a pose read from an external motion sensing module, indicating under which pose the depth image is constructed and points are configured to be transformed to this pose before projection to the depth image.
[0089] Embodiment 7. The moving object detection system of embodiment 5, wherein for each pixel of the depth image, the detection module is configured to save all or a selected number of points projected therein, and/or all or a select number of the depths of points projected therein, and/or the statistical information comprising a minimum value, a maximum value, or a variance of depths of all or a selected number of points projected therein, and/or other information of the occluded points attached to points projected therein.
[0090] Embodiment 8. The moving object detection system of embodiment 5, wherein multiple depth images are constructed at multiple prior poses, and each is constructed from points starting from the respective pose and accumulating for a certain period of time.
[0091] Embodiment 9. The moving object detection system of embodiment 8, wherein for each point of a pixel, the detection module is configured to save the points in a previous depth image that occlude the point or are occluded by the point.
[0092] Embodiment 10. The moving object detection system of embodiment 8, wherein the occlusion of current points is determined against all or a selected number of depth images previously constructed.
[0093] Embodiment 11. The moving object detection system of embodiment 10, wherein a current point is determined to occlude previous points if its depth is smaller than all or any points contained in adjacent pixels of any depth image to which it projects.
[0094] Embodiment 12. The moving object detection system of embodiment 10, wherein a current point is determined to be occluded by previous points if its depth is greater than all or any points contained in adjacent pixels of any depth image to which it projects.
[0095] Embodiment 13. The moving object detection system of embodiment 11, wherein a current point is determined to recursively occlude previous points if it occludes a set of points in previous depth images and in the set, points in later depth images occlude points in earlier depth images.
[0096] Embodiment 14. The moving object detection system of embodiment 12, wherein a current point is determined to be recursively occluded by previous points if it is occluded by a set of points in previous depth image and in the set, points in later depth images are occluded by points in earlier depth images.
[0097] Embodiment 15. A method for detecting one or more moving objects, the method comprising: [0098] capturing, by an input module, a point cloud comprising measurements of distances to points on one or more objects; [0099] providing the point cloud captured by the input module to a detection module; and [0100] configuring the detection module to determine whether the objects are moving objects, by determining whether currently measured points occlude any previously measured points, and/or whether the currently measured points recursively occlude any previously measured points, and/or whether the currently measured points are recursively occluded by any previously measured points.
[0101] Embodiment 16. The method of embodiment 15, wherein whether the objects are moving objects is determined either sequentially or simultaneously, with the system method being used configured with other processing steps for performance enhancements.
[0102] Embodiment 17. The method of embodiment 15, wherein the previously measured points of the moving objects are partially or completely excluded in the determination of occlusion for currently measured points.
[0103] Embodiment 18. The method of embodiment 15, wherein the determination of occlusion is performed based on a depth image by comparing the depth of the currently measured points with previously measured ones that project to same or adjacent pixels of the depth image to determine the occlusion, with the occlusion results being corrected by additional tests for performance enhancements.
[0104] Embodiment 19. The method of embodiment 18, wherein the points are projected to the depth image by a spherical projection, a perspective projection, or a projection that projects points lying on neighboring lines of sight to neighboring pixels.
[0105] Embodiment 20. The method of embodiment 19, wherein in a moving platform, the depth image is attached with a pose read from an external motion sensing module, indicating under which pose the depth image is constructed and points are configured to be transformed to this pose before projection to the depth image.
[0106] Embodiment 21. The method of embodiment 19, wherein for each pixel of the depth image, the detection module is configured to save all or a selected number of points projected therein, and/or all or a select number of the depths of points projected therein, and/or the statistical information comprising a minimum value, a maximum value, or a variance of depths of all or a selected number of points projected therein, and/or other information of the occluded points attached to points projected therein.
[0107] Embodiment 22. The method of embodiment 19, wherein multiple depth images are constructed at multiple prior poses, and each is constructed from points starting from the respective pose and accumulating for a certain period of time.
[0108] Embodiment 23. The method of embodiment 22, wherein for each point of a pixel, the detection module is configured to save the points in a previous depth image that occludes the point or are occluded by the point.
[0109] Embodiment 24. The method of embodiment 22, wherein the occlusion of current points is determined against all or a selected number of depth images previously constructed.
[0110] Embodiment 25. The method of embodiment 24, wherein a current point is determined to occlude previous points if its depth is smaller than all or any points contained in adjacent pixels of any depth image to which it projects.
[0111] Embodiment 26. The method of embodiment 24, wherein a current point is determined to be occluded by previous points if its depth is greater than all or any points contained in adjacent pixels of any depth image to which it projects.
[0112] Embodiment 27. The method of embodiment 25, wherein a current point is determined to recursively occlude previous points if it occludes a set of points in previous depth images and in the set, points in later depth images occlude points in earlier depth images.
[0113] Embodiment 28. The method of embodiment 26, wherein a current point is determined to be recursively occluded by previous points if it is occluded by a set of points in previous depth image and in the set, points in later depth images are occluded by points in earlier depth images.
[0114] Embodiment 29. A computer-readable storage medium having stored therein program instructions that, when executed by a processor of a computing system, cause the processor to execute a method for detecting one or more moving objects, the method comprising: capturing, by an input module, a point cloud comprising measurements of distances to points on one or more objects; [0115] providing the point cloud captured by the input module to a detection module; and [0116] configuring the detection module to determine whether the objects are moving objects, by determining whether currently measured points occlude any previously measured points, and/or whether the currently measured points recursively occlude any previously measured points, and/or whether the currently measured points are recursively occluded by any previously measured points.
REFERENCES
[0117] [1] R. Kummerle, M. Ruhnke, B. Steder, C. Stachniss, and W. Burgard, A navigation system for robots operating in crowded urban environments, in 2013 IEEE International Conference on Robotics and Automation. IEEE, 2013, pp. 3225-3232. [0118] [2] A. Dewan, T. Caselitz, G. D. Tipaldi, and W. Burgard, Motion-based detection and tracking in 3d lidar scans, in 2016 IEEE international conference on robotics and automation (ICRA). IEEE, 2016, pp. 4508-4513. [0119] [3] A. Dewan, T. Caselitz, G. D. Tipaldi, and W. Burgard, Rigid scene flow for 3d lidar scans, in 2016 IEEE/RSJ International Conference on Intelli-gent Robots and Systems (IROS). IEEE, 2016, pp. 1765-1770. [0120] [4] X. Chen, A. Milioto, E. Palazzolo, P. Giguere, J. Behley, and C. Stachniss, Suma++: Efficient lidar-based semantic slam, in 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2019, pp. 4530-4537. [0121] [5] D. Yoon, T. Tang, and T. Barfoot, Mapless online detection of dynamic objects in 3d lidar, in 2019 16th Conference on Computer and Robot Vision (CRV). IEEE, 2019, pp. 113-120. [0122] [6] T.-D. Vu, J. Burlet, and O. Aycard, Grid-based localization and online mapping with moving objects detection and tracking: new results, in 2008 IEEE Intelligent Vehicles Symposium. IEEE, 2008, pp. 684-689. [0123] [7] W. Xiao, B. Vallet, M. Bredif and N. Paparoditis, Street environment change detection from mobile laser scanning point clouds, ISPRS Journal of Photogrammetry and Remote Sensing, vol. 107, pp. 38-49, 2015. [0124] [8] A. Asvadi, C. Premebida, P. Peixoto, and U. Nunes, 3d lidar-based static and moving obstacle detection in driving environments: An approach based on voxels and multi-region ground planes, Robotics and Autonomous Systems, vol. 83, pp. 299-311, 2016. [0125] [9] J. Schauer and A. Nuchter, The people remover-removing dynamic objects from 3-d point cloud data by traversing a voxel occupancy grid, IEEE robotics and automation letters, vol. 3, no. 3, pp. 1679-1686, 2018. [0126] [10] P. Pfreundschuh, H. F. C. Hendrikx, V. Reijgwart, R. Dub,e, R. Siegwart, and A. Cramariuc, Dynamic object aware lidar slam based on automatic generation of training data, arXiv preprint arXiv: 2104.03657, 2021. [0127] [11] J. Gehrung, M. Hebel, M. Arens, and U. Stilla. An approach to extract moving objects from mls data using a volumetric background representation. ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 4, 2017. [0128] [12] S. Pagad, D. Agarwal, S. Narayanan, K. Rangan, H. Kim, and G. Yalla. Robust Method for Removing Dynamic Objects from Point Clouds. In Proc. of the IEEE Intl. Conf. on Robotics & Automation, 2020. [0129] [13] F. Moosmann and C. Stiller, Joint self-localization and tracking of generic objects in 3d range data, in 2013 IEEE International Conference on Robotics and Automation. IEEE, 2013, pp. 1146-1152. [0130] [14] R. Dub ,e, A. Cramariuc, D. Dugas, J. Nieto, R. Siegwart, and C. Cadena, Segmap: 3d segment mapping using data-driven descriptors, arXiv preprint arXiv: 1804.09557, 2018. [0131] [15] P. Biasutti, V. Lepetit, J.-F. Aujol, M. Br,edif, and A. Bugeau, Lu-net: An efficient network for 3d lidar point cloud semantic segmentation based on end-to-end-learned 3d features and u-net, in Proceedings of the IEEE/CVF International Conference on Computer Vision Workshops, 2019, pp. 0-0. [0132] [16] I. Alonso, L. Riazuelo, L. Montesano, and A. C. Murillo, 3d-mininet: Learning a 2d representation from point clouds for fast and efficient 3d lidar semantic segmentation, IEEE Robotics and Automation Letters, vol. 5, no. 4, pp. 5432-5439, 2020. [0133] [17] A. Dewan, G. L. Oliveira, and W. Burgard, Deep semantic classification for 3d lidar data, in 2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2017, pp. 3544-3549. [0134] [18] Z. Zhao, W. Zhang, J. Gu, J. Yang, and K. Huang, Lidar mapping optimization based on lightweight semantic segmentation, IEEE Transactions on Intelligent Vehicles, vol. 4, no. 3, pp. 353-362, 2019. [0135] [19] D. Z. Wang, I. Posner, and P. Newman. What could move? finding cars, pedestrians and bicyclists in 3d laser data. In Proc. of the IEEE Intl. Conf. on Robotics & Automation, 2012. [0136] [20] P. Ruchti and W. Burgard. Mapping with dynamic-object probabilities calculated from single 3d range scans. In Proc. of the IEEE Intl. Conf. on Robotics & Automation, 2018. [0137] [21] T. Cortinhal, G. Tzelepis, and E. E. Aksoy. SalsaNext: Fast, Uncertainty-Aware Semantic Segmentation of LiDAR Point Clouds. In Proc. of the IEEE Vehicles Symposium (IV), 2020. [0138] [22] S. Li, X. Chen, Y. Liu, D. Dai, C. Stachniss, and J. Gall. Multi-scale interaction for real-time lidar data segmentation on an embedded platform. arXiv preprint arXiv: 2008.09J62, 2020. [0139] [23] A. Milioto, I. Vizzo, J. Behley, and C. Stachniss. RangeNet++: Fast and Accurate LiDAR Semantic Segmentation. In Proc. of the IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems, 2019. [0140] [24] H. Thomas, C. Qi, J. Deschaud, B. Marcotegui, F. Goulette, and L. Guibas. KPConv: Flexible and Deformable Convolution for Point Clouds. In Proc. of the IEEE/CVF Intl. Conf. on Computer Vision, 2019. [0141] [25] X. Chen, S. Li, B. Mersch, L. Wiesmann, J. Gall, J. Behley, and C. Stachniss. Moving Object Segmentation in 3D LiDAR data: A learning-based Approach Exploiting Sequential Data. arXiv preprint arXiv: 2J05.0897J. [0142] [26] J. P. Underwood, D. Gillsj.o, T. Bailey, and V. Vlaskine, Explicit 3d change detection using ray-tracing in spherical coordinates, in 2013 IEEE international conference on robotics and automation. IEEE, 2013, pp. 4735-4741.