{'fraction_non_alphanumeric': 0.03530204219099232, 'fraction_numerical': 0.014573956706775665, 'mean_word_length': 4.690243902439025, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 11, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Going Deeper into Semi-supervised Person Re-identification

Person re-identification is the challenging task of identifying a person across different camera views. Training a convolutional neural network (CNN) for this task requires annotating a large dataset, and hence, it involves the time-consuming manual matching of people across cameras. To reduce the need for labeled data, we focus on a semi-supervised approach that requires only a subset of the training data to be labeled. We conduct a comprehensive survey in the area of person re-identification with limited labels. Existing works in this realm are limited in the sense that they utilize features from multiple CNNs and require the number of identities in the unlabeled data to be known. To overcome these limitations, we propose to employ part-based features from a single CNN without requiring the knowledge of the label space (i.e., the number of identities). This makes our approach more suitable for practical scenarios, and it significantly reduces the need for computational resources. We also propose a PartMixUp loss that improves the discriminative ability of learned part-based features for pseudo-labeling in semi-supervised settings. Our method outperforms the state-of-the-art results on three large-scale person re-id datasets and achieves the same level of performance as fully supervised methods with only one-third of labeled identities.


Introduction
The person re-identification (re-id) task aims at matching images of the same person captured by non-overlapping surveillance cameras. Convolutional neural networks (CNN) have demonstrated good results on large-scale crosscamera annotated datasets of pedestrians [1,2,3,4,5,6,7]. However, annotating person identities in multiple camera views is a labor-intensive task in practical scenarios. Therefore, a more realistic setting called semisupervised person re-identification has gained attention in recent years, where a subset of data is annotated across cameras, and the rest of the data is used without labels.
Pseudo-labeling 1 is one of the key components in the recent semi-supervised learning approaches [8]. However, a critical challenge of pseudo-labeling for semi-supervised person re-id is that the number of identities is unknown in the unlabeled subset. Existing works aim to solve this problem by fixing the number of unlabeled identities during training [9,10], or by utilizing features from multiple CNNs to improve the quality of pseudo-labels [9,10,11]. These approaches are limited in the sense that making an assumption on the number of unlabeled identities is not feasible in practical scenarios. Moreover, ensembling multiple networks is computationally intensive, memory-wise and time-wise, at the training and test stage.
To overcome these limitations, we propose a pseudo-labeling method that does not require the number of unlabeled identities to be known/assumed. In contrast to network ensembling approaches, we propose to use a single model, which significantly reduces the space and time complexity. Motivated by the success of part-based features for supervised learning [12,4,3,13], we propose to employ part-based embeddings for pseudo-labeling in semi-supervised settings. We consider semantic parts of the image, and a pseudo-label is derived based on consensus clustering of parts embeddings. Our method does not require a sophisticated part detector and performs well with coarse part detection such as equal horizontal stripes [13] because images of people are mostly walking pedestrians. To the best of our knowledge, our method is the first to utilize embeddings of semantic parts to compute pseudo-labels.
The key challenge in learning embeddings with the triplet loss is mining hard triplets that contribute non-zero value to the loss [5]. To improve part-based embeddings' learning and discriminative ability, we propose a PartMixUp loss function that minimizes the distances between more difficult training samples compared to the triplet loss. We utilize the observation that for the pair of pedestrian images to be negative (images from different people), it is sufficient that only one semantic part is different. For example, if only the shoes are different, it is considered a different identity in person re-identification. Therefore, we create training pairs that contribute non-zero value by sampling an image of a person and its copy where some semantic parts are replaced with corresponding parts from a different random identity. We perform this operation on the embedding level and do not manipulate input images. The advantage of this technique is that it can be used on both labeled and unlabeled images, provided that identities are disjoint to avoid replacing a part from the same identity.
The main assumptions that we make in this work are as follows: (1) the labeled and unlabeled data comes from the same domain. This represents a real-world use case when only a subset of the collected data is labeled; (2) the labeled and unlabeled subsets have disjoint identities, representing a practical scenario where annotated and unlabeled images come from different time periods.
In summary, the main contributions of the paper are three-fold: • we are the first to conduct an in-depth survey of existing works in person re-id with limited annotations and identify their advantages and limitations; • we propose a novel method for semi-supervised person re-identification based on consensus clustering of embeddings for semantic parts that do not make an assumption about the number of identities in the unlabeled subset; • we introduce a PartMixUp loss for enhancing the learning of discriminative embeddings by mixing up embeddings of semantic parts.
The rest of the paper is organized as follows. We first conduct a comprehensive overview of person re-id from the perspective of the amount of annotated data in Section 2. Then we describe our proposed semi-supervised training method for the re-id task and PartMixUp loss in Section 3. Finally, we demonstrate the results of our experiments, evaluate the method's components and discuss ablation studies in Section 4.
Person re-identification is a wide research area that has been studied from various perspectives including deep feature learning, ranking optimization and metric learning. Recent surveys [29,30,31] have conducted a comprehensive overview and systematize existing works in person re-id. Different from previous surveys, we specifically focus on the limited labels scenario which is a less studied research. We highlight the assumptions and limitations of previous methods that constraint their applications to practical scenarios and propose a method that overcomes the limitations of existing works. We review person re-id methods from various perspectives including: the level of supervision (e.g., amount of labeled data), pseudo-labeling strategies, feature learning process (i.e., features learnt from multiple or single networks), and if they generate extra data for training or not. Finally, we emphasize the place of our work with respect to existing works in Figure 1.

Level of supervision
Due to the performance plateau of fully supervised methods for person re-id, the focus of the recent research has shifted to purely unsupervised, semi-supervised, one-shot per person, and intra-camera labels settings.
Unsupervised person re-id [20] is a challenging task due to the absence of target labels. Existing works utilize clustering to learn pseudo-labels [32], introduce learning soft similarity labels [28] and employ deep asymmetric metric learning [33]. However, purely unsupervised methods show inferior performance to methods with any amount of annotations.
Intra-camera labels (i.e., images of the person within one camera) are an attractive scenario as intra-camera labels are easy to obtain using tracking algorithms [34] while cross-camera labels require human effort. However, a model trained only on intra-camera labels tends to learn camera-specific features and fails to generalize across cameras [23]. To learn camera agnostic features, Qi et al. [23] propose progressive learning of cross-camera soft labels and Zhu et al. [25] design a method targeted for self-discovering the intercamera identity correspondence. Another scenario is labeling one example per identity [26,27] assuming that a few images per identity is labeled and the rest of the training images are without labels.
Although the aforementioned scenarios eliminate the tedious inter-camera identity labeling process, they require at least one example per identity to be present in the labeled training subset. Thus, we focus our attention on a semi-supervised scenario where a small subset (e.g., 10-30%) of data is annotated with cross-camera and within-camera labels.

Pseudo-labeling strategies
Pseudo-labeling is the process of assigning labels to unlabeled examples, which has been successfully applied in the classification tasks where there are a fixed list of class labels. Pseudo-labeling for person re-id is challenging as there exists an unknown number of identities in the unlabeled subset.Existing works utilize either k-means clustering [20,9,10] or kNN graphs [11,21] which work under the assumption that the number of clusters (i.e., the number of identities) is known in the unlabeled data. Unsurprisingly, the best performance is achieved where the number of clusters equals the number of true identities in the unlabeled data. Although the methods are robust to some variations in the number of assumed clusters, this requirement significantly limits their applicability in practical scenarios. In this work, we remove the requirement of prior knowledge about the number of clusters in unlabeled data.

Feature learning process
Several works utilize ensembles of neural networks to learn multi-view features and obtain pseudo-labels for the unlabeled subset [9,10,11]. However, training multiple CNNs increases the usage of memory and computational resources. Moreover, ensembling methods are usually superior to single models, and as such, it is not clear how much of the performance gain comes from the method itself as opposed to using feature ensembling. Different from previous works, our approach learns embeddings and computes pseudolabels from training a single CNN. Inspired by successful usage of part-based features [3,13,7,35] in supervised person re-id, we employ part embeddings for assigning pseudo-labels in semi-supervised settings.

Generative frameworks
A compelling approach is to generate additional labeled data using the Generative Adversarial Networks (GANs) [36]: Ding et al. [17] considers feature affinities between GAN's generated samples and labeled data to estimate labels; and Zheng et al. [37] proposes an end-to-end joint learning framework for training re-id and data generation tasks. However, challenges in generating images that depict the same identity in different poses limit the applicability of this method.
Another way to overcome the problem of scarcity of labeled data is employing a deep re-id model pre-trained on a labeled domain and transferring the knowledge to the label-scarce domain by reducing the domain discrepancy between the two domains [38]. While the aforementioned unsupervised domain adaptation strategy yields impressive performance [19,39,40], fully annotated large datasets with similar identities may not be available in many practical scenarios. Therefore, we focus on semi-supervised learning from only one domain to alleviate the need for an external dataset or identity annotation.

Pseudo-labeling via consensus clustering of semantic part embeddings
We employ part-level features and propose a consensus clustering of semantic part embeddings for pseudo-labeling in semi-supervised person reidentification. By clustering embeddings for semantic image parts, each image gets a list of cluster assignments (c 1 , c 2 , . . . , c Q ) where Q denotes the number of semantic parts. The list (c 1 , c 2 , . . . , c Q ) can be seen as an encoded part description of a person. For example, if we consider a coarse partition in three body parts (head, upper body, legs), the cluster assignment can be interpreted as (dark hair, white top, black bottom). Embeddings of semantic parts are clustered independently, and pseudo-labels for images are determined based on the agreement between parts' clusters.
Our method can be used with any convolutional model that outputs part-based embeddings such as PCB [13], DPB [3] or KAE-Net [41]. The output of a model compatible with our method should be an array of part embeddings [h 1 , h 2 , . . . , h Q ], with h i ∈ R d , Q the number of parts, and d the dimension of the embedding space for semantic parts.
The model is optimized in multiple pseudo-labeling iterations. In particular, the model is retrained at each iteration using both labeled data and a subset of unlabeled data with computed pseudo-labels. The following section explains training steps in one pseudo-labeling iteration.

Training steps in one pseudo-labeling iteration
At each pseudo-labeling iteration, a round of model training, clustering embeddings, and assigning pseudo-labels to the unlabeled subset is performed, as illustrated in Figure 2. Let (X L , Y L ) be the labeled data with corresponding labels and X U be the unlabeled data. (X PL , Y PL ) denotes the pseudo-labeled subset which is empty at the start of the algorithm.
At the beginning of each pseudo-labeling iteration, the model f θ (x) is initialized with ImageNet [42] pre-trained weights. We found experimentally that re-initializing the model at the start of each pseudo-labeling iteration yields better performance than fine-tuning from the previous iteration. The model is optimized on the union of labeled subset (X L , Y L ) and pseudo-labeled subset (X PL , Y PL ) by minimizing the loss of Eq. (5). Once the model f θ has converged, we compute part embeddings for unlabeled images for each semantic part q are clustered independently. We explain the clustering step in detail in Section 3.1.2. The clustering result is a list of partitions [P 1 , P 2 , . . . , P Q ]. Each partition consists of k q clusters so that the cluster assignment is disjoint c q i ∩ c q j = ∅ and covers the whole unlabeled subset ∪ kq j=1 c q j = X U . Note that the number of clusters k q for each semantic part is different and determined during clustering.
The final step in the pseudo-labeling iteration is to aggregate partitions for each semantic part to obtain image-level pseudo-labels. We use consensus clustering [43] to aggregate multiple clustering results on a list of partitions [P 1 , P 2 , . . . , P Q ]. Consensus clustering aims to find a partition P * of the unlabeled subset X U by combining ensemble members [P 1 , P 2 , . . . , P Q ] so that P * produces better pseudo-labels than each individual partition P j . Details of consensus clustering are covered in Section 3.1.3. We then obtain pseudolabels from computed consensus clusters. A pseudo-labeled subset (X PL , Y PL ) is re-initialized with samples that have a sufficient number of examples per pseudo-label (e.g., five images per identity). Implementation details are given in Section 4.3).
After assigning samples to a pseudo-labeling subset, we proceed with the next pseudo-labeling iteration. The pseudo-code for the whole algorithm is presented in Algorithm 1. In the following sections, we review the clustering algorithm employed to cluster part embeddings. We then describe consensus clustering to aggregate part partitions.
Compute CA matrix on partitions [P 1 , P 2 , . . . , P Q ] with Equation (1) Cluster matrix 1 − M to get a partition P * Re-init a pseudo-labeled subset (X PL , Y PL ) = (∅, ∅) Assign (X PL , Y PL ) ← (x, P * (x)) for all x ∈ X U if the number of images in the cluster P * (x) is greater or equal to l until convergence or maximum iterations are reached Return: f θ

Clustering part embeddings
We cluster embeddings for each semantic part independently using hierarchical Agglomerative ("bottom-up") [44] clustering algorithm. Each observation starts in its own cluster, and pairs of clusters are merged as one moves up the hierarchy. The clusters are linked using Ward's minimum variance method [45] that minimizes the total within-cluster variance. Agglomerative clustering doesn't require the predefined number of clusters. As a criteria to merge clusters, we provide maximum distance of the clusters which we empirically set to 2 2 in the experiments The resulting number of clusters is different for each semantic part.
Apart from the agglomerative clustering, we analyze the suitability of Affinity Propagation [46] and DBSCAN [47] clustering algorithms. Previous work [17] uses Affinity Propagation with tuned preference values for each data point heuristically. We favor Agglomerative clustering over Affinity Propagation and DBSCAN as it has fewer hyperparameters that require tuning using heuristics. Ablation studies for other clustering algorithms are summarized in Section 4.6.

Consensus clustering
Consensus clustering of semantic part partitions [P 1 , P 2 , . . . , P Q ] is based on a co-association method [43] that is recommended when the number of clusters in each partition is different [48]. Co-association matrix M counts the number of partitions when x i and x j are in the same cluster. Matrix M is obtained from: with P q (x i ) representing the associated cluster of the image x i in the partition P q , and δ(a, b) = 1 if a = b, and 0 otherwise. Each value in M matrix is a measure of how many semantic parts of images x i and x j are in the same cluster. Matrix 1 − M can be considered as a new measure between images with values ranging from 0 (similar) to 1 (different). The consensus partition is obtained by applying a hierarchical clustering algorithm [49] to 1 − M matrix and varying a distance threshold when two clusters can be merged. We vary a threshold from strict (any value below 1/Q), meaning that all semantic parts are required to agree on the cluster assignment to intermediate value, when a majority (e.g., 75% of semantic parts) agree on the assignment.
The advantage of our method over previous work [22] is that it does not transfer any bias from the labeled subset because our pseudo-labeling method works solely on the unlabeled subset.

PartMixUp loss function
In order to increase the discriminative ability of part embeddings, we introduce a PartMixUp loss that extends the triplet loss [14] for part embeddings. We briefly review the triplet loss and outline its shortcomings, followed by our proposed PartMixUp loss that addresses the specified drawbacks.
Triplet loss. The triplet loss [14] accepts triplets of images (x a , x pos , x neg ) where x a (anchor) and x pos (positive) are images from the same person and an image x neg (negative) is from a different person. The triplet loss L T encourages the distances between positive pairs of embeddings to become smaller than the distances between negative pairs of embeddings by a given margin m: where D is a distance metric in the embedding space (e.g., Euclidean or cosine) and f is a model. The squared distance is commonly used to simplify the derivative computations during backpropagation. The strategy for selecting triplets (x a , x pos , x neg ) for the triplet loss is important. Generating random triplets would result in many triplets already in a correct position (a negative sample is further than a positive from the anchor by a margin m) and contribute zero value to Equation (2). Batch-hard triplet mining [5] aims to overcome this problem and selects the hardest positive (the furthest example from the same class) and the hardest negative (the closest example from a different class) within a batch for each anchor image.
PartMixUp loss. Our proposed PartMixUp loss L PM aims to further improve the triplet loss by taking advantage of semantic part embeddings. Learning discriminative part embeddings is essential for our part-based clustering, where each part contributes to the identity assignment.
PartMixUp loss builds on the observation that two different persons with similar appearances are hard to distinguish and represent useful examples for a learning algorithm. However, it is hard to mine such pairs from the dataset. We take advantage of part-based embeddings and generate such pairs for the PartMixUp loss by replacing some part embeddings of the image with the corresponding part embeddings from another person (Figure 3). The created example corresponds to a new person that differs from the original only by replaced parts. We formally demonstrate that PartMixUp loss mines hard pairs that contribute non-zero values to the loss. Let us consider a pair of part-based embeddings from different identities z a = {z 1 a , z 2 a , . . . , z Q a } and z neg = {z 1 neg , z 2 neg , . . . , z Q neg }. Semantic parts selected for replacement can be represented as two subsets U and U of a set of indices U = (1, 2, . . . , Q) so that U ⊆ U ⊆ U . The part-based embeddings z a and z a are created from z a by replacing with z neg parts with indices in U and U , respectively. More specifically, embeddings z a and z a have the same part embeddings for part indices in U and different for other parts. The same part embeddings contribute zero to the sum so the distance between a negative pair decreases when the number of similar parts increases: In other words, the more semantic parts are shared between images of two people, the harder it is to distinguish these people. For example, if two individuals are dressed the same and the only difference is in the face and hairstyle, then it is a hard pair to distinguish.
The formula for computing PartMixUp loss is as follows. PartMixUp loss L PM on a batch of embeddings Z is computed by selecting the furthest positive z pos within the batch and the closest mixed up negative z for each anchor z a : where Z is composed of Z by replacing some semantic part embeddings for each anchor z a ∈ Z with corresponding part embeddings from another identity. The number of part embeddings controls the difficulty of generated negative pairs shared in the pair: the more parts are shared, the harder the negative pair becomes (Figure 3). We will use the notation PM(a) for the PartMixUp loss with the maximum number of shared part embeddings equal to a. Replacing parts is performed between part embeddings and not in the image pixels. Cutting and pasting image parts is prone to errors in a part detector.
The key difference between our PartMixUp loss and the previous variations of the triplet loss [5,50] is that it minimizes the distances for negative pairs by creating new samples rather than searching for them within the batch. The benefit of PartMixUp loss is the improved discriminative ability of semantic part embeddings. In the ablation study (Sec. 4.6), we show that adding PartMixUp loss improves the model performance.
Total loss. In addition to the triplet and PartMixUp losses, the model is optimized with a cross-entropy loss widely used for person re-identification [6,16]. A classification layer is added at the beginning of each pseudo-labeling iteration with the number of outputs being the number of known training identities (labeled and pseudo-labeled). The overall objective is a weighted sum of all loss functions defined as: where λ CE , λ T and λ PM are the weighting factors for each loss.
Market-1501 [1] contains 32,668 images for 1501 identities captured from 6 cameras placed in front of a campus supermarket. The standard evaluation protocol [1] splits the dataset into fixed subsets: 12,936 images of 751 identities in the training subset, and 15,913 images in the gallery subset and 3,368 images in the query subset of 750 test identities (disjoint with training identities). During testing, query images are used to retrieve matching images in the gallery set. The bounding boxes are computed using Deformable Part Model (DPM) [52] making it close to realistic settings.
DukeMTMC-reID [2] contains 36,411 images for 1,404 identities captured from 8 cameras, which is a subset of the pedestrian tracking dataset. The dataset is split into three fixed subsets: 702 identities with 16,522 images are used for training, and 2,228 images from other 702 identities are used for query images retrieving the rest 17,661 gallery images. The semi-supervised settings for DukeMTMC-reID are the same as for Market-1501 dataset.
CUHK03 dataset [51] contains 14,097 images of 1,467 identities. We use the first evaluation protocol [51] (like the majority of existing works) that splits the dataset randomly 20 times, and the gallery for testing has 100 identities each time. We evaluate on bounding boxes automatically detected by DPM [52].

