数据传输方法、装置、移动终端及计算机可读存储介质与流程

文档序号:13662175阅读:233来源:国知局
数据传输方法、装置、移动终端及计算机可读存储介质与流程

本申请涉及互联网技术领域,特别是涉及一种数据传输方法、装置、移动终端及计算机可读存储介质。



背景技术:

随着互联网技术的飞速发展,用户可在移动终端上存储大量的图片,可对移动终端上存储的大量的图片进行分类。在传统的方式中,当移动终端需要对存储的图片进行分类时,可将需要进行分类的图片全部上传至服务器,再由服务器进行分类,传输量大,传输速度慢。



技术实现要素:

本申请实施例提供一种数据传输方法、装置、移动终端及计算机可读存储介质,可以减少传输的数据量,提高传输速度。

一种数据传输方法,应用于移动终端中,包括:

获取所述移动终端的待上传图像;

识别所述待上传图像的感兴趣区域;

根据所述感兴趣区域生成截取图像,并将所述截取图像上传至服务器;

接收所述服务器返回的聚类结果,所述聚类结果为对所述截取图像进行聚类得到;

根据所述聚类结果将所述移动终端的图像分配到对应的类别。

在其中一个实施例中,所述截取所述感兴趣区域,生成截取图像,包括:

将所述待上传图像转换为位图;

确定所述感兴趣区域在所述位图中的位置信息;

从所述位图中读取与所述位置信息对应的图像内容,并将所述图像内容存储为预设格式,得到截取图像。

在其中一个实施例中,所述聚类结果包括截取图像对应的待上传图像的标识及分配的标签;

所述根据所述图像聚类结果将所述移动终端的图像分配到对应的类别,包括:

根据所述对应的待上传图像的标识确定与所述截取图像对应的待上传图像,并将所述对应的待上传图像分配至与所述标签对应的类别。

在其中一个实施例中,所述将所述截取图像上传至服务器,包括:

每隔预设时间段从注册服务器获取空闲服务列表;

若所述空闲服务列表不为空,则从所述空闲服务列表中获取空闲的第一服务器;

向所述空闲的第一服务器上传所述截取图像,并发送图像识别请求,所述图像识别请求指示所述空闲的第一服务器对所述截取图像进行识别,并提取所述截取图像的特征。

在其中一个实施例中,在所述将所述截取图像上传至服务器之后,所述方法还包括:

当接收到的所述第一服务器返回的接收完毕指令时,根据所述接收完毕指令向第二服务器发送聚类请求,所述聚类请求指示所述第二服务器通过预设的模型对所述截取图像的特征进行聚类,并根据聚类结果为所述截取图像的特征分配对应的标签,所述截取图像的特征为所述第一服务器上报给所述第二服务器。

在其中一个实施例中,所述聚类请求携带有所述移动终端的标识;

所述聚类结果为所述第二服务器根据所述移动终端的标识发送给所述移动终端。

在其中一个实施例中,在所述获取待上传图像之前,所述方法还包括:

获取当前的电源状态,若所述电源状态满足预设状态,则执行所述获取待上传图像。

一种数据传输装置,包括:

图像获取模块,用于获取移动终端的待上传图像;

识别模块,用于识别所述待上传图像的感兴趣区域;

截取模块,用于根据所述感兴趣区域生成截取图像;

上传模块,用于将所述截取图像上传至服务器;

接收模块,用于接收所述服务器返回的聚类结果,所述聚类结果为对所述截取图像进行聚类得到;

分配模块,用于根据所述聚类结果将所述移动终端的图像分配到对应的类别。

一种移动终端,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器实现如上所述的方法。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。

附图说明

图1为一个实施例中数据传输方法的应用场景图;

图2为另一个实施例中数据传输方法的应用场景图;

图3为一个实施例中移动终端与第一服务器、第二服务器进行交互的时序图;

图4为一个实施例中数据传输方法的流程示意图;

图5为一个实施例中生成截取图像的流程示意图;

图6为一个实施例中向第一服务器上传截取图像的流程示意图;

图7为一个实施例中第一服务器的架构图;

图8为一个实施例中数据传输装置的框图;

图9为一个实施例中截取模块的框图;

图10为一个实施例中上传模块的框图;

图11为一个实施例中移动终端的框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。

图1为一个实施例中数据传输方法的应用场景图。如图1所示,移动终端10可通过网络与服务器20建立通信连接。移动终端10获取待上传图像,识别待上传图像的感兴趣区域,截取识别的感兴趣区域,生成截取图像,并将截取图像上传至服务器20。服务器20可对截取图像进行图像聚类,并将聚类结果返回给移动终端10。移动终端10接收服务器20返回的聚类结果,可根据聚类结果将移动终端10上的图像分配到对应的类别。服务器20可以是单独的一个服务器,也可以是由多个服务器组成的服务器集群,或是服务器集群中的某一台服务器。

图2为另一个实施例中数据传输方法的应用场景图。如图2所示,移动终端10可通过网络分别与第一服务器202及第二服务器204建立通信连接。移动终端10获取待上传图像,识别待上传图像的感兴趣区域,根据识别的感兴趣区域生成截取图像。移动终端10可将截取图像上传至第一服务器202,并同时向第一服务器202发送图像识别请求。第一服务器202接收移动终端10发送的图像识别请求,可根据图像识别请求对截取图像进行识别,并提取截取图像的特征,再将截取图像的特征上报给第二服务器204。当第一服务器202接收完由移动终端10发送的截取图像时,可向移动终端10发送接收完毕指令。当移动终端10接收到第一服务器202返回的接收完毕指令时,可根据接收完毕指令向第二服务器204发送聚类请求。第二服务器204接收移动终端10发送的聚类请求,可根据聚类请求利用预设的模型对截取图像的特征进行聚类,并根据聚类结果为截取图像的特征分配对应的标签。移动终端10可接收由第二服务器204返回的聚类结果,聚类结果可包括截取图像对应的待上传图像的标识,以及分配的标签等信息,移动终端10根据截取图像对应的待上传图像的标识,确定与截取图像对应的待上传图像,并将该待上传图像分配至与标签对应的类别。可以理解地,第一服务器202可以是单独的一个服务器,也可以是由多个第一服务器组成的第一服务器集群,或是第一服务器集群中的某一台服务器;第二服务器204可以是单独的一个服务器,也可以是由多个第二服务器组成的第二服务器集群,或是第二服务器集群中的某一台服务器。

图3为一个实施例中移动终端与第一服务器、第二服务器进行交互的时序图。如图3所示,移动终端10与第一服务器202、第二服务器204的交互过程,主要可包括以下步骤:

1.移动终端10根据待上传图像的感兴趣区域生成截取图像。

移动终端10可获取一张或多张待上传图像,并提取每张待上传图像的图像特征,根据图像特征判断对应的待上传图像中是否包含感兴趣区域,若包含,则可提取待上传图像的感兴趣区域,并生成对应的截取图像,其中,每个截取图像包含有图像信息,图像信息可包括截取图像的标识、对应的待上传图像的标识等。

2.移动终端10将截取图像上传至第一服务器202,并向第一服务器202发送图像识别请求。

移动终端10可将生成的一张或多张截取图像上传至第一服务器202,在一个实施例中,移动终端10可每隔预设时间段从注册服务器获取空闲服务列表,若空闲服务列表不为空,则从空闲服务列表中读取空闲的第一服务器202的地址信息。移动终端10可根据从空闲服务列表读取的空闲的第一服务器202的地址信息,向对应的第一服务器202上传截取图像,并同时发送图像识别请求,其中,图像识别请求可携带有发送该请求的移动终端10的标识、账户等信息。

3.第一服务器202对截取图像进行识别,并提取截取图像的特征。

第一服务器202接收移动终端10发送的图像识别请求及截取图像后,可根据图像识别请求识别截取图像,并提取截取图像的特征。在一个实施例中,第一服务器202可通过加密算法对接收的截取图像进行加密,并将加密的截取图像缓存到文件队列中。第一服务器202从文件队列中读取缓存的截取图像后,可对读取的各个截取图像进行解密,并根据预设的特征模型识别截取图像,提取各个截取图像的图像特征。

4.第一服务器202将截取图像的特征上报给第二服务器204。

第一服务器202识别移动终端10上传的截取图像,并提取截取图像的特征,可将截取图像的特征、对应的图像信息、移动终端标识及账户等信息上报给第二服务器204。

5.移动终端10向第二服务器204发送聚类请求。

移动终端10向第一服务器202上传一张或多张截取图像,当第一服务器202全部接收完毕时,可向移动终端10发送接收完毕指令。当移动终端10接收到第一服务器202返回的接收完毕指令时,可根据接收完毕指令向第二服务器204发送聚类请求,请求对截取图像进行聚类。移动终端10向第二服务器204发送聚类请求后,可将聚类请求添加到队列服务中,并根据队列服务分配聚类请求。

在一个实施例中,可按照队列服务中各聚类请求的发送时刻的先后顺序,为第二服务器204分配聚类请求。进行聚类请求分配时,可检测队列服务中是否包含有与分配的聚类请求属于同一移动终端在不同时刻发送的聚类请求,若包含,则可将与分配的聚类请求属于同一移动终端在不同时刻发送的聚类请求进行合并,并将合并后的聚类请求分配给第二服务器204。

6.第二服务器204利用预设的模型对截取图像的特征进行聚类。

当第二服务器204接收到聚类请求后,可根据聚类请求的移动终端10的标识、账户等信息获取与聚类请求对应的截取图像的特征,并通过预设的聚类模型对与聚类请求对应的截取图像的特征进行聚类。第二服务器204可将包含有相似特征的截取图像分为一类,并可根据聚类结果为每个截取图像添加对应的标签,标签用于表示截取图像所属的类别。

7.第二服务器204向移动终端10返回聚类结果。

8.移动终端10根据聚类结果将移动终端10的图像分配至对应的类别。

第二服务器204可将聚类结果返回给移动终端10,聚类结果中可包含有各个截取图像的图像信息及分配的标签,移动终端10可根据聚类结果将待上传图像分配到对应的类别中,可从聚类结果中获取与各个截取图像对应的待上传图像的标识及分配的标签,并将与截取图像对应的待上传图像分配至与分配的标签对应的类别中。

