开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

查看: 14583|回复: 39
收起左侧

[技术专题] 易语言 YOLOv7v1.0 目标检测

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

QQ图片20220802085746.png
简单说明

使用OpenCV、部署YOLOV7目标检测,一共包含12个onnx模型,易语言程序实现 需要OPENCV 支持库。

由于onnx文件太多,无法直接上传到论坛里,需要从百度云盘下载,

链接:https://pan.baidu.com/s/1VSYkILerRQsoDiIhl-6eTQ 提取码:4ypk

YOLOV7的训练源码是:

https://github.com/WongKinYiu/yolov7



详细实现代码如下:
  
窗口程序集名保 留  保 留备 注
YOLOV7, , 公开, 1.0版本   
变量名类 型数组备 注
网络宽整数型  
网络高整数型  
类名字节集0 
类数整数型  
置信阈值小数型  
非最大抑制阈值小数型  
网络网络类  

子程序名返回值类型公开备 注
_初始化 当基于本类的对象被创建后,此方法会被自动调用
置信阈值 = 0.3
非最大抑制阈值 = 0.5
网络高 = 480
网络宽 = 640
子程序名返回值类型公开备 注
_销毁 当基于本类的对象被销毁前,此方法会被自动调用

子程序名返回值类型公开备 注
初始化 
参数名类 型参考可空数组备 注
模型文本型
类名文本型
网络 = 视觉_读取网络 (模型, “”, “”)
类名 = 分割字节集 (读入文件 (类名), { 10 }, )
类数 = 取数组成员数 (类名)
子程序名返回值类型公开备 注
检测 
参数名类 型参考可空数组备 注
多维矩阵类
变量名类 型静态数组备 注
密保多维矩阵类 
输出多维矩阵类0
结果_数整数型 
N输出整数型 
位移长度整数型 
高比率小数型 
宽比率小数型 
计次整数型///cx,cy,w,h,box_score,class_score
行_位置整数型///cx,cy,w,h,box_score,class_score
小数指针整数型 
预测框分数小数型 
分数多维矩阵类 
最大类分数双精度小数型 
类ID位置点2i类 
类_ID整数型 
中心X小数型 
中心y小数型 
小数型 
小数型 
左边整数型 
顶边整数型 
置信度数组小数型0
预测框数组矩形2i类0
类ID数组整数型0
抑制索引整数型0
类ID整数型 
预测框矩形2i类 
密保 = 视觉_图像前景目标 (图, 1 ÷ 255, 尺寸2i (网络宽, 网络高), , 真, 假, 5)
网络.设置输入 (密保, “”, 1, )
网络.前向计算V (输出, 网络.获取未连接的输出层名称 ())
结果_数 = 输出 [1].维度元素数 (0)
N输出 = 输出 [1].维度元素数 (1)
如果真 (输出 [1].维度 () > 2)
结果_数 = 输出 [1].维度元素数 (1)
N输出 = 输出 [1].维度元素数 (2)
输出 [1] = 输出 [1].重塑 (0, 结果_数)

高比率 = 图.行数 () ÷ 网络高
宽比率 = 图.列数 () ÷ 网络宽
小数指针 = 输出 [1].数据指针 ()
位移长度 = N输出 × 4
计次循环首 (结果_数, 计次)
预测框分数 = 指针到小数 (小数指针 + 16)
如果真 (预测框分数 > 置信阈值)
分数 = 输出 [1]. (行_位置).列范围 (5, N输出)
' 获取最高分的数值和位置
视觉_最小最大位置 (分数, , 最大类分数, , 类ID位置, )
最大类分数 = 最大类分数 × 预测框分数
如果真 (最大类分数 > 置信阈值)
类_ID = 类ID位置.左边
中心X = 指针到小数 (小数指针) × 宽比率  ' ///cx
中心y = 指针到小数 (小数指针 + 4) × 高比率  ' ///cy
宽 = 指针到小数 (小数指针 + 8) × 宽比率  ' ///w
高 = 指针到小数 (小数指针 + 12) × 高比率  ' ///h
左边 = 中心X - 0.5 × 宽
顶边 = 中心y - 0.5 × 高
加入成员 (置信度数组, 最大类分数)
加入成员 (预测框数组, 矩形2i (左边, 顶边, 宽, 高))
加入成员 (类ID数组, 类_ID)

