kaiyun官方注册
您所在的位置: 首页> 其他> 设计应用> 基于ADSP-BF533的电力线覆冰监测
基于ADSP-BF533的电力线覆冰监测
李伟英, 谢完成
摘要:介绍了基于ADSP-BF533的电力线覆冰监测系统。该系统是基于图像监测的电力线覆冰监测装置。系统通过采用简化的Sobel算法和Hough变换对图像进行边缘识别,借助DSP的高速运算性能和优化的DSP代码,实现了电力线覆冰厚度的终端识别和自动报警功能;采用终端识别的方式,是智能监控中一种新的尝试。
Abstract:
Key words :

摘 要:介绍了基于ADSP" title="DSP">DSP-BF533" title="BF533">BF533的电力线覆冰监测系统" title="监测系统">监测系统。该系统是基于图像监测的电力线覆冰监测装置。系统通过采用简化的Sobel算法和Hough变换对图像进行边缘识别,借助DSP的高速运算性能和优化的DSP代码,实现了电力线覆冰厚度的终端识别和自动报警功能;采用终端识别的方式,是智能监控中一种新的尝试。
 关键词:ADSP-BF533; 图像识别; 覆冰导线; Hough变换

  对于天气严寒的高山地区,导线覆冰严重影响着高压输电线路的安全运行。当导线表面的覆冰越积越厚,导线将承受几百公斤到几吨的荷载,这时导线自重及所覆的冰重产生的拉力将通过导线、导线金具、绝缘子传递给杆塔,杆塔又将拉力传给拉线,只要导线、金具、绝缘子、杆塔、拉线、拉线绝缘子、拉线固定件等其中一个环节承受不住所受拉力,就将会出现倒塔(杆)和断线的事故,这种事故往往会扩展至一个耐张段。如何有效地避免和防止冰灾对高压输电线路造成的危害,是电力企业必须要面对的课题。
  基于ADSP-BF533的电力线覆冰监测系统正是基于图像监控的电力线覆冰监控系统,该系统通过终端的自动识别能及时地将覆冰危害通过图片传送的方式进行报警,也方便监控人员进行手动的现场图片采集,及时发现险情进行人工除冰处理,对电力线起到良好的保护作用。
1 系统构成
  系统终端采用ADSP-BF533为主控制器,通过PPI接口接收CMOS传感器的图像信息,利用DSP的高速运算性能,对图像中的电力线覆冰情况进行识别和对比,对覆冰厚度达到报警级别的采用JPEG压缩并传送。同时,DSP还通过8通道12位的A/D芯片AD7888采集各种气象信息(包括温湿度、雨量、风向、风速、CO2含量等)和泄漏电流数据,对电力线运行状况进行全面的监测。终端采集的图像数据和气象信息通过GPRS发送给本地服务器,对数据进行显示和存储。系统采用太阳能电池板和大容量后备铅酸蓄电池供电,可以保证系统在无太阳充电的情况下稳定运行30天。电力线监测系统框图如图1所示。


  ADSP-BF533是ADI" title="ADI">ADI公司新推出的16位高速定点数字信号处理器,该DSP性能优良并具备视频处理接口,性价比高,其主频最高能达600Hz,每秒可处理1 200M次乘加运算。高性能DSP使远端采集系统中的图像识别成为可能,减轻了服务器负担。

  图像采集采用美国OmniVision公司的CMOS传感器OV7640,该传感器包括一个652×486的感光阵列,同时集成了帧(行)控制电路、视频时序产生电路、模拟信号处理电路、A/D转换电路、数字信号输出电路及I2C编程接口。DSP通过I2C接口设置和读取OV7640的工作方式、数据输出格式、工作状态等。CMOS传感器与DSP的接口如图2所示。

  终端软件采用μC/OS实时操作系统,由于覆冰厚度识别占用了绝大多数CPU时间,设置为较低优先级任务,使系统能够较快响应其他报警信息(如CO2含量、泄漏电流等)。采用终端进行识别的模式,不但可以减轻服务器的运算压力,而且可以减少网络传输。当系统中采集点增加到一定程度时,这种方式的优势将更为明显。
2 覆冰厚度识别算法描述
  覆冰厚度识别算法是系统的核心部分,通过算法优化和指令优化,可以充分发挥ADSP-BF533的高速运算性能,使终端自动识别成为可能。算法中首先对电力线进行边缘检测,描绘电力线边缘,并计算出电力线正常宽度作为参考值。当电力线覆冰时,采用同样算法计算出来的电力线宽度小于参考值。设置一个固定阈值,当电力线宽度小于阈值时,对采集图像进行压缩传送,实现自动报警功能。算法中先采用Sobel 算子进行边缘提取,然后采用Hough变换进行平行线检测。
2.1 图像预处理
  对于传感器采集的彩色图像采用如下公式变换为灰度图像:

  灰度图像中包含各种噪声,为了能够尽量准确地检测覆冰厚度,采用一定的图像预处理算法滤掉一部分噪声。通常在空间域内可以用邻域平均来减少噪声;在频率域可以采用各种形式的低通滤波来减少噪声。为了提高检测速度,系统采用最简单的图像平滑技术,采用以下模板对图像进行平滑降噪处理:

2.2 Sobel算法
  Sobel算法的边缘检测是在图像空间利用两个方向模板与图像进行邻域卷积来完成的。这两个方向模板一个检测水平边缘,一个检测垂直边缘。Sobel算子不是简单求平均再差分,而是加强了中心像素上下左右四个方向像素的权重。Sobel 算子的表达式[1]如下所示:

  由于图像边缘附近的亮度变化较大,所以可以把那些在邻域内,灰度变化超过某个适当阈值的像素点当作边缘点。Sobel算子具有算法简单、处理速度快,所得到的边缘光滑、连续、且定位准确的优点,缺点是其边缘较粗。
  Sobel算法的主要步骤:
  (1)分别将两个方向的模板沿着图像从一个像素移到另一个像素,并将模板的中心像素与图像中的某个像素位置重合。
  (2) 将模板内的系数与其对应的图像像素值相乘。
  (3) 将所有乘积相加。
  (4) 将两个卷积的最大值,赋给图像中对应模板中心位置的像素,作为该像素的新灰度值。
  (5) 取适当的阈值TH,若像素新灰度值≥TH,则判该像素点为边缘点。
2.3 Hough变换
  Hough变换是一种常用的直线检测算法。设一条直线的方程为y=kx+b,每一对(k,b)确定一条直线。若将该方程改写为b=-xk+y,则(x,y)平面上的一点对应于(k,b)平面上的一条直线。而(x,y)平面上共线的点对应于(k,b)平面上相交于同一点的一簇直线。因此,(x,y)平面上的直线与(k,b)平面上的点具有对应关系[2]。由于斜率k可能取值为无穷大,所以可以将Hough变换用直线标准方程表示:

  式中, ρ为原点到直线的垂线距离;θ为该垂线与x轴的夹角。如果输入图像中存在着直线,则h(ρ,θ)数组中最大的元素所对应的(ρ,θ)即为输入图像中最长直线的参数[3]
  Hough变换的主要步骤:
  (1)初始化累加阵HT(ρii)=0。
(2)将边缘点的坐标(xi,yi)代入参数方程为ρ=xcosθ+ysinθ,对θ从0°~180°分别计算对应的ρ值。
(3)对相应的HT(ρii)累加,即HTρii)=HT(ρii)+1。
(4)对累加阵HT中元素的值进行读取和判断,HT(ρii)>T时(T为阈值),确定为存在直线。
3 DSP配置与代码优化
3.1 DMA传输

  一幅标准的VGA彩色图像,需要R、G、B三个分量各8位,即24位表示一个像素值,数据量大小为 640×480×8×3=7 372 800B。在图像识别中,需要保留一份原始图像,当判定为覆冰报警时,对原始图像进行JPEG压缩,所以一共需要15MB的RAM空间进行图像暂存。
  在CMOS图像传感器对采集的数据量非常大的情况下,PPI接口只有在DMA引擎的配合下,系统才能发挥它的高效能。虽然对图像数据进行的传输也可由软件实现,但将消耗掉大量的CPU时钟周期,使DSP的高速数据处理能力难以发挥。若由DMA独立负责数据传输,在系统内核对DMA初始设置并启动后,便不再需要内核参与,DMA控制器就可直接把图像数据从PPI接口传输至SDRAM存储器进行存储,在有效地解决了大批量图像数据传输这一速度瓶颈的同时,又能让DSP处理器专门从事算法处理工作,极大地提高了系统的并行性能。
  ADSP-BF533的DMA可以控制六种类型的数据传输:内部存储器之间、内部存储器-外部存储器、存储器-SPI接口、存储器-SPORT接口、外部存储器-UART接口、存储器-PPI接口。本系统使用PPI接口与外部存储器SDRAM之间的DMA传输。DMA的建立步骤如下:
  (1) 设置寄存器DMA1_0_START_ADDR_REG,写入目标地址值。
  (2) 设置寄存器DMA1_0_X_COUNT_REG,写入传输次数。
  (3) 设置寄存器DMA1_0_X_MODIFY_REG,写入每次数据传输的目标地址修正值。
  (4) 设置DMA控制寄存器DMA1_0_CONFIG_REG,启动DMA数据传输。