如图4所示,在一个实施例中,提供一种数据传输方法,应用于移动终端,从移动终端的角度进行描述,包括以下步骤:

步骤410,获取移动终端的待上传图像。

具体地,移动终端可从内存等存储器中获取一张或多张待上传图像,待上传图像可以是用户在移动终端上拍摄的图像,也可以是从其他计算机设备上获取的图像,例如,可以是其他移动终端发送的图像,也可以是用户通过移动终端浏览网页时保存的图像等。在本实施例中,待上传图像可以是照片,移动终端可向服务器上传待上传图像,并在服务器上进行聚类,从而生成相应的相册。

移动终端可获取存储时刻在上次向服务器上传图像的时刻至当前时刻之间的图像,作为待上传图像进行上传,也可由用户在界面中选取需要上传的图像,根据用户的选择操作获取待上传图像进行上传。

在一个实施例中,若获取的待上传图像有多张,则移动终端可检测获取的多张待上传图像中是否包含重复图像,其中,重复图像指的是相似度大于阈值的多张图像,若包含,则移动终端可从多张重复图像中选取质量最高的图像作为待上传图像进行上传,其他质量较差的图像则不进行上传。移动终端可根据重复的各个图像中的饱和度、清晰度、亮度等值确定图像质量,并从中选取质量最高的图像进行上传。

步骤420,识别待上传图像的感兴趣区域。

具体地,移动终端可对获取的各个待上传图像进行识别,判断待上传图像中是否包含感兴趣区域,其中,感兴趣区域指的是用于图像聚类时待上传图像中关注的重点区域,感兴趣区域可与聚类方式关联,不同的聚类方式可能选择的感兴趣区域不同。例如,聚类方式为根据人脸进行聚类,则待上传图像的感兴趣区域可为人脸区域,聚类方式为根据场景进行聚类,则待上传图像的感兴趣区域可为背景区域等,但不限于此。

在一个实施例中,服务器可根据人脸对图像进行聚类,移动终端可分别对各个待上传图像进行人脸识别。移动终端可提取待上传图像的图像特征,并通过预设的人脸识别模型对图像特征进进行分析,判断对应的待上传图像中是否包含人脸。图像特征可包括形状特征、空间特征及边缘特征等,其中,形状特征指的是待上传图像中局部的形状,空间特征指的是待上传图像中分割出来的多个区域之间的相互的空间位置或相对方向关系,边缘特征指的是待上传图像中组成两个区域之间的边界像素等。在一个实施例中,人脸识别模型可以是预先通过机器学习构建的决策模型,构建人脸识别模型时,可获取大量的样本图像,样本图像中包含有人脸图像及无人图像,可根据每个样本图像是否包含人脸对样本图像进行标记,并将标记的样本图像作为人脸识别模型的输入,通过机器学习进行训练,得到人脸识别模型。

若待上传图像中包含人脸,则可将人脸区域作为感兴趣区域,可以理解地,同一待上传图像中,可能包含有一个或多个感兴趣区域,感兴趣区域的数量可与待上传图像中包含的人脸的数量对应。

步骤430,根据感兴趣区域生成截取图像,并将截取图像上传至服务器。

具体地,移动终端识别各个待上传图像的感兴趣区域后,可截取待上传图像的感兴趣区域,可采用抠图等方式将感兴趣区域从整张待上传图像中提取出来,并生成对应的截取图像。每个截取图像包含有图像信息,图像信息可包括截取图像的标识、截取时刻、对应的待上传图像的标识等,其中,标识可以是名称,或是图像编号等。移动终端可将生成的与各个待上传图像对应的截取图像上传至服务器。若移动终端需要上传的截取图像的数量较多,可分批次向服务器上传截取图像,减少网络传输压力,保证数据传输速度。

步骤440,接收服务器返回的聚类结果,聚类结果为对截取图像进行聚类得到。

服务器可对截取图像进行聚类,按照截取图像中包含的图像特征对截取图像进行分类,将包含有相似特征的截取图像分为一类。在一个实施例中,服务器可根据人脸对截取图像进行聚类,提取每个截取图像中包含的人脸的特征进行分析,并将包含有相似特征的截取图像划分为一类,也即,可将包含有相同的人脸的截取图像划分为一类。服务器可根据聚类结果为每个截取图像添加对应的标签,标签用于表示截取图像所属的类别。

步骤450,根据聚类结果将移动终端的图像分配到对应的类别。

服务器可将聚类结果返回给移动终端,聚类结果中可包含有各个截取图像的图像信息及分配的标签,移动终端可根据聚类结果将待上传图像分配到对应的类别中,可从聚类结果中获取与各个截取图像对应的待上传图像的标识及分配的标签,并将与截取图像对应的待上传图像分配至与分配的标签对应的类别中。在一个实施例中,聚类结果也可包含有历史上传的其他截取图像的聚类结果,服务器可将本次待上传图像的截取图像与历史上传的其他截取图像重新进行聚类,并将聚类结果返回给移动终端。移动终端可根据聚类结果获取各个截取图像对应的图像标识及分配的标签,并将与截取图像对应的图像分配到与分配的标签对应的类别中。

在一个实施例中,移动终端可建立一个或多个相册,每个类别可分别对应一个相册,可将具有相同标签的截取图像对应的待上传图像放在同一个相册中进行展示。

上述数据传输方法,识别待上传图像的感兴趣区域,根据感兴趣区域生成截取图像,并将截取图像上传至服务器,仅截取待上传图像的感兴趣区域上传至服务器进行图像聚类,可以减少传输的数据量,提高传输速度。此外,可根据服务器返回的聚类结果将待上传图像分配到对应的类别中,将图像进行分类展示,更易于查找,方便快捷。

如图5所示,在一个实施例中,步骤根据感兴趣区域生成截取图像,包括以下步骤:

步骤502,将待上传图像转换为位图。

具体地,移动终端获取一张或多张待上传图像,识别各个待上传图像的感兴趣区域后,可截取待上传图像中的感兴趣区域,生成截取图像。移动终端可将待上传图像转换为位图,其中,位图(bitmap),也可称为点阵图像或绘制图像,位图是由像素的单个点组成的,像素可以进行不同的排列和染色以构成不同的图样。

步骤504,确定感兴趣区域在位图中的位置信息。

具体地,移动终端将待上传图像转换为位图后,可确定待上传图像包含的感兴趣区域在位图中对应的位置信息,位置信息包含有像素点的坐标,根据位置信息可确定位图中感兴趣区域包含的所有像素点的坐标。

步骤506,从位图中读取与位置信息对应的图像内容,并将图像内容存储为预设格式,得到截取图像。

具体地,移动终端可根据感兴趣区域在位图中的位置信息,读取位图中感兴趣区域包含的各个像素点的图像内容,其中,图像内容可包括像素点的颜色信息、透明度等。可根据位置信息包含的像素点的坐标,提取位图中感兴趣区域包含的各个像素点,并将读取的各个像素点的图像内容存储为预设格式,得到截取图像,其中,预设格式可以是jpg或png等图片格式,但不限于此。将感兴趣区域从位图中提取出来后重新保存为预设的图片格式,可减少截取图像的数据量。

在本实施例中,将待上传图像转换为位图后,从位图中读取与感兴趣区域对应的图像内容进行存储,从而生成截取图像,仅截取待上传图像的感兴趣区域上传至服务器进行图像聚类,可以减少传输的数据量,提高传输速度。

如图6所示,在一个实施例中,步骤将截取图像上传至服务器,包括以下步骤:

步骤602,每隔预设时间段从注册服务器获取空闲服务列表。

具体地,移动终端可将生成的一张或多张截取图像上传至第一服务器,由第一服务器对截取图像进行特征识别及提取。在一个实施例中,第一服务器可以是由多个主机构成的分布式第一服务器集群,第一服务器集群包含有多个第一服务器,每个第一服务器均可向移动终端提供特征识别及提取服务。可通过zookeeper等构建第一服务器集群的注册服务器,其中,zookeeper是一个开放源码的分布式应用程序协调服务,注册服务器可用于对第一服务器集群包含的各个第一服务器进行服务监控,监控第一服务器集群中的各个第一服务器是处于可用的空闲状态还是不可用的繁忙状态。当第一服务器处于不可用的繁忙状态时,可向注册服务器发送下卸指令,注册服务器根据下卸指令可删除对应第一服务器的地址信息等,则该第一服务器不再向移动终端提供服务。当第一服务器处于可用的空闲状态时,可向注册服务器发送注册指令,注册服务器根据注册指令存储对应的第一服务器的地址信息等,则该第一服务器可重新向移动终端提供服务。

在一个实施例中,第一服务器集群中的每个第一服务器均可配置有处理量上限值,处理量上限值可用于限定对应的第一服务器最多可进行特征识别及提取处理的截取图像数量。当第一服务器中存储的未处理的截取图像的数量达到对应的处理量上限值时,则进入不可用的繁忙状态,可向注册服务器发送下卸指令,不再接收移动终端发送的截取图像。每个第一服务器可同时配置有空闲值,当第一服务器中存储的未处理的截取图像的数量小于或等于空闲值时,则进入可用的空闲状态,可向注册服务器发送注册指令,重新在注册服务器注册,可接收移动终端发送的截取图像。

注册服务器可向移动终端提供统一的检测接口,移动终端可每隔预设时间段调用检测接口,从注册服务器获取空闲服务列表,空闲服务列表中可记录有处于可用的空闲状态的第一服务器的地址信息等。可以理解地,预设时间段可根据实际需求进行设定,例如5分钟、10分钟等。

在其他的实施例中,也可采用被动通知的方式,移动终端先向注册服务器发送服务请求,当注册服务器监控到有空闲的第一服务器时,则将该空闲的第一服务器的地址信息等通知给移动终端。

步骤604,若空闲服务列表不为空,则从空闲服务列表中获取空闲的第一服务器。

具体地,移动终端从注册服务器获取空闲服务列表,可先判断空闲服务列表是否为空,若是,则说明当前没有可用的第一服务器,暂时不上传截取图像。若空闲服务列表不为空,则移动终端可从空闲服务列表读取处于可用的空闲状态的第一服务器的地址信息等,地址信息可包括第一服务器的ip(internetprotocol,网际协议)地址、mac(mediaaccesscontrol,介质访问控制层)地址等。

在一个实施例中,若空闲服务列表中包含有多个空闲的第一服务器,移动终端可随机从中选取一个作为上传的第一服务器,也可直接读取排列在空闲服务列表中排列最前面的第一服务器的地址信息等。移动终端上还可存储有服务器白名单,白名单中记录有合法的服务器的地址信息,可根据白名单对空闲服务列表中的第一服务器的地址信息等进行筛选,将不属于白名单的第一服务器排除。在移动终端上存储白名单,可防止非法用户篡改注册服务器的空闲服务列表,造成用户信息泄露等问题。

步骤606,向空闲的第一服务器上传截取图像,并发送图像识别请求,图像识别请求指示空闲的第一服务器对截取图像进行识别,并提取截取图像的特征。

具体地,移动终端可根据从空闲服务列表读取的第一服务器的地址信息,向对应的第一服务器上传截取图像,并同时发送图像识别请求,其中,图像识别请求可携带有发送该请求的移动终端的标识、账户等信息。第一服务器接收移动终端发送的图像识别请求及截取图像后,可根据图像识别请求识别截取图像,并提取截取图像的特征。在一个实施例中,第一服务器可通过3des(tripledataencryptionalgorithm,三重数据加密算法)、rc5等加密算法对接收的截取图像进行加密。第一服务器可将加密的截取图像缓存到文件队列中,文件队列可用于控制第一服务器识别截取图像的速度,防止第一服务器负载过重,例如,可控制第一服务器每秒识别100张截取图像,则第一服务器每秒仅能从文件队列中读取缓存的100张截取图像进行识别处理。第一服务器从文件队列中读取缓存的截取图像后,可对读取的各个截取图像进行解密,并根据预设的特征模型识别截取图像,提取各个截取图像的图像特征,图像特征可包括形状、空间、边缘、颜色及纹理等可用于描述截取图像的信息。在一个实施例中,第一服务器可根据预设的特征模型提取截取图像中包含的可用于描述人脸形状及五官形状、位置等信息的特征点。第一服务器可将提取的特征与对应的截取图像的图像信息、移动终端标识及账户等信息关联存储在数据库中,并同时将提取的特征及对应的截取图像的图像信息、移动终端标识及账户等信息上报给第二服务器,由第二服务器进行图像聚类。

移动终端将待上传图像的截取图像上传到第一服务器,由第一服务器识别截取图像,并提取截取图像特征,再将提取的特征上报给第二服务器,由第二服务器进行图像聚类。相比起由移动终端直接提取待上传图像的特征发送至服务器进行聚类,若特征模型发生变化,无需移动终端重新提取特征再上传,更加稳定。

图7为一个实施例中第一服务器的架构图。如图7所示,第一服务器集群中可包括多个第一服务器202,每个第一服务器202均可向移动终端10提供特征识别及提取服务。注册服务器702对第一服务器集群中的多个第一服务器202进行监控。当第一服务器202处于不可用的繁忙状态时,可向注册服务器702发送下卸指令,注册服务器702根据下卸指令可删除对应第一服务器202的地址信息等,则该第一服务器202不再向移动终端10提供服务。当第一服务器202处于可用的空闲状态时,可向注册服务器702发送注册指令,注册服务器702根据注册指令存储对应的第一服务器202的地址信息等,则该第一服务器202可重新向移动终端10提供服务。移动终端10可每隔预设时间段从注册服务器702获取空闲服务列表,并从空闲服务列表读取处于可用的空闲状态的第一服务器202的地址信息等。移动终端10可根据从空闲服务列表读取的第一服务器202的地址信息,向对应的第一服务器202上传截取图像,并同时发送图像识别请求。第一服务器202根据图像识别请求识别截取图像,并提取截取图像的特征。

在本实施例中,可每隔预设时间段从注册服务器获取空闲服务列表,从空闲服务列表获取空闲的第一服务器上传截取图像,并发送图像识别请求,实现服务器的均衡负载,可减轻服务器的处理压力。

在一个实施例中,在步骤将截取图像上传至服务器之后,还包括:当接收到的第一服务器返回的接收完毕指令时,根据接收完毕指令向第二服务器发送聚类请求,聚类请求指示第二服务器通过预设的模型对截取图像的特征进行聚类,并根据聚类结果为截取图像的特征分配对应的标签,截取图像的特征为第一服务器上报给第二服务器。

