计算机视觉入门培训
- 引入
- 计算机视觉的基本概念
- 计算机视觉五大技术
- 计算机视觉主要应用领域
- 计算机视觉落地场景
一、引入
二、计算机视觉的基本概念
What?
计算机视觉的概念
计算机视觉是使用计算机及相关设备对生物视觉的一种模拟,它的主要任务就是通过对采集的图片或视频进行处理以获得相应场景的三维信息。即:
✦ 对图像中的客观对象构建明确而有意义的描述
✦ 从一个或多个数字图像中计算三维世界的特性
✦ 基于感知图像做出对客观对象和场景有用的决策
计算机视觉的最终目标
使计算机像人那样,通过视觉观察和理解世界,具有自主适应环境的能力
计算机视觉与机器视觉的异同
机器视觉的研究对象主要是指工业领域的视觉研究,例如自主机器人的视觉,用于检测和测量的视觉。
机器视觉是配备有感测视觉仪器的检测机器,其中光学检测仪器占有比重非常高,可用于检测出各种产品的缺陷,或者用与判断并选择出物体等。主要大量应用于工厂自动化检测及机器人产业等。侧重的是视觉感官上去做人做不到的工作,测量定位这些,与光源镜头自动化控制相关
计算机视觉的研究对象主要是映射到单幅或多幅图像上的三维场景,例如三维场景的重建。计算机视觉的研究很大程度上针对图像的内容。
计算机视觉是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图像处理,用计算机处理成为更适合人眼观察或传送给仪器检测的图像。侧重的是利用计算机分析得到的图像,往往是对图像里面信息的一个分析处理。
三、计算机视觉五大技术
图像分类常规流程
- 输入:输入是由N个图像组成的训练集,共有K个类别,每个图像都被标记为其中一个类别。
- 学习:使用该训练集训练一个分类器,来学习每个类别的外部特征。
- 评价:预测一组新图像的类标签,评估分类器的性能,我们用分类器预测的类别标签与其真实的类别标签进行比较。
图像分类常用算法 - K近邻(KNN)
- 支持向量机(SVM)
- BP神经网络
- 卷积神经网络(CNN)
- 迁移学习
AlexNet网络架构将CNN用到了更深更宽的网络中,在每个隐藏层内使用ReLU代替了Sigmoid,激活函数为线性的,要比逻辑单元的训练速度更快、性能更好,解决了sigmoid在训练较深的网络中出现的梯度消失问题,相比于以前的LeNet其分类的精度更高;AlexNet使用Dropout随机失活,随机忽略一些神经元,以避免过拟合;在以前的CNN中普遍使用平均池化层,AlexNet全部使用最大池化层,避免了平均池化层的模糊化的效果,并且步长比池化的核的尺寸小,这样池化层的输出之间有重叠,提升了特征的丰富性;提出了局部响应归一化LRN,对局部神经元创建了竞争的机制,使得其中响应小的值变得更大,并抑制反馈较小的;使用了gpu加速神经网络的训练;使用数据增强的方法缓解过拟合现象。
区域卷积神经网络(R-CNN)
R-CNN首先对图像选取若干提议区域(例如锚框也是一种选取方法)并标注它们的类别和边界框(如偏移量);然后用卷积神经网络对每个提议区域做前向计算抽取特征;最后我们用每个提议区域的特征预测类别和边界框。其算法原理如下:
• 在R-CNN中使用选择性搜索算法扫描输入图像,寻找其中的可能对象,从而生成约2000个区域建议;
• 在这些区域建议上运行一个卷积神网络;
• 将每个卷积神经网络的输出传给支持向量机(SVM),使用一个线性回归收紧对象的边界框。
选择性搜索算法(selective search)
• 按一定的规则生成区域集R;
• 计算区域集R里每个相邻区域的相似度S={s1,s2,…};
• 找出相似度最高的两个区域,将其合并为新集,添加进R;
• 从S中移除所有与2中有关的子集
• 计算新集与所有子集的相似度
• 跳至2,直至S为空
实质上,我们这是将对象检测转换为一个图像分类问题。由于用于SVM、b-box回归的特征需要存储到磁盘中,将占用大量的磁盘空间,且提取这些特征也会耗费好多时间,所以这种方法训练速度慢,需大量的磁盘空间,推理速度也很慢。
Fast R-CNN
R-CNN的升级版本Fast R-CNN,通过使用了2次增强,大大提了检测速度。其改进如下:
• 在建议区域之前进行特征提取,因此在整幅图像上只能运行一次卷积神经网络;
• 用一个 softmax 层代替支持向量机,对用于预测的神经网络进行扩展,而不是创建一个新的模型;
Fast R-CNN 的运行速度要比R-CNN快很多,因为在一幅图像上它只能训练一个CNN,其中选择性搜索算法生成区域建议仍然要花费大量时间。一旦我们有了区域建议,就直接将它们送入Fast R-CNN。并且我们还添加了一个池化层、一些全连接层、一个softmax分类层以及一个边界框回归器,使得Faster R-CNN成为对象检测性能最好的方法之一。
四、计算机视觉主要应用领域
五、计算机视觉落地场景