MMLab-dataset_analysis

数据分析工具

这里写目录标题

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,需要注意一下

python 复制代码
 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}')
相关推荐
蓝婷儿12 小时前
每天一个前端小知识 Day 27 - WebGL / WebGPU 数据可视化引擎设计与实践
前端·信息可视化·webgl
晨曦54321013 小时前
数据可视化全流程设计指南
信息可视化
杨超越luckly17 小时前
HTML应用指南:利用GET请求获取全国永辉超市门店位置信息
大数据·信息可视化·数据分析·html·argis·门店
医工交叉实验工坊21 小时前
R 语言绘制 10 种精美火山图:转录组差异基因可视化
python·信息可视化·r语言
吃手机用谁付的款1 天前
基于hadoop的竞赛网站日志数据分析与可视化(下)
大数据·hadoop·python·信息可视化·数据分析
Yolo566Q3 天前
“SRP模型+”多技术融合在生态环境脆弱性评价模型构建、时空格局演变分析与RSEI 指数的生态质量评价及拓展应用
信息可视化·数据分析·单一职责原则
蓝桉(努力版)3 天前
MATLAB可视化5:华夫图(饼图的平替可以表示种类的分布,附有完整代码详细讲解)(求个关注、点赞和收藏)(对配色不满意可以自己调节配色,附调色教程)
开发语言·数学建模·matlab·信息可视化·matlab可视化
linT_T3 天前
数字化管理新趋势:权限分级看板如何筑牢安全防线
信息可视化
李昊哲小课4 天前
销售数据可视化分析项目
python·信息可视化·数据分析·matplotlib·数据可视化·seaborn
UI罐头4 天前
如何选择数据可视化工具?从设计效率到图表表现力全解读
信息可视化·数据分析·数据工具