一种模式生物追踪系统的目标重识别方法及系统与流程

文档序号:26053057发布日期:2021-07-27 15:29阅读:156来源:国知局
一种模式生物追踪系统的目标重识别方法及系统与流程

本发明涉及模式生物追踪系统领域,特别是涉及一种模式生物追踪系统的目标重识别方法及系统。



背景技术:

准确跟踪模式生物的运动是显微操作系统运行的基础,同时也是对显微操作的效果验证的重要手段。生物学中常常会做投毒实验和应激反应实验,在放有模式生物的培养皿中放入药品或施加外界刺激,跟踪模式生物的运动和对刺激的反应,通过分析轨迹来评估药物效果和研究模式生物的生理功能。

在模式生物追踪领域,针对单个视频,常用两阶段追踪算法,第一步对各个目标进行检测(如获得各个目标的位置,头部朝向等信息)该步骤一般是首先使用高斯混合模型获得前景信息,之后进行进一步检测,第二步对相邻两帧的目标检测信息,对相邻帧的相同目标进行关联。第二步的传统做法是使用匈牙利算法进行最优指派,但是该算法的时间复杂度为o(n3),即算法的运行时间随目标的数量n呈三次方增长,当目标数量较多时,算法运行效率急剧降低。

在实际操作过程中,不同条件下进行实验会生成多个追踪视频,期望在不同追踪视频的实验条件下也能够实现相同目标的对应,即目标a在第一实验条件下中进行了实验,期望在第二实验条件中依然能识别出目标a,从而比较相同目标在不同实验条件下的行为模式。而以上的两阶段追踪算法只能实现对于单个视频的目标追踪,无法对不同视频的目标进行识别,进而无法比较相同目标在不同实验条件下的行为模式。



技术实现要素:

本发明的目的是提供一种模式生物追踪系统的目标重识别方法及系统,以解决当目标数量较多时,算法运行效率急剧降低,且只能实现对于单个视频的目标追踪,无法对不同视频的目标进行识别,进而无法比较相同目标在不同实验条件下的行为模式的问题。

为实现上述目的,本发明提供了如下方案:

一种模式生物追踪系统的目标重识别方法,包括:

获取第一实验条件下的的多帧连续图像,并提取每一帧所述图像内的目标连通域;

提取所述目标连通域中每个孤立的连通域,并根据每个所述孤立的连通域提取目标的目标位置;

提取相邻两帧且相同目标位置处的所述孤立的连通域的相交区域;

根据所述相交区域确定初次关联目标;

利用匈牙利算法对剩余目标进行处理,确定二次关联目标;

根据所述初次关联目标以及所述二次关联目标,生成针对不同帧图像内相同单个目标的连续图像序列,并根据所述连续图像序列训练卷积神经网络;

获取第二实验条件下的第一帧图像,并利用训练后的卷积神经网络,使得所述第一帧图像内的目标与所述第一实验条件下的相同目标相对应。

可选的,所述根据所述相交区域确定初次关联目标,具体包括:

判断所述相交区域的面积是否大于面积阈值,得到第一判断结果;

若所述第一判断结果表示为所述相交区域的面积大于面积阈值,确定所述相交区域对应的两个目标为同一目标,并将所述两个目标相关联,确定初次关联目标;

若所述第一判断结果表示为所述相交区域的面积不大于面积阈值,确定所述相交区域对应的两个目标不是同一目标,不关联两个目标。

可选的,所述利用匈牙利算法对剩余目标进行处理,确定二次关联目标,具体包括:

获取第k帧图像以及第k-1帧图像内未关联的各个所述剩余目标的目标位置以及剩余目标数量;

根据各个所述剩余目标的目标位置以及剩余目标数量构建未关联矩阵;

利用匈牙利算法求解所述未关联矩阵,并根据求解结果对剩余目标进行关联,确定二次关联目标。

可选的,所述卷积神经网络具体包括:输入层、三层卷积层、相邻的卷积层之间设有的池化层、三层连续的全连接层以及输出层;

所述三层卷积层包括第一卷积层、第二卷积层以及第三卷积层;所述第一卷积层包括256个3×3的卷积核,所述第二卷积层包括512个3×3的卷积核,所述第三卷积层包括1024个3×3的卷积核;

所述池化层的输入矩阵为输入矩阵的一半;

所述全连接层的激活函数为relu;所述输出层的激活函数为softmax。

可选的,所述获取第二实验条件下的第一帧图像,并利用训练后的卷积神经网络,使得所述第一帧图像内的目标与所述第一实验条件下的相同目标相对应,具体包括:

将所述第二实验条件下的第一帧图像输入至所述训练后的卷积神经网络,确定所述第一帧图像内任一个目标与所述第一实验条件下各个目标的概率值;

输出概率值最大时对应的所述第一实验条件下的目标作为所述第一帧图像内的目标的相同目标。

一种模式生物追踪系统的目标重识别系统,包括:

目标连通域提取模块,用于获取第一实验条件下的的多帧连续图像,并提取每一帧所述图像内的目标连通域;

目标位置检测模块,用于提取所述目标连通域中每个孤立的连通域,并根据每个所述孤立的连通域提取目标的目标位置;

相交区域确定模块,用于提取相邻两帧且相同目标位置处的所述孤立的连通域的相交区域;

目标初次关联模块,用于根据所述相交区域确定初次关联目标;

目标二次关联模块,用于利用匈牙利算法对剩余目标进行处理,确定二次关联目标;

卷积神经网络训练模块,用于根据所述初次关联目标以及所述二次关联目标,生成针对不同帧图像内相同单个目标的连续图像序列,并根据所述连续图像序列训练卷积神经网络;

重识别模块,用于获取第二实验条件下的第一帧图像,并利用训练后的卷积神经网络,使得所述第一帧图像内的目标与所述第一实验条件下的相同目标相对应。

可选的,所述目标初次关联模块,具体包括:

第一判断单元,用于判断所述相交区域的面积是否大于面积阈值,得到第一判断结果;

目标初次关联单元,用于若所述第一判断结果表示为所述相交区域的面积大于面积阈值,确定所述相交区域对应的两个目标为同一目标,并将所述两个目标相关联,确定初次关联目标;

目标不关联单元,用于若所述第一判断结果表示为所述相交区域的面积不大于面积阈值,确定所述相交区域对应的两个目标不是同一目标,不关联两个目标。

可选的,所述目标二次关联模块,具体包括:

剩余目标的目标位置以及剩余目标数量获取单元,用于获取第k帧图像以及第k-1帧图像内未关联的各个所述剩余目标的目标位置以及剩余目标数量;

未关联矩阵构建单元,用于根据各个所述剩余目标的目标位置以及剩余目标数量构建未关联矩阵;

目标二次关联单元,用于利用匈牙利算法求解所述未关联矩阵,并根据求解结果对剩余目标进行关联,确定二次关联目标。

可选的,所述卷积神经网络具体包括:输入层、三层卷积层、相邻的卷积层之间设有的池化层、三层连续的全连接层以及输出层;

所述三层卷积层包括第一卷积层、第二卷积层以及第三卷积层;所述第一卷积层包括256个3×3的卷积核,所述第二卷积层包括512个3×3的卷积核,所述第三卷积层包括1024个3×3的卷积核;

所述池化层的输入矩阵为输入矩阵的一半;

所述全连接层的激活函数为relu;所述输出层的激活函数为softmax。

可选的,所述重识别模块,具体包括:

概率值计算单元,用于将所述第二实验条件下的第一帧图像输入至所述训练后的卷积神经网络,确定所述第一帧图像内任一个目标与所述第一实验条件下各个目标的概率值;

重识别单元,输出概率值最大时对应的所述第一实验条件下的目标作为所述第一帧图像内的目标的相同目标。

根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供了一种模式生物追踪系统的目标重识别方法及系统,利用连通域对目标进行初次关联,大大提升了目标关联的效率,处理速度不受目标数量限制,在短时间内生成丰富的数据集用于卷积神经网络的训练;之后利用匈牙利算法对剩余目标进行二次关联,由于上一步骤关联了大多数目标,因此,二次关联的运行时间更短,更进一步提升了运行效率;最后训练卷积神经网络并根据该卷积神经网络进行目标识别,实现了不同实验条件下进行目标识别的同时提升追踪效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明所提供的模式生物追踪系统的目标重识别方法流程图;

图2为本发明所提供的输入图像示意图;

图3为本发明所提供的提取到的目标连通域示意图;

图4为本发明所提供的提取到的孤立的连通域示意图;

图5为本发明所提供的检测到的目标位置示意图;

图6为本发明所提供的第k-1帧的各个目标孤立的连通域示意图;

图7为本发明所提供的第k帧的各个目标孤立的连通域示意图;

图8为本发明所提供的对k-1帧和第k帧的孤立的连通域进行与操作之后的相交区域示意图;

图9为本发明所提供的初次关联目标示意图;

图10为本发明所提供的针对4帧图像的相同目标的连续图像序列示意图;

图11为本发明所提供的卷积神经网络结构示意图;

图12为本发明所提供的模式生物追踪系统的目标重识别系统结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种模式生物追踪系统的目标重识别方法及系统,能够在不同实验条件下进行目标识别的同时提升追踪效率。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

图1为本发明所提供的模式生物追踪系统的目标重识别方法流程图,如图1所示,一种模式生物追踪系统的目标重识别方法,包括:

步骤101:获取第一实验条件下的的多帧连续图像,并提取每一帧所述图像内的目标连通域。

使用opencv的cv::backgroundsubtractormog2函数对图像前景(即目标)进行提取,该函数的输入为连续的历史图像和学习速率learningrate,该函数的内部机理为输入一系列历史图像(如输入100帧图像),对每个像素点使用多个高斯函数进行建模,对于概率密度较大的像素值认为是背景,对于每一帧输入图像,以学习速率learningrate进行更新。函数的最终效果为对于输入图像,以图2为例,视野中有多个模式生物斑马鱼,在输入一系列连续的历史图像后,函数会提取到目标前景,如图3所示,前景以白色像素表示,背景以黑色像素表示。

步骤102:提取所述目标连通域中每个孤立的连通域,并根据每个所述孤立的连通域提取目标的目标位置。

如图4所示,根据提取到的连通域信息,使用opencv的cv::findcontours提取每个孤立的连通域,在实际应用中,每个连通域可以使用不同的颜色进行表示,之后根据每个孤立的连通域信息进一步提取目标的位置信息(根据连通域进一步的检测步骤由用户针对不同的模式生物进行设计),如图5所示,圆圈代表提取到的头部位置。

步骤103:提取相邻两帧且相同目标位置处的所述孤立的连通域的相交区域。

对于相邻两帧的连通域,如图6和图7所示,图6中的圆圈代表第k-1帧的各个目标的连通域,图7中的圆圈代表第k帧各个目标的连通域,对第k-1帧和第k帧的连通域进行与操作(即提取相交区域;如图8所示,相交区域为两个孤立的连通域相交的区域)。

步骤104:根据所述相交区域确定初次关联目标。

如果相交区域的面积大于一定阈值,则认为红色区域所在的相应两帧的目标为同一个目标,如图9所示,框内的两个连通域相交面积大于一定阈值,认为对应的两个目标为同一目标。该步骤能将绝大多数目标进行关联,尤其对于运动较为缓慢的目标,优势是运行效率不受目标数量限制,只需要进行图像的与操作和阈值判断即可,从而大大提升了关联效率。

步骤105:利用匈牙利算法对剩余目标进行处理,确定二次关联目标。

对于上一步骤关联后的剩余目标,使用匈牙利算法进行处理。

对于第k帧的图像,目前有第k-1帧的未关联的各个目标的检测信息和第k帧的检测信息在实际应用中,检测信息为目标位置,mk-1为第k-1帧的剩余未关联的目标数,nk为第k帧的剩余未关联的目标数,其中分别为第k帧检测到的第j个目标的x位置坐标,y位置坐标。建立如下未关联矩阵:

其中,为第k-1帧检测值与第k帧检测值的距离。

使用匈牙利算法求解上述矩阵即可以进行目标关联(判定k-1帧的哪个检测与k帧的哪个检测来自于同一目标),使用scikit-learn函数库的linear_sum_assignment函数求解关联矩阵,函数的输入为上述未关联矩阵,输出为与代价矩阵d(zk-1,zk)相同大小的矩阵a,输出矩阵a的每个元素为0或1,若a(i,j)=1,表示第k-1帧的剩余目标的第i个与第k帧剩余目标的第j个关联,目标关联问题等价于求解矩阵a,使得下面的目标关联代价能量函数达到最小,

约束条件:

如果

如果

其中,两个约束条件保证的是每一行或者列只有一个关联,即k-1帧的一个目标只能与第k帧的一个目标进行关联,而不能关联多个。该步骤的时间复杂度为o(n3),即算法的运行时间随目标的数量n呈三次方增长,但由于上一步骤关联了大多数目标,该步骤的运行时间很短,从而提升了效率。同时,由于该步骤是基于贪心算法获得优化解而不是最优解,如果目标比较密集,即多个目标之间的相对距离很小,该算法可能会错配,但由于上一步骤把一部分密集目标关联完成,该步骤所处理的目标数量急剧下降,从而更容易得到最优解。

步骤106:根据所述初次关联目标以及所述二次关联目标,生成针对不同帧图像内相同单个目标的连续图像序列,并根据所述连续图像序列训练卷积神经网络;所述卷积神经网络用于确定各个所述目标的概率值。

