线特征---EDLines原理(六)

本文介绍了一种名为EDLines的实时线段检测算法,它无需参数调整,适用于各种图像。与传统基于Hough变换的方法相比,EDLines速度快、准确性高,且包含线段验证步骤以控制误检测。算法包括边缘检测、线段提取和线验证等步骤,其中边缘检测采用Edge Drawing算法,线段提取使用最小二乘拟合,并基于亥姆霍兹原理进行线验证。
摘要由CSDN通过智能技术生成

参考文献:EDLines: A real-time line segment detector with a false detection control ----Cuneyt Akinlar  , Cihan Topal

 1. Introduction

这种算法根本不需要参数调整,只需为所有类型的图像运行一组默认参数即可。

传统的直线段检测算法开始于计算边缘图,通常由著名的Canny边缘检测器(Canny, 1986)。接下来是Hough变换(Hough, 1962; Illinworth and Kittler, 1988; Kalviainen et al., 1996),提取含有一定数量的边缘点的所有的线。线碎成线段通过间隙和长度阈值(Duda and Hart, 1972)。这些方法通常很慢,它们通常将非连续的线段组合在一起产生大量错误检测。

有许多变种的Hough变换(HT),例如,Randomized Hough transform (Xu et al., 1990), Progressive Probabilistic Hough transform (Kiryati et al., 1991; Matas et al., 2000;Galambos et al., 2001), Elliptical Gaussian kernel-based Hough transform (Fernandes and Oliveira, 2008; KHT software package),and many others (Princen et al., 1990; Gorman and Clowes, 1976;Lam et al., 1994; Kang et al., 2007; Chao et al., 2009),每一个试图弥补标准Hough变换不同的缺点。在这些技术中,(Fernandes and Oliveira, 2008; KHT software package)提出一个有效的HT程序方案。给定一个二进制边缘图,KHT实现软件实时性能而成为伪线检测算法的鲁棒性。
KHT也有默认的参数设置,可用于所有的边缘图。然而,所有基于Hough变换的技术都需要一个二值边缘映射作为输入,它们通常在(角度,半径)表示中生成无限长的线段(而不是线段),然后必须细分为线段。对于这些技术来说,干净的输入边映射是非常关键的,但是用于边缘图生成的参数不是自动的,必须由用户决定。
图1显示了通过OpenCV的Hough产生的线段变换的方法,即cvhough-lines2功能。为了得到这一结果,在Canny边缘检测和直线提取中分别设置了不同的阈值,并给出了最佳结果。虽然在房屋上检测到的一些长线段是准确的,但有许多不恰当的线段检测,特别是围绕着各向异性结构,如灌木丛、草地和树木。Hough变换通过KHT软件包产生结果,虽然比OpenCV的cvHoughLines2要快得多,但KHT产生无限长的线而不是线段,它必须被分解成线段的后处理步骤。根据记录,KHT软件包只需要16.5毫秒(5毫秒生成边缘图加11.5 ms线提取)在图1的房子的图像,并输出360条线。

代替使用霍夫变换(Hough transform), Chan and Yip (1996) and Etemadi (1992)提出了经过边缘图的计算后用不同的技术来提取线段。具体来说,Etemadi’s method (Etemadi, 1992)是基于从一个给定的边缘图像素生成链,然后通过遍历这些链提取直线段和弧线。虽然线段和弧线的提取过程是无参数的,但是边缘检测仍然是需要参数的,留给用户添加。这种方法产生良好的局部线段和弧线,但它产生了太多的错误的部分,特别是在嘈杂的背景或含有复杂的结构,如树木,草,多云的天空,或类似的各向异性结构。图1显示了Etemadi’s的结果只有直线段显示。

可选择使用的二进制边缘图线段检测,也有技术,其工作只是利用像素的梯度方向((Burns et al., 1986; Beveridge et al., 1996; Desolneux et al., 2000, 2008; Grompone von Gioi et al., 2008a,b, 2010).)。第一个这样的建议是由Burns al(1986)and Beveridge et al. (1996)提出的,在每个像素处计算水平线方向,然后通过组合具有相同方向的像素来生成线段。从像素开始,观察相邻像素的水平线角,如果它们具有相同的方向,将它们结合起来。虽然这项工作对于最近的一些线探测器奠定了基础,但它所产生的结果类似Etemadi’s method产生太多有大量错误的线段。

Desolneux et al. (2000, 2008)通过使用 Burn’s 像素定位的思想,提出了一个通过控制错误的数量的无参数线检测。他们的想法是计算在一个特定的方向上的对齐像素(aligned pixels)的数量,如果观察到的结构是有感知意义,接受一组像素作为一个线段。这就是所谓的从Gestalt theory 的论赫姆霍兹原则(Helmholtz principle)(Desolneux et al., 2008)并作为线的验证方法。虽然这种方法有望不产生错误,但是许多有效的短线段失踪(见Desolneux et al.’s的结果如图1所示)。这种方法在自然界中也是非常全球性的,可以产生非常长的线,而实际上这些线应该被分解成几个较小的线段(观察两个不同楼层上的窗户被组合了)。此外,该算法计算量非常大,因此速度非常慢(在给定的图像上需要超过10秒)。

通过扩展Burns’s工作为线段的生成,并结合他们通过 Desolneux’s线验证方法定于亥姆霍兹原理Helmholtz principle (Desolneux et al., 2008), Grompone von Gioi et al. (2008a,b, 2010)最近提出了一个无参数的线检测算法,称为线段检测器(LSD),可产生精确的线段,并控制错误检测的数量。虽然LSD对大多数类型的图像产生良好的效果(见图1中的LSD结果)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值