首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

追踪图像中目标的位置和取向的方法和系统 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:波音公司

摘要:涉及追踪图像中目标的位置和取向的方法和系统。具体涉及从图像中去除杂乱背景以进行对象检测。该追踪可以控制载具的导航。接收数字图像。生成包括多个二值化值的第一阵列,该多个二值化值与数字图像中的第一多个像素的像素速度有关。生成包括多个值的第二阵列,该多个值与数字图像中的第一多个像素的像素强度的标准偏差有关。确定与第二阵列中的值有关的多个阈值。在数字图像中识别多个目标像素和多个背景像素。生成与数字图像有关的二值图像,并且基于二值图像,识别数字图像中的目标的位置和取向中的至少一个。基于所识别的、目标的位置和取向中的至少一个,向载具的导航系统发送命令,以协助将载具朝着目标引导。

主权项:1.一种通过追踪数字图像中的目标的位置和取向来控制载具的导航的方法,所述方法包括如下步骤:接收由视觉传感器202拍摄的数字图像410;接收边界信息,所述边界信息足以在所述数字图像410中的所述目标周围形成边界框;生成包括多个二值化值的第一阵列420,所述多个二值化值与所述数字图像410中的第一多个像素的、与第一一个或多个先前数字图像中的对应像素相比的像素速度有关,其中,所述像素速度是图像中的像素所表示的对象逐帧移动的量的度量,其中,生成步骤包括:识别所述数字图像410中的位于所述边界框外部的多个采样窗口;确定位于所述多个采样窗口中的每一个内部的像素的像素速度值;以及至少部分地基于位于所述多个采样窗口内部的像素的所确定的像素速度,来确定与所述数字图像中的第一多个像素的像素速度有关的多个二值化值;生成包括多个值的第二阵列430,所述多个值与在预定数目帧上计算出的、所述数字图像410中的所述第一多个像素的、与第二一个或多个先前数字图像中的对应像素相比的像素强度的时间标准偏差有关;确定与所述第二阵列中的值有关的多个阈值;基于所述第一阵列、所述第二阵列以及所述多个阈值,在所述数字图像中识别多个目标像素和多个背景像素;基于所识别的多个目标像素和所识别的多个背景像素,生成与所述数字图像有关的二值图像440;基于所述二值图像440,识别所述数字图像中的所述目标的位置和取向中的至少一个;以及基于所识别的、所述目标的位置和取向中的至少一个,向所述载具200的导航系统发送命令,以协助将所述载具朝着所述目标引导。

