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

怎么收录网站株洲网站建设费用

怎么收录网站,株洲网站建设费用,做网站编辑应该注意什么,东营信息网招聘信息YOLOv8 是 ultralytics #xff08;超溶体#xff09;公司在 2023 年 1月 10 号开源的 YOLOv5 的下一个重大更新版本#xff0c;目前支持图像分类、物体检测和实例分割任务#xff0c;在还没有开源时就收到了用户的广泛关注。 总结#xff1a; 1. 是YOLOV5的继承者 2. …YOLOv8 是 ultralytics 超溶体公司在 2023 年 1月 10 号开源的 YOLOv5 的下一个重大更新版本目前支持图像分类、物体检测和实例分割任务在还没有开源时就收到了用户的广泛关注。 总结 1. 是YOLOV5的继承者 2. 支持多任务 目录 1. YOLOv8 概述 2. 模型结构设计 3. Loss 计算 4. 训练数据增强 5. 训练策略 6. 模型推理过程 7. 特征图可视化 总结 官方开源地址https://github.com/ultralytics/ultralytics%E2%80%8B 按照官方描述YOLOv8 是一个 SOTA 模型它建立在以前 YOLO 版本的成功基础上并引入了新的功能和改进以进一步提升性能和灵活性。具体创新包括一个新的骨干网络、一个新的 Ancher-Free 检测头和一个新的损失函数可以在从 CPU 到 GPU 的各种硬件平台上运行。 不过 ultralytics 并没有直接将开源库命名为 YOLOv8而是直接使用 ultralytics 这个词原因是 ultralytics 将这个库定位为算法框架而非某一个特定算法一个主要特点是可扩展性。其希望这个库不仅仅能够用于 YOLO 系列模型而是能够支持非 YOLO 模型以及分类分割姿态估计等各类任务。这不就是妥妥的detectron2 吗代码加载都放在 __init__.py中都面相对象了变成框架了代码好不直观。使用是更傻瓜了但是代码更难分离更难懂了这是深度封装的的诟病 总而言之ultralytics 开源库的两个主要优点是 融合众多当前 SOTA 技术于一体未来将支持其他 YOLO 系列以及 YOLO 之外的更多算法 评注框架太多了可以忽略学习 下表为官方在 COCO Val 2017 数据集上测试的 mAP、参数量和 FLOPs 结果。可以看出 YOLOv8 相比 YOLOv5 精度提升非常多但是 N/S/M 模型相应的参数量和 FLOPs 都增加了不少从上图也可以看出相比 YOLOV5 大部分模型推理速度变慢了。 模型YOLOv5params(M)FLOPs640 (B)YOLOv8params(M)FLOPs640 (B)n28.0(300e)1.94.537.3 (500e)3.28.7s37.4 (300e)7.216.544.9 (500e)11.228.6m45.4 (300e)21.249.050.2 (500e)25.978.9l49.0 (300e)46.5109.152.9 (500e)43.7165.2x50.7 (300e)86.7205.753.9 (500e)68.2257.8 额外提一句现在各个 YOLO 系列改进算法都在 COCO 上面有明显性能提升但是在自定义数据集上面的泛化性还没有得到广泛验证至今依然听到不少关于 YOLOv5 泛化性能较优异的说法。   1. YOLOv8 概述 具体到 YOLOv8 算法其核心特性和改动可以归结为如下 提供了一个全新的 SOTA 模型包括 P5 640 和 P6 1280 分辨率的目标检测网络和基于 YOLACT 的实例分割模型。和 YOLOv5 一样基于缩放系数也提供了 N/S/M/L/X 尺度的不同大小模型用于满足不同场景需求骨干网络和 Neck 部分可能参考了 YOLOv7 ELAN 设计思想将 YOLOv5 的 C3 结构换成了梯度流更丰富的 C2f 结构并对不同尺度模型调整了不同的通道数属于对模型结构精心微调不再是无脑一套参数应用所有模型大幅提升了模型性能。不过这个 C2f 模块中存在 Split 等操作对特定硬件部署没有之前那么友好了Head 部分相比 YOLOv5 改动较大换成了目前主流的解耦头结构将分类和检测头分离同时也从 Anchor-Based 换成了 Anchor-FreeLoss 计算方面采用了 TaskAlignedAssigner 正样本分配策略并引入了 Distribution Focal Loss 训练的数据增强部分引入了 YOLOX 中的最后 10 epoch 关闭 Mosiac 增强的操作可以有效地提升精度 从上面可以看出YOLOv8 主要参考了最近提出的诸如 YOLOX、YOLOv6、YOLOv7 和 PPYOLOE 等算法的相关设计本身的创新点不多偏向工程实践主推的还是 ultralytics 这个框架本身。 下面将按照模型结构设计、Loss 计算、训练数据增强、训练策略和模型推理过程共 5 个部分详细介绍 YOLOv8 目标检测的各种改进实例分割部分暂时不进行描述。 2. 模型结构设计 以上为基于 YOLOv8 官方代码所绘制的模型结构图。如果你喜欢这种模型结构图风格可以查看 MMYOLO 里面对应算法 README 中的模型结构图目前已经支持了 YOLOv5、YOLOv6、YOLOX、RTMDet 和 YOLOv8。 MMYOLO 中重构的 YOLOv8 模型对应结构图如下所示 详细地址为: https://github.com/open-mmlab/mmyolo/blob/dev/configs/yolov8/README.md 在暂时不考虑 Head 情况下对比 YOLOv5 和 YOLOv8 的 yaml 配置文件可以发现改动较小。 左侧为 YOLOv5-s右侧为 YOLOv8-s 骨干网络和 Neck 的具体变化为 第一个卷积层的 kernel 从 6x6 变成了 3x3所有的 C3 模块换成 C2f结构如下所示可以发现多了更多的跳层连接和额外的 Split 操作 去掉了 Neck 模块中的 2 个卷积连接层Backbone 中 C2f 的block 数从 3-6-9-3 改成了 3-6-6-3查看 N/S/M/L/X 等不同大小模型可以发现 N/S 和 L/X 两组模型只是改了缩放系数但是 S/M/L 等骨干网络的通道数设置不一样没有遵循同一套缩放系数。如此设计的原因应该是同一套缩放系数下的通道设置不是最优设计YOLOv7 网络设计时也没有遵循一套缩放系数作用于所有模型 Head 部分变化最大从原先的耦合头变成了解耦头并且从 YOLOv5 的 Anchor-Based 变成了 Anchor-Free。其结构如下所示 可以看出不再有之前的 objectness 分支只有解耦的分类和回归分支并且其回归分支使用了 Distribution Focal Loss 中提出的积分形式表示法 DFL 的描述见知乎推文大白话 Generalized Focal Loss - 知乎 3. Loss 计算 Loss 计算过程包括 2 个部分 正负样本分配策略和 Loss 计算。 现代目标检测器大部分都会在正负样本分配策略上面做文章典型的如 YOLOX 的 simOTA、TOOD 的 TaskAlignedAssigner 和 RTMDet 的 DynamicSoftLabelAssigner这类 Assigner 大都是动态分配策略而 YOLOv5 采用的依然是静态分配策略。考虑到动态分配策略的优异性YOLOv8 算法中则直接引用了 TOOD 的 TaskAlignedAssigner。 TaskAlignedAssigner 的匹配策略简单总结为 根据分类与回归的分数加权的分数选择正样本。 s 是标注类别对应的预测分值u 是预测框和 gt 框的 iou两者相乘就可以衡量对齐程度。 对于每一个 GT对所有的预测框基于 GT 类别对应分类分数预测框与 GT 的 IoU 的加权得到一个关联分类以及回归的对齐分数 alignment_metrics对于每一个 GT直接基于 alignment_metrics 对齐分数选取 topK 大的作为正样本 Loss 计算包括 2 个分支 分类和回归分支没有了之前的 objectness 分支。 分类分支依然采用 BCE Loss回归分支需要和 Distribution Focal Loss 中提出的积分形式表示法绑定因此使用了 Distribution Focal Loss 同时还使用了 CIoU Loss 3 个 Loss 采用一定权重比例加权即可。 4. 训练数据增强 数据增强方面和 YOLOv5 差距不大只不过引入了 YOLOX 中提出的最后 10 个 epoch 关闭 Mosaic 的操作。假设训练 epoch 是 500其示意图如下所示 考虑到不同模型应该采用的数据增强强度不一样因此对于不同大小模型有部分超参会进行修改典型的如大模型会开启 MixUp 和 CopyPaste。数据增强后典型效果如下所示 上述效果可以运行https://github.com/open-mmlab/mmyolo/blob/dev/tools/analysis_tools/browse_dataset.py 脚本得到 由于每个 pipeline 都是比较常规的操作本文不再赘述。如果想了解每个 pipeline 的细节可以查看 MMYOLO 中 YOLOv5 的算法解析文档https://mmyolo.readthedocs.io/zh_CN/latest/algorithm_descriptions/yolov5_description.html#id2 5. 训练策略 YOLOv8 的训练策略和 YOLOv5 没有啥区别最大区别就是模型的训练总 epoch 数从 300 提升到了 500这也导致训练时间急剧增加。以 YOLOv8-S 为例其训练策略汇总如下 配置YOLOv8-s P5 参数optimizerSGDbase learning rate0.01Base weight decay0.0005optimizer momentum0.937batch size128learning rate schedulelineartraining epochs500warmup iterationsmax(10003 * iters_per_epochs)input size640x640EMA decay0.9999 6. 模型推理过程 YOLOv8 的推理过程和 YOLOv5 几乎一样唯一差别在于前面需要对 Distribution Focal Loss 中的积分表示 bbox 形式进行解码变成常规的 4 维度 bbox后续计算过程就和 YOLOv5 一样了。 以 COCO 80 类为例假设输入图片大小为 640x640MMYOLO 中实现的推理过程示意图如下所示 其推理和后处理过程为(1) bbox 积分形式转换为 4d bbox 格式 对 Head 输出的 bbox 分支进行转换利用 Softmax 和 Conv 计算将积分形式转换为 4 维 bbox 格式(2) 维度变换 YOLOv8 输出特征图尺度为 80x80、40x40 和 20x20 的三个特征图。Head 部分输出分类和回归共 6 个尺度的特征图。 将 3 个不同尺度的类别预测分支、bbox 预测分支进行拼接并进行维度变换。为了后续方便处理会将原先的通道维度置换到最后类别预测分支 和 bbox 预测分支 shape 分别为 (b, 80x8040x4020x20, 80)(b,8400,80)(b,8400,4)。(3) 解码还原到原图尺度 分类预测分支进行 Sigmoid 计算而 bbox 预测分支需要进行解码还原为真实的原图解码后 xyxy 格式。(4) 阈值过滤 遍历 batch 中的每张图采用 score_thr 进行阈值过滤。在这过程中还需要考虑 multi_label 和 nms_pre确保过滤后的检测框数目不会多于 nms_pre。(5) 还原到原图尺度和 nms 基于前处理过程将剩下的检测框还原到网络输出前的原图尺度然后进行 nms 即可。最终输出的检测框不能多于 max_per_img。 有一个特别注意的点YOLOv5 中采用的 Batch shape 推理策略在 YOLOv8 推理中暂时没有开启不清楚后面是否会开启在 MMYOLO 中快速测试了下如果开启 Batch shape 会涨大概 0.1~0.2。 7. 特征图可视化 MMYOLO 中提供了一套完善的特征图可视化工具可以帮助用户可视化特征的分布情况。 以 YOLOv8-s 模型为例第一步需要下载官方权重然后将该权重通过https://github.com/open-mmlab/mmyolo/blob/dev/tools/model_converters/yolov8_to_mmyolo.py 脚本将去转换到 MMYOLO 中注意必须要将脚本置于官方仓库下才能正确运行假设得到的权重名字为 mmyolov8s.pth 假设想可视化 backbone 输出的 3 个特征图效果则只需要 cd mmyolo # dev 分支 python demo/featmap_vis_demo.py demo/demo.jpg configs/yolov8/yolov8_s_syncbn_fast_8xb16-500e_coco.py mmyolov8s.pth --channel-reductio squeeze_mean 需要特别注意为了确保特征图和图片叠加显示能对齐效果需要先将原先的 test_pipeline 替换为如下 test_pipeline [dict(typeLoadImageFromFile,file_client_args_base_.file_client_args),dict(typemmdet.Resize, scaleimg_scale, keep_ratioFalse), # 这里将 LetterResize 修改成 mmdet.Resizedict(typeLoadAnnotations, with_bboxTrue, _scope_mmdet),dict(typemmdet.PackDetInputs,meta_keys(img_id, img_path, ori_shape, img_shape,scale_factor)) ] 从上图可以看出不同输出特征图层主要负责预测不同尺度的物体。 我们也可以可视化 Neck 层的 3 个输出层特征图 cd mmyolo # dev 分支 python demo/featmap_vis_demo.py demo/demo.jpg configs/yolov8/yolov8_s_syncbn_fast_8xb16-500e_coco.py mmyolov8s.pth --channel-reductio squeeze_mean --target-layers neck 从上图可以发现物体处的特征更加聚焦。 总结 本文详细分析和总结了最新的 YOLOv8 算法从整体设计到模型结构、Loss 计算、训练数据增强、训练策略和推理过程进行了详细的说明并提供了大量的示意图供大家方便理解。 简单来说 YOLOv8 是一个包括了图像分类、Anchor-Free 物体检测和实例分割的高效算法检测部分设计参考了目前大量优异的最新的 YOLO 改进算法实现了新的 SOTA。不仅如此还推出了一个全新的框架。不过这个框架还处于早期阶段还需要不断完善。 由于时间仓促且官方代码在不断完善中如果有不对的地方欢迎批评和指正。MMYOLO 会尽快地跟进并复现该算法敬请期待
http://www.zqtcl.cn/news/152130/

相关文章:

  • 信阳网站建设找汉狮搭建网站知识
  • 企业门户网站用户类型商务信息网
  • 深圳网站设计廊坊公司深圳ui设计培训班
  • 为什么网站需要维护帮人推广注册app的平台
  • 网站开发岗位要求服务好的做培训网站
  • 宁波制作网站企业有哪些学网页设计需要什么学历
  • 网站建设公司墨子网络百度域名续费
  • 琪觅公司网站开发中文网页开发工具
  • 教育网站制作设计成都网络营销公司
  • 怎么查看一个网站页面的seo优化情况网站建站建设首选上海黔文信息科技有限公司2
  • 威海网站建设价格深圳优美网络科技有限公司
  • 做网站用什么系统建设网站投资多少
  • 凡科建站官网 网络服务抚顺 网站建设
  • 学校网站的建设方案西安企业seo外包服务公司
  • 建设租车网站深圳ww
  • 推广网络网站潜江资讯网一手机版
  • 凡科网站自己如何做毕设 做网站
  • 一起做网站逛市场百度权重查询网站
  • 专业网站优化推广网站核查怎么抽查
  • 牡丹江站salong wordpress
  • 网站建设公司做网站要多少费用有哪些外国网站国内可以登录的
  • 天津建站平台网页制作免费的素材网站
  • 建设网站需要专业哪个企业提供电子商务网站建设外包
  • 公司网站建设及维护网站建设思维
  • 那个网站可以学做西餐17做网站广州沙河
  • 品牌网站建设哪里好京东网站建设案例
  • 亚马逊海外版网站深圳市工商注册信息查询网站
  • 新乐做网站优化网站上漂亮的甘特图是怎么做的
  • 新网站应该怎么做seo品牌推广方案思维导图
  • 想要网站导航推广页浅谈中兴电子商务网站建设