Skip to main content
In what follows it is assumed that the architecture has evolved into a streaming architecture as outlined in the inference pipeline options that is required for real-time inference at a rate of 10fps. As such any discussion associated with cold start should be associated with a sliding window of data that is used to store/update the nominal/anomalous vectors to/from the datastore.In high throughput pipelines, a calibration phase is run before the steady state and the management plane software can operate this pipeline is turned on.

Introduction

The cold start problem is a problem inherent in any anomaly detection system since these systems require at various degrees prior knowledge about nominal products. Such data are either not present or are not useful at all times as described next, making it challenging for the system to accurately identify anomalies, as it has not yet established a required baseline of nominal vectors in its vector store. To address this problem we need to consider the following requirements:
  1. Each hyper-edge compute node must be able to receive from an edge or centralized datastore a set of nominal vectors that are representative of the nominal data distribution p^data\hat{p}_{data} that is specific to the manufacturing machine. The loading of the nominal vectors must be done during the device provisioning stage obviously in a secure manner.
  2. Each hyper-edge compute node must also be able to update and version control in the vectorstore the latest nominal data to account for new product skews or raw materials batches that can cause a distributional shift in p^data\hat{p}_{data}.
  3. The hyper-edge compute node must be able to self-detect when new nominal vectors are outliers and ignore those. This is especially true given that the manufacturing machine has itself its own cold start phase during which it is calibrated and during which the nominal data is not representative of the steady state. The manufacturing machine cold start and the anomaly detection cold start should be considered two separate processes.
This is a continuous process that is done in the background and tooling for such capability have been used in the past to update distributional shifts or avoid anomalous data the vector store. Each supervised or unsupervised model implemented during our Phase 1 development is affected differently by the cold start problem. We will now discuss the impact of the cold start problem on three models, Pretrained CNN, PatchCore and EfficientAD, and provide a detailed comparison of their performance in this scenario.

Pipeline-specific Issues and Cold Start

PatchCore

PatchCore relies heavily on a representative set of nominal features to work. During the cold start, since there is no (or very little) nominal data, PatchCore’s coreset reduction strategy cannot be properly applied. We can replace though the coreset with a simpler strategy such as random sampling to build the initial nominal feature set. Storing multiple patch-level embeddings in the vector store is required together with tracing the patch to the product image it came from.

EfficientAD

EfficientAD is a more recent method that at least based on the observations from the training pipeline, it seems better suited for deployment in environments with limited memory and storage. Due to the relatively decreased reliance on nominal samples, it behaves better in the cold start scenario.

Pretrained CNN

The pretrained CNN model also requires a large number of nominal (threshold distance-kNN) or both nominal and anomalous samples (majority-voting kNN) to work properly.
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.