Determining error measures associated with map data projections and sensor data detections
Techniques for determining a match prediction associated with image data and map data associated with a vehicle environment are described herein. In some cases, the techniques described herein enable determining the match prediction based on: (i) an image segment that represents at least a portion of a lane marking as detected based on the image data, and (ii) a map segment that represents at least a portion of a lane marking as determined based on the map data. In some cases, to determine the match prediction, an example system determines: (i) a set of first errors between map points associated with the map segment and the image segment, and (ii) a set of second errors between image points associated with the image segment and the map segment.
1 . One or more non-transitory computer-readable media storing instructions executable by one or more processors, wherein the instructions, when executed, cause the one or more processors to perform operations comprising:
receiving sensor data representing an environment associated with a vehicle;
receiving map data representing the environment in which the vehicle is navigating, the map data representing a map segment associated with a lane marking and the map segment defined by a first map point and a second map point;
detecting, based at least in part on the sensor data, a sensor data segment defined by a first image point and a second image point;
defining a plane based at least in part on the first image point and the second image point, wherein defining the plane comprises:
outputting the plane to span at least the sensor data segment and to include a pre-defined center point;
determining a first error based at least in part on a shortest distance from the first map point of the map segment to the plane defined the first image point and the second image point of the sensor data segment;
determining a second error based at least in part on the first map point and the first image point, wherein determining the second error is based on a shortest distance from the map segment to a line that extends along a ray passing through the first image point; and
controlling the vehicle based at least in part on the first error and the second error.
2 . The one or more non-transitory computer-readable media of claim 1 , the operations further comprising:
detecting, based at least in part on the sensor data, a plurality of sensor data segments comprising the sensor data segment and a second sensor data segment;
determining a third error based at least in part on the first map point and the second sensor data segment;
determining, based at least in part on the first error and the third error, whether the first map point matches one of the plurality of sensor data segments;
determining a first match error associated with the first map point based on at least in part on: (i) whether the first map point matches one of the plurality of sensor data segments, and (ii) a minimum error associated with the first map point in relation to the plurality of sensor data segments; and
controlling the vehicle based on the first match error.
3 . The one or more non-transitory computer-readable media of claim 1 , the operations further comprising:
determining, based at least in part on the map data, a plurality of map segments comprising the map segment and a second map segment;
determining a fourth error based at least in part on the first image point and the second map segment;
determining, based at least in part on the second error and the fourth error, whether the first image point matches one of the plurality of map segments;
determining a second match error associated with the first image point based on at least in part on: (i) whether the first image point matches one of the plurality of map segments, and (ii) a minimum error associated with the first image point in relation to the plurality of map segments; and
controlling the vehicle based on the second match error.
4 . The one or more non-transitory computer-readable media of claim 1 , the operations further comprising:
detecting, based on the sensor data, the first image point and the second image point;
determining a spline function based at least in part on the first image point and the second image point; and
determining the sensor data segment based on the spline function.
5 . The one or more non-transitory computer-readable media of claim 1 , the operations further comprising:
detecting, based on the sensor data, a sequence of sensor data segments comprising the sensor data segment;
determining that the sensor data segment is at least one of an initial sensor data segment or a last sensor data segment in the sequence; and
determining the sensor data segment based on a line segment that passes through one of the first image point or the second image point and ends at another one of the first image point or the second image point.
6 . The one or more non-transitory computer-readable media of claim 1 , the operations further comprising:
determining, based on the map data, a sequence of map segments comprising the map segment;
determining that the map segment is at least one of an initial map segment or a last map segment in the sequence; and
determining the map segment based on a line segment that passes through one of the first map point or the second map point and ends at another one of the first map point or the second map point.
7 . The one or more non-transitory computer-readable media of claim 1 , wherein determining the first error further comprises:
projecting, as a projected map point, the first map point onto the plane; and
determining whether the projected map point is within the sensor data segment.
8 . The one or more non-transitory computer-readable media of claim 7 , wherein determining the first error further comprises:
based on determining that the point falls outside the sensor data segment, determining the first error as the lesser of:
a shortest distance from a ray passing through the first image point to the first map point, or
a shortest distance from a ray passing through the second image point to the first map point.
9 . The one or more non-transitory computer-readable media of claim 1 , wherein determining the second error comprises:
determining the second error based at least in part on a shortest distance from the first map point to the line defined by the ray.
10 . The one or more non-transitory computer-readable media of claim 9 , wherein determining the second error further comprises:
determining whether a point of contact of the line with a second line that extends along the map segment is within the map segment.
11 . The one or more non-transitory computer-readable media of claim 10 , wherein determining the second error further comprises:
based on determining the point of contact is outside the sensor data segment, determining the first error as the lesser of:
a shortest distance from the ray to the first map point, or
a shortest distance from the ray to the second map point.
12 . A method comprising:
receiving sensor data representing an environment associated with a vehicle;
receiving map data representing the environment in which the vehicle is navigating, the map data representing a map segment associated with a lane marking and the map segment defined by a first map point and a second map point;
detecting, based at least in part on the sensor data, a sensor data segment defined by a first image point and a second image point;
defining a plane based at least in part on the first image point and the second image point, wherein defining the plane comprises:
outputting the plane to span at least the sensor data segment and to include a pre-defined center point;
determining a first error based at least in part on a shortest distance from the first map point of the map segment to the plane defined the first image point and the second image point of the sensor data segment;
determining a second error based at least in part on the first map point and the first image point, wherein determining the second error is based on a shortest distance from the map segment to a line that extends along a ray passing through the first image point; and
controlling the vehicle based at least in part on the first error and the second error.
13 . The method of claim 12 , further comprising:
detecting, based at least in part on the sensor data, a plurality of sensor data segments comprising the sensor data segment and a second sensor data segment;
determining a third error based at least in part on the first map point and the second sensor data segment;
determining, based at least in part on the first error and the third error, whether the first map point matches one of the plurality of sensor data segments;
determining a first match error associated with the first map point based on at least in part on: (i) whether the first map point matches one of the plurality of sensor data segments, and (ii) a minimum error associated with the first map point in relation to the plurality of sensor data segments; and
controlling the vehicle based on the first match error.
14 . The method of claim 12 , further comprising:
determining, based at least in part on the map data, a plurality of map segments comprising the map segment and a second map segment;
determining a fourth error based at least in part on the first image point and the second map segment;
determining, based at least in part on the second error and the fourth error, whether the first image point matches one of the plurality of map segments;
determining a second match error associated with the first image point based on at least in part on: (i) whether the first image point matches one of the plurality of map segments, and (ii) a minimum error associated with the first image point in relation to the plurality of map segments; and
controlling the vehicle based on the second match error.
15 . A system comprising:
one or more processors; and
one or more non-transitory computer-readable media storing computer-executable instructions that, when executed, cause the one or more processors to perform operations comprising:
receiving sensor data representing an environment associated with a vehicle;
receiving map data representing the environment in which the vehicle is navigating, the map data representing a map segment associated with a lane marking and the map segment defined by a first map point and a second map point;
detecting, based at least in part on the sensor data, a sensor data segment defined by a first image point and a second image point;
defining a plane based at least in part on the first image point and the second image point, wherein defining the plane comprises:
outputting the plane to span at least the sensor data segment and to include a pre-defined center point;
determining a first error based at least in part on a shortest distance from the first map point of the map segment to the plane defined the first image point and the second image point of the sensor data segment;
determining a second error based at least in part on the first map point and the first image point, wherein determining the second error is based on a shortest distance from the map segment to a line that extends along a ray passing through the first image point; and
controlling the vehicle based at least in part on the first error and the second error.
16 . The system of claim 15 , the operations further comprising:
detecting, based at least in part on the sensor data, a plurality of sensor data segments comprising the sensor data segment and a second sensor data segment;
determining a third error based at least in part on the first map point and the second sensor data segment;
determining, based at least in part on the first error and the third error, whether the first map point matches one of the plurality of sensor data segments;
determining a first match error associated with the first map point based on at least in part on: (i) whether the first map point matches one of the plurality of sensor data segments, and (ii) a minimum error associated with the first map point in relation to the plurality of sensor data segments; and
controlling the vehicle based on the first match error.
17 . The system of claim 15 , the operations further comprising:
determining, based at least in part on the map data, a plurality of map segments comprising the map segment and a second map segment;
determining a fourth error based at least in part on the first image point and the second map segment;
determining, based at least in part on the second error and the fourth error, whether the first image point matches one of the plurality of map segments;
determining a second match error associated with the first image point based on at least in part on: (i) whether the first image point matches one of the plurality of map segments, and (ii) a minimum error associated with the first image point in relation to the plurality of map segments; and
controlling the vehicle based on the second match error.
18 . The system of claim 15 , the operations further comprising:
detecting, based on the sensor data, the first image point and the second image point;
determining a spline function based at least in part on the first image point and the second image point; and
determining the sensor data segment based on the spline function.
19 . The system of claim 15 , the operations further comprising:
detecting, based on the sensor data, a sequence of sensor data segments comprising the sensor data segment;
determining that the sensor data segment is at least one of an initial sensor data segment or a last sensor data segment in the sequence; and
determining the sensor data segment based on a line segment that passes through one of the first image point or the second image point and ends at another one of the first image point or the second image point.
20 . The system of claim 15 , wherein determining the first error further comprises:
projecting, as a projected map point, the first map point onto the plane; and
determining whether the projected map point is within the sensor data segment.