专利名称:梯度计算相机板的制作方法
技术领域:
本主题内容涉及了用于处理输入到计算机等的图像信号、用于机器视觉和类似应用的技术,其采用了梯度(gradient)计算和/或背景相减。
背景技术:
越来越多种类的工业应用涉及到机器视觉测量,这些测量是通过处理来自相机的图像数据而获取的。例如,使用计算机辅助三维(3D)机器视觉对准(aligment)设备,可使机动车轮在对准架上对准。在这样的技术中,对准设备的一个或者多个相机观察附着在车轮上的目标(target)。这些相机形成了目标图像,对准设备中的计算机分析目标图像以确定车轮的位置。计算机基于从图像数据的处理而获得的计算,指导操作者恰当地调节车轮以完成精确的对准。
机动车辆的3D对准中有用的方法和设备的实例在如下文献中有所描述题为“Method and apparatus for determining the alignment of motorvehicle wheels”的5,943,783号美国专利;题为“Method and apparatus forcalibrating cameras used in the alignment of motor vehicle wheels”的5,809,658号美国专利;题为“Method and apparatus for determining thealignment of motor vehicle wheels”的5,724,743号美国专利;以及题为“Method and apparatus for determining the alignment of motor vehiclewheels”的5,535,522号美国专利。
这些参考文献中所述的车轮对准系统类型有时被称作“3D对准器”或者“对准器”。商业车轮对准器的实例是Visualiner 3D,其可从SnaponTools公司的单位,即John Bean公司,Conway,Ark商业性获得。当然,上面所述3D车轮对准器在此仅作为在商业应用中利用机器视觉的系统的一个实例来描述。
在3D对准器中和在涉及机器视觉的其他应用中,需要大量的处理以解读相机图像。在当前的机器视觉系统中,比如3D对准器,通常有两种方式来处理来自相机的视频图像信号,二者具有局限或问题。
工业机器视觉应用中最普遍的图像处理技术使用了专用视频处理模块,其包括硬接线和专门设计和改造的其他处理器件,其用于在处理结果输入到主机计算机之前处理图像数据。例如,在对准系统中,这样的板对于来自一个或者多个相机的信号进行处理,以产生目标取向结果或者可能平稳的对准数字,用于主机计算机的显示和/或进一步处理。然而,视频处理板经常要求使用复杂、昂贵的处理器,以执行图像算法所需要的所有必要计算。
为机器视觉应用而处理数据的替代方式涉及了从相机到图像捕获板的流式图像数据,该板的图像存储器可由主机计算机访问。该主机计算机顺序地执行图像数据的所有处理,以获得必要的计算结果,否则这些处理会在专用视频处理模块上进行。然而,所需处理量很大,对主机计算机的中央处理单元施加了相当大的负担。这样紧张的处理可能无法接受地减缓主机计算机的操作。如果特定的机器视觉应用需要处理来自多个相机的图像,那么待处理的数据量和必要计算的附带数量可能使主机计算机应接不暇。
发明内容
因此,需要一种增强的技术,用于为机器视觉应用执行图像数据处理,其方式为至多需要最少量的专用处理硬件,不需要主机计算机来执行过量的相关计算。如这里所公开的,在数据传送到主机计算机之前,一般在传感器模块中与图像传感器相关联的电路执行数据预处理。
用于机器视觉应用的一个图像处理任务涉及到图像中目标边界的标识和准确测量。然后,可从这些边界测量,确定目标特性,比如面积、质心和其他相关参数。这样的目标经常表征为具有与周围像素显著不同的强度的像素群,它们的边界处于图像梯度峰值处。为了支持这样的图像处理任务,在图像处理模块处执行预处理以获得图像梯度是有用的。
另一图像预处理操作是背景相减(subtraction)。在车轮对准实例中,图像中关注的物体是由邻近于相机的照明源产生的。例如在无此照明时,为了去除其他物体,背景图像由相机获取。然后,在照明存在时,获取前景图像。该前景图像具有通过照明而产生的物体和其他物体。从前景中逐个像素地减去背景图像,产生了仅含所关注的物体的图像。对于该相减处理,图像存储器缓冲背景图像,处理器件执行相减。如果提供梯度处理,则在梯度计算之前执行背景相减。
如果使用分立器件对预处理的图像数据执行后续处理,则可在成像模块处使用压缩,以对于预处理数据传输到主机计算机,降低器件间的带宽要求。理想地,这些操作(背景相减、梯度计算和压缩)以输入图像数据的速率来执行,从而没有延迟或者对额外缓冲器存储器的需求。
这里公开的概念减轻了上面提到的问题,并解决了与机器视觉应用中处理图像数据相关的需求。一种公开的技术涉及了梯度计算,其根据来自一个或多个图像传感器的图像数据。在公开的实例中,成像模块包括图像传感器以及用于照明和增益控制的元件。该成像模块执行梯度计算,可压缩所得梯度数据流,用于例如在管线方式下以图像传感器的数据速率传送到主机计算机,用于进一步处理。梯度计算是对于每个像素而执行的。
该实例不要求前景图像预缓冲。所得梯度数据流显著减少了待传送到主机计算机的数据量(由此减小传送带宽)以及主机计算机所执行的后续计算量。因此,主机计算机和该模块之间的连接可使用简单的连接方法,比如USB 1.0或2.0,对计算机处理性能的要求可显著地降低。然而,由于梯度预处理的相对简单性,该模块不要求如同当前可用的图像处理板一样复杂(或昂贵)的硬件。这减少了成本,还使主机计算机留有运行其他应用程序或接受来自更大量相机的数据的能力,或者两者兼备。
另一公开的技术涉及了根据来自一个或多个图像传感器的图像数据而执行背景相减。在公开的实例中,成像模块包括图像传感器以及用于照明和增益控制的元件。该成像模块执行背景相减,可压缩所得数据流,用于传输到主机计算机用于进一步处理。该示例性模块中的处理器也可基于背景相减的结果而执行梯度计算。
在公开的实例中,“背景”图像是在无照明时获得的,而“前景”图像是在有照明时获得的。在背景(光灭)图像从前景(光亮)图像中相减之后剩余的图像数据对应于视野中的元件,其通过来自照明源的光来照亮,并对来自照明源的光是高度反射的。这样的相减剔出了分散注意力的物体,例如与车轮对准应用不相关的物体。
在这些实例中,对于车辆对准系统的成像模块,构思有许多其他改进。在一个此类改进中,该成像模块包括有耦接到图像传感器电路的现场可编程门阵列(FPGA),用于预处理数字化图像。通信接口,比如USB2.0接口,将预处理的图像数据发送到主机处理器。在该设置的实例中,USB接口是集成电路的一部分,其也包括成像模块的微控制器。
图像感测模块中的另一改进涉及了特别为图像传感器电路提供有源(active)冷却。在该实例中,温度传感器提供反馈数据到微控制器,其控制着设置为冷却相机电路的Peltier器件或热电冷却器。
图像感测模块中的又一改进涉及了将频闪灯(strobe)电路光隔离。该模块典型地包括图像传感器电路、电子频闪灯电路、耦接到图像传感器电路和电子频闪灯电路的控制器电路、以及通信接口电路。至少一个光隔离器被耦接到电子频闪灯电路,用于将频闪灯电路从图像感测模块的其他电路光学隔离。频闪灯电路从其他电路的光隔离防止了来自频闪灯电路的电源反馈到逻辑电路中和损坏逻辑电路。
这些实例的附加目的、优点和新颖特征将在后续描述中被部分地阐明,对本领域技术人员对下文及附图进行考查时将是部分明显的,或者可通过对这些实例的生产获操作来掌握获悉。这些概念的目的和优点可通过所附权利要求中特别指出的方法、手段和组合来实现和达到。
仅通过举例而非限制,如下附图描绘了根据本发明的一个或多个实施例。在附图中,相似的标号指代了相同或相似的元件。
图l是使用机器视觉的车轮对准系统的透视图,其可将梯度计算和压缩元件并入到成像模块中。
图2是成像模块的简化功能框图,其可用于图1的机器视觉系统中。
图3是图2的成像模块的图像处理元件的简化功能框图。
图4是图1的机器视觉系统的主机计算机的个人计算机实施例的简化功能框图。
图5是图像感测模块电路的功能框图。
图6是可用于图5的模块中的FPGA的功能框图。
图7是频闪灯控制的功能框图,其例如可作为FPGA中的附加功能来实施。
具体实施例方式
这里公开的各种实例涉及了通过提供具有图像传感器以及关联预处理电路而以增强方式实施机器视觉的系统和技术。在这些实例中,成像模块中的预处理电路执行背景相减和/或梯度计算。成像模块中的预处理电路或其他装置也可提供数据压缩,用于减少通向主机处理器的带宽通信。现在详细参考附图中所示的实例。
这里讨论的概念可应用于各种不同类型的机器视觉系统。为了讨论的目的,在进入成像模块的细节之前,考虑机器视觉系统的具体实例是有帮助的,比如图1中所示的3D对准器。
在所示实例中,对准器系统100由三个主要部件组成。这些元件中的第一个是照明和成像系统102。该系统的此部分包括两个成像模块110、112。成像模块110、112的每一个包括发光器或照明系统(典型地是频闪灯)。成像模块110、112的每一个还包括图像传感器,典型地以数字相机的形式。本质上,每个相机在其视野之内形成物体的图像,其在操作中包括一个或多个目标;根据该图像,每个相机生成数字图像数据。如后更多讨论的,成像模块110、112的每一个包括用于处理数字图像数据的电路,以执行梯度计算和梯度数据的压缩。
每个发光器采用频闪(strobed)(闪光,flashing)红LED阵列的形式,其安装在相机之一的光圈周围。该示范性系统使用高分辨率数字相机。成像模块110和112被安装在水平梁114的相对端处。在车轮对准应用中,该梁提供模块之间所需的分离,以允许从相对侧对车轮的所需观察。该梁的高度可固定或可调节,因此模块110和112中相机的高度可固定或可调节。梁114的结构以及用于支撑梁114的结构对于这里的讨论并不重要。本领域技术人员将理解,包括车轮对准的机器视觉应用可使用单个成像模块,或者使用比该实例中所示两个模块110、112更多的模块。
对准器3D系统的第二个主要元件是一组四个无源(passive)头118、120、122和124,用于附着于车轮126、128、130和132。每个头包括轮缘夹具和附着的目标物体。在该实例中,每个目标物体具有平坦表面,其带有多个可视觉感知、几何配置、回射性的目标元件,这些元件在该平坦表面上表现为不同尺寸的反射圆或点的图案。适用于车轮对准应用的目标体134和目标元件136的实例在5,724,743号美国专利中有所描述。其他的目标设计可被用于车轮对准,例如具有不同的可视觉感知的目标元件136;本领域技术人员将理解,其他机器视觉应用涉及不同类型目标的成像或者物体特征的成像。
在该车轮对准应用中,目标118、120、122、124被安装在机动车轮126、128、130、132的每一个上。每个目标118、120、120、124包括目标体134、目标元件136和附着设备138。目标元件136被定位于目标体134上。附着设备138将目标118、120、120、124分别附着于车轮126、128、130、132。附着设备的实例在1991年6月18日有Borner等人发表的题为“Wheel Alignment Rim Clamp”的5,024,001号美国专利中有所描述,在此通过参考将其并入。当然,可使用其他安装方案。
支撑成像模块110和112的梁114具有足够长度,以将模块110、112中的相机分别定位于将由位置确定系统100成像的车辆的侧面外部。梁114还将模块110、112中的相机定位在车轮以上足够高,以确保车辆左侧上的两个目标118、120都在模块110中左侧相机的视野之内,车辆右侧上的两个目标122、124都在模块112中右侧相机的视野之内。
对准器系统100的其他主要元件是已编程的计算机或主机111,典型地是个人计算机或类似的可编程数据处理设备。在典型实施例中,计算机111包括处理器、键盘、鼠标、打印机和彩色显示监视器,稍候将对其进行详细讨论。在机器视觉的车轮对准实例中,计算机111被编程为接收和处理来自成像模块110和112的压缩图像梯度数据。主机计算机111对收到的数据进行处理,以计算车辆的对准参数,将这些参数的图形三维表示作为显示提供给机械工。通常,主机处理系统111对压缩的梯度信息进行处理,以从相机图像中导出与可视觉感知的目标元件的位置有关的位置数据;主机处理系统111处理这些位置数据,以确定受测车辆的一个或多个车轮对准参数。计算机111还提供在调节车辆对准中有用的各种其他信息。该计算机还提供用于系统操作的用户接口。
在操作中,一旦车轮对准器系统100已经以公知方式校准,则车辆可被驱动到架140上;如果需要,该车辆可被提升到适当的修理高度。一旦附着于轮缘,目标118、120、122、124就被定向,从而目标体134上的目标元件136面向各模块110或112中的相机。该相机高度可固定或可调节,以对应于提升高度。然后,该车辆和型号年份可与其他标识参数一起被输入到计算机111中,比如车辆VIN号、许可号、车主名字等等。
为了进行测量,机械工通过操作该系统100来开始以获取目标118、120、122和124的第一组图像。然后,机械工将该车辆向后滚动多至8英寸的些微距离;系统100获取目标118、120、122和124的另一组图像。最后,机械工将车辆向前滚动到其初始位置,并且系统100获取更多图像。对于每个图像,各模块110或112中的处理形成了梯度数据,压缩这些数据,并将结果数据转发到主机计算机111。例如,从在各种位置处获取的图像中目标的位置和取向,计算机111计算每个轮轴的实际位置和取向,包括某些对准参数,比如束角(toe)、外倾、推进角和后退。
在示例性系统100中,相机彼此参照,从而主机计算机111使用单个坐标系统为,用于对受测车辆建模。支撑架140处于电平或甚至所有车轮位于相同平面内不是必需的。对于每个车辆,计算机111定义一穿过车轮旋转中心(称作“爪点”,因为它们是目标组件的爪部抓住轮缘时的点的中心)的参考平面,其是从在车轮的不同位置处获取的两个测试图像中确定的。由于这些爪点之一可能不位于由其他三个所限定的平面中,所以必须给予一些自由性。例如,为了对准前轮126、130,计算机111将参考平面定义为由两个前轮中每一个的测量爪点位置、以及后轮128、132的测量爪点位置之间的中途点所形成的平面。然后,前轮对准计算参考该单独测量的平面。类似技术可被用于关于后轮的参考测量和调节。
车辆前轮126、130可搁置于转台(未示出)上,从而机械工在对准操作期间能够操作车辆方向盘以改变前轮位置。例如,机械工将操作该系统100,以在车轮126、130转到一侧时获取目标118、120、122和124的图像。然后,机械工将车轮126、130转到另一测;系统100获取目标118、120,122和124的另一图像。从在两个转到的位置处获取的这些图像中的前方目标118、120的位置和取向,计算机111计算每个前轮126或130绕其转动的转向轴。
一旦所有测量完成,计算机111生成测得的对准参数的视觉输出和/或提供与将对准参数带回到原始制造商规格所需要的调节有关的数据。计算机111为对准参数储存制造商的指定值和公差,并基于机械工输入的生产和型号信息来检索适当信息。机械工例如可通过进行调节和/或更换磨损部分来采取纠正动作,然后重复该过程以确认该纠正动作造成了车轮的适当对准。如果必要,机械工可重复纠正对准和重新测试中的一个或多个步骤,直至所有参数在可接受的公差之内。当完成时,系统111可提供视觉显示和/或打印输出,用于开账单、报告给客户等等。
图2中的框图提供了成像处理模块110、112之一的实例的功能元件的高度说明,其使用了上面关于图1而概括的机器视觉,用于车轮对准型系统100中。所示模块包括LED阵列201,其充当照明器,以发光用于车轮对准系统的目标的所需照明。该模块的元件(图2)可置于单个电路板上,尽管在一些实施例中LED阵列是模块中分立的可更换部件。所示模块还包括高分辨率数字相机203,其结合了机器视觉图像传感器。
主机计算机通信接口205提供了用于成像模块110或112的部件与主机计算机111的双向数据通信(图1)。主机通信接口205符合适当的数据协议标准,并提供对所需物理媒介的耦接,以在所需速度和在特定安装所需的方式下实现去往/来自主机计算机的数据通信。在用于车轮对准的典型场地安装中,主机通信接口205是USB连接器的USB接口,其用于缆线连接到主机计算机111中的匹配接口。当然,本领域技术人员将理解,其他数据通信接口可用于车轮对准系统中或者其他机器视觉应用中。例如,如果用户在特定应用中需要具有便携式终端,则主机可以是膝上型或手提式装置,在这种情形中,使用便于与主机进行无线通信的接口205是有利的。
除了LED阵列201、相机203和主机通信接口205以外,该模块还包括电路207,用于驱动阵列201发光。驱动器电路207被耦接到主机通信接口205,以使主机计算机系统111指示驱动器电路207何时激活阵列201和可能所需的照明强度。响应于来自主机的指令,该驱动器电路激活LED阵列201,在必要时调节该阵列发射的光的强度。
模块110或112也可包括一个或多个控制电路209。尽管所述控制可并入于该模块的一个或多个所述元件中,但是为了便于讨论,控制209被表示出为单个逻辑分立元件。控制209响应于经由通信接口205从主机接收的命令等,以将控制信号提供到成像模块110或112中的各种元件。例如,响应于来自主机计算机的指令,控制209可提供控制信号到相机203,以设置其光圈曝光时间或设置在该相机内执行的信号处理的增益,以便增加或减少灵敏度,由此增加或减少相机203输出的数据的平均像素强度电平。控制209还激活相机203,以响应于经由主机通信接口205接收的来自主机计算机系统111的控制数据,以便形成图像,并在主机计算机系统指所定的时间提供图像数据。
控制209还可提供控制信号到LED驱动器电路207,例如控制从LED阵列201发射的照明的定时和数量。如前所述,控制209响应于来自主机计算机系统的命令,因此控制209使得主机指定何时激活阵列201和可能照明所需强度。
在操作中,相机203基于在对应于像素的图像点处的感测光的模拟强度,输出每个图像像素的数字值。该值被数字化和读出。为了得到更高输出值,相机增益被增加,以有效地倍增CMOS传感器的输出。替代地,光圈(透镜可变光阑的直径)被打开,或者传感器的光连接时间被延长,以增加灵敏度,由此获得更高值的输出数据。
对于给定的机器视觉应用,比如车轮对准,目标元件和感兴趣的其他可见物体优选地在相机图像中的给定范围之内表现为亮度。在所示系统中,能够调整几个参数,以修改所得强度,将目标或其他物体带到所需强度范围中。在该例中,可调节的参数包括LED阵列201的照明强度、相机203的光圈和相机内部处理电路的增益(典型地为模拟增益)。
在车轮对准实例中,计算机系统111发送指令,以修改模块110或者112的操作,因此目标元件表现在所需强度范围之内。例如,如果相机输出数据中的强度表现得太低,则计算机系统111可指示相机203(通过控制209)改变打开和/或打开时间,以增加曝光或增加相机内信号处理中的增益。可选地,计算机系统111可指示驱动器电路207(通过控制209)驱动LED阵列201以在更高水平发光。
在操作中,相机203将数字图像数据供应到图像处理电路211。图像处理电路211对每个像素的数字值执行梯度计算。例如使用一运行长度编码技术,压缩所得梯度数据。显然,可使用其他数据压缩方案。图像处理电路211将压缩的梯度数据供应到主机通信接口205,用于传输到主机计算机系统111。
通常,示例性图像处理电路211以图像传感器输出速率来提供背景相减、梯度计算和梯度压缩。前景图像缓冲并非必需。电路211还可实施一个或多个阈值以截短(truncate)数据。所得数据流需要显著降低的传输带宽,大为减少主机必须执行的处理量。如后详细所述,该处理的几个功能或参数由控制209的操作来设置或修改。
本领域技术人员将理解,例如使用不同的处理算法,图像处理电路211可用各种不同方式来实施。然而,稍微更详细地考虑例如用于车轮对准型的机器视觉应用中的图像处理电路211的具体实例是有帮助的。
图3提供了图像处理电路211的管线实施的功能元件的更详细图解,并示出了其到图像传感器(相机)203和到主机通信接口205的连接。图像处理电路211的管线版本可通过具有存储器的处理器来实施,或者实施为现场可编程门阵列(FPGA),其中该处理器或FPGA被编程以执行图中所示的数据处理功能。可选地,图像处理电路211可实施为离散逻辑电路,其被设计为执行具体处理功能。
该例中的图像感测器件(相机)203使用逐步扫描阵列。所示管线图像处理电路211为该阵列中的每个像素,计算平方和的梯度数量。该电路可选地提供背景相减和一个或者多个阈值限制功能。该电路还提供数据压缩。
如前所述,有时需要减去背景图像数据。在该例中,“背景”是在没有来自LED阵列201的照明时获取的图像。“前景”是在LED阵列201接通时获取的图像。背景(光灭)图像从前景(光亮)图像中减去。剩余的图像数据对应于视野中的元件,这些元件通过来自于LED阵列201的频闪灯的光线来照亮,并且对于该光线是高度反射的。该相减去除了与车轮对准不相关的分散注意力的对象。
在本实施例中,相减操作的使用是软件可选的。通过发送适当命令到控制209,主机计算机系统可告知模块110或114是否进行背景相减操作。例如当速度不是问题时,系统111可指示该模块一直进行背景相减操作。计算机系统111可告知成像模块110或112定期地获取背景图像并确定噪声。在第二情形中,如果噪声高,则控制209开启背景相减操作。一般当图像捕获速度是问题时(尽管这意味着必须执行更多处理),计算机系统111也可关闭背景相减功能。
为了实现背景相减,图像处理电路211包括用于储存背景图像的存储器或其他存储元215、以及相减元件217。当经由来自主机计算机系统111的命令而接通时,背景图像数据从前景图像数据中被减去。特别地,背景图像(无LED阵列201的照明时)被获取,来自相机203的数字图像数据被存储在存储器215中。响应于来自传感器203的输入前景图像数据(在LED阵列接通时获取),相减元件217从存储器215的对应像素数据中取回相应的像素数据,并以相机203的输出速率从输入的图像数据减去所存储的背景数据。相减元件217对传感器/相机203的图像阵列中的每个像素执行背景相减。相减元件217还可截短所得结果。
然后,来自背景相减元件217的数据穿过软件可选的阈值功能219。例如,在与设置背景相减功能开/关相似的方式下,响应于来自主机计算机系统111的指令,阈值电平由控制209设置。计算机系统111可在操作期间使模块110或112设置阈值电平,或者该模块可将该阈值设置为部分其启动例程的一部分。低于该阈值的像素强度被认作噪声,并设置于固定的恒定值,典型地是阈值。
然后,来自阈值器219的截短数据分别穿过两组的三个延迟线220、221,到达Sobel X滤波器223和Sobel Y滤波器225的输入端。每个Sobel滤波器实质上为图像一行中的每个像素计算关于八个周围像素的梯度。在该例中,每个图像行包括1000个像素。为了计算每个像素的强度梯度,每个滤波器必须具有中心像素的数据以及围绕该中心像素的八个像素的数据。因此,对于图像的给定行,每个滤波器必须具有当前正在处理的行的数据、以及紧接前一行和紧接后一行的数据。
在任何给定循环中,每个滤波器223、225接收当前数据值n以及来自前两行(n-1,n-2)的值。因此,延迟220、221提供第一行、第二行和第三行,从而每个滤波器223或225此时具有足够数据,以计算来自图像的第二行像素的梯度值(n-1)。通过输入三行到每个滤波器,并处理这些行的像素数据,该实施例并不需要缓冲整个图像的数据,处理电路211能够以图像传感器203的输出速率实时地执行梯度计算。
滤波器223为阵列中的每个像素计算Sobel X(SX)梯度数量。类似地,滤波器225为阵列中的每个相应像素计算Sobel Y(SY)梯度数量。所需梯度数量是这两个值(SX和SY)的平方和。获得这些值的平方的一个实施例是通过在由非平方值编索引的表中查找平方值在211中所示管线图像处理电路的实施例包括储存这些查找表的存储器227、229。来自Sobel X滤波器223的数据被用作为对存储器227的输入,以查找Sobel X(SX)梯度值的平方(SX2)。类似地,来自Sobel Y滤波器225的数据被用作为对存储器229的输入,以查找Sobel Y(SY)梯度值的平方(SY2)。另一实施例(未示出)可使用相乘器件来产生这些平方。
处理元件231接收平方数据。该元件231首先执行加法,以计算X和Y梯度数据的平方和(SX2+SY2)。然后,处理元件231对平方数据之和移位和执行阈值操作,以剪断已移位的数据,从而符合每个输出像素的最大数量。该数量(位的数量)和/或阈值电平可通过控制209在软件中设置,其方式与背景相减(在217)和/或第一阈值(在219)的方式相似。Sobel过滤以及平方和梯度计算可使用商业可用芯片的离散硬件中来执行,或者被编程到到现场可编程门阵列(FPGA)或专用集成电路(ASIC)中。
管线图像处理电路211还包括压缩引擎。可使用各种不同的压缩方案。在该例中,压缩引擎是运行长度编码器223。本领域技术人员将理解,其他压缩形式可单独使用或者与运行长度编码一起使用。在该例中,编码器233在移位和阈值处理之后,对处理元件231输出的平方和数据(SX2+SY2)执行运行长度编码(RLE)。本领域技术人员将理解,可使用其他数据压缩技术。运行长度编码233将压缩的梯度数据供应到主机通信接口205,用于在链路上传输到主机计算机系统111。
主机计算机系统111解压缩收到的数据流,实质上反转运行长度编码,由此恢复梯度数据。从梯度数据开始,计算机系统111基于梯度最大值所限定的成像目标元件(点)的边缘来执行计算,以找到这些目标元件(点)的质心。计算机111使用这些质心来确定在每个捕获图像中的空间内的目标角度/位置。然后,该计算机使用该信息来计算车轮对准。这些图像处理公式与较早的车轮对准系统中相同,不同的是成像模块只处理梯度,且主机执行剩余计算,替代了在图像处理板上或完全在主机中执行大量计算。对于车轮对准应用的计算的详细讨论在若干引用的专利中有所讨论。
主机系统111可在专门设计的处理系统上来实施,但是在该例中,它可通过软件编程控制的通用计算机来实施。当然,可使用大量不同类型计算机中的任一种,用于车轮对准或者其他机器视觉应用,然而该实例使用了常称为个人计算机或“PC”范畴之类内的装置。尽管熟悉机器视觉技术和/或数据处理技术的人员一般熟悉这些计算机及其关联软件,但是总结其结构和功能方面是有帮助的,因为它们与图1的车轮对准实例是相关的。
图4是主机计算机系统251的PC或工作站类型实施例的功能框图,其可充当主机计算机111。在这样的应用中,系统251的一个功能是处理来自相机模块的压缩梯度图像数据,以确定车轮对准参数。该系统可运行大量对汽车工场中的机械工和/或其他人员很有用的其他程序。
该示例性计算机系统251包含中央处理单元(CPU)252、存储器253和互联总线254。CPU 252可包含单个微处理器,或者可包含多个微处理器,用于将计算机系统252配置为多处理器系统。存储器253包括主存储器、只读存储器、以及海量存储装置,比如各种盘驱动、带驱动等等。主存储器典型地包括动态随机访问存储器(DRAM)和高速缓冲存储器。在操作中,主存储器储存由CPU 252执行的至少部分指令和数据。
海量存储器可包括一个或者多个磁盘或带式驱动或光盘驱动,用于储存CPU 252所用的数据和指令。例如,对于PC类型的实施,至少一个盘驱动或带驱动形式的海量存储系统255储存操作系统和应用软件以及数据。计算机系统251内的海量存储其255还可包括一个或多个用于各种便携式媒介的驱动,比如软盘、只读光盘存储器(CD-ROM)、或集成电路非易失存储器适配器(也就是PC-MCIA适配器),以输入数据和代码到计算机系统251和从计算机系统251输出数据和代码。
系统251还包括一个或多个用于通信的输入/输出接口,其通过实例表示为用于数据通信的接口259。为了车轮对准应用的目的,接口259提供与成像模块110、112中的一个或多个的双向数据通信。例如,接口259可以是USB集线器,其提供两个或更多端口,用于去往/来自成像模块110、112的USB缆线链路。尽管未示出,如果需要,另一通信接口可提供经由网络的通信。这样的附加接口可以是调制解调器、Ethernet卡或任何其他适当的数据通信装置。
通向和来自通信接口的物理链路可以是光、有线或无线的。例如,在典型的车轮对准器应用中,成像模块典型地经由USB线缆连接。然而,红外、RF和宽带无线技术可用于这些链接。任何外部通信可使用硬接线或无线技术。
计算机系统251可还包括适当的输入/输出端口256,用于与充当相应用户接口的显示器257和键盘258的互连。例如,该计算机可包括图形子系统,以驱动该输出显示器257。输出显示器257可包括阴极射线管(CRT)显示器或液晶显示器(LCD)。尽管未示出,PC类型的系统111典型地包括用于连接到打印机的端口。用于系统251的此类实施例的输入控制器件包括键盘258,其用于输入字母数字和其他键信息。用于系统251的输入控制器件可还包括光标控制器件(未示出),比如鼠标、跟踪球、指示笔(stylus)或光标方向键。外围设备257、258到系统251的链接可以是有线链接或使用无线通信。
计算机系统251通常运行各种应用程序和储存数据,使得经过诸如257和258等元件而提供的、经由用户接口的一个或多个交互能够实施所需处理。对于机器视觉应用,其编程将包括适当代码,以处理已压缩的梯度图像数据,产生所需机器视觉结果。例如,当被用来实施车轮对准系统的主机计算机111时,该编程使得装置251能够处理已压缩的梯度图像数据,以确定所需对准参数。主机111通常运行应用程序或Shell,其专门改编为提供用户接口,用于输入和输出对准及相关服务的所需信息。如前所述,因为它是通用系统,所以装置251可运行很宽范围的其他所需应用程序中的任一个或多个,其中的一些程序可能涉及机器视觉,但是其中的很多程序则可能不涉及机器视觉。
计算机系统251中所含部件通常是在用作服务器、工作站、个人计算机、网络终端等等的通用计算机系统中存在的部件。事实上,这些部件旨在代表在本领域公知的广阔范畴的此类计算机部件。
在很多时候,用于机器视觉处理和诸如车轮对准应用等任何相关应用的相关编程可驻留于若干不同媒介中的一个或多个上。例如,该编程可被储存于硬盘上,并被加载到RAM中用于执行。该编程还可驻留于其他媒介上或被其他媒介传送,用于卸载到系统251上,以实质上安装该编程。因此,在不同时候,用于任何或所有这些软件单元的所有或部分可执行代码或数据可驻留于物理媒介中,或者通过电磁媒介来承载,或者经由各种不同媒介来传送以对特定系统编程。
因此如这里所用,诸如计算机或机器“可读媒介”等术语指代了参与提供指令到处理器用于执行的任何媒介。这样的媒介可采取很多形式,包括但不限于非易失性媒介、易失性媒介和传输媒介。非易失性媒介例如包括光或磁盘,比如图4的计算机251中的任何存储装置。易失性媒介包括动态存储器,比如主存储器。传输媒介包括同轴线缆、铜线和光纤,其包括了构成计算机系统内总线的接线。传输媒介还可采取电或电磁信号的形式,或者是声或光波的形式,比如在射频(RF)和红外(IR)数据通信中生成的。计算机可读媒介的普遍形式例如包括软盘、软磁盘、硬盘、磁带、任何其他磁媒介、CD-ROM、DVD、任何其他光媒介、穿孔卡片、纸带、具有孔图案的任何其他物理媒介、RAM、PROM和EPROM、FLASH-EPROM、任何其他存储器芯片或盒(cartridge)、传送数据或指令的载波、传送这种载波的线缆或链路、或者计算机可从其读取编程代码和/或数据的任何其他媒介。这些形式的计算机可读媒介中的许多可包含于将一个或多个指令的一个或多个序列传送到处理器用于执行。
下面讨论成像模块实例的电路,特别是相机板和用于相机板中预处理的FPGA。
相机板的示范件电路图5的实施例使用了集成电路(U2)形式的组合控制器/USB接口,其功能包括微控制器和USB 2.0接口。该USB接口可配置成以与微控制器的最小交互来执行。该微控制器被用来配置和控制相机和图像处理电路,以控制冷却电路,以及提供诊断信息。该微控制器还与两个非易失性的存储器电路(U1和U3)相关。U1被用来储存程序代码,其用于微控制器的当前引导程序加载器(bootloader)。U3被用来储存与相机组件相关联的校准/安全数据。
在该例中,相机(U4)是CMOS图像阵列,其具有集成的模拟到数字的转换器。该相机芯片经由来自控制器/USB(U2)的I2C总线而配置用于视野内的关注区域(region of interest,ROI)、增益和定时。图像采集从经过FPGA传送的单个线路(称作“FREX”)来触发。
预处理功能由电路组块实施,该电路组块包括现场可编程门阵列(FPGA)(U5)和三个静态随机访问存储器(SRAM)芯片(U6,U7,U8),执行背景相减、梯度处理和数据缩减/压缩的功能,如上面详细讨论的。该电路(U5)由控制器配置,此后自制地将图像处理成用于传输的梯度数据。图像采集是通过驱动START线路的控制器来触发的(为了方便,未分开示出)。频闪灯(S)在该线路为高时被激活。当START转移为低时,从该相机请求一帧。第一帧或“前景图像”被存储于SRAM存储器中。第二帧被请求,该“背景图像”从第一图像中减去。然后,差数据经由X和Y Sobel滤波器而被处理,其输出被平方,然后被求和,以提供梯度数据。然后,该数据被缩减以仅提供区域中具有在控制器设置的阈值以上梯度的数据点。参看上面对图3的讨论。
FPGA(U5)在没有微处理器(U2)的进一步干涉时控制第二(背景)图像的获取。FPGA(U5)还将像素强度求和数据提供到微处理器(U2),以便于图像强度控制。
成像模块的本例(图5)并入了电子电路的有源冷却,特别是相机(U4)的。主要的冷却部件是温度传感器(U10)、Peltier器件或热电冷却器(TEC)(U12)、以及D/A(U9)和晶体管(Q2)的驱动电路。温度传感器U10经由I2C总线,将温度的数字数据供应给控制器电路。该控制器为TEC冷却器(U12)设置驱动电平。用于TEC的驱动器电路是I2C总线上的数字到模拟的转换器U9,其驱动PNP晶体管Q2的基极。温度控制经由控制器/USB器件(U2)中的软件来进行。较早的设计是利用自制电路来完成温度控制而实现的,该电路使用温度敏感的电阻器(PTC)来调节来自驱动晶体管基极的电流。该电路被所述数字控制的电路替换,以允许该系统监控相机温度,实现更好和更灵活的温度控制。
对于电源,供应到板的电压是12V和5V,12V用于频闪灯(S),5V经由推式配置(buck configuration)的双切换调节器而下调至1.8V和3.3V。5V线路还被用于对冷却电路供电。
频闪灯控制电路(SC)是电流调节的开关。整个频闪灯电路与板的其余部分光隔离。还有一电路用于在从板去除电源时排空来自频闪灯电路的能量。
主要的电路元件是PNP晶体管(Q3)、感测电阻器(R25)、比较电阻器(R23)及放大器(U15)。晶体管Q3控制着传到频闪灯的电流。感测电阻器R25上的电压下降和比较电阻器R23上的电压下降被放大器比较和放大,并被用来驱动Q3晶体管基极。通过门控(gating)经过比较电阻器(R23)的电流,频闪灯被接通/关闭。这是通过使用光隔离器U16完成的。另一电阻器(R27)与比较电阻器串联地来添加,二极管(D26)被设置为与该对电阻器(R23 R27)并联,以提供对于电源和开/关栅极电压变化的一些抗扰性(immunity)。R24被用来减少用于比较电路的电流需求。R21和R22被用来在经过比较电阻器的电流被关闭时强制放大器/晶体管关闭。R26和C75被用作为减震器(snubber)电路以减少铃声和电磁干扰。
频闪灯电路与其他电路的光隔离防止了来自频闪灯电路的电源反馈到逻辑电路中和损坏它们。这允许“热插”电路而无损坏。它还减少了影响图像准确性的频闪灯中的浪涌电流和其他电路操作的问题。
Q1周围的电路被用来排空储能电容器C74。当5V电源不再有效时,光隔离器U14将关闭。R16将拉高Q1基极,Q1将门控(gate)经过R17和R18来自C74的电流。R17和R18在此处并联以适应最坏情况的功率耗散。
该示例性电路使得从主机配置硬件(FPGA),作为常规功能。这允许改变该硬件配置以随意执行专门处理。FPGA提供了使用相同物理硬件和改变其配置以适应应用需求的选择。这使相机系统灵活得多。该配置可改变为例如辅助执行诊断。此外,相同的物理相机可具有一个配置用于车轮对准,然后经由软件来重新配置以进行边缘检测用于框架/躯干工作。如果该像处理算法有变,则能够传递新的配置数据,作为软件更新的一部分。
用于相机板的示例性FPGA(功能描述)本描述将跟随FPGA的数据路径。10位相机数据经过多路器来馈送,从而8位被选择用于处理。如果比那些被选择用于处理的位更高阶的任何相机位被设置,则8位值被设为255。这8位利用相机芯片所供应的像素时钟而锁存于FIFO中。该相同的像素时钟被用于增加该控制部分的行/列计数器,以确定帧何时完成。
实际的处理部分被分为四个主要部分求和、输入、梯度和压缩。这些部分以48MHz时钟来驱动,其是相机最大数据速率的两倍。图6是在FPGA中实施/执行的这些功能的框图。
求和求和部分包括加法器,其将频闪(strobed)帧期间的8位相机数据增加到32位寄存器。该寄存器在帧的开始时被清除。该寄存器中的值可经由串行数据线来读出。该部分的目的是供应数据到处理器,以允许频闪灯持续时间的调节。该部分与输入部分并行地运行。
输入该部分执行背景相减、背景阈值,并安排输入到三个数据行中,用于输出到梯度部分。该部分获取8位相机数据。第一帧的相机数据被假定为频闪图像(strobed image)。该数据被储存于FPGA芯片之外的帧存储器中。输入的第二帧被假定为背景图像。随着每个字节被传递,它从帧存储器内该像素的存储值中被减去,8个结果与处理器所设置的8位寄存器值做比较。该8位寄存器被称作背景阈值。如果相减结果为负或小于背景阈值,则零被通过。这些受限值穿过两行FIFO,从而三个输出值变得可用于下一部分。这些值被标为R0、R1和R2。R0是顶行,R1是中间行,R2是底行。该处理和FIFO造成该部分具有X+(2*RowWidth)的管线延迟。图3中的项目220和221被实质上结合,在图6的FPGA的输入部分中需要仅两个FIFO。两个FIFO的使用比六个更为廉价。
梯度梯度部分为给定的像素计算平方的X和Y Sobel值之和。该部分接受三行值,作为来自输入部分的输出。这三个值均被钟控(clock)经过两个寄存器,从而9个值可用于处理。这些值可被称作X0Y0至X2Y2。所执行的处理可表示为topLbotR=X1Y1-X3Y3;∥signed 9 bit resulttopMbotM=(X2Y1-X2Y3)*2;∥signed 10 bit resultbotLtopR=X1Y3-X3Y1;∥signed 9 bit resultmidLmidR=(X3Y2-X1Y2)*2;∥signed 10 bit resultX2=topLbotR+botLtopR;∥signed 10 bit resultX2=X2+midLmidR;∥signed 11 bit resultX2=X2*X2;∥signed 22 bit resultY2=topLbotR-botLtopR;∥signed 10 bit resultY2=X2+topMbotM;∥signed 11 bit resultY2=Y2*Y2;∥signed 22 bit resultRESULT=X2+Y2;∥signed 23 bit result然后,8位RESULT被选择经过多路器用于输出。如果比那些被选择的位具有更高阶的任何RESULT位被设置,则该输出将被设置为255。梯度的管线延迟是x个时钟。
压缩该部分压缩数据流。输入是8位字流。该输入流被馈送经过4个FIFO,从而有5行输入。这5个输入与处理器所设置的压缩阈值做比较。如果这五行输入中的任一个超过阈值,则来自中间(行3)的两个先前值、当前值和两个后续值将被发送。如果下一组的行输入超过阈值,则跟随其后的两个值将被发送。其结果是所有超过阈值的值和半径为二之内的其邻近值被发送。
不发送的所有值被认为是0。任何时候遇到0,下一字节则是跳跃计数(skip count)。跳跃计数表示附加的零值字节的数量。跳跃计数将不延伸到该帧之外。由于与阈值以上的值相邻而将被发送的零可作为1来发送。
如果该帧的最后字节是零,且跟随其后的跳跃计数将是零,则该字节可作为1来发送。阈值以下的单字节数据“可以”作为1来发送。
压缩部分的输出馈送了FIFO,其由处理器的GPIF(通用接口)部分读取。GPIF部分提供一接口到可用作控制器209的某些类型的微控制器。如果该压缩部分在FIFO充满时试图写入到其中,则nOVERFLOW线将切换(toggle),FPGA将中断处理。如果对于GPIF无数据读取,则EMPTY线将起作用。
图5和6的实施例中的处理在本质上不完全被管线化。该相机以比数据能够经由USB来运送时更快的速率而生成数据,如果FPGA仅使背景相减管线化,然后缓冲相减后的图像,则系统性能更好。
如前所述,FPGA可动态地重新配置为允许硬件符合其他图像处理要求。例如,在FPGA中实施频闪灯控制功能也是可能的。FPGA可限制频闪灯的工作循环以防止过热。相关于相机成帧(framing)的频闪灯定时可被更紧密地控制。背景(暗)帧的定时要求可更精确地与前景(照亮)帧匹配。FPGA还可使多个处理帧成一串而无进一步干涉。
图7是说明频闪灯控制电路逻辑的功能框图,其可作为分立电路来实施,或者作为附加的FPGA编程功能来实施。如图所示,该处理器经由I2C信号来设置频闪宽度(或时间段),正如它设定FPGA的其他阈值和设置一样。Start信号激活Strobe,并在预设的延迟之后启动计数器1。该延迟被用来使FREX的转移落入相机芯片所要求的一定参数之内。计数器1的输出与频闪宽度做比较,当它们相等时,该频闪灯输出和FREX输出下降,告知相机芯片开始传送帧数据。
比较器3的输出还启动计数器3。计数器3使其时钟除以4。在4个频闪段之后,完成的信号被呈现给处理器,从而该频闪灯的工作循环将5中之1(一个频闪段为on,然后4个为off)。
当前景帧被处理时,背景信号被激活,提高FREX而不是Strobe信号。计数器2与频闪宽度相比较,当它们相等时,FREX下将,告知相机芯片开始传输背景图像。
本领域技术人员将理解,这里公开的概念具有很宽泛的应用性,并可容许宽范围的改型。例如,诸如上面概述的机器视觉技术可被实施用于其他类型的对准处理(比如机翼对准)以及用于宽范围的其他类型机器视觉应用,比如制造操作中的产品评估、文档中的代码或字符识别、或者邮件计件处理系统等等。
尽管前面已经描述了被认为是最佳模式的内容和/或其他实例,但是可理解,可在其中进行各种改型,这里公开的技术可在用各种形式和实例中来实施,它们可应用于在许多应用中,这里仅描述了其中的一些。所附权利要求旨在要求落入这里公开的有利概念的真实范围之内的任何和所有改型和变形。
权利要求
1.一种成像模块,用于实施机器视觉应用的系统中,该成像模块包括图像传感器,用于对包含该机器视觉应用的目标对象的视野成像,并生成代表性图像数据;处理器,耦接以接收来自该图像传感器的图像数据,用于根据该图像数据计算梯度信息;以及数据通信接口,用于将该梯度信息从该处理器传递到实施该机器视觉应用的主机。
2.根据权利要求1的成像模块,其中该处理器包括管线图像处理电路。
3.根据权利要求2的成像模块,其中该管线图像处理电路包括现场可编程门阵列(FPGA),其可动态地重新配置成满足交替的图像处理要求。
4.根据权利要求1的成像模块,还包括控制,耦接至该图像传感器、该处理器和该数据通信接口,用于控制该模块的操作。
5.根据权利要求4的成像模块,还包括照明源,耦接用于由该控制的选择性激活,用以照亮该目标。
6.根据权利要求5的成像模块,其中该照明源包括频闪灯,其包括发光二极管(LED)阵列。
7.一种成像模块,在实施机器视觉应用的系统中使用,该成像模块包括图像传感器,用于对包含该机器视觉应用的目标对象的视野成像,并生成代表性图像数据;处理器,耦接以接收来自该图像传感器的图像数据,用于对来自该图像传感器的图像数据执行背景相减和梯度计算中的至少一个,以形成预处理图像信息,以及用于压缩该预处理图像信息;以及数据通信接口,用于将该压缩的预处理图像信息从该处理器传递到实施该机器视觉应用的主机。
8.根据权利要求7的成像模块,其中该处理器包括管线图像处理电路。
9.根据权利要求8的成像模块,其中该管线图像处理电路包括现场可编程门阵列(FPGA)。
10.根据权利要求8的成像模块,其中该管线图像处理电路执行背景图像相减,根据该背景图像相减的结果计算每个相应数据像素的梯度数量以产生梯度信息,并对该梯度信息执行运行长度编码(RLE)以形成该压缩的预处理图像信息。
11.根据权利要求10的成像模块,其中该管线图像处理电路还执行至少一个阈值操作以去除阈值以下的数据。
12.根据权利要求10的成像模块,还包括控制,耦接至该图像传感器、该处理器和该数据通信接口,用于控制该模块的操作。
13.根据权利要求12的成像模块,还包括照明源,耦接用于由该控制的选择性激活,用于照亮该目标。
14.根据权利要求13的成像模块,其中该照明源包括频闪灯,其包括发光二极管(LED)阵列。
15.根据权利要求13的成像模块,其中该控制选择性地激活该图像传感器,以生成代表在没有该照明源的照明时的背景图像的数据,以及生成代表该照片源照亮的视野前景图像的数据;以及该处理器通过从代表被照亮的前景图像的数据中减去代表无照明时的背景图像的数据来执行该背景相减。
16.一种车轮对准系统,包括至少一个成像模块,其包括1)图像传感器,用于对包含对象车辆的车轮上安装的至少一个目标的视野成像,并生成代表该成像的视野的图像数据;2)处理器,耦接以接收来自该图像传感器的图像数据,用于对来自该图像传感器的图像数据中的信息执行背景相减和梯度计算中的至少一个,以形成预处理图像信息;以及3)数据通信接口,用于传送来自该处理器的预处理图像信息;以及主机计算机,耦接以接收从该至少一个成像模块传送的预处理图像信息,用于处理该预处理图像信息,以确定该车辆的至少一个车轮对准参数。
17.根据权利要求16的车轮对准系统,其中该处理器压缩该预处理图像信息,该数据通信接口以压缩形式将该预处理图像信息传送到该主机计算机。
18.根据权利要求16的车轮对准系统,其中该处理器对来自该图像传感器的图像数据执行背景相减,并基于背景相减的结果来执行梯度计算,以形成该预处理图像信息。
19.根据权利要求18的车轮对准系统,其中该处理器压缩该预处理图像信息,该数据通信接口以压缩的形式将该预处理图像信息传送到该主机计算机。
20.根据权利要求18的车轮对准系统,还包括频闪灯,其用于选择性地照亮车辆上安装的至少一个光目标,其中该图像传感器选择性地对包含该至少一个目标的视野成像,生成代表在没有来自该频闪灯的照明时的背景图像的数据,并生成代表前景图像的数据,该前景图像含有该频闪灯照亮的该至少一个目标;以及该处理器通过从代表被照亮的前景图像的数据中减去代表无照明时的背景图像的数据,来执行背景相减。
21.一种图像处理方法,用于机器视觉应用,包括捕获包含机器视觉应用目标对象的视野的图像;生成代表该捕获图像的图像数据;根据该图像数据计算梯度信息;以及将该梯度信息传送到实施该机器视觉应用的主机处理器。
22.根据权利要求21的方法,其中传送该梯度信息包括压缩该梯度信息;以及将该压缩的梯度信息传送到该主机处理器。
23.根据权利要求21的方法,其中捕获图像的步骤包括捕获无照明时的背景图像;照亮包含机器视觉应用目标对象的视野;以及形成被照亮的视野的前景图像,生成图像数据的步骤包括生成代表无照明时的背景图像的图像数据;生成代表被照亮的目标对象前景图像的图像数据;以及从代表被照亮的目标对象前景图像的数据中减去代表无照明时的背景图像的数据;以及计算梯度信息的步骤响应于相减步骤的结果。
24.根据权利要求23的方法,其中传送梯度信息的步骤包括压缩该梯度信息;以及将该压缩的梯度信息传送到该主机处理器。
25.根据权利要求21的方法,其中该机器视觉应用包括车辆的一个或多个车轮的对准测量,该目标对象包括该车辆的一个或多个车轮上安装的一个或多个可视目标。
26.根据权利要求25的方法,还包括在该主机处理系统中接收该梯度信息;处理所接收的梯度信息,以导出关于一个或多个可视目标的位置的位置数据;以及在该主机处理系统中处理该位置数据,以确定该车辆的至少一个车轮对准参数。
27.一种图像处理方法,用于机器视觉应用,包括捕获无照明时的背景图像;生成代表该背景图像的图像数据;照亮包含机器视觉应用目标对象的视野;形成被照亮的视野前景图像;生成代表被照亮的前景图像的图像数据;以及从代表该前景图像的数据中减去代表该背景图像的数据;以及压缩该相减步骤的结果,以形成压缩的图像信息;以及将该压缩的图像信息传送到实施该机器视觉应用的主机处理器。
28.根据权利要求27的方法,还包括根据相减步骤的结果计算梯度信息;其中压缩步骤包括压缩该梯度信息。
29.根据权利要求27的方法,其中该机器视觉应用包括车辆的一个或多个车轮的对准测量,该目标对象包括该车辆的一个或多个车轮上安装的一个或多个可视目标。
30.根据权利要求29的方法,还包括在该主机处理系统中接收该压缩的图像信息;处理所接收的压缩图像信息,以导出关于一个或多个可视目标的位置的位置数据;以及在主机处理系统中处理该位置数据,以确定该车辆的至少一个车轮对准参数。
31.一种确定车辆的车轮对准参数的方法,包括在该车辆的相应车轮上附着多个目标,每个附着目标包括至少一个可视觉感知的目标元件;使用相机以捕获背景图像;照亮所述目标;使用该相机来观察被照亮的目标,以形成其前景图像和根据该前景图像生成前景图像数据;从该前景图像数据中减去关于该背景图像的数据;响应于该相减步骤,计算梯度信息;压缩该梯度信息;将压缩的梯度信息传送到主机处理系统;在该主机处理系统中,处理该压缩的梯度信息,以导出与所述附着目标的至少一个目标元件的位置有关的位置数据;以及在该主机处理系统中,处理该位置数据,以确定该车辆的车轮对准参数。
32.在具有图像感测模块和主机处理器的车轮对准系统中,该主机处理器用于响应于从该图像感测模块传递的图像数据来计算车轮对准参数,一种该图像感测模块的改进,其中该图像感测模块包括图像传感器电路,用于捕获和数字化图像;现场可编程门阵列,耦接至该图像传感器电路,用于预处理该数字化图像;以及通信接口,耦接至该现场可编程门阵列,用于将预处理图像数据发送到该主机处理器。
33.根据权利要求32的改进,其中该通信接口包括USB接口。
34.根据权利要求33的改进,还包括耦接至该图像传感器电路和该现场可编程门阵列的控制器,用于该控制图像传感器模块的操作。
35.根据权利要求34的改进,其中该控制器和该USB接口被构造为整体单元。
36.在具有图像感测模块和主机处理器的车轮对准系统中,该主机处理器用于响应于从该图像感测模块传递的图像数据来计算车轮对准参数,一种该图像感测模块的改进,其中该图像感测模块包括图像传感器电路,其用于捕获和数字化图像;通信接口,其用于将数字化图像数据发送到该主机处理器;以及有源电子冷却电路,设置为至少冷却该图像传感器电路。
37.根据权利要求36的改进,其中该有源电子冷却电路包括温度传感器;以及Peltier器件或热电冷却器。
38.在具有图像感测模块和主机处理器的车轮对准系统中,该主机处理器用于响应于从该图像感测模块传递的图像数据来计算车轮对准参数,一种该图像感测模块的改进,其中该图像感测模块包括图像传感器电路,用于捕获和数字化图像;电子频闪灯电路,用于照亮视野,便于该图像传感器电路的成像;控制器电路,耦接至该图像传感器电路和该电子频闪灯电路;通信接口电路,用于将数字化图像数据发送到该主机处理器;以及至少一个光隔离器,耦接至该电子频闪灯电路,用于将该频闪灯电路从该图像感测模块的其他电路光隔离。
全文摘要
在利用图像数据计算机处理的机器视觉系统中,成像模块并入了图像传感器以及预处理电路,其例如用于执行背景相减和/或梯度计算。该预处理电路还可压缩图像信息。主机计算机接收预处理图像数据,执行用来完成机器视觉应用所必需的所有其他计算,例如用以确定主体车辆的一个或多个车轮对准参数。在用于车轮对准的公开实例中,该模块还包括照明元件,该模块电路提供相关的相机控制。背景相减、梯度计算和相关的压缩,要求比用于典型图像预处理板更简单、更廉价的电路。然而,与使用图像数据直接流至主机计算机的机器视觉实施相比,成像模块处的预处理大大减少了主机计算机的处理负担。
文档编号G06T5/00GK1726514SQ200380106067
公开日2006年1月25日 申请日期2003年12月18日 优先权日2002年12月18日
发明者迈克尔·J·罗布, 史蒂夫·L·格利克曼, 帕特里克·布伦丹·欧马奥尼, 曼朱拉·古鲁拉杰, 大卫·A·杰克逊, 乔治·M·吉尔, 埃里克·F·布赖恩 申请人:斯耐普昂技术有限公司