正在加载图片...
第4期 林琴,等:基于双目视觉的人脸三维重建 ·537· 构不平滑所以需要通过2.3部分的内容进行进一 w(p.q)=e (9) 步优化。 式中:y是定义的参数,p-I表示p和q的 RGB颜色空间的L,范数。 对于某个像素点选用具有最小的聚合匹配代 价的平面作为当前点的最优平面,如式(10)所示: fo=arg min m(p,f) (10) feF ∫代表所有的视差平面,所对应的解是无穷多 的。通过下面的方式找到较优的平面参数。 (a)随机初始化 (b)插值初始化 首先初始化平面参数和视差参数,Patch- 图4脸部三维效果图 Match方法采用的是随机初始化方式,但是人脸 Fig.4 Face 3-D renderings 重建与场景重建之间存在差别,人脸可以通过检 2.3基于PatchMatch算法的人脸三维结构优化 测方法确定其所在区域,并且通过关键点检测技 传统的局部的立体算法以整数视差作为支持 术,初步匹配出左右图像人脸的关键点,从而获 窗,此处假设,位于同一个支持窗区域内的像素 得稀疏的视差值,结合线性插值方法恢复稠密的 具有相同的视差值,但是该假设不适用于倾斜的 视差,为视差提供更好的初始化方式,从而使得 平面,所以会导致重建的前向平行的表面出现一 算法能够更快地收敛到正确的视差值。本文采 定的偏差。PatchMatch立体算法提出使用倾斜的 用2.1和2.2中的方法得到的脸部视差值进行初 支持窗策略来解决该问题。因此,对于脸部这样 始化,图片其余部分视差值进行随机初始化。平 的曲型平面,PatchMatch方法能够较好地恢复。 面参数采用随机初始化方式。通过迭代步骤和后 该算法通过对每个像素构造一个平面,然后 处理步骤来更新最优平面参数。迭代步骤中包括 找到局部最优平面,再以此平面来描述此点的视 空间传播、视角传播和平面细化3个步骤。 差值。该算法与其他的局部立体匹配算法一致, 3实验结果及分析 包含代价匹配、代价聚合、代价计算和后处理4 个步骤。本文采用的代价匹配算法是census2算 该部分中对提出的方法从定性和定量两个方 法。对于图片上的像素(xoo),对应的视差为d, 面进行分析。首先,使用双目立体相机采集人脸 对应的视差平面f,a、b,、c表示平面f,单位向 图像,获取的图像分辨率为640像素×480像素, 量n=(nx,n,)表示平面的法向量。对于某一个像 构建实验室自主人脸数据库,后文用数据库1表 素点的聚合视差代价,如式(): 示,由于该数据库上缺乏人脸的基准三维坐标, mp,f=∑p,9pg,g-d) (7) 因此,仅从定性方面进行分析。然后在公开的人 脸数据库Bosphorus!2上进行了脸部深度的定性 式中:w,代表像素p的方形窗口,d,=arq.+brA,+c 分析和定量分析。Bosphorus数据库提供了人脸 代表像素q点的视差值。平面参数ar、br、c可通 图像和对应点的三维坐标,有利于对人脸三维重 过式(8)转换成平面单位法向量: 建结果做评估,并且与其他在该库上进行的人脸 a=-2,b=-2 三维重建1算法进行比较。 n. nx0+n%+n:20 (8) 3.1数据库1评估 CI= n: 数据库1包含20人的不同图像对,图像通过 p(p,q)代表像素p、q之间的匹配代价。定义 双目相机采集,图片大小为640像素×480像素。 为:p(p,q)=H(census(p)-census(q)o其中,censuse(p, 将该算法与局部立体匹配算法BM和半全局立体 census(q)分别代表对像素p和g进行census编码,然 匹配算法SGBM(semi-global block matching)进行 后计算编码后的哈明距离,以此值作为最终的匹 比较。SGBM是opencv基于SGM算法改进得到 配代价。 的算法。从图5可以看出,BM算法虽然能够得 权重函数w(p,q)考虑到方形窗口内的边缘问 到人脸的总体轮廓,但人脸三维点云很稀疏,说 题,利用两点的颜色相似度来定义权值函数,如 明该算法对弱纹理区域重建较差;SGBM算法相 果颜色相近则赋予高权重,反之,则赋予低权重, 比较BM算法,能够得到更加稠密的点云,但是人 表示如式(9): 脸的下巴与人脸分离,连续性较差,出现了分层现象。构不平滑所以需要通过 2.3 部分的内容进行进一 步优化。 (a) 随机初始化 (b) 插值初始化 图 4 脸部三维效果图 Fig. 4 Face 3-D renderings 2.3 基于 PatchMatch 算法的人脸三维结构优化 传统的局部的立体算法以整数视差作为支持 窗,此处假设,位于同一个支持窗区域内的像素 具有相同的视差值,但是该假设不适用于倾斜的 平面,所以会导致重建的前向平行的表面出现一 定的偏差。PatchMatch 立体算法提出使用倾斜的 支持窗策略来解决该问题。因此,对于脸部这样 的曲型平面,PatchMatch 方法能够较好地恢复。 (x0, y0) f,af、bf、cf f n = (nx ,ny ,nz) 该算法通过对每个像素构造一个平面,然后 找到局部最优平面,再以此平面来描述此点的视 差值。该算法与其他的局部立体匹配算法一致, 包含代价匹配、代价聚合、代价计算和后处理 4 个步骤。本文采用的代价匹配算法是 census [21]算 法。对于图片上的像素 ,对应的视差为 d, 对应的视差平面 表示平面 ,单位向 量 表示平面的法向量。对于某一个像 素点的聚合视差代价,如式 (7): m(p, f) = ∑ q∈Wp w(p,q)· ρ(q,q−dq) (7) wp p dq = af qx +bf qy +cf q af、bf、cf 式中: 代表像素 的方形窗口, 代表像素 点的视差值。平面参数 可通 过式 (8) 转换成平面单位法向量: af = − nx nz ,bf = − ny nz , cf = nx x0 +nyy0 +nzz0 nz (8) ρ(p,q) ρ(p,q) = H(census(p)−census(q)) census(p) census(q) p q 代表像素 p、q 之间的匹配代价。定义 为: 。其中, , 分别代表对像素 和 进行 census 编码,然 后计算编码后的哈明距离,以此值作为最终的匹 配代价。 权重函数 w(p,q) 考虑到方形窗口内的边缘问 题,利用两点的颜色相似度来定义权值函数,如 果颜色相近则赋予高权重,反之,则赋予低权重, 表示如式 (9): w(p,q) = e −∥Ip−Iq ∥ γ (9) γ Ip − Iq 式中: 是定义的参数 , 表 示 p 和 q 的 RGB 颜色空间的 L1 范数。 对于某个像素点选用具有最小的聚合匹配代 价的平面作为当前点的最优平面,如式 (10) 所示: fp = argminm(p, f) f ∈F (10) f 代表所有的视差平面,所对应的解是无穷多 的。通过下面的方式找到较优的平面参数。 首先初始化平面参数和视差参数, Patch￾Match 方法采用的是随机初始化方式,但是人脸 重建与场景重建之间存在差别,人脸可以通过检 测方法确定其所在区域,并且通过关键点检测技 术,初步匹配出左右图像人脸的关键点,从而获 得稀疏的视差值,结合线性插值方法恢复稠密的 视差,为视差提供更好的初始化方式,从而使得 算法能够更快地收敛到正确的视差值。本文采 用 2.1 和 2.2 中的方法得到的脸部视差值进行初 始化,图片其余部分视差值进行随机初始化。平 面参数采用随机初始化方式。通过迭代步骤和后 处理步骤来更新最优平面参数。迭代步骤中包括 空间传播、视角传播和平面细化 3 个步骤。 3 实验结果及分析 该部分中对提出的方法从定性和定量两个方 面进行分析。首先,使用双目立体相机采集人脸 图像,获取的图像分辨率为 640 像素×480 像素, 构建实验室自主人脸数据库,后文用数据库 1 表 示,由于该数据库上缺乏人脸的基准三维坐标, 因此,仅从定性方面进行分析。然后在公开的人 脸数据库 Bosphorus[22]上进行了脸部深度的定性 分析和定量分析。Bosphorus 数据库提供了人脸 图像和对应点的三维坐标,有利于对人脸三维重 建结果做评估,并且与其他在该库上进行的人脸 三维重建[10-11, 15]算法进行比较。 3.1 数据库 1 评估 数据库 1 包含 20 人的不同图像对,图像通过 双目相机采集,图片大小为 640 像素×480 像素。 将该算法与局部立体匹配算法 BM 和半全局立体 匹配算法 SGBM(semi-global block matching) 进行 比较。SGBM 是 opencv 基于 SGM 算法改进得到 的算法。从图 5 可以看出,BM 算法虽然能够得 到人脸的总体轮廓,但人脸三维点云很稀疏,说 明该算法对弱纹理区域重建较差;SGBM 算法相 比较 BM 算法,能够得到更加稠密的点云,但是人 脸的下巴与人脸分离,连续性较差,出现了分层现象。 第 4 期 林琴,等:基于双目视觉的人脸三维重建 ·537·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有