Tensorflow 对象检测 API:禁用现成模型的非极大值抑制
Tensorflow Object Detection API: disable nonmaxima suppression for off-the-shelf models
是否可以and/or轻松禁用Tensorflow Object Detection API中提供的现成对象检测器的非极大值抑制部分?例如,我想 运行 提供的 "SSD mobilenet which was trained on MSCOCO" 最后没有非最大值操作。我怎样才能做到这一点?
如果您出于速度原因想要执行此操作,唯一的方法是编辑代码本身(请参阅 https://github.com/tensorflow/models/blob/master/object_detection/meta_architectures/ssd_meta_arch.py#L331)--- 这有点复杂,因为您需要将对 NMS 的调用替换为仍会将框置于预期输出格式的代码。
如果你只是想摆脱NMS的影响,你可以简单地设置配置文件的后处理部分的score_threshold和iou_threshold:
https://github.com/tensorflow/models/blob/master/object_detection/samples/configs/ssd_mobilenet_v1_pets.config#L131
分别为 0.0 和 1.0,这意味着,不要过滤低分框,并且仅当它们完全重叠时才基于 iou 修剪框(实际上永远不会重叠)。
是否可以and/or轻松禁用Tensorflow Object Detection API中提供的现成对象检测器的非极大值抑制部分?例如,我想 运行 提供的 "SSD mobilenet which was trained on MSCOCO" 最后没有非最大值操作。我怎样才能做到这一点?
如果您出于速度原因想要执行此操作,唯一的方法是编辑代码本身(请参阅 https://github.com/tensorflow/models/blob/master/object_detection/meta_architectures/ssd_meta_arch.py#L331)--- 这有点复杂,因为您需要将对 NMS 的调用替换为仍会将框置于预期输出格式的代码。
如果你只是想摆脱NMS的影响,你可以简单地设置配置文件的后处理部分的score_threshold和iou_threshold: https://github.com/tensorflow/models/blob/master/object_detection/samples/configs/ssd_mobilenet_v1_pets.config#L131 分别为 0.0 和 1.0,这意味着,不要过滤低分框,并且仅当它们完全重叠时才基于 iou 修剪框(实际上永远不会重叠)。