首页> 中国专利> 用于估计对象状态的估计系统、估计方法和估计程序

用于估计对象状态的估计系统、估计方法和估计程序

摘要

公开了一种用于估计对象状态的估计系统、估计方法和估计程序。一种3D模型存储装置(170)预先存储目标对象的3D形状数据和照明基底数据。比较图像产生装置(110)根据3D形状数据和照明基底数据,产生具有在与输入图像相同照明条件下按照当前估计值的位置/姿态布置的目标对象的再现图像,作为比较图像。图像位移分布检测装置(120)将比较图像分割为局部图像(子区域)并且针对每一个子区域检测比较图像和输入图像之间的图像位移分布。姿态差计算装置(130)根据图像位移分布和3D形状数据,计算位置/姿态差值。当确定位置/姿态差值小于预定阈值时,最后确定装置(140)输出当前的位置/姿态估计值,作为最佳位置/姿态估计值(13)。因此,可以高速地估计包含在图像值的对象的位置或姿态。

著录项

  • 公开/公告号CN102298778A

    专利类型发明专利

  • 公开/公告日2011-12-28

    原文格式PDF

  • 申请/专利权人 日本电气株式会社;

    申请/专利号CN201110227377.7

  • 发明设计人 石山垒;

    申请日2004-10-28

  • 分类号G06T7/00;

  • 代理机构中科专利商标代理有限责任公司;

  • 代理人朱进桂

  • 地址 日本东京都

  • 入库时间 2023-12-18 04:04:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-06-17

    授权

    授权

  • 2012-02-15

    实质审查的生效 IPC(主分类):G06T7/00 申请日:20041028

    实质审查的生效

  • 2011-12-28

    公开

    公开

说明书

本申请是申请日为2004年10月28日、申请号为200480028679.X、 发明名称为“用于估计对象状态的估计系统、估计方法和估计程序”的 中国专利申请的分案申请。

技术领域

本发明涉及一种用于估计对象的位置或姿态的估计系统、估计方法 和估计程序,更具体地,涉及一种用于估计对象状态的估计系统、估计 方法和估计程序,可以快速且精确地估计包含在摄像机所捕获的或者从 存储介质中读取的图像(即使在照明条件变化时)中的对象的位置和姿 态之一或两者。

背景技术

能够估计对象的位置和姿态的设备的示例是一种用于识别对象的位 置和姿态的位置/姿态识别系统。图14是示出了传统的位置/姿态识别设 备的布置的方框图。该位置/姿态识别设备包括:姿态候选组确定装置 910、比较图像产生装置920、姿态选择装置930以及最后确定装置940。

将说明图14所示的位置/姿态识别设备的操作。将包含作为位置/ 姿态估计目标的对象(下文中称为目标对象)的图像的输入图像数据91 输入到位置/姿态识别设备。还将包含已知误差的粗略对象位置/姿态参 数作为位置/姿态初始值92输入到位置/姿态识别设备。姿态候选组确定 装置910通过按照预定变化改变包含在位置/姿态初始值92中的六个位 置/姿态参数(X、Y和Z轴方向中的3D参数以及关于X、Y和Z轴的角 度参数),来确定多个位置/姿态估计值。

根据预先存储在位置/姿态识别设备的存储单元(未示出)中的目标 对象的3D形状模型数据和用于产生照明变化空间的基底纹理组,比较图 像产生装置920产生表示当目标对象具有与每一个位置/姿态估计值组 相对应的位置/姿态时由照明条件中的改变而引起的图像变化的照明变 化空间数据。比较图像产生装置920根据照明变化空间数据,产生在与 输入图像数据91相同的照明条件下的比较图像组。

姿态选择装置930将比较图像组与输入图像数据91相比较并且输 出与具有最高相似度的比较图像相对应的位置/姿态估计值,作为最佳位 置/姿态估计值93。如果仍然存在提高比较图像相似度的余地,最后确 定装置940利用位置/姿态初始值92(或者当前位置/姿态估计值)代替 最佳位置/姿态估计值93并且将该值输出到姿态候选组确定装置910。 位置/姿态识别设备重复地执行上述处理,直到不能够再提高比较图像的 相似度为止,从而最终获得目标对象的最佳位置/姿态(例如日本专利公 开No.2003-58896(参考文献1))。

发明内容

本发明要解决的问题

当使用传统的位置/姿态识别设备时,最终可以获得目标对象的最佳 位置或姿态。然而,在每一次处理时根据最佳位置/姿态估计值93产生 新的位置/姿态估计值组的过程中,姿态候选组确定装置910没有了解要 获得大致精确的位置/姿态的位置/姿态参数改变量。而是,姿态候选组 确定装置910通过简单地使参数增加/减少预定变化,来产生多个位置/ 姿态估计值。位置/姿态识别设备必须针对所有位置/姿态估计值执行具 有较大复杂度的比较图像产生处理。因此,直到获得最终最佳位置/姿态 估计值为止的处理时间较长。

做出本发明,以解决该问题,并且本发明的目的是在比以前更短的 时间内估计包含在图像中的对象的位置或姿态。

解决问题的手段

根据本发明,提供一种用于估计对象状态的估计系统,其特征在于 包括:图像输入装置,用于输入包含要估计状态的对象的输入图像,所 述状态是位置和姿态中至少一个;3D形状数据存储装置,用于存储对象 的3D形状数据;比较图像产生装置,用于通过使用存储在3D形状数据 存储装置中的3D形状数据,产生包含预定状态中的对象的图像,作为比 较图像;图像位置关系检测装置,用于针对图像中具有预定尺寸的每一 个子区域,检测输入图像和比较图像产生装置所产生的比较图像之间的 位置关系;校正量计算装置,用于通过使用图像位置关系检测装置所检 测的位置关系,来计算比较图像中对象状态的校正量;以及状态校正装 置,用于通过使用校正量计算装置所获得的校正量,来校正由比较图像 产生装置在比较图像产生过程中设置的对象状态,从而计算新的对象状 态。

根据本发明,提供一种估计对象状态的估计方法,其特征在于包括 步骤:输入包含要估计状态的对象的输入图像,所述状态是位置和姿态 中至少一个;通过使用对象的3D形状数据,产生包含预定状态中的对象 的图像,作为比较图像;针对图像中具有预定尺寸的每一个子区域,检 测比较图像和输入图像之间的位置关系;通过使用检测到的位置关系, 来计算比较图像中对象状态的校正量;以及通过使用计算的校正量,来 校正在比较图像产生过程中设置的对象状态,从而计算新的对象状态。

根据本发明,提供一种用于估计对象位置的估计程序,其特征在于 使计算机执行以下步骤:输入包含要估计状态的对象的输入图像,所述 状态是位置和姿态中至少一个;通过使用对象的3D形状数据,产生包含 预定状态中的对象的图像,作为比较图像;针对图像中具有预定尺寸的 每一个子区域,检测比较图像和输入图像之间的位置关系;通过使用检 测到的位置关系,来计算比较图像中对象状态的校正量;以及通过使用 计算的校正量,来校正在比较图像产生过程中设置的对象状态,从而计 算新的对象状态。

本发明的效果

根据本发明,根据图像位移分布和3D形状数据,计算位置或姿态差 值。计算位置/姿态估计值,使得包含误差的初始预测值以最小距离值会 聚于(converge)实际位置/姿态。因此,可以减少比较图像产生的次数, 并且可以减少计算目标对象的位置/姿态估计值中的复杂度。因此,可以 在比以前更短的时间内估计包含在图像中的对象的位置和姿态。

附图说明

图1是示出了将根据本发明用来估计对象状态的估计系统作为对象 位置/姿态估计系统所应用的环境的示例的解释性视图;

图2是示出了对象位置/姿态估计系统的布置示例的方框图;

图3是示出了3D模型存储装置的布置示例的方框图;

图4是示出了最后确定装置的布置示例的方框图;

图5是示出了由对象位置/姿态估计系统所执行的目标对象位置/姿 态估计处理的示例的流程图;

图6是示出了对象位置/姿态估计系统的另一种布置示例的方框图;

图7是示出了最后确定装置的布置示例的方框图;

图8是示出了由对象位置/姿态估计系统所执行的目标对象位置/姿 态估计处理的另一个示例的流程图;

图9是示出了对象位置/姿态估计系统的另一种布置示例的方框图;

图10是示出了由对象位置/姿态估计系统所执行的目标对象位置/ 姿态估计处理的另一个示例的流程图;

图11是示出了对象位置/姿态估计系统的另一种布置示例的方框 图;

图12是示出了由对象位置/姿态估计系统所执行的目标对象位置/ 姿态估计处理的另一个示例的流程图;

图13是示出了检测比较图像和输入图像之间的图像位移分布的处 理的示例的解释性视图;以及

图14是示出了传统的位置/姿态识别设备的布置的方框图。

具体实施方式

第一实施例

下面参考附图来说明本发明的第一实施例。图1是示出了将根据本 发明用来估计对象状态的估计系统作为对象位置/姿态估计系统所应用 的环境的示例的解释性视图。如图1所示,对象位置/姿态估计系统包括: 计算机100(中央处理单元、处理器或者数据处理单元),根据程序来执 行每一个处理;3D形状测量设备200,测量目标对象的3D形状和表面反 射比;以及摄像机300,捕获(sense)包括目标对象的对象。

图2是示出了对象位置/姿态估计系统的布置示例的方框图。如图2 所示,对象位置/姿态估计系统包括:比较图像产生装置110、图像位移 分布检测装置120、姿态差计算装置130、最后确定装置140、3D形状测 量装置150、照明基底计算装置(illumination base calculation means) 160、3D模型存储装置170以及图像输入装置180。图1所示的计算机 100包括图2所示组件中的:比较图像产生装置110、图像位移分布检测 装置120、姿态差计算装置130、最后确定装置140、照明基底计算装置 160以及3D模型存储装置170。

由3D形状测量设备200来实现3D形状测量装置150。3D形状测量 装置150测量要测量位置/姿态(位置和姿态中至少一个)的目标对象的 3D形状和表面反射比,并且产生目标对象的3D形状数据和表面反射比 数据。由例如计算机100的控制单元(未示出)来实现照明基底计算装 置160。根据目标对象的3D形状数据和表面反射比,照明基底计算装置 160计算照明基底数据,用于表示基于目标对象每部分的照明条件的亮 度改变。

由设置在计算机100中的存储设备(未示出)来实现3D存储装置 170。3D模型存储装置170存储由3D形状测量装置150所产生的目标对 象3D形状数据以及由照明基底计算装置160所计算的照明基底数据。因 此,3D模型存储装置170包括3D形状数据存储单元170a和照明基底数 据存储单元(照明基底图像组存储单元)170b,如图3所示。

由摄像机300来实现图像输入装置180。图像输入装置180捕获包 括要估计位置/姿态的目标对象的对象,并且产生输入图像数据11。图 像输入装置180将产生的输入图像数据11输入到计算机100。图像输入 装置180还接收位置/姿态初始值12的输入,即输入图像中目标对象的 位置/姿态的预测值的输入。图像输入装置180接收例如在观察输入图像 的同时输入的目标对象的位置/姿态的近似值,作为位置/姿态初始值 12。图像输入装置180将输入位置/姿态初始值12输出到计算机100。

在该实施例中,目标位置/姿态估计系统通过校正位置/姿态初始值 12的误差来估计目标对象的精确位置/姿态。即,位置/姿态初始值12 被用作目标对象的位置/姿态估计值的初始值。目标位置/姿态估计系统 在估计处理的每一个步骤处获得当前位置/姿态估计值(在处理的开始处 的位置/姿态初始值12)和目标对象的实际位置/姿态之间的差(误差), 并且依次地重复位置/姿态估计值的校正,从而最终获得最佳位置/姿态 估计值。

由例如计算机10的控制单元来实现比较图像产生装置110。比较图 像产生装置110根据存储在3D模型存储装置170中的目标对象3D形状 数据和照明基底数据,来产生在与输入图像相同或类似的照明条件下的 目标对象图像,作为比较图像。在这种情况下,比较图像产生装置110 产生通过假定目标图像处于位置/姿态估计值给出的位置/姿态中而获得 的图像,作为比较图像。使用位置/姿态初始值12或最后确定装置140 (稍后进行说明)所计算的位置/姿态估计值,作为位置/姿态估计值。

按照例如下面公知的方法来执行产生在与输入图像相同或类似的照 明条件下的比较图像的处理。例如,表示目标对象的表面上的每一个位 置处的亮度的纹理根据照明条件而变化。预先登记由照明变化而产生的 各种纹理空间和目标对象的3D形状数据。根据登记的纹理空间和3D形 状数据,可以将每一个纹理空间转换为当目标对象处于必须的位置/姿态 中时由照明条件中的变化而产生的照明变化空间。比较图像产生装置 110可以通过使用该转换方法,产生在与输入图像相同或类似的照明条 件下的比较图像。

在例如日本专利公开No.2002-157595(下文中称为参考文献2)中 描述了产生在相同或类似照明条件下的比较图像的方法(在再现相同或 类似照明条件的同时产生图像的方法)。

由例如计算机100的控制单元来实现图像位移分布检测装置120。 图像位移分布检测装置120将比较图像产生装置110所产生的比较图像 分割成每一个与具有预定尺寸的部分(子区域)相对应的局部图像。图 像位移分布检测装置120将每一个局部图像的亮度值与输入图像的亮度 值相比较,并且检测使叠加图像之间的相似度最大的图像运动方向。即, 图像位移分布检测装置120检测比较图像的每一个子区域关于输入图像 的图像位移分布(在每一个子区域中比较图像和输入图像之间的位置关 系)。

图像位移分布检测装置120通过使用例如通常称为光流(optical  flow)的图像位移检测技术,来检测图像位移分布。更具体地,图像位 移分布检测装置120通过检测表示图像中对象的部分的运动的运动矢量 的分布,来检测比较图像和输入图像之间的图像位移分布。例如在 International Journal of Computer Vision,Netherlands,Kluwer  Academaic Publishers,1994,12:1,43-77页的J.L.Barron、D.J.Fleet 以及S.S.Beauchemin的“Performance of Optical Flow Techniques” 中描述了一种通过光流检测图像位移的技术。

由例如计算机100的控制单元来实现姿态差计算装置130。根据由 图像位移分布检测装置120所计算的每一个子区域的图像位移分布以及 目标对象的3D形状数据的每一个部分的3D坐标数据(与每一个子区域 相对应的3D坐标数据),姿态差计算装置130计算当实际移动目标对象 时使每一个部分与位移分布最接近的3D运动(移动量或旋转量)。姿态 差计算装置130计算3D运动计算结果,作为位置/姿态差值(校正量)。

最后确定装置140包括位置/姿态确定单元141、估计值存储单元142 以及估计值管理单元143,如图4所示。由例如计算机100的控制单元 和存储单元来实现最后确定装置140。

位置/姿态确定单元141确定当比较图像产生装置110产生比较图像 时所假定的目标对象的位置/姿态是否适当。根据预定阈值和由姿态差计 算装置130所计算的位置/姿态差值之间的量值关系,来确定位置/姿态 是否适当。如果位置/姿态差值小于阈值,确定当前的位置/姿态是适当 的。如果位置/姿态差值不小于(等于或大于)阈值,确定当前位置/姿 态是不适当的。位置/姿态确定单元141将确定结果输出到估计值管理单 元143。

估计值存储单元142存储当前位置/姿态估计值。更具体地,估计值 存储单元142存储位置/姿态初始值12,作为位置/姿态估计值的初始值, 并且还存储由估计值管理单元143所计算的新的位置/姿态估计值,如稍 后将进行说明的。

估计值管理单元143根据从位置/姿态确定单元141输入的确定结 果,来执行下面的处理。如果位置/姿态确定单元141确定当前位置/姿 态是适当的,当前位置/姿态估计值是最精确的估计值(与目标对象的实 际位置/姿态最接近的值)。估计值管理单元143从估计值存储单元142 中读取当前位置/姿态估计值,并输出该估计值,作为最佳位置/姿态估 计值13,且结束该处理。如果位置/姿态确定单元141确定当前位置/姿 态是不适当的,估计值管理单元143从估计值存储单元142中读取当前 位置/姿态估计值,并且将位置/姿态差值与估计值的每一个参数相加, 从而计算出对当前位置/姿态估计值校正后的新的位置/姿态估计值。该 处理与在产生比较图像中所假定的目标对象位置/姿态的校正相对应。估 计值管理单元143还将存储在估计值存储单元142中的内容更新为新的 位置/姿态估计值,并且将该估计值输出到比较图像产生装置110。当新 的位置/姿态估计值被输入到比较图像产生装置110时,对象位置/姿态 估计系统重复自比较图像产生装置110的比较图像产生处理开始的连续 处理操作。

由图像位移分布检测装置120来实现图像位置关系检测装置。由姿 态差计算装置130来实现校正量计算装置。由估计值管理单元143来实 现状态校正装置。由位置/姿态确定单元141来实现状态确定装置。

在该实施例中,设置在计算机100中的存储设备存储用于执行目标 对象位置/姿态估计处理的程序。例如,设置在计算机100中的存储设备 存储对象状态估计程序,用于使计算机执行以下处理:通过使用存储在 数据库中的对象3D形状数据,产生对象被设置为预定状态(位置和姿态 中的至少一个)的图像,作为比较图像;针对每一个子区域,检测输入 图像和产生的比较图像之间的位置关系;通过使用针对每一个子区域检 测到的位置关系,计算比较图像中对象状态的校正量;以及,通过使用 计算的校正量来校正比较图像产生时设置的对象状态,计算新的对象状 态。可以将该估计程序记录在光盘、磁盘或其他记录介质上并提供该估 计程序。

接下来说明操作。图5是示出了由对象位置/姿态估计系统所执行的 目标对象位置/姿态估计处理的示例的流程图。对象位置/姿态估计系统 的用户(下文中简称为用户)操作3D形状测量设备200(3D形状测量装 置150),以预先输入要估计位置/姿态的目标对象的3D形状和表面反射 比的测量指令。根据用户操作,3D形状测量装置150测量目标对象的3D 形状和表面反射比,并且产生3D形状数据和表面反射比数据。

如果通过仅从一个方向测量目标对象来测量3D形状和表面反射比, 产生了不可见的区域。因此,不可以测量整个对象的形状和表面反射比。 在这种情况下,甚至通过从其他方向测量目标对象并且整合测量值,来 产生整个对象的3D形状数据和表面反射比数据。

根据由3D形状测量装置150所产生的3D形状数据和表面反射比数 据,照明基底计算装置160计算表示在各种照明条件下目标对象图像的 亮度值中变化的照明基底图像组。照明基底计算装置160将计算的照明 基底图像组存储在3D模型存储装置170中,作为照明基底数据。照明基 底计算装置160还将来自3D形状测量装置150的3D形状数据与照明基 底数据一起存储在3D模型存储装置170中(步骤S10)。

用户通过操作摄像机300(图像输入装置180)来捕获目标对象。图 像输入装置180根据用户操作来捕获包括要估计位置/姿态的目标对象 的对象,并且产生输入图像数据11(步骤S11)。图像输入装置180将产 生的输入图像数据11输出到计算机100。

用户在观察输入图像的同时输入并指定表示输入图像中目标对象的 粗略位置/姿态的值。图像输入装置180将用户所输入和指定的粗略位置 /姿态的值输出到计算机100,作为位置/姿态初始值12(步骤S12)。位 置/姿态初始值12被输入到比较图像产生装置110并且被存储在最后确 定装置140的估计值存储单元142中。

代替使用户在观察输入图像的同时手动地输入并指定位置/姿态初 始值12,可以将从另一个估计设备/系统输出的估计值输入到对象位置/ 姿态估计系统。例如,如果存在能够估计目标对象的位置/姿态而不需要 输入初始值的估计设备/系统(例如,使用传感器来检测对象的粗略旋转 角的设备),可以将从该估计设备/系统输出的估计值输入到对象位置/ 姿态估计系统。在这种情况下,可以估计目标对象的精确位置/姿态,而 不需要手动地输入初始值。

比较图像产生装置110提取预先存储在3D模型存储装置170中的目 标对象3D形状数据以及照明基底数据。比较图像产生装置110还从图像 输入装置180接收输入图像数据11。假定目标对象处于按照位置/姿态 初始值12给出的位置/姿态中,根据3D形状数据、照明基底数据以及输 入图像数据11,比较图像产生装置110产生在与输入图像相同或类似的 照明条件下的目标对象图像,作为比较图像(步骤S13)。

图像位移分布检测装置120将比较图像产生装置110所产生的比较 图像分割为每一个与具有预定尺寸的部分相对应的局部图像。图像位移 分布检测装置120通过将每一个局部图像叠加在输入图像上来比较亮度 值,并且检测使屏幕上图像之间的相似度最大的图像运动方向,作为图 像位移分布(步骤S14)。图像位移分布检测装置120可以通过将输入图 像分割为局部图像并且将每一个局部图像叠加在比较图像上来比较亮度 值,以检测图像位移分布。

根据由图像位移分布检测装置120所检测的图像位移分布和包含在 目标对象的3D形状数据中的每一个部分的3D坐标数据(与每一个子区 域相对应的数据),姿态差计算装置130计算当实际移动目标对象时每一 个部分与位移分布最接近的目标对象的3D运动。姿态差计算装置130 计算3D运动计算结果,作为位置/姿态差值(步骤S15)。

在最后确定装置140中,位置/姿态确定单元141确定当比较图像产 生装置110产生比较图像时所设置的目标对象的位置/姿态是否适当(步 骤S16)。更具体地,当由姿态差计算装置130所计算的位置/姿态差值 小于预定阈值时,确定当前位置/姿态是适当的(在步骤S16中为“是”)。 在这种情况下,估计值管理单元143从估计值存储单元142中读取当前 位置/姿态估计值并且输出该估计值,作为最佳位置/姿态估计值13(步 骤S17)。结束处理。

当位置/姿态差值不小于预定阈值时,位置/姿态确定单元141确定 当前位置/姿态是不适当的(步骤S16)。在这种情况下,估计值管理单 元143从估计值存储单元142中读取当前位置/姿态估计值并且将位置/ 姿态差值与估计值的每一个参数相加,从而计算出新的位置/姿态估计 值。估计值管理单元143还将存储在估计值存储单元412中的内容更新 为新的位置/姿态估计值并且将估计值输出到比较图像产生装置110(步 骤S18)。

计算机100重复地执行步骤S13、S14、S15、S16以及S18中的处理, 直到在步骤S16中确定位置/姿态差值小于预定阈值为止。

如上所述,根据本实施例,对象位置/姿态估计系统包括图像位移分 布检测装置120和姿态差计算装置130。比较图像和输入图像被分割为 每一个具有预定尺寸的局部图像子区域。针对每一个局部图像,将比较 图像的亮度值和输入图像的亮度值相比较,以检测2D位置移位。对象位 置/姿态估计系统进行操作,从而根据位置移位分布和预先登记的目标对 象3D形状模型,计算目标对象的位置/姿态的3D位置/姿态差值,并且 通过将位置/姿态差值与当前位置/姿态估计值相加,来更新位置/姿态估 计值。

利用上述布置,对象位置/姿态估计系统更新位置/姿态估计值,使 得估计值从包含误差的初始值以最小距离会聚于实际位置/姿态。在该实 施例中,不必要产生多个位置/姿态估计值、根据所有的估计值来产生比 较图像以及将它们与输入图像相比较。与传统的位置/姿态识别设备相 比,可以减少比较图像产生的次数和计算目标对象的位置/姿态估计值中 的复杂度。因此,可以快速地估计包含在图像中的对象的位置或姿态。

下面说明预先输入的初始位置/姿态估计值从目标对象的实际位置/ 姿态在X、Y和Z轴方向中平移1mm、2mm和3mm并且关于X、Y和Z轴 旋转6°、4°和2°的示例。在传统的位置/姿态识别设备中,最佳方向和从 初始值改变的参数量是未知的。传统位置/姿态识别设备在例如在平移方 向中以1mm的步长以及在旋转方向中以2°的步长改变参数的同时,搜索 估计值。

在这种情况下,位置/姿态识别设备必须执行搜索处理最少总共12 次(平移方向中1+2+3=6次以及旋转方向中3+2+1=6次)。更具体地,位 置/姿态识别设备需要执行再现图像(比较图像)产生处理和输入图像和 再现图像之间的相似度计算处理的每一个,至少12次。在实际处理中, 为了确定在一个位置处估计值和实际位置/姿态之间的误差是否是最小 的,必须从图像再现误差的最小点继续再搜索位置/姿态一个步长。因此, 位置/姿态识别设备必须执行搜索处理最少12+6=18次。

根据该实施例,对象位置/姿态估计系统根据登记的3D形状模型和 照明基底数据,通过使用作为初始值输入的位置/姿态参数,产生在与输 入图像相同或类似的照明条件下的比较图像。对象位置/姿态估计系统还 将图像上包含目标对象的区域分割为具有预定尺寸的块,并且检测比较 图像的块和输入实际图像之间的2D位移方向(当在图像上在垂直和水平 方向中移动并且比较每一个部分时(即图像位移分布)使比较图像和输 入图像之间的亮度值差最小化的运动量)。对象位置/姿态估计系统在一 个方向更新位置/姿态估计值,以最佳地校正检测的图像位移分布,使得 可以同时更新位置/姿态的六个参数。因此,通过较少次数的搜索,可以 获得精确的位置/姿态估计值,并且与传统的位置/姿态识别设备相比, 可以减少估计值计算的复杂度。

第二实施例

接下来参考附图来说明本发明的第二实施例。图6是示出了对象位 置/姿态估计系统的另一种布置示例的方框图。如图6所示,在对象位置 /姿态估计系统中,第一实施例的最后确定装置140由最后确定装置140a 代替,并且添加更新比较图像产生装置110a。其他组成单元与第一实施 例相同。

由例如计算机100的控制单元来实现更新比较图像产生装置110a。 当姿态差计算装置130计算位置/姿态差值时,更新比较图像产生装置 110a从最后确定装置140a中读取当前位置/姿态估计值并且将位置/姿 态差值与估计值相加,从而计算出新的位置/姿态估计值。该处理与第一 实施例中估计值管理单元143所执行的处理相同。假定目标对象处于新 的位置/姿态估计值的位置/姿态中,根据目标对象的3D形状数据以及照 明基底数据,更新比较图像产生装置110a产生在与输入图像相同或类似 的照明条件下的图像,作为更新比较图像。将新的位置/姿态估计值和更 新比较图像输出到最后确定装置140a。

如图7所示,最后确定装置140a包括位置/姿态确定单元141a、估 计值存储单元142a、第一相似度计算单元145、第二相似度计算单元146 以及比较图像存储单元147,并且由例如计算机的控制单元和存储单元 来实现。

第一相似度计算单元145计算输入图像和由更新比较图像产生装置 110a所产生的更新比较图像之间的第一相似度(下文中称为更新之后的 相似度)。第二相似度计算单元146计算输入图像和存储在比较图像存储 单元147中的当前比较图像之间的相似度(下文中称为更新之前的相似 度),如稍后将进行说明的。

位置/姿态确定单元141a将更新之后的相似度与更新之前的相似度 相比较,从而确定当比较图像产生装置110和更新比较图像产生装置 110a产生比较图像和更新比较图像是假定的目标对象的位置/姿态是否 适当。更具体地,如果更新之后的相似度高于更新之前的相似度,确定 当前位置/姿态是不适当的。如果更新之后的相似度不高于(等于或低于) 更新之前的相似度,确定当前位置/姿态是适当的。将确定结果输出到估 计值存储单元142a和比较图像存储单元147。

比较图像存储单元147存储当前的比较图像。比较图像存储单元147 首先存储由比较图像产生装置110所产生的比较图像,并随后存储由更 新比较图像产生装置110a所产生的更新比较图像。如果位置/姿态确定 单元141a确定当前位置/姿态是不适当的,比较图像存储单元147将存 储的内容更新为新的更新比较图像,并且将新的更新比较图像输出到图 像位移分布检测装置120。

