anomalib.models.stfpm.anomaly_map

Anomaly Map Generator for the STFPM model implementation.

Module Contents

Classes

AnomalyMapGenerator

Generate Anomaly Heatmap.

class anomalib.models.stfpm.anomaly_map.AnomalyMapGenerator(image_size: Union[omegaconf.ListConfig, Tuple])[source]

Bases: torch.nn.Module

Generate Anomaly Heatmap.

compute_layer_map(teacher_features: torch.Tensor, student_features: torch.Tensor) torch.Tensor[source]

Compute the layer map based on cosine similarity.

Parameters
  • teacher_features (Tensor) – Teacher features

  • student_features (Tensor) – Student features

Returns

Anomaly score based on cosine similarity.

compute_anomaly_map(teacher_features: Dict[str, torch.Tensor], student_features: Dict[str, torch.Tensor]) torch.Tensor[source]

Compute the overall anomaly map via element-wise production the interpolated anomaly maps.

Parameters
  • teacher_features (Dict[str, Tensor]) – Teacher features

  • student_features (Dict[str, Tensor]) – Student features

Returns

Final anomaly map

forward(**kwargs: Dict[str, torch.Tensor]) torch.Tensor[source]

Returns anomaly map.

Expects teach_features and student_features keywords to be passed explicitly.

Example

>>> anomaly_map_generator = AnomalyMapGenerator(image_size=tuple(hparams.model.input_size))
>>> output = self.anomaly_map_generator(
        teacher_features=teacher_features,
        student_features=student_features
    )
Raises

ValueErrorteach_features and student_features keys are not found

Returns

anomaly map

Return type

torch.Tensor