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

区域抠图方法、电子设备及存储介质

文献发布时间:2024-01-17 01:18:42


区域抠图方法、电子设备及存储介质

技术领域

本申请涉及图像处理技术领域,具体涉及一种区域抠图方法、电子设备及存储介质。

背景技术

抠图是图像处理中的常用操作,可以将图像中需要的部分从整张画面中提取出来,从而为后期合成做准备。当待抠图图像为在特定颜色的纯色背景中拍摄得到的图像时,往往会将待抠图图像中的需要保留的特定颜色的区域视为背景剔除,从而导致抠图效果无法达到预期。例如,待抠图图像为在绿幕环境中进行农产品直播带货时的绿幕图像,对绿幕图像进行抠图时会将绿色农产品视为背景剔除。

发明内容

鉴于以上内容,有必要提出一种区域抠图方法、电子设备及存储介质,能够在抠图时对指定区域进行保护,从而获得完整的前景图像,提高抠图效果。

本申请的实施例提供一种区域抠图方法,所述方法包括:确定待抠图图像的目标区域,生成所述目标区域的掩膜图像;对所述待抠图图像进行抠图,获得第一前景图像对应的第一阿尔法通道;利用所述掩膜图像更新所述第一阿尔法通道图像,获得第二阿尔法通道;利用所述第二阿尔法通道分割所述待抠图图像,获得第二前景图像。

在一个实施例中,所述确定待抠图图像的目标区域包括:确定所述待抠图图像中的目标对象对应的初始区域;对所述初始区域中的像素点进行聚类,选择聚类结果中包含像素点个数最多的类别作为目标类别;当所述目标类别的像素点的主体颜色为目标颜色时,计算所述目标类别的像素点的第一数量与所述初始区域包含的像素点的第二数量的比值;当所述比值大于第一预设阈值时,将所述初始区域作为所述目标区域。

在一个实施例中,当所述待抠图图像包括多张具有时间关联的多张图像时,使用目标跟踪算法对每张待抠图图像中的所述目标区域进行跟踪定位。

在一个实施例中,所述确定所述待抠图图像中的目标对象对应的初始区域包括:对所述待抠图图像中的目标对象进行特征检测,生成所述目标对象的多个候选框,并将所述多个候选框构成的区域作为所述初始区域。

在一个实施例中,所述对所述初始区域中的像素点进行聚类包括:基于所述目标画面的像素点的颜色对所述目标画面的像素点进行聚类。

在一个实施例中,所述方法还包括:计算所述目标类别中所有像素点的平均颜色,并计算所述平均颜色与所述目标颜色的余弦距离,当所述余弦距离小于第二预设阈值时,确定所述目标类别的像素点的主体颜色为所述目标颜色。

在一个实施例中,所述掩膜图像与所述待抠图图像的尺寸一致,所述掩膜图像中所述目标区域的灰度值为1,所述掩膜图像中所述目标区域之外的灰度值为0。

在一个实施例中,所述利用所述掩膜图像更新所述第一阿尔法通道图像包括:对所述掩膜图像与所述第一阿尔法通道进行或运算,将所述第一阿尔法通道中所述目标区域的灰度值更新为1。

本申请的实施例提供一种区域抠图装置,所述装置包括:确定模块、抠图模块、更新模块、分割模块;所述确定模块,用于确定待抠图图像的目标区域,生成所述目标区域的掩膜图像;所述抠图模块,用于对所述待抠图图像进行抠图,获得第一前景图像对应的第一阿尔法通道;所述更新模块,用于利用所述掩膜图像更新所述第一阿尔法通道图像,获得第二阿尔法通道;所述分割模块,用于利用所述第二阿尔法通道分割所述待抠图图像,获得第二前景图像。

本申请的实施例提供一种电子设备,所述电子设备包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述区域抠图方法。

本申请的实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述区域抠图方法。

综上所述,本申请所述的区域抠图方法、电子设备及存储介质,能够确定待抠图图像中需要保留的目标区域,在抠图时对目标区域进行保护,从而获得完整的前景图像,提高抠图效果。

附图说明

图1是本申请实施例提供的电子设备的结构图。

图2是本申请实施例提供的区域抠图方法的流程图。

图3是本申请实施例提供的确定目标区域的流程图。

图4是本申请实施例提供的区域抠图装置的结构图。

具体实施方式

为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施例对本申请进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述在一个实施例中实施例的目的,不是旨在于限制本申请。

需要说明的是,本申请中“至少一个”是指一个或者多个,“多个”是指两个或多于两个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。

在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。

在一个实施例中,抠图是图像处理中的常用操作,指的是将图像中需要的部分从整张画面中提取出来,从而为后期合成做准备。当待抠图图像为在特定颜色的纯色背景中拍摄得到的图像时,往往会将待抠图图像中的需要保留的特定颜色的区域视为背景剔除,从而导致抠图效果无法达到预期。例如,待抠图图像为在绿幕环境中进行农产品直播带货时的绿幕图像,对绿幕图像进行抠图时会将绿色农产品视为背景剔除。

为解决上述问题,本申请实施例提供一种区域抠图方法,能够确定待抠图图像中需要保留的目标区域,在抠图时对目标区域进行保护,从而获得完整的前景图像,提高抠图效果。

例如图1所示,为本申请实施例提供的电子设备的结构图。本申请实施例提供的区域抠图方法由电子设备执行,电子设备上集成本申请实施例的方法所提供的区域抠图的功能,或者以软件开发工具包(Software Development Kit,SDK)的形式运行在电子设备中,所述电子设备可以是计算机、服务器、笔记本电脑、手机终端等设备。

在本申请实施例中,所述电子设备3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。

本领域技术人员应该了解,图1示出的电子设备的结构并不构成本申请实施例的限定,既可以是总线型结构,也可以是星形结构,所述电子设备3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。

在一些实施例中,所述电子设备3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述电子设备3还可包括其他外部设备,例如,键盘、鼠标、遥控器、显示器、触摸板或声控设备等输入输出设备。

需要说明的是,所述电子设备3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本申请,也应包含在本申请的保护范围以内,并以引用方式包含于此。

图2是本申请实施例提供的区域抠图方法的流程图。所述区域抠图方法应用于电子设备中,例如图1中的电子设备1,具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。

S11,确定待抠图图像的目标区域,生成所述目标区域的掩膜图像。

在一个实施例中,所述待抠图图像可以包括一张或多张图像。当所述待抠图图像包括多张图像时,所述待抠图图像可以是属于同一视频中的具有时间关联的多张视频帧,所述时间关联可以是拍摄每张待抠图图像的前后顺序。

所述待抠图图像还可以是在特定颜色的纯色背景中拍摄得到的图像,例如待抠图图像为在绿幕环境中拍摄的图像,还可以是绿幕环境中进行农产品直播带货时的绿幕图像。

在一个实施例中,电子设备可以接收用户输入的待抠图图像,当用户输入的是视频时,电子设备可以在接收视频的同时从视频中获取视频帧,以在后续基于视频帧进行抠图。此外,电子设备还可以与拍摄待抠图图像的摄像装置电连接或通信连接,从而获取所述待抠图图像。

在另一实施例中,电子设备还可以包括摄像装置(例如,摄像头),直接使用摄像装置拍摄得到所述待抠图图像。

在一个实施例中,对待抠图图像进行抠图处理,包括提取待抠图图像中的前景图像。例如,在不同的环境下拍摄的各类对象,也可以是在绿幕环境中拍摄目标对象(例如,人体、农产品等)得到待抠图图像,那么将绿幕对应的绿幕区域作为背景,绿幕区域之外的所述目标对象所在区域的图像即为待抠图图像的前景图像。

在获得所述前景图像的同时还可以获得所述前景图像对应的阿尔法通道(透明通道图),基于所述前景图像与所述前景图像对应的阿尔法通道,能够将所述前景图像合成至任一新的背景中,得到合成图像。其中,前景图像对应的阿尔法通道中目标对象所在区域为不透明区域,其余区域为透明区域,可以使用灰度值描述阿尔法通道中区域的透明度,当灰度值为1时表示不透明,灰度值大于0且小于1时为半透明并且灰度值越接近1透明度越低,灰度值为0时表示完全透明。

在本申请的一个实施例中,抠图原理可以通过如下公式进行说明:

img

其中,img

合成图像的原理可以通过如下公式进行说明:

img′=alpha*img

其中,img′为合成图像,img

在一个实施例中,由于目标对象可能包括需要在抠图时保留的与背景颜色相同的保护对象,例如绿幕环境中的绿色农产品,因此为了避免保护对象所在区域在抠图时被剔除,需要确定保护对象所在的目标区域,对目标区域进行保护。

其中,确定待抠图图像的目标区域的具体流程可以参考下文针对图3所示流程的详细说明。

在一个实施例中,当确定需要保护的目标区域后,可以生成目标区域的掩膜图像,以便于利用掩膜图像对目标区域进行保护。具体地,所述掩膜图像与所述待抠图图像的尺寸一致,所述掩膜图像中所述目标区域的灰度值为1,所述掩膜图像中所述目标区域之外的灰度值为0。生成掩膜图像的方法为本领域常用方法,不再具体说明。