具体地,移动终端向第一服务器上传一张或多张截取图像,当第一服务器全部接收完毕时,可向移动终端发送接收完毕指令。当移动终端接收到第一服务器返回的接收完毕指令时,可根据接收完毕指令向第二服务器发送聚类请求,请求对截取图像进行聚类。在一个实施例中,第二服务器可以是由多个主机构成的分布式第二服务器集群,第二服务器集群中可包含有多个第二服务器,每个第二服务器均可向移动终端提供图像聚类服务。移动终端向第二服务器集群发送聚类请求后,第二服务器集群可将聚类请求添加到队列服务中,并根据队列服务为第二服务器集群中的各个第二服务器分配聚类请求,由分配到聚类请求的第二服务器进行图像聚类。队列服务中包含的每个聚类请求,均可携带有发送的对应移动终端的标识、账户、发送时刻等信息。

在一个实施例中,可按照队列服务中各聚类请求的发送时刻的先后顺序,为第二服务器集群的第二服务器分配聚类请求。进行聚类请求分配时,可检测队列服务中是否包含有与分配的聚类请求属于同一移动终端在不同时刻发送的聚类请求,若包含,则可将与分配的聚类请求属于同一移动终端在不同时刻发送的聚类请求进行合并,并将合并后的聚类请求分配给第二服务器。例如,当前分配的聚类请求为移动终端a在2017年8月2号6:00发送的,检测到队列服务中还包含有移动终端a在2017年8月2号7:00发送的聚类请求以及移动终端a在2017年8月2号8:00发送的聚类请求,则可将上述同属于移动终端a的三个聚类请求进行合并,并将合并后的聚类请求分配给第二服务器,由该第二服务器进行统一处理。进行聚类请求分配时,还可检测队列服务中是否包含有与分配的聚类请求属于同一账户发送的聚类请求,若包含,则可将与分配的聚类请求属于同一账户在不同移动终端发送的聚类请求进行合并,并将合并后的聚类请求分配给第二服务器。例如,当前分配的聚类请求为账户x通过移动终端a在2017年8月2号6:00发送的,检测到队列服务中还包含有账户x通过移动终端b在2017年8月2号7:00发送的聚类请求,则可将上述同属于账户x的两个聚类请求进行合并,并将合并后的聚类请求分配给第二服务器,由该第二服务器进行统一处理。

第一服务器识别移动终端上传的截取图像,并提取截取图像的特征,可将截取图像的特征、对应的图像信息、移动终端标识及账户等信息上报给第二服务器。当第二服务器接收到聚类请求后,可根据聚类请求的移动终端标识、账户等信息获取与聚类请求对应的截取图像的特征,并通过预设的聚类模型对与聚类请求对应的截取图像的特征进行聚类。聚类模型可对截取图像的特征进行分析,并将具有相似特征的截取图像划分为同一个类别。在一个实施例中,第二服务器可先根据与聚类请求对应的账户,在数据库中查找是否有历史聚类数据,若有,则可将获取的各个截取图像的特征与历史聚类数据进行比对,判断截取图像是否具备与历史聚类数据中的各个类别相似的特征。若截取图像具备与历史聚类数据中的类别相似的特征,则直接将该截取图像划分到对应的类别,并为该截取图像分配对应的类别匹配的标签。若截取图像不具备与历史聚类数据中的类别相似的特征或没有历史聚类数据,则可通过预设的聚类模型重新进行聚类,将具有相似特征的截取图像划分生成新的类别,并为属于同一类别的截取图像分配对应的标签。

例如,第二服务器接收到聚类请求,可根据聚类请求携带的移动终端的标识、账户等信息获取与该聚类请求对应的截取图像的特征,并根据与聚类请求对应的账户x,在数据库中查找到有与账户x对应的历史聚类数据。第二服务器可将获取的各个截取图像的特征与历史聚类数据中的各个人脸类别进行比对,判断是否有属于历史聚类数据中的人脸类别的截取图像,若有,则将截取图像划分到对应的人脸类别,并为截取图像分配对应的人脸类别的标签。若截取图像不属于历史聚类数据中的人脸类别,则可通过预设的聚类模型重新进行聚类,将具有相似特征的截取图像划分生成新的人脸类别,并为属于同一人脸类别的截取图像分配对应的标签。

第二服务器可根据聚类请求中携带的移动终端的标识,将聚类结果发送给与该移动终端的标识对应的移动终端,移动终端根据聚类结果中包含的截取图像对应的待上传图像的标识及分配的标签等信息,将与截取图像对应的待上传图像分配至与分配的标签对应的类别中。

在一个实施例中,若第二服务器接收到的是合并后的聚类请求,则直接获取与合并后的聚类请求中包含的各聚类请求对应的截取图像的特征,并进行聚类,可提高图像的聚类效率。

在本实施例中,可向第二服务器发送聚类请求,聚类请求指示第二服务器对截取图像的特征进行聚类,并根据聚类结果为截取图像的特征分配对应的标签,移动终端可根据聚类结果分类别展示待上传图像,可以智能对存储的图像进行聚类,改善浏览效率,提高用户粘度。

在一个实施例中,在步骤410获取待上传图像之前,还包括:获取当前的电源状态,若电源状态满足预设状态,则执行步骤410获取待上传图像。

