应用于全景图像的目标跟踪方法及全景相机与流程

文档序号:13427376阅读:333来源:国知局

本发明涉及全景视频技术领域,尤其涉及一种应用于全景图像的目标跟踪方法及全景相机。



背景技术:

全景视频是由具有一些有时间关联的全景图像序列组成,从视频中可以获取真实的全景景象,并且可以通过时间来定位视频帧。拍摄静止场景的立方体全景视频的全局运动通常以水平运动为主,覆盖了360度场景范围,对于连续多帧的全景图像而言,目标物体会从立方体全景的一个面移动到相邻面。由于其具有动态背景,不适合使用背景差的方法进行动态物体的检测和跟踪,因此需要设计一种快速高效的立方体全景视频中的目标跟踪方法。

现有技术在全景视频中跟踪物体的方法,通常根据用户观看的角度由全景视频图像投影成投影视图,并将其作为目标跟踪的输入图像。跟踪过程中建立目标物体的模型,并根据前后帧建立跟踪目标出现在不同区域的概率,以较大概率的位置作为目标的新位置;采用上述方法的前提是不会出现漏检,其所关注的方向一定包含需要跟踪的物体,而在出现漏检的情况下,其跟踪的准确性极低,从而导致出现现有方法存在全景图像中的目标跟踪准确性低的问题。

而且采用上述方法,首先需要先获取全景视频图像再进行投影得到预设视场的投影图像,再进行前后帧跟踪目标出现在不同区域的概率,以概率的大小来确定跟踪目标的新位置,其计算步骤较多及计算量较大,因而促使全景视频的跟踪效率较低,导致出现全景图像中的目标跟踪的实时性较差的问题。



技术实现要素:

本发明提供了一种应用于全景图像的目标跟踪方法及全景相机,能够有效提高目标跟踪的实时性和准确性。

本申请第一方面提供了一种应用于全景图像的目标跟踪方法,包括:利用n个广角镜头每一时刻采集n个广角图像,以及在每一时刻采集到n个广角图像时,将该时刻采集的n个广角图像拼接成全景视频中的一帧全景图像,其中,n为不小于2的整数;选取拼接成的某帧全景图像为初始帧全景图像,将所述初始帧全景图像及之后的每帧全景图像分成m个子图像,其中,每个子图像为对应全景图像中的部分图像,n为不小于2的整数;从所述初始帧全景图像分成的m个子图像中选取p个跟踪目标,其中p为不小于1的整数;以所述初始帧全景图像为第1帧全景图像,依次针对第1帧全景图像之后的每帧全景图像执行以下步骤,其中,i依次从1取到s,s为大于1的整数:利用第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标。

结合第一方面,在第一方面的第一种可能的实施方式中,每帧全景图像分成的m个子图像中每相邻两个子图像之间具有重叠区域。

结合第一方面的第一种可能的实施方式中,在第一方面的第二种可能的实施方式中,所述从所述初始帧全景图像分成的m个子图像中选取p个跟踪目标,具体包括:根据预设条件,从所述初始帧全景图像分成的m个子图像中选取p个跟踪目标。

结合第一方面的第二种可能的实施方式中,在第一方面的第三种可能的实施方式中,所述根据预设条件,从所述初始帧全景图像分成的m个子图像中选取p个跟踪目标,具体包括:根据所述预设条件,从所述初始帧全景图像分成的m个子图像中选取p个跟踪目标;从所述p个跟踪目标中获取具有重叠区域的跟踪目标对集;从所述所有跟踪目标中去除掉每个跟踪目标对中的一个跟踪目标,将余下的全部跟踪目标作为所述p个跟踪目标。

结合第一方面的第三种可能的实施方式中,在第一方面的第四种可能的实施方式中,所述从所述所有跟踪目标中去除掉每个跟踪目标对中的一个跟踪目标,将余下的全部跟踪目标作为所述p个跟踪目标,具体包括:获取每个跟踪目标对中每个跟踪目标的置信度;去除掉每个跟踪目标对中置信度小的跟踪目标,得到余下的全部跟踪目标并将其作为所述p个跟踪目标。

结合第一方面,在第一方面的第五种可能的实施方式中,所述利用第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,具体包括:创建与每帧全景图像中的m个子图像一一对应的m个跟踪器;根据跟踪目标与子图像的对应关系,将第i帧全景图像中的每个跟踪目标添加到所述m个跟踪器中对应的跟踪器中进行跟踪。

结合第一方面,在第一方面的第六种可能的实施方式中,所述利用第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,具体包括:创建与每帧全景图像中的所有跟踪目标一一对应的q个跟踪器,q为不小于0的整数;将第i帧全景图像中的每个跟踪目标添加到所述q个跟踪器中对应的跟踪器中进行跟踪。

结合第一方面,在第一方面的第七种可能的实施方式中,在从所述初始帧全景图像分成的m个子图像中选取p个跟踪目标之后,所述方法还包括以下步骤:以所述初始帧全景图像为起点,每间隔k帧全景图像从相应帧全景图像对应的m个子图像中选取至少一个跟踪目标,其中,k为不小于2的整数;在每个间隔k帧全景图像的周期内,将选取至少一个跟踪目标的相应帧全景图像作为第1帧全景图像,依次针对第1帧全景图像之后的每帧全景图像执行以下步骤,其中,i依次从1取到k+1;利用第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标。

结合第一方面或第一方面的第七种可能的实施方式,在第一方面的第八种可能的实施方式中,在得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标之后,所述方法还包括:将第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标显示在第(i+1)帧全景图像或第(i+2)帧全景图像中。

结合第一方面或第一方面的第七种可能的实施方式,在第一方面的第九种可能的实施方式中,在得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标时,所述方法还包括以下步骤:检测第(i+1)帧全景图像中的m个子图像中的每个跟踪目标是否均跟踪成功;在每检测到第(i+1)帧全景图像中的一个跟踪目标跟踪失败时,根据子图像之间的邻接关系,获取与该跟踪失败的跟踪目标所在的子图像邻接的相邻子图像;利用跟踪失败的跟踪目标在第(i+2)帧全景图像中的相邻子图像中进行目标检测,得到跟踪失败的跟踪目标对应的检测结果;从所有跟踪失败的跟踪目标对应的检测结果中获取检测结果表征检测成功的每个跟踪目标,将检测成功的每个跟踪目标和跟踪得到的至少一个跟踪目标作为第(i+2)帧全景图像中的m个子图像中的所有跟踪目标。

结合第一方面的第八种可能的实施方式,在第一方面的第十种可能的实施方式中,在每个子图像与至少一个子图像存在重叠区域,且每检测到第(i+1)帧全景图像中的一个跟踪目标跟踪失败时,所述方法还包括以下步骤:检测该跟踪失败的跟踪目标是否位于两个子图像之间的重叠区域内;若检测到该跟踪失败的跟踪目标不位于两个子图像之间的重叠区域内,则丢弃该跟踪失败的跟踪目标;若检测到该跟踪失败的跟踪目标位于两个子图像之间的重叠区域内,则获取与该跟踪失败的跟踪目标所在的子图像具有重叠区域的特定子图像;利用跟踪失败的跟踪目标在第(i+2)帧全景图像中的所述特定子图像中进行目标检测,得到跟踪失败的跟踪目标对应的检测结果;从所有跟踪失败的跟踪目标对应的检测结果中获取检测结果表征检测成功的每个跟踪目标,将检测成功的每个跟踪目标和跟踪得到的至少一个跟踪目标作为第(i+2)帧全景图像中的m个子图像中的所有跟踪目标。

结合第一方面或第一方面的第七种可能的实施方式,在第一方面的第十一种可能的实施方式中,所述利用第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标,具体包括:检测i是否不小于2;若i小于2,则通过目标跟踪算法对第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标;若i不小于2,则获取第i帧全景图像中的m个子图像中的每个跟踪目标的运动轨迹;利用第i帧全景图像中的m个子图像中的每个跟踪目标的运动轨迹,预测出第(i+1)帧全景图像中的m个子图像中的至少一个跟踪目标的新位置,将预测出新位置的至少一个跟踪目标作为第(i+1)帧全景图像中的m个子图像中的至少一个跟踪目标。

根据本发明的第二方面,提供一种全景相机,包括n个广角镜头和可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现以下步骤:利用n个广角镜头每一时刻采集n个广角图像,以及在每一时刻采集到n个广角图像时,将该时刻采集的n个广角图像拼接成全景视频中的一帧全景图像,其中,n为不小于2的整数;选取拼接成的某帧全景图像为初始帧全景图像,将所述初始帧全景图像及之后的每帧全景图像分成m个子图像,其中,每个子图像为对应全景图像中的部分图像,n为不小于2的整数;从所述初始帧全景图像分成的m个子图像中选取p个跟踪目标,其中p为不小于1的整数;以所述初始帧全景图像为第1帧全景图像,依次针对第1帧全景图像之后的每帧全景图像执行以下步骤,其中,i依次从1取到s,s为大于1的整数:利用第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标。

结合第二方面,在第二方面的第一种可能的实施方式中,所述程序被处理器执行时在从所述初始帧全景图像分成的m个子图像中选取p个跟踪目标之后的步骤时,还实现以下步骤:以所述初始帧全景图像为起点,每间隔k帧全景图像从相应帧全景图像对应的m个子图像中选取至少一个跟踪目标,其中,k为不小于2的整数;在每个间隔k帧全景图像的周期内,将选取至少一个跟踪目标的相应帧全景图像作为第1帧全景图像,依次针对第1帧全景图像之后的每帧全景图像执行以下步骤,其中,i依次从1取到k+1;利用第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标。

本发明的有益效果如下:

由于本申请实施例是在每一时刻采集到n个广角图像时,将其拼接成全景视频中的一帧全景图像,然后再利用拼接成的第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标;使得每个跟踪目标在在对应的子图像中进行目标跟踪;本发明实施例是在全景图像中直接跟踪,无需进行投影和计算概率等步骤。因此,与现有技术相比,在进行目标跟踪时其计算步骤减少和计算量降低,因而促使全景视频中目标跟踪效率提高,有效提高了全景视频中的多个目标跟踪的实时性。

附图说明

图1为本发明实施例中应用于全景图像的目标跟踪方法的流程图;

图2为本发明实施例中全景图像划分成m个子图像的结构示意图;

图3为本发明实施例中从m个子图像中选取p个跟踪目标的方法流程图;

图4为本发明实施例中目标跟踪方法的第二种流程图;

图5为本发明实施例中第一帧到第三帧全景图像的处理的时序图。

具体实施方式

本发明提供了一种应用于全景图像的目标跟踪方法及全景相机,能够有效提高目标跟踪的实时性和准确性。

如图1所示,本发明第一方面中提供了一种应用于全景图像的目标跟踪方法,包括以下步骤:

s101、利用n个广角镜头每一时刻采集n个广角图像,以及在每一时刻采集到n个广角图像时,将该时刻采集的n个广角图像拼接成全景视频中的一帧全景图像,其中,n为不小于2的整数;

s102、选取拼接成的某帧全景图像为初始帧全景图像,将所述初始帧全景图像及之后的每帧全景图像分成m个子图像,其中,每个子图像为对应全景图像中的部分图像,n为不小于2的整数;

s103、从所述初始帧全景图像分成的m个子图像中选取p个跟踪目标,其中p为不小于1的整数;

s104、以所述初始帧全景图像为第1帧全景图像,依次针对第1帧全景图像之后的每帧全景图像执行以下步骤,其中,i依次从1取到s,s为大于1的整数;

s1041、利用第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标。

本发明实施例中,所述n个广角镜头设置在一个全景相机中,也可以是所述n个广角镜头连接同一主机,本申请不作具体限制。下面具体以所述n个广角镜头设置在一个全景相机中为例进行说明。

本发明实施例中,所述n个广角镜头是由普通广角镜头、超广角镜头和鱼眼镜头中的一种或多种镜头组成,n不小于2的整数,本申请不作限制。

其中,在步骤s101中,在通过n个广角镜头录制全景视频过程中,利用n个广角镜头每一时刻采集n个广角图像;在每一时刻采集到n个广角图像时,实时的将该时刻采集到的n个广角图像拼接成全景视频中的一帧全景图像。

具体来讲,将每一时刻采集的n个广角图像实时的拼接成一帧全景图像,然后将每一时刻拼接成的全景图像按照时间顺序排列得到所述全景视频,由此可知,每一时刻采集到的n个广角图像拼接成的全景图像为所述全景视频中的一帧全景图像。

具体地,可以通过图像拼接算法将每一时刻采集的n个广角图像拼接成一帧全景图像。所述图像拼接算法例如可以是基于区域相关的拼接算法和基于特征相关的拼接方法等。

接下来执行步骤s102,首先选取所述初始帧全景图像,然后再将所述初始帧全景图像及之后的每帧全景图像分成m个子图像;其中,在将每帧全景图像分成m个子图像时,可以根据子图像的划分规则,将所述初始帧全景图像及之后的每帧全景图像分成m个子图像。所述划分规则可以是基于预设经度或预设纬度或基于预设经纬度的划分规则等,本申请不作具体限制。

具体来讲,由于本发明实施例需要进行目标跟踪,优选地,可以确保每帧全景图像分成的m个子图像中每相邻两个子图像之间具有重叠区域,以降低出现跟踪目标从一个子图像进入另一子图像时出现消失的情况的概率。若每个子图像与任意一个子图像不存在重叠区域,当跟踪目标从一个子图像进入另一个子图像中时,由于不存在重叠区域,从而会出现跟踪目标从子图像中消失的问题;而在每个子图像与至少一个子图像存在重叠区域,使得在目标有很大概率通过重叠区域从一个子图像进入另一个子图像。如此,能够有效降低目标从一个子图像进入另一子图像时出现消失的情况的概率,提高目标跟踪的准确性。

具体地,所述m个子图像中两两相邻的子图像之间的重叠率在预设范围内,例如所述重叠率可以不低于子图像大小的1%且不高于子图像的30%,此时,所述预设范围为1%-30%。优选地,所述m个子图像中两两相邻的图像之间的重叠率间不低于子图像大小的5%且不高于子图像的15%,此时,所述预设范围为5%-15%。本发明实施例中,由于两两相邻的子图像之间具有重叠率,如此,还可以记录每个子图像与其它子图像的邻接关系。

由于全景图像的分辨率通常较高,且跟踪目标具一定的大小,使得m的取值优选为4-8中的任意一个数,当然也可以去2、3或大于8的数,本申请不作具体限制。

