计算机视觉全流程(基础知识)

数据预处理6.1.1

数据预处理是指对数据进行一定规则的处理,使其更易于后续的分析和计算处理。预处理分为离线预处理与在线预处理。

离线预处理指对数据事先进行手工处理。在数据集不够好的时候,通过人为对数据进行干预,使数据更易于模型的学习。其中包括人工指定规则进行的数据清理,如使用 cleanlab 等工具、算法或手工清洗噪音样本(noisy label)、类别合并、相近或重复的样本删除、异常样本删除、大图像进行ROI Crop(剪切图像中无关区域)等;对于类别不平衡的数据进行过采样或欠采样来调整分布;离线图像增强,如intensity normalization、高通滤波、颜色增强等。

在线预处理指在训练和推理时,提前对载入的图像进行一定的处理,使之符合网络的输入格式或加快收敛速度。

下面的代码给出了一个简单的基于torchvision 的图像在线预处理示例。

6.1.2 数据增强

数据增强是一种通过对原始数据进行变换组合等的操作,产生更多的数据来人工扩展训练数据集的技术。深度学习模型一般需要足够的训练数据进行训练,在数据有限时,通过数据增强策略可以大大扩充数据量,在实战中往往能够显著地提高训练的效果。

下面介绍几种常见的数据增强方法和对应代码。

图 6.2所示为原始图像,下面将展示经过一系列数据增强后得到的图像以说明不同数据增强方法的原理。

  1. flip

对图像应用随机的水平/垂直翻转,代码如下

增强后的图像如图 6.3 所示。

  1. rotation

对图像应用随机的角度旋转,代码如下。

增强后的图像如图 6.4 所示。

  1. crop

对图像进行随机的裁剪,这种做法可能会影响图像本身的语义信息,注意,对于检》和分割任务,应当对label进行同样的裁剪,代码如下。

4.mixup

叠加两张不同的图像加权求和,并将1abel 以相同的权重进行叠加,代码如下

注意:

这里举例的 mixup 是分类时的混合方式,在目标检测任务和语义分割任务中,mixupⅫ暫喉样适用。

5.高斯噪声(gaussian noise)

为图像添加高斯噪声,代码如下。

  1. ColorJitter

随机改变图像的属性,如亮度(brightness)、对比度(contrast)、饱和度(saturation和色调(hue),代码如下

除此以外,高斯模糊、椒盐噪声、CutMix、Mosaic 等方法也可以进行数据增强,这里不再详述。

6.1.3 预训练

预训练是指先将模型在其他较大数据集上训练,再将模型参数迁移到下游任务上进行

在大型数据集上预训练的模型已经学会了通用的图像特征,如边缘、纹理和形状等微调它可以帮助加快网络的收敛速度、提升泛化能力,使得在下游小型数据集上也能训练出高

根据任务的不同,使用的预训练数据集有所不同,ImageNet是最常用的视觉预训练数质量的模型训练数据集。有时也可设计如自监督或无监督预训练任务来提高模型的表示能力。ImageNet 是 CV 领域最大、应用最广泛的开源数据集之一。它共包含超过 1400 万张手动标准的图像。

3D Transformer

相关推荐
人工智能训练38 分钟前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
源于花海1 小时前
迁移学习相关的期刊和会议
人工智能·机器学习·迁移学习·期刊会议
DisonTangor3 小时前
DeepSeek-OCR 2: 视觉因果流
人工智能·开源·aigc·ocr·deepseek
薛定谔的猫19823 小时前
二十一、基于 Hugging Face Transformers 实现中文情感分析情感分析
人工智能·自然语言处理·大模型 训练 调优
发哥来了3 小时前
《AI视频生成技术原理剖析及金管道·图生视频的应用实践》
人工智能
数智联AI团队3 小时前
AI搜索引领开源大模型新浪潮,技术创新重塑信息检索未来格局
人工智能·开源
不懒不懒3 小时前
【线性 VS 逻辑回归:一篇讲透两种核心回归模型】
人工智能·机器学习
冰西瓜6004 小时前
从项目入手机器学习——(四)特征工程(简单特征探索)
人工智能·机器学习
Ryan老房4 小时前
未来已来-AI标注工具的下一个10年
人工智能·yolo·目标检测·ai
丝斯20114 小时前
AI学习笔记整理(66)——多模态大模型MOE-LLAVA
人工智能·笔记·学习