具体地,移动终端在向服务器上传图像之前,可先获取当前的电源状态,其中,电源状态可包括可用剩余电量、是否处于充电状态、用电速度等。当电源状态满足预设状态时,再获取待上传图像,截取待上传图像中的感兴趣区域,生成截取图像,并将截取图像上传至服务器。预设状态可以是可用剩余电量大于预设百分比,或是处于充电状态,或是可用剩余电量大于预设百分比且用电速度小于设定值等,并不限于此,可根据实际需求进行设定。

在其他的实施例中,移动终端也可预先设定上传图像的时间段,若当前的时刻处于上传图像的时间段,则可向服务器上传图像,其中,上传图像的时间段可设定在较少使用移动终端的时间段,例如,凌晨的2点至4点等。

在本实施例中,当电源状态满足预设状态,再向服务器上传图像,可保证上传图像时移动终端的电源等状态,减少上传图像对移动终端的使用的影响。

在一个实施例中,提供一种数据传输方法,包括以下步骤:

步骤(1),获取移动终端当前的电源状态。

步骤(2),若电源状态满足预设状态,则获取移动终端的待上传图像。

步骤(3),识别待上传图像的感兴趣区域。

步骤(4),将待上传图像转换为位图。

步骤(5),确定感兴趣区域在位图中的位置信息。

步骤(6),从位图中读取与位置信息对应的图像内容,并将图像内容存储为预设格式,得到截取图像。

步骤(7),每隔预设时间段从注册服务器获取空闲服务列表。

步骤(8),若空闲服务列表不为空,则从空闲服务列表中获取空闲的第一服务器。

步骤(9),向空闲的第一服务器上传截取图像,并发送图像识别请求,图像识别请求指示空闲的第一服务器对截取图像进行识别,并提取截取图像的特征。

步骤(10),当接收到的第一服务器返回的接收完毕指令时,根据接收完毕指令向第二服务器发送聚类请求,聚类请求指示第二服务器通过预设的模型对截取图像的特征进行聚类,并根据聚类结果为截取图像的特征分配对应的标签,截取图像的特征为第一服务器上报给所述第二服务器。

步骤(11),接收第二服务器返回的聚类结果,该聚类结果为第二服务器根据移动终端的标识发送给移动终端。

步骤(12),聚类结果包括截取图像对应的待上传图像的标识及分配的标签,根据对应的待上传图像的标识确定与截取图像对应的待上传图像,并将该待上传图像分配至与标签对应的类别。

在本实施例中,识别待上传图像的感兴趣区域,根据感兴趣区域生成截取图像,并将截取图像上传至服务器,仅截取待上传图像的感兴趣区域上传至服务器进行图像聚类,可以减少传输的数据量,提高传输速度。

如图8所示,在一个实施例中,提供一种数据传输装置800,包括图像获取模块810、识别模块820、截取模块830、上传模块840、接收模块850及分配模块860。

图像获取模块810,用于获取移动终端的待上传图像。

识别模块820,用于识别待上传图像的感兴趣区域。

截取模块830,用于根据感兴趣区域生成截取图像。

上传模块840,用于将截取图像上传至服务器。

接收模块850,用于接收服务器返回的聚类结果,聚类结果为对截取图像进行聚类得到。

分配模块860,用于根据聚类结果将移动终端的图像分配到对应的类别。

在一个实施例中,聚类结果包括截取图像对应的待上传图像的标识及分配的标签。分配模块860,还用于根据对应的待上传图像的标识确定与截取图像对应的待上传图像,并将对应的待上传图像分配至与标签对应的类别。

上述数据传输装置,识别待上传图像的感兴趣区域,根据感兴趣区域生成截取图像,并将截取图像上传至服务器,仅截取待上传图像的感兴趣区域上传至服务器进行图像聚类,可以减少传输的数据量,提高传输速度。

如图9所示,在一个实施例中,截取模块830,包括转换单元832、确定单元834及存储单元836。

转换单元832,用于将待上传图像转换为位图。

确定单元834,用于确定感兴趣区域在位图中的位置信息。

存储单元836,用于从位图中读取与位置信息对应的图像内容,并将图像内容存储为预设格式,得到截取图像。

在本实施例中,将待上传图像转换为位图后,从位图中读取与感兴趣区域对应的图像内容进行存储,从而生成截取图像,仅截取待上传图像的感兴趣区域上传至服务器进行图像聚类,可以减少传输的数据量,提高传输速度。

如图10所示,在一个实施例中,上传模块840,包括列表获取单元842、服务器获取单元844及上传单元846。

列表获取单元842,用于每隔预设时间段从注册服务器获取空闲服务列表。

服务器获取单元844,用于若空闲服务列表不为空,则从空闲服务列表中获取空闲的第一服务器。

上传单元846,用于向空闲的第一服务器上传截取图像,并发送图像识别请求,图像识别请求指示空闲的第一服务器对截取图像进行识别,并提取截取图像的特征。

在本实施例中,可每隔预设时间段从注册服务器获取空闲服务列表,从空闲服务列表获取空闲的第一服务器上传截取图像,并发送图像识别请求,实现服务器的均衡负载,可减轻服务器的处理压力。

在一个实施例中,上述数据传输装置800,除了包括图像获取模块810、识别模块820、截取模块830、上传模块840、接收模块850及分配模块860,还包括发送模块。

发送模块,用于当接收到的第一服务器返回的接收完毕指令时,根据接收完毕指令向第二服务器发送聚类请求,聚类请求指示第二服务器通过预设的模型对截取图像的特征进行聚类,并根据聚类结果为截取图像的特征分配对应的标签,截取图像的特征为所述第一服务器上报给第二服务器。

在一个实施例中,聚类请求携带有移动终端的标识;聚类结果为第二服务器根据移动终端的标识发送给移动终端。

在本实施例中,可向第二服务器发送聚类请求,聚类请求指示第二服务器对截取图像的特征进行聚类,并根据聚类结果为截取图像的特征分配对应的标签,移动终端可根据聚类结果分类别展示待上传图像,可以智能对存储的图像进行聚类,改善浏览效率,提高用户粘度。

在一个实施例中,上述数据传输装置800,除了包括图像获取模块810、识别模块820、截取模块830、上传模块840、接收模块850、分配模块860及发送模块,还包括电源状态获取模块。

电源状态获取模块,用于获取当前的电源状态,若电源状态满足预设状态,则通过图像获取模块810获取待上传图像。

在本实施例中,当电源状态满足预设状态,再向服务器上传图像,可保证上传图像时移动终端的电源等状态,减少上传图像对移动终端的使用的影响。

本申请实施例还提供了一种移动终端。如图11所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该移动终端可以为包括手机、平板电脑、pda(personaldigitalassistant,个人数字助理)、pos(pointofsales,销售终端)、车载电脑、穿戴式设备等任意终端设备,以移动终端为手机为例:

图11为与本申请实施例提供的移动终端相关的手机的部分结构的框图。参考图11,手机包括:射频(radiofrequency,rf)电路1110、存储器1120、输入单元1130、显示单元1140、传感器1150、音频电路1160、wifi模块1170、处理器1180、以及电源1190等部件。本领域技术人员可以理解,图11所示的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,rf电路1110可用于收发信息或通话过程中,信号的接收和发送,可将基站的下行信息接收后,给处理器1180处理;也可以将上行的数据发送给基站。通常,rf电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(lownoiseamplifier,lna)、双工器等。此外,rf电路1110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于gsm、通用分组无线服务(generalpacketradioservice,gprs)、cdma、宽带码分多址(widebandcodedivisionmultipleaccess,wcdma)、长期演进(longtermevolution,lte))、电子邮件、短消息服务(shortmessagingservice,sms)等。

存储器1120可用于存储软件程序以及模块,处理器1180通过运行存储在存储器1120的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1120可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能的应用程序、图像播放功能的应用程序等)等;数据存储区可存储根据手机的使用所创建的数据(比如音频数据、通讯录等)等。此外,存储器1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元1130可用于接收输入的数字或字符信息,以及产生与手机1100的用户设置以及功能控制有关的键信号输入。具体地,输入单元1130可包括触控面板1132以及其他输入设备1134。触控面板1132,也可称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1132上或在触控面板1132附近的操作),并根据预先设定的程式驱动相应的连接装置。在一个实施例中,触控面板1132可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1180,并能接收处理器1180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1132。除了触控面板1132,输入单元1130还可以包括其他输入设备1134。具体地,其他输入设备1134可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。

显示单元1140可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1140可包括显示面板1142。在一个实施例中,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板1142。在一个实施例中,触控面板1132可覆盖显示面板1142,当触控面板1132检测到在其上或附近的触摸操作后,传送给处理器1180以确定触摸事件的类型,随后处理器1180根据触摸事件的类型在显示面板1142上提供相应的视觉输出。虽然在图11中,触控面板1132与显示面板1142是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1132与显示面板1142集成而实现手机的输入和输出功能。

手机1100还可包括至少一种传感器1150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1142的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1142和/或背光。运动传感器可包括加速度传感器,通过加速度传感器可检测各个方向上加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换)、振动识别相关功能(比如计步器、敲击)等;此外,手机还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器等。

音频电路1160、扬声器1162和传声器1164可提供用户与手机之间的音频接口。音频电路1160可将接收到的音频数据转换后的电信号,传输到扬声器1162,由扬声器1162转换为声音信号输出;另一方面,传声器1164将收集的声音信号转换为电信号,由音频电路1160接收后转换为音频数据,再将音频数据输出处理器1180处理后,经rf电路1110可以发送给另一手机,或者将音频数据输出至存储器1120以便后续处理。

wifi属于短距离无线传输技术,手机通过wifi模块1170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。

处理器1180是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1120内的软件程序和/或模块,以及调用存储在存储器1120内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。在一个实施例中,处理器1180可包括一个或多个处理单元。在一个实施例中,处理器1180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等;调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1180中。

手机1100还包括给各个部件供电的电源1190(比如电池),优选的,电源1190可以通过电源管理系统与处理器1180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

在一个实施例中,手机1100还可以包括摄像头、蓝牙模块等。

在本申请实施例中,该移动终端所包括的处理器1180执行存储在存储器上的计算机程序时实现上述数据传输方法。

在一个实施例中,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述数据传输方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等。

如此处所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram),它用作外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1