3.2 DSP代码优化原则
  Blackfin系列DSP的优化主要分为C语言级优化和汇编语言级优化。C语言级优化包括:选择合适的算法、数据结构和数据类型,使用自加自减降低运算强度,提高循环体效率。汇编语言级的优化需要结合DSP的结构特点,并与C语言程序混合编程,使程序结构清晰。
  C代码的优化有利于提高编码的速度,又有利于系统的跨平台移植。本文采用C语言级优化有以下原则:
  (1) 由于 BF533是16位定点DSP,只适合做加、乘运算,而对于浮点运算和除法运算的效率则较低,所以程序中的浮点运算和除法运算,可转换为乘法、移位和查表来实现,以提高运算速度。
  (2) 编写链接描述文件,将经常使用的数据存储在片内存储器中。
  (3) 减少对片外存储器的访问次数。对于经常访问的片外存储器区域,设置Cache使能,并可设置Cache锁定,防止被缓存的数据替换,减少Cache未命中的几率。
  汇编级的优化包括两部分:采用线性汇编语言进行优化和直接用汇编语言进行优化。由于系统编译器的局限性,并不能将全部的函数都很好地优化,这样就需要统计比较耗时的C语言函数,用汇编语言重新编写。主要采用了以下规则对代码进行优化:
  (1) 使用寄存器代替局部变量,去除多余的访问内存操作[4]
  (2) 使用硬件循环代替软件循环,DSP硬件根据循环寄存器的值自动执行循环体和退出循环,保证流水线的畅通,避免不必要的时钟周期开销。
  (3) 在进行图像压缩时,采用Blackfin提供的专用视频处理指令,可以极大地提高速度。
  (4) 使用并行指令和向量指令,充分利用DSP内部的硬件资源的重复性,减少指令的执行次数,提高指令的执行效率。
4 试验结果
  由于图像识别对运算速度要求并不高,通过DMA操作和DSP代码优化后的覆冰厚度识别算法基本上能够满足实际的需要。加上GPRS通信的延时,在10秒以内可以完成一张报警图片的识别、JPEG压缩和传送,且由于图像识别任务优先级较低,使终端仍能较快地响应通信和其他报警请求。试验结果表明,电力覆冰厚度识别算法的识别率达到了92%,尤其在背景条件清晰的雪天,识别能力更高。
  基于ADSP-BF533的电力线覆冰监测系统采用终端识别的方式,不仅较好地完成了电力线覆冰监测的任务,更重要的是搭建了ADSP-BF533终端自动识别的监控平台,是智能监控中一种新的尝试。随着DSP技术的迅速发展,以及监控系统的进一步扩大,智能监控将会越来越多地要求终端系统能够分担较多的自动监控任务,这是智能监控发展的新趋势。


参考文献
[1] Analog Devices Inc. ADSP-BF533 blackfin TM processor hardware reference,Preliminary Revision,2003,3:245-503.
[2] Analog Device Inc. ADSP-BF53X/BF56X blackfin processor programming, Reference Revision 1.0. 2005.
[3] GONZALEZ R C. 数字图像处理(第二版)[M]. 北京:电子工业出版社, 2003.
[4] 唐林波, 赵保军, 韩月秋. 线状目标实时检测算法的研究[J]. 光学技术, 2006,(1):155-158.
[5] 蔡昌, 张永林. 一种基于简单算法的图像边缘检测方案[J].暨南大学学报(自然科学版), 2005,(10):633-635.
[6] 权炜, 郑南宁, 贾新春. 复杂背景下的车辆牌照字符提取方法研究[J]. 信息与控制, 2002,(2):25-29.

此内容为AET网站原创,未经授权禁止转载。
Baidu
map