文章目录
一. 什么是计算机视觉
计算机视觉研究的内容
图像形成的过程
前向模型的逆
常见的视觉识别任务有光学字符识别、语义分割、物体分类、物体检测等,
其具体细分领域描述如下:
名称 | 描述 |
---|---|
光学字符识别 | 允许电子设备(如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮模式确定其形状,再用字符识别方法将形状转换成计算机文字。 |
语义分割 | 将图像中的每个像素分配到特定类别标签,与物体检测不同,不仅识别物体,还要精确标记出每个物体边界,即对每个像素进行分类。 |
物体分类 | 识别图片中的主体物体,并将其归类到预定义的类别中。 |
物体检测 | 在图像或视频帧中识别和定位一个或多个物体。 |
光流估计 | 分析和计算图像序列中像素点随时间的运动模式,通过比较连续视频帧或图像序列中像素强度变化,估计场景中各像素点的运动向量(光流),在视频分析、目标跟踪、动作识别等领域应用广泛。 |
运动捕捉 | 使用传感器、摄像机、惯性测量装置等设备捕捉运动物体的位移、速度和加速度等信息,将数据转换成数字信号,用于实时跟踪并重建人体或物体动作,生成精确的三维运动数据。 |
摄影旅行 | 分析大量从不同角度拍摄的同一景点的图片,来重建该景点的三维模型。 |
三维场景重建 | 涉及从二维图像或视频序列中恢复出三维场景的信息,可获取从任意视角观测且具有色彩纹理的三维模型,是计算机视觉领域重要研究方向。 |
自动驾驶 | 也称无人驾驶,指车辆能在无人类驾驶员直接操作下,依靠搭载的传感器、摄像头、雷达、激光雷达等设备以及先进算法和人工智能技术,实现自主导航和驾驶功能。 |
图片风格变换 | 允许将一张图片的艺术风格应用到另一张图片上,同时保持原图结构完整,在艺术创作、图像增强、虚拟现实等领域应用广泛。 |
二. 图像的形成原理
小孔成像原理
对于三维空间任意一点(X,y,z),它投影到相机成像平面的坐标都可以通过相似三角形进行计算:
x
=
−
f
X
Z
x = - f \frac { X } { Z }
x=−fZX
y = − f Y Z y = - f \frac { Y } { Z } y=−fZY
其中,f是小孔到成像平面的距离,即焦距;( x , y )是该三维空间点对应的二维成像的平面点坐标。
三. 数字图像
光敏元件上像素点到电信号
二维滤波器阵列:捕获特定颜色的光
四. 线性滤波器
1. 图像的像素映射成函数f
2. 图像处理的两种类型:图像滤波和图像扭曲。
图像滤波:
在计算机视觉中,(图像滤波器)过滤器用于从图像中提取信息、增强特征、消除噪声并为进一步处理准备图像。
3. 滤波器分类
五. 边缘检测
1. 图像边缘重要的原因
在计算机视觉中,边缘是图像中的突然不连续点,可能由表面法线、表面颜色、深度、照明或其他不连续性引起。
边缘之所以重要,主要有两个原因。
2. 求解图像边缘与噪声处理
可以从图像的行或列的强度分布图精确定位边缘出现的位置。
然而,在绘制像素强度时通常会产生噪声,因此无法仅通过取函数的一阶导数来识别边缘的位置。比如为一个带有噪声的函数及其导数的图像,尽管原函数大体上都是常函数,但是其导数却常常不为0。
六. 物体检测:R-CNN、Fast-RCNN与Faster-RCNN
1. RCNN
RCNN能够在图像中准确地检测出不同类别的物体,并确定其位置。例如在监控视频中,可以检测出人和车辆等目标。
R-CNN步骤如下图所示:
RCNN算法的缺点主要有:
2. Fast RCNN模型
Fast RCNN模型提高了目标检测的速度,因为特征共享减少了计算量。同时在一定程度上提高了检测的准确性,例如在对图像中的多个小物体进行检测时表现更好。
Fast RCNN 模型在RCNN的基础上引入了单个金字塔池化层模型。该模型解决了候选框重复计算的问题,使得对所有层参数进行微调。最后,使用SVD分解全层的参数矩阵连接层并将它们压缩成两个小的全连接层。在这个模型中,SVM分类器改为softmax分类器。
具体步骤如下图所示:
3. Faster RCNN
作用
基本逻辑
具体步骤如图所示:
RPN的使用使得 Faster RCNN能够集成区域推荐的多个步骤,网络中的特征提取、分类和定位,真正成为端到端的训练。然而,由于 Faster R-CNN特征图上的锚框对应于原图上Faster RCNN 不适合小目标检测。
4. RCNN、Fast RCNN、Faster RCNN之间的区别
候选区域生产 | 特征提取 | 训练过程 | 检测速度 | |
---|---|---|---|---|
R - CNN | 使用选择性搜索算法生成候选区域 | 对每个候选区域单独提取特征 | 分阶段训练,先训练CNN提取特征,再训练SVM分类器 | 慢,因为每个候选区域都需要单独处理 |
Fast - RCNN | 使用选择性搜索算法生成候选区域 | 整个图像只提取一次特征,然后对候选区域进行ROI池化 | 端到端训练,共享卷积层特征 | 较快,因为整个图像只处理一次 |
Faster - RCNN | 引入区域提议网络(RPN)生成候选区域 | 整个图像只提取一次特征,使用RPN和ROI池化 | 端到端训练,共享卷积层特征,RPN和ROI层联合训练 | 快,因为RPN可以并行处理候选区域 |
七. 语义分割
定义与概念
语义分割是计算机视觉中的一个重要任务,它的目标是将图像中的每个像素分配到一个特定的类别标签。
例如,在一张包含街道、汽车、行人、建筑物的城市街道图像中,语义分割会将所有代表汽车的像素标记为“汽车”类别,将代表行人的像素标记为“行人”类别,以此类推。
与物体检测不同,语义分割不仅要识别出图像中的物体,还要精确地划分出每个物体的边界,对每个像素进行分类,从而得到一个像素级别的分类图。
2. 语义分割的应用场景
应用领域 | 描述 |
---|---|
自动驾驶领域 | 对车载摄像头图像进行语义分割,可区分道路、车道线、交通标志、其他车辆、行人等元素,助车辆保持车道、避障及做安全驾驶决策。 |
医学影像分析 | 应用于X光、CT、MRI等影像分析,可分割肿瘤、器官、血管等组织,利于医生诊断疾病、定位病变区域及手术规划。 |
图像编辑与内容生成 | 用于图像编辑软件的智能抠图、背景替换等操作,也有助于虚拟现实和增强现实场景中生成更真实的虚拟与现实融合效果。 |
3. 常用的语义分割方法与技术
基于阈值的方法:
基于区域生长的方法:
基于卷积神经网络(CNN)的方法:
全卷积网络(FCN)
U - Net