【发布时间】:2017-12-09 15:24:06
【问题描述】:
是否可以和/或容易禁用Tensorflow Object Detection API 中提供的现成对象检测器的非最大值抑制部分?例如,我想运行提供的“在 MSCOCO 上训练的 SSD mobilenet”,最后没有非最大值操作。我怎样才能做到这一点?
【问题讨论】:
标签: tensorflow object-detection
是否可以和/或容易禁用Tensorflow Object Detection API 中提供的现成对象检测器的非最大值抑制部分?例如,我想运行提供的“在 MSCOCO 上训练的 SSD mobilenet”,最后没有非最大值操作。我怎样才能做到这一点?
【问题讨论】:
标签: tensorflow object-detection
如果您出于速度原因想要执行此操作,唯一的方法是编辑代码本身(请参阅https://github.com/tensorflow/models/blob/master/object_detection/meta_architectures/ssd_meta_arch.py#L331)——这有点涉及,因为您需要将对 NMS 的调用替换为仍然会调用的代码将框放在预期的输出格式中。
如果只是想摆脱NMS的影响,可以简单的设置config文件后处理部分的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 修剪框(实际上永远不会)。
【讨论】: