WO2019051801A1 - 图像处理方法、装置、计算机设备及非易失性可读存储介质 - Google Patents

图像处理方法、装置、计算机设备及非易失性可读存储介质 Download PDF

Info

Publication number
WO2019051801A1
WO2019051801A1 PCT/CN2017/101948 CN2017101948W WO2019051801A1 WO 2019051801 A1 WO2019051801 A1 WO 2019051801A1 CN 2017101948 W CN2017101948 W CN 2017101948W WO 2019051801 A1 WO2019051801 A1 WO 2019051801A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
clustering
server
request
mobile terminal
Prior art date
Application number
PCT/CN2017/101948
Other languages
English (en)
French (fr)
Inventor
柯秀华
曹威
王俊
Original Assignee
广东欧珀移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 广东欧珀移动通信有限公司 filed Critical 广东欧珀移动通信有限公司
Priority to EP17925288.7A priority Critical patent/EP3680785A4/en
Priority to PCT/CN2017/101948 priority patent/WO2019051801A1/zh
Publication of WO2019051801A1 publication Critical patent/WO2019051801A1/zh
Priority to US16/818,509 priority patent/US11314803B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/55Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/5866Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/167Detection; Localisation; Normalisation using comparisons between temporally consecutive images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/179Human faces, e.g. facial parts, sketches or expressions metadata assisted face recognition

Definitions

  • the present application relates to the field of computers, and in particular, to an image processing method, apparatus, computer device, and non-volatile readable storage medium.
  • an image processing method, apparatus, computer device, and non-volatile readable storage medium are provided.
  • An image processing method comprising:
  • An image processing apparatus comprising:
  • An information acquiring module configured to acquire a first image of the image to be clustered when the first preset condition is met Like information
  • a first clustering module configured to cluster the image to be clustered according to the first image information, to obtain a first clustering result
  • a first sending module configured to send an image clustering request to the server when the second preset condition is met, where the image clustering request is used to instruct the server to cluster an image that has been uploaded to the server, and Obtaining a second clustering result;
  • an update module configured to receive a second clustering result returned by the server, and update at least one of the first clustering result and the second clustering result according to a preset rule.
  • a computer apparatus comprising a memory and a processor, the memory storing computer executable instructions, the computer executable instructions being executed by the processor such that when executed by the processor, the method as described above is implemented.
  • One or more non-volatile readable storage media storing computer-executable instructions that, when executed by one or more processors, cause the one or more processors to be implemented as described above The method described.
  • An image processing method comprising:
  • the first clustering result is obtained by clustering the image to be clustered when the mobile terminal satisfies the first state.
  • An image processing apparatus comprising:
  • a receiving module configured to receive an image clustering request sent by the mobile terminal, where the image clustering request is sent when the mobile terminal meets the second preset condition
  • a second clustering module configured to cluster the uploaded images according to the image clustering request to obtain a second clustering result
  • a second sending module configured to send the second clustering result to the mobile terminal, where the second clustering result is used by the mobile terminal to perform a first clustering result and a second cluster according to a preset rule At least one of the results is updated, and the first clustering result is obtained by clustering the image to be clustered when the mobile terminal satisfies the first state.
  • a computer apparatus comprising a memory and a processor, the memory storing computer executable instructions, the computer executable instructions being executed by the processor such that when executed by the processor, the method as described above is implemented.
  • One or more non-volatile readable storage media storing computer-executable instructions that, when executed by one or more processors, cause the one or more processors to be implemented as described above The method described.
  • FIG. 1 is an application scenario diagram of an image processing method in an embodiment
  • Figure 2 is a block diagram of a server in one embodiment
  • FIG. 3 is an application scenario diagram of an image processing method in another embodiment
  • FIG. 4 is a sequence diagram of interaction between a mobile terminal and a first server and a second server in an embodiment
  • Figure 5 is a flow chart of an image processing method in an embodiment
  • FIG. 6 is a flow chart of determining an image to be clustered in one embodiment
  • FIG. 7 is a flow chart of generating a new image list and updating an image list in one embodiment
  • FIG. 8 is a flow chart of uploading an image to a first server in one embodiment
  • FIG. 9 is an architectural diagram of a first server in an embodiment
  • 10 is a flow chart of sending an image clustering request to a second server in one embodiment
  • 11 is a flowchart of updating at least one of a first clustering result and a second clustering result according to a preset rule in an embodiment
  • FIG. 12 is a flowchart of updating at least one of a first clustering result and a second clustering result according to a preset rule in another embodiment
  • Figure 13 is a flow chart of an image processing method in another embodiment
  • 15 is a flow chart of a merged image clustering request in another embodiment
  • 16 is a flow chart of clustering according to a merged image clustering request in one embodiment
  • Figure 17 is a block diagram of an image processing apparatus in an embodiment
  • Figure 18 is a block diagram of an image processing apparatus in another embodiment
  • Figure 19 is a block diagram of a mobile terminal in one embodiment.
  • first may be referred to as a second client
  • second client may be referred to as a first client, without departing from the scope of the present application.
  • Both the first client and the second client are clients, but they are not the same client.
  • FIG. 1 is an application scenario diagram of an image processing method in an embodiment.
  • the mobile terminal 10 and the server 20 can establish a communication connection through a network, wherein the server 20 can be separate.
  • a server can also be a server cluster consisting of multiple servers or one server in a server cluster.
  • the first image information of the image to be clustered may be acquired, and the clustered image is clustered according to the first image information to obtain a first clustering result.
  • an image clustering request may be sent to the server 20.
  • the server 20 receives the image clustering request sent by the mobile terminal 10, and may cluster the images uploaded by the mobile terminal 10 to the server 20 according to the image clustering request to obtain a second clustering result.
  • the server 20 may send the second clustering result to the mobile terminal 10, and the mobile terminal 10 receives the second clustering result returned by the server 20, and may perform at least at least one of the first clustering result and the second clustering result according to the preset rule.
  • the server 20 includes a processor, a non-volatile storage medium, an internal memory, and a network interface connected by a system bus.
  • the non-volatile storage medium of the server 20 stores an operating system, a database, and computer executable instructions.
  • the database stores images uploaded by the mobile terminal, extracted image features, and the like.
  • the computer executable instructions are used to implement the present application.
  • the processor of the server 20 is used to provide computing and control capabilities to support the operation of the entire server 20.
  • the internal memory of the server 20 provides a cached operating environment for operating systems and computer executable instructions in a non-volatile storage medium.
  • the network interface of the server 20 is configured to communicate with an external mobile terminal via a network connection, such as receiving an image uploaded by the mobile terminal, receiving an image clustering request sent by the mobile terminal, and the like.
  • the server 20 can be implemented by a stand-alone server or a server cluster composed of a plurality of servers. It will be understood by those skilled in the art that the structure shown in FIG. 2 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation of the server 20 to which the solution of the present application is applied. Specifically, the server 20 may It includes more or fewer components than those shown in the figures, or some components are combined, or have different component arrangements.
  • FIG. 3 is an application scenario diagram of an image processing method in another embodiment.
  • the mobile terminal 10 can establish a communication connection with the first server 202 and the second server 204 through a network, where the first server 202 can be a single server or a plurality of first servers.
  • First server cluster or one of the first server clusters;
  • second service The server 204 may be a single server, or a second server cluster composed of a plurality of second servers, or one of the second server clusters.
  • the mobile terminal 10 acquires the first image information of the image to be clustered, and performs clustering on the clustered image according to the first image information to obtain a first clustering result.
  • the image may be uploaded to the first server 202 and an image recognition request is simultaneously transmitted to the first server 202.
  • the first server 202 receives the image recognition request transmitted by the mobile terminal 10, and can recognize the received image according to the image recognition request, and extract the feature of the received image.
  • the first server 202 can upload the features of the extracted image to the second server 204.
  • the image clustering request may be sent to the second server 204 according to the received completion instruction.
  • the second server 204 receives the image clustering request sent by the mobile terminal 10, and may cluster the features of the image uploaded to the first server 202 by using a preset model according to the image clustering request, determine the group of the image, and assign the corresponding image. Group labels to get the second clustering result.
  • the second server 204 may send the second clustering result to the mobile terminal 10, and the mobile terminal 10 may update at least one of the first clustering result and the second clustering result according to a preset rule.
  • FIG. 4 is a sequence diagram of interaction between a mobile terminal and a first server and a second server in an embodiment. As shown in FIG. 4, the interaction process between the mobile terminal 10 and the first server 202 and the second server 204 may mainly include the following steps:
  • the clustered images are clustered to obtain a first clustering result.
  • the mobile terminal 10 may preset a first preset condition for triggering local image clustering.
  • the image on the mobile terminal 10 may be locally clustered.
  • the image to be clustered may be determined by comparing the image information stored in the first database and the second database.
  • the first database includes a media database of the mobile terminal 10
  • the second database includes a face database storing face recognition results of the images.
  • the mobile terminal 10 may compare the image information stored in the first database with the image information stored in the second database, and may be based on the storage path of the image, the multimedia number, and the modification. Comparing fields such as time or message digest, and generating at least one of a new image list and an updated image list, and determining an image to be clustered according to the newly added image list and the updated image list, wherein the new image list record is added There is an image in which the face recognition is not performed in the mobile terminal 10, and the updated image list is recorded with an image in which the content is changed after the face recognition is performed.
  • the mobile terminal 10 may acquire first image information of the image to be clustered, and the first image information may include information such as an image identifier, a storage path, and the like, wherein the image identifier may be information such as a name or a number of the image.
  • the mobile terminal 10 may acquire an image to be clustered according to the first image information, and perform image recognition on the cluster image, and extract image features of the image to be clustered. After the mobile terminal 10 extracts the image features of the image to be clustered, the image features of the clustered image may be clustered by a preset clustering model, and the images to be clustered having similar image features are divided into the same group. A group of each image to be clustered is determined to obtain a first clustering result.
  • the image is uploaded to the first server 202 and an image recognition request is sent.
  • the mobile terminal 10 may preset a second preset condition for triggering server clustering, and when the mobile terminal 10 satisfies the second preset condition, one or more images may be uploaded to the first server 202.
  • the mobile terminal 10 may obtain an idle service list from the registration server every preset time period, and if the idle service list is not empty, read the address information of the idle first server 202 from the idle service list.
  • the mobile terminal 10 may upload an image to the corresponding first server 202 according to the address information of the idle first server 202 read from the idle service list, and simultaneously transmit an image identification request, wherein the image recognition request may carry the request for sending Information such as the identity, account, and the like of the mobile terminal 10.
  • the first server 202 identifies the image and extracts features of the image.
  • the first server 202 can identify the received image according to the image recognition request and extract the feature of the image.
  • the first server 202 may encrypt the received image by an encryption algorithm and cache the encrypted image into a file queue. After the first server 202 reads the cached captured image from the file queue, the first intercepted image can be decrypted, and the image is identified according to the preset feature recognition model, and each image is extracted. Image features of the image.
  • the first server 202 reports the characteristics of the image to the second server 204.
  • the first server 202 identifies the image uploaded by the mobile terminal 10 and extracts the image feature, and reports the image feature, the corresponding image information, the mobile terminal identifier, and the account to the second server 204.
  • the mobile terminal 10 transmits an image clustering request to the second server 204.
  • the mobile terminal 10 uploads one or more images to the first server 202, and when the first server 202 has completely received, the mobile terminal 10 can transmit a reception completion instruction.
  • the mobile terminal 10 may send an image clustering request to the second server 204 according to the received completion instruction, requesting clustering of the image uploaded to the first server 202.
  • the second server 204 may add an image clustering request to the request queue and allocate an image clustering request according to the request queue.
  • the second server 204 may merge the image clustering requests sent by the same mobile terminal in the request queue at different times, or may merge the image clustering requests belonging to the same account in the request queue.
  • the second server 204 clusters the features of the image by using a preset model to obtain a second clustering result.
  • the image features of the image corresponding to the image clustering request may be acquired according to the identifier of the mobile terminal 10, the account, and the like, and the preset clustering model is adopted.
  • the image features corresponding to the image clustering request are clustered.
  • the second server 204 may classify the images containing the similar features into one class, determine the group of each image and assign the corresponding group tags to obtain the second clustering result.
  • the second server 204 returns a second clustering result to the mobile terminal 10.
  • the mobile terminal 10 updates at least one of the first clustering result and the second clustering result according to a preset rule.
  • the mobile terminal 10 may receive the second clustering result returned by the second server 204, and the mobile terminal 10 may compare the first clustering result with the second clustering result, where the first clustering result may include a graph.
  • the second clustering result may include an image identifier, a second group label, and a second face information, and the like, such as an identifier, a first group label, and a first face information.
  • at least one of the first clustering result and the second clustering result may be updated according to a preset rule.
  • the mobile terminal 10 may determine that there is an inconsistent image identification and determine whether there is an inconsistent image identification involving a manual hand group.
  • the mobile terminal 10 may update the corresponding second clustering result according to the first clustering result of the inconsistent image identification, and may not manually involve the inconsistent image identification.
  • the mobile terminal 10 may update the corresponding first clustering result according to the second clustering result of the inconsistent image identification.
  • the mobile terminal 10 may determine the group type to which the first group label corresponding to the same image identifier belongs, when the group type is When manually grouping, the first group label corresponding to the image identifier may be retained. When the group type is not manual grouping, the first group label corresponding to the image identifier may be updated to the second group label.
  • the mobile terminal 10 may compare the first face information corresponding to the same image identifier with the second face information, and move when the first face information corresponding to the same image identifier is less than the second face information.
  • the terminal 10 may update the first face information corresponding to the image identifier to the second face information.
  • the mobile terminal 10 may determine the packet type corresponding to the extra first face information, and when the packet type is manual grouping, the mobile terminal 10 may retain The extra first face information, when the packet type is not manual grouping, the mobile terminal 10 can hide the extra first face information.
  • an image processing method is provided, which is described from a mobile terminal, and includes steps 510 to 540:
  • Step 510 Acquire first image information of the image to be clustered when the first preset condition is met.
  • the mobile terminal may preset a first preset condition for triggering local image clustering.
  • the image on the mobile terminal may be locally clustered.
  • the first preset condition may be set according to actual requirements. For example, when the feature recognition model in the mobile terminal is updated, local image clustering may be triggered; when the current time of the mobile terminal is from the last local image aggregation The time of the class has exceeded the preset time, such as 48 hours, 72 hours, etc., which can trigger local image clustering; when the server clusters the images uploaded by the mobile terminal, the mobile terminal detects that there are other nodes that are not clustered by the server.
  • the image can trigger local image clustering, clustering images that are not clustered by the server, etc., but is not limited thereto.
  • one or more images to be clustered may be selected, where the image to be clustered may be an image captured by the user on the mobile terminal, or may be an image obtained from another computer device. For example, it may be an image sent by another mobile terminal, or may be an image saved when the user browses the webpage through the mobile terminal.
  • the image to be clustered may be a photo, and the mobile terminal may cluster the photos to generate a corresponding album.
  • the mobile terminal may obtain first image information of the image to be clustered, and the first image information may include information such as an image identifier, a storage path, and the like, wherein the image identifier may be information such as a name or a number of the image.
  • different images to be clustered may be selected. For example, when the feature recognition model in the mobile terminal is updated, the mobile terminal may acquire all stored in the mobile. The image on the terminal is clustered in full amount. When the current time of the mobile terminal is longer than the preset time, the mobile terminal may acquire the image that is not clustered for incremental clustering.
  • Step 520 Perform clustering on the clustered image according to the first image information to obtain a first clustering result.
  • the mobile terminal may acquire an image to be clustered according to the first image information, and perform image recognition on the cluster image, and extract image features of the image to be clustered.
  • the mobile terminal may perform face recognition on the cluster image and extract image features of the image to be clustered
  • the image features may include shape features, spatial features, edge features, etc., wherein the shape features refer to The local shape in the cluster image, the spatial feature refers to the mutual spatial position or relative direction relationship between the plurality of regions segmented in the image to be clustered, and the edge feature refers to the two regions in the image to be clustered The boundary pixels between, but not limited to, color features, texture features, and the like.
  • mobile end The terminal may extract feature points included in each image to be clustered that can be used to describe the shape of the face and the shape, position, and the like of the facial features according to the preset feature recognition model.
  • each image to be clustered may be analyzed by a preset face recognition model to determine whether the corresponding image to be clustered includes a face.
  • the face recognition model may be a decision model constructed in advance through machine learning. When constructing the face recognition model, a large number of sample images may be acquired, and the sample image includes a face image and an unmanned image, which may be according to each Whether the sample image contains a human face marks the sample image, and the marked sample image is used as an input of the face recognition model, and is trained by machine learning to obtain a face recognition model.
  • the mobile terminal After the mobile terminal divides the image to be clustered into an unmanned image and a face image, the unmanned image can be divided into the corresponding unmanned image group, and the corresponding group identifier is added, and the mobile terminal can extract only the face image. Image features and clustering of face images.
  • the image features of the clustered image may be clustered by a preset clustering model, and the images to be clustered having similar image features are divided into the same group to determine
  • a first clustering result is obtained.
  • the first clustering result may include an image identifier of the image to be clustered and a corresponding first group label, where the group label is used to represent the group to which the image belongs, and the mobile terminal may be to be clustered according to the first clustering result. Images are added to the corresponding group and images belonging to the same group are displayed in the same album.
  • the current image group information may be extracted first, wherein the image group information may include group information of each group, such as group identifier, group name, and creation. Information such as time may also include image information contained under each group, such as identification information of an included image, a storage path, and the like.
  • the image grouping information may be expressed in the form of group_id:pic_id, where group_id represents the group identification and pic_id represents the multimedia number of the image.
  • the mobile terminal may extract image features of the grouped images in the respective groups according to the image grouping information, and acquire image features of the respective images included under each group.
  • the mobile terminal can separately calculate the similarity with the image features of the grouped images in each group by using the clustering model for the image features of each image to be clustered.
  • the similarity between the image feature of the image to be clustered and the image feature of the grouped image in the group is greater than the first threshold, it may be considered to belong to the same type of image, and the mobile terminal
  • the image to be clustered may be assigned to a group having a similarity greater than a first threshold. If there is no group with the similarity of the image features of the image to be clustered that is greater than the first threshold, it indicates that the image to be clustered does not belong to the existing group, and the preset clustering model does not belong to the existing group.
  • the clustered images to be clustered are clustered again, and the images to be clustered with similar image features are divided to generate new groups.
  • the mobile terminal clusters the images locally, and does not depend on the network, and can improve the efficiency of image clustering.
  • Step 530 When the second preset condition is met, send an image clustering request to the server, where the image clustering request is used to instruct the server to cluster the images that have been uploaded to the server, and obtain a second clustering result.
  • the mobile terminal may preset a second preset condition for triggering server clustering.
  • the image clustering request may be sent to the server, so that the server clusters the uploaded image.
  • the second preset condition may be set according to actual requirements. For example, when the current time in the mobile terminal is longer than the preset time from the time when the server is requested to perform image clustering, for example, 48 hours, 72.
  • An image clustering request may be sent to the server when the power state of the mobile terminal meets the preset state, and the image clustering request may be sent to the server, where the power state may include available remaining power, whether it is in a charging state, and power consumption.
  • the preset state may be that the available remaining power is greater than a preset percentage, or is in a charging state, or the available remaining power is greater than a preset percentage and the power consumption is less than a set value, etc., but is not limited thereto; when the mobile terminal When the current time is in the preset clustering time period, for example, from 2:00 to 4:00 in the morning, an image clustering request or the like may be sent to the server, but is not limited thereto.
  • one or more images may be selected for uploading to the server, and an image clustering request is sent to the server.
  • the server receives the image uploaded by the mobile terminal, can identify the uploaded image, and extract the image feature of the uploaded image.
  • the server may cluster the uploaded images of the mobile terminal according to the image clustering request, analyze the image features of the uploaded image by using a preset clustering model, and divide the images containing the similar features into one class, and determine A group of each uploaded image is added with a corresponding group label to obtain a second clustering result, wherein the group label can be used to indicate the group to which the image belongs.
  • Step 540 Receive a second clustering result returned by the server, and update at least one of the first clustering result and the second clustering result according to a preset rule.
  • the mobile terminal may receive the second clustering result returned by the server, and the second clustering result may include information such as an image identifier and a corresponding second group label.
  • the mobile terminal may compare the first clustering result with the second clustering result. When the first clustering result is different from the second clustering result, the first clustering result and the second clustering may be performed according to the preset rule. At least one of the results is updated.
  • the first clustering result is different from the second clustering result, that is, for the same image identifier, the first group label in the first clustering result is different from the second group label in the second clustering result, That is, the image is divided into different groups when the local clustering and the server clustering, or the face information locally recognized by the mobile terminal is different from the face information recognized by the server for the same image identifier. But it is not limited to this.
  • the preset rule may be set according to actual requirements.
  • the preset rule may be based on a second clustering result of the server.
  • the mobile terminal determines that there are different image identifiers, and updates the first clustering result of the different image identifiers to the corresponding second clustering result; the preset rule may also be based on the latest clustering time, and may determine the local The clustering time of clustering and server clustering is sequential.
  • the mobile terminal may retain the first clustering result with different image identifiers, and may The first clustering result with different image identifiers is sent to the server, and the server updates the second clustering result with different image identifiers to the first clustering result, when the clustering time of the local clustering is clustered than the server
  • the mobile terminal may update the first clustering result with different image identifiers to the corresponding second clustering result, etc., but is not limited thereto.
  • the mobile terminal may determine that there is an inconsistent image identifier, and determine whether there is an inconsistent image identifier involving a manual hand group.
  • the mobile terminal may refer to the local clustering, and update the corresponding second clustering result according to the first clustering result of the inconsistent image identifier; when there is an inconsistent image identifier, the manual grouping is not involved.
  • the mobile terminal may update the corresponding first clustering result according to the second clustering result of the inconsistent image identifier.
  • the mobile terminal enters at least one of the first clustering result and the second clustering result according to a preset rule. After the row is updated, the image can be added to the corresponding group according to the updated group label, and displayed in the corresponding album, which is convenient for the user to find.
  • the image when the mobile terminal satisfies the first preset condition, the image is clustered locally, and when the mobile terminal satisfies the second preset condition, the image is clustered at the server, and the local cluster is clustered.
  • a clustering result is merged with the second clustering result of the server clustering, and the double-end clustering between the local and the server can improve the accuracy of image clustering and improve the efficiency of image clustering.
  • the method before the step of acquiring the first image information of the image to be clustered, the method further includes steps 602 to 604:
  • Step 602 Compare the image information stored in the first database and the second database, and generate a new image list and an updated image list according to the comparison result.
  • the image to be clustered may be acquired for clustering, where the image to be clustered may be an image that is not grouped and stored on the mobile terminal, that is, the image may not be clustered. It may also be an image having a corresponding group but requiring re-clustering.
  • the mobile terminal can determine the image to be clustered by comparing the image information stored in the first database and the second database, and cluster the image to be clustered according to the face.
  • the first database refers to a media database, and the media database can be used to store information of multimedia files such as images, videos, audios, etc., and can be used by a video player, an audio player, and an album library.
  • the first database may include a storage path of the image, a message digest, a multimedia number, a modification time, and the like, for storing information of the image.
  • the first database may include an SD card (Secure Digital Memory Card) media database and a memory media database, wherein the SD card media database may be used to store multimedia information of the SD card, and the memory media database may be used for storing in the memory. Multimedia information.
  • SD card Secure Digital Memory Card
  • the second database refers to a face database, and a face recognition result, an image feature, a group information, and the like of each image may be stored in the face database.
  • the face database may include multiple types of fields, such as a picture attribute, a face attribute, and a group attribute.
  • the picture attribute may include an image storage path, a message digest, a multimedia number, a modification time, and the like
  • the face attribute may include
  • the group attribute may include a group identifier, a group name, a creation time, and the like, but is not limited thereto.
  • the mobile terminal When the mobile terminal captures a new image, For example, it can be collected by a camera or received from other computer equipment, etc., and needs to be stored in the first database first.
  • image features are extracted, and the image is clustered according to the image features, the image can be The information, and corresponding image features, group information, and the like are stored in the face database.
  • clustering may be performed according to other features, such as scenes, places, or times, etc.
  • the second database may be stored with feature information for clustering.
  • the database of information such as clustering results is not limited to the face database described above.
  • the mobile terminal can compare the image information stored in the first database with the image information stored in the second database, and can compare the image according to the storage path of the image, the multimedia number, the modification time, or the message summary, and generate a new image.
  • At least one of a list and an updated image list At least one of a list and an updated image list.
  • the newly added image list records an image in the mobile terminal that is not subjected to face recognition, and the mobile terminal may add an image existing in the first database but not in the second database to the newly added image list.
  • the updated image list is recorded with an image in which the content is changed after the face recognition is performed, and the mobile terminal can add an image existing in the first database and the second database, but the image content is changed to the updated image list or the like.
  • only the newly added image list may be generated according to the comparison result; when only the face recognition exists in the mobile terminal An image whose content has changed, without an image that is not subjected to face recognition, may generate only an updated image list according to the comparison result; when there is an image in which the face recognition is not performed in the mobile terminal, and the content is generated after face recognition
  • the changed image can be used to generate a new image list and an updated image list based on the comparison result.
  • Step 604 determining an image to be clustered according to the newly added image list and the updated image list.
  • the mobile terminal can directly use the generated new image list and the image included in the updated image list as the image to be clustered, and extract the image features of the image to be clustered for clustering.
  • the image included in the newly added image list may be directly used as the image to be clustered;
  • the image included in the updated image list may be directly used as the cluster to be clustered.
  • Image when the mobile terminal generates a new image list and an updated image list, the new image can be directly added
  • the list and the updated image list contain images as images to be clustered.
  • the mobile terminal when the mobile terminal generates an updated image list, the mobile terminal may determine whether there is an image in the updated image list that has a corresponding group but needs to be re-clustered, and each image in the updated image list may be re-identified. And extracting image features of each image in the updated image list, and then acquiring stored image features corresponding to each image in the updated image list from the second database. The mobile terminal may compare the extracted image feature with the corresponding image feature stored in the second database, and may determine if the extracted image feature and the corresponding image feature stored in the second database are greater than or equal to a preset value.
  • the image whose similarity is greater than the preset value may not be clustered again; if the similarity between the extracted image feature and the corresponding image feature stored in the second database is less than a preset value, it may be determined that the similarity is less than a preset value.
  • the image needs to be re-clustered.
  • the mobile terminal may use the newly added image list and the image in the updated image list that needs to be re-clustered as the image to be clustered.
  • the mobile terminal determines the image to be clustered by comparing the newly added image list and the updated image list generated by the image information stored in the first database and the second database, and needs to be clustered locally.
  • Image clustering can improve the efficiency of image clustering.
  • step 602 compares the image information stored in the first database and the second database, and generates a new image list and an updated image list according to the comparison result, including steps 702 to 712:
  • Step 702 Determine, according to the path of the image in the first database, whether the corresponding image is found in the second database. If yes, execute step 706. If no, execute step 704.
  • the mobile terminal may search in the second database according to the path of the image in the first database, and determine whether the face recognition result corresponding to the image is stored in the second database.
  • the values of the storage path fields of each image stored in the first database may be read one by one, and the second database is searched for whether there is an image in which the value of the storage path field is consistent with the read value, and if so, the second database is stored.
  • the image whose value of the path field is consistent with the read value is the corresponding image in the second database.
  • the mobile terminal may also search for a corresponding image in the second database according to the multimedia number of each image in the first database, and if the multimedia number is consistent with the image in the first database, the second database can be found.
  • the image with the same multimedia number is the corresponding image in the second database.
  • Step 704 adding an image that is not found to the newly added image list.
  • the image information of the image exists only in the first database and not in the second database, indicating that the image is not performed.
  • an image in the first database that does not find a corresponding image in the second database may be added to the newly added image list.
  • the newly added image list may record identification information of an image existing only in the first database and not in the second database, wherein the identification information may be a multimedia number, a storage path, or the like.
  • Step 706 Determine whether the image in the first database is consistent with the modification time of the corresponding image in the second database. If yes, execute step 712. If not, execute step 708.
  • the mobile terminal may extract the value of the modified time field of the image in the first database and the value of the modified time field of the corresponding image in the second database to determine whether the two are consistent. If the modification time is consistent, the image is not modified after the face recognition is performed and stored in the second database. If the modification time of the image in the first database is inconsistent with the modification time of the corresponding image in the second database, the image is modified after being subjected to face recognition and stored in the second database.
  • step 708 it is determined whether the image in the first database is consistent with the message digest of the corresponding image in the second database. If yes, step 712 is performed, and if no, step 710 is performed.
  • the mobile terminal may extract the value of the message summary field stored in the first database of the image, and the corresponding value in the second database.
  • the message digest may also be referred to as a digital digest.
  • Each message digest is a fixed-length value that uniquely corresponds to a message or text, etc., by determining whether the image in the first database is consistent with the message digest of the corresponding image in the second database. It can be determined whether the content of the image has changed. If the message digest is inconsistent, the image is changed after the face is recognized and stored in the second database, and the image stored in the first database corresponds to the second database. The image is not an image of the same content.
  • the message digest of the image may be the MD5 of the image (Message Digest Algorithm MD5, message digest algorithm fifth edition), other hash algorithms, etc., is not limited to this.
  • MD5 Message Digest Algorithm MD5, message digest algorithm fifth edition
  • the message digest of the image is calculated according to an algorithm such as MD5, and the message digest is stored in association with the multimedia number of the image, the storage path, and the like. In the database.
  • Step 710 adding an image with inconsistent message digest to the updated image list.
  • the mobile terminal may add, in the first database, an image different from the message digest of the corresponding image in the second database to the updated image list, and the updated image list may record an image in which the content has changed after the face recognition is performed. Further, identification information of an image in which the content has changed after face recognition is recorded.
  • Step 712 no processing.
  • the mobile terminal determines the image to be clustered by comparing the newly added image list and the updated image list generated by the image information stored in the first database and the second database, and needs to be clustered locally.
  • Image clustering can improve the efficiency of image clustering and reduce the image processing pressure of mobile terminals.
  • the method before the step of sending an image clustering request to the server, the method further includes steps 802 to 806:
  • Step 802 Obtain an idle service list from the registration server every preset time period.
  • the image may be uploaded to the first server, and the image is characterized and extracted by the first server. Further, the mobile terminal may compare the image stored in the first database and the second database. The information is generated according to the comparison result to generate a new image list and an updated image list, and the image to be clustered is determined according to the newly added image list and the updated image list, and the image to be clustered is uploaded to the first server.
  • the first server may be a distributed first server cluster composed of multiple hosts, and the first server cluster includes multiple first servers, each of which may provide feature identification to the mobile terminal. Extract the service.
  • ZooKeeper Establishing a registration server of the first server cluster, wherein ZooKeeper is an open source distributed application coordination service, and the registration server can be used to perform service monitoring on each first server included in the first server cluster, and monitor the first server cluster.
  • the registration server can be used to perform service monitoring on each first server included in the first server cluster, and monitor the first server cluster.
  • the unloading instruction may be sent to the registration server, and the registration server may delete the address information corresponding to the first server according to the uninstall command, and the first server no longer provides the service to the mobile terminal.
  • the registration command may be sent to the registration server, and the registration server stores the address information of the corresponding first server according to the registration instruction, and the first server may re-service the mobile terminal.
  • each of the first servers in the first server cluster may be configured with a processing amount upper limit value, and the processing amount upper limit value may be used to define an image that the corresponding first server can perform feature recognition and extraction processing at most. Quantity. When the number of unprocessed images stored in the first server reaches the corresponding upper limit of the processing amount, the busy state is entered, and the downloading and unloading command may be sent to the registration server, and the image sent by the mobile terminal is no longer received.
  • Each first server can be configured with an idle value at the same time. When the number of unprocessed images stored in the first server is less than or equal to the idle value, the available idle state is entered, and a registration command can be sent to the registration server to re-register. The server registers to receive images sent by the mobile terminal.
  • the registration server can provide a unified detection interface to the mobile terminal, and the mobile terminal can invoke the detection interface every preset time period to obtain an idle service list from the registration server, and the idle service list can record the first server in the available idle state. Address information, etc. It can be understood that the preset time period can be set according to actual needs, for example, 5 minutes, 10 minutes, and the like.
  • the passive notification may also be adopted, the mobile terminal first sends a service request to the registration server, and when the registration server monitors the first server that is idle, the address information of the idle first server is obtained. Notify the mobile terminal.
  • Step 804 If the idle service list is not empty, obtain the idle first server from the idle service list.
  • the mobile terminal obtains the idle service list from the registration server, and can first determine whether the idle service list is It is empty, if it is, it means that there is no first server available, and the image is not uploaded temporarily. If the idle service list is not empty, the mobile terminal may read the address information of the first server in the available idle state from the idle service list, and the address information may include an IP (Internet Protocol) address of the first server, MAC (Media Access Control) address, etc.
  • IP Internet Protocol
  • MAC Media Access Control
  • the mobile terminal may randomly select one of the first servers as the upload, or directly read the top ranked in the idle service list. Address information of the first server, and the like.
  • the mobile terminal may also store a server white list, where the address information of the legitimate server is recorded in the white list, and the address information of the first server in the idle service list may be filtered according to the white list, and the white list is not included. One server is excluded.
  • the whitelist is stored on the mobile terminal, which prevents the illegal user from tampering with the idle service list of the registration server, causing problems such as user information leakage.
  • Step 806 uploading an image to the idle first server, and transmitting an image recognition request, the image recognition request instructing the idle first server to identify the received image, and extracting features of the received image.
  • the mobile terminal may upload an image to the corresponding first server according to the address information of the first server read from the idle service list, and simultaneously send an image identification request, where the image recognition request may carry the identifier of the mobile terminal that sends the request. , account and other information.
  • the first server may identify the image according to the image recognition request, and extract the image feature of the image.
  • the first server may encrypt the received image by using an encryption algorithm such as 3DES (Triple Data Encryption Algorithm) or RC5.
  • the first server can cache the encrypted image into a file queue, and the file queue can be used to control the speed at which the first server recognizes the image, preventing the first server from being overloaded, for example, controlling the first server to recognize 100 images per second.
  • the first server can only read the cached 100 images from the file queue for recognition processing per second. After the first server reads the cached image from the file queue, the read image can be decrypted, and the image is identified according to the preset feature recognition model, and each image is extracted. Image features like images.
  • the first server may perform face recognition on the image according to the preset feature recognition model, and extract feature points included in the image that can be used to describe the shape of the face and the shape, position, and the like of the facial features.
  • the first server may store the extracted features in association with the image information of the corresponding image, the mobile terminal identifier, the account, and the like in the database, and simultaneously extract the extracted features and the image information of the corresponding image, the mobile terminal identifier, and the account information.
  • the report is reported to the second server, and the second server performs image clustering.
  • FIG. 9 is a block diagram of the first server in one embodiment.
  • a plurality of first servers 202 may be included in the first server cluster, and each of the first servers 202 may provide feature identification and extraction services to the mobile terminal 10.
  • the registration server 902 monitors the plurality of first servers 202 in the first server cluster. When the first server 202 is in a busy state that is unavailable, the unloading instruction may be sent to the registration server 902, and the registration server 902 may delete the address information corresponding to the first server 202 according to the download instruction, and the first server 202 is no longer used.
  • the mobile terminal 10 is provided with a service.
  • the registration command may be sent to the registration server 902, and the registration server 902 stores the address information of the corresponding first server 202 or the like according to the registration instruction, and the first server 202 may re-direct the mobile terminal to the mobile terminal.
  • 10 provide services.
  • the mobile terminal 10 can acquire the idle service list from the registration server 902 every preset time period, and read the address information and the like of the first server 202 in the available idle state from the idle service list.
  • the mobile terminal 10 can upload an image to the corresponding first server 202 based on the address information of the first server 202 read from the idle service list, and simultaneously transmit an image recognition request.
  • the first server 202 identifies an image based on the image recognition request and extracts features of the image.
  • the mobile terminal may obtain an idle service list from the registration server every preset time period, obtain an idle first server upload image from the idle service list, and send an image recognition request to implement a balanced load of the server, which can be mitigated.
  • the processing pressure of the server may be obtained from the registration server every preset time period, obtain an idle first server upload image from the idle service list, and send an image recognition request to implement a balanced load of the server, which can be mitigated.
  • the step of sending an image clustering request to the second server includes: sending an image clustering request to the second server according to the received instruction when the received first instruction returned by the first server, the image is gathered
  • the class request is used to instruct the second server to cluster the features of the image uploaded to the first server by using a preset model, determine the group of the image, and assign the corresponding group. label.
  • the mobile terminal uploads one or more images to the first server, and when the first server receives all of the images, the mobile terminal may send a receiving completion instruction.
  • the image clustering request may be sent to the second server according to the received completion instruction, and the second server is requested to cluster the image uploaded to the first server.
  • the second server may be a distributed second server cluster composed of multiple hosts, and the second server cluster may include multiple second servers, each of which may provide an image to the mobile terminal. Clustering service.
  • the second server cluster may add an image clustering request to the request queue, and allocate an image clustering request to each second server in the second server cluster according to the request queue.
  • Image clustering is performed by a second server assigned to the image clustering request.
  • Each image clustering request included in the request queue may carry information such as the identity, account information, and sending time of the corresponding mobile terminal that is transmitted.
  • the image clustering request may be assigned to the second server of the second server cluster in the order of the sending moments of the image clustering requests in the request queue.
  • the second server cluster may detect whether the request queue includes an image clustering request that is sent by the same mobile terminal at different times according to the allocated image clustering request, and when included, may allocate and allocate The image clustering request belongs to image clustering requests sent by the same mobile terminal at different times for merging, and the combined image clustering request is allocated to the second server.
  • the second server cluster may also detect whether the request queue includes an image clustering request sent by the different mobile terminal belonging to the same account as the allocated image clustering request, and when included, may belong to the same account as the allocated image clustering request.
  • the clustering requests sent by different mobile terminals are merged, and the merged clustering requests are allocated to the second server.
  • the first server identifies the image uploaded by the mobile terminal, and extracts the feature of the image, and reports the feature of the image, the corresponding image information, the mobile terminal identifier, and the account to the second server.
  • the image features of the image corresponding to the image clustering request may be acquired according to the mobile terminal identifier, the account, and the like of the image clustering request, and the image is matched by the preset clustering model.
  • the image features of the image corresponding to the clustering request are clustered.
  • Clustering model can be used on images The features are analyzed, and images with similar image features are divided into the same group, and corresponding group labels are assigned.
  • the second server may return the second clustering result including the image identifier and the corresponding group label to the mobile terminal according to the identifier of the mobile terminal carried in the image clustering request.
  • the second server receives the merged image clustering request, directly acquiring image features of the image corresponding to each image clustering request included in the merged image clustering request, and performing Clustering can improve the clustering efficiency of images.
  • the mobile terminal may send an image clustering request to the second server, where the image clustering request instructs the second server to cluster the image features of the uploaded image, and intelligently clusters the stored images to improve the image. Clustering efficiency.
  • the step of transmitting an image clustering request to the second server comprises steps 1002 to 1008.
  • Step 1002 Acquire current image grouping information, and features of the grouped images in each group corresponding to the image grouping information.
  • the mobile terminal may acquire current image grouping information, where the image grouping information may include group information of each group, such as group identification, group name, creation time, and the like, and may also include image information included in each group. For example, identification information of an included image, a storage path, and the like.
  • the current image grouping information may include manually grouped grouping information and automatically clustered grouping information, wherein the manually grouped grouping information refers to grouping information manually grouped by a user, including user-created groupings.
  • the grouping information of the automatically clustered group, the group to which the manually adjusted photo belongs, and the like, the grouping information of the automatic clustering refers to a group generated by clustering according to the image features of the respective images, such as a server or a mobile terminal.
  • the mobile terminal may acquire current image grouping information from the second database, and extract image features of the grouped images in the respective groups from the second database according to the image grouping information, and determine corresponding groups. Image features.
  • Step 1004 Acquire second image information of an image that has been uploaded to the first server.
  • the mobile terminal may acquire second image information of an image that has been uploaded to the first server, where the second image information may include information such as an image identifier, a storage path, and the like, wherein the image identifier may be an image. Name, or number, etc.
  • step 1006 the image grouping information, the features of the grouped images in each group, and the second image information are packaged into an uplink data packet.
  • the mobile terminal may package the image grouping information, the image feature of the grouped image in each group, and the second image information into an uplink data packet according to a preset format, and upload the uplink data packet to the second server for image clustering.
  • the mobile terminal may perform packet packing according to the group, and package the image features of the images belonging to the same group into the same uplink data packet, and carry group information such as group identifier and group name of the corresponding group. .
  • Step 1008 Send an uplink data packet to the second server, and send an image clustering request to the second server, where the image clustering request is used to instruct the second server to calculate a feature of the image uploaded to the first server by using a preset model.
  • the similarity of the image features of the grouped images in each group, the group of images is determined and the corresponding group tags are assigned.
  • the mobile terminal may upload the uplink data packet to the second server and send an image clustering request to the second server.
  • the second server may parse the uplink data packet to obtain image grouping information, image features of the grouped image in each group, and second image information of the uploaded image.
  • the second server may acquire image features corresponding to the second image information uploaded by the first server, and calculate image features of each image and image features of the grouped images in each group by using a preset clustering model. Similarity.
  • the image feature of the image and the image feature of the grouped image in the group are greater than the second threshold, the image may be considered to belong to the same type of image, and the second server may assign the image to the group with the similarity greater than the second threshold.
  • the medium Medium and assign a group label that matches the group. If there is no group with the similarity of the image features of the image that is greater than the second threshold, it indicates that the image to be clustered does not belong to the existing group, and the preset clustering model may not belong to the existing group.
  • the images are re-clustered, the images with similar image features are segmented to generate new groups, and the corresponding group labels are assigned to images belonging to the same new group.
  • the second server may formulate a clustering strategy according to actual requirements, and determine whether to cluster only the images uploaded to the first server or all the images uploaded by the mobile terminal history. For example, when the server performs a clustering model update, it can be formulated for the mobile end. A clustering strategy in which all images uploaded by the history are clustered. When clustering all the images uploaded by the history, the group with the manual grouping attribute may be reserved for the group that does not involve the manual operation of the user. Image, re-clustering.
  • the second server may group the uploaded images according to the existing grouping information and the image features of the grouped images in each group, so that the clustering result is more accurate.
  • the step of updating at least one of the first clustering result and the second clustering result according to the preset rule includes steps 1102 to 1106.
  • Step 1102 When the first group label and the second group label corresponding to the same image identifier are inconsistent, determine a group type to which the first group label corresponding to the same image identifier belongs.
  • the first clustering result may include an image identifier, and a first group label allocated after locally clustering the image
  • the second clustering result may include an image identifier, and a second group allocated by the server after clustering the image label.
  • the mobile terminal may compare the first clustering result with the second clustering result, and determine, for the same image identifier, whether the corresponding first group label and the second group label are consistent.
  • the group type of the first group label corresponding to the same image identifier may be determined, where the group type may include manual grouping, automatic clustering, and the like.
  • the manually operated image may have a corresponding manual flag.
  • the mobile terminal may detect whether the image identifier has a manual flag, and when the manual flag is provided, the first group corresponding to the image identifier may be determined.
  • the grouping type of the label is manually grouped.
  • Step 1104 When the packet type is manual grouping, the first group label corresponding to the same image identifier is retained.
  • the mobile terminal may take the first cluster result as a standard, and retain The image identifies the corresponding first group of labels.
  • the mobile terminal retains the image grouping manually operated by the user, so that the grouping of the images is more suitable for the user's needs.
  • Step 1106 When the grouping type is not manual grouping, update the first group label corresponding to the same image identifier to the second group label.
  • the mobile terminal may take the second clustering result as a standard, and the mobile terminal may The first group label corresponding to the image identifier is updated to the second group label.
  • the mobile terminal may change the first group label corresponding to the image identifier to a second group label, add an image corresponding to the image identifier to the group corresponding to the second group label, and make the image available Displayed in an album corresponding to the second group label.
  • the accuracy of image clustering can be improved, and the efficiency of image clustering can be improved.
  • the step of updating at least one of the first clustering result and the second clustering result according to the preset rule includes steps 1202 to 1206:
  • Step 1202 Compare the first face information corresponding to the same image identifier with the second face information.
  • the first clustering result may include an image identifier and a locally identified first face information
  • the second clustering result may include an image identifier and a second face information that is recognized by the server, where the first face information and the first
  • the two face information may include image features for recognizing the shape of the face, the shape of the facial features, and the like, and the different faces may correspond to different face information, and one face may correspond to a face information.
  • step 1204 when the first face information corresponding to the same image identifier is less than the second face information, the first face information corresponding to the same image identifier is updated to the second face information.
  • the mobile terminal may compare the first clustering result with the second clustering result, and determine whether the number of the corresponding first face information and the second face information is consistent for the same image identifier.
  • the first face information corresponding to the same image identifier is less than the second face information, it indicates that the face recognized by the mobile terminal is smaller than the face recognized by the server, and the mobile terminal may take the second cluster result as the standard.
  • the first face information corresponding to the image identifier is updated to the second face information.
  • Step 1206 when the first face information corresponding to the same image identifier is more than the second face information, Determining the type of the packet corresponding to the extra first face information.
  • the group type is manual grouping, the first face information is saved.
  • the group type is not manually grouped, the first face information is added. hide.
  • the mobile terminal When the first face information corresponding to the same image identifier is more than the second face information, the mobile terminal recognizes that the face is more than the face recognized by the server, and the mobile terminal can determine the corresponding first face information corresponding to the Group type. In an embodiment, when the first face information corresponding to the same image identifier is more than the second face information, the mobile terminal may detect whether the extra first face information has a manual flag, and if there is a manual flag, It can be determined that the grouping type of the extra first face information is a manual grouping, and the mobile terminal can retain the extra first face information. When the extra first face information has no manual flag, the mobile terminal may determine that the packet type of the extra first face information is not a manual grouping, and may hide the extra first face information, not moving. Displayed in the album of the terminal.
  • the mobile terminal recognizes the image A, obtains the face information a and the face information b
  • the server recognizes the image A, obtains the face information a, compares the first clustering result of the image A with the second clustering result, and can determine The first face information in the first clustering result is more than the second face information in the second clustering result.
  • the mobile terminal can determine the packet type corresponding to the extra face information b.
  • the mobile terminal can hide the face information b of the image A, and the image A will not Appears in the group corresponding to the face information b.
  • the group type corresponding to the face information b is manually grouped, the mobile terminal can retain the face information b of the image A, and the image A will continue to appear in the face information b. In the group.
  • the mobile terminal may send the extra first face information and the corresponding image identifier to the server for storage.
  • the server may update the second face information corresponding to the image identifier to the first face information.
  • the accuracy of image clustering can be improved, and the efficiency of image clustering can be improved.
  • an image processing method comprising the steps of:
  • Step (1) when the first preset condition is met, searching in the second database according to the path of the image in the first database, when no corresponding image is found in the second database, there is no The found image is added to the newly added image list; when the modification time is inconsistent, it is determined whether the image in the first database is consistent with the message digest of the corresponding image in the second database, and when the message digest is inconsistent, the inconsistent image is added to Update the image list.
  • Step (2) determining an image to be clustered according to the newly added image list and the updated image list, and acquiring first image information of the image to be clustered.
  • Step (3) clustering the image to be clustered according to the first image information, to obtain a first clustering result.
  • Step (4) When the second preset condition is met, the idle service list is obtained from the registration server every preset time period, and if the idle service list is not empty, the idle first server is obtained from the idle service list, The idle first server uploads an image and transmits an image recognition request, the image recognition request instructs the idle first server to recognize the received image, and extracts features of the received image.
  • Step (5) when receiving the received completion instruction returned by the first server, acquiring current image grouping information, and features of the grouped images in each group corresponding to the image grouping information, and grouping the image grouping information,
  • the feature of the grouped image and the second image information in each group are packaged into an uplink data packet, the uplink data packet is sent to the second server, and an image clustering request is sent to the second server, and the image clustering request is used to indicate the second
  • the server calculates, by using a preset model, the similarity between the feature of the image uploaded to the first server and the image feature of the grouped image in each group, determines the group of the image, and assigns the corresponding group tag to obtain the second clustering result. .
  • Step (6) Receive a second clustering result returned by the second server, and compare the first clustering result with the second clustering result, where the first clustering result includes the image identifier, the first face information, and the allocated The first group of labels, the second clustering result includes an image identifier, a second face information, and an assigned second group label.
  • Step (7) when the first group label and the second group label corresponding to the same image identifier are inconsistent, determine a group type to which the first group label corresponding to the same image identifier belongs, and when the group type is manual grouping, retain The first group label corresponding to the same image identifier is updated, and when the group type is not manual grouping, the first group label corresponding to the same image identifier is updated to the second group label.
  • Step (8) comparing the first face information corresponding to the same image identifier with the second face information, and when the first face information corresponding to the same image identifier is less than the second face information, the same image identifier is corresponding.
  • the first face information is updated to the second face information.
  • the group type corresponding to the extra first face information is determined, when the group type is When manually grouping, the extra first face information is reserved, and when the grouping type is not manual grouping, the extra first face information is hidden.
  • step (9) when the grouping type of the extra first face information is manual grouping, the extra first face information and the corresponding image identifier are sent to the second server for storage.
  • the image when the mobile terminal satisfies the first preset condition, the image is clustered locally, and when the mobile terminal satisfies the second preset condition, the image is clustered at the server, and the local cluster is clustered.
  • a clustering result is merged with the second clustering result of the server clustering, and the double-end clustering between the local and the server can improve the accuracy of image clustering and improve the efficiency of image clustering.
  • an image clustering request is provided, which is described from a server, and includes steps 1302 to 1306.
  • Step 1302 Receive an image clustering request sent by the mobile terminal, where the image clustering request is sent when the mobile terminal meets the second preset condition.
  • the image clustering request may be sent to the server, where the second preset condition may be set according to actual requirements, for example, when the current time distance in the mobile terminal
  • the time when the server was requested to perform image clustering for more than the preset time, such as 48 hours, 72 hours, etc., may send an image clustering request to the server; when the power state of the mobile terminal satisfies the preset state, the image may be sent to the server.
  • the clustering request wherein the power state may include available remaining power, whether it is in a charging state, a power consumption speed, etc.
  • the preset state may be that the available remaining power is greater than a preset percentage, or is in a charging state, or the available remaining power is greater than a pre-charge Set the percentage and the power consumption speed is less than the set value, but is not limited thereto; when the current moment of the mobile terminal is in the preset clustering time period, for example, from 2:00 to 4:00 in the morning, the image may be sent to the server.
  • Clustering requests, etc. but are not limited to this.
  • Step 1304 Cluster the uploaded images according to the image clustering request to obtain a second clustering result.
  • one or more images may be selected for uploading to the server, and an image clustering request is sent to the server.
  • the server receives the image uploaded by the mobile terminal, can identify the uploaded image, and extract the image feature of the uploaded image.
  • the server may cluster the uploaded images of the mobile terminal according to the image clustering request, analyze the image features of the uploaded image by using a preset clustering model, and divide the images containing the similar features into one class, and determine A group of each uploaded image, and a corresponding group label is added to obtain a second clustering result.
  • Step 1306 Send a second clustering result to the mobile terminal, where the second clustering result is used to instruct the mobile terminal to update at least one of the first clustering result and the second clustering result according to the preset rule.
  • the class result is obtained by clustering the image to be clustered when the mobile terminal satisfies the first state.
  • the server may send the second clustering result to the mobile terminal, and the mobile terminal may compare the second clustering result with the first clustering result obtained by clustering the clustering image when the first state is satisfied, when the first clustering
  • at least one of the first clustering result and the second clustering result may be updated according to a preset rule, wherein the preset rule may be set according to actual requirements.
  • the preset rule may be based on the second clustering result of the server.
  • the first clustering result is updated to the corresponding second clustering result; the preset rule may also be based on the latest clustering time, and the clustering time sequence of the local clustering and the server clustering may be determined, when the local clustering is performed
  • the mobile terminal may retain the first clustering result with different image identifiers, and may send the first clustering result with different image identifiers to the server, the server. Updating the second clustering result with different image identifiers to the first clustering result.
  • the mobile terminal may have different image identifiers.
  • a clustering result is updated to a corresponding second clustering result or the like, but is not limited thereto.
  • the image when the mobile terminal meets the first preset condition, the image is aggregated locally.
  • Class when the mobile terminal satisfies the second preset condition, performing image clustering on the server, and combining the first clustering result of the local cluster with the second clustering result of the server cluster, by performing local and server Double-ended clustering can improve the accuracy of image clustering and improve the efficiency of image clustering.
  • steps 1402 to 1410 are further included.
  • Step 1402 Add an image clustering request to the request queue, and the request queue is arranged from the first to the last according to the sending time of the image clustering request.
  • the mobile terminal may send an image clustering request to the server, requesting the server to cluster the uploaded images.
  • the server may be a distributed server cluster composed of a plurality of hosts, and the server cluster may include a plurality of servers, each of which may provide an image clustering service to the mobile terminal.
  • the server cluster may add an image clustering request to the request queue, and allocate an image clustering request to each server in the server cluster according to the request queue, and allocate the image clustering request.
  • the server performs image clustering.
  • Each image clustering request included in the request queue may carry information such as the identity, account information, and sending time of the corresponding mobile terminal that is transmitted.
  • Step 1404 Acquire a top-ranked image clustering request from the request queue.
  • the image clustering request may be allocated to the server of the server cluster according to the order of sending the image clustering requests in the request queue, and the server cluster may allocate the top image clustering request in the request queue to the server for clustering processing. That is, the image clustering request with the earliest transmission time in the request queue can be allocated to the server for clustering processing.
  • Step 1406 Detect whether there is an image clustering request including the same mobile terminal identifier as the top image clustering request in the request queue. If yes, go to step 1408. If no, go to step 1410.
  • the server cluster When the server cluster performs the image clustering request allocation, it can detect whether the image clustering request in the request queue belongs to the image clustering request sent by the same mobile terminal at different times, and when included, the The image clustering request belongs to image clustering requests sent by the same mobile terminal at different times for merging, and the combined image clustering request is allocated to the server.
  • Step 1408 combining the image clustering request including the same mobile terminal identifier as the top image clustering request and the top-ranking image clustering request.
  • the top-ranked image clustering request in the request queue is sent by mobile terminal A at 6:00 on August 2, 2017.
  • the server cluster detects that the request queue also contains mobile terminal A on August 2, 2017.
  • the merged image clustering request is allocated to the server, and the server performs unified processing.
  • step 1410 clustering is performed according to the top image clustering request.
  • the top-ranking image clustering request may be directly allocated to the server.
  • the server may combine image clustering requests that are sent by the same mobile terminal at different times to improve the clustering efficiency of the image.
  • steps 1502 to 1510 are further included.
  • Step 1502 Add an image clustering request to the request queue, and the request queue is arranged from the first to the last according to the sending time of the image clustering request.
  • Step 1504 Acquire a top-ranked image clustering request from the request queue.
  • Step 1506 detecting whether there is an image clustering request including the same account information as the top image clustering request in the request queue. If yes, step 1508 is performed, and if no, step 1510 is performed.
  • the server cluster When the server cluster performs image clustering request allocation, it may detect whether the request queue includes an image clustering request sent by the same account as the top-ranked image clustering request, and if so, may cluster the image with the top ranked image. Image clustering requests belonging to the same account are merged, and the merged image clustering request is assigned to the server.
  • Step 1508 the image clustering request including the same account information as the top-ranked image clustering request and the top-ranking image clustering request are combined.
  • the top-ranked image clustering request in the request queue is sent by the account X through the mobile terminal A at 6:00 on August 2, 2017, and the server cluster can detect that the request queue further includes the account X through the mobile terminal B.
  • the image clustering request sent at 7:00 on August 2, 2017, the above two image clustering requests belonging to the account X may be merged, and the merged image clustering request is allocated to the server, by the server Perform unified processing.
  • Step 1510 Cluster the images according to the top image clustering request.
  • the server may combine the image clustering requests sent by the same account to improve the clustering efficiency of the image.
  • the step of clustering the uploaded images according to the image clustering request includes steps 1602 to 1606:
  • Step 1602 Acquire image information included in the merged image clustering request.
  • the server may obtain each image clustering request included in the merged image clustering request, and acquire image information included in each image clustering request, where the image information may include an image identifier or the like.
  • Step 1604 acquiring image features of the uploaded image corresponding to the merged image clustering request according to the image information.
  • Step 1606 Perform image clustering on the uploaded image by a preset model, determine a group of the uploaded image, and assign a corresponding group label.
  • the server material may obtain the image features of the uploaded image corresponding to the merged image clustering request according to the acquired image information of the merged image clustering request, and may perform the acquired image features by using a preset clustering model. Analyze and divide the images containing similar features into one category, determine the group of each uploaded image, and add the corresponding group label.
  • the server can perform unified processing on the combined image clustering request, which can improve the clustering efficiency of the image.
  • an image processing apparatus 1700 including an information acquisition module 1710, a first clustering module 1720, a first sending module 1730, and an updating module 1740.
  • the information acquiring module 1710 is configured to acquire an image to be clustered when the first preset condition is met An image message.
  • the first clustering module 1720 is configured to perform clustering on the clustered images according to the first image information to obtain a first clustering result.
  • the first sending module 1730 is configured to send an image clustering request to the server when the second preset condition is met, where the image clustering request is used to instruct the server to cluster the images that have been uploaded to the server, and obtain a second Clustering results.
  • the updating module 1740 is configured to receive a second clustering result returned by the server, and update at least one of the first clustering result and the second clustering result according to a preset rule.
  • the updating module 1740 is further configured to: when the first clustering result is inconsistent with the second clustering result, determine that there is an inconsistent image identifier; when the inconsistent image identifier relates to the manual grouping, according to the inconsistent image identifier The first clustering result updates the corresponding second clustering result; when the inconsistent image identifier does not involve manual grouping, the corresponding first clustering result is updated according to the second clustering result of the inconsistent image identifier.
  • the image when the mobile terminal satisfies the first preset condition, the image is clustered locally, and when the mobile terminal satisfies the second preset condition, the image is clustered at the server, and the local cluster is clustered.
  • a clustering result is merged with the second clustering result of the server clustering, and the double-end clustering between the local and the server can improve the accuracy of image clustering and improve the efficiency of image clustering.
  • the image processing apparatus 1700 includes an information acquisition module 1710, a first clustering module 1720, a first sending module 1730, and an updating module 1740, and a comparison module and a determining module.
  • the comparison module is configured to compare the image information stored in the first database and the second database, and generate a new image list and an updated image list according to the comparison result, wherein the first database includes a media database of the mobile terminal, and the second database A face database including face recognition results of images is stored.
  • a determining module is configured to determine an image to be clustered according to the newly added image list and the updated image list.
  • the mobile terminal determines the image to be clustered by comparing the newly added image list and the updated image list generated by the image information stored in the first database and the second database, and needs to be clustered locally.
  • Image clustering can improve the efficiency of image clustering.
  • the comparison module includes a lookup unit, a first addition unit, a determination unit, and a second addition unit.
  • a searching unit for searching in the second database according to the path of the image in the first database.
  • the first adding unit is configured to add the unsearched image to the newly added image list when the corresponding image is not found in the second database.
  • the determining unit is configured to determine, when the corresponding image is found in the second database, whether the image in the first database is consistent with the modification time of the corresponding image in the second database.
  • the determining unit is further configured to: determine, when the modification time is inconsistent, whether the image in the first database is consistent with the message digest of the corresponding image in the second database.
  • a second adding unit configured to add an inconsistent image to the updated image list when the message digests are inconsistent.
  • the mobile terminal determines the image to be clustered by comparing the newly added image list and the updated image list generated by the image information stored in the first database and the second database, and needs to be clustered locally.
  • Image clustering can improve the efficiency of image clustering and reduce the image processing pressure of mobile terminals.
  • the image processing apparatus 1700 includes an information acquisition module 1710, a first clustering module 1720, a first sending module 1730, an updating module 1740, a comparison module, and a determining module, and a service list obtaining module.
  • Server acquisition module includes an information acquisition module 1710, a first clustering module 1720, a first sending module 1730, an updating module 1740, a comparison module, and a determining module, and a service list obtaining module.
  • a service list obtaining module configured to obtain an idle service list from the registration server every preset time period
  • the server obtaining module is configured to obtain the idle first server from the idle service list if the idle service list is not empty.
  • the first sending module 1730 is further configured to upload an image to the idle first server, and send an image recognition request, where the image recognition request indicates that the idle first server identifies the received image, and extracts features of the received image.
  • the mobile terminal may obtain an idle service list from the registration server every preset time period, acquire an idle first server upload image from the idle service list, and send an image identification request. Seeking to achieve a balanced load on the server can reduce the processing pressure of the server.
  • the first sending module 1730 is further configured to: when receiving the received complete instruction returned by the first server, send an image clustering request to the second server according to the received complete instruction, where the image clustering request is used to indicate The second server clusters the features of the image uploaded to the first server by using a preset model, determines the group of the images, and assigns a corresponding group label, and the image is reported by the first server to the second server.
  • the mobile terminal may send an image clustering request to the second server, where the image clustering request instructs the second server to cluster the image features of the uploaded image, and intelligently clusters the stored images to improve the image. Clustering efficiency.
  • the first sending module 1730 includes a grouping information acquiring unit, an image information acquiring unit, a packing unit, and a sending unit.
  • a grouping information acquiring unit configured to acquire current image grouping information, and features of the grouped images in each group corresponding to the image grouping information.
  • An image information acquiring unit configured to acquire second image information of an image that has been uploaded to the first server
  • a packing unit configured to package the image grouping information, the feature of the grouped image in each group, and the second image information into an uplink data packet.
  • a sending unit configured to send an uplink data packet to the second server, and send an image clustering request to the second server, where the image clustering request is used to instruct the second server to calculate an image uploaded to the first server by using a preset model.
  • the similarity between the feature and the image features of the grouped images in each group, the group of images is determined and the corresponding group tag is assigned.
  • the second server may group the uploaded images according to the existing grouping information and the image features of the grouped images in each group, so that the clustering result is more accurate.
  • the first clustering result includes an image identifier and an assigned first group label
  • the second clustering result includes an image identifier and the assigned second group label
  • the update module 1740 includes a packet type determining unit, a retaining unit, and an updating unit.
  • a grouping type determining unit configured to use the first group label and the second group corresponding to the same image identifier When the labels are inconsistent, the packet type to which the first group label corresponding to the same image identifier belongs is determined.
  • a reserved unit configured to reserve a first group label corresponding to the same image identifier when the group type is manual grouping.
  • an update unit configured to update the first group label corresponding to the same image identifier to the second group label when the group type is not manual grouping.
  • the accuracy of image clustering can be improved, and the efficiency of image clustering can be improved.
  • the first clustering result includes an image identifier and first face information
  • the second clustering result includes an image identifier and second face information
  • the update module 1740 includes a comparison unit and a hidden unit in addition to the packet type determination unit, the retention unit, and the update unit.
  • the comparing unit is configured to compare the first face information corresponding to the same image identifier with the second face information.
  • the updating unit further updates the first face information corresponding to the same image identifier to the second face information when the first face information corresponding to the same image identifier is less than the second face information.
  • the packet type determining unit is further configured to determine, when the first face information corresponding to the same image identifier is greater than the second face information, the packet type corresponding to the extra first face information.
  • the reserved unit is further configured to reserve the extra first face information when the packet type is manual grouping.
  • the hidden unit is also used to hide the extra first face information when the grouping type is not manual grouping.
  • the first sending module 1730 is further configured to send the extra first face information and the corresponding image identifier to the server when the grouping type of the extra first face information is manual grouping. storage.
  • the accuracy of image clustering can be improved, and the efficiency of image clustering can be improved.
  • an image processing apparatus 1800 including The module 1810, the second clustering module 1820, and the second sending module 1830 are received.
  • the receiving module 1810 is configured to receive an image clustering request sent by the mobile terminal, where the image clustering request is sent when the mobile terminal meets the second preset condition.
  • the second clustering module 1820 is configured to cluster the uploaded images according to the image clustering request to obtain a second clustering result.
  • the second sending module 1830 is configured to send a second clustering result to the mobile terminal, where the second clustering result is used to instruct the mobile terminal to perform at least one of the first clustering result and the second clustering result according to the preset rule.
  • the first clustering result is obtained by clustering the image to be clustered when the mobile terminal satisfies the first state.
  • the image when the mobile terminal satisfies the first preset condition, the image is clustered locally, and when the mobile terminal satisfies the second preset condition, the image is clustered at the server, and the local cluster is clustered.
  • a clustering result is merged with the second clustering result of the server clustering, and the double-end clustering between the local and the server can improve the accuracy of image clustering and improve the efficiency of image clustering.
  • the image processing apparatus 1800 includes a queue adding module, a detecting module, and a merging module, in addition to the receiving module 1810, the second clustering module 1820, and the second sending module 1830.
  • a queue adding module is configured to add an image clustering request to the request queue, and the request queue is arranged from the first to the last according to the sending time of the image clustering request.
  • the detecting module is configured to: when the first image clustering request of the arrangement is obtained from the request queue, detect whether an image clustering request including the same mobile terminal identifier as the top image clustering request is present in the request queue.
  • the merging module is configured to, when present, merge the image clustering request including the same mobile terminal identifier as the top image clustering request and the top image clustering request.
  • the server may combine image clustering requests that are sent by the same mobile terminal at different times to improve the clustering efficiency of the image.
  • the detecting module is further configured to: when detecting the top image clustering request from the request queue, detecting whether the request queue exists to include the image clustering request with the top array Image clustering request with account information.
  • the merging module is configured to, when present, merge the image clustering request and the top-ranking image clustering request including the same account information as the top-ranked image clustering request.
  • the server may combine the image clustering requests sent by the same account to improve the clustering efficiency of the image.
  • the embodiment of the present application further provides a mobile terminal.
  • a mobile terminal As shown in FIG. 19, for the convenience of description, only the parts related to the embodiments of the present application are shown. For details that are not disclosed, refer to the method part of the embodiment of the present application.
  • the mobile terminal can be any mobile device, a tablet computer, a PDA (Personal Digital Assistant), a POS (Point of Sales), an on-board computer, a wearable device, or the like, and the mobile terminal is used as a mobile phone as an example. :
  • FIG. 19 is a block diagram showing a part of a structure of a mobile phone related to a mobile terminal provided by an embodiment of the present application.
  • the mobile phone includes: a radio frequency (RF) circuit 1910, a memory 1920, an input unit 1930, a display unit 1940, a sensor 1950, an audio circuit 1960, a WiFi module 1970, a processor 1980, and a power supply 1990.
  • RF radio frequency
  • FIG. 19 does not constitute a limitation to the handset, and may include more or less components than those illustrated, or some components may be combined, or different components may be arranged.
  • the RF circuit 1910 can be used for receiving and transmitting information during the transmission and reception of information or during a call.
  • the downlink information of the base station can be received and processed by the processor 1980.
  • the uplink data can also be sent to the base station.
  • RF circuits include, but are not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a Low Noise Amplifier (LNA), a duplexer, and the like.
  • RF circuitry 1910 can also communicate with the network and other devices via wireless communication.
  • the above wireless communication may use any communication standard or protocol, including but not limited to GSM, General Packet Radio Service (GPRS), CDMA, Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (Long Term Evolution, LTE)), e-mail, Short Messaging Service (SMS), etc.
  • GSM Global System for Mobile Communications
  • GPRS General Packet Radio Service
  • CDMA Code Division Multiple Access
  • WCDMA Wideband Code Division Multiple Access
  • LTE Long Term Evolution
  • SMS Short Messaging Service
  • the memory 1920 can be used to store software programs and modules, and the processor 1980 executes various functional applications and data processing of the mobile phone by running software programs and modules stored in the memory 1920.
  • the memory 1920 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function (such as an application of a sound playing function, an application of an image playing function, etc.);
  • the data storage area can store data (such as audio data, address book, etc.) created according to the use of the mobile phone.
  • memory 1920 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
  • Input unit 1930 can be used to receive input numeric or character information, as well as generate key signal inputs related to user settings and function controls of handset 1900.
  • the input unit 1930 may include a touch panel 1932 and other input devices 1934.
  • the touch panel 1932 which may also be referred to as a touch screen, can collect touch operations on or near the user (such as the user using a finger, a stylus, or the like on the touch panel 1932 or near the touch panel 1932. Operation) and drive the corresponding connection device according to a preset program.
  • the touch panel 1932 can include two portions of a touch detection device and a touch controller.
  • the touch detection device detects the touch orientation of the user, and detects a signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts the touch information into contact coordinates, and sends the touch information.
  • the processor 1980 is provided and can receive commands from the processor 1980 and execute them.
  • the touch panel 1932 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
  • the input unit 1930 may also include other input devices 1934.
  • other input devices 1934 may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.).
  • Display unit 1940 can be used to display information entered by the user or information provided to the user as well as various menus of the handset.
  • Display unit 1940 can include display panel 1942.
  • the display panel 1942 may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
  • the touch panel 1932 can cover the display panel 1942 when the touch panel 1932 Upon detecting a touch operation on or near it, it is passed to processor 1980 to determine the type of touch event, and processor 1980 then provides a corresponding visual output on display panel 1942 based on the type of touch event.
  • the touch panel 1932 and the display panel 1942 are used as two separate components to implement the input and input functions of the mobile phone, in some embodiments, the touch panel 1932 can be integrated with the display panel 1942. Realize the input and output functions of the phone.
  • the handset 1900 can also include at least one type of sensor 1950, such as a light sensor, motion sensor, and other sensors.
  • the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel 1942 according to the brightness of the ambient light, and the proximity sensor may close the display panel 1942 and/or when the mobile phone moves to the ear. Or backlight.
  • the motion sensor may include an acceleration sensor, and the acceleration sensor can detect the magnitude of the acceleration in each direction, and the magnitude and direction of the gravity can be detected at rest, and can be used to identify the gesture of the mobile phone (such as horizontal and vertical screen switching), and vibration recognition related functions (such as Pedometer, tapping, etc.; in addition, the phone can also be equipped with gyroscopes, barometers, hygrometers, thermometers, infrared sensors and other sensors.
  • the acceleration sensor can detect the magnitude of the acceleration in each direction, and the magnitude and direction of the gravity can be detected at rest, and can be used to identify the gesture of the mobile phone (such as horizontal and vertical screen switching), and vibration recognition related functions (such as Pedometer, tapping, etc.; in addition, the phone can also be equipped with gyroscopes, barometers, hygrometers, thermometers, infrared sensors and other sensors.
  • Audio circuitry 1960, speaker 1962, and microphone 1964 can provide an audio interface between the user and the handset.
  • the audio circuit 1960 can transmit the converted electrical data of the received audio data to the speaker 1962, and convert it into a sound signal output by the speaker 1962; on the other hand, the microphone 1964 converts the collected sound signal into an electrical signal by the audio circuit 1960. After receiving, it is converted into audio data, and after being processed by the audio data output processor 1980, it can be sent to another mobile phone via the RF circuit 1910, or the audio data can be output to the memory 1920 for subsequent processing.
  • WiFi is a short-range wireless transmission technology.
  • the mobile phone through the WiFi module 1970 can help users to send and receive e-mail, browse the web and access streaming media, etc. It provides users with wireless broadband Internet access.
  • the processor 1980 is the control center of the handset, which connects various portions of the entire handset using various interfaces and lines, by executing or executing software programs and/or modules stored in the memory 1920, and invoking data stored in the memory 1920, executing The phone's various functions and processing data, so that the overall monitoring of the phone.
  • processor 1980 may include one or Multiple processing units.
  • the processor 1980 can integrate an application processor and a modem processor, wherein the application processor primarily processes an operating system, a user interface, an application, etc.; the modem processor primarily processes wireless communications. It will be appreciated that the above described modem processor may also not be integrated into the processor 1980.
  • the mobile phone 1900 also includes a power supply 1990 (such as a battery) for powering various components.
  • a power supply 1990 (such as a battery) for powering various components.
  • the power supply 1990 can be logically coupled to the processor 1980 through a power management system to manage functions such as charging, discharging, and power management through the power management system. .
  • the handset 1900 can also include a camera, a Bluetooth module, and the like.
  • the processor 1980 included in the mobile terminal implements the above-described image processing method applicable to the mobile terminal when executing computer executable instructions stored in the memory.
  • a server including a memory and a processor, wherein the computer stores executable instructions, and when the computer executable instructions are executed by the processor, the processor executes the image processing method suitable for the server .
  • one or more non-volatile readable storage media storing computer-executable instructions are provided, when executed by one or more processors, causing one or more processors to execute The above image processing method suitable for a mobile terminal is implemented.
  • one or more non-volatile readable storage media storing computer-executable instructions are provided, when executed by one or more processors, causing one or more processors to execute The above image processing method suitable for the server is implemented.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (ROM), or the like.
  • Non-volatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory.
  • Volatile memory can include random access memory (RAM), which acts as an external cache.
  • RAM is available in a variety of forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronization.
  • SRAM static RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDR SDRAM dual data rate SDRAM
  • ESDRAM enhanced SDRAM
  • synchronization Link (Synchlink) DRAM (SLDRAM), Memory Bus (Rambus) Direct RAM (RDRAM), Direct Memory Bus Dynamic RAM (DRDRAM), and Memory Bus Dynamic RAM (RDRAM).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种图像处理方法,包括:当满足第一预设条件时,获取待聚类图像的第一图像信息;根据第一图像信息对待聚类图像进行聚类,得到第一聚类结果;当满足第二预设条件时,向服务器发送图像聚类请求,图像聚类请求用于指示服务器对已上传至服务器的图像进行聚类,并得到第二聚类结果;及接收由服务器返回的第二聚类结果,并根据预设规则对第一聚类结果和第二聚类结果中的至少一种进行更新。

Description

图像处理方法、装置、计算机设备及非易失性可读存储介质 技术领域
本申请涉及计算机领域,特别是涉及一种图像处理方法、装置、计算机设备及非易失性可读存储介质。
背景技术
随着互联网技术的飞速发展,用户可在移动终端上存储大量的图片,为了方便用户查找存储的图片,可对图片进行分类。传统的方式中,通常需要用户手动为移动终端上存储的图片添加标签,移动终端再根据标签将图片分别放在不同的相册中进行展示,操作繁琐。
发明内容
根据本申请的各种实施例,提供一种图像处理方法、装置、计算机设备及非易失性可读存储介质。
一种图像处理方法,包括:
当满足第一预设条件时,获取待聚类图像的第一图像信息;
根据所述第一图像信息对所述待聚类图像进行聚类,得到第一聚类结果;
当满足第二预设条件时,向服务器发送图像聚类请求,所述图像聚类请求用于指示所述服务器对已上传至所述服务器的图像进行聚类,并得到第二聚类结果;及
接收由所述服务器返回的第二聚类结果,并根据预设规则对所述第一聚类结果和所述第二聚类结果中的至少一种进行更新。
一种图像处理装置,包括:
信息获取模块,用于当满足第一预设条件时,获取待聚类图像的第一图 像信息;
第一聚类模块,用于根据所述第一图像信息对所述待聚类图像进行聚类,得到第一聚类结果;
第一发送模块,用于当满足第二预设条件时,向服务器发送图像聚类请求,所述图像聚类请求用于指示所述服务器对已上传至所述服务器的图像进行聚类,并得到第二聚类结果;及
更新模块,用于接收由所述服务器返回的第二聚类结果,并根据预设规则对所述第一聚类结果和所述第二聚类结果中的至少一种进行更新。
一种计算机设备,包括存储器及处理器,所述存储器中储存有计算机可执行指令,所述计算机可执行指令被所述处理器执行时,使得所述处理器执行时实现如上所述的方法。
一个或多个存储有计算机可执行指令的非易失性可读存储介质,所述计算机可执行指令被一个或多个处理器执行时,使得所述一个或多个处理器执行时实现如上所述的方法。
一种图像处理方法,包括:
接收移动终端发送的图像聚类请求,所述图像聚类请求为所述移动终端满足第二预设条件时发送;
根据所述图像聚类请求对已上传的图像进行聚类,得到第二聚类结果;及
向所述移动终端发送所述第二聚类结果,所述第二聚类结果用于由所述移动终端根据预设规则对第一聚类结果及第二聚类结果中的至少一种进行更新,所述第一聚类结果为所述移动终端满足第一状态时对待聚类图像进行聚类得到。
一种图像处理装置,包括:
接收模块,用于接收移动终端发送的图像聚类请求,所述图像聚类请求为所述移动终端满足第二预设条件时发送;
第二聚类模块,用于根据所述图像聚类请求对已上传的图像进行聚类,得到第二聚类结果;及
第二发送模块,用于向所述移动终端发送所述第二聚类结果,所述第二聚类结果用于由所述移动终端根据预设规则对第一聚类结果及第二聚类结果中的至少一种进行更新,所述第一聚类结果为所述移动终端满足第一状态时对待聚类图像进行聚类得到。
一种计算机设备,包括存储器及处理器,所述存储器中储存有计算机可执行指令,所述计算机可执行指令被所述处理器执行时,使得所述处理器执行时实现如上所述的方法。
一个或多个存储有计算机可执行指令的非易失性可读存储介质,所述计算机可执行指令被一个或多个处理器执行时,使得所述一个或多个处理器执行时实现如上所述的方法。
本申请的一个或多个实施例的细节在下面的附图和描述中提出。本申请的其它特征、目的和优点将从说明书、附图以及权利要求书变得明显。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中图像处理方法的应用场景图;
图2为一个实施例中服务器的框图;
图3为另一个实施例中图像处理方法的应用场景图;
图4为一个实施例中移动终端与第一服务器、第二服务器进行交互的时序图;
图5为一个实施例中图像处理方法的流程图;
图6为一个实施例中确定待聚类图像的流程图;
图7为一个实施例中生成新增图像列表及更新图像列表的流程图;
图8为一个实施例中向第一服务器上传图像的流程图;
图9为一个实施例中第一服务器的架构图;
图10为一个实施例中向第二服务器发送图像聚类请求的流程图;
图11为一个实施例中按照预设规则对第一聚类结果和第二聚类结果中的至少一种进行更新的流程图;
图12为另一个实施例中按照预设规则对第一聚类结果和第二聚类结果中的至少一种进行更新的流程图;
图13为另一个实施例中图像处理方法的流程图;
图14为一个实施例中合并图像聚类请求的流程图;
图15为另一个实施例中合并图像聚类请求的流程图;
图16为一个实施例中根据合并后的图像聚类请求进行聚类的流程图;
图17为一个实施例中图像处理装置的框图;
图18为另一个实施例中图像处理装置的框图;
图19为一个实施例中移动终端的框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。
图1为一个实施例中图像处理方法的应用场景图。如图1所示,移动终端10与服务器20可通过网络建立通信连接,其中,服务器20可以是单独的 一个服务器,也可以是由多个服务器组成的服务器集群,或是服务器集群中的某一台服务器。当移动终端10满足第一预设条件时,可获取待聚类图像的第一图像信息,根据第一图像信息对待聚类图像进行聚类,得到第一聚类结果。当移动终端10满足第二预设条件时,可向服务器20发送图像聚类请求。服务器20接收移动终端10发送的图像聚类请求,可根据图像聚类请求对移动终端10上传至服务器20的图像进行聚类,得到第二聚类结果。服务器20可将第二聚类结果发送给移动终端10,移动终端10接收由服务器20返回的第二聚类结果,可根据预设规则对第一聚类结果和第二聚类结果中的至少一种进行更新。
图2为一个实施例中服务器20的框图。如图2所示,该服务器20包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该服务器20的非易失性存储介质存储有操作系统、数据库和计算机可执行指令,数据库中存储有移动终端上传的图像、提取的图像特征等,该计算机可执行指令用于实现本申请实施例中提供的一种图像处理方法。该服务器20的处理器用于提供计算和控制能力,支撑整个服务器20的运行。该服务器20的内存储器为非易失性存储介质中的操作系统和计算机可执行指令提供高速缓存的运行环境。该服务器20的网络接口用于据以与外部的移动终端通过网络连接通信,比如接收移动终端上传的图像、接收移动终端发送的图像聚类请求等。服务器20可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图2中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器20的限定,具体地服务器20可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
图3为另一个实施例中图像处理方法的应用场景图。如图3所示,移动终端10可通过网络分别与第一服务器202及第二服务器204建立通信连接,其中,第一服务器202可以是单独的一个服务器,也可以是由多个第一服务器组成的第一服务器集群,或是第一服务器集群中的某一台服务器;第二服 务器204可以是单独的一个服务器,也可以是由多个第二服务器组成的第二服务器集群,或是第二服务器集群中的某一台服务器。移动终端10当满足第一预设条件时,获取待聚类图像的第一图像信息,并根据第一图像信息对待聚类图像进行聚类,得到第一聚类结果。当移动终端满足第二预设条件时,可将图像上传至第一服务器202,并同时向第一服务器202发送图像识别请求。第一服务器202接收移动终端10发送的图像识别请求,可根据图像识别请求对接收的图像进行识别,并提取接收的图像的特征。第一服务器202可将提取的图像的特征上传给第二服务器204。当移动终端10接收到第一服务器202返回的接收完毕指令时,可根据接收完毕指令向第二服务器204发送图像聚类请求。第二服务器204接收移动终端10发送的图像聚类请求,可根据图像聚类请求利用预设的模型对上传至第一服务器202的图像的特征进行聚类,确定图像的组别并分配对应的组别标签,得到第二聚类结果。第二服务器204可将第二聚类结果发送给移动终端10,移动终端10可根据预设规则对第一聚类结果和第二聚类结果中的至少一种进行更新。
图4为一个实施例中移动终端与第一服务器、第二服务器进行交互的时序图。如图4所示,移动终端10与第一服务器202、第二服务器204的交互过程,主要可包括以下步骤:
1、当移动终端10满足第一预设条件时,对待聚类图像进行聚类,得到第一聚类结果。
移动终端10可预先设定触发进行本地图像聚类的第一预设条件,当移动终端10满足第一预设条件时,则可对移动终端10上的图像进行本地聚类。在一个实施例中,当移动终端10满足第一预设条件时,可通过比对第一数据库及第二数据库存储的图像信息,确定待聚类图像。第一数据库包括移动终端10的媒体数据库,第二数据库包括存储有图像的人脸识别结果的人脸数据库。
在一个实施例中,移动终端10可将第一数据库存储的图像信息与第二数据库存储的图像信息进行比对,可根据图像的存储路径、多媒体编号、修改 时间或是消息摘要等字段进行比对,并生成新增图像列表和更新图像列表中的至少一种,并根据新增图像列表和更新图像列表确定待聚类图像,其中,新增图像列表记录有移动终端10中未进行人脸识别的图像,更新图像列表记录有在进行人脸识别后内容发生改变的图像。
移动终端10可获取待聚类图像的第一图像信息,第一图像信息可包括图像标识、存储路径等信息,其中,图像标识可以是图像的名称、或是编号等信息。移动终端10可根据第一图像信息获取待聚类图像,并对待聚类图像进行图像识别,提取待聚类图像的图像特征。移动终端10提取待聚类图像的图像特征后,可通过预设的聚类模型对待聚类图像的图像特征进行聚类,将具有相似图像特征的待聚类图像划分到同一个组别中,确定每个待聚类图像的组别,得到第一聚类结果。
2、当移动终端10满足第二预设条件时,将图像上传至第一服务器202,并发送图像识别请求。
移动终端10可预先设定触发进行服务器聚类的第二预设条件,当移动终端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发送图像聚类请求,请求对上传至第一服务器202的图像进行聚类。移动终端10向第二服务器204发送图像聚类请求后,第二服务器204可将图像聚类请求添加到请求队列中,并根据请求队列分配图像聚类请求。
在一个实施例中,第二服务器204可将请求队列中属于同一移动终端在不同时刻发送的图像聚类请求进行合并,也可将请求队列中属于同一账户的图像聚类请求进行合并。
6、第二服务器204利用预设的模型对图像的特征进行聚类,得到第二聚类结果。
当第二服务器204接收到图像聚类请求后,可根据图像聚类请求的移动终端10的标识、账户等信息获取与图像聚类请求对应的图像的图像特征,并通过预设的聚类模型对与图像聚类请求对应的图像特征进行聚类。第二服务器204可将包含有相似特征的图像分为一类,确定每个图像的组别并分配对应的组别标签,得到第二聚类结果。
7、第二服务器204向移动终端10返回第二聚类结果。
8、移动终端10根据预设规则对第一聚类结果和第二聚类结果中的至少一种进行更新。
移动终端10可接收第二服务器204返回的第二聚类结果,移动终端10可将第一聚类结果与第二聚类结果进行比对,其中,第一聚类结果可包括图 像标识、第一组别标签及第一人脸信息等,第二聚类结果可包括图像标识、第二组别标签及第二人脸信息等。当第一聚类结果与第二聚类结果不同时,可根据预设规则对第一聚类结果和第二聚类结果中的至少一种进行更新。
在一个实施例中,当第一聚类结果与第二聚类结果不一致时,移动终端10可确定存在不一致的图像标识,并判断存在不一致的图像标识是否涉及手动手组。当存在不一致的图像标识涉及手动分组时,移动终端10可以本地聚类为准,根据不一致的图像标识的第一聚类结果更新对应的第二聚类结果;当存在不一致的图像标识不涉及手动分组时,移动终端10可以服务器聚类为准,根据不一致的图像标识的第二聚类结果更新对应的第一聚类结果。
在一个实施例中,当同一图像标识对应的第一组别标签及第二组别标签不一致时,移动终端10可确定同一图像标识对应的第一组别标签所属的分组类型,当分组类型为手动分组时,可保留该图像标识对应的第一组别标签,当分组类型不是手动分组时,可将该图像标识对应的第一组别标签更新为第二组别标签。
在一个实施例中,移动终端10可将同一图像标识对应的第一人脸信息与第二人脸信息进行比较,当同一图像标识对应的第一人脸信息比第二人脸信息少时,移动终端10可将该图像标识对应的第一人脸信息更新为第二人脸信息。当同一图像标识对应的第一人脸信息比第二人脸信息多时,移动终端10可确定多出的第一人脸信息对应的分组类型,当分组类型为手动分组时,移动终端10可保留多出的第一人脸信息,当分组类型不是手动分组时,移动终端10可将多出的第一人脸信息进行隐藏。
如图5所示,在一个实施例中,提供一种图像处理方法,从移动终端进行描述,包括步骤510~步骤540:
步骤510,当满足第一预设条件时,获取待聚类图像的第一图像信息。
移动终端可预先设定触发进行本地图像聚类的第一预设条件,当移动终端满足第一预设条件时,则可对移动终端上的图像进行本地聚类。在一个实 施例中,第一预设条件可根据实际需求进行设定,例如,当移动终端中的特征识别模型发生更新时,可触发本地图像聚类;当移动终端的当前时刻距离上一次本地图像聚类的时刻已超过预设时间,比如48小时、72小时等,可触发本地图像聚类;当服务器对移动终端上传的图像进行聚类后,移动终端检测到还有其他未被服务器进行聚类的图像,可触发本地图像聚类,对未被服务器进行聚类的图像进行聚类等,但不限于此。
当移动终端满足第一预设条件时,可选取一张或多张待聚类图像,其中,待聚类图像可以是用户在移动终端上拍摄的图像,也可以是从其他计算机设备上获取的图像,例如,可以是其他移动终端发送的图像,也可以是用户通过移动终端浏览网页时保存的图像等。在本实施例中,待聚类图像可以是照片,移动终端可对照片进行聚类,从而生成相应的相册。移动终端可获取待聚类图像的第一图像信息,第一图像信息可包括图像标识、存储路径等信息,其中,图像标识可以是图像的名称、或是编号等信息。
在一个实施例中,当移动终端满足不同的第一预设条件时,可选取不同的待聚类图像,例如,当移动终端中的特征识别模型发生更新时,移动终端可获取所有存储在移动终端上的图像进行全量聚类,当移动终端的当前时刻距离上一次本地图像聚类的时刻已超过预设时间,移动终端可获取未进行聚类的图像进行增量聚类等。
步骤520,根据第一图像信息对待聚类图像进行聚类,得到第一聚类结果。
移动终端可根据第一图像信息获取待聚类图像,并对待聚类图像进行图像识别,提取待聚类图像的图像特征。在一个实施例中,移动终端可对待聚类图像进行人脸识别,并提取待聚类图像的图像特征,图像特征可包括形状特征、空间特征及边缘特征等,其中,形状特征指的是待聚类图像中局部的形状,空间特征指的是待聚类图像中分割出来的多个区域之间的相互的空间位置或相对方向关系,边缘特征指的是待聚类图像中组成两个区域之间的边界像素,但不限于此,还可包含颜色特征、纹理特征等。进一步地,移动终 端可根据预设的特征识别模型提取各个待聚类图像中包含的可用于描述人脸形状及五官形状、位置等信息的特征点。
在一个实施例中,移动终端获取待聚类图像后,可先通过预设的人脸识别模型对每个待聚类图像进行分析,判断对应的待聚类图像中是否包含人脸。在一个实施例中,人脸识别模型可以是预先通过机器学习构建的决策模型,构建人脸识别模型时,可获取大量的样本图像,样本图像中包含有人脸图像及无人图像,可根据每个样本图像是否包含人脸对样本图像进行标记,并将标记的样本图像作为人脸识别模型的输入,通过机器学习进行训练,得到人脸识别模型。移动终端将待聚类图像分为无人图像及人脸图像后,可将无人图像分到对应的无人图像组别中,并添加对应的组别标识,移动终端可仅提取人脸图像的图像特征,并对人脸图像进行聚类。
移动终端提取待聚类图像的图像特征后,可通过预设的聚类模型对待聚类图像的图像特征进行聚类,将具有相似图像特征的待聚类图像划分到同一个组别中,确定每个待聚类图像的组别,得到第一聚类结果。第一聚类结果可包括待聚类图像的图像标识及对应的第一组别标签,其中,组别标签用于表示图像所属的组别,移动终端可根据第一聚类结果将待聚类图像添加到对应的组别中,并将属于同一组别的图像在同一相册中进行展示。
在一个实施例中,移动终端对待聚类图像进行聚类之前,可先提取当前的图像分组信息,其中,图像分组信息可包括每个组的组别信息,例如组别标识、组名称、创建时间等信息,还可包括每个组下包含的图像信息,例如包含的图像的标识信息、存储路径等。在一个实施例中,图像分组信息可用group_id:pic_id的形式表示,其中,group_id表示组别标识,pic_id表示图像的多媒体编号。移动终端可根据图像分组信息提取各个组别中已分组图像的图像特征,获取每个组别下包含的各个图像的图像特征。移动终端可通过聚类模型,针对每个待聚类图像的图像特征,可分别计算与各个组别中已分组图像的图像特征的相似度。当待聚类图像的图像特征与组别中已分组图像的图像特征的相似度大于第一阈值时,则可认为属于同一类图像,移动终端 可将该待聚类图像分配至相似度大于第一阈值的组别中。若不存在与待聚类图像的图像特征的相似度大于第一阈值的组别,则说明该待聚类图像不属于已有的组别,可通过预设的聚类模型对不属于已有组别的待聚类图像重新进行聚类,将具有相似图像特征的待聚类图像划分生成新的组别。
移动终端在本地对图像进行聚类,不依赖于网络,可有提图像聚类的效率。
步骤530,当满足第二预设条件时,向服务器发送图像聚类请求,图像聚类请求用于指示服务器对已上传至服务器的图像进行聚类,并得到第二聚类结果。
移动终端可预先设定触发进行服务器聚类的第二预设条件,当移动终端满足第二预设条件时,则可向服务器发送图像聚类请求,从而使服务器对已上传的图像进行聚类。在一个实施例中,第二预设条件可根据实际需求进行设定,例如,当移动终端中的当前时刻距离上一次请求服务器进行图像聚类的时刻已超过预设时间,比如48小时、72小时等,可向服务器发送图像聚类请求;当移动终端的电源状态满足预设状态时,可向服务器发送图像聚类请求,其中,电源状态可包括可用剩余电量、是否处于充电状态、用电速度等,预设状态可以是可用剩余电量大于预设百分比,或是处于充电状态,或是可用剩余电量大于预设百分比且用电速度小于设定值等,但不限于此;当移动终端的当前时刻处于预设的聚类时间段时,比如凌晨的2点至4点等时间段,可向服务器发送图像聚类请求等,但不限于此。
在一个实施例中,当移动终端满足第二预设条件时,可选取一张或多张图像上传至服务器,并向服务器发送图像聚类请求。服务器接收移动终端上传的图像,可对上传的图像进行识别,并提取上传的图像的图像特征。服务器可根据图像聚类请求对移动终端已上传的图像进行聚类,可通过预设的聚类模型对已上传图像的图像特征进行分析,并将包含有相似特征的图像划分为一类,确定每个已上传图像的组别,并添加对应的组别标签,得到第二聚类结果,其中,组别标签可用于表示图像所属的组别。
步骤540,接收由服务器返回的第二聚类结果,并根据预设规则对第一聚类结果和第二聚类结果中的至少一种进行更新。
移动终端可接收服务器返回的第二聚类结果,第二聚类结果可包括图像标识及对应的第二组别标签等信息。移动终端可将第一聚类结果与第二聚类结果进行比对,当第一聚类结果与第二聚类结果不同时,可根据预设规则对第一聚类结果和第二聚类结果中的至少一种进行更新。其中,第一聚类结果与第二聚类结果不同,指的是对于同一图像标识,第一聚类结果中的第一组别标签与第二聚类结果中的第二组别标签不同,也即,图像在本地聚类与服务器聚类时被分到不同的组别中,也可以是对于同一图像标识,移动终端本地识别出的人脸信息与服务器识别出的人脸信息不同等,但不限于此。
在一个实施例中,预设规则可根据实际需求进行设定,例如,预设规则可以是以服务器的第二聚类结果为准,当第一聚类结果与第二聚类结果不同时,移动终端确定存在不同的图像标识,并将存在不同的图像标识的第一聚类结果更新为对应的第二聚类结果;预设规则也可以是以聚类时刻最近的为准,可确定本地聚类与服务器聚类的聚类时刻先后,当本地聚类的聚类时刻比服务器聚类的聚类时刻晚时,移动终端可保留存在不同的图像标识的第一聚类结果,并可将该存在不同的图像标识的第一聚类结果发送至服务器,服务器将存在不同的图像标识的第二聚类结果更新为第一聚类结果,当本地聚类的聚类时刻比服务器聚类的聚类时刻早时,移动终端可将存在不同的图像标识的第一聚类结果更新为对应的第二聚类结果等,但不限于此。
在一个实施例中,当第一聚类结果与第二聚类结果不一致时,移动终端可确定存在不一致的图像标识,并判断存在不一致的图像标识是否涉及手动手组。当存在不一致的图像标识涉及手动分组时,移动终端可以本地聚类为准,根据不一致的图像标识的第一聚类结果更新对应的第二聚类结果;当存在不一致的图像标识不涉及手动分组时,移动终端可以服务器聚类为准,根据不一致的图像标识的第二聚类结果更新对应的第一聚类结果。
移动终端根据预设规则对第一聚类结果和第二聚类结果中的至少一种进 行更新后,可根据更新后的组别标签将图像添加到对应的组别中,并在相应的相册中进行展示,方便用户进行查找。
在本实施例中,当移动终端满足第一预设条件时,在本地对图像进行聚类,当移动终端满足第二预设条件时,在服务器进行图像聚类,并将本地聚类的第一聚类结果与服务器聚类的第二聚类结果进行合并,通过在本地与服务器进行双端聚类,可提高图像聚类的准确性,并提高图像聚类的效率。
如图6所示,在一个实施例中,在获取待聚类图像的第一图像信息的步骤之前,还包括步骤602~步骤604:
步骤602,比对第一数据库及第二数据库中存储的图像信息,根据比对结果生成新增图像列表及更新图像列表。
当移动终端满足第一预设条件时,可获取待聚类图像进行聚类,其中,待聚类图像可以是移动终端上存储的没有分组的图像,也即,可以是没有进行过聚类图像,也可以是有对应的组别但是需要重新聚类的图像等。移动终端可通过比对第一数据库及第二数据库存储的图像信息,确定待聚类图像,并根据人脸对待聚类图像进行聚类。
在本实施例中,第一数据库指的是媒体数据库,媒体数据库可用于存储图像、视频、音频等多媒体文件的信息,可供视频播放器、音频播放器及相册图库使用。第一数据库中可包含有图像的存储路径、消息摘要、多媒体编号、修改时间等字段,用于存储图像的信息。在一个实施例中,第一数据库可包括SD卡(Secure Digital Memory Card)媒体数据库及内存媒体数据库,其中,SD卡媒体数据库可用于存储SD卡的多媒体信息,内存媒体数据库可用于存储内存中的多媒体信息。第二数据库指的是人脸数据库,人脸数据库中可存储有各个图像的人脸识别结果、图像特征、组别信息等。人脸数据库中可包含有图片属性、人脸属性及组属性等多个类型的字段,其中,图片属性可包括图像的存储路径、消息摘要、多媒体编号、修改时间等字段,人脸属性可包括人脸状态、人脸大小、人脸特征等字段,组属性可包括组别标识、组名称、创建时间等字段,但不限于此。当移动终端采集一张新的图像时, 例如可通过摄像头采集、或是从其他计算机设备接收等,需先存储在第一数据库中,当对该图像进行人脸识别,提取图像特征,并根据图像特征进行聚类后,可将该图像的信息、以及对应的图像特征、组别信息等存储在人脸数据库中。
在其他的实施例中,除了根据人脸对图像进行聚类外,也可根据其他的特征进行聚类,例如场景、地点或时间等,则第二数据库可以是保存有用于聚类的特征信息及聚类结果等信息的数据库,并不仅限于上述的人脸数据库。
移动终端可将第一数据库存储的图像信息与第二数据库存储的图像信息进行比对,可根据图像的存储路径、多媒体编号、修改时间或是消息摘要等字段进行比对,并生成新增图像列表和更新图像列表中的至少一种。在一个实施例中,新增图像列表记录有移动终端中未进行人脸识别的图像,移动终端可将存在于第一数据库但不存在于第二数据库的图像添加到新增图像列表。更新图像列表记录有在进行人脸识别后内容发生改变的图像,移动终端可将同时存在于第一数据库及第二数据库,但图像内容发生了改变的图像添加到更新图像列表等。
当移动终端中仅存在未进行人脸识别的图像,而没有人脸识别后内容发生改变的图像时,可根据比对结果仅生成新增图像列表;当移动终端中仅存在进行人脸识别后内容发生改变的图像,而不存在未进行人脸识别的图像,可根据比对结果仅生成更新图像列表;当移动终端中同时存在未进行人脸识别的图像,以及进行人脸识别后内容发生改变的图像,则可根据比对结果生成新增图像列表和更新图像列表。
步骤604,根据新增图像列表及更新图像列表确定待聚类图像。
移动终端可直接将生成的新增图像列表和更新图像列表中包含的图像作为待聚类图像,并提取待聚类图像的图像特征进行聚类。当移动终端仅生成新增图像列表时,可直接将新增图像列表包含的图像作为待聚类图像;当移动终端仅生成更新图像列表时,可直接将更新图像列表包含的图像作为待聚类图像;当移动终端生成新增图像列表和更新图像列表,可直接将新增图像 列表和更新图像列表包含的图像作为待聚类图像。在一个实施例中,当移动终端生成更新图像列表时,移动终端可判断更新图像列表中是否存在有对应的分组但是需要重新聚类的图像,可对更新图像列表中的每个图像重新进行识别,并提取更新图像列表中每个图像的图像特征,再从第二数据库中获取与更新图像列表中每个图像对应的存储的图像特征。移动终端可将提取的图像特征与第二数据库中存储的对应的图像特征进行比较,若提取的图像特征与第二数据库中存储的对应的图像特征相似度大于或等于预设值,则可判定该相似度大于预设值的图像可不重新进行聚类;若提取的图像特征与第二数据库中存储的对应的图像特征的相似度小于预设值,则可判定该相似度小于预设值的图像需要重新进行聚类。移动终端可将新增图像列表,以及更新图像列表中需要重新进行聚类的图像作为待聚类图像。
在本实施例中,移动终端通过比对第一数据库及第二数据库中存储的图像信息,生成的新增图像列表和更新图像列表,从而确定待聚类图像,在本地对需要进行聚类的图像进行聚类,可以提高图像聚类的效率。
如图7所示,在一个实施例中,步骤602比对第一数据库及第二数据库中存储的图像信息,根据比对结果生成新增图像列表及更新图像列表,包括步骤702~步骤712:
步骤702,根据第一数据库中图像的路径判断是否在第二数据库中查找到对应的图像,若是,则执行步骤706,若否,则执行步骤704。
移动终端可根据第一数据库中图像的路径在第二数据库中查找,判断第二数据库中是否存储有该图像对应的人脸识别结果。可逐一读取第一数据库中存储的每个图像在存储路径字段的值,并查找第二数据库是否有存储路径字段的值与读取的值一致的图像,若有,则第二数据库中存储路径字段的值与读取的值一致的图像,即为第二数据库中对应的图像。在一个实施例中,移动终端也可根据第一数据库中每个图像的多媒体编号在第二数据库中查找对应的图像,若在第二数据库中能查找到多媒体编号与第一数据库中一致的图像,则该多媒体编号一致的图像即为第二数据库中对应的图像。
步骤704,将没有查找到的图像添加到新增图像列表。
若移动终端根据第一数据库中图像的路径没有在第二数据库中查找到对应的图像,则该图像的图像信息只存在于第一数据库而不存在于第二数据库中,说明该图像未进行人脸识别,可将第一数据库中没有在第二数据库中查找到对应图像的图像添加到新增图像列表。进一步地,新增图像列表中可记录有只存在于第一数据库而不存在于第二数据库的图像的标识信息,其中,标识信息可以是多媒体编号、存储路径等。
步骤706,判断第一数据库中的图像与第二数据库中对应的像的修改时间是否一致,若是,则执行步骤712,若否,则执行步骤708。
若能在第二数据库中查找到对应的图像,则移动终端可提取第一数据库中图像的修改时间字段的值,以及第二数据库中对应的图像的修改时间字段的值,判断二者是否一致,若修改时间一致,说明图像在进行人脸识别并存储在第二数据库后,没有进行过修改。若第一数据库中的图像的修改时间,与第二数据库中对应的图像的修改时间不一致,说明图像在进行人脸识别并存储在第二数据库后,进行过修改。
步骤708,判断第一数据库中的图像与第二数据库中对应的图像的消息摘要是否一致,若是,则执行步骤712,若否,则执行步骤710。
若第一数据库中的图像的修改时间,与第二数据库中对应的图像的修改时间不一致,移动终端可提取该图像在第一数据库中存储的消息摘要字段的值,以及第二数据库中对应的图像的消息摘要字段的值,并比较是否一致。消息摘要也可称为数字摘要,每一个消息摘要是可唯一对应一个消息或文本等的固定长度的值,通过判断第一数据库中的图像与第二数据库中对应的图像的消息摘要是否一致,可判断该图像的内容是否发生了改变,若消息摘要不一致,说明图像在进行人脸识别并存储在第二数据库后,图像内容发生了变化,第一数据库中存储的图像与第二数据库中对应的图像不是同一内容的图像。
在一个实施例中,图像的消息摘要可以是图像的MD5(Message Digest  Algorithm MD5,消息摘要算法第五版),也可以是其他的哈希算法等,并不限于此。移动终端每存储一张新的图像,或是对图像进行了修改等,即可根据MD5等算法计算图像的消息摘要,并将消息摘要与图像的多媒体编号、存储路径等信息关联存储在第一数据库中。
步骤710,将消息摘要不一致的图像添加到更新图像列表。
移动终端可将第一数据库中,消息摘要与第二数据库中对应图像的消息摘要不同的图像添加到更新图像列表,更新图像列表中可记录有在进行人脸识别后内容发生了变化的图像,进一步地,可记录有在进行人脸识别后内容发生了变化的图像的标识信息。
步骤712,不作处理。
当图像在第一数据库的修改时间与第二数据库的修改时间不同,但是消息摘要相同,说明该图像在进行人脸识别后发生了修改,但是没有改变图像内容,则可不进行处理。
在本实施例中,移动终端通过比对第一数据库及第二数据库中存储的图像信息,生成的新增图像列表和更新图像列表,从而确定待聚类图像,在本地对需要进行聚类的图像进行聚类,可以提高图像聚类的效率,并减轻移动终端的图像处理压力。
如图8所示,在一个实施例中,在向服务器发送图像聚类请求的步骤之前,还包括步骤802~步骤806:
步骤802,每隔预设时间段从注册服务器获取空闲服务列表。
当移动终端满足第二预设条件时,可将图像上传至第一服务器,由第一服务器对图像进行特征识别及提取,进一步地,移动终端可比对第一数据库及第二数据库中存储的图像信息,根据比对结果生成新增图像列表及更新图像列表,根据新增图像列表及更新图像列表确定待聚类图像,并将待聚类图像上传至第一服务器。在一个实施例中,第一服务器可以是由多个主机构成的分布式第一服务器集群,第一服务器集群包含有多个第一服务器,每个第一服务器均可向移动终端提供特征识别及提取服务。可通过ZooKeeper等构 建第一服务器集群的注册服务器,其中,ZooKeeper是一个开放源码的分布式应用程序协调服务,注册服务器可用于对第一服务器集群包含的各个第一服务器进行服务监控,监控第一服务器集群中的各个第一服务器是处于可用的空闲状态还是不可用的繁忙状态。当第一服务器处于不可用的繁忙状态时,可向注册服务器发送下卸指令,注册服务器根据下卸指令可删除对应第一服务器的地址信息等,则该第一服务器不再向移动终端提供服务。当第一服务器处于可用的空闲状态时,可向注册服务器发送注册指令,注册服务器根据注册指令存储对应的第一服务器的地址信息等,则该第一服务器可重新向移动终端提供服务。
在一个实施例中,第一服务器集群中的每个第一服务器均可配置有处理量上限值,处理量上限值可用于限定对应的第一服务器最多可进行特征识别及提取处理的图像数量。当第一服务器中存储的未处理的图像的数量达到对应的处理量上限值时,则进入不可用的繁忙状态,可向注册服务器发送下卸指令,不再接收移动终端发送的图像。每个第一服务器可同时配置有空闲值,当第一服务器中存储的未处理的图像的数量小于或等于空闲值时,则进入可用的空闲状态,可向注册服务器发送注册指令,重新在注册服务器注册,可接收移动终端发送的图像。
注册服务器可向移动终端提供统一的检测接口,移动终端可每隔预设时间段调用检测接口,从注册服务器获取空闲服务列表,空闲服务列表中可记录有处于可用的空闲状态的第一服务器的地址信息等。可以理解地,预设时间段可根据实际需求进行设定,例如5分钟、10分钟等。
在其他的实施例中,也可采用被动通知的方式,移动终端先向注册服务器发送服务请求,当注册服务器监控到有空闲的第一服务器时,则将该空闲的第一服务器的地址信息等通知给移动终端。
步骤804,若空闲服务列表不为空,则从空闲服务列表中获取空闲的第一服务器。
移动终端从注册服务器获取空闲服务列表,可先判断空闲服务列表是否 为空,若是,则说明当前没有可用的第一服务器,暂时不上传图像。若空闲服务列表不为空,则移动终端可从空闲服务列表读取处于可用的空闲状态的第一服务器的地址信息等,地址信息可包括第一服务器的IP(Internet Protocol,网际协议)地址、MAC(Media Access Control,介质访问控制层)地址等。
在一个实施例中,若空闲服务列表中包含有多个空闲的第一服务器,移动终端可随机从中选取一个作为上传的第一服务器,也可直接读取排列在空闲服务列表中排列最前面的第一服务器的地址信息等。移动终端上还可存储有服务器白名单,白名单中记录有合法的服务器的地址信息,可根据白名单对空闲服务列表中的第一服务器的地址信息等进行筛选,将不属于白名单的第一服务器排除。在移动终端上存储白名单,可防止非法用户篡改注册服务器的空闲服务列表,造成用户信息泄露等问题。
步骤806,向空闲的第一服务器上传图像,并发送图像识别请求,图像识别请求指示空闲的第一服务器对接收的图像进行识别,并提取接收的图像的特征。
移动终端可根据从空闲服务列表读取的第一服务器的地址信息,向对应的第一服务器上传图像,并同时发送图像识别请求,其中,图像识别请求可携带有发送该请求的移动终端的标识、账户等信息。第一服务器接收移动终端发送的图像识别请求及图像后,可根据图像识别请求对图像进行识别,并提取图像的图像特征。
在一个实施例中,第一服务器可通过3DES(Triple Data Encryption Algorithm,三重数据加密算法)、RC5等加密算法对接收的图像进行加密。第一服务器可将加密的图像缓存到文件队列中,文件队列可用于控制第一服务器识别图像的速度,防止第一服务器负载过重,例如,可控制第一服务器每秒识别100张图像,则第一服务器每秒仅能从文件队列中读取缓存的100张图像进行识别处理。第一服务器从文件队列中读取缓存的图像后,可对读取的各个图像进行解密,并根据预设的特征识别模型识别图像,提取各个图 像的图像特征。在一个实施例中,第一服务器可根据预设的特征识别模型对图像进行人脸识别,并提取图像中包含的可用于描述人脸形状及五官形状、位置等信息的特征点。第一服务器可将提取的特征与对应的图像的图像信息、移动终端标识及账户等信息关联存储在数据库中,并同时将提取的特征及对应的图像的图像信息、移动终端标识及账户等信息上报给第二服务器,由第二服务器进行图像聚类。
图9为一个实施例中第一服务器的架构图。如图9所示,第一服务器集群中可包括多个第一服务器202,每个第一服务器202均可向移动终端10提供特征识别及提取服务。注册服务器902对第一服务器集群中的多个第一服务器202进行监控。当第一服务器202处于不可用的繁忙状态时,可向注册服务器902发送下卸指令,注册服务器902根据下卸指令可删除对应第一服务器202的地址信息等,则该第一服务器202不再向移动终端10提供服务。当第一服务器202处于可用的空闲状态时,可向注册服务器902发送注册指令,注册服务器902根据注册指令存储对应的第一服务器202的地址信息等,则该第一服务器202可重新向移动终端10提供服务。移动终端10可每隔预设时间段从注册服务器902获取空闲服务列表,并从空闲服务列表读取处于可用的空闲状态的第一服务器202的地址信息等。移动终端10可根据从空闲服务列表读取的第一服务器202的地址信息,向对应的第一服务器202上传图像,并同时发送图像识别请求。第一服务器202根据图像识别请求识别图像,并提取图像的特征。
在本实施例中,移动终端可每隔预设时间段从注册服务器获取空闲服务列表,从空闲服务列表获取空闲的第一服务器上传图像,并发送图像识别请求,实现服务器的均衡负载,可减轻服务器的处理压力。
在一个实施例中,向第二服务器发送图像聚类请求的步骤,包括:当接收到的第一服务器返回的接收完毕指令时,根据接收完毕指令向第二服务器发送图像聚类请求,图像聚类请求用于指示第二服务器通过预设的模型对上传至第一服务器的图像的特征进行聚类,确定图像的组别并分配对应的组别 标签。
移动终端向第一服务器上传一张或多张图像,当第一服务器全部接收完毕时,可向移动终端发送接收完毕指令。当移动终端接收到第一服务器返回的接收完毕指令时,可根据接收完毕指令向第二服务器发送图像聚类请求,请求第二服务器对上传至第一服务器的图像进行聚类。在一个实施例中,第二服务器可以是由多个主机构成的分布式第二服务器集群,第二服务器集群中可包含有多个第二服务器,每个第二服务器均可向移动终端提供图像聚类服务。移动终端向第二服务器集群发送图像聚类请求后,第二服务器集群可将图像聚类请求添加到请求队列中,并根据请求队列为第二服务器集群中的各个第二服务器分配图像聚类请求,由分配到图像聚类请求的第二服务器进行图像聚类。请求队列中包含的每个图像聚类请求,均可携带有发送的对应移动终端的标识、账户信息、发送时刻等信息。
在一个实施例中,可按照请求队列中各图像聚类请求的发送时刻的先后顺序,为第二服务器集群的第二服务器分配图像聚类请求。第二服务器集群进行图像聚类请求分配时,可检测请求队列中是否包含有与分配的图像聚类请求属于同一移动终端在不同时刻发送的图像聚类请求,当包含时,则可将与分配的图像聚类请求属于同一移动终端在不同时刻发送的图像聚类请求进行合并,并将合并后的图像聚类请求分配给第二服务器。第二服务器集群还可检测请求队列中是否包含有与分配的图像聚类请求属于同一账户在不同移动终端发送的图像聚类请求,当包含时,可将与分配的图像聚类请求属于同一账户在不同移动终端发送的聚类请求进行合并,并将合并后的聚类请求分配给第二服务器。
第一服务器识别移动终端上传的图像,并提取图像的特征,可将图像的特征、对应的图像信息、移动终端标识及账户等信息上报给第二服务器。当第二服务器接收到图像聚类请求后,可根据图像聚类请求的移动终端标识、账户等信息获取与图像聚类请求对应的图像的图像特征,并通过预设的聚类模型对与图像聚类请求对应的图像的图像特征进行聚类。聚类模型可对图像 特征进行分析,并将具有相似图像特征的图像划分到同一个组别,并分配对应的组别标签。第二服务器可根据图像聚类请求中携带的移动终端的标识,将包含有图像标识及对应的组别标签的第二聚类结果返回给移动终端。
在一个实施例中,若第二服务器接收到的是合并后的图像聚类请求,则直接获取与合并后的图像聚类请求中包含的各图像聚类请求对应的图像的图像特征,并进行聚类,可提高图像的聚类效率。
在本实施例中,移动终端可向第二服务器发送图像聚类请求,图像聚类请求指示第二服务器对已上传图像的图像特征进行聚类,可以智能对存储的图像进行聚类,提高图像聚类效率。
在一个实施例中,向第二服务器发送图像聚类请求的步骤,包括步骤1002~步骤1008。
步骤1002,获取当前的图像分组信息,以及与图像分组信息对应的各个组别中已分组图像的特征。
移动终端可获取当前的图像分组信息,其中,图像分组信息可包括每个组的组别信息,例如组别标识、组名称、创建时间等信息,还可包括每个组下包含的图像信息,例如包含的图像的标识信息、存储路径等。在一个实施例中,当前的图像分组信息可包括手动分组的分组信息及自动聚类的分组信息,其中,手动分组的分组信息指的是用户手动操作进行分组的分组信息,包括用户创建的分组、合并的分组,以及手动调整的照片所属的组别等,自动聚类的分组信息,指的是服务器或移动终端等根据各个图像的图像特征进行聚类生成的分组。
在一个实施例中,移动终端可从第二数据库中获取当前的图像分组信息,并根据图像分组信息从第二数据库中提取各个组别中已分组图像的图像特征,可确定各个组别对应的图像特征。
步骤1004,获取已上传至第一服务器的图像的第二图像信息。
移动终端可获取已上传至第一服务器的图像的第二图像信息,其中,第二图像信息可包括图像标识、存储路径等信息,其中,图像标识可以是图像 的名称、或是编号等信息。
步骤1006,将图像分组信息、各个组别中已分组图像的特征及第二图像信息打包成上行数据包。
移动终端可将图像分组信息、各个组别中已分组图像的图像特征及第二图像信息按照预设格式打包成上行数据包,并将上行数据包上传至第二服务器进行图像聚类。在一个实施例中,移动终端可按照组别进行打包,将属于同一组别的图像的图像特征打包成同一上行数据包,并携带有对应组别的组别标识、组名称等组别信息等。
步骤1008,将上行数据包发送至第二服务器,并向第二服务器发送图像聚类请求,图像聚类请求用于指示第二服务器通过预设的模型计算上传至第一服务器的图像的特征与各个组别中已分组图像的图像特征的相似度,确定图像的组别并分配对应的组别标签。
移动终端可将上行数据包上传至第二服务器,并向第二服务器发送图像聚类请求。当第二服务器接收到上行数据包及图像聚类请求后,可解析上行数据包,得到图像分组信息、各个组别中已分组图像的图像特征及已上传图像的第二图像信息。第二服务器可获取由第一服务器上传的与第二图像信息对应的图像特征,并可通过预设的聚类模型,计算每一个图像的图像特征与各个组别中已分组图像的图像特征的相似度。当图像的图像特征与组别中已分组图像的图像特征的相似度大于第二阈值时,则可认为属于同一类图像,第二服务器可将该图像分配至相似度大于第二阈值的组别中,并分配与该组别匹配的组别标签。若不存在与图像的图像特征的相似度大于第二阈值的组别,则说明该待聚类图像不属于已有的组别,可通过预设的聚类模型对不属于已有组别的图像重新进行聚类,将具有相似图像特征的图像划分生成新的组别,并为属于同一新的组别的图像分配对应的组别标签。
在一个实施例中,第二服务器可根据实际需求制定聚类策略,确定是仅对本次上传至第一服务器的图像进行聚类,还是对移动终端历史上传过的所有图像进行聚类。比如,当服务器进行了聚类模型更新后,可制定对移动终 端历史上传过的所有图像进行聚类的聚类策略,其中,对历史上传过的所有图像进行聚类时,可保留带有手动分组属性的组别,针对没有涉及用户手动操作的组别及图像,重新进行聚类。
在本实施例中,第二服务器可根据已有的分组信息以及各个组别中已分组图像的图像特征,对已上传的图像进行分组,可使聚类结果更加准确。
如图11所示,在一个实施例中,根据预设规则对第一聚类结果和第二聚类结果中的至少一种进行更新的步骤,包括步骤1102~步骤1106。
步骤1102,当同一图像标识对应的第一组别标签及第二组别标签不一致时,确定同一图像标识对应的第一组别标签所属的分组类型。
第一聚类结果可包括图像标识,及对图像进行本地聚类后分配的第一组别标签,第二聚类结果可包括图像标识,及服务器对图像进行聚类后分配的第二组别标签。移动终端可将第一聚类结果与第二聚类结果进行比对,对于同一图像标识,判断对应的第一组别标签与第二组别标签是否一致。当同一图像标识对应的第一组别标签及第二组别标签不一致时,可确定同一图像标识对应的第一组别标签所属的分组类型,其中,分组类型可包括手动分组、自动聚类等,当用户通过手动操作对移动终端的图像进行分组时,手动操作的图像可带有对应的手动标志。当同一图像标识对应的第一组别标签及第二组别标签不一致时,移动终端可检测该图像标识是否带有手动标志,当带有手动标志,则可确定该图像标识对应的第一组别标签的分组类型为手动分组,当该图像标识没有带有手动标志,则可确定该图像标识对应的第一组别标签的分组类型为自动聚类。
步骤1104,当分组类型为手动分组时,保留同一图像标识对应的第一组别标签。
当同一图像标识对应的第一组别标签及第二组别标签不一致时,且该图像标识对应的第一组别标签的分组类型为手动分组,移动终端可以第一聚类结果为准,保留该图像标识对应的第一组别标签。移动终端保留用户手动操作的图像分组,可使图像的分组更贴合用户需求。
步骤1106,当分组类型不是手动分组时,将同一图像标识对应的第一组别标签更新为第二组别标签。
当同一图像标识对应的第一组别标签及第二组别标签不一致时,该图像标识对应的第一组别标签的分组类型不是手动分组,移动终端可以第二聚类结果为准,将该图像标识对应的第一组别标签更新为第二组别标签。移动终端可将该图像标识对应的第一组别标签更改为第二组别标签,将与该图像标识对应的图像添加到与第二组别标签对应的组别中,并使该图像可在与第二组别标签对应的相册中进行展示。
在本实施例中,通过在本地与服务器进行双端聚类,可提高图像聚类的准确性,并提高图像聚类的效率。
如图12所示,在一个实施例中,根据预设规则对第一聚类结果和第二聚类结果中的至少一种进行更新的步骤,包括步骤1202~步骤1206:
步骤1202,将同一图像标识对应的第一人脸信息与第二人脸信息进行比较。
第一聚类结果可包括图像标识,及本地识别的第一人脸信息,第二聚类结果可包括图像标识,及服务器进行识别的第二人脸信息,其中,第一人脸信息及第二人脸信息均可包含有识别图像得到的用于描述人脸形状、五官形状等的图像特征,不同的人脸可对应不同的人脸信息,一张人脸可对应一份人脸信息。
步骤1204,当同一图像标识对应的第一人脸信息比第二人脸信息少时,将同一图像标识对应的第一人脸信息更新为第二人脸信息。
移动终端可将第一聚类结果与第二聚类结果进行比对,对于同一图像标识,判断对应的第一人脸信息与第二人脸信息的数量是否一致。当同一图像标识对应的第一人脸信息比第二人脸信息少时,说明移动终端识别出的人脸比服务器识别出的人脸少,则移动终端可以第二聚类结果为准,将该图像标识对应的第一人脸信息更新为第二人脸信息。
步骤1206,当同一图像标识对应的第一人脸信息比第二人脸信息多时, 确定多出的第一人脸信息对应的分组类型,当分组类型为手动分组时,保留多出的第一人脸信息,当分组类型不是手动分组时,将多出的第一人脸信息进行隐藏。
当同一图像标识对应的第一人脸信息比第二人脸信息多时,说明移动终端识别出的人脸比服务器识别出的人脸多,移动终端可确定多出的第一人脸信息对应的分组类型。在一个实施例中,当同一图像标识对应的第一人脸信息比第二人脸信息多时,移动终端可检测多出的第一人脸信息是否带有手动标志,当带有手动标志,则可确定该多出的第一人脸信息的分组类型为手动分组,则移动终端可保留多出的第一人脸信息。当多出的第一人脸信息没有手动标志时,则移动终端可确定该多出的第一人脸信息的分组类型不是手动分组,可将多出的第一人脸信息进行隐藏,不在移动终端的相册中进行展示。
例如,移动终端识别图像A,得到人脸信息a和人脸信息b,服务器识别图像A,得到人脸信息a,将图像A的第一聚类结果与第二聚类结果进行比较,可确定第一聚类结果中的第一人脸信息比第二聚类结果的第二人脸信息多。移动终端可确定多出的人脸信息b对应的分组类型,当人脸信息b对应的分组类型不是手动分组时,移动终端可将图像A的人脸信息b进行隐藏,则图像A将不会出现在人脸信息b对应的组别中,当人脸信息b对应的分组类型是手动分组时,移动终端可保留图像A的人脸信息b,则图像A将继续出现在人脸信息b对应的组别中。
在一个实施例中,当多出的第一人脸信息的分组类型为手动分组时,移动终端可将多出的第一人脸信息及对应的图像标识发送至服务器进行存储。服务器可将该图像标识对应的第二人脸信息更新为第一人脸信息。
在本实施例中,通过在本地与服务器进行双端聚类,可提高图像聚类的准确性,并提高图像聚类的效率。
在一个实施例中,提供一种图像处理方法,包括以下步骤:
步骤(1),当满足第一预设条件时,根据第一数据库中图像的路径在第二数据库中进行查找,当在第二数据库中没有查找到对应的图像时,将没有 查找到的图像添加到新增图像列表;当修改时间不一致时,判断第一数据库中的图像与第二数据库中对应的图像的消息摘要是否一致,当消息摘要不一致时,将不一致的图像添加到更新图像列表。
步骤(2),根据所述新增图像列表及更新图像列表确定待聚类图像,并获取待聚类图像的第一图像信息。
步骤(3),根据第一图像信息对待聚类图像进行聚类,得到第一聚类结果。
步骤(4),当满足第二预设条件时,每隔预设时间段从注册服务器获取空闲服务列表,若空闲服务列表不为空,则从空闲服务列表中获取空闲的第一服务器,向空闲的第一服务器上传图像,并发送图像识别请求,图像识别请求指示空闲的第一服务器对接收的图像进行识别,并提取接收的图像的特征。
步骤(5),当接收到的所述第一服务器返回的接收完毕指令时,获取当前的图像分组信息,以及与图像分组信息对应的各个组别中已分组图像的特征,将图像分组信息、各个组别中已分组图像的特征及第二图像信息打包成上行数据包,将上行数据包发送至第二服务器,并向第二服务器发送图像聚类请求,图像聚类请求用于指示第二服务器通过预设的模型计算上传至第一服务器的图像的特征与各个组别中已分组图像的图像特征的相似度,确定图像的组别并分配对应的组别标签,得到第二聚类结果。
步骤(6),接收由第二服务器返回的第二聚类结果,将第一聚类结果与第二聚类结果进行比较,第一聚类结果包括图像标识、第一人脸信息及分配的第一组别标签,第二聚类结果包括图像标识、第二人脸信息及分配的第二组别标签。
步骤(7),当同一图像标识对应的第一组别标签及第二组别标签不一致时,确定同一图像标识对应的第一组别标签所属的分组类型,当分组类型为手动分组时,保留同一图像标识对应的第一组别标签,当分组类型不是手动分组时,将同一图像标识对应的第一组别标签更新为第二组别标签。
步骤(8),将同一图像标识对应的第一人脸信息与第二人脸信息进行比较,当同一图像标识对应的第一人脸信息比第二人脸信息少时,将同一图像标识对应的第一人脸信息更新为第二人脸信息,当同一图像标识对应的第一人脸信息比第二人脸信息多时,确定多出的第一人脸信息对应的分组类型,当分组类型为手动分组时,保留多出的第一人脸信息,当分组类型不是手动分组时,将多出的第一人脸信息进行隐藏。
步骤(9),当多出的第一人脸信息的分组类型为手动分组时,将多出的第一人脸信息及对应的图像标识发送至第二服务器进行存储。
在本实施例中,当移动终端满足第一预设条件时,在本地对图像进行聚类,当移动终端满足第二预设条件时,在服务器进行图像聚类,并将本地聚类的第一聚类结果与服务器聚类的第二聚类结果进行合并,通过在本地与服务器进行双端聚类,可提高图像聚类的准确性,并提高图像聚类的效率。
如图13所示,在一个实施例中,提供一种图像聚类请求,从服务器进行描述,包括步骤1302~步骤1306。
步骤1302,接收移动终端发送的图像聚类请求,图像聚类请求为移动终端满足第二预设条件时发送。
当移动终端满足触发服务器聚类的第二预设条件时,可向服务器发送图像聚类请求,其中,第二预设条件可根据实际需求进行设定,例如,当移动终端中的当前时刻距离上一次请求服务器进行图像聚类的时刻已超过预设时间,比如48小时、72小时等,可向服务器发送图像聚类请求;当移动终端的电源状态满足预设状态时,可向服务器发送图像聚类请求,其中,电源状态可包括可用剩余电量、是否处于充电状态、用电速度等,预设状态可以是可用剩余电量大于预设百分比,或是处于充电状态,或是可用剩余电量大于预设百分比且用电速度小于设定值等,但不限于此;当移动终端的当前时刻处于预设的聚类时间段时,比如凌晨的2点至4点等时间段,可向服务器发送图像聚类请求等,但不限于此。
步骤1304,根据图像聚类请求对已上传的图像进行聚类,得到第二聚类结果。
在一个实施例中,当移动终端满足第二预设条件时,可选取一张或多张图像上传至服务器,并向服务器发送图像聚类请求。服务器接收移动终端上传的图像,可对上传的图像进行识别,并提取上传的图像的图像特征。服务器可根据图像聚类请求对移动终端已上传的图像进行聚类,可通过预设的聚类模型对已上传图像的图像特征进行分析,并将包含有相似特征的图像划分为一类,确定每个已上传图像的组别,并添加对应的组别标签,得到第二聚类结果。
步骤1306,向移动终端发送第二聚类结果,第二聚类结果用于指示移动终端根据预设规则对第一聚类结果及第二聚类结果中的至少一种进行更新,第一聚类结果为移动终端满足第一状态时对待聚类图像进行聚类得到。
服务器可向移动终端发送第二聚类结果,移动终端可将第二聚类结果,与在满足第一状态时对待聚类图像进行聚类得到的第一聚类结果进行比较,当第一聚类结果与第二聚类结果不同时,可根据预设规则对第一聚类结果和第二聚类结果中的至少一种进行更新,其中,预设规则可根据实际需求进行设定。例如,预设规则可以是以服务器的第二聚类结果为准,当第一聚类结果与第二聚类结果不同时,移动终端确定存在不同的图像标识,并将存在不同的图像标识的第一聚类结果更新为对应的第二聚类结果;预设规则也可以是以聚类时刻最近的为准,可确定本地聚类与服务器聚类的聚类时刻先后,当本地聚类的聚类时刻比服务器聚类的聚类时刻晚时,移动终端可保留存在不同的图像标识的第一聚类结果,并可将该存在不同的图像标识的第一聚类结果发送至服务器,服务器将存在不同的图像标识的第二聚类结果更新为第一聚类结果,当本地聚类的聚类时刻比服务器聚类的聚类时刻早时,移动终端可将存在不同的图像标识的第一聚类结果更新为对应的第二聚类结果等,但不限于此。
在本实施例中,当移动终端满足第一预设条件时,在本地对图像进行聚 类,当移动终端满足第二预设条件时,在服务器进行图像聚类,并将本地聚类的第一聚类结果与服务器聚类的第二聚类结果进行合并,通过在本地与服务器进行双端聚类,可提高图像聚类的准确性,并提高图像聚类的效率。
如图14所示,在一个实施例中,在接收移动终端发送的图像聚类请求的步骤之后,还包括步骤1402~步骤1410。
步骤1402,将图像聚类请求添加到请求队列,请求队列按照图像聚类请求的发送时刻从先到后进行排列。
移动终端可将服务器发送图像聚类请求,请求服务器对已上传的图像进行聚类。在一个实施例中,服务器可以是由多个主机构成的分布式服务器集群,服务器集群中可包含有多个服务器,每个服务器均可向移动终端提供图像聚类服务。移动终端向服务器集群发送图像聚类请求后,服务器集群可将图像聚类请求添加到请求队列中,并根据请求队列为服务器集群中的各个服务器分配图像聚类请求,由分配到图像聚类请求的服务器进行图像聚类。请求队列中包含的每个图像聚类请求,均可携带有发送的对应移动终端的标识、账户信息、发送时刻等信息。
步骤1404,从请求队列获取排列最前的图像聚类请求。
可按照请求队列中各图像聚类请求的发送时刻的先后顺序,为服务器集群的服务器分配图像聚类请求,服务器集群可将请求队列中排列最前的图像聚类请求分配给服务器进行聚类处理,也即,可将请求队列中发送时刻最早的图像聚类请求分配给服务器进行聚类处理。
步骤1406,检测请求队列中是否存在包含有与排列最前的图像聚类请求相同移动终端标识的图像聚类请求,若是,则执行步骤1408,若否,则执行步骤1410。
服务器集群进行图像聚类请求分配时,可检测请求队列中是否包含有排列最前的图像聚类请求属于同一移动终端在不同时刻发送的图像聚类请求,当包含时,则可将与排列最前的图像聚类请求属于同一移动终端在不同时刻发送的图像聚类请求进行合并,并将合并后的图像聚类请求分配给服务器。
步骤1408,将包含有与排列最前的图像聚类请求相同移动终端标识的图像聚类请求和排列最前的图像聚类请求进行合并。
例如,请求队列中排列最前的图像聚类请求为移动终端A在2017年8月2号6:00发送的,服务器集群检测到请求队列中还包含有移动终端A在2017年8月2号7:00发送的图像聚类请求以及移动终端A在2017年8月2号8:00发送的图像聚类请求,则可将上述同属于移动终端A的三个图像聚类请求进行合并,并将合并后的图像聚类请求分配给服务器,由该服务器进行统一处理。
步骤1410,根据排列最前的图像聚类请求进行聚类。
当请求队列中不包含有与排列最前的图像聚类请求相同移动终端标识的图像聚类请求时,则可直接将排列最前的图像聚类请求分配给服务器。
在本实施例中,服务器可将属于同一移动终端在不同时刻发送的图像聚类请求进行合并处理,可提高图像的聚类效率。
如图15所示,在一个实施例中,在接收移动终端发送的图像聚类请求的步骤之后,还包括步骤1502~步骤1510。
步骤1502,将图像聚类请求添加到请求队列,请求队列按照图像聚类请求的发送时刻从先到后进行排列。
步骤1504,从请求队列获取排列最前的图像聚类请求。
步骤1506,检测请求队列中是否存在包含有与排列最前的图像聚类请求相同账户信息的图像聚类请求,若是,则执行步骤1508,若否,则执行步骤1510。
服务器集群进行图像聚类请求分配时,可检测请求队列中是否包含有与排列最前的图像聚类请求属于同一账户发送的图像聚类请求,若包含,则可将与排列最前的图像聚类请求属于同一账户的图像聚类请求进行合并,并将合并后的图像聚类请求分配给服务器。
步骤1508,将包含有与排列最前的图像聚类请求相同账户信息的图像聚类请求和排列最前的图像聚类请求进行合并。
例如,请求队列中排列最前的图像聚类请求为账户X通过移动终端A在2017年8月2号6:00发送的,服务器集群可检测到请求队列中还包含有账户X通过移动终端B在2017年8月2号7:00发送的图像聚类请求,则可将上述同属于账户X的两个图像聚类请求进行合并,并将合并后的图像聚类请求分配给服务器,由该服务器进行统一处理。
步骤1510,根据排列最前的图像聚类请求对图像进行聚类。
在本实施例中,服务器可将属于同一账户发送的图像聚类请求进行合并处理,可提高图像的聚类效率。
如图16所示,在一个实施例中,根据图像聚类请求对已上传的图像进行聚类的步骤,包括步骤1602~步骤1606:
步骤1602,获取合并后的图像聚类请求包含的图像信息。
服务器可获取合并后的图像聚类请求中包含的各个图像聚类请求,并获取各个图像聚类请求中包含的图像信息,其中,图像信息可包括图像标识等。
步骤1604,根据图像信息获取与合并后的图像聚类请求对应的已上传的图像的图像特征。
步骤1606,通过预设的模型对已上传的图像的图像特征进行聚类,确定已上传的图像的组别并分配对应的组别标签。
服务器材可根据获取的合并后的图像聚类请求包含的图像信息,获取与合并后的图像聚类请求对应的已上传图像的图像特征,可通过预设的聚类模型对获取的图像特征进行分析,并将包含有相似特征的图像划分为一类,确定每个已上传图像的组别,并添加对应的组别标签。
在本实施例中,服务器可对合并后的图像聚类请求进行统一处理,可提高图像的聚类效率。
如图17所示,在一个实施例中,提供一种图像处理装置1700,包括信息获取模块1710、第一聚类模块1720、第一发送模块1730及更新模块1740。
信息获取模块1710,用于当满足第一预设条件时,获取待聚类图像的第 一图像信息。
第一聚类模块1720,用于根据第一图像信息对待聚类图像进行聚类,得到第一聚类结果。
第一发送模块1730,用于当满足第二预设条件时,向服务器发送图像聚类请求,图像聚类请求用于指示服务器对已上传至所述服务器的图像进行聚类,并得到第二聚类结果。
更新模块1740,用于接收由服务器返回的第二聚类结果,并根据预设规则对第一聚类结果和第二聚类结果中的至少一种进行更新。
在一个实施例中,更新模块1740,还用于当第一聚类结果与第二聚类结果不一致时,确定存在不一致的图像标识;当不一致的图像标识涉及手动分组时,根据不一致的图像标识的第一聚类结果更新对应的第二聚类结果;当不一致的图像标识不涉及手动分组时,根据不一致的图像标识的第二聚类结果更新对应的第一聚类结果。
在本实施例中,当移动终端满足第一预设条件时,在本地对图像进行聚类,当移动终端满足第二预设条件时,在服务器进行图像聚类,并将本地聚类的第一聚类结果与服务器聚类的第二聚类结果进行合并,通过在本地与服务器进行双端聚类,可提高图像聚类的准确性,并提高图像聚类的效率。
在一个实施例中,上述图像处理装置1700,除了包括信息获取模块1710、第一聚类模块1720、第一发送模块1730及更新模块1740,还包括比对模块及确定模块。
比对模块,用于比对第一数据库及第二数据库中存储的图像信息,根据比对结果生成新增图像列表及更新图像列表,其中,第一数据库包括移动终端的媒体数据库,第二数据库包括存储有图像的人脸识别结果的人脸数据库。
确定模块,用于根据新增图像列表及更新图像列表确定待聚类图像。
在本实施例中,移动终端通过比对第一数据库及第二数据库中存储的图像信息,生成的新增图像列表和更新图像列表,从而确定待聚类图像,在本地对需要进行聚类的图像进行聚类,可以提高图像聚类的效率。
在一个实施例中,比对模块,包括查找单元、第一添加单元、判断单元及第二添加单元。
查找单元,用于根据第一数据库中图像的路径在第二数据库中进行查找。
第一添加单元,用于当在第二数据库中没有查找到对应的图像时,将没有查找到的图像添加到新增图像列表。
判断单元,用于当在第二数据库中查找到对应的图像时,判断第一数据库中的图像与所述第二数据库中对应的图像的修改时间是否一致。
判断单元,还用于当修改时间不一致时,判断第一数据库中的图像与第二数据库中对应的图像的消息摘要是否一致。
第二添加单元,用于当消息摘要不一致时,将不一致的图像添加到更新图像列表。
在本实施例中,移动终端通过比对第一数据库及第二数据库中存储的图像信息,生成的新增图像列表和更新图像列表,从而确定待聚类图像,在本地对需要进行聚类的图像进行聚类,可以提高图像聚类的效率,并减轻移动终端的图像处理压力。
在一个实施例中,上述图像处理装置1700,除了包括信息获取模块1710、第一聚类模块1720、第一发送模块1730、更新模块1740、比对模块及确定模块,还包括服务列表获取模块及服务器获取模块。
服务列表获取模块,用于每隔预设时间段从注册服务器获取空闲服务列表,
服务器获取模块,用于若空闲服务列表不为空,则从空闲服务列表中获取空闲的第一服务器。
第一发送模块1730,还用于向空闲的第一服务器上传图像,并发送图像识别请求,图像识别请求指示空闲的第一服务器对接收的图像进行识别,并提取接收的图像的特征。
在本实施例中,移动终端可每隔预设时间段从注册服务器获取空闲服务列表,从空闲服务列表获取空闲的第一服务器上传图像,并发送图像识别请 求,实现服务器的均衡负载,可减轻服务器的处理压力。
在一个实施例中,第一发送模块1730,还用于当接收到的第一服务器返回的接收完毕指令时,根据接收完毕指令向第二服务器发送图像聚类请求,图像聚类请求用于指示第二服务器通过预设的模型对上传至第一服务器的图像的特征进行聚类,确定图像的组别并分配对应的组别标签,图像的特征为第一服务器上报给所述第二服务器。
在本实施例中,移动终端可向第二服务器发送图像聚类请求,图像聚类请求指示第二服务器对已上传图像的图像特征进行聚类,可以智能对存储的图像进行聚类,提高图像聚类效率。
在一个实施例中,第一发送模块1730,包括分组信息获取单元、图像信息获取单元、打包单元及发送单元。
分组信息获取单元,用于获取当前的图像分组信息,以及与图像分组信息对应的各个组别中已分组图像的特征。
图像信息获取单元,用于获取已上传至所述第一服务器的图像的第二图像信息;
打包单元,用于将图像分组信息、各个组别中已分组图像的特征及第二图像信息打包成上行数据包。
发送单元,用于将上行数据包发送至第二服务器,并向第二服务器发送图像聚类请求,图像聚类请求用于指示第二服务器通过预设的模型计算上传至第一服务器的图像的特征与各个组别中已分组图像的图像特征的相似度,确定图像的组别并分配对应的组别标签。
在本实施例中,第二服务器可根据已有的分组信息以及各个组别中已分组图像的图像特征,对已上传的图像进行分组,可使聚类结果更加准确。
在一个实施例中,第一聚类结果包括图像标识及分配的第一组别标签,第二聚类结果包括图像标识及分配的第二组别标签。
更新模块1740,包括分组类型确定单元、保留单元及更新单元。
分组类型确定单元,用于当同一图像标识对应的第一组别标签及第二组 别标签不一致时,确定同一图像标识对应的第一组别标签所属的分组类型。
保留单元,用于当分组类型为手动分组时,保留同一图像标识对应的第一组别标签。
更新单元,用于当分组类型不是手动分组时,将同一图像标识对应的第一组别标签更新为第二组别标签。
在本实施例中,通过在本地与服务器进行双端聚类,可提高图像聚类的准确性,并提高图像聚类的效率。
在一个实施例中,第一聚类结果包括图像标识及第一人脸信息,第二聚类结果包括图像标识及第二人脸信息。
更新模块1740,除了包括分组类型确定单元、保留单元及更新单元,还包括比较单元及隐藏单元。
比较单元,用于将同一图像标识对应的第一人脸信息与第二人脸信息进行比较。
更新单元,还当同一图像标识对应的第一人脸信息比第二人脸信息少时,将同一图像标识对应的第一人脸信息更新为第二人脸信息。
分组类型确定单元,还用于当同一图像标识对应的第一人脸信息比第二人脸信息多时,确定多出的第一人脸信息对应的分组类型。
保留单元,还用于当分组类型为手动分组时,保留多出的第一人脸信息。
隐藏单元,还用于当分组类型不是手动分组时,将多出的第一人脸信息进行隐藏。
在一个实施例中,第一发送模块1730,还用于当多出的第一人脸信息的分组类型为手动分组时,将多出的第一人脸信息及对应的图像标识发送至服务器进行存储。
在本实施例中,通过在本地与服务器进行双端聚类,可提高图像聚类的准确性,并提高图像聚类的效率。
如图18所示,在一个实施例中,提供一种图像处理装置1800,包括接 收模块1810、第二聚类模块1820及第二发送模块1830。
接收模块1810,用于接收移动终端发送的图像聚类请求,图像聚类请求为移动终端满足第二预设条件时发送。
第二聚类模块1820,用于根据图像聚类请求对已上传的图像进行聚类,得到第二聚类结果。
第二发送模块1830,用于向移动终端发送第二聚类结果,第二聚类结果用于指示移动终端根据预设规则对第一聚类结果及第二聚类结果中的至少一种进行更新,第一聚类结果为所述移动终端满足第一状态时对待聚类图像进行聚类得到。
在本实施例中,当移动终端满足第一预设条件时,在本地对图像进行聚类,当移动终端满足第二预设条件时,在服务器进行图像聚类,并将本地聚类的第一聚类结果与服务器聚类的第二聚类结果进行合并,通过在本地与服务器进行双端聚类,可提高图像聚类的准确性,并提高图像聚类的效率。
在一个实施例中,上述图像处理装置1800,除了包括接收模块1810、第二聚类模块1820及第二发送模块1830,还包括队列添加模块、检测模块及合并模块。
队列添加模块,用于将图像聚类请求添加到请求队列,请求队列按照图像聚类请求的发送时刻从先到后进行排列。
检测模块,用于当从请求队列获取排列最前的图像聚类请求时,检测请求队列中是否存在包含有与排列最前的图像聚类请求相同移动终端标识的图像聚类请求。
合并模块,用于当存在时,将包含有与排列最前的图像聚类请求相同移动终端标识的图像聚类请求和排列最前的图像聚类请求进行合并。
在本实施例中,服务器可将属于同一移动终端在不同时刻发送的图像聚类请求进行合并处理,可提高图像的聚类效率。
在一个实施例中,检测模块,还用于当从请求队列获取排列最前的图像聚类请求时,检测请求队列中是否存在包含有与排列最前的图像聚类请求相 同账户信息的图像聚类请求。
合并模块,用于当存在时,将包含有与排列最前的图像聚类请求相同账户信息的图像聚类请求和排列最前的图像聚类请求进行合并。
在本实施例中,服务器可将属于同一账户发送的图像聚类请求进行合并处理,可提高图像的聚类效率。
本申请实施例还提供了一种移动终端。如图19所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该移动终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑、穿戴式设备等任意终端设备,以移动终端为手机为例:
图19为与本申请实施例提供的移动终端相关的手机的部分结构的框图。参考图19,手机包括:射频(Radio Frequency,RF)电路1910、存储器1920、输入单元1930、显示单元1940、传感器1950、音频电路1960、WiFi模块1970、处理器1980、以及电源1990等部件。本领域技术人员可以理解,图19所示的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,RF电路1910可用于收发信息或通话过程中,信号的接收和发送,可将基站的下行信息接收后,给处理器1980处理;也可以将上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路1910还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于GSM、通用分组无线服务(General Packet Radio Service,GPRS)、CDMA、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器1920可用于存储软件程序以及模块,处理器1980通过运行存储在存储器1920的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1920可主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能的应用程序、图像播放功能的应用程序等)等;数据存储区可存储根据手机的使用所创建的数据(比如音频数据、通讯录等)等。此外,存储器1920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1930可用于接收输入的数字或字符信息,以及产生与手机1900的用户设置以及功能控制有关的键信号输入。具体地,输入单元1930可包括触控面板1932以及其他输入设备1934。触控面板1932,也可称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1932上或在触控面板1932附近的操作),并根据预先设定的程式驱动相应的连接装置。在一个实施例中,触控面板1932可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1980,并能接收处理器1980发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1932。除了触控面板1932,输入单元1930还可以包括其他输入设备1934。具体地,其他输入设备1934可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)等中的一种或多种。
显示单元1940可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1940可包括显示面板1942。在一个实施例中,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1942。在一个实施例中,触控面板1932可覆盖显示面板1942,当触控面板1932 检测到在其上或附近的触摸操作后,传送给处理器1980以确定触摸事件的类型,随后处理器1980根据触摸事件的类型在显示面板1942上提供相应的视觉输出。虽然在图19中,触控面板1932与显示面板1942是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1932与显示面板1942集成而实现手机的输入和输出功能。
手机1900还可包括至少一种传感器1950,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1942的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1942和/或背光。运动传感器可包括加速度传感器,通过加速度传感器可检测各个方向上加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换)、振动识别相关功能(比如计步器、敲击)等;此外,手机还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器等。
音频电路1960、扬声器1962和传声器1964可提供用户与手机之间的音频接口。音频电路1960可将接收到的音频数据转换后的电信号,传输到扬声器1962,由扬声器1962转换为声音信号输出;另一方面,传声器1964将收集的声音信号转换为电信号,由音频电路1960接收后转换为音频数据,再将音频数据输出处理器1980处理后,经RF电路1910可以发送给另一手机,或者将音频数据输出至存储器1920以便后续处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块1970可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。
处理器1980是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1920内的软件程序和/或模块,以及调用存储在存储器1920内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。在一个实施例中,处理器1980可包括一个或 多个处理单元。在一个实施例中,处理器1980可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等;调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1980中。
手机1900还包括给各个部件供电的电源1990(比如电池),优选的,电源1990可以通过电源管理系统与处理器1980逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
在一个实施例中,手机1900还可以包括摄像头、蓝牙模块等。
在本申请实施例中,该移动终端所包括的处理器1980执行存储在存储器上的计算机可执行指令时实现上述适用于移动终端的图像处理方法。
在一个实施例中,提供一种服务器,包括存储器及处理器,存储器中储存有计算机可执行指令,计算机可执行指令被处理器执行时,使得处理器执行时实现上述适用于服务器的图像处理方法。
在一个实施例中,提供一个或多个存储有计算机可执行指令的非易失性可读存储介质,计算机可执行指令被一个或多个处理器执行时,使得一个或多个处理器执行时实现上述适用于移动终端的图像处理方法。
在一个实施例中,提供一个或多个存储有计算机可执行指令的非易失性可读存储介质,计算机可执行指令被一个或多个处理器执行时,使得一个或多个处理器执行时实现上述适用于服务器的图像处理方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
如此处所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器 (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)。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (20)

  1. 一种图像处理方法,包括:
    当满足第一预设条件时,获取待聚类图像的第一图像信息;
    根据所述第一图像信息对所述待聚类图像进行聚类,得到第一聚类结果;
    当满足第二预设条件时,向服务器发送图像聚类请求,所述图像聚类请求用于指示所述服务器对已上传至所述服务器的图像进行聚类,并得到第二聚类结果;及
    接收由所述服务器返回的第二聚类结果,并根据预设规则对所述第一聚类结果和所述第二聚类结果中的至少一种进行更新。
  2. 根据权利要求1所述的方法,其特征在于,在所述获取待聚类图像的第一图像信息之前,包括:
    比对第一数据库及第二数据库中存储的图像信息,根据比对结果生成新增图像列表及更新图像列表,其中,所述第一数据库包括移动终端的媒体数据库,所述第二数据库包括存储有图像的人脸识别结果的人脸数据库;及
    根据所述新增图像列表及更新图像列表确定待聚类图像。
  3. 根据权利要求2所述的方法,其特征在于,所述比对第一数据库及第二数据库中存储的图像信息,根据比对结果生成新增图像列表及更新图像列表,包括:
    根据第一数据库中图像的路径在第二数据库中进行查找;
    当在第二数据库中没有查找到对应的图像时,将没有查找到的图像添加到新增图像列表;
    当在第二数据库中查找到对应的图像时,判断所述第一数据库中的图像与所述第二数据库中对应的图像的修改时间是否一致;及
    当修改时间不一致时,判断所述第一数据库中的图像与所述第二数据库中对应的图像的消息摘要是否一致,当消息摘要不一致时,将不一致的图像添加到更新图像列表。
  4. 根据权利要求1所述的方法,其特征在于,在所述向服务器发送图像 聚类请求之前,所述方法还包括:
    每隔预设时间段从注册服务器获取空闲服务列表;
    若所述空闲服务列表不为空,则从所述空闲服务列表中获取空闲的第一服务器;及
    向所述空闲的第一服务器上传图像,并发送图像识别请求,所述图像识别请求指示所述空闲的第一服务器对接收的图像进行识别,并提取所述接收的图像的特征。
  5. 根据权利要求4所述的方法,其特征在于,所述向服务器发送图像聚类请求,包括:
    当接收到的所述第一服务器返回的接收完毕指令时,根据所述接收完毕指令向第二服务器发送图像聚类请求,所述图像聚类请求用于指示所述第二服务器通过预设的模型对上传至所述第一服务器的图像的特征进行聚类,确定图像的组别并分配对应的组别标签,所述图像的特征为所述第一服务器上报给所述第二服务器。
  6. 根据权利要求5所述的方法,其特征在于,所述向第二服务器发送图像聚类请求,包括:
    获取当前的图像分组信息,以及与所述图像分组信息对应的各个组别中已分组图像的特征;
    获取已上传至所述第一服务器的图像的第二图像信息;
    将所述图像分组信息、各个组别中已分组图像的特征及第二图像信息打包成上行数据包;及
    将所述上行数据包发送至第二服务器,并向所述第二服务器发送图像聚类请求,所述图像聚类请求用于指示所述第二服务器通过预设的模型计算上传至所述第一服务器的图像的特征与各个组别中已分组图像的图像特征的相似度,确定图像的组别并分配对应的组别标签。
  7. 根据权利要求1所述的方法,其特征在于,所述根据预设规则对所述第一聚类结果和所述第二聚类结果中的至少一种进行更新,包括:
    当所述第一聚类结果与所述第二聚类结果不一致时,确定存在不一致的图像标识;
    当所述不一致的图像标识涉及手动分组时,根据所述不一致的图像标识的第一聚类结果更新对应的第二聚类结果;
    当所述不一致的图像标识不涉及手动分组时,根据所述不一致的图像标识的第二聚类结果更新对应的第一聚类结果。
  8. 根据权利要求1或7所述的方法,其特征在于,所述第一聚类结果包括图像标识及分配的第一组别标签,第二聚类结果包括图像标识及分配的第二组别标签;
    所述根据预设规则对所述第一聚类结果和所述第二聚类结果中的至少一种进行更新,包括:
    当同一图像标识对应的第一组别标签及第二组别标签不一致时,确定所述同一图像标识对应的第一组别标签所属的分组类型;
    当所述分组类型为手动分组时,保留所述同一图像标识对应的第一组别标签;及
    当所述分组类型不是手动分组时,将所述同一图像标识对应的第一组别标签更新为所述第二组别标签。
  9. 根据权利要求1或7所述的方法,其特征在于,所述第一聚类结果包括图像标识及第一人脸信息,所述第二聚类结果包括图像标识及第二人脸信息;
    所述根据预设规则对所述第一聚类结果和所述第二聚类结果中的至少一种进行更新,包括:
    将同一图像标识对应的第一人脸信息与第二人脸信息进行比较;
    当所述同一图像标识对应的第一人脸信息比第二人脸信息少时,将所述同一图像标识对应的第一人脸信息更新为所述第二人脸信息;
    当所述同一图像标识对应的第一人脸信息比第二人脸信息多时,确定多出的第一人脸信息对应的分组类型,当所述分组类型为手动分组时,保留所 述多出的第一人脸信息,当所述分组类型不是手动分组时,将所述多出的第一人脸信息进行隐藏。
  10. 根据权利要求8所述的方法,其特征在于,所述根据预设规则对所述第一聚类结果和所述第二聚类结果中的至少一种进行更新,还包括:
    当所述分组类型为手动分组时,将所述多出的第一人脸信息及对应的图像标识发送至所述服务器进行存储。
  11. 一种图像处理方法,包括:
    接收移动终端发送的图像聚类请求,所述图像聚类请求为所述移动终端满足第二预设条件时发送;
    根据所述图像聚类请求对已上传的图像进行聚类,得到第二聚类结果;及
    向所述移动终端发送所述第二聚类结果,所述第二聚类结果用于由所述移动终端根据预设规则对第一聚类结果及第二聚类结果中的至少一种进行更新,所述第一聚类结果为所述移动终端满足第一状态时对待聚类图像进行聚类得到。
  12. 根据权利要求11所述的方法,其特征在于,所述图像聚类请求包括移动终端标识及发送时刻;
    在所述接收移动终端发送的图像聚类请求之后,包括:
    将所述图像聚类请求添加到请求队列,所述请求队列按照图像聚类请求的发送时刻从先到后进行排列;
    当从所述请求队列获取排列最前的图像聚类请求时,检测所述请求队列中是否存在包含有与所述排列最前的图像聚类请求相同移动终端标识的图像聚类请求;及
    当存在时,将包含有与所述排列最前的图像聚类请求相同移动终端标识的图像聚类请求和所述排列最前的图像聚类请求进行合并。
  13. 根据权利要求11所述的方法,其特征在于,所述图像聚类请求包括 账户信息及发送时刻;
    在所述接收移动终端发送的图像聚类请求之后,包括:
    将所述图像聚类请求添加到请求队列,所述请求队列按照图像聚类请求的发送时刻从先到后进行排列;
    当从所述请求队列获取排列最前的图像聚类请求时,检测所述请求队列中是否存在包含有与所述排列最前的图像聚类请求相同账户信息的图像聚类请求;及
    当存在时,将包含有与所述排列最前的图像聚类请求相同账户信息的图像聚类请求和所述排列最前的图像聚类请求进行合并。
  14. 根据权利要求12或13所述方法,其特征在于,所述根据所述图像聚类请求对已上传的图像进行聚类,包括:
    获取合并后的图像聚类请求包含的图像信息;
    根据所述图像信息获取与所述合并后的图像聚类请求对应的已上传的图像的图像特征;及
    通过预设的模型对所述已上传的图像的图像特征进行聚类,确定所述已上传的图像的组别并分配对应的组别标签。
  15. 一种图像处理装置,包括:
    信息获取模块,用于当满足第一预设条件时,获取待聚类图像的第一图像信息;
    第一聚类模块,用于根据所述第一图像信息对所述待聚类图像进行聚类,得到第一聚类结果;
    第一发送模块,用于当满足第二预设条件时,向服务器发送图像聚类请求,所述图像聚类请求用于指示所述服务器对已上传至所述服务器的图像进行聚类,并得到第二聚类结果;及
    更新模块,用于接收由所述服务器返回的第二聚类结果,并根据预设规则对所述第一聚类结果和所述第二聚类结果中的至少一种进行更新。
  16. 一种图像处理装置,包括:
    接收模块,用于接收移动终端发送的图像聚类请求,所述图像聚类请求为所述移动终端满足第二预设条件时发送;
    第二聚类模块,用于根据所述图像聚类请求对已上传的图像进行聚类,得到第二聚类结果;及
    第二发送模块,用于向所述移动终端发送所述第二聚类结果,所述第二聚类结果用于由所述移动终端根据预设规则对第一聚类结果及第二聚类结果中的至少一种进行更新,所述第一聚类结果为所述移动终端满足第一状态时对待聚类图像进行聚类得到。
  17. 一种计算机设备,包括存储器及处理器,所述存储器中储存有计算机可执行指令,所述计算机可执行指令被所述处理器执行时,使得所述处理器执行时实现如权利要求1至10任一所述的方法。
  18. 一种计算机设备,包括存储器及处理器,所述存储器中储存有计算机可执行指令,所述计算机可执行指令被所述处理器执行时,使得所述处理器执行时实现如权利要求11至14任一所述的方法。
  19. 一个或多个存储有计算机可执行指令的非易失性可读存储介质,所述计算机可执行指令被一个或多个处理器执行时,使得所述一个或多个处理器执行时实现如权利要求1至10任一所述的方法。
  20. 一个或多个存储有计算机可执行指令的非易失性可读存储介质,所述计算机可执行指令被一个或多个处理器执行时,使得所述一个或多个处理器执行时实现如权利要求11至14任一所述的方法。
PCT/CN2017/101948 2017-09-15 2017-09-15 图像处理方法、装置、计算机设备及非易失性可读存储介质 WO2019051801A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP17925288.7A EP3680785A4 (en) 2017-09-15 2017-09-15 IMAGE PROCESSING PROCESS AND APPARATUS, COMPUTER DEVICE AND NON-VOLATIL READABLE INFORMATION MEDIA
PCT/CN2017/101948 WO2019051801A1 (zh) 2017-09-15 2017-09-15 图像处理方法、装置、计算机设备及非易失性可读存储介质
US16/818,509 US11314803B2 (en) 2017-09-15 2020-03-13 Method for image-processing and mobile terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/101948 WO2019051801A1 (zh) 2017-09-15 2017-09-15 图像处理方法、装置、计算机设备及非易失性可读存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/818,509 Continuation US11314803B2 (en) 2017-09-15 2020-03-13 Method for image-processing and mobile terminal

Publications (1)

Publication Number Publication Date
WO2019051801A1 true WO2019051801A1 (zh) 2019-03-21

Family

ID=65722377

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/101948 WO2019051801A1 (zh) 2017-09-15 2017-09-15 图像处理方法、装置、计算机设备及非易失性可读存储介质

Country Status (3)

Country Link
US (1) US11314803B2 (zh)
EP (1) EP3680785A4 (zh)
WO (1) WO2019051801A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800744B (zh) * 2019-03-18 2021-08-20 深圳市商汤科技有限公司 图像聚类方法及装置、电子设备和存储介质
CN111079557B (zh) * 2019-11-25 2023-08-25 山大地纬软件股份有限公司 基于人脸识别的电力营业厅客服终端自动分配方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101965578A (zh) * 2008-02-28 2011-02-02 传感电子有限责任公司 集体学习的模式分类系统和方法
CN103207870A (zh) * 2012-01-17 2013-07-17 华为技术有限公司 一种照片分类管理方法、服务器、装置及系统
CN106777007A (zh) * 2016-12-07 2017-05-31 北京奇虎科技有限公司 相册分类优化方法、装置及移动终端
US20170154209A1 (en) * 2015-12-01 2017-06-01 Canon Kabushiki Kaisha Image identification apparatus and image identification method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519200B2 (en) * 2005-05-09 2009-04-14 Like.Com System and method for enabling the use of captured images through recognition
US8396246B2 (en) * 2008-08-28 2013-03-12 Microsoft Corporation Tagging images with labels
CN106055554A (zh) 2016-04-25 2016-10-26 珠海格力电器股份有限公司 一种电子相册分类方法、系统及终端
CN106156347A (zh) 2016-07-21 2016-11-23 北京奇虎科技有限公司 云相册分类展示方法、装置及服务器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101965578A (zh) * 2008-02-28 2011-02-02 传感电子有限责任公司 集体学习的模式分类系统和方法
CN103207870A (zh) * 2012-01-17 2013-07-17 华为技术有限公司 一种照片分类管理方法、服务器、装置及系统
US20170154209A1 (en) * 2015-12-01 2017-06-01 Canon Kabushiki Kaisha Image identification apparatus and image identification method
CN106777007A (zh) * 2016-12-07 2017-05-31 北京奇虎科技有限公司 相册分类优化方法、装置及移动终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3680785A4 *

Also Published As

Publication number Publication date
EP3680785A1 (en) 2020-07-15
EP3680785A4 (en) 2020-09-23
US20200218755A1 (en) 2020-07-09
US11314803B2 (en) 2022-04-26

Similar Documents

Publication Publication Date Title
CN107729815B (zh) 图像处理方法、装置、移动终端及计算机可读存储介质
CN107679560B (zh) 数据传输方法、装置、移动终端及计算机可读存储介质
US11323542B2 (en) Objection blocking method, terminal, server, and storage medium
US10824901B2 (en) Image processing of face sets utilizing an image recognition method
CN107622117B (zh) 图像处理方法和装置、计算机设备、计算机可读存储介质
WO2019052316A1 (zh) 图像处理方法、装置、计算机可读存储介质和移动终端
WO2019051795A1 (zh) 图像处理方法、装置、终端、服务器和计算机可读存储介质
WO2019051797A1 (zh) 图像处理方法和装置、计算机设备、计算机可读存储介质
CN107679561A (zh) 图像处理方法和装置、系统、计算机设备
US20210382850A1 (en) Album display method, electronic device, and storage medium
CN107679563A (zh) 图像处理方法和装置、系统、计算机设备
WO2019056938A1 (zh) 图像处理方法和计算机设备、计算机可读存储介质
WO2019052319A1 (zh) 数据传输方法、移动终端及计算机可读存储介质
US11314803B2 (en) Method for image-processing and mobile terminal
US10970522B2 (en) Data processing method, electronic device, and computer-readable storage medium
CN107729391B (zh) 图像处理方法、装置、计算机可读存储介质和移动终端
WO2019109887A1 (zh) 图像处理的方法、电子设备、计算机可读存储介质
CN111274463B (zh) 基于im联系人分组设置的信息展示方法、装置及存储介质
CN110196662B (zh) 一种展示同步状态的方法、装置、终端及存储介质
CN106657281B (zh) 文件共享方法及装置
WO2019051799A1 (zh) 图像处理方法、装置、移动终端、服务器和存储介质
WO2019096207A1 (zh) 图像处理方法和计算机设备、计算机可读存储介质
CN116248588A (zh) 一种针对网卡的数据包的流表规则卸载方法和装置
CN113467906A (zh) 图片处理方法、装置、设备及存储介质
CN114461676A (zh) 跨区域数据查询方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017925288

Country of ref document: EP

Effective date: 20200407