CN105074729B - 用于光度边缘描述的方法、系统和介质 - Google Patents

用于光度边缘描述的方法、系统和介质 Download PDF

Info

Publication number
CN105074729B
CN105074729B CN201380067858.3A CN201380067858A CN105074729B CN 105074729 B CN105074729 B CN 105074729B CN 201380067858 A CN201380067858 A CN 201380067858A CN 105074729 B CN105074729 B CN 105074729B
Authority
CN
China
Prior art keywords
edge
pixel
image
patch
descriptor
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
Application number
CN201380067858.3A
Other languages
English (en)
Other versions
CN105074729A (zh
Inventor
B·S·赫梅尔
O·威廉姆斯
A·阿罕默德
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105074729A publication Critical patent/CN105074729A/zh
Application granted granted Critical
Publication of CN105074729B publication Critical patent/CN105074729B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

公开了用于描述和跟踪一个或多个成像设备的视野内的边缘的系统和方法。在一个示例中,本系统定义跨边缘的宽度获取的一行像素,然后通过比较来自该行像素的相应像素对内的像素的灰度值和对比度中的至少之一来确定该边缘的二进制边缘描述符,所述比较的结果将所述二进制描述符内的位置位。

Description

用于光度边缘描述的方法、系统和介质
背景
计算机视觉的一个领域是特征匹配,其中一个相机的视野中的某一特征随时间被跟踪,或者多个相机的视野中的某一特征在同时被跟踪。在场景的不同视图中寻找表示要被跟踪的某个特征(例如书架的角落)的像素的集合对于创建场景的3D重构来说是关键的。对于角落来说,基于特征描述符的匹配已证明极大地优于早先的方法,存在丰富的方法(如SIFT、SURF)。较新的角落描述符能够以超实时工作(如BRIEF)。
然而,在诸如非杂乱的客厅之类的某些环境中,角落特征和/或丰富纹理通常在3D重构所要求的量中不存在。此类环境通常仍然确实包括长直的边缘特征。例如,客厅可包括书柜、桌子、天花板和墙壁。然而,对于边缘特征而言,还未提出稳健且超实时的特征描述或匹配算法。
概述
本技术的实施例涉及用于描述和跟踪一个或多个成像设备的视野内的边缘的系统和方法。在第一方面中,本技术描述第一图像中捕捉的一边缘。可通过定义跨该边缘的增加的灰度梯度的方向中获取的像素的偏移补块来描述该边缘。在一些示例中,像素的偏移补块是单行预先确定数量像素。
二进制边缘描述符可接着被定义为两个子串的串接。可通过比较偏移补块内的相应像素对内的灰度值来定义二进制边缘描述符的第一子串。可通过比较偏移补块内的相应像素对的对比度来定义二进制边缘描述符的第二子串。比较的结果可被用于对二进制描述符的子串内的位置位。
在为一图像中的一边缘定义了边缘描述符之后,同一边缘可从第二图像被匹配。这可通过计算第二图像中建议的边缘上的兴趣点的二进制边缘描述符来完成。通过将第二图像中的建议的边缘上的兴趣点的二进制边缘描述符与为第一图像定义的边缘描述符相比较,可将第二图像中的建议的边缘确认或拒绝作为与第一图象中的边缘匹配。给定二进制边缘描述符的组成,边缘描述符的生成与匹配可准确地实时标识两个图像中的匹配。
在第一示例中,本技术涉及用于描述视野内的一边缘的光度系统,包括:跨所述边缘的宽度获取的像素的偏移补块,所述补块具有单行预先确定数量的像素;以及通过在预先确定的规则下比较所述偏移补块内的像素对确定的二进制边缘描述符,在所述预先确定的规则下的所述比较的结果将所述二进制描述符内的位置位。
在第二示例中,本技术涉及具有处理器可读代码的一个或多个处理器可读存储设备,所述处理器可读代码具体化在所述处理器可读存储设备上,所述处理器可读代码用于对计算环境的一个或多个处理器编程来执行描述成像设备的视野内捕捉的边缘的方法,所述方法包括:(a)确定所述边缘上的兴趣点;(b)确定所述边缘的定向;(c)标识通过所述兴趣点并跨所述边缘的宽度定向的像素行;(d)比较步骤(c)中标识的像素行内的不同像素对的属性;以及(e)基于所述步骤(d)中执行的比较的结果对二进制描述符的位置位。
在一进一步的示例中,本技术涉及匹配第一和第二图像内的一边缘的方法,所述方法包括:(a)通过以下步骤描述来自所述第一图像的所述边缘:(i)定义跨所述边缘的宽度获取的像素的偏移补块,所述补块具有单行预定数量的像素;以及(ii)通过比较所述偏移补块内相应像素对内的像素的灰度值和对比度中的至少之一来定义二进制边缘描述符,所述比较的结果将所述二进制描述符内的位置位;以及(b)通过以下步骤将来自所述第一图像的所述边缘与所述第二图像的所述边缘匹配:(i)计算所述第二图像中建议的边缘上的兴趣点的二进制边缘描述符,(ii)在所述第二图像中所述建议的边缘上的所述兴趣点的边缘描述符与所述第一图像中的所述边缘的所述边缘描述符之间的汉明距离低于预先确定的值的情况下,将所述第二图像中的所述建议的边缘确认为匹配所述第一图像中的所述边缘。
提供本概述是为了以精简的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图简述
图1例示出具有捕捉一视野的成像设备的系统的一示例实施例。
图2例示出可在本技术的系统中使用的捕捉设备的示例实施例。
图3是根据本技术的一实施例的边缘描述引擎的操作的高级流程图。
图4例示出由图1的成像设备捕捉的样本边缘的放大视图。
图5是边缘描述引擎确定边缘描述符的操作的流程图。
图6例示出根据本技术的一些实施例的包括像素的偏移补块的样本边缘的放大视图。
图7是根据本系统的一些实施例的经放大的样本偏移补块的图示。
图8是例示出边缘描述符位串中的样本生成点的表。
图9是例示出边缘描述符位串中的样本生成点的另一表。
图10是根据本技术的一些实施例的样本边缘描述符位串。
图11例示出样本边缘的经放大的视图,示出根据本技术的一些实施例的沿该边缘的长度对额外边缘检测符的确定。
图12是根据本技术的一些实施例的边缘匹配引擎的操作的流程图。
图13-16是根据本技术的一些实施例的边缘匹配引擎如何将来自初始图像的边缘与后续图像中的边缘匹配的图示。
图17例示出可在本技术的一些实施例中使用来生成边缘描述符的计算环境的一示例实施例。
详细描述
现在将参考附图1-17描述本技术的一些实施例,这些实施例总地涉及用于描述和跟踪一个或多个成像设备的视野内的边缘的系统和方法。在一个示例这个,本系统使用光度描述符来描述成像设备的视野内具有最小长度的一个或多个边缘。一般来说,灰度图像中的直的图像边缘可包括包含一个支配灰度梯度方向的像素补块。它与具有两个支配灰度梯度的图像角落不同,且与不具有支配灰度梯度的同质纹理不同。在一些示例中,边缘是直的边缘,但是可想到本技术定义和匹配的边缘可具有弯曲。这些边缘可以是视野内的各种各样的物体中的任何物体(包括例如墙壁、天花板、书架、家具等)的边缘。
一旦在视野内标识出一边缘,就可使用三个参数来描述它。第一个是利用边缘位置与定向向量其中x、y表示以像素为单位的边缘中心,是被定义成指向最高梯度方向的定向。边缘的第二个描述是其以像素为单位的长度。这是对实际边缘长度的下边界估计,因为边缘的一些部分可能被遮挡。边缘的第三个描述是使用根据本技术的一些实施例的边缘描述符来作出的。边缘描述符可以是一维灰度图像补块的长度为B的二进制描述符。边缘的这些描述在下文中更详细地被解释。
本技术可在各种各样的光度成像系统中被实现。图1例示出一个这样的系统。在图1中,用于实现本技术的硬件包括可用于识别、分析和/或跟踪边缘、物体和/或诸如用户18等的人类目标的系统10。系统10的实施例包括用于检测和跟踪边缘的计算环境12。系统10可执行各种各样的其他功能,例如执行游戏或其他应用。尽管对于本技术来说并非关键,但是系统10可进一步包括用于提供来自游戏或其他应用的音频和视觉表示的视听设备16。系统10进一步包括捕捉设备20,捕捉设备用于检测边缘和物体,以及由设备20捕捉的用户的移动和姿势。
如背景部分中所述,存在用于在高度纹理化的环境中检测和跟踪具有两个支配轴的特征的系统。本系统的实施例能够在此类环境中检测和跟踪边缘,还能够在低纹理化的环境中以及在边缘并非是具有两个支配轴的特征的一部分的那些环境中检测和跟踪边缘。图1例示出具有根据本技术可被检测和跟踪的边缘23的各种各样的物体21。可根据本技术定义除了所示那些之外的各种各样的边缘。
一般来说,图1中所示的环境的视野可被划分成x、y、z笛卡尔平面,其中z轴从捕捉设备20(下文解释)垂直发散,而x、y平面垂直于z轴。可根据本技术被检测和跟踪的边缘23可平行于这些x、y、z轴中的任一个轴。而且,可根据本技术被检测和跟踪的边缘23可与x、y、z轴中的一个或多个成一倾斜角。边缘23可以是诸如所示的沙发、书柜、书本、手持式PDA等静止的、无生命物体的一部分。各种各样的其他无生命物体可包括可根据本技术被检测的边缘。边缘23替代地或另外地可以是诸如用户18的身体部位之类的动态移动物体的一部分。
图2例示出可在目标识别、分析和跟踪系统10中使用的捕捉设备20的一示例实施例。与和本技术一起使用的捕捉设备有关的进一步细节在题为“Device For IdentifyingAnd Tracking Multiple Humans Over Time”(用于随时间标识和跟踪多个人类的设备)共同待决专利申请号12/475,308中阐明。然而,在一示例实施例中,捕捉设备20可被配置成通过任何合适的技术,包括例如,飞行时间、结构化光、立体图像等等,来捕捉具有可包括深度值的深度图像的视频。根据一个实施例,捕捉设备20可将计算出的深度信息组织成“Z层”,即可与从深度相机沿其视线延伸的Z轴相垂直的层。
如图2所示,捕捉设备20可包括图像相机组件22。根据一示例实施例,图像相机组件22可以是可捕捉场景的深度图像的深度相机。深度图像可包括被捕捉的场景的二维(2-D)像素区域,其中该2-D像素区域中的像素可(例如以厘米、毫米等等为单位)表示来自相机的被捕捉的场景中的物体的长度。
如图2所示,根据一示例实施例,图像相机组件22可包括可用于捕捉场景的深度图像的IR光组件24、三维(3-D)相机26、以及RGB相机28。例如,在飞行时间分析中,捕捉设备20的IR光组件24可将红外光发射到场景上,并且随后可使用传感器(未示出)用例如3-D相机26和/或RGB相机28来检测从场景中的一个或多个目标和物体的表面反向散射的光。
根据另一实施例,捕捉设备20可包括可从不同角度观察场景的两个或更多个物理上分开的相机。本技术的实施例允许用两个不同的成像设备来检测同一边缘,使得来自这两个成像设备的视图可被一起解析成由这两个设备捕捉的场景的单个深度图。
在一示例实施例中,捕捉设备20可进一步包括可与图像相机组件22进行通信的处理器32。处理器32可包括可执行用于接收深度图像、判断合适的目标是否可被包括在深度图像中、将合适的目标转换为目标的骨架表示或模型的指令,或任何其他适合的指令的标准化处理器、专用处理器、微处理器等。
捕捉设备20可进一步包括存储器组件34,存储器组件34可存储可由处理器32执行的指令、由3-D相机或RGB相机捕捉到的图像或图像的帧、或任何其他合适的信息、图像等。根据一示例实施例,存储器组件34可包括随机存取存储器(RAM)、只读存储器(ROM)、高速缓存、闪存、硬盘、或任何其他合适的存储组件。如图2所示,在一个实施例中,存储器组件34可以是与图像捕捉组件22和处理器32通信的单独组件。根据另一实施例,存储器组件34可被集成到处理器32和/或图像捕捉组件22中。如下文所解释的,沿一标识出的边缘对像素捕捉灰度图像数据,其中灰度图像数据被分析来精确地描述边缘。该灰度图像数据可来自3-D相机26和/或RGB相机28。
如图2所示,捕捉设备20可经由通信链路36与计算环境12通信。通信链路36可以是包括例如USB连接、火线连接、以太网电缆连接等有线连接吗,和/或诸如无线802.11b、802.11g、802.11a或802.11n连接等无线连接。根据一个实施例,计算环境12可经由通信链路36向捕捉设备20提供时钟,该时钟可用于确定何时要捕捉例如一场景。
计算环境12可进一步包括能够准确地描述一边缘23的边缘描述引擎190,以及用于将来自当前图像的边缘23跟踪到或匹配于后续图像的边缘跟踪引擎192。现在将关于图3的流程图以及图4-11的例示而更详细地描述边缘描述引擎190的操作。此后描述边缘跟踪引擎192。
在步骤200,边缘描述引擎190检测定义视野中的某一边缘的像素。各种已知的兴趣点检测(IPD)算法可被用于对某一边缘内的此类兴趣点的高级检测。这些算法可检测通常定义一边缘的点,但是这些算法不能为了匹配于随后的帧中该边缘的目的或者为了协调多个成像设备的视图的目的而准确地描述一边缘。下面描述根据本技术的用于准确地描述所检测到的边缘的步骤。
步骤200检测通常被检测为某一边缘的特征兴趣点。各种算法可被用于检测边缘,例如通过检测具有由某一最少数量的像素组成的预先确定的长度的支配灰度梯度方向。这些算法还提供了所检测出的边缘的定向。
一旦在步骤200中标识出边缘的特征兴趣点,边缘描述引擎190就如步骤202至210所述那样描述该边缘。图4示出由捕捉设备20检测到的样本边缘40的至少一部分。样本边缘40可具有长度L,它取自例如图1中所示和/或上述的边缘23中的任一个。如所述,样本边缘40可位于捕捉设备20的视野内的任一x、y、z位置。注意到,与位于更远离捕捉设备20相比,同一边缘离捕捉设备20越近它具有越多的像素。类似地,随着边缘与观察方向之间的角度增加,该边缘将具有更多像素。
如上所述,诸如边缘40之类的边缘可被选择,因为它具有长度为L的、具有单个支配灰度梯度方向的某一预先确定的义的最少数量的像素。例如,在图4中,箭头A-A示出垂直于长度L的单个支配灰度梯度方向。在长度方向L中,像素的灰度值保持相对恒定。
在步骤202中,边缘描述引擎190定义边缘位置与定向向量42。边缘位置与定向向量42可由一3-d向量来定义,其中x、y表示以像素为单位的边缘中心,是被定义成指向最高灰度梯度的方向的2-d定向(指向增加图像强度的方向或指向减少图像强度的方向)。一般来说,该方向跨该边缘的宽度。该信息可通过步骤200的IPD算法来确定。
在步骤206,沿边缘(即垂直于边缘位置与定向向量42)的像素数量可被确定。这是对边缘40的实际长度的下边界估计,因为边缘40的某些部分可能被遮挡。
在步骤210,边缘描述引擎190可生成边缘40的二进制边缘描述符。一般来说,边缘40的边缘描述符提供了边缘40的详细二进制描述,它可被用于在随后的图像帧中或在其他图像捕捉设备的视野内准确地标识边缘40。步骤210的进一步细节在图5的流程图以及图6-11的例示中阐明。
在步骤214,定义像素偏移补块(offset patch),该像素偏移补块以兴趣点为中心且垂直于边缘40的长度L延伸。初始兴趣点可以是步骤202中确定的边缘位置与定向向量42的中心x、y点。如下所述,在对边缘40的边缘描述符的后续确定中该兴趣点可沿长度移动。图6例示出跨边缘40捕捉像素的偏移补块44的示例。
图7是图6的偏移补块44的经放大的例示,包括像素中灰度值的指示。理解到图6的边缘40以及偏移补块44中的灰度值仅仅是示例,会根据从视野中正被检查的边缘23而变化。
在一些实施例中,偏移补块44可具有S个像素。在一个实施例中,S=41个像素,但是理解到在另外的实施例中,偏移补块44可由更多或更少数量的像素组成。在一些实施例中,偏移补块44可具有奇数数量的像素,使得它可跨边缘40的宽度而均匀居中。然而,可想到在另外的实施例中,偏移补块44具有偶数数量的像素。
由于灰度图像结构沿边缘40的长度L不显著变化,可从偏移补块44中的一维像素行S×1来定义边缘描述符。而且,偏移补块44垂直于长度L的定向致使边缘描述符产生相同的响应,而不管图像中边缘的定向如何。这允许边缘描述符成为旋转不变的描述符。
如下所述,可通过在预先确定的义的一个或多个规则下比较偏移补块44中的个体偏移补块对来生成边缘描述符。在各实施例中,边缘描述符可以是两个子串的串接。边缘描述符的第一子串可以是偏移补块44中像素对的数个灰度比较的结果。边缘描述符的第二子串可以是偏移补块44中像素对的数个对比度比较的结果。
然而,在这些比较被执行之前,可以在步骤218和220中建立比较的次序。在步骤218,定义并存储灰度比较的次序(来自偏移补块44的哪些像素就灰度强度而彼此比较)。同样地,在步骤220,定义并存储对比度比较的次序(来自偏移补块44的哪些像素就对比度而彼此比较)。理解到,在另外的实施例中步骤218和220的次序可被反转。
在步骤218和220中偏移补块44内的像素彼此相比较的次序可被随机生成、伪随机生成或基于某种排序层级。不管怎样设置次序,最终为灰度和对比度比较建立的次序在步骤218和219中被存储,使得相同的次序可在特征描述符的将来匹配操作中被使用,如下面所解释的。在另外的实施例中,可在步骤214中的偏移补块的定义之前执行步骤218和/或220。
如下所述,比较的结果被存储在二进制边缘描述符的一位中。因此,所执行的比较的数量定义了该二进制边缘描述符的长度。越长的边缘描述符(例如64位)将提供关于边缘40的定义的越多的细节。越短的边缘描述符(例如32位)将允许在比较来自后续图像和/或来自一个或多个其他成像设备的边缘描述符时进行越快速地处理。理解到,在另外的实施例中,边缘描述符可短于32位或长于64位。
在步骤224,从灰度比较和对比度比较的结果生成边缘描述符。如上所述,边缘描述符的第一子串是由边缘补块中的像素的灰度比较的结果来定义的。灰度值的比较可如下:
其中g(o)表示补块44中在偏移(像素)o处的灰度值g,B是描述符长度。
图8是示出可在确定边缘检测符的灰度子串时执行的某些样本比较的表。在步骤218,在该示例中,比较的次序被建立了,根据该次序,像素38与像素17进行比较用于第一位,像素6与像素30进行比较用于第二位,像素14与像素1进行比较用于第三位,像素14与像素40进行比较用于第四位,以此类推。如所述,图8中的比较的排序仅仅是示例,在另外的实施例中可执行对来自偏移补块44的任何像素的比较。如所示,在一个示例中,同一像素可被用于多个比较中。
参考图7,在偏移补块44的该示例中,像素38的灰度值不大于像素17的灰度值。因此,按照等式1的该比较的结果是“0”用于第一位。像素6的灰度值不大于像素30的灰度值,因此结果是“0”用于第二位。像素14的灰度值大于像素1的灰度值,因此结果是“1”用于第三位。对于所选择的比较排序,这些比较继续进行,直到边缘描述符的灰度子串中的位都被置位为止。
如上所述,边缘描述符的第二子串是由边缘补块中的像素的对比度比较的结果来定义的。对比度值的比较可如下:
对于不同的偏移补块44,可将对比度阈值gt不同地自定义为该偏移补块上最大灰度值差的分数:
gt=z·(maxi(g(oi))-mini(g(oi))),i∈{1,...,B} (等式3)
常数z∈(0,1)可被设置为各种各样的不同分数,如1/3。在另外的实施例中可选择介于0和1之间的其他对比度阈值。而且,理解到在另外的实施例中该阈值可以是对所有偏移补块预先确定的,而非自定义的。
图9是示出可在确定边缘检测符的对比度子串时执行的某些样本比较的表。在步骤220中,在该示例中,比较的次序被建立了,根据该次序,像素8与像素9进行比较用于对比度子串中的第一位(在该示例中是边缘描述符中的第16位),像素39与像素30进行比较用于对比度子串中的第二位,像素1与像素36进行比较用于对比度子串中的第三位,像素17与像素5进行比较用于对比度子串中的第四位,以此类推。如所述,图9中的比较的排序仅仅是示例,在另外的实施例中可执行对来自偏移补块44的任何像素的比较。如所示,在一个示例中,同一像素可被用于多个比较中。
参考图7,在该示例中,像素8和9之间的对比度的差的绝对值不小于阈值gt。因此,按照等式2的该比较的结果是“0”用于对比度子串中的第一位。在该示例中像素39和30之间的对比度的差的绝对值小于阈值gt,从而该比较的结果是“1”用于对比度子串中的第二位。在该示例中像素1和36之间的对比度的差的绝对值不小于阈值gt,从而该比较的结果是“0”用于对比度子串中的第三位。对于所选择的比较排序,这些比较继续进行,直到边缘描述符的对比度子串中的位都被置位为止。
图10示出通过上述比较建立的样本边缘描述符50。在该示例中,位数B是32。然而,如上所述,边缘描述符50内的位数可大于或小于32。图10中所示的边缘描述符50包括长度为B/2的灰度比较子串和长度为B/2的对比度比较子串。理解到,在另外的实施例中边缘描述符可以被不同地组成。例如,边缘描述符50的灰度比较子串可多于边缘描述符50的50%,而在一些实施例中,灰度比较子串可包括边缘描述符50的全部。同样,边缘描述符50的对比度比较子串可多于边缘描述符50的50%,而在一些实施例中,对比度比较子串可包括边缘描述符50的全部。
边缘描述符50提供了对一边缘的准确描述,而同时就处理时间和资源而言是高效的。例如,使用二进制描述符允许使用简单的汉明距离计算来对照后续图像中类似计算的边缘描述符50进行比较,如下文所解释的。这比比较使用欧几里得距离计算的浮点描述符更高效。本技术的这些和其他特征允许特征描述与边缘匹配实时发生。
参考图11,在对如上所述的初始兴趣点计算了初始边缘描述符E0之后,边缘描述符引擎190然后可为沿边缘40的长度的额外的兴趣点定义额外的边缘描述符。具体来说,在步骤228,软件引擎可判断是否有沿长度的额外兴趣点要考虑。在图11中所例示的示例中,边缘描述符引擎190可沿边缘40添加距离D=d个像素,并在新位置计算新的边缘描述符ED。在一些实施例中,d可以是10个像素,但是在另外的实施例中,它可以是比之更多或更少的像素。步骤214和224然后被重复(使用与步骤218和220中原始确定并存储的相同灰度和对比度排序)。偏移补块44在上述的新位置处被定义,新的边缘描述符ED在上述的新的兴趣点处被确定。
然后确定E0和ED之间的汉明距离。如果该汉明距离小于某一阈值t,则将ED取为E0,在进一步沿边缘40的距离D=d个像素处确定新的兴趣点,在该新的兴趣点处确定新的边缘描述符ED。在一些实施例中,该阈值汉明差可以是例如t=B/5,但是理解到在另外的实施例中可使用其他汉明距离作为该阈值。上述步骤被重复,直到汉明距离超过阈值t,此时认为已经到达边缘的一端。然后以相反方向在原点E0处开始重复上述步骤,直到到达相对边缘。此时,在步骤228中没有另外的点要考虑。
在步骤228中如上所述已对边缘40确定了所有的边缘描述符50之后,边缘描述引擎190可接着平滑这些边缘描述符来在步骤232中得到最终的边缘描述符EF。平滑函数可通过在K个随机兴趣点对边缘描述符E1,…,EK取样来操作。该描述符集合上的二进制化的平均定义了该图像边缘的最终边缘描述符EF
其中EK(i)表示描述符EK中的位号i。
上文阐明了如何生成用于描述捕捉设备20的视野中的一个或多个边缘的边缘描述符50。这些边缘描述符50可被用在至少两个情形中。第一个情形中单个捕捉设备20被用于在连续图像帧中捕捉视野,第一图像帧中定义的一个或多个边缘描述符可被用于标识后续图像帧中的相同边缘。第二个情形中多个捕捉设备20被用于捕捉单个场景,为第一捕捉设备20捕捉的图像定义的一个或多个边缘描述符可与为第二或后续捕捉设备20捕捉的该图像定义的一个或多个边缘描述符相匹配。
图12和图13-16的例示描述了边缘匹配引擎192在上述情形中的任一情形中匹配边缘的操作。如下面的描述中所使用的那样,术语“后续图像”指的是由一捕捉设备捕捉的一后续图像帧,或来自另一捕捉设备的图像帧。
在步骤240,通过生成与后续图像中的边缘的姿态(位置和定向)有关的粗略假设在该后续图像中定义搜索空间。该粗略姿态假设(也称为建议的边缘)可由边缘匹配引擎192的帧跟踪器194(图2)生成。帧跟踪器可检查在其中已标识出该边缘的一个或多个先前的数据帧,来获得它在该后续图像中的移动和姿态的估计。
现在将参考图13的例示来描述步骤240中从粗略姿态假设定义搜索空间。定义若干搜索线52(其中之一在图13中被标号),搜索线可以粗略边缘姿态假设54为中心且垂直于粗略边缘姿态假设54延伸。搜索线52可沿边缘姿态假设54彼此均等间隔。在各实施例中搜索线52的数量可变化,但是在边缘姿态假设54的长度长于30像素的情况下,可能存在10条均等间隔的搜索线52。在边缘姿态假设54短于30像素的情况下,可能存在少于10条的搜索线52,例如在一个实施例中为3条搜索线。边缘姿态假设的最大估计误差可由帧跟踪器194给出。搜索线52的长度可使用该最大估计误差来设定。
为了进一步缩减搜索空间,边缘跟踪引擎192可使用有向有限差分梯度过滤器,取向被设定为建议的边缘定向。对于与建议的边缘54相似定向的梯度像素,在搜索线52上产生了局部最大值56(其中一些被编号)。所有搜索线52上的局部最大值56的全部点的并集可定义搜索空间。
在步骤242,边缘跟踪引擎192可按照与从较早的图像确定的边缘的边缘描述符EF的匹配来计算候选边缘描述符。具体来说,边缘描述符可由边缘描述引擎190如上所述对搜索空间中的所有点确定。在该步骤中可使用相同的、所存储的灰度和对比度排序。对于搜索线,具有相对于最终边缘描述符EF最小汉明距离的边缘描述符被保持。从而,如图14中所示,搜索线52可具有单个点58(其中一些在图中被标号),该单个点的边缘描述符最接近地相似于边缘描述符EF。其他候选可被丢弃。
在步骤246,可标识并丢弃离群点。具体来说,被标识为匹配的候选点58的集合可能包离群值,如图14中的点58a。这些离群值可以类似于霍夫变换特征提取技术的过程被标识和去除。然而,利用这些匹配的定向是已知的事实(它们都由上述的相同的有向有限差分过滤器检测出),霍夫空间可从二维(即径向距离和定向)简化为一维(径向距离)。如此,本技术中所使用的过程可比传统的霍夫变换特征提取更快速。在所应用的变换中,这些匹配支持(vote for)累积阵列中的一个距离直方柱。后者可被粗略地离散化成15个像素(但是在另外的实施例中可使用某种其他数量的像素)的距离直方柱。一旦累积阵列被填充,落在具有最大支持数的直方柱及其两个相邻直方柱之外的任何匹配被作为离群值(58a)对待并被丢弃,如图15所示。
在步骤250,边缘跟踪引擎192确定在离群值去除之后候选匹配点58的数量是否超过某一预先确定的最小值。在一些实施例中,该预先确定的最小值可以是3或更大。如果离群值去除之后候选匹配的数量小于该预先确定的最小值,则对于该后续图像不认为找到了与建议的边缘54的匹配,进而拒绝匹配(步骤254)。另一方面,如果离群值去除之后候选匹配的数量大于该预先确定的最小值,则所有剩余的匹配都被确认。
此后,在步骤258、262和264中,边缘参数可被更新用于该后续帧中匹配的该边缘。具体来说,在步骤258中,边缘长度可被更新。如上所述,边缘的初始长度可能由于原始图像中的遮挡而被低估。从边缘上的两个最外面的点开始,该边缘可被延伸,例如使用上面关于步骤228和230所述的方法。诸如图15中的点60之类的新发现的匹配被添加到匹配的集合中。
在步骤262,通过拟合通过这些匹配点的线(如图16中的线62)来更新姿态估计。在一个示例中,可使用简单最小二乘法拟合通过匹配点的集合的线来更新该后续图像中该边缘的姿态估计。由于离群值先前已被去除,因此不需要应用代价高的稳健拟合方法。如果平均残差超过一阈值,则边缘匹配可被拒绝。否则,在步骤264中来自原始图像的边缘姿态和长度被更新来匹配图16中经拟合的线62的中心点、定向和长度。
本文所述的方法可在各种各样的处理系统上执行。图17例示出用于执行本系统的方法的合适的通用计算系统环境100的示例。该计算系统环境100只是合适的计算环境的一个示例,而非意在暗示对本技术的使用或功能范围有任何限制。也不应当将计算系统环境100解释为对在示例性计算系统环境100中所例示的组件中的任何一个或其组合有任何依赖或要求。
本技术可用众多其它通用或专用计算系统、环境或配置来操作。可适用于本技术的公知计算系统、环境和/或配置的示例包括但不限于:个人计算机、服务器计算机、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型机、大型计算机、膝上型计算机和掌上计算机、智能电话和其他手持式设备、包括以上系统或设备的任何系统或设备的分布式计算环境等等。
本技术可在诸如程序模块等由计算机执行的计算机可执行指令的通用上下文中被描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本技术也可以在任务由通过通信网络链接的远程处理设备执行的分布式计算环境中被实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。
参考图17,用于实现本技术的示例性系统包括以计算机110的形式呈现的通用计算设备。计算机110的组件可包括但不限于:处理单元120、系统存储器130、以及将包括系统存储器在内的各种系统组件耦合到处理单元120的系统总线121。系统总线121可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线、以及局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是能由计算机110访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不局限于:随机存取存储器、只读存储器、EEPROM、闪存或其它存储术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、盒式磁带、磁带、磁盘存储或其它磁性存储设备、或可用于存储信息并可由计算机110访问的任何其它介质。通信介质通常承载计算机可读指令、数据结构或程序模块。
系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包含有助于诸如启动时在计算机110中元件之间传递信息的基本例程,它通常被存储在ROM 131中。RAM132通常包含处理单元120可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图17例示出操作系统134、应用程序135、其他程序模块136、以及程序数据137。
计算机110也可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图17例示出对不可移动、非易失性磁介质进行读写的硬盘驱动器141,对可移动、非易失性磁盘152进行读写的磁盘驱动器151,以及对诸如CD ROM或其它光学介质等可移动、非易失性光盘156进行读写的光盘驱动器155。可在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器141通常通过诸如接口140之类的不可移动存储器接口连接到系统总线121,并且磁盘驱动器151和光盘驱动器155通常通过诸如接口150之类的可移动存储器接口连接到系统总线121。
以上所讨论的且在图17中所示的驱动器及其相关联计算机存储介质为计算机110提供了对计算机可读的指令、数据结构、程序模块及其他数据的存储。例如,在图17中,硬盘驱动器141被示为存储操作系统144、应用程序145、其他程序模块146、以及程序数据147。这些组件可以与操作系统134、应用程序135、其他程序模块136、以及程序数据137相同,也可以不同。操作系统144、应用程序145、其它程序模块146以及程序数据147在此被给予了不同的编号,以说明至少它们是不同的副本。用户可以通过输入设备,例如键盘162和定点设备161(通常称为鼠标、跟踪球或触摸垫)向计算机110输入命令和信息。其它输入设备(未示出)可包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些及其他输入设备常常通过耦合到系统总线121的用户输入接口160连接到处理单元120,但是,也可以通过其他接口和总线结构,如并行端口、游戏端口、通用串行总线(USB)端口来进行连接。监视器191或其他类型的显示设备也经由诸如视频接口193之类的接口连接至系统总线121。除了监视器以外,计算机还可包括诸如扬声器197和打印机196之类的其它外围输出设备,它们可通过输出外围接口195来连接。
计算机110可使用到一个或多个远程计算机(诸如,远程计算机180)的逻辑连接而在联网环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,并且通常包括以上关于计算机110所描述的许多或全部元件,尽管图17中只例示出存储器存储设备181。图17中所描绘的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但是还可以包括其他网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机110通过网络接口或适配器170连接到LAN171。当在WAN联网环境中使用时,计算机110通常包括调制解调器172或用于通过诸如因特网等WAN 173建立通信的其它手段。调制解调器172可以是内置的或外置的,可经由用户输入接口160或其它适当的机制连接到系统总线121。在联网环境中,相关于计算机110所描绘的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非限制,图17示出驻留在存储器设备181上的远程应用程序185。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其它手段。
出于说明和描述的目的已经呈现了对本技术的前述详细描述。不旨在面面俱到的或将本技术限制在所公开的精确形式。鉴于上述教导,许多修改和变型都是可能的。选择上述实施例来最好地解释本技术的原理及其实践应用,从而使本领域其他人能够在各种实施例中并用各种适于所构想的特定用途的修改一起最好地利用本技术。意图是,本技术的范围由所附的权利要求进行定义。

Claims (12)

1.一种用于描述视野内的边缘的光度系统,包括:
跨所述边缘的宽度获取的像素的偏移补块,所述补块具有单行预先确定数量的像素;以及
通过在预先确定的规则下比较所述偏移补块内的像素对确定的二进制边缘描述符,所述预先确定的规则比较所述像素的偏移补块中的一个或多个像素对的灰度和对比度中的至少之一,在所述预先确定的规则下的所述比较的结果将所述二进制边缘描述符内的位置位。
2.如权利要求1所述的系统,其特征在于,所述二进制边缘描述符是旋转不变的。
3.如权利要求1所述的系统,其特征在于,所述预先确定的规则比较所述偏移补块中的像素对的灰度值。
4.如权利要求1所述的系统,其特征在于,所述预先确定的规则通过获得所述偏移补块中像素对的灰度值相对一阈值的差来比较像素对的对比度。
5.如权利要求1所述的系统,其特征在于,所述预先确定的规则比较所述偏移补块中像素对的灰度值,以及通过获得所述偏移补块中像素对的灰度值相对一阈值的差来比较像素对的对比度。
6.一种描述成像设备的视野内捕捉的边缘的方法,所述方法包括:
(a)确定所述边缘上的兴趣点;
(b)确定所述边缘的定向;
(c)标识通过所述兴趣点并跨所述边缘的宽度定向的像素行;
(d)比较步骤(c)中标识的像素行内的不同像素对的属性;以及
(e)基于所述步骤(d)中执行的比较的结果对二进制描述符的位置位。
7.如权利要求6所述的方法,其特征在于,所述步骤(d)包括比较所述不同像素对中像素的灰度值来确定一对中的哪一像素具有更高灰度值的步骤。
8.如权利要求7所述的方法,其特征在于,所述步骤(d)进一步包括将相应像素对中像素的对比度相对一阈值进行比较来确定相应像素对中的像素是否具有比该阈值更高的对比度的步骤。
9.如权利要求8所述的方法,其特征在于,所述阈值是基于所述步骤(c)中标识出的像素行的灰度值而自定义的。
10.一种匹配第一图像和第二图像内的一边缘的方法,所述方法包括:
(a)通过以下步骤描述来自所述第一图像的所述边缘:
(i)定义跨所述边缘的宽度获取的像素的偏移补块,所述补块具有单行预先确定数量的像素,以及
(ii)通过比较所述偏移补块内相应像素对内的像素的灰度值和对比度中的至少之一来定义二进制边缘描述符,所述比较的结果将所述二进制描述符内的位置位;以及
(b)通过以下步骤将来自所述第一图像的所述边缘与所述第二图像的所述边缘匹配:
(i)计算所述第二图像中建议的边缘上的兴趣点的二进制边缘描述符,
(ii)在所述第二图像中的所述建议的边缘上的所述兴趣点的边缘描述符与所述第一图像中的所述边缘的所述边缘描述符之间的汉明距离低于预先确定的值的情况下,将所述第二图像中的所述建议的边缘确认为匹配所述第一图像中的所述边缘。
11.一种具有指令的计算机可读存储介质,当所述指令被执行时使得机器执行如权利要求6-10中任一权利要求所述的方法。
12.一种计算机系统,包括用于执行如权利要求6-10中任一权利要求所述的方法的装置。
CN201380067858.3A 2012-12-26 2013-12-19 用于光度边缘描述的方法、系统和介质 Active CN105074729B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/727,053 US9361538B2 (en) 2012-12-26 2012-12-26 Real time photometric edge description
US13/727,053 2012-12-26
PCT/US2013/076693 WO2014105651A1 (en) 2012-12-26 2013-12-19 Photometric edge description

Publications (2)

Publication Number Publication Date
CN105074729A CN105074729A (zh) 2015-11-18
CN105074729B true CN105074729B (zh) 2019-07-05

Family

ID=50023849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380067858.3A Active CN105074729B (zh) 2012-12-26 2013-12-19 用于光度边缘描述的方法、系统和介质

Country Status (4)

Country Link
US (1) US9361538B2 (zh)
EP (1) EP2939181B1 (zh)
CN (1) CN105074729B (zh)
WO (1) WO2014105651A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9677881B2 (en) * 2013-12-19 2017-06-13 Symbol Technologies, Llc Method and apparatus for identifying an edge of an object using laser distance measurement
US9846963B2 (en) * 2014-10-03 2017-12-19 Samsung Electronics Co., Ltd. 3-dimensional model generation using edges
US10552709B2 (en) * 2016-10-05 2020-02-04 Ecole Polytechnique Federale De Lausanne (Epfl) Method, system, and device for learned invariant feature transform for computer images

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1776716A (zh) * 2004-04-27 2006-05-24 微软公司 使用多尺度取向片段的多图像匹配
CN101911100A (zh) * 2008-01-09 2010-12-08 三菱电机株式会社 用于图像识别的基于特征的签名
CN102576372A (zh) * 2009-11-02 2012-07-11 微软公司 基于内容的图像搜索
KR101165359B1 (ko) * 2011-02-21 2012-07-12 (주)엔써즈 이미지와 이미지 또는 이미지와 동영상 사이의 상호 관계 분석 장치 및 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6361910B1 (en) * 2000-02-03 2002-03-26 Applied Materials, Inc Straight line defect detection
EP1480048A1 (en) * 2003-05-23 2004-11-24 Koninklijke Philips Electronics N.V. Automatic test pattern generation
US20050254727A1 (en) * 2004-05-14 2005-11-17 Eastman Kodak Company Method, apparatus and computer program product for determining image quality
ATE470912T1 (de) 2006-04-28 2010-06-15 Toyota Motor Europ Nv Robuster detektor und deskriptor für einen interessenspunkt
US8463047B2 (en) * 2008-07-29 2013-06-11 Superfish Ltd. Edge neighborhood descriptor
US9135514B2 (en) 2010-05-21 2015-09-15 Qualcomm Incorporated Real time tracking/detection of multiple targets
US20120082385A1 (en) 2010-09-30 2012-04-05 Sharp Laboratories Of America, Inc. Edge based template matching
US9065999B2 (en) * 2011-03-24 2015-06-23 Hiok Nam Tay Method and apparatus for evaluating sharpness of image

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1776716A (zh) * 2004-04-27 2006-05-24 微软公司 使用多尺度取向片段的多图像匹配
CN101911100A (zh) * 2008-01-09 2010-12-08 三菱电机株式会社 用于图像识别的基于特征的签名
CN102576372A (zh) * 2009-11-02 2012-07-11 微软公司 基于内容的图像搜索
KR101165359B1 (ko) * 2011-02-21 2012-07-12 (주)엔써즈 이미지와 이미지 또는 이미지와 동영상 사이의 상호 관계 분석 장치 및 방법

Also Published As

Publication number Publication date
EP2939181A1 (en) 2015-11-04
US9361538B2 (en) 2016-06-07
EP2939181B1 (en) 2017-12-06
US20140177956A1 (en) 2014-06-26
WO2014105651A1 (en) 2014-07-03
CN105074729A (zh) 2015-11-18

Similar Documents

Publication Publication Date Title
US11210550B2 (en) Image-based feature detection using edge vectors
JP6216508B2 (ja) 3dシーンにおける3d物体の認識および姿勢決定のための方法
CN102834845B (zh) 用于多摄像装置校准的方法与装置
Hartmann et al. Recent developments in large-scale tie-point matching
US9418313B2 (en) Method for searching for a similar image in an image database based on a reference image
US10558844B2 (en) Lightweight 3D vision camera with intelligent segmentation engine for machine vision and auto identification
JP5261501B2 (ja) 不変の視覚場面及び物体の認識
CN111126412A (zh) 基于特征金字塔网络的图像关键点检测方法
US20120033873A1 (en) Method and device for determining a shape match in three dimensions
CN108875497B (zh) 活体检测的方法、装置及计算机存储介质
CN105074729B (zh) 用于光度边缘描述的方法、系统和介质
Ekekrantz et al. Adaptive iterative closest keypoint
JP6558803B2 (ja) 幾何検証装置及びプログラム
CN108447084B (zh) 基于orb特征的立体匹配补偿方法
US20150254527A1 (en) Methods for 3d object recognition and registration
CN117351078A (zh) 基于形状先验的目标尺寸与6d姿态估计方法
JP2007140729A (ja) 物品の位置及び姿勢を検出する方法および装置
KR101900903B1 (ko) 분할된 이미지의 무게중심에 기반한 이미지 오리엔테이션 추정방법 및 이를 이용한 문자 인식 장치와 문자 인식 방법
Al-Nuaimi et al. Towards location recognition using range images
JP7207479B2 (ja) 建築限界判定方法
Ruiz-del-Solar et al. Applying SIFT descriptors to stellar image matching
Harribhai Using regions of interest to track landmarks for RGBD simultaneous localisation and mapping
Fathi et al. Machine vision-based infrastructure as-built documentation using edge points
Stathopoulou et al. Prior Knowledge About Camera Motion for Outlier Removal in Feature Matching.
Schmid Monocular camera scene reconstruction using oriented feature constellations

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant