Next Article in Journal
Simulation Analysis of a Wavefront Reconstruction of a Large Aperture Laser Beam
Next Article in Special Issue
A Multi-Task Fusion Strategy-Based Decision-Making and Planning Method for Autonomous Driving Vehicles
Previous Article in Journal
Feasibility of Electrodermal Activity and Photoplethysmography Data Acquisition at the Foot Using a Sock Form Factor
Previous Article in Special Issue
Evaluating and Calibrating Uncertainty Prediction in Regression Tasks
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Co-Training for Unsupervised Domain Adaptation of Semantic Segmentation Models

by
Jose L. Gómez
1,2,*,
Gabriel Villalonga
1 and
Antonio M. López
1,2
1
Computer Vision Center (CVC), Universitat Autònoma de Barcelona (UAB), 08193 Bellaterra, Spain
2
Computer Science Department, Universitat Autònoma de Barcelona (UAB), 08193 Bellaterra, Spain
*
Author to whom correspondence should be addressed.
Sensors 2023, 23(2), 621; https://doi.org/10.3390/s23020621
Submission received: 17 October 2022 / Revised: 27 December 2022 / Accepted: 3 January 2023 / Published: 5 January 2023
(This article belongs to the Special Issue Machine Learning for Autonomous Driving Perception and Prediction)

Abstract

:
Semantic image segmentation is a core task for autonomous driving, which is performed by deep models. Since training these models draws to a curse of human-based image labeling, the use of synthetic images with automatically generated labels together with unlabeled real-world images is a promising alternative. This implies addressing an unsupervised domain adaptation (UDA) problem. In this paper, we propose a new co-training procedure for synth-to-real UDA of semantic segmentation models. It performs iterations where the (unlabeled) real-world training images are labeled by intermediate deep models trained with both the (labeled) synthetic images and the real-world ones labeled in previous iterations. More specifically, a self-training stage provides two domain-adapted models and a model collaboration loop allows the mutual improvement of these two models. The final semantic segmentation labels (pseudo-labels) for the real-world images are provided by these two models. The overall procedure treats the deep models as black boxes and drives their collaboration at the level of pseudo-labeled target images, i.e., neither modifying loss functions is required, nor explicit feature alignment. We test our proposal on standard synthetic and real-world datasets for onboard semantic segmentation. Our procedure shows improvements ranging from approximately 13 to 31 mIoU points over baselines.

1. Introduction

Semantic image segmentation is a central and challenging task in autonomous driving, as it involves predicting a class label (e.g., Road, Pedestrian, Vehicle, etc) per pixel in outdoor images. Therefore, non-surprisingly, the development of deep models for semantic segmentation has received a great deal of interest since deep learning is the core for solving computer vision tasks [1,2,3,4,5,6,7]. In this paper, we do not aim at proposing a new deep model architecture for onboard semantic segmentation, but our focus is on the training process of semantic segmentation models. More specifically, we explore the setting where such models must perform in real-world images, while for training them we have access to automatically generated synthetic images with semantic labels together with unlabeled real-world images. It is well-known that training deep models on synthetic images for performing on real-world ones requires domain adaptation [8,9], which must be unsupervised if we have no labels from real-world images [10]. Thus, this paper falls into the realm of unsupervised domain adaptation (UDA) for semantic segmentation [11,12,13,14,15,16,17,18,19,20,21,22], i.e., in contrast to assuming access to labels from the target domain [23,24]. Note that the great relevance of UDA in this context comes from the fact that, until now, pixel-level semantic image segmentation labels are obtained by cumbersome and error-prone manual work. In fact, this is the reason why the use of synthetic datasets [25,26,27] arouses great interest.
In this paper, we address synth-to-real UDA following a co-training pattern [28], which is a type of semi-supervised learning (SSL) [29,30] approach. Essentially, canonical co-training consists in training two models in a collaborative manner when only a few labeled data are available but we can access a relatively large amount of unlabeled data. In the canonical co-training pattern, the domain shift between labeled and unlabeled data is not present. However, UDA can be instantiated in this paradigm.
In previous works, we successfully applied a co-training pattern under the synth-to-real UDA setting for deep object detection [31,32]. This encourages us to address the challenging problem of semantic segmentation under the same setting by proposing a new co-training procedure, which is summarized in Figure 1. It consists of a self-training stage, which provides two domain-adapted models, and a model collaboration loop for the mutual improvement of these two models. These models are then used to provide the final semantic segmentation labels (pseudo-labels) for the real-world images. In contrast to previous related works, the overall procedure treats the deep models as black boxes and drives their collaboration only at the level of pseudo-labeled target images, i.e., neither modifying loss functions is required, nor explicit feature alignment. We test our proposal on synthetic (GTAV [26], Synscapes [27], SYNTHIA [25]) and real-world datasets (Cityscapes [33], BDD100K [34], Mapillary Vistas [35]) which have become standard for researching on on-board semantic segmentation. Our procedure shows improvements ranging from approximately 13 to 31 mean intersection-over-union (mIoU) points over baselines, being less than 10 mIoU points below upper bounds. Moreover, to the best of our knowledge, we are the first to report synth-to-real UDA results for semantic segmentation in BDD100K and Mapillary Vistas.
In summary, the main contributions of this paper are:
  • The design and implementation of a novel co-training procedure to tackle synth-to-real UDA for semantic segmentation. To the best of our knowledge, it is the first time that the co-training pattern [28] is instantiated for such a purpose.
  • This procedure allows for seamlessly leveraging multiple heterogeneous synthetic datasets. In this paper, we show the case of joint use of GTAV and Synscapes datasets.
  • This procedure is complementary to image pre-processing techniques such as color space adjustments and learnable image-to-image transformations. In this paper, we use LAB alignment.
  • This procedure allows for seamlessly leveraging adaptive confidence thresholding and domain mixing techniques. In this paper, we use thresholding inspired by MPT [12], the ClassMix collage transform [36], and mini-batch domain mixes (which we termed as cool-world a decade ago [37]).
  • In contrast to the main trend in the related literature, our proposal is purely data-driven. More specifically, we treat semantic segmentation models as black boxes; thus, our co-training neither requires modifying specific semantic segmentation losses nor performing explicit feature alignment.
  • Overall, in public benchmarks, our co-training reaches state-of-the-art accuracy on synth-to-real UDA for semantic segmentation.
Section 2 contextualizes our work. Section 3 details the proposed procedure. Section 4 describes the experimental setup and discusses the obtained results. Section 5 summarizes this work. Finally, Appendix A, Appendix B, Appendix C, provide more details regarding datasets and co-training quantitative and qualitative results.

2. Related Works

Li et al. [12] and Wang et al. [17] rely on adversarial alignment to perform UDA. While training a deep model for semantic segmentation, it is performed adversarial image-to-image translation (synth-to-real) together with an adversarial alignment of the model features arising from the source (synthetic images) and target domains (real-world images). Both steps are alternated as part of an iterative training process. For feature alignment, pseudo-labeling of the target domain images is performed. This involves applying an automatically computed per-class max probability threshold (MPT) to class predictions. Tranheden et al. [21] follow the idea of mixing source and target information (synthetic and real) as training samples [25]. However, target images are used after applying ClassMix [36], i.e., a class-based collage between source and target images. This requires the semantic segmentation ground truth, which for the synthetic images (source) is available while for the real-world ones (target) pseudo-labels are used. Such domain adaptation via cross-domain mixed sampling (DACS) is iterated so that the semantic segmentation model can improve its accuracy by eventually producing better pseudo-labels. Gao et al. [19] not only augment target images with source classes but the way around too. Their dual soft-paste (DSP) is used within a teacher–student framework, where the teacher model generates the pseudo-labels. Zou et al. [11] propose a self-training procedure where per-cycle pseudo-labels are considered by following a self-paced curriculum learning policy. An important step is class-balanced self-training (CBST), which is similar to MPT since a per-class confidence-based selection of pseudo-labels is performed. Spatial priors (SP) based on the source domain (synth) are also used. The authors improved their proposal in [15] by incorporating confidence regularization steps for avoiding error drift in the pseudo-labels.
Chao et al. [18] assumes the existence of a set of semantic segmentation models independently pre-trained according to some UDA technique. Then, the pseudo-label confidences coming from such models are unified, fused, and finally distilled into a student model. Zhang et al. [22] propose a multiple fusion adaptation (MFA) procedure, which integrates online-offline masked pseudo-label fusion, single-model temporal fusion, and cross-model fusion. To obtain the offline pseudo-labels, existing UDA methods must be applied. In particular, the so-called FDA [16] method is used to train two different models which produce two maps of offline pseudo-labels for each target image. The other two models, m 1 & m 2 , are then iteratively trained. Corresponding temporal moving average models, m ^ 1 & m ^ 2 , are kept and used to generate the online pseudo-labels. The training total loss seeks consistency between class predictions of each m i and both offline pseudo-labels and class predictions from the corresponding m ^ i . Moreover, consistency between the online pseudo-labels from m ^ i and the predictions from m j , i j , is used as a collaboration mechanism between models. Offline and online pseudo-labels are separately masked out by corresponding CBST-inspired procedures. He et al. [20] assumes the existence of different source domains. To reduce the visual gap between each source domain and the target domain there is a first step where their LAB color spaces are aligned. Then, there are as many semantic segmentation models to train as source domains. Model training relies on source labels and target pseudo-labels. The latter are obtained by applying the model to the target domain images and using a CBST-inspired procedure for thresholding the resulting class confidences. The training of each model is performed iteratively so that the relevance of pseudo-labels follows a self-paced curriculum learning. Collaboration between models is also part of the training. In particular, it is encouraged agreement on the confidence of the different models when applied to the same source domain, for all source domains. Qin et al. [14] proposed a procedure consisting of feature alignment based on cycleGAN [38], additional domain alignment via two models whose confidence discrepancies are considered, and a final stage where the confidences of these models are combined to obtain pseudo-labels which are later used to fine-tune the models. Luo et al. [13] focused on the lack of semantic consistency (some classes may not be well aligned between source and target domains, while others can be). Rather than a global adversarial alignment between domains, a per-class adversarial alignment is proposed. Using a common feature extractor, but two classification heads, per-class confidence discrepancies between the heads are used to evaluate class alignment. The classification heads are forced to be different by a cosine distance loss. Combining the confidences of the two classifiers yields the final semantic segmentation prediction. This approach does not benefit from pseudo-labels.
In contrast to these methods, our proposal is purely data-driven in the sense of neither requiring changing the loss function of the selected semantic segmentation model, nor explicit model features alignment of the source and the target domains via loss function, i.e., we treat the semantic segmentation model as a black box. Our UDA is inspired by co-training [28], so we share with some of the reviewed works the benefit of leveraging pseudo-labels. In our proposal, two models collaborate at a pseudo-label level for compensating labeling errors. These two models arise from our previous self-training stage, which shares with previous literature the self-paced learning idea and adaptive thresholding inspired by MPT, as well as pixel-level domain mixes inspired by ClassMix. Our proposal is complementary to image pre-processing techniques such as color space adjustments and learnable image-to-image transformations. In the case of having multiple synthetic domains, we assume they are treated as a single (heterogeneous) source domain, which has been effective in other visual tasks [39].

