<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "JATS-journalpublishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">INFORMATICA</journal-id>
<journal-title-group><journal-title>Informatica</journal-title></journal-title-group>
<issn pub-type="epub">1822-8844</issn><issn pub-type="ppub">0868-4952</issn><issn-l>0868-4952</issn-l>
<publisher>
<publisher-name>Vilnius University</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">INFOR640</article-id>
<article-id pub-id-type="doi">10.15388/26-INFOR640</article-id>
<article-categories><subj-group subj-group-type="heading">
<subject>Research Article</subject></subj-group></article-categories>
<title-group>
<article-title><monospace>OD-Abs</monospace>: A One-Class Outlier Detection-Based Approach for Classifying Images of Bacteria and Fungi from Abscesses</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-7852-681X</contrib-id>
<name><surname>Czibula</surname><given-names>Gabriela</given-names></name><email xlink:href="gabriela.czibula@ubbcluj.ro">gabriela.czibula@ubbcluj.ro</email><xref ref-type="aff" rid="j_infor640_aff_001">1</xref><bio>
<p><bold>G. Czibula</bold> is a professor at the Computer Science Department, Faculty of Mathematics and Computer Science of the Babeş-Bolyai University, Romania. She published more than 220 papers in prestigious journals and conference proceedings. Her research interests include machine learning, distributed artificial intelligence and multiagent systems, and bioinformatics.</p></bio>
</contrib>
<contrib contrib-type="author">
<contrib-id contrib-id-type="orcid">https://orcid.org/0009-0008-6447-5001</contrib-id>
<name><surname>Toader</surname><given-names>Teodora-Alexandra</given-names></name><email xlink:href="teodora.toader@ubbcluj.ro">teodora.toader@ubbcluj.ro</email><xref ref-type="aff" rid="j_infor640_aff_001">1</xref><xref ref-type="corresp" rid="cor1">∗</xref><bio>
<p><bold>T.-A. Toader</bold> is currently a third-year PhD student at the Doctoral School in Mathematics and Computer Science of the Babeş-Bolyai University, in Cluj-Napoca, Romania. Her research interests include computer vision and deep learning.</p></bio>
</contrib>
<contrib contrib-type="author">
<name><surname>Mircea</surname><given-names>Cristina</given-names></name><email xlink:href="cristina.mircea@ubbcluj.ro">cristina.mircea@ubbcluj.ro</email><xref ref-type="aff" rid="j_infor640_aff_002">2</xref><bio>
<p><bold>C. Mircea</bold> is an assistant professor at the Department of Molecular Biology and Biotechnology, Faculty of Biology and Geology, Babeş-Bolyai University, Romania. She has expertise in isolation, identification, and characterization of bacteria and fungi from a wide range of environments.</p></bio>
</contrib>
<aff id="j_infor640_aff_001"><label>1</label><institution>Department of Computer Science, Babeṣ-Bolyai University</institution>, Cluj-Napoca, 1, M. Kogălniceanu street, <country>Romania</country></aff>
<aff id="j_infor640_aff_002"><label>2</label><institution>Department of Molecular Biology and Biotechnology, Babeş-Bolyai University</institution>, Cluj-Napoca, 44, Gheorghe Bilaşcu street, <country>Romania</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>∗</label>Corresponding author.</corresp>
</author-notes>
<pub-date pub-type="ppub"><year>2026</year></pub-date><pub-date pub-type="epub"><day>7</day><month>8</month><year>2026</year></pub-date><volume content-type="ahead-of-print">0</volume><issue>0</issue><fpage>1</fpage><lpage>24</lpage><history><date date-type="received"><month>1</month><year>2026</year></date><date date-type="accepted"><month>7</month><year>2026</year></date></history>
<permissions><copyright-statement>© 2026 Vilnius University</copyright-statement><copyright-year>2026</copyright-year>
<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
<license-p>Open access article under the <ext-link ext-link-type="uri" xlink:href="http://creativecommons.org/licenses/by/4.0/">CC BY</ext-link> license.</license-p></license></permissions>
<abstract>
<p>Accurately differentiating between fungal and bacterial infections is critical for treatment but remains challenging due to slow manual diagnostics and class imbalance in medical datasets. This paper introduces <monospace>OD-Abs</monospace>, a one-class outlier detection classifier based on an autoencoder architecture to distinguish infection types in microscopic images. By training solely on the reference fungal class, the model learns to identify bacterial instances as outliers. Our approach yields statistically significant improvements compared to other one-class approaches, achieving an F1-score of 0.967, an AUC of 0.980, and a specificity of 0.992. Additionally, we explore the explainability of our method by analysing reconstruction error maps from both a technical and biological perspective and conclude that the model’s decision-making aligns with biologically relevant morphological features. This proof of concept study establishes the <monospace>OD-Abs</monospace> autoencoder model as a highly robust tool for handling the task of classifying images of bacteria and fungi from abscesses.</p>
</abstract>
<kwd-group>
<label>class</label>
<kwd>one-class classification</kwd>
<kwd>outlier detection</kwd>
<kwd>encoder-decoder architectures</kwd>
<kwd>bacterial versus fungal abscesses classification</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="j_infor640_s_001">
<label>1</label>
<title>Introduction</title>
<p>Accurate classification between fungal and bacterial infections represents a critical challenge in clinical diagnostics, with significant implications for patient outcomes and treatment decisions (Rawson <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_024">2024</xref>). Abscesses, defined as localized collections of pus, can have a wide distribution in the human body and can virtually localize in any organ or tissue (Mehta <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_014">2025</xref>). Usually, all of the scanning techniques, Computed Tomography (CT), Ultrasound (US), and Magnetic Resonance Imaging (MRI), can provide image data of abscesses. Generally, CT serves as a rapid initial screening tool, while MRI provides more detailed and specific information. Most frequently, bacterial and fungal abscesses have very similar appearances on standard CT and MRI, but a particular MRI technique, Diffusion-Weighted Imaging (DWI), can provide images that can differentiate between the two, especially when localized in the Central Nervous System (CNS) (Mueller-Mang <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_016">2007</xref>). The type of infection, bacterial or fungal, is confirmed with traditional microbiological methods, including culture-based microscopy and biochemical assays, which are often slow and labour-intensive, delaying targeted therapy and contributing to elevated morbidity and mortality (Rawson <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_024">2024</xref>).</p>
<p>The integration of Machine Learning (ML) (Filatovas <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_008">2024</xref>) into microscopic image analysis is critical for overcoming the limitations of manual diagnosis. Since examining microscopic slides can be very time-consuming, ML models provide a powerful alternative that can analyse complex visual data with great speed and consistency. Currently, the most common approaches in the literature rely on standard supervised learning, particularly Convolutional Neural Networks (CNNs) and Vision Transformers. These architectures have demonstrated strong performance in species-level classification within a single domain, effectively differentiating between various fungal or bacterial genera. While research comparing fungi and bacteria exists, it is largely concentrated in ophthalmology for diagnosing keratitis, rather than microscopic analysis. In the domain of digital pathology, studies have addressed the identification of mixed microorganisms, classifying multiple bacterial (Dey <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_005">2022</xref>) and fungal species simultaneously in a multi-class setting. However, to the best of our knowledge, the specific problem of binary classification distinguishing fungi from bacteria from abscesses in microscopic images (Satvati <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_028">2024</xref>) remains unexplored. Solving this task could be particularly useful for scenarios where the clinical priority is to rapidly distinguish between these two broad categories rather than identifying the specific species.</p>
<p>The datasets for classifying bacteria and fungi from abscess images are generally imbalanced, as one class (bacterial or fungal) usually has more available images than the other. In such cases, supervised binary classifiers trained on imbalanced data will be biased towards predicting the majority class. One way to address class imbalance is through <italic>one-class classification</italic> (OCC), also known as one-class outlier detection. OCC refers to a group of outlier detection methods that are trained using data from a single class, known as the reference class. By learning the characteristics of the reference class, the OCC models can identify instances that conform to it. During inference, any new instance whose feature-based representation deviates significantly from the learned representation is considered an outlier and lies outside the decision boundary defined by the OCC method (Alam <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_002">2020</xref>).</p>
<p>The problem of differentiating between images of fungi and bacteria from abscesses is formulated in the paper as a one-class outlier detection problem, with the majority class representing the reference class. Although this task is fundamentally a binary classification problem, we hypothesize that formulating it as a one-class outlier detection provides a more robust solution than standard binary classifiers. While this formulation effectively addresses the class imbalance issue, relevant given the smaller number of images of bacteria from abscesses from our case study, its primary value lies in shifting the focus toward representation learning by aiming to capture the fundamental structural characteristics of the reference class rather than just separating it from a different class. This offers a flexible framework for feature extraction and potential future applications in generalized anomaly detection, regardless of the specific morphology of the anomaly.</p>
<p>The main contribution of the paper is to introduce, as a proof of concept, a one-class outlier detection-based classifier <monospace>OD-Abs</monospace> to distinguish between images of bacteria or fungi from abscesses. The main goal is to encode in images of abscesses patterns and structural information that would be relevant to differentiate between fungal and bacterial cell structures. The proposed <monospace>OD-Abs</monospace> classifier uses an encoder-decoder architecture that can accurately reconstruct the data sampled from the same distribution as the training data. Thus, the encoder-decoder models trained on images of abscesses of the reference (majority) class will learn to preserve the structure of these images and uncover the underlying structural relationships within them. After training, an image of an abscess will be classified as belonging to the non-reference (minority) class if it is dissimilar to the representations encoded by the model. We hypothesize that the <monospace>OD-Abs</monospace> model, through the embedded encoder-decoder architectures, can learn through self-supervision features relevant to distinguishing structural relationships in images and thus differentiate between bacteria and fungi. With this goal, the proof of concept contains only one case study. If our hypothesis holds, the evaluation can be extended to multiple real datasets. Beyond classification metrics, clinical trust also requires interpretability. Our approach leverages the properties of the encoder-decoder architecture. We utilize reconstruction error maps to visualize the pixel-wise differences between the original input image and the model’s reconstruction. These maps highlight the specific morphological regions that the model finds difficult to reconstruct, effectively pointing out the structural features that deviate from the learned fungi class. This allows us to qualitatively verify if the model is focusing on relevant biological structures. To the best of our knowledge, the research conducted in the paper is new in the literature, as we did not find similar approaches addressing the image classification of fungi versus bacteria from abscesses from a one-class classification perspective.</p>
<p>To summarize, the research questions addressed in this paper are the following:</p>
<list>
<list-item id="j_infor640_li_001">
<label>RQ1</label>
<p>To what extent can a one-class outlier detection model accurately uncover hidden patterns and structural information useful for classifying images of abscesses as having a fungal or bacterial origin?</p>
</list-item>
<list-item id="j_infor640_li_002">
<label>RQ2</label>
<p>Does the approach proposed for answering RQ1 bring a statistically significant performance improvement in classifying images of bacteria and fungi from abscesses compared to existing solutions?</p>
</list-item>
<list-item id="j_infor640_li_003">
<label>RQ3</label>
<p>What insights does the visualization of reconstruction residuals provide about the model’s decision-making process, and how well do these interpretations align with those from a biological perspective?</p>
</list-item>
</list>
<p>The paper is organized as follows. Section <xref rid="j_infor640_s_002">2</xref> reviews some background knowledge related to the encoder-decoder architectures used in the paper and presents a related work on the classification of fungi versus bacteria from abscesses. In Section <xref rid="j_infor640_s_008">3</xref> we introduce the methodology for developing our <monospace>OD-Abs</monospace> one-class outlier detection-based classifier, while Section <xref rid="j_infor640_s_017">4</xref> presents the experimental evaluation of the proposed approach. Section <xref rid="j_infor640_s_023">5</xref> discusses the explainability of the <monospace>OD-Abs</monospace> model and how these interpretations are correlated with the biological perspective. Section <xref rid="j_infor640_s_024">6</xref> outlines the conclusions of the paper and presents directions for future improvements.</p>
</sec>
<sec id="j_infor640_s_002">
<label>2</label>
<title>Background</title>
<p>This section presents the encoder-decoder architectures used in the paper (Section <xref rid="j_infor640_s_003">2.1</xref>) and reviews several recent approaches from the literature addressing the task of fungi versus bacteria classification (Section <xref rid="j_infor640_s_007">2.2</xref>).</p>
<sec id="j_infor640_s_003">
<label>2.1</label>
<title>Deep Learning Models Used</title>
<p>The architectures that we employed belong to the autoencoder (AE) family, a family of neural networks composed of an encoder and a decoder that learns to map inputs to outputs with minimal information loss through a low-dimensional latent space. For anomaly detection, this architecture works by reconstructing normal samples while failing to reconstruct outliers.</p>
<sec id="j_infor640_s_004">
<label>2.1.1</label>
<title>Variational Autoencoders</title>
<p>Unlike a standard autoencoder that maps an input to a fixed vector in the latent space, the Variational Autoencoder (VAE), introduced by Kingma and Welling (<xref ref-type="bibr" rid="j_infor640_ref_013">2014</xref>), maps the input to a probability distribution. The encoder predicts the parameters of this distribution: usually a mean vector (<italic>μ</italic>) and a variance vector (<inline-formula id="j_infor640_ineq_001"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">σ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${\sigma ^{2}}$]]></tex-math></alternatives></inline-formula>), from which a latent vector <italic>z</italic> is sampled (<inline-formula id="j_infor640_ineq_002"><alternatives><mml:math>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo stretchy="false">∼</mml:mo>
<mml:mi mathvariant="script">N</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">σ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$z\sim \mathcal{N}(\mu ,{\sigma ^{2}})$]]></tex-math></alternatives></inline-formula>). The decoder then attempts to reconstruct the input from this sampled <italic>z</italic>. To train this network, the negative Evidence Lower Bound (negative ELBO) is minimized (equation (<xref rid="j_infor640_eq_001">1</xref>)). This objective consists of two terms: a negative expected log-likelihood term, which encourages accurate reconstruction of the input, and a Kullback–Leibler (KL) divergence regularization term, which encourages the approximate posterior to remain close to a standard Gaussian prior. 
<disp-formula id="j_infor640_eq_001">
<label>(1)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:mo movablelimits="false">log</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">‖</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathcal{L}_{VAE}}=-{\mathbb{E}_{q(z|x)}}\big[\log p(x|z)\big]+{D_{KL}}\big(q(z|x)\big\| p(z)\big).\]]]></tex-math></alternatives>
</disp-formula>
</p>
</sec>
<sec id="j_infor640_s_005">
<label>2.1.2</label>
<title><italic>β</italic>-Variational Autoencoders</title>
<p>A common extension to the VAE is the <italic>β</italic>-Variational Autoencoder (<italic>β</italic>-VAE), proposed by Higgins <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor640_ref_012">2017</xref>). This architecture modifies the VAE objective by introducing a hyperparameter, <italic>β</italic>, to weight the KL divergence term: 
<disp-formula id="j_infor640_eq_002">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">β</mml:mi>
<mml:mtext>-</mml:mtext>
<mml:mi mathvariant="italic">V</mml:mi>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">[</mml:mo>
<mml:mo movablelimits="false">log</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo fence="true" maxsize="1.19em" minsize="1.19em">]</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">β</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">‖</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathcal{L}_{\beta \text{-}VAE}}=-{\mathbb{E}_{q(z|x)}}\big[\log p(x|z)\big]+\beta \cdot {D_{KL}}\big(q(z|x)\big\| p(z)\big).\]]]></tex-math></alternatives>
</disp-formula> 
By setting <inline-formula id="j_infor640_ineq_003"><alternatives><mml:math>
<mml:mi mathvariant="italic">β</mml:mi>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\beta \gt 1$]]></tex-math></alternatives></inline-formula>, the model increases the weight of the KL regularization term, encouraging disentangled representations. <italic>β</italic>-VAEs are valuable in anomaly detection for their robustness. The disentangled latent space separates the underlying generative factors of the “normal” data more effectively. This ensures that the reconstruction error is strictly driven by the presence of abnormal features rather than entangled noise or correlations in the latent space.</p>
</sec>
<sec id="j_infor640_s_006">
<label>2.1.3</label>
<title>Convolutional Autoencoders</title>
<p>While the standard autoencoder relies on fully connected layers, which necessitate flattening input data and discarding spatial structure, Convolutional Autoencoders (CAEs) are designed specifically to process high-dimensional, structured inputs such as images.</p>
<p>In a CAE, the encoder consists of convolutional layers that perform feature extraction, capturing hierarchical patterns while progressively reducing spatial dimensionality. The decoder employs transposed convolutional layers to upsample the latent representation back to the original input dimensions.</p>
</sec>
</sec>
<sec id="j_infor640_s_007">
<label>2.2</label>
<title>Related Work on Image Classification of Bacteria and Fungi from Abscesses</title>
<p>Many approaches in the literature focus on either fungi or bacteria classification, most commonly performing species-level classification within these two groups. Classification among different fungal genera, species, or higher-level classes that encapsulate multiple similar species (depending on the dataset) is most often addressed using CNN-based architectures, as demonstrated in works such as Bhimavarapu <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor640_ref_003">2024</xref>), Mohamed <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor640_ref_015">2024</xref>), Nawarathne and Kumari (<xref ref-type="bibr" rid="j_infor640_ref_017">2023</xref>), Rahman <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor640_ref_023">2023</xref>), Prommakhot and Srinonchat (<xref ref-type="bibr" rid="j_infor640_ref_021">2024</xref>). These studies show that CNN-based models can achieve strong performance on fungal image classification tasks. Transformer-based architectures have also been employed for this purpose and have achieved competitive results (Rahman <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_022">2025</xref>; Gümüş, <xref ref-type="bibr" rid="j_infor640_ref_010">2024</xref>; Ahmed and Haque, <xref ref-type="bibr" rid="j_infor640_ref_001">2023</xref>). Similarly, CNN-based methods (Visitsattaponge <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_037">2024</xref>; Poomrittigul <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_018">2022</xref>), as well as transformer-based approaches (Prasad <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_020">2025</xref>), have been proposed for bacterial classification tasks.</p>
<p>Research explicitly addressing bacterial versus fungal classification is less extensively explored in the literature; nevertheless, several relevant studies exist. One notable application is the differentiation between bacterial keratitis and fungal keratitis. In Redd <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor640_ref_025">2022</xref>), the authors evaluate five different CNN architectures, as well as a CNN ensemble, for classifying anterior segment eye photographs according to the etiological category of keratitis. Another approach is presented in Won <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor640_ref_039">2023</xref>), where a CNN with a ResNet (He <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_011">2016</xref>) backbone is augmented with a Lesion Guiding Module and a Masked Adjusting Module, and qualitative analysis is performed using Grad-CAM visualizations. A multimodal approach is explored in Prajna <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor640_ref_019">2025</xref>), where both clinical data and images are used. The proposed model employs separate feature extractors for each modality, followed by a fusion mechanism prior to classification. The study reports that the vision-based model outperforms the clinical-data-only model and that the multimodal approach does not yield a significant improvement over the vision-only approach.</p>
<p>Studies focusing on bacteria and fungi classification from microscopic images can also be found in the literature. In Sroka-Oleksiak <italic>et al.</italic> (<xref ref-type="bibr" rid="j_infor640_ref_033">2025</xref>), the authors propose a method for identifying 14 bacterial species and 3 fungal species from Gram-stained microscopic images. Their pipeline includes cell segmentation using the Cellpose model, patch extraction, patch encoding, and aggregation prior to final classification. Separate classifiers are trained for bacterial and fungal samples. Other works, such as Treebupachatsakul and Poomrittigul (<xref ref-type="bibr" rid="j_infor640_ref_036">2020</xref>) and Zawadzki (<xref ref-type="bibr" rid="j_infor640_ref_040">2020</xref>), investigate multiclass classification of mixed bacterial and fungal microscopic images. In Treebupachatsakul and Poomrittigul (<xref ref-type="bibr" rid="j_infor640_ref_036">2020</xref>), a LeNet CNN is trained to distinguish between three bacterial species and one yeast species. In Zawadzki (<xref ref-type="bibr" rid="j_infor640_ref_040">2020</xref>), the authors evaluate multiple CNN architectures (Xception, ResNet, Inception-V3, MobileNetV2, and DenseNet201) on microscopic images stained using Congo Red and modified Gram stain across three datasets. They report accuracies of up to 100% on DS1 and 96% on DS2 using the Xception architecture.</p>
</sec>
</sec>
<sec id="j_infor640_s_008" sec-type="methods">
<label>3</label>
<title>Methodology</title>
<p>To answer RQ1, this section introduces <monospace>OD-Abs</monospace>, a one-class outlier detection-based image classifier to distinguish between bacteria and fungi from abscesses. Deep encoder-decoder architectures are used to encode patterns and structural information in images of fungal abscesses, patterns that would be relevant to distinguish between fungal and bacterial cell structures.</p>
<sec id="j_infor640_s_009">
<label>3.1</label>
<title>Problem Definition and Formalisation</title>
<p>The problem of classifying abscess images as bacterial or fungal is a binary classification problem. Denoting by <inline-formula id="j_infor640_ineq_004"><alternatives><mml:math>
<mml:mi mathvariant="script">C</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo fence="true" stretchy="false">{</mml:mo>
<mml:mtext mathvariant="italic">bacterial</mml:mtext>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mtext mathvariant="italic">fungal</mml:mtext>
<mml:mo fence="true" stretchy="false">}</mml:mo></mml:math><tex-math><![CDATA[$\mathcal{C}=\{\textit{bacterial},\textit{fungal}\}$]]></tex-math></alternatives></inline-formula> the set of two targeted classes, the learning task is to estimate for an abscess image <italic>I</italic> the most probable class of <inline-formula id="j_infor640_ineq_005"><alternatives><mml:math>
<mml:mi mathvariant="script">C</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{C}$]]></tex-math></alternatives></inline-formula> to which it belongs.</p>
<p>We formulate the problem as a one-class outlier detection problem in which the learning model is trained on only one class. The goal is to learn the main characteristics of the reference class and to detect as outliers those instances whose features differ significantly from the learned representation.</p>
<p>Let us consider a dataset of images of fungi and bacteria from abscesses. We consider the <italic>reference</italic> class (and denote it by <inline-formula id="j_infor640_ineq_006"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\textit{ref}}}$]]></tex-math></alternatives></inline-formula>) as the majority class (i.e. the one that has more available images), while the minority (less represented) class will be considered as the <italic>other</italic> class and will be denoted by <inline-formula id="j_infor640_ineq_007"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">other</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\textit{other}}}$]]></tex-math></alternatives></inline-formula>. For instance, if more images of fungi from abscesses are available than those of bacteria from abscesses, then the reference class is the “fungal” one (<inline-formula id="j_infor640_ineq_008"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">fungal</mml:mtext></mml:math><tex-math><![CDATA[${c_{\textit{ref}}}=\textit{fungal}$]]></tex-math></alternatives></inline-formula>) and the <italic>other</italic> class is the “bacterial” one (<inline-formula id="j_infor640_ineq_009"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">other</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">bacterial</mml:mtext></mml:math><tex-math><![CDATA[${c_{\textit{other}}}=\textit{bacterial}$]]></tex-math></alternatives></inline-formula>). Otherwise, if the fungal class is underrepresented in the dataset, then <inline-formula id="j_infor640_ineq_010"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">bacterial</mml:mtext></mml:math><tex-math><![CDATA[${c_{\textit{ref}}}=\textit{bacterial}$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor640_ineq_011"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">other</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">fungal</mml:mtext></mml:math><tex-math><![CDATA[${c_{\textit{other}}}=\textit{fungal}$]]></tex-math></alternatives></inline-formula>.</p>
<p><monospace>OD-Abs</monospace> model is trained only on the reference class <inline-formula id="j_infor640_ineq_012"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\textit{ref}}}$]]></tex-math></alternatives></inline-formula> and learns the characteristics of this class by compressing and then recreating the images from the reference class. Theoretically, the model learns a decision boundary surrounding the images from the reference class. Thus, the model will be able to identify images that resemble the learned representation. During inference, new images that fall outside the decision boundary are classified as outliers (i.e. belonging to the <inline-formula id="j_infor640_ineq_013"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">other</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\textit{other}}}$]]></tex-math></alternatives></inline-formula> class), as they exhibit significantly different characteristics than the representation of the reference class. Since <monospace>OD-Abs</monospace> is an encoder-decoder model, images from the <inline-formula id="j_infor640_ineq_014"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">other</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\textit{other}}}$]]></tex-math></alternatives></inline-formula> class typically result in high reconstruction errors because the model has not learned to represent them.</p>
<p>More specifically, we would like to detect whether an abscess image <italic>I</italic> resembles images belonging to the reference class or is dissimilar to it and thus represents an anomaly. To determine whether the image <italic>I</italic> does not belong to the class <inline-formula id="j_infor640_ineq_015"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\textit{ref}}}$]]></tex-math></alternatives></inline-formula> we compute the likelihood that the image is an anomaly of the <italic>reference</italic> class. This likelihood is expressed as the dissimilarity degree of the given image with respect to the structure of the class <inline-formula id="j_infor640_ineq_016"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\textit{ref}}}$]]></tex-math></alternatives></inline-formula> encoded in a <italic>encoder-decoder</italic> architecture. Through their latent representations, the encoder-decoder architectures are used to uncover, through self-supervision, features and structural information from abscess images, which are relevant for distinguishing between fungi and bacteria.</p>
<p>Denoting by <inline-formula id="j_infor640_ineq_017"><alternatives><mml:math>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">g</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{I}mg$]]></tex-math></alternatives></inline-formula> the input space of abscess images, the classification of images of bacteria versus fungi from abscesses can be formalized as an approximation of a target function <inline-formula id="j_infor640_ineq_018"><alternatives><mml:math>
<mml:mi mathvariant="italic">f</mml:mi>
<mml:mo>:</mml:mo>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">g</mml:mi>
<mml:mo stretchy="false">→</mml:mo>
<mml:mi mathvariant="script">C</mml:mi></mml:math><tex-math><![CDATA[$f:\mathcal{I}mg\to \mathcal{C}$]]></tex-math></alternatives></inline-formula> that maps an abscess image to the “fungal” or “bacterial” class. Thus, the <monospace>OD-Abs</monospace> classification model will approximate an additional function <inline-formula id="j_infor640_ineq_019"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">g</mml:mi>
<mml:mo stretchy="false">→</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[${p_{\textit{ref}}}:\mathcal{I}mg\to [0,1]$]]></tex-math></alternatives></inline-formula> expressing the probability that an image <inline-formula id="j_infor640_ineq_020"><alternatives><mml:math>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">g</mml:mi></mml:math><tex-math><![CDATA[$I\in \mathcal{I}mg$]]></tex-math></alternatives></inline-formula> belongs to the class <inline-formula id="j_infor640_ineq_021"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\textit{ref}}}$]]></tex-math></alternatives></inline-formula>. Certainly, the probability <inline-formula id="j_infor640_ineq_022"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">other</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${p_{\textit{other}}}$]]></tex-math></alternatives></inline-formula> that an image <inline-formula id="j_infor640_ineq_023"><alternatives><mml:math>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">g</mml:mi></mml:math><tex-math><![CDATA[$I\in \mathcal{I}mg$]]></tex-math></alternatives></inline-formula> belongs to the class <inline-formula id="j_infor640_ineq_024"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">other</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\textit{other}}}$]]></tex-math></alternatives></inline-formula> (i.e. it is an outlier) is obtained as <inline-formula id="j_infor640_ineq_025"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">other</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${p_{\textit{other}}}(I)=1-{p_{\textit{ref}}}(I)$]]></tex-math></alternatives></inline-formula>. Thus, after the approximation <inline-formula id="j_infor640_ineq_026"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">≈</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{p}_{\textit{ref}}}\approx {p_{\textit{ref}}}$]]></tex-math></alternatives></inline-formula> is learned from a training data consisting of images belonging to the majority (reference) class, an approximation of the target function <inline-formula id="j_infor640_ineq_027"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
<mml:mo stretchy="false">≈</mml:mo>
<mml:mi mathvariant="italic">f</mml:mi></mml:math><tex-math><![CDATA[$\tilde{f}\approx f$]]></tex-math></alternatives></inline-formula> will be simply computed as shown in equation (<xref rid="j_infor640_eq_003">2</xref>). 
<disp-formula id="j_infor640_eq_003">
<label>(2)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mfenced separators="" open="{" close="">
<mml:mrow>
<mml:mtable columnspacing="4.0pt" equalrows="false" columnlines="none" equalcolumns="false" columnalign="left left">
<mml:mtr>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mtext>if</mml:mtext>
<mml:mspace width="2.5pt"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">other</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
</mml:mtd>
<mml:mtd class="array">
<mml:mtext>otherwise</mml:mtext>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
<mml:mspace width="1em"/>
<mml:mo>∀</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">g</mml:mi>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \tilde{f}(I)=\left\{\begin{array}{l@{\hskip4.0pt}l}{c_{\textit{ref}}}.\hspace{1em}& \text{if}\hspace{2.5pt}{p_{\textit{ref}}}(I)\geqslant 0.5,\\ {} {c_{\textit{other}}},\hspace{1em}& \text{otherwise},\end{array}\hspace{1em}\forall I\in \mathcal{I}mg.\right.\]]]></tex-math></alternatives>
</disp-formula>
</p>
</sec>
<sec id="j_infor640_s_010">
<label>3.2</label>
<title>Overview of <monospace>OD-Abs</monospace></title>
<p>The overall <italic>OD-Abs</italic> methodology consists of three main stages. Figure <xref rid="j_infor640_fig_001">1</xref> illustrates the two operational steps of the final classifier, namely training and thresholding, followed by classification of unseen images.</p>
<list>
<list-item id="j_infor640_li_004">
<label>1.</label>
<p><bold>Encoder-decoder model selection.</bold> To decide the best-performing encoder-decoder model to be integrated in the <monospace>OD-Abs</monospace> one-class anomaly detector, the performance of the three encoder-decoder models will be comparatively analysed.</p>
</list-item>
<list-item id="j_infor640_li_005">
<label>2.</label>
<p><bold>Building the OD-Abs classification model</bold>. During this stage, the one-class outlier detection model <monospace>OD-Abs</monospace> will be built. A set of images of the majority class (i.e. the class – fungal or bacterial – that has the most available images) is used for self-supervised training of the encoder-decoder model that was selected at the previous stage to learn to represent relevant structural relationships in images of fungi from abscesses. The trained <monospace>OD-Abs</monospace> will be further used to discriminate between images representing fungal and bacterial infections.</p>
</list-item>
<list-item id="j_infor640_li_006">
<label>3.</label>
<p><bold>Testing the OD-Abs classifier</bold>. The predictive model <monospace>OD-Abs</monospace> built during the previous stage is tested on abscess images (both fungal and bacterial) that were not seen during training. The performance of <monospace>OD-Abs</monospace> will be assessed using supervised classification metrics.</p>
</list-item>
</list>
<fig id="j_infor640_fig_001">
<label>Fig. 1</label>
<caption>
<p>Overview of the <monospace>OD-Abs</monospace> training, threshold estimation, and classification workflow.</p>
</caption>
<graphic xlink:href="infor640_g001.jpg"/>
</fig>
</sec>
<sec id="j_infor640_s_011">
<label>3.3</label>
<title>Encoder-Decoder Model Selection</title>
<p>As illustrated in Fig. <xref rid="j_infor640_fig_001">1</xref>, our proposed <monospace>OD-Abs</monospace> approach uses an encoder-decoder model <italic>M</italic> that is trained through self-supervision on the images from the majority class (representing fungi or bacteria) and will learn to encode the structure of these images.</p>
<p>For the encoder-decoder model <italic>M</italic>, three variants are considered. The architectures of the three encoder-decoder models employed in our experiments, together with details regarding the training process, are described below.</p>
<sec id="j_infor640_s_012">
<label>3.3.1</label>
<title>Variational Autoencoders</title>
<p>The first model is a Variational Autoencoder (VAE) designed to process grayscale images of size <inline-formula id="j_infor640_ineq_028"><alternatives><mml:math>
<mml:mn>256</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>256</mml:mn></mml:math><tex-math><![CDATA[$256\times 256$]]></tex-math></alternatives></inline-formula>. The encoder network utilizes a ResNet-18 architecture (He <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_011">2016</xref>), initialized with weights pretrained on ImageNet. To accommodate the single-channel grayscale input, the first convolutional layer is modified by summing the original RGB weights along the channel dimension, resulting in a Conv2d layer with a kernel size of <inline-formula id="j_infor640_ineq_029"><alternatives><mml:math>
<mml:mn>7</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>7</mml:mn></mml:math><tex-math><![CDATA[$7\times 7$]]></tex-math></alternatives></inline-formula>, stride of 2, and padding of 3. The encoder retains the layers up to the fourth residual block, extracting a deep feature map with dimensions <inline-formula id="j_infor640_ineq_030"><alternatives><mml:math>
<mml:mn>512</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>8</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>8</mml:mn></mml:math><tex-math><![CDATA[$512\times 8\times 8$]]></tex-math></alternatives></inline-formula>. This feature map is flattened into a vector of size 32 768 and passed through two parallel fully connected layers to produce the latent mean (<italic>μ</italic>) and log-variance (<inline-formula id="j_infor640_ineq_031"><alternatives><mml:math>
<mml:mo movablelimits="false">log</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">σ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$\log {\sigma ^{2}}$]]></tex-math></alternatives></inline-formula>) vectors, with a latent dimensionality of <inline-formula id="j_infor640_ineq_032"><alternatives><mml:math>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>32</mml:mn></mml:math><tex-math><![CDATA[$d=32$]]></tex-math></alternatives></inline-formula>.</p>
<p>The decoder network generally mirrors the encoder’s depth but utilizes a different upsampling strategy to mitigate checkerboard artifacts commonly associated with transposed convolutions. It begins with a fully connected layer that maps the sampled latent vector <italic>z</italic> back to the feature map shape of <inline-formula id="j_infor640_ineq_033"><alternatives><mml:math>
<mml:mn>512</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>8</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>8</mml:mn></mml:math><tex-math><![CDATA[$512\times 8\times 8$]]></tex-math></alternatives></inline-formula>. This is followed by five upsampling blocks to reach the target resolution. Each block employs a nearest-neighbour upsampling operation (scale factor 2) to mitigate checkerboard artifacts, followed by a standard 2D convolution (<inline-formula id="j_infor640_ineq_034"><alternatives><mml:math>
<mml:mn>3</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>3</mml:mn></mml:math><tex-math><![CDATA[$3\times 3$]]></tex-math></alternatives></inline-formula> kernel, stride 1, padding 1), Batch Normalization, and a LeakyReLU activation (negative slope 0.2). The channel depth is progressively reduced through the sequence: <inline-formula id="j_infor640_ineq_035"><alternatives><mml:math>
<mml:mn>512</mml:mn>
<mml:mo stretchy="false">→</mml:mo>
<mml:mn>256</mml:mn>
<mml:mo stretchy="false">→</mml:mo>
<mml:mn>128</mml:mn>
<mml:mo stretchy="false">→</mml:mo>
<mml:mn>64</mml:mn>
<mml:mo stretchy="false">→</mml:mo>
<mml:mn>32</mml:mn></mml:math><tex-math><![CDATA[$512\to 256\to 128\to 64\to 32$]]></tex-math></alternatives></inline-formula>. The final output layer applies a convolution to reduce the channels to 1 and employs a Tanh activation function. The model is optimized using the Adam optimizer with a learning rate of <inline-formula id="j_infor640_ineq_036"><alternatives><mml:math>
<mml:mn>1</mml:mn>
<mml:mo>×</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$1\times {10^{-5}}$]]></tex-math></alternatives></inline-formula> and a batch size of 32. Training is conducted for 50 epochs per fold in a 5-fold cross-validation setup. In our implementation, the negative expected log-likelihood term from the negative ELBO is approximated using the L1 reconstruction error between the input image and its reconstruction. The practical training objective therefore combines the L1 reconstruction error and the KL divergence, as shown in equation (<xref rid="j_infor640_eq_004">3</xref>). 
<disp-formula id="j_infor640_eq_004">
<label>(3)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">V</mml:mi>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mo largeop="true" movablelimits="false">∑</mml:mo></mml:mstyle>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo>−</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">ˆ</mml:mo></mml:mover>
<mml:mo stretchy="false">|</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">β</mml:mi>
<mml:mo>·</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">(</mml:mo>
<mml:mi mathvariant="italic">q</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo maxsize="1.19em" minsize="1.19em" stretchy="true">‖</mml:mo>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">z</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" maxsize="1.19em" minsize="1.19em">)</mml:mo>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {\mathcal{L}_{VAE}}=\sum |x-\hat{x}|+\beta \cdot {D_{KL}}\big(q(z|x)\big\| p(z)\big),\]]]></tex-math></alternatives>
</disp-formula> 
where <italic>x</italic> represents the original input data, <inline-formula id="j_infor640_ineq_037"><alternatives><mml:math><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">ˆ</mml:mo></mml:mover></mml:math><tex-math><![CDATA[$\hat{x}$]]></tex-math></alternatives></inline-formula> is the reconstructed output, <italic>β</italic> is the regularization coefficient (set to <inline-formula id="j_infor640_ineq_038"><alternatives><mml:math>
<mml:mi mathvariant="italic">β</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[$\beta =1$]]></tex-math></alternatives></inline-formula>), <inline-formula id="j_infor640_ineq_039"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">K</mml:mi>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${D_{KL}}$]]></tex-math></alternatives></inline-formula> denotes the Kullback-Leibler divergence, and <italic>z</italic> is the latent representation.</p>
<p>The second variant is the <italic>β</italic>-VAE, which utilizes the identical architectural backbone, optimizer, and training schedule as the standard VAE described above, with the distinction that <inline-formula id="j_infor640_ineq_040"><alternatives><mml:math>
<mml:mi mathvariant="italic">β</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>3</mml:mn></mml:math><tex-math><![CDATA[$\beta =3$]]></tex-math></alternatives></inline-formula> in the objective function.</p>
</sec>
<sec id="j_infor640_s_013">
<label>3.3.2</label>
<title>Convolutional Autoencoder</title>
<p>The third model is a deterministic Convolutional Autoencoder (CAE). To ensure a fair comparison, the CAE shares the identical architectural backbone as the VAE and <italic>β</italic>-VAE variants. This includes the use of the ResNet-18 encoder (modified for grayscale input) and the five-stage upsampling decoder utilizing nearest-neighbour interpolation to prevent checkerboard artifacts. However, the CAE removes the probabilistic sampling mechanism. The flattened output of the encoder (dimensions <inline-formula id="j_infor640_ineq_041"><alternatives><mml:math>
<mml:mn>512</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>8</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>8</mml:mn></mml:math><tex-math><![CDATA[$512\times 8\times 8$]]></tex-math></alternatives></inline-formula>) is mapped directly to the bottleneck vector <italic>z</italic> of size <inline-formula id="j_infor640_ineq_042"><alternatives><mml:math>
<mml:mi mathvariant="italic">d</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>32</mml:mn></mml:math><tex-math><![CDATA[$d=32$]]></tex-math></alternatives></inline-formula> via a fully connected layer, which is then projected back to the feature dimensions to feed the decoder. Since there is no probabilistic latent distribution, the KL divergence term is removed. The model is trained solely on the reconstruction objective (<inline-formula id="j_infor640_ineq_043"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
<mml:mi mathvariant="italic">A</mml:mi>
<mml:mi mathvariant="italic">E</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="italic">x</mml:mi>
<mml:mo>−</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">x</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">ˆ</mml:mo></mml:mover>
<mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[${\mathcal{L}_{CAE}}=\frac{1}{N}\textstyle\sum |x-\hat{x}|$]]></tex-math></alternatives></inline-formula>), using the Adam optimizer. Consistent with the other models, the final output layer employs a Tanh activation function. The training duration (50 epochs, with added early stopping to avoid overfitting) remains consistent with the variational models; however, the learning rate is set to <inline-formula id="j_infor640_ineq_044"><alternatives><mml:math>
<mml:mn>1</mml:mn>
<mml:mo>×</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$1\times {10^{-4}}$]]></tex-math></alternatives></inline-formula> (increased from the VAE’s <inline-formula id="j_infor640_ineq_045"><alternatives><mml:math>
<mml:mn>1</mml:mn>
<mml:mo>×</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>5</mml:mn>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[$1\times {10^{-5}}$]]></tex-math></alternatives></inline-formula> to facilitate faster convergence in the absence of the KL regularization term).</p>
</sec>
<sec id="j_infor640_s_014">
<label>3.3.3</label>
<title>Performance Evaluation</title>
<p>The performance of the proposed encoder-decoder architectures will be further analysed to determine the model that best succeeds in accurately reconstructing images belonging to the reference class <inline-formula id="j_infor640_ineq_046"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\textit{ref}}}$]]></tex-math></alternatives></inline-formula> while, at the same time, failing to reconstruct images of the <inline-formula id="j_infor640_ineq_047"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">other</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\textit{other}}}$]]></tex-math></alternatives></inline-formula>. The best-performing encoder-decoder model will be further integrated in the <monospace>OD-Abs</monospace> one-class anomaly detector.</p>
<p>For comparing two images (in our case, an input image and the output image reconstructed by an encoder-decoder model <italic>M</italic>), several metrics from the image processing literature are used:</p>
<list>
<list-item id="j_infor640_li_007">
<label>•</label>
<p><italic>mean squared error</italic> (<monospace>MSE</monospace>) is the mean squared difference between the pixel in one image and its corresponding pixel in another image;</p>
</list-item>
<list-item id="j_infor640_li_008">
<label>•</label>
<p>the <italic>structural similarity index</italic> (<monospace>SSIM</monospace>) (Wang <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_038">2004</xref>) is a perceptual metric that evaluates the visual similarity between two images based on luminance, contrast, and structure;</p>
</list-item>
<list-item id="j_infor640_li_009">
<label>•</label>
<p>the <italic>signal-to-noise ratio</italic> (<monospace>SNR</monospace>) is the ratio of the power of the meaningful signal to the power of the corrupting background noise.</p>
</list-item>
</list>
<p>For highly similar images, low values for <monospace>MSE</monospace> and high values for <monospace>SSIM</monospace> and <monospace>SNR</monospace> are expected.</p>
<p>Denoting by <italic>M</italic> an encoder-decoder model and by <inline-formula id="j_infor640_ineq_048"><alternatives><mml:math>
<mml:mi mathvariant="script">D</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{D}$]]></tex-math></alternatives></inline-formula> a dataset of images of abscesses (fungal or bacterial), aggregated values are computed by averaging the metric between an image and its reconstruction obtained by <italic>M</italic>, i.e. 
<disp-formula id="j_infor640_eq_005">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true" columnalign="right left" columnspacing="0pt">
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="monospace">MSE</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">E</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="script">D</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="1em"/>
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="monospace">SSIM</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="script">D</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="align-odd"/>
<mml:mtd class="align-even">
<mml:msub>
<mml:mrow>
<mml:mtext mathvariant="monospace">SNR</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mi mathvariant="italic">R</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo><mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="script">D</mml:mi>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[\begin{aligned}{}& {\texttt{MSE}_{\mathcal{D}}}=\frac{{\textstyle\sum _{I\in \mathcal{D}}}MSE(I,\tilde{I})}{|\mathcal{D}|},\hspace{1em}{\texttt{SSIM}_{\mathcal{D}}}=\frac{{\textstyle\sum _{I\in \mathcal{D}}}SSIM(I,\tilde{I})}{|\mathcal{D}|},\\ {} & {\texttt{SNR}_{\mathcal{D}}}=\frac{{\textstyle\sum _{I\in \mathcal{D}}}SNR(I,\tilde{I})}{|\mathcal{D}|}.\end{aligned}\]]]></tex-math></alternatives>
</disp-formula>
</p>
</sec>
</sec>
<sec id="j_infor640_s_015">
<label>3.4</label>
<title>Building the <monospace>OD-Abs</monospace> Classification Model</title>
<p>As illustrated in Fig. <xref rid="j_infor640_fig_001">1</xref>, our proposed <monospace>OD-Abs</monospace> approach uses an encoder-decoder model <italic>M</italic> that is trained on a dataset of images belonging to the reference class <inline-formula id="j_infor640_ineq_049"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">C</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${C_{\textit{ref}}}$]]></tex-math></alternatives></inline-formula> to encode information about the structure of the trained images. For training the model, <inline-formula id="j_infor640_ineq_050"><alternatives><mml:math>
<mml:mn>60</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$60\% $]]></tex-math></alternatives></inline-formula> of the images will be used, <inline-formula id="j_infor640_ineq_051"><alternatives><mml:math>
<mml:mn>20</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$20\% $]]></tex-math></alternatives></inline-formula> for the validation of the model, and the remaining <inline-formula id="j_infor640_ineq_052"><alternatives><mml:math>
<mml:mn>20</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$20\% $]]></tex-math></alternatives></inline-formula> will be used for testing.</p>
<p>The model <italic>M</italic> is trained through self-supervision to encode the structure of the majority class images, using an <italic>error</italic> function that penalizes the model; this function is expressed as the difference between the provided input image and the output image reconstructed through the decoder component.</p>
<p>Using the encoder-decoder model <italic>M</italic> selected following the evaluation introduced in Section <xref rid="j_infor640_s_011">3.3</xref> and trained as previously detailed, the <monospace>OD-Abs</monospace> classifier will produce an approximation <inline-formula id="j_infor640_ineq_053"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${p_{\textit{ref}}^{M}}$]]></tex-math></alternatives></inline-formula> of the probability function <inline-formula id="j_infor640_ineq_054"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">g</mml:mi>
<mml:mo stretchy="false">→</mml:mo>
<mml:mo fence="true" stretchy="false">[</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo fence="true" stretchy="false">]</mml:mo></mml:math><tex-math><![CDATA[${p_{\textit{ref}}}:\mathcal{I}mg\to [0,1]$]]></tex-math></alternatives></inline-formula> expressing the probability that an abscess image <inline-formula id="j_infor640_ineq_055"><alternatives><mml:math>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">I</mml:mi>
<mml:mi mathvariant="italic">m</mml:mi>
<mml:mi mathvariant="italic">g</mml:mi></mml:math><tex-math><![CDATA[$I\in \mathcal{I}mg$]]></tex-math></alternatives></inline-formula> belongs to the refernce class (<inline-formula id="j_infor640_ineq_056"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\textit{ref}}}$]]></tex-math></alternatives></inline-formula>).</p>
<p>The learned function <inline-formula id="j_infor640_ineq_057"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup></mml:math><tex-math><![CDATA[${p_{\textit{ref}}^{M}}$]]></tex-math></alternatives></inline-formula> will be used by the <monospace>OD-Abs</monospace> classifier to predict if an abscess image belongs to the fungal or bacterial class; the probability that an image <italic>I</italic> belongs to the bacterial class is computed as <inline-formula id="j_infor640_ineq_058"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">other</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${p_{\textit{other}}^{M}}(I)=1-{p_{\textit{ref}}^{M}}(I)$]]></tex-math></alternatives></inline-formula>.</p>
<p>Let us denote by <inline-formula id="j_infor640_ineq_059"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tilde{I}_{M}}$]]></tex-math></alternatives></inline-formula> the output of the trained model <italic>M</italic> for an input image <italic>I</italic> (i.e. the reconstruction of <italic>I</italic>) and by <inline-formula id="j_infor640_ineq_060"><alternatives><mml:math>
<mml:mtext mathvariant="italic">RE</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\textit{RE}(I,{\tilde{I}_{M}})$]]></tex-math></alternatives></inline-formula> the reconstruction error obtained for <italic>I</italic> (<inline-formula id="j_infor640_ineq_061"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${L_{1}}$]]></tex-math></alternatives></inline-formula> distance between the input and the reconstruction). The probabilities <inline-formula id="j_infor640_ineq_062"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${p_{\textit{ref}}^{M}}(I)$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor640_ineq_063"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">other</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${p_{\textit{other}}^{M}}(I)$]]></tex-math></alternatives></inline-formula> estimated by the <monospace>OD-Abs</monospace> classifier using the encoder-decoder model <italic>M</italic> are computed as shown in equation (<xref rid="j_infor640_eq_006">4</xref>). 
<disp-formula id="j_infor640_eq_006">
<label>(4)</label><alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">τ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">τ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mtext mathvariant="italic">RE</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mspace width="2em"/>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">other</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:mtext mathvariant="italic">RE</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">τ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>+</mml:mo>
<mml:mtext mathvariant="italic">RE</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ {p_{\textit{ref}}^{M}}(I)=\frac{{\tau _{M}}}{{\tau _{M}}+\textit{RE}(I,{\tilde{I}_{M}})},\hspace{2em}{p_{\textit{other}}^{M}}(I)=\frac{\textit{RE}(I,{\tilde{I}_{M}})}{{\tau _{M}}+\textit{RE}(I,{\tilde{I}_{M}})}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The idea behind computing the equation (<xref rid="j_infor640_eq_006">4</xref>) is that the encoder-decoder model <italic>M</italic> can accurately reconstruct the images sampled from the same distribution as the training images (i.e. images of the reference class). Moreover, the model <italic>M</italic> should not be able to accurately reconstruct through its learned latent representation an input image that is structurally dissimilar to the training images, e.g. the images that belong to the minority class.</p>
<p>In equation (<xref rid="j_infor640_eq_006">4</xref>), <inline-formula id="j_infor640_ineq_064"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">τ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tau _{M}}$]]></tex-math></alternatives></inline-formula> is a hyperparameter of the <monospace>OD-Abs</monospace> classifier and represents the <italic>threshold</italic> applied on the reconstruction error of an input image <italic>I</italic> to decide if it belongs to the class <inline-formula id="j_infor640_ineq_065"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\textit{ref}}}$]]></tex-math></alternatives></inline-formula> (i.e. if it is similar enough to the fungal class represented by the encoder-decoder model <italic>M</italic>). One observes from equation (<xref rid="j_infor640_eq_006">4</xref>) that if <inline-formula id="j_infor640_ineq_066"><alternatives><mml:math>
<mml:mtext mathvariant="italic">RE</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">&lt;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">τ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$\textit{RE}(I,{\tilde{I}_{M}})\lt {\tau _{M}}$]]></tex-math></alternatives></inline-formula>, then <inline-formula id="j_infor640_ineq_067"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal">&gt;</mml:mo>
<mml:mn>0.5</mml:mn></mml:math><tex-math><![CDATA[${p_{\textit{ref}}^{M}}(I)\gt 0.5$]]></tex-math></alternatives></inline-formula>; thus, <italic>I</italic> will be classified as belonging to the fungal class <inline-formula id="j_infor640_ineq_068"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\textit{ref}}}$]]></tex-math></alternatives></inline-formula>. Otherwise, if <inline-formula id="j_infor640_ineq_069"><alternatives><mml:math>
<mml:mtext mathvariant="italic">RE</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩾</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">τ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$\textit{RE}(I,{\tilde{I}_{M}})\geqslant {\tau _{M}}$]]></tex-math></alternatives></inline-formula>, then <inline-formula id="j_infor640_ineq_070"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>⩽</mml:mo>
<mml:mn>0.5</mml:mn></mml:math><tex-math><![CDATA[${p_{\textit{ref}}^{M}}(I)\leqslant 0.5$]]></tex-math></alternatives></inline-formula>, then <italic>I</italic> will be considered dissimilar to the class represented by the model <italic>M</italic> and classified as belonging to the bacterial class <inline-formula id="j_infor640_ineq_071"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">other</mml:mtext>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${c_{\textit{other}}}$]]></tex-math></alternatives></inline-formula>. It should also be noted that if <inline-formula id="j_infor640_ineq_072"><alternatives><mml:math>
<mml:mtext mathvariant="italic">RE</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:math><tex-math><![CDATA[$\textit{RE}(I,{\tilde{I}_{M}})=0$]]></tex-math></alternatives></inline-formula>, then <inline-formula id="j_infor640_ineq_073"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:math><tex-math><![CDATA[${p_{\textit{ref}}^{M}}(I)=1$]]></tex-math></alternatives></inline-formula>, while if <inline-formula id="j_infor640_ineq_074"><alternatives><mml:math>
<mml:mtext mathvariant="italic">RE</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">τ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[$\textit{RE}(I,{\tilde{I}_{M}})={\tau _{M}}$]]></tex-math></alternatives></inline-formula>, then <inline-formula id="j_infor640_ineq_075"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mn>0.5</mml:mn></mml:math><tex-math><![CDATA[${p_{\textit{ref}}^{M}}(I)=0.5$]]></tex-math></alternatives></inline-formula>. Moreover, the value of <inline-formula id="j_infor640_ineq_076"><alternatives><mml:math>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${p_{\textit{ref}}^{M}}(I)$]]></tex-math></alternatives></inline-formula> decreases as <inline-formula id="j_infor640_ineq_077"><alternatives><mml:math>
<mml:mtext mathvariant="italic">RE</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\textit{RE}(I,{\tilde{I}_{M}})$]]></tex-math></alternatives></inline-formula> increases.</p>
<p>Two variants are considered for computing the hyperparameter <italic>τ</italic> after completing the training of <monospace>OD-Abs</monospace>. 
<list>
<list-item id="j_infor640_li_010">
<label>V1</label>
<p>For a specific encoder-decoder model <italic>M</italic> we are computing the <italic>mean</italic> (<inline-formula id="j_infor640_ineq_078"><alternatives><mml:math>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\mu (M)$]]></tex-math></alternatives></inline-formula>) and the <italic>standard deviation</italic> (<inline-formula id="j_infor640_ineq_079"><alternatives><mml:math>
<mml:mi mathvariant="italic">σ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\sigma (M)$]]></tex-math></alternatives></inline-formula>) of the reconstruction errors <inline-formula id="j_infor640_ineq_080"><alternatives><mml:math>
<mml:mtext mathvariant="italic">RE</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$\textit{RE}(I,{\tilde{I}_{M}})$]]></tex-math></alternatives></inline-formula> computed for all the images from the training dataset. If <inline-formula id="j_infor640_ineq_081"><alternatives><mml:math>
<mml:mi mathvariant="script">D</mml:mi></mml:math><tex-math><![CDATA[$\mathcal{D}$]]></tex-math></alternatives></inline-formula> is the training dataset and <italic>n</italic> represents the number of images from the training set (<inline-formula id="j_infor640_ineq_082"><alternatives><mml:math>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">|</mml:mo>
<mml:mi mathvariant="script">D</mml:mi>
<mml:mo stretchy="false">|</mml:mo></mml:math><tex-math><![CDATA[$n=|\mathcal{D}|$]]></tex-math></alternatives></inline-formula>), then 
<disp-formula id="j_infor640_eq_007">
<alternatives><mml:math display="block">
<mml:mtable displaystyle="true">
<mml:mtr>
<mml:mtd>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mtext mathvariant="italic">RE</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mspace width="1em"/>
<mml:mtext>and</mml:mtext>
<mml:mspace width="1em"/>
<mml:mi mathvariant="italic">σ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo largeop="false" movablelimits="false">∑</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo stretchy="false">∈</mml:mo>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext mathvariant="italic">RE</mml:mtext>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">I</mml:mi>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="italic">I</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">˜</mml:mo></mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">n</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
</mml:mrow>
</mml:msqrt>
<mml:mo>.</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[\[ \mu (M)=\frac{{\textstyle\sum _{I\in \mathcal{D}}}\textit{RE}(I,{\tilde{I}_{M}})}{n}\hspace{1em}\text{and}\hspace{1em}\sigma (M)=\sqrt{\frac{{\textstyle\sum _{I\in \mathcal{D}}}{(\textit{RE}(I,{\tilde{I}_{M}})-\mu (M))^{2}}}{n}}.\]]]></tex-math></alternatives>
</disp-formula>
</p>
<p>The first method for estimating the threshold <italic>τ</italic> is to compute it as the mean of the reconstruction errors of the training images plus twice the standard deviation of the errors, i.e. <inline-formula id="j_infor640_ineq_083"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">τ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">σ</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mi mathvariant="italic">M</mml:mi>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[${\tau _{M}}=\mu (M)+2\sigma (M)$]]></tex-math></alternatives></inline-formula>. The intuition behind this computation is that the rule “mean plus twice the standard deviation of the values from a population” is important in statistical distributions, particularly in the normal distribution. Even though the maximum of a population is not necessarily located at the <inline-formula id="j_infor640_ineq_084"><alternatives><mml:math>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo>±</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">σ</mml:mi></mml:math><tex-math><![CDATA[$\mu \pm 2\sigma $]]></tex-math></alternatives></inline-formula>, this formula gives an estimate of a good enough “upper bound” of the population values, as in many normal distributions, most values lie within <inline-formula id="j_infor640_ineq_085"><alternatives><mml:math>
<mml:mi mathvariant="italic">μ</mml:mi>
<mml:mo>±</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="italic">σ</mml:mi></mml:math><tex-math><![CDATA[$\mu \pm 2\sigma $]]></tex-math></alternatives></inline-formula>.</p>
</list-item>
<list-item id="j_infor640_li_011">
<label>V2</label>
<p>The second variant optimizes the decision threshold <italic>τ</italic> on a validation set after training the <monospace>OD-Abs</monospace> classifier. To this end, we construct a tuning set comprising 20% of the total normal samples (the validation split of the current fold) and 50% of the available anomaly samples, with the remaining anomalies reserved for testing. The optimal threshold is selected via a grid search over candidate thresholds derived from the Precision–Recall (PR) curve computed on the tuning set. Specifically, reconstruction error scores are used to generate PR-curve thresholds, for which the F1-score is evaluated, and the threshold maximizing the F1-score is chosen.</p>
</list-item>
</list>
</p>
</sec>
<sec id="j_infor640_s_016">
<label>3.5</label>
<title>Testing the <monospace>OD-Abs</monospace> Classifier</title>
<p>After training, the <monospace>OD-Abs</monospace> classifier is tested on both images of fungi and bacteria from abscess to assess its predictive performance.</p>
<p>As previously described in Section <xref rid="j_infor640_s_009">3.1</xref>, based on the number of abscess images available for the “fungal” and “bacterial” classes, the majority class is considered the <italic>reference</italic> class and used for training the OCC model. Besides the dataset of abscess images of the reference class used for training, validation, and testing the <monospace>OD-Abs</monospace> model, a dataset of abscess images of the minority class will be used for testing.</p>
<p>As shown in Section <xref rid="j_infor640_s_015">3.4</xref>, the training dataset is randomly split into training-validation-testing. Due to the randomness of the splitting process, a <italic>cross-validation</italic> testing methodology is used. More specifically, the data set of images of the majority class is randomly split into training-validation-testing. For a specific split, the <monospace>OD-Abs</monospace> classifier will be tested on a dataset obtained by combining <inline-formula id="j_infor640_ineq_086"><alternatives><mml:math>
<mml:mn>20</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$20\% $]]></tex-math></alternatives></inline-formula> of the training images that were not used for training and validation, and the dataset of images of the minority class.</p>
<p>For measuring the performance of <monospace>OD-Abs</monospace> on a testing set, the following evaluation measures are computed (Gu <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_009">2009</xref>), considering the “fungal” class as the negative one and the “bacterial” class as the positive one: <italic>precision</italic> <inline-formula id="j_infor640_ineq_087"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext mathvariant="monospace">Prec</mml:mtext>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">F</mml:mi>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(\texttt{Prec}=\frac{TP}{TP+FP})$]]></tex-math></alternatives></inline-formula>, <italic>sensitivity</italic> (<italic>recall</italic>, or <italic>true positive rate</italic>, <inline-formula id="j_infor640_ineq_088"><alternatives><mml:math>
<mml:mtext mathvariant="monospace">Sens</mml:mtext>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">F</mml:mi>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[$\texttt{Sens}=\frac{TP}{TP+FN}$]]></tex-math></alternatives></inline-formula>), <italic>specificity</italic> (<italic>true negative rate</italic>, <inline-formula id="j_infor640_ineq_089"><alternatives><mml:math>
<mml:mtext mathvariant="monospace">Spec</mml:mtext>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mi mathvariant="italic">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">T</mml:mi>
<mml:mi mathvariant="italic">N</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">F</mml:mi>
<mml:mi mathvariant="italic">P</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle></mml:math><tex-math><![CDATA[$\texttt{Spec}=\frac{TN}{TN+FP}$]]></tex-math></alternatives></inline-formula>), <italic>F1 score</italic> <inline-formula id="j_infor640_ineq_090"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext mathvariant="monospace">F1</mml:mtext>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>·</mml:mo>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo>·</mml:mo>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">P</mml:mi>
<mml:mi mathvariant="italic">r</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(\texttt{F1}=\frac{2\cdot Prec\cdot Sens}{Prec+Sens})$]]></tex-math></alternatives></inline-formula> and <italic>Area Under the ROC Curve</italic> <inline-formula id="j_infor640_ineq_091"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mtext mathvariant="monospace">AUC</mml:mtext>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">c</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi mathvariant="italic">S</mml:mi>
<mml:mi mathvariant="italic">e</mml:mi>
<mml:mi mathvariant="italic">n</mml:mi>
<mml:mi mathvariant="italic">s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(\texttt{AUC}=\frac{Spec+Sens}{2})$]]></tex-math></alternatives></inline-formula>.</p>
<p>We note that for computing the <monospace>AUC</monospace> measure, we consider the case of classifiers that provide the output class directly (Fawcett, <xref ref-type="bibr" rid="j_infor640_ref_007">2006</xref>). In this case, the ROC (Receiver Operating Characteristic) curve is a quadrilateral obtained by linking the points <inline-formula id="j_infor640_ineq_092"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(0,0)$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor640_ineq_093"><alternatives><mml:math>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal">,</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo></mml:math><tex-math><![CDATA[$(1,1)$]]></tex-math></alternatives></inline-formula> to the (<inline-formula id="j_infor640_ineq_094"><alternatives><mml:math>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo></mml:math><tex-math><![CDATA[$1-$]]></tex-math></alternatives></inline-formula> <monospace>Spec</monospace>, <monospace>Sens</monospace>) point. According to the literature, <monospace>AUC</monospace> is one of the most effective evaluation metrics for assessing the performance of imbalanced classifiers (Fawcett, <xref ref-type="bibr" rid="j_infor640_ref_007">2006</xref>). For each of the previously described performance metrics, the performance of <monospace>OD-Abs</monospace> averaged over the five runs is reported together with the 95% confidence interval (CI) (Brown <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_004">2001</xref>) of the mean.</p>
<p>For classifying an input abscess image as having a fungal or bacterial origin, the trained <monospace>OD-Abs</monospace> model performs the steps described in Section <xref rid="j_infor640_s_015">3.4</xref> and summarized in Algorithm <xref rid="j_infor640_fig_002">1</xref>.</p>
<fig id="j_infor640_fig_002">
<label>Algorithm 1</label>
<caption>
<p>The classification stage of <monospace>OD-Abs</monospace></p>
</caption>
<graphic xlink:href="infor640_g002.jpg"/>
</fig>
</sec>
</sec>
<sec id="j_infor640_s_017">
<label>4</label>
<title>Experimental Evaluation</title>
<p>To complete the answer to RQ1, an experimental evaluation of the <monospace>OD-Abs</monospace> classifier is further conducted. The predictive performance of the classifier is assessed following the testing methodology introduced in Section <xref rid="j_infor640_s_016">3.5</xref>. The code is made publicly available at (Toader, <xref ref-type="bibr" rid="j_infor640_ref_035">2025</xref>).</p>
<sec id="j_infor640_s_018">
<label>4.1</label>
<title>Datasets</title>
<p>This section describes the datasets used in the experiments: the labelled dataset <inline-formula id="j_infor640_ineq_095"><alternatives><mml:math>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi></mml:math><tex-math><![CDATA[$Df$]]></tex-math></alternatives></inline-formula> containing images of fungi from abscesses and the labelled dataset <inline-formula id="j_infor640_ineq_096"><alternatives><mml:math>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">b</mml:mi></mml:math><tex-math><![CDATA[$Db$]]></tex-math></alternatives></inline-formula> containing images of bacteria from abscesses.</p>
<p>For <inline-formula id="j_infor640_ineq_097"><alternatives><mml:math>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi></mml:math><tex-math><![CDATA[$Df$]]></tex-math></alternatives></inline-formula> we used the DeFungi dataset (Sopo <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_031">2021</xref>), a publicly available repository of 9114 manually labelled microscopic images. These images were obtained from direct mycological examinations of fungal infections and processed into 500 × 500 pixel patches. The dataset is organized into five classes corresponding to morphological patterns observed under microscopy: Tortuous septate hyaline hyphae (TSH), Beaded arthroconidial septate hyaline hyphae (BASH), Groups or mosaics of arthroconidia (GMA), Septate hyaline hyphae with chlamydioconidia (SHC), and Broad brown hyphae (BBH).</p>
<p>For <inline-formula id="j_infor640_ineq_098"><alternatives><mml:math>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">b</mml:mi></mml:math><tex-math><![CDATA[$Db$]]></tex-math></alternatives></inline-formula> we employed both the DIBaS (Digital Images of Bacterial Species) (Zieliński <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_041">2017</xref>) dataset and a subset of the DeepBacs (Spahn <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_032">2022</xref>) image collection, more specifically the raw images from the mixed segmentation dataset. The DIBaS dataset contains approximately 640 bacteria Gram-stained microscopic images covering 32 bacterial species. The DeepBacs dataset that we used contains 190 brightfield and fluorescence images covering three species: S. aureus, E. coli and B. subtilis.</p>
<table-wrap id="j_infor640_tab_001">
<label>Table 1</label>
<caption>
<p>Datasets used in this study and their characteristics.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Dataset</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Source</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Domain</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Classes</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Images</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Resolution</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Microscopy</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor640_ineq_099"><alternatives><mml:math>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi></mml:math><tex-math><![CDATA[$Df$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left">DeFungi</td>
<td style="vertical-align: top; text-align: left">Fungi</td>
<td style="vertical-align: top; text-align: left">5</td>
<td style="vertical-align: top; text-align: left">9114</td>
<td style="vertical-align: top; text-align: left">500 × 500</td>
<td style="vertical-align: top; text-align: left">Direct light microscopy</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor640_ineq_100"><alternatives><mml:math>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">b</mml:mi></mml:math><tex-math><![CDATA[$Db$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">DIBaS + DeepBacs</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Bacteria</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">33</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">833</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor640_ineq_101"><alternatives><mml:math>
<mml:mtable equalrows="false" equalcolumns="false" align="axis 1" columnalign="left">
<mml:mtr>
<mml:mtd class="array">
<mml:mn>2048</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>1532</mml:mn>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>643</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mn>1024</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>1024</mml:mn>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>124</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mn>256</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>256</mml:mn>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>56</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd class="array">
<mml:mn>512</mml:mn>
<mml:mo>×</mml:mo>
<mml:mn>512</mml:mn>
<mml:mspace width="2.5pt"/>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:mn>10</mml:mn>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable></mml:math><tex-math><![CDATA[$\begin{array}[t]{l}2048\times 1532\hspace{2.5pt}(643)\\ {} 1024\times 1024\hspace{2.5pt}(124)\\ {} 256\times 256\hspace{2.5pt}(56)\\ {} 512\times 512\hspace{2.5pt}(10)\end{array}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">Gram-stained Brightfield/Fluorescence</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Figure <xref rid="j_infor640_fig_003">2</xref> comparatively illustrates a fungi image (the left side of the image) and a bacteria image (the right side of the image). One observes that fungi appear as filamentous hyphae (marked with <bold>h</bold> in the left-side image), comprised of long, tube-like strands with rounded segments identified as possible spores or conidia (marked with <bold>s</bold> in left-side image), in contrast to the bacterial cells that look like clustered spherical cells typical of Gram-positive cocci (marked with arrows in the right-side image).</p>
<fig id="j_infor640_fig_003">
<label>Fig. 2</label>
<caption>
<p>Example of a fungi image from DeFungi Dataset (left) and bacteria image from DeepBacs dataset (right).</p>
</caption>
<graphic xlink:href="infor640_g003.jpg"/>
</fig>
<p>We note that in our experiment the bacterial class is underrepresented, and thus the reference class is the majority “fungal” class (<inline-formula id="j_infor640_ineq_102"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">ref</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi></mml:math><tex-math><![CDATA[${c_{\textit{ref}}}=Df$]]></tex-math></alternatives></inline-formula>), while the minority class is the “bacterial” class (<inline-formula id="j_infor640_ineq_103"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">c</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">other</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">b</mml:mi></mml:math><tex-math><![CDATA[${c_{\textit{other}}}=Db$]]></tex-math></alternatives></inline-formula>).</p>
<p>According to the methodology introduced in Section <xref rid="j_infor640_s_008">3</xref>, the <monospace>OD-Abs</monospace> classifier is trained on <inline-formula id="j_infor640_ineq_104"><alternatives><mml:math>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi></mml:math><tex-math><![CDATA[$Df$]]></tex-math></alternatives></inline-formula> and learns a decision boundary by representing the characteristics of the fungal class. At the query time, the images that resemble the learned representation are predicted as belonging to the “fungal” class; the images that fall outside the decision boundary (i.e. deviate significantly from the learned representation) are considered outliers and predicted as “bacterial”.</p>
</sec>
<sec id="j_infor640_s_019">
<label>4.2</label>
<title>Preliminary Experiment</title>
<p>The performance of the three encoder-decoder models introduced in Section <xref rid="j_infor640_s_011">3.3</xref> is comparatively analysed to decide the best-performing encoder-decoder model to be integrated in the <monospace>OD-Abs</monospace> one-class classifier.</p>
<p>The dataset containing images of fungi from abscesses (<inline-formula id="j_infor640_ineq_105"><alternatives><mml:math>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi></mml:math><tex-math><![CDATA[$Df$]]></tex-math></alternatives></inline-formula>) and the dataset of images of bacteria from abscesses (<inline-formula id="j_infor640_ineq_106"><alternatives><mml:math>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">b</mml:mi></mml:math><tex-math><![CDATA[$Db$]]></tex-math></alternatives></inline-formula>) will be used for evaluating the performance of the three encoder-decoder models proposed. From a one-class outlier detection perspective, the best model is considered the one that provides an accurate reconstruction of images of fungi but fails to reconstruct images of bacteria.</p>
<p>Table <xref rid="j_infor640_tab_002">2</xref> presents the values of the metrics computed on <inline-formula id="j_infor640_ineq_107"><alternatives><mml:math>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi></mml:math><tex-math><![CDATA[$Df$]]></tex-math></alternatives></inline-formula> and <inline-formula id="j_infor640_ineq_108"><alternatives><mml:math>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">b</mml:mi></mml:math><tex-math><![CDATA[$Db$]]></tex-math></alternatives></inline-formula>. The best values obtained for the metrics are highlighted. We note that we search for higher similarities between the fungal images and their reconstruction (lower <monospace>MSE</monospace><sub><italic>Df</italic></sub>, higher <monospace>SSIM</monospace><sub><italic>Df</italic></sub> and <monospace>SNR</monospace><sub><italic>Df</italic></sub>), while lower similarities between the bacterial images and their reconstruction (higher <monospace>MSE</monospace><sub><italic>Db</italic></sub>, lower <monospace>SSIM</monospace><sub><italic>Db</italic></sub> and <monospace>SNR</monospace><sub><italic>Db</italic></sub>). In order to evaluate the model’s ability to distinguish between the two classes, we utilize the Sensitivity Index (SI), defined as <inline-formula id="j_infor640_ineq_109"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo><mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">μ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">|</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mstyle displaystyle="false">
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo mathvariant="normal" fence="true" stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">σ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="italic">σ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo mathvariant="normal" fence="true" stretchy="false">)</mml:mo>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfrac>
</mml:mstyle>
<mml:mo>.</mml:mo></mml:math><tex-math><![CDATA[${d^{\prime }}=\frac{|{\mu _{Df}}-{\mu _{Db}}|}{\sqrt{\frac{1}{2}({\sigma _{Df}^{2}}+{\sigma _{Db}^{2}})}}.$]]></tex-math></alternatives></inline-formula> A higher SI value indicates superior class separability. The best values for the evaluation metrics are highlighted.</p>
<table-wrap id="j_infor640_tab_002">
<label>Table 2</label>
<caption>
<p>Performance metrics including sensitivity index.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Model</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin">Sensitivity index ↑</td>
<td colspan="3" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Fungal data (<inline-formula id="j_infor640_ineq_110"><alternatives><mml:math>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">f</mml:mi></mml:math><tex-math><![CDATA[$Df$]]></tex-math></alternatives></inline-formula>)</td>
<td colspan="3" style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Bacterial data (<inline-formula id="j_infor640_ineq_111"><alternatives><mml:math>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">b</mml:mi></mml:math><tex-math><![CDATA[$Db$]]></tex-math></alternatives></inline-formula>)</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"/>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><monospace>MSE</monospace> ↓</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><monospace>SSIM</monospace> ↑</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><monospace>SNR</monospace> ↑</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><monospace>MSE</monospace> ↑</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><monospace>SSIM</monospace> ↓</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><monospace>SNR</monospace> ↓</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><bold>VAE</bold></td>
<td style="vertical-align: top; text-align: left">2.875</td>
<td style="vertical-align: top; text-align: left">0.009</td>
<td style="vertical-align: top; text-align: left">0.787</td>
<td style="vertical-align: top; text-align: left">22.769</td>
<td style="vertical-align: top; text-align: left">0.077</td>
<td style="vertical-align: top; text-align: left"><bold>0.405</bold></td>
<td style="vertical-align: top; text-align: left">12.765</td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><italic>β</italic><bold>-VAE</bold></td>
<td style="vertical-align: top; text-align: left"><bold>3.205</bold></td>
<td style="vertical-align: top; text-align: left">0.009</td>
<td style="vertical-align: top; text-align: left"><bold>0.788</bold></td>
<td style="vertical-align: top; text-align: left">22.730</td>
<td style="vertical-align: top; text-align: left"><bold>0.078</bold></td>
<td style="vertical-align: top; text-align: left">0.408</td>
<td style="vertical-align: top; text-align: left"><bold>12.685</bold></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>CAE</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">2.156</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>0.002</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.784</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>22.999</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.018</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">0.424</td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin">13.263</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Table <xref rid="j_infor640_tab_002">2</xref> reveals a trade-off between reconstruction fidelity and separation capability across the three models. While CAE achieves the best reconstruction metrics on the target fungal data (lowest MSE<sub><italic>Df</italic></sub> of 0.002 and highest SNR<sub><italic>Df</italic></sub>), it fails to sufficiently differentiate the bacterial samples, shown by the low MSE<sub><italic>Db</italic></sub> and the lowest Sensitivity Index (<inline-formula id="j_infor640_ineq_112"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mn>2.156</mml:mn></mml:math><tex-math><![CDATA[${d^{\prime }}=2.156$]]></tex-math></alternatives></inline-formula>). This suggests that while CAE is a good compressor, it lacks the necessary regularizing constraints to distinguish between the two biological classes effectively.</p>
<p>In contrast, the variational approaches provide better separability. Although the standard VAE offers a balanced performance, the <italic>β</italic>-VAE model proves to be the superior version. It yields the highest error and lowest SNR when reconstructing bacterial images (MSE<inline-formula id="j_infor640_ineq_113"><alternatives><mml:math>
<mml:msub>
<mml:mrow/>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>0.078</mml:mn></mml:math><tex-math><![CDATA[${_{Db}}=0.078$]]></tex-math></alternatives></inline-formula>) while maintaining comparable performance on the fungal class. Most importantly, <italic>β</italic>-VAE achieves the highest Sensitivity Index (<inline-formula id="j_infor640_ineq_114"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mn>3.205</mml:mn></mml:math><tex-math><![CDATA[${d^{\prime }}=3.205$]]></tex-math></alternatives></inline-formula>), indicating the largest statistical distance between the normal and anomalous distributions. Therefore, based on the maximization of class separability, <italic>β</italic>-VAE is selected as the most suitable model for the proposed anomaly detection framework (see Fig. <xref rid="j_infor640_fig_004">3</xref>).</p>
<fig id="j_infor640_fig_004">
<label>Fig. 3</label>
<caption>
<p>Distribution of Mean Squared Error (MSE) scores for VAE, <italic>β</italic>-VAE, and CAE models evaluated on <inline-formula id="j_infor640_ineq_115"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">f</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${D_{f}}$]]></tex-math></alternatives></inline-formula> (blue) and <inline-formula id="j_infor640_ineq_116"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">b</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${D_{b}}$]]></tex-math></alternatives></inline-formula> (orange) datasets. The top row displays density histograms with vertical dashed lines indicating the mean MSE for each class. The bottom row presents corresponding box plots with overlaid data points. The Sensitivity Index (<inline-formula id="j_infor640_ineq_117"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup></mml:math><tex-math><![CDATA[${d^{\prime }}$]]></tex-math></alternatives></inline-formula>) is reported for each model title. The plots visually confirm that <italic>β</italic>-VAE achieves the highest class separability (<inline-formula id="j_infor640_ineq_118"><alternatives><mml:math>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="italic">d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>′</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo>=</mml:mo>
<mml:mn>3.205</mml:mn></mml:math><tex-math><![CDATA[${d^{\prime }}=3.205$]]></tex-math></alternatives></inline-formula>), showing the distinct gap between the reconstruction errors of the two species.</p>
</caption>
<graphic xlink:href="infor640_g004.jpg"/>
</fig>
</sec>
<sec id="j_infor640_s_020">
<label>4.3</label>
<title>Results</title>
<p>As shown in Section <xref rid="j_infor640_s_011">3.3</xref>, the <italic>β</italic>-VAE model was empirically found to be the best encoder-decoder model in preserving the structural characteristics of images of fungal abscesses, while failing to reconstruct images of bacterial abscesses. Thus, we hypothesize that the <monospace>OD-Abs</monospace> classifier with the <italic>β</italic>-VAE model integrated can accurately encode the fungal class and uncover hidden patterns and structural information useful to effectively determine whether images of abscesses have a fungal or bacterial origin.</p>
<p>To complete the answer to RQ1, the performance of the <monospace>OD-Abs</monospace> classifier incorporating the <italic>β</italic>-VAE encoder-decoder is evaluated on the datasets of images of fungi and bacteria from abscesses described in Section <xref rid="j_infor640_s_018">4.1</xref>. For the hyperparameter <inline-formula id="j_infor640_ineq_119"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">τ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tau _{M}}$]]></tex-math></alternatives></inline-formula> (the decision threshold) both variants (V1, V2) described in Section <xref rid="j_infor640_s_015">3.4</xref> are used. Table <xref rid="j_infor640_tab_003">3</xref> presents the experimental results obtained following the testing methodology introduced in Section <xref rid="j_infor640_s_016">3.5</xref>. The values for the performance metrics are averaged over five runs, and the 95% CI of the mean values is reported. The best values for the performance metrics are highlighted.</p>
<table-wrap id="j_infor640_tab_003">
<label>Table 3</label>
<caption>
<p>Experimental results. 95% CIs are used for the mean values of the performance metrics.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Threshold <inline-formula id="j_infor640_ineq_120"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">τ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tau _{M}}$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><monospace>Prec</monospace> ↑</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><monospace>Sens</monospace> ↑</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><monospace>Spec</monospace> ↑</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><monospace>F1</monospace> ↑</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><monospace>AUC</monospace> ↑</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><bold>V1</bold></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor640_ineq_121"><alternatives><mml:math>
<mml:mn>0.764</mml:mn>
<mml:mo>±</mml:mo>
<mml:mn>0.014</mml:mn></mml:math><tex-math><![CDATA[$0.764\pm 0.014$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor640_ineq_122"><alternatives><mml:math>
<mml:mtext mathvariant="bold">0.994</mml:mtext>
<mml:mo>±</mml:mo>
<mml:mn>0.002</mml:mn></mml:math><tex-math><![CDATA[$\textbf{0.994}\pm 0.002$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor640_ineq_123"><alternatives><mml:math>
<mml:mn>0.929</mml:mn>
<mml:mo>±</mml:mo>
<mml:mn>0.006</mml:mn></mml:math><tex-math><![CDATA[$0.929\pm 0.006$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor640_ineq_124"><alternatives><mml:math>
<mml:mn>0.864</mml:mn>
<mml:mo>±</mml:mo>
<mml:mn>0.009</mml:mn></mml:math><tex-math><![CDATA[$0.864\pm 0.009$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor640_ineq_125"><alternatives><mml:math>
<mml:mtext mathvariant="bold">0.962</mml:mtext>
<mml:mo>±</mml:mo>
<mml:mn>0.002</mml:mn></mml:math><tex-math><![CDATA[$\textbf{0.962}\pm 0.002$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>V2</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor640_ineq_126"><alternatives><mml:math>
<mml:mtext mathvariant="bold">0.967</mml:mtext>
<mml:mo>±</mml:mo>
<mml:mn>0.012</mml:mn></mml:math><tex-math><![CDATA[$\textbf{0.967}\pm 0.012$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor640_ineq_127"><alternatives><mml:math>
<mml:mn>0.968</mml:mn>
<mml:mo>±</mml:mo>
<mml:mn>0.013</mml:mn></mml:math><tex-math><![CDATA[$0.968\pm 0.013$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor640_ineq_128"><alternatives><mml:math>
<mml:mtext mathvariant="bold">0.992</mml:mtext>
<mml:mo>±</mml:mo>
<mml:mn>0.003</mml:mn></mml:math><tex-math><![CDATA[$\textbf{0.992}\pm 0.003$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor640_ineq_129"><alternatives><mml:math>
<mml:mtext mathvariant="bold">0.967</mml:mtext>
<mml:mo>±</mml:mo>
<mml:mn>0.008</mml:mn></mml:math><tex-math><![CDATA[$\textbf{0.967}\pm 0.008$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor640_ineq_130"><alternatives><mml:math>
<mml:mtext mathvariant="bold">0.980</mml:mtext>
<mml:mo>±</mml:mo>
<mml:mn>0.006</mml:mn></mml:math><tex-math><![CDATA[$\textbf{0.980}\pm 0.006$]]></tex-math></alternatives></inline-formula></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Analysing the performance metric values from Table <xref rid="j_infor640_tab_003">3</xref>, one observes that, in terms of <monospace>AUC</monospace>, both variants for selecting the threshold <inline-formula id="j_infor640_ineq_131"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">τ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tau _{M}}$]]></tex-math></alternatives></inline-formula> yield high performances with a clear advantage for V2. We consider that variant V2 provides a better balance between the <italic>true positive rate</italic> (TPRate, <monospace>Sens</monospace>) and <italic>true negative rate</italic> (TNRate, <monospace>Spec</monospace>). We note that while V1 provides a near-perfect TPRate, it exhibits a lower capability to recognize fungal images from abscesses (lower <monospace>Spec</monospace>) compared to V2, meaning more fungal images are incorrectly flagged as bacterial/anomalous. Moreover, compared to V1, V2 provides a much lower <italic>false alarm ratio</italic> (FAR, the proportion of images incorrectly predicted as “bacterial” from the total number of predicted bacterial images), indicated by its superior <monospace>Prec</monospace> value (0.967 vs 0.764). A low FAR is desirable, as it indicates that fewer fungal images are incorrectly flagged as bacterial. This is relevant in practice, since fungal infections are generally less frequent than bacterial infections and should therefore not be overlooked.</p>
<sec id="j_infor640_s_021">
<label>4.3.1</label>
<title>Comparison to Related Work</title>
<p>Since we did not identify any studies in the literature specifically addressing binary classification between fungal and bacterial microscopic images, we benchmark our solution against alternative one-class classification (OCC) methods that follow the same training paradigm (namely learning exclusively from fungal images while treating bacterial samples as anomalies), and the same testing methodology as for our<monospace>OD-Abs</monospace> classifier (Section <xref rid="j_infor640_s_016">3.5</xref>). In particular, we evaluate a one-class support vector machine (OC-SVM) (Schölkopf <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_029">1999</xref>), using the <monospace>sklearn</monospace> library implementation. The images are preprocessed and flattened into vector representations before learning the decision boundary. In addition, we consider a deep one-class classification method based on Deep SVDD (Ruff <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_027">2018</xref>). To ensure a fair comparison, this model utilizes a pre-trained ResNet18 as the feature extractor, followed by a projection network. The model is trained to minimize the distance of fungal samples to the hypersphere centre in the latent space, with bacterial images expected to yield larger distances.</p>
<p>The results are presented in Table <xref rid="j_infor640_tab_004">4</xref>. We mention that the performance of our <monospace>OD-Abs</monospace> model is reported when using variant V2 for selecting the threshold <inline-formula id="j_infor640_ineq_132"><alternatives><mml:math>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="italic">τ</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="italic">M</mml:mi>
</mml:mrow>
</mml:msub></mml:math><tex-math><![CDATA[${\tau _{M}}$]]></tex-math></alternatives></inline-formula> (the best variant according to the analysis from Section <xref rid="j_infor640_s_020">4.3</xref>. To ensure an accurate comparison, both OC-SVM and Deep-VDD were tested using the testing methodology employed for our <monospace>OD-Abs</monospace> model (see Section <xref rid="j_infor640_s_016">3.5</xref>). The results in the table represent average values for the performance metrics obtained during cross-validation and are presented together with their 95% CIs. The best results for the performance metrics are highlighted in the table.</p>
<table-wrap id="j_infor640_tab_004">
<label>Table 4</label>
<caption>
<p>Comparison to baseline OCC methods. 95% CIs are reported for the results.</p>
</caption>
<table>
<thead>
<tr>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin">Model</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><monospace>Prec</monospace> ↑</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><monospace>Sens</monospace> ↑</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><monospace>Spec</monospace> ↑</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><monospace>F1</monospace> ↑</td>
<td style="vertical-align: top; text-align: left; border-top: solid thin; border-bottom: solid thin"><monospace>AUC</monospace> ↑</td>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align: top; text-align: left"><bold>OD-Abs</bold></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor640_ineq_133"><alternatives><mml:math>
<mml:mtext mathvariant="bold">0.967</mml:mtext>
<mml:mo>±</mml:mo>
<mml:mn>0.012</mml:mn></mml:math><tex-math><![CDATA[$\textbf{0.967}\pm 0.012$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor640_ineq_134"><alternatives><mml:math>
<mml:mn>0.968</mml:mn>
<mml:mo>±</mml:mo>
<mml:mn>0.013</mml:mn></mml:math><tex-math><![CDATA[$0.968\pm 0.013$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor640_ineq_135"><alternatives><mml:math>
<mml:mtext mathvariant="bold">0.992</mml:mtext>
<mml:mo>±</mml:mo>
<mml:mn>0.003</mml:mn></mml:math><tex-math><![CDATA[$\textbf{0.992}\pm 0.003$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor640_ineq_136"><alternatives><mml:math>
<mml:mtext mathvariant="bold">0.967</mml:mtext>
<mml:mo>±</mml:mo>
<mml:mn>0.008</mml:mn></mml:math><tex-math><![CDATA[$\textbf{0.967}\pm 0.008$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor640_ineq_137"><alternatives><mml:math>
<mml:mtext mathvariant="bold">0.980</mml:mtext>
<mml:mo>±</mml:mo>
<mml:mn>0.006</mml:mn></mml:math><tex-math><![CDATA[$\textbf{0.980}\pm 0.006$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left"><bold>OC-SVM</bold></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor640_ineq_138"><alternatives><mml:math>
<mml:mn>0.786</mml:mn>
<mml:mo>±</mml:mo>
<mml:mn>0.013</mml:mn></mml:math><tex-math><![CDATA[$0.786\pm 0.013$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor640_ineq_139"><alternatives><mml:math>
<mml:mn>0.959</mml:mn>
<mml:mo>±</mml:mo>
<mml:mn>0.008</mml:mn></mml:math><tex-math><![CDATA[$0.959\pm 0.008$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor640_ineq_140"><alternatives><mml:math>
<mml:mn>0.940</mml:mn>
<mml:mo>±</mml:mo>
<mml:mn>0.005</mml:mn></mml:math><tex-math><![CDATA[$0.940\pm 0.005$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor640_ineq_141"><alternatives><mml:math>
<mml:mn>0.864</mml:mn>
<mml:mo>±</mml:mo>
<mml:mn>0.009</mml:mn></mml:math><tex-math><![CDATA[$0.864\pm 0.009$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left"><inline-formula id="j_infor640_ineq_142"><alternatives><mml:math>
<mml:mn>0.950</mml:mn>
<mml:mo>±</mml:mo>
<mml:mn>0.005</mml:mn></mml:math><tex-math><![CDATA[$0.950\pm 0.005$]]></tex-math></alternatives></inline-formula></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><bold>Deep-SVDD</bold></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor640_ineq_143"><alternatives><mml:math>
<mml:mn>0.749</mml:mn>
<mml:mo>±</mml:mo>
<mml:mn>0.018</mml:mn></mml:math><tex-math><![CDATA[$0.749\pm 0.018$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor640_ineq_144"><alternatives><mml:math>
<mml:mtext mathvariant="bold">0.986</mml:mtext>
<mml:mo>±</mml:mo>
<mml:mn>0.009</mml:mn></mml:math><tex-math><![CDATA[$\textbf{0.986}\pm 0.009$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor640_ineq_145"><alternatives><mml:math>
<mml:mn>0.924</mml:mn>
<mml:mo>±</mml:mo>
<mml:mn>0.007</mml:mn></mml:math><tex-math><![CDATA[$0.924\pm 0.007$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor640_ineq_146"><alternatives><mml:math>
<mml:mn>0.851</mml:mn>
<mml:mo>±</mml:mo>
<mml:mn>0.014</mml:mn></mml:math><tex-math><![CDATA[$0.851\pm 0.014$]]></tex-math></alternatives></inline-formula></td>
<td style="vertical-align: top; text-align: left; border-bottom: solid thin"><inline-formula id="j_infor640_ineq_147"><alternatives><mml:math>
<mml:mn>0.955</mml:mn>
<mml:mo>±</mml:mo>
<mml:mn>0.007</mml:mn></mml:math><tex-math><![CDATA[$0.955\pm 0.007$]]></tex-math></alternatives></inline-formula></td>
</tr>
</tbody>
</table>
</table-wrap>
<p>From Table <xref rid="j_infor640_tab_004">4</xref> one observes that the precision (<monospace>Prec</monospace>) of our <monospace>OD-Abs</monospace> is significantly higher (with more than 18%) than the precision of the baseline methods. Higher precision values for <monospace>OD-Abs</monospace> highlight a false alarm ratio lower than for the OCC classifiers from the literature, more specifically, a lower risk for misclassifying images of fungi from abscesses as being bacteria. Such low false alarm ratios are desirable, mainly for OCC classifiers. In addition, <monospace>OD-Abs</monospace> outperforms the baseline OCC models with more than 10% in terms of <monospace>F1</monospace> and more than 2.5% in terms of <monospace>AUC</monospace>. However, the probability of detecting the “bacterial” class is slightly lower for our model, being surpassed by at most 1.8%. For testing the statistical significance of the improvement achieved by <monospace>OD-Abs</monospace> over the OC-SVM and Deep-SVDD approaches, the sample of performances provided by <monospace>OD-Abs</monospace> was tested against the sample of the baseline OCC models’ performance values using a one-tailed paired Wilcoxon signed-rank test (Statistics, <xref ref-type="bibr" rid="j_infor640_ref_034">2026</xref>; Rosner <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_026">2006</xref>). A <inline-formula id="j_infor640_ineq_148"><alternatives><mml:math>
<mml:mi mathvariant="italic">p</mml:mi>
<mml:mtext>-</mml:mtext>
<mml:mtext mathvariant="italic">value</mml:mtext></mml:math><tex-math><![CDATA[$p\text{-}\textit{value}$]]></tex-math></alternatives></inline-formula> less than 0.01 was obtained, highlighting that <monospace>OD-Abs</monospace> achieves a statistically significant improvement over the OCC baseline models from Table <xref rid="j_infor640_tab_004">4</xref>, at a significance level 0.01.</p>
<p>Addressing RQ2, the comparative results shown in Table <xref rid="j_infor640_tab_004">4</xref> confirm that the proposed OD-Abs framework brings a performance improvement over both the OC-SVM and Deep-SVDD baselines. While the existing methods exhibit high sensitivity, they also show significantly lower precision and specificity. In contrast, <monospace>OD-Abs</monospace> achieves the highest <monospace>F1</monospace>-score of 0.967 and an <monospace>AUC</monospace> of 0.980. Therefore, we can conclude that the proposed approach is the best solution in terms of precision-recall trade-off, resulting in a more accurate classification of bacteria and fungi.</p>
</sec>
</sec>
<sec id="j_infor640_s_022">
<label>4.4</label>
<title>Discussion</title>
<p>To better highlight the good performance of our proposed <monospace>OD-Abs</monospace> one-class classification model, we performed an additional comparison to binary classification models. However, this comparison requires important contextualization regarding the learning paradigms employed. Obviously, it is expected that the binary classifiers achieve better predictive performance than the OCC ones, since the former are trained on images from both classes to learn the decision boundary between them, while the latter receive samples from only one class and learn a boundary surrounding the images from the reference class. However, the aim is to see how close or far the performance of <monospace>OD-Abs</monospace> is from the baseline binary classifiers.</p>
<p>For comparison, we selected the architectures most commonly applied to the related tasks discussed in Section <xref rid="j_infor640_s_007">2.2</xref>, such as species-level classification, macroscopic binary classification, and multiclass microorganism classification. Consequently, we compare our approach with baseline CNN and Transformer-based architectures, specifically ResNet50 (He <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_011">2016</xref>), VGG16 (Simonyan and Zisserman, <xref ref-type="bibr" rid="j_infor640_ref_030">2015</xref>), and a base Vision Transformer (ViT) (Dosovitskiy <italic>et al.</italic>, <xref ref-type="bibr" rid="j_infor640_ref_006">2021</xref>). These models were initialized with pre-trained weights and fine-tuned for five epochs on our fungal and bacterial datasets.</p>
<p>The supervised architectures achieved near-perfect separation, with ResNet50 reaching an <monospace>AUC</monospace> of 1.0000, followed closely by ViT (0.9993) and VGG16 (0.9976), surpassing the <monospace>OD-Abs</monospace> model. Our <monospace>OD-Abs</monospace> one-class classifier is outperformed by the baseline binary classifiers with at most <inline-formula id="j_infor640_ineq_149"><alternatives><mml:math>
<mml:mn>3.3</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$3.3\% $]]></tex-math></alternatives></inline-formula> in terms of <monospace>Prec</monospace> and <monospace>F1</monospace>, <inline-formula id="j_infor640_ineq_150"><alternatives><mml:math>
<mml:mn>3.2</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$3.2\% $]]></tex-math></alternatives></inline-formula> in terms of <monospace>Sens</monospace>, and <inline-formula id="j_infor640_ineq_151"><alternatives><mml:math>
<mml:mn>2</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$2\% $]]></tex-math></alternatives></inline-formula> in terms of <monospace>AUC</monospace>. We have to remark that in terms of <monospace>Spec</monospace>, <monospace>OD-Abs</monospace> outperformed VGG16 by <inline-formula id="j_infor640_ineq_152"><alternatives><mml:math>
<mml:mn>0.4</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$0.4\% $]]></tex-math></alternatives></inline-formula>, and ViT by <inline-formula id="j_infor640_ineq_153"><alternatives><mml:math>
<mml:mn>3.8</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$3.8\% $]]></tex-math></alternatives></inline-formula>, having nearly the same performance as ResNet50 (with only <inline-formula id="j_infor640_ineq_154"><alternatives><mml:math>
<mml:mn>0.8</mml:mn>
<mml:mi mathvariant="normal">%</mml:mi></mml:math><tex-math><![CDATA[$0.8\% $]]></tex-math></alternatives></inline-formula> lower). Thus, our model provides lower misclassification rates for the images of fungi from abscesses (i.e. false positive rates) than VGG16 and ViT, being able to better distinguish the “fungal” class from the “bacterial” class. In this context, we consider the performance achieved by our <monospace>OD-Abs</monospace> model notable.</p>
<p>It has to be noted that the baseline supervised classification models benefit from a significant advantage: supervised training, allowing them to explicitly learn the decision boundary between fungal and bacterial features. In contrast, <monospace>OD-Abs</monospace> operates in a one-class setting, training exclusively on fungal images without exposure to bacterial samples during training. The fact that <monospace>OD-Abs</monospace> achieves a high <monospace>AUC</monospace> and <monospace>F1</monospace> scores and a performance very close to the performance of binary classifiers, even outperforming them in terms of false positive rate, demonstrates the robustness of the one-class hypothesis. It suggests that the structural pattern of fungi is distinct enough that a model can learn to reject bacterial anomalies effectively without ever seeing them.</p>
<p>To conclude, the proposed <monospace>OD-Abs</monospace> model succeeds in ensuring a very good balance between preserving the structure of the images from the reference “fungal” class and uncovering the underlying structural relationships within them, and successfully recognizing the “bacterial” class as well. However, the gap in <monospace>AUC</monospace> between our custom model and the pre-trained supervised baselines implies that our current architecture may miss fine-grained texture representations.</p>
</sec>
</sec>
<sec id="j_infor640_s_023">
<label>5</label>
<title>Explainability</title>
<p>For answering RQ3, this section explores the explainability part of <monospace>OD-Abs</monospace> and analyses the interpretations provided by the reconstruction error map from a biological perspective.</p>
<p>For a more detailed analysis of the <monospace>OD-Abs</monospace> classifier and its potential limitations, we selected four cases (samples): <bold>S1</bold> – an image of fungi from an abscess that was misclassified by <monospace>OD-Abs</monospace>; <bold>S2</bold> – an image of fungi from an abscess correctly classified by <monospace>OD-Abs</monospace>; <bold>S3</bold> – an image of bacteria from an abscess misclassified by <monospace>OD-Abs</monospace>; and <bold>S4</bold> – an image of bacteria from an abscess correctly classified by <monospace>OD-Abs</monospace>. For each of the samples, the goal is to understand the way the model inferred the output (predicted class) and to correlate these interpretations with the biological interpretation. Table <xref rid="j_infor640_tab_005">5</xref> presents a description of the four samples: input image, correct class, description of the sample, class predicted by <monospace>OD-Abs</monospace>, and the reconstruction error map for the image.</p>
<table-wrap id="j_infor640_tab_005">
<label>Table 5</label>
<caption>
<p>Description of the four samples analysed together with the reconstruction error maps explanations.</p>
</caption>
<graphic xlink:href="infor640_g005.jpg"/>
</table-wrap>
<p>The input images depicted in Table <xref rid="j_infor640_tab_005">5</xref> represent micrographs of fungal and bacterial cells. The <bold>S1</bold> sample consists of fungal hyphae with branching filaments and septa, the <bold>S2</bold> sample consists of oval cells most often seen in yeast, the <bold>S3</bold> sample consists of a low magnification micrograph with bacterial cells hard to distinguish form the grids typically used for electron microscopy investigation, and the <bold>S4</bold> sample consists of irregular shapes of individual bacterial cells, which appear to be cocci or possibly small bacilli, clustered together.</p>
<p>The reconstruction error map represents the pixel-wise difference between the input image and its reconstruction and highlights regions where the model fails to accurately reproduce image structures. In this map, well-reconstructed areas appear in darker, cooler colours (e.g. black or blue), whereas regions that the model finds difficult to reconstruct appear in brighter, warmer colors. Therefore, in our case, anomalous structures (i.e. bacteria) are expected to manifest as yellow or white regions corresponding to high reconstruction error.</p>
<p>The reconstruction error maps shown in Table <xref rid="j_infor640_tab_005">5</xref> provide insights into the challenges encountered by the model. The misclassified samples <bold>S1</bold> and <bold>S3</bold> exhibit more diffuse and widespread reconstruction errors, suggesting that the model struggled to capture meaningful structural patterns in these noisier images compared to the correctly classified cases. For <bold>S2</bold>, we can also notice that the high intensity spots seem to correspond with darker spots in the original image. In sample <bold>S2</bold>, although the image was correctly classified as fungal, several localized bright regions can be observed in the error map, which seem to correspond with regions of high-intensity (white) areas in the original image. For <bold>S4</bold>, we can observe many bright yellow spots corresponding to the other class (in our case, bacteria) and some larger, lighter-coloured areas in the background as well. Overall, these observations suggest that the model has greater difficulty with noisier images and with cases where microorganism boundaries are less sharp and not clearly delineated from the background.</p>
<p>From a biological perspective, sample <bold>S1</bold> is misclassified as bacterial cells, as the <monospace>OD-Abs</monospace> model seems to identify hyphal zones as representing bacterial cells. Figure <xref rid="j_infor640_fig_005">4</xref>A illustrates the regions (marked in white) that were misclassified as bacterial cells. The second misclassification of <monospace>OD-Abs</monospace> is sample <bold>S3</bold>. Sample <bold>S3</bold> appears to be an electron micrograph with cells difficult to distinguish from the uniform background provided by the carbon disk used for loading the samples into the microscope, due to low magnification. Samples <bold>S2</bold> and <bold>S4</bold> are correctly classified as belonging to the “fungal” and “bacterial” classes, respectively. In <bold>S2</bold>, the <monospace>OD-Abs</monospace> model correctly identifies oval cells characteristic of yeast (marked in white in Fig. <xref rid="j_infor640_fig_005">4</xref>B), as well as in <bold>S4</bold>, where it determines correctly irregular individual bacterial cells (except the small region marked with a white arrow in Fig. <xref rid="j_infor640_fig_005">4</xref>C where the identification is incorrect due to the presence of darker shade pixels).</p>
<fig id="j_infor640_fig_005">
<label>Fig. 4</label>
<caption>
<p>Biological interpretation for the classification of samples <bold>S1</bold>, <bold>S2</bold>, and <bold>S4</bold> from Table <xref rid="j_infor640_tab_005">5</xref>. <bold>A</bold>: Incorrect bacterial identification of fungal hyphae in <bold>S1</bold> – marked in white. <bold>B</bold>: Correct identification of yeast cells, as representatives of fungi in <bold>S2</bold> – marked in white. <bold>C</bold>: Correct identification of bacterial cells, except for a small area with a misinterpretation in <bold>S4</bold> – marked with a white arrow.</p>
</caption>
<graphic xlink:href="infor640_g006.jpg"/>
</fig>
</sec>
<sec id="j_infor640_s_024">
<label>6</label>
<title>Conclusions and Future Work</title>
<p>In conclusion, we presented <monospace>OD-Abs</monospace>, a one-class classifier that distinguishes between microscopic images of bacteria or fungi. The model, based on a <italic>β</italic>-VAE architecture, is trained on solely fungi images and is evaluated on both fungi and bacteria. We also discuss two methods of setting the threshold for the classification, as well as detail our choice of AE architecture.</p>
<p>The research questions can now be answered. In response to RQ1, our results demonstrate that one-class outlier detection can successfully uncover structural distinctions between images of fungi and bacteria from abscesses to a significant extent, as evidenced by an <monospace>F1</monospace>-score of 0.967 and an <monospace>AUC</monospace> of 0.980. These metrics indicate that the model effectively learned the hidden structural patterns unique to fungal morphology. It is also notable that the proposed <monospace>OD-Abs</monospace> (V2) achieves a specificity score of 0.992 and sensitivity of 0.968, therefore showing a lack of bias towards the reference class. This suggests that the structural separation is robust and that the model successfully differentiates fungi from bacteria. Regarding RQ2, our comparative analysis confirms that the proposed OD-Abs framework yields a statistically significant improvement over OC-SVM and Deep-SVDD baselines. While existing methods demonstrate high sensitivity but lower precision and specificity, OD-Abs achieves a superior F1-score and AUC. To answer RQ3, the analysis of reconstruction residuals confirms that for correctly classified samples, the model’s decisions are primarily driven by biologically meaningful features, such as oval cells and individual bacteria. However, the maps also reveal the model’s limitations in handling images where cells are more difficult to distinguish from the background due to data collection, as well as its tendency to confuse certain structures, such as the misidentification of hyphal zones as bacteria. These observations demonstrate a strong alignment between the technical and biological perspectives, as the high-error regions in the residual maps correspond, for the most part, to recognizable morphological features and background noise.</p>
<p>To bridge the performance gap with fully supervised baselines, future iterations could expand the framework into a bidirectional system by training a parallel AE with bacteria as the reference class that would allow for the classification of fungi, bacteria, and an “other” class, moving toward a more universal tool for digital pathology. We also plan on utilizing the AE’s latent features in a multitask learning setting, combining unsupervised representations with supervised classification heads to boost discriminative power. The experimental results also suggest further exploration of alternative OCC models instead of AE, such as ViT, together with a binary classifier, focusing on images where their predictions differ, to take advantage of the strengths of both models.</p>
</sec>
</body>
<back>
<ack id="j_infor640_ack_001">
<title>Acknowledgements</title>
<p>This research was supported by the project “Romanian Hub for Artificial Intelligence – HRIA”, Smart Growth, Digitization and Financial Instruments Program, 2021–2027, MySMIS no. 351416. The authors thank anonymous reviewers for their useful suggestions and comments that helped to improve the article and the presentation.</p></ack>
<ref-list id="j_infor640_reflist_001">
<title>References</title>
<ref id="j_infor640_ref_001">
<mixed-citation publication-type="chapter"><string-name><surname>Ahmed</surname>, <given-names>S.I.</given-names></string-name>, <string-name><surname>Haque</surname>, <given-names>A.O.</given-names></string-name> (<year>2023</year>). <chapter-title>Microscopic fungi classification using vision transformer guided by transfer learning approach</chapter-title>. In: <source>2023 26th International Conference on Computer and Information Technology (ICCIT)</source>. <publisher-name>IEEE</publisher-name>, pp. <fpage>2275</fpage>–<lpage>2280</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_002">
<mixed-citation publication-type="journal"><string-name><surname>Alam</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Sonbhadra</surname>, <given-names>S.K.</given-names></string-name>, <string-name><surname>Agarwal</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Nagabhushan</surname>, <given-names>P.</given-names></string-name> (<year>2020</year>). <article-title>One-class support vector classifiers: a survey</article-title>. <source>Knowledge-Based Systems</source>, <volume>196</volume>, <elocation-id>105754</elocation-id>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_003">
<mixed-citation publication-type="chapter"><string-name><surname>Bhimavarapu</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Chinta</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Movva</surname>, <given-names>S.V.</given-names></string-name>, <string-name><surname>Jampani</surname>, <given-names>J.P.</given-names></string-name> (<year>2024</year>). <chapter-title>Fungi classification: enhancing diagnosis using deep learning</chapter-title>. In: <source>2024 2nd World Conference on Communication &amp; Computing (WCONF)</source>, <publisher-name>IEEE</publisher-name>, pp. <fpage>1</fpage>–<lpage>6</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_004">
<mixed-citation publication-type="journal"><string-name><surname>Brown</surname>, <given-names>L.D.</given-names></string-name>, <string-name><surname>Cat</surname>, <given-names>T.T.</given-names></string-name>, <string-name><surname>DasGupta</surname>, <given-names>A.</given-names></string-name> (<year>2001</year>). <article-title>Interval estimation for a proportion</article-title>. <source>Statistical Science</source>, <volume>16</volume>, <fpage>101</fpage>–<lpage>133</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_005">
<mixed-citation publication-type="journal"><string-name><surname>Dey</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Smarandache</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Debbarma</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Majumder</surname>, <given-names>P.</given-names></string-name> (<year>2022</year>). <article-title>A hybrid IF-FUCOM-GRA approach and its application to determine optimal bacterial concentrations on mortar at optimal curing day</article-title>. <source>Informatica</source>, <volume>34</volume>(<issue>2</issue>), <fpage>223</fpage>–<lpage>248</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_006">
<mixed-citation publication-type="chapter"><string-name><surname>Dosovitskiy</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Beyer</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Kolesnikov</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Weissenborn</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Zhai</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Unterthiner</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Dehghani</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Minderer</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Heigold</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Gelly</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Uszkoreit</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Houlsby</surname>, <given-names>N.</given-names></string-name> (<year>2021</year>). <chapter-title>An image is Worth 16 x 16 words: transformers for image recognition at scale</chapter-title>. In: <source>9th International Conference on Learning Representations, ICLR 2021, Virtual Event, Austria, May 3–7, 2021</source>, pp. <fpage>611</fpage>–<lpage>631</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_007">
<mixed-citation publication-type="journal"><string-name><surname>Fawcett</surname>, <given-names>T.</given-names></string-name> (<year>2006</year>). <article-title>An introduction to ROC analysis</article-title>. <source>Pattern Recognition Letters</source>, <volume>27</volume>(<issue>8</issue>), <fpage>861</fpage>–<lpage>874</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_008">
<mixed-citation publication-type="journal"><string-name><surname>Filatovas</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Stripinis</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Orts</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Paulavičius</surname>, <given-names>R.</given-names></string-name> (<year>2024</year>). <article-title>Advancing research reproducibility in machine learning through blockchain technology</article-title>. <source>Informatica</source>, <volume>35</volume>(<issue>2</issue>), <fpage>227</fpage>–<lpage>253</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_009">
<mixed-citation publication-type="chapter"><string-name><surname>Gu</surname>, <given-names>Q.</given-names></string-name>, <string-name><surname>Zhu</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Cai</surname>, <given-names>Z.</given-names></string-name> (<year>2009</year>). <chapter-title>Evaluation measures of the classification performance of imbalanced data sets</chapter-title>. In: <source>International Symposium on Intelligence Computation and Applications (ISICA)</source>. <publisher-name>Springer Berlin Heidelberg</publisher-name>, <publisher-loc>Berlin, Heidelberg</publisher-loc>, pp. <fpage>461</fpage>–<lpage>471</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_010">
<mixed-citation publication-type="journal"><string-name><surname>Gümüş</surname>, <given-names>A.</given-names></string-name> (<year>2024</year>). <article-title>Classification of microscopic fungi images using vision transformers for enhanced detection of fungal infections</article-title>. <source>Türk Doğa ve Fen Dergisi</source>, <volume>13</volume>(<issue>1</issue>), <fpage>152</fpage>–<lpage>160</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_011">
<mixed-citation publication-type="chapter"><string-name><surname>He</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Zhang</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Ren</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Sun</surname>, <given-names>J.</given-names></string-name> (<year>2016</year>). <chapter-title>Deep residual learning for image recognition</chapter-title>. In: <source>Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition</source>, pp. <fpage>770</fpage>–<lpage>778</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_012">
<mixed-citation publication-type="chapter"><string-name><surname>Higgins</surname>, <given-names>I.</given-names></string-name>, <string-name><surname>Matthey</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Pal</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Burgess</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Glorot</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Botvinick</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Mohamed</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Lerchner</surname>, <given-names>A.</given-names></string-name> (<year>2017</year>). <chapter-title>beta-VAE: Learning basic visual concepts with a constrained variational framework</chapter-title>. In: <source>International Conference on Learning Representations (Poster)</source>, pp. <fpage>60</fpage>–<lpage>81</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_013">
<mixed-citation publication-type="chapter"><string-name><surname>Kingma</surname>, <given-names>D.P.</given-names></string-name>, <string-name><surname>Welling</surname>, <given-names>M.</given-names></string-name> (<year>2014</year>). <chapter-title>Auto-Encoding Variational Bayes</chapter-title>. In: <string-name><surname>Bengio</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>LeCun</surname>, <given-names>Y.</given-names></string-name> (Eds.), <source>2nd International Conference on Learning Representations, ICLR 2014, Banff, AB, Canada, April 14–16, 2014, Conference Track Proceedings</source>, pp. <fpage>1</fpage>–<lpage>14</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_014">
<mixed-citation publication-type="book"><string-name><surname>Mehta</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Marietta</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Copelin II</surname>, <given-names>E.</given-names></string-name> (<year>2025</year>). <source>Intraabominal Abscesses</source>. <publisher-name>StatPearls</publisher-name>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_015">
<mixed-citation publication-type="chapter"><string-name><surname>Mohamed</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Nagib</surname>, <given-names>A.E.</given-names></string-name>, <string-name><surname>Hany</surname>, <given-names>M.</given-names></string-name> (<year>2024</year>). <chapter-title>Comparative study of microscopic fungii classification using transfer learning models</chapter-title>. In: <source>2024 Intelligent Methods, Systems, and Applications (IMSA)</source>, <publisher-name>IEEE</publisher-name>, pp. <fpage>87</fpage>–<lpage>92</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_016">
<mixed-citation publication-type="journal"><string-name><surname>Mueller-Mang</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Castillo</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Mang</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Cartes-Zumelzu</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Weber</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Thurnher</surname>, <given-names>M.M.</given-names></string-name> (<year>2007</year>). <article-title>Fungal versus bacterial brain abscesses: is diffusion-weighted MR imaging a useful tool in the differential diagnosis?</article-title> <source>Neuroradiology</source>, <volume>49</volume>, <fpage>651</fpage>–<lpage>657</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_017">
<mixed-citation publication-type="chapter"><string-name><surname>Nawarathne</surname>, <given-names>U.</given-names></string-name>, <string-name><surname>Kumari</surname>, <given-names>H.</given-names></string-name> (<year>2023</year>). <chapter-title>Classification of fungi images using different convolutional neural networks</chapter-title>. In: <source>2023 8th International Conference on Information Technology Research (ICITR)</source>, <publisher-name>IEEE</publisher-name>, pp. <fpage>1</fpage>–<lpage>6</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_018">
<mixed-citation publication-type="chapter"><string-name><surname>Poomrittigul</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Chomkwah</surname>, <given-names>W.</given-names></string-name>, <string-name><surname>Tanpatanan</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Sakorntanant</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Treebupachatsakul</surname>, <given-names>T.</given-names></string-name> (<year>2022</year>). <chapter-title>A comparison of deep learning CNN architecture models for classifying bacteria</chapter-title>. In: <source>2022 37th International Technical Conference on Circuits/Systems, Computers and Communications (ITC-CSCC)</source>, <publisher-name>IEEE</publisher-name>, pp. <fpage>290</fpage>–<lpage>293</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_019">
<mixed-citation publication-type="journal"><string-name><surname>Prajna</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Assaf</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Acharya</surname>, <given-names>N.R.</given-names></string-name>, <string-name><surname>Rose-Nussbaumer</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Lietman</surname>, <given-names>T.M.</given-names></string-name>, <string-name><surname>Campbell</surname>, <given-names>J.P.</given-names></string-name>, <string-name><surname>Keenan</surname>, <given-names>J.D.</given-names></string-name>, <string-name><surname>Song</surname>, <given-names>X.</given-names></string-name>, <string-name><surname>Redd</surname>, <given-names>T.K.</given-names></string-name> (<year>2025</year>). <article-title>Multimodal deep learning for differentiating bacterial and fungal keratitis using prospective representative data</article-title>. <source>Ophthalmology Science</source>, <volume>5</volume>(<issue>2</issue>), <fpage>100665</fpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_020">
<mixed-citation publication-type="journal"><string-name><surname>Prasad</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Mukhopadhyay</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Banerjee</surname>, <given-names>B.</given-names></string-name>, <etal>et al.</etal> (<year>2025</year>). <article-title>Vision transformer based bacteria classification model for Gram-stained direct smear images</article-title>. <source>Multimedia Tools and Applications</source>, <volume>84</volume>, <fpage>20289</fpage>–<lpage>20309</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_021">
<mixed-citation publication-type="journal"><string-name><surname>Prommakhot</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Srinonchat</surname>, <given-names>J.</given-names></string-name> (<year>2024</year>). <article-title>Combining convolutional neural networks for fungi classification</article-title>. <source>IEEE Access</source>, <volume>12</volume>, <fpage>58021</fpage>–<lpage>58030</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_022">
<mixed-citation publication-type="chapter"><string-name><surname>Rahman</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Gain</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Rahman</surname>, <given-names>M.S.</given-names></string-name>, <string-name><surname>Saha</surname>, <given-names>S.K.</given-names></string-name>, <string-name><surname>Adhikary</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Bairagi</surname>, <given-names>A.K.</given-names></string-name>, <string-name><surname>Raha</surname>, <given-names>A.D.</given-names></string-name> (<year>2025</year>). <chapter-title>Enhancing microscopic fungi classification through advanced pretraining in deep learning models</chapter-title>. In: <source>2025 International Conference on Electrical, Computer and Communication Engineering (ECCE)</source>, <publisher-name>IEEE</publisher-name>, pp. <fpage>1</fpage>–<lpage>6</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_023">
<mixed-citation publication-type="journal"><string-name><surname>Rahman</surname>, <given-names>M.A.</given-names></string-name>, <string-name><surname>Clinch</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Reynolds</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Dangott</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Villegas</surname>, <given-names>D.M.M.</given-names></string-name>, <string-name><surname>Nassar</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Hata</surname>, <given-names>D.J.</given-names></string-name>, <string-name><surname>Akkus</surname>, <given-names>Z.</given-names></string-name> (<year>2023</year>). <article-title>Classification of fungal genera from microscopic images using artificial intelligence</article-title>. <source>Journal of Pathology Informatics</source>, <volume>14</volume>, <fpage>100314</fpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_024">
<mixed-citation publication-type="journal"><string-name><surname>Rawson</surname>, <given-names>T.M.</given-names></string-name>, <string-name><surname>Antcliffe</surname>, <given-names>D.B.</given-names></string-name>, <string-name><surname>Wilson</surname>, <given-names>R.C.</given-names></string-name>, <string-name><surname>Abdolrasouli</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Moore</surname>, <given-names>L.S.P.</given-names></string-name> (<year>2024</year>). <article-title>Management of bacterial and fungal infections in the ICU: diagnosis, treatment, and prevention recommendations</article-title>. <source>Infection and Drug Resistance</source>, <volume>4</volume>(<issue>16</issue>), <fpage>2709</fpage>–<lpage>2726</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_025">
<mixed-citation publication-type="journal"><string-name><surname>Redd</surname>, <given-names>T.K.</given-names></string-name>, <string-name><surname>Prajna</surname>, <given-names>N.V.</given-names></string-name>, <string-name><surname>Srinivasan</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Lalitha</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Krishnan</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Rajaraman</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Venugopal</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Acharya</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Seitzman</surname>, <given-names>G.D.</given-names></string-name>, <string-name><surname>Lietman</surname>, <given-names>T.M.</given-names></string-name>, <string-name><surname>Keenan</surname>, <given-names>J.D.</given-names></string-name>, <string-name><surname>Campbell</surname>, <given-names>J.P.</given-names></string-name>, <string-name><surname>Song</surname>, <given-names>X.</given-names></string-name> (<year>2022</year>). <article-title>Image-based differentiation of bacterial and fungal keratitis using deep convolutional neural networks</article-title>. <source>Ophthalmology Science</source>, <volume>2</volume>(<issue>2</issue>), <elocation-id>100119</elocation-id>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_026">
<mixed-citation publication-type="journal"><string-name><surname>Rosner</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Glynn</surname>, <given-names>R.J.</given-names></string-name>, <string-name><surname>Lee</surname>, <given-names>M.-L.T.</given-names></string-name> (<year>2006</year>). <article-title>The Wilcoxon signed rank test for paired comparisons of clustered data</article-title>. <source>Biometrics</source>, <volume>62</volume>(<issue>1</issue>), <fpage>185</fpage>–<lpage>192</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_027">
<mixed-citation publication-type="chapter"><string-name><surname>Ruff</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Vandermeulen</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Goernitz</surname>, <given-names>N.</given-names></string-name>, <string-name><surname>Deecke</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Siddiqui</surname>, <given-names>S.A.</given-names></string-name>, <string-name><surname>Binder</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Müller</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Kloft</surname>, <given-names>M.</given-names></string-name> (<year>2018</year>). <chapter-title>Deep one-class classification</chapter-title>. In: <source>Proceedings of the 35th International Conference on Machine Learning</source>, pp. <fpage>4393</fpage>–<lpage>4402</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_028">
<mixed-citation publication-type="journal"><string-name><surname>Satvati</surname>, <given-names>M.A.</given-names></string-name>, <string-name><surname>Lakestani</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Khamnei</surname>, <given-names>H.J.</given-names></string-name>, <string-name><surname>Allahviranloo</surname>, <given-names>T.</given-names></string-name> (<year>2024</year>). <article-title>Deblurring medical images using a new Grünwald-Letnikov fractional mask</article-title>. <source>Informatica</source>, <volume>35</volume>(<issue>4</issue>), <fpage>817</fpage>–<lpage>836</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_029">
<mixed-citation publication-type="chapter"><string-name><surname>Schölkopf</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Williamson</surname>, <given-names>R.</given-names></string-name>, <string-name><surname>Smola</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Shawe-Taylor</surname>, <given-names>J.</given-names></string-name>, <string-name><surname>Platt</surname>, <given-names>J.</given-names></string-name> (<year>1999</year>). <chapter-title>Support vector method for novelty detection</chapter-title>. In: <source>Proceedings of the 13th International Conference on Neural Information Processing Systems, NIPS’99</source>. <publisher-name>MIT Press</publisher-name>, <publisher-loc>Cambridge, MA, USA</publisher-loc>, pp. <fpage>582</fpage>–<lpage>588</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_030">
<mixed-citation publication-type="chapter"><string-name><surname>Simonyan</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Zisserman</surname>, <given-names>A.</given-names></string-name> (<year>2015</year>). <chapter-title>Very deep convolutional networks for large-scale image recognition</chapter-title>. In: <string-name><surname>Bengio</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>LeCun</surname>, <given-names>Y.</given-names></string-name> (Eds.), <source>3rd International Conference on Learning Representations, ICLR 2015, Conference Track Proceedings</source>, pp. <fpage>1</fpage>–<lpage>14</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_031">
<mixed-citation publication-type="other"><string-name><surname>Sopo</surname>, <given-names>C.J.P.</given-names></string-name>, <string-name><surname>Hajati</surname>, <given-names>F.</given-names></string-name>, <string-name><surname>Gheisari</surname>, <given-names>S.</given-names></string-name> (<year>2021</year>). <article-title>DeFungi: Direct Mycological Examination of Microscopic Fungi Images</article-title>. arXiv:<ext-link ext-link-type="uri" xlink:href="https://arxiv.org/abs/2109.07322">2109.07322</ext-link>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_032">
<mixed-citation publication-type="journal"><string-name><surname>Spahn</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Gómez-de-Mariscal</surname>, <given-names>E.</given-names></string-name>, <string-name><surname>Laine</surname>, <given-names>R.F.</given-names></string-name>, <string-name><surname>Pereira</surname>, <given-names>P.M.</given-names></string-name>, <string-name><surname>von Chamier</surname>, <given-names>L.</given-names></string-name>, <string-name><surname>Conduit</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Pinho</surname>, <given-names>M.G.</given-names></string-name>, <string-name><surname>Jacquemet</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Holden</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Heilemann</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Henriques</surname>, <given-names>R.</given-names></string-name> (<year>2022</year>). <article-title>DeepBacs for multi-task bacterial image analysis using open-source deep learning approaches</article-title>. <source>Communications Biology</source>, <volume>5</volume>(<issue>1</issue>), <fpage>688</fpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_033">
<mixed-citation publication-type="journal"><string-name><surname>Sroka-Oleksiak</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Pardyl</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Rymarczyk</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Olechowska-Jarząb</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Biegun-Drożdż</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Ochońska</surname>, <given-names>D.</given-names></string-name>, <string-name><surname>Wronka</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Borowa</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Gosiewski</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Adamczyk</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Telega</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Zieliński</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Brzychczy-Włoch</surname>, <given-names>M.</given-names></string-name> (<year>2025</year>). <article-title>AI-driven rapid identification of bacterial and fungal pathogens in blood smears of septic patients</article-title>. <source>Computers in Biology and Medicine</source>, <volume>199</volume>, <elocation-id>111328</elocation-id>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_034">
<mixed-citation publication-type="other"><string-name><surname>Statistics</surname></string-name> (2026). Wilcoxon Signed-Rank Test. <uri>http://www.socscistatistics.com/tests/</uri>. Last accessed 15 January 2026.</mixed-citation>
</ref>
<ref id="j_infor640_ref_035">
<mixed-citation publication-type="other"><string-name><surname>Toader</surname>, <given-names>T.-A.</given-names></string-name> (2025). OD-Abs outlier detector. GitHub. Last accessed 20 December 2025. <uri>https://github.com/teo-toader/OD-Abs</uri>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_036">
<mixed-citation publication-type="chapter"><string-name><surname>Treebupachatsakul</surname>, <given-names>T.</given-names></string-name>, <string-name><surname>Poomrittigul</surname>, <given-names>S.</given-names></string-name> (<year>2020</year>). <chapter-title>Microorganism image recognition based on deep learning application</chapter-title>. In: <source>2020 International Conference on Electronics, Information, and Communication (ICEIC)</source>, <publisher-name>IEEE</publisher-name>, pp. <fpage>1</fpage>–<lpage>5</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_037">
<mixed-citation publication-type="journal"><string-name><surname>Visitsattaponge</surname>, <given-names>S.</given-names></string-name>, <string-name><surname>Bunkum</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Pintavirooj</surname>, <given-names>C.</given-names></string-name>, <string-name><surname>Paing</surname>, <given-names>M.P.</given-names></string-name> (<year>2024</year>). <article-title>A deep learning model for bacterial classification using big transfer (BiT)</article-title>. <source>IEEE Access</source>, <volume>12</volume>, <fpage>15609</fpage>–<lpage>15621</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_038">
<mixed-citation publication-type="journal"><string-name><surname>Wang</surname>, <given-names>Z.</given-names></string-name>, <string-name><surname>Bovik</surname>, <given-names>A.C.</given-names></string-name>, <string-name><surname>Sheikh</surname>, <given-names>H.R.</given-names></string-name>, <string-name><surname>Simoncelli</surname>, <given-names>E.P.</given-names></string-name> (<year>2004</year>). <article-title>Image quality assessment: from error visibility to structural similarity</article-title>. <source>IEEE Transactions on Image Processing</source>, <volume>13</volume>(<issue>4</issue>), <fpage>600</fpage>–<lpage>612</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_039">
<mixed-citation publication-type="journal"><string-name><surname>Won</surname>, <given-names>Y.K.</given-names></string-name>, <string-name><surname>Lee</surname>, <given-names>H.</given-names></string-name>, <string-name><surname>Kim</surname>, <given-names>Y.</given-names></string-name>, <string-name><surname>Han</surname>, <given-names>G.</given-names></string-name>, <string-name><surname>Chung</surname>, <given-names>T.-Y.</given-names></string-name>, <string-name><surname>Ro</surname>, <given-names>Y.M.</given-names></string-name>, <string-name><surname>Lim</surname>, <given-names>D.H.</given-names></string-name> (<year>2023</year>). <article-title>Deep learning-based classification system of bacterial keratitis and fungal keratitis using anterior segment images</article-title>. <source>Frontiers in Medicine</source>, <volume>10</volume>, <elocation-id>1162124</elocation-id>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_040">
<mixed-citation publication-type="chapter"><string-name><surname>Zawadzki</surname>, <given-names>P.</given-names></string-name> (<year>2020</year>). <chapter-title>Deep learning approach to the classification of selected fungi and bacteria</chapter-title>. In: <source>2020 IEEE 21st International Conference on Computational Problems of Electrical Engineering (CPEE)</source>, <publisher-name>IEEE</publisher-name>, pp. <fpage>1</fpage>–<lpage>4</lpage>.</mixed-citation>
</ref>
<ref id="j_infor640_ref_041">
<mixed-citation publication-type="journal"><string-name><surname>Zieliński</surname>, <given-names>B.</given-names></string-name>, <string-name><surname>Plichta</surname>, <given-names>A.</given-names></string-name>, <string-name><surname>Misztal</surname>, <given-names>K.</given-names></string-name>, <string-name><surname>Spurek</surname>, <given-names>P.</given-names></string-name>, <string-name><surname>Brzychczy-Włoch</surname>, <given-names>M.</given-names></string-name>, <string-name><surname>Ochońska</surname>, <given-names>D.</given-names></string-name> (<year>2017</year>). <article-title>Deep learning approach to bacterial colony classification</article-title>. <source>PloS One</source>, <volume>12</volume>(<issue>9</issue>), <fpage>0184554</fpage>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>
