Shen-Castan边缘检测器ISEF
背景
Canny边缘检测器是根据一组特定的标准进行优化定义的。尽管这些标准足够合理,但是没有理由认为这些标准就是唯一的标准。
最优的概念是相对的,而且很可能(在某些情况下)存在比Canny边缘检测器更好的边缘检测器。
事实上,在对边缘检测的方法进行比较,有时候看上去实际上是对优化的定义进行比较。
理论
Shen和Castan在边缘检测器的基本形式上与Canny意见一致:首先利用平滑核(smoothing kernel)进行卷积运算,然后再搜索边缘像素。然而,他们通过分析得到了一个不同的函数进行优化:即提出了最小化(在一个维度上)优化:
与canny边缘检测器的比较
(1)操作区别
Canny算法通过高斯函数的导数对图像进行卷积运算,然后执行非极大值抑制和滞后阈值操作。
Shen-Castan算法通过无穷对称指数滤波器对图像进行卷积运算,计算BLI,抑制负零交叉,执行自适应梯度阈值操作,最后应用滞后阈值操作。
(2)用户可定义参数不同
这两种算法都提供了用户可定义参数,因此对于使用特定类型图像的调优很有用。
参数如下:
(3)卷积实现不同
由于Canny的实现在执行卷积的时候使用了环绕式的方法(wrap-around),因此在图像边界周围的区域被黑色像素占据,尽管有时候这些黑色像素看上去像噪声。
ISEF实现使用了递归滤波器,环绕式的方法更难实现,因此没有实现,而是采用了另一种方式:图像在处理之前被嵌入了一幅更大的图像。因此,当卷积掩模超出了图像边界的时候,这些图像的边缘几乎都为白色。
(4)噪声的影响
ISEF随着噪声的增大看上去似乎具有优势。
从整体上来说,相比Canny边缘检测器,ISEF边缘检测器略胜一筹,位居第一,Canny位居第二。Marr-Hildreth位居第三,之后是Kirsch,Sobel,△2和△1。
值得注意的是,Canny与ISEF算法的比较的结果取决于用户可定义参数中每个参数的选择,选择的参数更好获得的评估结果可能会更好。
在一些情况下,Canny边缘检测器会更好,而有的时候ISEF方法会占据优势。
对于某个特定的图像来说,最佳的参数组合是未知的,因此最终还要用户自己来选择使用哪一种方法。
源码
Shen-Castan算法源码
https://github.com/ThranduilELFKING/study-openCV/tree/main/isef