1 # Copyright (c) 2017, NVIDIA CORPORATION. All rights reserved.
3 @page dwx_object_tracker_drivenet_sample DriveNet Sample
5 The DriveNet sample is a sophisticated, multi-class, higher
6 resolution example that uses the NVIDIA proprietary deep neural
7 network (DNN) to perform object detection. For a simpler, basic,
8 single-class example, see [Object Detector using dwDetector](@ref dwx_object_dwdetector).
10 The DriveNet sample shows a more complete and sophisticated implementation of
11 object detection built around the NVIDIA proprietary network architecture. It provides
12 significantly enhanced detection quality when compared to @ref dwx_object_dwdetector.
13 For more information on DriveNet and how to customize it for your applications,
14 consult your NVIDIA sales or business representative.
16 
18 The table below shows the differences between @ref dwx_object_dwdetector and DriveNet:
20 | | Basic Object Detector (dwDetector) | DriveNet |
21 |-------------|------------|------------|
22 | Input Video Format | H.264 RGB | RAW video (RCCB fp16) or RCCB live camera |
23 | Detection Quality | Basic | High quality |
24 | Object Classes | Car/truck only | Car/truck, person, bicycle/motorcycle, road sign |
25 | Network | GoogLeNet-derived, network structure available as prototxt | NVIDIA proprietary DriveNet architecture |
26 | Conditions Supported | Daytime, clear weather | Daytime, clear weather |
27 | Post-processing for False Positive Reduction | Basic | More advanced, confidence model-based |
28 | Object tracking over time | Enabled | Enabled |
29 | Camera position supported | Front | Front, rear, or side |
31 DriveNet detects objects by performing inference on each frame of a RAW video/camera stream.
32 It clusters and tracks the objects with parameters defined in the sample.
34 Depending on the run platform, this sample supports Camera and Video modes:
35 - On NVIDIA DRIVE<sup>™</sup> platforms: Camera and Video
36 - On Linux: only Video
38 The DriveNet sample expects RAW video or live camera input data from an AR0231 (revision >= 4) sensor with an RCCB color filter
39 and a resolution of 1920 x 1208, which is then cropped and scaled down by half to 960 x 540 in typical
42 The DriveNet sample uses foveal detection mode. It sends two images to the DriveNet network:
43 - One image is the full resolution original RCB_fp16 camera frame. In the above image,
44 a blue bounding box identifies this region.
45 - The other image is the cropped center-region of the original image. In the above image,
46 a yellow bounding box identifies this region. DriveNet retains the region's
47 aspect ratio by internally scaling the cropped region to fit the network input
50 A follow-up algorithm clusters detections from both images to compute a more
55 @note The version of DriveNet included in this release is optimized for daytime, clear-weather data. It
56 does not perform well in dark or rainy conditions.
59 The DriveNet network is trained to support any of the following six camera configurations:
60 * Front camera location with a 60° field of view
61 * Rear camera location with a 60° field of view
62 * Front-left camera location with a 120° field of view
63 * Front-right camera location with a 120° field of view
64 * Rear-left camera location with a 120° field of view
65 * Rear-right camera location with a 120° field of view
67 The DriveNet network works on any of the above camera positions, without additional configuration changes.
69 The DriveNet network is trained primarily on data collected in the United States. It may have reduced
70 accuracy in other locales, particularly for road sign shapes that do not exist in the U.S.
74 ### To run the sample on a video on NVIDIA DRIVE platforms
76 ./sample_drivenet --input-type=video --video=<video file.raw>
78 ### To run the sample on a camera on NVIDIA DRIVE platforms
80 ./sample_drivenet --input-type=camera --camera-type=<rccb camera type> --csi-port=<csi port> --camera-index=<camera idx on csi port>
82 where `<rccb camera type>` is one of the following: `ar0231-rccb`, `ar0231-rccb-ssc`, `ar0231-rccb-bae`, `ar0231-rccb-ss3322`, `ar0231-rccb-ss3323`
84 ### To run the sample on Linux
86 ./sample_drivenet --video=<video file.raw> --stopFrame=<frame idx>
88 This runs `sample_drivenet` until frame `<frame_idx>`. Default value is 0, for which the sample runs endlessly.
92 The sample creates a window, displays a video, and overlays bounding boxes for detected objects.
93 The color of the bounding boxes represent the classes that it detects: