CN113397526A - 人体高度估计 - Google Patents

人体高度估计 Download PDF

Info

Publication number
CN113397526A
CN113397526A CN202110282036.3A CN202110282036A CN113397526A CN 113397526 A CN113397526 A CN 113397526A CN 202110282036 A CN202110282036 A CN 202110282036A CN 113397526 A CN113397526 A CN 113397526A
Authority
CN
China
Prior art keywords
location
determining
data
head
floor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110282036.3A
Other languages
English (en)
Inventor
A·达维格
G·J·希托
T·R·皮斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/182,344 external-priority patent/US11763477B2/en
Application filed by Apple Inc filed Critical Apple Inc
Publication of CN113397526A publication Critical patent/CN113397526A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/107Measuring physical dimensions, e.g. size of the entire body or parts thereof
    • A61B5/1072Measuring physical dimensions, e.g. size of the entire body or parts thereof measuring distances on the body, e.g. measuring length, height or thickness
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/107Measuring physical dimensions, e.g. size of the entire body or parts thereof
    • A61B5/1079Measuring physical dimensions, e.g. size of the entire body or parts thereof using optical or photographic means

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Engineering & Computer Science (AREA)
  • Dentistry (AREA)
  • Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Image Analysis (AREA)

Abstract

本公开涉及人体高度估计。本文所公开的各种具体实施包括将人体的头部的一部分(例如,顶部)与下方地板之间的距离确定为该人体的高度估计值的设备、***和方法。例如,示例性过程可包括确定人体在三维(3D)坐标系中的头部上的第一位置,该第一位置是基于根据该人体在物理环境中的二维(2D)图像对该头部上的特征部进行检测来确定的;确定在该3D坐标系中该第一位置下方的地板上的第二位置;以及基于确定该第一位置与该第二位置之间的距离来估计高度。

Description