行_位置 = 行_位置 + 1
小数指针 = 小数指针 + 位移长度
计次循环尾 ()
' // 执行非最大抑制以消除冗余重叠预测框
' // 降低置信度
视觉_非最大抑制 (预测框数组, 置信度数组, 置信阈值, 非最大抑制阈值, 抑制索引, 1, 0)
计次循环首 (取数组成员数 (抑制索引), 计次)
类ID = 抑制索引 [计次]
预测框 = 预测框数组 [类ID + 1]
绘制结果 (置信度数组 [类ID], 预测框.左边, 预测框.顶边, 预测框.左边 + 预测框.宽度, 预测框.顶边 + 预测框.高度, 图, 类ID数组 [类ID])
计次循环尾 ()
子程序名返回值类型公开备 注
绘制结果  
参数名类 型参考可空数组备 注
自信度小数型
左边整数型
顶边整数型
右边整数型
底边整数型
多维矩阵类
类ID整数型
变量名类 型静态数组备 注
标签文本型 
标签尺寸尺寸2i类 
基线整数型 
视觉_矩形1 (图, 点2i (左边, 顶边), 点2i (右边, 底边), 标量 (0, 0, 255), 2, 0, 0)
标签 = 到文本 (类名 [类ID + 1])“:”到文本 (自信度)
标签尺寸 = 视觉_获取文本尺寸 (标签, #字体_衬线_简单, 0.5, 1, 基线)
顶边 = 视觉_取最大值 (顶边, 标签尺寸.高)
视觉_放置文本 (图, 标签, 点2i (左边, 顶边), #字体_衬线_简单, 0.75, 标量 (0, 255, 0), 1, 8, )


i支持库列表   支持库注释   
OpenCV(未知支持库)
  
窗口程序集名保 留  保 留备 注
程序集1   
变量名类 型数组备 注
配置网络_配置  

子程序名返回值类型公开备 注
_启动子程序整数型 本子程序在程序启动后最先执行
变量名类 型静态数组备 注
网络YOLOV7 
srcimg多维矩阵类 
计时长整数型 
网络.初始化 (“C:\Users\hanyo\Desktop\yolov7-tiny_480x640.onnx”, “E:\OPENCV\YOLO4\darknet-master\build\darknet\x64\data\coco.names”)
srcimg = 视觉_图像读取 (“C:\Users\hanyo\Desktop\YOLO-v6.0\YOLO5_测试模型\dog.jpg”, #读图_彩色 )
计时 = 视觉_取启动时间 ()
网络.检测 (srcimg)
调试输出 (“耗时:”, 视觉_取启动时间差异 (计时, 0))
视觉_创建窗口 (“OpenCV YOLO7 调用测试”, #窗口_标准 )
视觉_显示图像 (“OpenCV YOLO7 调用测试”, srcimg)
视觉_等待按键 (0)
视觉_销毁所有窗口 ()
返回 (0)  ' 可以根据您的需要返回任意数值



i支持库列表   支持库注释   
OpenCV(未知支持库)
spec特殊功能支持库


点评

后面那个是truck也就算了,前面这个也是?   广东省东莞市  发表于 2022-8-2 11:13

发表于 2023-11-2 08:45:16 | 显示全部楼层   四川省成都市
6666666666666666
回复 支持 反对

使用道具 举报

发表于 2023-9-25 14:18:32 | 显示全部楼层   山东省青岛市
6666666666666666666
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2023-9-10 21:05:40 | 显示全部楼层   江苏省常州市
提供了思路,慢慢找
回复 支持 反对

使用道具 举报

发表于 2023-9-7 11:46:21 | 显示全部楼层   河南省许昌市
65222222222222222222222
回复 支持 反对

使用道具 举报

签到天数: 17 天

发表于 2023-9-7 11:37:15 | 显示全部楼层   山东省临沂市
他这个是收费的吧
回复 支持 反对

使用道具 举报

结帖率:0% (0/2)
发表于 2023-3-31 11:37:24 | 显示全部楼层   湖南省怀化市
支持开源~~~~~感谢共享
回复 支持 反对

使用道具 举报

签到天数: 14 天

发表于 2023-2-4 00:19:44 | 显示全部楼层   浙江省舟山市
怎么使用,有具体教程吗?
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)

签到天数: 11 天

发表于 2023-1-24 17:30:58 | 显示全部楼层   浙江省温州市
好,太好了
回复 支持 反对

使用道具 举报

发表于 2023-1-18 20:10:34 高大上手机用户 | 显示全部楼层   北京市北京市
支持开源,真心感谢
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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