31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
|
|
"""向后兼容 shim:保留 ObjectDetector 名称,内部委托给 OnnxEngine
|
|||
|
|
|
|||
|
|
旧代码 `from app.analysis.detector import ObjectDetector` 仍可工作,
|
|||
|
|
新代码请直接使用 `app.analysis.engines.EngineFactory`。
|
|||
|
|
"""
|
|||
|
|
import logging
|
|||
|
|
|
|||
|
|
from app.analysis.engines.onnx_engine import OnnxEngine
|
|||
|
|
|
|||
|
|
logger = logging.getLogger("analysis.detector")
|
|||
|
|
|
|||
|
|
|
|||
|
|
class ObjectDetector(OnnxEngine):
|
|||
|
|
"""已废弃:等价于 OnnxEngine(detect 任务)。保留以兼容旧 import。"""
|
|||
|
|
|
|||
|
|
def __init__(self, model_path=None, labels=None, input_size=(640, 640),
|
|||
|
|
conf_threshold=0.4, iou_threshold=0.5, providers=None):
|
|||
|
|
super(ObjectDetector, self).__init__(
|
|||
|
|
model_file=model_path or "",
|
|||
|
|
labels=labels,
|
|||
|
|
input_size=input_size,
|
|||
|
|
conf_threshold=conf_threshold,
|
|||
|
|
iou_threshold=iou_threshold,
|
|||
|
|
providers=providers,
|
|||
|
|
task_type="detect",
|
|||
|
|
device="cpu",
|
|||
|
|
algorithm_type="yolo8",
|
|||
|
|
)
|
|||
|
|
if model_path:
|
|||
|
|
self.load()
|