3. Method

In this section, we explain our data-driven co-training procedure, i.e., the self-training stage, and the model collaboration loop for the mutual improvement of these two models, which we call co-training loop. Overall, our proposal works at the pseudo-labeling level, i.e., it does not change the loss function of the semantic segmentation model under training. Global transformations (e.g., color corrections, learnable image-to-image transformations) on either source or target domain images are seen as pre-processing steps. Moreover, in the case of having access to multiple synthetic datasets, whether to use them one at a time or simultaneously is just a matter of the input parameters passed to our co-training procedure.

3.1. Self-Training Stage

Algorithm 1 summarizes the self-training stage, which we detail in the following.
Input & output parameters. The input X l refers to the set of fully labeled source images; while X u refers to the set of unlabeled target images. In our UDA setting, the source images are synthetic and have automatically generated per-pixel semantic segmentation ground truth (labels), while the target images are acquired with real-world cameras. W refers to the weights of the semantic segmentation model (a CNN) already initialized (randomly or by pre-training on a previous task); while H W are the usual hyper-parameters required for training the model in a supervised manner (e.g., optimization policy, number of iterations, etc). H s t = { T , N , n , K m , K M , M d f } consists of parameters specifically required by the proposed self-training. K M is the number of self-training cycles, where we output the model, W K M , at the final cycle. K m , K m < K M , indicates an intermediate cycle from where we also output the corresponding model, W K m . N is the number of target images used to generate pseudo-labels at each cycle, while n, n < N , is the number of pseudo-labeled images to be kept for the next model re-training. H s t also contains T = { p m , p M , Δ p , C m , C M } , a set of parameters to implement a self-paced curriculum learning policy for obtaining pseudo-labels from model confidences, which is inspired by MPT [12]. Finally, M d f = { p M B , p C M } consists of parameters to control how source and target images are combined.
Algorithm 1: Self-Training Stage.
Input  : Set of labeled images: X l
     Set of unlabeled images: X u
     Net. init. weights & training hyp.-p.: W , H W
     Self-t. hyp.-p.: H s t = { T , N , n , K m , K M , M d f }
Output: Two refined models: W K m , W K M
               // Initialization
              W 0  ← BasicModelTraining ( W , H W , X l )
< X l ^ , k , V C T , W >  ← < , 0 , 0 , W 0 >
Sensors 23 00621 i001
return W K m , W K M
Initialization. We start by training a model, W 0 , on the (labeled) source images, X l , according to W and H W . At each self-training cycle, W 0 is used as a pre-trained model.
Self-training cycles (loop). Each cycle starts by obtaining a set of pseudo-labeled images, X N l ^ . For the sake of speed, we do not consider all the images in X u as candidates to obtain pseudo-labels. Instead, N images are selected from X u and, then, the current model W is applied to them (run). Thus, we obtain N semantic maps. Each map can be seen as a set of confidence channels, one per class. Thus, for each class, we have N confidence maps. Let’s term as V c the vector of confidence values > 0 gathered from the N confidence maps of class c. For each class c, a confidence threshold, C T c , is set as the value required for having p % values of vector V c over it, where p = min ( p m + k Δ p , p M ) . Let’s term as V C T the vector of confidence thresholds from all classes. Now, V C T is used to perform per-class thresholding on the N semantic segmentation maps, so obtaining the N pseudo-labeled images forming X N l ^ . Note how the use of p m + k Δ p , where k is the self-training cycle, acts as a mechanism of self-paced curriculum learning on the thresholding process. The maximum percentage, p M , allows for preventing noise due to accepting too many per-class pseudo-labels eventually with low confidence. Moreover, for any class c, we apply the rule C T c max ( C m , min ( C T c , C M ) ) ; where, irrespective of p % , C m prevents from considering not sufficiently confident pseudo-labels, while C M ensures to consider pseudo-labels with a sufficiently high confidence. Then, in order to set the final set of pseudo-labels during each cycle, only n of the N pseudo-labeled images are selected. In this case, an image-level confidence ranking is established by simply averaging the confidences associated to the pseudo-labels of each image. The top-n most confident images are considered and fused with images labeled in previous cycles. If one of the selected n images was already incorporated in previous cycles, we kept the pseudo-labels corresponding to the highest image-level confidence average. The resulting set of pseudo-labeled images is termed as X l ^ .
Finally, we use the (labeled) source images, X l , and the pseudo-labeled target images, X l ^ , to train a new model, W , by fine-tuning W 0 according to the hyper-parameters H W and M d f . A parameter we can find in any H W is the number of images per mini-batch, N M B . Then, given M d f = { p M B , p C M } , for training W we use p M B N M B images from X l ^ and the rest from X l . In fact, the former undergoes a ClassMix-inspired collage transform [36]. In particular, we select p M B N M B images from X l and, for each one individually, we gather all the class information (appearance and labels) until considering a p C M % of classes, going from less to more confident ones, which is possible thanks to V C T . This information is pasted at the appearance level (class regions from the source on top of target images) and at the label level (class labels from the source on top of the pseudo-label maps of the target images).
Algorithm 2: Collaboration of Models.
Input   : Sets of pseudo-labeled images: X N 1 l ^ , X N 2 l ^
     Vectors of per-class conf. thr.: V C T 1 , V C T 2
     Amount of images to exchange: n
     Image-level confidence threshold control: λ
Output: New sets of ps.-lab. images: X N 1 , n e w l ^ , X N 2 , n e w l ^
 // ClassSort ( v ) returns the vector of sorted v indices after
 // sorting by v values, so that Δ i [ k ] is a class index.
           Δ 1  ← ClassSort ( V C T 2 V C T 1 )
           Δ 2  ← ClassSort ( V C T 1 V C T 2 )
 // ClassImageList ( X ) returns a vector so that S i [ k ] is the
 // list of images in X containing pseudo-labels of class k.
           S 1  ← ClassImageList ( X N 1 l ^ ) ,
           S 2  ← ClassImageList ( X N 2 l ^ )
X N 1 , n e w l ^ , X N 2 , n e w l ^  ← ,
          k , N c  ← 0 , Num. Classes
Sensors 23 00621 i002
return X N 1 , n e w l ^ , X N 2 , n e w l ^
Algorithm 3: Co-training Procedure
Uses: Algorithms 1 & 2.
Input   : Set of labeled images: X l
     Set of unlabeled images: X u
     Net. init. weights & training hyp.-p.: W , H W
     Self-t. hyp.-p.: H s t = { T , N , n , K m , K M , M d f }
     Co-t. hyp.-p.: H c t = { K , w , λ }
Output: Refined model: W
                 // Initialization
               W 0 , 1 , W 0 , 2  ← SelfTraining ( X l , X u , W , H W , H s t )
X 1 l ^ , X 2 l ^ , k , V C T 1 , V C T 2 , W 1 , W 2  ← , , 0 , 0 , 0 , W 0 , 1 , W 0 , 2
Sensors 23 00621 i003
W LastTrain ( w , W 1 , W 2 , H W , X l , X u , M d f )
return W

3.2. Co-Training Procedure

Algorithm 3 summarizes the co-training procedure supporting the scheme shown in Figure 1, which is based on the previous self-training stage (Algorithm 1), on combining pseudo-labels, as well as on a model collaboration stage (Algorithm 2). We detail Algorithm 3 in the following.
Input & output parameters, and Initialization. Since the co-training procedure includes the self-training stage, we have the input parameters required for Algorithm 1. As additional parameters we have H c t = { K , w , λ } , where K is the maximum number of iterations for mutual model improvement, which we term as co-training loop, w is just a selector to be used in the last training step (after the co-training loop), and λ is used during pseudo-label exchange between models. The output parameter, W , is the final model. The co-training procedure starts by running the self-training stage.
Co-training cycles (loop). Similarly to self-training, a co-training cycle starts by obtaining pseudo-labeled images. In this case two sets, X N 1 l ^ & X N 2 l ^ , are obtained since we run two different models, W 1 & W 2 . These are applied to the same subset, X N u , of N unlabeled images randomly selected from X u . As for self-training, we not only obtain X N 1 l ^ & X N 2 l ^ , but also corresponding vectors of per-class confidence thresholds, V C T 1 & V C T 2 . Since X N 1 l ^ & X N 2 l ^ come from the same X N u but result from different models, we can perform a simple step of pseudo-label combination. In particular, for each image in X N i l ^ , if a pixel has the void class as pseudo-label, then, if the pseudo-label for the same pixel of the corresponding image in X N j l ^ is not void, we adopt such pseudo-label, i { 1 , 2 } , j { 1 , 2 } , i j . This step reduces the amount of non-labeled pixels while keeping pseudo-labeling differences between X N 1 l ^ & X N 2 l ^ at non-void pseudo-labels.
Note that co-training strategies assume that the models under collaboration perform in a complementary manner. Therefore, after this basic combination of pseudo-labels, a more elaborated collaboration stage is applied, which is described in Algorithm 2. Essentially, n pseudo-labeled images from X N i l ^ will form the new X N j l ^ after such collaboration, i { 1 , 2 } , j { 1 , 2 } , i j . Thus, along the co-training cycle, pseudo-labeled images arising from W i will be used to retain W j . In particular, visiting first those images containing classes for which X N i l ^ is more confident than X N j l ^ , sufficiently high confident images in X N i l ^ are selected for the new X N j l ^ set, until reaching n. The class confidences of X N i l ^ & X N j l ^ are given by the respective V C T 1 & V C T 2 , while the confidence of a pseudo-labeled image is determined as the average of the confidences of its pseudo-labels. Being sufficiently high confident means that the average is over a dynamic threshold controlled by the λ parameter.
Once this process is finished, we have two new sets of pseudo-labels, X N 1 l ^ & X N 2 l ^ , which are used separately for finishing the co-training cycle. In particular, each new X i l ^ is used as its self-training counterpart (see X l ^ in the loop of Algorithm 1), i.e., performing the fusion with the corresponding set of pseudo-labels from previous cycles and fine-tuning of W 0 , i . Finally, once the co-training loops finish, the last train is performed. In this case, the full X u is used to produce pseudo-labels. For this task, we can use an ensemble of W 1 and W 2 (e.g., averaging confidences), or any of these two models individually. This option is selected according to the parameter w. In this last training, the ClassMix-inspired procedure is not applied, but mixing source and target images at the mini-batch level is still performed according to the value p M B M d f . It is also worth noting that, inside the co-training loop, the two Run() operations can be parallelized, and the two Train() too.

4. Experimental Results

4.1. Datasets and Evaluation

Our experiments rely on three well-known synthetic datasets used for UDA semantic segmentation as source data, namely, GTAV [26], SYNTHIA [25] and Synscapes [27]. GTAV is composed of 24,904 images with a resolution of 1914 × 1052 pixels directly obtained from the render engine of the videogame GTA V. Synscapes is composed by 25,000 images with a resolution of 1440 × 720 pixels of urban scenes, obtained by using a physic-based rendering pipeline. SYNTHIA is composed of 9000 images of urban scenes highly populated, with a resolution of 1280 × 760 pixels, generated by a videogame-style rendering pipeline based on the Unity3D framework. As real-world datasets (target domain) we rely on Cityscapes [33], BDD100K [34] and Mapillary Vistas [35]. Cityscapes is a popular dataset composed of on-board images acquired at different cities in Germany under clean conditions (e.g., no heavy occlusions or bad weather), it is common practice to use 2975 images for training semantic segmentation models, and 500 images for reporting quantitative results. The latter is known as the validation set. Cityscapes images have a resolution of 2048 × 1024 pixels. Another dataset is BDD100K, which contains challenging onboard images taken from different vehicles, in different US cities, and under diverse weather conditions. The dataset is divided into 7000 images for training purposes and 1000 for validation. However, a high amount of training images are heavily occluded by the ego vehicle, thus, for our experiments, we rely on an occlusion-free training subset of 1777 images. Nevertheless, we use the official validation set of BDD100K without any image filtering. Image resolution is 1280 × 720 pixels. Finally, Mapillary Vistas is composed of high-resolution images of street views around the world. These images have a high variation in resolutions and aspect ratios due to the fact that are taken from diverse devices such as smartphones, tablets, professional cameras, etc. For simplicity, we only consider those images with an aspect ratio of 4:3, which, in practice, are more than 75%. Then, we have 14,716 images for training and 1617 for validation.
As is common practice, we evaluate the performance of our system on the validation set of each real-world (target) dataset using the 19 official classes defined for Cityscapes. These 19 classes are common in all the datasets except in SYNTHIA that only contains 16 of these 19 classes, additional dataset-specific classes are ignored for training and evaluation. Note that, although there are semantic labels available for the target datasets, for performing UDA we ignore them at training time, and we use them at validation time. In other words, we only use the semantic labels of the validation sets, with the only purpose of reporting quantitative results. All the synthetic datasets provide semantic labels, since they act as the source domain, we use them. In addition, we note that for our experiments we do not perform any learnable image-to-image transform to align synthetic and real-world domains (like GAN-based ones). However, following [20], we perform synth-to-real LAB space alignment as a pre-processing step.
As is standard, quantitative evaluation relies on PASCAL VOC intersection-over-union metric I o U = T P / ( T P + F P + F N ) [40], where TP, FP, and FN refer to true positives, false positives, and false negatives, respectively. IoU can be computed per class while using a mean IoU (mIoU) to consider all the classes at once.

4.2. Implementation Details

We use the Detectron2 [41] framework and leverage their implementation of DeepLabV3+ for semantic segmentation, with ImageNet weight initialization. We chose the V3+ version of DeepLab instead of the V2 because it provides a configuration that fits well in our 12 GB-memory GPUs, turning out in a × 2 training speed over the V2 configuration and allowing a higher batch size. Other than this, V3+ does not provide accuracy advantages over V2. We will see it when discussing Table 1, where the baselines of V3+ and V2 perform similarly (SYNTHIA case) or V3+ may perform worse (GTAV case). The hyper-parameters used by our co-training procedure are set according to Table 2. Since their meaning is intuitive, we just tested some reasonable values but did not perform a hyperparameter search. As we can see in Table 2 they are pretty similar across datasets. This table does not include the hyper-parameter related to the training of DeepLabV3+, termed as H W in Algorithms 1–3 since they are not specific to our proposal. Thus, we summarize them in the following.
For training the semantic segmentation models, we use SGD optimizer with a starting learning rate of 0.002 and momentum 0.9. We crop the training images to 1024 × 512 pixels, 816 × 608 , and 1280 × 720 , when we work with Cityscapes, Mapillary Vistas, and BDD100K, respectively. Considering this cropping and our available hardware, we set batch sizes ( N M B ) of four images, four, and two, for these datasets, respectively. Moreover, we perform data augmentation consisting of random zooms and horizontal flips. For computing each source-only baseline model ( W 0 in Algorithm 1) and the final model (returned W in Algorithm 3) we use a two-step learning rate decay of 0.1 at 1/3 and 2/3 of the training iterations. In these cases, the number of iterations is set to 60K when we work with Cityscapes and Mapillary Vistas, and 120 K for BDD100 K to maintain consistency given the mentioned batch sizes. The number of iterations for the self-training stage and the co-training loop is equally set to 8K for Cityscapes and Mapillary Vistas, and 16K for BDD100K.
For training only using GTAV, a class balancing sample policy (CB) is applied. Due to the scarcity of samples from several classes (e.g., bicycle, train, rider, and motorcycle), these are under-represented during training. A simple, yet efficient, method to balance the frequency of samples from these classes is computing individual class frequency in the whole training dataset and applying a higher selection probability for the under-represented classes. The other synthetic datasets in isolation and the combination of GTAV + Synscapes are already well-balanced and we do not need to apply this technique.

4.3. Comparison with the State of the Art

In Table 1 we compare our co-training procedure with state-of-the-art methods when using Cityscapes as the target domain. We divide the results into four blocks according to the source images we use: SYNTHIA, GTAV, Synscapes, or GTAV+Synscapes. Most works in the literature present their results only using GTAV or SYNTHIA as source data. We obtain the best results in the SYNTHIA case, with 56 mIoU (19 classes), and for GTAV with 59.5 mIoU. On the other hand, each proposal from the literature uses its own CNN architecture and pre-trained models. Thus, we have added the mIoU score of the baseline that each work uses as starting point to improve according to the corresponding proposed method. Then, we show the difference between the final achieved mIoU score and the baseline one. In Table 1 this corresponds to column Δ (Diff.). Note how our method reaches 20.6 and 31.0 points of mIoU increment on SYNTHIA and GTAV, respectively. The highest for GTAV, and the highest for SYNTHIA on pair with the ProDA proposal. Additionally, for the sake of completeness, we have added the mIoU scores for the 13 classes setting of SYNTHIA since it is also a common practice in the literature. We can see that co-training obtains the best mIoU too. On the other hand, we are mostly interested in the 19-class setting. Using Synscapes as source data we achieved state-of-the-art results in both Δ (Diff.) (13.3 points) and the final mIoU score (58.3). Note that, in this case, our baseline score is similar to the ones reported in previous literature.
By performing a different LAB transform for each synthetic dataset individually, our co-training procedure allows us to join them as if they were one single domain. Thus, we have considered this setting too. Preliminary baseline experiments (i.e., without performing co-training) showed that the combinations GTAV + Synscapes and GTAV + Synscapes + SYNTHIA are the best performings, with a very scarce mIoU difference between them ( 0.62 ). Thus, for the shake of bounding the number of experiments, we have chosen GTAV + Synscapes as the only case combining datasets, so also avoiding the problem of the 19 vs. 16 classes discrepancy when SYNTHIA is combined with them. In fact, using GTAV + Synscapes, we reach a Δ(Diff.) of 20.2 points, with a final mIoU of 70.2 , which outperforms the second best in 11.2 points, and it clearly improves the mIoU with respect to the use of these synthetic datasets separately ( 15.6 points comparing to GTAV, 11.9 for Synscapes). Again, in this case, our baseline score is similar to the ones reported in previous literature.

4.4. Ablative Study and Qualitative Results

In Table 3 we compare co-training results with corresponding baselines and upper bounds. We also report the results of applying LAB adjustment as only the UDA step, as well as the results from one of the models obtained after our self-training stage (we chose the model from the last cycle). Overall, in all cases, the co-training loop (which completes the co-training procedure) improves the self-training stage, and this stage, in turn, improves over LAB adjustment. Moreover, when combining GTAV + Synscapes we are only 7.95 mIoU points below the upper bound, after improving 20.22 mIoU points over the baseline.
To complement our experimental analysis, we summarize in Table 4 the contribution of the main components of our proposal for the case GTAV + Synscapes → Cityscapes. First, we can see how a proper pre-processing of the data is relevant. In particular, performing synth-to-real LAB space alignment already allows improving 9.31 points of mIoU. This contribution can also be seen in Table 3 and Table 5, where improvements range from 2.59 mIoU points (GTAV+Synscapes→Mapillary Vistas) to 9.34 (GTAV→Cityscapes). This LAB adjustment is a step hardly seen in synth-to-real UDA literature which should not be ignored. Then, back to Table 4, we see that properly combining labeled source images and pseudo-labeled target images (MixBatch) is also relevant since it provides an additional gain of 6.86 points. Note that this MixBatch is basically the cool world idea which we can trace back to work of our own lab done before the deep learning era in computer vision [37]. In addition, performing our ClassMix-inspired collage also contributes 1.29 points of mIoU, and the final collaboration of models returns 2.76 additional points of mIoU. Overall, the main components of our synth-to-real UDA procedure contribute 10.91 points of mIoU and LAB alignment 9.31 points. We conclude that all the components of the proposed procedure are relevant.
In order to confirm these positive results, we applied our method to two additional target domains which are relatively challenging, namely, Mapillary Vistas and BDD100K. In fact, up to the best of our knowledge, in the current literature, there are no synth-to-real UDA semantic segmentation results reported for them. Our results can be seen in Table 5, directly focusing on the combination of GTAV + Synscapes as the source domain. In this case, the co-training loop improves less over the intermediate self-training stage. Still, for BDD100K the final mIoU is only 8.22 mIoU points below the upper bound, after improving 24.13 mIoU points the baseline. For Mapillary Vistas our method remains only 9.14 mIoU points below the upper bound and improves 16.11 mIoU points the baseline. To the best of our knowledge, these are state-of-the-art results for BDD100K and Mapillary Vistas when addressing synth-to-real UDA semantic segmentation.
Figure 2 presents qualitative results of semantic segmentation for the different real-world (target) datasets when using GTAV + Synscapes as the source domain. We observe how the baselines have problems with dynamic objects (e.g., cars, trucks) and some infrastructure classes such as Sidewalk are noisy. The self-training stage mitigates the problems observed in the only-source (with LAB adjustment) results to a large extent. However, we can still observe instabilities in classes such as Truck or Bus, which the co-training loop (full co-training procedure) achieves to address properly. Nevertheless, the co-training procedure is not perfect and several errors are observed in some classes preventing them to reach upper-bound mIoU. In fact, the upper bounds are neither perfect, which is due to the difficulty of performing semantic segmentation in onboard images.
Figure 3 and Figure 4 exemplify these comments by showing the pseudo-labeling evolution for several classes of special interests such as Road, Sidewalk, Pedestrian, and Car. In Figure 3, we see how the SrcLAB model has particular problems segmenting well the sidewalk, however, the self-training stage resolves most errors although it may introduce new ones (mid-bottom image), while the co-training loop is able to recover from such errors. In Figure 4, we can see (bottom row) how the self-training stage improves the pseudo-labeling of a van, while the co-training loop improves it even more. Analogously, we can see (top row) how self-training helps to alleviate the confusion between Pedestrian and Rider classes, while the co-training loop almost removes all the confusion errors between these two classes.

5. Conclusions

In this paper, we have addressed the training of semantic segmentation models under the challenging setting of synth-to-real unsupervised domain adaptation (UDA), i.e., assuming access to a set of synthetic images (source) with automatically generated ground truth together with a set of unlabeled real-world images (target). We have proposed a new co-training procedure combining a self-training stage and a co-training loop where two models arising from the self-training stage collaborate for mutual improvement. The overall procedure treats the deep models as black boxes and drives their collaboration at the level of pseudo-labeled target images, i.e., neither modifying loss functions is required, nor explicit feature alignment. We have tested our proposal on standard synthetic (GTAV, Synscapes, SYNTHIA) and real-world datasets (Cityscapes, BDD100K, Mapillary Vistas). Our co-training shows improvements ranging from approximately 13 to 31 mIoU points over baselines, remaining closely (less than 10 points) to the upper bounds. In fact, up to the best of our knowledge, we are the first to report such results for challenging target domains such as BDD100K and Mapillary Vistas. Moreover, we have shown how the different components of our co-training procedure contribute to improving the final mIoU. Future work, will explore collaboration from additional perception models at the co-training loop, i.e., not necessarily based on semantic segmentation but such collaborations may arise from object detection or monocular depth estimation.

Author Contributions

Conceptualization and methodology, all authors; software and data curation, J.L.G.; validation, J.L.G.; formal analysis and investigation, all authors; writing—original draft preparation as well as writing—review and editing, A.M.L. and J.L.G.; visualization, J.L.G.; supervision, A.M.L. and G.V.; project administration, resources, and funding acquisition, A.M.L. All authors have read and agreed to the published version of the manuscript.

Funding

The authors acknowledge the support received for this research from the Spanish Grant Ref. PID2020-115734RB-C21 funded by MCIN/AEI/10.13039/501100011033. Antonio M. López acknowledges the financial support to his general research activities given by ICREA under the ICREA Academia Program. Jose L. Gómez acknowledges the financial support to perform his Ph.D. given by the grant FPU16/04131.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

All datasets used in this study have been downloaded from well-known publicly available sources, whose associated papers are properly cited and so included in the references.

Acknowledgments

The authors acknowledge the support of the Generalitat de Catalunya CERCA Program and its ACCIO agency to CVC’s general activities.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analysis, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

Appendix A. Additional Datasets Information

Table A1 presents statistics about the content of the different datasets. Focusing on the synthetic datasets, we observe that GTAV has few cases of Bicycle and Train, thus explaining why the semantic segmentation baseline performs poorly on these classes. On other hand, SYNTHIA and Synscapes are overall well-balanced, however, in Synscapes, the examples of Bus, Train, and Truck are very similar in shape. On other hand, SYNTHIA is less photo-realistic than Synscapes.
Table A1. Content statistics for the considered datasets. For each class, we indicate the percentage (%) of: (1) Images containing samples of the class, and (2) Pixels in the dataset with the class label.
Table A1. Content statistics for the considered datasets. For each class, we indicate the percentage (%) of: (1) Images containing samples of the class, and (2) Pixels in the dataset with the class label.
RoadSidewalkBuildingWallFencePoleTraffic LightTraffic SignVegetationTerrainSkyPersonRiderCarTruckBusTrainMotorbikeBicycle
SYNTHIAImages99.999.999.941.779.999.968.194.397.30.093.999.999.595.80.076.40.084.199.5
Pixels18.5419.3129.430.270.261.040.040.1010.150.06.804.250.474.040.01.530.00.210.22
GTAVImages99.397.399.895.784.299.274.360.599.397.899.293.913.191.767.020.44.516.71.8
Pixels32.18.2916.911.850.631.060.130.087.62.1413.530.360.032.511.130.370.060.030.1
SynscapesImages99.998.799.132.898.299.696.798.997.648.298.099.782.398.586.980.865.886.589.5
Pixels28.296.8222.571.131.372.070.370.5313.930.888.313.180.795.590.791.081.170.60.52
CityscapesImages98.694.598.632.643.699.155.794.470.355.690.378.834.495.212.19.24.817.255.3
Pixels32.635.3920.190.580.781.090.180.4914.081.033.551.080.126.190.240.210.210.090.37
BDD100KImages96.566.788.415.430.695.047.175.391.736.794.834.75.297.330.515.00.73.86.4
Pixels21.262.0313.240.481.030.940.180.3413.21.0317.260.250.028.130.970.560.010.020.05
MapillaryImages98.872.291.346.262.798.651.091.096.846.998.950.519.093.424.015.81.315.116.7
Pixels19.422.9912.470.751.260.90.180.4514.941.0529.330.310.063.360.370.260.020.060.07

Appendix B. Additional Co-Training Information

Figure A1 shows the confusion matrix of the semantic segmentation model trained with the pseudo-labels provided by co-training on GTAV + Synscapes (source) and Cityscapes (target). We can see how background classes such as Road, Building, Vegetation, and Sky reach a ∼95% precision, where ’∼’ means approximately. All classes corresponding to dynamic objects show a ∼90% precision, except for Motorbike and Rider with ∼70%. Riders may be confused with pedestrians, and motorbikes with bicycles. This problem could be addressed by injecting more Rider samples in the source data, including corner cases where they appear with pedestrians around. In addition, having more synthetic samples showing motorbikes and bicycles may help to better differentiate such classes.
Figure A2 is analogous to Figure A1 but for BDD100K as target data. Again, most classes corresponding to environmental elements (Road, Building, Vegetation, and Sky) have high precision. However, some of them have a large margin for improvement. For instance, the Sidewalk class tends to be labeled as Road, which we think is due to lacking real-world images with sidewalks; in Table A1, we can see that only the ∼66% of the training images contain sidewalks, while this statistics reaches the ∼98% in the case of Cityscapes. Wall, Fence, and Pole classes form a sort of confusion set. Sometimes, pixels of these classes are also labeled as Vegetation because their instances occlude instances of Wall/Fence/Pole or vice versa. Traffic lights and signs are frequently labeled as Building/Pole/Vegetation. Here, a different labeling policy may also be introducing confusion on the trained model. While the rear part of traffic lights and signs is not labeled in Synscapes and Cityscapes, they are in BDD100K. Other classes such as Truck, Motorbike, and Bike, tend to be labeled as Car. The Truck class is also under a discrepancy in labeling policy, since pick-up vehicles are labeled as Truck in BDD100K but as Car in the others datasets.
Figure A1. Confusion matrix of the co-training model trained with GTAV + Synscapes as source data and Cityscapes as target data.
Figure A1. Confusion matrix of the co-training model trained with GTAV + Synscapes as source data and Cityscapes as target data.
Sensors 23 00621 g0a1
Figure A2. Confusion matrix of the co-training model trained with GTAV + Synscapes as source data and BDD100K as target data.
Figure A2. Confusion matrix of the co-training model trained with GTAV + Synscapes as source data and BDD100K as target data.
Sensors 23 00621 g0a2
Figure A3 is analogous to Figure A1 but for Mapillary Vistas as target data. The diagonal scores and confusion cases are similar to those of Cityscapes. We can observe cases of high precision but not so high IoU. For instance, ∼93% and ∼47% for the class Terrain, respectively. Other classes showing a similar pattern are Truck, Bus, and Motorbike. We think this can be at least partially due to differences in labeling policies. Mapillary Vistas accounts for around one hundred different classes, which cannot be easily mapped to the 19 classes of Cityscapes. Then, using only 19 classes while setting as unlabeled the rest, drives to a ground truth with less information per training image than in cases such as Cityscapes and BDD100K.
Figure A3. Confusion matrix of the co-training model trained with GTAV + Synscapes as source data and Mapillary Vistas as target data.
Figure A3. Confusion matrix of the co-training model trained with GTAV + Synscapes as source data and Mapillary Vistas as target data.
Sensors 23 00621 g0a3

