用于具有有限内部存储器的处理器的动态线检测系统的制作方法

文档序号:6497364阅读:153来源:国知局
用于具有有限内部存储器的处理器的动态线检测系统的制作方法
【专利摘要】线检测系统利用本地存储器计算出图像空间像素数据的从图像空间至霍夫空间的部分转换结果。针对与部分转换中存在的线相对应的边缘分析结果。针对在之前计算出的部分结果中检测出的其它线来计算线以识别图像中的最长线。
【专利说明】用于具有有限内部存储器的处理器的动态线检测系统
[0001]相关申请的交叉引用
[0002]本申请请求2011年11月21日提交的美国专利申请N0.13/300, 993的优先权,该申请的内容在此通过引用以其整体并入本文。
【技术领域】
[0003]本发明的实施例涉及图像处理,而且具体涉及检测图像中的线。
【背景技术】
[0004]基于计算机的图像处理和图像分析技术可被用来在数字化图像中检测形状(例如,线、圆圈或椭圆)。例如,可针对来自车载相机的图像分析其中的线形或其它内容;该领域中的具体应用包括驾驶辅助系统,其通过将路上的车道标记识别为线来识别车道标记。这些系统随后可确定所驾驶的车辆处于车道的什么位置,例如,警告车辆驾驶员是否移动地太靠近车道边缘。能够进行精确实时分析的快速稳定的线检测方法是这种系统所需的。一种方式使用被称为霍夫变换的技术,除了其它优势之外,其还能够检测噪声图像以及具有亮度变化的图像中的线形。
[0005]自车载相机捕获的图像首先被预处理以识别出图像中的边缘(例如,利用Sobel或Prewitt算子),由此创建“边缘图像”。霍夫变换随后被用来通过首先将图像中的数据从“图像空间”转换成“霍夫空间”来确定边缘图像中的哪个边缘是线。图像空间指的是图像中的普通(x,y)坐标数据的表达式,其中可利用等式(I)表示线,如下所示。
[0006]y = mx+b (I)
[0007]在等式⑴中,m是线的斜率,b是线与y轴交叉的位置。在霍夫空间,该同一线通过利用第一参数P (它是线与原点之间的最短距离)和第二参数Θ (它是该最短线路与X轴之间的角度)表示。总体上,可利用下述等式(2)中的关系表示霍夫空间中的线。
[0008]p=x cos Θ +y sin Θ (2)
[0009]尤其,图像空间中的线减小为坐标为(P,Θ )的霍夫空间中的单个点,同时图像空间中的非线性形状产生霍夫空间中的曲线或其它非点形状。
[0010]这样,理论上,可简单地针对单点来搜索所转换的霍夫空间数据,单点的位置揭示了图像空间中的哪个边缘对应于这些线。实际上,霍夫变换通过利用等式(2)对于每个(X,y)边缘像素针对Θ值的预定组计算大量P值来转换并搜索U,y)边缘像素数据。保持尺寸为P X Θ的二维阵列(“累加器阵列”);阵列中的每个单元累计了具体(P,Θ)对已经被计算(以及被上舍入或下舍入具有最近值的阵列中单元中)的次数的实时统计或“投票”。由于属于直线的(x,y)边缘像素的组比不对应于直线的(x,y)边缘像素的组更频繁地产生相同的(P,Θ)对,所以二维累加器阵列中的更高的投票数预示着与线相对应的(P,Θ)对。因此,可针对局部最大值来搜索二维累加器阵列中的投票,该局部最大值对应于初始图像的(x,y)空间中的线。
[0011]示例可进一步示意出图像空间和霍夫空间之间的关系。图1A和IB分别示出了路面100及其相应霍夫变换200的简化表示。路面情景100包括包括中央车道标记102a,104a和边缘车道标记106a,108a以及一个车道中的汽车IlOa以及车道外的其它对象112a,114a,116a。路面情景100所示的(x,y)图像空间中的(0,0)原点118被布置在情景100的近似中心。如上所述,图像空间中的线减小为霍夫空间中的点;在图1B所示的霍夫空间150中,线102a, 104a, 106a, 108a对应于点102b, 104b, 106b, 108b (但是,注意,用于产生图1B的转换程序中的伪影产生了点102b,104b,106b,108b周围的噪声)。由于中央车道标记102a,104a靠近原点118,它们的P值(即,线102a,104a与原点118之间的最短距离)较小,如霍夫空间150中它们的相应点102b, 104b所反映的那样。由于点102a, 104a处于原点118的相对侧,它们的Θ值近似相反地相等,也如霍夫空间150所反映的那样。与原点118远离的边缘车道标记106a,108a具有更大的P值,如所示。路面情景100中的其它对象110a,112a,114a,116a包括许多曲线和其它形状,因此被转换成(P,Θ )对的带110b,112b,114b,116b。
[0012]实施霍夫变换的计算机处理器在存储器中存储了边缘图像,并且要求可在任意时间获取对边缘图像的任意部分的访问,这取决于边缘处在其中的什么位置。此外,现有系统和方法要求大量二维累加器阵列来记录针对P和Θ值的投票;这两个要求取决于快速存储器。通常,计算机系统中的存储器分等级地配置,其中相对较小的快速(但是昂贵)存储器靠近处理器,而较慢的(但是便宜)更远离存储器。注意,在本说明书中,术语“本地存储器”被用来表示快速存储器,但是该术语不是用于进行限制的而是可应用至架构上比那种大的较慢存储器(此处称为“主”或“系统”存储器)靠近处理器的各种类型的寄存器文件、高速缓存、LI或L2存储器、或任意其它类型的存储器。
[0013]二维累加器阵列和边缘图像的大尺寸以及霍夫变换对其的不可预测的“随机”访问,不仅意味着它们不能适应本地存储器,而且意味着累加器阵列和边缘图像的一部分不能有效地被高速缓存;除非本地存储器或高速缓存足够大到能够存储整个边缘图像和累加器阵列,霍夫变换将运行地非常慢,因为它对远程主存储器进行重复的随机访问。现代桌面计算机处理器可能具有足够大的本地存储器来很好地运行霍夫变换,但是低功耗移动或数字信号处理器,诸如基于车辆的图像检测系统中使用的处理器不是这样的。对于正在开发的产生尺寸一直增大的数字图像的低成本高分辨率数码相机,问题仅仅变得更糟。因此,需要能够在具有有限本地存储器的处理器上快速运行的有效的线检测系统。

【发明内容】

[0014]本发明的实施例包括用于通过动态地使用有限本地存储器空间来检测图像中的线的系统和方法。利用霍夫变换,从图像空间(x,y)边缘数据产生的霍夫空间(P,Θ)数据在传输过程中被分析(例如,仅仅利用一维累加器阵列),从而减小所需的存储空间。对于Θ值的给定组(例如,处于O和180度之间的范围)中的Θ的每个值,针对与检测到的边缘相对应的每个(X,y)像素计算P值的组。P值被存储在一维阵列中,随后对其搜索最大值。如果检测到的局部最大值大于已经发现的那些(对于之前分析的θ的值),局部最大值的组被更新成新检测到的更大值。因此,θ的每个值被依次分析。
[0015]在一个方面中,一种用于检测图像中的线的方法包括:接收与图像中的检测到的边缘相对应的图像空间像素数据。利用本地存储器计算出图像空间像素数据至霍夫空间的部分转换结果。检测与部分转换中存在的线相对应的边缘。将所述线与在之前计算出的部分转换中检测出的其它线进行比较以识别出图像中的最长线。
[0016]在各种实施例中,计算部分转换包括对图像空间像素数据的线性访问。Θ值的范围可被划分成预定范围内的多个离散值,而且Θ的值可被分配给每个部分转换。计算部分转换的结果可包括(i)利用图像空间像素数据和Θ的预定值来计算多个P值以及(ii)在本地存储器中存储与P值相对应的投票。分析结果可包括搜索本地存储器中存储的投票的最大数,而且投票的最大数可与预定阈值进行比较。将所述线与其它线进行比较包括将针对所述线的投票与针对之前检测出的线的投票进行比较。
[0017]分析结果可进一步包括在检测到的线阵列中存储所述线;存储线可包括对之前检测到的更短的线进行重写。如果所述线不处于当前存储在检测到的线阵列中的之前检测到的线的噪声值内,则可以在检测到的线阵列中存储所述线;可替换地或者此外,如果所述线满足(i)处于当前存储在检测到的线阵列中的之前检测到的线的噪声值内、以及(ii)比之前检测到的线长,则在检测到的线阵列中存储所述线。
[0018]在另一方面中,一种用于检测图像中的线的系统包括本地存储器、经由高速接口连接至本地存储器的处理器。处理器被配置用于接收与图像中的检测到的边缘相对应的图像空间像素数据;利用本地存储器计算出图像空间像素数据从图像空间至霍夫空间的部分转换的结果;针对与部分转换中存在的线相对应的边缘分析结果;以及将所述线与在之前计算出的部分结果中检测出的其它线进行比较以识别出图像中的最长线。
[0019]在各种实施例中,系统还包括经由慢速接口连接至处理器的主存储器,用于存储图像。图像的尺寸可大于本地存储器的尺寸,而且处理器可以是数字信号处理器。相机可产生图像。输入端口可从本地存储介质或从网络接收图像或图像空间像素数据。处理器可被进一步配置用于检测图像中的边缘以及用于产生图像空间像素数据。本地存储器可包括用于存储线的检测线阵列。计算部分转换的结果可包括(i)利用图像空间像素数据和Θ的预定值来计算多个P值以及(ii)在本地存储器中存储与P值相对应的投票。分析结果可包括搜索本地存储器中存储的投票的最大数。
[0020]在另一方面中,车道检测系统分析从车载相机接收的路面图像。系统包括本地存储器和经由高速接口连接至本地存储器的处理器。处理器接收从相机接收与路面图像中的检测到的边缘相对应的图像空间像素数据,利用本地存储器计算出图像空间像素数据从图像空间至霍夫空间的部分转换的结果,针对与部分转换中存在的线相对应的边缘分析结果,将所述线与在之前计算出的部分结果中检测出的其它线进行比较以识别出图像中的最长线,以及至少部分地基于识别出的最长线来检测车道。线可包括车道标记。
[0021]在另一方面中,本发明涉及一种配置有静态或数码相机及上述车道检测系统的车辆。车辆可包括用于在车道检测系统检测到偏移的情况下警告驾驶员的各个电路,或者可包括用于自动改变车辆路线以校对偏移的转向控制逻辑。在又另一方面中,本发明涉及一种移动装置,例如“智能电话”,其配备有数字静物摄影机或视频相机并且被编程来实现上述车道检测功能。移动装置可进一步被编程来在检测到偏移时利用视觉或音频提示警告驾驶员。
[0022]在另一方面中,一种用于检测图像中的线的方法包括(a)接收与图像中的检测到的边缘相对应的图像空间像素数据;(b)利用本地存储器来计算图像空间像素数据至霍夫空间像素数据的部分转换的结果;(C)检测与部分转换中存在的线相对应的边缘;(d)重复步骤(b)和(C);以及(e)比较在步骤(C)中检测到的线与步骤(C)的之前重复中检测到的其它线以识别出图像中的最长线。
[0023]参考下面的说明、附图以及权利要求,这些和其它目标以及在此公开的本发明的这些优势和特征将变得更加明显。而且,应该理解的是,此处描述的各种实施例的特征不是相互排斥的,而是可以存在于各种组合和排列中。
【专利附图】

【附图说明】
[0024]附图中,不同示图中的类似参考标号一般指的是相同部分。下文中,参考后面的附图描述了本发明的各种实施例,其中:
[0025]图1A和IB分别描绘了路面情景及其霍夫空间变换;
[0026]图2是根据本发明实施例的用于检测图像中的线的方法的流程图;
[0027]图3是根据本发明实施例的用于检测图像中的线的系统的框图;
[0028]图4A - 4B是表示根据本发明实施例的一维累加器阵列的表格;以及
[0029]图5是表示根据本发明实施例的检测线阵列的表格。
【具体实施方式】
[0030]图1图示了用于利用具有有限本地存储器的处理器检测图像中的线的方法200。首先呈现方法200中的每个步骤的简要概览;下文将更详细描述每个步骤。在第一步骤202中,从输入源接收与源图像中检测到的一个或多个边缘相对应的图像空间(X,y)像素数据。像素数据的尺寸使得其不能同时被存储在本地存储器中。数据可按照表格或阵列进行存储,或者存储为有序列表,或者与二维(x,y)结构对应或可转换成二维(x,y)结构的任意其它格式。任意这种格式被当作是图像空间(X,y)像素数据,如该术语在此处的使用一样。
[0031]在第二步骤204中,利用本地存储器部分地计算(X,y)像素数据从图像空间至霍夫空间的转换。在第三步骤206中,针对与部分转换中存在的线相对应的边缘来分析部分转换的结果。在第四步骤208中,将该线与之前计算的部分结果中检测到的其它线进行比较以识别出图像中的最长线。如下文将要详细描述的那样,可针对Θ的每个值重复第二步骤204、第三步骤206和第四步骤208,而且针对通过步骤的每个新循环重新使用小的本地存储器。随着在每个循环中识别出了新的线,它们与之前识别出并且根据它们的尺寸和/或其它因素而保存或忽略的线进行比较。
[0032]回到第一步骤202,更详细地说,可从诸如相机或其它图像获取装置、本地存储介质(例如,CD,DVD,硬盘,闪存,或其他这种介质)、网络连接或计算机存储器之类的任意适当源接收以及经由输入端口传递图像空间(x,y)像素数据。像素数据可以是任意格式(例如JPEG,GIF, PNG或BMP)的边缘图像,而且包括原始图像中的边缘的位置的二维表示。例如,图像中检测到的边缘可由比图像中的非边缘区域更暗的颜色表示。可替换地或者此外,像素数据可包括描述原始图像中的边缘的(x,y)坐标的数字;(x,y)值可被压缩或解压,而且可具有任意格式(例如,整数、定点、浮点)。在一个实施例中,针对所有边缘像素的(X,y)坐标被存储在线性阵列中。由于边缘像素被线性地且确定地访问(例如,在图像中从左至右和从上至下,或任意其它顺序),一次仅仅能读取边缘像素的一部分(以及存储在例如本地存储器中);当边缘像素的本地存储接近耗尽时,可能在需要新的边缘像素组之前提取它们,从而允许此处描述的方法的不间断操作。
[0033]本发明并不限于原始图像中检测到的边缘的任意具体表示,传递该信息的任意方法都处于本发明的范围。创建(x,y)像素数据的边缘检测功能可与本发明的方法200运行在相同处理器或系统上或者可运行在分开的处理器或系统上。实现边缘检测功能的系统可直接从数码相机或其它图像获取装置接收图像和/或视频帧,或者图像可首先由其它系统处理和/或存储在其它系统上。
[0034]在第二步骤204,利用本地存储器部分地计算(X,y)像素数据从图像空间至霍夫空间的转换。在一个实施例中,从Θ值的预定组选择Θ的单个值;随后利用等式(2)、接收的(X,y)像素的组以及Θ的单个值计算多个P值。Θ值的重置通过步骤204被用于后续循环中,但是仅仅Θ的单个值被用在每个循环中从而限制所产生的P值的数量以及存储它们的累计投票所需的存储器空间。如果本地存储器的尺寸允许,可在每个循环针对多于Θ的一个值计算P值。在一个实施例中,与计算的P值相关的数据(例如,投票,下文将更详细地描述)被存储在本地存储器中的一维累加器阵列中。
[0035]不同应用的Θ值的范围可不同;例如,设计成对包含未知形状的图像进行扫描的系统可从O至180度扫描Θ,而车载系统(其中表示车道标记的线可被假设为落入已知角度范围)可仅仅从O至90度或45至135度扫描Θ。还可调节范围内Θ值的数量(即,每个Θ值的步长尺寸);以附加的处理时间为代价,更多的Θ值可产生更精确的结果。但是,注意,附加的Θ值可能不要求附加的本地存储器空间,这是因为每个Θ值重复使用空间。在各种实施例中,10、100或1000个Θ值可被用于预定范围。
[0036]更具体地,针对P值范围的投票的实时统计在本地存储器中累计;每次计算新P时,相应的投票计数递增。在一个实施例中,投票被存储在一维累加器阵列中,但是本发明并不限于任意具体数据结构,用于存储的任意适当系统都处于本发明的范围内。本地存储器可被分成与介于例如O - 10、-10 - 10,-100 - 100或O - 100之间的P值相对应的投票箱或桶。在一个实施例中,箱的范围由输入图像的尺寸动态确定,而且上限由图像上的对角线距离确定。箱之间的P的步长尺寸可增大以节省存储器空间或减小以改进线检测的精确度。在各种实施例中,步长尺寸是0.1、0.5、1.0或5.0。P的每个值可在其被计算时被记录在累加器阵列中或者多个P值。在一个实施例中,输入图像尺寸是720X480像素的尺寸,而且累加器阵列要求3170字节的本地存储器。
[0037]在第三步骤206,针对对应于转换过程的该部分中存在的线的边缘,分析部分转换(即,至与Θ的单个值相对应的霍夫空间的转换的一部分)的结果。在一个实施例中,针对预定数量的局部最大值分析累计的投票。预定数量可针对不同应用而变化;车载系统可被配置成搜索两个最大值,例如,该两个最大值可对应于与车辆最近的两个车道标记。但是,系统可被配置成搜索任意数量的(即,一个或多个)的最大值。阈值可被规定,而且候选投票计数可仅仅在其超过阈值时才被当作是潜在最大值。阈值取决于应用并且直接被识别而不需要过度实验。例如,其可被向下调节以检测更短的线或者被向上调节以检测更长线。在一个实施例中,如果没有在图像中找到线,则阈值被动态地向下调节,或者如果找到太多线则向下调节。如果已经在累加器阵列的第一部分中中找到预定数量的最大值,而且随后在累加器阵列的第二部分中发现更大的最大值,则更大的最大值替换已经发现的具有最小值的那些最大值。一旦找到预定数量的最大值,将来的投票技术可与已经发现的具有最小值的最大值而不是阈值进行比较。
[0038]如果其它潜在最大值落入已经检测到的最大值的噪声范围内,则可抛弃它们。车道标记可能太厚,例如,使得针对组成其左边边缘及其右边边缘的线来检测最大投票计数,而且车道检测系统可优选仅仅针对每个车道标记检测一条线。因此,在检测到最大值时,在选择该检测到的局部最大值之前可能参照噪声值,针对之前检测到的最大值搜索噪声值与最大值的距离内的(P,Θ)空间。如果找到一个,则当前检测到的最大值被抛弃。在一个实施例中,如果当前最大值的投票计数较大,则之前检测到的最大值被抛弃而当前的那个被采用,即使两条线都处于彼此噪声值内。例如当所捕获的图像包括具有与实线紧邻的虚线的通车道标记时,该方案可提升。如果与虚线之一相对应的局部最大值被首先检测到并保存时,最大值与相邻实线相对应时最大值被抛弃,检测长的线。可针对P或Θ中的每个来定义单独的噪声参数,而且可针对预定数量的最大值的每个定义不同噪声参数(例如,第一最大值/线可被配置成使用比第二最大值/线更低噪声容限)。在一个实施例中,不同噪声参数组可与针对每个检测到的最大值保存的投票数一起存储在数据结构中。
[0039]在第四步骤208,该线或部分转换中检测到的线可与之前计算出的部分结果中检测到的其它线进行比较。其它线可存在本地存储器中并且可按照诸如检测线阵列之类的数据结构布置于其中。新检测到的线可填充检测线阵列中的一个空隙,或者取代阵列中的现有线,如果其具有比至少一个已经存在的线更大的投票数而且处于具有更大投票计数的任意已经存在的线的P和/或Θ噪声参数之外。注意,如上所述,如果新检测到的线具有比已经存在的线更大的投票计数,新检测到的线可替代已经存在的线,即使其处于噪声参数之内。检测值阵列可包括针对检测到的线的数量,P,Θ,和/或投票计数的段。
[0040]在一个实施例中,部分转换的结果被分析(例如,如步骤三206)并且分析的结果(例如,步骤四208中找到的一个或多个线)随后与之前计算出的结果进行比较。在另一实施例中,步骤三206和步骤四208并行执行,而且累加器阵列中的每个投票计数可以在与累加器阵列中其邻近项进行比较的同时与检测线阵列的项目进行比较。本发明不限于此处描述的步骤202,204,206,208的任意具体顺序,而且步骤的任意组合或划分都处于本发明的范围内。
[0041]图3中图示了用于利用具有有限本地存储器304的处理器302来检测线的系统300。处理器302可以是数字信号处理器或低功耗处理器。在一个实施例中,本地存储器304是与处理器302相邻布置的高速缓存,如图3所示;在另一实施例中,本地存储器304处于处理器内部(例如,LI存储器)。多层次存储器系统中的任意本地存储器都落入本发明的范围,但是,本发明不限于任意具体布置或类型的本地存储器304。
[0042]本地存储器304经由高速链接306连接至处理器302,使得处理器302能够快速地对本地存储器304读取或写入内容(例如,在一个、五个或十个时钟周期内)。相反,主存储器308被布置成远离处理器302并经由低速链路310进行连接。容量比本地存储器304大的主存储器308要求比本地存储器304远远更多的时钟周期来让处理器302进行存储和提取数据(例如,100次循环)。因此,根据本发明,本地存储器304中的一维累加器或检测线阵列的存储实现了能够比其它可能性远远更快执行的霍夫变换,这至少是因为本地存储器304没有大到足以存储整个图像和/或二维累加器阵列。如果本地存储器304和主存储器308之间的传递是期望的,则直接存储器访问可被用来最大化传递。
[0043]在一个实施例中,边缘检测器312经由输入端口 314将(x,y)像素数据提供给处理器302。边缘检测器312可以是单独的组件(或单独组件的一部分)或者可以被布置在处理器302内。本发明并不限于边缘检测器312的任意具体布置(或实现方式)。边缘检测器312可从相机316接收图像,例如车载相机。用户接口 318可被用来向处理器302输入用户命令、参数或其它数据(例如,上述阈值和/或噪声参数),而且可相对应处理器302被本地布置或远程布置(例如,经由网络连接)。用户接口 318可被用来向用户输出数据,例如通过在车辆偏移地太靠近车道边缘时发出响铃警告或提供视觉提醒。在一个实施例中,处理器302经由致动器连接至车辆的转向系统,并且可使得车辆转向从而不那么靠近车道边缘。在另一实施例中,处理器302是移动装置的中央处理器,例如“智能手机”,其包含相机并且可被配置在车辆内以使得制造的内部相机持续扫描车辆前方的道路,同时装置的显示器(以及其上配置的响应于车道检测的偏离警告)保持容易被用户看到。
[0044]图4A,4B和5分别图示了根据本发明实施例的一维累加器阵列400a,400b和检测线阵列500的示例。阵列400a,400b,500的尺寸及其中的值被选为示例性的,而且并不是限制性的。图4A图示了(x,y)边缘数据从图像空间至霍夫空间的部分转换的结果;具体地,针对(X,y)数据的给定Θ值在阵列中累计P投票。在该示例中,Θ是10 ;35个P值被计算出来大约等于三(第一最大值402),34个P值被计算出来大约等于五(第二最大值404)。两个最大值402,404可对应于同一宽线的边缘;因此,在该示例中,P噪声参数被设置成三以避免同一线的这种双检测。因此,两个最大值402中仅仅较大的那个被添加至检测线阵列500作为第一项406。
[0045]图4B图示了针对Θ的新值(即,20)的(x,y)数据的部分转换。两个最大值被再次检测;三的P值处的第一最大值408 (29个投票)以及九的P值处的第二最大值410 (58个投票)。在该示例中,Θ噪声参数被设置成五;由于第一最大值408具有比Θ噪声参数的幅值相距第一检测到的最大值406的更大的Θ,所以第一最大值408被添加至检测线阵列500中的空隙412。但是,一旦检测到第二最大值410,由于其具有更大的投票计数(而且相对于检测到的线处于P和Θ噪声参数之外)在检测线阵列500中代替了第一最大值408而且重写了第二空隙412。
[0046]还应该注意的是,本发明的实施例可被提供为在制造的一个或多个主体中嵌入的一个或多个计算机可读程序。制造的主体可以是任意适当的硬件设备,例如,软盘、硬盘、⑶ROM、CD-RW、CD-R、DVD ROM、DVD-RW、DVD-R 和闪存卡、PROM、RAM、ROM 或磁带。总体上,计算机可读程序可以任意编程语言实现。可采用的语言的一些示例包括C,C++,或JAVA。软件程序可被进一步翻译成机器语言或虚拟机器指令并且以该形式存储于程序文件中。随后,程序文件可被存储在制造的一个或多个主体中。
[0047]以上已经描述了本发明的具体实施例。但是,但是应该特别注意的是,本发明并不限于这些实施例,实际上对于本发明,对在此明确描述的内容的添加和修改也落入本发明的范围内。而且,应该理解的是,在此描述的各种实施例的特征不是相互排斥的,而是可以在不脱离本发明的范围的情况下存在于各种组合和排列中,即使这种组合或排列未在此明确指出。实际上,在不脱离本发明的范围的情况下,本领域技术人员可以得到对在此明确描述的内容的变化、修改和其它实现方式。这样,本发明并不是仅仅被前述示意性描述所限制。
【权利要求】
1.一种用于检测图像中的线的方法,所述方法包括: 接收与图像中的检测到的边缘相对应的图像空间像素数据; 利用本地存储器计算出图像空间像素数据至霍夫空间的部分转换结果; 检测与部分转换中存在的线相对应的边缘;以及 将所述线与在之前计算出的部分转换中检测出的其它线进行比较以识别出图像中的最长线。
2.根据权利要求1所述的方法,其中计算部分转换包括对图像空间像素数据的线性访问。
3.根据权利要求1所述的方法,进一步包括将Θ值的范围划分成预定范围内的多个离散值并且将Θ的值分配给每个部分转换。
4.根据权利要求1所述的方法,其中计算部分转换的结果包括(i)利用图像空间像素数据和Θ的预定值来计算多个P值以及(ii)在本地存储器中存储与P值相对应的投票。
5.根据权利要求1所述的方法,其中分析结果包括搜索本地存储器中存储的投票的最大数。
6.根据权利要求5所述的方法,进一步包括将投票的最大数与预定阈值进行比较。
7.根据权利要求1所述的方法,其中将所述线与其它线进行比较包括将针对所述线的投票与针对之前检测出的线的投票进行比较。
8.根据权利要求1所述的方法,其中分析结果进一步包括在检测到的线阵列中存储所述线。
9.根据权利要求8所述的方法,其中存储所述线包括对之前检测到的更短的线进行重与。
10.根据权利要求8所述的方法,其中如果所述线不处于当前存储在检测到的线阵列中的之前检测到的线的噪声值内,则在检测到的线阵列中存储所述线。
11.根据权利要求8所述的方法,其中如果所述线满足(i)处于当前存储在检测到的线阵列中的之前检测到的线的噪声值内、以及(ii)比之前检测到的线长,则在检测到的线阵列中存储所述线。
12.一种用于检测图像中的线的系统,所述系统包括: 本地存储器;以及 经由高速接口连接至本地存储器的处理器,所述处理器被配置用于: i.接收与图像中的检测到的边缘相对应的图像空间像素数据; ii.利用本地存储器计算出图像空间像素数据从图像空间至霍夫空间的部分转换的结果; iii.针对与部分转换中存在的线相对应的边缘分析结果;以及 iv.将所述线与在之前计算出的部分结果中检测出的其它线进行比较以识别出图像中的最长线。
13.根据权利要求12所述的系统,进一步包括用于存储图像的主存储器,主存储器经由慢速接口连接至处理器。
14.根据权利要求12所述的系统,其中图像的尺寸大于本地存储器的尺寸。
15.根据权利要求12所述的系统,其中处理器是数字信号处理器.
16.根据权利要求12所述的系统,进一步包括用于产生图像的相机。
17.根据权利要求12所述的系统,进一步包括用于从本地存储介质或从网络接收图像或图像空间像素数据的输入端口。
18.根据权利要求12所述的系统,其中处理器被进一步配置用于检测图像中的边缘以及用于产生图像空间像素数据。
19.根据权利要求12所述的系统,其中本地存储器包括用于存储线的检测线阵列。
20.根据权利要求12所述的系统,其中计算部分转换的结果包括(i)利用图像空间像素数据和θ的预定值来计算多个P值以及(ii)在本地存储器中存储与P值相对应的投西
ο
21.根据 权利要求12所述的系统,其中分析结果包括搜索本地存储器中存储的投票的最大数。
22.一种用于分析从车载相机接收到的路面图像的车道检测系统,所述车道检测系统包括: 本地存储器;以及 经由高速接口连接至本地存储器的处理器,所述处理器被配置用于: 1.从相机接收与路面图像中的检测到的边缘相对应的图像空间像素数据; i1.利用本地存储器计算出图像空间像素数据从图像空间至霍夫空间的部分转换的结果; ii1.针对与部分转换中存在的线相对应的边缘分析结果; IV.将所述线与在之前计算出的部分结果中检测出的其它线进行比较以识别出图像中的最长线;以及 V.至少部分地基于识别出的最长线来检测车道。
23.根据权利要求22所述的车道检测系统,其中线包括车道标记。
【文档编号】G06K9/00GK103959306SQ201280057091
【公开日】2014年7月30日 申请日期:2012年11月16日 优先权日:2011年11月21日
【发明者】R·哈布, A·哈瑞布哈特, R·维加亚库马, R·马哈帕拉, G·G·卡拉纳姆 申请人:美国亚德诺半导体公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1