Use a single smartphone camera to see:
-
$h$ : the heading of the road -
$d$ : the distance that the vehicle can drive or see forward -
$r$ : the right-side distance that the vehicle can drift -
$l$ : the left-side distance that the vehicle can drift
Specifically:
- The
$h$ is in radians where 0 means the road perfectly aligns with the camera's forward direction (y-axis of the camera image). Positive$h$ implies the road is rotated left, and negative$h$ means the road is rotated right. - The distances
$d, r, l$ are in pixels. The measurement starts from the bottom center image pixel$(W / 2, H)$ for the camera image with width$W$ and height$H$ . Note that$l, r$ could be greater than$W / 2$ to extend the space to the invisible part of the image. Distances$l, r$ could also be negative, meaning that the vehicle should steer to avoid some obstacles. - For basic models,
$l$ could be 0, so we only detect the right-side distance. - The trapezoid (projected rectangle) defined by
$(h, d, r, l)$ in the camera image should be free of any obstacles (cars, trucks, pedestrians, curbs) or lane boundaries we can't cross.
Additionally, we also detect some camera parameters:
-
$H_0$ : the height of the horizon in pixels from the bottom center of the image -
$R_0$ : the rotation of the horizon line in radian (0 means purely horizontal)
That is, the horizon line in the image should go through
For
The
In the future, we could also return a list of