brails.processors.year_built_classifier.year_built_classifier module

Class object to predict era of construction of buildings.

class brails.processors.year_built_classifier.year_built_classifier.YearBuiltClassifier(input_data=None)

Bases: object

A classifier for predicting the construction era of buildings.

This model classifies images of buildings into one of several predefined construction eras based on the year they were built. It leverages a deep learning model to predict the building era based on visual features. The model is loaded from a checkpoint, which can either be pre-trained or provided by the user.

checkpoint

Path to the model checkpoint. Defaults to an empty string, which uses a pre-trained model.

Type:

str

work_dir

Directory where model files and outputs are stored. Defaults to ‘tmp’.

Type:

str

print_res

If True, prints additional debug information. Defaults to False.

Type:

bool

classes

List of construction era class labels (e.g., [1960, 1975, 1985, 1995, 2005, 2015]).

Type:

list

device

The device on which the model will run, either ‘cpu’ or ‘cuda’ (GPU).

Type:

str

checkpoints_dir

Directory for saving and loading model checkpoints.

Type:

str

model_file

Path to the model file.

Type:

str

model

The loaded PyTorch model.

Type:

torch.nn.Module

test_transforms

The transformation pipeline for input preprocessing.

Type:

torchvision.transforms.Compose

predict(images

ImageSet): Predicts the construction era for a set of input images.

evaluate_to_stats(testloader

torch.utils.data.DataLoader): Evaluates the model on a dataset and collects predictions and probabilities.

construct_confusion_matrix_image(classes

list, con_mat: np.ndarray): Constructs a confusion matrix heatmap for evaluation.

construct_confusion_matrix_image(con_mat)

Construct a confusion matrix heatmap image.

Parameters:
  • classes (list) – List of class labels.

  • con_mat (np.ndarray) – Confusion matrix.

Returns:

Matplotlib figure containing the confusion matrix heatmap.

Return type:

plt.Figure

evaluate_to_stats(testloader)

Evaluate the model on a dataset & collect predictions & probabilities.

Parameters:

testloader (torch.utils.data.DataLoader) – The DataLoader for the test dataset.

Returns:

A list of dictionaries containing predictions, probabilities, and optionally ground truth.

Return type:

list[dict[str, [str | int | float]]]

predict(images)

Predict construction era for a set of images provided in an ImageSet.

Parameters:

images (ImageSet) – An object containing a collection of images, where images.dir_path specifies the directory of images and images.images contains a dictionary of image objects with filenames.

Raises:

NotADirectoryError – If the provided directory path does not exist or is not a directory.

Returns:

A dictionary where keys are the image identifiers from images.images, and values are the predicted class labels (construction era) for each image.

Return type:

dict