暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

关于目标检测图像增强界面、功能及代码框架

追梦IT人 2025-04-23
46

目标检测图像增强

功能介绍:目标检测图像增强功能在模型训练前对图像进行多种增强操作,如旋转、翻转、裁剪、调整亮度等,以增加数据集的多样性。这有助于模型学习到更多的特征,提高模型的泛化能力,使其在面对不同场景和条件下的图像时能够更准确地检测目标物体。目前只支持txt标注格式的增强,所以在增强前需要做格式转换。


操作步骤

  1. 进入图像增强界面:在平台主界面中,找到并点击目标检测图像增强功能入口,进入图像增强界面。界面主要分为文件夹设置区和图形增强功能区。

  2. 设置文件夹路径:在文件夹设置区,点击“设定文件夹”按钮,分别为“数据集图片文件夹”和“Text 标注文件夹”选择路径。选择后,相应文件夹的全路径将显示在对应的主界面上。

  3. 选择图像增强操作:在图形增强功能区,有多个图像增强操作选项,分为不同的组。


    • 第一组
      :包括随机旋转、水平翻转、垂直翻转、随机裁剪,默认均为选中状态。您可以根据需要取消某些选项的选择。
    • 第二组
      :包括中心裁剪、调整大小、灰度变换、亮度调节,默认选中。同样,您可以根据实际需求取消部分选项。
    • 第三组
      :包括对比度调节、标准化、高斯噪声、高斯模糊,默认选中。
    • 第四组
      :包括随机块、中心区域,默认选中。
  4. 执行图像增强:点击“数据增强”按钮后,系统会根据您选择的图像增强操作和对应的执行动作要求,在数据集图片文件夹和 Text 标注文件夹目录下新增对应的增强图像文件和增强后的标注文件。在执行过程中,会弹出一个进度条窗口,显示转换的进度。完成后,系统会提示已完成图像增强,并自动返回主界面。


关于图像类及方法功能

类及方法功能

ImageEnhancementUI

这是一个基于 PyQt5 的图形用户界面类,用于创建目标检测图像增强的操作界面,允许用户选择图像和标注文件夹,选择不同的图像增强方法并执行增强操作。

构造与界面初始化方法
  • __init__
    :初始化ImageEnhancementUI
    类的实例,调用initUI
    方法来设置用户界面。
  • initUI
    :创建并布局用户界面,设置窗口标题和大小,添加文件夹选择区域(包括数据集图片文件夹和标注文件夹选择按钮)、多种图像增强功能的复选框(如随机旋转、水平翻转等)以及数据增强启动按钮。
文件夹选择方法
  • select_image_folder
    :弹出文件夹选择对话框,让用户选择包含数据集图片的文件夹,并将所选文件夹路径显示在界面上。
  • select_label_folder
    :弹出文件夹选择对话框,让用户选择包含标注文件(如 Text 标注)的文件夹,并将所选文件夹路径显示在界面上。
增强操作方法
  • start_enhancement
    :开始执行图像增强操作。遍历所选图片文件夹中的图片文件,根据用户勾选的增强功能复选框,对图片和对应的标注信息进行相应的增强处理,并保存增强后的结果。
  • read_labels
    :读取指定标注文件中的标注信息,为后续的增强操作提供标注数据。
  • random_rotation
    :对图像和标注信息进行随机旋转增强,增加数据的多样性。
  • horizontal_flip
    :对图像和标注信息进行水平翻转增强,改变图像的水平特征。
  • vertical_flip
    :对图像和标注信息进行垂直翻转增强,改变图像的垂直特征。
  • random_crop
    :对图像和标注信息进行随机裁剪增强,随机选取图像的一部分作为增强后的图像。
  • center_crop
    :对图像和标注信息进行中心裁剪增强,裁剪出图像的中心部分作为增强后的图像。
  • resize
    :对图像和标注信息进行大小调整增强,将图像调整为指定的尺寸。
  • gray_transform
    :对图像进行灰度变换增强,将图像转换为灰度图或进行灰度级调整。
  • brightness_adjust
    :对图像进行亮度调节增强,改变图像的亮度。
  • contrast_adjust
    :对图像进行对比度调节增强,改变图像的对比度。
  • normalization
    :对图像进行标准化增强,将图像的像素值进行标准化处理。
  • gaussian_noise
    :对图像添加高斯噪声增强,模拟图像在实际采集过程中可能出现的噪声干扰。
  • gaussian_blur
    :对图像进行高斯模糊增强,使图像变得模糊,模拟不同的图像采集条件。
  • random_block
    :对图像进行随机块遮挡增强,随机遮挡图像的某些区域,增加数据的复杂性。
  • center_region
    :该方法功能推测可能是针对图像的中心区域进行特定处理增强,但具体需结合代码实现确定。
  • save_enhanced
    :保存增强后的图像和对应的标注信息到指定的文件夹中。

