掌桥专利:专业的专利平台
掌桥专利
首页

图像主体识别的方法和装置

文献发布时间:2023-06-19 11:42:32


图像主体识别的方法和装置

技术领域

本发明涉及计算机技术领域,尤其涉及一种图像主体识别的方法和装置。

背景技术

图像的主体识别是很多图像算法的前置算法,现阶段的主体识别方法主要有:机器学习,自动标注系统,采用背景减除、二值化等方式实现主体和背景分离。机器学习需要标注数据,这种标注数据主要靠人工完成。自动标注系统通常是半人工处理的,比如人工在图片物体轮廓上选择轮廓点,再由程序根据这些轮廓点生成标注图片。采用背景减除、二值化等方式实现主体和背景分离的集中点大都在于在任何图片上适用。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

人工处理耗费人力、速度慢、对新图像的反应速度不足、往往达不到像素级别;

采用背景减除、二值化等方式实现主体和背景分离的集中点上都在于在任何图片上适用,具有以下缺陷:计算量较大;边缘处理不够精确;无法准确的找出图片真正要突出的主体。

发明内容

有鉴于此,本发明实施例提供一种图像主体识别的方法和装置,能够自动完成图像主体识别,避免由于人工处理而导致的耗费人力、速度慢、对新图像的反应速度不足、往往达不到像素级别等问题。

为实现上述目的,根据本发明实施例的一个方面,提供了一种图像主体识别的方法,包括:

对待处理图片进行区域增长,获取包含非背景的各个增长区域;

在所述待处理图片中设定目标区域,从所述各个增长区域中筛选与所述目标区域存在交集的目标增长区域;所述目标区域用于指示所述待处理图片中主体所在区域的范围;

根据每个所述目标增长区域确定所述待处理图片中的主体图像。

可选地,对待处理图片进行区域增长之前,还包括:按照如下步骤从各个图片中筛选出所述待处理图片:

从所述图片的中心点开始,向一个预设角度的正负方向分别做第一射线,判断第一射线所在直线是否满足预设条件;若是,则以第一射线所在直线作为所述图片的一条主体图像边框;否则,分别沿着(预设角度+90°)和(预设角度-90°)的方向移动两条第一射线,直至移动后第一射线所在直线满足所述预设条件,以移动后每条第一射线所在直线分别作为所述图片的一条主体图像边框;其中,所述预设条件为包括第一射线端点在内的连续背景像素点的数量大于或等于预设数量阈值;

将所述一个预设角度替换为另一个预设角度,然后重复执行上述步骤,直至达到预设停止条件,将所述各个图片中能够达到预设停止条件的图片作为所述待处理图片;

所述预设停止条件为:射线所在直线未被主体像素点阻断、且与其他主体图像边框之间产生两个交集。

可选地,本发明实施例的方法还包括:确定预设主体图像边框的数量,记为M;以180°被M/2等分得到的各个角度作为各个所述预设角度。

可选地,对待处理图片进行区域增长,获取包含非背景的各个增长区域,包括:

从所述待处理图片中查找一个包含非背景的像素点作为非背景像素点,将所述非背景像素点放入第一集合;遍历所述非背景像素点的相邻像素点,将包含非背景的相邻像素点放入所述第一集合;以放入第一集合的相邻像素点作为新的非背景像素点进行增长,直到放入第一集合的非背景像素点的相邻像素点中包含非背景的像素点全部放入第一集合,得到一个增长区域;

将所述待处理图片中与所述增长区域对应的像素点的像素值置为背景像素值,然后执行上述获得所述一个增长区域的步骤,得到另一个增长区域;重复本步骤,直到所述待处理图片中的所有像素点全部被置为背景像素值,得到包含非背景的各个增长区域。

可选地,根据每个所述目标增长区域确定所述待处理图片中的主体图像,包括:

将所述待处理图片中所有像素点的像素值置为背景像素值,然后与所述目标增长区域融合,得到候选图片;

从所述候选图片中查找一个包含背景的像素点作为背景像素点,将所述背景像素点放入第二集合;遍历所述背景像素点的相邻像素点,将包含背景的相邻像素点放入第二集合;以放入第二集合的相邻像素点作为新的背景像素点进行增长,直到放入第二集合的背景像素点的相邻像素点中包含背景的像素点全部放入第二集合,得到背景区域;

