CN103268611A - 一种复杂场景中精确的实时曲线检测方法 - Google Patents

一种复杂场景中精确的实时曲线检测方法 Download PDF

Info

Publication number
CN103268611A
CN103268611A CN2013101990432A CN201310199043A CN103268611A CN 103268611 A CN103268611 A CN 103268611A CN 2013101990432 A CN2013101990432 A CN 2013101990432A CN 201310199043 A CN201310199043 A CN 201310199043A CN 103268611 A CN103268611 A CN 103268611A
Authority
CN
China
Prior art keywords
curve
point
image
ordinate
candidate
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
CN2013101990432A
Other languages
English (en)
Other versions
CN103268611B (zh
Inventor
蒋联源
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.)
Guangxi University of Science and Technology
Original Assignee
Guangxi University of Science and Technology
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 Guangxi University of Science and Technology filed Critical Guangxi University of Science and Technology
Priority to CN201310199043.2A priority Critical patent/CN103268611B/zh
Publication of CN103268611A publication Critical patent/CN103268611A/zh
Application granted granted Critical
Publication of CN103268611B publication Critical patent/CN103268611B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

本发明公开了一种复杂场景中精确的实时曲线检测方法。通过图像获取设备得到待检测的图像,对该图像实施灰度化转换后利用Laplacian(4向)算子进行边缘检测,得到二值待检测图像。对于该二值图像,首先由随机采样点计算得到一个曲线参数,通过在测试区域选择若干个图像点,统计这些图像点中位于该曲线参数所对应的曲线上的个数。若位于该曲线上的点数大于某一阈值,则认为该曲线为候选曲线。然后利用证据积累方法进一步确定该候选曲线是否为真实曲线。本发明采用了新颖的候选曲线确定方法来有效提高曲线的检测速度。实验结果表明该方法具有快速、高精度、强鲁棒性等特点。

Description

一种复杂场景中精确的实时曲线检测方法
技术领域
本发明涉及计算机视觉技术领域,尤其涉及的是一种复杂场景中精确的实时曲线检测方法。
背景技术
从数字图像中检测出目标曲线在计算机视觉领域有着重要的意义。众所周知,Hough变换是从给定平面点集中检测出参数曲线(如直线、圆、椭圆等)的基本方法。标准Hough变换主要由以下三部分组成:(1)计算曲线的参数值并在参数空间中进行累积;(2)在参数空间中找出表示曲线的局部最大值;(3)使用这些最大值的信息提取曲线。其优点是对图像中的噪声不敏感及便于并行计算。Hough变换在检测直线时,能有较好的效果。但对于更多参数的曲线检测,计算时间和存储空间将骤然增加。于是,不同版本的改进Hough变换被提出。Fischler and Firschein提出了RANSAC算法,该算法随机选择n个点计算得到一条曲线参数,并利用图像中的其他点来检验这个参数是否表示了一条真实曲线。Kiryati等提出了概率Hough变换方法,该方法仅仅从图像点中的一个小的集合中进行随机选点,来作为Hough变换的输入,从而提高检测效率。Cheng等利用粒子群优化技术提出了一种高效的Hough变换。
为了能大量减少Hough变换的计算时间和存储需求,Xu等提出了随机Hough变换(RHT)。RHT是基于这样的考虑,在Hough变换的参数累积阶段,大多数情况下,对于可靠的曲线检测,无需对所有参数进行累积。RHT提出了在图像空间中的随机采样和参数空间多到一的映射机制,仅仅使用一个动态参数链表就代替了Hough变换中的完全参数累积,从而克服了标准Hough变换的许多问题。RHT与Hough变换相比,具有存储空间需求小、快速、无限的参数空间和任意高的检测精度的优点。此外,还能避免选择合适的窗口和量化累积器的困难,以及寻找局部最大值的困难。这两点是影响Hough变换性能的重要因素。但是,对于复杂或噪声比例较大的图像,RHT的性能将会受到很大的影响。因此,一些改进的RHT算法被提出来缓解这些问题。如Walsh等通过指定目标分配方法和加权采样参数来优化曲线检测方法。Ji等对误差传播进行研究提高了检测的鲁棒性和精确性,同时通过选取最有可能位于曲线上且能计算得到精确曲线参数的点作为采样点以提高检测速度。Jiang利用概率采样和特征点优化了选取采样点和寻找候选圆的方法,从而显著提高了检测速度。
为了避免RHT中参数累积所花费的大量内存空间与计算时间,Chen和Chung提出一种随机圆检测算法(RCD),该算法从边缘点集中随机选取4点,其中任意3点均能计算得到一个圆参数,若另外1点也在该圆参数所对应圆上则进行证据积累以判断其是否为真圆。Chung和Huang提出了在证据积累阶段通过裁剪投稿策略来加速对曲线的检测;Chung等利用多次证据确认来提高RCD的计算速度,并通过改进的方法提高检测精度。
标准Hough变换的主要问题是计算量和存储需求过大。计算量过大的原因是,对图像中的每一个点,都能计算出很多条曲线,而在累加器中需累积与这些曲线相对应的单元信息。存储需求过大的原因是,累积器的大小与曲线参数的个数成指数形式增长。RHT通过从边缘点集中随机采样以及从图像空间到参数空间多到一映射的方法来解决标准Hough变换中存在的这些问题。
发明内容
本发明所要解决的技术问题是针对现有技术的不足提供一种复杂场景中精确的实时曲线检测方法。
本发明的技术方案如下:
一种复杂场景中精确的实时曲线检测方法,通过图像获取设备得到待检测的图像,对该图像实施灰度化转换后利用Laplacian(4向)算子进行边缘检测,得到二值待检测图像。对于该二值图像,首先由随机采样点计算得到一个曲线参数,通过在测试区域选择若干个图像点,统计这些图像点中位于该曲线参数所对应的曲线上的个数。若位于该曲线上的点数大于某一阈值,则认为该曲线为候选曲线。然后利用证据积累方法进一步确定该候选曲线是否为真实曲线。本发明采用了新颖的候选曲线确定方法来有效提高曲线的检测速度。实验结果表明该方法具有快速、高精度、强鲁棒性等特点。
所述算法的具体步骤为:
A1创建边缘点集D、数组E以及数组I,初始化采样次数f=0;
A2从D中随机选取n个相互距离均大于阈值Td的不同点d1,...,dn,计算由这n个点所确定的可能曲线;
A3判断位于可能曲线上的测试点数s是否大于阈值t;若s>t,则这条可能曲线被视为候选曲线,转A5;否则这条可能曲线不是候选曲线,转A4;
A4f=f+1;若f的值大于可允许的最大连续采样失败次数,检测结束;否则,转A2;
A5统计测试区域内所有边缘点中位于这条候选曲线上的点数;若该点数大于阈值mmin,转A6;否则,这条曲线为虚假曲线,转A4;
A6该候选曲线被视为真实曲线;判断已检测到的曲线条数是否达到预设的数目;若是,检测完成;否则,从D中删除位于该曲线上的所有点,更新数组E和I,重置f=0,转A2。
所述的算法,所述步骤A3中,为了能快速地选取测试点,需定义一个用于存储边缘点集中坐标信息的一维整型数组E,存储顺序为:按横坐标从小到大依次存储各边缘点的纵坐标,对于横坐标相同的点,按纵坐标从小到大依次存储各边缘点的纵坐标;为了能够快速获取横坐标为i的那些边缘点坐标,需定义一维整型数组I[width],这里的width是待测图像的宽度,设横坐标为i(0≤i<width)的边缘点共有ci个,令I[0]=0,则可定义
Figure BSA00000901325400031
于是,对于横坐标为i的所有边缘点的纵坐标,很方便地能够从E中得到,即第一个纵坐标为E[I[i]],最后一个纵坐标为E[I[i]+ci-1];对于ci=0的情形,因I[i]>I[i]+0-1,所以这种情况下,横坐标为i的边缘点不存在。
所述的算法,所述选取测试点的方法如下:
B1令j=0;
B2随机生成一个位于测试区域左边界和右边界横坐标之间的整数i;若0≤i<width,转B3;否则,转B5;
B3从数组E中可以获取横坐标为i的所有边缘点的纵坐标;
B4从这些边缘点中得到横坐标为i的测试点;
B5j=j+1;如果j=k,k是一个包括2、3在内的很小的整数;则结束;否则,转B2。
所述的算法,所述的步骤B2中,由于随机生成的整数i是位于测试区域左、右边界横坐标之间,所以在判断一个图像点是否为测试点时,进行如下优化:
C1)对于直线检测,只要式by<dy<ty成立,则为测试点;
C2)对于圆检测,只要式(4)和式(5)同时成立,则为测试点;
T3<dy<T4                                   (4);
T3=b-r-δ,T4=b+r+δ;
dx>T5或dx<T6或dy>T7或dy<T8                      (5);
T 5 = a + 2 2 ( r - δ ) , T 6 = a - 2 2 ( r - δ ) , T 7 = b + 2 2 ( r - δ ) , T 8 = b - 2 2 ( r - δ ) ;
(3)对于椭圆检测,只要式T3<dy<T4成立,则为测试点;T3=miny-δ,T4=maxy+δ。
本发明提出的高效的曲线检测算法,包括直线、圆和椭圆。利用随机采样点计算得到一个曲线参数,这个参数所对应的曲线很可能不是一条真实曲线,该算法通过从特定区域中选择若干个点来快速筛选出无效的曲线参数,未被筛选出去的参数决定了一条候选曲线,候选曲线将被通过证据积累进一步确定是否为真实曲线。实验结果表明该算法具有快速、高精度、强鲁棒性等特点。
附图说明
图1参数链表P的例子;
图2参数元素的示意图;
图3直线的测试区域(I);
图4直线的测试区域(II);
图5圆的测试区域;
图6椭圆的测试区域;
图7确定候选曲线的流程图;
图8合成图像(I)检测实例,a为原图,b为增加5746个噪声点,c为对(b)检测的结果;
图9合成图像(II)检测实例,a为原图,b为增加5674个噪声点,c为对(b)检测的结果;
图10实际图像(I)检测实例,a为原图像,b为(a)的边缘检测结果,c为(b)的圆检测结果;
图11实际图像(II)检测实例,a为原图像,b为(a)的边缘检测结果,c为(b)的圆检测结果;
图12实际图像(III)检测实例,a为原图像,b为(a)的边缘检测结果,c为(b)的圆检测结果;
图13实际图像(IV)检测实例,a为原图像,b为(a)的边缘检测结果,c为(b)的圆检测结果;
具体实施方式
以下结合具体实施例,对本发明进行详细说明。
1提出的高效曲线检测算法
1.1RHT中的相关参数信息累积器
假设每次采样n个不同点,都恰好能计算得到一个曲线参数。在RHT中,通过随机采样n个不同点来计算得到一个曲线参数,即图像空间中的这n个点被映射成参数空间中的一个点。每次通过采样计算得到的曲线参数,都需在累积器中进行参数累积,这个累积器是一个链表结构。参数链表结构如图1所示,这里是以直线作为例子来进行阐述的。参数链表P是由一系列如图2所示的元素组成,每个元素包含一个直线参数(a,b)以及该参数的计数(score)。为了实现快速搜索,在创建P时,是根据参数的大小有序地插入元素的。
参数链表中参数累积的具体方式如下:在链表中寻找一个近似等于新生成的曲线参数的元素,如果能找到则对该参数元素的计数score加1;如果不能找到,则将这个新参数作为一个新元素插入到链表的适当位置中。当链表中某个元素的计数一旦达到nt时,这个元素便确定了一条候选曲线。
RHT中引入参数链表的目的是为了寻找候选曲线。由于无目标地随机采样,会产生相当多的元素,从而使链表变得很大,需要大量的存储空间。每采样一次,就需要搜索链表一次,将耗费大量的计算时间。
1.2测试区域与测试点的定义
为了能够快速地判断一点是否位于测试区域内,本发明将测试区域定义为矩形或者两个矩形差运算的结果,只需将该点的坐标值与矩形边界进行简单的比较操作即可。对于不同的曲线,包括直线、圆、椭圆,它们的测试区域是不一样的。下面将分别介绍这三种曲线的测试区域以及判断一个点是否位于测试区域内的方法。
1.2.1直线检测中的测试区域与测试点
任意两点所确定的直线均与图像的边界有两个交点,由这两个交点的坐标可以唯一确定一个矩形或一条线段(两个交点的横坐标或纵坐标相等时)。根据两个交点是否在相邻的图像边界上,可以分为两种情况。
(1)如图3所示,点A和点C为直线l与图像边界的两个交点,θ为直线l与图像下边界所形成的角度,理想情况下矩形ABCD是对应于直线l的测试区域。考虑到图像离散化等因素,实际应用时会允许一个误差δ(δ是一个很小的值,如0.5个像素宽),所以真正的测试区域是矩形EFGH,其中
Figure BSA00000901325400061
(2)如图4所示,点B和点D为直线l与图像边界的两个交点,θ为直线l与图像右边界所形成的角度,理想情况下矩形ABCD是对应于直线l的测试区域。同样考虑到误差δ,所以真正的测试区域是矩形EFCG,其中
Figure BSA00000901325400062
对于以上两种情况,都可以快速地判断出一个图像点是否位于测试区域内。设测试区域的左右边界的横坐标分别为lx、rx,上下边界的纵坐标分别为ty、by,则判断任一图像点d(dx,dy)是否在测试区域内的方法如下:当式(1)和(2)同时成立时,认为点d(dx,dy)在测试区域内,即该点为测试点;否则点d(dx,dy)不在测试区域内,即该点不是测试点。
lx<dx<rx                 (1)
by<dy<ty                 (2)
1.2.2圆检测中的测试区域与测试点
如图5所示,圆O(a,b,r)的竖直外切正方形为ABCD、竖直内接正方形为EFGH,这两个正方形的边长分别为2r和
Figure BSA00000901325400071
它们的中心均为点O。圆O上的点只可能位于这两个正方形的差的区域中(即图5中用斜线填充的区域)。因此,理想情况下图5中斜线所在区域是对应于圆O的测试区域。考虑到容许误差δ,真正的测试区域是正方形IJKL与正方形MNPQ的差的区域。
很明显,正方形IJKL的左右边界的横坐标分别为a-r-δ与a+r+δ、上下边界的纵坐标分别为b+r+δ与b-r-δ,正方形MNPQ的左右边界的横坐标分别为
Figure BSA00000901325400072
Figure BSA00000901325400073
上下边界的纵坐标分别为
Figure BSA00000901325400074
Figure BSA00000901325400075
下面给出判断任一图像点d(dx,dy)是否在测试区域内的方法:当式(3)~(5)同时成立时,认为点d(dx,dy)在测试区域内,即该点为测试点;否则点d(dx,dy)不在测试区域内,即该点不是测试点。
T1<dx<T2                     (3)
T3<dy<T4                     (4)
dx>T5或dx<T6或dy>T7或dy<T8  (5)其中,T1=a-r-δ,T2=a+r+δ,T3=b-r-δ,T4=b+r+δ, T 5 = a + 2 2 ( r - δ ) , T 6 = a - 2 2 ( r - δ ) , T 7 = b + 2 2 ( r - δ ) , T 8 = b - 2 2 ( r - δ ) ;
1.2.3椭圆检测中的测试区域与测试点
如图6所示,椭圆E的竖直外切矩形为ABCD,假设椭圆上所有点中的最小、最大横坐标分别为minx、maxx,最小、最大纵坐标分别为miny、maxy,则点A坐标为(minx,miny)、点C坐标为(maxx,maxy)。理想情况下矩形ABCD是对应于椭圆E的测试区域。考虑到容许误差δ,真正的测试区域是矩形FGHI,该矩形的左右边界的横坐标分别为minx-δ与maxx+δ、上下边界的纵坐标分别为maxy+δ与miny-δ。
下面给出判断任一图像点d(dx,dy)是否在测试区域内的方法:当式(6)和(7)同时成立时,认为点d(dx,dy)在测试区域内,即该点为测试点;否则点d(dx,dy)不在测试区域内,即该点不是测试点。
T1<dx<T2             (6)
T3<dy<T4             (7)
其中,T1=minx-δ,T2=maxx+δ,T3=miny-δ,T4=maxy+δ。
如果在椭圆内部找到一个竖直矩形,那么矩形FGHI与这个内部矩形考虑容许误差后的矩形的差的区域,将成为新的测试区域。新的测试区域将会变得更小,有利于提高计算速度。如何快速寻找椭圆内部的合理竖直矩形,是下一步的研究工作。
1.3提出的确定候选曲线的方法
为了解决RHT中的相关参数信息累积器所导致的计算量和内存需求量过大的问题,本发明提出一种新的确定候选曲线的方法。如图7所示,该方法在通过采样点计算得到一个曲线参数后,从图像中的测试区域选取若干个测试点,并统计这些测试点中位于该参数所对应曲线上的点数s,如果s大于阈值t(t是一个很小的整数),则该参数确定了一条候选曲线。该方法不需要参数累积器,从而大幅度减少了计算时间和存储空间。
为了能快速地选取测试点,需定义一个用于存储边缘点集中坐标信息的一维整型数组E,存储顺序为:按横坐标从小到大依次存储各边缘点的纵坐标,对于横坐标相同的点,按纵坐标从小到大依次存储各边缘点的纵坐标。为了能够快速获取横坐标为i的那些边缘点坐标,需定义一维整型数组I[width],这里的width是待测图像的宽度,设横坐标为i(0≤i<width)的边缘点共有ci个,令I[0]=0,则可定义
Figure BSA00000901325400081
于是,对于横坐标为i的所有边缘点的纵坐标,很方便地能够从E中得到,即第一个纵坐标为E[I[i]],最后一个纵坐标为E[I[i]+ci-1]。对于ci=0的情形,因I[i]>I[i]+0-1,所以这种情况下,横坐标为i的边缘点不存在。
本发明选取测试点的方法如下:
(1)令j=0。
(2)随机生成一个位于测试区域左边界和右边界横坐标之间的整数i。若0≤i<width,转(3);否则,转(5)。
(3)从数组E中可以获取横坐标为i的所有边缘点的纵坐标。
(4)根据第1.2节的方法,可从这些边缘点中得到横坐标为i的测试点。
(5)j=j+1。如果j=k(k是一个很小的整数,如2、3),则结束。否则,转(2)。
在选取测试点的步骤(2)中,由于随机生成的整数i是位于测试区域左、右边界横坐标之间,所以在判断一个图像点是否为测试点时,可以进行如下优化:
(1)对于直线检测,只要式(2)成立,则为测试点。
(2)对于圆检测,只要式(4)和式(5)同时成立,则为测试点。
(3)对于椭圆检测,只要式(7)成立,则为测试点。
理想情况下,可对k与s之间的关系分析如下:
(1)对于直线检测,k与s的值相等。特殊情况下,当直线为竖直直线时,s的值等于直线上的点数乘以k。
(2)对于圆检测,s的值是k的2倍。特殊情况下,当测试点的横坐标与圆上点的最大(或最小)横坐标相同时,s与k的值相等。
(3)对于椭圆检测,s的值是k的2倍。特殊情况下,当测试点的横坐标与椭圆上点的最大(或最小)横坐标相同时,s与k的值相等。
1.4算法描述
用本发明算法检测具有n个参数的曲线(包括直线、圆和椭圆)的步骤可描述如下。
(1)创建边缘点集D、数组E以及数组I,初始化采样次数f=0。
(2)从D中随机选取n个相互距离均大于阈值Td的不同点d1,...,dn,计算由这n个点所确定的可能曲线。
(3)根据第1.3节的方法,判断位于可能曲线上的测试点数s是否大于阈值t。若s>t,则这条可能曲线被视为候选曲线,转(5);否则这条可能曲线不是候选曲线,转(4)。
(4)f=f+1。若f的值大于可允许的最大连续采样失败次数,检测结束;否则,转(2)。
(5)统计测试区域内所有边缘点中位于这条候选曲线上的点数。若该点数大于阈值mmin,转(6);否则,这条曲线为虚假曲线,转(4)。
(6)该候选曲线被视为真实曲线。判断已检测到的曲线条数是否达到预设的数目。若是,检测完成;否则,从D中删除位于该曲线上的所有点,更新数组E和I,重置f=0,转(2)。
2实验结果
本发明以圆检测为例进行实验来验证提出算法的有效性。这里给出提出的圆检测算法实现时的两点说明:
(1)判断一个点d(dx,dy)是否位于候选圆O(a,b,r)上的方法如下:当式(8)成立时,则认为点d位于候选圆O上;否则,点d不在候选圆O上。
| ( d x - a ) 2 + ( d y - b ) 2 - r | < &delta; - - - ( 8 )
由于开平方运算耗费的计算时间较多,故可通过对式(8)进行化简去掉开平方运算。因r-δ>0,可化简式(8)如式(9)所示,从而提高计算速度。
d1<(dx-a)2+(dy-b)2<d2     (9)
其中,d1=(r-δ)2,d2=(r+δ)2
另外,随机选取的三点需满足相互距离均大于阈值Td,在计算两点间的距离时,可通过类似的公式化简去掉开平方运算。
(2)判断候选圆是否为真圆时,使用了阈值mmin。考虑到半径大小不同的圆,其阈值mmin是不一样的。因此,可定义mmin=λ×2πr,其中λ是一个比例系数,r是候选圆的半径值。
为验证本发明算法的有效性,进行了大量实验,结果表明,本发明算法的检测速度非常快、检测精度高、鲁棒性强。限于篇幅,这里仅给出其中六例,并与RHT、RCD以及PRCD进行实验对比。为了实验的公平比较,各算法只要检测出图像中的所有圆,检测即结束。这六个实验均是在Core2双核处理器(2.93GHz)、2G内存的计算机上通过C++语言编程实现的。
实验1、2中,RHT的λ、nt、δ分别取0.7、2、0.5,RCD和PRCD的λ、Td、δ均分别取0.7、8、0.5,本发明算法的λ、Td、δ、k、t分别取0.7、8、0.5、3、4;实验3~6中,各算法的λ均取0.6,其他参数值均与实验1、2相同。由于四种算法均通过随机采样来获取采样点,所以每次检测所花费的时间并不相同,本发明所有实验的检测时间都是取50次检测所需时间的平均值。
实验1.参照文献[T.C.Chen,K.L.Chung,An efficient randomized algorithm for detecting circles,ComputerVision and Image Understanding 83(2001)172-191.]的构造。图8(a)是大小为512×512(单位:像素)的合成图像,该图像中存在6个圆,这6个圆上共有2394个图像点。为了比较RHT、RCD、PRCD和本发明算法的检测速度,向图8(a)中随机添加不同比例的噪声,噪声比例为40%~240%,即添加的噪声点数为958~5746。向图8(a)中添加5746个噪声点后的图像如图8(b)所示。应用这四种算法对图8(a)及其添加6种不同比例噪声后的图像分别检测50次的平均时间如表1所示。用本发明算法对图8(b)进行50次检测,均能正确获取每个圆的圆心坐标和半径,具体检测结果如表2和图8(c)所示。
表1四种算法执行时间比较
Figure BSA00000901325400111
表2本发明算法对图8(b)的检测结果(单位:像素)
Figure BSA00000901325400112
实验2.图9(a)是大小为512×512(单位:像素)的合成图像,该图像中存在5个圆和一些其他图形,该图中共有3152个图像点。为了比较RHT、RCD、PRCD和本发明算法的检测速度,向图9(a)中随机添加不同比例的噪声,噪声比例为30%~180%,即添加的噪声点数为946~5674。向图9(a)中添加5674个噪声点后的图像如图9(b)所示。应用这四种算法对图9(a)及其添加6种不同比例噪声后的图像分别检测50次的平均时间如表3所示。用本发明算法对图9(b)进行50次检测,均能正确获取每个圆的圆心坐标和半径,具体检测结果如表4和图9(c)所示。
表3四种算法执行时间比较
Figure BSA00000901325400122
表4本发明算法对图9(b)的检测结果(单位:像素)
Figure BSA00000901325400131
实验3.图10(a)是大小为250×180的实际图像,该图像中存在4个圆,应用四种算法分别对其进行如图10所示的圆检测,这四种算法均能正确检测出图像中的每个圆。边缘图像图10(b)中共有1497个图像点,对其进行50次圆检测,RHT、RCD、PRCD和本发明算法所花费的平均时间分别为0.5172秒、0.4117秒、0.3341秒和0.0208秒。应用本发明算法的检测结果如图10(c)所示。
实验4.图11(a)是大小为140×140的实际图像,该图像中存在4个圆,应用四种算法分别对其进行如图11所示的圆检测,这四种算法均能正确检测出图像中的每个圆。边缘图像图11(b)中共有1688个图像点,对其进行50次圆检测,RHT、RCD、PRCD和本发明算法所花费的平均时间分别为5.5368秒、1.9037秒、1.5464秒和0.1503秒。应用本发明算法的检测结果如图11(c)所示。
实验5.图12(a)是大小为200×100的实际图像,该图像中存在3个圆,应用四种算法分别对其进行如图12所示的圆检测,这四种算法均能正确检测出图像中的每个圆。边缘图像图12(b)中共有2222个图像点,对其进行50次圆检测,RHT、RCD、PRCD和本发明算法所花费的平均时间分别为4.4935秒、5.9235秒、4.7413秒和0.1464秒。应用本发明算法的检测结果如图12(c)所示。
实验6.图13(a)是大小为386×180的实际图像,该图像中存在2个圆,应用四种算法分别对其进行如图13所示的圆检测,这四种算法均能正确检测出图像中的每个圆。边缘图像图13(b)中共有6935个图像点,对其进行50次圆检测,RHT、RCD、PRCD和本发明算法所花费的平均时间分别为73.3248秒、87.7747秒、67.5084秒和1.3475秒。应用本发明算法的检测结果如图13(c)所示。
3讨论与结束
RHT使用参数累积器来确定候选曲线,在参数累积过程中,将会产生大量的计算时间以及内存使用量。而本发明算法不需要使用参数累积器,只需统计若干个测试点中位于可能曲线上的个数,即可确定是否为候选曲线。因此,本发明算法在计算时间和内存需求上均比RHT有很大优势。
RCD、PRCD都是通过随机采样四点来确定候选圆,当这四点共圆时,便确定了一个候选圆。而本发明算法只需随机采样三点,有效采样率明显高于RCD和PRCD,因此计算时间要比RCD、PRCD快很多。关于随机采样三点、四点,位于同一圆上的概率比较,容易得出如下两点结论。(1)设图像中w个圆上的点数分别为N1,N2,...,Nw。假定图像中不存在噪声,则随机采样三点位于同一圆上的概率约是随机采样四点的
Figure BSA00000901325400141
倍。当Ni(1≤i≤w)均相等时随机采样三点位于同一圆上的概率约是随机采样四点的w倍。(2)设图像中噪声点数是所有圆上点数的ε倍,则随机采样四点、三点位于同一圆上的概率约分别是无噪声时的1/(1+ε)4、1/(1+ε)3倍。
对于本发明提出的算法有如下几点说明:
(1)若图像的高大于宽,可将图像旋转90度,然后再进行曲线检测,检测完成后,再将检测到的曲线参数进行相应转换,从而得到正确的曲线参数。这种方式可以一定程度上减少判断可能曲线是否为候选曲线的计算时间。
(2)为了提高曲线参数的检测精度,可进行如下优化:每检测到一条曲线,便采用最小二乘法对位于该曲线上的边缘点进行曲线拟合,从而提高曲线参数的检测精度。
(3)本发明算法中的采样点是随机选取的,可通过结合其他改进的采样点选取方法,提高有效采样率,进而提高检测速度。
从实验结果可知,本发明算法在计算速度上比其他三个算法约快一到二个数量级,曲线参数的检测误差小于半个像素,并具有内存需求量小、检测鲁棒性强的特点。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (5)

1.一种复杂场景中精确的实时曲线检测方法,其特征在于,通过图像获取设备得到待检测的图像,对该图像实施灰度化转换后利用Laplacian(4向)算子进行边缘检测,得到二值待检测图像;对于该二值图像,首先由随机采样点计算得到一个曲线参数,通过在测试区域选择若干个图像点,统计这些图像点中位于该曲线参数所对应的曲线上的个数;若位于该曲线上的点数大于某一阈值,则认为该曲线为候选曲线。然后利用证据积累方法进一步确定该候选曲线是否为真实曲线。
2.根据权利要求1所述的实时曲线检测方法,其特征在于,所述算法的具体步骤为:
A1创建边缘点集D、数组E以及数组I,初始化采样次数f=0;
A2从D中随机选取n个相互距离均大于阈值Td的不同点d1,...,dn,计算由这n个点所确定的可能曲线;
A3判断位于可能曲线上的测试点数s是否大于阈值t;若s>t,则这条可能曲线被视为候选曲线,转A5;否则这条可能曲线不是候选曲线,转A4;
A4f=f+1;若f的值大于可允许的最大连续采样失败次数,检测结束;否则,转A2;
A5统计测试区域内所有边缘点中位于这条候选曲线上的点数;若该点数大于阈值mmin,转A6;否则,这条曲线为虚假曲线,转A4;
A6该候选曲线被视为真实曲线;判断已检测到的曲线条数是否达到预设的数目;若是,检测完成;否则,从D中删除位于该曲线上的所有点,更新数组E和I,重置f=0,转A2)。
3.根据权利要求2所述的实时曲线检测方法,其特征在于,所述步骤A3中,为了能快速地选取测试点,需定义一个用于存储边缘点集中坐标信息的一维整型数组E,存储顺序为:按横坐标从小到大依次存储各边缘点的纵坐标,对于横坐标相同的点,按纵坐标从小到大依次存储各边缘点的纵坐标;为了能够快速获取横坐标为i的那些边缘点坐标,需定义一维整型数组I[width],这里的width是待测图像的宽度,设横坐标为i(0≤i<width)的边缘点共有ci个,令I[0]=0,则可定义
Figure FSA00000901325300021
于是,对于横坐标为i的所有边缘点的纵坐标,很方便地能够从E中得到,即第一个纵坐标为E[I[i]],最后一个纵坐标为E[I[i]+ci-1];对于ci=0的情形,因I[i]>I[i]+0-1,所以这种情况下,横坐标为i的边缘点不存在。
4.根据权利要求3所述的实时曲线检测方法,其特征在于,所述选取测试点的方法如下:
B1令j=0;
B2随机生成一个位于测试区域左边界和右边界横坐标之间的整数i;若0≤i<width,转B3;否则,转B5;
B3从数组E中可以获取横坐标为i的所有边缘点的纵坐标;
B4从这些边缘点中得到横坐标为i的测试点;
B5j=j+1;如果j=k,k是一个包括2、3在内的很小的整数;则结束;否则,转B2。
5.根据权利要求4所述的实时曲线检测方法,其特征在于,所述的步骤B2中,由于随机生成的整数i是位于测试区域左、右边界横坐标之间,所以在判断一个图像点是否为测试点时,进行如下优化:
C1)对于直线检测,只要式by<dy<ty成立,则为测试点;
C2)对于圆检测,只要式(4)和式(5)同时成立,则为测试点;
T3<dy<T4                     (4);
T3=b-r-δ,T4=b+r+δ
dx>T5或dx<T6或dy>T7或dy<T8            (5);
T 5 = a + 2 2 ( r - &delta; ) , T 6 = a - 2 2 ( r - &delta; ) , T 7 = b + 2 2 ( r - &delta; ) , T 8 = b - 2 2 ( r - &delta; ) ;
(3)对于椭圆检测,只要式T3<dy<T4成立,则为测试点;T3=miny-δ,T4=maxy+δ。
CN201310199043.2A 2013-05-27 2013-05-27 一种复杂场景中精确的实时曲线检测方法 Expired - Fee Related CN103268611B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310199043.2A CN103268611B (zh) 2013-05-27 2013-05-27 一种复杂场景中精确的实时曲线检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310199043.2A CN103268611B (zh) 2013-05-27 2013-05-27 一种复杂场景中精确的实时曲线检测方法

Publications (2)

Publication Number Publication Date
CN103268611A true CN103268611A (zh) 2013-08-28
CN103268611B CN103268611B (zh) 2016-08-31

Family

ID=49012238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310199043.2A Expired - Fee Related CN103268611B (zh) 2013-05-27 2013-05-27 一种复杂场景中精确的实时曲线检测方法

Country Status (1)

Country Link
CN (1) CN103268611B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008555A (zh) * 2014-06-17 2014-08-27 东南大学 一种基于回溯累加的曲线检测方法
CN104331876A (zh) * 2014-10-09 2015-02-04 北京配天技术有限公司 直线检测、图像处理的方法及相关装置
CN106339711A (zh) * 2016-08-30 2017-01-18 广西科技大学 一种特定情形下提高随机圆检测速度的方法
CN110232723A (zh) * 2019-06-10 2019-09-13 南京工程学院 一种基于穿越分析的曲线生成方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020042676A1 (en) * 2000-09-29 2002-04-11 Nissan Motor Co., Ltd. Road lane marker recognition
JP3319399B2 (ja) * 1998-07-16 2002-08-26 株式会社豊田中央研究所 走行路認識装置
CN103020626A (zh) * 2011-09-28 2013-04-03 深圳市蓝韵实业有限公司 在图像中检测椭圆型目标的方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3319399B2 (ja) * 1998-07-16 2002-08-26 株式会社豊田中央研究所 走行路認識装置
US20020042676A1 (en) * 2000-09-29 2002-04-11 Nissan Motor Co., Ltd. Road lane marker recognition
CN103020626A (zh) * 2011-09-28 2013-04-03 深圳市蓝韵实业有限公司 在图像中检测椭圆型目标的方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张显全等: "一种快速的随机Hough变换圆检测方法", 《计算机工程与应用》 *
张显全等: "一种快速的随机Hough变换圆检测方法", 《计算机工程与应用》, vol. 44, no. 22, 31 August 2008 (2008-08-31) *
蒋联源等: "快速随机Hough变换多圆检测算法", 《计算机工程与应用》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008555A (zh) * 2014-06-17 2014-08-27 东南大学 一种基于回溯累加的曲线检测方法
CN104008555B (zh) * 2014-06-17 2016-09-21 东南大学 一种基于回溯累加的曲线检测方法
CN104331876A (zh) * 2014-10-09 2015-02-04 北京配天技术有限公司 直线检测、图像处理的方法及相关装置
CN106339711A (zh) * 2016-08-30 2017-01-18 广西科技大学 一种特定情形下提高随机圆检测速度的方法
CN106339711B (zh) * 2016-08-30 2020-02-04 广西科技大学 一种特定情形下提高随机圆检测速度的方法
CN110232723A (zh) * 2019-06-10 2019-09-13 南京工程学院 一种基于穿越分析的曲线生成方法和装置

Also Published As

Publication number Publication date
CN103268611B (zh) 2016-08-31

Similar Documents

Publication Publication Date Title
CN104200212B (zh) 一种基于机载LiDAR数据的建筑物外边界线提取方法
Duan et al. An improved Hough transform for line detection
CN105405133B (zh) 一种遥感影像变化检测方法
CN102930241B (zh) 指纹图像的处理方法和处理装置
CN103268611A (zh) 一种复杂场景中精确的实时曲线检测方法
CN102945551B (zh) 一种基于图论的三维点云数据平面提取方法
CN102999926B (zh) 一种基于底层特征融合的图像视觉显著性计算方法
CN105096299A (zh) 多边形检测方法和多边形检测装置
CN105096298A (zh) 一种基于快速直线提取的网格特征点提取方法
CN105023265A (zh) 鱼眼镜头下的棋盘格角点自动检测方法
CN109325510B (zh) 一种基于网格统计的图像特征点匹配方法
CN104899892A (zh) 一种快速的星图图像星点提取方法
CN109934799A (zh) 多时相差异影像模值计算及变化检测方法
CN104331885A (zh) 一种基于投票线聚类的圆形目标检测方法
CN105374047A (zh) 基于改进的双边滤波与聚类的sar图像变化检测方法
Jiang et al. Fast circle detection algorithm based on sampling from difference area
CN106340010A (zh) 一种基于二阶轮廓差分的角点检测方法
CN106650571B (zh) 一种基于自适应卡方变换的多时相遥感影像变化检测方法
CN106469452A (zh) 基于空间约束的卡方变换的多时相遥感影像变化检测方法
CN104282027A (zh) 一种基于Hough变换的圆检测方法
CN103559715B (zh) 一种高光谱图像的异常检测方法及装置
Chau et al. Adaptive dual-point Hough transform for object recognition
CN105046275A (zh) 基于角度方差的大规模高维离群数据检测方法
CN105551048A (zh) 一种基于空间面片的三维角点检测方法
CN104463896B (zh) 基于核相似区分布特性的图像角点检测方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 545006 School of computer science, Guangxi University of science and technology, 268 East Ring Road, Midtown, the Guangxi Zhuang Autonomous Region, Liuzhou

Applicant after: Guangxi University of Science and Technology

Address before: 545006 School of computer science, Guangxi University of science and technology, 268 East Ring Road, Midtown, the Guangxi Zhuang Autonomous Region, Liuzhou

Applicant before: Guangxi University of Technology

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160831

Termination date: 20170527

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