Skip to main content

文本检测后处理

目标检测后处理

基类ObjectPostProcessBase。

支持的模型后处理

模型后处理说明
Yolov3PostProcessYOLOv3后处理。
SsdMobilenetv1FpnPostProcessSsdMobilenetv1Fpn后处理。
SsdMobilenetFpn_MindsporePostSsdMobilenetFpn MindSpore后处理。
Ssdvgg16PostProcessSsdvgg16后处理。
FasterRcnnPostProcessFasterRcnn后处理。
MaskRcnnMindsporePostMaskRcnnMindspore后处理。

统一的构造函数

postProcessName(config_data, label_path)
postProcessName(config_path, label_path)

例如:Yolov3PostProcess(config_data, label_path),Yolov3PostProcess(config_path, label_path)。

构造函数输入参数说明

参数名类型说明
config_datadict配置数据。
label_pathstr标签路径。
config_pathstr配置路径。

构造函数输出参数说明

对应后处理对象。

统一的后处理函数

process(tensor, params)
process(tensor, param)

后处理函数输入参数说明

参数名类型说明
tensorList[base.Tensor]Tensor列表。
paramsList[base.ResizedImageInfo]ResizedImageInfo列表。
parambase.ResizedImageInfoResizedImageInfo对象。

后处理函数输出参数说明

list[list[ObjectInfo]]

抛异常接口

传入Tensor失败,拷贝至Host失败,抛出runtime异常。

父主题: 模型后处理

分割后处理

基类SemanticSegPostProcessBase。

支持的模型后处理

模型后处理说明
Deeplabv3PostProcessDeeplabv3后处理。
Deeplabv3PytorchPostDeeplabv3 pytorch后处理。
Deeplabv3TensorflowPostDeeplabv3 TensorFlow后处理。
Deeplabv3MindsporePostDeeplabv3 MindSpore后处理。
UNetMindSporePostProcessUNet MindSpore后处理。

统一的构造函数

postProcessName(config_data, label_path)
postProcessName(config_path, label_path)

例如:Deeplabv3PostProcess (config_data, label_path),Deeplabv3PostProcess(config_path, label_path)。

构造函数输入参数说明

参数名类型说明
config_datadict配置数据。
label_pathstr标签路径。
config_pathstr配置路径。

构造函数输出参数说明

对应的后处理对象。

统一的后处理函数

process(tensor, params)
process(tensor, param)

后处理函数输入参数说明

参数名类型说明
tensorList[base.Tensor]Tensor列表。
paramsList[base.ResizedImageInfo]ResizedImageInfo列表。
parambase.ResizedImageInfoResizedImageInfo对象。

后处理函数输出参数说明

list[SemanticSegInfo]

抛异常接口

传入Tensor失败,拷贝至Host失败,抛出runtime异常。

父主题: 模型后处理

文本生成后处理

基类TextGenerationPostProcessBase。

支持的模型后处理

模型后处理说明
CrnnPostProcessCrnn后处理。
TransformerPostProcessTransformer后处理。

统一的构造函数

postProcessName(config_data, label_path)
postProcessName(config_path, label_path)

例如:CrnnPostProcess(config_data, label_path),CrnnPostProcess(config_path, label_path)。

构造函数输入参数说明

参数名类型说明
config_datadict配置数据。
label_pathstr标签路径。
config_pathstr配置路径。

构造函数输出参数说明

对应的后处理对象。

统一的后处理函数

process(tensor, params)
process(tensor, param)

后处理函数输入参数说明

参数名类型说明
tensorList[base.Tensor]Tensor列表。
paramsList[base.ResizedImageInfo]ResizedImageInfo列表。
parambase.ResizedImageInfoResizedImageInfo对象。

后处理函数输出参数说明

list[TextsInfo]

抛异常接口

传入Tensor失败,拷贝至Host失败,抛出runtime异常。

父主题: 模型后处理

文本检测后处理

支持的模型后处理

模型后处理说明
CtpnPostProcessCtpn后处理。
PSENetPostProcessPSEnet后处理。

统一的构造函数

postProcessName(config_data, label_path)
postProcessName(config_path, label_path)

例如:CtpnPostProcess (config_data, label_path),CtpnPostProcess (config_path, label_path)。

构造函数输入参数说明

参数名类型说明
config_datadict配置数据。
label_pathstr标签路径。
config_pathstr配置路径。

构造函数输出参数说明

对应的后处理对象。

统一的后处理函数

process(tensor, params)
process(tensor, param)

后处理函数输入参数说明

参数名类型说明
tensorList[base.Tensor]Tensor列表。
paramsList[base.ResizedImageInfo]ResizedImageInfo列表。
parambase.ResizedImageInfoResizedImageInfo对象。

后处理函数输出参数说明

list[list[TextObjectInfo]]

抛异常接口

传入Tensor失败,拷贝至Host失败,抛出runtime异常。

父主题: 模型后处理

关键点检测后处理

基类KeypointPostProcessBase。

支持的模型后处理

模型后处理说明
openPosePostProcessopenPost后处理。
HigherHRnetPostProcessHigherHRnet后处理。

构造函数

postProcessName(config_data, label_path)
postProcessName(config_path, label_path)

构造函数输入参数说明

参数名类型说明
config_datadict配置数据。
label_pathstr标签路径。
config_pathstr配置路径。

构造函数输出参数说明

对应的后处理对象。

统一的后处理函数

process(tensor, params)
process(tensor, param)

后处理函数输入参数说明

参数名类型说明
tensorList[base.Tensor]Tensor列表。
paramsList[base.ResizedImageInfo]ResizedImageInfo列表。
parambase.ResizedImageInfoResizedImageInfo对象。

后处理函数输出参数说明

list[list[KeyPointDetectionInfo]]

抛异常接口

传入Tensor失败,拷贝至Host失败,抛出runtime异常。

父主题: 模型后处理

log类函数集

函数名参数类型说明
debug(str)String打印Debug级日志。
info(str)String打印Info级日志。
warning(str)String打印Warning级日志。
error(str)String打印Error级日志。
fatal(str)String打印Fatal级日志。
init()-日志初始化。

父主题: 日志输出

模型后处理介绍

模型后处理为与模型一一对应的配套操作,在mxVision中其主要工作是用于对模型推理插件传入的推理结果张量进行处理,如在目标检测任务中,需要对目标框进行去重,排序,筛选等,最后将处理结果写入目标信息的类对象中,传递回给目标检测后处理插件进行写入元数据以传递给下游插件。目前mxVision所支持的模型均已开发相应的后处理动态库,具体请参见表1。请用户根据实际情况选择现有后处理插件或自行开发适配所需模型,具体操作步骤请参见后处理类开发步骤

表1 已支持模型及对应后处理动态库

已支持模型名称

后处理类名称

推理插件使用的后处理动态库

YOLOv3

Yolov3PostProcess

modelpostprocessors/libyolov3postprocess.so

YOLOv3-tiny

ResNet-50

Resnet50PostProcess

modelpostprocessors/libresnet50postprocess.so

Faster Rcnn

FasterRcnnPostProcess

modelpostprocessors/libfasterrcnnpostprocess.so

SSD-VGG16

Ssdvgg16PostProcess

modelpostprocessors/libssdvgg16postprocess.so

SSD MobileNet v1 FPN

SsdMobilenetv1FpnPostProcess

modelpostprocessors/libssdmobilenetv1fpnpostprocess.so

CRNN

CrnnPostProcessor

modelpostprocessors/libcrnnpostprocess.so

后处理需要一个配置文件和一个标签文件。

  • 标签文件需将所有类别的名称按类别ID顺序逐行输入(#开头的行不会被读取),填写示例参考如下:

    # This is modified from https://gist.github.com/yrevar/942d3a0ac09ec9e5eb3a
    unknown type
    tench, Tinca tinca
    goldfish, Carassius auratus
    great white shark, white shark, man-eater, man-eating shark, Carcharodon carchariasB
    tiger shark, Galeocerdo cuvieri
    ……
  • 每个模型所需要的配置参数一般不相同,用户可自行定义增加。后处理基类中已经读取“CHECK_MODEL”参数,当值为“true”时会对模型的输出张量形状进行校验,并拦截后处理不兼容的模型,当值为“false”时会跳过模型校验。当前mxVision已支持的模型输出张量形状与配置文件参数请见模型后处理配置参数

父主题: 模型后处理(tensorinfer框架)

在线提单