Curb detection by analysis of reflection images

Information

  • Patent Grant
  • 11500101
  • Patent Number
    11,500,101
  • Date Filed
    Thursday, May 2, 2019
    5 years ago
  • Date Issued
    Tuesday, November 15, 2022
    2 years ago
Abstract
Disclosed are devices, systems and methods for curb detection using light detection and ranging (LiDAR) sensors. One example of a method for curb detection includes acquiring, based on a scan of an area around a vehicle, a point-cloud frame that includes a description of an intensity of a reflection of the area around the vehicle, selecting a subset of points from the point-cloud frame, seeding each of a plurality of clusters based on the selected points, determining a criterion for each of the selected points, increasing a size of each of the plurality of clusters by including additional points from the point-cloud frame that meet the criterion for the corresponding cluster, identifying a largest cluster of the plurality of clusters upon completion of the increasing step, and detecting a curb based on a boundary of the largest cluster.
Description
TECHNICAL FIELD

This document relates to computer-based estimation of roadside curbs by image analysis.


BACKGROUND

Autonomous vehicle navigation is a technology for sensing the position and movement of a vehicle and, based on the sensing, autonomously control the vehicle to navigate towards a destination. Autonomous vehicle navigation can have important applications in transportation of people, goods and services. One of the components of autonomous driving, which ensures the safety of the vehicle and its passengers, as well as people and property in the vicinity of the vehicle, is curb detection.


SUMMARY

Disclosed are devices, systems and methods for curb detection by analyzing images of an area surrounding a vehicle. In some embodiments, light detection and ranging (LiDAR) sensors may be used to acquire the images based on reflections captured from the surrounding area. One example implementation can locate the curb position in 3D space accurately and robustly, using point-cloud data captured by a top-mounted LiDAR sensor as input, and output a predicted curve indicating the curb's position that can further be used for autonomous navigation of the vehicle.


In one aspect, the disclosed technology can be used to provide a method for curb detection using LiDAR sensors. This method includes acquiring, based on a scan of an area around a vehicle, a point-cloud frame that includes a description of an intensity of a reflection of the area around the vehicle, selecting a subset of points from the point-cloud frame, seeding each of a plurality of clusters based on the selected points, determining a criterion for each of the selected points, increasing a size of each of the plurality of clusters by including additional points from the point-cloud frame that meet the criterion for the corresponding cluster, identifying a largest cluster of the plurality of clusters upon completion of the increasing step, and detecting a curb based on a boundary of the largest cluster.


In another aspect, the above-described method is embodied in the form of processor-executable code and stored in a computer-readable program medium.


In yet another aspect, a device that is configured or operable to perform the above-described method is disclosed. The device may include a processor that is programmed to implement this method.


The above and other aspects and features of the disclosed technology are described in greater detail in the drawings, the description and the claims.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows an annotated flow diagram of an example method for LiDAR-based curb detection.



FIG. 2 shows an example of convex and concave hulls of a set of points.



FIG. 3 shows a flowchart for an example method of for LiDAR-based curb detection.



FIGS. 4A and 4B show examples of LiDAR-based curb detection in the presence of another vehicle on the road.



FIG. 5 shows an example of a hardware platform that can implement some techniques described in the present document.





DETAILED DESCRIPTION

A curb usually refers to an edge where a raised sidewalk meets a street or roadway. In other words, the curb typically reveals the boundary of the drivable area of the road. An accurate and robust curb detection is useful to an autonomous driving system to ensure safe and lawful driving of a vehicle. LiDAR-based curb detection has been an active area of research and implementation in remote sensing and autonomous driving in recent years. For example, curb detection is also useful for autonomous trucks, which typically travel on highways from an origin distribution center to a destination distribution center, but necessarily travel through surface streets for the last mile at the start and end of their journey.


Conventional curb detection implementations use single or accumulated point-cloud frames as input, and employ pointwise features, such as height difference or LiDAR ring radius compression, to detect the curb. However, these conventional methods are focused on directly detecting the curbs, and are therefore susceptible to “curb-like” noises like vehicles on the road or bushes on the roadside.


LiDAR-based curb detection methods face many challenges. For example, most of the curb features (e.g. height difference, ring radius compression, and normal change) become weaker (more difficult to distinguish) when the curb is far away from the sensor. Furthermore, the methods must contend with occlusions and roadside objects having similar features to curbs, and the diversity of curb types that may require laborious parameter tuning in any conventional curb detection method.


Embodiments of the disclosed technology can locate the position of the curb in 3D space based on (a) detecting the curb using road surface expansion to find the boundary of the road instead of directly detecting the curb itself, which is advantageously robust to the noise and occlusions from the road surface, and (b) combining multiple features for robust point clustering.



FIG. 1 shows an annotated flow diagram of an example method for LiDAR-based curb detection. The flow diagram 100 includes using a LiDAR sensor (block 110) mounted on top of a vehicle, which emits laser beams, to generate point-cloud data of the surrounding environment. In an example, the subfigure 112 shows an exemplary point-cloud generated based on the LiDAR sensor. In some embodiments, the point-cloud includes (x, y, z) coordinates in a coordinate system and the intensity of the reflection of the laser beams received at the sensor.


For example, the point-cloud may be a stored as a pixel array of four dimensions, with three dimensions corresponding to the spatial coordinates of the scanned surrounding area and one dimension representing a strength of the reflection sensed by the LiDAR sensors. In some embodiments, a multi-dimensional array may be used for storage of the point-cloud data, with three spatial dimensions, and additional dimensions corresponding to multiple sensors and their corresponding reflection map.


The flow diagram 100 includes a pre-processing step that takes the single-frame point-cloud from the LiDAR sensor and motion information from the Global Positioning System (GPS) unit and the Inertial Measurement Unit (IMU) (block 105) to register consecutive point-cloud frames into a common coordinate system, which may then be accumulated (block 110). The accumulated point-cloud (e.g. shown in subfigure 122) is typically much denser than the single-frame point-cloud.


The flow diagram 100 includes the curb detection module (block 130) that estimates features for a subset of the points in the accumulated point-cloud. In some embodiments, the features include the normal at each point, which is estimated by fitting a plane to the point and its nearby points within a certain range (referred to as a “point group”). In other embodiments, the features include the curvature of the point group, which is estimated as λ0/(λ012), where λ012 are the eigenvalues of the covariance matrix formed by the nearby points. In some embodiments, a k-dimensional tree may be constructed from the accumulated point-cloud to support faster, and more efficient, nearest neighbor searches.


The curb detection module then randomly selects some points as seeds to create clusters, and region-growth is performed from these seeds. In the region-growing process, a point cluster will check its neighboring points to see if they satisfy a criterion associated with height, the normal, and curvature. The points that satisfy the criterion will be added to the cluster, and may become new seeds that are used to expand the cluster. A cluster will be removed from the original accumulated point-cloud when it stops growing, and the curb detection module will start a new cluster from another random seed among the remaining points. In some embodiments, the process may terminate when the total number of remaining points from the original accumulated point-cloud drops below a certain threshold, resulting, for example, in subfigure 132.


In some embodiments, satisfying the criterion may correspond to all the points in a region being connected in some predefined sense. In an example, a smoothness requirement (or condition) needs a value of a certain metric computed for each point to be within some tolerance of an initial or average value. In another example, the criterion may depend on multiple metrics with varying numerical range requirements.


In some embodiments, a 4-connected neighborhood (Von Neumann neighborhood) may be used in the region-growing step. In other embodiments, a 8-connected neighborhood (Moore neighborhood) may be used to grow the region from the initially selected seed points.


The curb detection module relies on the assumption that the largest cluster close to the driving trajectory will always be the drivable area, e.g. the road surface. This assumption holds since the origin of the point-clouds (both the single-frame and accumulated versions) is the center of the LiDAR sensor, which is co-located with the vehicle and its driving trajectory, and provides very strong a priori knowledge about where the road surface will be. Thus, the curb detection module may extract the points that belong to the drivable area by selecting the cluster that contains the most points.


The boundary of the road surface is typically the location of the curb. To obtain the boundary of the drivable area, the curb detection module may compute the concave hull of the largest cluster. FIG. 2 shows an example of a convex hull (210) and a concave hull (220) of a set of points. Using the concave hull for curb detection is more robust to outliers and noise than using the convex hull, as shown in FIG. 2. Therein, an outlying point may significantly skew the detection of the curb (205) if a convex hull is used (210), but has a minimal impact when employing a concave hull (220) in the computations. The concave hull computation is followed by the two curves on either side of the road surface being fit using, for example, the random sample consensus (RANSAC) method to find the left and right curbs of the road.


The flow diagram 100 includes a post-processing module (block 140) that uses the curves generated from multiple frames, and fuses that information based on their temporal continuity (to generate, for example, subfigure 142). In some embodiments, the post-processing model may smooth out the curb points using a b-spline fitting function.



FIG. 3 shows a flowchart for an example method 300 for LiDAR-based curb detection. The method 300 includes, at step 310, acquiring a point-cloud frame. In some embodiments, the point-cloud frame is acquired based on a scan of an area around a vehicle, and may include a description of an intensity of a reflection of the area around the vehicle. For example, the scan of the vehicle may be performed by a LiDAR sensor that is spinning a rate of 20 Hz. Due to the use of high frequency, high velocity waves for sensing reflections, the LiDAR is typically not affected by the speed of the vehicle, and may support vehicle speeds ranging from 5 miles per hour (mph) to 70 mph. In some embodiments, the LiDAR scanning is based on a rotation rate parameter, an image resolution parameter and/or a frame rate parameter.


In some embodiments, the point-cloud frame may be generated based on the accumulation of multiple single-frame point-clouds. As expected, the accumulated point-cloud frame is much denser than any individual single-frame point-cloud. This enables more robust curb detection, and pre- and post-processing, since noise effects are averaged out due to the accumulation.


The method 300 includes, at step 320, selecting a subset of points from the point-cloud frame, and further includes, at step 330, seeding each of a plurality of clusters based on the selected points, which are the preliminary steps of the region-growing method. The selection process may be implemented in a variety of different ways. For example, in some embodiments, the selected subset may be uniformly distributed throughout the 3D space represented by the point-cloud. In some embodiments, the subset of points may be a fixed pre-determined number (e.g., 10,000 points), and more points may be selected from an area that was detected previously to include a previous estimate of the curb. Advantageously, such a selection allows more computational power to be applied to the area that has a higher probability of including the border between the road surface and the curb. In some embodiments, curb detection may be performed periodically as the vehicle moves along a road, and the subset of points may be selected to be non-co-located compared to a previous selection. Advantageously, such a selection provides a thorough and uniform coverage of the surrounding area over a number of curb detections performed by the system.


The method 300 includes, at step 340, determining a criterion for each of the selected points. In some embodiments, the criterion may include a normal vector and a curvature, which may be computed for each of the selected points and based on neighboring points. In an example, the curvature may be computed as λ0/(λ012), where λ012 are the eigenvalues of the covariance matrix formed by the neighboring points.


The method 300 includes, at step 350, increasing a size of each of the plurality of clusters by including additional points from the point-cloud frame that meet the criterion for the corresponding cluster. The region-growing method used to increase the size of the clusters is a segmentation method that examines neighboring points (or pixels) of initial seed points and determines whether the point neighbors should be added to the region. The process is iterated on, in the same manner as general data clustering algorithms.


In some embodiments, and in the context of FIG. 1, the criterion may be referred to as a smoothness condition that is implemented using one or more features and corresponding thresholds or tolerances. For example, neighboring points that have feature values that are within a certain tolerance of the seed point feature values are added to that cluster.


The method 300 includes, at step 360, identifying, upon completion of the increasing step 350, a largest cluster of the plurality of clusters. Since the LiDAR sensor is co-located with the vehicle and its driving trajectory, there is very strong a priori knowledge, or a high statistical probability, that the largest cluster will correspond to the road surface, and be very close to the driving trajectory (e.g. within a foot, or within 2-20% of the width of the vehicle) or even enclose the driving trajectory. Thus, when the region (or cluster) growing operation is completed, the largest cluster is identified as the road surface. In an example, the region-growing operation may be terminated based on the number of points of the point-cloud frame that have not been considered. In another example, the stopping condition for the region-growing method may be the size of the largest cluster exceeding a certain threshold.


The method 300 includes, at step 370, detecting a curb based on a boundary of the largest cluster. The boundary of the largest cluster, which is typically the road surface, will be the curb location. In some embodiments, the method 300 includes smoothing the boundary of the largest cluster based on a spline function. In other embodiments, the method 300 further includes computing the concave hull of the largest cluster.


In some embodiments, the method 300 may further include determining whether any of the clusters include bounded regions of points, where each point in a bounded region does not meet the criterion. In other words, the region-growing method may have grown the largest cluster around another vehicle on the road, which results in a bounded region with feature values that different from the feature values of the largest (or road) cluster.


Since the bounded region includes points that do not meet the criterion, the method is able to correctly identify that these points are not representative of the curb, but rather of another object in the road (e.g. a vehicle), and the method 300 further includes either adding the points of the bounded region of points to the corresponding cluster, or correctly identifying them as not being part of the curb. This operation ensures that embodiments of the disclosed technology can accurately and robustly detect the curb.


In some embodiments, the movement of the object in the road may be tracked as the vehicle moves along the road. If curb detection is performed periodically, the tracking information may be leveraged to provide a priori information to the region-growing method, which would advantageously result in faster and more accurate processing.



FIGS. 4A and 4B show examples of LiDAR-based curb detection in the presence of another vehicle on the road. Embodiments of the disclosed technology are advantageously able to accurately detect the curb in the presence of an obstruction such as another vehicle on the road. As shown in FIG. 4A, the ego-vehicle 403 (the term “ego-vehicle” is used to refer to autonomous vehicle that is the primary subject) that includes the LiDAR sensor 410 may be adjacent to another vehicle 413, which is closer to the curb 405 than the ego-vehicle. Due to the view-point of the ego-vehicle 403, the other vehicle 413 is detected as “an L-shape” (as shown by the “X” marks in FIG. 4A) and a portion of the curb is also detected (as shown by the “*” marks in FIG. 4A).


In some embodiments, the detected points corresponding to the vehicle (the “X” marks in FIG. 4A) may be removed from consideration, and the curve fitting may be applied to the detected points corresponding to the curb (the “*” marks in FIGS. 4A and 4B) in order to accurately identify the curb, including the portion that was occluded by the vehicle 413. For example, the curve fitting used to identify the curb may be similar to what is used in the post-processing module 140 in FIG. 1 (e.g. spline interpolation).


In some embodiments, curve fitting the detected points corresponding to the curb (the “*” marks in FIG. 4A) may not be viable since the gap may be too large for a curve fitting algorithm to accurately overcome. In this scenario, some embodiments may combine the results from multiple runs of the detection algorithm. For example, over multiple runs, the area occupied by another vehicle in one run may be free in another run. Thus, the gaps in the curb may be filled in by combining the results over multiple runs. Additionally, any curb detection false positives may be eliminated by using majority voting, mean filtering and/or median filtering over results from the multiple runs.



FIG. 4B shows a scenario in which the ego vehicle 403 is positioned closer to the curb 405 than the other vehicle 413, and the LiDAR sensor 410 is able to distinguish both the other vehicle as well as the curb. In this scenario, as discussed previously, a bounded region that includes points that do not meet the criterion correspond to the other vehicle 413, and may be removed from consideration. As shown in the context of FIGS. 4A and 4B, embodiments of the disclosed technology are able to accurately and robustly detect the curb in the presence of other vehicles or occlusions on the road.



FIG. 5 shows an example of a hardware platform 500 that can be used to implement some of the techniques described in the present document. For example, the hardware platform 500 may implement the method 300 or may implement the various modules described herein. The hardware platform 500 may include a processor 502 that can execute code to implement a method. The hardware platform 500 may include a memory 504 that may be used to store processor-executable code and/or store data. The hardware platform 500 may further include a communication interface 506. For example, the communication interface 506 may implement one or more of the communication protocols (LTE, Wi-Fi, and so on) described herein.


Implementations of the subject matter and the functional operations described in this patent document can be implemented in various systems, digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject matter described in this specification can be implemented as one or more computer program products, e.g., one or more modules of computer program instructions encoded on a tangible and non-transitory computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them. The term “data processing unit” or “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.


A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.


The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).


Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Computer readable media suitable for storing computer program instructions and data include all forms of nonvolatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.


While this patent document contains many specifics, these should not be construed as limitations on the scope of any invention or of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. Certain features that are described in this patent document in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.


Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Moreover, the separation of various system components in the embodiments described in this patent document should not be understood as requiring such separation in all embodiments.


Only a few implementations and examples are described and other implementations, enhancements and variations can be made based on what is described and illustrated in this patent document.

Claims
  • 1. A method for detecting road features, comprising: acquiring, based on a scan of an area around a vehicle, a point-cloud frame that comprises a description of an intensity of a reflection of the area around the vehicle;selecting a subset of points from the point-cloud frame;seeding each of a plurality of clusters based on the selected points;determining a criterion for each of the selected points;increasing a size of each of the plurality of clusters by including additional points from the point-cloud frame that meet the criterion for the corresponding cluster;identifying, upon completion of the increasing step, a largest cluster of the plurality of clusters; anddetecting a curb based on a boundary of the largest cluster.
  • 2. The method of claim 1, wherein the criterion is at least one feature of each of the additional points meeting a threshold associated with the corresponding cluster.
  • 3. The method of claim 2, wherein the at least one feature comprises a normal vector at each of the additional points and a curvature of a subset of the additional points.
  • 4. The method of claim 3, wherein the curvature is computed as λ0/(λ0+λ1+λ2), where λ0<λ1<λ2 are eigenvalues of a covariance matrix based on the subset of the additional points.
  • 5. The method of claim 1, wherein the point-cloud frame is an accumulated point-cloud, and wherein acquiring the point-cloud frame comprises: scanning the area around the vehicle using a light detection and ranging (LiDAR) sensor;generating, based on the scanning step, a plurality of single-frame point-clouds; andperforming an accumulation operation on the plurality of single-frame point-clouds to generate the point-cloud frame.
  • 6. The method of claim 5, wherein generating the plurality of single-frame point-clouds is further based on a Global Positioning System (GPS) sensor and an inertial measurement unit (IMU), and wherein each of the plurality of single-frame point-clouds are generated in a common coordinate system.
  • 7. The method of claim 5, wherein the scanning is based on one or more of a rotation rate parameter, an image resolution parameter and a frame rate parameter.
  • 8. The method of claim 1, wherein the point-cloud frame further comprises a three-dimensional geometry of the area around the vehicle, and wherein each point in the point-cloud frame comprises (x,y,z) coordinates and an intensity value.
  • 9. The method of claim 1, further comprising: smoothing the boundary of the largest cluster based on a spline function.
  • 10. The method of claim 1, wherein detecting the curb is further based on a concave hull of the largest cluster.
  • 11. The method of claim 1, further comprising: determining whether any of the plurality of clusters comprises a bounded region of points, wherein each point of the bounded region of points does not meet the criterion; andadding the points of the bounded region of points to the corresponding cluster.
  • 12. An apparatus for detecting road features, comprising: a processor; anda memory comprising processor executable code, the processor executable code when executed by the processor causes the processor to: acquire, based on a scan of an area around a vehicle, a point-cloud frame that comprises a description of an intensity of a reflection of the area around the vehicle;select a subset of points from the point-cloud frame;seed each of a plurality of clusters based on the selected points;determine a criterion for each of the selected points;increase a size of each of the plurality of clusters by including additional points from the point-cloud frame that meet the criterion for the corresponding cluster;identify, upon completion of the increasing step, a largest cluster of the plurality of clusters; anddetect a curb based on a boundary of the largest cluster.
  • 13. The apparatus of claim 12, further comprising: a light detection and ranging (LiDAR) sensor configured to generate the scan of the area around the vehicle, wherein the processor executable code when executed by the processor further causes the processor to: generate, based on the scanning step, a plurality of single-frame point-clouds; andperform an accumulation operation on the plurality of single-frame point-clouds to generate the point-cloud frame.
  • 14. The apparatus of claim 13, further comprising: a Global Positioning System (GPS) sensor; andan inertial measurement unit (IMU),wherein generating the plurality of single-frame point-clouds is further based on the GPS sensor and the IMU, and wherein each of the plurality of single-frame point-clouds are generated in a common coordinate system.
  • 15. The apparatus of claim 12, wherein the point-cloud frame further comprises a three-dimensional geometry of the area around the vehicle, and wherein each point in the point-cloud frame comprises (x,y,z) coordinates and an intensity value.
  • 16. The apparatus of claim 12, wherein the processor executable code when executed by the processor further causes the processor to: determine whether any of the plurality of clusters comprises a bounded region of points, wherein each point of the bounded region of points does not meet the criterion; andadd the points of the bounded region of points to the corresponding cluster.
  • 17. A non-transitory computer-readable medium storing a program causing a computer to execute a process, the process comprising: acquiring, based on a scan of an area around a vehicle, a point-cloud frame that comprises a description of an intensity of a reflection of the area around the vehicle;selecting a subset of points from the point-cloud frame;seeding each of a plurality of clusters based on the selected points;determining a criterion for each of the selected points;increasing a size of each of the plurality of clusters by including additional points from the point-cloud frame that meet the criterion for the corresponding cluster;identifying, upon completion of the increasing step, a largest cluster of the plurality of clusters; anddetecting a curb based on a boundary of the largest cluster.
  • 18. The non-transitory computer-readable medium of claim 17, wherein the criterion is at least one feature of each of the additional points meeting a threshold associated with the corresponding cluster.
  • 19. The non-transitory computer-readable medium of claim 18, wherein the at least one feature comprises a normal vector at each of the additional points and a curvature of a subset of the additional points.
  • 20. The non-transitory computer-readable medium of claim 17, wherein the point-cloud frame is an accumulated point-cloud, and wherein acquiring the point-cloud frame comprises: scanning the area around the vehicle using a light detection and ranging (LiDAR) sensor;generating, based on the scanning step, a plurality of single-frame point-clouds; andperforming an accumulation operation on the plurality of single-frame point-clouds to generate the point-cloud frame.
CROSS-REFERENCE TO RELATED APPLICATIONS

This patent document claims priority to and benefits of U.S. Provisional Patent Application No. 62/665,994, entitled “CURB DETECTION BY ANALYSIS OF REFLECTION IMAGES,” filed on May 2, 2018. The entire content of the above patent application is incorporated by reference as part of the disclosure of this patent document.

US Referenced Citations (220)
Number Name Date Kind
6084870 Wooten et al. Jul 2000 A
6263088 Crabtree Jul 2001 B1
6594821 Banning et al. Jul 2003 B1
6777904 Degner Aug 2004 B1
6975923 Spriggs Dec 2005 B2
7103460 Breed Sep 2006 B1
7689559 Canright Mar 2010 B2
7742841 Sakai et al. Jun 2010 B2
7783403 Breed Aug 2010 B2
7844595 Canright Nov 2010 B2
8041111 Wilensky Oct 2011 B1
8064643 Stein Nov 2011 B2
8082101 Stein Dec 2011 B2
8164628 Stein Apr 2012 B2
8175376 Marchesotti May 2012 B2
8271871 Marchesotti Sep 2012 B2
8346480 Trepagnier et al. Jan 2013 B2
8378851 Stein Feb 2013 B2
8392117 Dolgov Mar 2013 B2
8401292 Park Mar 2013 B2
8412449 Trepagnier Apr 2013 B2
8478072 Aisaka Jul 2013 B2
8553088 Stein Oct 2013 B2
8706394 Trepagnier et al. Apr 2014 B2
8718861 Montemerlo et al. May 2014 B1
8788134 Litkouhi Jul 2014 B1
8908041 Stein Dec 2014 B2
8917169 Schofield Dec 2014 B2
8963913 Baek Feb 2015 B2
8965621 Urmson Feb 2015 B1
8981966 Stein Mar 2015 B2
8983708 Choe et al. Mar 2015 B2
8993951 Schofield Mar 2015 B2
9002632 Emigh Apr 2015 B1
9008369 Schofield Apr 2015 B2
9025880 Perazzi May 2015 B2
9042648 Wang May 2015 B2
9081385 Ferguson et al. Jul 2015 B1
9088744 Grauer et al. Jul 2015 B2
9111444 Kaganovich Aug 2015 B2
9117133 Barnes Aug 2015 B2
9118816 Stein Aug 2015 B2
9120485 Dolgov Sep 2015 B1
9122954 Srebnik Sep 2015 B2
9134402 Sebastian Sep 2015 B2
9145116 Clarke Sep 2015 B2
9147255 Zhang Sep 2015 B1
9156473 Clarke Oct 2015 B2
9176006 Stein Nov 2015 B2
9179072 Stein Nov 2015 B2
9183447 Gdalyahu Nov 2015 B1
9185360 Stein Nov 2015 B2
9191634 Schofield Nov 2015 B2
9214084 Grauer et al. Dec 2015 B2
9219873 Grauer et al. Dec 2015 B2
9233659 Rosenbaum Jan 2016 B2
9233688 Clarke Jan 2016 B2
9248832 Huberman Feb 2016 B2
9248835 Tanzmeister Feb 2016 B2
9251708 Rosenbaum Feb 2016 B2
9277132 Berberian Mar 2016 B2
9280711 Stein Mar 2016 B2
9282144 Tebay et al. Mar 2016 B2
9285230 Silver Mar 2016 B1
9286522 Stein Mar 2016 B2
9297641 Stein Mar 2016 B2
9299004 Lin Mar 2016 B2
9315192 Zhu Apr 2016 B1
9317033 Ibanez-guzman et al. Apr 2016 B2
9317776 Honda Apr 2016 B1
9330334 Lin May 2016 B2
9342074 Dolgov May 2016 B2
9347779 Lynch May 2016 B1
9355635 Gao May 2016 B2
9365214 Ben Shalom Jun 2016 B2
9383753 Templeton Jul 2016 B1
9399397 Mizutani Jul 2016 B2
9418549 Kang et al. Aug 2016 B2
9428192 Schofield Aug 2016 B2
9436880 Bos Sep 2016 B2
9438878 Niebla Sep 2016 B2
9443163 Springer Sep 2016 B2
9446765 Ben Shalom Sep 2016 B2
9459515 Stein Oct 2016 B2
9466006 Duan Oct 2016 B2
9476970 Fairfield Oct 2016 B1
9483839 Kwon Nov 2016 B1
9490064 Hirosawa Nov 2016 B2
9494935 Okumura et al. Nov 2016 B2
9507346 Levinson et al. Nov 2016 B1
9513634 Pack et al. Dec 2016 B2
9531966 Stein Dec 2016 B2
9535423 Debreczeni Jan 2017 B1
9538113 Grauer et al. Jan 2017 B2
9547985 Tuukkanen Jan 2017 B2
9549158 Grauer et al. Jan 2017 B2
9555803 Pawlicki Jan 2017 B2
9568915 Bemtorp Feb 2017 B1
9587952 Slusar Mar 2017 B1
9599712 Van Der Tempel et al. Mar 2017 B2
9600889 Boisson et al. Mar 2017 B2
9602807 Crane et al. Mar 2017 B2
9612123 Levinson et al. Apr 2017 B1
9620010 Grauer et al. Apr 2017 B2
9625569 Lange Apr 2017 B2
9628565 Stenneth et al. Apr 2017 B2
9649999 Amireddy et al. May 2017 B1
9652860 Maali May 2017 B1
9669827 Ferguson et al. Jun 2017 B1
9672446 Vallesi-Gonzalez Jun 2017 B1
9690290 Prokhorov Jun 2017 B2
9701023 Zhang et al. Jul 2017 B2
9712754 Grauer et al. Jul 2017 B2
9720418 Stenneth Aug 2017 B2
9723097 Harris Aug 2017 B2
9723099 Chen Aug 2017 B2
9723233 Grauer et al. Aug 2017 B2
9726754 Massanell et al. Aug 2017 B2
9729860 Cohen et al. Aug 2017 B2
9738280 Rayes Aug 2017 B2
9739609 Lewis Aug 2017 B1
9746550 Nath Aug 2017 B2
9753128 Schweizer et al. Sep 2017 B2
9753141 Grauer et al. Sep 2017 B2
9754490 Kentley et al. Sep 2017 B2
9760837 Nowozin et al. Sep 2017 B1
9766625 Boroditsky et al. Sep 2017 B2
9769456 You et al. Sep 2017 B2
9773155 Shotton et al. Sep 2017 B2
9779276 Todeschini et al. Oct 2017 B2
9785149 Wang et al. Oct 2017 B2
9805294 Liu et al. Oct 2017 B2
9810785 Grauer et al. Nov 2017 B2
9823339 Cohen Nov 2017 B2
9953236 Huang Apr 2018 B1
10147193 Huang Dec 2018 B2
10223806 Yi et al. Mar 2019 B1
10223807 Yi et al. Mar 2019 B1
10410055 Wang et al. Sep 2019 B2
20030114980 Klausner et al. Jun 2003 A1
20030174773 Ciu Sep 2003 A1
20040264763 Mas et al. Dec 2004 A1
20070136408 Wheeler et al. Jun 2007 A1
20070183661 El-Maleh Aug 2007 A1
20070183662 Wang Aug 2007 A1
20070230792 Shashua Oct 2007 A1
20070286526 Abousleman Dec 2007 A1
20080249667 Horvitz Oct 2008 A1
20090040054 Wang Feb 2009 A1
20090087029 Coleman Apr 2009 A1
20100049397 Lin Feb 2010 A1
20100111417 Ward May 2010 A1
20100226564 Marchesotti Sep 2010 A1
20100281361 Marchesotti Nov 2010 A1
20110142283 Huang Jun 2011 A1
20110206282 Aisaka Aug 2011 A1
20110247031 Jacoby Oct 2011 A1
20120041636 Johnson et al. Feb 2012 A1
20120105639 Stein May 2012 A1
20120140076 Rosenbaum Jun 2012 A1
20120274629 Baek Nov 2012 A1
20120314070 Zhang et al. Dec 2012 A1
20130051613 Bobbitt et al. Feb 2013 A1
20130083959 Owechko Apr 2013 A1
20130182134 Grundmann et al. Jul 2013 A1
20130204465 Phillips et al. Aug 2013 A1
20130266187 Bulan Oct 2013 A1
20130329052 Chew Dec 2013 A1
20140072170 Zhang Mar 2014 A1
20140104051 Breed Apr 2014 A1
20140142799 Ferguson et al. May 2014 A1
20140143839 Ricci May 2014 A1
20140145516 Hirosawa May 2014 A1
20140198184 Stein Jul 2014 A1
20140321704 Partis Oct 2014 A1
20140334668 Saund Nov 2014 A1
20150062304 Stein Mar 2015 A1
20150120244 Ma Apr 2015 A1
20150269438 Samarsekera et al. Sep 2015 A1
20150310370 Burry Oct 2015 A1
20150353082 Lee et al. Dec 2015 A1
20160008988 Kennedy Jan 2016 A1
20160026787 Nairn et al. Jan 2016 A1
20160037064 Stein Feb 2016 A1
20160094774 Li Mar 2016 A1
20160118080 Chen Apr 2016 A1
20160129907 Kim May 2016 A1
20160165157 Stein Jun 2016 A1
20160210528 Duan Jul 2016 A1
20160275766 Venetianer et al. Sep 2016 A1
20160321381 English Nov 2016 A1
20160334230 Ross et al. Nov 2016 A1
20160342837 Hong et al. Nov 2016 A1
20160347322 Clarke et al. Dec 2016 A1
20160375907 Erban Dec 2016 A1
20170053169 Cuban et al. Feb 2017 A1
20170061632 Linder et al. Mar 2017 A1
20170124476 Levinson et al. May 2017 A1
20170134631 Zhao et al. May 2017 A1
20170177951 Yang et al. Jun 2017 A1
20170301104 Qian Oct 2017 A1
20170305423 Green Oct 2017 A1
20170318407 Meister Nov 2017 A1
20180151063 Pun May 2018 A1
20180158197 Dasgupta Jun 2018 A1
20180260956 Huang Sep 2018 A1
20180283892 Behrendt Oct 2018 A1
20180373980 Huval Dec 2018 A1
20190025853 Julian Jan 2019 A1
20190065863 Luo et al. Feb 2019 A1
20190066329 Yi et al. Feb 2019 A1
20190066330 Yi et al. Feb 2019 A1
20190066344 Yi et al. Feb 2019 A1
20190108384 Wang et al. Apr 2019 A1
20190132391 Thomas May 2019 A1
20190132392 Liu May 2019 A1
20190210564 Han Jul 2019 A1
20190210613 Sun Jul 2019 A1
20190236950 Li Aug 2019 A1
20190266420 Ge Aug 2019 A1
Foreign Referenced Citations (42)
Number Date Country
104463872 Mar 2015 CN
104850834 Aug 2015 CN
105354829 Feb 2016 CN
105957076 Sep 2016 CN
106340197 Jan 2017 CN
106778749 May 2017 CN
106781591 May 2017 CN
108010360 May 2018 CN
109685821 Apr 2019 CN
2608513 Sep 1977 DE
890470 Jan 1999 EP
1754179 Feb 2007 EP
2448251 May 2012 EP
2463843 Jun 2012 EP
2761249 Aug 2014 EP
2946336 Nov 2015 EP
2993654 Mar 2016 EP
3081419 Oct 2016 EP
100802511 Feb 2008 KR
1991009375 Jun 1991 WO
2005098739 Oct 2005 WO
2005098751 Oct 2005 WO
2005098782 Oct 2005 WO
2010109419 Sep 2010 WO
2013045612 Apr 2013 WO
2014111814 Jul 2014 WO
2014166245 Oct 2014 WO
2014201324 Dec 2014 WO
2015083009 Jun 2015 WO
2015103159 Jul 2015 WO
2015125022 Aug 2015 WO
2015186002 Dec 2015 WO
2016090282 Jun 2016 WO
2016135736 Sep 2016 WO
2017079349 May 2017 WO
2017079460 May 2017 WO
2017013875 May 2018 WO
2019040800 Feb 2019 WO
2019084491 May 2019 WO
2019084494 May 2019 WO
2019140277 Jul 2019 WO
2019168986 Sep 2019 WO
Non-Patent Literature Citations (52)
Entry
Carle, Patrick J.F. et al. “Global Rover Localization by Matching Lidar and Orbital 3D Maps.” IEEE, Anchorage Convention District, pp. 1-6, May 3-8, 2010. (Anchorage Alaska, US).
Caselitz, T. et al., “Monocular camera localization in 3D LiDAR maps,” European Conference on Computer Vision (2014) Computer Vision—ECCV 2014. ECCV 2014. Lecture Notes in Computer Science, vol. 8690, pp. 1-6, Springer, Cham.
Mur-Artal, R. et al., “ORB-SLAM: A Versatile and Accurate Monocular SLAM System,” IEEE Transaction on Robotics, Oct. 2015, pp. 1147-1163, vol. 31, No. 5, Spain.
Sattler, T. et al., “Are Large-Scale 3D Models Really Necessary for Accurate Visual Localization?” CVPR, IEEE, 2017, pp. 1-10.
Engel, J. et la. “LSD-SLAM: Large Scare Direct Monocular SLAM,” pp. 1-16, Munich.
Levinson, Jesse et al., Experimental Robotics, Unsupervised Calibration for Multi-Beam Lasers, pp. 179-194, 12th Ed., Oussama Khatib, Vijay Kumar, Gaurav Sukhatme (Eds.) Springer-Verlag Berlin Heidelberg 2014.
Geiger, Andreas et al., “Automatic Camera and Range Sensor Calibration using a single Shot”, Robotics and Automation (ICRA), pp. 1-8, 2012 IEEE International Conference.
Zhang, Z. et al. A Flexible new technique for camera calibration. IEEE Transactions on Pattern Analysis and Machine Intelligence (vol. 22, Issue: 11, pp. 1-5, Nov. 2000).
Bar-Hillel, Aharon et al. “Recent progress in road and lane detection: a survey.” Machine Vision and Applications 25 (2011): pp. 727-745.
Schindler, Andreas et al. “Generation of high precision digital maps using circular arc splines,” 2012 IEEE Intelligent Vehicles Symposium, Alcala de Henares, 2012, pp. 246-251. doi: 10.1109/IVS.2012.6232124.
Hou, Xiaodi and Zhang, Liqing, “Saliency Detection: A Spectral Residual Approach”, Computer Vision and Pattern Recognition, CVPR'07—IEEE Conference, pp. 1-8, 2007.
Hou, Xiaodi and Harel, Jonathan and Koch, Christof, “Image Signature: Highlighting Sparse Salient Regions”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 34, No. 1, pp. 194-201, 2012.
Hou, Xiaodi and Zhang, Liqing, “Dynamic Visual Attention: Searching For Coding Length Increments”, Advances in Neural Information Processing Systems, vol. 21, pp. 681-688, 2008.
Li, Yin and Hou, Xiaodi and Koch, Christof and Rehg, James M. and Yuille, Alan L., “The Secrets of Salient Object Segmentation”, Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 280-287, 2014.
Zhou, Bolei and Hou, Xiaodi and Zhang, Liqing, “A Phase Discrepancy Analysis of Object Motion”, Asian Conference on Computer Vision, pp. 225-238, Springer Berlin Heidelberg, 2010.
Hou, Xiaodi and Yuille, Alan and Koch, Christof, “Boundary Detection Benchmarking: Beyond F-Measures”, Computer Vision and Pattern Recognition, CVPR'13, vol. 2013, pp. 1-8, IEEE, 2013.
Hou, Xiaodi and Zhang, Liqing, “Color Conceptualization”, Proceedings of the 15th ACM International Conference on Multimedia, pp. 265-268, ACM, 2007.
Hou, Xiaodi and Zhang, Liqing, “Thumbnail Generation Based on Global Saliency”, Advances in Cognitive Neurodynamics, ICCN 2007, pp. 999-1003, Springer Netherlands, 2008.
Hou, Xiaodi et al., “A Meta-Theory of Boundary Detection Benchmarks”, arXiv preprint arXiv: 1302.5985, pp. 1-4, 2013.
Li, Yanghao et al., “Revisiting Batch Normalization for Practical Domain Adaptation”, arXiv preprint arXiv: 1603.04779, pp. 1-12, 2016.
Li, Yanghao and Wang, Naiyan and Liu, Laying and Hou, Xiaodi, “Demystifying Neural Style Transfer”, arXiv preprint arXiv: 1701.01036, pp. 1-8, 2017.
Hou, Xiaodi and Zhang, Liqing, “A Time-Dependent Model of Information Capacity of Visual Attention”, International Conference on Neural Information Processing, pp. 127-136, Springer Berlin Heidelberg, 2006.
Wang, Panqu and Chen, Pengfei and Yuan, Ye and Liu, Ding and Huang, Zehua and Hou, Xiaodi and Cottrell, Garrison, “Understanding Convolution for Semantic Segmentation”, arXiv preprint arXiv: 1702.08502, pp. 1-10, 2017.
Li, Yanghao and Wang, Naiyan and Liu, Laying and Hou, Xiaodi, “Factorized Bilinear Models for Image Recognition”, arXiv preprint arXiv: 1611.05709, pp. 1-9, 2016.
Hou, Xiaodi, “Computational Modeling and Psychophysics in Low and Mid-Level Vision”, California Institute of Technology, pp. 1-125, 2014.
Spinello, Luciano, Triebel, Rudolph, Siegwart, Roland, “Multiclass Multimodal Detection and Tracking in Urban Environments”, Sage Journals, vol. 29 Issue 12, pp. 1498-1515 (pp. 1-18), Article first published online: Oct. 7, 2010; Issue published: Oct. 1, 2010.
Barth, Matthew et al., “Recent Validation Efforts for a Comprehensive Modal Emissions Model”, Transportation Research Record 1750, Paper No. 01-0326, College of Engineering, Center for Environmental Research and Technology, University of California, Riverside, CA 92521, pp. 1-11, date unknown.
Ahn, Kyoungho, Hesham Rakha, “The Effects of Route Choice Decisions on Vehicle Energy Consumption and Emissions”, Virginia Tech Transportation Institute, Blacksburg, VA 24061, pp. 1-34, date unknown.
Ramos, Sebastian, et al., “Detecting Unexpected Obstacles for Self-Driving Cars: Fusing Deep Learning and Geometric Modeling”, arXiv: 1612.06573v1 [cs.CV] pp. 1-8, Dec. 20, 2016.
Schroff, Florian, Dmitry Kalenichenko, James Philbin, (Google), “FaceNet: A Unified Embedding for Face Recognition and Clustering”, CVPR, pp. 1-10, 2015.
Dai, Jifeng, Kaiming He, Jian Sun, (Microsoft Research), “Instance-aware Semantic Segmentation via Multi-task Network Cascades”, CVPR, pp. 1, 2016.
Huval, Brody et al., “An Empirical Evaluation of Deep Learning on Highway Driving”, arXiv: 1504.01716v3 [cs.RO] pp. 1-7, Apr. 17, 2015.
Li, Tian, “Proposal Free Instance Segmentation Based on Instance-aware Metric”, Department of Computer Science, Cranberry-Lemon University, Pittsburgh, PA., pp. 1-2, date unknown.
Norouzi, Mohammad, et al., “Hamming Distance Metric Learning”, Departments of Computer Science and Statistics, University of Toronto, pp. 1-9, date unknown.
Jain, Suyong Dutt, Grauman, Kristen, “Active Image Segmentation Propagation”, In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, pp. 1-10, Jun. 2016.
MacAodha, Oisin, Campbell, Neill D.F., Kautz, Jan, Brostow, Gabriel J., “Hierarchical Subquery Evaluation for Active Learning on a Graph”, In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 1-8, 2014.
Kendall, Alex, Gal, Yarin, “What Uncertainties Do We Need in Bayesian Deep Learning for Computer Vision”, arXiv: 1703.04977v1 [cs.CV] pp. 1-11, Mar. 15, 2017.
Wei, Junqing, John M. Dolan, Bakhtiar Litkhouhi, “A Prediction- and Cost Function-Based Algorithm for Robust Autonomous Freeway Driving”, 2010 IEEE Intelligent Vehicles Symposium, University of California, San Diego, CA, USA, pp. 1-6, Jun. 21-24, 2010.
Welinder, Peter, et al., “The Multidimensional Wisdom of Crowds” http://www.vision.caltech.edu/visipedia/papers/WelinderEtaINIPS10.pdf, pp. 1-9, 2010.
Yu, Kai et al., “Large-scale Distributed Video Parsing and Evaluation Platform”, Center for Research on Intelligent Perception and Computing, Institute of Automation, Chinese Academy of Sciences, China, arXiv:1611.09580v1 [cs.CV], pp. 1-7, Nov. 29, 2016.
Guameri, P. et al., “A Neural-Network-Based Model for the Dynamic Simulation of the Tire/Suspension System While Traversing Road Irregularities,” in IEEE Transactions on Neural Networks, vol. 19, No. 9, pp. 1549-1563, Sep. 2008.
C. Yang, Z. Li, R. Cui and B. Xu, “Neural Network-Based Motion Control of an Underactuated Wheeled Inverted Pendulum Model,” in IEEE Transactions on Neural Networks and Learning Systems, vol. 25, No. 11, pp. 2004-2016, Nov. 2014.
Richter, Stephan R. et al., “Playing for Data: Ground Truth from Computer Games”, Intel Labs, European Conference on Computer Vision (ECCV), Amsterdam, the Netherlands, pp. 1-16, 2016.
Athanasiadis, Thanos, et al., “Semantic Image Segmentation and Object Labeling”, IEEE Transactions on Circuits and Systems for Video Technology, vol. 17, No. 3, pp. 1-15, Mar. 2007.
Cordts, Marius et al., “The Cityscapes Dataset for Semantic Urban Scene Understanding”, Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, Nevada, pp. 1-29, 2016.
Somani, Adhira et al., “DESPOT: Online POMDP Planning with Regularization”, Department of Computer Science, National University of Singapore, pp. 1-9, date unknown.
Paszke, Adam et al., Enet: A deep neural network architecture for real-time semantic segmentation. CoRR, abs/1606.02147, pp. 1-10, 2016.
Szeliski, Richard, “Computer Vision: Algorithms and Applications” http://szeliski.org/Book/, pp. 1-2, 2010.
Moreira, Adriano, “Concave HuLL: A K-Nearest Enighbours Approach for the Computation of the Region Occupied by a Set of Points”, International Conference on Computer Graphis Theory and Applications, (GRAPP), Barcelona, Spain, Mar. 8-11, 2007, pp. 1-8.
Chinese Application No. 201910337021.5, First Office Action dated Aug. 4, 2021, pp. 1-14.
Chinese Patent Office, First Office Action for CN 201910337021.5, dated Mar. 2, 2022, 25 pages with machine translation.
Chinese Application 201910337021.5 Notice of Grant dated Aug. 5, 2022 pp. (6 pages).
Related Publications (1)
Number Date Country
20190340447 A1 Nov 2019 US
Provisional Applications (1)
Number Date Country
62665994 May 2018 US