CN105787969A - 一种基于dsp的高效两阶段圆形检测方法 - Google Patents

一种基于dsp的高效两阶段圆形检测方法 Download PDF

Info

Publication number
CN105787969A
CN105787969A CN201610183648.6A CN201610183648A CN105787969A CN 105787969 A CN105787969 A CN 105787969A CN 201610183648 A CN201610183648 A CN 201610183648A CN 105787969 A CN105787969 A CN 105787969A
Authority
CN
China
Prior art keywords
dsp
image
circle
benches
detection method
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.)
Pending
Application number
CN201610183648.6A
Other languages
English (en)
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.)
University of Science and Technology of China USTC
Original Assignee
University of Science and Technology of China USTC
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 University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN201610183648.6A priority Critical patent/CN105787969A/zh
Publication of CN105787969A publication Critical patent/CN105787969A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20061Hough transform

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及一种基于DSP的高效两阶段圆形检测方法,第一部分是在两阶段霍夫圆变换算法执行之前添加图像预处理操作;第二部分是在圆检测过程中阈值化之前执行图像增强;第三部分是针对DSP上的实现过程,利用C6000 DSP的特性,提高代码的执行速率。本发明能够在C6000 DSP平台上快速地实现两阶段圆检测,提高检测的抗干扰能力;同时减少搜索极值的时间,提高搜索的效率。

Description

一种基于DSP的高效两阶段圆形检测方法
技术领域
本发明涉及一种基于DSP的高效两阶段圆形检测方法,属于数字图像处理、嵌入式软件优化技术领域。
背景技术
在视频图像中快速地检测出圆形是目标跟踪、目标分类和行为理解等更高层次视频图像分析的重要基础,比如用于人眼检测、视线跟踪和智能交通等,而这往往对检测时间有所限制,从而有必要快速且准确地检测出圆及其参数。
DSP平台以其便携性、功能的特定性在商业产品领域有很大的优势,而德州仪器(TI)的C6000系列DSP专门用于数字信号和图像处理,其内部集成一些硬件的运算器,并且可以进行流水线的指令处理,实现一定程度的并行计算,而且DSP成本较低,开发方便,被广泛使用。
目前常见的圆检测方法有基于环路积分的圆检测算法、基于遗传算法的圆检测方法、基于存在概率的圆检测方法和基于霍夫变换(Houghtransform,HT)的圆检测方法等。
霍夫变换是图像处理中识别和定位几何形状的通用方法,且与图中形状的方向无关。它的最大优点是:对噪声不敏感,检测后可有效去噪;而且在圆变形,甚至部分区域丢失的情况下仍然可以得到比较理想的结果。但是由于图像数据量很大而且霍夫变换本身需要多重循环,加之进行变换之前通常需要进行边缘检测来获得待检测曲线上的像素点,导致视频图像中圆形检测算法的时间复杂度和空间复杂度很高,在嵌入式平台上直接实现时其实时性难以得到保证,从而霍夫圆检测方法效果与实时性构成了一个矛盾。
现有文献【1】Hough,P.V.C.Methodandmeansforrecognizingcomplexpatterns,U.S.Patent3,069,654,Dec.18,1962,提出了霍夫变换的基本方法,它最初被用于寻找照相时气泡的轨迹,而不是图像的形状;【2】BallardDH.GeneralizingtheHoughtransformtodetectarbitraryshapes[J].Patternrecognition,1981,13(2):111-122在计算机视觉领域提出了利用广义霍夫变换检测任意形状的方法,使霍夫变换得到了广泛的关注。对于任何曲线,只要给出了它的函数方程,就可以利用霍夫变换的方法,将图像空间变换到霍夫参数空间,利用投票的方法求得曲线参数。对于检测圆的情形,由于圆的方程有3个未知量,变换到霍夫空间中需要一个三维的累加器,对于较大的图片来说将耗费大量的内存,而且搜索极值时时间代价很大。这二者对于DSP平台都是致命的,效率极低;【3】DaviesE.R."AmodifiedHoughschemeforgeneralcirclelocation,"PatternRecognitionLetters,vol7,no.1,pp37-44,1988.和【4】IllingworthJ.andKittlerJ."TheadaptiveHoughTransform,"IEEETrans.PatternAnalysis&MachineIntelligence,vol9,no.5,pp690-697,1987.提出了2-1霍夫圆变换(2-1HT,两阶段霍夫圆变换)用来减少内存消耗,它只需要1个二维的累加器和1个一维的直方图,分别用来寻找圆心和半径。针对TI的C6000系列DSP,【5】GranstonE.Hand-tuningloopsandcontrolcodeontheTMS320C6000[J].ApplicationReportSPRA666,TexasInstruments,Stafford,Tex,USA,2006.给出了手工整定循环和控制性代码的方法,但并没有给出针对具体算法的优化方法。
总之,现有基于两阶段霍夫变换的圆形检测方法抗干扰能力差;当应用到DSP上时,时间复杂度高,处理速度慢。对此,本发明提供了一种高效的改进的两阶段圆形检测方法,提高了现有方法的抗噪能力,加快了算法在DSP平台上的运行速度。
发明内容
本发明技术解决问题:克服现有技术的不足,提供一种基于DSP的高效两阶段圆形检测方法,提高算法的抗干扰能力并且加快在DSP平台上的运行速度。
本发明技术解决方案:一种基于DSP的高效两阶段圆形检测方法,实现步骤如下:
第一步,对输入待检测的灰度图进行图像预处理算法操作,获得边缘图像和方向信息;
第二步,根据第一步获得的边缘图像和方向信息,执行圆心参数空间的两阶段霍夫圆变换算法,即先对圆心(a,b)空间累加,对累加后的图像进行图像增强,搜索极值,求得圆心后再对半径R空间累加,阈值化后得到半径;
第三步,将第一步和第二步的过程移植到DSP上,进行基于DSP的时间优化分析,提高程序的运行速度。
所述第一步中的图像预处理操作的过程如下:
(11)对输入的图像进行高斯滤波;
(12)对(11)得到的图像进行水平Sobel算子和垂直Sobel算子处理,求得方向信息;
(13)对(11)得到的图像使用Marr-Hildreth算子进行二阶边缘提取,获得边缘图。
所述第二步中图像增强采用Marr-Hildreth算子进行增强处理。
所述第三步的具体过程如下:
(31)将第一步和第二步得到的过程,移植到DSP上,并且使用CCS提供的profile工具找到程序算法中耗时较多的部分;
(32)将步骤(31)中的耗时较多的部分进行定点化改写,将涉及浮点的运算改为定点运算;
(33)在CCS中选取合适的编译器参数;
(34)设定后依据编译器给出的优化描述,对(32)中得到的最耗时部分进行修改,使该部分能够充分利用DSP的各个功能单元,提高该耗时较多的部分在DSP上执行的并行度,满足软件流水条件。
本发明与现有技术相比的优点在于:
(1)本发明提高了原有两阶段霍夫圆变换方法检测圆的抗干扰性
本发明对图像进行高斯平滑之后,能减少噪声对边缘检测的干扰;使用二阶边缘检测算子,能够避免一阶边缘检测存在边缘过粗或者错误的情形。
(2)本发明减少了原有两阶段霍夫圆变换方法检测圆的耗时
本发明对图像进行高斯平滑之后,能减少边缘检测的计算量。
另外,本发明对AB空间进行增强,能够将分散或弥散的热点集中起来,更容易找到极值点,减少了搜索极值点的时间。
(3)结合DSP特性进行圆检测算法优化
常见的优化研究都仅针对于算法本身的改进,而没有结合具体的实现平台的特点来进行,不能充分利用硬件的性能优势。本发明将二者结合,在保证了圆检测算法的准确性时同时能在DSP上达到较快的检测速度。
附图说明
图1为本发明的实现流程图;
图2为本发明的图像预处理操作的实现流程图;
图3为5×5高斯滤波模板;
图4为本发明的图像预处理操作的示意图;a是原图,b是一阶边缘提取的图,c是二阶边缘提取的图;
图5为本发明中第二步累加空间进行增强的实现流程图;
图6为本发明中对(a,b)空间累加并增强示意图;a是累加后的图像,b是增强后的图像;
图7为本发明第三步中基于DSP的优化示意图;
图8为本发明的最后检测结果。
具体实施方式
下面结合附图及实施例对本发明进行详细说明。
本发明的技术方案分为三个部分:第一部分是先对图像进行预处理,提高检测的抗干扰能力;第二部分是两阶段霍夫变换搜索圆心时对图像进行增强,使检测的效率更高、速度更快。第三部分是针对DSP上的实现过程,结合C6000DSP的特性,提高检测过程的执行速率。
图1描述了本发明的实现过程,具体如下:
1.图像预处理
本发明直接处理的是灰度图,对于彩色图片可直接转换成灰度图,这并不会影响检测结果。图2描述了本发明图像预处理的过程,输入灰度图像,之后进行高斯平滑,再进行一阶Sobel算子处理和二阶边缘检测,得到待检测图的方向图和边缘图,具体如下:
(1)图像平滑
首先进行平滑处理。本发明平滑操作使用高斯平均算子,高斯算子的模板可以通过高斯函数g求得。设输入图像是P,方差为σ2,图像空间坐标(x,y)处的高斯函数g为图3是据此方法求得的大小为5×5,σ为1的高斯模板。不同尺寸的模板效果不同。3×3的模板比直接求平均保留了更多的特征,尺寸较大的模板能去处更多的细节或者噪声,实验表明选5×5较合适。
(2)一阶边缘检测
一阶边缘检测使用Sobel算子处理,分别用水平和垂直的Sobel算子处理,处理后的图像记为Sobelv和Sobelh,对于每个被检测到的边缘点,设它的空域坐标为(i,j),计算其方向角度得到方向信息图,利可得融合后的一阶边缘图像Sobel(i,j)。
(3)二阶边缘提取
一阶边缘检测会存在边缘过粗或者错误的情形,本发明使用二阶边缘检测算子即Marr-Hildreth算子来保证较好的检测效果。Marr-Hildreth算子是利用高斯滤波的一种二阶滤波方式,先对图像进行高斯平滑,之后应用拉普拉斯运算。即:
▿ 2 ( g ( x , y ) * P ) = ∂ 2 ( g ( x , y ) * P ) ∂ x 2 + ∂ 2 ( g ( x , y ) * P ) ∂ y 2
其中P是待处理的图像,g(x,y)是高斯平滑滤波器,是拉普拉斯算子。本发明此处使用Marr-Hildreth算子的模板大小取为5,与(1)得到的平滑后的图像卷积后得到二阶边缘图像。
2.执行圆心参数空间的两阶段霍夫圆变换算法
在获得边缘图之后,进行霍夫变换。过圆周上的点的圆切线的垂线经过圆心。故,如果对边缘图的每个边缘点做垂线,就能在圆心的位置获得一个明亮的热点。给定待求半径r的范围,在边缘点上做垂线段,得(a,b)空间。
a = r s i n θ b = r cos θ , r ∈ ( min r , max r )
即:
A(i±a,j±b)←A(i±a,j±b)+E(i,j)
其中(minr,maxr)是给定的半径的范围,也是做出的垂线段的长度,A是AB空间的累加器,A(a,b)表示累加器中坐标为(a,b)的点,E(i,j)是求得的二阶边缘图。
求得累加器后进行图像增强操作,图5描述了增强的过程:给定边缘图,先执行AB空间累加,然后把累加后的图和Marr-Hildreth算子模板进行卷积,若得到的图亮点集中,则进行阈值化处理得到圆心;若亮点仍然不集中,则添加累加衰减因子后重新进行AB空间的累加。具体流程如下:
(1)对边缘图进行霍夫变换得累加器后,将累加器的值归一化到[0,255]并作图,可以看到多个亮点。每个亮点即对应着一个圆心;
(2)对累加器进行Marr-Hildreth算子增强,理想的卷积模板为17;
(3)若亮点集中,则继续阈值化求得圆心;否则进行下一步;
(4)由于圆的大小等因素影响,得到的圆心亮度不一,大的圆在(a,b)空间中比小的圆累积值更大,可在变换时添加衰减因子r,则累加公式成为:
不需要使用衰减因子时r可以设为1.
(5)使用带衰减因子的累加公式执行(1)
求得圆心坐标之后对R空间累加求得半径。这只需在求得的圆心和给定的半径值构成的一维空间内累加即可。对每一个检测的圆,R空间累加方式为:
R(r)=∑P∈circle(r)E(P),r∈(minr,maxr)
其中,E(P)是输入图像P的边缘图,(minr,maxr)是给定的半径的范围。
对R空间进行阈值化处理,每个检测区域内留下的值即是所求半径。
图4中a是原图,b是一阶边缘提取的图,c是二阶边缘提取的图。可以看到,本发明使用的二阶方法求得的边缘图更精细。图6中的a是累加后的图像,b是增强后的图像。可见b中的点更集中,更亮。图8是检测结果,可见针对硬币图检测结果很好。
3.移植到DSP并优化
如图7所示,本发明的基于DSP的优化步骤实现如下:
(1)浮点算法转换为定点
由于算法涉及众多的浮点运算,在定点型甚至浮点型DSP中效率都很低。本发明使用定点运算代替浮点型运算。浮点转换为定点使用Qn定标方法外,对于C64x+DSP还可以使用TI的C64x+IQmath库。
对于除法运算,DSP代价很大。为了消除除法,使用移位或者查找表(look-uptable)来代替除法。
(2)选择合适的编译器参数
首先是使用合适的编译器参数。
使用-mt。假设不存在多个指针对同一个内存(块)进行读写操作。
使用-mh<num>。允许编译器取超过数组边界num字节的值。该操作使编译器在编排软件流水时有额外的弹性,提高流水性能。在CMD文件中定义大于num的缓存空间,避免EDMA或其他cache冲突。
使用-s[-k|-al]-o[2|3],-mw或者–mw-al,-on2-o3,生成软件流水信息和优化建议不使用–g,-ss等参数。
(3)修改耗算法中耗时的部分
仅使用基于编译器的优化减少的程序耗时有限,本发明需要手工整定软件流水才能达到理想的效率。
给所有安全的指针添加restrict关键字,消除循环间的依赖,使编译器生成的汇编文件中循环依赖项值为零;根据汇编嵌入信息添加pragma指令MUST_ITERATE和UNROLL告诉编译器循环的最大值、最小值和公约数和展开次数,并根据编译器给出的软件流水信息中各资源的使用情况在循环前使用_nassert()告诉编译器数据是64位对齐的,一次读取多个对齐数据以减少D单元和T通道的使用数。通过这些操作来实线程序的流水并行。
在综合了各种优化方式之后,重新使用profile测试各部分的时钟周期,保持其他条件不变。对图4中的a进行检测,优化前和优化后时间对比见表1,可见经过优化,耗时明显减少。
表1部分函数优化前后对比
图8是以图4中的a图作为输入图像进行圆形检测的例子。利用本发明的方法准确地检测出了所有的圆。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

Claims (4)

1.一种基于DSP的高效两阶段圆形检测方法,其特征在于实现步骤如下:
第一步,对输入待检测的灰度图进行图像预处理算法操作,获得边缘图像和方向信息;
第二步,根据第一步获得的边缘图像和方向信息,执行圆心参数空间的两阶段霍夫圆变换算法,即先对圆心(a,b)空间(或称AB空间)累加,对累加后的图像进行图像增强,搜索极值,求得圆心后再对半径R空间累加,阈值化后得到半径;
第三步,将第一步和第二步的过程移植到DSP上,进行基于DSP的时间优化分析,提高程序的运行速度。
2.根据权利要求1所述的基于DSP的高效两阶段圆形检测方法,其特征在于:所述第一步中的图像预处理操作的过程如下:
(11)对输入的图像进行高斯滤波;
(12)对(11)得到的图像进行水平Sobel算子和垂直Sobel算子处理,求得方向信息;
(13)对(11)得到的图像使用Marr-Hildreth算子进行二阶边缘提取,获得边缘图。
3.根据权利要求1所述的基于DSP的高效两阶段圆形检测方法,其特征在于:所述第二步中图像增强采用Marr-Hildreth算子进行增强处理。
4.根据权利要求1所述的基于DSP的高效两阶段圆形检测方法,其特征在于:所述第三步的具体过程如下:
(31)将第一步和第二步得到的过程,移植到DSP上,并且使用CCS(CodeComposerStudio,德州仪器推出的一种集成开发环境)提供的profile工具找到程序算法中耗时较多的部分;
(32)将步骤(31)中的耗时较多的部分进行定点化改写,将涉及浮点的运算改为定点运算;
(33)在CCS中选取合适的编译器参数;
(34)设定后依据编译器给出的优化描述,对(32)中得到的最耗时部分进行修改,使该部分能够充分利用DSP的各个功能单元,提高该耗时较多的部分在DSP上执行的并行度,满足软件流水条件。
CN201610183648.6A 2016-03-25 2016-03-25 一种基于dsp的高效两阶段圆形检测方法 Pending CN105787969A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610183648.6A CN105787969A (zh) 2016-03-25 2016-03-25 一种基于dsp的高效两阶段圆形检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610183648.6A CN105787969A (zh) 2016-03-25 2016-03-25 一种基于dsp的高效两阶段圆形检测方法

Publications (1)

Publication Number Publication Date
CN105787969A true CN105787969A (zh) 2016-07-20

Family

ID=56391198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610183648.6A Pending CN105787969A (zh) 2016-03-25 2016-03-25 一种基于dsp的高效两阶段圆形检测方法

Country Status (1)

Country Link
CN (1) CN105787969A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106600618A (zh) * 2016-12-30 2017-04-26 中国科学院上海高等研究院 一种在嵌入式DSP系统中实现sobel算子的方法
CN107578382A (zh) * 2017-08-18 2018-01-12 北京小米移动软件有限公司 图像处理方法及装置
CN108007388A (zh) * 2017-06-30 2018-05-08 长沙湘计海盾科技有限公司 一种基于机器视觉的转盘角度高精度在线测量方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
张霄 等: "基于Hough变换的圆形物体的检测", 《传感器与微系统》 *
董言治 等: "《TMS320C6000系列DSP系统结构原理与应用教程》", 30 September 2014, 清华大学出版社 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106600618A (zh) * 2016-12-30 2017-04-26 中国科学院上海高等研究院 一种在嵌入式DSP系统中实现sobel算子的方法
CN108007388A (zh) * 2017-06-30 2018-05-08 长沙湘计海盾科技有限公司 一种基于机器视觉的转盘角度高精度在线测量方法
CN107578382A (zh) * 2017-08-18 2018-01-12 北京小米移动软件有限公司 图像处理方法及装置

Similar Documents

Publication Publication Date Title
Liu et al. DeepCrack: A deep hierarchical feature learning architecture for crack segmentation
Xue et al. A fast detection method via region‐based fully convolutional neural networks for shield tunnel lining defects
Yu et al. Fully convolutional networks for surface defect inspection in industrial environment
CN110795991B (zh) 一种基于多信息融合的矿用机车行人检测方法
CN101770581B (zh) 高分辨率城区遥感图像中道路中心线的半自动检测方法
CN101178770B (zh) 一种图像检测方法及装置
CN104766046A (zh) 一种利用交通标识颜色及形状特征进行检测与识别算法
US11600091B2 (en) Performing electronic document segmentation using deep neural networks
CN102750531B (zh) 用于票据文档定位格的手写体标记符号检测方法
CN111738055B (zh) 多类别文本检测系统和基于该系统的票据表单检测方法
CN104809464A (zh) 一种指纹信息处理方法
Bianchi et al. COCO-bridge: Structural detail data set for bridge inspections
CN106096613A (zh) 基于角点特征的图像多目标检测方法及装置
CN102169581A (zh) 一种基于特征向量的快速高精度鲁棒性匹配方法
CN113537070B (zh) 一种检测方法、装置、电子设备及存储介质
CN111709387B (zh) 一种高分辨率遥感影像的建筑物分割方法及系统
CN105787969A (zh) 一种基于dsp的高效两阶段圆形检测方法
CN105404868A (zh) 一种基于交互平台的复杂背景中文本的快速检测方法
Hu et al. LE–MSFE–DDNet: a defect detection network based on low-light enhancement and multi-scale feature extraction
Li et al. SPCS: a spatial pyramid convolutional shuffle module for YOLO to detect occluded object
He et al. Variable scale learning for visual object tracking
Zhang et al. License plate recognition model based on CNN+ LSTM+ CTC
Lin et al. A template-matching based approach for extraction of roads from very high-resolution remotely sensed imagery
Xu et al. Crack-Att Net: Crack detection based on improved U-Net with parallel attention
Song et al. Instrument identification technology based on deep learning

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160720