1.本技术涉及计算机技术领域,尤其涉及一种脚部测量数据的获取方法及设备。
背景技术:2.增强现实(augmented reality,ar)测量功能是元宇宙的基础技术,它能够将ar影像技术与现实应用相结合,实现包含测角度、测长度、测距离、测面积等功能。在电商领域,例如在家具选购场景,可通过室内测量和虚拟家具摆放实现ar家具搭配;又例如在服饰选购场景,可通过ar测量用户身体数据,向用户推荐合适的尺码。
3.ar测量用户的身体数据包括脚部数据,现有的ar量脚方案通常需要借助已知尺寸的参考物,例如a4纸,通过多视角拍摄脚部图,构建脚部三维模型,基于脚部三维模型提取例如脚长、脚宽、脚围等脚部测量数据。
4.上述方案一方面需要多视角拍摄,对用户拍摄要求高,且需要借助已知尺寸的参考物,后端数据计算量较大,测量效率低;另一方面由于采用多张图拍摄,运动模糊、参考物平整度、光照变化、拍摄角度等都会引入误差,导致测量精度不可控。
技术实现要素:5.本技术实施例提供一种脚部测量数据的获取方法及设备,通过引导用户拍摄单张高质量的脚部测量图,提升脚部测量数据的精度。
6.本技术实施例的第一方面提供一种脚部测量数据的获取方法,应用于终端设备,该方法包括:
7.接收所述终端设备相机实时采集的脚部图;
8.确定所述脚部图的拍摄是否符合预设拍摄条件,所述预设拍摄条件包括预设的拍摄视角、拍摄距离以及拍摄内容的至少一项;
9.通过拍摄提示信息引导用户拍摄,获取符合所述预设拍摄条件的脚部目标图后,基于所述脚部目标图获取脚部的二维检测数据和三维检测数据;
10.根据所述脚部的二维检测数据和三维检测数据,获取脚部测量数据。
11.本技术第一方面的一个可选实施例中,所述预设拍摄条件包括预设的拍摄视角和/或拍摄距离,所述脚部图包括颜色图和深度图;所述确定所述脚部图的拍摄是否符合预设拍摄条件,包括:
12.根据所述颜色图确定脚部位姿信息;
13.根据所述深度图确定地面位置信息;
14.根据所述脚部位姿信息和所述地面位置信息,确定所述脚部图的拍摄是否符合所述预设的拍摄视角和/或拍摄距离;其中,所述脚部位姿信息包括脚部在相机坐标系的位置信息以及姿态信息,所述地面位置信息包括地面在相机坐标系的位置信息。
15.本技术第一方面的一个可选实施例中,所述根据所述颜色图确定脚部位姿信息,包括:
16.通过脚部关键点检测模型提取所述颜色图中脚部的关键点数据;
17.将所述关键点数据投射至所述相机坐标系,得到脚部三维投射点;
18.根据所述脚部三维投射点以及标准脚部三维模型的关键点,确定所述脚部位姿信息。
19.本技术第一方面的一个可选实施例中,所述根据所述深度图确定地面位置信息,包括:
20.根据所述深度图以及相机参数,获取所述深度图的点云数据;
21.基于所述点云数据确定所述地面位置信息。
22.本技术第一方面的一个可选实施例中,所述方法还包括:
23.获取所述终端设备中的陀螺仪数据,所述陀螺仪数据用于指示所述终端设备相对地面的姿态信息;
24.所述基于所述点云数据确定所述地面位置信息,包括:
25.基于所述点云数据以及所述陀螺仪数据,确定所述地面位置信息。
26.本技术第一方面的一个可选实施例中,所述根据所述脚部位姿信息和所述地面位置信息,确定所述脚部图的拍摄是否符合所述预设的拍摄视角和/或拍摄距离,包括:
27.根据所述脚部位姿信息和所述地面位置信息,确定所述终端设备的相机、地面以及脚部的相对位姿数据;根据所述相对位姿数据,确定所述脚部图的拍摄是否符合所述预设的拍摄视角和/或拍摄距离。
28.本技术第一方面的一个可选实施例中,所述预设拍摄条件包括预设的拍摄距离和/或拍摄内容;所述确定所述脚部图的拍摄是否符合所述预设拍摄条件,包括:
29.获取所述脚部图的深度图;
30.确定所述深度图的置信区域占比,根据所述置信区域占比以及预设占比值,确定所述脚部图的拍摄是否符合所述预设的拍摄距离和/或拍摄内容。
31.本技术第一方面的一个可选实施例中,所述根据所述置信区域占比以及预设占比值,确定所述脚部图的拍摄是否符合所述预设的拍摄距离和/或拍摄内容,包括:
32.若所述置信度区域占比大于或等于所述预设占比值,确定所述脚部图的拍摄符合所述预设的拍摄距离和/或拍摄内容。
33.本技术第一方面的一个可选实施例中,所述通过拍摄提示信息引导用户拍摄,获取符合所述预设拍摄条件的脚部目标图,包括:
34.若确定所述脚部图的拍摄不符合所述预设拍摄条件,发送所述拍摄提示信息,获取符合所述预设拍摄条件的脚部目标图;其中,所述拍摄提示信息用于指示用户调整拍摄视角,和/或,调整拍摄距离,和/或,拍摄预定内容;所述预定内容包括地面和完整的一只脚。
35.本技术第一方面的一个可选实施例中,所述预设的拍摄视角包括正对脚面视角或者正对脚后跟视角。
36.本技术第一方面的一个可选实施例中,所述基于所述脚部目标图获取脚部的二维检测数据和三维检测数据,包括:
37.通过第一深度学习模型对所述脚部目标图的颜色图进行检测,获取包括脚部轮廓、脚部检测框以及脚部测量辅助线的二维检测数据;所述脚部测量辅助线包括脚后跟测
量线和脚轴线;
38.通过第二深度学习模型对所述脚部目标图的深度图进行上采样处理,得到分辨率提升的深度图,基于所述分辨率提升的深度图获取脚部的三维检测数据。
39.本技术第一方面的一个可选实施例中,所述根据所述脚部的二维检测数据和三维检测数据,获取脚部测量数据,包括:
40.将所述二维检测数据中的脚部轮廓、脚后跟测量线以及脚轴线投射至相机坐标系的地面,分别获取所述脚部轮廓的投射点、所述脚后跟测量线的投射线以及所述脚轴线的投射线;
41.根据所述脚部轮廓的投射点以及所述脚后跟测量线的投射线,确定脚长数据;
42.根据所述脚部轮廓的投射点以及所述脚轴线的投射线,确定脚宽数据;
43.根据所述三维检测数据、所述脚部轮廓的投射点以及所述脚轴线的投射线,确定脚围数据。
44.本技术第一方面的一个可选实施例中,所述根据所述脚部轮廓的投射点以及所述脚后跟测量线的投射线,确定脚长数据,包括:
45.根据所述脚部轮廓的投射点以及所述脚后跟测量线的投射线,确定初始脚长数据;
46.根据预构建的拍摄视角与脚前端测量误差的函数关系,对所述初始脚长数据进行长度补偿,确定最终的脚长数据。
47.本技术实施例的第二方面提供一种脚部测量数据的获取装置,包括:
48.接收模块,用于接收终端设备相机实时采集的脚部图;
49.处理模块,用于确定所述脚部图的拍摄是否符合预设拍摄条件,所述预设拍摄条件包括预设的拍摄视角、拍摄距离以及拍摄内容的至少一项;
50.获取模块,用于通过拍摄提示信息引导用户拍摄,获取符合所述预设拍摄条件的脚部目标图;
51.所述处理模块,还用于基于所述脚部目标图获取脚部的二维检测数据和三维检测数据;根据所述脚部的二维检测数据和三维检测数据,获取脚部测量数据。
52.本技术实施例的第三方面提供一种电子设备,包括:存储器,处理器以及计算机程序;所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如本技术第一方面任一项所述的方法。
53.本技术实施例的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如本技术第一方面任一项所述的方法。
54.本技术实施例的第五方面提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本技术第一方面任一项所述的方法。
55.本技术实施例提供一种脚部测量数据的获取方法、装置、设备及存储介质,该方法包括:接收用户拍摄的实时脚部图,通过对脚部图进行图像分析,确定脚部图的拍摄是否符合预设拍摄条件,其中预设拍摄条件包括预设拍摄视角、拍摄距离以及拍摄内容的至少一项。通过发送拍摄提示信息引导用户拍摄,从实时脚部图中获取符合预设拍摄条件的脚部目标图,基于脚部目标图获取脚部的二维检测数据和三维检测数据,根据脚部的二维检测数据和三维检测数据最终得到脚部测量数据。上述方法通过约束用户拍摄,只需要获取单
张符合预设拍摄条件的脚部图,提升脚部测量的精度,同时简化了用户操作,提升了用户体验。
附图说明
56.图1a为本技术实施例提供的正对脚面的拍摄视角示意图;
57.图1b为本技术实施例提供的正对脚面的实拍图;
58.图2a为本技术实施例提供的正对脚后跟的拍摄视角示意图;
59.图2b为本技术实施例提供的正对脚后跟的实拍图;
60.图3为本技术实施例提供的脚部测量数据的获取方法的流程示意图一;
61.图4为本技术实施例提供的脚部测量数据和脚部测量辅助线的示意图;
62.图5为本技术实施例提供的脚部测量数据的获取方法的流程示意图二;
63.图6为本技术实施例提供的脚部测量数据的获取方法的流程示意图三;
64.图7为本技术实施例提供的获取脚部检测数据的流程示意图;
65.图8为本技术实施例提供的脚前端长度补偿的示意图;
66.图9为本技术实施例提供的脚部测量数据的获取装置的结构示意图一;
67.图10为本技术实施例提供的脚部测量数据的获取装置的结构示意图二;
68.图11为本技术实施例提供的电子设备的硬件结构图。
具体实施方式
69.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
70.本技术实施例的说明书、权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述之外的顺序实施。
71.应当理解,本文中使用的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
72.在本技术实施例的描述中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。
73.下面首先对本技术实施例涉及到的专业术语进行简要说明。
74.深度相机:一种传感器,采集深度图,对应图像上每个像素存储深度信息,可通过相机内参恢复成空间三维点云。
75.点云数据:在三维坐标系中的一组向量的集合,这些向量通常以x,y,z三维坐标的形式表示,且一般主要用来代表一个物体的外表面形状。不仅如此,除了(x,y,z)代表的空
间位置信息之外,点云数据还可以表示一个点的rgb颜色、灰度值、深度、分割结果等。
76.rgb-d相机:可同时输出颜色图和深度图,其中d为depth,表示深度,rgb为红绿蓝,表示颜色。
77.深度图:也被称为距离图,是指将从图像采集器到场景中各点的距离(深度)作为像素值的图像,它直接反映了景物可见表面的几何形状。深度图经过坐标转换可以计算为点云数据,有规则及必要信息的点云数据也可以反算为深度图数据。
78.ar量脚技术主要包括两个环节,一是脚部建模,二是脚部测量。首先对脚进行三维建模,然后通过计算测量线和测量点的几何关系得到对应脚的相应尺寸信息。下面根据建模方式的不同,对相关方案进行介绍。
79.(1)基于相机rgb图像和参考物进行重建
80.基于已知尺寸参考物的多视角重建,比如a4纸作为参考物,可以通过a4纸四个角点恢复相机姿态,基于a4纸的尺寸,恢复真实物理尺度,然后通过分割算法提取脚的轮廓,再通过一个可变形模型(3dmm)进行脚轮廓线拟合,重建出脚的3d模型的隐式参数和3d模型,最后基于3d模型进行脚长、脚宽、脚围的测量。另外,还可以通过杂志作为参考物,然后通过多视角拍摄的结果进行三维重建,恢复脚的3d点云,利用杂志的尺寸恢复真实物理尺度,然后基于脚的3d点云进行测量,理论精度可以达到2mm。
81.上述方式需要多视角拍摄,计算量较大,对拍摄要求高,而且需要额外找已知尺寸的参考物,比如a4纸或者杂志,消费者使用门槛比较高。另外,由于采用多张图拍摄,运动模糊、参考物平整度、光照变化、拍摄角度等都会引入误差,导致测量精度不可控,操作有一定门槛。
82.(2)基于专业设备进行重建
83.目前业内已经针对量脚的专用设备,比如通过五个rgb-d相机构建相机阵列,直接建模双脚进行测量。需要通过高精度相机标定,将多个相机的坐标系统一,然后将多相机结果进行点云融合恢复脚的点云再进行测量。也有直接通过激光或结构光扫描的技术方案。
84.上述方式测量简单,精度高,对于普通消费级rgb-d相机阵列,可以达到2mm精度,对于高精度结构光扫描,可以达到0.1mm精度,但是专用设备价格贵,通常商场才会配备,用户使用门槛高。
85.随着含激光雷达(lidar)智能终端(如手机)的普及,以及网络购物量的持续增长,发明人考虑通过智能终端雷达采集的深度图提升脚部建模的精度和稳定性,从而为用户提供一个准确高效的ar量脚工具。基于这一诉求,发明人设计了一种脚部测量数据的获取方法,首先通过约束量脚场景,例如预设拍摄角度、距离等,基于用户采集的脚部图对量脚场景进行分析,指引用户拍摄一张符合拍摄条件的脚部图,其中脚部图包含rgb颜色和深度信息。随后基于多路深度学习模型对脚部图进行检测分析,获取脚部的二维检测数据和三维检测数据。最后基于脚部的二维检测数据和三维检测数据,获取包括脚长、脚宽、脚围等脚部测量数据。
86.通过约束量脚场景,提升实际测脚的精度,相比拍摄多张图,简化了用户操作。从计量角度看,整体测量过程可以在终端侧1s完成,提升了数据处理速度。为了提升脚部深度图的精度,基于深度学习智能上采样,将高分辨率脚部颜色图与低分辨率脚部深度图结合,实现对脚部深度图分辨率的提升,从而优化测量点精度。相比直接使用脚部深度图的ar尺
寸测量,可进一步提升测量精度。
87.下面结合附图对本技术实施例提供的预设拍摄视角进行说明。本技术实施例中,预设拍摄视角包括正对脚面视角和正对脚后跟视角。
88.图1a为本技术实施例提供的正对脚面的拍摄视角示意图。如图1a所示,用户脚踩地面,可以利用辅助物,例如瑜伽砖、盒子、墙面等,将脚后跟对齐辅助物,尽量摆正脚部姿态,即尽量将脚长方向与辅助物和地面的贴合线垂直。用户手持手机拍摄脚部正面图,手机相机大致位于脚面正上方。图1b示出了相机正对脚面的实拍图。
89.图2a为本技术实施例提供的正对脚后跟的拍摄视角示意图。如图2a所示,用户脚踩地面并摆正脚部姿态后,将手机相机置于脚后跟的正上方,通过微调手机相机的角度,拍摄正对脚后跟的全脚图片。图2b示出了相机正对脚后跟的实拍图。
90.需要说明的是,除了调整手机相机的拍摄视角外,还应确保手机相机与脚之间的距离适中,距离不能太近也不能太远。距离太远会导致脚部图像块占比太小,距离太近影响深度信息采集,都将影响测量精度。另外,还应确保拍摄内容符合要求,例如拍摄图像包括用户完整的一只脚、脚底的地面,且不包括其他干扰物,即应确保拍摄画面简单,摄像头无遮挡等。
91.本技术实施例中,用户手持设备不限于手机,还包括其他具有grb-d拍摄功能的移动设备,例如平板电脑、可穿戴设备等,对此本技术实施例不作任何限制。
92.下面通过具体实施例对本技术实施例提供的脚部测量数据的获取方法进行详细说明。需要说明的是,本技术实施例提供的技术方案可以包括以下内容中的部分或全部,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
93.图3为本技术实施例提供的脚部测量数据的获取方法的流程示意图一。如图3所示,本实施例的脚部测量数据的获取方法,包括以下步骤:
94.步骤301、接收终端设备相机实时采集的脚部图。
95.本实施例中,终端设备相机包括普通相机和深度相机,其中普通相机采集颜色图,深度相机采集深度图。脚部图包括rgb颜色信息和深度信息,即脚部图包括颜色图和深度图。
96.步骤302、确定脚部图的拍摄是否符合预设拍摄条件,预设拍摄条件包括预设的拍摄视角、拍摄距离以及拍摄内容的至少一项。
97.本实施例中,预设的拍摄视角包括正对脚面的拍摄视角(图1a、图1b所示)以及正对脚后跟的拍摄视角(图2a、图2b所示)。拍摄距离是指用户手持设备的相机与脚之间的距离,应确保拍摄距离适中,使用户全脚在拍摄图像中的占比满足预设占比,例如60%。对于预设占比,可根据测试效果合理设置,本实施例不作任何限制。拍摄内容是指拍摄图像包含的目标,在量脚场景中,目标包括用户完整的一只脚以及脚底的地面,应尽量避免拍摄内容包含其他干扰物。
98.本实施例的一个可选实施例中,根据脚部图的颜色图和深度图,获取脚部位姿信息和地面位置信息,根据脚部位姿信息和地面位置信息,确定脚部图的拍摄是否符合预设的拍摄视角和/或拍摄距离。
99.本实施例的一个可选实施例中,根据脚部图的深度图,确定脚部图的拍摄是否符
合预设的拍摄距离和/或拍摄内容。应理解,拍摄距离太近或太远都会影响深度图的质量,通常在适当的拍摄距离范围内,深度图的质量较佳,测量效果较好。还应理解,拍摄内容复杂(即拍摄画面中干扰物较多),影响深度信息的可信度,通过分析深度图可确定拍摄内容是否满足要求,如拍摄画面简单。
100.步骤303、通过拍摄提示信息引导用户拍摄,获取符合预设拍摄条件的脚部目标图。
101.本实施例的一个可选实施例中,若确定脚部图的拍摄不符合预设拍摄条件,终端设备发送拍摄提示信息,拍摄提示信息用于指示用户调整拍摄视角,和/或,调整拍摄距离,和/或,拍摄预定内容。其中,预定内容包括地面和完整的一只脚。
102.可选的,拍摄提示信息可以是语音提示信息,也可以是拍摄界面的文字提示信息,对此本技术实施例不作任何限制。
103.通过发送拍摄提示信息,引导用户按照预设拍摄条件进行脚部图拍摄,为后续图像检测和分析提供高质量的脚部图,进而提升脚部测量结果的准确性。
104.步骤304、基于脚部目标图获取脚部的二维检测数据和三维检测数据。
105.用户通过手持设备中的相机采集实时的脚部图,通过对实时的脚部图进行图像分析,确定脚部图的拍摄是否符合预设的拍摄视角、拍摄距离以及拍摄内容。若确定实时图像中的其中一张脚部图的拍摄符合预设的拍摄视角、拍摄距离以及拍摄内容,将该脚部图作为脚部目标图。对脚部目标图的分析分为两路:
106.一路是对脚部目标图的颜色图的分析,获取二维检测数据。脚部的二维检测数据包括脚部轮廓、脚部检测框以及脚部测量辅助线,其中脚部测量辅助线包括脚后跟测量线和脚轴线。
107.一路是对脚部目标图的深度图的分析,获取脚部的三维检测数据。需要指出的是,脚部的三维检测数据即脚部的三维点云数据。
108.步骤305、根据脚部的二维检测数据和三维检测数据,获取脚部测量数据。
109.本实施例的一个可选实施例中,将二维检测数据中的脚部轮廓、脚后跟测量线以及脚轴线投射至相机坐标系的地面,分别获取脚部轮廓的投射点、脚后跟测量线的投射线以及脚轴线的投射线;根据脚部轮廓的投射点以及脚后跟测量线的投射线,确定脚长数据;根据脚部轮廓的投射点以及脚轴线的投射线,确定脚宽数据;根据三维检测数据、脚部轮廓的投射点以及脚轴线的投射线,确定脚围数据。本实施例中,通过将二维检测数据投射至三维空间(相机坐标系),确定测量脚部数据对应的测量点和/或测量线,从而得到脚部测量数据。
110.图4为本技术实施例提供的脚部测量数据和脚部测量辅助线的示意图。如图4所示,对于脚长,可选取脚部轮廓中离脚后跟测量线最远的点作为测量点,根据该测量点和脚后跟测量线确定脚长。对于脚宽,可选取脚部轮廓前半部分垂直于脚轴线方向的距离最长的两个端点,将这两个端点作为测量点,确定脚宽。对于脚围,可选取脚部轮廓中离脚前端距离为脚长1/3处垂直于脚轴线方向的一个横截面,获取该横截面对应到脚部点云数据的空间曲线,根据空间曲线确定脚围。需要说明的是,上述脚部轮廓是投射至三维空间的脚部轮廓。
111.本技术实施例示出的脚部测量数据的获取方法,通过接收用户拍摄的实时脚部
图,通过对脚部图进行图像分析,确定脚部图的拍摄是否符合预设拍摄条件,其中预设拍摄条件包括预设拍摄视角、拍摄距离以及拍摄内容的至少一项。通过拍摄提示信息引导用户拍摄,从实时脚部图中获取符合预设拍摄条件的脚部目标图,基于脚部目标图获取脚部的二维检测数据和三维检测数据,根据脚部的二维检测数据和三维检测数据最终得到脚部测量数据。上述方法通过约束用户拍摄,只需要获取单张符合预设拍摄条件的脚部图,提升脚部测量的精度,同时简化了用户操作,提升了用户体验。
112.下面结合两个具体实施例对用户实时拍摄图像的检测和分析过程进行详细说明。图像的检测和分析过程主要涉及以下几个方面:脚姿态检测,地面检测,拍摄视角检测,深度图质量分析。
113.图5为本技术实施例提供的脚部测量数据的获取方法的流程示意图二。如图5所示,本实施例的脚部测量数据的获取方法,包括以下步骤:
114.步骤501、接收终端设备相机实时采集的脚部图。
115.步骤502、根据脚部图的颜色图确定脚部位姿信息,脚部位姿信息包括脚部在相机坐标系的位置信息以及姿态信息。
116.本实施例的一个可选实施例中,可通过如下步骤获取脚部位姿信息:
117.步骤5021、通过脚部关键点检测模型提取颜色图中脚部的关键点数据。
118.本实施例中,终端设备预置有轻量级脚部关键点检测模型,该模型可用于检测脚部在图像中的位置。由于终端设备的内存空间和计算能力有限,因此应当选取轻量级模型结构,经模型剪枝、模型量化压缩,在满足模型预设检测精度要求的前提下,将其预置到终端设备中。可选的轻量级模型结构包括例如mobilenetv3、shufflenet等。
119.其中,脚部的关键点数据包括脚部的所有关键点的位置数据,例如脚部的大脚趾脚尖、前脚掌内侧关节、脚内侧足弓、后脚掌内侧、脚后跟后方、后脚掌外侧、前脚掌外侧关节等关键点,在颜色图中的位置坐标。
120.步骤5022、将颜色图中脚部的关键点数据投射至相机坐标系,得到脚部三维投射点。
121.本实施例中,根据相机坐标系与图像坐标系之间的投射关系,将颜色图中脚部的关键点数据(二维数据)投射至相机坐标系的三维空间,得到脚部三维投射点,即得到脚部的所有关键点在相机坐标系的位置坐标。上述投射关系与相机内参(相机的焦距f)有关,具体可参照现有技术,此处不作展开。
122.步骤5023、根据脚部三维投射点以及标准脚部三维模型的关键点,确定脚部位姿信息。
123.本实施例中,根据脚部三维投射点确定脚部所有关键点在相机坐标系的位置信息,根据脚部三维投射点以及标准脚部三维模型的关键点在相机坐标系的位置信息,确定脚部姿态信息。
124.需要说明的是,为了实现对用户量脚状态的引导,需要预先配置用户量脚时的标准姿态,建立用户量脚时的标准脚部三维模型。通过与标准脚部三维模型的关键点进行匹配,确定用户当前的脚部姿态是否符合测量的姿态要求。
125.具体的,根据用户当前脚部三维投射点与标准脚部三维模型的关键点,得到用户当前脚部在相机坐标系的大致姿态,提取脚部的朝向信息,例如朝左偏(未摆正)、朝右偏
(未摆正)、正对(已摆正)等,从而确定用户是否需要调整脚部姿态。
126.步骤503、根据脚部图的深度图确定地面位置信息,地面位置信息包括地面在相机坐标系的位置信息。
127.本实施例的一个可选实施例中,根据深度图以及相机参数,获取深度图的点云数据;基于点云数据确定地面位置信息。具体的,根据深度图以及相机内存(相机的焦距f),获取深度图的点云数据,具体可参照现有技术,此处不作展开。
128.本实施例的一个可选实施例中,根据深度图以及相机参数,获取深度图的点云数据;获取终端设备中的陀螺仪数据,陀螺仪数据用于指示终端设备相对地面的姿态信息;基于点云数据以及陀螺仪数据,确定地面位置信息。本实施例中,终端设备的陀螺仪数据作为辅助地面测量的数据,通过点云平面拟合的方式可实现快速获取地面区域,即地面在相机坐标系的位置信息,从而确定脚与地面的位置关系(是否脚踩地面)。
129.步骤504、根据脚部位姿信息和地面位置信息,确定脚部图的拍摄是否符合预设的拍摄视角和/或拍摄距离。
130.其中,脚部位姿信息包括脚部在相机坐标系的位置信息和姿态信息,地面位置信息包括地面在相机坐标系的位置信息。具体的,首先根据脚部位姿信息和地面位置信息,确定终端设备的相机、地面以及脚部的相对位姿数据;再根据相对位姿数据,确定脚部图的拍摄是否符合预设的拍摄视角和/或拍摄距离。
131.步骤505、若确定脚部图的拍摄不符合预设的拍摄视角和/或拍摄距离,发送拍摄提示信息。拍摄提示信息用于指示用户调整拍摄视角,和/或,调整拍摄距离。
132.示例性的,若用户脚的部分关键点与地面之间的距离大于0,表明用户脚未踩实地面,可提示用户踩实地面。若用户脚的朝向有偏移,且相机与地面的位姿关系符合要求,表明用户脚部姿态不符合要求,可提示用户调整脚部姿态。若用户脚的朝向有偏移,且相机与地面的位姿关系不符合要求,表明用户脚部姿态不符合要求的原因之一是相机与地面的位姿关系不符合要求,可提示用户调整相机的拍摄视角,再分析确定是否需要用户再调整脚部姿态。若用户脚与相机的位置关系小于预设距离,可导致用户脚的图像占比大于预设占比,可提示用户调整拍摄距离或者相机焦距。
133.本技术实施例示出的脚部测量数据的获取方法,通过接收终端设备相机实时采集的脚部图,其中脚部图包括颜色图和深度图,分别对颜色图和深度图进行如下图像分析:一是对脚部图的颜色图进行脚部姿态检测,获取脚部姿态信息;二是对脚部图的深度图进行地面检测,获取地面位置信息。结合脚部姿态信息和地面位置信息,最终确定脚部图的拍摄是否符合预设的拍摄视角和/或拍摄距离,从而引导用户拍摄符合要求的脚部图,为后续脚部测量提供高质量拍摄图像,提升脚部测量的精度。
134.图6为本技术实施例提供的脚部测量数据的获取方法的流程示意图三。如图6所示,本实施例的脚部测量数据的获取方法,包括以下步骤:
135.步骤601、接收终端设备相机实时采集的脚部图。
136.步骤602、获取脚部图的深度图,确定深度图的置信区域占比。
137.本实施例中,通过对脚部图的深度图质量的置信度进行分析,确定深度图每个像素点的置信度(可信度),例如置信度等级分为0、1、2,0表示不可信,1表示低可信,2表示高可信。根据深度图每个像素点的置信度等级,确定深度图的置信区域,例如将低可信和高可
信的像素点均看作是置信区域的像素点,进而确定深度图的置信区域占比,即深度图的置信区域与全区域的比值。
138.步骤603、根据置信区域占比以及预设占比值,确定脚部图的拍摄是否符合预设的拍摄距离和/或拍摄内容。
139.一种可能的情况,若置信区域占比大于或等于预设占比值,确定脚部图的拍摄符合预设的拍摄距离和/或拍摄内容。另一种可能的情况,若置信区域占比小于预设占比值,确定脚部图的拍摄不符合预设的拍摄距离和/或拍摄内容。
140.步骤604、若确定脚部图的拍摄不符合预设的拍摄距离和/或拍摄内容,发送拍摄提示信息。拍摄提示信息用于指示用户调整拍摄距离,和/或,拍摄预定内容。
141.本实施例中,预定内容包括地面和完整的一只脚。
142.应理解,相机与脚之间的距离小于预设距离时,相机采集的脚部图的深度信息不足,深度图的可信度不高,反之亦然。相机与脚之间存在遮挡物时,同样会导致相机采集的深度信息不足,深度图的可信度不高,反之亦然。可见,导致相机拍摄的深度图的置信度不高的原因包括拍摄距离太近,或者,相机镜头有遮挡。因此,若确定深度图的置信区域占比小于预设占比值,可提示用户调整拍摄距离,或者,拍摄内容(避开遮挡物)。
143.本技术实施例示出的脚部测量数据的获取方法,通过接收终端设备相机实时采集的脚部图,通过对脚部图的深度图质量的置信度进行分析,确定用户拍摄是否满足预设的拍摄距离和/或拍摄内容,从而引导用户拍摄符合要求的脚部图,为后续脚部测量提供高质量拍摄图像,提升脚部测量的精度。
144.基于上述几个实施例可知,在相机采集的脚部图符合拍摄视角、拍摄内容(包括完整的一只脚和地面)、拍摄距离、深度图质量要求等条件时,获取脚部目标图。通过对脚部目标图作进一步的图像分析,可确定脚部的二维检测数据和三维检测数据,从而确定脚部测量数据。
145.下面结合附图7对脚部的二维检测数据和三维检测数据的获取过程进行说明。
146.图7为本技术实施例提供的获取脚部检测数据的流程示意图。如图7所示,本实施例的脚部检测数据的获取方法,包括以下步骤:
147.步骤701、通过第一深度学习模型对脚部目标图的颜色图进行检测,获取包括脚部轮廓、脚部检测框以及脚部测量辅助线的二维检测数据。
148.本实施例中,脚部测量辅助线包括脚后跟测量线和脚轴线。脚部轮廓的二维检测数据包括脚部轮廓的所有检测点在颜色图的位置坐标。脚部检测框的二维检测数据包括脚部检测框(矩形框)的至少一个端点在颜色图的位置坐标以及检测框的长度和宽度。脚部测量辅助线的二维检测数据包括脚后跟测量线在颜色图的至少两个点的位置坐标,以及脚轴线在颜色图的至少两个点的位置坐标。
149.具体的,将脚部目标图的颜色图输入第一深度学习模型,第一深度学习模型包括三路检测模块,分别用于检测脚部轮廓(脚的分割)、脚部检测框以及脚部测量辅助线。可选的,第一深度学习模型可采用卷积神经网络cnn进行训练得到。
150.对于正对脚面拍摄的脚部目标图,第一深度学习模型会检测辅助物与地面的交线,辅助物可以是地面上一根直线图案、纸、书、盒子等。对正对脚后跟拍摄的脚部目标图,第一深度学习模型会检测与脚轴线垂直并相切脚后跟轮廓的直线。
151.本实施例的第一深度学习模型融合分割和矩形框检测结果,可获得精确的脚部矩形边界和脚部轮廓,与此同时,第一深度学习模型还会对脚后跟测量线与脚轴线的垂直度进行验证,确保脚后跟测量线垂直脚轴线方向,提升对脚部目标图的检测精度。
152.步骤702、通过第二深度学习模型对脚部目标图的深度图进行上采样处理,得到分辨率提升的深度图。
153.具体的,将脚部目标图的颜色图输入第二深度学习模型,第二深度学习模型基于高分辨率脚部颜色图和低分辨率脚部深度图,实现对高分辨率脚部深度图的预测,从而提升两脚场景的深度图精度,最终将高分辨率深度图放大至与颜色图相同尺寸,用于后续的脚部测量。可选的,第二深度学习模型可采用卷积神经网络进行训练得到。
154.步骤703、基于分辨率提升的深度图获取脚部的三维检测数据。
155.具体的,基于分辨率提升的深度图以及相机参数,获取脚部的三维点云数据,即脚部在相机坐标系的位置坐标。
156.本技术实施例示出的脚部检测数据的获取方法,通过使用第一深度学习模型对脚部轮廓、脚部检测框、脚部测量辅助线进行检测,获取二维检测数据。与此同时,使用第二深度学习模型对脚部深度图进行质量提升,获取三维检测数据。通过本实施例获取的二维检测数据和三维检测数据,为脚部测量提供优质数据,可提升脚部测量数据的精度。
157.需要指出的是,测量的脚长数据可能存在一定的误差,尤其是脚部目标图的拍摄视角为正对脚后跟视角,需要进行长度补偿,具体情况参见图8。
158.图8为本技术实施例提供的脚前端长度补偿的示意图。如图8所示,相机投影线与脚趾在非完全正对情况下,不一定与脚前端相切,需要进行长度补偿。
159.具体的,对于正对脚面拍摄或正对脚后跟拍摄的脚部目标图,在基于上述实施例获取脚部轮廓在相机坐标系地面的投射点,以及脚后跟测量线在相机坐标系地面的投射线后,根据脚部轮廓的投射点以及脚后跟测量线的投射线,确定脚长数据,包括:
160.根据脚部轮廓的投射点以及脚后跟测量线的投射线,确定初始脚长数据;根据预构建的拍摄视角与脚前端测量误差的函数关系,对初始脚长数据进行长度补偿,确定最终的脚长数据。其中,预构建的拍摄视角与脚前端测量误差的函数关系是基于前述标准脚部三维模型进行前端误差与视角关系建模,通过学习方法拟合得到的。
161.由于已经引导用户正对脚面或正对脚后跟拍摄,因此在脚宽方向的长度偏差较小,故无需进行长度补偿。
162.本实施例示出了脚长方向的长度补偿方案,通过模型学习的方法拟合误差函数,或直接数学公式建模脚前端视角与误差的大致关系,进行脚长误差补偿,可进一步提升脚部测量数据的精确度。
163.需要指出的是,上述几个实施例的执行主体可以是终端设备(客户端),还可以是服务器(服务端),对此本技术实施例不作任何限制。
164.上文描述了本技术实施例提供的脚部测量数据的获取方法,下面将描述本技术实施例提供的脚部测量数据的获取装置。本技术实施例可以根据上述方法实施例对脚部测量数据的获取装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以使用硬件的形式实现,也可以使用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分
是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以使用对应各个功能划分各个功能模块为例进行说明。
165.图9为本技术实施例提供的脚部测量数据的获取装置的结构示意图一。如图9所示,本实施例的脚部测量数据的获取装置900,包括接收模块901,处理模块902以及获取模块903。
166.接收模块901,用于接收终端设备相机实时采集的脚部图;
167.处理模块902,用于确定所述脚部图的拍摄是否符合预设拍摄条件,所述预设拍摄条件包括预设的拍摄视角、拍摄距离以及拍摄内容的至少一项;
168.获取模块903,用于通过拍摄提示信息引导用户拍摄,获取符合所述预设拍摄条件的脚部目标图;
169.处理模块902,还用于基于所述脚部目标图获取脚部的二维检测数据和三维检测数据;根据所述脚部的二维检测数据和三维检测数据,获取脚部测量数据。
170.本实施例的一个可选实施例中,所述预设拍摄条件包括预设的拍摄视角和/或拍摄距离,所述脚部图包括颜色图和深度图;所述处理模块902,用于:
171.根据所述颜色图确定脚部位姿信息;
172.根据所述深度图确定地面位置信息;
173.根据所述脚部位姿信息和所述地面位置信息,确定所述脚部图的拍摄是否符合所述预设的拍摄视角和/或拍摄距离;其中,所述脚部位姿信息包括脚部在相机坐标系的位置信息以及姿态信息,所述地面位置信息包括地面在相机坐标系的位置信息。
174.本实施例的一个可选实施例中,所述处理模块902,用于:
175.通过脚部关键点检测模型提取所述颜色图中脚部的关键点数据;
176.将所述关键点数据投射至所述相机坐标系,得到脚部三维投射点;
177.根据所述脚部三维投射点以及标准脚部三维模型的关键点,确定所述脚部位姿信息。
178.本实施例的一个可选实施例中,所述处理模块902,用于:
179.根据所述深度图以及相机参数,获取所述深度图的点云数据;
180.基于所述点云数据确定所述地面位置信息。
181.图10为本技术实施例提供的脚部测量数据的获取装置的结构示意图二。在图9所示装置的基础上,如图10所示,本实施例的脚部测量数据的获取装置900,还包括发送模块904。
182.获取模块903,用于获取所述终端设备中的陀螺仪数据,所述陀螺仪数据用于指示所述终端设备相对地面的姿态信息;
183.处理模块902,用于基于所述点云数据以及所述陀螺仪数据,确定所述地面位置信息。
184.本实施例的一个可选实施例中,所述处理模块902,用于:
185.根据所述脚部位姿信息和所述地面位置信息,确定所述终端设备的相机、地面以及脚部的相对位姿数据;根据所述相对位姿数据,确定所述脚部图的拍摄是否符合所述预设的拍摄视角和/或拍摄距离。
186.本实施例的一个可选实施例中,所述预设拍摄条件包括预设的拍摄距离和/或拍
摄内容;所述获取模块903,用于获取所述脚部图的深度图;
187.所述处理模块902,用于确定所述深度图的置信区域占比,根据所述置信区域占比以及预设占比值,确定所述脚部图的拍摄是否符合所述预设的拍摄距离和/或拍摄内容。
188.本实施例的一个可选实施例中,所述处理模块902,用于:
189.若所述置信度区域占比大于或等于所述预设占比值,确定所述脚部图的拍摄符合所述预设的拍摄距离和/或拍摄内容。
190.本实施例的一个可选实施例中,若所述处理模块902确定所述脚部图的拍摄不符合所述预设拍摄条件,所述发送模块904,用于发送拍摄提示信息;所述获取模块903,用于获取符合所述预设拍摄条件的脚部目标图;
191.其中,所述拍摄提示信息用于指示用户调整拍摄视角,和/或,调整拍摄距离,和/或,拍摄预定内容;所述预定内容包括地面和完整的一只脚。
192.本实施例的一个可选实施例中,所述预设的拍摄视角包括正对脚面视角或者正对脚后跟视角。
193.本实施例的一个可选实施例中,所述获取模块903,用于:
194.通过第一深度学习模型对所述脚部目标图的颜色图进行检测,获取包括脚部轮廓、脚部检测框以及脚部测量辅助线的二维检测数据;所述脚部测量辅助线包括脚后跟测量线和脚轴线;
195.通过第二深度学习模型对所述脚部目标图的深度图进行上采样处理,得到分辨率提升的深度图,基于所述分辨率提升的深度图获取脚部的三维检测数据。
196.本实施例的一个可选实施例中,所述处理模块902,用于:
197.将所述二维检测数据中的脚部轮廓、脚后跟测量线以及脚轴线投射至相机坐标系的地面,分别获取所述脚部轮廓的投射点、所述脚后跟测量线的投射线以及所述脚轴线的投射线;
198.根据所述脚部轮廓的投射点以及所述脚后跟测量线的投射线,确定脚长数据;
199.根据所述脚部轮廓的投射点以及所述脚轴线的投射线,确定脚宽数据;
200.根据所述三维检测数据、所述脚部轮廓的投射点以及所述脚轴线的投射线,确定脚围数据。
201.本实施例的一个可选实施例中,所述处理模块902,用于:
202.根据所述脚部轮廓的投射点以及所述脚后跟测量线的投射线,确定初始脚长数据;
203.根据预构建的拍摄视角与脚前端测量误差的函数关系,对所述初始脚长数据进行长度补偿,确定最终的脚长数据。
204.本实施例提供的脚部测量数据的获取装置,可以执行前述任一方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
205.图11为本技术实施例提供的电子设备的硬件结构图。如图11所示,本实施例提供的电子设备1100,包括:存储器1101,处理器1102以及计算机程序;其中,计算机程序存储在存储器1101中,并被配置为由处理器1102执行以实现前述任一方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
206.可选的,存储器1101既可以是独立的,也可以跟处理器1102集成在一起。当存储器
1101是独立于处理器1102之外的器件时,电子设备1100还包括:总线1103,用于连接存储器1101和处理器1102。
207.本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器1102执行以实现如前述任一方法实施例的技术方案。
208.本技术实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如前述任一方法实施例的技术方案。
209.本技术实施例提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述任一方法实施例的技术方案。
210.可选的,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述任一方法实施例的技术方案。
211.应理解,上述处理器可以是中央处理单元(英文:central processing unit,简称:cpu),还可以是其他通用处理器、数字信号处理器(英文:digital signal processor,简称:dsp)、专用集成电路(英文:application specific integrated circuit,简称:asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
212.存储器可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
213.总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
214.上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
215.一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备中。
216.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例的技术方案的范围。