  Increasing deployment of photovoltaic (PV) plants requires methods for
automatic detection of faulty PV modules in modalities, such as infrared (IR)
images. Recently, deep learning has become popular for this. However, related
works typically sample train and test data from the same distribution ignoring
the presence of domain shift between data of different PV plants. Instead, we
frame fault detection as more realistic unsupervised domain adaptation problem
where we train on labelled data of one source PV plant and make predictions on
another target plant. We train a ResNet-34 convolutional neural network with a
supervised contrastive loss, on top of which we employ a k-nearest neighbor
classifier to detect anomalies. Our method achieves a satisfactory area under
the receiver operating characteristic (AUROC) of 73.3 % to 96.6 % on nine
combinations of four source and target datasets with 2.92 million IR images of
which 8.5 % are anomalous. It even outperforms a binary cross-entropy
classifier in some cases. With a fixed decision threshold this results in 79.4
% and 77.1 % correctly classified normal and anomalous images, respectively.
Most misclassified anomalies are of low severity, such as hot diodes and small
hot spots. Our method is insensitive to hyperparameter settings, converges
quickly and reliably detects unknown types of anomalies making it well suited
for practice. Possible uses are in automatic PV plant inspection systems or to
streamline manual labelling of IR datasets by filtering out normal images.
Furthermore, our work serves the community with a more realistic view on PV
module fault detection using unsupervised domain adaptation to develop more
performant methods with favorable generalization capabilities.