将所述候选图片中与所述背景区域对应的像素点滤除,以滤除后每个所述目标增长区域作为一个主体图像。

可选地,本发明实施例的方法还包括:对于任意一个像素点,按照如下步骤判断所述任意一个像素点是非背景像素点还是背景像素点:

确定所述任意一个像素点的RGB值之和,然后判断所述任意一个像素点的RGB值之和与预设误差最低值和预设误差最高值之间的关系;其中,

若所述任意一个像素点的RGB之和小于等于所述预设误差最低值,判定所述任意一个像素点为非背景像素点;

若所述任意一个像素点的RGB之和大于所述预设误差最高值,判定所述任意一个像素点为背景像素点;

若所述任意一个像素点的RGB之和大于所述预设误差最低值、小于等于所述预设误差最高值,则基于所述任意一个像素点的八个相邻像素点的RGB之和对所述预设误差最低值进行调整,得到修正误差最低值;判断所述任意一个像素点的RGB之和是否小于等于所述修正误差最低值,若是,则判定所述任意一个像素点为非背景像素点,否则,判定所述任意一个像素点为背景像素点。

可选地,按照如下公式对所述预设误差最低值进行调整:

Z′=Z+D×Y

式中,Z′代表修正误差最低值,Z代表预设误差最低值,D代表八个相邻像素点的RGB之和,Y代表预设误差增幅。

可选地,根据每个所述目标增长区域确定所述待处理图片中的主体图像之后,还包括:

将所述主体图像与预设背景图像融合,得到与所述待处理图片对应的标注图像样本。

根据本发明实施例的第二方面,提供一种图像主体识别的装置,包括:

区域增长单元,对待处理图片进行区域增长,获取包含非背景的各个增长区域;

主体判定单元,在所述待处理图片中设定目标区域,从所述各个增长区域中筛选与所述目标区域存在交集的目标增长区域;所述目标区域用于指示所述待处理图片中主体所在区域的范围;

主体确定单元,根据每个所述目标增长区域确定所述待处理图片中的主体图像。

可选地,本发明实施例的图片处理装置还包括图片判定单元,用于:对待处理图片进行区域增长之前,按照如下步骤从各个图片中筛选出所述待处理图片:

从所述图片的中心点开始,向一个预设角度的正负方向分别做第一射线,判断第一射线所在直线是否满足预设条件;若是,则以第一射线所在直线作为所述图片的一条主体图像边框;否则,分别沿着(预设角度+90°)和(预设角度-90°)的方向移动两条第一射线,直至移动后第一射线所在直线满足所述预设条件,以移动后每条第一射线所在直线分别作为所述图片的一条主体图像边框;其中,所述预设条件为包括第一射线端点在内的连续背景像素点的数量大于或等于预设数量阈值;

将所述一个预设角度替换为另一个预设角度,然后重复执行上述步骤,直至达到预设停止条件,将所述各个图片中能够达到预设停止条件的图片作为所述待处理图片;

所述预设停止条件为:射线所在直线未被主体像素点阻断、且与其他主体图像边框之间产生两个交集。

可选地,所述图片判定单元还用于:确定预设主体图像边框的数量,记为M;以180°被M/2等分得到的各个角度作为各个所述预设角度。

可选地,所述区域增长单元对待处理图片进行区域增长,获取包含非背景的各个增长区域,包括:

从所述待处理图片中查找一个包含非背景的像素点作为非背景像素点,将所述非背景像素点放入第一集合;遍历所述非背景像素点的相邻像素点,将包含非背景的相邻像素点放入所述第一集合;以放入第一集合的相邻像素点作为新的非背景像素点进行增长,直到放入第一集合的非背景像素点的相邻像素点中包含非背景的像素点全部放入第一集合,得到一个增长区域;

将所述待处理图片中与所述增长区域对应的像素点的像素值置为背景像素值,然后执行上述获得所述一个增长区域的步骤,得到另一个增长区域;重复本步骤,直到所述待处理图片中的所有像素点全部被置为背景像素值,得到包含非背景的各个增长区域。

可选地,所述主体确定单元根据每个所述目标增长区域确定所述待处理图片中的主体图像,包括:

将所述待处理图片中所有像素点的像素值置为背景像素值,然后与所述目标增长区域融合,得到候选图片;

从所述候选图片中查找一个包含背景的像素点作为背景像素点,将所述背景像素点放入第二集合;遍历所述背景像素点的相邻像素点,将包含背景的相邻像素点放入第二集合;以放入第二集合的相邻像素点作为新的背景像素点进行增长,直到放入第二集合的背景像素点的相邻像素点中包含背景的像素点全部放入第二集合,得到背景区域;

将所述候选图片中与所述背景区域对应的像素点滤除,以滤除后每个所述目标增长区域作为一个主体图像。

可选地,所述区域增长单元或所述主体判定单元还用于:

对于任意一个像素点,按照如下步骤判断所述任意一个像素点是非背景像素点还是背景像素点:

确定所述任意一个像素点的RGB值之和,然后判断所述任意一个像素点的RGB值之和与预设误差最低值和预设误差最高值之间的关系;其中,

若所述任意一个像素点的RGB之和小于等于所述预设误差最低值,判定所述任意一个像素点为非背景像素点;

若所述任意一个像素点的RGB之和大于所述预设误差最高值,判定所述任意一个像素点为背景像素点;

若所述任意一个像素点的RGB之和大于所述预设误差最低值、小于等于所述预设误差最高值,则基于所述任意一个像素点的八个相邻像素点的RGB之和对所述预设误差最低值进行调整,得到修正误差最低值;判断所述任意一个像素点的RGB之和是否小于等于所述修正误差最低值,若是,则判定所述任意一个像素点为非背景像素点,否则,判定所述任意一个像素点为背景像素点。

可选地,按照如下公式对所述预设误差最低值进行调整:

Z′=Z+D×Y

式中,Z′代表修正误差最低值,Z代表预设误差最低值,D代表八个相邻像素点的RGB之和,Y代表预设误差增幅。

可选地,本发明实施例的图像主体识别的装置还包括:样本标注单元,用于:根据每个所述目标增长区域确定所述待处理图片中的主体图像之后,将所述主体图像与预设背景图像融合,得到与所述待处理图片对应的标注图像样本。

根据本发明实施例的第三方面,提供一种图像主体识别的电子设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例第一方面提供的方法。

根据本发明实施例的第四方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例第一方面提供的方法。

上述发明中的一个实施例具有如下优点或有益效果:本发明通过区域增长获得增长区域、根据与目标区域存在交集的目标增长区域确定主题图像,能够自动完成图像主体识别,避免由于人工处理而导致的耗费人力、速度慢、对新图像的反应速度不足、往往达不到像素级别等问题。通过在待处理图片中确定目标区域,能够准确的找出图片真正要突出的主体。通过提供的判断方法筛选待处理图片,以及采用提供的区域增长方法和区域增长判断准则,能够降低后续步骤中进行图像主体识别的计算量,提高边缘处理的精确性。通过将确定出的主体图像与预设背景图像融合,能够得到标注图像样本,为机器学习提供样本,避免由于人工标注机器学习的样本而导致的耗费人力、速度慢、对新图像的反应速度不足、往往达不到像素级别等问题。

上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是本发明实施例中图像主体识别的方法的主要流程的示意图;

图2是本发明实施例中筛选待处理图片的方法的主要流程的示意图;

图3是本发明实施例中主图图像边框的示意图;

图4是本发明实施例中对待处理图片进行区域增长的方法的主要流程的示意图;

图5是本发明实施例中区域增长判断准则的示意图;

图6是本发明实施例中对目标增长区域进行反向区域增长的主要流程的示意图;

图7是根据本发明实施例的图像主体识别的装置的主要组成的示意图;

图8是本发明实施例可以应用于其中的示例性系统架构图;

图9是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

根据本发明实施例的一个方面,提供了一种图像主体识别的方法。

图1是本发明实施例中图像主体识别的方法的主要流程的示意图,如图1所示,图像主体识别的方法,包括:

步骤S101、对待处理图片进行区域增长,获取包含非背景的各个增长区域;

步骤S102、在所述待处理图片中设定目标区域,从所述各个增长区域中筛选与所述目标区域存在交集的目标增长区域;所述目标区域用于指示所述待处理图片中主体所在区域的范围;

步骤S103、根据每个所述目标增长区域确定所述待处理图片中的主体图像。

本发明实施例的方法适用于处理纯色底且主体被背景包围的图片。通过区域增长获得增长区域、根据与目标区域存在交集的目标增长区域确定主题图像,能够自动完成图像主体识别,避免由于人工处理而导致的耗费人力、速度慢、对新图像的反应速度不足、往往达不到像素级别等问题。

目标区域的设定依赖于待处理图片的特性。以电商领域的商品展示图片为例,在商品展示图片中,往往会将主体待展示商品放在图像靠近中间的位置。因此,可以在待处理图片的中间区域设置一个目标区域。当然,当主体通常设置在其他待处理图片中的其他位置,例如左上角、右下角等时,可以在待处理图片的对应区域设置一个目标区域。目标区域的大小可以根据实际情况进行选择性确定,例如目标区域的长和宽各设定为待处理图片的长和宽的5%。本步骤中遍历步骤S101得到的所有增长区域,对每个增长区域进行判断,筛选与目标区域有交集的增长区域作为目标增长区域。通常情况下,一个目标增长区域对应一个主体,若出现对应两个或者两个以上主体的情况,可以通过多主体竞选进行筛选。多主体竞选的具体实现方式可以根据实际情况进行选择性确定,此处不再赘述。本发明通过在待处理图片中确定目标区域,能够准确的找出图片真正要突出的主体。

本发明实施例的图像主体识别的方法尤其适用于背景颜色为纯色的待处理图片。可选地,对待处理图片进行区域增长之前,还包括:按照如下步骤从各个图片中筛选出所述待处理图片:

从所述图片的中心点开始,向一个预设角度的正负方向分别做第一射线,判断第一射线所在直线是否满足预设条件;若是,则以第一射线所在直线作为所述图片的一条主体图像边框;否则,分别沿着(预设角度+90°)和(预设角度-90°)的方向移动两条第一射线,直至移动后第一射线所在直线满足所述预设条件,以移动后每条第一射线所在直线分别作为所述图片的一条主体图像边框;其中,所述预设条件为包括第一射线端点在内的连续背景像素点的数量大于或等于预设数量阈值;

将所述一个预设角度替换为另一个预设角度,然后重复执行上述步骤,直至达到预设停止条件,将所述各个图片中能够达到预设停止条件的图片作为所述待处理图片;

所述预设停止条件为:射线所在直线未被主体像素点阻断、且与其他主体图像边框之间产生两个交集。

图2是本发明实施例中筛选待处理图片的方法的主要流程的示意图。对于任意一个图片,按照如下步骤判断其是否可以作为待处理图片:

步骤S201、从所述图片的中心点开始,向第i个预设角度的正负方向做两条第一射线;i代表正整数,初始条件下,i=1;跳转到步骤S202;

步骤S202、判断第一射线所在直线中包含第一射线端点在内的连续背景像素点的数量是否大于或等于预设数量阈值;若是,则跳转到步骤S204;否则,跳转至步骤S203;

步骤S203、沿着(预设角度+90°)的方向移动一条第一射线,沿着(预设角度-90°)的方向移动另一条第一射线,然后跳转至步骤S202;

步骤S204、以第一射线所在直线作为所述图片的一条主体图像边框;跳转到步骤S205;

步骤S205、判断是否达到预设停止条件;若是,则跳转至步骤S206;否则,i+1,然后跳转至步骤S201;

步骤S206、判断该图片可以作为待处理图片,流程结束。

背景像素点是指包含背景的像素点。基于具有纯色背景的待处理图片进行图像主体识别,能够降低后续步骤中进行图像主体识别的计算量,大大提高识别速度。基于具有纯色背景的待处理图片进行图像主体识别进而得到标注图像样本,能够大大提高标注样本的速度和使标注图像样本达到像素级别。

预设角度的大小以及数量可以根据实际情况进行选择性确定。例如,预设角度为4个,分别为0°,90°,45°,135°。可选地,本发明实施例的图片处理方法还包括:确定预设主体图像边框的数量,记为M;以180°被M/2等分得到的各个角度作为各个所述预设角度。示例性地,预设主体图像边框的数量X=8,X/2=4,所以预设角度为180°被4等分的0°、90°、45°、135°。