全文数据:从图像中去除杂乱背景以进行对象检测技术领域本文所描述的方面涉及图像中的对象检测objectdetection,并且更具体地涉及追踪包括杂乱背景clutteredbackground的数字图像中的目标。背景技术使用视觉图像来追踪对象对于许多应用而言都是很重要的,包括监视、载具停靠、以及许多其它应用。所追踪的对象包括陆上车辆、飞行器、卫星、人类、或者在视野内移动的几乎任何事物。用于追踪的视觉输入可以是由视觉传感器、红外相机、或者能够提供视觉输入的任何其它成像装置来提供。作为追踪过程的一部分,系统必须能够区分图像中的关注对象和背景。然而,当面对背景内和目标内的像素强度的较大变化时,用于区分关注对象和背景的现有图像处理方法通常是无效的。发明内容本文所描述的一个实施例是一种用于通过追踪数字图像中的目标的位置和取向来控制载具的导航的方法。该方法包括如下步骤:接收由视觉传感器拍摄的数字图像;生成包括多个二值化值binaryvalue的第一阵列,该多个二值化值与数字图像中的第一多个像素的、与第一一个或多个先前数字图像中的对应像素相比的像素速度有关;以及生成包括多个值的第二阵列,该多个值与数字图像中的第一多个像素的、与第二一个或多个先前数字图像中的对应像素相比的像素强度的标准偏差有关。搞方法进一步包括如下步骤:确定与第二阵列中的值有关的多个阈值;基于第一阵列、第二阵列、以及多个阈值,在数字图像中识别多个目标像素和多个背景像素;基于所识别的多个目标像素和所识别的多个背景像素,生成与数字图像有关的二值图像binaryimage;以及基于二值图像,识别数字图像中的目标的位置和取向中的至少一个。该方法进一步包括如下步骤:基于所识别的、所述目标的位置和取向中的至少一个,向载具的导航系统发送命令,以协助将载具朝着目标引导。本文所描述的另一实施例是,一种追踪数字图像中的目标的位置和取向的方法。该方法包括如下步骤:接收由视觉传感器拍摄的数字图像;生成包括多个二值化值的第一阵列,该多个二值化值与数字图像中的第一多个像素的像素速度有关;以及生成包括多个值的第二阵列,该多个值与数字图像中的第一多个像素的像素强度的标准偏差有关。该方法进一步包括如下步骤:基于第一阵列和第二阵列,在数字图像中识别多个目标像素和多个背景像素;以及基于所识别的多个目标像素和所识别的多个背景像素,识别数字图像中的目标的位置和取向中的至少一个。本文所描述的另一实施例是一种系统,该系统包括:处理器和存储器,该存储器用于储存程序,当该程序在处理器上被执行时,该程序执行操作。该操作包括:接收由视觉传感器拍摄的数字图像;生成包括多个二值化值的第一阵列,该多个二值化值与数字图像中的第一多个像素的像素速度有关;生成包括多个值的第二阵列,该多个值与数字图像中的第一多个像素的像素强度的标准偏差有关;基于第一阵列和第二阵列,在数字图像中识别多个目标像素和多个背景像素;以及基于所识别的多个目标像素和所识别的多个背景像素,识别数字图像中的目标的位置和取向中的至少一个。附图说明为了能够详细地理解本公开的上述特征,可以参照各个方面对上文简要概述的本公开进行更加具体的描述,在附图中图示了其中一些方面。图1是根据本文所描述的一个实施例的针对图像中的背景检测目标的载具的示例性图示。图2是图示了根据本文所描述的一个实施例的示例性载具的框图。图3是根据本文所描述的一个实施例的描绘了目标对象的示例性数字图像的视图。图4是根据本文所描述的一个实施例的用于数字图像的目标追踪过程的视图。图5是根据本文所描述的一个实施例的用于数字图像的目标追踪过程的流程图。图6是根据本文所描述的一个实施例的针对图像的背景部分生成像素速度值的视图。图7是根据本文所描述的一个实施例的在针对图像的背景部分生成像素速度值时卷积的使用的视图。图8是根据本文所描述的一个实施例的图示了速度图像的生成的流程图。图9是根据本文所描述的一个实施例的速度图像的生成的视图。图10是根据本文所描述的一个实施例的计算用于可能的目标像素和背景像素的阈值的视图。图11是根据本文所描述的一个实施例的图示了生成二值图像的流程图。具体实施方式本文所公开的实施例涉及用于区分关注对象和背景图像的改进方法、系统和设备。用于区分数字图像中的关注对象和背景的一种方式是,计算能够用于将目标像素和背景像素分离开的像素阈值。在一些情况下,这是一个相对简单的任务,诸如,当在漆黑的夜空中追踪一架灯火通明的飞机时。在该情境下,确定用于区分背景像素和目标像素的像素强度阈值是相对容易的。一旦已经确定出阈值,具有低于阈值的值的像素几乎肯定是背景例如,漆黑的夜空,并且具有高于阈值的值的像素几乎肯定是被追踪的目标。如果目标例如,飞行器非常暗,而背景是明亮的天空,则问题同样简单,但情况相反。在这种情况下,阈值将属于目标的昏暗像素与属于天空的明亮像素分开。然而,在许多实际应用中,所处理的情景在背景内和在目标内的像素强度可能具有较大变化,常常会重叠。在这些情况下,简单的瞬时像素强度阈值将不足以去除背景并且提取多个期望目标。该解决方案进一步易受到杂乱情景的影响,因为其取决于对给定帧中的像素强度的分析。如果在强度上不存在可区分的差异,则杂波可能会污染检测过程并且无法提取期望目标。本文的公开涉及用于在移动的动态情景中提取高度复杂的目标的实施例,其中,目标和背景在瞬时像素强度上均波动较大。与其它方法背景是静态的并且目标在移动的情况不同,这些实施例能够在目标和背景均相对于传感器移动的情景中工作。这会去除由固定背景技术强加的许多约束,并且给用户提供更多的潜在用例。此外,在一些情境中,所描述的实施例可以使用基于速度梯度的二次阈值鉴别器,从而允许在大量杂乱条件下在背景像素与目标像素之间进行更有效的区分,因为这些梯度可以由背景噪声源的特定几何结构来预测。例如,本文所公开的实施例可以用作载具比如,航天器的导航系统的一部分。载具的导航系统可以使用视觉追踪来协助与太空中的对象比如,卫星或者空间站的对接。但这需要识别潜在杂乱图像例如,包括背景中的地球的图像中的目标的位置和取向两者。进一步地,在该情境中,地球的球形形状会使图像内的目标的位置较复杂,因为背景图像会以复杂的方式移动越过载具的视野。本文所描述的实施例可以改进在该情境中的对象检测,因为其对各个帧之间的移动不那么敏感,并且能够处理各个帧之间的较大像素移动例如,每个帧数十个像素的目标移动。载具的导航系统然后可以使用关于目标的位置和取向的所检测到的信息来例如协助向目标的导航以及与目标的对接。图1是对于针对杂乱背景追踪目标而言有用的一个情境的示例。载具200至少部分地基于通过视觉传感器202追踪目标110来进行导航。例如,载具200可以是航天器,并且目标110可以是卫星或者空间站。载具200具有带有视野120的视觉传感器202。例如,视觉传感器202可以是相机或者任何其它合适的视觉传感器。载具200可以使用视觉传感器202来追踪目标110的位置和取向,以便帮助与目标110的对接。但视觉传感器202也可以获取背景图像150——在此是地球的图像。为了使用视觉传感器202来追踪目标110,载具200必须能够将表示目标110的像素与表示背景图像150的像素分离开。这允许载具200确定目标110的位置和取向——载具200可以使用该位置和取向来向目标110导航,并且与目标110对接。尽管图1图示了根据本文的公开的作为示例性载具的航天器,但本文的实施例并不限于太空中的载具的导航。所公开的实施例可能在各种情境中是有用的,在这些情境中,令人期望的是针对杂乱背景追踪对象。例如,所公开的实施例可以用在国土安全或者战场目标追踪和拦截中、用在军事和商业卫星成像和追踪中、用在月球和行星探测中、用在用于载人和无人飞行器的商业和航空成像中、用在包括探雷和石油勘探在内的军事和商业水下探测中、用在传感器监视中、用在装配线检查中、或者用在任何其它合适的应用中。图2是图示了示例性载具200的框图。载具200包括视觉传感器202。如上文所指出的,视觉传感器202可以是被配置为感测可见光和或红外光的相机、或者任何其它合适的视觉传感器。载具200进一步包括处理器204。处理器204通常检索和执行被储存在存储器206中的程序指令。处理器204被包括用于表示单个中央处理单元CPU、多个CPU、具有多个处理核心的单个CPU、具有多个执行路径的图形处理单元GPU等。存储器206通常被包括用于表示多种任何合适类型的电子储存装置,包括随机存取存储器或者非易失性储存装置。存储器206通常包括用于执行与载具控制和目标追踪有关的各种功能的程序代码。程序代码通常被描述为存储器206内的各种功能性“应用”、“部件”、或者“模块”,但替代实施方案可以具有不同的功能和或功能的组合。在存储器206内,载具控制系统230通常被配置为控制载具200,包括通过合适的推进系统来控制载具200的导航。图像拍摄部件210控制从视觉传感器202对图像进行的拍摄。由图像拍摄部件210拍摄的图像可以用于进行目标追踪,如在随后的附图中描述的。存储器206进一步包括图像分析部件220。图像分析部件220通常用于分析使用图像拍摄部件210拍摄到的图像。图像分析部件220包括速度图像生产器222。速度图像生产器222用于基于使用图像拍摄部件210拍摄到的图像来生成速度图像。参照随后的附图对速度图像生产器222进行更加详细的描述。图像分析部件220进一步包括时间阵列生产器temporalarraygenerator。时间阵列生产器用于从使用图像拍摄部件210拍摄到的图像来生成时间偏差阵列,并且参照图5对其进行更加详细的描述。图像分析部件220进一步包括二值图像生产器226。二值图像生产器226用于至少部分地基于由速度图像生产器222生成的速度图像、由时间阵列生产器224生成的时间偏差阵列、以及由图像分析部件220确定的两个阈值,来生成二值图像。关于图11更加详细地讨论了二值图像生产器226。存储器206进一步包括储存装置240。例如,储存装置240用于储存由二值图像生产器226生成的一系列二值图像,如关于图11更加详细地讨论的。载具200进一步包括推进系统260和导航系统270,推进系统260用于推进载具。在一个实施例中,导航系统270可以使用如由图像分析部件220确定的目标的位置和取向来帮助导航。图3是由焦平面阵列FPA拍摄的图像310的视图,例如,由视觉传感器202和图像拍摄部件210拍摄的图像。在图像中示出了目标330——例如,这是载具200在追踪的用于帮助导航和对接的目标。严格边界框TBB320是可选的但通常是令人期望的边界框,该边界框被生成用于包围目标330。TBB320基于给定目标点位置340来进行构造。TBB320被计算用于包围目标330的扩展图像,以便使得其紧密地包围目标。但TBB被计算为使得在目标330周围存在空白,以便确保目标330完全由TBB包围。在实施例中,TBB可以基于来自附加传感器、先前图像中的目标追踪、或者任何其它合适来源的信息,来进行计算。在一个实施例中,如在图3中描绘的,TBB320可以用于目标追踪。但如上文所指出的,TBB是可选的。例如,能够仅仅使用图像310的边缘和四个角部,而不是TBB320。取决于目标,这可以是足够的。图4图示了图像分析部件220可以生成将目标与背景分离开的二值图像的过程的概览。图5是描绘了相同过程的流程图。因此,可以一起对图4和图5进行讨论。在图5中的步骤502处,图像分析部件220接收拍摄图像,例如,在图4中图示的拍摄图像410。例如,这可以是由视觉传感器202和图像拍摄部件210拍摄的图像。在步骤504处,图像分析部件220生成位于TBB外部的拍摄图像410中的像素的速度值。由于像素位于TBB外部,所以图像分析部件220可以假定这些像素存在于背景中而不是目标中。关于图6和图7更加详细地讨论了步骤504。在步骤506处,图像分析部件220更新与拍摄图像410有关的时间阵列。例如,图像分析部件220可以使用两个不同的时间阵列:表示在预定义帧数上的拍摄图像410中的时间像素强度的阵列、以及表示在相同预定义帧数上的拍摄图像410中的像素强度的时间平均值2的阵列。像素的时间平均值是像素的平均强度值,来自当前帧所在的序列中的第一帧。像素的时间平均值2是在相同帧序列上的像素的强度值的平方的平均值。在实施例中,只需要针对超过检测阈值的像素计算时间值。在步骤508处,速度图像生产器222生成初步速度图像,例如,在图4中图示的速度图像420。速度图像420是具有白像素和黑像素的二值图像,白像素表示可能的目标像素,黑像素表示可能的背景像素。关于图8和图9更加详细地讨论了速度图像420的生成。在步骤510处,时间阵列生产器224基于在步骤506中生成的时间阵列来生成时间偏差阵列。图4中的图像430图示了时间偏差阵列。该时间偏差阵列表示拍摄图像410中的每个像素的平均强度值的标准偏差,并且可以使用公知的标准偏差公式来计算。例如,可以使用公式σ2=-,其中,σ2是方差,平均值2是参照步骤506讨论的时间平均值2,并且平均值是参照步骤506讨论的时间平均值。在一个实施例中,如果在步骤506中使用检测阈值,则给未超过检测阈值的任何像素分配非常大的σ值。在偏差阵列中,具有低标准偏差值的像素与在各个帧之间强度变化不大的像素相对应——这些很可能是目标像素,因为目标在各个帧之间的TBB320内通常保持静止。这些是时间偏差阵列430中的黑像素。具有较高标准偏差值的像素与在各个帧之间强度显著地发生变化的像素相对应——这些很可能是背景像素或者目标-边缘像素,因为背景和目标边缘预计会在各个帧之间移动。这些是时间偏差阵列430中的白像素和灰像素。在步骤512处,图像分析部件确定两个不同的阈值以便用于估计像素是否可能是目标像素或者背景像素。关于图10对此进行更加详细的讨论。在步骤514和520处,将恰当阈值应用至每个像素以便生成二值图像——时间偏差阵列和速度图像均用在该过程中。关于图11对此进行更加详细的讨论。二值图像440是通过步骤520生成的二值图像的示例:白像素表示目标像素,并且黑像素表示背景像素。图6是生成图像的背景部分的像素速度值的视图。像素速度是图像中的像素所表示的对象逐帧移动的量的度量。因为假定TBB320围封目标,所以位于TBB320外部的所有像素都应该表示图像的背景部分。因此,测量TBB320外部的像素的像素速度,提供图像的背景部分的像素速度。在一个实施例中,图像分析部件220可以针对TBB320外部的每个像素计算速度值。可替代地,可以将TBB320外部的图像的部分划分为多个采样窗口610。可以计算出位于各个采样窗口610的中心处的像素的速度。然后可以对各个这些像素的值进行插值。这允许针对少得多的像素量进行速度计算。例如,如在图6中图示的,可以使用八个采样窗口610,从而仅仅需要针对8个像素进行计算。若恰当,还可以使用较小数量、或者较大数量的采样窗口。采样窗口可以任何合适的尺寸,例如,n个像素×m个像素,其中,n和m分别是正整数。图7是生成用于在图6中图示的采样窗口610的像素速度值的方法的视图。如下文所讨论的,也可以使用其它方法。每个采样窗口610中的像素所表示的背景图像的速度,使用与该采样窗口相对应的当前像素和先前像素之间的卷积中的峰值位置来进行计算。在当前图像中和在先前图像中发现与采样窗口610相对应的像素。使这两个区域通过拉普拉斯变换以得到高频分量,并且对变换区域进行卷积处理以便创建卷积图像。从该卷积图像,峰值位置从中心进行的移位会给出帧至帧速度。该速度在x方向和y方向两者上进行测量。例如,如在图7中图示的,图像It是当前帧。图像It–Δt是先前帧。采样窗口610是我们计算像素速度的窗口。使用于图像It和图像It–Δt的采样窗口610中的像素通过变换710例如,拉普拉斯变换。然后对结果进行卷积处理,从而创建结果卷积图像750。峰值位置例如,卷积图像750中示出的灰点从窗口的中心进行的移位会给出帧It–Δt和It之间的帧至帧速度。该速度具有沿着窗口的x轴线的x分量和沿着窗口的y轴线的y分量。作为图7中图示的卷积方法的替代例,可以使用分析方法或者任何其它合适的方法来获取采样窗口中的像素的速度。例如,如果预期背景图像是地球图像,则可以应用分析方法。首先,计算地球上描绘采样窗口的中心的位置。这可以使用等式Reci2fpECI=Qc2eci*Qcam2c*Reci2fpCAM来进行计算。Reci2fpECI是像素在地心惯性ECI坐标中表示的地球上的位置。Qc2eci是在ECI坐标中追踪目标的对象例如,图1中的载具200的姿势。Qcam2c是关于载具坐标的相机姿势。Reci2fpCAM是从ECI原点至相机坐标中的像素足迹的中心的向量。其次,在第二帧内计算先前帧的足迹位置的像素位置。上文所讨论的Reci2fpECI表示先前帧的足迹位置。新的值可以使用等式Rcam2fpCAM=Rcam2eciCAM+Reci2fpCAM来进行计算。Rcam2eciCAM表示在相机坐标中从相机原点至ECI原点的向量。Reci2fpCAM表示从ECI原点至相机坐标中的像素足迹的中心的向量。第三,计算先前帧的窗口中心的像素移动Vx,Vy。这可以使用等式Vx,Vy=xp,yp-px,py来进行计算。在该等式中,xp,yp表示先前帧的足迹在该帧中的位置。在该等式中,px,py表示先前帧的窗口中心位置。如上文所讨论的,可以使用针对图7描述的卷积方法、使用上文所描述的分析方法、或者使用任何其它合适的方法来计算给定采样窗口610的像素速度值。在生成用于背景的像素速度值之后的下一步是更新时间阵列。这是上文所讨论的图5中的步骤506。在此之后,下一步是生成用于TBB320内的像素的初步速度图像。图8是图示了该步骤的流程图。所得到的速度图像是二值阵列,其中,设定为“1”的每个像素是背景像素,并且设定为“0”的每个像素可以是或者可以不是目标像素。由于用于计算像素的状态的梯度方法,所以设定为“0”的像素是未知的,关于图8中的步骤804-812进一步进行讨论。如果相关区域中的像素是平坦的例如,几乎是与周围像素相同的值,则这些像素可以表示目标的相对无特征的部分或者背景的平滑部分,比如,在背景是地球的情况下的白云或者蓝海。在步骤802处,图像分析部件220计算TBB外部的每个采样窗口610中的中心像素的速度。参照图6和图7对此进行描述。在步骤804处,速度图像生产器222计算每个采样窗口610的梯度阈值。例如,梯度阈值可以是采样窗口610中的每个像素的平均梯度值。可替代地,梯度阈值可以是采样窗口610中的像素的最大梯度值、采样窗口610中的像素的最小梯度值、或者另一个值。采样窗口610中的像素的梯度值可以是使用梯度等式来确定,例如:vxEx+vyEy+Et=0。在该等式中,vx是像素的在x方向上的图像速度,vy是像素的在y方向上的图像速度,Ex是像素的在x方向上的梯度,Ey是像素的在y方向上的梯度,并且Et是像素的时间导数。可以针对2点导数或者3点导数来计算梯度。点的2点导数是通过使用该点的先前值和该点的当前值来给出。如果速度较小且已知,则可以使用等式vxEx+vyEy+Et=0和等式1、2和3来计算2点梯度,在下文示出,其中,对于这些等式,Δx=Δy=Δt=1并且vi=像素帧=像素Δt<1:等式1——针对较小速度在X方向上的2点梯度等式2——针对较小速度在Y方向上的2点梯度等式3——针对较小速度的2点时间导数点的3点导数是通过使用该点的先前值和该点的下一值来给出。再次,如果速度较小且已知,则可以使用等式vxEx+vyEy+Et=0和等式4、5和6来计算3点梯度,在下文示出。对于这些等式,假定Δx=Δy=Δt=1并且vi=像素帧=像素Δt<1。等式4——针对较小速度在X方向上的3点梯度等式5——针对较小速度在Y方向上的3点梯度等式6——针对较小速度的3点时间导数然而,当速度足够大时,上面的等式可能是不足够的。这是因为图像点可能已经从其在先前图像中的对应位置处移动了许多像素,并且因此依赖于附近的像素是行不通的。需要重新获取各个图像点之间的关联性。这可以是通过将速度分成其整数部分[Vx]和分数部分vx来完成。对于较大速度,可以使用等式vxEx+vyEy+Et=0和等式7、8和9来计算2点梯度,在下文示出。对于这些等式,假定Vx=[Vx]+vx、Vy=[Vy]+vy、Δx'=[Vx]、Δy'=[Vy]、Δx=Δy=Δt=1、vi=Vi-[Vi]<1,并且vi=像素帧=像素Δt>1。等式7——针对较大速度在X方向上的2点梯度等式8——针对较大速度在Y方向上的2点梯度等式9——针对较大速度的2点时间导数对于较大速度,可以使用等式vxEx+vyEy+Et=0和等式10、11和12来计算3点梯度,在下文示出。对于这些等式,假定Vx=[Vx]+vx、Vy=[Vy]+vy、Δx'=[Vx]、Δy'=[Vy]、Δx=Δy=Δt=1、vi=Vi-[Vi]<1,并且vi=像素帧=像素Δt>1。等式10——针对较大速度在X方向上的3点梯度等式11——针对较大速度在Y方向上的3点梯度等式12——针对较大速度的3点时间导数对于较小速度,可以通过等式13、14和15来给出平均3点梯度,在下文示出。在这些等式中,假定Ex=在x+12处的梯度=像素x,y在时间t处的x梯度、像素x,y+1在时间t处的x梯度、以及这两个像素针对t+1的x梯度的平均数,Ey=在y+12处的梯度=像素x,y在时间t处的y梯度、像素x+1,y在时间t处的y梯度、以及这两个像素针对t+1的y梯度的平均数,Et=在t+12处的导数=像素x,y、像素x,y+1、像素x+1,y和像素x+1,y+1在时间t+1处的t梯度的平均数。等式13——针对较小速度在X方向上的平均3点梯度等式14——针对较小速度在Y方向上的平均3点梯度等式15——针对较小速度的平均3点时间导数对于较大速度,可以通过在下文示出的等式16、17和18来给出平均3点梯度。对于这些等式,假定Vx=[Vx]+vx、Vy=[Vy]+vy、Δx'=[Vx]、Δy'=[Vy]、Δx=Δy=Δt=1、vi=Vi-[Vi]<1,并且vi=像素帧=像素Δt>1。等式16——针对较大速度在X方向上的平均3点梯度等式17——针对较大速度在Y方向上的平均3点梯度等式18——针对较大速度的平均3点时间导数当针对较大速度计算梯度时,如上文所讨论的,目的是选择图像在时间t处的区域并且获取该同一区域在时间t+12处的梯度。但由于较大像素速度,所以该区域在时间t+12处可以处于图像内的不同位置。然而,因为我们知道速度,所以我们可以计算图像中的区域在时间t处和时间t+Δt处的位置。该区域在时间t处的位置是xt。该区域在时间t+Δt处的位置是xt+Δt=xt+vx*Δt。在该等式中,Δt可以具有任何合适的值,例如,Δt可以是1。我们然后可以使用这些值来计算区域在时间t+12处的位置,并且相应地可以计算区域的梯度。进一步地,如上文所讨论的,当针对较大速度计算梯度时,可能有帮助的是将速度分为整数部分和分数部分。分数部分表示相对于所选区域的表观速度。分数部分vx可以使用如下等式来进行计算其中,[Vx]是整数部分:以及在一个实施例中,针对每个采样窗口610,通过使用总速度Vx,Vy获取该窗口的分数速度vx,vy,在步骤804处计算梯度阈值:以及速度图像生产器222然后找出时间t图像像素的位置从先前帧t至当前帧t+1的移位例如,给定先前帧中的背景像素,找出当前帧中同一像素的位置。这可以使用如下等式来完成:以及使用采样窗口610中的每个像素,速度图像生产器222可以使用等式vxEx+vyEy+Et=0来计算该像素的梯度等式,其中,Ex、Ey和Et是使用上文描述的较大速度3点梯度等式来进行计算。速度图像生产器222然后计算梯度等式的绝对值。速度图像生产器222然后针对每个采样窗口610中的像素计算最大梯度等式值Gradmax、以及梯度等式值的平均数MGradEq和标准偏差σ。采样窗口610的瞬时梯度阈值是通过如下等式来给出:其中,ITGrad是瞬时梯度阈值。如果ITGrad大于Gradmax,则将ITGrad设定为Gradmax。如果不能令人满意的计算平均数,则可以使用如下等式来计算平均数:ITGrad=MGradEq-0.9*Gradmax-MGradEq。如果不能令人满意地计算ITGrad,则将其设定为2*Gradmax。进一步使用用于采样窗口的梯度阈值的运动平均滤波器来检查梯度阈值。如果梯度阈值落在滑动平均数的三个标准偏差内,则认为阈值有效,并且更新滑动平均数。从滑动平均数获取窗口的最终梯度阈值。如果不能确定最终梯度阈值,则将采样窗口标记为无效,并且使用其两个最近的有效邻居的平均数来给其分配值。在步骤806处,速度图像生产器222针对位于TBB内部在采样窗口610a-d的中心处的中心窗口计算速度和梯度值。在这图9中进行图示。在图像310内,八个采样窗口610位于TBB320外部。中心窗口910位于采样窗口610a-d的中心处。中心窗口910的速度和梯度是通过对四个角部采样窗口610a、610b、610c、和610d的速度和梯度值进行平方插值来确定。例如,给定图像中构成矩形的四个像素v1、v2、v3、v4的值,该矩形的角部位于x1,y1、x2,y1、x2,y2、x1,y2处,则位于矩形内部的x,y处的像素的内插值是由如下给出:其中,d1=x-x1、d2=x2-x、d3=y-y1、以及d4=y2-y。返回图8,在步骤808处,速度图像生产器222确定是否已经处理了速度图像中的所有像素。如果是,则过程结束。如果不是,则过程继续进行至步骤810。在步骤810处,针对速度图像中的每个像素确定速度、梯度阈值和梯度。每个像素被分类为处于TBB320内部或者处于TBB320外部。如果像素处于TBB320外部,则像素的速度和梯度阈值是最近的采样窗口610的值。如若不然,通过对四个最近的采样窗口610的值进行距离插值,来找出像素的速度和梯度阈值。例如,给定图像中位于x1,y1、x2,y2、x3,y3、x4,y4处的四个像素v1、v2、v3、v4的值,则位于周围区域内部的x,y处的像素的距离内插值是由如下给出:其中,[]是围包函数wraparoundfunction,以便使得给定[x],如果x>4,则x=x-4。在该等式中,Di=x-xi2+y-yi2n,其中n=1。使用像素的速度来确定每个像素的梯度:GradEqp=vxpExp+vypEyp+Etp。在步骤812处,将每个像素的梯度的绝对值与该像素的梯度阈值作比较。在步骤814处,如果梯度的绝对值小于阈值,则将像素标记为背景像素,并且将速度图像中与该像素相对应的值设定为1。如若不然,在步骤816处,将像素标记为目标像素,并且将二值化值设定为0。速度图像生产器222然后返回至步骤808。在生成初步速度图像之后图5中的步骤508,下一步是生成时间偏差阵列:关于图5中的步骤510对此进行讨论。在生成了时间偏差阵列之后,将其复制并且按照升序排序到线性阵列中。使排序阵列通过低通平均滤波器例如,具有的尺寸=5以便得到最终排序线性阵列。图10图示了使用用于图像中的像素的时间偏差值的该排序线性阵列来确定两个像素阈值——较低阈值和较高阈值。y轴线表示每个像素的时间值的标准偏差,如上文关于图5中的步骤510所讨论的。x轴线是像素索引例如,排序线性阵列中像素的索引。在该图表中,具有较低值的像素预计是目标像素各个帧之间像素强度的变化较小,并且具有较高值的像素预计是背景像素各个帧之间像素强度的变化较大。可以通过找出排序线性阵列的最大斜率来确定较低阈值。例如,较低阈值可以是图10中的曲线中标记为Tlow的点处的标准偏差值。斜率是通过使用第i个像素的5点导数来进行计算:di=-Ai+2Δ+8*Ai+Δ-8Ai-1+Ai-2Δ12Δ,其中,Δ是由排序线性阵列的尺寸来确定。可以通过在由图像的目标部分中的预期像素量给出的索引处找出排序线性阵列的值来找出较高阈值。该索引可以是通过使目标部分中的预期像素量乘以1.5来找出。目标的预期像素量可以来自先前目标图像,或者来自目标的储库图像。例如,较高阈值在图10中被表示为THigh。每个阈值可以针对其自身对应的滑动求和滤波器进一步被检查。在图10中图示的过程仅仅是用于确定较低像素阈值和较高像素阈值的一种方式。这些阈值可以用许多合适的方式来进行计算,包括仅仅分析TBB320内部的像素和或使用阵列中的特定百分位例如,第10个百分位中的像素处的标准偏差,连同较高阈值一起以确定较低阈值例如,Tlow=Thigh+Tpercentile2。图11图示了生成二值图像。在步骤1102处,二值图像生产器226通过将速度图像复制到二值图像中,来生成初步二值图像,从而使二值化值逆转——在速度图像具有值“1”的情况下,二值图像被设定为“0”,并且在速度图像具有值“0”的情况下,二值图像被设定为“1”。因此,在初步二值图像中被设定为“1”的像素表示可能的目标像素。在步骤1104处,在二值阵列中的每个像素周围创建较小N×N窗口。例如,N可以是TBB320的尺寸的2%。在步骤1106处,对每个像素进行分析,以便确定其是否初步地被标记为目标像素。如果像素初步地被标记为目标像素,则在步骤1110处,二值图像生产器226识别时间偏差阵列中的对应像素。二值图像生产器226还在时间偏差阵列中识别N×N窗口中与主题像素相关联的像素。将每个像素的时间偏差阵列值与早前所确定的较高阈值Thigh作比较如结合图10描述的。如果时间偏差值<Thigh,则将二值图像中的对应像素标记为“1”,表示目标像素。使用该更加宽泛的阈值是因为假定像素是目标像素。返回步骤1106,如果像素并未初步地被标记为目标像素,则二值图像生产器226前进至步骤1108。步骤1108相似地前进至步骤1110,只是使用较低阈值Tlow来进行比较。二值图像生产器226识别时间偏差阵列中的对应像素。二值图像生产器226还在时间偏差阵列中识别N×N窗口中与主题像素相关联的像素。将每个像素的时间偏差阵列值与早前所确定的较低阈值Tlow作比较如结合图10描述的。如果时间偏差值<Thigh,则将二值图像中的对应像素标记为“1”,表示目标像素。使用该不太宽泛的阈值是因为假定像素是背景像素而不是目标像素。在步骤1114处,图像分析部件储存例如由载具的导航系统使用的二值图像。在实施例中,可以维持先前二值图像的阵列,用最新的二值图像来取代该阵列中最旧的二值图像。载具的导航系统例如,载具200的导航系统270可以使用二值图像的阵列其表示目标的位置和取向来协助向目标的导航和与目标的对接。已经出于图示的目的呈现了对本公开的各个实施例的描述,但该描述并不意在是详尽的或者限制于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变型对于本领域的普通技术人员而言是显而易见的。本文所使用的术语被选择用于最佳地解释实施例的原理、实际应用或者相对于市场上发现的技术的技术改进,或者用于使得本领域的其它普通技术人员能够理解本文所公开的实施例。在前文中参照了在本公开中呈现的实施例。然而,本公开的范围不限于所描述的特定实施例。相反,前述特征和元件的任意组合无论是否与不同的实施例有关都被设想用于实施和实践所设想的实施例。此外,尽管本文所公开的实施例可以相对于其它可能的解决方案或者相对于现有技术实现优点,但是否通过给定实施例实现了特定优点这并不会限制本公开的范围。因此,前述方面、特征、实施例和优点仅仅是图示性的并且并不被看作是所附权利要求书的元素或者限制条件,除非在多项权利要求中明确地叙述。同样,对“本发明”或者“本公开”的提及不应该被理解为是对本文所公开的任何发明性主题的概括并且不应该被看作是所附权利要求书的元素或者限制条件,除非在多项权利要求中明确地叙述。本公开的各个方面可以采取如下形式:完全硬件实施例、完全软件实施例包括固件、常驻软件、微代码等、或者将软件方面和硬件方面组合起来的实施例通常其全都可以在此被称为“电路”、“模块”或者“系统”。本公开的实施例可以是系统、方法、以及或者计算机程序产品。计算机程序产品可以包括计算机可读储存介质或者多种介质,这些介质在其上具有计算机可读程序指令以用于使得处理器执行本公开的各个方面。计算机可读储存介质可以是有形装置,该有形装置可以保持和储存供指令执行装置使用的指令。计算机可读储存介质可以是,例如但不限于,电子储存装置、磁性储存装置、光学储存装置、电磁储存装置、半导体储存装置、或者前述装置的任何合适组合。计算机可读储存介质的更具体的示例的非详尽列表包括如下:便携式计算机磁盘、硬盘、随机存取存储器RAM、只读存储器ROM、可擦可编程只读存储器EPROM或者闪存存储器、静态随机存取存储器SRAM、便携式光盘只读存储器CD-ROM、数字通用光盘DVD、记忆棒、软盘、诸如穿孔卡片或者凹槽中的凸起结构其上记录有指令等机械编码装置、以及前述装置的任何合适组合。如本文所使用的,计算机可读储存介质不应被理解为本身是瞬变信号,诸如,无线电波或者其它自由传播的电磁波、传播通过波导或者其它传输介质的电磁波例如,通过光纤电缆的光脉冲、或者通过电线传输的电信号。本文所描述的计算机可读程序指令可以从计算机可读储存介质被下载至相应计算处理装置或者经由网络例如,因特网、局域网、广域网和或无线网络下载至外部计算机或者外部储存装置。网络可以包括铜传输电缆、光学传输纤维、无线传输、路由器、防火墙、交换机、网关计算机以及或者边缘服务器。每个计算处理装置中的网络适配卡或者网络接口从网络接收计算机可读程序指令并且转发这些计算机可读程序指令以用于储存在相应计算处理装置内的计算机可读储存介质中。用于执行本公开的操作的计算机可读程序指令可以是汇编指令、指令集架构ISA指令、机器指令、机器相关指令、微代码、固件指令、状态设定数据、或者用一种或多种程序设计语言的任意组合编写的源代码或者目标代码,这些程序设计语言包括面向对象的程序设计语言诸如,Smalltalk、C++等、以及常规过程式程序设计语言诸如,“C”程序设计语言或者相似的程序设计语言。计算机可读程序指令可以完全在用户的计算机上、部分地在用户的计算机上、作为独立软件包、部分地在用户的计算机上且部分地在远程计算机上、或者完全在远程计算机或者服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络包括局域网LAN或者广域网WAN连接至用户的计算机,或者可以连接至外部计算机例如,通过使用因特网服务提供商的因特网。在一些实施例中,电子电路例如,包括可编程逻辑电路、现场可编程门阵列FPGA、或者可编程逻辑阵列PLA可以通过使用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本公开的各个方面。本文参照根据本公开的实施例的方法、设备系统、以及计算机程序产品的流程图和或框图对本公开的各个方面进行了描述。应理解,流程图和或框图的每个框、以及流程图和或框图中的框的组合可以通过计算机可读程序指令来实施。这些计算机可读程序指令可以被提供给通用计算机、专用计算机、或者其它可编程数据处理设备的处理器以便产生机器,以便使得指令其经由计算机或者其它可编程数据处理设备的处理器进行执行创建用于实施在流程图和或框图框或者多个框中指定的功能行动的方式。这些计算机可读程序指令也可以被储存在计算机可读储存介质中,其可以指导计算机、可编程数据处理设备、以及或者其它装置以特定方式运行,以便使得其中储存有指令的计算机可读储存介质包括制造物品,该制造物品包括用于实施在流程图和或框图框或者多个框中指定的功能行动的各个方面。计算机可读程序指令也可以被加载到计算机、其它可编程数据处理设备、或者其它装置上以便使得一系列操作步骤在计算机、其它可编程设备、或者其它装置上被执行以产生计算机实施过程,以便使得在计算机、其它可编程设备、或者其它装置上执行的指令实施在流程图和或框图框或者多个框中指定的功能行动。附图中的流程图和框图图示了根据本公开的各个实施例的系统、方法、以及计算机程序产品的可能实施方案的架构、功能和操作。就此而言,流程图或者框图中的每个框可以表示指令的模块、节段、或者部分,该模块、节段、或者部分包括用于实施所指定的多个逻辑功能的一个或多个可执行指令。在一些替代实施方案中,在框中指出的功能可以按不与附图中指出的顺序一致的顺序发生。例如,连续示出的两个框实际上可以大体上同时地执行,或者这些框有时可以按相反顺序来执行,这取决于所涉及的功能。还要注意,框图和或流程图的每个框、以及框图和或流程图中的各个框的组合可以由专用硬件系统来实施,专用硬件系统执行所指定的功能或者行动或者执行专用硬件和计算机指令的组合。尽管前述内容涉及本公开的实施例,但在不背离本公开的基本范围的情况下,可以设想本公开的其它和进一步的实施例,并且本公开的范围是由所附权利要求书来确定。

权利要求:1.一种通过追踪数字图像中的目标的位置和取向来控制载具的导航的方法,所述方法包括如下步骤:接收由视觉传感器202拍摄的数字图像410;生成包括多个二值化值的第一阵列420,所述多个二值化值与所述数字图像410中的第一多个像素的、与第一一个或多个先前数字图像中的对应像素相比的像素速度有关;生成包括多个值的第二阵列430,所述多个值与所述数字图像410中的所述第一多个像素的、与第二一个或多个先前数字图像中的对应像素相比的像素强度的标准偏差有关;确定512与所述第二阵列中的值有关的多个阈值;基于所述第一阵列、所述第二阵列以及所述多个阈值,在所述数字图像中识别514多个目标像素和多个背景像素;基于所识别的多个目标像素和所识别的多个背景像素,生成与所述数字图像有关的二值图像440;基于所述二值图像440,识别所述数字图像中的所述目标的位置和取向中的至少一个;以及基于所识别的、所述目标的位置和取向中的至少一个,向所述载具200的导航系统发送命令,以协助将所述载具朝着所述目标引导。2.根据权利要求1所述的方法,所述方法进一步包括如下步骤:将所述二值图像储存在电子数据库中,所述电子数据库包括与由所述视觉传感器202拍摄的图像有关的多个二值图像,其中,识别所述目标的位置和取向中的至少一个的步骤进一步基于所述多个二值图像440。3.一种追踪数字图像中的目标的位置和取向的方法,所述方法包括如下步骤:接收由视觉传感器202拍摄的数字图像410;生成包括多个二值化值的第一阵列420,所述多个二值化值与所述数字图像410中的第一多个像素的像素速度有关;生成包括多个值的第二阵列430,所述多个值与所述数字图像410中的所述第一多个像素的像素强度的标准偏差有关;基于所述第一阵列和所述第二阵列,在所述数字图像中识别514多个目标像素和多个背景像素;以及基于所识别的多个目标像素和所识别的多个背景像素,识别所述数字图像中的所述目标的位置和取向中的至少一个。4.根据权利要求3所述的方法,其中,所述第一阵列中的所述多个二值化值与所述数字图像中的像素的、与第一一个或多个先前数字图像中的像素相比的像素速度有关,并且其中,所述第二阵列中的所述多个值与所述数字图像中的像素的、与第二一个或多个先前数字图像中的像素相比的像素强度的标准偏差有关,所述方法进一步包括如下步骤:确定512与所述第二阵列中的值有关的多个阈值,其中,在所述数字图像中识别所述多个目标像素和所述多个背景像素的步骤进一步基于所述多个阈值。5.根据权利要求3所述的方法,所述方法进一步包括如下步骤:基于所识别的、所述目标的位置和取向中的至少一个,向载具200的导航系统发送命令,以协助将所述载具朝着所述目标引导。6.根据权利要求3所述的方法,所述方法进一步包括如下步骤:基于所识别的多个目标像素和所识别的多个背景像素,生成与所述数字图像有关的二值图像440,其中,识别所述数字图像中的所述目标的位置和取向中的至少一个的步骤进一步基于所述二值图像440。7.根据权利要求1或3所述的方法,所述方法进一步包括如下步骤:接收边界信息,所述边界信息足以在所述数字图像中的所述目标周围形成边界框,其中,生成与所述数字图像有关的所述第一阵列的步骤进一步包括如下步骤:识别所述数字图像410中的位于所述边界框外部的多个采样窗口;确定504位于所述多个采样窗口中的每一个内部的像素的像素速度值;以及至少部分地基于位于所述多个采样窗口内部的像素的所确定的像素速度,来确定508与所述数字图像中的第一多个像素的像素速度有关的多个二值化值。8.根据权利要求1或3所述的方法,所述方法进一步包括如下步骤:确定所述第一多个像素中的像素的梯度值;确定所述第一多个像素中的像素的梯度阈值;以及至少部分地基于所述像素的梯度值与所述像素的梯度阈值的比较,来确定所述第一阵列420中针对所述像素的二值化值。9.根据权利要求2或4中任一项所述的方法,其中,所述多个阈值包括第一阈值和第二阈值,其中,所述第一阈值高于所述第二阈值,并且其中,在所述数字图像中识别所述多个目标像素和所述多个背景像素的步骤进一步包括如下步骤:确定第一像素被标记为所述第一阵列420中的目标像素;识别所述第二阵列430中的与所述第一像素相对应的条目;确定所述第二阵列中的所述条目小于所述第一阈值,并且相应地将所述第一像素识别514为目标像素;确定第二像素被标记为所述第一阵列420中的背景像素;识别所述第二阵列430中的与所述第二像素相对应的条目;以及确定所述第二阵列中的所述条目大于或等于所述第二阈值,并且相应地将所述第二像素识别514为背景像素。10.根据权利要求6所述的方法,所述方法进一步包括如下步骤:将所述二值图像储存在电子数据库中,所述电子数据库包括与由所述视觉传感器拍摄的图像有关的多个二值图像,其中,识别所述目标的位置和取向中的至少一个的步骤进一步基于所述多个二值图像。11.一种系统,所述系统包括:处理器;以及存储器,所述存储器用于储存程序,当所述程序在所述处理器上执行时,所述程序执行操作,所述操作包括如下步骤:接收由视觉传感器202拍摄的数字图像410;生成包括多个二值化值的第一阵列420,所述多个二值化值与所述数字图像410中的第一多个像素的像素速度有关;生成包括多个值的第二阵列430,所述多个值与所述数字图像410中的所述第一多个像素的像素强度的标准偏差有关;基于所述第一阵列和所述第二阵列,在所述数字图像中识别514多个目标像素和多个背景像素;以及基于所识别的多个目标像素和所识别的多个背景像素,识别所述数字图像中的所述目标的位置和取向中的至少一个。12.根据权利要求11所述的系统,其中,所述第一阵列中的所述多个二值化值与所述数字图像中的像素的、与第一一个或多个先前数字图像中的像素相比的像素速度有关,并且其中,所述第二阵列中的所述多个值与所述数字图像中的像素的、与第二一个或多个先前数字图像中的像素相比的像素强度的标准偏差有关,所述操作进一步包括如下步骤:确定512与所述第二阵列中的值有关的多个阈值,其中,在所述数字图像中识别所述多个目标像素和所述多个背景像素的步骤进一步基于所述多个阈值。13.根据权利要求11所述的系统,所述操作进一步包括如下步骤:基于所识别的、所述目标的位置和取向中的至少一个,向载具200的导航系统发送命令,以协助将所述载具朝着所述目标引导。14.根据权利要求11所述的系统,所述操作进一步包括如下步骤:基于所识别的多个目标像素和所识别的多个背景像素,生成与所述数字图像有关的二值图像440,其中,识别所述数字图像中的所述目标的位置和取向中的至少一个的步骤进一步基于所述二值图像440。15.根据权利要求11所述的系统,所述系统进一步包括:接收边界信息,所述边界信息足以在所述数字图像中的所述目标周围形成边界框,其中,生成与所述数字图像有关的所述第一阵列的步骤进一步包括如下步骤:识别所述数字图像410中的位于所述边界框外部的多个采样窗口;确定504位于所述多个采样窗口中的每一个内部的像素的像素速度值;以及至少部分地基于位于所述多个采样窗口内部的像素的所确定的像素速度,来确定508与所述数字图像中的第一多个像素的像素速度有关的所述多个二值化值。16.根据权利要求11所述的系统,所述系统进一步包括:确定所述第一多个像素中的像素的梯度值;确定所述第一多个像素中的像素的梯度阈值;以及至少部分地基于所述像素的梯度值与所述像素的梯度阈值的比较,来确定所述第一阵列420中的针对所述像素的所述二值化值。17.根据权利要求12所述的系统,其中,所述多个阈值包括第一阈值和第二阈值,其中,所述第一阈值高于所述第二阈值,并且其中,在所述数字图像中识别所述多个目标像素和所述多个背景像素的步骤进一步包括如下步骤:确定第一像素被标记为所述第一阵列420中的目标像素;识别所述第二阵列430中的与所述第一像素相对应的条目;确定所述第二阵列中的所述条目小于所述第一阈值,并且相应地将所述第一像素识别514为目标像素;确定第二像素被标记为所述第一阵列420中的背景像素;识别所述第二阵列430中的与所述第二像素相对应的条目;以及确定所述第二阵列中的所述条目大于或等于所述第二阈值,并且相应地将所述第二像素识别514为背景像素。

百度查询: 波音公司 追踪图像中目标的位置和取向的方法和系统

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。