SPIGAN: P RIVILEGED A DVERSARIAL L EARNING FROM S IMULATION
Anonymous authors
Paper under double-blind review
A BSTRACT
Deep Learning for Computer Vision depends mainly on the source of supervision.
Photo-realistic simulators can generate large-scale automatically labeled synthetic data, but introduce a domain gap negatively impacting performance.
We propose a new unsupervised domain adaptation algorithm, called SPIGAN, relying on Simulator Privileged Information (PI) and Generative Adversarial Networks (GAN).
We use internal data from the simulator as PI during the training of a target task network.
We experimentally evaluate our approach on semantic segmentation.
We train the networks on real-world Cityscapes and Vistas datasets, using only unlabeled real-world images and synthetic labeled data with z-buffer (depth) PI from the SYNTHIA dataset.
Our method improves over no adaptation and state-of-theart unsupervised domain adaptation techniques.
I NTRODUCTION
Learning from as little human supervision as possible is a major challenge in Machine Learning.
In
Computer Vision, labeling images and videos is the main bottleneck towards achieving large scale learning and generalization.
Recently, training in simulation has shown continuous improvements in several tasks, such as optical ﬂow (Mayer et al., 2016), object detection (Mar´ın et al., 2010; Vazquez et al., 2014; Xu et al., 2014; Sun & Saenko, 2014;
Peng et al., 2015), tracking (Gaidon et al., 2016), pose and viewpoint estimation (Shotton et al., 2011; Papon & Schoeler, 2015;
Su et al., 2015), action recognition (de Souza et al., 2017), and semantic segmentation (Handa et al., 2016; Ros et al., 2016; Richter et al., 2016).
However, large domain gaps between synthetic and real domains remain as the main handicap of this type of strategies.
This is often addressed by manually labeling some amount of real-world target data to train the model on mixed synthetic and real-world labeled data (supervised domain adaptation).
In contrast, several recent unsupervised domain adaptation algorithms have leveraged the potential of Generative Adversarial Networks (GANs) (Goodfellow et al., 2014) for pixel-level adaptation in this context (Bousmalis et al., 2017; Shrivastava et al., 2016).
These methods often use simulators as black-box generators of ( x, y ) input / output training samples for the desired task.
Our main observation is that simulators internally know a lot more about the world and how the scene is formed, which we call Privileged Information (PI).
This Privileged Information includes physical properties that might be useful for learning.
This additional information z is not available in the real-world and is, therefore, generally ignored during learning.
In this paper, we propose a novel adversarial learning algorithm, called SPIGAN , to leverage Simulator PI for GAN-based unsupervised learning of a target task network from unpaired unlabeled real-world data.
We jointly learn four different networks: (i) a generator G (to adapt the pixel-level distribution of synthetic images to be more like real ones), (ii) a discriminator D (to distinguish adapted and real images), (iii) a task network T (to predict the desired label y from image x ), and (iv) a privileged network P trained on both synthetic images x and adapted ones G ( x ) to predict their associated privileged information z .
Our main contribution is a new method to leverage PI from a simulator via the privileged network P , which acts as an auxiliary task and regularizer to the task network T , the main output of our SPIGAN learning algorithm.
We evaluate our approach on semantic segmentation in urban scenes, a challenging real-world task.
We use the standard Cityscapes (Cordts et al., 2016) and Vistas (Neuhold et al., 2017) datasets as target real-world data (without using any of the training labels) and SYNTHIA (Ros et al., 2016) as simulator output.
Although our method applies to any kind of PI that can be predicted via a deep network (optical ﬂow, instance segmentation, object detection, material properties, forces, ...), we consider one of the most common and simple forms of PI available in any simulator: depth from its z-buffer.
We show that SPIGAN can successfully learn a semantic segmentation network T using no real-world labels, partially bridging the sim-to-real gap (see Figure 1).
SPIGAN also outperforms related state-of-the-art unsupervised domain adaptation methods.
The rest of the paper is organized as follows.
Section 2 presents a brief review of related works.
Section 3 presents our SPIGAN unsupervised domain adaptation algorithm using simulator privileged information.
We report our quantitative experiments on semantic segmentation in Section 4, and conclude in Section 5.
R ELATED W ORK
Domain adaptation (cf.
Csurka (2017) for a recent review) is generally approached either as domaininvariant learning (Hoffman et al., 2013;
Herath et al., 2017; Yan et al., 2017; Ganin & Lempitsky, 2015) or as a statistical alignment problem (Tzeng et al., 2014; Long et al., 2015).
Our work focuses on unsupervised adaptation methods in the context of deep learning.
This problem consists in learning a model for a task in a target domain (e.g., semantic segmentation of real-world urban scenes) by combining unlabeled data from this domain with labeled data from a related but different source domain (e.g., synthetic data from simulation).
The main challenge is overcoming the domain gap, i.e. the differences between the source and target distributions, without any supervision from the target domain.
The Domain Adversarial Neural Network (DANN) (Tzeng et al., 2014; Ganin & Lempitsky, 2015; Ganin et al., 2016) is a popular approach that learns domain invariant features by maximizing domain confusion.
This approach has been successfully adopted and extended by many other researchers, e.g., Purushotham et al.
; Chen et al.
; Zhang et al.
Curriculum Domain Adaptation (Zhang et al., 2017) is a recent evolution for semantic segmentation that reduces the domain gap via a curriculum learning approach (solving simple tasks ﬁrst, such as global label distribution in the target domain).
Recently, adversarial domain adaptation based on GANs (Goodfellow et al., 2014) have shown encouraging results for unsupervised domain adaptation directly at the pixel level.
These techniques learn a generative model for source-to-target image translation, including from and to multiple domains (Taigman et al., 2016; Shrivastava et al., 2016; Zhu et al., 2017; Isola et al., 2017; Kim et al., 2017).
In particular, CycleGAN (Zhu et al., 2017) leverages cycle consistency using a forward GAN and a backward GAN to improve the training stability and performance of image-to-image translation.
An alternative to GAN is Variational Auto-Encoders (VAEs), which have also been used for image translation (Liu et al., 2017).
Several related works propose GAN-based unsupervised domain adaptation methods to address the speciﬁc domain gap between synthetic and real-world images.
SimGAN (Shrivastava et al., 2016) leverages simulation for the automatic generation of large annotated datasets with the goal of reﬁning synthetic images to make them look more realistic.
Sadat Saleh et al.
(2018) effectively leverages synthetic data by treating foreground and background in different manners.
Similar to our approach, recent methods consider the ﬁnal recognition task during the image translation process.
Closely x s (synthetic) y s (label)
z s (privileged info.)
G x f (fake)
D x r (real)
T
T ( x s ; θ T )
P
T ( x f ; θ T ) real / fake … sampling
P ( x s ; θ p )
P ( x f ; θ p ) related to our work, PixelDA (Bousmalis et al., 2017) is a pixel-level domain adaptation method that jointly trains a task classiﬁer along with a GAN using simulation as its source domain but no privileged information. These approaches focus on simple tasks and visual conditions that are easy to simulate, hence having a low domain gap to begin with. On the other hand, Hoffman et al. (2016b) are the ﬁrst to study semantic segmentation as the task network in adversarial training.
Zhang et al.
(2017) uses a curriculum learning style approach to reduce domain gap.
Saito et al.
(2017) conducts domain adaptation by utilizing the task-speciﬁc decision boundaries with classiﬁers.
Sankaranarayanan et al.
(2018) leverage the GAN framework by learning general representation shared between the generator and segmentation networks.
Chen et al.
(2018) use a target guided distillation to encourage the task network to imitate a pretrained model.
Zhang et al.
(2018) propose to combine appearance and representation adaptation.
Tsai et al.
(2018) propose an adversarial learning method to adapt in the output (segmentation) space.
Zou et al.
(2018) generates pseudo-labels based on conﬁdence scores with balanced class distribution and propose an iterative self-training framework.
Our main novelty is the use of Privileged Information from a simulator in a generic way by considering a privileged network in our architecture (see Figure 2).
We show that for the challenging task of semantic segmentation of urban scenes, our approach signiﬁcantly improves by augmenting the learning objective with our auxiliary privileged task, especially in the presence of a large sim-to-real domain gap, the main problem in challenging real-world conditions.
Our work is inspired by Learning Using Privileged Information (LUPI)
(Vapnik & Vashist, 2009), which is linked to distillation (Hinton et al., 2015) as shown by Lopez-Paz et al.
LUPI’s goal is to leverage additional data only available at training time.
For unsupervised domain adaptation from a simulator, there is a lot of potentially useful information about the generation process that could inform the adaptation.
However, that information is only available at training time, as we do not have access to the internals of the real-world data generator.
Several works have used privileged information at training time for domain adaptation (Chen et al., 2014; Hoffman et al., 2016a; Li et al., 2014; Saraﬁanos et al., 2017; Garcia et al., 2018).
Hoffman et al. (2016a) leverage RGBD information to help adapt an object detector at the feature level, while Garcia et al. (2018) propose a similar concept of modality distillation for action recognition.
Inspired by this line of work, we exploit the privileged information from simulators for sim-to-real unsupervised domain adaptation.
S IMULATOR P RIVILEGED I NFORMATION GAN 3. U NSUPERVISED LEARNING WITH A SIMULATOR
Our goal is to design a procedure to learn a model (neural network) that solves a perception task (e.g., semantic segmentation) using raw sensory data coming from a target domain (e
We formalize this problem as unsupervised domain adaptation from a synthetic domain (source domain) to a real domain (target domain).
The source domain consists of labeled synthetic images together with Privileged Information (PI), obtained from the internal data structures of a simulator.
The target domain consists of unlabeled images.
The simulated source domain serves as an idealized representation of the world, offering full control of the environment (weather conditions, types of scene, sensor conﬁgurations, etc.) with automatic generation of raw sensory data and labels for the task of interest.
The main challenge we address in this work is how to overcome the gap between this synthetic source domain and the target domain to ensure generalization of the task network in the real-world without target supervision .
Our main hypothesis is that the PI provided by the simulator is a rich source of information to guide and constrain the training of the target task network.
The PI can be deﬁned as any information internal to the simulator, such as depth, optical ﬂow, or physical properties about scene components used during simulation (e.g., materials, forces, etc.).
We leverage the simulator’s PI within a GAN framework, called SPIGAN.
Our approach is described in the next section.
3. SPIGAN
Let X r = { x ( j ) r , j = 1 . . .
N r } be a set of N r unlabeled real-world images x r .
Let X s =
( x ( i ) s ,
y
( i ) s , z ( i ) s ) , i = 1 . . .
N s } be a set of N s simulated images x s with their labels y s and PI z s .
We describe our approach assuming a uniﬁed treatment of the PI, but our method trivially extends to multiple separate types of PI.
SPIGAN (cf.
Fig. 2) jointly learns a model ( θ G , θ D , θ T , θ P ) , consisting of: (i) a generator G ( x ; θ G ) , (ii) a discriminator D ( x ; θ D ) , (iii) a task predictor T ( x ; θ T ) , and (iv) a privileged network P ( x ; θ P ) .
The generator G is a mapping function, transforming an image x s in X s (source domain) to x f in X f (adapted or fake domain).
SPIGAN aims to make the adapted domain statistically close to the target domain to maximize the accuracy of the task predictor T ( x ; θ T ) during testing.
The discriminator D is expected to tell the difference between x f and x r , playing an adversarial game with the generator until a termination criteria is met (refer to section 4.1) .
The target task network T is learned on the synthetic x s and adapted G ( x s ; θ G ) images to predict the synthetic label y s , assuming the generator presents a reasonable degree of label (content) preservation.
This assumption is met for the regime of our experiments.
Similarly, the privileged network P is trained on the same input but to predict the PI z , which in turn assumes the generator G is also PI-preserving.
During testing only T ( x ; θ T ) is needed to do inference for the selected perception task.
The main learning goal is to train a model θ T that can correctly perform a perception task T in the target real-world domain.
All models are trained jointly in order to exploit all available information to constrain the solution space.
In this way, the PI provided by the privileged network P is used to constrain the learning of T and to encourage the generator to model the target domain while being label- and PI-preserving.
Our joint learning objective is described in the following section.
3. L EARNING OBJECTIVE
We design a consistent set of loss functions and domain-speciﬁc constraints related to the main prediction task T .
We optimize the following minimax objective:
[Equation]
(1) where α , β , γ , δ are the weights for adversarial loss, task prediction loss, PI regularization, and perceptual regularization respectively, further described below.
Adversarial loss L GAN .
Instead of using a standard adversarial loss, we use a least-squares based adversarial loss Mao et al.
; Zhu et al.
(2017), which stabilizes the training process and generates better image results in our experiments:
[Equation]
where P r (resp.
P s ) denotes the real-world (resp.
synthetic) data distribution.
Task prediction loss L T .
We learn the task network by optimizing its loss over both synthetic images x s and their adapted version G ( x s , θ G ) .
This assumes the generator is label-preserving, i.e., that y s can be used as a label for both images.
Thanks to our joint objective, this assumption is directly encouraged during the learning of the generator through the joint estimation of θ P , which relates to scene properties captured by the PI.
Naturally, different tasks require different loss functions.
In our experiments, we consider the task of semantic segmentation and use the standard cross-entropy loss (Eq. 4) over images of size W × H and a probability distribution over C semantic categories.
The total combined loss in the special case of semantic segmentation is therefore:
[Equation]
where 1 [ a = b ] is the indicator function.
PI regularization L P .
Similarly, the auxiliary task of predicting PI also requires different losses depending on the type of PI.
In our experiments, we use depth from the z-buffer and an (cid:96) 1 -norm:
[Equation]
Perceptual regularization L perc .
To maintain the semantics of the source images in the generated images, we additionally use the perceptual loss Johnson et al.
; Chen & Koltun (2017):
[Equation]
[Equation] where φ is a mapping from image space to a pre-determined feature space Chen & Koltun (2017) (see 4.1 for more details).
Optimization.
In practice, we follow the standard adversarial training strategy to optimize our joint learning objective (Eq. 1).
We alternate between updates to the parameters of the discriminator θ D , keeping all other parameters ﬁxed, then ﬁx θ D and optimize the parameters of the generator θ G , the privileged network θ P , and most importantly the task network θ T .
We discuss the details of our implementation, including hyper-parameters, in section 4.1.
E XPERIMENTS
We evaluate our unsupervised domain adaptation method on the task of semantic segmentation in a challenging real-world domain for which training labels are not available.
As our source synthetic domain, we select the public SYNTHIA dataset (Ros et al., 2016) as synthetic source domain given the availability of automatic annotations and PI.
SYNTHIA is a dataset generated from an autonomous driving simulator of urban scenes.
These images were generated under different weathers and illumination conditions to maximize visual variability.
Pixel-wise segmentation and depth labels are provided for each image.
In our experiment, we use the sequence of SYNTHIA-RAND-CITYSCAPES, which contains semantic segmentation labels that are more compatible with Cityscapes.
For target real-world domains, we use the Cityscapes (Cordts et al., 2016) and Mapillary Vistas (Neuhold et al., 2017) datasets.
Cityscapes is one of most widely used real-world urban scene image segmentation datasets with images collected around urban streets in Europe.
For this dataset, We use the standard split for training and validation with 2 , 975 and 500 images respectively.
Mapillary Vistas is a larger dataset with a wider variety of scenes, cameras, locations, weathers, and illumination conditions.
We use 16 , 000 images for training and 2 , 000 images for evaluation.
During training, none of the labels from the real-world domains are used.
In our experiment, we ﬁrst evaluate adaptation from SYNTHIA to Cityscapes on 16 classes, following the standard evaluation protocol used in Hoffman et al. (2016b)
; Zhang et al.
( of using PI by conducting ablation study with and without PI (depth) during adaptation from SYNTHIA to both Cityscapes and Vistas, on a common 7 categories ontology.
To be consistent with the semantic segmentation best practices, we use standard intersection-over-union (IoU) per category and mean intersection-over-union (mIoU) as our main validation metric.
4. I MPLEMENTATION D ETAILS
We adapt the generator and discriminator model architectures from CycleGAN (Zhu et al., 2017) and (Johnson et al., 2016).
For simplicity, we use a single sim-to-real generator (no cycle consistency) consisting of two down-sampling convolution layers, nine ResNet blocks (He et al., 2016) and two fractionally-strided convolution layers.
Our discriminator is a PatchGAN (Isola et al., 2017) network with 3 layers.
We use the standard FCN8s architecture Long et al.
(2015) for both the task predictor T and the privileged network P , given its ease of training and its acceptance in domain adaptation works Hoffman et al. (2016b).
For the perceptual loss L perc , we follow the implementation in Chen & Koltun (2017).
The feature is constructed by the concatenation of the activations of a pre-trained VGG19 network Witten et al.
(2016) of layers ”conv1 2”, ”conv2 2”, ”conv3 2”, ”conv4 2”, ”conv5 2”.
Following the common protocol in unsupervised domain adaptation Shrivastava et al.
; Zhu et al.
; Bousmalis et al.
; Sankaranarayanan et al.
(2018), we set hyper-parameters using a coarse grid search on a small validation set different than the target set. For Cityscapes, we use a subset of the validation set of Vistas, and vice-versa. We found a set of values that are effective across datasets and experiments, which show they have a certain degree of robustness and generalization. The weights in our joint adversarial loss (Eq. 1) are set to α = 1 , β = 0 .
5 , γ = 0 .
1 , δ = 0 .
33 , for the GAN, task, privileged, and perceptual objectives respectively.
This conﬁrms that the two most important factors in the objective are the GAN and task losses ( α = 1 , β = 0 . 5 ). This is intuitive, as the goal is to improve the generalization performance of the task network (the task loss being an empirical proxy) across a potentially large domain gap (addressed ﬁrst and foremost by the GAN loss). The regularization terms are secondary in the objective, stabilizing the training (perceptual loss) and constraining the adaptation process (privileged loss). Figures 3 and 4 show an example of our loss curves and the stability of our training.
Another critical hyper-parameter for unsupervised learning is the stopping criterion.
We observed that the stabilizing effects of the task and privileged losses (Eqs. 3,5) on the GAN objective (Eq. 2) made a simple rule effective for early stopping.
We stop training at the iteration when the discriminator loss is signiﬁcantly and consistently better than the generator loss (iteration 90 in Figure 4).
This is inspired by the semi-supervised results of Dai et al. (2017), where effective discriminative adaptation of the task network might not always be linked to the best image generator.
We evaluate the methods with two resolution: 320 × 640 and 512 × 1024 , respectively. Images are resized to the evaluated size during training and evaluation.
During training, we sample crops of size 320 ×(resp.
400 × 400 ) for lower (resp. higher) resolution experiments.
In all adversarial learning cases, we do ﬁve steps of the generator for every step of the other networks.
The Adam optimizer (Kingma & Ba, 2014) is used to adjust all parameters {+with initial learning rate 0 . 
+} in our PyTorch implementation (Paszke et al., 2017). r e s o l u ti on [Table]
r o a d s i d e w a l k bu il d i ng w a ll f e n ce po l e T - li gh t T - s i gn v e g e t a ti on s ky p e r s on r i d e r ca r bu s m o t
o r c
y
c l e b i c y c
l e m ea n I o
U
[Table]
[Table]
a t c
[Table]
s t .
[Table]
j ec t n a t u r e s ky hu
m a n v e h
i c
l e m I o
U
N e g .
R a t e [Table] 4. R ESULTS AND D ISCUSSION In this section we present our evaluation of the SPIGAN algorithm in the context of adapting a semantic segmentation network from SYNTHIA to Cityscapes.
Depth maps from SYNTHIA are used as PI in the proposed algorithm.
We compare our results to several state-of-art domain adaptation algorithms, including FCNs in the wild (FCNs wild) (Hoffman et al., 2016b), Curriculum DA (CDA) (Zhang et al., 2017), Learning from synthetic data (LSD) (Sankaranarayanan et al., 2018), and Class-balanced Self-Training (CBST)
Zou et al.
Quantitative results for these methods are shown in Table 1 for the semantic segmentation task on the target domain of Cityscapes (validation set).
As reference baselines, we include results training only on source images and non-adapted labels.
We also provide our algorithm performance without the PI for comparison (i.e., γ = 0 in Eq.
1, named ”SPIGAN-no-PI”).
Results show that on Cityscapes SPIGAN achieves state-of-the-art semantic segmentation adaptation in terms of mean IoU. A ﬁner analysis of the results attending to individual classes suggests that the use of PI helps to estimate layout-related classes such as road and sidewalk and object-related classes such as person, rider, car, bus and motorcycle.
SPIGAN achieves an improvement of 3% in 320 × 640 , 1 . 0% in 512 × 1024 , in mean IoU with respect to the non-PI method.
This improvement is thanks to the regularization provided by P ( x ; θ P ) during training, which decreases the number of artifacts as shown in Figure 5.
This comparison, therefore, conﬁrms our main contribution: a general approach to leveraging synthetic data and PI from the simulator to improve generalization performance across the sim-to-real domain gap.
4. A BLATION S TUDY
To better understand the proposed algorithm, and the impact of PI, we conduct further experiments comparing SPIGAN (with PI), SPIGAN-no-PI (without PI), the task network of SPIGAN trained only on the source domain (FCN source, lower bound, no adaptation), and on the target domain (FCN target, upper bound), all at 320 × 640 resolution.
We also include results on the Vistas dataset, which presents a more challenging adaptation problem due to the higher diversity of its images.
For these experiments, we use a 7 semantic classes ontology to produce a balanced ontology common to the three datasets (SYNTHIA, Cityscapes and Vistas).
Adaptation results for both target domains are given in Table 2.
In addition to the conventional segmentation performance metrics, we also carried out a study to measure the amount of negative transfer, summarized in Table 2.
A negative transfer case is deﬁned as a real-world testing sample that has a mIoU lower than the FCN source prediction (no adaptation).
For Cityscapes, the quantitative results in Table 2 show that SPIGAN is able to provide dramatic adaptation as hypothesized.
SPIGAN improves the mean IoU by 17 .
1% , with the PI itself providing an improvement of 7 . 4% .
This is consistent with our observation in the previous experiment (Table 1).
We also notice that SPIGAN gets signiﬁcant improvements on ”nature”, ”construction”, and ”vehicle” categories.
In addition, SPIGAN is able to improve the IoU by +15% on the ”human” category, a difﬁcult class in semantic segmentation.
We provide examples of qualitative results for the adaptation from SYNTHIA to Cityscapes in Figure 5 and Figure 7.
On the Vistas dataset, SPIGAN is able to decrease the domain gap by +4 . 3% mean IoU. In this case, using PI is crucial to improve generalization performance.
SPIGAN-no-PI indeed suffers from negative transfer, with its adapted network performing − 13% worse than the FCN source without adaptation. Table 2 shows that 80% of the evaluation images have a lower individual IoU after adaptation in the SPIGAN-no-PI case (vs. 42% in the SPIGAN case). The main difference between the Cityscapes and Vistas results is due to the difference in visual diversity between the datasets. Cityscapes is indeed a more visually uniform benchmark than Vistas: it was recorded in a few German cities in nice weather, whereas Vistas contains crowdsourced data from all over the world with varying cameras, environments, and weathers.
This makes Cityscapes more amenable to image translation methods (including SPIGAN-no-PI), as can be seen in Figurewhere a lot of the visual adaptation happens at the color and texture levels, whereas Figure 6 shows that SYNTHIA images adapted towards Vistas contain a lot more artifacts. Furthermore, a larger domain gap is known to increase the risk of negative transfer (cf. Csurka (2017)).
This is indeed what we quantitatively measured in Table 2 and qualitatively conﬁrmed in Figure 6. SPIGAN suffers from similar but less severe artifacts. As shown in Figure 6, they are more consistent with the depth of the scene, which helps addressing the domain gap and avoids the catastrophic failures visible in the SPIGAN-no-PI case.
This consistent improvement brought by PI in both of the experiments not only shows that PI imposes useful constraints that promote better task-oriented training, but also implies that PI more robustly guides the training to reduce domain shift.
By comparing the results on the two different datasets, we also found that all the unsupervised adaptation methods share some similarity in the performance of certain categories.
For instance, the ”vehicle” category has seen the largest improvement for both Cityscapes and Vistas.
This trend is consistent with the well-known fact that ”object” categories are easier to adapt than ”stuff” Vazquez et al.
However, the same improvement did not appear in the ”human” category mainly because the SYNTHIA subset we used in our experiments contains very few humans.
This phenomenon has been recently studied in Sadat Saleh et al.
C ONCLUSION
We present SPIGAN, a novel method for leveraging synthetic data and Privileged Information (PI) available in simulated environments to perform unsupervised domain adaptation of deep networks.
Our approach jointly learns a generative pixel-level adaptation network together with a target task network and privileged information models.
We showed that our approach is able to address large domain gaps between synthetic data and target real-world domains, including for challenging realworld tasks like semantic segmentation of urban scenes.
For future work, we plan to investigate SPIGAN applied to additional tasks, with different types of PI that can be obtained from simulation.
[Figure] [Figure]
[Figure] [Figure]