• Hardware Platform: GPU
• DeepStream Version: 6.3
• TensorRT Version: 8.5.3-1+cuda11.8
• NVIDIA GPU Driver Version: 525.89.02
Hello, I have completed the deepstream pipeline as follows:
pgie (detect vehicle) → sgie (detect license plate one row or two row) → sgie 2 (recognize character)
Currently I want to get the class information of one row or two rows in phase sgie 1 to optimize the merging of characters in phase sgie 2. My ParseCustom for (pgie, sgie 1, sgie 2) as follows:
# Vehicle detect
extern "C" bool NvDsInferParseCustomYolor(std::vector<NvDsInferLayerInfo> const& outputLayersInfo,
NvDsInferNetworkInfo const& networkInfo,
NvDsInferParseDetectionParams const& detectionParams,
std::vector<NvDsInferParseObjectInfo>& objectList)
{
// my code
}
# License Plate detect (one row or two row)
extern "C" bool NvDsInferParseCustomYoloV8LPD(std::vector<NvDsInferLayerInfo> const& outputLayersInfo,
NvDsInferNetworkInfo const& networkInfo,
NvDsInferParseDetectionParams const& detectionParams,
std::vector<NvDsInferParseObjectInfo>& objectList)
{
// my code
}
# recognize (list character -> string)
extern "C" bool NvDsInferParseCustomYoloV8LPR(std::vector<NvDsInferLayerInfo> const &outputLayersInfo,
NvDsInferNetworkInfo const &networkInfo, float classifierThreshold,
std::vector<NvDsInferAttribute> &attrList, std::string &attrString)
{
// my code
}
How can I know which outputLayersInfo in NvDsInferParseCustomYoloV8LPR function belongs to the object with bounding box and which class in outputLayersInfo part of NvDsInferParseCustomYoloV8LPD. Because of the asynchronous deepstream issue it becomes difficult in this case.
Hope everyone will review and give some comments, thanks you !