人体高度估计
相关申请的交叉引用
本申请要求2020年3月17日提交的美国临时申请序列号62/990,589的权益,该申请全文以引用方式并入本文。
技术领域
本公开整体涉及移动设备领域,并且具体地涉及基于在物理环境中检测到的信息来确定人或对象的高度测量结果的***、方法和设备。
背景技术
检测物理环境中的人体和该人体的准确高度测量结果可在生成准确重建和用于在移动设备上向用户提供高度信息方面起着重要作用。提供基于计算机的***以基于传感器数据自动且准确地生成人体高度测量结果存在许多障碍。获取的关于物理环境的传感器数据(例如,光强度图像)可能是不完整的或不足以提供准确的测量结果。又如,图像通常缺少深度和语义信息,并且在没有此类数据的情况下生成的测量结果可能缺乏准确性。现有技术不允许使用移动设备自动、准确且有效地生成人体高度测量结果,例如,基于用户采集照片或视频或其他传感器数据。此外,现有技术可能无法在实时环境(例如,在扫描期间立即测量)中提供足够准确和有效的测量结果。
发明内容
本文所公开的各种具体实施包括将人体的头部的一部分(例如,顶部)与下方地板之间的距离确定为该人体的高度估计值的设备、***和方法。该人体的头部的一部分(例如,顶部)是基于根据二维(2D)图像对头部上的特征部(例如,面部)进行检测来确定的。例如,这可涉及基于人体面部的位置来识别掩膜(例如,语义分割掩膜)的该部分。深度数据可用于识别掩膜中的头部边界,即使在掩膜不指示边界的情况下亦如此,例如,在另一人站在用户头部后的情况下。深度数据可用于确定地板的三维(3D)位置,即使地板的位于头部顶部下方的部分不在图像数据中亦如此。可能期望在实况相机视图中显示人体的高度。可能期望确定人体的高度并将其存储在例如与图像相关联的元数据中。然后,该信息可用于在人体成长时跟踪人体的身高(例如,跟踪并记录儿童随时间推移的成长)。
在一些具体实施中,使用分割来促进从模型中排除对象。例如,分割技术(例如,机器学***对物理环境内的对象进行语义标记。然后可基于图像的掩膜(例如,识别被确定为包括在数据中的对象(诸如人体)的分割掩膜)来确定测量数据。
本公开的一些具体实施涉及将人体的头部的一部分与下方地板之间的距离确定为该人体的高度估计值的示例性方法。该示例性方法涉及,在具有处理器的设备处,确定人体在3D坐标系中的头部上的第一位置(例如,顶部),该第一位置是基于根据该人体在物理环境中的2D图像对该头部上的特征部(例如,面部)进行检测来确定的。在一些具体实施中,这可能涉及获取掩膜,该掩膜识别与一个或多个人对应的2D坐标。例如,可利用基于2D RGB和/或深度图像的语义分割掩膜。这可能涉及检测人体的头部上的特征部,以及基于该特征部将第一位置识别为掩膜内的某一位置。例如,找到面部的中心并向上移动以找到掩膜内头部的顶部。
该示例性方法还涉及确定在3D坐标系中第一位置下方的地板上的第二位置。在一些具体实施中,这可能涉及使用RGB数据和/或深度传感器数据来确定地板平面。另外地或替代地,可使用机器学***面分类为地板(例如,基于所检测到的高度对每个数据点进行分类)来确定地板平面。在一些具体实施中,可使用3D模型来随时间推移确定地板平面,该3D模型使用来自个实例的数据进行更新。
该示例性方法还涉及基于确定第一位置与第二位置之间的距离来估计高度。例如,头部的顶部的第一位置和地板上的第二位置可各自具有对应的3D坐标,***可使用这些对应的3D坐标来确定高度。在一些具体实施中,估计人体的高度可能涉及使用随时间推移获取的多个高度估计值、丢弃异常值或用于对随时间推移采集的测量数据的若干数据点取平均值的其他手段。
在一些具体实施中,确定第一位置包括获取掩膜,该掩膜识别图像的与一个或多个人对应的部分;检测人体(或如果是多个人,则每个人体)的头部上的特征部;以及基于在所识别的每个相应人体的头部上所检测到的一个或多个特征部识别掩膜的与一个或多个人对应的一部分内的第一位置。例如,可利用基于2D RGB图像、深度图像或RGB图像和深度图像两者的组合的语义分割掩膜。在一些具体实施中,识别掩膜的一部分内的第一位置可包括找到面部的中心并向上移动以找到掩膜内头部的顶部。
在一些具体实施中,在头部上所检测到的特征部是面部。例如,“面部”可被定义为头部的一部分,包括眼睛、鼻子、嘴巴、面颊、耳朵、下巴等中的一者或多者,但在必要时包括全部。在一些具体实施中,识别掩膜的该部分内的第一位置包括确定面部的中心和面部的取向;以及识别掩膜的在从面部的中心开始的某一方向上(例如,从鼻子的中心向上到前额的中心的方向上)的一部分,其中该方向是基于该取向的。在一些具体实施中,识别掩膜的该部分内的第一位置还包括生成与面部对应的边界框(例如,用于面部的2D框,该2D框可投射到3D空间中头部上的各个点)。例如,该边界框可提供人体的所检测到的特征部(例如,人体的面部)的位置、姿势(例如,取向和位置)和形状。在一些具体实施中,该边界框是3D边界框。替代地,该边界框是2D框,该2D框可投射到3D空间中头部上的各个点而作为3D边界框。
在一些具体实施中,识别掩膜的该部分内的第一位置包括基于来自深度传感器的数据识别头部的边界。例如,识别人体的头部的边界可包括确定头部的侧面(例如,耳朵)、底部(例如,下巴)和顶部(例如,前额的顶部或头部上的顶部位置)。在一些具体实施中,人体可能是非直立的或者头部可能是倾斜的,并且***将使用该人体的最顶点来进行高度估计。例如,如果人体的头部向侧面倾斜,诸如靠在其肩部上,则耳朵可为进行高度估计的最顶点。在一些具体实施中,***可确定人体是非直立的或其头部是倾斜的,并且在计算人体的总体高度时通过基于确定人体是非直立的进行调整来加以考虑。在一些具体实施中,高度估计基于从人体的头部的顶部到其脚下地板的测量结果。替代地,如果人体正将其手部抬起到高过其头部,则***可确定从该人体的手部的顶部到地板平面或到另一确定的平面的高度估计值。在一些具体实施中,高度估计可自动确定图像中的人体是否正伸出双手并且期望自动计算其臂展。然后,高度估计***可检测每只手的特征部以确定所识别的人体的估计臂展。
在一些具体实施中,确定地板上的第二位置包括基于从设备上的相机采集的图像数据来确定地板平面。例如,这可能涉及使用RGB数据和/或深度传感器数据来确定地板平面。在一些具体实施中,图像数据包括深度数据,该深度数据包括多个深度点,并且基于图像数据确定地板平面包括基于深度点中的每个深度点的确定高度将深度点的一部分分类为地板平面;以及基于与地板平面对应的深度点中的每个深度点的该确定高度来确定地板上的第二位置。例如,可使用机器学***面分类为地板来确定地板平面。
在一些具体实施中,图像数据包括在一段时间内采集的多个图像帧,并且基于图像数据确定地板平面包括基于包括该地板平面的图像数据生成3D模型,以及针对该多个图像帧中的每个所采集的帧迭代更新该3D模型。例如,在实况视频传送期间,随时间推移采集多个图像,并且本文所述的人体高度估计***可迭代更新视频传送的一个或多个帧的高度估计,以确定人体高度的准确描绘。每次迭代应提供更准确的高度确定。
在一些具体实施中,图像数据包括人体从头部到脚部的整体图片,其中在图像数据中脚部与地板接触。例如,示出整个人体的完整人体截图。替代地,高度估计***可通过使用头部的顶部和确定并延伸地板平面来确定高度估计值,而不必查看整个人体。例如,从不同视角(例如,从俯视图,诸如从无人机、或站在二楼向下看的人或站在梯子上的人体等),期望计算其高度的人体可能不完全在图像中。可从腰部向上示出人体,即使该人体是站立的,但是在图像数据中看到地板在该人体后面。本文所述的高度估计***仍可将地板的3D坐标的z高度位置确定为第二位置;确定头部的顶部的3D坐标的z高度位置;以及基于该两个位置的z高度差来确定人体的估计高度。
在一些具体实施中,基于确定第一位置与第二位置之间的距离来估计高度包括确定该第一位置与该第二位置之间的多个距离估计值;使用取平均值技术识别该多个距离估计值的子集(例如,计算平均值、去除异常值);以及基于该数据子集确定该第一位置与该第二位置之间的距离。
在一些具体实施中,人体是第一人体并且2D图像包括第一人体和第二人体,其中确定第一人体的头部上的第一位置基于确定与第二人体相对于2D图像的中心相比第一人体更靠近该2D图像的中心。例如,多个人可被包括在图像数据中,并且本文所述的人体高度估计***可基于相机的标线的中心或用户利用设备的相机聚焦的图像的中心来解读要计算哪个人体的高度。在一些具体实施中,本文所述的人体高度估计***可估计图像数据中每个所检测到的人体的高度。
根据一些具体实施,一种设备包括一个或多个处理器、非暂态存储器以及一个或多个程序;该一个或多个程序被存储在非暂态存储器中并且被配置为由一个或多个处理器执行,并且该一个或多个程序包括用于执行或使得执行本文所述方法中的任一种的指令。根据一些具体实施,一种非暂态计算机可读存储介质中存储有指令,这些指令在由设备的一个或多个处理器执行时使该设备执行或使执行本文所述方法中的任一种。根据一些具体实施,一种设备包括:一个或多个处理器、非暂态存储器以及用于执行或使执行本文所述方法中的任一种的装置。
附图说明
因此,本公开可被本领域的普通技术人员理解,更详细的描述可参考一些例示性具体实施的方面,其中一些具体实施在附图中示出。
图1是根据一些具体实施的示例性操作环境的框图。
图2是根据一些具体实施的示例***器的框图。
图3是根据一些具体实施的示例性设备的框图。
图4是根据一些具体实施的示例性方法的流程图表示,该方法将人体的头部的一部分与下方地板之间的距离确定为该人体的高度估计值。
图5A至图5F是示出根据一些具体实施的将人体的头部的一部分与下方地板之间的距离确定为该人体的高度估计值的示例性***流程的框图。
根据通常的做法,附图中示出的各种特征部可能未按比例绘制。因此,为了清楚起见,可以任意地扩展或减小各种特征部的尺寸。另外,一些附图可能未描绘给定的***、方法或设备的所有部件。最后,在整个说明书和附图中,类似的附图标号可用于表示类似的特征部。
具体实施方式
描述了许多细节以便提供对附图中所示的示例具体实施的透彻理解。然而,附图仅示出了本公开的一些示例方面,因此不应被视为限制。本领域的普通技术人员将理解,其他有效方面和/或变体不包括本文所述的所有具体细节。此外,没有详尽地描述众所周知的***、方法、部件、设备和电路,以免模糊本文所述的示例性具体实施的更多相关方面。
图1是根据一些具体实施的示例性操作环境100的框图。在该示例中,示例性操作环境100示出了包括椅子140、桌子142和门150的示例性物理环境105。另外地,示例性操作环境100包括握持设备(例如,设备120)的人体(例如,用户102)、坐在椅子140上的人体(例如,对象/人体104)和站在物理环境105中的人体(例如,对象/人体106)。尽管示出了相关特征,但本领域的普通技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的示例性具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,操作环境100包括服务器110和设备120。在示例性具体实施中,操作环境100不包括服务器110,并且本文所述的方法在设备120上执行。
在一些具体实施中,服务器110被配置为管理和协调用户体验。在一些具体实施中,服务器110包括软件、固件和/或硬件的合适组合。下文参考图2更详细地描述服务器110。在一些具体实施中,服务器110是相对于物理环境105位于本地或远程位置的计算设备。在一个示例中,服务器110是位于物理环境105内的本地服务器。在另一个示例中,服务器110是位于物理环境105之外的远程服务器(例如,云服务器、中央服务器等)。在一些具体实施中,服务器110经由一个或多个有线或无线通信信道(例如,蓝牙、IEEE 802.11x、IEEE802.16x、IEEE 802.3x等)与设备120通信地耦接。
在一些具体实施中,设备120被配置为向用户呈现环境。在一些具体实施中,设备120包括软件、固件和/或硬件的合适组合。下文参考图3更详细地描述设备120。在一些具体实施中,服务器110的功能由设备120提供和/或与该设备结合。
在一些具体实施中,设备120是被配置为向用户呈现内容的手持式电子设备(例如,智能电话或平板电脑)。在一些具体实施中,用户102将设备120穿戴在其头部上。设备120可包括被提供用于显示内容的一个或多个显示器。例如,设备120可包围用户102的视野。在一些具体实施中,用被配置为呈现内容的腔室、外壳或室替代设备120,其中用户102不穿戴或握持设备120。
图2是根据一些具体实施的服务器110的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,服务器110包括一个或多个处理单元202(例如,微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、图形处理单元(GPU)、中央处理单元(CPU)、处理内核等)、一个或多个输入/输出(I/O)设备206、一个或多个通信接口208(例如,通用串行总线(USB)、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE 802.11x、IEEE 802.16x、全球移动通信***(GSM)、码分多址(CDMA)、时分多址(TDMA)、全球定位***(GPS)、红外(IR)、蓝牙、ZIGBEE和/或类似类型的接口)、一个或多个编程(例如,I/O)接口210、存储器220以及用于互连这些部件和各种其他部件的一条或多条通信总线204。
在一些具体实施中,该一条或多条通信总线204包括互连***部件和控制***部件之间的通信的电路。在一些具体实施中,一个或多个I/O设备206包括键盘、鼠标、触控板、操纵杆、一个或多个麦克风、一个或多个扬声器、一个或多个图像传感器、一个或多个显示器等中的至少一种。
存储器220包括高速随机存取存储器,诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、双倍数据速率随机存取存储器(DDR RAM)或者其他随机存取固态存储器设备。在一些具体实施中,存储器220包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器220任选地包括远离所述一个或多个处理单元202定位的一个或多个存储设备。存储器220包括非暂态计算机可读存储介质。在一些具体实施中,存储器220或存储器220的非暂态计算机可读存储介质存储以下程序、模块和数据结构,或它们的子集,包括可选的操作***230以及一个或多个应用程序240。
操作***230包括用于处理各种基础***服务和用于执行硬件相关任务的过程。在一些具体实施中,应用程序240被配置为管理和协调一个或多个用户的一个或多个体验(例如,一个或多个用户的单个体验,或一个或多个用户的相应群组的多个体验)。
应用程序240包括掩膜数据单元242、地板单元244、特征部检测单元246和测量单元248。掩膜数据单元242、地板单元244、特征部检测单元246和测量单元248可组合成单个应用程序或单元,或者分成一个或多个附加应用程序或单元。
掩膜数据单元242被配置有指令,该指令能够由处理器执行以采集图像数据(例如,光强度数据、深度数据、相机位置信息等)并使用本文所公开的技术中的一种或多种技术基于该图像数据生成识别图像的与对象(例如,人体)相关联的部分的掩膜(例如,分割掩膜)。例如,掩膜数据单元242采集来自光强度相机502的光强度数据(例如,RGB数据503)和来自深度相机504的深度数据505,并且生成用于所有所识别的人的分割掩膜(例如,识别用于三维(3D)数据的所识别的人的所有位置以提供给特征部检测单元246和测量单元248)。在一些具体实施中,掩膜数据单元242从分割单元采集分割数据(例如,RGB-S),并且基于该分割数据生成分割掩膜。替代地,掩膜数据单元242直接基于所获取的深度数据(例如,设备120上的深度相机)生成分割掩膜。
地板单元244被配置有指令,该指令能够由处理器执行以采集图像数据(例如,光强度数据、深度数据、相机位置信息等)并使用本文所公开的技术中的一种或多种技术生成物理环境的地板数据。例如,地板单元244采集来自光强度相机(例如,实况相机传送)的一系列光强度图像(例如,RGB数据)和来自深度相机的深度数据,并且生成地板数据(例如,相对于图像数据中所识别的一个或多个人体识别地板平面或地板上的最低点)以提供给测量单元248。在一些具体实施中,地板单元244基于识别地板的分割数据确定地板平面。替代地,地板单元244基于机器学***面,该机器学***面以提高准确性。
特征部检测单元246被配置有指令,该指令能够由处理器执行以采集图像数据(例如,光强度数据、深度数据、相机位置信息等)和掩膜数据(例如,分割掩膜),该掩膜数据识别图像的与对象(例如,人体)相关联的部分;以及使用本文所公开的技术中的一种或多种技术基于该图像数据和该掩膜数据确定人体的头部上的位置(例如,顶部)。例如,特征部检测单元246采集来自光强度相机(例如,实况相机传送)的一系列光强度图像(例如,RGB数据)、来自深度相机的深度数据和来自掩膜数据单元242的掩膜数据,并且使用本文所公开的技术中的一种或多种技术基于该图像数据和该掩膜数据确定人体的头部上的位置(例如,3D坐标)以提供给测量单元248。在一些具体实施中,特征部检测单元246通过以下方式确定人体的头部的顶部:检测人体的头部的一个或多个特征部(诸如面部);找到面部的中心;以及向上移动以找到掩膜内的头部的顶部。例如,“面部”可被定义为头部的一部分,包括眼睛、鼻子、嘴巴、面颊、耳朵、下巴等中的一者或多者,但在必要时包括全部。在一些具体实施中,识别掩膜的该部分内的第一位置包括确定面部的中心和面部的取向;以及识别掩膜的在从面部的中心开始的某一方向上(例如,从鼻子的中心向上到前额的中心的方向上)的一部分,其中该方向是基于该取向的。在一些具体实施中,识别掩膜的该部分内的第一位置还包括生成与面部对应的边界框。例如,该边界框可提供人体的所检测到的特征部(例如,人体的面部)的位置、姿势(例如,取向和位置)和形状。在一些具体实施中,该边界框是3D边界框。替代地,该边界框是2D框,该2D框可投射到3D空间中头部上的各个点而作为3D边界框。在一些具体实施中,特征部检测单元246基于查看面部正面的至少一些部分来确定头部的顶部。替代地,特征部检测单元246基于仅查看头部背面并且基于可从头部背面查看到的头部的特征部(例如,耳朵)来确定头部的顶部。
测量单元248被配置有指令,该指令能够由处理器执行以采集图像数据(例如,光强度数据、深度数据、相机位置信息等)、掩膜数据、地板数据和特征部检测数据,并且使用本文所公开的技术中的一种或多种技术将人体的头部的一部分与下方地板之间的距离确定为该人体的高度估计值。例如,测量单元248采集来自光强度相机(例如,实况相机传送)的一系列光强度图像(例如,RGB数据)和来自深度相机的深度数据,获取来自掩膜数据单元242的掩膜数据,获取来自地板单元244的地板数据,获取来自特征部检测单元246的特征部检测数据(例如,头部顶部数据),并且确定通过掩膜数据识别的人体的估计高度。例如,头部的顶部的第一位置和地板上的第二位置可各自具有对应的3D坐标,***可在坐标系的特定方向和轴线上确定这两个坐标之间的高度或距离。在一些具体实施中,估计人体的高度可能涉及使用随时间推移获取的多个距离估计值、丢弃异常值或用于对随时间推移采集的测量数据的若干数据点取平均值的其他手段。
尽管这些元件被示出为驻留在单个设备(例如,服务器110)上,但应当理解,在其他具体实施中,元件的任何组合可位于单独的计算设备中。此外,图2更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图2中单独示出的一些功能模块可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定实施方案选择的硬件、软件和/或固件的特定组合。
图3是根据一些具体实施的设备120的示例的框图。尽管示出了一些具体特征,但本领域的技术人员将从本公开中认识到,为简洁起见并且为了不模糊本文所公开的具体实施的更多相关方面,未示出各种其他特征。为此,作为非限制性示例,在一些具体实施中,设备120包括一个或多个处理单元302(例如,微处理器、ASIC、FPGA、GPU、CPU、处理核心等)、一个或多个输入/输出(I/O)设备和传感器306、一个或多个通信接口308(例如,USB、FIREWIRE、THUNDERBOLT、IEEE 802.3x、IEEE802.11x、IEEE 802.16x、GSM、CDMA、TDMA、GPS、IR、BLUETOOTH、ZIGBEE、SPI、I2C和/或相似类型的接口)、一个或多个编程(例如,I/O)接口310、一个或多个AR/VR显示器312、一个或多个面向内部和/或面向外部的图像传感器314、存储器320以及用于互连这些部件和各种其他部件的一条或多条通信总线304。
在一些具体实施中,一条或多条通信总线304包括互连和控制***部件之间的通信的电路。在一些具体实施中,该一个或多个I/O设备和传感器306包括以下中的至少一者:惯性测量单元(IMU)、加速度计、磁力计、陀螺仪、温度计、一个或多个生理传感器(例如,血压监测仪、心率监测仪、血氧传感器、血糖传感器等)、一个或多个传声器、一个或多个扬声器、触觉引擎、一个或多个深度传感器(例如,结构光、飞行时间等)等。
在一些具体实施中,一个或多个显示器312被配置为向用户呈现体验。在一些具体实施中,一个或多个显示器312对应于全息、数字光处理(DLP)、液晶显示器(LCD)、硅上液晶(LCoS)、有机发光场效应晶体管(OLET)、有机发光二极管(OLED)、表面传导电子发射器显示器(SED)、场发射显示器(FED)、量子点发光二极管(QD-LED)、微机电***(MEMS)和/或相似显示器类型。在一些具体实施中,一个或多个显示器312对应于衍射、反射、偏振、全息等波导显示器。例如,设备120包括单个显示器。又如,设备120包括针对用户的每只眼睛的显示器。
在一些具体实施中,该一个或多个图像传感器***314被配置为获取对应于物理环境105的至少一部分的图像数据。例如,该一个或多个图像传感器***314包括一个或多个RGB相机(例如,具有互补金属氧化物半导体(CMOS)图像传感器或电荷耦合器件(CCD)图像传感器)、单色相机、红外相机、基于事件的相机等。在各种具体实施中,该一个或多个图像传感器***314还包括发射光的照明源,诸如闪光灯。在各种具体实施中,该一个或多个图像传感器***314还包括相机上图像信号处理器(ISP),该相机上图像信号处理器被配置为对图像数据执行多个处理操作,该多个处理操作包括本文所述的过程和技术中的至少一部分。
存储器320包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备。在一些具体实施中,存储器320包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其他非易失性固态存储设备。存储器320任选地包括远离所述一个或多个处理单元302定位的一个或多个存储设备。存储器320包括非暂态计算机可读存储介质。在一些具体实施中,存储器320或存储器320的非暂态计算机可读存储介质存储以下程序、模块和数据结构,或它们的子集,包括可选的操作***330以及一个或多个应用程序340。
操作***330包括用于处理各种基础***服务和用于执行硬件相关任务的过程。在一些具体实施中,应用程序340被配置为管理和协调一个或多个用户的一个或多个体验(例如,一个或多个用户的单个体验,或一个或多个用户的相应群组的多个体验)。
应用程序340包括掩膜数据单元342、地板单元344、特征部检测单元346和测量单元348。掩膜数据单元342、地板单元344、特征部检测单元346和测量单元348可组合成单个应用程序或单元,或者分成一个或多个附加应用程序或单元。
掩膜数据单元342被配置有指令,该指令能够由处理器执行以采集图像数据(例如,光强度数据、深度数据、相机位置信息等)并使用本文所公开的技术中的一种或多种技术基于该图像数据生成识别图像的与对象(例如,人体)相关联的部分的掩膜(例如,分割掩膜)。例如,掩膜数据单元342采集来自光强度相机的光强度数据(例如,RGB数据)和来自深度相机的深度数据,并且生成用于所有所识别的人的分割掩膜(例如,识别用于3D数据的所识别的人的所有位置以提供给特征部检测单元346和测量单元348)。在一些具体实施中,掩膜数据单元342从分割单元采集分割数据(例如,RGB-S),并且基于该分割数据生成分割掩膜。替代地,掩膜数据单元342直接基于所获取的深度数据(例如,设备120上的深度相机)生成分割掩膜。
地板单元344被配置有指令,该指令能够由处理器执行以采集图像数据(例如,光强度数据、深度数据、相机位置信息等)并使用本文所公开的技术中的一种或多种技术生成物理环境的地板数据。例如,地板单元344采集来自光强度相机(例如,实况相机传送)的一系列光强度图像(例如,RGB数据)和来自深度相机的深度数据,并且生成地板数据(例如,相对于图像数据中所识别的一个或多个人体识别地板平面或地板上的最低点)以提供给测量单元348。在一些具体实施中,地板单元344基于识别地板的分割数据确定地板平面。替代地,地板单元344基于机器学***面,该机器学***面以提高准确性。
特征部检测单元346被配置有指令,该指令能够由处理器执行以采集图像数据(例如,光强度数据、深度数据、相机位置信息等)和掩膜数据(例如,分割掩膜),该掩膜数据识别图像的与对象(例如,人体)相关联的部分;以及使用本文所公开的技术中的一种或多种技术基于该图像数据和该掩膜数据确定人体的头部上的位置(例如,顶部)。例如,特征部检测单元346采集来自光强度相机(例如,实况相机传送)的一系列光强度图像(例如,RGB数据)、来自深度相机的深度数据和来自掩膜数据单元342的掩膜数据,并且使用本文所公开的技术中的一种或多种技术基于该图像数据和该掩膜数据确定人体的头部上的位置(例如,3D坐标)以提供给测量单元348。在一些具体实施中,特征部检测单元346通过以下方式确定人体的头部的顶部:检测人体的头部的一个或多个特征部(诸如面部);找到面部的中心;以及向上移动以找到掩膜内的头部的顶部。例如,“面部”可被定义为头部的一部分,包括眼睛、鼻子、嘴巴、面颊、耳朵、下巴等中的一者或多者,但在必要时包括全部。在一些具体实施中,识别掩膜的该部分内的第一位置包括确定面部的中心和面部的取向;以及识别掩膜的在从面部的中心开始的某一方向上(例如,从鼻子的中心向上到前额的中心的方向上)的一部分,其中该方向是基于该取向的。在一些具体实施中,识别掩膜的该部分内的第一位置还包括生成与面部对应的3D边界框。例如,该3D边界框可提供人体的所检测到的特征部(例如,人体的面部)的位置、姿势(例如,取向和位置)和形状。在一些具体实施中,特征部检测单元346基于查看面部正面的至少一些部分来确定头部的顶部。替代地,特征部检测单元346基于仅查看头部背面但是基于可从头部背面查看到的头部的特征部(例如,耳朵)来确定头部的顶部。
测量单元348被配置有指令,该指令能够由处理器执行以采集图像数据(例如,光强度数据、深度数据、相机位置信息等)、掩膜数据、地板数据和特征部检测数据,并且使用本文所公开的技术中的一种或多种技术将人体的头部的一部分与下方地板之间的距离确定为该人体的高度估计值。例如,测量单元348采集来自光强度相机(例如,实况相机传送)的一系列光强度图像(例如,RGB数据)和来自深度相机的深度数据,获取来自掩膜数据单元342的掩膜数据,获取来自地板单元344的地板数据,获取来自特征部检测单元346的特征部检测数据(例如,头部顶部数据),并且确定通过掩膜数据识别的人体的估计高度。例如,头部的顶部的第一位置和地板上的第二位置可各自具有对应的3D坐标,***可在坐标系的特定方向和轴线上确定这两个坐标之间的高度或距离。在一些具体实施中,估计人体的高度可能涉及使用随时间推移获取的多个距离估计值、丢弃异常值或用于对随时间推移采集的测量数据的若干数据点取平均值的其他手段。
尽管这些元件被示出为驻留在单个设备(例如,设备120)上,但应当理解,在其他具体实施中,元件的任何组合可位于单独的计算设备中。此外,图3更多地用作存在于特定具体实施中的各种特征部的功能描述,与本文所述的具体实施的结构示意图不同。如本领域的普通技术人员将认识到的,单独显示的项目可以组合,并且一些项目可以分开。例如,图3中单独示出的一些功能模块(例如,应用程序340)可以在单个模块中实现,并且单个功能块的各种功能可在各种具体实施中通过一个或多个功能块来实现。模块的实际数量和特定功能的划分以及如何在其中分配特征将根据具体实施而变化,并且在一些具体实施中,部分地取决于为特定实施方案选择的硬件、软件和/或固件的特定组合。
图4是根据一些具体实施的示例性方法400的流程图表示,该方法将人体的头部的一部分(例如,顶部)与下方地板之间的距离确定为该人体的高度估计值。在一些具体实施中,方法400由设备(例如,图1至图3的服务器110或设备120)执行,诸如移动设备、台式计算机、膝上型电脑或服务器设备。方法400可以在具有用于显示图像的屏幕和/或用于查看立体图像的屏幕的设备(例如,图1和图3的设备120)上执行,诸如头戴式显示器(HMD)。在一些具体实施中,方法400由处理逻辑部件(包括硬件、固件、软件或其组合)执行。在一些具体实施中,方法400由执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器执行。参考图5A至图5F示出了方法400的人体高度估计过程。
在框402处,方法400确定人体在3D坐标系中的头部上的第一位置(例如,顶部),该第一位置是基于根据该人体在物理环境中的二维(2D)图像对该头部上的特征部(例如,面部)进行检测来确定的。在一些具体实施中,这可能涉及获取掩膜,该掩膜识别与一个或多个人对应的2D坐标。例如,可利用基于2D RGB和/或深度图像的语义分割掩膜。检测人体的头部上的特征部并基于该特征部将第一位置识别为掩膜内的某一位置。例如,找到面部的中心并向上移动以找到掩膜内头部的顶部。
在一些具体实施中,确定第一位置包括获取掩膜,该掩膜识别图像的与一个或多人对应的部分;检测头部上的特征部;以及基于头部上的特征部识别该掩膜的与一个或多个人对应的一部分内的第一位置。例如,可以利用基于2D RGB图像、深度图像或RGB图像和深度图像两者的组合的语义分割掩膜。在一些具体实施中,识别掩膜的一部分内的第一位置可包括找到面部的中心并向上移动以找到掩膜内头部的顶部。
在一些具体实施中,在头部上所检测到的特征部是面部。例如,“面部”可被定义为头部的一部分,包括眼睛、鼻子、嘴巴、面颊、耳朵、下巴等中的一者或多者,但在必要时包括全部。在一些具体实施中,识别掩膜的该部分内的第一位置包括确定面部的中心和面部的取向;以及识别掩膜的在从面部的中心开始的某一方向上(例如,从鼻子的中心向上到前额的中心的方向上)的一部分,其中该方向是基于该取向的。在一些具体实施中,识别掩膜的该部分内的第一位置还包括生成与面部对应的边界框。例如,该边界框可提供人体的所检测到的特征部(例如,人体的面部)的位置、姿势(例如,取向和位置)和形状。在一些具体实施中,该边界框是3D边界框。替代地,该边界框是2D框,该2D框可投射到3D空间中头部上的各个点而作为3D边界框。在一些具体实施中,过程400基于查看面部正面的至少一些部分来确定头部的顶部。另外地,在一些具体实施中,过程400基于仅查看到头部背面并且基于可从头部背面查看到的头部的特征部(例如,耳朵)来确定头部的顶部。
在一些具体实施中,识别掩膜的该部分内的第一位置包括基于来自深度传感器的数据识别头部的边界。例如,识别人体的头部的边界可包括确定头部的侧面(例如,耳朵)、底部(例如,下巴)和顶部(例如,前额的顶部或头部上的顶部位置)。在一些具体实施中,人体可能是非直立的或者头部可能是倾斜的,并且***将使用该人体的最顶点来进行高度估计。例如,如果人体的头部向侧面倾斜,诸如靠在其肩部上,则耳朵可为进行高度估计的最顶点。在一些具体实施中,***可确定人体是非直立的或其头部是倾斜的,并且在计算人体的总体高度时通过基于确定人体是非直立的进行调整来加以考虑。在一些具体实施中,高度估计基于从人体的头部的顶部到其脚下地板的测量结果。替代地,如果人体正将其手部抬起到高过其头部,则***可确定从该人体的手部的顶部到地板平面或到另一确定的平面的高度估计值。在一些具体实施中,高度估计可自动确定图像中的人体是否正伸出双手并且期望自动计算其臂展。然后,高度估计***可检测每只手的特征部以确定所识别的人体的估计臂展。
在框404处,方法400确定在3D坐标系中第一位置下方的地板上的第二位置。在一些具体实施中,这可能涉及使用RGB数据和/或深度传感器数据来确定地板平面。另外地或替代地,可使用机器学***面分类为地板(例如,基于所检测到的高度对每个数据点进行分类)来确定地板平面。在一些具体实施中,可使用3D模型来随时间推移确定地板平面,该3D模型是使用来自个实例的数据进行更新。
在一些具体实施中,确定地板上的第二位置包括基于从设备上的相机采集的图像数据来确定地板平面。例如,使用RGB数据和/或深度传感器数据来确定地板平面。在一些具体实施中,图像数据包括深度数据,该深度数据包括多个深度点,其中基于图像数据确定地板平面包括基于深度点中的每个深度点的确定高度将该多个深度点的一部分分类为地板平面;以及基于与地板平面对应的深度点中的每个深度点的该确定高度来确定地板上的第二位置。例如,可使用机器学***面分类为地板来确定地板平面。
在框406处,方法400基于确定第一位置与第二位置之间的距离来估计高度。例如,头部的顶部的第一位置和地板上的第二位置可各自具有对应的3D坐标,***可在坐标系的特定方向和/或轴线(例如,x轴、y轴或z轴)上确定这两个坐标之间的高度或距离。在一些具体实施中,估计人体的高度可能涉及使用随时间推移获取的多个距离估计值、丢弃异常值或用于对随时间推移采集的测量数据的若干数据点取平均值的其他手段。
在一些具体实施中,图像数据包括在一段时间内采集的多个图像帧,并且基于图像数据确定地板平面包括基于包括该地板平面的图像数据生成3D模型,以及针对该多个图像帧中的每个所采集的帧迭代更新该3D模型。例如,在实况视频传送期间,随时间推移采集多个图像,并且本文所述的人体高度估计***可迭代更新视频传送的一个或多个帧的高度估计,以确定人体高度的准确描绘。每次迭代应提供更准确的高度确定。
在一些具体实施中,基于确定第一位置与第二位置之间的距离来估计高度包括确定该第一位置与该第二位置之间的多个距离估计值;使用取平均值技术识别该多个距离估计值的子集(例如,计算平均值、去除异常值等);以及基于该数据子集确定该第一位置与该第二位置之间的距离。例如,当采集图像数据(例如,RGB和深度数据)时,可随时间推移进行高度估计的滑动平均。滑动平均可基于连续更新对头部的顶部的确定、连续更新对地板平面的确定,或两者。
在一些具体实施中,人体是第一人体并且2D图像包括第一人体和第二人体,其中确定第一人体的头部上的第一位置基于确定与第二人体相对于2D图像的中心相比第一人体更靠近2D图像的中心。例如,多个人可被包括在图像数据中,并且本文所述的人体高度估计***可基于相机的标线的中心或用户利用设备的相机聚焦的图像的中心来解读要计算哪个人体的高度。在一些具体实施中,本文所述的人体高度估计***可估计图像数据中每个所检测到的人体的高度。在一些具体实施中,本文所述的人体高度估计***可等待与用户设备的屏幕上的图像中的人体的一些用户交互。例如,用户可能正在查看一群人的实况视频并轻击感兴趣的人以确定高度估计值。
在一些具体实施中,本文所述的人体高度估计***可采集2D光强度图像(例如,单个RGB图像,诸如照片)的单个帧,从该2D图像外推深度数据,并且基于该2D图像和该深度数据确定人体的高度估计值。例如,如果期望随时间推移跟踪儿童的高度,则***可采集该儿童的若干张照片(例如,从该儿童的相册扫描或拍摄照片),并且使本文所述的人体高度估计***确定每张照片的估计高度。另外,如果照片是数字的,则本文所述的人体高度估计***可将高度数据存储在数字存储的图像的元数据内。
在使用中,对于过程400,用户(例如,图1中的用户102)可利用设备(例如,智能手机,诸如设备120)采集房间内的人体(或多个人)的图像,并且本文所述的过程将采集图像数据,识别环境内的人,并且当人体正被设备上的相机扫描时确定该人体(或多个人中的每一人体)的高度估计值。在一些具体实施中,可在实况相机传送期间叠加的用户设备上自动显示和更新该人体的高度估计值。在一些具体实施中,可在扫描物理环境之后,在某种类型的用户交互之后提供该人体的高度估计值。例如,可向用户显示所识别的人的选项,并且用户可选择或点击其想要测量信息的人体,然后测量信息将被显示。因此,如下文参考图5A至图5F所示和所讨论的,高度估计单元520通过以下方式将人体的头部的一部分与下方地板之间的距离确定为该人体的高度估计值:使用掩膜数据单元530(例如,图2的掩膜数据单元242和/或图3的掩膜数据单元342)确定分割掩膜数据(例如,人体的2D掩膜);使用地板单元540(例如,图2的地板单元244和/或图3的地板单元344)确定地板平面数据;使用特征部检测单元550(例如,图2的特征部检测单元246和/或图3的特征部检测单元346)检测人体的头部上的特征部;以及通过测量单元560(例如,图2的测量单元248和/或图3的测量单元348)确定人体的头部的顶部与地板平面之间的距离。
图5A至图5F分别是示例性环境500A至示例性环境500F的***流程图,其中***可使用在该物理环境中检测到的深度和光强度图像信息将人体的头部的一部分与下方地板之间的距离确定为该人体的高度估计值。在一些具体实施中,示例性环境500A至示例性环境500F的***流程在设备(例如,图1至图3的服务器110或设备120)上执行,诸如移动设备、台式计算机、膝上型电脑或服务器设备。示例性环境500A至示例性环境500F的***流程可显示在具有用于显示图像的屏幕和/或用于查看立体图像的屏幕的设备(例如,图1和图3的设备120)上,诸如头戴式显示器(HMD)。在一些具体实施中,示例性环境500A至示例性环境500F的***流程在处理逻辑部件(包括硬件、固件、软件,或它们的组合)上执行。在一些具体实施中,示例性环境500A至示例性环境500F的***流程在执行存储在非暂态计算机可读介质(例如,存储器)中的代码的处理器上执行。
图5A是示例性环境500A的框图,其中高度估计单元520可使用在该物理环境中检测到的光强度图像信息和深度信息将人体的头部的一部分与下方地板之间的距离确定为该人体的高度估计值。示例性环境500A的***流程获取物理环境(例如,图1的物理环境105)的光强度图像数据503(例如,来自光强度相机502的实况相机传送)、深度图像数据505(例如,来自深度相机504的深度图像数据)和其他物理环境信息源(例如,来自位置传感器506的相机定位信息507),并且通过以下方式将人体的头部的一部分与下方地板之间的距离确定为该人体的高度估计值:使用掩膜数据单元530(例如,图2的掩膜数据单元242和/或图3的掩膜数据单元342)确定分割掩膜数据(例如,人体的2D掩膜);使用地板单元540(例如,图2的地板单元244和/或图3的地板单元344)确定地板平面数据;使用特征部检测单元550(例如,图2的特征部检测单元246和/或图3的特征部检测单元346)检测人体的头部上的特征部;以及通过测量单元560(例如,图2的测量单元248和/或图3的测量单元348)确定人体的头部的顶部与地板平面之间的距离。
测量单元560被配置有指令,该指令能够由处理器执行以采集图像数据(例如,光强度数据、深度数据、相机位置信息等)、掩膜数据、地板数据和特征部检测数据,并且使用本文所公开的技术中的一种或多种技术将人体的头部的一部分与下方地板之间的距离确定为该人体的高度估计值。例如,测量单元560(例如,图2的测量单元248和/或图3的测量单元348)采集来自光强度相机502(例如,实况相机传送)的一系列光强度图像(例如,RGB数据503)和来自深度相机504的深度数据505,获取来自掩膜数据单元530的掩膜数据,获取来自地板单元540的地板数据,获取来自特征部检测单元550的特征部检测数据(例如,头部顶部数据),并且确定通过掩膜数据识别的人体的估计高度。例如,头部的顶部的第一位置和地板上的第二位置可各自具有对应的3D坐标,***可在坐标系的特定方向和轴线上确定这两个坐标之间的高度或距离。在一些具体实施中,估计人体的高度可能涉及使用随时间推移获取的多个距离估计值、丢弃异常值或用于对随时间推移采集的测量数据的若干数据点取平均值的其他手段。
在一个示例性具体实施中,环境500A包括采集或获取物理环境的数据(例如,来自一个或多个图像源的图像数据)的图像合成流水线。示例性环境500A是采集多个图像帧的图像数据(例如,光强度数据和深度数据)的示例。图像源可包括采集物理环境的深度数据505的深度相机504;以及采集光强度图像数据503(例如,一系列RGB图像帧)的光强度相机502(例如,RGB相机)。对于定位信息,一些具体实施包括视觉惯性测距(VIO)***,以通过使用相机序列图像(例如,光强度数据503)确定等效测距信息来估计行进的距离。替代地,本公开的一些具体实施可包括SLAM***(例如,位置传感器506)。该SLAM***可包括独立于GPS并且提供实时同时定位与建图的多维(例如,3D)激光扫描和范围测量***。该SLAM***可生成并管理由来自环境中对象的激光扫描的反射而产生的非常准确的点云数据。随着时间推移,准确地跟踪点云中的任何点的移动,使得SLAM***可使用点云中的点作为位置的参考点,在其行进通过环境时保持对其位置和取向的精确理解。
图5B是示例性环境500B的框图,其中掩膜数据单元530(例如,图2的掩膜数据单元242和/或图3的掩膜数据单元342)可使用所采集的图像数据512(例如,深度数据,诸如3D点云、RGB数据等)和/或所采集的语义分割数据(例如,语义标记图像数据内的对象和/或人的RGB-S数据)来生成所掩膜的数据531(例如,分割掩膜)。具体地,环境500B正在采集图像512(例如,来自图1的物理环境105的图像数据,其中用户102正在采集包括对象/人体104和对象/人体106的图像数据)。所掩膜的数据532表示要掩膜的对象(例如,人),这意味着仅示出所识别的对象(例如,人)并且掩膜掉剩余信息。例如,所掩膜的图像数据513示出了所确定的掩膜数据,该所确定的掩膜数据包括掩膜533a(例如,对象/人体104)和掩膜533b(例如,对象/人体106)。掩膜数据单元530可将所掩膜的图像信息发送给特征部检测单元(例如,图2的特征部检测单元246和/或图3的特征部检测单元346)。替代地,掩膜数据单元530可将所识别的对象/人体的所识别的像素位置发送给特征部检测单元,然后该特征部检测单元可确定是包括还是排除所识别的对象/人体(例如,基于置信度值)。
在一些具体实施中,掩膜数据单元530使用机器学习模型,其中分割掩膜模型可被配置为识别图像数据的像素或体素的语义标签。分割掩膜机器学习模型可生成分割掩膜,该分割掩膜识别与运动(例如,人经常移动,而家具不移动)相关联的特定类型的对象(例如,人体、猫)。在一些具体实施中,掩膜可使用值0或值1来指示对象,以指示是否应将信息包括在3D模型中(例如,运动对象)。在一些具体实施中,分割机器学习模型可为由处理器芯片上的神经引擎/电路执行的神经网络,该处理器芯片经调谐以使AI软件加速。在一些具体实施中,分割掩膜可包括像素级的置信度值。例如,像素位置可被标记为0.8椅子,因此,***对该像素位置的x,y,z坐标是椅子的置信度为80%。当获取附加数据时,可调整置信等级。在一些具体实施中,机器学习模型是神经网络(例如,人工神经网络)、决策树、支持向量机、贝叶斯网络等。
图5C是示例性环境500C的框图,其中掩膜数据单元530(例如,图2的掩膜数据单元242和/或图3的掩膜数据单元342)可使用所获取的图像数据514(例如,深度数据,诸如3D点云、RGB数据等)和/或所获取的语义分割数据(例如,语义标记图像数据内的对象和/或人的RGB-S数据)来生成所掩膜的数据531。具体地,环境500C是采集图像514(例如,来自图1的物理环境105的图像数据)的示例。然而,图像514与环境500B中的图像512不同,因为用户102正在采集包括对象/人体104和对象/人体106的图像数据,但是对象/人体106站在对象/人体104后并且被对象/人体104部分地阻挡。所掩膜的数据531表示要掩膜的对象(例如,人),这意味着仅示出所识别的对象(例如,人)并且掩膜掉剩余信息。例如,所掩膜的图像数据515示出了所确定的掩膜数据,该所确定的掩膜数据包括掩膜534a(例如,对象/人体104)和掩膜534b(例如,对象/人体106)。在一些具体实施中,使用本文所述的技术,即使掩膜534a和534b重叠,特征部检测单元也可基于针对掩膜534a检测人体的头部上的特征部(诸如面部上的特征部)而在掩膜534a与534b之间解读。掩膜数据单元530可将所掩膜的图像信息发送给特征部检测单元(例如,图2的特征部检测单元246和/或图3的特征部检测单元346)。替代地,掩膜数据单元530可将所识别的对象/人体的所识别的像素位置发送给特征部检测单元,然后该特征部检测单元可确定是包括还是排除所识别的对象/人体(例如,基于置信度值)。
图5D是示例性环境500D的框图,其中地板单元540(例如,图2的地板单元244和/或图3的地板单元344)可使用所采集的图像数据512(例如,深度数据,诸如3D点云、RGB数据等)和/或所采集的语义分割数据(例如,语义标记图像数据内的特征部(诸如地板)的RGB-S数据)来生成地板数据531(例如,3D地板平面等)。具体地,环境500D正在采集图像512(例如,来自图1的物理环境105的图像数据,其中用户102正在采集包括对象/人体104和对象/人体106的图像数据)。地板数据542使用本文所述的技术表示所识别的地板平面。当估计人体相对于该人体的头部的顶部和所确定的地板或地板平面的高度时,地板单元530可将地板平面信息发送给测量单元560以用作3D坐标系的第二位置。
图5E是示例性环境500E的框图,其中地板单元540(例如,图2的地板单元244和/或图3的地板单元344)可使用所采集的图像数据512(例如,深度数据,诸如3D点云505、RGB数据等)和/或所采集的语义分割数据(例如,语义标记图像数据内的特征部(诸如地板)的RGB-S数据)来生成地板数据572(例如,3D地板平面573等)。具体地,环境500E正在采集图像512(例如,来自图1的物理环境105的图像数据,其中用户102正在采集包括对象/人体104和对象/人体106的图像数据)和用于深度数据的3D点云505。地板数据572使用本文所述的技术表示所识别的地板平面。例如,地板单元540使用深度分类单元570基于机器学***面573,该机器学***面的高度时,地板单元540可将地板平面信息573发送给测量单元560以用作3D坐标系的第二位置。
图5F是示例性环境500F的框图,其中特征部检测单元550(例如,图2的特征部检测单元246和/或图3的特征部检测单元346)可使用所采集的图像数据(例如,光强度数据503、深度数据505)和来自掩膜数据单元530的所采集的掩膜数据531将与人体的头部的顶部有关的信息发送给测量单元。具体地,环境500F正在采集图像512(例如,来自图1的物理环境105的图像数据,其中用户102正在采集图像数据)和包括用于正站立的对象/人体106的掩膜533a的掩膜图像数据513。在一个示例性具体实施中并且出于说明的目的,特征部检测单元550包括边界框单元552、中心确定单元554和头部顶部确定单元556。边界框单元552生成围绕头部的所检测到的特征部的边界框数据553。具体地,边界框单元552根据掩膜图像数据的所掩膜的数据(例如,人体)检测人体的头部上的特征部,并且基于所检测到的特征部识别面部。中心确定单元554利用边界框数据553并且确定头部的侧面(例如,第一侧面555a和第二侧面555b)。在确定该人体的头部的侧面之后,中心确定单元554确定与该人体对应的中心线555c。头部顶部确定单元556利用中心线555c,然后确定头部顶部数据(例如,3D坐标),该头部顶部数据被发送给测量单元以估计人体的高度。
在一些具体实施中,示例性环境500包括3D表示单元,该3D表示单元被配置有指令,该指令能够由处理器执行以获取传感器数据(例如,RGB数据503、深度数据505等)和测量数据562,并且使用一种或多种技术生成具有测量结果的3D表示数据。例如,该3D表示单元利用来自深度相机404(例如,渡越时间传感器)的稀疏深度图和其他物理环境信息源(例如,相机定位信息,诸如来自传感器506或相机SLAM***等的位置/运动数据507)分析来自光强度相机402的RGB图像,以生成3D表示数据(例如,表示图1的物理环境的3D模型)。在一些具体实施中,3D表示数据可为使用具有相关联的语义标签的3D点云表示3D环境中的表面的3D表示。3D表示可以是针对每个所检测到的感兴趣的对象(诸如人体104/106、桌子142和椅子140)的3D边界框。在一些具体实施中,3D表示数据是3D重建网格,该3D重建网格是基于在物理环境中检测到的深度信息而使用网格化算法生成的,深度信息被集成(例如,融合)以重塑该物理环境。网格化算法(例如,双行进立方体网格化算法、泊松网格化算法、四面体网格化算法等)可用于生成表示房间(例如,物理环境105)和/或房间内的对象(例如,人体104/106、桌子142、椅子140等)的网格。在一些具体实施中,对于使用网格的3D重建,为了有效地减少在重建过程中使用的存储器的量,使用了体素散列方法,其中3D空间被分成体素块,由散列表使用其3D位置作为键来引用。体素块仅围绕对象表面构造,从而释放原本将用于存储空余空间的存储器。体素散列方法也比当时的竞争方法(诸如基于八叉树的方法)更快。此外,它支持GPU和CPU之间的数据流,在GPU中,存储器通常是有限的,在CPU中,存储器更丰富。
在一些具体实施中,示例性环境500A还包括集成单元,该集成单元被配置有指令,该指令能够由处理器执行以获取图像数据的子集(例如,光强度数据403、深度数据405等)和定位信息(例如,来自位置/运动传感器506的相机姿态信息)并且使用一种或多种已知技术对图像数据的子集进行集成(例如,融合)。例如,图像集成单元从图像源(例如,光强度相机502和深度相机504)接收深度图像数据505的子集(例如,稀疏深度数据)和强度图像数据503的子集(例如,RGB),并且对图像数据的子集进行集成并生成3D数据。3D数据可包括密集3D点云(例如,对象周围的多个图像帧的不完美深度图和相机姿态),该密集3D点云被发送到3D表示单元(例如,生成图像数据的3D模型的单元)。也可将3D数据体素化。
在一些具体实施中,示例性环境500A还包括语义分割单元,该语义分割单元被配置有指令,该指令能够由处理器执行以获取光强度图像数据(例如,光强度数据503)的子集并使用一种或多种已知技术来识别和分割墙结构(墙、门、窗等)和对象(例如,人体、桌子、茶壶、椅子、花瓶等)。例如,分割单元从图像源(例如,光强度相机502)接收强度图像数据503的子集,并且生成分割数据(例如,语义分割数据,诸如RGB-S数据)。在一些具体实施中,分割单元使用机器学习模型,其中语义分割模型可被配置为识别图像数据的像素或体素的语义标记。在一些具体实施中,机器学习模型是神经网络(例如,人工神经网络)、决策树、支持向量机、贝叶斯网络等。
本文阐述了许多具体细节以提供对要求保护的主题的全面理解。然而,本领域的技术人员将理解,可以在没有这些具体细节的情况下实践要求保护的主题。在其他实例中,没有详细地介绍普通技术人员已知的方法、设备或***,以便不使要求保护的主题晦涩难懂。
除非另外特别说明,否则应当理解,在整个说明书中,利用诸如“处理”、“计算”、“计算出”、“确定”和“识别”等术语的论述是指计算设备的动作或过程,诸如一个或多个计算机或类似的电子计算设备,其操纵或转换表示为计算平台的存储器、寄存器或其他信息存储设备、传输设备或显示设备内的物理电子量或磁量的数据。
本文论述的一个或多个***不限于任何特定的硬件架构或配置。计算设备可以包括部件的提供以一个或多个输入为条件的结果的任何合适的布置。合适的计算设备包括基于多用途微处理器的计算机***,其访问存储的软件,该软件将计算***从通用计算设备编程或配置为实现本发明主题的一种或多种具体实施的专用计算设备。可以使用任何合适的编程、脚本或其他类型的语言或语言的组合来在用于编程或配置计算设备的软件中实现本文包含的教导内容。
本文所公开的方法的具体实施可以在这样的计算设备的操作中执行。上述示例中呈现的框的顺序可以变化,例如,可以将框重新排序、组合和/或分成子块。某些框或过程可以并行执行。
本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。本文包括的标题、列表和编号仅是为了便于解释而并非旨在为限制性的。
还将理解的是,虽然术语“第一”、“第二”等可能在本文中用于描述各种元素,但是这些元素不应当被这些术语限定。这些术语只是用于将一个元件与另一元件区分开。例如,第一节点可以被称为第二节点,并且类似地,第二节点可以被称为第一节点,其改变描述的含义,只要所有出现的“第一节点”被一致地重命名并且所有出现的“第二节点”被一致地重命名。第一节点和第二节点都是节点,但它们不是同一个节点。
本文中所使用的术语仅仅是为了描述特定具体实施并非旨在对权利要求进行限制。如在本具体实施的描述和所附权利要求中所使用的那样,单数形式的“一个”和“该”旨在也涵盖复数形式,除非上下文清楚地另有指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元件和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、部件,和/或其分组。
如本文所使用的,术语“如果”可以被解释为表示“当所述先决条件为真时”或“在所述先决条件为真时”或“响应于确定”或“根据确定”或“响应于检测到”所述先决条件为真,具体取决于上下文。类似地,短语“如果确定[所述先决条件为真]”或“如果[所述先决条件为真]”或“当[所述先决条件为真]时”被解释为表示“在确定所述先决条件为真时”或“响应于确定”或“根据确定”所述先决条件为真或“当检测到所述先决条件为真时”或“响应于检测到”所述先决条件为真,具体取决于上下文。
本发明的前述描述和概述应被理解为在每个方面都是例示性和示例性的,而非限制性的,并且本文所公开的本发明的范围不仅由例示性具体实施的详细描述来确定,而是根据专利法允许的全部广度。应当理解,本文所示和所述的具体实施仅是对本发明原理的说明,并且本领域的技术人员可以在不脱离本发明的范围和实质的情况下实现各种修改。

Claims (20)

1.一种方法,包括:
在具有处理器的设备处:
确定人体在三维(3D)坐标系中的头部上的第一位置,所述第一位置是基于根据所述人体在物理环境中的二维(2D)图像对所述头部上的特征部进行检测来确定的;
确定在所述3D坐标系中所述第一位置下方的地板上的第二位置;以及
基于确定所述第一位置与所述第二位置之间的距离来估计高度。
2.根据权利要求1所述的方法,其中确定所述第一位置包括:
获取掩膜,所述掩膜识别图像的与一个或多个人对应的部分;
检测所述头部上的特征部;以及基于所述头部上的特征部识别所述掩膜的与一个或多个人对应的一部分内的所述第一位置。
3.根据权利要求1所述的方法,其中所述特征部是面部。
4.根据权利要求3所述的方法,其中识别所述掩膜的所述部分内的所述第一位置包括:
确定所述面部的中心和所述面部的取向;以及
在从所述面部的所述中心开始的方向上识别所述掩膜的一部分,其中所述方向基于所述取向。
5.根据权利要求4所述的方法,其中识别所述掩膜的所述部分内的所述第一位置还包括生成与所述面部对应的边界框。
6.根据权利要求1所述的方法,其中识别所述掩膜的所述部分内的所述第一位置包括基于来自深度传感器的数据识别所述头部的边界。
7.根据权利要求1所述的方法,其中确定所述地板上的所述第二位置包括基于从所述设备上的相机采集的图像数据来确定地板平面。
8.根据权利要求7所述的方法,其中所述图像数据包括深度数据,所述深度数据包括多个深度点,其中基于所述图像数据确定所述地板平面包括:
基于所述深度点中的每个深度点的确定高度将所述多个深度点的一部分分类为所述地板平面;以及
基于与所述地板平面对应的所述深度点中每个深度点的所述确定高度来确定所述地板上的所述第二位置。
9.根据权利要求7所述的方法,其中所述图像数据包括在一段时间内采集的多个图像帧,其中基于所述图像数据确定所述地板平面包括:
基于包括所述地板平面的所述图像数据生成3D模型;以及
针对所述多个图像帧中的每个所采集的帧迭代更新所述3D模型。
10.根据权利要求1所述的方法,其中基于确定所述第一位置与所述第二位置之间的所述距离来估计所述高度包括:
确定所述第一位置与所述第二位置之间的多个距离估计值;
使用取平均值技术识别所述多个距离估计值的子集;以及
基于所述数据子集确定所述第一位置与所述第二位置之间的所述距离。
11.根据权利要求1所述的方法,其中所述人体是第一人体并且所述2D图像包括所述第一人体和第二人体,其中确定所述第一人体的所述头部上的所述第一位置基于确定与所述第二人体相对于所述2D图像的中心相比,所述第一人体更靠近所述2D图像的所述中心。
12.一种设备,包括:
非暂态计算机可读存储介质;和
一个或多个处理器,所述一个或多个处理器耦接至所述非暂态计算机可读存储介质,其中所述非暂态计算机可读存储介质包括程序指令,所述程序指令在所述一个或多个处理器上执行时,使所述设备执行包括以下项的操作:
确定人体在三维(3D)坐标系中的头部上的第一位置,所述第一位置是基于根据所述人体在物理环境中的二维(2D)图像对所述头部上的特征部进行检测来确定的;
确定在所述3D坐标系中所述第一位置下方的地板上的第二位置;以及
基于确定所述第一位置与所述第二位置之间的距离来估计高度。
13.根据权利要求12所述的设备,其中确定所述第一位置包括:
获取掩膜,所述掩膜识别图像的与一个或多个人对应的部分;
检测所述头部上的特征部;以及
基于所述头部上的特征部识别所述掩膜的与一个或多个人对应的一部分内的所述第一位置。
14.根据权利要求12所述的设备,其中所述特征部是面部。
15.根据权利要求14所述的设备,其中识别所述掩膜的所述部分内的所述第一位置包括:
确定所述面部的中心和所述面部的取向;以及
在从所述面部的所述中心开始的方向上识别所述掩膜的一部分,其中所述方向基于所述取向。
16.根据权利要求4所述的设备,其中识别所述掩膜的所述部分内的所述第一位置还包括生成与所述面部对应的边界框。
17.根据权利要求12所述的设备,其中识别所述掩膜的所述部分内的所述第一位置包括基于来自深度传感器的数据识别所述头部的边界。
18.根据权利要求12所述的设备,其中确定所述地板上的所述第二位置包括基于从所述设备上的相机采集的图像数据来确定地板平面。
19.根据权利要求18所述的设备,其中所述图像数据包括深度数据,所述深度数据包括多个深度点,其中基于所述图像数据确定所述地板平面包括:
基于所述深度点中的每个深度点的确定高度将所述多个深度点的一部分分类为所述地板平面;以及
基于与所述地板平面对应的所述深度点中每个深度点的所述确定高度来确定所述地板上的所述第二位置。
20.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质在计算机上存储计算机可执行的程序指令以执行包括以下项的操作:
确定人体在三维(3D)坐标系中的头部上的第一位置,所述第一位置是基于根据所述人体在物理环境中的二维(2D)图像对所述头部上的特征部进行检测来确定的;
确定在所述3D坐标系中所述第一位置下方的地板上的第二位置;以及
基于确定所述第一位置与所述第二位置之间的距离来估计高度。
CN202110282036.3A 2020-03-17 2021-03-16 人体高度估计 Pending CN113397526A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062990589P 2020-03-17 2020-03-17
US62/990,589 2020-03-17
US17/182,344 2021-02-23
US17/182,344 US11763477B2 (en) 2020-03-17 2021-02-23 Person height estimation

Publications (1)

Publication Number Publication Date
CN113397526A true CN113397526A (zh) 2021-09-17

Family

ID=77677634

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110282036.3A Pending CN113397526A (zh) 2020-03-17 2021-03-16 人体高度估计

Country Status (1)

Country Link
CN (1) CN113397526A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007078355A (ja) * 2005-09-09 2007-03-29 Toa Corp 身長測定装置
US20130184592A1 (en) * 2012-01-17 2013-07-18 Objectvideo, Inc. System and method for home health care monitoring
CN106419923A (zh) * 2016-10-27 2017-02-22 南京阿凡达机器人科技有限公司 一种基于单目机器视觉的身高测量方法
CN106683070A (zh) * 2015-11-04 2017-05-17 杭州海康威视数字技术股份有限公司 基于深度相机的身高测量方法及装置
US20170273639A1 (en) * 2014-12-05 2017-09-28 Myfiziq Limited Imaging a Body
CN110715647A (zh) * 2018-07-13 2020-01-21 苹果公司 使用多次三维扫描进行对象检测

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007078355A (ja) * 2005-09-09 2007-03-29 Toa Corp 身長測定装置
US20130184592A1 (en) * 2012-01-17 2013-07-18 Objectvideo, Inc. System and method for home health care monitoring
US20170273639A1 (en) * 2014-12-05 2017-09-28 Myfiziq Limited Imaging a Body
CN106683070A (zh) * 2015-11-04 2017-05-17 杭州海康威视数字技术股份有限公司 基于深度相机的身高测量方法及装置
CN106419923A (zh) * 2016-10-27 2017-02-22 南京阿凡达机器人科技有限公司 一种基于单目机器视觉的身高测量方法
CN110715647A (zh) * 2018-07-13 2020-01-21 苹果公司 使用多次三维扫描进行对象检测

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YINGYING LIU, ET AL, 《PLOS ONE》/SINGLE CAMERA MULTI-VIEW ANTHROPOMETRIC MEASUREMENT OF HUMAN HEIGHT AND MID-UPPER ARM CIRCUMFERENCE USING LINEAR REGRESSION, vol. 13, no. 4, 18 April 2018 (2018-04-18), pages 1 - 22 *

Similar Documents

Publication Publication Date Title
US20210279967A1 (en) Object centric scanning
CN113315878B (zh) 单程对象扫描
US11763477B2 (en) Person height estimation
US10832488B2 (en) Optimizing head mounted displays for augmented reality
US11922580B2 (en) Floorplan generation based on room scanning
JP2023175052A (ja) 3次元空間内の姿勢推定
US11328481B2 (en) Multi-resolution voxel meshing
US11574485B2 (en) Automatic measurements based on object classification
CN116778368A (zh) 使用语义分割的平面检测
US11302023B2 (en) Planar surface detection
CN112306228A (zh) 计算机生成渲染环境的视觉搜索细化
KR102390797B1 (ko) 3d 의미론적 메시로부터의 객체 관계 추정
CN113140032A (zh) 基于房间扫描的平面图生成
US11468275B1 (en) Computer vision using a prior probability distribution selected based on an image capture condition
CN113678173A (zh) 用于虚拟对象的基于图绘的放置的方法和设备
CN113397526A (zh) 人体高度估计
CN116402981A (zh) 切换用于生成3d表示的操作模式
US11636578B1 (en) Partial image completion
CN113139992A (zh) 多分辨率体素网格化
CN113137916B (zh) 基于对象分类的自动测量
US11783558B1 (en) Object correction using scene graphs
US20240212201A1 (en) User location determination based on object interactions
US11605207B2 (en) Information processing device, information processing method, and program
CN118244887A (zh) 基于对象交互的用户位置确定

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination