开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 10297|回复: 6
收起左侧

[技术专题] Yolo-FastestV2 CPU 实时检测

[复制链接]
结帖率:87% (79/91)
发表于 2022-8-24 21:06:18 | 显示全部楼层 |阅读模式   江苏省苏州市
本帖最后由 z13228604287 于 2022-8-24 21:09 编辑

yolo-fastestV2版本已发布:[color=var(--color-accent-fg)]https ://github.com/dog-qiuqiu/Yolo-FastestV2

  • 简单、快速、紧凑、易于移植
  • 资源占用少,单核性能出色,功耗更低
  • 更快更小:以 0.3% 的精度损失换取推理速度提高 30%,参数量减少 25%
  • 训练速度快,算力要求低,训练只需要3GB显存,gtx1660ti训练COCO 1个epoch只需要4分钟


QQ图片20220824210542.png



  
窗口程序集名保 留  保 留备 注
YOLO_Fast  https://github.com/dog-qiuqiu/Yolo-FastestV2
变量名类 型数组备 注
小数型2,6 
小数型0 
输入宽整数型  
输入高整数型  
阶段数整数型  
锚数整数型  
对象阈值小数型  
置信阈值小数型  
抑制阈值小数型  
类名数组文本型0 
类名数整数型  
网络网络类  

子程序名返回值类型公开备 注
_初始化 当基于本类的对象被创建后,此方法会被自动调用
[1] [1] = 12.64
[1] [2] = 19.39
[1] [3] = 37.88
[1] [4] = 51.48
[1] [5] = 55.71
[1] [6] = 138.31
[2] [1] = 126.91
[2] [2] = 78.23
[2] [3] = 131.57
[2] [4] = 214.55
[2] [5] = 279.92
[2] [6] = 258.87
步 = { 16, 32 }
类名数组 = 分割文本 ( #coco, #换行符, )
类名数 = 取数组成员数 (类名数组)
输入宽 = 352
输入高 = 352
阶段数 = 2
锚数 = 3
子程序名返回值类型公开备 注
_销毁 当基于本类的对象被销毁前,此方法会被自动调用

子程序名返回值类型公开备 注
初始化 
参数名类 型参考可空数组备 注
模型路径文本型
对象_阈值小数型
置信_阈值小数型
抑制_阈值小数型
对象阈值 = 对象_阈值
置信阈值 = 置信_阈值
抑制阈值 = 抑制_阈值
网络 = 视觉_读取网络 (模型路径, , “”)
子程序名返回值类型公开备 注
检测识别 
参数名类 型参考可空数组备 注
输入图多维矩阵类
变量名类 型静态数组备 注
预处理多维矩阵类 
输出数组多维矩阵类0
类ID数组整数型0
置信度数组小数型0
预测框数组矩形2i类0
高系数小数型 
宽系数小数型 
n整数型 
q整数型 
i整数型 
j整数型 
步进整数型 
整数型 
数据指针小数型指针类 
X网格数整数型 
Y网格数整数型 
多维矩阵类 
类ID位置点2i类 
最大类得分双精度小数型 
锚_宽小数型 
锚_高小数型 
预测框分小数型 
中心X小数型 
中心Y小数型 
小数型 
小数型 
小数型 
小数型 
抑制数组整数型0
目标ID整数型 
目标预测框矩形2i类 
频率双精度小数型 
时间双精度小数型 
网络层计时数组双精度小数型0
标签文本型 
预处理 = 视觉_图像前景目标 (输入图, 1 ÷ 255, 尺寸2i (输入宽, 输入高), , 假, 假, 5)
网络.设置输入 (预处理, “”, 1, )
网络.前向计算V (输出数组, 网络.获取未连接的输出层名称 ())
高系数 = 输入图.行数 () ÷ 输入高
宽系数 = 输入图.列数 () ÷ 输入宽
步进 = 锚数 × 5 + 取数组成员数 (类名数组)
数据指针.指针 = 输出数组 [1].数据指针 ()
计次循环首 (阶段数, n)
X网格数 = 输入宽 ÷ 步 [n]
Y网格数 = 输入高 ÷ 步 [n]
变量循环首 (0, Y网格数 - 1, 1, i)
变量循环首 (0, X网格数 - 1, 1, j)
分 = 输出数组 [1]. ().列范围 (锚数 × 5, 输出数组 [1].列数 ())
' 获取最高分的数值和位置
视觉_最小最大位置 (分, , 最大类得分, , 类ID位置, )
变量循环首 (0, 锚数 - 1, 1, q)
锚_宽 = 锚 [n] [q × 2 + 1]
锚_高 = 锚 [n] [q × 2 + 2]
预测框分 = 数据指针. (4 × 锚数 + q)
如果真 (预测框分 > 对象阈值 最大类得分 > 置信阈值)
中心X (数据指针. (4 × q) × 2 - 0.5 + j) × 步 [n]
中心Y (数据指针. (4 × q + 1) × 2 - 0.5 + i) × 步 [n]
宽 = 求次方 (数据指针. (4 × q + 2) × 2, 2) × 锚_宽
高 = 求次方 (数据指针. (4 × q + 3) × 2, 2) × 锚_高
(中心X - 0.5 × 宽) × 宽系数
(中心Y - 0.5 × 高) × 高系数
加入成员 (类ID数组, 类ID位置.左边)
加入成员 (置信度数组, 预测框分 × 最大类得分)
加入成员 (预测框数组, 矩形2i (左, 顶, 宽 × 宽系数, 高 × 高系数))

变量循环尾 ()
行 = 行 + 1
数据指针.偏移 (步进)
变量循环尾 ()
变量循环尾 ()
计次循环尾 ()
视觉_非最大抑制 (预测框数组, 置信度数组, 置信阈值, 抑制阈值, 抑制数组, 1, 0)
计次循环首 (取数组成员数 (抑制数组), i)
目标ID = 抑制数组 [i] + 1
目标预测框 = 预测框数组 [目标ID]
绘制预测 (类ID数组 [目标ID], 置信度数组 [目标ID], 目标预测框.左边, 目标预测框.顶边, 目标预测框.左边 + 目标预测框.宽度, 目标预测框.顶边 + 目标预测框.高度, 输入图)
计次循环尾 ()
频率 = 视觉_获取滴答频率 () ÷ 1000
时间 = 网络.视觉_获取性能 (网络层计时数组) ÷ 频率
标签 = “Yolo-FastestV2 Inference time :”到文本 (四舍五入 (时间, 2)) + “ms”
视觉_放置文本 (输入图, 标签, 点2i (0, 20), #字体_衬线_简单, 0.5, 标量 (0, 0, 255), 1, 8, )
子程序名返回值类型公开备 注
绘制预测  
参数名类 型参考可空数组备 注
类ID整数型
置信度小数型
整数型
整数型
整数型
整数型
输入图多维矩阵类
变量名类 型静态数组备 注
基线整数型 
标签尺寸尺寸2i类 
标签文本型 
' //原图显示边框的矩形
视觉_矩形P (输入图, 点2i (左, 顶), 点2i (右, 底), 标量 (0, 0, 255), 3, 8, 0)
' //获取类名的标签及其置信度
标签 = 到文本 (四舍五入 (置信度, 2))
' //修正易语言数组 偏移
类ID = 类ID + 1
标签 = 类名数组 [类ID]“:” + 标签
' //在边框顶部显示标签
标签尺寸 = 视觉_获取文本尺寸 (标签, #字体_衬线_简单, 0.5, 1, 基线)
顶 = 视觉_取最大值 (顶, 标签尺寸.高)
' 视觉_矩形1 (frame, 点2i (left, top - 1.5 × labelSize.高), 点2i (left + 1.5 × labelSize.宽, top + baseLine), 标量 (0, 255, 0), #线类型_填满, 8, 0)
视觉_放置文本 (输入图, 标签, 点2i (左, 顶), #字体_衬线_简单, 0.75, 标量 (0, 255, 0), 1, 8, )


i支持库列表   支持库注释   
OpenCV(未知支持库)

  
窗口程序集名保 留  保 留备 注
YOLO_Fastestv2  QQ 群164579213
子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
变量名类 型静态数组备 注
YOLO_Fastv2YOLO_Fast 
imgpath文本型 
srcimg多维矩阵类 
kWinName文本型 
YOLO_Fastv2.初始化 (“C:\Users\hanyo\Desktop\yolo-fastestv2-opencv-main\model.onnx”, 0.3, 0.3, 0.4)
imgpath = “C:\Users\hanyo\Desktop\yolo-fastestv2-opencv-main\img\000181.jpg”
srcimg = 视觉_图像读取 (imgpath, 1)
YOLO_Fastv2.检测识别 (srcimg)
kWinName = “易语言 深度学习对象检测”
视觉_创建窗口 (kWinName, #窗口_标准 )
视觉_显示图像 (kWinName, srcimg)
视觉_等待按键 (0)
视觉_销毁所有窗口 ()
返回 (0)  ' 可以根据您的需要返回任意数值



i支持库列表   支持库注释   
OpenCV(未知支持库)


发表于 2022-8-30 22:24:32 | 显示全部楼层   安徽省安庆市
谢谢,很有通用,加油
回复 支持 反对

使用道具 举报

结帖率:73% (35/48)

签到天数: 21 天

发表于 2022-8-30 14:44:20 | 显示全部楼层   浙江省杭州市
**
回复 支持 反对

使用道具 举报

结帖率:100% (3/3)

签到天数: 2 天

发表于 2022-8-29 10:22:56 | 显示全部楼层   黑龙江省鸡西市
大佬。我想进群

点评

164579213   江苏省*  发表于 2022-8-29 11:06
回复 支持 反对

使用道具 举报

结帖率:87% (79/91)

签到天数: 8 天

 楼主| 发表于 2022-8-25 08:00:21 | 显示全部楼层   江苏省苏州市

没有错  cpu  32ms
回复 支持 反对

使用道具 举报

结帖率:100% (42/42)

签到天数: 8 天

发表于 2022-8-24 21:19:30 | 显示全部楼层   河南省新乡市
32ms 搞错了吧
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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