目录
目录README.md

mmsegmentation测试工具

项目简介

本项目设计的mmsegmentation测试工具是一个专为mmsegmentation模型设计的自动化测试以及性能评估工具。它允许用户方便地进行模型测试,能够可视化地生成分割好的图片,并生成详细的性能报告。

主要功能

  • 模型测试:通过图形界面运行模型测试。
  • 性能分析:自动分析测试结果,提供关键性能指标。
  • 生成报告以及可视化结果:生成分割后的图片以及包含数据分析报告。

项目测试场景

  • 不同的光照条件(白天、夜晚、阴影)。
  • 各种天气情况(晴天、雨天、雾天)。
  • 城市和乡村环境。
  • 不同的季节可能影响场景的外观。

项目测试需求

  • 准确性:测量分割结果与实地真相的匹配程度。
  • 性能:在不同硬件上评估模型的推理时间。
  • 稳健性:测试模型在未见数据或遮挡或图像失真条件下的性能。
  • 可伸缩性:确保模型能有效处理不同的图像分辨率。
  • 资源使用:在推理过程中监控GPU和内存利用率。

安装指南

1.克隆项目仓库:

git clone https://gitlink.org.cn/key11/SoftwareTesting.git

2.安装依赖:

pip install -r requirements.txt

使用说明

1.要使用测试工具,您需要指定mmsegmentation模型的配置文件和检查点文件:

mim download mmsegmentation --config pspnet_r50-d8_4xb2-40k_cityscapes-512x1024 --dest ./models

由于使用这个命令下载配置文件以及检查点文件会出现检查点文件损坏的问题(偶发),我们在仓库中上传了完整的配置文件和检查点文件。

2.然后您需要手动添加要用到的数据集:

我们用到的是 CITYSCAPES 中的数据集。

CITYSCAPES数据集中总共有34个类别,其中有19个类别用于评估。

原始图像数据集:leftImg8bit_trainvaltest.zip

精细注释数据集:gtFine_trainvaltest.zip

下载完数据集之后解压到本地任一文件夹。

个性化数据集

你可以使用自己想用的数据集但是需要注意两点:

  • 第一点是如果数据集的目录结构不同需要修改代码中数据图像以及标签的读取部分内容。
  • 第二点是如果数据集中包含的分类类别数量不一样在性能分析的最前面要修改一下类别数量。

3.您可以直接运行main.py,您也可以在命令行中,使用以下格式运行main.py脚本来开始测试流程:

python main.py 

所有数据目录的选择都会在一个简易的ui中出现,你可以选择数据集中的训练集(train)、测试集(test)、验证集(val)其中之一。

项目结构

mmsegmentation-test-tool/
│
├── src/                         - 源代码目录
│   ├── main.py                  - 主程序入口
│   ├── test_engine.py           - 测试引擎
│   ├── performance_analyzer.py  - 性能分析
│   └── report_generator.py      - 报告生成工具
│
├── test/
│   └── test_performance_analyzer.py -单元测试函数
│
├── data/                        
│   ├── gtFine/                   - 精细注释数据集
│   └── leftImg8bit/             - 原始图像数据集
│
├── models/
│   ├── pspnet_r50-d8_512x1024_40k_cityscapes_20200605_003338-2966598c.pth -检查点文件
│   └── pspnet_r50-d8_4xb2-40k_cityscapes-512x1024.py    -配置文件
│ 
├── reports/                     - 生成的测试报告
│
│
├──    output_results                 - 测试模型生成的结果以及对应的标签存放在这里,降低GPU的内存负担
│
├──    vis_results/                 - 生成的可视化结果
|
├── docs/                        - 项目文档
│   └── devlog.md                - 开发日志
│
├── requirements.txt             - 项目依赖
└── README.md                    - 项目说明文档

其中output_results、reports、vis_results运行后会自动生成的。

实验结果和分析

说明:

我们的测试工具是将每张图片生成的测试结果与其对应的标签图片进行像素级别的比对然后得出测试精度的。

实验结果:

在500张测试图片上,mmsegmentation模型达到了26%的精度,在1500张测试图片上,达到了54%的精度。这表明模型在识别和分割给定场景中的物体方面有一定的能力,但仍有很大的提升空间。

分析:

  • 数据集质量:如果测试数据不够多样或代表性不强,可能会限制模型的表现。检查和扩充数据集可能有所帮助。
  • 模型复杂性:模型可能过于简单,无法捕捉复杂场景的细节。考虑使用更深或更复杂的网络结构。
  • 过拟合:如果模型在训练数据上表现很好,但在测试数据上表现不佳,可能存在过拟合。可以尝试正则化技术或数据增强。
  • 评估指标:确保使用的评估指标与任务目标一致。在某些情况下,其他指标可能更适合评估模型表现。

实验演示视频链接:

bilibili:https://www.bilibili.com/video/BV1D5411B7ha/?vd_source=7eb56a293965eae614ca2ec2d27c2ba9

关于

2023秋季学期软件测试代码作业 T30组 奇迹行者还在测试 组长:211250084 张宇航 组员:211250133 王靖羽 211250086宋亦张 211250244蒲瑞坤

324.2 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号