核心用法
Kami Package Detection 是一款面向智能家居场景的计算机视觉技能,基于 YOLOv8-World v2 ONNX 模型实现包裹、背包、手提包、行李箱等物体的实时检测。用户通过配置 RTSP 摄像头地址即可启动后台监控进程,检测到目标后输出 JSON 格式的物体类别与边界框坐标,可直接接入 Home Assistant 等自动化平台触发通知或联动设备。
三种运行模式:
- 后台常驻模式:
--start-detect启动独立进程持续监控,支持多摄像头并行 - 前台单次模式:直接运行脚本,检测到目标或超时后退出并输出结果
- 状态管理:
--status查询运行状态,--stop-detect优雅停止进程
多摄像头支持:通过 config.json 的 cameras 数组配置多个摄像头,每个摄像头可独立设置置信度阈值与运行时长,适合同时监控门前、车库、办公室等多点位。
显著优点
1. 完全本地推理:ONNX Runtime 边缘部署,无需 API 密钥,零云端流量,隐私风险极低
2. 开箱即用:setup.sh 一键创建虚拟环境并安装依赖,模型文件随技能包分发
3. 灵活配置:支持 config.json 持久化配置与命令行参数覆盖,满足开发与生产双场景
4. 多平台兼容:x86_64 与 ARM64 双架构支持,GPU 可选加速,2GB 内存即可运行
5. 生态集成友好:JSON stdout 输出天然适配 Home Assistant、Node-RED 等自动化引擎
潜在缺点与局限性
- 依赖 RTSP 稳定性:网络抖动或摄像头断流会导致检测中断,需自行实现重连逻辑
- 模型泛化边界:YOLO-World 虽支持开放词汇,但对异形包装、极端光照场景的识别率可能下降
- 无内置通知渠道:仅输出 JSON,邮件/短信/APP 推送需用户自行对接自动化平台
- 进程管理粗放:后台模式依赖 PID 文件,异常崩溃后需手动
--status排查 - 存储无历史记录:帧数据不持久化,无法回溯查看"何时放置了包裹"
适合人群
- Home Assistant 玩家寻求替代昂贵的智能门铃方案
- 小型办公室/仓库管理员需要低成本包裹监控
- 隐私敏感用户拒绝云端摄像头服务
- 物联网开发者需要可集成本地视觉推理能力
常规风险
- 误报风险:行人携带背包经过可能触发"包裹"检测,建议结合区域屏蔽或时间窗口过滤
- 漏报风险:置信度阈值过高(>0.5)可能忽略远处小包裹,需根据摄像头分辨率调参
- 资源占用:长时间后台运行持续占用 2GB+ 内存,低功耗 NAS 或树莓派需谨慎部署
- 网络安全:RTSP 明文传输存在内网嗅探风险,建议摄像头启用 RTSP over TLS 或隔离 VLAN