一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

语义分割方法和语义分割装置与流程

2021-12-04 12:19:00 来源:中国专利 TAG:


1.本技术涉及计算机视觉领域,更具体地,涉及一种语义分割方法和语义分割装置。


背景技术:

2.语义分割(semantic segmentation)是计算机视觉中最重要的内容之一。随着计算机视觉算法的飞速发展,基于卷积神经网络的语义分割算法是近年来计算机视觉研究领域最重要、最热门的研究内容之一,相关算法和技术在工业界有了越来越广泛的应用。当前,语义分割算法已经广泛应用于工业制造、医学图像处理、自动驾驶、智慧城市等领域,对工业生产力造成了巨大影响。
3.航拍图像语义分割是语义分割的一个研究分支。在无人机的俯视视角下,航拍图像中不同语义的物体或者场景具有了全新的尺寸和形状,目前基于卷积神经网络(convolutional neural networks,cnn)的航拍图像语义分割网络在语义训练过程中,由于数据集的选取存在的局限性,基于cnn的航拍图像语义分割网络无法获取深层的特征信息,语义信息获取的语义信息不够丰富,这样可能导致最终的语义分割结果准确率不高,分割效果不好。


技术实现要素:

4.本技术提供一种语义分割方法和语义分割装置,有利于提高语义分割的准确率,提升分割效果。
5.第一方面,提供了一种语义分割方法,包括:获取目标图像,该目标图像包括航拍得到的红

绿

蓝(red

green

blue,rgb)图像和深度图像,该深度图像是根据该rgb图像确定的。将该目标图像输入至语义分割网络,通过该语义分割网络对该目标图像进行特征提取,获取该目标图像的深度信息和语义信息,该特征提取包括细节特征提取、边缘特征提取、深度特征提取以及上下文特征提取。通过该语义分割网络对该深度信息和该语义信息进行特征融合,得到该目标图像的语义分割图像。
6.在本技术中,输入的目标图像包括rgb图像和根据该rgb图像得到的深度图像,通过语义分割网络对该rgb图像和深度图像进行特征提取,可以获取深度信息和以及更加丰富的语义信息,并将深度信息和语义信息进行融合,其中深度信息有利于提高对目标图像中物体边缘的分割精度,从而有利于提高语义分割网络的分割效果。
7.结合第一方面,在第一方面的某些实现方式中,该语义信息包括空间细节信息、边缘特征信息以及全局特征信息。
8.在本技术中,通过网络分割模型可以得到多个维度的丰富的语义信息,这样有利于提高网络分割模型语义分割的准确率。
9.结合第一方面,在第一方面的某些实现方式中,通过该语义分割网络对该目标图像进行特征提取,获取该目标图像的深度信息和语义信息,包括:通过该语义分割网络对该rgb图像进行细节特征提取,获取该rgb图像的空间细节信息。通过该语义分割网络对该rgb
图像进行边缘特征提取,获取该rgb图像的边缘特征信息。通过该语义分割网络对该rgb图像进行上下文特征提取,获取该rgb图像的全局特征信息。通过该语义分割网络对该深度图像进行深度特征提取,获取该深度图像的深度信息。
10.结合第一方面,在第一方面的某些实现方式中,通过损失函数计算该语义分割网络的损失,该损失函数表示如下:
[0011][0012]
其中,w
k
表示第k类语义类别的权重因子,表示对应于(i,j)像素位置的语义类别为k的网络输出,表示对应于(i,j)像素位置的语义类别为t的网络输出,m表示当前训练批次中的第m张图像。
[0013]
在本技术中,通过在损失函数中引入语义类别的权重,有利于提高对低频语义分割的准确率。
[0014]
结合第一方面,在第一方面的某些实现方式中,通过该语义分割网络对该深度信息和该语义信息进行特征融合,得到该目标图像的语义分割图像,包括:通过该语义分割网络对该深度信息和该语义信息进行特征融合,得到该目标图像的特征图。通过该语义分割网络对该特征图进行上采样,得到与该目标图像大小相等的语义分割图像。
[0015]
第二方面,提供了一种语义分割装置,用于执行上述第一方面中任一种可能的实现方式中的方法。具体地,该装置包括用于执行上述第一方面中任一种可能的实现方式中的方法的模块。
[0016]
第三方面,提供了一种提供了另一种语义分割装置,包括处理器,该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述第一方面中任一种可能实现方式中的方法。可选地,该装置还包括存储器。可选地,该装置还包括通信接口,处理器与通信接口耦合。
[0017]
在一种实现方式中,该语义分割装置为语义分割设备。当该语义分割装置为语义分割设备时,通信接口可以是收发器,或,输入/输出接口。
[0018]
在另一种实现方式中,该语义分割装置为配置于语义分割设备中的芯片。当该语义分割装置为配置于语义分割设备中的芯片时,通信接口可以是输入/输出接口。
[0019]
第四方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述第一方面中任一种可能实现方式中的方法。
[0020]
在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本技术对处理器及各种电路的具体实现方式不做限定。
[0021]
第五方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器
中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述第一方面中任一种可能实现方式中的方法。
[0022]
可选地,处理器为一个或多个,存储器为一个或多个。
[0023]
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
[0024]
在具体实现过程中,存储器可以为非瞬时性(non

transitory)存储器,例如只读存储器(read only memory,rom),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术对存储器的类型以及存储器与处理器的设置方式不做限定。
[0025]
应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收能力信息可以为处理器接收输入能力信息的过程。具体地,处理输出的数据可以输出给发射器,处理器接收的输入数据可以来自接收器。其中,发射器和接收器可以统称为收发器。
[0026]
上述第五方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
[0027]
第六方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
[0028]
第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
附图说明
[0029]
图1是本技术实施例提供的一种语义分割网络的示意图;
[0030]
图2是本技术实施例提供的一种sfm的网络结构示意图;
[0031]
图3是本技术实施例提供的一种efm的网络结构示意图;
[0032]
图4是本技术实施例提供的一种cfm的网络结构示意图;
[0033]
图5是本技术实施例提供的一种dfm的网络结构示意图;
[0034]
图6是本技术实施例提供的一种mfm的网络结构示意图;
[0035]
图7是本技术实施例提供的一种语义分割方法的示意性流程图;
[0036]
图8是本技术实施例提供的一种语义分割装置的示意性框图;
[0037]
图9是本技术实施例提供的另一种语义分割装置的示意性框图。
具体实施方式
[0038]
下面将结合附图,对本技术中的技术方案进行描述。
[0039]
为便于理解,首先对本技术实施例所涉及的术语进行简单介绍。
[0040]
1、神经网络(neural network,nn):是一种模仿生物大脑结构进行数据处理的计算系统。生物大脑内部是由大量的神经元通过不同的连接方式组合而成,前一个神经元与后一个神经元之间是通过突触结构连接起来进行信息传递的。
[0041]
神经网络中的每个节点模拟一个神经元,可以执行某个特定的运算,例如激活函数。节点之间的连接模拟神经突触,突出的权重值代表了两个神经元之间的连接强度。神经网络具有强大的非线性、自适应、容错性的信息处理能力。
[0042]
本文涉及到的是卷积神经网络cnn,cnn是一种深度学习模型或者类似于人工神经网络的多层感知器,常用于分析视觉图像。cnn一般包括数据输入层(input layer)、卷积计算层(conv layer)、激活层(activating layer)、池化层(pooling layer)以及全连接层(fc layer)。其中,数据输入层主要是对原始数据进行预处理。卷积计算层是cnn最重要的一个层次,用于对预处理后的数据进行特征提取。激活层用于将卷积计算层输出的结果进行非线性映射,激活层一般采用的激活函数为修正线性单元(the rectified linear unit,relu),此时激活层可称为relu层,具有收敛快、求梯度简单等特点。池化层位于连续的卷积计算层之间,用于压缩数据和参数的规模,减小过拟合。如果输入的是图像,那么池化层的主要作用就是压缩图像。全连接层是指两层之间的神经元都有权重连接,全连接层通常位于cnn的尾部。
[0043]
2、神经网络训练(neural network training):是指针对某个特定的任务产生大量的训练数据,并将该大量的训练数据输入至神经网络中,通过一定的算法调整网络的结构(主要是权值的调节),使得网络的输出与预期值相符。
[0044]
与一般的机器学习算法类似,在训练cnn时需要先定义一个损失函数(loss function),用于衡量网络的预测结果与真实结果之间的差距,再通过迭代方法对损失函数进行迭代,调整网络的权值,直至找到可以最小化损失函数的权重值w和偏差值b,此时可以认为网络收敛。示例性地,迭代方法可以是随机梯度下降(stochastic gradient descent,sgd)。
[0045]
3、归一化(normalization):指使用一定的方法使得特诊工程中的特征实现缩放,减少不同量纲的特征的额外影响,或者加快学习算法的收敛速度和学习速度。在本技术实施例中归一化是指为了实现加快网络的收敛速度和学习速度而采用的方法。
[0046]
4、批归一化(batch normalization,bn):在无法将数据一次性输入至神经网络的时候,可以将数据分成几个小的数据集进行输入,被分成的小数据集被称为批(batch)。bn是对一个训练批次整体进行归一化,再用一个线性函数对归一化后的值进行修正的过程,是一个可学习、有参数的网络层。bn层的主要作用是让每个隐藏层中的神经元的输入分布稳定,这样做一方面可以显著加快训练速度,另一方面可以有效避免深度网络中的梯度危机。
[0047]
目前,基于cnn的航拍图像语义分割网络在语义分割的训练过程中,数据集的选取存在很大的局限性。一方面,可用的图像数据集大多是街景场景和室内场景的,无法直接应用于航拍视角的语义分割任务。即使存在俯视视角的卫星图,但是部分卫星图的语义信息相对单一,并且卫星图的视角和高度与无人机拍摄的航拍图像具有很大差异,无法适用于无人机航拍图像的语义分割任务。另一方面,部分航拍图像数据集往往针对特定的应用场景,语义不够丰富。例如,有的着重于特定目标检测,有的注重于建筑分割,这样的数据集本身具有较强的场景局限性。
[0048]
此外,当前基于cnn的航拍图像语义分割网络无法获取到航拍图像的深层特征信息。因此,将当前的航拍图像数据集应用于航拍视角的语义分割任务时,由于航拍图像训练
数据集以及现有语义分割网络对特征提取的局限性,导致语义分割网络无法获取丰富的特征信息,导致最终的语义分割结果不准确,分割效果不好。
[0049]
有鉴于此,本技术实施例提供一种语义分割方法和语义分割装置,通过构建一个多路融合的语义分割网络来充分提取航拍图像的语义信息和深度信息,并且通过特征融合机制对浅层特征和深层特征进行融合,这样,语义分割网络可以获取航拍图像不同维度的特征信息,有利于提高航拍图像语义分割的准确率,提升分割效果。
[0050]
在介绍本技术实施例提供的语义分割方法和语义分割装置之前,先做出以下几点说明。
[0051]
第一,在下文示出的实施例中,各术语及英文缩略语,如rgb图像、深度图像、语义分割网络等,均为方便描述而给出的示例性举例,不应对本技术构成任何限定。本技术并不排除在已有或未来的协议中定义其它能够实现相同或相似功能的术语的可能。
[0052]
第二,在下文示出的实施例中第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本技术实施例的范围。例如,区分不同的系数等。
[0053]
第三,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
[0054]
图1是本技术实施例提供的一种语义分割网络100的示意图。语义分割网络100包括空间细节提取模块(spatial feature module,sfm)110、边缘特征提取模块(edge feature module,efm)120、上下文特征提取模块(context feature module,cfm)130、深度特征提取模块(depth feature module,dfm)140以及多路特征融合模块(multi

feature fusion module,mfm)150。语义分割网络100的输入是航拍图像,语义分割网络100的输出是该航拍图像的语义分割图像。
[0055]
在本技术实施例中,语义分割网络的输入的是彩色深度(rgb

d)的航拍图像,也就是说输入的航拍图像包括rgb图像和深度图像,该深度图是根据rgb图像得到的。
[0056]
其中,图像的语义分割是指对图像中的物体按类别进行分割,例如,用不同的颜色代表不同类别的物体,也就是给分割后图像中的每一类物体添加标签。
[0057]
上述sfm 110用于提取rgb图像的空间细节信息。efm 120用于提取rgb图像的边缘特征信息。cfm 130用于提取rgb图像的全局特征信息。dfm 140用于提取深度图像的深度信息。mfm 150用于将上述sfm 110、efm120、cfm 130以及dfm 140提取的特征信息进行融合,最终输出语义分割图像。
[0058]
下面将结合图2

图5分别介绍上述sfm 110、efm 120、cfm 130以及dfm 140的网络结构。
[0059]
图2是本技术实施例提供的一种sfm的网络结构示意图。如图2所示,sfm 110的输入是rgb图像,经过6层卷积计算层对rgb图像进行细节特征提取,输出航拍图像的空间细节信息。
[0060]
上述卷积计算层为稀疏连接的3x3卷积核,每层卷积计算层后都添加有bn层和
relu层。其中,卷积核的作用在于特征提取,为了保证细节特征的丰富性,可以增加卷积核尺寸以提取更多的细节特征,也就是说越大的卷积核尺寸可以带来更大的感受野,但是过多的细节特征可能会导致网络出现过拟合现象。因此,如图2所示,可以在连续三层卷积计算层之后添加池化层,以防止网络训练的过拟合。同时,为了防止bn层在归一化处理过程中将学习到的特征丢失,导致网络出现欠拟合现象,可以在sfm 110的网络结构中增加用于特征修正的可学习的线性参数,一方面可以补偿归一化过程中的特征丢失,另一方面在训练过程中可以进一步提取和强化特征。
[0061]
图3是本技术实施例提供的一种efm的网络结构示意图。如图3所示,efm 120的输入是rgb图像,经过4层卷积计算层对rgb图像进行边缘特征提取,输出航拍图像的边缘特征信息。上述卷积计算层为稀疏连接的3x3卷积核,每层卷积计算层后增加了bn层和relu层,同样地,为了防止出现过拟合现象,可以在每连续两层卷积计算层之后添加池化层。
[0062]
具体地,efm 120在获取输入的rgb图像之后,首先通过canny边缘检测算法得到rgb图像的边缘图像,然后用卷积核提取边缘图像的特征,得到边缘图像的边缘特征信息。由于边缘图像具有稀疏性,蕴含的信息远少于rgb图像的信息,当卷积核较小时,大量的卷积核会失效,这会造成计算资源的浪费。因此可以先对边缘图像进行下采样(例如,1/4下采样),将图像的规模降低,减少计算量并增加感受野,然后再用3
×
3的卷积核进行特征提取,得到边缘图像的边缘特征信息。
[0063]
图4是本技术实施例提供的一种cfm的网络结构示意图。如图4所示,cfm 130的输入是rgb图像,经过骨干(backbone)网络和空洞空间卷积池化(atrous spatial pyramid pooling,aspp)网络对rgb图像进行上下文特征提取,输出航拍图像的全局特征信息。
[0064]
示例性地,为了降低参数规模,增加感受野,上述骨干网络可以采用残差网络(residual network,resnet)101,其中,101是该残差网络的层数。resnet 101采用了瓶颈层,可以在较低参数量的前提下,搭建具有充分大深度的网络。并且由于resnet 101中存在跳跃连接,可以使得网络具有较低的收敛难度。此外,尽管resnet 101的深度较大,也就是层数较多,容易出现梯度爆炸和梯度消失的问题,但是由于resnet 101具有瓶颈层机制和relu激活函数,仍然可以有效避免梯度爆炸和梯度消失的问题。
[0065]
示例性地,aspp网络可以设置1x1、7x7、9x9、11x11共四种不同尺度的空洞卷积来提取多尺度的特征,这样有利于增加语义分割网络的感受野,同时考虑了相同类别的物体可能具有不同尺度,能够让语义分割网络对不同尺度的语义要素达到较好的分割结果。
[0066]
图5是本技术实施例提供的一种dfm的网络结构示意图。如图5所示,dfm 140的输入是深度图像,经过4层卷积计算层对深度图像进行深度特征提取,输出航拍图像的深度信息。
[0067]
dfm 140的网络结构类似于计算机视觉组(visual geometry group,vgg)16的特征提取层,每层设置3x3卷积核,4层卷积计算层的通道数量分别为64、128、256、512。其中,vgg 16中的16表示该vgg网络的层数。每层卷积计算层后增加了bn层和relu层。为了防止出现过拟合现象,可以在每连续两层卷积计算层之后添加池化层。
[0068]
相比于rgb图像输入的3通道的数据,深度图像输入的是1通道的数据,信息丰富程度低于rgb图像,因此可以将dfm 140网络的参数规模进行降低,以降低语义分割网络的总体复杂度。
[0069]
在通过上述图2

