2. 中国科学院计算技术研究所智能信息处理重点实验室,北京 100190
2. Key Laboratory of Intelligent Information Processing, Institute of Computing Technology, Chinese Academy of Science, Beijing 100190, China
人类对于现实世界的感知,主要来自感觉器官,如:眼睛、耳朵等。其中,视觉信息是人们感知世界最直观的方式,人眼获得的感知数据就是视网膜上投影得到的图像信息,理解这些图像信息成为感知世界的方式。深度感知主要是感知场景中物体的深度信息。深度感知在2D视频转3D视频技术研究中有大量的应用,这些研究试图通过对2D视频中的场景进行深度感知自动地转换为合理的3D视频[1]。借助透视投影度量方法和小孔成像模型推算物体深度,是广泛使用的用于3D重构中的一种方法[2]。相比于机器学习模型,透视投影度量方法在预测深度方面有更加直接的数学推导方法,对于结构简单的场景,根据透视原理非常容易计算物体的深度和高度,但是,对于复杂的现实世界的场景,很难直接运用透视原理计算物体的深度和高度。
文献[3-5]借助透视投影方法实现3D重构,对于较规则的场景可以得到很好的重构效果。文献[6-9]借助于机器学习算法学习深度映射模型,并取得较准确的深度映射,而且计算时间相对较少。文献[10]通过将地面轮廓和航空视图进行融合生成城市的3D模型。文献[11]将三维重构推广到四维重构,使用凸松散方法实现时空多视角3D重构。对深度的感知同样可以应用于犯罪现场的取证和分析[12],可以根据现场图像预测出犯罪嫌疑人的位置,或预测出犯罪嫌疑人的身高等特征。深度感知在艺术分析、历史研究等领域,同样有利用价值[13]。
本文主要研究根据深度图和单张静态图片使用机器学习算法学习深度映射,并根据单张图像的深度映射结果构造具有良好可视化效果的3D模型。单静态图像深度感知模型可以只使用一张图片做出预测,而且运行速度相对较快,完全可以应用于需要快速做出决策的机器人导航中,在此类应用中可以通过摄像装置获得单张静态图像,然后使用本文提出的方法根据该图像预测场景深度,最后由相应的决策模块根据预测深度做出决策,从而使机器人快速躲避障碍[14]。此外,该类模型完全有潜力应用于医学设备领域,可以利用深度预测为盲人设计类似于人类视觉的导航设备。
1 马尔科夫随机场在计算机视觉领域中,马尔科夫网络(Markov Networks,MNs)又称为马尔科夫随机场(Markov Random Fields,MRF)[15],广泛应用于各种视觉处理任务,如图像分割、污点或噪声的消除、视觉重构、对象识别等。在MRF中,每个像素对应一个变量,相邻像素之间的相互作用对应一个边(因子),由这些变量和边组成的网格表示一幅图像,每个内部的像素有4个邻居,如图 1所示。
用H表示图 1中的MRF,则H与一组结点势能Ø(Aij)(i,j=1,…,n)和一组边势能Ø(Aij,Amn)((Aij,Amn)∈H为点Aij和Amn之间存在的边)相关联。H上的整体分布为所有势能(结点势能和边势能)的归一化乘积,计算式为:
${{P}_{\varnothing }}\left( {{A}_{11}},\ldots ,{{A}_{nn}} \right)=1/Z\cdot {{{\tilde{P}}}_{\varnothing }}\left( {{A}_{11}},\ldots ,{{A}_{nn}} \right),$ |
式中:
MRF广泛应用于视觉处理任务中,不仅是因为其结构简单,还因为边与边之间的相互作用信息对于空间实例非常重要。为了减少计算量,在实际操作中可以使用斑片来代替单一像素作为一个变量。
2 单静态图像深度感知模型为了减少深度预测的计算代价,使用图像分割算法将图像分割为斑片,每个斑片具有同样的深度信息,而不是以每个像素作为深度预测的单位。
2.1 基于图的图像分割算法使用基于图的分割方法[16],令G=(V,E)表示一个无向图,其中V为图中所有点的集合;E为图中所有边的集合,其中包含顶点vi∈V(i=1,…,n)作为等待分割的元素,G中包含的边ek∈E(k=1,…,m)为对应点vi和vj之间存在一条边。每条边ek都有与之相对应的权值ωk,ωk为非负数,用来表示邻近元素vi和vj之间的不相似程度。在图像分割中,V中的元素是各个像素点,边的权值表示由该边连接的两个像素之间的不相似程度(如亮度不同、颜色不同、位置或其他局部属性不同等)。在基于图的分割中,一个分割S将V中的点分派到不同的组件中,这些组件(或区域)C∈S组成一个图G′=(V,E′),其中E′∈E。也就是说,任何一个分割都是由E中的边的子集获得的。虽然有很多种判断分割质量的方法,但是一般而言,都是希望在同一组件中的元素之间是相似的,不同组件之间的元素是不相似的。这也就意味着同一组件内的两个顶点之间的边的权值比较小,而分别属于不同组件的顶点之间的权值比较大。
基于图的分割算法非常类似于用于构造图的最小生成树的Kruskal算法[17],该算法时间复杂度为O(mlog2m),其中m为图中边的数量,算法流程如下:
输入:图G=(V,E);
输出:将V分割成一个组件集,S=(C1,…,Cr);
步骤0:按照边的权值的非递减顺序将边集E进行排序,排序后可得到新的边集π=(e1,…,em);
步骤1:初始化分割S0,其中每一个顶点vi为一个组件;
步骤2:对q=1,…,m,重复执行步骤3;
步骤3:给定Sq-1按如下方式构造Sq。假设vi和vj为排序中第q条边连接的2个顶点,同时用eq(vi,vj)表示第q条边。如果vi和vj分别位于Sq-1中的2个分离的组件中,而且ωq同时小于2个组件的内部差异,则将vi和vj所在的这两个组件合并;否则,不做任何操作。
步骤4:返回S=Sm。
2.2 特征选择本文使用绝对深度特征和相对深度特征这两种类型的特征,其中绝对深度特征用来估计每个斑片的绝对深度,相对深度特征用来估计斑片之间的相对深度。本文选择的特征可以捕获3种不同的局部线索:纹理变化、纹理梯度和色彩。为了捕获这些信息,需要使用YCbCr[18](其中Y是亮度通道,Cb和Cr是色彩通道)作为图像的色彩空间。颜色空间可以表示每幅图像,由于纹理信息主要包含在图像的亮度通道里,所以在亮度通道上使用Laws纹理模板[12, 19]来获得纹理能量[20]。
2.2.1 绝对深度特征向量图像I(x,y)中每个斑片的概括统计量
$\left\{ \begin{align} & {{F}_{n}}={{I}_{Y}}*{{M}_{n}},n=1,2,\ldots ,9,\text{ } \\ & {{F}_{10}}={{I}_{Cb}}*{{M}_{1}}, \\ & {{F}_{11}}={{I}_{Cr}}*{{M}_{1}}, \\ & {{F}_{l}}={{I}_{Y}}*O{{E}_{l}},l=1,2,\ldots ,6, \\ \end{align} \right.\text{ }$ | (1) |
式中:Mn为Laws模板;OEl表示定向边缘检测器;IY、ICb、ICr分别为图像中的亮度通道、Cb颜色通道和Cr颜色通道。
通过式(1)获得17个滤波器。
绝对能量和与平方能量和的计算式为:
$\begin{matrix} {{E}_{i}}\left( m \right)=\sum\limits_{\left( x,y \right)}{{{\left| I\left( x,y \right)\times {{F}_{m}}\left( x,y \right) \right|}^{e}},} \\ e\in \{1,2\}且(x,y)\in {{S}_{i}}, \\ \end{matrix}$ | (2) |
其中:e=1为计算绝对能量和,e=2为计算平方能量和;Fm(m=1,2,…,17)为式(1)中得到的Fn(n=1,2,…,9)、F10、F11和Fl(l=1,2,…,6);Si为根据图像分割算法得到的第i个组件;x和y为图像像素点的座标。
由式(1)、(2)可以获得维度为34的特征向量。
为了估计每个斑片的绝对深度,只有集中在一个斑片上的局部特征是不够的,还必须使用图像的全局属性。可以通过从多个空间尺度[7]中提取图像特征来捕获图像的全局属性。文献[6-9]中每个斑片的绝对深度向量包括其同一空间尺度中的相邻斑片的特征和其他空间尺度中的特征。处于不同深度的物体在分辨率上表现出不同的行为,通过利用多尺度的特征向量可以捕获这些变化[21]。为了捕获额外的全局信息(如遮挡关系等),可以通过利用当前的斑片和与它相邻的4个斑片的特征来共同获得这个特定斑片的估计深度。
2.2.2 相对深度特征向量使用额外的特征向量学习斑片间的依赖关系。对每个滤波器的输出计算10-bin直方图,这样位于尺度s中的第i个斑片可获得具有170个特征的特征向量yis,这些特征用来估计位于不同位置的斑片的深度是如何关联起来的。相对估计绝对深度,估计相对深度不需要这么多的全局信息,而是需要来自每个斑片的更为具体的信息,如,如果2个相邻的斑片有相似的颜色和纹理,它们很可能属于同一个物体的一部分,因此不需要很多的全局信息就可以推断它们的深度大致相同。因此,在尺度s中的两个相邻斑片i和j的相对深度特征向量yijs为2个斑片的直方图的差异,即yijs=yis-yjs。
2.3 深度感知模型在平面参数MRF模型[22]中,每个结点表示一个图像分割中的斑片。该模型假设每个斑片都位于一个平面上,需要推导出该平面的位置和方向。模型中平面的表示参考文献[6-9]。为了捕获平面参数、图像特征以及其他属性(如共面性、连接性和共线性)之间的关系,定义MRF模型为:
$\begin{matrix} P\left( \alpha |X,Y,R;\theta \right)=\frac{1}{Z}\prod\limits_{i=1}^{n}{{{f}_{\theta }}\left( {{\alpha }_{i}},{{X}_{i}},{{y}_{is}},{{R}_{i}} \right)\cdot } \\ \prod\limits_{i=1}^{n}{\prod\limits_{j=1}^{n}{g\left( {{\alpha }_{i}},{{\alpha }_{j}},{{y}_{ijs}},{{R}_{i}},{{R}_{j}} \right)}}, \\ \end{matrix}$ |
式中:P(α|X,Y,R;θ)为由所有斑片构成的Gibbs分布;αi为斑片i的平面参数;对于斑片i中的所有的Si个点,Xi={xi,si∈R646:si=1,…,Si}为斑片i的特征向量的集合,其中xi,si为斑片i中点si的特征向量;Ri=Ri,si:si=1,…,Si为斑片i的射线的集合;Rj为斑片j的射线的集合;θ为模型参数。
2.4 模型评价为了便于分析误差,对每一幅图像分别定义了对数误差、绝对误差、相对误差
${{E}_{l}}=\left| lg{{d}_{p}}-lg{{d}_{l}} \right|,$ | (3) |
${{E}_{a}}=\left| {{d}_{p}}-{{d}_{l}} \right|,$ | (4) |
${{E}_{f}}=\left| \frac{{{d}_{p}}-{{d}_{l}}}{{{d}_{l}}} \right|,$ | (5) |
式中:dp为使用平面参数MRF模型获得的预测深度图;dl为3D激光扫描仪得到的地面实况深度图。
获得每幅图像的3种误差后便可以计算整个测试数据集上的平均对数误差、均方对数误差、平均误差、均方误差、平均相对误差、均方相对误差
${{M}_{l}}=mean({{E}_{l}}),$ | (6) |
${{S}_{l}}=sqrt({{(mean({{E}_{l}}))}^{2}}),$ | (7) |
${{M}_{a}}=mean\left( {{E}_{a}} \right),$ | (8) |
${{S}_{a}}=sqrt\left( {{\left( mean\left( {{E}_{a}} \right) \right)}^{2}} \right),$ | (9) |
${{M}_{f}}=mean({{E}_{f}}),$ | (10) |
${{S}_{f}}=sqrt\left( {{\left( mean\left( {{E}_{f}} \right) \right)}^{2}} \right),$ | (11) |
式中:mean(·)和sqrt(·)分别为Matlab中标准的矩阵计算函数。
3 试验结果与分析 3.1 试验数据本系统设计使用的试验数据由文献[8]的3D激光扫描设备收集,每组数据包括图像和该图像所对应的深度图,部分测试数据使用Microsoft Kinect[23]来收集。收集到的图像包括不同场景中的图像[6],如自然环境(森林、灌木丛等)、人工环境(建筑物、马路、人行道、草坪等)还有室内环境(走廊等)。由于受激光扫描仪最大扫描范围的影响,深度图的最大深度为81m,此外还会有其他因素导致的附加误差,如反射、扫描缺失和物体的移动等因素。
3.2 试验结果分析 3.2.1 图像分割算法使用基于图的分割算法进行分割的效果如图 2所示,每个分割区域随机地赋予一个颜色值。图 2中分别使用3组不同的尺度参数进行分割,分别对应多尺度空间尺度1、尺度2和尺度3中的斑片。图 2(a)为原始图像。(b)为使用参数(σ=0.4,r=80)(尺度1)的图像分割结果,其中σ为使用高斯滤波器对图像进行平滑处理时的标准差;r为组件中斑片所含像素点的最小值,r取值越大斑片越大。(c)为使用参数(σ=0.8,r=160)(尺度2)获得的分割结果。(d)为使用参数(σ=2.5,r=500)(尺度3)获得的分割结果。从图 2可以看出:较高级的尺度空间中更容易发现全局特征,而较低级的尺度空间中会捕获更多的局部详细信息;σ对最终的显示结果没有太大影响,但是可以有效去除图像中的失真现象。由于不同的尺度空间对失真现象的敏感性不同(尺度越小对失真越敏感),所以对应于较大的尺度空间选择较大的σ。r可以有效的设置观察对象的尺度,r越大所获得的分割中每个组件就越大,对应较大的尺度空间。相对于简单的场景结构,复杂的场景结构更需要多尺度的度量方式以获得图像的全局属性。在较大的分割尺度下,小的区域变化会被忽略,从而获得平滑的分割界限。1000像素×1000像素的图像,在2.7GHz的i7处理器下,计算时间仅需1~2s,对于不同的图像分辨率和运行环境,算法的执行时间略有不同。可以看出基于图的分割算法,不仅运行效率高,而且可以捕获图像的非局部属性。
图 3为不同场景中的深度预测结果,图 3(a)(b)(c)(d)从左到右依次为:静态图像、激光扫描地面实况深度图以及r=100时的平面参数MRF模型深度预测图。为了测试不同场景中的预测精确度以及模型的泛化程度,图 3分别选择了不同场景中的图像进行展示,深度图中不同的深度分别用不同的颜色来表示,如图 3(e)所示,深蓝色表示较近的距离,深红色表示较远的距离。由于获得地面实况深度图使用的激光扫描仪的最远扫描距离为81m,超过该限度的距离均用深红色表示。从图 3可以看出,相比于地面实况深度图,通过平面参数MRF得到的深度预测图更为平滑,且可以较好地预测出深度。
图 4中(a)(b)(c)(d)(e)(f)分别为根据式(6)~(11)定义的误差函数在测试数据集上计算得到的深度图的预测误差,试验中使用的测试数据集分别取自不同场景中的图像。其中,每幅折线图中横坐标为分割尺度k。该测试数据集共包含134幅测试图像,而且,为了检测该模型预测能力的泛化程度,分别选择不同场景中的图像,包括建筑场景、人工草坪和道路、树林等。从图 4中可以看出,随着r的逐渐增加,平均误差、均方误差、平均对数误差、均方对数误差、平均相对误差和均方相对误差呈上升趋势,这是因为随着r的增大,预测结果中必须要舍弃相应的细节信息,导致预测结果不够精确。值得注意的是,虽然整体趋势是平稳增加的,但是r在比较小的范围内(如1~80),r和预测误差之间的关系会出现小幅度的震荡,如图 5所示。由于震荡幅度比较小,可以认为该震荡是由测试数据中激光扫描图的误差等原因造成的,这种解释还有待于进一步地研究论证。
重构的3D模型以不同角度的截图来展示,如图 6所示,其中(a)(b)(c)(d)中最左侧图像为原始静态图像,其余为3D模型不同角度的截图。为了对生成的模型进行分析,分别对不同复杂程度的场景进行建模分析。
图 6中几乎所有生成的模型的正面截图和用作输入的图像都能很好的吻合,如图 6(a)(c)(d)中第一和第二幅图。重构结果显示,相对简单的场景结构对应的投影图像,如图 6(b)(d),可以获得可视化效果更好的模型,这主要是因为在相对简单的场景结构中各种干扰信息比较少,而且激光扫描仪获得的地面实况深度图也会更加准确;而复杂的场景图像,如图 6(a)(b),难以获得很好的重构模型。对于图 6(b)这种复杂的图像,由于没有填补技术,所以台阶和两旁复杂的石柱雕刻无法生成良好的3D模型。
试验结果显示,并不是所有类型的图像都可以生成可视化效果非常好的模型,主要原因之一是根据一张图像来重构3D场景本身就是一个病态问题。根据投影原理将3D场景投射到2D空间的过程,会损失很多的信息,虽然,3D到2D的投影是唯一确定的,但是,一张静态图像对应的真实的3D场景是不确定的,正因为这种重构问题的不确定性和投影过程中大量信息的损失,构建出来的模型中包含的信息会有误差和缺失,增加了重构的难度甚至可能会产生奇怪的3D模型。为了使重构出来的3D模型具有良好的视觉效果,可以使用遮挡填补方法和表面重构技术[24-25]来改进模型的视觉效果。
4 结语本文选用模型没有显式地假设场景的结构,这使得其可以具有很好的泛化能力,并可以捕获场景中详细的3D结构。根据不同的单目线索,设计了多尺度特征向量来更好地捕获图像局部信息和全局信息;同时,为了捕获图像中物体之间的关系,建立符合现实世界的3D模型,还设计了相对深度特征向量来捕获相关信息。
主要研究了平面参数MRF模型作为深度感知模型。最后展示了使用平面参数MRF模型生成的预测深度图和3D重构结果,并根据测试数据集上的测试结果给出定量和定性分析。由于单静态图像深度感知模型可以只用一张图片做出预测,且具有运行速度相对较快的特点,使其在机器人导航、医疗设备、场景感知和3D重构等领域具有巨大潜力。
[1] | 李乐. 面向3DTV应用的视频2D转3D技术研究[D]. 长沙: 国防科学技术大学, 2012. (0) |
[2] |
李乐, 张茂军, 熊志辉, 等. 基于内容理解的单幅静态街景图像深度估计[J].
机器人,2011 (2) : 174-180.
LI Le, ZHANG Maojun, XIONG Zhihui, et al. Depth estimation from a single still image of street scene based on content understanding[J]. Robot,2011 (2) : 174-180. (0) |
[3] | HOIEM D, EFROS A A, HEBERT M. Putting objects in perspective[J]. International Journal of Computer Vision,2008, 80 (1) : 3-15. (0) |
[4] | HOIEM D, EFROS A, HEBERT M. Geometric context from a single image[C]//Proceedings of the Tenth IEEE International Conference on Computer Vision (ICCV′05).Beijing:IEEE, 2005:654-661. (0) |
[5] | GUO R, HOIEM D. Support surface prediction in indoor scenes[C]//Computer Vision and Pattern Recognition (CVPR).Sydney, NSW: IEEE, 2013:2144-2151. (0) |
[6] | SAXENA A, CHUNG S H, NG A Y. 3-D Depth reconstruction from a single still image[J]. International Journal of Computer Vision,2008, 76 (1) : 53-69. (0) |
[7] | KOPPULA H S, SAXENA A. Learning spatio-temporal structure from RGB-D videos for human activity detection and anticipation[C]//Proceedings of the 30th International Conference on Machine Learning (ICML-13).Atlanta, USA: JMLR, 2013:792-800. (0) |
[8] | SAXENA A, JAMIE S, NG A Y. Depth estimation using monocular and stereo cues [C]//International Joint Conferences on Artificial Intelligence. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc, 2007:2197-2203. (0) |
[9] | SAXENA A, SUN M, NG A Y. Make 3D: depth perception from a single still image[C]// Proceedings of the 23rd National Conference on Artificial Intelligence. Chicago, Illinois: AAAI Press, 2008:1571-1576. (0) |
[10] | FREUEH C, ZAKHOR A. Constructing 3D city models by merging ground-based and airborne views[J]. IEEE Computer Graphics and Applications,2003, 23 (6) : 52-61. (0) |
[11] | OSWALD MRC. A convex relaxation approach to space time multi-view 3D reconstruction[C]//Computer Vision Workshops (ICCVW), 2013 IEEE International Conference. Sydney, NSW:IEEE, 2013:291-298. (0) |
[12] | CRIMINISI A. Single-view metrology[C]//Algorithms and Applications:Proceedings of the 24th DAGM Symposium on Pattern Recognition. London, UK: Springer-Verlag, 2002:16. (0) |
[13] | CRIMINISI A, REID I, ZISSERMAN A. Single view metrology[J]. International Journal of Computer Vision,2000, 40 (2) : 123-148. (0) |
[14] | MICHELS J, SAXENA A, NG A Y. High speed obstacle avoidance using monocular vision and reinforcement learning[C]// Proceedings of the 22nd International Conference on Machine Learning. New York, USA: ACM, 2005:593-600. (0) |
[15] | KOLLER D, FRIEDMAN N. Probabilistic graphical models: principles and techniques[M]. Cambridge, Massachusetts: MIT Press, 2009 . (0) |
[16] | FELZENSZMALB P F, HUTTENLOCHER D P. Efficient graph-based image segmentation[J]. Int. J. Computer Vision,2004, 59 (2) : 167-181. (0) |
[17] | CORMEN T H, STENIN C, RIVEST R L, et al. Introduction to algorithms[M]. Cambridge MA: The MIT Press, 2009 . (0) |
[18] | Wikimedia Foundation, Inc.YCbCr[EB/OL]. (2015-10-29) [2015-11-10]. https://en.wikipedia.org/wiki/YCbCr. (0) |
[19] |
葛亮, 朱庆生, 傅思思. Laws纹理模板在立体匹配中的应用[J].
光学学报,2009, 29 (9) : 2506-2510.
GE Liang, ZHU Qingsheng, FU Sisi. Application of law′s masks to stereo matching[J]. Acta Optica Sinica,2009, 29 (9) : 2506-2510. (0) |
[20] | DAVIES E R. Computer andmachine vision:theory, algorithms, practicalities[M]. New York: Academic Press, 2012 . (0) |
[21] | WILLSKY A S. Multiresolution Markov models for signal and image processing[J]. Proceedings of the IEEE,2002, 90 (8) : 1396-1458. (0) |
[22] | LI S Z. Markov random field modeling in image analysis[M]. London: Springer, 2009 : 357 . (0) |
[23] | Wikimedia Foundation, Inc. Kinect[EB/OL].(2015-10-11) [2015-11-10]. https://en.wikipedia.org/wiki/Kinect. (0) |
[24] | NAGAI T, IKEHARA M, KUREMATSU A. HMM-based surface reconstruction from single images[J]. Systems and Computers in Japan,2007, 38 (11) : 80-89. (0) |
[25] | EFROS A A, FREEMAN W T. Image quilting for texture synthesis and transfer[C]//Proceedings of the 28th annual conference on Computer graphics and interactive techniques. New York, USA: ACM, 2001:341-346. (0) |