CN112488128A - 一种基于贝塞尔曲线的任意畸变图像线段检测方法 - Google Patents

一种基于贝塞尔曲线的任意畸变图像线段检测方法 Download PDF

Info

Publication number
CN112488128A
CN112488128A CN202011451476.9A CN202011451476A CN112488128A CN 112488128 A CN112488128 A CN 112488128A CN 202011451476 A CN202011451476 A CN 202011451476A CN 112488128 A CN112488128 A CN 112488128A
Authority
CN
China
Prior art keywords
line segment
loss
segment
intersection
map
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011451476.9A
Other languages
English (en)
Inventor
杨文�
张瑞祥
余淮
李皓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202011451476.9A priority Critical patent/CN112488128A/zh
Publication of CN112488128A publication Critical patent/CN112488128A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及一种基于贝塞尔曲线的任意畸变图像线段检测方法。本发明首先构建训练数据集;然后构建线段检测网络;进一步通过包括交叉点预测损失、线段预测损失、分类器损失构建线段检测网络的损失函数,将训练集的数据循环迭代输入线段检测网络,根据构建的线段检测网络的损失函数,利用自适应矩估计优化器进行优化更新网络,得到训练后的线段检测网络;将待检测图像通过训练后的线段检测网络,得到待检测图像中线段检测结果。本发明直接检测畸变图像中的失真线段,无需预先的去畸变处理,操作更加简便;本发明提供的方法不依赖于相机相机参数,因此相较于霍夫变换等依赖于相机畸变参数的方法适用范围更广,同时鲁棒性更好。

Description

一种基于贝塞尔曲线的任意畸变图像线段检测方法
技术领域
本发明属于图像处理技术领域,特别涉及一种基于贝塞尔曲线的任意畸变图像线段检测方法。
背景技术
线段检测是计算机视觉和机器人领域中最基础的任务之一,它可以帮助到众多的上层视觉任务,例如图像匹配、相机标定、SfM(Structure from Motion)、视觉SLAM(Simultaneous Localization And Mapping)等等。然而,当前的大多数线段检测方法把线段建模为直线,因此只能检测无失真的直线段,而不能检测因失真而弯曲的线段,特别是鱼眼相机图像和球面相机图像中的失真线段。而现有的失真线段检测方法基本都依赖于相机畸变参数,其中有一类方法是先利用相机畸变参数矫正图像,然后再利用直线段检测方法提取直线段;其他的方法,例如扩展霍夫变换、基于RANSAC的方法,则是利用相机畸变参数对失真线段建模,这类方法可以直接用于畸变图像。虽然这些方法在某些情况下对失真线段检测有效,但它们的性能都严重依赖于相机畸变参数的精度。此外,很多情况下相机畸变参数是难以获得的。总的来说,任意畸变图像的线段检测问题并未得到有效解决,主要还存在以下三点挑战:(1)针对失真线段,目前还没有一种统一的、不依赖于相机畸变参数的表示方法;(2)基于深度学习的方法在直线段检测中取得了最好的性能表现,但是对于鱼眼相机和球面相机图像,目前并没有公开的线段检测数据可供网络训练;(3)针孔相机、鱼眼相机和球面相机的成像模型有所不同,因此畸变也有所不同。针对任意畸变图像的线段检测方法,目前还未有人实现过。
发明内容
针对任意畸变图像的线段检测任务面临的挑战,本发明提出了基于贝塞尔曲线的线段表示方法,这种表示方法以线段等分点为参数,可以表示任意畸变图像中的线段,包括直线段和失真线段,同时不依赖于相机畸变参数。基于上述线段表示,本发明设计了一个端到端的线段检测网络,同时我们通过合成数据集以及人工标注的方法,构造了2个鱼眼图像数据集和1个球面图像数据集,解决了网络训练缺乏数据集的问题。本发明最终提出了一种针对任意畸变图像的线段检测方法,该方法不依赖于相机畸变参数,其性能表现也远远好于现有的失真线段检测方法。
本发明提供的基于贝塞尔曲线的任意畸变图像线段检测方法包括以下步骤:
步骤1:构建训练数据集;
步骤2:构建线段检测网络;
步骤3:通过包括交叉点预测损失、线段预测损失、分类器损失构建线段检测网络的损失函数,将训练集的数据循环迭代带入线段检测网络,根据构建的线段检测网络的损失函数,利用自适应矩估计优化器进行优化更新网络,得到训练后的线段检测网络;
步骤4:将待检测图像通过双线性插值缩放到网络要求的大小H×W,然后将图像输入到训练后的线段检测网络,得到所有候选线段的置信度分数,通过设定置信度分数阈值,保留置信度分数大于阈值的线段,得到待检测图像中线段检测结果。
作为优选,步骤1所述训练数据集包括:图像集合、标注线段集合、标注交叉点集合;
训练数据集中图像集合记为:
Figure BDA0002827096910000021
其中。A为数据集中图像的数量,图像的尺寸均为H×W×3;
对于一张图像
Figure BDA0002827096910000022
训练数据集中标注线段集合记为:
Figure BDA0002827096910000023
对于一条标注线段
Figure BDA0002827096910000024
基于贝塞尔曲线的表示方法,具体标注形式为:la,k=(p1,p2,…,pn+1);
训练数据集中交叉点集合记为:
Figure BDA0002827096910000025
对于一个交叉点
Figure BDA0002827096910000026
其标注形式为pa,k=[x,y];
在网络中,对于交叉点的预测,首先将H×W的图像
Figure BDA0002827096910000027
划分为Hb×Wb的网格,然后预测每个网格b内是否存在交叉点,若存在,再预测交叉点坐标到网格中点坐标b的偏移向量,也就是说网络需要预测交叉点的置信度图和交叉点的偏移向量图,分别记为Ma,1、Ma,2,因此数据集中需要生成对应的交叉点置信度图真实值
Figure BDA0002827096910000031
和交叉点偏移向量图真实值
Figure BDA0002827096910000032
计算公式如下:
Figure BDA0002827096910000033
Figure BDA0002827096910000034
对于线段的预测,同样将H×W的图像
Figure BDA00028270969100000311
划分为Hb×Wb的网格,然后预测每个网格b内是否存在线段中点,若存在,再预测线段中点坐标到网格中点坐标b的偏移向量,以及线段等分点坐标到线段中点坐标的偏移向量,也就是说网络需要预测线段中点的置信度图、线段中点的偏移向量图和线段等分点到线段中点的偏移向量图,分别记为Ma,3、Ma,4和Ma,5,因此数据集中需要生成对应的线段中点置信度图真实值
Figure BDA0002827096910000035
线段中点偏移向量图真实值
Figure BDA0002827096910000036
和线段等分点到线段中点的偏移向量图真实值
Figure BDA0002827096910000037
计算公式与交叉点的类似;
作为优选,步骤2所述线段检测网络包括:线段特征提取骨干网络、线段提议网络、感兴趣线段头部;
所述线段特征提取骨干网络的输入为图像
Figure BDA0002827096910000038
输出为特征图Fa
所述线段提议网络的输入为特征图Fa,输出为候选线段集合
Figure BDA0002827096910000039
所述感兴趣线段头部的输入为特征图Fa和候选线段集合
Figure BDA00028270969100000310
输出为线段检测结果;
所述线段特征提取骨干网络采用的是堆叠沙漏网络,包括:卷积层、第一层沙漏模块、第二层沙漏模块;
所述的卷积层、第一层沙漏模块、第二层沙漏模块依次串联级联;
所述线段提议网络包括:交叉点预测模块、线段预测模块、线段交叉点匹配模块、线段采样模块;
所述第二层级联沙漏模块分别与所述交叉点预测模块、线段预测模块连接;
所述交叉点预测模块与所述线段交叉点匹配模块连接;
所述线段预测模块与所述线段交叉点匹配模块连接;
所述线段采样模块在网络训练阶段与所述线段交叉点匹配模块连接,在测试阶段不起作用;
所述交叉点预测模块由第一交叉点解码器、第二交叉点解码器构成;
所述线段预测模块由第一线段解码器、第二线段解码器、第三线段解码器构成;
所述的第一交叉点解码器、第二交叉点解码器、第一线段解码器、第二线段解码器、第三线段解码器均由卷积层构成;
所述感兴趣线段头部包括:贝塞尔对齐模块、全连接层分类器;
所述的贝塞尔对齐模块、全连接层分类器依次串联级联;
所述线段检测网络每个模块的作用如下:
所述线段特征提取骨干网络首先通过卷积层对输入图像
Figure BDA0002827096910000041
进行多次下采样,输入图像Ia的尺寸为H×W×3,经过下采样空间尺寸变为
Figure BDA0002827096910000042
然后利用所述的第一层级联沙漏模块、第二层级联沙漏模块提取多尺度特征,得到特征图Fa,尺寸为Hb×Wb×C;
所述线段提议网络的交叉点预测模块利用第一交叉点解码器预测交叉点的置信度图Ma,1,其尺寸为Hb×Wb,表示将输入图像Ia划分为Hb×Wb的网格,每个网格内存在交叉点的置信度(即概率);同时利用第二交叉点解码器预测交叉点的偏移向量图Ma,2,其尺寸为Hb×Wb×2,表示每个网格内如果存在交叉点,交叉点坐标到网格中心坐标的偏移向量。利用交叉点的置信度图Ma,1、交叉点的偏移向量图Ma,2通过(3)式可以得到预测的交叉点集合
Figure BDA0002827096910000045
Figure BDA0002827096910000043
其中K=300,表示将置信度按降序排序后,取置信度最高的前300个交叉点,ik、jk分别为第k个交叉点所在网格的行列下标,[jk+0.5,ik+0.5]表示第k个交叉点所在网格的中心点坐标,Ma,2(ik,jk)为第k个交叉点的偏移向量,pa,k为第k个交叉点的坐标;
所述线段提议网络的线段预测模块利用第一线段解码器预测线段中点的置信度图Ma,3,其尺寸为Hb×Wb,利用第二线段解码器预测线段中点的偏移向量图Ma,4,其尺寸为Hb×Wb×2,计算得到预测的线段中点集合
Figure BDA0002827096910000044
Figure BDA0002827096910000051
其中K=5000,表示取置信度最高的5000个线段中点;
同时利用第三线段解码器预测线段等分点到中点的偏移向量图Ma,5,其尺寸为其尺寸为Hb×Wb×(n+1)×2,n为贝塞尔曲线的阶数,n+1为等分点的数量,计算得到预测的线段集合
Figure BDA0002827096910000052
Figure BDA0002827096910000053
所述线段提议网络的线段交叉点匹配模块用于筛选高质量的候选线段,对于预测的线段集合中的线段
Figure BDA0002827096910000054
如果存在2个预测的交叉点
Figure BDA0002827096910000055
Figure BDA0002827096910000056
能够和l的2个端点匹配上即欧式距离小于定义的阈值θ,则保留该线段,最终得到匹配后的候选线段集合即
Figure BDA0002827096910000057
具体公式如下:
Figure BDA0002827096910000058
所述线段提议网络的线段采样模块用于在训练阶段采样得到线段的正负样本,来训练所述感兴趣线段头部的全连接层分类器。对于候选线段集合中的一条线段
Figure BDA0002827096910000059
如果存在一条线段
Figure BDA00028270969100000510
与l的线段距离d(l,l′)小于设定的阈值η,则认为l为正样本,标签为
Figure BDA00028270969100000511
否则为负样本,标签为
Figure BDA00028270969100000512
最终候选线段集合被划分为了正样本集合和负样本集合,再从中分别采样Npos个正样本和Nneg个负样本,用于训练后续的分类器;
Figure BDA00028270969100000513
Figure BDA00028270969100000514
l=(p1,p2,…,pn+1),l′=(p′1,p′2,…,p′n+1)
所述感兴趣线段头部的贝塞尔对齐模块用于生成固定长度的线段特征向量,在该模块中,对于匹配后的候选线段集合中每条线段即
Figure BDA00028270969100000515
利用贝塞尔曲线插值公式对l进行均匀插值,得到NP个插值点,再通过双线性插值计算每个点在特征图F上的特征,每个插值点有一个C维特征向量,将NP个插值点的向量拼接为一个NP×C的矩阵,再通过最大池化转化为
Figure BDA0002827096910000061
的矩阵,最后展开为
Figure BDA0002827096910000062
维的特征向量,得到线段l对应的特征向量;
所述感兴趣线段头部的全连接层分类器根据候选线段集合中候选线段的特征向量对候选线段进行分类,输出每条候选线段为真实线段的置信度分数;
作为优选,步骤3所述线段检测网络的损失函数为:
L=Ljunc+Lline+Lcls
其中,Ljunc为交叉点预测损失,Lline为线段预测损失,Lcls为分类器损失;
所述交叉点Ljunc预测损失包括两个部分,一个是交叉点的置信度图,另一个是交叉点的偏移向量图,置信度图预测采用的是交叉熵损失,偏移向量图预测采用的是smoothl1损失;
所述交叉点预测损失为:
Figure BDA0002827096910000063
其中,Ma,1、Ma,2分别为第a张图像预测的置信度图和偏移向量图,
Figure BDA0002827096910000064
Figure BDA0002827096910000065
为第a张图像对应的置信度图和偏移向量图的真实值,
Figure BDA0002827096910000066
是预测交叉点置信度图的交叉熵损失函数,
Figure BDA0002827096910000067
是预测交叉点偏移向量图的smooth l1损失;
Figure BDA0002827096910000068
Figure BDA0002827096910000069
为对应交叉点的置信度图预测和偏移向量图预测的损失的权重;
所述线段预测损失:包括预测线段中点的置信度图的损失,预测线段中点的偏移向量图的损失以及预测线段等分点到中点的偏移向量图的损失。其中预测线段中点的置信度图的损失采用的是交叉熵损失,预测线段中点的偏移向量图的损失和预测线段等分点到中点的偏移向量图的损失采用的是smooth l1损失;
Figure BDA00028270969100000610
其中,
Figure BDA00028270969100000611
为线段的置信度图、偏移向量图、线段等分点到中点的偏移向量图损失的权重;
Figure BDA00028270969100000612
是预测线段置信度图的交叉熵损失函数,
Figure BDA00028270969100000613
是预测线段偏移向量图的smooth l1损失,Loffset是预测线段等分点到中点的偏移向量图的smooth l1损失,Ma,3、Ma,4和Ma,5分别为网络需要预测的第a张图像的线段中点的置信度图、线段中点的偏移向量图和线段等分点到线段中点的偏移向量图,
Figure BDA0002827096910000071
为对应的线段中点置信度图的真实值、线段中点偏移向量图的真实值和线段等分点到线段中点的偏移向量图的真实值。
所述分类器损失采用的是交叉熵损失函数,具体定义为:
Figure BDA0002827096910000072
其中,其中
Figure BDA0002827096910000073
分别为第a张图像中正负样本的标签(正样本为1,负样本为0),Sa,pos、Sa,neg分别为第a张图像中分类器预测的正负样本的置信度分数,λpos和λneg分别为正负样本损失的权重;
本发明的原理是:首先利用堆叠沙漏网络作为特征提取骨干网络对输入图像提取多尺度特征,再将特征图输入到线段提议网络,线段提议网络包括交叉点预测模块、线段预测模块和线段-交叉点匹配模块,分别利用交叉点预测模块和线段预测模块提取图像中的交叉点和线段,再利用线段-交叉点匹配模块生成高质量的候选线段,然后通过贝塞尔对齐模块得到每条候选线段的特征向量,最后将特征向量输入到分类器,得到每条候选线段的置信度分数,根据设定的置信度阈值分数,筛选出最终的线段检测结果。
附图说明
图1:为网络架构。
图2:为线段检测流程。
图3:为本发明方法流程。
图4:为不同方法的线段检测结果对比。
具体实施方式
本发明提供了基于贝塞尔曲线的任意畸变图像线段检测方法。为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图对本发明进一步详细说明。
本发明设计的线段检测网络其网络架构如附图1所示,线段检测流程如附图2所示,图3为本发明方法流程图。
下面结合图1至图4,介绍本发明的具体实施方式为:基于贝塞尔曲线的任意畸变图像线段检测方法包括以下步骤:
步骤1:构建训练数据集;
步骤1所述训练数据集包括:图像集合、标注线段集合、标注交叉点集合;
训练数据集中图像集合记为:
Figure BDA0002827096910000081
其中,A为数据集中图像的数量,图像的尺寸均为H×W×3;
对于一张图像
Figure BDA0002827096910000082
训练数据集中标注线段集合记为:
Figure BDA0002827096910000083
对于一条标注线段
Figure BDA0002827096910000084
基于贝塞尔曲线的表示方法,具体标注形式为:la,k=(p1,p2,…,pn+1);
训练数据集中交叉点集合记为:
Figure BDA0002827096910000085
对于一个交叉点
Figure BDA0002827096910000086
其标注形式为pa,k=[x,y];
在网络中,对于交叉点的预测,首先将H×W的图像
Figure BDA0002827096910000087
划分为Hb×Wb的网格,然后预测每个网格b内是否存在交叉点,若存在,再预测交叉点坐标到网格中点坐标b的偏移向量,也就是说网络需要预测交叉点的置信度图和交叉点的偏移向量图,分别记为Ma,1、Ma,2,因此数据集中需要生成对应的交叉点置信度图真实值
Figure BDA0002827096910000088
和交叉点偏移向量图真实值
Figure BDA0002827096910000089
计算公式如下:
Figure BDA00028270969100000810
Figure BDA00028270969100000811
对于线段的预测,同样将H×W的图像
Figure BDA00028270969100000812
划分为Hb×Wb的网格,然后预测每个网格b内是否存在线段中点,若存在,再预测线段中点坐标到网格中点坐标b的偏移向量,以及线段等分点坐标到线段中点坐标的偏移向量,也就是说网络需要预测线段中点的置信度图、线段中点的偏移向量图和线段等分点到线段中点的偏移向量图,分别记为Ma,3、Ma,4和Ma,5,因此数据集中需要生成对应的线段中点置信度图真实值
Figure BDA0002827096910000091
线段中点偏移向量图真实值
Figure BDA0002827096910000092
和线段等分点到线段中点的偏移向量图真实值
Figure BDA0002827096910000093
计算公式与交叉点的类似;
对于针孔相机图像,数据集采用的是公开的Wireframe Dataset数据集,图像数量为A=5462,图像大小为H×W=512×512;
对于鱼眼相机图像,数据集为F-Wireframe Dataset数据集,它是通过对Wireframe Dataset的图像以及标注信息加上随机的鱼眼畸变得到的,图像数量为A=5462,图像大小为H×W=512×512;
对于球面相机图像,数据集为人工标注的SUN360数据集,图像数量为A=1068,图像大小为H×W=512×1024;
步骤2:构建线段检测网络;
所述线段检测网络包括:线段特征提取骨干网络、线段提议网络、感兴趣线段头部;
所述线段特征提取骨干网络的输入为图像
Figure BDA0002827096910000094
输出为特征图Fa
所述线段提议网络的输入为特征图Fa,输出为候选线段集合
Figure BDA0002827096910000095
所述感兴趣线段头部的输入为特征图Fa和候选线段集合
Figure BDA0002827096910000096
输出为线段检测结果;
所述线段特征提取骨干网络采用的是堆叠沙漏网络,包括:卷积层、第一层沙漏模块、第二层沙漏模块;
所述的卷积层、第一层沙漏模块、第二层沙漏模块依次串联级联;
所述线段提议网络包括:交叉点预测模块、线段预测模块、线段交叉点匹配模块、线段采样模块;
所述第二层级联沙漏模块分别与所述交叉点预测模块、线段预测模块连接;
所述交叉点预测模块与所述线段交叉点匹配模块连接;
所述线段预测模块与所述线段交叉点匹配模块连接;
所述线段采样模块在网络训练阶段与所述线段交叉点匹配模块连接,在测试阶段不起作用;
所述交叉点预测模块由第一交叉点解码器、第二交叉点解码器构成;
所述线段预测模块由第一线段解码器、第二线段解码器、第三线段解码器构成;
所述的第一交叉点解码器、第二交叉点解码器、第一线段解码器、第二线段解码器、第三线段解码器均由卷积层构成;
所述感兴趣线段头部包括:贝塞尔对齐模块、全连接层分类器;
所述的贝塞尔对齐模块、全连接层分类器依次串联级联;
所述线段检测网络每个模块的作用如下:
所述线段特征提取骨干网络首先通过卷积层对输入图像
Figure BDA0002827096910000101
进行多次下采样,输入图像Ia的尺寸为H×W×3,经过下采样空间尺寸变为
Figure BDA0002827096910000102
然后利用所述的第一层级联沙漏模块、第二层级联沙漏模块提取多尺度特征,得到特征图Fa,尺寸为Hb×Wb×C,这里特征通道数C=256;
所述线段提议网络的交叉点预测模块利用第一交叉点解码器预测交叉点的置信度图Ma,1,其尺寸为Hb×Wb,表示将输入图像Ia划分为Hb×Wb的网格,每个网格内存在交叉点的置信度(即概率);同时利用第二交叉点解码器预测交叉点的偏移向量图Ma,2,其尺寸为Hb×Wb×2,表示每个网格内如果存在交叉点,交叉点坐标到网格中心坐标的偏移向量。利用交叉点的置信度图Ma,1、交叉点的偏移向量图Ma,2通过(3)式可以得到预测的交叉点集合
Figure BDA0002827096910000105
Figure BDA0002827096910000103
其中K=300,表示将置信度按降序排序后,取置信度最高的前300个交叉点,ik、jk分别为第k个交叉点所在网格的行列下标,[jk+0.5,ik+0.5]表示第k个交叉点所在网格的中心点坐标,Ma,2(ik,jk)为第k个交叉点的偏移向量,pa,k为第k个交叉点的坐标;
所述线段提议网络的线段预测模块利用第一线段解码器预测线段中点的置信度图Ma,3,其尺寸为Hb×Wb,利用第二线段解码器预测线段中点的偏移向量图Ma,4,其尺寸为Hb×Wb×2,计算得到预测的线段中点集合
Figure BDA0002827096910000106
Figure BDA0002827096910000104
其中K=5000,表示取置信度最高的5000个线段中点;
同时利用第三线段解码器预测线段等分点到中点的偏移向量图Ma,5,其尺寸为其尺寸为Hb×Wb×(n+1)×2,n为贝塞尔曲线的阶数,n+1为等分点的数量,计算得到预测的线段集合
Figure BDA00028270969100001116
Figure BDA0002827096910000111
所述线段提议网络的线段交叉点匹配模块用于筛选高质量的候选线段,对于预测的线段集合中的线段
Figure BDA0002827096910000112
如果存在2个预测的交叉点
Figure BDA0002827096910000113
Figure BDA0002827096910000114
能够和l的2个端点匹配上即欧式距离小于定义的阈值θ=1.5像素,则保留该线段,最终得到匹配后的候选线段集合即
Figure BDA0002827096910000115
具体公式如下:
Figure BDA0002827096910000116
所述线段提议网络的线段采样模块用于在训练阶段采样得到线段的正负样本,来训练所述感兴趣线段头部的全连接层分类器。对于候选线段集合中的一条线段
Figure BDA0002827096910000117
如果存在一条线段
Figure BDA0002827096910000118
与l的线段距离d(l,l′)小于设定的阈值η=1.5像素,则认为l为正样本,标签为
Figure BDA0002827096910000119
否则为负样本,标签为
Figure BDA00028270969100001110
最终候选线段集合被划分为了正样本集合和负样本集合,再从中分别采样Npos=300个正样本和Nneg=300个负样本,用于训练后续的分类器;
Figure BDA00028270969100001111
Figure BDA00028270969100001112
l=(p1,p2,…,pn+1),l′=(p′1,p′2,…,p′n+1)
所述感兴趣线段头部的贝塞尔对齐模块用于生成固定长度的线段特征向量,在该模块中,对于匹配后的候选线段集合中每条线段即
Figure BDA00028270969100001113
利用贝塞尔曲线插值公式对l进行均匀插值,得到NP=32个插值点,再通过双线性插值计算每个点在特征图F上的特征,每个插值点有一个C=256维特征向量,将NP个插值点的向量拼接为一个NP×C=32×256的矩阵,再通过最大池化转化为
Figure BDA00028270969100001114
的矩阵,最后展开为
Figure BDA00028270969100001115
维的特征向量,得到线段l对应的特征向量;
所述感兴趣线段头部的全连接层分类器根据候选线段集合中候选线段的特征向量对候选线段进行分类,输出每条候选线段为真实线段的置信度分数;
步骤3:通过包括交叉点预测损失、线段预测损失、分类器损失构建线段检测网络的损失函数,将训练集的数据循环迭代带入线段检测网络,根据构建的线段检测网络的损失函数,利用自适应矩估计优化器进行优化更新网络,得到训练后的线段检测网络;
步骤3所述线段检测网络的损失函数为:
L=Ljunc+Lline+Lcls
其中,Ljunc为交叉点预测损失,Lline为线段预测损失,Lcls为分类器损失;
所述交叉点Ljunc预测损失包括两个部分,一个是交叉点的置信度图,另一个是交叉点的偏移向量图,置信度图预测采用的是交叉熵损失,偏移向量图预测采用的是smoothl1损失;
所述交叉点预测损失为:
Figure BDA0002827096910000121
其中,Ma,1、Ma,2分别为第a张图像预测的置信度图和偏移向量图,
Figure BDA0002827096910000122
Figure BDA0002827096910000123
为第a张图像对应的置信度图和偏移向量图的真实值,
Figure BDA0002827096910000124
是预测交叉点置信度图的交叉熵损失函数,
Figure BDA0002827096910000125
是预测交叉点偏移向量图的smooth l1损失;
Figure BDA0002827096910000126
Figure BDA0002827096910000127
为对应交叉点的置信度图预测和偏移向量图预测的损失的权重,具体取值为
Figure BDA0002827096910000128
所述线段预测损失:包括预测线段中点的置信度图的损失,预测线段中点的偏移向量图的损失以及预测线段等分点到中点的偏移向量图的损失。其中预测线段中点的置信度图的损失采用的是交叉熵损失,预测线段中点的偏移向量图的损失和预测线段等分点到中点的偏移向量图的损失采用的是smooth l1损失;
Figure BDA0002827096910000129
其中,
Figure BDA0002827096910000131
为线段的置信度图、偏移向量图、线段等分点到中点的偏移向量图损失的权重,具体取值为
Figure BDA0002827096910000132
λoffset=1;
Figure BDA0002827096910000133
是预测线段置信度图的交叉熵损失函数,
Figure BDA0002827096910000134
是预测线段偏移向量图的smooth l1损失,Loffset是预测线段等分点到中点的偏移向量图的smooth l1损失,Ma,3、Ma,4和Ma,5分别为网络需要预测的第a张图像的线段中点的置信度图、线段中点的偏移向量图和线段等分点到线段中点的偏移向量图,
Figure BDA0002827096910000135
为对应的线段中点置信度图的真实值、线段中点偏移向量图的真实值和线段等分点到线段中点的偏移向量图的真实值。
所述分类器损失采用的是交叉熵损失函数,具体定义为:
Figure BDA0002827096910000136
其中,其中
Figure BDA0002827096910000137
分别为第a张图像中正负样本的标签(正样本为1,负样本为0),Sa,pos、Sa,neg分别为第a张图像中分类器预测的正负样本的置信度分数,λpos和λneg分别为正负样本损失的权重,具体取值为λpos=0.1,λneg=0.1;
步骤4:将待检测图像通过双线性插值缩放到网络要求的大小H×W,然后将图像输入到训练后的线段检测网络,得到所有候选线段的置信度分数,通过设定置信度分数阈值,保留置信度分数大于阈值的线段,得到待检测图像中线段检测结果。
本发明设计的线段检测网络是基于PyTorch实现的,可以端到端的训练和测试,给定一张图像作为输入,网络可以直接输出向量化的线段检测结果。
本发明的实验结果如附图4所示,图中(a)~(b)为针孔相机图像,(c)~(d)为鱼眼相机图像,(e)~(g)为球面相机图像,LSD、SHT、L-CNN、HAWP分别为不同的对比方法,ULSD为本发明提供的方法,Ground truth为线段的真实值,可以看到对于针孔相机图像,本方法与L-CNN、HAWP的效果相当,而对于鱼眼相机和球面相机图像,其他方法性能很差,而本方法依然具有很好的效果,说明本方法能够适用于任意畸变的图像。
应当理解的是,本申请书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本申请专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本申请权利要求所保护的范围情况下,还可以做出替换或变形,均落入本申请的保护范围之内,本申请的请求保护范围应以所附权利要求为准。

