A computer-implemented method for performing a 3D object detection using ransac and a device thereof

The proposed method enhances 3D object detection by integrating an angle determination algorithm with RANSAC, enabling accurate detection of complex geometric shapes and overcoming limitations in existing techniques.

WO2025051944A1PCT designated stage expired Publication Date: 2025-03-13CONTINENTAL AUTOMOTIVE TECHNOLOGIES GMBH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/074972
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-08
Filing Date
2024-09-06
Publication Date
2025-03-13

AI Technical Summary

Technical Problem

Existing 3D object detection techniques using RANSAC struggle to accurately detect complex geometric shapes due to limitations in estimating compound shapes and sensitivity to noisy data.

Method used

A computer-implemented method and device utilizing RANSAC with an angle determination algorithm to sample data points from a 3D object, plot line segments, and estimate the geometry of the object by determining angles of intersection, enabling the detection of complex geometric primitives.

Benefits of technology

The method effectively detects 3D objects with complex geometric shapes by accurately determining angles of intersection, improving the accuracy of object detection and addressing limitations in existing RANSAC techniques.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024074972_13032025_PF_FP_ABST
    Figure EP2024074972_13032025_PF_FP_ABST
Patent Text Reader

Abstract

Disclosure relates to a computer-implemented method for performing a 3D object detection using random sample consensus (RANSAC). The method comprises sampling, by way of a sensing device, at least a first data point and a second data point of a surface of a 3D object for detection; automatically plotting, by way of a processor having a set of instructions stored thereon, at least a first line segment through the at least a first data point and the second data point of the surface of the 3D object sampled; and estimating, by way of the processor, a geometry of the 3D object for detection. The method further comprising executing, by way of the processor, an angle determination algorithm, for estimating the geometry of the 3D object for detection. A device operable to execute the aforesaid computer-implemented method, computer program product and a computer-readable medium is also disclosed herein.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] A COMPUTER-IMPLEMENTED METHOD FOR PERFORMING A 3D OBJECT DETECTION USING RANSAC AND A DEVICE THEREOF

[0002] TECHNICAL FIELD

[0003] This disclosure relates to an object detection device and method, and more in particular a device and method for performing a 3D object detection using random sample consensus (RANSAC).

[0004] BACKGROUND

[0005] Geometries are used for mapping objects in a physical environment. This is particularly useful in autonomous guided vehicles and autonomous mobile robots’ applications.

[0006] A common algorithm for searching geometric primitives in 3D point data is random sample consensus (RANSAC). However, existing RANSAC techniques for searching geometric primitives can only estimate simple geometries such as planes, spheres, cylinders, cones, and torii. Compound shapes are generally approached via pipelines where primitive shapes are detected separately and then later combined.

[0007] An alternative approach for searching geometric primitives in 3D point data is generalised Hough transform for detecting arbitrary shapes. However, generalised Hough transform method is dependent on the spatial gradient of sensor data, of which the sensor data is used for sensing objects. A drawback of generalised Hough transform is that if the data is noisy, the gradients are not useable. Further, this technique requires tuning for bin size and template discretization.

[0008] The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.

[0009] SUMMARY

[0010] A purpose of this disclosure is to ameliorate the problem of 3D object detection of complex geometric shapes by providing the subject-matter of the independent claims.

[0011] Further purposes of this disclosure are set out in the accompanying dependent claims.

[0012] The objective of this disclosure is solved by a computer-implemented method for performing a 3D object detection using random sample consensus (RANSAC) comprising: sampling, by way of a sensing device, at least a first data point and a second data point of a surface of a 3D object for detection; automatically plotting, by way of a processor having a set of instructions stored thereon, at least a first line segment through the at least a first data point and the second data point of the surface of the 3D object sampled; and estimating, by way of the processor, a geometry of the 3D object for detection, characterized in that the method further comprising: executing, by way of the processor, an angle determination algorithm, for estimating the geometry of the 3D object for detection, wherein the geometry of the 3D object for detection is a geometric primitive.

[0013] An advantage of the above described aspect of this disclosure yields a method of estimating a 3D object using an angle determination algorithm to determine at least an angle of intersection between at least a first line segment automatically plotted along at least a first data point and a second data point sampled on a surface of a 3D object for detection, to determine a geometry of the object for detection, and more advantageously, this disclosure yields a method for 3D object detection where the geometry of the 3D object is a geometric primitive. Consequently, the issues identified in known object detection techniques as discussed above are addressed or at least ameliorated.

[0014] Preferred is a computer-implemented method as described above or as described above as being preferred, in which: the angle determination algorithm (106) comprises: masking (108) a random point located within a predetermined distance of the at least a first line segment, the random point selected from

[0015] • the at least a first data point (A); or

[0016] • the second data point (B).

[0017] The advantage of the above aspect of this disclosure is to yield an angle determination algorithm to remove a random point or multiple random points in response to plotting the at least a first line segment along the at least a first data point and the second data point such that different angles of intersection may be determined. In this manner, complex geometric shapes such as notch or circles may be determined.

[0018] Preferred is a computer-implemented method as described above or as described above as being preferred, in which: the angle determination algorithm (106) further comprises: sampling (110) an auxiliary data point (C) from at least one unmasked point of the 3D object sampled.

[0019] The advantage of the above aspect of this disclosure is to yield an angle determination algorithm, which includes a step of sampling a third data point or an auxiliary data point in response one of the data points plotted along the first segment line being removed, to determine complex geometric shapes such as notch or circles may be determined. Preferred is a computer-implemented method as described above or as described above as being preferred, in which: the angle determination algorithm (106) further comprises: automatically intersecting (112) a second line segment through the auxiliary data point (C).

[0020] The advantage of the above aspect of this disclosure is to yield an angle determination algorithm, which includes a step of automatically plotted a second line segment to create angle of intersection, so as to determine complex geometric shapes such as notch or circles may be determined.

[0021] Preferred is a computer-implemented method as described above or as described above as being preferred, in which: the angle determination algorithm (106) further comprises: determining (114) an angle of intersection between the at least a first line segment and the second line segment.

[0022] The advantage of the above aspect of this disclosure is to yield an angle determination algorithm, which includes a step of determining a value of the angle of intersection created, so as to determine complex geometric shapes such as notch or circles may be determined.

[0023] Preferred is a computer-implemented method as described above or as described above as being preferred, in which: determining (114) the angle of intersection further comprises: retrieving (116), by way of the processor, a database of angles of intersection between the at least a first line segment and the second line segment; and comparing (118), by way of the processor, the angle of intersection determined with the database of angles of intersection, for yielding (120) a resultant angle of intersection. The advantage of the above aspect of this disclosure is to yield an angle determination algorithm, which includes a step of comparing an angle of intersection determined between the at least a first line segment intersecting with the second line segment against a database of angles of intersection, to yield a resultant angle of intersection.

[0024] Preferred is a computer-implemented method as described above or as described above as being preferred, in which: in response to the resultant angle of intersection determined (120) to be at a 90 degrees angle, estimating (122), by way of the processor, the surface the geometry of the 3D object for detection is a L-shape.

[0025] The advantage of the above aspect of this disclosure is to yield a computer-implemented method for performing RANSAC for 3D object detection using an angle determination algorithm, of which when a resultant angle of intersection is determined to be at approximately 90 degrees angle, the geometry of the 3D object is determined a L-shape, since the angle of intersection between the at least a first line segment and the second line segment is substantially perpendicular.

[0026] Preferred is a computer-implemented method as described above or as described above as being preferred, in which: in response to the resultant angle of intersection determined (120) to be approximately at an a degrees angle, estimating (122), by way of the processor, the surface the geometry of the 3D object for detection is a notch shape.

[0027] The advantage of the above aspect of this disclosure is to yield a computer-implemented method for performing RANSAC for 3D object detection using an angle determination algorithm, of which when a resultant angle of intersection is determined to be at approximately a degrees angle, the geometry of the 3D object is determined a notch shape, since the angle of intersection between the at least a first line segment and the second line segment is outside the perpendicular or 90 degrees angle range.

[0028] Preferred is a computer-implemented method as described above or as described above as being preferred, in which: the a degrees angle for the database angles of intersection is pre-calculated using degrees of freedom.

[0029] The advantage of the above aspect of this disclosure is to yield a computer-implemented method for performing RANSAC for 3D object detection using an angle determination algorithm, which provides a database of angels of interaction pre-calculated using degrees of freedom. An example of applying such precalculation method may be calculus. In this disclosure, the a degrees angle ranges are presumed a priori, thus the a degrees angle ranges are known and stored in the database.

[0030] The objective of this disclosure is solved by a device operable to perform a 3D object detection using random sample consensus (RANSAC) comprising: a sensing device operable to sample a surface of a 3D object for detection, the sensing device operable to sample at least a first data point (A) and a second data point (B) of a surface of the 3D object for detection; a processor having a set of instructions stored thereon, the processor is operable to automatically plot at least a first line segment through the at least a first data point and the second data point of the surface of the 3D object sampled; and to estimate a geometry of the 3D object for detection, characterized in that the processor is further operable to execute an angle determination algorithm (108) to determine and angle of intersection; and in response to the angle of intersection determined, estimate the geometry of the 3D object for detection, wherein the geometry of the 3D object for detection is a geometric primitive.

[0031] An advantage of the above described aspect of this disclosure yields a device operable to estimate a 3D object using an angle determination algorithm to determine at least an angle of intersection between at least a first line segment automatically plotted along at least a first data point and a second data point sampled on a surface of a 3D object for detection, to determine a geometry of the object for detection, and more advantageously, this disclosure yields a device operable to estimate 3D object detection the geometry of the 3D object is a geometric primitive. Consequently, the issues identified in known object detection techniques as discussed above are addressed or at least ameliorated.

[0032] Preferred is a device as described above or as described above as being preferred, in which: the angle determination algorithm is operable to execute a set of instructions as defined in claims 3-9.

[0033] The advantage of the above aspect of this disclosure is to yield a device operable to estimate a 3D object using an angle determination algorithm, operable to execute the steps as disclosed herein, of which some of the advantages are discussed above.

[0034] Preferred is a device described above or as described above as being preferred, in which: the processor is further operable to retrieve from a memory, a database of angles of interaction. The advantage of the above aspect of this disclosure is to yield a device operable to estimate a 3D object using an angle determination algorithm operable to execute a database of angles of interaction stored in a memory and retrievable from the memory to execute comparison of the resultant angle of interaction against a record of pre-calculated angles of interaction, to determine a geometry of a surface of the object sampled. Advantageously, the database of angles of interaction enables such a computer implemented RANSAC algorithm to estimate 3D objects, including complex shapes with different types of angles and / or corners.

[0035] Preferred is a device as described above or as described above as being preferred, in which: the database of angles of interaction further comprises a shape template.

[0036] The advantage of the above aspect of this disclosure is to yield a device operable to estimate a 3D object using an angle determination algorithm including a database having a shape template, to match a surface of a geometry sampled against the shape template to determine a shape of the 3D object for detection. Advantageously, this feature improves accuracy of objection detection.

[0037] Preferred is a device as described above or as described above as being preferred, in which: the database of angles of intersection further comprises a record a degrees angles, the a degrees angle being pre-calculated using degrees of freedom.

[0038] The advantage of the above aspect of this disclosure is to yield a device operable to estimate a 3D object using an angle determination algorithm, which provides a database of angels of interaction pre-calculated using degrees of freedom. In this disclosure, the a degrees angle ranges are presumed a priori, thus the a degrees angle ranges are known and stored in the database. Preferred is a device as described above or as described above as being preferred, in which: the programming computer is a software module operable on a device selected from a group consisting of:

[0039] • a charging station;

[0040] ■ an automated guided vehicle including a full autonomy stack;

[0041] • an autonomous mobile robot; or

[0042] • a cloud service.

[0043] The advantage of the above aspect of this disclosure is to yield a device operable to estimate a 3D object using an angle determination algorithm, of which the device is suitable for implementation as a software module for a charging station; an automated guided vehicle comprising a full autonomy stack with the software module as part of the full autonomy stack; an autonomous mobile robot having such a software module or a cloud service. An example of a cloud service having such a software module may be a cloud service for building maps of an environment given offline collected data.

[0044] The objective of this disclosure is solved by a computer program product comprising instructions to cause the system as disclosed above to execute the steps of the method disclosed above.

[0045] An advantage of the above described aspect of this disclosure yields a computer program for executing a switching process in response to a switching condition fulfilled, of which the switching condition is defined by a type of content being displayed on a malfunctioning displaying zone

[0046] The objective of this disclosure is solved by a computer-readable medium having stored on the computer program as disclosed herein.

