一种基于距离场的神经网络边缘检测算法的制作方法

未命名 08-14 阅读:93 评论:0


1.本发明主要涉及图像处理领域,具体涉及一种基于距离场的神经网络边缘检测算法。


背景技术:

2.在大数据时代下,图像充当着生活及工作中海量信息载体的角色,与人类需求有着密切的关联,为提升生产效率与人们的生活质量,研究者们在计算机视觉领域付出巨大努力,将人眼的特性赋予机器,使其执行识别与感知任务。
3.人的视觉对图像中物体边界是极其敏感的,近些年,深度学习领域一般只有在语义分割和实例分割技术中牵扯到物体边界估计问题,但是很明显对边界的处理效果不太理想。
4.图像边缘检测是计算机视觉领域中的一个低层次的具有挑战性的任务,边缘检测技术的改善可以促进高层次视觉任务(例如图像分割)的发展。通常来讲,一个优秀的边缘检测算法应具有以下特性:1.有效性,它能够检测边缘并且对各种场景问题都是有效的;2.准确性,获得的边缘尽可能地逼近真实边缘。传统的边缘检测算法由于其低准确率使得它们不能得以广泛的应用。
5.在计算机算力不断提升的同时,卷积神经网络也在图像的学习方面呈现出巨大优势,因此部分研究者开始使用卷积神经网络进行物体边缘检测算法研究,随之诞生了一些优秀的算法,但是检测精度仍有提升的空间,边缘检测技术对推动图像分割及机器视觉等领域的发展也至关重要。借鉴边缘检测技术到实例分割算法中,对提升实例边界分割精度也具有重要的意义。
6.发明人提出的一种基于距离场的神经网络边缘检测算法,提升现有的图像处理技术中对图像中物体边缘的检测精度。


技术实现要素:

7.1.发明要解决的问题
8.本发明的提供了一种基于距离场的神经网络边缘检测算法,用于解决上述背景技术中提到的现有图像处理技术对图像边缘的检测精度低的技术问题。
9.2.技术方案
10.为达到上述目的,本发明提供的技术方案为:一种基于距离场的神经网络边缘检测算法,包括如下内容:
11.引入距离场函数,其可以获得图像中非边缘点到离其最近边缘点的欧式距离,具体表达式如下:
12.13.其中d(i,j)和value(i,j)分别表示距离场图中像素点(i,j)的值与边缘图中像素点(i,j)的值。图像边缘点的横纵坐标值分别由m和n表示。
14.基于距离场的神经网络边缘检测算法模型整体搭建。
15.搭建首次提出的距离场分支。
16.基于距离场的神经网络边缘检测算法模型损失函数。
17.进一步的,还包括有基于距离场的卷积神经网络,具体流程如下:
18.s1.选择使用resnet101代替vgg16,并且去掉所有的全连接层。
19.s2.每个1
×
1的卷积层都连接一个relu层。然后,反卷积层连接到对应的特征图上进行上采样,使模型生成与原始图像相同尺寸的边缘概率图。
20.s3.交叉熵损失函数层仅仅连接到网络中的融合层。
21.s4.卷积神经网络中分别包括有边缘预测概率图与真实边缘图之间的交叉熵损失函数和距离场分支的损失函数。
22.进一步的,所述距离场分支进行前向传播,将得到与边缘预测概率图相对应的距离场预测图。
23.进一步的,还包括有基于rfen子网络获得的边缘预测概率图,将被处理后的边缘预测概率图送入距离场分支,获得一个距离场预测图,所述距离场预测图使用mse计算距离场分支的损失值。
24.进一步的,所述真实边缘图由多个标注者进行标注并存储在bsds500数据集中,所述真实边缘图中有争议的点由阈值法进行处理,其每个像素点的损失函数如下式所示:
[0025][0026]
其中,
[0027][0028]y+
和y-分别代表正样本集和负样本集,超参数λ被用于平衡正样本和负样本,像素点i的卷积神经网络特征向量和真实边缘图中的灰度值分别由xi与lbi表示。p(x)是sigmoid函数,w代表rfen子网络中将被学习的全部参数。
[0029]
进一步的,所述卷积神经网络中每个卷积阶段产生的损失函数和融合层的损失函数作为整个网络模型的损失函数,对融合模块的损失函数rfen子网络的优化训练,其中rfen的损失函数表达式为
[0030]
其中,代表由融合模块输出的边缘预测图中第i个像素点的激活值,|i|代表图像中像素点的总数量。
[0031]
进一步的,所述距离场分支的损失函数表达式如下所示:
[0032][0033][0034]
yi和分别代表真实距离场图和距离场预测图中第i个像素点的值,m代表边缘预测概率图中像素点的总数量,代表经过阈值处理后的值,n(x)是sigmoid函数,w1代表距离场分支网络中将被学习的全部参数,超参数η是为了将距离场预测图的值限幅在0-5之间。
[0035]
进一步的,所述基于距离场的神经网络边缘检测算法模型的损失函数表达式如下所示:
[0036]
l=l(w)+γl
df
[0037]
其中,l(w和l
df
分别代表rfen子网络和距离场分支网络的损失函数,超参数γ是为了调整距离场分支损失函数在总损失函数中的比重。
[0038]
3.有益效果
[0039]
采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:
[0040]
本发明提供了一种基于距离场的神经网络边缘检测算法,提高图像检测中边缘预测图的检测效率,能够检测边缘并且对各种场景问题都是有效的,获得的边缘尽可能地逼近真实边缘。传统的边缘检测算法由于其低准确率使得它们不能得以广泛的应用。
[0041]
本发明提供了一种基于距离场的神经网络边缘检测算法,将边缘图嵌入到距离场图中,从而获得丰富的距离信息。当远离边缘的像素点发生误判时,那么损失函数就会变得非常大,因此网络可以更快地得以收敛。
[0042]
该装置中未涉及部分均与现有技术相同或可采用现有技术加以实现。
附图说明
[0043]
图1为本发明的df-cnn网络结构示意图;
[0044]
图2为本发明的距离场分支示意图;
[0045]
图3为本发明的距离场分支工作流程示意图;
[0046]
图4为本发明的距离场生成示例示意图;
[0047]
图5为本发明的实验一模型和rcf各阶段中间层结果;
[0048]
图6为本发明的真实距离场和预测距离场的色度图;
[0049]
图7为本发明的df-cnn模型输出的边缘预测概率图与rcf模型输出的边缘预测概率图的对比图;
[0050]
图8为本发明的df-cnn输出示例;
[0051]
图9为本发明的rcf网络结构示意图。
具体实施方式
[0052]
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述,附图中
给出了本发明的若干实施例,但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例,相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
[0053]
需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件;当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件;本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
[0054]
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同;本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明;本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0055]
实施例
[0056]
参照图1-4,一种基于距离场的神经网络边缘检测算法,包括如下内容:
[0057]
引入距离场函数,其可以获得图像中非边缘点到离其最近边缘点的欧式距离,具体表达式如下:
[0058][0059]
其中d(i,j)和value(i,j)分别表示距离场图中像素点(i,j)的值与边缘图中像素点(i,j)的值。图像边缘点的横纵坐标值分别由m和n表示。
[0060]
基于距离场的神经网络边缘检测算法模型整体搭建。
[0061]
搭建首次提出的距离场分支。
[0062]
基于距离场的神经网络边缘检测算法模型损失函数。
[0063]
本实施例中,还包括有基于距离场的卷积神经网络,具体流程如下:
[0064]
s1.选择使用resnet101代替vgg16,并且去掉所有的全连接层。
[0065]
s2.每个1
×
1的卷积层都连接一个relu层。然后,反卷积层连接到对应的特征图上进行上采样,使模型生成与原始图像相同尺寸的边缘概率图。
[0066]
s3.交叉熵损失函数层仅仅连接到网络中的融合层。
[0067]
s4.卷积神经网络中分别包括有边缘预测概率图与真实边缘图之间的交叉熵损失函数和距离场分支的损失函数。
[0068]
本实施例中,所述距离场分支进行前向传播,将得到与边缘预测概率图相对应的距离场预测图。
[0069]
本实施例中,还包括有基于rfen子网络获得的边缘预测概率图,将被处理后的边缘预测概率图送入距离场分支,获得一个距离场预测图,所述距离场预测图使用mse计算距离场分支的损失值。
[0070]
本实施例中,所述真实边缘图由多个标注者进行标注并存储在bsds500数据集中,所述真实边缘图中有争议的点由阈值法进行处理,其每个像素点的损失函数如下式所示:
[0071][0072]
其中,
[0073][0074]y+
和y-分别代表正样本集和负样本集,超参数λ被用于平衡正样本和负样本,像素点i的卷积神经网络特征向量和真实边缘图中的灰度值分别由xi与lbi表示。p(x)是sigmoid函数,w代表rfen子网络中将被学习的全部参数。
[0075]
本实施例中,所述卷积神经网络中每个卷积阶段产生的损失函数和融合层的损失函数作为整个网络模型的损失函数,对融合模块的损失函数rfen子网络的优化训练,其中rfen的损失函数表达式为
[0076]
其中,代表由融合模块输出的边缘预测图中第i个像素点的激活值,|i|代表图像中像素点的总数量。
[0077]
本实施例中,所述距离场分支的损失函数表达式如下所示:
[0078][0079][0080]
yi和分别代表真实距离场图和距离场预测图中第i个像素点的值,m代表边缘预测概率图中像素点的总数量,代表经过阈值处理后的值,n(x)是sigmoid函数,w1代表距离场分支网络中将被学习的全部参数,超参数η是为了将距离场预测图的值限幅在0-5之间。
[0081]
本实施例中,所述基于距离场的神经网络边缘检测算法模型的损失函数表达式如下所示:
[0082]
l=l(w)+γl
df
[0083]
其中,l(w)和l
df
分别代表rfen子网络和距离场分支网络的损失函数,超参数γ是为了调整距离场分支损失函数在总损失函数中的比重。
[0084]
在本实施例中:
[0085]
步骤1:说明书附图6是一个距离场生成示例,其中,通过计算边缘图中给定的像素点和边缘像素点(像素值为1的点)的最小欧式距离获得距离场图,制作距离场分支的学习标签。
[0086]
步骤2:为了探索将主干网络由vgg16替换成resnet101后的边缘检测效果,具体地,使用resnet101的五个阶段直接替换vgg16网络的五个阶段,接着使用resnet101五个阶段的融合模块作为后续的输入。
[0087]
步骤3:对本发明首次提出的距离场分支概念,为了验证其有效性,在步骤2的基础上,将距离场分支加入网络模型中。
[0088]
完成的具体步骤如下:首先将步骤2模型中的网络参数用于df-cnn模型的rfen子网络初始化并将其冻结;然后对距离场分支进行单独训练,得到一个较好的结果;最后解冻rfen子网络后与距离场分支进行联合训练得到最终结果。
[0089]
本专利所有实验均使用公开的pytorch框架实现网络代码搭建,采用在imagenet数据集上预训练的resnet101模型对实验网络模型初始化,对于其他的sgd超参数,初始的全局学习率被设为1e-2且会根据迭代次数对其进行调整,动量和权重衰减分别被设为0.9和0.0005。模型共被训练30次,损失函数中参数lb和λ的值是根据训练数据来设置,本次所有的实验都是使用一块nvidia gtx 1080ti gpu显卡完成的。
[0090]
边缘检测模型的评估指标主要包括ods(optimal dataset scale)and ois(optimal image scale)。
[0091]
其中,ods是指测试集中所有图像使用固定阈值检测的最优结果,ois是指对每张图像使用其最优阈值进行检测的结果。由模型输出的边缘概率图先是需要经过非极大值抑制处理,然后使用edge box toolkit对其进行指标测量评估。
[0092]
本次的实验,一共使用了三个数据集:bsds500,pascal和nyud。下面对三个数据集进行详细的介绍。
[0093]
bsds500:作为一个传统且经典的边缘检测数据集,bsds500一共由训练集、验证集和测试集三部分构成,其中,训练集包含200张图片,验证集包含100张图片,测试集包含200张图片。由于数据集数量太少,为防止模型训练出现过拟合情况,需要对bsds500数据集进行数据增强,因此利用opencv工具包对bsds500中训练集和验证集包含的300张图片进行旋转,扩展和剪切操作。
[0094]
pascal:pascal作为基准数据集之一,通常被应用于边缘检测、目标检测、图像分割网络对比实验以及模型效果评价任务。训练集中一共包含了11530张被标注的图像,它们都将用于所提出模型的训练。
[0095]
nyud:nyud是一个室内场景的数据集,它包含了1449对rgb图像和深度图像,数据集被分成381、414和654张图片分别用于训练、验证和测试。与rcf中实验参数设置一致,使用训练集和验证集训练网络模型,同样的,为了防止训练过拟合,将训练集和测试集的图片与标注沿4个不同的角度(0,90,180和270度)旋转且在每个角度上翻转。
[0096]
实验一:不同的主干网络:
[0097]
为了探索将主干网络由vgg16替换成resnet101后的边缘检测效果。具体地,实验一使用resnet101的五个阶段直接替换vgg16网络的五个阶段,接着使用resnet101五个阶段的融合模块作为后续的输入。
[0098]
实验结果如表1所示。显而易见,在相同训练集情况下,替换主干网络后,模型将ods指标从0.798提高到0.802。
[0099]
在说明书附图的图5中分别展示了实验一模型和rcf各阶段中间层结果,可以发现
rcf各个阶段的特征图是相似的,但是融合层并没有得到充分利用,虽然实验一模型在前几个阶段的特征图看起来并不尽如人意,但是毫无疑问融合层输出的特征图效果更好。
[0100]
参照说明书附图的图5,从左到右依次是1,2,3,4,5阶段输出,融合层输出,非极大值抑制输出和原始图像;从上到下依次是rcf的输出和实验一模型的输出。
[0101][0102]
实验二:不同训练集:
[0103]
在深度学习任务中,训练集是最基本且重要的因素,它可以直接影响到训练结果。参考以前的工作,这里做一个对比实验,一个实验采用bsds500作为训练集,另一个采用bsds500+pascal作为训练集。实验结果如表2所示,在rcf中,此举将ods指标从0.798提高到0.806;在提出的模型中,将ods指标从0.802提高到0.813。证明了训练集的扩充对训练结果的提高有极大的影响。
[0104][0105]
实验三:增加距离场分支:
[0106]
对于本文首次提出的距离场分支概念,为了验证其有效性,在实验二的基础上,将距离场分支加入网络模型中。实验完成的具体步骤如下:首先将实验二模型中的网络参数用于df-cnn模型的rfen子网络初始化并将其冻结;然后对距离场分支进行单独训练,得到一个较好的结果;最后解冻rfen子网络后与距离场分支进行联合训练得到最终结果,表3展示了实验二(没有距离场分支)和实验三的实验对比结果。实验三中,df-cnn模型拥有两个输出:边缘预测概率图和与其对应的距离场预测图。距离场预测图的值被限幅在0到5之间,说明书附图的图6展示了真实距离场和预测距离场的色度图。
[0107][0108]
实验分析:
[0109]
表4呈现了与其他经典边缘检测算法的数据比较。从实验二到实验三,ods指标从0.813提高到0.818,证明了距离场分支的有效性。从rcf到df-cnn,ods指标从0.806提高到0.818,df-cnn的ods指标比rcf提高了1.2个百分点。
[0110]
对比最近提出的边缘检测技术pidinet[56],如表4所示,pidinet似乎更注重边缘检测的速度,这清楚地表明df-cnn达到了最好的性能,成为了先进的边缘检测技术。与此同时,与rcf相比,df-cnn模型预测速度有些许降低,但也能满足实时需求。此外,df-cnn模型输出的边缘预测概率图与rcf模型输出的边缘预测概率图的对比如说明书附图的图7所示。
[0111]
为了证明df-cnn的有效性,在nyud数据集上对其进行训练。在训练阶段,λ设为1.2,由于nyud数据集中每张图片只有一个真实边缘图,因为不需要设置η参数。其他的网络设置与bsds500数据集一致,在nyud上测试的一些df-cnn输出示例如说明书附图的图8所示。
[0112]
[0113][0114]
说明书附图的图7在bsds500测试集中,df-cnn与rcf输出的边缘概率图的几个比较示例。从左到右依次是原始图像,真实边缘图,df-cnn输出的边缘图和rcf模型输出的边缘图。
[0115]
说明书附图的图8在nyud测试集中,df-cnn与rcf输出的边缘概率图的几个比较示例。从左到右依次是原始图像,真实边缘图,df-cnn输出的边缘图和rcf模型输出的边缘图。
[0116]
以上所述实施例仅表达了本发明的某种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制;应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围;因此,本发明专利的保护范围应以所附权利要求为准。

技术特征:
1.一种基于距离场的神经网络边缘检测算法,其特征在于:包括如下内容:引入距离场函数,其可以获得图像中非边缘点到离其最近边缘点的欧式距离,具体表达式如下:其中d(i,j)和value(i,j)分别表示距离场图中像素点(i,j)的值与边缘图中像素点(i,j)的值,图像边缘点的横纵坐标值分别由m和n表示;基于距离场的神经网络边缘检测算法模型整体搭建;搭建首次提出的距离场分支;基于距离场的神经网络边缘检测算法模型损失函数。2.根据权利要求1所述的一种基于距离场的神经网络边缘检测算法,其特征在于:还包括有基于距离场的卷积神经网络,具体流程如下:s1.选择使用resnet101代替vgg16,并且去掉所有的全连接层;s2.每个1
×
1的卷积层都连接一个relu层,然后,反卷积层连接到对应的特征图上进行上采样,使模型生成与原始图像相同尺寸的边缘概率图;s3.交叉熵损失函数层仅仅连接到网络中的融合层;s4.卷积神经网络中分别包括有边缘预测概率图与真实边缘图之间的交叉熵损失函数和距离场分支的损失函数。3.根据权利要求1所述的一种基于距离场的神经网络边缘检测算法,其特征在于:所述距离场分支进行前向传播,将得到与边缘预测概率图相对应的距离场预测图。4.根据权利要求1所述的一种基于距离场的神经网络边缘检测算法,其特征在于:还包括有基于rfen子网络获得的边缘预测概率图,将被处理后的边缘预测概率图送入距离场分支,获得一个距离场预测图,所述距离场预测图使用mse计算距离场分支的损失值。5.根据权利要求2所述的一种基于距离场的神经网络边缘检测算法,其特征在于:所述真实边缘图由多个标注者进行标注并存储在bsds500数据集中,所述真实边缘图中有争议的点由阈值法进行处理,其每个像素点的损失函数如下式所示:其中,y
+
和y-分别代表正样本集和负样本集,超参数λ被用于平衡正样本和负样本,像素点i的
卷积神经网络特征向量和真实边缘图中的灰度值分别由x
i
与lb
i
表示,p(x是sigmoid函数,w代表rfen子网络中将被学习的全部参数。6.根据权利要求1所述的一种基于距离场的神经网络边缘检测算法,其特征在于:所述卷积神经网络中每个卷积阶段产生的损失函数和融合层的损失函数作为整个网络模型的损失函数,对融合模块的损失函数rfen子网络的优化训练,其中rfen的损失函数表达式为损失函数,对融合模块的损失函数rfen子网络的优化训练,其中rfen的损失函数表达式为其中,代表由融合模块输出的边缘预测图中第i个像素点的激活值,|i|代表图像中像素点的总数量。7.根据权利要求1所述的一种基于距离场的神经网络边缘检测算法,其特征在于:所述距离场分支的损失函数表达式如下所示:距离场分支的损失函数表达式如下所示:y
i
和分别代表真实距离场图和距离场预测图中第i个像素点的值,m代表边缘预测概率图中像素点的总数量,代表经过阈值处理后的值,n(x)是sigmoid函数,w1代表距离场分支网络中将被学习的全部参数,超参数η是为了将距离场预测图的值限幅在0-5之间。8.根据权利要求1所述的一种基于距离场的神经网络边缘检测算法,其特征在于:所述基于距离场的神经网络边缘检测算法模型的损失函数表达式如下所示:l=l(w)+γl
df
其中,l(w)和l
df
分别代表rfen子网络和距离场分支网络的损失函数,超参数γ是为了调整距离场分支损失函数在总损失函数中的比重。

技术总结
本发明提供一种基于距离场的神经网络边缘检测算法,包括如下内容:引入距离场函数,其可以获得图像中非边缘点到离其最近边缘点的欧式距离;基于距离场的神经网络边缘检测算法模型整体搭建;搭建首次提出的距离场分支;基于距离场的神经网络边缘检测算法模型损失函数,提高图像检测中边缘预测图的检测效率,能够检测边缘并且对各种场景问题都是有效的,获得的边缘尽可能地逼近真实边缘。传统的边缘检测算法由于其低准确率使得它们不能得以广泛的应用,解决现有图像处理技术对图像边缘的检测精度低的技术问题。测精度低的技术问题。测精度低的技术问题。


技术研发人员:胡大胆 孙勇 李正荣
受保护的技术使用者:中航华东光电有限公司
技术研发日:2023.05.30
技术公布日:2023/8/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