﻿<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.0 20120330//EN" "http://jats.nlm.nih.gov/publishing/1.0/JATS-journalpublishing1.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-id journal-id-type="nlm-ta">Intell. Robot.</journal-id>
      <journal-id journal-id-type="publisher-id">IR</journal-id>
      <journal-title-group>
        <journal-title>Intelligence &amp; Robotics</journal-title>
      </journal-title-group>
      <issn pub-type="epub">2770-3541</issn>
      <publisher>
        <publisher-name>OAE Publishing Inc.</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.20517/ir.2026.37</article-id>
      <article-categories>
        <subj-group>
          <subject>Research Article</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Open-set fault diagnosis for solar insecticidal lamp IoT systems using adaptive prototypes</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <name>
            <surname>Wang</surname>
            <given-names>Zhengjie</given-names>
          </name>
          <xref ref-type="aff" rid="I1">
            <sup>1</sup>
          </xref>
        </contrib>
        <contrib contrib-type="author" corresp="yes">
          <name>
            <surname>Yang</surname>
            <given-names>Xing</given-names>
          </name>
          <xref ref-type="aff" rid="I2">
            <sup>2</sup>
          </xref>
          <xref ref-type="corresp" rid="cor1" />
          <contrib-id contrib-id-type="orcid">https://orcid.org/0000-0001-7818-1030</contrib-id>
        </contrib>
        <contrib contrib-type="author">
          <name>
            <surname>Zhou</surname>
            <given-names>Xinsheng</given-names>
          </name>
          <xref ref-type="aff" rid="I1">
            <sup>1</sup>
          </xref>
        </contrib>
        <contrib contrib-type="author">
          <name>
            <surname>Guo</surname>
            <given-names>Xuanchen</given-names>
          </name>
          <xref ref-type="aff" rid="I1">
            <sup>1</sup>
          </xref>
        </contrib>
      </contrib-group>
      <aff id="I1">
        <sup>1</sup>College of Intelligent Manufacturing, Anhui Science and Technology University, Chuzhou 239000, Anhui, China.</aff>
      <aff id="I2">
        <sup>2</sup>College of Artificial Intelligence, Anhui Science and Technology University, Chuzhou 239000, Anhui, China.</aff>
      <author-notes>
        <corresp id="cor1">Correspondence to: Dr. Xing Yang, College of Artificial Intelligence, Anhui Science and Technology University, Chuzhou 239000, Anhui, China. E-mail: <email>xingyang@ahstu.edu.cn</email></corresp>
        <fn fn-type="other">
          <p>
            <bold>Received:</bold> 10 Jul 2026 | <bold>First Decision:</bold> 3 Sep 2026 | <bold>Revised:</bold> 16 Sep 2026 | <bold>Accepted:</bold> 15 Oct 2026 | <bold>Published:</bold> 28 Oct 2026</p>
        </fn>
        <fn fn-type="other">
          <p>
            <bold>Academic Editor:</bold> Jianjun Ni | <bold>Copy Editor:</bold> Pei-Yun Wang | <bold>Production Editor:</bold> Pei-Yun Wang</p>
        </fn>
      </author-notes>
      <pub-date pub-type="ppub">
        <year>2026</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>28</day>
        <month>10</month>
        <year>2026</year>
      </pub-date>
      <volume>6</volume>
	  <issue>4</issue>
      <fpage>843</fpage>
	  <lpage>67</lpage>
      <permissions>
        <copyright-statement>© The Author(s) 2026.</copyright-statement>
        <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
          <license-p>© The Author(s) 2026. <bold>Open Access</bold> This article is licensed under a Creative Commons Attribution 4.0 International License (<uri xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</uri>), which permits unrestricted use, sharing, adaptation, distribution and reproduction in any medium or format, for any purpose, even commercially, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.</license-p>
        </license>
      </permissions>
      <abstract>
        <p>Reliable fault diagnosis of field-deployed intelligent agricultural equipment requires not only accurate recognition of known faults but also reliable rejection of previously unseen fault conditions encountered after deployment. This challenge is particularly pronounced in solar insecticidal lamp Internet of Things (SIL-IoTs) systems, where environmental variability, component aging, and operational disturbances can induce substantial intra-class variability and compromise the reliability of conventional closed-set diagnosis. To address this challenge, this article proposes a prototype-based open-set fault diagnosis framework for SIL-IoTs systems. A temporal encoder is trained to extract discriminative representations from multichannel electrical signals. Within the learned feature space, class prototypes are constructed for known faults, and an uncertainty-aware prototype distance (UAPD) is introduced to account for class-wise feature variance during prototype matching. A class-adaptive conformal thresholding (CACT) strategy is further developed to estimate an independent acceptance threshold for each known class using only calibration samples from known classes, thereby enabling open-set rejection without requiring real unknown faults for threshold tuning. Experiments on five open-set diagnosis tasks show that the proposed method achieves the highest overall open-set accuracy across all tasks and the highest H-score in four tasks, with absolute gains of up to 0.0377 over the strongest baseline. These results demonstrate that the proposed framework provides an effective and practically applicable solution for open-set fault diagnosis in field-deployed SIL-IoTs systems.</p>
      </abstract>
      <kwd-group>
        <kwd>Open-set fault diagnosis</kwd>
        <kwd>prototype learning</kwd>
        <kwd>uncertainty-aware distance</kwd>
        <kwd>SIL-IoTs</kwd>
        <kwd>intelligent agricultural systems</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec1">
      <title>1. INTRODUCTION</title>
      <p>Intelligent systems and machine learning play an important role in modern precision agriculture, where autonomous monitoring, intelligent agricultural equipment, and data-driven maintenance are essential for ensuring reliable long-term field operation<sup>[<xref ref-type="bibr" rid="B1">1</xref>]</sup>. Accordingly, smart agricultural electronic systems are expected to operate autonomously and reliably over extended periods in open-field environments<sup>[<xref ref-type="bibr" rid="B2">2</xref>]</sup>. Recent machine-learning-based studies further demonstrate the capability of data-driven models to capture discriminative temporal features from complex and highly variable data, providing an effective basis for condition monitoring, state assessment, and fault diagnosis in intelligent agricultural systems<sup>[<xref ref-type="bibr" rid="B3">3</xref>]</sup>. Within this context, solar insecticidal lamp Internet of Things (SIL-IoTs) systems represent a typical class of field-deployed intelligent terminals, as they integrate sensing, power supply, communication, and electrical actuation within a continuously operating monitoring platform<sup>[<xref ref-type="bibr" rid="B4">4</xref>]</sup>. By continuously recording multichannel electrical signals during routine operation, these systems facilitate pest monitoring, equipment management, and data-driven agricultural decision-making. In such environments, reliable fault diagnosis is not merely a maintenance requirement but also a prerequisite for trustworthy intelligent sensing and sustained autonomous operation<sup>[<xref ref-type="bibr" rid="B5">5</xref>]</sup>.</p>
      <p>Most existing intelligent fault diagnosis methods achieve strong performance under closed-set assumptions by using convolutional, recurrent, or hybrid deep networks to learn discriminative representations from time-series data<sup>[<xref ref-type="bibr" rid="B6">6</xref>]</sup>. Related studies in intelligent agriculture have also demonstrated that neural-network- and Gaussian-process-based models can effectively capture nonlinear temporal dependencies and informative dynamic patterns from complex time-series data, providing useful representations for system condition monitoring and fault-related state assessment<sup>[<xref ref-type="bibr" rid="B7">7</xref>,<xref ref-type="bibr" rid="B8">8</xref>]</sup>. Although these methods are effective when the training and test label spaces are fully matched, they remain insufficient for realistic open-set deployment<sup>[<xref ref-type="bibr" rid="B9">9</xref>]</sup>. First, a closed-set classifier tends to force an unseen fault into the nearest known category, which may conceal novel failures and mislead maintenance decisions<sup>[<xref ref-type="bibr" rid="B10">10</xref>]</sup>. To alleviate this problem, representative open-set recognition methods have introduced different rejection mechanisms. OpenMax estimates unknown probabilities by modeling the tail distribution of known-class activation distances, ARPL learns reciprocal points to reduce open-space risk, OpenGAN uses adversarially generated samples to regularize the known/unknown boundary, and ViM estimates unknownness from feature residuals and logit information<sup>[<xref ref-type="bibr" rid="B11">11</xref>-<xref ref-type="bibr" rid="B14">14</xref>]</sup>. More recent approaches further explore calibrated outlier-class learning, prototype-reciprocal learning, nearest-neighbor Gaussian modeling, and evidential abstention to improve open-set or out-of-distribution decision-making<sup>[<xref ref-type="bibr" rid="B15">15</xref>-<xref ref-type="bibr" rid="B18">18</xref>]</sup>. However, these methods are not specifically designed for SIL-IoTs fault diagnosis, where known fault classes may exhibit heterogeneous intra-class dispersion under variable field operating conditions.</p>
      <p>Second, even prototype-based or distance-based open-set methods often rely on Euclidean prototype matching, standardized Euclidean distances, Mahalanobis-type post-hoc scoring, or a single global rejection threshold<sup>[<xref ref-type="bibr" rid="B19">19</xref>,<xref ref-type="bibr" rid="B20">20</xref>]</sup>. These approaches are closely related to class-conditional distance measures, within-class covariance normalization, and Mahalanobis-type prototype methods, because they normalize distances according to feature scale or covariance information. However, they are usually used as post-hoc statistical decision rules and do not explicitly couple class-wise latent dispersion with known-only class-adaptive threshold calibration. In contrast, the proposed uncertainty-aware prototype distance (UAPD) is embedded in the learned prototype space and uses class-wise latent dispersion to adjust prototype matching for each known fault class. Therefore, UAPD is not introduced as a standalone Mahalanobis classifier, but as a prototype-level uncertainty-aware distance for open-set fault diagnosis. Different known classes may occupy latent regions with very different compactness, and ignoring this can lead to unreliable acceptance boundaries and an unstable trade-off between known-fault recognition and unknown-fault rejection<sup>[<xref ref-type="bibr" rid="B21">21</xref>]</sup>.</p>
      <p>UAPD also differs from recent prototype-based open-set fault diagnosis methods, which commonly use generated open-set samples, pseudo prototypes, or distance-based rejection rules to model open space<sup>[<xref ref-type="bibr" rid="B20">20</xref>]</sup>. In the proposed framework, unknown-fault samples are not used during training or threshold tuning. Instead, UAPD is combined with class-adaptive conformal thresholding (CACT) to couple class-wise variance-normalized prototype matching with class-specific conformal thresholding estimated from known calibration samples only<sup>[<xref ref-type="bibr" rid="B22">22</xref>]</sup>. This design also differs from auxiliary-set-based generalized zero-shot industrial fault diagnosis, where unseen classes are recognized by transferring auxiliary knowledge, whereas the present open-set setting focuses on rejecting unknown faults without using auxiliary unknown-class data during training or threshold tuning<sup>[<xref ref-type="bibr" rid="B23">23</xref>]</sup>.</p>
      <p>To address these limitations, this article proposes a prototype-based open-set fault diagnosis framework for SIL-IoTs systems. The framework first learns discriminative temporal representations from multichannel electrical signals by jointly optimizing cross-entropy loss, center loss, and supervised contrastive loss<sup>[<xref ref-type="bibr" rid="B24">24</xref>]</sup>. Based on the learned feature space, one prototype is constructed for each known fault category. Unlike a conventional Mahalanobis-distance classifier, the proposed UAPD performs class-wise variance-normalized prototype matching in the learned latent space. Furthermore, unlike manually tuned or globally shared class-threshold rules, the proposed CACT calibrates one acceptance threshold per known class using conformal nonconformity scores computed only from known calibration samples. In this way, the proposed framework combines discriminative representation learning, adaptive metric design, and class-specific open-set decision-making into a unified diagnosis model.</p>
      <p>The main contributions of this article are summarized as follows:<break/>• A prototype-based open-set fault diagnosis framework is proposed for SIL-IoTs systems, unifying known-fault classification and unknown-fault rejection within a single diagnostic framework.<break/>• An UAPD is introduced to account for class-wise feature dispersion, thereby improving the reliability of prototype matching in heterogeneous latent spaces. This design differs from conventional standardized or Mahalanobis-type distance rules by adapting prototype matching to the learned class-wise latent dispersion.<break/>• A CACT strategy is developed to calibrate class-specific rejection boundaries using known-only calibration data. This design improves the balance between known-fault recognition and unknown-fault rejection.</p>
      <p>The remainder of this article is organized as follows. Section 2 presents the proposed open-set fault diagnosis framework. Section 3 describes the dataset, task definition, and experimental setup. Section 4 reports the experimental results, including ablation studies and comparisons with competing open-set diagnosis methods. Section 5 discusses the main findings and their implications. Section 6 discusses the limitations of the proposed framework and outlines directions for future improvement. Finally, Section 7 concludes this article.</p>
    </sec>
    <sec id="sec2">
      <title>2. METHODS</title>
      <sec id="sec2-1">
        <title>2.1. Problem formulation and overview</title>
        <p>We consider an open-set diagnosis problem in which each input sample is a multivariate temporal window</p>
        <p><disp-formula> <label>(1)</label> <tex-math id="E1"> $$  x \in \mathbb{R}^{L \times F}, $$ </tex-math></disp-formula></p>
        <p>where <italic>L</italic> and <italic>F</italic> denote the window length and the number of signal channels, respectively. Let the known class set be denoted by <inline-formula><tex-math id="M1">$$ \mathcal{C}  $$</tex-math></inline-formula> = {1, …, <italic>K</italic>}. During training, only samples from <inline-formula><tex-math id="M1">$$ \mathcal{C}  $$</tex-math></inline-formula> are available, whereas validation and test sets may additionally contain samples from unseen unknown classes. The goal is to assign a test sample to either a known class or the unknown category<sup>[<xref ref-type="bibr" rid="B25">25</xref>]</sup>. This setting differs from generalized zero-shot fault diagnosis methods that attempt to recognize unseen classes by exploiting auxiliary semantic or fault-related information. In the present open-set setting, unknown fault classes are unavailable during model fitting and threshold calibration, and the main objective is reliable unknown-fault rejection rather than explicit unseen-class recognition.</p>
        <p>As shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>, the proposed framework contains three stages: discriminative representation learning, uncertainty-aware prototype matching, and class-adaptive conformal rejection. First, a temporal encoder maps each signal window to a latent feature vector. Second, one prototype is constructed for each known class from the proper training split, and class-wise feature dispersion is used to define UAPD. Third, the CACT strategy calibrates one rejection threshold per known class by using calibration samples from known classes only. In this way, the final decision rule jointly accounts for class-dependent feature geometry and class-dependent acceptance boundaries.</p>
        <fig id="fig1" position="float">
          <label>Figure 1</label>
          <caption>
            <p>Overview of the proposed open-set diagnosis framework. Raw multichannel electrical signal records are first divided into training, validation, and test subsets, and sliding-window segmentation and standardization are then performed within each subset. A temporal encoder learns latent representations, which are used for prototype construction, uncertainty-aware distance estimation, and class-adaptive open-set rejection. GELU: Gaussian error linear unit.</p>
          </caption>
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6037.fig.1.jpg" />
        </fig>
      </sec>
      <sec id="sec2-2">
        <title>2.2. Data preprocessing</title>
        <p>Following the preprocessing pipeline in <xref ref-type="fig" rid="fig1">Figure 1A</xref>, the raw multichannel electrical signal records associated with system operation were first divided into training, validation, and test sets at a ratio of 7:2:1 before window segmentation. The sliding-window operation was then performed separately within each subset, using a window length of 16 and a stride of 4. Therefore, although adjacent windows within the same subset overlap by 75%, no overlapping windows derived from the same acquisition record were shared across the training, validation, and test sets. The generated window samples were standardized before model training, and the normalization parameters were computed using only the training set and then applied unchanged to the validation and test sets. In the implementation, the known-class training data were further divided into a proper training split <inline-formula><tex-math id="M1">$$ \mathcal{D} $$</tex-math></inline-formula><sub>tr</sub> and a calibration split <inline-formula><tex-math id="M1">$$ \mathcal{D} $$</tex-math></inline-formula><sub>cal</sub>, while the open-set validation and test sets were denoted by <inline-formula><tex-math id="M1">$$ \mathcal{D} $$</tex-math></inline-formula><sub>val</sub> and <inline-formula><tex-math id="M1">$$ \mathcal{D}  $$</tex-math></inline-formula><sub>te</sub>, respectively<sup>[<xref ref-type="bibr" rid="B26">26</xref>]</sup>.</p>
        <p>For a known training sample (<italic>x<sub>i</sub></italic>, <italic>y<sub>i</sub></italic>) with <italic>y<sub>i</sub></italic> ∈ <inline-formula><tex-math id="M1">$$ \mathcal{C}  $$</tex-math></inline-formula>, the encoder produces a latent feature</p>
        <p><disp-formula> <label>(2)</label> <tex-math id="E1"> $$  z_i = f_{\theta}(x_i), \qquad z_i \in \mathbb{R}^{d}, $$ </tex-math></disp-formula></p>
        <p>where <italic>f<sub>θ</sub></italic>(·) denotes the temporal encoder and <italic>d</italic> is the latent feature dimension. In what follows, we use <italic>prototype</italic> to refer to the class mean used for open-set inference, and <italic>center</italic> to refer to the learnable center parameter used only in the training loss. For consistency, class-specific quantities are indexed by the generic class index <italic>c</italic> ∈ <inline-formula><tex-math id="M1">$$ \mathcal{C}  $$</tex-math></inline-formula> throughout the manuscript; for example, the inference prototype is denoted as <italic>P<sub>c</sub></italic> ∈ ℝ<italic><sup>d</sup></italic> rather than by a fixed class-specific notation such as <italic>P</italic><sub>2</sub>.</p>
      </sec>
      <sec id="sec2-3">
        <title>2.3. Temporal encoder and prototype-oriented feature learning</title>
        <p>The temporal encoder consists of three stacked 1D convolutional blocks, each followed by batch normalization and Gaussian error linear unit (GELU) activation<sup>[<xref ref-type="bibr" rid="B27">27</xref>]</sup>. Dropout is used for regularization, and adaptive average pooling aggregates the temporal dimension into a fixed-length representation. A linear projection layer then maps the pooled representation to a <italic>d</italic>-dimensional latent space. In the implementation, <italic>d</italic> = 64.</p>
        <p>To learn a feature space that is both discriminative and compact, we train the encoder jointly with a linear classifier head using three complementary objectives:</p>
        <p><disp-formula> <label>(3)</label> <tex-math id="E1"> $$  \mathcal{L}
=
\mathcal{L}_{\mathrm{CE}}
+
\lambda_{c}\mathcal{L}_{\mathrm{center}}
+
\lambda_{sc}\mathcal{L}_{\mathrm{sc}}, $$ </tex-math></disp-formula></p>
        <p>where <inline-formula><tex-math id="M1">$$ \mathcal{L} $$</tex-math></inline-formula><sub>CE</sub> is the standard cross-entropy loss over known classes, <inline-formula><tex-math id="M1">$$ \mathcal{L} $$</tex-math></inline-formula><sub>center</sub> is the center loss, and <inline-formula><tex-math id="M1">$$ \mathcal{L} $$</tex-math></inline-formula><sub>sc</sub> is the supervised contrastive loss.</p>
        <p>The center loss is defined as</p>
        <p><disp-formula> <label>(4)</label> <tex-math id="E1"> $$  \mathcal{L}_{\mathrm{center}}
=
\frac{1}{N}
\sum_{i=1}^{N}
\left\| z_i - \mu_{y_i} \right\|_2^2, $$ </tex-math></disp-formula></p>
        <p>where <inline-formula><tex-math id="M1">$$ \mu_{y_i} $$</tex-math></inline-formula> ∈ ℝ<italic><sup>d</sup></italic> is the learnable center of class <italic>y<sub>i</sub></italic>. This term encourages intra-class compactness, whereas the supervised contrastive term further increases separation between known classes<sup>[<xref ref-type="bibr" rid="B28">28</xref>]</sup>. It should be noted that the learnable center <italic>μ<sub>c</sub></italic> is used only during representation learning and is optimized as a parameter of the center-loss term. It is not directly used as the prototype for open-set inference. Instead, the center loss indirectly shapes the latent-space geometry by encouraging features from the same class to concentrate around their corresponding training center. This more compact and structured feature geometry subsequently affects the empirical class prototypes and class-wise variances estimated after training. In our implementation, <italic>λ<sub>c</sub></italic> = 0.03 and <italic>λ<sub>sc</sub></italic> = 0.10.</p>
        <p>After training, the classifier head is discarded, and the latent space is summarized by one prototype per known class:</p>
        <p><disp-formula> <label>(5)</label> <tex-math id="E1"> $$  P_c
=
\frac{1}{N_c}
\sum_{i:y_i=c} z_i,
\qquad c \in \mathcal{C}, $$ </tex-math></disp-formula></p>
        <p>where <italic>N<sub>c</sub></italic> is the number of proper training samples belonging to class <italic>c</italic>. Unlike the learnable center <italic>μ<sub>c</sub></italic>, the prototype <italic>P<sub>c</sub></italic> is a post-hoc empirical class mean computed from the trained encoder features after representation learning is complete. Thus, <italic>P<sub>c</sub></italic> reflects the final feature distribution induced by the joint training objective, including the effect of center loss, cross-entropy loss, and supervised contrastive loss. The same post-training features are also used to estimate the class-wise variance vector <italic>σ<sub>c</sub></italic><sup>2</sup>, so the variance normalization in UAPD is coupled to the learned feature geometry rather than to the learnable center parameters themselves. These prototypes serve as the anchors for the subsequent open-set decision process.</p>
      </sec>
      <sec id="sec2-4">
        <title>2.4. UAPD</title>
        <p>A plain Euclidean distance assumes that all known classes have comparable feature spread in the latent space. This assumption is often too restrictive for open-set diagnosis, because some classes naturally form compact clusters while others remain more dispersed due to operating variability or residual inter-class ambiguity. A uniform metric therefore tends to over-penalize dispersed classes and under-penalize deviations from compact classes<sup>[<xref ref-type="bibr" rid="B29">29</xref>]</sup>.</p>
        <p>To address this issue, we estimate a class-wise variance vector for each prototype:</p>
        <p><disp-formula> <label>(6)</label> <tex-math id="E1"> $$  \sigma_c^2
=
\mathrm{Var}\bigl(\{z_i \mid y_i=c\}\bigr)
\in \mathbb{R}^{d},
\qquad c \in \mathcal{C}. $$ </tex-math></disp-formula></p>
        <p>Based on <italic>P<sub>c</sub></italic> and <italic>σ<sub>c</sub></italic><sup>2</sup>, we define the UAPD between a test feature <italic>z</italic> and class <italic>c</italic> as</p>
        <p><disp-formula> <label>(7)</label> <tex-math id="E1"> $$  d_c(z)
=
\sqrt{
\sum_{j=1}^{d}
\frac{(z_j - P_{c,j})^2}{\sigma_{c,j}^2 + \epsilon}
}, $$ </tex-math></disp-formula></p>
        <p>where <italic>ϵ</italic> &gt; 0 is a small constant for numerical stability.</p>
        <p>This metric can be interpreted as a diagonal Mahalanobis-like prototype distance. Dimensions with low class-wise dispersion contribute more strongly to the distance, whereas naturally noisy dimensions are down-weighted. Consequently, compact classes receive tighter effective boundaries, while broader classes are not unfairly rejected simply because their latent distribution is intrinsically more spread out. The diagonal formulation was adopted as a deliberate design choice to keep the open-set decision rule lightweight, interpretable, and directly aligned with the class-wise uncertainty estimated for each latent feature dimension. A full-covariance Mahalanobis distance can additionally model correlations among latent dimensions, but it requires estimating and inverting one covariance matrix for each known class. This may introduce numerical difficulties when the covariance matrix is ill-conditioned or when strong correlations among latent dimensions make the inverse unstable. It also increases the statistical burden because a full covariance matrix contains many more parameters than a diagonal variance vector, which can make the estimated distance sensitive to the empirical feature distribution of each class. Therefore, we used the diagonal variance vector to preserve the main class-dependent scale information while avoiding the additional numerical and statistical complexity of full-covariance estimation.</p>
        <p>Unlike a conventional Mahalanobis-distance classifier, UAPD is not used as an independent post-hoc statistical classifier. Instead, it is embedded in the learned prototype space and uses class-wise latent feature dispersion estimated from the trained encoder features to normalize prototype matching. In this sense, UAPD serves as a class-adaptive prototype-matching metric for open-set diagnosis, rather than as a standalone covariance-based classifier.</p>
      </sec>
      <sec id="sec2-5">
        <title>2.5. CACT</title>
        <p>Although UAPD provides a more faithful distance measure, open-set diagnosis still requires a rejection rule to determine whether the nearest known prototype is sufficiently reliable. A single global threshold is often inadequate because different classes may exhibit markedly different latent-space geometry even after feature learning. We introduce CACT, which calibrates one rejection threshold for each known class by using calibration samples from known classes only<sup>[<xref ref-type="bibr" rid="B30">30</xref>]</sup>. Unlike ordinary class-wise thresholding, the thresholds in CACT are obtained from conformal nonconformity scores rather than manually tuned using unknown samples or an auxiliary unknown set. This design is consistent with the target deployment condition, where real unknown faults are not available during threshold calibration.</p>
        <p>The validity of the CACT thresholds relies on the exchangeability assumption of conformal prediction. Specifically, the calibration samples and future deployment samples from the same known class are expected to be generated from the same underlying distribution, or at least to remain approximately exchangeable after preprocessing and feature extraction. Under this condition, the class-specific conformal quantile provides a controlled known-class rejection risk at the prescribed significance level. If substantial distribution shifts occur, such as seasonal variation, sensor drift, component aging, or abrupt changes in operating conditions, the exchangeability assumption may be weakened and the calibrated thresholds may require online updating or recalibration.</p>
        <p>For each calibration sample <italic>z<sub>i</sub></italic><sup>cal</sup> from class <italic>c</italic>, we compute its class-consistent nonconformity score</p>
        <p><disp-formula> <label>(8)</label> <tex-math id="E1"> $$ s_i^{(c)} = d_c\!\left(z_i^{\mathrm{cal}}\right). $$ </tex-math></disp-formula></p>
        <p>The threshold for class <italic>c</italic> is then defined as the upper conformal quantile of the corresponding calibration scores:</p>
        <p><disp-formula> <label>(9)</label> <tex-math id="E1"> $$ \tau_c
=
\mathrm{Quantile}_{1-\alpha}
\left(
\left\{
s_i^{(c)}
\right\}
\right),
\qquad c \in \mathcal{C}, $$ </tex-math></disp-formula></p>
        <p>where <italic>α</italic> denotes the target risk level. In our implementation, <italic>α</italic> = 0.05.</p>
        <p>Given a test feature <italic>z</italic>, we first identify its nearest prototype</p>
        <p><disp-formula> <label>(10)</label> <tex-math id="E1"> $$  c^{*}
=
\arg\min_{c \in \mathcal{C}} d_c(z). $$ </tex-math></disp-formula></p>
        <p>The final open-set decision is then made by comparing the nearest-prototype distance with the threshold of the predicted class:</p>
        <p><disp-formula> <label>(11)</label> <tex-math id="E1"> $$  \hat{y}
