现有的彩色图像边缘检测方法中,有相当一部分是灰度图像边缘检测的推广。即首先基于某一彩色分量的图像进行灰度图像边缘检测,然后再将每一独立分量的边缘图联合形成彩色图像的边缘。这些方法忽略了人眼对颜色的视觉感知,没有考虑各颜色分量之间的联系,往往得不到好的边缘检测效果。而基于彩色空间的边缘检测方法可以充分利用彩色图像中携带的彩色信息。为了充分考虑人眼对不同颜色感知程度的不同,同时克服彩色空间角矢量距离计算复杂的缺点,基于彩色空间的边缘检测方法使用彩色空间欧几里得距离作为彩色像素之间差异的度量。
很多的边缘检测算法都工作在YcbCr彩色空间的Y分量上或者CIELAB彩色空间的L*分量上。但是在基于CNN的彩色图像分块自适应边缘检测方法中,边缘检测算法工作在RGB彩色空间。虽然彩色图像的理论指出人眼对亮度分量的变化比色度分量更敏感,但是由传感器或电路引起的噪声产生于RGB彩色空间,直接在RGB彩色空间进行边缘检测,可以避免彩色空间转换带来的噪声放大和噪声类型复杂化。使用RGB彩色空间进行边缘检测的另一个原因是,图像中存在一些位于颜色不同但亮度相似的区域之间的边缘,仅用亮度分量无法检测到这些边缘。
使用哪种边缘检测方法必须根据问题的需要来进行选择,彩色图像滤噪方法对边缘检测结果主要有以下几点要求:
1)能够检测到图像中的细小边缘;
2)边缘定位准确,无像素偏移;
3)对噪声无抑制作用;
4)要求边缘非二值,为下一步的边缘滤波提供条件;
5)可以在彩色空间内对各分量进行整体处理,充分利用图像中携带的彩色信息;
6)能够根据图像中各个区域的性质自适应地选择合适的参数进行边缘检测;
7)不要求单像素边缘,不要求连续封闭边缘;
8)考虑实时系统应用,边缘检测方法应可并行计算和便于硬件实现。
基于细胞神经网络(CNN)的彩色图像边缘检测算法的设计是以满足上述要求为目的的,其最突出的优点是能高速并行计算,且处理速度与图像大小无关,并便于硬件实现。这使得其在图像实时处理方面具有广泛的应用前景。CNN方法首先对CNN模板进行了理论分析和鲁棒性研究,提出了一个实现彩色图像边缘检测功能要求的CNN鲁棒性定理,这为设计相应的CNN模板参数提供了解析判据。这种方法继承了CNN的优点,填补了CNN现有算法不能直接处理彩色图像的空白。实验结果表明,该算法可以对不同特性的彩色图像进行有效的边缘提取。以下详细介绍算法流程。
4.2.2.1 CNN的鲁棒性设计
1.CNN模板设计
定义CNN模板如下:
这里a>1,bk,l为非线性函数bk,l(Δu),根据CNN的数学描述和彩色空间欧几里得距离,可得
2.CNN全局功能
1)给定初始状态矩阵为X(0)=(xi,j(0))M×N,取xi,j(0)=0;
2)选择边界条件为循环边界条件;
3)最终输出的边缘图像矩阵为Y⇒Y(∞)=(yi,j(∞))M×N;
4)用CNN检测彩色图像边缘就是将输入的彩色图像矩阵U映射成输出的边缘图像矩阵Y,即F∶U→Y,通过分析图像中边缘点的特点建立适当的局部规则,进而构造CNN模板参数的取值。
3.CNN局部规则
局部规则1:当ui,j相邻8个像素点中至少有3个像素满足|Δu|>g时,任意像素的输出为黑色(黑色对应+1),则yi,j(∞)为+1,像素点(i,j)为边缘点。
局部规则2:当ui,j相邻8个像素点中至多有2个像素满足|Δu|>g时,任意像素的输出为白色(白色对应-1),则,yi,j(∞)为-1,像素点(i,j)为非边缘点。
4.CNN数学分析
实际应用中,取r=1,根据标准CNN状态方程式(4.87)得到CNN的状态-输出方程,即
根据标准CNN输出方程得
将公式(4.97)代入公式(4.95)可得
将公式(4.98)代入公式x·i,j=g(xi,j)+wi,j,可得
根据公式(4.99),当过(-1,0)点时wi,j=a-1,画出动力学曲线,如图4.22所示的虚线d1。当过(1,0)点时wi,j=1-a,画出动力学曲线,如图4.22所示的虚线d2。这两条动力学曲线属于临界状态。根据wi,j的不同取值范围,可以得到三类动力学曲线:
(1)wi,j>a-1时
动力学曲线在d1上方的区域,即在区域Ⅰ中。画出其中的一条动力学曲线,如图4.22所示的曲线c1,它与xi,j轴有一个交点为Q1。
(2)1-a≤wi,j≤a-1时
动力学曲线在d1和d2之间的区域,即在区域Ⅱ中。画出其中的一条动力学曲线,如图4.22所示的曲线c2,它与xi,j轴有三个交点分别为Q2,Q3,Q4。
(3)wi,j<1-a时
动力学曲线在d2下方的区域,即在区域Ⅲ中。画出其中的一条动力学曲线,如图4.22所示,曲线c3与xi,j轴有一个交点Q5。
对图4.22所示动力学曲线方向的说明:①当动力学曲线在xi,j轴上方时,动力学曲线向xi,j增大的方向移动直到时停止;②当动力学曲线在xi,j轴下方时<0,动力学曲线向xi,j减小的方向移动直到时停止。
图4.22 动力学曲线图
从图4.22可以看出:
(1)动力学曲线c1
当xi,j(0)∈(-∞,∞)时,沿着图中箭头所示的方向移动,最终收敛点为Q1点。由于wi,j>a-1则Q1点的xi,j>1,根据标准CNN输出方程可得yi,j(∞)=1。
(2)动力学曲线c2它与xi,j轴有3个交点Q2,Q3,Q4。当时(a-1)xi,j+wi,j=0可得到在xi,j上的交点Q3的横坐标为-wi,j/a-1,需要考虑3种情况:1)当xi,j(0)=-wi,j/a-1时该点为收敛点,即Q3点,因为,则该点不再移动,根据标准CNN输出方程可得yi,j(∞)=-wi,j/a-1;
2)当xi,j(0)>-wi,j/a-1时沿着图中箭头所示的方向移动,最终收敛于Q2点,该点的xi,j≥1,根据标准CNN输出方程可得yi,j(∞)=1;
3)当xi,j(0)<-wi,j/a-1时,沿着图中箭头所示的方向移动,最终收敛于Q4点,该点xi,j≤-1,根据标准CNN输出方程可得yi,j(∞)=-1。
(3)动力学曲线c3
当xi,j(0)∈(-∞,∞)时,沿着图中箭头所示的方向移动,最终收敛点为Q5点,由于wi,j<1-a则Q5点的xi,j<-1,根据标准CNN输出方程可得yi,j(∞)=-1。
由上述分析可以得到
设ps为满足|Δu|≤g条件要求的相邻像素的个数,设pd为满足|Δu|>g条件要求的相邻像素的个数。由式(4.95)和式(4.96)可得
证明1:根据局部规则1,如果像素点ui,j有至少3个相邻的点满足条件|Δu|>g,则yi,j(∞)=1,得到(www.daowen.com)
为了得到yi,j(∞)=1,根据式(4.100)需要满足wi,j>a-1或满足xi,j(0)>-wi,j/a-1和1-a≤wi,j≤a-1,又因为定义CNN模板时取a>1,全局功能中已设定初始条件为xi,j(0)=0,则
那么在xi,j(0)=0的初始条件下,当且仅当wi,j≥z-8+(1+c)3>0⇔z+3c>5成立时,yi,j(∞)=1,满足局部规则1,得到z+3c>5。证明完毕。
证明2:根据局部规则2如果像素点ui,j有至多两个相邻点满足条件|Δu|>g,则yi,j(∞)=-1,得到
wi,j=z-8+(1+c)pd≤z-8+(1+c)2 (4.103)
为了得到yi,j(∞)=-1根据式(4.100)需要满足wi,j<1-a或xi,j(0)<-wi,j/a-1和1-a≤wi,j≤a-1,则
那么在xi,j(0)=0的初始条件下,当且仅当wi,j≤z-8+(1+c)2<0⇔z+2c<6成立时,yi,j(∞)=-1。满足局部规则2,得到z+2c<6。证明完毕。
5.定理
在上述模板条件下,CNN能满足彩色图像边缘检测的功能,当且仅当以下条件成立:
a>1
z+3c>5 (4.104)
z+2c<6
根据以上求解结果,可以根据情况在式(4.104)的范围内选择合适的参数。当取c=2,z=1的情况下,彩色图像边缘检测的结果如图4.23所示。可以看出采用不同的距离阈值g,对边缘的检测结果有较大的影响。
图4.23 基于CNN的边缘检测结果
4.2.2.2 基于CNN的分块自适应检测算法
上文讨论的CNN边缘检测算法,对彩色图像的边缘检测结果符合彩色图像滤噪方法对边缘检测结果的要求。原因如下:CNN算法基于彩色空间距离逐像素点计算(并行),所以边缘定位准确,无像素偏移问题,对噪声无抑制作用;CNN可并行计算,并且便于硬件实现;CNN边缘检测结果非二值,为下一步的边缘滤波提供了条件;CNN边缘检测算法在彩色空间内对彩色矢量整体处理,充分利用彩色图像中携带的彩色信息。本节开始提出的彩色图像滤噪方法对边缘检测结果主要要求的2)~5)都已经满足,接下来讨论如何能够根据图像中各个区域的性质自适应地选择合适的参数进行边缘检测。
4.2.2.1节中介绍的方法,其检测结果满足彩色图像滤噪流程对边缘检测结果的要求,但仍然没有考虑图像在不同区域的性质不同。对一幅图像采用一组网络参数,若选用较小的距离阈值g,图像中纹理丰富的区域检测出的边缘过多,不能很好地用来作为下一步有针对性滤噪增强的依据。若通过增大g值来消除虚假边缘,图像平滑区域中的一些弱小边缘也会一同被除去,只能反映出图像大的轮廓边缘,也不能很好地用来作为下一步图像滤噪的依据。
鉴于以上不足,为了在确保边缘准确的同时,最大可能地去除伪边缘点,采用熵来度量图像的各个子区域的纹理性质。进而确定一组合适的网络参数。对于边缘较多的区域,采用比较大的g值,能够有效抑制伪边缘点的影响;对于平滑区域,采用比较小的g值,能够得到比较精细的边缘。
对整幅图像进行分块自适应检测,根据图像单元信息熵进行分块,从而达到分块自适应的目的。
综上所述,分块自适应边缘检测算法如下:
1)将待分析的N×M的彩色图像,分成大小为n×m的若干子区域。
2)计算图像各子区域的单元信息熵,并用熵值来判断该区域的纹理性质。RGB图像的熵H等于三个分量的熵的和,表示为H=HR+HG+HB。
3)根据各子区域的性质,采用合适的g值。具体情况如下:①若该子区域为平滑区域,参数g取值为0.1。②若该子区域为复合区域,参数g取值为0.15。③若该子区域为边缘区域,参数g取值为0.2。
4)将常数g变成N×M的矩阵G,将G代入4.22.1节中得到的CNN模板中,得到新的CNN模板,新模板可以实现自适应地检测彩色图像的边缘。
对加入0.05椒盐噪声和0.005高斯噪声的Pappers图的分块自适应边缘检测结果如图4.24所示。可以看出检测结果对边缘定位准确,无像素偏移,对噪声无抑制作用,可以用于滤噪过程中的噪声定位。
图4.24 边缘检测和边缘滤波结果
4.2.2.3 边缘滤波
边缘滤波是从备选边缘中找出“最重要”边缘的过程,如果考虑图像内容,找出“最重要“边缘需要相当复杂的算法[29]。例如,在Lena图中“最重要”边缘包括眼睛的边缘,因为这是Lena图中观察者视线主要停留的区域,同时这个区域也表达了图像内容中重要的信息。在本节的边缘滤波过程中将不考虑图像的内容信息。边缘滤波主要考虑以下几个要求:
1)过滤map A中边缘强度小的边缘点;
2)过滤map A中“短”的边缘链;
3)过滤map A中“弱”的边缘链。
边缘滤波步骤如下:
1)设定高、低阈值,边缘链长度阈值,边缘链强度阈值。
2)连接相邻的边缘点,强度大于高阈值的点留下;强度小于低阈值的点去除;强度介于高低阈值之间的点,如果能与高阈值的点连接在一条边缘链上则留下,否则去除得到若干条边缘链的集合。
3)在2)的基础上过滤边缘链集合中长度小于边缘链长度阈值的边缘链;
4)在3)的基础上过滤边缘链集合中平均强度小于边缘链强度阈值的边缘链。
在步骤2)的边缘连接过程中需要注意以下问题:
1)连接过程中优先搜索使边缘走向光滑的点。例如,边缘链中上一个边缘点在本边缘点的“左下”,则优先搜索本边缘点的“右上”位置,按优先级其次是“右”位置、“上”位置,优先级再次是“左上”位置、“右下”位置,优先级最后是“左”位置、“下”位置,其他情况同理。
2)在优先级相同的情况下,在8邻域内优先搜索强度较大的边缘点。
3)边缘单链连接结束后还要返回起始点,再向相反方向搜索。
4)如果将边缘分支考虑进去,可以在主链连接结束后,依次以主链上每点作为起始点搜索分支,搜索到的分支点记入主链。此过程可递归,最好设置一个最大递归深度,避免递归次数过多。
map A经过边缘滤波后得到map B,map B可以用来图像增强而不会带来彩色图像失真。对图4.24b所示图像做边缘滤波后的边缘图像如图4.24c所示。
4.2.2.4 实验分析及评价
采用512像素×512像素彩色合成图加入0.05椒盐噪声进行测试,如图4.25a所示。图中A、B、C三个区域亮度相同,色调及饱和度不同,则这三个区域具有相同的灰度级别。对图4.25a边缘检测的对比结果如图4.25b~d所示。可以看出:
1)如图4.25b和c所示,只检测出两条边缘线,图4.25c所示的两条线属于标准的直线,而图4.25b所示的两条线受到噪声的干扰呈现为小幅波浪线。证明了基于CNN的边缘检测定位准确,无像素偏移。
2)如图4.25d所示,检测出了所有的边缘,并为直线。非边缘区域产生的伪边缘较少。证明了彩色边缘检测能获得更多的边缘信息,漏减率低,不致因噪声造成虚假检测。
3)图4.25d所示的四周有边缘线,这是由于采用了循环边界条件造成的。
图4.25 加噪合成图的边缘检测结果
为了定量地分析该算法的优越性,采用参考文献[30]中所用的定量评价标准。表4.9列出了用实验中各种算法对合成图加入不同密度的椒盐噪声所得到的评价指标值。从表中可以看出随着噪声密度的增加,本文算法的FOM值明显大于其他算法的FOM值,这说明本文算法在对含有噪声图像进行边缘检测时,对强噪声的滤噪效果更加明显。
表4.9 检测结果的FOM值比较
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。