3维数据增强

3D数据增强

在医学影像处理过程之中,由于医学影像研究通常是小数据集,故在深度学习研究上,往往会由于样本量太少,而导致在进行深度学习的训练过程之中易于出现过拟合的情况。此时,一些通过对已有图像进行某种变换而产生某种意义上的同族新图像。这样从某种程度上,数据集就得以扩增。尽可能的减少过拟合发生的概率。
1.旋转 rotate
我在进行3D图像旋转时,所参考的是二维的图像旋转方法,但在进行操作过程之中 ,发现由于在进行旋转操作时,会对图像进行插值,这样会让图像尤其是标签所对应的值发生了严重的映射性数学变化改变,这样会影响网络在进行训练时的性能即收敛性。故我在此只选用了180度旋转,这样图像在旋转前后插,不会对图像的标签值产生映射改变。
对于这个我目前主要只用过两种等效写法。
rotate(img,angle)
img.rotate(angle)
其中img为动作对象,你所要进行操作的图,angle为旋转的角度。

2.伽玛校准(gamma correction)
在进行伽玛校准时的主要的注意校准参数的设置,当
skimage adjust_gamma函数,skimage.exposure.exposure模块中的函数,对输入图像进行gamma校正,也称作幂律变换( Power Law Transform),这个函数将每个像素缩放到0到1后,根据方程O=Iγ来变换输入图像像素。
adjust_gamma(image, gamma=1)
当gamma大于1,则相当与将图像的直方图进行左移,输出图像较原图要暗;
当gamma小于1,则可以看作是将图像直方图进行了整体右移,图像变亮.

3.镜像
在此我是通过flip来实现的
flip(image,axis)
其中image为原图,axis为镜像所参考的轴平面

4.图像转置(transpose/swapaxes)
通过transpose同样可以实现数据增强的效果
image.transpose(2,1,0)
image.swapaxes(0,2)
其中,image为动作发生对象,1,3,2为轴

5.平移
由于我的网络训练图像较原图要小很多,故需要对原图进行取块操作,所以在此可以将取块视为平移操作。

数据的数据增强算法是指通过对原始一数据进行一系列变换和操作,生成新的数据样本,以扩充数据集的大小和多样性,从而提高模型的泛化能力和鲁棒性。以下是一些常见的一数据增强算法: 1. 平移:将一数据沿着时间轴或空间轴进行平移,可以通过在数据序列中添加或删除元素来实现。这可以模拟不同时间或位置下的数据变化。 2. 缩放:通过对一数据进行放大或缩小操作,改变数据的振幅或幅度范围。可以通过线性插值或插值算法来实现。 3. 旋转:将一数据进行旋转操作,可以改变数据的相位或周期性。可以通过循环移位或旋转算法来实现。 4. 噪声添加:向一数据中添加随机噪声,可以模拟真实世界中的噪声干扰。常见的噪声类型包括高斯噪声、均匀噪声等。 5. 数据截断:将一数据进行截断操作,可以选择保留数据序列的前部分或后部分,以改变数据的长度或时间范围。 6. 数据翻转:将一数据进行翻转操作,可以改变数据的方向或顺序。可以通过反转数据序列的元素来实现。 7. 数据插值:通过在一数据中插入新的数据点,可以增加数据的密度和平滑度。常见的插值方法包括线性插值、样条插值等。 8. 数据剪裁:将一数据进行剪裁操作,可以选择保留数据序列的某个子区间,以改变数据的时间范围或频率。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值