首页 > 服装鞋帽 专利正文
经由移动计算设备进行脚部扫描的系统和方法与流程

时间:2022-02-18 阅读: 作者:专利查询

经由移动计算设备进行脚部扫描的系统和方法与流程

本申请要求于2019年7月9日提交的美国临时专利申请62/871,981的权益,该申请的全部内容通过引用并入本文。

背景技术

在制鞋业中,大多数鞋的尺寸都用一个数字来表示。鞋的尺码基于脚的宽度和从脚跟到脚趾的长度,可以借助脚部测量尺来确定。不幸的是,脚的宽度和长度与鞋的尺寸之间的对应关系并不是公认的行业标准。这是因为在设计产品时,鞋类制造商始终牢记特定的目标受众。他们关于普通人长相的概念成为独特鞋码系统的基础。

购买新型鞋的人或正在考虑从他或她以前未购买过的品牌的鞋的人因此在进行选择时必须非常小心。在实体店,即使在测量了他或她的脚尺寸之后,客户可能仍然需要尝试不同的品牌和尺寸。前往实体店通常不方便,根据本专利的作者进行的调查,50%的客户表示他们没有足够的时间试穿自己喜欢的鞋。

网上购物更方便,但也可能压力更大:调查结果显示,75%的客户表示他们在订购合适的鞋上投入了太多精力,而选择不在线购物的客户中有70%表示他们害怕弄错尺寸。完成订购流程的人在收到鞋时有机会试穿鞋,但40%的人表示他们不喜欢在有人等他们时匆忙试穿鞋。最后,客户通常会买到不合适的鞋子,必须将其退回零售商。调查还显示,每次在网上商店完成退货,企业都会因运输费用损失产品成本的10%至20%,并承受在仓库处理退货产品的额外费用。此外,产品在运送到客户和从客户运出时可能会过时,从而需要以清仓价格出售。总体而言,这种在线购买的高退货率(占总销售的50%)每年造成1500亿美元的损失。

专业运动员的鞋的零售商对测量脚部参数(脚掌宽度、足弓高度、脚背高度、脚跟宽度等)的高精度测量问题很熟悉,并且有满足这一需求的一系列固定设备。有些基于移动激光束产生测量结果(授予弗兰克尔等人的美国专利4,745,290、授予沃尔弗斯伯格等人的美国专利5,164,793和授予怀特的美国专利5,237,520),而另一些则涉及复杂的成像传感器阵列(授予马森的美国专利5,911,126、授予皮什达店等人的美国专利7,978,378、授予安东的美国专利10,282,773)。还有一些记录压力测量值(授予施瓦茨的美国专利10,188,319)或在泡沫构件上处理印记(授予伊凡蒂斯的美国专利6,735,547)。不幸的是,由于成本和复杂性,普通消费者无法使用这些设备。授予卡格纳等人的美国专利10,002,376公开了一种涉及移动计算设备的脚部测量方法,但所提出的系统无法根据全范围的3D或3D参数来描述用户的脚部。



技术实现要素:

本发明提出了一种系统和方法,其允许用户使用简单的参考对象和具有一个或多个成像设备和/或一个或多个传感器的移动计算设备来计算他或她的每只脚的三维或3D模型,成像设备的非限制性示例可以包括RGB(普通)相机和深度相机,传感器的非限制性示例可以包括惯性测量单元(IMU)。移动计算设备围绕用户的脚部移动以经由相机和/或传感器扫描、收集和/或捕获他或她的脚部的数据。然后移动计算设备处理所捕获的数据以创建一个或多个3D点集或数据集(也称为“点云”)。然后将这些点云中的每一个与平均对应脚部的3D模型进行匹配,以建立点云和3D模型之间的对应关系。一旦建立了对应关系,移动计算设备就被配置为将一个或多个可变形模型拟合到用户的脚部的经拆分的点云中。

在一些实施例中,一个或多个可变形模型可进一步由移动计算设备在本地处理或由外部计算系统/服务器远程处理,以用一个或多个参数来描述用户的脚部,参数包括但不限于脚部宽度、足弓高度、脚背高度、以及主要制造商在描述其鞋类时使用的用户的脚部的其它参数。可替代地,一个或多个可变形模型可以直接传递/传输到兼容的在线商家,例如在线鞋类商店。所提出的方案是一种简单、低成本的解决方案,不需要特殊硬件,因此无论是休闲用户还是专业运动员,都可以在他们自己家中方便并自在地购买他们的鞋。

附图说明

当结合附图阅读时,从以下详细描述可以最好地理解本公开的各方面。需要注意的是,根据行业中的标准做法,各种特征并未按比例绘制。事实上,为了讨论的清楚起见,可以任意增大或减小各种特征的尺寸。

图1是根据一些实施例的支持经由移动计算设备创建3D脚部模型的系统图的示例。

图2是根据一些实施例的用于从用户脚部的扫描数据创建可变形模型的过程的示例的流程图。

图3是根据一些实施例的用于计算从包含参考对象的图像到用户脚部的系统坐标系的缩放因子的过程的示例的流程图。

图4是根据一些实施例的用于从传感器数据计算3D点集以表示用户脚部的过程的示例的流程图。

图5是根据一些实施例的用于从地面实况3D点集的集合创建平均脚部模型和3D可变形模型的离线过程的示例的流程图。

图6是根据一些实施例的已经被分割成与用户的左脚部、用户的右脚部、用户的左小腿、用户的右小腿、地板和参考对象相对应的类别的图像的示例。

图7是根据一些实施例的用户脚部中的一只脚的未滤波的3D点集(“点云”)的示例。

图8A至图8C是根据一些实施例的已经被滤波以仅包含代表用户脚部的那些点的3D点集(“点云”)的示例。

图9是根据一些实施例的用户脚部的可变形模型的视觉表示的示例。

具体实施方式

所提出的方案是一种允许用户使用简单的参考对象和具有一个或多个成像设备和/或一个或多个传感器(例如,惯性测量单元)的移动计算设备来计算他或她的脚部的3D模型的系统和方法。在以下描述中,阐述了许多具体细节以提供对所提出的方案的更全面描述。然而,对于本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下实践所提出的方案。在其它实例中,没有对众所周知的特征进行详细描述,以免混淆所提出的方案。

图1示出了用于为用户013创建3D脚部模型的系统的架构的示例。如图1中所示,系统包括移动计算设备001和外部/远程计算系统/服务器002。移动计算设备001和外部计算系统002分别包括允许它们通过通信网络相互通信的通信组件(分别为003和004)。通信网络可以是但不限于互联网、内联网、广域网(WAN)、局域网(LAN)、无线网络、蓝牙、WiFi和移动通信网络。网络的物理连接和通信协议是本领域技术人员众所周知的。通信组件通常内置有计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据。作为示例而非限制,通信组件包括诸如有线网络或直接有线连接之类的有线媒体,以及诸如声学、射频(RF)和红外线之类的无线媒体。在替代实施例中,移动计算设备001和外部计算系统002被包括在相同物理实体中,因此不需要这些通信组件。

除了通信组件003之外,移动计算设备001还包括用于测量用户013的脚部的一个或多个组件005、用于分析脚部数据和创建脚部模型的组件006、以及用于以视觉、听觉或触觉形式中的一种或多种向用户013提供有关脚部扫描过程的指令和反馈的输出组件007。在一些实施例中,一个或多个组件005是被配置为从物理空间中的不同(视)点收集用013的脚部的多个数据点的一个或多个相机和/或传感器。在一些实施例中,这些组件还被配置为捕获关于参考对象014的视觉信息,其中参考对象014是具有已知尺码(例如,长度和宽度)的已知真实世界对象,其可用于校准物理空间中的相机和传感器。在一个可能的实施例中,组件005之一是成像设备(例如,相机)而另一个是惯性测量单元。在一些实施例中,组件006被配置为根据参考对象014的一个或多个图像确定缩放因子。在一些实施例中,组件006还被配置为分析由组件005捕获的数据和经由通信组件003从外部计算系统002接收的模型,以创建用户013的脚部的3D模型。

在图1的示例中,外部计算系统002包括用于存储和维护移动计算设备001收集的数据和创建或使用的模型的一个或多个存储单元。在一些实施例中,该一个或多个存储单元包括用于存储并且维护例如通过专用扫描设备(未示出)所收集的用户的脚部的地面实况数据的存储单元008、用于存储和维护可变形脚部模型的存储单元009、用于分割权重的存储单元010、用于用户的脚部模型的存储单元011、以及通信组件004。在一些实施例中,外部计算系统002还包括用于地面实况数据分析和模型创建的组件012,其中组件012被配置为处理存储在单元008中的用户的脚部的地面实况数据并从专用扫描设备收集的地面实况数据创建一个或多个3D可变形脚部模型,以表示用户可能的3D脚部形状的副本。在一些实施例中,副本通过(小)数量(例如10个)的参数被参数化,以便拟合从移动计算设备001收集和接收的数据。在一些实施例中,组件012被配置为在单元009上存储这些3D可变形脚部模型。在一些实施例中,通信组件004被配置为访问来自存储单元009的脚部模型数据以及来自存储单元010的分割权重,并经由通信组件003将这些数据中继到移动计算设备001。在一些实施例中,通信组件004还被配置为从移动计算设备001的通信组件003接收用户脚部模型,并将用户脚部模型存储在单元011上。在一个实施例中,上述所有存储单元(008、009、010和011)被包括在相同物理实体中。

参考图2,图示了扫描双脚的示例性过程。在第一步骤101中,用户被要求脱掉他或她的鞋并将参考对象014放置在他或她的双脚之间的地板上。此参考对象014应具有统一的形状和尺寸,无论其制造商或原产国如何。在一些实施例中,该参考对象014被选择为ISO/IEC 7810ID-1卡,例如银行、商店和其它类似组织使用的那些。在一些实施例中,用户被指示移动移动计算设备001,使得参考对象014居中并且在移动计算设备001的相机的视图中很容易看到。将理解的是,参考对象014和用户的每个脚之间的距离是不相关的。在一些实施例中,如果移动计算设备001具有由制造商正确校准的传感器,则可能不需要参考对象014。一些现代消费者设备就是这种情况,包括但不限于具有工厂校准的飞行时间或结构光深度传感器。这种移动通信设备可以提取准确的点云并从校准数据推断系统坐标空间的缩放因子。在这种情况下,可以省略步骤102,并且可以将缩放因子设置为恒等变换。

在图2中描绘的第二步骤102中,由移动计算设备001的相机捕获的图像数据被处理,以确定移动计算设备001在构建点云时使用的坐标系的缩放因子。在一些实施例中,参考对象的轮廓被显示在移动计算设备001的屏幕上,作为对用户的反馈。

在图2中描绘的第三步骤103中,移动计算设备001被配置为在数据收集过程中围绕用户的脚部移动/定位并保持用户的脚部静止。在一个实施例中,移动计算设备001被配置为作为一个连续过程的一部分同时扫描用户的双脚。在替代实施例中,移动计算设备001被配置为首先扫描用户的一只脚,然后扫描另一只脚。在下文的讨论中,特别是图4和与其对应的描述,在上面给出的两个实施例中的前一个下讨论所提出的方案。为了使所提出的方案成功并且不管遵循以上实施例中的哪一个,计算设备001都被配置为移动和定位自身以使得设备从所有可能的角度看到用户的脚部,以便近似用户的脚部的所有参数。在一些实施例中,最关键的信息可以通过为顶视图和侧视图构建单独的模型来获得,其中顶视图将允许测量用户的脚部的宽度,而侧视图将允许测量用户的脚部的长度、脚背高度和其它参数。

在图2中描绘的第四步骤104中,由移动计算设备001的相机和/或传感器捕获的图像数据和惯性数据被移动计算设备001处理,以创建代表用户的左脚的3D点集(以下称为“点云”)104a和代表用户的右脚的另一3D点集104b。这里,初始点云可能有3*N个参数,其中N是点云中的点的数量。请注意,针对3D可变形模型所拟合的参数数量通常要少得多。作为非限制性示例,点云中的参数数量可以在10,000范围内,而3D可变形模型中的参数数量约为10。

在图2中描绘的第五步骤105中,移动计算设备001被配置为在用户的左脚的点云的3D点集104a与平均脚部模型105a中的点之间建立对应关系。在一个实施例中,这由移动计算设备001经由称为非刚性迭代最近点(ICP)的方法来完成。迭代最近点(ICP)的一般管道涉及三个步骤的迭代直到收敛。第一步骤是匹配参考点集中和源点集中最近的点。这里,参考点集对应于平均脚部模型,源点集对应于左脚的点云。第二步骤是从这些对应关系中估计变换。第三步骤是用所获得的变换对源点集进行变换。普通ICP将变换估计为单个旋转矩阵和平移向量。另一方面,非刚性ICP将变换估计为对每个点的旋转和平移的集合。可以以相同方式建立右脚的点云104b的点和平均脚部模型105a的点之间的对应关系。如果对应关系建立成功,则系统进行第六步骤106,否则返回到第四步骤104。

在图2中描绘的第六步骤106中,外部计算系统002被配置为计算每只脚的低参数量3D可变形模型(106a和106b),以将容忍度结合到自然变形和变化,并进一步减少来自各种来源的噪声的影响,包括但不限于步骤104中的传感器数据和来自步骤105的对应关系数据。在一些实施例中,这是通过优化表示平均人类脚部105a的3D可变形模型106c的参数以及采样群体中与该范数的偏差来完成的。更具体地,外部计算系统002被配置为调整该模型的参数,以最小化模型106b中的对应点与配准点云(104a或104b)之间的距离总和。

现在参考图3,示出了确定缩放因子的示例性过程。在第一步骤201中,移动计算设备的相机捕获参考对象的图像。在第二步骤202中,移动计算设备001处理图像,以识别参考对象的图像的角点。在一些实施例中,图像被移动计算设备001转换为灰度、平滑并处理以识别边缘。在一些实施例中,移动计算设备001利用边缘检测器(未示出)来检测参考对象的边缘。首先,移动计算设备001的这个边缘检测器在水平方向和垂直方向上对参考对象的图像进行滤波。移动计算设备001然后处理该结果,以确定图像中每个像素的边缘梯度和方向。在一些实施例中,移动计算设备001设置两个阈值,一个高和一个低,并且进行两个进一步的处理步骤/进程。在第一进程中,边缘梯度大于高阈值的所有像素都被认为是边缘像素。在第二进程中,与边缘像素相邻或紧密相邻且边缘梯度大于低阈值的任何像素也被分类为边缘像素。移动计算设备001然后在图像中找到包含四个边缘的轮廓并识别这些轮廓的对应角点。最后,移动计算设备001应用分类器来检查检测到的对象是否对应于参考对象应该看起来的样子。如果找到对应关系,则移动计算设备001继续第三步骤。如果没有找到对应关系,则重复第一步骤。

在图3中描绘的第三步骤203中,参考对象的宽度和高度是从它的角点推断出来的。在第四步骤204中,将计算出的宽度和高度与参考对象的已知尺寸进行比较,以确定移动计算设备001使用的坐标系的缩放因子204a。

现在参考图4,示出了计算两只脚的点云的示例性过程。在第一步骤(301a和301b)中,移动计算设备001捕获图像数据和惯性测量值。在图4中描绘的第二步骤302中,移动计算设备001构建用户的脚部的3D点云。在一个实施例中,这是使用同步定位和建图(SLAM)来完成的。SLAM方法包括估计环境中传感器平台的3D运动(也称为自我运动)并同时对其周围场景进行建图。图像由移动计算设备001处理,以识别和匹配连续帧的2D特征点。这里,传感器平台可以是包含相机、IMU等的硬件(例如,移动计算单元001)。在一些实施例中,传感器平台还可以包括连接到计算单元的外部相机。在一些实施例中,移动计算设备001对对应关系与惯性测量值进行融合,并且执行计算以确定对传感器平台的位置的估计。有了传感器平台的已知位置,匹配的2D特征点可以用3D表示,它们的聚合集变成所谓的“点云”。在一些实施例中,如果可能的话,可以将SLAM方法泛化以利用深度传感器数据。在这种情况下,不需要匹配2D特征点。由于深度地图具有对应的3D点云表示,这些表示可用于通过迭代最近点或其它点集配准算法来估计传感器平台的位置。然后可以在体素网格融合或点云融合的帮助下将3D点云融合为单个表示。然后将在该算法的后续步骤中使用该最终融合表示。

在图4中描绘的第三步骤303中,使用在图3的方法中确定的(多个)因子204a来缩放点云。在第四步骤304中,移动计算设备001对输入图像进行分割,以识别与用户的脚部对应的区域。在一个实施例中,这种分割是用卷积神经网络(CNN)完成的,其中CNN是一种具有独特架构的特定类型的神经网络。传统上,神经网络具有多层神经元(输入层、输出层和一个或多个所谓的隐藏层),每个神经元计算其所有输入的加权和,然后进行非线性函数将其输出值限制在合理范围内。CNN是一种使用与输入进行卷积的小型一维或二维权重数组的神经网络。这些卷积允许平移不变性并减少可训练参数的数量。

