图像数据同步方法、装置和系统与流程

专利2022-06-29  83


本申请实施例涉及计算机技术领域,具体涉及图像数据同步方法、装置和系统。



背景技术:

目前,图像识别技术的应用领域越来越广。例如,在平安城市人脸布控建设中,几万个以上的智能摄像头进行实时人脸抓拍并推送人脸图片到人脸识别系统。在人脸识别系统中进行人脸检索,对人脸抓拍图片进行特征提取,并与布控底库的每一个人脸特征进行比对识别,判断是否为布控人员。

人脸识别系统分为应用平台部分和人脸识别引擎部分,以微服务的形式各自开发和部署,其中应用平台负责业务逻辑处理,人脸识别引擎通过restfulwebapi为应用平台提供人脸识别算法服务。

在平安城市场景中,需要人脸识别引擎提供高并发可扩展的人脸识别算法服务,由于受单台服务器硬件性能的限制,需要多台服务器集群提供更高吞吐率的人脸识别算法服务,同时确保微服务的独立性和正确性。

人脸识别系统中,添加人脸请求通过不同服务器上的人脸识别引擎服务向指定人脸布控底库添加人脸特征和身份标识信息,而人脸检索请求可以是集群系统里的任意一个人脸识别引擎提供服务。为了提升检索速度,在本地内存进行人脸检索效率最高,由于不同人脸识别引擎服务的本地内存人脸底库数据没有同步,因此导致相同的人脸检索请求在不同服务器上的检索结果不一致。



技术实现要素:

本申请实施例的目的在于提出了一种改进的图像数据同步方法、装置和系统,来解决以上背景技术部分提到的技术问题。

第一方面,本申请实施例提供了一种图像数据同步方法,该方法包括:响应于启动本地图像库同步操作,从数据库中获取图像库并存储图像库到本地,其中,图像库包括至少一个图像数据,至少一个图像数据中的图像数据包括图像标识和图像特征数据;响应于本地图像库同步操作结束,且当前时间达到预设的数据同步周期,确定数据库中的图像数据在最近的数据同步周期时间段内的变化情况;基于变化情况,更新本地的图像库。

在一些实施例中,存储图像库到本地,包括:将各个图像数据包括的图像标识存储到图像标识列表,以及将各个图像数据包括的图像特征数据存储到图像特征数据列表。

在一些实施例中,基于变化情况,更新本地的图像库,包括:响应于确定变化情况包括向数据库添加图像数据,将添加的图像数据包括的图像标识和图像特征数据分别添加在图像标识列表和图像特征数据列表的目标位置;响应于确定变化情况包括删除图像数据,将图像标识列表中的删除的图像数据对应的图像标识替换为目标位置的图像标识,以及将图像特征数据列表中的删除的图像数据对应的图像特征数据替换为目标位置的图像特征数据,并将图像标识列表的长度和图像特征数据列表的长度分别减一;响应于确定变化情况包括在数据库中创建新的图像库,在本地创建新的图像库;响应于确定变化情况包括删除数据库中的图像库,在本地删除对应的图像库。

在一些实施例中,确定数据库中的图像数据在最近的数据同步周期时间段内的变化情况,包括:根据数据库包括的操作日志,确定变化情况,其中,操作日志用于记录对数据库中的图像数据的操作。

在一些实施例中,方法还包括:响应于当前时间达到数据同步周期,删除操作日志中的、在目标时间段之前记录的信息。

在一些实施例中,该方法还包括:响应于接收到针对数据库的图像库更新请求,基于图像库更新请求,对数据库进行图像库更新操作,并更新数据库中的操作日志。

在一些实施例中,基于图像库更新请求,对数据库进行图像库更新操作,并更新数据库中的操作日志,包括:响应于确定图像库更新请求为创建图像库请求,在数据库中创建与创建图像库请求对应的图像库;在操作日志中插入创建图像库信息;响应于确定图像库更新请求为删除图像库请求,删除数据库中与删除图像库请求对应的图像库;在操作日志中插入删除图像库信息;响应于确定图像库更新请求为添加图像数据请求,接收图像并识别图像,得到图像特征数据;向数据库中与添加图像数据请求对应的图像库中添加图像的图像标识和图像特征数据;在操作日志中插入添加图像信息;响应于确定图像库更新请求为删除图像数据请求,将数据库中的与删除图像数据请求对应的图像标识和图像特征数据删除;在操作日志中插入删除图像信息。

第二方面,本申请实施例提供了一种图像数据同步装置,该装置包括:获取模块,用于响应于启动本地图像库同步操作,从数据库中获取图像库并存储图像库到本地,其中,图像库包括至少一个图像数据,至少一个图像数据中的图像数据包括图像标识和图像特征数据;确定模块,用于响应于本地图像库同步操作结束,且当前时间达到预设的数据同步周期,确定数据库中的图像数据在最近的数据同步周期时间段内的变化情况;第一更新模块,用于基于变化情况,更新本地的图像库。

第三方面,本申请实施例提供了一种图像检索方法,该方法包括:接收待识别图像;识别待识别图像,得到待识别图像特征数据;确定待识别图像特征数据与本地的图像库中的图像特征数据的相似度,其中,图像库是如第一方面中任一实现方式描述的方法同步到本地的图像库;从相似度大于等于预设阈值的图像特征数据中,按照相似度由大到小的顺序,确定预设数量个图像特征数据;输出预设数量个图像特征数据对应的图像标识。

第四方面,本申请实施例提供了一种图像检索装置,该装置包括:接收模块,用于接收待识别图像;识别模块,用于识别待识别图像,得到待识别图像特征数据;第一确定模块,用于确定待识别图像特征数据与本地的图像库中的图像特征数据的相似度,其中,图像库是如第一方面中任一实现方式描述的方法同步到本地的图像库;第二确定模块,用于从相似度大于等于预设阈值的图像特征数据中,按照相似度由大到小的顺序,确定预设数量个图像特征数据;输出模块,用于输出预设数量个图像特征数据对应的图像标识

第五方面,本申请实施例提供了一种图像数据同步系统,该系统包括:终端设备、图像数据服务器集群和数据库;其中,图像数据服务器集群中的每个图像数据服务器用于执行如第一方面或第三方面中任一实现方式描述的方法。

第六方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面或第三方面中任一实现方式描述的方法。

第七方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面或第三方面中任一实现方式描述的方法。

本申请实施例提供的图像数据同步方法、装置和系统,通过在启动本地图像库同步操作时,从数据库获取图像库并存储到本地,然后再基于预设的数据同步周期,定时地根据数据库中的图像数据变化情况更新本地的图像库,从而实现了将数据库中的图像数据和本地的图像数据同步,在检索图像时,直接在本地内存中进行图像特征比对,无需访问数据库,有助于提高图像检索的效率,通过将本实施例的方法应用到图1所示的图像数据服务器集群103中的图像数据服务器上,有利于服务器集群的扩展,满足高并发进行图像识别的服务需求。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请可以应用于其中的示例性系统架构图;

图2是根据本申请的图像数据同步方法的一个实施例的流程图;

图3是根据本申请的图像数据同步方法的又一个实施例的流程图;

图4是根据本申请的图像检索方法的一个实施例的流程图;

图5是根据本申请的图像数据同步装置的一个实施例的结构示意图;

图6是根据本申请的图像检索装置的一个实施例的结构示意图;

图7是根据本申请的图像数据服务器和数据库的结构的示例性示意图;

图8是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请实施例的图像数据同步方法的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101,网络102,图像数据服务器集群103、数据库服务器104和接口网关105。网络102用以在终端设备101、图像数据服务器集群103和数据库服务器104之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

数据库服务器104可以是提供图像等数据的存储的服务器,数据库服务器104通常可以存储至少一个图像库,为用户提供图像检索等服务。

图像数据服务器集群103可以是提供各种服务的服务器,例如对终端设备101发送的图像识别请求提供支持的服务器。图像数据服务器集群103可以从数据库服务器104中获取图像数据,与数据库服务器104中的图像数据同步,为终端设备101提供图像识别、图像检索等服务。

用户可以使用终端设备101通过网络102与图像数据服务器集群103交互,以接收或发送消息等。终端设备101上可以安装有各种通讯客户端应用,例如搜索类应用、网页浏览器应用、购物类应用、即时通信工具等。

终端设备101可以是各种电子设备,包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。

接口网关105为终端设备101提供图像库更新请求、图像检索请求等的统一访问入口,对各种请求进行负载均衡调度,将请求均衡地转发到各个图像数据服务器上。

需要说明的是,本申请实施例所提供的图像数据同步方法通常由图像数据服务器集群103中的图像数据服务器执行,相应地,图像数据同步装置可以设置于图像数据服务器中。

应该理解,图1中的终端设备101、网络102、图像数据服务器集群103、数据库服务器104和接口网关105的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备101、网络102、图像数据服务器集群103、数据库服务器104和接口网关105。在一些情况下,上述系统架构可以不包括接口网关105。

继续参考图2,其示出了根据本申请的图像数据同步方法的一个实施例的流程200。该方法包括以下步骤:

步骤201,响应于启动本地图像库同步操作,从数据库中获取图像库并存储图像库到本地。

在本实施例中,图像数据同步方法的执行主体(例如图1所示的图像数据服务器集群103中的任意图像数据服务器)可以响应于启动本地图像库同步操作,从数据库(例如设置在如图1所示的数据库服务器104中)中获取图像库并存储图像库到本地。其中,图像库包括至少一个图像数据,至少一个图像数据中的图像数据包括图像标识和图像特征数据。图像数据为表征图像的数据,图像可以是对各种物体拍摄得到的图像,例如人脸图像、动物图像、车辆图像等等。

图像标识用于区分图像指示的各种物体,图像特征数据用于表征图像的各种特征(例如颜色特征、纹理特征、线条形状特征等),通常,图像特征数据可以为向量的形式,向量中的各个元素用于表征某种特征。

作为示例,当图像为人脸图像时,图像标识可以是人脸图像指示的人物的身份标识。图像特征数据可以是人脸特征数据。

上述本地图像库同步操作可以以预设的方式触发,例如,通过人工手动触发,或者设置为上述执行主体开机启动时触发等。需要说明的是,为方便描述,以下对步骤201的内容简写为批量同步,步骤202和步骤203的内容简写为定时同步。

数据库中的图像库的数量可以为至少一个,每个图像库可以包括多个特定对象(例如某个特定人群中的人脸、某个地域内的车辆等)的图像数据。

步骤202,响应于本地图像库同步操作结束,且当前时间达到预设的数据同步周期,确定数据库中的图像数据在最近的数据同步周期时间段内的变化情况。

在本实施例中,上述执行主体可以响应于本地图像库同步操作结束,且当前时间达到预设的数据同步周期,确定数据库中的图像数据在最近的数据同步周期时间段内的变化情况。其中,数据同步周期可以是预设的,用于周期地对图像库进行同步的时间。作为示例,数据同步周期可以为一秒,即每秒进行一次图像库的同步更新操作。在完成上述步骤201后,可以开启定时同步。

上述最近的数据同步周期时间段可以是本次定时同步时间与上次定时同步时间之间的时间段。

上述变化情况可以包括但不限于以下至少一项:向数据库添加图像数据,删除图像数据,在数据库中创建新的图像库,删除数据库中的图像库。

在本实施例的一些可选的实现方式中,上述执行主体可以根据数据库包括的操作日志,确定上述变化情况。其中,操作日志用于记录对数据库中的图像数据的操作。作为示例,当向数据库中添加图像数据时,数据库可以向操作日志中添加当前时间戳、添加图像数据所在的图像库名称、操作名称(例如“添加图像”)、图像标识、图像特征数据。上述执行主体可以通过远程读取操作日志,确定上述变化情况。

在本实施例的一些可选的实现方式中,上述执行主体还可以响应于当前时间达到数据同步周期,删除操作日志中的、在目标时间段之前记录的信息。其中,目标时间段可以是当前时间之前的预设长度的时间段,例如,预设长度可以为1小时,即上述执行主体可以将一小时以前记录的信息删除。从而避免操作日志记录的信息不断增多而又不需要使用造成的存储空间浪费。通常,上述预设长度的时间段大于启动本地图像库同步完成所需的时间,从而避免批量同步期间发生图像库更新的数据被清除。应当理解,由于操作日志存储在数据库中,因此,需要预先将操作日志的读写权限授予上述执行主体。

步骤203,基于变化情况,更新本地的图像库。

在本实施例中,上述执行主体可以基于变化情况,更新本地的图像库。具体地,上述执行主体可以在本地图像库中,进行与数据库中的图像库相同的操作,从而完成周期地将本地图像库与数据库中的图像库同步。

在本实施例的一些可选的实现方式中,上述执行主体可以如下执行上述步骤201:

将各个图像数据包括的图像标识存储到图像标识列表,以及将各个图像数据包括的图像特征数据存储到图像特征数据列表。具体地,图像标识列表和图像特征数据列表中的元素是一一对应的,且互相对应的图像标识和图像特征数据可以具有相同的索引。通过将图像标识和图像特征数据分开存储在不同的列表,可以在特征数据比对时,对内存进行连续访问,减少了图像检索过程中对内存的不必要访问的数量,提升检索速度。

在本实施例的一些可选的实现方式中,步骤203可以如下执行:

响应于确定变化情况包括向数据库添加图像数据,将添加的图像数据包括的图像标识和图像特征数据分别添加在图像标识列表和图像特征数据列表的目标位置。其中,目标位置可以是预先设置的、列表中的某个特定位置,例如,目标位置可以是列表中的末尾位置(即索引最大的位置),也可以是头部位置(即索引最小的位置)等。

响应于确定变化情况包括删除图像数据,将图像标识列表中的删除的图像数据对应的图像标识替换为目标位置的图像标识,以及将图像特征数据列表中的删除的图像数据对应的图像特征数据替换为目标位置的图像特征数据。例如,删除的图像标识和图像特征数据的索引为001,目标位置的索引为100,则可以将索引为100的图像标识和图像特征数据覆盖掉001对应的图像标识和图像特征数据,从而实现了图像数据的删除。

上述执行主体还可以在完成图像数据的替换后,将图像标识列表的长度和图像特征数据列表的长度分别减一。从而使列表的长度与实际的图像数据的数量相适应。

响应于确定变化情况包括在数据库中创建新的图像库,在本地创建新的图像库。

响应于确定变化情况包括删除数据库中的图像库,在本地删除对应的图像库。

本实现方式提供的添加图像数据和删除图像数据的方法,可以确保内存中图像数据存储的连续性,从而提升内存访问速度,有助于加速图像检索时比对图像特征数据的计算过程。本实现方式提供的添加图像库和删除图像库的方法,可以实现将数据库中的图像库及时地与本地同步,有利于提高图像检索的一致性。

本申请的上述实施例提供的图像数据同步方法,通过在启动本地图像库同步操作时,从数据库获取图像库并存储到本地,然后再基于预设的数据同步周期,定时地根据数据库中的图像数据变化情况更新本地的图像库,从而实现了将数据库中的图像数据和本地的图像数据同步,在检索图像时,直接在本地内存中进行图像特征比对,无需访问数据库,有助于提高图像检索的效率,通过将本实施例的方法应用到图1所示的图像数据服务器集群103中的图像数据服务器上,有利于服务器集群的扩展,满足高并发进行图像识别的服务需求。

进一步参考图3,其示出了根据本申请的图像数据同步方法的又一个实施例的流程300。该方法包括以下步骤:

步骤301,响应于接收到针对数据库的图像库更新请求,基于图像库更新请求,对数据库进行图像库更新操作,并更新数据库中的操作日志。

在本实施例中,上述执行主体可以响应于接收到针对数据库的图像库更新请求,基于图像库更新请求,对数据库进行图像库更新操作,并更新数据库中的操作日志。其中,图像库更新请求可以是如图1所示的终端设备发送的。由于上述执行主体与数据库保持实时地通信连接,因此,上述执行主体可以根据图像库更新请求,对数据库中的图像库进行更新。

上述图像库更新请求可以包括但不限于以下任一项:创建图像库请求、删除图像库请求、添加图像数据请求、删除图像数据请求。

在本实施例的一些可选的实现方式中,上述步骤301可以如下执行:

响应于确定图像库更新请求为创建图像库请求,上述执行主体可以首先在数据库中创建与创建图像库请求对应的图像库。然后在操作日志中插入创建图像库信息。其中,创建图像库信息用于表征创建图像库的操作。作为示例,创建图像库信息可以包括以下至少一项:当前时间(可以为当前的时间戳)、创建的图像库名称(例如名称为xxx)、创建图像库操作名称(例如创建图像库操作的代号)。

响应于确定图像库更新请求为删除图像库请求,上述执行主体可以首先删除数据库中与删除图像库请求对应的图像库。然后在操作日志中插入删除图像库信息。其中,删除图像库信息可以包括以下至少一项:当前时间、删除的图像库名称、删除图像库操作名称。

响应于确定图像库更新请求为添加图像数据请求,上述执行主体可以首先接收图像并识别图像,得到图像特征数据。然后向数据库中与添加图像数据请求对应的图像库中添加图像的图像标识和图像特征数据。最后在操作日志中插入添加图像信息。其中,添加图像信息可以包括以下至少一项:当前时间、添加图像所在的图像库名称、添加图像数据操作名称、添加的图像标识和图像特征数据。

上述执行主体可以从如图1所示的终端设备接收图像,并利用现有的图像特征提取方法(例如卷积神经网络模型),对图像进行识别,得到图像特征数据。

响应于确定图像库更新请求为删除图像数据请求,上述执行主体可以首先将数据库中的与删除图像数据请求对应的图像标识和图像特征数据删除。然后在操作日志中插入删除图像信息,其中,删除图像信息包括以下至少一项:当前时间、删除图像所在的图像库名称、删除图像数据操作名称、删除的图像标识。

本实现方式可以利用上述执行主体,及时地对数据库进行各种更新,再通过后续的图像数据同步步骤,实现如图1所示的图像数据服务器本地的图像数据与数据库同步,有助于提高图像检索的效率以及确保检索的正确性。

步骤302,响应于启动本地图像库同步操作,从数据库中获取图像库并存储图像库到本地。

步骤303,响应于本地图像库同步操作结束,且当前时间达到预设的数据同步周期,确定数据库中的图像数据在最近的数据同步周期时间段内的变化情况。

步骤304,基于变化情况,更新本地的图像库。

在本实施例中,步骤302-步骤304分别与图2对应实施例中的步骤201-步骤203基本一致,这里不再赘述。

需要说明的是,本实施例中,步骤301-步骤304的执行顺序不受图3所示的顺序限制,步骤301可以在任意时刻执行,例如,在步骤304之后可以执行步骤301。

从图3中可以看出,与图2对应的实施例相比,本实施例中的用于发送信息的方法的流程300突出了对数据库进行图像库更新操作的步骤,从而可以利用上述执行主体,及时地对数据库进行更新,再通过后续的图像数据同步步骤,实现如图1所示的图像数据服务器本地的图像数据与数据库同步,有助于提高图像检索的效率以及确保检索的正确性。

进一步参考图4,提供了一种图像检索方法的一个实施例的流程图400,该方法包括以下步骤:

步骤401,接收待识别图像。

在本实施例中,图像检索方法的执行主体(例如图1所示的图像数据服务器集群103中的图像数据服务器)可以接收待识别图像。其中,待识别图像可以是如图1所示的终端设备发送的图像。图像可以是对各种物体拍摄得到的图像,例如人脸图像、动物图像、车辆图像等。

