基于多摄像头的目标位置确定方法、装置和计算机设备
技术领域
本申请涉及跟踪定位技术领域,特别是涉及一种基于多摄像头的目标位置确定方法、装置、计算机设备和存储介质。
背景技术
随着计算机网络技术、数码设备以及数字存储设备的迅速发展,通过安装在固定场所、无人车、无人机等处的摄像头,对目标对象(比如人、动物等)进行跟踪定位,可以有效确定目标对象的目标位置。
然而,目前的目标位置确定方法,一般是通过视觉跟踪算法,对单个摄像头拍摄得到的视频中对指定目标对象进行检测,得到视频中的目标对象的目标位置;但是,单个摄像头的视场角较小,且对于复杂场景中的目标对象,其运动是不定向的,也是不可预测的,即目标对象很容易超出摄像头的视场角,导致确定出的目标位置的准确率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高目标位置的确定准确率的基于多摄像头的目标位置确定方法、装置、计算机设备和存储介质。
一种基于多摄像头的目标位置确定方法,所述方法包括:
通过预先训练的目标跟踪预测分类器,确定当前摄像头拍摄到的当前视频帧中的目标对象位置;
若所述目标对象位置与所述当前视频帧的图像边缘之间的距离小于预设距离,则根据所述目标对象位置,确定所述目标对象在相邻摄像头拍摄到的视频帧中的投影位置;所述相邻摄像头为与所述当前摄像头相邻的下一摄像头;
根据所述投影位置确定所述视频帧中的目标搜索区域图像;
将所述目标搜索区域图像输入所述目标跟踪预测分类器,得到所述目标对象在所述视频帧中的目标位置。
一种基于多摄像头的目标位置确定装置,所述装置包括:
第一位置确定模块,用于通过预先训练的目标跟踪预测分类器,确定当前摄像头拍摄到的当前视频帧中的目标对象位置;
投影位置确定模块,用于若所述目标对象位置与所述当前视频帧的图像边缘之间的距离小于预设距离,则根据所述目标对象位置,确定所述目标对象在相邻摄像头拍摄到的视频帧中的投影位置;所述相邻摄像头为与所述当前摄像头相邻的下一摄像头;
区域图像确定模块,用于根据所述投影位置确定所述视频帧中的目标搜索区域图像;
第二位置确定模块,用于将所述目标搜索区域图像输入所述目标跟踪预测分类器,得到所述目标对象在所述视频帧中的目标位置。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
通过预先训练的目标跟踪预测分类器,确定当前摄像头拍摄到的当前视频帧中的目标对象位置;
若所述目标对象位置与所述当前视频帧的图像边缘之间的距离小于预设距离,则根据所述目标对象位置,确定所述目标对象在相邻摄像头拍摄到的视频帧中的投影位置;所述相邻摄像头为与所述当前摄像头相邻的下一摄像头;
根据所述投影位置确定所述视频帧中的目标搜索区域图像;
将所述目标搜索区域图像输入所述目标跟踪预测分类器,得到所述目标对象在所述视频帧中的目标位置。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
通过预先训练的目标跟踪预测分类器,确定当前摄像头拍摄到的当前视频帧中的目标对象位置;
若所述目标对象位置与所述当前视频帧的图像边缘之间的距离小于预设距离,则根据所述目标对象位置,确定所述目标对象在相邻摄像头拍摄到的视频帧中的投影位置;所述相邻摄像头为与所述当前摄像头相邻的下一摄像头;
根据所述投影位置确定所述视频帧中的目标搜索区域图像;
将所述目标搜索区域图像输入所述目标跟踪预测分类器,得到所述目标对象在所述视频帧中的目标位置。
上述基于多摄像头的目标位置确定方法、装置、计算机设备和存储介质,通过预先训练的目标跟踪预测分类器,确定当前摄像头拍摄到的当前视频帧中的目标对象位置;若目标对象位置与当前视频帧的图像边缘之间的距离小于预设距离,则根据目标对象位置,确定目标对象在相邻摄像头拍摄到的视频帧中的投影位置;该相邻摄像头为与当前摄像头相邻的下一摄像头;然后根据投影位置确定视频帧中的目标搜索区域图像;将目标搜索区域图像输入目标跟踪预测分类器,得到目标对象在视频帧中的目标位置;实现了通过多个摄像头对目标对象的位置进行跟踪定位的目的,通过多个摄像头来放大视场角,避免了单个摄像头的视场角较小,目标对象容易超出视野,导致确定出的目标位置的准确率较低的缺陷,从而提高了目标位置的确定准确率;同时,通过多个摄像头之间的跟踪切换,计算机每次只处理一个摄像头的图片,有利于在拍摄过程中实时确定目标对象的目标位置,进一步提高了目标位置的确定的实时性。
附图说明
图1a为一个实施例中基于多摄像头的目标位置确定方法的应用环境图;
图1b为一个实施例中两个相邻的摄像头的视角重叠区域的示意图;
图2为一个实施例中基于多摄像头的目标位置确定方法的流程示意图;
图3a为一个实施例中目标对象处于图像中心位置的示意图;
图3b为一个实施例中目标对象处于图像边缘位置的示意图;
图4为一个实施例中确定目标对象的目标位置的流程示意图;
图5为一个实施例中摄像头1和摄像头2的视角重叠区域标定选点的示意图;
图6a为一个实施例中目标对象位置出现投影误差的示意图;
图6b为一个实施例中对目标对象位置进行自动校正的示意图;
图7为另一个实施例中基于多摄像头的目标位置确定方法的流程示意图;
图8为又一个实施例中基于多摄像头的目标位置确定方法的流程示意图;
图9为一个实施例中不同摄像头之间的切换跟踪示意图;
图10为一个实施例中基于多摄像头的目标位置确定装置的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于多摄像头的目标位置确定方法,可以应用于如图1a所示的应用环境中。其中,摄像头110(比如摄像头110a、摄像头110b···110n)通过网络与服务器120进行通信;参考图1b,以相邻摄像头的视场角包含一定重叠区域为原则,安装多个摄像头,以覆盖需要跟踪的目标对象的所有视野。具体地,参考图1a,服务器110通过预先训练的目标跟踪预测分类器,确定当前摄像头(比如摄像头110a)拍摄到的当前视频帧中的目标对象位置;若目标对象位置与当前视频帧的图像边缘之间的距离小于预设距离,则根据目标对象位置,确定目标对象在相邻摄像头(比如摄像头110b)拍摄到的视频帧中的投影位置;相邻摄像头(比如摄像头110b)为与当前摄像头(比如摄像头110a)相邻的下一摄像头;根据投影位置确定视频帧中的目标搜索区域图像;将目标搜索区域图像输入目标跟踪预测分类器,得到目标对象在视频帧中的目标位置。其中,摄像头110是指具有拍摄功能的高清摄像头,当然还可以是其他类型的摄像头,具体本申请不做限定;服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
需要说明的是,本申请中的多个摄像头是指两个或者两个以上摄像头,具体本申请不做限定。
在一个实施例中,如图2所示,提供了一种基于多摄像头的目标位置确定方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S201,通过预先训练的目标跟踪预测分类器,确定当前摄像头拍摄到的当前视频帧中的目标对象位置。
其中,目标对象是指需要跟踪定位的对象,可以是人,也可以是动物,当然还可以是指其他对象,具体本申请不做限定。目标对象位置是指目标对象所在区域的位置,可以使用四个位置坐标(左上方坐标、右上方坐标、左下方坐标、右下方坐标)的矩形框标记,也可以使用八个位置坐标的多边形框标记。
其中,预先训练的目标跟踪预测分类器是指能够识别出视频帧中的目标对象的分类器,是通过孪生网络视觉跟踪模型(比如DiMP视觉跟踪模型)多次训练得到的。视频帧是指组成视频的静止画面,比如一个视频是由众多个静止的画面组成,这些静止的画面称为视频帧。
具体地,当前摄像头将拍摄到的当前视频帧发送至服务器,服务器获取接收到的当前视频帧中的目标搜索区域图像,将目标搜索区域图像输入至预先训练的目标跟踪预测分类器,得到预测位置,作为当前摄像头拍摄到的当前视频帧中的目标对象位置。这样,通过确定当前摄像头拍摄到的当前视频帧中的目标对象位置,有利于后续判断目标对象是否移动到相邻摄像头的拍摄范围内,进而切换摄像头对目标对象进行跟踪定位。
步骤S202,若目标对象位置与当前视频帧的图像边缘之间的距离小于预设距离,则根据目标对象位置,确定目标对象在相邻摄像头拍摄到的视频帧中的投影位置;相邻摄像头为与当前摄像头相邻的下一摄像头。
其中,相邻摄像头为与当前摄像头相邻的,且视场角与当前摄像头的视场角有一定重叠区域的高清摄像头,比如4K摄像头。投影位置是指目标对象位置在相邻摄像头拍摄到的视频帧中的对应位置,是通过平面投影不变量原理确定的。
具体地,服务器获取目标对象位置与当前视频帧的图像边缘之间的距离,将该距离与预设距离进行比较,若该距离小于预设距离,则说明目标对象位于图像边缘位置,如图3b所示,则确定目标对象即将移动到相邻摄像头的拍摄范围内;获取相邻摄像头拍摄到的视频帧,通过平面投影不变量原理,确定目标对象位置在相邻摄像头拍摄到的视频帧中的对应位置,作为目标对象在相邻摄像头拍摄到的视频帧中的投影位置。这样,通过确定目标对象在相邻摄像头拍摄到的视频帧中的投影位置,有利于后续确定目标对象在相邻摄像头拍摄到的视频帧中的目标位置,以实现通过多个摄像头对目标对象进行跟踪定位。
步骤S203,根据投影位置确定视频帧中的目标搜索区域图像。其中,目标搜索区域图像是指目标对象的搜索区域图像。
具体地,服务器获取投影位置对应的图像面积与视频帧对应的图像面积之间的比值,查询预设的比值与图像放大倍数的对应关系,确定与该比值对应的图像放大倍数,作为投影位置对应的图像的图像放大倍数;将投影位置对应的图像放大该图像放大倍数,得到目标对象的搜索区域图像,作为视频帧中的目标搜索区域图像。
步骤S204,将目标搜索区域图像输入目标跟踪预测分类器,得到目标对象在视频帧中的目标位置。
具体地,服务器提取目标搜索区域图像中的图像特征,将目标搜索区域图像中的图像特征输入目标跟踪预测分类器,通过目标跟踪预测分类器对目标搜索区域图像中的图像特征进行卷积处理,得到预测位置,作为目标对象在视频帧中的目标位置。这样,通过多个摄像头来放大视场角,避免了单个摄像头的视场角较小,目标对象容易超出视野,导致确定出的目标位置的准确率较低的缺陷,从而提高了目标位置的确定准确率。
上述基于多摄像头的目标位置确定方法中,通过预先训练的目标跟踪预测分类器,确定当前摄像头拍摄到的当前视频帧中的目标对象位置;若目标对象位置与当前视频帧的图像边缘之间的距离小于预设距离,则根据目标对象位置,确定目标对象在相邻摄像头拍摄到的视频帧中的投影位置;该相邻摄像头为与当前摄像头相邻的下一摄像头;然后根据投影位置确定视频帧中的目标搜索区域图像;将目标搜索区域图像输入目标跟踪预测分类器,得到目标对象在视频帧中的目标位置;实现了通过多个摄像头对目标对象的位置进行跟踪定位的目的,通过多个摄像头来放大视场角,避免了单个摄像头的视场角较小,目标对象容易超出视野,导致确定出的目标位置的准确率较低的缺陷,从而提高了目标位置的确定准确率;同时,通过多个摄像头之间的跟踪切换,计算机每次只处理一个摄像头的图片,有利于在拍摄过程中实时确定目标对象的目标位置,进一步提高了目标位置的确定的实时性。
在一个实施例中,预先训练的目标跟踪预测分类器通过下述方式训练得到:采集目标对象所在的样本视频帧以及目标对象在样本视频帧中的实际位置;确定样本视频帧中的目标搜索区域图像,并提取目标搜索区域图像的图像特征;将目标搜索区域图像的图像特征输入待训练的目标跟踪预测分类器,得到目标对象的预测位置;根据目标对象的预测位置和实际位置,确定目标跟踪预测分类器的损失值;根据损失值对目标跟踪预测分类器进行训练,直到根据训练后的目标跟踪预测分类器得到的损失值小于预设损失值,则将目标跟踪预测分类器,作为预先训练的目标跟踪预测分类器。
具体地,服务器采集多个摄像头拍摄到的包含有目标对象的视频帧,作为样本视频帧;根据目标检测算法识别出目标对象在样本视频帧中的实际位置;根据目标对象在样本视频帧中的实际位置,确定样本视频帧中的搜索区域图像,作为样本视频帧中的目标搜索区域图像;提取目标搜索区域图像的图像特征,将目标搜索区域图像的图像特征输入待训练的目标跟踪预测分类器,通过目标跟踪预测分类器对目标搜索区域图像的图像特征进行卷积处理,得到目标对象的预测位置;根据目标对象的预测位置和实际位置,结合目标跟踪预测分类器的损失函数,得到目标跟踪预测分类器的损失值;通过最速梯度算法,基于损失值,对目标跟踪预测分类器进行方反复训练,直到根据训练后的目标跟踪预测分类器得到的损失值小于预设损失值,则将当前的目标跟踪预测分类器,作为预先训练的目标跟踪预测分类器。
举例说明,参考图4,服务器在摄像头的初始帧中选定所要跟踪的目标对象,并确定搜索区域图像的大小,对搜索区域图像中的目标对象图像作数据增强,比如翻转、旋转、平移、模糊增强等,利用预训练好的孪生网络模型提取数据增强后的搜索区域图像的卷积特征,以训练目标跟踪预测分类器;具体训练过程如下:
首先,定义以下损失函数:
其中,Sstrain为样本视频帧的个数,rθ为计算预测位置和目标位置的残差函数,x为搜索区域图像的图像特征,f为所求滤波器,即目标跟踪预测分类器,c为目标位置,λ为惩罚系数。其中
rθ(x*f,c)=vc·(mc(x*f)+(1-mc)max(0,x*f)-yc);
其中,vc为空间权重,在目标中心时增大,在模糊的转化区减小,mc为目标区域,大小在目标位置接近1,在背景区域位置接近0,yc为真值标签。
然后,通过输入初始视频帧翻转、旋转、平移、模糊增强的多张图像和标签,并通过最速梯度算法获取最优的目标跟踪预测分类器f。
在本实施例中,通过对目标跟踪预测分类器进行多次训练,有利于提高通过目标跟踪预测分类器输出的目标对象的目标位置的准确率。
在一个实施例中,上述步骤S201,通过预先训练的目标跟踪预测分类器,确定当前摄像头拍摄到的当前视频帧中的目标对象位置,包括:获取当前摄像头拍摄到的当前视频帧的上一视频帧中的目标对象位置;根据上一视频帧中的目标对象位置,确定当前视频帧的目标搜索区域图像;提取当前视频帧的目标搜索区域图像的图像特征;将图像特征输入预先训练的目标跟踪预测分类器,得到当前视频帧中的目标对象位置。
具体地,参考图4,服务器从目标对象的历史位置信息中,获取当前摄像头拍摄到的当前视频帧的上一视频帧中的目标对象位置;在输入的当前视频帧中,以上一视频帧中的目标对象位置的中心位置为原点,以上一视频帧中的目标对象位置对应的图像的一定放大倍数为搜索区域图像;提取搜索区域图像中的卷积特征,通过预先训练的DiMP视觉跟踪模型获取搜索区域图像中的卷积特征与目标跟踪预测分类器之间的相关响应图;将响应图中最大值所在的位置,作为目标对象的中心位置,并通过DiMP视觉跟踪模型中的IOU-Net网络,基于目标对象的中心位置,确定目标对象的尺度大小,从而确定当前视频帧中的目标对象位置。
在本实施例中,通过确定当前摄像头拍摄到的当前视频帧中的目标对象位置,有利于后续判断目标对象是否移动到相邻摄像头的拍摄范围内,进而切换摄像头对目标对象进行跟踪定位。
在一个实施例中,根据上一视频帧中的目标对象位置,确定当前视频帧的目标搜索区域图像,包括:获取上一视频帧中的目标对象位置对应的图像面积与上一视频帧对应的图像面积之间的比值;获取与比值对应的图像放大倍数;在当前视频帧中,以上一视频帧中的目标对象位置中的中心位置为待确定的目标搜索区域图像的原点,以目标对象位置对应的图像的图像放大倍数为待确定的目标搜索区域图像的图像大小,得到当前视频帧的目标搜索区域图像。
举例说明,服务器计算上一视频帧中的目标对象位置对应的图像面积与上一视频帧对应的图像面积之间的比值γ,当γ≤γ
1时,判定目标对象为小目标,此时设定较大的搜索区域,将目标对象位置对应的图像面积放大
倍,作为搜索区域图像的大小,同时将目标对象位置对应的图像通过双线性插值放大τ倍作为新的目标对象位置对应的图像;当γ>γ
1时,判定目标对象为常规目标,则将目标对象位置对应的图像面积放大
倍,作为搜索区域图像的大小。
其中,γ为上一视频帧中的目标对象位置对应的图像面积与上一视频帧对应的图像面积之间的比值之间的比值,γ
1判定阈值,为经验值;s
object为目标对象位置对应的原图像大小,w
object,h
object为目标对象位置对应的原图像的宽和高,w
resize,h
resize为通过双线性插值将目标对象位置对应的原图像放大τ倍的宽和高;s
search为搜索区域图像的大小,
和
分别为小目标和普通目标的搜索区域图像的放大系数。
在本实施例中,根据上一视频帧中的目标对象位置,确定当前视频帧的目标搜索区域图像,有利于后续提取当前视频帧的目标搜索区域图像的图像特征,并将图像特征输入预先训练的目标跟踪预测分类器,得到当前视频帧中的目标对象位置。
在一个实施例中,上述步骤S202,根据目标对象位置,确定目标对象在相邻摄像头拍摄到的视频帧中的投影位置,包括:获取目标对象位置中的第一位置信息和第二位置信息;第一位置信息和第二位置信息分别表示目标对象位置对应的矩形框的左上方位置坐标和右下方位置坐标;分别确定相邻摄像头拍摄到的视频帧中,与第一位置信息对应的第三位置信息以及与第二位置信息对应的第四位置信息;获取第三位置信息和第四位置信息所组成的矩形框,作为目标对象在相邻摄像头拍摄到的视频帧中的投影位置。
其中,第三位置信息和第四位置信息分别是指相邻摄像头拍摄到的视频帧中待确定的投影位置对应的矩形框的左上方位置坐标和右下方位置坐标。
举例说明,参考图5,以两两相邻摄像头为一组,在视野重叠区域选取类似于图5中的5组对应的点,要求任意三点不在同一直线上,且所有点都在两个摄像头的视角重叠区域,同时摄像头1和摄像头2相同位置的点属于同一个编号;然后定义以下两个不变量:
其中,
{a,b,c}∈{1,2,3,4,5},i∈{1,2}的值通过下面式子计算得到
接着,在实际应用中,服务器依次使用目标对象位置的目标框的左上方位置坐标和右下方位置坐标替换上述标定的摄像头1的投影不变矩阵中的第五个点坐标,化简两个方程后可得:
通过下式依次计算投影后的左上方位置坐标和右下方位置坐标:
其中,公式中的a1、b1、c1是将图5中的摄像头1中的第5个点替换为上述左上方位置坐标或者右下方位置坐标后,把图5中的摄像头2对应的第5个点
当做未知数后,化简上述方程后的得到的数。
例如,如图5所示,先用目标对象位置的目标框的左上方位置坐标代表目标框所在画面的第5个点,然后通过投影不变量原理,计算对应于摄像头2中的目标框的左上方位置坐标;然后将目标对象位置的目标框的右下方位置坐标代表目标框所在画面的第5个点,然后通过投影不变量原理,计算对应于摄像头2中的目标框的右下方位置坐标。这样就可以在摄像头2中的画面投影得到新的左上方位置坐标和右下方位置坐标,并将投影后的左上方位置坐标和右下方位置坐标对应的矩形框,作为投影后的目标框位置,即目标对象在摄像头2拍摄到的视频帧中的投影位置.
在本实施例中,通过投影不变量原理,确定目标对象在相邻摄像头拍摄到的视频帧中的投影位置,有利于后续确定目标对象在相邻摄像头拍摄到的视频帧中的目标位置,以实现通过多个摄像头对目标对象的连续跟踪定位,从而提高了目标位置的确定准确率。
在一个实施例中,上述步骤S201,在通过预先训练的目标跟踪预测分类器,确定当前摄像头拍摄到的当前视频帧中的目标对象位置之后,还包括:若目标对象位置与当前视频帧的图像边缘之间的距离大于或者等于预设距离,则获取当前视频帧的响应图的平均峰值相关能量比和峰旁比,以及当前视频帧之前的各个历史视频帧的响应图的平均峰值相关能量比和峰旁比;根据当前视频帧以及各个历史视频帧的响应图的平均峰值相关能量比,确定第三比值;根据当前视频帧以及各个历史视频帧的响应图的峰旁比,确定第四比值;根据第三比值和第四比值,确定与目标跟踪预测分类器对应的学习率;根据学习率,对目标跟踪预测分类器进行更新。
其中,当前视频帧的响应图是指根据当前视频帧的目标搜索区域图像得到的响应图。
举例说明,服务器获取目标对象位置与当前视频帧的图像边缘之间的距离,将该距离与预设距离进行比较,若该距离大于或者等于预设距离,则说明目标对象远离图像边缘位置,如图3a所示,目标对象位于图像中心位置,则确定目标对象仍然处于当前摄像头的拍摄范围内;若当前视频帧为第t视频帧,则可以通过下述公式获取当前视频帧(即第t视频帧)的响应图Ft的平均峰值相关能量比(Average Peak-to-Correlation Energy,APCE):
其中,
表示第t视频帧的响应图F
t中的最大响应值,
表示第t视频帧的响应图F
t中的最小响应值,
表示第t视频帧的响应图F
t中的第w
F行和第h
F列的元素的响应值;
接着,服务器计算第t视频帧的响应图Ft的峰旁比(Peak-to-Sidelobe,PSR):
其中,μt表示响应图Ft的均值,σt表示响应图Ft的方差。
然后,参照上述计算第t视频帧的响应图Ft的平均峰值相关能量比APCEt和峰旁比PSRt的方式,计算当前视频帧之前的各个历史视频帧(即第1视频帧到第t-1视频帧)的响应图的平均峰值相关能量比和峰旁比;根据当前视频帧以及各个历史视频帧的响应图的平均峰值相关能量比,确定第三比值:
根据当前视频帧以及各个历史视频帧的响应图的峰旁比,确定第四比值:
其中,mean()表示取平均值。
接着,根据第三比值和第四比值,确定与目标跟踪预测分类器对应的学习率,比如:
其中,η1、η2表示目标跟踪预测分类器的学习率,τ1和τ2分别表示第三预设阈值和第四预设阈值。
最后,根据学习率,对目标跟踪预测分类器进行更新,得到更新后的目标跟踪预测分类器;获取当前摄像头拍摄到的下一视频帧,通过更新后的目标跟踪预测分类器,确定下一视频帧中的目标对象位置。
在本实施例中,在通过预先训练的目标跟踪预测分类器,确定当前摄像头拍摄到的当前视频帧中的目标对象位置之后,对目标跟踪预测分类器进行更新,有利于进一步提高通过目标跟踪预测分类器输出的目标对象的目标位置的准确率。
在一个实施例中,上述步骤S204,在将目标搜索区域图像输入目标跟踪预测分类器,得到目标对象在视频帧中的目标位置之后,还包括:获取视频帧的响应图的平均峰值相关能量比和峰旁比,以及视频帧之前的各个历史视频帧的响应图的平均峰值相关能量比和峰旁比;根据视频帧以及各个历史视频帧的响应图的平均峰值相关能量比,确定第一比值;根据视频帧以及各个历史视频帧的响应图的峰旁比,确定第二比值;若第一比值大于或者等于第一预设阈值,且第二比值大于或者等于第二预设阈值,则确认视频帧的响应图满足第一预设条件;若视频帧的响应图满足第一预设条件,则确认目标位置校验通过;获取视频帧的响应图满足第一预设条件时,目标跟踪预测分类器对应的学习率;根据学习率,对目标跟踪预测分类器进行更新。
举例说明,假设相邻摄像头拍摄到的视频帧为第m视频帧,则参照上述获取当前视频帧的响应图的平均峰值相关能量比和峰旁比的方式,获取第m视频帧的平均峰值相关能量比以及峰旁比:
参照上述获取第m视频帧的平均峰值相关能量比以及峰旁比的计算方式,计算视频帧之前的各个历史视频帧(即第1视频帧到第m-1视频帧)的响应图的平均峰值相关能量比和峰旁比;根据视频帧以及各个历史视频帧的响应图的平均峰值相关能量比,确定第一比值:
接着,根据视频帧以及各个历史视频帧的响应图的峰旁比,确定第二比值:
若第一比值大于或者等于第一预设阈值k1,且第二比值大于或者等于第二预设阈值k2,即
则确认视频帧(即第m视频帧)的响应图满足第一预设条件;若视频帧的响应图满足第一预设条件,说明在存在基于投影不变量投影变化的误差下,相邻摄像头(即新摄像头)的拍摄画面中定位到了目标对象,则确认目标位置校验通过;获取视频帧的响应图满足第一预设条件时,目标跟踪预测分类器对应的学习率η1;根据学习率η1,对目标跟踪预测分类器进行更新,得到更新后的目标跟踪预测分类器;获取相邻摄像头拍摄到的下一视频帧,通过更新后的目标跟踪预测分类器,确定该下一视频帧中的目标对象位置。
在本实施例中,在将目标搜索区域图像输入目标跟踪预测分类器,得到目标对象在视频帧中的目标位置之后,通过对目标对象在视频帧中的目标位置进行校准,有利于提高目标位置的确定准确率;同时,对目标跟踪预测分类器进行更新,有利于进一步提高通过目标跟踪预测分类器输出的目标对象的目标位置的准确率。
在一个实施例中,在根据视频帧以及各个历史视频帧的响应图的峰旁比,确定第二比值之后,在获取视频帧的响应图满足第一预设条件时,目标跟踪预测分类器对应的学习率之前,还包括:若视频帧的响应图不满足第一预设条件,则重新确定视频帧中的目标搜索区域图像;将重新确定的目标搜索区域图像再次输入目标跟踪预测分类器,直到根据目标跟踪预测分类器得到的视频帧的响应图满足第一预设条件;若根据目标跟踪预测分类器得到的视频帧的响应图满足第一预设条件,则获取目标跟踪预测分类器输出的目标对象的预测位置;将目标对象在视频帧中的目标位置更新为预测位置。
举例说明,服务器识别到视频帧的响应图不满足第一预设条件,说明在确定投影位置的过程中出现了投影误差,如图6a所示,则逐步放大视频帧中的目标搜索区域图像,以重新确定该视频帧中的目标搜索区域图像,防止投影误差导致目标对象不在目标搜索区域图像中;然后提取重新确定的目标搜索区域图像中的图像特征,将该图像特征再次输入目标跟踪预测分类器,以重新跟踪定位目标对象;若根据目标跟踪预测分类器得到的视频帧的响应图满足第一预设条件,则说明服务器在相邻摄像头(即新摄像头)的拍摄画面中重新定位到了目标对象,如图6b所示,并将目标对象在视频帧中的目标位置更新为当前目标跟踪预测分类器输出的目标对象的预测位置,以对目标对象在视频帧中的目标位置进行校准;最后,服务器获取视频帧的响应图满足第一预设条件时,目标跟踪预测分类器对应的学习率η1;根据学习率η1,对目标跟踪预测分类器进行更新,得到更新后的目标跟踪预测分类器;获取相邻摄像头拍摄到的下一视频帧,通过更新后的目标跟踪预测分类器,确定该下一视频帧中的目标对象位置。
在本实施例中,在出现投影误差的情况下,重新确定视频帧中的目标搜索区域图像,已重新跟踪定位目标对象,有利于提高目标位置的确定准确率;同时,在跟踪定位到目标对象之后,对目标跟踪预测分类器进行更新,有利于进一步提高通过目标跟踪预测分类器输出的目标对象的目标位置的准确率。
在一个实施例中,如图7所示,提供了另一种基于多摄像头的目标位置确定方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S701,对待训练的目标跟踪预测分类器进行训练,得到训练完成的目标跟踪预测分类器,作为预先训练的目标跟踪预测分类器。
步骤S702,获取当前摄像头拍摄到的当前视频帧的上一视频帧中的目标对象位置。
步骤S703,获取上一视频帧中的目标对象位置对应的图像面积与上一视频帧对应的图像面积之间的比值;获取与比值对应的图像放大倍数。
步骤S704,在当前视频帧中,以上一视频帧中的目标对象位置中的中心位置为待确定的目标搜索区域图像的原点,以目标对象位置对应的图像的图像放大倍数为待确定的目标搜索区域图像的图像大小,得到当前视频帧的目标搜索区域图像。
步骤S705,提取当前视频帧的目标搜索区域图像的图像特征;将图像特征输入预先训练的目标跟踪预测分类器,得到当前视频帧中的目标对象位置。
需要说明的是,若目标对象位置与当前视频帧的图像边缘之间的距离大于或者等于预设距离,则执行步骤S706至步骤S708、S722;若目标对象位置与当前视频帧的图像边缘之间的距离小于预设距离,则执行步骤S709至步骤S715。
步骤S706,若目标对象位置与当前视频帧的图像边缘之间的距离大于或者等于预设距离,则获取当前视频帧的响应图的平均峰值相关能量比和峰旁比,以及当前视频帧之前的各个历史视频帧的响应图的平均峰值相关能量比和峰旁比。
步骤S707,根据当前视频帧以及各个历史视频帧的响应图的平均峰值相关能量比,确定第三比值;根据当前视频帧以及各个历史视频帧的响应图的峰旁比,确定第四比值。
步骤S708,根据第三比值和第四比值,确定与目标跟踪预测分类器对应的学习率;根据学习率,对目标跟踪预测分类器进行更新。
步骤S709,若目标对象位置与当前视频帧的图像边缘之间的距离小于预设距离,则获取目标对象位置中的第一位置信息和第二位置信息;第一位置信息和第二位置信息分别表示目标对象位置对应的矩形框的左上方位置坐标和右下方位置坐标。
步骤S710,分别确定相邻摄像头拍摄到的视频帧中,与第一位置信息对应的第三位置信息以及与第二位置信息对应的第四位置信息。
步骤S711,获取第三位置信息和第四位置信息所组成的矩形框,作为目标对象在相邻摄像头拍摄到的视频帧中的投影位置。
步骤S712,根据投影位置确定视频帧中的目标搜索区域图像。
步骤S713,将目标搜索区域图像输入目标跟踪预测分类器,得到目标对象在视频帧中的目标位置。
步骤S714,获取视频帧的响应图的平均峰值相关能量比和峰旁比,以及视频帧之前的各个历史视频帧的响应图的平均峰值相关能量比和峰旁比。
步骤S715,根据视频帧以及各个历史视频帧的响应图的平均峰值相关能量比,确定第一比值;根据视频帧以及各个历史视频帧的响应图的峰旁比,确定第二比值。
需要说明的是,若视频帧的响应图满足第一预设条件,则执行步骤S716、S717和S721;若视频帧的响应图不满足第一预设条件,则执行步骤S718、S719、S720和S721。
步骤S716,若第一比值大于或者等于第一预设阈值,且第二比值大于或者等于第二预设阈值,则确认视频帧的响应图满足第一预设条件。
步骤S717,若视频帧的响应图满足第一预设条件,则确认目标位置校验通过。
步骤S718,若视频帧的响应图不满足第一预设条件,则重新确定视频帧中的目标搜索区域图像。
步骤S719,将重新确定的目标搜索区域图像再次输入目标跟踪预测分类器,直到根据目标跟踪预测分类器得到的视频帧的响应图满足第一预设条件。
步骤S720,若根据目标跟踪预测分类器得到的视频帧的响应图满足第一预设条件,则获取目标跟踪预测分类器输出的目标对象的预测位置;将目标对象在视频帧中的目标位置更新为预测位置。
步骤S721,获取视频帧的响应图满足第一预设条件时,目标跟踪预测分类器对应的学习率;根据学习率,对目标跟踪预测分类器进行更新。
步骤S722,根据更新后的目标跟踪预测分类器,再对目标对象进行跟踪定位。
上述实施例,实现了通过多个摄像头对目标对象的位置进行跟踪定位的目的,通过多个摄像头来放大视场角,避免了单个摄像头的视场角较小,目标对象容易超出视野,导致确定出的目标位置的准确率较低的缺陷,从而提高了目标位置的确定准确率;同时,通过多个摄像头之间的跟踪切换,有利于在拍摄过程中实时确定目标对象的目标位置,进一步提高了目标位置的确定准确率。
在一个实施例中,参考图8,本申请还提供一种应用场景,该应用场景应用上述的基于多摄像头的目标位置确定方法。具体地,该基于多摄像头的目标位置确定方法在该应用场景的应用如下:
在当前摄像头跟踪流程中,服务器采集当前摄像头的起始帧,根据起始帧的目标区域占比,确定搜索区域大小;提取搜索区域中的图像特征,根据搜索区域中的图像特征,对孪生网络目标跟踪分类器进行训练,得到训练完成的孪生网络目标跟踪分类器;采集当前帧,根据当前帧的上一帧的目标区域占比,确定当前帧的搜索区域;提取搜索区域的图像特征,将图像特征与孪生网络目标跟踪分类器进行卷积相关运算,得到图像特征与孪生网络目标跟踪分类器之间的相关响应值,并通过牛顿迭代算法,确定目标对象位置;若目标对象位置不处于当前帧的图像边缘,则确定目标对象仍然处于当前摄像头的拍摄范围内,并计算当前帧的平均峰值相关能量比APCE和峰旁比PSR,根据APCE和PSR,更新孪生网络目标跟踪分类器;若目标对象位置处于当前帧的图像边缘,则基于平面投影不变量原理,确定目标对象在相邻摄像头拍摄到的视频帧中的投影位置,并跳转至切换摄像头跟踪流程。
在切换摄像头跟踪流程中,服务器采集切换摄像头当前帧,根据当前帧的上一帧的目标区域占比,确定当前帧的搜索区域;提取搜索区域的图像特征,将图像特征与孪生网络目标跟踪分类器进行卷积相关运算,得到图像特征与孪生网络目标跟踪分类器之间的相关响应值,并通过牛顿迭代算法,确定目标对象位置,若定位到目标对象,则计算当前帧的平均峰值相关能量比APCE和峰旁比PSR,根据APCE和PSR,更新孪生网络目标跟踪分类器;若未定位到目标对象,则改变当前帧的搜索区域大小,重新对当前帧中的目标对象进行跟踪定位,直到在当前帧中跟踪定位到目标对象。
在实际场景中,假设在办公室中安装了左中右三个摄像头,以覆盖办公室的所有视野;目标对象在办公室中活动时,服务器可以基于这三个摄像头,对目标对象进行实时跟踪定位;如图9(a)所示,目标对象从中间摄像头的拍摄范围移动到左边摄像头的拍摄范围时,服务器可以在左边摄像头的拍摄画面中跟踪定位到目标对象;如图9(b)所示,目标对象从中间摄像头的拍摄范围移动到右边摄像头的拍摄范围时,服务器可以在右边摄像头的拍摄画面中跟踪定位到目标对象;如图9(c)所示,目标对象从左边摄像头的拍摄范围移动到中间摄像头的拍摄范围时,服务器可以在中间摄像头的拍摄画面中跟踪定位到目标对象;如图9(d)所示,目标对象从右边摄像头的拍摄范围移动到中间摄像头的拍摄范围时,服务器可以在中间摄像头的拍摄画面中跟踪定位到目标对象。
上述实施例,可以达到以下技术效果:(1)采用多个摄像头进行跟踪,充分的放大了视场角,防止目标超出视野,同时每次只使用到一个相机的图片,不影响跟踪速度,仍然可以实时跟踪。(2)添加摄像头切换跟踪后,在DiMP视觉跟踪算法层面添加投影切换跟踪准确性判断,进行搜索区域调整重定位目标,消除投影误差带来的跟踪影响。(3)改进DiMP视觉跟踪算法,添加了初始目标搜索区域的调整和预测结束后自适应多学习率模型更新,提升跟踪定位的准确性。
应该理解的是,虽然图2、7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种基于多摄像头的目标位置确定装置,包括:第一位置确定模块1010、投影位置确定模块1020、区域图像确定模块1030和第二位置确定模块1040,其中:
第一位置确定模块1010,用于通过预先训练的目标跟踪预测分类器,确定当前摄像头拍摄到的当前视频帧中的目标对象位置。
投影位置确定模块1020,用于若目标对象位置与当前视频帧的图像边缘之间的距离小于预设距离,则根据目标对象位置,确定目标对象在相邻摄像头拍摄到的视频帧中的投影位置;相邻摄像头为与当前摄像头相邻的下一摄像头。
区域图像确定模块1030,用于根据投影位置确定视频帧中的目标搜索区域图像。
第二位置确定模块1040,用于将目标搜索区域图像输入目标跟踪预测分类器,得到目标对象在视频帧中的目标位置。
在一个实施例中,基于多摄像头的目标位置确定装置还包括模型训练模块,用于采集目标对象所在的样本视频帧以及目标对象在样本视频帧中的实际位置;确定样本视频帧中的目标搜索区域图像,并提取目标搜索区域图像的图像特征;将目标搜索区域图像的图像特征输入待训练的目标跟踪预测分类器,得到目标对象的预测位置;根据目标对象的预测位置和实际位置,确定目标跟踪预测分类器的损失值;根据损失值对目标跟踪预测分类器进行训练,直到根据训练后的目标跟踪预测分类器得到的损失值小于预设损失值,则将目标跟踪预测分类器,作为预先训练的目标跟踪预测分类器。
在一个实施例中,第一位置确定模块1010还用于获取当前摄像头拍摄到的当前视频帧的上一视频帧中的目标对象位置;根据上一视频帧中的目标对象位置,确定当前视频帧的目标搜索区域图像;提取当前视频帧的目标搜索区域图像的图像特征;将图像特征输入预先训练的目标跟踪预测分类器,得到当前视频帧中的目标对象位置。
在一个实施例中,第一位置确定模块1010还用于获取上一视频帧中的目标对象位置对应的图像面积与上一视频帧对应的图像面积之间的比值;获取与比值对应的图像放大倍数;在当前视频帧中,以上一视频帧中的目标对象位置中的中心位置为待确定的目标搜索区域图像的原点,以目标对象位置对应的图像的图像放大倍数为待确定的目标搜索区域图像的图像大小,得到当前视频帧的目标搜索区域图像。
在一个实施例中,投影位置确定模块1020还用于获取目标对象位置中的第一位置信息和第二位置信息;第一位置信息和第二位置信息分别表示目标对象位置对应的矩形框的左上方位置坐标和右下方位置坐标;分别确定相邻摄像头拍摄到的视频帧中,与第一位置信息对应的第三位置信息以及与第二位置信息对应的第四位置信息;获取第三位置信息和第四位置信息所组成的矩形框,作为目标对象在相邻摄像头拍摄到的视频帧中的投影位置。
在一个实施例中,基于多摄像头的目标位置确定装置还包括第一模型更新模块,用于获取视频帧的响应图的平均峰值相关能量比和峰旁比,以及视频帧之前的各个历史视频帧的响应图的平均峰值相关能量比和峰旁比;根据视频帧以及各个历史视频帧的响应图的平均峰值相关能量比,确定第一比值;根据视频帧以及各个历史视频帧的响应图的峰旁比,确定第二比值;若第一比值大于或者等于第一预设阈值,且第二比值大于或者等于第二预设阈值,则确认视频帧的响应图满足第一预设条件;若视频帧的响应图满足第一预设条件,则确认目标位置校验通过;获取视频帧的响应图满足第一预设条件时,目标跟踪预测分类器对应的学习率;根据学习率,对目标跟踪预测分类器进行更新。
在一个实施例中,基于多摄像头的目标位置确定装置还包括位置更新模块,用于若视频帧的响应图不满足第一预设条件,则重新确定视频帧中的目标搜索区域图像;将重新确定的目标搜索区域图像再次输入目标跟踪预测分类器,直到根据目标跟踪预测分类器得到的视频帧的响应图满足第一预设条件;若根据目标跟踪预测分类器得到的视频帧的响应图满足第一预设条件,则获取目标跟踪预测分类器输出的目标对象的预测位置;将目标对象在视频帧中的目标位置更新为预测位置。
在一个实施例中,基于多摄像头的目标位置确定装置还包括第二模型更新模块,用于若目标对象位置与当前视频帧的图像边缘之间的距离大于或者等于预设距离,则获取当前视频帧的响应图的平均峰值相关能量比和峰旁比,以及当前视频帧之前的各个历史视频帧的响应图的平均峰值相关能量比和峰旁比;根据当前视频帧以及各个历史视频帧的响应图的平均峰值相关能量比,确定第三比值;根据当前视频帧以及各个历史视频帧的响应图的峰旁比,确定第四比值;根据第三比值和第四比值,确定与目标跟踪预测分类器对应的学习率;根据学习率,对目标跟踪预测分类器进行更新。
上述各个实施例,通过基于多个摄像头的目标位置确定装置,实现了通过多个摄像头对目标对象的位置进行跟踪定位的目的,通过多个摄像头来放大视场角,避免了单个摄像头的视场角较小,目标对象容易超出视野,导致确定出的目标位置的准确率较低的缺陷,从而提高了目标位置的确定准确率;同时,通过多个摄像头之间的跟踪切换,有利于在拍摄过程中实时确定目标对象的目标位置,进一步提高了目标位置的确定准确率。
关于基于多摄像头的目标位置确定装置的具体限定可以参见上文中对于基于多摄像头的目标位置确定方法的限定,在此不再赘述。上述基于多摄像头的目标位置确定装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储视频帧、目标位置等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于多摄像头的目标位置确定方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。