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

MMLab-dataset_analysis

数据分析工具

这里写目录标题

  • 数据分析工具
    • dataset_analysis.py
      • 数据可视化分析
    • benchmark.py
    • browse_coco_json.py
    • browse_dataset.py
    • Optimize_anchors

mmyolo、mmsegmentation等提供了数据集分析工具
在这里插入图片描述

dataset_analysis.py

数据采用coco格式数据
根据配置文件分析全部数据类型或指定类型的Bbox_num、bbox_wh\bbox_wh_ratio、bbox_area
在这里插入图片描述
在这里插入图片描述

示例数据采用的是讯飞X光安检物品监测数据集,通过结果可以看出Knife、wrench、powerbank等小物品的数据相对较少,Knife类别最少,存在显著的类别不平衡问题。

数据可视化分析

  • bbox_area
    在这里插入图片描述
  • bbox_ratio
    在这里插入图片描述
  • bbox_wh
    在这里插入图片描述

benchmark.py

测试模型性能:推理速度

!python /root/mmyolo/tools/analysis_tools/browse_coco_json.py --data-root /root/autodl-tmp/train --img-dir /root/autodl-tmp/train/images/ --ann-file /root/autodl-tmp/train/annotations/instances_train2014.json

browse_coco_json.py

将数据集与标签进行可视化

browse_dataset.py

-将数据可视化保存输出到文件夹下,包含两种模式
-m:‘original’, ‘transformed’, ‘pipeline’
‘original’:金输出原始图像
‘transformed’:输出变换后的图像
‘pipeline’:输出数据增流各个阶段的图像

Optimize_anchors

通过分析数据,优化先验anchor的设置,仅支持YOLOAnchorGenerator
“”"Optimize anchor settings on a specific dataset.

This script provides three methods to optimize YOLO anchors including k-means
anchor cluster, differential evolution and v5-k-means. You can use
--algorithm k-means, --algorithm differential_evolution and
--algorithm v5-k-means to switch those methods.

Example:

Use k-means anchor cluster::python tools/analysis_tools/optimize_anchors.py ${CONFIG} \--algorithm k-means --input-shape ${INPUT_SHAPE [WIDTH HEIGHT]} \--out-dir ${OUT_DIR}Use differential evolution to optimize anchors::python tools/analysis_tools/optimize_anchors.py ${CONFIG} \--algorithm differential_evolution \--input-shape ${INPUT_SHAPE [WIDTH HEIGHT]} \--out-dir ${OUT_DIR}Use v5-k-means to optimize anchors::python tools/analysis_tools/optimize_anchors.py ${CONFIG} \--algorithm v5-k-means \--input-shape ${INPUT_SHAPE [WIDTH HEIGHT]} \--prior_match_thr ${PRIOR_MATCH_THR} \--out-dir ${OUT_DIR}

该工具默认调用gpu进行数据计算,算法名称还有个小bug,需要注意一下

 if args.algorithm == 'k-means':optimizer = YOLOKMeansAnchorOptimizer(dataset=dataset,input_shape=input_shape,device=args.device,num_anchor_per_level=num_anchor_per_level,iters=args.iters,logger=logger,out_dir=args.out_dir)elif args.algorithm == 'DE':optimizer = YOLODEAnchorOptimizer(dataset=dataset,input_shape=input_shape,device=args.device,num_anchor_per_level=num_anchor_per_level,iters=args.iters,logger=logger,out_dir=args.out_dir)elif args.algorithm == 'v5-k-means':optimizer = YOLOV5KMeansAnchorOptimizer(dataset=dataset,input_shape=input_shape,device=args.device,num_anchor_per_level=num_anchor_per_level,iters=args.iters,prior_match_thr=args.prior_match_thr,mutation_args=args.mutation_args,augment_args=args.augment_args,logger=logger,out_dir=args.out_dir)else:raise NotImplementedError(f'Only support k-means and differential_evolution, 'f'but get {args.algorithm}')
http://www.lryc.cn/news/402010.html

相关文章:

  • 艺术与技术的交响曲:CSS绘图的艺术与实践
  • 基于 JAVA 的旅游网站设计与实现
  • 【C++深度探索】二叉搜索树的全面解析与高效实现
  • Java实习记录 1 ——初入职场
  • opencv—常用函数学习_“干货“_3
  • 用Docker来开发
  • 从0开始的STM32HAL库学习2
  • 【MySQL篇】Percona XtraBackup工具备份指南:常用备份命令详解与实践(第二篇,总共五篇)
  • Spock单元测试框架使用介绍和实践
  • web安全之跨站脚本攻击xss
  • TCP与UDP的理解
  • 有效应对服务器遭受CC攻击的策略与实践
  • STM32判断休眠
  • TikTok内嵌跨境商城全开源_搭建教程/前端uniapp+后端源码
  • 前端学习(二)
  • 链接追踪系列-10.mall-swarm微服务运行并整合elk-上一篇的番外
  • 用Agent大模型,我发现了Prompt工程师的10大必备技能
  • 【GraphRAG】微软 graphrag 效果实测
  • 十大常用加密软件排行榜|2024企业常用加密软件推荐
  • lua 游戏架构 之 资源加载 LoaderManager (一)
  • 【人工智能】-- 迁移学习
  • Flink源码学习资料
  • HarmonyOS4.0开发-环境配置
  • GESP CCF C++ 三级认证真题 2024年6月
  • 华为的热机备份和流量限制
  • Vite的WebSocket
  • Vue3项目基于Axios封装request请求
  • html(抽奖设计)
  • Linux·权限与工具(上)
  • 成为CMake砖家(2): macOS创建CMake本地文档的app