一种图像数据的处理方法、装置、电子设备及存储介质
文献发布时间:2023-06-19 11:45:49
技术领域
本发明涉及数据处理技术领域,尤其涉及一种图像数据的处理方法、装置、电子设备及存储介质。
背景技术
传统的图像检索是基于CPU硬件资源进行,是将图像特征值与底库数据的特征值进行相似度计算,由于特征值计算时运算量较大,而CPU并不擅长做并行度很高的运算,在海量数据检索时无法进行高效快速的检索,检索速度慢的问题会很明显。随着科技发展,针对数据量巨大、应用系统中数据类型多的情况,数据量的增加会占用大量的存储空间,在CPU中进行检索不仅成本高,而且进行检索时需要花费大量的时间。可见,在现有的技术,对图像数据进行检索时,存在响应速度慢、硬件成本高的问题。
发明内容
本发明实施例提供一种图像数据的处理方法,能够加快响应速度,降低硬件成本。
第一方面,本发明实施例提供一种图像数据的处理方法,包括:
获取初始数据,初始数据包括数据类型及数据量;
将初始数据根据数据类型进行分类存储在硬盘中;
将硬盘中相同数据类型且数据量达到预设数据量阈值的初始数据转存至图像处理器的显存中分类存储;
获取待检索数据,判断待检索数据的数据类型所在的存储区,并在所在的存储区进行相似度比对,并将相似度满足预设条件的初始数据作为目标检索数据。
第二方面,本发明实施例还提供一种图像数据的处理装置,包括:
获取模块,用于获取初始数据,初始数据包括数据类型及数据量;
存储模块,用于将初始数据根据数据类型进行分类存储在硬盘中;
转存模块,用于将硬盘中相同数据类型且数据量达到预设数据量阈值的初始数据转存至图像处理器的显存中分类存储;
第一判断模块,用于获取待检索数据,判断待检索数据的数据类型所在的存储区,并在所在的存储区进行相似度比对,并将相似度满足预设条件的初始数据作为目标检索数据。
第三方面,本发明实施例还提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现本发明实施例提供的图像数据的处理方法中的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现发明实施例提供的图像数据的处理方法中的步骤。
本发明实施例中,获取初始数据,将初始数据分类存储在硬盘中,初始数据包括数据类型及数据量;将硬盘中数据类型相同且数据量达到预设数据量阈值的初始数据转存至图像处理器的显存中进行分类存储;获取待检索数据,判断与待检索数据具有相同数据类型的初始数据是否存储在图像处理器的显存中;若存在,则在图像处理器的显存中对待检索数据与初始数据进行相似度比对,并将相似度满足预设条件的初始数据作为目标检索数据。本发明由于预先将初始数据存储在硬盘中,然后判断同一种数据类型的初始数据的数据量是否达到预设数据量阈值,将达到的初始数据转存至图像处理器的显存中,没有达到的依然保存在硬盘中,在获取到待检索数据后,会根据待检索数据的数据类型去查找相同数据类型的初始数据是否在图像处理器的显存中,存在就会在图像处理器的显存中进行检索计算,否则就会在硬盘中进行检索计算,这样,可以不用在硬盘中进行所有的搜素计算,有利于提高GPU的使用率,降低硬件成本;同时,将初始数据转存至图像处理器的显存中时,会根据初始数据的数据类型进行分类存储,便于查找与待检索数据对应的初始数据,不用遍历所有初始数据,加快了检索响应时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种图像数据的处理方法的流程图;
图2是本发明实施例提供的另一种图像数据的处理方法的流程图;
图3是本发明实施例提供的另一种图像数据的处理方法的流程图;
图4是本发明实施例提供的另一种图像数据的处理方法的流程图;
图5是本发明实施例提供的一种图像数据的处理装置的结构示意图;
图6是本发明实施例提供的另一种图像数据的处理装置的结构示意图;
图7是本发明实施例提供的另一种图像数据的处理装置的结构示意图;
图8是本发明实施例提供的另一种图像数据的处理装置的结构示意图;
图9是本发明实施例提供的另一种图像数据的处理装置的结构示意图;
图10是本发明实施例提供的另一种图像数据的处理装置的结构示意图;
图11是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,图1是本发明实施例提供的一种图像数据的处理方法的流程图,具体包括以下步骤:
S101、获取初始数据,将初始数据分类存储在硬盘中,初始数据包括数据类型及数据量。
在本实施例中,图像数据的处理方法运行于其上的电子设备可以通过有线连接方式或者无线连接方式等获取初始数据。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi(Wireless-Fidelity)连接、蓝牙连接、WiMAX(WorldwideInteroperability for Microwave Access)连接、Zigbee(低功耗局域网协议,又称紫峰协议)连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
需要说明的是,上述电子设备可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
其中,在进行海量的数据检索计算之前,需要获取初始数据做为底库数据。初始数据可以是自动输入的数据,也可以是人为输入的数据。初始数据可以是未经处理的原始图像数据,上述初始数据的数据类型可以是预先设置的,数据类型可以用于对初始数据进行分类,避免让所有数据类型的初始数据均保存在同一个存储区域中。上述的数据量可以表示初始数据的数据大小,例如:数据量为20万个。上述的硬盘可以是CPU,CPU是计算机的主要设备之一,功能主要是解释计算机指令以及处理计算机软件中的数据。硬盘可以用于存储上述的初始数据。
其中,基于数据类型的不同,可以将相同数据类型的初始数据进行类聚,将零散的初始数据汇聚成一个或者多个大类。在硬盘中可以设置有多个存储区,可以将分类后的初始数据对应存储在各个存储区中。其存储的方式可以是根据录入的初始数据的数据类型进行依次分类存储,当硬盘中所有的存储区都存储有初始数据后,可以再从第一个存储区依序查找初始数据的数据类型相同且未存满初始数据的存储区,对后续录入的初始数据进行存储,例如:依次录入A、B、C、D四种数据类型的初始数据,可以依次存储在硬盘a、b、c、d四个存储区内,若硬盘中共有4个存储区,当4个存储区均存储有对应数据类型的初始数据时,若当前存储的初始数据的数据类型为B,则可以依序查找b存储区,将B初始数据继续存储在b存储区。上述查找也可以是随机查找,或者从最后一个存储区逆序查找。
若是同一个存储区已被同一种数据类型的初始数据占满,则该种初始数据后续录入时可以查找硬盘中其它的存储区,例如:当前录入的初始数据的数据类型为B,而存储区b已经存满,则会依序查找其余存储区,若存储区c有足够的存储区,则将初始数据的数据类型为B存储在c存储区中。当然,上述的存储方式只是本发明实施例中的部分存储方式,在本发明中对存储方式不做限定。
S102、将硬盘中数据类型相同且数据量达到预设数据量阈值的初始数据转存至图像处理器的显存中进行分类存储。
其中,上述的图像处理器即为GPU,又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器,其对处理逻辑运算的性能较高。上述的显存也可以称为显示内存,显存可以具有不同大小的容量,例如:显存的显存容量有128MB、256MB、512MB、1024MB,64MB、128MB、1TB等。当需要暂存的数据越大,所占用的容量将会越大。
上述的预设数据量阈值可以是根据需要处理的数据量的大小进行设置的,例如:1亿个初始数据,要求其响应时间在3s内完成对所有数据的检索,当刚开始录入数据时将初始数据录入到硬盘中进行存储,而对每个初始数据进行暴力检索的时间在10us内,检索10万条初始数据耗时未1s,所以将3s作为一个目标响应时间,则可以将上述的预设数据量阈值设置为25万个数据。上述的预设数据量阈值是针对任何一种数据类型的初始数据设置。
上述对初始数据基于数据类型进行分类,可以缩小检索及计算范围。所以,在转存到GPU显存中时可以根据其数据类型分别进行存储,且GPU显存中可以是设置有多个存储区,可以依次将数据类型相同且数据量超过预设数据量阈值的初始数据按照存储区的顺序进行存储。当然,也可以是将其数据量超过预设数据量阈值的初始数据随机存储在各个存储区内,在本发明实施例中,对此不做限定。将数据类型相同且数据量超过预设数据量阈值转存到GPU显存进行存储可以释放CPU的存储空间,保证数据检索时的响应速度。
S103、获取待检索数据,判断与待检索数据具有相同数据类型的初始数据是否存储在图像处理器的显存中。
其中,待检索数据可以是用户通过移动终端发送的检索请求中包含的数据。可以对待检索数据的数据类型进行判断,然后查找该数据类型的初始数据是否存储在GPU的显存中,若存在GPU的显存中,后续的检索就可以在GPU中进行,否则,上述与待检索数据的数据类型相同的初始数据存储在CPU中,后续的检索便可以在GPU中进行。
S104、若存在,则在图像处理器的显存中对待检索数据与初始数据进行相似度比对,并将相似度满足预设条件的初始数据作为目标检索数据。
其中,若与待检索数据具有相同数据类型的初始数据存在GPU的显存中,则可以在显存中检索与待检索数据对应的同一数据类型的初始数据,并对待检索数据与同一数据类型的初始数据进行相似度比对,这样,可以不用对所有的初始数据都进行一一检索,可以避免检索数据量大,响应时间长的问题。
上述相似度可以表示初始数据与待检索数据的相似程度,上述进行相似度比对可以表示计算同一数据类型的所有初始数据与待检索数据之间的相似程。上述的预设条件可以是基于计算出的所有相似度,筛选出的排序靠前的topN个相似度,该排序靠前的topN个相似度对应的初始数据则可以作为上述的目标检索数据,并将该目标检索数据返回给用户使用的移动终端。当然,上述的预设条件还可以是预设的相似度阈值,在计算出所有的相似度后,可以将达到预设的相似度阈值的相似度对应的初始数据作为目标检索数据,并将该目标检索数据返回给用户使用的移动终端。
上述移动终端可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、播放器、膝上型便携计算机和台式计算机等等。
在本发明实施例中,获取初始数据,初始数据包括数据类型及数据量;将初始数据根据数据类型进行分类存储在硬盘中;将硬盘中相同数据类型且数据量达到预设数据量阈值的初始数据转存至图像处理器的显存中分类存储;获取待检索数据,判断待检索数据的数据类型所在的存储区,并在所在的存储区进行相似度比对,得到目标检索数据。本发明由于预先将初始数据存储在硬盘中,然后判断同一种数据类型的初始数据的数据量是否达到预设数据量阈值,将达到的初始数据转存至图像处理器的显存中,没有达到的依然保存在硬盘中,在获取到待检索数据后,会根据待检索数据的数据类型去查找相同数据类型的初始数据是否在图像处理器的显存中,存在就会在图像处理器的显存中进行检索计算,否则就会在硬盘中进行检索计算,这样,可以不用在硬盘中进行所有的搜素计算,有利于提高GPU的使用率,降低硬件成本;同时,将初始数据转存至图像处理器的显存中时,会根据初始数据的数据类型进行分类存储,便于查找与待检索数据对应的初始数据,不用遍历所有初始数据,加快了检索响应时间。。
如图2所示,图2是本发明实施例中提供的另一种图像数据的处理方法的流程图,具体包括以下步骤:
S201、获取初始数据,识别初始数据的数据类型。
上述的数据类型可以包括数据对象以及数据属性。其中,数据对象与数据属性可以是组成数据类型的基本参数,且数据对象可以是作为第一维度,数据属性可以作为第二维度。上述数据对象可以包括但不限于人脸(五官、口罩、墨镜、帽子)、人体(体型、服饰、身高、体重,甚至是服饰上的图案、服饰的款式、身上背的包,携带的东西等)、静态库、车辆信息(包括用户信息及车辆注册信息等)、穿戴、行为等信息,其中,静态库可以是指存储有需要反复使用的一些公共代码的库。上述数据属性可以包括但不限于黑名单人员、黑名单车辆、追捕人员等信息。获取初始数据的数据对象及数据属性可以判断出初始数据的具体数据类型。
获取到初始数据的数据对象及数据属性后,可以将数据对象以及数据属性进行组合会得到不同的数据类型,例如:黑名单人员的人脸、黑名单人员的穿戴、黑名单人员的奔跑动作、黑名单车辆的车辆信息等等。上述数据对象与数据属性进行组合后得到的数据类型可以是在15种以上。
上述的数据属性的数据量会根据数据对象的数据量而变化,例如:数据属性为黑名单人员,数据对象为人脸,则对应的数据量为1万个,若是数据对象为人体,则对应的数据量为2万个。也可以根据不同的应用场景而变化,例如:数据属性为黑名单车辆,数据对象为车辆信息,在步行街的数据量为1000个,在交通道路上则可以为10万个。上述数据对象与数据属性组合形成的数据类型中可以对应多个初始数据,例如:上述的黑名单人员的人脸对应的初始数据为10万个,黑名单人员奔跑动作的初始数据为2万个。
S202、对数据类型相同的初始数据进行合并,将数据类型相同的初始数据存储在同一硬盘中,硬盘包括多个硬盘存储区,每个硬盘存储区存储一种数据类型的初始数据。
其中,对所有的初始数据的数据类型进行识别后,可以将同种数据类型的初始数据进行合并,将相同数据类型的初始数据存储在同一个硬盘存储区内。硬盘有多个硬盘存储区,则在每个硬盘存储区中都可以存储一种数据类型的初始数据。这样,实现初始数据的分类存储,可以把不同类型的初始数据进行分类存储在同一硬盘中,当数据检索时,只需要检索与待检索数据相同的数据类型的初始数据所在的硬盘存储区便可,不用涉及到对不同数据类型的初始数据进行检索,加快了响应速度及检索的时间。
S203、将硬盘中数据类型相同且数据量达到预设数据量阈值的初始数据转存至图像处理器的显存中进行分类存储。
S204、获取待检索数据,判断与待检索数据具有相同数据类型的初始数据是否存储在图像处理器的显存中。
S205、若存在,则在图像处理器的显存中对待检索数据与初始数据进行相似度比对,并将相似度满足预设条件的初始数据作为目标检索数据。
在本发明实施例中,通过获取初始数据,提取数据对象以及数据属性,通过将数据对象与数据属性进行组合得到的初始数据的数据类型,并按照数据类型将初始数据存储在同一硬盘中的不同硬盘存储区内。这样,根据不同的维度进行组合得到初始数据的数据类型,基于组合后得到的数据类型进行对应存储,可以有效合理的利用硬盘的存储空间,当获取到待检索数据,需要在硬盘中进行检索的时候,可以只在与待检索数据的数据类型相同的初始数据中进行检索,不用涉及到对不同数据类型的初始数据进行检索,加快了响应速度及检索的时间。
如图3所示,图3是本发明实施例中提供的另一种图像数据的处理方法的流程图,具体包括以下步骤:
S301、获取初始数据,将初始数据分类存储在硬盘中,初始数据包括数据类型及数据量。
S302、获取硬盘中数据类型相同的初始数据的数据量。
其中,当多个数据类型的初始数据存入硬盘的存储区后,可以对其中各个数据类型相同的初始数据的数据量进行获取,得到各种数据类型的初始数据的数据量,例如:黑名单人员的人脸数据的数据量为1万个。
S303、判断数据类型相同的初始数据的数据量是否达到预设数据量阈值。
其中,对数据量进行判断可以是对每种数据类型且存储在硬盘存储区的初始数据的数据量进行判断。例如:数据类型分别为黑名单人员的人脸、黑名单车辆的车辆信息依次对应的初始数据的数据量为30万个和20万个,预设数量阈值为25万个。
S304、若达到,则将达到预设数据量阈值的初始数据转存至图像处理器的显存中进行分类存储。
其中,当相同数据类型的初始数据对应的数据量达到预设数据量阈值时,可以将存储在硬盘的存储区中超过预设数据量阈值的初始数据转存到GPU显存中进行存储。上述转存到GPU显存中进行分类存储可以是在显存中设置有多个存储区,将不同数据类型的初始数据分别存储在不同的存储区中。当获取到待检索数据需要在GPU显存中进行数据检索时,可以基于数据类型的不同直接查找与待检索数据的数据类型相同的初始数据并及新相似度的比对即可,不再去检索GPU显存中与待检索数据的数据类型不同数据类型的初始数据。
作为一种可行的实施方式,考虑到GPU具有易扩展性的特点,可以增加GPU显卡资源,将初始数据均匀的分配到每张卡上。这样,若有k张卡,n个数据,则每张卡上只需要检索k/n个数据,并且n张卡执行相似度比对之后会返回相似度较高的topN个初始数据到用户发出待检索数据的移动终端,例如:设置有3个显存共有30万个初始数据,第一显存中存储数据类型为黑名单人员的人脸,共有10万个初始数据,第二显存中存储的数据类型为黑名单人员的人体,共有15万个初始数据,第三显存中存储的数据类型为男性贵宾,共有5万个初始数据,若待检索数据为黑名单人员的人脸时,则可以只在第一显存中进行10/30个数据检索及相似度的判断即可。当然,同一种数据类型的显存也可以设置多个,例如:第一显存区域与第二显存区域均存储同一种数据类型的初始数据。这样,可以加快检索及相似度计算的速度,降低耗时,提高数据的处理效率。
S305、获取待检索数据,判断与待检索数据具有相同数据类型的初始数据是否存储在图像处理器的显存中。
S306、若存在,则在图像处理器的显存中对待检索数据与初始数据进行相似度比对,并将相似度满足预设条件的初始数据作为目标检索数据。
可选的,初始数据包括初始数据特征值,上述步骤S304具体可以包括:
基于达到预设数据量阈值的初始数据的数据量,在图像处理器的显存中申请预留存储区。
上述先获取达到预设数据量阈值的初始数据的数据量后,可以在GPU显存中申请一个大于等于达到预设数据量阈值的初始数据的数据量的预留存储区,例如:转存至GPU中的数据量占用的存储空间为2GB,申请的预留存储区为2.2GB。这样能够保证将数据量达到预设数据量阈值的初始数据转至GPU显存的预留存储区时有足够的空间存放。
获取数据类型相同且达到预设数据量阈值的初始数据对应的初始数据特征值。
其中,每个初始数据都可以有对应的初始数据特征值,初始数据特征值能够体现初始数据的特征,是一种能够提取图像信息中特定信息而形成的固定或者变长的半结构化数据。获取数据类型相同的初始数据中每个数据的初始数据特征值,将初始数据特征值进行存储可以加快计算速度,同时节约空间,提高了GPU显存存储区的利用率。
将数据类型相同且达到预设数据量阈值的初始数据、以及初始数据特征值存储在图像处理器的显存的预留存储区内。
其中,GPU显存的预留存储区是根据数据量超过预设数据量阈值的初始数据所占用的空间设置的,将初始数据特征值存储在GPU显存对应的预留存储区内,可以保证存储区有效且有序的使用,避免随意存储。
可选的,上述步骤S305具体可以包括:
接收待检索请求,待检索请求包括待检索数据。
其中,用户可以通过移动终端发出待检索请求,当系统接收到该待检索请求后会对该请求做出响应,也即是在初始数据中进行检索及计算的过程,最后返回一个目标检索数据给用户使用的移动终端。
提取待检索数据的待检索数据特征值,识别待检索数据的数据类型。
其中,待检索数据的数据类型同样可以包括上述初始数据所描述的黑名单人员的人脸、黑名单人员的人体等数据类型。待检索数据可以是图像数据,图像数据中可以包括人、车辆、以及人或者车辆发出的动作、所处的场景(街道、商场、办公楼、学校等)等信息。提取待检索数据的数据特征值可以用于与初始数据的初始数据特征值进行比较,通过数据特征值进行比较,可以加快相似度计算的时间,提高检索的效率。
判断与待检索数据具有相同数据类型的初始数据是否存储在图像处理器的显存中。
其中,通过在进行相似度计算之前,可以先对待检索数据的数据类型进行查找,当查找到待检索数据的数据类型所在的存储区后,将其作为目标存储区进行检索,例如:目标存储区为硬盘中,就在硬盘中将初始数据加载到内存中进行相似度计算即可不会涉及到GPU的显存中的初始数据;若目标存储区为GPU的显存,则在显存中进行相似度计算即可,不会涉及到硬盘中的初始数据。这样,既不会涉及到不同的数据类型的初始数据,又能够加快检索的时间。
若是,则在图像处理器的显存中查找与待检索数据的数据类型相同的初始数据所在的目标存储区。
其中,目标存储区可以是指初始数据与待检索数据的数据类型相同的存储区。若在GPU的显存中找到与待检索数据的数据类型相同的初始数据,则可以查找该数据类型的初始数据在显存中的哪个存储区,查找到之后,这个存储区即为上述的目标存储区,查找目标存储区可以便于提取相同数据类型的初始数据与待检索数据进行相似度计算。
基于待检索数据特征值,在目标存储区中进行暴力检索,以得到与待检索数据特征值对应的初始数据的初始数据特征值,对待检索数据特征值与初始数据特征值进行相似度计算,并将相似度满足预设条件的初始数据作为目标检索数据。
其中,暴力检索可以是以待检索数据特征值以及数据类型为检索条件在硬盘/GPU显存中遍历检索,过滤掉不符合检索条件的初始数据,从而得到上述的目标检索数据。上述的目标检索数据可以是一个数据,也可以是一组数据,例如:目标检索数据的数据量为100个。
其中,若目标存储区为GPU显存,则进行相似度计算可以是将预留存储空间中初始数据加载到计算空间中,在GPU显存的计算空间内进行。若目标存储区为硬盘,则进行相似度计算可以是将硬盘中的初始数据加载到内存中,在内存中进行计算。
相似度的计算可以是通过判断待检索数据特征值与初始数据特征值在多个维度上形成的空间向量之间的距离。相同维度的两个空间向量的距离越小,可以表示相似度越高;距离越大,相似度越低。相似度计算完成后,GPU显存或者硬盘内存可以将相似度最高的N个初始数据作为目标检索数据返回到用户发出待检索请求的移动终端。
在本发明实施例中,通过获取初始数据,并将初始数据存储在硬盘中后,判断相同数据类型的初始数据对应的数据量是否达到预设数据量阈值,并将达到的部分从硬盘中转存至GPU显存中进行分类存储。当获取到待检索数据时,若待检索数据的数据类型所在的存储区为GPU显存,则直接在GPU显存中进行检索及相似度计算,得到相似度topN个目标检索数据返回给用户发出待检索请求的移动终端。这样,将超过预设数据量阈值的初始数据转存至GPU显存中,直接在GPU显存对类型相同的数据类型进行检索及相似度计算,而且GPU的数据处理能力强,具有高并发特点,有利于加快检索速度并减少耗时,提高GPU显存的利用率及数据的处理效率。
如图4所示,图4是本发明实施例中提供的另一种图像数据的处理方法的流程图,具体包括以下步骤:
S401、获取初始数据,将初始数据分类存储在硬盘中,初始数据包括数据类型及数据量。
S402、将硬盘中数据类型相同且数据量达到预设数据量阈值的初始数据转存至图像处理器的显存中进行分类存储。
S403、获取待检索数据,判断与待检索数据具有相同数据类型的初始数据是否存储在图像处理器的显存中。
S404、若存在,则在图像处理器的显存中对待检索数据与初始数据进行相似度比对,并将相似度满足预设条件的初始数据作为目标检索数据。
S405、删除存储在图像处理器的显存中的初始数据。
其中,数据的检索过程会不断的需要初始数据的支持,所以初始数据会进行数据更新。当有新的数据类型需要录入时,就需要由足够的存储区对更新的数据进行存储,然而GPU显存的存储区时有限的,若是GPU显存中的存储区不足以存储后续录入的初始数据时,就需要对GPU显存中的初始数据进行删除,腾出足够的存储空间,例如:删除5个月以前数据类型为黑名单人员的人脸的初始数据。当然,具体删除什么数据类型的初始数据可以自由选择,还可以自行设置删除条件,对此在本发明实施例中不做限定。
上述的删除可以是对同种数据类型的所有初始数据进行删除,也可以是对多种同一数据类型的初始数据进行部分删除。
S406、判断图像处理器的显存中数据类型相同的剩余初始数据对应的数据量是否超过预设数据量阈值。
其中,对GPU显存中初始数据进行删除后,GPU显存中会有剩余初始数据,剩余初始数据可以是未删除的后续可用于检索及相似度计算的数据,例如:删除了数据类型为。判断同种数据类型的剩余初始数据的数据量是否超过预设数据量阈值,便于对剩余初始数据进行存储转换。
S407、若未超过,则将图像处理器的显存中的相同数据类型的剩余初始数据转移到硬盘中,同时清除图像处理器的显存中已转移的剩余初始数据。
其中,当同种数据类型的剩余初始数据的数据量依然是大于等于预设数据量阈值时,可以将该种数据类型的剩余初始数据继续存储在GPU显存中。
作为一种可能的实施例方式,继续存储在GPU显存中同类数据类型的剩余初始数据若是在未删除前占用了显存的多个存储区,则可以在部分删除后,将多个存储区中的剩余初始数据进行合并存储,例如:A存储区为3GB,删除1GB初始数据,剩余初始数据为2GB,B存储区为2GB,剩余初始数据为1GB,A存储区与B存储区的数据类型一致,则可以将B存储区中的剩余初始数据转移到A存储区中存储。合并之后便可以将转移的一个存储区中的初始数据进行删除,避免重复存在,占用存储空间。
当同种数据类型的剩余初始数据的数据量经过删除之后小于预设数据量阈值时,则将GPU显存中的相同数据类型的剩余初始数据转移到硬盘的内存中,当接收到待检索请求时,识别到待检索数据的数据类型与转移到硬盘的内存中初始数据的数据类型相同时,便可以直接在硬盘中进行检索以及相似度的计算。上述的清除GPU显存中已转移的剩余初始数据可以是在所有的剩余初始数据全部转移完成之后再清除;也可以是在一个剩余初始数据转移完成后直接清除。清除已转移的剩余初始数据有利于腾出空间用于存储新录入的数据,并且保证了GPU显存的高可用性,避免出现存储空间不足的情况发生。
在本发明实施例中,由于初始数据的不断录入,为保证GPU显存的高可用性,通过对GPU显存中的初始数据进行删除,并将数据量超过预设数据量阈值的初始数据转移到硬盘中存储,后续检测到与该数据类型相同的待检索数据时,直接在硬盘中进行检索以及相似度计算便可,这样及保证了GPU显存的高可用。
如图5所示,图5是本发明实施例提供的一种图像数据的处理装置的结构示意图,装置具体包括:
获取模块501,用于获取初始数据,将初始数据分类存储在硬盘中,初始数据包括数据类型及数据量;
转存模块502,用于将硬盘中数据类型相同且数据量达到预设数据量阈值的初始数据转存至图像处理器的显存中进行分类存储;
判断模块503,用于获取待检索数据,判断与待检索数据具有相同数据类型的初始数据是否存储在图像处理器的显存中;
计算模块504,用于若存在,则在图像处理器的显存中对待检索数据与初始数据进行相似度比对,并将相似度满足预设条件的初始数据作为目标检索数据。
可选的,数据类型包括数据对象与数据属性,如图6所示,获取模块501包括:
第一识别单元5011,用于识别初始数据的数据类型;
存储单元5012,用于对数据类型相同的初始数据进行合并,将数据类型相同的初始数据存储在同一硬盘中,硬盘包括多个硬盘存储区,每个硬盘存储区存储一种数据类型的初始数据。
可选的,如图7所示,转存模块502,包括:
获取单元5021,用于获取硬盘中数据类型相同的初始数据的数据量;
第一判断单元5022,用于判断数据类型相同的初始数据的数据量是否达到预设数据量阈值;
转存单元5023,用于若达到,则将达到预设数据量阈值的初始数据转存至图像处理器的显存中进行分类存储。
可选的,初始数据包括初始数据特征值,如图8所示,转存单元5023包括:
申请子单元50231,用于基于达到预设数据量阈值的初始数据的数据量,在图像处理器的显存中申请预留存储区;
获取子单元50232,用于获取数据类型相同且达到预设数据量阈值的初始数据对应的初始数据特征值;
存储子单元50233,用于将数据类型相同且达到预设数据量阈值的初始数据、以及初始数据特征值存储在图像处理器的显存的预留存储区内。
可选的,上述存储子单元50233还用于对预留存储区中的初始数据进行标记,得到标记数据,标记数据包括标记数据类型;
上述存储子单元50233还用于分别将标记数据类型相同的标记数据对应存储在图像处理器的显存中的预留存储区内。
可选的,若图9所示,判断模块503包括:
接收单元5031,用于接收待检索请求,待检索请求包括待检索数据;
第二识别单元5032,用于提取待检索数据的待检索数据特征值,识别待检索数据的数据类型;
第二判断单元5033,用于判断与待检索数据具有相同数据类型的初始数据是否存储在图像处理器的显存中;
查找单元5034,用于若是,则在图像处理器的显存中查找与待检索数据的数据类型相同的初始数据所在的目标存储区;
检索单元5035,用于基于待检索数据特征值,在目标存储区中进行暴力检索,以得到与待检索数据特征值对应的初始数据的初始数据特征值,对待检索数据特征值与初始数据特征值进行相似度计算,并将相似度满足预设条件的初始数据作为目标检索数据。
可选的,如图10所示,装置还包括:
删除模块505,用于删除存储在图像处理器的显存中的初始数据;
上述判断模块503还用于判断图像处理器的显存中数据类型相同的剩余初始数据对应的数据量是否超过预设数据量阈值;
转移模块506,用于若未超过,则将图像处理器的显存中的相同数据类型的剩余初始数据转移到硬盘中,同时清除图像处理器的显存中已转移的剩余初始数据。
本发明实施例提供的图像数据的处理装置能够实现上述任一方法实施例中图像数据的处理方法实现的各个过程及相同的有益效果,为避免重复,这里不再赘述。
如图11所示,是本发明实施例提供的一种电子设备的结构示意图,电子设备1000包括:通过系统总线相互通信连接存储器1102、处理器1101、网络接口1103以及存储在存储器1102上并可在处理器1101上运行的计算机程序。需要指出的是,图中仅示出了具有组件1101-1103的电子设备1000,但应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的电子设备1000是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray,FPGA)、数字处理器(Digital SignalProcessor,DSP)、嵌入式设备等。
上述电子设备1000可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。电子设备1000可以与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
其中,处理器1101在一些实施例中可以是控制器、微控制器、微处理器、或其他数据处理芯片。该处理器1101通常用于控制计算机设备的总体操作。
处理器1101用于调用存储器1102存储的计算机程序,执行如下步骤:
获取初始数据,将初始数据分类存储在硬盘中,初始数据包括数据类型及数据量;
将硬盘中数据类型相同且数据量达到预设数据量阈值的初始数据转存至图像处理器的显存中进行分类存储;
获取待检索数据,判断与待检索数据具有相同数据类型的初始数据是否存储在图像处理器的显存中;
若存在,则在图像处理器的显存中对待检索数据与初始数据进行相似度比对,并将相似度满足预设条件的初始数据作为目标检索数据。
可选的,处理器1101执行的将初始数据分类存储在硬盘中的步骤包括:
识别初始数据的数据类型;
对数据类型相同的初始数据进行合并,将数据类型相同的初始数据存储在同一硬盘中,硬盘包括多个硬盘存储区,每个硬盘存储区存储一种数据类型的初始数据。
可选的,处理器1101执行的将硬盘中数据类型相同且数据量达到预设数据量阈值的初始数据转存至图像处理器的显存中进行分类存储的步骤包括:
获取硬盘中数据类型相同的初始数据的数据量;
判断数据类型相同的初始数据的数据量是否达到预设数据量阈值;
若达到,则将达到预设数据量阈值的初始数据转存至图像处理器的显存中进行分类存储。
可选的,处理器1101执行的初始数据包括初始数据特征值,将达到预设数据量阈值的初始数据转存至图像处理器的显存中进行分类存储的步骤包括:
基于达到预设数据量阈值的初始数据的数据量,在图像处理器的显存中申请预留存储区;
获取数据类型相同且达到预设数据量阈值的初始数据对应的初始数据特征值;
将数据类型相同且达到预设数据量阈值的初始数据、以及初始数据特征值存储在图像处理器的显存的预留存储区内。
可选的,处理器1101执行的将数据类型相同且达到预设数据量阈值的初始数据、以及初始数据特征值存储在图像处理器的显存的预留存储区内的步骤包括:
对预留存储区中的初始数据进行标记,得到标记数据,标记数据包括标记数据类型;
分别将标记数据类型相同的标记数据对应存储在图像处理器的显存中的预留存储区内。
可选的,处理器1101执行的获取待检索数据,判断与待检索数据具有相同数据类型的初始数据是否存储在图像处理器的显存中的步骤包括:
接收待检索请求,待检索请求包括待检索数据;
提取待检索数据的待检索数据特征值,识别待检索数据的数据类型;
判断与待检索数据具有相同数据类型的初始数据是否存储在图像处理器的显存中;
若是,则在图像处理器的显存中查找与待检索数据的数据类型相同的初始数据所在的目标存储区;
基于待检索数据特征值,在目标存储区中进行暴力检索,以得到与待检索数据特征值对应的初始数据的初始数据特征值,对待检索数据特征值与初始数据特征值进行相似度计算,并将相似度满足预设条件的初始数据作为目标检索数据。
可选的,处理器1101还用于执行以下步骤:
删除存储在图像处理器的显存中的初始数据;
判断图像处理器的显存中数据类型相同的剩余初始数据的数据量是否超过预设数据量阈值;
若未超过,则将图像处理器的显存中的相同数据类型的剩余初始数据转移到硬盘中,同时清除图像处理器的显存中已转移的剩余初始数据。
上述存储器1102至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。
本发明实施例提供的电子设备1000能够实现图像数据的处理方法实施例中的各个实施方式,以及相应有益效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器1101执行时实现本发明实施例提供的图像数据的处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存取存储器(Random Access Memory,简称RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
- 一种图像数据处理方法、装置、电子设备及其存储介质
- 一种图像数据的处理方法、装置、电子设备和存储介质