一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用深度学习网络从用户照片进行重量测量的系统和方法与流程

2021-11-29 11:47:00 来源:中国专利 TAG:

使用深度学习网络从用户照片进行重量测量的系统和方法
1.相关申请的引用
2.本技术是要求于2019年4月2日提交且名为“systems and methods for weight estimation from user photos using deep learning networks”的美国序列号62/828,373的优先权的pct(专利合作条约)申请。
发明领域
3.本发明的实施方案是在自动化身体测量的领域中,并且特别地涉及使用通过移动装置拍摄的照片来估计用户的体重。
4.发明背景
5.提供对本发明背景的陈述是为了协助理解本发明以及其应用和用途,并且可能不构成现有技术。
6.获得对用户的重量的准确估计存在许多有用的应用。例如,健身跟踪和减肥跟踪需要对体重的估计。类似地,可通过深度学习来准确地估计衣物大小和合身度(这是基于体长测量),但是对体重的准确估计是更准确估计体长测量值的有价值的输入。
7.当前的体重测量方法依赖于利用体重秤,这是并不总是可用的硬件组件。例如,并不是每个人在其家里都有秤,也不是每个人在公共体育场馆中给自己称重都能感到自在。随着智能手机的出现,用户已经开始期待使用通用硬件实现无缝且即时的用户体验,而不是利用专门的传感器或其他硬件。因此,要求用户购买专门的体重秤来进行体重测量对于许多现代技术应用来说并不是一种可行的方法,并且会引入不必要的用户摩擦。类似地,在其他技术应用需要对体重的准确估计的情况下,让用户“粗略估计”其自身的重量很难令人满意。
8.因此,对当前技术水平的改进是提供一种用于从使用普通2d智能手机相机拍摄的用户的照片准确地估计体重的系统和方法,使得每个人都可轻松地给自己拍摄照片并且从准确的体重估计中受益。正是在这种背景下开发了本发明。


技术实现要素:

9.本发明涉及用于从用户图像中提取体重估计的方法和系统,所述用户图像例如使用2d移动装置相机来拍摄。
10.更具体地,在各种实施方案中,本发明是一种用于估计或预测被摄对象的体重的计算机实现的方法,所述计算机实现的方法能够由硬件处理器执行,所述方法包括:接收一个或多个被摄对象参数;接收包含所述被摄对象的一个或多个图像;利用一个或多个标注深度学习模块从所述一个或多个图像识别在所述被摄对象的衣物下的一个或多个身体部分的一个或多个标注关键点;基于所述一个或多个标注关键点而计算所述被摄对象的一个或多个几何特征;以及利用重量机器学习模块基于所述被摄对象的所述一个或多个几何特征和所述一个或多个被摄对象参数而生成对所述被摄对象的所述体重的预测。
11.在一个实施方案中,所述一个或多个几何特征选自由以下各项组成的组:一个或
多个身体部分围度、一个或多个身体部分长度、一个或多个身体图像面积、一个或多个身体部分图像面积、一个或多个身体体积以及一个或多个身体部分体积。在一个实施方案中,所述一个或多个身体部分围度包括至少一个身体部分的多个身体部分围度。
12.在一个实施方案中,所述生成对所述被摄对象的所述体重的所述预测还包括:生成包括所述一个或多个几何特征和所述一个或多个被摄对象参数的特征向量作为所述重量机器学习模块的输入。
13.在一个实施方案中,所述重量机器学习模块包括线性回归器、非线性回归器和随机森林算法中的一者或多者,其中针对地面实况数据训练所述重量机器学习模块,所述地面实况数据包括一个或多个样本被摄对象的一个或多个样本体重和一个或多个样本特征向量。
14.在一个实施方案中,所述被摄对象参数中的一者或多者用作归一化数据以在所述一个或多个图像中从像素坐标缩放到真实世界坐标。
15.在一个实施方案中,所述被摄对象的身高用作所述归一化数据。在一个实施方案中,所述图像中具有已知大小的参考对象用作所述归一化数据。
16.在一个实施方案中,所述一个或多个图像包括至少两个图像,其中所述至少两个图像在至少两个透视图中包含所述被摄对象。
17.在一个实施方案中,所述至少两个图像至少包括所述被摄对象的正视图图像和侧视图图像,其中所述基于所述一个或多个标注关键点而生成所述一个或多个几何特征包括选自由以下各项组成的组的一个步骤:(a)利用经标注的正视图图像和侧视图图像以及所述被摄对象的身高来计算至少一个经标注的身体部分的至少一个围度,(b)利用经标注的正视图图像和侧视图图像以及所述被摄对象的身高来计算至少一个经标注的身体部分的至少一个身体部分图像面积,以及(c)利用经标注的正视图图像和侧视图图像以及所述被摄对象的身高来计算至少一个经标注的身体部分的至少一个身体部分体积。
18.在一个实施方案中,所述方法还包括:在所述接收到所述一个或多个图像之后,对所述图像执行身体分割以从背景识别与所述被摄对象相关联的所述一个或多个身体部分,其中所述身体分割利用已经针对分割训练数据进行训练的分割深度学习模块,并且其中所述分割训练数据包括一个或多个样本被摄对象的一个或多个图像以及针对所述一个或多个样本被摄对象的每个身体部分的身体部分分割。
19.在一个实施方案中,所述标注深度学习模块利用训练数据,所述训练数据包括一个或多个样本被摄对象的一个或多个图像以及针对所述一个或多个样本被摄对象的每个身体部分的一个或多个标注关键点。
20.在一个实施方案中,所述一个或多个被摄对象参数选自由以下各项组成的组:身高、所接收的被摄对象重量估计、性别、年龄、种族以及与所述被摄对象相关联的人口统计信息。
21.在一个实施方案中,对所述被摄对象的所述体重的所述预测是第一估计,其中所述方法还包括:使用第二机器学习模块来生成对所述被摄对象的所述体重的第二估计;将所述第一估计的第一置信分数与所述第二估计的第二置信分数进行比较;以及基于所述第一置信分数和所述第二置信分数而选择所述第一估计或所述第二估计作为所述被摄对象的所述体重。
22.在一个实施方案中,所述方法还包括:确定对所述被摄对象的所述体重的所述预测是否与置信水平低于预定值相对应;以及响应于确定对所述被摄对象的所述体重的所述预测与置信水平低于所述预定值相对应,将对所述被摄对象的所述体重的所述预测与所接收的被摄对象重量估计进行比较;更新对所述被摄对象的所述体重的所述预测,其中所述所接收的被摄对象重量估计用于指导所述重量机器学习模块;以及用对所述被摄对象的所述体重的更新的预测替换对所述被摄对象的所述体重的所述预测。
23.在一个实施方案中,从移动计算装置接收所述被摄对象参数,并且从所述移动计算装置上的相机接收所述被摄对象图像。在一个实施方案中,从所述移动计算装置接收一个或多个被摄对象参数包括接收由所述移动计算装置执行的测量。在一个实施方案中,来自所述移动计算装置上的深度传感器的深度数据用作归一化数据以在所述一个或多个图像中从像素坐标缩放到真实世界坐标。
24.在一个实施方案中,所述方法还包括:在识别所述标注关键点之前对所述被摄对象的所述一个或多个图像和背景进行预处理,其中所述预处理至少包括对所述一个或多个图像的透视校正,并且其中所述透视校正选自由以下各项组成的组:利用所述被摄对象的头部的透视校正、利用所述移动计算装置的陀螺仪的透视校正、以及利用所述移动计算装置的另一个传感器的透视校正。
25.在各种实施方案中,公开了一种计算机程序产品。所述计算机程序可用于预测被摄对象的体重测量值,并且可包括体现有程序指令或程序代码的计算机可读存储介质,所述程序指令能够由处理器执行以致使所述处理器执行本文叙述的步骤。
26.在各种实施方案中,描述了一种用于预测体重测量值的系统,所述系统包括:存储器,所述存储器存储计算机可执行组件;硬件处理器,所述硬件处理器可操作地耦合到所述存储器,并且执行存储在所述存储器中的所述计算机可执行组件,其中所述计算机可执行组件可包括与所述处理器通信地耦合的执行前述步骤的组件。
27.在另一个实施方案中,本发明是一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储可执行指令,所述可执行指令在由处理器执行时致使所述处理器执行用于预测体重测量值的过程,所述指令致使所述处理器执行前述步骤。
28.在另一个实施方案中,本发明是一种用于使用2d相机进行体重测量值预测的系统,所述系统包括:用户装置,所述用户装置具有2d相机、处理器、显示器、第一存储器;服务器,所述服务器包括第二存储器和数据储存库;在所述装置与所述服务器之间的电信链路;以及多个计算机节点,所述多个计算机节点体现在所述用户装置和所述服务器的所述第一存储器和所述第二存储器上,所述多个计算机节点在被执行时致使所述服务器和所述用户装置执行包括前述步骤的过程。
29.在又一个实施方案中,本发明是一种用于预测体重测量值的计算机化服务器,所述计算机化服务器包括:至少一个处理器、存储器和体现在所述存储器上的多个计算机节点,所述多个计算机节点在被执行时致使所述处理器执行包括前述步骤的过程。
30.本发明的其他方面和实施方案包括包含本文描述的步骤的方法、过程和算法,并且还包括本文描述的系统和服务器的操作过程和模式。
31.根据本发明的结合附图理解的具体实施方式,本发明的再一些其他方面和实施方案将变得显而易见。
附图说明
32.本文描述的本发明的实施方案是示例性的,而不是限制性的。现将参考附图通过举例来描述实施方案,在附图中:
33.图1示出了根据本发明的一个实施方案的利用深度学习网络(dln)和机器学习进行体重测定过程的说明图。
34.图2示出了根据本发明的另一个实施方案的使用深度学习网络(dln)和机器学习进行体重测定过程的示例流程图。
35.图3示出了根据本发明的另一个实施方案的使用深度学习网络(dln)和机器学习进行体重测定的详细流程图。
36.图4示出了根据本发明的一个实施方案的使用深度学习网络(dln)进行身体部分分割和标注的详细流程图。
37.图5示出了根据本发明的另一个实施方案的用于从一个或多个特征向量进行体重测定的机器学习算法的说明图,所述一个或多个特征向量从基于关键点标注而计算的几何特征以及一个或多个被摄对象参数获得。
38.图6示出了根据本发明的一个实施方案的用于实现体重测量的说明性客户端

