本发明涉及全景视频技术领域,尤其涉及一种应用于全景视频的多目标跟踪方法及全景相机。
背景技术:
全景视频是由具有一些有时间关联的全景图像序列组成,从视频中可以获取真实的全景景象,并且可以通过时间来定位视频帧。拍摄静止场景的立方体全景视频的全局运动通常以水平运动为主,覆盖了360度场景范围,对于连续多帧的全景图像而言,目标物体会从立方体全景的一个面移动到相邻面。由于其具有动态背景,不适合使用背景差的方法进行动态物体的检测和跟踪,因此需要设计一种快速高效的立方体全景视频中的目标跟踪方法。
现有技术在全景视频中跟踪物体的方法,通常根据用户观看的角度由全景视频图像投影成投影视图,并将其作为目标跟踪的输入图像。跟踪过程中建立目标物体的模型,并根据前后帧建立跟踪目标出现在不同区域的概率,以较大概率的位置作为目标的新位置;采用上述方法的前提是不会出现漏检,其所关注的方向一定包含需要跟踪的目标,而在出现漏检的情况下,其跟踪的准确性极低,而在需要跟踪多个目标时,其出现漏检的大幅提高,从而导致出现现有方法存在全景视频跟踪多个目标准确性较低的问题。
而且采用上述方法,首先需要先获取全景视频图像再进行投影得到预设视场的投影图像,再进行前后帧跟踪目标出现在不同区域的概率,以概率的大小来确定跟踪目标的新位置,其计算步骤较多及计算量较大,而且在进行多目标跟踪时,其计算量会成倍增加,由此导致了全景视频的跟踪效率较低的问题。
技术实现要素:
本发明提供了一种应用于全景视频的多目标跟踪方法及全景相机,能够有效准确跟踪多个跟踪目标,且能够提高跟踪多个跟踪目标的实时性。
本申请第一方面提供了一种应用于全景视频的多目标跟踪方法,包括:
选取全景视频中的某帧全景图像为初始帧全景图像,从所述初始帧全景图像及之后的每帧全景图像中选取n个投影图像,其中,每个投影图像为对应的全景图像中的部分图像的投影,n为不小于2的整数;
从所述初始帧全景图像选取的n个投影图像中选取m个跟踪目标,其中m为不小于1的整数;
以所述初始帧全景图像为第1帧全景图像,依次针对第1帧全景图像之后的每帧全景图像执行以下步骤,其中,i依次从1取到s,s为大于1的整数:
利用第i帧全景图像中的n个投影图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标。
结合第一方面,在第一方面的第一种可能的实施方式中,所述从全景视频中的每帧全景图像中选取n个投影图像,具体包括:
从每帧全景图像中的南北两极图像去掉之后的剩余全景图像中选取n个投影图像。
结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述从全景视频中的每帧全景图像中选取n个投影图像,具体包括:
根据全景图像和投影图像的像素点之间的对应关系,从全景视频中的每帧全景图像中选取n个投影图像。
结合第一方面,在第一方面的第三种可能的实施方式中,从所述初始帧全景图像选取的n个投影图像中选取m个跟踪目标,具体包括:
根据预设条件,从所述初始帧全景图像中提取出的n个投影图像中选取所述m个跟踪目标。
结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,根据预设条件,从所述初始帧全景图像中提取出的n个投影图像中选取所述m个跟踪目标,具体包括:
根据所述预设条件,从所述初始帧全景图像中提取出的n个投影图像中选取所有跟踪目标;
将所述所有跟踪目标转换到同一坐标系中,获取在同一坐标系中具有重叠区域的跟踪目标对集;
从所述所有跟踪目标中去除掉每个跟踪目标对中的一个跟踪目标,将余下的全部跟踪目标作为所述m个跟踪目标。
结合第一方面的第四种可能的实施方式,在第一方面的第五种可能的实施方式中,从所述所有跟踪目标中去除掉每个跟踪目标对中的一个跟踪目标,将余下的全部跟踪目标作为所述m个跟踪目标,具体包括:
获取每个跟踪目标对中每个跟踪目标的置信度;
去除掉每个跟踪目标对中置信度小的跟踪目标,得到余下的全部跟踪目标并将其作为所述m个跟踪目标。
结合第一方面,在第一方面的第六种可能的实施方式中,从所述所有跟踪目标中去除掉每个跟踪目标对中的一个跟踪目标,将余下的全部跟踪目标作为所述m个跟踪目标,具体包括:
获取每个跟踪目标对中每个跟踪目标的置信度;
去除掉每个跟踪目标对中置信度小的跟踪目标,得到余下的全部跟踪目标并将其作为所述m个跟踪目标。
结合第一方面,在第一方面的第七种可能的实施方式中,利用第i帧全景图像中的n个投影图像中的每个跟踪目标进行跟踪,具体包括:
创建与每帧全景图像中的n个投影图像一一对应的n个跟踪器;
根据跟踪目标与投影图像的对应关系,将第i帧全景图像中的每个跟踪目标添加到所述n个跟踪器中对应的跟踪器中进行跟踪。
结合第一方面,在第一方面的第八种可能的实施方式中,在利用第i帧全景图像中的n个投影图像中的每个跟踪目标进行跟踪时,所述方法还包括:
若第(i+1)帧全景图像中的n个投影图像中不存在跟踪成功的跟踪目标,则从第(i+1)帧全景图像中的n个投影图像中选取至少一个跟踪目标。
结合第一方面,在第一方面的第九种可能的实施方式中,在从所述初始帧全景图像选取的n个投影图像中选取m个跟踪目标之后,所述方法还包括以下步骤:
以所述初始帧全景图像为起点,每间隔k帧全景图像从相应帧全景图像对应的n个投影图像中选取至少一个跟踪目标,其中,k为不小于2的整数;
在每个间隔k帧全景图像的周期内,将选取至少一个跟踪目标的相应帧全景图像作为第1帧全景图像,依次针对第1帧全景图像之后的每帧全景图像执行以下步骤,其中,i依次从1取到k+1;
利用第i帧全景图像中的n个投影图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标。
结合第一方面或第一方面的第九种可能的实施方式,在第一方面的第十种可能的实施方式中,在得到第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标之后,所述方法还包括:
将第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标显示在第(i+1)帧全景图像或第(i+2)帧全景图像中。
结合第一方面或第一方面的第九种可能的实施方式,在第一方面的第十一种可能的实施方式中,在得到第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标时,所述方法还包括以下步骤:
检测第(i+1)帧全景图像中的n个投影图像中的每个跟踪目标是否均跟踪成功;
在每检测到第(i+1)帧全景图像中的一个跟踪目标跟踪失败时,根据投影图像之间的邻接关系,获取与该跟踪失败的跟踪目标所在的投影图像邻接的相邻投影图像;
利用跟踪失败的跟踪目标在第(i+2)帧全景图像中的相邻投影图像中进行目标检测,得到跟踪失败的跟踪目标对应的检测结果;
从所有跟踪失败的跟踪目标对应的检测结果中获取检测结果表征检测成功的每个跟踪目标,将检测成功的每个跟踪目标和跟踪得到的至少一个跟踪目标作为第(i+2)帧全景图像中的n个投影图像中的所有跟踪目标。
结合第一方面的第十一种可能的实施方式,在第一方面的第十二种可能的实施方式中,在每个投影图像与至少一个投影图像存在重叠区域,且每检测到第(i+1)帧全景图像中的一个跟踪目标跟踪失败时,所述方法还包括以下步骤:
检测该跟踪失败的跟踪目标是否位于两个投影图像之间的重叠区域内;
若检测到该跟踪失败的跟踪目标不位于两个投影图像之间的重叠区域内,则丢弃该跟踪失败的跟踪目标;
若检测到该跟踪失败的跟踪目标位于两个投影图像之间的重叠区域内,则获取与该跟踪失败的跟踪目标所在的投影图像具有重叠区域的特定投影图像;
利用跟踪失败的跟踪目标在第(i+2)帧全景图像中的所述特定投影图像中进行目标检测,得到跟踪失败的跟踪目标对应的检测结果;
从所有跟踪失败的跟踪目标对应的检测结果中获取检测结果表征检测成功的每个跟踪目标,将检测成功的每个跟踪目标和跟踪得到的至少一个跟踪目标作为第(i+2)帧全景图像中的n个投影图像中的所有跟踪目标。
根据本发明的第二方面,提供一种全景相机,包括可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现以下步骤:
选取全景视频中的某帧全景图像为初始帧全景图像,从所述初始帧全景图像及之后的每帧全景图像中选取n个投影图像,其中,每个投影图像为对应的全景图像中的部分图像的投影,n为不小于2的整数;
从所述初始帧全景图像选取的n个投影图像中选取m个跟踪目标,其中m为不小于1的整数;
以所述初始帧全景图像为第1帧全景图像,依次针对第1帧全景图像之后的每帧全景图像执行以下步骤,其中,i依次从1取到s,s为大于1的整数:
利用第i帧全景图像中的n个投影图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标。
结合第二方面,在第二方面的第一种可能的实施方式中,所述程序被处理器执行时从全景视频中的每帧全景图像中选取n个投影图像的步骤时,具体包括以下步骤:从每帧全景图像中的南北两极图像去掉之后的剩余全景图像中选取n个投影图像。
结合第二方面或第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述程序被处理器执行时从全景视频中的每帧全景图像中选取n个投影图像的步骤时,具体包括以下步骤:
根据全景图像和投影图像的像素点之间的对应关系,从全景视频中的每帧全景图像中选取n个投影图像。
结合第二方面,在第二方面的第三种可能的实施方式中,所述程序被处理器执行时从所述初始帧全景图像选取的n个投影图像中选取m个跟踪目标的步骤时,具体包括以下步骤:
根据预设条件,从所述初始帧全景图像中提取出的n个投影图像中选取所述m个跟踪目标。
结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,所述程序被处理器执行时根据预设条件,从所述初始帧全景图像中提取出的n个投影图像中选取所述m个跟踪目标的步骤时,具体包括以下步骤:
根据所述预设条件,从所述初始帧全景图像中提取出的n个投影图像中选取所有跟踪目标;
将所述所有跟踪目标转换到同一坐标系中,获取在同一坐标系中具有重叠区域的跟踪目标对集;
从所述所有跟踪目标中去除掉每个跟踪目标对中的一个跟踪目标,将余下的全部跟踪目标作为所述m个跟踪目标。
本发明的有益效果如下:
由于本申请实施例是利用第i帧全景图像中的n个投影图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标;使得每个跟踪目标在在对应的投影图像中进行目标跟踪;本发明实施例无需将n个广角图像转换成全景图像;且采用的跟踪算法的计算量也要明显低于现有技术采用的跟踪算法确定跟踪目标的新位置的计算量。因此,与现有技术相比,在进行多目标跟踪时其计算步骤减少及计算量降低,因而促使全景视频中多目标跟踪效率提高,有效提高了全景视频中的多个目标跟踪的实时性。
进一步地,由于每个投影图像为对应的全景图像中的部分图像的投影,使得投影图像的畸变极小或不存在;而在畸变极小或不存在畸变的投影图像中进行目标跟踪时,其跟踪的准确性会大幅提高,从而能够有效提高跟踪的准确性。
附图说明
图1为本发明实施例中应用于全景视频的多目标跟踪方法的第一种流程图;
图2为本发明实施例中全景图像与投影图像的对应图;
图3为本发明实施例中从n个投影图像中选取m个跟踪目标的方法流程图;
图4为本发明实施例中应用于全景视频的多目标跟踪方法的第二种流程图;
图5为本发明实施例中跟踪目标跟踪失败时的处理方法的流程图。
具体实施方式
本发明提供了一种应用于全景视频的多目标跟踪方法及全景相机,能够有效准确跟踪多个跟踪目标,且能够提高跟踪多个跟踪目标的实时性。
如图1所示,本发明第一方面中提供了一种应用于全景视频的多目标跟踪方法,包括以下步骤:
s101、选取全景视频中的某帧全景图像为初始帧全景图像,从所述初始帧全景图像及之后的每帧全景图像中选取n个投影图像,其中,每个投影图像为对应的全景图像中的部分图像的投影,n为不小于2的整数;
s102、从所述初始帧全景图像选取的n个投影图像中选取m个跟踪目标,其中,m为不小于1的整数;
s103、以所述初始帧全景图像为第1帧全景图像,依次针对第1帧全景图像之后的每帧全景图像执行以下步骤,其中,i依次从1取到s,s为大于1的整数:
s1031、利用第i帧全景图像中的n个投影图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标。
其中,在步骤s101时,可以通过多个广角镜头录制全景视频。在通过多个广角镜头录制全景视频过程中,利用多个广角镜头每一时刻采集多个广角图像,然后可以实时或非实时的将每一时刻采集的多个广角图像拼接成一帧全景图像;最后按照时间顺序对拼接成的所有全景图像进行排序,得到全景视频。
本发明实施例中,所述多个广角镜头设置在一个全景相机中,也可以是所述多个广角镜头连接同一主机,本申请不作具体限制。下面具体以所述多个广角镜头设置在一个全景相机中为例进行说明。
本发明实施例中,所述多个广角镜头是由普通广角镜头、超广角镜头和鱼眼镜头中的一种或多种镜头组成,本申请不作限制。
本发明实施例中,可以通过图像拼接算法将每一时刻采集的多个广角图像拼接成一帧全景图像。所述图像拼接算法例如可以是基于区域相关的拼接算法和基于特征相关的拼接方法等。若没有特别指定,本发明中记载的全景图像均为柱面全景图像。
在具体实施过程中,首先选取所述初始帧全景图像,然后再从所述初始帧全景图像及之后的每帧全景图像中选取n个投影图像。在从每帧全景图像中选取n个投影图像时,可以根据全景图像和投影图像的像素点之间的对应关系,从每帧全景图像中选取n个投影图像。
具体来讲,在获取全景图像和投影图像的像素点之间的对应关系时,可以根据投影图像的划分规则,获取全景图像和投影图像的像素点之间的对应关系。所述划分规则可以是基于预设经度或预设纬度或基于预设经纬度的划分规则,还可以是基于预设视场的划分规则等,本申请不作具体限制。
具体地,所述划分规则为基于预设视场的划分规则时,可以先设定投影图像的水平视场角和竖直视场角,并计算投影窗口的投影点;根据投影点、水平视场角和竖直视场角选取n个投影图像,其中,可以控制全景图像的每个像素点都能够与至少一个投影图像中的像素点对应;也可以控制全景图像中的大部分像素点都能与至少一个投影图像中的像素点对应。
具体地,首先将全景图像映射成球面图像,然后在球面图像中选取一个或多个投影点,然后再基于划分规则从球面图像中选取投影的n个投影图像。如此,根据每个投影图像、球面图像和全景图像的对应关系,可以得到每个投影图像中的每个像素点与全景图像中的像素点的对应关系;然后根据每个投影图像中的每个像素点与全景图像中的像素点的对应关系,得到每帧全景图像对应的n个投影图像。若n个投影图像用projimg表示,则可以确定全景图像和n个投影图像的像素点之间的对应关系可以用{projimg->panoimg}表示。
例如,全景图像中的a像素点与b投影图像中的c像素点对应,全景图像中的a1像素点与b1投影图像中的c1像素点对应,则可以确定{projimg->panoimg}包括有对应关系(a->(b,c))和(a1->(b1,c1))。通常此种方式,得到b和b1投影图像中每个像素点与全景图像中的像素点的对应关系;根据得到的对应关系,将全景图像的像素点的像素值填充在b和b1中,进而得到b和b1。
在实际应用中,如图2所示,全景图像映射成球面图像20,然后在全面图像20中选取投影点200,其中,基于划分规则从球面图像20中选取投影图像30,投影图像30与球面图像20上像素点201、像素点202、像素点203和像素点204这四个像素点对应;基于与选取投影图像30同样的方式,从全景图像20中选取剩下的所有投影图像。
其中,投影图像30与球面图像20中上述四个像素点对应的球面区域相比,其畸变更小或不存在,使其在投影图像30进行跟踪时数据更精确,促使目标跟踪的准确性提高。
在本发明的第一种实施方式中,由于本发明实施例需要进行目标跟踪,因此,需要确保每个投影图像与至少一个投影图像存在重叠区域,以降低出现跟踪目标从一个投影图像进入另一投影图像时出现消失的情况的概率。若每个投影图像与任意一个投影图像不存在重叠区域,当跟踪目标从一个投影图像进入另一个投影图像中时,由于不存在重叠区域,从而会出现跟踪目标从投影图像中消失的问题;而在每个投影图像与至少一个投影图像存在重叠区域,使得在目标有很大概率通过重叠区域从一个投影图像进入另一个投影图像。如此,能够有效降低目标从一个投影图像进入另一投影图像时出现消失的情况的概率,提高目标跟踪的准确性。
具体地,所述n个投影图像中两两相邻的投影图像之间的重叠率在预设范围内,例如所述重叠率可以不低于投影图像大小的1%且不高于投影图像的30%,此时,所述预设范围为1%-30%。优选地,所述n个投影图像中两两相邻的图像之间的重叠率间不低于投影图像大小的2%且不高于投影图像的15%,此时,所述预设范围为2%-15%。本发明实施例中,由于两两相邻的投影图像之间具有重叠率,如此,还可以记录每个投影图像与其它投影图像的邻接关系。
例如,全景图像中选取的n个投影图像为b投影图像、b1投影图像、b2投影图像和b3投影图像。若b投影图像仅与b1投影图像具有重叠区域,则b投影图像的邻接关系为(b->b1);若b1投影图像与b和b2投影图像具有重叠区域,则b1投影图像的邻接关系为(b1->(b,b2));若b2投影图像与b1和b3投影图像具有重叠区域,则b2投影图像的邻接关系为(b2->(b1,b3));若b3投影图像与b2投影图像具有重叠区域,则b3投影图像的邻接关系为(b3->b2)。
在本发明另一实施例中,全景相机使用的是与人眼相对一致的视角,在多数情况,全景图像中的南北两极图像包含跟踪目标的概率较小,且南北两极图像的畸变较大会导致出现跟踪的准确性较差的问题。如此,为了提升算法速度和跟踪的准确性,可以从每帧全景图像中的南北两极图像去掉之后的剩余全景图像中选取n个投影图像,以提高跟踪的效率和准确性。
较优地,可以只保留全景图像的赤道一圈图像进行目标跟踪,全景图像的赤道方向共360度,假设将赤道附近内容拆分成n个投影图像,则每个投影图像包含的经度范围为360/n+2d,d为相邻的两幅图像重合的部分,一般情况下,5≤d≤360*0.25/n,相邻投影图像的中心经度间隔360/n,每个投影图像的纬度取值范围为-e~+e;其中,e为纬度值,其取值范围为35~45。
接下来执行步骤s102,在该步骤中,通过步骤s101提取出所述初始帧全景图像中的n个投影图像之后,根据预设条件,从所述初始帧全景图像中提取出的n个投影图像中选取所述m个跟踪目标。其中,m为不小于1的整数;优选地,m为不小于2的整数,例如为2、3、4等。
本发明实施例中,所述预设条件可以是用户自行选取的,也可以是通过目标检测方法检测到的,还可以是通过目标跟踪方法跟踪到的,还可以采用上述三种方法中的至少两种方法得到的。所述目标检测方法可以是人脸检测方法、基于regionproposal的深度学习目标检测算法和生物识别方法等,本申请不作具体限制。进一步地,所述目标跟踪方法可以基于主动轮廓的跟踪方法、基于特征的跟踪方法、基于区域的跟踪方法和基于模型的跟踪方法等。
具体来讲,在通过目标检测方法从n个投影图像中选取所述m个跟踪目标时,通过目标检测方法对所述n个投影图像中的每个投影图像进行检测,将针对每个投影图像检测到的所有检测结果作为所述m个跟踪目标;并将记录所述m个跟踪目标与所述n个投影图像的对应关系。
具体地,在记录所述m个跟踪目标与所述n个投影图像的对应关系时,可以通过建立索引标记来标记每个投影图像,然后可以记录每个跟踪目标与索引标记的对应关系即记录每个跟踪目标与所述n个投影图像的对应关系。
本发明实施例中,每个投影图像的索引标记是唯一的,防止由于索引标记不唯一导致出现跟踪目标与投影图像的对应关系不正确的问题。进一步地,在从所述初始帧全景图像中提取出的n个投影图像中选取所述m个跟踪目标时,可以并行执行,也可以依次执行,本申请不作具体限制。
例如,若n=4,则4个投影图像中的第一投影图像、第二投影图像、第三投影图像和第四投影图像依次对应的索引标记为t1、t2、t3和t4;以及通过目标检测方法对4个投影图像进行目标检测,得到从所述第一投影图像中检测到的f1目标、从所述第二投影图像中检测到的f2目标和f3目标、从所述第四投影图像中检测到的f4目标。由此可知,4个投影图像与跟踪目标的对应关系包括{(f1->t1)、((f2,f3)->t2)和(f4->t4)}。下面具体以t1、t2、t3和t4分别表示第一投影图像、第二投影图像、第三投影图像和第四投影图像进行举例说明。
在本发明的另一实施例中,所述根据预设条件,从所述初始帧全景图像中提取出的n个投影图像中选取所述m个跟踪目标,还可以包括以下步骤,如图3所示:
s301、根据所述预设条件,从所述初始帧全景图像中提取出的n个投影图像中选取所有跟踪目标;
s302、将所述所有跟踪目标转换到同一坐标系中,获取在同一坐标系中具有重叠区域的跟踪目标对集;
s303、从所述所有跟踪目标中去除掉每个跟踪目标对中的一个跟踪目标,将余下的全部跟踪目标作为所述m个跟踪目标。
其中,在步骤s301中,根据所述预设条件,从所述初始帧全景图像中提取出的每个投影图像中选取跟踪目标,得到从每个投影图像中选取的跟踪目标,即得到所述所有跟踪目标。
例如,若所述初始帧全景图像中的n个投影图像为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,可以随机选择从所述所有跟踪目标中去除掉每个跟踪目标对中的一个跟踪目标,得到余下的全部跟踪目标并将其作为所述m个跟踪目标。
在本发明另一实施例中,为了提高所述m个跟踪目标中的跟踪目标的准确度,也可以获取每个跟踪目标对中每个跟踪目标的置信度;去除掉每个跟踪目标对中置信度小的跟踪目标,得到余下的全部跟踪目标并将其作为所述m个跟踪目标。如此,使得所述m个跟踪目标中保留了每个跟踪目标对中置信度大的跟踪目标,进而能够提高所述m个跟踪目标中的跟踪目标的准确度。
具体地,若在获取跟踪目标时已获取每个跟踪目标的置信度,则在去除掉每个跟踪目标对中置信度小的跟踪目标时,可以根据已获取的每个跟踪目标对的两个置信度进行比对即可。例如,在通过目标检测方法和/或目标跟踪方法来获取每个跟踪目标时,目标检测方法和/或目标跟踪方法会自动计算出每个跟踪目标的置信度。如此,在去除掉每个跟踪目标对中置信度小的跟踪目标时,可以根据已获取的每个跟踪目标对的两个置信度进行比对即可。
进一步地,若在获取跟踪目标时未获取每个跟踪目标的置信度,则在去除掉每个跟踪目标对中置信度小的跟踪目标之前,可以根据置信度算法来获取每个跟踪目标的置信度,然后根据获取的每个跟踪目标对的两个置信度进行比对。其中,所述置信度算法例如可以是置信区间计算方法、正态分布方法等。
进一步地,根据置信度算法来获取跟踪目标的置信度时,也可以仅根据置信度算法来获取所有跟踪点对中每个跟踪目标的置信度,而无需获取每个跟踪目标的置信度,以降低计算量,进而提高计算效果。
例如,若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为所述m个跟踪目标,此时m=3。
接下来执行步骤s103,依次针对第1帧全景图像之后的每帧全景图像执行步骤s1031。
其中,在步骤s1031中,利用第i帧全景图像中的n个投影图像中的每个跟踪目标进行跟踪时,将第i帧全景图像中的每个跟踪目标在第(i+1)帧全景图像中的对应投影图像进行跟踪,从而得到第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标。
本发明实施中,由于每帧全景图像中的n个投影图像均是根据所述预设条件选取的,而每帧全景图像对应所述预设条件均相同;由此可知,每帧全景图像中的n个投影图像与其它任意一帧全景图像中的n个投影图像所对应的视场均是相同;因此,可以使得前一帧全景图像中的每个跟踪目标在下一帧全景图像中的对应投影图像中进行跟踪。
例如,若所述初始帧全景图像中的投影图像为t1、t2、t3和t4,4个投影图像与跟踪目标的对应关系为{((r1,r2)->t1)、((r3,r4)->t2)和(r5->t3)};以及对应的m个跟踪目标为r1、r3和r4;若下一帧全景图像中的投影图像为t11、t21、t31和t41,其中,t1与t11对应、t21与t2对应,t31与t3对应,t41与t4对应;再根据投影图像与跟踪目标的对应关系,利用目标跟踪算法将r1在t11中进行跟踪,利用目标跟踪算法将r3和r4在t21中进行跟踪。
具体来讲,由于i依次从1取到s,在i=1,则利用第1帧全景图像中m个跟踪目标中的每个跟踪目标进行跟踪;而且由于每执行一次步骤s1031,能够得到第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标,使得i依次从1取到s时,可以利用得到的第(i+1)帧全景图像中跟踪成功的每个跟踪目标来执行步骤s1031。例如,在i=1,则利用第i帧全景图像中m个跟踪目标中的每个跟踪目标进行跟踪,得到第2帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标;在i=2,则利用得到的第2帧全景图像中的跟踪成功的每个跟踪目标进行跟踪,然后i依次3一直取到s。
本发明另一实施例中,也可以创建与每帧全景图像中的n个投影图像一一对应的n个跟踪器;再根据跟踪目标与投影图像的对应关系,将第i帧全景图像中的每个跟踪目标添加到所述n个跟踪器中对应的跟踪器中进行跟踪。
本发明实施中,所述跟踪器是利用目标跟踪算法计算出来的跟踪模型,例如根据前一帧全景图像中某个投影图像的一个跟踪目标的特征点的参数写入跟踪模型,然后所述跟踪器自动对写入的参数进行运算来进行跟踪。其中,所述目标跟踪算法包括基于camshift的目标跟踪算法、基于均值漂移与卡尔曼滤波的目标跟踪算法、基于sift特征目标跟踪算法研究和基于卡尔曼预测的动态目标跟踪算法等。
例如,若初始帧全景图像即第1帧全景图像中的n个投影图像为t1、t2、t3和t4,则创建g1跟踪器、g2跟踪器、g3跟踪器和g4跟踪器这四个跟踪器,其中,g1与t1对应,g2与t2对应,g3与t3对应和g4与t4对应。以及m个跟踪目标为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帧全景图像中的跟踪目标为多个时,则可以并行跟踪多个跟踪目标,以缩短跟踪所耗费的时间;当然,也可以串行跟踪多个跟踪目标,本申请不作具体限制。
本发明另一实施例中,在利用第i帧全景图像中的n个投影图像中的每个跟踪目标进行跟踪时,若第(i+1)帧全景图像中的n个投影图像中不存在跟踪成功的跟踪目标,则从第(i+1)帧全景图像中的n个投影图像中选取至少一个跟踪目标;当然,也可以从第(i+2)帧全景图像中的n个投影图像中选取至少一个跟踪目标。其中,在从第(i+1)或(i+2)帧全景图像中的n个投影图像中选取至少一个跟踪目标时,可以根据所述预设条件,从第(i+1)或(i+2)帧全景图像中的n个投影图像中选取至少一个跟踪目标。其选取至少一个跟踪目标的具体实施过程中可以参考针对步骤s101的叙述,为了说明书的简洁,在此就不再赘述了。
例如,若第3帧全景图像中的投影图像为t12、t22、t32和t42,则利用r11通过g1在t12中进行跟踪和利用r31通过g2在t22中进行跟踪;若r11和r31均未跟踪成功,则根据所述预设条件,从t12、t22、t32和t42中选取至少一个跟踪目标。当然,也可以根据所述预设条件,从第4帧全景图像中的投影图像为t13、t23、t33和t43中选取至少一个跟踪目标。
本发明另一实施例中,在从所述初始帧全景图像选取的n个投影图像中选取m个跟踪目标之后,所述方法还包括以下步骤,参见图4:
s401、以所述初始帧全景图像为起点,每间隔k帧全景图像从相应帧全景图像对应的n个投影图像中选取至少一个跟踪目标,其中,k为不小于2的整数;
s402、在每个间隔k帧全景图像的周期内,将选取至少一个跟踪目标的相应帧全景图像作为第1帧全景图像,依次针对第1帧全景图像之后的每帧全景图像执行以下步骤,其中,i依次从1取到k+1:
s4021、利用第i帧全景图像中的n个投影图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标。
其中,在步骤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的具体实施方式可以为步骤s102的任意一个实施方式,为了说明书的简洁,在此就不再赘述了。
在执行步骤s401之后,在每个间隔k帧全景图像的周期内,以选取至少一个跟踪目标的相应帧全景图像为第1帧全景图像,然后依次针对该周期内的第1帧全景图像之后的每帧全景图像执行步骤s4021,其中步骤s403的具体实施过程可以参考步骤s1032的实施过程。
例如,若第二个间隔4帧全景图像的周期包含的全景图像为第6、7、8、9和10帧全景图像,首先从第二个间隔4帧全景图像的周期内的开始帧全景图像即第6帧全景图像中的投影图像为t15、t25、t35和t45;此时,可以根据人脸检测方法从t15、t25、t35和t45中选取至少一个跟踪目标;然后利用选取的至少一个跟踪目标在第7帧全景图像中对应的投影图像中进行跟踪。
由于本实施例中每间隔k帧全景图像就从相应帧全景图像对应的n个投影图像中选取至少一个跟踪目标,使得在全景图像对应的场景有新的跟踪目标进入时能够即时检测到并进行跟踪。如此,能够提高检测到跟踪目标的及时性和准确性,使得跟踪的准确性和及时性也会随之提高。
本发明另一实施例中,在得到第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标之后,可以将第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标显示在第(i+1)帧全景图像或第(i+2)帧全景图像中。
具体来讲,在将第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标显示在第(i+1)帧全景图像或(i+2)帧全景图像中时,首先需要将第(i+1)帧全景图像中跟踪成功的至少一个跟踪目标中的每个跟踪目标进行坐标转换,然后将坐标转换后的每个目标跟踪显示在第(i+1)帧全景图像或第(i+2)帧全景图像中。
具体地,在进行坐标转换时,可以根据投影图像和全景图像中的像素点对应关系,将跟踪成功的每个跟踪目标进行坐标转换,从而将每个跟踪目标在投影图像中的坐标转换为全景图像中的坐标;如此,将坐标转换后的每个目标跟踪显示在第(i+1)帧全景图像或第(i+2)帧全景图像中时,其显示的精确性提高。
例如,若第2帧全景图像中的投影图像为t11、t21、t31和t41,则通过g1在t11中跟踪r1,通过g2在t21中跟踪r3和r4;得到从第2帧全景图像中的投影图像中跟踪成功的r1用r11表示和跟踪成功的r3用r31表示,然后将r11和r31进行坐标转换后显示在第2帧全景图像或第3帧全景图像中。
本发明实施例中,在将第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标显示在第(i+1)帧全景图像中时,将第1帧全景图像中的n个投影图像中的至少一个跟踪目标显示在第1帧全景图像中;在将第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标显示在第(i+2)帧全景图像中时,将第1帧全景图像中的n个投影图像中的至少一个跟踪目标显示在第2帧全景图像中;通过上述方式,以防止出现第1和2帧全景图像中的n个投影图像中的至少一个跟踪目标同时显示在第2帧全景图像中的问题,降低出现跟踪目标重合显示的问题。
本发明另一实施例中,在利用第i帧全景图像中的n个投影图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标时,所述方法还包括以下步骤,如图5所示:
s501、检测第(i+1)帧全景图像中的n个投影图像中的每个跟踪目标是否均跟踪成功;
s502、在每检测到第(i+1)帧全景图像中的一个跟踪目标跟踪失败时,根据投影图像之间的邻接关系,获取与该跟踪失败的跟踪目标所在的投影图像邻接的相邻投影图像;
s503、利用跟踪失败的跟踪目标在第(i+2)帧全景图像中的相邻投影图像中进行目标检测,得到跟踪失败的跟踪目标对应的检测结果;
s504、从所有跟踪失败的跟踪目标对应的检测结果中获取检测结果表征检测成功的每个跟踪目标,将检测成功的每个跟踪目标和跟踪得到的至少一个跟踪目标作为第(i+2)帧全景图像中的n个投影图像中的所有跟踪目标。
其中,在步骤s501中,在利用第i帧全景图像中的n个投影图像中的每个跟踪目标进行跟踪时,检测第i帧全景图像中的每个跟踪目标是否跟踪成功;若每个跟踪目标都跟踪成功,则可以确定第(i+1)帧全景图像中的n个投影图像中的所有跟踪目标均跟踪成功;以及在每检测到一个跟踪目标跟踪失败时,执行步骤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)帧全景图像中的n个投影图像中的所有跟踪目标。
其中,在步骤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个投影图像中选取m个跟踪目标,其中m为不小于1的整数;
以所述初始帧全景图像为第1帧全景图像,依次针对第1帧全景图像之后的每帧全景图像执行以下步骤,其中,i依次从1取到s,s为大于1的整数:
利用第i帧全景图像中的n个投影图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标。
优选地,所述程序被处理器执行时从全景视频中的每帧全景图像中选取n个投影图像的步骤时,具体包括以下步骤:从每帧全景图像中的南北两极图像去掉之后的剩余全景图像中选取n个投影图像。
优选地,所述程序被处理器执行时从全景视频中的每帧全景图像中选取n个投影图像的步骤时,具体包括以下步骤:
根据全景图像和投影图像的像素点之间的对应关系,从全景视频中的每帧全景图像中选取n个投影图像。
优选地,所述程序被处理器执行时从所述初始帧全景图像选取的n个投影图像中选取m个跟踪目标的步骤时,具体包括以下步骤:
根据预设条件,从所述初始帧全景图像中提取出的n个投影图像中选取所述m个跟踪目标。
优选地,所述程序被处理器执行时根据预设条件,从所述初始帧全景图像中提取出的n个投影图像中选取所述m个跟踪目标的步骤时,具体包括以下步骤:
根据所述预设条件,从所述初始帧全景图像中提取出的n个投影图像中选取所有跟踪目标;
将所述所有跟踪目标转换到同一坐标系中,获取在同一坐标系中具有重叠区域的跟踪目标对集;
从所述所有跟踪目标中去除掉每个跟踪目标对中的一个跟踪目标,将余下的全部跟踪目标作为所述m个跟踪目标。
优选地,所述程序被处理器执行时从所述所有跟踪目标中去除掉每个跟踪目标对中的一个跟踪目标,将余下的全部跟踪目标作为所述m个跟踪目标的步骤时,具体包括以下步骤:
获取每个跟踪目标对中每个跟踪目标的置信度;
去除掉每个跟踪目标对中置信度小的跟踪目标,得到余下的全部跟踪目标并将其作为所述m个跟踪目标。
优选地,从所述所有跟踪目标中去除掉每个跟踪目标对中的一个跟踪目标,将余下的全部跟踪目标作为所述m个跟踪目标,具体包括:
获取每个跟踪目标对中每个跟踪目标的置信度;
去除掉每个跟踪目标对中置信度小的跟踪目标,得到余下的全部跟踪目标并将其作为所述m个跟踪目标。
优选地,所述程序被处理器执行时利用第i帧全景图像中的n个投影图像中的每个跟踪目标进行跟踪的步骤时,具体包括以下步骤:
创建与每帧全景图像中的n个投影图像一一对应的n个跟踪器;
根据跟踪目标与投影图像的对应关系,将第i帧全景图像中的每个跟踪目标添加到所述n个跟踪器中对应的跟踪器中进行跟踪。
优选地,所述程序被处理器执行时在利用第i帧全景图像中的n个投影图像中的每个跟踪目标进行跟踪时,还包括以下步骤:
若第(i+1)帧全景图像中的n个投影图像中不存在跟踪成功的跟踪目标,则从第(i+1)帧全景图像中的n个投影图像中选取至少一个跟踪目标。
优选地,在从所述初始帧全景图像选取的n个投影图像中选取m个跟踪目标之后,还实现以下步骤:
以所述初始帧全景图像为起点,每间隔k帧全景图像从相应帧全景图像对应的n个投影图像中选取至少一个跟踪目标,其中,k为不小于2的整数;
在每个间隔k帧全景图像的周期内,将选取至少一个跟踪目标的相应帧全景图像作为第1帧全景图像,依次针对第1帧全景图像之后的每帧全景图像执行以下步骤,其中,i依次从1取到k+1;
利用第i帧全景图像中的n个投影图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标。
优选地,所述程序被处理器执行时在得到第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标之后,还实现以下步骤:
将第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标显示在第(i+1)帧全景图像或第(i+2)帧全景图像中。
优选地,所述程序被处理器执行时在得到第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标时,还实现以下步骤:
检测第(i+1)帧全景图像中的n个投影图像中的每个跟踪目标是否均跟踪成功;
在每检测到第(i+1)帧全景图像中的一个跟踪目标跟踪失败时,根据投影图像之间的邻接关系,获取与该跟踪失败的跟踪目标所在的投影图像邻接的相邻投影图像;
利用跟踪失败的跟踪目标在第(i+2)帧全景图像中的相邻投影图像中进行目标检测,得到跟踪失败的跟踪目标对应的检测结果;
从所有跟踪失败的跟踪目标对应的检测结果中获取检测结果表征检测成功的每个跟踪目标,将检测成功的每个跟踪目标和跟踪得到的至少一个跟踪目标作为第(i+2)帧全景图像中的n个投影图像中的所有跟踪目标。
优选地,所述程序被处理器执行时在每个投影图像与至少一个投影图像存在重叠区域,且每检测到第(i+1)帧全景图像中的一个跟踪目标跟踪失败时,还实现以下步骤:
检测该跟踪失败的跟踪目标是否位于两个投影图像之间的重叠区域内;
若检测到该跟踪失败的跟踪目标不位于两个投影图像之间的重叠区域内,则丢弃该跟踪失败的跟踪目标;
若检测到该跟踪失败的跟踪目标位于两个投影图像之间的重叠区域内,则获取与该跟踪失败的跟踪目标所在的投影图像具有重叠区域的特定投影图像;
利用跟踪失败的跟踪目标在第(i+2)帧全景图像中的所述特定投影图像中进行目标检测,得到跟踪失败的跟踪目标对应的检测结果;
从所有跟踪失败的跟踪目标对应的检测结果中获取检测结果表征检测成功的每个跟踪目标,将检测成功的每个跟踪目标和跟踪得到的至少一个跟踪目标作为第(i+2)帧全景图像中的n个投影图像中的所有跟踪目标。
本发明的有益效果如下:
由于本申请实施例是利用第i帧全景图像中的n个投影图像中的每个跟踪目标进行跟踪,得到第(i+1)帧全景图像中的n个投影图像中跟踪成功的至少一个跟踪目标;使得每个跟踪目标在在对应的投影图像中进行目标跟踪;本发明实施例无需将n个广角图像转换成全景图像;且采用的跟踪算法的计算量也要明显低于现有技术采用的跟踪算法确定跟踪目标的新位置的计算量。因此,与现有技术相比,在进行多目标跟踪时其计算步骤减少及计算量降低,因而促使全景视频中多目标跟踪效率提高,有效提高了全景视频中的多个目标跟踪的实时性。
进一步地,由于每个投影图像为对应的全景图像中的部分图像的投影,使得投影图像的畸变极小或不存在;而在畸变极小或不存在畸变的投影图像中进行目标跟踪时,其跟踪的准确性会大幅提高,从而能够有效提高跟踪的准确性。
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。