步骤402,识别待识别图像,得到待识别图像特征数据。

在本实施例中,上述执行主体可以识别待识别图像,得到待识别图像特征数据。具体地,上述执行主体可以利用现有的图像识别方法(例如基于神经网络模型的方法),对待识别图像进行识别,得到图像特征数据。

步骤403,确定待识别图像特征数据与本地的图像库中的图像特征数据的相似度。

在本实施例中,上述执行主体可以确定待识别图像特征数据与本地的图像库中的图像特征数据的相似度。其中,本地的图像可以是利用上述图2对应实施例描述的方法将数据库中的图像库同步到上述执行主体本地的图像库。

具体地,上述执行主体可以利用各种相似度计算方法(例如余弦相似度,基于欧氏距离的相似度等),确定图像特征数据之间的相似度。

步骤404,从相似度大于等于预设阈值的图像特征数据中,按照相似度由大到小的顺序,确定预设数量个图像特征数据。

在本实施例中,上述执行主体可以从相似度大于等于预设阈值的图像特征数据中,按照相似度由大到小的顺序,确定预设数量个图像特征数据。大于等于预设阈值的相似度对应的图像,与待识别图像的相似度较高,从而可以确定该图像指示的对象与待识别图像指示的对象相同。

步骤405,输出预设数量个图像特征数据对应的图像标识。

在本实施例中,上述执行主体可以输出预设数量个图像特征数据对应的图像标识。作为示例,待识别图像可以是人脸图像,则输出的图像标识可以是人脸图像指示的人物的身份信息。上述执行主体可以按照各种方式输出图像标识,例如在上述执行主体包括的显示器上显示,或者将图像标识发送到如图1所示的终端设备的显示器上。

本申请的上述实施例提供的图像检索方法,通过在本地提取待识别图像的图像特征数据,并将图像特征数据与本地的图像库中的图像特征数据进行相似度计算,从而可以无需访问数据库,提高图像检索的效率。

进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种图像数据同步装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图5所示,本实施例的图像数据同步装置500包括:获取模块501,用于响应于启动本地图像库同步操作,从数据库中获取图像库并存储图像库到本地,其中,图像库包括至少一个图像数据,至少一个图像数据中的图像数据包括图像标识和图像特征数据;确定模块502,用于响应于本地图像库同步操作结束,且当前时间达到预设的数据同步周期,确定数据库中的图像数据在最近的数据同步周期时间段内的变化情况;第一更新模块503,用于基于变化情况,更新本地的图像库

在本实施例中,图像数据同步装置的获取模块501可以响应于启动本地图像库同步操作,从数据库(例如设置在如图1所示的数据库服务器104中)中获取图像库并存储图像库到本地。其中,图像库包括至少一个图像数据,至少一个图像数据中的图像数据包括图像标识和图像特征数据。图像数据为表征图像的数据,图像可以是对各种物体拍摄得到的图像,例如人脸图像、动物图像、车辆图像等等。

图像标识用于区分图像指示的各种物体,图像特征数据用于表征图像的各种特征(例如颜色特征、纹理特征、线条形状特征等),通常,图像特征数据可以为向量的形式,向量中的各个元素用于表征某种特征。

作为示例,当图像为人脸图像时,图像标识可以是人脸图像指示的人物的身份标识。图像特征数据可以是人脸特征数据。

上述本地图像库同步操作可以以预设的方式触发,例如,通过人工手动触发,或者设置为上述执行主体开机启动时触发等。

数据库中的图像库的数量可以为至少一个,每个图像库可以包括多个特定对象(例如某个特定人群中的人脸、某个地域内的车辆等)的图像数据。

在本实施例中,上述确定模块502可以响应于本地图像库同步操作结束,且当前时间达到预设的数据同步周期,确定数据库中的图像数据在最近的数据同步周期时间段内的变化情况。其中,数据同步周期可以是预设的,用于周期地对图像库进行同步的时间。

上述最近的数据同步周期时间段可以是本次定时同步时间与上次定时同步时间之间的时间段。

上述变化情况可以包括但不限于以下至少一项:向数据库添加图像数据,删除图像数据,在数据库中创建新的图像库,删除数据库中的图像库。

在本实施例中,上述第一更新模块503可以基于变化情况,更新本地的图像库。具体地,上述第一更新模块503可以在本地图像库中,进行与数据库中的图像库相同的操作,从而完成周期地将本地图像库与数据库中的图像库同步。

在本实施例的一些可选的实现方式中,获取模块501可以进一步用于:将各个图像数据包括的图像标识存储到图像标识列表,以及将各个图像数据包括的图像特征数据存储到图像特征数据列表。

在本实施例的一些可选的实现方式中,第一更新模块503可以包括:第一添加单元(图中未示出),用于响应于确定变化情况包括向数据库添加图像数据,将添加的图像数据包括的图像标识和图像特征数据分别添加在图像标识列表和图像特征数据列表的目标位置;替换单元(图中未示出),用于响应于确定变化情况包括删除图像数据,将图像标识列表中的删除的图像数据对应的图像标识替换为目标位置的图像标识,以及将图像特征数据列表中的删除的图像数据对应的图像特征数据替换为目标位置的图像特征数据,并将图像标识列表的长度和图像特征数据列表的长度分别减一;第一创建单元(图中未示出),用于响应于确定变化情况包括在数据库中创建新的图像库,在本地创建新的图像库;第一删除单元(图中未示出),用于响应于确定变化情况包括删除数据库中的图像库,在本地删除对应的图像库。

在本实施例的一些可选的实现方式中,确定模块502可以进一步用于:根据数据库包括的操作日志,确定变化情况,其中,操作日志用于记录对数据库中的图像数据的操作。

在本实施例的一些可选的实现方式中,该装置还可以包括:删除模块(图中未示出),用于响应于当前时间达到数据同步周期,删除操作日志中的、在目标时间段之前记录的信息。

在本实施例的一些可选的实现方式中,该装置还可以包括:第二更新模块(图中未示出),用于响应于接收到针对数据库的图像库更新请求,基于图像库更新请求,对数据库进行图像库更新操作,并更新数据库中的操作日志。

在本实施例的一些可选的实现方式中,第二更新模块可以包括:第二创建单元(图中未示出),用于响应于确定图像库更新请求为创建图像库请求,在数据库中创建与创建图像库请求对应的图像库;在操作日志中插入创建图像库信息;第二删除单元(图中未示出),用于响应于确定图像库更新请求为删除图像库请求,删除数据库中与删除图像库请求对应的图像库;在操作日志中插入删除图像库信息;第二添加单元(图中未示出),用于响应于确定图像库更新请求为添加图像数据请求,接收图像并识别图像,得到图像特征数据;向数据库中与添加图像数据请求对应的图像库中添加图像的图像标识和图像特征数据;在操作日志中插入添加图像信息;第三删除单元(图中未示出),用于响应于确定图像库更新请求为删除图像数据请求,将数据库中的与删除图像数据请求对应的图像标识和图像特征数据删除;在操作日志中插入删除图像信息。

本申请的上述实施例提供的图像数据同步装置,通过在启动本地图像库同步操作时,从数据库获取图像库并存储到本地,然后再基于预设的数据同步周期,定时地根据数据库中的图像数据更新本地的图像库,从而实现了将数据库中的图像数据和本地的图像数据同步,在检索图像时,直接在本地内存中进行图像特征比对,无需访问数据库,有助于提高图像检索的效率,通过将本实施例的方法应用到图1所示的图像数据服务器集群103中的图像数据服务器上,有利于服务器集群的扩展,满足高并发进行图像识别的服务需求。

进一步参考图6,作为对上述各图所示方法的实现,本申请提供了一种图像检索装置的一个实施例,该装置实施例与图4所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图6所示,本实施例的图像检索装置600包括:接收模块601,用于接收待识别图像;识别模块602,用于识别待识别图像,得到待识别图像特征数据;第一确定模块603,用于确定待识别图像特征数据与本地的图像库中的图像特征数据的相似度,其中,图像库是权利要求1-8之一的方法同步到本地的图像库;第二确定模块604,用于从相似度大于等于预设阈值的图像特征数据中,按照相似度由大到小的顺序,确定预设数量个图像特征数据;输出模块605,用于输出预设数量个图像特征数据对应的图像标识。

在本实施例中,图像检索装置的接收模块601可以接收待识别图像。其中,待识别图像可以是如图1所示的终端设备发送的图像。图像可以是对各种物体拍摄得到的图像,例如人脸图像、动物图像、车辆图像等。

在本实施例中,上述识别模块602可以识别待识别图像,得到待识别图像特征数据。具体地,上述识别模块602可以利用现有的图像识别方法(例如基于神经网络模型的方法),对待识别图像进行识别,得到图像特征数据。

在本实施例中,上述第一确定模块603可以确定待识别图像特征数据与本地的图像库中的图像特征数据的相似度。其中,本地的图像可以是利用上述图2对应实施例描述的方法将数据库中的图像库同步到上述执行主体本地的图像库。

具体地,上述第一确定模块603可以利用各种相似度计算方法(例如余弦相似度,基于欧氏距离的相似度等),确定图像特征数据之间的相似度。

在本实施例中,上述第二确定模块604可以从相似度大于等于预设阈值的图像特征数据中,按照相似度由大到小的顺序,确定预设数量个图像特征数据。大于等于预设阈值的相似度对应的图像,与待识别图像的相似度较高,从而可以确定该图像指示的对象与待识别图像指示的对象相同。

在本实施例中,上述输出模块605可以输出预设数量个图像特征数据对应的图像标识。作为示例,待识别图像可以是人脸图像,则输出的图像标识可以是人脸图像指示的人物的身份信息。上述输出模块605可以按照各种方式输出图像标识,例如在上述图像检索装置600包括的显示器上显示,或者将图像标识发送到如图1所示的终端设备的显示器上。

本申请的上述实施例提供的图像检索装置,通过在本地提取待识别图像的图像特征数据,并将图像特征数据与本地的图像库中的图像特征数据进行相似度计算,从而可以无需访问数据库,提高图像检索的效率。

本申请还提供了一种图像数据同步系统的一个实施例,该系统包括:终端设备(例如图1所示的终端设备101)、图像数据服务器集群(例如图1所示的图像数据服务器集群103)和数据库(例如图1所示的数据库服务器104)。其中,图像数据服务器集群中的每个图像数据服务器用于执行上述图像数据同步方法或图像检索方法。

终端设备可以用于与图像数据服务器集群交互,例如向图像数据服务器集群发送图像库更新请求、图像检索请求等。

数据库用于对图像数据服务器本地的图像库提供支持。

如图7所示,图像数据服务器集群中的每个图像数据服务器701可以包括特征提取模块7011、更新数据库模块7012、特征比对模块7013、特征同步模块7014和web服务模块7015。其中,特征提取模块7011用于对接收自终端设备的图像进行识别,得到图像特征数据。更新数据库模块7012用于对数据库中的图像库进行更新。特征比对模块7013用于对待检索图像的图像特征数据与图像库中的图像特征数据进行相似度计算。特征同步模块7014用于将图像数据服务器中的图像库与数据库中的图像库进行同步。web服务模块7015用于与终端设备通信,接收终端设备发送的图像数据更新请求、图像检索请求等信息。数据库702包括图像库7021和操作日志7022,图像库7021用于对图像数据服务器中的图像库提供支持,操作日志7022用于记录图像库更新操作。

本申请的上述实施例提供的图像数据同步系统,在图像数据服务器集群中的各个图像数据服务器中配置相同的图像库,且各个图像数据服务器与数据库及时地进行同步,从而在进行图像检索时,使用不同的图像数据服务器进行检索的结果相同,提高检索的准确性,由于本地存储了图像库,因此图像检索时不用访问数据库,可以提高图像检索的效率。

下面参考图8,其示出了适于用来实现本申请实施例的电子设备的计算机系统800的结构示意图。图8示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图8所示,计算机系统800包括中央处理单元(cpu)801,其可以根据存储在只读存储器(rom)802中的程序或者从存储部分808加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。在ram803中,还存储有系统800操作所需的各种程序和数据。cpu801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。

以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(cpu)801执行时,执行本申请的方法中限定的上述功能。

需要说明的是,本申请所述的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括获取模块、确定模块、第一更新模块。其中,这些模块的名称在某种情况下并不构成对该单元本身的限定,例如,获取模块还可以被描述为“用于响应于启动本地图像库同步操作,从数据库中获取图像库并存储所述图像库到本地的模块”。

作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于启动本地图像库同步操作,从数据库中获取图像库并存储图像库到本地,其中,图像库包括至少一个图像数据,至少一个图像数据中的图像数据包括图像标识和图像特征数据;响应于本地图像库同步操作结束,且当前时间达到预设的数据同步周期,确定数据库中的图像数据在最近的数据同步周期时间段内的变化情况;基于变化情况,更新本地的图像库。

此外,当上述一个或者多个程序被该电子设备执行时,还可以使得该电子设备:接收待识别图像;识别待识别图像,得到待识别图像特征数据;确定待识别图像特征数据与本地的图像库中的图像特征数据的相似度,其中,图像库是如第一方面中任一实现方式描述的方法同步到本地的图像库;从相似度大于等于预设阈值的图像特征数据中,按照相似度由大到小的顺序,确定预设数量个图像特征数据;输出预设数量个图像特征数据对应的图像标识。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。


技术特征:

1.一种图像数据同步方法,其特征在于,所述方法包括:

响应于启动本地图像库同步操作,从数据库中获取图像库并存储所述图像库到本地,其中,所述图像库包括至少一个图像数据,所述至少一个图像数据中的图像数据包括图像标识和图像特征数据;

响应于所述本地图像库同步操作结束,且当前时间达到预设的数据同步周期,确定所述数据库中的图像数据在最近的数据同步周期时间段内的变化情况;

基于所述变化情况,更新本地的图像库。

2.根据权利要求1所述的方法,其特征在于,所述存储所述图像库到本地,包括:

将各个图像数据包括的图像标识存储到图像标识列表,以及将所述各个图像数据包括的图像特征数据存储到图像特征数据列表。

3.根据权利要求2所述的方法,其特征在于,所述基于所述变化情况,更新本地的图像库,包括:

响应于确定所述变化情况包括向所述数据库添加图像数据,将添加的图像数据包括的图像标识和图像特征数据分别添加在所述图像标识列表和图像特征数据列表的目标位置;

响应于确定所述变化情况包括删除图像数据,将所述图像标识列表中的删除的图像数据对应的图像标识替换为目标位置的图像标识,以及将所述图像特征数据列表中的删除的图像数据对应的图像特征数据替换为目标位置的图像特征数据,并将所述图像标识列表的长度和所述图像特征数据列表的长度分别减一;

响应于确定所述变化情况包括在所述数据库中创建新的图像库,在本地创建所述新的图像库;

响应于确定所述变化情况包括删除所述数据库中的图像库,在本地删除对应的图像库。

4.根据权利要求1所述的方法,其特征在于,所述确定所述数据库中的图像数据在最近的数据同步周期时间段内的变化情况,包括:

根据所述数据库包括的操作日志,确定所述变化情况,其中,所述操作日志用于记录对所述数据库中的图像数据的操作。

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

响应于当前时间达到所述数据同步周期,删除所述操作日志中的、在目标时间段之前记录的信息。

6.根据权利要求1-5之一所述的方法,其特征在于,所述方法还包括:

响应于接收到针对所述数据库的图像库更新请求,基于所述图像库更新请求,对所述数据库进行图像库更新操作,并更新所述数据库中的操作日志。

7.根据权利要求6所述的方法,其特征在于,所述基于所述图像库更新请求,对所述数据库进行图像库更新操作,并更新所述数据库中的操作日志,包括:

响应于确定所述图像库更新请求为创建图像库请求,在所述数据库中创建与所述创建图像库请求对应的图像库;在所述操作日志中插入创建图像库信息;

响应于确定所述图像库更新请求为删除图像库请求,删除所述数据库中与所述删除图像库请求对应的图像库;在所述操作日志中插入删除图像库信息;

响应于确定所述图像库更新请求为添加图像数据请求,接收图像并识别所述图像,得到图像特征数据;向所述数据库中与所述添加图像数据请求对应的图像库中添加所述图像的图像标识和图像特征数据;在所述操作日志中插入添加图像信息;

响应于确定所述图像库更新请求为删除图像数据请求,将所述数据库中的与所述删除图像数据请求对应的图像标识和图像特征数据删除;在所述操作日志中插入删除图像信息。

8.一种图像数据同步装置,其特征在于,所述装置包括:

获取模块,用于响应于启动本地图像库同步操作,从数据库中获取图像库并存储所述图像库到本地,其中,所述图像库包括至少一个图像数据,所述至少一个图像数据中的图像数据包括图像标识和图像特征数据;

确定模块,用于响应于所述本地图像库同步操作结束,且当前时间达到预设的数据同步周期,确定所述数据库中的图像数据在最近的数据同步周期时间段内的变化情况;

第一更新模块,用于基于所述变化情况,更新本地的图像库。

9.一种图像检索方法,其特征在于,所述方法包括:

接收待识别图像;

识别所述待识别图像,得到待识别图像特征数据;

确定所述待识别图像特征数据与本地的图像库中的图像特征数据的相似度,其中,所述图像库是权利要求1-7之一所述的方法同步到本地的图像库;

从相似度大于等于预设阈值的图像特征数据中,按照相似度由大到小的顺序,确定预设数量个图像特征数据;

输出所述预设数量个图像特征数据对应的图像标识。

10.一种图像检索装置,其特征在于,所述装置包括:

接收模块,用于接收待识别图像;

识别模块,用于识别所述待识别图像,得到待识别图像特征数据;

第一确定模块,用于确定所述待识别图像特征数据与本地的图像库中的图像特征数据的相似度,其中,所述图像库是权利要求1-7之一所述的方法同步到本地的图像库;

第二确定模块,用于从相似度大于等于预设阈值的图像特征数据中,按照相似度由大到小的顺序,确定预设数量个图像特征数据;

输出模块,用于输出所述预设数量个图像特征数据对应的图像标识。

11.一种图像数据同步系统,其特征在于,所述系统包括:终端设备、图像数据服务器集群和数据库;其中,所述图像数据服务器集群中的每个图像数据服务器用于执行权利要求1-7之一或权利要求9所述的方法。

12.一种电子设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7之一或权利要求9所述的方法。

13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7之一或权利要求9所述的方法。

技术总结
本申请实施例公开了图像数据同步方法、装置和系统。该方法的一种具体实施方式包括:响应于启动本地图像库同步操作,从数据库中获取图像库并存储所述图像库到本地;响应于所述本地图像库同步操作结束,且当前时间达到预设的数据同步周期,确定所述数据库中的图像数据在最近的数据同步周期时间段内的变化情况;基于所述变化情况,更新本地的图像库。该实施方式实现了将数据库中的图像数据和本地的图像数据同步,在检索图像时,直接在本地内存中进行图像特征比对,无需访问数据库,有助于提高图像检索的效率。

技术研发人员:苏松剑;叶维晶;苏松志;蔡国榕;陈延行;陈生坚
受保护的技术使用者:罗普特科技集团股份有限公司
技术研发日:2020.01.19
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-24200.html

最新回复(0)