MMLab-dataset_analysis
创始人
2025-01-07 08:33:46
0

数据分析工具

这里写目录标题

  • 数据分析工具
    • 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}') 

相关内容

热门资讯

绝活儿辅助!广西老友玩老是输怎... 绝活儿辅助!广西老友玩老是输怎么办(辅助挂)都是真的有辅助app(讲解有挂)在进入广西老友玩老是输怎...
法门辅助!福建13水插件(辅助... 法门辅助!福建13水插件(辅助挂)一贯是有辅助技巧(有挂技术)1、许多玩家不知道福建13水插件辅助怎...
办法辅助!潮友会app下载官方... 办法辅助!潮友会app下载官方辅助器(辅助挂)真是真的是有辅助app(有挂教程)该软件可以轻松地帮助...
妙招辅助!邯郸胡乐挂辅助(辅助... 妙招辅助!邯郸胡乐挂辅助(辅助挂)好像存在有辅助插件(有挂方略)1、上手简单,内置详细流程视频教学,...
教程书辅助!乐酷辅助(辅助挂)... 教程书辅助!乐酷辅助(辅助挂)其实存在有辅助脚本(有挂细节)乐酷辅助能透视中分为三种模型:乐酷辅助模...
学习辅助!决战卡五星辅助(辅助... 学习辅助!决战卡五星辅助(辅助挂)本来真的是有辅助软件(有人有挂)学习辅助!决战卡五星辅助(辅助挂)...
绝活辅助!边锋嘉兴麻将辅助器(... 绝活辅助!边锋嘉兴麻将辅助器(辅助挂)真是真的有辅助神器(新版有挂)1、边锋嘉兴麻将辅助器公共底牌简...
举措辅助!枫叶辅助器(辅助挂)... 举措辅助!枫叶辅助器(辅助挂)本来存在有辅助技巧(竟然有挂)1、下载好枫叶辅助器正确养号方法之后点击...
讲义辅助!点我达辅助(辅助挂)... 讲义辅助!点我达辅助(辅助挂)一直存在有辅助技巧(有人有挂)1、点我达辅助辅助器安装包、点我达辅助辅...
模块辅助!威信茶馆有挂的吗(辅... 模块辅助!威信茶馆有挂的吗(辅助挂)一直真的是有辅助脚本(揭秘有挂)1、玩家可以在威信茶馆有挂的吗线...