信息框显示方法及装置与流程

文档序号:11406617阅读:180来源:国知局
信息框显示方法及装置与流程

本发明涉及计算机技术领域,尤其涉及一种信息框显示方法及装置。



背景技术:

当前,基于图像识别的信息标注系统主要用于在图像中识别目标对象所在的区域,在目标对象所在的区域绘制表示目标对象位置的识别框,将目标对象的标注信息利用信息框标注在目标对象所在的区域附近。例如:在人脸识别系统中,采用人脸识别技术在包含有a某的图像中识别出a某的人脸区域,再用识别框将人脸区域框出来,最后在识别框附近的预定位置处显示包含与a某对应的标注信息的信息框。

然而在实际应用中,当识别对象靠近显示画面边缘时,信息框可能会在显示画面的范围外显示,用户无法看清信息框中的文字内容;当多个识别对象相互临近时,一方面一个或者多个信息框可能会远离识别对象,用户将可能无法清晰的了解到每个识别对象对应的信息框;另一方面多个识别对象对应的识别框可能会相互叠加覆盖显示,用户也将无法清晰的了解到每个识别对象对应的信息框,影响用户的使用。



技术实现要素:

为克服相关技术中存在的问题,本发明提供一种信息框显示方法及装置。

根据本发明实施例的第一方面,提供一种信息框显示方法,包括:

如果检测到图像中存在至少一个待识别的识别对象,为每个所述识别对象分别生成信息框,所述信息框中包含所述识别对象的标注信息;

模拟每个所述信息框的预设参考点在所述图像中的第一位置,所述第一位置位于环绕所述信息框对应的识别对象的移动轨迹上,不同所述信息框的显示区域不同;

针对每个所述信息框,确定第一位置与所述移动轨迹上的预设位置之间的移动距离,并且,根据所述移动距离和预设代价函数确定代价值;

如果所述图像中至少一个所述信息框的代价值的和满足预设条件,在每个所述第一位置上分别显示对应的信息框。

可选地,所述方法还包括:

如果所述图像中至少一个所述信息框的代价值的和不满足预设条件,模拟每个所述信息框的预设参考点在所述图像中的第二位置,所述第二位置与第一位置不同;

针对每个所述信息框,计算第二位置与所述移动轨迹上的预设位置之间的移动距离;

计算所述图像中每个所述信息框的移动距离和至少一个所述信息框的代价值的和。

可选地,所述方法还包括:

判断所述代价值的和是否等于预设值,所述预设值为关于移动距离的预设代价函数的最小值;

如果所述代价值的和等于预设值,确定所述代价值的和满足预设条件;

如果所述代价值的和不等于预设值,确定所述代价值的和不满足预设条件。

可选地,所述模拟每个所述信息框在对应的移动轨迹上的第一位置,包括:

获取所述图像的显示范围以及当前信息框的边长;

在所述显示范围内,根据所述当前信息框的边长和所述识别对象的显示区域确定所述当前信息框的移动轨迹;

在所述移动轨迹中,确定与除当前信息框之外的每个信息框的显示区域不相互重合的位置为第一位置。

可选地,计算每个所述信息框的第一位置与所述第一位置所在的移动轨迹上预设位置之间的移动距离,包括:

针对每个所述信息框,按照预设方向计算所述移动轨迹上由所述预设位置至所述第一位置之间的至少一段直线的长度;

将所述至少一段直线的长度的和确定为所述信息框的移动距离。

根据本发明实施例的第二方面,提供一种信息框显示装置,包括:

生成模块,用于如果检测到图像中存在至少一个待识别的识别对象,为每个所述识别对象分别生成信息框,所述信息框中包含所述识别对象的标注信息;

第一模拟模块,用于模拟每个所述信息框的预设参考点在所述图像中的第一位置,所述第一位置位于环绕所述信息框对应的识别对象的移动轨迹上,不同所述信息框的显示区域不同;

第一确定模块,用于针对每个所述信息框,确定第一位置与所述移动轨迹上的预设位置之间的移动距离,并且,根据所述移动距离和预设代价函数确定代价值;

显示模块,用于在所述图像中至少一个所述信息框的代价值的和满足预设条件时,在每个所述第一位置上分别显示对应的信息框。

可选地,所述装置还包括:

第二模拟模块,用于如果所述图像中至少一个所述信息框的代价值的和不满足预设条件,模拟每个所述信息框的预设参考点在所述图像中的第二位置,所述第二位置与第一位置不同;

第一计算模块,用于针对每个所述信息框,计算第二位置与所述移动轨迹上的预设位置之间的移动距离;

第二计算模块,用于计算所述图像中每个所述信息框的移动距离和至少一个所述信息框的代价值的和。

可选地,所述装置还包括:

判断模块,用于判断所述代价值的和是否等于预设值,所述预设值为关于移动距离的预设代价函数的最小值;

第二确定模块,用于如果所述代价值的和等于预设值,确定所述代价值的和满足预设条件;

第三确定模块,用于如果所述代价值的和不等于预设值,确定所述代价值的和不满足预设条件。

可选地,所述第一模拟模块包括:

获取子模块,用于获取所述图像的显示范围以及当前信息框的边长;

第一确定子模块,用于在所述显示范围内,根据所述当前信息框的边长和所述识别对象的显示区域确定所述当前信息框的移动轨迹;

第二确定子模块,用于在所述移动轨迹中,确定与除当前信息框之外的每个信息框的显示区域不相互重合的位置为第一位置。

可选地,所述第一计算模块包括:

计算子模块,用于针对每个所述信息框,按照预设方向计算所述移动轨迹上由所述预设位置至所述第一位置之间的至少一段直线的长度;

第三确定子模块,用于将所述至少一段直线的长度的和确定为所述信息框的移动距离。

本发明的实施例提供的技术方案可以包括以下有益效果:

本发明实施例通过首先检测图像中是否存在至少一个待识别的识别对象,如果存在,则为每个所述识别对象分别生成信息框;模拟每个所述信息框的预设参考点在所述图像中的第一位置,所述第一位置位于环绕所述信息框对应的识别对象的移动轨迹上,不同所述信息框的显示区域不同;然后针对每个所述信息框,确定第一位置与所述移动轨迹上的预设位置之间的移动距离,并且,根据所述移动距离和预设代价函数确定代价值;如果所述图像中至少一个所述信息框的代价值的和满足预设条件,可以在每个所述第一位置上分别显示对应的信息框。

本发明实施例提供的该方法,能够在环绕识别对象的移动轨迹上确定识别对象的信息框的显示位置,然后,再以移动轨迹为基础,分别确定多个信息框中的每个信息框相对于移动轨迹上预设位置之间的移动距离,并且,根据所述移动距离和预设代价函数确定代价值,进而确定图像中至少一个所述信息框的代价值的和,当图像中至少一个所述信息框的代价值的和满足预设条件时,能够保证多个信息框不位于图像的显示区域外、多个信息框不相互重叠,且多个信息框均处于最利于用户观看的位置,方便用户观看识别对象的标注信息。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1是根据一示例性实施例示出的一种信息框显示方法的流程图;

图2是根据一示例性实施例示出的图1中步骤s102的流程图;

图3是根据一示例性实施例示出的图1中步骤s103的流程图;

图4是根据一示例性实施例示出的信息框、包围识别对象的识别框以及移动轨迹之间的位置关系示意图;

图5是根据一示例性实施例示出的另一种信息框显示方法的流程图;

图6是根据一示例性实施例示出的一种信息框显示装置的结构示意图;

图7是根据一示例性实施例示出的一种终端的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

由于在实际应用中,识别对象对应的信息框可能会超出图像的显示范围,某个信息框远离识别对象,任意的若干个信息框之间相互重叠覆盖,导致用户无法清楚的了解到每个识别对象对应的信息框,为此,如图1所示,在本发明实施例中,提供一种信息框显示方法,该方法可以应用于服务器或者pc机等设备,所述方法可以包括以下步骤。

在步骤s101中,如果检测到图像中存在至少一个待识别的识别对象,为每个所述识别对象分别生成信息框。

在本发明实施例中,每个所述识别对象对应一个信息框,所述信息框中包含所述识别对象对应的标注信息,图像可以指视频中的帧图像,也可以指单独的一幅待处理的图像等,识别对象可以指图像中的人体特征,如:人脸等等,也可以指物品,如:衣物、生活用品、办公用品等等,信息框指标注信息的显示区域的边缘框线,标注信息可以指识别对象的文字简介,如:当识别对象为人脸时,标注信息可以是张某、王某等;当识别对象为衣物时,标注信息可以是t恤或者衬衫等等,识别对象和标注信息在本发明实施例中不做限定,以上举例仅用作解释说明。

