具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
图1为一个实施例中图像处理方法的应用环境示意图。如图1所示,该应用环境包括客户端12和服务器14。其中,客户端12用于获取第一图像集合,根据第一识别模型将第一图像集合进行人脸识别处理,得到第一人脸集合。服务器14上存储第二图像集合,服务器14会根据第二识别模型将第二图像集合中的图像进行人脸识别处理得到第二人脸集合,然后在客户端12连接到网络时,将得到的第二人脸集合发送至客户端12。客户端12在接收到第二人脸集合之后,将第一图像集合与第二图像集合中的图像进行图像匹配,并根据图像匹配结果处理第一人脸集合,并根据处理后的第一人脸集合对第一图像集合进行分类。其中,客户端12为处于计算机网络最外围,主要用于输入用户信息以及输出处理结果的电子设备,例如可以是个人电脑、移动终端、个人数字助理、可穿戴电子设备等。服务器14是用于响应服务请求,同时提供计算服务的设备,例如可以是一台或者多台计算机。
图2为另一个实施例中图像处理方法的应用环境示意图。如图2所示,该应用环境包括客户端22、服务器24和子服务器集群26。客户端22获取第一图像集合,将第一图像集合中的图像进行压缩处理;将压缩后的第一图像集合进行人脸识别处理,得到第一人脸集合。服务器24上存储第二图像集合,服务器24会将第二图像集合下发到子服务器集群26进行人脸识别处理,得到第二人脸集合。子服务器262得到的第二人脸集合可以直接发送至客户端22,也可以先发送到服务器24,再通过服务器24发送到客户端22中。其中,子服务器集群26中包括一个或多个子服务器262,用于实现分布式任务处理。客户端22为处于计算机网络最外围,主要用于输入用户信息以及输出处理结果的电子设备,例如可以是个人电脑、移动终端、个人数字助理、可穿戴电子设备等。服务器24和子服务器262是用于响应服务请求,同时提供计算服务的设备,例如可以是一台或者多台计算机。
图3为一个实施例中图像处理方法的流程图。如图3所示,该图像处理方法包括步骤302至步骤308。其中:
步骤302,获取第一人脸集合,其中第一人脸集合是根据第一识别模型对第一图像集合进行人脸识别处理得到的。
在本申请提供的实施例中,终端在运行过程中会不断地生成图像,例如,图像可以是通过终端的摄像头拍摄的,也可以是从网页上下载的,还可以是在运行应用程序的过程中自动缓存的。具体地,终端在将产生的图像进行存储,在存储图像的时候,存储器中会建立若干个文件夹,通过这些文件夹将终端运行过程中产生的图像进行保存。同时不同应用程序产生的图像,可以保存在不同的文件夹中。例如,可以将摄像头拍摄的图像和网页上下载的图像分别保存在不同的文件夹中。在获取图像的时候,输入文件夹的存储地址就访问该文件夹,然后获取文件夹中的图像。
图像集合是指由一张或多张图像构成的集合,第一图像集合是指终端本地存储的图像组成的集合,第二图像集合是指终端上传至服务器存储的图像组成的集合。由于终端在不断地新增或删除图像,而且并不是实时将图像上传到服务器,因此终端中存储的图像和服务器上存储的图像可能是不相同的。也就是说,第一图像集合中的图像和第二图像集合中的图像可能完全不同,也可能是部分相同或者完全相同的。
人脸识别处理是指对图像中包含的人脸进行识别的过程,人脸识别之后可以将图像中包含的人脸提取出来。识别模型是指对图像进行人脸识别处理的算法模型。具体地,识别模型首先可以提取图像中的人脸图像及对应的人脸特征,然后根据人脸特征对人脸图像进行分类。第一识别模型是终端中存储的识别模型,第二识别模型是服务器上存储的模型。其中,第一识别模型的识别精度低于第二识别模型的识别精度。遍历第一图像集合中的每一张图像,并根据第一识别模型将每一张图像中的人脸提取出来,生成第一人脸集合。可以理解的是,人脸识别处理还可以对生成的人脸集合进行分类,将提取的同一张人脸分成一组。
在对第一图像集合进行人脸识别处理之后,每一张图像会对应若干个人脸图像,然后可以建立图像标识、人脸标识及分类标识的对应关系。其中,图像标识是指图像的唯一标识符,人脸标识是指人脸图像的唯一标识符,分类标识用于标示人脸图像对应的分组信息。图像标识与人脸标识可以为一对一的对应关系,也可以为一对多的对应关系。人脸标识和分类标识为一对一的对应关系。例如,图像标识可以为“image.jpg”,该图像中包含三张人脸,三张人脸图像对应的人脸标识分别为“image_face01”、“image_face02”、“image_face03”,三张人脸图像对应的分类标识分别为“group_01”、“group_02”、“group_03”,表示这三张人脸图像分别分到不同组内。步骤304,若检测到连接网络,则接收服务器发送的第二人脸集合,其中第二人脸集合是由服务器根据第二识别模型对第二图像集合中的图像进行人脸识别处理得到的,其中第一识别模型的识别精度低于第二识别模型的识别精度。
在一个实施例中,终端将图像上传至服务器之后,服务器会根据接收到的图像生成第二图像集合,并建立第二图像集合与终端标识的对应关系。终端标识是指区分不同客户端的唯一标识。终端标识可以但不限于是客户端的IP(Internet Protocol,网络之间互连的协议)地址、MAC(Media Access Control,媒体访问控制)地址等。服务器一般存储空间比较大,计算能力比较强,在接收到第二图像集合之后,服务器会定时触发对第二图像集合的人脸识别处理,并生成第二人脸集合。
可以理解的是,网络可以包括Wifi(Wireless Fidelity,无线保真)、2G数据网络、3G数据网络、4G数据网络等类型。当终端检测到连接网络时,终端会自动向服务器发起人脸图像获取请求,该人脸图像获取请求中会携带终端标识,服务器在接收到人脸图像获取请求之后,会将终端标识对应的第二人脸集合返回给终端。以Android系统为例,NetworkInfo类包含了对Wifi和数据网络两种网络模式连接的详细描述,通过getState()方法可以获取当前网络的连接状态。
由于服务器下发的人脸集合可能占用的空间比较大,传输时消耗的数据流量比较大。因此,在接收第二人脸集合之前,可以首先判断终端所连接的网络的网络类型。若连接的网络为预设网络类型,则接收服务发送的第二人脸集合。例如,若判断终端连接的是Wifi,则接收服务器发下的第二人脸集合。具体地,步骤304可以包括:若检测到连接网络,则获取连接的网络类型;若所连接的网络为预设网络类型,则接收服务器发送的第二人脸集合。更进一步地,若所连接的网络为数据网络,则判断数据网络的剩余流量;若剩余流量大于流量阈值,则接收服务器发送的第二人脸集合。终端接收到的第二人脸集合中,每一张人脸图像都对应了图像标识、人脸标识和分类标识。
步骤306,将第一图像集合与第二图像集合中的图像进行图像匹配,根据第二人脸集合对第一人脸集合进行与图像匹配结果对应的处理。
在一个实施例中,将第一图像集合与第二图像集合中的图像进行匹配,可以是将第一图像集合中的图像对应的图像标识与第二图像集合中的图像对应的图像标识进行图像匹配。图像匹配结果包括以下三种情况中的任意一种:1、图像在第一图像集合与第二图像集合中同时存在;2、图像在第一图像集合中存在且在第二图像集合中不存在;3、图像在第一图像集合中不存在且在第二图像集合中存在。
可以理解的是,第二人脸集合是对原始图像进行人脸识别处理得到的,得到的第二人脸集合中的人脸图像的精度更高。在上述三种不同的图像匹配结果下,根据第二人脸集合对第一人脸集合进行不同的处理。例如,当图像在第一图像集合与第二图像集合中同时存在时,用第二人脸集合中该图像对应的人脸图像覆盖第一人脸集合中该图像对应的人脸图像;当图像在第一图像集合中存在且在第二图像集合中不存在时,保留第一人脸集合中该图像对应的人脸图像不变;当图像在第一图像集合中不存在且在第二图像集合中存在时,将第二人脸集合中该图像对应的人脸图像新增到第一人脸集合中。
步骤308,根据处理后的第一人脸集合对第一图像集合进行分类。
在一个实施例中,第一人脸集合中的人脸图像对应图像标识、人脸标识和分类标识,对第一人脸集合进行处理之后,根据第一人脸集合中的人脸图像对第一图像集合进行分类处理。同一张人脸对应的图像将会分到一个类别中,由于图像中可能包含多张人脸,则一张图像就可能会被分到多个类别中。具体地,若步骤304中检测到未连接网络,则可以直接根据第一人脸集合对第一图像集合进行分类。
上述实施例提供的图像处理方法,根据第一识别模型将第一图像集合进行人脸识别处理,得到第一人脸集合。通过服务器对第二图像集合进行人脸识别处理,得到第二人脸集合。根据第二人脸集合对第一人脸集合进行处理,并根据第一人脸集合对第一图像集合进行分类。由于第二人脸集合是根据未压缩的原始图像进行人脸识别处理得到的,因此得到的人脸图像更加准确。然后根据第二人脸集合对第一人脸集合进行处理,得到的第一人脸集合更加准确。从而使得根据第一人脸集合对第一图像集合进行的分类处理更加准确,提高了图像处理的准确性。
图4为另一个实施例中图像处理方法的流程图。如图4所示,该图像处理方法包括步骤402至步骤422。其中:
步骤402,获取第一图像集合,将第一图像集合中的图像进行压缩处理。
终端将图像保存之后,可以将图像同步至服务器上进行存储,这样终端即使将图像删除了,还可以从服务器上获取图像。为了减少终端的功耗,终端并不会实时上传图像,而是需要在满足一定条件的时候,将图像同步到服务器上进行存储。具体地,在满足以下条件中至少一种时,终端将图像同步至服务器:在终端的新增图像数量大于预设数量;当前时间为预设时间;距上次同步的时间超过预设时长;终端当前处于充电状态。例如:在移动终端新增图像大于50张时,若当前时间为凌晨2点到5点,且移动终端处于充电状态,则将移动终端中的图像同步至服务器。
图像通过终端的存储空间进行存储,终端的存储空间分为内存储器和外接存储器。内存储器是指终端本身自带的存储器,是终端硬件结构的一部分。外接存储器是指终端外接的存储设备,外接存储可以通过专用接口与终端进行数据传输。例如,外接存储器可以是SD卡、U盘等。终端可以从预设存储地址中直接获取图像,也可以遍历移动终端中的所有文件夹获取图像,并根据获取的图像组成第一图像集合。
可以理解的是,终端的存储空间一般是比较有限的,因此在对图像进行处理的时候,为了减少处理的计算量,可以先将图像进行压缩处理。压缩处理通常会缩小图像的尺寸,使图像所占用的存储空间变小,在对压缩处理后的图像进行处理的时候,也会相应减少处理的计算量。具体地,压缩处理可以是将图像进行一定比例的缩小,也可以是将图像缩小到固定大小。例如,尺寸为200*300和300*600的图像,若将图像进行1:0.5等比例缩小,那么压缩后的图像尺寸就分别为100*150和150*300。若将图像缩小到固定尺寸100*200,那么压缩之后的图像的尺寸就都为100*200。
步骤404,根据第一识别模型将压缩后的第一图像集合进行人脸识别处理,得到第一人脸集合。
识别模型是指对图像进行人脸识别处理的模型。具体地,识别模型首先可以提取图像中的人脸图像及对应的人脸特征,然后根据人脸特征对人脸图像进行分类。第一识别模型是终端中存储的识别模型,第二识别模型是服务器上存储的模型。由于终端的处理能力有限,服务器具有强大的处理能力。因此终端中存储的第一识别模型是一种微型识别模型,而服务器上存储的第二识别模型是一种全量的识别模型。第二识别模型的算法比第一识别模型的算法更加复杂,从而得到的识别结果也更加精确,也即第一识别模型的识别精度低于第二识别模型的识别精度。
步骤406,若检测到连接网络,则接收服务器发送的第二人脸集合。
其中,第二人脸集合是由服务器根据第二识别模型将第二图像集合中的图像进行人脸识别处理得到的。服务器会定时对第二人脸集合中的图像进行人脸识别处理,得到第二人脸集合。终端在检测到连接网络时,向服务器发起人脸获取请求;服务器接收到人脸获取请求后,根据人脸获取请求返回第二人脸集合给终端。其中,第二人脸集合是由服务器根据第二识别模型将第二图像集合中的图像进行人脸识别处理得到的。
步骤408,获取第一图像集合或第二图像集合中的任意一张图像作为目标图像。
步骤410,若目标图像在第一图像集合和第二图像集合中都存在,则将第一人脸集合中目标图像对应的人脸图像作为第一人脸子集合,第二人脸集合中目标图像对应的人脸图像作为第二人脸子集合。
若目标图像在第一图像集合和第二图像集合中都存在,则说明第一人脸集合和第二人脸集合中都存在目标图像对应的人脸图像。将第一人脸集合中目标图像对应的人脸图像与第二人脸集合中目标图像对应的人脸图像进行人脸匹配,并根据人脸匹配结果对第一人脸集合进行处理。具体地,将第一人脸集合中目标图像对应的人脸图像作为第一人脸子集合,第二人脸集合中目标图像对应的人脸图像作为第二人脸子集合。将第一人脸子集合与第二人脸子集合中的人脸图像进行人脸匹配,根据人脸匹配结果对第一人脸集合进行处理。
步骤412,将第一人脸子集合与第二人脸子集合中的人脸图像进行人脸匹配,并根据人脸匹配结果处理第一人脸集合。
由于第一人脸集合中的人脸图像是根据压缩之后的图像进行人脸识别处理得到的,而第二人脸集合中的人脸图像是根据未经过压缩的原始图像进行人脸识别处理得到的。因此在将第一人脸子集合与第二人脸子集合中的人脸图像进行人脸匹配时,可以首先将第二人脸子集合中的人脸图像进行压缩之后,在进行人脸匹配。具体地,将第二人脸子集合中的人脸图像进行压缩处理,并将第一人脸子集合中的人脸图像与压缩处理后的第二人脸子集合中的人脸图像进行人脸匹配。
将第一人脸子集合与第二人脸子集合中的人脸图像进行人脸匹配,得到的人脸匹配结果为以下三种中的任意一种:1、人脸图像在第一人脸子集合和第二人脸子集合中都存在;2、人脸图像在第一人脸子集合中存在且在第二人脸子集合中不存在;3、人脸图像在第一人脸子集合中不存在且第二人脸子集合中存在。根据上述三种人脸匹配结果,分别对第一人脸集合中的人脸图像做不同的处理。如图5所示,在一个实施例中步骤412具体可以包括:获取第一人脸子集合或第二人脸子集合中的任意一张人脸图像作为目标人脸图像;若目标人脸图像在第一人脸子集合和第二人脸子集合中都存在,则用第二人脸集合中的目标人脸图像覆盖第一人脸集合中的目标人脸图像;若目标人脸图像在第一人脸子集合中存在且在第二人脸子集合中不存在,则删除第一人脸集合中的目标人脸图像;若目标人脸图像在第一人脸子集合中不存在且在第二人脸子集合中存在,则将第二人脸集合中的目标人脸图像新增至第一人脸集合中。
举例来说,假设图像“A.jpg”在终端和服务器中都存在,即在第一图像集合和第二图像集合中都存在。终端对图像“A.jpg”的识别结果为包括“Face01”和“Face02”,服务器对图像“A.jpg”的识别结果为包括“FFace02”和“FFace03”。也即第一人脸集合中图像“A.jpg”对应的第一人脸子集合为“Face01”和“Face02”,第二人脸集合中图像“A.jpg”对应的第二人脸子集合为“FFace02”和“FFace03”。其中,终端识别得到的“Face02”和服务器识别得到的“FFace02”为同一张人脸。可以理解的是,“Face01”只在第一人脸子集合中存在,而在第二人脸子集合中不存在,则将第一人脸集合中的“Face01”删除;“Face02”在第一人脸子集合和第二人脸子集合中都存在,则用第二人脸集合中的“FFace02”覆盖第一人脸集合中的“Face02”;“FFace03”在第一人脸子集合中不存在,而在第二人脸子集合中存在,则将第二人脸集合中的“FFace03”添加到第一人脸集合中。那么,最后处理得到的第一人脸集合中图像“A.jpg”对应的人脸图像就为“FFace02”和“FFace03”。
步骤414,若目标图像在第一图像集合中不存在且在第二图像集合中存在,则将第二人脸集合中目标图像对应的人脸图像新增至第一人脸集合中。
若目标图像在第一图像集合中不存在且在第二图像集合中存在,则说明第一人脸集合中没有目标图像对应的人脸图像,而第二人脸集合中存在目标图像对应的人脸图像。则可以将第二人脸集合中目标图像对应的人脸图像新增至第一人脸集合中。若目标图像在第一图像集合中存在且在第二图像集合中不存在,那么第一人脸集合中目标图像对应的人脸图像就可以保持不变。
例如,终端将图像“B.jpg”上传到服务器之后直接删掉了,那么图像“B.jpg”在终端中就不存在,而在服务器中存在。则在进行人脸识别处理的时候,第一图像集合中就不包括图像“B.jpg”,第二图像集合中包含图像“B.jpg”。获取的第一人脸集合中就不包含图像“B.jpg”对应的人脸图像,而第二人脸集合中包含图像“B.jpg”对应的人脸图像,为“FFace001”和“FFace002”。则可以直接将人脸图像“FFace001”和“FFace002”添加到第一人脸集合中。
步骤416,根据处理后的第一人脸集合对第一图像集合进行分类。
图6为一个实施例中图像分类的终端展示图。如图6所示,移动终端根据第一人脸集合将第一图像集合进行分类,并将分类的结果展示在移动终端的界面上。分类展示界面602上展示了八个分类结果,分别包括“分类1”、“分类2”、“分类3”、“分类4”、“分类5”、“分类6”、“分类7”和“分类8”,每个分类都包含了若干张具有共性的人脸图像。点击其中一个分类,可以通过人脸图像展示界面604查看分类中的人脸图像。然后点击其中一张人脸图像,可以通过图像展示界面606查看该人脸图像对应的图像。
步骤418,向服务器发送图像下载请求,其中图像下载请求中包含第二图像集合中任意一张或多张图像对应的图像标识。
服务器接收到终端发送的图像之后,可以接收的图像进行存储,这样终端即使将图像删除了,还可以从服务器上进行获取。可以理解的是,服务器接收到终端上传的图像后,可以根据接收到的图像生成第二图像集合,然后根据第二图像集合生成一个网页链接,并将网页链接返回给终端。终端通过访问该网页链接,可以查看存储的第二图像子集合,并可以对第二图像子集合中的图像进行下载。该网页链接对应着一个网页文档,终端在点击该网页链接的时候,获取并读取该网页文档,网页文档中包含了这些图片的存储地址和图片标识。终端在获取到该网页文档之后,解析该网页文档,并将网页文档中的内容进行显示,用户通过显示的内容对图像进行查看。
图像下载请求即为终端发起的获取第二图像集合中的图像的请求,图像下载请求中包含第二图像集合中任意一张或多张图像对应的图像标识。具体地,终端和服务器之间可以首先建立通信连接,通信连接成功之后服务器会给终端返回一个连接成功的信息。例如,终端和服务器之间可以通过一对端口号(socket)来建立通信连接,建立连接之后,通过连接好的端口号来发送图片。连接成功后,终端向服务器发起图像下载请求。图7为一个实施例中图像下载页面的终端界面图。如图7所示,该展示界面中展示了服务器上存储的图像,移动终端可以通过该界面查看上传至服务器的图像,并通过该界面对图像进行下载。
步骤420,接收服务器根据图像下载请求返回的下载图像。
步骤422,根据处理后的第一人脸集合对下载图像进行分类。
可以理解的是,接收服务器根据图像下载请求返回的下载图像,若接收到的下载图像在终端的第一图像集合中存在,则可以用下载图像直接替换第一图像集合中对应的图像。若接收到的下载图像在终端的第一图像集合中不存在,则可以直接将该下载图像增加到第一图像集合中。终端根据第二人脸集合对第一人脸集合进行处理,处理之后的第一人脸集合中还包括了第二图像集合中所有图像的人脸识别结果。因此终端在接收到服务器返回的下载图像时,可以直接根据第一人脸集合对下载图像进行分类处理,无需再对下载图像进行人脸识别处理。
上述实施例提供的图像处理方法,将第一图像集合压缩之后进行人脸识别处理,得到第一人脸集合。通过服务器对第二图像集合进行人脸识别处理,得到第二人脸集合。将第一图像集合和第二图像集合中的图像进行图像匹配,根据图像匹配结果对第一人脸集合进行处理,并根据处理后的第一人脸集合对第一图像集合进行分类。由于第二人脸集合是根据未压缩的原始图像进行人脸识别处理得到的,因此得到的人脸图像更加准确。然后根据第二人脸集合对第一人脸集合进行处理,得到的第一人脸集合更加准确。从而使得根据第一人脸集合对第一图像集合进行的分类处理更加准确,提高了图像处理的准确性。
图8为一个实施例中图像处理系统的系统架构图。如图8所示,该图像处理系统中包括客户端82、本地服务器84和云端服务器86。该系统架构的工作流程分为两个阶段:图像同步阶段和图像分类阶段。其中,图像同步阶段包括:触发器822可以发起同步请求,然后通过数据获取模块824从图像数据库820中获取图像,并将获取的图像存储在备份数据库826中,然后通过备份数据库826将图像发送至本地服务器84。本地服务器84通过Package打包模块840将图像进行打包,并将打包后的图像通过通信模块842上传至云端服务器86中。云端服务器86接收到图像后,形成第二图像集合,并将第二图像集合进行存储。图像分类阶段包括:触发器822可以发起分类请求,然后通过数据获取模块824从图像数据库820中获取第一图像集合,并将第一图像集合存储在备份数据库826中。分类处理模块828会对第一图像集合进行压缩处理,然后对压缩处理之后的第一图像集合进行人脸识别处理,然后将得到的第一人脸集合存放在备份数据库826中。云端服务器86对第二图像集合进行人脸识别处理得到第二人脸集合,并在客户端82联网的情况下,下发到本地服务器84。本地服务器84通过通信模块842接收第二人脸集合,并通过Package解析模块844将第二人脸集合进行解析,然后将解析后的第二人脸集合发送到客户端82,存放在备份数据库826中。然后分类处理模块828会根据第二人脸集合将第一人脸集合进行处理,并根据处理后的第一人脸集合对第一图像集合进行分类。
图9为一个实施例中图像处理装置的结构示意图。如图9所示,该图像处理装置900包括第一人脸获取模块902、第二人脸获取模块904、人脸处理模块906和图像处理模块908。其中:
第一人脸获取模块902,用于获取第一人脸集合,其中所述第一人脸集合是根据第二识别模型对第一图像集合进行人脸识别处理得到的。
第二人脸获取模块904,用于若检测到连接网络,则接收服务器发送的第二人脸集合,其中所述第二人脸集合是由所述服务器根据第二识别模型对所述第二图像集合中的图像进行人脸识别处理得到的,其中所述第一识别模型的识别精度低于所述第二识别模型的识别精度。
人脸处理模块906,用于将所述第一图像集合与第二图像集合中的图像进行图像匹配,根据所述第二人脸集合对所述第一人脸集合进行与图像匹配结果对应的处理。
图像处理模块908,用于根据处理后的所述第一人脸集合对所述第一图像集合进行分类。
上述实施例提供的图像处理装置,根据第一识别模型将第一图像集合进行人脸识别处理,得到第一人脸集合。通过服务器对第二图像集合进行人脸识别处理,得到第二人脸集合。根据第二人脸集合对第一人脸集合进行处理,并根据第一人脸集合对第一图像集合进行分类。由于第二人脸集合是根据未压缩的原始图像进行人脸识别处理得到的,因此得到的人脸图像更加准确。然后根据第二人脸集合对第一人脸集合进行处理,得到的第一人脸集合更加准确。从而使得根据第一人脸集合对第一图像集合进行的分类处理更加准确,提高了图像处理的准确性。
图10为另一个实施例中图像处理装置的结构示意图。如图10所示,该图像处理装置1000包括第一人脸获取模块1002、第二人脸获取模块1004、人脸处理模块1006、图像处理模块1008和图像下载模块1010。其中:
第一人脸获取模块1002,用于获取第一人脸集合,其中所述第一人脸集合是根据第二识别模型对第一图像集合进行人脸识别处理得到的。
第二人脸获取模块1004,用于若检测到连接网络,则接收服务器发送的第二人脸集合,其中所述第二人脸集合是由所述服务器根据第二识别模型对所述第二图像集合中的图像进行人脸识别处理得到的,其中所述第一识别模型的识别精度低于所述第二识别模型的识别精度。
人脸处理模块1006,用于将所述第一图像集合与第二图像集合中的图像进行图像匹配,根据所述第二人脸集合对所述第一人脸集合进行与图像匹配结果对应的处理。
图像处理模块1008,用于根据处理后的所述第一人脸集合对所述第一图像集合进行分类。
图像下载模块1010,用于向所述服务器发送图像下载请求,其中所述图像下载请求中包含所述第二图像集合中任意一张或多张图像对应的图像标识;接收所述服务器根据所述图像下载请求返回的下载图像;根据处理后的所述第一人脸集合对所述下载图像进行分类。
上述实施例提供的图像处理装置,根据第一识别模型将第一图像集合进行人脸识别处理,得到第一人脸集合。通过服务器对第二图像集合进行人脸识别处理,得到第二人脸集合。根据第二人脸集合对第一人脸集合进行处理,并根据第一人脸集合对第一图像集合进行分类。由于第二人脸集合是根据未压缩的原始图像进行人脸识别处理得到的,因此得到的人脸图像更加准确。然后根据第二人脸集合对第一人脸集合进行处理,得到的第一人脸集合更加准确。从而使得根据第一人脸集合对第一图像集合进行的分类处理更加准确,提高了图像处理的准确性。
在一个实施例中,第一人脸获取模块1002还用于获取第一图像集合,并将所述第一图像集合进行压缩处理;根据第一识别模型将压缩后的第一图像集合进行人脸识别处理,得到第一人脸集合。
在一个实施例中,人脸处理模块1006还用于获取所述第一图像集合或第二图像集合中的任意一张图像作为目标图像;若所述目标图像在所述第一图像集合和第二图像集合中都存在,则将所述第一人脸集合中所述目标图像对应的人脸图像作为第一人脸子集合,所述第二人脸集合中所述目标图像对应的人脸图像作为第二人脸子集合;将所述第一人脸子集合与第二人脸子集合中的人脸图像进行人脸匹配,并根据人脸匹配结果处理第一人脸集合。
在一个实施例中,人脸处理模块1006还用于将所述第二人脸子集合中的人脸图像进行压缩处理,并将所述第一人脸子集合中的人脸图像与压缩处理后的第二人脸子集合中的人脸图像进行人脸匹配。
在一个实施例中,人脸处理模块1006还用于获取所述第一人脸子集合或第二人脸子集合中的任意一张人脸图像作为目标人脸图像;若所述目标人脸图像在所述第一人脸子集合和第二人脸子集合中都存在,则用第二人脸集合中的目标人脸图像覆盖所述第一人脸集合中的目标人脸图像;若所述目标人脸图像在所述第一人脸子集合中存在且在所述第二人脸子集合中不存在,则删除所述第一人脸集合中的所述目标人脸图像;若所述目标人脸图像在所述第一人脸子集合中不存在且在所述第二人脸子集合中存在,则将所述第二人脸集合中的所述目标人脸图像新增至所述第一人脸集合中。
在一个实施例中,人脸处理模块1006还用于获取所述第一图像集合或第二图像集合中的任意一张图像作为目标图像;若所述目标图像在所述第一图像集合中不存在且在所述第二图像集合中存在,则将所述第二人脸集合中所述目标图像对应的人脸图像新增至所述第一人脸集合中。
在一个实施例中,图像处理模块1008还用于若检测到未连接网络,则根据所述第一人脸集合对所述第一图像集合进行分类。
上述图像处理装置中各个模块的划分仅用于举例说明,在其他实施例中,可将图像处理装置按照需要划分为不同的模块,以完成上述图像处理装置的全部或部分功能。
图11为一个实施例中服务器的内部结构示意图。如图11所示,该服务器包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该处理器用于提供计算和控制能力,支撑整个计算机设备的运行。存储器用于存储数据、程序等,存储器上存储至少一个计算机程序,该计算机程序可被处理器执行,以实现本申请实施例中提供的适用于计算机设备的无线网络通信方法。存储器可包括磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random-Access-Memory,RAM)等。例如,在一个实施例中,存储器包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现上述实施例所提供的一种图像处理方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。网络接口可以是以太网卡或无线网卡等,用于与外部的计算机设备进行通信。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行以下步骤:
获取第一人脸集合,其中所述第一人脸集合是根据第一识别模型对第一图像集合进行人脸识别处理得到的;
若检测到连接网络,则接收服务器发送的第二人脸集合,其中所述第二人脸集合是由所述服务器根据第二识别模型对所述第二图像集合中的图像进行人脸识别处理得到的,其中所述第一识别模型的识别精度低于所述第二识别模型的识别精度;
将所述第一图像集合与第二图像集合中的图像进行图像匹配,根据所述第二人脸集合对所述第一人脸集合进行与图像匹配结果对应的处理;
根据处理后的所述第一人脸集合对所述第一图像集合进行分类。
在一个实施例中,所述处理器执行的所述方法还包括:
获取第一图像集合,并将所述第一图像集合进行压缩处理;
根据第一识别模型将压缩后的第一图像集合进行人脸识别处理,得到第一人脸集合。
在一个实施例中,所述处理器执行的所述将所述第一图像集合与第二图像集合中的图像进行图像匹配,根据所述第二人脸集合对所述第一人脸集合进行与图像匹配结果对应的处理包括:
获取所述第一图像集合或第二图像集合中的任意一张图像作为目标图像;
若所述目标图像在所述第一图像集合和第二图像集合中都存在,则将所述第一人脸集合中所述目标图像对应的人脸图像作为第一人脸子集合,所述第二人脸集合中所述目标图像对应的人脸图像作为第二人脸子集合;
将所述第一人脸子集合与第二人脸子集合中的人脸图像进行人脸匹配,并根据人脸匹配结果处理第一人脸集合。
在一个实施例中,所述处理器执行的所述将所述第一人脸子集合与第二人脸子集合中的人脸图像进行人脸匹配包括:
将所述第二人脸子集合中的人脸图像进行压缩处理,并将所述第一人脸子集合中的人脸图像与压缩处理后的第二人脸子集合中的人脸图像进行人脸匹配。
在一个实施例中,所述处理器执行的所述根据人脸匹配结果处理第一人脸集合包括:
获取所述第一人脸子集合或第二人脸子集合中的任意一张人脸图像作为目标人脸图像;
若所述目标人脸图像在所述第一人脸子集合和第二人脸子集合中都存在,则用第二人脸集合中的目标人脸图像覆盖所述第一人脸集合中的目标人脸图像;
若所述目标人脸图像在所述第一人脸子集合中存在且在所述第二人脸子集合中不存在,则删除所述第一人脸集合中的所述目标人脸图像;
若所述目标人脸图像在所述第一人脸子集合中不存在且在所述第二人脸子集合中存在,则将所述第二人脸集合中的所述目标人脸图像新增至所述第一人脸集合中。
在一个实施例中,所述处理器执行的所述将所述第一图像集合与第二图像集合中的图像进行图像匹配,根据所述第二人脸集合对所述第一人脸集合进行与图像匹配结果对应的处理包括:
获取所述第一图像集合或第二图像集合中的任意一张图像作为目标图像;
若所述目标图像在所述第一图像集合中不存在且在所述第二图像集合中存在,则将所述第二人脸集合中所述目标图像对应的人脸图像新增至所述第一人脸集合中。
在一个实施例中,所述处理器执行的所述方法还包括:
若检测到未连接网络,则根据所述第一人脸集合对所述第一图像集合进行分类。
在一个实施例中,所述处理器执行的所述方法还包括:
向所述服务器发送图像下载请求,其中所述图像下载请求中包含所述第二图像集合中任意一张或多张图像对应的图像标识;
接收所述服务器根据所述图像下载请求返回的下载图像;
根据处理后的所述第一人脸集合对所述下载图像进行分类。
一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行图像处理方法。
本申请实施例还提供了一种计算机设备。如图12所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该计算机设备可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑、穿戴式设备等任意终端设备,以计算机设备为手机为例:
图12为与本申请实施例提供的计算机设备相关的手机的部分结构的框图。参考图12,手机包括:射频(Radio Frequency,RF)电路1210、存储器1220、输入单元1230、显示单元1240、传感器1250、音频电路1260、无线保真(wireless fidelity,WiFi)模块1270、处理器1280、以及电源1290等部件。本领域技术人员可以理解,图12所示的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,RF电路1210可用于收发信息或通话过程中,信号的接收和发送,可将基站的下行信息接收后,给处理器1280处理;也可以将上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路1210还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System ofMobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器1220可用于存储软件程序以及模块,处理器1280通过运行存储在存储器1220的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1220可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能的应用程序、图像播放功能的应用程序等)等;数据存储区可存储根据手机的使用所创建的数据(比如音频数据、通讯录等)等。此外,存储器1220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1230可用于接收输入的数字或字符信息,以及产生与手机1200的用户设置以及功能控制有关的键信号输入。具体地,输入单元1230可包括触控面板1231以及其他输入设备1232。触控面板1231,也可称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1231上或在触控面板1231附近的操作),并根据预先设定的程式驱动相应的连接装置。在一个实施例中,触控面板1231可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1280,并能接收处理器1280发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1231。除了触控面板1231,输入单元1230还可以包括其他输入设备1232。具体地,其他输入设备1232可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。
显示单元1240可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1240可包括显示面板1241。在一个实施例中,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1241。在一个实施例中,触控面板1231可覆盖显示面板1241,当触控面板1231检测到在其上或附近的触摸操作后,传送给处理器1280以确定触摸事件的类型,随后处理器1280根据触摸事件的类型在显示面板1241上提供相应的视觉输出。虽然在图12中,触控面板1231与显示面板1241是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1231与显示面板1241集成而实现手机的输入和输出功能。
手机1200还可包括至少一种传感器1250,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1241的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1241和/或背光。运动传感器可包括加速度传感器,通过加速度传感器可检测各个方向上加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换)、振动识别相关功能(比如计步器、敲击)等;此外,手机还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器等。
音频电路1260、扬声器1261和传声器1262可提供用户与手机之间的音频接口。音频电路1260可将接收到的音频数据转换后的电信号,传输到扬声器1261,由扬声器1261转换为声音信号输出;另一方面,传声器1262将收集的声音信号转换为电信号,由音频电路1260接收后转换为音频数据,再将音频数据输出处理器1280处理后,经RF电路1210可以发送给另一手机,或者将音频数据输出至存储器1220以便后续处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1270可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图12示出了WiFi模块1270,但是可以理解的是,其并不属于手机1200的必须构成,可以根据需要而省略。
处理器1280是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1220内的软件程序和/或模块,以及调用存储在存储器1220内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。在一个实施例中,处理器1280可包括一个或多个处理单元。在一个实施例中,处理器1280可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等;调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1280中。
手机1200还包括给各个部件供电的电源1290(比如电池),优选的,电源可以通过电源管理系统与处理器1280逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
在一个实施例中,手机1200还可以包括摄像头、蓝牙模块等。
在本申请实施例中,该移动终端所包括的处理器1280执行存储在存储器上的计算机程序时实现上述实施例提供的图像处理方法。
本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。