编辑: 黑豆奇酷 | 2019-09-18 |
29 No.7
2017 年7月Journal of Computer-Aided Design &
Computer Graphics Jul.
2017 收稿日期: 2016-07-13;
修回日期: 2017-03-08. 基金项目: 国家自然科学基金(61402081, 61572333);
国家 八六三 高技术研究 发展计划(2015AA016405);
中央高校基本科研业务费(ZYGX2014J059). 邢冠宇(1985―), 男, 博士, 讲师, 主要研究方向为计算机图 形学、增强现实、计算机视觉;
袁霞(1987―), 女, 硕士, 工程师, 主要研究方向为计算机视觉;
李龙(1992―), 男, 硕士研究生, 主要研究方向为虚拟现实、计算机视觉;
刘艳丽(1981―), 女, 博士, 副教授, CCF 会员, 论文通讯作者, 主要研究方向为增强现实、 计算机视觉、图像视频处理. 单幅 RGB-D 图像本征图像交互分解算法 邢冠宇1,2) , 袁霞2) , 李龙1,2) , 刘艳丽3)* 1) (电子科技大学计算机科学与工程学院 成都 611731) 2) (电子科技大学机器人研究中心 成都 611731) 3) (四川大学计算机学院 成都 610065) ([email protected]) 摘要: 为使分解结果可保留光照的空间变化性, 获取较为准确的本征图像分解结果, 提出一种单幅 RGB-D 图像本 征图像交互分解算法. 首先提出了一个包含远距离光照项、近距离光照项和材质项
3 个本征属性部分的本征图像模 型, 以模拟光照的空间变化性;
之后利用球面调和函数估计场景远距离光源分布, 为提高分解的准确性, 将恢复的 光照分布作为先验约束, 设计能量函数求解远距离光照项;
最后通过用户交互指定部分材质相同但光照条件不同的 像素, 并设计算法将用户交互约束传递至全图, 从而实现对于场景材质图像及近距离光照图像的求解. 实验结果证 明, 该算法是有效的. 关键词:本征图像分解;
用户交互;
单幅 RGB-D 图像;
光照先验;
光照空间变化性 中图法分类号:TP391 User-Assisted Intrinsic Image Decomposition Based on a Single RGB-D Image Xing Guanyu1,2) , Yuan Xia2) , Li Long1,2) , and Liu Yanli3)* 1) (School of Computer Science and Engineering, University of Electronic Science and Technology of China, Chengdu 611731) 2) (Center for Robotics, University of Electronic Science and Technology of China, Chengdu 611731) 3) (College of Computer Science, Sichuan University, Chengdu 610065) Abstract: This paper proposes a user-assisted intrinsic image decomposition method based on a single RGB-D image. To encode spatially varying illumination, an intrinsic image model which separates the shading image into a distant illumination component and a local illumination component is firstly introduced;
then, a new illumination estimation method based on the spherical harmonics is developed to obtain an ini- tial shading image. To improve the accuracy of the decomposition result, the recovered illumination is adopted as a prior of the decomposition and an energy function is built to calculate the distant illumination component;
finally, we design an algorithm to efficiently calculate the local irradiance and reflectance com- ponents by letting users indicate pixels with similar albedo and different shading on the image. Experimental results demonstrate the validity and flexibility of our approach. Key words: intrinsic image;
user interaction;
single RGB-D image;
illumination prior;
spatial variation of illumination
1284 计算机辅助设计与图形学学报 第29 卷 如何将一幅图像分解为光照部分和材质部分 的乘积是本征图像分解所要重点解决的问题, 其 中光照部分由场景光照条件和几何属性所确定, 而材质部分则对应于场景的材质属性. 本征图像 分解在计算机图形学和计算机视觉领域有着广泛 的应用, 其可提高图像分割、重光照和图像颜色恒 常性等算法的性能. 然而, 图像中每个像素的值是 由其在场景中对应三维点所受光照条件与该点表 面属性相互作用的结果, 因此在没有任何场景信 息的条件下, 求解本征图像将面临着巨大的挑战. 本文提出了一种基于用户交互的框架, 以实 现对于单幅 RGB-D 图像的本征图像分解. 本文方 法考虑了光照的空间变化性, 采用了基于物理的 光照先验, 并且有效地引入了用户交互, 最终获得 准确的分解结果. 本文首先提出了一个本征图像 模型, 将光照图像分解为远距离光照和近距离光 照2部分, 以模拟光照的空间变化性;
然后, 基于 球面调和函数, 提出了一种远距离光源分布估计 算法, 利用恢复的远距离光源和深度图像可合成 初步的远距离光照图, 在计算最终的远距离光照 图时可将该光照图像作为约束. 考虑到准确恢复 场景近距离光照条件的困难性, 本文方法让用户 交互地指出部分材质相同但光照条件不同的像素, 并设计算法, 将用户交互传递至没有交互的像素, 从而实现对于场景本征属性的分解.
1 相关工作 1.1 基于纯图像的本征图像分解 近年来, 本征图像分解已被广泛研究. 其中大 多数算法均是基于经典的Retinex 模型[1] . 在Retinex 模型中, 假设一幅图像中像素值较大的变 化是由于材质改变产生, 而较小的变化则是由于 光照条件不同而引起的. Horn [2] 基于这一假设提出 了一种本征图像分解算法. 虽然 Retinex 可在一定 程度上解决本征图像分解问题, 但是, 现实场景中 存在着物体间的相互遮挡以及阴影等一些并不符 合传统 Retinex 假设的现象, 在这种情况下基于 Retinex 模型的算法将出现较大的误差 [3] . 为了解 决这一问题, 之后的方法都试图通过寻找额外的 约束改进 Retinex 模型. Sinha 等[4] 通过图像局部灰 度连接分析获取图像的全局一致性, 据此将图像 边缘分为由光照变化引起的和由于材质变化引起 的, 并将其作为 Retinex 模型的额外假设;
但是, 该方法仅可处理包含简单多面体的虚拟图像, 无 法应用于真实场景. 作为改进的方法, 参考利用机 器学习技术 [5-6] 对图像中像素值发生较大变化的区 域进行分类, 并实现了对于真实场景图像的处理. Bousseau 等[7] 利用用户交互为本征图像分解提供 约束, 根据物体颜色在局部区域内低维的假设, 提 出了一个能量方程来求取本征图像. 最近, 研究人 员又证明, 通过非局部纹理约束 [8] 或者图像的全局 稀疏性 [9-10] 可改善 Retinex 模型. 虽然以上方法推 动了本征图像分解的进展, 但是在缺乏场景光照、 几何以及材质信息的条件下, 现有方法仍然存在 较大误差, 特别是对于光照、几何以及材质条件复 杂的自然场景, 本征图像分解还需开展更为深入 的研究. 1.2 基于 RGB-D 图像的本征图像分解 值得庆幸的是, 廉价的商业 RGB-D 传感器 (如Kinect) 的出现使得捕获场景几何信息容易实 现, 这便为提高本征图像分解的准确性带来了希 望. 然而, 由于物体遮挡、传感器误差和场景中存 在深度难以被捕获的暗色物体等原因, 商业 RGB- D 传感器捕获的深度图可能会存在很大的噪音和 深度未知的区域. 因此, 如何利用这样的深度图求 取准确的本征图像仍然是一个具有挑战的课题. Lee 等[11] 尝试通过 Retinex 模型计算 RGB-D 视频序 列的本征图像. 在其算法中, 光源被假设位于无穷 远处, 因此深度图可用于确定场景中不同点在光 照图像中的关系, 即法向相同的点在光照图像中 的值也相同, 并据此设置了对于光照部分的全局 约束. 然而, 实际生活中(室内场景), 光源大都存 在于场景之中, 这便使得法向相同的点可能具有 较大的亮度差;
另一方面, 场景中物体对于光源的 遮挡也会使得法向相同的点亮度不同. 为方便起 见, 将这一现象称为光照的空间变化性, 显然 Lee 等[11] 方法并没有考虑这一现象. 该方法还利用本 征图像的时序连续性以提高分解的准确性, 所以 其更适用于对 RGB-D 视频的分解. 与本文工作最 相似的是文献[12-13]的方法, 其目标也是通过单 幅RGB-D 图像分解得到场景本征图像. Shen 等[12] 的方法将场景光照分为直接和间接光照, 深度图 像主要用于确定不同场景点在直接光照图像中的 全局一致性;
但是, 物体表面的明暗程度是由其几 何属性和光照属性共同决定的, 该方法在设定光 照图像的全局一致性时并没有考虑光照对物体表 面 明暗的影响, 从而无法得到准确的分解结果. 第7期邢冠宇, 等: 单幅 RGB-D 图像本征图像交互分解算法
1285 Barron 等[13] 的方法可获取场景的光照信息, 其同 文献[11]不同的是考虑了光照的空间变化性, 因此 它更符合实际. 该方法利用非凸优化对场景的深 度图进行优化, 并求取场景材质和光照条件, 根据 恢复的深度和光照条件绘制出最终的光照图像;
然而, 对于无法获得精确深度值的点来说(如点深 度值丢失或深度值超过传感器的有效范围), 该方 法无法获得令人满意的优化结果, 通过该方法恢 复的光照图像仍包含不准确的区域. 1.3 光照估计 已有许多工作展开对于自然场景光照分布估 计的研究. Debevec[14] 使用镜面球来捕获场景光照 信息, 该方法可捕获高质量的光照, 但是不适用于 单幅图像. Sato 等[15-16] 尝试通过阴影来计算光照. 文献[17]则通过多图像来恢复真实场景的材质模 型和光照环境, 但是上述算法均需已知精确的场 景几何信息. 刘艳丽等[18] 利用视频中光照的时空 连续性构建目标函数, 实现了对光照的实时估计, 但其仅能处理室外场景. Karsch 等[19] 提出了一种 基于交互的单幅图像光照估计算法, 但计算量较 大, 效率不高. Mei 等[20] 根据场景光照可通过少量 平行光源近似逼近的理论, 通过稀疏表达估计光 照, 但是, 这一方法要求场景中所有物体材质相同, 无法恢复任意场景的光照. 1.4 深度图像获取 深度估计已被研究多年, 许多学者基于双目 视觉理论[21-22] 利用多幅图像或视频序列恢复场景 深度数据. 然而, 由于自然场景的复杂性, 即使拥 有完整的理论, 想要准确、稳定地计算深度数据仍 然具有较大的困难. 深度传感器(如Kinect)的广泛 使用让深度数据的获取更加的容易, 但使用一般 的商业传感器往往会遇到采集数据误差大以及部 分深度数据缺失的问题;
而深度数据的高精度恢 复[23] 又要求捕获多张不同视角拍摄的 RGB-D 图像. 本文使用 NYU 深度图像数据集[24] 进行算法测试, 本文算法可以填补深度数据缺失区域, 同时降低 深度图噪声对分解结果的影响.
2 本文模型 将输入的 RGB 图像记为 I, 本征图像分解主要 解决如何将图像 I 分解为材质图像 A 和光照图像 S 的乘积, 即PPPIAS?? ? . 其中, P 表示图像中的像 素, 本文算法将不同颜色通道分开处理. 为了解决光照的空间变化性, 本文将光照图 像D分解为
2 部分: 远距离光照图........