对于步骤101到步骤105关联得到的初次关联目标以及二次关联目标,将连续时间帧中的目标图像与对应的连通域进行与操作(即前景像素部分得到保留,背景像素被去除),生成针对单个目标的连续图像序列,如图10所示。由于骤101到步骤105的目标关联效率高,可以在限定时间内生成丰富的数据集用于神经网络的训练。对于每个目标,都生成一系列图像数据,如有1000帧图像,20个目标,则生成20个1000张图片的数据包,每个数据包中的1000个数据对应统一个目标。

本发明的卷积神经网络的结构如图11所示,该卷积神经网路用于确定各个所述目标的概率值,从而实现不同实验条件下的目标重识别。

图11中,input代表输入为固定大小的灰度图(大小由用户设定),即步骤5生成的单张灰度图。

c代表卷积层,s*s@f代表f个大小为s×s的卷积核,每个卷积核的计算输出使用如下公式计算

其中,代表第kout个卷积核输出的矩阵的第i行第j列的数值,代表第kin个输入矩阵的第i+m行第j+n列的数值,代表针对第kin的输入和第kout输出的卷积核第m行第n列的数值,kin表示上一层输入特征矩阵的个数,m和n是与卷积核大小对应的用于卷积计算的位置参量。激活函数为relu,公式为其中,x为输出矩阵的数值,y为被激活后的输出矩阵的数值。

s代表池化层,使用如下公式计算输出:

yi,j=max(x2i,2j,x2i+1,2j,x2i,2j+1,x2i+1,2j+1)

其中,yi,j代表输出矩阵第i行第j列的数值,x2i,2j为输入矩阵第2i行第2j列的数值,max代表取最大值的操作。池化层输出矩阵的大小为输入矩阵大小的一半。

f代表全连接层,上方数字代表了输出单元的个数,使用如下公式进行计算:

其中,yj代表输出层的第j个单元,wi,j代表输出层第j个单元相对于输入的第i个单元的权重,xi代表输入的第i个单元的数值,vin代表输入向量的长度,bj偏置项。全连接层的激活函数仍然使用relu。

output代表输出层,计算公式与全连接层一样,但是激活函数使用softmax,公式为:

其中表示第i个输出,n表示输入向量的长度,等于期望进行识别的目标数,xj表示输入向量的第j个数值。输出的物理意义为,yi表示了该图像为第i个目标的概率(如存在20个目标,输入其中一个目标的图像,输出为该目标分别为这20个目标的概率,如与第1个目标对应的概率为0.05,第1个目标对应的概率为0.01……与第5个目标对应的概率为0.9……第20个目标对应的概率为0.005,最终选择概率值最大的输出为该目标的id)。

神经网络训练时的损失函数使用交叉熵,使用以下公式计算:

其中,li表示网络第i个单元的标签,如果第i个输出是第i个目标,则li为1,否则为0。将步骤5中生成的数据放入神经网络中,使用反向传播算法进行训练,直到网络的识别正确率(即被正确识别的目标相对于整个数据集所占的比例)达到95%以上为止。

步骤107:获取第二实验条件下的第一帧图像,并利用训练后的卷积神经网络,使得所述第一帧图像内的目标与所述第一实验条件下的相同目标相对应。

对于新的实验条件下的第一帧视频,并将第一帧视频内的各个目标根据步骤101-步骤105生成如图10所示的各个目标的图像,将各个目标的图像输入至训练后的卷积神经网络中得到任一个目标图像与第一实验条件下的各个目标的概率值,对每个目标取概率值最大的神经网络输出作为该目标的id,从而实现了不同实验条件下相同目标的对应,即重识别。对于第二实验条件下第一帧视频之后帧的视频重复步骤101-步骤105继续追踪当前实验条件下的目标。

例如,第二实验条件下的第2个目标对应实验条件1下的第5个目标(在第一个视频中,一个目标的id为1,在新的视频中,检测算法给该目标分配的id是5,神经网络判断出新视频的第5个目标与第一个视频的第1个目标为同一目标,从而将新视频第5个目标的各项运动参数加入了第一个视频的第一个目标的运动参数序列中。第二实验条件下(即新视频中),对第一帧采样到的图像输入神经网络,神经网络中输出概率最大的单元对应的id即为第二实验条件对应的第一实验条件下的目标。第二实验条件第一帧检测算法检测到的id为5的目标输入神经网路,网络输出的第一个单元数值最大,则神经网络判断出新视频的第5个目标与第一个视频的第1个目标为同一目标。

本发明使用连通域信息进行初次关联大大提升了目标关联的效率,同时处理速度不受目标数量限制,因为只需要进行连通域图像的与操作和阈值判断即可。由于已进行了初次关联步骤,因此,利用匈牙利算法进行二次关联时,虽然时间复杂度为o(n3),即算法的运行时间随目标的数量n呈三次方增长,但由于上一步骤关联了大多数目标,该步骤的运行时间很短,从而提升了效率。

此外,匈牙利算法是基于贪心算法获得优化解而不是最优解,如果目标比较密集,即多个目标之间的相对距离很小,该算法可能会出现错配,但由于上一步骤把一部分密集目标关联完成,该步骤所处理的目标数量急剧下降,从而更容易得到最优解,进而提升了目标关联的准确率和鲁棒性,实现不同实验条件下的目标重识别。

卷积神经网络运行时间较长,在目标识别完成后,继续使用步骤101到步骤105进行追踪,在实现不同实验条件目标识别的同时又提升了追踪效率。

由于模式生物的外观特征极其相似,在不同实验条件下进行实验时,人工识别相同的目标几乎不可能。而深度神经网络凭借强大的特征提取能力可以实现每个目标的特殊特征从而实现对于不同目标的识别。本发明通过提取初次关联目标以及二次关联目标实现了目标的数据集生成,自动化训练卷积神经网络,实现了不同实验条件下的目标重识别(即相同目标在不同图像中的对应)。

图12为本发明所提供的模式生物追踪系统的目标重识别系统结构图,一种模式生物追踪系统的目标重识别系统,包括:

目标连通域提取模块1201,用于获取第一实验条件下的的多帧连续图像,并提取每一帧所述图像内的目标连通域。

目标位置检测模块1202,用于提取所述目标连通域中每个孤立的连通域,并根据每个所述孤立的连通域提取目标的目标位置。

相交区域确定模块1203,用于提取相邻两帧且相同目标位置处的所述孤立的连通域的相交区域。

目标初次关联模块1204,用于根据所述相交区域确定初次关联目标。

所述目标初次关联模块1204,具体包括:第一判断单元,用于判断所述相交区域的面积是否大于面积阈值,得到第一判断结果;目标初次关联单元,用于若所述第一判断结果表示为所述相交区域的面积大于面积阈值,确定所述相交区域对应的两个目标为同一目标,并将所述两个目标相关联,确定初次关联目标;目标不关联单元,用于若所述第一判断结果表示为所述相交区域的面积不大于面积阈值,确定所述相交区域对应的两个目标不是同一目标,不关联两个目标。

目标二次关联模块1205,用于利用匈牙利算法对剩余目标进行处理,确定二次关联目标。

所述目标二次关联模块1205,具体包括:剩余目标的目标位置以及剩余目标数量获取单元,用于获取第k帧图像以及第k-1帧图像内未关联的各个所述剩余目标的目标位置以及剩余目标数量;未关联矩阵构建单元,用于根据各个所述剩余目标的目标位置以及剩余目标数量构建未关联矩阵;目标二次关联单元,用于利用匈牙利算法求解所述未关联矩阵,并根据求解结果对剩余目标进行关联,确定二次关联目标。

卷积神经网络训练模块1206,用于根据所述初次关联目标以及所述二次关联目标,生成针对不同帧图像内相同单个目标的连续图像序列,并根据所述连续图像序列训练卷积神经网络;所述卷积神经网络用于确定各个所述目标的概率值。

所述卷积神经网络具体包括:输入层、三层卷积层、相邻的卷积层之间设有的池化层、三层连续的全连接层以及输出层;所述三层卷积层包括第一卷积层、第二卷积层以及第三卷积层;所述第一卷积层包括256个3×3的卷积核,所述第二卷积层包括512个3×3的卷积核,所述第三卷积层包括1024个3×3的卷积核;所述池化层的输入矩阵为输入矩阵的一半;所述全连接层的激活函数为relu;所述输出层的激活函数为softmax。

重识别模块1207,用于获取第二实验条件下的第一帧图像,并利用训练后的卷积神经网络,使得所述第一帧图像内的目标与所述第一实验条件下的相同目标相对应。

所述重识别模块1207,具体包括:概率值计算单元,用于将所述第二实验条件下的第一帧图像输入至所述训练后的卷积神经网络,确定所述第一帧图像内任一个目标与所述第一实验条件下各个目标的概率值;重识别单元,输出概率值最大时对应的所述第一实验条件下的目标作为所述第一帧图像内的目标的相同目标。

本发明结合连通域信息的目标关联方法能够提高运行效率,可以在短时间内生成丰富的数据集用于卷积神经网络的训练,从而训练出用于目标识别的卷积神经网络,实现对不同图像或视频内的相同目标的识别。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1