欢迎访问宙启技术站
智能推送

object_detection.builders.post_processing_builderbuild()方法的参数及返回值解析

发布时间:2023-12-29 16:46:56

object_detection.builders.post_processing_builder.build()方法是用来构建后处理步骤的。它的参数和返回值如下所示:

参数:

1. post_processing_config:一个PostProcessing proto对象,该对象指定了要使用的后处理方法。

2. class_agnostic: 一个布尔值,表示是否考虑类别无关的任务。如果为True,则表示仅有一个类别。如果为False,则表示有多个类别。

3. use_static_shapes: 一个布尔值,表示是否使用静态形状。

返回值:

一个后处理器对象(post_processing.PostProcessor)。

使用例子:

from object_detection.builders import post_processing_builder
from object_detection.protos import post_processing_pb2

# 创建一个PostProcessing proto对象
post_processing_config = post_processing_pb2.PostProcessing()
post_processing_config.batch_non_max_suppression.score_threshold = 0.5
post_processing_config.batch_non_max_suppression.iou_threshold = 0.8
post_processing_config.batch_non_max_suppression.max_detections_per_class = 10
post_processing_config.batch_non_max_suppression.max_total_detections = 100

# 构建后处理步骤
post_processor = post_processing_builder.build(post_processing_config, class_agnostic=False, use_static_shapes=False)

在以上例子中,我们首先从post_processing_pb2模块中导入PostProcessing类。然后,我们创建了一个PostProcessing对象,并为其设置了一些属性,如score_thresholdiou_thresholdmax_detections_per_classmax_total_detections。这些属性将用于后处理步骤。最后,我们使用post_processing_builder.build()方法来构建一个后处理器对象,并将其赋值给post_processor变量。

不同的PostProcessing对象可以具有不同的参数设置,这取决于使用的后处理方法。用户可以根据任务需求和模型配置来自定义PostProcessing对象。