本申请涉及数字图像处理领域,尤其涉及一种对象跟踪方法及装置。
背景技术:
如今,对象跟踪在视频监控、自主车辆导航以及机器人领域得到越来越广泛的应用。例如,在机器人领域中,行人的跟踪作为一项基本功能,能够为机器人进行人机交互提供支撑,使得机器人可以更好的执行各种任务。
现有技术中,在进行行人跟踪时,摄像头采集到的图像数据,从中选择边界框(bounding-box)最大的作为跟踪对象。这种方式相对简单,行人的跟踪不准确。
技术实现要素:
有鉴于此,本申请实施例提供一种对象跟踪方法及装置,用于提升行人跟踪的准确性。
本申请实施例提供一种对象跟踪方法,包括:
标记当前图像帧中至少一个检测对象的边界框;
分别计算至少一个检测对象的边界框与目标追踪对象在前一图像帧中的边界框的重合度;
根据计算出的至少一个重合度,从所述至少一个检测对象中确定所述目标跟踪对象。
进一步可选地,对所述至少一个检测对象中的任一检测对象,计算所述检测对象的边界框与目标追踪对象在前一图像帧中的边界框的重合度,包括:分别计算所述检测对象的边界框与所述目标追踪对象在前一图像帧中的边界框的交集的面积以及并集的面积;根据所述交集的面积以及并集的面积,确定所述检测对象的边界框与所述目标追踪对象在前一图像帧中的边界框的重合度。
进一步可选地,所述根据计算出的至少一个重合度,从所述至少一个检测对象中确定所述目标跟踪对象,包括:若所述计算出的至少一个重合度中,存在符合预设的重合度条件的重合度,将符合预设的重合度条件的重合度对应的检测对象标记为所述目标跟踪对象。
进一步可选地,所述根据计算出的至少一个重合度,从所述至少一个检测对象中确定所述目标跟踪对象,包括:若所述计算出的至少一个重合度中,不存在符合预设的重合度条件的重合度,获取所述至少一个检测对象的颜色稠密直方图;根据所述至少一个检测对象的颜色稠密直方图与所述目标追踪对象在当前图像帧之前至少一个图像帧中的颜色稠密直方图,分别计算所述至少一个检测对象与所述目标追踪对象的相似度;从所述至少一个检测对象中,获取相似度符合设定要求的检测对象,作为所述目标跟踪对象。
进一步可选地,对所述至少一个检测对象中的任一检测对象,计算所述检测对象与所述目标追踪对象的相似度,包括:分别计算所述检测对象的颜色稠密直方图与所述目标追踪对象在当前图像帧之前至少一个图像帧中的颜色稠密直方图的相似度,以获得至少一个颜色稠密直方图的相似度;获取所述至少一个颜色稠密直方图的相似度的平均值,作为所述检测对象与所述目标追踪对象的相似度。
进一步可选地,所述方法还包括:保存所述当前图像帧的帧号、所述目标跟踪对象在所述当前图像帧中的边界框以及所述目标追踪对象在所述当前图像帧中的边界框所限定的检测对象之间的对应关系。
本申请实施例还提供一种对象跟踪装置,包括:
标记单元,用于标记当前图像帧中至少一个检测对象的边界框;
计算单元,用于分别计算至少一个检测对象的边界框与目标追踪对象在前一图像帧中的边界框的重合度;
确定单元,用于根据计算出的至少一个重合度,从所述至少一个检测对象中确定所述目标跟踪对象。
进一步可选的,所述计算单元用于:对所述至少一个检测对象中的任一检测对象,计算所述检测对象的边界框与所述目标追踪对象在前一图像帧中的边界框的交集的面积以及并集的面积;据所述交集的面积以及并集的面积,确定所述检测对象与所述目标追踪对象在前一图像帧中的边界框的重合度。
进一步可选的,所述计算单元用于:若所述计算出的至少一个重合度中,存在符合预设的重合度条件的重合度,将符合预设的重合度条件的重合度对应的检测对象标记为所述目标跟踪对象。
进一步可选的,所述确定单元用于:若所述计算出的至少一个重合度中,不存在符合预设的重合度条件的重合度,获取所述至少一个检测对象的颜色稠密直方图;根据所述至少一个检测对象的颜色稠密直方图与所述目标追踪对象在当前图像帧之前至少一个图像帧中的颜色稠密直方图,分别计算所述至少一个检测对象与所述目标追踪对象的相似度;从所述至少一个检测对象中,获取相似度符合设定要求的检测对象,作为所述目标跟踪对象。
本申请实施例提供的对象跟踪方法及装置,通过标记当前图像帧中至少一个检测对象的边界框,并与目标追踪对象在前一图像帧中的边界框进行重合度的计算,基于当前图像帧中至少一个检测对象的边界框与目标追踪对象在前一图像帧中的边界框的重合度,从至少一个检测对象中确定目标跟踪对象。克服了对象追踪易受对象所处环境影响的缺陷,实现了更加准确的行人追踪。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种对象跟踪方法的流程示意图;
图2是本申请实施例提供的一种对象跟踪方法的另一流程示意图;
图3是本申请实施例提供的一种对象跟踪装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例在实现对象追踪的过程时,通过摄像头进行目标追踪对象的捕捉,例如通过单目摄像头捕捉行人。现有的对象追踪技术中,采用摄像头对行人进行捕捉时,一方面行人本身具有姿势各异、轮廓外貌多样性的特点,另一方面行人所处环境以及拍摄照明条件也相当复杂。上述原因导致行人的捕捉极易出现漏检以及虚报的情形,从而直接导致对象追踪的准确度下降。针对这一缺陷,本申请实施例的核心在于,获取当前图像帧中的检测对象的特征,并将其与前一图像帧中确定的目标追踪对象进行特征匹配,从而获取当前图像帧中的目标追踪对象,避免了漏检以及虚报。
图1是本申请实施例提供的一种对象跟踪方法的流程示意图,结合图1,该方法包括:
步骤101、标记当前图像帧中至少一个检测对象的边界框。
步骤102、分别计算至少一个检测对象的边界框与目标追踪对象在前一图像帧中的边界框的重合度。
步骤103、根据计算出的至少一个重合度,从所述至少一个检测对象中确定所述目标跟踪对象。
针对步骤101,所述的当前图像帧为当前时刻拍下的图像帧,当前图像帧中包含至少一个检测对象。当前图像帧中的至少一个检测对象都有可能成为目标追踪对象,也有可能至少一个检测对象都不是目标追踪对象(意味着跟踪失败)。
可选的,在本实施例中,在实现对象追踪的过程中,通过摄像头拍摄图像站,以便进行对象捕捉,例如可以通过单目摄像头或多目摄像头捕捉对象。所述摄像头可以安装于追踪设备上。基于此,可以通过安装在追踪设备的上的摄像头进行拍摄,以获得当前图像帧。根据应用场景的不同,追踪设备的实现也会有所不同。例如,当本申请实施例的技术方案应用于机器人对象追踪场景时,所述机器人可以作为追踪设备,并且可在机器人的某个部位,例如头部安装单目或多目摄像头以对行人进行拍摄。
在拍摄到当前图像帧后,可以标记当前图像帧中至少一个检测对象的边界框。
在一种可选的实施方式中,拍摄到检测对象之后,标记当前图像帧中至少一个检测对象的边界框,可以通过基于神经网络的快速区域检测(Faster-Region-based Convolutional Neural Networks,Faster-RCNN)算法实现。现有的对象追踪技术中,采用摄像头对行人进行捕捉时,一方面行人本身具有姿势各异、轮廓外貌多样性的特点,另一方面行人所处环境以及拍摄照明条件也相当复杂。上述原因导致行人的捕捉极易出现漏检以及虚报的情形,从而直接导致对象追踪的准确度下降。而Faster-RCNN算法在目标检测上漏检率以及虚报率低,为实现准高确率的对象追踪奠定了基础。由于Faster-RCNN算法是成熟的现有技术,本申请实施例不再赘述。
在一种可选的实施方式中,当前图像帧包含的至少一个检测对象是指出现在当前图像帧中的所有对象。通过标记当前图像帧中所有检测对象的边界框,有利于避免可能出现的漏检情况。
在另一种可选的实施方式中,在标记当前图像帧中至少一个检测对象的边界框之前,可以对当前图像帧中的检测对象进行初步筛选,以确定需要标记边界框的至少一个检测对象,即从当前图像帧中的所有检测对象中选择符合标记条件的检测对象进行边界框的标记。例如,可以选择边界框较为规则的检测对象进行标记,或者选择边界框较大(例如边界框面积大于预设值)的检测对象进行标记。采用上述标记方式,提升了对检测对象的标记速率,降低了对象跟踪所需处理的数据量,有利于提高对象跟踪效率,节约资源。
针对步骤102,所述的前一图像帧为:与当前图像帧的帧号相邻的前一图像帧。例如,假设当前图像帧的帧号为N,则帧号为N-1的图像帧即为所述的前一图像帧。
在所述的前一图像帧中,已经确定了目标追踪对象,即前一图像帧包含有目标追踪对象以及目标追踪对象的边界框。可选的,若前一图像帧为首帧,可以像现有技术那样,直接选择边界框最大的检测对象作为目标追踪对象。若前一图像帧为非首帧,则可以采用图1所示实施例提供的方法从前一图像帧包含的检测对象中确定目标追踪对象。
对当前图像帧中的至少一个检测对象进行边界框标记后,分别计算当前图像帧中至少一个检测对象的边界框与目标追踪对象在前一图像帧中的边界框的重合度,此时获得至少一个重合度。例如,假设当前图像帧中包含M个检测对象,M个检测对象的边界框分别与该目标追踪对象在前一图像帧中的边界框进行重合度计算,得到M个边界框的重合度。通常,前后两帧图像之间,拍摄角度不变的情况下,通过两帧图像的叠加处理,能够获取两帧图像中包含的边界框的重合度。
针对步骤103,得到至少一个重合度之后,基于至少一个重合度,从至少一个检测对象中确定目标检测对象。值得说明的是,理论上,当前图像帧中确定的目标检测对象与前一图像帧中确定的目标检测对象应该相同。
本实施例中,通过标记当前图像帧中至少一个检测对象的边界框,并将其与目标追踪对象在前一图像帧中的边界框进行重合度的计算。基于当前图像帧中至少一个检测对象的边界框与目标追踪对象在前一图像帧中的边界框的重合度,从至少一个检测对象中确定目标跟踪对象。克服了对象追踪易受对象所处环境影响的缺陷,实现了更加准确的行人追踪。
图2是本申请实施例提供的一种对象跟踪方法的另一技术流程图,结合图2,该方法包括:
步骤201、标记当前图像帧中至少一个检测对象的边界框。
步骤202、对所述至少一个检测对象中的任一检测对象,分别计算所述检测对象的边界框与目标追踪对象在前一图像帧中的边界框的交集的面积以及并集的面积。
步骤203、根据所述交集的面积以及并集的面积,确定所述检测对象的边界框与所述目标追踪对象在前一图像帧中的边界框的重合度。
步骤204、判断计算出的至少一个重合度中是否存在符合预设的重合度条件的重合度。
若所述计算出的至少一个重合度中,存在符合预设的重合度条件的重合度,执行步骤205;若所述计算出的至少一个重合度中,不存在符合预设的重合度条件的重合度,执行步骤206~步骤208。
步骤205、将符合预设的重合度条件的所述重合度对应的检测对象标记为所述目标跟踪对象。
步骤206、获取所述至少一个检测对象的颜色稠密直方图。
步骤207、根据所述至少一个检测对象的颜色稠密直方图与所述目标追踪对象在当前图像帧之前的至少一个图像帧中的颜色稠密直方图,分别计算所述至少一个检测对象与所述目标追踪对象的相似度。
步骤208、从所述至少一个检测对象中,获取相似度符合设定要求的检测对象,作为所述目标跟踪对象。
步骤201的具体实现参见图1所示实施例中的描述,此处不再赘述。
针对步骤202,摄像头拍摄到的当前图像帧与前一图像帧具有相同的拍摄角度以及拍摄参数。获取当前图像帧之后,叠加当前图像帧以及前一图像帧,以计算当前图像帧中至少一个检测对象的边界框与目标追踪对象在前一图像帧中的边界框因叠加产生的交集的面积以及并集的面积。
例如,当前图像帧中标记第一检测对象的边界框为A1、标记第二检测对象的边界框为A2、标记第三检测对象的边界框为A3,目标追踪对象在前一图像帧中的边界框为B。分别计算如下内容:边界框A1与边界框B的交集的面积A1∩B以及边界框A1与边界框B的并集的面积A1∪B;边界框A2与边界框B的交集的面积A2∩B以及边界框A2与边界框B的并集的面积A2∪B;边界框A3与边界框B的交集的面积A3∩B以及边界框A3与边界框B的并集的面积A3∪B。
针对步骤203,基于上述计算得到的交集的面积以及并集的面积,可以计算当前图像帧中至少一个检测对象与目标追踪对象在前一图像帧中的边界框的重合度。
在一种可选的实施方式中,重合度=交集的面积/并集的面积,但并不限于此。
承接上述例子,当前图像帧中的第一检测对象与目标追踪对象的第一重合度=(A1∩B)/(A1∪B);当前图像帧中的第二检测对象与目标追踪对象的第二重合度=(A2∩B)/(A2∪B);当前图像帧中的第三检测对象与目标追踪对象的第三重合度=(A3∩B)/(A3∪B)。
可选的,也可以据此计算重合度,即重合度=交集的面积/(交集的面积+并集的面积)。或者,也可以据此计算重合度,即重合度=K1*交集的面积/K2*并集的面积,K1和K2为预设系数。
针对步骤204,在获取当前图像帧中至少一个检测对象的边界框与目标追踪对象在前一图像帧中的边界框的重合度之后,得到至少一个重合度。基于至少一个重合度的值做判断,从至少一个检测对象中确定目标追踪对象。
可选的,所述的预设的重合度条件可以是一个重合度阈值,该阈值一般为经验值,其取值大小与摄像头的拍摄间隔相关。若摄像头拍摄时两帧图像之间的时间间隔较小,被拍摄的检测对象移动范围较小,则目标追踪对象在前后两图像帧中位置的重合度较高。针对上述情况,该重合度阈值可以设置相对小一些。反之,若摄像头拍摄时,两帧图像之间的时间间隔较大,被拍摄的检测对象移动范围较大,则目标追踪对象在前后两图像帧中位置的重合度较低。针对上述情况,该重合度阈值可以设置相对大一些。本实施例在实际执行时,设置摄像头的拍摄频率为1秒内拍5帧图像,可将重合度阈值设置为0.6。基于上述的拍摄频率以及重合度阈值的设置,判定大于0.6的重合度对应的检测对象为目标跟踪对象能够得到更加准确的目标追踪对象的检测结果。
针对步骤205,在一种可能的情形中,以大于0.6作为重合度条件时,从至少一个重合度中选择大于0.6的重合度,将该重合度对应的检测对象作为目标追踪对象。
针对步骤206,在一种可能的情形中,在摄像头的拍摄时间间隔内,检测对象移动速度较快,前后两帧中可能不存在边界框的重合度符合重合度条件的对象,即基于重合度条件未能当前图像帧中哪个检测对象是目标检测对象。在这一情形下,进一步获取当前图像帧中标记的至少一个检测对象中每一检测对象的颜色稠密直方图。例如,当前图像帧中标记有M个检测对象,则分别计算M个检测对象各自的颜色稠密直方图,以获得M个颜色稠密直方图。颜色稠密直方图表征了检测对象的颜色特征,描述的是不同色彩在检测对象的图像中所占的比例,根据颜色稠密直方图可实现检测对象的精准识别。
其中,可以根据边界框内的图像部分,计算颜色稠密直方图。
可选的,通过开源计算机视觉库CV(Open Source Computer Vision Library,Open)的calcHist函数进行颜色稠密直方图的计算。由于Open CV是成熟的现有技术,本申请实施例对具体的直方图计算过程不做赘述。
针对步骤207,在一种可选的实施方式中,分别计算所述至少一个检测对象与所述目标追踪对象的相似度,可以分别计算所述检测对象的颜色稠密直方图与所述目标追踪对象在当前图像帧之前至少一个图像帧中的颜色稠密直方图的相似度。基于上述计算过程,获得至少一个颜色稠密直方图的相似度,计算所述的至少一个颜色稠密直方图的相似度的平均值,作为所述检测对象与所述目标追踪对象的相似度。
所述的目标追踪对象在当前图像帧之前的至少一个图像帧中的颜色稠密直方图,包括所述目标追踪对象在前一图像帧中的颜色稠密直方图以及,所述目标追踪对象在前一图像帧之前的数帧图像中对应的颜色稠密直方图。即,假设当前图像帧的帧号为N,帧号N-n为当前图像帧的前n图像帧,则目标追踪对象在当前图像帧之前的至少一个图像帧中的颜色稠密直方图包括:目标追踪对象在第N-1帧中的颜色稠密直方图H-1、目标追踪对象在第N-2帧中的颜色稠密直方图H-2……以及目标追踪对象在第N-n帧中的颜色稠密直方图H-n,其中n是一个经验值,为小于等于N且大于等于0的整数。
假设当前图像帧中,标记的三个检测对象中第一检测对象的颜色稠密直方图为H1、第一检测对象的颜色稠密直方图为H2、第一检测对象的颜色稠密直方图为H3。针对第一检测对象,计算第一检测对象与所述目标追踪对象的相似度的具体过程为:分别计算第一检测对象的颜色稠密直方图与目标追踪对象在当前图像帧之前的n帧图像帧中的颜色稠密直方图的相似度,得到n个颜色稠密直方图相似度;计算n个颜色稠密直方图相似度的平均值,作为第一检测对象与目标追踪对象的相似度。
例如,第一检测对象与目标追踪对象相似度的计算过程为:
S1=[similarity(H1,H-1)+similarity(H1,H-2)+……+similarity(H1,H-n)]/n
第二检测对象与目标追踪对象相似度的计算过程为:
S2=[similarity(H2,H-1)+similarity(H2,H-2)+……+similarity(H2,H-n)]/n
第三检测对象与目标追踪对象相似度的计算过程为:
S3=[similarity(H3,H-1)+similarity(H3,H-2)+……+similarity(H3,H-n)]/n
其中,similarity()为相似度计算函数。上述执行方式中,通过比较当前图像帧中的检测对象与前一图像帧中确定的目标追踪对象的至少一个历史颜色稠密直方图进行的相似度,降低了行人姿势、轮廓外貌、行人所处环境以及拍摄照明条件对追踪的影响,进一步提升了相似度计算结果的可信度。
针对步骤208,在一种可选的实施方式中,计算检测对象与目标追踪对象的相似度之后,逐个判断相似度是否符合设定的要求。可选的,本实施例中设定的要求为:相似度大于某一相似度阈值且该相似度是至少一个相似度中的最大值。
该相似度阈值的取值是一个经验值,与检测对象所处的环境以及拍摄的照明条件相关。本申请实施例在实际操作时,在常规办公区进行测试,将相似度阈值取值为0.7时,能够获较为准确的追踪结果。
本实施例中,获取当前图像帧中至少一个检测对象的边界框,并将其与目标追踪对象在前一图像帧中的边界框进行重合度的计算。基于当前图像帧中至少一个检测对象的边界框与目标追踪对象在前一图像帧中的边界框的重合度,从至少一个检测对象中确定目标跟踪对象。避免了漏检以及虚报的情形,提升了对象追踪的准确性。当重合度并不能判断当前图像帧中是否存目标追踪对象时,进一步获取当前图像帧中至少一个检测对象的颜色稠密直方图并与目标追踪对象在当前帧之前的至少一个图像帧中的颜色稠密直方图进行相似度计算,通过颜色稠密直方图的相似性从当前图像帧的至少一个检测对象中获取目标追踪对象。基于上述的方案,降低了行人姿势、轮廓外貌、行人所处环境以及拍摄照明条件对追踪的影响,实现了高准确率的对象追踪。
需要说明的是,本申请实施例的技术方案中,针对每一个当前图像帧,保存该当前图像帧的帧号、目标跟踪对象在当前图像帧中的边界框,以及目标跟踪对象在当前图像帧中的颜色稠密直方图以及所述目标追踪对象之间的对应关系。
可选的,在实际操作过程中,保存目标跟踪对象在当前图像帧中的颜色稠密直方图时,针对每一个图像帧,将目标跟踪对象在该图象帧中的颜色稠密直方图按照该图像帧的帧号的顺序保存在一个长度固定为n的列表中。列表里存放的颜色稠密直方图的数量不足n时,将不断地按照图像帧的帧号的递加顺序添加目标跟踪对象在图象帧中的颜色稠密直方图。列表里存放的数量超过n,则列表的一端添加目标追踪对象在帧号最大的图像帧(帧号为N的当前图像帧)中的颜色稠密直方图,在列表的另一端删除目标追踪对象在帧号最小的图像帧(帧号为N-n的图像帧)中的颜色稠密直方图。列表长度n是一个经验值,经过多次试验尝试,当n=10时能够获取最正确的相似度计算结果以及较高的计算效率。保存上述内容用于下一图像帧进行目标追踪对象的识别时做对比,不再赘述。
下部分将结合应用场景,以一个具体的实例,具体阐述本申请实施例的技术方案。
将单目摄像头安装在智能机器人的头部,用于拍摄交互对象并在机器人执行交互对象的跟踪任务时,实现对交互对象的检测。
当交互对象与机器人进行人机互动时,通过单目摄像头拍摄交互对象获取第一图像帧。在第一图像帧中,采用Faster R-CNN算法获取第一图像帧中检测对象的bounding box。
选取面积最大的bounding box对应的检测对象,作为交互对象,并标注为b-box0,计算b-box0选中部分的颜色稠密直方图,标记为H0。应当理解,该交互对象与机器人进行人机交互,距离机器人最近且机器人眼部组件的转动方向朝着交互对象所在的方向,故在单目摄像头的拍摄结果中,交互对象位于视野正中间,bounding box面积最大。
通过第一图像帧确定交互对象之后,以0.2S为拍摄间隔,以第一图像帧的拍摄角度拍摄第二图像帧。在第二图像帧中,采用Faster R-CNN算法获取第二图像帧中检测对象的bounding box。假设在第二图像帧中,分别获取到四个检测对象对应的bounding-box:b-box1、b-box2、b-box3、b-box4。
分别计算第二图像帧中每个检测对象的bounding box与第一图像帧中确定的交互对象的bounding box的重合度C1、C2、C3:
C1=(b-box0∩b-box1)/(b-box0∪b-box1)
C2=(b-box0∩b-box2)/(b-box0∪b-box2)
C3=(b-box0∩b-box3)/(b-box0∪b-box3)
在该实施例中,设置重合度阈值为0.6。
在一种情境下,假设C1、C2、C3的值分别为0.2、0.7以及0.1,则C2=0.7>0.6,将C2对应的检测对象作为交互对象进行追踪。
在另一种情境下,假设C1、C2、C3的值分别为04、0.5以及0.1,没有满足大于0.6的重合度值。则分别计算第二图像帧中获取到的四个检测对象的颜色稠密直方图,即,计算b-box1、b-box2、b-box3以及b-box4选中的图像的颜色稠密直方图,分别得到颜色稠密直方图H1、H2、H3、H4。
分别计算第一图像帧中确定的交互对象的颜色稠密直方图H0与第二图像帧中的四个检测对象的颜色稠密直方图H1、H2、H3、H4的相似度:
S1=similarity(H0,H1);S2=similarity(H0,H2);
S3=similarity(H0,H3);S4=similarity(H0,H4);
在该实施例中,设置相似度阈值为0.7。
获得四个相似度之后,选择S1、S2、S3、S4中大于相似度阈值0.7的相似度。假设S1、S2、S3、S4的值分别为0.1、0.75、0.1以及0.05,S2=0.75>0.7,判定S2对应的检测对象为交互对象进行追踪。保存第二图像帧中的交互对象对应的b-box2以及颜色稠密直方图H2。
在第二帧图像中获取到交互对象的位置后,机器人对追踪交互对象:移动机身靠近交互对象,且摄像头重新进行调整对准交互对象。在0.2S之后,摄像头拍摄第三图像帧。
在第三图像帧中,采用Faster R-CNN算法获取第三图像帧中两个检测对象的bounding box,标记为b-box21、b-box22。分别计算b-box21、b-box22与第二图像帧中确定的交互对象的b-box2的重合度,并分别判断两个重合度中是否包含大于0.6的重合度,若存在,则将大于0.6的重合度对应的检测对象作为交互对象进行追踪。
在另一种情境下,若b-box2分别与b-box21、b-box22计算得到的重合度均不满足大于0.6,则分别计算第三图像帧中获取到的两个检测对象的颜色稠密直方图,即,计算b-box21、b-box22选中的图像的颜色稠密直方图,分别得到H21、H22。
分别计算第一图像帧中确定的交互对象的颜色稠密直方图H0、第二图像帧中确定的交互对象的颜色稠密直方图H2与第三图像帧中的两个检测对象的颜色稠密直方图H21、H22各自的相似度的平均值:
S21=[similarity(H0,H21)+similarity(H0,H22)]/2
S22=[similarity(H1,H21)+similarity(H2,H22)]/2;
其中,计算相似度similarity()可通过Open CV的CompareHist函数实现:
cvCompareHist(const CvHistogram*hist1,const CvHistogram*hist2,i ntmethod);
method:CV_COMP_COREEL
其中,
其中,k为颜色稠密直方图的序号,d(h1,h2)表示颜色稠密直方图h1,h2之间的相似度,i,j用于计数,Num为颜色稠密直方图的bin的个数,本实施例中可以设置为Num=16*4,hk(i)表示第k个颜色稠密直方图的第i个bin,h`k(i)表示一个归一化的过程。
在上述语句中,cvCompareHist是颜色稠密直方图的比较函数,CvHistogram是用于创建多维直方图的函数,hist1以及hist2是被比较的两个颜色稠密直方图。
获得两个个相似度之后,选择S21、S22中大于相似度阈值0.7的相似度。假设S1、S2、S3、S4的值分别为0.2、0.8,S22=0.8>0.7,判断S22对应的检测对象为交互对象进行追踪。保存第三图像帧中的交互对象对应的b-box22以及颜色稠密直方图H22。
在第三帧图像中获取到交互对象的位置后,机器人对追踪交互对象:移动机身靠近交互对象,且摄像头重新进行调整对准交互对象。在0.2S之后,摄像头拍摄第四图像帧。后续的追踪原理如上所述,此处不再赘述。需要说明的是,在根据交互对象在当前图中帧之前的预设数量的帧图像中的颜色稠密直方图进行相似度计算时,所述预设数量的取值应当保持在合理范围,以避免出现复杂的计算导致追踪延时。
图3是本申请提供的一种对象跟踪装置的装置结构示意图,结合图3,该装置包括:
标记单元301,用于标记当前图像帧中至少一个检测对象的边界框;
计算单元302,用于分别计算至少一个检测对象的边界框与目标追踪对象在前一图像帧中的边界框的重合度;
确定单元303,用于根据计算出的至少一个重合度,从所述至少一个检测对象中确定所述目标跟踪对象。
进一步可选的,所述计算单元302用于:对所述至少一个检测对象中的任一检测对象,计算所述检测对象的边界框与所述目标追踪对象在前一图像帧中的边界框的交集的面积以及并集的面积;根据所述交集的面积以及并集的面积,确定所述检测对象与所述目标追踪对象在前一图像帧中的边界框的重合度。
进一步可选的,所述计算单元302用于:若所述计算出的至少一个重合度中,存在符合预设的重合度条件的重合度,将符合预设的重合度条件的重合度对应的检测对象标记为所述目标跟踪对象。进一步可选的,所述确定单元303用于:若计算出的至少一个重合度中,不存在符合所述重合度范围的重合度,获取每一所述检测对象的颜色稠密直方图;根据所述至少一个检测对象的颜色稠密直方图与所述目标追踪对象的至少一个历史颜色稠密直方图,计算所述至少一个检测对象与所述目标追踪对象的相似度;获取相似度符合设定要求的检测对象,作为所述目标跟踪对象的对象。
进一步可选的,所述计算单元302用于:若所述计算出的至少一个重合度中,不存在符合预设的重合度条件的重合度,获取所述至少一个检测对象的颜色稠密直方图;根据所述至少一个检测对象的颜色稠密直方图与所述目标追踪对象在当前图像帧之前至少一个图像帧中的颜色稠密直方图,分别计算所述至少一个检测对象与所述目标追踪对象的相似度;从所述至少一个检测对象中,获取相似度符合设定要求的检测对象,作为所述目标跟踪对象。
进一步可选的,所述计算单元302用于:分别计算所述检测对象的颜色稠密直方图与所述目标追踪对象在当前图像帧之前至少一个图像帧中的颜色稠密直方图的相似度,以获得至少一个颜色稠密直方图的相似度;
获取所述至少一个颜色稠密直方图的相似度的平均值,作为所述检测对象与所述目标追踪对象的相似度。
进一步可选的,本申请实施例提供的对象跟踪装置还包括存储单元。所述存储单元用于保存所述当前图像帧的帧号、所述目标跟踪对象在所述当前图像帧中的边界框以及所述目标追踪对象在所述当前图像帧中的边界框所限定的检测对象之间的对应关系。
本申请实施例提供的对象追踪装置,标记单元301标记当前图像帧中至少一个检测对象的边界框,计算单元302计算当前图像帧中至少一个检测对象的边界框与目标追踪对象在前一图像帧中的边界框的重合度,由确定单元303根据计算得到的至少一个重合度,从至少一个检测对象中确定目标跟踪对象。克服了对象追踪易受对象所处环境影响的缺陷,实现了更加准确的行人追踪。