《像素编组和逐级质量控制的线段检测算子.docx》由会员分享,可在线阅读,更多相关《像素编组和逐级质量控制的线段检测算子.docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、像素编组和逐级质量控制的线段检测算子针对现有线段提取算法存在的缺乏,提出了一个点元梯度特征引导下的线段检测算子,在编组的前、中和后三大环节进行逐级质量控制基于梯度最优并结合邻近性、方向性等规则控制“欠提取错误,采用假设检验方法控制“过提取错误多源数据实验表明,提出的算法在编组中不易遭到弱梯度像素或噪声的干扰,与经典的线段提取算子相比,在线段提取的效率和稳健性都有一定的优势,有利于实现从场景到构造的重要视觉符号描绘关键词:线段检测;像素编组;质量控制;假设检验;欠提取;过提取线段在数字摄影测量与计算机视觉、遥感信息提取中属于中层视觉符号;是灭点检测1-2、直线匹配3、基于线特征的影像配准4-5、
2、构造识别6、遥感地物信息提取7和三维重建8等场景恢复算法的重要基础,线段提取结果的好坏直接影响后续处理的效率因而,一个提取完好,抗噪性强,定位准确且运行速度快的线段检测算子对以线段符号为基础的技术应用具有重要意义线段提取算法可分为如下两类(1)基于边缘:该类算法在边缘检测结果上进行提取霍夫变换9,以及Neva-tia等提出的算法10最为经典,前者通过参数空间,把寻找知足线性关系的边缘像素组合问题转化为参数空间求极值的问题;后者将边缘跟踪为链码,通过链码的分裂与合并检测线段固然两类方法思想不一样,但在提取经过中,梯度模都起着主导作用,即只要边缘像素才能介入线段的拟合诸多线段提取算法在此基础之上从
3、速度和防止误连进行改良,例如Etemadi提出的同时提取线段和曲线的算法11,基于EdgeDrawing12边缘提取的EDlines13,概率霍夫14-15、高斯核霍夫16等霍夫检测本身不能克制线段的过连接情况,提取出的是直线不是线段,故往往没有端点基于链码分裂的提取算法本身依靠于边缘提取的效果,容易带来欠提取的问题,详细表现为:1)若梯度阈值设置过大,则弱边缘提取不完好,造成线段无法提取;2)受噪声影响,边缘链码出现分叉或者局部弯曲时,线段在此出现断裂欠提取的问题在复杂场景中最为常见(2)基于编组:由于线段存在一个区域,区域内的梯度方向具有很大类似性,因而该类算法根据梯度方向的一致性直接将邻
4、近像素编组为线段区域Burns提出的编组方法17最为经典,具有较强的全局性,能有效解决基于边缘的线段提取算法中易受噪声干扰的问题,对于复杂场景以及弱梯度线段的提取均有较好的效果后续算法从线段定位精度,运行速度18,以及伪线段的错误控制19进行改良Grompone等改良了错误控制算法19的效率,融合已有算法的优点,提出的LSD20在过提取的控制与运行速度上均有出色表现这类算法与基于边缘的线段提取算法相反,没有使用梯度的模而是梯度的方向作为编组的决定因素,遭到线段区域边缘弱梯度像素的影响,编组可能会出现过生长,表现为区域宽度不一致,出现局部突出;若不进行控制,则会产生过提取,使端点定位不准该类方法
5、通常在编组中对像素设置梯度阈值,并通过逐步缩减线段支持区域的范围,减我组的方向容忍阈值等方法迭代控制过提取这可能使过提取又转化为欠提取问题,详细表现为:1)梯度阈值的设置使得处于弱梯度区域的线段有可能完全不能提取,或者含有弱梯度的区域的完好线段被分裂成破碎线段;2)控制过生长的经过有可能造成线段支持区域分裂基于上述分析,欠提取(弃真,第一类错误)与过提取(取伪,第二类错误)是线段提取需要解决的两类质量问题对于当前基于像素编组的线段提取算法,弱梯度像素的干扰以及固定的方向容忍阈值是造成过提取的主要因素,而缺乏有效的过提取控制则是造成欠提取的重要原因由于,只要单一某个环节存在误差就会导致整体的不确
6、定性,故需要在每个环节都进行相应的质量控制此外,由经典的统计原理可知“当样本容量固定时,若减小犯第一类错误的概率,则犯另一类错误的概率往往增大,若要使犯两类错误的概率都减小,除非增加样本的容量由此可见,同时降低两类错误在单一条件下不可能,但是在多条件(例如,增大样本容量)下进行控制则是能够同时减小两类错误的因而,本文提出一种逐级质量控制的线段检测策略,编组前,通过局部梯度极值生成编组种子点,保证编组初始位置的可靠性;针对经典编组算法抗弱梯度干扰性差的问题,提出利用梯度特征引导编组经过的算法,使得编组经过不易受弱梯度像素的干扰,编组后通过链码分裂能够严格且有效地控制固定方向容忍阈值带来过提取问题
7、;最后采用假设检验的方法剔除伪线段,再利用高精度平差模型提升线段拟合精度,采用多手段力图从各个环节控制两类错误,详细策略和算法如下1线段提取算法与策略算法可分为种子点生成、像素编组与线段拟合、过提取控制三个步骤种子点生成提高像素编组初始位置的可靠度;在像素编组与线段拟合中,提出一种融合梯度模与梯度方向的编组策略,抑制弱梯度像素的干扰,控制欠提取,使用Partial-EIV21模型结合梯度权值提高线段拟合质量;过提取控制包含对两类过提取的控制:固定方向容忍阈值造成的编组过生长;树木,草地等背景噪声中提取出的伪线段11种子点提取经典检测算子如LSD,EDLines需要对整体像素设置梯度阈值,导致部
8、分含有弱梯度像元的线段无法完好提取或根本不能提取,因而,仅对初始生长的种子点设置梯度阈值而不对潜在的编组像素设置阈值以解决上述欠提取问题梯度模越大,则越有可能是边缘像素,将其作为初始生长种子点能够提高编组位置的可靠性。12像素编组与线段拟合121像素编组针对经典像元编组策略易受弱梯度像素干扰的问题,本文提出的算法在编组中除了方向一致性约束外,引入点元梯度方向引导编组经过,并结合梯度模控制像素质量,为后续编组过生长控制奠定基础详细实现方法如下编组从种子点开场,编组的走向由点元的预编组角度确定,预编组角度为线段潜在可能增长的方向,由点元梯度角顺时针旋转90得到计算公式为=arctan(gx(x,y
9、)/gy(x,y),(3)式中gx(x,y),gy(x,y)分别表示点元在x和y方向的偏导数,像方坐标系为右上角为坐标原点的左手坐标系,即横轴为x轴,越往右值越大,竖轴为y轴,越往下值越大若上一个纳入链码像素的预编组角度为,则编组走向(dx,dy)可由式(4)求出:dx=round(cos)/40/4dy=round(sin)/40/4,(4)式中round为四舍五入函数,式(4)将编组走向简化为带正负号的水平与垂直方向受Edgedrawing12边缘跟踪算法启发,为了控制欠提取,最多可有6个邻近像素介入编组判定:若上一个纳入编组的像素预编组角度为垂直走向,上侧或下侧的三个邻近像素将会作为候选
10、生长点(图1(a),否则,该像素左侧或右侧的三个邻近像素将会作为候选生长点(图1(b)按此原则,3个编组候选像素坐标(x1,y1),(x2,y2),(x3,y3)可按式(5)计算:x1y1x2y2x3y3=101111x+dxy+dydydx,(5)式中(x,y)为上一个纳入编组的像素坐标,首先取1,使链码从初始生长点“正向进行编组,该方向编组结束后回到种子点,取为-1,往“负方向进行编组三个候选像素都有可能知足编组方向一致性,为了使编组中的像素知足梯度模相对最优,将3个候选像素按梯度模从高到低的顺序进行可编组判定:记编组中已有n个像素,则编组角度可按式(6)计算,angle=arctanni
11、=1sinini=1cosi,(6)式中i表示编组中第i个像素的预编组角度,若像素的预编组角度与编组角度之差在阈值内,则将当前像素参加编组,且不对其它侯选点进行检验基于梯度方向的线段检测算子17-20,23均建议将角度容忍误差设为/8,我们对不同的阈值进行了实验,也得出/8相比其它阈值能够获得更好的编组效果,因而参照前人研究,将方向容忍误差设置为/8出现下面情况时,停止当前方向的像素编组:(1)3个候选像素均不能知足编组的方向一致性约束;(2)知足约束条件的像素已被使用;(3)到达了整张影像的边界由编组策略可知,编组走向受梯度方向控制,编组时选择知足方向一致性的梯度模最大的像素,编组后为单像素
12、宽度的链码;因而编组策略既具有方向编组的全局性优势,也避免了LSD等区域编组算法所面对的弱梯度干扰而带来的过生长问题122线段拟合记链码中有n个像素,h为图像行数,w为图像列数,若n2(log(h)+log(w)log(p),(7)则链码由于长度太小无法通过后续的错误控制检验式中p为邻近像素方向一致的概率,由于像素编组的方向容忍误差为/8,所以p=0125若n符合式(7),则直接剔除该链码,否则,将链码中的点元按EIV(Errorsinvariables)平差模型24拟合为线段2过提取控制21编组过生长控制编组经过中使用了固定的方向阈值,可能出现过生长情况,即不属于该编组的像元被参加到编组中,
13、如图2中编组左端的像素被误参加了编组(即,过生长),因而了降低线段拟合质量但是,由于编组得到的是单像素宽度的链码,通过计算拟合线段的均方根误差(rootmeansquareoferrors,MSE)便可检测出编组能否存在过生长若MSE大于1,则以为线段整体平均偏离了一个像素,存在过生长情况,能够参照边缘分裂算法25进行过提取控制:1)若拟合得到的线段角度/4,则对链码按x坐标的大小排序,反之,按y坐标的大小进行排序;2)将距离链码端点组成的线段最远的点作为分裂点,从该点分裂成两条链码其中较长的链码被保留,短链码中的像素设置为未使用状态,可在后续编组经过中被使用;3)对长链码进行线段拟合,若通过
14、误差检验,则停止分裂,并将其作为一条线段否则,返回步骤1),直至链码中像素个数低于最少像素个数22伪线段控制知足均方根误差检验所得到线段仍有可能存在错误提取(FalsePositive)问题,例如树木,草地,云朵等背景将会产生大量伪线段,影响着后续算法的效率与稳定这些线段能够通过错误控制19进行剔除错误控制方法源自于视觉感悟原则:具有视觉显著性的构造,其内部元素,例如梯度方向,呈随机性的概率将会很低,在随机背景模型中表现为异常值错误控制方法在一种随机背景模型假设下对线段进行假设检验,高斯白噪声在各个方向上具有独立性,能够作为一种图像背景模型在图像背景模型为高斯白噪声(即非线段)的H0原假设下,
15、Desol-neux等19定义了错误响应函数(NumberOfFalseAlarms,NFA)对线段进行假设检验:若图片尺寸为MN,设n为某一线段链码的像元个数,k为链码中与拟合线段方向一致的像素个数,p为122节讨论的梯度方向一致的概率,则有:NFA(r)=M(M1)N(N1)b(n,k,p),(8)式中b(n,k,p)为二项概率分布ni=k()nipi(1p)ni,若NFA(r)(0),则拒绝原假设H0,即背景不是各向同性的随机噪声,进而接受其为线段的备选假设H1;反之接受原假设,将线段作为伪线段剔除Desolneux建议将设为1,表示在一张图片中,会出现一个错误检测统计编组中n个像素的预
16、编组角度与拟合得到的线段角度一致的像元个数k,并计算出NFA(r)的值,若小于,接受为一条线段需要强调的是,高斯平滑会降低邻近像素的独立性,在错误控制前需对链码中像素的预编组角度在未经过高斯平滑的原图像中重新计算3实验与分析为了检验算法的有效性,通过VS2010结合OpenCV249开源库编制程序,使用一台处理器为Intel()Core(TM)i5-4200UCPU160GHz,内存为4GB,操作系统为Win10的Thinkpadx240笔记本进行实验,所有算法均在elease形式下执行,执行时间均为重复执行10次后得到的平均值31数据集1(比照实验)选择了PHT,LSD以及EDlines算法
17、对一张450400的航空影像进行检测,PHT是经典的线段检测算子,LSD与EDlines则是近年提出而且被广泛采用的线段检测算法实验结果(图3)能够看出,PHT不能很好的定位出线段的端点,且易受噪声影响造成过提取,产生大量伪线段;EDlines使用了55的高斯模板进行平滑,使得线段提取的连续性较好,但平滑造成梯度偏移,且基于梯度极值的链码跟策略可能造成过提取,图4展示了图3原图像线框中的局部提取结果,从框选区域能够看出EDlines出现了明显的错误提取;与LSD相比,在详细细节上各有优势,且均未出现明显的过提取线段,尽管可能存在一些地方LSD提获得更好,但是总体而言,本算法在提取的效果上更优,
18、例如LSD提取图像的框选区域,提出的算法完好的提取出了视觉上呈直线的屋脊,而LSD则出现了断裂,同时,从框选的沙滩椅区域能够看出,对细节特征的提取有较好的改善为了愈加直观表如今细节性与完好性的改善,将不同算法的提取结果进行长度区间计数统计(图5)总体而言,提出的算法提取的线段数量最多,且在各个长度区间都能较LSD提取更多的线段;ED-Lines采用了大尺寸模板的高斯平滑,提取的长线段区间(大于40个像元)线段数量略多于本算法,但也因而造成误连接与细节丢失,提取的中短线段(长度小于40个像元)数量明显低于本文以及LSD算法综合来看,算法对细节特征的提取(细节性)以及线段提取的连续性(完好性)均有
19、改善,这正是由如下针对性的改良而造成:(1)算法仅对种子点设置梯度阈值,而不对潜在的编组像素设置阈值,故在编组经过中不会由于梯度过小而断连或造成弱梯度线段不能被提取;(2)使用了一种新的编组策略,不受弱梯度像元干扰且能够对编组结果进行准确的过提取控制在速度上,PHT算法在OpenCV库中经过了优化,但执行时间仍然最长;EDlines未进行梯度方向计算,因而执行速度最快;由于未对每个像素设置梯度阈值,提出的算法相比LSD需要处理更多的弱梯度像元,计算量更大,但使用分裂算法进行过生长控制,较LSD的迭代方法更为迅速,因而总的执行时间比LSD稍快,只需55ms(毫秒),可知足实时处理需求综上,与经典
20、的算法PHT,以及优秀的算法Edlines、LSD相比,在提取的可靠性上最优,而在速度上尽管没获得最优的结果,但也获得了次优(第二)的结果,故总体而言,在质量和速度上做到了较好的兼顾,单位时间内提取线段的质量更高,效率最优为了进一步讲明提出的编组策略对弱梯度像素的抗干扰能力,将LSD的梯度阈值与本算法种子点梯度阈值同时调低,得到不同梯度阈值下线段提取结果(图8)在原有阈值下,较LSD提取的线段更为连续,且更多线段被提取出来,长度统计结果(图6)也表明提取结果在完好性与细节性上占优从阈值的变化对线段提取的影响来看,在单一阈值时,LSD随着阈值t=1,2,52,逐步增大时,线段提获得更完好,但细节
21、丢失严重;而反过来,阈值变小时,线段提取更精细,但完好性变差,即不能同时降低两类错误;然而,本文算法由于在像元编组的前、中和后三大环节进行逐级质量控制,采用了非单一的多控制手段,故对阈值的变化并不敏感,仅有少许变化,在保证提取线段的完好性同时,也很好地保留了细节,同时控制了两类错误随着梯度阈值降低,LSD需尝试多种方法控制弱梯度像素造成的大量过生长,增大了计算量,执行时间从33ms增加到218ms;而本文算法由于遭到弱梯度干扰小,只增加了处理的像元数,因而执行时间仅增加了7ms需要讲明的是,当前,LSD被普遍以为是最好的线段提取算法之一,本文提出的算法相比LSD在提取效果和速度上都得到了改善(
22、连续性与弱梯度线段的提取),总体而言相比于LSD很好地控制了“两类错误,提取出来的线段更完好且无明显过提取、细节更丰富避免了欠提取尤其是,相比于LSD本算法对阈值的选择更不敏感,不仅具有一定的稳定性,而且具有较好的自适应性,这是由于本算法所有的阈值并不是凭经历和少许实验而定,而是在参考前人的大量实验和理论推导的基础上得出的,即几乎所有的阈值都是基于概率统计原理在一定显著性水平或置信水平上推导而来,故具有普适性,请见下节的广泛实验32数据集2(多源数据验证)为了进一步验证本算法的普适性,选择了多源多平台数据进行测试,包括可见光数据(380780nm,对传感器获得的、G、B波段分别赋、G、B颜色)
23、、彩红外数据(其近红外波长约为7802526nm,对传感器获得的NI、G波段分别赋、G、B颜色)、地面室外数据、室内数据和卫星遥感数据等图8显示了不同场景图像的线段提取结果当场景比拟简单时,如图(a)、(b),本算法几乎能完好地提取出所有线段图(c)、(d)较前两张图片场景稍显复杂,但算法在提取线段的完好性以及对局部细节特征的提取能力上均有稳健表现,例如(c)图中的小窗户格子,以及(d)图中的大部分窗体构造都被完好地提取出来由于算法采用了错误控制,(c)图中的食物以及(d)图中的草坪,植被产生的过提取线段均被剔除(e)、(f)为两张彩红外的地面与卫星影像,尤其是航天遥感彩红外影像信息的提取,例
24、如:农田、行树与篱笆等提取,可应用于植被覆盖变化监测、林木与农作物估产,以及风侵蚀监测与土壤保护74结论提出一种逐级质量控制的编组策略,对两类线段提取错误进行控制,可为数字摄影测量、计算机视觉、机器视觉、遥感预处理和地学应用奠定基础实验表明,提出的算法能有效控制欠提取与过提取的矛盾,且能够实现实时线段提取,符合引言中提出的线段提取完好,抗噪性强,运算速度快的特征,即我们提出的算法不仅在控制两类错误上做到了更好的平衡,而且在速度和质量上也获得了较好的平衡当前还缺少一个客观评价线段提取质量的指标,且非常难以使用groundtruth进行比拟,其原因是:一方面线段提取即会发生欠提取,又会发生过提取,所以不能以简单的提取线段的多少进行评价,这两类错误在国际上目前也没有统一公认的能够定量的评价指标;另外一方面,一般场景中的线段过多,少则上百,多则上万,将逐一其列举作为groundtruth进行参考并不现实这也是诸多国际期刊没有给出客观评价指标的原因,怎样定量评价也是将来研究的重点方向