Claims (3)

1.一种基于贝塞尔曲线的任意畸变图像线段检测方法,实现方式包括以下步骤:
步骤1:构建训练数据集;
步骤2:构建线段检测网络;
步骤2所述线段检测网络包括:线段特征提取骨干网络、线段提议网络、感兴趣线段头部;
所述线段特征提取骨干网络的输入为图像
Figure FDA0002827096900000011
输出为特征图Fa
所述线段提议网络的输入为特征图Fa,输出为候选线段集合
Figure FDA0002827096900000012
所述感兴趣线段头部的输入为特征图Fa和候选线段集合
Figure FDA0002827096900000013
输出为线段检测结果;
所述线段特征提取骨干网络采用的是堆叠沙漏网络,包括:卷积层、第一层沙漏模块、第二层沙漏模块;
所述的卷积层、第一层沙漏模块、第二层沙漏模块依次串联级联;
所述线段提议网络包括:交叉点预测模块、线段预测模块、线段交叉点匹配模块、线段采样模块;
所述第二层级联沙漏模块分别与所述交叉点预测模块、线段预测模块连接;
所述交叉点预测模块与所述线段交叉点匹配模块连接;
所述线段预测模块与所述线段交叉点匹配模块连接;
所述线段采样模块在网络训练阶段与所述线段交叉点匹配模块连接,在测试阶段不起作用;
所述交叉点预测模块由第一交叉点解码器、第二交叉点解码器构成;
所述线段预测模块由第一线段解码器、第二线段解码器、第三线段解码器构成;
所述的第一交叉点解码器、第二交叉点解码器、第一线段解码器、第二线段解码器、第三线段解码器均由卷积层构成;
所述感兴趣线段头部包括:贝塞尔对齐模块、全连接层分类器;
所述的贝塞尔对齐模块、全连接层分类器依次串联级联;
所述线段检测网络每个模块的作用如下:
所述线段特征提取骨干网络首先通过卷积层对输入图像
Figure FDA0002827096900000014
进行多次下采样,输入图像Ia的尺寸为H×W×3,经过下采样空间尺寸变为
Figure FDA0002827096900000021
然后利用所述的第一层级联沙漏模块、第二层级联沙漏模块提取多尺度特征,得到特征图Fa,尺寸为Hb×Wb×C;
所述线段提议网络的交叉点预测模块利用第一交叉点解码器预测交叉点的置信度图Ma,1,其尺寸为Hb×Wb,表示将输入图像Ia划分为Hb×Wb的网格,每个网格内存在交叉点的置信度(即概率);同时利用第二交叉点解码器预测交叉点的偏移向量图Ma,2,其尺寸为Hb×Wb×2,表示每个网格内如果存在交叉点,交叉点坐标到网格中心坐标的偏移向量;利用交叉点的置信度图Ma,1、交叉点的偏移向量图Ma,2通过(3)式可以得到预测的交叉点集合
Figure FDA0002827096900000027
Figure FDA0002827096900000022
其中K=300,表示将置信度按降序排序后,取置信度最高的前300个交叉点,ik、jk分别为第k个交叉点所在网格的行列下标,[jk+0.5,ik+0.5]表示第k个交叉点所在网格的中心点坐标,Ma,2(ik,jk)为第k个交叉点的偏移向量,pa,k为第k个交叉点的坐标;
所述线段提议网络的线段预测模块利用第一线段解码器预测线段中点的置信度图Ma,3,其尺寸为Hb×Wb,利用第二线段解码器预测线段中点的偏移向量图Ma,4,其尺寸为Hb×Wb×2,计算得到预测的线段中点集合
Figure FDA0002827096900000023
Figure FDA0002827096900000024
其中K=5000,表示取置信度最高的5000个线段中点;
同时利用第三线段解码器预测线段等分点到中点的偏移向量图Ma,5,其尺寸为其尺寸为Hb×Wb×(n+1)×2,n为贝塞尔曲线的阶数,n+1为等分点的数量,计算得到预测的线段集合
Figure FDA0002827096900000025
Figure FDA0002827096900000026
所述线段提议网络的线段交叉点匹配模块用于筛选高质量的候选线段,对于预测的线段集合中的线段
Figure FDA0002827096900000031
如果存在2个预测的交叉点
Figure FDA0002827096900000032
Figure FDA0002827096900000033
能够和l的2个端点匹配上即欧式距离小于定义的阈值θ,则保留该线段,最终得到匹配后的候选线段集合即
Figure FDA0002827096900000034
具体公式如下:
Figure FDA0002827096900000035
所述线段提议网络的线段采样模块用于在训练阶段采样得到线段的正负样本,来训练所述感兴趣线段头部的全连接层分类器;对于候选线段集合中的一条线段
Figure FDA0002827096900000036
如果存在一条线段
Figure FDA0002827096900000037
与l的线段距离d(l,l′)小于设定的阈值η,则认为l为正样本,标签为
Figure FDA0002827096900000038
否则为负样本,标签为
Figure FDA0002827096900000039
最终候选线段集合被划分为了正样本集合和负样本集合,再从中分别采样Npos个正样本和Nneg个负样本,用于训练后续的分类器;
Figure FDA00028270969000000310
Figure FDA00028270969000000311
所述感兴趣线段头部的贝塞尔对齐模块用于生成固定长度的线段特征向量,在该模块中,对于匹配后的候选线段集合中每条线段即
Figure FDA00028270969000000312
利用贝塞尔曲线插值公式对l进行均匀插值,得到NP个插值点,再通过双线性插值计算每个点在特征图F上的特征,每个插值点有一个C维特征向量,将NP个插值点的向量拼接为一个NP×C的矩阵,再通过最大池化转化为
Figure FDA00028270969000000313
的矩阵,最后展开为
Figure FDA00028270969000000314
维的特征向量,得到线段l对应的特征向量;
所述感兴趣线段头部的全连接层分类器根据候选线段集合中候选线段的特征向量对候选线段进行分类,输出每条候选线段为真实线段的置信度分数;
步骤3:通过包括交叉点预测损失、线段预测损失、分类器损失构建线段检测网络的损失函数,将训练集的数据循环迭代带入线段检测网络,根据构建的线段检测网络的损失函数,利用自适应矩估计优化器进行优化更新网络,得到训练后的线段检测网络;
步骤4:将待检测图像通过双线性插值缩放到网络要求的大小H×W,然后将图像输入到训练后的线段检测网络,得到所有候选线段的置信度分数,通过设定置信度分数阈值,保留置信度分数大于阈值的线段,得到待检测图像中线段检测结果。
2.根据权利要求1所述的基于贝塞尔曲线的任意畸变图像线段检测方法,其特征在于,
步骤1所述训练数据集包括:图像集合、标注线段集合、标注交叉点集合;
训练数据集中图像集合记为:
Figure FDA0002827096900000041
其中;A为数据集中图像的数量,图像的尺寸均为H×W×3;
对于一张图像
Figure FDA0002827096900000042
训练数据集中标注线段集合记为:
Figure FDA0002827096900000043
对于一条标注线段
Figure FDA0002827096900000044
基于贝塞尔曲线的表示方法,具体标注形式为:la,k=(p1,p2,…,pn+1);
训练数据集中交叉点集合记为:
Figure FDA0002827096900000045
对于一个交叉点
Figure FDA0002827096900000046
其标注形式为pa,k=[x,y];
在网络中,对于交叉点的预测,首先将H×W的图像
Figure FDA0002827096900000047
划分为Hb×Wb的网格,然后预测每个网格b内是否存在交叉点,若存在,再预测交叉点坐标到网格中点坐标b的偏移向量,也就是说网络需要预测交叉点的置信度图和交叉点的偏移向量图,分别记为Ma,1、Ma,2,因此数据集中需要生成对应的交叉点置信度图真实值
Figure FDA0002827096900000048
和交叉点偏移向量图真实值
Figure FDA0002827096900000049
计算公式如下:
Figure FDA00028270969000000410
Figure FDA00028270969000000411
对于线段的预测,同样将H×W的图像
Figure FDA00028270969000000412
划分为Hb×Wb的网格,然后预测每个网格b内是否存在线段中点,若存在,再预测线段中点坐标到网格中点坐标b的偏移向量,以及线段等分点坐标到线段中点坐标的偏移向量,也就是说网络需要预测线段中点的置信度图、线段中点的偏移向量图和线段等分点到线段中点的偏移向量图,分别记为Ma,3、Ma,4和Ma,5,因此数据集中需要生成对应的线段中点置信度图真实值
Figure FDA0002827096900000051
线段中点偏移向量图真实值
Figure FDA0002827096900000052
和线段等分点到线段中点的偏移向量图真实值
Figure FDA0002827096900000053
计算公式与交叉点的类似。
3.根据权利要求1所述的基于贝塞尔曲线的任意畸变图像线段检测方法,其特征在于,
步骤3所述线段检测网络的损失函数为:
L=Ljunc+Lline+Lcls
其中,Ljunc为交叉点预测损失,Lline为线段预测损失,Lcls为分类器损失;
所述交叉点Ljunc预测损失包括两个部分,一个是交叉点的置信度图,另一个是交叉点的偏移向量图,置信度图预测采用的是交叉熵损失,偏移向量图预测采用的是smooth l1损失;
所述交叉点预测损失为:
Figure FDA0002827096900000054
其中,Ma,1、Ma,2分别为第a张图像预测的置信度图和偏移向量图,
Figure FDA0002827096900000055
Figure FDA0002827096900000056
为第a张图像对应的置信度图和偏移向量图的真实值,
Figure FDA0002827096900000057
是预测交叉点置信度图的交叉熵损失函数,
Figure FDA0002827096900000058
是预测交叉点偏移向量图的smooth l1损失;
Figure FDA0002827096900000059
Figure FDA00028270969000000510
为对应交叉点的置信度图预测和偏移向量图预测的损失的权重;
所述线段预测损失:包括预测线段中点的置信度图的损失,预测线段中点的偏移向量图的损失以及预测线段等分点到中点的偏移向量图的损失;其中预测线段中点的置信度图的损失采用的是交叉熵损失,预测线段中点的偏移向量图的损失和预测线段等分点到中点的偏移向量图的损失采用的是smooth l1损失;
Figure FDA00028270969000000511
其中,
Figure FDA00028270969000000512
λoffset为线段的置信度图、偏移向量图、线段等分点到中点的偏移向量图损失的权重;
Figure FDA0002827096900000061
是预测线段置信度图的交叉熵损失函数,
Figure FDA0002827096900000062
是预测线段偏移向量图的smooth l1损失,Loffset是预测线段等分点到中点的偏移向量图的smooth l1损失,Ma,3、Ma,4和Ma,5分别为网络需要预测的第a张图像的线段中点的置信度图、线段中点的偏移向量图和线段等分点到线段中点的偏移向量图,
Figure FDA0002827096900000063
为对应的线段中点置信度图的真实值、线段中点偏移向量图的真实值和线段等分点到线段中点的偏移向量图的真实值;
所述分类器损失采用的是交叉熵损失函数,具体定义为:
Figure FDA0002827096900000064
其中,其中
Figure FDA0002827096900000065
分别为第a张图像中正负样本的标签(正样本为1,负样本为0),Sa,pos、Sa,neg分别为第a张图像中分类器预测的正负样本的置信度分数,λpos和λneg分别为正负样本损失的权重。
CN202011451476.9A 2020-12-10 2020-12-10 一种基于贝塞尔曲线的任意畸变图像线段检测方法 Pending CN112488128A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011451476.9A CN112488128A (zh) 2020-12-10 2020-12-10 一种基于贝塞尔曲线的任意畸变图像线段检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011451476.9A CN112488128A (zh) 2020-12-10 2020-12-10 一种基于贝塞尔曲线的任意畸变图像线段检测方法

