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

图像处理的方法、计算机系统、电子设备和程序产品与流程

2022-11-14 21:51:48 来源:中国专利 TAG:


1.本公开的实施例涉及计算机领域,并且更具体地,涉及图像处理的方法、计算机系统、电子设备、计算机可读存储介质和计算机程序产品。


背景技术:

2.深度学习彻底改变了人工智能(ai)。它解决了ai领域多年来存在的许多复杂问题。通常,部署在云服务器上的图形处理单元(gpu)上对深度神经网络(dnn)模型进行训练,然后可以将经过训练的dnn模型用于支持具体业务,例如,图像识别、语音处理、文本处理等。
3.深度学习算法的发展给存储系统带来了机遇和挑战。传统上,人们只是使用存储系统来保存“数据字节”本身而不是“数据上下文”,缺少对数据的高层级理解。在数据挖掘时,存储系统仅被视为数据容器,这阻止了存储系统深度参与ai工作流。因此需要一种能够填补存储系统和ai工作流之间的空白的技术。


技术实现要素:

4.本公开提供了在存储系统上实现了一种轻量级的ai方案,以帮助生成ai应用的方案。
5.根据本公开的第一方面,提供了一种图像处理的方法,包括:基于深度神经网络模型,生成图像分类模型的特征提取层部分;使用所述特征提取层部分来提取一组图像的特征;根据所述一组图像中的训练图像的所述特征和所述训练图像的分类标签,来训练所述图像分类模型的输出层部分;以及通过组合所述特征提取层部分和所述输出层部分来生成所述图像分类模型。
6.根据本公开的第二方面,还提供了一种计算机系统,包括:特征提取单元,包括深度神经网络模型的至少一部分并且被配置为提取一组图像的特征;以及图像分类模型生成单元,被配置用于:根据所述一组图像中的训练图像的所述特征和所述训练图像的标签来训练图像分类模型的输出层部分,以及通过组合所述深度神经网络模型的所述至少一部分和经训练的所述图像分类模型的所述输出层部分,来生成所述图像分类模型。
7.根据本公开的第三方面,还提供了一种电子设备,包括:至少一个处理单元;以及至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使所述电子设备执行根据本公开的第一方面所述的方法。
8.根据本公开的第四方面,还提供了一种计算机可读存储介质,包括机器可执行指令,所述机器可执行指令在由设备执行时使所述设备执行如本公开的第一方面所述的方法。
9.根据本公开的第五方面,还提供了一种计算机程序产品,包括机器可执行指令,所述机器可执行指令在由设备执行时使所述设备执行如本公开的第一方面所述的方法。
10.以此方式,存储系统被扩展以促进生成ai应用,帮助更快地训练图像分类模型,并且所得到的图像分类模型在较小的训练集上也能产生较高的准确度。
11.应当理解,发明内容部分并非旨在标识本公开的实施例的关键或重要特征,亦非旨在用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
12.通过参照附图的以下详细描述,本公开实施例的上述和其他目的、特征和优点将变得更容易理解。在附图中,将以示例以及非限制性的方式对本公开的多个实施例进行说明,其中:
13.图1示出了传统的利用存储系统生成人工智能应用的框架的示意图;
14.图2示出了根据本公开的实施例的图像处理方法的示意流程图;
15.图3示出了根据本公开的实施例的利用存储系统生成人工智能应用的框架的示意图;
16.图4图示了根据本公开的实施例的从深度神经网络模型生成特征提取层的示意图;
17.图5示出了根据本公开的实施例的计算机系统的示意框图;以及
18.图6图示了可以用来实施本公开内容的实施例的示例设备的示意性框图。
具体实施方式
19.现在将参照附图中所示的各种示例性实施例对本公开的构思进行说明。应当理解,这些实施例的描述仅仅为了使得本领域的技术人员能够更好地理解并进一步实现本公开,而并不旨在以任何方式限制本公开的范围。应当注意的是,在可行情况下可以在图中使用类似或相同的附图标记,并且类似或相同的附图标记可以表示类似或相同的元素。本领域的技术人员将理解,从下面的描述中,本文中所说明的结构和/或方法的替代实施例可以被采用而不脱离所描述的本公开的原理和构思。
20.在本公开的语境中,术语“包括”及其各种变体可以被理解为开放式术语,其意味着“包括但不限于”;术语“基于”可以被理解为“至少部分地基于”;术语“一个实施例”可以被理解为“至少一个实施例”;术语“另一实施例”可以被理解为“至少一个其它实施例”。其他可能出现但在此处未提及的术语,除非明确说明,否则不应以与本公开的实施例所基于的构思相悖的方式做出解释或限定。
21.以下参考附图来说明本公开的基本原理和实现方式。应当理解,给出的示例性实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开的实施例,而并非以任何方式限制本公开的范围。
22.如上所述,传统上,存储系统仅被用来保存“数据字节”本身而不是“数据上下文”,缺少对数据的高层级理解。在ai应用越来越广泛的情况下,这限制了存储系统的发展。例如,为了创建特定的ai任务,如人脸识别,存储系统中存储的大量人脸数据会被用来训练深度神经网络模型。深度神经网络模型需要从存储系统获取大量的训练数据,并且花费大量的计算资源和时间来训练深度神经网络模型。
23.图1示出了传统的利用存储系统生成人工智能应用的框架100的示意图。存储系统
110中的数据经过数据预处理112之后,被输入到深度神经网络模型(dnn)122。深度神经网络模型122通过并行计算单元,例如图形处理单元(gpu)121来进行训练,以生成ai应用132。然后,ai应用132可以被部署到云端的服务器130。
24.为了生成特定任务的深度神经网络模型122,从存储系统110中选取一部分数据,通过人工或其他方式为其加上标签,形成训练数据。深度神经网络模型122通过诸如梯度下降算法、迭代地调整内部的参数,使得经过训练的深度神经网络模型能够最佳地拟合训练数据。取决于深度神经网络模型122的层数、每层节点数以及层之间的连接数,深度神经网络模型122可能具有上百万甚至上亿的参数,因此针对每个特定任务的深度神经网络模型,从零开始训练的成本很高。另外,可以看出,在生成ai应用132的过程中存储系统110仅作为数据源的使用,这限制了存储系统的发展。
25.根据本公开的实施例,可以在大的综合数据集上训练一个通用的深度神经网络模型,然后使用经过预训练的深度神经网络模型来作为可用于多个特定任务的特征提取器。这种特征提取器可以被部署在存储系统中,以便扩展存储系统。以下以图像处理应用为例,结合图2至6描述根据本公开提供的技术。
26.图2示出了根据本公开的实施例的图像处理方法200的示意流程图。图像处理方法200可以结合存储有各种图像的存储系统来实施,用于创建针对特定任务的图像分类模型。
27.在框210,基于深度神经网络模型,生成图像分类模型的特征提取层部分。图像分类模型可以被用于特定任务,例如,一定范围内的图像识别,如人脸识别。根据本公开的实施例,深度神经网络模型可以是预训练的综合深度神经网络模型。仅作为示例,可以在casia-web-face数据集上训练inception-resnet-v2模型。casia-web-face dataset是大约4g的网络人脸数据库,其中的人脸数据可应用人脸验证和识别,包括494,000张图像,涉及10,500个人。经过训练的inception-resnet-v2模型具有55,873,736个模型参数和572层。应理解,可以使用任何其他合适的深度神经网络模型和并在任何综合数据库上训练,并且图像分类模型也不限于人脸识别应用。
28.根据本公开的实施例,可以从预训练的深度神经网络模型中分离出特征提取器,并将特征提取器合并到存储系统中。以下参照图3描述。
29.图3示出了根据本公开的实施例的利用存储系统生成人工智能应用的框架300的示意图。如图所示,框架300总体上包括存储系统310、深度神经网络模型320、部署有ai应用的服务器330。相比于传统的存储系统110,存储系统310还包括深度神经网络模型的一部分,即特征提取层314。特征提取层314可以被封装为单独模块。在存储系统310看来,被封装的特征提取层314被视为特征提取器或编码器314,用于从诸如图像等的数据中提取数据的特征。特征通常可以是表示数据上下文的具有若干维度的向量,其在包括深度神经网络模型的ai应用中被用于产生针对该数据的推断,例如人脸识别。
30.在一些实施例中,深度神经网络模型320可以从综合数据集340预训练得到,例如,上述的在casia-web-face数据集上训练inception-resnet-v2模型。在一些应用场景下,需要针对存储系统310的存储设备311中的一些图像进行分类,这些图像可能未被任何现有的深度学习模型学习过。因此,需要针对特定任务来生成相应的图像分类模型。根据本公开的实施例,可以从预训练的深度神经网络模型320中分离一部分层,来用作特定任务的特征提取层,例如特征提取层314。在一些实施例中,预训练的深度神经网络模型320可以具有比想
要得到的图像分类模型更多的分类,从而确保其特征提取层314可以提取到更丰富的上下文,以保障图像分类模型在推断时的准确度。
31.图4示出了根据本公开实施例的从深度神经网络模型生成特征提取层的示意图。图4仅示意性地示出了深度神经网络的一般结构,但是应理解,深度神经网络模型可以具有其他的结构。如图所示,深度神经网络模块400包括输入层、一个或多个隐藏层、以及输出层。每一层具有若干个节点,每个节点接收上一层节点的输出并产生到下层节点的输出。每一层的输出被视为向量。一般地,输入层的节点数可以对应于输入到深度神经网络模型400的向量的维度,输出层的节点数可以对应于输出向量的维度,例如,对应于特定任务的分类数。输出层的输出向量可以在被归一化之后用来指示输入向量的分类的概率。根据本公开的实施例,输出层之前的一部分层或所有层可以被视为特征提取层410。位于特征提取层之后的输出层基于特征提取层的输出向量来产生分类结果。
32.在一些实施例中,基于预训练的深度神经网络模型的一部分来生成特征提取层410,并将其部署到存储系统310中作为特征提取器或编码器314。在一些实施例中,特征提取器314的输出向量可以是表示输入图像的512维向量。特征提取器314可以用于处理存储系统310的存储设备311中的图像以生成对应的特征。
33.回到图2,在框220,使用特征提取层部分来提取一组图像的特征。在一些实施例中,存储系统310可以在接收到新的图像数据时、响应于请求、或者定期地,使用特征提取器314来提取存储设备311中的图像数据的特征。针对不同的请求类型,特征提取器314以不同的方式来生成特征。例如,针对单个实例的请求,特征提取器314被立即调用以返回所请求的图像的特征向量;针对小批量实例的请求,可以通过流框架来调用特征提取器314;针对大数据集的请求,可以由诸如hadoop/spark的大规模分布式系统来离线地调用特征提取器314。也就是说,可以以不同的时效性和效率来更新图像的特征。
34.具体地,如图3所示,来自存储设备311的原始图像经过数据预处理312之后,被发送到特征提取器314。部署在存储系统310中的特征提取层314可以生成这些原始图像数据的特征。在一些实施例中,特征可以被存储到存储系统310的存储设备311。这样,在训练特定任务的图像分类模型时,可以直接访问存储设备311来获取训练图像的特征,即跳过了原来的特征提取操作。
35.应理解,由于特征提取层的参数远远多于输出层的参数,保持图像分类模型的特征提取层的参数不变、仅训练输出层的参数能够大大节省计算资源。
36.此外,使用存储系统310中的特征提取器314从图像中提取特征是深度神经网络模型中需要计算资源较多的部分。在这种情况下,存储系统310可以包括高性能的计算单元,诸如gpu的并行计算单元313将是有益的。
37.返回图2,在框230,根据一组图像中的训练图像的特征和训练图像的分类标签,来训练图像分类模型的输出层部分。输出层部分被添加到基于预训练的深度神经网络模型的特征提取层,以形成图像分类模型。输出层部分可以是例如softmax、支持向量机或逻辑回归模型等较为简单的模型。
38.然后,根据该一组图像中的训练图像的特征和训练图像的标签来调整该图像分类模型的输出层的参数。如上所述,训练图像的特征可以被预先提取,并存储在存储系统310的存储设备311中。在一些实施例中,可以通过访问训练图像的已存储的特征来获取训练图
像的特征。备选地,如果存储设备311没有存储训练图像的特征,则可以使用特征提取层实时地提取特征。
39.图像分类模型的特征提取层可以直接从存储系统310的特征提取器314得到,例如通过复制。在一些实施例中,训练期间可以保持图像分类模型的特征提取层的参数不变,从而提高训练图像分类模型的速度。根据本公开的实施例,训练输出层324所需的计算资源远远小于对整个图像分类模型进行训练所需的资源。因此,在训练过程甚至可以使用通用处理器324,例如cpu来执行,但是也可以使用并行处理器例如gpu。
40.在框240,通过组合特征提取层部分和输出层部分来生成图像分类模型。在图像分类模型的输出层部分被训练之后,可以将存储系统310中部署的特征提取器作为特征提取层部分,与该输出层组合,以形成完整的图像分类模型,并结束训练过程。然后,图像分类模型作为ai应用被部署到服务器330上,用于分类推断。
41.在一些实施例中,在输出层部分324被训练之后,还可以对图像分类模型320进行微调。具体地,不同于在保持特征提取层参数不变的情况下训练输出层324的参数,在微调过程可以同时调整特征提取层和输出层等的参数。在一些实施例中,可以使用训练图像的原始数据和训练图像的分类标签来微调图像分类模型。在这种情况下,在存储系统310中引入并行计算单元313,例如图形处理单元gpu来执行对完整的图形分类模型的训练。这种分阶段训练的方式,即先训练输出层324再调整特征提取层314的参数,比直接训练完整的图像分类模型320总体上速度更快,而且能够更好地拟合训练数据。
42.通过以上描述,本公开的实施例在存储系统上实现了一种轻量级的ai方案。所扩展的存储系统能够促进生成ai应用,帮助更快地训练图像分类模型,并且所得到的图像分类模型在较小的训练集上也能产生较高的准确度。
43.图5示出了根据本公开的实施例的计算机系统500的示意框图。如图所示,计算机系统500包括特征提取单元510、图像分类模型生成单元520和图像特征存储单元530。
44.特征提取单元510包括深度神经网络模型320的一部分,用于提取一组图像的特征。在一些实施例中,特征提取单元510可以基于深度神经网络模型320得到,例如,可以通过将预训练的深度神经网络模型320的一部分,例如特征提取层314打包来生成特征提取单元510。这里,特征提取层314指代从深度神经网络模型320去除其输出层324后剩下的部分。此外,深度神经网络模型320可以是在综合数据集340上训练得到的预训练模型,例如,上述在casia-web-face数据集上训练的inception-resnet-v2,但不限于此。特征提取单元510可以被包括或部署在存储系统310中。由此,特征提取单元510可以通过访问存储系统310的存储设备311从已存储的图像中提取特征。备选地,特征提取单元510还可以在存储系统310接收外部图像时,从接收到图像中提取特征。
45.图像分类模型生成单元520用于根据由特征提取单元510提取的图像的特征和训练图像的标签来训练与特定任务有关的图像分类模型的输出层部分324。在一些实施例中,存储设备311中存储的一部分图像可以被用于训练与特定任务有关的图像分类模型,并且这些图像通过人工或其他方式加上了标签。在这种情况下,可以使用已经提取的这些训练图像的特征和它们的标签来训练图像分类模型320的输出层部分324。应理解,由于图像的特征已经被提取或生成,因此可以绕过图像分类模型的特征提取层,仅对输出层324进行训练。在一些实施例中,输出层部分324具有比与训练的深度神经网络模型更少的节点数。换
句话说,预训练的深度神经网络模型320比图像分类模型分类数更多,因此,其特征提取层可以确保提取到更丰富的上下文,以保障图像分类模型在推断时的准确度。
46.图像分类模型生成单元520用于基于深度神经网络模型的至少一部分和经训练的图像分类模型的输出层部分来生成所述图像分类模型。构成特征提取单元510的特征提取层324与经训练的输出层314组合在一起,形成训练后的图像分类模型。所得到的图像分类模型可以作为ai应用被部署到服务器330。
47.计算机系统500还包括图像特征存储单元530。图像特征存储单元530用于存储由特征提取单元510提取的图像的特征。因此,特征提取单元510可以线下地操作。例如,在存储系统310不繁忙的时候、或者响应于接收到大数据集的请求,特征提取单元510以线下方式提取图像的特征并存储,以便后续直接访问。因此,当需要生成图像分类模型时,图像分类模型生成单元520通过访问图像特征存储单元530来获得所需要的图像的特征。
48.可选地,在图像分类模型的输出层被训练之后,图像模型生成单元520还可以使用训练图像和训练图像的分类标签来进一步微调图像分类模型。这时,可以从特征提取单元510复制特征提取器314所包含的预训练的深度神经网络模型的一部分,并与经过训练的输出层部分324组合,然后对组合后的图像分类模型进行训练。如上所述,该训练过程需要更多的计算资源,因此在存储系统310中部署诸如图形处理单元(gpu)的并行计算单元。由图像分类模型生成单元520利用图形处理单元来调整图像分类模型的特征提取层部分314和输出层部分324的参数。这里,不使用训练图像的已提取特征,而使用训练图像的原始数据进行训练。
49.图6示出了可以用来实施本公开内容的实施例的示例设备600的示意性框图。例如,根据本公开实施例的图像处理方法和计算机系统均可以由设备600来实施。如图所示,设备600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序指令,来执行各种适当的动作和处理。在ram603中,还可存储设备600操作所需的各种程序和数据。cpu 601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
50.设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
51.上文所描述的各个过程和处理,例如方法200可由处理单元601执行。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序被加载到ram 603并由cpu 601执行时,可以执行上文描述的方法200的一个或多个动作。
52.本公开可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
53.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储
设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
54.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
55.用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c 等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
56.这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
57.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
58.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的
指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
59.附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
60.以上已经描述了本公开的各实施方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施方式。在不偏离所说明的各实施方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施方式的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施方式。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献