Public Types |
enum | OverlayFlags {
OVERLAY_NONE = 0,
OVERLAY_BOX = (1 << 0),
OVERLAY_LABEL = (1 << 1),
OVERLAY_CONFIDENCE = (1 << 2),
OVERLAY_TRACKING = (1 << 3),
OVERLAY_LINES = (1 << 4),
OVERLAY_DEFAULT = OVERLAY_BOX|OVERLAY_LABEL|OVERLAY_CONFIDENCE
} |
| Overlay flags (can be OR'd together). More...
|
|
Public Member Functions |
virtual | ~detectNet () |
| Destory. More...
|
|
template<typename T > |
int | Detect (T *image, uint32_t width, uint32_t height, Detection **detections, uint32_t overlay=OVERLAY_DEFAULT) |
| Detect object locations from an image, returning an array containing the detection results. More...
|
|
template<typename T > |
int | Detect (T *image, uint32_t width, uint32_t height, Detection *detections, uint32_t overlay=OVERLAY_DEFAULT) |
| Detect object locations in an image, into an array of the results allocated by the user. More...
|
|
int | Detect (void *input, uint32_t width, uint32_t height, imageFormat format, Detection **detections, uint32_t overlay=OVERLAY_DEFAULT) |
| Detect object locations from an image, returning an array containing the detection results. More...
|
|
int | Detect (void *input, uint32_t width, uint32_t height, imageFormat format, Detection *detections, uint32_t overlay=OVERLAY_DEFAULT) |
| Detect object locations from an image, into an array of the results allocated by the user. More...
|
|
int | Detect (float *input, uint32_t width, uint32_t height, Detection **detections, uint32_t overlay=OVERLAY_DEFAULT) |
| Detect object locations from an RGBA image, returning an array containing the detection results. More...
|
|
int | Detect (float *input, uint32_t width, uint32_t height, Detection *detections, uint32_t overlay=OVERLAY_DEFAULT) |
| Detect object locations in an RGBA image, into an array of the results allocated by the user. More...
|
|
template<typename T > |
bool | Overlay (T *input, T *output, uint32_t width, uint32_t height, Detection *detections, uint32_t numDetections, uint32_t flags=OVERLAY_DEFAULT) |
| Draw the detected bounding boxes overlayed on an RGBA image. More...
|
|
bool | Overlay (void *input, void *output, uint32_t width, uint32_t height, imageFormat format, Detection *detections, uint32_t numDetections, uint32_t flags=OVERLAY_DEFAULT) |
| Draw the detected bounding boxes overlayed on an RGBA image. More...
|
|
float | GetThreshold () const |
| Retrieve the minimum threshold for detection. More...
|
|
void | SetThreshold (float threshold) |
| Set the minimum threshold for detection. More...
|
|
float | GetConfidenceThreshold () const |
| Retrieve the minimum threshold for detection. More...
|
|
void | SetConfidenceThreshold (float threshold) |
| Set the minimum threshold for detection. More...
|
|
float | GetClusteringThreshold () const |
| Retrieve the overlapping area % threshold for clustering. More...
|
|
void | SetClusteringThreshold (float threshold) |
| Set the overlapping area % threshold for clustering. More...
|
|
objectTracker * | GetTracker () const |
| Get the object tracker being used. More...
|
|
void | SetTracker (objectTracker *tracker) |
| Set the object tracker to be used. More...
|
|
uint32_t | GetMaxDetections () const |
| Retrieve the maximum number of simultaneous detections the network supports. More...
|
|
uint32_t | GetNumClasses () const |
| Retrieve the number of object classes supported in the detector. More...
|
|
const char * | GetClassLabel (uint32_t index) const |
| Retrieve the description of a particular class. More...
|
|
const char * | GetClassDesc (uint32_t index) const |
| Retrieve the description of a particular class. More...
|
|
const char * | GetClassSynset (uint32_t index) const |
| Retrieve the class synset category of a particular class. More...
|
|
const char * | GetClassPath () const |
| Retrieve the path to the file containing the class descriptions. More...
|
|
float4 | GetClassColor (uint32_t classIndex) const |
| Retrieve the RGBA visualization color a particular class. More...
|
|
void | SetClassColor (uint32_t classIndex, const float4 &color) |
| Set the visualization color of a particular class of object. More...
|
|
void | SetClassColor (uint32_t classIndex, float r, float g, float b, float a=255.0f) |
| Set the visualization color of a particular class of object. More...
|
|
float | GetLineWidth () const |
| Retrieve the line width used during overlay when OVERLAY_LINES is used. More...
|
|
void | SetLineWidth (float width) |
| Set the line width used during overlay when OVERLAY_LINES is used. More...
|
|
float | GetOverlayAlpha () const |
| Retrieve the overlay alpha blending value for classes that don't have it explicitly set (between 0-255). More...
|
|
void | SetOverlayAlpha (float alpha) |
| Set overlay alpha blending value for all classes (between 0-255). More...
|
|
virtual | ~tensorNet () |
| Destory. More...
|
|
bool | LoadNetwork (const char *prototxt, const char *model, const char *mean=NULL, const char *input_blob="data", const char *output_blob="prob", uint32_t maxBatchSize=DEFAULT_MAX_BATCH_SIZE, precisionType precision=TYPE_FASTEST, deviceType device=DEVICE_GPU, bool allowGPUFallback=true, nvinfer1::IInt8Calibrator *calibrator=NULL, cudaStream_t stream=NULL) |
| Load a new network instance. More...
|
|
bool | LoadNetwork (const char *prototxt, const char *model, const char *mean, const char *input_blob, const std::vector< std::string > &output_blobs, uint32_t maxBatchSize=DEFAULT_MAX_BATCH_SIZE, precisionType precision=TYPE_FASTEST, deviceType device=DEVICE_GPU, bool allowGPUFallback=true, nvinfer1::IInt8Calibrator *calibrator=NULL, cudaStream_t stream=NULL) |
| Load a new network instance with multiple output layers. More...
|
|
bool | LoadNetwork (const char *prototxt, const char *model, const char *mean, const std::vector< std::string > &input_blobs, const std::vector< std::string > &output_blobs, uint32_t maxBatchSize=DEFAULT_MAX_BATCH_SIZE, precisionType precision=TYPE_FASTEST, deviceType device=DEVICE_GPU, bool allowGPUFallback=true, nvinfer1::IInt8Calibrator *calibrator=NULL, cudaStream_t stream=NULL) |
| Load a new network instance with multiple input layers. More...
|
|
bool | LoadNetwork (const char *prototxt, const char *model, const char *mean, const char *input_blob, const Dims3 &input_dims, const std::vector< std::string > &output_blobs, uint32_t maxBatchSize=DEFAULT_MAX_BATCH_SIZE, precisionType precision=TYPE_FASTEST, deviceType device=DEVICE_GPU, bool allowGPUFallback=true, nvinfer1::IInt8Calibrator *calibrator=NULL, cudaStream_t stream=NULL) |
| Load a new network instance (this variant is used for UFF models) More...
|
|
bool | LoadNetwork (const char *prototxt, const char *model, const char *mean, const std::vector< std::string > &input_blobs, const std::vector< Dims3 > &input_dims, const std::vector< std::string > &output_blobs, uint32_t maxBatchSize=DEFAULT_MAX_BATCH_SIZE, precisionType precision=TYPE_FASTEST, deviceType device=DEVICE_GPU, bool allowGPUFallback=true, nvinfer1::IInt8Calibrator *calibrator=NULL, cudaStream_t stream=NULL) |
| Load a new network instance with multiple input layers (used for UFF models) More...
|
|
bool | LoadEngine (const char *engine_filename, const std::vector< std::string > &input_blobs, const std::vector< std::string > &output_blobs, nvinfer1::IPluginFactory *pluginFactory=NULL, deviceType device=DEVICE_GPU, cudaStream_t stream=NULL) |
| Load a network instance from a serialized engine plan file. More...
|
|
bool | LoadEngine (char *engine_stream, size_t engine_size, const std::vector< std::string > &input_blobs, const std::vector< std::string > &output_blobs, nvinfer1::IPluginFactory *pluginFactory=NULL, deviceType device=DEVICE_GPU, cudaStream_t stream=NULL) |
| Load a network instance from a serialized engine plan file. More...
|
|
bool | LoadEngine (nvinfer1::ICudaEngine *engine, const std::vector< std::string > &input_blobs, const std::vector< std::string > &output_blobs, deviceType device=DEVICE_GPU, cudaStream_t stream=NULL) |
| Load network resources from an existing TensorRT engine instance. More...
|
|
bool | LoadEngine (const char *filename, char **stream, size_t *size) |
| Load a serialized engine plan file into memory. More...
|
|
void | EnableLayerProfiler () |
| Manually enable layer profiling times. More...
|
|
void | EnableDebug () |
| Manually enable debug messages and synchronization. More...
|
|
bool | AllowGPUFallback () const |
| Return true if GPU fallback is enabled. More...
|
|
deviceType | GetDevice () const |
| Retrieve the device being used for execution. More...
|
|
precisionType | GetPrecision () const |
| Retrieve the type of precision being used. More...
|
|
bool | IsPrecision (precisionType type) const |
| Check if a particular precision is being used. More...
|
|
cudaStream_t | GetStream () const |
| Retrieve the stream that the device is operating on. More...
|
|
cudaStream_t | CreateStream (bool nonBlocking=true) |
| Create and use a new stream for execution. More...
|
|
void | SetStream (cudaStream_t stream) |
| Set the stream that the device is operating on. More...
|
|
const char * | GetPrototxtPath () const |
| Retrieve the path to the network prototxt file. More...
|
|
const char * | GetModelPath () const |
| Retrieve the full path to model file, including the filename. More...
|
|
const char * | GetModelFilename () const |
| Retrieve the filename of the file, excluding the directory. More...
|
|
modelType | GetModelType () const |
| Retrieve the format of the network model. More...
|
|
bool | IsModelType (modelType type) const |
| Return true if the model is of the specified format. More...
|
|
uint32_t | GetInputLayers () const |
| Retrieve the number of input layers to the network. More...
|
|
uint32_t | GetOutputLayers () const |
| Retrieve the number of output layers to the network. More...
|
|
Dims3 | GetInputDims (uint32_t layer=0) const |
| Retrieve the dimensions of network input layer. More...
|
|
uint32_t | GetInputWidth (uint32_t layer=0) const |
| Retrieve the width of network input layer. More...
|
|
uint32_t | GetInputHeight (uint32_t layer=0) const |
| Retrieve the height of network input layer. More...
|
|
uint32_t | GetInputSize (uint32_t layer=0) const |
| Retrieve the size (in bytes) of network input layer. More...
|
|
float * | GetInputPtr (uint32_t layer=0) const |
| Get the CUDA pointer to the input layer's memory. More...
|
|
Dims3 | GetOutputDims (uint32_t layer=0) const |
| Retrieve the dimensions of network output layer. More...
|
|
uint32_t | GetOutputWidth (uint32_t layer=0) const |
| Retrieve the width of network output layer. More...
|
|
uint32_t | GetOutputHeight (uint32_t layer=0) const |
| Retrieve the height of network output layer. More...
|
|
uint32_t | GetOutputSize (uint32_t layer=0) const |
| Retrieve the size (in bytes) of network output layer. More...
|
|
float * | GetOutputPtr (uint32_t layer=0) const |
| Get the CUDA pointer to the output memory. More...
|
|
float | GetNetworkFPS () |
| Retrieve the network frames per second (FPS). More...
|
|
float | GetNetworkTime () |
| Retrieve the network runtime (in milliseconds). More...
|
|
const char * | GetNetworkName () const |
| Retrieve the network name (it's filename). More...
|
|
float2 | GetProfilerTime (profilerQuery query) |
| Retrieve the profiler runtime (in milliseconds). More...
|
|
float | GetProfilerTime (profilerQuery query, profilerDevice device) |
| Retrieve the profiler runtime (in milliseconds). More...
|
|
void | PrintProfilerTimes () |
| Print the profiler times (in millseconds). More...
|
|
Static Public Member Functions |
static uint32_t | OverlayFlagsFromStr (const char *flags) |
| Parse a string sequence into OverlayFlags enum. More...
|
|
static detectNet * | Create (const char *network="ssd-mobilenet-v2", float threshold=DETECTNET_DEFAULT_CONFIDENCE_THRESHOLD, uint32_t maxBatchSize=DEFAULT_MAX_BATCH_SIZE, precisionType precision=TYPE_FASTEST, deviceType device=DEVICE_GPU, bool allowGPUFallback=true) |
| Load a pre-trained model. More...
|
|
static detectNet * | Create (const char *prototxt_path, const char *model_path, float mean_pixel=0.0f, const char *class_labels=NULL, float threshold=DETECTNET_DEFAULT_CONFIDENCE_THRESHOLD, const char *input=DETECTNET_DEFAULT_INPUT, const char *coverage=DETECTNET_DEFAULT_COVERAGE, const char *bboxes=DETECTNET_DEFAULT_BBOX, uint32_t maxBatchSize=DEFAULT_MAX_BATCH_SIZE, precisionType precision=TYPE_FASTEST, deviceType device=DEVICE_GPU, bool allowGPUFallback=true) |
| Load a custom network instance. More...
|
|
static detectNet * | Create (const char *prototxt_path, const char *model_path, float mean_pixel, const char *class_labels, const char *class_colors, float threshold=DETECTNET_DEFAULT_CONFIDENCE_THRESHOLD, const char *input=DETECTNET_DEFAULT_INPUT, const char *coverage=DETECTNET_DEFAULT_COVERAGE, const char *bboxes=DETECTNET_DEFAULT_BBOX, uint32_t maxBatchSize=DEFAULT_MAX_BATCH_SIZE, precisionType precision=TYPE_FASTEST, deviceType device=DEVICE_GPU, bool allowGPUFallback=true) |
| Load a custom network instance. More...
|
|
static detectNet * | Create (const char *model_path, const char *class_labels, float threshold, const char *input, const Dims3 &inputDims, const char *output, const char *numDetections, uint32_t maxBatchSize=DEFAULT_MAX_BATCH_SIZE, precisionType precision=TYPE_FASTEST, deviceType device=DEVICE_GPU, bool allowGPUFallback=true) |
| Load a custom network instance of a UFF model. More...
|
|
static detectNet * | Create (int argc, char **argv) |
| Load a new network instance by parsing the command line. More...
|
|
static detectNet * | Create (const commandLine &cmdLine) |
| Load a new network instance by parsing the command line. More...
|
|
static const char * | Usage () |
| Usage string for command line arguments to Create() More...
|
|
static bool | LoadClassLabels (const char *filename, std::vector< std::string > &descriptions, int expectedClasses=-1) |
| Load class descriptions from a label file. More...
|
|
static bool | LoadClassLabels (const char *filename, std::vector< std::string > &descriptions, std::vector< std::string > &synsets, int expectedClasses=-1) |
| Load class descriptions and synset strings from a label file. More...
|
|
static bool | LoadClassColors (const char *filename, float4 *colors, int expectedClasses, float defaultAlpha=255.0f) |
| Load class colors from a text file. More...
|
|
static bool | LoadClassColors (const char *filename, float4 **colors, int expectedClasses, float defaultAlpha=255.0f) |
| Load class colors from a text file. More...
|
|
static float4 | GenerateColor (uint32_t classID, float alpha=255.0f) |
| Procedurally generate a color for a given class index with the specified alpha value. More...
|
|
static precisionType | SelectPrecision (precisionType precision, deviceType device=DEVICE_GPU, bool allowInt8=true) |
| Resolve a desired precision to a specific one that's available. More...
|
|
static precisionType | FindFastestPrecision (deviceType device=DEVICE_GPU, bool allowInt8=true) |
| Determine the fastest native precision on a device. More...
|
|
static std::vector< precisionType > | DetectNativePrecisions (deviceType device=DEVICE_GPU) |
| Detect the precisions supported natively on a device. More...
|
|
static bool | DetectNativePrecision (const std::vector< precisionType > &nativeTypes, precisionType type) |
| Detect if a particular precision is supported natively. More...
|
|
static bool | DetectNativePrecision (precisionType precision, deviceType device=DEVICE_GPU) |
| Detect if a particular precision is supported natively. More...
|
|
Protected Member Functions |
| detectNet (float meanPixel=0.0f) |
|
bool | allocDetections () |
|
bool | loadClassInfo (const char *filename) |
|
bool | loadClassColors (const char *filename) |
|
bool | init (const char *prototxt_path, const char *model_path, const char *class_labels, const char *class_colors, float threshold, const char *input, const char *coverage, const char *bboxes, uint32_t maxBatchSize, precisionType precision, deviceType device, bool allowGPUFallback) |
|
bool | preProcess (void *input, uint32_t width, uint32_t height, imageFormat format) |
|
int | postProcess (void *input, uint32_t width, uint32_t height, imageFormat format, Detection *detections) |
|
int | postProcessSSD_UFF (Detection *detections, uint32_t width, uint32_t height) |
|
int | postProcessSSD_ONNX (Detection *detections, uint32_t width, uint32_t height) |
|
int | postProcessDetectNet (Detection *detections, uint32_t width, uint32_t height) |
|
int | postProcessDetectNet_v2 (Detection *detections, uint32_t width, uint32_t height) |
|
int | clusterDetections (Detection *detections, int n) |
|
void | sortDetections (Detection *detections, int numDetections) |
|
| tensorNet () |
| Constructor. More...
|
|
bool | ProcessNetwork (bool sync=true) |
| Execute processing of the network. More...
|
|
bool | ProfileModel (const std::string &deployFile, const std::string &modelFile, const std::vector< std::string > &inputs, const std::vector< Dims3 > &inputDims, const std::vector< std::string > &outputs, uint32_t maxBatchSize, precisionType precision, deviceType device, bool allowGPUFallback, nvinfer1::IInt8Calibrator *calibrator, char **engineStream, size_t *engineSize) |
| Create and output an optimized network model. More...
|
|
bool | ConfigureBuilder (nvinfer1::IBuilder *builder, uint32_t maxBatchSize, uint32_t workspaceSize, precisionType precision, deviceType device, bool allowGPUFallback, nvinfer1::IInt8Calibrator *calibrator) |
| Configure builder options. More...
|
|
bool | ValidateEngine (const char *model_path, const char *cache_path, const char *checksum_path) |
| Validate that the model already has a built TensorRT engine that exists and doesn't need updating. More...
|
|
void | PROFILER_BEGIN (profilerQuery query) |
| Begin a profiling query, before network is run. More...
|
|
void | PROFILER_END (profilerQuery query) |
| End a profiling query, after the network is run. More...
|
|
bool | PROFILER_QUERY (profilerQuery query) |
| Query the CUDA part of a profiler query. More...
|
|
Protected Attributes |
objectTracker * | mTracker |
|
float | mConfidenceThreshold |
|
float | mClusteringThreshold |
|
float | mMeanPixel |
|
float | mLineWidth |
|
float | mOverlayAlpha |
|
float4 * | mClassColors |
|
std::vector< std::string > | mClassDesc |
|
std::vector< std::string > | mClassSynset |
|
std::string | mClassPath |
|
uint32_t | mNumClasses |
|
Detection * | mDetectionSets |
|
uint32_t | mDetectionSet |
|
uint32_t | mMaxDetections |
|
tensorNet::Logger | gLogger |
|
tensorNet::Profiler | gProfiler |
|
std::string | mPrototxtPath |
|
std::string | mModelPath |
|
std::string | mModelFile |
|
std::string | mMeanPath |
|
std::string | mCacheEnginePath |
|
std::string | mCacheCalibrationPath |
|
std::string | mChecksumPath |
|
deviceType | mDevice |
|
precisionType | mPrecision |
|
modelType | mModelType |
|
cudaStream_t | mStream |
|
cudaEvent_t | mEventsGPU [PROFILER_TOTAL *2] |
|
timespec | mEventsCPU [PROFILER_TOTAL *2] |
|
nvinfer1::IRuntime * | mInfer |
|
nvinfer1::ICudaEngine * | mEngine |
|
nvinfer1::IExecutionContext * | mContext |
|
float2 | mProfilerTimes [PROFILER_TOTAL+1] |
|
uint32_t | mProfilerQueriesUsed |
|
uint32_t | mProfilerQueriesDone |
|
uint32_t | mWorkspaceSize |
|
uint32_t | mMaxBatchSize |
|
bool | mEnableProfiler |
|
bool | mEnableDebug |
|
bool | mAllowGPUFallback |
|
void ** | mBindings |
|
std::vector< layerInfo > | mInputs |
|
std::vector< layerInfo > | mOutputs |
|
Static Protected Attributes |
static const uint32_t | mNumDetectionSets = 16 |
|