例如,全景图像中选取的4个子图像为a子图像、a1子图像、a2子图像和a3子图像。若a子图像仅与a1子图像具有重叠区域,则a子图像的邻接关系为(a->a1);若a1子图像与a和a2子图像具有重叠区域,则a1子图像的邻接关系为(a1->(a,a2));若a2子图像与a1和a3子图像具有重叠区域,则a2子图像的邻接关系为(a2->(a1,a3));若a3子图像与a2子图像具有重叠区域,则a3子图像的邻接关系为(a3->a2)。

在本发明另一实施例中,全景相机使用的是与人眼相对一致的视角,在多数情况,全景图像中的南北两极图像包含跟踪目标的概率较小,且南北两极图像的畸变较大会导致出现跟踪的准确性较差的问题。如此,为了提升算法速度和跟踪的准确性,可以从每帧全景图像中的南北两极图像去掉之后的剩余全景图像中选取m个子图像,以提高跟踪的效率和准确性。

较优地,如图2所示,可以只保留全景图像的赤道一圈图像进行目标跟踪,全景图像的赤道方向共360度,假设将赤道附近内容拆分成m个子图像,则每个子图像包含的经度范围为360/n+2b,b为相邻的两幅图像重合的部分,一般情况下,5≤b≤360*0.25/n,相邻子图像的中心经度间隔360/n,每个子图像的纬度取值范围为-e~+e;其中,e为纬度值,其取值范围为35~45。

接下来执行步骤s103,在该步骤中,通过步骤s101划分出所述初始帧全景图像中的m个子图像之后,根据预设条件,从所述初始帧全景图像中划分出的m个子图像中选取所述p个跟踪目标。其中,p为不小于1的整数;优选地,p为不小于2的整数,例如为2、3、4等。此时,该步骤可以实时或非实时执行,本申请不作具体限制。

其中,在步骤s103实时执行时,所述初始帧全景图像为当前帧全景图像;在步骤s103非实时执行时,所述初始帧全景图像不为当前帧全景全景图像。

本发明实施例中,所述预设条件可以是用户自行选取的,也可以是通过目标检测方法检测到的,还可以是通过目标跟踪方法跟踪到的,还可以采用上述三种方法中的至少两种方法得到的。所述目标检测方法可以是人脸检测方法、基于regionproposal的深度学习目标检测算法和生物识别方法等,本申请不作具体限制。进一步地,所述目标跟踪方法可以基于主动轮廓的跟踪方法、基于特征的跟踪方法、基于区域的跟踪方法和基于模型的跟踪方法等。

具体来讲,在通过目标检测方法从m个子图像中选取所述p个跟踪目标时,通过目标检测方法对所述m个子图像中的每个子图像进行检测,将针对每个子图像检测到的所有检测结果作为所述p个跟踪目标;并将记录所述p个跟踪目标与所述m个子图像的对应关系。

具体地,在记录所述p个跟踪目标与所述m个子图像的对应关系时,可以通过建立索引标记来标记每个子图像,然后可以记录每个跟踪目标与索引标记的对应关系即记录每个跟踪目标与所述m个子图像的对应关系。

本发明实施例中,每个子图像的索引标记是唯一的,防止由于索引标记不唯一导致出现跟踪目标与子图像的对应关系不正确的问题。进一步地,在从所述初始帧全景图像中划分出的m个子图像中选取所述p个跟踪目标时,可以并行执行,也可以依次执行,本申请不作具体限制。

例如,如图2所示,若m=4,则4个子图像中的第一子图像、第二子图像、第三子图像和第四子图像依次对应的索引标记为t1、t2、t3和t4;以及通过目标检测方法对4个子图像进行目标检测,得到从所述第一子图像中检测到的f1目标、从所述第二子图像中检测到的f2目标和f3目标、从所述第四子图像中检测到的f4目标。由此可知,4个子图像与跟踪目标的对应关系包括{(f1->t1)、((f2,f3)->t2)和(f4->t4)}。下面具体以t1、t2、t3和t4分别表示第一子图像、第二子图像、第三子图像和第四子图像进行举例说明。

在本发明的另一实施例中,所述根据预设条件,从所述初始帧全景图像中划分出的m个子图像中选取所述p个跟踪目标,还可以包括以下步骤,如图3所示:

s301、根据所述预设条件,从所述初始帧全景图像中划分出的m个子图像中选取所有跟踪目标;

s302、将所述所有跟踪目标转换到同一坐标系中,获取在同一坐标系中具有重叠区域的跟踪目标对集;

s303、从所述所有跟踪目标中去除掉每个跟踪目标对中的一个跟踪目标,将余下的全部跟踪目标作为所述p个跟踪目标。

其中,在步骤s301中,根据所述预设条件,从所述初始帧全景图像中提取出的每个子图像中选取跟踪目标,得到从每个子图像中选取的跟踪目标,即得到所述所有跟踪目标。

例如,若所述初始帧全景图像中的m个子图像为t1、t2、t3和t4,则根据人脸检测算法分别对t1、t2、t3和t4进行检测;检测得到t1中的人脸目标r1和r2、t2中的人脸目标r3和r4、t3中的人脸目标r5和t4中未检测到人脸目标,即得到所述初始帧全景图像中的所有跟踪目标为r1、r2、r3、r4和r5,其中4个子图像与跟踪目标的对应关系包括{((r1,r2)->t1)、((r3,r4)->t2)和(r5->t3)}。

接下来执行步骤s302,在将所述所有跟踪目标转换到同一坐标系之后,可以在将所述所有跟踪目标转换到同一坐标系之后,将转换到同一坐标系中的所有跟踪目标中每两个跟踪目标进行对比;对比出所有存在重叠区域的跟踪目标对组成所述跟踪目标对集。

当然,也可以根据记录的每个子图像与其它子图像的邻接关系和踪目标与子图像的对应关系,将转换后的两两相邻的子图像中的跟踪目标的坐标进行比对;对比出所有两两相邻的子图像中存在重叠区域的跟踪目标对组成所述跟踪目标对集。如此,与将转换到同一坐标系中的所有跟踪目标中每两个跟踪目标进行对比相比,其进行对比的每两个跟踪目标的数量变少,能够降低计算量,提高计算效率。

例如,若t1、t2、t3和t4的邻接关系为{(t1->t2),(t2->(t1,t3)),(t3->(t2,t4)),(t4->t3)},在得到所有跟踪目标r1、r2、r3、r4和r5之后;根据所述邻接关系,将r3和r4依次与r1、r2和r5进行比对;若r3和r2具有重叠区域,以及r4与r5具有重叠区域,则确定所述跟踪目标对集为{(r2,r3)、(r4,r5)}。

接下来执行步骤s303,可以随机选择从所述所有跟踪目标中去除掉每个跟踪目标对中的一个跟踪目标,得到余下的全部跟踪目标并将其作为所述p个跟踪目标。

在本发明另一实施例中,为了提高所述p个跟踪目标中的跟踪目标的准确度,也可以获取每个跟踪目标对中每个跟踪目标的置信度;去除掉每个跟踪目标对中置信度小的跟踪目标,得到余下的全部跟踪目标并将其作为所述p个跟踪目标。如此,使得所述p个跟踪目标中保留了每个跟踪目标对中置信度大的跟踪目标,进而能够提高所述p个跟踪目标中的跟踪目标的准确度。

具体地,若在获取跟踪目标时已获取每个跟踪目标的置信度,则在去除掉每个跟踪目标对中置信度小的跟踪目标时,可以根据已获取的每个跟踪目标对的两个置信度进行比对即可。例如,在通过目标检测方法和/或目标跟踪方法来获取每个跟踪目标时,目标检测方法和/或目标跟踪方法会自动计算出每个跟踪目标的置信度。如此,在去除掉每个跟踪目标对中置信度小的跟踪目标时,可以根据已获取的每个跟踪目标对的两个置信度进行比对即可。

进一步地,若在获取跟踪目标时未获取每个跟踪目标的置信度,则在去除掉每个跟踪目标对中置信度小的跟踪目标之前,可以根据置信度算法来获取每个跟踪目标的置信度,然后根据获取的每个跟踪目标对的两个置信度进行比对。其中,所述置信度算法例如可以是置信区间计算方法、正态分布方法等。

进一步地,根据置信度算法来获取跟踪目标的置信度时,也可以仅根据置信度算法来获取所有跟踪点对中每个跟踪目标的置信度,而无需获取每个跟踪目标的置信度,以降低计算量,进而提高计算效果。

例如,若t1、t2、t3和t4对应的所有跟踪目标为所有跟踪目标为r1、r2、r3、r4和r5,且相应的跟踪目标对集为{(r2,r3)、(r4,r5)},若r2对应的置信度为0.72,r3对应的置信度为0.85,r4对应的置信度为0.78,r5对应的置信度为0.75,由于0.72<0.85且0.78>0.75,则从r2和r3中去除掉置信度小的r2和从r4和r5中去除掉置信度小的r5,得到余下的全部跟踪目标为r1、r3和r4,即r1、r3和r4为所述p个跟踪目标,此时p=3。

接下来执行步骤s104,依次针对第1帧全景图像之后的每帧全景图像执行步骤s1041。

本发明实施中,由于每帧全景图像中的m个子图像均是根据所述预设条件选取的,而每帧全景图像对应的预设条件均相同;由此可知,每帧全景图像中的m个子图像与其它任意一帧全景图像中的m个子图像所对应的视场均是相同;因此,可以使得前一帧全景图像中的每个跟踪目标在下一帧全景图像中对应的子图像中进行跟踪。

例如,若所述初始帧全景图像中的子图像为t1、t2、t3和t4,4个子图像与跟踪目标的对应关系为{((r1,r2)->t1)、((r3,r4)->t2)和(r5->t3)};以及对应的p个跟踪目标为r1、r3和r4;若下一帧全景图像中的子图像为t11、t21、t31和t41,其中,t1与t11对应、t21与t2对应,t31与t3对应,t41与t4对应;再根据子图像与跟踪目标的对应关系,利用目标跟踪算法将r1在t11中进行跟踪,利用目标跟踪算法将r3和r4在t21中进行跟踪。

在具体实施过程中,可以采用两种跟踪方式进行跟踪,其中,第一种跟踪方式具体为:在i依次从1取到s时,可以通过目标跟踪算法对第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标。

具体来讲,由于i依次从1取到s,在i=1,则利用第1帧全景图像中p个跟踪目标中的每个跟踪目标进行跟踪;而且由于每执行一次步骤s1031,能够得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标,使得i依次从1取到s时,可以利用得到的第(i+1)帧全景图像中跟踪成功的每个跟踪目标来执行步骤s1041。例如,在i=1,则利用第i帧全景图像中p个跟踪目标中的每个跟踪目标进行跟踪,得到第2帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标;在i=2,则利用得到的第2帧全景图像中的跟踪成功的每个跟踪目标进行跟踪,然后i依次3一直取到s。

本发明另一实施例中,为了提高跟踪目标在m个子图像中的跟踪的准确性,第二种跟踪方式具体为:首先检测i是否不小于2;若i小于2,则通过目标跟踪算法对第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标;若i不小于2,则获取第i帧全景图像中的m个子图像中的每个跟踪目标的运动轨迹;利用第i帧全景图像中的m个子图像中的每个跟踪目标的运动轨迹,预测出第(i+1)帧全景图像中的m个子图像中的至少一个跟踪目标的新位置,将预测出新位置的至少一个跟踪目标作为第(i+1)帧全景图像中的m个子图像中的至少一个跟踪目标。

具体地,由于本申请实施例中的全景图像为柱面全景图像,其与球面全景图像对应。在球面全景图像中不同纬度对应的线条长度根据每个纬度对应的半径不同而变化,而其对应的柱面全景图像中的每个纬度对应的线条长度相同。

例如,在球面全景图像中,若赤道对应的半径为r为表示,而某个纬度θ对应的半径r=rcosθ,其中,赤道的线条长度为2πr,而某个纬度θ对应的圆的线条长度为2πrcosθ,而在柱面全景图像中2πr和2πrcosθ对应的线条的长度相同,θ的取值为0至90°。由此可知,在柱面全景图像中的跟踪目标从赤道向南纬和北纬移动时,其跟踪目标所对应的目标窗口会变大,如此,根据跟踪目标所在位置,可以计算出跟踪目标对应的目标窗口,并能够有效提高计算出的跟踪目标对应的目标窗口的精确度。

相应的,为了提高跟踪目标的跟踪的准确性,还可以在预测出第(i+1)帧全景图像中的m个子图像中的至少一个跟踪目标的新位置之后,根据第(i+1)帧全景图像中的至少一个跟踪目标中每个跟踪目标的新位置,计算出第(i+1)帧全景图像中的每个跟踪目标对应的目标窗口,并将计算出目标窗口的所有跟踪目标作为第(i+1)帧全景图像中的m个子图像中的至少一个跟踪目标。

例如,全景图像中某个跟踪目标从纬度θ1移动到纬度θ2的位置,若该跟踪目标在纬度θ1时的目标窗口用d1表示,则可以确定该跟踪目标在纬度θ2时的目标窗口d2=d1*cosθ1/cosθ2,公式(1)。

例如,若第1帧全景图像中的子图像为t1、t2、t3和t4,4个子图像与跟踪目标的对应关系为{((r1,r2)->t1)、((r3,r4)->t2)和(r5->t3)};以及对应的p个跟踪目标为r1、r3和r4;相应的第2帧全景图像中的子图像为t11、t21、t31和t41;在i=1时,根据子图像与跟踪目标的对应关系,利用目标跟踪算法将r1在t11中进行跟踪,利用目标跟踪算法将r3和r4在t21中进行跟踪;得到从第2帧全景图像中的投影图像中跟踪成功的r1用r11表示和跟踪成功的r3用r31表示。

其中,在i=2且第3帧全景图像中的子图像为t12、t22、t32和t42时,则根据第1、2帧全景图像中的r1和r11所在位置,确定r11的运动轨迹;以及根据第1、2帧全景图像中的r3和r31所在位置,确定r31的运动轨迹;根据r11的运动轨迹,预测出第3帧全景图像中的t12中的r11的新位置,其中将预测出新位置的r11用r12表示;以及根据r31的运动轨迹,预测出第3帧全景图像中的t32中的r31的新位置,其中将预测出新位置的r31用r32表示。由此可知,第3帧全景图像中的子图像中的跟踪目标为r12和r32。

进一步地,在i依次从3取到s时,可以利用第i帧全景图像及与其相邻一帧或多帧的全景图像中各跟踪目标的位置,确定第i帧全图像中的每个跟踪目标的运动轨迹;再根据第i帧全图像中的每个跟踪目标的运动轨迹,预测出第(i+1)帧全景图像中的m个子图像中的至少一个跟踪目标的新位置,并将预测出新位置的至少一个跟踪目标作为第(i+1)帧全景图像中的m个子图像中的至少一个跟踪目标。

本发明另一实施例中,也可以创建与每帧全景图像中的m个子图像一一对应的m个跟踪器;再根据跟踪目标与子图像的对应关系,将第i帧全景图像中的每个跟踪目标添加到所述m个跟踪器中对应的跟踪器中进行跟踪。

在具体实施过程中,在采用第一种跟踪方式进行跟踪时,所述跟踪器是利用目标跟踪算法计算出来的跟踪模型,例如根据前一帧全景图像中某个子图像的一个跟踪目标的特征点的参数写入跟踪模型,然后所述跟踪器自动对写入的参数进行运算来进行跟踪。其中,所述目标跟踪算法包括基于camshift的目标跟踪算法、基于均值漂移与卡尔曼滤波的目标跟踪算法、基于sift特征目标跟踪算法研究和基于卡尔曼预测的动态目标跟踪算法等。

具体来讲,在采用第二种跟踪方式进行跟踪时,所述跟踪器是基于所述第二种跟踪方式创建出的跟踪模型。

例如,若第1帧全景图像中的m个子图像为t1、t2、t3和t4,则创建g1跟踪器、g2跟踪器、g3跟踪器和g4跟踪器这四个跟踪器,其中,g1与t1对应,g2与t2对应,g3与t3对应和g4与t4对应。以及p个跟踪目标为r1、r3和r4,由于r1与t1对应,r3与t2对应和r4与t3对应,则根据跟踪器与子图像的对应关系,将r1添加到g1中,将r3添加到g2中,以及将r4添加到g3中;若第2帧全景图像中的子图像为t11、t21、t31和t41,其中,t1与t11对应、t21与t2对应,t31与t3对应,t41与t4对应;则通过g1在t11中跟踪r1,通过g2在t21中跟踪r3和r4;得到从第2帧全景图像中的子图像中跟踪成功的r1用r11表示和跟踪成功的r3用r31表示;若第3帧全景图像中的子图像为t12、t22、t32和t42,则利用r11通过g1在t12中进行跟踪和利用r31通过g2在t22中进行跟踪,得到从第3帧全景图像中的子图像中跟踪成功的r11用r12表示和跟踪成功的r31用r32表示。

本发明实施例中,在第i帧全景图像中的跟踪目标为多个时,则可以并行跟踪多个跟踪目标,以缩短跟踪所耗费的时间;当然,也可以串行跟踪多个跟踪目标,本申请不作具体限制。

本发明另一实施例中,还可以创建与每帧全景图像中的所有跟踪目标一一对应的q个跟踪器,q为不小于0的整数;将第i帧全景图像中的每个跟踪目标添加到所述q个跟踪器中对应的跟踪器中进行跟踪。

在具体实施过程中,在采用第一种跟踪方式进行跟踪时,所述跟踪器是利用目标跟踪算法计算出来的跟踪模型;相应地,在采用第二种跟踪方式进行跟踪时,所述跟踪器是基于所述第二种跟踪方式创建出的跟踪模型。

具体来讲,根据每帧全景图像中的所有跟踪目标的数量不同,其q的取值也不相同;在某帧全景图像中的所有跟踪目标的数量为0时,q=0;在某帧全景图像中的所有跟踪目标的数量为2时,q=2。

例如,若第1帧全景图像中的m个子图像为t1、t2、t3和t4中检测到p个跟踪目标为r1、r3和r4,则创建g1跟踪器、g3跟踪器和g4跟踪器这3个跟踪器,其中,g1与r1对应,r3与g3对应和r4与g4对应;然后将r1添加到g1中,将r3添加到g3中,以及将r4添加到g4中;若第2帧全景图像中的子图像为t11、t21、t31和t41;则通过g1在t11中跟踪r1,通过g3在t21中跟踪r3和通过g4在t21中跟踪r4;得到从第2帧全景图像中的子图像中跟踪成功的r1用r11表示和跟踪成功的r3用r31表示;此时,由于r4跟踪失败,则删除g4;以及r1和r3跟踪成功,则保留g1和g3。

若第3帧全景图像中的子图像为t12、t22、t32和t42,则利用r11通过g1在t12中进行跟踪和利用r31通过g3在t22中进行跟踪,得到从第3帧全景图像中的子图像中跟踪成功的r11用r12表示和跟踪成功的r31用r32表示,此时r11和r31均跟踪成功,则保留g1和g3。

本发明实施例中,在第i帧全景图像中的跟踪目标为多个时,则可以并行跟踪多个跟踪目标,以缩短跟踪所耗费的时间;当然,也可以串行跟踪多个跟踪目标,本申请不作具体限制。

本发明另一实施例中,在利用第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪时,若第(i+1)帧全景图像中的m个子图像中不存在跟踪成功的跟踪目标,则从第(i+1)帧全景图像中的m个子图像中选取至少一个跟踪目标;当然,也可以从第(i+2)帧全景图像中的m个子图像中选取至少一个跟踪目标。其中,在从第(i+1)或(i+2)帧全景图像中的m个子图像中选取至少一个跟踪目标时,可以根据所述预设条件,从第(i+1)或(i+2)帧全景图像中的m个子图像中选取至少一个跟踪目标。其选取至少一个跟踪目标的具体实施过程中可以参考针对步骤s103的叙述,为了说明书的简洁,在此就不再赘述了。

例如,若第3帧全景图像中的子图像为t12、t22、t32和t42,则利用r11通过g1在t12中进行跟踪和利用r31通过g2在t22中进行跟踪;若r11和r31均未跟踪成功,则根据所述预设条件,从t12、t22、t32和t42中选取至少一个跟踪目标。当然,也可以根据所述预设条件,从第4帧全景图像中的子图像为t13、t23、t33和t43中选取至少一个跟踪目标。

本发明另一实施例中,在从所述初始帧全景图像选取的m个子图像中选取p个跟踪目标之后,所述方法还包括以下步骤,参见图4:

s401、以所述初始帧全景图像为起点,每间隔k帧全景图像从相应帧全景图像对应的m个子图像中选取至少一个跟踪目标,其中,k为不小于2的整数;

s402、在每个间隔k帧全景图像的周期内,将选取至少一个跟踪目标的相应帧全景图像作为第1帧全景图像,依次针对第1帧全景图像之后的每帧全景图像执行以下步骤,其中,i依次从1取到k+1:

s4021、利用第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标。

其中,在步骤s401中,在确定相应帧全景图像时,依次对每个间隔k帧全景图像的周期内的多帧全景图像进行目标检测,将首次检测到至少一个跟踪目标的某帧全景图像作为相应帧全景图像。如此,使得相应帧全景图像可以为某个间隔k帧全景图像的周期内的开始帧全景图像或之后的全景图像。

若k=4,使得第一个间隔4帧全景图像的周期包含的全景图像为第1、2、3、4和5帧全景图像,其中第一个间隔4帧全景图像的周期内的开始帧全景图像为第1帧全景图像,则依次针对第1、2、3、4和5帧全景图像进行目标检测;若从第1帧全景图像对应的n个投影图像中检测到了至少一个跟踪目标,则确定第1帧全景图像为相应帧全景图像,此时,在该间隔k帧全景图像的周期内的相应帧全景图像为初始帧全景图像;相应的,第二个间隔4帧全景图像的周期包含的全景图像为第6、7、8、9和10帧全景图像,其中第二个间隔4帧全景图像的周期内的开始帧全景图像为第6帧全景图像,则依次针对第6、7、8、9和10帧全景图像进行目标检测;若从第6帧全景图像未检出跟踪目标,则对第7帧全景图像进行目标;若从第7帧全景图像检出了至少一个跟踪目标,则确定第7帧全景图像为相应帧全景图像,此时,在该间隔k帧全景图像的周期内的相应帧全景图像为初始帧全景图像之后的1帧全景图像。

本发明实施例中,步骤s401的具体实施方式可以为步骤s103的任意一个实施方式,为了说明书的简洁,在此就不再赘述了。

在执行步骤s401之后,在每个间隔k帧全景图像的周期内,以选取至少一个跟踪目标的相应帧全景图像为第1帧全景图像,然后依次针对该周期内的第1帧全景图像之后的每帧全景图像执行步骤s4021,其中步骤s4021的具体实施过程可以参考步骤s1042的实施过程。

例如,若第二个间隔4帧全景图像的周期包含的全景图像为第6、7、8、9和10帧全景图像,首先从第二个间隔4帧全景图像的周期内的开始帧全景图像即第6帧全景图像中的子图像为t15、t25、t35和t45;此时,可以根据人脸检测方法从t15、t25、t35和t45中选取至少一个跟踪目标;然后利用选取的至少一个跟踪目标在第7帧全景图像中对应的子图像中进行跟踪。

由于本实施例中每间隔k帧全景图像就从相应帧全景图像对应的m个子图像中选取至少一个跟踪目标,使得在全景图像对应的场景有新的跟踪目标进入时能够即时检测到并进行跟踪。如此,能够提高检测到跟踪目标的及时性和准确性,使得跟踪的准确性和及时性也会随之提高。

本发明另一实施例中,在得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标之后,可以将第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标显示在第(i+1)帧全景图像或第(i+2)帧全景图像中。

具体来讲,为了更精确显示跟踪成功的至少一个跟踪目标,可以在预测出第(i+1)帧全景图像中的m个子图像中的至少一个跟踪目标的新位置之后,将预测出的每个跟踪目标显示在第(i+1)帧全景图像或第(i+2)帧全景图像中对应的新位置。

具体地,也可以在根据第(i+1)帧全景图像中的至少一个跟踪目标中每个跟踪目标的新位置,计算出第(i+1)帧全景图像中的每个跟踪目标对应的目标窗口之后,将预测出的每个跟踪目标显示在第(i+1)帧全景图像或第(i+2)帧全景图像中的对应的目标窗口中。

例如,若第2帧全景图像中的子图像为t11、t21、t31和t41,则通过g1在t11中跟踪r1,通过g2在t21中跟踪r3和r4;得到从第2帧全景图像中的子图像中跟踪成功的r1用r11表示和跟踪成功的r3用r31表示。

其中,若r1对应的纬度和窗口分别为θ1和d1;r11对应的纬度和窗口分别为θ11和d11;r3对应的纬度和窗口分别为θ3和d3;以及r31对应的纬度和窗口分别为θ31和d31,则根据公式(1)可知d11=d1*cosθ1/cosθ11和d31=d3*cosθ3/cosθ31;则在第2帧全景图像中的d11窗口中显示r11和d31窗口中显示r31。当然,也可以在第3帧全景图像中的d11窗口中显示r11和d31窗口中显示r31。

本发明实施例中,在将第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标显示在第(i+1)帧全景图像中时,将第1帧全景图像中的m个子图像中的至少一个跟踪目标显示在第1帧全景图像中;在将第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标显示在第(i+2)帧全景图像中时,将第1帧全景图像中的m个子图像中的至少一个跟踪目标显示在第2帧全景图像中;通过上述方式,以防止出现第1和2帧全景图像中的m个子图像中的至少一个跟踪目标同时显示在第2帧全景图像中的问题,降低出现跟踪目标重合显示的问题。

本发明另一实施例中,如图5所示,在某一时刻获取n个广角图像时,将n个广角图像拼接成全景图像用h1表示,此时,采集到n个广角图像并拼接成h1为第一时间段;若h1为第1帧全景图像,在拼接到h1之后,第二时间段继续采集n个广角图像并将其拼接成h2的过程中,并行地通过步骤s102和s103处理h1;第三时间段继续采集n个广角图像并将其拼接成h3的过程,同步通过步骤s1041对处理后的h1进行目标跟踪,将跟踪成功的跟踪目标显示在h3中;同样并行地通过s102和s103处理h2。

此时,处理后的h1跟踪成功的跟踪目标显示在h3之后的下一时间段,将处理后的h2跟踪成功的跟踪目标显示在h4中;如此,使得每帧全景图像中的跟踪目标均是在间隔一帧全景图像后进行跟踪,确保了跟踪的实时性。

本发明另一实施例中,在利用第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标时,所述方法还包括以下步骤:

s501、检测第(i+1)帧全景图像中的m个子图像中的每个跟踪目标是否均跟踪成功;

s502、在每检测到第(i+1)帧全景图像中的一个跟踪目标跟踪失败时,根据子图像之间的邻接关系,获取与该跟踪失败的跟踪目标所在的子图像邻接的相邻子图像;

s503、利用跟踪失败的跟踪目标在第(i+2)帧全景图像中的相邻子图像中进行目标检测,得到跟踪失败的跟踪目标对应的检测结果;

s504、从所有跟踪失败的跟踪目标对应的检测结果中获取检测结果表征检测成功的每个跟踪目标,将检测成功的每个跟踪目标和跟踪得到的至少一个跟踪目标作为第(i+2)帧全景图像中的m个子图像中的所有跟踪目标。

其中,在步骤s501中,在利用第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪时,检测第i帧全景图像中的每个跟踪目标是否跟踪成功;若每个跟踪目标都跟踪成功,则可以确定第(i+1)帧全景图像中的m个子图像中的所有跟踪目标均跟踪成功;以及在每检测到一个跟踪目标跟踪失败时,执行步骤s502。

例如,若第2帧全景图像中的子图像为t11、t21、t31和t41,则通过g1在t11中跟踪r1,通过g2在t21中跟踪r3和r4;检测到r1跟踪成功得到r11和r3跟踪成功得到r31,以及检测到r4跟踪失败,此时,执行步骤s502。

在每检测到一个跟踪目标跟踪失败时,执行步骤s502,由于在跟踪目标跟踪失败时,跟踪失败的跟踪目标有较大的概率从其所在的子图像移动到所述相邻子图像中;因此,通过步骤s502获取到所述相邻子图像,再通过步骤s503在第(i+2)帧全景图像中的相邻子图像中对跟踪失败的跟踪目标进行检测,得到检测结果;如此,可以将部分跟踪失败的跟踪目标重新检测出来再进行跟踪,进而能够实现对跟踪目标进行更准确的跟踪,降低跟踪目标丢失的概率。

