首页> 中国专利> 一种基于计算机视觉的个性化脚部建模与鞋垫定制方法

一种基于计算机视觉的个性化脚部建模与鞋垫定制方法

摘要

本发明公开了一种基于计算机视觉的个性化脚部建模与鞋垫定制方法,包括:获取被测者的脚部视频数据,对脚部视频数据中相邻的两帧图像进行特征点提取,并用利用光流法对相邻视频帧之间的特征点进行跟踪匹配,采用零均值归一化互相关系数ZNCC验证剔除其中不可靠的跟踪结果,并根据跟踪匹配的结果构造特征点的轨迹,对脚部视频数据中的关键帧进行选取,根据得到的特征点轨迹,并利用SFM方法对视频关键帧队列中的特征点轨迹进行三维重建,以生成脚部网格模型。本发明能够解决现有定制鞋垫中采集数据困难和成本过高的技术问题。

著录项

  • 公开/公告号CN105551086A

    专利类型发明专利

  • 公开/公告日2016-05-04

    原文格式PDF

  • 申请/专利权人 华中科技大学;

    申请/专利号CN201510882157.6

  • 申请日2015-12-04

  • 分类号G06T17/30(20060101);

  • 代理机构42201 华中科技大学专利中心;

  • 代理人朱仁玲

  • 地址 430074 湖北省武汉市洪山区珞喻路1037号

  • 入库时间 2023-12-18 15:59:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-11-22

    未缴年费专利权终止 IPC(主分类):G06T17/30 授权公告日:20180102 终止日期:20181204 申请日:20151204

    专利权的终止

  • 2018-01-02

    授权

    授权

  • 2016-06-01

    实质审查的生效 IPC(主分类):G06T17/30 申请日:20151204

    实质审查的生效

  • 2016-05-04

    公开

    公开

说明书

技术领域

本发明属于计算机视觉及图形图像处理技术领域,更具体地,涉及一种基于计算机视觉的个性化脚部建模与鞋垫定制方法。

背景技术

在鞋类用品领域,定制鞋垫受到越来越多的关注,定制鞋垫的设计已经成为鞋类产品开发中极为重要的一环。定制的鞋垫不仅可以实现足底分压,提高跑步等运动项目的成绩,更对糖尿足、足弓塌陷等足部疾病有着良好的治疗效果。

传统的定制鞋垫技术是通过石膏绷带与泡沫定性的方式获得足部轮廓,通过贴合足部曲线、手工翻模获得定制鞋垫的基本形状。但这种定制过程相当繁杂,也不够精确,不能大量复制。近年来随着数字技术的发展,出现了一种新型的定制鞋垫的制作方法。通过三维扫描软件对脚部扫描,采集脚部数据,再通过计算机辅助设计(ComputerAidedDesign,简称CAD)与计算机辅助制造技术(ComputerAidedManufacturing,简称CAM)对鞋垫进行修型、成型与适配。数字技术使定制的鞋垫更加精准,制作速度也更快,但是精确的三维扫描仪器比较昂贵,成本较高。

发明内容

针对现有技术的以上缺陷或改进需求,本发明提供了一种基于计算机视觉的个性化脚部建模与鞋垫定制方法,其目的在于,解决现有定制鞋垫中采集数据困难和成本过高的技术问题,仅以脚部视频数据作为输入数据,利用运动恢复结构(StructureFromMotion,简称SFM)方法重建三维场景和相机参数的特性,来进行个性化的定制鞋垫的设计。

为实现上述目的,按照本发明的一个方面,提供了一种基于计算机视觉的个性化脚部建模与鞋垫定制方法,包括以下步骤:

(1)获取被测者的脚部视频数据;

(2)对脚部视频数据中相邻的两帧图像进行特征点提取,并利用光流法对相邻视频帧之间的特征点进行跟踪匹配,采用零均值归一化互相关系数(Zero-basedNormalizedCrossCorrelation,简称ZNCC)验证剔除其中不可靠的跟踪结果,并根据跟踪匹配的结果构造特征点的轨迹;

(3)对脚部视频数据中的关键帧进行选取;

(4)根据步骤(2)得到的特征点轨迹,并利用SFM方法对视频关键帧队列中的特征点轨迹进行三维重建,以生成脚部网格模型。

(5)在脚部网格模型中,根据步骤(3.3)中的人工标注的标记物的两端点,找到两个对应的重建的三维点,计算其欧氏距离,进而得到重建的比例因子,测算出脚长,将脚部网格模型向脚底平面方向进行投影,以得到鞋垫轮廓图;

(6)使用步骤(5)得到的鞋垫轮廓图对准脚部模型,对准的轮廓图沿使用步骤(5)得到的脚底平面π的法线方向拉伸并接触到脚底曲面,从而得到拟合脚底曲面的鞋垫轮廓体,对鞋垫轮廓体进行裁剪,以得到定制鞋垫。

优选地,步骤(2)包括以下子步骤:

(2.1)剔除脚部视频数据中最开始的a帧,并把接下来的一帧当做视频的第一帧,其中a的取值范围是10到50;

(2.2)在视频的第一帧上进行角点检测,并采用光流法跟踪检测得到的角点,以得到该角点在下一帧上位置的预测值,并采用ZNCC来剔除掉不可靠的跟踪结果;

(2.3)在图像空白区域重新进行角点检测,重新检测得到的新角点用于下一步的光流法跟踪;

(2.4)对脚部视频数据中剩余的所有视频帧执行上述步骤(2.2)和(2.3),从而根据光流法跟踪的结果得到特征点之间的匹配关系,并根据跟踪匹配关系构造特征点的轨迹。

优选地,步骤(3)包括以下子步骤:

(3.1)构建一个空视频关键帧队列;

(3.2)按照脚部视频数据帧率的20-70%对脚部视频数据进行间隔采样;

(3.3)对脚部视频数据的关键帧挑选完毕后,在出现步骤(1)所描述的标记物的关键帧中,人工标注标记物的两端点。

优选地,步骤(4)包括以下子步骤:

(4.1)根据步骤(2)得到的特征点的轨迹,利用SFM方法获得视频关键帧队列的相机参数和对应的稀疏三维点云;

(4.2)利用基于块状的多视角立体视觉算法PMVS将稀疏三维点云作为扩展种子点在三维空间中进行扩展,以得到稠密三维点云;

(4.3)对稠密三维点云进行泊松表面重建,以得到脚部网格模型。

优选地,步骤(5)包括以下子步骤:

(5.1)建立O-XYZ右手坐标系,在脚部网格模型中,找到对应的步骤(3.3)中人工标注的标记物两端点的三维点,根据标记物的两端点实际长度L计算两端点的三维点间的欧式距离l,只保留脚踝以下脚部网格,手动剔除其他的多余网格;

(5.2)建立一个点云队列,将稠密三维点云中所有三维点都入队。并设置变量dmax用来存储两平行平面之间的距离,初始化dmax=0;

(5.3)判断点云队列是否为空,为空就跳转至步骤(5.8),不为空就继续执行步骤(5.4);

(5.4)点云队列的队首元素出队,设为点E,过点E设置一条与Z轴平行的直线n0,过n0任意作一平面γ;

(5.5)过点E且以n0为法线作平面α,判断平面α与脚部网格是否相切,如果相切则在脚部网格的与平面α相对的另一侧,作与平面α平行的平面β从远处逼近脚部网格,直到与脚部网格相切,这样脚部网格就位于两平行平面α、β之间,此时计算两平行平面α、β之间的距离d,如果d>dmax,则令dmax=d,并保存平行平面α、β;

(5.6)以点E为旋转中心,将法向量n0在平面γ内向同一方向旋转θ度,其中要求360是θ的整数倍,判断法向量n0是否已经旋转一周,未旋转一周就跳转至步骤(5.5),已旋转一周就继续执行步骤(5.7);

