基于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=constant
,Pad
以指定的恒定颜色填充所有填充的像素)时,使用edge
代替constant
通常不会带来明显的性能损失。
具体的增强器建议:
- 对于存在元素级同级的增强器(例如
Multiply
和MultiplyElementwise
),元素级增强器通常比非元素级的显着慢。 - 如果需要模糊处理,
AverageBlur
是最快的选择,其次是GaussianBlur
。 - 在较粗糙的图像(例如
CoarseDropout
vsDropout
)上运行的增强器可能比其非粗略的兄弟姐妹快得多。 - 对比度归一化增强器在性能上均具有可比性,但基于直方图的增强器明显较慢。
PiecewiseAffine
是一个非常慢的增幅器,通常应由ElasticTransformation代替,ElasticTransformation可以实现类似的输出,并且速度要快得多。Superpixels
是一个相当缓慢的增强器,通常应该包装起来,例如Sometimes
不要经常使用它并降低其性能影响。- 除天气
FastSnowyLandscape
增速器外,其他增速器都相当缓慢,仅在合理时才使用。
图片
以下数字代表小图像(64x64x3
)和大图像(224x224x3
)。B=1
表示的批量大小1
,B=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 不包括我的模型