具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
针对现有技术中用户在医院体检完后,只能获取本次体检结果。若用户想要了解自身的成长情况,需要翻看之前的体检结果,将多次的体检结果进行对比,操作复杂且耗时长。此外,用户只有去医院才能获取体检结果,给用户带来较大的不便性的问题,本发明实施例中通过结构光获取活体对象的第一躯体3D模型,而后与之前存储的多个第二躯体3D模型作比对,根据与每个第二躯体3D模型之间的差异部分,分析得到活体对象的体检数据变化趋势,而后根据体检数据变化趋势,推送对应的体检变化趋势信息。由此,能够向活体对象推送体检变化趋势信息,从而可以使活体对象了解自身的成长情况。此外,通过结构光获取活体对象的躯体3D模型,能够提升体检数据变化趋势的准确性,而且用户可以随时获取推送信息,有效提升该方法的及时性。
下面参考附图描述本发明实施例的信息推送方法和装置。
图1为本发明实施例提供的一种信息推送方法的流程示意图。
如图1所示,该信息推送方法包括以下步骤:
步骤101,在第一时刻,通过结构光获取活体对象的第一躯体3D模型。
其中,活体对象指具有生命力的人和动物。
在本发明的实施例中,第一时刻可以由用户进行确定,例如第一时刻可以为当前时刻。第一躯体3D模型为活体对象在第一时刻时所对应的3D模型。
由于人和动物在24小时内的成长速度并不明显,因此,本实施例中,第一时刻的时间格式可以为:YYYYMMDD,例如为20170806。
本实施例中,结构光(Structured Light)为投射特定的光到物体表面,由于物体表面是凹凸不平的,物体表面的变化以及可能的间隙会对照射来的光进行调制,再将发射出去。摄像头采集该物体表面所反射的光,采集的发射光在摄像头中成像,所成图像上会携带光的畸变信息。一般情况下光的畸变程度与物体上各特征点的深度呈正比。进一步地,可以根据图像中携带的畸变信息计算出物体上各个特征点深度信息等,进而结合摄像头采集的颜色信息,能够完成对物体的三维空间的复原。
作为一种示例,生成结构光的设备可以是将光点、线、光栅、格网或斑纹投影到被测的物体表面上的投影设备或仪器,也可以是生成激光束的激光器。如图2所示,不同结构光的设备可以形成不同形式的结构光。
本发明实施例的信息推送方法,可以应用于终端设备上,该终端设备可以为智能手机、平板电脑、ipad等。终端设备上可以安装有应用程序,通过应用程序可以调用生成结构光的设备,即投射装置,然后由投射装置向活体对象发出结构光。当结构光照射到活体对象的身体上之后,由于活体对象的身体表面并不是平整的,所以其身体在对结构光进行反射时,会造成结构光的畸变。进一步地,由终端设备上的摄像头采集反射的结构光,进而在摄像头中的图像传感器上形成携带有畸变信息的二维图像。由于所形成的图像中包括活体对象的身体上各特征点的深度信息,进而可以根据深度信息形成身体的深度图像,根据该深度图像重新建立活体对象的躯体3D模型。
优选地,本发明实施例中的摄像头可以为终端的后置摄像头。由此,当拿起终端对准活体对象时,可调用终端的投射装置和后置摄像头完成对该活体对象的躯体3D模型的获取。
作为一种示例,图3为本发明实施例中一个投射结构光的装置组合示意图。图3中仅以结构光的投影集合为线的集合进行示例,对于投影集合为散斑图案的结构光的原理类似。如图3所示,该装置中可以包括光学投射器和摄像机,其中,光学投射器将一定模式的结构光投射于活体对象所处的空间内,在活体对象的身体表面上形成由身体表面的形状所调制的光条的二维图像。该二维图像由处于另一位置的摄像机探测,从而获得畸变的光条二维图像。光条的畸变程度取决于光学投射器与摄像机之间的相对位置和用户身体表面的轮廓,直观上,沿光条显示出的位移(或偏移)与活体对象身体表面的高度成比例,扭曲表示了平面的变化,不连续显示了活体对象身体表面的物理间隙,当光学投射器与摄像机之间的相对位置一定时,由畸变的光条二维图像坐标即可重现活体对象的身体表面的三维轮廓,即获得活体对象的躯体3D模型。
作为一种示例,可以采用公式(1)计算获得活体对象的躯体3D模型,其中,公式(1)如下所示:
其中,(x,y,z)为获取的活体对象的躯体3D模型的坐标,b为投射装置与摄像头之间的基线间距,F为摄像头的焦距,θ为投射装置向活体对象的身体所处的空间投射预设的结构光时的投影角度,(x',y')为带有结构光的活体对象的二维畸变图像的坐标。
因此,在用户确定某一时刻时,本实施例中记为第一时刻,可以通过结构光获取活体对象的第一躯体3D模型。
步骤102,查询对同一活体对象在早于第一时刻的多个第二时刻,通过结构光获取的多个第二躯体3D模型。
本实施例中,多个第二时刻早于第一时刻,具体实现时,可以由用户确定每个第二时刻之间的时间间隔。例如,可以以固定的时间间隔,均匀地取多个第二时刻,比如当第一时刻为20170806时,可以以时间间隔为3天,均匀地取多个第二时刻,例如多个第二时刻可以为:20170803、20170731、20170728、20170725、…。或者,也可以随机指定多个第二时刻的具体时间,即以非均匀地时间间隔取多个第二时刻,例如为多个第二时刻可以为:20170801、20170631、20170528、20170425、…。或者,可以取在第一时刻之前的所有时刻,并作为多个第二时刻,即多个第二时刻为:20170805、20170804、20170803、20170802、…,对此不作限制。
进一步地,第二时刻的个数也可以由用户进行设置,有效提升该方法的灵活性及适用性。具体地,当确定第二时刻的个数时,即可以获知首个第二时刻,例如首个第二时刻可以为20170716。当以固定的时间间隔,均匀地取多个第二时刻,例如时间间隔为3天时,多个第二时刻可以为:20170803、20170731、20170728、20170725、20170722、20170719、20170716。
可选地,用户每次使用终端设备获取活体对象的躯体3D模型后,终端设备可以将活体对象的躯体3D模型保存在本地的3D模型数据库中,或者上传至服务器。在用户下一次使用终端设备获取活体对象的躯体3D模型时,可以从本地存储的3D模型数据库中获取之前时刻存储的活体对象的躯体3D模型。
具体地,在确定多个第二时刻时,可以从预先存储的数据库中获取在每个第二时刻,通过结构光获取的多个第二躯体3D模型。
步骤103,分别对比第一躯体3D模型与每个第二躯体3D模型之间的差异部分。
本实施例中,由于每个部位均具有深度信息,因此,可以根据活体对象的躯体3D模型中的每个部位的深度信息,对其进行识别,从而可以识别出活体对象的每个部位。
由于活体对象的躯体3D模型中包括不同的身体部位,对于不同的身体部位而言,第一躯体3D模型与每个第二躯体3D模型之间的差异可能不同。因此,本实施例中,对于每个第二躯体3D模型而言,可以将第一躯体3D模型中的每个部位的体检数据与第二躯体3D模型中对应的部位的体检数据进行比较,从而获取每个部位之间的差异部分。
其中,体检数据中可以包括身高、胸围、腰围、臀围等信息。
举例而言,当多个第二时刻为:20170803、20170731、20170728、20170725、20170722、20170719、20170716时,对于腰部而言,腰部对应的体检数据可以为腰围,第一躯体3D模型中的腰围例如为74cm,多个第二躯体3D模型中的腰围例如可以分别为73.98cm、74.03cm、73.95cm、73.95cm、73.96cm、73.99cm、74.05cm,则腰围之间的差异部位分别为+0.02cm、-0.03cm、+0.05cm、+0.05cm、+0.04cm、+0.01cm、-0.05cm。
进而可以根据第一躯体3D模型中的每个部位与每个第二躯体3D模型中对应的部位之间的差异部分,形成第一躯体3D模型与每个第二躯体3D模型之间的差异部分。
步骤104,根据与每个第二躯体3D模型之间的差异部分,分析得到从首个第二时刻至第一时刻的时段内,活体对象的体检数据变化趋势。
本发明实施例中,活体对象的体检数据是由活体对象所有身体部位的体检数据所形成的。
可选地,可以根据每个身体部位的体检数据的变化趋势,形成活体对象的体检数据变化趋势。进一步地,为了使得体检数据变化趋势更加直观化,可以将体检数据变化趋势制作成图表。
仍以上述例子示例,对于腰部而言,可以得到从首个第二时刻至第一时刻的时段内,活体对象的腰围数据的变化趋势,例如,参见图4,图4为本发明实施例中腰围变化趋势曲线示意图。
步骤105,根据体检数据变化趋势,推送对应的体检变化趋势信息。
在得到活体对象的体检数据变化趋势后,可以推送对应的体检变化趋势信息。例如,可以将体检数据变化趋势图推送至活体对象,使得推送信息更加直观化。
本实施例的信息推送方法,通过在第一时刻,通过结构光获取活体对象的第一躯体3D模型;查询对同一活体对象在早于第一时刻的多个第二时刻,通过结构光获取的多个第二躯体3D模型;分别对比第一躯体3D模型与每个第二躯体3D模型之间的差异部分根据与每个第二躯体3D模型之间的差异部分,分析得到从首个第二时刻至第一时刻的时段内,活体对象的体检数据变化趋势;根据体检数据变化趋势,推送对应的体检变化趋势信息。本实施例中,通过向活体对象推送体检变化趋势信息,从而可以使活体对象了解自身的成长情况。此外,通过结构光获取活体对象的躯体3D模型,能够提升体检数据变化趋势的准确性,而且用户可以随时获取推送信息,有效提升该方法的及时性。
作为本发明实施例的一种可能的实现方式,参见图5,在图1所示实施例的基础上,在步骤101之后,该信息推送方法还可以包括以下步骤:
步骤501,向活体对象的身体发射结构光。
终端设备上可以安装有应用程序,通过应用程序可以调用生成结构光的设备即投射装置,然后由投射装置向活体对象的身体发出结构光。
步骤502,采集结构光在身体上的反射光并形成身体的深度图像。
当向活体对象的身体发射的结构光到达身体之后,由于身体上各个部位会对结构光造成阻碍,结构光会在身体处发生反射,此时,可以通过终端中设置的摄像头对结构光在身体上的反射光进行采集,通过采集到的反射光可以形成身体的深度图像。
步骤503,基于深度图像重构第一躯体3D模型。
具体地,身体的深度图像中可能包括活体对象和背景,首先对深度图像进行去噪处理及平滑处理,来获取活体对象所在区域的图像,进而通过前后景分割等处理,将活体对象与背景图分割。
在将活体对象从深度图像中提取出来后,即可从深度图像中提取密集点数据,进而根据提取的密集点数据,将这些密集点连接成网络。比如根据各个点在空间上的距离关系,将相同平面的点,或者距离在阈值范围内的点连接成三角形网络,进而将这些网络进行拼接,就可以生成第一躯体3D模型。
步骤504,从第一躯体3D模型中获取活体对象的体检数据。
具体实现时,可以预先确定需要测量的活体对象的身体部位,而后从获取的第一躯体3D模型中识别出需要测量的每个部位,例如,可以由用户设定需要测量的部位,例如应用程序的界面可以具有文本输入框和/或拾音装置,用户可以通过输入文本数据和/或语音数据选定活体对象需要测量的每个部位。或者,可以通过应用程序自动设定需要测量的部位,对比不做限制。进而可以通过从第一躯体3D模型中获取的每个部位的体检数据形成活体对象的体检数据。
步骤505,根据第一躯体3D模型识别活体对象对应的目标类型。
本实施例中,目标类型为活体对象所属的具体物种,例如可以为人、猫、狗、兔子等。
可以理解的是,由于不同的物种具有不同的体检数据,因此,本实施例中,可以根据第一躯体3D模型识别活体对象对应的目标类型,即确定活体对象所属的具体物种。
步骤506,根据体检数据和活体对象对应的目标类型,获取与活体对象匹配的用于提高活体对象身体素质的推送信息。
具体实现时,可以根据活体对象对应的目标类型,获取与目标类型对应的体检参考信息,而后将活体对象的体检数据与体检参考信息进行对比,如果体检数据超出体检参考信息,则向活体对象推送健身建议,如果体检数据低于体检参考信息,则向活体对象推送营养建议。
作为一种示例,当活体对象的目标类型为狗时,由于狗具有很多品种,因此,可以进一步根据狗的第一躯体3D模型识别狗的具体品种,例如为阿拉斯加犬。而后可以获取与阿拉斯加犬对应的体检参考信息,将阿拉斯加犬的体检数据与体检参考信息进行比对,若阿拉斯加犬的体检数据高于体检参考信息,例如腰围高于体检参考信息中的腰围,则可以向阿拉斯加犬推送相关能够减小腰部的健身建议信息,若阿拉斯加犬的体检数据低于体检参考信息,例如腿围、腰围、臀围、身高等均低于体检参考信息中的相应的数据,则可以向阿拉斯加犬推送相关营养建议信息。
进一步地,当目标类型为人时,由于处于不同年龄段的人具有不同的体检参考信息,且不同性别的人也具有不同的体检参考信息,因此,本实施例中,还可以根据人的性别,以及所处的年龄段,推送不同的信息。
作为一种示例,当活体对象为中年女子时,可以获取全国中年女子的体检参考信息,或者,可以获取活体对象所在省份和/或城市的中年女子的体检参考信息。而后可以将活体对象的体检数据与获取的体检参考信息进行比对,若活体对象的体检数据高于体检参考信息,例如腰围高于体检参考信息中的腰围,则可以向活体对象推送相关能够减小腰部的健身建议信息,若活体对象的体检数据低于体检参考信息,例如腿围、腰围、臀围均低于体检参考信息中的相应的数据,则可以向活体对象推送相关营养建议信息。
可以理解的是,处于青年期、中年期、老年期的人的身高基本维持不变了,而由于处于儿童期的人生长速度迅速,因此,可以将儿童期划分为不同的年龄段,例如为7~8岁,8~9岁,9~10岁,10~11岁,11~12岁,对于每个年龄段的儿童,其体检参考信息不同。同理,可以将生长速度迅速地婴幼儿期、婴儿期、幼儿期、少年期划分为不同的年龄段。在具体实现时,可以针对不同年龄段的人,获取与其对应的体检参考信息。
另一种示例,当活体对象为7~8岁的儿童,且性别为男时,可以获取性别为男,年龄段为7~8岁的儿童的体检参考信息,而后可以将活体对象的体检数据与获取的体检参考信息进行比对,在活体对象的体检数据低于体检参考信息时,例如,若活体对象的身高为120cm,体检参考信息中的身高为125cm,则可以向活体对象推送相关能够增加身高的营养建议信息。
步骤507,查询对同一活体对象在早于第一时刻的多个第二时刻,通过结构光获取的多个第二躯体3D模型。
步骤508,分别对比第一躯体3D模型与每个第二躯体3D模型之间的差异部分。
步骤507~508的执行过程可以参见上述实施例,在此不再赘述。
步骤509,根据与每个第二躯体3D模型之间的差异部分,从每一个差异部分中识别出需要测量的部位。
可以理解的是,对于不同的身体部位,第一躯体3D模型与每个第二躯体3D模型之间的差异可能不同。因此,可以从每一个差异部分中确定出需要测量的每个部位。
步骤510,确定部位的边界,并基于边界获取部位的测量数据。
本实施例中,可以通过外观轮廓提取方法或者轮廓特征提取方法中的至少一种提取每个部位的边界,例如通过主动形状模型法ASM、主动外观模型法AAM、主成分分析法PCA、离散余弦变换法DCT等方法,提取每个部位的边界,在此不做限定。在确定每个部位的边界后,可以基于边界获取每个部位的测量数据。
例如,对于腿部而言,可能大腿粗、小腿粗、大小腿都粗、大小腿都细的情况,因此,腿部的测量数据可以为大腿围和小腿围。
或者,对于胸部、腰部、臀部、身高而言,测量数据为活体对象的具体胸围值、腰围值、臀围值、身高值。
步骤511,根据所有差异部分中部位的测量数据,分析得到部位的测量数据的变化趋势;变化趋势包括单位时间变化率和/或单位时间变化量。
例如,当多个第二时刻为:20170803、20170731、20170728、20170725、20170722、20170719、20170716时,对于腰部而言,腰部对应的测量数据可以为腰围,第一躯体3D模型中的腰围例如为74cm,多个第二躯体3D模型中的腰围例如可以分别为73.98cm、74.03cm、73.95cm、73.95cm、73.96cm、72.99cm、73.00cm,则腰围之间的差异部位分别为+0.02cm、-0.03cm、+0.05cm、+0.05cm、+0.04cm、+1.01cm、+1.00cm。进一步地,为了使得测量数据变化趋势更加直观化,可以将测量数据变化趋势制作成图表。例如,参见图4,图4为本发明实施例中腰围变化趋势曲线示意图。
步骤512,根据多个部位的变化趋势,生成活体对象的体检数据变化趋势。
可选地,可以根据每个身体部位的测量数据的变化趋势,生成活体对象的体检数据变化趋势。进一步地,为了使得体检数据变化趋势更加直观化,可以将体检数据变化趋势制作成图表。
步骤513,根据体检数据变化趋势,推送对应的体检变化趋势信息。
步骤513的执行过程可以参见上述实施例,在此不作赘述。
本实施例的信息推送方法,通过在第一时刻,通过结构光获取活体对象的第一躯体3D模型;查询对同一活体对象在早于第一时刻的多个第二时刻,通过结构光获取的多个第二躯体3D模型;分别对比第一躯体3D模型与每个第二躯体3D模型之间的差异部分根据与每个第二躯体3D模型之间的差异部分,分析得到从首个第二时刻至第一时刻的时段内,活体对象的体检数据变化趋势;根据体检数据变化趋势,推送对应的体检变化趋势信息。本实施例中,通过向活体对象推送体检变化趋势信息,从而可以使活体对象了解自身的成长情况。此外,通过结构光获取活体对象的躯体3D模型,能够提升体检数据变化趋势的准确性,而且用户可以随时获取推送信息,有效提升该方法的及时性。
作为本发明实施例的一种可能的实现方式,参见图6,在图5所示实施例的基础上,步骤506具体包括以下子步骤:
步骤601,根据活体对象的目标类型,获取与目标类型对应的体检参考信息;其中,体检参考信息包括标准体检数据。
例如,当活体对象的目标类型为人时,进一步地,由活体对象的第一躯体3D模型识别其为7~8岁的儿童,且性别为男,可以获取性别为男,年龄段为7~8岁的儿童的标准体检数据。
步骤602,将活体对象的体检数据与体检参考信息进行对比。
将活体对象的体检数据与标准体检数据进行对比,即判断活体对象的体检数据是否高于标准体检数据,从而可以获得活体对象的体检数据高于标准体检数据,或者,活体对象的体检数据低于等于标准体检数据的比对结果。
步骤603,根据对比结果形成推送信息,并通过终端设备展示给活体对象。
可选地,根据比对结果形成推送信息,例如,当活体对象的体检数据高于标准体检数据时,可以向活体对象推送相关健身建议信息;当活体对象的体检数据低于等于标准体检数据时,可以向活体对象推送相关营养建议信息。
作为本发明实施例的一种可能的实现方式,可以将对比结果发送给专业人员所登录的第一终端设备,由专业人员根据比对结果形成推送信息,从而使得推送信息更加专业,提升推送信息的合理性。而后,可以接收第一终端设备反馈的推送信息并展示给活体对象,使得活体对象更加直观地获知推送信息。
作为本发明实施例的另一种可能的实现方式,可以理解的是,由活体对象的体检数据可以获知活体对象的体型,因此,可以预先设置不同类型和/或不同体型的活体对象和推送信息之间的对应关系,当获知活体对象的类型和体型时,可以查询上述对应关系,从而可以获取与其对应的推送信息,易于实现且操作简单。而后,可以将推送信息通过终端设备展示给活体对象,使得活体对象更加直观地获知推送信息。
本实施例的信息推送方法,通过根据活体对象的目标类型,获取与目标类型对应的体检参考信息;其中,体检参考信息包括标准体检数据;将活体对象的体检数据与体检参考信息进行对比;根据对比结果形成推送信息,并通过终端设备展示给活体对象。由此,可以针对不同类型的活体对象,向其针对性地推送提高身体素质的推送信息,能够满足活体对象的个性化需求,有效提升该方法的适用性。
作为本发明实施例的一种可能的实现方式,参见图7,在图6所示实施例的基础上,步骤601具体包括以下子步骤:
步骤701,根据活体对象的标识获取活体对象的属性信息,属性信息包括活体对象的年龄和/或活体对象所在区域。
本实施例中,活体对象的标识用于唯一标识该活体对象,例如,当活体对象为人时,其标识可以为ID,或者,当活体对象为宠物时,其标识可以为宠物芯片,或者,当活体对象为牲畜时,其标识可以为电子耳标,对比不做限制。
例如,当活体对象为人时,可以根据活体对象的ID上的证件信息获取活体对象年龄和/或活体对象所在区域。
步骤702,从目标类型对应的体检参考信息中,获取与活体对象的属性信息匹配的体检参考信息。
可以理解的是,对于不同的区域,活体对象的体检参考信息不同。例如,当活体对象为人时,我国北方城市的人均体重重于南方城市的人均体重,北方城市的人均身高高于南方城市的人均身高。而且不同年龄的人,其体检参考信息也不同。因此,本实施例中,可以从目标类型对应的体检参考信息中,获取与活体对象的属性信息匹配的体检参考信息。
本实施例的信息推送方法,通过根据活体对象的标识获取活体对象的属性信息,属性信息包括活体对象的年龄和/或活体对象所在区域;从目标类型对应的体检参考信息中,获取与活体对象的属性信息匹配的体检参考信息。由于体检参考信息的制定考虑地域差异,使得针对不同地区的活体对象进行体检时,提高体检结果的准确性。
此处需要说明的是,作为一种示例,上述实施例中采用的结构光可以为非均匀的结构光,非均匀的结构光为多个光斑的集合构成的散斑图案或乱点图案。
图8为本发明实施例中非均匀的结构光的投影集合示意图。如图8所示,本发明实施例中采用的是非均匀的结构光,其中,非均匀的结构光为随机排列非均匀的散斑图案,也就是说,该非均匀的结构光为多个光斑的集合,且多个光斑之间采用不均匀的分散方式排布,进而构成一个散斑图案。由于散斑图案所占的存储空间较小,因而,投射装置运行时不会对终端的运行效率造成太大影响,能够节约终端的存储空间。
此外,本发明实施例中采用的散斑图案,相较于其他现有的结构光类型而言,散列排布能够降低能量消耗,节省电量,提高终端的续航能力。
在本发明实施例中,可以在电脑、手机、掌上电脑等终端中设置投射装置和摄像头。投射装置向活体对象发射非均匀的结构光即散斑图案。具体地,可以利用投射装置中的衍射光学元件形成散斑图案,其中,该衍射光学元件上设置有一定数量的浮雕,不规则的散斑图案就由衍射光学元件上不规则的浮雕产生。本发明实施例中,浮雕凹槽深度和数量可以通过算法设置。
其中,投射装置可以用于向活体对象所处的空间投射一个预设的散斑图案。摄像头可以用于对已投射散斑图案的活体对象进行采集,以得到带有散斑图案的活体对象的二维畸变图像。
本发明实施例中,当终端的摄像头对准活体对象的身体时,终端中的投射装置可以向活体对象的身体所处的空间投射预设的散斑图案,该散斑图案中具有多个散斑点,当该散斑图案被投射到活体对象的身体表面上时,该散斑图案中的好多散斑点会由于身体表面包含的各个部位的原因而发生偏移。通过终端的摄像头对活体对象的身体进行采集,得到带有散斑图案的活体对象身体的二维畸变图像。
进一步地,将采集到的身体的散斑图像与参考散斑图像按照预定算法进行图像数据计算,获取身体的散斑图像的各个散斑点相对于参考散斑点的移动距离。最后根据该移动距离、参考散斑图像与终端上摄像头的距离以及投射装置与摄像头之间的相对间隔值,利用三角法得到散斑红外图像的各个散斑点的深度值,并根据该深度值得到身体的深度图像,进而根据深度图像可获得躯体3D模型。
图9为本发明实施例提供的一种信息推送装置的结构示意图。
参见图9,该信息推送装置包括:建模模块910、查询模块920、对比模块930、分析模块940,以及推送模块950。其中,
建模模块910,用于在第一时刻,通过结构光获取活体对象的第一躯体3D模型。
在本发明的实施例中,结构光为非均匀的结构光,非均匀的结构光为多个光斑的集合构成的散斑图案或乱点图案,是由设置在终端上的投射装置中的衍射光学元件形成的,其中,衍射光学元件上设置有一定数量的浮雕,浮雕的凹槽深度不同。
具体实现时,建模模块910,具体用于向活体对象的身体发射结构光;采集结构光在身体上的反射光并形成身体的深度图像;基于深度图像重构第一躯体3D模型。
查询模块920,用于查询对同一活体对象在早于第一时刻的多个第二时刻,通过结构光获取的多个第二躯体3D模型。
对比模块930,用于分别对比第一躯体3D模型与每个第二躯体3D模型之间的差异部分。
分析模块940,用于根据与每个第二躯体3D模型之间的差异部分,分析得到从首个第二时刻至第一时刻的时段内,活体对象的体检数据变化趋势。
具体实现时,分析模块940,具体用于从每一个差异部分中识别出需要测量的部位;确定部位的边界,并基于边界获取部位的测量数据;根据所有差异部分中部位的测量数据,分析得到部位的测量数据的变化趋势;变化趋势包括单位时间变化率和/或单位时间变化量;根据多个部位的变化趋势,生成活体对象的体检数据变化趋势。
推送模块950,用于根据体检数据变化趋势,推送对应的体检变化趋势信息。
进一步地,在本发明实施例的一种可能的实现方式中,在图9的基础上,参见图10,该信息推送装置还进一步包括:
第一获取模块960,用于从第一躯体3D模型中获取活体对象的体检数据。
识别模块970,用于根据第一躯体3D模型识别活体对象对应的目标类型。
第二获取模块980,用于根据体检数据和活体对象对应的目标类型,获取与活体对象匹配的用于提高活体对象身体素质的推送信息。
具体实现时,第二获取模块980,具体用于根据活体对象的目标类型,获取与目标类型对应的体检参考信息;其中,体检参考信息包括标准体检数据;将活体对象的体检数据与体检参考信息进行对比;根据对比结果形成推送信息,并通过终端设备展示给活体对象。
可选地,第二获取模块980,还用于根据活体对象的标识获取活体对象的属性信息,属性信息包括活体对象的年龄和/或活体对象所在区域;从目标类型对应的体检参考信息中,获取与活体对象的属性信息匹配的体检参考信息。
可选地,第二获取模块980,还用于将对比结果发送给专业人员所登录的终端设备,由专业人员根据比对结果形成推送信息;接收推送信息并展示给活体对象。
需要说明的是,前述图1-图7实施例对信息推送方法实施例的解释说明也适用于该实施例的信息推送装置,此处不再赘述。
本实施例的信息推送装置,通过在第一时刻,通过结构光获取活体对象的第一躯体3D模型;查询对同一活体对象在早于第一时刻的多个第二时刻,通过结构光获取的多个第二躯体3D模型;分别对比第一躯体3D模型与每个第二躯体3D模型之间的差异部分根据与每个第二躯体3D模型之间的差异部分,分析得到从首个第二时刻至第一时刻的时段内,活体对象的体检数据变化趋势;根据体检数据变化趋势,推送对应的体检变化趋势信息。本实施例中,通过向活体对象推送体检变化趋势信息,从而可以使活体对象了解自身的成长情况。此外,通过结构光获取活体对象的躯体3D模型,能够提升体检数据变化趋势的准确性,而且用户可以随时获取推送信息,有效提升该方法的及时性。
上述信息推送装置中各个模块的划分仅用于举例说明,在其他实施例中,可将信息推送装置按照需要划分为不同的模块,以完成上述信息推送装置的全部或部分功能。
本发明实施例还提供了一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当计算机可执行指令被一个或多个处理器执行时,使得处理器执行以下步骤:
在第一时刻,通过结构光获取活体对象的第一躯体3D模型;
查询对同一活体对象在早于第一时刻的多个第二时刻,通过结构光获取的多个第二躯体3D模型;
分别对比第一躯体3D模型与每个第二躯体3D模型之间的差异部分;
根据与每个第二躯体3D模型之间的差异部分,分析得到从首个第二时刻至第一时刻的时段内,活体对象的体检数据变化趋势;
根据体检数据变化趋势,推送对应的体检变化趋势信息。
本发明实施例还提供一种终端设备。上述终端设备中包括图像处理电路,图像处理电路可以利用硬件和/或软件组件实现,可包括定义ISP(Image Signal Processing,图像信号处理)管线的各种处理单元。图11为一个实施例中图像处理电路的示意图。如图11所示,为便于说明,仅示出与本发明实施例相关的图像处理技术的各个方面。
如图11所示,图像处理电路1100包括成像设备1110、ISP处理器1130和控制逻辑器1140。成像设备1110可包括具有一个或多个透镜1112、图像传感器1114的照相机和结构光投射器1116。结构光投射器1116将结构光投影至被测物。其中,该结构光图案可为激光条纹、格雷码、正弦条纹、或者,随机排列的散斑图案等。图像传感器1114捕捉投影至被测物形成的结构光图像,并将结构光图像发送至ISP处理器1130,由ISP处理器1130对结构光图像进行解调获取被测物的深度信息。同时,图像传感器1114也可以捕捉被测物的色彩信息。当然,也可以由两个图像传感器1114分别捕捉被测物的结构光图像和色彩信息。
其中,以散斑结构光为例,ISP处理器1130对结构光图像进行解调,具体包括,从该结构光图像中采集被测物的散斑图像,将被测物的散斑图像与参考散斑图像按照预定算法进行图像数据计算,获取被测物上散斑图像的各个散斑点相对于参考散斑图像中的参考散斑点的移动距离。利用三角法转换计算得到散斑图像的各个散斑点的深度值,并根据该深度值得到被测物的深度信息。
当然,还可以通过双目视觉的方法或基于飞行时差TOF的方法来获取该深度图像信息等,在此不做限定,只要能够获取或通过计算得到被测物的深度信息的方法都属于本实施方式包含的范围。
在ISP处理器1130接收到图像传感器1114捕捉到的被测物的色彩信息之后,可被测物的色彩信息对应的图像数据进行处理。ISP处理器1130对图像数据进行分析以获取可用于确定和/或成像设备1110的一个或多个控制参数的图像统计信息。图像传感器1114可包括色彩滤镜阵列(如Bayer滤镜),图像传感器1114可获取用图像传感器1114的每个成像像素捕捉的光强度和波长信息,并提供可由ISP处理器1130处理的一组原始图像数据。
ISP处理器1130按多种格式逐个像素地处理原始图像数据。例如,每个图像像素可具有8、10、12或14比特的位深度,ISP处理器1130可对原始图像数据进行一个或多个图像处理操作、收集关于图像数据的图像统计信息。其中,图像处理操作可按相同或不同的位深度精度进行。
ISP处理器1130还可从图像存储器1120接收像素数据。图像存储器1120可为存储器装置的一部分、存储设备、或电子设备内的独立的专用存储器,并可包括DMA(DirectMemory Access,直接直接存储器存取)特征。
当接收到原始图像数据时,ISP处理器1130可进行一个或多个图像处理操作。
在ISP处理器1130获取到被测物的色彩信息和深度信息后,可对其进行融合,得到三维图像。其中,可通过外观轮廓提取方法或轮廓特征提取方法中的至少一种提取相应的被测物的特征。例如通过主动形状模型法ASM、主动外观模型法AAM、主成分分析法PCA、离散余弦变换法DCT等方法,提取被测物的特征,在此不做限定。再将分别从深度信息中提取到被测物的特征以及从色彩信息中提取到被测物的特征进行配准和特征融合处理。这里指的融合处理可以是将深度信息以及色彩信息中提取出的特征直接组合,也可以是将不同图像中相同的特征进行权重设定后组合,也可以有其他融合方式,最终根据融合后的特征,生成三维图像。
三维图像的图像数据可发送给图像存储器1120,以便在被显示之前进行另外的处理。ISP处理器1130从图像存储器1120接收处理数据,并对处理数据进行原始域中以及RGB和YCbCr颜色空间中的图像数据处理。三维图像的图像数据可输出给显示器1160,以供用户观看和/或由图形引擎或GPU(Graphics Processing Unit,图形处理器)进一步处理。此外,ISP处理器1130的输出还可发送给图像存储器1120,且显示器1160可从图像存储器1120读取图像数据。在一个实施例中,图像存储器1120可被配置为实现一个或多个帧缓冲器。此外,ISP处理器1130的输出可发送给编码器/解码器1150,以便编码/解码图像数据。编码的图像数据可被保存,并在显示于显示器1160设备上之前解压缩。编码器/解码器1150可由CPU或GPU或协处理器实现。
ISP处理器1130确定的图像统计信息可发送给控制逻辑器1140单元。控制逻辑器1140可包括执行一个或多个例程(如固件)的处理器和/或微控制器,一个或多个例程可根据接收的图像统计信息,确定成像设备1110的控制参数。
以下为运用图11中图像处理技术实现信息推送方法的步骤:
在第一时刻,通过结构光获取活体对象的第一躯体3D模型;
查询对同一活体对象在早于第一时刻的多个第二时刻,通过结构光获取的多个第二躯体3D模型;
分别对比第一躯体3D模型与每个第二躯体3D模型之间的差异部分;
根据与每个第二躯体3D模型之间的差异部分,分析得到从首个第二时刻至第一时刻的时段内,活体对象的体检数据变化趋势;
根据体检数据变化趋势,推送对应的体检变化趋势信息。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。