本发明涉及图像处理与计算机视觉技术领域,特别涉及一种基于孪生网络的rgbd显著物体检测方法。
背景技术:
显著性物体检测意图自动地检测图像或场景中人眼所关注的区域或物体,其检测结果被称为显著性图,可用于各种计算机视觉应用如目标检测与识别、图像压缩、图像检索、基于内容的图像编辑。尽管现存有许多针对rgb的显著性物体检测模型与算法(即输入图片为单张rgb彩色图像),针对rgbd——即输入为单张rgb彩色图像及其对应的场景深度(depth)图的显著性物体检测方法则一直比较欠缺。随着深度相机如微软kinect、英特尔realsense、以及手机深度相机的逐渐流行,从rgbd输入中检测显著物体的需求越来越大。
目前,利用深度学习及卷积神经网络实现rgbd显著性检测的方法相对较少。chen等人于2018年提出“progressivelycomplementarity-awarefusionnetworkforrgb-dsalientobjectdetection”,该方法采用两路并行的神经网络(两路并行的神经网络结构不一致,参数非共享)对rgb和深度信息分别提取特征再进行融合,虽然其检测效果较传统人工设计特征的方法更好,但两路并行的网络结构在增加模型参数的同时使得整个模型变得更加复杂,不易训练,并且不利于挖掘rgb图和深度图在显著性特征上的共性,因而检测效果在复杂场景下受到局限。
技术实现要素:
针对上述问题,本发明提出一种基于孪生网络的rgbd显著物体检测方法,构建参数共享的孪生神经网络(siamesenetwork)来提取rgb图和深度图的层次化特征,并采用具有融合功能的解码器,将层次化特征进行特征融合后再进行解码,使得rgb信息和深度信息互相补充,提高检测性能。
为了实现上述发明目的,本发明提供了以下技术方案:
一种基于孪生网络的rgbd显著物体检测方法,包括以下步骤:
s1,获取待检测图片的rgb图和深度图;
s2,将rgb图和深度图输入“孪生网络-解码器”神经网络,输出rgbd显著性检测结果,“孪生网络-解码器”神经网络预先经过联合训练,“孪生网络-解码器”神经网络包括孪生网络和解码器;
s2的步骤包括以下步骤:
s21,rgb图和深度图输入孪生网络,输出孪生网络侧通路的rgb和深度层次化特征;
s22,rgb和深度层次化特征输入解码器,输出rgbd显著性检测结果,解码器用于融合rgb特征和深度特征。
作为本发明的优选方案,联合训练“孪生网络-解码器”神经网络的步骤包括:
s31,获取训练图片的rgb图、深度图和相应的期望显著性图;
s32,构建“孪生网络-解码器”神经网络,并设计“孪生网络-解码器”神经网络损失函数,“孪生网络-解码器”神经网络包括孪生网络和解码器;
s33,将rgb图和深度图输入孪生网络,得到相应的rgb显著性图和深度显著性图,并且得到孪生神经网络侧通路的rgb和深度层次化特征;
s34,解码器输入rgb和深度层次化特征,得到融合的显著性图;
s35,将rgb图、深度图、期望显著性图、rgb显著性图、深度显著性图、融合的显著性图代入“孪生网络-解码器”神经网络损失函数,对“孪生网络-解码器”神经网络进行优化。
进一步的,“孪生网络-解码器”神经网络损失函数为孪生网络部分损失函数和解码器部分损失函数的加和,计算公式为:
其中,irgb表示输入的rgb图,id表示输入的深度图,g表示期望显著性图,l表示根据输入irgb和id以及g计算得到的总体损失函数;sf表示解码器输出的融合的显著性图,
作为本发明的优选方案,解码器包括rgb和深度特征融合模块、特征聚合模块、特征压缩模块和特征融合节点,
特征压缩模块接收孪生网络侧通路输出的rgb和深度层次化特征,并输出压缩的rgb和深度层次化特征到rgb和深度特征融合模块;
rgb和深度特征融合模块接收压缩的rgb和深度层次化特征,对压缩的rgb和深度层次化特征进行特征融合,输出rgb和深度融合特征到特征融合节点;
特征融合节点将rgb和深度融合特征通过特征聚合模块进行逐像素相加操作,输出融合的显著性图。
作为本发明的优选方案,rgb和深度特征融合模块中,用于融合rgb特征和深度特征的计算公式为:
其中,cm表示融合操作,xc与xd为从孪生网络同一层次侧通路得到的rgb特征和深度特征,
进一步的,特征聚合模块为非线性特征聚合模块,包括5×5卷积加relu模块和inception模块。
作为本发明的优选方案,孪生网络是两个并行且结构一致、参数共享的网络,每一个并行且结构一致的网络包括vgg-16结构、resnet-50结构和resnet-101结构。
进一步的,当每一个并行且结构一致、参数共享的网络是vgg-16结构时,孪生网络分为主网络和侧通路,主网络包含13个卷积层和6个层次,侧通路分别连接至主网络的6个层次。
进一步的,深度图通过灰度变换映射为3个通道,rgb图分为r通道、g通道和b通道。
基于本发明的相同构思,还提出了一种基于孪生网络的rgbd显著物体检测装置,包括至少一个处理器,以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述方法中任一项的方法。
与现有技术相比,本发明的有益效果:
1、本发明提出一种基于孪生网络的rgbd显著物体检测方法,构建参数共享的孪生神经网络(siamesenetwork)来提取rgb图和深度图的层次化特征,并采用具有融合功能的解码器,将层次化特征进行特征融合后再进行解码,使得rgb信息和深度信息互相补充,提高检测性能,获取精细化的rgbd检测结果。
2、此外利用孪生网络共享rgb图和深度图的模型参数,在训练时更好地挖掘rgb图和深度图在显著性特征上的共性,降低了训练时对训练数据数量的需求,网络更易收敛。
附图说明:
图1为本发明一种基于孪生网络的rgbd显著物体检测方法的流程图;
图2为本发明一种基于孪生网络的rgbd显著物体检测方法的网络结构意图;
图3为本发明实施例1中本发明提出方法和chen等人方法(pcf)的结果对比图;
图4为本发明实施例1中本发明提出方法和chen等人方法(pcf)的准确率-召回率曲线对比图。
具体实施方式
下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
实施例1
一种基于孪生网络的rgbd显著物体检测方法,流程图如图1所示,具体包括以下步骤:
s1:准备训练所需要的训练图片。其中,根据本发明所涉及的rgbd显著性检测任务,训练图片包括原rgb图、对应的深度图,及其对应的期望显著性图。原rgb图和深度图(depth)作为网络输入,而期望显著性图作为对网络输出的预期,用于计算损失函数,对网络进行优化。
s2:设计孪生神经网络结构及具有融合功能的解码器,具体包括:
s2-1:设计孪生神经网络部分。孪生网络实际由两个并行并且所有参数共享、结构一致的网络实现,可以是vgg-16结构,resnet-50结构和resnet-101结构等。两个并行的网络分别对rgb图和深度图进行处理,并分别从中获得粗糙的显著性检测结果。实际中,孪生网络就是用同一个网络来处理不同的对象,对输入的rgb图和深度图进行并行处理后分别得到粗糙rgb显著性图和粗糙深度显著性图。
s2-2:设计具有融合功能的解码器部分。解码器对由孪生神经网络侧通路得到的相应的rgb和深度层次化特征进行利用,进行特征融合操作,融合rgb特征和深度特征的计算公式如公式(1)所示:
其中,cm表示融合操作,xc与xd为从孪生网络在同一层次侧通路得到的rgb特征和深度特征。
解码器对融合后的特征cm({xc,xd})进行自顶向下、由粗至精的解码,最后由解码器输出精细化的rgbd显著性检测结果。
s2-3:设计总体网络损失函数为孪生网络部分损失函数和解码器部分损失函数的加和。总体损失函数定义如公式(2)所示:
其中,irgb表示输入的rgb图,id表示输入的深度图,g表示期望显著性图,亦即真实结果,l表示根据输入irgb和id以及g计算得到的总体损失函数,sf表示解码器输出的精细的显著性图,
s3:网络的训练优化,用s1中准备的训练图片,对孪生网络部分和解码器部分进行联合训练,计算总体损失函数l并通过梯度反向传播的迭代优化方式来对网络参数进行调整,当反向迭代次数达到预设的迭代阈值时,完成联合训练。
s4:利用训练好的网络,输入rgb图像和深度图,通过网络的前向传播,从解码器获取精化的rgbd显著性检测结果作为最终结果。
实施例2
在本实施例中,孪生神经网络部分基于常见的vgg-16网络结构,取其conv1_1~pool5部分,分为主网络和侧通路,共包含13个卷积层,6个层次。从上到下依次为conv1_1~1_2,conv2_1~2_2,conv3_1~3_3,conv4_1~4_3,conv5_1~5_3,pool5。主网络输入分辨率为320×320,输出分辨率为20×20。另外还有6条侧通路(侧通路1-侧通路6),分别连接至主网络的6个层次的输出即conv1_2,conv2_2,conv3_3,conv4_3,conv5_3,pool5,每条侧通路由2层卷积层构成,由浅到深、从上到下的侧通路输出分辨率依次为320×320(侧通路1),160×160(侧通路2),80×80(侧通路3),40×40(侧通路4),20×20(侧通路5),20×20(侧通路6),网络结构示意图如图2所示,图中cp模块表示通道数为64的3×3卷积,用于将不同层次的特征通道数调整至64以便后续解码,孪生神经网络部分的输出为cp6后接入的单通道1×1卷积加sigmoid激励函数。
解码器部分采用自顶向下、由粗到精的解码结构。其中,cm是rgb和深度特征融合模块,基于公式(1)的原理,对rgb和深度层次化特征进行融合。fa表示非线性特征融合模块,本实施例中为5×5卷积加relu,也可以替换为其他非线性特征融合模块(不改变特征通道数)如inception模块等。图中⊕表示特征的逐像素相加运算模块,将所有输入该模块的特征进行相加后输出。图2中虚线所示为可选的上采样操作,用于将特征图上采样到该节点最大的输入尺寸再进行逐像素相加。
综上,本实施例中,整个网络包含孪生网络和解码器两大部分,孪生网络输出为rgb和深度分别对应的粗糙显著性图,解码器输出为精化后的rgbd显著性图,亦即最终结果,然后按照如下详细步骤进行处理:
根据步骤s1准备所需要的训练图片,其中训练图片包括原图、对应的深度图、对应的期望显著性图结果。
根据步骤s2及步骤s2-1、s2-2、s2-3,设计如图2所示的孪生网络部分和解码器部分,以及对应的损失函数,具体包括以下步骤:
s2-1:设计孪生网络部分,如图2所示。孪生网络换言之即用同一神经网络并行处理不同的输入数据,在本实施例中将输入rgb和深度图构成一个批次(batch),然后让孪生网络主干(基于vgg-16)并行处理这样的批次。由于rgb为r、g、b的3通道图像,而深度图一般为单通道图像,为了共享孪生网络,本实施例中将深度图通过灰度变换映射为3通道,保持与rgb图的一致性。最后,孪生网络输出为rgb图和深度图分别对应的粗糙显著性检测结果,如图2所示。
s2-2:设计具有融合功能的解码器部分,如图2所示。解码器对由孪生网络侧通路得到的相应的rgb和深度层次化特征进行利用,先对特征进行特征融合操作,由cm模块实现,之后对cm模块融合后的特征进行自顶向下、由粗至精的解码,最后由解码器输出精细化的rgbd显著性检测结果。
s2-3:设计总体网络损失函数为孪生网络部分和解码器部分的损失函数的加和。
根据步骤s3对网络进行训练优化,用s1中准备的训练图片,对孪生网络部分和解码器部分进行联合训练,计算总体损失函数l并通过梯度反向传播的迭代优化方式来对网络参数进行调整。
利用s3训练好的网络预测结果,输入rgb图像和深度图,通过网络的前向传播,从解码器获取精化的rgbd显著性检测结果作为最终结果。本实施例得到的rgbd显著性检测结果如图3、图4所示。
本文所述的一个或多个实施方案涉及计算机存储产品,所述计算机存储产品具有用于执行各种计算机实现的操作的指令或计算机代码的非暂时性计算机可读介质(也可称为非暂时性处理器可读介质)。计算机可读介质(或处理器可读介质)在其本身不包括暂时传播信号(例如,在诸如空间或电缆的传输介质上承载信息的传播电磁波)的意义上是非暂时性的。介质和计算机代码(也可称为代码或算法)可以是为特定目的而设计和构造的那些代码或算法。非暂时性计算机可读存储介质的实例包括但不限于:磁性介质,诸如硬盘、软盘和磁带;光学介质,诸如压缩盘/数字视频盘(cd/dvd)、压缩盘只读存储器(cd-rom)和全息装置;磁光存储介质,诸如光盘;载波信号处理模块;以及专门被配置用于存储和执行程序代码的硬件装置,诸如专用集成电路(asic)、可编程逻辑装置(pld)、只读存储器(rom)以及随机存取存储器(ram)装置。本文所述的其他实施方案涉及计算机程序产品,所述计算机程序产品可包括例如本文所公开的指令和/或计算机代码。
本文所述的一个或多个实施方案和/或方法可由软件(在硬件上执行)、硬件或其组合来执行。硬件模块可包括例如通用处理器(或微处理器或做控制器)、现场可编程门阵列(fpga)和/或专用集成电路(asic)。软件模块(在硬件上执行)可用多种软件语言(例如计算机代码)表达,包括c、c 、
虽然上文已经描述各种实施方案,但应了解,所述实施方案仅以举例的方式而不是以限制性的方式来呈现。虽然如上所述的方法指示某些事件以一定顺序发生,但是某些事件的排序可变化。另外,某些事件在可能的情况下可在并行过程中同时执行,以及如上所述依序执行。
1.一种基于孪生网络的rgbd显著物体检测方法,其特征在于,包括以下步骤:
s1,获取待检测图片的rgb图和深度图;
s2,将所述rgb图和所述深度图输入“孪生网络-解码器”神经网络,输出rgbd显著性检测结果,所述“孪生网络-解码器”神经网络预先经过联合训练,所述“孪生网络-解码器”神经网络包括孪生网络和解码器;
s2的步骤包括以下步骤:
s21,所述rgb图和所述深度图输入所述孪生网络,输出孪生网络侧通路的rgb和深度层次化特征;
s22,所述rgb和深度层次化特征输入所述解码器,输出rgbd显著性检测结果,所述解码器用于融合rgb特征和深度特征。
2.如权利要求1所述的一种基于孪生网络的rgbd显著物体检测方法,其特征在于,联合训练“孪生网络-解码器”神经网络的步骤包括:
s31,获取训练图片的rgb图、深度图和相应的期望显著性图;
s32,构建“孪生网络-解码器”神经网络,并设计“孪生网络-解码器”神经网络损失函数,所述“孪生网络-解码器”神经网络包括孪生网络和解码器;
s33,将所述rgb图和所述深度图输入所述孪生网络,得到相应的rgb显著性图和深度显著性图,并且得到孪生神经网络侧通路的rgb和深度层次化特征;
s34,所述解码器输入所述rgb和深度层次化特征,得到融合的显著性图;
s35,将所述rgb图、深度图、期望显著性图、rgb显著性图、深度显著性图、融合的显著性图代入所述“孪生网络-解码器”神经网络损失函数,对所述“孪生网络-解码器”神经网络进行优化。
3.如权利要求2所述的一种基于孪生网络的rgbd显著物体检测方法,其特征在于,所述“孪生网络-解码器”神经网络损失函数为孪生网络部分损失函数和解码器部分损失函数的加和,计算公式为:
其中,irgb表示输入的rgb图,id表示输入的深度图,g表示期望显著性图,l表示根据输入irgb和id以及g计算得到的总体损失函数;sf表示解码器输出的融合的显著性图,
4.如权利要求1或2所述的一种基于孪生网络的rgbd显著物体检测方法,其特征在于,所述解码器包括rgb和深度特征融合模块、特征聚合模块、特征压缩模块和特征融合节点,
所述特征压缩模块接收所述孪生网络侧通路输出的rgb和深度层次化特征,并输出压缩的rgb和深度层次化特征到所述rgb和深度特征融合模块;
所述rgb和深度特征融合模块接收所述压缩的rgb和深度层次化特征,对所述压缩的rgb和深度层次化特征进行特征融合,输出rgb和深度融合特征到所述特征融合节点;
所述特征融合节点将所述rgb和深度融合特征通过所述特征聚合模块进行逐像素相加操作,输出所述融合的显著性图。
5.如权利要求4所述的一种基于孪生网络的rgbd显著物体检测方法,其特征在于,所述rgb和深度特征融合模块中,用于融合rgb特征和深度特征的计算公式为:
其中,cm表示融合操作,xc与xd为从孪生网络同一层次侧通路得到的rgb特征和深度特征;⊕表示逐像素相加操作,而
6.如权利要求4所述的一种基于孪生网络的rgbd显著物体检测方法,其特征在于,所述特征聚合模块为非线性特征聚合模块,包括5×5卷积加relu模块和inception模块。
7.如权利要求1或2所述的一种基于孪生网络的rgbd显著物体检测方法,其特征在于,所述孪生网络是两个并行且结构一致、参数共享的网络,每一个所述并行且结构一致的网络包括vgg-16结构、resnet-50结构和resnet-101结构。
8.如权利要求7所述的一种基于孪生网络的rgbd显著物体检测方法,其特征在于,当每一个所述并行且结构一致、参数共享的网络是vgg-16结构时,所述孪生网络分为主网络和侧通路,所述主网络包含13个卷积层和6个层次,所述侧通路分别连接至所述主网络的6个层次。
9.如权利要求7所述的一种基于孪生网络的rgbd显著物体检测方法,其特征在于,所述深度图通过灰度变换映射为3个通道,所述rgb图分为r通道、g通道和b通道。
10.一种基于孪生网络的rgbd显著物体检测装置,其特征在于,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至9中任一项所述的方法。
技术总结