S12,对所述待抠图图像进行抠图,获得第一前景图像对应的第一阿尔法通道。

在一个实施例中,参考步骤S11中的抠图原理,可以利用预设的抠图工具(例如AE软件中的keylight插件)对待抠图图像进行抠图,还可以使用预先训练的抠图模型对待抠图图像进行抠图。例如,所述抠图模型可以采用编码器加解码器的结构,其中编码器用于对待抠图图像进行前景特征提取,解码器用于将编码器提取的前景特征解码为前景图像。

在一个实施例中,由于对待抠图图像抠图时可能将保护对象所在目标区域作为背景剔除,因此第一前景图像中目标区域可能为空白区域,第一阿尔法通道中目标区域可能为透明区域(灰度为0)。若是直接使用第一前景图像与第一阿尔法通道合成新的背景,那么合成图像中会缺少目标区域的保护对象的图像,使得合成效果达不到预期。因此,不能直接将第一前景图像作为合成时使用的前景图像,还要对第一阿尔法通道进行更新。

S13,利用所述掩膜图像更新所述第一阿尔法通道图像,获得第二阿尔法通道。

在一个实施例中,所述利用所述掩膜图像更新所述第一阿尔法通道图像包括:对所述掩膜图像与所述第一阿尔法通道进行或运算,将所述第一阿尔法通道中所述目标区域的灰度值更新为1。

在一个实施例中,由于掩膜图像与待抠图图像的尺寸一致,因此掩膜图像与第一阿尔法通道的尺寸一致。在进行掩膜图像与第一阿尔法通道的或预算后,可以将第一阿尔法通道中所述目标区域的灰度值更新为与掩膜图像中所述目标区域的灰度值相同,即将所述第一阿尔法通道中所述目标区域的灰度值更新为1,而第一阿尔法通道中所述目标区域之外的灰度值不变,从而使第二阿尔法通道中目标区域为不透明区域。

S14,利用所述第二阿尔法通道分割所述待抠图图像,获得第二前景图像。

在一个实施例中,第二阿尔法通道与待抠图图像尺寸一致,利用第二阿尔法通道中的不透明区域的边界分割待抠图图像,实现了对待抠图图像中的前景图像的分割。并且,由于第二阿尔法通道中目标区域为不透明区域,第二阿尔法通道中的不透明区域对应的待抠图图像中的区域即为最终符合用户需求的第二前景图像。

在一个实施例中,用户可以使用第二阿尔法通道与第二前景图像以及新的背景,得到合成新的背景的合成图像,这样合成图像中会包括保护对象对应的目标区域的图像,从而满足用户需求,提高合成效果。

本申请实施例提供的区域抠图方法,能够确定待抠图图像中需要保留的目标区域,在抠图时对目标区域进行保护,从而获得完整的前景图像,提高抠图效果。

在一个实施例中,如图3所示,为本申请实施例提供的确定目标区域的流程图,具体包括如下步骤:

S111,确定所述待抠图图像中的目标对象对应的初始区域。

在一个实施例中,所述确定所述待抠图图像中的目标对象对应的初始区域包括:对所述待抠图图像中的目标对象进行特征检测,生成所述目标对象的多个候选框,并将所述多个候选框构成的区域作为所述初始区域。

在一个实施例中,对目标对象(例如,人体、绿色农产品)进行特征检测的算法包括常用的目标检测算法,例如滑动窗口算法、YOLO(You Only Look Once)算法等。在进行目标对象的检测时,会生成目标对象所在区域的多个候选框(或预测框),所述多个候选框有重叠和不重叠区域,将所有候选框的并集区域作为所述初始区域。

S112,对所述初始区域中的像素点进行聚类,选择聚类结果中包含像素点个数最多的类别作为目标类别。

在一个实施例中,所述对所述初始区域中的像素点进行聚类包括:基于所述目标画面的像素点的颜色对所述目标画面的像素点进行聚类。

在一个实施例中,由于确定目标区域是为了确定与背景同色的保护对象所在区域,所以基于初始区域的像素点的颜色进行像素点的聚类。具体地,对像素点进行聚类的算法包括但不限于K均值聚类算法。

S113,当所述目标类别的像素点的主体颜色为目标颜色时,计算所述目标类别的像素点的第一数量与所述初始区域包含的像素点的第二数量的比值。

在一个实施例中,所述方法还包括:计算所述目标类别中所有像素点的平均颜色,并计算所述平均颜色与所述目标颜色(例如绿色)的余弦距离,当所述余弦距离小于第二预设阈值(例如0.95)时,确定所述目标类别的像素点的主体颜色为所述目标颜色。