在该步骤中,可以首先使用图像识别技术识别图像中每个识别对象,然后记录每个识别对象的显示区域,在本发明实施例中,显示区域的形状可以与识别对象的轮廓形状相同,也可以为包含识别对象的矩形框等。

在步骤s102中,模拟每个所述信息框的预设参考点在所述图像中的第一位置。

在本发明实施例中,信息框的预设参考点可以指信息框的中心位置,信息框为矩形时,信息框的左上方直角的顶点位置、左上方直角的顶点位置或者左下方直角的顶点位置等等,所述第一位置位于环绕所述信息框对应的识别对象的移动轨迹上,信息框的移动轨迹可以沿着识别对象的显示区域边缘,也可以距离识别对象的显示区域边缘固定距离,不同所述信息框的显示区域不同,也就是说,多个信息框的显示区域之间不相互重叠覆盖。

在该步骤中,可以逐一为每个信息框在信息框对应的移动轨迹上设置不同的第一位置,以使不同信息框的显示区域不相互重叠。

在实际应用中,在设置不同信息框的第一位置时,假设在后设置第一位置的信息框为第二信息框,在先设置第一位置的信息框为第一信息框,如果第二信息框对应的移动轨迹上预设位置位于第一信息框的显示区域内,可以按照移动轨迹的顺时针或逆时针方向移动第二信息框,直至将第二信息框移动到与第一信息框的显示区域不重叠且在顺时针或逆时针方向上距离移动轨迹上预设位置处最近的显示位置,移动轨迹上的预设位置可以指移动轨迹上的某一位置点,例如,假设移动轨迹为矩形形状,可以将预设位置设置为两条相邻的边在右上角的焦点处等,例如:在设置第一信息框的第一位置时,可以直接将第一个信息框的第一位置为预设位置,在设置第二信息框的第一位置时,首先判断第二信息框的移动轨迹上预设位置是否位于第一信息框的显示区域内,如果第二信息框的移动轨迹上预设位置位于第一信息框的显示区域内,可以按照顺时针或者逆时针方向沿移动轨迹移动第二个信息框,直至第二信息框的显示区域与第一个信息框的显示区域无重叠,然后将该位置确定为第二信息框的第一位置,……依此类推,直至第n个信息框的第一位置设置完毕。

如图2所示,所述步骤s102包括以下步骤。

步骤s1021中,获取所述图像的显示范围以及当前信息框的边长。

在本发明实施例中,每个信息框的边长可能会根据标注信息的多少而不同,所以需要确定信息框的边长。

步骤s1022中,在所述显示范围内,根据所述当前信息框的边长和所述识别对象的显示区域确定所述当前信息框的移动轨迹。

在该步骤中,可以根据当前信息框的边长和识别对象的显示区域确定移动轨迹在图像中的坐标。

步骤s1023中,在所述移动轨迹中,确定与除当前信息框之外的每个信息框的显示区域不相互重合的位置为第一位置。

在该步骤中,可以首先将步骤s1022确定的移动轨迹与画面中其它信息框的显示区域比较,如果移动轨迹的某一段经过其它信息框的移动轨迹,则可以将第一位置设置在与该段移动轨迹之外,并且,在设置第一位置时,应当尽量保证第一位置靠近移动轨迹上的预设位置。

在步骤s103中,针对每个所述信息框,确定第一位置与所述移动轨迹上的预设位置之间的移动距离,并且,根据所述移动距离和预设代价函数确定代价值。

在本发明实施例中,假设移动轨迹为矩形框,预设位置可以设置在矩形框的任一条边上,假设移动轨迹为不规则形状,预设位置可以设置在不规则的移动轨迹上的任一点等。

在该步骤中,当移动轨迹为矩形时,可以根据移动轨迹的各边长计算由预设位置至第一位置之间的移动距离;当移动轨迹为不规则形状时,可以将移动轨迹划分为多个短线段,然后根据短线段的长度计算由预设位置至第一位置之间的移动距离;按照此种方式,计算图像中至少两个识别对象对应的信息框的移动距离,再根据所述移动距离和预设代价函数确定代价值。

如图3所示,所述步骤s103包括以下步骤。

步骤s1031中,针对每个所述信息框,按照预设方向计算所述移动轨迹上由所述预设位置至所述第一位置之间的至少一段直线的长度;

步骤s1032中,将所述至少一段直线的长度的和确定为所述信息框的移动距离。

如图4所示,识别对象的显示区域的边缘可以设置识别框,假设识别框的边长分别为a和b,信息框的边长分别为c和d,虚线为移动轨迹,信息框沿着移动轨迹向箭头所指的方向移动。假定信息框的移动距离为x,x的范围为:0<=x<2*(a+b+c+d)。

在本发明实施例中,可以定义代价关于移动距离x的代价函数cost(x):

当0<=x<b+(a+c)/2时,cost=αx;

当b+(a+c)/2<=x<2b+a+c的时候,cost=α(2b+a+c-x);

当2b+a+c<=x<3(a+c)/2+2b+d的时候,cost=α(x-2b+a+c);

当3(a+c)/2+2b+d<=x<2*(a+b+c+d)的时候,cost=α(2a+2b+2c+2d-x);

其中,α表示弹性系数,是一个任意定义的常量。

在步骤s104中,如果所述图像中至少一个所述信息框的代价值的和满足预设条件,在每个所述第一位置上分别显示对应的信息框。

在本发明实施例中,假设画面中一共有n个信息框,每个信息框的代价cost(xi),其中1<=i<=n,那么图像中至少一个所述信息框的代价值的和costsum=cost(x1)+…+cost(xn)。标注框的排版问题转化为求costsum的最小值,所以,预设条件可以指图像中n个信息框的总代价的最小值等。

在该步骤中,判断所述代价值的和是否等于预设值,所述预设值为关于移动距离的预设代价函数的最小值;如果所述代价值的和等于预设值,确定所述代价值的和满足预设条件;如果所述代价值的和不等于预设值,确定所述代价值的和不满足预设条件,在确定所述代价值的和满足预设条件后,可以在每个移动轨迹上模拟的第一位置上显示信息框,例如,假设图像中有三个识别对象,则在三个识别对象的移动轨迹上的第一位置分别显示三个识别对象对应的信息框。

本发明实施例通过首先检测图像中是否存在至少一个待识别的识别对象,如果存在,则为每个所述识别对象分别生成信息框;模拟每个所述信息框的预设参考点在所述图像中的第一位置,所述第一位置位于环绕所述信息框对应的识别对象的移动轨迹上,不同所述信息框的显示区域不同;然后针对每个所述信息框,确定第一位置与所述移动轨迹上的预设位置之间的移动距离,并且,根据所述移动距离和预设代价函数确定代价值;如果所述图像中至少一个所述信息框的代价值的和满足预设条件,可以在每个所述第一位置上分别显示对应的信息框。

本发明实施例提供的该方法,能够在环绕识别对象的移动轨迹上确定识别对象的信息框的显示位置,然后,再以移动轨迹为基础,分别确定多个信息框中的每个信息框相对于移动轨迹上预设位置之间的移动距离,并且,根据所述移动距离和预设代价函数确定代价值,进而确定图像中至少一个所述信息框的代价值的和,当图像中至少一个所述信息框的代价值的和满足预设条件时,能够保证多个信息框不位于图像的显示区域外、多个信息框不相互重叠,且多个信息框均处于最利于用户观看的位置,方便用户观看识别对象的标注信息。

如图5所示,在本发明的又一实施例中,还包括以下步骤。

在步骤s105中,如果所述图像中至少一个所述信息框的代价值的和不满足预设条件,模拟每个所述信息框的预设参考点在所述图像中的第二位置。

在本发明实施例中,第二位置与第一位置不同,在模拟第二位置时,可以沿移动轨迹的顺时针或者逆时针方向移动一定的距离,例如,假设第一位置的坐标为(1,1),则移动一个坐标单位后到达第二位置(2,1),或者,移动一个坐标单位后到达第二位置(1,2);也可以移动两个坐标单位后到达第二位置(3,1),或者,移动一个坐标单位后到达第二位置(1,3),等等,以上仅用于举例说明,不对本发明实施例构成限定。

在该步骤中,可以将信息框沿移动轨迹的顺时针或者逆时针方向移动,移动到与第一位置不同的第二位置。

在步骤s106中,针对每个所述信息框,计算第二位置与所述移动轨迹上的预设位置之间的移动距离。

在步骤s107中,计算所述图像中每个所述信息框的移动距离和至少一个所述信息框的代价值的和。

在该步骤中,可以参照步骤s103的方式计算每个所述信息框的移动距离,和图像中至少一个所述信息框的代价值的和。

在步骤s107之后,可以返回执行步骤s104,直至代价值的和满足预设条件。

本发明实施例在所述代价值的和不满足预设条件时,可以模拟每个所述信息框的预设参考点在所述图像中的第二位置,再针对每个所述信息框,计算第二位置与所述移动轨迹上的预设位置之间的移动距离,并计算所述图像中每个所述信息框的移动距离,以及至少一个所述信息框的代价值的和。

本发明实施例提供的该方法,可以在至少一个所述信息框的代价值的和不满足预设条件时,自动为信息框设置与第一位置不同的第二位置,直至至少一个所述信息框的代价值的和满足预设条件,能够保证多个信息框均处于距离预设位置最近的位置,便于用户了解识别对象对应的标注信息。

如图6所示,在本发明的又一实施例中,提供一种信息框显示装置,包括:生成模块11、第一模拟模块12、第一确定模块13和显示模块14。

生成模块11,用于如果检测到图像中存在至少一个待识别的识别对象,为每个所述识别对象分别生成信息框,所述信息框中包含所述识别对象的标注信息;

第一模拟模块12,用于模拟每个所述信息框的预设参考点在所述图像中的第一位置,所述第一位置位于环绕所述信息框对应的识别对象的移动轨迹上,不同所述信息框的显示区域不同;

第一确定模块13,用于针对每个所述信息框,确定第一位置与所述移动轨迹上的预设位置之间的移动距离,并且,根据所述移动距离和预设代价函数确定代价值;

显示模块14,用于在所述图像中至少一个所述信息框的代价值的和满足预设条件时,在每个所述第一位置上分别显示对应的信息框。

在本发明的又一实施例中,所述装置还包括:

第二模拟模块,用于如果所述图像中至少一个所述信息框的代价值的和不满足预设条件,模拟每个所述信息框的预设参考点在所述图像中的第二位置,所述第二位置与第一位置不同;

第一计算模块,用于针对每个所述信息框,计算第二位置与所述移动轨迹上的预设位置之间的移动距离;

第二计算模块,用于计算所述图像中每个所述信息框的移动距离和至少一个所述信息框的代价值的和。

在本发明的又一实施例中,所述装置还包括:

判断模块,用于判断所述代价值的和是否等于预设值,所述预设值为关于移动距离的预设代价函数的最小值;

第二确定模块,用于如果所述代价值的和等于预设值,确定所述代价值的和满足预设条件;

第三确定模块,用于如果所述代价值的和不等于预设值,确定所述代价值的和不满足预设条件。

在本发明的又一实施例中,所述第一模拟模块包括:

获取子模块,用于获取所述图像的显示范围以及当前信息框的边长;

第一确定子模块,用于在所述显示范围内,根据所述当前信息框的边长和所述识别对象的显示区域确定所述当前信息框的移动轨迹;

第二确定子模块,用于在所述移动轨迹中,确定与除当前信息框之外的每个信息框的显示区域不相互重合的位置为第一位置。

在本发明的又一实施例中,所述第一计算模块包括:

计算子模块,用于针对每个所述信息框,按照预设方向计算所述移动轨迹上由所述预设位置至所述第一位置之间的至少一段直线的长度;

第三确定子模块,用于将所述至少一段直线的长度的和确定为所述信息框的移动距离。

图7是本发明又一实施例提供的执行信息框显示方法的电子设备的硬件结构示意图,如图7所示,该设备包括:

一个或多个处理器710以及存储器720,图7中以一个处理器710为例。

执行信息框显示方法的设备还可以包括:输入装置730和输出装置740。

处理器710、存储器720、输入装置730和输出装置740可以通过总线或者其他方式连接,图7中以通过总线连接为例。

存储器720作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的信息框显示方法对应的程序指令/模块(例如,附图6所示的生成模块11、第一模拟模块12、第一确定模块13和显示模块14)。处理器710通过运行存储在存储器720中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例信息框显示方法。

存储器720可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据信息框显示装置的使用所创建的数据等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器720可选包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至信息框显示装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置730可接收输入的数字或字符信息,以及产生与信息框显示装置的用户设置以及功能控制有关的键信号输入。输出装置740可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器720中,当被所述一个或者多个处理器710执行时,执行上述任意方法实施例中的信息框显示方法。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由所附的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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