MMLab-dataset

2024-07-19 1181阅读

数据分析工具

这里写目录标题

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

        mmyolo、mmsegmentation等提供了数据集分析工具

        MMLab-dataset

        dataset_analysis.py

        数据采用coco格式数据

        根据配置文件分析全部数据类型或指定类型的Bbox_num、bbox_wh\bbox_wh_ratio、bbox_area

        MMLab-dataset

        MMLab-dataset

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

        数据可视化分析

        • bbox_area

          MMLab-dataset

        • bbox_ratio

          MMLab-dataset

        • bbox_wh

          MMLab-dataset

          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}')
          
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]