服务器图。
39.图7示出了根据本发明的一个实施方案的用于体重测定的示例流程图,其示出了单独的分割dln、标注dln和重量机器学习模块。
40.图8示出了用于实现本发明的一个实施方案的服务器和/或用户装置的说明性硬件架构图。
41.图9示出了用于在客户端服务器环境中实现本发明的一个实施方案的说明性系统架构图。
42.图10示出了根据本发明的一个实施方案的本发明的使用具有单个相机的移动装置来测量人体体重的用例的说明图,其示出了具有用于捕获被摄对象的照片的用户指令的图形用户界面(gui)。
43.图11示出了根据本发明的一个实施方案的用于接收一个或多个被摄对象参数的移动装置gui的说明图。
44.图12示出了根据本发明的一个实施方案的用于捕获正视图照片的移动装置gui的说明图,其示出了指示被摄对象应当站立在何处的模板。
45.图13示出了根据本发明的一个实施方案的用于捕获正视图照片的移动装置gui的另一个说明图,其示出了指示被摄对象在增强现实中应当在何处站立成覆盖在被摄对象的图像上的模板。
46.图14示出了根据本发明的一个实施方案的用于捕获侧视图照片的移动装置gui的说明图。
47.图15示出了根据本发明的一个实施方案的在所述系统处理所捕获的照片以预测体重时显示的移动装置gui的说明图。
48.图16示出了根据本发明的一个实施方案的移动装置gui的说明图,其示出了在已经成功完成体重预测时的通知屏幕。
49.图17示出了根据本发明的一个实施方案的用于从用户照片预测体重的移动装置
的说明图,其示出了在已经成功完成体重预测时具有通知屏幕的移动装置gui。
具体实施方式
50.参考所提供的附图,现将详细地描述本发明的实施方案。
51.在下文描述中,出于解释的目的,阐述众多特定细节以便于提供对本发明的透彻理解。然而,对于本领域技术人员而言将显而易见的是,可在没有这些特定细节的情况下实践本发明。在其他情况下,为了避免模糊本发明,使用示意图、用例和/或流程图来示出结构、装置、活动和方法。尽管以下描述包含用于说明目的的许多细节,但是本领域任何技术人员将了解,对所提出细节的许多改变和/或更改都在本发明的范围内。类似地,尽管本发明的许多特征相对于彼此,或结合彼此进行了描述,但是本领域技术人员将了解,这些特征中的许多特征可独立于其他特征而提供。因此,对本发明的这种描述在不存在任何一般性损失并且未对本发明强加限制的情况下进行阐述。
52.在一个实施方案中,系统可使用被摄对象的输入照片、归一化数据和一个或多个被摄对象参数来自动地计算(例如,使用一个或多个基于ai的算法)体重预测值。本发明的实施方案既不需要专门的硬件相机、专门的体重秤,也完全不涉及任何专用硬件。相反,结合机器学习算法一起利用深度学习方法的先进的计算机视觉技术用于从由简单的移动装置相机提供的照片预测准确的体重,而不管被摄对象穿了什么。在本公开中,术语“2d手机相机”用于表示嵌入或连接到计算装置(诸如智能手机、平板计算机、膝上型计算机、台式计算机等等)的任何传统相机。
53.用于体重预测的深度学习网络和机器学习
54.图1示出了根据本发明的一个实施方案的利用深度学习网络(dln)和机器学习进行体重预测过程的说明图100。在步骤110处,利用具有普通2d相机的移动装置来获得人类被摄对象的一个或多个图像(例如,正视图图像112和侧视图图像113),并且接收一个或多个被摄对象参数。被摄对象参数可包括归一化数据(例如,人类的身高)或其他被摄对象参数并且在后续步骤131和170中进行论述。在步骤120处,从背景识别与人类相关联的一个或多个身体部分(特征),并且利用一个或多个深度学习网络(121、122)以对图像112和113中被摄对象可能穿着的衣物下的一个或多个身体部分(特征)进行标注。在一个实施方案中,利用在从背景识别人体特征(例如,身体部分)方面已经经过训练的一个或多个分割深度学习网络来执行从背景对人类进行的识别。另外,在一个实施方案中,利用已经针对每个身体特征进行训练的一个或多个标注深度学习网络针对每个身体部分生成标注关键点。这示出于图1中的标注正视图图像123和侧视图图像124中。在一个实施方案中,还将生成连接身体部分关键点的标注线,从而产生用线标注的正视图图像和侧视图图像。在步骤130中,将经分割和标注的身体部分与所接收的归一化数据(例如,被摄对象身高)131进行组合以便计算对一个或多个几何特征(例如,身体部分面积)的估计,其中归一化数据使得能够将来自像素坐标的测量值(例如,关键标注点之间的距离)转换为真实世界坐标。经分割和标注的身体部分130的生成以及与诸如被摄对象身高的归一化数据131一起用于估计身体测量值190的使用被描述于以下各项中:于2018年11月19日提交的相关申请美国序列号16/195,802,所述相关申请作为美国专利号10,321,728发布,于2019年6月18日发布,名为“systems and methods for full body measurements extraction”,所述专利自身要求于2018年4
月20日提交且名为“systems and methods for full body measurements extraction using a 2d phone camera”的美国序列号62/660,377的优先权,这两者特此都以引用的方式并入本文。
55.图1在步骤140、150和160中示出了三个可能的实施方案选项。在第一选项140中,几何特征是身体部分围度。根据此选项,从经标注的身体部分(特征)生成一个或多个身体部分的围度141。在一个实施方案中,一个或多个身体部分的围度至少使用正面标注图像123和侧面标注图像124来生成。在一些实施方案中,一个或多个身体部分的围度被组成单个身体部分围度特征向量141。在步骤142处,利用重量机器学习模块从一个或多个身体部分围度141和一个或多个被摄对象参数170(例如,被摄对象的身高、年龄、性别和/或种族)估计或预测人类被摄对象的体重。在一些实施方案中,将重量机器学习模块的包括一个或多个身体部分围度141和一个或多个被摄对象参数170的输入聚合为单个特征向量(未示出于图1中)。在一些实施方案中,重量机器学习模块142可包括一个或多个随机森林回归器。如下文更详细地所描述,其他机器学习方法也在重量机器学习模块的范围内。最终,在步骤180处,输出被摄对象的预测体重(例如,重量估计)。预测体重可在移动计算装置上向用户输出,或者用于移动计算装置或另一个服务器进程的其他下游目的。
56.根据第二选项150,几何特征是身体部分图像面积,其中从经标注的身体部分(特征)151生成一个或多个身体部分的面积。在一个实施方案中,一个或多个身体部分的面积至少使用正视图123和侧视图124标注关键点来生成。在一些实施方案中,一个或多个身体部分的图像面积被组成单个身体部分面积特征向量(未示出于图1中)。在一些实施方案中,身体面积特征向量包括来自不同身体姿态的全身面积(例如,基于经标注的正视图123和侧视图124图像的正面全身面积和侧面全身面积)。在另一个实施方案中,身体面积特征向量包括基于一个或多个标注图像的一个或多个身体部分面积(例如,基于经标注的正面图像123和侧面图像124的一个或多个身体部分图像面积)。在步骤152处,利用重量机器学习模块从一个或多个身体部分面积151和一个或多个被摄对象参数170(例如,被摄对象的身高、年龄、性别和/或种族)估计人类被摄对象的体重。在一些实施方案中,将重量机器学习模块的包括一个或多个身体部分面积151和一个或多个被摄对象参数170的输入聚合为单个特征向量(未示出于图1中)。重量机器学习模块152可包括一个或多个随机森林回归器。最终,在步骤180处,输出被摄对象的预测体重。
57.根据第三选项160,几何特征是身体部分体积,其中从经标注的身体部分161生成一个或多个身体部分的体积。在一个实施方案中,一个或多个身体部分的体积至少使用正视图123和侧视图124标注关键点来生成。在一些实施方案中,一个或多个身体部分的体积被组成单个身体体积特征向量(未示出于图1中)。在一些实施方案中,身体体积特征向量包括基于不同身体姿态(例如,经标注的正面图像123和侧面图像124)对全身体积的估计。在另一个实施方案中,身体体积特征向量包括基于一个或多个标注图像(例如,经标注的正面图像123和侧面图像124)的一个或多个身体部分体积。在步骤162处,利用重量机器学习模块从一个或多个身体部分体积161和一个或多个被摄对象参数170(例如,被摄对象的身高、年龄、性别和/或种族)估计被摄对象的体重。在一些实施方案中,将重量机器学习模块的包括一个或多个身体部分体积161和一个或多个被摄对象参数170的输入聚合为单个特征向量(未示出于图1中)。重量机器学习模块162可包括一个或多个随机森林回归器。最终,在步
骤180处,输出被摄对象的预测体重。
58.从经标注的被摄对象图像进行几何特征计算
59.在第一选项140的一些实施方案中,标注关键点(例如,经标注的正视图123和侧视图124身体部分)用于计算每个身体部分(身体特征)在真实世界坐标中的围度,诸如厘米(cm)、英寸(in)等等。例如,颈部特征的正视图和侧视图标注关键点之间的距离可使用来以厘米计算颈部围度。所计算的围度被用于生成围度特征向量141。在一个实施方案中,髋部和颈部围度用于围度特征向量。在另一个实施方案中,腿部和臂部围度以与髋部和/或颈部围度的任何组合使用来生成围度特征向量。在又一个实施方案中,如本领域普通技术人员将认识到的,其他身体部分围度以各种子组合使用来生成围度特征向量。在一些实施方案中,身体部分围度可包括至少一个身体部分的多个身体部分围度。例如,可利用沿着身体部分(臂部、大腿和腿部等)的长度取得的多于两个或更多个的围度。在再一些其他实施方案中,一个或多个身体部分长度(诸如臂部、腿部或躯干长度)可连同一个或多个身体部分围度一起利用来生成被摄对象特征向量。
60.类似地,在第二选项150的一些实施方案中,标注关键点(例如,经标注的正视图123和侧视图124身体部分)用于计算每个身体部分(身体特征)在真实世界坐标中的图像面积,诸如平方厘米(cm2)、平方英寸(in2)等等。例如,各个身体部分(例如,颈部、腰部、腕部、大腿、脚部等)的正视图标注关键点123之间的距离可使用来以cm2计算正视图身体图像面积。在另一个实施方案中,各个身体部分(例如,颈部、腰部、腕部、大腿、脚部等)的正视图标注关键点123可使用来以cm2计算每个身体部分的图像面积。所计算的图像面积被用于生成图像面积特征向量151。在一个实施方案中,正视图和侧视图全身图像面积用于图像面积特征向量。在另一个实施方案中,正视图躯干、腿部和臂部身体部分图像面积以与正视图和/或侧视图全身图像面积的任何组合使用来生成图像面积特征向量。在又一个实施方案中,如本领域普通技术人员将认识到的,其他身体部分图像面积以各种子组合使用来生成图像面积特征向量。
61.另外,在第三选项160的一些实施方案中,标注关键点(例如,经标注的正视图123和侧视图124身体部分)用于计算或估计每个身体部分(身体特征)在真实世界坐标中的体积,诸如立方厘米(cm3)、立方英寸(in3)等等。例如,各个身体部分(例如,颈部、腰部、腕部、大腿、脚部等)的正视图123和侧视图124标注关键点之间的距离可使用来以cm3计算身体体积。在另一个实施方案中,各个身体部分(例如,颈部、腰部、腕部、大腿、脚部等)的正视图123和侧视图124标注关键点可使用来以cm3计算每个身体部分的体积。所计算的体积被用于生成身体体积特征向量161。在一个实施方案中,全身体积用于体积特征向量。在另一个实施方案中,躯干、腿部和臂部身体部分体积以与全身体积的任何组合使用来生成体积特征向量。在又一个实施方案中,如本领域普通技术人员将认识到的,其他身体部分体积以各种子组合使用来生成体积特征向量。
62.图2示出了根据本发明的另一个实施方案的使用深度学习网络(dln)和机器学习进行体重预测的过程的示例流程图200。在步骤201处,所述过程包括从计算装置接收一个或多个图像,所述图像包含人类被摄对象和背景。在步骤202处,所述过程包括接收归一化数据(例如,被摄对象身高)。如先前所论述,归一化数据还可包括图像中已知大小的参考对象、来自深度传感器的深度数据等等。任选地,在步骤203处,所述过程包括从计算装置接收
一个或多个被摄对象参数(例如,年龄、性别、种族等)。任选地,在步骤204处,所述过程包括例如通过利用分割深度学习网络来识别与人类相关联的一个或多个身体特征(例如,身体部分),所述分割深度学习网络被用于从背景中分割身体部分。在图2中,任选的步骤203和204由虚线框表示。在步骤205处,所述过程包括利用已经针对每个身体特征进行训练的一个或多个标注深度学习网络通过与关键身体特征位置相对应的标注点来标注一个或多个身体特征。在不存在任选的步骤204的情况下,步骤205作为标注步骤的一部分自动地执行对一个或多个身体特征(例如,身体部分)的识别,而不用首先将身体部分从背景中分离。然后将来自步骤205的经标注的身体部分与来自步骤202的所接收的归一化数据进行组合,以便计算或估计一个或多个几何特征(例如,身体部分围度、面积或体积)。图2以选项210(身体部分围度)、220(身体部分面积)和230(身体部分体积)示出了三个可能的实施方案选项。这些选项类似于图1所示的选项140、150和160。
63.在第一选项210中,几何特征是身体部分围度。根据此选项,在步骤211处,所述过程包括从经标注的身体部分和归一化数据生成或估计一个或多个身体部分围度(以从像素坐标转换为真实世界坐标)。在一些实施方案中,步骤211包括使用经标注的身体部分和被摄对象的身高来估计身体部分围度。在一些实施方案中,身体部分围度被组成一个围度特征向量141。在步骤212中,将重量机器学习模块的包括一个或多个身体部分围度和一个或多个被摄对象参数的输入聚合为单个被摄对象特征向量。在再一些其他实施方案中,一个或多个身体部分长度(诸如臂部、腿部或躯干长度)可连同一个或多个身体部分围度一起利用来生成被摄对象特征向量。在步骤213处,所述过程包括利用重量机器学习模块基于被摄对象特征向量而估计或预测被摄对象的体重,所述重量机器学习模块已经针对身体部分围度/长度地面实况数据(例如,数据示出了针对给定的被摄对象参数(诸如年龄、性别、种族等等)的在身体部分围度/长度与体重之间的关联)进行了训练。最终,在步骤240处,所述过程输出被摄对象的预测体重以供下游使用。
64.在第二选项220中,一个或多个几何特征是身体图像面积或身体部分图像面积。根据此选项,在步骤221处,所述过程包括从经标注的身体部分和归一化数据生成或估计一个或多个身体部分图像面积。在一些实施方案中,步骤221包括使用经标注的身体部分和人类的身高来估计全身图像面积或一个或多个身体部分图像面积。在一些实施方案中,如上文在图1的上下文中所论述,身体部分图像面积被组成单个身体图像面积向量。在步骤222中,将重量机器学习模块的包括一个或多个身体部分图像面积和一个或多个被摄对象参数的输入聚合为单个被摄对象特征向量。在步骤223处,所述过程包括利用重量机器学习模块基于被摄对象特征向量而估计被摄对象的体重,所述重量机器学习模块已经针对身体面积地面实况数据(例如,数据示出了针对给定的被摄对象参数(诸如年龄、性别、种族等等)的在身体(部分)面积与体重之间的关联)进行了训练。最终,在步骤240处,所述过程输出被摄对象的预测体重。
65.在第三选项230中,一个或多个几何特征是身体体积或者一个或多个身体部分体积。根据此选项,在步骤231处,所述过程包括从经标注的身体部分和归一化数据生成或估计一个或多个身体部分体积。在一些实施方案中,步骤231包括使用经标注的身体部分和人类的身高来估计全身体积或一个或多个身体部分体积。在一些实施方案中,如上文在图1的上下文中所论述,身体部分体积被组成单个身体体积特征向量。在步骤232中,将重量机器
学习模块的包括一个或多个身体部分体积和一个或多个被摄对象参数的输入聚合为单个被摄对象特征向量。在步骤233处,所述过程包括利用重量机器学习模块基于被摄对象特征向量而估计被摄对象的体重,所述重量机器学习模块已经针对身体体积地面实况数据(例如,数据示出了针对给定的被摄对象参数(诸如年龄、性别、种族等等)的在身体(部分)体积与体重之间的关联)进行了训练。最终,在步骤240处,所述过程输出被摄对象的预测体重。
66.可了解到,从标注关键点计算的几何特征350不限于身体部分围度、身体部分图像面积和身体部分体积,并且可包括可通过分析所接收的2d图像测量的任何几何量。例如,在一个额外选项中(未示出于图1至图3中),几何特征可包括在真实世界坐标中从由所接收的照片生成的标注关键点测量的身体部分长度。这些身体部分长度随后可被包括在被摄对象特征向量中,所述被摄对象特征向量包括被摄对象的几何特征。
67.可了解到,几何特征可单独地或以任何组合进行使用。例如,身体部分围度和身体部分长度两者可一起用于生成被摄对象特征向量。在另一个实例中,身体部分围度、身体部分长度和身体部分图像面积都可一起使用来生成被摄对象特征向量。在又一个实例中,身体部分体积可单独地或与任何或所有其他几何特征组合地使用。
68.被摄对象图像/照片
69.在步骤201处,可从用户装置(诸如移动计算装置、膝上型计算机、平板计算机、独立相机等等)接收一个或多个被摄对象图像或照片。例如,可至少接收被摄对象的一个或多个正视图和/或侧视图照片。在一个实施方案中,可从装置(例如,移动电话、膝上型计算机、平板计算机等)获得照片。在另一个实施方案中,可从数据库(例如,社交媒体数据库)获得照片。在另一个实施方案中,被摄对象照片包括示出被摄对象的全身的正视图的照片,以及示出所述全身的侧视图的照片。在一些实施方案中,仅利用诸如正视图的一张照片,并且一张照片就足以执行准确的体重预测。在再一些其他实施方案中,利用三张或更多张照片,在一些实施方案中包括正视图照片、侧视图照片以及以近似45度角拍摄的照片。如本领域普通技术人员将认识到的,被摄对象照片的其他组合也在本发明的范围内。在一些实施方案中,可接收被摄对象视频,例如包括被摄对象的正视图、90度、180度或甚至360度视图。相对于被摄对象视频,从所述视频中提取一个或多个静止帧或照片,诸如被摄对象的正视图、侧视图和/或45度视图并且将所述静止帧或照片用于以下的过程中。
70.在一个实施方案中,可在指定距离处(例如,远离计算装置的相机近似10英尺处)拍摄图像。在另一个实施方案中,可拍摄给定位置的多个图像(例如,正视图照片和侧视图照片)并且可针对每个位置确定平均图像。这可被执行来提高准确性。在另一个实施方案中,对被摄对象可能会定位在特定类型的背景(例如,中性色,或具有预定背景图像)下。在一些实施方案中,对被摄对象可定位在任何类型的背景下。在一个实施方案中,可在类似的照明条件(例如,给定亮度、阴影等等)下拍摄正视图照片和侧视图照片。
71.在一个实施方案中,可对具有特定姿态(例如,臂部处于预定位置,腿部伸展为与肩部同宽,背部挺直等)的被摄对象拍摄图像。在一个实施方案中,输入图像示出摆出双手呈45度姿态(“a姿态”)的被摄对象。尽管在一些实施方案中可使用诸如“a姿态”的特定用户姿态,但是本领域普通技术人员将理解,包括“a姿态”、手放在一侧、或任何其他姿态的任何姿态都在本发明的范围内。最优姿态会清楚地显示腿部和臂部与身体分开。本发明的一个优点是被摄对象可在任何类型的背景下以几乎任何合理的姿态站立。被摄对象不需要站立
在空白背景下,或者为了在何处拍摄照片而作出特殊安排。
72.在一个实施方案中,为了更准确的结果,被摄对象可指示该被摄对象是身着紧身、正常还是宽松的衣物。在一个实施方案中,正视图照片和侧视图照片可包括穿着正常合身衣物(例如,不会过于宽松或过于紧身)的被摄对象的图像。可选地或另外地,正视图照片和侧视图照片可包括部分穿着衣服(例如,无上装),或根据实施方案具有不同类型合身度(例如,紧身、宽松等)的被摄对象的图像。
73.图3示出了根据本发明的另一个实施方案的使用深度学习网络(dln)和机器学习进行体重预测的详细流程图300。体重预测过程的输入包括正面照片310、侧面照片320、被摄对象身高330以及其他被摄对象参数(例如,被摄对象重量估计、年龄、性别、种族等)340。在步骤311中对正面照片310进行预处理,而在步骤321中对侧面照片320进行预处理。下文论述了诸如透视校正、人类裁剪、图像大小调整的预处理步骤的实例。在步骤312处,将预处理后的正面照片用作dln 1(相对于图4更详细地描述)的输入以对正面照片310提取标注关键点。在步骤322处,将预处理后的侧面照片用作dln 2的输入以类似地对侧面照片320提取标注关键点。从dln 1输出来自正视图的每个身体部分的标注关键点313,并且从dln 2输出来自侧视图的每个身体部分的标注关键点323。在步骤350处,将来自正面照片310和侧面照片320的两组标注关键点连同归一化数据(例如,身高)331一起利用来计算相对于图1和图2论述的几何特征(例如,身体部分围度、面积和/或体积)。在步骤360处,将几何特征连同身高和其他被摄对象参数341一起用于机器学习算法,诸如随机森林中(相对于图5更详细地描述)以预测一个或多个被摄对象体重估计。最终,在步骤370处,输出预测体重。
74.被摄对象参数
75.在一些实施方案中,被摄对象参数中的一者或多者用作重量机器学习模块的输入。例如,如普通技术人员将认识到的,身高、年龄、性别、种族、运动能力和其他被摄对象参数可用作重量机器学习模块的输入。特别地且根据一个实施方案,被摄对象自身对其自身重量的最佳“粗略估计”也可作为被摄对象参数用作重量机器学习模块的输入。作为一个说明性实例,被摄对象的性别可作为一个被摄对象参数用作重量机器学习模块的输入。例如,女性可能有更多脂肪分布在身体内,并且因此可具有不同于男性的密度,并且因而,人类被摄对象的性别可为用于重量机器学习模块的输入的一个有用的参数。如本领域普通技术人员将认识到的,类似地在本发明的范围内有许多其他被摄对象参数将作为重量机器学习模块的输入。重量机器学习模块可能会发现先前未辨别的用户参数在用户参数与体重之间的关联方面很重要。
76.可从用户接收被摄对象参数(例如,身高、重量、人口统计资料、运动能力等等),和/或可通过移动计算装置上的相机自动生成参数。在各个方面,被摄对象参数可自动地确定(例如,使用计算机视觉算法或者从一个或多个数据库挖掘),或从用户接收(例如,用户输入)。
77.在各种实施方案中,步骤201(接收输入图像)、步骤202(接收归一化数据)和步骤203(接收被摄对象参数)在本发明的各种实施方案中可以任何次序执行,或者可并行地实现所述步骤。在一些实施方案中,归一化数据是被摄对象参数的一者(例如,被摄对象身高),因此可将步骤202和203有效地进行组合。
78.在另一个实施方案中,可接收所接收的被摄对象重量估计并且将其与身高结合使
用。这两个被摄对象参数可自动地确定或估计(例如,使用计算机视觉算法或者从一个或多个数据库挖掘),或从用户接收(例如,用户输入)。在一个实施方案中,根据这些被摄对象参数,可计算身高体重指数(bmi)。bmi可用于提高使用所接收的被摄对象重量估计和身高两者进行的体重预测的准确性。
79.因此,被摄对象参数可包括以下各项中的一者或多者:身高、所接收的被摄对象重量估计、性别、年龄、种族、原住地、运动能力和/或与被摄对象相关联的其他人口统计信息等等。被摄对象参数(诸如身高、所接收的被摄对象重量、bmi指数、年龄、性别等等)用于为体重预测生成特征向量。在各种实施方案中,可自动地从装置、一个或多个第三方数据源、或服务器获得被摄对象参数。
80.归一化数据和被摄对象身高
81.在本发明的各种实施方案中,归一化数据(131、202)可包括被摄对象参数中的一者,诸如被摄对象身高330。获得、生成和/或测量归一化数据是为了执行从像素坐标到真实世界坐标的归一化或缩放。
82.在一个实施方案中,被摄对象身高用于对正视图照片和/或侧视图照片进行归一化或缩放,并且为照片中的被摄对象提供参考尺度。在一个实施方案中,从由移动计算装置执行的测量中接收被摄对象身高。在一个实施方案中,从在先测量、在先用户输入和/或数据库查询中了解被摄对象身高。在一个实施方案中,被摄对象身高由移动计算装置在增强现实(ar)中使用利用了位置指导的身高测量过程来测量,如在2020年1月13日提交且名为“methods and systems for height estimation from a 2d image using augmented reality”的相关美国序列号16/741,620中所描述,所述文献以引用的方式并入本文。
83.在一个实施方案中,所述系统可将所接收的被摄对象身高用作输入来确定几何特征以将图像数据从像素坐标归一化为真实世界坐标(例如,厘米)。为了达到这一点,在一个实施方案中,标注dln绘制“全身”标注线,其中两个标注点指示被摄对象的身高的位置,其中一个点表示被摄对象的脚底并且另一个点表示被摄对象的头顶。这种“全身”标注线用于通过步骤131、202或330中提供的被摄对象的已知身高来将标注关键点之间的距离归一化。换句话说,检测图像中被摄对象的身高并且连同所接收的实际身高一起使用来将所有标注关键点测量归一化。此过程可被认为是使用被摄对象的已知身高作为标准测量值以进行归一化的“身高参考归一化”。一旦执行了归一化,就可从输入图像中的身体部分的像素距离(围度和长度)以及像素面积计算、预测或估计身体部分的真实世界距离(围度和长度)、面积以及体积。
84.在又一个实施方案中,归一化数据可为由深度传感器映射到输入图像上的真实世界坐标。深度传感器数据因此可用于将被摄对象的已知位置从像素坐标转换为真实世界坐标。深度传感器提供z坐标数据(其中z轴线远离相机),这可用于将距被摄对象的距离从像素坐标归一化为真实世界坐标。这以与身高参考归一化类似的方式执行。
85.在又一个实施方案中,归一化数据可为用作尺度参考的具有已知大小的对象,诸如信函或a4纸张、信用卡等等。在准备捕获被摄对象的图像的过程中,将矩形参考对象(例如,8.5x11纸张或信用卡)放置在被摄对象上或非常接近于所述被摄对象处。可经由不同的方法确定(明确或自动地确定)参考矩形的大小和纵横比。在一个实施方案中,用户可识别所使用的参考矩形,诸如a4或8.5x11纸、3x5便笺卡、或iso/iec标准尺寸信用卡。然后,矩形
评分算法可找出明确识别的矩形。也就是说,从像素坐标缩放到真实世界坐标的归一化数据可从用户接收参考矩形的尺寸。在另一个实施方案中,所述过程可在与普通文档大小的数据存储比较时基于捕获图像的特性而自动地确定参考矩形的大小。可找出图片中的多个矩形,可选择一个矩形,并且从一系列允许的尺寸和纵横比中推导出矩形的尺寸。可选地,大小和圆角以及参考矩形上的任何文本或标识都可指示该矩形是信用卡,并且从已知的信用卡大小中推导出大小。在另一个实施方案中,用户可能需要从可用作参考矩形的所供应的一系列常见物品,诸如信用卡、美元钞票或标准大小纸张中进行选择。
86.被摄对象图像的预处理
87.在一些实施方案中,在需要时可对被摄对象照片执行关于被摄对象的一张或多张照片的诸如透视校正的预处理。例如,所述系统可使用opencv,即开源机器视觉库,并且可将正视图照片和侧视图照片中头部的特征和被摄对象的身高用作透视校正的参考。以此方式,本发明的实施方案可更准确地确定标注关键点。任选地,示出相对于被拍照的个人,相机定位在何处的透视侧面照片可通过允许所述系统计算相机与被摄对象之间的距离而产生甚至更准确的透视校正。在一些实施方案中,所述系统可替代地使用由装置(或连接到装置的外围装置,诸如所附接的计算装置)提供的陀螺仪数据来检测照片透视角度,并且基于此照片透视角度而执行透视校正。
88.在一些实施方案中,可对被摄对象的一张或多张照片执行一个或多个额外的预处理步骤(未示出于图1至图3中)。可利用各种计算机视觉技术来对一个或多个图像进行进一步预处理。预处理步骤的其他实例可包括对比度、照明效果和其他图像处理技术以在进一步处理之后提高一个或多个图像的品质。
89.分割深度学习网络(dln)
90.在本发明的一些实施方案中,将计算机视觉技术和深度学习应用于被摄对象的正视图照片和侧视图照片,加上被摄对象的身高,以使用一个或多个深度学习网络来检测在衣物下的被摄对象的身体的关键点,所述深度学习网络已经针对来自数千样本被摄对象的图像以及被摄对象在衣物下的身体轮廓进行了训练。关键点标注与被摄对象的身高一起使用来在真实世界坐标中生成被摄对象的一个或多个几何特征测量值。几何特征测量值与身高以及可能其他被摄对象参数(诸如性别、年龄、种族等)一起用于使用一个或多个机器学习模块来预测被摄对象的体重,所述机器学习模块已经针对样本被摄对象的地面实况重量数据进行了训练。由于所述系统收集到更多数据,因此自动地提高了预测体重的准确性。
91.如上文所描述,几何特征测量值(即一个或多个身体部分的长度、围度、面积和/或体积)用作重量机器学习模块的输入以预测被摄对象的体重。在一些实施方案中,使用一个或多个深度学习网络来执行背景中的身体特征分割以及用于几何特征测量的身体特征关键点标注。因此,现将详细地描述用于关键点标注以检测在衣物下的被摄对象的身体的分割和标注深度学习网络。
92.在步骤204和706处,可使用第一深度学习网络(dln)(被称为分割dln)来从图像中分割诸如被摄对象的身体部分(例如,颈部、臂部、腿部等)的身体特征。在一个实施方案中,“深度学习”可指代使用多层非线性处理单元的级联以模仿神经网络进行特征提取和变换的一类机器学习算法。在一个实施方案中,后续层可将来自前一个层的输出用作输入。在一个实施方案中,“深度学习”中的“深度”可指代变换数据所利用的层的数量。下文参考图4解
释了身体特征分割dln的实例。
93.在对来自真实用户的数据执行这个分割步骤之前,首先可能已经例如针对在不同环境中穿着不同衣物在不同背景下摆出例如双手呈45度姿态(“a姿态”)的人类的样本照片训练了所述系统。在一个实施方案中,分割dln算法可用分割训练数据进行训练。在一些实施方案中,分割训练数据可包括关于人类的具有分割的身体特征的数千张样本照片。从照片的背景中对样本照片分割身体特征。
94.在一些实施方案中,训练数据包括例如来自cat扫描、mri扫描等等的医学数据。在一些实施方案中,训练数据包括来自先前的3d身体测量的数据,所述身体测量包括来自3d身体扫描仪的3d身体扫描。在一些实施方案中,在无法明确获得正视图照片和侧视图照片的情况下,3d身体扫描可用于提取粗略的正视图照片和/或侧视图照片。在一些实施方案中,地面实况数据包括来自3d身体扫描的数据。在一些实施方案中,可利用来自“sizeusa”数据集的3d身体扫描数据,这是针对约10,000名人类被摄对象(男性与女性两者)获得的3d身体扫描的商用样本。在其他实施方案中,可利用来自“caesar”数据集的3d身体扫描数据,这是针对约4,000名人类被摄对象获得的3d身体扫描的另一个商用样本,并且还包括地面实况数据。在再一些其他实施方案中,利用本发明的组织可捕获其自身的正面照片和侧面照片,以及合适的地面实况数据来训练分割dln。
95.在本发明的一个实施方案中,可使用步骤204和706中生成的分割图来从人类的其余部分和背景中分割、分离或裁剪所识别的身体部分。裁剪可为实际或虚拟裁剪。可从图像的其余部分中裁剪、分割或分离图像的与每个识别的身体部分相对应的部分,并且将图像的所述部分转到标注步骤(205和708)。通过从图像的其余部分中裁剪或分离所识别的身体部分,标注步骤(205和708)中所使用的dln可特别地或单独地针对每个单独的身体部分进行训练,从而提高准确性和可靠性两者。
96.标注深度学习网络(dln)
97.在步骤205处,可使用一个或多个深度学习网络(dln)(被称为标注dln)来绘制在步骤204处识别的每个身体部分的标注关键点以检测被摄对象在衣物下的身体形态。在一个实施方案中,对于全身存在一个标注dln。在另一个实施方案中,对于每个身体部分都存在单独的标注dln。对每个身体部分使用单独的标注dln的优点是提高了身体部分标注的准确性和可靠性。每个身体部分标注dln可单独地针对每个身体部分的单独且唯一的数据进行训练。关于每个身体部分的数据的独特性提高了dln的准确性和可靠性,并且还提高了神经网络训练的收敛速度。下文参考图4解释了身体特征关键点标注dln的实例。
98.在一个实施方案中,标注dln从获自身体特征的信号识别标注关键点。标注关键点对于每个身体特征来说可能是不同的并且可不同地绘制。例如,对于二头肌宽度或围度而言,所述系统可在二头肌位置处绘制垂直于骨骼线的线并且将该条线的端部标注为标注关键点;对于胸部而言,所述系统可替代地标注两个胸部点。根据对每个身体特征的标注,如本文所描述,之后可通过针对步骤131、202或330中接收的被摄对象的身高进行归一化来获得身体特征测量。
99.在对来自真实被摄对象的数据执行这个标注步骤之前,如下文进一步所描述,首先可能已经例如针对在不同环境中穿着不同衣物摆出例如双手呈45度姿态(“a姿态”)的人类的样本照片训练了所述系统。对样本照片识别在衣物下的被摄对象的身体特征和关键点
标注。
100.说明性深度学习网络(dln)模块架构
101.对于本发明中使用的深度学习网络(dln),可使用任何合适的深度学习架构,诸如深度神经网络、深度信念网络和/或递归神经网络。在一些实施方案中,深度学习算法可以监督(例如,分类)和/或非监督(例如,模式分析)方式进行学习。另外,深度学习算法可学习与图像中编码的信息的不同抽象层级(例如,全身、身体部分等)相对应的多个表示层级。在一些实施方案中,图像(例如,正面照片和侧面照片)可表示为像素矩阵。在dln的一个实施方案中,dln的第一表示层可将像素抽象化并且编码边缘;第二层可构思并编码边缘排列;第三层可编码鼻子和眼睛;并且第四层可辨别出图像包含面部或其他身体特征等等。
102.图4示出了根据本发明的一个实施方案的用于身体部分分割和标注的详细流程图400。在一个实施方案中,如上文所描述,使用利用了训练数据的深度学习网络(dln)来完成身体部分分割和标注。在一个实施方案中,结合金字塔场景解析网络(pspnet)一起使用卷积神经网络(cnn)来执行身体部分分割和标注以完善全局和局部上下文信息。在pspnet中,所述过程可利用来自不同大小区域的通过“金字塔池化模块”聚合的全局和局部上下文信息。如图4所示,首先使至少一个输入图像401通过卷积神经网络(cnn)402以获得特征图403,所述特征图将每个像素分类或分割为给定的身体部分和/或标注点。接着,利用金字塔池化模块404从特征图中提取全局和局部上下文信息,所述金字塔池化模块在不同的大小尺度上从图像聚合信息。最终,使数据通过最终卷积层405以将每个像素分类为身体部分片段和/或标注关键点406。
103.更详细地,根据输入图像401,首先使用cnn 402来获得特征图403,之后使用金字塔池化模块404来提取不同的子区域的特征;接着是上采样层和拼接层(concatenation layer)以形成最终的特征表示,所述最终的特征表示携带局部上下文信息和全局上下文信息两者。最终,将特征表示馈送到最终卷积层405以获得最终的逐象素预测。在图4所示的实例中,金字塔池化模块404在四个不同的尺度下组合特征。最大尺度是全局尺度。后续层级将特征图分离为不同的子区域。金字塔池化模块404中不同层级的输出包括在不同尺度下的特征图。在一个实施方案中,为了维持全局特征的权重,可在每个金字塔层级之后使用卷积层来降低上下文表示的维度。接着,对低维度特征图进行上采样以取得与原始特征图相同大小的特征。最终,将不同的特征层级与原始特征图403拼接以进行金字塔池化模块404输出。在一个实施方案中,通过使用四层级金字塔,如所示,池化窗口覆盖原始图像401的整个、一半和较小部分。
104.在一个实施方案中,pspnet算法是如以下项中所描述的实现方式:hengshuang zhao等人的可获自arxiv:1612.01105的2016年12月4日的“pyramid scene parsing network,”cvpr 2017,所述文献以引用的方式整体并入本文,如同在本文中全面阐述一样。pspnet仅是本发明的范围内的一种说明性深度学习网络算法,并且本发明不限于pspnet的使用。其他深度学习算法也在本发明的范围内。例如,在本发明的一个实施方案中,利用卷积神经网络(cnn)来识别身体片段(分割),并且使用单独的cnn来标注每个身体片段(标注)。
105.说明性机器学习(ml)模块架构
106.一旦计算出几何特征(例如,图1中的步骤141、151、161),就可使用一个或多个重
量机器学习(ml)算法来进行体重预测。在一个实施方案中,重量ml算法包括随机森林机器学习模块。在一些实施方案中,对于全身存在一个重量ml模块。在一个实施方案中,对于每个身体部分都存在单独的重量ml模块,其中预测体重是预测的身体部分重量的总和。例如,在图1和图2的第三选项(步骤160和230)中,单独的ml模块可基于包括给定身体部分的面积或体积以及一个或多个被摄对象参数的身体部分特征向量而预测所述身体部分的重量。最终,预测体重是所有被摄对象的身体部分的预测重量的总和。
107.图5示出了根据本发明的一个实施方案的由机器学习(ml)模块从一个或多个被摄对象特征向量501进行体重预测502的说明图500,所述被摄对象特征向量包括从深度学习网络(dln)获得的几何特征。图5示出了作为输入特征向量501的被摄对象的几何特征(例如,身体部分围度、面积和/或体积)以及被摄对象参数(例如,身高、年龄、性别等)。也就是说,ml模块的输入是被摄对象特征向量501,所述被摄对象特征向量可包括例如从深度学习网络获得的身体部分的围度、面积和/或体积,身高以及如在例如图1至图2的选项1(步骤140和210)中所描述的其他被摄对象参数。ml模块的输出是预测体重502。
108.在图5示意性所示的一个实施方案中,ml模块使用随机森林算法,这是一种说明性机器学习算法。随机森林算法使用多个决策树预测器,使得每个决策树依赖于训练数据的随机子集的值,这最小化了过度拟合的几率。在一个实施方案中,随机森林算法是如以下项中所描述的实现方式:leo breiman的可获自doi.org/10.1023/a:1010933404324的“random forests,”machine learning,45,5

32,2001,kluwer academic publishers,netherlands,所述文献以引用的方式整体并入本文,如同在本文中全面阐述一样。随机森林算法仅是本发明的范围内的一种说明性机器学习算法,并且本发明不限于随机森林算法的使用。
109.可了解到,作为说明而非限制,在以上实例中,随机森林被选择为重量ml模块算法,并且根据本文所公开的实例,可对重量ml模块实现其他ml算法,诸如但不限于:其他线性和非线性回归器,诸如k均值聚类和支持向量机(svm)。在一些实施方案中也可利用简单的线性回归器,诸如相关系数。相关系数可针对给定性别、年龄等等简单地将体重与身体体积关联起来。其他机器学习算法(包括但不限于:最近邻、决策树、支持向量机(svm)、adaboost、包括深度学习网络的各种神经网络、进化算法等等)也在本发明用于实现重量ml模块的范围内。其他示例性机器学习算法包括但不限于:专家系统、模糊逻辑、数据融合引擎、朴素贝叶斯、贝叶斯信念网络、模糊逻辑模型、概率分类模型和/或统计回归模型。
110.在本发明的实施方案中,针对地面实况数据训练重量ml模块,所述地面实况数据包括一个或多个样本被摄对象的一个或多个样本体重和一个或多个样本特征向量。例如,在第一选项(图1和图2中的步骤140和210)的实施方案中,针对地面实况数据训练重量ml模块,所述地面实况数据包括一个或多个样本体重和一个或多个样本特征向量,其中样本特征向量包括一个或多个被摄对象参数和一个或多个身体部分围度。类似地,在第二选项(图1和图2中的步骤150和220)的实施方案中,针对地面实况数据训练重量ml模块,所述地面实况数据包括一个或多个样本体重和一个或多个样本特征向量,其中样本特征向量包括一个或多个被摄对象参数和一个或多个身体部分图像面积。此外,在第三选项(图1和图2中的步骤160和230)的实施方案中,针对地面实况数据训练重量ml模块,所述地面实况数据包括一个或多个样本体重和一个或多个样本特征向量,其中样本特征向量包括一个或多个被摄对
象参数和一个或多个身体部分体积。
111.可了解到,第一选项(图1至图2中的步骤140和210)产生最简单的ml模块实现方式,因为围度计算涉及更简单的运算。然而,相关联的ml模块可能会不太准确,因为身体部分围度训练数据并没有提供像身体部分面积或体积一样多的信息。另一方面,第三选项(图1至图2中的步骤160和230)可能需要被摄对象照片和附带的3d身体扫描作为训练数据,而且需要样本体重和其他被摄对象参数。这个选项需要更复杂的训练数据,并且需要更复杂的运算,诸如将2d图像中的关键点标注转换为3d身体部分体积估计,但是可能会带来最准确的体重预测。第二选项(图1至图2中的150和220)可被视为是可能要求适度的处理复杂性并且产生足够准确的结果的折衷选项。
112.训练深度学习网络(dln)和机器学习(ml)模块
113.诸如由以上的深度学习组件使用的任何机器学习方法的起点是包含系统输入和正确结果(例如,训练数据)的多个实例的记录的数据集。此数据集可使用本领域已知的方法来使用,包括但不限于:归一化机器学习方法,诸如参数分类方法、非参数方法、决策树学习、神经网络、将归纳学习与分析学习两者组合的方法、以及训练机器学习系统而且评估并优化被训练系统的性能的建模方法,诸如回归模型。机器学习系统的输出的品质取决于(a)模式参数化,(b)机器学习设计,以及(c)训练数据库的品质。
114.现将根据示例实施方案详细地描述对在生成体重预测中利用的分割dln、标注dln和重量ml模块进行训练。训练算法接收一张或多张照片。例如,可接收给定被摄对象的正视图照片和侧视图照片。在另一个实施方案中,可从装置(例如,移动电话、膝上型计算机、平板计算机等)获得照片。在另一个实施方案中,可从数据库(例如,社交媒体数据库)获得照片。在一些实施方案中,在需要时可对正视图和侧视图照片执行诸如透视校正的一个或多个预处理步骤。可利用其他预处理步骤,诸如对比度、照明效果、或其他图像处理技术来对所接收的图像进行预处理以便有助于以下步骤。
115.在接收到照片之后,标注器可从背景中分割身体特征,诸如身体部分。在一个实施方案中,为方便起见,可对身体部分进行颜色编码。特别地,可由人类执行身体分割以从照片的背景中提取被摄对象。例如,标注器可用于视觉地编辑(例如,描画踪迹和颜色编码)照片,并且指示哪些身体部分与照片的哪些部分相对应以从背景中提取被摄对象。在一个实施方案中,照片可包括在不同环境中穿着不同衣物摆出双手呈45度姿态(“a姿态”)的被摄对象。如所提及,可由人类标注器从背景中绘制准确的身体轮廓。身体轮廓可在任何合适的软件平台上绘制,并且为了便于标注可使用外围装置(例如,智能笔)。另外,此类分割图像的至少一部分可用作可馈送到深度学习网络的训练数据。在一个实施方案中,利用分割图像来训练图2的步骤204中所使用的分割dln。
116.标注器之后可为衣物下的每个身体特征绘制估计的标注关键点。如所提及,可由标注器绘制准确的标注关键点,从而估计衣物下的身体。标注关键点可在任何合适的软件平台上绘制,并且为了便于标注可使用外围装置(例如,智能笔)。另外,此类标注图像的至少一部分可用作可馈送到深度学习网络的训练数据。在一个实施方案中,利用关键点标注来训练图2的步骤205中所使用的标注dln。
117.在一些实施方案中,深度学习网络的训练可使用像以下项中所描述那样生成的合成地生成的训练数据来执行:于2019年7月19日提交的相关申请美国序列号16/517,391,所
述相关申请作为美国专利号10,489,683发布,于2019年11月26日发布,名为“methods and systems for automatic generation of massive training data sets from 3d models for training deep learning networks”,所述专利自身要求于2018年12月17日提交的名为“systems and methods for generating massive training data sets for training deep learning networks for body measurements”的美国序列号62/780,737的优先权,所述专利的全部公开内容特此以引用的方式并入本文。在此实施方案中,用于从背景中进行身体分割以及对衣物下的身体进行关键点标注的训练数据使用从真实3d身体扫描模型中提取的合成2d图像来生成。
118.在其他实施方案中,深度学习网络的训练可使用像以下项中所描述那样生成的训练数据来执行:于2019年11月26日提交的名为“methods and systems for generating 3d datasets to train deep learning networks for measurements estimation”的相关申请美国序列号16/697,146,所述申请的全部公开内容特此以引用的方式并入本文。在此实施方案中,用于从背景中进行身体分割以及对衣物下的身体进行关键点标注的训练数据使用被摄对象的已经与同一被摄对象的3d身体扫描模型匹配的2d图像来生成。
119.最终,可接收每个被摄对象的实际体重测量值(例如,如由秤所确定)以用作地面实况数据。实际体重测量值可用作验证数据并且用于训练由所述系统使用的算法。例如,可在最小化与机器学习算法相关联的误差函数或损失函数(均方误差、似然损失、对数损失、铰链损失等)时使用实际体重测量值。
120.然后可训练一个或多个重量ml模块。在一个实施方案中,可使用所接收的重量测量值来训练重量ml模块。例如,重量ml模块可用标记数据(例如,被摄对象特征向量以及从秤或数据库接收的相关联的实际重量测量数据)进行呈现,并且可基于重量ml模块的结果和实际接收的重量测量值而确定误差函数(例如,如上文所论述,从损失函数确定)。可训练重量ml模块来减小误差函数的幅值。
121.在另一个实施方案中,可特别地训练一个或多个重量ml模块以从特定几何特征,例如特定身体部分(诸如臂部、腿部或颈部)的围度、面积或体积中提取重量测量值。在另一个实施方案中,可特别地训练单个重量ml模块以从一组身体几何特征中提取全身体重测量值。在另一个实施方案中,可将不同的训练数据集用于不同的重量ml模块,每个重量ml模块与不同的特征向量(例如,围度、图像面积和/或体积)相对应。在一个实施方案中,可至少部分地在云中执行对重量ml模块的训练。在一个实施方案中,利用地面实况体重数据来训练图2的步骤213、223或232中所使用的重量ml。
122.说明性客户端

服务器实现方式
123.图6示出了根据本发明的一个实施方案的用于实现体重预测的说明性客户端

服务器图600。在顶部示出了客户端609,而在底部示出了服务器603。客户端609通过在602处发送正面图像和侧面图像来发起过程。在接收到图像之后,服务器603对图像检查格式的正确性并且在604处执行其他形式检查。如果图像不具有正确格式或者在605处具有其他形式问题,诸如错误姿态、对比度较差、太远或太近、被摄对象不在视野中、被摄对象部分地被阻挡等等,则所述过程在601处将此信息返回到客户端。在601处,在一个实施方案中,可在客户端609处显示错误消息或其他通信内容,以使得用户能够重新拍摄图像。
124.如果图像具有正确格式并且在605处不具有其他形式问题,则在606处对图像进行
预处理,使得所述图像能够由重量估计模块608处理。如先前所描述,之后通过重量估计模块608处理图像以确定被摄对象重量结果610。将重量结果610从服务器603返回到客户端609。客户端609在612处检查重量结果。如果重量结果如在613处所确定具有任何形式问题,例如超出界限、不合理地小或大等等,则所述过程返回到601,并且类似地,可向用户显示错误消息或其他通信内容以使得用户能够重新拍摄图像。如果重量结果如在613处所确定不具有形式问题,则所述过程以准备显示或使用预测体重结束。
125.可了解到,在步骤604处由服务器603实施的图像分析、格式正确性和其他形式检查可替代地由客户端609实施(例如,作为节省带宽的措施)。类似地,在步骤612处由客户端609执行的重量结果检查可替代地由服务器603实施。一般而言,如本领域普通技术人员将认识到的,本文描述的各种步骤可由客户端609或服务器603实施。
126.替代架构:组合dln和/或ml模块
127.描述了用于实现步骤204的分割dln、步骤205的标注dln以及步骤213、223和233的重量ml模块的各种替代架构。例如,图7与图2所示的架构相对应,其中分割dln、标注dln和重量ml模块是单独的模块。相比之下,图1与分割dln和标注dln被组合为单个标注dln(其有效地执行分割和标注两者),之后是重量ml模块的替代架构相对应。最终,又一个替代架构(未示出)是可能的,其中分割dln、标注dln和重量ml模块全部被组合为有效地执行分割、标注和重量测量的所有功能的单个重量dln。类似地,标注dln和重量ml可被实现为进行标注并执行重量测量的一个重量dln,或者可被实现为两个单独的模块,即一个标注dln对每个身体特征进行标注,并且单独的重量ml模块执行重量测量。继而论述这些选项。
128.图7示出了根据本发明的一个实施方案的用于体重预测(使用单独的分割dln、标注dln和重量ml模块)的一个示例流程图700的图。在一个实施方案中,在702处从被摄对象接收正面图像和侧面图像。如所论述,在704处对图像进行预处理。在预处理之后,如先前所论述,将预处理后的图像发送到在706处的分割dln以生成分割图。在714处将分割图与其余数据进行聚合。如先前所论述,将预处理后的图像连同分割图一起提供到在708处的标注dln以生成标注关键点。在714处将标注图与其余数据进行聚合。如先前所论述,在一个实施方案中,将标注图提供到重量机器学习(ml)模块710以基于标注关键点而计算已经分割和标注的每个身体部分的几何特征。在714处将重量结果与其余数据进行聚合。在712处,将重量结果输出到一个或多个外部系统以用于如本文所描述的各种用途。最终,在716处将已经在714处聚合的所有聚合和结构化数据((1)预处理后的正面图像和侧面图像,(2)分割图,(3)标注图,以及(4)重量结果)存储在数据库中以用于另外的dln训练。训练数据库716随着每个被摄对象被测量而增大,并且所述系统的准确性随着使用而不断地提高。
129.在另一个实施方案中,步骤706是任选的,并且在步骤708中实施身体特征识别,并且步骤714仅需要来自步骤708的输出标注图(例如,标注关键点)。根据本发明的这个实施方案,体重测量值确定可使用组合式分割

