Update README.md
【推荐】安装 anaconda。下面的步骤以 anaconda 环境下的虚拟环境来进行实践。
首先我们在 anaconda 中执行以下命令创建一个虚拟环境,需要的 Python 版本为 3.8(如果本地 Python 版本非此版本建议使用 anaconda 创建虚拟环境)。
conda create --name openmmlab python=3.8 -y conda activate openmmlab
这里的 openmmlab 可以换成你喜欢的名字,然后我们下载 mmlab-yolo 需要的一些依赖。
openmmlab
GPU 版本:
conda install pytorch torchvision -c pytorch
CPU 版本:
conda install pytorch torchvision cpuonly -c pytorch
mm-openlab 通过 openmim 进行包管理,因此接下来我们需要执行以下的指令:
pip install -U openmim mim install "mmengine>=0.3.1" mim install "mmcv>=2.0.0rc1,<2.1.0" mim install "mmdet>=3.0.0rc3,<3.1.0"
如果你是 CPU 版本的话,你可以将 mim install "mmcv>=2.0.0rc1,<2.1.0" 替换为 mim install "mmcv-lite>=2.0.0rc1",后者是不包含一些 CUDA 算子的,更加轻便。
mim install "mmcv>=2.0.0rc1,<2.1.0"
mim install "mmcv-lite>=2.0.0rc1"
因为我们不需要自己训练,所以直接使用 mim install "mmyolo" 进行安装即可。
mim install "mmyolo"
第二步是安装图像扩增框架 imgaug,我们在上面的 anaconda 环境中执行以下的指令:
pip install imgaug
第三步是安装一些必要的库,在项目根目录下执行以下命令:
pip install -r requirements.txt
第四步是配置运行参数,我们的测试类是src/model/Model.py,如果使用pycharm可以右键左侧运行按钮,进行运行配置 并在形参中添加以下内容
../../enhancement yolov5_s-v61_syncbn_fast_8xb16-300e_coco.py yolov5_s-v61_syncbn_fast_8xb16-300e_coco_20220918_084700-86e02187.pth --target-layers backbone --channel-reduction select_max
就可以正常运行测试框架了
Testing-Tool-for-yolo: +--baseline +--enhancement +--img +--output +--similarity | +--convergence | +--iteration +--src | +--enhancement | | +--__pycache__ | | __init__.py | | AddBrightness.py | | AveragePooling.py | | DropOut.py | | GammaContrast.py | | GaussianBlur.py | | ImgAugmenter.py | | PixelAdd.py | | Resize.py | | Rotate.py | | Salt.py | +--evaluation | | +--__pycache__ | | Evaluation.py | +--model | | __init__.py | | Model.py | | yolov5_s-v61_syncbn_fast_8xb16-300e_coco.py | +--visualization | | __init__.py
enhance(images)
实现增加亮度功能
adjust_param(count)
调节增加亮度的参数
实现旋转图片功能
调节图片旋转角度
实现调整图片大小功能
调节图片大小参数
实现图片像素增加功能
调节增加像素参数
实现高斯模糊功能
调节高斯模糊参数
实现增加图片gamma对比度功能
调节增加gamma对比度的参数
BugEvaluator类是评估的主要方法,它提供了以下接口
evaluation_and_reinforcement(test_set, index)
evaluation_with_exact_method(test_set, index, mode)
SimilarityNode类主要用于计算相似度并存储计算的对应图片
该文件中包含了JSON数据读取、处理和两种可视化图表的生成代码
该文件为入口文件,直接运行即可在该目录下生成所有图表
readJsonFiles()
读取测试结果生成文件夹内的所有数据,存入一个三维data数组并返回
render3DBars(data)
接受一个结果数组并根据数据渲染出一个3D可交互式柱形图。
renderLineCharts(data)
接受一个结果数组并根据数据渲染出一个可交互式折线图。
2022 秋 《自动化测试》第四组“不会自动化测试1”课程大作业仓库 作业选题:深度学习模型测试结果评估技术研究
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
Testing-Tool-for-yolo
Step One
Install mm-yolo dependency
【推荐】安装 anaconda。下面的步骤以 anaconda 环境下的虚拟环境来进行实践。
首先我们在 anaconda 中执行以下命令创建一个虚拟环境,需要的 Python 版本为 3.8(如果本地 Python 版本非此版本建议使用 anaconda 创建虚拟环境)。
这里的
openmmlab
可以换成你喜欢的名字,然后我们下载 mmlab-yolo 需要的一些依赖。GPU 版本:
CPU 版本:
mm-openlab 通过 openmim 进行包管理,因此接下来我们需要执行以下的指令:
如果你是 CPU 版本的话,你可以将
mim install "mmcv>=2.0.0rc1,<2.1.0"
替换为mim install "mmcv-lite>=2.0.0rc1"
,后者是不包含一些 CUDA 算子的,更加轻便。Install mm-yolo
因为我们不需要自己训练,所以直接使用
mim install "mmyolo"
进行安装即可。Step Two
第二步是安装图像扩增框架 imgaug,我们在上面的 anaconda 环境中执行以下的指令:
Step Three
第三步是安装一些必要的库,在项目根目录下执行以下命令:
Step Four
第四步是配置运行参数,我们的测试类是src/model/Model.py,如果使用pycharm可以右键左侧运行按钮,进行运行配置
并在形参中添加以下内容
仓库结构
代码介绍
图像扩增部分
Salt.py
enhance(images)
实现增加亮度功能
adjust_param(count)
调节增加亮度的参数
Rotate.py
enhance(images)
实现旋转图片功能
adjust_param(count)
调节图片旋转角度
Resize.py
enhance(images)
实现调整图片大小功能
adjust_param(count)
调节图片大小参数
PixelAdd.py
enhance(images)
实现图片像素增加功能
adjust_param(count)
调节增加像素参数
GaussianBlur.py
enhance(images)
实现高斯模糊功能
adjust_param(count)
调节高斯模糊参数
GammaContrast.py
enhance(images)
实现增加图片gamma对比度功能
adjust_param(count)
调节增加gamma对比度的参数
结果分析部分
Evaluation.py
BugEvaluator类是评估的主要方法,它提供了以下接口
evaluation_and_reinforcement(test_set, index)
用于检测test_set与baseline的相似度,并不断迭代直到达到某种扩增方法的阈值evaluation_with_exact_method(test_set, index, mode)
用于使用制定的扩增方法进行测试,通过计算相似度检查是否达到阈值SimilarityNode类主要用于计算相似度并存储计算的对应图片
测试报告生成部分
init.py
该文件中包含了JSON数据读取、处理和两种可视化图表的生成代码
该文件为入口文件,直接运行即可在该目录下生成所有图表
readJsonFiles()
读取测试结果生成文件夹内的所有数据,存入一个三维data数组并返回
render3DBars(data)
接受一个结果数组并根据数据渲染出一个3D可交互式柱形图。
renderLineCharts(data)
接受一个结果数组并根据数据渲染出一个可交互式折线图。