一种图像数据处理方法、装置及电子设备
技术领域
本申请涉及视频图像数据处理领域,尤其涉及一种图像数据处理方法、装置及电子设备。
背景技术
随着智能手机市场迅速发展,用户使用移动终端进行照相、自拍、录像等时常常需要对采集的视频中的目标进行跟踪、定位,如自拍时的人脸跟踪。这样,视频中的拍摄目标可以随着终端或者目标的运动而进行自动跟踪、锁定,可以为用户提供便利和感知更好的使用效果。
在视频目标的跟踪场景中,图像块匹配是目前现有技术主要采用的处理方法之一。视频通常是由多个视频帧按照时序排列组成,在获取当前帧的跟踪的目标图像块后可以将其作为下一帧目标区域需要进行图像块匹配的参考图像块。现有技术中为了在目标区域找到最佳的匹配位置,常常采用遍历搜索的方式在定位的下一帧目标区域的所有区域进行搜索,如图1所示,图1是现有技术中常用的图像块搜索方式示意图。图1中所示的常见的匹配策略通常是以某个搜索起始点P(x,y)为中,在目标区域的搜索半径(range_max)范围内进行全部像素点搜索,即与该半径(range_max)区域内的每个像素点均比较,然后匹配出一个位置确定匹配结果。如图1中当设定当前帧的搜索半径为(range_max)时,这时需要匹配的次数为(2*range_max+1)*(2*range_max+1)。但是这种目标区域遍历搜索的策略往往导致计算量很大,特别是如果跟踪过程中跟踪目标运动幅度较大时,为了确保匹配的准确性,往往会较大增幅的增大搜索半径,即增大(range_max)的值,这显然会导致图像块匹配次数急剧增加,数据处理量增大,匹配速度降低。同时,对于终端处理设备来说,这样大量的计算会增加处理负荷,会存在导致终端出现发热、卡顿的风险,降低用户APP或者终端设备使用体验。
现有技术中视频目标跟踪的图像块处理方式匹配次数较多,数据计算量较大,增加了处理负荷,导致处理效率较低,甚至会经常出现终端设备发热、卡顿等问题,降低用户使用体验。
发明内容
本申请目的在于提供一种图像数据处理方法、装置及电子设备,可以保障匹配准确性的同时快速找到到帧图像中目标图像块的匹配位置点,大量减少匹配计算次数,降低处理负荷,提高匹配速度,改善用户使用体验。
本申请提供的一种图像数据处理方法、装置及电子设备是这样实现的:
一种图像数据处理方法,所述方法包括:
确定目标图像的搜索中心点和最大搜索预估半径,在所述最大搜索预估半径范围内设置至少两级不同取值的搜索半径;
以所述搜索中心点为中心,在从所述不同取值的搜索半径中选取的第一搜索半径范围内搜索符合第一匹配要求的第一像素点;
当搜索到所述第一像素点时,在以所述第一像素点为中心的预设区域范围内搜索符合第二匹配要求的第二像素点;
当搜索到所述第二像素点时,以所述第二像素作为匹配出的所述目标图像的匹配位置点。
一种图像数据处理方法,所述方法包括:
确定目标图像的搜索中心点和最大搜索预估半径,在所述最大搜索预估半径范围内设置至少两级不同取值的搜索半径;
以所述搜索中心点为中心,在从所述不同取值的搜索半径中选取的第一搜索半径范围内搜索目标像素点;
若在所述第一搜索半径范围内搜索到所述目标像素点,则以所述搜索到的目标像素点作为匹配出的所述目标图像的匹配位置点;否则,
以所述搜索中心点为中心,按照所述搜索半径从小到大的取值顺序,依次将搜索半径扩大到下一个所述第一搜索半径的下一个搜索半径取值后匹配搜索所述目标像素点。
一种图像数据处理装置,所述装置包括:
搜索半径设置模块,用于确定目标图像的搜索中心点和最大搜索预估半径,在所述最大搜索预估半径范围内设置至少两级不同取值的搜索半径;
第一搜索模块,用于以所述搜索中心点为中心,在从所述不同取值的搜索半径中选取的第一搜索半径范围内搜索符合第一匹配要求的第一像素点;
第二搜索模块,用于当搜索到所述第一像素点时,在以所述第一像素点为中心的预设区域范围内搜索符合第二匹配要求的第二像素点;
匹配结果模块,用于当搜索到所述第二像素点时,以所述第二像素作为匹配出的所述目标图像的匹配位置点。
一种图像数据处理装置,所述装置包括:
搜索半径设置单元,用于确定目标图像的搜索中心点和最大搜索预估半径,在所述最大搜索预估半径范围内设置至少两级不同取值的搜索半径;
第一搜索单元,用于以所述搜索中心点为中心,在从所述不同取值的搜索半径中选取的第一搜索半径范围内搜索目标像素点;
第二搜索单元,若在所述第一搜索半径范围内未搜索到所述目标像素点,则以所述搜索中心点为中心,按照所述搜索半径从小到大的取值顺序,依次将搜索半径扩大到下一个所述第一搜索半径的下一个搜索半径取值后匹配搜索所述目标像素点;
匹配结果处理单元,用于若在搜索半径范围内搜索到所述目标像素点时,以所述搜索到的目标像素点作为匹配出的所述目标图像的匹配位置点。
一种图像数据处理的电子设备,所述电子设备包括:
图像数据处理单元,所述图像数据处理单元被设置成,用于获取目标图像的搜索中心点和最大搜索预估半径,以及在所述最大搜索预估半径范围内设置的至少两级不同取值的搜索半径;还用于以所述搜索中心点为中心,在从所述不同取值的搜索半径中选取的第一搜索半径范围内搜索符合第一匹配要求的第一像素点;还用于当搜索到所述第一像素点时,在以所述第一像素点为中心的预设区域范围内搜索符合第二匹配要求的第二像素点;还用于当搜索到所述第二像素点时,以所述第二像素作为匹配出的所述目标图像的匹配位置点。
一种图像数据处理的电子设备,所述电子设备包括:
图像数据处理单元,所述图像数据处理单元被设置成,用于获取目标图像的搜索中心点和最大搜索预估半径,以及在所述最大搜索预估半径范围内设置的至少两级不同取值的搜索半径;还用于以所述搜索中心点为中心,在从所述不同取值的搜索半径中选取的第一搜索半径范围内搜索目标像素点;还用于若在所述第一搜索半径范围内未搜索到所述目标像素点,则以所述搜索中心点为中心,按照所述搜索半径从小到大的取值顺序,依次将搜索半径扩大到下一个所述第一搜索半径的下一个搜索半径取值后匹配搜索所述目标像素点;还用于若在搜索半径范围内搜索到所述目标像素点时,以所述搜索到的目标像素点作为匹配出的所述目标图像的匹配位置点。
本申请提供的一种图像数据处理方法、装置及电子设备,采用多级搜索半径的搜索策略,可以先在设定的第一搜索半径的小范围内进行图像块的粗匹配搜索。如果第一搜索半径范围内已经找到符合第一匹配要求的第一像素点,则可以再进一步的以第一像素点为中心进行精确的第二匹配搜索。与现有技术中的一开始就以最大搜索半径的搜索匹配相比,本申请可以在搜索匹配过程中先以小于常规的最大搜索半径的第一搜索进半径行粗略的位置匹配,然后再进行小范围内的精确位置匹配,可以大幅度的降低匹配次数。实际应用处理过程中,视频目标跟踪中运动幅度通常不会太大,可以先在一个设定的较为合理的小半径范围内进行匹配搜索,若能匹配搜索到符合要求的图像块,则搜索次数可以以指数形式下降,大大减少了匹配搜索次数。应用本申请图像数据处理方法或装置,保障视频目标跟踪时图像块匹配准确性的同时可以大幅度降低图像块匹配搜索次数,降低数据计算量,减少处理负荷,提高匹配处理效率和用户视频目标跟踪使用体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中常用的图像块搜索方式示意图;
图2是本申请提供的一种图像数据处理方法一种实施例的方法流程示意图;
图3是本申请提供的定义两级搜索半径的搜索范围示意图;
图4是本申请图像数据处理过程中第一像素的搜索过程示意图;
图5是本申请图像数据处理过程中第二像素的匹配搜索示意图;
图6是本申请所述一种图像数据处理方法另一种实施例的方法流程示意图;
图7是本申请所述一种图像数据处理方式另一种实施例的方法流程示意图;
图8是本申请提供的搜索第一像素点的一种实施例的方法流程示意图;
图9是本申请所述匹配步长为2个像素时搜索第一像素的示意图;
图10是本申请提供的以搜索中心点为起始点搜索第一像素的图像数据处理方法的另一种实施例的搜索示意;
图11是本申请提供的所述一种图像数据处理方法中采用八领域搜索第二像素点的示意图;
图12是本申请提供的一种图像数据处理方法另一种实施例的方法流程示意图;
图13是本申请提供的一种图像数据处理方法另一种实施例的方法流程示意图;
图14是本申请提供的一种图像数据处理装置一种实施例的模块结构示意图;
图15是本申请提供的一种图像数据处理装置另一种实施例的模块结构示意图;
图16是本申请提供的一种图像数据处理装置另一种实施例的模块结构示意图;
图17是本申请提供的一种图像数据处理装置另一种实施例的模块结构示意图;
图18是本申请提供的一种图像数据处理装置另一种实施例的模块结构示意图;
图19是本申请提供的一种图像数据处理的电子设备应用在视频目标跟踪设备(系统)中的一种实施场景示意图;
图20是本申请提供的一种图像数据处理的电子设备另一种实施例的实施场景示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图2是本申请所述一种图像数据处理方法一个实施例的方法流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
具体的如图2所述,本申请一种实施例提供的一种图像数据处理方法可以包括:
S1:确定目标图像的搜索中心点和最大搜索预估半径,在所述最大搜索预估半径范围内设置至少两级不同取值的搜索半径。
如前所述,目标跟踪的视频通常是由多个视频帧按照时序排列组成,每一个视频帧均可以视为一个由若干像素点组成的图像。在视频目标跟踪处理过程中,通常将目标所在方形区域作为一个整体的图像块,如移动终端拍摄时跟踪处理的正方形人脸图像块。本申请实施例中,所述的目标图像可以包括需要处理的当前帧图像。当确定某一帧(N帧)中跟踪目标所在的图像块后,可以将其作为下一帧(N+1帧)目标区域需要进行图像块匹配的参考图像块,然后可以在所述下一帧中匹配搜索与所述参考图像块相似度最高的目标图像块。本申请实施例中在对当前帧进行图像块匹配处理时可以先确定当前帧图像的搜索中心点和在所述当前帧进行匹配搜索的最大搜索预估半径。
本申请中所述的搜索中心点通常可以根据上一帧确定出的参考图像块进行确定。例如本实施例手机移动终端视频自拍对人脸跟踪的应用场景中,可以将上一帧或重新初始捕捉确定的视频跟踪目标所在的正方形参考图像块的中心点坐标,作为进行图像块匹配的搜索中心点在当前视频目标图像中相对应的位置。例如上一帧(N-1帧)视频图像中目标图像块长(W)和宽(H)分别为60*60像素的正方形人脸跟踪图像块,那么可以以该正方形人脸跟踪图像块的中心像素点(W/2,H/2)所在的坐标位置((xN-1,yN-1,)在当前帧(N帧)视频图像相对应的坐标位置(xN,yN,)处的像素点为搜索中心点。相应的,当前帧(N帧)视频图像中最终匹配出的目标图像块中心像素点的坐标位置可以作为下一帧(N+1)帧进行图像块匹配的搜索中心点。当然,其他的实施例应用场景中,所述的参考图像块所在的图像与目标图像可以不是相邻的帧图像,如处理当前帧(N帧)图像时,出现超时或处理错误,则可以将上一帧(N-1)图像处理时确定出的参考图像块作为下一帧(N+1)图像处理时的参考图像块。
另外,其他可选的实施例中,所述搜索中心点也可以包括采取其他方式确定出的中点位置,例如在上一帧目标图像块中心像素点所在的位置再经过一定的位置偏移(offset)处理后确定出当前帧的搜索中心点。甚至可以包括在当前帧中采用其他算法在当前帧中重新确定的搜索中心点等。
在本实施例中,确定目标图像的搜索起始点位置的同时还可以确定在目标图像中进行图像块匹配的最大搜索预估半径。所述的最大搜索预估半径通常可以在视频目标跟踪过程中基于视频目标的运动幅度采用一定算法计算或者根据经验值设置等得到的搜索半径,通常在这个最大搜索预估半径范围内可以匹配出目标图像的目标图像块,一旦超出当前帧的最大搜索预估半径则可以认为目标图像块的匹配结果不准确或者不可靠。例如本实施例应用场景中可以根据当前帧(N帧)与上一帧(N-1)指定区域图像块(RGB)色彩差值大小判断视频中的跟踪目标运动幅度大小,并可以根据判断的结果确定当前帧的最大搜索预估半径。具体的例如在手机移动终端视频自拍对人脸跟踪的方案实施应用场景中,设定通常情况下目标图像块每一帧最多只能移动20像素,因此当判断视频跟踪目标运动幅度较大时,可以设置目标图像的最大搜索预估半径(range_max)为20像素。当然,可以对具体的某种应用场景设置统一的最大搜索预估半径,这样的设置方式使得其他帧图像的最大搜索预估半径均(range_max)为20像素。
在本申请其他的一些实施例中,所述的最大搜索预估半径可以在不同的帧图像中可以有不同的取值。例如通常情况下视频跟踪过程中,视频跟踪目标运动幅度不会太大,所述的最大搜索预估半径可以设置为12个像素,或者在12-14个像素之间浮动。当判断某一个帧图像中视频跟踪目标运动幅度较大时,所述最大搜索预估半径则可以设置为18或20个像素。一般的,现有图像处理技术中每秒拍摄采集的帧数较大,常规视频目标在相邻视频帧图像中一次移动的范围不会太大。本申请的提供的一种实施例中,所述最大搜索预估半径的取值范围可以为:20~24个像素。在利用本申请实施方案下,最大搜索预估半径这样的设置取值既可以大幅度降低匹配次数的同时,也保障了一定的匹配搜索准确性,可以避免最大搜索预估半径设置过大,导致严重增加搜索次数,使得计算数据量剧增,甚至引起计算匹配错误等。
确定了最大搜索预估半径后,可以在所述最大搜索预估半径范围内设置多级不同取值的搜索半径,可以实现在不同级别的搜索半径范围内搜索最佳匹配位置像素点。本申请实施例可以基于确定的目标图像最大搜索预估半径定义至少两级不同半径取值的搜索半径。一般的,设置的多级不同取值的搜索半径中,可以以所述最大搜索预估半径为所述搜索半径的最大取值。当然,其他的实施例中,(range_max)也可以为略小于所述最大搜索预估半径的取值,如定义了两级或者三级搜索半径中最大搜索半径取值为19个像素。通常情况下设置两级不同搜索半径即可以在最小搜索半径范围附近搜索到匹配位置点,实现大幅度降低匹配搜索次数,具体的本申请实施例应用场景中所述在所述最大搜索预估半径范围内设置至少两级不同取值的搜索半径可以包括:
S101:基于所述最大搜索预估半径设置两级搜索半径,所述两级搜索半径包括所述最大搜索预估半径、小于所述最大搜索预估半径的第一搜索半径。
图3是本申请提供的定义两级搜索半径的搜索范围示意图。如图3所示,本实施例中可以定义两级搜索半径(range_1,range_2)。所述range_2可以为确定出的目标图像的最大搜索预估半径(range_max),如20个像素。本实施例中所述的第一搜索半径(range_1)可以采用设定算法或者经验值确定得出。例如本实施例应用场景中,人脸视频自拍时通常人脸整体运动比较慢,前后帧的人脸图像块位置差别不大,所述第一搜索半径可以设置比较小的值,如(range_1)可以设置为4至8个像素的取值范围。假如在比赛直播或者高速车辆追踪等视频目标运动较快的应用场景中,所述的第一搜索半径则可以调整为较大的值,如8至16个像素。本申请实施例中所述的第一搜索半径设置小于确定出的所述最大搜索预估半径,如本实施例应用场景中第一搜索半径(range_1)最大的取值小于前述确定的最大搜索预估半径20像素,即最大可以取值为19个像素。通常情况下,所述的第一搜索半径可以与所述最大搜索预估半径间隔一定的像素点,如10个或16个像素点等,或者是取值为最大搜索预估半径的一半。或者在其他的实施例中采用一定比例或间隔算法,如设置三级搜索半径时,每间隔6个像素点为一级搜索半径分别设置为8(第一或初始搜索半径)、14、20个像素。因此,本申请提供的所述一种图像数据处理方法的一种实施例中,当判断跟踪目标当前为小幅度运动时,所述第一搜索半径的取值范围为:4-8个像素;当判断跟踪目标当前为大幅度运动时,所述第一搜索半径的取值范围为:8-16个像素。
本申请实施例确定目标图像的搜索中心点和最大搜索预估半径,在所述最大搜索预估半径范围内设置至少两级不同取值的搜索半径。
S2:以所述搜索中心点为中心,在从所述不同取值的搜索半径中选取的第一搜索半径范围内搜索符合第一匹配要求的第一像素点。
所述第一像素点包括作为搜索图像块的中心像素点时使得所述搜索图像块与参考图像块的相似度大于第一阈值的像素点。
可以选择一个起始点,在小于所述最大搜索预估半径的第一搜索半径(range_1)范围内进行搜索符合匹配要求的像素点。本实施例中在搜索第一像素点时设置的匹配要求可以称为第一匹配要求,所述第一匹配要求具体的可以根据图像搜索处理需求或设计等实际应用场景进行设置。在本申请的另一种实施例视频图像块匹配处理时,所述第一匹配可以包括:
S201:作为搜索图像块的中心像素点时使得所述搜索图像块与参考图像块的相似度大于第一阈值的像素点。
具体的实施过中可以以确定出的搜索中心点P为搜索中心,在其周围第一搜索半径(range_1)范围内选取像素点,以选取的像素点作为搜索图像块的中心像素点,然后计算该搜索图像的相似度,判断是否大于设定的第一阈值。如果大于,则可以以该选取的像素点作为第一像素点,因此,本实施例中所述第一像素点可以包括作为搜索图像块的中心像素点时,使得所述搜索图像块与参考图像块的相似度大于第一阈值的像素点。所述的第一阈值具体的取值可以根据实际视频目标跟踪应用场景或设计需求进行计算或设置。
本实施例中所述的搜索图像块与参考图像块的相似度的计算方法可以采用平方差或者互相关算法,或者其他计算视频跟踪中图像块间相似性的方法。具体本申请可实施例中所述搜索图像块与参考图像块的相似度采用下述方式计算得出:
在目标图像中获取与参考图像块大小相同的搜索图像块,将所述搜索图像块和所述参考图像块所包含像素点的坐标分别展开为相应图像块的一维向量数据X、Y,采用下式互相关算法计算所述搜索图像块和参考图像块一维向量数据的互相关系数R,并以计算出的互相关系数作为所述搜索图像块与参考图像块的相似度;
上式中,x
i、y
i分别为一维向量X、Y的第i个值,
分别为一维向量X、Y的平均取值,n为参考图像块中像素点的个数。
上述所述的互相关算法匹配图像块之间的相似性,在搜索区域内像素点的颜色比较相似时由于不仅考虑到了颜色信息,还加入了参考图像块内像素的顺序,可以避免出现因图像块间的颜色差问题而出现的匹配错误,具有更好的匹配效果。具体的实现方式上,比如将参考图像块T(大小为w*h)的放在目标图像I的位置P(x1,y1),那么可以从I中扣出一个搜索图像块A,搜索图像块A的大小也为w*h,搜索图像块A与参考图像块T是同等大小的。搜索图像块A的所有像素展开可以形成w*h的一维向量X,参考图像块T的所有像素展开也可以形成w*h的一维向量Y,然后可以采用上式计算两块图像块之间的互相关系数R。
在本申请实施例所述图像数据处理方法中,所述第一阈值的取值在一些应用场景中对首次匹配搜索的处理结果影响较大,而本实施例后续进一步精确匹配是依据第一搜索半径范围内搜索到的符合相似度要求的第一像素进行处理的,是后续图像块匹配搜索处理的重要先决条件。如果所述的第一阈值的取值偏大,在搜索第一像素点时可以过滤掉较多的搜索图像块相似度小于第一阈值的像素点,加快最终匹配处理结果和匹配精准度;如果所述第一阈值的取值偏小,则可以较快的匹配到图像块相似度大于等于第一阈值的像素点,然后相对较早的在第一像素点周围进行精确匹配,从另一方面来说也可以提高匹速度。因此,本申请实施例所述第一阈值的取值可以直观影响着最终图像块数据处理的匹配效果,本申请提供所述一种图像数据处理方法的另一种实施例中,经过多场景实验和实际使用评测结果,综合考虑下提供了一种所述第一阈值的取值方式。采用本实施例提供的第一阈值的取值范围可以良好的实现图像块搜索速度和最终匹配准确性之间的平衡关系,实现良好的匹配效果和匹配速度,提高匹配效率。具体的,本申请所述一种图像数据处理方法的另一种实施例中,
S202:所述第一阈值的取值范围包括:0.5~0.75。
在本实施例提供的第一取值范围内进行第一像素点的匹配搜索,可以使整个图像块匹配处理保障一定要求匹配精度的情况下(如相似度低于0.5则认为两个图像块不匹配)最大化的加快匹配速度,提高图像块匹配数据处理效率,进而提高视频目标跟踪的效果。
其他的一种实施例中,所述第一阈值取值方式也可以包括根据第一搜索半径(range_1)的取值大小来确定第一阈值的取值,例如在本实施例应用场景中,假设第一搜索半径(range_1)取值为4至8个像素点时,则所述第一阈值T1可以设置为0.5。若第一搜索半径(range_1)增加,则可以根据设定相应的增加或减小第一阈值的取值。
确定在第一搜索半径范围进行搜索第一像素点的第一阈值后,可以在以所述搜索中心点为中心第一搜索半径范围内选取像素点,计算以选取的像素点为中心像素点的搜索图像块与上一帧参考图像块的相似度,搜索相似度大于等于第一阈值的搜索图像块。图4是本申请图像数据处理过程中第一像素的搜索过程示意图。具体的搜索第一像素点的处理过程如图4所示,可以包括选取以所述搜索中心点P为中心、第一搜索半径范围内的某个像素点作为搜索起始点,如(range_1)取值为5,则可以以左上角(即图4中range_1区域的第一行第一列)的像素点P1为搜索起始点,计算以所述搜索起始点为中心像素点的搜索图像块S1与上一帧确定出的参考图像块的相似度。如果所述搜索图像块S1与所述参考图像块的相似度大于等于设置的第一阈值,则将选取的该像素点P1作为第一像素点。当然,上如果述range_1区域的第一行第一列的像素点不满足图像块相似度要求,则可以继续选取range_1区域的第一行第二列的像素点P2作为搜索图像块的中心像素点,继续计算新的搜索图像块的相似度,并判断是否大于等于第一阈值,直到遍历完range_1区域内的所有像素点。一般的,搜索图像块的大小和形状可以与参考图像块的大小和形状相同,如均为边长为K个像素的正方形。
在本申请实施例中,可以以所述搜索中心点为中心,在小于最大搜索预估半径的第一搜索半径范围内搜索满足图像块相似度大于等于第一阈值的第一搜索图像块、如果存在这样的第一搜索图像块,则可以所述第一搜索图像块的中心像素点作为本实施例所述第一像素点。一般在多数应用场景下,连续帧之间视频跟踪目标图像的运动幅度通常不会太大,而本申请实施例利用这特点先在以搜索中心点为中心的较小半径范围内进行粗略匹配查找符合第一阈值要求的像素点。这样原本最大搜索预估半径(range_max)范围内的搜索次数由(range_max)*(range_max)下降为(range_1)*(range_1)次,如果(range_1)与(range_max)间隔较大,如本实施例应用场景中(range_max)取值为20个像素,(range_1)取值为5个像素,则此次搜索匹配次数由441次下降到121次,而通常后续以第一像素进行精确匹配查找的次数数量级较小,这样可以使整个图块匹配处理时极大的减少图像块匹配次数,提高处理效率。
本申请实施例中,可以以所述搜索中心点为中心,在从所述不同取值的搜索半径中选取的第一搜索半径范围内搜索第一像素点,所述第一像素点包括作为搜索图像块的中心像素点时使得所述搜索图像块与参考图像块的相似度大于第一阈值的像素点。
S3:当搜索到所述第一像素点时,以所述第一像素点为中心的预设区域范围内搜索符合第二匹配要求的第二像素点。
具体的在本申请实施例视频图像块匹配处理时,可以参照上述第一像素点的第一匹配要求的设置,本申请的一种实施例中所述第二匹配可以包括:
S301:作为搜索图像块的中心像素点时使得所述搜索图像块与参考图像块的相似度大于第二阈值的像素点,所述第二阈值大于所述第一阈值。
如果在第一像素点匹配搜索的过程中遇到符合相似度要求的搜索图像块的第一像素点,则可以认为附近可能存在至少一个最佳匹配位置像素点。然后,本申请实施例可以以所述第一像素点(如上述搜索第一像素点时在第一搜索半径范围内选取的像素点)为新的搜索区域中心,然后可以在周围相邻的预设区域范围内进一步依次选取像素点作为搜索图像块的中心像素点,在所述预设区域范围内搜索符合设置的第二匹配要求的第二像素点,进行精确匹配判断是否存在搜索图像块的相似度大于等于第二阈值的搜索图像块。如果匹配搜索到像素点大于等于第二阈值的搜索图像块,则可以以搜索到的大于等于第二阈值的搜索图像块中心像素点作为本实施例中所述的第二像素点。图5是本申请所述方法提供的一种实施例中第二像素点的匹配搜索示意图,如图5所示,假如搜索到的相似度大于第一阈值的搜索图像块的第一像素点为图5中标记的PX,然后可以以PX为新的搜索区域中心,在XP周围相邻区域S2进行精确匹配,此时的第二阈值取值设置大于第一阈值,查找是否存在相似度大于等于第二阈值的搜索图像块。例如所述第一阈值T1可以设置为0.5,实现粗略匹配查找到搜索图像块的第一像素点PX。然后以PX为中心,依次选取周围像素点作为搜索图像块的中心像素点进一步查找相似度大于等于第二阈值T2为0.8的搜索图像块,如从预设区域S2的第一行第一列的像素点开始依次选取。当查找到以PX为中心像素点的搜索图像块的相似度大于等于第二阈值T2为0.8时(如PT)则可以以该像素点PT作为本实施例所述的第二像素点。通常在视频目标跟踪的应用场景中,由于跟踪目标常常处于运动状态中,所以一般情况下图像块之间的相似度如果可以达到0.8及以上,可以认为以及找到了目标图像的目标图像块匹配位置点。当然,在一些要求较高的实施例应用场景中,第二阈值也可以设置为0.9或以上,或者其他合理取值。
本是申请实施例当搜索到所述第一像素点时,可以以所述第一像素点为中心,在预设区域范围内进一步精确匹配搜索,以选取的像素点作为搜索图像块的中心像素点时搜索图像块的相似度大于等于第二阈值的第二像素点,此时,所述第二阈值的取值可以设置大于第一阈值。
S4:当搜索到所述第二像素点时,以所述第二像素作为匹配出的所述目标图像的匹配位置点。
如果在第一像素点附近搜索到符合第二匹配要求的第二像素点,如相似度大于第二阈值的第二像素,则可以停止匹配搜索,以所述第二像素作为匹配出的所述目标图像的匹配位置点。进一步本申请实施例中可以以搜索到的所述第二像素点为中心像素点的图像块作为匹配出的当前帧的目标图像块。
本申请实施例提供的一种图像数据处理方法,采用多级搜索半径的搜索策略,可以先在设定的第一搜索半径的小范围内进行图像块的粗匹配搜索。如果第一搜索半径范围内已经找到符合第一匹配要求的第一像素点,则可以再进一步的以第一像素点为中心进行精确的第二匹配搜索。与现有技术中的一开始就以最大搜索半径的搜索匹配相比,本申请可以在搜索匹配过程中先以小于常规的最大搜索半径的第一搜索进半径行粗略的位置匹配,然后再进行小范围内的精确位置匹配,可以大幅度的降低匹配次数。实际应用处理过程中,视频目标跟踪中运动幅度通常不会太大,可以先在一个设定的较为合理的小半径范围内进行匹配搜索,若能匹配搜索到符合要求的图像块,则搜索次数可以以指数形式下降,大大减少了匹配搜索次数。应用本申请实施例提供的图像数据处理方法,保障视频目标跟踪时图像块匹配准确性的同时可以大幅度降低图像块匹配搜索次数,降低数据计算量和处理负荷,提高匹配处理效率和用户视频目标跟踪使用体验。
在搜索第一像素的粗略匹配时已经进行了大致匹配位置的确认,通常可以在设置合理的第一搜索半径范围内匹配搜索到符合最终要求的匹配位置像素点。当然,进一步的,本申请所述一种图像数据处理方法的另一种实施场景中,如果在第一搜索半径范围内没有搜索到符合设置的第一匹配要求的第一像素点,则可以根据设置的多级搜索半径取值扩展搜索半径,在更大的搜索半径范围内搜索符合第一像素。如果搜索半径扩大到最大搜索半径仍然没有搜索到符合第一匹配要求的第一像素点,则可以执行预设响应动作,如停止搜索。因此,本申请所述图像数据处理方法的另一种实施例中,所述方法还可以包括:
S5:若在所述第一搜索半径范围内未搜索到所述第一像素点,则以所述搜索中心点为中心,按照所述搜索半径值从小到大的取值顺序,在将第一搜索半径扩大到第二搜索半径的范围内搜索所述第一像素点;
以及,若在扩大后的搜索半径范围内仍未搜索到所述第一像素点,则继续将搜索半径扩大到下一个搜索半径进行搜索所述第一像素点,直至所述搜索半径扩大到与所述设置的至少两级不同取值的搜索半径中取值最大的搜索半径相同。
图6是本申请所述一种图像数据处理方式另一种实施例的方法流程示意图。如在多级搜索半径(range_1、range_2、…、range_max)中,可以先选取(range_1)作为第一搜索半径来搜索第一像素点。如果(range_1)范围内没有搜索到符合第一匹配要求的第一像素点,则可以将搜索半径扩大(range_2)进行搜索。依次类推,直到将搜索半径扩大到(range_max)进行搜索第一像素。最后如果在(range_max)的搜索半径范围内仍然没有搜索到第一像素,则可以执行预设的响应方式,如停止搜索,反馈搜索结果等。
进一步的,本申请所述一种图像数据处理方法的另一种实施场景中,假设如上述实施例描述的设置两级搜索半径:小于最大预估搜索半径的第一搜索半径和最大预估搜索半径。如果在所述第一搜索半径范围内没有搜索到符合第一匹配要求(如与参考图像块的相似度大于第一阈值)的像素点,那么本实施例中可以采用将所述第一搜索半径范围内与所述第一匹配要求误差值最小的像素点作为第一像素点。因此,本申请所述一种图像数据处理方法的另一种实施例中,当设置小于最大预估搜索半径的第一搜索半径和最大预估搜索半径的两级搜索半径时,所述方法还可以包括:
S601:若在所述第一搜索半径范围内未搜索到符合第一匹配要求的第一像素点,则以所述第一搜索半径范围内与所述第一匹配要求误差值最小的像素点作为第一像素点。
图7是本申请所述一种图像数据处理方式另一种实施例的方法流程示意图。例如如果在(rang_1)的范围内粗搜索完毕,仍没找到作为搜索图像块的中心像素点时与参考图像块的相似度大于第一阈值T1=0.5的第一像素点,则可以找到相似度最大的那个位置点,如所述第一搜索半径(rang_1)的范围内所述相似度最大的点Q=0.499作为所述第一像素点,然后在Q点附近进行精确匹配,查找是否存在符合第二匹配要求的第二像素点。这样,即使一些应用场景的实施过中没有在第一搜索半径范围内找到完全符合第一匹配要求的第一像素点,但可以以与所述第一匹配要求最接近的像素点作为第一像素点,然后进一步精确查找。由于在最接近第一匹配要求的像素点附近尝试进行精确查找,提供一种尝试匹配搜索方式,多数情况下通常可以查找到符合匹配要求的第二像素点,这样可以减少匹配搜索次数的同时进一步提高搜索精度和准确性。
上述实施例在搜索第一像素点的处理过程中,可以根据应用场景中图像数据处理需求设置匹配要求以及第一像素点的匹配搜索方式等。在此,本申请基于视频目标跟踪图像块匹配处理的应用场景提供一种具体的实施方式,可以用于视频目标跟踪时的图像块匹配搜索。图8是本申请提供的搜索第一像素点的一种实施例的方法流程示意图。具体的,本申请提供的一种图像数据处理方法的另一种实施例中,所述以搜索中心点为中心在从所述不同取值的搜索半径中选取的第一搜索半径范围内搜索第一像素点,包括:
S211:选取设置的所述至少两级不同取值的搜索半径取值最小的搜索半径作为第一搜索半径,以所述搜索中心点为中心,在所述第一搜索半径范围内选取像素点作为当前搜索图像块的中心像素点;
S212:计算所述当前搜索图像块与参考图像块的相似度值,判断所述相似度值是否大于预设的第一阈值;
S213:若所述相似度值大于所述第一阈值,则将所述选取的像素点作为第一像素点;
S214:否则,根据设置的匹配步长,间隔选取所述选取的像素点的下一个像素点作为当前搜索图像块的中心像素点进行匹配搜索第一像素点。
所述的设置的匹配步长值设置较大,进行匹配搜索时跳过的像素点跨度较大,则搜索速度较快。相应的,如果匹配步长设置较小,则可以提供搜索精度。例如本申请的一种实施例中,所述设置的匹配步长可以设置为2个像素。图9是本申请所述匹配步长为2个像素时搜索第一像素的示意图。如图9所示,从P1像素点开始,匹配步长为2,依次以P1、P2直至P16以及中心像素点P这17个像素点作为搜索模块的中心像素点进行匹配。这样,相比于像素点挨着逐步比较匹配,本实施例所述方案可以间隔一个像素匹配依次,可以在搜索第一像素时将匹配次数降低一半。跳着匹配出粗略的位置点后,再在其周围相邻预设区域进行精确匹配。在实际图像数据处理的效果中,匹配步长设置为2,间隔1个像素的匹配结果与遍历搜索匹配的结果基本等价或匹配效果十分接近,但计算量却得到很大减少,可以显著减少匹配次数,提高匹配速度。当然,如前所述,所述的参考图像块可以为上一帧图像中确定出的参考图像块,也可以为不相邻的其他帧图像中确定出的参考图像块,甚至是采用设置的某种算法计算得到的作为当前的目标图像进行数据处理的参考图像块。
上述实施例所述的方法已经可以减少匹配次数,大量减少计算量。但本申请提供的所述一种图像数据处理方法的另一种实施例中,基于搜索起始点的搜索策略还可以进一步加快匹配速率。具体的,本申请上述实施例所述方法的另一种实施例中,所述在所述第一搜索半径范围内选取像素点作为当前帧搜索图像块的中心像素点可以包括:
S2111:以所述搜索中心点为搜索起始点,以距离所述搜索中心点由近到远的顺序,在所述第一搜索半径范围内按照预设轨迹方向选取像素点作为当前搜索图像块的中心像素点点。
图10是本申请提供的以搜索中心点为起始点搜索第一像素的图像数据处理方法的另一种实施例的搜索示意图。如图10所示,设置匹配步长为2个像素,在第一搜索半径范围内粗略匹配搜索第一像素点时,可以先以确定的搜索中心点P为搜索起始点进行匹配搜,距离所述搜索中心点越近的点越先匹配,如图10螺旋状曲线L1所示的以搜索中心点P为起始点逐渐向周围展开的选取方向依次选取P、P6、P7、…、P4。由于通常情况下相邻两帧图像参考图像块和最终匹配出的目标图像块相差不会太大,相邻两帧参考图像块的中心像素点在图像中的对应坐标位置较近,因此本实施例可以采取距离搜索中心点越近的点越先匹配的实施方式可以尽快的匹配出符合要求的第一像素点,减少匹配次数,加快匹配速率。
上述实施例中计算得到的匹配位置点可以作为视频目标跟踪处理时目标图像匹配出的图像块的中心像素点,这样可以实现快速图像块的匹配,提高视频目标跟踪处理效率,减少负荷压力,以及出现视频出现抖动或卡顿的现象,提高用户体验。具体的一种实施应用场景中,本申请的一个实施例可以采用下述中的至少一种设置方式计算目标图像的最佳匹配位置点,并将以所述最佳匹配位置点为中心的搜索图像块作为匹配出的目标图像的目标图像块:
所述第一阈值取值范围为:0.5~0.75;
所述第二阈值取值范围为:0.8~98;
所述第一搜索半径的取值范围为:4-8个像素;
所述最大搜索预估半径的取值范围为:18~24个像素。
当然,搜索第二像素点的方式也可以根据需求进行设置。通常情况下,在搜索第一像素的粗略匹配时已经进行了大致匹配位置的确认。然后基于第一像素再进行精确匹配时,由于已经大致确认匹配位置区域在所述第一像素的相邻周围区域,因此第二像素点的预设区域范围精确匹配的次数通常较少。如可以以第一像素点周围1个或2个像素点进行精确匹配查找第二像素点。本申请提供的一种实施例中,通常在确定所述第一像素点后,可以在所述第一像素点为中心的小范围内进行精确匹配查找,可以加快匹配速度。本申请提供的所述一种图像数据处理方法的另一种实施例中,可以采用搜索包括周围相邻8个像素点的匹配区域来查找是否存在符合第二匹配要求的第二像素点。具体的,申请提供的所述一种图像数据处理方法的另一种实施例中,所述搜索第二像素点的所述预设区域被设置为,包括:
以所述第一像素点为中心的周围8个相邻像素点的匹配搜索区域。
图11是本申请提供的所述一种图像数据处理方法中采用八领域搜索第二像素点的示意图。如图11所示,假如搜索到的第一像素点为P12,如果当前搜索的第一像素点P12对应的搜索图像块的所述相似度不能满足第二匹配要求,即本实施例应用场景中的大于第二阈值T2=0.8,则可以以所述第一像素点P12为中心开始在周围相邻的八个像素点区域(图11中三角形标记的像素点)搜索满足第二匹配要求的第二像素。这样,在遇到满足相似度大于等于阈值T1(如0.5)的第一像素点时可以暂停第一像素点的匹配查找;然后在该第一像素点周围的8个相邻像素点进行精确的图像块匹配。如果在这个8个相邻像素点中找到相似度大于等于第二阈值T2(如0.8)的第二像素点,则可以认为已经匹配出当前帧的目标图像块。本实施例采用以所述第一像素点为中心的周围8个相邻像素点作为精确匹配搜索的预设区域,这样即使包括中心点本身的第一像素,加上周围8个相邻像素点,在搜索第二像素点时最多也只搜索9次。总体而言,本实施例所述的图像数据处理方法在进行视频目标图像块的匹配搜索最佳位置点(如相似度大于0.8)的处理过程中,假如采用两级搜索半径,那么最坏的搜索次数为(range_1+1)*(range_1+1)+8。实际应用处理中,大部分情况下可以提前退出计算,相比于现有常规的设置的(range_max)遍历搜索,大幅度的降低了匹配次搜索次数,提高了图像数据处理速度,使视频目标跟踪更加顺畅,提高了视频目标跟踪时的跟踪处理效果。
基本申请图像数据处理策略之一多级搜索半径实施方式,本申请所述图像数据处理方法的另一种实施例中,可以在设置的多级搜索半径中从从小搜索半径开始直接搜索符合要求的目标像素点。图12是本申请提供的一种图像数据处理方法另一种实施例的方法流程示意图,如图12所示,所述方法可以包括:
S11:确定目标图像的搜索中心点和最大搜索预估半径,在所述最大搜索预估半径范围内设置至少两级不同取值的搜索半径;
S22:以所述搜索中心点为中心,在从所述不同取值的搜索半径中选取的第一搜索半径范围内搜索符合匹配要求的目标像素点;
S33:若在所述第一搜索半径范围内搜索到所述目标像素点,则以所述搜索到的目标像素点作为匹配出的所述目标图像的匹配位置点;否则,
S44:以所述搜索中心点为中心,按照所述搜索半径从小到大的取值顺序,依次将搜索半径扩大到下一个所述第一搜索半径的下一个搜索半径取值后匹配搜索所述目标像素点。
如设置两级搜索半径时,可以在第一搜索半径范围内直接匹配搜索图像块相似度大于符合匹配要求(如相似度大于0.8)的目标像素点,如果可以搜索到目标像素点,即认为搜索到了目标图像的匹配位置点,否则在第二搜索半径范围内继续搜索相似度大于0.8的目标像素点。这样,直接从小到大按照不同搜索半径范围逐步扩大目标像素点,可以大幅度降低搜索次数,提高匹配速率。当然,如前所述,所述方法另一种实施例中,如果在某一级搜索半径范围内没有搜索到所述目标像素点,则可以在设置的最佳搜索半径范围将相似度最大且符合最低阈值要求的像素点作为所述目标像素点。具体的,本申请所述一种图像数据处理方法的另一种实施例中,所述方法还可以包括:
S55:若在设置的最佳搜索半径范围内未搜索到所述目标像素点,则在所述最佳搜索半径内,以作为搜索图像块的中心像素点时使得所述搜索图像块与参考图像块的相似度取值最大且大于最低阈值的像素点作为所述目标像素点。
图13是本申请提供的一种图像数据处理方法另一种实施例的方法流程示意图。如在一种实施例应用场景中,可以设置第一搜索半径为最佳搜索半径。如果在第一搜索半径范围内没有搜索到作为搜索图像块的中心像素点时使得所述搜索图像块与参考图像块的相似度大于0.8的目标像素点,则可以将第一搜索半径范围内所述相似度最大且大于最低阈值0.5的像素点作为目标像素点,如第一搜索半径范围内与参考图像块相似度最高的相似度为0.75的像素点作为目标图像块。当然,其他的一些可变形实施例中,所述最佳搜索半径范围也可以设置为最大预估搜索半径,或者设置的多级搜索半径中的某个取值,或者在最大预估搜索半径范围内但不与设置的多级搜索半径取值相同的取值。
本申请上实施例提供的图像数据处理方法可以直接在设置的多级搜索半径中选择第一搜索半径开始搜索最终需要的目标像素点位置,通常情况下未达到最大搜索预估半径即可搜索到目标像素点,提前退出搜索。本申请实施例提供的搜索测试,可以极大减少匹配次数,对于移动终端或服务器来说,可以减少计算负荷,解决因计算量大导致的发热、卡顿、匹配效率低下等问题。
需要说明的,本申请中若在第一搜索半径范围内没有搜索到第一像素点或目标像素点,扩大搜索半径至第二搜索半径进行匹配搜索时,第二半径中包括第一搜索半径的像素点可以不用再次搜索,可以只搜索第二半径范围内除去第一搜索半径所包括的还没有进行匹配搜索的像素点。图X是在第二搜索半径范围内搜索第一像素点的搜索范围示意图,如图X所示,由于第一半径搜索时已经搜索过第一半径范围内的像素点,没有找到符合匹配要求的像素点,则第二半径搜索时可以仅在A1区域进行搜索即可,避免重复搜搜,加快搜索速度。当然,在一些特定应用场景设置要求下,本申请不排除第二半径搜索时仍然对第二半径范围内像素点全部搜索的实施方式。
基本申请实施例所述的图像数据处理方法,本申请提供一种图像数据处理装置。所述的装置可以用于手机、平板、PC、行车记录仪、监控摄像设备、服务器等多种视频图像数据处理的终端设备,可以在视频目标跟踪的应用场景中快速定位跟踪目标,减少匹配次数,提高匹配速度,降低设备图像数据计算量,降低视频跟踪时发热、卡顿现象,提高处理效率和视频目标跟踪效果,提高用户设备使用体验。具体的,图14是本申请提供的一种图像数据处理装置一种实施例的模块结构示意图,如图14所示,所述装置可以包括:
搜索半径设置模块101,可以用于确定目标图像的搜索中心点和最大搜索预估半径,在所述最大搜索预估半径范围内设置至少两级不同取值的搜索半径;
第一搜索模块102,可以用于以所述搜索中心点为中心,在从所述不同取值的搜索半径中选取的第一搜索半径范围内搜索符合第一匹配要求的第一像素点;
第二搜索模块103,可以用于当搜索到所述第一像素点时,在以所述第一像素点为中心的预设区域范围内搜索符合第二匹配要求的第二像素点;
匹配结果模块104,可以当搜索到所述第二像素点时,以所述第二像素作为匹配出的所述目标图像的匹配位置点。
本申请实施例提供的一种图像数据处理装置,采用多级搜索半径的搜索策略,可以先在设定的第一搜索半径的小范围内进行图像块的粗匹配搜索。如果第一搜索半径范围内已经找到符合第一匹配要求的第一像素点,则可以再进一步的以第一像素点为中心进行精确的第二匹配搜索。与现有技术中的一开始就以最大搜索半径的搜索匹配相比,本申请可以在搜索匹配过程中先以小于常规的最大搜索半径的第一搜索进半径行粗略的位置匹配,然后再进行小范围内的精确位置匹配,可以大幅度的降低匹配次数。实际应用处理过程中,视频目标跟踪中运动幅度通常不会太大,可以先在一个设定的较为合理的小半径范围内进行匹配搜索,若能匹配搜索到符合要求的图像块,则搜索次数可以以指数形式下降,大大减少了匹配搜索次数。应用本申请实施例提供的图像数据处理装置,保障视频目标跟踪时图像块匹配准确性的同时可以大幅度降低图像块匹配搜索次数,降低数据计算量,减少处理负荷,提高匹配处理效率和用户视频目标跟踪设备的使用体验。
图15是本申请提供的一种图像数据处理装置另一种实施例的模块结构示意图,如图15所示,所述装置还可以包括:
半径扩大搜索模块105,可以用于若在所述第一搜索半径范围内未搜索到所述第一像素点,则以所述搜索中心点为中心,按照所述搜索半径从小到大的取值顺序,在将第一搜索半径扩大到第二搜索半径的范围内搜索所述第一像素点;
以及,可以用于若在扩大后的搜索半径范围内仍未搜索到所述第一像素点,则继续将搜索半径扩大到下一个搜索半径进行搜索所述第一像素点,直至所述搜索半径扩大到与所述设置的至少两级不同取值的搜索半径中取值最大的搜索半径相同。
在搜索第一像素的粗略匹配时已经进行了大致匹配位置的确认,通常可以在设置合理的第一搜索半径范围内匹配搜索到符合最终要求的匹配位置像素点。当然,进一步的,本申请所述一种图像数据处理方法的另一种实施场景中,如果在第一搜索半径范围内没有搜索到符合设置的第一匹配要求的第一像素点,则可以根据设置的多级搜索半径取值扩展搜索半径,在更大的搜索半径范围内搜索符合第一像素。如果搜索半径扩大到最大搜索半径仍然没有搜索到符合第一匹配要求的第一像素点,则可以执行预设响应动作,如停止搜索。
需要说明的是,所述的半径扩大搜索模块105可以以单独的模块方式实施,在其他可以预料的变形实施方式中,也可以将所述半径扩大搜索模块105与所述第二搜索模块103合并为一个搜索模块实施。甚至,所述第一搜索模块102与第二搜索模块103合并为一个搜索模块,或者第一搜索模块102、第二搜索模块合103、半径扩大搜索模块105并为一个搜索模块,实现搜索半径逐步扩大进行搜索符合匹配要求的像素点。
确定了最大搜索预估半径后,可以在所述最大搜索预估半径范围内设置多级不同取值的搜索半径,可以实现在不同级别的搜索半径范围内搜索最佳匹配位置像素点。本申请实施例可以基于确定的目标图像最大搜索预估半径定义两级不同半径取值的搜索半径,一般的,设置的多级不同取值的搜索半径中,可以以所述最大搜索预估半径为所述搜索半径的最大取值,如定义了两级最大搜索半径取值为20个像素。通常情况下设置两级不同搜索半径即可以在最小搜索半径范围附近搜索到匹配位置点,实现大幅度降低匹配搜索次数本申请提供的一种图像数据处理装置另一种实施例中,所述搜索半径设置模块101中所述最大搜索预估半径范围内设置至少两级不同取值的搜索半径,可以包括:
基于所述最大搜索预估半径设置两级搜索半径,所述两级搜索半径包括所述最大搜索预估半径、小于所述最大搜索预估半径的第一搜索半径。
图16是本申请提供的一种图像数据处理装置另一种实施例的模块结构示意图,如图16所示,所述第一搜索模块102可以包括:
最优点选择单元1020,可以用于若在所述第一搜索半径范围内未搜索到符合第一匹配要求的第一像素点,则以所述第一搜索半径范围内与所述第一匹配要求误差值最小的像素点作为第一像素点。
本申请所述一种图像数据处理装置的另一种实施场景中,假设如上述实施例描述的设置两级搜索半径:小于最大预估搜索半径的第一搜索半径和最大预估搜索半径。如果在所述第一搜索半径范围内没有搜索到符合第一匹配要求(如与参考图像块的相似度大于第一阈值)的像素点,那么本实施例中可以采用将所述第一搜索半径范围内与所述第一匹配要求误差值最小的像素点作为第一像素点。这样,即使一些应用场景的实施过中没有在第一搜索半径范围内找到完全符合第一匹配要求的第一像素点,但可以以与所述第一匹配要求最接近的像素点作为第一像素点,然后进一步精确查找。由于在最接近第一匹配要求的像素点附近尝试进行精确查找,提供一种尝试匹配搜索方式,多数情况下通常可以查找到符合匹配要求的第二像素点,这样可以减少匹配搜索次数的同时进一步提高搜索精度和准确性。
本申请提供的一种图像数据处理装置另一种实施例中,所述合第一匹配要求和第二匹配要求可以包括采用下述的设置方式:
所述第一匹配要求包括作为搜索图像块的中心像素点时使得所述搜索图像块与参考图像块的相似度大于第一阈值的像素点;
所述第二匹配包括作为搜索图像块的中心像素点时使得所述搜索图像块与参考图像块的相似度大于第二阈值的像素点,所述第二阈值大于所述第一阈值。
具体的实施过程中,如果在第一像素点匹配搜索的过程中遇到符合相似度要求的搜索图像块的第一像素点,则可以认为附近可能存在至少一个最佳匹配位置像素点。然后,本申请实施例可以以所述第一像素点(如上述搜索第一像素点时在第一搜索半径范围内选取的像素点)为新的搜索区域中心,然后可以在周围相邻的预设区域范围内进一步依次选取像素点作为搜索图像块的中心像素点,在所述预设区域范围内搜索符合设置的第二匹配要求的第二像素点,进行精确匹配判断是否存在搜索图像块的相似度大于等于第二阈值的搜索图像块。如果匹配搜索到像素点大于等于第二阈值的搜索图像块,则可以以搜索到的大于等于第二阈值的搜索图像块中心像素点作为本实施例中所述的第二像素点。
上述实施例在搜索第一像素点的处理过程中,可以根据应用场景中图像数据处理需求设置匹配要求以及第一像素点的匹配搜索方式等。在此,本申请基于视频目标跟踪图像块匹配处理的应用场景提供一种具体的实施方式,可以用于视频目标跟踪时的图像块匹配搜索。具体的,本申请提供的一种图像数据处理装置另一种实施例中,所述第一搜索模块还可以包括:
第一选取单元1021,选取设置的所述至少两级不同取值的搜索半径取值最小的搜索半径作为第一搜索半径,以所述搜索中心点为中心,在所述第一搜索半径范围内选取像素点作为当前搜索图像块的中心像素点;
相似度计算单元1022,可以用于计算所述当前搜索图像块与确定出的上一帧参考图像块的相似度值,判断所述相似度值是否大于预设的第一阈值;
第一像素点确定单元1023,可以用于若所述相似度值大于所述第一阈值,则将所述选取的像素点作为第一像素点;
第二选取单元1024,可以用于若所述相似度值小于等于所述第一阈值,则根据设置的匹配步长,间隔选取所述选取的像素点的下一个像素点作为当前搜索图像块的中心像素点进行匹配搜索第一像素点。
上述实施例中,第二选取单元1024中设置的匹配步长可以根据设计需求自定义设置。所述匹配步长设置的较大,可以较大的进行像素点匹配,减少匹配次数;匹配步长设置较小,则可以提供匹配精度。本申请提供的一种图像数据处理装置另一种实施例中,所述设置的匹配步长可以取值为2个像素。这样,相比于像素点挨着逐步比较匹配,本实施例方案可以间隔一个像素匹配依次,可以在搜索第一像素时将匹配次数降低一半。跳着匹配出粗略的位置点后,再在其周围相邻预设区域进行精确匹配。在实际图像数据处理的效果中,匹配步长设置为2,间隔1个像素的匹配结果与遍历搜索匹配的结果基本等价或匹配效果十分接近,但计算量却得到很大减少,可以显著减少匹配次数,提高匹配速度。
上述实施例所述的装置已经可以减少匹配次数,大量减少计算量。但本申请提供的所述一种图像数据处理装置的另一种实施例中,基于搜索起始点的搜索策略还可以进一步加快匹配速率。因此,本申请提供的一种图像数据处理装置另一种实施例中,所述第一搜索模块102还可以包括:
搜索起始点设置模块1025,可以用于以所述搜索中心点为搜索起始点,以距离所述搜索中心点由近到远的顺序,在所述第一搜索半径范围内按照预设轨迹方向选取像素点作为当前搜索图像块的中心像素点。
如图10所示,在第一搜索半径范围内粗略匹配搜索第一像素点时,可以先以确定的搜索中心点为搜索起始点进行匹配搜,距离所述搜索中心点越近的点越先匹配,如图10螺旋状曲线所示的以搜索中心点为起始点逐渐向周围展开的选取方向。由于通常情况下相邻两帧图像参考图像块和最终匹配出的目标图像块相差不会太大,相邻两帧参考图像块的中心像素点在图像中的对应坐标位置较近,因此本实施例可以采取距离搜索中心点越近的点越先匹配的实施方式可以尽快的匹配出符合要求的第一像素点,减少匹配次数,加快匹配速率。
本申请提供的一种实施例中,通常在确定所述第一像素点后,可以在所述第一像素点为中心的小范围内进行精确匹配查找,可以加快匹配速度。本申请提供的所述一种图像数据处理方法的另一种实施例中,可以采用搜索包括周围相邻8个像素点的匹配区域来查找是否存在符合第二匹配要求的第二像素点。因此,本申请提供的一种图像数据处理装置另一种实施例,所述搜索第二像素点的所述预设区域被可以设置为包括:
以所述第一像素点为中心的周围8个相邻像素点的匹配搜索区域。
本申请提供的一种图像数据处理装置另一种实施例中,所述相似度计算单元1022可以采用下述方式计算所述搜索图像块与参考图像块的相似出:
在目标图像中获取与参考图像块大小相同的搜索图像块,将所述搜索图像块和所述参考图像块所包含像素点的坐标分别展开为相应图像块的一维向量数据X、Y,采用下式互相关算法计算所述搜索图像块和参考图像块一维向量数据的互相关系数R,并以计算出的互相关系数作为所述搜索图像块与参考图像块的相似度:
式中,x
i、y
i分别为一维向量X、Y的第i个值,
分别为一维向量X、Y的平均取值,n为参考图像块中像素点的个数。
上述所述的互相关算法匹配图像块之间的相似性,在搜索区域内像素点的颜色比较相似时由于不仅考虑到了颜色信息,还加入了参考图像块内像素的顺序,可以避免出现因图像块间的颜色差问题而出现的匹配错误,具有更好的匹配效果。
本申请提供的一种图像数据处理装置另一种实施例中,可以采用下述中的至少一种设置方式计算目标图像的最佳匹配位置点,并将以所述最佳匹配位置点为中心的搜索图像块作为匹配出的目标图像的目标图像块:
所述第一阈值取值范围为:0.5~0.75;
所述第二阈值取值范围为:0.8~90;
当判断跟踪目标当前为小幅度运动时,所述第一搜索半径的取值范围为:4-8个像素;当判断跟踪目标当前为大幅度运动时,所述第一搜索半径的取值范围为:8-16个像素;
所述最大搜索预估半径的取值范围为:20~24个像素。
采用上述所述参数取值设置方式计算得到的匹配位置点可以作为视频目标跟踪处理时目标图像匹配出的图像块的中心像素点,在实际应用中可以实现更好效果的快速图像块的匹配,提高视频目标跟踪处理效率,减少负荷压力,以及出现视频出现抖动或卡顿的现象,提高用户体验。
本申请提供一种图像数据处理装置的另一种实施例中,可以在设置的多级搜索半径中从从小搜索半径开始直接搜索符合要求的目标像素点。具体的,图17是本申请提供的一种图像数据处理装置另一种实施例的模块结构示意图,如图17所示,所述装置可以包括:
搜索半径设置单元201,可以用于确定目标图像的搜索中心点和最大搜索预估半径,在所述最大搜索预估半径范围内设置至少两级不同取值的搜索半径;
第一搜索单元202,可以用于以所述搜索中心点为中心,在从所述不同取值的搜索半径中选取的第一搜索半径范围内搜索目标像素点;
第二搜索单元203,可以用于若在所述第一搜索半径范围内未搜索到所述目标像素点,则以所述搜索中心点为中心,按照所述搜索半径从小到大的取值顺序,依次将搜索半径扩大到下一个所述第一搜索半径的下一个搜索半径取值后匹配搜索所述目标像素点;
匹配结果处理单元204,可以用于若在搜索半径范围内搜索到所述目标像素点时,以所述搜索到的目标像素点作为匹配出的所述目标图像的匹配位置点。
如设置两级搜索半径时,可以在第一搜索半径范围内直接匹配搜索图像块相似度大于符合匹配要求(如相似度大于0.8)的目标像素点,如果可以搜索到目标像素点,即认为搜索到了目标图像的匹配位置点,否则在第二搜索半径范围内继续搜索相似度大于0.8的目标像素点。这样,直接从小到大按照不同搜索半径范围逐步扩大目标像素点,可以大幅度降低搜索次数,提高匹配速率。
图18是本申请提供的一种图像数据处理装置另一种实施例的模块结构示意图,如图18所示,所述装置还可以包括:
目标像素点选取模块205,可以用于若在设置的最佳搜索半径范围内未搜索到所述目标像素点,则在所述最佳搜索半径内,以作为搜索图像块的中心像素点时使得所述搜索图像块与参考图像块的相似度取值最大且大于最低阈值的像素点作为所述目标像素点。
如在一种实施例应用场景中,可以设置第一搜索半径为最佳搜索半径。如果在第一搜索半径范围内没有搜索到作为搜索图像块的中心像素点时使得所述搜索图像块与参考图像块的相似度大于0.8的目标像素点,则可以将第一搜索半径范围内所述相似度最大且大于最低阈值0.5的像素点作为目标像素点,如第一搜索半径范围内与参考图像块相似度最高的相似度为0.75的像素点作为目标图像块。当然,其他的一些可变形实施例中,所述最佳搜索半径范围也可以设置为最大预估搜索半径,或者设置的多级搜索半径中的某个取值,或者在最大预估搜索半径范围内但不与设置的多级搜索半径取值相同的取值。
基本申请实施例所述的图像数据处理方法或装置,本申请提供一种图像数据处理的电子设备。所述的电子设备可以包括手机、平板、PC、行车记录仪、监控摄像设备、服务器等多种视频图像数据处理的终端监控设备、通信设备、业务服务系统等,可以实现视频目标跟踪处理时,减少图像数据处理匹配次数,提高匹配速度,降低设备图像数据计算量,降低视频跟踪时发热、卡顿现象,提高处理效率和视频目标跟踪效果,提高用户设备使用体验。具体的,本申请提供的一种图像数据处理的电子设备的一种实施例中,所述电子设备可以包括:
图像数据处理单元,所述图像数据处理单元被设置成,可以用于获取目标图像的搜索中心点和最大搜索预估半径,以及在所述最大搜索预估半径范围内设置的至少两级不同取值的搜索半径;还可以用于以所述搜索中心点为中心,在从所述不同取值的搜索半径中选取的第一搜索半径范围内搜索符合第一匹配要求的第一像素点;还可以用于当搜索到所述第一像素点时,在以所述第一像素点为中心的预设区域范围内搜索符合第二匹配要求的第二像素点;还可以用于当搜索到所述第二像素点时,以所述第二像素作为匹配出的所述目标图像的匹配位置点。
本申请提供的一种图像数据处理的电子设备的一种实施例中,所述图像数据处理单元被设置成还可以用于若在所述第一搜索半径范围内未搜索到所述第一像素点,则以所述搜索中心点为中心,按照所述搜索半径从小到大的取值顺序,在将第一搜索半径扩大到第二搜索半径的范围内搜索所述第一像素点;以及,若在扩大后的搜索半径范围内仍未搜索到所述第一像素点,则继续将搜索半径扩大到下一个搜索半径进行搜索所述第一像素点。
如前所述,本申请提供的一种图像数据处理的电子设备的另一种实施例中,还可以直接在搜索半径范围内搜索最终需要匹配的目标像素点。因此,本申请提供的电子设备的另一种实施例中可以包括:
图像数据处理单元,所述图像数据处理单元被设置成,可以用于获取目标图像的搜索中心点和最大搜索预估半径,以及在所述最大搜索预估半径范围内设置的至少两级不同取值的搜索半径;还可以用于以所述搜索中心点为中心,在从所述不同取值的搜索半径中选取的第一搜索半径范围内搜索目标像素点;还可以用于若在所述第一搜索半径范围内未搜索到所述目标像素点,则以所述搜索中心点为中心,按照所述搜索半径从小到大的取值顺序,依次将搜索半径扩大到下一个所述第一搜索半径的下一个搜索半径取值后匹配搜索所述目标像素点;还可以用于若在搜索半径范围内搜索到所述目标像素点时,以所述搜索到的目标像素点作为匹配出的所述目标图像的匹配位置点。
当然,本申请提供的电子设备的另一种实施例中,所述图像数据处理单元被设置成还可以用于若在设置的最佳搜索半径范围内未搜索到所述目标像素点,则在所述最佳搜索半径内,以作为搜索图像块的中心像素点时使得所述搜索图像块与参考图像块的相似度取值最大且大于最低阈值的像素点作为所述目标像素点。
上述实施例所述的图像数据处理单元可以为CPU、单片机、可编程电路等具有逻辑功能的实体硬件处理单元。所述的电子设备可以用于多种视频目标跟踪设备,如移动通信终端、监视器等。图19是本申请提供的一种图像数据处理的电子设备应用在视频目标跟踪设备(系统)中的一种实施场景示意图。当然,本申请并不排除所述的电子设备本身可以包括实现图像数据处理的其他模块或设备单元,如总线、显示器、物理按键等,如图20所示还可以包括显示器(显示屏)。图20是本申请提供的一种图像数据处理的电子设备另一种实施例的实施场景示意图,图20中,N-1的虚线框内为手机人脸跟踪时上一帧(N-1)跟踪到的人脸图像块,N为当前时刻利用本申请方案得到的匹配位置点进行跟踪到的N帧的人脸图像块。
本申请上述实施例提供的图像数据处理的电子设备,采用多级搜索半径的搜索策略,可以先在设定的第一搜索半径的小范围内进行图像块的粗匹配搜索。如果第一搜索半径范围内已经找到符合第一匹配要求的第一像素点,则可以再进一步的以第一像素点为中心进行精确的第二匹配搜索。与现有技术中的一开始就以最大搜索半径的搜索匹配相比,本申请可以在搜索匹配过程中先以小于常规的最大搜索半径的第一搜索进半径行粗略的位置匹配,然后再进行小范围内的精确位置匹配,可以大幅度的降低匹配次数。实际应用处理过程中,视频目标跟踪中运动幅度通常不会太大,可以先在一个设定的较为合理的小半径范围内进行匹配搜索,若能匹配搜索到符合要求的图像块,则搜索次数可以以指数形式下降,大大减少了匹配搜索次数。应用本申请实施例提供的图像数据处理的电子设备,保障视频目标跟踪时图像块匹配准确性的同时可以大幅度降低图像块匹配搜索次数,降低数据计算量和处理负荷,提高匹配处理效率和用户视频目标跟踪使用体验。
尽管本申请内容中提到图像块相似度计算、搜索中心点确认、搜索半径及匹配阈值的设定、互相关或平方差计算、信息数据检索及判断等之类的参数取值设置、信息交互方式、相似度计算方式等的描述,但是,本申请并不局限于必须是完全符合标准图像数据计算方式、信息交互或实施例所描述的情况。某些领域行业标准、信息交互或实施例描述的实施基础上略加修改后的实施方案以及自定义的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。当然,即使不采用上述数据判断、设置、计算的方式,只要符合本申请上述各实施例的数据定义、信息交互和信息判断反馈方式,仍然可以实现相同的申请,在此不再赘述。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的单元、装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。如所述的半径扩大搜索模块105可以以单独的模块方式实施,在其他可以预料的变形实施方式中,也可以将所述半径扩大搜索模块105与所述第二搜索模块103合并为一个搜索模块实施。甚至,所述第一搜索模块102与第二搜索模块103合并为一个搜索模块,或者第一搜索模块102、第二搜索模块合103、半径扩大搜索模块105并为一个搜索模块,实现搜索半径逐步扩大进行搜索符合匹配要求的像素点。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。