(5.7)以n0为旋转中心每次将平面γ沿同一方向旋转θ度。判断平面γ是否已经旋转一周,未旋转一周就跳转至步骤(5.5),已旋转一周就跳转至步骤(5.3);

(5.8)返回dmax和与dmax对应的两平行平面α、β;

(5.9)利用标记物与脚部模型重建的比例因子相同的特性,计算脚长:

D=dmax*L/l,

其中,D为脚长,L为标记物两端点的实际长度,l是标记物两端点对应的三维点的欧式距离,dmax为与脚部网格相切的距离最大的两平行平面α、β之间的距离;

(5.10)得到与脚部网格相切的距离最大的两平行平面α、β后,则可得到与平面α、β都垂直的平面π,平面π即为脚底平面,将脚部网格沿平面π的法线方向向平面π投影,最终得到鞋垫轮廓图。

优选地,步骤(6)包括以下子步骤:

(6.1)将鞋垫轮廓图与脚部网格沿投影方向对准;

(6.2)使用步骤(6.1)得到的对准脚部网格的鞋垫轮廓图沿投影方向拉伸并接触到脚底曲面为止,从而实现鞋垫轮廓图与脚部网格的拼接拟合,得到具有空间体积的鞋垫轮廓体;

(6.3)选择鞋垫厚度对鞋垫轮廓体进行剪裁,并剔除局部的毛刺点,输出最终的定制鞋垫。

按照本发明的另一方面,提供了一种基于计算机视觉的个性化脚部建模与鞋垫定制系统,包括:

第一模块,用于获取被测者的脚部视频数据;

第二模块,用于对脚部视频数据中相邻的两帧图像进行特征点提取,并利用光流法对相邻视频帧之间的特征点进行跟踪匹配,采用零均值归一化互相关系数ZNCC验证剔除其中不可靠的跟踪结果,并根据跟踪匹配的结果构造特征点的轨迹;

第三模块,用于对脚部视频数据中的关键帧进行选取;

第四模块,用于根据第二模块得到的特征点轨迹,并利用SFM方法对视频关键帧队列中的特征点轨迹进行三维重建,以生成脚部网格模型;

第五模块,用于在脚部网格模型中,根据步骤(3)中产生的人工标注的标记物的两端点,找到两个对应的重建的三维点,计算其欧氏距离,进而得到重建的比例因子,测算出脚长,将脚部网格模型向脚底平面方向进行投影,以得到鞋垫轮廓图;

第六模块,用于使用第五模块得到的鞋垫轮廓图对准脚部模型,对准的轮廓图沿使用第五模块得到的脚底平面π的法线方向拉伸并接触到脚底曲面,从而得到拟合脚底曲面的鞋垫轮廓体,对鞋垫轮廓体进行裁剪,以得到定制鞋垫。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

1、能够解决现有定制鞋垫中采集数据困难的技术问题:由于采用了步骤(1),只须测量者手持相机围绕被测者的脚部拍摄一圈,拍摄得到的脚部视频数据作为输入进行个性化鞋垫定制,此外,脚部视频数据可通过网络进行传输,具有异地采集网络传输的优点,免去了现场采集的繁琐不便。因此本发明能够解决现有定制鞋垫中采集数据困难的技术问题。

2、能够解决现有定制鞋垫中成本过高的技术问题:由于采用了步骤(1)、步骤(2)、步骤(3)和步骤(4),使用已经普及的相机或手机进行脚部视频数据拍摄,对脚部视频数据选取关键帧后,利用SFM方法进行三维重建得到脚部网格模型,无须特定的采集数据设备,只需要借助用户的相机或手机,让用户自行拍摄脚部视频,极大的减少了人力和设备成本。因此本发明能够解决现有定制鞋垫中成本过高的技术问题。

