计算机视觉应用算法的通俗理解 - 网络究竟在里面干了什么(一)

简介: 计算机视觉应用算法的通俗理解 - 网络究竟在里面干了什么(一)

1.计算机视觉的应用算法


计算机视觉有许多算法任务:图像分类,图片相似搜索。图像分割,关键点检测,目标检测,目标跟踪,视频分类,深度估计,人脸检测


这些算法,又有很多各种各样的网络结构,复杂又抽象,我们只知道把数据输入到模型,得到结果,这网络里面怎么处理的数据,处理的过程又是怎么样的,太抽象了。


因此我写这篇文章,是想尽可能把这样抽象过程,描述成小白都能理解的形式。


2.图像的特征与视频特征


再说算法,我们先谈一下,图像的特征和视频的特征,从这些算法任务中,不难看出,算法模型用到的数据,不外乎图片和视频。


所以首先我们要知道图像和视频在机器代码角度下,有哪些有价值的特征。


2.1 图像特征


比如我们大幂幂,我们人的视角,看到的,是五官,衣服,头发这类(宏观一点的),但在机器角度,看到的要更微观很多,微观到每一个像素点(学ps的就知道,做p图,其实是对每个像素块做处理,一张图片也又几千个不同颜色像素块组成)。算法处理图像的最小单位也就是像素块。


基于这样的像素块,机器看到是什么呢

  1. 颜色:每个像素块都有自己的颜色
  2. 形状:基于相似颜色的像素块,可以区分不同的形状
  3. 纹理:有些像素块上还有条纹,类似于一块木地板
  1. 序列:有些像素块之间是有关联的,比如文本,下一章会详细说明


前三者,融合起来就是我们人视角看到的特征:

比如:皮肤的纹理,皮肤的颜色,皮肤形状(就是我们看到的杨幂的脸)

了解“风格迁移”算法的或许更能明白,这些特征的使用。


2.2 视频特征


视频特征,视频其实就是由连续帧的图片,按照时间顺序,组合成的。因此,视频特征里有图像的特征,


除此之外,视频特征由于有连续几张图片的特征,因此会有二张图片或者多张图片对比下的一些特定的特征,比如位置和速度二个特征,这二者其实也就是序列特征


6ed83e0e3a604982bf9e3cf8d40d85a2.png

3.算法通俗理解


接下来,我将用图像的特征和视频的特征来介绍,这些不同算法,在训练和预测过程,算法的网络是怎么处理的。


先介绍图像分类,图像分类是其他算法开发基础,理解了图像分类,就明白后续的计算机视觉算法如何处理的


3.1 图像分类


训练


图像分类,我们数据有图像和图像的label,我们将图像加入到模型,模型根据图像的特征(纹理、颜色、形状),这些特征通过模型组合形成更抽象的五官,模型记住了这个label类别下人的五官,知道了他长什么样了。


婴儿:父母告诉婴儿这个是爸爸,那个是妈妈,婴儿也是根据脸部的特征,五官记住了,这个人是爸爸。


预测


同样预测,我们向模型加入预测的图像,模型同理分解除图像的特征,再组合成更抽象的特征(五官),再与模型之前训练后记住的特征(五官)进行对比,判断。


3.2 目标检测


d8b10178a63f42e79b3edd8c3d8caf22.png


目标检测有点像图像分类


训练


我们数据,是经过标注后的数据,类似于上图这张,我们通过边框和label标注,让模型,只针对边框内的图像,做处理(这里就跟图像分类训练很像了),相当于做抠图,抠下来做图像分类训练。


预测


模型预测的时候,模型先对预测的图片按一定规则在图片上产生一系列的候选区域,如下图所示:


然后模型对每个框做,一个图像分类预测处理,来判断属于的类别,并给出一个类别阈值,找出类别为杨幂的阈值也高的图片,这里可能会出现多个框有重合,如下图所示:


这里就需要对这几个框做一个去重处理,就OK了。


3.3 语义分割


语义分割通俗来说就是有label标签的分割,对每个分割出的区域,都会告诉这个区域是什么类别。


计算机视觉领域还有2个与语义分割相似的重要问题,即图像分割(image segmentation)和实例分割(instance segmentation)。 我们在这里将它们同语义分割简单区分一下。


图像分割:图像分割将图像划分为若干组成区域,这类问题的方法通常利用图像中像素之间的相关性,也就是图像的颜色,形状,纹理之间的相关性,将同一类的事物。划分成一个区域。但这种预测不需要有关图像像素的标签信息,在预测时也无法保证分割出的区域具有我们希望得到的语义。

