TinyGLASS: Real-Time Self-Supervised In-Sensor Anomaly Detection
Organizations: ETH Zurich, Zurich, Switzerland · Interdisciplinary Transformation University of Austria, Linz, Austria · Swiss Engineering Partners AG, Zurich, Switzerland
Abstract
Anomaly detection plays a key role in industrial quality control, where defects must be identified despite the scarcity of labeled faulty samples. Recent self-supervised approaches, such as GLASS, learn normal visual patterns using only defect-free data and have shown strong performance on industrial benchmarks. However, their computational requirements limit their deployment on resource-constrained edge platforms, especially within in-sensor processing architectures. This work introduces TinyGLASS, a lightweight adaptation of the GLASS framework designed for real-time edge and in-sensor anomaly detection. The proposed architecture replaces the original WideResNet-50 backbone with a compact ResNet-18 and introduces deployment-based modifications that enable static graph tracing and INT8 quantization. We evaluate the proposed approach on the Sony IMX500 intelligent vision sensor, exploiting the in-sensor processor using the Sony Model Compression Toolkit. In addition to evaluating performance on the MVTec-AD benchmark, we investigate robustness to contaminated training data and introduce a custom industrial dataset, named MMS Dataset, for cross-device evaluation. Experimental results show that TinyGLASS achieves 8.6x parameter compression while maintaining competitive detection performance, reaching 94.2% image-level AUROC on MVTec-AD and operating at 20 FPS within the 8 MB memory constraints of the IMX500 platform. System profiling showcases low power consumption (4.0 mJ per inference), real-time end-to-end throughput (20 FPS), and high energy efficiency (470 GMAC/J). Furthermore, the model demonstrates stable performance under moderate levels of training data contamination.
Figures & tables
| Camera | Microscope | IMX500 | ||
|---|---|---|---|---|
| Category | Train | Test+Val | Train | Test+Val |
| Normal / Good | 166 | 42 | 184 | 55 |
| Crack-hole | 0 | 18 | 0 | 28 |
| Scratch | 0 | 39 | 0 | 42 |
| Half | 0 | 14 | 0 | 14 |
| Defective (all types) | 0 | 71 | 0 | 84 |
| Model | Format | Params | AUROC (%) | |
|---|---|---|---|---|
| Image | Pixel | |||
| GLASS [ 29 ] | float-32 | 24.9 M | 99.1 | 98.3 |
| TinyGLASS (ours) | float-32 | 2.9 M | 94.6 | 92.9 |
| TinyGLASS (ours) | int-8 | - | 94.2 | 90.9 |