在一个实施例中,外部计算系统002参考多个类别训练CNN,类别包括但不限于左脚部、左小腿、右脚部、右小腿、地板、以及参考对象。需要说明的是,在本实施例中,“小腿”类别仅指脚部上方可见的皮肤。在一些实施例中,用于训练CNN的多个类别被表示为网络权重的值,其将各种网络层彼此关联。为了执行分割,CNN处理输入数据,从而为每个图像像素分配每个类别的似然概率。图6描绘了由CNN输出覆盖的从移动计算设备001的相机(用于脚部测量的组件005之一)获取的图像的非限制性示例,其中颜色对应于一个可能实施例的最可能的类别。

在图4中描绘的第五步骤305中,移动计算设备对点云进行滤波,以仅保留那些与用户的脚部对应的点。这是通过将点云中的每个点投影到相机平面,然后使用上面第四步骤中计算的分割来确定点的对应类别来完成的。其类别不对应于左脚部或右脚部的点将被丢弃。如果认为滤波结果令人满意,则处理继续到第六步骤。否则,处理返回到图4中描绘的第一步骤。图7中描绘了滤波之前的点云的非限制性示例。图8A至图8C中描绘了滤波阶段之后的点云的非限制性示例。在点云的点位置噪声低的情况下,可以简化点分割。在一些实施例中,点云可以被分组为集群,其中在启发式的帮助下找到与用户的脚部相对应的集群。在一个实施例中,用户界面可以引导用户将用户的脚部放在特定位置。在这个位置附近具有大量点的集群将包含用户的脚部。

在图4中描绘的第六步骤306中,点云被移动计算设备001拆分为二:一个用于左脚104a,一个用于右脚104b。在一个实施例中,可以使用分割方法来拆分点云。在替代实施例中,可以使用聚类技术来拆分点云。

现在参考图5,示出了由外部计算系统002计算平均脚部模型105a和3D可变形模型106c的示例性离线处理。从由特殊设备(例如,专业硬件扫描仪)创建的地面实况数据/点云的集合401a中,选择一个点云401b作为参考。在图5中描绘的第一步骤401中,外部计算系统002找出参考点云与其他每个点云的点之间的对应关系。在一个实施例中,这是使用非刚性ICP和最近邻对应关系来完成的。

在图5中描绘的第二步骤402中,外部计算系统002创建矩阵,其中每行对应于唯一的点云,每列对应于唯一的点位置。在图5中描绘的第三步骤403中,矩阵由外部计算系统002处理,以确定平均模型105a和描述输入数据方差的低参数量的数值集合403a。在一个实施例中,该处理使用所谓主成分分析(PCA)的技术完成,该技术对由上述步骤402中矩阵的特征向量si形成的正交坐标系执行基变换:这里,是平均模型105a,特征向量si是描述输入数据(也称为“主成分”)的方差的值403a,S是更一般的低参数量可变形模型106c。参数αi是在图2的第六步骤106中调整以计算用户的脚部的低参数量模型(106a和106b)的参数。拟合的3D可变形模型的3D网格的非限制性示例在图9中描绘。注意,3D可变形模型有助于从嘈杂和不完整的数据中重建脚部。但是,如果满足某些条件,则可以省略3D可变形模型,而可以直接从点云进行脚部测量。重要的是点云足够密集,相邻点之间大约为1毫米或更小,并且重要的是点位置不包含大量噪声。当移动计算设备001已经彻底校准深度传感器时就是这种情况。

可以使用根据本公开的教导编程的常规通用或专用数字计算机或微处理器来实现一个实施例,这对于计算机领域的技术人员来说是显而易见的。熟练的程序员可以基于本公开的教导容易地准备适当的软件编码,这对于软件领域的技术人员来说是显而易见的。本发明还可以通过准备集成电路或通过互连常规组件电路的适当网络来实现,这对于本领域技术人员来说是显而易见的。

在此描述的方法和系统可以至少部分地以用于实践那些过程的计算机执行的过程和装置的形式来体现。所公开的方法还可以至少部分地以用计算机程序代码编码的有形、非易失性机器可读存储介质的形式来体现。该介质可以包括例如RAM、ROM、CD-ROM、DVD-ROM、BD-ROM、硬盘驱动器、闪存或任何其它非易失性机器可读存储介质,其中,当计算机程序代码加载到计算机中并由计算机执行,计算机成为实施该方法的装置。所述方法也可以至少部分地以计算机程序代码被加载和/或执行到其中的计算机的形式实施,使得计算机成为用于实践所述方法的专用计算机。当在通用处理器上实现时,计算机程序代码段配置处理器以创建特定的逻辑电路。或者,这些方法可以至少部分地体现在由用于执行这些方法的专用集成电路形成的数字信号处理器中。