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

网友投稿 766 2022-11-24

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

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

计算机视觉应用算法的通俗理解

​​3.图像类算法​​

​​3.1 图像生成​​​​3.2 姿态识别​​

​​3.2.1 姿态估计​​​​3.2.2 动作分类​​

​​3.3 深度估计​​

​​3.3.1 监督学习​​​​3.3.2 无监督学习​​

​​3.4 文字识别​​

​​3.4.1 文本检测​​​​3.4.2 序列特征​​​​3.4.3 字符识别​​

前文已经谈到了有关图像特征与视频特征的特点,以及对图像分类,图像检测等算法应用是如何在网络中计算的,做了解释,下面将延展开对其他的算法应用做大白话解释。

特别是图像分类算法,图像分类算法有很多算法模型比如:vgg,resnet,xception,googlenet,这些算法的核心目的就是提取出图像的特征,而有图像的特征就可以应用到不同的算法应用上,所以很多算法比如目标检测、语义分割等的算法模型,很多都是以及图像分类的算法模型,在其基础上做修改,增加网络结构来实现的。

每一层网络结构都会得到相应大小尺寸的纹理,颜色,形状特征。

3.图像类算法

3.1 图像生成

提及图像生成,先讲解一个与图像生成类似的算佛应用“风格迁移”:

回到图像生成这部分。

图像生成算法,有二个部分:

生成器:大量图像(以生成人脸为例)加入到网络中,通过网络卷积得到,不同人的人脸特征(皮肤纹理,五官形状,皮肤颜色),再通过网络组合,将不同人的五官(这里的五官可能更微观点,比如说一个鼻子的一小小部分,鼻尖一点点),用这个人的鼻子一点点,那个人的鼻子一点点拼一个鼻子出来,拼起来的人脸肯定很怪异了,所以就有了loss,来平滑这些怪异的地方。以皮肤颜色为例,如果二个块皮肤颜色不对,就可以用loss消除这部分问题。

判别器:判别器更相似将生成器生成的图片与真实的图片,从每个像素的维度来判断二张图片的相似度,但是从网络角度其实判别器就是一个图像分类的算法,我们先将真实的数据加入到判别器,判别器得到了一个能认出这些真实人脸的模型,现在我们将生成器生成的人脸,拿给判别器预测,预测的结果(认出来,没认出来),没认出来,就证明生成器成功了。

3.2 姿态识别

姿态识别其实就是加强版的目标检测和目标识别。 姿态识别,首先把人体的姿态检测出来,然后对检测出来的姿态,做识别处理(类别预测)。

3.2.1 姿态估计

姿态估计可以分为两种思路:

“top-down”,它指先检测人体区域,再检测区域内的人体关键点。“bottom-up”,它指先检测图片中所有的人体关键点,然后将这些关键点对应到不同的人物个体。这里需要提及一下,第一种方案因为需要对检测出的每个人体区域,分别做前向关键点检测,所以速度较慢,而OpenPose采用的则为第二种方案

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

获取单个关节点热力图(heatmap):因为我们的训练集是已经标注好姿态各节点和骨骼区域的图片,因此,在网络中,同样我们可以做目标检测去检测各个节点的位置情况,同时单个节点检测的图像转化为热力图,一共有19个关节点,所以有一共有19个热力图。这里的热力图大小的值其实就是对应检测的置信度

3.2.2 动作分类

动作分类就很简单了,就是最简单if语句判断了,当我们知道各个关节点的时候,就可以通过各关节之间的夹角结合实际场景下,来判断这个图片里的动作是什么动作。

3.3 深度估计

3.3.1 监督学习

所以深度估计算法就是利用一张或者唯一视角下的RGB图像,估计图像中每个像素相对拍摄源的距离。

深度估计其实是利用RGB图像与事物实际距离(一张图片的形成拍摄它的摄像机到照片内容的距离)之间存在着的某种映射关系。

再将深度估计算法前,先介绍二个在网络中经常使用的卷积方式:

上采样:主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上下采样:1、使得图像符合显示区域的大小;2、生成对应图像的缩略图

多个下采样卷积,一层叠层的组合也被叫做Encoder 多个上采样卷机,一层叠层的组合也被叫做Decoder

比如下图的1号点与2号点,纹理一个宽一个窄,或者3号点与4号点,颜色,4号点绿色明显比3号点颜色深。

加上我们会加入许多标注好的训练数据,模型更能更好学习在同样类似场景下,拍摄源的远近。

3.3.2 无监督学习

3.4 文字识别

文字识别,从算法应用上,实际中一般首先需要通过文字检测定位文字在图像中的区域,然后提取区域的序列特征,在此基础上进行专门的字符识别。

因此文字识别分为:

文字检测字符识别

3.4.1 文本检测

文本检测与目标检测领域的常用检测方法相当,分为one-stage和two-stage方法,one-stage是直接回归物体的类别概率和位置坐标值,准确度很低。two-stage就是上文提到的先做候选框,在做图像分类。

做过文本检测,可以发现,我们一般用的训练数据,跟做目标检测用的数据集类似,与之不同的部分是,候选框的类型不同(以CTPN算法为例):

3.4.2 序列特征

再介绍不规则字符处理前,补充一个图像中的特征信息,序列特征

直接来说,在做处理图像特征时,要考虑这个特征周边的特征情况,才能更精确的捕捉到所有有效的特征。

跟图像分类一样,提取图像每个部分的图像特征将每个图像特征块周围的8个图像特征,组合成一个,形成一个3x3的图像特征(这个就是序列特征啦),最后将所有组合成3x3的序列特征,按照图片从上到下,从左到右,以全连接的方式,组合到一起,成为整个图像的序列特征。最后一步就是对这些特征做图像分类的任务啦。第一个 2k vertical coordinate 和第三个 k side-refinement是用来确定字符位置的小的矩形框,上面示意图中的红色小长框,宽度固定,默认为 16),第二个 2k scores 表示的是 k 个 anchor 的类别信息(是字符或不是字符)

3.4.3 字符识别

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:车联网开发流程(车联网项目流程)
下一篇:市场小程序开发怎么做?市场小程序开发多少钱?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~