图像边缘检测算法的研究与实现开题报告
关键词DM642;索贝尔算子;程序优化;图像边缘检测
1简介
边缘是图像中最重要的特征之一,是计算机视觉、模式识别等研究领域的重要基础。图像的大部分主要信息存在于图像的边缘,主要表现为图像局部特征的不连续性。是图像中灰度变化强烈的地方,也就是信号通常变化比较奇怪的地方。经典的边缘检测算法是一种微分算法,利用边缘处的一阶导数取极值,二阶导数在阶跃边缘处取过零或者在屋顶边缘处取极值。图像边缘检测一直是图像处理中的热点和难点。
近年来,随着数学和人工智能技术的发展,出现了各种类型的边缘检测算法,如神经网络、遗传算法、数学形态学等理论应用于图像边缘检测。但是,由于边缘检测中检测精度、边缘定位精度和抗噪性之间的矛盾,以及不同算法边缘检测结果的精度没有统一的标准,至今没有取得令人满意的结果。另外,随着网络和多媒体技术的发展,图像数据库逐渐变得非常庞大;然而,由于实时图像中目标和背景的变化不同,如何准确定位和提取实时图像的边缘成为人们必须面对的问题。随着DSP芯片处理技术的发展,特别是图像处理方面的改进,如TMS320C6000系列,使得实现高效实时的边缘检测成为可能[5]。在经典的边缘检测算法中,Sobel边缘检测算法因其计算量小、实现简单、处理速度快、边缘光滑连续等优点而被广泛应用。根据Sobel算法的性能,借助TMS320DM642处理芯片[3],对边缘检测算法进行了改进,优化了程序,满足了实时性要求。
2 Sobel边缘检测算法的改进
经典的Sobel图像边缘检测算法是通过使用两个方向模板与图像空间中的图像进行邻域卷积来完成的。这两个方向模板一个是检测垂直边缘,另一个是检测水平边缘。算法的基本原理:由于图像边缘附近亮度变化较大,邻域内那些灰度变化超过一定阈值th的像素可视为边缘点。Sobel算法的优点是计算简单,速度快。但由于只使用了两个方向模板,只能检测水平和垂直方向的边缘,所以这种算法对于纹理复杂的图像边缘检测效果并不好;同时,经典的Sobel算法认为每一个新灰度值大于或等于阈值的像素都是边缘点。这个判断依据不合理,会导致边缘点的误判,因为噪声点的新灰度值也很大。
2.1图像加权中值滤波
由于图像中的边缘和噪声都是频域中的高频成分,所以在边缘检测之前需要对图像进行滤波,以减少噪声对边缘检测的影响。中值滤波是一种非线性信号处理方法[2],常用于图像处理中保护边缘信息;保证过滤的效果。加权中值滤波:首先对每个窗口进行排序,取适当的比例,进行曲线拟合。拟合曲线的斜率代表这个窗口的图像特征,然后根据图像各部分的特征选择合适的权重进行加权。
2.2添加方向模板
除了水平和垂直方向,图像的边缘还有其他方向,如135o和45o等。为了提高某个像素点的边缘检测精度,可以将方向模板的数量从两个增加到八个,即在经典方向模板的基础上增加六个方向模板,如图1所示。
2.3边缘定位和噪声去除
通常物体的边缘是连续平滑的,边缘有方向和幅度两个特征,而噪声是随机的。沿着任意一个边缘点总能找到另一个边缘点,两个边缘点的灰度差和方向差都差不多。但是,噪音不一样。一般来说,沿着任何一个噪声点都很难找到与其灰度值和方差相似的噪声点[4]。基于这种思想,可以区分噪声点和边缘点。对于一幅数字图像f(x,y),用上述八个方向模板Sobel算子对图像中的每个像素进行计算,得到最大值作为该点的新值,最大值对应的模板所代表的方向就是该像素点的方向。如果| f (x,y)-f (x+I,y+j) | > TH2,对于任意I = 0,1,-1;如果j = 0,1和-1都为真,则可以判断该点(x,y)为噪声点。图2显示了图像边缘检测系统的改进算法的软件流程图。
图1用于边缘检测的八个方向模板
图2系统结构图
基于TMS320DM642的图像处理设计及算法优化
3.1 TMS320DM642图像处理系统的功能模块和硬件结构
DSP是为高速数字信号处理而设计的。它采用改进的哈佛结构(程序总线和数据总线分离),具有硬件乘法器、应用流水线技术、良好的并行性、指令和专用于数字信号处理的超长指令字结构(VLIW)等特点。它可以完成计算量大的实时数字图像处理。
TMS320DM642是TI公式最近推出的强大的TMS320C6x系列之一,是目前定点DSP领域的高性能之一[6]。其主频为600MHz,8个并行运算单元,专用硬件逻辑,片上存储器和片上外围电路等硬件,处理能力可达4800MIPS。DM642基于C64x内核,在上面增加了很多外围设备和接口,所以在实际工程中使用更加广泛和简单。该系统采用一个50 MHz的晶体振荡器作为DSP的外部时钟输入,经过内部锁相环12倍频后产生600 MHz的频率。DM642采用两级缓存结构(L1和L2),大大提高了程序的运行性能。片内64位EMIF(外存接口)接口可以无缝连接SDRAM、Flash等存储设备,极大地方便了大量数据的移动。更重要的是,作为专用视频处理芯片,DM642包括三个专用视频端口(VP0~VP2)用于接收和处理视频,提高了整个系统的性能。此外,DM642的EMAC端口和EMIF端口延伸的ATA端口也为处理后产生的海量数据提供了存储通道。
本系统采用瑞泰公司基于TI TMS320DM642 DSP芯片开发的评估开发板——Icetek DM 642 PCI。在ICETEK DM642 PCI的评估板中,硬件平台分为视频采集、数据存储、图像处理、结果显示和电源管理五个部分。视频采集部分采用模拟PAL摄像机,配合高精度视频A/D转换器获取数字图像。基于DSP的视频采集要求能够采集视频信号,实时显示,并对图像进行处理和分析。视频A/D采样电路——SAA 7115+05接视频口0或1,实现实时视频采集。视频D/A电路-—SAA7105接视频口2,视频输出信号支持RGB、HD复合视频、PAL/NTSC复合视频、S端视频信号。SAA7105的内部寄存器通过I2C总线编程实现不同的输出。
整个系统流程由三部分组成:图像采集-边缘处理-输出显示,如图2所示。摄像机采集的视频信号由视频编码器SAA7115数字化,DM642通过I2C总线配置SAA7115的参数。经过SAA7115中的一系列处理和转换后,数字视频数据流被输入到核心处理单元DM642。DSP处理后的数字视频由SAA7105视频编码器进行D/A转换,最终处理结果显示在显示器上。
3.2图像处理的软件设计和算法优化
随着Sobel边缘检测算子性能的提高,计算量相对增加,特别是方向模板增加,每个像素由原来的2次卷积运算增加到8次卷积运算,其实时性大大减弱。为了改善上述缺点,在对处理系统和算法进行深入研究后,根据TMS320DM642的硬件结构特点,研究了一种适合在TMS320DM642中高效运行的改进Sobel算法,以满足实时处理的要求。整个程序按照C6000的软件开发流程进行编写和调试,分为生成C代码、优化C代码和编写线性汇编程序三个阶段。使用的工具是TI的集成开发环境CCS。在CCS下,可以对软件进行编辑、编译、调试和代码性能测试。用C6000编译器[7-8]开发优化C代码时,C代码中效率低、需要重复调用的函数需要用线性汇编重写,然后用汇编优化器优化。整个系统的控制和数字图像处理由C程序实现,大部分软件设计由C程序实现,这无疑提高了程序的可读性和可移植性,而汇编程序主要实现DM642各部分的初始化。边缘检测优化算法在DM642中的实现步骤如下:
S1:根据DM642的硬件结构要求和控制寄存器设置,初始化系统,编写C程序实现边缘检测算法。
S2:生成一个。借助于CCS开发环境的优化工具(如Profiler)来导出文件。
S3:显示生成的附件文件,比如。映射文件,分析优化结果和源程序结构,进一步完善源程序和优化方法。
S4:使用CCS中的调试、链接和运行等工具来生成。可执行文件输出。
S5、运行程序,如果满足要求则停止;否则,重复步骤S2至S4,直到满足使用要求。
4实验结果
本文以Lena图像为例,根据以上硬件环境和算法实现的原理和方法。图4 ~ 6分别给出了在该系统下采集的视频Lena图像、边缘检测算子和改进后处理的结果。从实验结果可以看出,该系统能够实时完成视频图像处理,给出的边缘检测算子能够较好地消除噪声的影响,边缘轮廓清晰。该算法不仅能抑制图像中大部分噪声和伪边缘,而且能保证较高的边缘定位精度。
图4 Lena原始图像图5传统Sobel算子图6改进的Sobel算子
5摘要
本文采用一种改进的Sobel算子对TMS320DM642评估板上的实时图像进行边缘检测,无延迟地获得边缘图像。边缘检测效果良好,既提高了图像检测的准确性,又满足了实时性要求。从检测结果来看,改进后的算子在边缘精确定位和边缘提取方面取得了很好的效果,并且具有很强的抗噪声能力,为目标跟踪、非接触检测、自动驾驶、视频监控等领域的应用提供了坚实的基础。
参考
[1]王乐妍等.基于Sobel理论的改进边缘提取方法[J].中国图像与图形杂志,2005+00。
陈红喜。基于平滑保持滤波的Sobel算子边缘检测。兰州交通大学学报,2006,25 (1): 86-90
熊伟。基于TMS320DM642的多路视频采集处理板的硬件设计与实现[M].外国电子元件,2006年。
[4]朱力。一种抗噪声干扰的图像边缘提取算法研究[J].电子技术的应用. 2004,25 (1)
刘松涛,周晓东。基于TMS 3201的实时图像处理系统[J].计算机工程,2005 (7): 17-23。
[6] TI TMS320DM642视频/成像定点数字信号处理器数据手册,2003年
[7] TMS320C6x优化C编译器用户指南'德州仪器',2002
[8] TMS320C32x优化C/C++编译器用户指南,德州仪器公司,2001