如果预设主体图像边框的数量增大,并去掉图2所示筛选流程中的停止条件,能够将主体图像的边界确定到更接近主体图像本身。但是由于主体的不规则性,无法完全拟合主体图像边界。如果只是增大预设主体图像边框的数量而不去掉图2所示筛选流程中的停止条件,能够筛选出更多待处理图片,但是基于筛选得到的待处理图片进行主体识别和标注的计算量也会增加。

本发明通过筛选确定一个图片是否可以作为本实施例中的待处理图片进行后续的主体图像识别和标注,为了降低计算量,可以将预设主体图像边框的数量设置为一个较小的值,例如8,从而使得能在很小计算量的情况下确定相当数量的待处理图片。

通过等分的方式确定各个预设角度,便于调节实际边框数量。需要说明的是,本例中虽然确定了预设主体图像边框的数量,但是不代表最终得到的主体图像边框数量就是此预设数量。在基于图2所示的方法进行筛选时,若达到预设停止条件,即使得到的主体图像边框数量小于此预设数量,流程也会停止。

图3是本发明实施例中主图图像边框的示意图,图中,A1、A2、A3、A4和A5分别代表一个主体图像边框。本例中,向0°的正负方向做射线,形成向0°+90°=90°方向平移和向0°-90°=-90°方向平移形成的两条主体图像边框,记做A1、A2。向90°的正负方向做射线,形成向90°+90°=180°方向平移和向90°-90°=0°方向平移形成的两条主体图像边框,记做A3、A4。此时A1和A3分别被图片中的主体像素点所阻断,没能和其他主体图像边框形成两个交集。所以在45°的正负方向上再做下一条射线,向45°+90°=135°方向平移形成一条主体图像边框,记做A5。此时,A1、A2、A3、A4、A5中的每一条均和其他两条主体图像边框形成了交集,达到停止条件,退出循环,该图片中的主体判断为能被背景包围,可以作为待处理图片。

可选地,对待处理图片进行区域增长,获取包含非背景的各个增长区域,包括:

从所述待处理图片中查找一个包含非背景的像素点作为非背景像素点,将所述非背景像素点放入第一集合;遍历所述非背景像素点的相邻像素点,将包含非背景的相邻像素点放入所述第一集合;以放入第一集合的相邻像素点作为新的非背景像素点进行增长,直到放入第一集合的非背景像素点的相邻像素点中包含非背景的像素点全部放入第一集合,得到一个增长区域;

将所述待处理图片中与所述增长区域对应的像素点的像素值置为背景像素值,然后执行上述获得所述一个增长区域的步骤,得到另一个增长区域;重复本步骤,直到所述待处理图片中的所有像素点全部被置为背景像素值,得到包含非背景的各个增长区域。

图4是本发明实施例中对待处理图片进行区域增长的方法的主要流程的示意图,如图4所示,进行区域增长的主要流程为:

步骤S401、从所述待处理图片中查找一个包含非背景的像素点作为非背景像素点,将所述非背景像素点放入第一集合;跳转至步骤S402;

步骤S402、遍历所述非背景像素点的相邻像素点,将包含非背景的相邻像素点放入所述第一集合;跳转至步骤S403;

步骤S403、以放入第一集合的相邻像素点作为新的非背景像素点;跳转至步骤S404;

步骤S404、判断相邻像素点中包含非背景的像素点是否全部放入第一集合;若是,则跳转至步骤S405;否则,跳转至步骤S402;

步骤S405、判断所述待处理图片中的所有像素点是否全部被置为背景像素值;若是,则跳转至步骤S406;否则,x+1,跳转至步骤S401;

步骤S406、得到包含非背景的各个增长区域。

非背景像素点是指除背景像素点以外的像素点。实际应用过程中,当判定一个像素点不是背景像素点时,即可判定该像素点为非背景像素点。背景像素点是指包含背景的像素点。背景像素值是指背景像素点的像素值。每个第一集合中形成的区域为一个增长区域,每个增长区域对应一个主体。本发明提供的区域增长方法,能够查找出所有包含非背景的增长区域。

