抠图方法、装置、电子设备、存储介质及程序产品与流程

文档序号:33191764发布日期:2023-02-04 08:47阅读:61来源:国知局
抠图方法、装置、电子设备、存储介质及程序产品与流程

1.本技术涉及图像处理技术领域,特别涉及一种抠图方法、装置、电子设备、存储介质及程序产品。


背景技术:

2.抠图是图像处理中最常做的操作之一,是把图片或影像的某一部分从原始图片或影像中分离出来成为单独的图层,主要功能是为了后期的合成做准备。
3.现有的进行抠图时,一般通过抠图神经网络来实现。
4.但由于现有的抠图神经网络比较简单,因此,在进行抠图操作时,对于图像中主体和背景接近的区域,往往存在大面积的漏检测问题,抠图效果较差。


技术实现要素:

5.本技术的目的在于,针对上述现有技术中的不足,提供一种抠图方法、装置、电子设备、存储介质及程序产品,可以提高抠图效果。
6.为实现上述目的,本技术实施例采用的技术方案如下:
7.第一方面,本发明提供一种抠图方法,包括:
8.提取待处理图像的特征图;
9.根据预设激活函数对所述特征图进行处理,生成激活图,所述预设激活函数基于三角函数实现,用于将所述特征图中的特征值映射至预设阈值范围内,所述三角函数包括下述至少一项:正弦函数、余弦函数;
10.根据所述激活图,获取所述待处理图像中的目标图像区域,所述目标图像区域包括主体图像。
11.在可选的实施方式中,所述根据预设激活函数对所述特征图进行处理,生成激活图,包括:
12.获取所述特征图中的最大特征值、最小特征值;
13.根据所述最大特征值、最小特征值以及与预设激活函数,对所述特征图中的各特征值进行映射处理,生成所述激活图。
14.在可选的实施方式中,所述根据所述最大特征值、最小特征值以及与预设激活函数,对所述特征图中的各特征值进行映射处理,生成所述激活图,包括:
15.根据预设激活函数对所述特征图中的各特征值进行映射处理,生成所述激活图,其中,f(xi)表示特征值xi映射后的目标特征值,xi表示特征图对应的特征向量中第i个特征值,x
max
表示特征图对应的特征向量中的最大特征值,x
min
表示特征图对应的特征向量中的最小特征值。
16.在可选的实施方式中,所述根据所述激活图,获取所述待处理图像中的目标图像区域,包括:对所述激活图中的各特征值进行统计分析,获取各特征值的分布情况;根据各
所述特征值的分布情况,确定至少一个初始二值化阈值;根据至少一个所述初始二值化阈值,对所述激活图进行二值化处理,获取二值图像;根据所述二值图像,提取所述待处理图像中的目标图像区域。
17.在可选的实施方式中,若所述初始二值化阈值包括多个,所述根据至少一个所述初始二值化阈值,对所述激活图进行二值化处理,获取二值图像,包括:分别采用各所述初始二值化阈值对所述激活图进行二值化处理,获取各所述初始二值化阈值对应的各初始二值图像;统计各所述初始二值化阈值对应的初始二值图像中特征值符合预设阈值的像素点数量;根据各所述初始二值图像中特征值符合预设阈值的像素点数量,确定目标二值化阈值;根据所述目标二值化阈值,对所述激活图进行二值化处理,获取二值图像。
18.在可选的实施方式中,所述根据各所述初始二值图像中特征值符合预设阈值的像素点数量,确定目标二值化阈值,包括:根据各所述初始二值图像中特征值符合预设阈值的像素点数量,生成各所述初始二值图像对应的像素点分布曲线;根据所述像素点分布曲线,确定最大变化率对应的初始二值化阈值;将所述最大变化率对应的初始二值化阈值作为目标二值化阈值。
19.在可选的实施方式中,所述根据所述二值图像,提取所述待处理图像中的目标图像区域,包括:采用预设边缘检测算法检测所述二值图像中对应的所述目标图像区域的边缘;根据所述二值图像中对应的所述目标图像区域的边缘和预设填充算法对所述二值图像进行填充操作,获取处理后的二值图像;根据所述处理后的二值图像,提取所述待处理图像中的目标图像区域。
20.在可选的实施方式中,所述根据所述二值图像中对应的所述目标图像区域的边缘和预设填充算法对所述二值图像进行填充操作,获取处理后的二值图像,包括:根据所述二值图像中对应的所述目标图像区域的边缘,确定所述二值图像对应的填充边界;根据所述二值图像对应的填充边界,对所述二值图像进行填充操作,获取处理后的二值图像。
21.在可选的实施方式中,所述提取待处理图像的特征图,包括:基于显著性检测网络对所述待处理图像进行特征提取,获取特征图,所述显著性检测网络包括:卷积神经网络。
22.第二方面,本发明提供一种抠图装置,包括:提取模块,用于提取待处理图像的特征图;生成模块,用于根据预设激活函数对所述特征图进行处理,生成激活图,所述预设激活函数基于三角函数实现,用于将所述特征图中的特征值映射至预设阈值范围内;获取模块,用于根据所述激活图,获取所述待处理图像中的目标图像区域,所述目标图像区域包括主体图像。
23.在可选的实施方式中,生成模块,具体用于获取所述特征图中的最大特征值、最小特征值;
24.根据所述最大特征值、最小特征值以及与预设激活函数,对所述特征图中的各特征值进行映射处理,生成所述激活图。
25.在可选的实施方式中,生成模块,具体用于根据预设激活函数对所述特征图中的各特征值进行映射处理,生成所述激活图,其中,f(xi)表示特征值xi映射后的目标特征值,xi表示特征图对应的特征向量中第i个特征值,x
max
表示特征图对应的特征向量中的最大特征值,x
min
表示特征图对应的特征向量中的最小特征值。
26.在可选的实施方式中,生成模块,具体用于对所述激活图中的各特征值进行统计分析,获取各特征值的分布情况;根据各所述特征值的分布情况,确定至少一个初始二值化阈值;根据至少一个所述初始二值化阈值,对所述激活图进行二值化处理,获取二值图像;根据所述二值图像,提取所述待处理图像中的目标图像区域。
27.在可选的实施方式中,生成模块,具体用于分别采用各所述初始二值化阈值对所述激活图进行二值化处理,获取各所述初始二值化阈值对应的各初始二值图像;统计各所述初始二值化阈值对应的初始二值图像中特征值符合预设阈值的像素点数量;根据各所述初始二值图像中特征值符合预设阈值的像素点数量,确定目标二值化阈值;根据所述目标二值化阈值,对所述激活图进行二值化处理,获取二值图像。
28.在可选的实施方式中,生成模块,具体用于根据各所述初始二值图像中特征值符合预设阈值的像素点数量,生成各所述初始二值图像对应的像素点分布曲线;根据所述像素点分布曲线,确定最大变化率对应的初始二值化阈值;将所述最大变化率对应的初始二值化阈值作为目标二值化阈值。
29.在可选的实施方式中,生成模块,具体用于采用预设边缘检测算法检测所述二值图像中对应的所述目标图像区域的边缘;根据所述二值图像中对应的所述目标图像区域的边缘和预设填充算法对所述二值图像进行填充操作,获取处理后的二值图像;根据所述处理后的二值图像,提取所述待处理图像中的目标图像区域。
30.在可选的实施方式中,生成模块,具体用于根据所述二值图像中对应的所述目标图像区域的边缘,确定所述二值图像对应的填充边界;根据所述二值图像对应的填充边界,对所述二值图像进行填充操作,获取处理后的二值图像。
31.在可选的实施方式中,提取模块,具体用于基于显著性检测网络对所述待处理图像进行特征提取,获取特征图,所述显著性检测网络包括:卷积神经网络。
32.第三方面,本发明提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如前述实施方式任一项所述抠图方法的步骤。
33.第四方面,本发明提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如前述实施方式任一项所述抠图方法的步骤。
34.第五方面,本发明提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如前述实施方式任一项所述抠图方法的步骤。
35.本技术的有益效果是:
36.本技术实施例提供的抠图方法、装置、电子设备、存储介质及程序产品中,包括:提取待处理图像的特征图;根据预设激活函数对特征图进行处理,生成激活图,预设激活函数基于三角函数实现,用于将特征图中的特征值映射至预设阈值范围内;根据激活图,获取待处理图像中的目标图像区域,目标图像区域包括主体图像,应用本技术实施例,使得通过预设激活函数可以将特征图中的特征值基于三角函数的特性非线性映射至预设阈值范围内,使得通过映射,所得到的激活图中,在保留了特征图中高特征值的同时还加强了低特征值,进而基于该激活图进行抠图操作时,可以避免目标图像区域出现残缺,提高抠图效果。此外,应用本技术的抠图方法可以实现自动化抠图,提高抠图效率。
附图说明
37.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
38.图1为本技术实施例提供的一种抠图系统的架构示意图;
39.图2为本技术实施例提供的一种电子设备的结构示意图;
40.图3为本技术实施例提供的一种抠图方法的流程示意图;
41.图4为本技术实施例提供的另一种抠图方法的流程示意图;
42.图5为本技术实施例提供的一种现有激活函数的曲线示意图;
43.图6为本技术实施例提供的一种预设激活函数的曲线示意图;
44.图7为本技术实施例提供的又一种抠图方法的流程示意图;
45.图8为本技术实施例提供的另一种抠图方法的流程示意图;
46.图9为本技术实施例提供的又一种抠图方法的流程示意图;
47.图10为本技术实施例提供的另一种抠图方法的流程示意图;
48.图11为本技术实施例提供的又一种抠图方法的流程示意图;
49.图12为本技术实施例提供的一种抠图装置的功能模块示意图。
具体实施方式
50.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。
51.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
52.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
53.现有的进行抠图时,一般通过抠图神经网络来实现,但由于现有的抠图神经网络比较简单,因此,对于特征较浅的图像区域,识别能力极其有限,一般的二值化算法和激活算法会导致低值特征消失,例如,常见的包括透明主体(比如,透明塑料)的待处理图像,又或是主体颜色与背景接近的待处理图像,都会造成大面积的漏检测,进而使得抠图结果出现大面积残缺,抠图效果较差。
54.有鉴于此,本技术实施例提供一种抠图方法,应用该方法可以避免目标图像区域出现残缺,有效提高抠图效果。
55.图1为本技术实施例提供的一种抠图系统的架构示意图。如图1所示,该抠图系统可以包括服务器110、网络120、终端设备130和数据库140中的一种或多种。
56.在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。服务器组可
以是集中式的,也可以是分布式的(例如,服务器110可以是分布式系统)。在一些实施例中,服务器110相对于终端设备130,可以是本地的、也可以是远程的。例如,服务器110可以经由网络120访问存储在终端设备130、或数据库140、或其任意组合中的信息和/或数据。作为另一示例,服务器110可以直接连接到终端设备130和数据库140中至少一个,以访问存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实现;仅作为示例,云平台可以包括私有云、公有云、混合云、社区云(community cloud)、分布式云、跨云(inter-cloud)、多云(multi-cloud)等,或者它们的任意组合。
57.在一些实施例中,服务器110可以包括处理器。处理器可以处理与服务请求有关的信息和/或数据,以执行本技术中描述的一个或多个功能。在一些实施例中,处理器可以包括一个或多个处理核(例如,单核处理器(s)或多核处理器(s))。仅作为举例,处理器可以包括中央处理单元(central processing unit,cpu)、专用集成电路(application specific integrated circuit,asic)、专用指令集处理器(application specific instruction-set processor,asip)、图形处理单元(graphics processing unit,gpu)、物理处理单元(physics processing unit,ppu)、数字信号处理器(digital signal processor,dsp)、现场可编程门阵列(field programmable gate array,fpga)、可编程逻辑器件(programmable logic device,pld)、控制器、微控制器单元、简化指令集计算机(reduced instruction set computing,risc)、或微处理器等,或其任意组合。
58.网络120可以用于信息和/或数据的交换。在一些实施例中,抠图系统中的一个或多个组件可以向其他组件发送信息和/或数据。例如,服务器110可以经由网络120从终端设备130获取服务请求。在一些实施例中,网络120可以是任何类型的有线或者无线网络,或者是他们的结合。仅作为示例,网络120可以包括有线网络、无线网络、光纤网络、远程通信网络、内联网、因特网、局域网(local area network,lan)、广域网(wide area network,wan)、无线局域网(wireless local area networks,wlan)、城域网(metropolitan area network,man)、广域网(wide area network,wan)、公共电话交换网(public switched telephone network,pstn)、蓝牙网络、zigbee网络、或近场通信(near field communication,nfc)网络等,或其任意组合。在一些实施例中,网络120可以包括一个或多个网络接入点。例如,网络120可以包括有线或无线网络接入点,例如基站和/或网络交换节点,抠图系统的一个或多个组件可以通过该接入点连接到网络120以交换数据和/或信息。
59.在一些实施例中,终端设备130可以包括移动设备、平板计算机、膝上型计算机、或机动车辆中的内置设备等,或其任意组合。在一些实施例中,机动车辆中的内置设备可以包括车载计算机、车载电视等。在一些实施例中,终端设备130可以是具有定位技术的设备,用于定位终端的位置。在一些实施例中,终端设备130可以将定位信息发送给服务器110。
60.数据库140可以存储数据和/或指令。在一些实施例中,数据库140可以存储从终端设备130获得的数据。在一些实施例中,数据库140可以存储在本技术中描述的示例性方法的数据和/或指令。在一些实施例中,数据库140可以包括大容量存储器、可移动存储器、易失性读写存储器、或只读存储器(read-only memory,rom)等,或其任意组合。作为举例,大容量存储器可以包括磁盘、光盘、固态驱动器等;可移动存储器可包括闪存驱动器、软盘、光盘、存储卡、zip磁盘、磁带等;易失性读写存储器可以包括随机存取存储器(random access memory,ram);ram可以包括动态ram(dynamic random access memory,dram),双倍数据速
率同步动态ram(double date-rate synchronous ram,ddr sdram);静态ram(static random-access memory,sram),晶闸管ram(thyristor-based random access memory,t-ram)和零电容器ram(zero-ram)等。作为举例,rom可以包括掩模rom(mask read-only memory,mrom)、可编程rom(programmable read-only memory,prom)、可擦除可编程rom(programmable erasable read-only memory,perom)、电可擦除可编程rom(electrically erasable programmable read only memory,eeprom)、光盘rom(cd-rom)、以及数字通用磁盘rom等。在一些实施例中,数据库140可以在云平台上实现。仅作为示例,云平台可以包括私有云、公有云、混合云、社区云、分布式云、跨云、多云或者其它类似的等,或其任意组合。
61.在一些实施例中,数据库140可以连接到网络120以与抠图系统中的一个或多个组件(例如,服务器110,终端设备130等)通信。抠图系统中的一个或多个组件可以经由网络120访问存储在数据库140中的数据或指令。在一些实施例中,数据库140可以直接连接到抠图系统中的一个或多个组件(例如,服务器110,终端设备130等);或者,在一些实施例中,数据库140也可以是服务器110的一部分。
62.在一些实施例中,抠图系统中的一个或多个组件(例如,服务器110,终端设备130等)可以具有访问数据库140的权限。在一些实施例中,当满足一定条件时,抠图系统中的一个或多个组件可以读取和/或修改与终端设备130有关的信息。例如,服务器110可以在接收服务请求之后读取和/或修改一个或多个用户的信息。
63.图2为本技术实施例提供的一种电子设备的结构示意图。该电子设备可以是实现本技术思想的服务器、终端设备等。如图2所示,处理器112可以用于电子设备200上,并且用于执行本技术中的功能。
64.电子设备200可以是通用计算机或特殊用途的计算机,两者都可以用于实现本技术的抠图方法。本技术尽管仅示出了一个计算机,但是为了方便起见,可以在多个类似平台上以分布式方式实现本技术描述的功能,以均衡处理负载。
65.例如,电子设备200可以包括连接到网络的网络端口210、用于执行程序指令的一个或多个处理器220、通信总线230、和不同形式的存储介质240,例如,磁盘、rom、或ram,或其任意组合。示例性地,计算机平台还可以包括存储在rom、ram、或其他类型的非暂时性存储介质、或其任意组合中的程序指令。根据这些程序指令可以实现本技术的方法。电子设备200还包括计算机与其他输入输出设备(例如键盘、显示屏)之间的输入/输出(input/output,i/o)接口250。
66.为了便于说明,在电子设备200中仅描述了一个处理器。然而,应当注意,本技术中的电子设备200还可以包括多个处理器,因此本技术中描述的一个处理器执行的步骤也可以由多个处理器联合执行或单独执行。例如,若电子设备200的处理器执行步骤a和步骤b,则应该理解,步骤a和步骤b也可以由两个不同的处理器共同执行或者在一个处理器中单独执行。例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一处理器和第二处理器共同执行步骤a和b。
67.图3为本技术实施例提供的一种抠图方法的流程示意图,该方法的执行主体为上述的服务器、终端设备等。如图3所示,该方法可以包括:
68.s101、提取待处理图像的特征图。
69.其中,待处理图像可以是任意需要进行抠图操作的图像,待处理图像的特征图可
以基于显著性检测方法提取,所提取的特征图可以表征待处理图像的显著性,可选地,该显著性检测方法可以包括但不限于:全卷积神经网络(fully convolutional networks,fcn)、特征金字塔网络(parallel feature pyramid network,pfpnet)、边界感知网络basnet等,在此不作限定。
70.s102、根据预设激活函数对特征图进行处理,生成激活图,预设激活函数基于三角函数实现,用于将特征图中的特征值映射至预设阈值范围内。
71.其中,三角函数可以包括下述至少一项:正弦函数、余弦函数。可选地,该三角函数可以是正弦函数或余弦函数,预设阈值范围可以是0至1,在此不作限定。激活图,也即通过预设激活函数对特征图进行处理后得到的特征图。
72.可以理解的是,预设激活函数基于三角函数实现时,可以将特征图中的特征值基于三角函数的特性非线性映射至预设阈值范围内,使得通过映射,所得到的激活图中,在保留了特征图中高特征值的同时还加强了低特征值,进而基于该激活图进行抠图操作时,特别地,若待处理图像中主体和背景较为接近,依然可以得到较好的抠图效果。
73.s103、根据激活图,获取待处理图像中的目标图像区域,目标图像区域包括主体图像。
74.在得到了激活图之后,则可以基于显著性检测算法对激活图进行显著性检测,以获取待处理图像中的目标图像区域,其中,该目标检测区域可以包括主体图像,可选地,该主体图像可以为目标图像区域的前景图像,在此不作限定。
75.综上,本技术实施例提供一种抠图方法,包括:提取待处理图像的特征图;根据预设激活函数对特征图进行处理,生成激活图,预设激活函数基于三角函数实现,用于将特征图中的特征值映射至预设阈值范围内;根据激活图,获取待处理图像中的目标图像区域,目标图像区域包括主体图像,应用本技术实施例,使得通过预设激活函数可以将特征图中的特征值基于三角函数的特性非线性映射至预设阈值范围内,使得通过映射,所得到的激活图中,在保留了特征图中高特征值的同时还加强了低特征值,进而基于该激活图进行抠图操作时,可以避免目标图像区域出现残缺,提高抠图效果。此外,应用本技术的抠图方法可以实现自动化抠图,提高抠图效率。
76.图4为本技术实施例提供的另一种抠图方法的流程示意图。可选地,如图4所示,上述根据预设激活函数对特征图进行处理,生成激活图,包括:
77.s201、获取特征图中的最大特征值、最小特征值。
78.s202、根据最大特征值、最小特征值以及与预设激活函数,对特征图中的各特征值进行映射处理,生成激活图。
79.其中,对于特征图来说,可以通过比较,获取特征图中的最大特征值、最小特征值,进而根据该最大特征值、最小特征值以及与预设激活函数,可以从整体上对特征图中的各特征值进行映射处理,也即可以根据特征图中高特征值、低特征值的分布情况对特征图中的各特征值进行映射处理,生成激活图,可以理解的是,此时,所生成的激活图中将有效保留了特征图中高特征值的同时还加强了低特征值,进而后续根据激活图,获取待处理图像中的目标图像区域时,可以避免低特征值被抛弃或忽略,进而避免目标图像区域出现残缺,可以有效提高抠图效果。
80.基于上述说明,可以理解的是,若待处理图像中主体图像与背景图像比较相似,又
或者,待处理图像中的主体为透明主体,应用本技术实施例,都可以准确获取到待处理图像中的目标图像区域。
81.图5为本技术实施例提供的一种现有激活函数的曲线示意图,图6为本技术实施例提供的一种预设激活函数的曲线示意图。可选地,上述根据最大特征值、最小特征值以及与预设激活函数,对特征图中的各特征值进行映射处理,生成激活图,包括:
82.根据预设激活函数对特征图中的各特征值进行映射处理,生成激活图,其中,f(xi)表示特征值xi映射后的目标特征值,xi表示特征图对应的特征向量中第i个特征值,x
max
表示特征图对应的特征向量中的最大特征值,x
min
表示特征图对应的特征向量中的最小特征值。
83.其中,预设激活函数可以基于正弦函数实现,通过上述预设激活函数f(xi)可以看出,预设激活函数可以将特征值xi归一化至0至π/2,而根据余弦函数的性质可知,通过预设激活函数可以将特征值xi映射至0至1,且从图5中可以看出,其中,图5中横轴表示特征图对应的特征向量中第i个特征值,纵轴表示通过现有激活函数将特征值xi映射后的特征值,由于现有激活函数会对低特征值进行抑制,因此,应用现有激活函数,会存在低特征值被抛弃或忽略的问题;而从图6中可以看出,应用本技术实施例提供的预设激活函数,映射过程中,在保留了特征图中高特征值的同时还加强了低特征值,因此,可以解决现有技术中激活函数处理过程中,低特征值被抛弃或忽略的问题,可以有效提高抠图效果。
84.当然,需要说明的是,上述预设激活函数也可以基于余弦函数实现,当然,本技术在此并不限定具体的实现公式,只要可以起到保留特征图中高特征值的同时还可以加强低特征值的技术效果即可。
85.图7为本技术实施例提供的又一种抠图方法的流程示意图。可选地,如图7所示,上述根据激活图,获取待处理图像中的目标图像区域,包括:
86.s301、对激活图中的各特征值进行统计分析,获取各特征值的分布情况。
87.s302、根据各特征值的分布情况,确定至少一个初始二值化阈值。
88.其中,各特征值的分布情况可以表征各特征值对应的像素点的数量,因此,通过对该激活图中的各特征值进行统计分析,可以得到激活图中各特征值对应的像素点的数量。可选地,各特征值的分布情况可以用直方图进行表示,其中,直方图中横坐标可以表示从小到大的各特征值,纵坐标可以表示像素点的数量,根据各特征值的分布情况,可以在各特征值中确定至少一个特征值作为至少一个初始二值化阈值,其中,每个初始二值化阈值对应的像素点的数量,小于相邻两个特征值对应的像素点的数量。
89.s303、根据至少一个初始二值化阈值,对激活图进行二值化处理,获取二值图像。
90.s304、根据二值图像,提取待处理图像中的目标图像区域。
91.其中,所得到的二值图像中,其特征值可以包括0和1,其中,根据至少一个初始二值化阈值对激活图进行二值化处理时,可选地,可以将激活图中小于初始二值化阈值的特征值二值化为0,大于初始二值化阈值的特征值二值化为1,以得到二值图像。可以理解的是,此时通过该二值图像,即可确定待处理图像中的目标图像区域和非目标区域图像,可选地,二值图像中为1的区域可以为目标图像区域。当然,本技术在此并不限定该确定方式,根据实际的应用场景,也可以对该二值图像作进一步填充操作等,以提取待处理图像中的目
标图像区域。
92.当然,本技术在此并不限定初始二值化阈值的数量,根据实际的应用场景可以包括3个、5个或任意数量个。
93.图8为本技术实施例提供的另一种抠图方法的流程示意图。可以理解的是,若初始二值化阈值包括多个,此时,有必要在该多个初始二值化阈值中确定一个作为目标二值化阈值,可选地,若初始二值化阈值包括多个,如图8所示,上述根据至少一个初始二值化阈值,对激活图进行二值化处理,获取二值图像,包括:
94.s401、分别采用各初始二值化阈值对激活图进行二值化处理,获取各初始二值化阈值对应的初始二值图像。
95.s402、统计各初始二值化阈值对应的初始二值图像中特征值符合预设阈值的像素点数量。
96.其中,对于各初始二值化阈值来说,可以参见前述的二值化处理方式,采用各初始二值化阈值对激活图进行二值化处理,通过处理,可以得到各初始二值化阈值对应的初始二值图像。此时,可以统计各初始二值图像中特征值符合预设阈值的像素点数量,其中,根据预设阈值,可以判断该初始二值图像中各特征值是否为待处理图像中目标图像区域对应的特征值,可选地,该预设阈值可以为1,也即可以统计各初始二值图像中特征值为1的像素点数量,当然,预设阈值的取值并不以此为限。
97.s403、根据各初始二值图像中特征值符合预设阈值的像素点数量,确定目标二值化阈值。
98.s404、根据目标二值化阈值,对激活图进行二值化处理,获取二值图像。
99.基于上述说明,在得到各初始二值图像中特征值符合预设阈值的像素点数量后,则可根据该像素点数量,在多个初始二值化阈值中确定目标二值化阈值,进而可以根据目标二值化阈值,对激活图进行二值化处理,获取二值图像。可选地,确定目标二值化阈值时,可以对该多个初始二值化阈值按照从小到大的排序顺序进行排序,取中间位置对应的初始二值化阈值作为目标二值化阈值,当然,实际确定方式并不以此为限。
100.图9为本技术实施例提供的又一种抠图方法的流程示意图。可选地,如图9所示,上述根据各初始二值图像中特征值符合预设阈值的像素点数量,确定目标二值化阈值,包括:
101.s501、根据各初始二值图像中特征值符合预设阈值的像素点数量,生成各初始二值图像对应的像素点分布曲线。
102.s502、根据像素点分布曲线,确定最大变化率对应的初始二值化阈值。
103.s503、将最大变化率对应的初始二值化阈值作为目标二值化阈值。
104.其中,各初始二值图像对应的像素点分布曲线可以表征各初始二值化阈值和各初始二值图像中特征值符合预设阈值的像素点数量之间的关系,可以理解的是,根据该像素点分布曲线,即可确定最大变化率对应的初始二值化阈值,所确定的该初始化阈值即可作为目标二值化阈值,应用本技术实施例,使得采用目标二值化阈值对激活图进行二值化处理时,可以避免待处理图像中目标图像区域的低特征值被抛弃或忽略,可以提高抠图效果;此外,使得对于不同待处理图像对应的激活图,可以采用不同的目标二值化阈值进行二值化处理,提高本技术抠图方法的适用性。
105.可选地,像素点分布曲线中,横坐标可以为各初始二值化阈值,纵坐标可以为各初
始二值化阈值对应的各初始二值图像中特征值符合预设阈值的像素点数量,则根据像素点分布曲线,可以确定最大变化率对应的初始二值化阈值,则该最大变化率对应的初始二值化阈值则可作为目标二值化阈值,当然,实际确定方式并不以此为限。
106.图10为本技术实施例提供的另一种抠图方法的流程示意图。可选地,如图10所示,上述根据二值图像,提取待处理图像中的目标图像区域,包括:
107.s601、采用预设边缘检测算法检测二值图像中对应的目标图像区域的边缘。
108.s602、根据二值图像中对应的目标图像区域的边缘和预设填充算法对二值图像进行填充操作,获取处理后的二值图像。
109.s603、根据处理后的二值图像,提取待处理图像中的目标图像区域。
110.其中,考虑到特征提取过程对二值图像的影响会导致二值图像的边缘出现大量的毛刺,可以采用预设边缘检测算法检测二值图像中对应的目标图像区域的边缘,根据目标图像区域的边缘和预设填充算法对二值图像进行填充操作,获取处理后的二值图像,可以理解的是,通过填充操作,可以消除二值图像中的毛刺,进而根据处理后的二值图像,提取待处理图像中的目标图像区域时,可以保证所抠图的目标图像区域的平滑性,得到较好的抠图效果。
111.可选地,该预设边缘检测算法可以基于canny边缘检测算子、roberts算子、sobel边缘检测算法等实现,在此不作限定。
112.图11为本技术实施例提供的又一种抠图方法的流程示意图。可选地,如图11所示,上述根据二值图像中对应的目标图像区域的边缘和预设填充算法对二值图像进行填充操作,获取处理后的二值图像可以包括:
113.s701、根据二值图像中对应的目标图像区域的边缘,确定二值图像对应的填充边界。
114.s702、根据二值图像对应的填充边界,对二值图像进行填充操作,获取处理后的二值图像。
115.可选地,采用预设边缘检测算法检测二值图像中对应的目标图像区域的边缘时,根据检测过程中是否检测到孔洞,可以选取不同的填充方法进行填充。其中,若检测到孔洞时,可以根据检测的内边界和外边界,对内边界和外边界之间的区域进行填充;若未检测到孔洞,可以根据检测的外边界,对该外边界之内的区域进行填充,可选地,进行填充操作是,可以将待填充区域填充为预设特征值,比如,填充为1或者0等,在此不作限定。可以理解的是,使得通过填充,可以有效消除二值图像中的毛刺,进而根据处理后的二值图像进行抠图操作时,可以保证所抠图的目标图像区域的平滑性,得到较好的抠图效果。当然,本技术在此并不限定具体的填充方法,根据实际的应用场景可以选取不同的填充方法。
116.可选地,上述提取待处理图像的特征图可以包括:
117.基于显著性检测网络对待处理图像进行特征提取,获取特征图,显著性检测网络包括:卷积神经网络。
118.可选地,该显著性检测网络可以基于u2net网络实现,其中,需要说明的是,u2net网络中特征提取部分可以基于卷积神经网络(convolutional neural networks,cnn)、全卷积神经网络(fully convolutional networks,fcn)等实现,只要可以实现快速更迭替换,保证处理精度和处理性能之间的均衡即可。当然,本技术在此并不限定卷积神经网络中
卷积层数、卷积核大小、步长等参数,根据实际的应用场景可以有所不同。
119.在一些实施例中,u2net网络中特征提取部分基于cnn实现时,也可以结合频率卷积网络octconv实现,其中,结合octconv网络进行抠图操作时,可以有效减少存储以及计算量。此外,需要说明的是,该显著性检测网络也可以具备前述根据预设激活函数对特征图进行处理,生成激活图;根据激活图,获取待处理图像中的目标图像区域的功能,关于该部分的说明,可参见前述的相关部分,本技术在此不再赘述。
120.可选地,在一些实施例中,上述抠图方法还包括:获取训练样本集,训练样本集包括多个样本图像,每个样本图像标注有目标图像区域,目标图像区域包括主体图像;根据训练样本集,训练获取显著性检测网络。其中,本技术在此并不限定训练样本集中样本图像的数量,根据实际的应用场景可以有所不同,应用本技术实施例,使得所训练的显著性检测网络用于抠图场景时,可以提高抠图效果。
121.图12为本技术实施例提供的一种抠图装置的功能模块示意图,该抠图装置可以是前述的服务器,终端设备,该装置基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。如图12所示,该抠图装置500可以包括:
122.提取模块510,用于提取待处理图像的特征图;
123.生成模块520,用于根据预设激活函数对所述特征图进行处理,生成激活图,所述预设激活函数基于三角函数实现,用于将所述特征图中的特征值映射至预设阈值范围内;
124.获取模块530,用于根据所述激活图,获取所述待处理图像中的目标图像区域,所述目标图像区域包括主体图像。
125.在可选的实施方式中,生成模块520,具体用于获取所述特征图中的最大特征值、最小特征值;根据所述最大特征值、最小特征值以及与预设激活函数,对所述特征图中的各特征值进行映射处理,生成所述激活图。
126.在可选的实施方式中,生成模块520,具体用于根据预设激活函数对所述特征图中的各特征值进行映射处理,生成所述激活图,其中,f(xi)表示特征值xi映射后的目标特征值,xi表示特征图对应的特征向量中第i个特征值,x
max
表示特征图对应的特征向量中的最大特征值,x
min
表示特征图对应的特征向量中的最小特征值。
127.在可选的实施方式中,生成模块520,具体用于对所述激活图中的各特征值进行统计分析,获取各特征值的分布情况;
128.根据各所述特征值的分布情况,确定至少一个初始二值化阈值;
129.根据至少一个所述初始二值化阈值,对所述激活图进行二值化处理,获取二值图像;
130.根据所述二值图像,提取所述待处理图像中的目标图像区域。
131.在可选的实施方式中,生成模块520,具体用于分别采用各所述初始二值化阈值对所述激活图进行二值化处理,获取各所述初始二值化阈值对应的各初始二值图像;
132.统计各所述初始二值化阈值对应的初始二值图像中特征值符合预设阈值的像素点数量;
133.根据各所述初始二值图像中特征值符合预设阈值的像素点数量,确定目标二值化阈值;
134.根据所述目标二值化阈值,对所述激活图进行二值化处理,获取二值图像。
135.在可选的实施方式中,生成模块520,具体用于根据各所述初始二值图像中特征值符合预设阈值的像素点数量,生成各所述初始二值图像对应的像素点分布曲线;
136.根据所述像素点分布曲线,确定最大变化率对应的初始二值化阈值;
137.将所述最大变化率对应的初始二值化阈值作为目标二值化阈值。
138.在可选的实施方式中,生成模块520,具体用于采用预设边缘检测算法检测所述二值图像中对应的所述目标图像区域的边缘;
139.根据所述二值图像中对应的所述目标图像区域的边缘和预设填充算法对所述二值图像进行填充操作,获取处理后的二值图像;
140.根据所述处理后的二值图像,提取所述待处理图像中的目标图像区域。
141.在可选的实施方式中,生成模块520,具体用于根据所述二值图像中对应的所述目标图像区域的边缘,确定所述二值图像对应的填充边界;
142.根据所述二值图像对应的填充边界,对所述二值图像进行填充操作,获取处理后的二值图像。
143.在可选的实施方式中,提取模块510,具体用于基于显著性检测网络对所述待处理图像进行特征提取,获取特征图,所述显著性检测网络包括:卷积神经网络。
144.上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
145.以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微处理器,或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。
146.可选地,本技术还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
147.可选地,本技术还提供一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现如上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
148.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
149.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
150.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
151.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本技术各个实施例方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-only memory,简称:rom)、随机存取存储器(英文:random access memory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
152.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
153.以上仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
154.本技术实施例公开了ts1、一种抠图方法,包括:
155.提取待处理图像的特征图;
156.根据预设激活函数对所述特征图进行处理,生成激活图,所述预设激活函数基于三角函数实现,用于将所述特征图中的特征值映射至预设阈值范围内,所述三角函数包括下述至少一项:正弦函数、余弦函数;
157.根据所述激活图,获取所述待处理图像中的目标图像区域,所述目标图像区域包括主体图像。
158.ts2、根据ts1所述的方法,所述根据预设激活函数对所述特征图进行处理,生成激活图,包括:
159.获取所述特征图中的最大特征值、最小特征值;
160.根据所述最大特征值、最小特征值以及与预设激活函数,对所述特征图中的各特征值进行映射处理,生成所述激活图。
161.ts3、根据ts2所述的方法,所述根据所述最大特征值、最小特征值以及与预设激活
函数,对所述特征图中的各特征值进行映射处理,生成所述激活图,包括:
162.根据预设激活函数对所述特征图中的各特征值进行映射处理,生成所述激活图,其中,f(xi)表示特征值xi映射后的目标特征值,xi表示特征图对应的特征向量中第i个特征值,x
max
表示特征图对应的特征向量中的最大特征值,x
min
表示特征图对应的特征向量中的最小特征值。
163.ts4、根据ts2所述的方法,所述根据所述激活图,获取所述待处理图像中的目标图像区域,包括:
164.对所述激活图中的各特征值进行统计分析,获取各特征值的分布情况;
165.根据各所述特征值的分布情况,确定至少一个初始二值化阈值;
166.根据至少一个所述初始二值化阈值,对所述激活图进行二值化处理,获取二值图像;
167.根据所述二值图像,提取所述待处理图像中的目标图像区域。
168.ts5、根据ts4所述的方法,若所述初始二值化阈值包括多个,所述根据至少一个所述初始二值化阈值,对所述激活图进行二值化处理,获取二值图像,包括:
169.分别采用各所述初始二值化阈值对所述激活图进行二值化处理,获取各所述初始二值化阈值对应的各初始二值图像;
170.统计各所述初始二值化阈值对应的初始二值图像中特征值符合预设阈值的像素点数量;
171.根据各所述初始二值图像中特征值符合预设阈值的像素点数量,确定目标二值化阈值;
172.根据所述目标二值化阈值,对所述激活图进行二值化处理,获取二值图像。
173.ts6、根据ts5所述的方法,所述根据各所述初始二值图像中特征值符合预设阈值的像素点数量,确定目标二值化阈值,包括:
174.根据各所述初始二值图像中特征值符合预设阈值的像素点数量,生成各所述初始二值图像对应的像素点分布曲线;
175.根据所述像素点分布曲线,确定最大变化率对应的初始二值化阈值;
176.将所述最大变化率对应的初始二值化阈值作为目标二值化阈值。
177.ts7、根据ts4所述的方法,所述根据所述二值图像,提取所述待处理图像中的目标图像区域,包括:
178.采用预设边缘检测算法检测所述二值图像中对应的所述目标图像区域的边缘;
179.根据所述二值图像中对应的所述目标图像区域的边缘和预设填充算法对所述二值图像进行填充操作,获取处理后的二值图像;
180.根据所述处理后的二值图像,提取所述待处理图像中的目标图像区域。
181.ts8、根据ts7所述的方法,所述根据所述二值图像中对应的所述目标图像区域的边缘和预设填充算法对所述二值图像进行填充操作,获取处理后的二值图像,包括:
182.根据所述二值图像中对应的所述目标图像区域的边缘,确定所述二值图像对应的填充边界;
183.根据所述二值图像对应的填充边界,对所述二值图像进行填充操作,获取处理后
的二值图像。
184.ts9、根据ts1-ts8任一项所述的方法,所述提取待处理图像的特征图,包括:
185.基于显著性检测网络对所述待处理图像进行特征提取,获取特征图,所述显著性检测网络包括:卷积神经网络。
186.ts10、一种抠图装置,包括:
187.提取模块,用于提取待处理图像的特征图;
188.生成模块,用于根据预设激活函数对所述特征图进行处理,生成激活图,所述预设激活函数基于三角函数实现,用于将所述特征图中的特征值映射至预设阈值范围内;
189.获取模块,用于根据所述激活图,获取所述待处理图像中的目标图像区域,所述目标图像区域包括主体图像。
190.ts11、一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如ts1-ts9任一项所述抠图方法的步骤。
191.ts12、一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如ts1-ts9任一项所述抠图方法的步骤。
192.ts13、一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如ts1-ts9任一项所述抠图方法的步骤。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1