实例分割:也叫同时检测并分割(simultaneous detection and segmentation),它研究如何识别图像中各个目标实例的像素级区域。与语义分割不同,实例分割不仅需要区分语义,还要区分不同的目标实例。例如,如果图像中有两条狗,则实例分割需要区分像素属于的两条狗中的哪一条。是不是就是目标检测+图像分割,再分下来就是:画框+图像分类+图像分割

至于分割出来不同区域的颜色,其实是指定的


到这里从图像分类,目标检测,图像分割是不是看起来像是一层一层算法叠加的。


3.4 关键点检测


哎呀这精致的脸庞。


关键点本质上是一种特征。它是对一个固定区域或者空间物理关系的抽象描述,描述的是一定邻域范围内的组合或上下文关系,可以说是图像中纹理、颜色、形状的高维聚合。


前面说图像分类的时候,杨幂的五官通过纹理、颜色、形状可以找出来,那人体的形状也同样可以找出来。


关键点检测方法总体上可以分成两个类型,一个种是用坐标回归的方式来解决,另一种是将关键点建模成热力图,通过像素分类任务,回归热力图分布得到关键点位置

相关文章
|
3天前
|
搜索推荐 程序员 调度
精通Python异步编程:利用Asyncio与Aiohttp构建高效网络应用
【10月更文挑战第5天】随着互联网技术的快速发展,用户对于网络应用的响应速度和服务质量提出了越来越高的要求。为了构建能够处理高并发请求、提供快速响应时间的应用程序,开发者们需要掌握高效的编程技术和框架。在Python语言中,`asyncio` 和 `aiohttp` 是两个非常强大的库,它们可以帮助我们编写出既简洁又高效的异步网络应用。
19 1
|
3天前
|
算法 安全 物联网
如何应用SM2算法进行身份认证
【10月更文挑战第5天】如何应用SM2算法进行身份认证
7 1
|
3天前
|
存储 算法 安全
SM2算法的应用场景有哪些?
【10月更文挑战第5天】SM2算法的应用场景有哪些?
9 1
|
3天前
|
机器学习/深度学习 算法 PyTorch
【机器学习】大模型环境下的应用:计算机视觉的探索与实践
【机器学习】大模型环境下的应用:计算机视觉的探索与实践
16 1
|
5天前
|
机器学习/深度学习 计算机视觉
TPAMI 2024:计算机视觉中基于图神经网络和图Transformers的方法和最新进展
【10月更文挑战第3天】近年来,图神经网络(GNNs)和图Transformers在计算机视觉领域取得显著进展,广泛应用于图像识别、目标检测和场景理解等任务。TPAMI 2024上的一篇综述文章全面回顾了它们在2D自然图像、视频、3D数据、视觉与语言结合及医学图像中的应用,并深入分析了其基本原理、优势与挑战。GNNs通过消息传递捕捉非欧式结构,图Transformers则结合Transformer模型提升表达能力。尽管存在图结构构建复杂和计算成本高等挑战,但这些技术仍展现出巨大潜力。论文详细内容见:https://arxiv.org/abs/2209.13232。
12 3
|
4天前
|
自动驾驶 物联网 5G
|
2天前
|
算法 决策智能
基于prim算法求出网络最小生成树实现网络社团划分和规划
该程序使用MATLAB 2022a版实现路线规划,通过排序节点权值并运用Prim算法生成最小生成树完成网络规划。程序基于TSP问题,采用遗传算法与粒子群优化算法进行路径优化。遗传算法通过编码、选择、交叉及变异操作迭代寻优;粒子群优化算法则通过模拟鸟群觅食行为,更新粒子速度和位置以寻找最优解。
|
5天前
|
机器学习/深度学习 自然语言处理 算法
神经网络算法以及应用场景和基本语法
神经网络算法以及应用场景和基本语法
11 0
|
7天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于MSER和HOG特征提取的SVM交通标志检测和识别算法matlab仿真
### 算法简介 1. **算法运行效果图预览**:展示算法效果,完整程序运行后无水印。 2. **算法运行软件版本**:Matlab 2017b。 3. **部分核心程序**:完整版代码包含中文注释及操作步骤视频。 4. **算法理论概述**: - **MSER**:用于检测显著区域,提取图像中稳定区域,适用于光照变化下的交通标志检测。 - **HOG特征提取**:通过计算图像小区域的梯度直方图捕捉局部纹理信息,用于物体检测。 - **SVM**:寻找最大化间隔的超平面以分类样本。 整个算法流程图见下图。

热门文章

最新文章