线检测方法和设备与流程

文档序号:11832904阅读:205来源:国知局
线检测方法和设备与流程
本发明总体涉及图像处理,具体涉及线检测方法和设备。
背景技术
:线检测技术在图像处理领域有着广泛的应用,例如,车道线检测是线检测技术的一个重要应用。现有的车道线检测技术可以分为两类:基于特征的方法和基于模型的方法。基于特征的方法通过底层特征的组合来定位车道线。然而,该方法对于车道线的边缘形状没有任何全局约束,因此受遮挡和噪声的影响较大。相较于基于特征的方法,基于模型的方法在检测车道线时会使用一些参数来表示车道线,因此该方法对于遮挡和噪声更加鲁棒。基于模型的方法的基本原理是根据输入的特征来更新车道线模型,进而得到待检测的车道线。通常,输入的特征是基于表示车道线的参数检测到的特征点,如边缘点或过滤后的视差点等。在模型更新时,将会针对车道线模型中的各条车道线选取特征点,并利用选取的特征点来进行线拟合以更新车道线模型。选取特征点的原则通常是基于特征点与车道线模型中的各条车道线的距离。然而,检测到的特征点并不准确,其中可能包含有噪声点。例如图1例示了检测到的特征点中包含有噪声点的示例情形。因此,当选取的特征点过多、特别是当选取的特征点中包含了噪声点时,车道线模型的更新将会受到影响从而导致不准确的车道线检测结果。技术实现要素:本公开的目的在于至少解决上述问题。具体而言,本公开的目的在于提出一种线检测技术,通过该技术能够大大减小遮挡和噪声对线模型更新的影响,从而提高线检测的准确性。根据本发明的实施例,提供了一种线检测方法,包括:在当前帧图像中提取符合要检测的线的特征的线段;获取预先建立的线模型;基于所提取的 线段更新所述线模型;根据更新后的线模型,确定要检测的线。根据本发明的另一实施例,提供了一种线检测设备,包括:线段提取部件,配置为在当前帧图像中提取符合要检测的线的特征的线段;模型获取部件,配置为获取预先建立的线模型;更新部件,配置为基于所提取的线段更新所述线模型;检测部件,配置为根据更新后的线模型,确定要检测的线。根据本发明实施例的线检测技术,利用特征线段而不是特征点来进行模型拟合以更新线模型。由于在选取特征线段以进行模型拟合时同时考虑特征线段与线模型中各条线的位置距离和方向距离,因此大大减小了选取到噪声线段来更新线模型的可能性,从而减小了噪声对线模型更新的影响,提高了线检测的准确性。附图说明通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。图1例示了检测到的特征点中包含有噪声点的示例情形。图2示出了根据本发明实施例的线检测方法的流程图。图3示出了在要检测的线是车道线的情况下在根据本发明实施例的线检测方法中提取得到的线段的示例。图4示出了一个车道线模型的示例。图5例示了根据本发明一个实施例的基于提取的线段更新线模型的处理的流程图。图6例示了根据本发明实施例的线检测设备的功能配置框图。图7例示了根据本发明实施例的线检测系统的总体硬件框图。具体实施方式下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。图2示出了根据本发明实施例的线检测方法的流程图。为了便于说明,在下文中,以要检测的线是车道线为例进行说明。如图2所示,在步骤S201,在当前帧图像中提取符合要检测的线的特征的线段。所述要检测的线的特征可以是任何能够表征该线的特征。例如,其可以是(但不限于)线的颜色、灰度、形状、边缘、视差等特征,或这些特征的任意组合。在该步骤中,将采用任何适当的方式来提取符合要检测的线的特征的线段。作为一个示例,可以在拍摄得到的当前帧图像中,通过诸如霍夫变换等直线检测方法直接检测符合要检测的线的特征的线段。作为另一个示例,可以首先基于要检测的线的特征、通过与该特征对应的检测方法在当前帧图像中检测特征点(例如,如果要检测的线的特征为边缘特征,则可以通过边缘检测方法来检测特征点),然后利用检测得到的特征点拟合得到所述线段。图3示出了在要检测的线是车道线的情况下通过该步骤提取得到的线段的示例。该图中的粗体白线段表示提取得到的线段。在步骤S202,获取预先建立的线模型。以要检测的线是车道线为例,相应地,所述线模型是车道线模型。该车道线模型可以是应用本领域中任何现有的方式预先建立的。如何建立车道线模型并非是本发明的关键所在,此处仅仅是为了说明的完整,对一种示例性的车道线模型建立方式进行简单的描述。要建立车道线模型,首先要进行车道线检测。此处,可以采用任何现有的方式来检测车道线。例如,作为一种常用的方法,可以采用B-Snake模型初始化中的CHEVP算法在拍摄得到的图像帧中检测车道线。再比如,作为一种更基本的方法,可以通过在图像帧中进行人工标注来确定车道线。在检测到车道线后,可以根据车道线建立车道线模型。现有的车道线模型有很多种,包括线性模型、孤立点模型、抛物线模型及其扩展、双曲线模型、回旋线模型、样条模型、Snake模型、3D模型等等。本领域技术人员可以根据具体需求建立任一种类型的车道线模型。在本示例,采用多项式来表示车道线模型。具体的,如图4所示,假定某一车道的中线是Lmid,该车道的左侧车道线 是L-1,右侧车道线是L1,该车道左边第n个车道的左侧车道线是L-n,右边第n个车道的左侧车道线是Ln;该某一车道的车道宽度是w0,其左边第n个车道的车道宽度是w-n,其右边第n个车道的车道宽度是wn;vp表示车道线消失的位置的纵坐标;f是镜头的焦距,H是摄像头所在位置的高度。Lmid采用如等式(1)所示的多项式表示:xm=Σi=0naiyi---(1)]]>则车道线模型可表示为:Lj:x=xm-(y-vp)(12kw0+Σi=j-1kwi)(j<0)x=xm(j=0)x=xm+(y-vp)(12kw0+Σi=1jkwi)(j>0)---(2)]]>其中,kwi=f2wiH(f2+vp2)---(3)]]>如前所述,在建立车道线模型之前先进行了车道线检测,因此可以通过将该车道线检测结果代入上述表达式(1),(2),(3)中,计算得到ai和wi(i=0,1,...,n)的值。由此,完成了车道线模型的建立。上述表达式(2)所示的车道线模型仅仅是一个示例,也可以采用其他形式的表达式。例如,可以不使用车道中线,而是直接利用车道的左侧和右侧车道线来建立车道线模型表达式。更明确的说,表达式(1)所示的多项式可以直接用来表示某一车道的左侧或右侧车道线,而不是该车道的中线,并相应地调整表达式(2)中各车道的表达方式。以上已经对示例性的车道线模型建立方式进行了简单的描述。在该步骤S202中,获取通过该示例方式或任何其他方式预先建立的车道线模型。能够理解,作为一个示例,当在一系列视频帧中连续地检测车道线时,在要进行检测的当前帧图像是除第一帧图像之外的其他帧图像的情况下,所述预先建立的线模型可以是前一帧图像中检测车道线所使用的车道线模型。需要说明的是,在实际操作中,当在一系列视频帧中连续地检测车道线时,通常在该一系列视频帧中的前N帧中建立线模型并对其进行验证(例如在第一帧中建立线模型并在随后的N-1帧中验证该模型,N是大于1的整数,其值可以根据具体需要来设定),而不是仅在第一帧中建立线模型之后就直接使用。因此, 作为另一个示例,在要进行检测的当前帧图像是第N帧之后的帧的图像的情况下,所述预先建立的线模型可以取其前一帧图像中检测车道线所使用的车道线模型。在步骤S203,基于所提取的线段更新所述线模型。能够理解,由于在步骤S201中提取的线段是符合要检测的线的特征的,因此这些线段是形成要检测的线的候选线段,即,可以基于这些线段获得要检测的线。具体的,在该步骤中,将采用所提取的线段来更新在步骤S202获取的线模型。作为一种基本的更新方法,可以直接利用所提取的各个线段进行模型拟合,从而得到更新的线模型。可以采用常用的最小二乘法来进行所述模型拟合。例如,对于如表达式(2)所述的车道线模型,可以选取使得以下表达式(4)具有最小值的拟合方式,并确定在该拟合方式中ai和wi的值,由此得到更新的车道线模型:Σj=1mDIFFji2---(4)]]>其中,DIFFji为线段Sj与线模型中的线Li的差异,该差异可以通过相似度、距离等任意方式来表示。当然,最小二乘法仅仅是一种示例,也可采用诸如梯度下降等其他现有的方式来进行模型拟合。上述线模型更新方法在某些情况下效果可能不是很好。例如,如图3所示,要检测的车道线有3条,即车道线模型中包含3条车道线,而提取得到的线段散布在当前帧图像中,因此在对提取得到线段进行模型拟合时,无法确定各条线段分别应该对应于哪条车道线,从而会影响车道线模型的更新。再比如,可以看出,例如图3中用圆圈框出的线段是噪声,其不应用于车道线模型的更新,而按照上述线模型更新方法,该线段也将被用来进行模型拟合,从而将会影响车道线模型的更新。针对这一问题,作为示例,在步骤S203中可以采用下文中描述的线模型更新方法。以下将结合图5对该方法进行描述。图5例示了根据本发明一个实施例的基于提取的线段更新线模型的处理的流程图。如图5所示,在步骤S2031,对于每一条所述线段,确定线模型中与其对应的线。在该步骤中,作为示例,对于每一条所述线段,可以考虑其与线模型中的每条线的位置距离和方向距离两者来确定与其对应的线。下面对于这一示例方法进行详细的描述。假设Dij为线段Sj到线模型中的线Li的位置距离,则Dij=Σk=1njdki---(5)]]>其中,nj为线段Sj上的像素点的个数,dki为线段Sj上的点k到线模型中的线Li的位置距离。表达式(5)中的位置距离dki可以通过各种适当的方式来计算。例如,作为示例,可以利用欧氏距离来表示该位置距离dki,即假设所述线Li的表达式为aix+biy+ci=0(以直线为例),则dki=|aixki+biyki+ci|ai2+bi2---(6)]]>能够理解,当线模型中的线Li是曲线时,同样可以利用求导等本领域中公知的方法来计算线段Sj上的点到该线Li的欧氏距离,此处不再赘述。另一方面,利用欧氏距离来表示表达式(5)中的位置距离dki仅仅是一个示例,也可以通过例如巴氏距离、马氏距离等来表示该位置距离dki。线段与线模型中的线的方向距离可以通过各种适当的方法来计算。例如,当线模型中的线是直线时,可以直接计算该直线的方向与线段的方向之间的方向夹角作为所述方向距离。在本公开中,作为一种示例,通过如下表达式(7)来计算线段与线模型中的线的方向距离。具体的,假设Tij为线段Sj到线模型中的线Li(该线Li既可以是直线,也可是曲线)的方向距离,则Tij=Σk=1nj|KSj-KTki|---(7)]]>其中,为线段Sj上的点k处的梯度(线段Sj上的各点处的梯度均相同,即该线段的梯度),为线模型中的线Li在点k’处的切线的梯度方向,该点k’是线Li上与线段Sj上的点k具有相同的横坐标或相同的纵坐标的对应点。在如上所述对于每一条线段计算得到其与线模型中的每条线的方向距离和位置距离后,可以将与该线段的方向距离和位置距离最小的线作为与该线段对应的线。作为示例,可以通过以下处理来确定与所述线段的方向距离和位置距离最小的线:对于线模型中的每条线,如表达式(8)所示计算所述线段与该条线的方向距离和位置距离的加权运算结果,并选择与最小的加权运 算结果对应的线作为与所述线段的方向距离和位置距离最小的线:w1*Dij+w2*Tij(8)其中,Dij和Tij分别为线段Sj到线模型中的线Li的位置距离和方向距离,w1表示位置距离的权重,w2表示方向距离的权重,所述权重可以根据需要任意设定,通常w1+w2=1。在上面的示例中,基于加权运算结果来确定与线段的方向距离和位置距离最小的线,这仅仅是一种示例,也可以基于方向距离和位置距离的例如方差等来确定与线段的方向距离和位置距离最小的线。在步骤S2032,按照所确定的各个线段与线模型中的线的对应关系,利用所述各个线段进行模型拟合,从而得到更新的线模型。在上述步骤S2031中对于每一条线段确定了线模型中与其对应的线,即确定了各条线段分别应该用于哪条车道线的更新。在该步骤S2032,将基于这一确定的对应关系,利用所述各个线段进行模型拟合。如前所述,可以利用诸如最小二乘法、梯度下降等各种方式来进行模型拟合。例如,以采用最小二乘法进行拟合为例,对于如表达式(2)所例示的车道线模型,可以选取使得以下表达式(9)具有最小值的拟合方式,并确定在该拟合方式中ai和wi的值,由此得到更新的车道线模型:Σi=1nΣj=1mi(w1*Dij+w2*Tij)2---(9)]]>其中,Dij和Tij分别为线段Sj到线模型中的线Li的位置距离和方向距离,n是模型中线的数量,mi表示与第i条线对应的线段的数量,w1表示位置距离的权重,w2表示方向距离的权重,所述权重可以根据需要任意设定,通常w1+w2=1。以上结合图5描述了基于提取的线段更新线模型的示例。可选的,在步骤S2031中,如果对于某一线段,计算得出了该线段与线模型中的每条线的方向距离和位置距离的加权运算结果(或方差等),并且其中加权运算结果(或方差等)的最小值也大于一预先设定的阈值,则认为该线段是噪声,线模型中没有与该线段对应的线。这样,在随后的步骤S2032中将不会利用该线段进行模型拟合,从而可以避免噪声对线模型更新的影响。回到图2,在步骤S204,根据更新后的线模型,确定要检测的线。通过上述处理得到的更新后的线模型描述了当前帧图像中的各条线,因 此可以从该更新后的线模型直接得到当前帧图像中的要检测的线。以上详细描述了根据本发明实施例的线检测方法,在该方法中利用特征线段来进行模型拟合以更新线模型。在本实施例的上述线模型更新方法中,在选取特征线段进行模型拟合时不仅考虑特征线段与线模型中各条线的位置距离还考虑它们之间的方向距离,因此与选取特征点进行拟合时仅考虑特征点与线的位置距离的方案相比,大大减小了选取到噪声线段来更新线模型的可能性,从而减小了噪声对线模型更新的影响,提高了线检测的准确性。下面参考图6描述根据本公开实施例的线检测设备。图6例示了根据本发明实施例的线检测设备600的功能配置框图。如图6所示,线检测设备600可以包括线段提取部件601、模型获取部件602、更新部件603和检测部件604,所述各个部件可分别执行上文中结合图2描述的线检测方法的各个步骤/功能。因此,以下仅对该线检测设备600的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。线段提取部件601配置为在当前帧图像中提取符合要检测的线的特征的线段。所述要检测的线的特征可以是任何能够表征该线的特征。例如,其可以是(但不限于)线的颜色、灰度、形状、边缘、视差等特征,或这些特征的任意组合。线段提取部件601将采用任何适当的方式来提取符合要检测的线的特征的线段。作为一个示例,可以在拍摄得到的当前帧图像中,通过诸如霍夫变换等直线检测方法直接检测符合要检测的线的特征的线段。作为另一个示例,可以首先基于要检测的线的特征、通过与该特征对应的检测方法在当前帧图像中检测特征点,然后利用检测得到的特征点拟合得到所述线段。模型获取部件602配置为获取预先建立的线模型。如上文所述,该线模型可以是应用本领域中任何现有的方式预先建立的,并且如何建立线模型并非是本发明的关键所在,因此此处不再详细描述。能够理解,作为一个示例,当在一系列视频帧中连续地检测车道线时,在要进行检测的当前帧图像是除第一帧图像之外的其他帧图像的情况下,所述预先建立的线模型可以是前一帧图像中检测车道线所使用的车道线模型。作为另一个示例,当在一系列视频帧中连续地检测车道线时,如果在其中的第一帧中建立线模型并在随后的N-1帧中对其进行验证,则在要进行检测的当前帧图像是第N帧之后的帧的图像的情况下,所述预先建立的线模型可以取其前一帧图像中检测车道线所使用的车道线模型。更新部件603配置为基于线段提取部件601提取的线段更新模型获取部件602获取的线模型。作为一个示例,更新部件603利用所提取的各个线段进行模型拟合,从而得到更新的线模型。具体的,更新部件603可以利用诸如最小二乘法、梯度下降等各种方式来进行模型拟合。作为另一个示例,更新部件603配置为对于每一条线段确定线模型中与其对应的线,并按照所确定的各个线段与线模型中的线的对应关系,利用所述各个线段进行模型拟合,从而得到更新的线模型。其中,在对于每一条线段确定线模型中与其对应的线时,更新部件603可以配置为对于每一条所述线段,计算其与线模型中的每条线的方向距离和位置距离,并将与该线段的方向距离和位置距离最小的线作为与该线段对应的线。检测部件604配置为根据更新后的线模型确定要检测的线。图7例示了根据本发明实施例的线检测系统700的总体硬件框图。如图7所示,线检测系统700可以包括:输入设备710,用于从外部输入有关图像或信息,例如摄像机拍摄的深度图、灰度图(彩色图)等,该输入设备例如可以是键盘、鼠标、摄像机等等;处理设备720,用于实施上述的按照本公开实施例的线检测方法,或者实施为上述的线检测设备,该处理设备可以是能够实现上述功能的任何具有处理能力的装置,例如其可以是设计用于进行在此所述的功能的通用处理器、数字信号处理器(DSP)、ASIC、场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、离散门或晶体管逻辑、离散的硬件组件或者其任意组合;输出设备730,用于向外部输出实施上述线检测过程所得到的结果,例如检测出的线,该输出设备例如可以是显示器、打印机等等;以及存储设备740,用于以易失或非易失的方式存储上述线检测过程所涉及的诸如深度图、灰度图(彩色图)、各种阈值、预先建立的线模型、提取出的线段、更新的线模型等等,该存储设备例如可以是随机存取存储器(RAM)、只读存储器(ROM)、硬盘、或半导体存储器等等的各种易失或非易失性存储器。以上以将根据本发明实施例的线检测技术应用于车道线检测为例进行了描述,能够理解,根据本发明实施例的线检测技术也可以应用于需要使用线模型的各种其他线检测情形中。以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是, 在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。本公开中的步骤流程图以及以上方法描述仅作为例示性的例子并且不意图要求或暗示必须按照给出的顺序进行各个实施例的步骤,某些步骤可以并行、彼此独立或按照其他适当的顺序执行。另外,诸如“其后”、“然后”、“接下来”等等的词语不意图限制步骤的顺序;这些词语仅用于引导读者通读这些方法的描述。另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。还需要指出的是,在本发明的装置和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。对本领域的普通技术人员而言,能够理解本公开的方法和装置的全部或者任何部分,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现。所述硬件可以是利用被设计用于进行在此所述的功能的通用处理器、数字信号处理器(DSP)、ASIC、场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、离散门或晶体管逻辑、离散的硬件组件或者其任意组合。通用处理器可以是微处理器,但是作为替换,该处理器可以是任何商业上可获得的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如DSP和微处理器的组合,多个微处理器、与DSP核协作的一个或多个微处理器或 任何其他这样的配置。所述软件可以存在于任何形式的计算机可读的有形存储介质中。通过例子而不是限制,这样的计算机可读的有形存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储器件或者可以用于携带或存储指令或数据结构形式的期望的程序代码并且可以由计算机访问的任何其他有形介质。如在此使用的,盘包括紧凑盘(CD)、激光盘、光盘、数字通用盘(DVD)、软盘和蓝光盘。本发明公开的智能控制技术还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。本发明所公开的智能技术也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现,或者通过存储有这样的程序产品的任意存储介质来实现。可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明的范围。因此,本发明不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本发明的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1