代码层级关系和方法调用关系

ImageEnhancementUI
├── __init__
│   └── 调用 initUI
├── initUI
│   ├── 创建文件夹选择区域
│   │   ├── 数据集图片文件夹选择按钮
│   │   │   └── 点击事件调用 select_image_folder
│   │   └── 标注文件夹选择按钮
│   │       └── 点击事件调用 select_label_folder
│   ├── 创建增强功能选择区域(复选框)
│   │   ├── 随机旋转
│   │   ├── 水平翻转
│   │   ├── 垂直翻转
│   │   ├── 随机裁剪
│   │   ├── 中心裁剪
│   │   ├── 调整大小
│   │   ├── 灰度变换
│   │   ├── 亮度调节
│   │   ├── 对比度调节
│   │   ├── 标准化
│   │   ├── 高斯噪声
│   │   ├── 高斯模糊
│   │   ├── 随机块
│   │   └── 中心区域
│   └── 创建数据增强启动按钮
│       └── 点击事件调用 start_enhancement
├── select_image_folder
├── select_label_folder
├── start_enhancement
│   ├── 遍历图片文件夹中的图片文件
│   │   ├── 调用 read_labels 读取对应标注信息
│   │   ├── 根据勾选的增强功能复选框调用相应方法
│   │   │   ├── 若勾选随机旋转
│   │   │   │   ├── 调用 random_rotation
│   │   │   │   └── 调用 save_enhanced 保存结果
│   │   │   ├── 若勾选水平翻转
│   │   │   │   ├── 调用 horizontal_flip
│   │   │   │   └── 调用 save_enhanced 保存结果
│   │   │   ├── 若勾选垂直翻转
│   │   │   │   ├── 调用 vertical_flip
│   │   │   │   └── 调用 save_enhanced 保存结果
│   │   │   ├── 若勾选随机裁剪
│   │   │   │   ├── 调用 random_crop
│   │   │   │   └── 调用 save_enhanced 保存结果
│   │   │   ├── 若勾选中心裁剪
│   │   │   │   ├── 调用 center_crop
│   │   │   │   └── 调用 save_enhanced 保存结果
│   │   │   ├── 若勾选调整大小
│   │   │   │   ├── 调用 resize
│   │   │   │   └── 调用 save_enhanced 保存结果
│   │   │   ├── 若勾选灰度变换
│   │   │   │   ├── 调用 gray_transform
│   │   │   │   └── 调用 save_enhanced 保存结果
│   │   │   ├── 若勾选亮度调节
│   │   │   │   ├── 调用 brightness_adjust
│   │   │   │   └── 调用 save_enhanced 保存结果
│   │   │   ├── 若勾选对比度调节
│   │   │   │   ├── 调用 contrast_adjust
│   │   │   │   └── 调用 save_enhanced 保存结果
│   │   │   ├── 若勾选标准化
│   │   │   │   ├── 调用 normalization
│   │   │   │   └── 调用 save_enhanced 保存结果
│   │   │   ├── 若勾选高斯噪声
│   │   │   │   ├── 调用 gaussian_noise
│   │   │   │   └── 调用 save_enhanced 保存结果
│   │   │   ├── 若勾选高斯模糊
│   │   │   │   ├── 调用 gaussian_blur
│   │   │   │   └── 调用 save_enhanced 保存结果
│   │   │   ├── 若勾选随机块
│   │   │   │   ├── 调用 random_block
│   │   │   │   └── 调用 save_enhanced 保存结果
│   │   │   └── 若勾选中心区域
│   │   │       ├── 调用 center_region
│   │   │       └── 调用 save_enhanced 保存结果
├── read_labels
├── random_rotation
├── horizontal_flip
├── vertical_flip
├── random_crop
├── center_crop
├── resize
├── gray_transform
├── brightness_adjust
├── contrast_adjust
├── normalization
├── gaussian_noise
├── gaussian_blur
├── random_block
├── center_region
└── save_enhanced

这是增强后的图片和标注目录,可以看到增强了十几种格式。

最后欢迎关注公众号:python与大数据分析




文章转载自追梦IT人,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论