图5所示的网络结构分别提取到输入图像的细节特征、边缘特征、上下文特征以及深度特征之后,可以将这些特征信息输入至mfm150进行特征融合,以得到不同维度的更加丰富完整的特征图。
[0070]
图6是本技术实施例提供的一种mfm的网络结构示意图。如图6所示,mfm 150的输入是经过上述sfm 110、efm 120、cfm 130以及dfm 140提取得到的语义信息和深度信息,经过卷积网络的乘法和加法结构,将不同规模的信息融合在一起,输出航拍图像的语义分割图像。其中,语义信息输入的融合层(concatenate)用于将经过sfm 110、efm 120以及cfm 130提取的各个层面的特征(即空间细节信息、边缘特征信息以及全局特征信息)进行融合。这里的融合层是将不同维度的浅层特征进行拼接融合,得到初步融合的一级融合特征图。
[0071]
为了让不同维度的特征进一步得到更加充分的融合,此处引入乘法加法非线性结构,对于初步融合后的一级融合特征图,再进一步通过卷积网络学习更深层的融合权重,即经过2层卷积层,并且在每层卷积计算层后增加了bn层和relu层,从而得到具有一定融合权重的特征图,将这个具有权重的融合图与一级融合特征图通过乘法层(mul)相乘,就得到二级融合特征图。乘mul是乘法结构层,常用于在神经网络中引入非线性结构,使得卷积神经网络能够学习更多更复杂的非线性关系,从而挖掘各个特征图之间的潜在关系,提取更深层次的特征。
[0072]
叠加层(add)用于将融合的一级融合特征图和二级融合特征图进行叠加,得到最终的融合特征图。应理解,此处的叠加层不同于融合层。融合层是将特征图拼接,增加了特征图的维度,而叠加层可以使得特征图的信息量增多,尽管特征图自身的维度并没有增加,但是每一个纬度上的信息量增加了,在训练的过程中,能够通过学习获得更加鲁棒的特征。
[0073]
图1所示的语义分割网络还包括上采样模块(up sampling module,usm),用于在经过mfm 150进行特征融合之后,获取和原始图像大小相等的语义分割图像。由于usm不要求充分的特征提取过程,因此在对特征融合得到的特征图做上采样时,可以适当降低参数量,从而降低语义分割网络的总体规模,提高语义分割网络的收敛速度。具体地,usm可以采用无需训练的重设大小(resize)方法来获取与原始图像大小相等的语义分割图。
[0074]
应理解,resize方法用于对图像的大小进行调整。由于图像输入是转换为向量(或矩阵)输入的,而向量的维度一般是固定的,因此在转换过程中改变了原始图像的大小,所以在得到特征图之后,还需要采用resize方法调整特征图的大小,获取与原始图像的大小相等的语义分割图像。
[0075]
在搭建好上文所描述的语义分割网络之后,需要输入大量的航拍图像数据集对该语义分割网络进行训练,使得网络的输出值与预期值相符。因此需要构建一个适用于语义分割任务的航拍图像数据集。
[0076]
现有的航拍图像数据集不包括航拍图像的深度信息,而深度信息有利于降低语义分割过程中对航拍图像中的建筑边缘的分割难度,提高对建筑和地面分割的精度。
[0077]
因此,本技术实施例构建了一个航拍图像数据集,该数据集中同时包括航拍图像的深度信息和语义信息。在构建航拍图像数据集时,需要对航拍得到的原始图像进行标注,获得带标签的图像。本技术实施例主要标注航拍图像数据集中的道路、人行道、公园里的小路等语义信息,以及绿地、广场、操场等人流和车辆比较聚集的区域。同时考虑到数据集的可扩展性应用,还对水域、天空等面积比较大的区域进行了标注,以及对操场、车辆等特殊
语义进行标注。表一示出了各种不同语义的标注内容。
[0078]
表一
[0079][0080]
其中,建筑可以包括教学楼、居民楼、体育馆、办公楼等。绿地可以包括草地、树林等。水域可以包括河流、湖泊、海洋等。车辆可以包括运输车、公共汽车、轿车、工程车等。前景物体可以包括行人、船只、路灯等。应理解,此处的操场是区别于广场和绿地的特殊语义,看台是一种特殊的建筑,本技术实施例对这类特殊的语义也进行了标注。
[0081]
在构建好带有标注的航拍图像数据集之后,可以将该航拍图像数据集输入至上述语义分割网络中对语义分割网络的连接权重进行训练,直到语义分割网络收敛,得到一个训练好的语义分割网络。这样该训练好的语义分割网络可用于之后的航拍图像的语义分割任务。
[0082]
实验中发现语义分割结果具有很低的平均交并比(intersection over union,iou),这是因为在通过语义分割网络计算损失函数时,是对每一个像素的柔性最大值传输函数(softmax)损失进行求和。对于低频语义,如车辆、公园里的小路等语义,语义分割网络倾向于将他们分为高频语义,如建筑、绿地等。这样导致的结果是,低频语义的iou很低,车辆、小路等语义被语义分割网络所忽视。
[0083]
为了解决航拍图像数据集中语义分布不均衡,即语义频率不一致导致对低频语义分割不准确的问题,本技术实施例可以针对不同的语义类别,引入不同语义类别的频率先验信息,将语义类别的频率的倒数平滑后作为损失函数的权重,例如,可以在一般的softmax损失函数前添加一个权重,本技术实施例将添加权重后的softmax损失函数称为权重损失函数。其中,softmax的损失函数称作softmax损失函数,softmax是一个全连接层,可
以将卷积计算层计算后的多个神经元的输出映射到(0,1)区间,给出每种语义类别的概率情况。
[0084]
权重损失函数可以使频率越低的语义类别对应的权重越大,改变语义分割网络对不同语义的注意力,从而可以对低频语义给予更多的关注,这样有利于语义分割网络将对应像素标注为正确的语义类别,提高语义分割网络语义分割的准确率。
[0085]
示例性地,该权重损失函数表示如下:
[0086][0087]
其中,w
k
表示第k类语义类别的权重因子,用来调整对不同语义的错误惩罚程度,从而使得结果更加接近于真实的语义频率分布。是对应于(i,j)像素位置的语义类别为k的网络输出,在训练过程中体现在语义分割网络的输出层。通过交叉熵损失函数,将各个类别的网络输出进行指数求和,并与各个类别的指数相除,就得到每个类别的归一化的网络输出结果,其物理含义是对应像素点被标注为类别k的概率。对这个归一化的结果取负对数,并与语义权重因子相乘,就得到每个像素点的损失函数。对图像的每个像素点的损失函数相加就得到单张图像的损失函数。m表示当前训练批次中的第m张图像,因此将m张图像的损失函数叠加,就得到每个训练批次的损失函数。
[0088]
在通过上述构建语义分割网络、构建航拍图像数据集以及设置损失函数可以对该语义分割网络进行训练,在语义分割网络收敛之后,可以得到一个训练好的语义分割网络,在实际使用过程中可将航拍图像输入至该训练好的语义分割网络,得到语义分割图像,以实现航拍图像的语义分割任务。下面将结合图7对本技术实施例提供的语义分割方法进行详细描述。
[0089]
本技术实施例提供的语义分割方法的步骤和/或流程可以由语义分割设备来执行,示例性地,该语义分割设备可以是具有执行语义分割方法的步骤和/或流程的功能的服务器,还可以是其他具有执行语义分割方法的功能的设备,本技术实施例在此不作限制。
[0090]
图7是本技术实施例提供的一种语义分割方法700的示意图。方法700包括如下步骤:
[0091]
s701,获取目标图像,该目标图像包括航拍得到的rgb图像和深度图像,该深度图像是根据该rgb图像确定的。
[0092]
s702,将该目标图像输入至语义分割网络,通过该语义分割网络对该目标图像进行特征提取,获取该目标图像的深度信息和语义信息,该特征提取包括细节特征提取、边缘特征提取、深度特征提取以及上下文特征提取。
[0093]
s703,通过该语义分割网络对该深度信息和该语义信息进行特征融合,得到该目标图像的语义分割图像。
[0094]
应理解,本技术实施例中的语义分割网络为上述训练好的语义分割网络,通过训练好的语义分割网络可快速得到该目标图像的语义分割图像。
[0095]
在本技术实施例中,为了通过语义分割网络获取目标图像的深度信息,可以将航拍得到的rgb图像经过多视角立体算法的计算生成深度图像,并将rgb图像和深度图像一起输入至训练好的语义分割网络,该训练好的语义分割网络包括多个特征提取路径,可以获
取该目标图像的深度信息和语义信息,挖掘出目标图像的细节特征、边缘特征、深度特征以及上下文特征,并将上述特征信息进行融合,最终得到一个分割效果良好的语义分割图像,有利于提高语义分割的准确率。
[0096]
其中,多视角立体算法可以在多个视角观察和获取景物的图像,并以此完成对rgb图像中每个像素点的深度估计,得到包括目标图像的深度信息的深度图像。深度信息可以充分反应不同像素平面的高度差和深度变化情况,对深度图像的特征提取有利于降低语义分割过程中建筑边缘的分割难度,得到更加精准的语义分割结果。
[0097]
作为一个可选的实施例,该语义信息包括空间细节信息、边缘特征信息以及全局特征信息。
[0098]
作为一个可选的实施例,s702包括:通过该语义分割网络对该rgb图像进行细节特征提取,获取该rgb图像的空间细节信息。通过该语义分割网络对该rgb图像进行边缘特征提取,获取该rgb图像的边缘特征信息。通过该语义分割网络对该rgb图像进行上下文特征提取,获取该rgb图像的全局特征信息。通过该语义分割网络对该深度图像进行深度特征提取,获取该深度图像的深度信息。
[0099]
作为一个可选的实施例,s703包括:通过该语义分割网络对该深度信息和该语义信息进行特征融合,得到该目标图像的特征图。通过该语义分割网络对该特征图进行上采样,得到与该目标图像大小相等的语义分割图像。
[0100]
上文中结合图1至图7,详细描述了根据本技术实施例的语义分割方法,下面将结合图8和图9详细描述根据本技术实施例的语义分割装置。
[0101]
图8示出了本技术实施例提供的一种语义分割装置的示意性框图,该装置800包括:获取模块810和处理模块820。
[0102]
其中,获取模块810用于:获取目标图像,该目标图像包括航拍得到的rgb图像和深度图像,该深度图像是根据该rgb图像确定的。处理模块820用于:将该目标图像输入至语义分割网络,通过该语义分割网络对该目标图像进行特征提取,获取该目标图像的深度信息和语义信息,该特征提取包括细节特征提取、边缘特征提取、深度特征提取以及上下文特征提取;以及,通过该语义分割网络对该深度信息和该语义信息进行特征融合,得到该目标图像的语义分割图像。
[0103]
可选地,该语义信息包括空间细节信息、边缘特征信息以及全局特征信息。
[0104]
可选地,处理模块820用于:通过该语义分割网络对该rgb图像进行细节特征提取,获取该rgb图像的空间细节信息;通过该语义分割网络对该rgb图像进行边缘特征提取,获取该rgb图像的边缘特征信息;通过该语义分割网络对该rgb图像进行上下文特征提取,获取该rgb图像的全局特征信息;以及,通过该语义分割网络对该深度图像进行深度特征提取,获取该深度图像的深度信息。
[0105]
可选地,处理模块820用于:通过损失函数计算该语义分割网络的损失,该损失函数表示如下:
[0106]
其中,w
k
表示第k类语义类别的权重因子,表示对应于(i,j)像素位置的语义
类别为k的网络输出,表示对应于(i,j)像素位置的语义类别为t的网络输出,m表示当前训练批次中的第m张图像。
[0107]
可选地,处理模块820用于:通过该语义分割网络对该深度信息和该语义信息进行特征融合,得到该目标图像的特征图;以及,通过该语义分割网络对该特征图进行上采样,得到与该目标图像大小相等的语义分割图像。
[0108]
应理解,这里的装置800以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,asic)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
[0109]
在一个可选例子中,本领域技术人员可以理解,装置800可以具体为上述实施例中的语义分割设备,或者,上述实施例中语义分割设备的功能可以集成在装置800中,装置800可以用于执行上述方法实施例中与语义分割设备对应的各个流程和/或步骤,为避免重复,在此不再赘述。
[0110]
上述装置800具有实现上述方法中语义分割设备执行的相应步骤的功能;上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。例如,上述获取模块810可以为通信接口,例如收发接口。
[0111]
在本技术的实施例,图8中的装置800也可以是芯片或者芯片系统,例如:片上系统(system on chip,soc)。对应的,获取模块810可以是该芯片的收发电路,在此不做限定。
[0112]
图9示出了本技术实施例提供的另一种语义分割装置900的示意性框图。该装置900包括处理器910、收发器920和存储器930。其中,处理器910、收发器920和存储器930通过内部连接通路互相通信,该存储器930用于存储指令,该处理器910用于执行该存储器930存储的指令,以控制该收发器920发送信号和/或接收信号。
[0113]
应理解,装置900可以具体为上述实施例中的语义分割设备,或者,上述实施例中语义分割设备的功能可以集成在装置900中,装置900可以用于执行上述方法实施例中与语义分割设备对应的各个步骤和/或流程。可选地,该存储器930可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器910可以用于执行存储器中存储的指令,并且该处理器执行该指令时,该处理器可以执行上述方法实施例中与语义分割设备对应的各个步骤和/或流程。
[0114]
应理解,在本技术实施例中,该处理器910可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0115]
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上
述方法的步骤。为避免重复,这里不再详细描述。
[0116]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0117]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0118]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0119]
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0120]
另外,在本技术各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
[0121]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0122]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献