The present disclosure relates generally to sun eying technology for scanning a surrounding environment, and, more specifically, to systems and methods that use LIDAR technology to detect and classify objects in the surrounding environment.
With the advent of driver assist systems and autonomous vehicles, automobiles need to be equipped with systems capable of reliably sensing and interpreting their surroundings, including identifying obstacles, hazards, objects, and other physical parameters that might impact navigation of the vehicle. To this end, a number of differing technologies have been suggested including radar, LIDAR, camera-based systems, operating alone or in a redundant manner.
One consideration with driver assistance systems and autonomous vehicles is an ability of the system to determine surroundings across different conditions including, rain, fog, darkness, bright light, and snow. A light detection and ranging system, (LIDAR a/k/a LADAR) is an example of technology that can work well in differing conditions, by measuring distances to objects by illuminating objects with light and measuring the reflected pulses with a sensor. A laser is one example of a light source that can be used in a LIDAR system. As with any sensing system, in order for a LIDAR-based sensing system to be fully adopted by the automotive industry, the system should provide reliable data enabling detection of far-away objects. Currently, however, the maximum illumination power of LIDAR systems is limited by the need to make the LIDAR systems eye-safe (i.e., so that they will not damage the human eye which can occur when a projected light emission is absorbed in the eye's cornea and lens, causing thermal damage to the retina.)
Moreover, extant LIDAR systems generally identify and classify objects using distance information determined from reflected pulses. For example, such information may be used to construct a point-cloud map (or other 3D map), from which objects may be identified and classified. However, such identification and classification is frequently error-prone and inaccurate, as well as inefficient. The systems and methods of the present disclosure are directed towards improving performance of LIDAR systems, particularly with regards to identification and classification of objects.
Embodiments of the present disclosure may therefore improve the accuracy of and/or improve the efficiency of identification and classification of objects using a LIDAR. For example, systems of the present disclosure may detect one or more surface angles of an object based on one or more temporal distortions in reflection signals. In further embodiments, the systems of the present disclosure may identify objects using reflectivity fingerprints, surface angle fingerprints, or other measured properties, such as object surface physical composition, ambient illumination measured at a LIDAR dead time, difference in detection information from a previous frame, and confidence levels associated with one or more detection characteristics.
In one embodiment of the present disclosure, a LIDAR system for detecting a vehicle based on license plate reflectivity may comprise at least one processor. The at least one processor may be configured to scan a field of view by controlling movement of at least one deflector at which at least one light source is directed; receive, from at least one sensor, signals indicative of light reflected from a particular object in the field of view; detect, based on time of flight in the received signals, portions of the particular object in the field of view that are similarly spaced from the light source; and determine, based on the detected portions, at least a first portion having a first reflectivity corresponding to a license plate, and at least two additional spaced-apart portions corresponding to locations on the particular object other than a location of the first portion. The at least two additional portions may have reflectivity substantially lower than the first reflectivity. The at least one processor may be further configured to, based on a spatial relationship and a reflectivity relationship between the first portion and the at least two additional portions, classify the particular object as a vehicle.
In an embodiment of the present disclosure, a vehicle may comprise a body and at least one processor within the body. The at least one processor may be configured to scan a field of view by controlling movement of at least one deflector at which at least one light source is directed; receive, from at least one sensor, reflections signals indicative of light reflected from a particular object in the field of view; detect, based on time of flight, portions of the particular object in the field of view that are similarly spaced from the light source; and identify, based on the detected portions, at least a first portion having a first reflectivity, a second portion having a second reflectivity, and a third portion having a third reflectivity. The at least second and third portions may have reflectivity substantially lower than the first reflectivity. The at least one processor may be further configured to determine a reflectivity fingerprint of the particular object based on a reflectivity relationship between the first portion, the second portion, and the third portion; and classify the particular object based on the determined reflectivity fingerprint of the particular object.
In an embodiment of the present disclosure, a method for using LIDAR to detect a vehicle based on license plate reflectivity may comprise scanning a field of view by controlling movement of at least one deflector at which at least one light source is directed; receiving, from at least one sensor, signals indicative of light reflected from a particular object in the field of view; detecting, based on time of flight in the received signals, portions of the particular object in the field of view that are similarly spaced from the light source; and determining based on the detected portions, at least a first portion having a first reflectivity corresponding to a license plate, and at least two additional spaced-apart portions corresponding to locations on the particular object other than a location of the first portion. The at least two additional portions may have reflectivity substantially lower than the first reflectivity. The method may further comprise, based on a spatial relationship and a reflectivity relationship between the first portion and the at least two additional portions, classifying the particular object as a vehicle.
In an embodiment of the present disclosure, a non-transitory computer-readable storage medium may store instructions that, when executed by at least one processor, cause the at least one processor to perform a method for using LIDAR to detect a vehicle based on license plate reflectivity. The method may comprise scanning a field of view by controlling movement of at least one deflector at which at least one light source is directed; receiving, from at least one sensor, signals indicative of light reflected from a particular object in the field of view; detecting, based on time of flight in the received signals, portions of the particular object in the field of view that are similarly spaced from the light source; and determining based on the detected portions, at least a first portion having a first reflectivity corresponding to a license plate, and at least two additional spaced-apart portions corresponding to locations on the particular object other than a location of the first portion. The at least two additional portions may have reflectivity substantially lower than the first reflectivity. The method may further comprise, based on a spatial relationship and a reflectivity relationship between the first portion and the at least two additional portions, classifying the particular object as a vehicle.
In an embodiment of the present disclosure, a LIDAR system for use in a vehicle may comprise at least one processor. The at least one processor may be configured to control at least one light source for illuminating a field of view; scan a field of view by controlling movement of at least one deflector at which the at least one light source is directed; receive, from at least one sensor, reflections signals indicative of light reflected from an object in the field of view; detect at least one temporal distortion in the reflections signals; and determine from the at least one temporal distortion an angular orientation of at least a portion of the object.
In an embodiment of the present disclosure, a vehicle may comprise a body and at least one processor within the body. The at least one processor may be configured to control activation of at least one light source for illuminating a field of view; scan a field of view by controlling movement of at least one deflector at which the at least one light source is directed; receive, from at least one sensor, reflections signals indicative of light reflected from an object in the field of view; detect at least one temporal distortion in the reflections signals; and determine from the at least one temporal distortion an angular orientation of at least a portion of the object.
In an embodiment of the present disclosure, a method for using LIDAR to determine angular orientation of objects in a field of view may comprise controlling activation of at least one light source for illuminating a field of view; scanning a field of view by controlling movement of at least one deflector at which the at least one light source is directed; receiving, from at least one sensor, reflections signals indicative of light reflected from an object in the field of view; detecting at least one temporal distortion in the reflections signals; and determining from the at least one temporal distortion an angular orientation of at least a portion of the object.
In an embodiment of the present disclosure, a non-transitory computer-readable storage medium may store instructions that, when executed by at least one processor, cause the at least one processor to perform a method for using LIDAR to determine angular orientation of objects in a field of view. The method may comprise controlling activation of at least one light source for illuminating a field of view; scanning a field of view by controlling movement of at least one deflector at which the at least one light source is directed; receiving, from at least one sensor, reflections signals indicative of light reflected from an object in the field of view; detecting at least one temporal distortion in the reflections signals; and determining from the at least one temporal distortion an angular orientation of at least a portion of the object.
In an embodiment of the present disclosure, a vehicle-assistance system for classifying objects in a vehicle's surroundings may comprise at least one memory configured to store classification information for classifying a plurality of objects and at least one processor. The at least one processor may be configured to receive, on a pixel-by-pixel basis, a plurality of measurements associated with LIDAR detection results. The measurements may include at least one of: a presence indication, a surface angle, object surface physical composition, and a reflectivity level. The at least one processor may be further configured to receive, on the pixel-by-pixel basis, at least one confidence level associated with each received measurement; access the classification information; and based on the classification information and the received measurements with the at least one associated confidence level, identify a plurality of pixels as being associated with a particular object.
In an embodiment of the present disclosure, a vehicle-assistance system for identifying objects in a vehicle's surroundings may comprise at least one processor. The at least one processor may be configured to receive point-cloud information originating from a LIDAR configured to project light toward the vehicle's surroundings. The point-cloud information may be associated with a plurality of data points, and each data point may include indications of a three-dimensional location and angular information with respect to a reference plane. The at least one processor may be further configured to construct, from the received point cloud (PC) information, a point cloud map of the vehicle's surroundings. The point cloud map may be indicative of a shape of a particular object in the vehicle's surroundings and of angular orientations of at least two surfaces of the particular object. The at least one processor may be further configured to access object-related classification information; and identify the particular object based on the information from the point cloud map and the object-related classification information.
In an embodiment of the present disclosure, a method for using LIDAR system to classify objects in a field of view may comprise receiving, on a pixel-by-pixel basis, measurements associated with LIDAR detection results. The measurements may include at least one of a presence indication, a surface angle, and a reflectivity level. The method may further comprise receiving, on the pixel-by-pixel basis, a confidence level associated with each received measurement; accessing classification information for classifying the objects; and based on the classification information and the received measurements with the associated confidence level, classifying a plurality of pixels as being associated with a particular object.
In an embodiment of the present disclosure, a non-transitory computer-readable storage medium may store instructions that, when executed by at least one processor, cause the at least one processor to perform a method for identifying objects in a vehicle's surroundings. The method may comprise receiving point-cloud information originating from a LIDAR configured to project light toward the vehicle's surroundings. The point-cloud information may be associated with a plurality of data points, and each data point may include indications of a three-dimensional location and angular information with respect to a reference plane. The method may further comprise constructing, from the received point cloud information, a point cloud map of the vehicle's surroundings. The point cloud map may be indicative of a shape of a particular object in the vehicle's surroundings and of angular orientations of at least two surfaces of the particular object. The method may further comprise accessing object-related classification information; and identifying the particular object based on the information from the point cloud map and the object-related classification information.
In an embodiment of the present disclosure, a vehicle-assistance system for classifying objects in a vehicle's surroundings may comprise at least one memory configured to store classification information for classifying a plurality of objects and at least one processor. The at least one processor may be configured to receive a plurality of detection results associated with LIDAR detection results. Each detection result may include location information, and further information indicative of at least two of the following detection characteristics: object surface reflectivity; temporal spreading of signal reflected from the object; object surface physical composition; ambient illumination measured at a LIDAR dead time; difference in detection information from a previous frame; and confidence level associated with another detection characteristic. The at least one processor may be further configured to access the classification information; and based on the classification information and detections results, classify an object in the vehicle's surroundings.
Consistent with other disclosed embodiments, non-transitory computer-readable storage media may store program instructions, which are executed by at least one processing device and perform any of the methods or processor-executed steps described herein.
The foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the claims.
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various disclosed embodiments. In the drawings:
The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar parts. While several illustrative embodiments are described herein, modifications, adaptations and other implementations are possible. For example, substitutions, additions or modifications may be made to the components illustrated in the drawings, and the illustrative methods described herein may be modified by substituting, reordering, removing, or adding steps to the disclosed methods. Accordingly, the following detailed description is not limited to the disclosed embodiments and examples. Instead, the proper scope is defined by the appended claims.
Disclosed embodiments may involve an optical system. As used herein, the term “optical system” broadly includes any system that is used for the generation, detection and/or manipulation of light. By way of example only, an optical system may include one or more optical components for generating, detecting and/or manipulating light. For example, light sources, lenses, mirrors, prisms, beam splitters, collimators, polarizing optics, optical modulators, optical switches, optical amplifiers, optical detectors, optical sensors, fiber optics, semiconductor optic components, while each not necessarily required, may each be part of an optical system. In addition to the one or more optical components, an optical system may also include other non-optical components such as electrical components, mechanical components, chemical reaction components, and semiconductor components. The non-optical components may cooperate with optical components of the optical system. For example, the optical system may include at least one processor for analyzing detected light.
Consistent with the present disclosure, the optical system may be a LIDAR system. As used herein, the term “LIDAR system” broadly includes any system which can determine values of parameters indicative of a distance between a pair of tangible objects based on reflected light. In one embodiment, the LIDAR system may determine a distance between a pair of tangible objects based on reflections of light emitted by the LIDAR system. As used herein, the term “determine distances” broadly includes generating outputs which are indicative of distances between pairs of tangible objects. The determined distance may represent the physical dimension between a pair of tangible objects. By way of example only, the determined distance may include a line of flight distance between the LIDAR system and another tangible object in a field of view of the LIDAR system. In another embodiment, the LIDAR system may determine the relative velocity between a pair of tangible objects based on reflections of light emitted by the LIDAR system. Examples of outputs indicative of the distance between a pair of tangible objects include: a number of standard length units between the tangible objects (e.g. number of meters, number of inches, number of kilometers, number of millimeters), a number of arbitrary length units (e.g. number of LIDAR system lengths), a ratio between the distance to another length (e.g. a ratio to a length of an object detected in a field of view of the LIDAR system), an amount of time (e.g. given as standard unit, arbitrary units or ratio, for example, the time it takes light to travel between the tangible objects), one or more locations (e.g. specified using an agreed coordinate system, specified in relation to a known location), and more.
The LIDAR system may determine the distance between a pair of tangible objects based on reflected light. In one embodiment, the LIDAR system may process detection results of a sensor which creates temporal information indicative of a period of time between the emission of a light signal and the time of its detection by the sensor. The period of time is occasionally referred to as “time of flight” of the light signal. In one example, the light signal may be a short pulse, whose rise and/or fall time may be detected in reception. Using known information about the speed of light in the relevant medium (usually air), the information regarding the time of flight of the light signal can be processed to provide the distance the light signal traveled between emission and detection. In another embodiment, the LIDAR system may determine the distance based on frequency phase-shift (or multiple frequency phase-shift). Specifically, the LIDAR system may process information indicative of one or more modulation phase shifts (e.g. by solving some simultaneous equations to give a final measure) of the light signal. For example, the emitted optical signal may be modulated with one or more constant frequencies. The at least one phase shift of the modulation between the emitted signal and the detected reflection may be indicative of the distance the light traveled between emission and detection. The modulation may be applied to a continuous wave light signal, to a quasi-continuous wave light signal, or to another type of emitted light signal. It is noted that additional information may be used by the LIDAR system for determining the distance, e.g. location information (e.g. relative positions) between the projection location, the detection location of the signal (especially if distanced from one another), and more.
In some embodiments, the LIDAR system may be used for detecting a plurality of objects in an environment of the LIDAR system. The term “detecting an object in an environment of the LIDAR system” broadly includes generating information which is indicative of an object that reflected light toward a detector associated with the LIDAR system. If more than one object is detected by the LIDAR system, the generated information pertaining to different objects may be interconnected, for example a car is driving on a road, a bird is sitting on the tree, a man touches a bicycle, a van moves towards a building. The dimensions of the environment in which the LIDAR system detects objects may vary with respect to implementation. For example, the LIDAR system may be used for detecting a plurality of objects in an environment of a vehicle on which the LIDAR system is installed, up to a horizontal distance of 100 m (or 200 m, 300 m, etc.), and up to a vertical distance of 10 m (or 25 m, 50 m, etc.). In another example, the LIDAR system may be used for detecting a plurality of objects in an environment of a vehicle or within a predefined horizontal range (e.g., 25°, 50°, 100°, 180°, etc.), and up to a predefined vertical elevation (e.g., ±10°, ±20°, +40°-20°, ±90° or 0°-90°).
As used herein, the term “detecting an object” may broadly refer to determining an existence of the object (e.g., an object may exist in a certain direction with respect to the LIDAR system and/or to another reference location, or an object may exist in a certain spatial volume). Additionally or alternatively, the term “detecting an object” may refer to determining a distance between the object and another location (e.g. a location of the LIDAR system, a location on earth, or a location of another object). Additionally or alternatively, the term “detecting an object” may refer to identifying the object (e.g. classifying a type of object such as car, plant, tree, road; recognizing a specific object (e.g., the Washington Monument); determining a license plate number; determining a composition of an object (e.g., solid, liquid, transparent, semitransparent); determining a kinematic parameter of an object (e.g., whether it is moving, its velocity, its movement direction, expansion of the object). Additionally or alternatively, the term “detecting an object” may refer to generating a point cloud map in which every point of one or more points of the point cloud map correspond to a location in the object or a location on a face thereof. In one embodiment, the data resolution associated with the point cloud map representation of the field of view may be associated with 0.1°×0.1° or 0.3°×0.3° of the field of view.
Consistent with the present disclosure, the term “object” broadly includes a finite composition of matter that may reflect light from at least a portion thereof. For example, an object may be at least partially solid (e.g. cars, trees); at least partially liquid (e.g. puddles on the road, rain); at least partly gaseous (e.g. fumes, clouds); made from a multitude of distinct particles (e.g. sand storm, fog, spray); and may be of one or more scales of magnitude, such as ˜1 millimeter (mm), ˜5 mm, ˜10 mm, ˜50 mm, ˜100 mm, ˜500 mm, ˜1 meter (m), ˜5 m, ˜10 m, ˜50 m, ˜100 m, and so on. Smaller or larger objects, as well as any size in between those examples, may also be detected. It is noted that for various reasons, the LIDAR system may detect only part of the object. For example, in some cases, light may be reflected from only some sides of the object (e.g., only the side opposing the LIDAR system will be detected); in other cases, light may be projected on only part of the object (e.g. laser beam projected onto a road or a building); in other cases, the object may be partly blocked by another object between the LIDAR system and the detected object; in other cases, the LIDAR's sensor may only detects light reflected from a portion of the object, e.g., because ambient light or other interferences interfere with detection of some portions of the object.
Consistent with the present disclosure, a LIDAR system may be configured to detect objects by scanning the environment of LIDAR system. The term “scanning the environment of LIDAR system” broadly includes illuminating the field of view or a portion of the field of view of the LIDAR system. In one example, scanning the environment of LIDAR system may be achieved by moving or pivoting a light deflector to deflect light in differing directions toward different parts of the field of view. In another example, scanning the environment of LIDAR system may be achieved by changing a positioning (i.e. location and/or orientation) of a sensor with respect to the field of view. In another example, scanning the environment of LIDAR system may be achieved by changing a positioning (i.e. location and/or orientation) of a light source with respect to the field of view. In yet another example, scanning the environment of LIDAR system may be achieved by changing the positions of at least one light source and of at least one sensor to move rigidly respect to the field of view (i.e. the relative distance and orientation of the at least one sensor and of the at least one light source remains).
As used herein the term “field of view of the LIDAR system” may broadly include an extent of the observable environment of LIDAR system in which objects may be detected. It is noted that the field of view (FOV) of the LIDAR system may be affected by various conditions such as but not limited to: an orientation of the LIDAR system (e.g. is the direction of an optical axis of the LIDAR system); a position of the LIDAR system with respect to the environment (e.g. distance above ground and adjacent topography and obstacles); operational parameters of the LIDAR system (e.g. emission power, computational settings, defined angles of operation), etc. The field of view of LIDAR system may be defined, for example, by a solid angle (e.g. defined using φ, θ angles, in which φ and θ are angles defined in perpendicular planes, e.g. with respect to symmetry axes of the LIDAR system and/or its FOV). In one example, the field of view may also be defined within a certain range (e.g. up to 200 m).
Similarly, the term “instantaneous field of view” may broadly include an extent of the observable environment in which objects may be detected by the LIDAR system at any given moment. For example, for a scanning LIDAR system, the instantaneous field of view is narrower than the entire FOV of the LIDAR system, and it can be moved within the FOV of the LIDAR system in order to enable detection in other parts of the FOV of the LIDAR system. The movement of the instantaneous field of view within the FOV of the LIDAR system may be achieved by moving a light deflector of the LIDAR system (or external to the LIDAR system), so as to deflect beams of light to and/or from the LIDAR system in differing directions. In one embodiment, LIDAR system may be configured to scan scene in the environment in which the LIDAR system is operating. As used herein the term “scene” may broadly include some or all of the objects within the field of view of the LIDAR system, in their relative positions and in their current states, within an operational duration of the LIDAR system. For example, the scene may include ground elements (e.g. earth, roads, grass, sidewalks, road surface marking), sky, man-made objects (e.g. vehicles, buildings, signs), vegetation, people, animals, light projecting elements (e.g. flashlights, sun, other LIDAR systems), and so on.
Disclosed embodiments may involve obtaining information for use in generating reconstructed three-dimensional models. Examples of types of reconstructed three-dimensional models which may be used include point cloud models, and Polygon Mesh (e.g. a triangle mesh). The terms “point cloud” and “point cloud model” are widely known in the art, and should be construed to include a set of data points located spatially in some coordinate system (i.e., having an identifiable location in a space described by a respective coordinate system).The term “point cloud point” refer to a point in space (which may be dimensionless, or a miniature cellular space, e.g. 1 cm3), and whose location may be described by the point cloud model using a set of coordinates (e.g. (X,Y,Z), (r,φ,θ)). By way of example only, the point cloud model may store additional information for some or all of its points (e.g. color information for points generated from camera images). Likewise, any other type of reconstructed three-dimensional model may store additional information for some or all of its objects. Similarly, the terms “polygon mesh” and “triangle mesh” are widely known in the art, and are to be construed to include, among other things, a set of vertices, edges and faces that define the shape of one or more 3D objects (such as a polyhedral object). The faces may include one or more of the following: triangles (triangle mesh), quadrilaterals, or other simple convex polygons, since this may simplify rendering. The faces may also include more general concave polygons, or polygons with holes. Polygon meshes may be represented using differing techniques, such as: Vertex-vertex meshes, Face-vertex meshes, Winged-edge meshes and Render dynamic meshes. Different portions of the polygon mesh (e.g., vertex, face, edge) are located spatially in some coordinate system (i.e., having an identifiable location in a space described by the respective coordinate system), either directly and/or relative to one another. The generation of the reconstructed three-dimensional model may be implemented using any standard, dedicated and/or novel photogrammetry technique, many of which are known in the art. It is rioted that other types of models of the environment may be generated by the LIDAR system.
Consistent with disclosed embodiments, the LIDAR system may include at least one projecting unit with a light source configured to project light. As used herein the term “light source” broadly refers to any device configured to emit light. In one embodiment, the light source may be a laser such as a solid-state laser, laser diode, a high power laser, or an alternative light source such as, a light emitting diode (LED)-based light source. In addition, light source 112 as illustrated throughout the figures, may emit light in differing formats, such as light pulses, continuous wave (CW), quasi-CW, and so on. For example, one type of light source that may be used is a vertical-cavity surface-emitting laser (VCSEL). Another type of light source that may be used is an external cavity diode laser (ECDL). In some examples, the light source may include a laser diode configured to emit light at a wavelength between about 650 nm and 1,150 nm. Alternatively, the light source may include a laser diode configured to emit light at a wavelength between about 800 nm and about 1,000 nm, between about 850 nm and about 950 nm, or between about 1,300 nm and about 1,600 nm. Unless indicated otherwise, the term “about” with regards to a numeric value is defined as a variance of up to 5% with respect to the stated value. Additional details on the projecting unit and the at least one light source are described below with reference to
Consistent with disclosed embodiments, the LIDAR system may include at least one scanning unit with at least one light deflector configured to deflect light from the light source in order to scan the field of view. The term “light deflector” broadly includes any mechanism or module which is configured to make light deviate from its original path; for example, a mirror, a prism, controllable lens, a mechanical mirror, mechanical scanning polygons, active diffraction (e.g. controllable LCD), Risley prisms, non-mechanical-electro-optical beam steering (such as made by Vscent), polarization grating (such as offered by Boulder Non-Linear Systems), optical phased array (OPA), and more. In one embodiment, a light deflector may include a plurality of optical components, such as at least one reflecting element (e.g. a mirror), at least one refracting element (e.g. a prism, a lens), and so on. In one example, the light deflector may be movable, to cause light deviate to differing degrees (e.g. discrete degrees, or over a continuous span of degrees). The light deflector may optionally be controllable in different ways (e.g. deflect to a degree a, change deflection angle by Au, move a component of the light deflector by M millimeters, change speed in which the deflection angle changes). In addition, the light deflector may optionally be operable to change an angle of deflection within a single plane (e.g., θ coordinate). The light deflector may optionally be operable to change an angle of deflection within two non-parallel planes (e.g., θ and φ coordinates). Alternatively or in addition, the light deflector may optionally be operable to change an angle of deflection between predetermined settings (e.g. along a predefined scanning route) or otherwise. With respect the use of light deflectors in LIDAR systems, it is noted that a light deflector may be used in the outbound direction (also referred to as transmission direction, or TX) to deflect light from the light source to at least a part of the field of view. However, a light deflector may also be used in the inbound direction (also referred to as reception direction, or RX) to deflect light from at least a part of the field of view to one or more light sensors. Additional details on the scanning unit and the at least one light deflector are described below with reference to
Disclosed embodiments may involve pivoting the light deflector in order to scan the field of view. As used herein the term “pivoting” broadly includes rotating of an object (especially a solid object) about one or more axis of rotation, while substantially maintaining a center of rotation fixed. In one embodiment, the pivoting of the light deflector may include rotation of the light deflector about a fixed axis (e.g., a shaft), but this is not necessarily so. For example, in some MEMS mirror implementation, the MEMS mirror may move by actuation of a plurality of benders connected to the mirror, the mirror may experience some spatial translation in addition to rotation. Nevertheless, such mirror may be designed to rotate about a substantially fixed axis, and therefore consistent with the present disclosure it considered to be pivoted. In other embodiments, some types of light deflectors (e.g. non-mechanical-electro-optical beam steering, OPA) do not require any moving components or internal movements in order to change the deflection angles of deflected light. It is noted that any discussion relating to moving or pivoting a light deflector is also mutatis mutandis applicable to controlling the light deflector such that it changes a deflection behavior of the light deflector. For example, controlling the light deflector may cause a change in a deflection angle of beams of light arriving from at least one direction.
Disclosed embodiments may involve receiving reflections associated with a portion of the field of view corresponding to a single instantaneous position of the light deflector. As used herein, the term “instantaneous position of the light deflector” (also referred to as “state of the light deflector”) broadly refers to the location or position in space where at least one controlled component of the light deflector is situated at an instantaneous point in time, or over a short span of time. In one embodiment, the instantaneous position of light deflector may be gauged with respect to a frame of reference. The frame of reference may pertain to at least one fixed point in the LIDAR system. Or, for example, the frame of reference may pertain to at least one fixed point in the scene. In some embodiments, the instantaneous position of the light deflector may include sonic movement of one or more components of the light deflector (e.g. mirror, prism), usually to a limited degree with respect to the maximal degree of change during a scanning of the field of view, For example, a scanning of the entire the field of view of the LIDAR system may include changing deflection of light over a span of 30°, and the instantaneous position of the at least one light deflector may include angular shifts of the light deflector within 0.05°. In other embodiments, the term “instantaneous position of the light deflector” may refer to the positions of the light deflector during acquisition of light which is processed to provide data for a single point of a point cloud (or another type of 3D model) generated by the LIDAR system. In some embodiments, an instantaneous position of the light deflector may correspond with a fixed position or orientation in which the deflector pauses for a short time during illumination of a particular sub-region of the LIDAR field of view. In other cases, an instantaneous position of the light deflector may correspond with a certain position/orientation along a scanned range of positions/orientations of the light deflector that the light deflector passes through as part of a continuous or semi-continuous scan of the LIDAR field of view. In sonic embodiments, the light deflector may be moved such that during a scanning cycle of the LIDAR FOV the light deflector is located at a plurality of different instantaneous positions. In other words, during the period of time in which a scanning cycle occurs, the deflector may be moved through a series of different instantaneous positions/orientations, and the deflector may reach each different instantaneous position/orientation at a different time during the scanning cycle.
Consistent with disclosed embodiments, the LIDAR system may include at least one sensing unit with at least one sensor configured to detect reflections from objects in the field of view. The term “sensor” broadly includes any device, element, or system capable of measuring properties (e.g., power, frequency, phase, pulse timing, pulse duration) of electromagnetic waves and to generate an output relating to the measured properties. In some embodiments, the at least one sensor may include a plurality of detectors constructed from a plurality of detecting elements. The at least one sensor may include light sensors of one or more types. It is noted that the at least one sensor may include multiple sensors of the same type which may differin other characteristics (e.g., sensitivity, size). Other types of sensors may also be used. Combinations of several types of sensors can be used for different reasons, such as improving detection over a span of ranges (especially in close range); improving the dynamic range of the sensor; improving the temporal response of the sensor; and improving detection in varying environmental conditions (e.g. atmospheric temperature, rain, etc.).
In one embodiment, the at least one sensor includes a SiPM (Silicon photomultipliers) which is a solid-state single-photon-sensitive device built from an array of avalanche photodiode (APD), single photon avalanche diode (SPAD), serving as detection elements on a common silicon substrate. In one example, a typical distance between SPADs may be between about 10 μm and about 50 μm, wherein each SPAD may have a recovery time of between about 20 ns and about 100 ns. Similar photomultipliers from other, non-silicon materials may also be used. Although a SiPM device works in digital/switching mode, the SiPM is an analog device because all the microcells may be read in parallel, making it possible to generate signals within a dynamic range from a single photon to hundreds and thousands of photons detected by the different SPADs. It is noted that outputs from different types of sensors (e.g., SPAD, APD, SiPM, PIN diode, Photodetector) may be combined together to a single output which may be processed by a processor of the LIDAR system, Additional details on the sensing unit and the at least one sensor are described below with reference to
Consistent with disclosed embodiments, the LIDAR system may include or communicate with at least one processor configured to execute differing functions. The at least one processor may constitute any physical device having an electric circuit that performs a logic operation on input or inputs. For example, the at least one processor may include one or more integrated circuits (IC), including Application-specific integrated circuit (ASIC), microchips, microcontrollers, microprocessors, all or part of a central processing unit (CPU), graphics processing unit (GPU), digital signal processor (DSP), field-programmable gate array (FPGA), or other circuits suitable for executing instructions or performing logic operations. The instructions executed by at least one processor may, for example, be pre-loaded into a memory integrated with or embedded into the controller or may be stored in a separate memory. The memory may comprise a Random Access Memory (RAM), a Read-Only Memory (ROM), a hard disk, an optical disk, a magnetic medium, a flash memory, other permanent, fixed, or volatile memory, or any other mechanism capable of storing instructions. In some embodiments, the memory is configured to store information representative data about objects in the environment of the LIDAR system. In some embodiments, the at least one processor may include more than one processor. Each processor may have a similar construction or the processors may be of differing constructions that are electrically connected or disconnected from each other. For example, the processors may be separate circuits or integrated in a single circuit. When more than one processor is used, the processors may be configured to operate independently or collaboratively. The processors may be coupled electrically, magnetically, optical acoustically, mechanically or by other means that permit them to interact. Additional details on the processing unit and the at least one processor are described below with reference to
Consistent with the present disclosure, LIDAR system 100 may be used in autonomous or semi-autonomous road-vehicles (for example, cars, buses, vans, trucks and any other terrestrial vehicle). Autonomous road-vehicles with LIDAR system 100 may scan their environment and drive to a destination vehicle without human input. Similarly, LIDAR system 100 may also be used in autonomous/semi-autonomous aerial-vehicles (for example, UAV, drones, quadcopters, and any other airborne vehicle or device); or in an autonomous or semi-autonomous water vessel (e.g., boat, ship, submarine, or any other watercraft). Autonomous aerial-vehicles and water craft with LIDAR system 100 may scan their environment and navigate to a destination autonomously or using a remote human operator. According to one embodiment, vehicle 110 (either a road-vehicle, aerial-vehicle, or watercraft) may use LIDAR system 100 to aid in detecting and scanning the environment in which vehicle 110 is operating.
In some embodiments, LIDAR system 100 may include one or more scanning units 104 to scan the environment around vehicle 110. LIDAR system 100 may be attached or mounted to any part of vehicle 110. Sensing unit 106 may receive reflections from the surroundings of vehicle 110, and transfer reflections signals indicative of light reflected from objects in field of view 120 to processing unit 108. Consistent with the present disclosure, scanning units 104 may be mounted to or incorporated into a bumper, a fender, a side panel, a spoiler, a roof, a headlight assembly, a taillight assembly, a rear-view mirror assembly, a hood, a trunk or any other suitable part of vehicle 110 capable of housing at least a portion of the LIDAR system. In some cases, LIDAR system 100 may capture a complete surround view of the environment of vehicle 110. Thus, LIDAR system 100 may have a 360-degree horizontal field of view. In one example, as shown in
In this embodiment, all the components of LIDAR system 100 may be contained within a single housing 200, or may be divided among a plurality of housings. As shown, projecting unit 102 is associated with a single light source 112 that includes a laser diode 202A (or one or more laser diodes coupled together) configured to emit light (projected light 204). In one non limiting example, the light projected by light source 112 may be at a wavelength between about 800 nm and 950 nm, have an average power between about 50 mW and about 500 mW, have a peak power between about 50 W and about 200 W, and a pulse width of between about 2 ns and about 100 ns. In addition, light source 112 may optionally be associated with optical assembly 202B used for manipulation of the light emitted by laser diode 202A (e.g. for collimation, focusing, etc.). It is noted that other types of light sources 112 may be used, and that the disclosure is not restricted to laser diodes. In addition, light source 112 may emit its light in different formats, such as light pulses, frequency modulated, continuous wave (CW), quasi-CW, or any other form corresponding to the particular light source employed. The projection format and other parameters may be changed by the light source from time to time based on different factors, such as instructions from processing unit 108. The projected light is projected towards an outbound deflector 114A that functions as a steering element for directing the projected light in field of view 120. In this example, scanning unit 104 also include a pivotable return deflector 114B that direct photons (reflected light 206) reflected hack from an object 208 within field of view 120 toward sensor 116. The reflected light is detected by sensor 116 and information about the object (e.g., the distance to object 212) is determined by processing unit 108.
In this figure, LIDAR system 100 is connected to a host 210. Consistent with the present disclosure, the term “host” refers to any computing environment that may interface with LIDAR system 100, it may be a vehicle system (e.g., part of vehicle 110), a testing system, a security system, a surveillance system, a traffic control system, an urban modelling system, or any system that monitors its surroundings. Such computing environment may include at least one processor and/or may be connected LIDAR system 100 via the cloud. In some embodiments, host 210 may also include interfaces to external devices such as camera and sensors configured to measure different characteristics of host 210 (e.g., acceleration, steering wheel deflection, reverse drive, etc.). Consistent with the present disclosure, LIDAR system 100 may be fixed to a stationary object associated with host 210 (e.g. a building, a tripod) or to a portable system associated with host 210 (e.g., a portable computer, a movie camera). Consistent with the present disclosure, LIDAR system 100 may be connected to host 210, to provide outputs of LIDAR system 100 (e.g., a 3D model, a reflectivity image) to host 210. Specifically, host 210 may use LIDAR system 100 to aid in detecting and scanning the environment of host 210 or any other environment. In addition, host 210 may integrate, synchronize or otherwise use together the outputs of LIDAR system 100 with outputs of other sensing systems (e.g. cameras, microphones, radar systems). In one example, LIDAR system 100 may be used by a security system. This embodiment is described in greater detail below with reference to
LIDAR system 100 may also include a bus 212 (or other communication mechanisms) that interconnect subsystems and components for transferring information within LIDAR system 100. Optionally, bus 212 (or another communication mechanism) may be used for interconnecting LIDAR system 100 with host 210. In the example of
According to some embodiments, scanning the environment around LIDAR system 100 may include illuminating field of view 120 with light pulses. The light pulses may have parameters such as: pulse duration, pulse angular dispersion, wavelength, instantaneous power, photon density at different distances from light source 112, average power, pulse power intensity, pulse width, pulse repetition rate, pulse sequence, pulse duty cycle, wavelength, phase, polarization, and more. Scanning the environment around LIDAR system 100 may also include detecting and characterizing various aspects of the reflected light. Characteristics of the reflected light may include, for example: time-of-flight (i.e., time from emission until detection), instantaneous power (e.g., power signature), average power across entire return pulse, and photon distribution/signal over return pulse period. By comparing characteristics of a light pulse with characteristics of corresponding reflections, a distance and possibly a physical characteristic, such as reflected intensity of object 212 may be estimated. By repeating this process across multiple adjacent portions 122, in a predefined pattern (e.g., raster, Lissajous or other patterns) an entire scan of field of view 120 may be achieved. As discussed below in greater detail, in some situations LIDAR system 100 may direct light to only some of the portions 122 in field of view 120 at every scanning cycle. These portions may be adjacent to each other, but not necessarily so.
In another embodiment, LIDAR system 100 may include network interface 214 for communicating with host 210 (e.g., a vehicle controller). The communication between LIDAR system 100 and host 210 is represented by a dashed arrow. In one embodiment, network interface 214 may include an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line, As another example, network interface 214 may include a local area network (LAN) card to provide a data communication connection to a compatible LAN. In another embodiment, network interface 214 may include an Ethernet port connected to radio frequency receivers and transmitters and/or optical (e.g., infrared) receivers and transmitters. The specific design and implementation of network interface 214 depends on the communications network(s) over which LIDAR system 100 and host 210 are intended to operate. For example, network interface 214 may be used, for example, to provide outputs of LIDAR system 100 to the external system, such as a 3D model, operational parameters of LIDAR system 100, and so on. In other embodiment, the communication unit may be used, for example, to receive instructions from the external system, to receive information regarding the inspected environment, to receive information from another sensor, etc.
In the embodiment of
Consistent with some embodiments, secondary light source 112B may cause human eyes to blink when it is too close to the LIDAR optical output port. This may ensure an eye safety mechanism not feasible with typical laser sources that utilize the near-infrared light spectrum. In another embodiment, secondary light source 112B may be used for calibration and reliability at a point of service, in a manner somewhat similar to the calibration of headlights with a special reflector/pattern at a certain height from the ground with respect to vehicle 110. An operator at a point of service could examine the calibration of the LIDAR by simple visual inspection of the scanned pattern over a featured target such a test pattern board at a designated distance from LIDAR system 100. In addition, secondary light source 112B may provide means for operational confidence that the LIDAR is working for the end-user. For example, the system may be configured to permit a human to place a hand in front of light deflector 114 to test its operation.
Secondary light source 112B may also have a non-visible element that can double as a backup system in case primary light source 112A fails. This feature may be useful for fail-safe devices with elevated functional safety ratings. Given that secondary light source 112B may be visible and also due to reasons of cost and complexity, secondary light source 112B may be associated with a smaller power compared to primary light source 112A. Therefore, in case of a failure of primly light source 112A, the system functionality will fall back to secondary light source 112B set of functionalities and capabilities. While the capabilities of secondary light source 112B may be inferior to the capabilities of primary light source 112A, LIDAR system 100 system may be designed in such a fashion to enable vehicle 110 to safely arrive its destination.
As depicted in
Consistent with some embodiments, LIDAR system 100 may further include optics 222 (e.g., a quarter wave plate retarder) for modifying a polarization of the emitted light. For example, optics 222 may modify a linear polarization of the emitted light beam to circular polarization. Light reflected back to system 100 from the field of view would arrive back through deflector 114 to optics 222, bearing a circular polarization with a reversed handedness with respect to the transmitted light. Optics 222 would then convert the received reversed handedness polarization light to a linear polarization that is not on the same axis as that of the polarized beam splitter 216. As noted above, the received light-patch is larger than the transmitted light-patch, due to optical dispersion of the beam traversing through the distance to the target.
Some of the received light will impinge on one-way deflector 220 that will reflect the light towards sensor 106 with some power loss. However, another part of the received patch of light will fall on a reflective surface 218 which surrounds one-way deflector 220 (e.g., polarizing beam splitter slit). Reflective surface 218 will reflect the light towards sensing unit 106 with substantially zero power loss. One-way deflector 220 would reflect light that is composed of various polarization axes and directions that will eventually arrive at the detector. Optionally, sensing unit 106 may include sensor 116 that is agnostic to the laser polarization, and is primarily sensitive to the amount of impinging photons at a certain wavelength range.
It is noted that the proposed asymmetrical deflector 216 provides far superior performances when compared to a simple mirror with a passage hole in it. In a mirror with a hole, all of the reflected light which reaches the hole is lost to the detector. However, in deflector 216, one-way deflector 220 deflects a significant portion of that light (e.g., about 50%) toward the respective sensor 116. In LIDAR systems, the number photons reaching the LIDAR from remote distances is very limited, and therefore the improvement in photon capture rate is important.
According to some embodiments, a device fin beam splitting and steering is described. A polarized beam may be emitted from a light source having a first polarization. The emitted beam may be directed to pass through a polarized beam splitter assembly. The polarized beam splitter assembly includes on a first side a one-directional slit and on an opposing side a mirror. The one-directional slit enables the polarized emitted beam to travel toward a quarter-wave-plate/wave-retarder which changes the emitted signal from a polarized signal to a linear signal (or vice versa) so that subsequently reflected beams cannot travel through the one-directional slit.
During scanning, current (represented in the figure as the dashed line) may flow from contact 304A to contact 304B (through actuator 302A, spring 306A, mirror 300, spring 306B, and actuator 302B). Isolation gaps in semiconducting frame 308 such as isolation gap 310 may cause actuator 302A and 302B to be two separate islands connected electrically through springs 306 and frame 308. The current flow, or any associated electrical parameter (voltage, current frequency, capacitance, relative dielectric constant, etc.), may be monitored by an associated position feedback. In case of a mechanical failure—where one of the components is damaged-the current flow through the structure would alter and change from its functional calibrated values. At an extreme situation (for example, when a spring is broken), the current would stop completely due to a circuit break in the electrical chain by means of a faulty element.
As described above, a monostatic scanning LIDAR system utilizes at least a portion of the same optical path for emitting projected light 204 and for receiving reflected light 206. The light beam in the outbound path may be collimated and focused into a narrow beam while the reflections in the return path spread into a larger patch of light, due to dispersion, In one embodiment, scanning unit 104 may have a large reflection area in the return path and asymmetrical deflector 216 that redirects the reflections (i.e., reflected light 206) to sensor 116. In one embodiment, scanning unit 104 may include a MEMS mirror with a large reflection area and negligible impact on the field of view and the frame rate performance. Additional details about the asymmetrical deflector 216 are provided below with reference to
In some embodiments (e.g. as exemplified in
According to some embodiments, reflector array 312 may include one or more sub-groups of steerable deflectors. Each sub-group of electrically steerable deflectors may include one or more deflector units, such as reflector unit 314. For example, each steerable deflector unit 314 may include at least one of a MEMS mirror, a reflective surface assembly, and an electromechanical actuator. In one embodiment, each reflector unit 314 may be individually controlled by an individual processor (not shown), such that it may tilt towards a specific angle along each of one or two separate axes. Alternatively, reflector array 312 may be associated with a common controller (e.g., processor 118) configured to synchronously manage the movement of reflector units 314 such that at least part of them will pivot concurrently and point in approximately the same direction.
In addition, at least one processor 118 may select at least one reflector unit 314 for the outbound path (referred to hereinafter as “TX Mirror”) and a group of reflector units 314 for the return path (referred to hereinafter as “RX Mirror”). Consistent with the present disclosure, increasing the number of TX Mirrors may increase a reflected photons beam spread. Additionally, decreasing the number of RX Mirrors may narrow the reception field and compensate for ambient light conditions (such as clouds, rain, fog, extreme heat, and other environmental conditions) and improve the signal to noise ratio. Also, as indicated above, the emitted light beam is typically narrower than the patch of reflected light, and therefore can be fully deflected by a small portion of the deflection array. Moreover, it is possible to block light reflected from the portion of the deflection array used for transmission (e.g. the TX mirror) from reaching sensor 116, thereby reducing an effect of internal reflections of the LIDAR system 100 on system operation. In addition, at least one processor 118 may pivot one or more reflector units 314 to overcome mechanical impairments and drifts due, for example, to thermal and gain effects. In an example, one or more reflector units 314 may move differently than intended (frequency, rate, speed etc.) and their movement may be compensated for by electrically controlling the deflectors appropriately.
In embodiments in which the scanning of field of view 120 is mechanical, the projected light emission may be directed to exit aperture 314 that is part of a wall 316 separating projecting unit 102 from other parts of LIDAR system 100. In some examples, wall 316 can be formed from a transparent material (e.g., glass) coated with a reflective material to form deflector 114B. In this example, exit aperture 314 may correspond to the portion of wall 316 that is not coated by the reflective material. Additionally or alternatively, exit aperture 314 may include a hole or cut-away in the wall 316. Reflected light 206 may be reflected by deflector 114B and directed towards an entrance aperture 318 of sensing unit 106. In some examples, an entrance aperture 318 may include a filtering window configured to allow wavelengths in a certain wavelength range to enter sensing unit 106 and attenuate other wavelengths. The reflections of object 208 from field of view 120 may be reflected by deflector 114B and hit sensor 116. By comparing several properties of reflected light 206 with projected light 204, at least one aspect of object 208 may be determined. For example, by comparing a time when projected light 204 was emitted by light source 112 and a time when sensor 116 received reflected light 206, a distance between object 208 and LIDAR system 100 may be determined. In some examples, other aspects of object 208, such as shape, color, material, etc. may also be determined.
In some examples, the LIDAR system 100 (or part thereof, including at least one light source 112 and at least one sensor 116) may be rotated about at least one axis to determine a three-dimensional map of the surroundings of the LIDAR system 100. For example, the LIDAR system 100 may be rotated about a substantially vertical axis as illustrated by arrow 320 in order to scan field of 120. Although
Sensor 116 includes a plurality of detection elements 402 for detecting photons of a photonic pulse reflected back from field of view 120. The detection elements may all be included in detector array 400, which may have a rectangular arrangement (e.g. as shown) or any other arrangement. Detection elements 402 may operate concurrently or partially concurrently with each other. Specifically, each detection element 402 may issue detection information for every sampling duration (e.g. every 1 nanosecond). In one example, detector array 400 may be a SiPM (Silicon photomultipliers) which is a solid-state single-photon-sensitive device built from an array of single photon avalanche diode (, SPAD, serving as detection elements 402) on a common silicon substrate. Similar photomultipliers from other, non-silicon materials may also be used. Although a SiPM device works in digital/switching mode, the SiPM is an analog device because all the microcells are read in parallel, making it possible to generate signals within a dynamic range from a single photon to hundreds and thousands of photons detected by the different SPADs. As mentioned above, more than one type of sensor may be implemented (e.g. SiPM and APD). Possibly, sensing unit 106 may include at least one API) integrated into an SiPM array and/or at least one APD detector located next to a SiPM on a separate or common silicon substrate.
In one embodiment, detection elements 402 may be grouped into a plurality of regions 404. The regions are geometrical locations or environments within sensor 116 (e.g. within detector array 400)—and may be shaped in different shapes (e.g. rectangular as shown, squares, rings, and so on, or in any other shape). While not all of the individual detectors, which are included within the geometrical area of a region 404, necessarily belong to that region, in most cases they will not belong to other regions 404 covering other areas of the sensor 310—unless some overlap is desired in the seams between regions. As illustrated in
In the illustrated example, processing unit 108 is located at a separated housing 200B (within or outside) host 210 (e.g. within vehicle 110), and sensing unit 106 may include a dedicated processor 408 for analyzing the reflected light. Alternatively, processing unit 108 may be used for analyzing reflected light 206. It is noted that LIDAR system 100 may be implemented multiple housings in other ways than the illustrated example. For example, light deflector 114 may be located in a different housing than projecting unit 102 and/or sensing module 106. In one embodiment, LIDAR system 100 may include multiple housings connected to each other in different ways, such as: electric wire connection, wireless connection (e.g., RF connection), fiber optics cable, and any combination of the above.
In one embodiment, analyzing reflected light 206 may include determining a time of flight for reflected light 206, based on outputs of individual detectors of different regions. Optionally, processor 408 may be configured to determine the time of flight for reflected light 206 based on the plurality of regions of output signals. In addition to the time of flight, processing unit 108 may analyze reflected light 206 to determine the average power across an entire return pulse, and the photon distribution/signal may be determined over the return pulse period (“pulse shape”). In the illustrated example, the outputs of any detection elements 402 may not be transmitted directly to processor 408, but rather combined (e.g. summed) with signals of other detectors of the region 404 before being passed to processor 408. However, this is only an example and the circuitry of sensor 116 may transmit information from a detection element 402 to processor 408 via other routes (not via a region output circuitry 406).
It is noted that each detector 410 may include a plurality of detection elements 402, such as Avalanche Photo Diodes (APD), Single Photon Avalanche Diodes (SPADs), combination of Avalanche Photo Diodes (APD) and Single Photon Avalanche Diodes (SPADs) or detecting elements that measure both the time of flight from a laser pulse transmission event to the reception event and the intensity of the received photons. For example, each detector 410 may include anywhere between 20 and 5,000 SPADs. The outputs of detection elements 402 in each detector 410 may be summed, averaged, or otherwise combined to provide a unified pixel output.
In the illustrated example, sensing unit 106 may include a two-dimensional sensor 116 (or a plurality of two-dimensional sensors 116), whose field of view is smaller than field of view 120 of LIDAR system 100. In this discussion, field of view 120 (the overall field of view which can be scanned by LIDAR system 100 without moving, rotating or rolling in any direction) is denoted “first FOV 412”, and the smaller FOV of sensor 116 is denoted “second FOV 412” (interchangeably “instantaneous FOV”). The coverage area of second FOV 414 relative to the first FOV 412 may differ, depending on the specific use of LIDAR system 100, and may be, for example, between 0.5% and 50%. In one example, second FOV 412 may be between about 0.05° and 1° elongated in the vertical dimension. Even if LIDAR system 100 includes more than one two-dimensional sensor 116, the combined field of view of the sensors array may still be smaller than the first FOV 412, e.g. by a factor of at least 5, by a factor of at least 10, by a factor of at least 20, or by a factor of at least 50, for example.
In order to cover first FOV 412, scanning unit 106 may direct photons arriving from different parts of the environment to sensor 116 at different times. In the illustrated monostatic configuration, together with directing projected light 204 towards field of view 120 and when least one light deflector 114 is located in an instantaneous position, scanning unit 106 may also direct reflected light 206 to sensor 116. Typically, at every moment during the scanning of first FOV 412, the light beam emitted by LIDAR system 100 covers part of the environment which is larger than the second FOV 414 (in angular opening) and includes the part of the environment from which light is collected by scanning unit 104 and sensor 116.
According to some embodiments, measurements from each detector 410 may enable determination of the time of flight from a light pulse emission event to the reception event and the intensity of the received photons. The reception event may be the result of the light pulse being reflected from object 208. The time of flight may be a timestamp value that represents the distance of the reflecting object to optional optical window 124. Time of flight values may be realized by photon detection and counting methods, such as Time Correlated Single Photon Counters (TCSPC), analog methods for photon detection such as signal integration and qualification a. analog to digital converters or plain comparators) or otherwise.
In some embodiments and with reference to
Detector array 400, as exemplified in
A front side illuminated detector as illustrated in
In the lens configuration illustrated with regards to detection element 402(1), a focal point of the associated lens 422 may be located above the semiconductor surface. Optionally, openings in different metal layers of the detection element may have different sizes aligned with the cone of focusing light generated by the associated lens 422. Such a structure may improve the signal-to-noise and resolution of the array 400 as a whole device. Large metal layers may be important for delivery of power and ground shielding. This approach may be useful, e.g., with a monostatic LiDAR design with a narrow field of view where the incoming light beam is comprised of parallel rays and the imaging focus does not have any consequence to the detected signal.
In the lens configuration illustrated with regards to detection element 402(2), an efficiency of photon detection by the detection elements 402 may be improved by identifying a sweet spot. Specifically, a photodetector implemented in CMOS may have a sweet spot in the sensitive volume area where the probability of a photon creating an avalanche effect is the highest. Therefore, a focal point of lens 422 may be positioned inside the sensitive volume area at the sweet spot location, as demonstrated by detection elements 402(2). The lens shape and distance from the focal point may take into account the refractive indices of all the elements the laser beam is passing along the way from the lens to the sensitive sweet spot location buried in the semiconductor material.
In the lens configuration illustrated with regards to the detection element on the right of
Consistent with the present disclosure, a long path is created for the impinging photons to be absorbed and contribute to a higher probability of detection. Optical trenches may also be implemented in detecting element 422 for reducing cross talk effects of parasitic photons created during an avalanche that may leak to other detectors and cause false detection events. According to sonic embodiments, a photo detector array may be optimized so that a higher yield of the received signal is utilized, meaning, that as much of the received signal is received and less of the signal is lost to internal degradation of the signal. The photo detector array may be improved by: (a) moving the focal point at a location above the semiconductor surface, optionally by designing the metal layers above the substrate appropriately; (b) by steering the focal point to the most responsive/sensitive area (or “sweet spot”) of the substrate and (c) adding a diffuser above the substrate to steer the signal toward the “sweet spot” and/or adding reflective material to the trenches so that deflected signals are reflected back to the “sweet spot.”
While in some lens configurations, lens 422 may be positioned so that its focal point is above a center of the corresponding detection element 402, it is noted that this is not necessarily so. In other lens configuration, a position of the focal point of the lens 422 with respect to a center of the corresponding detection element 402 is shifted based on a distance of the respective detection element 402 from a center of the detection array 400. This may be useful in relatively larger detection arrays 400, in which detector elements further from the center receive light in angles which are increasingly off-axis. Shifting the location of the focal points (e.g., toward the center of detection array 400) allows correcting for the incidence angles. Specifically, shifting the location of the focal points (e.g., toward the center of detection array 400) allows correcting for the incidence angles while using substantially identical lenses 422 for all detection elements, which are positioned at the same angle with respect to a surface of the detector.
Adding an array of lenses 422 to an array of detection elements 402 may be useful when using a relatively small sensor 116 which covers only a small part of the field of view because in such a case, the reflection signals from the scene reach the detectors array 400 from substantially the same angle, and it is, therefore, easy to focus all the light onto individual detectors. It is also noted, that in one embodiment, lenses 422 may be used in LIDAR system 100 for favoring about increasing the overall probability of detection of the entire array 400 (preventing photons from being “wasted” in the dead area between detectors/sub-detectors) at the expense of spatial distinctiveness. This embodiment is in contrast to prior art implementations such as CMOS RGB camera, which prioritize spatial distinctiveness (i.e., light that propagates in the direction of detection element A is not allowed to be directed by the lens toward detection element B, that is, to “bleed” to another detection element of the array). Optionally, sensor 116 includes an array of lens 422, each being correlated to a corresponding detection element 402, while at least one of the lenses 422 deflects light which propagates to a first detection element 402 toward a second detection element 402 (thereby it may increase the overall probability of detection of the entire array).
Specifically, consistent with some embodiments of the present disclosure, light sensor 116 may include an array of light detectors (e.g., detector array 400), each light detector (e.g., detector 410) being configured to cause an electric current to flow when light passes through an outer surface of a respective detector. In addition, light sensor 116 may include at least one micro-lens configured to direct light toward the array of light detectors, the at least one micro-lens having a focal point. Light sensor 116 may further include at least one layer of conductive material interposed between the at least one micro-lens and the array of light detectors and having a gap therein to permit light to pass from the at least one micro-lens to the array, the at least one layer being sized to maintain a space between the at least one micro-lens and the array to cause the focal point (e.g., the focal point may be a plane) to be located in the gap, at a location spaced from the detecting surfaces of the array of light detectors.
In related embodiments, each detector may include a plurality of Single Photon Avalanche Diodes (SPADs) or a plurality of Avalanche Photo Diodes (APD). The conductive material may be a multi-layer metal constriction, and the at least one layer of conductive material may be electrically connected to detectors in the array. In one example, the at least one layer of conductive material includes a plurality of layers. In addition, the gap may be shaped to converge from the at least one micro-lens toward the focal point, and to diverge from a region of the focal point toward the array. In other embodiments, light sensor 116 may further include at least one reflector adjacent each photo detector. In one embodiment, a plurality of micro-lenses may be arranged in a lens array and the plurality of detectors may be arranged in a detector array. In another embodiment, the plurality of micro-lenses may include a single lens configured to project light to a plurality of detectors in the array.
Diagrams A-D in
Based on information about reflections associated with the initial light emission, processing unit 108 may be configured to determine the type of subsequent light emission to be projected towards portion 122 of field of view 120. The determined subsequent light emission for the particular portion of field of view 120 may be made during the same scanning cycle (i.e., in the same frame) or in a subsequent scanning cycle (i.e., in a subsequent frame). This embodiment is described in greater detail below with reference to
In Diagram B, processor 118 may control the operation of light source 112 in a manner such that during scanning of field of view 120 light pulses in different intensities are projected towards a single portion 122 of field of view 120. In one embodiment, LIDAR system 100 may be operable to generate depth maps of one or more different types, such as any one or more of the following types: point cloud model, polygon mesh, depth image (holding depth information for each pixel of an image or of a 2D array), or any other type of 3D model of a scene. The sequence of depth maps may be a temporal sequence, in which different depth maps are generated at a different time. Each depth map of the sequence associated with a scanning cycle (interchangeably “frame”) may be generated within the duration of a corresponding subsequent frame-time. In one example, a typical frame-time may last less than a second. In some embodiments, LIDAR system 100 may have a fixed frame rate (e.g. 10 frames per second, 25 frames per second, 50 frames per second) or the frame rate may be dynamic. In other embodiments, the frame-times of different frames may not be identical across the sequence. For example, LIDAR system 100 may implement a 10 frames-per-second rate that includes generating a first depth map in 100 milliseconds (the average), a second frame in 92 milliseconds, a third frame at 142 milliseconds, and so on.
In Diagram C, processor 118 may control the operation of light source 112 in a manner such that during scanning of field of view 120 light pulses associated with different durations are projected towards a single portion 122 of field of view 120. In one embodiment, LIDAR system 100 may be operable to generate a different number of pulses in each frame. The number of pulses may vary between 0 to 32 pulses (e.g., 1, 5, 12, 28, or more pulses) and may be based on information derived from previous emissions. The time between light pulses may depend on desired detection range and can be between 500 ns and 5,000 ns. In one example, processing unit 108 may receive from sensor 116 information about reflections associated with each light-pulse. Based on the information (or the lack of information), processing unit 108 may determine if additional light pulses are needed. It is noted that the durations of the processing times and the emission times in diagrams A-D are not in-scale. Specifically, the processing time may be substantially longer than the emission time. In diagram D, projecting unit 102 may include a continuous-wave light source. In one embodiment, the initial light emission may include a period of time where light is emitted and the subsequent emission may be a continuation of the initial emission, or there may be a discontinuity. In one embodiment, the intensity of the continuous emission may change over time.
Consistent with some embodiments of the present disclosure, the emission pattern may be determined per each portion of field of view 120. In other words, processor 118 may control the emission of light to allow differentiation in the illumination of different portions of field of view 120. In one example, processor 118 may determine the emission pattern for a single portion 122 of field of view 120, based on detection of reflected light from the same scanning cycle (e.g., the initial emission), which makes LIDAR system 100 extremely dynamic. In another example, processor 118 may determine the emission pattern for a single portion 122 of field of view 120, based on detection of reflected light from a previous scanning cycle. The differences in the patterns of the subsequent emissions may result from determining different values for light-source parameters for the subsequent emission, such as any one of the following.
Consistent with the present disclosure, the differentiation in the subsequent emissions may be put to different uses. In one example, it is possible to limit emitted power levels in one portion of field of view 120 where safety is a consideration, while emitting higher power levels (thus improving signal-to-noise ratio and detection range) for other portions of field of view 120. This is relevant for eve safety, but may also be relevant for skin safety, safety of optical systems, safety of sensitive materials, and more. In another example, it is possible to direct more energy towards portions of field of view 120 where it will be of greater use (e.g. regions of interest, further distanced targets, low reflection targets, etc.) while limiting the lighting energy to other portions of field of view 120 based on detection results from the same frame or previous frame. It is noted that processing unit 108 may process detected signals from a single instantaneous field of view several times within a single scanning frame time; for example, subsequent emission may be determined upon after every pulse emitted, or after a number of pulses emitted.
In addition, processing unit 108 may determine the scanning scheme at least partially by obtaining an identification of at least one region of interest within the field of view 120 and at least one region of non-interest within the field of view 120. In some embodiments, processing unit 108 may determine the scanning scheme at least partially by obtaining an identification of at least one region of high interest within the field of view 120 and at least one region of lower-interest within the field of view 120. The identification of the at least one region of interest within the field of view 120 may be determined, for example, from processing data captured in field of view 120, based on data of another sensor (e.g. camera, GPS), received (directly or indirectly) from host 210, or any combination of the above. In some embodiments, the identification of at least one region of interest may include identification of portions, areas, sections, pixels, or objects within field of view 120 that are important to monitor. Examples of areas that may be identified as regions of interest may include, crosswalks, moving objects, people, nearby vehicles or any other environmental condition or object that may be helpful in vehicle navigation. Examples of areas that may be identified as regions of non-interest (or lower-interest) may be static (non-moving) far-away buildings, a skyline, an area above the horizon and objects in the field of view. Upon obtaining the identification of at least one region of interest within the field of view 120, processing unit 108 may determine the scanning scheme or change an existing scanning scheme. Further to determining or changing the light-source parameters (as described above), processing unit 108 may allocate detector resources based on the identification of the at least one region of interest. In one example, to reduce noise, processing unit 108 may activate detectors 410 where a region of interest is expected and disable detectors 410 where regions of non-interest are expected. In another example, processing unit 108 may change the detector sensitivity, e.g., increasing sensor sensitivity for long range detection where the reflected power is low.
Diagrams A-C in
Additional details and examples on different components of LIDAR system 100 and their associated functionalities are included in Applicant's U.S. patent application Ser. No. 15/391,916 filed Dec. 28, 2016; Applicant's U.S. patent application Ser. No. 15/393,749 filed Dec. 29, 2016; Applicant's U.S. patent application Ser. No. 15/393,285 filed Dec. 29, 2016; and Applicant's U.S. patent application Ser. No. 15/393,593 filed Dec. 29, 2016, which are incorporated herein by reference in their entirety.
Consistent with some embodiment of the present disclosure, the 3D data may be analyzed to monitor retail business processes. In one embodiment, the 3D data may be used in retail business processes involving physical security (e.g., detection of an intrusion within a retail facility, an act of vandalism within or around a retail facility, unauthorized access to a secure area, and suspicious behavior around cars in a parking lot). In another embodiment, the 3D data may be used in public safety (e.g., detection of: people slipping and falling on store property, a dangerous liquid spill or obstruction on a store floor, an assault or abduction in a store parking lot, an obstruction of a fire exit, and crowding in a store area or outside of the store). In another embodiment, the 3D data may be used for business intelligence data gathering (e.g., tracking of people through store areas to determine, for example, how many people go through, where they dwell, how long they dwell, how their shopping habits compare to their purchasing habits).
Consistent with other embodiments of the present disclosure, the 3D data may be analyzed and used for traffic enforcement. Specifically, the 3D data may be used to identify vehicles traveling over the legal speed limit or some other road legal requirement. In one example, LIDAR system 100 may be used to detect vehicles that cross a stop line or designated stopping place while a red traffic light is showing. In another example, LIDAR system 100 may be used to identify vehicles traveling in lanes reserved for public transportation. In yet another example, LIDAR system 100 may be used to identify vehicles turning in intersections where specific turns are prohibited on red.
It should be noted that while examples of various disclosed embodiments have been described above and below with respect to a control unit that controls scanning of a deflector, the various features of the disclosed embodiments are not limited to such systems. Rather, the techniques for allocating light to various portions of a LIDAR FOV may be applicable to type of light-based sensing system (LIDAR or otherwise) in which there may be a desire or need to direct different amounts of light to different portions of field of view. In some cases, such light allocation techniques may positively impact detection capabilities, as described herein, but other advantages may also result.
In addition to determining distances based on reflected pulses, LIDAR systems disclosed herein may further determine the reflectivity of portions of a field of view based on reflected pulses. For example, the intensity of the reflected pulses may be normalized based on determined distances in order to determine reflectivity values. The determined reflectivities may be used for object identification (e.g., using a “reflectivity fingerprint”).
Systems of the present disclosure may provide more detailed feedback than extant systems. For example, LIDAR systems of the present disclosure may output any combination of one or more of: reflectivity (e.g., an illumination level, optionally corrected for distance and the like), surface angles (e.g., based on single pixel information and/or information across pixels), confidence levels (e.g., associated with detections or with other parameters such as reflectivity, surface angles, etc.), ambient light level (e.g., measurements taken without illumination from the LIDAR), properties of detected. objects (e.g., whether the object is metal), or the like. In addition, LIDAR systems of the present disclosure may allow for determination of changes in any of the outputs as compared with one or more previous frames (e.g., changes in reflectivity, changes in confidence levels, changes in ambient light, or the like). In some embodiments, this additional information may be used directly to detect objects and determine properties of detected objects. Additionally or alternatively, this additional information may be used to construct and/or analyze point cloud maps (an example of which is described above with respect to
In some embodiments, objects detected by a LIDAR system may possess reflectivity patterns that allow for identification based on known patterns. For example, other vehicles may possess recognizable reflectivity patterns based on highly reflective components such as headlamps, taillamps, license plates, or the like. By identifying objects using reflectivity patterns, objects may be identified at larger distances and/or with less data than using extant LIDAR identification techniques. Some non-limiting examples of “less data” in the present context include: fewer point-cloud points, point-clouds with lower confidence levels (e.g., of detection, ranges, or other parameters), point-cloud points for which less parameters have been determined, or the like.
As used herein, “reflectivity” may refer to the detection level output by one or more sensors of the LIDAR but may also refer to a detection level that has been corrected or normalized (e.g., corrected for distance between a light source of the LIDAR and a detected object, such as dividing by R or by R2, or the like). By combining (optionally corrected or normalized) reflectivity values with a spatial point cloud map, systems of the present disclosure may allow for more accurate detection, identification and characterization of objects than extant techniques. In addition, systems of the present disclosure may allow for detection, identification and characterization of objects that may otherwise be undetectable and/or unidentifiable with extant techniques. Characterization may include, for example, assessing the spatial dimensions of a detected or identified objects, assessing of its progression direction and velocity, or the like.
At step 701, the at least one processor scans a field of view by controlling movement of at least one deflector at which at least one light source is directed. For example, the at least one processor may control movement of light deflector 114 of
In some embodiments, the at least one processor may further control the at least one light source in a manner enabling light flux of light projected from the at least one light source to vary during scanning of the field of view. For example, the at least one processor may vary the timing of pulses from the at least one light source. Alternatively or concurrently, the at least one processor may vary the length of pulses from the at least one light source. By way of further example, the at least one processor may alternatively or concurrently vary a size (e.g., length or width or otherwise alter a cross-sectional area) of pulses from the at least one light source. In a yet further example, the at least one processor may alternatively or concurrently vary the amplitude and/or frequency of pulses from the at least one light source. In certain aspects, the at least one processor may vary the light flux during a single scan and/or across a plurality of scans. Additionally or alternatively, the at least one processor may vary the light flux across a plurality of regions in the field of view (e.g., during a scan and/or across a plurality of scans).
In some embodiments, method 700 may further include controlling the at least one light deflector such that during a scanning cycle of the field of view, the at least one light deflector instantaneously assumes a plurality of instantaneous positions. In one example, the at least one processor may coordinate the at least one light deflector and the at least one light source such that when the at least one light deflector assumes a particular instantaneous position, a portion of a light beam is deflected by the at least one light deflector from the at least one light source towards an object in the field of view, and reflections of the portion of the light beam from the object are deflected by the at least one light deflector toward at least one sensor. In another example, the at least one light source may comprise a plurality of lights sources aimed at the at least one light deflector, and the at least one processor may control the at least one light deflector such that when the at least one light deflector assumes a particular instantaneous position, light from the plurality of light sources is projected towards a plurality of independent regions in the field of view.
In other embodiments, method 700 may be performed without varying the light flux of the at least one light source. For example, method 700 may be performed with a LIDAR system that is fixed-power rather than variable-power.
Optionally, the at least one processor may further control the at least one light source in a manner enabling modulating the projected light and distinguishing between light reflected from objects in the field of view and light emitted by objects in the field of view. For example, the at least one processor may pulse the at least one light source such that the gap between pulses is sufficiently long to receive light emitted by objects in the field of view without any reflections from objects in the field of view of light emitted by the LIDAR system.
At step 703, the at least one processor receives from at least one sensor signals indicative of light reflected from a particular object in the field of view. For example, the at least one processor may receive the signals from the sensor of the LIDAR system (e.g., sensor 116 of
In other embodiments, one or more processors (e.g., the at least one processor and/or one or more other processors) may first perform one or more operations on the raw signal data. For example, as discussed above, the one or more operations may include correction and/or normalization based on a detected distance for each signal. In another example, the one or more operations may include correction and/or normalization for noise (e.g., based on an expected level of noise, based on a measured level of noise, based on expected signal level and/or based on a measured signal level). In yet another example, the one or more operations may include application of one or more filters (e.g., a low pass filter, a bandpass filter, and/or a high pass filter).
It is noted that steps 701 and 703 are optional, and may alternatively be executed by another system than the system which utilizes the detection results for object classification. For example, steps 701 and/or 703 may be executed by a LIDAR sensing system (e.g., located at the front of a vehicle having the LIDAR system) that may process the sensor detection to provide a 3D model of the surrounding while steps 705, 707, and 709 may be executed by a LIDAR system that may process the inputs to classify object, such as a host system of the vehicle. It is noted that the system which executes steps 705, 707, and 709 may also utilize other sensor inputs (e.g., camera, radar, etc.) to analyze the environment of the vehicle in addition to the LIDAR detection results. In embodiments where steps 701 and 703 are executed by another system, method 700 may alternatively begin with receiving detection results from a LIDAR sensing system including reflectivity information associated with different locations in the environment of the LIDAR sensing system.
At step 705, the at least one processor detects portions of the particular object in the field of view that are similarly spaced from the light source. For example, the detection of the portions of the particular object that are similarly spaced from the light source may be based on time of flight of the received signals (which may be calculated based on a difference between a time of illumination—e.g., a time of sending one or more pulses from the at least one light source—and a time of detection—e.g., a time that one or more reflected pulses are absorbed on the at least one sensor). The detection of the portions of the particular object that are similarly spaced from the light source may additionally or alternatively be based on location information determined for different locations in the environment of the LIDAR system by analysis of the LIDAR detection results (e.g., point-cloud points).
Optionally, the at least one processor may first detect (e.g., identify boundaries of) the particular object. In one example, the at least one processor may construct a point cloud map from the received signals and detect the particular object therewith. In another example, the at least one processor may use one or more properties of the received signals (e.g., brightness, color, etc.) to detect the particular object. In other embodiments, the at least one processor may detect the similarly spaced portions without first detecting the particular object.
As used herein, “similarly spaced” may refer to portions that are at the same distance from the light source or to portions that are at distances from the light source within a particular threshold (e.g., 0.2 m, 1 m, 2 m, within 2% of the shortest distance, 5% of each other, or the like). It is noted that step 705 may additionally or alternatively include detecting the portions of the particular object which—in addition to being similarly spaced from the light source—are also grouped in a relatively small volume. For example, these portions may also be detected in proximate viewing angle of the LIDAR system, (e.g., within a 1°×1° portion of the FOV, within a 2°×2° portion of the FOV) and/or within a limited distance from one another (e.g., less than 1 m, 2 m, 5 m, etc. from one another, in any direction).
At step 707, the at least one processor determines, based on the detected portions, at least a first portion having a first reflectivity corresponding to a license plate, and at least two additional spaced-apart portions corresponding to locations on the particular object other than a location of the first portion, and wherein the at least two additional portions have reflectivity substantially lower than the first reflectivity. For example, the first reflectivity may be within a preset range such that the at least one processor classifies the portion as a license plate. In another example, the first reflectivity may be higher (e.g., two times, five times, etc.) than the reflectivity of a surrounding area, the maximum reflectivity of the surrounding area and/or the rest of the received signals, or a statistical value derived from the received signals or a portion thereof (e.g., corresponding to the surrounding area). The statistical value may include a mean, a median, a standard deviation, or the like.
Optionally, the at least two additional portions may have the same (or substantially the same, e.g., within 2%, within 5%, etc.) reflectivity. In other embodiments, the at least two additional portions may have differing reflectivities, each of which is substantially lower than the first reflectivity. As used herein, “substantially lower” may refer to a value lower as measured by a particular threshold (e.g., at least 20% lower, at least 25% lower, at least 50% lower, or the like). Although having a lower reflectivity value than the first portion, the second portion and the third portion generally have sufficiently high reflectivity to be detected. Optionally, the portions selected as the second portion and third portion (as well as any other potentially selected portion of the particular object) may be required to meet a minimal reflectivity criterion. It is further noted that method 700 may be used for particular objects whose overall reflection is generally low (e.g., because of color, distance from the LIDAR system, weather, or the like) such that only a few portions of the particular object are even detected.
As used herein, “spaced-apart portions corresponding to locations on the particular object other than a location of the first portion” indicates portions that are excluded from each other as well as from the license plate. Furthermore, as used herein, “reflectivity” may refer to reflectivity by active illumination by LIDAR as well as reflectivity at the same wavelength as the LIDAR.
Additionally or alternatively, at step 707, the at least one processor identifies based on the detected portions, at least a first portion having a first reflectivity, a second portion having a second reflectivity, and a third portion having a third reflectivity, and wherein the at least second and third portions have reflectivity substantially lower than the first reflectivity.
At step 709, based on a spatial relationship and a reflectivity relationship between the first portion and the at least two additional portions, the at least one processor classifies the particular object as a vehicle. Accordingly, the spatial relationship and the reflectivity relationship may form a “reflectivity fingerprint” (or a part of a “reflectivity fingerprint”) used to classify the particular object as a vehicle. For example, the spatial relationship may comprise one or more lengths between the first portions and the at least two additional portions (whether center-center, center-edge, edge-edge, or the like), one or more angles between the first portions and the at least two additional portions (or between a connecting line drawn center-center, center-edge, edge-edge, or the like), one or more sizes of the first portions and the at least two additional portions (and/or relations between the one or more sizes), or the like. Meanwhile, the reflectivity relationship may comprise an absolute difference between the first reflectivity and the reflectivities of the at least two additional portions, a scaled difference (e.g., twice, thrice, etc.) between the first reflectivity and the reflectivities of the at least two additional portions, or the like. Additionally or alternatively, the reflectivity relationship may comprise an absolute difference between the second reflectivity and the third reflectivity, a scaled difference (e.g., twice, thrice, etc.) between the second reflectivity and the third reflectivity, or the like.
In one example, the object may be classified as a vehicle when the first portion is between the at least two additional portions. In addition, the object may be classified as a vehicle when the at least two additional portions are located at similar distances from either side of the first portion consistent with expected locations of taillamps (or headlamps).
Additionally or alternatively, at step 709, the at least one processor determines a reflectivity fingerprint of the particular object based on a reflectivity relationship between the first portion, the second portion, and the third portion. As explained above, the reflectivity fingerprint may include the reflectivities of the first portion, the second portion, and the third portion and may further include a spatial relationship between the first portion, the second portion, and the third portion and/or sizes of the first portion, the second portion, and the third portion. In such embodiments, the at least one processor may classify the particular object based on the determined reflectivity fingerprint of the particular object.
Similarly, the at least one processor may use a fingerprint including reflectivity in addition to ambient light level for identification of vehicles. For example, the first portion (corresponding to a license plate) may have high reflectivity while the second and third portions (corresponding to taillamps or headlamps) may have a high ambient light level. In another example, the first portion (corresponding to a license plate) may have high reflectivity as well as a low ambient light level while the second and third portions (corresponding to taillamps or headlamps) may have lower reflectivity and a high ambient light level. These examples may be more accurate and/or efficient for identifying vehicles when taillamps or headlamps are illuminated while using only reflectivity may be more efficient for identifying vehicles when taillamps or headlamps are off. Method 700 may include further steps. For example, method 700 may include determining a distance to the particular object and classifying the particular object based on the determined distance and the spatial relationship between the first portion and the at least two additional portions. For example, the object may be classified as a vehicle if the distance to the particular object is above one threshold and/or below another threshold. In certain aspects, the classification based on the spatial relationship and the reflectivity relationship may depend on the distance to the particular object. For example, a particular spatial relationship and reflectivity relationship may be classified as a vehicle only when the distance to the object is above one threshold and/or below another threshold.
In another example, method 700 may include determining an angle of at least one surface associated with the particular object and classifying the particular object further based on the determined angle and the reflectivity relationship between the first portion and the at least two additional portions. For example, the object may be classified as a vehicle if the angle is above one threshold and/or below another threshold. In certain aspects, the classification based on the spatial relationship and the reflectivity relationship tray depend on the angle. For example, a particular spatial relationship and reflectivity relationship may be classified as a vehicle only when the angle is above one threshold and/or below another threshold. The one or more surface angles may be associated to the first, second or third portions of the particular object, or to any other part thereof. The one or more surface angles may optionally be determined on a pixel-by-pixel basis by the LIDAR system.
In a third example, method 700 may include determining confidence levels for the detected/determined reflectivity of the first portion and/or for at least one of the at least two additional portions and classifying the particular object further based on the one or more determined confidence levels and the reflectivity relationship between the first portion and the at least two additional portions. For example, the object may be classified as a vehicle if one or more of the confidence levels are above one threshold and/or below another threshold. In certain aspects, the classification based on the spatial relationship and the reflectivity relationship may depend on one or more of the confidence levels. For example, a particular spatial relationship and reflectivity relationship may be classified as a vehicle only when one or more of the confidence levels are above one threshold and/or below another threshold.
Optionally, method 700 may include determining a confidence level for the determined reflectivity fingerprint and considering the determined confidence when classifying the particular object. For example, the object may be classified only when the confidence level exceeds a threshold. Additionally or alternatively, the at least one processor may identify multiple possible classifications based on the determined reflectivity fingerprint and select from the possible classifications based on confidence levels associated with the possible classifications.
In yet another example, method 700 may include determining distances from the LIDAR system to the first portion and the at least two additional portions of the particular object and accounting for determined distances when classifying the particular object. For example, the at least one processor may consider an absolute difference between the determined distances, a scaled difference (e.g., twice, thrice, etc.) between the determined distances, or the like. In certain aspects, the classification based on the spatial relationship and the reflectivity relationship may depend on the determined distances. For example, a particular spatial relationship and reflectivity relationship may be classified as a vehicle only when the determined distances are above one threshold, below another threshold, and/or differ by no more or by no less than a threshold (e.g., no more than 20 cm, no more than 3 times, no less than 50 m, no less than 2 times, etc.).
Optionally, step 709 may include classifying the object additionally or alterantively based on its relationship with other objects (or at least other detections) in the FOV. For example, if the particular object is located 15 m above the ground (or a road), it may not be classified as a terrestrial vehicle. In another example, if the particular object is located between lane markings, the object may be classified as a car.
In embodiments using a variable-power LIDAR, upon classifying the particular object as a vehicle, the at least one processor may direct more light in a subsequent scanning cycle towards the particular object. The at least one processor may direct more light only towards a region of the field of view including the particular object or may direct more light toward the field of view in general.
Optionally, method 700 may further include classifying at least one additional object as being an object other than a vehicle, based on a determined reflectivity fingerprint of the at least one additional object. For example, the at least one additional object may be classified as a street sign, a lamppost, a stoplight, a road marking, or the like, depending on a reflectivity fingerprint (described above) of the at least one additional object. It is noted that the reflectivity fingerprints of other types of object may include more than three portions whose reflectivity (and possibly additional parameter) match to a predefined pattern.
Similarly, method 700 may further include classifying a plurality of objects within the field of view and distinguishing between the plurality of objects based on a unique (or at least quasi-unique) reflectivity fingerprint associated with each of the plurality of objects. For example, the at least one processor may distinguish between a street sign, a lamppost, a stoplight, a road marking, or the like, depending on reflectivity fingerprints associated therewith. Classifying objects other than vehicles based on associated reflectivity fingerprints may be implemented in addition to or instead of the classification of other objects in the scene as vehicles.
As discussed above, in addition to classification, reflectivity may be incorporated into a point cloud map constructed based on LIDAR data. The generation of a point cloud in which different reflectivity values (optionally adjusted for distance) may be implemented as part of method 700 or independently. Accordingly, method 700 may further include enabling construction of a 3D map of an environment around the vehicle, the 3D map including data representative of a reflectivity of objects in the field of view. For example, the point cloud map of
In some embodiments, the vehicle on which the LIDAR system is installed (also referred to below as “the host vehicle,” to avoid confusion with the vehicle detected and classified by the LIDAR system) may be at least partially autonomous. Accordingly, method 700 may include causing a change in an operation of the host vehicle based on a type of the particular object. For example, if the particular object is classified as a vehicle, the at least one processor may cause the host vehicle to slow down (by decelerating and/or by braking) and/or change lanes to avoid a collision with the particular object. In another example, if the particular object is classified as a stop sign, the at least one processor may cause the host vehicle to stop at the stop sign. In yet another example, if the particular object is a road marking, the at least one processor may cause a steering adjustment of the vehicle to keep the vehicle within the road marking.
In other embodiments, method 800 may be executed in combination with method 700. For example, one or more of steps 801 through 807 may be executed after step 709 of method 700. In another example, one or more of steps 801 through 807 may be executed in lieu of the execution of steps 705 through 709, and vice versa.
At step 801, the at least one processor determines a reflectivity fingerprint of a particular object based on the reflectivity of the detected portions. As explained above, the reflectivity fingerprint may include the reflectivities of the detected portions and may further include a spatial relationship between the detected portions and/or sizes of the detected portions.
At step 803, the at least one processor accesses memory that stores a plurality of indicators of fingerprints of various objects. For example, a database of reflectivity fingerprints with associated classifications may be accesses. The database may store entire fingerprints or may store one or more unique features (i.e., indicators) of the fingerprints. For example, the database may store indicators indicative of spatial relationship between locations associated with different reflectivities (e.g., a point with high reflectivity positioned substantially in the middle between two points with lower reflectivity, where the reflectivity of the two points is substantially the same, and all three points are separated by areas lacking a detection).
At step 805, the at least one processor compares the reflectivity fingerprint of the particular object with the indicators of fingerprints of various objects stored in memory to identify a match. In some embodiments, a match may comprise a reflectivity fingerprint that maps onto a stored fingerprint (or indicators of the reflectivity fingerprint that map onto stored indicators). In other embodiments, a match may comprise a reflectivity fingerprint that partially maps onto a stored fingerprint (or indicators of the reflectivity fingerprint that partially map onto stored indicators). In such embodiments, the partial mapping may be considered a match only if above a certain threshold (e.g., at least 80% of the indicators match, at least 90% of the fingerprints match, etc.).
At step 807, the at least one processor determines a type of the vehicle based on the identified match. For example, the at least one processor may determine that the vehicle is a minivan, a sport utility vehicle (SUV), a sedan, a semi-truck, or the like. In some embodiments, the at least one processor may determine the type based on a single identified match. In other embodiments, the at least one processor may identify multiple possible matches based on the reflectivity fingerprint and select from the possible matches based on confidence levels associated with the possible matches.
Optionally, method 800 may further include classifying or determining the type of at least one additional object other than a vehicle, based on a determined reflectivity fingerprint of the at least one additional object. For example, the at least one additional object may be classified as a street sign, a lamppost, a stoplight, a road marking, or the like, depending on a reflectivity fingerprint (described above) of the at least one additional object. It is noted that the reflectivity fingerprints of other types of object may include more than three portions whose reflectivity (and/or additional parameters) match one or more predefined patterns.
Although the above examples are described with respect to the use of reflectivity fingerprints, the same embodiments may be employed with respect to other data from the LIDAR system. For example, noise levels, ambient light levels, confidence levels, determined velocity (or other changes in positions and/or size of detected objects), changes in signals or other variables (such as those listed above) across frames, or any combination thereof may be used as fingerprints. In such embodiments, this other data may also be incorporated into a point cloud map with distance information from the LIDAR system. It is noted that methods 700 and 800 may be adapted for utilization of fingerprints based on any combination of one or more of noise levels, ambient light levels, confidence levels, determined velocity (or other changes in positions and/or size of detected objects), changes in signals or other variables (such as those listed above across frames, either in addition to or in lieu of reflectivity, mutatis mutatis mutandis.
In one example, the processor may determine the least one detection-quality value during the same scanning cycle in which the detection information was collected by the detector. In such an example, the processor may output a point cloud model which includes detection-quality value for most or all of the PC points, before a following scanning cycle is finished.
The detection-quality value assigned to each out of one or more points of the PC may be indicative of a likelihood that the point cloud model corresponds to a real-world object located at the respective location identified by the PC point, and is not an erroneous detection. The detection-quality value may be particularly useful when the detected signals did not result from reflection of an object in the respective location inside the FOV (e.g., resulted from emission from the object received by the detector). The detection-quality value is also referred to as “confidence level,” “detection likelihood,” “detection probability.” and “assurance level.”
In different examples, the confidence level may be provided in many different types of data, e.g., high/low; high/medium/low, percent, integer, fraction, and so on. In embodiments where a few discreet levels of confidence are used, different thresholds may be defined between the high and low conference of detection.
The processor (e.g., processor 118) may determine the detection-quality value based on various parameters, either deriving from the detection signal from the respective direction associated with the respective PC point, from a detection signal of another direction in the FOV, from system operational parameters (also referred to as “system configuration,” such as illumination settings/parameters, detectors settings/parameters, etc.), and so on. For example, the processor may be collectively configured to estimate a noise level parameter associated with the direction associated with the detection-quality value and to determine the detection-quality value therefrom. The noise level parameters may be, for example, a signal-to-noise ratio (SNR), an ambient light signal level (e.g., photons/picosecond), system noise level (e.g., amplification noise), and so on.
The determination of the noise level and/or using the noise level parameter for the determination of the detection-quality value may be performed in response to the location of the respective point cloud data point (in the environment and/or in the FOV and/or in the point cloud). For example, if a high-energy signal is detected from a far location, the likelihood of the signal being noise may be relatively low (e.g., assuming that noise sources are relatively uniformly located in different distances), and thus the signal is more likely a reflection signal from a highly reflective object.
System configuration may include a number of repetitions, a number of pulses in a train, laser power, etc. For example, if a given illumination energy toward a direction (e.g., a pixel) is projected in a single burst, in several pulses or as a continuous wave, the noise behavior (and therefore the likelihood of false detection for that pixel) may change. For example, the detection-quality value may be determined based on one or more statistical analyses of reflections of different pulses to the same pixel.
Optionally, the processor may process the PC in view of the one or more detection-quality values determined for different points in the point cloud. For example, the at least one processor may use the determined detection-quality values for detection of objects in the scene, for classification of objects in the scene, for scene understanding, for estimating a state of the LIDAR system, for estimating an environmental condition for the LIDAR system, and so on. It should be noted that while the present disclosure refers mainly to point-cloud as the output 3D model of the LIDAR, other types of 3D models, such as depth maps and polygon meshes, tray also be used.
It is noted that confidence value may be provided by the LIDAR system to any other system for additional processing. For example, confidence values may be provided together with PC, optionally as part of the PC and/or associated with different PC points. In certain aspects, processed confidence values may also be provided together with object detection/classification information. The inclusion of confidence values may facilitate provisioning of more complex object information than extant systems (e.g., indicating that an object is detected at a given location, 99.8% likely a vehicle, 99.2% likely a car, 80% a car facing at direction 314°±3°).
In addition to determining distances based on light reflected from objects in the scene, LIDAR systems disclosed herein may further determine one or more surface angles of objects based on reflected light. In particular, various types of temporal distortions (e.g., “stretching”) of reflected light pulses may be processed to obtain one or more surface angles. The determined angles may be used for navigation (e.g., adjustments based on a detected angle of a road), for object identification or classification (e.g., using a “surface angle fingerprint”), and for various other types of decision making by the LIDAR system or its host (e.g., understanding of its surrounding, planning wave propagation in the space around it, etc.).
Embodiments of the present disclosure may further provide angle information regarding one or more detected objects. For example, one or more surface angles of the identified object may be calculated. In addition to or in lieu of deriving surface angle from differences in distances to different pixels, embodiments of the present disclosure may also allow for determining a surface angle based on reflections signals of a single pixel. The latter determination may be performed, for example, based on a duration (or “temporal stretch”) of a return pulse, indicating one surface angle at the point of reflection. If the system constructs a point cloud map, a second surface angle at the point of reflection may be determined based on the map, or in other ways such as (but not limited to) the ones discussed below. Additionally or alternatively, the latter determination may be performed based on differences in return time to different quadrants of one or more sensors. The different quadrants may be smaller than a SiPM (e.g., the quadrants do not belong to different pixels) but having locations sufficiently distinct to enable calculation of two surface angles at the point of reflection.
At step 1001, the at least one processor controls at least one light source for illuminating a field of view. For example, the at least one processor may activate the light source for deflection by a deflector of the light across the field of view.
In another example, the at least one processor may control the at least one light source in a manner enabling light flux of light projected from the at least one light source to vary during scanning of the field of view. In certain aspects, the at least one processor may vary the timing of pulses from the at least one light source. Alternatively or concurrently, the at least one processor may vary the length of pulses from the at least one light source. By way of further example, the at least one processor may alternatively or concurrently vary a size (e.g., length or width or otherwise alter a cross-sectional area) of pulses from the at least one light source. In a yet further example, the at least one processor may alternatively or concurrently vary the amplitude and/or frequency of pulses from the at least one light source. In certain aspects, the at least one processor may vary the light flux during a single scan and/or across a plurality of scans. Additionally or alternatively, the at least one processor may vary the light flux across a plurality of regions in the field of view (e.g., during a scan and/or across a plurality of scans).
In other embodiments, method 1000 may be performed without varying the light flux of the at least one light source. For example, method 1000 may be performed with a MAR, system that is fixed-power rather than variable-power.
At step 1003, the at least one processor scans a field of view by controlling movement of at least one deflector at which the at least one light source is directed. For example, the at least one processor may control movement of light deflector 114 of
In some embodiments, method 1000 may further include controlling the at least one light deflector such that during a scanning cycle of the field of view, the at least one light deflector instantaneously assumes a plurality of instantaneous positions. In one example, the at least one processor may coordinate the at least one light deflector and the at least one light source such that when the at least one light deflector assumes a particular instantaneous position, a portion of a light beam is deflected by the at least one light deflector from the at least one light source towards an object in the field of view, and reflections of the portion of the light beam from the object are deflected by the at least one light deflector toward at least one sensor. In another example, the at least one light source may comprise a plurality of lights sources aimed at the at least one light deflector, and the at least one processor may control the at least one light deflector such that when the at least one light deflector assumes a particular instantaneous position, light from the plurality of light sources is projected towards a plurality of independent regions in the field of view.
Optionally, the at least one processor may further control the at least one light source in a manner enabling modulating the projected light and distinguishing between light reflected from objects in the field of view and light emitted by objects in the field of view. For example, the at least one processor may pulse the at least one light source such that the gap between pulses is sufficiently long to receive light emitted by objects in the field of view rather than light reflected from objects in the field of view.
It is noted that steps 1001 and 1003 are optional, and may alternatively be executed by another system than the system which utilizes the detection results for determining of angular orientations. For example, steps 1001 and/or 1003 may be executed by a LIDAR sensing system (e.g., located at the front of a vehicle) that may process the sensor detection to provide a 3D model of the surrounding, and steps 1005, 1007, and 1009 may be executed by a LIDAR system that may process these inputs to determine angular orientations for surfaces of objects in the FOV, such as a host system of the vehicle. It is noted that the system which executes steps 1005, 1007, and 1009 may also utilize other sensor inputs (e.g., camera, radar, etc.) to analyze the environment of the vehicle in addition to the LIDAR detection results. In embodiments where steps 1001 and 1003 are executed by another system, method 1000 may alternatively begin with receiving detection results from a LIDAR sensing system including temporal distortion information associated with different locations in the environment of the LIDAR sensing system.
At step 1005, the at least one processor receives from at least one sensor, reflections signals indicative of light reflected from an object in the field of view. For example, the at least one processor may receive the signals from sensor 116 of
In other embodiments, one or more processors (e.g., the at least one processor and/or one or more other processors) may first perform one or more operations on the raw signal data. For example, as discussed above, the one or more operations may include correction and/or normalization based on a detected distance for each signal. In another example, the one or more operations may include correction and/or normalization for noise (e.g., based on an expected level of noise and/or based on an expected. signal level). In yet another example, the one or more operations may include application of one or more filters such as a low pass filter, a bandpass filter, and/or a high pass filter.
Optionally, the at least one processor may additionally process the reflections signals to determine a single detection location and associate the angular orientation (determined in step 1009) with the single detection location. For example, if the angular orientation is calculated for a portion of the road, the at least one processor may determine a location for the portion of the road and associate the angular orientation therewith. In another example, if the angular orientation is calculated for another vehicle, the at least one processor may determine a location for the other vehicle (or part of the other vehicle) and associate the angular orientation with the determined location. Such an association may allow the at least one processor also to calculate a point cloud map including angular orientations associated with one or more points on the map. Accordingly, method 1100 may further include constructing (or at least enabling construction of) a 3D map of the field of view, the 3D map including data indicative of surface angular orientations of objects in the field of view. The angular orientations determined by the processor may correspond to planar surfaces which are either tangent to a respective surface of the object, an average of a portion of the surface, or another estimation of the surface of the object.
In certain aspects, the at least one processor may use additional data to determine the single detection location. For example, the at least one processor may use data from other pulses, determine a peak of a returning pulse, etc. Additionally or alternatively, the received reflection signals that are associated with the single detection location may be detected by a single pixel in the at least one sensor. For example, the at least one processor may use the reflections signals detected by the single pixel and reflections signals detected by adjacent pixels to determine two angles defining a normal of a surface of the object. In certain aspects, the single pixel may correspond to a plurality of detection elements grouped into a plurality of non-overlapping regions, and the at least one processor may determine the temporal distortion by comparing information obtained from reflection signals associated with the plurality of non-overlapping regions. It is noted that while these non-overlapping regions may be completely non-overlapping (i.e., mutually exclusive), in some implementations some overlap may be permitted.
Optionally, the reflection signals received from the at least one sensor may include at least three measurements indicative of time-of-flight of the light reflected from the object. In such embodiments, the at least one processor may determine, based on differences in reception times of the at least three measurements, two angles defining a normal vector of a surface of the at least the portion of the object. In certain aspects, the two angles may include a tilt angle and a roll angle of the surface of the at least the portion of the object. The determination of surface orientation parameters based on the difference in reception timings of at least three measurements is discussed below in greater detail, e.g., with respect to
At step 1007, the at least one processor detects at least one temporal distortion in the reflections signals. As used herein, a “temporal distortion” may refer to a stretching of the return pulse in time (e.g., as compared to an illumination pulse). This temporal distortion may be caused by light returning from more distant parts of the surface later than from nearer parts (the difference in distances being, for example, a result of the surface inclination with respect to an optical axis of the LIDAR system). Additionally or alternatively, “temporal distortion” may refer to a difference in return time to different quadrants of the at least one sensor.
At step 1009, the at least one processor determines from the at least one temporal distortion an angular orientation of at least a portion of the object. In some embodiments, the at least the portion of the object may correspond to a two-dimensional surface. For example, the at least the portion of the object may comprise a bumper of another vehicle, a windshield of another vehicle, a region of a road, a wall of a building, or the like. In some embodiments, the at least one processor may determine angular orientation of the object on a pixel by pixel basis.
Optionally, the at least one detected temporal distortion may be associated with a plurality of reflections from the object. For example, a shape of a first temporal distortion associated with a first angular orientation may differ from a shape of a second temporal distortion associated with a second angular orientation.
In embodiments where the object is an opposing vehicle, the angular orientation may be a slope of a portion of the opposing vehicle. In embodiments where the object is a road, the angular orientation may be a slope of a portion of the road.
Method 1000 may further include additional steps. For example, method 1000 may include causing a change in an operational state of the vehicle based on the detected angular orientation of the portion of the road. For example, if road has inclining angle, the at least one processor may cause the vehicle to accelerate and/or to downshift. In another example, if road has declining angle, the at least one processor may cause the vehicle to decelerate, brake, and/or to downshift.
In another example, method 1000 may further include accessing memory that stores a plurality of distortion patterns, each of the plurality of distortion patterns corresponding to a unique angular orientation, and determining the angular orientation by matching a stored distortion pattern with the at least one detected temporal distortion. For example, the at least one processor may determine a match similar to determining a match as described with respect to step 805 of method 800. Accordingly, method 1000 may include angular orientation determination based on a “distortion fingerprint,” similar to object classification based on a “reflectivity fingerprint,” as described above. The plurality of distortion patterns may be stored in any form of analog or digital memory storage, or a combination of both. Comparison of reflection signals to distortion patterns stored in the form of matched filter, for example, is discussed below in greater detail with respect to
In yet another example, method 1000 may further include determining differing angular orientations of a plurality of objects identified in an environment of the vehicle. For example, the at least one processor may determine an angular orientation of at least part of another vehicle and an angular orientation of at least part of a road.
In a similar example, method 1000 may further include determining differing angular orientations associated with differing surfaces of the object and identifying the object based on the determined angular orientations. For example, the at least one processor may identify the object by matching stored angular orientations with the determined angular orientations. In certain aspects, the at least one processor may determine a match similar to determining a match as described with respect to step 805 of method 800. Accordingly, method 1000 may include object identification based on an “angular orientation fingerprint,” similar to object classification based on a “reflectivity fingerprint,” as described above.
Additionally or alternatively, any of the fingerprints described herein, such as the “angular orientation fingerprint,” “reflectivity fingerprint,” or the like may be run through one or more neural networks to determine a best match or a list of most likely matches (optionally with a confidence level associated with each match in the list). The neural network(s) may be trained using a training set of LIDAR measurement results and/or may continue to increase in accuracy during operation, e.g., by adjusting to minimize one or more loss functions.
In embodiments where two angles are determined for differing surfaces, the at least one processor may classify the object at least in part based on surface angular orientations of two surfaces of the object. Moreover, in embodiments where the vehicle is at least partially autonomous, the at least one processor may cause a change in an operation of the vehicle based on surface angular orientation of the surface of the object. For example, if the object is a barrier and angles toward the vehicle, the at least one processor may cause the vehicle to steer away from the barrier. In another example, if the object is a road marking and angles away from the vehicle, the at least one processor may cause the vehicle to steer towards the marking. Optionally, the processor may cause a change in an operation of the vehicle based on a change in the surface angular orientations of one or more surfaces in the scene. For example, changes in the surface orientations of a remote car detectable only in very few pixels may indicate that a car is turning and may further indicate its direction in turn. Based on such information, the at least one processor may decide to cause an acceleration, deceleration, and/or turning of the host vehicle.
Optionally, the at least one processor may change an operational parameter of the at least one light source based on the determined angular orientation of the at least a portion of the object. For example, the at least one processor may cause increased light flux to be directed to the at least a portion, e.g., in a next scan cycle. Additionally or alternatively, the at least one processor may change an operational parameter of the at least one sensor based on the determined angular orientation of the at least a portion of the object. For example, the at least one processor may cause the at least one sensor to increase or decrease a detection threshold for a region of the field of view including the at least a portion.
In another example, method 1000 may further include using a plurality of matched filters, each matched filter operable to correlate (a) one or more temporal sequences of detected reflection levels and (b) a return-signal hypothesis (also termed a “duration hypothesis”) to provide a correlation output. An example of a LIDAR system having a plurality of filters is depicted in
In embodiments where the object is a road, the at least one processor may process a matching of the temporal sequence of detected reflection levels and a shortest return-signal hypothesis and determine a presence of a road sign marking on a portion of the road. In such embodiments, the portion of the road may be associated with a single pixel, and the at least one processor may determine two different distances for the single pixel. For example, the at least one processor may determine a first distance to the portion of the road and a second distance to the road sign marking on the portion of the road. For example, if a reflectivity of the road marking is higher than that of the road, then the at least one processor may determine the distance to the road marking with higher accuracy that that determined for the portion of the road (e.g., the at least one processor may determine a distance of 50 meters to the portion of the road and determine a distance of 50.2 to the road marking). Further details regarding the detection of lane marking and other road sign marking are provided below.
In embodiments where method 1000 includes enabling construction of a 3D map of the field of view, method 1000 may further include outputting a point cloud (or other 3D model) including different surface angles associated with different points of the model. Accordingly, method 1000 may output the point cloud model in addition to or in lieu of one or more determined angular orientations. In the point cloud, each PC point (out of some or all of the points of the PC) may include information regarding surface angular orientation associated with that specific PC point. Optionally, the surface angular orientation associated with each PC point may be determined by analyzing only the light arriving from the direction of the PC point, without any additional detection information and/or position of neighboring PC points.
It is noted that adjusting the detection of the LIDAR system to account for temporal distortions of the reflected signals (such as stretching of the reflected signal over time) may be used for other determinations in addition to—or instead of—detection of angular orientations. For example, in noisy conditions, correlations between the emitted illumination pulse and the reflected signal may be determined in order to detect parts of the detection signals resulting from actual reflection of the light pulse off an object in the scene rather than from noise, ambient light, etc. However, if the reflected signal is stretched (e.g., slanting of the incidence surface, atmospheric conditions, etc.), a correlation intended to improve detection of actual reflection may—in such cases—hinder detection of the reflected signal. Utilization of a filters bank (e.g., as discussed below with respect to
At step 1101, the at least one processor controls at least one light source for illuminating a field of view. For example, the at least one processor may activate the light source for deflection by a deflector of the light across the field of view.
In another example, the at least one processor may control the at least one light source in a manner enabling light flux of light projected from the at least one light source to vary during scanning of the field of view. In certain aspects, the at least one processor may vary the timing of pulses from the at least one light source. Alternatively or concurrently, the at least one processor may vary the length of pulses from the at least one light source. By way of further example, the at least one processor may alternatively or concurrently vary a size (e.g., length or width or otherwise alter a cross-sectional area) of pulses from the at least one light source. In a yet further example, the at least one processor may alternatively or concurrently vary the amplitude and/or frequency of pulses from the at least one light source. In certain aspects, the at least one processor may vary the light flux during a single scan and/or across a plurality of scans. Additionally or alternatively, the at least one processor may vary the light flux across a plurality of regions in the field of view (e.g., during a scan and/or across a plurality of scans).
In other embodiments, method 1100 may be performed without varying the light flux of the at least one light source. For example, method 1100 may be performed with a LIDAR system that is fixed-power rather than variable-power.
At step 1103, the at least one processor scans a field of view by controlling movement of at least one deflector at which the at least one light source is directed. For example, the at least one processor may control movement of light deflector 114 of
In some embodiments, method 1100 may further include controlling the at least one light deflector such that during a scanning cycle of the field of view, the at least one light deflector instantaneously assumes a plurality of instantaneous positions. In one example, the at least one processor may coordinate the at least one light deflector and the at least one light source such that when the at least one light deflector assumes a particular instantaneous position, a portion of a light beam is deflected by the at least one light deflector from the at least one light source towards an object in the field of view, and reflections of the portion of the light beam from the object are deflected by the at least one light deflector toward at least one sensor. In another example, the at least one light source may comprise a plurality of lights sources aimed at the at least one light deflector, and the at least one processor may control the at least one light deflector such that when the at least one light deflector assumes a particular instantaneous position, light from the plurality of light sources is projected towards a plurality of independent regions in the field of view.
In some embodiments, the at least one processor may further control the at least one light source in a manner enabling modulating the projected light and to distinguish between light reflected from objects in the field of view and light emitted by objects in the field of view. For example, the at least one processor may pulse the at least one light source such that the gap between pulses is sufficiently long to receive light emitted by objects in the field of view rather than light reflected from objects in the field of view.
At step 1105, the at least one processor receive from at least one sensor a reflection signal indicative of light reflected from a portion of a road, wherein the reflection signal spans a first duration. (e.g., above a threshold) and comprising a narrow peak having a maximal amplitude which is at least twice the maximal amplitude of the rest of the reflection signal, wherein the narrow peak spans a second duration which is at least 5 times shorter than the first duration. An example of such a reflection signal is depicted in
At step 1107, the at least one processor determines an angular orientation of the road based on a temporal distortion in the reflection signal. For example, the at least one processor may compare the first duration to the original pulse width and determine the angular orientation based on the comparison. An example of this determination is depicted in
In some embodiments, step 1107 may further include correlating the temporal reflection data to each reference reflection pattern out of a plurality of reference reflection patterns (also termed “return-signal hypotheses” or “duration hypotheses”) of different durations, the plurality of reference reflection patterns including a first reference reflection pattern of a first duration and a second reference reflection pattern of a second duration, longer than the first duration. Accordingly, step 1107 may be performed similarly to the optional correlation of method 1000 (described in paragraph [0240] above). An example of such correlation is depicted in
At step 1109, the at least one processor determines existence of a road-surface marking on the portion of the road based on the narrow peak. For example, the at least one processor may determine that a lane marking and/or a reflector is located at a position from which the narrow peak originated. Such a determination may be possible because, even though a ground-pixel-size for the road may be rather large, the width of the road-surface marking may be relatively constant and partial to the larger pixel, meaning the reflection for the road-surface marking may not stretch over time as other parts of the pixel may. Accordingly, a difference in reflectivity between the road and the road-surface marking may be relatively large.
In some embodiments, an estimate of the distance for the road may be skewed if the reflective pulse for the road is skewed on account of the high reflectivity of the road-surface marking. In such embodiments, the at least one processor may correct distance estimates for the road using the road-surface marking, e.g., by using a more accurate (i.e., not skewed) distance estimate for the road-surface marking.
Method 1100 may further include additional steps. For example, method 1100 may include determining a first distance to the portion of the road and determining a second distance, different than the first distance, for the road sign marking on the portion of the road.
Referring to the example of detecting line marking using temporal analysis of the reflected signals and with respect to the example of
An example of the operation of the filters of
As can be seen in the example of
As further illustrated in the example of
The correlation results in the example of
In addition to (or in lieu of) determining surface angles and reflectivities based on reflected pulses, LIDAR systems disclosed herein may further determine additional measurements, such as object surface composition (e.g., whether metallic, whether including one or more acrylics, etc.) or ambient illumination (e.g., pulses received that are not reflected pulses). In addition, difference between measurements from one frame to another may be used in navigation and object classification. Moreover, any measured value may be assigned a calculated confidence value, as discussed in greater detail below.
As discussed previously, systems of the present disclosure may provide more detailed feedback than extant systems. For example, LIDAR systems of the present disclosure may output reflectivity (discussed above), surface angles (discussed above), confidence levels (discussed below), ambient light level, properties of detected objects (e.g., whether the object is metal), or the like. In addition, LIDAR systems of the present disclosure may allow for determination of changes in any of the outputs as compared with one or more previous frames (e.g., changes in reflectivity, changes in confidence levels, changes in ambient light, or the like). In some embodiments, this additional information may be used directly to detect objects and determine properties of detected objects. Additionally or alternatively, this additional information may be used to construct and/or analyze point cloud maps (an example of which is described above with respect to
In some embodiments, objects detected by a LIDAR system may be classified based on confidence levels associated with one or more measurements (e.g., reflectivities, surface angles, surface composition, or the like). By identifying objects using confidence levels, objects may be classified with greater accuracy than extant LIDAR identification techniques. In addition, systems of the present disclosure may control the LIDAR to direct more light flux towards objects with less confident classifications than objects with more confident classifications, ensuring that power is more efficiently distributed.
Embodiments of the present disclosure that incorporate confidence levels may be particularly advantageous for noisy LIDAR systems and/or environments. Nonetheless, some advantages may be inherent on account of inherent noisiness in the physics and statistics of reflections of few-photons LIDARs.
In embodiments where a point-cloud map is generated, the systems and methods may also rank the different points of the model using confidence levels. In one example, the systems and methods may incorporate the confidence levels for the order of processing the model (e.g., creating anchors in the model based on high confidence (e.g., above a threshold) points, apportioning computational resources to points or areas of high confidence (e.g., above a threshold), etc.).
At step 1701, the at least one processor receives on a pixel-by-pixel basis, a plurality of measurements associated with LIDAR detection results, the measurements including at least one of: a presence indication, a surface angle, object surface physical composition, and a reflectivity level. For example, a “presence indication” may include any indication of the presence of an object (e.g., the presence of non-zero reflection) or distance information to a detected object as measured by the LIDAR. A “surface physical composition” may include one or more indicators of the material composition of an object in the field of view. For example, whether the object is metallic, which metals are included in a metallic alloy, which type (water-based or oil-based) of paint is on an object, or the like may be determined using, e.g., the polarity of the detections. The terms “surface angle” and “reflectivity level” are used consistently with the foregoing description. In addition to—or in lieu of—surface physical composition, physical characteristics of deeper layers of the object may also be determined, e.g. transparency levels, crystal characteristics, etc.
At step 1703, the at least one processor receives on the pixel-by-pixel basis, at least one confidence level associated with each received measurement. The confidence level may include the confidence of detection (e.g., the confidence that an object is present, the confidence of the detected signal itself, or the like), the confidence of a surface angle (e.g., the confidence that the angle is correct, the confidence in the calculated angle in view of the level of reflected data received, or the like), etc.
In some embodiments, the received measurements may include more than one result per pixel and/or have pixels with missing information. Additionally or alternatively, the confidence level of the received measurements may be associated with points of a point-cloud maps rather than pixels. For example, several pixels may be associated with a single point (thus resulting in one confidence level for multiple pixels).
At step 1705, the at least one processor accesses classification information for classifying a plurality of objects. For example, the classification information may be stored on one or more memories. In one example, the classification information may comprise one or more fingerprints based on the one or more measurements and/or confidence levels.
At step 1707, based on the classification information and the received measurements with the at least one associated confidence level, the at least one processor may identify a plurality of pixels as being associated with a particular object. As explained above, the at least one processor may identify the particular object using matching with the accessed classification information (e.g., similar to the matching of step 805 of method 800, described above). Additionally or alternatively, steps 1705 and 1707 may be performed with one or more neural networks such that the at least one processor may use the one or more neural networks to determine the best match (or a list of matches optionally including a confidence level for each match).
As used herein, “classifying” or “identifying” broadly refers to determining an existence of the particular object (e.g., an object may exist in a certain direction with respect to the LIDAR system and/or to another reference location and/or an object may exist in a certain spatial volume). Additionally or alternatively, the “classifying” or “identifying” may refer to determining a distance between the object and another location (e.g., a location of the LIDAR system, a location on earth, or a location of another object). Additionally or alternatively, “classifying” or “identifying” broadly may refer to determining a type of object such as car, plant, tree, road; recognizing a specific object (e.g., the Washington Monument); determining a license plate number; determining a composition of an object e.g., solid, liquid, transparent, semitransparent); determining a kinematic parameter of an object (e.g., whether it is moving, its velocity, its movement direction, expansion of the object); or the like. Additionally or alternatively, “classifying” or “identifying” may include generating a point cloud map in which every point of one or more points of the point cloud map correspond to a location in the object or a location on a face thereof. In one example, the data resolution associated with the point cloud map representation of the field of view may be associated with 0.1°×0.1° or 0.3°×0.3° of the field of view.
As used herein, a “particular object” may refer to a single object (such as a stop sign), a complex object formed of multiple sub-objects (such as a car, formed of a bumper, license plate, headlights, windshield, etc.), or an identifiable portion of an object (such as a road marking on a road or a license plate on a car, etc.). Although described above with respect to object classification, method 1700 may additionally or alternatively be used in clustering, determining boundaries of an object (e.g., as depicted in the example of
In other embodiments, method 1800 may be executed in combination with method 1700. For example, one or more of steps 1801 through 1805 may be executed after step 1705 or step 1707 of method 1700.
At step 1801, the at least one processor receives a plurality of measurements including a plurality of presence indications from multiple portions of the particular object. Additionally or alternatively, the at least one processor may receive a plurality of measurements including a plurality of surface angles from multiple portions of the particular object. Additionally or alternatively, the at least one processor may receive a plurality of measurements including a plurality of reflectivity levels from multiple portions of the particular object.
At step 1803, the at least one processor determines, using the plurality of presence indications and at least one confidence level associated with the plurality of presence indications, a shape of the object. For example, the at least one processor may determine the boundary (and hence the shape) of an object based on an outline of presence indications with high above a threshold) confidence levels. Additionally or alternatively, the at least one processor may determine, using the plurality of surface angles and at least one confidence level associated with the plurality of surface angles, a spatial relationship between the multiple portions of the particular object. For example, the at least one processor may estimate one or more contours of the object (optionally mapping such contours using a point-cloud map) based on surface angles with high (e.g., above a threshold) confidence levels. Additionally or alternatively, the at least one processor may determine, using the differing reflectivity levels, a reflectivity relationship between the multiple portions of the particular object. For example, the at least one processor may determine a reflectivity fingerprint using method 700, method 800, or a combination thereof.
At step 1805, the at least one processor classifies the particular object based at least in part on the shape of the particular object, classifies the particular object based at least in part on the determined spatial relationship, and/or classifies the particular object based at least in part on the determined reflectivity relationship. For example, step 1805 may be performed similarly to step 1707 of method 1700, described above.
In other embodiments, method 1900 may be executed in combination with method 1700 and/or method 1800. For example, one or more of steps 1901 and 1903 may be executed after step 1705 or step 1707 of method 1700 or after step 1803 or step 1805 of method 1800.
At step 1901, the at least one processor obtains an additional measurement associated with a velocity of the particular object. Additionally or alternatively, the at least one processor may obtain an additional measurement of ambient light and at least one confidence level associated with the ambient light associated with the particular object.
At step 1903, the at least one processor classifies the particular object based at least in part on the obtained measurement associated with a velocity of the particular object and/or classifies the particular object based at least in part on the obtained measurement of ambient light associated with the particular object. For example, step 1903 may be performed similarly to step 1707 of method 1700, described above.
Step 1707 of method 1700, step 1805 of method 1800, and step 1903 of method 1900 may be combined in any appropriate manner. For example, the at least one processor may undertake the classification based on received measurements with the at least one associated confidence level in combination with any derived measurements, such as a shape of the particular object, a spatial relationship of the particular object, a reflectivity relationship of the particular object, a velocity of the particular object, ambient light associated with the particular object, or the like. Accordingly, the at least one processor may use a plurality of cascading classifiers on the received measurements, confidence levels, and/or derived measurements to perform the classification. Additionally or alternatively, the at least one processor may determine matches between the received measurements, confidence levels, and/or derived measurements and one or more known fingerprints (e.g., stored in a classification database).
Any of methods 1700, 1800, or 1900 may further include receiving a plurality of measurements including at least one presence indication, at least one surface angle, and at least one reflectivity level from multiple portions of the particular object and classifying the particular object based on the plurality of measurements. Accordingly, as explained above, a plurality of received measurements may be used in combination with confidence levels (and/or with one or more derived measurements) to perform the classification.
In some embodiments, any of methods 1700, 1800, or 1900 may further include determining a type of the particular object as at least one of: a vehicle, a car, a truck, a bus, a pedestrian, a building obstacle, a cyclist, a motorcycle, a traffic sign, a building, a tunnel, a bridge, a tree, an animal, and a hill.
In any of the embodiments described above, any of methods 1700, 1800, or 1900 may further include causing a change in an operational state of the vehicle based on a relative location and the determined type of the classified particular object. For example, if the object is classified as a rock or other hazard ahead of the vehicle, the at least one processor may cause the vehicle to shift around the hazard. In another example, if the object is classified as another vehicle ahead of the vehicle, the at least one processor may cause the vehicle to decelerate or brake.
Additionally or alternatively, any of methods 1700, 1800, or 1900 may further include causing a change of an operational parameter of a light source associated with the LIDAR based on the determined type of the particular object. For example, the at least one processor may cause increased light flux to be directed to the particular object, e.g., in a next scan cycle, when classified as another vehicle. In another example, the at least one processor may cause decreased light flux to be directed to the particular object, e.g., in a next scan cycle, when classified as a pedestrian. Additionally or alternatively, any of methods 1700, 1800, or 1900 may further include causing a change of an operational parameter of a sensor associated with the LIDAR based on the determined type of the particular object. For example, the at least one processor may cause the sensor to increase a detection threshold for a region of the field of view including the particular object classified as a street lamp. In another example, the at least one processor may cause the sensor to decrease a detection threshold for a region of the field of view including the particular object classified as a road.
At step 2001, the at least one processor receives point-cloud information originating from a LIDAR system configured to project light toward the vehicle's surroundings. The point-cloud information may be associated with a plurality of data points, and each data point may include indications of a three-dimensional location and angular information with respect to a reference plane.
As discussed above, the point-cloud information may include a point-cloud map (or a subset thereof) although the information may be received by the at least one processor before or after being used to construct a point-cloud map. For any point-cloud map described herein, each point may be associated with location information of different data points, which may be given in different forms, e.g. (X,Y,Z); (R,θ,φ); (R, pixel identification); etc.
In some embodiments, the received point cloud information may further include a confidence level for each of the measurements.
At step 2003, the at least one processor constructs, from the received point cloud information, a point cloud map of the vehicle's surroundings, wherein the point cloud map is indicative of a shape of a particular object in the vehicle's surroundings and of angular orientations of at least two surfaces of the particular object. In some embodiments, the point cloud map may be further indicative of a reflectivity level of different portions of the particular object. Additionally or alternatively, each pixel data point in the point cloud map may include angular information with respect to a reference plane. In one example, the reference plane may include a road surface or the plane of the field of view. In some embodiments, each data point in the point cloud map may include measurements of at least two of: a presence indication, a surface angle, a reflectivity level, velocity, and ambient light.
At step 2005, the at least one processor accesses object-related classification information. For example, the classification information may be stored on one or more memories.
At step 2007, the at least one processor identifies the particular object based on the information from the point cloud map and the object-related classification information. For example, step 2105 may be performed similar to step 1707 of method 1700, step 1805 of method 1800, step 1903 of method 1900, or any combination thereof.
In some embodiments, step 2007 may include classifying a plurality of pixels as being associated with the particular object. Additionally of alternatively, identifying the particular object may include determining a type of the particular object.
Method 2000 may further include additional steps. For example, method 2000 may further include determining a match by identifying a most likely three-dimensional representation in the classification information that corresponds to the information in the point cloud map. In one example, determining a match may be performed by one or more classifiers (either individual or cascading). Additionally or alternatively, determining a match may be performed similar to determining a match as described with respect to step 805 of method 800. Accordingly, method 2000 may include object identification based on a fingerprint of composite measurements included in a point cloud map similar to object classification based on an “angular orientation fingerprint” and/or a “reflectivity fingerprint,” as described above.
In another example, method 2000 may further include determining that the identified particular object is an object of interest and forwarding the LIDAR an indication of a region of interest that includes the identified particular object. An object of interest may include an object that affects navigation of the vehicle, such as a road marking, another vehicle, a road sign, a road hazard, or the like, Objects not of interest may include lamp posts, storefront signs, or the like. The region of interest may be forwarded to the LIDAR so that, for example, the LIDAR may cause a change of an operational parameter of a light source associated with the LIDAR for the region of interest based on the identification of the particular object, cause a change of an operational parameter of a sensor associated with the LIDAR for the region of interest based on the identification of the particular object, or any combination thereof.
Additionally or alternatively, when a certainty level (e.g., associated with the identification) is under a threshold, method 2000 may include request additional information from the LIDAR. For example, the at least one processor may request previously recorded information of the last frame to improve the identification, request a change in an operational parameter (e.g., associated with a light source, associated with a sensor) the next frame, or a combination thereof.
Accordingly, method 2000 depicts an example of using a “point cloud fingerprint” that combines distance information with one or more parameters to identify and classify objects. A “point cloud fingerprint” may refer to a subset of points in a point cloud map along with any associated parameters (such as reflectivity, surface angle(s), etc.). The “point cloud fingerprint” of method 2000 may be matched similar to other fingerprints disclosed herein (such as a “reflectivity fingerprint” or a “surface angle fingerprint”).
At step 2101, the at least one processor receives a plurality of detection results associated with MAR detection results, each detection result including location information, and further information indicative of at least two of the following detection characteristics: object surface reflectivity; object surface orientation; temporal distortion of a signal reflected from the object (e.g., spreading of the signal); object surface physical composition; ambient illumination measured at a LIDAR dead time; difference in detection information from a previous frame; and confidence level associated with another detection characteristic provided for the detection results (e.g., confidence level associated with object surface physical composition).
In some embodiments, the detection results may include additional information. For example, each detection result may include location information, and further information indicative of at least three of the following detection characteristics: object surface reflectivity; object surface orientation; temporal distortion of a signal reflected from the object (e.g., spreading of the signal); object surface physical composition; ambient illumination measured at a LIDAR dead time; difference in detection information from a previous frame; and one or more confidence levels, each associated with another detection characteristic provided for the detection results (e.g., confidence level associated with object surface physical composition, confidence level associated with the presence of the point cloud, confidence level associated with the angular surface orientation).
At step 2103, the at least one processor accesses classification information for classifying a plurality of objects. For example, the classification information may be stored on one or more memories. In one example, the classification information may comprise a database of known fingerprints (such as reflectivity fingerprints, surface angle fingerprints, point cloud fingerprints, or the like).
At step 2105, based on the classification information and detections results, the at least one processor classifies an object in the vehicle's surroundings. For example, step 2105 may be performed similar to step 1707 of method 1700, step 1805 of method 1800, step 1903 of method 1900, or any combination thereof. In one example, the at least one processor may classify a first object as a car based on the classification information and on a plurality of first detections results; classify a second object as a road based on the classification information and on a plurality of second detections results; and classify a third object as a person based on the classification information and on a plurality of third detections results.
Accordingly, the example of
Although the above examples are described with respect to the use of confidence levels, the same embodiments may be employed with respect to other data from the LIDAR system. For example, noise levels, ambient light levels, confidence levels, determined velocity (or other changes in positions and/or size of detected objects), changes in signals or other variables (such as those listed above) across frames, or any combination thereof may be used as fingerprints. In such embodiments, as discussed above, this other data may also be incorporated into a point cloud map with distance information from the LIDAR system.
In another example, systems of the present disclosure may perform object identification and/or classification using at least two measurements, at least three measurements, or at least four measurements of a presence indication, a surface angle, object surface physical composition, and a reflectivity level. Any of the above combinations may additionally incorporate changes in any of the measurements as compared with one or more previous frames (e.g., changes in reflectivity, changes in confidence levels, changes in ambient light, or the like).
Embodiments described above (e.g., embodiments utilizing one or more measurements, confidence levels, derived measurements, etc.) may be applied to (and improve) other computer vision processes. For example, detection/clustering (e.g., object level from point cloud points) determining bounding boxes of objects, classification of objects/object type, tracking of objects (e.g., between frames), determining object characteristics (e.g., size, direction, velocity, reflectivity, etc.), and the like may all have increased accuracy (and/or efficiency, depending on the implementation) by incorporated additional data such as other measurements and/or confidence levels, as described above.
In some embodiments, confidence levels (also referred to as “detection-quality values”) associated with different detections may be used as part of the considerations of whether or not to include such detections in the point cloud (or other three-dimensional model). The confidence values may be used together with other parameters pertaining to the same detection and/or other parameters pertaining to other detections. For example, the processor may be configured to selectively generate point-cloud point based on information of reflected light information of a detection only if the detection information of the detection complies with decision criteria based on a confidence level associated with the point and optionally with at least one additional condition. The at least one additional condition may relate to any of the other one or more types of information determined for the point (e.g., reflectivity, surface angle, ambient light level, noise level, material properties, etc.). The at least one option may also relate to spatial relationships to other detection locations. For example, the at least one processor may decide that, even though points are generally added to the point cloud model having confidence values above 50%, a higher confidence value (e.g., 75% or more) may be required for detections isolated from other detections (e.g., detections whose distance to the other nearest detection is at least a predetermined distance R, such as 2 meters). In another example, detections with relatively low confidence value may nevertheless be included in the point cloud if other parameters of the detection meet some decision criteria. For example, a detection with a relatively low confidence value but having similar characteristics to neighboring detections (e.g., also metallic and having a similar surface angle) may be included in the point cloud despite its relatively low confidence value.
Referring to the previous examples, in any of the previous examples, the processing of the point cloud may optionally further include using the one or more confidence values associated with a point cloud point (or a pixel) to determine whether to use a specific point cloud point or not and/or how to use the point. Moreover, the processing of the sensor data to generate the point cloud may include determining whether or not to even include such point-cloud points from the beginning, e.g., based on the at least one confidence value and optionally on additional information (such as the spatial relationships with other points). The generation of the point cloud may be executed by the same processor (or sub-processing module) utilizing the point cloud for the detection of objects, but different processors (or processing modules) may additionally or alternatively be used for those different tasks. Any combination of one or more of the aforementioned parameters may be used in the decision of whether or not to include a detection in the point cloud, even without basing the decision on a confidence value associated with the detection (if any). For example, the at least one processor may be configured to selectively generate point-cloud point based on information about reflected light information of a detection but only if the detection information complies with decision criteria based on any one or more of the following: reflectivity, surface angle, ambient light level, noise level, material properties, spatial relationships to other detection locations, parameters of such other detections, any one or more confidence values associated with the detection and/or with neighboring detection, operational settings of the LIDAR during the detection, and so on. The utilization of such parameters when generating the point cloud may save computational resources and time during object detection, identification, and classification.
Although the above examples are described with respect to the use of confidence data for classification, confidence data may also be used in other processes, such as clustering, boundary determination, and the like. For example, points with similar (e.g., within 2%, within 5%, etc.) confidence levels may be grouped together the processor. This clustering may allow for the processor to direct more light flux towards clusters with lower confidence levels rather than towards clusters with higher confidence levels, ensuring that power is more efficiently distributed. In another example, a group of points with similar (e.g., within 2%, within 5%, etc.) confidence levels may form an outline that the processor may determine to be the boundary of an object. The processor may determine the boundary even when points within the boundary have confidence levels that differ significantly from the confidence levels on the boundary.
In any embodiments described above, thresholds may be set at the level of the processor (e.g., after receipt of measurements from one or more sensors) and/or at the level of the sensor(s) (e.g., by configuring the sensor such that measurements below one threshold and/or above another threshold are not detected).
Optionally, a processor of a LIDAR based system (e.g., processor 118 or the like) may utilize different representations of locations of point-cloud points (or, more generally, locations in space determined by processing of the reflection signals of the LIDAR system) in order to detect objects in the FOV of the LIDAR and/or to assess different characteristics of such objects. In particular, the processor may utilize different coordinate systems for different types of computations. The points of the point cloud may be indicated in different coordinates systems, such as Cartesian (x,y,z), spherical (r,θ,φ), cylindrical (p,θ,z), system specific (e.g. (Pixel-ID, Distance)), and so on. The error in location for each point of the point cloud may differ in different coordinates. For example, considering a given location whose position is provided in spherical coordinates, the error in angles (θ and/or φ) may depend on the accuracy of positioning of the at least one deflector (or at least the accuracy of determining the position of the deflector), while the error in distance (R) may depend on the duration of the illumination pulse, on the accuracy of the time-of-flight analysis, and like factors. Likewise, different system considerations may affect errors in other axes of other coordinate systems (e.g. x,y,z,ρ).
In one example, a processor of a LIDAR based system (e.g., processor 118 or the like) may be configured to utilize Cartesian coordinates for the detection locations to determine presence of objects in different locations, for determining of bounding boxes of objects, etc. The utilization of the Cartesian coordinates may be used, for example, in order to easily sum (or otherwise combine) information from different locations which are substantially located one above the other (e.g., differing only in their z coordinate value).
In another example, a processor of a LIDAR based system (e.g., processor 118 or the like) may be configured to utilize cylindrical coordinates for the detection locations to determine presence of objects in different locations, for determining of bounding boxes of objects, etc. The utilization of the cylindrical coordinates may be used, for example, in order to easily sum (or otherwise combine) information from different locations which are substantially located one above the other (e.g., differing only in their z coordinate value).
In a third example, a processor of a LIDAR based system (e.g., processor 118 or the like) may be configured to utilize Cartesian coordinates for the detection locations to compute an angle of a surface of an object in the FOV based on the location of several points of the point cloud. The computation may include determining for each point a z-axis error from a hypothetical plane, and finding a plane which minimizes the collective z-axis errors of all data points (e.g., least means square).
In a fourth example a processor of a LIDAR based system (e.g., processor 118 or the like) may be configured to utilize cylindrical coordinates for the detection locations to compute an angle of a surface of an object in the FOV based on the location of several points of the point cloud. The computation may include determining for each point z-axis distances (or “z-axis errors”) from different hypothetical planes, and finding a plane which minimizes the collective z-axis distances of all data points (e.g., least squares, maximum likelihood estimation, or the like). The angle of the selected plane may be selected as the best matching angle for a surface of the object.
In a fifth example, a processor of a LIDAR based system (e.g., processor 118 or the like) may be configured to utilize spherical coordinates for the detection locations to compute an angle of a surface of an object in the FOV based on the location of several points of the point cloud. The computation may include determining for each point R-direction distances (or “R-direction errors”) from different hypothetical planes (e.g., the distance along the line connecting the point to the origin of axes), and finding a plane which minimizes the collective R-direction distances of all data points (e.g., least squares, maximum likelihood estimation, or the like). The angle of the selected plane may be selected as the best matching angle for a surface of the object.
With regards to the minimization of the collective errors, the estimator function may be a weighted estimation function which in addition to being a function of the error (e.g., squared error, etc.) may also be weighted for any one or more of the following examples: distance from the origin of axis (R) or from another predetermined location; for a projection of that distance on a plane (e.g. ρ) or from another predetermined location; for a projection of that distance on a plane; for an angle of the point (e.g. (φ, θ), etc. Any form of a weighted function may be implemented by one of ordinary skill in the art.
The system receives point cloud (PC) model information as an input. The point cloud model includes information for a plurality of 3D location points (a point whose location corresponds to a location in a three dimensional space). The point cloud may include different types of information for each point (e.g. location, intensity, reflectivity, proximity to other points of the point cloud, etc.). Optionally, other types of input may also be provided to the system, in addition to or in lieu of the PC information. It is noted that other types of 3D models may be used instead of (or in addition to) PC models, such as polygon mesh and range maps. While the discussion below refers to point cloud models as a primary implementations—for reasons of brevity and clarity of the disclosure—it is noted that any of the systems, methods, and computer code programs discussed below may be implemented for any other type of 3D model, mutatis mutandis.
The PC information may be provided to a feature extraction module (denoted “feature extraction” in the drawings), which may process the PC information to provide a plurality of feature images. Each of the feature images may include data which emphasize or provide information regarding different aspects of the point cloud and/or of objects in the scene whose detection is represented in the point cloud (e.g., cars, trees, people, and roads). Optionally, the feature images may be of the same resolution of the point cloud model (i.e., having the same number of data points, optionally arranged into similar sized 2D arrays). The feature image may be stored in any kind of data structure (e.g., raster, vector, 2D array, ID array). Optionally, the feature extraction module may be implemented using a neural network (e.g., a convolutional neural network (CNN)). Nevertheless, other data processing techniques may be used instead. The feature images outputted by the feature extraction module may be further processed by a Region Proposal processing module (e.g., a Region Proposal Neural Network), which processes them to provide identified region(s) of interest. The output region of interests may be regions of the point cloud model (or any image derived therefrom) which the RPN determined may include an object (i.e., the corresponding scene segment—whether 2D or 3D—is likely to include an object, such as a car or a person).
The feature images and the identified region region(s) of interest may be used by a Region-of-Interest (ROI) extraction module to extract from the feature images information from the identified region(s) of interest. For example, the feature extraction module may output 100 feature images, each including, e.g., 200×50 pixels, of which the ROI extraction module may extract one or more series of, e.g., 100 (or less) 8×8 pixel patches—each series corresponding to a single object (or image information suspected as an object). Optionally, the ROI extraction module may be implemented using a neural network (e.g., a CNN). Nevertheless, other data processing techniques may be used instead. The information extracted by the ROI extraction module may be provided to a classification module (which may optionally also serve as a regression module), which may process this information to determine a classification for the suspected object e.g., “car,” “headlight,” “person,” “tree,” “road,” “false detection,” “error,” “unknown”). Optionally, the classification module (or another module of the system) may process the same information to provide a bounding box for the suspected object (e.g., coordinates of a cuboid or another polyhedron which contains the object). It is noted that the classification and/or bounding box may be provided to an object which combines several suspected objects. For example, the detection information may only include detection of headlights of a car, but the bounding box may include the entire car, and be classified as a “car.”
In addition to the components discussed with respect to the LIDAR system of
For example, the “comparator” module may: (a) determine differences between representation of the object(s) in the two models; (b) determine offset between locations of the object (or of an identifiable part thereof) in the two representations; (c) determine translation parameters of the object (or of an identifiable part thereof) in the two representations (e.g. rotation angles, expansion); (d) determine speed of the object (velocity and/or direction). Optionally, the “comparator” module may be implemented using a neural network (e.g., a CNN). Nevertheless, other data processing techniques may be used instead.
Optionally, system 4100 may be able to determine the presence of objects that cannot be detected (at least with a required confidence level) by other LIDAR systems, such as the LIDAR of
Method 4500 and/or system 4100 may implement any one or more of the following: (a) the use of movement classification and regression of every region proposal to use movement features as well; (b) association based on CNN feature outputs; (c) after association, combining features from previous and current frames; (d) concatenating region offset in XY plane to CNN output features; (e) classification and regression based on combined features; and (f) adding a term to the loss function such that the same object in different frames is in similar feature space. Optionally, system 4100 may implement any variation and/or aspect of the embodiments discussed with respect to method 4500. Similarly, method 4500 may implement any variation and/or aspect of the embodiments discussed with respect to system 4100.
Referring to the LIDAR systems of
Referring to method 4500, method 4500 may optionally include processing the first object detection information and/or the second object detection information for assessing a speed of the corresponding object based on a smear and/or blurring resulting from movement of the object during the capturing of the corresponding LIDAR detection information.
The classification of the object in step 4510 may be further based on the smear and/or blurring. Alternatively, classification of an object based on blurring and/or smearing detected in object detection information from a single frame of the LIDAR may also be implemented, mutates mutandis. The LIDAR providing detection information to the LIDAR system of
Certain materials—like metal, glass, and retro-reflectors—have high degree of specular reflection and maintain polarization of the light. Other materials, in comparison, do not maintain polarization. Therefore, LIDAR systems of the present disclosure may use polarization of reflected light to identify and/or classify objects in its field of view. For example, for vehicles, polarization of illumination may be preserved on the vehicle's metal body, glass surfaces, etc. Road signs may also be identified by the polarization characteristics of the retro reflectors they include.
A LIDAR system (such as LIDAR system 100, or any type of LIDAR system, whether scanning or not scanning) may have a light sensor configured to determine polarization characteristics of reflected light signals arriving from the field of view. Optionally, one or more of the at least one light source of the LIDAR system may project, onto the FOV, polarized light. The at least one sensor may provide to the processor, not only the detections signals by which ranges of objects can be determined (e.g., time of flight information), but also information about polarization of light arriving from different parts of the FOV (e.g., from each pixel, or instantaneous FOV). The processor may be configured to process the information of the polarization associated with one or more detection signals (e.g., of one or more pixels)—optionally together with detection information and/or other information, to provide any one or more of the following: (a) identification of one or more objects in the FOV; (b) classification of one or more objects in the FOV (e.g., car, person, moving, still); and (c) additional data pertaining to one or more objects in the FOV (e.g., dimensions, orientation, speed). The processor may apply any type of algorithm and/or hardware to achieve the above products, such as Computer Vision (CV), Machine Learning (ML), Convolutional Neural Network (CNN), Deep Learning (DL), Look-Up Table (LUT), or the like.
The utilization of polarity by the LIDAR system may be implemented in many ways. The following are but a few examples:
In some embodiments, as noted previously, LIDAR system 100 may be incorporated onto a vehicle. Example embodiments of such incorporation are included in PCT Application No. PCT/IB2017/001320, filed Sep. 20, 2017, which is incorporated herein by reference in its entirety. Due to engine operation and motion over roads and other surfaces, a certain amount of vibration may result, and this vibration may interfere with operation of LIDAR system 100. For example, vibrations may be transferred to any of the components of LIDAR system 100 (e.g., light source and/or the light deflector) and may affect their performance and/or the overall performance of the system. Vibrations in a LIDAR system may also result from other causes (e.g., from a carrying platform other than a car, from wind, waves).
In addition to—or alternatively to—vibrations, LIDAR systems may also suffer from uncertainties in positioning of one or more deflectors (e.g., mirrors) or other components. For example, when using a piezo-electrically actuated MEMS mirror, the piezo-electric actuation may include a certain amount of hysteresis, which means that a certain control voltage may not necessarily result in desired positioning of the mirror due to ambiguity in mirror position compared to controlling voltage. Accordingly, a position feedback mechanism may be implemented in a LIDAR system in order to counter such effects (e.g., vibrations or other inaccuracies). Sensors of the position feedback mechanism may be used to obtain data indicative of position, orientation, velocity or acceleration of the at least one light deflector (and/or of another component of the LIDAR system). These determined data regarding the state of the light deflector (or other components) be determined regardless of the reasons for diversions (e.g., vibrations, hysteresis, temperature effects) and/or may be used in the feedback control of the light deflector to improve detection accuracy and operability of the LIDAR system (e.g., in the examples provided below).
As exemplified in
In some cases, vibration/location inaccuracy may be detected based on feedback received from deflector 114. For example, the vibration suppression system of LIDAR system 100 may respond to feedback determined based on mirror position data associated with deflector 114 (e.g., using mirror position feedback sensors illustrated in
The at least one processor may also implement the determined adjustments to the positioning of the at least one light deflector to suppress on the at least one light deflector, at least part of an influence of the vibrations of the vehicle on the scanning of the field of view. LIDAR system 100 may include (and/or may receive information from) any type of sensor capable of measuring at least one characteristic of vibration or an effect of vibration, including, for example, force, acceleration, torque, strain, stress, voltage, optical deflections, etc. Such sensors 3216, 3218, and/or 3219 may be connected to one or more processors associated with LIDAR system 100, either directly or indirectly, via wired or wireless connections and may communicate to the one or more processors of the LIDAR system information indicative of the sensed vibration.
Processing unit 108 of LIDAR system 100 may cause deflector 114 to move in such a way that counteracts at least a portion of the movement/location inaccuracy imparted to deflector 114, light projecting unit 102, sensing unit 106, or any other component of LIDAR system 100 affecting light projection, collection, or detection. For example, in some embodiments, processing unit 108 including one or more processors 118 may monitor the position or orientation of deflector 114, compare the monitored position with an intended instantaneous position/orientation, and, if a difference is determined, may cause deflector 114 to move toward an intended instantaneous position/orientation. Using such a feedback approach, processor 118 may counteract effects of vibrations that tend to displace deflector 114 from its intended position or orientation. In some embodiments, processor 118 may be configured to cause vibration-reducing or cancelling movements to any movable component of MAR system 100 in order to mitigate the effects of sensed vibrations.
Housing 7004 may be a sealed housing that may be manufactured using wafer level packaging or any other technology. Housing 7004 may include a base 7008 made at least partly from silicon or another wafer material. Base 7008 may optionally include some transparent or semi-transparent parts. Optionally, the MEMS mirror may not be parallel to a window of the LIDAR system during any stage of its movement, e.g., for preventing internal reflection by the MEMS mirror and the window, which may generate unwanted light artifacts. These light artifacts may be attenuated and even prevented by providing a window that is not parallel to the MEMS mirror or when the optical axis of the MEMS mirror and the optical axis of the window are not parallel to each other. When either one of the MEMS mirror and the window are curved or have multiple sections that are oriented to each other, it may be beneficial that no part of the MEMS mirror should be parallel to any part of the window. The angle between the window and the MEMS mirror may be set such that the window does not reflect light towards the MEMS mirror when the MEMS mirror is at an idle position or even when the MEMS mirror is moved by any of the actuators. The MEMS mirror assembly (comprised within housing 7004) may optionally include additional layers of the MEMS structure, e.g., as part of the MEMS mirror, as part of it supports, actuation module, etc.
Different parts of the housing may be formed by wafer level packaging. For example, window 7006 may be made from a glass wafer (or another type of transparent wafer) bonded to a wafer on which the MEMS mirror is implemented. Base 7008 may be made from the same wafer as the MEMS mirror or on another wafer bonded to the wafer on which the MEMS mirror is implemented. The wafer of base 7008 is also referred to as “the base wafer” for convenience. Optionally, the frame may be implemented on the same wafer as the MEMS mirror, on the base wafer, or on a combination of both. Optionally, an integrated circuit (IC) may form a bottom region of the housing (e.g., implemented on the base wafer).
An integrated circuitry (IC) implemented as part of housing 7004 (e.g., as part of the base wafer) may be used for different uses and may include one or more processors, one or more sensors, one or more light sources (e.g., LED), one or more power assembly modules, or the like. Optionally, one or more such components may also be connected to the IC after the manufacturing process of the base wafer (e.g., by gluing) and may cooperate with the IC to serve the same function. Optionally, one or more such components may also be implemented on the same wafer as the MEMS mirror, may be connected to the IC after the manufacturing process of the base wafer, and may cooperate with the IC to serve the same function. Some examples of types of modules which may be implemented using IC on the base wafer include: feedback sensors (e.g., detectors), sensing circuits, mirror drivers, and feedback circuits, mirror controller, or the like. The IC on the base wafer is collectively denoted 7010 in the illustrations, for the sake of simplicity of the diagram. Some non-limiting examples of the uses of IC 7010 are discussed below. It is noted that any variation of MEMS mirror (whether provided as an example above or not) may be implemented.
For example, IC 7010 may include a processor configured to determine an instantaneous angular position (e.g., using θ, φ coordinates) of the MEMS mirror. The term “instantaneous angular position” refers to an instantaneous position of the at least one deflector which causes light to be deflected towards (and/or from) a given angular direction (e.g., indicated by θ, φ). Such a determination may be based on at least one of optical measurements, capacitance measurements, piezo resistance measurements, dielectric constant measurement, and piezo polarization measurements from one or more of the vibration sensors associated with the vehicle or LIDAR system 100 (e.g., sensors associated with light deflector 114). Vibrations and inaccuracies of the position of the MEMS mirror may be detected using one or more sensors which may include, for example, one or more accelerometers, strain gauges, or any other type of sensor suitable for sensing vibration or at least one characteristic of vibration.
All of these types of sensing and feedback may be implemented using IC 7010. IC 7010 may also include parts (or all of) a steering unit using for instantaneous directional control of the MEMS mirror. IC 7010 may also include an electrically controllable electromechanical driver (e.g., an actuation driver of the mirror). Such an actuation driver may cause movement or power to be relayed to an actuator/cantilever/bender connected to the MEMS mirror. For example, IC 7010 may include a processor configured to control a position of the MEMS mirror based on received outputs of one or more sensors included in IC 7010 and/or connected to IC 7010. For example, IC 7010 may determine adjustments for countering observed vibrations, which may include computing appropriate axis (θ, φ) parameter adjustments to move the MEMS mirror to an intended instantaneous position. In some cases, these adjustments may include moving the MEMS mirror in order to compensate for computed acceleration, torque, strain, etc. determined based on outputs from sensors associated with the vehicle itself. Optionally, one or more processors implemented in IC 7010 may cooperate with any other processor of the LIDAR system to achieve different goals. For example, a processor external to housing 7004 may provide to IC 7010 operational parameters, instructions, or the like.
The orientation of the MEMS mirror may be monitored by illuminating the backside of the MEMS mirror 7002. It may be beneficial to illuminate at least one area of the MEMS mirror and to sense reflected light in at least three locations. Optionally, LIDAR system 100 may include a dedicated light source for illuminating the back side of the MEMS mirror. The dedicated light source (e.g., LED) may be located behind the mirror (i.e., away from its main reflective sensor used for the deflection of light from the at least one light source 112), e.g., within housing 7004. Alternatively, LIDAR system 100 may include optics to direct light onto the back side of the mirror. In some examples, light directed at the back side of the MEMS mirror (e.g., light of the dedicated light source) may be confined to a backside area of the mirror and prevented from reaching the main reflective side of the MEMS mirror.
The processing of the signals of the back side sensors may be executed by processor 118 and/or by a dedicated circuitry integrated into IC 7010 positioned within housing 7004 of mirror 7002. The processing may include comparing the reflected signals to different back side sensors which may be located within housing 7004 (e.g., as part of IC 7010 or otherwise implemented on and/or connected to the base wafer), subtracting such signals, normalizing such signals, etc. The processing of such signals may be based on information collected during a calibration phase. In some embodiments, illuminating a backside of the MEMS mirror may be implemented when the back of the mirror is substantially uniformly reflective (e.g., a flat back, without reinforcement ribs). However, this is not necessarily the case, and the back of the mirror may be designed to reflect light in a patterned non-uniform way. The patterned reflection behavior of the back side of the mirror may be achieved in various ways, such as surface geometry (e.g., by including protrusions, intrusions), surface textures, differing materials (e.g., silicon, silicon oxide, metal), or the like. Optionally, the MEMS mirror may include a patterned back side, having a reflectivity pattern on at least a part of the back surface of the mirror configured to cast a patterned reflection of the back side illumination (e.g., from the aforementioned back side dedicated light source) onto the back side sensors implemented on the base wafer. The patterned back side may optionally include parts of optional reinforcing elements located at the back of the MEMS mirror. For example, the reinforcing elements may be used to create shadows onto the backside sensors at some angles (and/or to deflect the light to a different angle) such that movement of the mirror changes the reflection on the sensor from shadowed to bright. Optionally, the processing of the outputs of the backside sensors may account for a reflectivity pattern of the backside (e.g., resulting from the pattern of the reinforcement ribs).
In the examples of
Optionally, the IC may include at least one of: a sensor, a feedback sensor, a sensing circuit, a mirror driver, a feedback circuit, and a mirror controller, Optionally, each actuator may include a body and a piezoelectric element. Optionally, the third wafer may be different than the second wafer. Optionally, the housing may be a sealed housing. The MEMS mirror may move with respect to the support frame to which it is connected, and the movement may be induced by the actuators. The actuators may be controlled by the IC, by an external processor, or by a combination of both. Any two or more of the optional embodiments described above may be combined.
Embodiments of the present disclosure may also be implemented in a computer program for running on a computer system, at least including code portions for performing steps of a method according to disclosed embodiments when run on a programmable apparatus, such as a computer system or enabling a programmable apparatus to perform functions of a device or system according to the disclosed embodiments. Embodiments of the present disclosure may also be implemented in a computer program for running on a computer system, at least including code portions that make a computer execute the steps of a method according to the disclosed embodiments.
A computer program is a list of instructions such as a particular application program and/or an operating system. The computer program may for instance include one or more of: a subroutine, a function, a procedure, a method, an implementation, an executable application, an applet, a servlet, a source code, code, a shared library/dynamic load library and/or other sequence of instructions designed for execution on a computer system.
The computer program may be stored internally on a non-transitory computer readable medium. All or some of the computer program may be provided on computer readable media permanently, removably or remotely coupled to an information processing system. The computer readable media may include, for example and without limitation, any number of the following: magnetic storage media including disk and tape storage media; optical storage media such as compact disk media (e.g., CD-ROM, CD-R, etc.) and digital video disk storage media; nonvolatile memory storage media including semiconductor-based memory units such as FLASH memory, EEPROM, EPROM, ROM; ferromagnetic digital memories; MRAM; volatile storage media including registers, buffers or caches, main memory, RAM, etc.
A computer process typically includes an executing (running) program or portion of a program, current program values and state information, and the resources used by the operating system to manage the execution of the process. An operating system (OS) is the software that manages the sharing of the resources of a computer and provides programmers with an interface used to access those resources. An operating system processes system data and user input, and responds by allocating and managing tasks and internal system resources as a service to users and programs of the system.
The computer system may for instance include at least one processing unit, associated memory and a number of input/output (I/O) devices. When executing the computer program, the computer system processes information according to the computer program and produces resultant output information via I/O devices.
Also, embodiments of the present disclosure are not limited to physical devices or units implemented in non-programmable hardware but can also be applied in programmable devices or units able to perform the desired device functions by operating in accordance with suitable program code, such as mainframes, minicomputers, servers, workstations, personal computers, notepads, personal digital assistants, electronic games, automotive and other embedded systems, cell phones and various other wireless devices, commonly denoted in this application as “computer systems.”
However, other modifications, variations and alternatives are also possible. The specifications and drawings are, accordingly, to be regarded in an illustrative rather than in a restrictive sense.
In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim, The word ‘comprising’ does not exclude the presence of other elements or steps then those listed in a claim. Furthermore, the terms “a” or “an,” as used herein, are defined as one or more than one. Also, the use of introductory phrases such as “at least one” and “one or more” in the claims should not be construed to imply that the introduction of another claim element by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim element to embodiments containing only one such element, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an.” The same holds true for the use of definite articles. Unless stated otherwise, terms such as “first” and “second” are used to arbitrarily distinguish between the elements such terms describe. Thus, these terms are not necessarily intended to indicate temporal or other prioritization of such elements. The mere fact that certain measures are recited in mutually different claims does riot indicate that a combination of these measures cannot be used to advantage.
While certain features have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those of ordinary skill in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the disclosed embodiments.
It will be appreciated that the embodiments described above are cited by way of example, and various features thereof and combinations of these features can be varied and modified. For example, listed embodiments and examples, even when numbered, are not necessarily exclusive of each other. Wherever possible, listed embodiments and examples may be combined in any appropriate manner.
While various embodiments have been shown and described, it will be understood that there is no intent to limit the embodiments by such disclosure and examples, but rather, it is intended to cover all modifications and alternate constructions falling within the scope of the disclosed embodiments, as defined in the appended claims.
This application claims the benefit of priority of U.S. Provisional Patent Application No. 62/441,574, filed Jan. 3, 2017; U.S. Provisional Patent Application No. 62/441,578, filed Jan. 3, 2017; U.S. Provisional Patent Application No. 62/441,581, filed Jan. 3, 2017; U.S. Provisional Patent Application No. 62/441,583, filed Jan. 3, 2017; U.S. Provisional Patent Application No. 62/441,606, filed Jan. 3, 2017; U.S. Provisional Patent Application No. 62/441,610, filed Jan. 3, 2017. U.S. Provisional Patent Application No. 62/441,611, filed Jan. 3, 2017; U.S. Provisional Patent Application No. 62/455,627, filed Feb. 7, 2017; U.S. Provisional Patent Application No. 62/456,691, filed Feb. 9, 2017; U.S. Provisional Patent Application No. 62/461,802, filed Feb. 22, 2017; U.S. Provisional Patent Application No. 62/516,694, filed Jun. 8, 2017; U.S. Provisional Patent Application No. 62/521,450, filed Jun. 18, 2017; U.S. Provisional Patent Application No. 62/560,985, filed Sep. 20, 2017; U.S. Provisional Patent Application No. 62/563,367, filed Sep. 26, 2017; U.S. Provisional Patent Application No. 62/567,692, filed Oct. 3, 2017; U.S. Provisional Patent Application No. 62/589,686, filed Nov. 22, 2017; U.S. Provisional Patent Application No. 62/591,409, filed Nov. 28, 2017; and U.S. Provisional Patent Application No. 62/596,261, filed Dec. 8, 2017. All of the foregoing applications are incorporated herein by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
20190318177 A1 | Oct 2019 | US |
Number | Date | Country | |
---|---|---|---|
62596261 | Dec 2017 | US | |
62591409 | Nov 2017 | US | |
62589686 | Nov 2017 | US | |
62567692 | Oct 2017 | US | |
62563367 | Sep 2017 | US | |
62560985 | Sep 2017 | US | |
62521450 | Jun 2017 | US | |
62516694 | Jun 2017 | US | |
62461802 | Feb 2017 | US | |
62456691 | Feb 2017 | US | |
62455627 | Feb 2017 | US | |
62441611 | Jan 2017 | US | |
62441610 | Jan 2017 | US | |
62441606 | Jan 2017 | US | |
62441583 | Jan 2017 | US | |
62441581 | Jan 2017 | US | |
62441578 | Jan 2017 | US | |
62441574 | Jan 2017 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/IB2018/000063 | Jan 2018 | US |
Child | 16456942 | US |