可选地,如图6所示,对于每个目标增长区域,根据该目标增长区域确定所述待处理图片中的主体图像,包括:

步骤S601、将所述待处理图片中所有像素点的像素值置为背景像素值,然后与所述目标增长区域融合,得到候选图片;

步骤S602、从所述候选图片中查找一个包含背景的像素点作为背景像素点,将所述背景像素点放入第二集合;

步骤S603、遍历所述背景像素点的相邻像素点,将包含背景的相邻像素点放入第二集合;

步骤S604、以放入第二集合的相邻像素点作为新的背景像素点;

步骤S605、判断放入第二集合的背景像素点的相邻像素点中,包含背景的像素点是否全部放入第二集合;若是,则得到背景区域,然后跳转至步骤S606;否则,跳转至步骤S603;

步骤S606、将所述候选图片中与各个所述背景区域对应的像素点滤除,以滤除后每个所述候选图片作为一个主体图像,流程结束。

本发明通过反向区域增长,能够去除候选图片中的背景像素点,进一步提高边缘处理的精确性。

可选地,对于任意一个像素点,按照如下步骤判断所述任意一个像素点是非背景像素点还是背景像素点:

确定所述任意一个像素点的RGB值之和,然后判断所述任意一个像素点的RGB值之和与预设误差最低值和预设误差最高值之间的关系;其中,

若所述任意一个像素点的RGB之和小于等于所述预设误差最低值,判定所述任意一个像素点为非背景像素点;

若所述任意一个像素点的RGB之和大于所述预设误差最高值,判定所述任意一个像素点为背景像素点;

若所述任意一个像素点的RGB之和大于所述预设误差最低值、小于等于所述预设误差最高值,则基于所述任意一个像素点的八个相邻像素点的RGB之和对所述预设误差最低值进行调整,得到修正误差最低值;判断所述任意一个像素点的RGB之和是否小于等于所述修正误差最低值,若是,则判定所述任意一个像素点为非背景像素点,否则,判定所述任意一个像素点为背景像素点。

预设误差最低值和预设误差最高值的取值可以根据实际情况进行选择性确定,此处不再赘述。本发明通过上述区域增长判断准则,能够准确判断某个像素点是主体像素点还是背景像素点,提高边缘处理的精确性。

可选地,按照如下公式对所述预设误差最低值进行调整:

Z′=Z+D×Y

式中,Z′代表修正误差最低值,Z代表预设误差最低值,D代表八个相邻像素点的RGB之和,Y代表预设误差增幅。

示例性地,如图5所示,确定一个像素点是否为非背景像素点的步骤包括:

步骤S501、确定所述一个像素点的RGB值之和,记为C;

步骤S502、判断所述一个像素点的RGB值之和C与预设误差最低值(记为Z)和预设误差最高值(记为X)之间的关系;若C>X,跳转至步骤S503;若C≤Z,跳转至步骤S504;若Z<C小于等于X,跳转至步骤S505;

步骤S503、判定所述一个像素点为背景像素点;

步骤S504、判定所述一个像素点为非背景像素点;

步骤S505、Z′=Z+D×Y,然后跳转至步骤S506;

步骤S506、判断C≤Z′是否成立;若是,则跳转至步骤S507;否则,跳转至步骤S508;

步骤S507、判定所述一个像素点为非背景像素点;

步骤S508、判定所述一个像素点为背景像素点。

通过基于八个相邻像素点的RGB之和对预设误差最低值进行调整,能够提高主体识别的准确率以及边缘处理的精确性。

可选地,根据每个所述目标增长区域确定所述待处理图片中的主体图像之后,还包括:将所述主体图像与预设背景图像融合,得到与所述待处理图片对应的标注图像样本。进行图像融合时,可以将主题图像缩小到指定并且小于预设背景图像的大小。然后选定预设背景图像上的待融合区域,将待融合区域中与主体图像对应的像素点的像素值替换为主题图像上对应像素点的像素值。保留主体图像在融合后的图像中所占的所有像素位置为标注数据,再加上融合而成的标注图像样本,就是可以作为机器学习样本的标注数据。

与现有技术中采用人工方式标注样本相比,本发明能够自动完成图像主体识别,避免由于人工处理而导致的耗费人力、速度慢、对新图像的反应速度不足、往往达不到像素级别等问题,提高边缘处理的精确性。

本发明实施例中用于筛选待处理图片的各个图片可以是电商领域中的商品展示图片。虽然本发明实施不是以所有图片作为待处理图片,而是从各个图片中筛选出述待处理图片,但是电商领域中商品展示图片往往是海量的(十亿甚至百亿级别),即便是对同一商品,往往有多个电商平台在卖,不同电商平台对商品展示图片进行不同的处理。即便100张中只有一张适合,筛选出的待处理图片经处理后的标注数据也远远大于机器学习所需要的标注量。另外,由于电商领域中对商品展示图片所做的处理可以在像素级别体现出了,使得不需要例如渐进、梯度、局部最大或者卷积等大量运算也能找到图片边界,从而可以降低图像主体识别的计算量,提高识别和标注速度。一张商品展示图片往往主要展示1到2种商品,使得确定要筛选出的主体变得异常简单。商品展示图片中主要体现的商品往往被人为放置在图片中央,便于准确找出图片要表达的主体。

根据本发明实施例的第二方面,提供一种实现上述方法的装置。

图7是根据本发明实施例的图像主体识别的装置的主要组成的示意图。如图7所示,图像主体识别的装置700包括:

区域增长单元701,对待处理图片进行区域增长,获取包含非背景的各个增长区域;

主体判定单元702,在所述待处理图片中设定目标区域,从所述各个增长区域中筛选与所述目标区域存在交集的目标增长区域;所述目标区域用于指示所述待处理图片中主体所在区域的范围;

主体确定单元703,根据每个所述目标增长区域确定所述待处理图片中的主体图像。

可选地,本发明实施例的图片处理装置还包括图片判定单元,用于:对待处理图片进行区域增长之前,按照如下步骤从各个图片中筛选出所述待处理图片:

从所述图片的中心点开始,向一个预设角度的正负方向分别做第一射线,判断第一射线所在直线是否满足预设条件;若是,则以第一射线所在直线作为所述图片的一条主体图像边框;否则,分别沿着(预设角度+90°)和(预设角度-90°)的方向移动两条第一射线,直至移动后第一射线所在直线满足所述预设条件,以移动后每条第一射线所在直线分别作为所述图片的一条主体图像边框;其中,所述预设条件为包括第一射线端点在内的连续背景像素点的数量大于或等于预设数量阈值;

将所述一个预设角度替换为另一个预设角度,然后重复执行上述步骤,直至达到预设停止条件,将所述各个图片中能够达到预设停止条件的图片作为所述待处理图片;

所述预设停止条件为:射线所在直线未被主体像素点阻断、且与其他主体图像边框之间产生两个交集。

可选地,所述图片判定单元还用于:确定预设主体图像边框的数量,记为M;以180°被M/2等分得到的各个角度作为各个所述预设角度。

可选地,所述区域增长单元对待处理图片进行区域增长,获取包含非背景的各个增长区域,包括:

从所述待处理图片中查找一个包含非背景的像素点作为非背景像素点,将所述非背景像素点放入第一集合;遍历所述非背景像素点的相邻像素点,将包含非背景的相邻像素点放入所述第一集合;以放入第一集合的相邻像素点作为新的非背景像素点进行增长,直到放入第一集合的非背景像素点的相邻像素点中包含非背景的像素点全部放入第一集合,得到一个增长区域;

将所述待处理图片中与所述增长区域对应的像素点的像素值置为背景像素值,然后执行上述获得所述一个增长区域的步骤,得到另一个增长区域;重复本步骤,直到所述待处理图片中的所有像素点全部被置为背景像素值,得到包含非背景的各个增长区域。

可选地,所述主体确定单元根据每个所述目标增长区域确定所述待处理图片中的主体图像,包括:

将所述待处理图片中所有像素点的像素值置为背景像素值,然后与所述目标增长区域融合,得到候选图片;

从所述候选图片中查找一个包含背景的像素点作为背景像素点,将所述背景像素点放入第二集合;遍历所述背景像素点的相邻像素点,将包含背景的相邻像素点放入第二集合;以放入第二集合的相邻像素点作为新的背景像素点进行增长,直到放入第二集合的背景像素点的相邻像素点中包含背景的像素点全部放入第二集合,得到背景区域;

