CN106663322A - 识别特征 - Google Patents

识别特征 Download PDF

Info

Publication number
CN106663322A
CN106663322A CN201580024535.5A CN201580024535A CN106663322A CN 106663322 A CN106663322 A CN 106663322A CN 201580024535 A CN201580024535 A CN 201580024535A CN 106663322 A CN106663322 A CN 106663322A
Authority
CN
China
Prior art keywords
border
path
image
location
pixels
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.)
Granted
Application number
CN201580024535.5A
Other languages
English (en)
Other versions
CN106663322B (zh
Inventor
J·奥弗拜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Stryn Laboratories Ltd
Original Assignee
Stryn Laboratories Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Stryn Laboratories Ltd filed Critical Stryn Laboratories Ltd
Publication of CN106663322A publication Critical patent/CN106663322A/zh
Application granted granted Critical
Publication of CN106663322B publication Critical patent/CN106663322B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/181Segmentation; Edge detection involving edge growing; involving edge linking

Abstract

一种用于识别图像中的特征的方法,该方法包括以下步骤:a)从第一位置,在远离所述第一位置的扫描方向上,沿扫描路径扫描所述图像,以便检测所述图像中的、处于第二位置的边界;b)从所述第二位置,在沿所述边界的第一方向上绘制由所述边界限定的路径,根据边界质量度量来绘制所述路径;c)确定所绘制的路径是否形成周界;以及d)如果所绘制的路径形成周界,则从所绘制的路径扫描所述图像,以便检测所述图像中的另一边界;或者,如果所绘制的路径未形成周界,则在沿所述边界的不同于所述第一方向的第二方向上,从所述第二位置绘制由所述边界限定的路径。

Description

识别特征
本发明涉及检测图像中的特征。
对于计算装置来说,收集、处理以及显示图像是常见的事。例如,多个移动电话、平板计算机以及个人计算机可以从机载摄像机收集图像、处理那些图像以及在屏幕上显示所处理的图像。该处理可以涉及非常简单的算法,如将静止图像从彩色转换成灰度。更复杂的算法可能包括噪声缩减和色调增强,并且可能应用于视频而非静止照片。
图像分析的一重要领域是边界或边界检测。边界检测涉及估计图像中区域之间的边界的位置。那些区域可能对应于要在该图像中表示的、如观看者察觉的目标。一旦评估出边界的位置,就可以在该图像上执行附加处理。在一个示例中,该附加处理可以涉及以明亮的颜色加亮边界,以便引起对目标的注意。这可以有用于向车辆提供夜视能力。在第二示例中,附加处理可以涉及重新着色图像中的被边界包围的区域,以便创建可视效果。在第三示例中,附加处理可以涉及根据单个图像或者根据按不同位置拍摄的相似场景的一系列图像,来推断已经评估了边界的目标之间的三维关系。
尽管边界检测可以提供许多优点,但其是复杂问题,而且特别难于在具有相对较小计算功率的装置上实现。其示例是,当要在移动电话上执行边界检测时,移动电话的计算功率增加,但该计算功率仍非常有限,而且因为移动电话通过电池供电,所以希望最小化它们在执行视频处理方面所消耗能量的量,由此改进电池寿命。
边界检测的示例在EP 2615597A、US 2014/072208、WO 2013/186662以及CN103440644A中进行了公开。
在一些实现中,希望能够实时处理视频数据。在该视频由一系列帧组成的情况下,实时处理涉及按比连续帧之间的时段更少的时间(至少平均起来)来处理该视频的帧。在一个示例应用中,一装置具有:摄像机,和可以显示通过该摄像机拍摄的视频流的显示屏。可能希望操纵所显示的视频流,例如,在所拍摄的视频上覆盖预先制备的图形表述,其随着摄像机变焦和摇摄(pan)而在显示器上移动,以获得它们在现实生活中所呈现的幻影。
希望具有一种最小化为检测图像中的目标和特征所需的计算功率的量的算法。希望这种算法在诸如移动电话这样的便携式装置上实现,以分析具有合理分辨率的实时视频中的帧。
根据本发明,提供了一种用于识别图像中的特征的方法,该方法包括以下步骤:a)从第一位置,在远离所述第一位置的扫描方向上,沿扫描路径扫描所述图像,以便检测所述图像中的、处于第二位置的边界;b)从所述第二位置,在沿所述边界的第一方向上绘制由所述边界限定的路径,根据边界质量度量来绘制所述路径;c)确定所绘制的路径是否形成周界;以及d)如果所绘制的路径形成周界,则从所绘制的路径扫描所述图像,以便检测所述图像中的另一边界;或者,如果所绘制的路径未形成周界,则在沿所述边界的不同于所述第一方向的第二方向上,从所述第二位置绘制由所述边界限定的路径。
根据本发明第二方面,提供了一种装置,该装置包括:存储器,该存储器存储非暂时程序代码;和处理器,该处理器被配置成通过执行所述代码以执行以下步骤来识别图像中的特征:a)从第一位置,在远离所述第一位置的扫描方向上,沿扫描路径扫描所述图像,以便检测所述图像中的、处于第二位置的边界;b)从所述第二位置,在沿所述边界的第一方向上绘制由所述边界限定的路径,根据边界质量度量来绘制所述路径;c)确定所绘制的路径是否形成周界;以及d)如果所绘制的路径形成周界,则从所绘制的路径扫描所述图像,以便检测所述图像中的另一边界;或者,如果所绘制的路径未形成周界,则在沿所述边界的不同于所述第一方向的第二方向上,从所述第二位置绘制由所述边界限定的路径。
所述方法可以包括以下步骤:当在所述第二方向绘制所述路径时,从所绘制的路径扫描所述图像,以检测所述图像中的另一边界。
所述方法可以包括以下步骤:当检测所述图像中的、处于第三位置的另一边界时,重复步骤b)至d),其中,所重复的步骤从所述第三位置执行。
所述方法可以包括以下步骤:在跟踪了边界之后,确定所述边界的周长或长度和/或所述边界的复合质量度量是否超出预定阈值;并且如果不是,则丢弃所述边界。
所述方法可以包括以下步骤,从第四位置,在远离所述第四位置的所述扫描方向上,沿着第二扫描路径扫描所述图像,以便检测所述图像中的、处于第五位置的边界,所述第四位置在垂直于所述扫描方向的方向上从所述第一位置偏移预定距离。
所述方法可以包括以下步骤,当检测到所述边界时,如果先前已经绘制了所述边界,则忽略所述边界。
在扫描所述图像的每一个步骤中,所述扫描方向可以是相同的。
所述图像可以由多个像素组成。所述方法可以包括以下步骤:通过检测像素位置之间的边界来绘制路径。所述质量度量可以指示所述边界在每一个边界位置处的质量。
所述方法可以包括以下步骤:估计针对所述图像中的一组两个相邻像素位置中的每一个像素位置的属性;就所述两个像素位置来说,评估预定二元条件(binarycondition)是否不同,并且如果是不同的,则确定所述图像的、由所述两个像素位置表示的部分中存在边界。
所述边界质量度量可以是由相邻像素导出的值。所述方法还可以包括以下步骤:确定所导出的值是大于还是小于预定阈值,并且如果大于,则将该边界位置绘制为所述路径的一部分;或者如果小于,则不将该边界位置绘制为所述路径的一部分。
所述像素位置的所述属性可以基于:应用至所述图像并且以该像素位置为中心的高斯拉普拉斯(Laplacian of Gaussian)滤波器。
像素位置的属性可以基于:在所述像素位置处并且针对高斯(Gaussian)的梯度方向来估计所述图像的各向同性高斯卷积的二阶导数。
像素位置的第二属性可以基于:在所述像素位置处并且针对高斯的梯度方向来估计所述图像的各向同性高斯卷积的三阶导数。指定边界位置处的边界质量度量可以是在所述边界位置的任一侧上针对所述两个像素位置中的每一个像素位置的所述第二属性的内插。
所述图像可以是视频流的帧。
所述装置可以包括摄像机。所述图像可以是通过所述摄像机拍摄的图像。
所述图像可以是通过所述摄像机拍摄的视频流的帧。
所述装置可以被配置成,针对所述视频流的连续帧实时执行所述步骤。
下面,参照附图,通过示例对本发明进行描述。在图中:
图1例示了有关图像的边界检测算法的一个示例实施方式的操作。
图2例示了在图1的图像中检测的边界。
图3示出了多组相邻像素。
图4示出了多组相邻像素的阈值化属性中的条件。
图5例示了跟踪图像上的边界。
图6示出了由内插或平均化点形成的边界。
图7例示了有关另一图像的边界检测算法的操作。
图8示出了适于图像处理的装置。
在一个示例算法中,图像由布置在正交网格上的一组像素组成。分析该图像中的一乘二区块的相邻像素位置,以评估边界是否经过其。如果未检测到边界,则该分析沿任意方向步进至一新的一乘二区块,直到发现边界为止。当在一个一乘二区域中检测到边界时,该分析形成包括该一乘二区块的二乘二区块。其评估经由该二乘二区域的边界的方向,并且基于该边界的方向步进至按沿着所评估的检测边界的方向的相邻二乘二区块。依次分析该区块,并且按类似方式,分析沿该边界步进,直到该边界被完全行进或者到达图像的边缘为止。如下所述,已经发现该算法能够按高度有效的方式来实现。
在一个实施方式中,本发明提供了一种用于在不处理整个图像的情况下,可靠地检测图像中的边界/轮廓的方法。
图像可以被视为由像素的网络形成。对于任何水平和垂直位置x、y来说,可以定义返回实数的“边界函数”b(x,y)。该函数b(x,y)可以根据使用情况不同地定义,但优选地满足下列约束条件:
-对于任何指定x、y以及图像来说,每当计算该函数时,该函数生成相同结果;和
-该函数输出至少大致连续(如果希望子像素准确边界检测,则相关)。
该函数b(x,y)可以被定义成,使得两个相邻的像素位置(对于其来说,一个具有负b(x,y),而另一个具有非负b(x,y),或者更一般地说,对于其来说,施加在b(x,y)上的二元条件针对这两个相邻像素位置中的每一个生成不同的值)被解释为在它们之间具有边界。
对于b(x,y)的实现有利的是,一旦其已经针对邻近像素位置进行了计算,就更快速计算。
通过扫描边界,并接着在发现时跟随边界,可以在不需要针对该图像中的每一个像素位置计算b(x,y)的情况下来绘制(map)边界。
在该方法的第一例程中,扫描该图像以检测边界。这可以通过如下方式来进行:采用任意一组相邻像素位置,计算它们的b(x,y),以及检查就每一个来说该二元条件是否不同(在该情况下,其间存在边界交叉(border crossing))。可以根据使用情况来改变在其中采样多组相邻像素位置的图案。然而,普遍有利的是,沿垂直或水平线扫描。这种线可以在该图像中按间隔隔开。在这种布置中,不扫描每一组两个直接相邻像素位置,从而可能错过一些边界。然而,已经发现,合适地选择扫描线之间的间隔(例如,32像素或更少),正常情况下不会错过图像的主要特征,并且具有超过针对该图像中的每一个像素位置计算b(x,y)的极大性能优点。
一旦检测到交叉,该方法就继续进行至跟踪该边界的第二例程。假设两个相邻像素位置在它们之间具有边界,可以开始跟踪该边界。可以任意地预定用于该处理的两个准则:
1、左手或右手“偏置(bias)”。如果保持该偏置,则边界可以按预定方式周游(circumnavigated),该跟踪例程返回至其开始的地方。
2、要首先跟随该边界的方向。应注意到,在某些使用情况下,希望不周游该边界至其起始点。在那些情况下,可能希望从首先检测到该边界的点沿两个方向跟踪。
假设应用至像素位置的属性的二元条件导致贡献于所考虑的每一个像素位置的负值或正值,并且该边界要围绕非负区域顺时针被跟随,意味着在右侧总是具有非负值,而在左侧总是具有负值。假设将该偏置选择成为右手偏置。跟踪该边界接着跟随该图案:
1、假设两个相邻像素位置s0和s1,分别具有负b(x,y)和非负b(x,y);
2、在选定的跟踪方向上,采用相邻组的两个相邻像素位置n0和n1,它们本身分别与s0与s1相邻。
3、如果n0与n1都具有非负值,则向左移动(针对当前方向)。如果两者都具有负值,则向右移动。如果n0具有负值,而n1具有非负值,则向前移动。最后,如果n0具有非负值,而n1具有负值,则根据上述“偏置”确定下一个方向;在这种情况下,因所选定的偏置而向右移动。
4、最后,下一组相邻像素位置s0与s1被选定如下。如果向前移动,则:n0和n1。如果向左移动,则:s0和n0。如果向右移动,则:n1和s1。
5、转向步骤1,并且针对新的s0和s1重复。
当s0和s1再一次相同时,以两个相邻像素位置开始,循环并且回到开头。
在该处理期间,针对上述步骤的每一次迭代,记录边界点。这沿着该边界顺序生成一组点,在这种情况下,围绕非负区按顺时针方向。
怎样记录每一个边界点可以根据是否期望子像素准确(sub-pixel-accurate)而不同。在非子像素准确变型例中,每一个边界位置在步骤2之后均可以被视为四个像素位置的平均值。如果该像素被视为处于整数位置,则任何边界位置的每一个组元将为整数加0.5。如果该边界函数b(x,y)大致连续,并且希望子像素准确边界检测,则针对每一次迭代,可以代替地记录边界点如下。对于每一组相邻像素位置s0和s1来说,线性地内插它们的位置,以评估b(x,y)的零交叉的真实点。因而,例如,如果s0的值为-1而s1的值为2,则所得边界点将为s0的位置乘2/3加s1的位置乘1/3.
图1示出了用于例示下面更详细描述的边界检测处理的一般原理的示例性图像。该图像包含不同于背景场3的区域1、2。该区域1、2被视为以边界为界。希望检测那些边界,例如,出于特征化该图像的目的。选择该图像上的任意位置4,与初始默认扫描方向一起,如在5处示出的。该位置可以便利地靠近该图像的角部,但其不需要这样。该初始扫描方向便利地平行于该图像的像素所位于的轴,但不需要这样。该处理涉及从起始位置4沿初始扫描方向5步进通过图像。在每一个步骤,对该图像的局部区域进行分析,以评估其是否包含边界。下面,对该分析进行更详细描述。
在图1的示例中,该扫描初始跟随路径6。一旦遇到该图像的边缘(在7处),扫描就沿同一方向但从该图像的相对侧上的一点继续,并且偏移达垂直于该初始扫描方向5的预定距离8。接着,扫描在9处继续,直到在10处遇到边界为止。接着,启动跟踪处理,以周游检测到的边界,如在11处所示。随着跟随该边界,可以存储该边界上的点的位置,以供稍后使用。在一个示例中,一旦跟踪返回至第一次检测到该边界的点10,其就从点12重新开始,该点12是遇到边界的路径9的延伸,但处于该边界的、与遇到其的位置相对的较远侧。接着,扫描沿路径13和14按类似方式继续。当在15处再次遇到同一边界时,就可以忽略其,并且扫描从点16重新开始,该点16是遇到边界的路径14的延伸,但处于该边界的、与遇到其的位置相对的较远侧。通过按类似方式继续,该处理可以检测区域1和2的边界,并且生成一组存储边界位置,如图2中所示。在其它示例中,扫描可以在该图像中的其它地点和/或方向继续。
可以根据所需准确度水平、该图像中的希望细节、可以用于处理该图像的时间量以及正在运行该算法的装置的处理能力中的任一个或更多个,来设置偏移8。例如,为了加速该处理,可以选择更大的值用于偏移8。
本算法具有两个独特例程。在第一例程中,扫描该图像,直到检测到边界为止。该扫描便利地沿一直线一次步进一个像素位置,但该扫描可以在直线以外的其它线上,或者按一个以上像素位置的步幅。在该扫描处理中的每一个步骤,该算法确定是否存在边界。如果存在边界,则其确定其中要跟随该边界的方向。接着执行第二例程,其绕该边界环行,如图1中的11所示。下面,对这样进行的机制进行描述。
在第一例程中,考虑到相互相邻像素的一乘二区块,进行边界存在的评估,每一个像素均处于相应像素位置。例如,图3示出了在正交轴上对准的一组像素。在第一例程的第一次迭代中,该算法已经到达像素位置20和21。可以基于那些像素位置来执行对该图像的分析,以评估那里是否存在边界。
如果不存在边界,则沿当前扫描方向步进至下一对像素位置,即,步进至像素位置21和24。在第一例程的第二次迭代中,基于那些像素位置来执行对该图像的分析,以评估那里是否存在边界。如果边界被确定存在于像素位置21、24处,则评估该边界的方向,并且该处理开始重复第二例程,以便围绕该边界跟踪。
在第二例程中,考虑二乘二区块像素。对于第二例程中的第一次迭代来说,选择与两个当前像素位置相邻并且在该边界的评估方向上相对于它们偏移的两个像素位置。那些可以是像素位置23和25。该算法执行分析那些像素位置,以评估该边界的下一方向。对于第二例程中的第二次迭代来说,选择与四个当前像素位置相邻并且在该边界的评估方向上相对于它们偏移的两个像素位置(那些可以是像素位置28和29)。在第二例程的第二次迭代中,该算法执行对那些像素位置的分析,以评估该边界的下一方向。该算法按该方式继续进行,跟踪该边界,直到其返回初始一组两个相邻像素位置,在该情况下,已经周游该边界。接着,第二例程可以结束,并且第一例程可以重新开始。在第二例程的每一个步骤,该算法在平行于正交像素轴之一的方向上,按一个像素的距离步进。该结果是针对需要分析的任何像素位置,已经预先立即或者几乎立即分析了相邻像素位置(除了该扫描例程中的完全第一像素位置以外)。这可以提供显著的效率优点。为了针对像素位置执行分析,必须收集与其属性有关的信息。收集该信息可以消耗相当多的处理功率。在所描述的处理中,函数b(x,y)可以被定义和实现成,使得如果其已经针对相邻位置计算,则针对指定像素位置计算b(x,y)显著更快。
被用于帮助检测边界的存在的像素位置的属性,可以取决于分析该图像的目的。例如,如果在该图像的亮部与暗部之间寻找边界,则该属性可以基于该像素的亮度值。如果在基于蓝色的区域之间寻找边界,则该属性可以基于每一个像素的蓝色强度值。在实践中,该属性有用于更复杂的度量,如高斯的二阶变化率(导数)(例如,有关梯度方向),或者高斯拉普拉斯,或其近似值(基于针对所讨论的像素位置周围的像素的图像特性(如亮度))。下面,对其进行更详细描述。
如上所示,在每一个步骤中,一乘二或二乘二区块的像素位置在考虑之中。针对该区块中的每一个像素的相关属性被加以考虑,并且针对预定阈值对其加以评估。例如,如果该属性是亮度,则该阈值可能是可用亮度标度的50%。对于该区块中的每一个像素来说,进行有关针对该像素的属性是高于还是低于该阈值的确定。便利的是,根据每一个属性形成一布尔(Boolean)值,并且如果该布尔值在两个像素位置之间不同,则考虑它们之间存在边界。
图4例示了针对该分析结果的典型可能性。图4示出了二乘二区块的相互相邻像素,其中,高于该阈值的像素以阴影示出,而低于该阈值的像素无阴影地示出。假定,在每一种情况下,初始跟踪方向是向右侧,并且该二乘二区块已经从左手侧接近。该跟踪算法被配置成,在左手侧随着高于该阈值的像素而横穿该边界。图4a示出了这样的情况,即,其中最新一乘二区块中的两个像素(即,二乘二区块4a右侧的像素对)高于该阈值。在该情况,该跟踪算法向右转,如40处所示。图4b示出了这样的情况,即,其中最新一乘一区域中的一个像素高于该阈值而一个低于该阈值,并且其中那些像素中的每一个像素与同一类型的、根据前一迭代保持的像素对中的一像素相邻(即,二乘二区块4b左侧的像素对)。在该情况下,该跟踪算法按和以前相同的方向继续,如41处所示。图4c示出了最新一乘二区块中的两个像素低于该阈值的情况。在该情况,该跟踪算法向左转,如42处所示。图4d示出了这样的情况,即,最新一乘二区域中的一个像素高于该阈值而一个像素低于该阈值,并且其中那些像素中的每一个像素与相反类型的、根据前一迭代保持的像素对中的一像素相邻。在该情况下,该跟踪算法根据预定偏置继续,或者向左转(如43所示)或者向右转(如44所示)。如果当前一乘二区块产生图4d所示的形式的情况,由高于该阈值的两个不相邻像素和低于该阈值的两个不相邻像素构成,则可能指示该边界分叉或者两条边界相遇。共同地,该行为实现上面编号步骤3中描述的逻辑。在每一种情况下,该跟踪路径采用一新路径,其保持该边界同一侧的、同一类型的像素(高于/低于该阈值)。
在第一例程的每一个步骤(其扫描该图像以检测边界),评估当前一乘二区块。如果在当前一乘二区块中未检测到边界,则该扫描在当前扫描方向上步进一个像素,并且评估下一个一乘二区块,如上参照图1所述。如上所示,该新的一乘二区块仅包括一个新像素位置,因而,仅需要分析一个像素位置。
在第一例程和第二例程中,如果检测到边界,则评估并存储其位置。该边界的位置可以按许多方式来评估。所存储的位置可以是所考虑的一乘二区域或二乘二区块的几何中心,即,该区块的像素位置的平均值:例如,针对由像素21、23、24、25构成的二乘二区块的位置27(参见图3)。在另一示例中,该边界的位置可以被评估为这样的点,即,当前一乘二区块(或者在其它实施方式中,当前二乘二区块)的像素位置的所确定的属性之间的插值将与预定值相交的点。该插值可以是线性插值。
其中该边界被评估行进的方向,便利地与(i)当前二乘二区块中的推断边界平行,并且(ii)被远离当前二乘二区块中心地引导。这种方向在图4中以40-44示出。一种便利方法是,将要跟踪其边界的地带处理为高于该阈值的区域,选择的方向是左侧上具有高于该阈值的一像素或多个像素的方向。在其它实施方式中,选择的方向可以是右侧上具有高于该阈值的一像素或多个像素的方向。
当该跟踪到达其中已经检测到边界的位置时,对边界的跟随可以停止。如果由于该跟踪到达第一次检测到当前边界的点,则跟踪该边界可以认为完成。接着,该算法继续进行,以基于上述原理,从图4d所示类型的任何一乘二区块(其在该边界行进期间检测到)扫描。接着,该算法可以从该边界的较远侧继续,如图1中的12所示,以便检测其它边界。如果跟踪边界遇到该图像的边缘,或者另一先前存储边界,则跟踪可以从第一次遇到当前跟踪边界的点,按相反方向重新开始。按相反方向的跟踪可以便利地通过采用用于选择新跟踪方向的反指向(opposite sense)来实现:例如,左侧上高于该阈值的像素,如与右侧上高于该阈值的像素相对。这可以允许该算法完全跟踪未形成完整回路的边界。
参照图5,对边界跟踪处理的示例进行描述。图5示出了像素的正交网络,其中,其属性高于该阈值的像素以阴影示出。图5中的像素用网格基准表示。
扫描开始考虑像素位置A2和B2,并且扫描方向为向右侧,如在51处所示。分析像素位置A2和B2。这两个像素位置的属性处于该阈值的同一侧,因而,扫描方向无变化。接着,分析像素位置B2和C2。在B2与C2之间检测到边界,上下引导,因而,基于在右侧保持高于该阈值的属性的预定选择,随着跟随该边界,考虑下一像素位置B1和C1。它们的属性低于该阈值,因而,下一方向被确定为向右。接着,考虑像素位置D1和D2。该算法按这种方式继续进行,直到已经周游该边界为止。
在检测到边界的每一个步骤,存储边界位置。在这个示例中,边界位置被存储为每一个二乘二区块的像素位置的几何中心,在上述示例中前两个是(B1+C1+B2+C2)/4和(C1+D1+C2+D2)/4。这些位置用空心圆(open circle)指示,如图5所示。
如上所示,仅两个像素位置的属性需要在第二例程的每一个步骤加以计算。一个二乘二区块中的另两个像素位置的属性可以从前一步骤存储。这可以帮助使该算法更有效。先前考虑的任何像素位置的属性可以无限地存储,但是已经发现,对于计算和存储来说,相对有效的是,保留仅针对两个接连考虑的二乘二区块所共同具有的两个像素的属性。
便利的是,围绕该边界,按每一个步骤存储一位置,使得该边界可以稍后进行处理,和/或使得可以获知何时完全绘制了该边界。这样的做的一个方法是,按每一个这种位置,存储已经检测到其间的边界的最后两个像素的中心的平均值。在图4的示例中,这将会是图4a中的下侧两个像素、图4b中的右手侧两个像素等。另一选项是基于该像素的属性在该像素的中心之间插值,最便利的是,应用和二元决定相同的属性,以便确定该边界的存在。例如,假设一个像素位置是x=20、y=40,并且具有属性-9,而相邻像素位置是x=21、y=40并且具有属性2。该二元测试可以是,该属性是否超出一阈值,如零。在其基础上,可以在这些像素位置之间确定边界。该平均位置为20.5、40。该插值可以评估:按一子像素水平,在位置20、40具有值-9,并且在位置21、40具有值2的直线将与一预定值相交的地方。便利地讲,其是和在二元测试中使用的预定值相同的预定值,在这种情况下,为零,其意指,该插值化位置为20、82、40。图6例示了这在实际中的效果。图6示出了这样一组像素,其包括属性高于预定阈值的阴影像素位置的区域71。由线段(其中一些指定了73)组成的路径示出了区域70的边界,其被确定为在围绕该区域71的边界行进的、接连二乘二区块的中心上的插值化点72之间延伸的路线。由线段73构成的路径示出了区域71的边界,其被确定为,在已经围绕区域71检测到边界的每一个一乘二区块的像素位置的属性之间插值化或平均化的点(其中一些被指示为72)之间延伸的路线。如上所示,已经发现,通过连接根据该像素位置的原始或未阈值化属性确定的点(例如,插值化)所形成的路径,与根据原始像素位置形成的路径相比,显著更多地表示图像的内容。
值得注意的是,根据插值化或平均化点形成边界的处理涉及:检测边界的存在,并且简单地基于所考虑的像素位置的相关属性是否超出阈值来跟随其,但基于针对那些像素中的每一个像素的属性的实际值来评估该边界的位置。已经发现该方法相对地在计算上有效,并且还相对代表图像内容。
可以根据希望分析的特征,来选择在上述处理中使用的每一个像素位置的属性。在一些示例中,该属性可以单独取决于单个像素的值:例如,其亮度或色调。在其它示例中,可以通过还取决于相邻像素的值的函数来确定像素的属性。在后一种情况下,该算法可变,以允许增加或降低远离所讨论的像素的像素的相对影响。可以通过求和针对与所讨论像素相邻的一组像素所计算的中间值来确定该属性。那些相邻值的范围可以改变。例如可以根据所考虑图像的细节水平、聚焦或范围来选择该范围。每一个中间值均可以通过根据加权算法确定的加权因子来加权。在一个优选示例中,可以借助于高斯拉普拉斯过滤器来确定每一个像素的属性,该高斯拉普拉斯可以通过确定与所讨论像素相邻的像素的密度的加权和来计算,根据集中于所讨论像素的高斯拉普拉斯过滤器来确定权重。随着所讨论的像素处于x=0,y=0,高斯拉普拉斯过滤器向x、y处的像素赋予加权:
其中,σ表示高斯标准偏差,影响了利用从所讨论像素的半径的函数的加权。该加权可以预先计算,并且存储在查寻表中,以供在要计算指定像素的属性时使用。针对σ的值范围的加权可以预先计算和存储,并且在要按恰当细节水平分析该图像时在恰当时候应用。为方便起见,可以将该加权近似。在评估特定像素位置的属性时,该加权可以仅便利地应用至以该像素位置为中心的方块(即,其的边具有相等像素长度)的像素,并由此不应用至该区块外侧的像素。这可以简化该计算。
该高斯拉普拉斯是供在本系统中使用的便利过滤器,因为其趋于强调边界。具有相似特性的其它过滤器(包括但不限于高斯差分(difference-of-Gaussians)、海赛行列式(determinant of Hessian)、Sobel、Canny以及Canny-Deriche)可以单独使用或者与其它函数组合使用,来确定像素位置的属性。
图7示出了用于例示根据另一实施方式的边界检测处理的另一示例图像。在这个实施方式中,对是否在每一个跟踪步骤绘制边界位置的确定取决于在该步骤边界的强度或质量。绘制例如会涉及利用该位置识别来图像中的特征和/或存储边界位置。
在该扫描处理中的每一个步骤,该算法确定是否存在边界。评估边界的存在或方向还可以包括:确定所检测的边界的强度或质量。基于该确定,边界例如可以被分类为高质量或低质量,并且该算法可以决定仅考虑高质量边界。这可以帮助改进特征检测,因为诸如阴影和噪声这样的特征具有差质量边界,并由此可以被丢弃。
与图1类似,图7的图像包含不同于背景场3的区域1、2。另外,图7还包含线90。线90例如可以是该图像中的一物体,或者在图像拍摄或处理期间生成的伪像或噪声。线90与区域1和2的不同之处在于,用于线90的边界不形成围绕一区域的连续周界。
如上所述,扫描该图像,直到在10处遇到边界为止。接着跟踪该边界,如在11处所示。在每一个跟踪步骤,评估区域1与3之间的边界的质量。在这个示例中,边界的质量高,并由此,绘制并跟随该边界。一旦跟踪返回至第一次检测到该边界的点10,就确定所绘制路径形成围绕区域1的周界,并且扫描从点10重新开始,该点10是第一次检测到该边界的点。
在91处再次遇到边界,并且按类似方向跟踪并跟随该边界,如在92处所示,如在10处的先前边界。该跟踪到达点93,其中,确定该边界质量是差的。从该点起的边界不再被跟踪并且不绘制。该跟踪接着返回至点91,并且沿相反方向跟踪并绘制该边界(如94处所示)至95(线90在此结束)。接着,针对另一些边界的扫描在该扫描方向上从点91重新开始。
在每一个步骤确定的边界的质量可以取决于该像素位置或多个位置的属性,其被用于帮助检测该边界的存在。例如,如果该属性是像素位置的亮度值,则垂直于该边界的像素位置的亮度变化量可以用于确定边界质量。可以根据那些像素评估一阶导数,以计算梯度量值,其接着可以指示该边界的质量。可以针对预定阈值来评估该梯度量值,以确定该边界是否具有足够质量。该质量确定可以被应用至其它属性,如在描述的那些。
如上所述,评估边界的存在或方向可以在考虑两个相互相邻像素位置的区块的情况下来进行。如果这两个相邻像素位置之一具有高于预定阈值的属性值,而另一个具有低于该预定阈值的属性值,则这可以指示这两个像素位置之间的某处存在边界。例如,该像素位置的属性可以基于针对高斯的梯度方向来评估该图像的各向同性高斯卷积的二阶导数。该边界质量度量可以基于针对这两个像素位置中的每一个希望位置,针对高斯的梯度方向的该图像的各向同性高斯卷积的三阶导数。在这种情况下,该三阶导数是其中更高值指示更好质量边界的标量值。
为简化该边界检测和存储,该系统可以忽略尺寸低于预定阈值的边界。该尺寸可以被限定为边界周长或长度。如果边界被周游一次证明低于该预先限定最小尺寸,则其不被存储而是被丢弃。
随着每一个边界被绘制,存储沿边界长度的点。这允许稍后确定是否已经发现边界,并且一旦完成了算法,就提供该图像中的边界的记录。
一旦已经定位了该边界,就可以接着采取任何合适处理。
在第一示例中,可以修改该图像,以加亮所检测边界的位置,例如,按醒目的颜色。接着,可以显示所得的图像。这可以有用于在车辆中加亮通过安装在该车辆上的摄像机观察的道路的边界。
在第二示例中,对应于一区域的图像的区域可以被变换,并且可以显示所得的图像。向该区域外边界内但在该区域任何内边界外侧的区域应用该变换。该变换例如可以是照亮或变暗该区域,向该区域应用一画面,或者改变该区域的色度。如果将该区域照亮或变暗,则该区域中的每一个点处的色度可以保持无变化。这可以给人照亮或遮蔽该区域的印象。如果该区域的色度改变,则该区域中的每一个点处的亮度可以保持无变化。这可以给人重新着色该区域的印象。这是有用的,例如,用于模拟用某一颜色涂抹该区域。
利用在此描述的算法,该视频的每一个帧均可以实时处理、变换以及显示。
图8例示了用于实现上述方法的装置。该装置包括外壳80,在外壳80中有摄像机81、显示器82、处理器83、非易失性存储器或ROM 84、以及工作存储器或RAM 85。该装置通过电池86供电。在这个示例中,显示器82是触摸屏,因而,其向处理器83提供用户输入并通过处理器来驱动,但可以设置分离小键盘。ROM 84存储可通过处理器执行的程序代码。该程序代码以非暂时形式存储。该程序代码可通过处理器执行以执行上述功能。在操作中,处理器可以从摄像机81或者从远程通信收发器87接收图像。在前一情况下,该图像可以是通过摄像机拍摄该装置位置处的环境的图像。在后一情况下,该图像可以从因特网下载。该处理器将该图像存储在RAM 85中。该图像可以显示在显示器82上。一旦将该图像存储在RAM中,处理器就可以利用如上所述的算法来分析该图像。接着,根据该分析的结果,该处理可以根据所存储的程序代码来执行进一步操作。例如,可以将该图像改变成加亮所检测的边界。另选的是,可以重新着色一个或更多个所检测的边界内部的区域,例如,响应于用户借助于该触摸屏选择的那些区域。另选的是,用户可以选择那些区域之一,并且处理器可以识别被所检测的边界包围并且具有和选定区域一样的属性(例如,与选定区域的平均色度不同达小于预定阈值的色度)的其它区域,并接着类似地重新着色选定区域和识别区域。另选的是,该处理器可以使用所检测的边界的位置,来推断与该图像中表示的目标的三维空间关系有关的信息。
在上述示例中,该装置可以捕获图像数据并且本地处理该图像数据。另选的是,可以捕获图像数据,将该图像数据发送至远程服务器以供分析,并接着从该服务器接收与所检测的边界有关的信息。
图8的装置可以是移动电话。
该图像可以是静止图像或者视频流的帧的部分。
每一个像素均是该图像的子单元。该像素可以是单色或彩色像素。为了显示或图像拍摄,通常将彩色图像划分成单个颜色的通道,这些通道在共同考虑时表示特定位置处的特定亮度或色度。出于执行上述算法的目的,该图像的单一像素可以被视为通过组合的那些通道形成。优选的是,出于执行上述算法的目的,每一个像素完全特征化该像素位置处的图像的可视内容。
本申请人特此孤立地将在此描述的每一个单个特征和两个或更多个这种特征的任何组合公开到这种程度,以致这种特征或组合能够按照本领域技术人员的公知常识,总体上基于本说明书来执行,而不管这种特征或特征的组合是否解决在此公开的任何问题,并且不对权利要求书的范围进行限制。本申请人指示,本发明的方面可以由任何这种单个特征或特征的组合构成。鉴于前述描述,本领域技术人员应当明白,在本发明的范围内,可以进行各种修改。

Claims (18)

1.一种用于识别图像中的特征的方法,该方法包括以下步骤:
a)从第一位置,在远离所述第一位置的扫描方向上,沿扫描路径扫描所述图像,以便检测所述图像中的、处于第二位置的边界;
b)从所述第二位置,在沿所述边界的第一方向上绘制由所述边界限定的路径,根据边界质量度量来绘制所述路径;
c)确定所绘制的路径是否形成周界;以及
d)如果所绘制的路径形成周界,则从所绘制的路径扫描所述图像,以便检测所述图像中的另一边界;或者,如果所绘制的路径未形成周界,则在沿所述边界的不同于所述第一方向的第二方向上,从所述第二位置绘制由所述边界限定的路径。
2.根据权利要求1所述的方法,所述方法包括以下步骤:
当在所述第二方向上绘制所述路径时,从所绘制的路径扫描所述图像,以便检测所述图像中的另一边界。
3.根据权利要求1或2所述的方法,其中,所述方法包括以下步骤:当检测所述图像中的、处于第三位置的另一边界时,重复步骤b)至d),其中,所重复的步骤从所述第三位置执行。
4.根据任一前述权利要求所述的方法,其中,所述方法包括以下步骤:在跟踪了边界之后,确定所述边界的周长或长度和/或所述边界的复合质量度量是否超出预定阈值;并且如果不是,则丢弃所述边界。
5.根据任一前述权利要求所述的方法,其中,所述方法包括以下步骤:
从第四位置,在远离所述第四位置的扫描方向上,沿第二扫描路径扫描所述图像,以便检测所述图像中的、处于第五位置的边界,所述第四位置在垂直于所述扫描方向的方向上从所述第一位置偏移预定距离。
6.根据任一前述权利要求所述的方法,所述方法包括以下步骤:当检测所述边界时,如果先前已经绘制了所述边界,则忽略所述边界。
7.根据任一前述权利要求所述的方法,其中,在扫描所述图像的每一个步骤中,所述扫描方向是相同的。
8.根据任一前述权利要求所述的方法,其中,所述图像由多个像素组成,并且所述方法包括以下步骤:通过检测像素位置之间的边界来绘制路径,其中,所述质量度量指示所述边界在每一个边界位置处的质量。
9.根据权利要求8所述的方法,其中,所述方法包括以下步骤:
估计针对所述图像中的一组两个相邻像素位置中的每一个像素位置的属性;
针对所述两个像素位置,评估预定二元条件是否不同,并且如果是不同的,则确定所述图像的、由所述两个像素位置表示的部分中存在边界。
10.根据权利要求9所述的方法,其中,所述边界质量度量是从相邻像素导出的值,所述方法还包括以下步骤:确定所导出的值是大于还是小于预定阈值,并且如果大于,则将该边界位置绘制为所述路径的一部分;或者如果小于,则不将该边界位置绘制为所述路径的一部分。
11.根据权利要求10所述的方法,其中,所述像素位置的所述属性基于应用至所述图像并且以该像素位置为中心的高斯拉普拉斯滤波器。
12.根据权利要求9所述的方法,其中,像素位置的属性基于:在所述像素位置处并且针对高斯的梯度方向来估计所述图像的各向同性高斯卷积的二阶导数。
13.根据权利要求12所述的方法,其中,像素位置的第二属性基于:在所述像素位置处并且针对高斯的梯度方向来估计所述图像的各向同性高斯卷积的三阶导数,其中,在指定边界位置处的边界质量度量是在所述边界位置的任一侧上针对所述两个像素位置中的每一个像素位置的所述第二属性的内插。
14.根据任一前述权利要求所述的方法,其中,所述图像是视频流的帧。
15.一种装置,该装置包括:
存储器,该存储器存储非暂时程序代码;以及
处理器,该处理器被配置成通过执行所述代码以执行以下步骤来识别图像中的特征:
a)从第一位置,在远离所述第一位置的扫描方向上,沿扫描路径扫描所述图像,以便检测所述图像中的、处于第二位置的边界;
b)从所述第二位置,在沿所述边界的第一方向上绘制由所述边界限定的路径,根据边界质量度量来绘制所述路径;
c)确定所绘制的路径是否形成周界;以及
d)如果所绘制的路径形成周界,则从所绘制的路径扫描所述图像,以便检测所述图像中的另一边界;或者,如果所绘制的路径未形成周界,则在沿所述边界的不同于所述第一方向的第二方向上,从所述第二位置绘制由所述边界限定的路径。
16.根据权利要求15所述的装置,其中,所述装置包括摄像机,并且所述图像是通过所述摄像机拍摄的图像。
17.根据权利要求16所述的装置,其中,所述图像是通过所述摄像机拍摄的视频流的帧。
18.根据权利要求17所述的装置,其中,所述装置被配置成针对所述视频流的连续帧实时执行所述步骤。
CN201580024535.5A 2014-05-13 2015-05-13 用于识别图像中的特征的方法和装置 Expired - Fee Related CN106663322B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1408499.0 2014-05-13
GB1408499.0A GB2528233B (en) 2014-05-13 2014-05-13 Identifying features
PCT/GB2015/051405 WO2015173565A1 (en) 2014-05-13 2015-05-13 Identifying features

Publications (2)

Publication Number Publication Date
CN106663322A true CN106663322A (zh) 2017-05-10
CN106663322B CN106663322B (zh) 2019-08-27

Family

ID=51032714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580024535.5A Expired - Fee Related CN106663322B (zh) 2014-05-13 2015-05-13 用于识别图像中的特征的方法和装置

Country Status (5)

Country Link
US (1) US10275887B2 (zh)
EP (1) EP3143589B1 (zh)
CN (1) CN106663322B (zh)
GB (1) GB2528233B (zh)
WO (1) WO2015173565A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9531961B2 (en) 2015-05-01 2016-12-27 Duelight Llc Systems and methods for generating a digital image using separate color and intensity data
US9918017B2 (en) 2012-09-04 2018-03-13 Duelight Llc Image sensor apparatus and method for obtaining multiple exposures with zero interframe time
US9819849B1 (en) 2016-07-01 2017-11-14 Duelight Llc Systems and methods for capturing digital images
US10558848B2 (en) 2017-10-05 2020-02-11 Duelight Llc System, method, and computer program for capturing an image with correct skin tone exposure
US9807322B2 (en) 2013-03-15 2017-10-31 Duelight Llc Systems and methods for a digital image sensor
GB2528028B (en) * 2014-05-13 2017-08-09 String Labs Ltd Border tracing
US10924688B2 (en) 2014-11-06 2021-02-16 Duelight Llc Image sensor apparatus and method for obtaining low-noise, high-speed captures of a photographic scene
US11463630B2 (en) 2014-11-07 2022-10-04 Duelight Llc Systems and methods for generating a high-dynamic range (HDR) pixel stream
EP3507765A4 (en) 2016-09-01 2020-01-01 Duelight LLC SYSTEMS AND METHODS FOR FOCUS ADJUSTMENT BASED ON TARGET DEVELOPMENT INFORMATION
CN109033415A (zh) * 2018-08-06 2018-12-18 浙江大学 一种基于拉普拉斯特征映射的多维神经信号的降维和可视化方法
CN112419357B (zh) * 2020-11-18 2023-06-30 方正株式(武汉)科技开发有限公司 一种生成图像实体轮廓一笔画路径的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4910789A (en) * 1987-10-07 1990-03-20 Kyocera Corporation Apparatus for controlling the adjustment rate of a lens assembly
US5475507A (en) * 1992-10-14 1995-12-12 Fujitsu Limited Color image processing method and apparatus for same, which automatically detects a contour of an object in an image
WO2009013636A2 (en) * 2007-05-22 2009-01-29 The University Of Western Ontario A method for automatic boundary segmentation of object in 2d and/or 3d image
CN102083628A (zh) * 2008-07-09 2011-06-01 株式会社理光 图像处理方法、图像处理装置、图像形成装置、图像形成系统以及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4910786A (en) * 1985-09-30 1990-03-20 Eichel Paul H Method of detecting intensity edge paths
US9076046B2 (en) 2010-12-15 2015-07-07 Honda Motor Co., Ltd. Lane recognition device
US9747306B2 (en) * 2012-05-25 2017-08-29 Atheer, Inc. Method and apparatus for identifying input features for later recognition
US8917934B2 (en) 2012-06-14 2014-12-23 International Business Machines Corporation Multi-cue object detection and analysis
US9152888B2 (en) 2012-09-13 2015-10-06 Los Alamos National Security, Llc System and method for automated object detection in an image
CN103440644B (zh) 2013-08-08 2016-09-07 中山大学 一种基于最小描述长度的多尺度图像弱边缘检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4910789A (en) * 1987-10-07 1990-03-20 Kyocera Corporation Apparatus for controlling the adjustment rate of a lens assembly
US5475507A (en) * 1992-10-14 1995-12-12 Fujitsu Limited Color image processing method and apparatus for same, which automatically detects a contour of an object in an image
WO2009013636A2 (en) * 2007-05-22 2009-01-29 The University Of Western Ontario A method for automatic boundary segmentation of object in 2d and/or 3d image
CN102083628A (zh) * 2008-07-09 2011-06-01 株式会社理光 图像处理方法、图像处理装置、图像形成装置、图像形成系统以及存储介质

