基于BP神经网络的彩色图像边缘检测方法研究
2013-09-13郑蕊蕊吴艳军徐宝翠吴宝春
柳 赟,郑蕊蕊,吴艳军,徐宝翠,吴宝春
(大连民族学院信息与通信工程学院,116600)
0 引言
图像边缘检测是数字图像处理的主要研究内容,BP人工神经网络具有学习功能强大和良好的容错性能。采用BP人工神经网络进行彩色图像的边缘检测,通过对选取的图像样本的训练,不断调整网络的权值和阈值,完成函数的逼近,使得对于输入的图像样本处理结果能够达到预期的效果。本文主要研究基于改进学习算法的BP神经网络在彩色图片的边缘检测中的应用。
1 图像的预处理
1.1 二值化
为了增加图像的对比度,使得图像的边缘更加清晰,首先需要对图像做二值化处理。二值化图像的方法如下:假设一幅图的像素值为,阈值为。则:
即当像素值大于阈值时灰度级为1,当像素值小于阈值时灰度级为0。图1为此次用于训练BP神经网络的原灰度图像、教师图像和灰度图的二值化图像。
1.2 图像块划分
在网络训练中,把整幅图像作为样本,会使样本集比较庞大,增大训练的迭代次数,使得训练时间变长,算法也不易收敛。因此在将图像矩阵数据输入网络前必须进行图像的分块操作。先将图像调整为300*300,然后划分为10000个3*3的小块,将每个小块合并为一个列向量。在输入输出端对原始图像和教师图像进行分块操作,将输入输出对应的列向量输入网络,开始进行网络的训练。如果模板过大,网络训练所要处理的数据量过大,使得网络的整体误差增大,3*3模板是经过多次实验后比较适合本次研究的。图2为图像块划分流程图。
图1 训练样本的选取和二值化处理
图2 图像块划分流程图
2 BP神经网络的建立和训练
2.1 网络参数的确定
BP神经网络结构参数的选取影响边缘检测的精度。原则上,包含一个中间隐含层的3层BP神经网络能够逼近任何的非线性映射,因此本文采用3层BP神经网络来提取灰度图像的边缘。
由于算法输入的数据是分割后的1*9列向量,所以输入层与输出层的节点数应为9。目前,学术界对于隐含层节点数的选择并没有确定的准则,所以隐含层节点数的选择只能参照经验公式:
其中N为隐含层神经元个数,m为输入神经元个数,n为神经元个数,为1~10之间的一个整数。进过多次实验N取15时,可以很好的完成网络的训练,且效果最佳。
2.2 训练BP神经网络
由于标准BP神经网络算法存在的一些缺陷,为了避免算法陷入局部极小值。研究采用有动量的梯度下降法作为神经网络的训练函数。动量法能够有效的降低网络对于误差细节的敏感性。通过加入动量因子,相当于加入了阻尼项,减小了训练曲线局部的阻尼震荡,从而使算法更易于收敛。动量梯度下降法的训练的过程如图3所示,当训练次数达到400次左右时,曲线已经趋于平缓。
图3 训练过程图
2.3 彩色图像边缘检测
对于输入的彩色图片,要将其转化为灰度图,然后灰度图尺寸调整成300*300,以便于后续图像的分块操作。分块操作将图像分割成为9*10000的矩阵,输入训练好的BP神经网络。在输出端使用逆分割函数恢复出处理完成的图像。处理过程如图4所示。
图4 BP神经网络的图像边缘检测图
图5(a)是一幅待检测的彩色花瓶图像,图像背景颜色是比较复杂的渐变色,花瓶的颜色与背景颜色较接近。首先采用传统的边缘检测方法,再使用本文研究的BP人工神经网络来检测图像边缘,边缘提取效果下图所示。可以看出,采用sobel和prewitt算法提取的边缘类型有限,检测出的边缘容易发生断裂。而采用BP人工神经网络提取的边缘则较为完整。
图5 原始图与边缘检测图像
3 GUI用户界面设计
为了通过交互方式对图像边缘进行快速准确的提取,采用MATLAB设计了友好的图形用户界面。该界面具有良好的人机交互功能。图7为本文设计的GUI运行效果图。除了可以比较几种不同边缘检测算法的实际效果外,在完成彩色图像边缘检测后,还可以保存处理后的图像。
图7 运行效果图
4 结论
本文研究BP人工神经网络检测彩色图像的边缘。在样本图像的预处理阶段采用了分块思想,降低了网络训练的样本集。在网络的训练过程中采用动量梯度下降算法提高了学习速度。最后设计了功能完善界面友好的用户图形界面(GUI)。基于BP神经网络的图像边缘检测算法在图像的弱边缘检测上有比较好的效果。
[1]冈萨雷斯.数字图像处理(MATLAB版)[M].北京:电子工业出版社,2005,9.
[2]张习民,贾克斌,卓东风.BP神经网络在图像边缘检测中的应用.计算机工程与设计,2011.
[3]肖锋.基于BP神经网络的数字图像边缘检测算法的研究[J]. 西安科技大学学报,2005,25(3):372-375.
[4]张烈平,周德俭,牛秦洲.基于BP 神经网络的预测建模系统的研究与实现[J].计算机仿真,2004, 21(9):48.
[5]曾希君,于博 基于改进BP神经网络图像边缘检测的研究[J].微电子学与计算机,Vol.26 No.8 August 2009
[6]于万波.基于MATLAB的图像处理[M].清华大学出版社,2008.3