目标图像提取方法、神经网络训练方法和装置与流程

文档序号:23727809发布日期:2021-01-26 17:51阅读:138来源:国知局
目标图像提取方法、神经网络训练方法和装置与流程

[0001]
本公开涉及人工智能技术领域,具体涉及计算机视觉,尤其涉及一种目标图像提取方法、神经网络训练方法、装置、计算设备和介质。


背景技术:

[0002]
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
[0003]
从图像中提取目标图像的目标识别技术或者称为对象识别技术已经得到广泛应用。然而,在原始图像较多、存在多种形态的特定目标或者图像质量不佳的情况下,这样提取出的目标图像很可能是不期望的。


技术实现要素:

[0004]
根据本公开的一个方面,公开了一种目标图像提取方法,包括:获取输入图像;识别所述输入图像中是否包含属于目标类别的对象;响应于所述输入图像中包含属于所述目标类别的对象且所述对象具有第一外观形态,输出目标图像;以及响应于所述输入图像中包含属于所述目标类别的对象且所述对象具有不同于所述第一外观形态的第二外观形态,不输出所述目标图像,其中,所述目标图像是所述输入图像中的包含所述对象的局部区域。
[0005]
根据本公开的另一个方面,公开了一种神经网络的训练方法,使用其中存在属于目标类别的对象的图像作为正样本集合,并且使用其中不存在属于所述目标类别的对象的图像作为负样本集合,对所述神经网络进行训练;其中,所述正样本集合包括第一正样本子集和第二正样本子集,所述第一正样本子集中的图像包括具有第一外观形态的对象,并且所述第二正样本子集中的图像包括具有第二外观形态的对象,并且其中,对所述神经网络进行训练还包括,计算样本的外观属性值;对所述神经网络的参数进行调整,使得所述第一正样本子集中的样本的外观属性值落入第一外观属性值区间中,并且所述第二正样本子集中的样本的外观属性值落入第二外观属性值区间中,所述第二外观属性值区间与所述第一外观属性值区间不重叠。
[0006]
根据本公开的另一方面,公开了一种装置,包括:图像输入单元,用于获取输入图像;对象识别单元,用于识别所述输入图像中是否包含属于目标类别的对象;以及图像输出单元,所述图像输出单元被配置成:响应于所述输入图像中包含属于所述目标类别的对象且所述对象具有第一外观形态,输出目标图像;以及响应于所述输入图像中包含属于所述目标类别的对象且所述对象具有不同于所述第一外观形态的第二外观形态,不输出所述目标图像,其中,所述目标图像是所述输入图像中的包含所述对象的局部区域。
[0007]
根据本公开的又一方面,公开了一种装置,所述装置包括根据上述训练方法训练
的神经网络。
[0008]
根据本公开的另一方面,公开了一种计算设备,可以包括:处理器;以及存储程序的存储器,程序包括由处理器执行时使处理器执行上述目标图像提取方法或训练方法的指令。
[0009]
根据本公开的又一方面,公开了一种存储程序的计算机可读存储介质,程序可以包括在由服务器的处理器执行时使得服务器执行上述目标图像提取方法或训练方法的指令。
附图说明
[0010]
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
[0011]
图1是根据本公开的实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;
[0012]
图2是根据本公开的实施例的目标图像提取方法的流程图;
[0013]
图3是根据本公开的实施例的用于训练神经网络的方法的流程图;
[0014]
图4是根据本公开的另一实施例的用于训练神经网络的方法的流程图;
[0015]
图5是根据本公开的另一实施例的用于训练神经网络的方法的流程图;
[0016]
图6(a)-6(b)是图5的方法可以使用的示例样本图;
[0017]
图7是可以使用图5的方法进行训练的示例神经网络的网络结构示意图;
[0018]
图8示出了根据本公开的实施例的装置的结构框图;
[0019]
图9示出了能够用于实现本公开的实施例的示例性服务器和客户端的结构框图。
具体实施方式
[0020]
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
[0021]
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
[0022]
下面将结合附图详细描述本公开的实施例。
[0023]
图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性系统100的示意图。参考图1,该系统100包括一个或多个客户端设备101、102、103、104、105和106、服务器120以及将一个或多个客户端设备耦接到服务器120的一个或多个通信网络110。客户端设备101、102、103、104、105和106可以被配置为执行一个或多个应用程序。
[0024]
在本公开的实施例中,服务器120可以运行使得能够提取目标图像、训练神经网络
或生成招牌图像的方法的一个或多个服务或软件应用。
[0025]
在某些实施例中,服务器120还可以提供可以包括非虚拟环境和虚拟环境的其他服务或软件应用。在某些实施例中,这些服务可以作为基于web的服务或云服务提供,例如在软件即服务(saas)模型下提供给客户端设备101、102、103、104、105和/或106的用户。
[0026]
在图1所示的配置中,服务器120可以包括实现由服务器120执行的功能的一个或多个组件。这些组件可以包括可由一个或多个处理器执行的软件组件、硬件组件或其组合。操作客户端设备101、102、103、104、105和/或106的用户可以依次利用一个或多个客户端应用程序来与服务器120进行交互以利用这些组件提供的服务。应当理解,各种不同的系统配置是可能的,其可以与系统100不同。因此,图1是用于实施本文所描述的各种方法的系统的一个示例,并且不旨在进行限制。
[0027]
用户可以使用客户端设备101、102、103、104、105和/或106来提取目标图像、训练神经网络或生成招牌图像。客户端设备可以提供使客户端设备的用户能够与客户端设备进行交互的接口。客户端设备还可以经由该接口向用户输出信息。尽管图1仅描绘了六种客户端设备,但是本领域技术人员将能够理解,本公开可以支持任何数量的客户端设备。
[0028]
客户端设备101、102、103、104、105和/或106可以包括各种类型的计算系统,例如便携式手持设备、通用计算机(诸如个人计算机和膝上型计算机)、工作站计算机、可穿戴设备、游戏系统、瘦客户端、各种消息收发设备、传感器或其他感测设备等。这些计算设备可以运行各种类型和版本的软件应用程序和操作系统,例如microsoft windows、apple ios、类unix操作系统、linux或类linux操作系统(例如google chrome os);或包括各种移动操作系统,例如microsoft windows mobile os、ios、windows phone、android。便携式手持设备可以包括蜂窝电话、智能电话、平板电脑、个人数字助理(pda)等。可穿戴设备可以包括头戴式显示器和其他设备。游戏系统可以包括各种手持式游戏设备、支持互联网的游戏设备等。客户端设备能够执行各种不同的应用程序,例如各种与internet相关的应用程序、通信应用程序(例如电子邮件应用程序)、短消息服务(sms)应用程序,并且可以使用各种通信协议。
[0029]
网络110可以是本领域技术人员熟知的任何类型的网络,其可以使用多种可用协议中的任何一种(包括但不限于tcp/ip、sna、ipx等)来支持数据通信。仅作为示例,一个或多个网络110可以是局域网(lan)、基于以太网的网络、令牌环、广域网(wan)、因特网、虚拟网络、虚拟专用网络(vpn)、内部网、外部网、公共交换电话网(pstn)、红外网络、无线网络(例如蓝牙、wifi)和/或这些和/或其他网络的任意组合。
[0030]
服务器120可以包括一个或多个通用计算机、专用服务器计算机(例如pc(个人计算机)服务器、unix服务器、中端服务器)、刀片式服务器、大型计算机、服务器群集或任何其他适当的布置和/或组合。服务器120可以包括运行虚拟操作系统的一个或多个虚拟机,或者涉及虚拟化的其他计算架构(例如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活池)。在各种实施例中,服务器120可以运行提供下文所描述的功能的一个或多个服务或软件应用。
[0031]
服务器120中的计算系统可以运行包括上述任何操作系统以及任何商业上可用的服务器操作系统的一个或多个操作系统。服务器120还可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一个,包括http服务器、ftp服务器、cgi服务器、java服务
器、数据库服务器等。
[0032]
在一些实施方式中,服务器120可以包括一个或多个应用程序,以分析和合并从客户端设备101、102、103、104、105和106的用户接收的数据馈送和/或事件更新。服务器120还可以包括一个或多个应用程序,以经由客户端设备101、102、103、104、105和106的一个或多个显示设备来显示数据馈送和/或实时事件。
[0033]
系统100还可以包括一个或多个数据库130。在某些实施例中,这些数据库可以用于存储数据和其他信息。例如,数据库130中的一个或多个可用于存储诸如音频文件和视频文件的信息。数据存储库130可以驻留在各种位置。例如,由服务器120使用的数据存储库可以在服务器120本地,或者可以远离服务器120且可以经由基于网络或专用的连接与服务器120通信。数据存储库130可以是不同的类型。在某些实施例中,由服务器120使用的数据存储库可以是数据库,例如关系数据库。这些数据库中的一个或多个可以响应于命令而存储、更新和检索到数据库以及来自数据库的数据。
[0034]
在某些实施例中,数据库130中的一个或多个还可以由应用程序使用来存储应用程序数据。由应用程序使用的数据库可以是不同类型的数据库,例如键值存储库,对象存储库或由文件系统支持的常规存储库。
[0035]
图1的系统100可以以各种方式配置和操作,以使得能够应用根据本公开所描述的各种方法和装置。
[0036]
下面参考图2描述根据本公开的实施例的目标图像提取方法的流程图。
[0037]
在步骤s201处,获取输入图像。
[0038]
在步骤s202处,识别输入图像中是否包含属于目标类别的对象。
[0039]
在步骤s203处,响应于输入图像中包含属于目标类别的对象且对象具有第一外观形态,输出目标图像。目标图像是输入图像中的包含对象的局部区域。
[0040]
在步骤s204处,响应于输入图像中包含属于目标类别的对象且对象具有不同于第一外观形态的第二外观形态,不输出目标图像。
[0041]
根据图2所述的方法,能够在实现目标提取的同时对相同类别的目标图像的形态进行区分,从而获得更期望的目标图像。
[0042]
例如,属于相同目标类别的第一外观形态的对象与第二外观形态的对象可以在以下各项中的至少一项中不同:清晰度、完整度、纹理特征、文字边界连续性。
[0043]
根据一些实施例,可以利用清晰度指标来区分第一外观形态和第二外观形态,并且具体地,具有第一外观形态的对象是满足清晰度指标的对象,并且具有第二外观形态的对象是不满足清晰度指标的对象。由此,能够仅仅提取清晰度符合要求的目标图像,由此能够在不对输入图像进行筛选的同时,提高生成的目标图像的质量或准确度。
[0044]
可以采用多种方式来计算清晰度。可以仅对提取的目标对象部分的图像的清晰度进行计算,也可以对全图的清晰度进行计算作为清晰度指标。例如,可以采用基于图像的梯度和相位一致性的评判方法。通过梯度函数,其常被用来提取边缘信息。聚焦良好的图像,具有更尖锐的边缘,应有更大的梯度函数值。由此,可以通过考察图像的领域对比度即相邻像素间的灰度特征的梯度差,来计算图像的清晰度。可以使用整个图像的清晰度,也可以适用对象区域的清晰度,来作为目标对象的清晰度得分。清晰度指标可以根据所需的应用来判定。又如,可以使用基于拉普拉斯变换和求方差的数学方法。可以通过对图像进行拉普拉
斯变换,然后去均方差来计算图像的清晰度。例如,在这种情况下,可以这样设定清晰度指标:如果计算结果小于100,则认为对象是模糊的也即具有第二外观形态。替选地,也可以直接通过正负样本来训练神经网络,让神经网络判断清晰的图像和模糊的图像分别需要什么特征。由此,可以以人工区分或者以其他方式例如不同数据来源来区分的正负样本,来设定清晰度指标。
[0045]
根据一些实施例,可以利用对象的完整度来区分第一外观形态和第二外观形态,并且具体地,具有第一外观形态的对象是完整的对象,并且具有第二外观形态的对象是部分被遮挡的对象。由此,能够仅仅提取完整度符合要求的目标图像,由此能够在不对输入图像进行筛选的同时,提高生成的目标图像的质量或准确度。
[0046]
可以采用多种方式来计算对象的完整度或遮挡情况。例如,可以根据特定对象类别,选取关键点,并且检测图像中识别到的对象的关键点的数量,通过可见的关键点数量并且可选地结合几何分析,计算图像中对象的完整度。又如,在已经有提取的对象图像库的情况下,可以将对象与图像库中的图像进行比对,包括形状的比对和基于ocr的比对。对于没有提取的对象图像库但是对象含有文字的情况,可以通过nlp对ocr结果进行分析,来判断对象的完整度。替选地,也可以直接通过完整的图像和被遮挡的图像分别作为正负样本来训练神经网络,让神经网络判断完整的对象和被遮挡的对象分别具有什么特征。
[0047]
根据一些实施例,可以利用对象的纹理特征来区分第一外观形态和第二外观形态,并且具体地,具有第一外观形态的对象是具有第一纹理特征的对象,并且具有第二外观形态的对象是具有与第一纹理特征不同的第二纹理特征的对象。由此,能够仅仅提取纹理特征符合要求的目标图像,由此能够在不对输入图像进行筛选的同时,提高生成的目标图像的精确度。
[0048]
可以采用多种方式来计算对象的纹理特征。这里的纹理特征也可以包括对象的几何特征。例如,可以使用基于梯度的边缘检测方法。例如,使用通过opencv软件库实现的边缘检测方法,可以通过纹理处的梯度变化提取边缘。又如,可以使用基于统计的灰度共生矩阵、自相关函数等方法来计算对象的纹理特征。例如,可以基于像元及其邻域的灰度属性、研究纹理区域中的统计特性、或像元及其邻域内的灰度的一阶、二阶或高阶统计特性等,来区分具有两种纹理特征的对象。替选地,也可以直接通过将人为选择或者以其他方式选择的具有两种视觉上不同的纹理特征的对象图像分别作为正负样本来训练神经网络,让神经网络通过学习来判断与不同的纹理特征所对应的参数。
[0049]
根据一些实施例,目标类别表征含有文本的对象,并且可以利用对象的文字边界连续性来区分第一外观形态和第二外观形态。具体地,具有第一外观形态的对象是文字边界连续的对象,并且具有第二外观形态的对象是文字边界不连续的对象。由此,能够通过文字内容对目标质量进行评价和分类,并且通过仅仅提取文字边界连续的目标图像,由此能够在不对输入图像进行筛选的同时,提高生成的目标图像的精确度和质量。
[0050]
如果待识别的对象含有文字,那么通过判断其中文字边界的连续性,可以对该对象的完整性、是否被遮挡、是否模糊、是否人眼难以识别等视觉特性进行分析。例如,如果文字边界没有问题,那么对象图像是完整可见的可能性很高。可以采用多种方式来计算对象的文字边界连续性。例如,可以通过梯度方法提取文字边缘。替选地,可以使用深度学习,例如使用deeplab、mask-rcnn等,基于文字实例分割结果对文字边界连续性进行判断。
[0051]
容易理解的是,第一外观形态和第二外观形态不限于上述特征。上面这些特征中的每一者可以单独使用,并且它们的任何组合也是适用的。可以基于对象具有这些特征中的一者将对象图像识别为具有第一外观形态或第二外观形态,也可以基于这些特征中的多者的组合甚至全部。例如,第一外观形态可以表征对象清晰并且边界完整,而第二外观形态可以表征对象包含特定纹理特征并且文字边界不连续。第一外观形态可以表征对象清晰、完整、具有第一纹理特征并且文字边界连续,而第二外观形态可以表征对象模糊、被遮挡、包含不同的第二纹理特征并且文字边界不连续。
[0052]
此外,针对不同的应用场景,第一外观形态和第二外观形态可以与上述特征不同的对象外观属性来区分。例如,第一外观形态和第二外观形态可以表征对象的不同尺度、形状、朝向、拍摄角度、生命阶段、颜色等,并且本发明不限于此。
[0053]
根据一些实施例,上述方法可以通过神经网络来进行。判断输入图像中是否包含属于目标类别的对象可以包括:通过神经网络中的第一子网络,输出输入图像中属于目标类别的对象所位于的一个或多个候选区域。响应于输入图像中包含属于目标类别的对象且对象具有第一外观形态,输出目标图像可以包括,通过神经网络中的第二子网络,对一个或多个候选区域中的每个:计算候选区域中的对象的外观属性值,基于经计算的外观属性值落入第一外观属性值区间,输出候选区域作为目标图像。对作为输入图像的局部区域的候选区域中的外观属性值进行计算,可以简化对整个输入图像进行计算的计算复杂度,增加了计算效率和准确性。根据一些实施例,上述神经网络可以是端到端训练的。例如,可以使用仅一个损失函数,对用于图像识别任务和图像分类任务的参数同时进行训练,以简化网络设计和系统架构的复杂度。此外,与级联的网络结构相比,端到端的网络结构还可以节省算力。
[0054]
下面参考图3描述根据本公开的实施例的用于训练神经网络的方法的流程图。
[0055]
在步骤s301处,使用其中存在属于目标类别的对象的图像作为正样本集合,并且使用其中不存在属于目标类别的对象的图像作为负样本集合,输入神经网络。正样本集合包括第一正样本子集和第二正样本子集,第一正样本子集中的图像包括具有第一外观形态的对象,并且第二正样本子集中的图像包括具有第二外观形态的对象。
[0056]
在步骤s302处,计算样本的外观属性值。
[0057]
在步骤s303处,基于样本的外观属性值,对神经网络的参数进行调整,使得第一正样本子集中的样本的外观属性值落入第一外观属性值区间中,并且第二正样本子集中的样本的外观属性值落入第二外观属性值区间中,第二外观属性值区间与第一外观属性值区间不重叠。
[0058]
根据图3所述的方法,能够获得这样一种神经网络,该神经网络能够在实现目标提取的同时对相同类别的目标图像的形态进行区分,从而获得更期望的目标图像。
[0059]
图4是根据本公开的另一实施例的用于训练神经网络的方法的流程图。
[0060]
在步骤s401处,使用其中存在属于目标类别的对象的图像作为正样本集合,并且使用其中不存在属于目标类别的对象的图像作为负样本集合,输入神经网络。正样本集合包括第一正样本子集和第二正样本子集,第一正样本子集中的图像包括具有第一外观形态的对象,并且第二正样本子集中的图像包括具有第二外观形态的对象。
[0061]
在步骤s402处,根据下列各项中的一项或多项,计算样本的外观属性值:清晰度、
完整度、纹理特征、文字边界连续性。
[0062]
在步骤s403处,基于样本的外观属性值,对神经网络的参数进行调整,使得第一正样本子集中的样本的外观属性值落入第一外观属性值区间中,并且第二正样本子集中的样本的外观属性值落入第二外观属性值区间中,第二外观属性值区间与第一外观属性值区间不重叠。
[0063]
根据一些实施例,第一正样本子集与第二正样本子集中的图像通过清晰度来区分。具体地,第一正样本子集中的对象是满足清晰度指标的对象,并且第二正样本子集中的对象是不满足清晰度指标的对象。清晰度指标可以人为标定或者通过如前文所述的任何计算方法来计算。由此训练的神经网络能够在对目标对象进行识别的同时对目标图像的清晰度进行区分,由此能够在不对输入图像的质量进行筛选的同时,提高生成的目标图像的质量或准确度。
[0064]
根据一些实施例,第一正样本子集与第二正样本子集中的图像通过完整度来区分。具体地,第一正样本子集中的对象是完整的对象,并且第二正样本子集中的对象是部分被遮挡的对象。由此训练的神经网络能够在对目标对象进行识别的同时对目标图像的完整度进行区分,由此能够在不对输入图像进行筛选的同时,提高生成的目标图像的质量或准确度。
[0065]
根据一些实施例,第一正样本子集与第二正样本子集中的图像通过纹理特征来区分。具体地,第一正样本子集中的对象是具有第一纹理特征的对象,并且第二正样本子集中的对象是具有与第一纹理特征不同的第二纹理特征的对象。由此训练的神经网络能够在对目标对象进行识别的同时对目标图像的纹理特征进行区分,由此能够仅使用一个网络,在不对输入图像进行筛选的同时提高生成的目标图像的精确度。
[0066]
根据一些实施例,目标类别表征含有文本的对象,并且第一正样本子集与第二正样本子集中的图像通过文字边界连续性来区分。具体地,第一正样本子集中的对象是文字边界连续的对象,并且第二正样本子集中的对象是文字边界不连续的对象。由此训练的神经网络能够在对目标对象进行识别的同时对目标图像的文字边界进行识别,由此能够仅使用一个网络,在不对输入图像进行筛选的同时提高生成的目标图像的精确度。
[0067]
容易理解的是,第一正样本子集与第二正样本子集中的图像不限于上述特征。上面这些特征中的每一者可以单独使用,并且它们的任何组合也是适用的。例如,可以仅基于这些特征中的一者将正样本集合分为第一正样本子集与第二正样本子集,也可以基于这些特征中的多者的组合甚至全部。第一正样本子集中的图像可以是包含清晰并且完整的对象的图像,而第二正样本子集中的图像可以是包含特定纹理特征并且文字边界不连续的对象的图像。或者,第一正样本子集中的图像是包含清晰、完整、具有第一纹理特征并且文字边界连续的对象的图像,而第二外观形态可以是包含模糊、被遮挡、包含不同的第二纹理特征并且文字边界不连续的对象的图像。
[0068]
此外,针对不同的应用场景,第一正样本子集与第二正样本子集中的图像可以与上述特征不同的对象外观属性来区分,例如,对象的尺度、形状、朝向、拍摄角度、生命阶段、颜色等,只要这些特征是能够通过任何本领域中的方法以外观属性值所表征的,并且本发明不限于此。
[0069]
样本的外观属性值可以通过多种不同的方式进行计算。根据一些实施例,计算样
本的外观属性值包括:通过对样本图像进行卷积,提取样本图像中的底层语义;基于底层语义计算样本外观属性值。底层语义能够标识图像整体的外观特性。可以通过对整个图像的底层语义,在识别出目标对象所在区域之前,就对图像的质量进行初步的筛选。根据一些实施例,计算样本的外观属性值包括:通过神经网络中的第一子网络,输出样本图像中属于目标类别的对象所位于的候选区域;通过神经网络中的第二子网络,对一个或多个候选区域中的每个:通过对候选区域进行卷积,计算候选区域的图像质量得分;并且基于候选区域的图像质量得分,计算样本图像的外观属性值。通过训练好的网络部分识别出候选区域,再对候选区域进行计算,由此能够减少计算量。可以理解,以上这些特征可以分别单独存在,也可以共存。例如,可以先对样本图像进行卷积来提取底层语义,然后再次经过卷积处理等以提取目标对象的候选区域,随后对候选区域或者目标对象的局部部分再次进行外观属性值的计算。
[0070]
根据一些实施例,神经网络是端到端训练的。由此,能够对用于图像识别任务和图像分类任务的参数同时进行训练,以简化网络设计和系统架构的复杂度。此外,与级联的网络结构相比,由此训练的端到端的网络结构还可以节省算力。
[0071]
图5是根据本公开的另一实施例的对神经网络进行训练的方法的流程图。
[0072]
在从获取的图像提取信息应用场景中,为了降低成本并且实现数据的实时更新,使用车载影像作为数据源是十分具有吸引力的。但由于当前部分车载采集设备质量较差,导致采集到的影像数据出现模糊、遮挡、失真、扭曲等现象,由此提取的对象信息往往质量不佳,非常不利于后续处理。
[0073]
在这里,使用招牌图像作为待检测目标的示例。招牌由于包含丰富的文字信息,因此在数据挖掘与自动化生产中发挥重要作用。例如,招牌检测可以作为地图领域的兴趣点自动化生产流程的第一个步骤,并且由此,招牌提取的质量影响着后续自动化生产过程的性能。
[0074]
目标检测技术是一项基本的计算机视觉任务。其主要目的是检测图像中目标所在的位置,并为该位置的目标分配一个类别标签。目前随着深度学习理论的突破,目标检测技术也得到了极大的进步,主流的目标检测网络包括基于锚点的检测方法或者称为anchor-based方法和无锚点的检测方法又称为anchor-free方法等。anchor-based方法例如包括faster-rcnn、retinanet等。anchor-free方法例如包括centernet、cornernet等。当前的目标检测技术往往适用于从高质量、目标对象形态较为一致的图像中检测所需目标对象,面对质量良莠不齐或者目标对象有多种外观形态时,往往表现不佳。
[0075]
由此,在这里采用细粒度分类特征对目标对象进行评估。细粒度分类旨在使用图像的细节特征为图像分配类别标签。主要包括基于常规图像分类网络的微调方法、基于细粒度特征学习的方法和基于注意力机制的方法等。
[0076]
在步骤s501处,针对待检测类别,获取适于识别对象的不同外观形态的细粒度特征。
[0077]
在本示例中,对于招牌类别,并且尤其是对于提取招牌图像来进行兴趣点生成的业务场景,细粒度特征可以包括:招牌模糊程度、招牌遮挡情况、招牌纹理、字符边界连续性等。可以理解,对象类别的细粒度特征不限于此。例如,还可以提取招牌的老旧程度、朝向、摆放位置等。可以使用上述细粒度特征来表征图像中的对象(招牌)质量是否符合业务要
求。
[0078]
在步骤s502,对训练样本进行分类和计算。具体地,根据所获取的针对特定对象类别的细粒度特征,对第一外观形态的对象和第二外观形态的对象进行区分或建模。
[0079]
图6(a)-6(b)是包含第二外观形态的对象的示例样本图像,例如,图6(a)示出了模糊的招牌对象,这可以通过模糊程度特征、纹理特征或者文字特征等来计算。图6(b)示出了被遮挡的招牌对象,这可以通过遮挡情况特征或者文字边界连续性等来计算。例如,可以使用第一外观形态的也即符合业务要求的图像作为正样本,而将不符合要求也即包含第二外观形态的对象的图像以及不包含对象的图像作为负样本。或者,可以使用第一外观形态的也即符合业务要求的图像作为第一类正样本,而将不符合要求也即包含第二外观形态的对象的图像作为第二类正样本,而将不包含对象的图像作为负样本。由此,可以实现对象的检测与对象的分类两者。
[0080]
招牌模糊程度的特征可以用于判定招牌的模糊程度。对于招牌而言,该特征激活值越大说明招牌图像越模糊,无法进行后续处理的概率也越大。因此,通过对招牌图像模糊程度的学习可以筛选出一大批样本。如参考图2所述的,模糊程度的特征判断方法可以包括基于图像的梯度和相位一致性的评判方法、基于拉普拉斯变换和求方差的数学方法和基于深度学习的招牌质量回归算法等,并且本公开不限于此。
[0081]
招牌遮挡情况的特征可以用于评价招牌的遮挡情况或者相反地招牌的完整度或可见性。对于招牌提取的任务而言,由于文字遮挡而导致无法进行后续处理的样本会对后续自动化处理流程造成负面影响。非文字区域的遮挡则不会影响后续处理流程。如参考图2所述的,招牌遮挡情况评价主要方法可以包括基于招牌关键点可见数目的判定、基于文本检测结果的遮挡情况判定和基于深度学习的招牌区域遮挡程度回归算法等,并且本公开不限于此。
[0082]
招牌纹理的特征可以用于描述招牌图像的纹理细节。招牌纹理的特征也可以用于间接判别招牌模糊程度和招牌遮挡情况。如参考图2所述的,招牌纹理判断方法可以包括基于梯度的边缘检测方法、基于统计的灰度共生矩阵自相关函数方法和基于深度学习的纹理检测方法等,并且本公开不限于此。
[0083]
文字边界连续性的特征通过对招牌中的文字边界的分析,也可以用于判别招牌的遮挡及模糊情况。如参考图2所述的,文字边界连续性判断方法可以包括基于文字纹理判别分析法和基于文字实例分割结果的边界连续性判别法等,并且本公开不限于此。
[0084]
在步骤s503,使用分类好的样本对神经网络进行训练。本步骤能够实现对象类别(例如招牌)细粒度分类与目标检测网络的联合训练。本步骤主要是设计合适的网络模型联合细粒度分类任务和目标检测任务进行梯度回传和优化,将细粒度分类信息用于检测网络的监督信号。参考图7,对可以使用图5的方法进行训练的一个示例网络结构示意图进行描述。
[0085]
在神经网络的最左侧,获取输入图像,在训练阶段其是样本图像。随后,对输入图像进行卷积,获得中间特征图。
[0086]
中间特征图含有底层语义信息,可以用来检测边缘/文字边界等。底层语义信息指的是轮廓、边缘、颜色、纹理和形状特征等底层的信息。在这里计算损失值,例如可以称为边缘/文字损失,输入到损失函数中。这里的梯度计算可以对应于前文中的“招牌纹理”和“字
符边界连续性”这两个特征。在网络的这个部分能够实现目标对象的外观形态识别任务或者称为目标分类任务的训练,并且具体地是目标分类任务的训练的第一部分。
[0087]
进一步卷积,获得特征图。通过卷积提取特征,能够获得高层语义信息。
[0088]
随后并列的三个分支表征目标检测任务的训练。三个分支可以分别是表征目标中心点的偏移、例如上采样后在像素级别的偏移/损失的偏移值(offset),表征目标可能出现的位置的热图值(heatmap),表征该中心点可能出现的目标的尺度(长宽等)的尺度值(scale)。可以分别对其计算损失,输入损失函数。注意,在这里参考使用anchor-free目标检测模型的网络架构进行了描述,但本公开不限于此,任何能够实现目标识别的模型或者层结构都可以应用于本公开的网络。
[0089]
接下来,将目标识别任务所生成的结果分别与阈值进行比较,获得图像中可能存在目标的一个或多个候选区域。对候选区域进行卷积,计算一个质量损失(梯度)传入损失函数。这里的质量损失可以对应于前文中的招牌模糊程度、招牌遮挡情况的细粒度特征。网络的这个部分是目标分类任务的训练的第二部分。可以理解,第一部分和第二部分可以单独存在,并且也能够实现对目标分类任务的训练。
[0090]
由此,实现了检测网络与分类网络的融合结构。使用这样的网络,能够提升对象检测任务的精度。
[0091]
根据前述方法或前述训练好的神经网络,尤其是在待检测类别是招牌图像的情况下,可以获取质量高、文字清晰、内容完整的招牌图像。这样的招牌图像尤其适用于地图或导航领域对兴趣点的生成。根据一些实施例,还可以提供一种招牌图像生成方法,所述方法包括使用根据上述的目标图像提取方法或者使用经过上述神经网络训练方法训练的神经网络来生成招牌图像,所生成的招牌图像适用于兴趣点的提取。所述招牌图像生成方法尤其适用于基于车载影像或大量的混杂有质量或清晰度不佳的图像来生成招牌图像的场景,能够极大降低生产成本。
[0092]
根据一些实施例,还可以提供一种兴趣点生成方法,包括使用根据上述方法所生成的招牌图像来提取兴趣点名称。由此,能够在减少输入图像筛选成本的基础上,以低廉的生产成本生成高精度的兴趣点数据。
[0093]
图8示出了根据本公开的一些实施例的装置800的框图。装置800包括图像输入单元801、对象识别单元802和图像输出单元803。图像输入单元801可以被配置成获取输入图像。对象识别单元802可以被配置成识别输入图像中是否包含属于目标类别的对象。图像输出单元803可以被配置成:响应于输入图像中包含属于目标类别的对象且对象具有第一外观形态,输出目标图像;以及响应于输入图像中包含属于目标类别的对象且对象具有不同于第一外观形态的第二外观形态,不输出目标图像。目标图像是输入图像中的包含对象的局部区域。
[0094]
根据本公开的另一方面,还提供一种装置,可以包括根据本文所述的神经网络训练方法训练的神经网络。
[0095]
根据本公开的另一方面,还提供一种计算设备,可以包括:处理器;以及存储程序的存储器,程序包括由处理器执行时使处理器执行上述目标图像提取方法或训练方法的指令。
[0096]
根据本公开的又一方面,还提供一种存储程序的计算机可读存储介质,程序可以
包括在由服务器的处理器执行时使得服务器执行上述目标图像提取方法或训练方法的指令。
[0097]
参考图9,现将描述可以作为本公开的服务器或客户端的计算设备900的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。
[0098]
计算设备900可以包括(可能经由一个或多个接口)与总线902连接或与总线902通信的元件。例如,计算设备900可以包括总线902、一个或多个处理器904、一个或多个输入设备906以及一个或多个输出设备908。一个或多个处理器904可以是任何类型的处理器,并且可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如特殊处理芯片)。处理器904可以对在计算设备900内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器904为例。
[0099]
输入设备906可以是能向计算设备900输入信息的任何类型的设备。输入设备906可以接收输入的数字或字符信息,以及产生与用于提取目标图像、训练神经网络或生成招牌图像的计算设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出设备908可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。
[0100]
计算设备900还可以包括非暂时性存储设备910或者与非暂时性存储设备910连接,非暂时性存储设备可以是非暂时性的并且可以实现数据存储的任何存储设备,并且可以包括但不限于磁盘驱动器、光学存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁介质,光盘或任何其他光学介质、rom(只读存储器)、ram(随机存取存储器)、高速缓冲存储器和/或任何其他存储器芯片或盒、和/或计算机可从其读取数据、指令和/或代码的任何其他介质。非暂时性存储设备910可以从接口拆卸。非暂时性存储设备910可以具有用于实现上述方法和步骤的数据/程序(包括指令)/代码/模块(例如,附图8所示的图像输入模块801、对象识别模块802和图像输出模块803)。
[0101]
计算设备900还可以包括通信设备912。通信设备912可以是使得能够与外部设备和/或与网络通信的任何类型的设备或系统,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如蓝牙tm设备、1302.11设备、wifi设备、wimax设备、蜂窝通信设备和/或类似物。
[0102]
计算设备900还可以包括工作存储器914,其可以是可以存储对处理器904的工作有用的程序(包括指令)和/或数据的任何类型的工作存储器,并且可以包括但不限于随机存取存储器和/或只读存储器设备。
[0103]
软件要素(程序)可以位于工作存储器914中,包括但不限于操作系统916、一个或多个应用程序918、驱动程序和/或其他数据和代码。用于执行上述方法和步骤的指令可以包括在一个或多个应用程序918中,并且上述方法可以通过由处理器904读取和执行一个或多个应用程序918的指令来实现。软件要素(程序)的指令的可执行代码或源代码也可以从远程位置下载。
[0104]
还应该理解,可以根据具体要求而进行各种变型。例如,也可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现特定元件。例如,所公开的方法和设备中的一些或全部可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如verilog,vhdl,c++)对硬件(例如,包括现场可编程门阵列(fpga)和/或可编程逻辑阵列(pla)的可编程逻辑电路)进行编程来实现。
[0105]
还应该理解,前述方法可以通过服务器-客户端模式来实现。例如,客户端可以接收用户输入的数据并将所述数据发送到服务器。客户端也可以接收用户输入的数据,进行前述方法中的一部分处理,并将处理所得到的数据发送到服务器。服务器可以接收来自客户端的数据,并且执行前述方法或前述方法中的另一部分,并将执行结果返回给客户端。客户端可以从服务器接收到方法的执行结果,并例如可以通过输出设备呈现给用户。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算设备上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。
[0106]
还应该理解,计算设备900的组件可以分布在网络上。例如,可以使用一个处理器执行一些处理,而同时可以由远离该一个处理器的另一个处理器执行其他处理。计算设备900的其他组件也可以类似地分布。这样,计算设备900可以被解释为在多个位置执行处理的分布式计算系统。
[0107]
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1