当前位置: 首页 > news >正文

专注做一家男生最爱的网站片头制作网站

专注做一家男生最爱的网站,片头制作网站,一个网站 二级域名,免费做企业推广的网站AI赋能生产生活场景#xff0c;是加速人工智能技术落地的有利途径#xff0c;在前文很多具体的业务场景中我们也从实验的角度来尝试性地分析实践了基于AI模型来助力生产生活制造相关的各个领域#xff0c;诸如#xff1a;基于AI硬件实现农业作物除草就是一个比较熟知的场景…AI赋能生产生活场景是加速人工智能技术落地的有利途径在前文很多具体的业务场景中我们也从实验的角度来尝试性地分析实践了基于AI模型来助力生产生活制造相关的各个领域诸如基于AI硬件实现农业作物除草就是一个比较熟知的场景对于作物生产采摘场景我们则比较有所涉及本文的主要目的就是填补这块的空白以油茶作物采摘场景下的油茶作物成熟检测为切入点基于目标检测模型来开发构建自动化的油茶作物成熟检测识别系统这里是开篇主要是基于YOLOv7来开发实现的实验性质的项目在实际落地的时候离不开硬件端和控制端的组合我们这里则主要是偏向软件模型的实现首先看下实例效果 在前文我们已经进行了相关的实践感兴趣的话可以自行移步阅读即可 《赋能智慧农业生产基于YOLOv3开发构建农业生产场景下油茶作物成熟检测识别系统》 《赋能智慧农业生产基于YOLOv8全系列【n/s/m/l/x】开发构建农业生产场景下油茶作物成熟检测识别系统》 《赋能智慧农业生产基于YOLOv5开发构建农业生产场景下油茶作物成熟检测识别系统》 YOLOv7是 YOLO 系列最新推出的YOLO 结构在 5 帧/秒到 160 帧/秒范围内其速度和精度都超过了大部分已知的目标检测器在 GPU V100 已知的 30 帧/秒以上的实时目标检测器中YOLOv7 的准确率最高。根据代码运行环境的不同(边缘 GPU、普通 GPU 和云 GPU)YOLOv7 设置了三种基本模型分别称为 YOLOv7-tiny、YOLOv7和 YOLOv7-W6。相比于 YOLO 系列其他网络 模 型 YOLOv7 的 检 测 思 路 与YOLOv4、YOLOv5相似YOLOv7 网络主要包含了 Input(输入)、Backbone(骨干网络)、Neck(颈部)、Head(头部)这四个部分。首先图片经过输入部分数据增强等一系列操作进行预处理后被送入主干网主干网部分对处理后的图片提取特征随后提取到的特征经过 Neck 模块特征融合处理得到大、中、小三种尺寸的特征最终融合后的特征被送入检测头经过检测之后输出得到结果。 YOLOv7 网络模型的主干网部分主要由卷积、E-ELAN 模块、MPConv 模块以及SPPCSPC 模块构建而成 。在 Neck 模块YOLOv7 与 YOLOv5 网络相同也采用了传统的 PAFPN 结构。FPN是YoloV7的加强特征提取网络在主干部分获得的三个有效特征层会在这一部分进行特征融合特征融合的目的是结合不同尺度的特征信息。在FPN部分已经获得的有效特征层被用于继续提取特征。在YoloV7里依然使用到了Panet的结构我们不仅会对特征进行上采样实现特征融合还会对特征再次进行下采样实现特征融合。Head检测头部分YOLOv7 选用了表示大、中、小三种目标尺寸的 IDetect 检测头RepConv模块在训练和推理时结构具有一定的区别。 接下来简单看下数据集情况 这里主要是选择了yolov7-tiny这款轻量级参数量级的模型来进行开发训练训练数据配置文件如下 # txt path  train: ./dataset/images/train val: ./dataset/images/test test: ./dataset/images/test # number of classes nc: 2 # class names names: [immature, mature] 模型文件如下 # parameters nc: 2  # number of classes depth_multiple: 1.0  # model depth multiple width_multiple: 1.0  # layer channel multiple # anchors anchors:   - [10,13, 16,30, 33,23]  # P3/8   - [30,61, 62,45, 59,119]  # P4/16   - [116,90, 156,198, 373,326]  # P5/32 # yolov7-tiny backbone backbone:   # [from, number, module, args] c2, k1, s1, pNone, g1, actTrue   [[-1, 1, Conv, [32, 3, 2, None, 1, nn.LeakyReLU(0.1)]],  # 0-P1/2         [-1, 1, Conv, [64, 3, 2, None, 1, nn.LeakyReLU(0.1)]],  # 1-P2/4            [-1, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-2, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [[-1, -2, -3, -4], 1, Concat, [1]],    [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 7        [-1, 1, MP, []],  # 8-P3/8    [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-2, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [[-1, -2, -3, -4], 1, Concat, [1]],    [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 14        [-1, 1, MP, []],  # 15-P4/16    [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-2, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [[-1, -2, -3, -4], 1, Concat, [1]],    [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 21        [-1, 1, MP, []],  # 22-P5/32    [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-2, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, Conv, [256, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, Conv, [256, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [[-1, -2, -3, -4], 1, Concat, [1]],    [-1, 1, Conv, [512, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 28   ] # yolov7-tiny head head:   [[-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-2, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, SP, [5]],    [-2, 1, SP, [9]],    [-3, 1, SP, [13]],    [[-1, -2, -3, -4], 1, Concat, [1]],    [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [[-1, -7], 1, Concat, [1]],    [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 37       [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, nn.Upsample, [None, 2, nearest]],    [21, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # route backbone P4    [[-1, -2], 1, Concat, [1]],        [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-2, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [[-1, -2, -3, -4], 1, Concat, [1]],    [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 47       [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, nn.Upsample, [None, 2, nearest]],    [14, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]], # route backbone P3    [[-1, -2], 1, Concat, [1]],        [-1, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-2, 1, Conv, [32, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, Conv, [32, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [[-1, -2, -3, -4], 1, Concat, [1]],    [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 57        [-1, 1, Conv, [128, 3, 2, None, 1, nn.LeakyReLU(0.1)]],    [[-1, 47], 1, Concat, [1]],        [-1, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-2, 1, Conv, [64, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, Conv, [64, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [[-1, -2, -3, -4], 1, Concat, [1]],    [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 65        [-1, 1, Conv, [256, 3, 2, None, 1, nn.LeakyReLU(0.1)]],    [[-1, 37], 1, Concat, [1]],        [-1, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-2, 1, Conv, [128, 1, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [-1, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [[-1, -2, -3, -4], 1, Concat, [1]],    [-1, 1, Conv, [256, 1, 1, None, 1, nn.LeakyReLU(0.1)]],  # 73           [57, 1, Conv, [128, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [65, 1, Conv, [256, 3, 1, None, 1, nn.LeakyReLU(0.1)]],    [73, 1, Conv, [512, 3, 1, None, 1, nn.LeakyReLU(0.1)]], [[74,75,76], 1, IDetect, [nc, anchors]],   # Detect(P3, P4, P5)   ]   等待训练完成后看下结果详情。 【Precision曲线】 精确率曲线Precision-Recall Curve是一种用于评估二分类模型在不同阈值下的精确率性能的可视化工具。它通过绘制不同阈值下的精确率和召回率之间的关系图来帮助我们了解模型在不同阈值下的表现。精确率Precision是指被正确预测为正例的样本数占所有预测为正例的样本数的比例。召回率Recall是指被正确预测为正例的样本数占所有实际为正例的样本数的比例。 【Recall曲线】 召回率曲线Recall Curve是一种用于评估二分类模型在不同阈值下的召回率性能的可视化工具。它通过绘制不同阈值下的召回率和对应的精确率之间的关系图来帮助我们了解模型在不同阈值下的表现。召回率Recall是指被正确预测为正例的样本数占所有实际为正例的样本数的比例。召回率也被称为灵敏度Sensitivity或真正例率True Positive Rate。 【F1值曲线】 F1值曲线是一种用于评估二分类模型在不同阈值下的性能的可视化工具。它通过绘制不同阈值下的精确率Precision、召回率Recall和F1分数的关系图来帮助我们理解模型的整体性能。F1分数是精确率和召回率的调和平均值它综合考虑了两者的性能指标。F1值曲线可以帮助我们确定在不同精确率和召回率之间找到一个平衡点以选择最佳的阈值。 【PR曲线】 精确率-召回率曲线Precision-Recall Curve是一种用于评估二分类模型性能的可视化工具。它通过绘制不同阈值下的精确率Precision和召回率Recall之间的关系图来帮助我们了解模型在不同阈值下的表现。精确率是指被正确预测为正例的样本数占所有预测为正例的样本数的比例。召回率是指被正确预测为正例的样本数占所有实际为正例的样本数的比例。 【训练可视化】 【混淆矩阵】 【Batch实例】 感兴趣的话也都可以自行动手实践下
http://www.w-s-a.com/news/449468/

相关文章:

  • 企业网站要怎么建设重庆住房城乡建设部网站
  • html5网站特点seo教程培训班
  • 深圳网站建设哪个最好网站 多语
  • 互联网工具型网站创意网络广告
  • 影视公司网站建设网页界面设计分辨率是多少dpi
  • 免费的做微博的网站模板wordpress 页面 首页
  • 摄影图片网站网站辅导运营与托管公司
  • 做课件的网站长春免费建站模板
  • 响应式网站模板下载免费wordpress 小工具移动
  • 网站标签title在线app制作平台
  • 做电器推广的网站简洁大方的网站模板
  • 网站开发的平台100个详情页设计图
  • wordpress淘宝客建站教程视频知名的设计公司网站
  • 批量做单页网站怎么直接用代码做网站
  • 百度收录较好的网站办公室装修设计方案
  • 建设购物网站要求cnzz数据统计
  • 深圳自适应网站建设价格广东网站建设软件
  • 网页设计介绍北京网站自己做彩票网站
  • 最牛论坛网站app生成链接
  • 用jsp做的网站源代码网站优化说明
  • 网站建设公司名字甘肃省和住房建设厅网站
  • 做外贸网站需要什么卡网站建设公司怎样
  • 网站关键词密度怎么计算的中文版wordpress
  • asp网站建设教程如何在线上推广自己的产品
  • 电脑网站你懂我意思正能量济南网站建设公司熊掌号
  • 杂志社网站建设萧山区网站建设
  • 电商网站前端制作分工网站怎做百度代码统计
  • 免费的html大作业网站网站开发心得500字
  • 临时工找工作网站做美缝帮别人做非法网站
  • 深圳网站建设 设计创公司新昌网站开发