CN112488128A - 一种基于贝塞尔曲线的任意畸变图像线段检测方法 - Google Patents
一种基于贝塞尔曲线的任意畸变图像线段检测方法 Download PDFInfo
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000012549 training Methods 0.000 claims abstract description 32
- 230000003044 adaptive effect Effects 0.000 claims abstract description 4
- 239000013598 vector Substances 0.000 claims description 116
- 238000005070 sampling Methods 0.000 claims description 18
- 238000010586 diagram Methods 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 5
- 206010037180 Psychiatric symptoms Diseases 0.000 claims description 4
- 238000002372 labelling Methods 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 4
- 230000000717 retained effect Effects 0.000 claims description 3
- 238000004804 winding Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 14
- 230000000694 effects Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification 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所述训练数据集包括:图像集合、标注线段集合、标注交叉点集合;
训练数据集中图像集合记为:
其中。A为数据集中图像的数量,图像的尺寸均为H×W×3;
训练数据集中标注线段集合记为:
基于贝塞尔曲线的表示方法,具体标注形式为:la,k=(p1,p2,…,pn+1);
训练数据集中交叉点集合记为:
在网络中,对于交叉点的预测,首先将H×W的图像划分为Hb×Wb的网格,然后预测每个网格b内是否存在交叉点,若存在,再预测交叉点坐标到网格中点坐标b的偏移向量,也就是说网络需要预测交叉点的置信度图和交叉点的偏移向量图,分别记为Ma,1、Ma,2,因此数据集中需要生成对应的交叉点置信度图真实值和交叉点偏移向量图真实值计算公式如下:
对于线段的预测,同样将H×W的图像划分为Hb×Wb的网格,然后预测每个网格b内是否存在线段中点,若存在,再预测线段中点坐标到网格中点坐标b的偏移向量,以及线段等分点坐标到线段中点坐标的偏移向量,也就是说网络需要预测线段中点的置信度图、线段中点的偏移向量图和线段等分点到线段中点的偏移向量图,分别记为Ma,3、Ma,4和Ma,5,因此数据集中需要生成对应的线段中点置信度图真实值线段中点偏移向量图真实值和线段等分点到线段中点的偏移向量图真实值计算公式与交叉点的类似;
作为优选,步骤2所述线段检测网络包括:线段特征提取骨干网络、线段提议网络、感兴趣线段头部;
所述线段特征提取骨干网络采用的是堆叠沙漏网络,包括:卷积层、第一层沙漏模块、第二层沙漏模块;
所述的卷积层、第一层沙漏模块、第二层沙漏模块依次串联级联;
所述线段提议网络包括:交叉点预测模块、线段预测模块、线段交叉点匹配模块、线段采样模块;
所述第二层级联沙漏模块分别与所述交叉点预测模块、线段预测模块连接;
所述交叉点预测模块与所述线段交叉点匹配模块连接;
所述线段预测模块与所述线段交叉点匹配模块连接;
所述线段采样模块在网络训练阶段与所述线段交叉点匹配模块连接,在测试阶段不起作用;
所述交叉点预测模块由第一交叉点解码器、第二交叉点解码器构成;
所述线段预测模块由第一线段解码器、第二线段解码器、第三线段解码器构成;
所述的第一交叉点解码器、第二交叉点解码器、第一线段解码器、第二线段解码器、第三线段解码器均由卷积层构成;
所述感兴趣线段头部包括:贝塞尔对齐模块、全连接层分类器;
所述的贝塞尔对齐模块、全连接层分类器依次串联级联;
所述线段检测网络每个模块的作用如下:
所述线段特征提取骨干网络首先通过卷积层对输入图像进行多次下采样,输入图像Ia的尺寸为H×W×3,经过下采样空间尺寸变为然后利用所述的第一层级联沙漏模块、第二层级联沙漏模块提取多尺度特征,得到特征图Fa,尺寸为Hb×Wb×C;
所述线段提议网络的交叉点预测模块利用第一交叉点解码器预测交叉点的置信度图Ma,1,其尺寸为Hb×Wb,表示将输入图像Ia划分为Hb×Wb的网格,每个网格内存在交叉点的置信度(即概率);同时利用第二交叉点解码器预测交叉点的偏移向量图Ma,2,其尺寸为Hb×Wb×2,表示每个网格内如果存在交叉点,交叉点坐标到网格中心坐标的偏移向量。利用交叉点的置信度图Ma,1、交叉点的偏移向量图Ma,2通过(3)式可以得到预测的交叉点集合:
其中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,计算得到预测的线段中点集合
其中K=5000,表示取置信度最高的5000个线段中点;
所述线段提议网络的线段交叉点匹配模块用于筛选高质量的候选线段,对于预测的线段集合中的线段如果存在2个预测的交叉点和能够和l的2个端点匹配上即欧式距离小于定义的阈值θ,则保留该线段,最终得到匹配后的候选线段集合即具体公式如下:
所述线段提议网络的线段采样模块用于在训练阶段采样得到线段的正负样本,来训练所述感兴趣线段头部的全连接层分类器。对于候选线段集合中的一条线段如果存在一条线段与l的线段距离d(l,l′)小于设定的阈值η,则认为l为正样本,标签为否则为负样本,标签为最终候选线段集合被划分为了正样本集合和负样本集合,再从中分别采样Npos个正样本和Nneg个负样本,用于训练后续的分类器;
l=(p1,p2,…,pn+1),l′=(p′1,p′2,…,p′n+1)
所述感兴趣线段头部的贝塞尔对齐模块用于生成固定长度的线段特征向量,在该模块中,对于匹配后的候选线段集合中每条线段即利用贝塞尔曲线插值公式对l进行均匀插值,得到NP个插值点,再通过双线性插值计算每个点在特征图F上的特征,每个插值点有一个C维特征向量,将NP个插值点的向量拼接为一个NP×C的矩阵,再通过最大池化转化为的矩阵,最后展开为维的特征向量,得到线段l对应的特征向量;
所述感兴趣线段头部的全连接层分类器根据候选线段集合中候选线段的特征向量对候选线段进行分类,输出每条候选线段为真实线段的置信度分数;
作为优选,步骤3所述线段检测网络的损失函数为:
L=Ljunc+Lline+Lcls
其中,Ljunc为交叉点预测损失,Lline为线段预测损失,Lcls为分类器损失;
所述交叉点Ljunc预测损失包括两个部分,一个是交叉点的置信度图,另一个是交叉点的偏移向量图,置信度图预测采用的是交叉熵损失,偏移向量图预测采用的是smoothl1损失;
所述交叉点预测损失为:
其中,Ma,1、Ma,2分别为第a张图像预测的置信度图和偏移向量图,和为第a张图像对应的置信度图和偏移向量图的真实值,是预测交叉点置信度图的交叉熵损失函数,是预测交叉点偏移向量图的smooth l1损失;和为对应交叉点的置信度图预测和偏移向量图预测的损失的权重;
所述线段预测损失:包括预测线段中点的置信度图的损失,预测线段中点的偏移向量图的损失以及预测线段等分点到中点的偏移向量图的损失。其中预测线段中点的置信度图的损失采用的是交叉熵损失,预测线段中点的偏移向量图的损失和预测线段等分点到中点的偏移向量图的损失采用的是smooth l1损失;
其中,为线段的置信度图、偏移向量图、线段等分点到中点的偏移向量图损失的权重;是预测线段置信度图的交叉熵损失函数,是预测线段偏移向量图的smooth l1损失,Loffset是预测线段等分点到中点的偏移向量图的smooth l1损失,Ma,3、Ma,4和Ma,5分别为网络需要预测的第a张图像的线段中点的置信度图、线段中点的偏移向量图和线段等分点到线段中点的偏移向量图,为对应的线段中点置信度图的真实值、线段中点偏移向量图的真实值和线段等分点到线段中点的偏移向量图的真实值。
所述分类器损失采用的是交叉熵损失函数,具体定义为:
本发明的原理是:首先利用堆叠沙漏网络作为特征提取骨干网络对输入图像提取多尺度特征,再将特征图输入到线段提议网络,线段提议网络包括交叉点预测模块、线段预测模块和线段-交叉点匹配模块,分别利用交叉点预测模块和线段预测模块提取图像中的交叉点和线段,再利用线段-交叉点匹配模块生成高质量的候选线段,然后通过贝塞尔对齐模块得到每条候选线段的特征向量,最后将特征向量输入到分类器,得到每条候选线段的置信度分数,根据设定的置信度阈值分数,筛选出最终的线段检测结果。
附图说明
图1:为网络架构。
图2:为线段检测流程。
图3:为本发明方法流程。
图4:为不同方法的线段检测结果对比。
具体实施方式
本发明提供了基于贝塞尔曲线的任意畸变图像线段检测方法。为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图对本发明进一步详细说明。
本发明设计的线段检测网络其网络架构如附图1所示,线段检测流程如附图2所示,图3为本发明方法流程图。
下面结合图1至图4,介绍本发明的具体实施方式为:基于贝塞尔曲线的任意畸变图像线段检测方法包括以下步骤:
步骤1:构建训练数据集;
步骤1所述训练数据集包括:图像集合、标注线段集合、标注交叉点集合;
训练数据集中图像集合记为:
其中,A为数据集中图像的数量,图像的尺寸均为H×W×3;
训练数据集中标注线段集合记为:
基于贝塞尔曲线的表示方法,具体标注形式为:la,k=(p1,p2,…,pn+1);
训练数据集中交叉点集合记为:
在网络中,对于交叉点的预测,首先将H×W的图像划分为Hb×Wb的网格,然后预测每个网格b内是否存在交叉点,若存在,再预测交叉点坐标到网格中点坐标b的偏移向量,也就是说网络需要预测交叉点的置信度图和交叉点的偏移向量图,分别记为Ma,1、Ma,2,因此数据集中需要生成对应的交叉点置信度图真实值和交叉点偏移向量图真实值计算公式如下:
对于线段的预测,同样将H×W的图像划分为Hb×Wb的网格,然后预测每个网格b内是否存在线段中点,若存在,再预测线段中点坐标到网格中点坐标b的偏移向量,以及线段等分点坐标到线段中点坐标的偏移向量,也就是说网络需要预测线段中点的置信度图、线段中点的偏移向量图和线段等分点到线段中点的偏移向量图,分别记为Ma,3、Ma,4和Ma,5,因此数据集中需要生成对应的线段中点置信度图真实值线段中点偏移向量图真实值和线段等分点到线段中点的偏移向量图真实值计算公式与交叉点的类似;
对于针孔相机图像,数据集采用的是公开的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:构建线段检测网络;
所述线段检测网络包括:线段特征提取骨干网络、线段提议网络、感兴趣线段头部;
所述线段特征提取骨干网络采用的是堆叠沙漏网络,包括:卷积层、第一层沙漏模块、第二层沙漏模块;
所述的卷积层、第一层沙漏模块、第二层沙漏模块依次串联级联;
所述线段提议网络包括:交叉点预测模块、线段预测模块、线段交叉点匹配模块、线段采样模块;
所述第二层级联沙漏模块分别与所述交叉点预测模块、线段预测模块连接;
所述交叉点预测模块与所述线段交叉点匹配模块连接;
所述线段预测模块与所述线段交叉点匹配模块连接;
所述线段采样模块在网络训练阶段与所述线段交叉点匹配模块连接,在测试阶段不起作用;
所述交叉点预测模块由第一交叉点解码器、第二交叉点解码器构成;
所述线段预测模块由第一线段解码器、第二线段解码器、第三线段解码器构成;
所述的第一交叉点解码器、第二交叉点解码器、第一线段解码器、第二线段解码器、第三线段解码器均由卷积层构成;
所述感兴趣线段头部包括:贝塞尔对齐模块、全连接层分类器;
所述的贝塞尔对齐模块、全连接层分类器依次串联级联;
所述线段检测网络每个模块的作用如下:
所述线段特征提取骨干网络首先通过卷积层对输入图像进行多次下采样,输入图像Ia的尺寸为H×W×3,经过下采样空间尺寸变为然后利用所述的第一层级联沙漏模块、第二层级联沙漏模块提取多尺度特征,得到特征图Fa,尺寸为Hb×Wb×C,这里特征通道数C=256;
所述线段提议网络的交叉点预测模块利用第一交叉点解码器预测交叉点的置信度图Ma,1,其尺寸为Hb×Wb,表示将输入图像Ia划分为Hb×Wb的网格,每个网格内存在交叉点的置信度(即概率);同时利用第二交叉点解码器预测交叉点的偏移向量图Ma,2,其尺寸为Hb×Wb×2,表示每个网格内如果存在交叉点,交叉点坐标到网格中心坐标的偏移向量。利用交叉点的置信度图Ma,1、交叉点的偏移向量图Ma,2通过(3)式可以得到预测的交叉点集合:
其中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,计算得到预测的线段中点集合:
其中K=5000,表示取置信度最高的5000个线段中点;
所述线段提议网络的线段交叉点匹配模块用于筛选高质量的候选线段,对于预测的线段集合中的线段如果存在2个预测的交叉点和能够和l的2个端点匹配上即欧式距离小于定义的阈值θ=1.5像素,则保留该线段,最终得到匹配后的候选线段集合即具体公式如下:
所述线段提议网络的线段采样模块用于在训练阶段采样得到线段的正负样本,来训练所述感兴趣线段头部的全连接层分类器。对于候选线段集合中的一条线段如果存在一条线段与l的线段距离d(l,l′)小于设定的阈值η=1.5像素,则认为l为正样本,标签为否则为负样本,标签为最终候选线段集合被划分为了正样本集合和负样本集合,再从中分别采样Npos=300个正样本和Nneg=300个负样本,用于训练后续的分类器;
l=(p1,p2,…,pn+1),l′=(p′1,p′2,…,p′n+1)
所述感兴趣线段头部的贝塞尔对齐模块用于生成固定长度的线段特征向量,在该模块中,对于匹配后的候选线段集合中每条线段即利用贝塞尔曲线插值公式对l进行均匀插值,得到NP=32个插值点,再通过双线性插值计算每个点在特征图F上的特征,每个插值点有一个C=256维特征向量,将NP个插值点的向量拼接为一个NP×C=32×256的矩阵,再通过最大池化转化为的矩阵,最后展开为维的特征向量,得到线段l对应的特征向量;
所述感兴趣线段头部的全连接层分类器根据候选线段集合中候选线段的特征向量对候选线段进行分类,输出每条候选线段为真实线段的置信度分数;
步骤3:通过包括交叉点预测损失、线段预测损失、分类器损失构建线段检测网络的损失函数,将训练集的数据循环迭代带入线段检测网络,根据构建的线段检测网络的损失函数,利用自适应矩估计优化器进行优化更新网络,得到训练后的线段检测网络;
步骤3所述线段检测网络的损失函数为:
L=Ljunc+Lline+Lcls
其中,Ljunc为交叉点预测损失,Lline为线段预测损失,Lcls为分类器损失;
所述交叉点Ljunc预测损失包括两个部分,一个是交叉点的置信度图,另一个是交叉点的偏移向量图,置信度图预测采用的是交叉熵损失,偏移向量图预测采用的是smoothl1损失;
所述交叉点预测损失为:
其中,Ma,1、Ma,2分别为第a张图像预测的置信度图和偏移向量图,和为第a张图像对应的置信度图和偏移向量图的真实值,是预测交叉点置信度图的交叉熵损失函数,是预测交叉点偏移向量图的smooth l1损失;和为对应交叉点的置信度图预测和偏移向量图预测的损失的权重,具体取值为
所述线段预测损失:包括预测线段中点的置信度图的损失,预测线段中点的偏移向量图的损失以及预测线段等分点到中点的偏移向量图的损失。其中预测线段中点的置信度图的损失采用的是交叉熵损失,预测线段中点的偏移向量图的损失和预测线段等分点到中点的偏移向量图的损失采用的是smooth l1损失;
其中,为线段的置信度图、偏移向量图、线段等分点到中点的偏移向量图损失的权重,具体取值为λoffset=1;是预测线段置信度图的交叉熵损失函数,是预测线段偏移向量图的smooth l1损失,Loffset是预测线段等分点到中点的偏移向量图的smooth l1损失,Ma,3、Ma,4和Ma,5分别为网络需要预测的第a张图像的线段中点的置信度图、线段中点的偏移向量图和线段等分点到线段中点的偏移向量图,为对应的线段中点置信度图的真实值、线段中点偏移向量图的真实值和线段等分点到线段中点的偏移向量图的真实值。
所述分类器损失采用的是交叉熵损失函数,具体定义为:
其中,其中分别为第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所述线段检测网络包括:线段特征提取骨干网络、线段提议网络、感兴趣线段头部;
所述线段特征提取骨干网络采用的是堆叠沙漏网络,包括:卷积层、第一层沙漏模块、第二层沙漏模块;
所述的卷积层、第一层沙漏模块、第二层沙漏模块依次串联级联;
所述线段提议网络包括:交叉点预测模块、线段预测模块、线段交叉点匹配模块、线段采样模块;
所述第二层级联沙漏模块分别与所述交叉点预测模块、线段预测模块连接;
所述交叉点预测模块与所述线段交叉点匹配模块连接;
所述线段预测模块与所述线段交叉点匹配模块连接;
所述线段采样模块在网络训练阶段与所述线段交叉点匹配模块连接,在测试阶段不起作用;
所述交叉点预测模块由第一交叉点解码器、第二交叉点解码器构成;
所述线段预测模块由第一线段解码器、第二线段解码器、第三线段解码器构成;
所述的第一交叉点解码器、第二交叉点解码器、第一线段解码器、第二线段解码器、第三线段解码器均由卷积层构成;
所述感兴趣线段头部包括:贝塞尔对齐模块、全连接层分类器;
所述的贝塞尔对齐模块、全连接层分类器依次串联级联;
所述线段检测网络每个模块的作用如下:
所述线段特征提取骨干网络首先通过卷积层对输入图像进行多次下采样,输入图像Ia的尺寸为H×W×3,经过下采样空间尺寸变为然后利用所述的第一层级联沙漏模块、第二层级联沙漏模块提取多尺度特征,得到特征图Fa,尺寸为Hb×Wb×C;
所述线段提议网络的交叉点预测模块利用第一交叉点解码器预测交叉点的置信度图Ma,1,其尺寸为Hb×Wb,表示将输入图像Ia划分为Hb×Wb的网格,每个网格内存在交叉点的置信度(即概率);同时利用第二交叉点解码器预测交叉点的偏移向量图Ma,2,其尺寸为Hb×Wb×2,表示每个网格内如果存在交叉点,交叉点坐标到网格中心坐标的偏移向量;利用交叉点的置信度图Ma,1、交叉点的偏移向量图Ma,2通过(3)式可以得到预测的交叉点集合
其中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,计算得到预测的线段中点集合
其中K=5000,表示取置信度最高的5000个线段中点;
所述线段提议网络的线段交叉点匹配模块用于筛选高质量的候选线段,对于预测的线段集合中的线段如果存在2个预测的交叉点和能够和l的2个端点匹配上即欧式距离小于定义的阈值θ,则保留该线段,最终得到匹配后的候选线段集合即具体公式如下:
所述线段提议网络的线段采样模块用于在训练阶段采样得到线段的正负样本,来训练所述感兴趣线段头部的全连接层分类器;对于候选线段集合中的一条线段如果存在一条线段与l的线段距离d(l,l′)小于设定的阈值η,则认为l为正样本,标签为否则为负样本,标签为最终候选线段集合被划分为了正样本集合和负样本集合,再从中分别采样Npos个正样本和Nneg个负样本,用于训练后续的分类器;
所述感兴趣线段头部的贝塞尔对齐模块用于生成固定长度的线段特征向量,在该模块中,对于匹配后的候选线段集合中每条线段即利用贝塞尔曲线插值公式对l进行均匀插值,得到NP个插值点,再通过双线性插值计算每个点在特征图F上的特征,每个插值点有一个C维特征向量,将NP个插值点的向量拼接为一个NP×C的矩阵,再通过最大池化转化为的矩阵,最后展开为维的特征向量,得到线段l对应的特征向量;
所述感兴趣线段头部的全连接层分类器根据候选线段集合中候选线段的特征向量对候选线段进行分类,输出每条候选线段为真实线段的置信度分数;
步骤3:通过包括交叉点预测损失、线段预测损失、分类器损失构建线段检测网络的损失函数,将训练集的数据循环迭代带入线段检测网络,根据构建的线段检测网络的损失函数,利用自适应矩估计优化器进行优化更新网络,得到训练后的线段检测网络;
步骤4:将待检测图像通过双线性插值缩放到网络要求的大小H×W,然后将图像输入到训练后的线段检测网络,得到所有候选线段的置信度分数,通过设定置信度分数阈值,保留置信度分数大于阈值的线段,得到待检测图像中线段检测结果。
2.根据权利要求1所述的基于贝塞尔曲线的任意畸变图像线段检测方法,其特征在于,
步骤1所述训练数据集包括:图像集合、标注线段集合、标注交叉点集合;
训练数据集中图像集合记为:
其中;A为数据集中图像的数量,图像的尺寸均为H×W×3;
训练数据集中标注线段集合记为:
基于贝塞尔曲线的表示方法,具体标注形式为:la,k=(p1,p2,…,pn+1);
训练数据集中交叉点集合记为:
在网络中,对于交叉点的预测,首先将H×W的图像划分为Hb×Wb的网格,然后预测每个网格b内是否存在交叉点,若存在,再预测交叉点坐标到网格中点坐标b的偏移向量,也就是说网络需要预测交叉点的置信度图和交叉点的偏移向量图,分别记为Ma,1、Ma,2,因此数据集中需要生成对应的交叉点置信度图真实值和交叉点偏移向量图真实值计算公式如下:
3.根据权利要求1所述的基于贝塞尔曲线的任意畸变图像线段检测方法,其特征在于,
步骤3所述线段检测网络的损失函数为:
L=Ljunc+Lline+Lcls
其中,Ljunc为交叉点预测损失,Lline为线段预测损失,Lcls为分类器损失;
所述交叉点Ljunc预测损失包括两个部分,一个是交叉点的置信度图,另一个是交叉点的偏移向量图,置信度图预测采用的是交叉熵损失,偏移向量图预测采用的是smooth l1损失;
所述交叉点预测损失为:
其中,Ma,1、Ma,2分别为第a张图像预测的置信度图和偏移向量图,和为第a张图像对应的置信度图和偏移向量图的真实值,是预测交叉点置信度图的交叉熵损失函数,是预测交叉点偏移向量图的smooth l1损失;和为对应交叉点的置信度图预测和偏移向量图预测的损失的权重;
所述线段预测损失:包括预测线段中点的置信度图的损失,预测线段中点的偏移向量图的损失以及预测线段等分点到中点的偏移向量图的损失;其中预测线段中点的置信度图的损失采用的是交叉熵损失,预测线段中点的偏移向量图的损失和预测线段等分点到中点的偏移向量图的损失采用的是smooth l1损失;
其中,λoffset为线段的置信度图、偏移向量图、线段等分点到中点的偏移向量图损失的权重;是预测线段置信度图的交叉熵损失函数,是预测线段偏移向量图的smooth l1损失,Loffset是预测线段等分点到中点的偏移向量图的smooth l1损失,Ma,3、Ma,4和Ma,5分别为网络需要预测的第a张图像的线段中点的置信度图、线段中点的偏移向量图和线段等分点到线段中点的偏移向量图,为对应的线段中点置信度图的真实值、线段中点偏移向量图的真实值和线段等分点到线段中点的偏移向量图的真实值;
所述分类器损失采用的是交叉熵损失函数,具体定义为:
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)
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 | 中国海洋大学 | 一种基于贝塞尔曲线的海参原位长度测量方法 |
-
2020
- 2020-12-10 CN CN202011451476.9A patent/CN112488128A/zh active Pending
Non-Patent Citations (1)
Title |
---|
HAO LI,ET AL: "ULSD: Unified Line Segment Detection across Pinhole, Fisheye, and Spherical Cameras", 《ARXIV:2011.03174V1》 * |
Cited By (8)
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) | 一种基于无监督域适应的目标检测定位优化方法 | |
CN108399406B (zh) | 基于深度学习的弱监督显著性物体检测的方法及系统 | |
CN109828251B (zh) | 基于特征金字塔轻量卷积神经网络的雷达目标识别方法 | |
CN111583263B (zh) | 一种基于联合动态图卷积的点云分割方法 | |
CN107092870B (zh) | 一种高分辨率影像语义信息提取方法 | |
CN105975931B (zh) | 一种基于多尺度池化的卷积神经网络人脸识别方法 | |
CN112488128A (zh) | 一种基于贝塞尔曲线的任意畸变图像线段检测方法 | |
CN101980250B (zh) | 基于降维局部特征描述子和隐条件随机场的目标识别方法 | |
CN107506761A (zh) | 基于显著性学习卷积神经网络的脑部图像分割方法及系统 | |
CN111368769B (zh) | 基于改进锚点框生成模型的船舶多目标检测方法 | |
CN110046671A (zh) | 一种基于胶囊网络的文本分类方法 | |
CN108427921A (zh) | 一种基于卷积神经网络的人脸识别方法 | |
CN106022363B (zh) | 一种适用于自然场景下的中文文字识别方法 | |
CN109766805B (zh) | 一种基于深度学习的双层车牌字符识别方法 | |
CN105138973A (zh) | 人脸认证的方法和装置 | |
CN109753959B (zh) | 基于自适应多尺度特征融合的路面交通标志检测方法 | |
CN112150493A (zh) | 一种基于语义指导的自然场景下屏幕区域检测方法 | |
CN112800876A (zh) | 一种用于重识别的超球面特征嵌入方法及系统 | |
CN108427919B (zh) | 一种基于形状引导显著性模型的无监督油罐目标检测方法 | |
CN113657414B (zh) | 一种物体识别方法 | |
CN111898621A (zh) | 一种轮廓形状识别方法 | |
CN110188827A (zh) | 一种基于卷积神经网络和递归自动编码器模型的场景识别方法 | |
CN111652240B (zh) | 一种基于cnn的图像局部特征检测与描述方法 | |
CN112541491A (zh) | 基于图像字符区域感知的端到端文本检测及识别方法 | |
CN114913498A (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 |