首页> 中国专利> 一种用于三维人头测量的数字散斑相关快速实现方法

一种用于三维人头测量的数字散斑相关快速实现方法

摘要

本发明公开了一种用于三维人头测量的数字散斑相关快速实现方法。先将附有散斑图案的头套套在人头模型上,双目相机相对垂直放置并拍摄,获得人头模型的二维散斑图像;通过OpenCV库的鼠标回调函数,手动框选出待测的散斑区域,选取框选区域的中心点为种子点,通过ORB特征提取算法寻找散斑图像的关键点并利用RANSAC方法得到种子点的初始变形矩阵数据;运用IC‑GN算法求取两相机在框选区域中各点的视差值,利用相机标定的内外参数,将视差值转为三维数据,利用PCL库生成人头模型的点云数据。与传统的三维测量方法相比,本发明提出了一种用于三维人头测量的数字散斑相关快速实现方法,可实现高精度高速度的单帧三维人头测量。

著录项

  • 公开/公告号CN112634443A

    专利类型发明专利

  • 公开/公告日2021-04-09

    原文格式PDF

  • 申请/专利号CN202011625625.9

  • 申请日2020-12-31

  • 分类号G06T17/00(20060101);G06K9/32(20060101);G06F17/16(20060101);

  • 代理机构11480 北京翔瓯知识产权代理有限公司;

  • 代理人向维登

  • 地址 210000 江苏省南京市建邺区嘉陵江东街8号科技综合体B4幢二单元4层

  • 入库时间 2023-06-19 10:32:14

说明书

技术领域

本发明涉及光学测量技术领域,是一种非接触式全场光学方法,具体涉及一种用于三维人头测量的数字散斑相关快速实现方法。

背景技术

数字图像相关(DIC)是一种易于实现的通用光学技术,用于非接触式,全视场运动,变形和形状测量。由于基于散斑相关的DIC技术具有设置简单,易于实施,对实验环境的要求低,无接触、全场、高精度和高效等优点以及适用于可调整分辨率的广泛应用,因此在众多科学研究和工程实践中得到了广泛的接受和广泛使用。其中,数字图像相关技术的精度和效率显得至关重要,因此设计出一种高精度高速度的单帧的数字散斑相关算法是很有必要的。

发明内容

为了高精度、高速度的实现单帧三维人头测量,本发明提供了一种用于三维人头测量的数字散斑相关快速实现方法。

本发明的技术方案如下:

一种用于三维人头测量的数字散斑相关快速实现方法,步骤如下:

步骤一.将附有散斑图案的头套套在人头模型上,双目相机相对垂直放置;

步骤二.通过棋盘格标定相机,获取相机的内外参数,用于后续计算人头模型的三维数据,两相机分别拍摄获得人头模型的二维散斑图像的参考图像T和目标图像I;

步骤三.通过OpenCV库的鼠标回调函数,在参考图像T中手动框选出待测散斑区域,生成感兴趣区域ROI,位于待测区域的像素点像素设为1,待测区域以外的位置像素设置为0,找出待测区域的中心点作为种子点;

步骤四.利用ORB找出表征参考图像T和目标图像I中的关键点,通过RANSAC迭代获得种子点的初始变形矩阵数据;

步骤五.运用IC-GN算法求取两相机在框选区域中各点的视差值,设置ZNCC的阈值提高程序运行速度;

步骤六.利用相机标定的内外参数,将视差值转为三维数据,将生成的三维数据利用PCL库生成人头模型的点云数据,完成高精度高速度的单帧三维人头测量。

优选的,步骤三中:

种子点的坐标设为(x

其中,r_col

r_row

优选的,步骤四为:

首先,将两幅图像的关键点进行匹配,生成若干关键点对;

其次,比较每个关键点对中第一关键点对之间的距离与第二关键点对之间的距离的比值是否小于阈值0.6,排除比值大于0.6的匹配质量较低的关键点对;

再次,以100pixels为半径以种子点为中心形成一个圆形区域,获得种子点的附近区域的关键点对;

最后,运用RANSAC算法,每次迭代都随机选择三对不共线的关键点对,用于计算获得仿射变换的变形矩阵数据,根据匹配代价函数公式计算每次迭代的ZNCC值,选取ZNCC值最大的一组数据,作为最佳变形矩阵的数据作为种子点的初始形变参数。

优选的,步骤五为:

获得种子点的初始形变参数后,通过迭代地运用IC-GN算法求取单一像素的初始形变估计,选取的表征参考图像T中的点与目标图像I中对应的点的相关性的匹配代价函数为ZNSSD和ZNCC,以参考图像T中所选点为中心、以2M+1为边长的矩形区域作为参考子集,矩形区域中各点坐标经过变形矩阵计算后得到的在目标图像I中的坐标点构成的区域作为目标子集,以两个子集中各点的像素值作为依据,得到两者相关性,同时两者之间有C

x=(x,y,1)

ξ=(Δx,Δy,1)

Δp=(Δu,Δu

p=(u,u

由于ZNSSD越接近0说明相关性越高,根据最小二乘法需要求

将②式带入①式可得C

②式中C

根据上述公式计算出Δp的值以及相应ZNSSD的值,完成一次循环,更新目标子集的变形矩阵的参数值p,更新策略为W(x;p)←W(x;p)oW

完成了单一像素的初始形变估计后,计算出选取的点在参考图像T和目标图像I之间的视差值,将该点的各项数据放入队列中,然后将该点的变形矩阵参数作为其相邻的上下左右四点的初始变形矩阵参数参与计算,按这种标准辐射至整个待测区域;

设置0.8和0.9的阈值,将计算得到的ZNCC值按照大于0.9,大于0.8且小于0.9,小于0.8分别置入A、B、C三个不同队列,先计算A中每个点的未被计算过的临点,当A为空时,再计算B中每个点的未被计算过的临点,直至B也为空,对C中每个点按照ZNCC值大小进行排序,从大到小进行计算直至C也为空,获得两个相机视角之间的人头视差数据。

本发明与传统方法相比,具有如下优点:本发明是一种高精度高速度的单帧三维人头测量,该方法通过将附有散斑图案的头套套在人头模型上,双目相机相对垂直放置并拍摄人头模型的二维散斑图像即可实现高精度高速度的单帧三维人头测量。

附图说明

图1为本发明实施例中用于三维人头测量的数字散斑相关快速实现方法的流程示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

结合图1,本实施例的用于三维人头测量的数字散斑相关快速实现方法如下所述,具有六个步骤。

步骤一.首先将附有散斑图案的头套套在人头模型上,双目相机相对垂直放置。

步骤二.通过棋盘格标定相机并获取相机的内外参数用于后续计算人头模型的三维数据,两相机分别拍摄获得人头模型的二维散斑图像的参考图像T和目标图像I。

步骤三.通过OpenCV库的鼠标回调函数,在参考图像T中手动框选出待测散斑区域,并生成感兴趣区域ROI,找出待测区域的中心点作为种子点。

感兴趣区域中,位于待测区域的像素点像素设为1,待测区域以外的位置像素设置为0,用来在后续操作中判断像素点是否位于待测区域内。种子点的坐标设为(x

其中,r_col

步骤四.利用ORB找出表征参考图像T和目标图像I中的关键点,通过RANSAC迭代获得种子点的初始变形矩阵数据。

通过ORB算法分别找到参考图像T和目标图像I中的关键点,将两幅图像的关键点进行匹配,生成若干关键点对。为了获得匹配度高的关键点对,比较每个关键点对中第一关键点对之间的距离与第二关键点对之间的距离的比值是否小于阈值0.6,排除比值大于0.6的一些匹配质量较低的关键点对。

然后以100pixels为半径以种子点为中心形成一个圆形区域,从而获得种子点的附近区域的关键点对。假设种子点附近圆形区域内的点都处于局部平滑的平面内,可以通过估计这些关键点对之间的仿射变换得到种子点的变形矩阵数据。理论上,只需要三对不共线的关键点对就可求解6个参数,即可计算出平面的仿射变换,获得变形矩阵的初始参数。但是通常需要更多的关键点对,从而获得更好、更鲁棒的变形矩阵数据。

通过运用RANSAC算法,每次迭代都随机选择三对不共线的关键点对,用于计算获得仿射变换的变形矩阵数据,并根据匹配代价函数公式计算每次迭代的ZNCC值,ZNCC值越接近1说明相关性越好。通常经过RANSAC算法循环运行1000次,比较ZNCC值,选取ZNCC值最大的一组数据,即获得最佳变形矩阵的数据作为种子点的初始形变参数。

步骤五.运用IC-GN算法求取两相机在框选区域中各点的视差值。

获得种子点的形变参数后,通过迭代地运用IC-GN算法求取单一像素的初始形变估计。

选取的表征参考图像T中点与目标图像I中对应点的相关性的匹配代价函数为ZNSSD和ZNCC,以参考图像T中所选点为中心以(2M+1)为边长的矩形区域作为参考子集,矩形区域中各点坐标经过变形矩阵计算后得到的在目标图像I中的坐标点构成的区域作为目标子集,以两个子集中各点的像素值作为依据,得到两者相关性,同时两者之间有C

其中,x表示所求点在全局中的坐标,x=(x,y,1)

由于ZNSSD越接近0说明相关性越高,根据最小二乘法需要求

其中,

将②式带入①式可得C

②式中C

其中,

根据上述公式计算出Δp的值以及相应ZNSSD的值,完成一次循环,更新目标子集的变形矩阵的参数值p,更新策略为W(x;p)←W(x;p)oW

在更新p时我们运用一个近似计算避免矩阵求逆。由于W(x;Δp)的一阶泰勒展开为

由于W(x;Δp)oW(x;-Δp)=Ix,其中I为3×3的单位矩阵。因此,W

此时完成了单一像素的位移估计,计算出在该点参考图像T和目标图像I之间的视差值。将该点的各项数据放入队列中,然后将该点的变形矩阵参数作为其相邻的上下左右四点的初始变形矩阵参数参与计算,按这种标准辐射至整个待测区域。

设置了0.8和0.9的阈值,将计算得到的ZNCC值按照大于0.9,大于0.8且小于0.9,小于0.8分别置入A,B,C三个不同队列,先计算A中每个点的未被计算过的临点,当A为空时,再计算B中每个点的未被计算过的临点,直至B也为空。对C中点按照ZNCC值大小进行排序,从大到小进行计算直至C也为空,从而获得两个相机视角之间的人头视差数据。

步骤六.利用相机的标定参数,将视差数据转为三维信息。将生成的三维数据利用PCL库生成人头模型的点云数据,完成高精度高速度的单帧三维人头测量。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号