CN110598689B - 用于估计图像中极值点的子像素位置的方法、设备和系统 - Google Patents
用于估计图像中极值点的子像素位置的方法、设备和系统 Download PDFInfo
- Publication number
- CN110598689B CN110598689B CN201910491171.1A CN201910491171A CN110598689B CN 110598689 B CN110598689 B CN 110598689B CN 201910491171 A CN201910491171 A CN 201910491171A CN 110598689 B CN110598689 B CN 110598689B
- Authority
- CN
- China
- Prior art keywords
- image
- pixel
- sub
- pixels
- extreme point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000006870 function Effects 0.000 description 103
- 230000000875 corresponding effect Effects 0.000 description 29
- 238000012887 quadratic function Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 5
- 230000004807 localization Effects 0.000 description 5
- 238000009499 grossing Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000001000 micrograph Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/32—Determination of transform parameters for the alignment of images, i.e. image registration using correlation-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/97—Determining parameters from multiple pictures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/242—Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/239—Image signal generators using stereoscopic image cameras using two 2D image sensors having a relative position equal to or related to the interocular distance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20004—Adaptive image processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N2013/0074—Stereoscopic image analysis
- H04N2013/0081—Depth or disparity estimation from stereoscopic image signals
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
- Measurement Of Optical Distance (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明公开了用于估计图像中极值点的子像素位置的方法、设备和系统。具体地,提供一种使用参数函数估计图像中的极值点的子像素位置的方法。将参数函数局部拟合到图像中的邻近像素组,并识别参数函数的极值点的空间位置。如果参数函数的极值点与图像中的极值点的类型不同,或者参数函数的极值点的位置位于由邻近像素组中的像素位置所定义的区域的外部,则从邻近像素组中删除像素,并重复参数函数的拟合。最后,子像素位置被估计为参数函数的极值点的位置。估计的子像素位置的不确定性水平被估计为在达成子像素位置的估计之前所需的重复的次数。
Description
技术领域
本发明涉及对图像中的极值点的子像素位置进行估计的领域。具体地,本发明涉及一种使用参数函数来估计图像中的极值点的子像素位置的方法及相关联的设备和系统。
背景技术
数字图像由被称为像素的数字值的有限集合构成。这些是图像中的最小独立元素。可以以像素精度来对数字图像中的空间位置进行度量。然而,在一些应用中,这是不够的,而是希望以子像素精度来对图像中的空间位置进行度量。例如,在许多应用中,非常感兴趣的是以子像素精度来估计图像中的强度最大值或最小值的位置。这包括光流内的应用、根据例如卫星图像或显微镜图像的对象定位以及用于对场景中的深度进行估计的立体照相机设置中的应用。
一种用于估计图像中的最大值或最小值的位置的方法包括:将参数函数局部拟合到图像的像素值。然后可以识别拟合的参数函数的最大值或最小值,并且可以将所识别的参数函数的最大值或最小值的空间位置当作图像中的最大值或最小值的子像素位置。该方法的缺点在于它对图像中的噪声很敏感。而且它也没有提供对该估计的可靠程度的度量。因此存在着改进空间。
发明内容
因此,鉴于上述情况,本发明的目的在于提供对图像中的最大值或最小值的子像素位置的改进的估计。
根据第一方面,上述目的通过在设备中执行的用于在存在噪声的情况下使用参数函数对图像中的极值点的子像素位置进行估计的方法来实现,图像中的极值点的类型是最大值或最小值,该方法包括:
a)选择图像中的邻近像素组,其中,邻近像素组中的像素的数量大于用于定义参数函数的参数的数量;
b)将参数函数拟合到邻近像素组的像素值,其中,参数函数将邻近像素组的像素值近似为空间位置的函数;
c)识别参数函数的极值点的空间位置,参数函数的极值点的类型是最大值、最小值或鞍点;
d)检查参数函数的极值点是与图像中的极值点的类型相同还是不同、以及参数函数的极值点的位置是位于由图像中的邻近像素组的像素位置定义的区域的内部还是外部,并且
如果参数函数的极值点与图像中的极值点的类型不同,或者参数函数的极值点的位置位于所述区域的外部,则:
从邻近像素组中删除像素,并且
如果邻近像素组中的像素的数量仍大于或等于用于定义参数函数的参数的数量,则重复步骤b)、c)和d);
e)将图像中的极值点的子像素位置估计为参数函数的极值点的空间位置;以及
f)将估计的子像素位置和与步骤b)、c)和d)的迭代次数相对应的不确定性水平相关联。
因此,根据该方法,将参数函数局部拟合到图像的邻近像素组的像素值,并识别参数函数的极值点。然而,在接受识别出的参数函数的极值点的空间位置作为对图像中的极值点的子像素位置的估计之前,执行两个检查。
在第一检查中,检查识别出的参数函数的极值点是与我们正在寻找的图像中的极值点的类型相同还是不同。例如,如果我们正在寻找图像中的最大值的子像素位置,则检查识别出的参数函数的极值点是否为最大值。类似地,如果我们正在寻找图像中的最小值的子像素位置,则检查识别出的参数函数的极值点是否为最小值。进行第一检查的原因在于图像中的噪声可能会导致异常的像素值。异常的像素值可能进而会导致参数函数的不良拟合。最后,结果可能是参数函数具有最小值,即使该方法搜索最大值,反之亦然。
在第二检查中,检查识别出的参数函数的极值点是位于由图像中的邻近像素组的像素位置定义的区域的内部还是外部。同样,异常的像素值可能会导致参数函数的不良拟合,使得识别出的极值点位于该方法在其中搜索最大值或最小值的局部邻域的外部。
如果识别出的参数函数的极值点与图像中的极值点的类型不同,或者如果识别出的参数函数的极值点位于由邻近像素组定义的区域的外部,则第一检查和第二检查中的任意一个会失败。如果发生这种情况,则该方法前进到从邻近像素组中删除像素,并且再次开始以参数函数拟合到邻近像素组的像素值。重复这一过程,直到两个检查都通过,或者直到邻近像素组中没有剩余足够的像素值以允许参数函数被拟合。因此,该方法允许迭代地删除潜在的异常像素值,直到获得可接受的拟合。以这种方式,该方法对于图像中的噪声变得更加强壮。
所需的迭代次数通常与图像中的噪声水平有关,即,图像的噪声越大,通常需要越多的迭代以实现可接受的拟合。此外,针对每次迭代,参数函数的拟合将基于越少的像素值。因此,估计的子像素位置的不确定性水平倾向于随着迭代次数而增加。因此,该方法提出将迭代次数用作对估计的子像素位置的不确定性水平的度量,即,用作对该估计的可靠程度的度量。
图像通常是指任何类型的在空间上进行组织的信号值。图像可以是由传感器捕获的图像,诸如可见光图像、红外图像或热图像。然而更一般地,图像可以是在二维网格上提供的任何测量的或计算的信号值。这些信号值可以在空间上有关,例如在空间上相关。
图像包括像素。每个像素与位置相关联,该位置对应于二维网格上的像素的位置。每个像素还与像素值相关联,该像素值对应于像素的信号值。
因此,像素位置定义布置在二维网格中的离散位置。二维空间中的不限于这些离散位置的空间位置在本文中被称为子像素位置。
图像中的极值点通常是指图像中的最大值或最小值。最大值可以是局部最大值。最小值可以是局部最小值。
参数函数的极值点通常是指参数函数的驻点,即,参数函数的所有偏导数(或等效地,梯度)为零的点。参数函数的极值点可以是最大值、最小值或鞍点。
估计的不确定性水平通常是指对该估计的可靠程度的度量。较低的不确定性水平指示比较高的不确定性水平更加可靠的估计。不确定性水平也指示该估计的方差。较高的不确定性水平指示高于较低的不确定性水平的方差。
可以基于图像的像素值来选择邻近像素组。例如,可以识别图像中的其中像素值指示存在有局部最大值(如果极值点的类型是最大值)或局部最小值(如果极值点的类型是最小值)的区域。可以将邻近像素组选择为包括这样的区域。以这种方式,首先使用图像的像素值来进行对极值点的位置的粗略估计。然后,可以使用上述方法将极值点的估计的位置微调至子像素精度。图像中的具有比其邻近像素中的每个像素的像素值更高的像素值的像素指示存在局部最大值。类似地,图像中的具有比其邻近像素中的每个像素的像素值更低的像素值的像素指示存在局部最小值。因此,如果图像中的极值点是最大值,则可以将邻近像素组选择为包括图像中的具有比该图像中的每个邻近像素的像素值更高的像素值的像素,并且如果图像中的极值点是最小值,则将邻近像素组选择为包括图像中的具有比该图像中的每个邻近像素的像素值更低的像素值的像素。可以将邻近像素组选择为以具有最高像素值(如果搜索到最大值)的像素或具有最低像素值(如果搜索到最小值)的像素为中心。例如,邻近像素组可以包括以具有最高像素值(如果搜索到最大值)的像素或者以具有最低像素值(如果搜索到最小值)的像素为中心的3×3的像素邻域。
参数函数可以是二维二次函数。这样的函数可以写为以下的参数形式:
f(x,y)=Ax2+By1+Cxy+Dx+Ey+F
二维二次函数由6个参数描述。因此,参数函数可以被拟合到邻近像素组的像素值,只要在该邻近像素组中至少存在有6个像素即可。参数函数的优点在于它可以使用闭合形式的表达式来拟合到邻近像素组的像素值。因此,它是在计算上有效的选择。然而,应当理解,可以使用其他的参数函数而同时仍能实现该优点。
可以使用最小二乘法来将参数函数拟合到邻近像素组的像素值。这包括使邻近像素组的像素值与在邻近像素组的各像素的位置处求值出的参数函数之间的平方差的和最小化。这是在计算上有效的用于将参数函数拟合到邻近像素组的像素值的方法,即使当邻近像素组中的像素的数量超过参数函数中的参数的数量时也是如此。
参数函数与邻近像素组的像素值的拟合可以涉及求解方程组以找到用于定义参数函数的参数。针对该组中的每个像素,方程组可以通过使像素的值与在该像素的位置处求值出的参数函数的值相等来定义。可以例如通过使用先前描述的最小二乘法来找到方程组的解。求解方程组可以包括形成邻近像素组的像素值的线性组合,以找到用于定义参数函数的参数。为了使该方法在计算上有效,可以将线性组合的系数预先存储在设备中。以这种方式,系数被预先求值,并且无需在每次执行该方法时求值。
如上所述,该方法迭代地从邻近像素组中删除像素,直到实现参数函数的可接受的拟合。具体地,可以删除可能被视为异常值的像素。以这种方式,可以减少噪声对拟合的影响。这可以以不同方式来完成。例如,在步骤d)中,可以删除具有与从邻近像素组的像素值形成的平均值偏离最多的像素值的像素。在一些情况下,可以通过省略邻近像素组的中心像素的像素值来计算平均值。这是由中心像素通常被选择为具有最高(如果是最大值)或最低(如果是最小值)的像素值的像素这一事实所启示。以这种方式,平均值将反映中心像素周围的像素的平均值。
所提出的方法不仅提供对子像素位置的估计,而且还提供该估计的不确定性水平。不确定性水平以为了使步骤d)中定义的两个检查通过所需的迭代次数的形式给出。不确定性水平反映了该估计的可靠程度,可靠程度随着不确定性水平的降低而增加。因此,不确定性水平是对子像素位置的估计能被信任的程度的度量。可以在进一步对估计的子像素位置进行处理时使用不确定性水平的信息。更具体地,该方法可以进一步包括:对估计的子像素位置进行处理,其中,与估计的子像素位置相关联的不确定性水平在处理期间被用于对估计的子像素位置或从其计算出的参量进行加权,其中,较高的不确定性水平对应于低于较低的不确定性水平的权重。以这种方式,可以根据其可靠性来对估计的子像素位置或从其计算出的参量进行加权。以这种方式,可以在处理期间减少噪声的影响。
所提出的方法可被用于各种应用,包括根据例如卫星图像或显微镜图像的对象定位。在这样的应用中,被输入到该方法的图像可以由传感器捕获。例如,图像可以是可见光图像、红外图像或热图像。然而,在另一组应用中,图像反而对应于在二维网格上提供的计算的信号值。
这种应用的示例与对象检测有关。在这种应用中,图像信号值可以对应于从对象检测器输出的分数。分数可以反映在图像中的像素位置处存在有对象的概率。通过将所提出的方法应用于具有来自对象检测器的分数的图像,可以以子像素精度来确定对象在图像中的位置。对所确定的子像素位置的处理可以对应于将不确定性水平用作权重来使该位置平滑。
这种应用的另一示例涉及立体照相机。在立体照相机中,第一传感器和第二传感器各自捕获场景的图像,但是从略微不同的视角进行捕获。通过在两个图像中找到匹配特征,可以例如计算场景中的深度,即,至场景中的对象的距离。所提出的方法可被用在对立体图像对中的第一图像和第二图像之间的特征进行匹配的处理中。具体地,它可被用于以子像素精度找到匹配特征的位置以及相关联的不确定性水平。
在立体应用中,被输入到所提出的方法中的图像可以对应于相关图。可以通过对立体图像对的第一图像中一像素的邻域中的像素值与该立体图像对的第二图像中的像素值进行匹配(例如,相关)来生成相关图。因此,相关图对应于第二图像中的像素位置被定义在二维网格上。此外,相关图的信号值指示第一图像中的特定像素的值与第二图像的像素值的匹配程度。因此,当所提出的方法以相关图作为输入时,图像中的极值点的子像素位置对应于第二图像中的给出了与第一图像中的像素的最佳匹配的子像素位置。
因此,该方法对第二图像中的给出了与立体对中的第一图像中的特定像素的最佳匹配的子像素位置以及相关联的不确定性水平进行估计。可以针对立体对的第一图像中的多个像素重复该过程。更具体地,该方法可以进一步包括:针对立体图像对的第一图像中的多个像素中的每一个像素:通过将该像素的邻域中的像素值与第二图像中的像素值进行匹配来生成与该像素相对应的相关图,对与该像素相对应的相关图执行步骤a)至f),以便估计第二图像中给出了与该像素的最佳匹配的子像素位置,第二图像中的该子像素位置与不确定性水平相关联。以这种方式,针对第一图像中的多个像素中的每个像素来估计第二图像中的子像素位置以及相关联的不确定性水平。
多个像素可以对应于第一图像中的所有像素。多个像素可以对应于第一图像中的指定区域。可替代地或另外地,立体图像对的第一图像中的多个像素可以描绘场景中的同一对象。
该方法可以进一步包括对与立体图像对的第一图像中的多个像素相对应的估计的子像素位置进行处理。与估计的子像素位置相关联的不确定性水平可以在处理期间被用作权重,其中根据与较高的不确定性水平相关联的子像素位置计算出的参量被赋予比根据与较低的不确定性水平相关联的子像素位置计算出的参量更低的权重。以这种方式,第一和第二图像之间的不太可靠的匹配可以被赋予比更加可靠的匹配更低的权重。以这种方式,可以减少噪声的影响。
根据子像素位置计算的参量可以包括视差值,视差值被计算为子像素位置与第一图像中的对应像素的位置之间的差。因此,不同的视差值可以根据其可靠性被赋予不同的权重。这最终会减少噪声的影响。例如,处理可以包括计算根据估计的子像素位置而计算的视差值的加权平均值,其中根据与较高的不确定性水平相关联的子像素位置计算的视差值被赋予比根据与较低的不确定性水平相关联的子像素位置计算的视差值更低的权重。例如,这对于使视差图平滑而言可以是有用的。
根据子像素位置计算的参量可以包括深度值,深度值基于子像素位置和第一图像中的对应像素的位置而计算,其中深度值对应于至由第一图像中的像素所描绘的场景中的对象的距离。因此,不同的深度值可以根据其可靠性被赋予不同的权重。这最终会减少噪声的影响。
例如,对与立体图像对的第一图像中的多个像素相对应的估计的子像素位置进行的处理可以包括:针对立体图像对的第一图像中的多个像素中的每一个像素:基于第一图像中的该像素的位置和第二图像中的给出了与该像素的最佳匹配的子像素位置来计算该像素的深度值,并且将深度值和与第二图像中的子像素位置相关联的不确定性水平相关联。以这种方式,计算的深度值可以与不确定性水平相关联,从而提供对深度值的可靠程度的度量。当对深度值进行处理时,可以使用与深度值相关联的不确定性水平。例如,与具有较高的不确定性水平的深度值相比,可以给予具有较低的不确定性水平的深度值更高的权重。
该处理可以进一步包括:计算与立体图像对的第一图像中的多个像素相对应的深度值的加权平均值,其中,根据具有较高的不确定性水平的子像素位置计算的深度值被赋予比根据具有较低的不确定性水平的子像素位置计算的深度值更低的权重。以这种方式,深度值根据其可靠性被加权。以这种方式,减少了噪声对深度值的影响。例如,这可以在计算至图像的指定区域的深度时使用。这对于使深度图平滑的目的而言也可以是有用的。因此,与不太可靠的深度值相比,更加可靠的深度值对最终结果的影响更大。
可以通过将空间滤波器应用于与立体图像对的第一图像中的多个像素相对应的深度值来计算深度值的加权平均值。空间滤波器可以是平滑滤波器,该平滑滤波器使深度值平滑。可以根据不确定性水平来设置空间滤波器的参数。
根据子像素位置计算的参量可以包括三维空间中的点,其中基于子像素位置和第一图像中的对应像素的位置来计算三维空间中的点。因此,三维空间中的不同点可以根据其可靠性被赋予不同的权重。这最终会减少噪声的影响。
在一些应用中,感兴趣的是,基于描绘场景的立体图像对来估计该场景中的三维对象的形状。这可以通过如下来实现:识别描绘立体图像的第一图像中的对象的多个像素;基于与立体图像的第二图像的立体匹配结果来计算与多个像素相对应的、三维空间中的点;并且将对象模板拟合到计算出的三维空间中的点。通过使用所提出的方法,该估计的不确定性水平可以在拟合该对象模板的过程中被用作权重,从而使拟合对噪声不太敏感。更详细地,立体图像对的第一图像中的多个像素可以描绘场景中的同一对象,并且该处理可以进一步包括:
计算与立体图像对的第一图像中的多个像素相对应的、三维空间中的多个点,使用第一图像中的对应像素的位置和第二图像中的给出了与第一图像中的该像素的最佳匹配的子像素位置来计算三维空间中的每个点。
将三维对象模板拟合到三维空间中的多个点,三维对象模板定义与场景中的对象相同类型的对象的轮廓,
其中,在拟合三维对象模板的步骤中,根据具有较高的不确定性水平的子像素位置计算的三维空间中的点被赋予比根据具有较低的不确定性水平的子像素位置计算的三维空间中的点更低的权重。
根据第二方面,通过一种用于在存在噪声的情况下使用参数函数来估计图像中的极值点的子像素位置的设备来实现上述目的,图像中的极值点的类型是最大值或最小值,该设备包括处理器,该处理器被配置为:
a)选择图像中的邻近像素组,其中,邻近像素组中的像素的数量大于用于定义参数函数的参数的数量;
b)将参数函数拟合到邻近像素组的像素值;
c)识别参数函数的极值点的位置,参数函数的极值点的类型是最大值、最小值或鞍点;
d)检查参数函数的极值点是与图像中的极值点的类型相同还是不同、以及参数函数的极值点的位置是位于由图像中的邻近像素组的像素位置定义的区域的内部还是外部,并且
如果参数函数的极值点与图像中的极值点的类型不同,或者参数函数的极值点的位置位于所述区域的外部,则:
从邻近像素组中删除像素,并且
如果邻近像素组中的像素的数量仍大于或等于用于定义参数函数的参数的数量,则重复步骤b)、c)和d);
e)将图像中的极值点的子像素位置估计为参数函数的极值点的位置;以及
f)将估计的子像素位置和与步骤b)、c)和d)的迭代次数相对应的不确定性水平相关联。
根据第三方面,提供一种立体照相机系统,其包括:
第一图像传感器,被配置为捕获立体图像对的第一图像;
第二图像传感器,被配置为捕获立体图像对的第二图像;
根据第二方面的设备;以及
处理器,被配置为:
通过将立体图像对的第一图像中的像素的邻域中的像素值与第二图像中的像素值进行匹配,来根据立体图像对生成相关图,并且
提供相关图作为设备的输入,使得设备在存在噪声的情况下使用参数函数来估计相关图中的极值点的子像素位置。
根据第四方面,提供一种包括计算机代码指令的非暂时性计算机可读介质,计算机代码指令适于在由具有处理能力的设备执行时,执行第一方面的方法。
第二、第三和第四方面通常可以具有与第一方面相同的特征和优点。还应注意,除非另有明确说明,否则本发明涉及这些特征的所有可能组合。本文所公开的任何方法的步骤无需以所公开的确切顺序来执行,除非明确说明。
附图说明
通过以下参考附图对本发明实施例的说明性且非限制性的详细描述,将更好地理解本发明的上述以及其他目的、特征和优点,其中相同的附图标记将被用于相似的元素,其中:
图1示出了根据实施例的用于估计图像中的极值点的子像素位置的设备。
图2示出了根据实施例的立体照相机系统。
图3是根据实施例的用于估计图像中的极值点的子像素位置的方法的流程图。
图4a示出了根据实施例的图像中的邻近像素组。
图4b-d示出了根据实施例的参数函数与图4a中所示的邻近像素组的像素值的拟合。
图5示意性地示出了根据实施例的用于描绘场景中的对象的立体图像对。
具体实施方式
现在将在下文中参考其中示出了本发明的实施例的附图来更充分地描述本发明。然而,本发明可以以许多不同的形式来体现,并且不应被解释为限于本文所阐述的实施例;相反,提供这些实施例是为了全面性和完整性,并且为了将本发明的范围充分地传达给技术人员。将对本文所公开的处于操作期间的系统和设备进行描述。
图1示出了用于估计图像中的极值点的子像素位置的设备100。设备100包括处理器102。该处理器可以是任何已知的类型,例如中央处理单元、微处理器或数字信号处理器等。设备100还包括存储器104。存储器104可以是非暂时性计算机可读介质,例如非易失性存储器。计算机代码指令可以存储在存储器104中。当计算机代码指令被处理器102执行时,使处理器102执行本文所公开的任何方法。具体地,使得处理器102执行用于估计被输入到设备100的图像中的极值点的子像素位置的方法。
图2示出了其中可以使用设备100的系统200。系统200是立体照相机系统200。系统200包括第一图像传感器202、第二图像传感器204、匹配部件206以及图1的用于估计图像中的极值点的子像素位置的设备100。
第一图像传感器202和第二图像传感器204被布置为同时从不同的视角捕获场景的图像。第一传感器202捕获的第一图像203和第二传感器204捕获的第二图像205形成立体图像对。第一图像传感器202和第二图像传感器204可以是任何已知的立体照相机的图像传感器。例如,它们可以是AXIS P8804立体传感器套件的一部分。
第一图像传感器202和第二图像传感器204被可操作地连接到匹配部件206。具体地,第一传感器202和第二传感器204捕获的第一图像203和第二图像205被提供为匹配部件206的输入。匹配部件206包括处理器。该处理器可以是任何已知的类型,例如中央处理单元、微处理器或数字信号处理器等。匹配部件206还可以包括存储器,该存储器可以是非暂时性计算机可读介质,例如非易失性存储器。匹配部件206的存储器可以存储计算机代码指令。当这些计算机代码指令由匹配部件206的处理器执行时,使得该处理器对第一图像203中的像素值与第二图像205中的像素值进行匹配,以便生成并输出相关图207。
匹配部件206被可操作地连接到设备100。具体地,由匹配部件206生成的相关图207被输入到设备100。因此,设备100被布置为估计相关图中的极值点的子像素位置。
匹配部件206可以集成在设备100中。具体地,处理器102和存储器104可以被配置为,既对第一图像203和第二图像205中的像素值进行匹配以生成相关图,随后还对相关图中的极值点的子像素位置进行估计。
下面将参考图1、图4以及图3的流程图来更加详细地解释设备100的操作。
图像被输入到设备100。如将要解释的那样,设备100对图像进行处理以提供对该图像中的极值点的子像素位置的估计以及该估计的不确定性水平。在下文中,假设图像中的极值点是最大值。然而,应当理解,图像中的极值点同样可以是最小值。
在步骤S02中,处理器102选择图像中的一组邻近像素。这在图4a中被进一步示出,图4a示出了图像400和所选择出的邻近像素组402。所示出的邻近像素组402包括3×3个像素,但是应当理解,可以选择更大的邻近像素组,例如5×5个像素或7×7个像素。为了选择邻近像素组402,处理器102可以识别图像400中的一个或多个局部最大值。局部最大值可以被识别为图像400中的具有比每个邻近像素的像素值更大的像素值的像素。这样的局部最大值被示出在图4a的右侧部分中,其示出了像素402a具有超过其8个邻居的像素值的像素值403a。可以将邻近像素组402选择为包括被识别为局部最大值的像素。例如,可以选择邻近像素组402使得该组的中心像素对应于被识别为局部最大值的像素402a。在所示示例中,3×3像素邻域402的中心像素对应于被识别为局部最大值的像素402a,而其他的8个像素对应于被识别为局部最大值的像素402a的8个邻居。在该示例中,邻近像素组402的中心值最大。假设邻近像素组402中的像素值403是从图像中的峰值测量出的,并且该真实峰值的坐标在空间上位于这些测量值之间(例如,在邻近像素组402内的子像素位置处)。对于以下描述,在不失一般性的情况下,假设组402的中心像素位于(0,0)并且其他的位置位于一的范围内。但是,应当理解,其他假设也是可行的。因此,邻近像素组402中的像素位置被假设为:
(-1,-1) | (0,-1) | (1,-1) |
(-1,0) | (0,0) | (1,0) |
(-1,1) | (0,1) | (1,1) |
邻近像素组402中的像素位置定义一区域407。区域407跨越该组中的各像素的像素位置。换言之,区域407包括落在邻近像素组402的像素位置之间的所有空间位置。因此,在这种情况下,区域407包括所有的空间位置(x,y),其中|x|<1且|y|<1。
此外,在以下的描述中,与组402中的像素位置相对应的像素值403由下述表示:
Z<sub>1</sub> | Z<sub>2</sub> | Z<sub>3</sub> |
Z<sub>4</sub> | Z<sub>5</sub> | Z<sub>6</sub> |
z<sub>7</sub> | Z<sub>8</sub> | Z<sub>9</sub> |
在识别出多于一个局部最大值的情况下,邻近像素组402可以被选择为包括被识别为全局最大值(即,在图像中具有最大像素值)的像素。可替代地或另外地,可以选择几个邻近像素组,每个组对应于识别出的一个局部最大值。然后可以针对每个选择出的邻近像素组来独立地重复下面所描述的步骤。
如果图像中的极值点反而是最小值,则处理器102可以改为识别图像400中的一个或多个局部最小值,并将邻近像素组选择为包括被识别为局部最小值的像素。局部最小值可以被识别为图像中的具有比每个邻近像素的像素值更低的像素值的像素。
在步骤S04中,处理器102将参数函数拟合到邻近像素组402的像素值403。该拟合包括将参数函数的参数估计为使得所得到的参数函数将邻近像素组402的像素值403尽可能地(例如,在最小二乘意义上)近似为空间位置的函数。图4b示出了参数函数404,该参数函数404已被拟合到邻近像素组402的像素值403。参数函数可以是二维二次函数,但是也可以使用其他的参数函数。可以使用6个参数A、B、C、D、E、F将这样的函数写为以下的参数形式:
f(x,y)=Ax2+By2+Cxy+Dx+Ey+F
由于二维二次函数由6个参数描述,因此可以将其拟合到邻近像素组402的像素值403,只要在邻近像素组402中至少存在有6个像素即可。
处理器102可以通过求解用未知参数和邻近像素组402的像素值403表示的方程组,来估计参数函数的参数。例如,使用3×3邻近像素组402的所有9个可用样本(z1,z2,z3,z4,z5,z6,z7,z8,z9),并将其插入到二维二次函数的上述表达式中,可以用公式表示以下的9个方程的组:
A+B+C-D-E+F=z1
B-E+F=z2
A+B-C+D-E+F=z3
A-D+F=z4
F=z5
A+D+F=z6
A+B-C-D+E+F=z7
B+E+F=z8
A+B+C+D+E+F=Z9
由于存在比未知量更多的方程,因此该方程组是超定的。为了找到解,可以使用最小二乘法。这包括使邻近像素组402的像素值403与在邻近像素组402的各像素的位置处估计的参数函数404之间的平方差的和最小化。换言之,可以通过使以下的最小二乘目标被最小化来找到最小二乘意义上的解:
Θ(A,B,C,D,E,F)=A+B+C-D-E+F-z1)2
+(B-E+F-z2)2
+(A+B-C+D-E+F-z3)2
+(A-D+F-z4)2
+(F-z5)2
+(A+D+F-z6)2
+(A+B-C-D+E+F-z7)2
+(B+E+F-z8)2
+(A+B+C+D+E+F-z9)2
因此,求解方程组以找到参数包括:形成邻近像素组402的像素值(z1,z2,z3,z4,z5,z6,z7,z8,z9)的线性组合。优选地,预先计算该线性组合的系数并将其存储在设备100中,例如存储在存储器104中。
在拟合了参数函数404之后,处理器102前进到识别参数函数404的极值点406的空间位置405b(在图4b中由“X”表示)。参数函数404的极值点是指偏导数和等于零的点。换言之,极值点是指参数函数404的驻点。在参数函数404是上述的二维二次函数的情况下,其极值点的空间位置(x*,y*)等于:
众所周知,两个变量的函数的驻点可以是最大值、最小值或鞍点。如果该方法旨在估计最大值的子像素位置,则期望拟合的参数函数的极值点也是最大值。类似地,如果该方法反而旨在估计最小值的子像素位置,则期望拟合的参数函数的极值点是最小值。因此,在步骤S08a中,处理器102检查参数函数404的极值点406是否与图像400中的极值点的类型相同。换言之,如果处理器102旨在估计图像400中的最大值的子像素位置,则处理器102在步骤S08a中检查参数函数404的极值点406的空间位置405是否是最大值。该检查在本文中被称为最大值检查。
找到函数的最大值是在导数为零处且当fxx<0且fyy<0时。在这里,对于该二维二次函数,fxx=2A、fxx=2B且fxy=C。因此,对于该二维二次函数,处理器102可以通过检查以下的条件来检查极值点406是否为最大值:
4AB-C2>0
2A<0
2B<0
4AB-C2<0
2A>0
2B>0
在图4b的示例中,处理器102发现极值点406是最大值,因此与图像400中的极值点的类型相同。在参数函数404可能具有若干个局部极值点的情况下,处理器还可以检查极值点406是否是参数函数的与图像中的极值点相同类型的单个全局极值点。
在步骤S08b中,处理器102还检查参数函数404的极值点406的空间位置405b是位于由图像400中的邻近像素组402的各像素位置定义的区域407的内部还是外部。该检查在本文中被称为定位检查。应当理解,步骤S08a和S08b可以以任何顺序来执行。如上所述,针对邻近像素组402而使用范围[-1,1]内的坐标系,因此处理器102可以检查是否满足该条件|x*|<1、|y*|<1。
如果步骤S08a的最大值检查和步骤S08b的定位检查都通过(即,如果参数函数404的极值点406与图像400中的极值点的类型相同,并且参数函数404的极值点406的空间位置405b位于区域407的内部),则处理器102前进到步骤S10。
然而,如果步骤S08a的最大值检查和步骤S08b的定位检查中的任意一个失败(即,如果参数函数404的极值点406与图像400中的极值点的类型不同,和/或参数函数404的极值点406的空间位置405b位于区域407的外部),则处理器102反而前进到步骤S08c。这是图4b的示例中的情况,因为极值点406的空间位置405b位于区域407的外部,因此定位检查失败。在发现参数函数404的极值点406不是单个全局最大值(或最小值)的情况下,处理器102也可以前进到步骤S08c。
在步骤S08c中,处理器102从邻近像素组中删除像素。该删除背后的想法是将异常值删除,并做出拟合参数函数的新的尝试。有许多方法可以识别出具有异常值的像素。例如,处理器102可以删除具有从根据邻近像素组的像素值而形成的平均值偏离最大的像素值的像素。当形成平均值时,可以省略邻近像素组402的中心处的像素值z5。更具体地,将长度K=8的数组k=[1,2,3,4,6,7,8,9]视为像素值z的可能索引以从中删除异常值。从下述找到的k*(i)将是从邻近像素组402中删除的像素。
如果将其应用于图4b的示例,则处理器将到达k*(i)=4并因此将前进到删除与图4b中具有标记403b的像素值相对应的像素值z4。处理器102还可以通过从数组中删除索引k*(i)来更新该数组以供下一次迭代。因此,在k*(i)=4的情况下,新的数组将是长度K=7的k=[1,2,3,6,7,8,9]。
在步骤S08c中,处理器102随后检查邻近像素组402中的剩余像素的数量是否仍大于或等于用于定义参数函数404的参数的数量。
如果不满足该条件,则该方法终止,因为无法拟合参数函数。在这种情况下,该方法可以输出邻近像素组400的中心像素的坐标作为对极值点的子像素位置的估计,即该示例中的坐标(0,0)。然后可以将估计的子像素位置的相关联的不确定性水平设置为与步骤S04、S06、S08a-d的迭代次数加1相对应。
然而,如果满足该条件,则处理器102前进到重复上述的步骤S04、S06和S08a-d。
在图4b的示例中,删除像素403c后剩余像素的数量等于8。因此可以拟合具有6个参数的二维二次函数。因此,处理器102前进到第二次重复步骤S08a-d,尽管这时已删除了像素值403b。这意味着将删除方程组中的一个方程,该方程包括zk*(i)。例如,在k*(i)=4的情况下,要最小化的最小二乘目标现在变为:
Θ(A,B,C,D,E,F)=(A+B+C-D-E+F-z1)2
+(B-E+F-z2)2
+(A+B-C+D-E+F-z3)2
+(F-z5)2
+(A+D+F-z6)2
+(A+B-C-D+E+F-z7)2
+(B+E+F-z8)2
+(A+B+C+D+E+F-z9)2
同样,可以用与先前所述相同的方法来明确地求解该方程组。该阶段,在删除了一个像素的情况下,邻近像素组402中剩余8个像素。因此,存在个可能的要求解的方程组,这取决于删除了哪个像素。优选地将这8个可能的方程组中的每一个的解预先存储在设备100中。
参数函数404的第二次拟合的结果在图4c中示出。从该图中可以明显看出,参数函数404具有为最小值的极值点。因此,步骤S08a的最大值检查失败,并且处理器102将再次前进到步骤S08c,以如上述那样从邻近像素组402中删除像素。这次,从该组中删除具有与图4c中的附图标记403c相对应的像素值z6的像素。在删除之后,邻近像素组中剩余7个像素。由于该组中剩余的像素的数量仍大于参数函数的参数的数量,符合步骤S08d的条件。因此,处理器102再次前进到步骤S04,并且通过求解方程组来使参数函数第三次拟合到邻近像素组402的像素值。该阶段,在删除了两个像素的情况下,存在个要求解的可能方程组,这取决于删除了哪些像素。同样,优选地将这28个方程组的解预先存储在设备100中。如果该方法要删除另一个像素,则在下一拟合阶段中将会存在个可能的方程组,优选地将它们的解预先存储在设备100中。因此,在该示例中,设备100优选地预先存储对1+8+28+56=93个方程组的解。
参数函数404的第三次拟合的结果在图4d中示出。这次,极值点406是最大值,即,它与图像400中的极值点的类型相同。此外,参数函数404的极值点406的空间位置405d位于区域407内部。因此,步骤S08a的最大值检查和步骤S08b的定位检查都通过。结果,处理器102前进到步骤S10。
在步骤S10中,处理器102将图像400中的极值点的子像素位置估计为来自最后一次迭代的参数函数404的空间位置405d。进一步地,在步骤S12中,处理器102将估计的子像素位置和与步骤S04、S06和S08a-b的迭代次数相对应的不确定性水平相关联。因此,在图4a-d的示例中,与估计的子像素位置相关联的不确定性水平将等于3,因为在找到估计的子像素位置之前需要3次迭代。
估计的子像素位置以及估计的子像素位置的相关联的不确定性水平可以是显示设备100的输出。然而,通常,估计的子像素位置和相关联的不确定性水平可以存储在设备的存储器中以供进一步处理。对估计的子像素位置的处理可以根据手头的应用而变化。然而,对于各种应用来说常见的是,处理器102可以将与该估计相关联的不确定性水平用作处理期间的权重。具体地,较高的不确定性水平可以对应于低于较低的不确定性水平的权重。
上述方法的特定应用是立体图像。具体地,如上面结合图2所解释的,设备100可被用在立体照相机系统200中以对相关图中的极值点的子像素位置进行估计。现在将参考图2和图5更详细地解释系统200的操作。
第一图像传感器202捕获第一图像203,并且第二图像传感器204捕获第二图像205。第一图像203和第二图像205形成立体图像对。立体图像203、205对被输入到匹配部件206。匹配部件206对第一图像203中的像素值与第二图像205中的像素值进行匹配。可以使用任何已知的局部立体匹配算法来进行匹配,诸如使用平方差之和、绝对差之和或归一化交叉相关的算法。这些算法的共同之处在于它们对第一图像203中的一部分与第二图像205中的不同部分进行比较,并且确定第一图像203的该部分与第二图像205的该不同部分的相似程度。第一图像203中的该部分可以是第一图像203中的一像素的邻域。第二图像205中的该部分可以是第二图像205中的不同像素的邻域。第二图像205中的不同像素可以包括第二图像205中的所有像素或第二图像205中的像素的子集。这里,一像素的邻域是指图像中的该像素自身以及该像素周围的一个或多个像素。匹配部件206可以将匹配的结果存储在相关图207中。因此,相关图207包括相关值,该相关值指明第二图像205中的每个部分与第一图像203中的特定部分的匹配程度。具体地,相关图207可以包括针对第二图像205中的每个像素或像素的子集的相关值。每个相关值指示第二图像205中的该像素的邻域与第一图像203中的特定像素的邻域的匹配程度。
匹配部件206可以针对第一图像203中的一个或多个像素502a、502b、502c、502d生成这样的相关图207。第一图像203中的一个或多个像素502a、502b、502c、502d可以对应于第一图像203中的指定区域。例如,第一图像203中的一个或多个像素502a、502b、502c、502d可以是第一图像203中的邻近像素组。在一些应用中,第一图像203中的一个或多个像素502a、502b、502c、502d可以描绘场景中的同一对象。这是图5的示例中的情况。在图5中,第一图像203和第二图像205描绘了场景中的对象500,这里是汽车的形式。在这里,第一图像203中的一个或多个像素502a、502b、502c、502d各自对该汽车进行描绘。匹配部件206可以针对如上所述对对象500进行描绘的一个或多个像素502a、502b、502c、502d中的每一个像素来生成相关图207。因此,一个或多个像素502a、502b、502c、502d中的每一个像素与相应的相关图207相关联。
与第一图像203中的一个或多个像素502a、502b、502c、502d中的每一个像素相对应的相关图207可以被提供为设备100的输入。因此,结合图4a所描述的图像400在这种情况下将是相关图207。设备100根据关于图3所描述的方法来对每个相关图207进行处理。因此,设备100估计每个相关图207中的最大值的子像素位置以及估计的子像素位置的不确定性水平。换言之,设备100针对第一图像203中的一个或多个像素中的每一个像素,估计第二图像205中的给出了与该像素的最佳匹配的子像素位置。转到图5的示例,针对一个或多个像素502a、502b、502c、502d中的每一个像素估计子像素位置504a、504b、504c、504d。在该示例中,子像素位置504a、504b、504c、504d的相关联的不确定性水平分别被假设为1、3、2、1。
然后,设备100的处理器102可以前进到对与一个或多个像素502a、502b、502c、502d相对应的估计的子像素位置504a、504b、504c、504d进行处理。在处理期间,处理器102可以使用与子像素位置504a、504b、504c、504d相关联的不确定性水平,来对子像素位置或根据该子像素位置计算出的任何参量进行加权。处理器102将对更确定的估计赋予比不太确定的估计更高的权重。在图5的示例中,子像素位置504a和504d(不确定性水平=1)或从其导出的任何参量将被赋予比子像素位置504c(不确定性水平=2)或从其导出的任何参量更高的权重。接着,子像素位置504c或从其导出的任何参量将被赋予比子像素位置504d(不确定性水平=3)或从其导出的任何参量更高的权重。
根据示例,从估计的子像素位置504a、504b、504c、504d导出的参量是视差值。更具体地,处理器102可以针对一个或多个像素502a、502b、502c、502d中的每一个子像素计算视差值。视差值被计算为第一图像203中的像素502a、502b、504c、504d中的一个像素的位置与第二图像205中的对应子像素位置504a、504b、504c、504d之间的差。每个视差值可以与在计算该视差值时所使用的子像素位置的不确定性水平相关联。然后,处理器102可以使计算的视差值平滑。这可以包括计算视差值的加权平均值。当计算加权平均值时,与较高不确定性水平相关联的视差值被赋予比与较低不确定性水平相关联的视差值更低的权重。
根据示例,从估计的子像素位置504a、504b、504c、504d导出的参量是深度值。更详细地,处理器102可以针对一个或多个像素502a、502b、502c、502d中的每一个像素计算深度值。如本领域中已知的,当已知图像传感器之间的距离以及焦距时,可以根据两个立体图像之间的点对应性来计算深度值。更详细地,深度可以被计算为焦距和传感器间的距离的乘积除以视差。处理器102可以将每个深度值与在计算该深度值时所使用的子像素位置的不确定性水平相关联。处理器120可以使计算的深度值平滑。这可以包括计算深度值的加权平均值。当计算加权平均值时,与较高不确定性水平相关联的深度值被赋予比与较低不确定性水平相关联的深度值更低的权重。
当一个或多个像素502a、502b、502c、502d对应于第一图像203的所有像素时,计算的深度值可被认为是用于形成深度图。可以使用空间滤波器来使该深度图平滑。空间滤波器的系数对应于上述权重,并且可以使用与深度值相关联的不确定性水平来进行设置。
当一个或多个像素502a、502b、502c、502d对应于第一图像203的指定区域时,可以计算该指定区域的深度的加权区域。
根据示例,从估计的子像素位置504a、504b、504c、504d导出的参量是三维空间中的点。更具体地,处理器102可以使用第一图像203中的一个或多个像素502a、502b、502c、502d以及第二图像205中的对应子像素位置504a、504b、504c、504d来计算三维空间中的与一个或多个像素502a、502b、502c、502d相对应的点506a、506b、506c、506d。如本领域中已知的,可以根据像素的位置和深度值来计算三维空间中的与第一图像203中的该像素相对应的点的坐标。处理器102可以进一步将计算出的点506a、506b、506c、506d中的每一个与计算该点的坐标时所使用的子像素位置的不确定性水平相关联。如果一个或多个像素502a、502b、502c、502d描绘同一对象500,则计算出的点506a、506b、506c、506d将是对场景中的对象500上的点的估计。
处理器102可以对点506a、506b、506c、506d进行处理。在处理期间,处理器102可以使用点506a、506b、506c、506d的相关联的不确定性水平来对该点进行加权。具有较高不确定性水平的点将被赋予比具有较低不确定性水平的点更低的权重。如图5所示,对点506a、506b、506c、506d的处理可以包括将对象模板508拟合到点506a、506b、506c、506d。对象模板508定义与场景中的真实对象500相同类型的对象的轮廓。在这种情况下,对象模板508定义汽车的轮廓。然而,在其他应用中,对象模板508可以是几何平面、人或任何其他种类的对象。当拟合对象模板508时,处理器102可以给予点506a、506b、506c、506d不同的权重。权重可以取决于与点506a、506b、506c、506d相关联的不确定性水平进行设置,使得较高不确定性水平导致较低的权重,反之亦然。例如,可以使用加权的最小二乘法将对象模板508拟合到点506a、506b、506c、506d,其中使点506a、506b、506c、506d与对象模板508之间的平方距离的加权和最小化。可以对该和中的项进行加权,使得与具有较高不确定性水平的点相对应的项被赋予比与具有较低不确定性水平的点相对应的项更低的权重。
可以理解的是,本领域技术人员可以以多种方式对上述实施例进行修改,而仍可以利用如上述实施例所示的本发明的优点。因此,本发明不应限于所示出的实施例,而应仅由所附权利要求来限定。另外,如本领域技术人员所理解的,所示出的实施例可以被组合。
Claims (15)
1.一种在设备(100)中执行的用于在存在噪声的情况下使用参数函数(404)来估计图像(400)中的极值点的子像素位置的方法,所述图像(400)中的所述极值点的类型是最大值或最小值,所述方法包括:
a)选择(S02)所述图像(400)中的邻近像素组(402),其中所述邻近像素组(402)中的像素的数量大于用于定义所述参数函数(404)的参数的数量;
b)将所述参数函数(404)拟合(S04)到所述邻近像素组(402)的像素值(403),其中,所述参数函数(404)将所述邻近像素组(402)的所述像素值(403)近似为空间位置的函数;
c)识别(S06)所述参数函数(404)的极值点(406)的空间位置(405b、405d),所述参数函数(404)的所述极值点(406)的类型是最大值、最小值或鞍点;
d)检查(S08a、S08b)所述参数函数(404)的所述极值点(406)与所述图像(400)中的所述极值点的类型相同还是不同、以及所述参数函数(404)的所述极值点的所述位置(405b、405d)是位于由所述图像(400)中的所述邻近像素组(402)的像素位置所定义的区域(407)的内部还是外部,并且
如果所述参数函数(404)的所述极值点(406)与所述图像(400)中的所述极值点的类型不同,或者所述参数函数(404)的所述极值点(406)的所述位置(405b、405d)位于所述区域(407)的外部,则:
从所述邻近像素组(402)中删除(S08c)像素,并且
如果所述邻近像素组(402)中的像素的数量仍大于或等于用于定义所述参数函数(404)的参数的数量,则重复步骤b)、c)和d);
e)将所述图像(400)中的所述极值点的所述子像素位置估计(S10)为所述参数函数(404)的所述极值点(406)的所述空间位置(405d);以及
f)将估计的子像素位置和与步骤b)、c)和d)的迭代次数相对应的不确定性水平相关联(S12)。
2.根据权利要求1所述的方法,其中,
如果所述图像(400)中的所述极值点是最大值,则将所述邻近像素组(402)选择为包括所述图像(400)中的具有比所述图像(400)中的每个邻近像素的像素值更高的像素值(403a)的像素(402a),并且
如果所述图像(400)中的所述极值点是最小值,则将所述邻近像素组(402)选择为包括所述图像(400)中的具有比所述图像中的每个邻近像素的像素值更低的像素值的像素。
3.根据权利要求1所述的方法,其中,
步骤b)包括求解方程组以找出用于定义所述参数函数(404)的参数,其中求解方程组包括形成所述邻近像素组(402)的像素值(403)的线性组合,以找出用于定义所述参数函数(404)的参数,其中所述线性组合的系数被预先存储在所述设备(100)中。
4.根据权利要求1所述的方法,进一步包括:
对估计的子像素位置进行处理,其中与所述估计的子像素位置相关联的不确定性水平在处理期间被用于对所述估计的子像素位置进行加权,其中较高的不确定性水平对应于低于较低的不确定性水平的权重。
5.根据权利要求1所述的方法,其中,
所述图像(400)对应于通过对立体图像对的第一图像(203)中的像素的邻域中的像素值与所述立体图像对的第二图像(205)中的像素值进行匹配而生成的相关图(207),使得所述图像中的所述极值点的估计的子像素位置与所述第二图像(205)中的给出与所述第一图像(203)中的像素(502a、502b、502c、502d)的最佳匹配的子像素位置(504a、504b、504c、504d)相对应。
6.根据权利要求5所述的方法,进一步包括:针对所述立体图像对的所述第一图像(203)中的多个像素(502a、502b、502c、502d)中的每一个:
通过对该像素的邻域中的像素值与所述第二图像(205)中的像素值进行匹配来生成与该像素(502a、502b、502c、502d)相对应的相关图(207),
针对与该像素(502a、502b、502c、502d)相对应的所述相关图(207)来执行步骤a)至f),以便估计所述第二图像(205)中的给出了与该像素(502a、502b、502c、502d)的最佳匹配的子像素位置(504a、504b、504c、504d),所述第二图像(205)中的该子像素位置(504a、504b、504c、504d)与不确定性水平相关联。
7.根据权利要求6所述的方法,进一步包括:
对与所述立体图像对的所述第一图像(203)中的多个像素(502a、502b、502c、502d)相对应的估计的子像素位置(504a、504b、504c、504d)进行处理,其中,与所述估计的子像素位置(504a、504b、504c、504d)相关联的不确定性水平在处理期间被用作权重,其中,根据与较高不确定性水平相关联的子像素位置计算的参量被赋予比根据与较低不确定性水平相关联的子像素位置计算的参量更低的权重。
8.根据权利要求7所述的方法,其中,
根据子像素位置(504a、504b、504c、504d)计算的所述参量包括视差值,所述视差值被计算为该子像素位置(504a、504b、504c、504d)与所述第一图像中的对应像素(502a、502b、502c、502d)的位置之间的差。
9.根据权利要求7所述的方法,其中,
根据子像素位置(504a、504b、504c、504d)计算出的所述参量包括深度值,所述深度值基于该子像素位置(504a、504b、504c、504d)和所述第一图像中的对应像素(502a、502b、502c、502d)的位置而计算,其中所述深度值对应于至由所述第一图像中的该像素所描绘的场景中的对象的距离。
10.根据权利要求9所述的方法,其中,所述处理进一步包括:
计算与所述立体图像对的所述第一图像中的所述多个像素(502a、502b、502c、502d)相对应的深度值的加权平均值,其中,根据具有较高不确定性水平的子像素位置(504a、504b、504c、504d)计算的深度值被赋予比根据具有较低不确定性水平的子像素位置(504a、504b、504c、504d)计算的深度值更低的权重。
11.根据权利要求8所述的方法,其中,
根据子像素位置(504a、504b、504c、504d)计算的所述参量包括三维空间中的点(506a、506b、506c、506d),其中,所述三维空间中的所述点(506a、506b、506c、506d)基于该子像素位置(504a、504b、504c、504d)和所述第一图像中的对应像素(502a、502b、502c、502d)的位置来计算。
12.根据权利要求11所述的方法,其中,所述立体图像对的所述第一图像中的所述多个像素(502a、502b、502c、502d)描绘场景中的同一对象500,所述处理进一步包括:
计算与所述立体图像对的所述第一图像中的所述多个像素(502a、502b、502c、502d)相对应的三维空间中的多个点(506a、506b、506c、506d),三维空间中的每个点(506a、506b、506c、506d)使用所述第一图像中的对应像素(502a、502b、502c、502d)的位置和所述第二图像中的给出了与所述第一图像中的该像素的最佳匹配的子像素位置(504a、504b、504c、504d)来计算,
将三维对象模板(508)拟合到三维空间中的所述多个点(506a、506b、506c、506d),所述三维对象模板定义与所述场景中的所述对象相同类型的对象的轮廓,
其中,在拟合所述三维对象模板(508)的步骤中,根据具有较高不确定性水平的子像素位置(504a、504b、504c、504d)计算的三维空间中的点(506a、506b、506c、506d)被赋予比根据具有较低不确定性水平的子像素位置(504a、504b、504c、504d)计算的三维空间中的点(506a、506b、506c、506d)更低的权重。
13.一种用于在存在噪声的情况下使用参数函数(404)来估计图像(400)中的极值点的子像素位置的设备(100),所述图像(400)中的所述极值点的类型是最大值或最小值,所述设备(100)包括处理器(102),所述处理器(102)被配置为:
a)选择所述图像(400)中的邻近像素组(402),其中,所述邻近像素组(402)中的像素的数量大于用于定义所述参数函数(404)的参数的数量;
b)将所述参数函数(404)拟合到所述邻近像素组(402)的像素值(403);
c)识别所述参数函数(404)的极值点(406)的位置(405b、405d),所述参数函数(404)的极值点的类型是最大值、最小值或鞍点;
d)检查所述参数函数(404)的所述极值点(406)与所述图像(400)中的所述极值点的类型相同还是不同、以及所述参数函数(404)的所述极值点的位置(405b、405d)是位于由所述图像(400)中的所述邻近像素组(402)的像素位置所定义的区域(407)的内部还是外部,并且
如果所述参数函数的所述极值点(406)与所述图像(400)中的所述极值点的类型不同,或者所述参数函数(404)的所述极值点(406)的位置(405b、405d)位于所述区域(407)的外部,则:
从所述邻近像素组(402)中删除像素,并且
如果所述邻近像素组(402)中的像素的数量仍大于或等于用于定义所述参数函数(404)的参数的数量,则重复步骤b)、c)和d);
e)将所述图像(400)中的所述极值点的子像素位置估计为所述参数函数(404)的所述极值点(406)的位置(405d),并且
f)将估计的子像素位置和与步骤b)、c)和d)的迭代次数相对应的不确定性水平相关联。
14.一种立体照相机系统(200),包括:
第一图像传感器(202),被配置为捕获立体图像对的第一图像(203);
第二图像传感器(205),被配置为捕获所述立体图像对的第二图像(205);
根据权利要求13所述的设备(100);以及
处理器,被配置为:
通过对所述立体图像对的所述第一图像(203)中的像素的邻域中的像素值与所述第二图像(205)中的像素值进行匹配,从所述立体图像对生成相关图(207),并且
将所述相关图(207)提供为所述设备(100)的输入,使得所述设备(100)在存在噪声的情况下使用参数函数来估计所述相关图(207)中的极值点的子像素位置。
15.一种包括计算机代码指令的非暂时性计算机可读介质(104),所述计算机代码指令适于在由具有处理能力的设备(100)执行时,执行权利要求1所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18177169.2 | 2018-06-12 | ||
EP18177169.2A EP3582182B1 (en) | 2018-06-12 | 2018-06-12 | A method, a device, and a system for estimating a sub-pixel position of an extreme point in an image |
Publications (3)
Publication Number | Publication Date |
---|---|
CN110598689A CN110598689A (zh) | 2019-12-20 |
CN110598689B true CN110598689B (zh) | 2021-04-02 |
CN110598689B9 CN110598689B9 (zh) | 2021-09-03 |
Family
ID=62683121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910491171.1A Active CN110598689B9 (zh) | 2018-06-12 | 2019-06-06 | 用于估计图像中极值点的子像素位置的方法、设备和系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10783662B2 (zh) |
EP (1) | EP3582182B1 (zh) |
JP (1) | JP6876094B2 (zh) |
KR (1) | KR102172912B1 (zh) |
CN (1) | CN110598689B9 (zh) |
TW (1) | TWI786293B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11024001B2 (en) * | 2018-12-16 | 2021-06-01 | Sadiki Pili Fleming-Mwanyoha | System and methods for attaining optimal precision stereoscopic direction and ranging through air and across refractive boundaries using minimum variance sub-pixel registration |
US11948318B1 (en) * | 2018-12-16 | 2024-04-02 | Sadiki Pili Fleming-Mwanyoha | System and methods for optimal precision positioning using minimum variance sub-sample offset estimation |
CN112381796B (zh) * | 2020-11-16 | 2021-08-03 | 广东电网有限责任公司肇庆供电局 | 一种基于红外数据的导线缺陷识别及检测方法 |
KR102532965B1 (ko) * | 2020-12-18 | 2023-05-16 | 주식회사 더코더 | 이미지 상에 망점 삽입 방법 및 이를 실행하는 시스템 |
CN113408109B (zh) * | 2021-05-31 | 2022-05-27 | 中国地质大学(武汉) | 一种面向多点地质统计随机模拟过程的混合并行方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1991020054A1 (en) * | 1990-06-14 | 1991-12-26 | Imaging Technology, Inc. | Patterned part inspection |
EP0987873A2 (en) * | 1998-09-15 | 2000-03-22 | Hewlett-Packard Company | Navigation system for handheld scanner |
CN104869387A (zh) * | 2015-04-19 | 2015-08-26 | 中国传媒大学 | 基于光流法的双目图像最大视差获取方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4945351A (en) * | 1988-05-23 | 1990-07-31 | Hewlett-Packard Company | Technique for optimizing grayscale character displays |
JPH05120436A (ja) * | 1991-10-25 | 1993-05-18 | Yaskawa Electric Corp | テンプレートマツチング方法 |
US6208769B1 (en) | 1998-05-28 | 2001-03-27 | Acuity Imaging, Llc | Method of accurately locating the fractional position of a template match point |
US6912293B1 (en) * | 1998-06-26 | 2005-06-28 | Carl P. Korobkin | Photogrammetry engine for model construction |
US6504546B1 (en) * | 2000-02-08 | 2003-01-07 | At&T Corp. | Method of modeling objects to synthesize three-dimensional, photo-realistic animations |
US7072523B2 (en) * | 2000-09-01 | 2006-07-04 | Lenovo (Singapore) Pte. Ltd. | System and method for fingerprint image enhancement using partitioned least-squared filters |
DE10047211B4 (de) | 2000-09-23 | 2007-03-22 | Leica Microsystems Semiconductor Gmbh | Verfahren und Vorrichtung zur Positionsbestimmung einer Kante eines Strukturelementes auf einem Substrat |
US7162073B1 (en) | 2001-11-30 | 2007-01-09 | Cognex Technology And Investment Corporation | Methods and apparatuses for detecting classifying and measuring spot defects in an image of an object |
US20040217956A1 (en) * | 2002-02-28 | 2004-11-04 | Paul Besl | Method and system for processing, compressing, streaming, and interactive rendering of 3D color image data |
US7787655B1 (en) * | 2003-02-27 | 2010-08-31 | Adobe Systems Incorporated | Sub-pixel image registration |
US7030887B2 (en) * | 2003-09-12 | 2006-04-18 | Microsoft Corporation | Methods and systems for transparent depth sorting |
US7088368B1 (en) * | 2003-11-12 | 2006-08-08 | Microsoft Corporation | Methods and systems for rendering computer graphics |
CN101103376A (zh) * | 2005-01-07 | 2008-01-09 | 皇家飞利浦电子股份有限公司 | 用于检测图形对象的方法和电子设备 |
JP2007323440A (ja) * | 2006-06-01 | 2007-12-13 | Sharp Corp | 画像処理方法、画像処理プログラム、画像処理プログラムが記録された記録媒体および画像処理装置 |
US7844087B2 (en) * | 2006-12-19 | 2010-11-30 | Carestream Health, Inc. | Method for segmentation of lesions |
US20080240588A1 (en) * | 2007-03-29 | 2008-10-02 | Mikhail Tsoupko-Sitnikov | Image processing method and image processing apparatus |
JP2009282635A (ja) * | 2008-05-20 | 2009-12-03 | Konica Minolta Holdings Inc | サブピクセル推定装置およびサブピクセル推定方法 |
JP4181210B1 (ja) | 2008-06-11 | 2008-11-12 | 株式会社ファースト | サブピクセルテンプレートマッチング方法、当該方法を実現するコンピュータプログラムおよび当該プログラム格納媒体 |
US8625932B2 (en) * | 2008-08-28 | 2014-01-07 | Adobe Systems Incorporated | Seam carving using seam energy re-computation in seam neighborhood |
US8433782B2 (en) * | 2010-04-06 | 2013-04-30 | Oracle International Corporation | Simplifying determination of dependencies among SOA services |
US8406506B2 (en) * | 2010-05-18 | 2013-03-26 | Honda Motor Co., Ltd. | Fast sub-pixel optical flow estimation |
WO2012153262A1 (en) * | 2011-05-12 | 2012-11-15 | Koninklijke Philips Electronics N.V. | List mode dynamic image reconstruction |
TWI596573B (zh) * | 2013-04-25 | 2017-08-21 | 財團法人工業技術研究院 | 影像處理裝置及其影像雜訊抑制方法 |
US9189864B2 (en) | 2013-10-17 | 2015-11-17 | Honeywell International Inc. | Apparatus and method for characterizing texture |
JP6543935B2 (ja) * | 2014-02-28 | 2019-07-17 | 株式会社リコー | 視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法、およびプログラム |
JP2017084975A (ja) * | 2015-10-28 | 2017-05-18 | オムロン株式会社 | 位置検出装置、位置検出方法、情報処理プログラム、および記録媒体 |
-
2018
- 2018-06-12 EP EP18177169.2A patent/EP3582182B1/en active Active
-
2019
- 2019-05-15 KR KR1020190056928A patent/KR102172912B1/ko active IP Right Grant
- 2019-05-22 TW TW108117592A patent/TWI786293B/zh active
- 2019-05-28 JP JP2019099155A patent/JP6876094B2/ja active Active
- 2019-06-06 CN CN201910491171.1A patent/CN110598689B9/zh active Active
- 2019-06-11 US US16/437,513 patent/US10783662B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1991020054A1 (en) * | 1990-06-14 | 1991-12-26 | Imaging Technology, Inc. | Patterned part inspection |
EP0987873A2 (en) * | 1998-09-15 | 2000-03-22 | Hewlett-Packard Company | Navigation system for handheld scanner |
CN104869387A (zh) * | 2015-04-19 | 2015-08-26 | 中国传媒大学 | 基于光流法的双目图像最大视差获取方法 |
Non-Patent Citations (1)
Title |
---|
A stereo-vision hazard-detection algorithm to increase planetary lander autonomy;Woicke Svenja等;《Acta Astronautica》;20160126;第122卷;第42-62页 * |
Also Published As
Publication number | Publication date |
---|---|
KR102172912B1 (ko) | 2020-11-03 |
TW202013313A (zh) | 2020-04-01 |
JP2020024673A (ja) | 2020-02-13 |
EP3582182B1 (en) | 2020-07-29 |
EP3582182A1 (en) | 2019-12-18 |
KR20190140828A (ko) | 2019-12-20 |
TWI786293B (zh) | 2022-12-11 |
US10783662B2 (en) | 2020-09-22 |
CN110598689B9 (zh) | 2021-09-03 |
US20190378297A1 (en) | 2019-12-12 |
JP6876094B2 (ja) | 2021-05-26 |
CN110598689A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110598689B (zh) | 用于估计图像中极值点的子像素位置的方法、设备和系统 | |
US8755630B2 (en) | Object pose recognition apparatus and object pose recognition method using the same | |
EP3489898B1 (en) | Method and apparatus for estimating disparity | |
US7697749B2 (en) | Stereo image processing device | |
KR102118173B1 (ko) | 왜곡계수 추정을 통한 영상 보정 시스템 및 방법 | |
CN110349199B (zh) | 一种物体圆度测量方法 | |
US20210158081A1 (en) | System and method for correspondence map determination | |
JP2014013147A5 (zh) | ||
CN108921170B (zh) | 一种有效的图像噪声检测和去噪方法及系统 | |
JP6411188B2 (ja) | ステレオマッチング装置とステレオマッチングプログラムとステレオマッチング方法 | |
CN111311651A (zh) | 点云配准方法和装置 | |
CN109785372B (zh) | 基于软决策优化的基础矩阵鲁棒估计方法 | |
KR100792172B1 (ko) | 강건한 대응점을 이용한 기본행렬 추정 장치 및 그 방법 | |
CN112465723A (zh) | 深度图像的修复方法、装置、电子设备和计算机存储介质 | |
US11475233B2 (en) | Image processing device and image processing method | |
JP6852406B2 (ja) | 距離測定装置、距離測定方法および距離測定プログラム | |
Kim et al. | Mesh modelling of 3D point cloud from UAV images by point classification and geometric constraints | |
Sharma et al. | An Adaptive Window Based Polynomial Fitting Approach for Pixel Matching in Stereo Images | |
JP2000088523A (ja) | 特徴ベクトルを利用した物体の認識装置および方法 | |
CN106228593A (zh) | 一种图像密集匹配方法 | |
Koo et al. | Robust stereo matching algorithm for advanced driver assistance system | |
CN107330932B (zh) | 一种修补视差图中噪点的方法及装置 | |
CN112529960A (zh) | 目标对象的定位方法、装置、处理器和电子装置 | |
KR101992527B1 (ko) | 라이트필드 깊이 영상 추정 방법 및 장치 | |
JP7399632B2 (ja) | 撮影処理装置、及び撮影処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CI03 | Correction of invention patent |
Correction item: Description Correct: Instructions submitted on July 30, 2021 False: Instructions submitted on June 6, 2019 Number: 14-02 Page: full text Volume: 37 |
|
CI03 | Correction of invention patent |