找回密码
 立即注册

微信扫码登录

搜索
查看: 124|回复: 6

[经验分享] frigate 使用coral TPU 跑官方未支持的yolo9模型

[复制链接]

37

主题

256

回帖

2291

积分

论坛UI达人

积分
2291
金钱
1993
HASS币
60
发表于 昨天 15:02 | 显示全部楼层 |阅读模式
本帖最后由 gasment 于 2025-11-17 15:08 编辑

我的frigate里目前有10条检测流,峰值检测帧数为60fps,目前使用coral  edge tpu跑默认的SSD MobileDet模型做对象检测,SSD MobileDet速度比较快(典型值10ms,我这里为6~7ms),但是精度不行;
需要提高精度的话要跑yolo/yolo-nas,但是官方尚未支持coral检测器的yolo模型;
最近翻到一个github项目,专门为frigate的coral检测器的适配了yolo v9模型(https://github.com/dbro/frigate-detector-edgetpu-yolo9)
如果你也使用coral检测,而又为检测精度烦恼,可以尝试下这个项目,我这里做下搬运

PS:如果想了解更多firgate知识,可以翻下我经验总结文档:【更新0.16.1正式版】万字经验,一文带你入门frigate AI监控 - 『HomeAssistant』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz!


测试环境:
  • frigate 0.16.2
  • 黑裙DSM7.2 linux 5.10
  • CC150 8C16T CPU
  • nvidia T600 gpu (仅用于编解码)
  • coral edge tpu pcie版

跟换模型前后对比:
  • CPU:未见明显使用率提升
  • coral:yolo9-small-320模型检测速率上升到8~10ms;yolo9-small-512模型检测速率上升到16~18ms;对比默认模型为6~7ms

项目使用方法:
1、下载3个必须文件

  • edgetpu_tfl.py,用于支持额外yolo9模型的中间插件,github链接,附件分流: edgetpu_tfl.py (18.15 KB, 下载次数: 1)
  • labels-coco17.txt,对象分类数据集,作者提供的数据集目前有17个,与firgate自带的基本重合,github链接,附件分流: labels-coco17.txt (103 Bytes, 下载次数: 1)
person
bicycle
car
motorcycle
airplane
bus
train
truck
boat
bird
cat
dog
horse
sheep
cow
elephant
bear
  • 模型文件,目前(v1.5)作者提供了两个版本的模型:
  • YOLO v9 small 320x320:输入尺寸为320x320,适合中近距离的检测,检测速度比较快,我这边测试是8~10ms
  • YOLO v9 small 512x512:  输入尺寸为512x512,在320x320的基础上,对远距离小物体的检测更好,检测置信度普遍比320高一些,但是检测速度会下降,我这边测试是16~18ms
  • 以上模型按需选择
  • 320模型:github,网盘分流:
    游客,如果您要查看本帖隐藏内容请回复
  • 512模型:github,网盘分流:
    游客,如果您要查看本帖隐藏内容请回复



2、将
edgetpu_tfl.py、labels-coco17.txt、yolov9-s-relu6-tpumax_320_int8_edgetpu.tflite 3个文件放入到firgate的docker映射目录config下
比如/config/coral_yolo9/

3、停止frigate容器,修改frigate的compose配置。在volumes配置里添加
volumes:    
      - /volume1/docker/frigate/frigate_16_release/config/coral_yolo9/edgetpu_tfl.py:/opt/frigate/frigate/detectors/plugins/edgetpu_tfl.py:ro
其中/volume1/docker/frigate/frigate_16_release/config/coral_yolo9/edgetpu_tfl.py需要改为你edgetpu_tfl.py文件的真实路径


4、重新构建frigate compose 容器,启动frigate,进入配置编辑器,将原来的detectors配置修改为:
# detectors:  #原来的配置注释掉
#   coral:
#     type: edgetpu
#     device: pci
detectors:
  coral:
    type: edgetpu
model:   #新增一个模型配置
  model_type: yolo-generic
  labelmap_path: /config/coral_yolo9/labels-coco17.txt  #按自己实际路径填写
  path: /config/coral_yolo9/yolov9-s-relu6-tpumax_320_int8_edgetpu.tflite  #按自己实际路径填写
  width: 320  #按自己选择的模型填写
  height: 320

5、保存配置后,重启firgate,观察日志有无报错,如启用成功,会看到一些相关输出
image.png

6、因为模型更换,识别置信度和旧模型存在差异,需要重新调试检测流的objects filters阈值


✅以上~


评分

参与人数 1金钱 +12 收起 理由
隔壁的王叔叔 + 12 感谢楼主分享!

查看全部评分

回复

使用道具 举报

0

主题

40

回帖

401

积分

中级会员

积分
401
金钱
361
HASS币
0
发表于 昨天 15:08 | 显示全部楼层
看看能不能跑起来
回复

使用道具 举报

32

主题

1549

回帖

7157

积分

元老级技术达人

积分
7157
金钱
5551
HASS币
70
发表于 昨天 15:22 | 显示全部楼层
牛逼,但我自己用下来 TPU的精度还行啊,没有特别明显的误报
回复

使用道具 举报

37

主题

256

回帖

2291

积分

论坛UI达人

积分
2291
金钱
1993
HASS币
60
 楼主| 发表于 昨天 15:55 | 显示全部楼层
c1pher_小愚 发表于 2025-11-17 15:22
牛逼,但我自己用下来 TPU的精度还行啊,没有特别明显的误报

我这边对人的误判就比较多,时不时就把衣服和电动车正面后面判断成人,而且置信度还不低
回复

使用道具 举报

32

主题

1549

回帖

7157

积分

元老级技术达人

积分
7157
金钱
5551
HASS币
70
发表于 昨天 19:39 | 显示全部楼层
gasment 发表于 2025-11-17 15:55
我这边对人的误判就比较多,时不时就把衣服和电动车正面后面判断成人,而且置信度还不低 ...

奥,我摄像头一个对着客厅一个对着门外走廊,没有电动车和挂衣服的杂音
回复

使用道具 举报

61

主题

642

回帖

4932

积分

论坛元老

积分
4932
金钱
4224
HASS币
20
发表于 昨天 22:11 | 显示全部楼层
楼主 黑白画面呢 误报有改善吗
回复

使用道具 举报

37

主题

256

回帖

2291

积分

论坛UI达人

积分
2291
金钱
1993
HASS币
60
 楼主| 发表于 4 小时前 | 显示全部楼层
gmshiwoge 发表于 2025-11-17 22:11
楼主 黑白画面呢 误报有改善吗

红外夜视有改善,我把对象遮罩都去掉了,之前误报的地方目前还没复现
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-11-18 04:36 , Processed in 0.200125 second(s), 11 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表