导论部分:
课程内容:
学习目标:
团队与讲师介绍:
理论部分:图像识别与人工智能
从图像识别说起:
图像识别面临的挑战:
语义鸿沟(Semantic Gap)现象
高层的认知和底层的视觉特征之间的冲突:
人可以很轻易地认出它们是不同的,但是计算机会认为它们极其相似甚至认为是相同的。
我们要想方设法克服语义鸿沟。
以上可以理解为:相同的视觉特性,不同的语义概念;此外,还有一类鸿沟是不同的视觉特性,相同的语义概念。
传统的图像识别方法:
上面的例子中,测量空间是直观的图片;特征空间是使同一类目标的特征距离尽可能小,不同类目标的特征,距离要尽可能大;类别空间即目标的分类。
早期图像识别技术(1990-2003)
处理过程:
主要用到的四大技术:
全局特征提取:用全局的视觉底层特性统计量表示图像
全局特征示例:
- 颜色特征方面:不管是
rgb
还是hsv
,都有相似相近性 - 纹理特征方面:有规则与不规则之分
- 形状特征方面:注意边缘的增强
全局特征提取:图片被表示成向量
全局特征提取时,我们可以把各类特征连接起来,形成更高维的特征向量。
然后一个特征向量被用来唯一地描述一个图像。
在特征空间里面,我们希望:具有相近类别的语义图像的特征向量能够尽可能的相似,不同语义类别的图像特征向量的相似度尽可能小。
特征变换:提高特征表示性能
空间变换要实现:
- 相似的物体→距离近
- 不相似的物体→距离远
特征变换的作用是:让相似的目标/物体的特征距离尽可能近(把单个特征投影到新的空间甚至新的特征向量,然后新的特征向量能让相似的物体距离尽可能近,不相似的物体距离尽可能远),所以特征变换的作用是把一个高维特征变为另一个高维特征
manifold learning/embedding:
映射为低维空间下的向量表示,常用方法如PCA、MDS、ISOMAP、LLE、Laplacian Eigenmap(它们用于特征降维/变换)
索引技术:
穷举搜索:
效率太低,时间复杂度太高
改进方式:
牺牲精度,寻找近似的最近邻居常用方法:
KD-Tree,LSH(Locality Sensitive Hashing)
索引技术示例:二进制哈希
该技术减少了特征存储的空间,以及特征相似度计算的复杂度
对于每一个图像都能提取出图像特征:通过哈希编码将其转换为二进制码(该过程不是二进制量化,而是有一个学习过程)。学习准则是原来相似的信息,在二进制码里面距离也应该近。这样有了二进制码以后,我们就可以快速地计算查询图像的相似图像(因为计算机里所有的信息都是二进制码的形式保存的),我们只需要进行一个异或操作,就能够计算出两个图像的相似度。这里一个二进制码,只需要一个位就能存储,因此该技术减少了特征存储的空间,以及特征相似度计算的复杂度。
相关反馈:
如搜索apple,会出现苹果和苹果手机两类结果。接着搜索引擎会根据用户的点击行为来确定用户的搜索意图。
即:Human in loop
随即对搜索结果进行调整,从而准确得到用户想要的信息:
重排序:
上图使用视觉相似度进行排序(只是一个维度,当然还可以由用户点击等维度决定)
早期图像识别技术的问题:
全局特征(只能用于描述图像)丢掉了图像细节
中期图像识别技术(2003-2012)
文本搜索的经典模型:词袋模型(Bag-of-Words)
假设有一篇很长的英文文章,每个单词出现几次,它的维度就是几。因此这个向量可能达到几万位的长度。
因为互联网上的文章数相对于次数多得多,所以我们可以如上图所示,建立倒排索引模型。
把这个模型应用到图像上,我们只需要比较几百个图像或几千个图像就能得出结论,而没有必要比较全部的图像。
问题来了,图片能被表示为视觉词袋(Bag-of-Visual Words)吗?
中期图像识别框架
我们吧数据库里面的每一个图像都采取某一个局部特征描述值的方法进行特征提取。提取很多个之后,我们将其生成一个视觉词典。通过视觉词典,我们可以把一个图像中包含的所有局部特征的描述值变成一个类似于向量描述值的词袋模型。有了这个向量,我们再建立一个倒排索引,离线部分处理完毕。
在线部分:对输入的图像实时提取视觉特征,将该特征投影到视觉词袋上面,在通过查询索引得到相关的图片并将其排在前面。
处理时用到的四大技术:
局部特征(Local Feature):图像区块(patch)的向量
以sift为例:如上图,找到目标区域以后,在这个区域上提梯度方向直方图,紧接着形成一个128维的向量,用这个128为的浮点数向量描述这个区域。
局部特征示例:
由于局部特征是高度相似的,所以我们通过特征匹配的方法(在局部区域内匹配)能将他们匹配起来。
视觉词典生成:
先找到有代表性的局部区域,便将其用sift描述起来,再将向量图投到特征空间里面,使每一个向量对应一个点。
然后在特征空间上采取聚类的方法(类别数通常上万)
随后通过每一类找到类中心(视觉关键词),类似KNN(邻近算法)
基于视觉关键词的图像表示:
其中,
- 直方图维度=聚类中心的个数
- 维度值=图像落在该聚类中心的特征数量
- 每一维可以类比为文本文档中的一个词(出现的特殊越多,直方图越高)
倒排索引:
排序:
通过提取到的“视觉关键词”向目标“投票”,从而确定和哪个图像属于一类。
除了采取计算出现的次数策略以外,还可以采取tf-IDF 加权
(Term frequency-inverse document frequency)
后处理:
在文本中,我们可以直接计算关键词出现的次数,因此不需要后处理过程;在图像中,由于视觉关键词是通过模糊比较得到的,因此需要采取各种各样的后处理方法
- 局部几何验证(空间关系验证)
- 弱空间关系验证
乘积量化
- 提升一致性高的匹配结果得分
- 降低一致性低的匹配结果得分
人工智能发展历程:
什么是人工智能:
人工智能(Artificial Intelligence,Al)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新技术科学。
- 企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器
- 人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能
- 根据对环境的感知,做出合理的行动,并获得最大收益
人工智能:
使一部机器像人一样进行感知、认知、决策、执行的人工程序或系统
人工智能发展历程:
什么是机器学习:
深度学习<机器学习<人工智能
机器学习的一般过程:
这里的f指的是模型、策略或算法。
什么是深度学习:
我们需要思考的是f怎么建立,由于大脑是在深层次上是多层连接的,所以我们可以构造深层的多层的神经网络,用来模拟大脑的推理识别功能。简单的说,深度学习就是使用神经网络这种函数来解决机器学习的问题。之所以叫深度学习,是因为神经网络的层数较多。
深度学习的优势:
简单的说,深度学习的出现降低了人们进行图像识别活动的门槛。
基于深度学习的图像识别:
任务描述:
图像分类:对于给定的图像,预测图像级别的标签
深度学习大牛:
深度学习&学术
人工智能顶会投稿量猛增
深度学习应用:
其中对话机器人通常情况下可以帮助人工客服回答前两三个问题。虽然如此,但是需要人工回答的问题量已经下降了90%(原来需要聘100个人做客服,现在只要聘十个)。
版权属于:soarli
本文链接:https://blog.soarli.top/archives/336.html
转载时须注明出处及本声明。