将所述候选图片中与所述背景区域对应的像素点滤除,以滤除后每个所述目标增长区域作为一个主体图像。

可选地,所述区域增长单元或所述主体判定单元还用于:对于任意一个像素点,按照如下步骤判断所述任意一个像素点是非背景像素点还是背景像素点:

确定所述任意一个像素点的RGB值之和,然后判断所述任意一个像素点的RGB值之和与预设误差最低值和预设误差最高值之间的关系;其中,

若所述任意一个像素点的RGB之和小于等于所述预设误差最低值,判定所述任意一个像素点为非背景像素点;

若所述任意一个像素点的RGB之和大于所述预设误差最高值,判定所述任意一个像素点为背景像素点;

若所述任意一个像素点的RGB之和大于所述预设误差最低值、小于等于所述预设误差最高值,则基于所述任意一个像素点的八个相邻像素点的RGB之和对所述预设误差最低值进行调整,得到修正误差最低值;判断所述任意一个像素点的RGB之和是否小于等于所述修正误差最低值,若是,则判定所述任意一个像素点为非背景像素点,否则,判定所述任意一个像素点为背景像素点。

可选地,所述区域增长单元或所述主体判定单元按照如下公式对所述预设误差最低值进行调整:

Z′=Z+D×Y

式中,Z′代表修正误差最低值,Z代表预设误差最低值,D代表八个相邻像素点的RGB之和,Y代表预设误差增幅。

可选地,本发明实施例的图像主体识别的装置还包括:样本标注单元,用于:根据每个所述目标增长区域确定所述待处理图片中的主体图像之后,将所述主体图像与预设背景图像融合,得到与所述待处理图片对应的标注图像样本。

根据本发明实施例的第三方面,提供一种图像主体识别的电子设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例第一方面提供的方法。

根据本发明实施例的第四方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例第一方面提供的方法。

图8示出了可以应用本发明实施例的图像主体识别的方法或图像主体识别的装置的示例性系统架构800。

如图8所示,系统架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。

终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。

需要说明的是,本发明实施例所提供的图像主体识别的方法一般由服务器805执行,相应地,图像主体识别的装置一般设置于服务器805中。

应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

下面参考图9,其示出了适于用来实现本发明实施例的终端设备的计算机系统900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图9所示,计算机系统900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有系统900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。

以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。

特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明的系统中限定的上述功能。

需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括:区域增长单元,对待处理图片进行区域增长,获取包含非背景的各个增长区域;主体判定单元,在所述待处理图片中设定目标区域,从所述各个增长区域中筛选与所述目标区域存在交集的目标增长区域;所述目标区域用于指示所述待处理图片中主体所在区域的范围;主体确定单元,根据每个所述目标增长区域确定所述待处理图片中的主体图像。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,区域增长单元还可以被描述为“根据每个所述目标增长区域确定所述待处理图片中的主体图像的单元”。

作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:对待处理图片进行区域增长,获取包含非背景的各个增长区域;在所述待处理图片中设定目标区域,从所述各个增长区域中筛选与所述目标区域存在交集的目标增长区域;所述目标区域用于指示所述待处理图片中主体所在区域的范围;根据每个所述目标增长区域确定所述待处理图片中的主体图像。

根据本发明实施例的技术方案,通过区域增长获得增长区域、根据与目标区域存在交集的目标增长区域确定主题图像,能够自动完成图像主体识别,避免由于人工处理而导致的耗费人力、速度慢、对新图像的反应速度不足、往往达不到像素级别等问题。通过在待处理图片中确定目标区域,能够准确的找出图片真正要突出的主体。通过提供的判断方法筛选待处理图片,以及采用提供的区域增长方法和区域增长判断准则,能够降低后续步骤中进行图像主体识别的计算量,提高边缘处理的精确性。通过将确定出的主体图像与预设背景图像融合,能够得到标注图像样本,为机器学习提供样本,避免由于人工标注机器学习的样本而导致的耗费人力、速度慢、对新图像的反应速度不足、往往达不到像素级别等问题。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

相关技术
  • 基于图像特征的图像主体的识别方法
  • 一种基于主体的国画图像和书法图像的识别方法
技术分类

06120113021959