估计值存储单元142a存储当前位置/姿态估计值。更具体地,估计 值存储单元142a存储位置/姿态初始值12,作为位置/姿态估计值的初 始值,并随后存储由更新比较图像产生装置110a所计算的新的位置/姿 态估计值。如果位置/姿态确定单元141a确定当前位置/姿态是不适当 的,估计值存储单元142a将存储的内容更新为新的位置/姿态估计值。 如果位置/姿态确定单元141a确定当前位置/姿态是适当的,确定值存储 单元142a输出当前位置/姿态估计值,作为最佳位置/姿态估计值13, 并且结束处理。

图8是示出了由对象位置/姿态估计系统所执行的目标对象位置/姿 态估计处理的另一个示例的流程图。图8中步骤S10至S15中的处理与 第一实施例相同。在该实施例中,除了第一实施例的处理之外,还执行 步骤S20至S22中的处理。步骤S23中的状态确定处理的内容与第一实 施例不同,如图8所示。

当在步骤S15中计算位置/姿态差值时,更新比较图像产生装置110a 将位置/姿态差值与当前位置/姿态估计值相加,从而计算出新的位置/ 姿态估计值。假定目标对象处于新的位置/姿态估计值的位置/姿态中, 根据目标对象的3D形状数据、照明基底数据以及输入图像数据11,更 新比较图像产生装置110a产生在与输入图像相同或类似照明条件下的 图像,作为更新比较图像(步骤S20)。由最后确定装置140a通过将更 新之前和之后的图像的相似度相比较,来确定是否采用新的位置/姿态估 计值和更新的比较图像作为要在随后的处理中使用的数据,如后面所述。

在最后确定装置140a中,第一相似度计算单元145计算输入图像和 由更新比较图像产生装置110a所产生的更新比较图像之间的相似度,即 更新之后的相似度(步骤S21)。第二相似度计算单元146来计算输入图 像和基于当前位置/姿态估计值的当前比较图像之间的相似度,即更新之 前的相似度(步骤S22)。

位置/姿态确定单元141a将更新之后的相似度与更新之前的相似度 相比较。如果更新之后的相似度高于更新之前的相似度,位置/姿态确定 单元141a确定当前位置/姿态是不适当的(在步骤S23中为“否”)。由 更新比较图像产生装置110a所计算的新的位置/姿态估计值代替当前的 位置/姿态估计值,并且被确定为要在随后的处理中使用的位置/姿态估 计值(步骤S18)。在这种情况下,更新比较图像产生装置110a所产生 的更新比较图像代替当前的比较图像,并且被确定为要在随后的处理中 使用的比较图像。计算机100重复地执行步骤S14、S15、S20、S21、S22、 S23以及S18中的处理,直到更新之后的相似度等于或低于更新之前的 相似度。

如果更新之后的相似度不高于更新之前的相似度,位置/姿态确定单 元141a确定当前位置/姿态是适当的(步骤S23中为“是”)。作为最终 的最佳位置/姿态估计值13输出当前位置/姿态估计值(更新之前的位置 /姿态估计值)(步骤S17),并且结束处理。

如上所述,根据该实施例,与第一实施例相比,尽管处理步骤的数 目增加,即使当位置/姿态差值较小时,可以进行估计处理,使比较图像 更接近于输入图像。因此,与第一实施例相比,可以进一步缩小位置/ 姿态估计值,并且可以增加最终位置/姿态估计值的精确度。

第三实施例

下面参考附图来说明本发明的第三实施例。图9是示出了对象位置/ 姿态估计系统的另一种布置示例的方框图。如图9所示,在对象位置/ 姿态估计系统中,代替第一实施例的组件的图像输入装置180,使用图 像输入装置180a,并且代替最后确定装置140,使用姿态更新装置140b。

在该实施例中,包含要估计位置/姿态估计值的目标对象的图像不是 静态图像而是运动图像。对象位置/姿态估计系统随着目标对象运动连续 地输出所需的位置/姿态估计值。在该实施例中,由例如摄像机的运动图 像传感装置来实现图像输入装置180a。由例如计算机100的控制单元和 存储单元来实现姿态更新装置140b。在该实施例中,将说明目标对象是 人脸的示例。其他组成单元与第一实施例相同。

图10是示出了由对象位置/姿态估计系统所执行的目标对象位置/ 姿态估计处理的另一个示例的流程图。在该实施例中,除了第一实施例 的处理之外,还执行在每一次处理处接收包含在运动图像中的静态图像 (帧图像)之一(最新的帧图像)的步骤S30的处理。代替步骤S16中 的状态确定处理,执行步骤S31中的姿态更新处理。

与在第一实施例相同,当产生照明基底数据时,照明基底计算装置 160将3D形状数据和照明基底数据存储在3D模型存储装置170中(步 骤S10)。用户在观察运动图像的同时输入并指定包含在运动图像中的第 一帧图像中的人脸的粗略位置/姿态。图像输入装置180a将由用户输入 并指定的粗略位置/姿态输出到计算机100,作为位置/姿态初始值12(步 骤S12)。

比较图像产生装置110从图像输入装置180a接收此时的帧图像,作 为输入图像数据11a(步骤S30)。与第一实施例相同,比较图像产生装 置110产生比较图像(步骤S13)。图像位移分布检测装置120检测图像 位移分布(步骤S14)。姿态差计算装置130计算姿态差值(步骤S15)。 步骤S13至S15中的处理内容与第一实施例相同。

姿态更新装置140b通过将姿态差计算装置130所计算的位置/姿态 差值与当前位置/姿态估计值相加,来更新位置/姿态估计值(步骤 S131)。在这种情况下,位置更新装置140b输出更新的位置/姿态估计值, 作为每一次更新中此时的最佳位置/姿态估计值13。计算机100重复地 执行步骤S30、S13、S14、S 15以及S31中的处理,直到运动图像结束。

如上所述,根据该实施例,可以实时地估计随着时间流逝而改变的 运动目标对象的位置/姿态。通过将根据当前/姿态估计值而产生的比较 图像与包含在当前运动图像中的帧图像进行比较,一直更新位置/姿态。 因此,可以在较长时间内执行精确的位置/姿态估计处理,而不积累误差。

第四实施例

下面参考附图来说明本发明的第四实施例。图11是示出了对象位置 /姿态估计系统的另一种布置示例的方框图。如图11所示,除了第一实 施例的组件之外,对象位置/姿态估计系统包括特征提取装置190。其他 的组成单元与第一实施例相同。

由例如计算机100的控制单元来实现特征提取装置190。由特征提 取装置190来实现特征量提取装置。

图12是示出了由对象位置/姿态估计系统所执行的目标对象位置/ 姿态估计处理的另一个示例的流程图。在该实施例中,代替直接将比较 图像的图像亮度值与输入图像的图像亮度值相比较来检测图像位置,通 过使用滤波器来提取适用于位置移位检测的图像特征量,来检测图像位 移分布。在该实施例中,说明将边缘特征量用作图像特征量的情况。可 以将除了边缘特征量之外的任意其他特征量,例如Gabor特征量,用作 图像特征量。

图12中步骤S10至S13中的处理与第一实施例相同。当比较图像产 生装置110产生比较图像时,特征提取装置109针对比较图像和输入图 像的每一个,通过使用边缘检测滤波器,来产生边缘图像,作为图像特 征量(步骤S40)。

