直播场景中获取图像前景区域的方法和装置转让专利

申请号 : CN202110853914.2

文献号 : CN113313730B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 夏洋黎雄兵郝付壮刘声华宋道明

申请人 : 北京微吼时代科技有限公司

摘要 :

本申请涉及一种直播场景中获取图像前景区域的方法和装置,该方法包括:对原始图像帧实施下采样处理,将原始图像帧缩放至缩略图;根据预设的前景分割区域参数对所述缩略图进行前景分割,形成第一前景分割掩模;对所述第一前景分割掩模进行放大处理,形成原始图像帧的掩模;以及将所述原始图像帧与所述原始图像帧的掩模进行点乘运算,获取图像前景区域。根据本发明的方法和装置,通过下采样和预设分割区域的方式,能够快速实现对视频图像帧的快速分割,满足直播场景实时要求。

权利要求 :

1.一种直播场景中获取图像前景区域的方法,其包括:对原始图像帧实施下采样处理,将原始图像帧缩放至缩略图;

对所述缩略图执行运动状态检测,获得所述缩略图中运动像素的比率;

对所述缩略图进行肤色检测,形成第一肤色掩模;

对所述第一肤色掩模进行图像形态学运算,形成第二肤色掩模;

根据预设的前景分割区域参数对所述缩略图进行前景分割,形成第一前景分割掩模;

根据所述第二肤色掩模确定所述第一前景分割掩模中的肤色区域和非肤色区域;

将所述肤色区域设定为前景,形成修正后的第一前景分割掩模;

计算所述修正后的第一前景分割掩模中的前景率;

对所述修正后的第一前景分割掩模执行图像形态学运算,形成第二前景分割掩模;

计算所述修正后的第一前景分割掩模中的前景率相对之前连续多个帧的平均前景率的偏移量;

响应于所述偏移量小于预设偏移值,或者,响应于所述偏移量大于等于预设偏移值在所述缩略图中运动像素的比率大于等于预设比率,将所述第二前景分割掩模确定为当前图像帧前景掩模;否则,将前一帧的第二前景分割掩模确定为当前图像帧前景掩模;

对所述当前图像帧前景掩模进行放大处理,形成原始图像帧的掩模;以及将所述原始图像帧与所述原始图像帧的掩模进行点乘运算,获取图像前景区域。

2.如权利要求1所述的方法,还包括:在所述缩略图中运动像素的比率小于所述预设比率的情况下,根据之前连续多个帧中同一个像素点是前景或背景的概率,对所述当前图像帧前景掩模的相应像素点是前景或背景的概率进行修正。

3.如权利要求1所述的方法,其中,对所述第一前景分割掩模进行放大处理,形成原始图像帧的掩模包括:

对所述当前图像帧前景掩模进行插值处理,形成所述原始图像帧的掩模。

4.如权利要求3所述的方法,还包括:对所述原始图像帧的掩模进行图像形态学处理;

根据经图像形态学处理的掩模的各个连通域占比,剔除低于预设的连通域占比阈值的连通域;以及

在经剔除连通域的掩模的分割边界上进行概率插值。

5.一种直播场景中获取图像前景区域的装置,其包括:缩放单元,用于对原始图像帧实施下采样处理,将原始图像帧缩放至缩略图;

运动状态检测单元,用于对所述缩略图执行运动状态检测,获得所述缩略图中运动像素的比率;

肤色检测单元,用于对所述缩略图进行肤色检测,形成第一肤色掩模;

肤色掩模形态学处理单元,用于对所述第一肤色掩模进行图像形态学运算,形成第二肤色掩模;

前景分割单元,用于根据预设的前景分割区域参数对所述缩略图进行前景分割,形成第一前景分割掩模;

第一确定单元,用于根据所述第二肤色掩模确定所述第一前景分割掩模中的肤色区域和非肤色区域;

第一前景分割掩模形成单元,用于将所述肤色区域设定为前景,形成修正后的第一前景分割掩模;

第一计算单元,用于计算所述修正后的第一前景分割掩模中的前景率;

第二前景分割掩模形成单元,用于对所述修正后的第一前景分割掩模执行图像形态学运算,形成第二前景分割掩模;

第二计算单元,用于计算所述修正后的第一前景分割掩模中的前景率相对之前连续多个帧的平均前景率的偏移量;

第二确定单元,用于响应于所述偏移量小于预设偏移值,或者,响应于所述偏移量大于等于预设偏移值在所述缩略图中运动像素的比率大于等于预设比率,将所述第二前景分割掩模确定为当前图像帧前景掩模;否则,将前一帧的第二前景分割掩模确定为当前图像帧前景掩模;

放大单元,用于对所述当前图像帧前景掩模进行放大处理,形成原始图像帧的掩模;以及

图像前景区域获取单元,用于将所述原始图像帧与所述原始图像帧的掩模进行点乘运算,获取图像前景区域。

6.一种电子设备,包括:

处理器;以及

存储器,存储有计算机指令,当所述计算机指令被所述处理器执行时,使得所述处理器执行权利要求1‑4任一者所述的方法。

7.一种非瞬时性计算机存储介质,存储有计算机程序,当所述计算机程序被多个处理器执行时,使得所述处理器执行权利要求1‑4任一者所述的方法。

说明书 :

直播场景中获取图像前景区域的方法和装置

技术领域

[0001] 本申请涉及在线直播领域,尤其涉及一种直播场景中获取图像前景区域的方法和装置。

背景技术

[0002] 在线课堂或视频直播场景中,会遇到用户基于个人隐私考虑,要对直播间背景进行遮挡的需求,或者因为无绿幕条件,但想更换直播间背景的需求。这在技术上要求对前景
区域进行提取抠图,当前效果较好的主流技术手段基于深度学习类算法。
[0003] 然而,深度学习类模型的训练需要大量高质量标注数据,计算量巨大,对硬件计算性能,尤其是GPU(Graphics Processing Unit,图形处理器)配置提出极高要求,因此大多
在服务器端进行模型部署,且服务器端的模型部署不利于保护用于数据隐私。以阿里人像
抠图AI(Artificial Intelligence,人工智能)模型产品部署要求为例,部署所需GPU配置
要求最低均在NVIDIA GTX 1060以上,直播场景下的普通个人用户PC(Personal Computer,
个人电脑)通常无法达到这样高的硬件要求。

发明内容

[0004] 对于应用于直播场景中的个人用户而言,抠图效果可以不需要完全完美精确,但计算量需要降低至普通个人PC可接受,考虑到这一应用需求,本申请提出一种应用于实时
直播场景,计算量低至可部署于个人PC端的图像前景区域获取技术。
[0005] 本申请提供了一种直播场景中获取图像前景区域的技术方案,在个人PC级用户CPU环境下本地部署的前提下,能够解决一般图像分割算法在高分辨率下单帧视频处理耗
时过长,无法满足直播场景实时要求的问题。
[0006] 根据本发明的第一个方面,提供一种直播场景中获取图像前景区域的方法,其包括:
[0007] 对原始图像帧实施下采样处理,将原始图像帧缩放至缩略图;
[0008] 根据预设的前景分割区域参数对所述缩略图进行前景分割,形成第一前景分割掩模;
[0009] 对所述第一前景分割掩模进行放大处理,形成原始图像帧的掩模;以及
[0010] 将所述原始图像帧与所述原始图像帧的掩模进行点乘运算,获取图像前景区域。
[0011] 根据本发明的第二个方面,提供一种直播场景中获取图像前景区域的装置,其包括:
[0012] 缩放单元,用于对原始图像帧实施下采样处理,将原始图像帧缩放至缩略图;
[0013] 前景分割单元,用于根据预设的前景分割区域参数对所述缩略图进行前景分割,形成第一前景分割掩模;
[0014] 放大单元,用于对所述第一前景分割掩模进行放大处理,形成原始图像帧的掩模;以及
[0015] 图像前景区域获取单元,用于将所述原始图像帧与所述原始图像帧的掩模进行点乘运算,获取图像前景区域。
[0016] 根据本发明的第三个方面,提供一种电子设备,包括:
[0017] 处理器;以及
[0018] 存储器,存储有计算机指令,当所述计算机指令被所述处理器执行时,使得所述处理器执行第一方面所述的方法。
[0019] 根据本发明的第四个方面,提供一种非瞬时性计算机存储介质,存储有计算机程序,当所述计算机程序被多个处理器执行时,使得所述处理器执行第一方面所述的方法。
[0020] 根据本发明所述的直播场景中获取图像前景区域的方法、装置、电子设备和非瞬时性计算机存储介质,首先,通过下采样和预设分割区域的方式,能够快速实现对视频图像
帧的快速分割,满足直播场景实时要求;其次,加入了肤色检测、运动估计等,对分割结果进
行反馈调节,以获取分割结果更高稳定性与帧间一致性;再者,本发明的方案对计算力要求
更低,可以满足个人PC级用户CPU环境下本地部署,且能满足实时性要求;最后,本发明比传
统ML类模型与传统图像分割算法分割准确性更高,且解决了传统分割算法在帧间一致性与
稳定性上表现存在差异的问题。

附图说明

[0021] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于
本领域普通技术人员来讲,还可以根据这些附图获得其他的附图,而并不超出本申请要求
保护的范围。
[0022] 图1是根据本发明实施例的直播场景中获取图像前景区域的方法的流程图。
[0023] 图2 显示了WaterShed+Canny方案的分割效果图。
[0024] 图3显示了K‑Means方案的分割效果图。
[0025] 图4显示了MOG2方案的分割效果图。
[0026] 图5显示了本申请方案的分割效果图。
[0027] 图6显示了Mask‑RCNN的分割效果图。
[0028] 图7是根据本发明实施例的直播场景中获取图像前景区域的装置的示意图。
[0029] 图8是本发明提供的一种电子设备的结构图。

具体实施方式

[0030] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申
请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,
都属于本申请保护的范围。
[0031] 在本申请的方案中,通过对原始图像的进行下采样,将对高分辨率的原始图像的处理转换为对低分辨率的缩略图的处理,并且,根据直播的特点,预设分割区域,能够在个
人PC级用户CPU环境下实现对图像的快速处理;另外,加入了肤色检测、运动估计等,对分割
结果进行反馈调节,以获取分割结果更高稳定性与帧间一致性;并且,对分割后的图像掩模
进行图像形态学运算,增强图像处理后的视觉效果。
[0032] 需要说明的是,本申请中所述的直播场景包括视频直播、在线课堂等实时场景。
[0033] 根据本发明的一个方面,提供一种直播场景中获取图像前景区域的方法。图1是根据本发明实施例的直播场景中获取图像前景区域的方法的流程图。如图1所示,该方法包括
如下步骤。
[0034] 步骤S101,对原始图像帧实施下采样处理,将原始图像帧缩放至缩略图。
[0035] 通过对原始图像帧实施下采样处理,将原始图像帧缩放至缩略图,之后的处理过程是在缩略图的基础上进行的。其中,下采样处理包括三次立方插值算法等。
[0036] 由于将高分辨率的原始图像帧转换为低分辨率的缩略图,降低了图像处理的复杂度和时长。
[0037] 步骤S102,根据预设的前景分割区域参数对所述缩略图进行前景分割,形成第一前景分割掩模。
[0038] 目前存在很多图像分割算法,比较好的图像前景分割算法包括GrabCut算法。
[0039] 1、GrabCut算法概述
[0040] GrabCut是一种基于图切割的图像分割方法,已经在实践中被证明具有良好的效果,并被收入图像处理基础库OpenCV。但由于算法本身特点,在大像素尺寸图像上的计算中
会十分耗时,因此一般无法直接用于实时性要求较高的直播场景。
[0041] 2、GrabCut算法原理
[0042] 从围绕要分割的对象的用户指定的边界框开始,算法使用高斯混合模型估计目标对象和背景的颜色分布。这用于在像素标签上构建马尔可夫随机场,其具有优选具有相同
标签的连接区域的能量函数,并且运行基于图切割的优化以推断它们的值。由于这个估计
可能比边界框中的原始估计更准确,所以重复这个两步程序直到收敛。由于分割过程需要
求解高斯混合模型,像素尺寸越大耗时越高,且这种耗时增长是指数上升的。
[0043] 3、GrabCut算法流程
[0044] (1)用户在当前图像中定义前景矩形区域,矩形区域内部需要包含要分割的前景目标。矩形外部默认为背景区域,矩形内部用默认背景区分前景与背景;
[0045] (2)用高斯混合模型GMM进行前景、背景建模,GMM能够计算出的绝对概率像素区域标记为确定前景、确定背景,未定义的像素区域标记为可能的前景、可能的背景。
[0046] (3)每个像素看作通过虚拟边与周围像素相连,基于与周边像素颜色相似性来调整每条边属于前景、背景的概率。在计算过程中,每个像素均会与一个前景或背景节点相连
接。
[0047] 其中,在(2)(3)两步流程中,GMM针对每个像素做求解,求解的结果是一个[0,1]闭区间上的小数,即该像素点是前景的概率。该概率大于设定阈值时判定为可能的前景,小于
设定阈值时判定为可能的背景。确定前景GMM求解结果为1,确定背景求解结果为0,对于初
始化时候人为设置的外部默认背景区域会自动初始化为0,即认为是确定背景。
[0048] (4)节点完成连接后,若节点之间的边分属于前景、背景,则切断该边,完成此处的分割。
[0049] (5)所有像素均计算完成,则整张图像分割完成。
[0050] 4、GrabCut算法缺陷
[0051] (1)算法本身需要进行交互,划定矩形区域,实时视频直播中不可能逐帧人工交互,需解决初始化前景区域选择问题;
[0052] (2)算法需要对每个像素点进行高斯建模,对于大尺寸图像,计算量是指数上升的,若应用于实时视频直播,则需要解决高分辨率图像计算耗时增大的问题;
[0053] (3)不同帧图像之间切割效果会存在差异,应用于实时视频直播场景会产生帧间差异过大,视觉上会不稳定产生闪烁,实际应用中需要解决此类帧间闪烁问题。
[0054] 可见,GrabCut算法拥有的对大尺寸图像处理耗时以及需要进行交互划定矩形区域的特点,使其不太适用于PC级用户CPU环境和直播场景中。
[0055] 在本申请中,通过将原始图像帧缩放至缩略图,降低了GrabCut算法处理的复杂度,从而减少了处理的时间,方案可以应用在PC级用户CPU环境中;另外,由于在直播的过程
中,绝大多数情况下直播主持人会位于画面中心范围内进行活动,也即前景分割目标到边
缘位置的概率极小,在通过预设的前景分割区域参数告知GrabCut算法运行过程中哪个或
哪些区域为初始化前景区域,例如告知GrabCut算法运行过程中每一原始图像帧的中心范
围的区域为初始化前景区域,因此可以默认框选边缘部分区域为默认背景区域,用于高斯
模型的参数初始化,由于设定了预设的前景分割区域参数,在对每一图像帧进行分割时,
GrabCut算法无需进行交互,从而使得GrabCut算法执行的图像前景区域分割能够应用在直
播环境中。
[0056] 步骤S103,对所述第一前景分割掩模进行插值处理,形成原始图像帧的掩模。
[0057] 在对缩略图进行分割处理后,对分割处理后的第一前景分割掩模进行插值处理,放大到原始图像尺寸,形成原始图像帧的掩模。其中,插值处理包括三次立方插值算法等。
[0058] 直播场景下对实时性要求较高,更快的分割速度比像素级的分割精度更重要,因此在分割前将图像先进行缩放,并进行浮点化,再在缩放后的图像上执行分割,获取一个前
景与背景的概率分布图。此时的概率分布图是缩小的,需要再进行插值放大到原始图像尺
寸。
[0059] 步骤S104,所述原始图像帧与所述原始图像帧的掩模进行点乘运算,获取图像前景区域。
[0060] 原始图像帧与原始图像帧的掩模进行点乘运算,抠取前景图像区域,从而得到图像前景区域。
[0061] 在得到图像前景区域后,可以对该图像前景区域进行各种操作,例如,可以将图像前景区域与背景图像进行叠加,可以获得完成背景替换的输出图像。
[0062] 图1所述的实施例展示了在直播场景中个人PC级用户CPU环境下如何快速分割图像前景区域,满足直播场景实时要求。然而,在图像前景区域分割的过程中,可能还存在一
些问题,例如帧间闪烁、锯齿效应、背景前景过渡突兀等问题。为此,本申请的直播场景中获
取图像前景区域的方法还包括如下步骤。
[0063] 运动状态检测步骤:对所述缩略图执行运动状态检测,获得所述缩略图中运动像素的比率。
[0064] 在通过步骤S101获得缩略图后,可以将缩略图转换到单个通道,从RGB转换到灰度图,对灰度图实施帧差法,对帧差图进行特定阈值参数的高斯滤波,以消除较小运动痕迹的
噪声影响,只监测较大范围的运动。
[0065] 在运动状态检测的过程中,可以对各个像素进行赋值,然后统计非0像素的数量,从而获得缩略图中运动像素的比率。
[0066] 肤色检测步骤:对所述缩略图进行肤色检测,形成第一肤色掩模。
[0067] 在小尺寸图像上进行分割,不可避免会导致精度的下降,在分割中有可能会将人体面部处理为背景,这种问题较为严重,在直播场景中大多将人脸区域默认为前景区域。为
平衡计算量,不进行单独人脸识别,只进行肤色检测,在分割前后需要对肤色区域进行修
正,肤色检测的技术采用了椭圆肤色模型,这是一种基于分裂式K均值聚类的肤色检测方
法,对环境光照变化和噪声干扰等问题有较高的鲁棒性。
[0068] 肤色掩模形态学处理步骤:对所述第一肤色掩模进行图像形态学运算,形成第二肤色掩模。
[0069] 由于进行的是肤色检测,有些非肤色人脸区域如眼睛鼻孔等没有被检测出来,那么对第一肤色掩模进行图像形态学开运算,连通眼睛、鼻孔等非肤色人脸区域,直播过程中
人脸区域应默认为确定前景,形成第二肤色掩模。
[0070] 需要说明的是,运动状态检测步骤和肤色检测步骤是两个独立的处理步骤,二者可以先后执行也可以并列执行。
[0071] 在步骤S102后,对所形成的第一前景分割掩模,在肤色检测和肤色掩模形态学处理的基础上,还进行如下处理:
[0072] S1:根据所述第二肤色掩模确定所述第一前景分割掩模中的肤色区域和非肤色区域;
[0073] S2:将所述肤色区域设定为前景,形成修正后的第一前景分割掩模。
[0074] 在经肤色检测和肤色掩模形态学处理获得第二肤色掩模后,以第二肤色掩模显示的肤色区域和非肤色区域为依据,对前景分割掩模进行修正,使得图像前景分割的结果更
为准确。根据第二肤色掩模确定的第一前景分割掩模中的肤色区,把肤色区域设定为前景,
例如,将肤色区域像素的概率设为1,非肤色区域不做修改,维持第一前景掩模非肤色区域
判定的结果,例如,维持之前非肤色区域像素的概率值。
[0075] 在获得修正后的第一前景分割掩模后,还包括如下处理:
[0076] S3:计算所述修正后的第一前景分割掩模中的前景率。
[0077] 统计修正后的第一前景分割掩模中前景像素的数量,计算得到修正后的第一前景分割掩模中的前景率。
[0078] 在获得修正后的第一前景分割掩模后,还包括如下处理过程:
[0079] S4:对所述修正后的第一前景分割掩模执行图像形态学运算,形成第二前景分割掩模。
[0080] 对修正后的第一前景分割掩模执行图像形态学运算,消除细小连通域,连通人体区域连通域,并进行膨胀运算,扩张修正后的第一前景分割掩模边缘。
[0081] 在获得第二前景分割掩模后,还包括如下处理过程:
[0082] S5:计算所述修正后的第一前景分割掩模中的前景率相对之前连续多个帧的平均前景率的偏移量。
[0083] S6:响应于所述偏移量小于预设偏移值,或者,响应于所述偏移量大于等于预设偏移值且在所述缩略图中运动像素的比率大于等于预设比率,将所述第二前景分割掩模确定
为当前图像帧前景掩模;否则,将前一帧的第二前景分割掩模确定为当前图像帧前景掩模。
[0084] 具体来说,计算前连续多个帧(例如5个帧)的平均前景率,将修正后的第一前景分割掩模中的前景率与该平均前景率进行比较,获得二者的差值,即偏移量,如果差值不大,
小于预设偏移值,或者差值较大,但同时之前的运动状态检测步骤中(缩略图中运动像素的
比率大于等于预设比率)显示差值大是大幅度运动导致的,二者的结果相符,表示当前的分
割结果是可信的,就能够采样第二前景分割掩模。否则,表示当前的分割结果可能存在错
误,那么采用前一帧的前景掩模分割结果。
[0085] 为了进一步减小抖动,也会对运动监测参考前向监测结果,排除部分误检,若几乎无运动,即在所述缩略图中运动像素的比率小于预设比率,则掩模(表现为概率分布图,或
者称为概率掩模)可以不做更新,继续复用上一帧的掩模结果。考虑到直播场景下运动物体
多个帧(例如5帧)之内轮廓变化不会很明显,因此连续帧内一帧计算出的掩模是可以多帧
复用的。此外,在修改后的模型中加入了对时域前向结果概率分布图的记忆,根据时域前向
结果对当前帧的掩模进行修正,使前景与背景随时间的变化更为平滑柔和,视觉上有淡入
淡出的效果。
[0086] 另外,为更精细化处理局部运动,可以将原始图像划分为多个小图像单元,例如采用3*3的九分法,每个小图像单元独立进行运动监测,这样即使某个小单元上运动监测出现
问题,最终的概率分布图也将只影响到该区域,可以更进一步减小时域帧间抖动。
[0087] S7:在所述缩略图中运动像素的比率小于所述预设比率的情况下,根据之前连续多个帧中同一个像素点是前景或背景的概率,对所述当前图像帧前景掩模的相应像素点是
前景或背景的概率进行修正。
[0088] 在所述缩略图中运动像素的比率小于所述预设比率的情况下,表示直播过程中图像变化不大,可以根据之前连续多个帧中同一个像素点是前景或背景的概率,对当前图像
帧前景掩模的相应像素点是前景或背景的概率进行修正,可以对当前图像帧前景掩模的每
个像素点是前景或背景的概率进行修正,从而使得当前图像帧前景掩模的前景或背景的概
率更为准确,且对之后的图像帧的像素点的修正提供了更精确的依据。
[0089] 在对第一前景分割掩模经过S1‑S6的处理确定当前图像帧前景掩模后,步骤S103具体为如下步骤:
[0090] S8:对所述当前图像帧前景掩模进行插值处理,形成所述原始图像帧的掩模。
[0091] 对当前图像帧前景掩模进行插值处理,放大到原始图像尺寸,形成原始图像帧的掩模。
[0092] 在获得原始图像帧的掩模后,还包括如下处理步骤:
[0093] S9:对所述原始图像帧的掩模进行图像形态学处理。
[0094] S10:根据经图像形态学处理的掩模的各个连通域占比,剔除低于预设的连通域占比阈值的连通域。
[0095] S11:在经剔除连通域的掩模的分割边界上进行概率插值。
[0096] 通过步骤S9,消除小连通域,抹平边缘锯齿效应;通过步骤S10,计算各个连通域面积占比,根据经验参数设定阈值,剔除较小连通域;通过S11,在分割边界上进行插值并在边
缘进行概率插值,使最终结果制造出羽化效果。
[0097] 根据本发明所述的直播场景中获取图像前景区域的方法,首先,通过下采样和预设分割区域的方式,能够快速实现对视频图像帧的快速分割,满足直播场景实时要求;其
次,加入了肤色检测、运动估计等,对分割结果进行反馈调节,以获取分割结果更高稳定性
与帧间一致性;再者,本发明的方案对计算力要求更低,可以满足个人PC级用户CPU环境下
本地部署,且能满足实时性要求;最后,本发明比传统ML类模型与传统图像分割算法分割准
确性更高,且解决了传统分割算法在帧间一致性与稳定性上表现存在差异的问题。
[0098] 下面,以具体的测试过程和结果来说明本发明的效果。
[0099] 1. 测试环境与配置说明
[0100] 测试机器配置为Intel(R) Core(TM) i5‑9500 CPU, 8G RAM,无独显。以C++语言搭建算法模型在Windows系统部署。对比算法模型(GrabCut算法原型,深度学习算法Mask‑
RCNN)以同样方式与机器配置进行部署。
[0101] 2. 与传统分割算法对比
[0102] 2.1 分割准确性
[0103] WaterShed、K‑Means、Canny、MOG、MOG2、GMG等经典传统图像分割算法或背景建模方法均无法完成复杂背景环境下的分割。本发明提出的技术分割边缘与表现最好的传统ML
类模型GrabCut原始算法在原图上的分割边缘基本一致,可以保证分割结果的准确性。图2、
图3(K=4)、图4(MOG与MOG2算法只针对运动物体建模)和图5分别显示了WaterShed+Canny、
K‑Means 、MOG2和本申请方案的分割效果图。
[0104] 2.2 计算资源开支
[0105] GrabCut原始算法模型连续处理单张480P图像CPU消耗始终保持在50%以上,本发明中提出的算法处理480P直播视频CPU消耗在20%以下,计算资源开支节省2‑3倍,计算资源
消耗也同样小于WaterShed、K‑Means、Canny、MOG、MOG2、GMG等经典传统图像分割算法。
[0106] 2.3 计算耗时
[0107] GrabCut原始算法模型处理单张480P图像平均耗时在1s以上,只能应用于非实时图像分割,本发明中提出的算法处理480P直播视频单线程单帧处理耗时平均在50ms左右,
可达20fps,计算速度提升50倍以上,可以满足直播实时性需求。
[0108] 3. 与深度学习算法性能对比
[0109] 3.1 分割效果对比
[0110] 在直播场景下,分割准确性差别不大,训练好的Mask‑RCNN分割效果如下,分割边缘准确性与本发明提出的模型基本无差异。图6显示了Mask‑RCNN的分割效果图。
[0111] 3.2 计算开支对比
[0112] 在测试机器配置下,CPU部署的Mask‑RCNN处理480P视频时CPU消耗始终在70%以上,本算法模型处理480P直播视频CPU消耗在20%以下,计算开支节省3‑4倍。
[0113] 3.3 计算耗时
[0114] Mask‑RCNN处理480P视频在该配置相同部署方式下,在测试机器硬件条件下,纯CPU硬件条件下处理480P单帧数据耗时需要40s以上,本算法模型处理480P直播视频单帧耗
时在50ms左右,计算速度提升800倍以上。
[0115] 根据本发明的另一个方面,提供一种直播场景中获取图像前景区域的装置。图7是根据本发明实施例的直播场景中获取图像前景区域的装置的示意图。如图7所示,该装置包
括如下单元。
[0116] 缩放单元701,用于对原始图像帧实施下采样处理,将原始图像帧缩放至缩略图。
[0117] 通过对原始图像帧实施下采样处理,将原始图像帧缩放至缩略图,之后的处理过程是在缩略图的基础上进行的。其中,下采样处理包括三次立方插值的算法、双线性插值和
最近邻插值等。
[0118] 由于将高分辨率的原始图像帧转换为低分辨率的缩略图,降低了图像处理的复杂度和时长。
[0119] 前景分割单元702,用于根据预设的前景分割区域参数对所述缩略图进行前景分割,形成第一前景分割掩模。
[0120] 目前存在很多图像分割算法,比较好的图像前景分割算法包括GrabCut算法。
[0121] GrabCut算法拥有的对大尺寸图像处理耗时以及需要进行交互划定矩形区域的特点,使其不太适用于PC级用户CPU环境和直播场景中。
[0122] 在本申请中,通过将原始图像帧缩放至缩略图,降低了GrabCut算法处理的复杂度,从而减少了处理的时间,方案可以应用在PC级用户CPU环境中;另外,由于在直播的过程
中,绝大多数情况下直播主持人会位于画面中心范围内进行活动,也即前景分割目标到边
缘位置的概率极小,在通过预设的前景分割区域参数告知GrabCut算法运行过程中哪个或
哪些区域为初始化前景区域,例如告知GrabCut算法运行过程中每一原始图像帧的中心范
围的区域为初始化前景区域,因此可以默认框选边缘部分区域为默认背景区域,用于高斯
模型的参数初始化,由于设定了预设的前景分割区域参数,在对每一图像帧进行分割时,
GrabCut算法无需进行交互,从而使得GrabCut算法执行的图像前景区域分割能够应用在直
播环境中。
[0123] 放大单元703,用于对所述第一前景分割掩模进行放大处理,形成原始图像帧的掩模。
[0124] 在对缩略图进行分割处理后,对分割处理后的第一前景分割掩模进行插值处理,放大到原始图像尺寸,形成原始图像帧的掩模。其中,插值处理包括三次立方插值算法等。
[0125] 直播场景下对实时性要求较高,更快的分割速度比像素级的分割精度更重要,因此在分割前将图像先进行缩放,并进行浮点化,再在缩放后的图像上执行分割,获取一个前
景与背景的概率分布图。此时的概率分布图是缩小的,需要再进行插值放大到原始图像尺
寸。
[0126] 图像前景区域获取单元704,用于所述原始图像帧与所述原始图像帧的掩模进行点乘运算,获取图像前景区域。
[0127] 原始图像帧与原始图像帧的掩模进行点乘运算,抠取前景图像区域,从而得到图像前景区域。
[0128] 在得到图像前景区域后,可以对该图像前景区域进行各种操作,例如,可以将图像前景区域与背景图像进行叠加,可以获得完成背景替换的输出图像。
[0129] 图7所述的实施例展示了在直播场景中个人PC级用户CPU环境下如何快速分割图像前景区域,满足直播场景实时要求。然而,在图像前景区域分割的过程中,可能还存在一
些问题,例如帧间闪烁、锯齿效应、背景前景过渡突兀等问题。为此,本申请的直播场景中获
取图像前景区域的装置还包括如下单元。
[0130] 运动状态检测单元:用于对所述缩略图执行运动状态检测,获得所述缩略图中运动像素的比率。
[0131] 在通过缩放单元701获得缩略图后,可以将缩略图转换到单个通道,从RGB转换到灰度图,对灰度图实施帧差法,对帧差图进行特定阈值参数的高斯滤波,以消除较小运动痕
迹的噪声影响,只监测较大范围的运动。
[0132] 在运动状态检测的过程中,可以对各个像素进行赋值,然后统计非0像素的数量,从而获得缩略图中运动像素的比率。
[0133] 肤色检测单元:用于对所述缩略图进行肤色检测,形成第一肤色掩模。
[0134] 在小尺寸图像上进行分割,不可避免会导致精度的下降,在分割中有可能会将人体面部处理为背景,这种问题较为严重,在直播场景中大多将人脸区域默认为前景区域。为
平衡计算量,不进行单独人脸识别,只进行肤色检测,在分割前后需要对肤色区域进行修
正,肤色检测的技术采用了椭圆肤色模型,这是一种基于分裂式K均值聚类的肤色检测方
法,对环境光照变化和噪声干扰等问题有较高的鲁棒性。
[0135] 肤色掩模形态学处理单元:用于对所述第一肤色掩模进行图像形态学运算,形成第二肤色掩模。
[0136] 由于进行的是肤色检测,有些非肤色人脸区域如眼睛鼻孔等没有被检测出来,那么对第一肤色掩模进行图像形态学开运算,连通眼睛、鼻孔等非肤色人脸区域,直播过程中
人脸区域应默认为确定前景,形成第二肤色掩模。
[0137] 需要说明的是,运动状态检测单元和肤色检测单元执行的处理过程是两个独立的处理步骤,二者可以先后执行也可以并列执行。
[0138] 在前景分割单元702的处理之后,对所形成的第一前景分割掩模,在肤色检测和肤色掩模形态学处理的基础上,执行处理的还包括单元:
[0139] 第一确定单元:用于根据所述第二肤色掩模确定所述第一前景分割掩模中的肤色区域和非肤色区域;
[0140] 第一前景分割掩模形成单元:用于将所述肤色区域设定为前景,形成修正后的第一前景分割掩模。
[0141] 在经肤色检测和肤色掩模形态学处理获得第二肤色掩模后,以第二肤色掩模显示的肤色区域和非肤色区域为依据,对前景分割掩模进行修正,使得图像前景分割的结果更
为准确。根据第二肤色掩模确定的第一前景分割掩模中的肤色区,把肤色区域设定为前景,
例如,将肤色区域像素的概率设为1,非肤色区域不做修改,维持第一前景掩模非肤色区域
判定的结果,例如,维持之前非肤色区域像素的概率值。
[0142] 在获得修正后的第一前景分割掩模后,执行处理的还包括:
[0143] 第一计算单元:用于计算所述修正后的第一前景分割掩模中的前景率。
[0144] 统计修正后的第一前景分割掩模中前景像素的数量,计算得到修正后的第一前景分割掩模中的前景率。
[0145] 在获得修正后的第一前景分割掩模后,执行处理的还包括:
[0146] 第二前景分割掩模形成单元:用于对所述修正后的第一前景分割掩模执行图像形态学运算,形成第二前景分割掩模。
[0147] 对修正后的第一前景分割掩模执行图像形态学运算,消除细小连通域,连通人体区域连通域,并进行膨胀运算,扩张修正后的第一前景分割掩模边缘。
[0148] 在获得第二前景分割掩模后,执行处理的还包括:
[0149] 第二计算单元:用于计算所述修正后的第一前景分割掩模中的前景率相对之前连续多个帧的平均前景率的偏移量。
[0150] 第二确定单元:用于响应于所述偏移量小于预设偏移值,或者,响应于所述偏移量大于等于预设偏移值且在所述缩略图中运动像素的比率大于等于预设比率,将所述第二前
景分割掩模确定为当前图像帧前景掩模;否则,将前一帧的第二前景分割掩模确定为当前
图像帧前景掩模。
[0151] 具体来说,计算前连续多个帧(例如5个帧)的平均前景率,将修正后的第一前景分割掩模中的前景率与该平均前景率进行比较,获得二者的差值,即偏移量,如果差值不大,
小于预设偏移值,或者差值较大,但同时之前的运动状态检测过程中(缩略图中运动像素的
比率大于等于预设比率)显示差值大是大幅度运动导致的,二者的结果相符,表示当前的分
割结果是可信的,就能够采样第二前景分割掩模。否则,表示当前的分割结果可能存在错
误,那么采用前一帧的前景掩模分割结果。
[0152] 为了进一步减小抖动,也会对运动监测参考前向监测结果,排除部分误检,若几乎无运动,即在所述缩略图中运动像素的比率小于预设比率,则掩模(表现为概率分布图,或
者称为概率掩模)可以不做更新,继续复用上一帧的掩模结果。考虑到直播场景下运动物体
多个帧(例如5帧)之内轮廓变化不会很明显,因此连续帧内一帧计算出的掩模是可以多帧
复用的。此外,在修改后的模型中加入了对时域前向结果概率分布图的记忆,根据时域前向
结果对当前帧的掩模进行修正,使前景与背景随时间的变化更为平滑柔和,视觉上有淡入
淡出的效果。
[0153] 另外,为更精细化处理局部运动,可以将原始图像划分为多个小图像单元,例如采用3*3的九分法,每个小图像单元独立进行运动监测,这样即使某个小单元上运动监测出现
问题,最终的概率分布图也将只影响到该区域,可以更进一步减小时域帧间抖动。
[0154] 修正单元,用于所述缩略图中运动像素的比率小于所述预设比率的情况下,根据之前连续多个帧中同一个像素点是前景或背景的概率,对所述当前图像帧前景掩模的相应
像素点是前景或背景的概率进行修正。
[0155] 在所述缩略图中运动像素的比率小于所述预设比率的情况下,表示直播过程中图像变化不大,可以根据之前连续多个帧中同一个像素点是前景或背景的概率,对当前图像
帧前景掩模的相应像素点是前景或背景的概率进行修正,可以对当前图像帧前景掩模的每
个像素点是前景或背景的概率进行修正,从而使得当前图像帧前景掩模的前景或背景的概
率更为准确,且对之后的图像帧的像素点的修正提供了更精确的依据。
[0156] 在对第一前景分割掩模经过第一确定单元、第一前景分割掩模形成单元、第一计算单元、第二前景分割掩模形成单元、第二计算单元和第二确定单元的处理确定当前图像
帧前景掩模后,放大单元703还用于:
[0157] 对所述当前图像帧前景掩模进行插值处理,形成所述原始图像帧的掩模。
[0158] 对当前图像帧前景掩模进行插值处理,放大到原始图像尺寸,形成原始图像帧的掩模。
[0159] 在获得原始图像帧的掩模后,执行处理的还包括:
[0160] 图像形态学处理单元:用于对所述原始图像帧的掩模进行图像形态学处理。
[0161] 剔除单元:用于根据经图像形态学处理的掩模的各个连通域占比,剔除低于预设的连通域占比阈值的连通域。
[0162] 插值单元:用于在经剔除连通域的掩模的分割边界上进行概率插值。
[0163] 通过图像形态学处理单元的处理,消除小连通域,抹平边缘锯齿效应;通过剔除单元的处理,计算各个连通域面积占比,根据经验参数设定阈值,剔除较小连通域;通过插值
单元的处理,在分割边界上进行插值并在边缘进行概率插值,使最终结果制造出羽化效果。
[0164] 根据本发明所述的直播场景中获取图像前景区域的装置,首先,通过下采样和预设分割区域的方式,能够快速实现对视频图像帧的快速分割,满足直播场景实时要求;其
次,加入了肤色检测、运动估计等,对分割结果进行反馈调节,以获取分割结果更高稳定性
与帧间一致性;再者,本发明的方案对计算力要求更低,可以满足个人PC级用户CPU环境下
本地部署,且能满足实时性要求;最后,本发明比传统ML类模型与传统图像分割算法分割准
确性更高,且解决了传统分割算法在帧间一致性与稳定性上表现存在差异的问题。
[0165] 参阅图8,图8提供一种电子设备,包括处理器;以及存储器,所述存储器存储有计算机指令,当所述计算机指令被所述处理器执行时,使得所述处理器执行所述计算机指令
时实现如图3所示的方法以及细化方案。
[0166] 应该理解,上述的装置实施例仅是示意性的,本发明披露的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现
时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个
系统,或一些特征可以忽略或不执行。
[0167] 另外,若无特别说明,在本发明各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个以上单元/模块集成在一
起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实
现。
[0168] 所述集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,所述处
理器或芯片可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别
说明,所述片上缓存、片外内存、存储器可以是任何适当的磁存储介质或者磁光存储介质,
比如,阻变式存储器RRAM(Resistive Random Access Memory)、动态随机存取存储器DRAM
(Dynamic Random Access Memory)、静态随机存取存储器SRAM(Static Random‑Access 
Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、 
高带宽内存HBM(High‑Bandwidth Memory)、混合存储立方 HMC(Hybrid Memory Cube)等
等。
[0169] 所述集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质
上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形
式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机
设备(可为个人计算机、服务器或者网络设备等)执行本披露各个实施例所述方法的全部或
部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储
器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介
质。
[0170] 本申请实施例还提供一种非瞬时性计算机存储介质,存储有计算机程序,当所述计算机程序被多个处理器执行时,使得所述处理器执行如图1所示的方法以及细化方案。
[0171] 以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本申请的方法及其核心思想。同
时,本领域技术人员依据本申请的思想,基于本申请的具体实施方式及应用范围上做出的
改变或变形之处,都属于本申请保护的范围。综上所述,本说明书内容不应理解为对本申请
的限制。