图像处理方法、三维位置测量方法以及图像处理装置的制作方法

文档序号:6113404阅读:162来源:国知局
专利名称:图像处理方法、三维位置测量方法以及图像处理装置的制作方法
技术领域
本发明涉及一种以规定的对象物的测量以及检查等为目的,对包含所述对象物的浓淡图像数据进行处理,提取在图像上的所述对象物的位置的方法以及装置。
背景技术
在从浓淡图像中提取对象物的一般方法中,预先将拍摄该对象物的模型得到的图像(本说明书中称为“模型图像”)进行记录,从处理对象图像中提取与该模型图像对应的图像区域进行处理。
作为提取与模型图像对应的图像区域的代表性方法,熟知的是利用各构成图像的浓度数据进行标准化相关运算的方法。另外,在专利文献1中也公开了,分别对处理对象图像、模型图像求出图像中的边缘像素(构成边缘的一个像素)的浓度的变化方向(浓度梯度方向),对其变化方向的分布图形进行比较的方法。
(专利文献1)特开2002-230549号公报在现有的标准相关运算的方法中,处理有阴影产生、背景复杂或对比度低的图像时,存在无法确保提取精度的问题。另外,当对象物存有欠缺或毛刺等形状缺陷时,可能无法提取与模型图像对应的图像区域。
另外,对于处理对象图像,该方法是在对模型图像逐个像素进行扫描的同时执行相关运算,因此,只能以像素单位求出对象物的位置。为了求出亚像素单位的位置,虽然公开了假定在各扫描位置得到的类似度的变化近似于抛物线,并计算出该抛物线的顶点的方法,但由于不能说这种类似度的变化一定近似于抛物线,因此存在无法进行高可靠度测量的问题。
另外,比较浓度梯度方向图形的方法,具有不易受到阴影等噪声的影响,并且还可以提取包含欠缺或毛刺等缺陷的对象物的优点。但是,在该方法中也是以像素单位进行处理对象图像和模型图像的比较,因此即使对象物的边缘位置以亚像素级发生变化,该边缘的像素的浓度梯度方向也不发生变化,很难提取所述位置的变化。

