TECHNIQUES FOR USING A SIMPLE NEURAL NETWORK MODEL AND STANDARD CAMERA FOR IMAGE DETECTION IN AUTONOMOUS DRIVING
20200202540 ยท 2020-06-25
Inventors
Cpc classification
B60W50/14
PERFORMING OPERATIONS; TRANSPORTING
B60K2360/179
PERFORMING OPERATIONS; TRANSPORTING
G06T7/277
PHYSICS
G06V20/58
PHYSICS
G05D1/0214
PHYSICS
B60W30/09
PERFORMING OPERATIONS; TRANSPORTING
G06V20/56
PHYSICS
G05D1/0088
PHYSICS
B60W2420/403
PERFORMING OPERATIONS; TRANSPORTING
B60K35/28
PERFORMING OPERATIONS; TRANSPORTING
International classification
G06T7/246
PHYSICS
B60W30/09
PERFORMING OPERATIONS; TRANSPORTING
G06T7/277
PHYSICS
Abstract
An advanced driver assistance system (ADAS) and corresponding method for a vehicle utilize a camera system configured to capture an image and a controller configured to receive the captured image, detect an object in the captured image using a simple neural network model, track the detected object using a tracking technique to obtain a tracked position, project a trajectory of the detected object using a trajectory projection technique to obtain a predicted position, determine a most likely position of the detected object based on at least one of the tracked and predicted positions, generate a two-dimensional (2D) birdview projection illustrating the detected object according to its determined most likely position, and control at least one ADAS feature of the vehicle using the generated 2D birdview projection.
Claims
1. An advanced driver assistance system (ADAS) for a vehicle, the ADAS comprising: a camera system configured to capture an image; and a controller configured to: receive the captured image; detect an object in the captured image using a simple neural network model; track the detected object using a tracking technique to obtain a tracked position; project a trajectory of the detected object using a trajectory projection technique to obtain a predicted position; determine a most likely position of the detected object based on at least one of the tracked and predicted positions; generate a two-dimensional (2D) birdview projection illustrating the detected object according to its determined most likely position; and control at least one ADAS feature of the vehicle using the generated 2D birdview projection.
2. The ADAS of claim 1, wherein the simple neural network model is based on a TensorFlow single shot multi-box detector (SSD) algorithm.
3. The ADAS of claim 2, wherein the detected object is labeled and the simple neural network model is trained using vehicle-to-vehicle transfer learning.
4. The ADAS of claim 1, wherein the tracking technique is based on the Hungarian method and includes applying a deep-sort single hypothesis tracking methodology with recursive Kalman filtering and frame-by-frame data association.
5. The ADAS of claim 4, wherein the recursive Kalman filtering comprises a standard Kalman filter with constant velocity motion and a linear observation model
6. The ADAS of claim 1, wherein the trajectory projection technique comprises using the squared Mahalanobis distance between predicted Kalman states and newly-arrived measurements to build a matching cascade.
7. The ADAS of claim 6, wherein the building of the matching cascade as part of the trajectory projection technique overcomes at least one of object occlusion, hiding, and reformation.
8. The ADAS of claim 1, wherein the controller determines the most likely position of the detected object using a Softmax hub module that calculates a maximum likelihood position based on these tracked and predicted positions
9. The ADAS of claim 1, wherein the controller is configured to generate the 2D birdview projection by determining matrix and distortion parameters of the camera system using a calibration routine, finding a chessboard on a ground plane view for the vehicle and obtaining at least four points at sub-pixel accuracy, using the at least four points to compute a homography matrix for the ground plane view, and using a perspective function to obtain the 2D birdview projection of the ground plane view.
10. The ADAS of claim 1, wherein the at least one ADAS feature comprises collision avoidance during an autonomous driving mode of the vehicle.
11. A method of controlling at least one advanced driver assistance system (ADAS) feature of a vehicle, the method comprising: receiving, by a controller and from a camera system of the vehicle, a captured image; detecting, by the controller, an object in the captured image using a simple neural network model; tracking, by the controller, the detected object using a tracking technique to obtain a tracked position; projecting, by the controller, a trajectory of the detected object using a trajectory projection technique to obtain a predicted position; determining, by the controller, a most likely position of the detected object based on at least one of the tracked and predicted positions; generating, by the controller, a two-dimensional (2D) birdview projection illustrating the detected object according to its determined most likely position; and controlling, by the controller, the at least one ADAS feature of the vehicle using the generated 2D birdview projection.
12. The method of claim 11, wherein the simple neural network model is based on a TensorFlow single shot multi-box detector (SSD) algorithm.
13. The method of claim 12, further comprising labeling the detected object and training the simple neural network model using vehicle-to-vehicle transfer learning.
14. The method of claim 11, wherein the tracking technique is based on the Hungarian method and includes applying a deep-sort single hypothesis tracking methodology with recursive Kalman filtering and frame-by-frame data association.
15. The method of claim 14, wherein the recursive Kalman filtering comprises a standard Kalman filter with constant velocity motion and a linear observation model
16. The method of claim 11, wherein the trajectory projection technique comprises using the squared Mahalanobis distance between predicted Kalman states and newly-arrived measurements to build a matching cascade.
17. The method of claim 16, wherein the building of the matching cascade as part of the trajectory projection technique overcomes at least one of object occlusion, hiding, and reformation.
18. The method of claim 11, wherein the most likely position of the detected object is determined using a Softmax hub module that calculates a maximum likelihood position based on these tracked and predicted positions
19. The method of claim 11, wherein the 2D birdview projection is generated by determining matrix and distortion parameters of the camera system using a calibration routine, finding a chessboard on a ground plane view for the vehicle and obtaining at least four points at sub-pixel accuracy, using the at least four points to compute a homography matrix for the ground plane view, and using a perspective function to obtain the 2D birdview projection of the ground plane view.
20. The method of claim 11, wherein the at least one ADAS feature comprises collision avoidance during an autonomous driving mode of the vehicle.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0016]
[0017]
[0018]
DETAILED DESCRIPTION
[0019] As discussed above, there exists a need for improvement in automated driver assistance (ADAS) systems that detect and track objects from images captures by a camera system. It will be appreciated that the term ADAS as used herein includes driver assistance systems (lane keeping, adaptive cruise control, etc.) as well as partially and fully autonomous driving systems. A conventional ADAS for object detection and tracking utilizes a very deep neural network (DNN) extensively trained by machine learning with annotated (e.g., human labeled) training data. This requires a substantial amount of resources, both from a processing standpoint and a labeled training data standpoint, which increases costs and complexity. A very high resolution camera and/or a very high performance lens is also required, which further increases costs. Accordingly, simplified techniques for object detection and tracking are presented. These techniques perform bounding box detecting and tracking of an object in an image captured by a standard camera/lens system. Trajectory projection is also performed in the event that tracking fails. A two-dimensional (2D) projection is then generated, which illustrates the position of the tracked object. The term birdview as used herein refers to a bird's-eye elevated view of the area surrounding a vehicle (e.g., with a perspective as though the observer was a bird). The position information (and possibly other information, such as velocity/and acceleration) is then utilized by various ADAS features (e.g., collision avoidance during level 4, or L4 autonomous driving).
[0020] Referring now to
[0021] Referring now to
[0022] At 216, object trajectory prediction also occurs while object tracking is occurring. In one exemplary implementation, the object trajectory prediction includes using the squared Mahalanobis distance between predicted Kalman states and newly-arrived measurements to build a matching cascade to overcome occlusion, hiding, and reformation. This is because object tracking could fail in these scenarios. It will be appreciated that other suitable trajectory prediction techniques could be utilized. At 220, a decision is made whether to select the tracked object position 212 or the projected object position from 216. In one exemplary implementation, a Softmax hub module is implemented to make the decision of whether object tracking has failed and the predicted object position based on trajectory prediction should be utilized. In other words, the Softmax hub module could calculate a maximum likelihood position based on these two positions. It will be appreciated that some combination of these positions could also be utilized (e.g., correction of the tracked position based on the predicted position). At 224, a 2D birdview projection is generated that illustrates the final position of the detected object. This 2D birdview projection, for example, is much simpler to process for ADAS features compared to a 3D representation such as a 3D LIDAR point cloud. In one exemplary implementation, camera system matrix and distortion parameters are known from a calibration routine and are used to generate a chessboard floor (e.g., with at least four points at sub-pixel accuracy) to obtain a ground plane image for the vehicle 100 (e.g., use found points to compute a homography matrix for the ground plain view), which is then remapped into the 2D birdview (e.g., using a perspective function). At 228, at least one ADAS feature, such as collision avoidance in an autonomous driving mode, utilizes the 2D birdview projection (the final object position) in its control routine. It will be appreciated that other parameters of the detected object could be determined and utilized by the ADAS feature(s), such as velocity and acceleration.
[0023] Referring now to
[0024] It will be appreciated that the term controller as used herein refers to any suitable control device or set of multiple control devices that is/are configured to perform at least a portion of the techniques of the present disclosure. Non-limiting examples include an application-specific integrated circuit (ASIC), one or more processors and a non-transitory memory having instructions stored thereon that, when executed by the one or more processors, cause the controller to perform a set of operations corresponding to at least a portion of the techniques of the present disclosure. The controller could also include a memory as described above for storing template images. The one or more processors could be either a single processor or two or more processors operating in a parallel or distributed architecture.
[0025] It should be understood that the mixing and matching of features, elements, methodologies and/or functions between various examples may be expressly contemplated herein so that one skilled in the art would appreciate from the present teachings that features, elements and/or functions of one example may be incorporated into another example as appropriate, unless described otherwise above.