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

生成用于对象检测的训练数据的制作方法

2022-07-11 14:33:52 来源:中国专利 TAG:


1.本发明涉及用于生成用于图像中对象检测的训练数据的方法、计算机系统和计算机程序产品。


背景技术:

2.深度学习神经网络(dnn)的使用可允许针对对象检测的有效训练。图像的注释信息被包括在dnn训练过程中。诸如ssd和yolo之类的用于对象检测的主要模型在检测对象的特定大小方面具有限制。因此,检测高分辨率图像中的微小对象是一项艰巨的任务。对该问题的最常见解决方案是将高分辨率图像切片成许多小图像。这使得目标大小对于检测模型足够大。当目标与输入图像的大小相比很小时,需要在用于推断的预处理期间将图像切割成数百个以上的小图像。这意味着训练数据也需要切割成几百个小图像。需要对每个小图像进行注释。为大量切片数据(sliced data)创建注释是繁重的工作量。
3.减少工作量的解决方案之一是开发一种能够自动地从原始注释为那些小图像创建新注释的程序。然而,自动方式可能在区域中不包括目标对象的无意义区域上创建注释。
4.如今,用于小对象检测的商业案例的数目正在增加。创建用于训练数据的高质量分片注释的高效自动方法将减少巨大的工作量并且提高深度学习模型的准确度。因此,在本领域中需要解决上述问题。


技术实现要素:

5.从第一方面来看,本发明提供了一种用于生成用于对象检测的训练数据的方法,所述方法包括:将图像分成多个切片图像,所述图像包括所述图像中的对象的元信息,所述元信息包括与围绕所述对象的边界框相关联的边界框信息,以及与所述对象相关联的标记的标记信息,所述标记位于所述边界框内;从所述多个切片图像中指定至少一个切片对象图像,所述边界框的至少一部分与相应切片对象图像中的每一个重叠;基于边界框信息和标记信息从指定的分片对象图像中指定至少一个训练数据图像;以及从所述至少一个指定的训练数据图像生成训练数据。
6.从另一方面来看,本发明提供一种计算机系统,包括:一个或多个计算机可读存储介质,具有共同存储在所述一个或多个计算机可读存储介质上的程序指令;以及一个或多个处理器,被配置为执行所述程序指令以执行用于生成用于对象检测的训练数据的方法,所述方法包括:将图像划分为多个切片图像,所述图像包括所述图像中的对象的元信息,所述元信息包括与所述对象周围的边界框相关联的边界框信息,以及与所述对象相关联的标记的标记信息,所述标记位于所述边界框内;指定所述多个切片图像中的至少一个切片对象图像,所述边界框的至少一部分与相应切片对象图像中的每一个重叠;基于所述边界框信息和所述标记信息从指定的分片对象图像中指定至少一个训练数据图像;以及从所述至少一个指定的训练数据图像生成训练数据。
7.从另一方面来看,本发明提供了一种用于生成用于对象检测的训练数据的计算机
程序产品,该计算机程序产品包括:一个或多个计算机可读存储介质,具有共同存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令包括:用于将图像分成多个切片图像的程序指令,所述图像包括所述图像中的对象的元信息,所述元信息包括与所述对象周围的边界框相关联的边界框信息,以及与所述对象相关联的标记的标记信息,所述标记位于所述边界框内;用于指定所述多个切片图像中的至少一个切片对象图像的程序指令,所述边界框的至少一部分与相应切片对象图像中的每一个重叠;基于所述边界框信息和所述标记信息从所指定的分片对象图像中指定至少一个训练数据图像的程序指令;以及用于从所述至少一个指定的训练数据图像生成训练数据的程序指令。
8.从另一方面来看,本发明提供了一种用于生成用于图像中的对象检测的训练数据的计算机程序产品,该计算机程序产品包括可由处理电路读取并且存储用于由该处理电路执行以便执行用于执行本发明的步骤的方法的指令的计算机可读存储介质介质。
9.从另一方面来看,本发明提供一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,该计算机程序包括当所述程序在计算机上运行时用于执行本发明的步骤的软件代码部分。
10.本公开的实施例涉及一种用于生成用于对象检测的训练数据的方法。在某些实施例中,该方法包括将图像分成多个切片图像。所述图像包括所述图像中的对象的元信息,所述元信息包括与所述对象周围的边界框相关联的边界框信息,以及与所述对象相关联的标记的标记信息,所述标记位于所述边界框内。所述方法包括指定所述多个切片图像中的至少一个切片对象图像,所述边界框的至少一部分与相应切片对象图像中的每一个重叠。该方法还包括基于所述标记信息从所指定的切片对象图像中指定至少一个训练数据图像。该方法还包括从所指定的训练数据图像生成训练数据。
11.本公开的其他实施例涉及用于执行该方法的计算机系统和计算机程序产品。
12.以上概述并不旨在描述本公开的每个所示实施例或每个实现方式。
附图说明
13.本技术包括的附图被结合到说明书中并且形成说明书的一部分。它们例示了本公开的实施方式,并且与描述一起解释本公开的原理。附图仅说明某些实施例,而并不限制本公开。
14.图1示出了根据实施方式的处理系统的框图。
15.图2是根据各实施例的具有由云客户用来与其通信的本地计算设备的一个或多个计算节点的说明性云计算环境的框图。
16.图3是根据实施方式的由云计算环境提供的一组功能抽象层的框图。
17.图4是根据实施例的用于使用标记来生成用于图像中的对象的训练数据的方法的框图。
18.图5是根据实施方式的利用图像直方图的比较来生成用于图像中的对象的训练数据的方法的框图。
19.图6示出了根据实施方式的使用标记工具和用户输入对图像中的对象进行标记的方法。
20.图7示出了根据实施方式的使用图像分片算法将图像分成多个切片图像的方法。
21.图8示出了根据实施方式的利用图像直方图比较生成用于小对象检测的训练数据的方法。
具体实施方式
22.本文描述的实施例提供用于产生数字图像中的对象检测的训练数据的方法、计算机系统和计算机程序产品,其减少在执行训练时必须处理的图像注释信息的量。附图中的流程图和截面图示出了根据不同实施例的这些方法。在一些替代实现方式中,流程图中的步骤可以以与图中所标注的顺序不同的顺序发生。
23.数字图像是物理对象或物理对象集合的数字表示或摹本。存在可检测或识别给定数字图像中存在的某些对象的技术。例如,安装在数字相机上的软件可以识别对象(诸如人脸或眼睛)存在于由相机的传感器捕捉的图像中。照片编辑软件应用还可以识别出对象(诸如直线)存在于正被编辑的数字图像中。可以利用神经网络和其他深度学习模块来辅助这种对象检测。
24.人工神经网络(ann)(也称为神经网络)是由多个简单、高度互连的处理元件(节点)组成的计算系统,这些处理元件通过它们对外部输入的动态状态响应来处理信息。ann是一种处理设备(算法和/或硬件),其松散地模仿哺乳动物大脑皮层的神经元结构,但规模要小得多。一个大型人工神经网络可能有数百或数千个处理器单元,而哺乳动物的大脑有数十亿个神经元,它们的整体交互和紧急行为的量值也相应增加。前馈神经网络是其中单元之间的连接不形成循环的人工神经网络。
25.深度学习神经网络(dnn)是在输入层与输出层之间具有多个隐藏单元层的人工神经网络(ann)。类似于浅层ann,dnn可以模拟复杂的非线性关系建模。例如用于对象检测和解析的dnn架构生成其中对象被表达为图像原语的分层合成合成模型。额外的层使得能够从较低的层合成特征,与执行的类似的浅层网络相比,可以用较少的单元来对复杂数据进行建模。dnn通常被设计为前馈网络。
26.在机器学习中,卷积神经网络(cnn或convnet)是一种类型的前馈ann,其中,其节点(神经元)之间的连接模式由动物视觉皮层组织的启发,动物视觉皮层的各个神经元被布置为对平铺视野的重叠区域作出响应。卷积网络模拟生物过程,并被配置为多层感知器的变体,设计用于在处理数据(诸如数字图像)时使用最小量的预处理。因此,cnn是通常被应用于分析视觉图像的一类dnn。在计算机视觉领域中,卷积神经网络擅长于包括对给定一组类别的图像进行分类以及使网络确定图像中存在的最强类别的图像分类。
27.近年来,已经开发了区域卷积神经网络(r-cnn)以处理对象检测、定位和分类的任务。一般而言,r-cnn是能够定位和检测图像中的对象的特定类型的cnn。r-cnn的输出通常是紧密匹配每个检测到的对象的边界框的集合,以及每个检测到的对象的类输出。
28.近年来,新架构被创建以解决与r-cnn及其后续产品相关联的某些处理瓶颈,从而实现实时对象检测的改进。这些新体系结构的两个示例是you only look once(yolo)和单击检测器(ssd multibox)。然而,诸如yolo和ssd的用于对象检测的架构在检测某些较小大小的对象时具有限制。利用这些架构,难以检测到高分辨率数字图像中的非常小的对象。该问题的一个解决方案是将高分辨率图像切片成许多小图像。这使得目标大小对于对象检测模型来说足够大。
29.当目标与输入图像的大小相比非常小时,在预处理和推断(例如,使用经训练的机器学习算法来进行预测的过程)期间,需要将图像切割成几百个(或更多)更小的切片图像。结果,也需要将训练数据切割成几百个小图像。
30.还需要对每个小图像进行注释。一般来说,注释是指将元数据(例如,图像创建者的名称、与图像相关的关键词、字幕、标题和评论、图像的大小、图像的位置等)分配给图像。为大量切片数据创建注释会导致非常大的工作量。一种用于减少工作量的方法是从原始注释中为小图像自动创建新注释。然而,这种方法会在不包括目标对象的区域产生注释,这会降低深度学习模型的准确性。
31.现在参考附图,其中,相同的附图标记表示相同或相似的元件。首先参考图1,示出了根据一种实施方式的可以应用本实施方式的示例性处理系统100。处理系统100包括通过系统总线102操作地耦合到其他组件的至少一个处理器(cpu)104。在某些实施例中,cpu用标记工具执行图像的预处理,标记工具使得用户能够为图像中的对象创建边界框,并为边界框内的对象创建标记。在某些实施方式中,cpu利用基于检测目标对象的大小将图像分成多个较小图像的切片工具来执行图像的预处理。高速缓存106、只读存储器(rom)108、随机存取存储器(ram)110、输入/输出(i/o)适配器120、声音适配器130、网络适配器140、用户接口适配器150和显示适配器160操作地耦合到系统总线102。
32.第一存储设备122和第二存储设备124通过i/o适配器120操作地耦合到系统总线102。存储设备122和124可以是盘存储设备(例如,磁盘或光盘存储设备)、固态磁设备等中的任何一种。存储设备122和124可以是相同类型的存储设备或不同类型的存储设备。
33.扬声器132通过声音适配器130操作地耦合到系统总线102。收发器142通过网络适配器140操作地耦接至系统总线102。显示设备162通过显示适配器160操作地耦合到系统总线102。
34.第一用户输入设备152、第二用户输入设备154和第三用户输入设备156通过用户接口适配器150操作地耦合到系统总线102。用户输入设备152、154和156可以是键盘、鼠标、小键盘、图像俘获装置、运动感测设备、麦克风、包括前述设备中的至少两个的功能的设备或任何其他合适类型的输入设备中的任何一个。用户输入设备152、154和156可以是相同类型的用户输入设备或不同类型的用户输入设备。用户输入设备152、154和156用于向系统100输入信息和从系统100输出信息。在某些实施例中,图形处理单元(gpu)170操作地耦合到系统总线102。在这些实施例中,gpu用深度学习对象检测模型对图像执行训练和推断。
35.处理系统100还可以包含所属领域的技术人员容易想到的其他元件(未示出),以及省略某些元件。例如,如本领域普通技术人员容易理解的,取决于处理系统100的特定实现,处理系统100中可以包括其他输入设备和/或输出设备。例如,可以使用不同类型的无线和/或有线输入和/或输出设备。此外,还可以利用各种配置的附加处理器、控制器、存储器等,如本领域普通技术人员容易理解的。鉴于本文所提供的本公开的教导,本领域的普通技术人员容易想到处理系统100的这些和其他变体。
36.应当理解,虽然本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本公开的实施例能够结合现在已知的或以后开发的任何其他类型的计算环境来实现。
37.云计算是服务交付的模型,用于使得能够方便地、按需地网络访问可配置计算资
源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池,所述可配置计算资源可以以最小的管理努力或与所述服务的提供者的交互来快速供应和释放。
38.云计算环境是面向服务的,专注于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础设施。
39.现在参见图2,描述了说明性云计算环境250。如图所示,云计算环境250包括一个或多个云计算节点210,云消费者使用的本地计算设备(诸如例如个人数字助理(pda)或蜂窝电话254a、台式计算机254b、膝上型计算机254c和/或汽车计算机系统254n)可与云计算节点210通信。节点210可彼此通信。它们可以在一个或多个网络中,诸如如上所述的私有云、社区云、公共云或混合云、或其组合中,物理地或虚拟地组合(未示出)。这允许云计算环境250提供基础设施、平台和/或软件作为云消费者不需要为其维护本地计算设备上的资源的服务。应当理解,图2所示的类型的计算设备254a-n仅旨在是说明性的,计算节点210和云计算环境250可以通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备通信。
40.现在参见图3,示出了由云计算环境250(图2)提供的一组功能抽象层。应提前理解,图3中所示的组件、层和功能仅旨在是说明性的,本发明的实施例不限于此。如图所示,提供以下层和对应功能:
41.硬件和软件层360包括硬件和软件组件。硬件组件的示例包括:主机361;基于risc(精简指令集计算机)架构的服务器362;服务器363;刀片式服务器364;存储设备365;以及网络和联网组件366。在一些实施例中,软件组件包括网络应用服务器软件367和数据库软件368。
42.虚拟化层370提供从中可以提供虚拟实体的以下示例的抽象层:虚拟服务器371;虚拟存储器372;虚拟网络373,包括虚拟专用网络;虚拟应用和操作系统374;以及虚拟客户端375。
43.在一个示例中,管理层380可以提供以下述功能。资源供应381提供用于在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价382在云计算环境内利用资源时提供成本跟踪,并为这些资源的消费开账单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户383为消费者和系统管理员提供对云计算环境的访问。服务水平管理384提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(sla)规划和履行385提供云计算资源的预安排和采购,根据该sla预期该云计算资源的未来要求。
44.工作负载层390提供可以为其利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航391;软件开发和生命周期管理392;虚拟课堂教育交付393;数据分析处理394;事务处理395;以及对象检测训练处理396。
45.现在参考图4,该图示出了根据实施例的用于使用边界框和标记来为图像中的对象生成训练数据的方法。在这些实施例中,图像被切片成多个更小的图像,并且仅将分片图像的子集(以及与其相关联的注释信息)用于训练数据。
46.在某些实施例中,在步骤400中,为原始图像生成注释文件。在某些实施例中,用户已经通过标记工具提供输入。标记工具使得用户能够为图像中的任何对象创建边界框,并在边界框内创建标记。在某些实施例中,边界框是图像的包含对象的最顶端、最右边、最左
边和最底端的区域。由此,边界框可以有标识最顶端和最左边像素位置以及最底端和最右边像素位置的坐标。结果,边界框也具有水平方向的大小以及垂直方向的大小。在某些实施例中,标记是已由用户用标记工具识别的所识别对象的视觉特征(例如,标记可以是与图像的背景部分充分不同的某个特征)。一个所识别对象可以具有多个标记,且这些标记可以位于所识别对象的不同位置。在某些实施例中,标记由图像内的x-y像素坐标表示。在某些实施例中,标记用表示标记相对于其他标记的相对重要性的数值指定。由此,在步骤400中,注释文件包括关于对象的边界框和对象的标记的信息。在一个示例中,注释信息作为元信息被保存在可扩展标记语言(xml)文件或本领域中已知的另一合适的文件格式中。在过程的这个阶段,整个原始图像已经被处理以确定包含在其中的任何对象的位置,并且已经创建了xml文件,该xml文件包括与由用户指定的标记和边界框相关的元信息。
47.在步骤402中,在某些实施例中,cpu(参见图1、104)执行将原始图像分成多个更小的切片图像(例如,整个图像的部分图像部分)的切片脚本。在某些示例中,取决于图像的总体大小/分辨率和其中指定的目标对象的大小,可能有数百或数千个切片图像。给定的切片图像可能包含也可能不包含边界框(或边界框的一部分)。在某些实施例中,如果切片图像不包含边界框,那么它也将不包含任何标记(例如,所有标记都包含在边界框的边界内)。相反,如果切片图像确实包含边界框(或其部分),则它可能包含也可能不包含标记。例如,用户可以为边界框内的对象指定一个标记。然而,如果切片脚本将图像划分为足够小的图像切片(例如,在对象和相应边界框大于一个的情况下),那么边界框可能被切片成多个切片图像。在这种情况下,该一个标记总是只出现在多个切片图像中的一个切片图像中,而不出现在其他切片图像中。
48.在步骤404中,在某些实施例中,该方法包括分析每一个切片图像,然后确定是否存在包含在其中的任何边界框(或其部分)。如果在切片图像中存在边界框的至少一部分,则处理继续到步骤406。如果在切片图像中不存在边界框,则处理继续到步骤408以确定是否还有更多切片图像要分析。
49.在步骤406中,如果已确定切片图像包含边界框,则该方法包括分析切片图像以确定在边界框中是否存在任何标记。在某些实施例中,如果在特定切片图像中存在至少一个标记,则在步骤410中,该方法包括更新注释文件以包括切片图像的注释信息(例如,边界框信息和标记信息)。在步骤410已经更新注释文件之后,过程继续到步骤412以确定在切片图像中是否存在任何其他边界框。例如,一个切片图像可能包含多个先前已用边界框标记的对象。
50.在步骤406中,如果确定在切片图像的边界框中没有标记,则不更新注释文件。
51.在其他实施例中,为了选择切片图像用于训练数据(例如,更新注释文件),给定切片图像中必须存在多个标记。
52.在其他实施例中,每个标记具有与其相关联的重要性值。重要性值指示标记相对于其他标记或相对于一些预定重要性阈值的相对值(或重要性)。在标记具有指定的重要性值的实施例中,如果在切片图像内存在至少一个满足特定重要性阈值水平的标记,则更新注释文件。在给定切片图像内存在多个标记的另一实施例中,如果切片图像内的所有标记的重要性值之和满足特定阈值,则更新注释文件。
53.在另一个实施例中,如果切片图像中出现至少一个标记,并且如果对象的边界框
的中心位置出现在切片图像内,则更新注释文件。
54.因此,根据本发明的某些实施例,将仅使用具有特定标记或满足特定标记标准的标记的那些切片图像。因此,并非所有的切片图像都将被用于训练数据。因而,减少了需要为切片图像创建的注释的总数,并且减少了出于训练目的的总处理工作量。此外,通过仅针对存在对象(例如,排除无意义的区域)的那些切片图像进行注释,提高了基于训练数据生成的深度学习模型的准确性。
55.再次参照图4,在步骤412中,如果确定在切片图像中存在更多的边界框,则过程返回到步骤406,以进一步分析包含在下一个边界框内的任何标记。在步骤412中,如果确定在切片图像中没有更多的边界框,则过程继续到步骤408,以确定是否还有更多的切片图像要分析。因此,针对切片图像中出现的每个边界框重复标记分析。
56.在步骤408中,如果确定还有切片图像要分析,则过程返回到步骤404。在步骤408,如果确定没有其它切片图像要分析,则过程在步骤414结束。在过程在步骤414处结束之后,已经分析了整个原始图像并且已经为每个切片图像生成了注释文件(例如,在标记满足可应用的标记标准的情况下)。在这个阶段,可以使用训练数据(例如,切片图像)和所生成的注释文件利用深度学习对象检测模型(例如,利用图1中所示的图形处理单元(gpu)170)进行训练。
57.现在参考图5,该图示出了根据某些实施例的用于使用图像直方图来生成用于图像中的对象的训练数据的方法。在这些实施例中,将图像切片成多个更小的图像,并且仅将切片图像的一个子集(以及与其相关联的注释信息)用于训练数据。在某些实施例中,步骤400、402、404、408、410、412和414与以上关于图4描述的那些步骤相同。然而,不是如图4的过程那样利用标记来确定切片图像是否用于训练数据,而是使用图像直方图来确定切片图像是否符合训练数据的条件。在图5的步骤506中,该方法包括将原始注释区域的图像直方图(例如,由对象的边界框包含的图像的区域的至少一部分)与切片注释区域的图像直方图(例如,切片图像的区域的至少一部分)进行比较。
58.一般而言,图像直方图是一种作为数字图像中的色调分布的图形表示的直方图。在图像直方图中,针对每个色调值绘制像素的数量。通过查看特定图像的直方图,观看者将能够一眼判断整个色调分布。在其他实施例中,基于像素行(或列)中的所有像素的累积颜色值生成直方图。直方图可基于图像的灰度级像素信息,或基于彩色(例如,rgb)像素信息。应当理解,可以使用生成图像直方图的任何其他合适的方法,前提是可以在边界框图像和相应切片图像之间进行比较。更一般地,应当理解,只要可以在边界框图像和相应切片图像之间进行比较,可以使用任何其他合适的图像比较方法(例如,除了图像直方图方法)。
59.在步骤506中,如果两个图像直方图之间的相似性满足或超过设定的阈值,则该方法包括更新注释文件以包括切片图像的注释信息(例如,边界框信息和/或标记信息)。在步骤410已经更新注释文件之后,过程继续到步骤412,以确定在切片图像中是否还有任何其他边界框。在步骤506中,如果两个图像直方图之间的相似性不满足阈值,则不为训练数据选择注释区域。如上所述,该方法中的其余步骤与关于图4描述的步骤相同。
60.现在参见图6,该图示出了用户利用标记工具来为原始图像(例如,预切片)中的对象生成边界框和标记的示例。该图是以上关于图4和5示出并描述的步骤400的图形表示。在图6的上部,原始图像602包含待标记的对象604(例如,电子装置部件上的纳米或微米级缺
陷)。在一般意义上,该对象可以是与图像的背景具有某一阈值差异的任何视觉特征,以及用户识别为异常的任何特征。在图6的下部,确定对象604的边界框610。在某些实施例中,边界框610具有识别最顶端和最左边位置以及最底端和最右边像素位置的坐标。因此,边界框610还有水平方向的大小,以及垂直方向的大小,并且这种该大小基于图像602中的对象604的大小。还如图6的下部所示,生成与对象604相关联的多个标记608。应了解,取决于对象的大小和/或与用户的相关性,用户可以为给定对象生成任何合适数目的标记。
61.在其他实施例中,自动光学检查(aoi)系统通过使用照相机自主扫描设备以获得图像来识别对象,而不是用户用标记工具手动地识别和标记对象(例如,创建边界框和标记),然后,利用图像处理算法(或其他合适的方法)来识别图像中的对象或缺陷。
62.现在参考图7,该图示出了将图像切片算法应用于原始图像以生成多个切片图像的实例。该图是上文相对于图4示出和描述的步骤406以及上文相对于图5示出和描述的步骤506的图形表示。在图7的上部,已经由用户用标记工具600识别了与对象604相关联的边界框610和标记608。图像切片算法702将原始图像602切片为多个切片图像704,如图7的下部所示。在该示例中,有24个切片图像704。然而,应当理解,可以有任何合适数量的切片图像(例如,几百或更多)。在某些实施例中,切片图像的数量基于原始图像602的大小和/或在图像中检测到的不同对象的大小。
63.如图7的下部所示,对象604的边界框610出现在四个切片图像(例如,切片图像706、708、710和712)中。然而,应当理解,边界框610可以在任何数量的切片图像中出现,这取决于对象604的大小。有三个与对象604相关联的标记714、716和718。在该示例中,有两个标记714和716出现在切片图像712中,有一个标记718出现在切片图像710中。在该示例性实施例中,如果在任何给定的切片图像中出现一个以上的标记,则选择与该切片图像相关联的注释信息用于训练数据。在某些实施例中,仅考虑将与边界框的位置一致的切片图像(例如,切片图像706、708、710和712)用于可能的训练数据。在该示例中,对象604出现在切片图像706中。然而,因为切片图像706不包含任何标记,所以将不选择它用于训练数据。在该示例中,边界框610也出现在切片图像708中。然而,在切片图像708中,不仅被摄体不出现在该切片图像中,而且在切片图像708中也不存在标记。因此,将不选择切片图像708用于训练数据。在该示例中,切片图像712包含两个标记714及716,因此将选择其用于训练数据。类似地,切片图像710包括其中一个标记718,其也将被选择用于训练数据。因而,四个切片图像(例如,切片图像706、708、710和712)中仅两个(例如,切片图像710和712)被选择用于训练数据。因而,减少了需要针对切片图像数据创建的注释的数量,并且减少了用于训练的整体处理工作量。
64.现在参考图8,该图示出了在切片图像上执行图像直方图比较以确定是否应当选择它们用于训练数据的实施例。如图8所示,对象604的边界框610出现在四个切片图像(例如,切片图像706、708、710和712)中。然而,应当理解,边界框610可以在任何数量的切片图像中出现,这取决于对象604的大小和切片图像的大小/分辨率。在该示例性实施例中,针对切片图像706、708、710和712中的每个,生成切片图像的图像直方图。如图8所示,切片图像直方图814对应于切片图像706,切片图像直方图816对应于切片图像708,切片图像直方图818对应于切片图像712,切片图像直方图820对应于切片图像710。在该实施例中,还生成边界框直方图824。
65.如果切片图像直方图与边界框直方图的相似性超过特定阈值,则选择切片图像用于训练数据。在该示例中,切片图像706、712和710的切片图像直方图814、818和820与边界框直方图824具有足够的相似性,因此被选择用于训练数据。然而,因为切片图像直方图816与边界框直方图824不具有足够的相似性(例如,直方图的形状相对均匀),所以将不选择切片图像直方图816用于训练数据。因而,四个切片图像(例如,切片图像706、708、710和712)中仅三个图像(例如,切片图像706、710和712)被选择用于训练数据。因而,减少了需要为切片图像数据创建的注释的数量,并且减少了用于训练的整体处理工作量。
66.在某些实施例中,将直方图比较和标记分析两者组合使用,以确定是否将切片图像用于训练数据。可以改变进行这些分析的顺序。
67.本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质。
68.计算机可读存储介质可以是可保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者上述的任意合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式紧凑盘只读存储器(cd-rom)、数字通用盘(dvd)、记忆棒、软盘、诸如穿孔卡或具有记录在其上的指令的槽中的凸出结构之类的机械编码设备、以及上述各项的任何合适的组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,穿过光纤电缆的光脉冲)或通过电线发射的电信号。
69.本文中所描述的计算机可读程序指令可以经由网络(例如,互联网、局域网、广域网和/或无线网络)从计算机可读存储介质下载到相应的计算/处理设备,或者下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输纤维、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
70.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或以一种或多种编程语言的任何组合编写的源代码或目标代码,该一种或多种编程语言包括面向对象的编程语言(诸如smalltalk、c 等)和过程编程语言(诸如“c”编程语言或类似编程语言)。计算机可读程序指令可以完全地在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可通过包括局域网(lan)或广域网(wan)的任何类型的网络连接至用户的计算机,或者可连接至外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
71.本文参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
72.这些计算机可读程序指令可以提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图的或多个框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置、和/或其他设备以特定方式工作,从而,其中存储有指令的计算机可读存储介质包括包含实现流程图和/或框图中的或多个方框中规定的功能/动作的方面的指令的制造品。
73.也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的或多个方框中规定的功能/动作。
74.附图中的流程图和框图示出了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个框可表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些备选实现中,框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以部分或完全时间上重叠的方式执行,或者方框有时可以以相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能的专用的基于硬件的系统来实现。
75.已经出于说明的目的呈现了不同实施例的描述,这些描述并非旨在是详尽的或限于所披露的实施例。在不脱离所描述的实施例的范围的情况下,许多修改和变化对于本领域普通技术人员来说是显而易见的。这里使用的术语被选择来最好地解释实施例的原理、实际应用或对在市场中找到的技术的技术改进,或者使得本领域普通技术人员能够理解这里公开的实施例。
再多了解一些

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

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

相关文献