=
\begin{cases}
c^{*}, &amp; d_{c^{*}}(z) \le \tau_{c^{*}},\\
\text{Unknown}, &amp; d_{c^{*}}(z) > \tau_{c^{*}}.
\end{cases} $$ </tex-math></disp-formula></p>
        <p>This design avoids tuning on real unknown samples and aligns the acceptance region with class-dependent feature geometry.</p>
      </sec>
      <sec id="sec2-6">
        <title>2.6. Training and inference procedures</title>
        <p>The complete training and inference procedures are summarized in <xref ref-type="fig" rid="alg1">Algorithm 1</xref> and <xref ref-type="fig" rid="alg2">Algorithm 2</xref>. Training consists of two stages: discriminative representation learning on the proper known-class training split, followed by prototype, variance, and threshold estimation. Inference uses only the trained encoder, class prototypes, class-wise variances, and class-adaptive thresholds.</p>
		<fig id="alg1" position="float">
          <label>Algorithm 1</label>
          <caption />
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6037.alg.1.jpg" />
        </fig>
		<fig id="alg2" position="float">
          <label>Algorithm 2</label>
          <caption />
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6037.alg.2.jpg" />
        </fig>
      </sec>
    </sec>
    <sec id="sec3">
      <title>3. DATASET DESCRIPTION AND EXPERIMENTAL SETUP</title>
      <sec id="sec3-1">
        <title>3.1. Dataset description</title>
        <p>The experiments were conducted on real-world multichannel monitoring signals collected from SIL-IoTs systems. As shown in <xref ref-type="fig" rid="fig2">Figure 2</xref>, the data used in this study were collected from three field-deployed SIL-IoTs devices in Chuzhou, Anhui Province, China, over a two-month operating period. Following the acquisition protocol of the solar insecticidal lamp fault (SILF) dataset, a raw acquisition record refers to the monitoring segment retained during one fault-diagnosis execution of an SIL-IoTs node. The sensor readings were collected at approximately 0.2 Hz, and each raw acquisition record covered 5 min of device operation. The fault taxonomy is summarized in <xref ref-type="table" rid="t1">Table 1</xref>, where the fault-free state and eight fault types are denoted by C0-C8.</p>
        <fig id="fig2" position="float">
          <label>Figure 2</label>
          <caption>
            <p>Real-world SIL-IoTs device used for field data collection in Chuzhou, Anhui Province, China. The SIL-IoT node, electronic box, and Raspberry Pi photographs show the actual deployed device, electrical enclosure, and embedded computing unit, respectively, and were taken by the authors. SIL-IoTs: Solar insecticidal lamp Internet of Things.</p>
          </caption>
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6037.fig.2.jpg" />
        </fig>
        <table-wrap id="t1">
          <label>Table 1</label>
          <caption>
            <p>Taxonomy of fault types and their corresponding class identifiers in SIL-IoTs</p>
          </caption>
          <table frame="hsides" rules="groups">
            <thead>
              <tr>
                <td style="border-bottom:1;">
                  <bold>Fault name</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Identifier</bold>
                </td>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td>Fault-free</td>
                <td>C0</td>
              </tr>
              <tr>
                <td>Lure lamp OC</td>
                <td>C1</td>
              </tr>
              <tr>
                <td>Metal mesh OC</td>
                <td>C2</td>
              </tr>
              <tr>
                <td>Solar panel OC</td>
                <td>C3</td>
              </tr>
              <tr>
                <td>Mismatch between light-intensity value and solar panel current value</td>
                <td>C4</td>
              </tr>
              <tr>
                <td>Metal mesh current value abnormal</td>
                <td>C5</td>
              </tr>
              <tr>
                <td>Metal mesh voltage value abnormal</td>
                <td>C6</td>
              </tr>
              <tr>
                <td>Lure lamp current value abnormal</td>
                <td>C7</td>
              </tr>
              <tr>
                <td>Lure lamp voltage value abnormal</td>
                <td>C8</td>
              </tr>
            </tbody>
          </table>
          <table-wrap-foot>
            <fn>
              <p>SIL-IoTs: Solar insecticidal lamp Internet of Things.</p>
            </fn>
          </table-wrap-foot>
        </table-wrap>
        <p>Each sample was represented as a temporal window of length 16 with an input dimension of 13. The 13 input features, denoted as Feature 0 to Feature 12, describe the environmental, electrical, and operating states of SIL-IoTs systems, as summarized in <xref ref-type="table" rid="t2">Table 2</xref>.</p>
        <table-wrap id="t2">
          <label>Table 2</label>
          <caption>
            <p>Input features used in the experiments</p>
          </caption>
          <table frame="hsides" rules="groups">
            <thead>
              <tr>
                <td style="border-bottom:1;">
                  <bold>Description</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Feature</bold>
                </td>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td>Ambient air temperature</td>
                <td>Feature 0</td>
              </tr>
              <tr>
                <td>Ambient relative humidity</td>
                <td>Feature 1</td>
              </tr>
              <tr>
                <td>Temperature inside the electronic control box</td>
                <td>Feature 2</td>
              </tr>
              <tr>
                <td>Voltage of the metal mesh</td>
                <td>Feature 3</td>
              </tr>
              <tr>
                <td>Current of the metal mesh</td>
                <td>Feature 4</td>
              </tr>
              <tr>
                <td>Voltage of the lure lamp</td>
                <td>Feature 5</td>
              </tr>
              <tr>
                <td>Current of the lure lamp</td>
                <td>Feature 6</td>
              </tr>
              <tr>
                <td>Voltage of the solar panel</td>
                <td>Feature 7</td>
              </tr>
              <tr>
                <td>Current of the solar panel</td>
                <td>Feature 8</td>
              </tr>
              <tr>
                <td>Measured light intensity</td>
                <td>Feature 9</td>
              </tr>
              <tr>
                <td>Voltage-related count feature</td>
                <td>Feature 10</td>
              </tr>
              <tr>
                <td>Sound-related count feature</td>
                <td>Feature 11</td>
              </tr>
              <tr>
                <td>Voltage output of the rainfall sensor</td>
                <td>Feature 12</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>The raw monitoring records were first divided into training, validation, and test subsets at a ratio of 7:2:1 before sliding-window segmentation. The sliding-window operation was then performed independently within each subset using a window length of 16 and a stride of 4. After preprocessing, 500 window samples were retained for each fault category, resulting in 4,500 window samples. Therefore, no obvious sample imbalance was present across the nine categories. For each known class in an open-set task, 350, 100, and 50 window samples were used for training, validation, and testing, respectively. Unknown-class samples were excluded from training and were used only in the validation and test stages. Because the experimental subset was generated and balanced after sliding-window segmentation, the class-wise experimental scale is reported at the window-sample level.</p>
        <p>This partition protocol was used to reduce the risk of temporal leakage caused by overlapping windows. Specifically, the generated windows were not randomly mixed across the training, validation, and test subsets. Normalization parameters were estimated only from the training data and then applied unchanged to the validation and test data. The training and test data were collected from different SIL-IoTs devices and operating conditions, while the acquisition dates were matched to reduce date-related bias.</p>
        <p>To evaluate the proposed method under realistic open-set conditions, only known fault classes were used during training. Unknown fault classes were excluded from model fitting and introduced only during validation and testing. As shown in <xref ref-type="fig" rid="fig3">Figure 3</xref>, the inter-class distances were highly non-uniform, and several class pairs were substantially closer than others. The class-center distance map in <xref ref-type="fig" rid="fig3">Figure 3A</xref> was used only to guide the construction of the five open-set task partitions and was not used for model training, model selection, prototype estimation, or threshold tuning. Based on this distance distribution, five open-set diagnosis tasks were constructed by varying the partition between known and unknown classes, as summarized in <xref ref-type="fig" rid="fig3">Figure 3B</xref> and <xref ref-type="table" rid="t3">Table 3</xref>. Following the revised task order, Task 1 represents a relatively simple open-set setting. Task 2 and Task 3 introduce more ambiguous unknown-class combinations. Task 4 increases the number of unknown classes, while Task 5 is treated as the most challenging setting because its unknown set contains multiple lamp- and metal-mesh-related current or voltage faults that are close to several known classes in the distance map.</p>
        <fig id="fig3" position="float">
          <label>Figure 3</label>
          <caption>
            <p>Class-center distance and covariance condition analysis. (A) Normalized class-center Euclidean distance map used to guide open-set task construction. Darker cells indicate smaller inter-class distances, and red boxes highlight closely spaced class pairs; (B) Class-wise full-covariance condition numbers estimated from latent features in the proper training split. Larger values indicate greater potential numerical instability when applying full-covariance Mahalanobis distance.</p>
          </caption>
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6037.fig.3.jpg" />
        </fig>
        <table-wrap id="t3">
          <label>Table 3</label>
          <caption>
            <p>Definition of the five open-set diagnosis tasks</p>
          </caption>
          <table frame="hsides" rules="groups">
            <thead>
              <tr>
                <td style="border-bottom:1;">
                  <bold>Task</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Known classes</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Unknown classes</bold>
                </td>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td>Task 1</td>
                <td>C0 C2 C3 C4 C5 C8</td>
                <td>C1 C6 C7</td>
              </tr>
              <tr>
                <td>Task 2</td>
                <td>C1 C4 C5 C6 C7 C8</td>
                <td>C0 C2 C3</td>
              </tr>
              <tr>
                <td>Task 3</td>
                <td>C0 C2 C3 C4 C6 C8</td>
                <td>C1 C5 C7</td>
              </tr>
              <tr>
                <td>Task 4</td>
                <td>C0 C2 C3 C4 C5</td>
                <td>C1 C6 C7 C8</td>
              </tr>
              <tr>
                <td>Task 5</td>
                <td>C0 C2 C3 C4 C8</td>
                <td>C1 C5 C6 C7</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>In the implemented pipeline, the known-class training set was further divided into a proper training split and a calibration split. The proper training split was used for representation learning, prototype estimation, and class-wise variance estimation. The calibration split was used only for class-adaptive threshold estimation. No samples from the unknown classes were used for model fitting, prototype construction, variance estimation, threshold calibration, or hyperparameter selection. The same training, validation, and test protocol was applied to all compared methods in every task to ensure a fair comparison. This setup is consistent with the intended deployment setting, in which unknown samples are unavailable during threshold tuning.</p>
      </sec>
      <sec id="sec3-2">
        <title>3.2. Experimental setup</title>
        <sec id="sec3-2-1">
          <title>3.2.1. Implementation details</title>
          <p>The proposed framework is implemented using the prototype-based architecture described in Section 2. Specifically, the temporal encoder consists of three stacked 1D convolutional layers with channel dimensions of 64, 128, and 128, respectively. Each convolutional layer is followed by batch normalization and GELU activation, and dropout with a rate of 0.15 is used for regularization. Adaptive average pooling is then applied to aggregate temporal information, and a linear projection layer maps the pooled representation into a 64-dimensional latent space.</p>
          <p>During training, the encoder is jointly optimized with a linear classifier head over the known classes. The training objective combines cross-entropy loss, center loss, and supervised contrastive loss, with weights of 0.03 and 0.10 assigned to the center-loss and supervised-contrastive terms, respectively. The model is trained for 80 epochs using AdamW with a batch size of 64, a learning rate of 10<sup>-3</sup>, and a weight decay of 10<sup>-4</sup>. A cosine annealing learning-rate scheduler is employed throughout training.</p>
          <p>For open-set inference, one prototype is constructed for each known class by averaging the latent features of the proper training samples. The class-wise feature variance is then estimated from the same split and used to define the UAPD. The calibration subset occupies 20% of the known training data and is used only to estimate class-adaptive conformal thresholds with a risk level of <italic>α</italic> = 0.05. It is not used for representation learning, prototype estimation, hyperparameter selection, or model selection.</p>
          <p>All experiments are implemented in Python 3.11 and PyTorch 2.7.1 with CUDA 12.8 on an NVIDIA RTX 5070 GPU. Each experiment is repeated with five different random seeds (42, 123, 2024, 3407, 2026), and all reported results are presented as mean ± standard deviation.</p>
        </sec>
        <sec id="sec3-2-2">
          <title>3.2.2. Evaluation metrics</title>
          <p>To evaluate open-set diagnosis performance, four primary metrics are adopted, namely OS, OS′, UNK, and H-score<sup>[<xref ref-type="bibr" rid="B31">31</xref>]</sup>. Specifically, OS denotes the overall classification accuracy over all test samples, OS′ denotes the classification accuracy over known-class samples only, and UNK represents the detection rate of unknown fault samples:</p>
          <p><disp-formula> <label>(12)</label> <tex-math id="E1"> $$  \begin{aligned}
\mathrm{OS} &amp;= \frac{C}{N},\\
\mathrm{OS}' &amp;= \frac{C_K}{N_K},\\
\mathrm{UNK} &amp;= \frac{C_U}{N_U},
\end{aligned} $$ </tex-math></disp-formula></p>
          <p>where <italic>C</italic> and <italic>N</italic> denote the numbers of correctly classified and total test samples, respectively; <italic>C<sub>K</sub></italic> and <italic>N<sub>K</sub></italic> denote the numbers of correctly classified and total known-class samples; and <italic>C<sub>U</sub></italic> and <italic>N<sub>U</sub></italic> denote the numbers of correctly rejected and total unknown samples.</p>
          <p>The H-score is defined as the harmonic mean of OS′ and UNK:</p>
          <p><disp-formula> <label>(13)</label> <tex-math id="E1"> $$  \mathrm{H\text{-}score}=
