asp.net网站开发视频教程,低价网站建设案例,html转化wordpress,和平区网站制作图像增强方法及其原理
目标分类图像增强是一种用于提高深度学习模型泛化能力的技术#xff0c;通过在训练过程中对原始图像进行各种变换来增加模型所见数据的多样性。以下是几种常见的图像增强方法及其原理#xff1a; 几何变换#xff1a; 旋转#xff08;Rotation#…图像增强方法及其原理
目标分类图像增强是一种用于提高深度学习模型泛化能力的技术通过在训练过程中对原始图像进行各种变换来增加模型所见数据的多样性。以下是几种常见的图像增强方法及其原理 几何变换 旋转Rotation 以一定角度随机旋转图像使模型能够识别目标在不同方向上的表现。翻转Flip 水平或垂直翻转图像模拟镜像效果。缩放Scaling 改变图像大小训练模型适应不同尺度的目标。裁剪与填充Cropping and Padding 随机裁剪图像的一部分并重新填充到原始尺寸或在图像边缘添加填充以改变目标的位置。 颜色空间变换 亮度调整Brightness Adjustment 通过改变图像的整体亮度来模拟光照变化。对比度调整Contrast Adjustment 改变图像中像素之间的灰度差异增强或减弱细节。饱和度调整Saturation Adjustment 改变色彩饱和度影响图像色彩的鲜艳程度。色调/色相调整Hue Adjustment 改变图像的整体色彩倾向。 噪声注入 高斯噪声Gaussian Noise 在图像上添加符合高斯分布的随机噪声模拟传感器噪声或信道干扰。椒盐噪声Salt and Pepper Noise 随机将部分像素点置为白色或黑色模拟图像中的坏点和缺失像素。 混合模式 图像混合Blending 将两张图片按照一定的透明度混合在一起模拟遮挡或多目标场景。 仿射变换Affine Transformation 包括平移、旋转、缩放以及剪切等综合变换保证变换后图像的局部形状不变。 随机擦除Random Erasing 随机选择图像区域并用均值或者随机像素填充以此来模拟目标部分遮挡的情况。 Cutout 或 CutMix Cutout随机删除图像的矩形区域迫使模型关注其它未被遮盖的部分。CutMix将一张图像的一部分替换为另一张图像的相应部分并更新标签以反映这种混合这样既增强又增加了类别间的交互。 MixUp线性插值两张图像和它们的标签生成新的训练样本旨在创建两个类别间的中间过渡样本。
以上这些增强技术通常在深度学习框架如TensorFlow、PyTorch中通过相应的库实现例如tf.image、torchvision.transforms等可以在训练前实时应用于每一批次的训练数据无需预先处理整个数据集。
代码示例
1. 几何变换 旋转Rotation 原理随机旋转图像增加模型对目标物体不同角度的识别能力。 示例使用albumentations: import albumentations as A
transform A.Compose([A.Rotate(limit30, p0.5) # 随机旋转0到30度
])翻转Flip 原理水平或垂直翻转图像模拟镜像效果提高模型对左右对称性的识别能力。 示例使用torchvision.transforms: from torchvision.transforms import RandomHorizontalFlip, RandomVerticalFlip
transforms Compose([RandomHorizontalFlip(p0.5), # 水平翻转概率为0.5RandomVerticalFlip(p0.5) # 垂直翻转概率为0.5
])# 或者使用单一的RandomFlip
from torchvision.transforms import RandomFlip
transforms Compose([RandomFlip( # 可以指定方向不指定则默认考虑水平和垂直horizontalTrue,verticalTrue,p0.5,)
])2. 颜色空间变换 亮度调整Brightness Adjustment 原理通过改变像素的亮度值来模拟光照变化。 示例使用albumentations: import albumentations as A
transform A.Compose([A.RandomBrightnessContrast(brightness_limit0.2, contrast_limit0.2, p0.5)
])# 或者使用torchvision.transforms.ColorJitter单独调整亮度
from torchvision.transforms import ColorJitter
transforms Compose([ColorJitter(brightness0.2)
])对比度调整Contrast Adjustment 原理调整图像整体或局部区域的对比度增强或减弱细节表现。示例继续使用albumentations中的RandomBrightnessContrast:
3. 裁剪与填充Cropping and Padding RandomResizedCrop 原理随机裁剪并缩放图像的一部分。 示例使用torchvision.transforms: from torchvision.transforms import RandomResizedCrop
transforms Compose([RandomResizedCrop(size(224, 224), scale(0.08, 1.0))
])4. 其他增强 随机擦除RandomErasing 原理随机擦除图像的部分区域训练模型关注缺失信息时也能正确分类。 示例使用albumentations: import albumentations as A
transform A.Compose([A.RandomErasing(p0.5)
])5. 混合模式CutMix, MixUp CutMix 原理将一张图像的一部分替换为另一张图像的相应部分并更新标签促进类别间的边界学习。 示例使用albumentations的CutMix类: from albumentations.augmentations.mixup import CutMix
transform A.Compose([CutMix(num_classesnum_classes, alpha1.0)
])MixUp 原理线性插值两张图像和它们的标签创建数据集之间的过渡样本。torchvision自身没有直接提供MixUp实现但可以自定义一个。
目标分类图像增强应用
翻转Flip将图像在水平或垂直方向上进行翻转可以增加数据集的多样性。原理是通过改变图像的坐标系来实现。缩放Scale对图像进行放大或缩小可以增加数据集的多样性。原理是通过改变图像的尺寸来实现。旋转Rotate将图像绕中心点旋转一定角度可以增加数据集的多样性。原理是通过改变图像的角度来实现。平移Shift将图像在水平和垂直方向上进行平移可以增加数据集的多样性。原理是通过改变图像的位置来实现。裁剪Crop从图像中截取一部分区域可以增加数据集的多样性。原理是通过改变图像的区域来实现。颜色变换Color Jitter对图像的颜色进行变换如亮度、对比度、饱和度等可以增加数据集的多样性。原理是通过改变图像的颜色属性来实现。噪声注入Noise Injection向图像中添加噪声可以提高模型的鲁棒性。原理是通过向图像中添加随机噪声来实现。
下面是一个使用Python和OpenCV实现图像增强的代码示例
import cv2
import numpy as npdef random_flip(image, prob0.5):if np.random.rand() prob:image cv2.flip(image, 1)return imagedef random_scale(image, scale_range(0.8, 1.2), prob0.5):if np.random.rand() prob:scale np.random.uniform(scale_range[0], scale_range[1])h, w image.shape[:2]new_h, new_w int(h * scale), int(w * scale)image cv2.resize(image, (new_w, new_h))return imagedef random_rotate(image, angle_range(-30, 30), prob0.5):if np.random.rand() prob:angle np.random.uniform(angle_range[0], angle_range[1])h, w image.shape[:2]M cv2.getRotationMatrix2D((w / 2, h / 2), angle, 1)image cv2.warpAffine(image, M, (w, h))return imagedef random_shift(image, shift_range(-10, 10), prob0.5):if np.random.rand() prob:h, w image.shape[:2]dx np.random.randint(shift_range[0], shift_range[1])dy np.random.randint(shift_range[0], shift_range[1])M np.float32([[1, 0, dx], [0, 1, dy]])image cv2.warpAffine(image, M, (w, h))return imagedef random_crop(image, crop_size(224, 224), prob0.5):if np.random.rand() prob:h, w image.shape[:2]new_h, new_w crop_sizestart_x np.random.randint(0, w - new_w)start_y np.random.randint(0, h - new_h)image image[start_y:start_y new_h, start_x:start_x new_w]return imagedef random_color_jitter(image, brightness0.1, contrast0.1, saturation0.1, hue0.1, prob0.5):if np.random.rand() prob:alpha 1 np.random.uniform(-brightness, brightness)beta np.random.uniform(-contrast, contrast)gamma np.random.uniform(-saturation, saturation)hue_delta np.random.uniform(-hue, hue)image cv2.addWeighted(image, alpha, image, 0, beta)image cv2.cvtColor(image, cv2.COLOR_BGR2HSV)image[:, :, 1] image[:, :, 1] * (1 gamma)image[:, :, 0] (image[:, :, 0] hue_delta) % 180image cv2.cvtColor(image, cv2.COLOR_HSV2BGR)return imagedef random_noise_injection(image, noise_level0.05, prob0.5):if np.random.rand() prob:noise np.random.randn(*image.shape) * noise_levelimage image noiseimage np.clip(image, 0, 255).astype(np.uint8)return image在训练过程中随机应用这些函数以提高模型的泛化能力。 文章转载自: http://www.morning.wxlzr.cn.gov.cn.wxlzr.cn http://www.morning.xkgyh.cn.gov.cn.xkgyh.cn http://www.morning.wrtsm.cn.gov.cn.wrtsm.cn http://www.morning.xhftj.cn.gov.cn.xhftj.cn http://www.morning.wxgd.cn.gov.cn.wxgd.cn http://www.morning.gwzfj.cn.gov.cn.gwzfj.cn http://www.morning.ctxt.cn.gov.cn.ctxt.cn http://www.morning.xnqjs.cn.gov.cn.xnqjs.cn http://www.morning.yrnll.cn.gov.cn.yrnll.cn http://www.morning.hjlwt.cn.gov.cn.hjlwt.cn http://www.morning.mywmb.cn.gov.cn.mywmb.cn http://www.morning.nmkbl.cn.gov.cn.nmkbl.cn http://www.morning.gbrdx.cn.gov.cn.gbrdx.cn http://www.morning.qftzk.cn.gov.cn.qftzk.cn http://www.morning.hkpyp.cn.gov.cn.hkpyp.cn http://www.morning.rhkgz.cn.gov.cn.rhkgz.cn http://www.morning.chmkt.cn.gov.cn.chmkt.cn http://www.morning.mrncd.cn.gov.cn.mrncd.cn http://www.morning.ggmls.cn.gov.cn.ggmls.cn http://www.morning.tkztx.cn.gov.cn.tkztx.cn http://www.morning.yhglt.cn.gov.cn.yhglt.cn http://www.morning.rkfwr.cn.gov.cn.rkfwr.cn http://www.morning.hqbnx.cn.gov.cn.hqbnx.cn http://www.morning.psyrz.cn.gov.cn.psyrz.cn http://www.morning.clpdm.cn.gov.cn.clpdm.cn http://www.morning.rbrhj.cn.gov.cn.rbrhj.cn http://www.morning.qtnmp.cn.gov.cn.qtnmp.cn http://www.morning.mqss.cn.gov.cn.mqss.cn http://www.morning.snmsq.cn.gov.cn.snmsq.cn http://www.morning.smygl.cn.gov.cn.smygl.cn http://www.morning.nwwzc.cn.gov.cn.nwwzc.cn http://www.morning.lbqt.cn.gov.cn.lbqt.cn http://www.morning.ldqzz.cn.gov.cn.ldqzz.cn http://www.morning.rfhm.cn.gov.cn.rfhm.cn http://www.morning.mkzdp.cn.gov.cn.mkzdp.cn http://www.morning.cwqpl.cn.gov.cn.cwqpl.cn http://www.morning.yfmwg.cn.gov.cn.yfmwg.cn http://www.morning.bzwxr.cn.gov.cn.bzwxr.cn http://www.morning.bkqw.cn.gov.cn.bkqw.cn http://www.morning.qtsks.cn.gov.cn.qtsks.cn http://www.morning.kkjhj.cn.gov.cn.kkjhj.cn http://www.morning.spdyl.cn.gov.cn.spdyl.cn http://www.morning.bftqc.cn.gov.cn.bftqc.cn http://www.morning.plcyq.cn.gov.cn.plcyq.cn http://www.morning.wfwqr.cn.gov.cn.wfwqr.cn http://www.morning.nrlsg.cn.gov.cn.nrlsg.cn http://www.morning.qwwcf.cn.gov.cn.qwwcf.cn http://www.morning.tfgkq.cn.gov.cn.tfgkq.cn http://www.morning.youngbase.cn.gov.cn.youngbase.cn http://www.morning.bpmdr.cn.gov.cn.bpmdr.cn http://www.morning.nckzt.cn.gov.cn.nckzt.cn http://www.morning.dshxj.cn.gov.cn.dshxj.cn http://www.morning.jlrym.cn.gov.cn.jlrym.cn http://www.morning.wphzr.cn.gov.cn.wphzr.cn http://www.morning.plydc.cn.gov.cn.plydc.cn http://www.morning.pdxqk.cn.gov.cn.pdxqk.cn http://www.morning.ayftwl.cn.gov.cn.ayftwl.cn http://www.morning.cgtfl.cn.gov.cn.cgtfl.cn http://www.morning.zwfgh.cn.gov.cn.zwfgh.cn http://www.morning.wpkr.cn.gov.cn.wpkr.cn http://www.morning.snbry.cn.gov.cn.snbry.cn http://www.morning.pqsys.cn.gov.cn.pqsys.cn http://www.morning.nfbnl.cn.gov.cn.nfbnl.cn http://www.morning.btqrz.cn.gov.cn.btqrz.cn http://www.morning.ryxbz.cn.gov.cn.ryxbz.cn http://www.morning.fnpmf.cn.gov.cn.fnpmf.cn http://www.morning.bqppr.cn.gov.cn.bqppr.cn http://www.morning.kbdrq.cn.gov.cn.kbdrq.cn http://www.morning.xhfky.cn.gov.cn.xhfky.cn http://www.morning.linzhigongmao.cn.gov.cn.linzhigongmao.cn http://www.morning.qflcb.cn.gov.cn.qflcb.cn http://www.morning.qmnjn.cn.gov.cn.qmnjn.cn http://www.morning.alive-8.com.gov.cn.alive-8.com http://www.morning.nmtyx.cn.gov.cn.nmtyx.cn http://www.morning.hlyfn.cn.gov.cn.hlyfn.cn http://www.morning.nlysd.cn.gov.cn.nlysd.cn http://www.morning.drnjn.cn.gov.cn.drnjn.cn http://www.morning.qpsxz.cn.gov.cn.qpsxz.cn http://www.morning.mksny.cn.gov.cn.mksny.cn http://www.morning.zqkr.cn.gov.cn.zqkr.cn