一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像处理方法、装置、设备及存储介质与流程

2021-10-29 20:05:00 来源:中国专利 TAG:人工智能 图像处理 装置 特别 方法


1.本技术涉及人工智能技术领域,特别涉及一种图像处理方法、装置、设备及存储介质。


背景技术:

2.随着计算机技术的发展,图像处理越来越普遍。其中,抠图(image matting)是一种应用非常广泛的图像处理技术,具体指的是,将图像中的前景区域从图像中的背景区域中分离出来。
3.在相关技术中,通常采用分割(segmentation)的方法实现抠图,具体是对图像中的每一个像素点进行分类,从而获取各个不同类别的块状分割结果,由此得到图像中的前景区域,比如人像区域,或者建筑区域等。
4.然而,采用上述方法,对于每个像素点都会给出一个固定的分类,容易造成前景区域的边缘较为粗糙,导致抠图效果较差。


技术实现要素:

5.本技术实施例提供了一种图像处理方法、装置、设备及存储介质,能够得到效果精细且自然的抠图图像,且极大提高了抠图效率。该技术方案如下:
6.一方面,提供了一种图像处理方法,该方法包括:
7.对原始图像进行图像语义分割,得到第一图像、第二图像以及第三图像,该第一图像包括该原始图像中目标对象所在的前景区域,该第二图像包括该目标对象的头发区域,该第三图像包括该目标对象的脸部区域;
8.基于该第一图像、该第二图像以及该第三图像,生成目标三元图,该目标三元图包括该前景区域和画线区域,该画线区域是通过在该前景区域的轮廓线上绘制线条得到的;该前景区域的不同子区域对应不同的线条宽度;
9.基于该目标三元图,对该原始图像进行抠图处理,得到包括该目标对象的目标图像。
10.在一种可选地实现方式中,该对原始图像进行图像语义分割,得到第一图像、第二图像以及第三图像,包括:
11.获取该原始图像;
12.将该原始图像输入到图像分割模型中,其中,该图像分割模型用于根据输入的该原始图像,对该原始图像中每个像素点的语义类别进行计算,以输出该原始图像的至少一个图像;
13.获取该图像分割模型输出的该第一图像、该第二图像以及该第三图像。
14.在一种可选地实现方式中,该基于该目标三元图,获取该原始图像中各个像素点的透明度,包括:
15.将该目标三元图和该原始图像输入到抠图模型中,该抠图模型用于根据输入的该
目标三元图和该原始图像,对该原始图像中每个像素点属于该目标图像的概率进行计算,以输出该透明度;
16.获取该抠图模型输出的该透明度。
17.另一方面,提供了一种图像处理装置,该装置包括:
18.图像分割模块,用于对原始图像进行图像语义分割,得到第一图像、第二图像以及第三图像,该第一图像包括该原始图像中目标对象所在的前景区域,该第二图像包括该目标对象的头发区域,该第三图像包括该目标对象的脸部区域;
19.三元图生成模块,用于基于该第一图像、该第二图像以及该第三图像,生成目标三元图,该目标三元图包括该前景区域和画线区域,该画线区域是通过在该前景区域的轮廓线上绘制线条得到的;该前景区域的不同子区域对应不同的线条宽度;
20.抠图模块,用于基于该目标三元图,对该原始图像进行抠图处理,得到包括该目标对象的目标图像。
21.在一种可选地实现方式中,该三元图生成模块包括:
22.第一生成单元,用于基于该第一图像和该第二图像,生成第一三元图,该第一三元图包括该前景区域、第一画线子区域和第二画线子区域;
23.其中,该第一画线子区域覆盖在该头发区域靠近背景区域一侧的轮廓线上,该第二画线子区域覆盖在其他区域的轮廓线上,该其他区域为该前景区域中除了该头发区域之外的区域;第一线条宽度大于第二线条宽度,该第一线条宽度用于绘制该第一画线子区域,该第二线条宽度用于绘制该第二画线子区域;
24.第二生成单元,用于基于该第三图像和该第一三元图,生成该目标三元图。
25.在一种可选地实现方式中,该第一生成单元用于:
26.在该第一图像中,获取该前景区域的完整轮廓线;
27.按照该第二线条宽度,在该前景区域的完整轮廓线上绘制线条,得到第二三元图;其中,该第二三元图包括该前景区域和第三画线子区域,该第三画线子区域覆盖在该前景区域的完整轮廓线上;
28.在该第二图像中,获取该头发区域的完整轮廓线;
29.按照该第一线条宽度,在该头发区域的完整轮廓线上绘制线条,得到第三三元图;其中,该第三三元图包括该头发区域和第四画线子区域,该第四画线子区域覆盖在该头发区域的完整轮廓线上;
30.对该第二三元图和该第三三元图进行合并处理,得到该第一三元图。
31.在一种可选地实现方式中,该第一线条宽度为该第二线条宽度的m倍,m大于1。
32.在一种可选地实现方式中,该第一生成单元还用于:
33.获取该第二三元图中各个像素点的第一标识值,该第一标识值用于标识该第二三元图中像素点的颜色;
34.获取该第三三元图中各个像素点的第二标识值,该第二标识值用于标识该第三三元图中像素点的颜色;
35.基于该第一标识值和该第二标识值之间的大小关系,生成该第一三元图。
36.在一种可选地实现方式中,该第一生成单元还用于:
37.将该第二三元图中任意位置上像素点的第一标识值,与该第三三元图中相同位置
上像素点的第二标识值进行比较;
38.将该第一标识值和该第二标识值中的最大者,作为该第一三元图中相同位置上像素点的第三标识值,该第三标识值用于标识该第一三元图中像素点的颜色。
39.在一种可选地实现方式中,该第二生成单元用于:
40.基于该第三图像中的该脸部区域,确定该第一三元图的目标重叠区域,该目标重叠区域为该脸部区域与该第二画线子区域的重叠区域;
41.以目标标识值对该目标重叠区域的像素点进行赋值,生成该目标三元图,该目标标识值用于标识该脸部区域中像素点的颜色。
42.在一种可选地实现方式中,该抠图模块用于:
43.基于该目标三元图,获取该原始图像中各个像素点的透明度,该透明度用于表征该像素点属于该目标对象的概率;
44.基于该透明度对该原始图像进行抠图处理,得到该目标图像。
45.在一种可选地实现方式中,该图像分割模块还用于:
46.获取该原始图像;
47.将该原始图像输入到图像分割模型中,其中,该图像分割模型用于根据输入的该原始图像,对该原始图像中每个像素点的语义类别进行计算,以输出该原始图像的至少一个图像;
48.获取该图像分割模型输出的该第一图像、该第二图像以及该第三图像。
49.在一种可选地实现方式中,该抠图模块还用于:
50.将该目标三元图和该原始图像输入到抠图模型中,该抠图模型用于根据输入的该目标三元图和该原始图像,对该原始图像中每个像素点属于该目标图像的概率进行计算,以输出该透明度;
51.获取该抠图模型输出的该透明度。
52.另一方面,提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器用于存储至少一条计算机程序,该至少一段计算机程序由该处理器加载并执行以实现本技术实施例中的图像处理方法中所执行的操作。
53.另一方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现如本技术实施例中图像处理方法中所执行的操作。
54.另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述各种可选实现方式中提供的图像处理方法。
55.本技术实施例提供的技术方案带来的有益效果至少包括:
56.在本技术实施例中,在对原始图像进行抠图时,首先采用语义分割的方式得到多个包含有不同区域的分割图像,进一步地,根据这些分割图像,在前景区域的轮廓线上,采用不同宽度的线条进行绘制,以得到目标三元图,最终基于该目标三元图,生成目标图像。针对上述目标三元图,由于在前景区域的轮廓线上,采用了不同宽度的线条进行绘制,能够实现对不同区域的针对性抠图,对于需要进行精细化抠图的区域,能够提高这部分区域的
抠图精度,同时还能够保证其他区域的抠图精度,使得最终得到效果精细且自然的抠图图像;另外,上述抠图过程还实现了全自动化,极大提高了抠图效率。
附图说明
57.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
58.图1是根据本技术实施例提供的一种高分辨网络的结构示意图;
59.图2是根据本技术实施例提供的一种物体上下文特征表示的结构示意图;
60.图3是根据本技术实施例提供的一种图像处理方法的实施环境示意图;
61.图4是根据本技术实施例提供的一种图像处理方法的流程图;
62.图5是根据本技术实施例提供的另一种图像处理方法的流程图;
63.图6是根据本技术实施例提供的一种图像语义分割结果的示意图;
64.图7是根据本技术实施例提供的一种第一三元图的示意图;
65.图8是根据本技术实施例提供的一种第二三元图的示意图;
66.图9是根据本技术实施例提供的一种第三三元图的示意图;
67.图10是根据本技术实施例提供的一种目标三元图的示意图;
68.图11是根据本技术实施例提供的一种抠图模型的示意图;
69.图12是根据本技术实施例提供的一种目标图像的示意图;
70.图13是根据本技术实施例提供的一种图像处理方法的示意图;
71.图14是根据本技术实施例提供的一种图像处理装置的结构示意图;
72.图15是根据本技术实施例提供的一种终端的结构示意图。
具体实施方式
73.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
74.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
75.本技术中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。
76.这些术语只是用于将一个元素与另一个元素区别开。例如,在不脱离各种示例的范围的情况下,第一图像能够被称为第二图像,并且类似地,第二图像也能够被称为第一图像。第一图像和第二图像都可以是图像,并且在某些情况下,可以是单独且不同的图像。
77.其中,至少一个是指一个或一个以上,例如,至少一个图像可以是一个图像、两个
图像、三个图像等任意大于等于一的整数个图像。而多个是指两个或者两个以上,例如,多个图像可以是两个图像、三个图像等任意大于等于二的整数个图像。
78.下面简单介绍一下本技术实施例提供的图像处理方案可能用到的技术。
79.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
80.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
81.计算机视觉技术(computer vision,cv)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、物体上下文特征表示(object

contextual representations,ocr)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
82.高分辨网络(high resolution network,hrnet)是一种用于获取图像特征信息的计算模型,在运算全部过程中都可以保持高分辨表征。hrnet始于一组高分辨率卷积,然后逐步添加低分辨率的卷积分支,并将它们以并行的方式连接起来。参考图1,图1是本技术提供的一种高分辨网络的结构示意图,如图1所示,该网络将不同分辨率的特征图谱(feature map)并联,各个分辨率分别一路,在整个过程中并行的运算组合间通过多分辨率融合不断地交换着信息。
83.ocr是一种用于表征图像中像素的语义类别的计算模型。在通过hrnet获取到图像的特征后,通过ocr方法来计算得到图像中各个像素的语义类别。
84.参考图2,图2是本技术提供的一种物体上下文特征表示的结构示意图,如图2所示:第一,通过主干网络的中间层得到一个粗略的语义分割结果,即软物体区域(soft object regions);第二,通过主干网络的深层所输出的像素特征(pixel representation)和软物体区域计算得到k组向量,k>1,即物体区域表示(object region representations),其中,每一个向量对应一个语义类别的特征表示;第三,计算像素特征与物体区域特征表示之间的关系矩阵;第四,根据每个像素的像素特征和物体区域特征表示在关系矩阵中的数值,将每个物体区域特征进行加权求和,得到物体的上下文特征表示,也即是ocr;最后,基于ocr与像素特征得到作为上下文信息增强的特征表示(augmented representation),该增强后的特征表示能够用于预测每个像素的语义类别。
85.下面简单介绍一下本技术实施例提供的图像处理方案可能用到的关键术语或缩略语。
86.语义分割(semantic segmentation):针对输入的图像,基于对每个像素的语义理解,将相同语义的像素分割为同一部分或区域,得到若干个不同语义区域的过程。
87.前景(foreground):图像中的主体,如人像拍摄中的人像。
88.背景(background):图像中主体所处的环境,如人像拍摄中人物所处的风景、道路、建筑等。
89.抠图(image matting):一种将图像的前景从背景中分离出来的图像处理技术。
90.三元图(trimap):包含有前景、背景及前后景混合区域三种标记的图像,通常与原始图像一并作为抠图模型的输入。需要说明的是,在下述实施例中,前后景混合区域也称为画线区域。
91.标识值:一种用于标识图像中像素点颜色的数值。例如,一个像素点的标识值为255,表明该像素点的rgb(red

green

blue,红绿蓝)颜色值为(255,255,255),表现为白色;又例如,一个像素点的标识值为0,表明该像素点的rgb颜色值为(0,0,0),表现为黑色;再例如,一个像素点的标识值为128,表明该像素点的rgb颜色值为(128,128,128),表现为灰色。
92.开源计算机视觉(open source computer vision library,opencv):一种跨平台计算机视觉和机器学习软件库,可以运行在各种操作系统上。opencv可用于开发实时的图像处理、计算机视觉以及模式识别程序。
93.findcontours:opencv中的一种用于在图像中检测轮廓的函数。
94.drawcontours:opencv中的一种用于在图像中绘制轮廓的函数。
95.抠图模型:一种计算模型,用于根据原始图像和三元图,对原始图像中各个像素点属于前景的概率进行计算。例如,抠图模型有indexnet模型、gcamatting模型以及contextnet模型等。
96.下面对本技术实施例提供的图像处理方法的实施环境进行介绍。
97.图3是根据本技术实施例提供的图像处理方法的实施环境示意图。该实施环境包括:终端301和服务器302。
98.终端301和服务器302能够通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。可选地,终端301是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。终端301能够安装和运行有应用程序。可选地,该应用程序是社交类应用程序、图像处理类应用程序或者拍摄类应用程序等。示意性地,终端301是用户使用的终端,终端301中运行有社交类应用程序,用户可通过该社交类应用程序对图片中的人像进行抠取。
99.服务器302能够是独立的物理服务器,也能够是多个物理服务器构成的服务器集群或者分布式系统,还能够是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器302用于为终端301运行的应用程序提供后台服务。
100.可选地,在图像处理的过程中,服务器302承担主要计算工作,终端301承担次要计算工作;或者,服务器302承担次要计算工作,终端301承担主要计算工作;或者,服务器302或终端301分别能够单独承担计算工作。
101.可选地,终端301泛指多个终端中的一个,本实施例仅以终端301来举例说明。本领域技术人员能够知晓,上述终端301的数量能够更多。比如上述终端301为几十个或几百个,
或者更多数量,此时上述图像处理方法的实施环境还包括其他终端。本技术实施例对终端的数量和设备类型不加以限定。
102.可选地,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也能够是任何网络,包括但不限于局域网(local area network,lan)、城域网(metropolitan area network,man)、广域网(wide area network,wan)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括html、可扩展标记语言(extensible markup langu

age,xml)等的技术和/或格式来代表通过网络交换的数据。此外还能够使用诸如安全套接字层(secure socket layer,ssl)、传输层安全(transport layer secur

ity,tls)、虚拟专用网络(virtual private network,vpn)、网际协议安全(internet protocol security,ipsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还能够使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。
103.在本技术实施例中,提供了一种图像处理方法,能够满足各种社交娱乐场景下,用户对人像抠取的需求,而且,对于用户输入的人像图片,能够自动抠取出人体及发丝,抠图效果精细且自然。下面以本技术实施例提供的图像处理方法应用于人像抠取为例,进行详细说明。
104.图4是根据本技术实施例提供的一种图像处理方法的流程图,如图4所示,在本技术实施例中以应用于终端为例进行说明。该方法包括以下步骤:
105.401、对原始图像进行图像语义分割,得到第一图像、第二图像以及第三图像,该第一图像包括原始图像中目标对象所在的前景区域,该第二图像包括该目标对象的头发区域,该第三图像包括该目标对象的脸部区域。
106.在本技术实施例中,原始图像是指用户输入的需要进行图像抠取的图像。目标对象是指原始图像中的人物肖像。
107.需要说明的是,在本技术中是以目标对象为人物肖像为例进行说明的,而在另一些实施例中,目标对象为原始图像中的动物图像或植物图像等等,相应地,当目标对象为动物图像时,本步骤中的头发区域可替换为毛发区域等需要精细化抠图的区域,脸部区域可替换为头部区域等不需要精细化抠图的区域;当目标对象为植物图像时,本步骤中的头发区域可替换为树叶区域,脸部区域可替换为树枝区域等,本技术实施例对此不作限定。
108.另外,需要说明的是,目标对象可以是真人肖像,也可以是卡通人物肖像或动漫人物肖像等,本技术实施例对此不作限定。
109.402、基于第一图像、第二图像以及第三图像,生成目标三元图,该目标三元图包括前景区域和画线区域,该画线区域是通过在前景区域的轮廓线上绘制线条得到的;该前景区域的不同子区域对应不同的线条宽度。
110.在本技术实施例中,子区域是指前景区域中的部分区域,包括头发区域和脸部区域等。
111.403、基于该目标三元图,对该原始图像进行抠图处理,得到包括该目标对象的目标图像。
112.在本技术实施例中,抠图处理是指将原始图像中的目标对象从背景区域中分离出来,以得到目标图像的过程。
113.在本技术实施例中,在对原始图像进行抠图时,首先采用语义分割的方式得到多个包含有不同区域的分割图像,进一步地,根据这些分割图像,在前景区域的轮廓线上,采用不同宽度的线条进行绘制,以得到目标三元图,最终基于该目标三元图,生成目标图像。针对上述目标三元图,由于在前景区域的轮廓线上,采用了不同宽度的线条进行绘制,能够实现对不同区域的针对性抠图,对于需要进行精细化抠图的区域,能够提高这部分区域的抠图精度,同时还能够保证其他区域的抠图精度,使得最终得到效果精细且自然的抠图图像;另外,上述抠图过程还实现了全自动化,极大提高了抠图效率。
114.上述图4所示仅为本技术的基本流程,下面基于一种具体实施方式,来对本技术提供的方案进行进一步阐述。
115.图5是根据本技术实施例提供的另一种图像处理方法的流程图,如图5所示,在本技术实施例中以应用于终端为例进行说明。该方法包括以下步骤:
116.501、获取原始图像。
117.在本技术实施例中,终端提供抠图功能,用户能够在终端上进行抠图操作,终端响应于该抠图操作,获取到该原始图像。可选地,该原始图像为终端上存储的本地图像,或,该原始图像为在线图像,本技术实施例对于原始图像的来源不作限定。
118.可选地,终端上显示针对该原始图像的图像处理界面,该图像处理界面上包括抠图选项、剪裁选项等等,用户能够对该抠图选项进行选中操作,终端响应于该选中操作,获取到该原始图像。
119.可选地,终端上显示图像处理界面,该图像处理界面上包括抠图选项,用户能够对该抠图选项进行选中操作,终端响应于该选中操作,显示图像选择界面,用户能够通过对想要抠图的图像进行点击操作,选择原始图像进行抠图,终端响应于该点击操作,获取到该原始图像。
120.需要说明的是,本技术实施例对于终端获取原始图像的方式不作限定。
121.502、将该原始图像输入到图像分割模型中。
122.在本技术实施例中,图像分割模型用于根据输入的原始图像,对该原始图像中各个像素点的语义类别进行计算,以输出该原始图像的至少一个图像。
123.可选地,该图像分割模型为hrnet

ocr模型,是一种将hrnet模型与ocr模型结合后的计算模型。该hrnet

ocr模型的计算过程如下:首先,通过hrnet模型对该原始图像进行特征提取,获取到该原始图像的特征信息;其次,将获取到的特征信息输入到ocr模型的主干网络中;再次,基于ocr模型,计算得到该原始图像中各个像素点的语义类别;例如,语义类别有头发、鼻子、眼睛、躯干、衣物以及建筑物等等;最后,基于各个像素点的语义类别,输出该原始图像的至少一个图像。上述hrnet

ocr模型的具体计算过程已结合图1和图2进行了详细说明,故在此不再赘述。
124.需要说明的是,在实际应用中,可以通过对上述hrnet

ocr模型中的部分结构进行调整,以输出原始图像的至少一个图像,本技术实施例对于hrnet

ocr模型中的结构组成不作限定。在另一些实施例中,上述图像分割模型还可以通过其他网络模型来实现,本技术实施例对于图像语义分割模型的类型不作限定。
125.503、获取该图像分割模型输出的第一图像、第二图像以及第三图像。该第一图像包括该原始图像中目标对象所在的前景区域,该第二图像包括该目标对象的头发区域,该
第三图像包括该目标对象的脸部区域。
126.在本技术实施例中,经过图像分割模型对原始图像中各个像素点进行分类,终端能够获取到三种分割图像,也即是本步骤中的第一图像、第二图像以及第三图像。其中,各个图像均包括两种区域,这两种区域分别通过不同的标识值来进行标记,例如,以第一图像为例,该第一图像包括前景区域和背景区域,其中,前景区域中各个像素点的标识值为255,而背景区域中各个像素点的标识值为0。需要说明的是,在实际应用中,开发人员能够根据需求对标识值进行灵活设置,本技术实施例对此不作限定。
127.示意性地,参考图6,图6是本技术实施例提供的一种图像语义分割结果的示意图。如图6所示,原始图像为人物肖像,图6中(a)图所示即为第一图像,该第一图像包括前景区域1和背景区域2,该前景区域1包含有人物肖像的所有元素;图6中(b)图所示即为第二图像,该第二图像包括头发区域3和背景区域4;图6中(c)图所示即为第三图像,该第三图像包括脸部区域5和背景区域6。
128.504、基于该第一图像和该第二图像,生成第一三元图,该第一三元图包括前景区域、第一画线子区域和第二画线子区域。
129.在本技术实施例中,该第一画线子区域覆盖在头发区域靠近背景区域一侧的轮廓线上,该第二画线子区域覆盖在其他区域的轮廓线上,该其他区域为前景区域中除了头发区域之外的区域。第一线条宽度大于第二线条宽度,该第一线条宽度用于绘制第一画线子区域,该第二线条宽度用于绘制第二画线子区域。
130.其中,该第一三元图还包括背景区域,且该第一画线子区域和第二画线子区域的标识值与前景区域的标识值不同,与该背景区域的标识值也不同。例如,前景区域中各个像素点的标识值为255,背景区域中各个像素点的标识值为0,第一画线子区域和第二画线子区域中各个像素点的标识值为128。
131.需要说明的是,在实际应用中,开发人员能够根据需求对画线区域的标识值进行灵活设置,本技术实施例对此不作限定。
132.示意性地,参考图7,图7是本技术实施例提供的一种第一三元图的示意图。如图7中右图所示,该第一三元图中包括前景区域7、背景区域8、第一画线子区域9以及第二画线子区域10,其中,第一画线子区域9是按照第一线条宽度进行绘制的,第二画线子区域10是按照第二线条宽度进行绘制的。
133.另外,需要说明的是,在本技术实施例中,不同图像中的前景区域之间存在区域范围上的差别,不同图像中的背景区域之间也存在区域范围上的差别,例如,参考图6中的背景区域2和背景区域4,两者的区域范围虽然存在明显差别,但均为背景区域。再例如,参考图6中的前景区域1和图7中的前景区域7,两者的区域范围虽然存在细微差别,但均为前景区域。
134.下面对本步骤中终端生成第一三元图的具体实现方式进行详细阐述,包括下述步骤5041至步骤5045:
135.5041、在第一图像中,获取前景区域的完整轮廓线。
136.其中,前景区域的完整轮廓线是指前景区域与背景区域之间的界线。终端基于获取到的第一图像,通过轮廓检测算法,在该第一图像中获取到前景区域的完整轮廓线。可选地,上述轮廓检测算法可以通过findcontours函数实现,本技术实施例对此不作限定。
137.5042、按照第二线条宽度,在前景区域的完整轮廓线上绘制线条,得到第二三元图。
138.其中,第二三元图包括前景区域和第三画线子区域,该第三画线子区域覆盖在前景区域的完整轮廓线上。第二线条宽度是根据原始图像的尺寸计算得到的。可选地,第二线条宽度可以通过下述公式(1)计算得到:
[0139][0140]
式中,s为第二线条宽度;width和height分别为原始图像的宽度和高度;n为默认线条尺寸,例如,n可以为17,本技术实施例对此不作限定。
[0141]
终端在获取到前景区域的完整轮廓线后,通过轮廓绘制算法,在该完整轮廓线上按照第二线条宽度绘制线条,且,线条的标识值与前景区域和背景区域的标识值均不同。可选地,上述轮廓绘制算法可以通过drawcontours函数实现,例如,以前景区域的标识值为255,背景区域的标识值为0为例,通过下述公式(2)实现在前景区域的完整轮廓线上绘制线条:
[0142]
cv::drawcontours(segresult,contours,

1,scalar(128,128,128),s)
ꢀꢀ
(2)
[0143]
式中,segresult为第一图像;contours为通过findcontours函数检测到的前景区域的完整轮廓线,

1表示对所有的轮廓线进行操作,scalar为标识值,scalar(128,128,128)表示将rgb通道中r、g以及b通道的颜色值均设置为128;s为第二线条宽度。
[0144]
需要说明的是,上述绘制线条的方式是对获取到的完整轮廓线进行操作,也即是覆盖在该完整轮廓线上。例如,通过findcontours函数获取到的完整轮廓线包括像素点a1至a10,则对这些像素点进行操作,实现线条绘制。也即是,通过绘制线条得到的第三画线子区域既覆盖了第一图像中的前景区域,又覆盖了第一图像中的背景区域。
[0145]
示意性地,参考图8,图8是本技术实施例提供的一种第二三元图的示意图。图8中左图所示为第一图像,图8中右图所示为第二三元图,在第二三元图中包括前景区域11、背景区域12以及第三画线子区域13,该第三画线子区域13是按照第二线条宽度进行绘制的。
[0146]
5043、在第二图像中,获取头发区域的完整轮廓线。
[0147]
其中,头发区域的完整轮廓线是指头发区域与背景区域之间的界线。终端基于获取到的第二图像,通过轮廓检测算法,在该第二图像中获取到头发区域的完整轮廓线。可选地,上述轮廓检测算法可以通过findcontours函数实现,本技术实施例对此不作限定。
[0148]
5044、按照第一线条宽度,在头发区域的完整轮廓线上绘制线条,得到第三三元图。
[0149]
其中,该第三三元图包括头发区域和第四画线子区域,该第四画线子区域覆盖在头发区域的完整轮廓线上。第一线条宽度为第二线条宽度的m倍,其中,m大于1。例如,第一线条宽度为第二线条宽度的3倍;也即是,当第二线条宽度为s时,第一线条宽度即为s*3,本技术实施例此不作限定。
[0150]
需要说明的是,本步骤中在头发区域的完整轮廓线上绘制线条的方式与上述步骤5042中类似,故在此不再赘述,仅通过下述公式(3)进行举例说明:
[0151]
cv::drawcontours(segresulthair,contours,

1,scalar(128,128,128),s*3)
ꢀꢀ
(3)
[0152]
式中,segresulthair为第二图像;contours为通过findcontours函数检测到的头发区域的完整轮廓线,

1表示对所有的轮廓线进行操作,scalar为标识值,scalar(128,128,128)表示将rgb通道中r、g以及b通道的颜色值均设置为128;s*3为第一线条宽度。
[0153]
示意性地,参考图9,图9是本技术实施例提供的一种第三三元图的示意图。图9中左图所示为第二图像,图9中右图所示为第三三元图,在第三三元图中包括前景区域14、背景区域15以及第四画线子区域16,该第四画线子区域16是按照第一线条宽度进行绘制的。
[0154]
5045、对第二三元图和第三三元图进行合并处理,得到第一三元图。
[0155]
其中,对第二三元图和第三三元图进行合并处理是指:取两张三元图中相同位置的最大标识值,作为第一三元图中对应位置的标识值。
[0156]
下面对本步骤的具体实现方式进行详细阐述,包括下述步骤a至步骤c:
[0157]
步骤a:获取第二三元图中各个像素点的第一标识值,该第一标识值用于标识第二三元图中像素点的颜色。
[0158]
步骤b:获取第三三元图中各个像素点的第二标识值,该第二标识值用于标识第三三元图中像素点的颜色。
[0159]
步骤c:基于第一标识值和第二标识值之间的大小关系,生成第一三元图。
[0160]
其中,步骤c的实现方式包括:将第二三元图中任意位置上像素点的第一标识值,与第三三元图中相同位置上像素点的第二标识值进行比较;将第一标识值和第二标识值中的最大者,作为第一三元图中相同位置上像素点的第三标识值,该第三标识值用于标识第一三元图中像素点的颜色。
[0161]
示意性地,继续参考图7,终端在获取到第二三元图和第三三元图后,通过下述公式(4)实现对这两张三元图的合并处理,以得到第一三元图。公式(4)如下:
[0162]
pixel
result
=pixel
leftup
>pixel
leftdown
?pixel
leftup
:pixel
leftdown
ꢀꢀ
(4)
[0163]
式中,pixel
result
为第一三元图,也即是图7中的右图;pixel
leftup
为第二三元图,也即是图7中的左上图;pixel
leftd
o
wn
为第三三元图,也即是图7中的左下图。
[0164]
如图7中右图所示,通过上述步骤5045生成的第一三元图中,与头发区域所对应的第一画线子区域9大于与其他区域所对应的第二画线子区域10,通过这种按照不同的线条宽度绘制得到不同的画线区域的方式,在后续的抠图处理中,对于头发区域等这类较为复杂的抠图区域,能够提升抠图的精细程度,以提高这部分区域的抠图效果。
[0165]
505、基于第三图像和第一三元图,生成目标三元图。
[0166]
在本技术实施例中,目标三元图包括前景区域和画线区域,该画线区域是通过在前景区域的轮廓线上绘制线条得到的;该前景区域的不同子区域对应不同的线条宽度。可选地,该前景区域还包括目标对象的躯干区域,其中,在目标三元图中,头发区域对应的线条宽度大于躯干区域对应的线条宽度,该躯干区域对应的线条宽度大于脸部区域对应的线条宽度。
[0167]
示意性地,参考图10,图10是本技术实施例提供的一种目标三元图的示意图。图10中右上图所示即为目标三元图,该图中包括前景区域17、背景区域18以及画线区域19。在该画线区域19中,头发区域对应的线条宽度大于躯干区域对应的线条宽度,躯干区域对应的线条宽度大于脸部区域对应的线条宽度。示意性地,画线区域19中线条宽度的关系可继续参考图10中的右下图,图中包括画线区域19a,19b以及19c,图中,19a表示头发区域对应的
线条宽度,19b表示脸部区域对应的线条宽度,19c表示躯干区域对应的线条宽度,如图所示,头发区域对应的线条宽度19a大于躯干区域对应的线条宽度19c,躯干区域对应的线条宽度19c大于脸部区域对应的线条宽度19b。
[0168]
下面对本步骤中终端生成目标三元图的具体实现方式进行详细阐述,包括下述步骤5051至步骤5052:
[0169]
5051、基于第三图像中的脸部区域,确定第一三元图的目标重叠区域,该目标重叠区域为脸部区域与第二画线子区域的重叠区域。
[0170]
其中,终端在获取到第一三元图后,基于第三图像中脸部区域的像素点位置,在第一三元图中确定目标重叠区域。示意性地,继续参考图10,如图10中右下图所示,图中包括目标重叠区域20,这一区域即为第三图像中的脸部区域与第一三元图中的第二画线子区域19之间的重叠区域。
[0171]
5052、以目标标识值对目标重叠区域的像素点进行赋值,生成目标三元图,该目标标识值用于标识脸部区域中像素点的颜色。
[0172]
其中,在第一三元图中,目标重叠区域的标识值为第二画线子区域的标识值,在本步骤中,对第一三元图中的目标重叠区域的标识值进行变更,以目标标识值对这一区域的像素点进行赋值,以生成目标三元图。例如,以脸部区域的标识值为255,第二画线子区域的标识值为128为例,在第一三元图中,目标重叠区域的标识值原本为128,经过本步骤5052,对该目标重叠区域的像素点以255的标识值进行重新赋值,得到目标三元图。
[0173]
可选地,上述步骤5051和步骤5052可通过下述公式(5)来实现:
[0174]
pixel=pixel∈φ{face}?255:pixel
trimp
ꢀꢀ
(5)
[0175]
式中,φ{face}表示脸部区域;255表示目标标识值,pixel
trimp
为目标三元图。通过该公式(5),将第一三元图中属于脸部区域的像素点以目标标识值进行赋值,能够使得脸部区域不参与下述步骤506至步骤507中,利用抠图模型计算透明度的过程。
[0176]
经过上述步骤501至步骤505,终端在获取到原始图像后,自动生成了目标三元图,且在该目标三元图中,前景区域的不同子区域对应的线条宽度不同。
[0177]
需要说明的是,在实际应用中,三元图中前后景混合区域的标记将直接影响抠图效果的精细度,且,三元图中如果将前景区域标记为前后景混合区域,会造成抠图结果不准确。
[0178]
而在本技术实施例中,目标三元图中的画线区域即为前后景混合区域,终端在自动生成目标三元图的过程中,按照不同的线条宽度对头发区域和除了头发区域以外的其他区域进行线条绘制,保证了头发区域等这类复杂区域的抠图范围,提高了这部分区域的抠图精度;同时,将属于脸部区域的像素点赋值为与前景区域相同的目标标识值,考虑到了对人物肖像中关键区域的保护,避免出现抠图的细节损失。
[0179]
506、将该目标三元图和该原始图像输入到抠图模型中。
[0180]
在本技术实施例中,抠图模型用于根据输入的目标三元图和原始图像,对该原始图像中各个像素点属于目标图像的概率进行计算,以输出透明度。可选地,通过下述公式(6)来计算透明度:
[0181]
i=α*f (1

α)*b
ꢀꢀ
(6)
[0182]
式中,i表示原始图像;f表示前景,也即是包括了目标对象所有元素的区域;b表示
背景;α为透明度,用于表示原始图像中前景颜色所占的比重。公式(6)表明,原始图像是前景与背景按照一定的透明度叠加组成的。
[0183]
可选地,上述抠图模型可以为indexnet抠图模型,或者,上述抠图模型还可以为gcamatting抠图模型,又或者,上述抠图模型还可以为contextnet模型等等,本技术实施对于上述抠图模型的具体类型不做限定。
[0184]
下面以indexnet抠图模型为例,对本步骤进行示意性说明。示意性地,参考图11,图11是本技术实施例提供的一种抠图模型的示意图,如图11所示,将目标三元图和原始图像作为输入,得到粗糙的alpha(也即是α)图,和alpha预测损失;同时,用粗糙的前景与背景进行合成后与原始图像进行比较,以得到图像的组合损失,最终利用一个卷积层来优化得到精细的alpha图,输出抠图的精细结果,也即是各个像素点的alpha值。
[0185]
507、获取该抠图模型输出的透明度,该透明度用于表征像素点属于目标对象的概率。
[0186]
508、基于该透明度对该原始图像进行抠图处理,得到包括目标对象的目标图像。
[0187]
在本技术实施例中,本步骤508中的抠图处理是指基于各个像素点的透明度,将原始图像中的目标对象从背景中分离出来,以得到包括目标图像的过程。示意性地,参考图12,图12是本技术实施例提供的一种目标图像的示意图。图12中左图所示即为原始图像,图12中右上图所示即为根据本方法得到的目标图像,图中,人物肖像的发梢飘逸,抠图精细,面部完整;而图12中右下图所示为根据相关技术中的图像分割方法得到的目标图像,图中,虽然图像分割准确,但是人物肖像的发梢十分粗糙,且面部存在细节损失。
[0188]
在本技术实施例中,在对原始图像进行抠图时,首先采用语义分割的方式得到多个包含有不同区域的分割图像,进一步地,根据这些分割图像,在前景区域的轮廓线上,采用不同宽度的线条进行绘制,以得到目标三元图,最终基于该目标三元图,生成目标图像。针对上述目标三元图,由于在前景区域的轮廓线上,采用了不同宽度的线条进行绘制,能够实现对不同区域的针对性抠图,对于需要进行精细化抠图的区域,能够提高这部分区域的抠图精度,同时还能够保证其他区域的抠图精度,使得最终得到效果精细且自然的抠图图像;另外,上述抠图过程还实现了全自动化,极大提高了抠图效率。
[0189]
下面结合图13对本技术实施例提供的图像处理方法进行示例性地简要总结。如图13所示,包括以下六个图像处理阶段:
[0190]
第一、获取原始图像,原始图像为包括人物肖像的图像。
[0191]
第二、基于hrnet

ocr模型对原始图像进行图像语义分割,根据分割结果得到三种分割图像,第一种分割图像包括前景区域,该前景区域包含了人物肖像的所有元素;第二种分割图像包括头发区域,由于人类的躯干与背景的边缘线条比较明确,而头发由于其形状的特性,往往与背景融合较严重,需着重抠图;第三种分割图像包括脸部区域,也可以理解为保护区域,人脸作为人物肖像的重要关注部位,如果被误抠误伤,会极其影响观感,需保护这部分区域不被抠图抠破。
[0192]
第三、针对第一种分割图像,以基础尺寸在前景区域的轮廓线上绘制线条,得到第二三元图;针对第二种分割图像,以三倍基础尺寸在头发区域的轮廓线上绘制线条,得到第三三元图;其中,所绘制的线条的标识值为128。
[0193]
第四、对第二三元图和第三三元图进行合并处理,得到合并后的第一三元图。
[0194]
第五、将第一三元图中的脸部区域重新设置为前景标记,也即是将第一三元图中的脸部区域的各个像素点重新赋值为255,得到目标三元图。
[0195]
第六、基于目标三元图,最终得到目标图像,也即是原始图像中的人物肖像。
[0196]
针对上述目标三元图,由于在前景区域的轮廓线上,采用了不同宽度的线条进行绘制,能够实现对不同区域的针对性抠图,对于需要进行精细化抠图的区域,能够提高这部分区域的抠图精度,同时还能够保证其他区域的抠图精度,使得最终得到效果精细且自然的抠图图像;另外,上述抠图过程还实现了全自动化,极大提高了抠图效率。
[0197]
示意性地,本技术实施例提供的图像处理方法的应用场景包括但不限于:
[0198]
场景一、表情包场景
[0199]
随着表情包文化的流行,许多应用都添加了制作表情包的功能,便于用户通过制作表情包的方式,来表达自己的情绪和心情。在一些情景下,用户希望将图片中的人物肖像抠取出来,然后在人物肖像的基础上通过添加贴纸、文字或背景等,制作得到自己想要的表情包。
[0200]
例如,终端通过应用提供人物肖像的表情包制作功能,用户通过在终端上执行操作,输入想要抠取出人物肖像的原始图像。终端在获取到原始图像后,采用本技术实施例提供的图像处理方法,将该原始图像中的人物肖像自动抠取出来,并在终端上进行显示,以供用户后续在该人物肖像的基础上进行其他图像处理操作,进而得到用户想要的表情包。示意性地,终端抠取人物肖像的过程包括以下步骤1至步骤8:
[0201]
1、终端获取原始图像。
[0202]
2、终端将该原始图像输入到图像分割模型中。
[0203]
3、终端获取该图像分割模型输出的第一图像、第二图像以及第三图像。该第一图像包括该原始图像中人物肖像所在的前景区域,该第二图像包括该人物肖像的头发区域,该第三图像包括该人物肖像的脸部区域。
[0204]
4、终端基于该第一图像和该第二图像,生成第一三元图,该第一三元图包括前景区域、第一画线子区域和第二画线子区域。
[0205]
5、终端基于第三图像和第一三元图,生成目标三元图。
[0206]
6、终端将该目标三元图和该原始图像输入到抠图模型中。
[0207]
7、终端获取该抠图模型输出的透明度,该透明度用于表征像素点属于人物肖像的概率。
[0208]
8、终端基于该透明度对该原始图像进行抠图处理,得到包括人物肖像的目标图像。后续,用户在该目标图像的基础上制作表情包。
[0209]
通过本技术实施例提供的图像处理方法能够实现对人物肖像的自动抠取,且抠取出的人物肖像效果精细且自然,能够满足用户对于表情包制作的个性化需求。
[0210]
场景二、直播场景
[0211]
在一些直播情景下,主播为了保护个人隐私,会希望隐藏自己所处的真实背景环境,然后在直播画面中仅显示主播的人物肖像,或者在主播的人物肖像的基础上添加其他虚拟背景。
[0212]
例如,终端提供直播过程中的人物肖像模式,主播通过开启该人物肖像模式,使得终端实时获取由摄像头拍摄到的每一帧原始图像,然后采用本技术实施例提供的图像处理
方法,将每一帧原始图像中主播的人物肖像抠取出来,并实时生成直播画面进行直播。终端具体抠取人物肖像的过程与上述场景一类似,故在此不再赘述。
[0213]
可见,本技术实施例提供的图像处理方法由于实现了自动化人像抠取,能够直接应用于这种需要实时抠取人物肖像的场景。
[0214]
图14是根据本技术实施例提供的一种图像处理装置的结构示意图。该装置用于执行上述图像处理方法执行时的步骤,参见图14,装置包括:图像分割模块1401、三元图生成模块1402以及抠图模块1403。
[0215]
图像分割模块1401,用于对原始图像进行图像语义分割,得到第一图像、第二图像以及第三图像,该第一图像包括该原始图像中目标对象所在的前景区域,该第二图像包括该目标对象的头发区域,该第三图像包括该目标对象的脸部区域;
[0216]
三元图生成模块1402,用于基于该第一图像、该第二图像以及该第三图像,生成目标三元图,该目标三元图包括该前景区域和画线区域,该画线区域是通过在该前景区域的轮廓线上绘制线条得到的;该前景区域的不同子区域对应不同的线条宽度;
[0217]
抠图模块1403,用于基于该目标三元图,对该原始图像进行抠图处理,得到包括该目标对象的目标图像。
[0218]
在一种可选地实现方式中,该前景区域还包括该目标对象的躯干区域,其中,在该目标三元图中,该头发区域对应的线条宽度大于该躯干区域对应的线条宽度,该躯干区域对应的线条宽度大于该脸部区域对应的线条宽度。
[0219]
在一种可选地实现方式中,该三元图生成模块1402包括:
[0220]
第一生成单元,用于基于该第一图像和该第二图像,生成第一三元图,该第一三元图包括该前景区域、第一画线子区域和第二画线子区域;
[0221]
其中,该第一画线子区域覆盖在该头发区域靠近背景区域一侧的轮廓线上,该第二画线子区域覆盖在其他区域的轮廓线上,该其他区域为该前景区域中除了该头发区域之外的区域;第一线条宽度大于第二线条宽度,该第一线条宽度用于绘制该第一画线子区域,该第二线条宽度用于绘制该第二画线子区域;
[0222]
第二生成单元,用于基于该第三图像和该第一三元图,生成该目标三元图。
[0223]
在一种可选地实现方式中,该第一生成单元用于:
[0224]
在该第一图像中,获取该前景区域的完整轮廓线;
[0225]
按照该第二线条宽度,在该前景区域的完整轮廓线上绘制线条,得到第二三元图;其中,该第二三元图包括该前景区域和第三画线子区域,该第三画线子区域覆盖在该前景区域的完整轮廓线上;
[0226]
在该第二图像中,获取该头发区域的完整轮廓线;
[0227]
按照该第一线条宽度,在该头发区域的完整轮廓线上绘制线条,得到第三三元图;其中,该第三三元图包括该头发区域和第四画线子区域,该第四画线子区域覆盖在该头发区域的完整轮廓线上;
[0228]
对该第二三元图和该第三三元图进行合并处理,得到该第一三元图。
[0229]
在一种可选地实现方式中,该第一线条宽度为该第二线条宽度的m倍,m大于1。
[0230]
在一种可选地实现方式中,该第一生成单元还用于:
[0231]
获取该第二三元图中各个像素点的第一标识值,该第一标识值用于标识该第二三
元图中像素点的颜色;
[0232]
获取该第三三元图中各个像素点的第二标识值,该第二标识值用于标识该第三三元图中像素点的颜色;
[0233]
基于该第一标识值和该第二标识值之间的大小关系,生成该第一三元图。
[0234]
在一种可选地实现方式中,该第一生成单元还用于:
[0235]
将该第二三元图中任意位置上像素点的第一标识值,与该第三三元图中相同位置上像素点的第二标识值进行比较;
[0236]
将该第一标识值和该第二标识值中的最大者,作为该第一三元图中相同位置上像素点的第三标识值,该第三标识值用于标识该第一三元图中像素点的颜色。
[0237]
在一种可选地实现方式中,该第二生成单元用于:
[0238]
基于该第三图像中的该脸部区域,确定该第一三元图的目标重叠区域,该目标重叠区域为该脸部区域与该第二画线子区域的重叠区域;
[0239]
以目标标识值对该目标重叠区域的像素点进行赋值,生成该目标三元图,该目标标识值用于标识该脸部区域中像素点的颜色。
[0240]
在一种可选地实现方式中,该抠图模块1403用于:
[0241]
基于该目标三元图,获取该原始图像中各个像素点的透明度,该透明度用于表征该像素点属于该目标对象的概率;
[0242]
基于该透明度对该原始图像进行抠图处理,得到该目标图像。
[0243]
在一种可选地实现方式中,该图像分割模块1401还用于:
[0244]
获取该原始图像;
[0245]
将该原始图像输入到图像分割模型中,其中,该图像分割模型用于根据输入的该原始图像,对该原始图像中每个像素点的语义类别进行计算,以输出该原始图像的至少一个图像;
[0246]
获取该图像分割模型输出的该第一图像、该第二图像以及该第三图像。
[0247]
在一种可选地实现方式中,该抠图模块1403还用于:
[0248]
将该目标三元图和该原始图像输入到抠图模型中,该抠图模型用于根据输入的该目标三元图和该原始图像,对该原始图像中每个像素点属于该目标图像的概率进行计算,以输出该透明度;
[0249]
获取该抠图模型输出的该透明度。
[0250]
在本技术实施例中,在对原始图像进行抠图时,首先采用语义分割的方式得到多个包含有不同区域的分割图像,进一步地,根据这些分割图像,在前景区域的轮廓线上,采用不同宽度的线条进行绘制,以得到目标三元图,最终基于该目标三元图,生成目标图像。针对上述目标三元图,由于在前景区域的轮廓线上,采用了不同宽度的线条进行绘制,能够实现对不同区域的针对性抠图,对于需要进行精细化抠图的区域,能够提高这部分区域的抠图精度,同时还能够保证其他区域的抠图精度,使得最终得到效果精细且自然的抠图图像;另外,上述抠图过程还实现了全自动化,极大提高了抠图效率。
[0251]
需要说明的是:上述实施例提供的图像处理装置在进行图像处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部
分功能。另外,上述实施例提供的图像处理装置与图像处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0252]
在示例性实施例中,还提供了一种计算机设备。以计算机设备为终端为例,图15示出了本技术一个示例性实施例提供的终端1500的结构示意图。该终端1500可以是:智能手机、平板电脑、mp3播放器(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1500还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0253]
通常,终端1500包括有:处理器1501和存储器1502。
[0254]
处理器1501可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1501可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1501可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1501还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0255]
存储器1502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1502中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1501所执行以实现本技术中方法实施例提供的图像处理方法。
[0256]
在一些实施例中,终端1500还可选包括有:外围设备接口1503和至少一个外围设备。处理器1501、存储器1502和外围设备接口1503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1503相连。具体地,外围设备包括:射频电路1504、显示屏1505、摄像头组件1506、音频电路1507、定位组件1508和电源1509中的至少一种。
[0257]
外围设备接口1503可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1501和存储器1502。在一些实施例中,处理器1501、存储器1502和外围设备接口1503被集成在同一芯片或电路板上;在一些其他实施例中,处理器1501、存储器1502和外围设备接口1503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0258]
射频电路1504用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路1504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1504包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1504可以通过至少一种无线通信协议来与其它
终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路1504还可以包括nfc(near field communication,近距离无线通信)有关的电路,本技术对此不加以限定。
[0259]
显示屏1505用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1505是触摸显示屏时,显示屏1505还具有采集在显示屏1505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1501进行处理。此时,显示屏1505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1505可以为一个,设置在终端1500的前面板;在另一些实施例中,显示屏1505可以为至少两个,分别设置在终端1500的不同表面或呈折叠设计;在另一些实施例中,显示屏1505可以是柔性显示屏,设置在终端1500的弯曲表面上或折叠面上。甚至,显示屏1505还可以设置成非矩形的不规则图形,也即异形屏。显示屏1505可以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light

emitting diode,有机发光二极管)等材质制备。
[0260]
摄像头组件1506用于采集图像或视频。可选地,摄像头组件1506包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0261]
音频电路1507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1501进行处理,或者输入至射频电路1504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1501或射频电路1504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1507还可以包括耳机插孔。
[0262]
定位组件1508用于定位终端1500的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件1508可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
[0263]
电源1509用于为终端1500中的各个组件进行供电。电源1509可以是交流电、直流电、一次性电池或可充电电池。当电源1509包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
[0264]
在一些实施例中,终端1500还包括有一个或多个传感器1510。该一个或多个传感器1510包括但不限于:加速度传感器1511、陀螺仪传感器1512、压力传感器1513、指纹传感
器1514、光学传感器1515以及接近传感器1516。
[0265]
加速度传感器1511可以检测以终端1500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1511可以用于检测重力加速度在三个坐标轴上的分量。处理器1501可以根据加速度传感器1511采集的重力加速度信号,控制显示屏1505以横向视图或纵向视图进行用户界面的显示。加速度传感器1511还可以用于游戏或者用户的运动数据的采集。
[0266]
陀螺仪传感器1512可以检测终端1500的机体方向及转动角度,陀螺仪传感器1512可以与加速度传感器1511协同采集用户对终端1500的3d动作。处理器1501根据陀螺仪传感器1512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0267]
压力传感器1513可以设置在终端1500的侧边框和/或显示屏1505的下层。当压力传感器1513设置在终端1500的侧边框时,可以检测用户对终端1500的握持信号,由处理器1501根据压力传感器1513采集的握持信号进行左右手识别或快捷操作。当压力传感器1513设置在显示屏1505的下层时,由处理器1501根据用户对显示屏1505的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0268]
指纹传感器1514用于采集用户的指纹,由处理器1501根据指纹传感器1514采集到的指纹识别用户的身份,或者,由指纹传感器1514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1514可以被设置在终端1500的正面、背面或侧面。当终端1500上设置有物理按键或厂商logo时,指纹传感器1514可以与物理按键或厂商logo集成在一起。
[0269]
光学传感器1515用于采集环境光强度。在一个实施例中,处理器1501可以根据光学传感器1515采集的环境光强度,控制显示屏1505的显示亮度。具体地,当环境光强度较高时,调高显示屏1505的显示亮度;当环境光强度较低时,调低显示屏1505的显示亮度。在另一个实施例中,处理器1501还可以根据光学传感器1515采集的环境光强度,动态调整摄像头组件1506的拍摄参数。
[0270]
接近传感器1516,也称距离传感器,通常设置在终端1500的前面板。接近传感器1516用于采集用户与终端1500的正面之间的距离。在一个实施例中,当接近传感器1516检测到用户与终端1500的正面之间的距离逐渐变小时,由处理器1501控制显示屏1505从亮屏状态切换为息屏状态;当接近传感器1516检测到用户与终端1500的正面之间的距离逐渐变大时,由处理器1501控制显示屏1505从息屏状态切换为亮屏状态。
[0271]
本领域技术人员可以理解,图15中示出的结构并不构成对终端1500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0272]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质应用于计算机设备,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现上述实施例的图像处理方法中计算机设备所执行的操作。
[0273]
本技术实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中。计算
机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述各种可选实现方式中提供的图像处理方法。
[0274]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0275]
以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