在一个实施例中,当所述目标类别的像素点的主体颜色为所述目标颜色时,需要确定初始区域包括的目标颜色的像素点在整个初始区域内所占的比例。当所述目标类别的像素点的主体颜色不是所述目标颜色时,直接将初始作为背景区域,无需进行保护。

S114,当所述比值大于第一预设阈值时,将所述初始区域作为所述目标区域。

在一个实施例中,当初始区域包括的目标颜色的像素点在整个初始区域内所占的比例大于第一预设阈值(例如0.5)时,可以将初始作为目标区域进行保护。当初始区域包括的目标颜色的像素点在整个初始区域内所占的比例小于或等于第一预设阈值(例如0.5)时,可以将初始作为背景区域,无需进行保护。

在一个实施例中,除了上述自动识别目标区域的方法,还可以通过响应用户的操作,将用户选定的区域作为目标区域。例如,用户可以使用鼠标等操作设备直接在待抠图图像中使用多种图形(例如矩形、圆形等)框选保护对象,电子设备响应用户的框选操作,将用户框选区域作为目标区域。

在一个实施例中,除了上述对单张待抠图图像确定目标区域的方法,所述方法还包括:当所述待抠图图像包括多张具有时间关联的多张图像时,使用目标跟踪算法对每张待抠图图像中的所述目标区域进行跟踪定位。所述目标跟踪算法包括但不限于YOLO算法。

在一个实施例中,使用目标跟踪算法可以无需对具有时间关联的多张图像中的每张图像进行目标区域的识别,从而提高对视频流图像的抠图效率。

在一个实施例中,本申请实施例提供的区域抠图方法能够实现自动识别要保护的目标区域,还可以与用户交互,使用用户手动确定的区域作为目标区域,从而实现对目标区域的精准保护。此外,除了能够对单张待抠图图像中的静态保护对象所在目标区域进行识别,还可以对视频流图像中的动态保护对象进行跟踪,从而提高目标区域的识别效率以及抠图效率。

图4是本申请实施例提供的区域抠图装置的结构图。

在一些实施例中,所述区域抠图装置20可以包括多个由计算机程序段所组成的功能模块。所述区域抠图装置20中的各个程序段的计算机程序可以存储于电子设备的存储器中,并由至少一个处理器所执行,以执行(详见图2描述)区域抠图的功能。

本实施例中,所述区域抠图装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:确定模块201、抠图模块202、更新模块203、分割模块204。本申请所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于所述区域抠图装置20的中各个模块的功能实现方式可以参见上文对区域抠图方法的限定,在此不再重复描述。

所述确定模块201,用于确定待抠图图像的目标区域,生成所述目标区域的掩膜图像。

所述抠图模块202,用于对所述待抠图图像进行抠图,获得第一前景图像对应的第一阿尔法通道。

所述更新模块203,用于利用所述掩膜图像更新所述第一阿尔法通道图像,获得第二阿尔法通道。

所述分割模块204,用于利用所述第二阿尔法通道分割所述待抠图图像,获得第二前景图像。

接续上文对图1的介绍,所述存储器31中存储有计算机程序,所述计算机程序被所述至少一个处理器32执行时实现如所述的区域抠图方法中的全部或者部分步骤。所述存储器31包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-OnlyMemory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。

在本申请一实施例中,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器32执行时实现如图2所示的流程。或者,该计算机程序被处理器执行时实现如图4所示的区域抠图装置中各模块/单元的功能,例如图4中的模块201-204。

在一些实施例中,所述至少一个处理器32是所述电子设备3的控制核心(ControlUnit),利用各种接口和线路连接整个电子设备3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行电子设备3的各种功能和处理数据。例如,所述至少一个处理器32执行所述存储器中存储的计算机程序时实现本申请实施例中所述的区域抠图方法的全部或者部分步骤;或者实现区域抠图装置的全部或者部分功能。所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。

在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。

尽管未示出,所述电子设备3还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备3还可以包括多种传感器、蓝牙模块、Wi-Fi模块、摄像装置等,在此不再赘述。

上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。说明书中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。

相关技术
  • 区域配色方法及装置、电子设备、计算机可读存储介质
  • 存储方法、存储系统、电子设备及存储介质
  • 引导电子设备系统开机的方法,电子设备,可读存储介质
  • 电子设备的操作响应方法、电子设备及存储介质
  • 电子设备的显示控制方法、装置、电子设备和存储介质
  • 抠图模型的训练方法、抠图方法、装置、设备及存储介质
  • 图像抠图的方法、装置、电子设备以及存储介质
技术分类

06120116123215