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__()