做公司网站按年收费,视觉差的网站,长沙制作公园仿竹围栏报价,织梦教育咨询企业网站模板文章目录 引言前期回顾代码示例小结结尾 引言
在深度学习和计算机视觉的世界里#xff0c;数据是模型训练的基石#xff0c;其质量与数量直接影响着模型的性能。然而#xff0c;获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此#xff0c;数据增强技术应… 文章目录 引言前期回顾代码示例小结结尾 引言
在深度学习和计算机视觉的世界里数据是模型训练的基石其质量与数量直接影响着模型的性能。然而获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此数据增强技术应运而生成为了解决这一问题的关键所在。而imgaug作为一个功能强大的图像增强库为我们提供了简便且高效的方法来扩充数据集。本系列博客将带您深入了解如何运用imgaug进行图像增强助您在深度学习的道路上更进一步。我们将从基础概念讲起逐步引导您掌握各种变换方法以及如何根据实际需求定制变换序列。让我们一起深入了解这个强大的工具探索更多可能性共同推动深度学习的发展。 前期回顾
在imgaug库指南一从入门到精通的【图像增强】之旅中我们为您初步揭开了imgaug库的神秘面纱带您初步领略了图像增强之旅。想必您已经对这个强大工具有了初步了解。然而很多读者可能有所疑问如何对一批图像进行批量处理并可视化接下来我们就深入探讨这一问题助您在数据处理中更加高效。
代码示例
import imgaug as ia
import imgaug.augmenters as iaa
import cv2
import matplotlib.pyplot as plt# 设置随机种子以确保结果可复现
ia.seed(1)# 加载图像
img_path rD:\python_project\lena.png
img cv2.imread(img_path)
# 将BGR图像转换成RGB图像
img cv2.cvtColor(img, cv2.COLOR_BGR2RGB)# 定义由32张图像组成的图像列表
images [img for _ in range(32)]# 定义图像增强序列
seq iaa.Sequential([# 水平翻转图像iaa.Fliplr(0.5),# 随机裁剪图像iaa.Crop(percent(0, 0.1)),# 以50%的概率对图像进行小的高斯模糊增强iaa.Sometimes(0.5,iaa.GaussianBlur(sigma(0, 0.5))),# 加强或减弱图像的对比度iaa.LinearContrast((0.75, 1.5)),# 添加高斯噪声iaa.AdditiveGaussianNoise(loc0, scale(0.0, 0.05 * 255), per_channel0.5),# 使部分图像变亮部分变暗iaa.Multiply((0.8, 1.2), per_channel0.2),# 对图像进行仿射变换iaa.Affine(scale{x: (0.8, 1.2), y: (0.8, 1.2)},translate_percent{x: (-0.2, 0.2), y: (-0.2, 0.2)},rotate(-25, 25),shear(-8, 8))
], random_orderTrue) # 以随机顺序应用增强器# 对图像进行增强处理
augmented_images seq(imagesimages)# 可视化增强后的图像
fig, axes plt.subplots(nrows4, ncols8, figsize(16, 8)) # 创建子图网格
for ax, img in zip(axes.flatten(), augmented_images):ax.imshow(img) # 显示图像ax.axis(off) # 关闭坐标轴坐标轴
plt.show() # 显示图像窗口该代码示例使用Python的imgaug库进行批量图像的数据增强。首先它导入了所需的库和模块。接着设置了随机种子以确保结果可复现。然后从指定路径加载图像并将其从BGR格式转换为RGB格式。
接下来定义了一个包含原始图像的列表利用for循环模拟批量图像。然后使用imgaug库中的增强器定义了一个增强序列包括水平翻转、随机裁剪、高斯模糊、对比度调整、添加噪声、亮度和色彩调整以及仿射变换等操作。这些操作以随机顺序应用于图像列表。
最后使用matplotlib创建了一个子图网格将每张增强后的图像显示在一个子图上并显示整个图像窗口以便可视化增强后的结果。
运行结果如下 图1 可视化数据增强结果 细节1如果要基于matplotlib库进行可视化那么需要将opencv读取的BGR图像先转换成RGB图像否则可视化结果会出现颜色失真失真如下 图2 颜色失真举例 细节2如果不利用ia.seed(1)设置随机数种子那么每次运行的可视化结果不会固定 ⇒ 如果直接应用在深度学习的训练环节中代码是不可复现的。 图3 当不固定随机数种子时第一次可视化结果 图4 当不固定随机数种子时第二次可视化结果 经过观察我们很容易发现即使是两次完全相同的代码其产生的数据增强效果也存在着显著差异这无疑给代码复现带来了挑战。为了确保实验结果的可复现性和可靠性我们往往需要固定随机数种子。 小结
imgaug是一个强大的图像增强库它可以帮助你创建出丰富多样的训练数据从而改进你的深度学习模型的性能。通过定制变换序列和参数你可以轻松地适应各种应用场景从计算机视觉到医学影像分析。随着深度学习的发展imgaug在未来将继续发挥重要作用。因此将imgaug纳入你的数据增强工具箱是一个明智的选择。
参考链接 结尾
亲爱的读者首先感谢您抽出宝贵的时间来阅读我们的博客。我们真诚地欢迎您留下评论和意见因为这对我们来说意义非凡。 俗话说当局者迷旁观者清。您的客观视角对于我们发现博文的不足、提升内容质量起着不可替代的作用。 如果您觉得我们的博文给您带来了启发那么希望您能为我们点个免费的赞/关注您的支持和鼓励是我们持续创作的动力。 请放心我们会持续努力创作并不断优化博文质量只为给您带来更佳的阅读体验。 再次感谢您的阅读愿我们共同成长共享智慧的果实