技术领域
[0001] 本公开涉及图像处理技术领域,具体涉及一种基于无监督或弱监督方式的图像分割数据标注方法及系统。
相关背景技术
[0002] 随着人工智能相关技术的研究发展,计算机自动生成标注信息的无监督数据标注方法以及充分利用人工标注信息与学习规则相结合的弱监督数据标注方法成为了急需解决的关键问题。
[0003] 传统的图像分割数据标注方法需要对图像进行逐一的像素级的精细的数据标注,这些手动标记的训练集创建起来既昂贵又耗时,通常需要花费许多人数月或者数年的成本来进行数据的收集、清理和调试,使得强监督信息的获得需要较大的成本。
[0004] 本公开提供的一种基于无监督和弱监督方式的图像分割数据标注方法及系统,能够极大的降低数据标注的人力资源消耗,提高数据标注的效率,使得数据标注更好的适应当前人工智能相关技术的发展。
具体实施方式
[0021] 以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
[0022] 在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
[0023] 在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
[0024] 在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
[0025] 附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理系统的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的系统。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
[0026] 图1示意性示出了根据本公开一实施例的基于无监督或弱监督方式的图像分割数据标注方法的流程图。
[0027] 如图1所示,该基于无监督或弱监督方式的图像分割数据标注方法包括:S1,获取待标注的图像数据并输入标注系统;S2,根据待标注的图像数据选择分割任务的数据标注方式,其中,数据标注方式包括无监督标注方式或弱监督标注方式,无监督标注方式用于对待标注图像数据进行无监督方式标注,自动生成数据标签;弱监督标注方式用于对待标注图像数据进行弱监督方式标注,利用人工标注信息与学习规则相结合生成数据标签;S3,根据S2中选择的数据标注方式将待标注的图像数据输入至已训练的无监督或弱监督分割标注网络进行标注,生成待标注图像数据的数据标签;S4,输出并存储数据标签。
[0028] 根据本公开的实施例,S1中待标注的图像数据从本地存储设备获取,输入该标注系统。其中,该待标注的图像数据可以为.jpg、.png、.tif等格式的数据图片。
[0029] 根据本公开的实施例,S4中数据标签存储至本地存储设备的硬盘。
[0030] 本公开的一实施例中,如图2所示,从本地存储设备获取待标注的图像数据输入该标注系统,利用标注方式选择单元选择无监督标注方式后,该待标注的图像数据输入至已训练的无监督分割标注网络进行标注,生成生成待标注图像数据的数据标签。其中,该无监督分割标注网络采用全卷积自适应网络,全卷积自适应网络是一种结合了图像域适应网络和特征自适应网络的无监督的语义分割结构。图像域适应网络在像素空间中学习从一个域到另一个域的变换,并且以对抗性学习方式优化特征自适应网络以最大限度地利用学习的源域和目标域来欺骗域鉴别器。
[0031] 具体地,通过全卷积自适应网络生成待标注图像数据的数据标签包括:采用图像域适应模块对待标注图像数据在像素空间中进行域的变换,其中,根据给定的两个域的输入图像,首先利用图像域适应网络从视觉外观的角度将图像从一个域转移到另一个域,视觉外观往往是域不变的;然后采用特征适应模块指导输出的进行域变后的待标注图像数据,生成数据标签,其中,特征适应模块通过最大限度地利用学习的源和目标表示来欺骗域鉴别器,以对抗方式学习域不变表示,特征适应模块的目标是指导两个域中的表示学习,使源和目标表示通过域判别器无法区分。
[0032] 本公开的另一实施例中,如图3所示,从本地存储设备获取待标注的图像数据输入该标注系统,利用标注方式选择单元选择弱监督标注方式后,该待标注的图像数据输入至已训练的弱监督分割标注网络进行标注,生成生成待标注图像数据的数据标签。其中,该弱监督分割标注网络采用高效交互式图像标注Curve‑GCN网络,Curve‑GCN网络首先用户对边界框进行标注,然后在Curve‑GCN中,网络对边界框进行裁剪和编码并生成精细的边界信息。
[0033] 具体地,通过Curve‑GCN网络生成待标注图像数据的数据标签包括:采用特征提取模块对待标注图像数据进行特征提取,其中,按照边界框裁剪给定的图片,使用CNN对其进行编码,目标的n个控制点很好的被表示出来,将n个控制点用直线相连组成一个多边形,用高阶曲线相连形成一个闭合的曲线;采用GCN模块获取目标精细边界信息,生成数据标签,其中,将每一个控制点作为一个连续的随机向量,将图像输入到图神经网络中,预测控制点的位置,最终得到目标的精细的边界信息。
[0034] 需说明的是,根据实际应用需求,本公开实施例中弱监督分割标注网络并不仅限于全卷积自适应网络,同理,弱监督标注方式也并不仅限于Curve‑GCN网络,其可根据实际应用进行调整数据标注方式,并根据数据标注方式分别调用相应的分割标注网络。
[0035] 图4示意性示出了根据本公开一实施例的基于无监督或弱监督方式的图像分割数据标注系统的框图。
[0036] 如图4所示,该基于无监督或弱监督方式的图像分割数据标注系统400包括:数据获取单元410、标注方式选择单元420、标签生成单元430及数据存储单元440,该系统可以用于实现参考图1~图3所描述的基于无监督或弱监督方式的图像分割数据标注方法。
[0037] 数据获取单元410,用于获取待标注图像数据,并输入该标注系统。
[0038] 标注方式选择单元420,用于根据待标注图像数据选择分割任务的数据标注方式,其中,数据标注方式包括无监督标注方式或弱监督标注方式,无监督标注方式用于对待标注图像数据进行无监督方式标注,自动生成数据标签;弱监督标注方式用于对待标注图像数据进行弱监督方式标注,利用人工标注信息与学习规则相结合生成数据标签。
[0039] 标签生成单元430,用于根据选择的数据标注方式将待标注的图像数据输入至已训练的无监督或弱监督分割标注网络进行标注,生成待标注图像数据的数据标签;
[0040] 数据存储单元440,用于输出并存储该数据标签。
[0041] 根据本公开的实施例,标签生成单元430中已训练的无监督分割标注网络为全卷积自适应网络,该全卷积自适应网络包括:图像域适应模块,用于对待标注图像数据在像素空间中进行域的变换;特征适应模块,用于根据图像域适应模块输出的进行域变后的待标注图像数据,生成数据标签。
[0042] 根据本公开的实施例,标签生成单元430中弱训练的无监督分割标注网络为Curve‑GCN网络,该Curve‑GCN网络包括:特征提取模块,用于对待标注图像数据进行特征提取;GCN模块,用于获取目标精细边界信息,生成数据标签。
[0043] 根据本公开的实施例,数据获取单元从本地存储设备选取待标注图像数据,并输入该标注系统。
[0044] 根据本公开的实施例,数据存储单元将数据标签存储至本地存储设备的硬盘。
[0045] 根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0046] 例如,数据获取单元410、标注方式选择单元420、标签生成单元430及数据存储单元440中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,数据获取单元410、标注方式选择单元420、标签生成单元430及数据存储单元440中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,数据获取单元410、标注方式选择单元420、标签生成单元430及数据存储单元440中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
[0047] 附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0048] 本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
[0049] 尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。