特征提取装置190包括针对图像的垂直方向的边缘检测滤波器和针 对图像的水平方向的边缘检测滤波器。在步骤S40中,特征提取装置190 通过分别使用垂直和水平边缘检测滤波器,产生比较图像的垂直边缘图 像(下文中称为垂直边缘)以及水平边缘图像(下文中称为水平边缘) 和输入图像的垂直和水平边缘。即,特征提取装置190在步骤S40中产 生四个边缘图像。

图像位移分布检测装置120通过将比较图像的垂直和水平边缘分割 为具有预定尺寸的部分,来产生局部边缘图像。图像位移分布检测装置 120通过叠加,来将每一个局部边缘图像与输入图像的垂直和水平边缘 相比较。图像位移分布检测装置120检查增加屏幕上相似度的运动方向 并且输出增加相似度的方向,作为图像位移分布(步骤S41)。

在步骤S41中,因为通过比较垂直边缘图像可以清楚地检测水平图 像移位,图像位移分布检测装置120通过将比较图像与输入图像的垂直 边缘相比较,检测水平图像位移。因为通过比较水平边缘图像可以清楚 地检测垂直图像移位,图像位移分布检测装置120通过将比较图像与输 入图像的水平边缘相比较,检测垂直图像位移。当最佳图像特征量被用 于检测每一个方向中的位置移位时,可以增加图像位移分布检测精确度。

步骤S15至S18中的处理与第一实施例相同。

如上所述,根据该实施例,代替直接将比较图像的图像亮度值与输 入图像的图像亮度值相比较,通过使用能够比亮度值进行更敏感的位置 移位检测的图像特征量图像位移,检测图像移位,作为每一个部分的图 像位置移位。因此,与使用亮度值相比较,可以精确地检测图像位移。 因此,可以增加计算的位置/姿态差值的精确度,并且可以增加最终获得 的位置/姿态估计值的精确度。

第五实施例

作为第五实施例来说明第一实施例的详细示例。在该实施例中,对 象位置/姿态估计系统包括:3D形状测量设备200,用于测量要预先登记 的目标对象的3D形状;摄像机300,捕获包括要估计位置/姿态的目标 对象的对象;以及个人计算机(计算机100),用作数据处理设备/数据 存储设备。在该实施例中,说明要估计位置/姿态的目标对象是人脸的示 例。

(3D形状数据登记处理)

首先说明系统准备阶段的处理(即步骤S10的3D数据登记处理)。 在图5所示的3D形状数据登记处理中,要估计位置/姿态的目标对象(在 该实施例中为特定人脸)的3D形状和表示基于目标对象表面上的任意照 明条件的亮度值改变的照明基底数据被存储在设置在计算机100中的存 储设备中,如上所述。

用户通过操作3D形状测量设备200来命令测量脸部的3D形状和表 面反射比。用于数据处理的计算机100从3D形状测量设备200接收3D 形状数据和表面反射比数据(或者与表面反射比相对应的图像数据)。

根据3D形状数据和表面反射比数据(或者图像数据),计算机100 计算表示脸部表面亮度中的照明变化的照明基底组。计算机100将计算 的照明基底组存储在例如存储设备中,作为照明基底数据。在这种情况 下,计算机100通过使用下面的技术,来产生照明基底组。照明基底组 产生技术不局限于该实施例的技术。根据比较图像产生算法(稍后进行 说明),可以使用各种照明基底组产生技术。

在该实施例中,将说明一种在步骤S10的3D形状数据登记处理中以 及在步骤S13的比较图像产生处理中校正照明条件的变化的方法。如果 照明条件中的改变较小或为零,可以省略校正处理。在这种情况下,计 算机100可以直接将目标对象的表面上的每一个点的亮度值存储在例如 存储设备中,不需要计算照明基底组。

以下针对3D形状数据的表面,定义用于计算照明基底纹理的纹理坐 标系统。在该示例中,3D形状数据包含对象表面上每一点的坐标数据, 作为原点设置在目标对象的重心处的3D坐标(x,y,z)。即,3D形状数 据是一组对象表面上的点的坐标数据。在这种情况下,定义包围对象的、 中心位于对象重心处的球体。点P至球体表面的投影点被设置为Q。点Q 的纬度和经度(s,t)被定义为对象表面上每一个点P的纹理坐标。通过 根据对象形状使用任意其他坐标,可以计算系统照明基底组。

计算机100计算对象表面上每一个点在不同照明条件i下的亮度Ii(s,t)。在设置照明条件中,例如,假定一点光源被放置在无穷远处。 在从-90°至+90°的每10°间隔上改变纬度和精度,以获得19×19=361 个方向矢量Li。根据方向矢量Li,针对光辐射设置照明条件。可以任意 设置辐射方向和辐射方向数目。假设N(s,t)是标准矢量(normal  vector),并且r(s,t)是表面反射比数据。对象表面的每一个点的亮 度Ii(s,t)由下式给出:

Ii(s,t)=r(s,t)Σi(S(s,t,Li)maxLi·Ni(s,t),0)…[方程1]

其中,S(s,t,L)表示投影(阴影)。当对象表面呈现在每一个点(s,t) 和在方向矢量Li的无穷远处的光源之间时,值S(s,t,L)是0(因为阴 影,所以亮度值为0),并且当没有对象表面呈现时,值S(s,t,L)是1。 可以通过计算机图形领域中的公知技术,例如光线跟踪,来实现阴影确定 方法。

接下来,计算机100计算能够再现在任意照明条件下对象表面的亮 度值的基底纹理组。计算机100通过针对所有点按照顺序排列在方向Li(Li是矢量)中的点光源下针对对象表面的点(s,t)使用方程1计算出 的亮度值,产生矢量。通过按照顺序排列亮度值而获得的矢量被设置为 样本纹理Ii(Ii是矢量)。通过方程3可以计算样本纹理组{Ii} (i=1,2,…,361)的协方差矩阵V。方程3中的S表示由方程2给出的 样本纹理组{Ii}(i=1,2,…,361)。

S=[IiI2···I361]…[方程2]

V=1361SST…[方程3]

计算机100按照特征值的降序计算协方差矩阵V的特征值(σj)以 及特征矢量(Gj)。在这种情况下,计算机100产生特征矢量组{Gj} (j=1,2,…,10),作为照明基底组,并且将其存储在例如存储设备中。 10个值的计算仅是一个示例。计算的特征值和特征矢量的数目可以大于 或小于10。

例如,在参考文献2中描述了上述照明基底组计算方法。

接下来依次说明使对象位置/姿态估计系统根据图像来估计对象的 位置/姿态的处理。

(图像输入处理)

用户通过操作例如摄像机300的图像捕获设备,来捕获要估计位置/ 姿态的目标对象。计算机100从摄像机300中捕获输入图像数据。代替 捕获由摄像机300捕获的图像,计算机100可以从存储介质中读取图像 数据或者通过通信网络从另一个计算机接收图像数据。

在该实施例中,假定目标对象几乎面对着摄像机300的前端并且在 垂直和水平方向中具有大约10°的姿态变化。目标对象处于与摄像机300 间隔大约50cm的点处。目标对象(在该示例中是人脸)几乎处于摄像机 300的中心处并且具有大约10cm的姿态变化。在该实施例中,总是将在 目标对象与摄像机300间隔50cm的同时在目标对象面对摄像机300的前 端并且处于其屏幕中心处时获得的值用作位置/姿态初始值。

(比较图像产生处理)

计算机100读取预先存储在例如存储设备中的3D形状数据和照明基 底数据。假定目标对象处于当前位置/姿态初始值的位置/姿态中,计算 机100产生在与输入图像相同的照明条件下的目标对象图像,作为比较 图像。在这种情况下,计算机100通过使用下面的技术,产生比较图像。 比较图像产生技术不局限于该实施例的技术。根据用于计算照明基底数 据的方法,可以使用各种比较图像产生技术。

假设[X Y Z 1]是对象表面上的点的3D数据的坐标,[U V]是与该点 相对应的比较图像上的坐标,[u v w]是齐次坐标,K是表示摄像机300 的内部参数(象素尺寸和图像中心)的3×3矩阵,T是表示对象位置的 平移的矢量,以及R是表示对象的姿态变化的旋转矩阵。通过使用方程 5来计算齐次坐标[u v w]。通过使用方程4来计算坐标[U V]。方程4 中的矩阵M表示对象的旋转和平移的动量,并且通过使用方程6来计算。

UV=uvvw…[方程4]

uvw=KMXYZ1…[方程5]

M=RT0001…[方程6]

计算机100通过使用方程4、5和6计算关于图像的3D形状数据的 每一个点的坐标[U V],来确定图像中除背景之外的与目标对象的一部分 相对应的象素。计算机100确定包含在3D形状数据中的点中哪一个点与 每一个象素相对应。

假定图像中与目标对象相对应的象素数目是a。将通过垂直地排列a象素的亮度值而获得的矢量设置为比较图像矢量Ic。将通过垂直地排列 输入图像中相同象素位置处的a象素的亮度值而获得的矢量设置为输入 图像矢量Iq。当表示与比较图像矢量的第b个元素相对应的3D形状数据 的点的号码的函数是c(b)(b=1,2,…,a),可以将投影矩阵Γ定义为其 中第(b,c(b))个元素是1以及其他元素为0的矩阵。在这种情况下, 通过使用方程7,根据照明基底组{Gi},计算与当前位置/姿态估计值相 对应的图像照明基底组{Bi}(i=1,2,…,10)。

Bi=ΓGi…[方程7]

通过使用方程8和9,计算比较图像Ic(Ic是矢量),作为图像照明 基底组{Bi}的线性组合中最近似于输入图像Iq(Iq是矢量)的图像。

Ie=Σi=110λiBi…[方程8]

λi=arg(|Ic-Ig|2min)…[方程9]

例如,在参考文献2中描述了上述比较图像产生方法。

针对不与对象表面相对应的、产生的比较图像的象素,不能够确定 亮度值。计算机100从处理目标中排除这种象素并且执行下面的处理。

在该实施例中,已经说明了校正照明条件中的变化的方法。如果照 明条件中的改变较小或为零,可以省略该处理。在这种情况下,计算机 100可以通过使用函数c(b)来重新排列预先存储的对象表面上的亮度 值,计算比较图像矢量Ic,而不需要计算图像照明基底组Bi(i=1,2,…,10)。

(图像位移分布检测处理)

接下来,计算机100通过使用下面的方法,针对每一个局部图像检 测比较图像和输入图像之间的图像位移分布。图像位移分布检测方法不 局限于该实施例的方法。可以应用作为使用光流的图像位移检测方法而 提出的各种技术。

图13是示出了检测比较图像和输入图像之间图像位移分布的处理 的示例的解释性视图。如图13所示,计算机100通过将比较图像分割为 具有预定尺寸的部分,来产生局部图像,从而产生局部比较图像组。假 定输入图像的尺寸是100×100象素,并且作为局部比较图像的局部图像 的块尺寸是10×10象素。用于提取局部比较图像的块之间的间隔是20 象素。在这种情况下,计算机100从比较图像提取如图13所示的方形区 域,作为局部比较图像组。

提取的局部比较图像的十四个块包括对象表面。计算机100提取14 个局部比较图像,如图13所示。提取中的块尺寸、块间隔和图像分辨率 不局限于该实施例的块尺寸、块间隔和图像分辨率。例如,可以基于系 统的处理能力或者所需的位置/姿态估计精确度而改变它们。计算机100 可以通过使用分割输入图像而不是比较图像而获得的局部图像组,来检 测图像位移分布。

计算机100将每一个提取的局部比较图像叠加在输入图像的相应位 置,并且将局部比较图像与相同尺寸的提取的局部输入图像相比较,检 测图像上使相似度最大化的运动方向,并且作为图像位移分布输出该方 向以使相似度最大化。在这种情况下,计算机100通过仅使用比较图像 中包括对象表面并且具有计算亮度值的象素,而不使用没有包含对象表 面的背景图像,来计算相似度。

在该实施例中,将说明亮度值的绝对平均误差(通过将亮度值差的 绝对值的总和除以象素数目而获得的值)的倒数被用作相似度指标的示 例。可以使用将通过边缘检测或其他特征量转换而获得的数值作为相似 度指标的任意其他图像比较方法。

在该实施例中,为了快速地检测图像位移,计算机100通过在u和 v方向的正和负方向中移动图像一个相邻象素,来计算相似度。计算机 100可以使用任意其他图像位移检测方法而不使用在本实施例中所示的 图像位移检测方法,来计算相似度。例如,计算机100可以通过在u和 v方向中移动图像两个或更多象素,来计算相似度。可选地,计算机100 可以通过在除了u和v方向之外的斜方向中移动图像,例如在总共八个 方向中移动图像,来计算相似度。

在该实施例中,计算机100按照下面的方法确定表示局部比较图像 j的图像位移的2D矢量Dj

(1)计算机100通过在u方向的正和负方向中移动图像一个象素, 来计算相似度。如果确定通过在正方向中移动使相似度最大化,计算机 100将矢量的第一元素的值设置为1。如果确定通过在负方向中移动使相 似度最大化,计算机100将矢量的第一元素的值设置为-1。如果确定不 在任何方向移动使相似度最大化,计算机100将矢量的第一元素的值设 置为0。

(2)计算机100通过在v方向的正和负方向中移动图像来计算相似 度。如果确定通过在正方向中移动使相似度最大化,计算机100将矢量 的第二元素的值设置为1。如果确定通过在负方向中移动使相似度最大 化,计算机100将矢量的第二元素的值设置为-1。如果确定不在任何方 向移动使相似度最大化,计算机100将矢量的第二元素的值设置为0。

当根据上述过程计算了2D矢量时,计算机100计算包含表示14块 的每一个局部比较图像的图像位移的2D矢量的图像位移分布矢量组 {Dj},作为图像位移分布,如图13所示。参考图13,每一个箭头指示表 示每一个局部比较图像的图像位移的2D矢量Dj。对于不包含箭头而包含 句点符号的象素,表示图像位移的矢量是零矢量。

通常,当输入图像的照明条件随时间流逝而改变时,比较图像的亮 度值与输入图像的亮度值不同。因此,不能够精确地计算图像位移分布 矢量组{Dj}。根据本发明,在比较图像产生处理中,通过使用照明基底 矢量组,产生在与输入图像相同或类似照明条件下的比较图像。因此, 即使当捕获输入图像时的照明条件发生变化时,在图像位移分布检测处 理中可以精确地检测图像位移分布矢量组{Dj}。

