{"id":"ebe5a57b-3f97-420a-b45b-d945de71389d","arxiv_id":"2508.21795","paper_version":1,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":6.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":4,"one_line_summary":"TMUAD detects both structural and logical anomalies by comparing a query image's textual object descriptions, object crops, and image patches against three normal memory banks, reaching state-of-the-art AUROC on seven datasets.","lead":"This paper introduces TMUAD, an anomaly detector that adds a text memory bank of object descriptions to standard image memory banks, so it can catch logical defects like missing or misplaced parts as well as scratches and dents. It reports state-of-the-art results across seven industrial and medical benchmarks, and the text bank also improves an existing detector when plugged in.","discovery_kind":"new_method","skeptic_critique":{"model":"deepseek-v4-flash","headline":"VLM position strings are compared by strict inequality (Algorithm 2, lines 12-13) with no repeatability analysis; phrasing variance on normal images could break the logical AUROC claim in Table VII.","rationale":"The paper's ablations support the mechanism: MT alone yields logical AUROC 88.4 versus MO 58.1 and MP 69.7 (Table V), so the text memory bank is doing real work. However, the logical anomaly score depends on comparing object positions as exact strings. The reader's weakest assumption is precisely this fragility. I agree: the paper provides no VLM repeatability analysis, no normalization, and no tolerance. The few-shot results (Section V-B) already show that the strict strategy is overly restrictive when data is limited, reinforcing the concern that strict string inequality is brittle. Other issues, such as hyperparameters selected without a validation protocol and missing error bars, weaken the broad SOTA claim but do not directly attack the core mechanism. The recommended check on normal-image VLM stability would settle whether the 9.3 AUROC gain in Table VII is reproducible or an artifact of particular VLM outputs. Since the reader's verdict is already CONDITIONAL and this concern supports it, no verdict change is needed.","tokens_in":20065,"tokens_out":4844,"duration_ms":55327,"concrete_test":"Fix 200 normal images from MVTec LOCO. Run Algorithm 1's VLM position extraction five times per image, alternating temperature 0 and 0.2 with identical prompts. Compute (a) the fraction of object categories whose position string changes across runs, and (b) the false-positive rate when the first run builds MT and later runs are used as queries in Algorithm 2, i.e., normal images flagged as position-anomalous solely from string mismatch. If (a) or (b) is materially above zero (e.g., >2% of normal images), strict string inequality is too brittle and the Table VII gain needs string normalization or repeated-run consensus to be reproducible.","verdict_should_be":"UNCHANGED","load_bearing_attack":"The central claim is that the class-level text memory bank MT drives the logical anomaly gain: UniVAD + MT raises MVTec LOCO image-level AUROC from 81.9 to 91.2 (Table VII), and the full model reaches 94.6 (Table I). Algorithm 2 treats O_j_pos != O_t_pos as an anomaly signal, where positions are generated once by Qwen2-VL in Algorithm 1 (line 15). No string normalization, tolerance, or repeated sampling is used, and the paper reports no run-to-run stability of the VLM outputs. If Qwen2-VL emits 'Center-Center' in one text entry and 'center' or 'Center-Left' in another for the same physical layout, every normal query in that category is scored as a position anomaly, directly contaminating the logical AUROC. The paper's own few-shot experiments (Section V-B) acknowledge that the strict text-matching strategy is 'overly restrictive' with limited data; the same fragility can appear at full data if VLM phrasing varies. Since logical AUROC is the core novelty, the load-bearing assumption is that VLM position strings are deterministic enough for strict inequality to be a reliable logical-anomaly test.","agreement_with_reader":"agree"},"referee_report":{"model":"deepseek-v4-flash","summary":"TMUAD proposes a three-memory-bank framework for unified logical and structural anomaly detection. It constructs a class-level text memory bank (MT) by using Grounded SAM, CLIP, and Qwen2-VL to produce structured textual descriptions of object category, count, fuzzy position, and size; an object-level image memory bank (MO) from segmented objects via SAM and CLIP; and a patch-level image memory bank (MP) from CLIP/DINOv2 features. At test time, each memory bank produces an anomaly score, and the three scores are fused with fixed weights (Eq. 5). The paper claims state-of-the-art image-level AUROC on MVTec LOCO (94.6) and strong results on six industrial/medical structural datasets. A central plug-and-play result is that adding MT to UniVAD raises MVTec LOCO image-level AUROC from 81.9 to 91.2 (Table VII).","tokens_in":20416,"tokens_out":6982,"duration_ms":80889,"significance":"If the claims hold, the paper makes a useful contribution: it shows that structured textual descriptions of object categories, counts, positions, and sizes can serve as a sufficient carrier for logical anomaly scoring, and that a text memory bank can be plugged into existing detection frameworks (Table VII, column 10 vs column 8). The three-memory-bank ablations in Tables V-VII are informative, and the limitation section is candid about failure cases and few-shot degradation. The main risks are reproducibility and robustness: the logical anomaly score depends on an undefined search procedure and on strict string comparisons of VLM outputs whose repeatability is not analyzed. These issues are fixable within the manuscript's scope.","major_comments":[{"comment":"The function `Search(T_q_img, MT)` is never defined. It is the first step of the class-level text anomaly score and determines which normal text Tsim is compared against the query. The reader cannot tell whether Tsim is the single most similar training description in an embedding space (CLIP text? T5??) or a per-category nearest neighbor, nor which similarity metric is used. Table VI, row 5, reports the ``Class-level Text Matching only MT'' result (88.4 AUROC) without specifying the representation used for selecting Tsim. This is load-bearing for the logical AUROC and for the UniVAD+MT gain in Table VII; please specify the algorithm and ideally ablate the choice of retrieval representation.","section":"Algorithm 2, line 3; Section III-C1"},{"comment":"The logical anomaly test treats `O_j_pos != O_t_pos` as an anomaly signal. Position strings are produced once by Qwen2-VL (Algorithm 1, line 15) with no normalization, tolerance, or repeated sampling. VLM outputs are not deterministic; phrasing variants such as ``Center-Center'' versus ``center'' on two normal images with the same layout will cause every normal query to be scored as a position anomaly. The paper's own few-shot analysis (Section V-B) states that the strict text matching strategy is ``overly restrictive'' with limited data; the same fragility can appear at full data if VLM phrasing varies. Please provide a repeatability study of the VLM position outputs on normal images, or introduce a fuzzy/soft matching rule, and quantify the effect on the reported logical AUROC in Table VII.","section":"Algorithm 2, lines 12-13; Section V-B"},{"comment":"The fusion weights lambda_1=0.05, lambda_2=0.3, lambda_3=0.65 are set empirically, but the paper reports no validation split, sensitivity analysis, or selection procedure. Because the method is unsupervised and the test labels are not used for training, it is essential to know whether these weights were selected on the test set; if so, the headline 94.6 AUROC may be optimistically biased. Similarly, the K-means cluster counts (100 for MP, 1000 for MO) and the CLIP fine-tuning sample count (200 per category) are given without a validation protocol. Please add a sensitivity study for lambda_i and clarify how all hyperparameters were chosen.","section":"Section III-C4, Eq. (5); Section IV-B"},{"comment":"The scope of `Ic` is inconsistent. In Algorithm 1, line 7 initializes `{Ic | c in C} <- 0` inside the per-image loop, so `Ic` accumulates masks only within one training image. However, Algorithm 2, line 22 uses `Ic` as ``all possible regions where the categories Ot_class could occur,'' which suggests a global mask accumulated over the whole training set. The pseudocode does not explain where such a global mask is stored or how query-image masks are aligned with training-image masks. Since missing-category detection is a logical signal, this ambiguity prevents exact reproduction of the ST computation. Please clarify the definition and storage of Ic.","section":"Algorithm 1, lines 7-14 and Algorithm 2, line 22"}],"minor_comments":[{"comment":"The reported MVTec LOCO image-level AUROC for Ours is 94.6 in Table I but 95.2 in Table IV's ``Average'' column. If these numbers are computed on different aggregations (per-category mean vs mean of logical and structural subaverages), please state this explicitly to avoid an apparent inconsistency.","section":"Table I vs Table IV"},{"comment":"The size deviation coefficient alpha divides by (s_max - s_min). If all normal images in a category have the same object size, this denominator is zero. Please add a guard or specify the behavior in that degenerate case.","section":"Eq. (1)-(2), Algorithm 2 lines 14-18"},{"comment":"The notation `MT := {T_i_img}ni_i=1` is confusing; the index i already denotes the normal image number, and the lower/upper bound should be typeset as `{T_img^i}_{i=1}^{n_i}`. The current notation appears to place `ni` in the subscript in two roles.","section":"Algorithm 1 and Section III-B1"},{"comment":"The column header ``PBAS+MT / PBAS'' is ambiguous. Please use separate columns or a clear note so the reader knows which numbers correspond to PBAS+MT and which to PBAS alone.","section":"Tables II and III"},{"comment":"The condition `if Ot_class not in {O_j_class}` uses a subscript `t` from the retrieved Tsim, while the set notation uses `O_j_class`; this is typeset inconsistently. Please unify the index notation.","section":"Algorithm 2, line 21"}],"recommendation":"major_revision","confidential_remarks":"The core idea is attractive and the plug-and-play result in Table VII is the strongest evidence that the text memory bank contributes to logical anomaly detection. However, the undefined Search procedure, the unanalyzed strict string matching of VLM outputs, and the missing validation protocol for fusion weights are load-bearing for the central claims. These are all addressable with additional experiments or exposition within the scope of the manuscript. I do not see a fundamental flaw that would require rejection."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"Colleague,\n\nRead this one if you care about logical anomaly detection. The core idea is that instead of extracting logical features from image patches, you describe object categories, counts, fuzzy positions, and sizes as text, store those descriptions in a class-level memory bank, and then detect an anomaly when a query description mismatches the retrieved normal description. The reverse-locating trick—using the mask of the object class to turn a text mismatch into a pixel-level score—is a nice piece of plumbing, and it makes the text bank plug into existing frameworks. The numbers support the mechanism: adding MT to UniVAD lifts MVTec LOCO image AUROC from 81.9 to 91.2, and the full three-memory system reaches 94.6, ahead of LogSAD's 90.2. The ablations in Tables V–VII are honest and each component earns its place. The few-shot section is also candid: strict text matching hurts with 4 shots, and they report a relaxed version.\n\nSoft spots. The main one is the exact-string comparison of VLM position outputs in Algorithm 2. The paper never analyzes run-to-run variance of Qwen2-VL on near-identical normal images, nor does it give the prompt template or any normalization or tolerance. If the VLM's position vocabulary is not effectively fixed, normal queries will be flagged as position anomalies and the logical AUROC claim in Table VII is contaminated. This is a real risk, though it may be mitigated by a constrained prompt; the authors should publish the prompt and a repeatability analysis. Second, the fusion weights (0.05/0.3/0.65) and K-means cluster counts (100, 1000) are set empirically with no validation split or error bars; with gains this large it is unlikely to be pure overfitting, but the protocol should be described. Third, the tables are a bit hard to verify—some comparisons are retrained by the authors, others copied from papers, and the formatting is crowded. Code is promised; check whether it ships with a commit hash and exact prompts.\n\nBottom line: the central idea is sound and the gain is large enough to matter. The VLM-stability concern is the one to push on in review; if that holds up, this is a solid contribution. I'd send it to serious referees and would cite it in my own work on logical anomaly detection.\n\nRecommendation: accept for peer review, with requests for prompt disclosure, position repeatability stats, and a validation-based hyperparameter selection.","headline":"Class-level text memory bank for logical anomaly detection gives a real, well-ablated gain (UniVAD + MT: +9.3 AUROC on MVTec LOCO), but the strict string matching of VLM positions needs repeatability evidence and the hyperparameters are tuned without a validation protocol.","tokens_in":20884,"tokens_out":2305,"would_cite":true,"duration_ms":25971,"reading_group":"yes","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":[],"pacs":[],"model":"deepseek-v4-flash","headline":"A text memory bank turns object counts, positions, and sizes into logical anomaly detectors.","keywords":["anomaly detection","logical anomaly","structural anomaly","memory bank","vision-language model","text description","unified anomaly detection","MVTec LOCO"],"falsifier":"Take a set of normal images from one MVTec LOCO category, run the logic-aware text extractor several times with perturbed crops or lighting and with repeated VLM calls, and count how often Algorithm 2 flags an object-position or count anomaly on normal images. If the false-positive rate from VLM phrasing variance is comparable to the true logical anomaly detection rate, the strict string comparison cannot bear the reported logical AUROC.","tokens_in":19993,"feed_emoji":"🔍","tokens_out":5767,"duration_ms":62798,"temperature":0.7,"pith_summary":"TMUAD makes a specific bet: the logical relationships that anomaly detection needs—which objects are present, how many, where they sit relative to the frame, and how large they are—can be written down as short text strings and stored in a memory bank of normal descriptions, and logical anomalies can then be flagged by comparing the query's text tuple against that memory. The paper builds this class-level text memory bank alongside an object-level image memory bank (segmented objects, preserving contours) and a patch-level image memory bank (CLIP + DINOv2 features) for structural anomalies. On MVTec LOCO, the text bank alone reaches 88.4 image-level AUROC for logical anomalies, and adding it to UniVAD lifts the unified score from 81.9 to 91.2. Across seven industrial and medical datasets, the full three-bank framework reports state-of-the-art performance in the comparisons shown. The insight matters because previous unified methods try to coax logical relationships out of high-dimensional image features, most of which are irrelevant to logic; text is a compressed, explicit representation of exactly the information logic requires.","feed_headline":"Text memory bank lifts logical anomaly detection by 9 AUROC points","feed_subtitle":"Structured text on object counts, positions, and sizes catches logical defects image features miss","key_machinery":"The carrier of the argument is the class-level text memory bank MT, together with the logic-aware text extractor and the strict matching rule in Algorithm 2. For each training image, MT stores per-category tuples {class, count, fuzzy position, size}; at inference, Algorithm 2 compares the query's tuples to the most similar normal text and treats strict inequality in count or position, over- or under-sized objects, or missing categories as anomalies, using the corresponding object masks for pixel-level scores. This text-based symbolic comparison replaces graph or similarity-matrix constructions over image features as the logical-anomaly mechanism.","core_discovery":"The central claim is that a class-level text memory bank—structured descriptions per object category: class, count, fuzzy position string, and size percentage—performs logical anomaly detection better than image-feature logical modeling, and that combining this text bank with two image memory banks yields a single framework that handles both logical and structural anomalies. The text tuples are extracted by segmenting objects (Grounded SAM), naming them (CLIP), asking a VLM for fuzzy positions, and computing size percentages. At test time, the query tuple is matched against the nearest normal description; mismatched count or position, size outside the normal range, or a category absent from","pith_inferences":["The strict string-equality rule likely underestimates logical AUROC under VLM phrasing variance; a paraphrase-tolerant comparator or normalized position vocabulary should raise the ceiling and stabilize few-shot performance.","Because MT stores explicit text, it yields human-readable reasons for each anomaly (for example, 'container moved from Center-Center to Center-Left'), making auditability feasible on top of detection.","The same text-bank idea could extend to reconstruction-based or diffusion detectors, which are currently weak on logical anomalies, by supplying a symbolic consistency check independent of image reconstruction.","The fuzzy-position vocabulary may drift with image resolution or domain shift, so position strings should be recalibrated per dataset; the paper's per-dataset CLIP fine-tuning suggests such calibration helps."],"forward_implications":["Any structural-anomaly detector can gain logical ability by attaching MT: UniVAD jumps from 81.9 to 91.2 AUROC on MVTec LOCO, and PBAS+MT reaches 92.0.","Logical anomalies can be localized at pixel level, not just flagged per image, because mismatched text fields point back to the object masks that caused the mismatch.","The same three-bank recipe transfers across industrial and medical images, since the text extractor runs on categories defined per dataset rather than fixed defect types.","The strict-matching design means performance depends on the diversity of normal text tuples; with enough normal samples the VLM position strings saturate the vocabulary, which is why full-data results exceed few-shot results.","Even without the large VLM, a reduced variant (TMUAD-U-S) holds 94.1 AUROC on MVTec LOCO, so the text-bank gain is not simply an artifact of the VLM's scale."],"supporting_citations":[{"why":"UniVAD is the main unified baseline the paper extends and beats; the plug-in experiment adding MT to UniVAD (81.9 to 91.2) is the paper's cleanest evidence for the text bank's effect.","marker":"[30]"},{"why":"MVTec LOCO is the logical-anomaly benchmark that supplies the primary testbed for logical AUROC and the failure-case analysis.","marker":"[6]"},{"why":"Qwen2-VL is the VLM that generates the fuzzy position strings used in the text tuples; its output feeds Algorithm 2's positional matching.","marker":"[44]"},{"why":"Grounded SAM produces the semantic object segments and category labels that seed the logic-aware text extractor.","marker":"[45]"},{"why":"CLIP classifies segmented objects, provides object and patch image features for the memory banks, and supplies the text encoder used in ablations.","marker":"[43]"},{"why":"SAM segments objects for the object-level image memory bank, preserving complete object contours for structural scoring.","marker":"[42]"},{"why":"LogSAD is the closest text-based training-free logical AD method; it provides the comparison and motivation for moving position processing into text.","marker":"[25]"},{"why":"DINOv2 supplies the second patch-level visual encoder, contributing fine-grained structural features that complement CLIP in the patch memory bank.","marker":"[49]"}],"fun_headline_variants":["Text memory bank boosts logical anomaly detection by 9 AUROC points","Unifying logical and structural anomaly detection with text+image memories","Structured text descriptions catch logical defects images miss","Text memory bank: new SOTA for logical and structural anomaly detection","How a text memory bank fixes logical anomaly detection"],"cache_read_input_tokens":2688,"weakest_assumption_plain":"The VLM produces the same position phrase for the same visual layout every time, so that a strict string inequality between query and memory really means a positional anomaly rather than a rephrasing of the same arrangement.","fun_headline_variants_meta":{"raw":{"variants":["Text memory bank boosts logical anomaly detection by 9 AUROC points","Unifying logical and structural anomaly detection with text+image memories","Structured text descriptions catch logical defects images miss","Text memory bank: new SOTA for logical and structural anomaly detection","How a text memory bank fixes logical anomaly detection"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.000192,"raw_usage":{"total_tokens":1189,"prompt_tokens":753,"completion_tokens":436,"prompt_tokens_details":{"cached_tokens":256},"prompt_cache_hit_tokens":256,"prompt_cache_miss_tokens":497,"completion_tokens_details":{"reasoning_tokens":354}},"tokens_in":497,"tokens_out":436,"duration_ms":5002,"temperature":1.0,"reasoning_tokens":354,"cache_read_input_tokens":256,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-05T13:56:23.644112+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Take a set of normal images from one MVTec LOCO category, run the logic-aware text extractor several times with perturbed crops or lighting and with repeated VLM calls, and count how often Algorithm 2 flags an object-position or count anomaly on normal images. If the false-positive rate from VLM phrasing variance is comparable to the true logical anomaly detection rate, the strict string comparison cannot bear the reported logical AUROC.","supporting_citations":[{"cited_title":"Univad: A training-free unified model for few-shot visual anomaly detection,","cited_arxiv_id":null,"evidence_quote":"UniVAD is the main unified baseline the paper extends and beats; the plug-in experiment adding MT to UniVAD (81.9 to 91.2) is the paper's cleanest evidence for the text bank's effect."},{"cited_title":"Be- yond dents and scratches: Logical constraints in unsupervised anomaly detection and localization,","cited_arxiv_id":null,"evidence_quote":"MVTec LOCO is the logical-anomaly benchmark that supplies the primary testbed for logical AUROC and the failure-case analysis."},{"cited_title":"Learning transferable visual models from natural language supervision,","cited_arxiv_id":null,"evidence_quote":"CLIP classifies segmented objects, provides object and patch image features for the memory banks, and supplies the text encoder used in ablations."},{"cited_title":"Segment anything,","cited_arxiv_id":null,"evidence_quote":"SAM segments objects for the object-level image memory bank, preserving complete object contours for structural scoring."},{"cited_title":"Towards training-free anomaly detection with vision and language foundation models,","cited_arxiv_id":null,"evidence_quote":"LogSAD is the closest text-based training-free logical AD method; it provides the comparison and motivation for moving position processing into text."},{"cited_title":"Dinov2: Learning robust visual features without supervision,","cited_arxiv_id":null,"evidence_quote":"DINOv2 supplies the second patch-level visual encoder, contributing fine-grained structural features that complement CLIP in the patch memory bank."}],"review_version":1}