CN113326939A - Network training method, pedestrian re-identification method, network training device, pedestrian re-identification device, electronic equipment and storage medium - Google Patents

Network training method, pedestrian re-identification method, network training device, pedestrian re-identification device, electronic equipment and storage medium Download PDF

Info

Publication number
CN113326939A
CN113326939A CN202110685538.0A CN202110685538A CN113326939A CN 113326939 A CN113326939 A CN 113326939A CN 202110685538 A CN202110685538 A CN 202110685538A CN 113326939 A CN113326939 A CN 113326939A
Authority
CN
China
Prior art keywords
training
network
neural network
image data
data set
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202110685538.0A
Other languages
Chinese (zh)
Inventor
庄伟铭
张帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sensetime International Pte Ltd
Original Assignee
Sensetime International Pte Ltd
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 Sensetime International Pte Ltd filed Critical Sensetime International Pte Ltd
Priority to CN202110685538.0A priority Critical patent/CN113326939A/en
Publication of CN113326939A publication Critical patent/CN113326939A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

The disclosure relates to a network training and pedestrian re-identification method and device, an electronic device and a storage medium, which are applied to a client deployed with a first neural network and a local image data set, wherein the method comprises the following steps: receiving a first network parameter sent by a server, wherein the first network parameter is obtained by the server combining at least two clients to train a second neural network deployed at the server; performing at least one round of training on the first neural network according to the first network parameter, the local image data set and a label obtained by clustering the local image data set to obtain a second network parameter; sending a second network parameter to the server, wherein the second network parameter is used for training a second neural network deployed in the server so as to update the first network parameter; and iteratively executing the steps until the iterative training meets a first preset training condition, wherein the first neural network and/or the second neural network after the iterative training is used for carrying out image processing on the image to be processed.

Description

Network training method, pedestrian re-identification method, network training device, pedestrian re-identification device, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a method and an apparatus for network training and pedestrian re-identification, an electronic device, and a storage medium.
Background
Pedestrian Re-identification (also known as pedestrian Re-identification) is a technique that uses computer vision techniques to determine whether a particular pedestrian is present in an image or video sequence. At present, the pedestrian re-identification technology is widely applied to multiple fields and industries, such as intelligent video detection, intelligent security and the like. Since the pedestrian re-identification technology relates to privacy data such as human faces, human bodies, personal identities and the like in the process of processing an image or video frame sequence, a pedestrian re-identification method capable of avoiding privacy data leakage is urgently needed.
Disclosure of Invention
The disclosure provides a network training and pedestrian re-identification method and device, electronic equipment and a storage medium technical scheme.
According to an aspect of the present disclosure, there is provided a network training method, which is applied to a client in which a first neural network and a local image dataset are deployed, the method including: receiving a first network parameter sent by a server, wherein a second neural network is deployed in the server, and the first network parameter is obtained by training the second neural network by the server and at least one client; performing at least one round of training on the first neural network according to the first network parameter, the local image data set and a label obtained by clustering the local image data set to obtain a second network parameter; sending the second network parameters to the server, wherein the second network parameters are used for training the second neural network deployed in the server to update the first network parameters; and iteratively executing the steps until iterative training meets a first preset training condition, wherein the first neural network and/or the second neural network after iterative training are/is used for carrying out image processing on the image to be processed.
In a possible implementation manner, the performing at least one round of training on the first neural network according to the first network parameter, the local image dataset, and a label obtained by clustering the local image dataset to obtain a second network parameter includes: according to the first network parameter, the local image data set and a label obtained by clustering the local image data set, performing a current round of training on the first neural network, and determining whether the current round of training meets a second preset training condition; continuing to train the first neural network for the next round under the condition that the training of the current round does not meet the second preset training condition; or, determining the network parameter generated by the training of the current round as the second network parameter under the condition that the training of the current round meets the second preset training condition.
In one possible implementation, the method further includes: and determining the network parameters generated by the training of the preset target training round number as the second network parameters under the condition that the first neural network still does not meet the second preset training condition after the training of the preset target training round number.
In one possible implementation, the local image dataset comprises a plurality of image data subsets; the training of the current round of the first neural network according to the first network parameter, the local image data set and the label obtained by clustering the local image data set and determining whether the training of the current round meets a second preset training condition includes: and determining that the training of the current round meets the second preset training condition under the condition that the training precision corresponding to each image data subset is greater than or equal to a first training precision threshold value in the training of the current round.
In one possible implementation, the local image dataset comprises a plurality of image data subsets; the training of the current round of the first neural network according to the first network parameter, the local image data set and the label obtained by clustering the local image data set and determining whether the training of the current round meets a second preset training condition includes: determining the average training precision corresponding to the training of the current round according to the average value of the training precision corresponding to the image data subsets in the training of the current round; and under the condition that the average training precision corresponding to the training of the current round is greater than or equal to a second training precision threshold value, determining that the training of the current round meets the second preset training condition.
In one possible implementation, before performing the iterative training, the method further includes: and determining a target clustering parameter corresponding to the client, wherein the target clustering parameter is used for indicating the number of classes which need to be aggregated when a clustering operation is performed on the local image data set, the local image data set comprises a plurality of target images, and the target images in the same class correspond to the same label.
In a possible implementation manner, the determining a target clustering parameter corresponding to the client includes: determining the number of target classes corresponding to the local image data set; determining an initial class number corresponding to the local image data set according to the number of the target images; and determining the target clustering parameters according to the target class number, the initial class number and a preset training round number corresponding to iterative training.
In one possible implementation, the method further includes: clustering the target image data set according to the second network parameter and the target clustering parameter to obtain a clustering result; and updating the label corresponding to the local image data set according to the clustering result, wherein the updated label corresponding to the local image data set is used for performing at least one round of training on the first neural network in the next training round of the iterative training.
In a possible implementation manner, a classifier is further deployed in the client, and the method further includes: and updating the dimensionality of the classifier according to the clustering result.
According to an aspect of the present disclosure, there is provided a network training method, which is applied to a server in which a second neural network is deployed, the method including: receiving second network parameters sent by at least one client, wherein a first neural network and a local image data set are respectively deployed in each client, and the second network parameters are obtained by performing at least one round of training on the first neural network based on the local image data set and labels obtained by clustering the local image data set; updating the second neural network according to the at least two second network parameters to obtain a first network parameter; sending the first network parameters to each client, wherein the first network parameters are used for training the first neural network deployed in each client to update the second network parameters; and iteratively executing the steps until iterative training meets a first preset training condition, wherein the first neural network and/or the second neural network after iterative training are/is used for carrying out image processing on the image to be processed.
According to an aspect of the present disclosure, there is provided a pedestrian re-identification method including: carrying out pedestrian re-recognition on the image to be recognized through a target pedestrian re-recognition network, and determining a pedestrian re-recognition result; the target pedestrian re-identification network is obtained by training through the network training method, and the first neural network or the second neural network is obtained.
According to an aspect of the present disclosure, there is provided a network training apparatus, which is applied to a client in which a first neural network and a local image dataset are deployed, the apparatus including: the system comprises a receiving module, a sending module and a receiving module, wherein the receiving module is used for receiving a first network parameter sent by a server, a second neural network is deployed in the server, and the first network parameter is obtained by training the second neural network by the server and at least one client; the training module is used for performing at least one round of training on the first neural network according to the first network parameter, the local image data set and a label obtained by clustering the local image data set to obtain a second network parameter; a sending module, configured to send the second network parameter to the server, where the second network parameter is used to train the second neural network deployed in the server, so as to update the first network parameter; and the iteration module is used for iteratively executing the steps until the iterative training meets a first preset training condition, and the first neural network and/or the second neural network after the iterative training is used for carrying out image processing on the image to be processed.
According to an aspect of the present disclosure, there is provided a network training apparatus, which is applied to a server in which a second neural network is deployed, the apparatus including: the system comprises a receiving module, a processing module and a processing module, wherein the receiving module is used for receiving second network parameters sent by at least one client, a first neural network and a local image data set are respectively deployed in each client, and the second network parameters are obtained by performing at least one round of training on the first neural network based on the local image data set and labels obtained by clustering the local image data set; the updating module is used for updating the second neural network according to the at least two second network parameters to obtain a first network parameter; a sending module, configured to send the first network parameter to each of the clients, where the first network parameter is used to train the first neural network deployed in each of the clients to update the second network parameter; and the iteration module is used for iteratively executing the steps until the iterative training meets a first preset training condition, and the first neural network and/or the second neural network after the iterative training is used for carrying out image processing on the image to be processed.
According to an aspect of the present disclosure, there is provided a pedestrian re-recognition apparatus including: the pedestrian re-identification module is used for carrying out pedestrian re-identification on the image to be identified through the target pedestrian re-identification network and determining a pedestrian re-identification result; the target pedestrian re-identification network is obtained by training through the network training method, and the first neural network or the second neural network is obtained.
According to an aspect of the present disclosure, there is provided an electronic device including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to invoke the memory-stored instructions to perform the above-described method.
According to an aspect of the present disclosure, there is provided a computer readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement the above-described method.
In the embodiment of the disclosure, in a client deployed with a first neural network and a local image data set, a first network parameter sent by a server is received, wherein a second neural network is deployed in the server, and the first network parameter is obtained by training the second neural network by the server in combination with at least one client; performing at least one round of training on the first neural network according to the first network parameter, the local image data set and a label obtained by clustering the local image data set to obtain a second network parameter; sending a second network parameter to the server, wherein the second network parameter is used for training a second neural network deployed in the server so as to update the first network parameter; and iteratively executing the steps until the iterative training meets a first preset training condition, wherein the first neural network and/or the second neural network after the iterative training is used for carrying out image processing on the image to be processed. The client-side joint server-side performs multi-turn network training, in the joint training process, a label is obtained by clustering a local image data set deployed in the client-side, and the number of training rounds of the client-side in each training turn is dynamically adjusted, so that the client-side can realize personalized unsupervised network training.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. Other features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments, which proceeds with reference to the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the disclosure.
FIG. 1 shows a flow diagram of a network training method in accordance with an embodiment of the present disclosure;
FIG. 2 illustrates a diagram of a federated learning-based network training system in accordance with an embodiment of the present disclosure;
FIG. 3 shows a schematic diagram of personalized clustering for a client, according to an embodiment of the present disclosure;
FIG. 4 shows a flow diagram of a network training method in accordance with an embodiment of the present disclosure;
FIG. 5 shows a block diagram of a network training apparatus according to an embodiment of the present disclosure;
FIG. 6 shows a block diagram of a network training apparatus according to an embodiment of the present disclosure;
FIG. 7 shows a block diagram of an electronic device in accordance with an embodiment of the disclosure;
FIG. 8 shows a block diagram of an electronic device in accordance with an embodiment of the disclosure.
Detailed Description
Various exemplary embodiments, features and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. In the drawings, like reference numbers can indicate functionally identical or similar elements. While the various aspects of the embodiments are presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
The word "exemplary" is used exclusively herein to mean "serving as an example, embodiment, or illustration. Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
The term "and/or" herein is merely an association describing an associated object, meaning that three relationships may exist, e.g., a and/or B, may mean: a exists alone, A and B exist simultaneously, and B exists alone. In addition, the term "at least one" herein means any one of a plurality or any combination of at least two of a plurality, for example, including at least one of A, B, C, and may mean including any one or more elements selected from the group consisting of A, B and C.
Furthermore, in the following detailed description, numerous specific details are set forth in order to provide a better understanding of the present disclosure. It will be understood by those skilled in the art that the present disclosure may be practiced without some of these specific details. In some instances, methods, means, elements and circuits that are well known to those skilled in the art have not been described in detail so as not to obscure the present disclosure.
Fig. 1 shows a flow diagram of a network training method according to an embodiment of the present disclosure. The network training method may be performed by a client in which a first neural network and a local image dataset are deployed. In some possible implementations, the network training method may be implemented by a client invoking computer readable instructions stored in a memory. As shown in fig. 1, the network training method may include:
in step S11, a first network parameter sent by the server is received, where a second neural network is deployed in the server, and the first network parameter is obtained by training the second neural network by the server in combination with at least two clients.
The first neural network is deployed in the client, the client is connected with the server, and the second neural network is deployed in the server. The server side can combine the client side to conduct network training based on a federal learning algorithm. In the embodiment of the present disclosure, at least two clients are connected to the server, and the specific number of the at least two clients may be determined according to actual situations, and may be two or more.
The first neural network and the second neural network have the same network structure, and the training data needed in the training process relates to privacy data such as human faces, human bodies, personal identities and the like, so that in order to protect data privacy, the method of the embodiment of the disclosure is utilized, and the first neural network and the second neural network are jointly trained by utilizing the server and at least two clients. For example, the first neural network and the second neural network may be a pedestrian re-recognition network, a face recognition network, an identity recognition network, and the like, which is not particularly limited by the present disclosure.
The server combines at least two clients connected with the server, trains a second neural network deployed at the server, obtains a first network parameter, and further issues the first network parameter to each client, so that each client receives the first network parameter.
In step S12, at least one round of training is performed on the first neural network according to the first network parameter, the local image data set, and the label obtained by clustering the local image data set, so as to obtain a second network parameter.
The client may retrieve image data to obtain a local image dataset. Because the local image data set is label-free data, the client can also determine the label corresponding to the local image data set by clustering the local image data set in the process of performing joint training with the server. Hereinafter, details of determining the label corresponding to the local image dataset will be described in conjunction with possible implementations of the present disclosure, and will not be described herein again.
Furthermore, the client may perform local network training on the first neural network deployed locally according to the first network parameter received from the server, the local image dataset, and the label obtained by clustering the local image dataset, so as to obtain the second network parameter. The local network training comprises at least one round of training, the number of training rounds is dynamically adjusted to realize personalized training, and for example, the training round can be ended in advance under the condition that the number of training rounds is less than a preset target number of training rounds. Hereinafter, a process of dynamically adjusting the number of training rounds for training the first neural network will be described in detail with reference to possible implementation manners of the present disclosure, and details thereof are not described herein.
In step S13, the second network parameters are sent to the server, where the second network parameters are used to train a second neural network deployed in the server to update the first network parameters.
The client sends the second network parameters obtained through local training to the server, the server fuses the second network parameters uploaded by at least two clients connected with the server to obtain the updated first network parameters, and the client does not need to send image data to the server, so that data privacy can be protected.
In step S14, the above steps are iteratively performed until the iterative training satisfies the first preset training condition, and the first neural network and/or the second neural network after the iterative training is used for performing image processing on the image to be processed.
The first preset training condition may be determined according to actual conditions, for example, the first preset training condition may be a preset number of training rounds, may be a network convergence degree, and is not specifically limited by the present disclosure.
And the server side and the client side are combined to carry out iterative training so as to obtain a second neural network after training in the server side and a first neural network after training in the client side. The trained first neural network and the trained second neural network can be used for image processing of the image to be processed. The trained second neural network obtained by the server is obtained by combining at least two clients for training, and has higher universality and robustness. The trained first neural network obtained by the client is obtained by training based on the local image data set, has higher individuation, and has higher processing precision when the client performs image processing locally.
In the embodiment of the disclosure, in a client deployed with a first neural network and a local image data set, a first network parameter sent by a server is received, wherein a second neural network is deployed in the server, and the first network parameter is obtained by training the second neural network by the server in combination with at least two clients; performing at least one round of training on the first neural network according to the first network parameter, the local image data set and a label obtained by clustering the local image data set to obtain a second network parameter; sending a second network parameter to the server, wherein the second network parameter is used for training a second neural network deployed in the server so as to update the first network parameter; and iteratively executing the steps until the iterative training meets a first preset training condition, wherein the first neural network and/or the second neural network after the iterative training is used for carrying out image processing on the image to be processed.
Compared with a training mode of fixing the number of training rounds of the client in each training round in the related art, the client-side joint server performs multi-round network training, and dynamically adjusts the number of training rounds of the client in each training round in the joint training process, so that the client-side can realize personalized training.
Fig. 2 shows a diagram of a federated learning-based network training system in an embodiment of the present disclosure. As shown in fig. 2, the system includes a server and three clients (a first client, a second client, and a third client). Each client (e.g., an edge device with a network training function) is connected with a plurality of image acquisition devices (e.g., an intelligent camera), and the server is connected with a plurality of clients. And image data used for network training is transmitted to the client from the image acquisition equipment and is cached in the client to form a local image data set. And the server and the plurality of clients perform network training based on federal learning. In the whole training process, the image data for network training still remain at the client side without being uploaded to the server side, so that the data privacy can be protected.
For example, when multiple communities need to jointly train a pedestrian re-recognition network, each community deploys a client, and the client is connected with multiple image acquisition devices deployed in the community. And a plurality of clients deployed in a plurality of communities are connected to the same server so as to realize network training based on federal learning between the server and the clients. In the whole training process, the image data in each community is only stored in the client deployed in the community and does not need to be transmitted to other communities or service terminals, so that the data privacy can be protected.
For any one client, in the r training round, the method comprises the following steps: 1) the client receives first network parameters generated by the r-1 training round sent by the server, the first network parameters generated based on the r-1 training round, a local image data set deployed locally and the first network parameters generated by the r-1 training roundThe labels obtained by clustering the local image data set in each training round are used for n times for the first neural network deployed in the localrPerforming local training to obtain a second network parameter generated by the r training round, wherein nrIs an integer greater than or equal to 1 and less than or equal to a preset target training round number; 2) the client performs personalized clustering on the local image data set according to second network parameters generated in the r-th training round and target clustering parameters corresponding to the client, and a label obtained by clustering the local image data set in the r-th training round is obtained; 3) and the client side sends the second network parameters generated by the r training round to the server side, so that the server side can aggregate the second network parameters uploaded by at least two client sides to obtain the first network parameters generated by the r training round. And (4) iteratively executing the steps until the number of training rounds reaches a preset number of training rounds.
In the case where the local image dataset deployed in the client is unlabeled data, unsupervised network training needs to be performed in the client according to the local image dataset. In the unsupervised network training process, the client side carries out clustering on the local image data set and labels the local image data set without labels to generate labels corresponding to the local image data set.
According to the traditional federal learning algorithm, the same clustering parameters are set for each client, so that each client clusters the local image data set deployed in each client by using the same clustering parameters in each training turn, and a label corresponding to the local image data set is generated.
However, in practical applications, because the installation areas, installation angles, data acquisition amounts, illumination when acquiring data, and other environmental factors corresponding to the image acquisition devices connected to different clients are different, the data amounts, data distributions, and the like of local image data sets in different clients may be different, so that data heterogeneity exists between different clients. The same clustering parameters are set for different clients, and the data heterogeneity between different clients cannot be adapted to.
In one possible implementation, before performing the iterative training, the network training method further includes: and determining a target clustering parameter corresponding to the client, wherein the target clustering parameter is used for indicating the number of classes which need to be aggregated when a clustering operation is performed on a local image data set, the local image data set comprises a plurality of target images, and the target images in the same class correspond to the same label.
By determining the target clustering parameters corresponding to the client, the local image data set can be subjected to personalized clustering based on the target clustering parameters adapted to the client subsequently, so that the clustering process is more in line with the data characteristics of the client, the clustering effect is effectively improved, and the training effect of local training of the client is further effectively improved.
Still taking the above fig. 2 as an example, as shown in fig. 2, an analyzer (Profiler) and a Controller (Controller) are deployed in the client, the client determines the target clustering parameter based on the Profiler, and then the Profiler sends the target clustering parameter to the Controller, so that in the subsequent iterative training process, the Controller performs personalized clustering in each training round according to the target clustering parameter.
In a possible implementation manner, determining a target clustering parameter corresponding to a client includes: determining the number of target classes corresponding to the local image data set; determining an initial class number corresponding to the local image data set according to the number of the target images; and determining a target clustering parameter according to the target class number, the initial class number and a preset training round number corresponding to iterative training.
The local image dataset comprises a plurality of target images, and the initial class number corresponding to the local image dataset can be determined according to the number of the target images. In one example, each target image is considered as a separate class, and the number of initial classes corresponding to the local image dataset is equal to the number of the plurality of target images included in the local image dataset. For example, the local image dataset deployed in the kth client comprises nkFor each target image, the initial number of classes corresponding to the local image dataset deployed in the kth client is nk
The target class number corresponding to the local image data set refers to the real class number corresponding to the local image data set. Since the local image dataset is label-free data, the number of true classes corresponding to the local image dataset can be predicted through the Profiler. For example, the number of true classes M corresponding to the local image dataset deployed in the kth client is predicted by Profilerk,profile
In a possible implementation manner, a server and at least two clients are utilized to perform combined pre-training of a plurality of training rounds, the training precision of each client under each training round in the pre-training is analyzed, the training round that each client achieves the maximum training precision is further determined, and the corresponding class number after clustering the local image data set under the training round that each client achieves the maximum training precision is determined as the target class number corresponding to the local image data set.
For example, for the k client, the training precision of the k client in each training round is analyzed, and the r < th > reaching the maximum training precision of the k client is determinedk.profileA training round, and the kth client at the rk.profileThe corresponding class number after clustering the local image data set under each training round is determined as a target class number M corresponding to the kth clientk,profile
The method for determining the number of the target classes corresponding to the client may be other than the above method, and may also be other methods according to actual situations, which is not specifically limited in this disclosure.
The preset training round number R corresponding to iterative training of the first neural network and the second neural network based on federal learning is preset, so that the target class number M corresponding to the local image data set deployed in the kth client is obtainedk,profileAnd an initial class number nkAnd a preset training round number R corresponding to iterative training, wherein a target clustering parameter m corresponding to the kth client can be determined through the following formula (1)k
Figure BDA0003124498690000081
The target clustering parameter is used to indicate the number of classes that need to be aggregated for performing a clustering operation on the local image dataset. For example, the target clustering parameter m corresponding to the k-th clientkThat is, 2 classes need to be aggregated when a clustering operation is performed once on the local image dataset deployed in the kth client.
Fig. 3 shows a schematic diagram of personalized clustering for a client according to an embodiment of the present disclosure. As shown in fig. 3, the local image dataset deployed in the client includes 8 target images. Since the local image dataset is unlabeled data, each target image is treated as a separate class during initialization (i.e., before iterative training, where the r-th training round is 0), and at this time, the initial number of classes for clustering the local image dataset in the r-th training round is M-8. And the target clustering parameter m corresponding to the client is 2. As shown in fig. 3, in the (r-1) th training round, a clustering operation is performed on the local image dataset, and after clustering, the number M-6 of the clusters of the local image dataset; in the 2 th training round, performing a clustering operation on the local image data set, wherein the number M of the clustered local image data set is M-M4; and repeating the steps until the iterative training reaches the preset training round number.
Before a first training round of iterative training performed by the client and the server side, the Profiler determines a target parameter corresponding to the client and sends the target clustering parameter to the Controller, so that in the subsequent iterative training process, the Controller performs personalized clustering on a local image data set deployed in the client in each training round according to the target clustering parameter.
In one possible implementation, performing at least one round of training on the first neural network according to the first network parameter, the local image dataset, and the label obtained by clustering the local image dataset to obtain a second network parameter includes: performing a current round of training on the first neural network according to the first network parameter, the local image data set and a label obtained by clustering the local image data set, and determining whether the current round of training meets a second preset training condition; under the condition that the training of the current round does not meet a second preset training condition, continuing to train the first neural network for the next round; or, determining the network parameter generated by the training of the current round as the second network parameter under the condition that the training of the current round meets the second preset training condition.
Under the condition that the training of the current round meets a second preset training condition, even if the number of training rounds does not reach a preset target number of training rounds, the training round can be ended in advance, and the network parameters generated by the training of the current round are determined as second network parameters, so that the number of training rounds of the client in each training round is adjusted, and the client can realize personalized training.
In one possible implementation, the local image dataset includes a plurality of image data subsets; according to the first network parameter, the local image data set and the label obtained by clustering the local image data set, the current round of training is carried out on the first neural network, and whether the current round of training meets a second preset training condition is determined, wherein the method comprises the following steps: according to the first network parameters, labels obtained by clustering the local image data sets and each image data subset, performing current training on the first neural network, and determining the training precision corresponding to each image data subset in the current training; and determining whether the training of the current round meets a second preset training condition or not according to the training precision corresponding to each image data subset in the training of the current round.
For example, a local image dataset deployed in a client includes 100 target images, corresponding to 10 image data subsets, and then each image data subset includes 10 target images. The number of image data subsets included in the local image data set may be determined according to practical situations, and is not specifically limited by the present disclosure.
And clustering the local image data set to obtain labels, wherein the labels comprise labels corresponding to each target image in the local image data set. Therefore, according to the labels obtained by clustering the local image data set, the label corresponding to each image data subset (i.e. the image data subset includes the label corresponding to each target image) can be determined.
After receiving the first network parameters sent by the server, the client performs network training of one training round on the first neural network deployed locally, wherein one training round comprises at least one round of training on the first neural network, and each round of training further comprises multiple batches of training on the first neural network based on each image data set. For example, the local image data set includes 10 image data subsets, and each round of training includes 10 batches of training for the first neural network based on the 10 image data sets.
In the related art, each client performs training of the same training round number in each training round by setting the same training round number for each client.
However, in practical applications, because the installation areas, installation angles, data acquisition amounts, illumination when acquiring data, and other environmental factors corresponding to the image acquisition devices connected to different clients are different, the data amounts, data distributions, and the like of local image data sets in different clients may be different, so that data heterogeneity exists between different clients. Setting the same number of training rounds for different clients cannot accommodate data heterogeneity between different clients, e.g., it may cause a waste of computing power in some clients.
In the embodiment of the disclosure, the number of training rounds of the client in each training round is dynamically adjusted, so that the client realizes personalized training.
In an example, in one training round, the training process of the current training round may be dynamically adjusted according to the training accuracy corresponding to each image data subset included in each round of training.
For example, the preset target number of training rounds is 10. In the r training round, performing 1 st round of training on the first neural network based on each image data subset, determining the training precision corresponding to each image data subset in the 1 st round of training, and continuing training under the condition that the 1 st round of training does not meet second preset training conditions according to the training precision corresponding to each image data subset in the 1 st round of training; and performing 2 nd round training on the first neural network based on each image data subset, determining the training precision corresponding to each image data subset in the 2 nd round training, and under the condition that the 2 nd round training meets a second preset training condition according to the training precision corresponding to each image data subset in the 2 nd round training, ending the r-th training round even if the preset target training round number is not reached to 10, and determining the network parameters generated by the 2 nd round training as the second network parameters generated by the r-th training round.
In a possible implementation manner, the network training method further includes: and determining the network parameters generated by the training of the preset target training round number as second network parameters under the condition that the first neural network still does not meet second preset training conditions after the training of the preset target training round number.
Still taking the preset target training round number as 10 as an example, in the r-th training round, 10 rounds of training are performed on the first neural network based on each image data subset, and in the case that it is determined that each round of training does not satisfy the second preset training condition according to the training precision corresponding to each image data subset in each round of training, since the preset target training round number has been reached, the r-th training round is ended, and the network parameters generated by the 10-th training round are determined as the second network parameters generated by the r-th training round.
In a possible implementation manner, performing a current round of training on the first neural network according to the first network parameter, the local image data set, and the label obtained by clustering the local image data set, and determining whether the current round of training satisfies a second preset training condition includes: and in the current round of training, determining that the current round of training meets a second preset training condition under the condition that the training precision corresponding to each image data subset is greater than or equal to a first training precision threshold.
For example, the first training precision threshold is 100%, and in the current round of training, when the training precision corresponding to each image data subset reaches 100%, it is determined that the current round of training satisfies the second preset training condition. The specific value of the first training precision threshold may be determined according to actual conditions, which is not specifically limited by the present disclosure.
In a possible implementation manner, performing a current round of training on the first neural network according to the first network parameter, the local image data set, and the label obtained by clustering the local image data set, and determining whether the current round of training satisfies a second preset training condition includes: determining the average training precision corresponding to the training of the current round according to the average value of the training precision corresponding to the image data subsets in the training of the current round; and under the condition that the average training precision corresponding to the training of the current round is greater than or equal to a second training precision threshold value, determining that the training of the current round meets a second preset training condition.
For example, the second training accuracy threshold is 95%, and when the average value of the training accuracies corresponding to the plurality of image data subsets reaches 95% in the training of the current round, it is determined that the training of the current round satisfies the second preset training condition. The specific value of the second training precision threshold may be determined according to actual conditions, which is not specifically limited by the present disclosure.
In a possible implementation manner, the network training method further includes: clustering the local image data set according to the second network parameter and the target clustering parameter to obtain a clustering result; and updating the label corresponding to the local image data set according to the clustering result, wherein the label corresponding to the updated local image data set is used for carrying out at least one round of training on the first neural network in the next training round of iterative training.
And in the process of carrying out unsupervised training on the first neural network by the client, carrying out personalized clustering on the local image data set based on the second network parameters and the target clustering parameters generated in the training round, and updating the labels corresponding to the local image data set according to the clustering result, so that the labels corresponding to the updated local image data set are used for carrying out the training of the next training round on the first neural network.
Still taking the above fig. 3 as an example, if the initial class number of clustering the local image dataset in the r-0 th training round is M-8, the local image dataset corresponds to 8 tags in the r-1 th training round; after the local image dataset is clustered in the (r-1) th training round, the class number M-6 of the local image dataset, and the local image dataset corresponds to 6 tags in the (r-2) th training round; after the local image dataset is clustered in 2-th training round, the class number M-4 of the local image dataset, the local image dataset corresponds to 4 tags in 3-th training round.
In a possible implementation manner, a classifier is also deployed in the client, and the network training method further includes: and updating the dimensionality of the classifier according to the clustering result.
Since the client needs to use the classifier when training the first neural network, the client is also deployed with the classifier. The dimensions of the classifier are the same as the number of labels corresponding to the local image dataset. Because the clustering result obtained after clustering the local image data set can reflect the number of the labels corresponding to the local image data set, the dimensionality of the classifier is updated based on the clustering result.
And the client performs combined training on the first neural network and the classifier according to the first network parameters, the local image data set and the label obtained by clustering the local image data set. Because the classifiers in different clients are possibly different, the client only sends the second network parameters corresponding to the trained first nerves to the server, and does not need to send the network parameters of the trained classifiers to the server, so that the bandwidth is saved, and the training efficiency is improved.
The joint training of client-server based on federal learning is explained in detail by taking fig. 2 and 3 as an example as well. The client only takes the first client as an example, and the training processes of the other second clients and the third client are similar to those of the first client, and are not repeated.
Server side initializationAnd (3) quantizing the second neural network to obtain a first network parameter theta generated by the (r-0) th training roundr=0The server side converts the first network parameter theta into a first network parameterr=0And sending the data to three clients to start iterative training.
In the 1 st training round, 1) the first client receives the first network parameter θ sent by the serverr=0According to a first network parameter thetar=0The local image dataset, the tags obtained by clustering the local image dataset in the r 0 training round (the number of the tags M is 8, which is the number of the target images included in the local image dataset), and the classifier xir=0(classifier xir=0Dimension of 8) is performed on the first neural network
Figure BDA0003124498690000121
Performing network training to obtain a second network parameter
Figure BDA0003124498690000122
2) Second network parameters
Figure BDA0003124498690000123
As a network parameter of the first neural network, performing feature extraction on each target image in the local image data set by using the first neural network to obtain a plurality of image features, and clustering the parameters m according to the target corresponding to the first client1And 2, carrying out personalized clustering on the plurality of image features to obtain the class number M of the local image data set which is M-M16; 3) updating the label corresponding to the local image dataset (the number of the labels is updated to be M ═ 6), and updating the classifier xir=0To obtain an updated classifier xir=1(classifier xir=1The dimension of (d) is 6); 4) sending the second network parameter to the server
Figure BDA0003124498690000124
Similarly, the second client and the third client respectively send the second network parameters to the server
Figure BDA0003124498690000125
And
Figure BDA0003124498690000126
second network parameters sent by the server to the three clients
Figure BDA0003124498690000127
And
Figure BDA0003124498690000128
performing fusion to obtain a first network parameter theta generated by the (r 1) th training roundr=1And sending the first network parameter theta to the three clients respectivelyr=1
In 2 training rounds, for a first client, 1) the first client receives a first network parameter θ sent by a serverr=1According to a first network parameter thetar=1The local image data set, the label (the number of labels M is 6) obtained by clustering the local image data set in the (r is 1) training round, and the classifier xir=1(classifier xir=1Is 6) is performed on the first neural network
Figure BDA0003124498690000129
Performing network training to obtain a second network parameter
Figure BDA00031244986900001210
2) Second network parameters
Figure BDA00031244986900001211
As a network parameter of the first neural network, performing feature extraction on each target image in the local image data set by using the first neural network to obtain a plurality of image features, and clustering the parameters m according to the target corresponding to the first client1And 2, carrying out personalized clustering on the plurality of image features to obtain the class number M of the local image data set which is M-M14; 3) updating the label corresponding to the local image dataset (the number of the labels is updated to M ═ 4), and updating the classifier xir=1To obtainTo updated classifier xir=2(classifier xir=2Is 4); 4) sending the second network parameter to the server
Figure BDA0003124498690000131
Similarly, the second client and the third client respectively send the second network parameters to the server
Figure BDA0003124498690000132
And
Figure BDA0003124498690000133
second network parameters sent by the server to the three clients
Figure BDA0003124498690000134
And
Figure BDA0003124498690000135
performing fusion to obtain a first network parameter theta generated by 2 training roundsr=2And sending the first network parameter theta to the three clients respectivelyr=2
And repeating the steps until the iterative training meets a first preset training condition, each client obtains a first trained neural network, and the server obtains a second trained neural network.
For example, the first preset training condition is a preset number of training rounds, and at this time, network training of the preset number of training rounds is performed iteratively until the trained first neural network and second neural network are obtained through final training. The specific value of the preset training round number can be determined according to the actual situation, and the disclosure does not specifically limit the value. The first preset training condition may also be determined in other forms according to actual situations, for example, a network convergence degree, which is not specifically limited by this disclosure.
And the server side and the clients are combined to carry out iterative training so as to obtain a second neural network after training in the server side and obtain a first neural network after training in each client. The trained first neural network and the trained second neural network can be used for image processing of the image to be processed. The trained second neural network obtained by the server is obtained by combining a plurality of clients for training, and has higher universality and robustness. The trained first neural network obtained by each client is obtained by training based on the local image data set, has higher individuation, and has higher processing precision when the client performs image processing locally.
In the embodiment of the disclosure, in a client deployed with a first neural network and a local image data set, a first network parameter sent by a server is received, wherein a second neural network is deployed in the server, and the first network parameter is obtained by training the second neural network by the server in combination with at least two clients; performing at least one round of training on the first neural network according to the first network parameter, the local image data set and a label obtained by clustering the local image data set to obtain a second network parameter; sending a second network parameter to the server, wherein the second network parameter is used for training a second neural network deployed in the server so as to update the first network parameter; and iteratively executing the steps until the iterative training meets a first preset training condition, wherein the first neural network and/or the second neural network after the iterative training is used for carrying out image processing on the image to be processed. The client-side joint server-side performs multi-turn network training, in the joint training process, a label is obtained by clustering a local image data set deployed in the client-side, and the number of training rounds of the client-side in each training turn is dynamically adjusted, so that the client-side can realize personalized unsupervised network training.
Fig. 4 shows a flow diagram of a network training method according to an embodiment of the present disclosure. The network training method can be executed by a server side, and a second neural network is deployed in the server side. In some possible implementations, the network training method may be implemented by a server calling computer-readable instructions stored in a memory. As shown in fig. 4, the network training method may include:
in step S41, second network parameters sent by at least two clients are received, where each client is respectively deployed with a first neural network and a local image data set, and the second network parameters are obtained by performing at least one round of training on the first neural network based on the local image data set and a label obtained by clustering the local image data set.
In step S42, the second neural network is updated according to the at least two second network parameters to obtain the first network parameters.
In step S43, sending the first network parameters to each client, wherein the first network parameters are used for training a first neural network deployed in each client to update the second network parameters;
in step S44, the above steps are iteratively performed until the iterative training satisfies the first preset training condition, and the first neural network and/or the second neural network after the iterative training is used for performing image processing on the image to be processed.
The specific training process of the server and the client is similar to the related description, and is not repeated here.
The embodiment of the disclosure also provides a pedestrian re-identification method. The pedestrian re-identification method may be performed by a terminal device or other processing device, where the terminal device may be an image capture device (e.g., a smart camera), a User Equipment (UE), a mobile device, a User terminal, a cellular phone, a cordless phone, a Personal Digital Assistant (PDA), a handheld device, a computing device, a vehicle-mounted device, a wearable device, or the like. The other processing devices may be servers or cloud servers, etc. In some possible implementations, the image processing method may be implemented by a processor calling computer readable instructions stored in a memory. The method can comprise the following steps:
carrying out pedestrian re-recognition on the image to be recognized through a target pedestrian re-recognition network, and determining a pedestrian re-recognition result; the target pedestrian re-identification network is obtained by training by adopting the network training method of the embodiment.
The image to be recognized may be an image frame or a sequence of video frames, which is not specifically limited by the present disclosure.
In one example, the image to be recognized may be acquired within a target geographic area. The pedestrian re-identification network can perform pedestrian re-identification processing on the image to be identified collected in the target geographic area range, and determine whether characteristic pedestrians exist in the image to be identified.
In an example, when the first neural network and the second neural network are both pedestrian re-recognition networks, the trained second neural network obtained by the server has universality, and can be applied to any application scene, so that the trained second neural network obtained by the server can be used as a target pedestrian re-recognition network to realize pedestrian re-recognition processing on an image to be recognized acquired within a target geographic area range, so as to obtain a pedestrian re-recognition result.
In an example, when the first neural network and the second neural network are both pedestrian re-identification networks, local image data sets in different clients are acquired under different scenes (illumination and angles), so that data among the different clients have heterogeneity, the trained first neural network trained by the different clients according to the local image data sets has individuation and is more suitable for the local scenes, and the performance of the trained first neural network in the different clients is better than that of the trained second neural network trained by the server under the local scenes.
Therefore, under the condition that the first neural network is deployed in the target geographic area range corresponding to the image to be recognized, the trained first neural network which is more suitable for the local scene of the target geographic area range can be used as a target pedestrian re-recognition network, and the image to be recognized is subjected to pedestrian re-recognition processing, so that a recognition result with higher recognition accuracy is obtained.
It is understood that the above-mentioned method embodiments of the present disclosure can be combined with each other to form a combined embodiment without departing from the logic of the principle, which is limited by the space, and the detailed description of the present disclosure is omitted. Those skilled in the art will appreciate that in the above methods of the specific embodiments, the specific order of execution of the steps should be determined by their function and possibly their inherent logic.
In addition, the present disclosure also provides a network training/pedestrian re-identification apparatus, an electronic device, a computer-readable storage medium, and a program, which can all be used to implement any network training/pedestrian re-identification method provided by the present disclosure, and the corresponding technical solutions and descriptions and corresponding descriptions in the method section are not repeated.
Fig. 5 shows a block diagram of a network training apparatus according to an embodiment of the present disclosure. The network training device is applied to a client, and a first neural network and a local image data set are deployed in the client. As shown in fig. 5, the network training apparatus 50 includes:
a receiving module 51, configured to receive a first network parameter sent by a server, where a second neural network is deployed in the server, and the first network parameter is obtained by training the second neural network by the server in combination with at least two clients;
a training module 52, configured to perform at least one round of training on the first neural network according to the first network parameter, the local image data set, and the label obtained by clustering the local image data set, so as to obtain a second network parameter;
a sending module 53, configured to send a second network parameter to the server, where the second network parameter is used to train a second neural network deployed in the server, so as to update the first network parameter;
and the iteration module 54 is configured to iteratively perform the above steps until the iterative training meets a first preset training condition, and the first neural network and/or the second neural network after the iterative training is used to perform image processing on the image to be processed.
In one possible implementation, training module 52 includes:
the training submodule is used for carrying out current training on the first neural network according to the first network parameter, the local image data set and the label obtained by clustering the local image data set, and determining whether the current training meets a second preset training condition;
the training submodule is also used for continuing to train the first neural network for the next round under the condition that the training of the current round does not meet a second preset training condition;
and the determining submodule is used for determining the network parameters generated by the training of the current round as second network parameters under the condition that the training of the current round meets a second preset training condition.
In a possible implementation manner, the determining sub-module is further configured to determine, as the second network parameter, a network parameter generated only through training of a preset target training round number under the condition that the first neural network still does not satisfy the second preset training condition after the training of the preset target training round number.
In one possible implementation, the local image dataset includes a plurality of image data subsets;
a training submodule, specifically configured to:
and in the current round of training, determining that the current round of training meets a second preset training condition under the condition that the training precision corresponding to each image data subset is greater than or equal to a first training precision threshold.
In one possible implementation, the local image dataset includes a plurality of image data subsets;
a training submodule, further specifically configured to:
determining the average training precision corresponding to the training of the current round according to the average value of the training precision corresponding to the image data subsets in the training of the current round;
and under the condition that the average training precision corresponding to the training of the current round is greater than or equal to a second training precision threshold value, determining that the training of the current round meets a second preset training condition.
In one possible implementation, the apparatus 50 further includes: and the target clustering parameter determining module is used for determining a target clustering parameter corresponding to the client, wherein the target clustering parameter is used for indicating the number of classes which need to be aggregated when a clustering operation is performed on a local image data set, the local image data set comprises a plurality of target images, and the target images in the same class correspond to the same label.
In a possible implementation manner, the target clustering parameter determining module is specifically configured to:
determining the number of target classes corresponding to the local image data set;
determining an initial class number corresponding to the local image data set according to the number of the target images;
and determining a target clustering parameter according to the target class number, the initial class number and a preset training round number corresponding to iterative training.
The target clustering parameter determining module, the apparatus 50, further includes:
the clustering module is used for clustering the target image data set according to the second network parameter and the target clustering parameter to obtain a clustering result;
and the label updating module is used for updating labels corresponding to the local image data set according to the clustering result, wherein the labels corresponding to the updated local image data set are used for performing at least one round of training on the first neural network in the next training round of iterative training.
The target clustering parameter determining module, the client is also provided with a classifier, and the apparatus 50 further includes:
and the classifier updating module is used for updating the dimensionality of the classifier according to the clustering result.
Fig. 6 shows a block diagram of a network training apparatus according to an embodiment of the present disclosure. The network training device is applied to a server side, and a second neural network is deployed in the server side. As shown in fig. 6, the network training device 60 includes:
the receiving module 61 is configured to receive second network parameters sent by at least two clients, where each client is respectively deployed with a first neural network and a local image data set, and the second network parameters are obtained by performing at least one round of training on the first neural network based on the local image data set and a label obtained by clustering the local image data set;
an updating module 62, configured to update the second neural network according to at least two second network parameters to obtain a first network parameter;
a sending module 63, configured to send the first network parameter to each client, where the first network parameter is used to train a first neural network deployed in each client, so as to update the second network parameter;
and the iteration module 64 is configured to iteratively execute the above steps until the iterative training meets a first preset training condition, and the first neural network and/or the second neural network after the iterative training is used for performing image processing on the image to be processed.
The embodiment of the present disclosure further provides a pedestrian re-identification apparatus, including: the pedestrian re-recognition module is used for performing pedestrian re-recognition processing on the image to be recognized through the target pedestrian re-recognition network and determining a pedestrian re-recognition result; the target pedestrian re-identification network is a first neural network or a second neural network obtained by training by adopting the network training method.
In some embodiments, functions of or modules included in the apparatus provided in the embodiments of the present disclosure may be used to execute the method described in the above method embodiments, and specific implementation thereof may refer to the description of the above method embodiments, and for brevity, will not be described again here.
Embodiments of the present disclosure also provide a computer-readable storage medium having stored thereon computer program instructions, which when executed by a processor, implement the above-mentioned method. The computer readable storage medium may be a volatile or non-volatile computer readable storage medium.
An embodiment of the present disclosure further provides an electronic device, including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to invoke the memory-stored instructions to perform the above-described method.
The disclosed embodiments also provide a computer program product comprising computer readable code or a non-transitory computer readable storage medium carrying computer readable code, which when run in a processor of an electronic device, the processor in the electronic device performs the above method.
The electronic device may be provided as a terminal, server, or other form of device.
Fig. 7 shows a block diagram of an electronic device in accordance with an embodiment of the disclosure. As shown in fig. 7, the electronic device 800 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, or the like terminal.
Referring to fig. 7, electronic device 800 may include one or more of the following components: processing component 802, memory 804, power component 806, multimedia component 808, audio component 810, input/output (I/O) interface 812, sensor component 814, and communication component 816.
The processing component 802 generally controls overall operation of the electronic device 800, such as operations associated with display, telephone calls, data communications, camera operations, and recording operations. The processing components 802 may include one or more processors 820 to execute instructions to perform all or a portion of the steps of the methods described above. Further, the processing component 802 can include one or more modules that facilitate interaction between the processing component 802 and other components. For example, the processing component 802 can include a multimedia module to facilitate interaction between the multimedia component 808 and the processing component 802.
The memory 804 is configured to store various types of data to support operations at the electronic device 800. Examples of such data include instructions for any application or method operating on the electronic device 800, contact data, phonebook data, messages, pictures, videos, and so forth. The memory 804 may be implemented by any type or combination of volatile or non-volatile memory devices such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disks.
The power supply component 806 provides power to the various components of the electronic device 800. The power components 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the electronic device 800.
The multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and a user. In some embodiments, the screen may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive an input signal from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front facing camera and/or a rear facing camera. The front camera and/or the rear camera may receive external multimedia data when the electronic device 800 is in an operation mode, such as a shooting mode or a video mode. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
The audio component 810 is configured to output and/or input audio signals. For example, the audio component 810 includes a Microphone (MIC) configured to receive external audio signals when the electronic device 800 is in an operational mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals may further be stored in the memory 804 or transmitted via the communication component 816. In some embodiments, audio component 810 also includes a speaker for outputting audio signals.
The I/O interface 812 provides an interface between the processing component 802 and peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to: a home button, a volume button, a start button, and a lock button.
The sensor assembly 814 includes one or more sensors for providing various aspects of state assessment for the electronic device 800. For example, the sensor assembly 814 may detect an open/closed state of the electronic device 800, the relative positioning of components, such as a display and keypad of the electronic device 800, the sensor assembly 814 may also detect a change in the position of the electronic device 800 or a component of the electronic device 800, the presence or absence of user contact with the electronic device 800, orientation or acceleration/deceleration of the electronic device 800, and a change in the temperature of the electronic device 800. Sensor assembly 814 may include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 814 may also include a light sensor, such as a Complementary Metal Oxide Semiconductor (CMOS) or Charge Coupled Device (CCD) image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
The communication component 816 is configured to facilitate wired or wireless communication between the electronic device 800 and other devices. The electronic device 800 may access a wireless network based on a communication standard, such as a wireless network (WiFi), a second generation mobile communication technology (2G) or a third generation mobile communication technology (3G), or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 further includes a Near Field Communication (NFC) module to facilitate short-range communications. For example, the NFC module may be implemented based on Radio Frequency Identification (RFID) technology, infrared data association (IrDA) technology, Ultra Wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
In an exemplary embodiment, the electronic device 800 may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), controllers, micro-controllers, microprocessors or other electronic components for performing the above-described methods.
In an exemplary embodiment, a non-transitory computer-readable storage medium, such as the memory 804, is also provided that includes computer program instructions executable by the processor 820 of the electronic device 800 to perform the above-described methods.
FIG. 8 shows a block diagram of an electronic device in accordance with an embodiment of the disclosure. As shown in fig. 8, electronic device 1900 may be provided as a server. Referring to fig. 8, electronic device 1900 includes a processing component 1922 further including one or more processors and memory resources, represented by memory 1932, for storing instructions, e.g., applications, executable by processing component 1922. The application programs stored in memory 1932 may include one or more modules that each correspond to a set of instructions. Further, the processing component 1922 is configured to execute instructions to perform the above-described method.
The electronic device 1900 may also include a power component 1926 configured to perform power management of the electronic device 1900, a wired or wireless network interface 1950 configured to connect the electronic device 1900 to a network, and an input/output (I/O) interface 1958. The electronic device 1900 may operate based on an operating system, such as the Microsoft Server operating system (Windows Server), stored in the memory 1932TM) Apple Inc. of the present application based on the graphic user interface operating System (Mac OS X)TM) Multi-user, multi-process computer operating system (Unix)TM) Free and open native code Unix-like operating System (Linux)TM) Open native code Unix-like operating System (FreeBSD)TM) Or the like.
In an exemplary embodiment, a non-transitory computer readable storage medium, such as the memory 1932, is also provided that includes computer program instructions executable by the processing component 1922 of the electronic device 1900 to perform the above-described methods.
The present disclosure may be systems, methods, and/or computer program products. The computer program product may include a computer-readable storage medium having computer-readable program instructions embodied thereon for causing a processor to implement various aspects of the present disclosure.
The computer readable storage medium may be a tangible device that can hold and store the instructions for use by the instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic memory device, a magnetic memory device, an optical memory device, an electromagnetic memory device, a semiconductor memory device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device, such as punch cards or in-groove projection structures having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media as used herein is not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or electrical signals transmitted through electrical wires.
The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a respective computing/processing device, or to an external computer or external storage device via a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing/processing device.
The computer program instructions for carrying out operations of the present disclosure may be assembler instructions, Instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, the electronic circuitry that can execute the computer-readable program instructions implements aspects of the present disclosure by utilizing the state information of the computer-readable program instructions to personalize the electronic circuitry, such as a programmable logic circuit, a Field Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA).
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable medium storing the instructions comprises an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The computer program product may be embodied in hardware, software or a combination thereof. In an alternative embodiment, the computer program product is embodied in a computer storage medium, and in another alternative embodiment, the computer program product is embodied in a Software product, such as a Software Development Kit (SDK), or the like.
Having described embodiments of the present disclosure, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen in order to best explain the principles of the embodiments, the practical application, or improvements made to the technology in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (16)

1. A network training method is applied to a client, wherein a first neural network and a local image data set are deployed in the client, and the method comprises the following steps:
receiving a first network parameter sent by a server, wherein a second neural network is deployed in the server, and the first network parameter is obtained by training the second neural network by the server and at least two clients;
performing at least one round of training on the first neural network according to the first network parameter, the local image data set and a label obtained by clustering the local image data set to obtain a second network parameter;
sending the second network parameters to the server, wherein the second network parameters are used for training the second neural network deployed in the server to update the first network parameters;
and iteratively executing the steps until iterative training meets a first preset training condition, wherein the first neural network and/or the second neural network after iterative training are/is used for carrying out image processing on the image to be processed.
2. The method of claim 1, wherein the performing at least one round of training on the first neural network based on the first network parameters, the local image dataset, and a label obtained by clustering the local image dataset to obtain second network parameters comprises:
according to the first network parameter, the local image data set and a label obtained by clustering the local image data set, performing a current round of training on the first neural network, and determining whether the current round of training meets a second preset training condition;
continuing to train the first neural network for the next round under the condition that the training of the current round does not meet the second preset training condition; or,
and determining the network parameters generated by the training of the current round as the second network parameters under the condition that the training of the current round meets the second preset training condition.
3. The method of claim 2, further comprising:
and determining the network parameters generated by the training of the preset target training round number as the second network parameters under the condition that the first neural network still does not meet the second preset training condition after the training of the preset target training round number.
4. A method according to claim 2 or 3, wherein the local image dataset comprises a plurality of image data subsets;
the training of the current round of the first neural network according to the first network parameter, the local image data set and the label obtained by clustering the local image data set and determining whether the training of the current round meets a second preset training condition includes:
and determining that the training of the current round meets the second preset training condition under the condition that the training precision corresponding to each image data subset is greater than or equal to a first training precision threshold value in the training of the current round.
5. A method according to claim 2 or 3, wherein the local image dataset comprises a plurality of image data subsets;
the training of the current round of the first neural network according to the first network parameter, the local image data set and the label obtained by clustering the local image data set and determining whether the training of the current round meets a second preset training condition includes:
determining the average training precision corresponding to the training of the current round according to the average value of the training precision corresponding to the image data subsets in the training of the current round;
and under the condition that the average training precision corresponding to the training of the current round is greater than or equal to a second training precision threshold value, determining that the training of the current round meets the second preset training condition.
6. The method of any of claims 1-5, wherein prior to performing the iterative training, the method further comprises:
and determining a target clustering parameter corresponding to the client, wherein the target clustering parameter is used for indicating the number of classes which need to be aggregated when a clustering operation is performed on the local image data set, the local image data set comprises a plurality of target images, and the target images in the same class correspond to the same label.
7. The method of claim 6, wherein the determining the target clustering parameter corresponding to the client comprises:
determining the number of target classes corresponding to the local image data set;
determining an initial class number corresponding to the local image data set according to the number of the target images;
and determining the target clustering parameters according to the target class number, the initial class number and a preset training round number corresponding to iterative training.
8. The method according to any one of claims 6 to 7, further comprising:
clustering the target image data set according to the second network parameter and the target clustering parameter to obtain a clustering result;
and updating the label corresponding to the local image data set according to the clustering result, wherein the updated label corresponding to the local image data set is used for performing at least one round of training on the first neural network in the next training round of the iterative training.
9. The method of claim 8, wherein a classifier is further deployed in the client, and wherein the method further comprises:
and updating the dimensionality of the classifier according to the clustering result.
10. A network training method, applied to a server in which a second neural network is deployed, the method comprising:
receiving second network parameters sent by at least two clients, wherein a first neural network and a local image data set are respectively deployed in each client, and the second network parameters are obtained by performing at least one round of training on the first neural network based on the local image data set and labels obtained by clustering the local image data set;
updating the second neural network according to the at least two second network parameters to obtain a first network parameter;
sending the first network parameters to each client, wherein the first network parameters are used for training the first neural network deployed in each client to update the second network parameters;
and iteratively executing the steps until iterative training meets a first preset training condition, wherein the first neural network and/or the second neural network after iterative training are/is used for carrying out image processing on the image to be processed.
11. A pedestrian re-identification method is characterized by comprising the following steps:
carrying out pedestrian re-recognition on the image to be recognized through a target pedestrian re-recognition network, and determining a pedestrian re-recognition result;
the target pedestrian re-identification network is a first neural network or a second neural network obtained by training through the network training method of any one of claims 1 to 10.
12. A network training apparatus applied to a client, the client having a first neural network and a local image data set deployed therein, the apparatus comprising:
the system comprises a receiving module, a first network parameter and a second network parameter, wherein the receiving module is used for receiving a first network parameter sent by a server, a second neural network is deployed in the server, and the first network parameter is obtained by training the second neural network by the server combining at least two clients;
the training module is used for performing at least one round of training on the first neural network according to the first network parameter, the local image data set and a label obtained by clustering the local image data set to obtain a second network parameter;
a sending module, configured to send the second network parameter to the server, where the second network parameter is used to train the second neural network deployed in the server, so as to update the first network parameter;
and the iteration module is used for iteratively executing the steps until the iterative training meets a first preset training condition, and the first neural network and/or the second neural network after the iterative training is used for carrying out image processing on the image to be processed.
13. A network training apparatus, applied to a server in which a second neural network is deployed, the apparatus comprising:
the receiving module is used for receiving second network parameters sent by at least two clients, wherein a first neural network and a local image data set are respectively deployed in each client, and the second network parameters are obtained by performing at least one round of training on the first neural network based on the local image data set and labels obtained by clustering the local image data set;
the updating module is used for updating the second neural network according to the at least two second network parameters to obtain a first network parameter;
a sending module, configured to send the first network parameter to each of the clients, where the first network parameter is used to train the first neural network deployed in each of the clients to update the second network parameter;
and the iteration module is used for iteratively executing the steps until the iterative training meets a first preset training condition, and the first neural network and/or the second neural network after the iterative training is used for carrying out image processing on the image to be processed.
14. A pedestrian re-recognition apparatus, comprising:
the pedestrian re-identification module is used for carrying out pedestrian re-identification on the image to be identified through the target pedestrian re-identification network and determining a pedestrian re-identification result;
the target pedestrian re-identification network is a first neural network or a second neural network obtained by training through the network training method of any one of claims 1 to 10.
15. An electronic device, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to invoke the memory-stored instructions to perform the method of any of claims 1 to 11.
16. A computer readable storage medium having computer program instructions stored thereon, which when executed by a processor implement the method of any one of claims 1 to 11.
CN202110685538.0A 2021-06-21 2021-06-21 Network training method, pedestrian re-identification method, network training device, pedestrian re-identification device, electronic equipment and storage medium Pending CN113326939A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110685538.0A CN113326939A (en) 2021-06-21 2021-06-21 Network training method, pedestrian re-identification method, network training device, pedestrian re-identification device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110685538.0A CN113326939A (en) 2021-06-21 2021-06-21 Network training method, pedestrian re-identification method, network training device, pedestrian re-identification device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN113326939A true CN113326939A (en) 2021-08-31

Family

ID=77423961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110685538.0A Pending CN113326939A (en) 2021-06-21 2021-06-21 Network training method, pedestrian re-identification method, network training device, pedestrian re-identification device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113326939A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113807369A (en) * 2021-09-26 2021-12-17 北京市商汤科技开发有限公司 Target re-identification method and device, electronic equipment and storage medium

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018110947A1 (en) * 2017-05-05 2018-11-08 Jonah Alben LOSS CALING FOR LOW NEURONAL NETWORK TRAINING WITH REDUCED PRECISION
CN109117953A (en) * 2018-09-11 2019-01-01 北京迈格威科技有限公司 Network parameter training method and system, server, client and storage medium
CN111160531A (en) * 2019-12-30 2020-05-15 北京迈格威科技有限公司 Distributed training method and device of neural network model and electronic equipment
CN111462097A (en) * 2020-04-03 2020-07-28 深圳前海微众银行股份有限公司 Image processing method, device, equipment and storage medium based on federal learning
WO2020229684A1 (en) * 2019-05-16 2020-11-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concepts for federated learning, client classification and training data similarity measurement
CN112001321A (en) * 2020-08-25 2020-11-27 商汤国际私人有限公司 Network training method, pedestrian re-identification method, network training device, pedestrian re-identification device, electronic equipment and storage medium
CN112651511A (en) * 2020-12-04 2021-04-13 华为技术有限公司 Model training method, data processing method and device
CN112686370A (en) * 2020-12-25 2021-04-20 深圳前海微众银行股份有限公司 Network structure search method, device, equipment, storage medium and program product
CN112862011A (en) * 2021-03-31 2021-05-28 中国工商银行股份有限公司 Model training method and device based on federal learning and federal learning system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018110947A1 (en) * 2017-05-05 2018-11-08 Jonah Alben LOSS CALING FOR LOW NEURONAL NETWORK TRAINING WITH REDUCED PRECISION
CN109117953A (en) * 2018-09-11 2019-01-01 北京迈格威科技有限公司 Network parameter training method and system, server, client and storage medium
WO2020229684A1 (en) * 2019-05-16 2020-11-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concepts for federated learning, client classification and training data similarity measurement
CN111160531A (en) * 2019-12-30 2020-05-15 北京迈格威科技有限公司 Distributed training method and device of neural network model and electronic equipment
CN111462097A (en) * 2020-04-03 2020-07-28 深圳前海微众银行股份有限公司 Image processing method, device, equipment and storage medium based on federal learning
CN112001321A (en) * 2020-08-25 2020-11-27 商汤国际私人有限公司 Network training method, pedestrian re-identification method, network training device, pedestrian re-identification device, electronic equipment and storage medium
CN112651511A (en) * 2020-12-04 2021-04-13 华为技术有限公司 Model training method, data processing method and device
CN112686370A (en) * 2020-12-25 2021-04-20 深圳前海微众银行股份有限公司 Network structure search method, device, equipment, storage medium and program product
CN112862011A (en) * 2021-03-31 2021-05-28 中国工商银行股份有限公司 Model training method and device based on federal learning and federal learning system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113807369A (en) * 2021-09-26 2021-12-17 北京市商汤科技开发有限公司 Target re-identification method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
CN112001321B (en) Network training method, pedestrian re-identification method, device, electronic equipment and storage medium
CN110348537B (en) Image processing method and device, electronic equipment and storage medium
US20210019562A1 (en) Image processing method and apparatus and storage medium
CN112241673B (en) Video processing method and device, electronic equipment and storage medium
CN109934275B (en) Image processing method and device, electronic equipment and storage medium
CN110569777B (en) Image processing method and device, electronic device and storage medium
CN109711546B (en) Neural network training method and device, electronic equipment and storage medium
CN111783756A (en) Text recognition method and device, electronic equipment and storage medium
CN111881956A (en) Network training method and device, target detection method and device and electronic equipment
CN111340731B (en) Image processing method and device, electronic equipment and storage medium
CN110532956B (en) Image processing method and device, electronic equipment and storage medium
CN110458218B (en) Image classification method and device and classification network training method and device
CN111445414B (en) Image processing method and device, electronic equipment and storage medium
CN109615006B (en) Character recognition method and device, electronic equipment and storage medium
CN110781957A (en) Image processing method and device, electronic equipment and storage medium
CN111310664B (en) Image processing method and device, electronic equipment and storage medium
CN109934240B (en) Feature updating method and device, electronic equipment and storage medium
CN112270288A (en) Living body identification method, access control device control method, living body identification device, access control device and electronic device
CN111523346A (en) Image recognition method and device, electronic equipment and storage medium
CN114332503A (en) Object re-identification method and device, electronic equipment and storage medium
CN110633715B (en) Image processing method, network training method and device and electronic equipment
CN113506229B (en) Neural network training and image generating method and device
CN111369482A (en) Image processing method and device, electronic equipment and storage medium
CN113538310A (en) Image processing method and device, electronic equipment and storage medium
CN110929545A (en) Human face image sorting method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210831