计算机视觉与大数据分析
English version: Computer Vision and Big Data Analysis
本讲将大数据分析与计算机视觉任务相结合:分割、检测、分类及其实际应用。
概述
数据包含各种描述性特征或模式,称为特征。通过利用海量数据,我们可以提取可靠的模式来执行计算机视觉任务。
计算机视觉层次
计算机视觉可分为三个层次,类似于人类视觉处理过程:
低级视觉
- 生理学:视网膜神经节细胞 → 外侧膝状体核 → 初级视觉皮层
- 简单细胞:方向敏感性
- 复杂细胞:方向敏感性
- 净效应:低级人类视觉可以部分建模为一组多分辨率、定向滤波器
- 实现:基于卷积的滤波器和滤波器组
- 检测边缘、角点和其他局部特征
- 多种方向和尺度(“滤波器金字塔”)
- 应用:
- 分割的第一阶段
- 纹理识别/分类
- 纹理合成
中级视觉
- 生理学尚不清楚;由格式塔心理学家的观察:
- 邻近性、相似性、共同命运、共同区域、平行性、闭合性、对称性、连续性、熟悉构型
- 技术:
- 基于相似性的聚类
- 应用:
- 分割/分组
- 跟踪
- 用于轮廓演化的主动轮廓(Snakes)
高级视觉
- 人类机制和计算机制:
- 贝叶斯网络
- 模板
- 线性子空间方法(例如 PCA)
- 运动学模型
- 运动分析:
- 光流/特征跟踪:无约束
- 分层运动:刚性约束
- 关节运动:运动链约束
- 非刚性:隐式/学习约束
计算机视觉任务
1. 物体检测与识别
- 微笑检测:检测面部表情
- 超市中的物体识别:EvolutionRobotics 的 LaneHawk —— 安装在收银通道中的智能摄像头,持续监控篮子下的物品
- 智能汽车(Mobileye):宝马、通用、沃尔沃等高端车型中的视觉系统;估计全球 70% 的汽车制造商采用该系统
- 太空视觉(JPL):
- 全景拼接
- 3D 地形建模
- 障碍物检测和位置跟踪
2. 分类与预测
分类是区分不同类别对象的问题。
一般方法:
- 找到已知类别的示例(训练集)
- 找到区分类别内和类别外示例的特征
- 创建一个给定特征即可判定类别的函数
- 将该函数应用于新示例
训练与评估:
- 训练集由带有已知类别标签的记录组成
- 训练集用于构建分类模型
- 带标签的测试集评估模型质量
- 然后将模型应用于带有未知标签的新记录
常见分类方法:
| 方法 | 描述 |
|---|---|
| 决策树 | 基于属性的树状分裂 |
| 基于规则的方法 | IF-THEN 规则 |
| 基于记忆的推理 | 基于实例的学习 |
| 神经网络 | 分层计算模型 |
| 朴素贝叶斯 / 贝叶斯信念网络 | 概率分类器 |
| 支持向量机 | 最大间隔分类器 |
3. 分割与聚类
分割是计算机视觉的一个子领域,旨在将图像中相似的区域或段分组到各自的类别标签下。
- 图像以像素表示,使得分割等价于像素分组
- 图像分割是图像分类的扩展,其中还执行定位
- 分割是图像分类的超集:模型通过勾勒对象边界来精确定位对象所在位置
挑战:
- 分水岭等初步方法容易出现过度或不足分割
- 传统方法的低质量分割
现代方法:利用深度学习对数千张 RGB 图像进行分割。
总结
| 任务 | 目的 | 方法 |
|---|---|---|
| 检测 | 定位和识别物体 | 特征提取、模板匹配、深度学习 |
| 分类 | 将对象分配到类别 | 决策树、神经网络、SVM、贝叶斯 |
| 分割 | 将图像划分为有意义的区域 | 聚类、主动轮廓、深度学习 |