3、能够解决现有定制鞋垫中人机交互过多的技术问题:从脚部的三维重建到定制鞋垫的设计,基本由计算机计算完成,解决了人工的过多参与导致鞋垫制作标准不统一的问题,大大降低了各个环节中的误差。因此本发明能够解决现有定制鞋垫中人机交互过多的技术问题。

附图说明

图1是本发明基于计算机视觉的个性化脚部建模与鞋垫定制方法的整体流程图;

图2是本发明方法的视频拍摄示意图;

图3是本发明方法中脚部网格生成定制鞋垫的流程图;

图4是本发明方法中鞋垫轮廓图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

如图1所示为本发明的整体流程图。从图1可以看出,作为输入的视频数据经过特征匹配、三维重建、点云稠密扩展、表面重建等步骤,从视频序列中重建出精确的脚部模型,进而设计出定制鞋垫。本发明基于计算机视觉的个性化脚部建模与鞋垫定制方法包括以下步骤:

(1)获取被测者的脚部视频数据;

被测者A的脚穿上印有丰富纹理图案的薄而且紧身的袜子,为了便于说明,这里假定纹理图案为黑白棋盘网格。如图2所示,大腿4靠放在某固定物1上,脚部5悬在空中,脚的下方摆放有标记物3,标记物两端的长度已知,测量者B使用相机从上至下围绕被测者A的脚部拍摄一圈。本发明对于拍摄方式和脚部姿势不做限定,图2只是本发明的一个实施例,但是本发明中拍摄方式和脚部姿势必须满足以下两点要求,第一,脚部必须静止且每一个脚部部位都要被拍摄;第二,必须保证拍摄的视频中一段连续子序列帧中含有标记物的两端点,从而保证SFM方法能够重建出标记物的两端点。

在本发明的一个实施例中,在本发明中的标记物采用已知网格行、列数和每个格子边长的黑白棋盘网格。

(2)对脚部视频数据中相邻的两帧图像进行特征点提取,并用利用光流法对相邻视频帧之间的特征点进行跟踪匹配,采用ZNCC验证剔除其中不可靠的跟踪结果,并根据跟踪匹配的结果构造特征点的轨迹。

特征点的提取和匹配的准确与否直接关系到后续重建的精度,因此必须保证特征点正确的提取、匹配的准确。本发明中的特征点应尽量满足以下标准:有较好的稳定性和显著性,有好的抗噪性,定位要准确,不提取假的特征点。

在本发明的一个实施例中,特征点提取采用最小核值相似区特征(SmallUnivalueSegmentAssimilatingNucleus,简称SUSAN)角点检测算法,特征点的跟踪匹配采用KLT(Kanade-Lucas-Tomasi,简称KLT)光流跟踪法。具体实施时特征点提取也可采用Forstner算子、Harris角点等,并不仅限于SUSAN角点。

具体而言,本步骤包括以下子步骤:

(2.1)剔除脚部视频数据中最开始的a帧,并把接下来的一帧当做视频的第一帧,其中a的取值范围是10到50;具体而言,刚开始拍摄视频时,由于手部晃动等原因,视频帧的质量不高,因此需要执行剔除帧的操作。

(2.2)在视频的第一帧上进行角点检测,并采用光流法跟踪检测得到的角点,以得到该角点在下一帧上位置的预测值,并采用ZNCC来剔除掉不可靠的跟踪结果。

具体而言,本实施方式中采用的是SUSAN角点检测算法;为了提高SUSAN角点跟踪的准确度,剔除噪声点,在本实施例中,采用ZNCC得分来过滤不可靠的跟踪结果,ZNCC在跟踪算法中具有良好的光照适应性和抗噪性,可用来度量匹配的特征点在相邻前后两帧上的局部邻域的相似程度,局部邻域越相似,则ZNCC相似性得分越高,将ZNCC相似性得分小于某一阈值b的跟踪结果视为不可靠结果,并进行剔除。具体而言,阈值b的范围在0.55到0.95之间,阈值b越大,则剔除的跟踪结果越多,得到的跟踪结果越准确,但是也有可能剔除掉正确的跟踪结果。

