图像增强的主要方法及其Python实现

图像增强的主要方法及其Python实现

图像增强的主要方法及其Python实现

编者按:伦敦帝国学院计算成像PhD学生Rob Robinson介绍了图像增强的主要方法及其Python实现。

进行有效的深度学习网络训练的最大限制因素是训练数据。为了很好地完成分类任务,我们需要给我们的CNN等模型尽可能多的样本。然而,并不是所有情况下都可能做到这一点,特别是处于一些训练数据很难收集的情形,比如医学影像数据。在本文中,我们将学习如何应用数据增强策略至n维图像,以充分利用数量有限的样本。

介绍

如果我们将任何图像(比如下面的机器人)整体向右移动一个像素,视觉上几乎毫无差别。然而,数值上这是两张完全不同的图像!想象一下有一组10张这样的图像,每张相对前一张平移一个像素。现在考虑图像[20, 25]处的像素或某个任意的位置。聚焦到这一点,每个像素有不同的颜色,不同的周边平均亮度,等等。一个CNN在进行卷积和决定权重时,会将这些考虑在内。如果我们将这组10张图像传给CNN,应该能够有效地让CNN学习忽略这类平移。

原图

向右平移1像素

向右平移10像素

当然,平移不是在保证视觉上看起来一样的前提下改动图像的唯一方式。考虑下将图片旋转1度,或者5度。它仍然是机器人。用不带平移和旋转版本的图像训练CNN可能导致CNN过拟合,认为所有机器人的图像都是不偏不倚的。

给深度学习模型提供平移、旋转、缩放、改变亮度、翻转的图像,我们称之为数据增强。在本文中,我们将查看如何应用这些变换至图像,包括3D图像,及其对深度学习模型表

相关主题
相关文档
最新文档