1.一种基于相似度矩阵的中心点网络多目标检测方法,所述中心点网络结构由图像预处理,沙漏网络、左上角点热图(heatmaps)、右下角角点热图、嵌入向量特征(Embeddings)、中心点角点热图、偏移量(offsets)提取网络等组成,其中图像预处理模块和沙漏网络用于提取目标的角点、中心点特征;热图模块用于输出角点或者中心点所在位置的热图;嵌入向量特征模块用于提取角点匹配的特征向量;偏移量提取网络模块用于提取热图中的角点或中心点位置相对于输入原图的偏移量,利用热图和偏移得到角点或者中心点的位置,利用嵌入向量模块可以得到所有角点对应的向量,利用该向量构建相似度矩阵,最后根据相似度矩阵得到角点的匹配关系,再利用中心点的位置过滤不正确的目标框,得到最终目标框;
其特征在于包括如下步骤:
步骤(1):所述图像预处理模块,由步幅为2、通道为128的7×7卷积模块与步幅为2、通道为256的残差模块组成;
步骤(2):所述沙漏网络模块由2分沙漏子模块串联组成,每个沙漏子模块先经过5个步长为2的3×3卷积模块降低特征图大小,这5个卷积模块的输出通道数依次为256,384,384,
384,512;在通过5次上采样和跳跃连接恢复至输入特征图大小,当对特征进行上采样时应用了两个残差模块,每个跳跃连接还包含两个残差模块,沙漏模块中间有4个512通道的残差模块,整个沙漏网络的深度是104层。
步骤(3):将步骤(2)输出的特征图输入左上角点的热图模块、嵌入向量特征模块、偏移量提取网络模块,输出各类目标左上角点的热图、用于角点匹配的嵌入特征、热图中的点相对于原图的偏移量,其中热图具有C个通道,其中C是目标的总类别数,每个通道特征图的每个位置的值位于[0,1]区间,像素值表示该点为角点的置信度;偏移量的值具有2个通道,分别为角点映射回原图的x方向和y方向的偏移量的值;嵌入向量具有10个通道,将每个通道特征图相同坐标的值取出组成一个10维的向量,作为每个左上角点的特征向量;
步骤(4):将步骤(2)输出的特征图输入右下角点的热图模块、嵌入向量特征模块、偏移量提取网络模块,输出各类目标右下角点的热图、用于角点匹配的嵌入特征、热图中的点相对于原图的偏移量,所用的方法与步骤(3)相同;
步骤(5):将步骤(2)输出的特征图输入中心点的热图、偏移量提取网络,输出各类目标中心点的热图、热图中的点相对于原图的偏移量,所用的方法与步骤(3)相同;
步骤(6):基于相似度矩阵的中心点网络训练:输入训练样本图像大小为511×511,输出大小为128×128;采用标准的数据增强,包括随机水平翻转、随机缩放、随机裁剪和随机色彩抖动,也包括调整图像的亮度、饱和度和对比度;采用训练好的开源CenterNet网络模型作为预训练模型;使用Adam方法进行训练,损失函数为Loss=Lembedding+α(Lcenter+Lcornor)+β(Lcoroff+Lcenoff),α=β=0.1;其中,①Lembedding:根据真实框的标注,输出所有目标K对应的角点位置,其对应的所有左上角点向量L={l1,l2,……lK}和右下角点向量R={r1,r2,……rK},利用li和rj来构建相似度矩阵S,其中 其中矩阵A为10×10的可训练矩阵, τ为一个超参数,sigmod函数表达式为 再根据标注的框的角点对设计损失函
数,对矩阵的每行设计损失 其中y只
有当li和rj为同一目标的角点时为1,其他时候为0;
②Lcenter,Lcornor:
其中,pcij代表类别C的预测的角点在位置(i,j)处的得分,得分越高就越可能是角点。
ycij表示标注框角点的位置,由Gaussian公式 算出,σ是一个超参数,x、y代表角点坐标,N表示目标的数量。计算中心点heatmaps损失,中心点损失Lcenter与角点损失Lcornor公式相同,但此时ycij表示ground truth中心点的位置;
③Lcoroff,Lcenoff:令 xk表示目标k的标注框的角点的x坐标,yk
表示目标k的标注框的角点的y坐标,n表示下采样倍数,[ ]代表实际下采样,
表示offset中的预测偏移值,SmoothL1loss的
函数是: 中心点的offset损失和角点的offset损
失公式相同,定义为Lcenoff;
步骤(7):
①测试时,输入测试图像保持原分辨率,在heatmap层后接3*3的max pooling层进行非极大值抑制(NMS);
②取得分最高的k个左上角点、得分最高的k个右下角点与得分最高的k个中心点,将k个左上角点与k个右下角点构建大小为k*k相似度矩阵S,将Si,j>ε时的角点组成的框筛选出来,ε为一个阈值,ε可以取[0.4,0.6]区间内的值。由于S为对称矩阵,筛选时只选S的对角线及对角线以下部分,并将非同类别的角点构成的框剔除;
③确定剩下框的中心区域D,中心区域D由其左上角坐标和右下角坐标来表示D={(tlx,tly),(brx,bry)},其中(ctlx,ctly),(cbrx,cbry)为中心区域的左上角坐标和右下角坐标:其中(tlx,tly),(brx,bry)分别为预测框的左上角坐标和右
下角坐标,a为一个自适应值,当预测框较大时,a取一个较大的值,例如a=5,当预测框较小时,a取一个较小的值,例如a=3;
判断每个目标框的中心区域是否含有上面第②步中得分最高的k个中心点,有则保留目标框,否则删除;
④将剩下目标框进行软非极大值抑制(soft-nms)删除冗余目标框。目标框不超过100个。
2.如权利要求1所述基于相似度矩阵的中心点网络多目标检测方法,其特征在于:所述角点热图、嵌入向量特征、偏移量提取网络模块输入为沙漏网络的输出,先用两个128通道的3×3卷积模块处理来自沙漏网络的特征,然后应用级联角点池化模块,若为预测左上角点,该模块先进行Left Pooling,并向后加上映射(shortcut),再经过一个3×3卷积-批次归一化层和Top Pooling得到该模块输出,若为右下角点,则先进行Right Pooling,再进行Bottom Pooling,其他结构和预测左上角点分支相同。再将级联角点池化模块输出的特征图输入到一个3×3的卷积-批次归一化层,该层有256个通道,并向后加上映射(shotcut)和
3×3卷积后,再后面经过一个具有256通道的3×3卷积模块和3个卷积-激活(ReLU)-卷积层来生成角点的热图(heatmaps)、偏移值(offsets)、嵌入向量(Embeddings)。
3.如权利要求1所述基于相似度矩阵的中心点网络多目标检测方法,其特征在于:所述中心点热图、偏移量提取网络模块总体结构与角点热图、嵌入向量特征、偏移量提取网络模块相同,不同的是需要将级联角点池化模块替换为中心点池化模块,该模块其中一支进行Left Pooling、Right Pooling,另外一支进行Top Pooling,Bottom Pooling,再将2支结果像素级相加得到输出,中心池化层最后输出中心点的热图、偏移值;
所述Left Pooling、Right Pooling、Top Pooling,Bottom Pooling表示四种池化方式,其公式为 或 ti,j表示特征图的像素点,四种角点池化的方向分别是(0,H)->(0,0),(0,0)->(H,0),(W,0)->(0,0),(0,0)->(W,0),H,W代表特征图的宽高。