识别、匹配并跟踪图像序列中的多个对象的制作方法

文档序号:6496839阅读:143来源:国知局
识别、匹配并跟踪图像序列中的多个对象的制作方法
【专利摘要】提供了在由照相机获得的图像帧序列中跟踪评分的候选对象的方法。评分的候选对象可以包括与前一图像帧关联的一组现有的评分的候选对象以及与下一图像帧关联的一组新的评分的候选对象。
【专利说明】识别、匹配并跟3示图像序列中的多个对象
【技术领域】
[0001]本发明一般而言涉及材料搬运车辆,并且更具体地说涉及用于成像并定位要被该车辆拾起的托盘的系统。
【背景技术】
[0002]在典型的仓库或配送中心,托盘化的库存物品存储在与通常长而平行延伸的通道每一侧对齐的货架或其它存储结构中。为了最大化可用的空间,让几个存储结构垂直堆放是常见的,使得库存可以在升高的高度存储。因此,检索和/或摆放库存的材料搬运车辆的操作人员可能需要从车辆的操作位置向上看,以便识别用于检索或摆放库存的叉子的正确高度和横向位置。
[0003]在增加的高度处定位叉架以便拾起或摆放托盘化的材料变得越来越困难。可视角度变得更加困难。为了有效地执行必要的定位调整,会需要大量的培训。即使具有足够的能力,正确定位也会花比材料搬运车辆和操作人员的有效使用所期望的更多的时间。

【发明内容】

[0004]根据本发明的第一方面,提供了在由照相机获得的图像帧序列中跟踪评分的候选对象的方法。评分的候选对象可以包括与前一图像帧关联的一组现有的评分的候选对象以及与下一图像帧关联的一组新评分的候选对象。该方法可以包括:由计算机确定在下一图像帧中每个新评分的候选对象的相应位置;并且分析新评分的候选对象,其中所述分析包括:对于每个特定的现有评分的候选对象:由计算机识别该特定的现有评分的候选对象在前一图像帧中的相应第一位置,由计算机估计在下一图像帧中的相应第二位置,其中相应第二位置是基于前一图像帧和下一图像帧的获得之间照相机的移动估计的,由计算机计算相应预测窗口,其中相应预测窗口定义在下一图像帧中在相应第二位置附近的一组像素位置,并且,对于在相应预测窗口中具有相应位置的任何新的评分的候选对象,试验性地匹配该新评分的候选对象与该特定的现有评分的候选对象。
[0005]计算机可以维护被跟踪的现有评分的候选对象的列表。
[0006]分析可以包括把其相应位置不在用于任何现有评分的候选对象的相应预测窗口内的任何新评分的候选对象添加到被跟踪的评分的候选对象的现有列表中。
[0007]多个评分的候选对象中每一个都可以具有相应合成对象得分。
[0008]分析可以包括:对于试验性地与第一现有评分的候选对象和第二现有评分的候选对象都匹配的每个新评分的候选对象:计算第一值,该第一值包括该新评分的候选对象的相应合成对象得分与第一现有评分的候选对象的相应合成对象得分之差的绝对值;计算第二值,该第二值包括该新评分的候选对象的相应合成对象得分与第二现有评分的候选对象的相应合成对象得分之差的绝对值;如果第一值小于或等于第二值,则维护第一现有评分的候选对象与该新评分的候选对象之间的试验性匹配,并且关于第二现有评分的候选对象忽略该新评分的候选对象;并且,如果第二值小于第一值,则维护第二现有评分的候选对象与该新评分的候选对象之间的试验性匹配,并且关于第一现有评分的候选对象忽略该新评分的候选对象。
[0009]分析可以包括:对于试验性地与第一新评分的候选对象和第二新评分的候选对象都匹配的每个现有评分的候选对象:计算第一值,该第一值包括该现有评分的候选对象的相应合成对象得分与第一新评分的候选对象的相应合成对象得分之差的绝对值;计算第二值,该第二值包括该现有评分的候选对象的相应合成对象得分与第二新评分的候选对象的相应合成对象得分之差的绝对值;如果第一值小于或等于第二值,则维护该现有评分的候选对象与第一新评分的候选对象之间的试验性匹配,并且关于该现有评分的候选对象忽略第二新评分的候选对象;并且,如果第二值小于第一值,则维护第二新评分的候选对象与该现有评分的候选对象之间的试验性匹配,并且关于该现有评分的候选对象忽略第一新评分的候选对象。
[0010]分析可以包括从被跟踪的评分的候选对象的列表中删除任何不匹配的现有评分的候选对象,其中不匹配的现有评分的候选对象没有匹配的新评分的候选对象。
[0011]图像帧序列可以包括:按在第一个图像帧开始并且在最后一个图像帧结束的顺序次序的多个图像帧,其中第一个图像帧的获得在最后一个图像帧的获得之前发生,由此,除第一个图像帧和最后一个图像帧之外,每个特定的图像帧都具有双重角色:当该特定的图像帧在序列中其紧接着的前驱图像帧的获得之后被获得时,作为序列中的当前下一个图像帧,并且,当在该特定图像帧的获得之后序列中紧接着的后继图像帧被获得时,作为序列中的当前前一个图像帧。
[0012]从被跟踪的评分的候选对象的列表中删除任何不匹配的现有评分的候选对象可以包括:对于序列中紧接着在前一图像帧前面的图像帧子集中的每个图像帧,确定当该子集的该图像帧是序列中的当前前一个图像时,不匹配的现有评分的候选对象是否也不匹配;如果不匹配的现有评分的候选对象在该图像帧子集的每个图像帧中也不匹配,则删除该不匹配的现有评分的候选对象;并且如果不匹配的现有评分的候选对象在该图像帧子集的每个图像帧中不是不匹配,则在被跟踪的评分的候选对象的列表中维护该不匹配的现有评分的候选对象。
[0013]图像帧子集可以包括3个图像帧。
[0014]该方法还可以包括:获得相对于当前下一个图像帧的新后继图像帧;把当前下一个图像帧的角色改变成当前前一个图像帧的角色;并且基于所述分析更新被跟踪的评分的候选对象的列表。
[0015]根据本发明的第二方面,提供了在由计算机获得的图像帧序列中跟踪评分的候选对象的系统。评分的候选对象可以包括与前一图像帧关联的一组现有的评分的候选对象以及与下一图像帧关联的一组新评分的候选对象。该系统可以包括:处理器,配置为执行可访问存储器中的指令;对象定位部件,配置为确定在下一图像帧中每个新评分的候选对象的相应位置;以及分析器部件,配置为对新评分的候选对象执行分析,其中所述分析包括:对于每个特定的现有评分的候选对象:识别该特定的现有评分的候选对象在前一图像帧中的相应第一位置,估计在下一图像帧中的相应第二位置,其中相应第二位置是基于前一图像帧和下一图像帧的获得之间照相机的移动估计的,计算相应预测窗口,其中相应预测窗口定义在下一图像帧中在相应第二位置附近的一组像素位置,并且,对于在相应预测窗口中具有相应位置的任何新评分的候选对象,试验性地匹配该新评分的候选对象与该特定的现有评分的候选对象。
[0016]该系统还可以包括存储被跟踪的现有评分的候选对象的列表的第一存储器设备。
[0017]分析还可以包括把其相应位置不在用于任何现有评分的候选对象的相应预测窗口内的任何新评分的候选对象添加到被跟踪的评分的候选对象的现有列表中。
[0018]多个评分的候选对象中每一个都可以具有相应合成对象得分。
[0019]分析还可以包括:对于试验性地与第一现有评分的候选对象和第二现有评分的候选对象都匹配的每个新评分的候选对象:计算第一值,该第一值包括该新评分的候选对象的相应合成对象得分与第一现有评分的候选对象的相应合成对象得分之差的绝对值;计算第二值,该第二值包括该新评分的候选对象的相应合成对象得分与第二现有评分的候选对象的相应合成对象得分之差的绝对值;如果第一值小于或等于第二值,则维护第一现有评分的候选对象与该新评分的候选对象之间的试验性匹配,并且关于第二现有评分的候选对象忽略该新评分的候选对象;并且,如果第二值小于第一值,则维护第二现有评分的候选对象与该新评分的候选对象之间的试验性匹配,并且关于第一现有评分的候选对象忽略该新评分的候选对象。
[0020]分析还可以包括:对于试验性地与第一新评分的候选对象和第二新评分的候选对象都匹配的每个现有评分的候选对象:计算第一值,该第一值包括该现有评分的候选对象的相应合成对象得分与第一新评分的候选对象的相应合成对象得分之差的绝对值;计算第二值,该第二值包括该现有评分的候选对象的相应合成对象得分与第二新评分的候选对象的相应合成对象得分之差的绝对值;如果第一值小于或等于第二值,则维护该现有评分的候选对象与第一新评分的候选对象之间的试验性匹配,并且关于该现有评分的候选对象忽略第二新评分的候选对象;并且,如果第二值小于第一值,则维护第二新的评分的候选对象与该现有评分的候选对象之间的试验性匹配,并且关于该现有评分的候选对象忽略第一新评分的候选对象。
[0021]该系统还可以包括删除部件,配置为从被跟踪的评分的候选对象的列表中删除任何不匹配的现有评分的候选对象,其中不匹配的现有评分的候选对象没有匹配的新评分的候选对象。
[0022]图像帧序列可以包括按在第一个图像帧开始并且在最后一个图像帧结束的顺序次序的多个图像帧,其中第一个图像帧的获得在最后一个图像帧的获得之前发生,由此,除第一个图像帧和最后一个图像帧之外,每个特定的图像帧都具有双重角色:当该特定的图像帧在序列中其紧接着的前驱图像帧的获得之后被获得时,作为序列中的当前下一个图像帧,并且,当在该特定图像帧的获得之后序列中紧接着的后继图像帧被获得时,作为序列中的当前前一个图像帧。
[0023]删除部件可以配置为根据以下从被跟踪的评分的候选对象的列表中删除任何不匹配的现有评分的候选对象:对于序列中紧接着在前一图像帧前面的图像帧子集中的每个图像帧,确定当该子集的该图像帧是序列中的当前前一个图像时,不匹配的现有评分的候选对象是否也不匹配;如果不匹配的现有评分的候选对象在该图像帧子集的每个图像帧中也不匹配,则删除该不匹配的现有评分的候选对象;并且如果不匹配的现有评分的候选对象在该图像帧子集的每个图像帧中不是不匹配,则在被跟踪的评分的候选对象的列表中维护该不匹配的现有评分的候选对象。
[0024]图像帧子集可以包括3个图像帧。
[0025]该系统还可以包括:图像获得部件,配置为获得相对于当前下一个图像帧的新后继图像帧;图像更新部件,配置为把当前下一个图像帧的角色改变成当前前一个图像帧的角色;及对象更新部件,配置为基于所述分析更新被跟踪的评分的候选对象的列表。
[0026]根据本发明的第三方面,提供了在由照相机获得的图像帧序列中跟踪评分的候选对象的计算机程序产品。评分的候选对象可以包括与前一图像帧关联的一组现有的评分的候选对象以及与下一图像帧关联的一组新评分的候选对象。该计算机程序产品可以包括:其中包含计算机可读程序代码的计算机可读存储介质,该计算机可读程序代码包括:配置为确定在下一图像帧中每个新评分的候选对象的相应位置的计算机可读程序代码;以及配置为对新评分的候选对象执行分析的计算机可读程序代码,其中所述分析包括:对于每个特定的现有评分的候选对象:识别该特定的现有评分的候选对象在前一图像帧中的相应第一位置,估计在下一图像帧中的相应第二位置,其中相应第二位置是基于前一图像帧和下一图像帧的获得之间照相机的移动估计的,计算相应预测窗口,其中相应预测窗口定义在下一图像帧中在相应第二位置附近的一组像素位置,并且,对于在相应预测窗口中具有相应位置的任何新评分的候选对象,试验性地匹配该新评分的候选对象与该特定的现有评分的候选对象。
[0027]该计算机程序产品还可以包括配置为维护被跟踪的现有评分的候选对象的列表的计算机可读程序代码。
[0028]该计算机程序产品还可以包括配置为把其相应位置不在用于任何现有评分的候选对象的相应预测窗口内的任何新评分的候选对象添加到被跟踪的评分的候选对象的现有列表中的计算机可读程序代码。
[0029]多个评分的候选对象中每一个都可以具有相应合成对象得分。
[0030]分析还可以包括:对于试验性地与第一现有评分的候选对象和第二现有评分的候选对象都匹配的每个新评分的候选对象:计算第一值,该第一值包括该新评分的候选对象的相应合成对象得分与第一现有评分的候选对象的相应合成对象得分之差的绝对值;计算第二值,该第二值包括该新评分的候选对象的相应合成对象得分与第二现有评分的候选对象的相应合成对象得分之差的绝对值;如果第一值小于或等于第二值,则维护第一现有评分的候选对象与该新评分的候选对象之间的试验性匹配,并且关于第二现有评分的候选对象忽略该新评分的候选对象;并且,如果第二值小于第一值,则维护第二现有评分的候选对象与该新评分的候选对象之间的试验性匹配,并且关于第一现有评分的候选对象忽略该新评分的候选对象。
[0031]分析还可以包括:对于试验性地与第一新评分的候选对象和第二新评分的候选对象都匹配的每个现有评分的候选对象:计算第一值,该第一值包括该现有评分的候选对象的相应合成对象得分与第一新评分的候选对象的相应合成对象得分之差的绝对值;计算第二值,该第二值包括该现有评分的候选对象的相应合成对象得分与第二新评分的候选对象的相应合成对象得分之差的绝对值;如果第一值小于或等于第二值,则维护该现有评分的候选对象与第一新评分的候选对象之间的试验性匹配,并且关于该现有评分的候选对象忽略第二新评分的候选对象;并且,如果第二值小于第一值,则维护第二新评分的候选对象与该现有评分的候选对象之间的试验性匹配,并且关于该现有评分的候选对象忽略第一新评分的候选对象。
[0032]该计算机程序产品还可以包括配置为从被跟踪的评分的候选对象的列表中删除任何不匹配的现有评分的候选对象的计算机可读程序代码,其中不匹配的现有评分的候选对象没有匹配的新评分的候选对象。
[0033]图像帧序列包括按在第一个图像帧开始并且在最后一个图像帧结束的顺序次序的多个图像帧,其中第一个图像帧的获得在最后一个图像帧的获得之前发生,由此,除第一个图像帧和最后一个图像帧之外,每个特定的图像帧都具有双重角色:当该特定的图像帧在序列中其紧接着的前驱图像帧的获得之后被获得时,作为序列中的当前下一个图像帧,并且,当在该特定图像帧的获得之后序列中紧接着的后继图像帧被获得时,作为序列中的当前前一个图像帧。
[0034]该计算机程序产品还可以包括:配置为根据以下从被跟踪的评分的候选对象的列表中删除任何不匹配的现有评分的候选对象的计算机可读程序代码:对于序列中紧接着在前一图像帧前面的图像帧子集中的每个图像帧,确定当该子集的该图像帧是序列中的当前前一个图像时,不匹配的现有评分的候选对象是否也不匹配;如果不匹配的现有评分的候选对象在该图像帧子集的每个图像帧中也不匹配,则删除该不匹配的现有评分的候选对象;并且如果不匹配的现有评分的候选对象在该图像帧子集的每个图像帧中不是不匹配,则在被跟踪的评分的候选对象的列表中维护该不匹配的现有评分的候选对象。
[0035]图像帧子集可以包括3个图像帧。
[0036]该计算机程序产品还可以包括:配置为获得相对于当前下一个图像帧的新后继图像帧的计算机可读程序代码;配置为把当前下一个图像帧的角色改变成当前前一个图像帧的角色的计算机可读程序代码;及基于所述分析更新被跟踪的评分的候选对象的列表的计算机可读程序代码。
【专利附图】

【附图说明】
[0037]图1是本发明基于图像的检测系统可以结合在其中的材料搬运车辆的侧视图;
[0038]图2是构成图1中所说明的车辆的叉架装置(fork carriage apparatus)的透视图;
[0039]图3是托盘的前视图;
[0040]图4是说明由根据本发明的图像分析计算机实现的步骤的流程图;
[0041]图5是说明由根据本发明的图像分析计算机为了识别可能的托盘角落而实现的步骤的流程图;
[0042]图6、7、6B和7A说明了第一、第二、第三和第四角落模板;
[0043]图6A说明了位于水平和垂直交叉相关结果之上的第一角落模板;
[0044]图6C-6E说明了用于定位左下角图像中最大像素值的例子;
[0045]图6F说明了从较高分辨率图像产生较低分辨率图像的例子;
[0046]图6G说明了为了潜在的左下角的位置而被进一步分析的中等水平图像的一部分;
[0047]图8是说明由根据本发明的图像分析计算机为了确定第一 Ro图像和可选的第二Ro图像而实现的步骤的流程图;
[0048]图9说明了用于计算水平梯度图像中的像素值的例子;
[0049]图10说明了用于计算垂直梯度图像中的像素值的例子;
[0050]图11A-11D说明了包括至少一个窗口的左Ro图像的部分;
[0051]图12A、12B、13A和13B是说明由根据本发明一种实施例的图像分析计算机为了从左Ro图像中的左下角开始跟踪水平和垂直线而实现的步骤的流程图;
[0052]图14A和14B说明了包括至少一个窗口的左Ro图像的部分;
[0053]图14C和14D是说明根据本发明另一种实施例用于从左下角开始跟踪水平和垂直线的步骤的流程图;
[0054]图14E是具有作为图14C流程图中对应步骤的备选方案的一些步骤的流程图;
[0055]图15是说明由根据本发明的图像分析计算机为了确定多条可能的线中哪条最有可能是经过预审合格的左下角的实际线而实现的步骤的流程图;
[0056]图15A说明了穿过预审合格的左下角的两条可能线;及
[0057]图16A说明了规格化的灰度级图像,该图像说明了具有底部托盘板200和中心纵梁208的托盘P ;
[0058]图16B是对应于图16A中灰度级图像的水平交叉相关图像;
[0059]图16C是对应于图16A中灰度级图像的垂直交叉相关图像;
[0060]图16D是对应于图16A中灰度级图像的水平梯度图像;
[0061]图16E是对应于图16A中灰度级图像的垂直梯度图像;
[0062]图16F是对应于图16A中灰度级图像的第一 Ro图像;
[0063]图16G是对应于图16A中灰度级图像的第二 Ro图像;
[0064]图17是说明左下角和右下角的托盘一部分的视图;
[0065]图18说明了根据本发明的原理、用于评估托盘结构潜在的洞和中心纵梁的几何框架;
[0066]图19A说明了根据本发明的原理、用于估计中心纵梁高度的几何框架;
[0067]图19B说明了根据本发明的原理、用于评估中心纵梁可能的左和右垂直边缘的几何框架;
[0068]图20A是说明由根据本发明的图像分析计算机为了分析中心纵梁的可能左边缘而实现的步骤的流程图;
[0069]图20B说明了根据图20A的流程图分析的图像部分中像素的例子;
[0070]图21A是说明由根据本发明的图像分析计算机为了确定潜在地代表托盘各个部分的多个矩形的高度而实现的步骤的流程图;
[0071]图21B说明了图形解释图21A流程图操作各方面的几何框架;
[0072]图22A说明了有可能代表位于托盘中心纵梁左边的叉子开口的第一矩形的例子;
[0073]图22B说明了有可能代表位于托盘中心纵梁右边的叉子开口的第二矩形的例子;
[0074]图22C说明了有可能代表托盘中心纵梁的第三矩形的例子;
[0075]图23A是说明由根据本发明的图像分析计算机为了计算包括所述第一、第二和第三矩形的像素而实现的步骤的流程图;
[0076]图23B说明了图形解释图23A流程图操作各方面的几何框架;[0077]图23C是说明由根据本发明的图像分析计算机为了计算第一和第二矩形的负像素的垂直投影而实现的步骤的流程图;
[0078]图23D是说明由根据本发明的图像分析计算机为了计算第三矩形的至少一些负像素的垂直投影而实现的步骤的流程图;
[0079]图23E绘出了根据本发明的原理、用于维护图像帧中候选对象的对象列表(Objectlist)的示例性算法的流程图;
[0080]图24A绘出了根据本发明的原理、用于从用于图像巾贞的Objectlist中消除至少一些候选对象的示例性算法的流程图;
[0081]图24B绘出了根据本发明的原理、用于消除在彼此附近的一个或多个候选对象的示例性算法的流程图;
[0082]图24C绘出了根据本发明的原理、用于消除在彼此垂直本地(vertically local)的一个或多个候选对象的示例性算法的流程图;
[0083]图24D绘出了根据本发明的原理、具有候选对象的示例图像帧;
[0084]图25是根据本发明的原理、用于在不同的图像帧之间跟踪候选对象的流程图;
[0085]图26A和26B绘出了根据本发明的原理、具有候选对象的前一图像巾贞和下一个图像帧;
[0086]图27A说明了物理世界中其位置可以相对于多于一个参考帧来计算的托盘;
[0087]图27B说明了用于把物理世界位置投影到图像平面上的针孔照相机模型;
[0088]图27C说明了根据本发明的原理、具有不同像素位置的灰度级图像;
[0089]图27D是说明由根据本发明的图像分析计算机为了识别离群数据而实现的步骤的流程图;
[0090]图27E说明了根据本发明的原理、照相机坐标系统轴关于世界坐标系统的相对旋转;
[0091]图27F说明了根据本发明的原理、物理世界中可以相对于多于一个参考帧来计算的托盘位置;
[0092]图28是说明由根据本发明的图像分析计算机为了利用卡尔曼(Kalman)滤波器预测状态变量而实现的步骤的流程图;
[0093]图29A-29F是说明根据本发明的原理、用于确定切口(cutout)位置的流程图;及
[0094]图30说明了根据本发明的原理、可用于执行外在照相机校准的多个托盘的图像投影配置。
【具体实施方式】
[0095]现在参考图1,图1说明了本发明可以结合在其中的叉车或车辆10。车辆10包括包含操作人员隔间22的动力单元或主体20。车辆10还包括桅杆(mast)组件30和叉架装置40,如图2中最好地示出的。虽然本发明在本文中参考直立式平衡卡车来描述,但是对本领域技术人员来说将很显然,本发明及本发明的变体可以更一般性地应用于各种其它材料搬运车辆,包括包含单桅杆的驾驶者可达(rider reach)叉车,如在美国专利申请公开N0.2010/0065377中所描述的,该申请的全部公开内容在此引入作为参考。本发明的实施例可以结合在其中的车辆10的不同类型包括手动车辆、半自主车辆和自主车辆。[0096]桅杆组件30包括第一、第二和第三桅杆焊件32、34和36,其中第二焊件34套在第一焊件32中,而第三焊件36套在第二焊件34中。第一焊件32固定地耦合到卡车主体20。第二或中间焊件34能够相对于第一焊件32垂直移动。第三或内部焊件36能够相对于第一和第二焊件32和34垂直移动。
[0097]为了实现第二焊件34相对于第一焊件32的移动,第一和第二提升油缸(liftram)/汽缸组件35 (在图1中只说明了第一个组件)耦合到第一和第二焊件32和34。链条35A (在图1中只说明了第一个组件的链条)固定到第一和第二提升组件的汽缸及第三焊件36,并且在耦合到对应的一个油缸的滑轮35B (在图1中只说明了第一个组件的滑轮)之上延伸,使得第一和第二提升组件的油缸的移动实现第三焊件36相对于第一和第二焊件32和34的移动。
[0098]叉架装置40耦合到第三焊件36,从而相对于第三级焊件36垂直移动。叉架装置40还与第三焊件36 —起相对于第一和第二焊件32和34垂直移动。
[0099]在所说明的实施例中,叉架装置40包括第一和第二叉子42A和42B安装到其的叉架机制44。叉架机制44安装到到达机制(reach machanism) 46,该到达机制46又安装到桅杆支架组件48。桅杆支架组件48可移动地耦合到第三焊件36。到达机制46包括缩放或剪刀结构46A,该结构实现叉架机制44以及第一和第二叉子42A和42B朝着和远离桅杆支架组件48和第三焊件36的移动。
[0100]叉架机制44包括支架支撑结构44A和叉架框44B。叉子42A和42B安装到叉架框44B。该叉架框44B耦合到支架支撑结构44A,用于相对于支撑结构44A横向和枢轴移动。侧移活塞/汽缸单元44C安装到支架支撑结构44A和叉架框44B,从而实现叉架框44B相对于支架支撑结构44A的横向移动。
[0101]仅在图1中示出的倾斜活塞/汽缸单元44D固定地附连到支架支撑结构44A并且与叉架框44B接触,用于实现叉架框44B相对于支架支撑结构44A的枢轴移动。
[0102]站在隔间22中的操作人员可以经舵盘(tiller) 12控制卡车10行进的方向。操作人员还可以经多功能控制器14控制卡车10的行进速度、叉架装置和桅杆组件的延伸,以及第一和第二叉子42A和42B的倾斜和侧移。
[0103]根据本发明,提供了基于图像的托盘检测系统100,该系统用于在叉架装置40被升高和降低时重复地捕捉图像,识别图像帧中可能包括一个或多个托盘的一个或多个对象,确定这一个或多个对象中哪一个最有可能包括托盘,在多个帧中跟踪这一个或多个对象以便确定它们相对于叉架装置40的位置,并且生成并向位于车辆动力单元20上的车辆计算机50发送托盘位置信息。
[0104]系统100包括耦合到叉架框44B的图像分析计算机110、耦合到叉架框44B下部144B的光源120、耦合到叉架框44B下部144B的成像照相机130以及位于操作人员隔间22中以便致动系统100的触发器开关140。虽然有些安装位置可能比其它位置更加优选,但是成像照相机和灯可以位于叉子上面或下面。期望照相机随叉子侧移,但是不一定需要随叉子倾斜。不管照相机和灯如何安装,叉子都应当在视场的底部,以便给出关于正在接近的托盘的最大预警。在所说明的实施例中,成像照相机130和灯120在叉子的下面,见图1。计算机110可以位于卡车上任何位置。还有可能零件110、120和130可以组合到单个包装中,包括智能照相机。在所说明的实施例中,光源120包括近红外光源,这可以是例如一个或多个在叉子42A和42B移动时开启或者只在获得图像时才“脉动”开启的发光二极管(LED)。图像分析计算机110可以利用有线电缆或者无线地向车辆计算机50传送托盘识别和位置信息,使得车辆计算机50可以准确地在垂直和横向方向定位叉子42A和42B,如分别由Y轴和X轴定义的,见图1。
[0105]车辆和图像分析计算机50和110可以包括接收输入数据、通过计算机指令处理那种数据并且生成输出数据的任何种类的设备。这种计算机可以是手持式设备、膝上型或笔记本计算机、台式计算机、微型计算机、数字信号处理器(DSP)、大型机、服务器、手机、个人数字助理、其它可编程计算机设备,或者其任意组合。这种计算机还可以利用可编程的逻辑设备来实现,诸如现场可编程门阵列(FPGA),或者作为替代,实现为专用集成电路(ASIC)或类似的设备。术语“计算机”也要涵盖上述设备中两个或更多个的组合,例如,两个或更多个微型计算机。车辆和图像分析计算机50和110可以无线地或者硬连线地彼此连接。还预期计算机50和110可以组合成作为单个计算机。因此,本发明的各方面可以完全作为硬件、完全作为软件(包括固件、驻留软件、微代码等)或者以组合的软件和硬件实现来实现,本文一般称为“电路”、“模块”、“部件”或“系统”。此外,本发明的各方面还可以采取在一种或多种计算机可读介质中体现的计算机程序产品的形式,该计算机可读介质中包含计算机可读程序代码。
[0106]当操作人员希望拾起一个托盘P时,操作人员操纵车辆10,使得它直接定位在货架R上要拾起的期望托盘P的前面并在X方向与其大体横向对准,见图1。然后,操作人员经多功能控制器14的致动在Y方向垂直地升高叉子42A和42B至高于应当被忽略的最后一个托盘P的位置。在叉架装置40持续垂直移动的时候,图像分析计算机110使成像照相机130拍摄图像帧,诸如以10-30fps (帧/秒)的速率。如以下将更具体讨论的,图像分析计算机110分析图像,识别图像帧中的一个或多个对象,确定这一个或多个对象中哪一个最有可能包括托盘,在多个图像帧中跟踪这一个或多个对象,确定对象相对于世界坐标原点的位置并且生成并向车辆计算机50传送托盘位置信息。图像分析计算机110还可以无线地向车辆计算机50传送托盘位置信息,使得车辆计算机50可以准确地在垂直和横向方向定位叉子42A和42B,从而使得叉子42A和42B直接位于托盘中开口的前面。其后,操作人员只需要使叉架装置朝着托盘移动,使得叉子进入托盘开口。
[0107]在图3中,说明了具有底部和顶部托盘板200和202、第一和第二外部纵梁204以及中心纵梁208的托盘P。板200、202及纵梁204、206和208定义第一和第二叉子接纳开口 210和212。托盘板200和202以及中心纵梁208还定义左下角214、右下角216、左上角218和右上角220。左下角214在本文中也称为中心纵梁208的左下角,而右下角216在本文中也称为中心纵梁208的右下角。
[0108]为了在成像照相机130拍摄的每个图像帧中识别一个或多个对象并且确定这一个或多个对象中哪一个最有可能包括托盘,假设照相机定向成或者向上或者直接向前看,或者在叉子的上面或者在叉子的下面,图像分析计算机110实现至少以下过程:识别灰度级图像中一个或多个托盘P的可能角落,见图4的过程230 ;确定包括从原点到对应灰度级图像中一个或多个可能托盘上一条或多条可能线的正交距离的第一和可选的第二 Ro图像,见图4的过程232 ;尝试从第三组可能的左下角中每个可能的左下角跟踪水平和垂直线,以定义一组预审合格的左下角,见图4的过程234 ;对于每个预审合格的左下角,确定多条可能的线中哪一条最有可能是经过预审合格的左下角的实际线,见图4的过程236 ;并且尝试为找出实际线的每个预审合格的左下角识别一组右下角,见图4的过程238。还预期成像照相机可以位于叉子42A、42B上面,朝下而不是朝上看,当照相机位于叉子42A、42B下面时,朝上看。在这种实施例中,计算机110可以尝试从第三组可能的左上角中每个可能的左上角跟踪水平和垂直线,以定义一组预审合格的左上角,并且为每个预审合格的左上角确定多条可能的线中哪一条最有可能是经过预审合格的左上角的实际线。计算机110还可以尝试定位与每个左上角关联的第三组可能的右上角。
[0109]现在将参考图5描述用于识别图像中一个或多个托盘P的可能角落的过程230。在所说明的实施例中,定义从成像照相机130接收到的每个图像帧的数据包括灰度级数据。图像分析计算机HO规格化灰度级数据,使其成为零均值数据,见图5中的步骤240。规格化的灰度级图像的创建可以通过计算灰度级图像中所有像素的均值,然后从每个个别的像素值减去那个均值来实现。因此,对应于托盘结构的规格化灰度级图像中的像素趋于具有正像素值,而规格化灰度级图像中的其它像素趋于具有负像素值。下文中所使用的术语“灰度级数据”和“灰度级图像”分别指“规格化的灰度级数据”和“规格化的灰度级图像”。然后,图像分析计算机110利用第一步进-边缘模板确定一组水平交叉相关结果,即水平交叉相关图像,见步骤242,在所说明的实施例中该第一步进-边缘模板包括:
[0110]T(X)=-1, -1, -1, -1, -1, -1, +1,+1,+1,+1,+1,+1
[0111]其中“-1”对应于开放区域,而“+I”对应于托盘上的结构。
[0112]利用第一步进-边缘模板T(X)和规格化的灰度级图像数据,图像分析计算机110根据以下单维规格化交叉相关公式确定水平交叉相关结果:
【权利要求】
1.一种在由照相机获得的图像帧序列中跟踪评分的候选对象的方法,评分的候选对象包括与前一图像帧关联的一组现有评分的候选对象以及与下一图像帧关联的一组新评分的候选对象,该方法包括: 由计算机确定在下一图像帧中每个新评分的候选对象的相应位置;及 分析新评分的候选对象,其中所述分析包括: 对于每个特定的现有评分的候选对象: 由计算机识别该特定的现有评分的候选对象在前一图像帧中的相应第一位置, 由计算机估计在下一图像帧中的相应第二位置,其中相应第二位置是基于前一图像帧和下一图像帧的获得之间照相机的移动估计的, 由计算机计算相应预测窗口,其中相应预测窗口定义在下一图像帧中在相应第二位置附近的一组像素位置,及 对于在相应预测窗口中具有相应位置的任何新评分的候选对象,试验性地匹配该新评分的候选对象与该特定的现有评分的候选对象。
2.如权利要求1所述的方法,其中计算机维护被跟踪的现有评分的候选对象的列表。
3.如权利要求2所述的方法,其中所述分析包括: 把其相应位置不在用于任何现有评分的候选对象的相应预测窗口内的任何新评分的候选对象添加到被跟踪的评分的候选对象的现有列表。
4.如权利要求1所述的方法,其中`多个评分的候选对象中每一个都具有相应合成对象得分。
5.如权利要求4所述的方法,其中所述分析包括: 对于试验性地与第一现有评分的候选对象和第二现有评分的候选对象都匹配的每个新评分的候选对象: 计算第一值,该第一值包括该新评分的候选对象的相应合成对象得分与第一现有评分的候选对象的相应合成对象得分之差的绝对值; 计算第二值,该第二值包括该新评分的候选对象的相应合成对象得分与第二现有评分的候选对象的相应合成对象得分之差的绝对值; 如果第一值小于或等于第二值,则维护第一现有评分的候选对象与该新评分的候选对象之间的试验性匹配,并且关于第二现有评分的候选对象忽略该新评分的候选对象;及如果第二值小于第一值,则维护第二现有评分的候选对象与该新评分的候选对象之间的试验性匹配,并且关于第一现有评分的候选对象忽略该新评分的候选对象。
6.如权利要求4所述的方法,其中所述分析包括: 对于试验性地与第一新评分的候选对象和第二新评分的候选对象都匹配的每个现有评分的候选对象: 计算第一值,该第一值包括该现有评分的候选对象的相应合成对象得分与第一新评分的候选对象的相应合成对象得分之差的绝对值; 计算第二值,该第二值包括该现有评分的候选对象的相应合成对象得分与第二新评分的候选对象的相应合成对象得分之差的绝对值; 如果第一值小于或等于第二值,则维护该现有评分的候选对象与第一新评分的候选对象之间的试验性匹配,并且关于该现有评分的候选对象忽略第二新评分的候选对象;及如果第二值小于第一值,则维护第二新评分的候选对象与该现有评分的候选对象之间的试验性匹配,并且关于该现有评分的候选对象忽略第一新评分的候选对象。
7.如权利要求2所述的方法,其中所述分析包括: 从被跟踪的评分的候选对象的列表中删除任何不匹配的现有评分的候选对象,其中不匹配的现有评分的候选对象没有匹配的新评分的候选对象。
8.如权利要求7所述的方法,其中图像帧序列包括按在第一个图像帧开始并且在最后一个图像帧结束的顺序次序的多个图像帧,其中第一个图像帧的获得在最后一个图像帧的获得之前发生,由此,除第一个图像帧和最后一个图像帧之外,每个特定的图像帧都具有双重角色: 当该特定的图像帧在序列中其紧接着的前驱图像帧的获得之后被获得时,作为序列中的当前下一个图像帧,及 当在该特定图像帧的获得之后序列中紧接着的后继图像帧被获得时,作为序列中的当前前一个图像帧。
9.如权利要求8所述的方法,其中从被跟踪的评分的候选对象的列表中删除任何不匹配的现有评分的候选对象包括: 对于序列中紧接着在前一图像帧前面的图像帧子集中的每个图像帧,确定当该子集的该图像帧是序列中的当前前一个图像时,不匹配的现有评分的候选对象是否也不匹配; 如果不匹配的现有评分的候选对象在该图像帧子集的每个图像帧中也不匹配,则删除该不匹配的现有评分的候选对象;及 如果不匹配的现有评分的候选对象在该图像帧子集的每个图像帧中不是不匹配,则在被跟踪的评分的候选对象的列表中`维护该不匹配的现有评分的候选对象。
10.如权利要求9所述的方法,其中图像帧子集包括3个图像帧。
11.如权利要求2所述的方法,其中图像帧序列包括按在第一个图像帧开始并且在最后一个图像帧结束的顺序次序的多个图像帧,其中第一个图像帧的获得在最后一个图像帧的获得之前发生,由此,除第一个图像帧和最后一个图像帧之外,每个特定的图像帧都具有双重角色: 当该特定的图像帧在序列中其紧接着的前驱图像帧的获得之后被获得时,作为序列中的当前下一个图像帧,及 当在该特定图像帧的获得之后序列中紧接着的后继图像帧被获得时,作为序列中的当前前一个图像帧。
12.如权利要求11所述的方法,还包括: 获得相对于当前下一个图像帧的新后继图像帧; 把当前下一个图像帧的角色改变成当前前一个图像帧的角色;及 基于所述分析更新被跟踪的评分的候选对象的列表。
13.—种在由计算机获得的图像帧序列中跟踪评分的候选对象的系统,评分的候选对象包括与前一图像帧关联的一组现有的评分的候选对象以及与下一图像帧关联的一组新评分的候选对象,该系统包括: 处理器,配置为执行可访问存储器中的指令; 对象定位部件,配置为确定在下一图像帧中每个新评分的候选对象的相应位置;及分析器部件,配置为对新评分的候选对象执行分析,其中所述分析包括: 对于每个特定的现有评分的候选对象: 识别该特定的现有评分的候选对象在前一图像帧中的相应第一位置, 估计在下一图像帧中的相应第二位置,其中相应第二位置是基于前一图像帧和下一图像帧的获得之间照相机的移动估计的, 计算相应预测窗口,其中相应预测窗口定义在下一图像帧中在相应第二位置附近的一组像素位置,及 对于在相应预测窗口中具有相应位置的任何新评分的候选对象,试验性地匹配该新评分的候选对象与该特定的现有评分的候选对象。
14.如权利要求13所述的系统,还包括: 第一存储器设备,存储被跟踪的现有评分的候选对象的列表。
15.如权利要求14所述的系统,其中所述分析还包括: 把其相应位置不在用于任何现有评分的候选对象的相应预测窗口内的任何新评分的候选对象添加到被跟踪的评分的候选对象的现有列表。
16.如权利要求13所述的系统,其中多个评分的候选对象中每一个都具有相应合成对象得分。
17.如权 利要求16所述的系统,其中所述分析还包括: 对于试验性地与第一现有评分的候选对象和第二现有评分的候选对象都匹配的每个新评分的候选对象: 计算第一值,该第一值包括该新评分的候选对象的相应合成对象得分与第一现有评分的候选对象的相应合成对象得分之差的绝对值; 计算第二值,该第二值包括该新评分的候选对象的相应合成对象得分与第二现有评分的候选对象的相应合成对象得分之差的绝对值; 如果第一值小于或等于第二值,则维护第一现有评分的候选对象与该新评分的候选对象之间的试验性匹配,并且关于第二现有评分的候选对象忽略该新评分的候选对象;及如果第二值小于第一值,则维护第二现有评分的候选对象与该新评分的候选对象之间的试验性匹配,并且关于第一现有评分的候选对象忽略该新评分的候选对象。
18.如权利要求16所述的系统,其中所述分析还包括: 对于试验性地与第一新评分的候选对象和第二新评分的候选对象都匹配的每个现有评分的候选对象: 计算第一值,该第一值包括该现有评分的候选对象的相应合成对象得分与第一新评分的候选对象的相应合成对象得分之差的绝对值; 计算第二值,该第二值包括该现有评分的候选对象的相应合成对象得分与第二新评分的候选对象的相应合成对象得分之差的绝对值; 如果第一值小于或等于第二值,则维护该现有评分的候选对象与第一新评分的候选对象之间的试验性匹配,并且关于该现有评分的候选对象忽略第二新评分的候选对象;及如果第二值小于第一值,则维护第二新评分的候选对象与该现有评分的候选对象之间的试验性匹配,并且关于该现有评分的候选对象忽略第一新评分的候选对象。
19.如权利要求14所述的系统,还包括:删除部件,配置为从被跟踪的评分的候选对象的列表中删除任何不匹配的现有评分的候选对象,其中不匹配的现有评分的候选对象没有匹配的新评分的候选对象。
20.如权利要求19所述的系统,其中图像帧序列包括按在第一个图像帧开始并且在最后一个图像帧结束的顺序次序的多个图像帧,其中第一个图像帧的获得在最后一个图像帧的获得之前发生,由此,除第一个图像帧和最后一个图像帧之外,每个特定的图像帧都具有双重角色: 当该特定的图像帧在序列中其紧接着的前驱图像帧的获得之后被获得时,作为序列中的当前下一个图像帧,及 当在该特定图像帧的获得之后序列中紧接着的后继图像帧被获得时,作为序列中的当前前一个图像帧。
21.如权利要求20所述的系统,其中删除部件配置为根据以下从被跟踪的评分的候选对象的列表中删除任何不匹配的现有评分的候选对象: 对于序列中紧接着在前一图像帧前面的图像帧子集中的每个图像帧,确定当该子集的该图像帧是序列中的当前前一个图像时,不匹配的现有评分的候选对象是否也不匹配; 如果不匹配的现有评分的候选对象在该图像帧子集的每个图像帧中也不匹配,则删除该不匹配的现有评分的候选对象;及 如果不匹配的现有评分的候选对象在该图像帧子集的每个图像帧中不是不匹配,则在被跟踪的评分的候选对象的列表中维护该不匹配的现有评分的候选对象。
22.如权利要求21所述的系统,其中图像帧子集包括3个图像帧。
23.如 权利要求14所述的系统,其中图像帧序列包括按在第一个图像帧开始并且在最后一个图像帧结束的顺序次序的多个图像帧,其中第一个图像帧的获得在最后一个图像帧的获得之前发生,由此,除第一个图像帧和最后一个图像帧之外,每个特定的图像帧都具有双重角色: 当该特定的图像帧在序列中其紧接着的前驱图像帧的获得之后被获得时,作为序列中的当前下一个图像帧,及 当在该特定图像帧的获得之后序列中紧接着的后继图像帧被获得时,作为序列中的当前前一个图像帧。
24.如权利要求33所述的系统,还包括: 图像获得部件,配置为获得相对于当前下一个图像帧的新后继图像帧; 图像更新部件,配置为把当前下一个图像帧的角色改变成当前前一个图像帧的角色;及 对象更新部件,配置为基于所述分析更新被跟踪的评分的候选对象的列表。
25.一种在由照相机获得的图像帧序列中跟踪评分的候选对象的计算机程序产品,评分的候选对象包括与前一图像帧关联的一组现有的评分的候选对象以及与下一图像帧关联的一组新评分的候选对象,该计算机程序产品包括: 其中包含计算机可读程序代码的计算机可读存储介质,该计算机可读程序代码包括: 配置为确定在下一图像帧中每个新评分的候选对象的相应位置的计算机可读程序代码;及 配置为对新评分的候选对象执行分析的计算机可读程序代码,其中所述分析包括:对于每个特定的现有评分的候选对象: 识别该特定的现有评分的候选对象在前一图像帧中的相应第一位置, 估计在下一图像帧中的相应第二位置,其中相应第二位置是基于前一图像帧和下一图像帧的获得之间照相机的移动估计的, 计算相应预测窗口,其中相应预测窗口定义在下一图像帧中在相应第二位置附近的一组像素位置,及 对于在相应预测窗口中具有相应位置的任何新评分的候选对象,试验性地匹配该新评分的候选对象与该特定的现有评分的候选对象。
26.如权利要求25所述的计算机程序产品,还包括: 配置为维护被跟踪的现有评分的候选对象的列表的计算机可读程序代码。
27.如权利要求26所述的计算机程序产品,还包括: 配置为把其相应位置不在用于任何现有评分的候选对象的相应预测窗口内的任何新评分的候选对象添加到被跟踪的评分的候选对象的现有列表的计算机可读程序代码。
28.如权利要求25所述的计算机程序产品,其中多个评分的候选对象中每一个都具有相应合成对象得分。
29.如权利要求28所述的计算机程序产品,其中所述分析还包括: 对于试验性地与第一现有评分的候选对象和第二现有评分的候选对象都匹配的每个新评分的候选对象:` 计算第一值,该第一值包括该新评分的候选对象的相应合成对象得分与第一现有评分的候选对象的相应合成对象得分之差的绝对值; 计算第二值,该第二值包括该新评分的候选对象的相应合成对象得分与第二现有评分的候选对象的相应合成对象得分之差的绝对值; 如果第一值小于或等于第二值,则维护第一现有评分的候选对象与该新评分的候选对象之间的试验性匹配,并且关于第二现有评分的候选对象忽略该新评分的候选对象;及如果第二值小于第一值,则维护第二现有评分的候选对象与该新评分的候选对象之间的试验性匹配,并且关于第一现有评分的候选对象忽略该新评分的候选对象。
30.如权利要求28所述的计算机程序产品,其中所述分析还包括: 对于试验性地与第一新评分的候选对象和第二新评分的候选对象都匹配的每个现有评分的候选对象: 计算第一值,该第一值包括该现有评分的候选对象的相应合成对象得分与第一新评分的候选对象的相应合成对象得分之差的绝对值; 计算第二值,该第二值包括该现有评分的候选对象的相应合成对象得分与第二新评分的候选对象的相应合成对象得分之差的绝对值; 如果第一值小于或等于第二值,则维护该现有评分的候选对象与第一新评分的候选对象之间的试验性匹配,并且关于该现有评分的候选对象忽略第二新评分的候选对象;及如果第二值小于第一值,则维护第二新评分的候选对象与该现有评分的候选对象之间的试验性匹配,并且关于该现有评分的候选对象忽略第一新评分的候选对象。
31.如权利要求26所述的计算机程序产品,还包括: 配置为从被跟踪的评分的候选对象的列表中删除任何不匹配的现有评分的候选对象的计算机可读程序代码,其中不匹配的现有评分的候选对象没有匹配的新评分的候选对象。
32.如权利要求21所述的计算机程序产品,其中图像帧序列包括按在第一个图像帧开始并且在最后一个图像帧结束的顺序次序的多个图像帧,其中第一个图像帧的获得在最后一个图像帧的获得之前发生,由此,除第一个图像帧和最后一个图像帧之外,每个特定的图像帧都具有双重角色: 当该特定的图像帧在序列中其紧接着的前驱图像帧的获得之后被获得时,作为序列中的当前下一个图像帧,及 当在该特定图像帧的获得之后序列中紧接着的后继图像帧被获得时,作为序列中的当前前一个图像帧。
33.如权利要求32所述的计算机程序产品,还包括: 配置为根据以下从被跟踪的评分的候选对象的列表中删除任何不匹配的现有评分的候选对象的计算机可读程序代码: 对于序列中紧接着在前一图像帧前面的图像帧子集中的每个图像帧,确定当该子集的该图像帧是序列中的当前前一个图像时,不匹配的现有评分的候选对象是否也不匹配; 如果不匹配的现有评分的候选对象在该图像帧子集的每个图像帧中也不匹配,则删除该不匹配的现有评分的候选对象;及 如果不匹配的现有评分的候选对象在该图像帧子集的每个图像帧中不是不匹配,则在被跟踪的评分的候选对象的列表中维护该不匹配的现有评分的候选对象。
34.如权利要求33所述的计算机程序产品,其中图像帧子集包括3个图像帧。
35.如权利要求26所述的计算机程序产品,其中图像帧序列包括按在第一个图像帧开始并且在最后一个图像帧结束的顺序次序的多个图像帧,其中第一个图像帧的获得在最后一个图像帧的获得之前发生,由此,除第一个图像帧和最后一个图像帧之外,每个特定的图像帧都具有双重角色: 当该特定的图像帧在序列中其紧接着的前驱图像帧的获得之后被获得时,作为序列中的当前下一个图像帧,及 当在该特定图像帧的获得之后序列中紧接着的后继图像帧被获得时,作为序列中的当前前一个图像帧。
36.如权利要求35所述的计算机程序产品,还包括: 配置为获得相对于当前下一个图像帧的新后继图像帧的计算机可读程序代码; 配置为把当前下一个图像帧的角色改变成当前前一个图像帧的角色的计算机可读程序代码 '及 基于所述分析更新被跟踪的评分的候选对象的列表的计算机可读程序代码。
【文档编号】G06T7/20GK103889879SQ201280051242
【公开日】2014年6月25日 申请日期:2012年10月16日 优先权日:2011年10月19日
【发明者】L·F·霍尔瓦, E·R·埃尔斯顿, E·L·詹森, M·J·西林格, J-D·S·约德 申请人:克朗设备公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1