一种同步检测图像中平行直线和平行曲线特征的方法转让专利
申请号 : CN202110209482.1
文献号 : CN112802045B
文献日 : 2022-05-13
发明人 : 丁伟利 , 王志宇 , 华长春
申请人 : 燕山大学
摘要 :
权利要求 :
1.一种同步检测图像中平行直线和平行曲线特征的方法,其特征在于,其包括以下步骤:
步骤1:将输入图像转化为灰度图像,获取边缘图像的链条集合E={e1,e2,...,em};
步骤2:将链条集合E={e1,e2,...,em}分解为直线边缘链条集合L={L1,L2,...,Ll}和平滑曲线边缘链条集合C={C1,C2,...,CC};
对每一条提取的连续边缘链条从其第h个像素点开始依次对边缘像素点局部进行角点检测和主方向估计,将边缘链条在角点处断开,并获取边缘链条方向编码数据,接着对光滑的边缘链条进行全局处理,从而将光滑的边缘链条分为两类,即直线边缘链条和平滑曲线边缘链条;
步骤3:对直线边缘链条集合L={L1,L2,...,Ll}进行处理和判断,获取平行直线对集合PL;
构建平行直线模型:
在笛卡尔坐标中,将满足如下准则的一对直线L1、L2定义为平行直线:其中, 为L1的角度, 为L2的角度,λθ为角度差阈值; 为斜率相似性准则;k1、k2表示L1端点,k3、k4表示L2端点,∠k4k1k2为端点k4、k1、k2组成的角度且k1为顶点,∠k3k2k1为端点k3、k2、k1组成的角度且k2为顶点, 为空间重叠性准则,当L1、L2之间夹角满足∠k4k1k2<90°与∠k3k2k1<90°时,说明L1、L2在空间中相互垂直投影具有重叠部分,即满足空间重叠性准则;
根据构建的平行直线模型对直线边缘链条集合L={L1,L2,...,Ll}进行平行性判断;获得直线边缘链条的角度信息,利用该信息判断两边缘链条的斜率差异是否小于所设角度差阈值λθ,若小于所设角度差阈值λθ,则进一步判断这两直线边缘链条在空间上相互投影是否具有重叠部分,若存在,则说明两直线边缘链条是平行的;
步骤4:对平滑曲线边缘链条集合C={C1,C2,...,CC}进行处理和判断,获取平行曲线对集合PC;
构建平行曲线模型:
在笛卡尔坐标系中,将满足如下准则的一对曲线C1与曲线C2定义为平行曲线:对于一对曲线C1与C2,在曲线C1上任意两点p1、p2,在曲线C2上总存在与其切线方向相同的对应点q1、q2,那么应当满足如下准则:其中,p1p2为p1、p2的连接线,q1q2为q1、q2的连接线,||p1p2‑q1q2||2为直线p1p2到直线q1q2的距离; 为直线p1p2的角度, 为直线q1q2的角度, 为角度差阈值;向量v1为直线p1p2所对应的弧段中心指向直线p1p2中心所形成的向量,向量v2为直线q1q2所对应的弧段中心指向直线q1q2中心所形成的向量,θv1v2为向量v1与向量v2的夹角;min||p1p2‑q1q2||2为最近邻准则、 为余弦相似性准则、θv1v2<90°为凹凸一致性准则;
根据构建的平行曲线模型对平滑曲线边缘链条集合C={C1,C2,...,CC}进行平行性判断;首先获得最近邻的曲线边缘链条对,然后分别对曲线边缘链条进行多边形化,由此获得对应弧线段的直线编码;将两曲线的直线编码数据分别进行相似性匹配,并对相似性较高的两直线段所对应的曲线段进行凹凸一致性的判断,若具有一致的凹凸性,则说明两直线段所对应的曲线段平行。
2.根据权利要求1所述的同步检测图像中平行直线和平行曲线特征的方法,其特征在于,所述步骤1具体步骤如下:
步骤1.1:将输入图像转化为灰度图像;
步骤1.2:对灰度图像进行平滑处理;
步骤1.3:获取平滑灰度图像的梯度幅值图以及其边缘方向图;
步骤1.4:获取锚点图像;
步骤1.5:通过智能路由进行锚点连接,绘制最终的边缘图像,获取边缘图像的链条集合E={e1,e2,...,em}。
3.根据权利要求1所述的同步检测图像中平行直线和平行曲线特征的方法,其特征在于,所述步骤2具体步骤如下:
步骤2.1:确定角点检测和主方向判断标准;
角点检测:对于边缘上任意像素(xj,yj)选择其左右相邻的h‑1个边缘像素点组成一个小邻域边缘像素数据;获取邻域像素的协方差矩阵,计算协方差矩阵S1的特征值λs11、λs12(λs11>λs12),若最小特征值λs12小于所设阈值Th1,则说明该边缘像素点邻域能拟合为直线段;若最小特征值λs12大于所设阈值Th1,则说明该边缘邻域像素点不能拟合为直线段,其中,(xj,yj)即为要检测的角点,将边缘链条在此处断开;
主方向:
或 θj∈(0,180]
其中,θj为第j个像素邻域的主方向,λs11、λs12(λs11>λs12)为第j个像素邻域协方差矩阵的特征值,xj为第j个像素邻域中第i个像素横坐标,为第j个像素邻域中2h‑1个像素横坐标均值,yj为第j个像素邻域中第i个像素纵坐标, 为第j个像素邻域中2h‑1个像素纵坐标T
均值,n为小邻域边缘像素点数,Xs为n个像素的零均值化横坐标矩阵,Xs为n个像素的零均T
值化横坐标转置矩阵,Ys为n个像素的零均值化纵坐标矩阵,Ys为n个像素的零均值化纵坐标转置矩阵;
已知该邻域像素曲率与其两个特征值的乘积成正比关系:2
κsj∝λs11λs12
其中,κsj为第j个像素邻域的曲率,因此曲率近似表示为:κsj=λs11λs12
步骤2.2:根据步骤2.1对所有边缘链条e1,e2,...,em进行角点检测,并依次计算每个像素邻域方向角度,将边缘链条在角点处断开,获得一系列光滑的边缘链条方向编码数据集SE={se1,se2,...,sen},其中,sei=(xi,yi,θi,ksi);
步骤2.3:对每一条边缘链条整体进行直线边缘和曲线边缘的判断,将光滑的边缘链条分别输入直线边缘链条集合L以及曲线边缘链条集合C;
步骤2.4:将曲线边缘链条集合C中的光滑曲线边缘链条进行曲率变化统计,若有一组连续的曲线边缘像素曲率出现突变,且从曲线起始点到曲率突变点之间的边缘长度大于20~30像素,那么将根据步骤2.3判断这段曲线边缘像素是否能够拟合为直线边缘链条,若满足将该段曲线边缘像素补充到直线边缘链条集合L;
步骤2.5:遍历所有的光滑边缘链条,根据步骤2.3进行分类,并根据步骤2.4对直线边缘链条进行补充,获得最终的直线边缘链条集合L和平滑曲线边缘链条集合C。
4.根据权利要求1所述的同步检测图像中平行直线和平行曲线特征的方法,其特征在于,所述步骤3具体步骤如下:
步骤3.1:构建平行直线模型:
在笛卡尔坐标中,将满足如下准则的一对直线L1、L2定义为平行直线:其中, 为L1的角度, 为L2的角度,λθ为角度差阈值; 为斜率相似性准则; 为空间重叠性准则;
步骤3.2:根据步骤3.1构建的平行直线模型,首先对输入的直线边缘链条集合L进行斜率相似性判断;
步骤3.3:根据步骤3.1的平行直线模型,满足斜率相似性准则的直线对进一步判断是否满足空间重叠性准则;两条斜率相似的直线之间夹角若满足∠k4k1k2<90°与∠k3k2k1<
90°,则说明两直线在空间上相互投影具有重叠部分,即两直线的平行是有效的,输入平行直线集合PL;
步骤3.4:遍历直线边缘链条集合L提取满足上述步骤3.2与3.3的直线对,获得最终的平行直线对集合PL。
5.根据权利要求1所述的同步检测图像中平行直线和平行曲线特征的方法,其特征在于,所述步骤4具体步骤如下:
步骤4.1:构建平行曲线模型:
在笛卡尔坐标系中,将满足如下准则的一对曲线C1与曲线C2定义为平行曲线:对于一对曲线C1与C2,在曲线C1上任意两点p1、p2,在曲线C2上总存在与其切线方向相同的对应点q1、q2,那么应当满足如下准则:其中,p1p2为p1、p2的连接线,q1q2为q1、q2的连接线,||p1p2‑q1q2||2为直线p1p2到直线q1q2的距离; 为直线p1p2的角度, 为直线q1q2的角度, 为角度差阈值;向量v1为直线p1p2所对应的弧段中心指向直线p1p2中心所形成的向量,向量v2为直线q1q2所对应的弧段中心指向直线q1q2中心所形成的向量,θv1v2为向量v1与向量v2的夹角;min||p1p2‑q1q2||2为最近邻准则、 为余弦相似性准则、θv1v2<90°为凹凸一致性准则;
步骤4.2:对每条曲线边缘链条进行顺序标号;按照曲线的存储顺序,分别将每个曲线所对应像素点赋值为当前曲线的顺序标号;
步骤4.3:选取每条曲线边缘链条上的局部曲率最大点;利用步骤2.3获得曲线边缘链条的曲率编码数据,曲率大于相邻曲线边缘像点曲率的点即为所需的局部曲率最大点;
步骤4.4:获取最近邻曲线边缘链条对;
步骤4.5:分别对最近邻曲线边缘链条对进行曲线多边形化,获得对应的直线编码数据;
步骤4.6:将曲线多边形化后的最近邻曲线对进行余弦相似性度量;
步骤4.7:对满足余弦相似的曲线段进行凹凸一致性的判断;
步骤4.8:曲线边缘链条段的匹配与融合,获得最终的平行曲线对,并将该曲线对输入平行曲线对集合PC;
步骤4.9:对所有最近邻平滑曲线对进行上述步骤检测,获得最终的平行曲线对集合PC。
6.根据权利要求3所述的同步检测图像中平行直线和平行曲线特征的方法,其特征在于,所述步骤2中h取值5。
7.根据权利要求3所述的同步检测图像中平行直线和平行曲线特征的方法,其特征在于,所述步骤2中阈值Th1取值0.25。
说明书 :
一种同步检测图像中平行直线和平行曲线特征的方法
技术领域
背景技术
周围世界三维结构信息的重要基本特征。与纷繁的线段相比,平行线含有更为丰富的语义
信息,是对图像中人造场景或物体进行高级描述的基础,也是人类估计景深等信息的关键
要素,可为识别具有丰富平行结构的物体提供良好的线索支持。因此平行线的检测工作在
计算机视觉中起着至关重要的作用,如:消失点的检测、车道线检测、文本定位、遥感道路检
测等。
是通过将直线边缘从笛卡尔坐标系转换到极坐标系中进行表示,利用投票的原则进行平行
直线组的提取,如专利CN111141208A所提出的方法以及文献《基于Hough变换的平行直线检
测改进算法研究》所提出的方法,缺点在于易受噪声干扰且需大量的计算时间以及内存需
求。另一类是通过对边缘像素点拟合获取直线边缘轮廓,计算直线斜率进行平行线组的判
断。如专利CN106251332B所提出的方法,缺点在于对边缘像素拟合需很大的计算成本,且对
拟合后的直线边缘进行斜率的求取会存在一定误差,结果依赖于斜率判定的参数选择。平
行曲线的检测是主要是通过选择合适的曲线对,利用一系列判断准则进行曲线的提取,如
文献《Harbor Detection in Polarimetric SAR Images Based on the Characteristics
of Parallel Curves》所提出的方法,缺点在于两方面,一方面在提取合适的曲线对时,通
过设置一个搜索窗口进行合适曲线对的搜索,这种方式依赖于搜索窗口大小的阈值设定,
会出现漏检误检的情况并需要大量的计算时间;另一方面在于忽略了曲线对之间的几何关
系。利用平行结构进行平行直线和平行曲线的共同提取,主要是通过建立平行结构模型进
行平行性判定,如文献《基于边缘检测的SAR图像平行线特征提取算法》所提出的方法,缺点
在于由于依赖于点对之间的距离信息,在复杂场景中需要较大的计算成本进行平行结构筛
选,而且真实环境中的平行关系大多为近似平行,因此参数的选取很大程度影响了最终的
检测结果。综上所述,想要检测图像中平行线特征存在如下的不足之处:
效性。
成功提取。
发明内容
可为后续不同类型的图像检测任务提供特征依据。
光滑的边缘链条进行全局处理,从而将光滑的边缘链条分为两类,即直线边缘链条和平滑
曲线边缘链条;
阈值λθ,若小于所设阈值λθ,则进一步判断这两直线边缘链条在空间上相互投影是否具有重
叠部分,若存在,则说明两直线边缘链条是平行的;
直线p1p2所对应的弧段中心指向直线p1p2中心所形成的向量,向量v2为直线q1q2所对应的弧
段中心指向直线q1q2中心所形成的向量,θv1v2为向量v1与向量v2的夹角;min||p1p2‑q1q2||2
为最近邻准则、 为余弦相似性准则、θv1v2<90°为凹凸一致性准则;
获得对应弧线段的直线编码;将两曲线的直线编码数据分别进行相似性匹配,并对相似性
较高的两直线段所对应的曲线段进行凹凸一致性的判断,若具有一致的凹凸性,则说明两
直线段所对应的曲线段平行。
λs12(λs11>λs12),若最小特征值λs12小于所设阈值Th1,则说明该边缘像素点邻域能拟合为直
线段;若最小特征值λs12大于所设阈值Th1,则说明该边缘邻域像素点不能拟合为直线段,其
中,(xj,yj)即为要检测的角点,将边缘链条在此处断开;
横坐标均值,yj为第j个像素邻域中第i个像素纵坐标, 为第j个像素邻域中2h‑1个像素纵
T
坐标均值,n为小邻域边缘像素点数,Xs为n个像素的零均值化横坐标矩阵,Xs 为n个像素的
T
零均值化横坐标转置矩阵,Ys为n个像素的零均值化纵坐标矩阵,Ys 为n个像素的零均值化
纵坐标转置矩阵;
据集SE={se1,se2,...,sen},其中,sei=(xi,yi,θi,ksi);
于20~30像素,那么将根据步骤2.3判断这段曲线边缘像素是否能够拟合为直线边缘链条,
若满足将该段曲线边缘像素补充到直线边缘链条集合L;
k3k2k1<90°,则说明两直线在空间上相互投影具有重叠部分,即两直线的平行是有效的,输
入平行直线集合PL;
直线p1p2所对应的弧段中心指向直线p1p2中心所形成的向量,向量v2为直线q1q2所对应的弧
段中心指向直线q1q2中心所形成的向量,θv1v2为向量v1与向量v2的夹角;min||p1p2‑q1q2||2
为最近邻准则、 为余弦相似性准则、θv1v2<90°为凹凸一致性准则;
点;
行;
题转换为匹配问题,降低了算法的空间复杂度和时间复杂度。
附图说明
具体实施方式
如图11所示。
向为水平方向,如此便可获取图像的边缘方向图。
当像素(xn,yn)边缘为垂直方向时,若满足:
缘方向为水平方向,即初始搜索路径为水平方向,若G[xn,yn]>0且e[xn,yn]≠1,则对6个水
平邻域搜索,先搜索(xn‑1,yn‑1),(xn‑1,yn)和(xn‑1,yn+1),判断G[xn‑1,yn‑1]、G[xn‑1,yn]
与G[xn‑1,yn+1]中的最大值,选择具有最大梯度幅值的邻域像素点,若该像素点不属于边缘
像素,则将其加入边缘像素集合,并作为新的搜索起点重复进行上述操作。若无符合条件的
目标,则搜索(xn+1,yn‑1),(xn+1,yn)和(xn+1,yn+1),重复上述操作。若当前像素边缘方向为
垂直方向,则对6个垂直邻域搜索,先搜索(xn‑1,yn+1),(xn,yn+1)和(xn+1,yn+1),判断G[xn+
1,yn+1]、G[xn‑1,yn]与G[xn‑1,yn+1]中的最大值,选择具有最大梯度幅值的邻域像素点作为
新的搜索起点,直到无符合条件的目标,则搜索(xn‑1,yn+1),(xn,yn+1)和(xn+1,yn+1)并重
复上述操作。重复上述操作即可获得一系列边缘链条E。
连续边缘链条从其第5个像素点开始依次对边缘像素点局部使用PCA算法进行角点检测和
主方向估计,将边缘链条在角点处断开,并获取边缘链条方向编码数据。接着对光滑的边缘
链条使用PCA和多边形化融合方法进行全局处理,从而将光滑的边缘链条分为两类,即直线
边缘链条和平滑曲线边缘链条,具体步骤如下:
素存储至新的光滑边缘链条集合sei中,直到不满足条件则将原边缘em在此点处断开,并把
当前边缘链条集合sei存入集合SE中。继续对边缘像素点进行上述操作,直到到达当前边缘
em倒数第5个像素点时检测结束,并将当前边缘链条集合存入集合SE中。具体判断步骤如下
所示。对于边缘上任意像素(xj,yj)将进行如下判断,选择其左右相邻的4个边缘像素点
(xj‑4,yj‑4)、(xj‑3,yj‑3)、(xj‑2,yj‑2)、(xj‑1,yj‑1)、(xj+1,yj+1)、(xj+2,yj+2)、(xj+3,yj+3)、(xj+4,
yj+4)组成一个小邻域边缘像素数据。这9个像素的零均值化横坐标矩阵为
其中, 零均值化纵坐标矩阵为
其中, 获取邻域像素的协方
差矩阵 计算协方差矩阵S1的特征值λs11、λs12(λs11>λs12),若最小特征
值λs12大于所设阈值Th1,则说明该边缘邻域像素点不能拟合为直线段,其中,(xj,yj)即为要
检测的角点,将边缘链条在此处断开。图1为选择不同阈值Th1时角点的检测结果,当Th1=
0.25时角点检测结果最佳,因此本发明Th1取值0.25。
标均值,yj为第j个像素邻域中第i个像素纵坐标, 为第j个像素邻域中9个像素纵坐标均
T
值,n为小邻域边缘像素点数,Xs为n个像素的零均值化横坐标矩阵,Xs 为n个像素的零均值
T
化横坐标转置矩阵,Ys为n个像素的零均值化纵坐标矩阵,Ys为n个像素的零均值化纵坐标
转置矩阵。
链条在角点处断开,便可获得一系列光滑的边缘链条方向编码数据集SE={se1,se2,...,
sen},其中,sei=(xi,yi,θi,ksi)。
对每一条边缘链条se整体使用PCA算法进行直线边缘和曲线边缘的判断,将光滑的边缘链
条分别输入直线边缘链条集合L以及曲线边缘链条集合C,具体判断步骤如下。对于每条光
滑边缘均获取其零均值化横坐标矩阵 其中,为所有像素横坐
标均值。获取零均值化纵坐标矩阵 其中, 为所有像素纵坐标
均值。获取该边缘链条的像素协方差矩阵 计算其协方差矩阵S2的特
征值λs21、λs22。图2为在不同阈值Th2时对原图(a)的曲线与直线分类的检测结果,当0.2<Th2
<0.35时曲线与直线分类结果最符合实际情况,本发明选择阈值Th2取值为0.25。
链条所有像素横坐标均值,yi为第k条光滑边缘链条中第i个像素纵坐标, 为第k条光滑边
缘链条所有像素纵坐标均值。
将根据步骤2.3判断这段曲线边缘像素是否可拟合为直线边缘链条,若满足将该段曲线边
缘像素补充到直线边缘链条集合L。
链条的斜率差异是否小于所设阈值,若小于所设阈值则进一步判断这两直线边缘链条在空
间上相互投影是否具有重叠部分,若存在则说明两直线边缘链条是平行的。具体步骤如下:
k1、k2表示的L1端点,k3、k4表示的L2端点。当L1、L2之间夹角满足∠k4k1k2<90°与∠k3k2k1<
90°时,其中,∠k4k1k2为端点k4、k1、k2组成的角度且k1为顶点,∠k3k2k1为端点k3、k2、k1组成
的角度且k2为顶点。说明L1,L2在空间中相互垂直投影具有重叠部分,即满足空间重叠性准
则。
平行直线:
中会存在大量近似平行结构,设置角度阈值λθ=5°。若两直线的角度差异小于λθ则认为是满
足直线平行的必要条件。
k3k2k1<90°,则说明两直线在空间上相互投影具有重叠部分,即两直线的平行是有效的,输
入平行直线集合PL。
链条进行多边形化,由此可获得对应弧线段的直线编码。将两曲线的直线编码数据分别进
行相似性匹配,并对相似性较高的两直线段所对应的曲线段进行凹凸一致性的判断,若具
有一致的凹凸性,则说明两直线段所对应的曲线段平行。如此遍历便可获得最终的平行曲
线边缘链条。具体步骤如下:
p1、p2,在曲线C2上总存在与其切线方向相同的对应点q1、q2,那么应当满足如下准则:
直线p1p2所对应的弧段中心指向直线p1p2中心所形成的向量,向量v2为直线q1q2所对应的弧
段中心指向直线q1q2中心所形成的向量,θv1v2为向量v1与向量v2的夹角;min||p1p2‑q1q2||2
为最近邻准则、 为余弦相似性准则、θv1v2<90°为凹凸一致性准则;
点。
大点处的切线方向数据。在C0的每个局部曲率最大点处选择与其切线方向近似垂直的像素
方向进行生长,在与其他曲线相交或与图像边界相交便停止生长。图中所示按照近似垂直
的像素方向生长将与曲线C1、C2相交,其中与曲线C1相交1次,与曲线C2相交4次。因此C2即为
要找寻的与曲线C0最邻近的曲线。
示,Cmid1为到 距离最大点,其距离为h1。若h1>hth,其中,hth=5为所设距离阈值,那
么Cmid1将原曲线分割为两个曲线段 和 对于 上像素
点到Cstart与Cmid1连线的最远距离为h2,若满足0<h2<hth,那么可作为曲线 的近似,
将 表示为曲线段c1,对应的直线编码用l1表示。对于 由于 与
存在交点Cmid2,那么Cmid2将 分为两个曲线段 和
上像素点到Cmid1与Cmid2连线的最远距离h3若满足0<h3<hth,将 表示为曲
线段c2,对应的直线编码用l2表示。同上述操作, 可表示为曲线段c3,对应的直线编
码用l3表示。综合上述步骤可将曲线C分解为曲线段{c1,c2,c3},其对应的直线编码为{l1,
l2,l3}。将所有曲线段按上述步骤进行操作即可获得对应的直线编码数据。
像素点数较多的曲线边缘链条的直线编码数据分别进行余弦相似性度量,如图8所示。曲线
段 对应的直线编码分别为虚线 若 与 之间的夹角 满足 其中,
那么说明 与 余弦相似,即 满足平行必要条件之一,否则不满足。
的曲线段 满足平行的必要条件。曲线段 的空间位置关系主要由图9所示,情形
a为满足凹凸一致性原则的情况,情形b、c为不满足凹凸一致性原则的情况。图中p1为曲线
段 上的中心点,其坐标可表示为 其中, 为p1的横坐标, 为p1的纵坐标,相对
应的直线 上的中心点坐标p1′可表示为 其中, 为p1′的横坐标, 为p1′的纵坐
标,p1与p1′连接形成向量v1。p2为曲线段 上的中心点,其坐标可表示为 其中,
为p2的横坐标, 为p2的纵坐标,相对应的直线 上的中心点坐标p′2可表示为 其
中, 为p′2的横坐标, 为p′2的纵坐标,p2与p′2连接形成向量v2。计算向量v1与向量v2之
间的夹角θv1v2,在情形a时,θv1v2<90°;在情形b、c时,θv1v2>90°。综上所述,当向量v1与向量
v2之间的夹角θv1v2满足θv1v2<90°时说明曲线 与 满足凹凸一致性准则,即曲线 与 满
足平行的必要条件,否则不满足。
曲线段,n表示最近邻曲线对数。
的曲线边缘链条进行判断,记录满足条件的曲线边缘链条的直线编码
对于曲线C1将其对应的曲线线段 进行连接,对于曲线
C2将其对应的曲线线段 进行连接,获得最终的平行曲线对,并将该曲线对输入平
行曲线对集合PC。
示;然后根据步骤二将遥感道路边缘线条分解为直线边缘链条以及曲线边缘链条,分别如
图10(b)、10(c)所示;接着根据步骤三对直线边缘链条进行处理,获得平行直线特征,如图
10(d)所示,根据步骤四对曲线边缘链条进行处理,获得平行曲线特征,如图10(e)所示。图
10(f)为最终遥感道路图像的平行线特征图。
人造场景消失点检测和基于直线的SLAM导航等。
做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。