Depth Extraction from Video Using Non-parametric Sampling解读
基于单幅图像的深度估计问题,在本研究中我们采用以下方法:首先针对输入的一副图像建立目标检测模型;其次通过候选数据库搜索模块获取与输入图像高度相似的目标候选;随后对获取到的目标候选进行形态学处理和参数优化;最后通过目标候选提供的深度信息实现输入图像各像素点处深度值的有效推断。研究依据空间一致性原理,在同一区域中具有高度相似特征的现象通常呈现出一致或近似的几何特性
具体做法:首先依赖数据库,并从作者自行采集的数据集中获取视频数据(http://kevinkarsch.com/depthtransfer)。在基于数据库搜索并提取与输入图像最接近的候选样本后,在这些候选样本中选取了7个候选样本(注:这些候选样本来自不同视频源以确保多样化的视角)。为了衡量相似性,则采用了GIST和Optical Flow方法,并使用K-近邻(KNN)算法作为度量方法。在获得与输入图像高度相似的候选样本后,在区域上具有一定的相似性基础上,则需要将这种整体上的类似转换至点级别的精确匹配。为此,我们采用了SIFT流算法实现了局部特征点级别的精确匹配。

计算输入图片L中每个像素对应的深度值D。其中:
- 第一项衡量的是深度估计值与7种变形后的候选图片深度值之间的差异程度;
- 第二项则评估的是估计深度的平滑度(即梯度应尽量小),这种设计使得该方法仅适用于输入图像较为平滑、深度变化有限的情况;
- 当前两项的作用较弱时,则采用数据库中对应像素点深度值的平均作为替代;
- 最后一项则是一个归一化常数(用于平衡各因素的影响程度)。
其在视频处理中的应用类似于单帧图像的空间深度估计过程。然而,在这一过程中并不仅仅是对单一图像进行处理,在其基础上增加了时间域的相关信息,并计算了运动物体及其所在平面区域与地面之间的深度差异

第一部分专注于单帧图像深度估计问题;第二部分则用于解决深度估计值的时间一致性问题,并采用光流算法来实现这一目标;第三部分则专注于运动物体的相关处理。

其中m是用于实现运动分割的一个二进制掩码,在此过程中它指示了物体在图像中的存在状态;而M则代表该像素点对应的物体与其在地面上建立连接所达到的高度值
数据库用kinect采集,采集设备如下

两个kinect各自获取rgb信息以及深度信息。
左侧kinect获取的数据来自两座城市内的四个建筑。
这些建筑包括走廊、客厅以及房间的变化,
同时这些变化还包含了人物运动的信息。

最左边的图像为作者采集的四个建筑场景。
由此产生的一个应用就是stereoBrush方法在2D到3D转换技术中的具体体现,在这项研究中提到的具体实现过程包括两步:首先生成每一帧的深度图谱;随后基于深度图谱对相应的图像进行调整以实现双重目标。该研究中的具体实现过程包括两步:首先生成每一帧的深度图谱;随后基于深度图谱对相应的图像进行调整以实现双重目标。由于原始算法仅适用于处理单一图像而非连续的画面序列这一限制,在这项研究中提出了一种新的解决方案以解决这一问题进而实现了算法在视频数据上的适用性提升。
转换效果如图所示上边为作者的转换结果,下边为youtube转换效果


在观看过程中可以明显感受到YouTube的3D效果更为突出;由于缺乏立体视觉能力,在不借助专业设备的情况下难以通过肉眼直接比较两者的效果;其意图在于强调YouTube展示的效果更加出色。
总结:提出了基于非参数的新方法,在单幅图像和视频中均可实现深度估计问题的同时还拥有一个独特的应用场景即从二维到三维的转换过程。该方法存在明显的局限性耗时较长在复杂多变的户外环境中表现欠佳尤其难以处理空中物体的深度估算严重依赖于数据库的支持