发明内容
本发明是针对上述问题而产生的,其目的在于提供一种可以将对象物的位置以亚像素单位进行提取,适用于高精度的定位以及测量处理的图像处理方法以及图像处理装置。
本发明的图像处理方法,在进行对处理对象图像的处理之前,执行以下步骤步骤A,对于预先拍摄特定的模型得到的模型图像,从该图像中的边缘提取边缘像素;步骤B,对提取的各边缘像素,分别以其边缘像素为基准检索浓度梯度方向,提取亚像素单位的边缘位置;步骤C,对于在所述步骤B中提取了边缘位置的边缘像素,将其提取位置以及用于提取的浓度梯度方向与其边缘像素进行对应设置,并记录。
基于上述内容,模型图像优选设置为,拍摄需要测量的对象物的模型,从得到的图像中剪切出包含所述模型的规定大小的图像。在步骤A中,对该模型图像进行扫描边缘提取滤镜(filter)等,可以将浓度梯度大小在设置值以上的像素作为边缘像素提取。但是,使用硬件进行边缘提取处理时,也可以对包含所述模型图像的整个图像进行边缘提取处理。
在步骤B中,可以以所述边缘像素为起点检索其浓度梯度方向,将在其方向上浓度的变化量超过规定阈值的位置作为边缘位置提取。另外,也可以将所述浓度的变化量进行微分,求出浓度变化的起点或终点,或者它们的中间点,将其作为边缘位置。
其中,当在检索方向上有多个边缘像素并且这些边缘像素的浓度梯度方向相同时(即,各浓度梯度方向间的角度差在设定值以内时),可以对这些多个边缘像素求出一个边缘位置。此时,在步骤C中,可以对所述多个的边缘像素中的每一个对应设置相同的边缘位置以及浓度梯度方向。
在所述步骤C中,例如,根据步骤A的提取结果,记录模型图像上的边缘像素的坐标的同时,可以将所述亚像素单位的边缘位置以及浓度梯度方向作为附加有对应的边缘像素的坐标的数据进行记录。其中,浓度梯度方向可以作为相对于表示其方向的矢量的设置的基准矢量的角度进行表示。
本发明的图像处理方法,在完成了上述有关模型图像的记录处理后,对于处理对象图像执行下面的第1、第2、第3各步骤。
在第1步骤中,在处理对象图像中以像素单位扫描与所述模型图像相同大小的检索区域,对于每一个扫描位置计算出所述检索区域的图像和模型图像的类似度。
对于类似度的计算可以使用以浓淡图像数据作为对象的标准化相关运算以及所述专利文件1的方法。即,该第1步骤与现有的对象物的位置提取处理是一样的,由此可以以像素单位求出对象物的位置。
在第2步骤中,在根据在所述第1步骤中算出的类似度提取的位置,重新设定所述检索区域,在该检索区域提取与记录有所述亚像素单位的边缘位置的模型图像中的边缘像素对应的边缘像素,对于提取的各边缘像素,分别计算出对所述模型图像执行的步骤B以及通过步骤B得到的亚像素单位的边缘位置和所述记录边缘位置的偏置量。
即,在包含在检索区域内的边缘像素中,模型图像中的对应像素也是边缘像素,并且将在该边缘像素中对应设置了所述像素单位的边缘位置的像素作为对象,可以分别用和对模型图像进行的方法相同的方法提取边缘位置。此时,当检索方向上有多个边缘像素时,也可以从这些多个像素中求出一个边缘位置,将算出的边缘位置与所述多个边缘像素分别对应设置。
另外,在边缘位置的偏置量的计算处理中,可以对每一个提取了边缘位置的边缘像素,分别计算出其边缘位置和模型图像中的边缘位置的坐标差,求出其差值的平均值。
其中,在根据类似度的计算中,包括提取类似度比规定值(阈值)还大的位置的情况,以及将类似度高的位置从高开始只选择规定的数量的情况。
在第3步骤中,根据在所述第2步骤中计算出的偏置量修改所述检索区域的设定位置,将修改后的设定位置特定为所述对象物的位置。
由此,能够将在第1步骤中求出的对象物的大概位置以亚像素单位进行修改,可以精确求出对象物的位置。
在上述图像处理方法的优选形式中,在所述第1步骤,在每一个扫描位置,计算出所述模型图像的各边缘像素的浓度梯度方向的分布图形和所述检索区域内的各边缘像素的浓度梯度方向的分布图形的类似度。
“各边缘像素的浓度梯度方向的分布图形”,可以将表示在各边缘像素的浓度梯度方向的角度数据作为分别与其边缘像素的坐标对应设置的虚拟图像进行构成。另外,也可以对处理对象图像,作成同样的虚拟图像,对其图像连续扫描所述模型图像一侧的虚拟图像的同时,计算出各扫描位置的图形的类似度,当类似度变为最大时提取与所述模型图像一侧的虚拟图像重叠的图像区域。
即,在上述形式中,根据所述专利文献1所述的方法执行了第1步骤。这样,即使有阴影等噪声产生或者在对象物上存在欠缺以及毛刺等缺陷,也可以精确地进行像素单位的位置提取。即,即使有亚像素单位的位置偏差,但如果以像素单位来看的话,也能够准确地特定对象物的位置。因而,通过执行下面的第2、第3步骤就可以更准确地求出对象物的位置。
在上述图像处理方法的优选形式中,在第2步骤中,重新在第1步骤所算出的最高类似度的位置上设定检索区域。
本发明的图像处理方法,可以适用于高精度地测量对象物的位置以及对象物的定位处理等用途。另外,为进行三维测量处理,即使在立体图像间进行特征点的对应设置的时候,也可以适用本发明的方法,从一方的图像中提取模型图像,在另一方的图像中提取与该模型图像对应的图像区域。
在上述图像处理方法的优选形式中,根据该图像处理方法,可以计算出通过视野互相重叠的多台摄像机产生的图像的各对象物的边缘位置,根据得到的各图像的边缘位置,指定对应的位置,进行对象物的三维测量。这样,由于可以精确地求出各图像上的对象物的位置,所以提高了从摄像机的校准数据和这些图像的对应关系中计算出的三维位置的精度。
其次,本发明的图像处理装置,包括输入浓淡图像的图像输入装置;对于从所述图像输入装置输入的浓淡图像,从该图像中的边缘提取边缘像素以及该边缘像素的浓度梯度方向的边缘提取装置;根据所述边缘提取装置的提取结果,对于所述浓淡图像上的边缘像素,以其像素为基准检索浓度梯度方向,提取亚像素单位的边缘位置的边缘位置提取装置;存储包含对象物模型的模型图像以及从该模型图像中提取的数据的存储器;从所述图像输入装置输入了包含所述模型图像的图像时,将对于该输入图像的所述边缘提取装置以及边缘位置提取装置的处理结果,作成与通过边缘提取装置提取的各边缘像素对应设置的数据,记录到所述存储器的记录装置;从所述图像输入装置输入了包含与所述模型对应的对象物的处理对象图像时,在该处理对象图像中以像素单位扫描与所述模型图像相同大小的检索区域,在每一个扫描位置计算出所述检索区域内的图像和模型图像的类似度的类似度计算装置;在根据所述类似度计算装置算出的类似度提取的位置,重新设定所述检索区域,在该检索区域,根据所述边缘提取装置的处理结果,提取与在所述存储器中记录有边缘位置的模型图像中的边缘像素对应的边缘像素的对应边缘像素提取装置;将通过所述对应边缘像素提取装置提取的边缘像素以及其相邻的图像在所述边缘位置提取装置进行处理,通过该处理,计算出所提取的亚像素单位的边缘位置和记录在所述存储器中的边缘位置的偏置量的偏置量计算装置;根据通过所述偏置量计算装置算出的偏置量,修改所述检索区域的设定位置,将修改后的设定位置特定为所述对象位置的位置特定装置。
再有,在该图像处理装置上,优选设置存储图像用的存储器(以下称为“图像存储器”)。
基于上述内容,在图像输入装置中,可以包括从摄像机等外部设备接收图像信号的接口电路以及A/D转换电路。但是,在输入数字图像数据时,不需要设置A/D转换电路。
除了图像输入装置以及存储器之外的各装置,可以由安装了为执行各个装置的处理的软件的计算机构成。但是,任何一个装置也不必限定于计算机,可以由包含晶体管等的逻辑电路构成。特别是,如果将边缘提取装置设计成逻辑电路,将从图像输入装置输入的图像直接输入并进行处理,就可以快速进行根据其他装置的处理,能够缩短处理时间。
从图像输入装置输入包含模型图像的图像后,通过边缘提取装置、边缘位置提取装置以及记录装置执行所述步骤A、B和C的处理。另外,从图像输入装置输入处理对象图像后,分别通过类似度计算装置执行第1步骤;通过边缘提取装置、边缘位置提取装置、对应边缘像素提取装置以及偏置量计算装置执行第2步骤;通过位置特定装置执行第3步骤。其中,在将边缘提取装置作为逻辑电路构成时,可以在输入图像的同时启动该电路,产生将各像素的浓度梯度的大小以及浓度梯度方向与坐标对应设置的虚拟图像,存储到所述图像存储器中。此时,其他装置可以访问存储器中的虚拟图像,获取边缘像素的位置以及浓度梯度方向。
在上述图像处理装置中,还可以设置将通过位置特定装置特定的对象物的位置输出的装置;以及以特定的位置为基准设置测量区域,在该区域内执行规定的测量处理的装置等。
根据本发明,将对象物的位置以像素单位提取后,根据和将该位置作为基准的模型图像的位置关系,求出亚像素单位的边缘位置的偏置量,由于根据该偏置量对最初求出的对象物的位置进行了修改,所以可以精确地提取对象物的位置。


图1为适用本发明的图像处理装置的框图。
图2为记录对象图像和处理对象图像的示例示意图。
图3为将边缘像素、浓淡边缘位置以及浓淡边缘位置的提取方法图形化的示意图。
图4为将对象物的位置以亚像素单位提取的处理的示例流程图。
图5为将对象物的位置以亚像素单位提取的处理的另一示例流程图。
图6为适用本发明的另一图像处理装置的框图。
图7为检查时的图像以及显示了检查区域的图像的示意图。
附图标记1 图像处理装置2 图像输入部3 边缘提取部4 图像存储器10 控制部11 CPU14 硬盘22 与模型图像对应的区域M 模型图像S 假设位置601 摄像部602 本体部620 运算处理部622 图像处理部623 测量处理部C0,C1 摄像机A1 正向图像
A2 斜向图像W 工作对象70 测量对象区域具体实施方式
图1表示本发明的一个具体实施例的图像处理装置的构成。
该图像处理装置1是以拍摄设定形状的对象物而得到的浓淡图像作为处理对象,对该图像上的对象物的位置进行测量的装置,包括图像输入部2、边缘提取部3、图像存储器4、输入输出接口5、图像输出部6、监视器7、控制部10等。
图像输入部2,包括摄像机用的接口以及A/D转换电路,所以将从省略图示的模拟摄像机传送过来的浓淡图像信号输入并进行数字转换。转换后的数字图像在存储到图像存储器4的同时,还传输到边缘提取部3。
该具体实施例的边缘提取部3包括对所述数字图像进行微分处理,计算每一个像素的浓度梯度大小的电路;和计算每一个像素的表示所述浓度梯度的方向的角度数据的电路。即,对构成输入图像的所有像素,求出浓度梯度的大小和浓度梯度方向。这些计算结果,被编辑成与各个像素坐标对应设置的虚拟图像,并存储到图像存储器中。
而且,在下文中仿照专利文献1的记述,将浓度梯度的大小称为“边缘强度”,将表示浓度梯度方向的角度数据称为“边缘代码”,将根据它们的虚拟图像称为“边缘强度图像”、“边缘代码图像”。
输入输出接口5,与省略图示的输入部(键盘,鼠标等)以及外部设备连接。而且,输入部用于在进行测量之前输入各种设定条件(包括后述的为提取模型图像的区域指定。)所述图像输出部6,包括D/A转换电路以及连向监视器7的接口电路。该图像输出部6,能够按照控制部10传输来的命令,从图像存储器4读取规定类型的图像数据,将其显示在监视器7上;而且,可以接收由控制部10提供的测量结果等数据,将其显示在所述监视器7上。
所述控制部10,包括CPU11、ROM12、RAM13以及硬盘14。硬盘14中存储有用于测量处理的程序以及设定数据,CPU11利用这些进行一系列的测量处理。再有,所述硬盘14中设置有为记录用于提取对象物的模型数据的区域(以下将该区域称为“记录区域”)。
下面,针对上述图像处理装置1的测量处理进行详细的说明。
图2为用于记录所述模型图像的浓淡图像(以下称为“记录对象图像”)以及测量对象的浓淡图像(以下称为“处理对象图像”)的示例。
记录对象图像是拍摄测量对象物的合格品模型得到的。所述CPU11将该记录对象图像显示在监视器7上,并接收由用户进行的区域指定操作。然后当进行了指定操作后,将所指定的区域21内的图像作为模型图像M提取。该模型图像M和所述区域21的左上角顶点A的坐标(mx1,my1)以及右下角顶点B的坐标(mx2,my2)一起,记录到所述硬盘14的记录区域。
如图2的(2)所示,在测量处理中,从处理对象图像中提取与所述模型图像M对应的图像区域22。然后,将该区域22的左上角顶点S的坐标(Sx,Sy),即与区域21的点A对应的位置作为对象物的假设位置。接着,在该具体实施例中,提取所述区域22中的边缘和模型图像中的边缘之间的亚像素单位的位置偏置量,将距离所述假设位置S有所述位置偏置量的点,作为对象物的实际位置进行设置。(下文中,将该实际位置的坐标称为(0x,0y)。)在上述求出对象物的假设位置S的处理以及求出所述边缘间的位置偏置量的处理中,都是使用基于图像上的边缘像素以及其浓度梯度方向的数据。下面,针对在一系列处理中使用的数据,顺序进行说明。
首先,作为基本的数据是所述边缘代码图像以及边缘强度图像。如前面所述,这些图像由边缘提取部3产生。
边缘提取部3,对从图像输入部2输入的图像扫描设定大小的掩模的同时,在各扫描位置对所述掩模内的图像启动苏贝尔算子(Sobeloperator)等边缘提取用滤镜,每一个像素都提取x轴(沿水平方向的轴)以及y轴(沿垂直方向的轴)的浓度梯度Ex(x,y),Ey(x,y)。接着,边缘提取部利用这些浓度梯度Ex(x,y)、Ey(x,y)计算出所述的边缘强度以及边缘代码。
其中,对于边缘强度以及边缘代码的计算,可以适用所述专利文献1中记述的方法。因此在此省略详细说明,边缘强度是表示所述浓度梯度Ex(x,y),Ey(x,y)的合成矢量的长度。另外,边缘代码是所述合成矢量的方向,用从设定的基准方向(如x轴的正方向)上看的角度来表示(在专利文献1中与本具体实施例有所不同的是,将与浓度梯度方向直交的方向作为边缘代码,但是以任何一个方向作为边缘代码,其概念是相同的。)。
每一个像素所计算出的边缘强度以及边缘代码,与各自的像素的坐标对应设置,以Ei(x,y)、Ec(x,y)的形式表示。因而,以这些数据Ei(x,y)、Ec(x,y)作为构成像素的图像分别作为边缘强度图像、边缘代码图像进行设置。
从处理对象图像产生的边缘强度图像以及边缘代码图像和所述处理对象图像一起存储到图像存储器4中。
另外,从由所述记录对象图像产生的边缘强度图像以及边缘代码图像中,分别提取与所述模型图像对应的区域内的数据,存储到所述记录区域中。以下,将记录的边缘强度图像作为边缘强度模型图像,各像素表示为MEi(x,y);将记录的边缘代码图像作为边缘代码模型图像,各像素表示为MEc(x,y)。
接着,在本具体实施例中,将在浓淡图像中出现的边缘位置,以亚像素单位进行提取(以下,将该边缘位置称为“浓淡边缘位置”。)。对于模型图像提取的浓淡边缘位置记录到所述记录区域。
图3的(A),顺序表示包含所述对象物图像的浓淡图像、由该浓淡图像转换成的边缘图像、以及将该边缘图像上的边缘利用所述浓淡边缘位置进行细线化的浓淡边缘图像。其中,三种类型的图像中,边缘图像以及浓淡边缘图像是为说明边缘像素以及浓淡边缘位置而设置的,不是在该具体实施例中产生的。
边缘图像可以通过转换所述的边缘强度图像而产生。具体地,将边缘强度大于等于设定阈值Ei0的像素作为边缘像素设置为黑像素,将边缘强度小于所述阈值Ei0的像素设置为白像素。并且,在图中的边缘模型图像中,边缘的浓度梯度方向以箭头表示。
图3的(B)表示了为求出边缘图像中的任意边缘像素K(坐标为(xk,yk))的浓淡边缘位置的方法。在该具体实施例中,以所述边缘像素K为起点检索其浓度梯度方向,将从边缘像素K观察的浓淡值的变化量达到全部变化量的50%的点L提取,将该点L的坐标(xL,yL)作为所述浓淡边缘位置。并且,可以适当更改确定该浓淡边缘位置的基准。
图3的(A)所示浓淡边缘图像是显示了针对每一个边缘像素通过上述方法求出的浓淡边缘位置的图像(实际上,由于是亚像素单位的位置,不能作为图像表示)。
并且,在图3的图像中,由于浓度梯度方向是沿着x轴或者y轴的,因此浓淡边缘位置的坐标(xL,yL)中的一方与目标中的边缘像素相同。如果在斜方向上出现浓度梯度时,需要利用沿着该方向的边缘强度的变化,求出x和y的各方向的浓淡边缘位置。
另外,边缘图像上的边缘通常具有多个像素的宽度,所以即使在求出浓淡边缘位置的处理中,也可能在浓淡边缘位置的检索方向上存在具有与其方向相同的浓度梯度方向的边缘像素。这时,优选将浓度方向相同的多个边缘像素作为一个组,并对该组求出一个点的浓淡边缘位置。或者,也可以预先实施使边缘图像中的边缘宽度成为一个像素的细线化处理后,求出对于该细线化的边缘的浓淡边缘位置。这时,在检索浓淡边缘位置的处理中,优选以经过细线化处理得到的边缘像素为起点,检索其浓度梯度方向的正反两个方向。
在该具体实施例中,利用边缘强度图像以及边缘代码图像,对边缘强度大于等于所述阈值Ei0的像素顺序扫描的同时,根据上述图3的(B)的方法提取浓淡边缘位置(xL,yL)。接着,对于模型图像,通过将提取的浓淡边缘位置(xL,yL)存储到利用所述边缘像素坐标(x,y)的二维排列数据MXL(x,y)、MYL(x,y)中,将边缘像素与浓淡边缘位置对应设置。即,MXL(x,y)=xL、MYL(x,y)=yL。
而且,如上所述,在对多个像素的边缘像素组求出一个边缘位置的时候,可以对构成该组的所有像素对应设置所述浓淡边缘位置。
接着,对于模型图像,关于也包含边缘像素以外的像素的所有构成像素,分别设置有表示是否设定了所述浓淡边缘位置的标记数据ML(x,y)。该模型图像的浓淡边缘位置MXL(x,y)、MYL(x,y)以及标记数据ML(x,y)全部都记录到记录区域,在测量处理中使用。
如上所述,在硬盘14的记录区域中,除所述模型图像之外,还记录有边缘强度模型图像MEi(x,y)、边缘代码模型图像MEc(x,y)、浓淡边缘位置MXL(x,y)、MYL(x,y)以及标记数据ML(x,y)。另外,即使对于处理对象图像,也可以在输入图像的同时,由边缘提取部3生成边缘强度图像Ei(x,y)以及边缘代码图像Ec(x,y)。
接着,针对使用上述各种数据的测量处理的具体实施例进行说明。
在从处理对象图像中提取对象物的假设位置S的处理中,使用边缘强度图像Ei(x,y)、边缘代码图像Ec(x,y)、边缘强度模型图像MEi(x,y)以及边缘代码模型图像MEc(x,y),将与模型图像最类似的区域提取。具体地,在处理对象图像中以像素单位扫描与模型图像相同大小的检索区域的同时,对于每一个扫描位置,求出检索区域和模型图像之间的边缘代码的分布图形的类似度,将类似度最大的扫描位置提取。
而且,由于该提取处理采用了与专利文献1所公开的方法相同的方法,因此,在此省略详细的说明。
接着,以所述假设位置S为基准重新设置检索区域,在该检索区域求出对于模型图像的边缘的位置偏置量,然后求出对象物的实际位置。下面,参照图4对该处理进行详细说明。其中,图4中的dx是在x轴方向上的位置偏差,dy是在y轴方向上的偏差。另外n是浓淡边缘位置的提取数量。另外,(Sx,Sy)是表示所述对象物的假设位置的S点的坐标,(x,y)是表示对于该点S的目标像素的相对位置。可以认为模型图像的目标像素的对应点是通过该(x,y)来表示的。
首先,在最初的ST101(ST为“步骤”的简称,下文同),在所述n,dx,dy设置初始值0,以所述点S为起点,将目标像素一个像素一个像素地移动的同时(按照ST102、ST103、ST104、ST111、ST112、ST113、ST114的各步骤。),对各目标像素执行如下处理。其中,在ST111、ST113中,判断x,y的值是否达到图2所示的模型图像的大小(mx2-mx1),(my2-my1)(后述图5中的ST218、ST220也同样。)。
最初,对于模型图像的对应像素,判断所述标记数据ML(x,y)是否设置为开(on)(ST105)。其中,在该实施例中,将标记数据ML(x,y)为“1”时为开状态。
在所述ML(x,y)=1,即为模型图像的对应像素对应设置了浓淡边缘位置(MXL(x,y)、MYL(x,y))的时候,ST105变为“是”,进入ST106,判断目标像素是否是边缘像素。具体地,如果从处理对象图像生成的边缘强度图像的像素Ei(Sx+x,Sy+y)大于等于所述的阈值Ei0,则判断为目标像素是边缘像素。
如果ST106为“是”,在接下来的ST107中,将目标像素的边缘代码Ec(Sx+x,Sy+y)和模型图像的对应像素的边缘代码MEc(x,y)进行比较。此时,如果Ec(Sx+x,Sy+y)和MEc(x,y)的差值的绝对值小于等于设定值,则判断为两方的边缘代码一致,进入ST108。
在ST108中,对目标像素提取所述浓淡边缘位置(xL,yL)。接着,在接下来的ST109中增加所述提取数量n,进入ST110。
在ST110中,利用在ST108中求出的浓淡边缘位置(xL,yL)、模型图像的对应像素的浓淡边缘位置(MXL(x,y)、MYL(x,y))以及所述点S的坐标(Sx,Sy),按照x,y的各轴方向,求出处理对象图像的浓淡边缘位置相对于模型的浓淡边缘位置的偏置量dx,dy。同时在ST110中,也执行将每一个像素的偏置量dx,dy进行加法运算的处理。
通过对与所述模型图像对应的图像区域内的所有的像素执行上述操作,可以求出所述图像区域内的浓淡边缘位置相对于模型图像的偏置量dx,dy的总和。其中,当所述ST105、ST106、ST107中的任何一步中的判断结果为“否”时,则跳过ST108~110。
当完成了对与模型图像对应的图像区域内的所有的像素的处理后,在ST115中,利用所述n计算出偏置量dx,dy的平均值dx/n,dy/n。然后,将所述点S的坐标(Sx,Sy)加上平均后的偏置量得到的坐标,代入表示对象物实际位置的坐标(0x,0y)。
按照上述一连串的处理,可以以用像素单位求出的对象物的位置为基准,以亚像素单位提取边缘位置相对于模型图像的偏置量,只用其偏置量对所述对象物的位置进行修改。这样,由于能够以亚像素单位求出对象物的位置,所以与现有技术相比可以大幅提高位置测量的精度。
图5为求出所述对象物实际位置(0x,0y)的处理的另一示例。
该具体实施例,基本处理的内容与图4相同,其特征在于,根据边缘代码的表示方向改变计算偏置量的方法。为执行该方法,在该具体实施例中,将浓淡边缘位置的提取数量在x,y轴方向分别计数。图中,xn为在x轴方向的提取数量,yn为在y轴方向的提取数量。
其他参数与所述图4相同。
首先在ST201~204,进行与所述图4的ST101~104相同的设定后,将x,y一个一个移动的同时,对与模型图像对应的区域22内的各像素分别执行以下的处理。
在ST205~207中,与所述图4的ST105~107同样,对是否为模型图像的对应像素设置了浓淡边缘位置、目标像素是否是边缘像素以及目标像素的边缘代码是否与模型像素的对应像素的边缘代码一致进行判断。如果ST205~207的判断结果都是“是”,则进入ST208,对目标像素提取浓淡边缘位置(xL,yL)。
在接下来的ST209中,将目标像素的边缘代码Ec(Sx+x,Sy+y)用表示水平方向的180°进行除法运算,将其余数作为θ。接着,当θ比90°大时,在ST211中以180°减去θ得到的值更新所述θ的值。在接下来的ST212中,判断θ是否比22°大,如果判断结果为“否”,则进入ST214。如果判断结果为“是”,接着在ST213中,将|θ-90°|的值和22°进行比较,如果|θ-90°|≤22°则执行ST215,如果|θ-90°|>22°则执行ST216以及ST217。
即,如果目标像素的边缘代码表示的方向和x轴方向(0°或180°方向)的角度差值在22°以内,则目标像素的浓度梯度方向作为是沿着x轴方向的,进入ST214,对有关x轴方向的偏置量dx以及提取数量xn进行更新。另外,如果目标像素的边缘代码表示的方向和y轴方向(90°或270°方向)的角度差值在22°以内,则目标像素的浓度梯度方向作为是沿着y轴方向的,进入ST215,对有关y轴方向的偏置量dy以及提取数量yn进行计算。另外,在对于与x轴以及y轴对应的四个方向(0°、90°、180°、270°的各方向)的任意一个方向,当目标像素的边缘代码具有比22°大的角度差值的时候(比如22°<θ<68°),则在ST216中,对x,y轴两方向的提取数量xn,yn进行更新,在ST217中,对x,y轴两方向的偏置量dx,dy进行更新。
对与模型图像对应的图像区域内的所有像素进行处理结束后,在ST222中,将所述偏置量dx,dy分别通过提取数量xn,yn进行平均,将根据其平均值对所述点S的坐标(Sx,Sy)进行补正后的坐标,代入对象物的实际位置(0x,0y)。
按照上述步骤,由于只计算相对于模型发生偏差的方向上的提取数量,因而可以进一步提高位置偏置量dx,dy的平均值的可靠度。从而能够更精确地求出对象物的位置。
本图像处理也可以用于,根据多台摄像机在不同位置拍摄同一个对象物得到的图像,对该对象物的三维的位置进行测量(常说的利用立体摄像机的三维测量)。作为求出多个图像间的对应点的方法,在使用将在一个摄像机图像上的对象物的图像和在其他摄像机上的对象物的图像进行匹配、找到对应点的方法时,本图像处理可以适用。下面对其具体实施例进行说明。
图6为其他具体实施例的检查装置的整体构成的框图。摄像部601包括两台摄像机C0、C1,设置在检查线的上方,对工厂的检查线L、被搬送来的检查对象物W(以下称为“工作对象W”)顺序进行拍摄。虽然省略了图示,但其中一台摄像机C0,将其光轴以相对于检查线呈垂直的方向进行设置。另一台摄像机C1,使其和所述摄像机C0视野重叠,以将其光轴倾斜的状态进行设置。下文中,将从所述摄像机C0得到的图像A0称为“正向图像A0”,将从摄像机C1得到的图像A1称为“斜向图像A1”。
该检查装置,除所述摄像部601之外,还包括本体部602、监视器603、控制台604等。本体部602设置有对应各摄像机C0,C1的图像输入部610,611、摄像机驱动部612、运算处理部620以及输出部628等。所述摄像机驱动部612,接收从工作对象检出用传感器(省略图示)传输来的检测信号,并同时驱动各摄像机C0,C1。各摄像机C0,C1产生的图像信号输入到各自的图像输入部610,611,并进行数字转换。由此产生各摄像机的测量处理用的数字图像(所述正向图像A0以及斜向图像A1)。
所述运算处理部620是由计算装置成的,所以在执行了利用所述每个摄像机的图像的测量处理后,从其处理结果判断所述工作对象W是否适当。输出部628是将所述测量处理以及判断处理的结果,向PLC等外部设备输出的输出用接口。
运算处理部620,除存储所述图像A0,A1的图像存储器621之外,还设置有图像处理部622、测量处理部623、判断部624、显示控制部625、参数计算部626以及参数存储部627等。其中,图像存储器621以及参数存储部627以外的其他各部,是通过专用的程序在所述计算机中设置的功能。
图像存储器621以及参数存储部627,设置在所述计算机的内存(RAM等)中。
其中,尽管在图6中没有图示,在运算处理部620中设置有用于记录检查时必需的信息(检查区域的设定条件以及模型图像等)的存储器(以下,将该存储器称为“记录用存储器”。)。另外,向该记录用存储器的记录处理以及运算处理部620的各处理部执行的处理的设置以及更改,可以适当根据控制台4的操作进行。
图像处理部622,通过双值化、边缘提取以及图形匹配等,提取所述工作对象W的检查对象部位的构成点。测量处理部623,对通过所述图像处理部622提取的每一个检查对象部位,进行测量其位置以及大小等的处理。其中,该具体实施例的图像处理部622以及测量处理部623设置为可以选择二维或者三维的处理来执行。
判断部624,通过进行所述测量处理部623的测量结果和设定的阈值的比较等,对工作对象W的适当与否进行判断。该判断结果输出到输出部628以及显示控制部625。
所述显示控制部625是控制所述监视器603的显示动作的,可以将在所述图像输入部610、611中产生的正向图像A0、斜向图像A1在一个画面中并排显示。并且还可以根据情况随意接收图像处理部622、测量处理部623以及判断部624的处理结果,与上述图像一起显示。
在参数存储部627中,存储用于三维测量的运算式中的各种系数。这些系数的值,根据通过各摄像装置成的立体坐标系和表示在实际空间上的位置的空间坐标系的关系(各坐标间的原点之间的距离以及立体坐标系相对于空间坐标系的旋转偏置量等)发生变动(以下将这些系数称为“参数”。)。在执行检查之前,将这些参数通过图像处理部622以及参数计算部626算出后,存储到所述参数存储部627中。其中,在计算该参数的处理中,使用具有多项特征的校准用工作对象。
再有,在所述参数存储部627中,还记录用于构成对应矩阵(homographic matrix)的参数。
其次,将配置有如图7所示的按钮式字符键的工作(遥控器、电话等)作为检查对象,在此,针对测量按键高度时的检查处理进行详细说明。
首先,利用拍摄工作W得到的正向图像A0,指定包含作为测量对象的按键的区域70(在该实施例中指定“2”键)。然后,同时驱动摄像机C0、C1、产生图像,对于正向图像A0,利用与前述具体实施例相同的方法,以亚像素单位求出区域70内的对象物(在该实施例中指定“2”键)的边缘位置。另外,斜向图像A1由于存在视差,所以使用预先进行的摄像机校准得到的内部常数进行偏位修正,作成对应的从正面透视的偏位修正图像(例如参照非专利文献2)。
(非专利文献2)高地“数字照相测量法(DigitalPhotogrammetry立体图像方式)”第15回三维工学论坛资料集,2005.12,pp15-32对于该偏位修正图像也和所述具体实施例一样,以亚像素单位求出边缘位置,在该阶段只能得到偏位修正图像的每个边缘像素的边缘位置,所以从得到的偏位修正图像的各边缘位置,通过补正计算出与通过摄像机C0得到的检查对象物的亚像素单位的边缘位置对应的边缘位置。这样,可以以亚像素单位求出摄像机C0的图像上的对象物和通过摄像机C1得到的偏位修正图像上的对象物的位置的对应关系。另外,在求对应位置时,利用所谓的核点限制条件。还可以以测量对象物的取得高度范围信息为基准,限定对应点的搜索区域。将这样得到的偏位修正图像上的对象物的位置(边缘位置)转换为偏位修正前的图像,求出在摄像机C1的坐标系中的对象物的位置。然后,以用亚像素单位求出的摄像机C0和摄像机C1的对应点为基准,实施人们熟知的三维位置测量处理就可以进行高精度的三维位置测量。
更具体地说,执行如下①至⑤的操作。
①进行通过摄像机C0得到的正向图像的模型图像的记录。
②对于通过摄像机C0得到的处理对象图像,利用模型图像,用与所述具体实施例相同的亚像素单位求出对象物的实际位置,由此可以将摄像机C0的图像中的模型图像的边缘位置以亚像素单位求出。
③对通过摄像机C1得到的处理对象图像进行偏位修正。根据该偏位修正将摄像机C1的斜向图像转换为和摄像机C0的图像相同的正向图像。
偏位修正(也称作核点图像补正)是指,为使一台摄像机的摄影画面和另一台摄像机的摄影画面在同一个坐标系及同一个平面上,通过对一台摄像机的图像进行坐标转换来进行补正。另外,为了与特定的摄影画面在同一个坐标系及同一个平面上,也可以同时对两方的摄影画面进行坐标转换。如本具体实施例,在一方为垂直视角,另一方为斜向视角的立体三维位置测量处理中,将摄像机C1的斜向图像转换为和摄像机C0同样的正向图像进行补正。执行了该补正后,进行对应点搜索时的摄像机C1的图像上的核线的方向变为水平方向。具体地,通过预先执行立体摄像机的校准,可以求出摄像机C0的摄影画面的坐标系和摄像机C1的摄影画面的坐标系的旋转以及并进关系,利用这些关系通过执行如下1)至3)的处理产生偏位修正图像。
1)对于产生的偏位修正图像的像素i,利用通过预先校准得到的关系计算出应该转换为像素的四个角Ai、Bi、Ci、Di的坐标位置的摄像机1的图像上的坐标ai、bi、ci、di。
2)求出摄像机C1的图像上的ai、bi、ci、di围起的区域(以下称为abcd区域)的平均浓度。由于abcd区域跨越摄像机C1的多个像素(通常认为跨越四个像素),因此通过加权各像素的包含在abcd区域内的面积的比例,加算各个像素的浓度值,由此来确定偏位修正图像上的像素i的浓度。
3)对于要产生1)和2)的处理的偏位修正图像的所有像素重复上述操作。
④对于通过上述偏位修正得到的偏位修正图像,使其与②同样以亚像素单位求出对象物的位置。由此,可以以亚像素单位求出偏位修正图像中的模型图像的边缘位置。
此时,模型图像的搜索区域的设置在,由在摄像机C0的图像中经过匹配的模型图像的、与摄像机C0图像上的各像素或者代表像素的坐标对应的核线规定的范围内进行设置。也可以在和核线垂直的方向设置具有一个像素到几个像素宽的范围的搜索区域。当检测距离(摄像机和检测对象间的距离)被限制在一定范围内的时候,可以使用对应矩阵计算出与该距离范围对应的区域,从而只在该区域内进行搜索。
⑤通过上述处理,分别以亚像素单位求出了摄像机C0的图像内的模型图像的位置的坐标和摄像机C1的偏位修正图像内的模型图像的位置的坐标,虽然也能够以亚像素单位得出两个图像内互相对应的边缘位置的坐标,但是为了进行三维位置测量,需要掌握在摄像机C1的原始图像的坐标系上的对应点,而不是摄像机C1的偏位修正图像上的坐标。因此,将补正图像的坐标系逆转换为摄像机C1的坐标系。利用由预先校准求出的关系,通过计算求出该逆转换。由于逆转换是通过计算得到的,因此如果补正图像上的边缘位置是以亚像素单位求出的,那么通过逆转换计算的该边缘位置的摄像机C1图像上的坐标也同样可以得到亚像素的精度。通过该模型图像的边缘位置的亚像素单位的坐标,和与其一一对应设置的摄像机C0图像上的边缘位置的亚像素单位的坐标来计算三维位置坐标。
其中,在步骤④中,也可以替代模型图像,将在摄像机C0图像的处理对象图像中提取出的、与模型图像对应的摄像机C0图像内的区域作为用于搜索对应点的模型图像进行处理。另外,在步骤①中,也可以替代模型图像的记录,每次提取摄像机C0的处理对象图像的预先设置的范围的图像,用其替代模型图像进行处理。
另外,在该具体实施例中,将其中的一个作为正向图像,其他的作为斜向图像,但根据设置的摄像机的位置以及角度,即使没有正向图像的场合,通过取得对每台摄像机的图像的在同一个面上投影的偏位修正图像,当然可以同样地以亚像素单位求出对应位置。
权利要求
1.一种图像处理方法,是以规定大小的浓淡图像作为处理对象,从该处理对象图像中提取与预先特定的模型对应的对象物位置的方法,其特征在于,预先执行以下步骤步骤A,对于拍摄所述模型得到的模型图像,从其图像中的边缘提取边缘图像;步骤B,对提取的各边缘像素,分别以其边缘像素为基准检索浓度梯度方向,提取亚像素单位的边缘位置;步骤C,对于在所述步骤B中提取了边缘位置的边缘像素,将其提取位置以及用于提取的浓度梯度方向对应于相应的边缘像素进行记录;在预先执行上述步骤后,对于所述处理对象图像执行以下第1、第2、第3各步骤在所述第1步骤,以像素单位对处理对象图像扫描与所述模型图像相同大小的检索区域,在每一个扫描位置计算出所述检索区域的图像和模型图像的类似度;在所述第2步骤,在根据所述第1步骤中计算出的类似度提取的位置,重新设定检索区域,在该检索区域提取与记录有所述亚像素单位的边缘位置的模型图像中的边缘像素对应的边缘像素,对所提取的各边缘像素分别计算出步骤B以及通过步骤B得到的亚像素单位的边缘位置和所述记录的边缘位置的偏置量;在所述第3步骤,根据在所述第2步骤中计算出的偏置量修正所述检索区域的设定位置,将修正后的设定位置特定为所述对象物的位置。
2.如权利要求1所述图像处理方法,其特征在于,在所述第1步骤中,在各扫描位置计算出所述模型图像的各边缘像素的浓度梯度方向的分布图形和所述检索区域内的各边缘像素的浓度梯度方向的分布图形的类似度。
3.如权利要求1所述图像处理方法,其特征在于,在所述第2步骤中,在所述第1步骤计算出最高类似度的位置,重新设定检索区域。
4.一种三维位置测量方法,其特征在于,根据权利要求1所述的图像处理方法,计算出通过视野互相重叠的多台摄像机生成的图像的各对象物边缘位置,根据得到的各图像的边缘位置特定对应的位置,进行对象物的三维测量。
5.一种图像处理装置,其特征在于,包括输入浓淡图像的图像输入装置;对于从所述图像输入装置输入的浓淡图像,从该图像的边缘中提取边缘像素以及该边缘像素的浓度梯度方向的边缘提取装置;根据所述边缘提取装置的提取结果,对于所述浓淡图像上的边缘像素,以该像素为基准检索浓度梯度方向,提取亚像素单位的边缘位置的边缘位置提取装置;存储包含对象物模型的模型图像以及从该模型图像中提取的数据的存储器;从所述图像输入装置输入了包含所述模型图像的图像时,将对于该输入图像的所述边缘提取装置以及边缘位置提取装置的处理结果,作成与通过边缘提取装置提取的各边缘像素对应设置的数据,并记录到所述存储器中的记录装置;从所述图像输入装置输入了包含与所述模型对应的对象物的处理对象图像时,对该处理对象图像以像素单位扫描与所述模型图像相同大小的检索区域,在每一个扫描位置计算出所述检索区域内的图像和模型图像的类似度的类似度计算装置;在根据通过所述类似度计算装置算出的类似度提取的位置,重新设定所述检索区域,在该检索区域,根据所述边缘提取装置的处理结果,提取与在所述存储器中记录有边缘位置的模型图像中的边缘像素对应的边缘像素的对应边缘像素提取装置;将通过所述对应边缘像素提取装置提取的边缘像素以及其相邻的图像在所述边缘位置提取装置进行处理,计算出通过该处理提取的亚像素单位的边缘位置和记录在所述存储器中的边缘位置的偏置量的偏置量计算装置;根据通过所述偏置量计算装置计算出的偏置量,修改所述检索区域的设定位置,将修改后的设定位置特定为所述对象物位置的位置特定装置。
全文摘要
本发明公开了按亚像素单位提取对象物位置的图像处理方法、三维位置测量方法以及图像处理装置,从拍摄对象物的合格品模型得到的模型图像中提取其图像上的边缘像素、其浓度梯度方向以及亚像素单位的边缘位置,并记录到硬盘(14)中。当输入处理对象图像时,CPU(11)以像素单位求出与模型图像对应的图像区域的位置后,在其图像区域中,提取与模型图像一侧的对应像素相对应的亚像素单位的边缘位置的边缘像素。然后,对这些边缘像素提取亚像素单位的边缘位置,计算出其提取位置和模型图像的边缘位置的偏置量。接着,根据对各个边缘像素求出的偏置量的平均值修正所述像素单位的位置,作为对象物的实际位置。
文档编号G01B11/00GK1834582SQ200610057440
公开日2006年9月20日 申请日期2006年3月15日 优先权日2005年3月15日
发明者藤枝紫朗, 池田泰之 申请人:欧姆龙株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1