Evaluation protocol
We follow the semi-supervised setting of recent works [22,9] where only a 1/3 of identities is labeled and identities of labeled and unlabeled subsets are disjoint.
We assess the performance with two evaluation metrics: Cumulated Matching Characteristics (CMC) which treats the re-identification task as a ranking problem, and mean Average Precision (mAP) which treats it as an object retrieval problem. Similar to previous works [9,10,21,11,22], on Market-1501 and on DukeMCMT-reID, we report CMC at rank-1 and mAP in a single-query mode. The performance on CUHK03 is evaluated at rank-1, rank-5, rank-10 and rank-20 in a single-shot mode.

Implementation details
We use ResNet50 [53] architecture as a backbone like most other semisupervised re-id. We build on the part-based convolutional baseline (PCB) proposed in [13] that outputs part-based embeddings by pooling feature maps computed by the backbone network over regions of interest (ROI). PCB works with a coarse part detection which is a split into six equal horizontal stripes. We use PCB without refined part pooling (RPP) proposed in the same work. Utilizing a more sophisticated part detection method may further improve the results.
We perform five pseudo-labeling iterations with 100 epochs in each iteration. The model is trained with Adam optimizer [54]. The initial learning rate is set to 0.001 with decay at 60th and 80th epochs in each iteration. The Each training batch contains 10 labeled identities and 10 pseudo-labeled identities with 6 images per identity. At the first pseudo-labeling iteration, when the data has not been pseudo-labeled yet, the training batch contains only labeled data. Our method is implemented with PyTorch [55] and TorchReId [56]. We train the model on one Tesla M40 GPU 12GB. Table 1 shows results with different methods on Market-1501, DukeMTMC-reID and CUHK03 datasets with 1/3 of labeled data. As a baseline, we train the backbone architecture with image-level embeddings (BIL) in a supervised manner on the labeled subset. Semi-supervised BIL is trained with pseudolabels computed using agglomerative clustering. A semi-supervised part-based (PB) model is trained with pseudo-labels computed using concatenated partbased embeddings. Our part-based (PB) model is trained with pseudo-labels computed using consensus-clustering of part-based embeddings. Finally, the PB model with PartMixUp loss (PB+PM) is trained as the previous model with the additional PartMixUp loss component (Equation 5).

Semi-supervised evaluation
The experiment results on three datasets (Table 1) demonstrate that consensus-clustering of part-based embeddings (our PB) outperforms both clustering of image-level embeddings (semi-supervised BIL) and clustering of concatenated part-based embeddings (semi-supervised PB). Moreover, learning part-based embeddings with PartMixUp loss (our PB+PM) further  improves both Rank-1 and mAP metrics. Figures 4a and 4b show the progress of Rank-1 and the number of pseudolabeled images for different methods over pseudo-labeling iterations. Supervised training of BIL model does not utilize pseudo-labeled images so it is not shown in Figure 4b. A sharp increase in Rank-1 is observed in the second iteration due to the fact that a bulk of pseudo-labels is added to the training after the model has been pretrained on the labeled data in the first iteration.

Comparison with state-of-the-art methods
We compare the performance of our method with existing semi-supervised person re-id which use similar experimental settings on Market-1501 and DukeMTMC-reID (Table 2) and CUHK03 (Table 3). We select the setting with 1/3 labeled data that most existing works use to report the results. Our approach outperforms previous methods at both CMC and mAP metrics. Our method achieves 91.5% in Rank-1 and 76.7% in mAP on Market-1501 without the assumption on the number of identities in unlabeled data. Tables 2 and  3 show that the performance of our method on 1/3 labeled data is close to the performance of the same part-based model [13] on the whole labeled dataset, e.g. Rank-1 82.4% of our method versus 82.6% with full supervision on DukeMTMC-reID and Rank-1 91.5% of our method versus 92.3% with full supervision on Market-1501.

Ablation study
In this section, we review and evaluate various components and design choices in the proposed method.
The effect of consensus clustering. To evaluate the importance of consensus clustering, we analyze the Rand index [59] of cluster assignment on the unlabeled subset using available ground truth labels (used only for evaluation). The Rand Index is a similarity measure between two cluster partitions computed by considering the ratio of pairs that are assigned to the same clusters in the predicted and true assignments. Figure 5 shows the Rand Index of clustering for each semantic part, concatenation of part embeddings and our consensus clustering. We observe that the highest Rand Index of 0.85 is achieved with our consensus clustering comparing to the concatenation of parts (the Rand Index 0.82) and clustering by each semantic part separately (the Rand Index 0.79 -0.80).
The influence of agreement in consensus clustering. In Figure 6, we show the results of experiments with varying levels of agreement in consensus clustering on different datasets. We vary the number of semantic parts required for agreement in consensus clustering and perform experiments with strict 100% agreement (6 out of 6 parts), 83% agreement (5 out of 6 parts), 66% (4 out of 6 parts) and 50% (3 out of 6 parts). The best results are achieved when all 6 out of 6 parts agree on the cluster assignment. The performance decreases slightly when 5 out of 6 parts agree, from 91.5% to . Experiments confirm that strict agreement in consensus clustering is essential in our semi-supervised method.
The influence of the clustering method. We evaluate our method with two other clustering algorithms that do not require the pre-defined number of clusters, Affinity Propagation [46] and DBSCAN [47]. Experiments are conducted with default parameters for the clustering algorithms on the Market-1501 dataset with 1/3 and 1/6 labeled data. Table 4 shows the number of detected clusters versus the number of ground truth identities at the first pseudo-labeling iteration. Rank-1 and mAP are compared after the first iteration. We observe that DBSCAN failed to identify any clusters (similar results are observed in [23]) so DBSCAN requires tuning parameters based on heuristics that we try to avoid. Agglomerative clustering identifies more clusters than Affinity Propagation at the first iteration and yields better performance with the assigned pseudo-labels (rank-1 88.1% versus 87.4% and mAP 72.6% versus 70.3%).
The influence of PartMixUp loss. We observe that PartMixUp loss improves the re-id performance of the part-based PCB model [13] in the supervised setting and our method in the semi-supervised setting (Table 5).

Conclusion
In this paper, we propose a novel semi-supervised method for person re-id by consensus clustering of part-based embeddings. Our method assigns pseudo-labels without any assumption about the number of identities in the unlabeled subset. The pseudo-labels are assigned based on consensus clustering of part-based embeddings which yields better pseudo-labels than clustering of image-level embeddings or features from multiple CNNs. The developed PartMixUp loss improves the discriminative ability of part-based features and further increases the performance of the model. Our method utilizes only one CNN and is compatible with any CNN architecture as a backbone. Extensive experiments in various settings on multiple person re-id datasets confirm the effectiveness of the proposed approach.