{ "cells": [ { "cell_type": "markdown", "id": "71b1eb19-3148-46ca-8a9a-fdf18bd2b18d", "metadata": {}, "source": [ "# Demonstrating Motion Jitter 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, camera motion jitter), can affect an object detection model, and how that impact can be measured. The overall structure is:\n", "\n", "- **Evaluation Guidance: Computing Mean Average Precision (mAP):**\n", " - An overview of the evaluation strategy.\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 absolute mAP metric of the detector on the perturbed datasets.\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.\n", "\n", "To run this notebook in Colab, use the link below:\n", "\n", "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Kitware/nrtk/blob/main/docs/examples/maite/nrtk_turbulence_perturber_demo.ipynb)" ] }, { "cell_type": "markdown", "id": "4b2e1964-46e2-4497-88ff-274eaca17960", "metadata": {}, "source": [ "## Evaluation Guidance: Computing Mean Average Precision (mAP)\n", "\n", "This notebook evaluates the robustness of an Object Detector when exposed to NRTK (Natural, Physics-based) perturbations, using mean Average Precision (mAP) as the performance metric. The baseline case, where no perturbations are applied (identity augmentation), typically yields an mAP close to 1.0 and serves as the reference point. Unlike standard evaluations that focus on whether the detector can correctly identify and localize objects, our goal here is to measure how well the detector maintains its performance under realistic perturbations. \n", "\n", "By comparing the absolute mAP scores of the baseline against perturbed datasets, we can assess the detector's sensitivity to environmental variations and quantify its robustness in generating reliable predictions beyond controlled conditions." ] }, { "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.\n", "\n", "**Note for Colab users**: After setting up the environment, you may need to \"Restart Runtime\" in order to resolve package version conflicts (see the [README](https://github.com/Kitware/nrtk/blob/main/docs/examples/README.md#run-the-notebooks-from-colab) for more info)." ] }, { "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": 2, "id": "2561179f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Beginning package installation...\n", "Installing nrtk's extras...\n" ] } ], "source": [ "import sys # noqa: F401\n", "\n", "print(\"Beginning package installation...\")\n", "!{sys.executable} -m pip install -qU pip\n", "\n", "print(\"Installing nrtk's extras...\")\n", "!{sys.executable} -c \"import nrtk\" || !{sys.executable} -m pip install -q \\\n", " \"nrtk[maite,pybsm]>=0.25.0\"" ] }, { "cell_type": "code", "execution_count": 3, "id": "442f23cf", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Installing required packages...\n" ] } ], "source": [ "# Adding temporary numpy<2.0 constraint to avoid incompatibility issues\n", "print(\"Installing required packages...\")\n", "!{sys.executable} -m pip install -q \"matplotlib\" \"torchvision\" \"torchmetrics\" \"ultralytics\" \"numpy<2.0\"" ] }, { "cell_type": "code", "execution_count": 4, "id": "c1a5c11e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Doing a fresh install of opencv-python-headless...\n" ] } ], "source": [ "# opencv-python depends on libGL, which is unnecessary for running the notebook\n", "# and can cause failures in some environments (e.g., GitLab CI). To avoid this,\n", "# we uninstall all opencv variants and install opencv-python-headless instead.\n", "\n", "# OpenCV must be uninstalled and reinstalled last due to other packages installing OpenCV\n", "# Adding temporary numpy<2.0 constraint to avoid opencv-python-headless installation issues\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\" \"numpy<2.0\" --no-cache-dir" ] }, { "cell_type": "code", "execution_count": 5, "id": "c18e6bd1-1c56-447a-b1e4-16df26269ed8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Detected status of NRTK extras and their dependencies:\n", "\n", "[Pillow]\n", " - Pillow ✓ 10.4.0\n", "\n", "[albumentations]\n", " - albumentations ✓ 2.0.5\n", "\n", "[diffusion]\n", " - torch ✓ 2.8.0+cu128\n", " - diffusers ✓ 0.34.0\n", " - accelerate ✓ 1.9.0\n", " - Pillow ✓ 10.4.0\n", " - transformers ✓ 4.53.1\n", "\n", "[graphics]\n", " - opencv-python ✗ missing\n", "\n", "[headless]\n", " - opencv-python-headless ✓ 4.11.0\n", "\n", "[maite]\n", " - maite ✓ 0.8.2\n", " - fastapi ✓ 0.116.1\n", " - pydantic ✓ 2.10.4\n", " - pydantic_settings ✓ 2.7.0\n", " - uvicorn ✓ 0.34.0\n", "\n", "[notebook-testing]\n", " - datasets ✓ 4.0.0\n", " - matplotlib ✓ 3.9.2\n", " - numba ✓ 0.60.0\n", " - tabulate ✓ 0.9.0\n", " - torch ✓ 2.8.0+cu128\n", " - torchmetrics ✓ 1.6.2\n", " - torchvision ✓ 0.23.0+cu128\n", " - transformers ✓ 4.53.1\n", " - ultralytics ✓ 8.3.85\n", " - jupytext ✓ 1.16.7\n", " - albumentations ✓ 2.0.5\n", " - xaitk-jatic ✓ 0.8.0\n", "\n", "[pybsm]\n", " - pybsm ✓ 0.12.0\n", "\n", "[scikit-image]\n", " - scikit-image ✓ 0.25.2\n", "\n", "[tools]\n", " - kwcoco ✓ 0.8.7\n", " - Pillow ✓ 10.4.0\n", "\n", "[waterdroplet]\n", " - scipy ✓ 1.15.3\n", " - shapely ✓ 2.0.7\n", " - geopandas ✓ 0.14.0\n", "\n", "\n", "For details about installing NRTK extras, please visit:\n", " https://nrtk.readthedocs.io/en/v0.25.0/installation.html#extras\n", "\n" ] } ], "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.pybsm.jitter_otf_perturber import JitterOTFPerturber\n", "from nrtk.utils._extras import print_extras_status\n", "\n", "print_extras_status()" ] }, { "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": 6, "id": "57facb8b-4cb6-476b-a321-f48d70e773ba", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.25.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 Jitter Perturbation: Examples and Guidance\n", "\n", "The [Jitter perturbation]() is set by the following parameters:\n", "\n", "- `s_x`: root-mean-squared jitter amplitudes in the x direction (rad).\n", "- `s_y`: root-mean-squared jitter amplitudes in the y direction (rad).\n", "\n", "For the purpose of this example notebook, we will only change the `s_x` value. \n", "\n", "Changing the value of `s_x` will have the following affects: \n", "- `s_x == 1.7e-14`: A negligible value that returns the original image.\n", "- `1.7e-14 < s_x < 2e-2`: returns an image with incremental jitter added in the x-direction. \n", "\n", "As the value of `s_x` (or `s_y`) param increases:\n", "- The Point Spread Function (PSF) widens, leading to the image appearing smeared in the direction(s) of the jitter.\n", "- Fine details are lost, especially at high spatial frequencies (edges, textures, small patterns).\n", "- There is decline in visual crispness (suppression of moderate spatial frequencies) across-the-board causing the image to appear out-of-focus.\n", "\n", "For additional information on how these parameters affect image formation, see this [pyBSM explanation](https://pybsm.readthedocs.io/en/latest/explanation.html).\n", " " ] }, { "cell_type": "code", "execution_count": 7, "id": "5a370d2a-2489-4c48-b29a-ea8ad3ef98fa", "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "_, ax = plt.subplots(2, 4, figsize=(10, 4))\n", "for idx, s in enumerate((1.7e-14, 2e-5, 6e-5, 2e-4, 6e-4, 2e-3, 6e-3, 2e-2)):\n", " (row, col) = (int(idx / 4), idx % 4)\n", " perturber = JitterOTFPerturber(s_x=s)\n", " ax[row, col].set_title(f\"s_x: {s:.1e}\")\n", " ax[row, col].imshow(perturber(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 comparisons against the perturbed images.\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": 8, "id": "55600de0-089f-4dd6-ac4d-7896b8df5494", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Ultralytics 8.3.85 🚀 Python-3.10.18 torch-2.8.0+cu128 CUDA:0 (Quadro RTX 5000, 15928MiB)\n", "Setup complete ✅ (40 CPUs, 31.0 GB RAM, 471.1/914.7 GB disk)\n", "Downloading model...\n", "Computing baseline...\n", "\n", "0: 384x640 5 persons, 15 cars, 1 motorcycle, 2 trucks, 55.8ms\n", "Speed: 6.4ms preprocess, 55.8ms inference, 93.0ms 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)" ] }, { "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.tasks.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.tasks.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": 9, "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", " \"\"\"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": 10, "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", " \"\"\"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", " \"\"\"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", " \"\"\"Processes a batch of images using the YOLO model and converts the predictions to `YOLODetectionTarget`s.\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", " # 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": 11, "id": "1dcbb5d0-b899-4355-9922-9d52fb866b4b", "metadata": {}, "outputs": [], "source": [ "# our single image, its baseline detections, and 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": 12, "id": "aa7a398f", "metadata": {}, "outputs": [], "source": [ "from nrtk.interop.maite.interop.object_detection.augmentation import JATICDetectionAugmentation\n", "\n", "perturber = JitterOTFPerturber(s_x=1.7e-14)\n", "identity_augmentation = JATICDetectionAugmentation(perturber, 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": 13, "id": "e33407c5-f1d7-4c7a-9a31-2d500f97edcc", "metadata": {}, "outputs": [], "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", " \"\"\"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", " \"\"\"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", " \"\"\"Converts an ObjectDetectionTarget into a dictionary format compatible with the Torch's `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: Sequence[od.TargetType], targets: Sequence[od.TargetType]) -> None:\n", " \"\"\"Updates the wrapped Torchmetrics metric with the given predictions and targets.\n", "\n", " Args:\n", " preds (Sequence[od.TargetType]): A batch of predictions in the format expected by the Torchmetrics metric.\n", " targets (Sequence[od.TargetType]): 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", " \"\"\"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 `s_x` value of 1.7e-14, leaving the image essentially 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": 14, "id": "a0af9f36-c69b-400f-82ec-f1fd7e9d98ea", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "100%|██████████| 1/1 [00:00<00:00, 2.43it/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.tasks 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 >= 1.7e-14)\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": 15, "id": "48b5e334-d8eb-415c-b263-4c4bd3618b43", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Generated 30 perturbation augmentations\n" ] } ], "source": [ "SWEEP_LOW = 1.7e-14\n", "SWEEP_HIGH = 5e-4\n", "SWEEP_COUNT = 30\n", "VISUALIZATION_INDICES = [10, 28, 29]\n", "\n", "##\n", "## end user-settable parameters\n", "##\n", "\n", "perturbation_values = np.geomspace(SWEEP_LOW, SWEEP_HIGH, SWEEP_COUNT, endpoint=True, dtype=np.float64)\n", "augmentations = [\n", " JATICDetectionAugmentation(JitterOTFPerturber(s_x=p), augment_id=str(idx))\n", " 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": 16, "id": "a4951dfc-c2cc-434a-8fd2-1786ba3acf96", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ " 0%| | 0/1 [00:00" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "perturbed_metrics = list()\n", "_, ax = plt.subplots(len(VISUALIZATION_INDICES), figsize=(30, 12))\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", " s_x = a.augment.get_config()[\"s_x\"]\n", " print(f\"Perturbation #{idx}: s_x perturbation value {s_x:.1e}\")\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", " # Plot image\n", " ax_idx = VISUALIZATION_INDICES.index(idx)\n", " ax[ax_idx].imshow(model(aug)[0].plot())\n", " ax[ax_idx].set_title(f\"s_x: {s_x:.1e}\")\n", " _ = ax[ax_idx].axis(\"off\")\n", "plt.tight_layout()" ] }, { "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 the mAP scores compared against the detections in the unperturbed image.\n" ] }, { "cell_type": "code", "execution_count": 17, "id": "09b6804b-c98c-46fb-af98-ab5598892ba7", "metadata": {}, "outputs": [ { "data": { "image/jpeg": "/9j/4AAQSkZJRgABAQEAZABkAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAHHAjcDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiio5547a3luJm2xRIXdsZwAMk8UASUVy9r8RvCN5LDHFrUOJ4vNjkkjdI2ULuPzsoXcF5K5yO4rQ0TxTo3iKW5i0u886W22+bG0TxsobocOASDg4I4oA2KK4lfGl43xBOlfZ7f+wjMdPW6wd/20RCUrnONu3K4xncOtS6zrPiN/HEXh/Q30qJP7N+2vJfQSSEnzNm0bHXHb1oA7GiuP0LxsJvD+r32vRw2k+j3sljdG3LOkjrtwYx947t6gL1zxTx4j8VOn2mPwYRaY3COXUo0uSv8A1z2lQfYvQB1tFcd4i8a/Zfh5eeJNHEXnQskfl3sbDynMqxusigggrk5Ge3cVb8KapqOrGea41zw7qlqo2htIRso/+0TI46duKAOmorzl/HOv/wBjTeLYrLT28MRTsvlfP9qeBZNjTA52joW246DrXoqkMoZSCCMgjvQAtFc5B498MXOrrpcOrRtctKYE+RxG8g/gWTGwt7A5pdT8d+G9HvrmxvtR8u7tgplhWCR2UMu4HCqcjHUjgZGcZoA6KioLK8ttRsoLyzmSe2nQSRSochlIyCK5rUtWMEfi0/8ACTfZvsMSNn7Bv/s3MW7d0/fZ+9jnHSgDrKK4m8+IdjpXjGPQrzznh/s9bhriKzmkZpCwAG1EPylTnPQHjrxUmifEGx1XxTquhyRzRyW12Le3ZbSYiT5AWLNt2pzkDJGQAR1FAHZUVzn/AAnnhj+1hpn9qx/aDN9nz5b+V5vTZ5uNm7PGN2c8U/UvG3h7SdSm068vyt7CqM1ukEkj4fJUgKpyODkjOO+MigDoKKqanqdno2mXOpX83k2lshklk2ltqjqcAEn8BWXpvjXw7rGqDTbHU0lu2VmRPLdRKF6lGICvjvtJoA36K53UPHfhnStRewvNVSOeJgspEbskRPQO4Uqh5H3iKm1fxhoOhXqWeo34huZIfPjiETu0ibtvyhQdxyeg5xk4wDQBuUVxGl/EnTdQ8XahopS4VI2t0tZBZTkyNICTv+TCAHGC2AevauhHiXSG0C51wXf/ABLbbzfNm8t/l8tir/LjccFSOBzjigDWorB1Txp4f0a7jtb/AFDyriWAXEcQhkdpEJwCoVTk5zwOcAnGBXOQfEOx0/xX4it9Y1MpYw/ZXsYhbMzqjQh3YhFLYyQSW6ZxxQB6DRWTeeJtFsNGh1e41GFbCfb5Mykv5u77oQLksT6AE0ml+KNF1mxubyxv0aG1J+0GRWiaHAyd6uAV455AoA16K4G8+IWn6nq/h228P6qHF1qQiuEMDKZYTFIcrvUZXcq/Mv5813Nzcw2dtLc3MqQwRIXkkc4VFAyST2FAEtFcFL4/sdW8S+GrPQdT8yG6upFuo2gZDJH5EjKRvUHbuUfMvHHWtq48d+GrTVDp1xqQjnE3kMzQyCNZM42mTbsBzxyaAOjorjdU+INjpHjo6BeRzCEWP2hpYrSaVvMLgBcIhyu053dAeM54rQ1Px14b0fUJLG/1HyZomVZSYJDHEWAI3uFKrwQeSOtAHRUVj6z4p0XQDbrqN55clwCYY4onmdwOpCoCcDI5xikm8WaHb6FFrU2oIlhM22KRkYM7ZI2hMbi2QeMZ4NAGzRXJaj4/0iPwdq+vaZOLs6fE26ExSKyyY+VXQruUE45IAA56CtTw14ks/E2mJdWnnBgqeaslvJEFYjOBvUbh7jIoA2aKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiikLBepA+tAC0U3en95fzo3p/eX86AHUU3en95fzo3p/eX86AHUU3en95fzo3p/eX86AHUU3en95fzo3p/eX86AHUU3en95fzo3p/eX86AHVn69/yL2p/wDXpL/6Aavb0/vL+dG9P7y/nQB5NcWdu3wr+G8LQoYzf6UxUrwS2N355Ofqa2tb1WDQfidfarccQ23hd5pO27ZPkD68kD613+9P7y/nRvT+8v50AeOHwv42j+Hq3BvtKM0bf235X2ST7Qbjd55G/fjdnKfd6cVqvBYeNPiRpt2Lm9itbjw0tzGbS7kgYhphwWQgkc9PUV6dvT+8v50b0/vL+dAHE6vomleGrbw1b2lstvpUOtJJcZYtl2jkVHdmJJPmtFyT1x6VxXiDT4Ft9XN1oOrz+Kf7TM322G1ldWtvPDLtcfKYxFhdnXI6Z5r2S+tbPUrGayvYop7adCkkT8hge1cyPBTqn2VfF2vrp3T7L9pTIX+6JdnmY/4Fn3oAr2N3Zafpuua54htWstM1LUUmjt7uAsUURxxq8iAHaWaPdyOMjODms/RbrS9a+KEWp+F0RrCLTZItRu4IikMrl1MaZwAzjDHIzgHGe1ehRCKGFIkb5EUKu59xwOOSeT+NP3p/eX86APGV1KK0+Fdx8Pysh8TBZNNSx8ttz7pCFlBxjy9h3bunWvXZbWQaO9pbybZRbmKN+mG24BqzvT+8v50b0/vL+dAHiv8Aadje/C3SvBNnDInieN7a3Nj5LCS3mjlUvK3GFX5WbdnBz712/hyKP/haXjaXYPM8uwXdjnHlMcV2e9P7y/nRvT+8v50Acj8LRj4d6ao4CyXCgegE8gA/KuX8R/8AHv8AFr/r0g/9JRXq29P7y/nWF4e0J9HudUvrzUhfX+pTLLNKIhEoCoERVUE4AA9eaAOYvNVsfD3xH0rUdXuUs7Kfw+baO4l4QyiVG2Z6ZxzT9G1K10/x34v0i5vEtNR1G6iksUkyDMDboNyeuCp6eleg70/vL+dG9P7y/nQB4Rpdvp7+DoPC2v8AjLVdOuI1EFxo/wBii3q4bPyYiLMCwDBgTnOc16HokKH4t+KpioMqWFiiuRyAfNJH47R+VdpvT+8v50b0/vL+dAHK/E7/AJJl4i/68nrmJtY07xHe+CtK0NH+36deRXFzF5LIbGFImV1fI+XJIUDv+Vd34n0hPEfhjUdG+1Lb/bIGh87bv2Z74yM/mK04QkUEcfmKdihc+uBQB4pbLb6bba3oXiPxjqGjyz3l0ZbP7HEy3UcrsQ6MYmZ9ysOhJB44wK6zTLG3t/ifoUCNJOlr4VKwyzrhziWNQxGBhiM5+pr0Len95fzo3p/eX86AODsNVsdF+K/iK31K5S1l1RLEWIl4+0EK6kIe5DEDHvXI3/iCx0j4X+KfDFy0g1qOS/U2giYuUeV3EnTGzawbd049a9q3p/eX86N6f3l/OgDg7OKN/i7YSMgLx+GBsJH3czgHH4VmW3iTRfDXxS8bT6xJ9lSVbIJctGzKcQcpkA4bkEDvzjpXp+9P7y/nRvT+8v50AeIppuo6b4c8F6ncT32j6dbXN9JJJDbrI9kk7EwlkZWAG3Kk4+Xf2q9eaXba94a8YXWg+I73xDqVzYRQykwoiuqMzBVKIqsxG8cZPIHcV7BvT+8v50b0/vL+dAHleq+KNB8R+JPAw0bMpg1H5mEJUWwML/umyPlY4+7/ALH0rq/iVY3Wo/D3VrazheeYojmFBlpESRWdQO5Kqwx3zXU70/vL+dG9P7y/nQB5ff8AifQ/Evj3wM+jP9pENxcb5liZRDut3/dkkDDHGdvbbz2rm/GfiO81Pw34nttR8QXNvfRPPEmg29ihxErHa7uyFipUBy4YD05r3Ten95fzo3p/eX86APPL7V7LQfiVpmqazdLaWdzoBt0uZshGl85GK7vXHNYXi3xHd3TeKtO1DxBc6dLD5sFpo9tYo7XcXljDlnRiQ2TkggKBz617BvT+8v50b0/vL+dAHlUtzpNno3hPUp/FEmga0uiQpHcPAJYpomVCVYMME7lBwCGqrq1/rOrab4M8T6pPc6VBby3SXV5aWu7y9w2RTeXIrbVYKeSOPMr1/en95fzo3p/eX86APKFs7DVfD/jW+0nxHeeIb+50dreRjAiq2Ek2BSiKrNyw4yeR7V3HgzXdL1vw7af2bexXJt4Io5lQ8xvsHysOx9q396f3l/Ojen95fzoAdRTd6f3l/Ojen95fzoAdRTd6f3l/Ojen95fzoAdRTd6f3l/Ojen95fzoAdRTd6f3l/Ojen95fzoAdRTd6f3l/Ojen95fzoAdRTd6f3l/OjepIAYZPvQA6iiigAooooAKKKbI/lxs+1m2gnaoyT7CgB1FY2geI4dfkv4ksb2ymsZVimivEVWyyK4ICseNrDrg0mseJIdJvYLFLG91C+mjaYW1kis6xqQC53MoAyQOuSegNAG1XJ+M7Cz1PUvCtnf2kF1bSaq++GeMOjYtLgjIPB5AP4V0Glapa61pdvqNk5e2uE3oSpBHqCD0IOQR2IrI8S/8h7wj/wBhV/8A0juaAF/4QHwd/wBCron/AIARf/E0f8ID4O/6FXRP/ACL/wCJroqKAOd/4QHwd/0Kuif+AEX/AMTR/wAID4O/6FXRP/ACL/4mt95oozh5UU+hYCm/abf/AJ7xf99inZiujC/4QHwd/wBCron/AIARf/E0f8ID4O/6FXRP/ACL/wCJrfSWOQkJIjY67Tmn0hnO/wDCA+Dv+hV0T/wAi/8AiaP+EB8Hf9Cron/gBF/8TXRUUAc7/wAID4O/6FXRP/ACL/4mj/hAfB3/AEKuif8AgBF/8TXRUUAc7/wgPg7/AKFXRP8AwAi/+Jo/4QHwd/0Kuif+AEX/AMTXRUUAc7/wgPg7/oVdE/8AACL/AOJo/wCEB8Hf9Cron/gBF/8AE10VFAHO/wDCA+Dv+hV0T/wAi/8AiaP+EB8Hf9Cron/gBF/8TXRUUAc7/wAID4O/6FXRP/ACL/4mj/hAfB3/AEKuif8AgBF/8TXRUUAc7/wgPg7/AKFXRP8AwAi/+Jo/4QHwd/0Kuif+AEX/AMTXRUUAc7/wgPg7/oVdE/8AACL/AOJo/wCEB8Hf9Cron/gBF/8AE10VFAHO/wDCA+Dv+hV0T/wAi/8AiaP+EB8Hf9Cron/gBF/8TXRUUAc7/wAID4O/6FXRP/ACL/4mj/hAfB3/AEKuif8AgBF/8TXRUUAc7/wgPg7/AKFXRP8AwAi/+Jo/4QHwd/0Kuif+AEX/AMTXRUUAc7/wgPg7/oVdE/8AACL/AOJo/wCEB8Hf9Cron/gBF/8AE10VFAHO/wDCA+Dv+hV0T/wAi/8AiaP+EB8Hf9Cron/gBF/8TXRUUAc7/wAID4O/6FXRP/ACL/4mj/hAfB3/AEKuif8AgBF/8TXRUUAc7/wgPg7/AKFXRP8AwAi/+Jo/4QHwd/0Kuif+AEX/AMTXRUUAc7/wgPg7/oVdE/8AACL/AOJo/wCEB8Hf9Cron/gBF/8AE10VFAHO/wDCA+Dv+hV0T/wAi/8AiaP+EB8Hf9Cron/gBF/8TXRUUAc7/wAID4O/6FXRP/ACL/4mj/hAfB3/AEKuif8AgBF/8TXRUUAc7/wgPg7/AKFXRP8AwAi/+Jo/4QHwd/0Kuif+AEX/AMTXRUUAc7/wgPg7/oVdE/8AACL/AOJo/wCEB8Hf9Cron/gBF/8AE10VFAHO/wDCA+Dv+hV0T/wAi/8AiaP+EB8Hf9Cron/gBF/8TXRUUAc7/wAID4O/6FXRP/ACL/4mj/hAfB3/AEKuif8AgBF/8TXRUUAc7/wgPg7/AKFXRP8AwAi/+Jo/4QHwd/0Kuif+AEX/AMTXRUUAc7/wgPg7/oVdE/8AACL/AOJo/wCEB8Hf9Cron/gBF/8AE10VFAHO/wDCA+Dv+hV0T/wAi/8AiaP+EB8Hf9Cron/gBF/8TXRUUAc7/wAID4O/6FXRP/ACL/4mj/hAfB3/AEKuif8AgBF/8TXRUUAc7/wgPg7/AKFXRP8AwAi/+Jo/4QHwd/0Kuif+AEX/AMTXRUUAc7/wgPg7/oVdE/8AACL/AOJrJ1LwxoOjeJvCdxpei6dYzNqciNJbWyRsV+yXBwSoHGQD+FdxXOeJf+Q94R/7Cr/+kdzQB0dFFFABRRRQAUjMFUsQSAM4AyaWigDgfDetgeJvFNy2k62kd3NHc25l0uePzFjto1YAsoAbcjAAkE9qtXl3Np3i218SPpepS2N7pK25SC1aWaCQP5gV41yRkORnoCvOK7SigDnvA+n3Wm+ErWG9hMFzJJPcPCSCYvNleQIcdwHAPuKydV0Cz03xX4Wu4JtQeSXVJQy3GoTzIM2lweEdyo6dgMdK7euc8S/8h7wj/wBhV/8A0juaAOjooooAyNT8L6NrF0Lm/sVmmChAxdhwO3BHrVP/AIQLwx/0Ck/7+v8A/FV0dFaKrUSspP7zN0abd3FfccNqOk2Pg/WNL1fTYPs9o8ptbxQxI2v0Y5J4BH8q7mqGt6YmsaLd6e+P30ZCk9m6qfwIBql4R1N9T8O27z5F1Bm3uAeodODn3IwfxqptzgpPdaf5EQSpzcVs9f8AP9DcooorE3CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5zxL/yHvCP/YVf/wBI7mujrnPEv/Ie8I/9hV//AEjuaAOjooooAKKKKACiikd1RGd2CqoyWJwAKAForF0jxZomu3JttOvfNlEfmqrRPH5kecb0LKA65I+ZcjketSat4l0rRJo4L64cTSKXWKGCSZ9g6sVRSQo9SMUAa1c54l/5D3hH/sKv/wCkdzW7a3VvfWkN3azJNbzIHjkQ5V1IyCDWF4l/5D3hH/sKv/6R3NAHR0UUUAFFFFABXJ2n/Ek8fXVofltdXj+0RegmX74/Ec/lXWVzXja1lOkR6pajN1pkq3Se6j7w+mOfwrWi7y5X10/y/ExrK0eddNf8/wADpaKgs7qK+soLuE5imQSKfYjNT1k1bQ2TvqgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuc8S/8h7wj/wBhV/8A0jua6Ouc8S/8h7wj/wBhV/8A0juaAOjooooAKKKKACsfxbaXOoeDdbs7IE3U9hPFCB1LtGQB+ZrYooA83g17StU1vw1d6dMDb6PY3M2oFUP+iR+Uq+W4xw2Rnb1+Q8Vd8RX1hYaxa+IbbxPY6ZPeWAhC3lsZluIQxdTGoZG3gueBnORxXd0UAcv8OrC70zwFpltfLKs+JJCsww6q8jOoYdiFYZHbpVDVdLvLPxX4Wnn13UL6N9UlC29wkARM2lwcgpGrcdOSev4129c54l/5D3hH/sKv/wCkdzQB0dFFFABRRRQAU2SNJY2jdQyOCrA9CDTqKAOV8GSPZDUPD8zEyabORET1aF/mU/z/AErqq5PXv+JN4s0rWx8sFz/oN0e2G5Qn8e/tXWVtW1an3/PqY0dE4dvy6BRRRWJsFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRR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ACiiigAooooAKKKKACiiigAooooAKKKKACqOsaVBrWlT2FwPklXAburdmHuDV6imm07oTSasznfCmqT3NtNpeonGp6e3lTZ/5aL/AAuPXI/zzXRVyvim2m0y8t/E9ihaW1Gy7jX/AJawHr+I6/8A6q6W1uYby1iubdw8Mqh0Ydwa0qJP31s/zMqTavCW6/IlooorI2CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5zxL/yHvCP/YVf/wBI7mujrnPEv/Ie8I/9hV//AEjuaAOjooooAK8+8UTQ3Wr3dlZNqKSGe3hu5Tk2YnbYYQSG3xyZMWHjBAJXcG6V6DXB6jbTap4yvJdE0LS5LzTWiW4vb+4kQNKUDqFjQHcVVl+dumcDpQBreE7SO3mvmni1JdVYRrdPfv5hZRu2BHACMnL4xg8ncATXTVhaDrV9e3t/pmrWUNtqNksbv9nmMsUiSbtrKSARyjAgjjHfNbtABRRRQAVzniX/AJD3hH/sKv8A+kdzXR1zniX/AJD3hH/sKv8A+kdzQB0dFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAjKroUdQysMEEZBFcjobN4b1+Xw7Mx+xXG6fTnY9B1aP8Ov/wCuuvrG8TaK2s6Xtgby763YTWso4KyDpz6Hp/8AqrWnJfDLZ/1cyqxeko7r+rGzRWT4c1pdc0lLhl8u5jJiuIjwY5B1GP1/Gtas5RcXZlxkpJSQUUUUigooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5zxL/wAh7wj/ANhV/wD0jua6Ouc8S/8AIe8I/wDYVf8A9I7mgDo6KKKACuC8TDQZ769u0ttXGsRXUWm40y7e2kupGiWVVyrqpAR87m6AN6c97XPSeDdOk8S/26bi+W4+0LcmFbgiEyLEIg2zpnYMZoAqeCRY241Gyj0m707UonR7xLy4+0Sy7gdknm7m3ghSBzwVIwK6yqMGlw2+sXupq8jT3ccUThiNqrHu2hRj1dic561dYblIyRkYyKAOasfHGnX19bQpa30drdzPBaX8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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "map50_list = [m[\"map_50\"].item() for m in perturbed_metrics]\n", "plt.title(\"mAP@50 on jitter perturbed dataset\")\n", "plt.xlabel(\"s_x value\")\n", "plt.ylabel(\"mAP @ 50% IoU\")\n", "plt.yticks(np.arange(0, 1.1, 0.1))\n", "plt.ticklabel_format(style=\"sci\", axis=\"x\", scilimits=(0, 0))\n", "_ = plt.plot(perturbation_values, map50_list)" ] }, { "cell_type": "markdown", "id": "3a8720fd-32dc-493d-ab5c-81c313615504", "metadata": {}, "source": [ "### Evaluation Interpretation\n", "\n", "**General things to know about mAP calculation**:\n", "- The mAP metric calculation does not take into account the images that do not have any detection or any ground truth. In such cases, it returns the default initialization value, -1. It means it couldn't compute the metric. (Source: [link](https://github.com/Lightning-AI/torchmetrics/issues/1184#issuecomment-1589210748)). Hence, in this notebook example, we clip values to a range of `[0, 1]`.\n", "- When having images with no ground truth, the order of those images in the batch can change the mAP calculation. To be more precise, if empty images are at the end of the batch, they will be ignored in the computation. But the empty images that are placed before the last non-empty image are taken into account. (Source: [link](https://github.com/Lightning-AI/torchmetrics/issues/1774#issuecomment-1590681234)).\n", "\n", "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 the mAP value rapidly decreases as the jitter amplitude along the x-direction (`s_x`) increases." ] }, { "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": 18, "id": "65d28ff5-838e-467a-a703-81432a408b35", "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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rqdDbzRuNslvOvKE+uen+BrlxNHk/wBooq72fp5/oxKv70IVtLP8+3zs2j0yisnSdUkmkewv1EWoQj5h2kH95a1qqlUjUjzROmpTlTlyyCiiitDMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5zxL/yHvCP/AGFX/wDSO5ro65zxL/yHvCP/AGFX/wDSO5oA6OiiigArgvEw0Ge+vbtLbVxrEV1FpuNMu3tpLqRollVcq6qQEfO5ugDenPe1z0ng3TpPEv8AbpuL5bj7QtyYVuCITIsQiDbOmdgxmgCp4JFjbjUbKPSbvTtSidHvEvLj7RLLuB2SebubeCFIHPBUjArrKowaXDb6xe6mryNPdxxROGI2qse7aFGPV2JznrV6gAooooAK5zxL/wAh7wj/ANhV/wD0jua6Ouc8S/8AIe8I/wDYVf8A9I7mgDo6KKKACiiigAooooAKKKKACiiigAooooAKw/FWivrOlA2reXqFqwntJRwVkHb6Hp+XpW5RSaTVmXTqSpzU47oyfDmtJr2jRXe3y5wTHcRd45B94f1+hrWrjdQ/4pPxWmqr8ulaowivB2im/hk9ge/4+1dlUwbej3RriKcYtTh8MtV5d18v8mFFFFWc4Vy3jTQYb3S5dTgj2alZr5scycNheSD68A4966mkZVdSrAFSMEHuKUleLXcipBTi4s89h1x7+Cyi1vFlfuoksdSTiKXPYn+E+o/l36/SdVN5vtbpBDfw8SR9mH95fUGsTw5ZW1xp2p+GtQhWeOxuGVUf/nm3zIfY9eaydV0jVvDJS4tZJbzT7fmKTrNaj0P99P5e3OcnDn/fUVaXWPSXp2f57ejw2IbpKnX1j0fWL637r8tz0Wisfw9r9vrtkJEZRMo+dAf1Ht/KtirhOM480TScHB8sgoooqyQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuc8S/8h7wj/wBhV/8A0jua6Ouc8S/8h7wj/wBhV/8A0juaAOjooooAK4HxNreoTaxLZ2huzBb3UNkttZTJDLczyRGUkyMPlRU2nAwT82Txg99XIeIfC091qE19Zww3Udz5bXFrJcvbOJYwQk0UqAlHCnafUAcjnIBU8M+JNVjuYtM1e3cMdSl09WnlV5oyIBPGHKDa2VD8jtszyTXdVx+geFri31CC8vIIrWG2eSaG2S6e5kknddjTTSuAWbZlQOcAnk8AdhQAUUUUAFc54l/5D3hH/sKv/wCkdzXR1zniX/kPeEf+wq//AKR3NAHR0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAVNT0631bTbiwul3QzoVb1HoR7g81h+ENRuBHcaDqTZ1HTSELH/lrF/A4/DA/L1rp65TxdZz2U1t4m09C11YcTxj/ltAfvL+HX86znp7yOvDtVE6Euu3k/8Ag7P5djq6KgsryDULKG8tnDwzIHRh6Gp60OVpp2YUUUUCOYvf+JX47srvpDqUJtpPTzF5U/U8CunrA8ZWklx4elng/wCPiydbqI+hQ5P6ZrXsLuO/0+3u4vuTRrIPbIzisoaTcfmYw92co/P+v66nP3/hc214dT0JhbXQO54Bwkh749CfyPt1rQ0fxBBqTm2lH2e/TO+B+CcdSvr/ADH61sVznifw2urRC5tiYr6L5kdDtLY6c9iOxqKkXCftY633XfzXn+f3HbBqcPZS07Pt5Py/L7zo6K4bRPGU9my2fiEbQG8tL4Lhd392Qfwt79PyzXcKyuoZSCpGQQcgiunRxUou6ezOe9pOLVmt0LRRRSGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXOeJf8AkPeEf+wq/wD6R3NdHXOeJf8AkPeEf+wq/wD6R3NAHR0UUUAFcRrvinX7O71u502x0+XStCAN6J5HE037pZnEeBtGEdcZzk+ldvXA+I9N8HXmt3qTaFcaxrEm0XMFmrk52KF8xtyxp8u37xGRigDvVYMoYHIIyKWuL+HVpF/ZkmrWuj2umWOpRQy20cdzJNKyYYgybhhThhgLnvkmuzYEqQDg44PpQBi2ni7Qr7Vf7Mt78Pcl3jT904SRk+8qSEbHIwchSSMH0rWurqCytJrq5lWKCFDJJI5wFUDJJryrR7qC48P+DPDUGf7c02/ha8ttp32/lB/Nd/QNyAT97eMZzXU61JqHiWDSLzQYbLUtH3tPNFPcvb+c6EeWD+7bKhgSQQMlV7ZBAOk0nVbLXNMg1LTpjNaTgmNyjITgkHhgCOQeorJ8S/8AIe8I/wDYVf8A9I7mqHwtku5PAdn9rt4ocSSiPy5jJuXzG5OVGDnIxzwAc84EWq6XeWfivwtPPruoX0b6pKFt7hIAiZtLg5BSNW46ck9fxoA7eiiigAooooAKKKKACiiigAooooAKKKKACiiigApCAylWAIPBB70tFAHHaIT4X8SS+HpSRp94Wn05j0U9Xi/qP/r12NYvijRDrekGOBvLvoGE1pKOCki8jn0PT/8AVTvDOtjXdHS4dfLuoyYrmI8GOReox+v41nH3Xy/cdlf99BV1vtL16P5/n6mxRRRWhxiOiyIyOAVYYIPcVzXg12tra+0WQkyadcMi56mNjuU/zrpq5i7/AOJX48tLnpDqcBgf08xOVJ+owKyqaNS+X3/8Exqe7KM/l9//AAbHT0UUVqbGBruifaN95awxyTFds0DjK3CehHr6GsHT5L7Qrf7Zowl1DRgf32nuczWp77PUe3/1zXe1h6lYT2d2dW0xczY/fwDpMv8A8V/n64c0sPJzgrxfxR/Veffv677cscQlCbtJfC/0fl27fle0rV7HWrNbqxnWWM8EdGQ+hHY1erkZtHj1IjXvDVyLLUT/AKxcfu5T3WRfX3/H3qa08YJBcLZeILR9KuzwHfmGT3V+n5/nXWoxqR56Lun9/wDwTkc5U5clZWf4f8A6iikVldQysGUjIIOQRS1mahRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXOeJf+Q94R/wCwq/8A6R3NdHXOeJf+Q94R/wCwq/8A6R3NAHR0UUUAFch4st/DdpdQ3d5HeQatdZWGXSUl+1y7QM8RAlwBj7wKjIrr64nxtPND4g8PC21Wy0eZxcAahdIHAGEzCFLKDv4OSePL96AJPh8Zbexm0xJtTk0+yjiitBqOlvaSomGG0swAk4C8hQR3zkV2VYPhuS8k+0/a/EdjrONm37JbrF5XXOcO2c8enQ1vUAFFFFABXOeJf+Q94R/7Cr/+kdzXR1zniX/kPeEf+wq//pHc0AdHRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFcbqoPhXxRHrafLpmolYb8DpHJ/DJ/Q/j612VVtQsLfU9PnsrpN8MyFGH9R7jrUzjdabm+HqqnL3vhej9P+BuvMsg5GR0orlvCF/cQfaPDmovm+07ARz/y2h/hcfhgH8K6miMuZXJrUnSm4v8A4ddGFc/4ytJJ/D73MH/HxYut1EfQocn9M10FNkRZY2jdQyMCrA9waJx5otHPOPPFx7kVldR31jBdxf6uaNZF+hGanrmfBjtb2d5o8rEyabcNEM9TGTlT+PNdNSpy5ophSlzwTYUUUVZZg39lPpl22q6ahYNzdWw6SD+8P9r/AD9bkVzpXiCzaI+TcxMPnhkUEj6g/wA60qzb7QrK+fzijQ3A5E8J2uD9e9cvs6lKTlR2fT/J9P62On2lOrFRrb9/811/rcxG8M6lobGbwzfbYs5On3ZLxH/dPVf881YsfGNsblbHWbeTSb48BLj/AFb/AO6/Q1P5utaT/rkGpWo/jjG2VR7jvU4n0bxLatbSrFOv8UEy4ZT9DyD7iuiGNp1HyVVaXno/8mc88FOmuek7x+9f5o1wQRkciiuROgaz4fO/w7e+fajk6deNlQPRH6j6fzq5pvi+yurkWWoRyaZqHQ291wG/3W6Efzrd0na8NV/XQwVVJ2mrP8PvOiooorI2CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArnPEv/ACHvCP8A2FX/APSO5ro65zxL/wAh7wj/ANhV/wD0juaAOjooooAKp32k6bqnl/2hp9pd+XnZ9ohWTbnGcZBxnA/KrlFAFOx0nTdL8z+z9PtLTzMb/s8Kx7sZxnAGcZP51coooAKKKKACuc8S/wDIe8I/9hV//SO5ro65zxL/AMh7wj/2FX/9I7mgDo6KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA5bxfYzwG38R6cmb7Tsl0H/AC2g/iU/Tkj8a6DT7631PT4L21ffDMgdT/Q+/arJGRg9K43ST/wiviiTQ340zUC09gT0jf8Aij/qPw7ms37sr9Gdkf39Hk+1HVea6r5b+lzsqKKK0OM5i5/4lfj62n6QapAYX9PNTkH8sCunrnvGdrJLoDXcA/0iwkW6jP8Aunn9M/lW3Z3Ud7ZQXURzHNGsi/QjNZQ0k4/Mxp+7OUfn9/8AwSaiiitTYKKKKACs+/0Wx1E75otsw+7NGdrj8f8AGtCionTjUXLNXRcJyg+aLszBxrek9CNTtR2PyzKP/Zv50ry6H4ngNndwpI46wTrtkQ+3cH6Gt2qV/pNlqS/6TAC4+7IvDL9DWKp1aTvRl8n+j3XzubOpSqq1aPzX6rZ/gc9/ZGv+Hfm0W6/tGxX/AJcbtvnUeiP/AEP61oaV4t0/UZ/scwksdQHDWt0NjZ9s8H/PFHka1pPNvKNRth/yzlOJVHs3eop20HxOn2PUbcLcLwIp12Sof9k/4VvHG05vkrrll/Xyf5nPLB1ILmoPmj/XzX5HR0VyP2HxH4b506c6xp6/8u1y2JkH+y/f8fwFaekeKdN1eQ26u9terw9pcLskU/Q9fwreVJ2vHVGMaqvyy0Zt0UUVkahRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFc54l/5D3hH/sKv/wCkdzXR1zniX/kPeEf+wq//AKR3NAHR0UUUAFFFFABRRRQAUUUUAFc54l/5D3hH/sKv/wCkdzXR1zniX/kPeEf+wq//AKR3NAHR0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVj+JtEGu6O9ujeXdRkS20o4Mci8g5/T8a2KKTSasy6dSVOSnHdGL4X1s63pCyTL5d7AxhuojwUkXg8e/WtquO1oHwv4ki8QRAjT7wrBqKjop6JL/AEP/ANeuwBDAEEEHkEVMG9nujbE04pqpD4Zfg+q+X5WEkjSaJ45FDI6lWB7g1zngyR4bC60iViZdNuGh56lCcqf5/lXS1zE3/Eq8fQS9INVtzE3p5qcg/lxUz0kpfL7/APgnBU92UZ/L7/8Ag2OnooorU2CiiigAooooAKKKKACql9plnqMey6gWTHRujD6HrVuiplGM1yyV0VGUovmi7MwfsWr6VzYXH223H/LvcH5wP9lv8aqXf9g+JCLXVbU216v3fNHlyKf9l+/+eK6mq95YWt/F5V1Akq9tw5H0PUVhGlUou9CVvJ7fJ7r8V5G0qlOsuWvG/mt/mtn+D8zmfK8TeG+YXOuacv8AA5xcoPY/x/z+la+j+JdM1vKW0xS5X79tMNkiHvlT/TNQf2Zqel86XdefAP8Al1uTnHsrdqzr+PRNdlWLV7WTTtSX7kpOxwexVxwfxrZYynJ8uIjyPv0/y/J+Ri8HUiubDy5l26/5/mjr6K5ES+JfDg/eqdd04fxoMXKD3H8f8/pW3pHiDTNcjLWVyrSL9+FvlkT6qef6VvKk0uZaruYRqpvlej7M06KKKzNQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArnPEv/Ie8I/9hV//AEjua6Ouc8S/8h7wj/2FX/8ASO5oA6OiiigAooooAKKKRjtUnBOBnAoAWivMNKu9Ri0bwp4pfVb6a61i8hS7t5J2aAxz7sKsf3U2fLggA/Kc5zXbeI7OymsftepapeWFnaK0krW929uCOOWZCG4xwAe/egDZrnPEv/Ie8I/9hV//AEjuaf4LbUX8MwvqTXDO0srQG6/13kFz5Xmf7ezbnv685rI1XX7PUvFfha0gh1BJItUlLNcafPChxaXA4d0Cnr2Jz1oA7eiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCC9s4NRsZrO5QPDMhR19jXN+EbyezlufDOoOWu9P5gkP8Ay2gP3WH04B/Currl/F+nXCpb6/pq51HTSX2j/lrF/Gh/DJ/P1rOat7y6HXhpKadCW0tvJ9Pv2f8AwDqK53xnbSPoX22Af6Rp8q3Uf/ATz+mT+Fa+majb6tptvf2rboZ0DL6j1B9weKsSxJPC8Ui7kdSrA9weDTkueLXc4qtNtOD0Yy1uY7yzhuYjmOZFkU+xGamrmvBcrxabc6TMxM2m3Dwc9Smcqf5/lXS0QlzRTFTlzwUgoooqywooooAKKKKACiiigAooooAKhubS3vITFcwpKh7MM1NRSaUlZjTad0YJ0e+007tHvD5Y/wCXW4O5PwPUVk6hb6Rqlyv9q2s2kaoPuXcbbDn1Djg/j+ddpUc9vDcxGKeJJIz1VxkVhGjOi+bDy5fLdf8AA+WnkbyqwrLlrx5vPr/wfnr5nKLf+IvDyg30P9tacOl1bLiZV9WX+L8PxNb+la3p2twebYXSTAfeXoy/VTyKpNodzYMZNGvDCOptpstGfp3FYeo2en3N2suo20+iapn5L62OFY+5HB/H860WLhtiI8j7/Z/r7vQyeEqLXDy512fxf19/qdzRXHprWuaCgOrW41TT8cahZDLAerp/UcfWuk03VrDV7YXFhdRzx99p5X2I6j8a3lTaXNuu6MI1FJ8uz7MuUUUVBoFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXOeJf+Q94R/7Cr/+kdzXR1zniX/kPeEf+wq//pHc0AdHRRRQAUUUUAFFFFAHM2XgfTrG+tpkur6S1tJnntLCSVTBbyNnLKNu7jc2AzEDPAFJqfgqPVLDTLWbXNYH9nymZJPMikaV85VpA8bKxX+Hjjr1Arp6KAKmnWc1jaCGfULq/cEnzrkRhz7fIqrj8Kx/Ev8AyHvCP/YVf/0jua6Ouc8S/wDIe8I/9hV//SO5oA6OiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA43Tv8AilPFb6U3y6VqjGWzPaKb+KP2B7fh712VZPiPRU17RpbTd5c6kSW8o6xyD7p/p9DUPhXWn1nSv9JXy9QtWMF3EeCsg7/Q9fz9Kzj7r5fuOyt++pqst1pL9H89n5+pUk/4lXj+OTpBq1uUP/XWPp/47x+NdPXO+NLeQ6It/AM3GnzJdJ9FPI+mOfwrdtriO7tYbmI5jlQOp9iMilDSTj8zzafuzlH5/f8A8ElooorU2CiiigAooooAKKKKACiiigAooooAKKKKACmSxRzRtHKiujcFWGQafRQ1fRgnbVGG+gPaOZtHu2tGJyYW+aJvw7Vzt/p1ul2Li6gm0PUc/Lf2XMTn/aA9fTr6131I6LIhR1DKRggjINc8aMqT5sPLl8t193+VjeVWNVctePN57P7/APO5x8PiXVNGjU65bLd2J+7qdgNy49XUdPqK6ix1Cz1O2FxZXMc8R/iRs49j6H2NZs3h5YZGm0q4eylPVF+aNvqprmL3SWsLo3Zjl0a8/wCf2wG63k/34/8AP0rT6zHavHkfdax/zX5Gf1ae9CXOuz0l/k/zPQqK4218XXenIo162V7YnC6lZfPCf94dVP8AnFdZaXltfW63FpPHNC3R42BFbuDS5t0+q2MYzTfLs10e5NRRRUFhRRRQAUUUUAFFFFABRRRQAUUUUAFc54l/5D3hH/sKv/6R3NdHXOeJf+Q94R/7Cr/+kdzQB0dFFFABRRRQAUUUUAFFFFABXOeJf+Q94R/7Cr/+kdzXR1zniX/kPeEf+wq//pHc0AdHRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFcdr6t4Z8Qw+JYVP2K422+pIo6Dosn4dP/ANddjUN3aw31pNa3CB4ZkKOp7g1Mo3RtQqqnO71T0a8v628xZEiu7Vo2w8MyFTg5DKR/hWB4LmdNLn0uZsz6dO9uc91zlT9MH9Kr+ErqbTrq58LX7lp7Ib7WRv8Altbn7p+o6f8A6qlb/iVeP1bpBq1vg+nmx/8A2P8AOsnLWM/k/wCvUwxdJ0Kqe67909n+R09FFFbjCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKQgMCCAQeoNLRQBi3Xhu3Z2msJGspmGD5YyjezJ0IrlLrRb3Rblru28zTZv4riyG+3k/34u34flXotFYKi6b5qL5X+D9Vt+TNpVVUXLWXMvxXo9zjbHxu1sETXrdYkJ2rfW2XgY+/dD7H9K66C4huoVmt5UlicZV0YMD9CKyr7w1ZXReSDNrMwwWiHyt7MvQiuRn0LWPDk7XWmyNbgnLGAb4H/wB+P+H6jp2FX7dL+NHl81rH59V+K8yPYP8A5cy5vJ6S/wAn+D8j0eiuN0zx7ASkOtQizkJwLhDugc/Xqv0NdhHLHNGskTq8bDKspyCPY1q1opLVPqtV95kpJtx2a6PRr5DqKKKRQUUUUAFFFFABRRRQAVzniX/kPeEf+wq//pHc10dc54l/5D3hH/sKv/6R3NAHR0UUUAFFFFABRRRQAUUUUAFc54l/5D3hH/sKv/6R3NdHXOeJf+Q94R/7Cr/+kdzQB0dFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAcz4v0y4kgg1rTV/wCJnprGWMD/AJap/Gh9cj/PNVdevI9Y8JWfiHTvme0kS7Qdxg4dT9Oc/SuwriY4U8OeJZ9KmH/El1vcYR/DFMRhk9g3b8Pesakd/P8APodLj9Zw7o/ajdr06r5br5nZW88d1bRXERzHKgdT6gjIqSub8FzOukS6bOcz6dO9s2e4Byp+mDj8K6StIS5opnHTlzwUgoooqiwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAx9T8M6dqQdmi8mVhgvGAN31HQ1yL6Br/AIWkafR5y0GctEoLRN9U6r9Vr0aisfZcrcqT5W+2z9Vs/wA/M1dXnSjVXMl969Huvy8jkNJ8e2dwy2+rRf2fcHgOxzC59m7fQ11ysrqGVgykZBByCKytU8Oabqyt58AWRusiDBP17H8a5f8AsLxB4XYyaNc/aLQHJt2BZf8AvnqP+Amn7Zx/ixt5rVfduvxXmheyUv4bv5PR/fs/wfkzvqK5fSvG1jdutvqCHT7rOMSn92x9n/ocV1AIIyORWiakuaLujNpp8rVmFFFFMAooooAK5zxL/wAh7wj/ANhV/wD0jua6Ouc8S/8AIe8I/wDYVf8A9I7mgDo6KKKACiiigAooooAKK5mx8cadfX1tClrfR2t3M8FpfyRKILiRc5VTu3c7WwSoBxwTWjrWvwaL9lja2ubu7u3Mdva2qhpJCBuYjcQoAAySSB09aANWuc8S/wDIe8I/9hV//SO5rS0XWbXXdP8AtdqsqbZHhlhmXbJFIpwyMOxB/wARxWb4l/5D3hH/ALCr/wDpHc0AdHRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABWX4h0WLXtGmsnOyQ/PDJ3jkH3WH+ema1KKTSasyoTlCSnHdHnXhTWZT4saK8HlXd1F5F3GeP8ASIv4voV5+pNei1554+0uTTNRtPFdip3QSJ9qUd8H5W/9lP1FdvDq2nzwRzJewbJFDLmQdCM+tY0rxbhIurSSl7SC92Wq8n1Xyevo0XKKrf2jZf8AP5b/APf1f8aP7Rsv+fy3/wC/q/41tdGdmWaKrf2jZf8AP5b/APf1f8aP7Rsv+fy3/wC/q/40XQWZZoqt/aNl/wA/lv8A9/V/xo/tGy/5/Lf/AL+r/jRdBZlmiq39o2X/AD+W/wD39X/Gj+0bL/n8t/8Av6v+NF0FmWaKrf2jZf8AP5b/APf1f8aP7Rsv+fy3/wC/q/40XQWZZoqt/aNl/wA/lv8A9/V/xo/tGy/5/Lf/AL+r/jRdBZlmiq39o2X/AD+W/wD39X/Gj+0bL/n8t/8Av6v+NF0FmWaKrf2jZf8AP5b/APf1f8aP7Rsv+fy3/wC/q/40XQWZZoqt/aNl/wA/lv8A9/V/xo/tGy/5/Lf/AL+r/jRdBZlmiq39o2X/AD+W/wD39X/Gj+0bL/n8t/8Av6v+NF0FmWaKrf2jZf8AP5b/APf1f8aP7Rsv+fy3/wC/q/40XQWZZoqt/aNl/wA/lv8A9/V/xo/tGy/5/Lf/AL+r/jRdBZlmiq39o2X/AD+W/wD39X/Gj+0bL/n8t/8Av6v+NF0FmVtT0LT9WQi5gUuRjzF4b8+/41zy6Pr3hs7tJuPtdmP+XaTnA9h2/wCAn8K6r+0bL/n8t/8Av6v+NH9o2X/P5b/9/V/xrGVKN+aD5X3X6rZ/M1VWVuWa5l5/o918jJ0zxZZXri3ulaxu84Mcx4J9A39Dg+1b9ZGowaHqiFbqW1ZsYDiRQw/HNYqi90HnTdTt76zX/l2mlXco/wBk5/l+VT7WdP8AiK67r9Vv91yvZQn8Ds+z/wA9vvsdjRWFpvi3S78+VJMtrcDgxTMBz7Hof0PtW7W0KkZq8XcxnCUHaSsFc54l/wCQ94R/7Cr/APpHc10dc54l/wCQ94R/7Cr/APpHc1ZJ0dFFFABRRRQAUjDcpGSMjGRS0UAeYaVaajLo3hTws+lX0N1o95C93cSQMsAjg3YZZPuvv+XAUk/Mc4xW1qt3PJqvhvxQml6kbSBLqC4t/srG4iEm3a5iGWIzFjjJwwNdrRQBzPgu1uY7XVb65tpbX+0tSlu4oJl2ukZCou4diQm7HUbueaztV0Cz03xX4Wu4JtQeSXVJQy3GoTzIM2lweEdyo6dgMdK7euc8S/8AIe8I/wDYVf8A9I7mgDo6KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAIrm3hvLaW2uIxJDKpR0PRgeCK5z/AIV34U/6BQ/7/wAv/wAVXUUVLhGW6NadarT0hJr0djl/+Fd+FP8AoFD/AL/y/wDxVH/Cu/Cn/QKH/f8Al/8Aiq6iil7OHZF/XMR/z8l97OX/AOFd+FP+gUP+/wDL/wDFUf8ACu/Cn/QKH/f+X/4quooo9nDsg+uYj/n5L72cv/wrvwp/0Ch/3/l/+Ko/4V34U/6BQ/7/AMv/AMVXUUUezh2QfXMR/wA/Jfezl/8AhXfhT/oFD/v/AC//ABVH/Cu/Cn/QKH/f+X/4quooo9nDsg+uYj/n5L72cv8A8K78Kf8AQKH/AH/l/wDiqP8AhXfhT/oFD/v/AC//ABVdRRR7OHZB9cxH/PyX3s5f/hXfhT/oFD/v/L/8VR/wrvwp/wBAof8Af+X/AOKrqKKPZw7IPrmI/wCfkvvZy/8Awrvwp/0Ch/3/AJf/AIqj/hXfhT/oFD/v/L/8VXUUUezh2QfXMR/z8l97OX/4V34U/wCgUP8Av/L/APFUf8K78Kf9Aof9/wCX/wCKrqKKPZw7IPrmI/5+S+9nL/8ACu/Cn/QKH/f+X/4qj/hXfhT/AKBQ/wC/8v8A8VXUUUezh2QfXMR/z8l97OX/AOFd+FP+gUP+/wDL/wDFUf8ACu/Cn/QKH/f+X/4quooo9nDsg+uYj/n5L72cv/wrvwp/0Ch/3/l/+Ko/4V34U/6BQ/7/AMv/AMVXUUUezh2QfXMR/wA/Jfezl/8AhXfhT/oFD/v/AC//ABVH/Cu/Cn/QKH/f+X/4quooo9nDsg+uYj/n5L72cv8A8K78Kf8AQKH/AH/l/wDiqP8AhXfhT/oFD/v/AC//ABVdRRR7OHZB9cxH/PyX3s5f/hXfhT/oFD/v/L/8VR/wrvwp/wBAof8Af+X/AOKrqKKPZw7IPrmI/wCfkvvZy/8Awrvwp/0Ch/3/AJf/AIqj/hXfhT/oFD/v/L/8VXUUUezh2QfXMR/z8l97OX/4V14V/wCgUP8Av/L/APFV1FFFNRjHZGdStUqfHJv1dwrnPEv/ACHvCP8A2FX/APSO5ro65zxL/wAh7wj/ANhV/wD0juaozOjooooAKKKKACiiigAooooAKyNd0Ia2LFl1C7sJ7K4+0QzWojLBjG8ZGHVgRtkbtWvRQBzn/CNar/0Ouuf9+bP/AOMUf8I1qv8A0Ouuf9+bP/4xXR0UAcRPpWvx+KLDTk8X62bSezuJ5Jfs9plXR4Qoz5GBkSPx7exrU/4RrVf+h11z/vzZ/wDximT+ONOt9Qlga1vmtILpbObUViX7PFMSAEY7t3VgCQpUE4JFdNQBzn/CNar/ANDrrn/fmz/+MUf8I1qv/Q665/35s/8A4xXR0UAc5/wjWq/9Drrn/fmz/wDjFH/CNar/ANDrrn/fmz/+MV0dFAHOf8I1qv8A0Ouuf9+bP/4xR/wjWq/9Drrn/fmz/wDjFdHRQBzn/CNar/0Ouuf9+bP/AOMUf8I1qv8A0Ouuf9+bP/4xXR0UAc5/wjWq/wDQ665/35s//jFZev6Vr+m6dFPaeL9blka8toCrW9o2EknRHPEHZWY57Y5rt6w/EHiaHw6bdrjT7+eGWSONp7eNSkRd1jXcWYfxMOmTQBB/wjWq/wDQ665/35s//jFH/CNar/0Ouuf9+bP/AOMV0dFAHOf8I1qv/Q665/35s/8A4xR/wjWq/wDQ665/35s//jFdHRQBzn/CNar/ANDrrn/fmz/+MUf8I1qv/Q665/35s/8A4xXR0UAc5/wjWq/9Drrn/fmz/wDjFH/CNar/ANDrrn/fmz/+MV0dFAHOf8I1qv8A0Ouuf9+bP/4xR/wjWq/9Drrn/fmz/wDjFdHRQBzbeG9WCkjxprmQP+eNn/8AGKzfDuk69qvhnStQvPF+tw3V1aRTTRrBaKEdkBIAMGRgnvXUarqLaZbJKmn3l87uEWG0RWbOCcncQAOOpI7etQ6LrlvrcVyYobi2ntZvIuLa5QLJE+A2DgkHKspBBIIPWgCh/wAI1qv/AEOuuf8Afmz/APjFH/CNar/0Ouuf9+bP/wCMV0dFAHOf8I1qv/Q665/35s//AIxR/wAI1qv/AEOuuf8Afmz/APjFdHRQBzn/AAjWq/8AQ665/wB+bP8A+MUf8I1qv/Q665/35s//AIxXR0UAc5/wjWq/9Drrn/fmz/8AjFH/AAjWq/8AQ665/wB+bP8A+MV0dFAHOf8ACNar/wBDrrn/AH5s/wD4xR/wjWq/9Drrn/fmz/8AjFdHTJZPKheTY77FLbUGWbHYe9AHF6XpWv3mo61BP4v1tI7O8WCBhb2g3oYInJOYOfmdhken1rU/4RrVf+h11z/vzZ//ABiptP8AFEd5q0emXWl6jpt1NE00C3iJiZVIDbSjsMjcvBweelbtAHOf8I1qv/Q665/35s//AIxR/wAI1qv/AEOuuf8Afmz/APjFdHRQBzn/AAjWq/8AQ665/wB+bP8A+MUf8I1qv/Q665/35s//AIxXR0UAc5/wjWq/9Drrn/fmz/8AjFH/AAjWq/8AQ665/wB+bP8A+MV0dFAHOf8ACNar/wBDrrn/AH5s/wD4xR/wjWq/9Drrn/fmz/8AjFdHRQBzn/CNar/0Ouuf9+bP/wCMVl6ppWv2eo6LBB4v1t47y8aCdjb2h2IIJXBGIOPmRRk+v0rt6w/EvirT/C1vBLepPK08gRIrdQz4yAWIJACgsuTnuB1IFAEH/CNar/0Ouuf9+bP/AOMUf8I1qv8A0Ouuf9+bP/4xXR0UAc5/wjWq/wDQ665/35s//jFH/CNar/0Ouuf9+bP/AOMV0dFAHOf8I1qv/Q665/35s/8A4xR/wjWq/wDQ665/35s//jFdHRQBzn/CNar/ANDrrn/fmz/+MUf8I1qv/Q665/35s/8A4xXR0UAc5/wjWq/9Drrn/fmz/wDjFH/CNar/ANDrrn/fmz/+MV0dFAHE+ItJ17SvDOq6hZ+L9bmurW0lmhjaC0YO6oSAQIMnJHatJfDerFQT401zJH/PGz/+MVNqvicabrMOkwaRqOo3clu1zttPJAVAwUkmSRO5HTNbUEjTW8crxPCzqGMUmNyEjocEjI6cEj3oAwP+Ea1X/oddc/782f8A8YpIvCk/9qaffXviTVb/AOwzNNFDOluqbzG8eT5cSn7rt3rpKKACiiigAooooAKKKKACiiigAooooAKKKKAPL72z1EaFrXhFdLvnu77VZZYbpYGMHkyz+aZGl+6CoJBBO7K8DmvUKKKACiiigAooooAKKKKACiiigArjPiRdsvh5LGGx1G6nlurWVRaWUs4Cx3ETtkopA+VSQD1xxXZ0UAV7K7S/s4rqOOeNJBkJPC0Tj6owBH4irFFFABRRRQAUUUUAFFFFABRRRQBieKtbudA0U3Vlpt1qF1JIIYooIHlCsc/O4QFggxkkAnoByRVXwXHbpptzIjX8t5POZr25vbKW1aaUgDKrIowoACgDIAAHXNdLRQAUUUUAFFFFABRRRQAUVFFdW88s0UM8UkkDBJVRwTG2A2GA6HBBwexFS0AFRXE32e1ln8uSTy0L7Il3O2BnCjuT2FS0UAcDpEH2jx9BqemWmtfZmt5lvZdWjmVY9xUosPnfMuSDkJ8uAPQV31FFABRRRQAUUUUAFFFFABRRRQAV5r468NeI5rfWr+yurO7W6a3SO3NjJJPHGkiHYjLIBjdlz8uTzk8DHpVFAEVsJ1tYhdPG9wEAlaJCqM2OSoJJAz0BJ+pqWiigAooooAKKKKACiiigAooqkmr6ZJqbaamo2jX6qWa1WdTKAO5TOccjtQBzvi6Dw9PeKNX8OX2p3At8Qy29hJNgEn5VdRhGyM5JXqOa1vCcGpWvhLSoNYZm1GO2RZy77m3Y6M3cgYBPc5rZooAKKKr2d/Z6jE0tjdwXMauY2eCQOAw6qSO47igCxRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGP4nfV49AnbQ0L3wZMBQpcJvG8oHIUsE3EBjjOKreEtR+3Wl3FJqN9d3VvNsmS/tkgnhJUEKyoqqRg5BAwc9TWtqOm2urWbWl4jtExDfu5WjYEHIIZSCPwNZI0y48OwiPw1o9rc+e7SXL3moyI5bAAJdkkZzgY5IxgfgAVvHWuXvhnTbbWrWTzY4JxHLp+0FrwPwFQ4LBwfmGOCA2fUafhiW7ufDtnd31/Fez3KeeZYVAjAf5gqYAyoBABPJxk0yzsZ9RurfUdc0u2t76zZxaiC8edVDAAtyiAN1GcEgZweSKvabpdnpFq1rYQ+TAZHl8sMSqsx3HaCflGSTgYAzwKAONj8R6s7w+Hjd/wDE7GtNayzeWmfsq/v/ADNuNozCUTOPvN61S1fxdqVnqhv7C41O606LVI7KYPa262gzKInVWJExZST8wyMjpjkdyvh/S18RNr4tFGqNB9mM+5uY8g425xngc4zxjOKz7jwL4curuW5m08s8lwLpl+0ShBMGDeYEDbVbIGSACeQcgmgDmH1K70zWPEElnL5TTeKdPt5DtBzG8VsrDkcZBxnrVvxD4t1LR73xZ5DCZbC0sPs0OxT5ck8kiMx6Z/gOCwHy9RkmupuPDWkXcGowz2ayR6lKs10C7fO6qqqw5+UgIuNuMEZ61BZ+D9BsUv0isA41CJYrzz5XmM6ruxvLkkn525PPT0GADL8L3XiZtalt9TttTbTmty4uNRjtUdJgwGxRAxBUgk8jI29TmuwrJ0rw1peizNNZR3AkZPLzNdyzbVznC72O0cDgY6VrUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXG6mtnb/ABQ8PPGII5Hsr8ylQAWbNvjd6n612VZFz4U8OXt819daBpU92zBmnls42kJHQliM54H5UAeeW114n1a6vNRgu4Le6t9Ukh/f608ccSJMVEbWvllDuQDknJ3bgRwB31/e+J4r2RLDQ9NuLUY2Szao8TNxzlRA2Oc9zVyfQNGutQXULjSbCa9TG25ktkaRcdMMRmtCgDkdfu/Esvh+GH+xZFnuZ/Kul0u7WV4oMElkaTyvmb7v+zuzziqXwwlH2HXLWPSbnToINVn8tJRGFUE42AIzcrgA9uRgnnHd1FBa29qJBbwRQiSQyP5aBdznqxx1J7mgCWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/2Q==", "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_value = m[\"map_per_class\"][this_class_idx].item()\n", " # Clip value to 0 if negative\n", " if class_map_value < 0:\n", " class_mAP[class_idx].append(0)\n", " else:\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(\"mAP per class for jitter perturbed dataset\")\n", "plt.xlabel(\"s_x value\")\n", "plt.ticklabel_format(style=\"sci\", axis=\"x\", scilimits=(0, 0))\n", "plt.ylabel(\"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": [ "The above plot shows several interesting results regarding jitter perturbation impacts:\n", "\n", "- The person and car classes demonstrate greater robustness to jitter perturbations compared to truck and motorcycle classes.\n", "- Analysis of the unperturbed and reference images suggests potential explanations:\n", " - Car objects may be misclassified as truck objects (and vice-versa) in more jittered images, as visual distinctions become blurred under camera motion jitter, leading to detection confidence shifting based on absolute object size.\n", " - The motorcycle class vulnerability can be attributed to smaller object size - while person objects are also relatively small, they tend to be positioned in the foreground, resulting in larger apparent sizes that provide better resilience to jitter effects.\n", "- Object positioning and size relative to jitter effects appear to be key factors in detection robustness.\n", "\n", "Given these observations about foreground positioning and object sizes, examining results by bounding box area rather than just object class provides additional insights:\n" ] }, { "cell_type": "code", "execution_count": 19, "id": "23ec21e7-e682-4d08-ad1d-6c42d850402f", "metadata": {}, "outputs": [ { "data": { "image/jpeg": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.title(\"mAP values per area for jitter perturbed dataset\")\n", "plt.xlabel(\"s_x value\")\n", "plt.ylabel(\"mAP\")\n", "plt.ticklabel_format(style=\"sci\", axis=\"x\", scilimits=(0, 0))\n", "for k in (\"map\", \"map_small\", \"map_medium\"):\n", " plt.plot(perturbation_values, [m[k].item() if m[k].item() >= 0 else 0 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 more robust to jitter perturbations than small ones, which makes sense when observing how objects tend to get blurry in the perturbation examples shown in the [Examples and Guidance](#NRTK-Jitter-Perturbation:-examples-and-guidance) section above.\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.10.18" } }, "nbformat": 4, "nbformat_minor": 5 }