Runs pose inference for tracked target regions.
Definition at line 86 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.


Public Member Functions | |
| PoseInference (const std::string &configFilePath) | |
| Construct a PoseInference instance from configuration. More... | |
| PoseInference (const std::string &configFilePath, const std::string &modelName) | |
| Construct a PoseInference instance from configuration. More... | |
| virtual | ~PoseInference () |
| Release resources owned by the PoseInference instance. More... | |
| void | initializeRuntime (const SourceFrameInfo &frameInfo, const uint maxTargetsPerStream, const std::shared_ptr< NvTrackedObjectManager > &targetManager) override |
| Initialize variables and allocate memories. More... | |
| void | initializeModel () override |
| Create TensorRT inference engine; if engine does not exist, serialize from model file. More... | |
| void | queryParams (NvMOTQuery ¶msQuery) |
| Populate the capabilities reported to the tracker. More... | |
| void | doInference (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta, std::map< NvMOTStreamId, std::deque< DetectedObjInfo >> &detectedObjects, const bool isForReAssoc) override |
| Run pose inference on cropped targets from the input frames. More... | |
| void | update () override |
| Update the pose estimator after data association. More... | |
| void | removeStream (const NvMOTStreamId videoStreamId) override |
| Remove a stream from the pose estimator. More... | |
| const POSEESTIMATOR_TYPES | getPoseEstimatorType () override |
| Get the configured pose-estimator type. More... | |
| PoseInference (const std::string &configFilePath) | |
| Construct a PoseInference instance from configuration. More... | |
| PoseInference (const std::string &configFilePath, const std::string &modelName) | |
| Construct a PoseInference instance from configuration. More... | |
| virtual | ~PoseInference () |
| Release resources owned by the PoseInference instance. More... | |
| void | initializeRuntime (const SourceFrameInfo &frameInfo, const uint maxTargetsPerStream, const std::shared_ptr< NvTrackedObjectManager > &targetManager) override |
| Initialize variables and allocate memories. More... | |
| void | initializeModel () override |
| Create TensorRT inference engine; if engine does not exist, serialize from model file. More... | |
| void | queryParams (NvMOTQuery ¶msQuery) |
| Populate the capabilities reported to the tracker. More... | |
| void | doInference (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta, std::map< NvMOTStreamId, std::deque< DetectedObjInfo >> &detectedObjects, const bool isForReAssoc) override |
| Run pose inference on cropped targets from the input frames. More... | |
| void | update () override |
| Update the pose estimator after data association. More... | |
| void | removeStream (const NvMOTStreamId videoStreamId) override |
| Remove a stream from the pose estimator. More... | |
| const POSEESTIMATOR_TYPES | getPoseEstimatorType () override |
| Get the configured pose-estimator type. More... | |
Protected Member Functions | |
| void | extractImagePatchesBatch (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta) |
| Rescale all tracker frames into encoder input. More... | |
| void | setValues4PoseGeometryInput () |
| Upload fixed geometry tensors used by pose inference. More... | |
| void | extractImagePatchesBatch (const std::map< NvMOTStreamId, NvMOTFrame * > &inputMeta) |
| Rescale all tracker frames into encoder input. More... | |
| void | setValues4PoseGeometryInput () |
| Upload fixed geometry tensors used by pose inference. More... | |
Protected Attributes | |
| bool | m_isRuntimeInit |
| Reid status if runtime variables initialized. More... | |
| int | m_maxPointNum |
| Max number of points. More... | |
| int | m_numBboxes |
| Number of detected boxes in the current batch tracker recieved. More... | |
| float * | m_inputBuf_d |
| float * | m_inputBuf_h |
| Input patches to encoder. More... | |
| float * | m_points_d |
| Input a list of points (prompt) to decoder. More... | |
| float * | m_pointLabels_d |
| Input a list of point types (single point, bounding box corners) to decoder. More... | |
| float * | m_inputMask_d |
| Mask prompt, currently unused and set as 0. More... | |
| float * | m_inputMaskLabel_d |
| Mask label, currently unused and set as 0. More... | |
| float * | m_targetMaskDecSize_d |
| float * | m_targetMaskDecSize_h |
| Mask output for each target. More... | |
| float * | m_batchMaskDecSize_d |
| Mask output in a batch. More... | |
| float * | m_targetMaskOriginalSrcSize_d |
| Mask for each target resized to original streammux size. More... | |
| float * | m_kInv_d |
| float * | m_tFormInv_d |
| float * | m_scaleNormalizedMeanLimbLengths_d |
| float * | m_meanLimbLengths_d |
| Device inverse intrinsics, inverse transforms, and limb-length priors. More... | |
| float * | m_pose2d_d |
| float * | m_pose2d_org_img_d |
| float * | m_pose25d_d |
| float * | m_pose3d_d |
| Device 2D, original-image 2D, 2.5D, and 3D poses. More... | |
| float * | m_pose25d_h |
| float * | m_pose3d_h |
| Host 2.5D and 3D poses. More... | |
| float * | m_outputIou_d |
| Device output IoU. More... | |
| PoseInferenceConfigParams | m_params |
| Config params for reid module. More... | |
| NvMotDataTypes::Size | m_srcImageSize |
| Size of the source image. More... | |
| NvMotDataTypes::Size | m_originalSrcImageSize |
| Size of the original source image. More... | |
| std::vector< std::tuple< uint, NvMOTStreamId, NvMotDataTypes::Rect2f > > | m_targetStreamIdList |
| Target index, stream ID, and crop ROI for each box. More... | |
| cudaStream_t | m_cuStream |
| Cuda stream to run all GPU tasks. More... | |
| std::vector< void * > | m_bindings |
| Pointers to TensorRT tensors. More... | |
| float * | m_featuresEncoder_d |
| Encoder output features. More... | |
| std::shared_ptr< NvTrackedObjectManager > | m_targetManager |
| Target manager providing target status to update feature gallery. More... | |
| std::shared_ptr< ReIDFrameTransformTexture > | m_subImageCropper2 |
| Image cropper, may share with visual tracker in the future. More... | |
| std::shared_ptr< ReIDCropScaler > | m_subImageCropScaler |
| Image crop scaler. More... | |
| std::map< NvMOTStreamId, std::vector< std::pair< uint, NvMotDataTypes::Rect2f > > > | m_inputRoisInBatch |
| Reid input rois to crop. More... | |
| TrtModule | m_inference |
| Inference module. More... | |
| int | m_maxTargetsToTrack |
| Max number of targets to keep for all streams. More... | |
| PoseInference::PoseInference | ( | const std::string & | configFilePath | ) |
Construct a PoseInference instance from configuration.
| [in] | configFilePath | Path to the tracker configuration file. |
| PoseInference::PoseInference | ( | const std::string & | configFilePath, |
| const std::string & | modelName | ||
| ) |
Construct a PoseInference instance from configuration.
| [in] | configFilePath | Path to the tracker configuration file. |
| [in] | modelName | Configured model name. |
|
virtual |
Release resources owned by the PoseInference instance.
| PoseInference::PoseInference | ( | const std::string & | configFilePath | ) |
Construct a PoseInference instance from configuration.
| [in] | configFilePath | Path to the tracker configuration file. |
| PoseInference::PoseInference | ( | const std::string & | configFilePath, |
| const std::string & | modelName | ||
| ) |
Construct a PoseInference instance from configuration.
| [in] | configFilePath | Path to the tracker configuration file. |
| [in] | modelName | Configured model name. |
|
virtual |
Release resources owned by the PoseInference instance.
|
overridevirtual |
Run pose inference on cropped targets from the input frames.
| [in] | inputMeta | A batch of input frames. |
| [in,out] | detectedObjects | Newly detected objects in each stream. |
| [in] | isForReAssoc | Whether this inference is for reassociation. |
Implements IPoseEstimator.
|
overridevirtual |
Run pose inference on cropped targets from the input frames.
| [in] | inputMeta | A batch of input frames. |
| [in,out] | detectedObjects | Newly detected objects in each stream. |
| [in] | isForReAssoc | Whether this inference is for reassociation. |
Implements IPoseEstimator.
|
protected |
Rescale all tracker frames into encoder input.
| [in] | inputMeta | Input frames keyed by stream ID. |
|
protected |
Rescale all tracker frames into encoder input.
| [in] | inputMeta | Input frames keyed by stream ID. |
|
inlineoverridevirtual |
Get the configured pose-estimator type.
Implements IPoseEstimator.
Definition at line 146 of file 9.2/sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
References m_params, and PoseInferenceConfigParams::m_poseEstimatorType.
|
inlineoverridevirtual |
Get the configured pose-estimator type.
Implements IPoseEstimator.
Definition at line 146 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
References m_params, and PoseInferenceConfigParams::m_poseEstimatorType.
|
overridevirtual |
Create TensorRT inference engine; if engine does not exist, serialize from model file.
Implements IPoseEstimator.
|
overridevirtual |
Create TensorRT inference engine; if engine does not exist, serialize from model file.
Implements IPoseEstimator.
|
overridevirtual |
Initialize variables and allocate memories.
| [in] | frameInfo | Metadata about the source image, such as size and color. |
| [in] | maxTargetsPerStream | Maximum number of targets to track in each stream. |
| [in] | targetManager | Target manager of the tracked objects. |
Implements IPoseEstimator.
|
overridevirtual |
Initialize variables and allocate memories.
| [in] | frameInfo | Metadata about the source image, such as size and color. |
| [in] | maxTargetsPerStream | Maximum number of targets to track in each stream. |
| [in] | targetManager | Target manager of the tracked objects. |
Implements IPoseEstimator.
|
virtual |
Populate the capabilities reported to the tracker.
| [out] | paramsQuery | The output query parameters. |
Implements IPoseEstimator.
|
virtual |
Populate the capabilities reported to the tracker.
| [out] | paramsQuery | The output query parameters. |
Implements IPoseEstimator.
|
overridevirtual |
Remove a stream from the pose estimator.
| [in] | videoStreamId | Video stream id. |
Implements IPoseEstimator.
|
overridevirtual |
Remove a stream from the pose estimator.
| [in] | videoStreamId | Video stream id. |
Implements IPoseEstimator.
|
protected |
Upload fixed geometry tensors used by pose inference.
|
protected |
Upload fixed geometry tensors used by pose inference.
|
overridevirtual |
Update the pose estimator after data association.
Implements IPoseEstimator.
|
overridevirtual |
Update the pose estimator after data association.
Implements IPoseEstimator.
|
protected |
Mask output in a batch.
Definition at line 158 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Pointers to TensorRT tensors.
Definition at line 170 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Cuda stream to run all GPU tasks.
Definition at line 169 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Encoder output features.
Definition at line 171 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Inference module.
Definition at line 177 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Definition at line 152 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Input patches to encoder.
Definition at line 152 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Mask prompt, currently unused and set as 0.
Definition at line 155 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Mask label, currently unused and set as 0.
Definition at line 156 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Reid input rois to crop.
Definition at line 176 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Reid status if runtime variables initialized.
Definition at line 149 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Definition at line 160 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Max number of points.
Definition at line 150 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Max number of targets to keep for all streams.
Definition at line 178 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Device inverse intrinsics, inverse transforms, and limb-length priors.
Definition at line 160 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Number of detected boxes in the current batch tracker recieved.
Definition at line 151 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Size of the original source image.
Definition at line 166 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Device output IoU.
Definition at line 163 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Config params for reid module.
Definition at line 164 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
Referenced by getPoseEstimatorType().
|
protected |
Input a list of point types (single point, bounding box corners) to decoder.
Definition at line 154 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Input a list of points (prompt) to decoder.
Definition at line 153 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Definition at line 161 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Definition at line 162 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Definition at line 161 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Definition at line 161 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Device 2D, original-image 2D, 2.5D, and 3D poses.
Definition at line 161 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Host 2.5D and 3D poses.
Definition at line 162 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Definition at line 160 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Size of the source image.
Definition at line 165 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Image cropper, may share with visual tracker in the future.
Definition at line 173 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Image crop scaler.
Uses VPI crop scaler.
Definition at line 174 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Target manager providing target status to update feature gallery.
Definition at line 172 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Definition at line 157 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Mask output for each target.
Definition at line 157 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Mask for each target resized to original streammux size.
Definition at line 159 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Target index, stream ID, and crop ROI for each box.
Definition at line 167 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.
|
protected |
Definition at line 160 of file sources/libs/nvmultiobjecttracker/include/modules/PoseEstimator/PoseInference.hpp.