ml.postprocessing.darknet --- Darknet

ml.postprocessing.darknet 模块包含用于基于 Darknet 的目标检测模型的后处理器。

class YoloV2 -- YOLO V2

YOLO V2 模型输出的后处理器。

class ml.postprocessing.darknet.YoloV2(threshold: float = 0.6, anchors: numpy.ndarray = None, nms_threshold: float = 0.1, nms_sigma: float = 0.1)

创建一个 YOLO V2 后处理器。

threshold 在非极大值抑制之前应用的分数阈值。

anchors 形状为 (N, 2) 的二维 numpy.ndarray,保存模型训练时所用的 (w, h) 锚框尺寸。若为 None,则使用内置的默认 5 个锚框集合。

nms_threshold 传递给非极大值抑制的阈值。

nms_sigma 传递给非极大值抑制的 Sigma 值。

__call__(model: ml.Model, inputs: list, outputs: list) list

ml.Model.predict() 调用以对模型输出进行后处理。

model 后处理器所附加到的 ml.Model 实例。

inputs 模型输入对象列表(用于获取输入 ROI)。

outputs 原始模型输出张量列表。

返回一个按类别分组的 ((x, y, w, h), score) 元组列表的列表。例如 [[((x, y, w, h), score), ...], ...]。空的类别列表会被保留,以使每个列表索引与模型的类别索引相匹配。当没有检测结果通过分数阈值时,返回空元组 ()

class YoloLC -- YOLO LC

YOLO LC 模型输出的后处理器。是 YoloV2 的子类,提供了一组针对 YOLO LC 模型调优的不同默认锚框。

class ml.postprocessing.darknet.YoloLC(threshold: float = 0.6, anchors: numpy.ndarray = None, nms_threshold: float = 0.1, nms_sigma: float = 0.1)

创建一个 YOLO LC 后处理器。

threshold 在非极大值抑制之前应用的分数阈值。

anchors 形状为 (N, 2) 的二维 numpy.ndarray,保存模型训练时所用的 (w, h) 锚框尺寸。若为 None,则使用内置的默认 5 个 YOLO LC 锚框集合。

nms_threshold 传递给非极大值抑制的阈值。

nms_sigma 传递给非极大值抑制的 Sigma 值。

__call__(model: ml.Model, inputs: list, outputs: list) list

继承自 YoloV2。参见 YoloV2.__call__()