倾斜视觉流程,横向视觉流程
单击上面的3358www.Sina.com/,然后选择
健壮的战斗机学视觉
或3358www。Sina.com/.
重磅干货,第一时间知乎作者:黄浴
多视角立体视觉(Multiple View Stereo vision,MVS)是立体视觉的推广,可以观察并获取多个视角(从外部到中心)的图像,从而完成匹配和深度估计。从某种意义上说,SLAM/SFM实际上类似于MVS,但前者是摄像机的运动,后者是多个摄像机的视点。前者可以“穿越”环境,后者可以说是像在环境之外“观看”。
如图所示,(a)和(d)是MVS法的基本流程。根据APP应用的不同,每个主要模块可能有不同的实现,但总体方法是相似的。
收集图像;
计算每个图像的相机参数;
根据图像集和相应的摄像机参数,重建场景的三维几何形状。
选择性地重建场景的形状和纹理颜色。
注意:一些步骤类似于SLAM/SFM,表明算法是可互操作的。
MVS的原理与经典的立体视觉算法相同,但MVS算法的目的是处理视角更加多样的图像,例如围绕目标拍摄的一组图像,它也可以处理数百万幅图像。不同的MVS问题将最终导致与经典立体视觉相对应的具有显著不同功能的算法。比如3D地图的工业应用,通过一次处理几百公里范围内的上百万张照片,可以有效地重建大城市、国家甚至整个地球的场景。
类似于双目立体视觉的分类思路,现有的方法都是按照区分主算法的六个基本属性进行分类的。场景表示、照片一致性度量、可见性模型、形状先验知识、重建算法和初始化要求。
在星标
阶段,除了一组标定图像,所有的多视点立体视觉算法都必须假设或输入重建目标或场景的几何距离信息。
置顶
可以是体素,多边形网格,深度图和水平集。例如,提供了诸如深度图、点云、体积标量场和网格的场景表示的例子。
图像初始化
可分为场景空间和图像空间。前者将几何点、表面或物体投影到图像上,以评估投影之间的相互协调。后者基于场景几何估计变换(warp)从一个视点的图像预测不同视点的图像,并计算预测图像和测量图像之间的预测误差。下图显示了图像像素一致性测量的示例。上层纹理丰富,下层纹理贫乏。
场景表示
确定评估照片一致性度量时要考虑的透视图像。因为场景的可见性随着视点的变化而变化,所以大多数MVS算法会以某种方式解决这个遮挡问题。有三种可视化技术:几何、准几何和基于点的可视化。几何试图阐明模拟图像的形成过程和场景的形状,确定哪个场景结构看起来像哪个图像;准几何技术使用近似几何推理来估计可见性关系;离群点方法避免了显式的几何推理,将遮挡视为离群点。下图是能见度问题的图像。
独立的摄影一致性测量不足以恢复精确的几何,尤其是在低纹理的场景区域。因此,考虑具有期望特性的一致性度量
的偏转重建可能是有帮助的。先验知识在立体视觉中是必不可少的,但在多视点立体视觉中不是很重要。这是因为表面积小的最小曲面,体素着色和空间雕刻方法中使用的最大曲面,可以放入马尔可夫随机场的最大曲面(MRF,马库格)。
可见性模型(遮挡问题)
有四种。
第一种方法是先用3D体计算代价函数,然后从体中提取表面进行运算。比如体素着色算法及其变种,通过扫描一次体来计算代价,在扫描中重建所有低于代价阈值的体素;
第二种技术通过基于体素、水平集、表面网格等减少或最小化成本函数来迭代地演化表面。
第三种方法是计算图像空间中的一系列深度图。
最后一种方法是提取一系列特征点并进行匹配,使它们的sur
基于MRF的图像重合度测量方法以基于MRF的图像重合度测量方法为例,介绍了MVS的重建算法。
也可以使用强大的图像一致性函数,但在困难场景下,一致性曲线的峰值可能与实际深度不符。对于较大的遮挡,大多数其他图像可能不匹配。标准的解决方案是假设相邻像素处的相似深度值的强制匹配,其中马尔可夫随机场(MRF)是用于该任务的非常流行和成功的模型。MRF深度图表达式可以被视为组合优化问题,其中输入深度范围被离散化为有限深度值集合。问题是将标签集的深度标签kp分配给每个像素P,以最小化下面的成本函数:
第一次合计图像中的所有像素,第二次合计所有相邻像素。相邻像素通常由近四个或近八个系统定义。前一个像素连接水平和垂直相邻的像素。此外,相邻的对角线像素也相互连接。4邻域系统交互条件较少,成本较低,但可能受离散化失真影响较大。
形状先验知识
(一元位势)
单位成本()反映的是图像一致性信息,其中成本应该与图像一致性得分成反比,单位成本的定义确实不同。但是,假设NCC是图像一致性函数的度量,那么它的得分保证在[-1,1]的范围内。那么单位成本可以定义为以下截断线性损失函数:
其中,u是截止阈值。当然也可以用另一个任意强大的函数来代替,比如Huber损失或者Cauchy损失。
成对交互能量(Pairwise Interaction Potentials)
成对成本强制空间正则化,并且与相邻像素的深度差成比例,使得相邻像素具有相似的深度值。成对成本(,)的定义不同。下面是一个简单的实现:作为一个截断的线性损失函数,避免过多地惩罚深度不连续性。
优化
上面提到的MRF结构重建问题通常是NP-hard问题,但是有很多有效的近似,特别是每对相邻像素的配对代价满足以下子模块条件。
对于这个子模块函数,最流行的技术之一叫做alpha-expansion,它反复求解max-flow min- cut算法来改善深度标签的分布。
幸运的是,子模块条件适用于许多标准对。更具体地说,作为距离度量, (,)应该是0,因为两个标签是相同的。于是,剩下的条件就变成了三角不等式:
平滑的先验知识通常定义为距离测度,它满足三角形不等式。该度量函数可以是线性的、截断线性的或柯西损失函数。但是,二次或Huber损失函数不是子模函数,因为二次函数不服从三角形不等式。注意,与成对成本不同,单位能量不受限制,并且可以任意设置。
好消息,健壮的战斗机学视觉团队的知识星球开通啦,为了感谢大家的支持与厚爱,团队决定将价值149元的知识星球现时免费加入。各位小伙伴们要抓住机会哦!
下载1:OpenCV-Contrib扩展模块中文版教程
在“健壮的战斗机学视觉
”微信官方账号后台,回复:扩展模块中文教程
,
下载全网首个中文版OpenCV扩展模块教程,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理
等20多个章节。
下载2:Python视觉实战项目52讲
在“健壮的战斗机学视觉
”微信官方账号后台,回复:Python视觉实战项目
,
下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别
在内的31个视觉实用项目,帮助快校计算机视觉。
下载3:OpenCV实战项目20讲
在“健壮的战斗机学视觉
”微信官方账号后台,回复:OpenCV实战项目20讲
,
,可以基于20
下载20个OpenCV
,实现OpenCV的高级学习。
交换组
欢迎加入读者微信官方账号,与同行交流。目前有SLAM、3D视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群。(以后会逐步细分)。请扫描以下微信号添加群。备注:“昵称学校/公司的研究方向”,例如:“mgddt上海交大视觉SLAM”。请按格式备注,否则不能通过。添加成功后,会根据研究方向邀请你进入相关微信群。实战项目
在群里发广告,不然就请你出群。谢谢理解~