一种改善3d模型抖动方法及装置的制造方法

文档序号:9889021阅读:512来源:国知局
一种改善3d模型抖动方法及装置的制造方法
【技术领域】
[0001 ]本发明涉及抖动处理领域,尤其涉及一种改善3D模型抖动方法及装置。
【背景技术】
[0002] 现有市场上的AR早教类产品,或多或少都会出现一些识别出来的模型会产生抖动 的情况,特别是当识别图像比较简单或者相机镜头离识别图像比较近时,这种抖动的情况 会更加显著。现有产品是通过关键点识别目标图像,识别出目标图像后计算出目标图像所 在空间的坐标位置和旋转方向欧拉角,将这些坐标位置和旋转方向欧拉角赋值给对应的3D 模型,这样3D模型就会跟随目标图像进行移动和旋转。.由此可见.,识别过程中会产生明显 的抖动。
[0003] 模型抖动会造成比较差的用户体验,AR早教类产品的目标用户是2-6岁的小朋友, 这种抖动会给小朋友带来比较大的困扰,对小朋友的认知产生不好的影响。

【发明内容】

[0004] 本发明所要解决的技术问题是提供一种改善3D模型抖动方法及装置,能够明显的 改善识别过程中模型抖动情况。
[0005] 对此,本发明提供一种改善3D模型抖动方法,包括以下步骤:
[0006] 步骤S1:根据关键点信息识别目标图像;
[0007] 步骤S2:获取目标图像的坐标位置和旋转方向欧拉角;
[0008] 步骤S3:根据所述目标图像的的坐标位置和旋转方向欧拉角及3D模型的当前坐标 位置和旋转方向欧拉角,计算3D模型的目标坐标位置和目标旋转方向欧拉角;
[0009] 步骤S4:将3D模型移动至所述目标坐标位置和目标旋转方向欧拉角。
[0010] 优选地,所述步骤S2包括以下子步骤:
[0011] 步骤S21:计算所述目标图像的前N帧坐标位置和旋转方向欧拉角;
[0012] 步骤S22:对计算得到的坐标位置和旋转方向欧拉角进行二次处理;所述二次处理 为计算所述目标图像的前N帧坐标位置和旋转方向欧拉角的平均值。
[0013] 优选地,所述方法通过如下公式计算目标图像坐标位置的平均值P(x,y,z):
[0014]
[0015]
[0016]
[0017] 其中Pi(x)为第1帧目标图像坐标位置的X坐标,Pi(y)为第i帧目标图像坐标位置的 y坐标,Pi(z)为第i帧目标图像坐标位置的Z坐标。
[0018] 优选地,所述方法通过如下公式计算目标图像旋转方向欧拉角的平均值R(x,y, z):
[0019]
[0020]
[0021]
[0022]其中,Rjx)为第i帧目标图像欧拉角的x坐标,Rjy)为第i帧目标图像欧拉角y坐 标,RKz)为第i帧目标图像欧拉角的z坐标。
[0023]优选地,所述方法通过如下公式计算3D模型的目标坐标位置P'(x,y,z)new;
[0024] P' (x,y ,z)new = P' (x,y ,z)+v(x,y ,z)*Pspeed;
[0025] v(x,y,z) = normalize(P(x,y,z)-P' (x,y,z));
[0026]其中,P'(x,y,z)为3D模型当前的坐标位置;v(x,y ,z)是由P'(x,y,z)指向P(x,y, z)的单位向量。
[0027] 优选地,所述方法通过如下公式计算3D模型调整后的坐标位置P'(x,y,Z)neW;
[0028] P' (x,y ,z)new = P' (x,y,z)+v(x,y,z)*Pspeed;v(x,y,z)=normalize(P(x,y,z)-P'(x,y,z));
[0029] 其中v(x,y,z)是由P'(x,y,z)指向P(x,y,z)的单位向量。
[0030] 优选地,所述3D模型移动至目标坐标位置过程中,移动速度Pspeed满足以下条件: [0031]当P'(x,y,z)和P(x,y,z)的差值大于临界值Dp,Pspeed的取值范围为:(100, 1000);
[0032]当P'(x,y,z)和P(x,y,z)的差值小于或等于临界值Dp,Pspeed的取值范围为: (0.1,2);
[0033] 当P'(x,y,z)和P(x,y,z)的差值小于Pmax,Pspeed为零;
[0034] 其中,Dp的取值范围为(4,20);?'(1,7,幻为30模型当前的坐标位置;?1^1为?'&, y,z)和P(x,y,z)差值的最大容忍值。
[0035]优选地,所述方法通过如下公式计算3D模型的目标旋转方向欧拉角R'(x,y,z) new;
[0036] R,(x,y,z)new = R,(x,y,z)+v(x,y,z)*Rspeed;
[0037] v(x,y,z) =normalize(R(x,y,z)-R' (x,y,z));
[0038]其中,R'(x,y,z)为3D模型当前的旋转方向欧拉角;v(x,y,z)是由R'(x,y,z)指向R (x,y,z)的单位向量。
[0039] 优选地,所述3D模型移动至目标旋转方向欧拉角过程中,移动速度Rspeed满足以 下条件:
[0040] 当R'(x,y,z)和R(x,y,z)的差值大于临界值DR,Rspeed的取值范围为:(100,150); [00 41]当R'(x,y,z)和R(x,y,z)的差值小于或等于临界值DR,Rspeed的取值范围为:(1, 10);
[0042]当R'(X,y,z)和R(X,y,z)的差值小于rmax,Rspeed为零;
[0043]其中,Dr取值范围为(10,100),1?'(^7,幻为30模型当前的旋转方向欧拉角#_为 R'(x,y,z)和R(x,y,z)差值的最大容忍值。
[0044] 优选地,本发明还提供一种改善3D模型抖动装置,包括:
[0045] 识别模块,用于根据关键点,识别目标图像;
[0046] 计算模块,用于计算目标图像的前N帧坐标位置和旋转方向欧拉角;以及根据所述 二次处理模块得到的坐标位置和旋转方向欧拉角及3D模型的当前坐标位置和旋转方向欧 拉角,计算3D模型的目标坐标位置和目标旋转方向欧拉角;
[0047]二次处理模块,用于对计算模块得到的坐标位置和旋转方向欧拉角进行二次处 理;
[0048]移动模块,用于将3D模型移动至计算模块计算得到的目标坐标位置和目标旋转方 向欧拉角。
[0049] 优选地,所述二次处理模块,用于计算目标图像的前N帧坐标位置和旋转方向欧拉 角的平均值。
[0050] 与现有技术相比,本发明的有益效果在于:通过对目标图像的坐标位置和旋转方 向欧拉角进行二次处理,根据二次处理得到的坐标位置和旋转方向欧拉角及3D模型的当前 坐标位置和旋转方向欧拉角,计算3D模型的目标坐标位置和目标旋转方向欧拉角将3D模型 移动至所述目标坐标位置和目标旋转方向欧拉角;可明显的改善识别过程中模型抖动的情 况,有效的提升产品的用户体验。
【附图说明】
[0051 ]图1是本发明所述改善3D模型抖动方法优选实施例的流程示意图;
[0052] 图2是本发明所述改善3D模型抖动装置的结构图;
[0053] 图3是现有技术的流程示意图。
【具体实施方式】
[0054]下面结合附图,对本发明较优的实施例作进一步的详细说明。
[0055]抖动现象的产生主要出现在对镜头的图像分析的过程中,当图像的关键点信息不 够时,分析出来的坐标位置和旋转方向欧拉角有比较大的误差,不同帧计算出来的坐标位 置和旋转方向欧拉角差别比较大,将这些坐标位置和旋转方向欧拉角直接赋值递给3D模型 时,就会导致3D模型比较明显的抖动。
[0056]如图1所示,一种改善3D模型抖动的方法,包括以下步骤:
[0057] 步骤S1:根据关键点信息识别目标图像;
[0058] 通过尚通的Vuforia SDK对目标图像进彳丁分析处理,提炼出目标图像中具有关键 点信息并保存在数据库中;将镜头中目标图像上获取到的关键点信息和数据库中的关键点 信息进行比较,当镜头中的关键点信息和数据库中的关键点信息相吻合时,通过调用 Vuforia SDK提供的API识别目标图像。Vuforia SDK为移动设备扩增实境应用的软件开发 工具包。当目标图像的关键点信息不够,分析出来的目标图像的坐标位置和旋转方向欧拉 角有比较大的误差,需要对目标图像进行二次处理。
[0059] 步骤S2,获取目标图像的坐标位置和旋转方向欧拉角;所述步骤S2包括以下子步 骤:
[0060] 步骤S21:计算所述目标图像的前N帧坐标位置和旋转方向欧拉角;
[0061]步骤S22:对计算得到的坐标位置和旋转方向欧拉角进行二次处理;所述二次处理 为计算所述目标图像的前N帧坐标位置和旋转方向欧拉角的平均值。
[0062]识别到目标图像,通过Vuforia SDK提供的API对镜头中目标图像的关键点次数进 行分析处理,计算出前N帧目标图像所在空间的坐标位置和旋转方向欧拉角;对计算得到的 坐标位置和旋转方向欧拉角进行二次处理,所述二次处理为计算所述目标图像的前N帧坐 标位置和旋转方向欧拉角的平均值。
[0063] 通过如下公式计算目标图像坐标位置的平均值P(x,y,z):
[0064]
[0065]
[0066]
[0067] 其中Pi(X)为第i帧目标图像坐标位置的X坐标,Pjy)为第i帧目标图像坐标位置的 y坐标,PKz)为第i帧目标图像坐标位置的z坐标。
[0068] 通过如下公式计算目标图像旋转方向欧拉角的平均值R(x,y,z):
[0069]
[0070]
[0071]
[0072] 其中,Rjx)为第i帧目标图像欧拉角的X坐标,Rjy)为第i帧目标图像欧拉角y坐 标,RKz)为第i帧目标图像欧拉角的z坐标。
[0073] 步骤S3,根据所述目标图像的的坐标位置和旋转方向欧拉角及3D模型的当前坐标 位置和旋转方向欧拉角,计算3D模型的目标坐标位置和目标旋转方向欧拉角;
[0074]通过如下公式计算3D模型的目标坐标位置P'(x,y,z)new;
[007
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1