例如,若第2帧全景图像中的子图像为t11、t21、t31和t41,则通过g1在t11中跟踪r1,通过g2在t21中跟踪r3和r4;检测到r1跟踪成功得到r11和r3跟踪成功得到r31,以及检测到r4跟踪失败,则根据邻接关系{(t1->t2),(t2->(t1,t3)),(t3->(t2,t4)),(t4->t3)},确定与r4所在的t2邻接的相邻子图像为t1和t3;然后获取第3帧全景图像中的子图像为t12、t22、t32和t42,第3帧全景图像中与t1和t3对应的子图像为t12和t32,则利用r4在t12和t32中进行目标检测,获得检测结果。

其中,若所述检测结果表征在t32中检测到r4用r42表示,且利用r11通过g1在t12中进行跟踪和利用r31通过g2在t22中进行跟踪,得到从第3帧全景图像中的子图像中跟踪成功的r11用r12表示和跟踪成功的r31用r32表示,则确定第3帧全景图像中的4个子图像中的所有跟踪目标为r12、r32和r42。

进一步地,若第4帧全景图像中的子图像为t13、t23、t33和t43,则利用r12通过g1在t13中进行跟踪、利用r32通过g2在t23中进行跟踪和利用r42通过g3在t33中进行跟踪,得到从第3帧全景图像中的子图像中跟踪成功的r12用r13表示、跟踪成功的r32用r33表示和跟踪成功r42用r43表示。如此,可以将部分跟踪失败的跟踪目标重新检测出来再进行跟踪,进而能够实现对跟踪目标进行更准确的跟踪,降低跟踪目标丢失的概率。

在本发明的另一实施例中,在每个投影图像与至少一个投影图像存在重叠区域,且每检测到第(i+1)帧全景图像中的一个跟踪目标跟踪失败时,所述方法还包括以下步骤:

s601、检测该跟踪失败的跟踪目标是否位于两个投影图像之间的重叠区域内;

s602、若检测到该跟踪失败的跟踪目标不位于两个投影图像之间的重叠区域内,则丢弃该跟踪失败的跟踪目标;

本发明实施例中,若检测到该跟踪失败的跟踪目标不位于两个子图像之间的重叠区域内,还可以依次执行步骤s502~s504。

s603、若检测到该跟踪失败的跟踪目标位于两个子图像之间的重叠区域内,则获取与该跟踪失败的跟踪目标所在的子图像具有重叠区域的特定子图像;

s604、利用跟踪失败的跟踪目标在第(i+2)帧全景图像中的所述特定子图像中进行目标检测,得到跟踪失败的跟踪目标对应的检测结果;

s605、从所有跟踪失败的跟踪目标对应的检测结果中获取检测结果表征检测成功的每个跟踪目标,将检测成功的每个跟踪目标和跟踪得到的至少一个跟踪目标作为第(i+2)帧全景图像中的m个子图像中的所有跟踪目标。

其中,在步骤s601中,可以根据该跟踪失败的跟踪目标的坐标,检测该跟踪失败的跟踪目标是否位于两个子图像之间的重叠区域内。当然,为了快速的检测出该跟踪失败的跟踪目标是否位于两个子图像之间的重叠区域内,还可以根据该跟踪失败的跟踪目标的坐标和子图像之间的邻接关系,检测该跟踪失败的跟踪目标是否位于两个子图像之间的重叠区域内。

具体地,首先将该跟踪失败的跟踪目标的坐标进行坐标转换,将该跟踪失败的跟踪目标的坐标转换成全景图像中的经纬度坐标;然后再将转换成的经纬度坐标与每个子图像对应的全景图像中的经纬度坐标进行比对;若转换成的经纬度坐标与两个子图像对应的经纬度坐标存在相同部分,则可以判定该跟踪失败的跟踪目标位于两个子图像之间的重叠区域内,则执行步骤s603~s605;若转换成的经纬度坐标仅与一个子图像对应的经纬度坐标存在相同部分,则可以判定该跟踪失败的跟踪目标步位于两个子图像之间的重叠区域内,则执行步骤s602。

具体地,在获取该跟踪失败的跟踪目标的坐标之后,根据子图像之间的邻接关系,确定与该跟踪失败的跟踪目标所在子图像相邻的子图像;然后将该跟踪失败的跟踪目标的坐标转换成全景图像中的经纬度坐标,并将转换成的经纬度坐标与相邻子图像对应的全景图像中的经纬度坐标进行比对;若转换成的经纬度坐标与相邻子图像对应的经纬度坐标存在相同部分,则可以判定该跟踪失败的跟踪目标位于两个子图像之间的重叠区域内,则执行步骤s603~s605;若转换成的经纬度坐标与相邻子图像对应的经纬度坐标不存在相同部分,则可以判定该跟踪失败的跟踪目标步位于两个子图像之间的重叠区域内,则执行步骤s602。

此时,转换成的经纬度坐标仅需与相邻子图像对应的全景图像中的经纬度坐标进行比对,而不需与每个子图像的全景图像中的经纬度坐标进行比对,其对比的数量减少,促使其计算量也随之减少,从而能够缩短检测时间提高检测效率。

若检测到该跟踪失败的跟踪目标位于两个子图像之间的重叠区域内,执行步骤s603,此时,可以获取该跟踪失败的跟踪目标所在重叠区域所对应的两个子图像,所在重叠区域所对应的两个子图像一个为该跟踪失败的跟踪目标所在的子图像,另一个为所述特定子图像,通过此种方式即可获取到所述特定子图像。

本发明实施例中,步骤s604~s605的具体实施过程可以参考步骤s503~s504的实施过程,为了说明书的简洁,在此就不再赘述了。

例如,若第2帧全景图像中的子图像为t11、t21、t31和t41,则通过g1在t11中跟踪r1,通过g2在t21中跟踪r3和r4;检测到r1跟踪成功得到r11和r3跟踪成功得到r31,以及检测到r4跟踪失败,检测r4是否位于否位于两个子图像之间的重叠区域内。

由于r4位于子图像t2内,而根据邻接关系{(t1->t2),(t2->(t1,t3)),(t3->(t2,t4)),(t4->t3)},确定与r4所在的t2邻接的相邻子图像为t1和t3;然后将r4的坐标转换成经纬度坐标,再将转换成的经纬度坐标分别与t1和t3对应的经纬度坐标进行比对。若r4转换成的经纬度坐标与t3对应的经纬度坐标存在相同部分,则可以确定r4位于t2和t3之间的重叠区域,且由于r4所在的子图像为t2,由此可知,r4对应的特定子图像为t3。

其中,在确定r4对应的特定子图像为t3之后,若第3帧全景图像中的子图像为t12、t22、t32和t42,第3帧全景图像中与t3对应的子图像为t32,则利用r4在t32中进行目标检测,获得检测结果。

其次,若所述检测结果表征在t32中检测到r4用r42表示,且利用r11通过g1在t12中进行跟踪和利用r31通过g2在t22中进行跟踪,得到从第3帧全景图像中的子图像中跟踪成功的r11用r12表示和跟踪成功的r31用r32表示,则确定第3帧全景图像中的4个子图像中的所有跟踪目标为r12、r32和r42。

进一步地,若第4帧全景图像中的子图像为t13、t23、t33和t43,则利用r12通过g1在t13中进行跟踪、利用r32通过g2在t23中进行跟踪和利用r42通过g3在t33中进行跟踪,得到从第3帧全景图像中的子图像中跟踪成功的r12用r13表示、跟踪成功的r32用r33表示和跟踪成功r42用r43表示。如此,可以将部分跟踪失败的跟踪目标重新检测出来再进行跟踪,进而能够实现对跟踪目标进行更准确的跟踪,降低跟踪目标丢失的概率。

