{ "cells": [ { "cell_type": "markdown", "id": "71b1eb19-3148-46ca-8a9a-fdf18bd2b18d", "metadata": {}, "source": [ "# Demonstrating Extreme Illumination Perturbations\n", "\n", "## Introduction\n", "This notebook is part of the NRTK demonstration suite, demonstrating how perturbations can be applied and their impact measured via MAITE evaluation workflows.\n", "\n", "## Layout\n", "This notebook demonstrates how a particular condition (in this case, extreme illumination conditions), can affect an object detection model, and how that impact can be measured. The overall structure is:\n", "\n", "- **Traditional vs. relative mAP:**\n", " - An overview of the nuances of what we'll be evaluating.\n", "- **Setup:**\n", " - Notebook initialization, loading the supporting python code. Depending on if this is the first time you've run this notebook, this may take some time.\n", " - Loading the source image, which will be used throughout the notebook.\n", "- **Image perturbation examples:**\n", " - The NRTK perturbation is demonstrated on the source image.\n", "- **Baseline detections:**\n", " - The object detection model is loaded and run on the unperturbed image. These will serve as \\\"ground truth\\\" for comparisons against the perturbed images.\n", " \n", "At this point, we have the fundamental elements of our evaluation: the model, our reference image, and a mechanism for creating the perturbed test images. Next we adapt these elements to be used with the MAITE evaluation workflow:\n", "\n", "- **Wrapping the detection model**\n", "- **Wrapping the reference image as a dataset**\n", "- **Wrapping the perturbation as augmentation objects**\n", "- **Wrapping the metrics**\n", "\n", "After the evaluation elements have been wrapped, we can run the evaluation:\n", "\n", "- **Preparing the augmentations:**\n", " - We specify the range of perturbation values to evaluate and optionally specify which ones we'd like to visualize.\n", "- **Evaluation of augmented data:**\n", " - Each augmentation is run through MAITE's evaluation workflow, computing the mean average precision metric relative to the unperturbed detections.\n", "- **Evaluation analysis:**\n", " - We plot and discuss the mAP@50 metric from each of the perturbed images, as well as per-class and per-area results." ] }, { "cell_type": "markdown", "id": "4b2e1964-46e2-4497-88ff-274eaca17960", "metadata": {}, "source": [ "# Evaluation guidance: traditional vs. relative mAP\n", "\n", "This notebook will be evaluating the perturbed images using mean average precision (mAP) **relative** to detections from the unperturbed image. Traditional mAP scores the computed detections to ground-truth annotations vetted by an analyst; the mAP metric indicates how well the detector does compared to that analyst and thus measures the detector's \"absolute\" performance (\"absolute\" in the sense that the assumption is no detector can do better than the analyst.)\n", "\n", "In contrast, in this notebook, we're not concerned with the **absolute** ability of the detector to find objects of interest. Rather, we're interested in how the **perturbations** affect the detector *relative to the unperturbed image*. It's expected that the detector won't find every target in the unperturbed image; instead, we're measuring the **change in the detections** (or classifications) caused by the perturbations.\n", "\n", "To support relative mAP, we'll be computing detections on the unperturbed image and using those as our \"ground truth\" dataset, and using the MAITE dataset class slightly differently than usual. For example, there's no on-disk json file of reference annotations with an associated data loader; instead, we'll be taking the computed detections and manually copying them over into the dataset." ] }, { "cell_type": "markdown", "id": "f9268412-0d13-4fed-ae78-f6ee02c94c9c", "metadata": {}, "source": [ "# Setup: Notebook initialization\n", "The next few cells import the python packages used in the rest of the notebook.\n", "\n", "**Note:** We are suppressing warnings within this notebook to reduce visual clutter for demonstration purposes. If any issues arise while executing this notebook, we recommend that the first cell is **not** executed so that any related warnings are shown." ] }, { "cell_type": "code", "execution_count": 1, "id": "796743f8-2f1e-42aa-ad6b-f71e721602f8", "metadata": {}, "outputs": [], "source": [ "from __future__ import annotations\n", "\n", "# warning suppression\n", "import warnings\n", "\n", "warnings.filterwarnings(\"ignore\")" ] }, { "cell_type": "code", "execution_count": null, "id": "2561179f", "metadata": {}, "outputs": [], "source": [ "import sys # noqa: F401\n", "\n", "print(\"Beginning package installation...\")\n", "!{sys.executable} -m pip install -qU pip\n", "\n", "print(\"Installing required packages...\")\n", "!{sys.executable} -m pip install -q \"matplotlib\" --no-cache-dir\n", "!{sys.executable} -m pip install -q \"torchvision\" --no-cache-dir\n", "!{sys.executable} -m pip install -q \"torchmetrics\" --no-cache-dir\n", "!{sys.executable} -m pip install -q \"ultralytics\" --no-cache-dir\n", "\n", "# OpenCV must be uninstalled and reinstalled last due to other packages installing OpenCV\n", "print(\"Doing a fresh install of opencv-python-headless...\")\n", "!{sys.executable} -m pip uninstall -qy \"opencv-python\" \"opencv-python-headless\"\n", "!{sys.executable} -m pip install -q \"opencv-python-headless\" --no-cache-dir" ] }, { "cell_type": "code", "execution_count": null, "id": "c18e6bd1-1c56-447a-b1e4-16df26269ed8", "metadata": {}, "outputs": [], "source": [ "import os\n", "import urllib.request\n", "from collections.abc import Sequence\n", "from typing import Any\n", "\n", "import numpy as np\n", "\n", "# some initial imports\n", "%matplotlib inline\n", "%config InlineBackend.figure_format = \"jpeg\" # Use JPEG format for inline visualizations\n", "\n", "from matplotlib import pyplot as plt\n", "from PIL import Image\n", "\n", "from nrtk.impls.perturb_image.generic.PIL.enhance import BrightnessPerturber" ] }, { "cell_type": "markdown", "id": "242e9bfa-fcea-4a1d-a8e0-9455b28777a2", "metadata": {}, "source": [ "# Setup: Source image\n", "\n", "In the next cell, we'll download and display a source image from the __[VisDrone](https://github.com/VisDrone/VisDrone-Dataset)__ dataset. The image will be cached in a local `data` subdirectory.\n", "\n", "### A note on image storage\n", "\n", "Typically in ML workflows, batches of images are processed as tensors of the color channels. Both our perturber (NRTK) and object detector (YOLO) accept numpy `ndarray` objects, and we will use [matplotlib.imshow](https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.imshow.html) to view them. The complication is that although YOLO inferences on `ndarray`, [it expects the color channels to be in BGR](https://docs.ultralytics.com/modes/predict) order. If we naively view the same data YOLO inferences on, the colors will be wrong; if we naively inference on what we view, the detections will be wrong. (Our NRTK perturbation is agnostic to the channel order.)\n", "\n", "In this notebook, we'll convert the channel order to BGR when we load, and convert back whenever we explicitly call `imshow`.\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "57facb8b-4cb6-476b-a321-f48d70e773ba", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.20.0\n" ] }, { "data": { "image/jpeg": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import nrtk\n", "\n", "print(nrtk.__version__)\n", "data_dir = \"./data\"\n", "os.makedirs(data_dir, exist_ok=True)\n", "img_path = os.path.join(data_dir, \"visdrone_img.jpg\")\n", "if not os.path.isfile(img_path):\n", " url = \"https://data.kitware.com/api/v1/item/623880f14acac99f429fe3ca/download\"\n", " _ = urllib.request.urlretrieve(url, img_path) # noqa: S310\n", "\n", "img_pil = Image.open(img_path)\n", "img_nd_bgr = np.asarray(img_pil)[\n", " :,\n", " :,\n", " ::-1,\n", "] # tip o' the hat to https://stackoverflow.com/questions/4661557/pil-rotate-image-colors-bgr-rgb\n", "plt.figure()\n", "plt.axis(\"off\")\n", "\n", "_ = plt.imshow(img_nd_bgr[:, :, ::-1]) # explicitly changing BGR to RGB for imshow" ] }, { "cell_type": "markdown", "id": "efe2e2a3-a3a2-4101-9872-bae618effab0", "metadata": {}, "source": [ "# NRTK Brightness perturbation: examples and guidance\n", "\n", "The Brightness perturbation is set by a single floating point value `f`:\n", "\n", "- `f == 0.0` (the minimum value): returns a black image.\n", "- `0.0 < f < 1.0`: returns an image dimmer than the original.\n", "- `f == 1.0`: returns the original image unchanged.\n", "- `f > 1.0`: returns an image brighter than the original. There is no upper bound, but values greater than 2 or 3 start to wash out objects in a typical image, as seen below.\n", " " ] }, { "cell_type": "code", "execution_count": 4, "id": "5a370d2a-2489-4c48-b29a-ea8ad3ef98fa", "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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BRRRQAUUUUAFFFFABRVe9vrPTbV7q+uoLW3T70s8gRF+pPFPtrmC8to7m1mjnglUPHLEwZXU9CCOCKAJaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKp3mr6Zp08EN9qNpay3DbIUnnVGlbOMKCeTkjpVygAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiqcer6ZLqb6ZHqNo9/Gu97VZ1MqrxyUzkDkdu9AFyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKRmCqWYgADJJ7UALRVPT9W07VopJdN1C1vY432O9tMsgVuuCVJweRxVygAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPOviVBqt1rnhG3s5NO8iTUsrHdwNIDKIpCCwDDKgZ465wc9queI/EGr+HvKiXV/CFiEt1Kw38rRNM4HzBBvGxc8D73vW14h0O51bVvD13BJCsem3xuZhISCy+U6YXAOTlh1xWJe+FNcj8VavqWmNo7w6sIg897GzT2mxAn7sAYYcbgCV5JoAV/HN3qel+Gf7Bs4DqWvxNNGLtj5VsiKDIzbeWwSFAGMk9qzvHT+LYfCVmbm70qO7/te1XzLWOUI6GRAuQWyPmzkZOV9CeJ7LwLrOl+HPCpsbuxXXdBieL95va3nSQYdCQAw6KQccEdK09Z0PxF4i8KSWt8+l2+qR3cNzbCAyNCPLdXCuxAY5KtyAMZHHHIBHf654mtb3S/D0A0m4128SW4muDFIltBChAzs3FiSWUY3dc9KztQ8e6xpfhXxNLd2VmNd0GSJZFj3NBMshUo6jIYZVjxngjrWjf6H4mur3S/EMB0mDXbOOW3mtzLI9tPC5Bxv2hgQVU529c9aoXvgTWNR8MeJFu7uybXddlheQpuW3iWMqEQHBY4VTzjknoKAN+G78WwWsc11pun3U01zEv2e1lKfZoWPzszucSFf9kDPYV0lUNVGrGK2/shrQSfaY/P8AtW7Hk5+fbt/jx0zx61foA860TQNN8P8AxiuIdNga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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "_, ax = plt.subplots(2, 4, figsize=(10, 4))\n", "for idx, f in enumerate((0.0, 0.25, 0.6, 1.0, 1.5, 2, 3, 6)):\n", " (row, col) = (int(idx / 4), idx % 4)\n", " bp = BrightnessPerturber(factor=f)\n", " ax[row, col].set_title(f\"factor: {f}\")\n", " ax[row, col].imshow(bp(img_nd_bgr)[0][:, :, ::-1])\n", " _ = ax[row, col].axis(\"off\")\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "id": "30eb653b-6be9-4d58-8d69-db4b64c3d81c", "metadata": {}, "source": [ "# Baseline detections\n", "\n", "In the next cell, we'll download a [YOLOv11](https://docs.ultralytics.com/models/yolo11/) model, compute object detections on the source image, and display the results. As discussed above, these detections will serve as the \"ground truth\" for our relative mAP evaluation later.\n", "\n", "*Note that here, we're using YOLO's built-in visualization tool, which automatically adjusts for BGR / RGB order.*" ] }, { "cell_type": "code", "execution_count": 5, "id": "55600de0-089f-4dd6-ac4d-7896b8df5494", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Ultralytics 8.3.85 🚀 Python-3.9.21 torch-2.6.0+cu124 CUDA:0 (Quadro RTX 5000, 15929MiB)\n", "Setup complete ✅ (40 CPUs, 31.0 GB RAM, 393.9/914.7 GB disk)\n", "Downloading model...\n", "Computing baseline...\n", "\n", "0: 384x640 5 persons, 15 cars, 1 motorcycle, 2 trucks, 58.6ms\n", "Speed: 6.8ms preprocess, 58.6ms inference, 229.7ms postprocess per image at shape (1, 3, 384, 640)\n" ] } ], "source": [ "# Import YOLO support\n", "import ultralytics\n", "\n", "ultralytics.checks()\n", "print(\"Downloading model...\")\n", "model = ultralytics.YOLO(\"yolo11n.pt\")\n", "print(\"Computing baseline...\")\n", "baseline = model(img_nd_bgr)\n", "baseline[0].show()" ] }, { "cell_type": "markdown", "id": "39050929-bf48-44b1-9247-5cac7f44cd8c", "metadata": {}, "source": [ "# MAITE Evaluation workflow preparation\n", "\n", "We'll use the [MAITE Evaluation workflow](https://jatic.pages.jatic.net/cdao/maite/generated/maite.workflows.evaluate.html) to evaluate the performance of the perturbed data against our baseline detections. We'll need to \"wrap\" our model, data, and perturbations into callable objects to pass to the `maite.workflows.evaluate` function:\n", "\n", "- We'll wrap the **model** to make predictions on input data when called.\n", "\n", "- The wrapped **dataset** will return our test image when called. Note that this will be the original, unperturbed image; we'll apply our perturbations via...\n", "\n", "- ...the **augmentation** object, which applies the perturbation to the image inside the evaluation.\n", "\n", "- Finally, the **metric** object will define our precise scoring methodology.\n", "\n", "The evaluation workflow in this notebook is slightly unusual. Typical ML workflows apply many different augmentations / perturbations to much larger datasets, and only call `evaluate` once to get a statistical view of performance. But since the goal of this notebook is to drill down into how perturbation affects performance, we've essentially flipped process, calling `evaluate` (and thus our wrapped objects) many times, once per loop on our single image perturbed to a known degree, and then observing how the metrics respond." ] }, { "cell_type": "markdown", "id": "da908c7f-b499-4361-8e2b-cf7647b45de6", "metadata": {}, "source": [ "## Some helper classes\n", "\n", "The following cell adds two classes to allow us to use YOLO detections with the MAITE evaluation workflow:\n", "\n", "1. The `YOLODetectionTarget` helper class that stores the bounding boxes, label indices, and confidence scores for a single image's detections.\n", "\n", "2. The `MaiteYOLODetection` adapter class that conforms to the MAITE [Object Detection Dataset](https://jatic.pages.jatic.net/cdao/maite/generated/maite.protocols.object_detection.Dataset.html) protocol by providing the `__len__` and `__getitem__` methods. The returned item is a tuple of (image, `YOLODetectionTarget`, metadata-dictionary)." ] }, { "cell_type": "code", "execution_count": 6, "id": "346f4207", "metadata": {}, "outputs": [], "source": [ "from dataclasses import dataclass\n", "\n", "import torch\n", "from maite.protocols.object_detection import DatumMetadataType\n", "\n", "from nrtk.interop.maite.interop.object_detection.dataset import JATICObjectDetectionDataset\n", "\n", "##\n", "## Helper class for containing the boxes, label indices, and confidence scores.\n", "##\n", "\n", "\n", "@dataclass\n", "class YOLODetectionTarget:\n", " \"\"\"\n", " A helper class to represent object detection results in the format expected by YOLO-based models.\n", "\n", " Attributes:\n", " boxes (torch.Tensor): A tensor containing the bounding boxes for detected objects in\n", " [x_min, y_min, x_max, y_max] format.\n", " labels (torch.Tensor): A tensor containing the class labels for the detected objects.\n", " These may be floats for compatibility with specific datasets or tools.\n", " scores (torch.Tensor): A tensor containing the confidence scores for the detected objects.\n", " \"\"\"\n", "\n", " boxes: torch.Tensor\n", " labels: torch.Tensor\n", " scores: torch.Tensor\n", "\n", "\n", "##\n", "## Prepare results for ingestion into maite dataset by puttin them into detection object\n", "## Images must be channel first (c, h, w) in maite dataset objects\n", "##\n", "imgs = [np.transpose(img_nd_bgr, (2, 0, 1))]\n", "dets = []\n", "metadata: list[DatumMetadataType] = [{\"id\": 0}]\n", "for _detection in baseline:\n", " boxes = baseline[0].boxes.xyxy.cpu()\n", " labels = baseline[0].boxes.cls.cpu() # note, these are floats, not ints\n", " scores = baseline[0].boxes.conf.cpu()\n", "\n", " dets.append(YOLODetectionTarget(boxes, labels, scores))" ] }, { "cell_type": "markdown", "id": "45cd8fb3-2ea6-492c-ab84-f3432b9d3440", "metadata": {}, "source": [ "## (1) Wrapping the detection model\n", "\n", "The first object we'll wrap will be the detection model. The cell below defines a class adapting YOLO for the [MAITE Object Detection Model](https://jatic.pages.jatic.net/cdao/maite/generated/maite.protocols.object_detection.Model.html) protocol. The `__call__` method runs the model on images in the batch and is called by the MAITE evaluation workflow later in the notebook." ] }, { "cell_type": "code", "execution_count": 7, "id": "e1131aa7-3716-479f-838b-0464b74106e9", "metadata": {}, "outputs": [], "source": [ "import maite.protocols.object_detection as od\n", "import ultralytics.models\n", "from maite.protocols import ArrayLike, ModelMetadata\n", "\n", "\n", "class MaiteYOLODetector:\n", " \"\"\"\n", " A wrapper class for a YOLO model to simplify its usage with input batches and object detection targets.\n", "\n", " This class takes a YOLO model instance, processes input image batches, and converts predictions into\n", " `YOLODetectionTarget` instances.\n", "\n", " Attributes:\n", " _model (ultralytics.models.yolo.model.YOLO): The YOLO model instance used for predictions.\n", "\n", " Methods:\n", " __call__(batch):\n", " Processes a batch of images through the YOLO model and returns the predictions as\n", " `YOLODetectionTarget` instances.\n", " \"\"\"\n", "\n", " def __init__(self, model: ultralytics.models.yolo.model.YOLO) -> None:\n", " \"\"\"\n", " Initializes the MaiteYOLODetector with a YOLO model instance.\n", "\n", " Args:\n", " model (ultralytics.models.yolo.model.YOLO): The YOLO model to use for predictions.\n", " \"\"\"\n", " self._model = model\n", " # Dummy model metadata type to pass type checking\n", " self.metadata = ModelMetadata(id=\"0\")\n", "\n", " def __call__(self, batch: Sequence[ArrayLike]) -> Sequence[YOLODetectionTarget]:\n", " \"\"\"\n", " Processes a batch of images using the YOLO model and converts the predictions to `YOLODetectionTarget`\n", " instances.\n", "\n", " Args:\n", " batch (Sequence[ArrayLike]): A batch of images in (c, h, w) format (channel-first).\n", "\n", " Returns:\n", " Sequence[YOLODetectionTarget]: A list of YOLODetectionTarget instances containing the predictions for each\n", " image in the batch.\n", " \"\"\"\n", "\n", " # Convert images to channel-last format (h, w, c) for YOLO model\n", " batch_transposed = [np.transpose(batch[i], (1, 2, 0)) for i in range(len(batch))]\n", "\n", " yolo_predictions = self._model(batch_transposed, verbose=False)\n", " return [\n", " YOLODetectionTarget(\n", " p.boxes.xyxy.cpu(), # Bounding boxes in (x_min, y_min, x_max, y_max) format\n", " p.boxes.cls.cpu(), # Class indices for the detected objects\n", " p.boxes.conf.cpu(), # Confidence scores for the detections\n", " )\n", " for p in yolo_predictions\n", " ]\n", "\n", "\n", "# create the wrapped model object\n", "yolo_model: od.Model = MaiteYOLODetector(model)" ] }, { "cell_type": "markdown", "id": "3cef0788-137f-41c1-a9e4-80e7d08b47d1", "metadata": {}, "source": [ "## (2) Wrapping the dataset\n", "\n", "MAITE pairs images and their reference detections (aka targets, ground truth) into **datasets**. Typical ML workflows have many images per dataset; when these do not all fit in memory simultaneously, a *dataloader* object is used which can page images and annotations in from disk. For this notebook, however, each invocation of `evaluate` will use the same single-image dataset (our reference image with its baseline detections.)" ] }, { "cell_type": "code", "execution_count": 8, "id": "1dcbb5d0-b899-4355-9922-9d52fb866b4b", "metadata": {}, "outputs": [], "source": [ "# our single image, its baseline detections, and a metadata dictionary\n", "# switch image to channel first\n", "single_image_dataset: od.Dataset = JATICObjectDetectionDataset(imgs, dets, metadata, dataset_id=\"visdrone_ex\")" ] }, { "cell_type": "markdown", "id": "7963f7fa-052c-476d-944e-5bbdae3181b5", "metadata": {}, "source": [ "## (3) Wrapping the perturbations as augmentations\n", "\n", "The `evaluate` function will perturb the image from the dataset using instances of the class defined below, one instance per perturbation value. Note that the object doesn't perform any augmentations until called by the `evaluate` workflow." ] }, { "cell_type": "code", "execution_count": 9, "id": "aa7a398f", "metadata": {}, "outputs": [], "source": [ "from nrtk.interop.maite.interop.object_detection.augmentation import JATICDetectionAugmentation\n", "\n", "bp = BrightnessPerturber(factor=1.0)\n", "identity_augmentation = JATICDetectionAugmentation(bp, augment_id=\"identity\")" ] }, { "cell_type": "markdown", "id": "81020be7-76ba-43e3-b231-7d2bd7c30387", "metadata": {}, "source": [ "## (4) Wrapping the metrics\n", "\n", "We'll compare the detections in each perturbed image to the unperturbed detections using the Mean Average Precision (mAP) metric from the `torchmetrics` package. The following cell creates a mAP metrics object, wraps it in a MAITE [MAITE Object Detection Metric](https://jatic.pages.jatic.net/cdao/maite/generated/maite.protocols.object_detection.Metric.html) protocol-compatible class, and then creates an instance of this class, which will be called by `evaluate`.\n", "\n", "This code is copied directly from the [MAITE object detection tutorial](https://jatic.pages.jatic.net/cdao/maite/tutorials/torchvision_object_detection.html#metrics) (with the exception of setting `class_metrics=True`.)" ] }, { "cell_type": "code", "execution_count": 10, "id": "e33407c5-f1d7-4c7a-9a31-2d500f97edcc", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Error: no \"view\" rule for type \"image/png\" passed its test case\n", " (for more information, add \"--debug=1\" on the command line)\n" ] } ], "source": [ "from maite.protocols import MetricMetadata\n", "from torchmetrics import Metric as TorchMetric\n", "from torchmetrics.detection.mean_ap import MeanAveragePrecision\n", "\n", "##\n", "## Create an instance of the MAP metric object\n", "##\n", "\n", "tm_metric = MeanAveragePrecision(\n", " box_format=\"xyxy\",\n", " iou_type=\"bbox\",\n", " iou_thresholds=[0.5],\n", " rec_thresholds=[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0],\n", " max_detection_thresholds=[1, 10, 100],\n", " class_metrics=True,\n", " extended_summary=False,\n", " average=\"macro\",\n", ")\n", "\n", "##\n", "## This wrapper associates the MAP metric object with methods called by the evaluate\n", "## workflow to accumulate detection data and compute the metrics.\n", "##\n", "\n", "\n", "class WrappedTorchmetricsMetric:\n", " \"\"\"\n", " A wrapper class for a Torchmetrics metric designed to simplify its usage for object detection tasks.\n", "\n", " This class facilitates the conversion of object detection targets and predictions into the format\n", " expected by Torchmetrics metrics, allowing for easier integration with existing pipelines.\n", "\n", " Attributes:\n", " _tm_metric (Callable): The Torchmetrics metric to be wrapped, which takes lists of dictionaries\n", " containing torch.Tensor objects representing predictions and targets.\n", "\n", " Methods:\n", " to_tensor_dict(target):\n", " Converts an `ObjectDetectionTarget` into a dictionary format compatible with the Torchmetrics\n", " metric's `update` method.\n", "\n", " update(preds, targets):\n", " Updates the wrapped Torchmetrics metric with batches of predictions and targets in their native format.\n", "\n", " compute():\n", " Computes the final metric values using the wrapped Torchmetrics metric.\n", "\n", " reset():\n", " Resets the state of the wrapped Torchmetrics metric.\n", " \"\"\"\n", "\n", " def __init__(\n", " self,\n", " tm_metric: TorchMetric,\n", " ) -> None:\n", " \"\"\"\n", " Initializes the WrappedTorchmetricsMetric with the given Torchmetrics metric.\n", "\n", " Args:\n", " tm_metric (Callable): A Torchmetrics metric instance that expects predictions and targets as lists of\n", " dictionaries containing torch.Tensor objects.\n", " \"\"\"\n", " self._tm_metric = tm_metric\n", " # Dummy metric metadata type to pass type checking\n", " self.metadata = MetricMetadata(id=\"0\")\n", "\n", " @staticmethod\n", " def to_tensor_dict(target: od.ObjectDetectionTarget) -> dict[str, torch.Tensor]:\n", " \"\"\"\n", " Converts an ObjectDetectionTarget into a dictionary format compatible with the Torchmetrics metric's\n", " `update` method.\n", "\n", " Args:\n", " target (od.ObjectDetectionTarget): An object detection target instance containing boxes, labels, and scores.\n", "\n", " Returns:\n", " dict[str, torch.Tensor]: A dictionary with keys `boxes`, `scores`, and `labels`, each mapping to a tensor.\n", " \"\"\"\n", " return {\n", " \"boxes\": torch.as_tensor(target.boxes),\n", " \"scores\": torch.as_tensor(target.scores),\n", " \"labels\": torch.as_tensor(target.labels).type(torch.int64),\n", " }\n", "\n", " def update(self, preds: od.TargetBatchType, targets: od.TargetBatchType) -> None:\n", " \"\"\"\n", " Updates the wrapped Torchmetrics metric with the given predictions and targets.\n", "\n", " Args:\n", " preds (od.TargetBatchType): A batch of predictions in the format expected by the Torchmetrics metric.\n", " targets (od.TargetBatchType): A batch of targets in the format expected by the Torchmetrics metric.\n", " \"\"\"\n", " preds_tm = [self.to_tensor_dict(pred) for pred in preds]\n", " targets_tm = [self.to_tensor_dict(tgt) for tgt in targets]\n", " self._tm_metric.update(preds_tm, targets_tm)\n", "\n", " def compute(self) -> dict[str, Any]:\n", " \"\"\"\n", " Computes and returns the final metric values using the wrapped Torchmetrics metric.\n", "\n", " Returns:\n", " dict[str, Any]: A dictionary containing the computed metric values.\n", " \"\"\"\n", " return self._tm_metric.compute()\n", "\n", " def reset(self) -> None:\n", " \"\"\"Resets the state of the wrapped Torchmetrics metric, clearing any accumulated data.\"\"\"\n", " self._tm_metric.reset()\n", "\n", "\n", "##\n", "## This is our instance variable that can compute the MAP metrics.\n", "##\n", "\n", "mAP_metric: od.Metric = WrappedTorchmetricsMetric(tm_metric) # noqa: N816" ] }, { "cell_type": "markdown", "id": "0102dfde-cb9b-46a7-8e4a-d12ccd948864", "metadata": {}, "source": [ "# Running the evaluation\n", "\n", "We now have all the wrappings required to evaluate our range of perturbations:\n", "- The `yolo_model` object, wrapping the YOLO model\n", "- The `single_image_dataset` object, providing our source image and its baseline detections\n", "- The `augmentation` object, which when instantiated, applies a single perturbation value to its input\n", "- The `mAP_metrics` object, defining the metrics to compute at each perturbation value" ] }, { "cell_type": "markdown", "id": "38a7fef1-a3cc-4e63-8a2b-6133274e4b1c", "metadata": {}, "source": [ "## Evaluation sanity check: ground truth against itself\n", "\n", "Here we quickly check the evaluation workflow by creating an *identity augmentation* (with a brightness perturbation factor of 1.0, leaving the image unchanged) and scoring it. The detections should also be unchanged from the baseline and thus give an mAP of 1.0." ] }, { "cell_type": "code", "execution_count": 11, "id": "a0af9f36-c69b-400f-82ec-f1fd7e9d98ea", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 1/1 [00:00<00:00, 40.07it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Sanity check: overall mAP (should be 1.0): 1.0\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "from maite.workflows import evaluate\n", "\n", "# call the model for each image in the dataset (in this case, just the source image),\n", "# scoring the resulting detections against those from the dataset\n", "sanity_check_results, _, _ = evaluate(\n", " model=yolo_model,\n", " dataset=single_image_dataset,\n", " augmentation=identity_augmentation,\n", " metric=mAP_metric,\n", ")\n", "\n", "print(\"Sanity check: overall mAP (should be 1.0):\", sanity_check_results[\"map\"].item())" ] }, { "cell_type": "markdown", "id": "2a1a72bb-dbf1-431e-892e-132771cd7b92", "metadata": {}, "source": [ "## Preparing the data\n", "\n", "Now we'll prepare the augmentation instances for the evaluation. In the cell below, you can set three parameters for sweeping the set of perturbation values:\n", "- **sweep_low**: the minimum perturbation value (must be >= 0)\n", "- **sweep_high**: the maximum perturbation value\n", "- **sweep_count**: how many perturbations to generation\n", "\n", "You can also optionally select perturbations to visualize:\n", "- **visualization_indices**: a list of perturbation indices *p*, 0 <= *p* < sweep_count. These instances will be rendered along with their corresponding detections." ] }, { "cell_type": "code", "execution_count": 12, "id": "48b5e334-d8eb-415c-b263-4c4bd3618b43", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Generated 30 perturbation augmentations\n" ] } ], "source": [ "SWEEP_LOW = 0.2\n", "SWEEP_HIGH = 2.0\n", "SWEEP_COUNT = 30\n", "VISUALIZATION_INDICES = [3, 9, 21]\n", "\n", "##\n", "## end user-settable parameters\n", "##\n", "\n", "perturbation_values = np.linspace(SWEEP_LOW, SWEEP_HIGH, SWEEP_COUNT, endpoint=True)\n", "augmentations = [\n", " JATICDetectionAugmentation(BrightnessPerturber(p), augment_id=str(idx)) for idx, p in enumerate(perturbation_values)\n", "]\n", "\n", "print(f\"Generated {len(augmentations)} perturbation augmentations\")" ] }, { "cell_type": "markdown", "id": "549d0d4d-eabd-4f54-a487-7cfbc99916c9", "metadata": {}, "source": [ "## Calling evaluate on the augmented data\n", "\n", "We loop over all the augmentations, calling `evaluate` on each one and building up a list of resulting metrics for analysis.\n", "\n", "Any augmentation indices specified above will be rendered in this step." ] }, { "cell_type": "code", "execution_count": 13, "id": "a4951dfc-c2cc-434a-8fd2-1786ba3acf96", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 1/1 [00:00<00:00, 37.01it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 43.98it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 45.91it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 47.95it/s]" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Perturbation #3: brightness perturbation value 0.38621\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "\n", "100%|██████████| 1/1 [00:00<00:00, 26.57it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 47.03it/s]\n", "Error: no \"view\" rule for type \"image/png\" passed its test case\n", " (for more information, add \"--debug=1\" on the command line)\n", "100%|██████████| 1/1 [00:00<00:00, 45.90it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 47.88it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 49.08it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 49.19it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Perturbation #9: brightness perturbation value 0.75862\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 1/1 [00:00<00:00, 27.01it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 47.02it/s]\n", "Error: no \"view\" rule for type \"image/png\" passed its test case\n", " (for more information, add \"--debug=1\" on the command line)\n", "100%|██████████| 1/1 [00:00<00:00, 46.12it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 43.89it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 44.55it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 43.50it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 44.77it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 44.74it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 44.94it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 44.63it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 44.76it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 44.08it/s]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Perturbation #21: brightness perturbation value 1.5034\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 1/1 [00:00<00:00, 24.36it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 41.30it/s]\n", "Error: no \"view\" rule for type \"image/png\" passed its test case\n", " (for more information, add \"--debug=1\" on the command line)\n", "100%|██████████| 1/1 [00:00<00:00, 42.35it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 44.00it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 43.17it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 44.08it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 42.36it/s]\n", "100%|██████████| 1/1 [00:00<00:00, 43.88it/s]\n" ] } ], "source": [ "perturbed_metrics = list()\n", "for idx, a in enumerate(augmentations):\n", " # reset the metric object for each dataset\n", " mAP_metric.reset()\n", " result, _, _ = evaluate(model=yolo_model, dataset=single_image_dataset, augmentation=a, metric=mAP_metric)\n", " perturbed_metrics.append(result)\n", "\n", " if idx in VISUALIZATION_INDICES:\n", " # quickest way is to re-evaluate\n", " factor = a.augment.get_config()[\"factor\"]\n", " print(f\"Perturbation #{idx}: brightness perturbation value {factor:0.5}\")\n", " datum = single_image_dataset[0]\n", " batch = ([datum[0]], [datum[1]], [datum[2]])\n", " # Extract the image from the augmentation and switch it to channel last\n", " aug = np.transpose(a(batch)[0][0], (1, 2, 0))\n", " _ = model(aug)[0].show()" ] }, { "cell_type": "markdown", "id": "d0303b6a-f587-43c8-ae9f-0057a7884241", "metadata": {}, "source": [ "# Evaluation analysis\n", "\n", "Now we can plot how the metrics (for example, mAP @ IoU=50) vary with perturbation level, keeping in mind this is a **relative** mAP against the detections in the unperturbed image.\n" ] }, { "cell_type": "code", "execution_count": 14, "id": "09b6804b-c98c-46fb-af98-ab5598892ba7", "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuW8efJolrcf88L6GT8jj+tdTXM/ECMyeCtQI+8nluPwda1ofxI+plX/hS9DpqKZDIJYI5B0dQ35in1kahRRRQAVzniX/AJD3hH/sKv8A+kdzXR1zniX/AJD3hH/sKv8A+kdzQB0dFFFABXAfFSW8i0fck2oQ2Qs7ss9izq32kRj7OHKfMEzv9s7Qa7+ub8R6br0+raXqOgPpyzWqzRyrfF9ro+zgBR1ygOe2Pc0AQ+FdSk1nVtVv7eS6k0loraO3eZXVWlUP5pjDY+XBjGQMEg11VZWjHXz5/wDbiaav3fJ+wtIfXdu3ge2Me9atABRRRQAVzniX/kPeEf8AsKv/AOkdzXR1zniX/kPeEf8AsKv/AOkdzQB0dFFFABRRRQBy1l+++JWpv18iwji+m47q6muW8Kf6TrPiTUevmX32cH1EYx/WuprWt8VuyX5GND4b92/zCiiisjYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArF8XRed4R1VfS2dvyGf6VtVS1iLz9D1CL+/bSL+akVcHaSZFRXg0N0OXz9A02X+/axN+air9Yfg6XzvB+lN6QKv5cf0rcoqK02gpu8E/IKKKKgsK5zxL/yHvCP/YVf/wBI7mujrnPEv/Ie8I/9hV//AEjuaAOjooooAKKKKACiiigAooooAK5zxL/yHvCP/YVf/wBI7mujrnPEv/Ie8I/9hV//AEjuaAOjooooAKjnlWCCSZ/uxqWP0AzUlYnjC6+x+EdUlzgmAxg+7fL/AFqoR5pKPcmcuWLl2KngKJk8JW88n+suXknf3LMf6AV01UdFtfsOh2FrjBit0Q/UKM/rV6nVlzTbJpR5YJeQUUUVBoFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU2RBJGyHowINOooA5j4fOW8F2SN96NpEP4O1dPXLeBP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zhQAe4NAHK3/AIg15dO1zxJDqgjttK1B7ZNM8hCksccgRtzEb97ckYIAyvBpdY1XxGLnxvd2mtfZ7fQQstrbC2jYSYtUlZHJGdpJPQgjJ5xgV1Vx4P0G61U6lNYbrlpVmcea4jeRcbXaMNsZhgYJBPAq1LoGmTR6skltldWG29HmN+9HliP1+X5AB8uPXrzQBV155L7wRfzQzyWry2DSCSMKWX5N2PmBHt079jXIWFxd6V4Q8M6ZaarrE19dWS3EcVjaWrS+WsceRl1VFRSwGT8x3dTXoj2VvJp7WLR5tmi8kpuP3MYxnr0rMvPCei31tYQTWrhbCPyrZoriSJ40wAV3qwYghRkEnOBmgDktN8Va3rmleHrJbkWN9qF3d29zeeSjOoty4+Vcsgdto/vKPmxnipde0jUj4t8I27eI74TZvB9pSC3D/wCrznBjK5xx0xjsDzXS/wDCG+Hxo0ekJpypZRTtcRRxyOpikZixZGB3IcsfukYBwOKdN4S0a4sLazkhuClrI0kMgvJhMjMCCRKH38gkH5qAOV1TW9e+w+J9btdXW3g0CZ447FoI2W4EUau3mMRuBfcQNpXHHWtSwuta1fxxq1uNVktdNsFtJEtkgjLOXQsyszKSFOO3PPBGK1LzwdoN/qBvrqxMk7FDJ++kCSlMbTIgbbIRgYLA9K04NNtLbULu+hi23N5s899xO/YMLwTgYB7UAWqKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/9k=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "map50_list = [m[\"map_50\"].item() for m in perturbed_metrics]\n", "plt.title(\"relative mAP@50\")\n", "plt.xlabel(\"Brightness perturbation factor\")\n", "plt.ylabel(\"relative mAP @ 50% IoU\")\n", "_ = plt.plot(perturbation_values, map50_list)" ] }, { "cell_type": "markdown", "id": "3a8720fd-32dc-493d-ab5c-81c313615504", "metadata": {}, "source": [ "## Evaluation interpretation\n", "\n", "Note that as plotted, the minimum y-axis value is 0.4. The metric shown, mAP@50, is the average precision of detections across all classes when the bounding box IoU is at least 0.5 (for more details, [see here](https://lightning.ai/docs/torchmetrics/stable/detection/mean_average_precision.html).) In general, we observe a perturbation value range between around 0.6 and 1.6 where the score is about 0.95 or higher, and sharp falloffs when the perturbation factor is below roughly 0.4 or above 1.75. (Note the relative mAP is guaranteed to be 1.0 when the perturbation is 1.0, i.e. when the image is unchanged, the two detection sets are identical.)" ] }, { "cell_type": "markdown", "id": "3f0f9b97-ce54-4d21-be91-160f4a5d3054", "metadata": {}, "source": [ "## Additional plots\n", "\n", "For further insight, we can plot the mAP per class:" ] }, { "cell_type": "code", "execution_count": 15, "id": "65d28ff5-838e-467a-a703-81432a408b35", "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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eCA23mbj/qywYrjOOoHOM0AcBpXizU38R6Ey3GqXekaxLJGkt7a28UbDy2kR4dhEmPlH3wcg5yDjOz4Xl1rxFZJrs2uS28NxJMEsIbeIpEisyAFmUsXGASc4zxjFX7PwN4c0+8tbu209kltJDJbZuJWWAlSpCKWIVcMflAA6ccDFmDwro9rqzanb20kVy8hlYR3EixM56sYg2wscnnbmgDgvDk+q6J8ONMkttYnkl1G9SyhNxFEY7TfcMrOoVFLHGeGJGcduKu63r3iDQLHxNp6ar9su7G0tbu0vZYIw6+bIyFHVVCn7hIO0cN7ZrrE8H6Elpe2gs3NrendNbvcSNEDuLZRC22M7jnKAc89qWLwfoUWmXenizZoLxla5Mk8jySlcbd0jMXOMDHPFAF/S7S7s7VkvdSlv5mfd5jxJHt4HyqFA+XIOM5PPJNXaKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//Z", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#\n", "# Each instance of the metrics object has, potentially, a different set of observed classes.\n", "# Loop through them to accumulate a unified set of classes to ensure consistent plotting across\n", "# all thresholds.\n", "#\n", "\n", "unified_classes = set()\n", "for m in perturbed_metrics:\n", " for class_idx in m[\"classes\"].tolist():\n", " unified_classes.add(class_idx)\n", "\n", "#\n", "# dictionary of class_idx -> list of per-class mAP, or 0 if not present at that threshold\n", "#\n", "\n", "class_mAP = {class_idx: list() for class_idx in unified_classes} # noqa: N816\n", "\n", "#\n", "# populate the lists across the perturbation values\n", "#\n", "\n", "for m in perturbed_metrics:\n", " this_perturbation_classes = m[\"classes\"].tolist()\n", " for class_idx in unified_classes:\n", " if class_idx in this_perturbation_classes:\n", " # the index of the class in this individual metric instance\n", " this_class_idx = this_perturbation_classes.index(class_idx)\n", " class_mAP[class_idx].append(m[\"map_per_class\"][this_class_idx].item())\n", " else:\n", " class_mAP[class_idx].append(0)\n", "\n", "#\n", "# plot\n", "#\n", "\n", "plt.title(\"Relative mAP per class\")\n", "plt.xlabel(\"Brightness perturbation factor\")\n", "plt.ylabel(\"relative mAP @ 50% IoU\")\n", "for class_idx, class_mAP_list in class_mAP.items(): # noqa: N816\n", " plt.plot(perturbation_values, class_mAP_list, label=baseline[0].names[class_idx])\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "3aef482b-1a2b-4b2e-b522-7032776320d2", "metadata": {}, "source": [ "This plot shows several interesting results:\n", "\n", "- The only \"false alarm\" **class** (with a mAP value of -1) is the appearance of one or more bicycles around 1.24. There are no bicycles in the \"ground truth\" unperturbed detections (but again, since this a relative mAP, this does not necessarily mean there are no true bicycles in the image.)\n", "\n", "- The truck, person, and motorcycle classes are much more robust to brightness perturbations than the car class. Examination of the unperturbed and a sample low-illumination image suggest a few possibilities:\n", "\n", " - There are many more car instances (15) than non-car (5 persons, 1 motorcycle, 2 trucks) in the unperturbed image.\n", " - The non-car classes detected in the unperturbed image are all in the foreground, and are thus larger. People, in particular, are distributed throughout the image, but only detected when relatively close and large.\n", "\n", "Any conclusions about classification accuracy should be considered in light of these caveats. In particular, the foreground positioning of the detected non-car objects suggests that instead of looking at per-class results, we drill down by bounding box area. Fortunately, the metrics class supports this:\n" ] }, { "cell_type": "code", "execution_count": 16, "id": "23ec21e7-e682-4d08-ad1d-6c42d850402f", "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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zXfT+vvOnC64yHlr+X+R2fQYooorQgKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACorm3iu7aS3mUNHIu1hUtFJpNWY02ndGHo1xLZ3L6LeMTJEN1vIf+Wkfb8R/npVLwp+41rxLZ/wB2/wDOx/10Gf6Vo+I7XfpxvY2KXNn+9icdsdR9DWRocxPjrUmIA+3WFvdYHsNv9ajCNw56D6K69L/oVi7TcK66uz9bfqT3X/Eq8eWtz0g1SEwSenmpyp/EYFdRWP4k0mbV9MVLV0S8gmSeB34AdT3x7Zql5njX/njof/fUtSm4Satocibpyas7PU6WiubWTxpuG6HRNuecNL0rpK0jLm6GsJ83SwVzniX/AJD3hH/sKv8A+kdzXR1zniX/AJD3hH/sKv8A+kdzVFnR0UUUAFcFr3hfxHdv4ngsJtGFhrgw7XSyGWMfZ0iPTjjaWH1rva4rxD4a1S91ma/kjg1zTW27NIuZ3gWPCgHGMxyZIJxIvGSM4oAv+E9bu9Umv7a71HRr2S08tSdLZ2CE7shy3GeOg5HOe1dNXJ/Dx5LbwrZaJdadd2N7plrFDcJPDtVmwRuRxlXBKnkE++M11lABRRRQAVzniX/kPeEf+wq//pHc10dc54l/5D3hH/sKv/6R3NAHR0UUUAZHii4+y+F9Slzg/Z2UH3YbR/OrGh2/2TQdPt8YMdugP12jP61k+OSZNBisx1vLuKDHrls/0rpQABgdBWS1qPyRitar8kv1Ob8ezGHwZfhfvybI1HrucD+Wak1CERX3h+zXojnH/AFFVvG376LRrIf8vOpwqw/2Rkn+lXr3954t0xf+ecUr/mMU8b/u8Y95L80dOD/3icu0X+T/AMzbooorQgKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCpqieZpN4n96Bx/46a5HTn8rxb4fm/5+dKa3+uw7q7aZPMgkT+8pH6VwKv5f/CGXv9y5ltyf9/K/0rOl/vaXeMvwt/mXV/3VvtKP43PQaKKK0ICiiigArnPE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t4i0TVfFXhaz0/WLC7uotUkaSGC4R3QC0uASVByMEgfjQB21FFFAHK+L/wDTr7Q9GHIursSyj1jjG5h/n0rqqyG0Z5PFcesSTK0cVqYIotvKsWyWz9OK160nJcsYroZQi+aUn1/IxPFHzadBF/z1uo0/XP8AStusTX/nutIh9bxX/wC+RW3XFS1r1H6L8L/qd1TSjBer/T9AooorpOYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArE8SfKumS/3L6In6c1t1ieKvl0bzf+ec0b/wDj3/165sZ/Ak+yv9x04T+PFd3+ZR8dfutO0286fZdRglJ9skf1rqay/Eej/wBvaFcacJRE0u0rIRnaQwP9Kyv7M8Yf9DDaf+AYr0EoyglezVzz25QqNqLadux1NFcwumeLwwLeILQrnkfYxzXT1nKKjs7mkJOW6aCuc8S/8h7wj/2FX/8ASO5ro65zxL/yHvCP/YVf/wBI7moLOjooooAKKKKACiiigDj9P8DzWcunWsurmbRdLuDcWVl9nCurDdsDybvmVNxwNo6DJOK0pfCthqtjax+Jbay1q7twwFxcWiDqc8LyF4AHHpW9RQBheEfC1p4Q0FNMtFiOHaSSWOER+YxJ5IBPIGB16AVB4kUDXvCJAAP9qv2/6c7mukrnPEv/ACHvCP8A2FX/APSO5oA6OiiigAooooAxNU/eeJNFj7AyufwXitusSf8AeeMrVf8AnnaM/wCbYrbrmw+s6j/vfkkjpr6Rpry/VsKKKK6TmCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKx/FCb/Dd4PQKfyYGtis/XU36DfD/pix/IZrDErmozXk/wAjbDPlrQfmvzLkD+ZBG/8AeUH9Kkqppb+ZpFk/96BD/wCOirdawfNFMzmuWTQUUUVRIVzniX/kPeEf+wq//pHc10dc54l/5D3hH/sKv/6R3NAHR0UUUAFFFFABRRRQAUUUUAFc54l/5D3hH/sKv/6R3NdHXOeJf+Q94R/7Cr/+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QAe4NAHK3/iDXl07XPEkOqCO20rUHtk0zyEKSxxyBG3MRv3tyRggDK8Gl1jVfEYufG93aa19nt9BCy2tsLaNhJi1SVkckZ2kk9CCMnnGBXVXHg/QbrVTqU1huuWlWZx5riN5Fxtdow2xmGBgkE8CrUugaZNHqySW2V1Ybb0eY370eWI/X5fkAHy49evNAFXXnkvvBF/NDPJavLYNIJIwpZfk3Y+YEe3Tv2NchYXF3pXhDwzplpqusTX11ZLcRxWNpatL5axx5GXVUVFLAZPzHd1NeiPZW8mntYtHm2aLySm4/cxjGevSsy88J6LfW1hBNauFsI/KtmiuJInjTABXerBiCFGQSc4GaAOS03xVreuaV4esluRY32oXd3b3N55KM6i3Lj5VyyB22j+8o+bGeKl17SNSPi3wjbt4jvhNm8H2lILcP/q85wYyuccdMY7A810v/CG+Hxo0ekJpypZRTtcRRxyOpikZixZGB3IcsfukYBwOKdN4S0a4sLazkhuClrI0kMgvJhMjMCCRKH38gkH5qAOV1TW9e+w+J9btdXW3g0CZ447FoI2W4EUau3mMRuBfcQNpXHHWtSwuta1fxxq1uNVktdNsFtJEtkgjLOXQsyszKSFOO3PPBGK1LzwdoN/qBvrqxMk7FDJ++kCSlMbTIgbbIRgYLA9K04NNtLbULu+hi23N5s899xO/YMLwTgYB7UAWqKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/Z", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.title(\"relative mAP values per area\")\n", "plt.xlabel(\"Brightness perturbation factor\")\n", "plt.ylabel(\"relative mAP\")\n", "for k in (\"map\", \"map_small\", \"map_medium\"):\n", " plt.plot(perturbation_values, [m[k].item() for m in perturbed_metrics], label=k)\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "f6e276bd-2eaf-4a4c-a3cd-9bb8c98fa30c", "metadata": {}, "source": [ "The `map` line covers all sizes; `map_small` and `map_medium` are the mean average precision for objects (smaller than 32^2 pixels, between 32^2 and 96^2 pixels) in area, respectively. (There are no detections in the `map_large` category.) (Here, the mAP value is averaged over a **range** of IoU thresholds, between 0.5 and 0.95.) We see that medium objects, regardless of class, are generally much more robust to brighter illumination perturbations than small ones, which makes sense when observing how objects tend to get \"washed out\" in the perturbation examples shown in the [Examples and Guidance](#NRTK-Brightness-perturbation:-examples-and-guidance) section above. For dimming perturbations, the situation is reversed (although not as dramatically): small objects tend to be more robust than medium, but both fall off dramatically around 0.3.\n" ] }, { "cell_type": "markdown", "id": "b28b9f2a-7217-4427-9c4f-f84656a4dcf2", "metadata": {}, "source": [ "# End of notebook" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.21" } }, "nbformat": 4, "nbformat_minor": 5 }