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

文档序号:9788210阅读:1312来源:国知局
一种基于计算机视觉的个性化脚部建模与鞋垫定制方法
【技术领域】
[0001 ]本发明属于计算机视觉及图形图像处理技术领域,更具体地,涉及一种基于计算机视觉的个性化脚部建模与鞋垫定制方法。
【背景技术】
[0002]在鞋类用品领域,定制鞋垫受到越来越多的关注,定制鞋垫的设计已经成为鞋类产品开发中极为重要的一环。定制的鞋垫不仅可以实现足底分压,提高跑步等运动项目的成绩,更对糖尿足、足弓塌陷等足部疾病有着良好的治疗效果。
[0003]传统的定制鞋垫技术是通过石膏绷带与泡沫定性的方式获得足部轮廓,通过贴合足部曲线、手工翻模获得定制鞋垫的基本形状。但这种定制过程相当繁杂,也不够精确,不能大量复制。近年来随着数字技术的发展,出现了一种新型的定制鞋垫的制作方法。通过三维扫描软件对脚部扫描,采集脚部数据,再通过计算机辅助设计(Computer Aided Design,简称CAD)与计算机辅助制造技术(Computer Aided Manufacturing,简称CAM)对鞋垫进行修型、成型与适配。数字技术使定制的鞋垫更加精准,制作速度也更快,但是精确的三维扫描仪器比较昂贵,成本较高。

【发明内容】

[0004]针对现有技术的以上缺陷或改进需求,本发明提供了一种基于计算机视觉的个性化脚部建模与鞋垫定制方法,其目的在于,解决现有定制鞋垫中采集数据困难和成本过高的技术问题,仅以脚部视频数据作为输入数据,利用运动恢复结构(Structure FromMot1n,简称SFM)方法重建三维场景和相机参数的特性,来进行个性化的定制鞋垫的设计。
[0005]为实现上述目的,按照本发明的一个方面,提供了一种基于计算机视觉的个性化脚部建模与鞋垫定制方法,包括以下步骤:
[0006](I)获取被测者的脚部视频数据;
[0007](2)对脚部视频数据中相邻的两帧图像进行特征点提取,并利用光流法对相邻视频帧之间的特征点进行跟踪匹配,采用零均值归一化互相关系数(Zero-based NormalizedCross Correlat1n,简称ZNCC)验证剔除其中不可靠的跟踪结果,并根据跟踪匹配的结果构造特征点的轨迹;
[0008](3)对脚部视频数据中的关键帧进行选取;
[0009](4)根据步骤(2)得到的特征点轨迹,并利用SFM方法对视频关键帧队列中的特征点轨迹进行三维重建,以生成脚部网格模型。
[0010](5)在脚部网格模型中,根据步骤(3.3)中的人工标注的标记物的两端点,找到两个对应的重建的三维点,计算其欧氏距离,进而得到重建的比例因子,测算出脚长,将脚部网格模型向脚底平面方向进行投影,以得到鞋垫轮廓图;
[0011](6)使用步骤(5)得到的鞋垫轮廓图对准脚部模型,对准的轮廓图沿使用步骤(5)得到的脚底平面η的法线方向拉伸并接触到脚底曲面,从而得到拟合脚底曲面的鞋垫轮廓体,对鞋垫轮廓体进行裁剪,以得到定制鞋垫。
[0012]优选地,步骤(2)包括以下子步骤:
[0013](2.1)剔除脚部视频数据中最开始的a帧,并把接下来的一帧当做视频的第一帧,其中a的取值范围是10到50;
[0014](2.2)在视频的第一帧上进行角点检测,并采用光流法跟踪检测得到的角点,以得到该角点在下一帧上位置的预测值,并采用ZNCC来剔除掉不可靠的跟踪结果;
[0015](2.3)在图像空白区域重新进行角点检测,重新检测得到的新角点用于下一步的光流法跟踪;
[0016](2.4)对脚部视频数据中剩余的所有视频帧执行上述步骤(2.2)和(2.3),从而根据光流法跟踪的结果得到特征点之间的匹配关系,并根据跟踪匹配关系构造特征点的轨迹。
[0017]优选地,步骤(3)包括以下子步骤:
[0018](3.1)构建一个空视频关键帧队列;
[0019](3.2)按照脚部视频数据帧率的20-70 %对脚部视频数据进行间隔采样;
[0020](3.3)对脚部视频数据的关键帧挑选完毕后,在出现步骤(I)所描述的标记物的关键帧中,人工标注标记物的两端点。
[0021]优选地,步骤(4)包括以下子步骤:
[0022](4.1)根据步骤(2)得到的特征点的轨迹,利用SFM方法获得视频关键帧队列的相机参数和对应的稀疏三维点云;
[0023](4.2)利用基于块状的多视角立体视觉算法PMVS将稀疏三维点云作为扩展种子点在三维空间中进行扩展,以得到稠密三维点云;
[0024](4.3)对稠密三维点云进行泊松表面重建,以得到脚部网格模型。
[0025]优选地,步骤(5)包括以下子步骤:
[0026](5.1)建立O-XYZ右手坐标系,在脚部网格模型中,找到对应的步骤(3.3)中人工标注的标记物两端点的三维点,根据标记物的两端点实际长度L计算两端点的三维点间的欧式距离I,只保留脚踝以下脚部网格,手动剔除其他的多余网格;
[0027](5.2)建立一个点云队列,将稠密三维点云中所有三维点都入队。并设置变量dmax用来存储两平行平面之间的距离,初始化dmax = 0;
[0028](5.3)判断点云队列是否为空,为空就跳转至步骤(5.8),不为空就继续执行步骤
(5.4);
[0029](5.4)点云队列的队首元素出队,设为点E,过点E设置一条与Z轴平行的直线no,过no任意作一平面γ ;
[0030](5.5)过点E且以no为法线作平面α,判断平面α与脚部网格是否相切,如果相切则在脚部网格的与平面α相对的另一侧,作与平面α平行的平面β从远处逼近脚部网格,直到与脚部网格相切,这样脚部网格就位于两平行平面α、β之间,此时计算两平行平面α、β之间的距尚<1,如果d〉dmax ,则令dmax = d ,并保存平灯平面α、β ;
[0031](5.6)以点E为旋转中心,将法向量no在平面γ内向同一方向旋转Θ度,其中要求360是Θ的整数倍,判断法向量nQ是否已经旋转一周,未旋转一周就跳转至步骤(5.5),已旋转一周就继续执行步骤(5.7);
[0032](5.7)以no为旋转中心每次将平面γ沿同一方向旋转Θ度。判断平面γ是否已经旋转一周,未旋转一周就跳转至步骤(5.5),已旋转一周就跳转至步骤(5.3);
[0033](5.8)返回(1_\和与(1_\对应的两平行平面€[、后;
[0034](5.9)利用标记物与脚部模型重建的比例因子相同的特性,计算脚长:
[0035]D = dmax*L/1,
[0036]其中,D为脚长,L为标记物两端点的实际长度,I是标记物两端点对应的三维点的欧式距离,dmax为与脚部网格相切的距离最大的两平行平面α、β之间的距离;
[0037](5.10)得到与脚部网格相切的距离最大的两平行平面α、β后,则可得到与平面α、β都垂直的平面I平面即为脚底平面,将脚部网格沿平面的法线方向向平面投影,最终得到鞋垫轮廓图。
[0038]优选地,步骤(6)包括以下子步骤:
[0039](6.1)将鞋垫轮廓图与脚部网格沿投影方向对准;
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1