(姿态差计算处理)

接下来,根据产生的图像位移分布和与每一个子区域相对应的目标 对象的3D形状数据的每一个部分的3D坐标数据,计算机100计算当在 屏幕上实际移动目标对象时目标对象的每一个部分最接近位移分布的 3D运动。计算机100计算3D运动的计算结果,作为位置/姿态差值。

在计算3D运动中,计算机100假定比较图像和输入图像的每一个作 为运动图像的帧图像,并且将它们当作比较图像的帧图像和输入图像的 帧图像依次连续的运动图像。通过将图像位移分布当作帧图像的伪光流, 来计算3D运动。计算机100根据下面的使用例如Lie代数的方法,通过 使用根据光流的对象运动估计技术,来计算3D运动。

方程5的矩阵M形成SE(3)组,作为Lie代数组。可以将SE(3) 分解为总共六个运动,即三个旋转和三个平移。如果目标对象的位置/ 姿态的移动较小,矩阵M接近于单位矩阵I。当完成接近于M=I的微分 时,获得方程10的六个矩阵。方程10的每一个矩阵是SE(3)的Lie 代数,并且用作表示接近于M=I的矩阵M的增量的线性矢量空间的基底。

M1=0001000000000000,M2=0000000100000000,M3=0000000000010000,

M4=000000100-1000000,M5=00-10000010000000,M6=0100-100000000000,

                               …[方程10]

如果运动较小,矩阵M近似于由下式给出的{Mi}的线性和:

M=exp(Σi=16αiMi)I+Σi=16αiMi…[方程11]

计算机100可以根据在图像位移分布检测处理中所计算的图像位移 分布,通过计算系数αi,来计算表示动量(即位置/姿态的移动量(移动 方向))的矩阵M。

按照下式计算在每一个运动模式的方向中改变位置/姿态中、对象表 面上的每一个点的图像坐标的偏微分:

uvw=PMiXYZ1…[方程12]

按照下式计算对象表面上的点的象素坐标[U V]的偏微分:

Oi=UV=uw-uww2vw-vww2…[方程13]

在方程13中,0i(0i是矢量)表示象素坐标[U V]的偏微分量。假 设d(d是矢量)是当改变位置/姿态时的对象表面的图像上的动量。如 方程14所示,计算d,作为每一个运动模式i中动量的线性和。

d=Σi=16αi(Oi)…[方程14]

计算机100可以通过更新目标对象的位置/姿态估计值,有效地使位 置/姿态估计值接近于输入图像中目标对象的精确位置/姿态值,使得按 照方程14所计算的每一个点的动量d最接近于图像位移分布。为了实现 该结果,计算机100通过使用最小平方方法,计算用于使表示关于由图 像位移分布检测处理所检测的局部比较图像Dj的图像位移的位置/姿态 误差的误差e最小化的系数αi,如下所示

e=Σj||Dj-Σi=16αi(Oi)||2…[方程15]

为了获得系数αi,必须确定在方程12中使用的局部比较图像j的 3D坐标[X Y Z]。在该实施例中,将说明使用包含在每一个局部比较图 像j中的对象表面上的点的3D坐标的重心(平均值)的示例。根据3D 形状数据和作为投影矩阵Γ计算的比较图像的象素之间的对应,可以容 易地获得3D坐标。可以将除了重心之外的任意其他坐标值,例如与最接 近于每一个局部比较图像的中央部分的象素相对应的对象表面上的点的 3D坐标,用作3D坐标。

计算机100根据使用方程15而计算出的系数αi以及使用下式所计算 的预定增益常数g,来计算位置/姿态差ΔM。

ΔM=I+g(Σi=16αiOi)…[方程16]

在该实施例中,增益常数g是固定值g=1。当增加增益常数g的值 时,可以快速地会聚估计值的搜索。当随着位置/姿态误差变小控制增益 常数g的值变得更小时,可以增加目标对象/姿态估计精确度。

例如,在IEICE Transactions on  Information and System, Vol.E84-D,No.12,pp.1733-1738,2001年12月的Tom Drummond、 Roberto Ciplla的“Real Time Feature-Based Facial Tracking Using  Lie Algebras”中描述了上述对象运动估计技术。

(最后确定处理)

接下来,计算机100确定是否更新位置/姿态估计值并且重复地执行 位置/姿态估计处理,或者因为足够精确,输出当前位置/姿态估计值作 为最佳位置/姿态估计值。在该实施例中,将说明预先确定目标对象的估 计位置/姿态的容限的阈值的示例,并且根据阈值来完成确定。可以将除 了使用该实施例阈值的方法之外的任意其他方法,用作最后确定方法。

预先确定平移和旋转方向中容限的阈值,并且存储在例如设置在计 算机100中的存储设备中,作为位置/姿态估计误差。在该实施例中,平 移方向中的容限是5mm。对于旋转方向,关于X和Y轴的容限是1.5°, 并且关于Z轴的容限是1°。容限值不局限于该实施例的值。

计算机100根据包含在位置/姿态差ΔM中的平移矢量和旋转矩阵R, 计算关于各个轴的平移量和旋转角。计算机100确定计算的平移量和旋 转角是否小于预定阈值。如果确定小于预定阈值,计算机100确定当前 位置/姿态估计值是足够精确的估计值(即最佳估计值),作为最佳位置/ 姿态估计值输出当前位置/姿态估计值,并且结束处理。

如果确定平移量和旋转角中至少一个不小于阈值,计算机100更新 位置/姿态估计值并且重复地执行估计处理。计算机100根据当前位置/ 姿态估计值[R T],通过使用以下方程,来计算更新之后的位置/姿态估 计值[R*|T*]。

[R*|T*]=Euclideanise([R|T]·ΔM)…[方程17]

其中,Euclideanise表示将矩阵校正为旋转矩阵的操作。例如, Euclideanise(E)表示将矩阵E校正为旋转矩阵的操作,并且通过根据 奇异值分解E=UWVT来计算矩阵E′=UVT而实现。

根据表示通过使用方程17而计算出的更新之后位置/姿态的旋转矩 阵和平移矢量,计算机100估计当前位置/姿态估计值并且重复地执行比 较图像产生处理之后的处理。

在该实施例中,通过执行最后确定,重复地更新位置/姿态。然而, 可以仅更新位置/姿态估计值一次,并且可以结束处理,而不执行最后确 定处理。在这种情况下,可以更快速地完成目标对象位置/姿态估计处理。

在该实施例中,描述了用于估计目标对象的位置和姿态的对象位置/ 姿态估计系统。还可以将计算机应用于仅估计目标对象的位置的对象位 置估计系统或者仅估计目标对象的姿态的对象姿态估计系统。

工业实用性

可以将根据本发明的用于估计对象状态的估计系统应用于测量图 像中可见的对象的位置/姿态的测量设备。还可以将估计系统应用于通过 使用图像来识别或核对改变了位置/姿态的对象的识别设备。还可以将估 计系统应用于通过使用运动图像来追踪在视频图像中运动的对象的追踪 设备。还可以将估计系统应用于通过使用计算机来实现测量设备、识别 设备或者追踪设备的程序。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号