[0047] An advantage of the above-described aspect of this disclosure yields a computer-readable medium for executing the computer program as disclosed. Other objects, features and characteristics, as well as the methods of operation and the functions of the related elements of the structure, the combination of parts and economics of manufacture will become more apparent upon consideration of the following detailed description and appended claims with reference to the accompanying drawings, all of which form a part of this specification. It should be understood that the detailed description and specific examples, while indicating the non-limiting embodiments of the disclosure, are intended for purposes of illustration only and are not intended to limit the scope of the disclosure.

[0048] BRIEF DESCRIPTION OF DRAWINGS

[0049] Other objects and aspects of this disclosure will become apparent from the following description of embodiments with reference to the accompanying drawings in which:

[0050] FIG. 1A - 1 D shows a flowchart of a computer-implemented method for RANSAC algorithm in accordance with an exemplary embodiment.

[0051] FIG. 2 shows a block diagram of a device operable to perform a 3D object detection in accordance with an exemplary embodiment.

[0052] FIG. 3 shows a plane object.

[0053] FIG. 4 shows a notch shape object.

[0054] FIG. 5 shows a dumbbell shape object.

[0055] In various embodiments described by reference to the above figures, like reference signs refer to like components in several perspective views and / or configurations. DETAILED DESCRIPTION

[0056] It should be understood that like reference numerals identify corresponding or similar elements throughout the several drawings. It should be understood that although a particular component arrangement is disclosed and illustrated in these exemplary embodiments, other arrangements could also benefit from the teachings of this disclosure.

[0057] Hereinafter, the term “processor” may also refer to a “computer” and the term “processor” used herein may broadly encompass a general-purpose processor, a central processing unit (CPU), a microprocessor, a digital signal processor (DSP), a controller, a microcontroller, a state machine, and so forth. Under some circumstances, a "processor" may refer to an application specific integrated circuit (ASIC), a programmable logic device (PLD), a field programmable gate array (FPGA), etc. The term "processor" may refer to a combination of processing devices, for example, a single hardware component or two or more hardware components may be implemented by a single processor, or two or more processors, or a processor and a controller. One or more hardware components may be implemented by one or more processors, or a processor and a controller, and one or more other hardware components may be implemented by one or more other processors, or another processor and another controller. One or more processors, or a processor and a controller, may implement a single hardware component, or two or more hardware components. A hardware component may have any one or more of different processing configurations, examples of which include a single processor, independent processors, parallel processors, single-instruction single-data (SISD) multiprocessing, single-instruction multiple-data (SIMD) multiprocessing, multiple-instruction single-data (MISD) multiprocessing, and multiple-instruction multiple-data (MIMD) multiprocessing. The “processor” may include a memory, for loading a sequence of instruction, causing the “processor” to perform steps of actions. The term "memory" should be interpreted broadly to encompass any electronic component capable of storing electronic information. The term “memory” may refer to various types of processor-readable media such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read only memory (EPROM), electrically erasable PROM (EEPROM), flash memory, magnetic or optical data storage, registers, etc. “Memory” is said to be in electronic communication with a processor if the processor can read information from and / or write information to the memory. Memory that is integral to a processor is in electronic communication with the processor. Henceforth, the term “processor” may also be taken to encompass “system on chip” (SoC) which uses a single integrated circuit (IC) chip that contains multiple resources, computational units, processors and / or cores integrated on a single substrate. A single SOC may contain circuitry for digital, analog, mixed-signal, and radio-frequency functions, as well as any number of general purpose and / or specialized processors (digital signal processors, modem processors, video processors, etc.), memory blocks (e.g,, ROM, RAM, Flash, etc.). Unless otherwise specifically stated, the “processor” is not limited to any specific combination of hardware circuitry and software, nor to any particular source for the instructions executed by the processing unit. For simplicity, the singular term “processor” or “computer” may be used in the description of the examples described in this disclosure, but in other examples multiple processors or computers may be used, or a processor or computer may include multiple processing elements, or multiple types of processing elements, or both.

[0058] Computer-implemented method 100

[0059] Referring to FIG. 1 A - 1 D of the accompanying drawings which shows a flowchart of a computer-implemented method 100 for performing a 3D object detection using random sample consensus (RANSAC).

[0060] At step 102, a sensing device samples at least a first data point (A) and a second data point (B) of a surface of a 3D object for detection. A suitable sensing device may be LiDar, although not limited thereto.

[0061] At step 104, a processor executes a set of instructions stored thereon, to automatically plot a first line segment through the at least a first data point (A) and the second data point (B) of the 3D object sampled. At step 106, the processor executes instructions for estimating a geometry of the 3D object for estimate, of which the set of instructions stored on the processor includes an angle detection algorithm at step 108, for estimating the geometry of the 3D object for detection.

[0062] A main advantage of the above steps yields a computer-implemented method for performing a 3D object detection using RANSAC algorithm, in particular complex shapes such as geometric primitive which involves determining object structures with different angles and corners.

[0063] Angle Determination Algorithm 108

[0064] Referring now to FIG. 1 D, the angle determination algorithm 108 includes at step 110, masking a random point located within a predetermined distance of the at least a first line segment 302, 402, 502. The random point is selected from the at least a first data point (A) or the second data point (B) as shown in FIG. 3 and FIG. 4.

[0065] In a next step at 112, an auxiliary data point (C) or (D) is sampled from at least one other data points of the 3D object sampled, which remains unmasked.

[0066] At step 114, a second line segment 304, 404, 504 as shown in FIG. 3 and FIG. 4 is plotted and automatically intersecting through the auxiliary data point (C) as shown in FIG. 3 and 4.

[0067] An advantage of the above process for angle determination algorithm 108 is to yield a method of estimating complex shapes with different variation of angles and corners in the object structure.

[0068] Angle of Intersection 116

[0069] Still referring to FIG. 1 D, at 116, an angle of intersection between the at least a first line segment 302, 402, 502 and the second line segment 304, 404, 504 is determined by the processor. To further improve the accuracy of object detection and to include detection of complex shapes, in a next step 118, the processor retrieves from a memory, a database of angles of intersection between the at least a first line segment 302, 402, 502 and the second line segment 304, 404, 504. The angle of intersection determined in step 116 is then compared at step 120 with the database of angles of intersection retrieved in step 118, to yield a resultant angle 122 of intersection.

[0070] In another example, at step 112, a third line segment 506 may be automatically plotted and intersecting with one or more auxiliary points which are unmasked, as shown in FIG. 5, which shows a dumbbell shape to illustrate 3D object detection of more complex structures.

[0071] An advantage of the above process for determining angle of intersection 116 is to improve accuracy of object detection, in particular complex shapes with different variation of angles and corners in the object structure.

[0072] Geometry Determination X, Y

[0073] In response to the resultant angle 122 of intersection yielded, the processor executes a sequence to estimate a geometry of the object for detection, based on the surface sampled at step 102.

[0074] In response to the resultant angle 122 of intersection determined to be at a 90 degrees angle in a step 124, the processor estimate the surface the geometry of the 3D object for detection is a L-shape 300, for example as shown on FIG. 3.

[0075] In response to the resultant angle 122 of intersection determined to be at an a degrees angle in a step 128, the processor estimate the surface the geometry of the 3D object for detection is a notch-shape 400, for example as shown on FIG. 4.

[0076] In another example, in response to the resultant angle 122 of intersection determined to be at an a degrees angle in a step 128, the processor estimate the surface the geometry of the 3D object for detection is a dumbbell shape 500, for example as shown on FIG. 5. In this disclosure, a record of a degrees angle may be pre-calculated using degrees of freedom such that the record of a degrees is a priori, thus detection of 3D objects is compared or benchmarked against the databases stored in memory of the processor, of which will be discussed in more details below.

[0077] Consequently, the computer implemented method 100 as disclosed yields a RANSAC algorithm for performing 3D object detection of complex shapes.

[0078] Device 200

[0079] T urning now to FIG. 2 of the accompanying drawings which shows a block diagram of a device 200, the device 200 comprises a sensing device 202, a sampling surface 204 of a 3D object for detection, a shape template 206 and a module 208 for conversion of shape template 206 into sequence. Further, a set of instructions executable by a computer or a processor as described in computer-implemented method 100 above.

[0080] The sensing device 202 is operable to sample a surface of a 3D object for detection. The sensing device 202 operable to sample at least a first data point (A) and a second data point (B) of a surface of the 3D object for detection, for example as shown in FIG. 3 and FIG. 4. In an embodiment, a suitable type of sensing device 202 may be LiDar.

[0081] The set of instructions to estimate a geometry of the 3D object for detection may be executed by a computer or processor. In the context herein, the means for execution of computer-implemented method 100 as disclosed is referred to as “processor”, but not limited thereto and it shall be understood by a skilled practitioner, the term ‘computer’ and ‘processor’ may be used inter-switchably, as defined above. Specifically, the processor is operable to performing random sample consensus (RANSAC) for a 3D object detection as disclosed in method 100.

[0082] An implementation of 3D object detection is to help robots map a physical surrounding. Henceforth, the sampling surface 204 may be an object surrounding the robot. A suitable implementation may include a robot having software module comprising 3D object detection. A ‘robot’ may be defined as an autonomous mobile robot or an automated guided vehicle including a full autonomy stack. Further, the software module may be incorporated in a charging station for robots. In another exemplary embodiment, the software module may be a cloud service, such as a service for building maps of an environment using pre-collected data.

[0083] Shape template 208

[0084] As briefly described above, a database comprising a record of a degrees angle of intersection, and this database is retrievable from a memory for comparison with a resultant angle of intersection determined by the processor.

[0085] The database may further comprise a shape template 208 which may be stored in the same processor or a separate processor as part of the device 200.

[0086] In exemplary embodiments, the degrees of freedom of the sampling surface may be pre-calculated founded on the basis of understanding of degree of freedom (DOF) of geometric primitive but not limited thereto.

[0087] By way of an example using L-shape 300 object as shown on FIG. 3, a first line segment 302 is automatically plotted through at least a first data point (A) and a second data point (B). Depending on the sampling surface, a random point or random points may be masked from a predetermined distance relative to the at least a first segment line 302. With the unmasked data points, a second line segment 304 is automatically plotted through an auxiliary data point, in this case data point (C) and an angle of intersection is determined. In this example, the angle of intersection is determined to be at a 90 degrees angle and thus geometry of the sampling surface is determined as L-shape 300, with the at least a first line segment 302 substantially perpendicular to the second line segment 304.

[0088] In another example as shown in FIG. 4 illustrating a notch-shape object 400, a first line segment 402 is automatically plotted through at least a first data point (A) and a second data point (B). Depending on the sampling surface, a random point or random points may be masked from a predetermined distance relative to the at least a first segment line 402. With the unmasked data points, a second line segment 404 is automatically plotted through an auxiliary data point, in this case data point (C) and an angle of intersection is determined. In this example, the angle of intersection is determined to be at an a degrees angle, of which the a degrees angle falls outside the range of 90 degrees. Further processing to compare the angle of intersection with the shape template may be carried out to estimate the geometry of the sampling surface is as notch-shape 400 based on the record of different a degrees angles.

[0089] In yet another example as shown in FIG. 5 illustrating a dumbbell-shape object 500, a first line segment 502 is automatically plotted through at least a first data point (A), a second data point (B) and a third data point (C), forming a radius of a circle. At least one random point may be masked from a predetermined distance relative to the at least a first segment line 502. With the unmasked data points, a second line segment 404 is automatically plotted through an auxiliary data point, in this case data point (D) and an angle of intersection is determined. In this example, a third line segment 506 is automatically plotted to intersect unmasked data points from a predetermined distance relative to the second line segment 504, i.e. the next data point closest to the first line segment 502 plotted, with one random point (D) therebetween. Since the angle of intersection falls outside the range of 90 degrees, the angle of intersection which is determined to be a degrees angle may be compared against the shape template 208 retrieved, to estimate a geometry of the sampling surface of the 3D object for detection, in this example, a dumbbell-shape 500.

[0090] In all of the examples described above, the RANSAC algorithm performed for 3D object detection will be discarded if an inaccurate side of the object is sampled.

[0091] The foregoing description shall be interpreted as illustrative and not limited thereto. One of ordinary skill in the art would understand that certain modifications may come within the scope of this disclosure. Although the different non-limiting embodiments are illustrated as having specific components or steps, the embodiments of this disclosure are not limited to those combinations. Some of the components or features from any of the non-limiting embodiments may be used in combination with features or components from any of the other non-limiting embodiments. For these reasons, the appended claims should be studied to determine the true scope and content of this disclosure.

[0092] List of Reference Signs

Claims

Patent claims1 . A computer-implemented method (100) for performing a 3D object detection using random sample consensus (RANSAC) comprising: sampling (102), by way of a sensing device, at least a first data point (A) and a second data point (B) of a surface of a 3D object for detection; automatically plotting (104), by way of a processor having a set of instructions stored thereon, at least a first line segment through the at least a first data point and the second data point of the surface of the 3D object sampled; and estimating (106), by way of the processor, a geometry of the 3D object for detection, characterized in that the method (100) further comprising: executing, by way of the processor, an angle determination algorithm (108), for estimating the geometry of the 3D object for detection, wherein the geometry of the 3D object for detection is a geometric primitive.

2. The method (100) according to claim 1 , characterized by that the angle determination algorithm (108) comprises: masking (110) a random point located within a predetermined distance of the at least a first line segment, the random point selected from• the at least a first data point (A); or• the second data point (B).

3. The method (100) of claims 1-2, characterized by that the angle determination algorithm (108) further comprises: sampling (112) an auxiliary data point (C, D) from at least one unmasked point of the 3D object sampled.

4. The method (100) according to claims 1-3, characterized by that the angle determination algorithm (108) further comprises:automatically intersecting (114) a second line segment (304, 404, 504) through the auxiliary data point (C, D).

5. The method (100) according to claims 1 - 4, characterized by that the angle determination algorithm (108) further comprises: determining (116) an angle of intersection between the at least a first line segment (302, 402, 502) and the second line segment (304, 404, 504).

6. The method (100) according to claims 1-5, characterized by that determining (116) the angle of intersection further comprises: retrieving (118), by way of the processor, a database of angles of intersection between the at least a first line segment (302, 402, 502) and the second line segment (304, 404, 504).; and comparing (120), by way of the processor, the angle of intersection determined with the database of angles of intersection, for yielding a resultant angle (122) of intersection.

7. The method (100) according to claims 1 - 6, characterized by that in response to the resultant angle (122) of intersection determined to be at a 90 degrees angle (124), estimating (126), by way of the processor, the surface the geometry of the 3D object for detection is a L-shape (300).

8. The method (100) according to claims 1 - 6, characterized by that in response to the resultant angle of intersection determined (120) to be approximately at an a degrees angle (128), estimating (130), by way of the processor, the surface the geometry of the 3D object for detection is a notch shape (400).

9. The method (100) according to claim 8, characterized by that the a degrees angle for the database angles of intersection is pre-calculated using degrees of freedom.

10. A device (200) operable to perform a 3D object detection using random sample consensus (RANSAC comprising: a sensing device (202) operable to sample at least a surface of a 3D object for detection, the sensing device (202) operable to sample at least a first data point (A) and a second data point (B) of a surface of the 3D object for detection; a processor having a set of instructions stored thereon, the processor is operable to automatically plot at least a first line segment (302, 402, 502) through the at least a first data point (A) and the second data point (B) of the surface of the 3D object sampled; and to estimate a geometry of the 3D object for detection, characterized in that the processor is further operable to execute an angle determination algorithm (108) to determine and angle of intersection; and in response to the angle of intersection determined, estimate the geometry of the 3D object for detection, wherein the geometry of the 3D object for detection is a geometric primitive.11 .The device (200) according to claim 10, characterized by that the angle determination algorithm (108) is operable to execute a set of instructions as defined in claims 3-9.

12. The device (200) according to claims 10 - 11 , characterized in that the processor is further operable to retrieve from a memory, a database of angles of interaction.

13. The device (200) according to claims 10 - 11 , characterized in thatthe database of angles of interaction further comprises a shape template (206).

14. The device (200) according to claims 10 - 12, characterized in that the database of angles of intersection further comprises a record of a degrees angles, the a degrees angle being pre-calculated using degrees of freedom.

15. The device according to claims 10-14, characterized in that the programming computer is a software module operable on a device selected from a group consisting of:• a charging station;■ an automated guided vehicle including a full autonomy stack;• an autonomous mobile robot;• a cloud service; and combination thereof.

16. A computer program product comprising instructions to cause the device of claims 10 - 15 to execute the steps (100) of claims 1 - 9.

17. A computer-readable medium having stored thereon the computer program of claims 1 - 9.

Citation Information

Patent Citations

  • Voting-Based Pose Estimation for 3D Sensors

    US20130156262A1

  • Describing objects using edge-pixel-feature descriptors

    US20150363663A1