本仓库原先内嵌在 sophon-edge 的 `algpkg-sdk/`(该仓库历史上的三次相关提交: e8101ba「算法开发能力独立成项目」、090c406「契约名落地为真实模块 + 多模型 ctx」、 b666161「sail 存根 + 编写风格修正」)。现拆出独立建库,便于算法作者单独 clone/迭代、 也便于单独发版(打成 wheel 分发给第三方或进 worker 交付包的 vendor/)。 - 内容:`src/algpkg_sdk/`(api/manifest/loader/builder/testkit/cli)+ 契约名模块 `src/video_algpkg_api/`、`examples/person-count`(完整示例)、`tests/`(pytest,无设备自动跳过)、 `README.md`(已改成独立仓库口径:命令在项目根执行,配套 worker 用路径依赖/`ALGPKG_SDK_DIR`)、 `pyproject.toml`(console script `algpkg`)、`uv.lock`; - 不含 `.venv/`(`.gitignore` 已覆盖,clone 后 `uv sync` 重建)。 配套 worker 仓库(sophon-edge): `workers/video/pyproject.toml` 以路径依赖指向本仓库(`path = "../../../algpkg-sdk"`,可用 `ALGPKG_SDK_DIR` 覆盖);交付打包 `deploy/pack_worker.py` 会把本仓库打成 wheel 放进 worker 包 `vendor/`。
42 lines
2.0 KiB
JSON
42 lines
2.0 KiB
JSON
{
|
|
"manifest_format": 1,
|
|
"id": "demo.person-count",
|
|
"name": "人员计数(示例算法包)",
|
|
"version": "1.0.0",
|
|
"api_version": 1,
|
|
"kind": "counter",
|
|
"entry": "Algorithm",
|
|
"code_package": "alg_demo_person_count",
|
|
"vendor": "chongming",
|
|
"description": "画面人员计数示例包(M8.2/M8.4):自带推理实现(不依赖 worker 内部模块),只用到 video_algpkg_api 的 ctx.model_bytes/param 与 AlgoResult;输出人数(counts/value)与人员框,用于验证\"一个任务挂多个算法\"。",
|
|
"models": [
|
|
{
|
|
"name": "yolo26s_fp16_1b",
|
|
"file": "models/yolo26s_fp16_1b.bmodel",
|
|
"precision": "fp16",
|
|
"resolution": [640, 640],
|
|
"batch": 1,
|
|
"default": true
|
|
}
|
|
],
|
|
"input": {"width": 640, "height": 640, "color": "rgb", "layout": "planar",
|
|
"mean": [0, 0, 0], "std": [255, 255, 255]},
|
|
"output": {"type": "counter", "format": "N6", "classes_file": "assets/labels.txt"},
|
|
"params_schema": [
|
|
{"key": "conf", "type": "float", "default": 0.3, "min": 0.01, "max": 0.99, "step": 0.01,
|
|
"label": "人员置信度阈值", "desc": "低于该分数的人员不计入"},
|
|
{"key": "min_height", "type": "int", "default": 0, "min": 0, "max": 2000, "step": 10,
|
|
"label": "最小人高(像素)", "desc": "过滤远处的误检(0 = 不过滤)"},
|
|
{"key": "interval", "type": "float", "default": 0.5, "min": 0.02, "max": 60, "step": 0.02,
|
|
"label": "抽帧间隔(秒)", "desc": "计数类算法可放慢,省算力"},
|
|
{"key": "draw", "type": "bool", "default": false,
|
|
"label": "绘制叠加", "desc": "把人员框画到输出帧上"}
|
|
],
|
|
"defaults": {"conf": 0.3, "min_height": 0, "interval": 0.5, "draw": false},
|
|
"alarm": {"type_template": "person_count", "cooldown_key": "algo",
|
|
"need_snapshot": true, "need_record": false},
|
|
"requires": {"license_features": [], "devices": ["BM1688", "BM1684X", "CV186X"], "frameworks": ["sail"]},
|
|
"ui": {"order": 20, "tags": ["示例", "计数"], "icon": "mdi-account-multiple"},
|
|
"legacy": {}
|
|
}
|