\frac{2\,\mathrm{OS}'\,\mathrm{UNK}}
{\mathrm{OS}'+\mathrm{UNK}}. $$ </tex-math></disp-formula></p>
          <p>A higher H-score indicates a better balance between known-fault recognition and unknown-fault rejection.</p>
        </sec>
        <sec id="sec3-2-3">
          <title>3.2.3. Comparative methods</title>
          <p>To assess the effectiveness of the proposed framework, we compare it against representative open-set recognition and open-set fault diagnosis methods under the same task definitions, preprocessing pipeline, data partitions, and evaluation protocol. For a fair comparison, all comparative methods are implemented with the same 1D convolutional encoder, which consists of three one-dimensional convolutional blocks followed by adaptive average pooling and a linear projection layer. Therefore, the performance differences among these comparative methods mainly reflect their open-set scoring and rejection mechanisms rather than differences in the feature-extraction backbone.</p>
          <p>• <bold>OpenMax</bold><sup>[<xref ref-type="bibr" rid="B11">11</xref>]</sup>: a classical open-set recognition baseline that models the tail distribution of known-class activation distances and adjusts prediction scores to estimate unknown probabilities.</p>
          <p>• <bold>ARPL</bold><sup>[<xref ref-type="bibr" rid="B12">12</xref>]</sup>: an adversarial reciprocal-point learning method that enhances open-set separation by jointly learning discriminative features and class-reciprocal representations.</p>
          <p>• <bold>OpenGAN</bold><sup>[<xref ref-type="bibr" rid="B13">13</xref>]</sup>: an open-set adversarial learning framework that uses generative adversarial training to distinguish known samples from potential unknown samples.</p>
          <p>• <bold>ViM</bold><sup>[<xref ref-type="bibr" rid="B14">14</xref>]</sup>: a post hoc open-set recognition method that combines feature-space residual information and logit structure to estimate unknownness.</p>
          <p>• <bold>COCL</bold><sup>[<xref ref-type="bibr" rid="B15">15</xref>]</sup>: a calibrated outlier-class learning method that introduces an auxiliary outlier class to improve the separation between known and outlier samples.</p>
          <p>• <bold>DCC</bold><sup>[<xref ref-type="bibr" rid="B16">16</xref>]</sup>: a recent prototype-learning-based open-set fault diagnosis method that jointly uses prototypical points and reciprocal points to reduce empirical classification risk and open-space risk.</p>
          <p>• <bold>NNGM</bold><sup>[<xref ref-type="bibr" rid="B17">17</xref>]</sup>: a nearest-neighbor Gaussian modeling baseline that combines local neighborhood distance and class-conditional Gaussian feature modeling to estimate the unknownness score in the learned feature space.</p>
          <p>• <bold>EAC</bold><sup>[<xref ref-type="bibr" rid="B18">18</xref>]</sup>: an evidential abstention classifier that quantifies prediction uncertainty and rejects samples with insufficient evidence for known-class assignment.</p>
          <p>For all comparative methods, the rejection thresholds are determined using only the known-class calibration set, without using real unknown samples. The main hyperparameters, including the learning rate, batch size, number of training epochs, latent dimension, calibration ratio, and significance level, are kept consistent across methods unless a method-specific parameter is required. Method-specific hyperparameters are set according to the corresponding original methods or kept at the default settings recommended in their implementations. The implementation details of the comparative methods are summarized in <xref ref-type="table" rid="t4">Table 4</xref>.</p>
          <table-wrap id="t4">
            <label>Table 4</label>
            <caption>
              <p>Implementation details of the comparative methods, including backbone, rejection score, threshold data, and main hyperparameters</p>
            </caption>
            <table frame="hsides" rules="groups">
              <thead>
                <tr>
                  <td style="border-bottom:1;">
                    <bold>Method</bold>
                  </td>
                  <td style="border-bottom:1;">
                    <bold>Backbone</bold>
                  </td>
                  <td style="border-bottom:1;">
                    <bold>Rejection score/threshold</bold>
                  </td>
                  <td style="border-bottom:1;">
                    <bold>Threshold data</bold>
                  </td>
                  <td style="border-bottom:1;">
                    <bold>Main hyperparameters</bold>
                  </td>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td>OpenGAN</td>
                  <td>1D-CNN encoder</td>
                  <td>Unknown/outlier logit score<break />Conformal quantile threshold</td>
                  <td>Known-class only</td>
                  <td>Latent dimension = 64<break />Learning rate = 10<sup>-3</sup><break />Weight decay = 10<sup>-4</sup><break /><italic>α</italic> = 0.05</td>
                </tr>
                <tr>
                  <td>EAC</td>
                  <td>1D-CNN encoder</td>
                  <td>Evidential uncertainty score<break />Conformal quantile threshold</td>
                  <td>Known-class only</td>
                  <td>Evidence L1 weight = 0.001<break />Pseudo-evidence weight = 0.05<break />KL annealing epochs = 10</td>
                </tr>
                <tr>
                  <td>COCL</td>
                  <td>1D-CNN encoder</td>
                  <td>Calibrated outlier-class score<break />Conformal quantile threshold</td>
                  <td>Known-class only</td>
                  <td>Outlier weight = 0.40<break />Known margin = 1.0<break />Margin weight = 0.10</td>
                </tr>
                <tr>
                  <td>OpenMax</td>
                  <td>1D-CNN encoder</td>
                  <td>Weibull-calibrated OpenMax score<break />Conformal quantile threshold</td>
                  <td>Known-class only</td>
                  <td>Tail size = 20<break />Alpha rank = 3<break /><italic>α</italic> = 0.05<break />Calibration = 20%<break />Latent dimension = 64</td>
                </tr>
                <tr>
                  <td>NNGM</td>
                  <td>1D-CNN encoder</td>
                  <td>Nearest-neighbor score<break />Gaussian feature-space score<break />Conformal quantile threshold</td>
                  <td>Known-class only</td>
                  <td>Latent dimension = 64<break />Supervised contrastive weight = 0.10<break /><italic>α</italic> = 0.05</td>
                </tr>
                <tr>
                  <td>ARPL</td>
                  <td>1D-CNN encoder</td>
                  <td>Reciprocal-point distance score<break />Conformal quantile threshold</td>
                  <td>Known-class only</td>
                  <td>Reciprocal margin = 4.0<break />Compact weight = 0.01<break />Reciprocal weight = 0.10<break /><italic>α</italic> = 0.05</td>
                </tr>
                <tr>
                  <td>ViM</td>
                  <td>1D-CNN encoder</td>
                  <td>Virtual-logit score<break />Feature-residual score<break />Conformal quantile threshold</td>
                  <td>Known-class only</td>
                  <td>Explained variance ratio = 0.95<break /><italic>α</italic> = 0.05<break />Calibration = 20%</td>
                </tr>
                <tr>
                  <td>DCC</td>
                  <td>1D-CNN encoder</td>
                  <td>Prototype distance score<break />Reciprocal-point distance score<break />Conformal quantile threshold</td>
                  <td>Known-class only</td>
                  <td>Prototype weight = 0.01<break />Reciprocal weight = 0.10<break />Prototype margin = 2.0<break />Reciprocal margin = 4.0</td>
                </tr>
                <tr>
                  <td>Proposed</td>
                  <td>1D-CNN encoder</td>
                  <td>UAPD-based open-set score<break />Known-only conformal threshold</td>
                  <td>Known-class only</td>
                  <td>
                    <italic>α</italic> = 0.05<break />Calibration = 20%<break />Latent dimension = 64<break />Dropout = 0.15</td>
                </tr>
              </tbody>
            </table>
            <table-wrap-foot>
              <fn>
                <p>1D-CNN: One-dimensional convolutional neural network; KL: Kullback–Leibler divergence; UAPD: uncertainty-aware prototype distance.</p>
              </fn>
            </table-wrap-foot>
          </table-wrap>
        </sec>
      </sec>
    </sec>
    <sec id="sec4">
      <title>4. RESULTS</title>
      <sec id="sec4-1">
        <title>4.1. Ablation experiment</title>
        <p>As summarized in <xref ref-type="table" rid="t5">Table 5</xref>, a key question is whether the gain of the full model arises from the combined action of UAPD and CACT, rather than from a single dominant component. Across the five tasks, the complete model achieved the highest OS in Task 1 to Task 4, reaching 0.9689, 0.9333, 0.8849, and 0.8618, respectively, and obtained an OS of 0.8524 in Task 5. These results indicate that enabling both modules generally improves overall open-set performance, although the advantage is not uniform across all task settings. The full model also produced the highest H-score in Task 1 and Task 2, and remained competitive in Task 3 to Task 5, supporting the view that the joint design improves the overall balance between known-class recognition and unknown-class rejection. A more detailed comparison suggests that the two modules play distinct roles. Removing UAPD caused the most pronounced degradation in Task 2, where OS, UNK, and H-score dropped from 0.9333, 0.8960, and 0.9225 to 0.8493, 0.6013, and 0.7435, despite an increase in OS′ to 0.9733. This pattern is consistent with a shift towards known-class bias at the expense of open-set robustness. By contrast, removing CACT led to higher UNK and H-score in Task 3 and Task 5, and also produced a higher OS in Task 5, indicating that CACT mainly adjusts the trade-off between known-class recognition and unknown-class rejection rather than uniformly maximizing every metric in every task. Notably, UNK was saturated in Task 1 and Task 4 across all variants, which limits mechanistic interpretation in these relatively easy settings. Together, these ablations show that the full configuration provides a strong and balanced operating point overall, while also indicating that the effect of CACT on unknown-class discrimination remains task-dependent.</p>
        <table-wrap id="t5">
          <label>Table 5</label>
          <caption>
            <p>Ablation study across five tasks</p>
          </caption>
          <table frame="hsides" rules="groups">
            <thead>
              <tr>
                <td style="border-bottom:1;">
                  <bold>Task</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Method</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>UAPD</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>CACT</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>OS</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>OS′</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>UNK</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>H-score</bold>
                </td>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td rowspan="4">Task 1</td>
                <td>Baseline</td>
                <td />
                <td />
                <td>0.9573 ± 0.0043</td>
                <td>0.9360 ± 0.0064</td>
                <td>1.0000 ± 0.0000</td>
                <td>0.9669 ± 0.0034</td>
              </tr>
              <tr>
                <td>w/o UAPD</td>
                <td />
                <td>√</td>
                <td>0.9609 ± 0.0060</td>
                <td>0.9413 ± 0.0090</td>
                <td>1.0000 ± 0.0000</td>
                <td>0.9698 ± 0.0048</td>
              </tr>
              <tr>
                <td>w/o CACT</td>
                <td>√</td>
                <td />
                <td>0.9542 ± 0.0051</td>
                <td>0.9313 ± 0.0077</td>
                <td>1.0000 ± 0.0000</td>
                <td>0.9644 ± 0.0041</td>
              </tr>
              <tr>
                <td>
                  <bold>Proposed</bold>
                </td>
                <td>√</td>
                <td>√</td>
                <td>
                  <bold>0.9689</bold> ± 0.0082</td>
                <td>
                  <bold>0.9533</bold> ± 0.0122</td>
                <td>
                  <bold>1.0000</bold> ± 0.0000</td>
                <td>
                  <bold>0.9761</bold> ± 0.0065</td>
              </tr>
              <tr>
                <td rowspan="4">Task 2</td>
                <td>Baseline</td>
                <td />
                <td />
                <td>0.9293 ± 0.0091</td>
                <td>0.9533 ± 0.0211</td>
                <td>0.8813 ± 0.0498</td>
                <td>0.9149 ± 0.0197</td>
              </tr>
              <tr>
                <td>w/o UAPD</td>
                <td />
                <td>√</td>
                <td>0.8493 ± 0.0826</td>
                <td>0.9733 ± 0.0041</td>
                <td>0.6013 ± 0.2487</td>
                <td>0.7435 ± 0.2389</td>
              </tr>
              <tr>
                <td>w/o CACT</td>
                <td>√</td>
                <td />
                <td>0.9320 ± 0.0090</td>
                <td>0.9580 ± 0.0132</td>
                <td>0.8800 ± 0.0490</td>
                <td>0.9165 ± 0.0211</td>
              </tr>
              <tr>
                <td>
                  <bold>Proposed</bold>
                </td>
                <td>√</td>
                <td>√</td>
                <td>
                  <bold>0.9333</bold> ± 0.0093</td>
                <td>
                  <bold>0.9520</bold> ± 0.0198</td>
                <td>
                  <bold>0.8960</bold> ± 0.0361</td>
                <td>
                  <bold>0.9225</bold> ± 0.0142</td>
              </tr>
              <tr>
                <td rowspan="4">Task 3</td>
                <td>Baseline</td>
                <td />
                <td />
                <td>0.8507 ± 0.0234</td>
                <td>0.9493 ± 0.0060</td>
                <td>0.6533 ± 0.0682</td>
                <td>0.7724 ± 0.0464</td>
              </tr>
              <tr>
                <td>w/o UAPD</td>
                <td />
                <td>√</td>
                <td>0.8369 ± 0.0213</td>
                <td>0.9360 ± 0.0138</td>
                <td>0.6387 ± 0.0635</td>
                <td>0.7576 ± 0.0461</td>
              </tr>
              <tr>
                <td>w/o CACT</td>
                <td>√</td>
                <td />
                <td>0.8836 ± 0.0297</td>
                <td>0.9027 ± 0.0119</td>
                <td>0.8453 ± 0.0874</td>
                <td>0.8711 ± 0.0469</td>
              </tr>
              <tr>
                <td>
                  <bold>Proposed</bold>
                </td>
                <td>√</td>
                <td>√</td>
                <td>
                  <bold>0.8849</bold> ± 0.0079</td>
                <td>
                  <bold>0.9387</bold> ± 0.0084</td>
                <td>
                  <bold>0.7773</bold> ± 0.0342</td>
                <td>
                  <bold>0.8500</bold> ± 0.0175</td>
              </tr>
              <tr>
                <td rowspan="4">Task 4</td>
                <td>Baseline</td>
                <td />
                <td />
                <td>0.8600 ± 0.0061</td>
                <td>0.9480 ± 0.0110</td>
                <td>0.7500 ± 0.0000</td>
                <td>0.8374 ± 0.0043</td>
              </tr>
              <tr>
                <td>w/o UAPD</td>
                <td />
                <td>√</td>
                <td>0.8600 ± 0.0042</td>
                <td>0.9480 ± 0.0075</td>
                <td>0.7500 ± 0.0000</td>
                <td>0.8374 ± 0.0029</td>
              </tr>
              <tr>
                <td>w/o CACT</td>
                <td>√</td>
                <td />
                <td>0.8596 ± 0.0058</td>
                <td>0.9472 ± 0.0104</td>
                <td>0.7500 ± 0.0000</td>
                <td>0.8371 ± 0.0040</td>
              </tr>
              <tr>
                <td>
                  <bold>Proposed</bold>
                </td>
                <td>√</td>
                <td>√</td>
                <td>
                  <bold>0.8618</bold> ± 0.0064</td>
                <td>
                  <bold>0.9512</bold> ± 0.0115</td>
                <td>
                  <bold>0.7500</bold> ± 0.0000</td>
                <td>
                  <bold>0.8387</bold> ± 0.0045</td>
              </tr>
              <tr>
                <td rowspan="4">Task 5</td>
                <td>Baseline</td>
                <td />
                <td />
                <td>0.8404 ± 0.0062</td>
                <td>0.8992 ± 0.0158</td>
                <td>0.7670 ± 0.0152</td>
                <td>0.8277 ± 0.0062</td>
              </tr>
              <tr>
                <td>w/o UAPD</td>
                <td />
                <td>√</td>
                <td>0.8413 ± 0.0051</td>
                <td>0.9120 ± 0.0063</td>
                <td>0.7530 ± 0.0045</td>
                <td>0.8249 ± 0.0049</td>
              </tr>
              <tr>
                <td>w/o CACT</td>
                <td>√</td>
                <td />
                <td>0.8627 ± 0.0197</td>
                <td>0.9264 ± 0.0067</td>
                <td>0.7830 ± 0.0373</td>
                <td>0.8484 ± 0.0240</td>
              </tr>
              <tr>
                <td>
                  <bold>Proposed</bold>
                </td>
                <td>√</td>
                <td>√</td>
                <td>
                  <bold>0.8524</bold> ± 0.0026</td>
                <td>
                  <bold>0.9344</bold> ± 0.0046</td>
                <td>
                  <bold>0.7500</bold> ± 0.0000</td>
                <td>
                  <bold>0.8321</bold> ± 0.0018</td>
              </tr>
            </tbody>
          </table>
          <table-wrap-foot>
            <fn>
              <p>Boldface highlights the results of the proposed full model, with both UAPD and CACT enabled, to facilitate comparison with the baseline and ablated variants. It does not indicate the best value for every metric. UAPD: Uncertainty-aware prototype distance; CACT: class-adaptive conformal thresholding.</p>
            </fn>
          </table-wrap-foot>
        </table-wrap>
      </sec>
      <sec id="sec4-2">
        <title>4.2. Hyperparameter sensitivity analysis</title>
        <p>To examine the robustness of the selected hyperparameters, we further conducted sensitivity analysis for the main parameters of the proposed framework, including the CACT significance level <italic>α</italic>, the calibration split, the center-loss weight <italic>λ<sub>c</sub></italic>, the supervised-contrastive-loss weight <italic>λ<sub>sc</sub></italic>, and the numerical stabilizer <italic>ϵ</italic> in UAPD. The dropout rate was kept at 0.15 as an encoder regularization setting, while the sensitivity analysis focuses on the parameters that directly affect prototype compactness, variance normalization, and conformal rejection. The results are summarized in <xref ref-type="table" rid="t6">Table 6</xref>, where the default settings used in the proposed method are highlighted in bold.</p>
        <table-wrap id="t6">
          <label>Table 6</label>
          <caption>
            <p>Sensitivity analysis of the main hyperparameters across five open-set diagnosis tasks</p>
          </caption>
          <table frame="hsides" rules="groups">
            <thead>
              <tr>
                <td rowspan="2">
                  <bold>Parameter</bold>
                </td>
                <td rowspan="2">
                  <bold>Value</bold>
                </td>
                <td colspan="2">
                  <bold>Task 1</bold>
                </td>
                <td colspan="2">
                  <bold>Task 2</bold>
                </td>
                <td colspan="2">
                  <bold>Task 3</bold>
                </td>
                <td colspan="2">
                  <bold>Task 4</bold>
                </td>
                <td colspan="2">
                  <bold>Task 5</bold>
                </td>
              </tr>
              <tr>
                <td style="border-bottom:1;">
                  <bold>OS</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>H-score</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>OS</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>H-score</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>OS</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>H-score</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>OS</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>H-score</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>OS</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>H-score</bold>
                </td>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td rowspan="4">
                  <italic>α</italic>
                </td>
                <td>0.01</td>
                <td>0.8964 ± 0.1474</td>
                <td>0.7766 ± 0.4342</td>
                <td>0.7347 ± 0.0905</td>
                <td>0.3082 ± 0.3235</td>
                <td>0.7693 ± 0.0890</td>
                <td>0.6083 ± 0.2975</td>
                <td>0.7640 ± 0.1507</td>
                <td>0.6531 ± 0.3652</td>
                <td>0.8253 ± 0.0092</td>
                <td>0.8121 ± 0.0070</td>
              </tr>
              <tr>
                <td>0.03</td>
                <td>0.9378 ± 0.0141</td>
                <td>0.9372 ± 0.0113</td>
                <td>0.7347 ± 0.0905</td>
                <td>0.3082 ± 0.3235</td>
                <td>0.7693 ± 0.0890</td>
                <td>0.6083 ± 0.2975</td>
                <td>0.7640 ± 0.1507</td>
                <td>0.6531 ± 0.3652</td>
                <td>0.8253 ± 0.0092</td>
                <td>0.8121 ± 0.0070</td>
              </tr>
              <tr>
                <td>
                  <bold>0.05</bold>
                </td>
                <td>
                  <bold>0.9689 ± 0.0082</bold>
                </td>
                <td>
                  <bold>0.9761 ± 0.0065</bold>
                </td>
                <td>
                  <bold>0.9333 ± 0.0093</bold>
                </td>
                <td>
                  <bold>0.9225 ± 0.0142</bold>
                </td>
                <td>
                  <bold>0.8849 ± 0.0079</bold>
                </td>
                <td>
                  <bold>0.8500 ± 0.0175</bold>
                </td>
                <td>
                  <bold>0.8618 ± 0.0064</bold>
                </td>
                <td>
                  <bold>0.8387 ± 0.0045</bold>
                </td>
                <td>
                  <bold>0.8524 ± 0.0026</bold>
                </td>
                <td>
                  <bold>0.8321 ± 0.0018</bold>
                </td>
              </tr>
              <tr>
                <td>0.10</td>
                <td>0.9227 ± 0.0079</td>
                <td>0.9384 ± 0.0067</td>
                <td>0.8898 ± 0.0316</td>
                <td>0.8554 ± 0.0623</td>
                <td>0.8382 ± 0.0091</td>
                <td>0.8076 ± 0.0225</td>
                <td>0.8111 ± 0.0152</td>
                <td>0.8011 ± 0.0117</td>
                <td>0.8191 ± 0.0177</td>
                <td>0.8107 ± 0.0197</td>
              </tr>
              <tr>
                <td rowspan="4">Calibration</td>
                <td>10%</td>
                <td>0.9338 ± 0.0062</td>
                <td>0.9477 ± 0.0051</td>
                <td>0.7271 ± 0.0645</td>
                <td>0.3101 ± 0.2810</td>
                <td>0.8373 ± 0.0312</td>
                <td>0.7911 ± 0.0467</td>
                <td>0.7760 ± 0.1570</td>
                <td>0.6620 ± 0.3701</td>
                <td>0.8187 ± 0.0060</td>
                <td>0.8097 ± 0.0092</td>
              </tr>
              <tr>
                <td>15%</td>
                <td>0.9387 ± 0.0088</td>
                <td>0.9517 ± 0.0072</td>
                <td>0.7244 ± 0.0641</td>
                <td>0.2917 ± 0.2835</td>
                <td>0.7924 ± 0.0406</td>
                <td>0.7176 ± 0.1116</td>
                <td>0.7680 ± 0.1558</td>
                <td>0.6561 ± 0.3673</td>
                <td>0.8280 ± 0.0066</td>
                <td>0.8142 ± 0.0049</td>
              </tr>
              <tr>
                <td>
                  <bold>20%</bold>
                </td>
                <td>
                  <bold>0.9689 ± 0.0082</bold>
                </td>
                <td>
                  <bold>0.9761 ± 0.0065</bold>
                </td>
                <td>
                  <bold>0.9333 ± 0.0093</bold>
                </td>
                <td>
                  <bold>0.9225 ± 0.0142</bold>
                </td>
                <td>
                  <bold>0.8849 ± 0.0079</bold>
                </td>
                <td>
                  <bold>0.8500 ± 0.0175</bold>
                </td>
                <td>
                  <bold>0.8618 ± 0.0064</bold>
                </td>
                <td>
                  <bold>0.8387 ± 0.0045</bold>
                </td>
                <td>
                  <bold>0.8524 ± 0.0026</bold>
                </td>
                <td>
                  <bold>0.8321 ± 0.0018</bold>
                </td>
              </tr>
              <tr>
                <td>30%</td>
                <td>0.9271 ± 0.0082</td>
                <td>0.9421 ± 0.0069</td>
                <td>0.8391 ± 0.0388</td>
                <td>0.7134 ± 0.0904</td>
                <td>0.8236 ± 0.0174</td>
                <td>0.7698 ± 0.0171</td>
                <td>0.8422 ± 0.0057</td>
                <td>0.8247 ± 0.0041</td>
                <td>0.8133 ± 0.0063</td>
                <td>0.8029 ± 0.0049</td>
              </tr>
              <tr>
                <td rowspan="4">
                  <italic>λ<sub>c</sub></italic>
                </td>
                <td>0</td>
                <td>0.7831 ± 0.1785</td>
                <td>0.5583 ± 0.5097</td>
                <td>0.7462 ± 0.0546</td>
                <td>0.4160 ± 0.2110</td>
                <td>0.8116 ± 0.0150</td>
                <td>0.7523 ± 0.0196</td>
                <td>0.6489 ± 0.1797</td>
                <td>0.3308 ± 0.4530</td>
                <td>0.8098 ± 0.0119</td>
                <td>0.8001 ± 0.0093</td>
              </tr>
              <tr>
                <td>0.01</td>
                <td>0.9204 ± 0.0250</td>
                <td>0.9362 ± 0.0215</td>
                <td>0.7516 ± 0.0825</td>
                <td>0.4134 ± 0.2735</td>
                <td>0.8098 ± 0.0422</td>
                <td>0.7182 ± 0.1126</td>
                <td>0.7089 ± 0.1848</td>
                <td>0.4955 ± 0.4523</td>
                <td>0.8147 ± 0.0095</td>
                <td>0.8039 ± 0.0074</td>
              </tr>
              <tr>
                <td>
                  <bold>0.03</bold>
                </td>
                <td>
                  <bold>0.9689 ± 0.0082</bold>
                </td>
                <td>
                  <bold>0.9761 ± 0.0065</bold>
                </td>
                <td>
                  <bold>0.9333 ± 0.0093</bold>
                </td>
                <td>
                  <bold>0.9225 ± 0.0142</bold>
                </td>
                <td>
                  <bold>0.8849 ± 0.0079</bold>
                </td>
                <td>
                  <bold>0.8500 ± 0.0175</bold>
                </td>
                <td>
                  <bold>0.8618 ± 0.0064</bold>
                </td>
                <td>
                  <bold>0.8387 ± 0.0045</bold>
                </td>
                <td>
                  <bold>0.8524 ± 0.0026</bold>
                </td>
                <td>
                  <bold>0.8321 ± 0.0018</bold>
                </td>
              </tr>
              <tr>
                <td>0.10</td>
                <td>0.9373 ± 0.0062</td>
                <td>0.9507 ± 0.0051</td>
                <td>0.7338 ± 0.0694</td>
                <td>0.3444 ± 0.2790</td>
                <td>0.8240 ± 0.0123</td>
                <td>0.7622 ± 0.0109</td>
                <td>0.8320 ± 0.0185</td>
                <td>0.8170 ± 0.0141</td>
                <td>0.8280 ± 0.0128</td>
                <td>0.8169 ± 0.0154</td>
              </tr>
              <tr>
                <td rowspan="4">
                  <italic>λ<sub>sc</sub></italic>
                </td>
                <td>0</td>
                <td>0.9231 ± 0.0314</td>
                <td>0.9383 ± 0.0272</td>
                <td>0.7524 ± 0.0876</td>
                <td>0.4053 ± 0.2977</td>
                <td>0.7889 ± 0.0331</td>
                <td>0.6890 ± 0.0921</td>
                <td>0.7760 ± 0.1428</td>
                <td>0.6580 ± 0.3680</td>
                <td>0.8164 ± 0.0085</td>
                <td>0.8062 ± 0.0064</td>
              </tr>
              <tr>
                <td>0.05</td>
                <td>0.9364 ± 0.0110</td>
                <td>0.9499 ± 0.0090</td>
                <td>0.7502 ± 0.0846</td>
                <td>0.3941 ± 0.3018</td>
                <td>0.8120 ± 0.0145</td>
                <td>0.7477 ± 0.0159</td>
                <td>0.7684 ± 0.1522</td>
                <td>0.6560 ± 0.3669</td>
                <td>0.8196 ± 0.0091</td>
                <td>0.8077 ± 0.0070</td>
              </tr>
              <tr>
                <td>
                  <bold>0.10</bold>
                </td>
                <td>
                  <bold>0.9689 ± 0.0082</bold>
                </td>
                <td>
                  <bold>0.9761 ± 0.0065</bold>
                </td>
                <td>
                  <bold>0.9333 ± 0.0093</bold>
                </td>
                <td>
                  <bold>0.9225 ± 0.0142</bold>
                </td>
                <td>
                  <bold>0.8849 ± 0.0079</bold>
                </td>
                <td>
                  <bold>0.8500 ± 0.0175</bold>
                </td>
                <td>
                  <bold>0.8618 ± 0.0064</bold>
                </td>
                <td>
                  <bold>0.8387 ± 0.0045</bold>
                </td>
                <td>
                  <bold>0.8524 ± 0.0026</bold>
                </td>
                <td>
                  <bold>0.8321 ± 0.0018</bold>
                </td>
              </tr>
              <tr>
                <td>0.20</td>
                <td>0.9280 ± 0.0098</td>
                <td>0.9429 ± 0.0081</td>
                <td>0.7591 ± 0.0784</td>
                <td>0.4372 ± 0.2753</td>
                <td>0.8209 ± 0.0087</td>
                <td>0.7613 ± 0.0033</td>
                <td>0.7667 ± 0.1529</td>
                <td>0.6549 ± 0.3664</td>
                <td>0.8209 ± 0.0075</td>
                <td>0.8106 ± 0.0084</td>
              </tr>
              <tr>
                <td rowspan="4">
                  <italic>ϵ</italic>
                </td>
                <td>10<sup>-8</sup></td>
                <td>0.9382 ± 0.0040</td>
                <td>0.9514 ± 0.0033</td>
                <td>0.7520 ± 0.0859</td>
                <td>0.4013 ± 0.3028</td>
                <td>0.8129 ± 0.0119</td>
                <td>0.7537 ± 0.0110</td>
                <td>0.7631 ± 0.1501</td>
                <td>0.6524 ± 0.3649</td>
                <td>0.8231 ± 0.0091</td>
                <td>0.8104 ± 0.0069</td>
              </tr>
              <tr>
                <td>10<sup>-6</sup></td>
                <td>
                  <bold>0.9689 ± 0.0082</bold>
                </td>
                <td>
                  <bold>0.9761 ± 0.0065</bold>
                </td>
                <td>
                  <bold>0.9333 ± 0.0093</bold>
                </td>
                <td>
                  <bold>0.9225 ± 0.0142</bold>
                </td>
                <td>
                  <bold>0.8849 ± 0.0079</bold>
                </td>
                <td>
                  <bold>0.8500 ± 0.0175</bold>
                </td>
                <td>
                  <bold>0.8618 ± 0.0064</bold>
                </td>
                <td>
                  <bold>0.8387 ± 0.0045</bold>
                </td>
                <td>
                  <bold>0.8524 ± 0.0026</bold>
                </td>
                <td>
                  <bold>0.8321 ± 0.0018</bold>
                </td>
              </tr>
              <tr>
                <td>10<sup>-4</sup></td>
                <td>0.9467 ± 0.0059</td>
                <td>0.9583 ± 0.0048</td>
                <td>0.7596 ± 0.0764</td>
                <td>0.4416 ± 0.2551</td>
                <td>0.8151 ± 0.0157</td>
                <td>0.7465 ± 0.0248</td>
                <td>0.7653 ± 0.1503</td>
                <td>0.6537 ± 0.3656</td>
                <td>0.8302 ± 0.0105</td>
                <td>0.8158 ± 0.0079</td>
              </tr>
              <tr>
                <td>10<sup>-2</sup></td>
                <td>0.8222 ± 0.1787</td>
                <td>0.5756 ± 0.5256</td>
                <td>0.7849 ± 0.0690</td>
                <td>0.5353 ± 0.2321</td>
                <td>0.6973 ± 0.0751</td>
                <td>0.3646 ± 0.2902</td>
                <td>0.7022 ± 0.1920</td>
                <td>0.4948 ± 0.4517</td>
                <td>0.8356 ± 0.0103</td>
                <td>0.8198 ± 0.0076</td>
              </tr>
            </tbody>
          </table>
          <table-wrap-foot>
            <fn>
              <p>The default settings used in the proposed method are highlighted in bold.</p>
            </fn>
          </table-wrap-foot>
        </table-wrap>
        <p>Overall, the sensitivity results show that the selected default settings provide a stable operating point across the five tasks. For <italic>α</italic>, excessively small values weakened unknown rejection in several tasks, whereas <italic>α</italic> = 0.05 maintained a better balance between OS and H-score. For the calibration split, the 20% setting generally achieved stronger, more stable performance than the 10% or 15% settings, while the 30% setting reduced the amount of data available for representation and prototype learning. The loss-weight results show that both <italic>λ<sub>c</sub></italic> and <italic>λ<sub>sc</sub></italic> are useful: setting either weight to zero degraded performance, whereas the default values preserved compact known-class representations and improved open-set balance. The results for <italic>ϵ</italic> indicate that a small stabilizer is sufficient for UAPD, whereas an overly large value can weaken variance normalization.</p>
      </sec>
      <sec id="sec4-3">
        <title>4.3. State-of-the-art open-set diagnosis methods compared</title>
        <p>As shown in <xref ref-type="fig" rid="fig4">Figure 4</xref>, the proposed method achieved the highest OS in Tasks 1-4 and remained competitive in Task 5 when compared with OpenMax, OpenGAN, EAC, COCL, NNGM, ARPL, ViM, and DCC. This result indicates that the proposed framework provides strong overall open-set diagnosis performance by jointly considering known-class recognition and unknown-class rejection. Although several comparative methods achieved competitive results in individual tasks, their performance fluctuated more noticeably across task settings, whereas the proposed method maintained consistently high OS accuracy.</p>
        <fig id="fig4" position="float">
          <label>Figure 4</label>
          <caption>
            <p>Comparison of OS overall accuracy across five open-set tasks.</p>
          </caption>
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6037.fig.4.jpg" />
        </fig>
        <p>As shown in <xref ref-type="fig" rid="fig5">Figure 5</xref>, the proposed method also preserved strong known-class recognition performance. The OS′ results indicate that introducing unknown rejection does not substantially weaken the classification of known SIL-IoTs fault categories. Compared with the baseline methods, the proposed framework maintains more stable known-class accuracy across different open-set partitions, suggesting that the learned prototype representation remains discriminative for known faults.</p>
        <fig id="fig5" position="float">
          <label>Figure 5</label>
          <caption>
            <p>Comparison of OS′ known-class accuracy across five open-set tasks.</p>
          </caption>
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6037.fig.5.jpg" />
        </fig>
        <p>As shown in <xref ref-type="fig" rid="fig6">Figure 6</xref>, the proposed method achieved the best or highly competitive H-scores across the five tasks. Since H-score jointly measures the balance between known-class recognition and unknown-class detection, these results further confirm that the proposed method achieves more balanced decision behavior than the compared methods. The advantage is especially evident in challenging tasks where unknown samples are close to known fault categories.</p>
        <fig id="fig6" position="float">
          <label>Figure 6</label>
          <caption>
            <p>Comparison of H-score across five open-set tasks.</p>
          </caption>
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6037.fig.6.jpg" />
        </fig>
        <p>As shown in <xref ref-type="fig" rid="fig7">Figure 7</xref>, the proposed method achieved strong UNK performance, demonstrating its ability to reject previously unseen fault types. Compared with OpenMax, OpenGAN, EAC, COCL, NNGM, ARPL, ViM, and DCC, the proposed method more effectively reduced misclassification of unknown samples as known categories. This improvement can be attributed to the UAPD and CACT, which jointly refine prototype matching and unknown rejection.</p>
        <fig id="fig7" position="float">
          <label>Figure 7</label>
          <caption>
            <p>Comparison of UNK unknown-detection accuracy across five open-set tasks.</p>
          </caption>
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6037.fig.7.jpg" />
        </fig>
      </sec>
      <sec id="sec4-4">
        <title>4.4. Computational efficiency analysis</title>
        <p>To evaluate the proposed framework’s suitability for resource-constrained SIL-IoT devices, we further compared the computational cost and inference efficiency of the proposed method with the baseline methods. All methods were evaluated using the same input size, the same 1D convolutional backbone, and the same batch inference setting. The number of parameters, model size, neural forward floating-point operations (FLOPs), additional open-set mechanism FLOPs, inference latency, and throughput are summarized in <xref ref-type="table" rid="t7">Table 7</xref>.</p>
        <table-wrap id="t7">
          <label>Table 7</label>
          <caption>
            <p>Computational efficiency comparison of the proposed method and baseline methods</p>
          </caption>
          <table frame="hsides" rules="groups">
            <thead>
              <tr>
                <td style="border-bottom:1;">
                  <bold>Method</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Params (M)</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Size (MB)</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Neural FLOPs (M/sample)</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>OSR FLOPs (K/sample)</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Inference time (ms/sample)</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Throughput (samples/s)</bold>
                </td>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td>OpenMax</td>
                <td>0.0858</td>
                <td>0.3274</td>
                <td>2.4666</td>
                <td>1.272</td>
                <td>0.0018</td>
                <td>546698</td>
              </tr>
              <tr>
                <td>OpenGAN</td>
                <td>0.0859</td>
                <td>0.3277</td>
                <td>2.4667</td>
                <td>0.006</td>
                <td>0.0018</td>
                <td>559289</td>
              </tr>
              <tr>
                <td>EAC</td>
                <td>0.0858</td>
                <td>0.3274</td>
                <td>2.4666</td>
                <td>0.024</td>
                <td>0.0020</td>
                <td>498254</td>
              </tr>
              <tr>
                <td>COCL</td>
                <td>0.0859</td>
                <td>0.3277</td>
                <td>2.4667</td>
                <td>0.390</td>
                <td>0.0018</td>
                <td>545303</td>
              </tr>
              <tr>
                <td>NNGM</td>
                <td>0.0858</td>
                <td>0.3274</td>
                <td>2.4666</td>
                <td>323.712</td>
                <td>0.0018</td>
                <td>545534</td>
              </tr>
              <tr>
                <td>ARPL</td>
                <td>0.0862</td>
                <td>0.3289</td>
                <td>2.4658</td>
                <td>0.768</td>
                <td>0.0024</td>
                <td>419252</td>
              </tr>
              <tr>
                <td>ViM</td>
                <td>0.0858</td>
                <td>0.3274</td>
                <td>2.4666</td>
                <td>8.576</td>
                <td>0.0019</td>
                <td>530625</td>
              </tr>
              <tr>
                <td>DCC</td>
                <td>0.0862</td>
                <td>0.3289</td>
                <td>2.4658</td>
                <td>1.536</td>
                <td>0.0031</td>
                <td>321537</td>
              </tr>
              <tr>
                <td>
                  <bold>Proposed</bold>
                </td>
                <td>
                  <bold>0.0858</bold>
                </td>
                <td>
                  <bold>0.3274</bold>
                </td>
                <td>
                  <bold>2.4666</bold>
                </td>
                <td>
                  <bold>1.542</bold>
                </td>
                <td>
                  <bold>0.0019</bold>
                </td>
                <td>
                  <bold>534824</bold>
                </td>
              </tr>
            </tbody>
          </table>
          <table-wrap-foot>
            <fn>
              <p>FLOPs denote floating-point operations. Latency and throughput were measured under batch inference. OSR FLOPs indicate the estimated additional computational cost introduced by the open-set recognition mechanism after feature extraction. Boldface highlights the computational efficiency results of the proposed method to facilitate comparison with the baseline methods. It does not indicate the best value in each column.</p>
            </fn>
          </table-wrap-foot>
        </table-wrap>
        <p>As shown in <xref ref-type="table" rid="t7">Table 7</xref>, the proposed method has 0.0858M parameters and a model size of 0.3274 MB, which are comparable to those of the lightweight baseline methods. Because all compared methods use the same 1D convolutional temporal encoder, their neural forward FLOPs are also similar. The additional computational cost introduced by the proposed UAPD and CACT mechanisms is only 1.542K FLOPs per sample, which is much smaller than the neural forward computation. The proposed method also achieves a low inference latency of 0.0019 ms per sample and a throughput of 534,824 samples/s under the tested batch inference setting. These results indicate that the proposed framework introduces only a small open-set decision overhead while maintaining practical computational efficiency for SIL-IoTs fault diagnosis.</p>
      </sec>
      <sec id="sec4-5">
        <title>4.5. Statistical significance analysis</title>
        <p>To further examine whether the observed improvements are robust to random-seed variability, we performed paired statistical tests between the proposed method and each comparative method across the five repeated runs. As shown in <xref ref-type="table" rid="t8">Table 8</xref>, the proposed method achieved statistically significant improvements over several baselines, especially in the more difficult tasks. Although some comparisons did not reach statistical significance, the proposed method still showed consistent numerical advantages in most cases. This suggests the improvements are generally robust, and small performance gaps should be interpreted alongside the standard deviations across random seeds. Overall, the statistical results support the effectiveness of the proposed method and clarify the cases where the advantage is relatively modest.</p>
        <table-wrap id="t8">
          <label>Table 8</label>
          <caption>
            <p>Paired statistical tests between the proposed method and comparative methods across five random seeds</p>
          </caption>
          <table frame="hsides" rules="groups" displaytype="2" pdfpage="20">
            <thead>
              <tr>
                <td style="border-bottom:1;">
                  <bold>Metric</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Method</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Task 1</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Task 2</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Task 3</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Task 4</bold>
                </td>
                <td style="border-bottom:1;">
                  <bold>Task 5</bold>
                </td>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td>OS</td>
                <td>ARPL</td>
                <td>t = 1.393, <italic>P</italic> = 0.2360</td>
                <td>t = 2.331, <italic>P</italic> = 0.0802</td>
                <td>t = 2.128, <italic>P</italic> = 0.1005</td>
                <td>t = 1.848, <italic>P</italic> = 0.1383</td>
                <td>t = 1.186, <italic>P</italic> = 0.3013</td>
              </tr>
              <tr>
                <td>OS</td>
                <td>COCL</td>
                <td>t = 1.641, <italic>P</italic> = 0.1762</td>
                <td>t = 0.748, <italic>P</italic> = 0.4960</td>
                <td>t = 2.030, <italic>P</italic> = 0.1122</td>
                <td>
                  <bold>t = 2.837, <italic>P</italic> = 0.0470</bold>
                </td>
                <td>
                  <bold>t = 4.014, <italic>P</italic> = 0.0159</bold>
                </td>
              </tr>
              <tr>
                <td>OS</td>
                <td>DCC</td>
                <td>t = 1.123, <italic>P</italic> = 0.3243</td>
                <td>t = -0.177, <italic>P</italic> = 0.8682</td>
                <td>t = 1.609, <italic>P</italic> = 0.1829</td>
                <td>
                  <bold>t = 9.616, <italic>P</italic> = 0.0007</bold>
                </td>
                <td>t = 1.807, <italic>P</italic> = 0.1450</td>
              </tr>
              <tr>
                <td>OS</td>
                <td>EAC</td>
                <td>
                  <bold>t = 3.986, <italic>P</italic> = 0.0163</bold>
                </td>
                <td>
                  <bold>t = -7.247, <italic>P</italic> = 0.0019</bold>
                </td>
                <td>
                  <bold>t = 6.631, <italic>P</italic> = 0.0027</bold>
                </td>
                <td>
                  <bold>t = 4.403, <italic>P</italic> = 0.0117</bold>
                </td>
                <td>
                  <bold>t = 97.412, <italic>P</italic> = 6.65889 × 10<sup>-8</sup></bold>
                </td>
              </tr>
              <tr>
                <td>OS</td>
                <td>NNGM</td>
                <td>t = 1.937, <italic>P</italic> = 0.1249</td>
                <td>
                  <bold>t = -5.700, <italic>P</italic> = 0.0047</bold>
                </td>
                <td>
                  <bold>t = -9.179, <italic>P</italic> = 0.0008</bold>
                </td>
                <td>
                  <bold>t = 7.845, <italic>P</italic> = 0.0014</bold>
                </td>
                <td>
                  <bold>t = -10.043, <italic>P</italic> = 0.0006</bold>
                </td>
              </tr>
              <tr>
                <td>OS</td>
                <td>OpenGAN</td>
                <td>
                  <bold>t = 4.193, <italic>P</italic> = 0.0138</bold>
                </td>
                <td>t = 1.536, <italic>P</italic> = 0.1993</td>
                <td>
                  <bold>t = 25.758, <italic>P</italic> = 1.34937 × 10<sup>-5</sup></bold>
                </td>
                <td>
                  <bold>t = 3.232, <italic>P</italic> = 0.0319</bold>
                </td>
                <td>t = 2.095, <italic>P</italic> = 0.1043</td>
              </tr>
              <tr>
                <td>OS</td>
                <td>ViM</td>
                <td>t = 2.011, <italic>P</italic> = 0.1147</td>
                <td>t = 2.186, <italic>P</italic> = 0.0941</td>
                <td>t = 1.445, <italic>P</italic> = 0.2219</td>
                <td>t = 0.355, <italic>P</italic> = 0.7408</td>
                <td>t = 1.689, <italic>P</italic> = 0.1665</td>
              </tr>
              <tr>
                <td>OS</td>
                <td>OpenMax</td>
                <td>t = 2.108, <italic>P</italic> = 0.1028</td>
                <td>t = -0.665, <italic>P</italic> = 0.5427</td>
                <td>t = 2.165, <italic>P</italic> = 0.0963</td>
                <td>
                  <bold>t = 7.524, <italic>P</italic> = 0.0017</bold>
                </td>
                <td>
                  <bold>t = 3.102, <italic>P</italic> = 0.0362</bold>
                </td>
              </tr>
              <tr>
                <td>H-score</td>
                <td>ARPL</td>
                <td>t = 1.378, <italic>P</italic> = 0.2402</td>
                <td>t = 2.465, <italic>P</italic> = 0.0693</td>
                <td>t = 2.237, <italic>P</italic> = 0.0890</td>
                <td>t = 1.822, <italic>P</italic> = 0.1426</td>
                <td>t = 0.758, <italic>P</italic> = 0.4906</td>
              </tr>
              <tr>
                <td>H-score</td>
                <td>COCL</td>
                <td>t = 1.635, <italic>P</italic> = 0.1773</td>
                <td>t = 1.457, <italic>P</italic> = 0.2189</td>
                <td>t = 2.286, <italic>P</italic> = 0.0842</td>
                <td>t = 2.612, <italic>P</italic> = 0.0593</td>
                <td>
                  <bold>t = 3.513, <italic>P</italic> = 0.0246</bold>
                </td>
              </tr>
              <tr>
                <td>H-score</td>
                <td>DCC</td>
                <td>t = 1.110, <italic>P</italic> = 0.3293</td>
                <td>t = 1.054, <italic>P</italic> = 0.3513</td>
                <td>t = 2.470, <italic>P</italic> = 0.0689</td>
                <td>
                  <bold>t = 6.947, <italic>P</italic> = 0.0023</bold>
                </td>
                <td>
                  <bold>t = -3.115, <italic>P</italic> = 0.0357</bold>
                </td>
              </tr>
              <tr>
                <td>H-score</td>
                <td>EAC</td>
                <td>
                  <bold>t = 3.999, <italic>P</italic> = 0.0161</bold>
                </td>
                <td>
                  <bold>t = -5.818, <italic>P</italic> = 0.0043</bold>
                </td>
                <td>
                  <bold>t = 5.737, <italic>P</italic> = 0.0046</bold>
                </td>
                <td>
                  <bold>t = 4.166, <italic>P</italic> = 0.0141</bold>
                </td>
                <td>
                  <bold>t = 214.691, <italic>P</italic> = 2.82377 × 10<sup>-9</sup></bold>
                </td>
              </tr>
              <tr>
                <td>H-score</td>
                <td>NNGM</td>
                <td>t = 1.917, <italic>P</italic> = 0.1277</td>
                <td>t = -1.230, <italic>P</italic> = 0.2861</td>
                <td>
                  <bold>t = -9.188, <italic>P</italic> = 0.0008</bold>
                </td>
                <td>
                  <bold>t = 6.346, <italic>P</italic> = 0.0032</bold>
                </td>
                <td>
                  <bold>t = −42.754, <italic>P</italic> = 1.78917 × 10<sup>-6</sup></bold>
                </td>
              </tr>
              <tr>
                <td>H-score</td>
                <td>OpenGAN</td>
                <td>
                  <bold>t = 4.054, <italic>P</italic> = 0.0154</bold>
                </td>
                <td>t = 1.576, <italic>P</italic> = 0.1902</td>
                <td>
                  <bold>t = 20.680, <italic>P</italic> = 3.22980 × 10<sup>-5</sup></bold>
                </td>
                <td>
                  <bold>t = 2.807, <italic>P</italic> = 0.0485</bold>
                </td>
                <td>t = 1.566, <italic>P</italic> = 0.1925</td>
              </tr>
              <tr>
                <td>H-score</td>
                <td>ViM</td>
                <td>t = 1.998, <italic>P</italic> = 0.1164</td>
                <td>t = 1.979, <italic>P</italic> = 0.1189</td>
                <td>t = 1.446, <italic>P</italic> = 0.2218</td>
                <td>t = 0.226, <italic>P</italic> = 0.8323</td>
                <td>t = 1.506, <italic>P</italic> = 0.2065</td>
              </tr>
              <tr>
                <td>H-score</td>
                <td>OpenMax</td>
                <td>t = 2.101, <italic>P</italic> = 0.1035</td>
                <td>t = 1.155, <italic>P</italic> = 0.3122</td>
                <td>
                  <bold>t = 2.990, <italic>P</italic> = 0.0403</bold>
                </td>
                <td>
                  <bold>t = 6.944, <italic>P</italic> = 0.0023</bold>
                </td>
                <td>
                  <bold>t = -7.093, <italic>P</italic> = 0.0021</bold>
                </td>
              </tr>
            </tbody>
          </table>
          <table-wrap-foot>
            <fn>
              <p>Boldface indicates statistical significance at <italic>P</italic> &lt; 0.05.</p>
            </fn>
          </table-wrap-foot>
        </table-wrap>
      </sec>
      <sec id="sec4-6">
        <title>4.6. Confusion matrix and feature visualization</title>
        <p>As shown in <xref ref-type="fig" rid="fig8">Figure 8</xref>, the challenging setting mainly exposed errors in the separation between unknown samples and the most confusable known classes, while the easier known categories remained largely well classified across methods. The compared methods, including OpenMax, OpenGAN, EAC, COCL, NNGM, ARPL, ViM, and DCC, all showed different degrees of unknown-to-known leakage, especially around the electrically related classes C1 and C2. This indicates that unknown abnormal states can be easily absorbed into nearby known fault regions when their signal patterns are similar. By contrast, the proposed method achieved stronger unknown recognition while maintaining a cleaner diagonal structure for the known classes. These confusion patterns are consistent with the quantitative metrics and further suggest that the proposed method improves class-wise separability under difficult open-set conditions, especially at the decision boundary between unknown samples and the most easily confused known categories.</p>
        <fig id="fig8" position="float" pdfpage="21">
          <label>Figure 8</label>
          <caption>
            <p>Confusion matrices under a representative challenging open-set task. The representative task corresponds to Task 5 in <xref ref-type="table" rid="t3">Table 3</xref>; the known classes C0, C2, C3, C4, and C8 are displayed using task-local labels C0-C4, while the unknown class combines C1, C5, C6, and C7. The proposed method exhibits the clearest diagonal structure and the strongest unknown-class recognition, indicating improved separation between known and unknown samples.</p>
          </caption>
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6037.fig.8.jpg" />
        </fig>
        <p>As shown in <xref ref-type="fig" rid="fig9">Figure 9</xref>, the challenging setting revealed substantial differences in the feature-space structure learned by the competing open-set methods. Several baseline methods exhibited varying degrees of overlap between known and unknown samples, particularly around the most confusable regions, indicating that their learned representations did not fully separate unknown instances from nearby known classes. In contrast, the proposed method produced a visibly cleaner organization of the embedding space, with known samples forming more compact clusters and unknown samples occupying more distinct regions with reduced intrusion into the major known-class groups. Although limited local proximity between known and unknown samples was still present in a few boundary regions, the overall separation pattern was clearer than that of the competing baselines. This qualitative result is consistent with the confusion matrices and quantitative open-set metrics, and suggests that the proposed method improves feature-level discriminability under difficult open-set conditions.</p>
        <fig id="fig9" position="float" pdfpage="21">
          <label>Figure 9</label>
          <caption>
            <p>t-SNE visualization of feature embeddings under a representative challenging open-set task. The proposed method yields more compact known-class clusters and clearer separation between known and unknown samples than competing methods. t-SNE: Distributed stochastic neighbor embedding.</p>
          </caption>
          <graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="ir6037.fig.9.jpg" />
        </fig>
        <p>A closer inspection of the failure cases indicates that the remaining errors are mainly concentrated near electrically related known classes, especially C1 and C2 in the representative challenging task. These classes correspond to lure-lamp and metal-mesh open-circuit faults, whose current-voltage signatures can be similar to those of some unknown abnormal states when illumination fluctuation, unstable power supply, or load variation changes the operating signal. Therefore, the residual misclassification of unknown samples is physically plausible: unknown faults with similar electrical responses may fall near the acceptance regions of known electrical faults. Compared with the baseline methods, the proposed framework reduces this leakage by forming more compact known-class clusters and applying class-adaptive rejection thresholds, but a small number of boundary samples remains difficult to separate.</p>
      </sec>
    </sec>
    <sec id="sec5">
      <title>5. DISCUSSION</title>
      <p>These results can be interpreted in relation to prototype-based open-set recognition, Mahalanobis-distance-based metrics, class-wise thresholding, and conformal calibration. Classical Mahalanobis distance and class-wise thresholding provide useful distance normalization and class-dependent decision boundaries, but they are often used as post-hoc decision rules. In contrast, the proposed framework couples dispersion-aware prototype matching with known-only conformal threshold calibration. It also differs from generalized zero-shot fault diagnosis methods using auxiliary sets, which aim to recognize unseen classes by transferring auxiliary semantic or fault-related information. In the present open-set setting, unknown fault classes and auxiliary unknown-class information are unavailable during training and threshold tuning; therefore, the objective is reliable unknown-fault rejection rather than explicit unseen-class recognition.</p>
      <p>The ablation results in <xref ref-type="table" rid="t5">Table 5</xref> show that the gains of the full model arise from the complementary effects of UAPD and CACT. UAPD contributes to the metric side by normalizing prototype matching with class-wise feature dispersion, whereas CACT contributes to the rejection side by calibrating class-specific thresholds from known calibration samples. This distinction is most evident in Task 5, where removing UAPD increased OS′ but substantially reduced UNK and H-score, indicating a shift toward known-class bias. These results suggest that the proposed method is not simply a combination of a Mahalanobis-like distance and class-wise thresholds, but a unified open-set decision framework adapted to class-dependent latent-space geometry.</p>
      <p>The role of CACT further illustrates the trade-off between known-class recognition and unknown-fault rejection. In Task 3 and Task 5, removing CACT led to higher UNK or H-score in some cases, but it did not surpass the full model in OS. This indicates that more aggressive rejection can improve one metric while weakening the overall decision balance. CACT therefore mainly improves the stability of the open-set operating point, rather than uniformly maximizing unknown rejection in every task.</p>
      <p>The qualitative results are consistent with this interpretation. The confusion matrices in <xref ref-type="fig" rid="fig8">Figure 8</xref> show that the main errors occur near the boundary between unknown samples and confusable known classes. The distributed stochastic neighbor embedding (t-SNE) visualization in <xref ref-type="fig" rid="fig9">Figure 9</xref> further shows that the proposed method forms more compact known-class clusters and clearer known/unknown separation than the competing baselines. These observations suggest that the improvement is supported not only by threshold calibration, but also by a more structured latent representation.</p>
      <p>From an application perspective, the proposed framework is relevant to field-deployed SIL-IoTs systems, where new fault modes may emerge because of component aging, environmental disturbance, maintenance inconsistency, or device replacement. A closed-set model may incorrectly force such samples into known classes. By combining discriminative representation learning, class-wise prototype distance, and known-only threshold calibration, the proposed method provides a practical strategy for open-set fault diagnosis in the present SIL-IoTs setting.</p>
    </sec>
    <sec id="sec6">
      <title>6. LIMITATIONS</title>
      <p>Several limitations should be acknowledged. First, the experimental validation is based on a single SIL-IoTs dataset containing nine fault categories. Although the five open-set tasks evaluate different known/unknown class partitions, they are still constructed from the same underlying data source and electrical-signal modality. Therefore, the present results should be interpreted as evidence for the effectiveness of the proposed framework in the current SIL-IoTs diagnosis setting, rather than as a complete demonstration of general applicability across different agricultural IoT platforms, sensor modalities, or larger fault taxonomies.</p>
      <p>Second, the validity of CACT relies on the approximate exchangeability assumption of conformal calibration. Specifically, the known-class calibration samples and future deployment samples are expected to follow the same or a sufficiently stable distribution after preprocessing and feature extraction. Under this condition, the class-specific conformal thresholds can provide meaningful known-class acceptance boundaries at the prescribed risk level. However, seasonal variation, sensor drift, component aging, maintenance inconsistency, and changes in deployment conditions may weaken this assumption. Therefore, fixed offline thresholds may require periodic updating or online recalibration in long-term agricultural IoT deployment.</p>
      <p>Third, the current framework operates at the window level and estimates prototypes, variances, and thresholds offline. This may limit its responsiveness to gradual distribution shifts or newly evolving fault patterns. Although the proposed method improves open-set robustness, its advantage is not uniform across all individual metrics, as reflected by OS′ in Task 5 and H-score in Task 3. This suggests that the balance between known-class recognition and unknown-fault rejection still depends on task difficulty and latent-space geometry. Future work will extend the framework to larger multi-device datasets, incorporate richer environmental and operational information, and investigate online recalibration strategies for updating prototypes, variances, and class-adaptive thresholds over time.</p>
    </sec>
    <sec id="sec7">
      <title>7. CONCLUSIONS</title>
      <p>This article addressed open-set fault diagnosis for SIL-IoTs systems by proposing a prototype-based diagnosis framework that combines discriminative representation learning, UAPD, and CACT. The central idea is to perform open-set decision-making in a prototype-centered latent space while explicitly accounting for class-wise feature dispersion and class-specific acceptance boundaries. In this way, the proposed framework improves not only known-fault classification but also the reliable rejection of previously unseen fault conditions under realistic field deployment settings.</p>
      <p>Experimental results across five open-set diagnosis tasks showed that the proposed method consistently achieved the highest open-set overall accuracy and delivered strong H-score performance in most cases, indicating a stable balance between known-class recognition and unknown-fault rejection. The ablation results further confirmed that UAPD and CACT play complementary roles: UAPD improves prototype-matching fidelity under unequal class compactness, whereas CACT stabilizes class-dependent rejection behavior without relying on real unknown samples during threshold tuning. The confusion-matrix and t-SNE analyses provided additional qualitative evidence that the proposed framework improves both class-wise separability and feature-level organization in challenging open-set conditions.</p>
      <p>These findings suggest that prototype-based open-set diagnosis is a promising direction for the current SIL-IoTs diagnosis setting and may provide a useful basis for broader intelligent agricultural equipment monitoring after further validation. However, the current evidence is limited to a single SIL-IoTs dataset and one electrical-signal modality, and thus should not be interpreted as a complete demonstration of general applicability across agricultural IoT platforms. Future work will extend the framework to cross-device, cross-season, and cross-domain open-set diagnosis scenarios, incorporate larger and more diverse fault taxonomies, explore multimodal diagnosis using environmental and operational information, and investigate online recalibration strategies that update prototypes and rejection thresholds as operating conditions evolve.</p>
    </sec>
  </body>
  <back>
    <sec>
      <title>DECLARATIONS</title>
      <sec>
        <title>Authors’ contributions</title>
        <p>Made substantial contributions to conception and design of the study and performed data analysis and interpretation: Wang, Z.; Yang X.</p>
        <p>Performed data acquisition, as well as provided administrative, technical, and material support: Zhou X.; Guo X.</p>
      </sec>
      <sec>
        <title>Availability of data and materials</title>
        <p>The primary dataset is deposited at Mendeley Data: <uri xlink:href="https://dx.doi.org/10.17632/dr3wny675w.1">https://dx.doi.org/10.17632/dr3wny675w.1</uri>.</p>
      </sec>
      <sec>
        <title>AI and AI-assisted tools statement</title>
        <p>During manuscript preparation, the authors used the AI tool ChatGPT (version GPT-6 Astra, released 2026-09-03) for language polishing and improving clarity. The AI tool Gemini (version Gemini 3 Pro Image Preview, released 2025-11-20) was used to generate the background scene and the illustration in the “Challenge definition” section of the graphical abstract. The photographs of the SIL-IoTs equipment were taken by the authors. All AI-assisted outputs were reviewed, verified, and edited by the authors, who take full responsibility for the final published work. No AI tools were used to generate experimental data or determine the research conclusions.</p>
      </sec>
      <sec>
        <title>Financial support and sponsorship</title>
        <p>This research was funded in part by the National Natural Science Foundation of China (Grant 62402003), in part by the Anhui Science and Technology University Talent Introduction Project (Grant RCYJ202402), and in part by the University-level Interdisciplinary Project (Grant XK-XJJC002).</p>
      </sec>
      <sec>
        <title>Conflicts of interest</title>
        <p>All authors declared that there are no conflicts of interest.</p>
      </sec>
      <sec>
        <title>Ethical approval and consent to participate</title>
        <p>Not applicable.</p>
      </sec>
      <sec>
        <title>Consent for publication</title>
        <p>Not applicable.</p>
      </sec>
      <sec>
        <title>Copyright</title>
        <p>© The Author(s) 2026.</p>
      </sec>
    </sec>
    <ref-list>
      <ref id="B1">
        <label>1</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Mansoor</surname>
              <given-names>S</given-names>
            </name>
            <name>
              <surname>Iqbal</surname>
              <given-names>S</given-names>
            </name>
            <name>
              <surname>Popescu</surname>
              <given-names>SM</given-names>
            </name>
            <name>
              <surname>Kim</surname>
              <given-names>SL</given-names>
            </name>
            <name>
              <surname>Chung</surname>
              <given-names>YS</given-names>
            </name>
            <name>
              <surname>Beak</surname>
              <given-names>JH</given-names>
            </name>
          </person-group>
          <article-title>Integration of smart sensors and IOT in precision agriculture: trends, challenges and future prospectives</article-title>
          <source>Front Plant Sci</source>
          <year>2025</year>
          <volume>16</volume>
          <fpage>1587869</fpage>
          <pub-id pub-id-type="doi">10.3389/fpls.2025.1587869</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B2">
        <label>2</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Peng</surname>
              <given-names>W</given-names>
            </name>
            <name>
              <surname>Liu</surname>
              <given-names>Z</given-names>
            </name>
            <name>
              <surname>Cai</surname>
              <given-names>J</given-names>
            </name>
            <name>
              <surname>Zhao</surname>
              <given-names>Y</given-names>
            </name>
          </person-group>
          <article-title>Research and application progress of electronic ear tags as infrastructure for precision livestock industry: a review</article-title>
          <source>Intell Robot</source>
          <year>2025</year>
          <volume>5</volume>
          <fpage>433</fpage>
          <lpage>49</lpage>
          <pub-id pub-id-type="doi">10.20517/ir.2025.22</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B3">
        <label>3</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Ge</surname>
              <given-names>C</given-names>
            </name>
            <name>
              <surname>Zhang</surname>
              <given-names>G</given-names>
            </name>
            <name>
              <surname>Wang</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Shao</surname>
              <given-names>D</given-names>
            </name>
            <name>
              <surname>Song</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Wang</surname>
              <given-names>Z</given-names>
            </name>
          </person-group>
          <article-title>Research status and development trends of artificial intelligence in smart agriculture</article-title>
          <source>Agriculture</source>
          <year>2025</year>
          <volume>15</volume>
          <fpage>2247</fpage>
          <pub-id pub-id-type="doi">10.3390/agriculture15212247</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B4">
        <label>4</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Yang</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Shu</surname>
              <given-names>L</given-names>
            </name>
            <name>
              <surname>Li</surname>
              <given-names>K</given-names>
            </name>
            <name>
              <surname>Huo</surname>
              <given-names>Z</given-names>
            </name>
            <name>
              <surname>Shu</surname>
              <given-names>S</given-names>
            </name>
            <name>
              <surname>Nurellari</surname>
              <given-names>E</given-names>
            </name>
          </person-group>
          <article-title>SILOS: an intelligent fault detection scheme for solar insecticidal lamp IoT with improved energy efficiency</article-title>
          <source>IEEE Internet Things J</source>
          <year>2023</year>
          <volume>10</volume>
          <fpage>920</fpage>
          <lpage>39</lpage>
          <pub-id pub-id-type="doi">10.1109/JIOT.2022.3209162</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B5">
        <label>5</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Ejiyi</surname>
              <given-names>CJ</given-names>
            </name>
            <name>
              <surname>Cai</surname>
              <given-names>D</given-names>
            </name>
            <name>
              <surname>Thomas</surname>
              <given-names>D</given-names>
            </name>
            <etal />
          </person-group>
          <article-title>Comprehensive review of artificial intelligence applications in renewable energy systems: current implementations and emerging trends</article-title>
          <source>J Big Data</source>
          <year>2025</year>
          <volume>12</volume>
          <fpage>169</fpage>
          <pub-id pub-id-type="doi">10.1186/s40537-025-01178-7</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B6">
        <label>6</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Kong</surname>
              <given-names>Z</given-names>
            </name>
            <name>
              <surname>Xu</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Jin</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Ji</surname>
              <given-names>C</given-names>
            </name>
            <name>
              <surname>Zhang</surname>
              <given-names>Z</given-names>
            </name>
            <name>
              <surname>Que</surname>
              <given-names>Z</given-names>
            </name>
          </person-group>
          <article-title>A deep evidence mining approach for trustworthy open-set fault diagnosis of rotating machinery</article-title>
          <source>Appl Soft Comput</source>
          <year>2026</year>
          <volume>186</volume>
          <fpage>114142</fpage>
          <pub-id pub-id-type="doi">10.1016/j.asoc.2025.114142</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B7">
        <label>7</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Kopton</surname>
              <given-names>J</given-names>
            </name>
            <name>
              <surname>de Bruin</surname>
              <given-names>S</given-names>
            </name>
            <name>
              <surname>Schulz</surname>
              <given-names>D</given-names>
            </name>
            <name>
              <surname>Luedeling</surname>
              <given-names>E</given-names>
            </name>
          </person-group>
          <article-title>Combining spatio-temporal pest risk prediction and decision theory to improve pest management in smallholder agriculture</article-title>
          <source>Comput Electron Agric</source>
          <year>2025</year>
          <volume>236</volume>
          <fpage>110426</fpage>
          <pub-id pub-id-type="doi">10.1016/j.compag.2025.110426</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B8">
        <label>8</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Rashid</surname>
              <given-names>T</given-names>
            </name>
            <name>
              <surname>Majumder</surname>
              <given-names>A</given-names>
            </name>
            <name>
              <surname>Natarajan</surname>
              <given-names>B</given-names>
            </name>
          </person-group>
          <article-title>Graph-based spatio-temporal soil moisture imputation with uncertainty quantification</article-title>
          <source>Smart Agric Technol</source>
          <year>2026</year>
          <volume>15</volume>
          <fpage>102455</fpage>
          <pub-id pub-id-type="doi">10.1016/j.atech.2026.102455</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B9">
        <label>9</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Yu</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Zhao</surname>
              <given-names>Z</given-names>
            </name>
            <name>
              <surname>Zhang</surname>
              <given-names>X</given-names>
            </name>
            <etal />
          </person-group>
          <article-title>Deep-learning-based open set fault diagnosis by extreme value theory</article-title>
          <source>IEEE Trans Ind Informat</source>
          <year>2022</year>
          <volume>18</volume>
          <fpage>185</fpage>
          <lpage>96</lpage>
          <pub-id pub-id-type="doi">10.1109/TII.2021.3070324</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B10">
        <label>10</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Liu</surname>
              <given-names>M</given-names>
            </name>
            <name>
              <surname>Cheng</surname>
              <given-names>Z</given-names>
            </name>
            <name>
              <surname>Yang</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Hu</surname>
              <given-names>N</given-names>
            </name>
            <name>
              <surname>Shen</surname>
              <given-names>G</given-names>
            </name>
            <name>
              <surname>Yang</surname>
              <given-names>Y</given-names>
            </name>
          </person-group>
          <article-title>Adaptive reconstruct feature difference network for open set domain generalization fault diagnosis</article-title>
          <source>Eng Appl Artif Intell</source>
          <year>2025</year>
          <volume>142</volume>
          <fpage>109895</fpage>
          <pub-id pub-id-type="doi">10.1016/j.engappai.2024.109895</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B11">
        <label>11</label>
        <nlm-citation publication-type="book">
          <person-group person-group-type="author">
            <name>
              <surname>Zhao</surname>
              <given-names>Z</given-names>
            </name>
            <name>
              <surname>Yang</surname>
              <given-names>B</given-names>
            </name>
          </person-group>
          <comment>Open set recognition of intelligent bearing fault diagnosis based on hybrid neural network and improved OPENMAX. In <italic>2024 7th International Conference on Information Communication and Signal Processing (ICICSP)</italic>, Zhoushan, China. Sep 21-23, 2024. IEEE; 2024. pp. 999-1004.</comment>
          <pub-id pub-id-type="doi">10.1109/ICICSP62589.2024.10809169</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B12">
        <label>12</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Chen</surname>
              <given-names>G</given-names>
            </name>
            <name>
              <surname>Peng</surname>
              <given-names>P</given-names>
            </name>
            <name>
              <surname>Wang</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Tian</surname>
              <given-names>Y</given-names>
            </name>
          </person-group>
          <article-title>Adversarial reciprocal points learning for open set recognition</article-title>
          <source>IEEE Trans Pattern Anal Mach Intell</source>
          <year>2022</year>
          <volume>44</volume>
          <fpage>8065</fpage>
          <lpage>81</lpage>
          <pub-id pub-id-type="doi">10.1109/TPAMI.2021.3106743</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B13">
        <label>13</label>
        <nlm-citation publication-type="book">
          <person-group person-group-type="author">
            <name>
              <surname>Kong</surname>
              <given-names>S</given-names>
            </name>
            <name>
              <surname>Ramanan</surname>
              <given-names>D</given-names>
            </name>
          </person-group>
          <comment>OpenGAN: open-set recognition via open data generation. In <italic>2021 IEEE/CVF International Conference on Computer Vision (ICCV)</italic>, Montreal, Canada. Oct 10-17, 2021. IEEE; 2021. pp. 793-802.</comment>
          <pub-id pub-id-type="doi">10.1109/ICCV48922.2021.00085</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B14">
        <label>14</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Luan</surname>
              <given-names>S</given-names>
            </name>
            <name>
              <surname>Gu</surname>
              <given-names>Z</given-names>
            </name>
            <name>
              <surname>Saremi</surname>
              <given-names>A</given-names>
            </name>
            <name>
              <surname>Freidovich</surname>
              <given-names>L</given-names>
            </name>
            <name>
              <surname>Jiang</surname>
              <given-names>L</given-names>
            </name>
            <name>
              <surname>Wan</surname>
              <given-names>S</given-names>
            </name>
          </person-group>
          <article-title>Timing performance benchmarking of out-of-distribution detection algorithms</article-title>
          <source>J Sign Process Syst</source>
          <year>2023</year>
          <volume>95</volume>
          <fpage>1355</fpage>
          <lpage>70</lpage>
          <pub-id pub-id-type="doi">10.1007/s11265-023-01852-0</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B15">
        <label>15</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Miao</surname>
              <given-names>W</given-names>
            </name>
            <name>
              <surname>Pang</surname>
              <given-names>G</given-names>
            </name>
            <name>
              <surname>Bai</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Li</surname>
              <given-names>T</given-names>
            </name>
            <name>
              <surname>Zheng</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>Out-of-distribution detection in long-tailed recognition with calibrated outlier class learning</article-title>
          <source>Proc AAAI Conf Artif Intell</source>
          <year>2024</year>
          <volume>38</volume>
          <fpage>4216</fpage>
          <lpage>24</lpage>
          <pub-id pub-id-type="doi">10.1609/aaai.v38i5.28217</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B16">
        <label>16</label>
        <nlm-citation publication-type="book">
          <person-group person-group-type="author">
            <name>
              <surname>Ke</surname>
              <given-names>S</given-names>
            </name>
            <name>
              <surname>Gao</surname>
              <given-names>L</given-names>
            </name>
            <name>
              <surname>Li</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Gao</surname>
              <given-names>Y</given-names>
            </name>
          </person-group>
          <comment>Open-set fault diagnosis based on prototype learning with dual category-classifier. In <italic>2024 IEEE 20th International Conference on Automation Science and Engineering (CASE)</italic>, Bari, Italy. Aug 28 - Sep 01, 2024. IEEE; 2024. pp. 3201-6.</comment>
          <pub-id pub-id-type="doi">10.1109/CASE59546.2024.10711424</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B17">
        <label>17</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Ghosal</surname>
              <given-names>SS</given-names>
            </name>
            <name>
              <surname>Sun</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Li</surname>
              <given-names>Y</given-names>
            </name>
          </person-group>
          <article-title>How to overcome curse-of-dimensionality for out-of-distribution detection?</article-title>
          <source>Proc AAAI Conf Artif Intell</source>
          <year>2024</year>
          <volume>38</volume>
          <fpage>19849</fpage>
          <lpage>57</lpage>
          <pub-id pub-id-type="doi">10.1609/aaai.v38i18.29960</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B18">
        <label>18</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Wei</surname>
              <given-names>D</given-names>
            </name>
            <name>
              <surname>Zuo</surname>
              <given-names>M</given-names>
            </name>
            <name>
              <surname>Tian</surname>
              <given-names>Z</given-names>
            </name>
          </person-group>
          <article-title>Open-set fault diagnosis for industrial rotating machines based on trustworthy deep learning</article-title>
          <source>IEEE Trans Ind Cyber Phys Syst</source>
          <year>2025</year>
          <volume>3</volume>
          <fpage>181</fpage>
          <lpage>9</lpage>
          <pub-id pub-id-type="doi">10.1109/TICPS.2025.3539997</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B19">
        <label>19</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Fu</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Liu</surname>
              <given-names>Z</given-names>
            </name>
            <name>
              <surname>Wang</surname>
              <given-names>Z</given-names>
            </name>
          </person-group>
          <article-title>Logit prototype learning with active multimodal representation for robust open-set recognition</article-title>
          <source>Sci China Inf Sci</source>
          <year>2024</year>
          <volume>67</volume>
          <fpage>162204</fpage>
		  <comment><uri xlink:href="https://files.sciengine.com/pdfs/1674-733X/143FD78723854C9F9A8444E33ECE9AF1.pdf">https://files.sciengine.com/pdfs/1674-733X/143FD78723854C9F9A8444E33ECE9AF1.pdf</uri>. (accessed 2026-10-22)</comment>
        </nlm-citation>
      </ref>
      <ref id="B20">
        <label>20</label>
        <nlm-citation publication-type="book">
          <person-group person-group-type="author">
            <name>
              <surname>Dong</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Li</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Xu</surname>
              <given-names>M</given-names>
            </name>
            <name>
              <surname>Wang</surname>
              <given-names>R</given-names>
            </name>
          </person-group>
          <comment>Data generation and prototype learning based open-set fault diagnosis for rotating machinery. In <italic>2024 Prognostics and System Health Management Conference (PHM)</italic>, Stockholm, Sweden. May 28-31, 2024. IEEE; 2024. pp. 202-8.</comment>
          <pub-id pub-id-type="doi">10.1109/PHM61473.2024.00045</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B21">
        <label>21</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Ning</surname>
              <given-names>P</given-names>
            </name>
            <name>
              <surname>Shi</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Holderbaum</surname>
              <given-names>W</given-names>
            </name>
            <name>
              <surname>Xiong</surname>
              <given-names>W</given-names>
            </name>
          </person-group>
          <article-title>Multiclassifier-weighted adversarial network-based open-set fault diagnosis for multimode chemical processes</article-title>
          <source>IEEE Sens J</source>
          <year>2026</year>
          <volume>26</volume>
          <fpage>8448</fpage>
          <lpage>59</lpage>
          <pub-id pub-id-type="doi">10.1109/JSEN.2026.3655734</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B22">
        <label>22</label>
        <nlm-citation publication-type="book">
          <person-group person-group-type="author">
            <name>
              <surname>Shi</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Ghosh</surname>
              <given-names>S</given-names>
            </name>
            <name>
              <surname>Belkhouja</surname>
              <given-names>T</given-names>
            </name>
            <name>
              <surname>Doppa</surname>
              <given-names>JR</given-names>
            </name>
            <name>
              <surname>Yan</surname>
              <given-names>Y</given-names>
            </name>
          </person-group>
          <comment>Conformal prediction for class-wise coverage via augmented label rank calibration. In <italic>Advances in Neural Information Processing Systems</italic>. vol. 37. Curran Associates, Inc.; 2024. pp. 132133-78.</comment>
          <pub-id pub-id-type="doi">10.52202/079017-4200</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B23">
        <label>23</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Tang</surname>
              <given-names>H</given-names>
            </name>
            <name>
              <surname>Jing</surname>
              <given-names>W</given-names>
            </name>
            <name>
              <surname>Tang</surname>
              <given-names>D</given-names>
            </name>
            <name>
              <surname>Yang</surname>
              <given-names>Z</given-names>
            </name>
            <name>
              <surname>Yang</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Xie</surname>
              <given-names>W</given-names>
            </name>
          </person-group>
          <article-title>Global-local attention-aware zero-shot learning for industrial fault diagnosis</article-title>
          <source>IEEE Trans Instrum Meas</source>
          <year>2025</year>
          <volume>74</volume>
          <fpage>1</fpage>
          <lpage>16</lpage>
          <pub-id pub-id-type="doi">10.1109/TIM.2025.3550233</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B24">
        <label>24</label>
        <nlm-citation publication-type="book">
          <person-group person-group-type="author">
            <name>
              <surname>Assefa</surname>
              <given-names>M</given-names>
            </name>
            <name>
              <surname>Naseer</surname>
              <given-names>M</given-names>
            </name>
            <name>
              <surname>Ganapathi</surname>
              <given-names>II</given-names>
            </name>
            <name>
              <surname>Ali</surname>
              <given-names>SS</given-names>
            </name>
            <name>
              <surname>Seghier</surname>
              <given-names>ML</given-names>
            </name>
            <name>
              <surname>Werghi</surname>
              <given-names>N</given-names>
            </name>
          </person-group>
          <comment>DyCON: dynamic uncertainty-aware consistency and contrastive learning for semi-supervised medical image segmentation. In <italic>2025 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)</italic>, Nashiville, USA. Jun 10-17, 2025. IEEE; 2025. pp. 30850-60.</comment>
          <pub-id pub-id-type="doi">10.1109/CVPR52734.2025.02873</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B25">
        <label>25</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Jian</surname>
              <given-names>C</given-names>
            </name>
            <name>
              <surname>Peng</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Mo</surname>
              <given-names>G</given-names>
            </name>
            <name>
              <surname>Chen</surname>
              <given-names>H</given-names>
            </name>
          </person-group>
          <article-title>Open-set domain generalization for fault diagnosis through data augmentation and a dual-level weighted mechanism</article-title>
          <source>Adv Eng Inform</source>
          <year>2024</year>
          <volume>62</volume>
          <fpage>102703</fpage>
          <pub-id pub-id-type="doi">10.1016/j.aei.2024.102703</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B26">
        <label>26</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Yu</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Zhao</surname>
              <given-names>Z</given-names>
            </name>
            <name>
              <surname>Zhang</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Chen</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Cai</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>Statistical identification guided open-set domain adaptation in fault diagnosis</article-title>
          <source>Reliab Eng Syst Saf</source>
          <year>2023</year>
          <volume>232</volume>
          <fpage>109047</fpage>
          <pub-id pub-id-type="doi">10.1016/j.ress.2022.109047</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B27">
        <label>27</label>
        <nlm-citation publication-type="book">
          <person-group person-group-type="author">
            <name>
              <surname>Liu</surname>
              <given-names>B</given-names>
            </name>
            <name>
              <surname>Chen</surname>
              <given-names>Y</given-names>
            </name>
            <name>
              <surname>Liu</surname>
              <given-names>S</given-names>
            </name>
            <name>
              <surname>Kim</surname>
              <given-names>HS</given-names>
            </name>
          </person-group>
          <comment>Deep learning in latent space for video prediction and compression. In <italic>2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)</italic>, Nashville, USA. Jun 20-25, 2021. IEEE; 2021. pp. 701-10.</comment>
          <pub-id pub-id-type="doi">10.1109/CVPR46437.2021.00076</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B28">
        <label>28</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Wang</surname>
              <given-names>B</given-names>
            </name>
            <name>
              <surname>Wen</surname>
              <given-names>L</given-names>
            </name>
            <name>
              <surname>Li</surname>
              <given-names>X</given-names>
            </name>
            <name>
              <surname>Gao</surname>
              <given-names>L</given-names>
            </name>
          </person-group>
          <article-title>Adaptive class center generalization network: a sparse domain-regressive framework for bearing fault diagnosis under unknown working conditions</article-title>
          <source>IEEE Trans Instrum Meas</source>
          <year>2023</year>
          <volume>72</volume>
          <fpage>1</fpage>
          <lpage>11</lpage>
          <pub-id pub-id-type="doi">10.1109/TIM.2023.3273659</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B29">
        <label>29</label>
        <nlm-citation publication-type="book">
          <person-group person-group-type="author">
            <name>
              <surname>Miller</surname>
              <given-names>D</given-names>
            </name>
            <name>
              <surname>Sunderhauf</surname>
              <given-names>N</given-names>
            </name>
            <name>
              <surname>Milford</surname>
              <given-names>M</given-names>
            </name>
            <name>
              <surname>Dayoub</surname>
              <given-names>F</given-names>
            </name>
          </person-group>
          <comment>Class anchor clustering: a loss for distance-based open set recognition. In <italic>2021 IEEE Winter Conference on Applications of Computer Vision (WACV)</italic>, Waikoloa, USA. Jan 03-08, 2021. IEEE; 2021. pp. 3569-77.</comment>
          <pub-id pub-id-type="doi">10.1109/WACV48630.2021.00361</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B30">
        <label>30</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Wang</surname>
              <given-names>C</given-names>
            </name>
            <name>
              <surname>Cheng</surname>
              <given-names>B</given-names>
            </name>
            <name>
              <surname>Deng</surname>
              <given-names>L</given-names>
            </name>
          </person-group>
          <article-title>An adaptive thresholding approach for open set fault diagnosis</article-title>
          <source>Meas Sci Technol</source>
          <year>2024</year>
          <volume>36</volume>
          <fpage>016177</fpage>
          <pub-id pub-id-type="doi">10.1088/1361-6501/ad9625</pub-id>
        </nlm-citation>
      </ref>
      <ref id="B31">
        <label>31</label>
        <nlm-citation publication-type="journal">
          <person-group person-group-type="author">
            <name>
              <surname>Tian</surname>
              <given-names>J</given-names>
            </name>
            <name>
              <surname>Luo</surname>
              <given-names>H</given-names>
            </name>
            <name>
              <surname>Wu</surname>
              <given-names>S</given-names>
            </name>
            <name>
              <surname>Yan</surname>
              <given-names>P</given-names>
            </name>
            <name>
              <surname>Zhang</surname>
              <given-names>J</given-names>
            </name>
          </person-group>
          <article-title>Source-free domain adaptation for open-set cross-domain fault diagnosis</article-title>
          <source>IEEE Trans Ind Informat</source>
          <year>2025</year>
          <volume>21</volume>
          <fpage>9341</fpage>
          <lpage>52</lpage>
          <pub-id pub-id-type="doi">10.1109/TII.2025.3598445</pub-id>
        </nlm-citation>
      </ref>
    </ref-list>
  </back>
</article>