Also Published As

Publication number Publication date
GB2528233B (en) 2017-02-22
EP3143589A1 (en) 2017-03-22
WO2015173565A1 (en) 2015-11-19
GB201408499D0 (en) 2014-06-25
GB2528233A (en) 2016-01-20
CN106663322B (zh) 2019-08-27
US20170270672A1 (en) 2017-09-21
EP3143589B1 (en) 2019-07-10
US10275887B2 (en) 2019-04-30

Similar Documents

Publication Publication Date Title
CN106663322A (zh) 识别特征
CN107347151B (zh) 双目摄像头遮挡检测方法及装置
CN105453153B (zh) 交通灯检测
CN108280822A (zh) 屏幕划痕的检测方法及装置
CN107220931A (zh) 一种基于灰度级映射的高动态范围图像重建方法
CN105493141B (zh) 非结构化道路边界检测
CN101601287A (zh) 产生照片级真实感图像缩略图的设备和方法
KR20130056309A (ko) 텍스트 기반 3d 증강 현실
KR101272448B1 (ko) 관심영역 검출 장치와 방법 및 상기 방법을 구현하는 프로그램이 기록된 기록매체
CN109951635A (zh) 拍照处理方法、装置、移动终端以及存储介质
CN106911921A (zh) 基于单个摄像机的投影仪红外触控和自动对焦方法
CN105869148A (zh) 目标检测方法及装置
CN104657994B (zh) 一种基于光流法判断图像一致性的方法和系统
CN112200035A (zh) 用于模拟拥挤场景的图像获取方法、装置和视觉处理方法
CN106251348A (zh) 一种面向深度相机的自适应多线索融合背景减除方法
WO2017096814A1 (zh) 一种图像处理方法及装置
KR101736939B1 (ko) 이미지에서, 개인의 적어도 하나의 지문을 표시할 가능성이 있는 적어도 하나의 구역을 결정하는 방법
CN111669492A (zh) 一种终端对拍摄的数字图像进行处理的方法及终端
CN109191398A (zh) 图像处理方法、装置、计算机可读存储介质和电子设备
JP4697923B2 (ja) 水中または水面における移動体の計数システムおよび計数方法
CN113361360B (zh) 基于深度学习的多人跟踪方法及系统
EP3143588B1 (en) Border tracing
EP3143586B1 (en) Perimeter detection
CN106462965A (zh) 边界检测
CN110852172A (zh) 一种基于Cycle Gan图片拼贴并增强的扩充人群计数数据集的方法

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1234523

Country of ref document: HK

CB02 Change of applicant information

Address after: Surrey

Applicant after: Stryn Limited

Address before: Surrey

Applicant before: Stryn Laboratories Ltd

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190827

Termination date: 20200513

CF01 Termination of patent right due to non-payment of annual fee