[数据集][目标检测]基于yolov5增强数据集算法mosaic来扩充自己的数据集自动生成增强图片和对应标注无需重新标注

【算法介绍】

YOLOv5最引人注目的增强技术之一是马赛克增强,它将四张不同的图像拼接成一张图像。

思路:首先,从数据集中随机选择四张图像,然后将它们缩放、随机裁剪,并按马赛克模式拼接在一起。这种方式允许模型看到多尺度的目标,并且增强了目标的背景多样性。

步骤:

  • 初始化整个背景图, 大小为(2 × image_size, 2 × image_size, 3)
  • 随机取一个中心点
  • 基于中心点分别将4个图放到左上,右上,左下,右下,,此部分可能会由于中心点小于4张图片的宽高
  • 所以拼接的时候可能会进行裁剪重新将打标边框的偏移量计算上

mosaic增强被认为是在传统增强算法最能提升模型性能的增强手段之一,因此研究了一下如何在已有数据集和标注情况下通过这个增强扩充自己的数据集,数据集扩展后,自动生成图片和对应标注,这样无需重新标注大大加快数据集集成能力。因此我实现了这个功能,而且效果很不错。

【效果展示】

标注情况:

【使用方法】

安装好opencv-python和pillow模块后,执行python main.py即可,main.py里面路径需要提前修改为自己对应路径

复制代码
from voc_mosaic_firc import *

if __name__ == '__main__':
    image_dir = r'E:\VOC2012\JPEGImages'  # 图片目录必须是.jpg格式
    xml_dir = r'E:\VOC2012\Annotations'  # 标注目录,里面有对应xml文件,voc格式
    save_dir = r'C:\Users\Administrator\Desktop\dataset'  # 保存目录
    generate_count = 5  # 生成数
    mm = MosaicManager()  # 构建对象
    mm.start(image_dir, xml_dir, save_dir, generate_count)  # 开始生成

【完整实现源码下载】

https://download.csdn.net/download/FL1623863129/89789898

相关推荐
编码小哥12 分钟前
OpenCV图像增强实战:对比度调整与Gamma校正
人工智能·opencv·计算机视觉
Ricardo-Yang16 分钟前
# BPE Tokenizer:从训练规则到推理切分的完整理解
人工智能·深度学习·算法·机器学习·计算机视觉
格林威42 分钟前
如何用 eBPF 监控 GigE Vision 相机网络性能
网络·人工智能·数码相机·yolo·计算机视觉·视觉检测·工业相机
m0_743106461 小时前
【浙大&南洋理工最新综述】Feed-Forward 3D Scene Modeling(二)
人工智能·算法·计算机视觉·3d·几何学
思绪无限10 小时前
YOLOv5至YOLOv12升级:植物叶片病害识别系统的设计与实现(完整代码+界面+数据集项目)
深度学习·yolo·目标检测·yolov12·yolo全家桶·植物叶片病害检测
白羊by11 小时前
YOLOv1~v11 全版本核心演进总览
深度学习·算法·yolo
QQ6765800815 小时前
智慧工厂之扬尘识别 铲车装载识别 工程重型机械识别 磁铁识别 深度学习YOLO格式图像识别第10435期
人工智能·深度学习·yolo·扬尘识别·铲车装载·工程重型机械·磁铁识别
思绪无限15 小时前
YOLOv5至YOLOv12升级:行人跌倒检测系统的设计与实现(完整代码+界面+数据集项目)
深度学习·yolo·目标检测·yolov12·yolo全家桶·行人跌倒检测系统
思绪无限16 小时前
YOLOv5至YOLOv12升级:行人车辆检测与计数识别系统的设计与实现(完整代码+界面+数据集项目)
人工智能·深度学习·yolo·目标检测·yolov12·yolo全家桶·行人车辆检测与计数
思绪无限16 小时前
YOLOv5至YOLOv12升级:个人防具检测系统的设计与实现(完整代码+界面+数据集项目)
深度学习·yolo·目标检测·yolov12·yolo全家桶·个人防具检测