掌桥专利:专业的专利平台
掌桥专利
首页

一种数据组装方法、装置、设备和可读存储介质

文献发布时间:2023-06-19 18:37:28


一种数据组装方法、装置、设备和可读存储介质

技术领域

本发明涉及数据处理技术领域,具体涉及一种数据组装方法、装置、设备和可读存储介质。

背景技术

随着人工智能的不断发展,神经网络模型所面对的输入场景也越来越复杂,这就导致单个模型的输入之间会存在非常大的差异,尤其对于CV(Computer Vision)计算机视觉类应用而言,输入的图片尺寸会存在较大的差异。

为提高处理器加速卡的处理效率,最为有效的手段是将输入的图片数据进行组装,使得模型的单次计算样本增多,从而提高计算效率。目前通常采用Batch方式(批处理方式)进行图片的拼接组装,该种组装方式在输入的图片的尺寸差异过大时,会产生很多的无效计算,反而会使得神经网络模型的计算效率下降。

发明内容

为了解决现有技术存在的组装单一、计算效率低的问题,本发明提供了一种数据组装方法、装置、设备和可读存储介质,其具有计算效率更高等特点。

根据本发明具体实施方式提供的一种数据组装方法,包括:

获取待输入至模型的所有图片的尺寸集合,所述尺寸集合包括每个所述图片的尺寸值组;

基于每个所述图片的尺寸值组以及预设拼接规则对所述所有图片进行拼接,得到一张包含所述所有图片的拼接图片;

基于所述模型的视野宽度在所述拼接图片中的相邻图片之间插入空白像素,得到组装后的图片。

进一步地,所述数据组装方法还包括:

基于预设填充规则生成所述组装后的图片的掩码。

进一步地,所述基于预设填充规则生成所述组装后的图片的掩码,包括:

将组装后的图片中每个所述图片区域的每个像素填充为1,将所述相邻图片之间的空白像素填充为0。

进一步地,所述图片的尺寸值组包括所述图片的长度值和宽度值,所述基于每个所述图片的尺寸值组以及预设拼接规则对所述所有图片进行拼接,得到一张包含所述所有图片的拼接图片,包括:

循环执行图片拼接流程,直至所述尺寸集合中只包含一组尺寸值组,所述图片拼接流程包括:

将第一尺寸值组所表征的图片和第二尺寸值组所表征的图片进行拼接得到第一拼接图片,所述第一尺寸值组为所述尺寸集合中长度值和宽度值均最小的尺寸值组,所述第二尺寸值组为与所述第一尺寸值组差值最小的尺寸值组;

将所述第一拼接图片的尺寸值组加入所述尺寸集合中,并删除所述尺寸集合中的所述第一尺寸值组和所述第二尺寸值组。

进一步地,所述第一拼接图片的尺寸值组的长度值为所述第一尺寸值组的长度值和所述第二尺寸值组的长度值的和值,所述第一拼接图片的尺寸值组的宽度值为所述第二尺寸值组的宽度值。

进一步地,所述基于所述模型的视野宽度在所述拼接图片中的相邻图片之间插入空白像素,得到组装后的图片,包括:

在所述拼接图片中的相邻图片之间的2倍于所述视野宽度的范围内插入空白像素,得到所述组装后的图片。

进一步地,所述获取待输入至模型的所有图片的尺寸集合,包括:

基于统计软件对每个图片的长度值和宽度值进行统计,以得到所有图片的尺寸集合。

根据本发明具体实施方式提供的一种数据组装装置,包括:

数据获取模块,用于获取待输入至模型的所有图片的尺寸集合,所述尺寸集合包括每个所述图片的尺寸值组;

图片拼接模块,用于基于每个所述图片的尺寸值组以及预设拼接规则对所述所有图片进行拼接,得到一张包含所述所有图片的拼接图片;以及

数据填充模块,用于基于所述模型的视野宽度在所述拼接图片中的相邻图片之间插入空白像素,得到组装后的图片。

根据本发明具体实施方式提供的一种设备,包括:存储器和处理器;

所述存储器,用于存储程序;

所述处理器,用于执行所述程序,实现如上所述的数据组装方法的各个步骤。

根据本发明具体实施方式提供的一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述的数据组装方法的各个步骤。

本发明提供了一种数据组装方法、装置、设备和可读存储介质,可以获取待输入至模型的所有图片的尺寸集合,其中尺寸集合包括每个图片的尺寸值组。基于每个图片的尺寸值组以及预设拼接规则对所有图片进行拼接,得到一张包含所有图片的拼接图片。然后基于模型的视野宽度在拼接图片中的相邻图片之间插入空白像素,得到组装后的图片。该数据组装方法通过将各个图片拼接为一个大的图片后进行空白像素的填充得到的组装图片,能够加大模型每次计算的样本数,同时减少数据组装过程中所产生的计算浪费,从而提高了神经网络模型的计算效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是根据一示例性实施例提供的数据组装方法的流程图;

图2是根据一示例性实施例提供的图片拼接流程图;

图3是根据一示例性实施例提供的组装原理图;

图4是根据一示例性实施例提供的视野扩充的原理图;

图5是根据一示例性实施例提供的掩码生成的原理图;

图6是根据一示例性实施例提供的数据组装装置的结构图;

图7是根据一示例性实施例提供的设备的结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参照图3中的左侧图例所示,a)表示现有的图片数据通过拼Batch的方式进行组装,该种组装方式的主要特点时组装简单,只需要在Batch维度上叠加即可,即以最大的一张图片为基准,其他尺寸小于该图片的都在左上角进行对齐操作,那么其余无法对齐的部分直接采用补0的方式填充,当输入图片数据的方差很大时,即存在一张输入图片尺寸特别大,而其他图片尺寸特别小,那么小图片都要将尺寸对齐到最大的图片的尺寸进行填充。就会使神经网络模型产生很多计算浪费,从而严重影响神经网络模型的整体推理时间。

为解决上述技术问题,参照图1所示,本发明的实施例提供了一种数据组装方法,该方法可以包括以下步骤:

101、获取待输入至模型的所有图片的尺寸集合,尺寸集合包括每个图片的尺寸值组。

可使用相关的统计软件对每张图片的长度和宽度进行统计,然后将统计数据以每个图片为单位构成所有图片的尺寸集合,每个图片的尺寸组中包括该图片的长度值和宽度值。

102、基于每个图片的尺寸值组以及预设拼接规则对所有图片进行拼接,得到一张包含所有图片的拼接图片。

具体的,可通过循环执行图片拼接流程,直至该尺寸集合中只包含一组尺寸值组,将剩余的一组尺寸值组所对应的图片作为拼接图片,参照图2所示,该图片拼接流程可包括以下步骤:

201、将第一尺寸值组所表征的图片和第二尺寸值组所表征的图片进行拼接得到第一拼接图片,第一尺寸值组为尺寸集合中长度值和宽度值均最小的尺寸值组,第二尺寸值组为与第一尺寸值组差值最小的尺寸值组。

从尺寸集合中选出边长最小即长度值和宽度值均最小的图片,以及和最小的图片的长度值和宽度值的差值均最小的第二图片。将这两个图片按照短边进行拼接,得到一个新的大图片,并重新确定新的大图片的长度值和宽度值,其中长度值为第一尺寸值组的长度值和第二尺寸值组的长度值的和值,第一拼接图片的尺寸值组的宽度值为第二尺寸值组的宽度值,即第二图片短边的值。

202、将第一拼接图片的尺寸值组加入尺寸集合中,并删除尺寸集合中的第一尺寸值组和第二尺寸值组。

将得到的新的大图片的尺寸值组增加到尺寸集合中,并将组成该新的大图片两个图片所分别对应的尺寸值组从尺寸集合中删除。重复上述201和202步骤直至尺寸集合中只剩下一组尺寸值组,即拼接后得到一张图片。参照图3中右侧图例所示,将四张图片拼接为一个大的图片。

103、基于模型的视野宽度在拼接图片中的相邻图片之间插入空白像素,得到组装后的图片。

参照图4所示,可根据神经网络模型所给定的视野宽度,在所有图片之间插入空白像素,用于隔离神经网络计算中卷积视野所带来的影响,进而生成最新的图片。

该数据组装方法能够在数据方差较大时,也可以很好的解决数据组装时出现的浪费,从而减少推理计算的浪费,提高整体的推理效率。

作为上述实施例可行的实现方式,在对拼接好的图片进行视野扩充时,可根据神经网络的视野宽度将各个图片之间增加2倍的视野宽度的填充数据,该填充数据可全部为0。这样通过增加2倍的视野宽度的填充,保证了组装后的图片在进行卷积时不同图片之间的卷积不会相互干扰,从而保证了整体效果的一致性。

可以理解的是,填充数据的宽度可因神经网络模型的不同而进行调整,本发明在此不做限制。

在本发明的一些具体实施例中,在具体应用在神经网络模型的输入数据的组装时,可于预设填充规则生成组装后的图片的掩码,即组装后的图片中每个图片区域的每个像素填充为1,将相邻图片之间的空白像素填充为0。

具体的,参照图5所示,对于已经增加了网络视野的原始数据,需要生成对应的Mask(掩码)在每次卷积计算之后,将无效的数据进行清0操作,目的就是为了不影响下一次的计算,如果不做清0操作,通过多次卷积之后,不同数据之间就会存在数据卷积的干扰,从而影响了整体的效果。

基于同样的设计思路参照图6所示,本发明的实施例还提供了一种数据组装装置,该装置在运行时可实现上述数据组装方法的各个步骤,该装置可以包括:

数据获取模块601,用于获取待输入至模型的所有图片的尺寸集合,尺寸集合包括每个所述图片的尺寸值组。

图片拼接模块602,用于基于每个图片的尺寸值组以及预设拼接规则对所有图片进行拼接,得到一张包含所有图片的拼接图片。以及

数据填充模块603,用于基于模型的视野宽度在拼接图片中的相邻图片之间插入空白像素,得到组装后的图片。

进一步地。该数据组装装置还包括:

掩码生成模块,用于基于预设填充规则生成组装后的图片的掩码。

进一步地,掩码生成模块具体用于将组装后的图片中每个图片区域的每个像素填充为1,将相邻图片之间的空白像素填充为0。

进一步地,图片拼接模块602包括:

第一循环模块,用于将第一尺寸值组所表征的图片和第二尺寸值组所表征的图片进行拼接得到第一拼接图片,第一尺寸值组为尺寸集合中长度值和宽度值均最小的尺寸值组,第二尺寸值组为与第一尺寸值组差值最小的尺寸值组。以及

第二循环模块,用于将第一拼接图片的尺寸值组加入尺寸集合中,并删除尺寸集合中的所述第一尺寸值组和第二尺寸值组。

其中第一循环模块中第一拼接图片的尺寸值组的长度值为第一尺寸值组的长度值和第二尺寸值组的长度值的和值,第一拼接图片的尺寸值组的宽度值为第二尺寸值组的宽度值。

进一步地,数据填充模块603具体用于在拼接图片中的相邻图片之间的2倍于视野宽度的范围内插入空白像素,得到组装后的图片。

进一步地,数据获取模块601具体用于基于统计软件对每个图片的长度值和宽度值进行统计,以得到所有图片的尺寸集合。

该数据组装装置具有和上述数据组装方法相同的有益效果,其具体实现方式可参照上述数据组装方法的实施例,本发明在此不再赘述。

参照图7所示,本发明的实施例还提供了一种设备,该设备可以包括:存储器701和处理器702.

存储器701,用于存储程序。

处理器702,用于执行该程序,实现如上实施例所述的数据组装方法的各个步骤。

本发明的实施例还提供了一种可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如上实施例所述的数据组装方法的各个步骤。

该数据组装方法、装置、设备和可读存储介质,可应用于神经网络模型输入数据组装,当输入图片数据之间的尺寸相差非常大时,能够有效降低无效计算,加速神经网络模型的推理效率。

对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本发明各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,各实施例中记载的技术特征可以进行替换或者组合。

本发明各实施例种装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。

本发明所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术分类

06120115635863