人工智能【深度学习】--卷积神经网络与迁移学习
小职 2021-07-30 来源 :浪尖聊大数据 阅读 893 评论 0

摘要:本文主要介绍了人工智能【深度学习】--卷积神经网络与迁移学习 ,通过具体的内容向大家展现,希望对大家人工智能深度学习的学习有所帮助。

本文主要介绍了人工智能【深度学习】--卷积神经网络与迁移学习 ,通过具体的内容向大家展现,希望对大家人工智能深度学习的学习有所帮助。

人工智能【深度学习】--卷积神经网络与迁移学习

1. 图像识别与定位

图像的相关任务可以分成以下两大类和四小类:

图像识别,图像识别+定位,物体检测,图像分割。

人工智能【深度学习】--卷积神经网络与迁移学习

 

图像的定位就是指在这个图片中不但识别出有只猫,还把猫在图片中的位置给精确地抠出来今天我们来讲一讲如何神经网络来做图像识别与定位。

 

图像的识别:

可以看成是图像的分类》C个类别

输入:整个图片

输出:类别标签(每个类别会有一个概率,选出概率最大的标签)

评估标准:准确率

 

图形的定位:

输入:整个图像

输出:物体边界框(x,y,w,h)。x,y是物体边界框的左上定点的横纵坐标;w,h是这个图片的长和高。通过这4个指标就可以定位出图中的物体的位置。

评估标准:交并准则

 

所以图像的识别与定位就是以上两个任务组成。

 

下面介绍2中思路去实现图像的识别与定位。

 

1.1 思路1:视作回归

对于图像定位来说只要求出了(x,y,w,h)这四个值就得到了定位,因为这四个值是连续性,所以不能用分类的方法来做,这里考虑用回归来做。

 

与之前分类问题不同的是,现在我们使用L2loss也就是欧氏距离来求损失函数。

 

步骤1:

首先得搭一个图像识别的神经网络,可以在VGG,GoogleLenet这些优秀的模型上fine-tuning一下。

 

人工智能【深度学习】--卷积神经网络与迁移学习

 

步骤2:

接下来在上述神经网络的尾部展开成两个部分:成为classification + regression的模式。前者是为了识别,后者是为了定位。一般这个展开会放在卷积层后面,也有时候放在全连接层后面。

 

人工智能【深度学习】--卷积神经网络与迁移学习

 

步骤3:

在regression回归部分使用欧氏距离计算损失,然后运用SGD来训练,在classification部分和以前一样不变。

 

人工智能【深度学习】--卷积神经网络与迁移学习

 

步骤4:

在预测阶段,将classification和regression两个模块拼上,让他们各自去实现自己不同的功能。

 

regression模块加在什么位置呢?

可以放在卷积层后,如VGG

也可以放在全连接层后, 如DeepPose

 

人工智能【深度学习】--卷积神经网络与迁移学习

 

能否对主体有更细致的识别?

神经网络能够对图形进行定位,那么能否识别出这个物体在干啥子在做什么动作呢?

这也可以,需要提前把规定好K个组成部分,然后分别去做k个部分的回归就行了。

比如识别人的姿势,每个人的组成部分是固定的,可以将人分成K个首尾相接的线段,然后对这些线段分别求回归。

 

人工智能【深度学习】--卷积神经网络与迁移学习

 

1.2 思路2:借助图像窗口

另一个思路是来自于2014年发表的一篇论文。它的逻辑是这样的:取不同大小的“框”,让框出现在不同位置,判定每个框在每个为上的得分,按照得分高低对结果宽工作抽取与合并。

 

如下图,取一个3*221*221的一个框,让它在图像的4个位置走一遍,然后得出每个位置的得分,右下角的框得分最高,识别出猫的概率为0.8.

 

人工智能【深度学习】--卷积神经网络与迁移学习

 

这个方法存在最大的问题是:“参数多”,“计算慢”。因为要去尝试不同大小的框并放在不同位置。但是论文中提到了解决这两个缺陷的方案。

下图是神经网络最初的形式,从卷积层出来或分成了两个模块,每个模块中分别有及几层的全连接。如果FC层中的神经元有4096个,那么这个过程会产生4096*4096个参数。

 

人工智能【深度学习】--卷积神经网络与迁移学习

 

论文作者提出了这样的方案,从卷积层出来后的两个模块中,将FC层乘以一个1*1的conv卷积层,那么参数的数量就下降到了4069*1了。

 

人工智能【深度学习】--卷积神经网络与迁移学习

 

论文里的东东拿出来讲的要十分庞大,有兴趣的童鞋直接看原文论,哈哈。


 

2. 物体识别

2.1 背景

在衣服图中可能有多个物体,此时就需要去把每个物体都识别出来。比如下图中有4个物体,两个猫星人,一个汪星人,一个小鸭子。如果用回归,要去识别四个物体就需要预测4*4 = 16 个连续值了。

人工智能【深度学习】--卷积神经网络与迁移学习

 

用回归来做物体识别需要先确定物体的个数K。但是通常情况下,我们并不知道图像中有多少个物体,就像下图这样。


 人工智能【深度学习】--卷积神经网络与迁移学习

于是我们又回到了分类问题,让不同大小的框去移动然后做分类,就像下图这样。


 人工智能【深度学习】--卷积神经网络与迁移学习

但是分类问题来做物体识别也有难处:

--你需要找很多位置,还需要设定很多不同大小的框

--还要对每个框在每个位置的图像做分类

--而且你选的框的大小也不一定对啊

--.....

 

2.2 边缘策略

我们来换一个角度想问题,为什么要用那么多的框大海捞针呢,为什么不在图中先找到一个可能成框的东东作为候选框呢。

--也就是说,想办法找到包含内容的图框。

原理是这样的,先找到一个像素点,然后将它周围与它相近的点也包罗进来形成了一个小的候选框,这些小的候选框再向周围扩张,将颜色相似的点包含进来,如此一轮一轮候选框就会逐渐扩大了。具体过程如下图:

人工智能【深度学习】--卷积神经网络与迁移学习

最后一张图中其实已经非常清晰地识别出来墙上的相框和旁边的美女了。

 

2.3 R-CNN

一个大牛在2014年发表了一篇物体识别的论文。

它的实验大概是这样做的:

首先对图片使用边缘策略进行物体识别,然后将每个候选框输入卷积层产出特征,接着一边让卷基层的输出进入SVM做一个“有无物体”的分类,如果有的话就进行回归计算。回归计算是去调整候选框,使其能刚好抠出一个物体。

 人工智能【深度学习】--卷积神经网络与迁移学习



我是小职,记得找我

✅ 解锁高薪工作

✅ 免费获取基础课程·答疑解惑·职业测评

人工智能【深度学习】--卷积神经网络与迁移学习

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程