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

用于进行图像分割的方法、装置及计算机可读介质

文献发布时间:2024-04-18 20:00:50


用于进行图像分割的方法、装置及计算机可读介质

技术领域

本申请涉及计算机技术领域,尤其涉及一种用于进行图像分割的方法、设备及计算机可读介质。

背景技术

在对视频帧进行图像分割的场景,例如,视频剪辑工具提供的抠图功能,需要从视频帧中自动识别并分割出画面中的人物或者特定物品等对象。然而,基于现有技术的方案一般在客户端设备中基于图像分割算法完成全部视频帧的图像分割任务,该方式对客户设备的处理能力要求较高,特别是对于动态视频帧的图像分割任务,该方式在计算效率和图像分割精确度的表现可能难以达到要求。

发明内容

本申请的多个方面提供一种进行图像分割的方法、装置及计算机可读介质。

本申请的一方面,提供一种在客户端设备中进行图像分割的方法,其中,所述方法包括:

接收来自服务端设备的初始视频帧的分割结果信息;

根据所述分割结果信息,对所述初始视频帧的一个或多个后续视频帧进行光流计算;

基于光流计算结果来对所述一个或多个后续视频帧的前景区域和背景区域进行分割,以得到所述一个或多个后续视频帧的分割结果信息。

本申请的一方面,提供一种用于在服务端设备中进行图像分割的方法,其中,所述方法包括:

通过对待处理视频的初始视频帧进行图像分割处理,得到相应的分割结果信息,所述图像分割处理用于对初始视频帧的前景和背景进行分割;

将所述分割结果信息发送至客户端设备。

本申请的一方面,提供一种在客户端设备中进行图像分割的第一装置,其中,所述第一装置包括:

用于接收来自服务端设备的初始视频帧的分割结果信息的装置;

用于根据所述分割结果信息,对所述初始视频帧的一个或多个后续视频帧进行光流计算的装置;

用于基于光流计算结果来对所述一个或多个后续视频帧的前景区域和背景区域进行分割,以得到所述一个或多个后续视频帧的分割结果信息的装置。

本申请的一方面,提供一种用于在服务端设备中进行图像分割的第二装置,其中,所述第二装置包括:

用于通过对待处理视频的初始视频帧进行图像分割处理,得到相应的分割结果信息的装置,所述图像分割处理用于对初始视频帧的前景和背景进行分割;

用于将所述分割结果信息发送至客户端设备的装置。

本申请的另一方面,提供一种电子设备,所述电子设备包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行申请实施例的方法。

本申请的另一方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现申请实施例的方法。

本申请实施例提供的方案,由服务端设备对待处理视频的初始视频帧进行图像分割处理并将得到的分割结果信息发送至客户端设备,由客户端设备基于该分割结果信息通过对所述初始视频帧的后续视频帧进行光流计算,进而基于光流计算结果将后续视频帧中的前景区域和背景区域进行分割,该服务端设备和客户端设备相结合进行图像分割的方式,利用了服务端设备的图像分割能力,使得客户端设备在对后续视频帧进行图像分割时以较高的效率获得高质量的图像分割结果;本申请实施例的方法在需要修正分割结果的场景,通过对图像的透明度和前景色进行全局优化处理,使得整个图像的透明度和前景色是一致和平滑的,进而提升复杂边缘场景中分割出的前景边缘的平滑度和准确度。

附图说明

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

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出了本申请实施例提供的一种用于进行图像分割的方法的流程示意图;

图2示出了根据本申请实施例的进行光流计算的流程示意图;

图3示出了本申请实施例提供的用于进行图像分割的第一装置和第二装置的结构示意图;

图4出了根据本申请实施例的用于进行光流计算的第一装置的结构示意图;

图5示出了适用于实现本申请实施例中的方案的一种设备的结构示意图。

附图中相同或相似的附图标记代表相同或相似的部件。

具体实施方式

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

在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机程序指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

图1示出了本申请实施例提供的一种用于进行图像分割的方法的流程示意图。所述方法包括由客户端设备执行的步骤S101至步骤S103,和由服务端设备执行的步骤S201和步骤S202。

在实际场景中,所述方法中的步骤S101至步骤S103的执行主体可以是客户端设备、或者也可以是运行于客户端设备的应用程序,所述客户端设备包括但不限于计算机、手机、平板电脑、智能手表、手环等各类终端设备。所述方法中的步骤S201和步骤S202的执行主体可以是服务端设备、或者也可以是运行于服务端设备的应用程序。所述服务端设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。

在对动态视频帧进行图像分割的场景,根据本申请实施例的服务端设备对待处理视频的初始视频帧进行图像分割处理并将得到的分割结果信息发送至客户端设备。该客户端设备基于初始视频帧的分割结果信息,通过对所述初始视频帧的一个或多个后续视频帧进行光流计算,并基于光流计算结果来估算后续视频帧中的前景和背景并将前景区域和背景区域进行分割,从而得到后续视频帧的分割结果信息。

其中,光流(optical flow)表示空间运动物体在观察成像平面上的像素运动的瞬时速度。光流法是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。通常,将二维图像平面特定坐标点上的灰度瞬时变化率定义为光流矢量。

参照图1,在步骤S201中,服务端设备通过对待处理视频的初始视频帧进行图像分割处理,得到相应的分割结果信息。

其中,所述图像分割处理用于对初始视频帧的前景和背景进行分割。

其中,所述初始视频帧可以是待处理的视频的首帧,也可以是待处理视频中被选中的视频帧。

其中,分割结果信息为初始视频帧的灰度图,所述灰度图包括前景区域和背景区域。可选地,所述灰度图还包括前景的边缘区域。

例如,可将所述灰色图中的白色区域为前景区域,黑色区域作为背景区域,介于白黑间的灰色区域作为边缘区域。

本领域技术人员应熟悉,可通过多种图像分割算法来对初始视频帧进行图像分割处理,本领域技术人员可基于实际需求选择合适的图像分割算法来进行图像分割处理,此处不再赘述。

在步骤S202中,服务端设备将所述分割结果信息发送至客户端设备。

在步骤S101中,客户端设备接收来自服务端设备的初始视频帧的分割结果信息。

在步骤S102中,客户端设备根据所述分割结果信息,对所述初始视频帧的一个或多个后续视频帧进行光流计算。

其中,所述光流计算包括稠密光流计算和稀疏光流计算。其中,所述稠密光流计算的算法计算视频帧的所有像素点的光流值。所述稀疏光流计算的算法仅计算视频帧的部分像素点(比如FAST或SIFT特征角点)的光流值。

根据一个实施例,所述步骤S102包括步骤S1021至步骤S1025。下面结合图2所示的流程图来对本实施例的步骤S102的进行光流计算的过程进行说明。

参照图2,在步骤S1021中,构建当前帧和当前帧的下一帧对应的图像金子塔。其中,所述当前帧当前处理的后续视频帧。

可选地,本实施例的方法还在步骤S1021中初始化其他相关变量,所述相关变量包括但不限于图像的梯度图和积分图等,

在步骤S1022中,基于得到的图像金子塔,迭代循环每一层图像金字塔。

具体地,计算图像的梯度。可选地,使用高斯卷积或sobel或其他边缘检测算子计算输入图像的梯度,为x方向和y方向分别计算梯度;接着,构建图像的积分图。具体地,通过逐行和逐列累加梯度值来构建积分图,为x方向和y方向的梯度分别构建积分图。基于得到的积分图,可获取图像任意矩形区域的梯度总和。

接着,在步骤S1023中,在初始视频帧中逆向搜索与当前帧的一个或多个选定区域相匹配的区域,得到当前帧上的一个或多个选定区域分别在初始视频帧图像上的对应的最匹配区域,从而得到当前帧的稀疏光流场。

具体地,所述方法确定当前帧中的一个或多个选定区域。所述选定区域可以是通过选择操作来在当前帧中选择的窗口或区域。可选地,所述选定区域对应于视频帧中的目标物体的区域,选定区域之外的其他区域对应于视频帧的背景区域。

接着,在初始视频帧中的预定区域内搜索与所述一个或多个选定区域对应的最匹配区域。其中,所述预定区域大于所述选定区域。所述方法可基于方误差或其他相似度度量来确定与所述一个或多个选定区域对应的最匹配区域。

得到所述一个或多个选定区域对应的最匹配区域后,计算选定区域和其对应的最匹配区域的位移。其中,所述位移就是稀疏光流向量的估计。

并且,基于所述最匹配区域,得到当前帧上的一个或多个选定区域分别在初始视频帧图像上的对应的位置,进而得到当前帧的稀疏光流场。

可选地,所述方法将初始视频帧的图像作为源图像,将当前帧的图像作为目标图像,通过计算源图像和目标图像的导数矩阵和二阶导数矩阵,使用导数矩阵和二阶导数矩阵进行迭代优化,以找到最佳的像素映射。

接着,在步骤S1024中,基于当前帧的稀疏光流场,得到当前帧与其前一帧的差异信息。其中,所述差异信息用于指示图像中的像素点的运动向量变化。

接着,在步骤S1025中,基于所述差异信息,确定使用稀疏光流场或稠密光流场作为光流计算结果。

其中,所述当前帧的光流计算结果用于估算当前帧的下一帧的前景和背景。

具体地,如果所述差异信息指示当前帧与上一帧的差异较小,则使用稀疏光流场作为光流计算结果;如果所述差异信息指示当前帧与上一帧的差异较大,则使用稠密光流场作为光流计算结果。

本领域技术人员应熟悉,可通过标准来判断所述当前帧与上一帧的差异,例如基于像素点的运动向量数值的差值等,本领域技术人员可基于实际需求选择合适的标准来判断当前帧与上一帧的差异,此处不再赘述。

根据一个实施例,如果需要使用稠密光流场,所述方法通过以下步骤来将稀疏光流场装换为稠密光流场:

根据稀疏光流场来估计稠密光流场;使用目标插值法来计算下一帧中非特征点的光流,所述目标插值法包括但不限于双线性插值法;对光流向量乘以相应的放大比例,将计算出的光流调整到与原始图像一致的大小,进而得到相应的稠密光流场。

可选地,如果所述差异足够大,则所述方法重新修改光流计算方法中的参数再次进行光流计算。其中,修改参数的处理包括但不限于增大图像金字塔尺度、缩小搜索块大小、增大梯度下降和变分细化的迭代次数等就,从而确保稠密光流估计的准确度。

继续参照图1进行说明,在步骤S103中,基于光流计算结果来对所述一个或多个后续视频帧的前景区域和背景区域进行分割,以得到所述一个或多个后续视频帧的分割结果信息。

其中,所述光流计算结果包括稀疏光流场或稠密光流场。

根据一个实施例,在步骤S103中,所述方法基于光流计算结果,来基于当前处理的后续视频帧的前景/背景和前景/背景对应的疏光流场或稠密光流场来预测该后续视频帧的下一帧的前景/背景,进而对该下一帧的前景区域和背景区域进行分割。

例如,假设当前处理的后续视频帧为第k帧,则在步骤S103中基于第k帧的前景及其对应的稠密光流场来预测第k+1帧中的前景,并基于第k帧的背景及其对应的稀疏光流场来预测第k+1帧中的背景。

根据本申请实施例的方法,由服务端设备对待处理视频的初始视频帧进行图像分割处理并将得到的分割结果信息发送至客户端设备,由客户端设备基于该分割结果信息通过对所述初始视频帧的后续视频帧进行光流计算,进而基于光流计算结果将后续视频帧中的前景区域和背景区域进行分割,该服务端设备和客户端设备相结合进行图像分割的方式,利用了服务端设备的图像分割能力,使得客户端设备在对后续视频帧进行图像分割时以较高的效率获得高质量的图像分割结果。

对于复杂的边缘,例如,头发丝的边缘等,基于光流计算结果分割出的前景边缘的精确度可能不满足预定要求,需要修正分割结果,从而得到更精确的分割结果。

可选地,所述方法可基于用户选择操作来确定需要修正分割结果的一个或多个视频帧。例如,基于光流计算得到待处理视频的所有后续视频帧的分割结果信息后,用户对其中第k帧至第k+n帧中的分割结果不满意,所述方法将用户选择的该第k帧至第k+n帧作为需要修正分割结果的视频帧。

根据一个实施例,在需要修正分割结果的场景,所述步骤S103进一步包括步骤S1031和步骤S1032。

在步骤S1031和步骤S1032之前,本实施例的方法还包括以下步骤:在个需要修正分割结果的视频帧的图像上的每个像素点周围收集前景和背景的候选样本,其中,所述样本可根据颜色、亮度或其他特征进行选择;接着,估计所述图像的透明度和前景色。具体地,使用局部采样来估计每个像素点的透明度和前景色,该过程可通过解一个优化问题来实现,该问题旨在最小化前景、背景和透明度的估计误差。

接着,步骤S1031中,基于预定的图像分割算法对需要修正分割结果的视频帧的图像进行分割,得到相应的修正分割结果,所述修正分割结果包括用于指示图像上的每个像素属于前景或背景的类别信息。

具体地,所述方法创建图,包括图像中的每个像素点以及源节点和汇节点,将图像中的每个像素点连接到其邻近像素点以及源节点和汇节点。

接着,为图中的每条边分配权重,权重可以基于像素之间的颜色差异、梯度、透明度差异等来计算。其中,所述权重用于表示像素之间的相似性或差异性。

接着,使用于预定的图像分割算法来进行图像分割处理,所述图像分割算法的目标是找到一种分割,将图像分为前景和背景,同时最小化分割的总权重。其中,所述图像分割算法包括但不限于最大流最小割算法。

在步骤S1032中,基于所述修正分割结果,更新所述一个或多个视频帧中的目标像素点的像素值。

其中,所述目标像素点可以是视频帧图像中的全部和部分像素点。例如,所述目标像素点可以是位于前景边缘预定范围内的像素点。

具体地,根据所述修正分割结果中每个像素点将被分配的前景类别或背景类别,相应地更新各个目标像素点的像素值,例如透明度或前景色,使得每个目标像素点的像素值与分割结果中被分配的前景类别或背景类别相一致。

根据本实施例的方法,在需要修正分割结果的场景通过对图像的透明度和前景色进行全局优化处理,使得整个图像的透明度和前景色是一致和平滑的,进而提升复杂边缘场景中分割出的前景边缘的平滑度和准确度。

图3出了根据本申请实施例的用于进行图像分割的第一装置和第二装置的结构示意图。其中,所述第一装置包含于客户端设备,所述第二装置包含于服务端设备。

其中,所述第一装置包括:(以下简称“分割结果接收装置101”);(以下简称“光流计算装置102”);(以下简称“光流分割装置103”)。

所述第二装置包括:(以下简称“图像分割装置201”)和用(以下简称“分割结果发送装置202”)。

参照图1,图像分割装置201通过对待处理视频的初始视频帧进行图像分割处理,得到相应的分割结果信息。

其中,所述图像分割处理用于对初始视频帧的前景和背景进行分割。

其中,所述初始视频帧可以是待处理的视频的首帧,也可以是待处理视频中被选中的视频帧。

其中,分割结果信息为初始视频帧的灰度图,所述灰度图包括前景区域和背景区域。可选地,所述灰度图还包括前景的边缘区域。

例如,可将所述灰色图中的白色区域为前景区域,黑色区域作为背景区域,介于白黑间的灰色区域作为边缘区域。

本领域技术人员应熟悉,可通过多种图像分割算法来对初始视频帧进行图像分割处理,本领域技术人员可基于实际需求选择合适的图像分割算法来进行图像分割处理,此处不再赘述。

分割结果发送装置202将所述分割结果信息发送至客户端设备。

分割结果接收装置101接收来自服务端设备的初始视频帧的分割结果信息。

光流计算装置102客户端设备根据所述分割结果信息,对所述初始视频帧的一个或多个后续视频帧进行光流计算。

其中,所述光流计算包括稠密光流计算和稀疏光流计算。其中,所述稠密光流计算的算法计算视频帧的所有像素点的光流值。所述稀疏光流计算的算法仅计算视频帧的部分像素点(比如FAST或SIFT特征角点)的光流值。

根据一个实施例,所述光流计算装置102包括金字塔构建装置1021、迭代循环装置S1022、稀疏光流求解装置1023、差异获取装置1024和光流计算确定装置1025。下面结合图4所示的结构示意图来对本实施例的光流计算装置102的进行光流计算的过程进行说明。

参照图4,金子塔构建装置1021构建当前帧和当前帧的下一帧对应的图像金子塔。其中,所述当前帧当前处理的后续视频帧。

可选地,本实施例的金字塔构建装置1021初始化其他相关变量,所述相关变量包括但不限于图像的梯度图和积分图等,

迭代循环装置1022基于得到的图像金子塔,迭代循环每一层图像金字塔。

具体地,迭代循环装置1022计算图像的梯度。可选地,迭代循环装置1022使用高斯卷积或sobel或其他边缘检测算子计算输入图像的梯度,为x方向和y方向分别计算梯度;接着,迭代循环装置1022构建图像的积分图。具体地,迭代循环装置1022通过逐行和逐列累加梯度值来构建积分图,为x方向和y方向的梯度分别构建积分图。迭代循环装置1022基于得到的积分图,可获取图像任意矩形区域的梯度总和。

接着,稀疏光流求解装置1023在初始视频帧中逆向搜索与当前帧的一个或多个选定区域相匹配的区域,得到当前帧上的一个或多个选定区域分别在初始视频帧图像上的对应的最匹配区域,从而得到当前帧的稀疏光流场。

具体地,稀疏光流求解装置1023确定当前帧中的一个或多个选定区域。所述选定区域可以是通过选择操作来在当前帧中选择的窗口或区域。可选地,所述选定区域对应于视频帧中的目标物体的区域,选定区域之外的其他区域对应于视频帧的背景区域。

接着,稀疏光流求解装置1023在初始视频帧中的预定区域内搜索与所述一个或多个选定区域对应的最匹配区域。其中,所述预定区域大于所述选定区域。所述方法可基于方误差或其他相似度度量来确定与所述一个或多个选定区域对应的最匹配区域。

稀疏光流求解装置1023得到所述一个或多个选定区域对应的最匹配区域后,计算选定区域和其对应的最匹配区域的位移。其中,所述位移就是稀疏光流向量的估计。

并且,稀疏光流求解装置1023基于所述最匹配区域,得到当前帧上的一个或多个选定区域分别在初始视频帧图像上的对应的位置,进而得到当前帧的稀疏光流场。

可选地,稀疏光流求解装置1023将初始视频帧的图像作为源图像,将当前帧的图像作为目标图像,通过计算源图像和目标图像的导数矩阵和二阶导数矩阵,使用导数矩阵和二阶导数矩阵进行迭代优化,以找到最佳的像素映射。

接着,差异获取装置1024基于当前帧的稀疏光流场,得到当前帧与其前一帧的差异信息。其中,所述差异信息用于指示图像中的像素点的运动向量变化。

接着,光流计算确定装置1025基于所述差异信息,确定使用稀疏光流场或稠密光流场作为光流计算结果。

其中,所述当前帧的光流计算结果用于估算当前帧的下一帧的前景和背景。

具体地,如果所述差异信息指示当前帧与上一帧的差异较小,则光流计算确定装置1025使用稀疏光流场作为光流计算结果;如果所述差异信息指示当前帧与上一帧的差异较大,则光流计算确定装置1025使用稠密光流场作为光流计算结果。

本领域技术人员应熟悉,可通过标准来判断所述当前帧与上一帧的差异,例如基于像素点的运动向量数值的差值等,本领域技术人员可基于实际需求选择合适的标准来判断当前帧与上一帧的差异,此处不再赘述。

根据一个实施例,如果需要使用稠密光流场,所述第一装置还包括计算转换装置,所述计算转换装置通过以下操作来将稀疏光流场装换为稠密光流场:

根据稀疏光流场来估计稠密光流场;使用目标插值法来计算下一帧中非特征点的光流,所述目标插值法包括但不限于双线性插值法;对光流向量乘以相应的放大比例,将计算出的光流调整到与原始图像一致的大小,进而得到相应的稠密光流场。

可选地,如果所述差异足够大,则光流计算装置102重新修改光流计算方法中的参数再次进行光流计算。其中,修改参数的处理包括但不限于增大图像金字塔尺度、缩小搜索块大小、增大梯度下降和变分细化的迭代次数等就,从而确保稠密光流估计的准确度。

继续参照图3进行说明光流计算装置103基于光流计算结果来对所述一个或多个后续视频帧的前景区域和背景区域进行分割,以得到所述一个或多个后续视频帧的分割结果信息。

其中,所述光流计算结果包括稀疏光流场或稠密光流场。

根据一个实施例,光流计算装置103基于光流计算结果,来基于当前处理的后续视频帧的前景/背景和前景/背景对应的疏光流场或稠密光流场来预测该后续视频帧的下一帧的前景/背景,进而对该下一帧的前景区域和背景区域进行分割。

例如,假设当前处理的后续视频帧为第k帧,则光流计算装置103基于第k帧的前景及其对应的稠密光流场来预测第k+1帧中的前景,并基于第k帧的背景及其对应的稀疏光流场来预测第k+1帧中的背景。

根据本申请实施例的装置,由服务端设备对待处理视频的初始视频帧进行图像分割处理并将得到的分割结果信息发送至客户端设备,由客户端设备基于该分割结果信息通过对所述初始视频帧的后续视频帧进行光流计算,进而基于光流计算结果将后续视频帧中的前景区域和背景区域进行分割,该服务端设备和客户端设备相结合进行图像分割的方式,利用了服务端设备的图像分割能力,使得客户端设备在对后续视频帧进行图像分割时以较高的效率获得高质量的图像分割结果。

对于复杂的边缘,例如,头发丝的边缘等,基于光流计算结果分割出的前景边缘的精确度可能不满足预定要求,需要修正分割结果,从而得到更精确的分割结果。

可选地,所述第一装置可基于用户选择操作来确定需要修正分割结果的一个或多个视频帧。例如,基于光流计算得到待处理视频的所有后续视频帧的分割结果信息后,用户对其中第k帧至第k+n帧中的分割结果不满意,所述第一装置将用户选择的该第k帧至第k+n帧作为需要修正分割结果的视频帧。

根据一个实施例,在需要修正分割结果的场景,所述光流分割装置103进一步包括修正分割装置和像素更新装置。

在括修正分割装置和像素更新装置的操作之前,本实施例的第一装置还执行以下操作:在个需要修正分割结果的视频帧的图像上的每个像素点周围收集前景和背景的候选样本,其中,所述样本可根据颜色、亮度或其他特征进行选择;接着,估计所述图像的透明度和前景色。具体地,使用局部采样来估计每个像素点的透明度和前景色,该过程可通过解一个优化问题来实现,该问题旨在最小化前景、背景和透明度的估计误差。

接着,修正分割装置基于预定的图像分割算法对需要修正分割结果的视频帧的图像进行分割,得到相应的修正分割结果,所述修正分割结果包括用于指示图像上的每个像素属于前景或背景的类别信息。

具体地,所述修正分割装置创建图,包括图像中的每个像素点以及源节点和汇节点,将图像中的每个像素点连接到其邻近像素点以及源节点和汇节点。

接着,修正分割装置为图中的每条边分配权重,权重可以基于像素之间的颜色差异、梯度、透明度差异等来计算。其中,所述权重用于表示像素之间的相似性或差异性。

接着,修正分割装置使用于预定的图像分割算法来进行图像分割处理,所述图像分割算法的目标是找到一种分割,将图像分为前景和背景,同时最小化分割的总权重。其中,所述图像分割算法包括但不限于最大流最小割算法。

像素更新装置基于所述修正分割结果,更新所述一个或多个视频帧中的目标像素点的像素值。

其中,所述目标像素点可以是视频帧图像中的全部和部分像素点。例如,所述目标像素点可以是位于前景边缘预定范围内的像素点。

具体地,像素更新装置根据所述修正分割结果中每个像素点将被分配的前景类别或背景类别,相应地更新各个目标像素点的像素值,例如透明度或前景色,使得每个目标像素点的像素值与分割结果中被分配的前景类别或背景类别相一致。

根据本实施例的装置,在需要修正分割结果的场景通过对图像的透明度和前景色进行全局优化处理,使得整个图像的透明度和前景色是一致和平滑的,进而提升复杂边缘场景中分割出的前景边缘的平滑度和准确度。

基于同一发明构思,本申请实施例中还提供了一种电子设备,所述电子设备对应的方法可以是前述实施例中的用于进行图像分割的方法,并且其解决问题的原理与该方法相似。本申请实施例提供的所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述本申请的多个实施例的方法和/或技术方案。

所述电子设备可以是用户设备、或者用户设备与网络设备通过网络相集成所构成的设备,或者也可以是运行于上述设备的应用程序,所述用户设备包括但不限于计算机、手机、平板电脑、智能手表、手环等各类终端设备,所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集或基于云计算的计算机集合等实现,可以用于实现设置闹钟时的部分处理功能。在此,云由基于云计算(Cloud Computing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟计算机。

图5示出了适用于实现本申请实施例中的方法和/或技术方案的一种设备的结构,该设备1200包括中央处理单元(CPU,Central Processing Unit)1201,其可以根据存储在只读存储器(ROM,Read Only Memory)1202中的程序或者从存储部分1208加载到随机访问存储器(RAM,Random Access Memory)1203中的程序而执行各种适当的动作和处理。在RAM1203中,还存储有系统操作所需的各种程序和数据。CPU 1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O,Input/Output)接口1205也连接至总线1204。

以下部件连接至I/O接口1205:包括键盘、鼠标、触摸屏、麦克风、红外传感器等的输入部分1206;包括诸如阴极射线管(CRT,Cathode Ray Tube)、液晶显示器(LCD,LiquidCrystal Display)、LED显示器、OLED显示器等以及扬声器等的输出部分1207;包括硬盘、光盘、磁盘、半导体存储器等一个或多个计算机可读介质的存储部分1208;以及包括诸如LAN(局域网,Local Area Network)卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。

特别地,本申请实施例中的方法和/或实施例可以被实现为计算机软件程序。例如,本申请公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在该计算机程序被中央处理单元(CPU)1201执行时,执行本申请的方法中限定的上述功能。

本申请另一实施例还提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现前述本申请的任意一个或多个实施例的方法和/或技术方案。

具体来说,本实施例可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

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

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

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或页面组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

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

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

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一个计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

技术分类

06120116541792