Publications (1)

Publication Number Publication Date
CN112488128A true CN112488128A (zh) 2021-03-12

Family

ID=74941420

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011451476.9A Pending CN112488128A (zh) 2020-12-10 2020-12-10 一种基于贝塞尔曲线的任意畸变图像线段检测方法

Country Status (1)

Country Link
CN (1) CN112488128A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113344993A (zh) * 2021-06-04 2021-09-03 成都玻尔兹曼智贝科技有限公司 侧貌模拟方法
CN114821511A (zh) * 2022-06-21 2022-07-29 小米汽车科技有限公司 杆体检测方法、装置、车辆、存储介质及芯片
KR20220160990A (ko) * 2021-05-28 2022-12-06 네이버 주식회사 실시간 및 경량의 딥러닝 기반 선분 검출 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
CN117854116A (zh) * 2024-03-08 2024-04-09 中国海洋大学 一种基于贝塞尔曲线的海参原位长度测量方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HAO LI,ET AL: "ULSD: Unified Line Segment Detection across Pinhole, Fisheye, and Spherical Cameras", 《ARXIV:2011.03174V1》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220160990A (ko) * 2021-05-28 2022-12-06 네이버 주식회사 실시간 및 경량의 딥러닝 기반 선분 검출 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
KR102649612B1 (ko) 2021-05-28 2024-03-21 네이버 주식회사 실시간 및 경량의 딥러닝 기반 선분 검출 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
CN113344993A (zh) * 2021-06-04 2021-09-03 成都玻尔兹曼智贝科技有限公司 侧貌模拟方法
CN113344993B (zh) * 2021-06-04 2022-06-03 成都玻尔兹曼智贝科技有限公司 侧貌模拟方法
CN114821511A (zh) * 2022-06-21 2022-07-29 小米汽车科技有限公司 杆体检测方法、装置、车辆、存储介质及芯片
CN114821511B (zh) * 2022-06-21 2022-09-23 小米汽车科技有限公司 杆体检测方法、装置、车辆、存储介质及芯片
CN117854116A (zh) * 2024-03-08 2024-04-09 中国海洋大学 一种基于贝塞尔曲线的海参原位长度测量方法
CN117854116B (zh) * 2024-03-08 2024-05-17 中国海洋大学 一种基于贝塞尔曲线的海参原位长度测量方法

Similar Documents

Publication Publication Date Title
CN109977918B (zh) 一种基于无监督域适应的目标检测定位优化方法
CN107506761B (zh) 基于显著性学习卷积神经网络的脑部图像分割方法及***
CN110443143B (zh) 多分支卷积神经网络融合的遥感图像场景分类方法
CN108399406B (zh) 基于深度学习的弱监督显著性物体检测的方法及***
CN106547880B (zh) 一种融合地理区域知识的多维度地理场景识别方法
CN112488128A (zh) 一种基于贝塞尔曲线的任意畸变图像线段检测方法
CN109828251B (zh) 基于特征金字塔轻量卷积神经网络的雷达目标识别方法
CN101980250B (zh) 基于降维局部特征描述子和隐条件随机场的目标识别方法
CN111368769B (zh) 基于改进锚点框生成模型的船舶多目标检测方法
CN111583263A (zh) 一种基于联合动态图卷积的点云分割方法
CN110046671A (zh) 一种基于胶囊网络的文本分类方法
CN110929665B (zh) 一种自然场景曲线文本检测方法
CN110321967B (zh) 基于卷积神经网络的图像分类改进方法
CN106022363B (zh) 一种适用于自然场景下的中文文字识别方法
CN109753959B (zh) 基于自适应多尺度特征融合的路面交通标志检测方法
CN112150493A (zh) 一种基于语义指导的自然场景下屏幕区域检测方法
CN112800876A (zh) 一种用于重识别的超球面特征嵌入方法及***
CN108427919B (zh) 一种基于形状引导显著性模型的无监督油罐目标检测方法
CN111652240B (zh) 一种基于cnn的图像局部特征检测与描述方法
CN111898621A (zh) 一种轮廓形状识别方法
CN113657414B (zh) 一种物体识别方法
CN110188827A (zh) 一种基于卷积神经网络和递归自动编码器模型的场景识别方法
CN112541491A (zh) 基于图像字符区域感知的端到端文本检测及识别方法
CN114913498A (zh) 一种基于关键点估计的并行多尺度特征聚合车道线检测方法
CN109919215B (zh) 基于聚类算法改进特征金字塔网络的目标检测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210312