{"id":"b22d3769-5505-49e7-8bb2-cb92de9d3d6b","arxiv_id":"2506.23577","paper_version":2,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":4.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":5,"one_line_summary":"Stacking multiple category names in a CLIP text prompt, along with cluster-specific alignment layers, improves zero-shot industrial defect detection and localization.","lead":"This paper shows that naming several product categories in one text prompt helps a vision-language model spot defects in factory images without training on the target product. The method groups similar categories, learns a small alignment layer per group, and reports top anomaly-localization scores on two industrial benchmarks.","discovery_kind":"extension","skeptic_critique":{"model":"deepseek-v4-flash","headline":"SOTA claim unsupported: baselines only on two datasets, MVTec-AD classification below SDP+, and Table 1 VisA numbers not reproducible from stated protocol.","rationale":"The reader's verdict is CONDITIONAL, and our concern reinforces that judgment rather than changing it. We identified a different load-bearing issue than the reader's weakest_assumption: the reader focused on the CSP clustering assumption, while we focus on the empirical SOTA claim. The abstract and Sec. 4.2 assert SOTA across seven datasets, but the only baseline comparison (Table 1) covers two datasets, and even there the method is not SOTA on MVTec-AD classification. The irreproducibility of the VisA row in Table 1 relative to Table 2 is a concrete, checkable problem that directly undermines the central claim. If the VisA numbers cannot be reproduced from the stated protocol, the paper's primary empirical contribution is in question. This is not a question of theoretical soundness but of verifiability and honest reporting. The reader already flagged overclaiming, so our concern is partially aligned with the reader's rationale. We recommend keeping the verdict CONDITIONAL: the paper should be accepted only if the authors provide reproducible results and revise the SOTA claim to match the evidence. We do not move to REJECT because the stacked-prompt idea may still be valid, and the missing comparisons could be supplied. UNCHANGED reflects that the reader's conditional verdict remains appropriate.","tokens_in":14633,"tokens_out":8359,"duration_ms":80571,"concrete_test":"Reproduce the VisA row of Table 1 using the stated training protocol (MVTec-AD training set only, cluster number selected by Eq. 2, EFA linear layers, frozen CLIP ViT-L/14@336px) and compare the resulting AUPRO, AP, and F1-max to (89.8, 28.0, 34.2). If the reproduced values differ by more than a small tolerance (e.g., >0.5 AUROC), the headline SOTA result is not reproducible, and the paper must supply the missing baseline comparisons on the other five datasets before the SOTA claim can be evaluated.","verdict_should_be":"UNCHANGED","load_bearing_attack":"The central claim (Abstract; Sec. 4.2) that 'StackCLIP achieves state-of-the-art performance across both segmentation and classification tasks' is not supported by the evidence as reported. First, Table 1 compares baselines on only MVTec-AD and VisA; the seven-dataset claim rests on Table 2, which contains only StackCLIP's own results, so 'SOTA' on the other five datasets is unsubstantiated. Second, the paper's own Table 1 shows StackCLIP on MVTec-AD classification reaches AUROC 91.7 and F1-max 92.7, which are 0.5 and 0.7 below SDP+ (92.2 and 93.4); the text even admits this ('only 0.5 and 0.7 lower'). Thus the claim of SOTA in classification is internally contradicted. Third, the VisA row in Table 1 (AUPRO 89.8, AP 28.0, F1-max 34.2) does not match any configuration in Table 2 for the stated training protocol (MVTec-AD train set): the closest MVTec-containing rows give AUPRO 88.9–90.1, AP 20.5–23.1, F1-max 27.5–30.4. The implementation details state that when testing on VisA, the MVTec-AD training set is used, and Table 2's MVTec+MPDD/DTD/DAGM rows are different training mixtures; no MVTec-only row is reported. This makes the headline VisA result irreproducible from the paper's own protocol. The cluster-number selection mechanism (Eq. 2) is not used to justify the choice of cluster number in Table 1; Table 2 shows performance varies substantially with cluster number, so without a principled pre-registered selection rule the reported SOTA could reflect post hoc selection.","agreement_with_reader":"partial"},"referee_report":{"model":"deepseek-v4-flash","summary":"StackCLIP proposes a zero-shot industrial anomaly detection method built on 'stacked prompts,' in which multiple category names are concatenated into a single text prompt rather than using precise per-category prompts or fully abstract 'object' prompts. The method has three trainable components on top of a frozen CLIP backbone: Clustering-Driven Stacked Prompts (CSP), which groups category names by k-means on CLIP text embeddings; Ensemble Feature Alignment (EFA), which learns cluster-specific linear projection heads on multi-level image features; and Regulating Prompt Learning (RPL), which regularizes learnable prompts with a stacked-prompt reference embedding. The paper reports experiments on seven industrial datasets and claims state-of-the-art performance in both zero-shot anomaly classification and segmentation, with detailed ablations on prompt type, cluster number, and the RPL module.","tokens_in":15059,"tokens_out":6323,"duration_ms":62840,"significance":"The stacked-prompt idea is a genuinely different middle ground between precise and abstract prompts, and the paper's internal ablation in Section 4.3, where precise, abstract, and stacked prompts are compared under the same linear-layer training protocol, is a clean and informative experiment. The framework is also conceptually simple and computationally light, using only two training epochs on a single GPU. If the reported gains are reproducible and the claims are restricted to what the evidence supports, the CSP/EFA/RPL design could be a useful contribution to zero-shot industrial anomaly detection. However, the paper currently overclaims: the state-of-the-art assertion is contradicted on one headline dataset, is not backed by baseline comparisons on five of the seven claimed datasets, and at least one headline number is not reproducible from the stated protocol.","major_comments":[{"comment":"The abstract and Section 4.2 claim state-of-the-art performance in both segmentation and classification, but Table 1 shows that on MVTec-AD the proposed method's image-level AUROC (91.7) and F1-max (92.7) are 0.5 and 0.7 points below SDP+ (92.2 and 93.4), which the text itself acknowledges. The classification SOTA claim is therefore internally contradicted on one of the two headline datasets. The claim should be restricted to segmentation, or additional classification results on the other five datasets should be provided.","section":"§4.2, Table 1"},{"comment":"The VisA row in Table 1 (AUPRO 89.8, AP 28.0, F1-max 34.2) cannot be reproduced from the stated protocol. Implementation Details says that when testing on VisA, the MVTec-AD training set is used, but Table 2 contains no MVTec-only training row for VisA; the VisA-test rows are trained on MVTec+MPDD, MVTec+DTD, and MVTec+DAGM, and none of them reports (89.8, 28.0, 34.2). The exact training mixture and cluster number used for the Table 1 VisA row must be specified, otherwise the headline VisA SOTA result is not reproducible.","section":"§4.1 Implementation Details, §4.2 Table 1, §4.3 Table 2"},{"comment":"The seven-dataset state-of-the-art claim is not supported by the reported evidence. Table 1 compares against baselines only on MVTec-AD and VisA, while Table 2 reports only StackCLIP's own pixel-level numbers for DTD-Synthetic, MPDD, DAGM, BTAD, and SDD. Without baseline comparisons on those five datasets, the abstract's claim of 'state-of-the-art performance' across seven industrial anomaly detection datasets is unsubstantiated. Either add the missing baseline comparisons or narrow the claim.","section":"§4.2, Table 2"},{"comment":"The cluster-number selection mechanism in Eq. (2) is not actually used in the experimental protocol. Table 2 reports results for cluster numbers 1, 2, and 3 and shows that performance varies substantially with the cluster count, yet the paper never states which cluster number Eq. (2) selects for each training mixture, nor whether the numbers used in Table 1 were selected a priori. Without this information, the best-performing cluster counts in Table 2 could be a post hoc selection, and the scoring mechanism in Eq. (2) is not validated. The authors should report the n* chosen by Eq. (2) for each setting and compare it with the grid of cluster numbers.","section":"§3.2, Eq. (2); §4.3, Table 2"},{"comment":"No error bars or multiple-seed results are reported anywhere in the paper. Several headline comparisons are close, such as the 0.5 AUROC gap on MVTec-AD classification and the 0.4-1.3 AUPRO differences among Table 2 rows, so without run-to-run variance it is impossible to assess whether the reported improvements are statistically meaningful. Reporting means and standard deviations over at least three seeds is needed for the main tables.","section":"§4.2, Tables 1 and 2"}],"minor_comments":[{"comment":"The focal loss equation uses an undefined symbol M_f in the first term; this appears to be a typo for M^ℓ_{i,j} and should be corrected.","section":"§3.3, Eq. (10)"},{"comment":"The inference description defines the test-cluster-specific text embedding t_{t,i}, but Eq. (14) computes attention weights using t_i from Eq. (8); the paper should clarify which text embedding is actually used for the weights.","section":"§3.3, Eq. (14) and surrounding text"},{"comment":"Reference [15] is cited for prompt learning, but the bibliography entry is a knowledge-graph completion paper; the citation appears mismatched and should be replaced with an appropriate prompt-learning reference.","section":"§2.2, Reference [15]"},{"comment":"The method name 'APRIL-GAN' is spelled 'APIRL-GAN' in the text; the spelling should be made consistent with Table 1.","section":"§4.2, first paragraph"},{"comment":"The column header 'RankTraning' appears to be an accidental merge of 'Rank' and 'Training'; the meaning of the last numeric column should be clarified or split into separate headers.","section":"Table 1, header"}],"recommendation":"major_revision","confidential_remarks":"The central stacked-prompt idea is interesting and the internal ablations are informative, but the paper's claims currently exceed its evidence: the classification SOTA is contradicted on MVTec-AD, the VisA headline result is not reproducible from the stated protocol, baseline comparisons are missing for five of the seven claimed datasets, and the cluster-count selection is not validated. These are fixable with additional experiments and a careful rewriting of the claims, so I recommend major revision rather than rejection. I would also ask the editor to ensure the authors address the reproducibility issue for Table 1's VisA row before any further consideration."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"First thing you should know: the core idea—stacking category names into one prompt instead of using precise or abstract prompts—is real and the paper shows it convincingly in the ablations. The training curves in Fig. 4 are clear: stacked prompts beat precise prompts by a wide margin on MVTec-AD when trained on VisA, and also beat abstract prompts by a smaller but consistent margin. That is a useful, cheap improvement for zero-shot industrial inspection. The EFA module, with cluster-specific linear heads and attention-weighted ensembling, is a reasonable extension and the clustering visualization shows it does group semantically related categories.\n\nBut the paper's headline claim—state of the art on both detection and segmentation across seven datasets—is not supported by what's reported. Table 1 only compares baselines on MVTec-AD and VisA. The other five datasets appear only in Table 2, which contains StackCLIP's own numbers and no baselines, so calling that SOTA is just an assertion. More troubling, Table 1 itself undercuts the claim: on MVTec-AD classification, StackCLIP gets 91.7 AUROC and 92.7 F1-max, both below SDP+ (92.2 and 93.4). The text admits this but still says 'state-of-the-art across both segmentation and classification tasks' a few lines earlier. That's an internal contradiction.\n\nThe VisA row in Table 1 is also not reproducible from the stated protocol. The paper says when testing on VisA, it uses the MVTec-AD training set and a single linear-layer training stage. But Table 2's closest configurations (MVTec+MPDD, MVTec+DTD, MVTec+DAGM) give different numbers, and no MVTec-only row is reported. The AUPRO of 89.8 and AP of 28.0 in Table 1 don't match any of those rows. So the headline VisA result cannot be reconstructed from the paper's own tables.\n\nThe cluster-count selection equation (Eq. 2) is never used to justify the n* chosen for Table 1. Instead the experiments just try cluster numbers 1, 2, and 3 and report the best. That's post-hoc selection, and Table 2 shows performance varies with cluster count by a few points, so this matters. No error bars anywhere, which is common in this literature but worth noting given the small differences (1–3 AUPRO points) that the SOTA claims rest on. The references also have some sloppiness (duplicate entries, an 'et al.' in an author slot), but that's minor.\n\nBottom line: this is a solid, incremental idea that needs a serious referee and a major cleanup before publication. The stacked-prompt comparison is worth publishing; the SOTA claim needs to be scaled back to 'competitive on the two datasets we compared' and the VisA numbers need to be reconciled with the stated protocol. I'd send it to review, not desk-reject, but I'd make the authors fix the reproducibility issues before I'd trust the headline numbers.","headline":"A genuine prompt-stacking idea with strong ablations, but the SOTA claim is contradicted by the paper's own table and the key VisA numbers don't reproduce from the stated protocol.","tokens_in":15572,"tokens_out":2873,"would_cite":false,"duration_ms":28822,"reading_group":"maybe","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"StackCLIP claims that stacking semantically related category names into a single prompt beats precise and abstract prompts for zero-shot industrial anomaly detection.","keywords":["zero-shot anomaly detection","CLIP","industrial anomaly detection","prompt learning","stacked prompts","clustering","feature alignment","anomaly segmentation"],"falsifier":"Train the EFA module on VisA with the stacked-prompt template but assign categories to clusters at random, preserving the k-means cluster sizes, and compare AUPRO on MVTec-AD; if random clusters match or exceed the k-means result, the clustering premise is not carrying the reported gain.","tokens_in":14458,"feed_emoji":"🏭","tokens_out":8357,"duration_ms":81422,"temperature":0.7,"pith_summary":"This paper is trying to settle what kind of text prompt should accompany CLIP in zero-shot industrial anomaly detection. Existing methods either name the exact category in the prompt, which makes the model focus on the object and overfit, or drop the category name entirely for a generic \"object\" prompt, which loses category-specific cues such as wood's natural color variation. The proposed middle path is a stacked prompt that groups semantically nearby categories, for example \"a photo of a damaged bottle [glass, plastic, textile]\". The paper argues that stacked prompts keep enough category information while staying general, and that clustering-driven grouping plus cluster-specific learned alignment layers and prompt regularization push both segmentation and classification ahead of prior zero-shot CLIP-based methods. If true, the result is a single frozen-CLIP system that adapts to new categories without retraining and with better training stability than precise-prompt approaches.","feed_headline":"Stacked prompts lift zero-shot anomaly detection to state of the art","feed_subtitle":"StackCLIP blends cluster-specific heads trained for each stacked prompt, beating prior CLIP methods","key_machinery":"The central object is the stacked text prompt, a template that appends several category names after the normality or abnormality state word: `a photo of a [state][cls_1][cls_2]...[cls_n]`. The Clustering-Driven Stacked Prompt (CSP) module is the selection mechanism: it embeds category names with the CLIP text encoder, runs k-means on those embeddings, and picks the number of clusters using the cluster-count-penalized intra-cluster variance score of Eq. (2). The Ensemble Feature Alignment (EFA) module is the second load-bearing mechanism: it trains a separate linear projector per cluster and per selected image-encoder layer, then adaptively averages the resulting anomaly maps with attention weights derived from cosine similarity between the test image's CLS token and each cluster text embedding. The Regulating Prompt Learning (RPL) module adds a mean-squared-error loss between learned prompt embeddings and a fixed stacked-prompt embedding; this is what prevents the classification branch's prompt learning from overfitting.","core_discovery":"The central claim is that the limiting factor in CLIP-based zero-shot industrial anomaly detection is the prompt's specificity, and that replacing one category name with a stack of semantically analogous category names is the operative fix. StackCLIP clusters the training category names by their CLIP text embeddings using k-means, builds one stacked prompt per cluster, trains a small linear projection head per cluster and per selected image-encoder layer (layers 6, 12, 18, and 24 of the frozen CLIP encoder) to align image patches with that cluster's text embedding, and at test time weights the heads by cosine similarity between the test image's CLS token and each cluster's text embedding. The paper reports this reaches an AUPRO of 86.4 on MVTec-AD against 85.1 for the strongest prior staged dual-path method and 81.4 for the object-agnostic prompt-learning method, and that it tops all baselines on VisA. It also reports that the stacked prompt alone raises AUPRO by 42.6 points over the precise prompt when only linear heads are trained, and that the RPL regularization term raises classification AUROC from 83.4 to 91.7. The paper concludes that stacked prompts generalize better than precise or abstract prompts, that cluster-specific ensemble alignment improves segmentation, and that regularizing learned prompts toward a fixed stacked-prompt embedding improves classification.","pith_inferences":["Since the text encoder is frozen, the clusters inherit CLIP's embedding biases; the same stacked-prompt recipe could plausibly transfer to other vision-language backbones, but the k-means cluster quality would need to be re-measured per backbone.","The large AUPRO jump from precise to stacked prompts with identical linear heads suggests much of the gain may come from the prompt template itself; ablating with random but valid category stacks would isolate how much semantic clustering contributes.","The paper's stated difficulty with ambiguous cluster boundaries implies that soft clustering or learned category-to-cluster assignment could extend the method to datasets whose category names are not cleanly separable in text embedding space.","For industrial deployment, the frozen-backbone design keeps adaptation cheap, but categories that are hard to describe in text would likely need auxiliary image-only or multi-modal descriptors, which the paper leaves to future work."],"forward_implications":["A single frozen CLIP backbone with a few linear heads can be trained on one industrial dataset and transferred zero-shot to another without per-category retraining.","Stacked prompts reduce training instability and overfitting compared to precise prompts, whose AUPRO can drop sharply within a single training epoch.","Classification improves when learned prompts are regularized toward a fixed stacked-prompt embedding rather than trained freely.","As more training categories and cluster-specific linear heads are added, performance generally improves, suggesting the method scales with data diversity.","On the reported benchmarks the largest gains are in anomaly segmentation, with AUPRO, AP, and F1-max improved substantially over prior CLIP-based zero-shot detectors."],"supporting_citations":[{"why":"The frozen CLIP encoders that provide all image and text features used by the proposed modules.","marker":"[28]"},{"why":"Introduces the precise-prompt baseline and sliding-window design that stacked prompts are compared against.","marker":"[16]"},{"why":"Introduces the object-agnostic abstract prompt learning approach that the paper contrasts with stacked prompts.","marker":"[39]"},{"why":"The prior work that trained a linear projection layer for CLIP feature alignment, which EFA extends.","marker":"[7]"},{"why":"The strongest staged dual-path baseline whose segmentation and classification scores StackCLIP compares against.","marker":"[8]"},{"why":"The prompt-regularization idea that RPL adapts into a stacked-prompt MSE constraint.","marker":"[19]"},{"why":"MVTec-AD, the main benchmark used for zero-shot evaluation and for cross-dataset training.","marker":"[3]"},{"why":"VisA, the main benchmark used for zero-shot evaluation and as the cross-dataset training source.","marker":"[41]"}],"fun_headline_variants":["Stacked prompts lift zero-shot anomaly detection to state of the art","Clustering category names sharpens CLIP anomaly detection","StackCLIP: Stacked prompts generalize better than precise ones","Ensemble of cluster-specific heads boosts anomaly segmentation"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"The method assumes that k-means on CLIP text embeddings of category names yields clusters in which one shared stacked prompt and one shared learned linear projection can represent every member category well enough to separate normal from anomalous patches.","fun_headline_variants_meta":{"raw":{"variants":["Stacked prompts lift zero-shot anomaly detection to state of the art","Clustering category names sharpens CLIP anomaly detection","StackCLIP: Stacked prompts generalize better than precise ones","Ensemble of cluster-specific heads boosts anomaly segmentation"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.000751,"raw_usage":{"total_tokens":3403,"prompt_tokens":1064,"completion_tokens":2339,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":680,"completion_tokens_details":{"reasoning_tokens":2272}},"tokens_in":680,"tokens_out":2339,"duration_ms":17106,"temperature":1.0,"reasoning_tokens":2272,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-06T21:38:07.938631+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Train the EFA module on VisA with the stacked-prompt template but assign categories to clusters at random, preserving the k-means cluster sizes, and compare AUPRO on MVTec-AD; if random clusters match or exceed the k-means result, the clustering premise is not carrying the reported gain.","supporting_citations":[{"cited_title":null,"cited_arxiv_id":null,"evidence_quote":"The frozen CLIP encoders that provide all image and text features used by the proposed modules."},{"cited_title":null,"cited_arxiv_id":null,"evidence_quote":"Introduces the precise-prompt baseline and sliding-window design that stacked prompts are compared against."},{"cited_title":null,"cited_arxiv_id":null,"evidence_quote":"Introduces the object-agnostic abstract prompt learning approach that the paper contrasts with stacked prompts."},{"cited_title":null,"cited_arxiv_id":null,"evidence_quote":"The prompt-regularization idea that RPL adapts into a stacked-prompt MSE constraint."},{"cited_title":null,"cited_arxiv_id":null,"evidence_quote":"MVTec-AD, the main benchmark used for zero-shot evaluation and for cross-dataset training."}],"review_version":1}