本发明涉及一种实例分割技术,特别是一种基于周期b样条的实例分割方法。
背景技术:
实例分割是计算机视觉基础任务之一,它不仅能精确地对物体进行分类,还需要给出物体的位置掩码,近些年来,随着深度学习在计算机视觉中的应用,基于卷积神经网络的实例分割方法在相关数据集上的准确率越来越高,但同时,随之而来的是模型结构越来越复杂,速度和内存占用不能满足实际的应用需求,现有的实例分割方法主要分为三类:基于检测、基于分割和基于轮廓的,基于检测的实例分割方法先利用检测器检测物体的包围框,再于包围框中预测物体的掩码,基于分割的实例分割方法则相反,它是先产生整幅图像的像素级掩码,然后再确定每个物体,相比于像素级表示方法,基于轮廓的表示方法更简洁和高效,但是,利用现有的基于轮廓表示方法得到的轮廓不是矢量化的,从而不能应用于图像编辑算法中,用以操纵轮廓变换。
技术实现要素:
为了克服现有技术的不足,本发明提供一种在不增加模型复杂性的情况下得到物体轮廓矢量化表示的基于周期b样条的实例分割方法。
本发明解决其技术问题所采用的技术方案是:
一种基于周期b样条的实例分割方法,通过采集图片的物体轮廓坐标点反向求得周期b样条控制点,以周期b样条控制点结合神经网络回归获得各个周期b样条控制点的长度表示和角度表示,建立高斯热图、损失函数和目标构建式进行神经网络训练,获得周期b样条控制点的笛卡尔坐标。
所述物体轮廓坐标点反向求得周期b样条控制点方法包括设立控制点c和控制点节点向量u,并建立b样条基函数bi,t(u),在确定b样条基函数的次数和周期性后建立b样条曲线,对物体轮廓点进行参数化后求得控制点c的矢量化表示。
所述b样条基函数bi,t(u)公式为:
设n 1个控制点c=ci(i=0,1,2,...,n)节点向量u=(u0,111,...,um}和b样条基函数次数t。
b样条曲线为:
物体矢量化公式为:
其中,n表示从轮廓上采样的点数,qk为第k个轮廓点的坐标,tk为qk参数。
所述参数化包括累积弦长参数化和均匀参数化。
所述均匀参数化公式为:t0=0,tn=1,tk=k/n,k=1,2,…,n。
所述累积弦长参数化公式为:
所述神经网络回归包括分类损失和回归损失。
所述分类损失为:
其中,α和β为损失函数的超参数。n为图像的中心点数目。
所述高斯热图构建方法包括设控制点个数为m 3=n 1、网络的下采样率为r、中心点坐标
所述高斯核公式为
所述回归损失为:
其中,λ1和λ2是超参数,ρj和aj分别为点在极坐标系下的长度表示和角度表示。
损失函数为:l=lcls lreg。
所述目标构建式为:
其中,θj=arctan2(yj,xj)。
所述周期b样条控制点的笛卡尔坐标公式为:
控制点在极坐标系下的长度和角度公式为:
其中,
本发明的有益效果是:本发明为得到物体的矢量化表示,用周期b样条来对物体轮廓进行建模,通过将笛卡尔坐标系下的控制点坐标转换到极坐标系下,降低了神经网络回归的难度,在满足性能和效果的前提下,通过周期b样条对物体轮廓进行建模,从而将像素分类问题转变为控制点回归问题,主要的效果体现在引入周期b样条在保持物体轮廓建模的准确性的同时,降低网络需要回归的点数,并为拟合物体轮廓的多样性提供了足够的灵活度,对物体轮廓曲线做出更精细的调节。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明的流程图;
图2是周期b曲线的拟合示例图;
图3是高斯热示例图;
图4是物体控制点的坐标处理示意流程图;
图5是本发明的实例分割结果图之一;
图6是本发明的实例分割结果图之二。
具体实施方式
参照图1,一种基于周期b样条的实例分割方法,通过采集图片的物体轮廓坐标点反向求得周期b样条控制点,以周期b样条控制点结合神经网络回归获得各个周期b样条控制点的长度表示和角度表示,建立高斯热图、损失函数和目标构建式进行神经网络训练,获得周期b样条控制点的笛卡尔坐标,通过对物体轮廓进行周期b样条建模达到矢量化目的,再通过神经网络回归周期b样条控制点信息,从而在无需人工干预情况下快速准确地得到物体轮廓的矢量化表示;采集图片的例图源自于coco(commonobjectsincontext)数据集,是微软团队提供的一个可以用来进行图像识别、分割和图像语义的数据集,一共有25g左右的图片和600m左右的标签文件,coco数据集共有小类80个,提供了118287张训练图片,5000张验证图片,以及超过40670张测试图片,coco分割标签有两种表示形式:polygons和rle(run-lengthencoding),单个对象可能需要多个polygon来表示,比如这个对象在图像中被遮挡;对于密集物体,分割标签使用rle格式;rle是对二值mask图像的一种编码方式
在本实施例中对coco标签处理方式:其一,对于polygons格式的标注,直接将多边形的顶点作为周期b样条拟合的型值点;其二,对于rle格式的标注,利用matlab中的函数bwboundaries函数求出物体轮廓坐标点,将轮廓点作为拟合的型值点;其三,对于不同的物体,为了得到相同数目的控制点,先用coco提供的标注得到b样条曲线,此得到节点向量和控制顶点组,再在这个节点向量上等间距取若干点(或者其他方式选取),通过原先求得的b样条曲线来得到这些新的节点处的函数值,来作为新的型值点,然后再对这些型值点进行拟合,这样,对于不同的物体,能够保证节点向量相同,只有控制顶点坐标会改变,使得应用网络训练成为可能。
参照图2,所述物体轮廓坐标点反向求得周期b样条控制点方法包括设立控制点c和控制点节点向量u,并建立b样条基函数bi,t(u),在确定b样条基函数的次数和周期性后建立b样条曲线,对物体轮廓点进行参数化后求得控制点c的矢量化表示。
所述b样条基函数bi,t(u)公式为:
设n 1个控制点c=ci(i=0,1,2,...,n)、节点向量u={u0,u1,...,um}和b样条基函数次数t,ci是c的每个分量,
u={u-3,u-2u-1,u0,u1,...,um,um 1,um 2,um 3},控制点为c={c0,c1,c2,...,cm 2};若节点向量中节点均匀或等距分布,节点向量定义了均匀的b样条基;令δui=ui 1-ui,若有
和控制点c0=cm,c1=cm 1,c2=cm 2,则b样条具有周期性,样条上的点表示为
b样条曲线为:
物体矢量化公式为:
其中,n表示从轮廓上采样的点数,qk为第k个轮廓点的坐标,tk为qk参数化形式,即
所述参数化包括累积弦长参数化和均匀参数化。
所述均匀参数化公式为:t0=0,tn=1,tk=k/n,k=1,2,…,n。
所述累积弦长参数化公式为:
所述神经网络回归包括分类损失和回归损失。
所述分类损失为:
其中,α和β为损失函数的超参数,一般设置为α=2,β=4。n为图像的中心点数目。x、y和c表示的是高斯热图在坐标(x,y,c)处的位置;
所述高斯热图构建方法包括设控制点个数为m 3、网络的下采样率为r,对m 3个控制点的坐标取平均,得到一个中心点,再将各个控制点坐标减去这个中心点坐标,得到m 3个向量,对于每个中心点坐标
所述高斯核公式为
所述回归损失为:
其中,λ1和λ2是超参数,一般设置为λ1=0.5,λ2=1,ρj和aj分别为点在极坐标系下的长度表示和角度表示,σ=2。在实施例中采用基架网络,回归出物体的控制点坐标信息,基架网络可以是resnet-18,dla-34或者其他先进的模型结构。
损失函数为:l=lcls lreg。
控制点检测依赖于点周围的局部信息,它所在位置的特征是相似的,因此将控制点回归拆分成长度回归和角度回归,并给予角度以先验。
参照图4,轮廓点大致均匀分布在物体四周,以每个物体的中心点建立极坐标系,求控制点极坐标系下的长度和角度。每个控制点向量(xj,yj)都有其角度先验tj,轮廓点的实际角度为θj,则目标构建式为:
aj=(o1,o2)=(sin(θj-tj),cos(=θj-tj))。
其中,θj=arctan2(yj,xj)。
所述周期b样条控制点的笛卡尔坐标公式为:
训练得出o1,o2和ρj后,得到物体控制点在极坐标系下的长度和角,结果的例如图5,控制点在极坐标系下的长度和角度公式为:
其中,
本发明为了得到物体的矢量化表示,用周期b样条来对物体轮廓进行建模,通过将笛卡尔坐标系下的控制点坐标转换到极坐标系下,降低了神经网络回归的难度,在满足性能和效果的前提下,通过周期b样条对物体轮廓进行建模,从而将像素分类问题转变为控制点回归问题,主要的效果体现在引入周期b样条在保持物体轮廓建模的准确性的同时,降低网络需要回归的点数,并为拟合物体轮廓的多样性提供了足够的灵活度,对物体轮廓曲线做出更精细的调节。
以上的实施方式不能限定本发明创造的保护范围,专业技术领域的人员在不脱离本发明创造整体构思的情况下,所做的均等修饰与变化,均仍属于本发明创造涵盖的范围之内。
1.一种基于周期b样条的实例分割方法,其特征在于该方法通过采集图片的物体轮廓坐标点反向求得周期b样条控制点,以周期b样条控制点结合神经网络回归获得各个周期b样条控制点的长度表示和角度表示,建立高斯热图、损失函数和目标构建式进行神经网络训练,获得周期b样条控制点的笛卡尔坐标。
2.根据权利要求1所述的基于周期b样条的实例分割方法,其特征在于所述物体轮廓坐标点反向求得周期b样条控制点方法包括设立控制点c和控制点节点向量u,并建立b样条基函数
所述b样条基函数
设
b样条曲线为:
p
物体矢量化公式为:
其中,n表示从轮廓上采样的点数,
3.根据权利要求2所述的基于周期b样条的实例分割方法,其特征在于所述参数化包括累积弦长参数化和均匀参数化;
所述均匀参数化公式为: