基于yolo3自定义训练数据使用imgaug扩大数据集

Posted StarZhai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于yolo3自定义训练数据使用imgaug扩大数据集相关的知识,希望对你有一定的参考价值。

一、imguag简介

 

备选参考的图片扩大框架:kears Imagedatagenerator

参考文档

https://imgaug.readthedocs.io/en/latest/

python3.7

numpy1.17.0

https://imgaug.readthedocs.io/en/latest/

参数选择:

  • 如果可能,应使用最近邻插值或线性插值,因为它们比其他选项要快得多。使用插值的大多数增强器提供order参数(0 =最近邻,1 =线性)或interpolation参数(“最近”,“线性”)。
  • keep_size=True在所有更改图像尺寸的增强器中,默认设置为使用这很方便,因为它可以确保图像尺寸不会因扩展而改变。但是,它的确会导致明显的性能下降,通常不仅仅使带宽减半。keep_size=False尽可能尝试 您仍然可以在扩充后或使用来手动调整图像的大小KeepSizeByResize(Sequential(<augmenters>))
  • 当增强器提供以用户定义的方式填充新创建的像素的模式(例如pad_mode=constantPad以指定的恒定颜色填充所有填充的像素)时,使用edge代替constant 通常不会带来明显的性能损失。

具体的增强器建议:

  • 对于存在元素级同级的增强器(例如Multiply和 MultiplyElementwise),元素级增强器通常比非元素级的显着慢。
  • 如果需要模糊处理,AverageBlur是最快的选择,其次是GaussianBlur
  • 在较粗糙的图像(例如CoarseDropoutvs Dropout上运行的增强器可能比其非粗略的兄弟姐妹快得多。
  • 对比度归一化增强器在性能上均具有可比性,但基于直方图的增强器明显较慢。
  • PiecewiseAffine 是一个非常慢的增幅器,通常应由ElasticTransformation代替,ElasticTransformation可以实现类似的输出,并且速度要快得多。
  • Superpixels是一个相当缓慢的增强器,通常应该包装起来,例如Sometimes不要经常使用它并降低其性能影响。
  • 除天气FastSnowyLandscape增速器外,其他增速器都相当缓慢,仅在合理时才使用。

图片

以下数字代表小图像(64x64x3)和大图像(224x224x3)。B=1表示的批量大小1B=128其中一个128

https://imgaug.readthedocs.io/en/latest/source/performance.html

 

 

二、安装imguag

https://blog.csdn.net/limiyudianzi/article/details/86497305

https://blog.csdn.net/qq_38451119/article/details/82417412

 

三、imguag使用方法

 

 

 

 

以上是关于基于yolo3自定义训练数据使用imgaug扩大数据集的主要内容,如果未能解决你的问题,请参考以下文章

Tensorflow 2 中用于自定义训练循环的 Tensorboard

如何使用混淆矩阵计算自定义训练的 spacy ner 模型的整体准确性?

具有自定义训练循环的 Tensorboard Graph 不包括我的模型

尝试使用 40x40px 图像自定义训练 MobilenetV2 - 训练后结果错误

Tensorflow 2.0的自定义训练循环的学习率

使用yolo3模型训练自己的数据集