(2.3)拍摄脚部视频时,随着相机位置的移动,会有新的场景区域进入相机视野,以及不可靠的跟踪结果被剔除,保留在图像中的角点越来越少,因此需要在图像空白区域重新进行角点检测,重新检测得到的新角点用于下一步的光流法跟踪。在本发明的一个实施例中,新场景区域可通过视频帧图像与图像掩模卷积得到。

(2.4)对脚部视频数据中剩余的所有视频帧执行上述步骤(2.2)和(2.3),从而根据光流法跟踪的结果得到特征点之间的匹配关系,并根据跟踪匹配关系构造特征点的轨迹。具体而言,匹配的特征点依照视频帧的顺序构成的集合即为该特征点的轨迹。

(3)对脚部视频数据中的关键帧进行选取。

在脚部视频数据的获取上,绕脚拍摄一段视频至少需要十多秒,而相机的视频帧率可达30fps,因此一段脚部视频中包含的数据量相当大。另一方面,由于拍摄时需要保持视频的清晰度,因此只能缓慢移动镜头,导致这些相邻视频帧之间在时间和空间上的相关性非常大,换句话说,视频帧之间存在信息冗余,因此没有必要对所有视频帧图片进行重建。同时考虑到SFM方法的运算复杂度,在图像信息量比较大的情况下,相当耗费计算机的空间和时间资源。出于这两个方面的考虑,因此有必要对视频帧进行选取,剔除冗余信息帧,只保留对重建有用的关键帧。

本步骤具体包括以下子步骤:

(3.1)构建一个空视频关键帧队列;

(3.2)按照脚部视频数据帧率的c%对脚部视频数据进行间隔采样;具体而言,如果当前帧率为30fps,则每隔30*c%帧采样一帧,并将采样的帧依次加入步骤(3.1)构建的空关键帧队列,在本发明的一实施例中,c的取值范围是20到70;

(3.3)对脚部视频数据的关键帧挑选完毕后,在出现步骤(1)所描述的标记物的关键帧中,人工标注标记物的两端点;具体而言,本步骤的目的是用于后续步骤(5)的脚长计算。

(4)根据步骤(2)得到的特征点轨迹,并利用SFM方法对视频关键帧队列中的特征点轨迹进行三维重建,以生成脚部网格模型。

本步骤具体包括以下子步骤:

(4.1)根据步骤(2)得到的特征点的轨迹,利用SFM方法获得视频关键帧队列的相机参数和对应的稀疏三维点云。

(4.2)利用基于块状的多视角立体视觉算法(Patch-basedMulti-ViewStereo,简称PMVS)将稀疏三维点云作为扩展种子点在三维空间中进行扩展,得到稠密三维点云。

(4.3)对稠密三维点云进行泊松表面重建,得到脚部网格模型。最终得到的脚部模型面片数较多,在精度上能达到鞋垫的设计要求,可直接使用脚部模型来进行定制鞋垫的设计。

(5)在脚部网格模型中,根据步骤(3)中产生的人工标注的标记物的两端点,找到两个对应的重建的三维点,计算其欧氏距离,进而得到重建的比例因子,测算出脚长,将脚部网格模型向脚底平面方向进行投影,以得到鞋垫轮廓图。如图4所示,展示了由脚部网格模型生成的鞋垫轮廓图。

由于我们最初无从得知脚底平面的位置,步骤(5)的主要目的就是通过迭代计算最终求得脚底平面位置。此外,由于需要对计算机自动生成的结果进行优化完善,因此有部分地方需要人工交互,如剔除毛刺噪声点等。如图3所示,详细了描述了脚部网格模型生成定制鞋垫的过程。

本步骤具体包括以下子步骤:

(5.1)建立O-XYZ右手坐标系,在脚部网格模型中,找到对应的步骤(3.3)中人工标注的标记物两端点的三维点,根据标记物的两端点实际长度L计算两端点的三维点间的欧式距离l,只保留脚踝以下脚部网格,手动剔除其他的多余网格,包括标记物和脚踝及以上部位等网格。

(5.2)建立一个点云队列,将稠密三维点云中所有三维点都入队。并设置一个变量dmax用来存储两平行平面之间的距离,初始化dmax=0。

(5.3)判断点云队列是否为空,为空就跳转至步骤(5.8),不为空就继续执行步骤(5.4);

(5.4)点云队列的队首元素出队,设为点E,过点E设置一条与Z轴平行的直线n0,过n0任意作一平面γ。

(5.5)过点E且以n0为法线作平面α,判断平面α与脚部网格是否相切(在本发明中,平面与脚部网格的相切指的是平面与脚部网格有且仅有一个交点),如果相切则在脚部网格的与平面α相对的另一侧,作与平面α平行的平面β从远处逼近脚部网格,直到与脚部网格相切,这样脚部网格就位于两平行平面α、β之间,此时计算两平行平面α、β之间的距离d,如果d>dmax,则令dmax=d,并保存平行平面α、β。

(5.6)以点E为旋转中心,将法向量n0在平面γ内向同一方向旋转θ度,其中要求360是θ的整数倍。判断法向量n0是否已经旋转一周,未旋转一周就跳转至步骤(5.5),已旋转一周就继续执行步骤(5.7);具体而言,θ取得越小,则得到的脚底平面越准确,计算复杂度越高,为了保证脚底平面的准确度,θ的取值范围为小于0.05,且360必须是θ的整数倍。

(5.7)以n0为旋转中心每次将平面γ沿同一方向旋转θ度。判断平面γ是否已经旋转一周,未旋转一周就跳转至步骤(5.5),已旋转一周就跳转至步骤(5.3)。

(5.8)返回dmax和与dmax对应的两平行平面α、β。

(5.9)利用标记物与脚部模型重建的比例因子相同的特性,计算脚长:

D=dmax*L/l,

其中,D为脚长,L为标记物两端点的实际长度,l是标记物两端点对应的三维点的欧式距离,dmax为与脚部网格相切的距离最大的两平行平面α、β之间的距离。

(5.10)得到与脚部网格相切的距离最大的两平行平面α、β后,则可得到与平面α、β都垂直的平面π,平面π即为脚底平面,将脚部网格沿平面π的法线方向向平面π投影,最终得到鞋垫轮廓图。

(6)使用步骤(5)得到的鞋垫轮廓图对准脚部模型,对准的轮廓图沿使用步骤(5)得到的脚底平面π的法线方向拉伸并接触到脚底曲面,从而得到拟合脚底曲面的鞋垫轮廓体,选择合适厚度对鞋垫轮廓体进行裁剪,得到定制鞋垫。

本步骤具体包括以下子步骤:

(6.1)将鞋垫轮廓图与脚部网格沿投影方向(即脚底平面π的法线方向)对准;由于鞋垫轮廓图是由脚部网格投影得到的,因此沿着投影方向鞋垫轮廓图和脚部网格已经对准。

(6.2)使用步骤(6.1)得到的对准脚部网格的鞋垫轮廓图沿投影方向拉伸并接触到脚底曲面为止,从而实现鞋垫轮廓图与脚部网格的拼接拟合,得到具有空间体积的鞋垫轮廓体;具体而言,根据脚底部的曲线变化情况确定鞋垫造型的弯曲弧度,这样拉伸得到的鞋垫轮廓体的曲面就具有不同凹凸度且与脚底曲面相吻合。

(6.3)选择鞋垫厚度对鞋垫轮廓体进行剪裁,并剔除局部的毛刺点,输出最终的定制鞋垫。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号