标注dln和重量ml模块来实施。如先前所论述,从被摄对象702接收正面图像和侧面图像并且进行预处理704。在预处理之后,如先前所论述,将预处理后的图像直接发送到标注dln708以生成标注图。代替首先执行身体特征分割706,在此替代实施方案中,使用经过特殊训练的组合式分割

标注dln在图像上直接绘制标注关键点,而不用明确地从背景中分割身体特征,所述组合式分割

标注dln有效地将分割dln 706和标注dln 708两者(示出于图7的实施方案中)的功能组合到单个标注dln中。实际上,
由标注dln708暗中执行身体特征分割。
130.在又一个实施方案中,可将标注dln 708和重量ml 710进一步进行组合。如先前所论述,在702处从用户接收正面图像和侧面图像,并且在704处对图像进行预处理。在预处理之后,如先前所论述,将预处理后的图像直接发送到在710处的重量dln以生成完整的体重预测。代替首先执行身体特征分割和标注,在此替代实施方案中,使用经过特殊训练的重量dln直接从预处理后的图像中提取体重,而不用明确地从背景中分割身体特征(而且不用明确地绘制关键点标注),所述重量dln有效地将分割dln、标注dln和重量ml模块的特征组合到单个重量dln中(未示出于图7中)。实际上,由重量dln在其一个或多个神经网络层中暗中执行身体特征分割和标注。
131.硬件、软件和云实现方式
132.如所论述,贯穿本公开描述的数据(例如,照片、文本描述等等)可包括存储在云计算平台上所存储或托管的数据库上的数据。将理解,尽管本公开包括以下关于云计算的详细描述,但是本文叙述的教导的实现方式不限于云计算环境。而是,本发明的实施方案能够结合现在已知或稍后开发的任何其他类型的计算环境一起实现。
133.云计算可指代用于实现对可配置的计算资源共享池(例如,网络、网络带宽、服务器、处理、存储器、存储、应用程序、虚拟机以及服务)的方便的按需网络访问的服务交付模型,所述计算资源共享池可通过最少的管理工作或与服务提供商的交互来快速地供应和释放。云计算环境是面向服务的,其专注于无国界、低耦合、模块化以及语义互操作性。云计算的核心是包括互连节点网络的基础设施。
134.云计算环境可包括一个或多个云计算节点,由云消费者使用的本地计算装置(例如像,个人数字助理(pda)或蜂窝电话、台式计算机、膝上型计算机和/或汽车计算机系统)可与所述云计算节点通信。节点可彼此通信。所述节点可物理地或虚拟地分组为一个或多个网络,诸如专用云、社区云、公用云或混合云、或其组合。这允许云计算环境提供基础设施、平台和/或软件作为服务,为此,云消费者不需要在本地计算装置上维护资源。应理解,这些类型的计算装置仅意图是示例性的,并且计算节点和云计算环境可通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化装置通信。
135.图8示出了用于实现本发明的一个实施方案的服务器和/或用户装置的说明性硬件架构图。为了不模糊本发明,并未示出所述系统的许多组件(例如,网络接口等)。然而,本领域普通技术人员将了解,所述系统必然包括这些组件。用户装置是包括耦合到存储器850的至少一个处理器840的硬件。处理器可表示一个或多个处理器(例如,微处理器),并且存储器可表示包括硬件的主存储体的随机存取存储器(ram)装置,以及任何补充层级的存储器,例如高速缓存存储器、非易失性或备份存储器(例如,可编程或快闪存储器)、只读存储器等。此外,存储器可被视为包括物理地位于硬件中其他位置的存储器存储体,例如处理器中的任何高速缓存存储器,以及用作虚拟存储器,例如,如存储在大容量存储装置上的任何存储容量。
136.用户装置的硬件通常还接收多个输入810并且进行输出820以在外部传达信息。对于与用户的对接,硬件可包括一个或多个用户输入装置(例如,键盘、鼠标、扫描仪、传声器、web相机等)和显示器(例如,液晶显示(lcd)面板)。关于额外的存储体,硬件还可包括一个或多个大容量存储装置890,例如软盘驱动器或其他可移动盘驱动器、硬盘驱动器、直接存
取存储装置(dasd)、光盘驱动器(例如,压缩盘(cd)驱动器、数字通用盘(dvd)驱动器等)和/或磁带驱动器等等。另外,硬件可包括接口、一个或多个外部数据库830、以及一个或多个网络880(例如,局域网(lan)、广域网(wan)、无线网络和/或互联网等等)以准许与耦合到网络的其他计算机进行信息通信。应当了解,硬件通常包括合适的模拟和/或数字接口以彼此通信。
137.硬件在操作系统870的控制下进行操作,并且执行由附图标记统一指示的各种计算机软件应用程序860、组件、程序、代码、库、对象、模块等,以执行上文描述的方法、过程和技术。
138.图9示出了用于在客户端服务器环境中实现本发明的一个实施方案的说明性系统架构。在客户端侧的计算装置910可包括智能手机912、膝上型计算机914、台式pc 916、平板计算机918或其他装置。此类计算装置910通过一些网络连接920,诸如互联网来访问系统服务器930的服务。如所论述,在所谓的云实现方式中,可实现整个系统并且通过互联网提供到终端用户和操作者。将不需要软件或硬件的本地安装,并且将允许终端用户和操作者使用客户端上的web浏览器或类似的软件直接通过互联网来访问本发明的系统,所述客户端可为台式计算机、膝上型计算机、移动装置等等。这消除了客户端侧上对自定义软件安装的任何需求并且提高了服务(软件即服务)交付的灵活性,而且提高了用户满意度和易用性。可设想关于本发明的各种业务模型、收入模型和交付机制,并且所有这些都应被视为处在本发明的范围内。
139.一般而言,被执行来实现本发明的实施方案的方法可被实现为以下各项的一部分:操作系统或特定应用程序、组件、程序、对象、模块、或者被称为“一个或多个计算机程序”或“一个或多个计算机代码”的指令序列。计算机程序通常包括一个或多个指令集,所述指令集在不同的时间存在于计算机中的不同的存储器和存储装置中,并且在由计算机中的一个或多个处理器读取并执行时致使计算机进行执行涉及本发明的各方面的元件所需的操作。此外,虽然已经在功能完善的计算机和计算机系统的上下文中描述了本发明,但是本领域技术人员将了解,本发明的各种实施方案能够作为程序产品以各种形式进行分发,并且无论实际上用于实现所述分发的机器或计算机可读介质的具体类型如何,本发明都同样适用。计算机可读介质的实例包括但不限于:可记录类型介质诸如易失性和非易失性存储器装置、软盘和其他可移动盘、硬盘驱动器、光盘(例如,压缩盘只读存储器(cd roms)、数字通用盘(dvd)等)以及数字和模拟通信介质。
140.本发明的示例用例
141.图10至图17示出了本发明的使用具有单个相机的移动装置来测量人体体重的用例的说明图,其示出了已经实现本发明的一些实施方案的移动图形用户界面(gui)。图10示出了具有用于捕获被摄对象的照片的用户指令的移动装置gui的说明图。图11示出了用于接收一个或多个被摄对象参数的移动装置gui的说明图。例如,图11示出了经由来自用户的输入接收被摄对象的身高的gui屏幕。尽管人们无法对其自身重量进行准确的估计,但是几乎所有成人都能高度准确地知晓其自身的身高。如所论述,被摄对象的身高用作归一化数据以用于在真实世界坐标中从像素测量中测量几何特征(例如,被摄对象的身体部分的围度)。图11中的gui屏幕还可接收其他被摄对象参数,诸如性别、年龄和种族。例如,图11的gui屏幕示出了用于此目的下拉菜单和单选按钮。
142.图12示出了用于捕获正视图照片的移动装置gui的说明图,其示出了指示被摄对象应当站立在何处的呈a姿态的模板。图13示出了用于捕获正视图照片的移动装置gui的另一个说明图,其示出了指示被摄对象在增强现实(ar)中应当在何处站立成覆盖在被摄对象的实时图像上的模板。图14示出了用于捕获侧视图照片的移动装置gui的说明图。图15示出了在所述系统处理所捕获的照片以预测体重时显示的移动装置gui的说明图。最终,图16示出了移动装置gui的说明图,其示出了在已经成功完成体重预测时的通知屏幕。预测的重量结果被显示给用户。
143.图17是本发明的使用移动装置上的单个相机来测量人体体重的用例的说明图,其示出了穿着典型衣物在正常背景下站立的人类的正视图。图17所示的移动装置包括至少一个相机、处理器、非暂时性存储介质以及与服务器(未示出)的无线通信。在一个实施方案中,移动装置和服务器的硬件架构与图8所示的一样。在一个实施方案中,将被摄对象的身体的一张或多张照片传输到执行本文描述的操作的服务器。在一个实施方案中,由移动装置的处理器在本地分析被摄对象的身体的一张或多张照片。所执行的操作返回一个或多个体重预测,所述体重预测可存储在服务器上,并且如图17所示呈现给用户。此外,之后可将体重预测用于许多目的,包括但不限于:提供来向被摄对象销售一件或多件定制服装、定制全身套装、定制ppe(个人防护设备)、定制节食方案、定制锻炼、体育活动或日常锻炼内容等等。另外,可将体重预测输出到第三方移动装置和/或第三方服务器。在一个实施方案中,输出可呈以下形式:文本消息、电子邮件、移动应用程序或网站上的文字描述或视觉显示、其组合等等。
144.在不丧失一般性的情况下,可输出、传输和/或利用体重预测以用于体重在其中有用的任何目的。特别地,可将体重预测输出到例如与基于重量测量而推荐锻炼、健身或节食方案的公司相关联的计算装置和/或对应的服务器。本领域普通技术人员将认识到,体重测量的输出可被用于准确而简单的体重测量在其中有用的任何目的,诸如但不限于:健身、健康、购物等等。
145.总而言之,本发明能够仅使用两张照片并且实现与标准体重秤相当的准确的体重测量。所述系统不需要使用任何专门的硬件传感器,不需要用户在任何特殊背景下站立,不需要特殊照明,可与在任何距离处拍摄的照片一起使用,并且适用于穿着任何类型的衣物的用户。结果是对任何移动装置有效的体重测量系统,以至于任何人都可轻松地给自己拍摄照片并且从自动体重测量值确定中受益。
146.本领域普通技术人员将了解,用例、结构、示意图和流程图可以其他次序或组合执行,但是本发明的发明构思仍然没有脱离本发明的较宽泛的范围。每个实施方案可能是唯一的,并且方法/步骤可被缩减或扩充,与其他活动重叠,推迟,延迟并且在某一时间间隙之后继续进行,使得每个用户都能适于实践本发明的方法。
147.虽然已经参考特定示例性实施方案描述了本发明,但是将明显的是,在不脱离本发明的较宽泛的范围的情况下,可对这些实施方案进行各种修改和改变。因此,说明书和附图应被视为具有说明性意义而非限制性意义。对于技术人员还将显而易见的是,上文描述的实施方案是单个较宽泛发明的特定实例,本发明可具有比所教导的任何单一描述更大的范围。在不脱离本发明的范围的情况下,可对描述进行许多更改。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献