
Frigate 如何提交标注图像并请求你的第一个自定义检测模型【免费下载链接】frigateNVR with realtime local object detection for IP cameras项目地址: https://gitcode.com/GitHub_Trending/fr/frigateFrigate 允许你基于自己摄像头采集的图像训练一个针对自家场景优化的自定义检测模型在 Frigate 的 Explore 页面提交带快照的检测图像到 Frigate 网站完成标注和验证然后在 Models 页面提交模型请求训练完成后用plus://模型路径把新模型配置到 Frigate 上。完成本文后你会拥有一个可以替代默认模型运行的 Frigate 自定义检测模型。前提是Frigate 已正常运行、已启用快照Snapshots并且拥有有效的 Frigate 订阅——文档明确说明提交模型请求submit model requests需要一个 active subscription且每个模型请求消耗年度订阅包含的 12 次训练额度中的 1 次。另外Frigate 需要活动网络连接Frigate 会向api.frigate.video发起模型下载、图像上传和标注提交等通信。准备工作配置 API key在 plus.frigate.video 站点创建账号支持免费账号登录后在 Settings 中为 Frigate 生成 API key。在 Frigate 侧通过环境变量或 docker secret 设置PLUS_API_KEY这会在 Explore 页面启用 Frigate 相关按钮。Home Assistant App 用户可以在 Settings Apps Frigate Configuration Options 中设置需要先打开 Show unused optional configuration options 开关。文档中有一个明确警告不能使用 Frigate 配置文件的environment_vars段来设置这个变量它必须定义在 docker 配置或 Home Assistant App 配置中作为环境变量。第一步从 Explore 页面提交示例图像配置好 API key 后可以在 Frigate 的 Explore 页面直接提交示例打开 More Filters 菜单选择 Has a Snapshot - Yes 和 Submitted to Frigate - No在面板底部点击 Apply。点击一个缩略图选择 Snapshot 标签页即可向 Frigate 提交该示例。可以用键盘左右方向键在已跟踪对象的快照之间快速切换。注意必须启用 Snapshots 才能提交示例。提交方向文档建议同时提交真阳性true positives和假阳性false positives目标比例是全部图像中 80% 真阳性、20% 假阳性这有助于模型区分什么该检测、什么不该检测。第二步标注并验证图像在 plus.frigate.video 站点可以看到所有已提交的图像点击图像即可添加标注。标注时按以下文档给出的规范操作标注图像中的每个物体验证前必须标完所有物体否则模型会学到画面那部分不是车之类的错误信息。画紧的边界框更紧凑的框能提高识别效果并保证运行时预测出准确的框。遮挡时也要标注完整物体例如人站在车后面要标出完整的人即使部分身体被遮挡物体只在画面内可见部分足以被认出来时才标注。难以辨认的物体标记为 difficult目前该标记尚未用于模型训练文档说明未来会启用。快递商标 logo 单独画框Fedex 卡车先标为car再为 Fedex logo 单独画一个框多个 logo 每个都要标。关于图像状态的两个要点AI 建议标签有效订阅下新上传的图像会按摄像头配置扫描标注时显示为浅蓝色建议框。建议保存时会转为正式标签所以要删掉多余建议、去重每个物体只保留一个最准确的框。假阳性标签显示为带删除线的红框不能调整但可以删除误提交时。如果物体被认错例如 person 被识别为 cat应在 Frigate 中提交为假阳性同时在正确类别上补一个标签两个框会重叠。标注完成前用spacebar验证并保存Verify and save。其他快捷键w加框、d切换 difficult、s/Shift s切换下一个/上一个标签、tab选中下一个最大的框、del删除当前框、方向键移动框、Shift 方向键调整框大小、scrollwheel缩放、f隐藏/显示除当前框外的所有框、?查看全部快捷键。数量目标请求第一个模型前至少要有 10 张已验证的图像文档建议每摄像头达到 100 张验证图像后效果会明显变好且要覆盖不同条件阴天、晴天、黎明、黄昏、夜间。一个容易被忽略的限制只有至少含一个已验证标签的图像才会用于训练从 Frigate 提交图像本身不会完成验证必须在 Frigate 中验证。第三步在 Models 页面提交模型请求有了初始的一组验证图像后到 Models 页面请求模型。选择模型类型时按硬件匹配硬件推荐 Detector 类型推荐模型类型CPUcpumobiledetCoral所有形态edgetpuyolov9edgetpuvariantIntelopenvinoyolov9NVidia GPUonnxyolov9AMD ROCm GPUonnxyolov9Hailo8/Hailo8L/Hailo8Rhailo8lyolov9Rockchip NPUrknnyolov9三种模型类型mobiledet基于 Frigate 默认模型同架构跑在 Google Coral 和 CPU 上、yolonas精度略高、小目标检测更好跑在 Intel/NVidia/AMD GPU 上、yolov9支持范围最广分s、t、edgetpu三个 variant。文档建议不确定选哪种时可以先从 Base Models 标签页测试各版本的基础模型yolov9s的320x320分辨率是建议的起点。两个硬件相关注意事项Hailo 设备在提交模型请求时需要指定你具体的硬件不同 Hailo 硬件之间不兼容提交前建议先用可用的 base 模型测试Rockchip 平台自 0.17 起会自动转换0.16 需要手动转换 YOLOv9 onnx 模型。模型创建最长可能需要 36 小时。生成的模型会支持所有可用标签类型即使你没有为某些标签提交过示例。第四步配置你的 Frigate 模型模型就绪后你会收到邮件通知。Frigate 模型使用特殊的模型路径其余配置会从 Frigate 自动拉取不需要额外配置UI 方式进入 Settings System Detectors and model在Detection Model部分选择Frigate标签页从Available Frigate models下拉框选择你的新模型点击 Save然后重启 Frigate 使更改生效。YAML 方式detectors: ... model: path: plus://your_model_id其中your_model_id替换为你从 Models 页面/邮件获得的模型 ID。设置 plus 模型 ID 时其他所有字段都应删除因为它们由 Frigate 模型配置自动提供。文档还说明模型 ID 不是机密值可以自由共享访问由 API key 保护模型文件下载到/config/model_cache目录仅在需要时下载。第五步调高 object filters 的分数阈值文档指出 Frigate 模型的分数普遍高于默认模型因此你需要提高threshold和min_score。以下是源文档给出的示例值文档明确说明这些值应随模型改进而演进作为示例参考不是固定预期objects: filters: dog: min_score: .7 threshold: .9 cat: min_score: .65 threshold: .8 face: min_score: .7 package: min_score: .65 threshold: .9 license_plate: min_score: .6 amazon: min_score: .75 ups: min_score: .75 fedex: min_score: .75 person: min_score: .65 threshold: .85 car: min_score: .65 threshold: .85UI 方式进入 Settings Global configuration Objects在Object filters中为每种物体类型设置Min Score和Threshold点击 Save。一个例外face、license_plate和快递商标 logo如amazon、ups、fedex属于 attribute 标签threshold对它们不生效需要调整min_score和其他过滤值。要让 Frigate 开始使用这些 attribute 标签需要把它们加进跟踪列表objects: track: - person - face - license_plate - dog - cat - car - amazon - fedex - ups - package限制与已知行为训练初期 Frigate 模型可能出现更多假阳性文档的应对方式是持续提交真阳性和假阳性并适当调低阈值以在阈值附近产生更多训练样本。如果覆盖 Frigate 模型的 labelmap 重命名标签会破坏 Submit to Frigate 功能文档明确不建议这样做。只有验证过至少一个验证标签的图像参与训练从 Frigate 提交未验证的图像不会进入训练集。场景变化如季节、新增物体出现新的假阳性类型时需要提交新的示例并重新训练每次请求消耗 12 次年度训练额度中的 1 次。进一步阅读请求第一个模型的完整文档、标注指南、Frigate 集成配置 以及 object filters 中 threshold 与 min_score 的关系。【免费下载链接】frigateNVR with realtime local object detection for IP cameras项目地址: https://gitcode.com/GitHub_Trending/fr/frigate创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考