Appendix C. Additional Qualitative Analysis

GTAV + Synscapes → Cityscapes: In Figure A4 and Figure A5 we show additional qualitative results obtained on Cityscapes, when using GTAV + Synscapes as source domain.
Figure A4 remarks where several improvements from the co-training model vs. self-training one appear. In the example in the left column, we see that the baseline and self-training models have problems labeling a bus while the co-training model labels all the dynamic objects accurately as the upper-bound model does. In the mid column, the co-training model improves the labeling of the sidewalk, the closest person and rider. The last column shows a challenging case where several pedestrians mixed with cyclists are crossing the road. The baseline and self-training models are poor at distinguishing riders from pedestrians. The co-training model is able to improve on classifying riders over the baseline and self-training models, but not reaching the performance of the upper-bound model in this case.
Figure A4. Qualitative results on the validation set of Cityscapes when relying on GTAV + Synscapes as source data. The baseline model is trained using only these source data, the upper-bound model uses these source data and all the labeled training data of Cityscapes. Self-training and co-training models rely on the source data and the same training data from Cityscapes but without the labeling information.
Figure A4. Qualitative results on the validation set of Cityscapes when relying on GTAV + Synscapes as source data. The baseline model is trained using only these source data, the upper-bound model uses these source data and all the labeled training data of Cityscapes. Self-training and co-training models rely on the source data and the same training data from Cityscapes but without the labeling information.
Sensors 23 00621 g0a4
Figure A5 shows examples of wrong labeling even from the co-training model. The left column shows a building erroneously labeled by all models except by the upper-bound one. A large area of the building is labeled as Fence, which we believe is due to the reflections seen in the facade windows. Furthermore, the variability of buildings in the synthetic data is not enough to cover these variants seen in real-world scenarios. The upper-bound model properly labels most of the building, but still labels part of its bottom as Fence. The mid column shows a usual troublesome case in Cityscapes, where a stone-based road is labeled as Sidewalk. Note that stones are also used to build sidewalks. The right column shows a bus with some kind of advertising on the back, which induces all the models (including the upper-bound one) to label the bus as a mixture of Traffic Sign and Building. We note that, overall, there are not sufficient training samples of this type.
Figure A5. Analogous to Figure A4, focusing on problematic examples.
Figure A5. Analogous to Figure A4, focusing on problematic examples.
Sensors 23 00621 g0a5
GTAV + Synscapes → BDD100K: In Figure A6 and Figure A7 we present qualitative results changing the target to BDD100K.
Figure A6 shows how noisy the baseline model is in this case. This is due to variability regarding weather conditions, lighting, and on-board cameras. Note that, contrarily to the case of Cityscapes, BDD100K cameras are not even installed in the same position from car to car, not even in the same car model in all the cases (see Figure A8). In the left column of Figure A6, we see how both self-training and co-training models clearly perform much better than the baseline, in fact, similarly to the upper-bound one. In the mid column, the co-training model is the one performing most similarly to the upper bound. In the last column, self-training, co-training, and upper-bound models have problems labeling the bus cabin, which is confused with a truck cabin (upper-bound), a car cabin (co-training), and a bit of both (self-training as coming from the baseline).
Figure A7 shows examples of wrong labeling even from the co-training model. The left column shows an example where a far bus is confused with a Truck (baseline) or a Car (self-training and co-training), and the sidewalk is largely confused with Terrain/Road (baseline and co-training), Road (self-training), even the upper-bound confuses the part of the sidewalk with Terrain. Traffic lights are also misclassified. The mid column also shows failures in sidewalk classification for self-training and co-training models, although both label the road better than the baseline. These models label the closest car even better than the upper-bound model. The right column shows an extreme case where all models have difficulties labeling a case of rider-with-bicycle. The baseline model provides some insufficient cues, self-training improves them, but the co-training model labels the rider-with-bicycle partially as Car and partially as Road. Even the upper-bound model misses the rider, only properly labeling the bicycle.
Figure A6. Qualitative results similar to Figure A4 when using BDD100K as target.
Figure A6. Qualitative results similar to Figure A4 when using BDD100K as target.
Sensors 23 00621 g0a6
Figure A7. Analogous to Figure A6, focusing on problematic examples.
Figure A7. Analogous to Figure A6, focusing on problematic examples.
Sensors 23 00621 g0a7
Figure A8. Image samples from BDD100K dataset.
Figure A8. Image samples from BDD100K dataset.
Sensors 23 00621 g0a8
GTAV + Synscapes → Mapillary: In Figure A9 and Figure A10 we introduce qualitative results changing the target to Mapillary Vistas.
Figure A9 aims to show cases where the co-training model performs similarly or even better than the upper-bound one. In the left column, the co-training model performs better than the rest of the models by avoiding parts of the wall being labeled as Fence. In the mid column, only the co-training and the upper-bound models perform relatively well labeling the sidewalk, the co-training model even better. In the right column, only the co-training model is properly labeling the wall and relatively well the close truck. Note how the upper-bound model labels the wall as Fence.
Figure A10 shows examples of wrong labeling from the co-training model. In the left column, some buildings are labeled as Train. In fact, these buildings have a shape and are arranged in a way that resembles train wagons. In the mid column, we see that the co-training model is labeling some vegetation as Terrain, performing a bit worse than the self-training model. In the right column, the co-training model partially labels two buses as Car, while the self-training model performs better labeling in these cases.
Figure A9. Qualitative results similar to Figure A4 when using Mapillary Vistas as target.
Figure A9. Qualitative results similar to Figure A4 when using Mapillary Vistas as target.
Sensors 23 00621 g0a9
Figure A10. Analogous to Figure A9, focusing on problematic examples.
Figure A10. Analogous to Figure A9, focusing on problematic examples.
Sensors 23 00621 g0a10

References

  1. Long, J.; Shelhamer, E.; Darrell, T. Fully convolutional networks for semantic segmentation. In Proceedings of the International Conference on Computer Vision and Pattern Recognition (CVPR), Boston, MA, USA, 7–12 June 2015. [Google Scholar]
  2. Badrinarayanan, V.; Kendall, A.; Cipolla, R. SegNet: A deep convolutional encoder-decoder architecture for image segmentation. IEEE Trans. Pattern Anal. Mach. Intell. 2017, 39, 2481–2495. [Google Scholar] [CrossRef] [PubMed]
  3. Chen, L.-C.; Papandreou, G.; Schroff, F.; Adam, H. Rethinking atrous convolution for semantic image segmentation. arXiv 2017, arXiv:1706.05587. [Google Scholar]
  4. Chen, L.; Papandreou, G.; Kokkinos, I.; Murphy, K.; Yuille, A.L. DeepLab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs. IEEE Trans. Pattern Anal. Mach. Intell. 2018, 40, 834–848. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  5. Chen, L.-C.; Zhu, Y.; Papandreou, G.; Schroff, F.; Adam, H. Encoder-decoder with atrous separable convolution for semantic image segmentation. In Proceedings of the European Conference on Computer Vision (ECCV), Munich, Germany, 8–14 September 2018. [Google Scholar]
  6. Wang, J.; Sun, K.; Cheng, T.; Jiang, B.; Deng, C.; Zhao, Y.; Liu, D.; Mu, Y.; Tan, M.; Wang, X.; et al. Deep high-resolution representation learning for visual recognition. IEEE Trans. Pattern Anal. Mach. Intell. 2020, 43, 3349–3364. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  7. Xie, E.; Wang, W.; Yu, Z.; Anandkumar, A.; Alvarez, J.M.; Luo, P. SegFormer: Simple and efficient design for semantic segmentation with transformers. In Proceedings of the Neural Information Processing Systems (NeurIPS), online, 6–14 December 2021. [Google Scholar]
  8. Csurka, G. Chapter 1: A Comprehensive Survey on Domain Adaptation for Visual Applications. In Advances in Computer Vision and Pattern Recognition; Springer: Berlin/Heidelberg, Germany, 2017. [Google Scholar]
  9. Wang, M.; Deng, W. Deep visual domain adaptation: A survey. Neurocomputing 2018, 312, 135–153. [Google Scholar] [CrossRef] [Green Version]
  10. Wilson, G.; Cook, D.J. A survey of unsupervised deep domain adaptation. ACM Trans. Intell. Syst. Technol. 2020, 11, 1–46. [Google Scholar] [CrossRef]
  11. Zou, Y.; Yu, Z.; Kumar, B.; Wang, J. Unsupervised domain adaptation for semantic segmentation via class-balanced self-training. In Proceedings of the European Conference on Computer Vision (ECCV), Munich, Germany, 8–14 September 2018. [Google Scholar]
  12. Li, Y.; Yuan, L.; Vasconcelos, N. Bidirectional learning for domain adaptation of semantic segmentation. In Proceedings of the International Conference on Computer Vision and Pattern Recognition (CVPR), Long Beach, CA, USA, 15–20 June 2019. [Google Scholar]
  13. Luo, Y.; Zheng, L.; Guan, T.; Yu, J.; Yang, Y. Taking a closer look at domain shift: Category-level adversaries for semantics consistent domain adaptation. In Proceedings of the International Conference on Computer Vision and Pattern Recognition (CVPR), Long Beach, CA, USA, 15–20 June 2019. [Google Scholar]
  14. Qin, C.; Wang, L.; Zhang, Y.; Fu, Y. Generatively inferential co-training for unsupervised domain adaptation. In Proceedings of the International Conference on Computer Vision (ICCV) Workshops, Seoul, Republic of Korea, 27 October 2019–2 November 2019. [Google Scholar]
  15. Zou, Y.; Zhiding, Y.; Xiaofeng, L.; Kumar, B.; Jin-Song, W. Confidence regularized self-training. In Proceedings of the International Conference on Computer Vision (ICCV), Seoul, Republic of Korea, 27 October 2019–2 November 2019. [Google Scholar]
  16. Yang, Y.; Soatto, S. FDA: Fourier domain adaptation for semantic segmentation. In Proceedings of the International Conference on Computer Vision and Pattern Recognition (CVPR), virtual, 14–19 June 2020. [Google Scholar]
  17. Wang, Z.; Yu, M.; Wei, Y.; Feris, R.; Xiong, J.; Hwu, W.M.; Huang, T.; Shi, H. Differential treatment for stuff and things: A simple unsupervised domain adaptation method for semantic segmentation. In Proceedings of the International Conference on Computer Vision and Pattern Recognition (CVPR), virtual, 14–19 June 2020. [Google Scholar]
  18. Chao, C.-H.; Cheng, B.-W.; Lee, C.-Y. Rethinking ensemble-distillation for semantic segmentation based unsupervised domain adaption. In Proceedings of the International Conference on Computer Vision and Pattern Recognition (CVPR), virtual, 19–25 June 2021. [Google Scholar]
  19. Gao, L.; Zhang, J.; Zhang, L.; Tao, D. DSP: Dual soft-paste for unsupervised domain adaptive semantic segmentation. In Proceedings of the ACM International Conference on Multimedia, Chengdu, China, 20–24 October 2021. [Google Scholar]
  20. He, J.; Jia, X.; Chen, S.; Liu, J. Multi-source domain adaptation with collaborative learning for semantic segmentation. In Proceedings of the International Conference on Computer Vision and Pattern Recognition (CVPR), virtual, 19–25 June 2021. [Google Scholar]
  21. Tranheden, W.; Olsson, V.; Pinto, J.; Svensson, L. DACS: Domain adaptation via cross-domain mixed sampling. In Proceedings of the Winter Conference on Applications of Computer Vision (WACV), virtual, 5–9 January 2021. [Google Scholar]
  22. Zhang, K.; Sun, Y.; Wang, R.; Li, H.; Hu, X. Multiple fusion adaptation: A strong framework for unsupervised semantic segmentation adaptation. In Proceedings of the British Machine Vision Conference (BMVC), online, 22–25 November 2021. [Google Scholar]
  23. Wang, Z.; Wei, Y.; Feris, R.; Xiong, J.; Hwu, W.-M.; Huang, T.S.; Shi, H. Alleviating semantic-level shift: A semi-supervised domain adaptation method for semantic segmentation. In Proceedings of the International Conference on Computer Vision and Pattern Recognition (CVPR) Workshops, virtual, 14–19 June 2020. [Google Scholar]
  24. Chen, S.; Jia, X.; He, J.; Shi, Y.; Liu, J. Semi-supervised domain adaptation based on dual-level domain mixing for semantic segmentation. In Proceedings of the International Conference on Computer Vision and Pattern Recognition (CVPR), virtual, 19–25 June 2021. [Google Scholar]
  25. Ros, G.; Sellart, L.; Materzyska, J.; Vázquez, D.; López, A. The SYNTHIA dataset: A large collection of synthetic images for semantic segmentation of urban scenes. In Proceedings of the International Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA, 27–30 June 2016. [Google Scholar]
  26. Richter, S.R.; Vineet, V.; Roth, S.; Koltun, V. Playing for data: Ground truth from computer games. In Proceedings of the European Conference on Computer Vision (ECCV), Amsterdam, The Netherlands, 8–16 October 2016. [Google Scholar]
  27. Wrenninge, M.; Unger, J. Synscapes: A photorealistic synthetic dataset for street scene parsing. arXiv 2018, arXiv:1810.08705. [Google Scholar]
  28. Blum, A.; Mitchell, T. Combining labeled and unlabeled data with co-training. In Proceedings of the Conference on Computational Learning Theory (COLT), Madison, WI, USA, 24–26 July 1998. [Google Scholar]
  29. Triguero, I.; García, S.; Herrera, F. Self-labeled techniques for semi-supervised learning: Taxonomy, software and empirical study. Signal Process. 2015, 42, 245–284. [Google Scholar] [CrossRef]
  30. Van Engelen, J.; Hoos, H. A survey on semi-supervised learning. Mach. Learn. 2020, 109, 373–440. [Google Scholar] [CrossRef] [Green Version]
  31. Villalonga, G.; López, A. Co-training for on-board deep object detection. IEEE Accesss 2020, 8, 194.441–194.456. [Google Scholar] [CrossRef]
  32. Gómez, J.L.; Villalonga, G.; López, A.M. Co-training for deep object detection: Comparing single-modal and multi-modal approaches. Sensors 2021, 21, 3185. [Google Scholar] [CrossRef] [PubMed]
  33. Cordts, M.; Omran, M.; Ramos, S.; Rehfeld, T.; Enzweiler, M.; Benenson, R.; Franke, U.; Roth, S.; Schiele, B. The Cityscapes dataset for semantic urban scene understanding. In Proceedings of the International Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA, 27–30 June 2016. [Google Scholar]
  34. Yu, F.; Chen, H.; Wang, X.; Xian, W.; Chen, Y.; Liu, F.; Madhavan, V.; Darrell, T. BDD100K: A diverse driving dataset for heterogeneous multitask learning. In Proceedings of the International Conference on Computer Vision and Pattern Recognition (CVPR), virtual, 14–19 June 2020. [Google Scholar]
  35. Neuhold, G.; Ollmann, T.; Bulò, S.R.; Kontschieder, P. The Mapillary Vistas dataset for semantic understanding of street scenes. In Proceedings of the International Conference on Computer Vision (ICCV), Venice, Italy, 22–29 October 2017. [Google Scholar]
  36. Olsson, V.; Tranheden, W.; Pinto, J.; Svensson, L. ClassMix: Segmentation-based data augmentation for semi-supervised learning. In Proceedings of the Winter Conference on Applications of Computer Vision (WACV), virtual, 5–9 January 2021. [Google Scholar]
  37. Vázquez, D.; López, A.; Ponsa, D.; Marin, J. Cool world: Domain adaptation of virtual and real worlds for human detection using active learning. In Proceedings of the Neural Information Processing Systems (NIPS)–Workshop on Domain Adaptation: Theory and Applications, Granada, Spain, 12–17 December 2011. [Google Scholar]
  38. Zhu, J.; Park, T.; Isola, P.; Efros, A. Unpaired image-to-image translation using cycle-consistent adversarial networks. In Proceedings of the International Conference on Computer Vision (ICCV), Venice, Italy, 22–29 October 2017. [Google Scholar]
  39. Ranftl, R.; Lasinger, K.; Hafner, D.; Schindler, K.; Koltun, V. Towards robust monocular depth estimation: Mixing datasets for zero-shot cross-dataset transfer. IEEE Trans. Pattern Anal. Mach. Intell. 2022, 44, 1623–1637. [Google Scholar] [CrossRef] [PubMed]
  40. Everingham, M.; Eslami, S.; Gool, L.V.; Williams, C.K.; Winn, J.; Zisserman, A. The PASCAL visual object classes challenge: A retrospective. Int. J. Comput. Vis. 2015, 111, 98–136. [Google Scholar] [CrossRef]
  41. Wu, Y.; Kirillov, A.; Massa, F.; Lo, W.-Y.; Girshick, R. Detectron2. 2019. Available online: https://github.com/facebookresearch/detectron2 (accessed on 20 June 2022).
  42. Tsai, Y.-H.; Hung, W.-C.; Schulter, S.; Sohn, K.; Yang, M.-H.; Chandraker, M. Learning to adapt structured output space for semantic segmentation. In Proceedings of the International Conference on Computer Vision and Pattern Recognition (CVPR), Salt Lake City, UT, USA, 18–23 June 2018. [Google Scholar]
  43. Pan, F.; Shin, I.; Rameau, F.; Lee, S.; Kweon, I.S. Unsupervised intra-domain adaptation for semantic segmentation through self-supervision. In Proceedings of the International Conference on Computer Vision and Pattern Recognition (CVPR), virtual, 14–19 June 2020. [Google Scholar]
  44. Zhang, P.; Zhang, B.; Zhang, T.; Chen, D.; Wang, Y.; Wen, F. Prototypical pseudo label denoising and target structure learning for domain adaptive semantic segmentation. In Proceedings of the International Conference on Computer Vision and Pattern Recognition (CVPR), virtual, 19–25 June 2021. [Google Scholar]
  45. Zhao, S.; Li, B.; Yue, X.; Gu, Y.; Xu, P.; Hu, R.; Chai, H.; Keutzer, K. Multi-source domain adaptation for semantic segmentation. In Proceedings of the Neural Information Processing Systems (NeurIPS), Vancouver, BC, Canada, 8–14 December 2019. [Google Scholar]
Figure 1. Co-training procedure for UDA. X l is a set of labeled synthetic images, X u a set of unlabeled real-world images, and X x l ^ is the set x of real-world pseudo-labeled images (automatically generated). Our self-training stage provides two initial domain-adapted models ( W 1 , W 2 ), which are further trained collaboratively by exchanging pseudo-labeled images. Thus, this procedure treats the deep models as black boxes and drives their collaboration at the level of pseudo-labeled target images, i.e., neither modifying loss functions is required, nor explicit feature alignment. See details in Section 3 and Algorithms 1–3.
Figure 1. Co-training procedure for UDA. X l is a set of labeled synthetic images, X u a set of unlabeled real-world images, and X x l ^ is the set x of real-world pseudo-labeled images (automatically generated). Our self-training stage provides two initial domain-adapted models ( W 1 , W 2 ), which are further trained collaboratively by exchanging pseudo-labeled images. Thus, this procedure treats the deep models as black boxes and drives their collaboration at the level of pseudo-labeled target images, i.e., neither modifying loss functions is required, nor explicit feature alignment. See details in Section 3 and Algorithms 1–3.
Sensors 23 00621 g001
Figure 2. Qualitative results using GTAV + Synscapes as source domain. From (left) to (right), the two first columns correspond to Cityscapes in the role of the target domain, the next two columns to BDD100K, and the last two to Mapillary Vistas. (Top) to (bottom) rows correspond to SrcLAB, self-training stage, full co-training procedure, upper bound, and ground truth, respectively.
Figure 2. Qualitative results using GTAV + Synscapes as source domain. From (left) to (right), the two first columns correspond to Cityscapes in the role of the target domain, the next two columns to BDD100K, and the last two to Mapillary Vistas. (Top) to (bottom) rows correspond to SrcLAB, self-training stage, full co-training procedure, upper bound, and ground truth, respectively.
Sensors 23 00621 g002
Figure 3. Qualitative results (GTAV + Synscapes → Cityscapes) focusing on TP/FP/FN for road and sidewalk classes. Columns, (left) to (right): SrcLAB, self-training stage, co-training loop (full co-training procedure). Blue boxes highlight areas of interest.
Figure 3. Qualitative results (GTAV + Synscapes → Cityscapes) focusing on TP/FP/FN for road and sidewalk classes. Columns, (left) to (right): SrcLAB, self-training stage, co-training loop (full co-training procedure). Blue boxes highlight areas of interest.
Sensors 23 00621 g003
Figure 4. Analogous to Figure 3 for the classes Person and Car.
Figure 4. Analogous to Figure 3 for the classes Person and Car.
Sensors 23 00621 g004
Table 1. UDA results. mIoU considers the 19 classes. mIoU* considers 13 classes, which only applies to SYNTHIA, where classes with ’*’ are not considered for global averaging and those with ’-’ scores do not have available samples. Δ(Diff.) refers to the mIoU improvement over the corresponding baseline (i.e., column ’mIoU’—column ’Baseline’). Note also that, following Cityscapes class naming, the class Person refers to pedestrians (i.e., it does not include riders. Bold stands for best, and underline for second best. In this table, the target domain is always Cityscapes.
Table 1. UDA results. mIoU considers the 19 classes. mIoU* considers 13 classes, which only applies to SYNTHIA, where classes with ’*’ are not considered for global averaging and those with ’-’ scores do not have available samples. Δ(Diff.) refers to the mIoU improvement over the corresponding baseline (i.e., column ’mIoU’—column ’Baseline’). Note also that, following Cityscapes class naming, the class Person refers to pedestrians (i.e., it does not include riders. Bold stands for best, and underline for second best. In this table, the target domain is always Cityscapes.
MethodsRoadSidewalkBuildingWall *Fence *Pole *Traffic LightTraffic SignVegetationTerrainSkyPersonRiderCarTruckBusTrainMotorbikeBikemIoU*mIoUBaselineΔ(Diff.)
SYNTHIA (Source) → Cityscapes
AdSegNet [42]81.739.178.411.10.325.86.89.079.1-80.854.821.066.8-34.7-13.829.945.839.633.5+6.1
IntraDA [43]84.337.779.55.30.424.99.28.480.0-84.157.223.078.0-38.1-20.336.548.941.733.5+8.2
CBST [11]68.029.976.310.81.433.922.829.577.6-78.360.628.381.6-23.5-18.839.848.942.629.2+13.4
CRST [15]67.732.273.910.71.637.422.231.280.8-80.560.829.182.8-25.0-19.445.350.143.834.9+8.9
DACS [21]80.525.181.921.42.837.222.623.983.6-90.767.638.382.9-38.9-28.447.554.848.329.4+18.9
DSP [19]86.442.082.02.11.834.031.633.287.2-88.564.131.983.8-65.4-28.854.059.951.033.5+17.5
MFA [22]81.840.285.3---38.033.982.3-82.073.741.187.8-56.6-46.363.862.5---
RED [18]88.646.683.722.64.135.035.936.182.8-81.361.632.187.9-52.7-31.957.659.952.535.3+17.2
ProDA [44]87.845.784.637.10.644.054.637.088.1-84.474.224.388.2-51.1-40.545.662.055.534.9+20.6
Co-T (ours)78.136.984.09.30.247.449.219.389.0-89.677.952.391.5-60.3-47.164.764.656.035.4+20.6
GTAV (Source) → Cityscapes
AdSegNet [42]86.536.079.923.423.323.935.214.883.433.375.658.527.673.732.535.43.930.128.1-42.436.6+5.8
IntraDA [43]90.636.182.629.521.327.631.423.185.239.380.259.329.486.433.653.90.032.737.6-46.336.6+9.7
CBST [11]89.658.978.533.022.341.448.239.283.624.365.449.320.283.339.048.612.520.335.3-47.035.4+11.6
CRST [15]91.745.180.929.023.443.847.140.984.020.060.664.031.985.839.548.725.038.047.0-49.835.4+14.4
DACS [21]89.939.687.830.739.538.546.452.787.943.988.767.235.784.445.750.10.027.233.9-52.132.8+19.3
DSP [19]92.448.087.433.435.136.441.646.087.743.289.866.632.189.957.056.10.044.157.8-55.036.6+18.4
MFA [22]94.561.187.641.435.441.247.145.786.636.687.070.138.387.239.554.70.345.457.7-55.745.6+10.1
RED [18]94.460.988.039.441.843.249.056.088.045.887.767.538.090.057.651.90.046.555.2-57.934.8+23.1
ProDA [44]87.856.079.746.344.845.653.553.588.645.282.170.739.288.845.559.41.048.956.4-57.536.6+20.9
Co-T (ours)89.951.089.040.034.251.656.551.389.550.189.871.846.590.955.756.70.052.664.2-59.528.5+31.0
Synscapes (Source) → Cityscapes
AdSegNet [42]94.260.985.129.125.238.643.940.885.229.788.264.440.685.831.543.028.330.556.7-52.745.3+7.4
IntraDA [43]94.060.084.929.526.238.541.643.785.331.788.266.344.785.730.753.029.536.560.2-54.245.3+8.9
Co-T (ours)91.455.781.634.538.953.664.767.491.048.793.477.542.493.118.320.81.260.074.2-58.345.0+13.3
GTAV + Synscapes (Source) → Cityscapes
MADAN [45]94.161.086.443.332.140.649.044.487.347.789.461.736.387.535.545.831.033.552.1-55.751.6+4.1
MsDACL [20]93.659.687.144.936.742.149.942.587.747.689.963.540.388.241.058.353.137.957.7-59.051.6+7.4
Co-T (ours)96.374.790.448.849.158.361.567.090.754.793.579.457.790.445.685.159.960.470.9-70.250.0+20.2
Table 2. Hyper-parameters of our method (Section 3 and Algorithms 1–3). Datasets: GTAV (G), Synscapes (S), SYNTHIA (SIA), Cityscapes (C), BDD100K (B), Mapillary Vistas (M).
Table 2. Hyper-parameters of our method (Section 3 and Algorithms 1–3). Datasets: GTAV (G), Synscapes (S), SYNTHIA (SIA), Cityscapes (C), BDD100K (B), Mapillary Vistas (M).
M df H st H ct
Source Target N n Δ p C m C M N MB p MB p CM P m P M K m K M P m P M K w λ
SIAC5001000.050.50.940.750.50.50.61100.50.6510.8
S, G + SC, M5001000.050.50.940.750.50.50.61100.50.6510.8
GC5001000.050.50.940.750.50.30.51100.50.6510.8
G + SB5001000.050.50.920.50.50.30.51100.50.6510.8
Table 3. Co-training results compared to baseline (Source), LAB adjustment pre-processing (SrcLAB), self-training stage, and upper-bound (SrcLAB + Target). Note that Target refers to using 100% of the target domain images labeled for training by a human oracle. CB corresponds to the class balance policy applied on GTAV. We remind also that, before running our co-training procedure (self-training stage and co-training loop), we apply target LAB adjustment on the synthetic datasets. In this table, the target domain is always Cityscapes.
Table 3. Co-training results compared to baseline (Source), LAB adjustment pre-processing (SrcLAB), self-training stage, and upper-bound (SrcLAB + Target). Note that Target refers to using 100% of the target domain images labeled for training by a human oracle. CB corresponds to the class balance policy applied on GTAV. We remind also that, before running our co-training procedure (self-training stage and co-training loop), we apply target LAB adjustment on the synthetic datasets. In this table, the target domain is always Cityscapes.
MethodsRoadSidewalkBuildingWallFencePoleTraffic LightTraffic SignVegetationTerrainSkyPersonRiderCarTruckBusTrainMotorbikeBikemIoU
SYNTHIA (Source) → Cityscapes
Source38.4717.4275.394.920.2230.5817.7915.4873.86-80.5563.2822.5762.47-27.12-13.2223.9235.46
SrcLAB58.522.2378.336.030.2837.817.015.6478.01-79.3663.0522.4878.91-32.1-13.3128.839.48
Self-training stage (ours)72.1430.3782.972.970.1143.7234.4914.0087.09-86.8773.8243.4587.57-42.44-21.6956.3648.74
Co-training proce. (ours)78.1436.9884.079.340.2847.4949.219.3589.07-89.6277.9252.3291.50-60.37-47.1064.7656.09
SrcLAB + Target97.9284.4292.6053.8761.7065.9370.6778.0092.71(65.68)94.9883.2966.4995.32(77.37)88.20(71.84)67.4578.1379.48
Δ(SrcLAB vs. Source)20.034.812.941.110.067.22−0.790.164.15-−1.19−0.23−0.0916.44-4.98-0.094.884.02
Δ(Co-t vs. Source)39.6218.388.244.330.0616.8431.413.8713.81-9.0414.629.6626.29-19.71-33.8640.7419.40
Δ(Co-t vs. SrcLAB)19.6414.755.743.3109.6932.23.7111.06-10.2614.8729.8412.59-28.27-33.7935.9616.6
Δ(Co-t vs. Self-t)6.006.611.106.370.173.7714.715.351.98-2.754.108.873.93-17.93-25.418.407.34
ΔCo-t vs. SrcLAB + Tgt)−19.83−48.62−8.97−44.62−61.42−18.51−21.47−58.65−5.04-−5.39−5.41−14.26−6.56-−41.37-−20.37−13.47−24.62
GTAV (Source) → Cityscapes
Source51.8513.5764.718.1915.8614.3931.6610.8671.956.9138.2155.6522.2172.4032.629.760.09.9311.1428.52
SrcLAB75.2523.3876.5919.7216.8632.2828.3713.7381.7525.4746.7164.031.7684.1432.2916.230.0823.4127.2737.86
SrcLAB + CB73.3426.3073.5029.5721.1635.0442.7820.0984.6426.4853.2063.0240.7781.9034.1631.564.7436.0534.0742.76
Self-training stage (ours)85.3136.8285.1141.0925.6246.3945.1933.4488.9845.5572.9969.5442.4389.3644.4257.51.2845.5159.7853.49
Co-training proce. (ours)89.9251.0389.0940.0534.2351.6156.5451.3689.5050.1289.8371.8846.5090.9155.7256.770.052.6164.2159,57
SrcLAB + Target98.2085.4392.7459.0763.0565.2669.4377.1092.6365.2694.7082.1163.2295.2285.0586.0767.2764.8477.2178.10
Δ(SrcLAB + CB vs. Source)21.4912.738.7921.385.320.6511.129.2312.6919.5714.997.3718.569.51.5421.84.7426.1222.9314.24
Δ(Co-t vs. Source)38.0737.4624.3831.8618.3737.2224.8840.517.5543.2151.6216.2324.2918.5123.147.010.042.6853.0731.05
Δ(Co-t vs. SrcLAB + CB)16.5824.7315.5910.4813.0716.5713.7631.274.8623.6436.638.865.739.0121.5625.21−4.7416.5630.1416.81
Δ(Co-t vs. Self-t)4.6114.213.98−1.048.615.2211.3517.920.524.5716.842.344.071.5511.3−0.73−1.287.14.436.08
Δ(Co-t vs. SrcLAB + Tgt)−8.28−34.4−3.65−19.02−28.82−13.65−12.89−25.74−3.13−15.14−4.87−10.23−16.72−4.31−29.33−29.3−67.27−12.23−13.0−18.53
Synscapes (Source) → Cityscapes
Source83.8142.1561.8726.1021.6944.6547.1253.8681.3033.5753.5367.7929.6885.6614.816.662.3634.9463.5345.01
SrcLAB78.3937.4767.3916.4519.0948.551.7958.5483.1829.8964.7970.1729.2785.3918.4210.423.3236.4864.6145.98
Self-training stage (ours)89.5550.1984.2633.6137.6757.2960.1164.0090.6147.1391.2272.1521.1791.9915.3820.099.3544.9470.7855.34
Co-training proce. (ours)91.4655.7681.6334.5838.9253.6664.7467.4391.0248.7293.4577.5442.4093.1418.3520.841.2960.0374.2258.38
SrcLAB + Target98.0384.4992.9059.1063.7067.1871.6779.5092.7465.5194.8183.9368.0795.4582.8991.8383.7970.9179.2480.30
Δ(SrcLAB vs. Source)0.97−5.42−4.685.52−9.65−2.63.854.674.681.88−3.6811.262.38−0.41−0.273.613.760.961.541.08
Δ(Co-t vs. Source)7.6513.6119.768.4817.239.0117.6213.579.7215.1539.929.7512.727.483.5414.18−1.0725.0910.6913.37
Δ(Co-t vs. SrcLAB)13.0718.2914.2418.1319.835.1612.958.897.8418.8328.667.3713.137.75−0.0710.42−2.0323.559.6112.40
Δ(Co-t vs. Self-t)1.915.57−2.630.971.25−3.634.633.430.411.592.235.3921.231.152.970.75−8.0615.093.443.04
Δ(Co-t vs. SrcLAB + Tgt)−6.57−28.73−11.27−24.52−24.78−13.52−6.93−12.07−1.72−16.79−1.36−6.39−25.67−2.31−64.54−70.99−82.5−10.88−5.02−21.92
GTAV + Synscapes (Source) → Cityscapes
Source66.3933.5479.5829.4340.2449.7356.1246.5181.2218.4079.0673.1829.6785.2543.006.4623.0247.7161.6350.01
SrcLAB87.9747.4585.1434.3143.1649.8257.1647.8588.8845.0082.5372.5838.2289.1651.9161.3140.0643.6460.8559.32
Self-training stage (ours)93.9366.0889.9546.4048.1356.3059.6565.1690.2552.2293.3375.9741.1590.4044.9875.0865.5255.5271.9867.47
Co-training proce. (ours)96.3074.7290.4448.8949.1558.3661.5267.0590.7554.7593.5279.4857.7190.4845.6185.1159.9560.4170.9670.23
SrcLAB + Target97.8883.4392.3364.1561.7763.4568.0475.1792.3162.7494.0882.0064.1695.0184.2589.6675.5663.2876.0778.18
Δ(SrcLAB vs. Source)21.5813.915.564.882.920.091.041.347.6626.63.47−0.68.553.918.9154.8517.04−4.07−0.789.31
Δ(Co−t vs. Source)29.9141.1810.8619.468.918.635.4020.549.5336.3514.466.328.045.232.6178.6536.9312.709.3320.22
Δ(Co-t vs. SrcLAB)8.3327.275.3014.585.998.544.3619.201.879.7510.996.919.491.32−6.323.819.8916.779.2810.91
Δ(Co-t vs. Self-t)2.378.640.492.491.022.061.871.890.52.530.193.5116.560.080.6310.03−5.574.89−1.852.76
Δ(Co-t vs. SrcLAB + Tgt)−1.58−8.71−1.89−15.26−12.62−5.09−6.52−8.12−1.56−7.99−0.56−2.52−6.45−4.53−38.64−4.55−15.61−2.87−5.94−7.95
Table 4. Contribution of the main components of our proposal. Case study: GTAV + Synscapes → Cityscapes.
Table 4. Contribution of the main components of our proposal. Case study: GTAV + Synscapes → Cityscapes.
Co-Training Procedure
Self-Training Stage
Baseline+LAB+MixBatch+ClassMix+Co-Training LoopUpper Bound
mIoU50.0159.3266.1867.4770.2378.18
Gain-+9.31+6.86+1.29+2.76-
Table 5. Analogous to Table 3 with BDD100K and Mapillary as target domains.
Table 5. Analogous to Table 3 with BDD100K and Mapillary as target domains.
MethodsRoadSidewalkBuildingWallFencePoleTraffic LightTraffic SignVegetationTerrainSkyPersonRiderCarTruckBusTrainMotorbikeBikemIoU
GTAV + Synscapes (Source) → BDD100K
Source67.8320.8454.869.0027.5730.2431.7420.7562.6915.3963.7554.5324.0865.9212.829.100.0739.5839.0434.20
SrcLAB74.2226.0768.487.9415.5131.0938.6922.9069.3325.9274.2759.3518.8172.7923.6619.750.0254.7235.4838.68
Self-training stage (ours)88.5226.2178.7714.4835.4141.4049.2731.7475.8635.8988.8560.3935.2285.4835.0442.290.0051.2847.4048.60
Co-training proce. (ours)88.4331.6380.0513.0539.8941.8146.1229.6776.0637.7989.5063.0839.9485.7840.5242.710.0753.6050.4050.11
SrcLAB + Target93.3360.8984.4131.4547.7449.6255.3347.7785.0042.7792.6066.1038.9188.1140.6371.090.0057.7154.9058.33
Δ(SrcLAB vs. Source)6.395.239.62−1.06−12.060.856.952.156.6410.5310.524.82−5.276.8710.8410.65−0.0515.14−3.564.48
Δ(Co-t vs. Source)25.540.0529.5522.4520.1719.3823.5927.0222.3127.3828.8511.5714.8322.1927.8161.99−0.0718.1315.8624.13
Δ(Co-t vs. SrcLAB)19.1134.8219.9323.5132.2318.5316.6424.8715.6716.8518.336.7520.115.3216.9751.34−0.022.9919.4219.65
Δ(Co-t vs. Self-t)−0.095.421.28−1.434.480.41−3.15−2.070.21.90.652.694.720.35.480.420.072.323.01.51
Δ(Co-t vs. SrcLAB + Tgt)−4.9−29.26−4.36−18.4−7.85−7.81−9.21−18.1−8.94−4.98−3.1−3.021.03−2.33−0.11−28.380.07−4.11−4.5−8.22
GTAV + Synscapes (Source) → Mapillary Vistas
Source68.8131.7368.8825.2037.9438.7949.7920.5773.2729.6680.6263.8142.7580.6535.7416.861.8544.5647.0945.19
SrcLAB72.6243.1870.8917.2125.1835.0557.7455.7376.7827.0988.7271.3424.3477.8946.2947.370.0034.2746.7748.34
Self-training stage (ours)89.4453.3085.2836.5744.8947.1059.1865.9484.5848.2597.4474.2355.7189.3758.3459.451.4749.4451.5060.60
Co-training proce. (ours)90.4457.8385.5936.3845.5649.6459.7367.6284.2747.0896.7974.8056.0590.4256.3449.8610.7149.6255.9461.30
SrcLAB + Target94.0269.4688.7051.3860.1757.5964.2175.1690.7069.3598.2776.0256.7091.4260.4973.3533.8160.8766.6370.44
Δ(SrcLAB vs. Source)−2.93−0.240.73−8.10−8.645.255.9421.323.342.731.743.474.751.865.84−3.151.097.516.692.59
Δ(Co-t vs. Source)21.6326.1016.7111.187.6210.859.9447.0511.017.4216.1710.9913.309.7720.6033.08.865.068.8516.11
Δ(Co-t vs. SrcLAB)24.5626.3415.9819.2816.265.64.025.737.6614.6914.437.528.557.9114.7636.157.77−2.452.1613.52
Δ(Co-t vs. Self-t)1.04.530.31−0.190.672.540.551.68−0.31−1.17−0.650.570.341.05−2.0−9.599.240.184.440.7
Δ(Co-t vs. SrcLAB + Tgt)−3.58−11.63−3.11−15.0−14.61−7.95−4.48−7.54−6.43−22.27−1.48−1.22−0.65−1.0−4.15−23.49−23.1−11.25−10.69−9.14
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Gómez, J.L.; Villalonga, G.; López, A.M. Co-Training for Unsupervised Domain Adaptation of Semantic Segmentation Models. Sensors 2023, 23, 621. https://doi.org/10.3390/s23020621

AMA Style

Gómez JL, Villalonga G, López AM. Co-Training for Unsupervised Domain Adaptation of Semantic Segmentation Models. Sensors. 2023; 23(2):621. https://doi.org/10.3390/s23020621

Chicago/Turabian Style

Gómez, Jose L., Gabriel Villalonga, and Antonio M. López. 2023. "Co-Training for Unsupervised Domain Adaptation of Semantic Segmentation Models" Sensors 23, no. 2: 621. https://doi.org/10.3390/s23020621

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop