遮挡比例确定方法、装置和电子系统与流程

文档序号:17624268发布日期:2019-05-10 23:28阅读:259来源:国知局
遮挡比例确定方法、装置和电子系统与流程

本发明涉及图像处理技术领域,尤其是涉及一种遮挡比例确定方法、装置和电子系统。



背景技术:

当摄像头的视野范围内人流密度较大时,摄像头拍摄的图像中各个人脸会出现相互遮挡的情况;遮挡程度会影响人脸识别、人脸跟踪、人脸抓拍等的质量;基于此,常常需要识别人脸的遮挡程度。相关技术中,可以通过卷积神经网络计算人脸的遮挡程度,但该方式需要消耗大量的计算资源,且遮挡程度的计算标准不一,因而难以有效通过识别遮挡程度提高人脸识别、跟踪、抓拍等的质量。



技术实现要素:

有鉴于此,本发明的目的在于提供一种遮挡比例确定方法、装置和电子系统,以快捷高效地得到目标对象的遮挡程度。

第一方面,本发明实施例提供了一种遮挡比例确定方法,方法包括:获取待处理的图像;通过预设的检测模型检测图像中的对象,得到对象的检测区域;如果从图像中检测出多个对象,按照预设规则,从多个对象中确定目标对象;判断目标对象的检测区域与除目标对象以外的对象的检测区域是否重叠;如果是,获取重叠区域,根据重叠区域和目标对象的检测区域,确定目标对象的遮挡比例。

在本发明较佳的实施例中,上述按照预设规则,从多个对象中确定目标对象的步骤,包括:按照第一预设顺序,逐一将多个对象中的每个对象确定为目标对象,直至遍历所有的对象。

在本发明较佳的实施例中,上述判断目标对象的检测区域与除目标对象以外的对象的检测区域是否重叠的步骤,包括:按照第二预设顺序,逐一将除目标对象以外的对象中的每个对象确定为当前对象,直至遍历所有的除目标对象以外的对象;针对每个当前对象,判断当前对象的检测区域与目标对象的检测区域是否重叠;如果至少一个当前对象的检测区域与目标对象的检测区域重叠,确定目标对象的检测区域与除目标对象以外的对象的检测区域重叠。

在本发明较佳的实施例中,上述判断当前对象的检测区域与目标对象的检测区域是否重叠的步骤,包括:获取当前对象的检测区域位于图像的第一横坐标范围和第一纵坐标范围;获取目标对象的检测区域位于图像的第二横坐标范围和第二纵坐标范围;如果第一横坐标范围和第二横坐标范围的交集为非空,且第一纵坐标范围和第二纵坐标范围的交集为非空,确定当前对象的检测区域与目标对象的检测区域重叠。

在本发明较佳的实施例中,上述获取重叠区域的步骤,包括:针对每个当前对象,如果当前对象的检测区域与目标对象的检测区域重叠,获取当前对象的检测区域与目标对象的检测区域的重叠横坐标范围和重叠纵坐标范围;将重叠横坐标范围和重叠纵坐标范围对应的区域确定为当前对象对应的重叠子区域;将每个当前对象对应的重叠子区域的集合,确定为重叠区域。

在本发明较佳的实施例中,上述根据重叠区域和目标对象的检测区域,确定目标对象的遮挡比例的步骤,包括:分别计算重叠区域和目标对象的检测区域的面积;将重叠区域和目标对象的检测区域的面积比值,确定为目标对象的遮挡比例。

在本发明较佳的实施例中,上述计算重叠区域的面积的步骤,包括:获取重叠区域中,每个重叠子区域的最小横坐标和最大横坐标,得到横坐标集合;根据坐标值的大小,对横坐标集合中的各个坐标进行排序;对于横坐标集合中每两个相邻坐标,获取覆盖相邻坐标对应的横坐标范围的重叠子区域;根据获取到的重叠子区域的总长度,确定相邻坐标对应的面积;将横坐标集合中每两个相邻坐标对应的面积的总和确定为重叠区域的面积。

在本发明较佳的实施例中,上述根据坐标值的大小,对横坐标集合中的各个坐标进行排序的步骤,包括:如果横坐标集合中,同一坐标值对应多个坐标,保留多个坐标中的一个坐标,剔除多个坐标中除保留的坐标以外的坐标,得到处理后的横坐标集合;根据坐标值的大小,对处理后的横坐标集合中的各个坐标进行排序。

在本发明较佳的实施例中,上述根据获取到的重叠子区域的总长度,确定相邻坐标对应的面积的步骤,包括:从获取到的重叠子区域中,提取每个重叠子区域的纵坐标区间,得到区间集合;合并区间集合中,区间重叠的纵坐标区间;统计合并后的所有纵坐标区间的长度,得到重叠子区域的总长度;将重叠子区域的总长度乘以相邻坐标的差值,得到相邻坐标对应的面积。

在本发明较佳的实施例中,上述方法还包括:判断目标对象的遮挡比例是否小于或等于预设的遮挡阈值;如果是,保存目标对象的图像数据。

第二方面,本发明实施例还提供一种遮挡比例确定装置,装置包括:图像获取模块,用于获取待处理的图像;检测模块,用于通过预设的检测模型检测图像中的对象,得到对象的检测区域;目标对象确定模块,用于如果从图像中检测出多个对象,按照预设规则,从多个对象中确定目标对象;判断模块,用于判断目标对象的检测区域与除目标对象以外的对象的检测区域是否重叠;遮挡比例确定模块,用于如果目标对象的检测区域与除目标对象以外的对象的检测区域重叠,获取重叠区域,根据重叠区域和目标对象的检测区域,确定目标对象的遮挡比例。

第三方面,本发明实施例还提供一种电子系统,系统包括:图像采集设备、处理设备和存储装置;图像采集设备,用于获取预览视频帧或图像数据;存储装置上存储有计算机程序,计算机程序在被处理设备运行时执行如上述遮挡比例确定方法。

第四方面,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理设备运行时执行上述遮挡比例确定方法的步骤。

本发明实施例带来了以下有益效果:

本发明实施例提供的上述遮挡比例确定方法、装置和电子系统,首先通过预设的检测模型检测待处理的图像中的对象,如果检测出多个对象,则按照预设规则从多个对象中确定目标对象,并判断该目标对象的检测区域与其他对象的检测区域是否重叠;如果重叠,则获取重叠区域,并根据重叠区域和目标对象的检测区域,确定目标对象的遮挡比例。该方式中,以对象的检测区域为基准,能够快捷高效地得到目标对象的遮挡程度,进而后续可以根据遮挡程度有效提高人脸识别、跟踪、抓拍等的效果和质量。

本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种电子系统的结构示意图;

图2为本发明实施例提供的一种遮挡比例确定方法的流程图;

图3为本发明实施例提供的另一种遮挡比例确定方法的流程图;

图4为本发明实施例提供的一种遮挡比例确定装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

考虑到通过卷积神经网络计算人脸的遮挡程度的方式需要消耗大量的计算资源,且遮挡程度的计算标准不一,因而难以有效通过识别遮挡程度提高人脸检测、跟踪、抓拍等的质量,本发明实施例提供了一种遮挡比例确定方法、装置和电子系统,该技术可以应用于服务器、计算机、相机、手机、平板电脑、智能摄像头或人脸抓拍机等多种设备中,该技术可采用相应的软件和硬件实现,以下对本发明实施例进行详细介绍。

实施例一:

首先,参照图1来描述用于实现本发明实施例的遮挡比例确定方法、装置和电子系统的示例电子系统100。

如图1所示的一种电子系统的结构示意图,电子系统100包括一个或多个处理设备102、一个或多个存储装置104、输入装置106、输出装置108以及一个或多个图像采集设备110,这些组件通过总线系统112和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子系统100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子系统也可以具有其他组件和结构。

所述处理设备102可以是网关,也可以为智能终端,或者是包含中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元的设备,可以对所述电子系统100中的其它组件的数据进行处理,还可以控制所述电子系统100中的其它组件以执行期望的功能。

所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理设备102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理设备实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。

所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。

所述输出装置108可以向外部(例如,用户)输出各种信息(例如,图像或声音),并且可以包括显示器、扬声器等中的一个或多个。

所述图像采集设备110可以采集预览视频帧或图像数据,并且将采集到的预览视频帧或图像数据存储在所述存储装置104中以供其它组件使用。

示例性地,用于实现根据本发明实施例的遮挡比例确定方法、装置和电子系统的示例电子系统中的各器件可以集成设置,也可以分散设置,诸如将处理设备102、存储装置104、输入装置106和输出装置108集成设置于一体,而将图像采集设备110设置于可以采集到视频帧的指定位置。当上述电子系统中的各器件集成设置时,该电子系统可以被实现为诸如相机、智能手机、平板电脑、计算机、智能摄像头或人脸抓拍机等智能终端。

实施例二:

本实施例提供了一种遮挡比例确定方法,该方法由上述电子系统中的处理设备执行;该处理设备可以是具有数据处理能力的任何设备或芯片。该处理设备可以独立对接收到的信息进行处理,也可以与服务器相连,共同对信息进行分析处理,并将处理结果上传至云端。如图2所示,该遮挡比例确定方法包括如下步骤:

步骤s202,获取待处理的图像;

该待处理的图像可以从视频数据中截取,也可以从数据库中提取、或者实时拍摄得到。如果该图像从视频数据中截取得到,该图像也可以称为视频帧图像;具体可以按照各个视频帧的时间顺序,从视频文件中逐帧获取,获取到的每帧视频帧图像均可作为上述待处理的图像;当前也可以按照预设的时间间隔或者帧间隔,从视频文件中提取对应的视频帧图像,作为上述待处理的图像。

步骤s204,通过预设的检测模型检测图像中的对象,得到对象的检测区域;

上述预设的检测模型可以通过神经网络训练得到;图像输入至检测模型中后,具体可以通过人脸检测或人形检测的方式检测图像中是否存在对象;如果存在对象,可以通过检测框标识该对象的检测区域;该检测框通常为矩形,该检测框中通常包含有目标对象的脸部区域或由头至脚的身体区域。

步骤s206,如果从图像中检测出多个对象,按照预设规则,从多个对象中确定目标对象;

其中,上述预设规则可以根据实际需求设置;例如,可以将检测出的多个对象进行排序,可以随机进行排序,也可以根据各个对象的检测区域的位置进行排序;排序完毕后,根据排列顺序逐一将每个对象确定为目标对象。再如,上述预设规则中还可以包含筛选条件,如检测区域的位置、尺寸等;根据该筛选条件从上述多个对象中筛选出符合条件的对象,再逐一将每个筛选出的对象作为目标对象。可以理解,在大多情况下,该目标对象通常为一个对象,该对象处理完毕后,在将该对象的下一个对象作为目标对象。

步骤s208,判断目标对象的检测区域与除目标对象以外的对象的检测区域是否重叠;

对象的检测区域通常占据图像中的一部分像素点,每个像素点可以通过一个坐标表示,则对象的检测区域通常对应图像中的一个坐标范围;例如,该检测区域为矩形时,该检测区域的坐标范围可以表示为[x1,x2]和[y1,y2],其中,[x1,x2]为横坐标范围,[y1,y2]为纵坐标范围。

当图像中的多个对象中的一个对象确定为目标对象后,其他对象即为上述除目标对象以外的对象,以该目标对象的检测区域为基准,如果其他对象的检测区域与该目标对象的检测区域存在相互重叠的坐标范围,即可确定目标对象的检测区域与除目标对象以外的对象的检测区域重叠。可以理解,为了使判断结果与视觉上的遮挡更加匹配,如果其他对象的检测区域与该目标对象的检测区域的相互重叠的坐标范围仅为一个点,或者多个点组成的线条,可以认为两个检测区域相邻,并不重叠;如果相互重叠的坐标范围的宽度大于一且长度大于一时,则可认为两个检测区域重叠。

步骤s210,如果是,获取重叠区域,根据重叠区域和目标对象的检测区域,确定目标对象的遮挡比例。

该重叠区域即可通过上述相互重叠的坐标范围表示;该重叠区域数据目标对象的检测区域的一部分,同时也属于遮挡该目标对象检测区域的其他对象的检测区域的一部分,因此,重叠区域与目标对象的检测区域的比值,即为上述目标对象的遮挡比例。

如果上述多个对象中,除目标对象还有多个其他对象,则可以针对每个其他对象判断该对象的检测区域是否与目标对象的检测区域重叠;如果有多个对象的检测区域与目标对象的检测区域重叠,则可以获得多个重叠区域;多个重叠区域的总和与目标对象的检测区域的比值,即为上述目标对象的遮挡比例。

需要说明的是,相关技术中,常以对象边缘轮廓作为基准判断对象间是否重叠,但边缘轮廓的识别计算量较大,并且对象的边缘轮廓形状各异,当边缘轮廓的识别不准确时,边缘轮廓甚至不能完整覆盖对象,因而通过边缘轮廓确定目标对象的遮挡比例不仅计算量大,效果也差强人意;而本实施例中,以对象的检测区域作为基准,对象的检测区域通常为固定形状,如矩形、四边形等,形状较为标准,因而通过检测区域确定遮挡比例更加简单快捷、运算量小,能够广泛地适用于人脸识别、跟踪、抓拍等多种场景中。

本发明实施例提供的上述遮挡比例确定方法,首先通过预设的检测模型检测待处理的图像中的对象,如果检测出多个对象,则按照预设规则从多个对象中确定目标对象,并判断该目标对象的检测区域与其他对象的检测区域是否重叠;如果重叠,则获取重叠区域,并根据重叠区域和目标对象的检测区域,确定目标对象的遮挡比例。该方式中,以对象的检测区域为基准,能够快捷高效地得到目标对象的遮挡程度,进而后续可以根据遮挡程度有效提高人脸识别、跟踪、抓拍等的效果和质量。

实施例三:

本实施例提供了另一种遮挡比例确定方法,该方法在上述实施例的基础上实现;该方法中,进一步描述了判断目标对象的检测区域与除目标对象以外的对象的检测区域是否重叠的具体方式;如图3所示,该方法包括如下步骤:

步骤s302,获取待处理的图像;

步骤s304,通过预设的检测模型检测图像中的对象,得到对象的检测区域;

步骤s306,判断检测出的对象是否为多个,如果是,执行步骤s308;如果否,结束;

本实施例中,将检测出的每个对象均确定对应的遮挡比例,以该场景作为示例进行描述。基于此,可以按照第一预设顺序,逐一将多个对象中的每个对象确定为目标对象,直至遍历所有的对象。可以理解,每次将多个对象中的一个对象作为目标对象。上述第一预设顺序可以根据每个对象位于图像中的位置确定,当然也可以采用随机方式或其他方式确定。下面进行具体描述。

步骤s308,对多个对象进行排序,并统计多个对象的总数i;设置i=1;其中,i为第i个对象;

步骤s310,将第i个对象作为目标对象;

目标对象确定后,按照第二预设顺序,逐一将除目标对象以外的对象中的每个对象确定为当前对象,直至遍历所有的除目标对象以外的对象;然后针对每个当前对象,判断当前对象的检测区域与目标对象的检测区域是否重叠;如果至少一个当前对象的检测区域与目标对象的检测区域重叠,确定目标对象的检测区域与除目标对象以外的对象的检测区域重叠。上述第二预设顺序可以根据每个对象位于图像中的位置确定,当然也可以采用随机方式或其他方式确定。

上述除目标对象以外的对象也可以称为其他对象,逐一判断其他对象中的每个对象的检测区域与目标对象的检测区域是否重叠;判断完毕后,如果其他对象中的一个对象或多个对象的检测区域与目标对象的检测区域重叠,则可以确定目标对象的检测区域与除目标对象以外的对象的检测区域重叠;如果其他对象中不存在对象的检测区域与目标对象的检测区域重叠,则可以确定目标对象的检测区域与除目标对象以外的对象的检测区域不重叠。

如果上述其他对象为一个,则仅需要判断将该其他对象的检测区域与与目标对象的检测区域是否重叠,如果二者重叠,则可以确定目标对象的检测区域与除目标对象以外的对象的检测区域重叠;如果二者不重叠,则可以确定目标对象的检测区域与除目标对象以外的对象的检测区域不重叠。下面进行具体描述。

步骤s312,将除目标对象以外的对象进行排序,并统计除目标对象以外的对象的总数j;设置j=1;其中,j为第j个对象;

步骤s314,将第j个对象作为当前对象;

步骤s316,获取当前对象的检测区域位于图像的第一横坐标范围和第一纵坐标范围;获取目标对象的检测区域位于图像的第二横坐标范围和第二纵坐标范围;

在实际实现时,可以基于图像建立一个坐标系,确定坐标原点、以及x轴和y轴的方向后,图像其他像素点即可确定唯一的坐标;该坐标原地可以为图像的一个顶点,也可以为中心点或其他位点。上述第一横坐标范围可以用[x1,x2]表示,左侧端点x1为当前对象的检测区域中各像素点的横坐标的最小值,右侧端点x2为当前对象的检测区域中各像素点的横坐标的最大值。上述第一纵坐标范围可以用[y1,y2]表示,左侧端点y1为当前对象的检测区域中各像素点的纵坐标的最小值,右侧端点y2为当前对象的检测区域中各像素点的纵坐标的最大值。当对象的检测区域为矩形时,通过矩形检测区域的顶点的坐标即可确定上述第一横坐标范围和第一纵坐标范围,具体而言,矩形检测区域左下角的横坐标和右下角的横坐标组成上述第一横坐标范围,或者矩形检测区域左上角的横坐标和右上角的横坐标组成上述第一横坐标范围;矩形检测区域左下角的纵坐标和左上角的纵坐标组成上述第一纵坐标范围,或者矩形检测区域右下角的纵坐标和右上角的纵坐标组成上述第一纵坐标范围。

同理,上述第二横坐标范围可以用[x3,x4]表示,左侧端点x3为目标对象的检测区域中各像素点的横坐标的最小值,右侧端点x4为目标对象的检测区域中各像素点的横坐标的最大值。上述第二纵坐标范围可以用[y3,y4]表示,左侧端点y3为目标对象的检测区域中各像素点的纵坐标的最小值,右侧端点y4为目标对象的检测区域中各像素点的纵坐标的最大值。

步骤s318,求取上述第一横坐标范围和第二横坐标范围的第一交集,以及上述第一纵坐标范围和第二纵坐标范围的第二交集;

步骤s320,判断上述第一交集和第二交集是否均为非空;如果是,执行步骤s322;如果否,执行步骤s324;

具体地,可以以上述第一横坐标范围为基准,如果第二横坐标范围的左侧端点大于或等于第一横坐标范围的右侧端点,或者第二横坐标范围的右侧端点小于或等于第一横坐标范围的左侧端点,则可以确定上述第一交集为空(本实施例中,如果两个横坐标范围仅端点重合,则可以认为二者交集为空);如果第二横坐标范围的左侧端点和右侧端点中的至少一个端点位于上述第一横坐标范围之内,则可以确定上述第一交集为非空。同样可以按照上述方式判断第二交集是否为非空,在此不再赘述。

当上述第一交集和第二交集均为非空时,才可确定当前对象的检测区域与目标对象的检测区域重叠;如果第一交集为非空而第二交集为空,说明当前对象和目标对象的检测区域在y轴方向上相邻或间隔预设距离,两个检测区域不重叠;如果第一交集为空而第二交集为非空,说明当前对象和目标对象的检测区域在x轴方向上相邻或间隔预设距离,两个检测区域不重叠。

步骤s322,确定当前对象的检测区域与目标对象的检测区域重叠;执行步骤s326;

步骤s324,确定当前对象的检测区域与目标对象的检测区域不重叠。

步骤s326,判断j是否等于j;如果否,j=j+1,执行步骤s314;如果是,执行步骤s328;

当j等于j时,说明除目标对象以外的对象遍历完毕,此时即可跳出该循环执行后续步骤;如果j不等于j,说明除目标对象以外的对象尚未遍历完毕,此时,可以获取当前对象的下一个对象,作为新的当前对象,继续执行上述步骤。

步骤s328,判断与目标对象的检测区域重叠的当前对象的数量是否大于零;如果是,执行步骤s330;如果否,执行步骤s332;

对于每个当前对象,可以记录该当前对象是否与目标对象重叠;并在遍历完毕所有当前对象后,统计与目标对象重叠的当前对象的数量。如果该数量是一,或者大于一,均可确定目标对象的检测区域与除目标对象以外的对象的检测区域重叠;但如果该数量是零,说明上述所有的当前对象均不与目标对象重叠,此时也无需继续计算该目标对象的遮挡比例,该目标对象的遮挡比例可以设置为零,则继续获取下一个目标对象。

步骤s330,确定目标对象的检测区域与除目标对象以外的对象的检测区域重叠,获取重叠区域,根据重叠区域和目标对象的检测区域,确定目标对象的遮挡比例。

步骤s332,判断i是否等于i;如果否,i=i+1,执行步骤s310;如果是,结束。

当遍历完图像检测出的所有对象后,每个对象均确定除遮挡比例,此时则结束流程。

上述方式中,如果图像中检测出多个对象,则按照预设规则从多个对象中确定目标对象,并逐一判断该目标对象的检测区域与其他对象的检测区域是否重叠;如果存在至少一个其他对象与该目标对象的检测区域重叠,则获取重叠区域,并根据重叠区域和目标对象的检测区域,确定目标对象的遮挡比例。该方式中,以对象的检测区域为基准,能够快捷高效地得到目标对象的遮挡程度,进而后续可以根据遮挡程度有效提高人脸识别、跟踪、抓拍等的效果和质量。

实施例四:

本实施例提供了另一种遮挡比例确定方法,该方法在上述实施例的基础上实现;该方法中,进一步描述了获取重叠区域的具体方式。

上述实施例中,需要逐一判断每个当前对象的检测区域是否与目标对象的检测区域重叠,进而确定该目标对象是否确定目标对象的检测区域与除目标对象以外的对象的检测区域重叠,如果重叠,再获取重叠区域。而本实施例中,为了节约运算成本,可以在逐一判断每个当前对象的检测区域是否与目标对象的检测区域重叠的过程中,如果该当前对象的检测区域与目标对象的检测区域重叠,则计算该当前对象的重叠子区域,当当前区域遍历完毕后,将计算得到的重叠子区域的总和,作为重叠区域。基于此,该遮挡比例确定方法包括如下步骤:

步骤402,获取待处理的图像;

步骤404,通过预设的检测模型检测图像中的对象,得到对象的检测区域;

步骤406,判断检测出的对象是否为多个,如果是,执行步骤408;如果否,结束;

步骤408,对多个对象进行排序,并统计多个对象的总数i;设置i=1;其中,i为第i个对象;

步骤410,将第i个对象作为目标对象;

步骤412,将除目标对象以外的对象进行排序,并统计除目标对象以外的对象的总数j;设置j=1;其中,j为第j个对象;

步骤414,将第j个对象作为当前对象;

步骤416,获取当前对象的检测区域位于图像的第一横坐标范围和第一纵坐标范围;获取目标对象的检测区域位于图像的第二横坐标范围和第二纵坐标范围;

步骤418,求取上述第一横坐标范围和第二横坐标范围的第一交集,以及上述第一纵坐标范围和第二纵坐标范围的第二交集;

步骤420,判断上述第一交集和第二交集是否均为非空;如果是,执行步骤422;如果否,执行步骤428;

步骤422,确定当前对象的检测区域与目标对象的检测区域重叠,获取当前对象的检测区域与目标对象的检测区域的重叠横坐标范围和重叠纵坐标范围;

其中,该重叠横坐标范围相当于上述第一交集,该重叠横坐标范围可以表示为[xc1,xc2],其中左侧端点xc1为上述第一横坐标范围和第二横坐标范围的左侧端点的最大值;该重叠横坐标范围的右侧端点xc2为上述第一横坐标范围和第二横坐标范围的右侧端点的最小值。例如,上述第一横坐标范围为[5,50],第二横坐标范围为[10,100];则xc1为二者的左侧端点的最大值,即10,xc2为二者的右侧端点的最小值,即50,重叠横坐标范围为[10,50]。

同理,上述重叠纵坐标范围相当于上述第二交集,该重叠纵坐标范围可以表示为[yc1,yc2],其中,左侧端点为yc1上述第一纵坐标范围和第二纵坐标范围的左侧端点的最大值;该重叠纵坐标范围的右侧端点yc2为上述第一纵坐标范围和第二纵坐标范围的右侧端点的最小值。

步骤424,将重叠横坐标范围和重叠纵坐标范围对应的区域确定为当前对象对应的重叠子区域;

对于矩形的检测区域,通过上述重叠横坐标范围和重叠纵坐标范围即可确定出区域的四个顶点,将相邻顶点连线,进而得到重叠子区域。另外,如果检测区域预设为其他形状,可以基于上述重叠横坐标范围和重叠纵坐标范围确定一个矩形区域后,在根据该矩形区域确定上述检测区域;例如,如果检测区域预设为圆形,则根据该矩形区域确定包含在矩形区域中的最大圆形,将该圆形确定为重叠子区域。

步骤426,将每个当前对象对应的重叠子区域的集合,确定为重叠区域。执行步骤430。

如果目标对象与多个当前对象重叠,则上述集合中包含有多个重叠子区域,这些重叠子区域之间可以相互独立,也可以相互重叠;该集合即可确定为重叠区域。

步骤428,确定当前对象的检测区域与目标对象的检测区域不重叠。

步骤430,判断j是否等于j;如果否,j=j+1,执行步骤414;如果是,执行步骤432;

步骤432,判断与目标对象的检测区域重叠的当前对象的数量是否大于零;如果是,执行步骤434;如果否,执行步骤436;

步骤434,根据上述重叠区域和目标对象的检测区域,确定目标对象的遮挡比例。

步骤436,判断i是否等于i;如果否,i=i+1,执行步骤410;如果是,结束。

上述方式中,当判断出目标对象的检测区域与其他对象中的当前对象的检测区域重叠时,则获取目标对象与该当前对象重叠子区域,进而得到目标对象与所有其他对象的重叠区域;并根据重叠区域和目标对象的检测区域,确定目标对象的遮挡比例。该方式中,以对象的检测区域为基准,能够快捷高效地得到目标对象的遮挡程度,进而后续可以根据遮挡程度有效提高人脸识别、跟踪、抓拍等的效果和质量。

实施例五:

本实施例提供了另一种遮挡比例确定方法,该方法在上述实施例的基础上实现;该方法中,进一步描述了确定目标对象的遮挡比例的具体方式。

如果上述实施例中获取到的重叠子区域的数量为多个,则多个重叠子区域可能存在重叠,使得目标对象被遮挡的面积通常小于多个重叠子区域的面积之和,基于此,在确定目标对象的遮挡比例的过程中,通常需要分别计算重叠区域和目标对象的检测区域的面积;该重叠区域的面积为去除掉多个重叠子区域之间的重叠区域面积后,多个重叠子区域实际占据图像的面积;进而再将重叠区域和目标对象的检测区域的面积比值,确定为目标对象的遮挡比例。

具体而言,上述遮挡比例确定方法包括如下步骤:

步骤502,获取待处理的图像;

步骤504,通过预设的检测模型检测图像中的对象,得到对象的检测区域;

步骤506,判断检测出的对象是否为多个,如果是,执行步骤508;如果否,结束;

步骤508,对多个对象进行排序,并统计多个对象的总数i;设置i=1;其中,i为第i个对象;

步骤510,将第i个对象作为目标对象;

步骤512,将除目标对象以外的对象进行排序,并统计除目标对象以外的对象的总数j;设置j=1;其中,j为第j个对象;

步骤514,将第j个对象作为当前对象;

步骤516,获取当前对象的检测区域位于图像的第一横坐标范围和第一纵坐标范围;获取目标对象的检测区域位于图像的第二横坐标范围和第二纵坐标范围;

步骤518,求取上述第一横坐标范围和第二横坐标范围的第一交集,以及上述第一纵坐标范围和第二纵坐标范围的第二交集;

步骤520,判断上述第一交集和第二交集是否均为非空;如果是,执行步骤522;如果否,执行步骤528;

步骤522,确定当前对象的检测区域与目标对象的检测区域重叠,获取当前对象的检测区域与目标对象的检测区域的重叠横坐标范围和重叠纵坐标范围;

步骤524,将重叠横坐标范围和重叠纵坐标范围对应的区域确定为当前对象对应的重叠子区域;

步骤526,将每个当前对象对应的重叠子区域的集合,确定为重叠区域。执行步骤530。

步骤528,确定当前对象的检测区域与目标对象的检测区域不重叠。

步骤530,判断j是否等于j;如果否,j=j+1,执行步骤514;如果是,执行步骤532;

步骤532,判断与目标对象的检测区域重叠的当前对象的数量是否大于零;如果是,执行步骤534;如果否,执行步骤536;

步骤534,获取重叠区域中,每个重叠子区域的最小横坐标和最大横坐标,得到横坐标集合;

步骤536,根据坐标值的大小,对横坐标集合中的各个坐标进行排序;

可以理解,上述重叠子区域的最小横坐标和最大横坐标为各个重叠子区域的端点坐标,可以用于标识在x轴方向上的各个重叠子区域的界限;具体可以将横坐标集合中的各个坐标按照从小到大的顺序排序,当然也可以按照从大到小的顺序排序。

考虑到各个坐标之间可能会有坐标值相同的坐标,因而上述步骤536在执行过程中,如果横坐标集合中,同一坐标值对应多个坐标,保留多个坐标中的一个坐标,剔除多个坐标中除保留的所述坐标以外的坐标,得到处理后的横坐标集合;也可以理解为,如果同一坐标值对应多个坐标,则删除坐标值重复的坐标,使得同一个坐标值仅对应一个坐标。例如,如果横坐标集合中,存在三个坐标的坐标值为5,说明有三个重叠子区域的最小横坐标或最大横坐标为5,此时则需要保留一个坐标,删除另外两个坐标;此时横坐标集合中的各个坐标的坐标值不再重复;进而再根据坐标值的大小,对处理后的横坐标集合中的各个坐标进行排序。

步骤538,对于横坐标集合中每两个相邻坐标,获取覆盖该相邻坐标对应的横坐标范围的重叠子区域;

该步骤中,可以按照预设顺序逐一处理横坐标集合中每两个相邻坐标;例如,横坐标集合为[a1,a2,a3,a4],由于该横坐标集合已经提出坐标值重复的坐标,并且已经排序,因而该横坐标集合中的坐标大小可以标识为a1<a2<a3<a4,或者a1>a2>a3>a4;该横坐标集合中具有三组相邻坐标,分别为a1和a2、a2和a3、a3和a4;针对每组相邻坐标获取覆盖该相邻坐标对应的横坐标范围的重叠子区域。具体而言,由于重叠子区域之间可能存在重叠,因而对于一组相邻坐标,可能属于多个重叠子区域占据的横坐标范围,为了求取多个重叠子区域的实际占据图像的面积,需要针对每组相邻坐标,获得所有覆盖该相邻坐标对应的横坐标范围的重叠子区域,再进行后续处理。

步骤540,根据获取到的重叠子区域的总长度,确定相邻坐标对应的面积;

获得所有覆盖该相邻坐标对应的横坐标范围的重叠子区域之后,需要确定该相邻坐标内,各个重叠子区域实际占据的面积,由于相邻坐标的长度已确定,进而需要确定该相邻坐标对应的所有重叠子区域实际占据区域的长度;具体而言,可以通过下述步骤02-08实现:

步骤02,从获取到的重叠子区域中,提取每个重叠子区域的纵坐标区间,得到区间集合;

具体可以提取每个重叠子区域的最小纵坐标和最大纵坐标,该最小纵坐标和最大纵坐标组成纵坐标区间;该区间中包含多个重叠子区域对应的纵坐标区间。

步骤04,合并区间集合中,区间重叠的纵坐标区间;

对于相互重叠的重叠子区域,其纵坐标区间通常也会重叠;为了得到该相邻坐标对应的所有重叠子区域实际占据区域的纵坐标区间的长度,需要合并区间集合中,区间重叠的纵坐标区间;例如,当前的相邻坐标对应的重叠子区域共三个,这三个重叠子区域对应的纵坐标区间分别为[5,200]、[100,250]、[300,400],这三个重叠子区域中,[5,200]和[100,250]相互重叠,经合并后,对应的纵坐标区间为[5,250];而[300,400]与其它两个区域不重叠,无需合并,因此这三个纵坐标区间合并后,得到两个纵坐标区间,分别为[5,250]和[300,400]。

步骤06,统计合并后的所有纵坐标区间的长度,得到重叠子区域的总长度;

合并后的所有纵坐标区间不再相互重叠,因此合并后的所有纵坐标区间的长度的总和,即重叠子区域的总长度。

步骤08,将重叠子区域的总长度乘以相邻坐标的差值,得到相邻坐标对应的面积。

步骤542,将横坐标集合中每两个相邻坐标对应的面积的总和确定为重叠区域的面积。

在实际实现时,可以逐一处理每两个相邻坐标,直至遍历完所有的相邻坐标,由于相邻坐标间不重叠,因此各组相邻坐标对应的面积的总和即为重叠区域的面积。

步骤544,获取目标图像的面积,计算上述重叠区域的面积与该目标图像的面积比值,将该面积比值确定为目标对象的遮挡比例。

步骤546,判断i是否等于i;如果否,i=i+1,执行步骤510;如果是,结束。

上述实施例中获得的目标对象的遮挡比例,可应用于多种场景中,例如,在视频帧中对对象进行识别、跟踪过程中,如果发现目标对象,则需要对该目标对象进行抓拍,得到一张质量较好的目标对象的图像;此时,则可以将遮挡比例作为参考因素,判断目标对象的遮挡比例是否小于或等于预设的遮挡阈值;如果是,则保存目标对象的图像数据。而如果目标对象的遮挡比例大于预设的遮挡阈值,则可以继续计算后续视频帧中该目标对象的遮挡比例,选择遮挡比例小于或等于上述遮挡阈值的视频帧进行抓拍并保存,因而通过遮挡比例可以提高抓拍图像的质量。

实施例六:

本实施例提供了另一种遮挡比例确定方法,该方法在上述实施例的基础上实现;该方法中,提供了一种具体的遮挡比例的计算方式;该方法中,对象的检测区域为矩形区域,该矩形区域通过左下角坐标和区域的长度宽度表示,当然这些不作为对本实施例的具体限定,仅作为示例说明。对于当前的图像,如果检测出了i个对象,则第i个对象的检测区域可以表示为(x_i,y_i,w_i,h_i),其中,(x_i,y_i)为检测区域的左下角的横坐标和纵坐标,(w_i,h_i)为检测区域的横坐标宽度和纵坐标宽度。

该遮挡比例的计算方式的主流程可以描述如下:

步骤22,逐一将每个对象作为目标对象,针对当前的目标对象,该目标对象的检测区域为(x_i,y_i,w_i,h_i);

步骤24,逐一判断该目标对象以外的其他对象的检测区域是否与目标对象的检测区域重叠,将当前的其他对象作为当前对象,该当前对象的检测区域为(x_j,y_j,w_j,h_j),其中,j不等于i;

步骤26,如果当前对象与目标对象的检测区域重叠,通过下述公式求出当前对象与目标对象的重叠子区域:

x’=max(x_i,x_j),w’=min(x_i+w_i,x_j+w_j)-x’;

y’=max(y_i,y_j),h’=min(y_i+h_i,y_j+h_j)-y’;

如果w’>0且h’>0,说明这两个当前对象和目标对象的检测区域重叠,且重叠区域为(x’,y’,w’,h’),并将矩形框(x’,y’,w’,h’)加入集合p,该集合p中保存了目标对象与所有其他对象相重合的重叠子区域。

步骤28,通过下述子流程1,计算集合p内所有重叠子区域的总面积s。

步骤30,计算目标对象i的检测区域被遮挡的比例为r_i=s/(w_i*h_i)。

子流程1:

步骤32,提取集合p中所有重叠子区域的端点横坐标,得到横坐标集合a,即a={x_1,x_1+w_1,x_2,x_2+w_2,…,x_m,x_m+w_m}。

步骤34,将集合a中的各个坐标进行由小到大的排序,并剔除重复坐标,处理后的集合a为{a_1,a_2,…,a_k},且a_1<a_2<…<a_k。

步骤36,该集合a中具有k-1个相邻坐标的坐标区间,针对每个坐标区间,计算该坐标区域对应的各个重叠子区域的覆盖面积,具体包括如下步骤(1)-(3):

步骤(1),获取所有覆盖当前坐标区间的重叠子区域,将这些重叠子区域的纵坐标区间加入集合b。即b={[y_j,y_j+h_j]|x_j<=a_i且a_{i+1}<=x_j+w_j,j=1,2,…,m}。其中,[a_i,a_{i+1}]为当前的坐标区间,[y_j,y_j+h_j]为第j个重叠子区域的纵坐标区间,覆盖当前的坐标区域的重叠子区域共有m个。

步骤(2),通过下述子流程2,计算集合b内区间并集的总长度l。

步骤(3),该当前区间内被重叠子区域覆盖的面积为l*(a_{i+1}-a_i),将该面积加入总面积s,即s=s+l*(a_{i+1}-a_i);该s即为左右当前区域对应的面积的总和。

子流程2:

步骤38,将上述集合b中的各区间按照左端点从小到大排序,即排序后满足l_1<=l_2<=…<=l_p。

步骤40,设[l’,r’]为合并后的区间,该区域的初始值为l’=l_1,r’=r_1;总长度l的初始值为0;

步骤42,按照集合b中,排序后的各个区间的顺序,依次对每个区间进行下述处理:对于区间[l_i,r_i]:如果r’<l_i,那么更新l=l+(r’-l’),l’=l_i,r’=r_i;如果r’>=l_i,更新r’=max(r’,r_i);

步骤44,遍历完集合b中的最后一个区间后,l=l+(r’-l’),得到的l即为集合b内区间并集的总长度。

通过上述方式,即可得到图像内各个目标图像的遮挡比例,该方法以检测区域为基准计算遮挡比例,计算方式简单快捷,可以在对象的跟踪和抓拍过程中快速得到对象的遮挡比例,有利于提高图像抓拍的质量。

需要说明的是,上述各方法实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

实施例七:

对应于上述方法实施例,参见图4所示的一种遮挡比例确定装置的结构示意图,该装置包括:

图像获取模块40,用于获取待处理的图像;

检测模块41,用于通过预设的检测模型检测图像中的对象,得到对象的检测区域;

目标对象确定模块42,用于如果从图像中检测出多个对象,按照预设规则,从多个对象中确定目标对象;

判断模块43,用于判断目标对象的检测区域与除目标对象以外的对象的检测区域是否重叠;

遮挡比例确定模块44,用于如果目标对象的检测区域与除目标对象以外的对象的检测区域重叠,获取重叠区域,根据重叠区域和目标对象的检测区域,确定目标对象的遮挡比例。

进一步地,上述目标对象确定模块42,用于:按照第一预设顺序,逐一将多个对象中的每个对象确定为目标对象,直至遍历所有的对象。

进一步地,上述判断模块43,用于:按照第二预设顺序,逐一将除目标对象以外的对象中的每个对象确定为当前对象,直至遍历所有的除目标对象以外的对象;针对每个当前对象,判断当前对象的检测区域与目标对象的检测区域是否重叠;如果至少一个当前对象的检测区域与目标对象的检测区域重叠,确定目标对象的检测区域与除目标对象以外的对象的检测区域重叠。

进一步地,上述判断模块43,用于:获取当前对象的检测区域位于图像的第一横坐标范围和第一纵坐标范围;获取目标对象的检测区域位于图像的第二横坐标范围和第二纵坐标范围;如果第一横坐标范围和第二横坐标范围的交集为非空,且第一纵坐标范围和第二纵坐标范围的交集为非空,确定当前对象的检测区域与目标对象的检测区域重叠。

进一步地,上述遮挡比例确定模块44,用于:针对每个当前对象,如果当前对象的检测区域与目标对象的检测区域重叠,获取当前对象的检测区域与目标对象的检测区域的重叠横坐标范围和重叠纵坐标范围;将重叠横坐标范围和重叠纵坐标范围对应的区域确定为当前对象对应的重叠子区域;将每个当前对象对应的重叠子区域的集合,确定为重叠区域。

进一步地,上述遮挡比例确定模块44,用于:分别计算重叠区域和目标对象的检测区域的面积;将重叠区域和目标对象的检测区域的面积比值,确定为目标对象的遮挡比例。

进一步地,上述遮挡比例确定模块44,用于:获取重叠区域中,每个重叠子区域的最小横坐标和最大横坐标,得到横坐标集合;根据坐标值的大小,对横坐标集合中的各个坐标进行排序;对于横坐标集合中每两个相邻坐标,获取覆盖相邻坐标对应的横坐标范围的重叠子区域;根据获取到的重叠子区域的总长度,确定相邻坐标对应的面积;将横坐标集合中每两个相邻坐标对应的面积的总和确定为重叠区域的面积。

进一步地,上述遮挡比例确定模块44,用于:如果横坐标集合中,同一坐标值对应多个坐标,保留多个坐标中的一个坐标,剔除多个坐标中除保留的所述以外的坐标,得到处理后的横坐标集合;根据坐标值的大小,对处理后的横坐标集合中的各个坐标进行排序。

进一步地,上述遮挡比例确定模块44,用于:从获取到的重叠子区域中,提取每个重叠子区域的纵坐标区间,得到区间集合;合并区间集合中,区间重叠的纵坐标区间;统计合并后的所有纵坐标区间的长度,得到重叠子区域的总长度;将重叠子区域的总长度乘以相邻坐标的差值,得到相邻坐标对应的面积。

进一步地,上述装置还包括:遮挡阈值判断模块,用于判断目标对象的遮挡比例是否小于或等于预设的遮挡阈值;数据保存模块,用于如果目标对象的遮挡比例小于或等于预设的遮挡阈值,保存目标对象的图像数据。

本发明实施例提供的上述遮挡比例确定装置,首先通过预设的检测模型检测待处理的图像中的对象,如果检测出多个对象,则按照预设规则从多个对象中确定目标对象,并判断该目标对象的检测区域与其他对象的检测区域是否重叠;如果重叠,则获取重叠区域,并根据重叠区域和目标对象的检测区域,确定目标对象的遮挡比例。该方式中,以对象的检测区域为基准,能够快捷高效地得到目标对象的遮挡程度,进而后续可以根据遮挡程度有效提高人脸识别、跟踪、抓拍等的效果和质量。

实施例八:

本发明实施例提供了一种电子系统,系统包括:图像采集设备、处理设备和存储装置;图像采集设备,用于获取预览视频帧或图像数据;存储装置上存储有计算机程序,计算机程序在被处理设备运行时执行如上述遮挡比例确定方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的电子系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

进一步,本实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理设备运行时执行上述遮挡比例确定方法的步骤。

本发明实施例所提供的一种遮挡比例确定方法、装置和电子系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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