基于以太网与FPGA图像处理的边缘检测系统

2023-11-25 12:12夏桂书魏永超莫杜衡
仪表技术与传感器 2023年10期
关键词:以太网算子边缘

夏桂书,何 前,魏永超,莫杜衡,李 锦

(中国民用航空飞行学院,四川广汉 618307)

0 引言

图像边缘检测是图像处理的关键技术之一,对于特征提取、图像拼接和图像融合有着十分显著的意义,目前使用度最高的边缘检测算子有Sobel算子、Prewitt算子、Laplace算子、Canny算子等[1-6]。其中Sobel算子具有抗噪强、定位精准和检测效率高等优点,因此大量运用于图像的边缘检测中[7]。

目前的Sobel算子仅计算水平和垂直2个方向上的梯度数据,阈值需要手动调节,不具备自适应性,终端显示传输速率低,极易出现边缘定位不精准、检测效果不佳、信号传输不稳定等问题。

因此,本文拟通过以现场可编程门阵列FPGA为硬件平台,加入对比度增强、多方向与自适应阈值的Sobel边缘检测算法和强度可调节的形态学滤波,提高边缘检测的定位与效果,以SDRAM作为数据缓存单元,以太网UDP通讯为传输媒介,上位机终端显示,提高图像显示的实时性与稳定性。

1 总体方案设计

系统总体方案包括:图像采集单元、图像处理单元、图像缓存单元和图像显示单元。其中,图像采集单元包括OV5640摄像头、IIC配置、驱动和数据采集模块;图像处理单元包括RGB转灰度图、对比度增强、中值滤波、多方向与自适应阈值的Sobel边缘检测与强度可调节的形态学滤波;图像缓存单元为SDRAM存储器;图像显示单元由以太网UDP传输单元和上位机组成。具体方案设计如图1所示。

图1 系统总体设计

2 图像采集单元设计

图像采集单元的摄像头采用OV5640图像传感器,通过IIC协议对摄像头内部寄存器参数进行相应设定,将摄像头的输出显示分辨率设置为640 pixel×480 pixel,像素数据输出格式为RGB565,帧率设置为30 fps。

3 图像处理单元设计

3.1 RGB转灰度图单元

在将数据转为灰度图之前,需要通过移位补齐的方式将RGB565转成RGB888的格式[8],再通过转换公式(1)将RGB888数据转换为灰度图,计算过程如式(1)所示:

Y=R×0.299+G×0.587+B×0.114

(1)

式中:R为红色通道图像数据;G为绿色通道图像数据;B为蓝色通道图像数据;Y为灰度图图像数据。

由于FPGA中不能进行浮点数运算,需要把浮点数值部分进行256倍扩大并舍去小数点部分,转换过程如式(2)所示:

Y=R×77+G×150+B×29

(2)

Y=(R×77+G×150+B×29)>>8

(3)

本系统中通过流水线逐级分步计算,可以提高整体运算速度,保证实时数据的处理。

3.2 对比度增强单元

对比度增强核心思想是提高阈值以上的亮度,降低阈值以下的亮度[9],提高图像的明暗差异,本系统中采用指数对比度增强,具体原理如式(4)所示:

(4)

式中:p为输入灰度图像素数据;Threshold为阈值;E为对比度增强参数;q为输出像素数据。

由于指数函数计算相对耗时且存在浮点部分,FPGA上难以实现,在本系统中提前确定Threshold和E,利用MATLAB计算出q,形成函数的映射结果,即以查找表形式得出计算后的结果。

3.3 中值滤波单元

中值滤波是将滤波窗口内的像素通过相互比较取中间值作为像素输出的算法,能够有效消除噪声,又能够保持图像一定的边缘纹理[10]。在本系统中充分运用FPGA的流水线处理,首先分别对3 pixel×3 pixel像素窗口中3行像素选出最大值、中值和最小值,然后分别组成一列再取中值,最终再对3个值取中值作为输出。中值滤波详细执行过程如图2所示。

图2 中值滤波中值提取过程

3.4 多方向与自适应阈值的Sobel边缘检测算子

3.4.1 改进的8方向Sobel边缘检测算子

通过信息化系统,提供了项目考核与绩效测量的基准所需要的工作内容、工作量、完成时间、完成效果等关键要素的数据,有助于军工科研单位建立一套以贡献为导向、以执行率为参考、以效果为考核的评价体系,实现合理有效的评价机制,充分发挥人员工作积极性。

本系统在传统的Sobel算子的基础之上进行多方向拓展,多方向模板示例如图3所示。

图3 8方向Sobel边缘检测模板

通过8方向Sobel边缘检测模板与原图像进行卷积计算,输出8个方向中梯度数据绝对值的最大值作为像素梯度的输出值,具体计算如式(5)和式(6):

G0°~315°=X*I

(5)

G=max{G0°,G45°,G90°,G135°,G180°,G225°,G270°,G315°}

(6)

式中:*为卷积计算;G0°~315°为8方向Sobel边缘检测模板分别与原图像进行卷积计算输出的结果;I为原图像;X为8方向Sobel边缘检测模板;G0°、G45°、G90°、G135°、G180°、G225°、G270°和G315°为8个方向上分别与原图像卷积后的梯度数据;G为最终输出的梯度数据。

3.4.2 改进的自适应阈值Sobel边缘检测算算子

通过对每个像素点分配1个对应阈值,使每个像素点的梯度值与该点的阈值进行比较并输出结果,可以形成自适应阈值的Sobel边缘检测。具体自适应阈值获取流程如图4所示。

图4 自适应阈值提取过程

与中值滤波提取过程类似,在3 pixel×3 pixel的像素窗口内选出中值作为每个像素点的阈值。

3.5 强度可调的形态学滤波

3.5.1 传统独立腐蚀和膨胀算法

传统独立腐蚀和膨胀算法分别对应像素消除和像素扩大,是一种图像处理的二次优化,以3 pixel×3 pixel像素窗口为例,腐蚀算法遵循乘法逻辑,膨胀算法则遵循加法逻辑。

腐蚀算法具体计算见式(7),通过将3 pixel×3 pixel像素窗口中每个像素进行与运算,可以得到腐蚀结果:

P=P1&P2&P3&P4&P5&P6&P7&P8&P9

(7)

膨胀算法具体计算见式(8),通过将3 pixel×3 pixel像素窗口中每个像素进行或运算,可以得到膨胀结果:

P=P1|P2|P3|P4|P5|P6|P7|P8|P9

(8)

式中:P1~P9为3 pixel×3 pixel像素矩阵中的图像数据;P为最终计算后的图像数据。

3.5.2 改进的腐蚀与膨胀结合与强度可调的算法

传统的独立腐蚀与膨胀算法存在过度膨胀与腐蚀,影响图像的边缘信息。本系统中首先通过FPGA内部的RAM生成3 pixel×3 pixel像素窗口,进行每一列累加,再全累加,设置阈值,即3 pixel×3 pixel像素窗口的N(1≤N≤9)个1,全累加后的数据大于或等于阈值N,则输出为1,反之为0。通过加入设定阈值N,设置像素窗口内的1的个数,可以实现滤波强度的调节,避免图像过度腐蚀与膨胀。具体实现流程如图5所示。

图5 腐蚀与膨胀结合的阈值可调实现方法

3.6 SDRAM数据缓存单元

SDRAM作为数据缓存,拥有读写速率快与内存空间大等特点[11],能应用于本系统中高并发与数据多的场合。数据缓存单元由SDRAM读写控制器和SDRAM组成。写数据流程:二值化数据写入WFIFO;WFIFO数据通过SDRAM读写控制器写入SDRAM。读数据流程:SDRAM通过SDRAM读写控制器将数据写入RFIFO;RFIFO将数据发送给以太网UDP传输。SDRAM数据缓存单元如图6所示。

图6 SDRAM数据缓存单元

3.7 以太网UDP传输单元

UDP是一种面向报文且无连接的不可靠传输,支持一对一、一对多、多对多等交互通讯的传输通讯协议[12-13]。本系统中以太网UDP传输单元包括UDP接收数据模块、UDP发送数据模块与CRC校验数据模块。其中UDP接收数据模块负责接收上位机向FPGA发送的开始传输与结束传输信号,判断源IP和MAC地址与目的IP和MAC地址是否相匹配。图7为UDP接收数据模块的状态转移图。UDP发送数据模块负责将摄像头采集的实时视频数据传输至上位机进行实时显示,同时将发送的数据添加前导码加帧起始界定符、源IP、目的MAC地址、目的IP、目的MAC地址和CRC校验结果等。图8为UDP接收数据模块的状态转移图。CRC校验数据模块是对发送的数据进行校验。

图7 UDP接收数据模块状态转移图

图8 UDP发送模块状态转移图

4 实验结果

本系统采用Verilog语言作为程序语言,以FPGA开发板为硬件平台,芯片型号为EP4CE10F17C8。图9为FPGA灰度图处理;图10为FPGA Sobel边缘检测;图11为FPGA形态学滤波处理1(N=3);图12为FPGA形态学滤波处理2(N=4和N=5)。

(a)原始灰度图

(a)传统Sobel

(a)传统形态学

(a)强度可调(N=4)

5 结论

本系统设计了一种结合以太网与FPGA的边缘检测系统。本系统通过加入指数对比度增强算法,提高了图像的对比度,改进Sobel边缘检测算子,加入多方向梯度与自适应阈值能够提取物体更加丰富的边缘信息,改进形态学滤波算子,通过阈值调整滤波强度可以避免过度腐蚀与膨胀,减少多余噪声,结合以太网UDP传输,保证了数据传输速率与稳定性。为后续的实时图像拼接、图像配准和图像融合提供较好的基础,具有一定的应用价值,也利于后续的研究。

猜你喜欢
以太网算子边缘
拟微分算子在Hp(ω)上的有界性
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
一类Markov模算子半群与相应的算子值Dirichlet型刻画
一张图看懂边缘计算
谈实时以太网EtherCAT技术在变电站自动化中的应用
Roper-Suffridge延拓算子与Loewner链
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用
在边缘寻找自我