Systems and methods for scene understanding
This document discloses system, method, and computer program product embodiments for generating a possible object trajectory. For example, the method includes: analyzing sensor data to detect a moving object in an environment and at least one obstacle that the moving object is unable to traverse; generating a definition for a location of the obstacle in the environment in terms of reference frames defined for a lane and distances from a left boundary of the lane to edges of the obstacle; using the definition for the location of the obstacle and known dimensions of the moving object to detect any free space around the obstacle through which the moving object can traverse; and generating the possible object trajectory based on the detection of any free space.
1 . A method for a vehicle, comprising:
analyzing, by a processor of the vehicle, sensor data to detect a moving object in an environment and at least one obstacle that the moving object is unable to traverse;
generating, by the processor, a definition for a location of the obstacle in the environment in terms of reference frames defined for a lane and distances from a left boundary of the lane to edges of the obstacle;
using, by the processor, the definition for the location of the obstacle and known dimensions of the moving object to detect any free space around the obstacle through which the moving object can traverse;
generating, by the processor, a possible object trajectory based on the detection of any free space;
generating, by the processor, a vehicle trajectory based on the object trajectory; and
performing operations, by the processor, to control the vehicle to follow the vehicle trajectory.
2 . The method according to claim 1 , further comprising performing operations, by the processor, to control the vehicle based on the possible object trajectory.
3 . The method according to claim 1 , wherein the free space resides entirely inside a drivable area within boundaries of a roadway, when the moving object is classified as a moving vehicle.
4 . The method according to claim 1 , wherein the free space resides inside or outside of a drivable area within boundaries of a roadway, when the moving object is classified as a cyclist or pedestrian.
5 . The method according to claim 1 , wherein the possible object trajectory veers the moving object around the obstacle when free space is detected or does not veer the moving object around the obstacle when no free space is detected.
6 . The method according to claim 1 , wherein each said reference frame defines a 2D space in the lane in terms of a coordinate on a frame axis and coordinates on a distance axis, the frame axis extending perpendicular to the distance axis and the distance axis extending from the left boundary of the lane to a right boundary of the lane.
7 . The method according to claim 6 , wherein an origin of the distance axis is aligned with the left boundary of the lane and has a variable location on the distance axis when the left boundary of the lane curves or bends.
8 . The method according to claim 1 , further comprising generating the definition by identifying at least one first reference frame that intersects the obstacle and at least one second reference frame which is closest to the obstacle without intersecting the obstacle.
9 . The method according to claim 8 , wherein generating the definition further comprises: obtaining at least one first distance from the left boundary of the lane to a point on a left
edge of the obstacle and at least one second distance from the left boundary of the lane to a point on a right edge of the obstacle; and
arranging an identifier for the at least one first reference frame, an identifier for the at least one second reference frame, the at least one first distance and the at least one second distance to provide the definition.
10 . The method according to claim 8 , wherein generating the definition further comprises: obtaining a first distance from the left boundary of the lane to a first corner of the
obstacle, a second distance from the left boundary of the lane to a second corner of the obstacle, a third distance from the left boundary of the lane to a third corner of the obstacle, and a fourth distance from the left boundary of the lane to a fourth corner of the obstacle; and
arranging an identifier of the at least one first reference frame, an identifier of the at least one second reference frame, the first distance, the second distance, the third distance and the fourth distance to provide the definition.
11 . The method according to claim 8 , wherein generating the definition further comprises: obtaining a minimum distance from the left boundary of the lane to a left side of the
obstacle and a maximum distance from the left boundary of the lane to a right side of the obstacle; and
arranging an identifier of the at least one first reference frame, an identifier of the at least one second reference frame, the minimum distance and the maximum distance to provide the definition.
12 . The method according to claim 1 , wherein generating the definition comprises using a 2D rectangle encompassing the obstacle and at least one other obstacle in the environment, the obstacle and at least one other obstacle being sequentially arranged in terms of reference frames, associated with two same consecutive reference frames, and overlapped in terms of distance from the left boundary.
13 . A system, comprising: a memory; and
at least one processor coupled to the memory and configured to:
analyze sensor data to detect a moving object in an environment and at least one obstacle that the moving object is unable to traverse;
generate a definition for a location of the obstacle in the environment in terms of reference frames defined for a lane and distances from a left boundary of the lane to edges of the obstacle;
use the definition for the location of the obstacle and known dimensions of the moving object to detect any free space around the obstacle through which the moving object can traverse;
generate the possible object trajectory based on the detection of any free space;
generate a vehicle trajectory for a vehicle based on the object trajectory; and
perform operations to control the vehicle to follow the vehicle trajectory.
14 . The system according to claim 13 , wherein the free space resides (i) entirely inside a drivable area when the moving object is classified as a moving vehicle, or (i) inside or outside of a drivable area when the moving object is classified as a cyclist or pedestrian, the drivable area being within the boundaries of the roadway.
15 . The system according to claim 13 , wherein the possible object trajectory veers the moving object around the obstacle when free space is detected or does not veer the moving object around the obstacle when no free space is detected.
16 . The system according to claim 13 , wherein each said reference frame defines a 2D space in the lane in terms of a coordinate on a frame axis and coordinates on a distance axis, the frame axis extending perpendicular to the distance axis and the distance axis extending from the left boundary of the lane to a right boundary of the lane.
17 . The system according to claim 16 , wherein an origin of the distance axis is aligned with the left boundary of the lane and has a variable location on the distance axis when the left boundary of the lane curves or bends.
18 . The system according to claim 13 , wherein the at least one processor is further configured to generate the definition by identifying at least one first reference frame that intersects the obstacle and at least one second reference frame which is closest to the obstacle without intersecting the obstacle.
19 . The system according to claim 13 , wherein the definition is generated using a 2D rectangle encompassing the obstacle and at least one other obstacle in the environment, the obstacle and at least one other obstacle being sequentially arranged in terms of reference frames, associated with two same consecutive reference frames, and overlapped in terms of distance from the left boundary.
20 . A non-transitory computer-readable medium that stores instructions that is configured to, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:
analyzing sensor data to detect a moving object in an environment and at least one obstacle that the moving object is unable to traverse;
generating a definition for a location of the obstacle in the environment in terms of reference frames defined for a lane and distances from a left boundary of the lane to edges of the obstacle;
using the definition for the location of the obstacle and known dimensions of the moving object to detect any free space around the obstacle through which the moving object can traverse;
generating the possible object trajectory based on the detection of any free space;
generating a vehicle trajectory for a vehicle based on the object trajectory; and
performing operations to control the vehicle to follow the vehicle trajectory.