基于分布式存储图像处理方法、系统、设备及介质与流程

文档序号:31589371发布日期:2022-09-21 02:44阅读:100来源:国知局
基于分布式存储图像处理方法、系统、设备及介质与流程

1.本技术涉及图像处理领域,也涉及数据存储领域,尤其涉及一种基于分布式存储图像处理方法、系统、设备及介质。


背景技术:

2.分布式存储是一种数据存储技术,通过网络使用每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据被分散存储于各个角落的磁盘空间。
3.在相关技术中,为了最大优化存储空间利用率,通常会比较每个文件(图像)的md5(message-digest algorithm,信息摘要算法)值是否相同,若相同,则删除重复文件,以提高存储空间利用率。然而,采用上述方式,忽略了文件之间内容区域重复性,造成文件冗余存储,极大浪费了存储空间。
4.申请内容
5.鉴于以上所述现有技术的缺点,本技术提供一种基于分布式存储图像处理方法、系统、设备及介质,以解决上述技术问题。
6.本技术提供的一种基于分布式存储图像处理方法,所述方法包括:
7.获取图像设备采集的场景图像、以及所述场景图像内的目标图像;
8.对所述场景图像进行解析处理,确定所述场景图像的结构化数据与图像数据,所述结构化数据包括所述图像数据的图像名称、所述目标图像在所述图像数据内区域信息以及所述目标图像对应的所述图像数据的源标识;
9.将多个所述场景图像的图像数据聚合存储为大文件进行分布式存储,生成所述大文件唯一的文件标识;并将所述文件标识与所述场景图像的图像名称关联存储;
10.根据所述场景图像的图像名称与文件标识的对应关系,结合所述目标图像的区域信息与所述源标识确定所述目标图像关联所述场景图像的文件标识,通过在所述文件标识内增加区域信息来存储目标图像。
11.在一种可能的实施方式中,获取图像设备采集的场景图像、以及所述场景图像内的目标图像,包括:
12.利用同一图像设备采集同一场景的场景图像与目标图像,或/和,利用不同图像设备采集同一场景的场景图像与目标图像。
13.在一种可能的实施方式中,对所述场景图像进行解析处理,确定所述场景图像的结构化数据与图像数据,包括:
14.基于分析接口协议对所述场景图像进行解析处理,得到所述场景图像的结构化数据与图像数据;所述结构化数据包括所述图像数据的图像名称、所述目标图像在所述图像数据内区域信息以及所述目标图像对应的所述图像数据的源标识;
15.其中,通过比较所述目标图像与图像数据的相似度确定所述目标图像在所述图像数据内区域信息;根据所述目标图像与图像数据的相似度结果确定所述目标图像对应的所述图像数据的源标识。
16.在一种可能的实施方式中,所述将多个所述场景图像的图像数据聚合存储为大文件进行分布式存储,生成所述大文件存储的文件标识,包括:
17.将多张所述场景图像的图像数据聚合存储为一个大文件,每个所述大文件对应唯一的文件标识,并将所述场景图像的结构化数据关联存储;
18.根据负载均衡原则分布式存储各个所述大文件,所述文件标识包括文件名称、所述图像数据在大文件中的偏移、图像大小;以及所述目标图像在场景图像中区域信息。
19.在一种可能的实施方式中,所述通过在所述文件标识内增加区域信息来存储目标图像之后,还包括:
20.利用所述文件标识定位所述大文件的存储位置;
21.待确定所述大文件后,根据所述文件标识读取所述大文件的场景图像,并以扫描线数组方式进行存储;
22.利用所述目标图像在所述场景数据内区域信息从所述扫描线数组读取相应的行列数据恢复为目标图像。
23.在一种可能的实施方式中,所述根据所述场景图像的图像名称与文件标识的对应关系之前,还包括:
24.判断解析后的所述场景图像的区域信息与目标图像的关系;
25.若所述目标图像为解析后的所述场景图像的区域信息,根据所述文件标识在相应的场景图像存储目标图像;
26.若所述目标图像不为解析后的所述场景图像的区域信息,则采用聚合存储方式分布式存储所述场景图像与目标图像。
27.在一种可能的实施方式中,所述分布式存储,还包括:
28.接收到分布式存储请求时,获取分布式存储系统中磁盘的可写区域;所述分布式存储请求包括待写入所述大文件的大小,所述磁盘分布式设置且划分为多个可写区域;
29.根据所述分布式存储请求和所述可写区域的剩余存储空间确定写入信息;所述写入信息包括切分所述待写入所述大文件得到的各个对象的长度;
30.将所述写入信息返回至计算节点,以使所述计算节点根据所述写入信息将所述待写入文件写入对应的存储节点。
31.本技术还提供了一种基于分布式存储图像处理系统,所述系统包括:
32.获取模块,用于获取图像设备采集的场景图像、以及所述场景图像内的目标图像;
33.解析处理模块,用于对所述场景图像进行解析处理,确定所述场景图像的结构化数据与图像数据,所述结构化数据包括所述图像数据的图像名称、所述目标图像在所述图像数据内区域信息以及所述目标图像对应的所述图像数据的源标识;
34.聚合存储模块,将多个所述场景图像中图像数据聚合存储为大文件进行分布式存储,生成所述大文件唯一的文件标识;并将所述文件标识与所述场景图像的图像名称关联存储;
35.图像存储模块,用于根据所述场景图像的图像名称与文件标识的对应关系,结合所述目标图像的区域信息与所述源标识确定所述目标图像关联所述场景图像的文件标识,通过在所述文件标识内增加区域信息来存储目标图像。
36.本技术还提供了一种电子设备,包括处理器、存储器和通信总线;
37.所述通信总线用于将所述处理器和存储器连接;
38.所述处理器用于执行所述存储器中存储的计算机程序,以实现如上述中任一项实施例所述的方法。
39.本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,
40.所述计算机程序用于使计算机执行如上述任一项实施例所述的方法。
41.本技术的有益效果:本技术提出的一种基于分布式存储图像处理方法、系统、设备及介质,该方法通过获取场景图像以及归属于场景图像内目标图像,对所述场景图像进行解析处理,确定场景图像的结构化数据与图像数据;将多个场景图像的图像数据通过聚合存储为大文件后,根据所述场景图像的图像名称与文件标识的对应关系,结合所述目标图像的区域信息与所述源标识确定所述目标图像关联所述场景图像的文件标识,通过在所述文件标识内增加区域信息来存储目标图像,即可实现目标图像存储;一方面,本技术利用聚合存储方式,能够最大化使用存储空间,减少存储空间的浪费;另一方面,通过在文件标识里添加区域信息存储目标图像,避免了重复图像的存储,也极大提高了图像存储空间利用率。
附图说明
42.图1是本技术一实施例中提供的一种网络架构的示意图;
43.图2是本技术一实施例中提供的基于分布式存储图像处理方法流程图;
44.图3是本技术一实施例中提供的基于分布式存储图像中图像恢复流程图;
45.图4是本技术一实施例中提供的基于分布式存储图像分布式存储流程图;
46.图5是本技术一实施例中提供的基于分布式存储图像处理系统框架图;
47.图6是本技术一实施例提供的一种电子设备的结构示意图;
48.图7是本技术一实施例提供的一种采集的图像区域重复示意图;
49.图8是本技术一实施例提供的基于分布式存储图像处理存储示意图;
50.图9是本技术一实施例提供的基于分布式存储图像分布式存储示意图。
具体实施方式
51.以下通过特定的具体实例说明本技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本技术的其他优点与功效。本技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
52.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本技术的基本构想,遂图式中仅显示与本技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
53.在下文描述中,探讨了大量细节,以提供对本技术实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本技术的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以
避免使本技术的实施例难以理解。
54.请参见图1,图1是本技术实施例提供的一种网络架构的结构示意图。如图1所示,该网络架构可以包括服务器01(服务器集群)和用户终端集群。该用户终端集群可以包括一个或者多个用户终端,这里将不对用户终端的数量进行限制。如图1所示,具体可以包括用户终端100a、用户终端100b、用户终端100c、

、用户终端100n。如图1所示,用户终端100a、用户终端100b、用户终端100c、

、用户终端100n可以分别与上述服务器10进行网络连接,以便于每个用户终端可以通过该网络连接与服务器10进行数据交互。其中,这里不限定该网络连接的具体连接方式,比如,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接。
55.其中,该用户终端集群中的每个用户终端均可以包括:智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等具有图像数据处理功能的智能终端。应当理解,如图1所示的用户终端集群中的每个用户终端均可以安装有目标应用(即应用客户端),当该应用客户端运行于各用户终端中时,可以分别与上述图1所示的服务器01之间进行数据交互。其中,该应用客户端可以包括社交客户端、多媒体客户端(例如,视频客户端)、娱乐客户端(例如,游戏客户端)、教育客户端、直播客户端等应用客户端。其中,该应用客户端可以为独立的客户端,也可以为集成在某客户端(例如,社交客户端、教育客户端以及多媒体客户端等)中的小程序,在此不做限定。
56.如图1所示,本技术实施例中的服务器01可以为该应用客户端对应的服务器。该服务器01可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。
57.为便于理解,本技术实施例可以在图1所示的多个用户终端中选择一个用户终端作为目标用户终端。例如,本技术实施例可以将图1所示的用户终端100a作为目标用户终端,该目标用户终端中可以集成有目标应用(即应用客户端)。此时,该目标用户终端可以通过该应用客户端对应的业务数据平台与服务器01之间实现数据交互。其中,这里的目标应用可以运行有已经训练完成的目标特征学习模型,通过该目标特征学习模型可以准确学习得到当前所获取到的待查询图像的哈希特征,进而可以通过该待查询图像的哈希特征所对应的二值编码特征,快速在图像数据处理系统中判断是否存在与该待查询图像存在较高相似度的目标图像。比如,在ai安防应用领域,为了支持大数据分析功能,需要对前端相机拍摄的原始场景图像,进行人脸、人形和机动车、非机动车等目标检测、标定检测的目标并进行存储,如图7所示,为本技术一实施例提供的一种采集的图像区域重复示意图,上图为前端相机拍摄的原始场景图像(场景图像,即,第一图像),大小为300kb左右;左下图为ai算法从原始场景图像中检测标定得到的人形图像(第二图像),大小为100kb左右,对应原始场景图像圈住的矩形区域;右下图为ai算法从原始图像中检测标定得到的人脸图像(第三图像),大小为15kb左右,也对应原始场景图像圈住的矩形区域。需要说明的是,上述采集的人脸图像是在用户授权的前景下,经用户本人同意并约定合同,采集的人脸图像属于合法来源。
58.在相关技术中,以图像整体为单位,未考虑图像与图像之间存在的内容区域重复性,默认上述第一图像、第二图像与第三图像无重复并单独存储,因此,导致实际存储空间利用效率仅有75%左右。
59.应当理解,本技术实施例提出了一种基于分布式存储图像处理方法,能够避免重复存储图像,该方法可以涉及人工智能领域中的机器学习方向。可以理解的是,所谓人工智能(artificialintelligence,简称ai)是利用数字计算机或者数字计算机控制的计算模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
60.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。
61.分布式文件系统(distributed file system,dfs)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连;或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统。分布式文件系统可以有效解决数据的存储和管理难题,将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。
62.其中,在分布式存储图像处理方法中,为了提升存储空间的利用率。本技术对通过获取场景图像以及归属于场景图像内目标图像,对所述场景图像进行解析处理,确定场景图像的结构化数据与图像数据,其中,结构化数据包括所述图像数据的图像名称、所述目标图像在所述图像数据内区域信息以及所述目标图像对应的所述图像数据的源标识;将多个场景图像内图像数据通过聚合存储为大文件后,关联存储文件标识与场景图像的图像名称,根据所述场景图像的图像名称与文件标识的对应关系,结合所述目标图像在所述场景图像内图像数据的区域信息与所述图像数据的源标识确定所述目标图像关联所述场景图像的文件标识,通过在所述场景图像的文件标识内增加区域信息来存储目标图像;一方面,本技术利用聚合存储方式,能够最大化使用存储空间,减少存储空间浪费;另一方面,通过在文件标识里添加区域信息存储目标图像,避免了重复图像的存储,也极大提高了图像存储空间利用率,相比当前的图像数据重删压缩办法,在ai安防应用场景,存储空间利用效率提升25%左右。
63.请参阅图2,本技术一实施例中提供的基于分布式存储图像处理方法流程示意图,详述如下:
64.步骤s101,获取图像设备采集的场景图像、以及所述场景图像内的目标图像;
65.具体地,利用同一图像设备采集同一场景的场景图像与目标图像,或/和,利用不同图像设备采集同一场景的场景图像与目标图像,确保场景图像与目标图像之间的关联度。
66.例如,所述图像设备包括照相机、摄像机以及其他配置有摄像头的电子设备。场景图像包括目标图像,即,场景图像部分内容与目标图像相同,换句话讲,目标图像是场景图像的一部分。场景图像主要指特定某个监控场景,可采集小区、工厂、企业等特定场景内图像形成场景图像。该目标包括但不限于人、人体、车辆、动物、植物等其他物体。另外,采集的场景图像或目标图像可以为二维图像或三维图像,在此不做限定。
67.步骤s102,对所述场景图像进行解析处理,确定所述场景图像的结构化数据与图像数据,所述结构化数据包括所述图像数据的图像名称、所述目标图像在所述图像数据内区域信息以及所述目标图像对应的所述图像数据的源标识;
68.具体地,利用ga/t1400协议来解析场景图像,确定场景图像的结构化数据与图像数据。
69.例如,人脸识别摄像机通过厂家sdk或ga/t1400协议通讯连接人员结构化解析系统,车辆识别摄像机通过sdk或ga/t1400协议通讯连接车辆结构化解析系统;人脸识别摄像机和车辆识别摄像机分别通过ga/t1400.4-2017接口协议通讯连接视频图像信息数据库;视频图像信息数据库通过ga/t1400.4-2017接口协议通讯连接服务器平台。
70.步骤s103,将多个所述场景图像的图像数据聚合存储为大文件进行分布式存储,生成所述大文件唯一的文件标识;并将所述文件标识与所述场景图像的图像名称关联存储;
71.具体地,将多张所述场景图像的图像数据聚合存储为一个大文件,每个所述大文件对应唯一的文件标识,并将所述场景图像的结构化数据关联存储;
72.根据负载均衡原则分布式存储各个所述大文件,所述文件标识包括文件名称、所述图像数据在大文件中的偏移、图像大小;以及所述目标图像在场景图像中区域信息。
73.例如,将多张场景图像的图像数据聚合存储为一个大文件,每个所述大文件对应唯一的文件标识,按照存储空间与待存储场景图像的文件大小进行适应配置,参考负载均衡原则分布式存储各个所述大文件。
74.在本实施例中,对于场景图像中的图像数据,根据图像数据的文本类型,选择合适的压缩算法压进行压缩,同时,判断图像数据的大小是否满足预定大小,如果满足预定大小,则将数据写入到持久化设存储设备中。即在本实施例中采用聚合存储方式,当图像数据大于4mb(在一些实施例中可设置更小,例如512k,预定大小的值可能就实际的业务需求而设定,此处便于方便解释比喻选择4mb)时,将场景图像的图像数据压缩后形成大文件保存到持久化存储设备中,该大文件对应有唯一的文件标识,并将所述文件标识与所述场景图像的图像名称关联存储。
75.步骤s104,根据所述场景图像的图像名称与文件标识的对应关系,结合所述目标图像的区域信息与所述源标识确定所述目标图像关联所述场景图像的文件标识,通过在所述文件标识内增加区域信息来存储目标图像。
76.具体地,通过在对比数据库(图像对比库)存储的场景图像的图像名称与文件标识的对应关系,确定目标图像对应的场景图像内图像数据的区域信息,结合所述目标图像在所述场景图像内图像数据的区域信息与所述源标识确定所述目标图像关联的所述场景图像的文件标识,通过在所述文件标识内增加区域信息实现利用场景图像来存储目标图像。
77.例如,根据目标图像在所述场景图像内图像数据的区域信息与目标图像在图像信息的源标识共同确定目标图像关联的所述场景图像的文件标识,通过更改文件标识内增加区域信息,实现利用场景图像来存储目标图像。
78.即,通过在文件标识里修改区域信息,来避免重复的目标图像存储在分布式存储系统内,只需记录目标图像对应的区域信息(位置区域信息),即可实现存储目标图像的目的。
79.在本实施例中,通过接收图像设备采集的场景图像信息、以及场景图像内的目标图像信息;对场景图像信息进行解析处理,确定场景图像的结构化数据与图像数据;将多个场景图像的图像数据聚合存储为大文件进行分布式存储,生成场景图像图像数据的文件标识;根据场景图像的名称与文件标识的对应关系,结合目标图像的结构化数据中的源场景图像名称及区域信息,通过在源场景图像的文件标识中增加区域信息方式存储目标图像内容数据;通过在源场景图像的文件标识中增加区域信息方式存储目标图像内容数据,生成目标图像的文件标识,避免了重复图像数据存储,极大提高了图像的存储空间利用率。一方面,本技术利用聚合存储方式,能够最大化使用存储空间,减少存储空间浪费;另一方面,通过在文件标识里添加区域信息存储目标图像,避免了重复图像的存储,也极大提高了图像存储空间利用率,相比当前的图像数据重删压缩办法,在ai安防应用场景,存储空间利用效率提升25%左右。
80.可选的,对所述场景图像进行解析处理,确定所述场景图像的结构化数据与图像数据,包括:
81.基于分析接口协议对所述场景图像进行解析处理,得到所述场景图像的结构化数据与图像数据;所述结构化数据包括所述图像数据的图像名称、所述目标图像在所述图像数据内区域信息以及所述目标图像对应的所述图像数据的源标识;
82.其中,通过比较所述目标图像与图像数据的相似度确定所述目标图像在所述图像数据内区域信息;根据所述目标图像与图像数据的相似度结果确定所述目标图像对应的所述图像数据的源标识。
83.即,比较所述目标图像与图像数据的相似度,例如,若目标图像与场景图像所对应的图像数据之间相似度达到预设的可信度阈值,则确认目标图像与场景图像内区域信息内容相同,反之,则目标图像与场景图像内区域信息内容不同。
84.具体地,通过以下任意之一方式确定所述目标图像与图像数据的相似度;欧式距离、余弦距离、平均哈希算法、感知哈希算法、差异哈希算法等。
85.通过上述方式,能够确定目标图像与场景图像区域信息之间的相似度,使得目标图像能够根据图像名称、源标识等方式,保存在原始场景图像内,从而避免图像重复存储的问题。
86.请参阅图3,本技术一实施例中提供的基于分布式存储图像中图像恢复流程图,通过在所述场景图像的文件标识内增加区域信息来存储目标图像之后,还包括:
87.步骤s201,利用所述文件标识定位所述大文件的存储位置;
88.具体地,利用文件标识可在分布式存储系统定位大文件的存储位置,便于定位、查找。
89.步骤s202,待确定所述大文件后,根据所述文件标识读取所述大文件的场景图像,并以扫描线数组方式进行存储;
90.具体地,利用内存读取并缓存指定存储位置的大文件,便于后续数据恢复。
91.步骤s203,利用所述目标图像在所述场景数据内区域信息从所述扫描线数组读取相应的行列数据恢复为目标图像。
92.具体地,通过提前存储的所述场景图像的图像名称与文件标识的对应关系,确定所述目标图像在所述场景图像内图像数据的区域信息,利用扫描线数组读取相应的行列数
据恢复为目标图像。
93.通过上述方式,读取场景图像内对应的区域信息,实现目标图像的数据读取和恢复。
94.可选的,所述根据所述场景图像的图像名称与文件标识的对应关系之前,还包括:
95.判断解析后的所述场景图像的区域信息与目标图像的关系;
96.若所述目标图像为解析后的所述场景图像的区域信息,根据所述文件标识在相应的场景图像存储目标图像;
97.若所述目标图像不为解析后的所述场景图像的区域信息,则采用聚合存储方式分布式存储所述场景图像与目标图像。
98.在本实施例中,由于分布式存储系统保存的目标图像与场景图像的区域信息不一定完全一一对应,因此,通过提前判断两者之间的关系,可快速存储目标图像。
99.可选的,请参阅图4,本技术一实施例中提供的基于分布式存储图像分布式存储流程图,还包括:
100.步骤s301,接收到分布式存储请求时,获取分布式存储系统中磁盘的可写区域;所述分布式存储请求包括待写入所述大文件的大小,所述磁盘分布式设置且划分为多个可写区域;
101.例如,对象是数据存储的基本单元,由元信息、用户数据和文件名构成。在分布式存储系统的存储节点中,可将磁盘划分为多个可写区域zone,磁盘的空间管理以一个zone的大小(例如256mb)为粒度,zone用于存储对象。
102.步骤s302,根据所述分布式存储请求和所述可写区域的剩余存储空间确定写入信息;所述写入信息包括切分所述待写入所述大文件得到的各个对象的长度;
103.步骤s303,将所述写入信息返回至计算节点,以使所述计算节点根据所述写入信息将所述待写入文件写入对应的存储节点。
104.在本实施例中,当计算节点请求存储文件时,需要将待写入大文件切分为多个对象,然后将对象存入分布式对象存储系统中磁盘的可写区域zone。具体的,计算节点首先根据待写入大文件生成分布式存储请求,然后向服务器发起分布式存储请求。当服务器接收到计算节点发起的分布式存储请求时,获取分布式存储系统中磁盘的可写区域zone,以根据所述可写区域zone进行后续存储空间分配。可选地,计算节点可以是台式电脑、手机、pda等。
105.通过上述方式,为了提高可写区域zone的空间利用率,可以根据所述分布式存储请求和所述可写区域的剩余存储空间确定写入信息。具体的,可以根据所述分布式存储请求确定待写入大文件的大小,根据待写入大文件的大小和所述可写区域的剩余存储空间适应性配置切分所述待写入大文件得到的各个对象的长度,对可变长度的对象进行空间管理,实现最大化使用zone空间。
106.在另一些实施例中,请参阅图8,本技术一实施例提供的基于分布式存储图像处理存储示意图,包括:
107.计算节点与分布式存储系统通过标准ga/t 1400协议交互,协议规定内容包括两部分:图像结构化数据和图像数据,其中,图像结构化数据中的关键字段包括:imageid(图像名称)、sourceid(源标识)、区域信息(lefttopxy,rightbomxy,用于表达位置信息)。前端
相机拍摄的原始场景图像的结构化数据不携带sourceid和区域信息,只有特定的目标图像如,人脸图像、人形图像的结构化数据包含sourceid和区域信息,表示目标图像对应于sourceid原始图像的对应区域,如图7所示。
108.存储节点按照逻辑功能,可划分为两层:第一层为内置ga/t 1400协议服务,主要负责协议解析和图像对比库的功能;第二层为图像存储、还原服务,主要负责图像聚合存储、直存直取和计算还原区域图像数据的功能。
109.图像数据在磁盘中的存储格式,以8x8 pixels为例,采用24-bits rgb color,从上到下以每8pixels为一scanline(扫描线)的方式存储,每pixels(像素点)包含r(red)、g(green)、b(bule)三个单元,每单元占用8bits(位),即图像数据对应的存储二进制序列为:r、g、b、r、g、b、r、g、b,

。为了最大限度发挥存储性能,多张图像数据聚合存储为一个单独的大文件,采用fid唯一标识,其中fid格式:fileid-offset-len-leftpoint-rightpoint,fileid占用64bits,高4bits表示图像类型,值为0表示原始场景图像,值为1表示区域图像,中间12bits表示存储节点id,从0开始编码,低48位表示文件id,从0开始编码;offset、len分别表示图像在大文件中的偏移和图像大小,各占32bits;leftpoint、rightpoint表示区域图像在原始场景图像中的区域信息,各占32bits,高16bits表示x坐标值,低16bits表示y坐标值,坐标值均以pixel为单位。
110.图像对比库中保存有最近30s内的原始场景图像的imageid与fid(文件标识)对应关系,计算节点通过ga/t 1400提交的区域图像信息,根据sourceid在图像对比库中查找对应原始图像的fid,修改增加区域信息,作为该区域图像的fid即可,区域图像的数据不需要提交保存到磁盘中,以实现区域重删、提升存储空间利用效率的目的。
111.计算节点读取区域图像数据时需要携带区域图像的fid,分布式存储系统先根据文件标识fid定位、读取原始场景图像数据,以scanline数组方式保存在内存中(此处省略:具体图片压缩、解压流程,如jpeg格式,可通过标准libjpeg.so实现),再根据文件标识fid中的区域信息,从原始场景图像scanlines数组中读取lefttopy行~rightbomy行的lefttopx列~rlightbomx列数据,组成新的scanlines数组,作为区域图像的数据即可。
112.请参阅图9,为本技术一实施例提供的基于分布式存储图像分布式存储示意图,包括:
113.例如,以3个存储节点形成的存储集群为例,说明图像内容区域重删流程:
114.(1)写入原始场景图像
115.计算节点通过ga/t 1400协议,携带场景图像的结构化数据和图像数据,向存储节点node1发起图像存储请求;
116.存储节点node 1收到请求后,按照ga/t 1400协议内容规定解析图像结构化数据和图像数据,根据负载均衡原则,选择并向存储节点node 2发起图像存储请求;
117.存储节点node 2聚合存储图像数据,并返回场景图像的fid;
118.存储节点node 1将图像imageid和fid对应关系,记录到图像对比库中,并给计算节点返回fid。
119.(2)写入人形、人脸图像(图像内容区域重删)
120.计算节点通过ga/t 1400协议,携带图像结构化数据和图像数据,向存储节点node 1发起图像存储请求;
121.存储节点node 1收到请求后,按照ga/t 1400协议内容规定解析图像结构化数据息和图像数据,根据sourceid(源标识符)在图像对比库中查找原始场景图像的fid(标识),修改增加区域信息作为区域图像fid,并返回给计算节点。
122.(3)读取图像数据
123.计算节点通过ga/t 1400协议,携带图像fid,向存储节点node 1发起图像读取请求;
124.存储节点从fid中提取存储节点id,比如:node 2,向该存储节点发起读取图像数据请求;
125.存储节点node 2收到请求后,从fid中解析判断是读取原始场景图像,还是区域图像,然后,解析图像数据所在的文件id、偏移位置、图像大小,以及区域图像的区域信息。若是区域图像,则按照上述还原区域图像数据;
126.存储节点node 1收到图像数据后,直接返回给计算节点。
127.通过上述的基于分布式存储图像处理方法,获取场景图像以及归属于场景图像内目标图像,对所述场景图像进行解析处理,确定场景图像的结构化数据与图像数据,其中,结构化数据包括所述图像数据的图像名称、所述目标图像在所述图像数据内区域信息以及所述目标图像对应的所述图像数据的源标识;在场景文件的图像数据通过聚合存储为大文件后,将文件标识与场景图像的图像名称关联存储,只需在场景图像对应的文件标识内增加区域信息,即可实现目标图像存储;一方面,本技术利用聚合存储方式,能够最大化使用存储空间,减少存储空间的浪费;另一方面,通过在文件标识里添加区域信息存储目标图像,避免了重复图像的存储,也极大提高了图像存储空间利用率。
128.请参阅图6,本实施例提供了一种基于分布式存储图像处理系统500,该系统包括:
129.获取模块501,用于获取图像设备采集的场景图像、以及所述场景图像内的目标图像;
130.解析处理模块502,用于对所述场景图像进行解析处理,确定所述场景图像的结构化数据与图像数据,所述结构化数据包括所述图像数据的图像名称、所述目标图像在所述图像数据内区域信息以及所述目标图像对应的所述图像数据的源标识;
131.聚合存储模块503,利用所述场景图像的结构化数据和图像数据将多个所述场景图像聚合存储为大文件进行分布式存储,生成所述大文件唯一的文件标识;并将所述文件标识与所述场景图像的图像名称关联存储;
132.区域信息确定模块504,用于根据所述场景图像的图像名称与文件标识的对应关系,结合所述目标图像的区域信息与所述源标识确定所述目标图像关联所述场景图像的文件标识,通过在所述文件标识内增加区域信息来存储目标图像。
133.在本实施例中,该系统实质上是设置了多个模块用以执行上述实施例中的方法,具体功能和技术效果参照上述方法实施例即可,此处不再赘述。
134.参见图7,本技术实施例还提供了一种电子设备600,包括处理器601、存储器602和通信总线603;
135.通信总线603用于将处理器601和存储器连接602;
136.处理器601用于执行存储器602中存储的计算机程序,以实现如上述实施例一中的一个或多个的方法。
137.本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,
138.计算机程序用于使计算机执行如上述实施例一中的任一项的方法。
139.本技术实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本技术实施例的实施例一所包含步骤的指令(instructions)。
140.需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
141.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
142.可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
143.附图中的流程图和框图,图示了按照本公开各种实施例的方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
144.上述实施例仅例示性说明本技术的原理及其功效,而非用于限制本技术。任何熟悉此技术的人士皆可在不违背本技术的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本技术所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本技术的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1