本发明实施中,通过检测该跟踪失败的跟踪目标是否位于两个投影图像之间的重叠区域内的检测结果作为选择条件,去掉部分无需进行目标检测的跟踪失败的跟踪目标,而不需要所有跟踪失败的跟踪目标都要进行目标检测,从而能够有效降低计算量提高跟踪的效率。而且,去掉的部分无需进行目标检测的跟踪失败的跟踪目标较小的概率出现在后续帧全景图像中,提高需要进行目标检测的跟踪失败的跟踪目标的精确性。

基于与本发明第一方面提供的方法相同的技术构思,本发明第二方面还提供了一种全景相机,包括n个广角镜头和可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现以下步骤:

利用n个广角镜头每一时刻采集n个广角图像,以及在每一时刻采集到n个广角图像时,将该时刻采集的n个广角图像拼接成全景视频中的一帧全景图像,其中,n为不小于2的整数;

选取拼接成的某帧全景图像为初始帧全景图像,将所述初始帧全景图像及之后的每帧全景图像分成m个子图像,其中,每个子图像为对应全景图像中的部分图像,n为不小于2的整数;

从所述初始帧全景图像分成的m个子图像中选取p个跟踪目标,其中p为不小于1的整数;

以所述初始帧全景图像为第1帧全景图像,依次针对第1帧全景图像之后的每帧全景图像执行以下步骤,其中,i依次从1取到s,s为大于1的整数:

利用第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标。

优选地,所述程序被处理器执行时每帧全景图像分成的m个子图像中每相邻两个子图像之间具有重叠区域。

优选地,所述程序被处理器执行时从所述初始帧全景图像分成的m个子图像中选取p个跟踪目标的步骤时,具体实现以下步骤:

根据预设条件,从所述初始帧全景图像分成的m个子图像中选取p个跟踪目标。

优选地,所述程序被处理器执行时根据预设条件,从所述初始帧全景图像分成的m个子图像中选取p个跟踪目标的步骤时,具体实现以下步骤:

根据所述预设条件,从所述初始帧全景图像分成的m个子图像中选取p个跟踪目标;

从所述p个跟踪目标中获取具有重叠区域的跟踪目标对集;

从所述所有跟踪目标中去除掉每个跟踪目标对中的一个跟踪目标,将余下的全部跟踪目标作为所述p个跟踪目标。

优选地,所述程序被处理器执行时从所述所有跟踪目标中去除掉每个跟踪目标对中的一个跟踪目标,将余下的全部跟踪目标作为所述p个跟踪目标的步骤时,具体实现以下步骤:

获取每个跟踪目标对中每个跟踪目标的置信度;

去除掉每个跟踪目标对中置信度小的跟踪目标,得到余下的全部跟踪目标并将其作为所述p个跟踪目标。

优选地,所述程序被处理器执行时利用第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪的步骤时,具体实现以下步骤:

创建与每帧全景图像中的m个子图像一一对应的m个跟踪器;

根据跟踪目标与子图像的对应关系,将第i帧全景图像中的每个跟踪目标添加到所述m个跟踪器中对应的跟踪器中进行跟踪。

优选地,所述程序被处理器执行时利用第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪的步骤时,具体实现以下步骤:

创建与每帧全景图像中的所有跟踪目标一一对应的q个跟踪器,q为不小于0的整数;

将第i帧全景图像中的每个跟踪目标添加到所述q个跟踪器中对应的跟踪器中进行跟踪。

优选地,所述程序被处理器执行时在从所述初始帧全景图像分成的m个子图像中选取p个跟踪目标的步骤之后,还实现以下步骤:

以所述初始帧全景图像为起点,每间隔k帧全景图像从相应帧全景图像对应的m个子图像中选取至少一个跟踪目标,其中,k为不小于2的整数;

在每个间隔k帧全景图像的周期内,将选取至少一个跟踪目标的相应帧全景图像作为第1帧全景图像,依次针对第1帧全景图像之后的每帧全景图像执行以下步骤,其中,i依次从1取到k+1;

利用第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标。

优选地,所述程序被处理器执行时在得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标的步骤之后,还实现以下步骤:

将第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标显示在第(i+1)帧全景图像或第(i+2)帧全景图像中。

优选地,所述程序被处理器执行时在得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标的步骤时,还实现以下步骤:

检测第(i+1)帧全景图像中的m个子图像中的每个跟踪目标是否均跟踪成功;

在每检测到第(i+1)帧全景图像中的一个跟踪目标跟踪失败时,根据子图像之间的邻接关系,获取与该跟踪失败的跟踪目标所在的子图像邻接的相邻子图像;

利用跟踪失败的跟踪目标在第(i+2)帧全景图像中的相邻子图像中进行目标检测,得到跟踪失败的跟踪目标对应的检测结果;

从所有跟踪失败的跟踪目标对应的检测结果中获取检测结果表征检测成功的每个跟踪目标,将检测成功的每个跟踪目标和跟踪得到的至少一个跟踪目标作为第(i+2)帧全景图像中的m个子图像中的所有跟踪目标。

优选地,所述程序被处理器执行时在每个子图像与至少一个子图像存在重叠区域,且每检测到第(i+1)帧全景图像中的一个跟踪目标跟踪失败的步骤时,还实现以下步骤:

检测该跟踪失败的跟踪目标是否位于两个子图像之间的重叠区域内;

若检测到该跟踪失败的跟踪目标不位于两个子图像之间的重叠区域内,则丢弃该跟踪失败的跟踪目标;

若检测到该跟踪失败的跟踪目标位于两个子图像之间的重叠区域内,则获取与该跟踪失败的跟踪目标所在的子图像具有重叠区域的特定子图像;

利用跟踪失败的跟踪目标在第(i+2)帧全景图像中的所述特定子图像中进行目标检测,得到跟踪失败的跟踪目标对应的检测结果;

从所有跟踪失败的跟踪目标对应的检测结果中获取检测结果表征检测成功的每个跟踪目标,将检测成功的每个跟踪目标和跟踪得到的至少一个跟踪目标作为第(i+2)帧全景图像中的m个子图像中的所有跟踪目标。

优选地,所述程序被处理器执行时利用第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标的步骤时,具体实现以下步骤:

检测i是否不小于2;

若i小于2,则通过目标跟踪算法对第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标;

若i不小于2,则获取第i帧全景图像中的m个子图像中的每个跟踪目标的运动轨迹;利用第i帧全景图像中的m个子图像中的每个跟踪目标的运动轨迹,预测出第(i+1)帧全景图像中的m个子图像中的至少一个跟踪目标的新位置,将预测出新位置的至少一个跟踪目标作为第(i+1)帧全景图像中的m个子图像中的至少一个跟踪目标。

本发明的有益效果如下:

由于本申请实施例是在每一时刻采集到n个广角图像时,将其拼接成全景视频中的一帧全景图像,然后再利用拼接成的第i帧全景图像中的m个子图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的m个子图像中跟踪成功的至少一个跟踪目标;使得每个跟踪目标在在对应的子图像中进行目标跟踪;本发明实施例是在全景图像中直接跟踪,无需进行投影和计算概率等步骤。因此,与现有技术相比,在进行目标跟踪时其计算步骤减少和计算量降低,因而促使全景视频中目标跟踪效率提高,有效提高了全景视频中的多个目标跟踪的实时性。

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。

本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。

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