论文部分内容阅读
人脸三维模型重建技术已经普遍运用在越来越多的领域中,传统三维重建方法常常很复杂且不实用,本文设计了一种通过双目摄像机拍摄在同一场景下的投射有结构光的人脸的两幅图像,通过视差来计算深度信息的人脸三维重建系统。我们详细分析和研究了基于双目立体视觉的人脸三维模型重建工作,并在此基础上设计了一套实用的基于结构光的人脸三维模型重建方案。我们的系统由摄像机立体标定,图像预处理,立体匹配,深度值计算和点云曲面显示等模块组成。涉及到投影几何学,计算机图形学和图像处理等内容。在硬件上我们使用了立体相机,投影仪,自制的棋盘标定板和PC等实验器材。软件上我们在OpenCV和OpenGL的基础上研发了高内聚低耦合并且简单高效的人脸三维模型重建系统。第一阶段我们设计了一种新的立体标定方法。通过对摄像机进行标定,我们求出摄像机的内部参数和外部参数以及两枚镜头的距离,从而得到投影矩阵。我们使用OpenCV来完成相机的立体标定,并对镜头的畸变做出了一定的校正。第二阶段我们向人脸投射条纹状结构光并通过立体相机获得带有结构光的人脸图像信息。对得到的图像做预处理包括滤波降噪和灰度化等。我们使用改进后的Canny算法完成对结构光的提取并对边缘信息进行优化处理,通过一系列变换和进化的条件细化算法使我们获得了可供精确匹配的图像。第三阶段我们设计了一种基于两步法的立体匹配方法。第一步我们先粗略地计算视差并构造米字型的窗口,然后对窗口中的像素点做最小二乘法运算来求得左右图像的偏移距离。第二步我们对条纹进行标记,通过Rank变换和Census变换来做点的精确匹配。第四阶段我们根据双目立体视觉的原理通过投影矩阵计算出深度信息从而得到点的空间三维坐标。然后采用两面角的区域生长算法和Delaunay构建三角形的法则进行点云三角网格化,最终在屏幕上把人脸三维模型显示出来。