{
"cells": [
{
"cell_type": "markdown",
"id": "71b1eb19-3148-46ca-8a9a-fdf18bd2b18d",
"metadata": {},
"source": [
"# Demonstrating Atmospheric Turbulence 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, atmospheric turbulence), 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.pybsm.turbulence_aperture_otf_perturber import TurbulenceApertureOTFPerturber"
]
},
{
"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": "/9j/4AAQSkZJRgABAQEAZABkAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAErAgMDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiuS8RatqdpcXcdnc+XsTMf7tWwdoPcetAm7HW0V83ah8TvG9rezxDWgAshAH2WHgZ4/grY8P8AxE8W6no9/K+pB7i3BKnyIhxt46LQFz3mivnC2+KnjI6xBDNqwMTyBGX7PD3467M10mk+PPE8viN9PutRLR7CynyIhnoey+9K4JntdFeLeLfHPijSNY02O01HbbXGQ4MEZycgdSvHWltfGnio3cSy6qWjYkEfZ4hn/wAdobsFz2iivOm8Ra4Ikb7cchiG/dJz/wCO1V1nxV4gtkhe2vQqsPm/dpngj1X0NSprm5RvRXPT6K8v1PxXr0OoWsMN86RsybyIYyME47rXbWOoXE9lDI8mXI+Y7RyelVcVzaoqkLiTH3v0rC1jxDdadrWn26vEYLhgrqyEE5IGQ3TjI468UxrU6qisjVNXOmWLXLKXwQoUFVyScdTwKmGpJ9gF4z7YTH5mSOgxmgDRoqjBfJcWyXEUoaJ13K3tSrcu0pw4K7QRwKALtFVvOf1pfNb1oFcsUVX85vWjzW9aAuWKKg81vWk81vWgLliioPNb1o81vWgLk9FQea3rR5jetAXJ6Kg81vWjzW9aB3J6Kg81vWmpMxQEnk+1AFmiq/mt60ea3rQBYoqv5zetJ5zetArlmiq3nP60nnP6/pQFy1RVXz39f0pPPf8AvfpQFy3RVP7RJ/e/Sk+0P/e/SgLl2is970xjLyqo/wBrAqGXVoogS9zGOM9RQFzWorjF1jWW6S4+qJ/hTJNT10t8t+qD2iU/0osLmR21FeZ6x4i8RaZEkv8AaasrHbjyUzn/AL5rIXx14jY/8hAD/tjH/wDE0m7DTuex0V4+fG3iJcD+0lOe/kx//E07/hNfEOM/2gfp5Mf/AMTS5kM9eorx5/G3iLORqRUf9cY//iarnx/4iEzR/wBpLlQCcwRng9O1J1IrcLntNFeLP498SLIkf9qR5bOP9HTn9Kx9R+Jniq1Zwmr9BwRbRYz/AN81E68IoTkj6Bor54i+KPitoFY6xzwW/wBGh78f3KSP4n+LWtrkHV2EkeCrG1h/LG2ojioN2sxc6PoiivmofFPxwGIbVyOOM2sOP/QKs2/xP8aTMsR1YBgRuY20PA9fu0/rMA5kfRlFfP2p/FfxDBLGltqe4YyW8iPk+n3aY/xZ8RBNy6kxIP3RbxZ56fw0/rELhzI+hKK+bH+LfjBFAOqqN4yrNbRdP++ae/xV8YNEgGsbW2Y3Law8n15Wj6xEOdH0hRXzVJ8V/GasiJrBYt3+yw5/9Ar2/wCH2q32t+B9O1HUpvOvJfN8x9oXOJXUcAAdAKqFWM3ZDUrnTUUUVqMK4fxDaCbWbltqnO0dSD9wV3FcdrGDq957Mn/oC0XE9jyu88PR3dw7tZwnLcnzWz0X/wCyqbR9FOlfaEWDy1mXD+XIGBwPf/gVS6z4hbR7eWaZWk23LRbI+CByQeaxB8R7Xdk2lxn32n+tFhEn/CLKLmOVrVgysrZWTOD8vv7n8q1BamPWYr5UfeAAWIOOc9selZC/Ea0U/wDHvcEHsUU/1pW+IenuCDazc/8ATNf8aLCOi8U6a2pR2UjuA0DllKIc8/X6VBsZXjcKCVYHrVvw/rsXiHTZdm/EDY/eAZ/zzWl5GBxn8hUyaT1KSJTM7WwPkg/MDxID2rP1SVp7VI1gkPXkcjnitBLZXtZfMUsysMbvwqtNbv8AZpvIjjUgYDYGRnjuPxrJ/wAS6Kt7tilq17EqW8zhkCqNxI4yGUj+taVnrUa6iETUJ4oy25l2HG3PbjHUj86w7jS7ieDy5JRKrMMq8a9j9KqXUF5Do8t0drXFrOGQjIDDIxnmrhO7sLl7Hqdz4ghtjE4liMO07xzvLfw7R371xuv69/aGoxyWlwqra7JIoriEZMmeevIrkIfFGtT2tyzrbGWDaSg3AkE4z1q5/wAJNqH9lreS6bDIRKI8BxnoTnJU+lXcajNO56brOqWN7oU8f2+2WR4wPlcHB4Jxz19KW01CK88LiGa4t3lMLIwV8A9QB6/U15pJ4lAjtjNoxP2heNrKcc4/uikg8S2Wn6q0I0u4WYEx/dDrz6AtTuFpHo9jcvN4Pkt5CY5FjkjLo3J64YehJ7Vf8MzK+jWuJhJhWXd9GNee/wDCYWDw3AktZY1jbbJ/o5GD07NTYta0u1n3RyvCsOyYRmKQKq4/HrmmS7nr+6l315wfHNubtIYLTejoGEgmZevsV/zmnv4p1BYGlWKD5QSR57g/yoSvoNwmldrQ9E3Uua8tj8d6g+cWiYHc3JH9Kms/H1zJcIlxausbd0lyR+dbOhUV1bY5/b09Ndz0wuAMnpSK+QCCCK891XWbuVmWFrkByUK5U9OD36e9LDrWo2UMYtlldSBvBjDEfrWJuldXPQGk2lRjOTj6U7dXnh8W3zz+W/mptI3fuACM/jXRSawkMoZ7s7dmTtQH09PrQ0I6LcKN1ZYmud33zgjj93TvOuvU/wDfo0gNLdRurN8+5HXH/ftqDcXA/u/9+2/wpgaJYAZPQVFDMjoArAkcHBrHv72f7I/CnDKD+7f1HtWFpmuXJ1d7RbYlI5GVpdrbVOCfrQFzuc0bq5F/GDIo3W+DtyQUcc5xjp171PB4pSdZCoB2nHEb8/pQM6fdSbq5tvEbiMt5Jz2Gxqqw+KpHuAsiRxp/ExR6Qjrd1G6ue/4SW33YEqnjORDIR/KlHiGIqCZUXjoYpOP0piuS+JvEH/CPaZHd+SJmedIQm7H3j1/Cudl8X6hMTsMcadBhOf1zWZ8RdV+0aPZCJwxF0DlY2GOD6iuY0u/uJbAFxvdzw7JyMGsqrajoaQV2dH4kvZn0iF7ieaQysMAMc5I7YqfTvFGqXj+fI5jhMe3ErHIKnlsDjkH/AMdrm9WvJJrazjyzEFcjkY/XmktprhLV4y3lhwQGYeufetVsZRTcrI6G88RiGATXc4dd2FKITz36VkzeK/tKhbG0mkckDdJhQBn65rJu3Y2pbKuNw4Cj39T7VDpxke7gTJCEbjwBmtI07q5co20PRW1q5bASGJRjkkk/4ViXXiTU4rtY0+z7SpPKH396o6Y9/NbzyTTE7ZCF4A4wPaqVy0+9i7jO3HXH9KwcnexNkX77VrrUIUS5MeF5G1cVRBVRgKvHeoYUleMbpOw/i/8ArU9rdwcNIOfRqT8ykKxG9CMDJxmkurtLSFWlB2k/wgn+VZ804AjZGPLbcHP+NVdTuU2IqTkdScA9B+NYurBO1xXLF5qqvGyRZJdSuCCPqfyrNF4ofzPOJI27jgg8VkXEsgZ2V22qxwf5VELgupJc5746k1yVIubvchu5bk1KVb4SK7soOQP7tQSz78/K7Zbp0wKpOJSPlVjkkdaUK9vGPMRgWHc9qpUooRaE7KQUXC9MHjipYbh1kJRwidSMDk+lZoTliEbkZCjrjNOMMqyLgYUjJJ7U3CIFuCbBfcyruPIz0pYyFt8q37wfeI5qOUJGXdpc7BhQe9Jazbm/vsc5HtUtK10gHNKhkWWQk7TgDGakdnBEpf3ULgc+tRoSJyH2bB93dz+VNmGDwcL9fTsKpPogI5VEyM+3LYJBJzTS0iQrIVGD93PJpsUwQ9cMp4zTJnefbySzDrnqa0S6AHnMr7uAfYdK+oPhMxf4ZaQxOSfO/wDRz18r2zIJG3EMWbaM8V9T/CXaPhlpGxdq/v8AA9P30lb00lIuO52tFFFbFhXE6pIW1/UVA+6UX8fLU/1FdtXBagzR+LNUWTAR3jMeSOf3Sg/yoFLY808bWbvZauePk2TAfUgf0NeWV7X4qhR3u42/5eLF0H+8On6mvFB0qiULRSUo60FHefD+5eKx1kIeUhMgA652kj/0Gr3hfUnmttXEQkCiEyBS+cHvj0rG+Hkg/tue2blZ4Cv9P61u+FfD2oaTe3ZuxGIZbdoxtcHnHpUySJdzrPDbSNoYSQksEYZY5PBPep7qPz9Kv4upaBiB9Oaj8ORPBaC3nwHJbgHPUD/69XbUZkZTzuQjB+lc89Jpmi1izlEgz4TQKuHWXqGI6uB1/EVflhKeCboqWDi13khjnK9efwqN4/sOlfZZsfvpvk2nOOhGf++a1IrXfoc1qzBt8Ei5HvnH861urkK9jkIgx8LXNwhZbn7IhMgPzfK5J5/CsfWNeudLlt4lUyRSwxybc8Z28npXR6bCZdJuLNjybaRd2P8APrXI+IpmjisVSFJXEQj+dN2QpPT8KiqrxOzCRvV9465JDcf2W3G1klO3aOowR2+tJPFnxVcBgNgWJ1G0cE4B7ZqtpUgk0rT51Cjy3KhVXAwy44HatC/UR61HPk5liUY7cH/61FLWCMqsWqjSGG3Xyb5yql2nCsdo5XzP8DVye3jYXTFF5twBx2wf8KZcK0cOoogLEAygep+U/wBKVruWWTHkECezLfRhnj9a1MtUZ2qRpbaza7F+Xyl4+hx/SktdZW6WJPJQCVzGwLkY4HTj3qHXZ2lNldMNrSQbtv45rEjvI7e0tz2U5Ct2bcf6CsK1Z0ldHVWk40os6C+lsrSI5tzvP3f3h49CazrS+VJmYgzBzhSp2hTz3rJm1Ar+7mfzc8EL0xnpmnQXyTCQMxRTg5x6dq462LxFSSm29DylTgtkX5vFF7HbRK5IjWZm9VY5/nzW3YeIFQ3l1NNvDAMIySQpOOn4H9K54rC5ZWSNlXggYA9M4/EVQjka3v3jYfupQVVdwPy9vp1rOnVnvEtSaPS1lYadaSpNGg35DNj5l9P0qu94baQyNOu5+Pl5Ax7VzNtdKunLYrLmIjeuRg9MdazYtWKSxRyBmV8j94eT2/A11rFuXwornPULPxXFGw8yU+ap7jII5FdDZeJ7WZGEjtvB5+XGBXiZvJPM2ltxzxjqa6/Q3PkKroDIVyc8HHWumhKU1eRKm2dhqviiBZdkF0yIAckDvWHrHiKLUre3hMvCOTu5DH6+1YeqwKczBZGLDP7s8VyzX78ggq+cYIq6rnDWIueSZ2ltc/Z79GEoVAMlpJc5z0xn3xTf7Sls9Tu91wAHyQoXIz259sdPeuJhvPNmMkoVoyVQAnuPSrU07SBmZ84G3C9SAP64FctTEyittR+0Z2Fv4iNrbpEwBKSiRmVyMgYGKsWvi6KUwpNH5m1jht3DZzgH8xXm8s88sLJGp84/Mcc5Pp+tatuxSLyEBcggHHcgY/z9a5ZYuslqCmux2+vaod0DwvGm2NS0asGGcnjNYureIxax+UsjLI68ngAdemPpXOx30nkXQuIH3hcIWzlST1+nWsW7uGufLxIBJtYHb3HQ5/KtvrTnGyVmU56aHpGl61bCLzbm9JLcncen+FWBJB9uaf7S+xlBCmU7R1ycZryyO+PlIvmAIzYcY9B1ru9FulvLIA8tGgXk8kds1vRqtvlkFyLXZotUW1iS4Eim5Aba2ccGkt4Es7dYIydq+pyaw9Vhm0tYzHOu4ybgdvQgGtSzuPM0+OSRwzMmScYrSq0l7yubQvYj1idxBarJIFTep+Xg4q9prwrbfLC0qg8MX6cA1x+vapb6hpwSFHRlVAwY5zntU2matdafp/kQRQlcsx3Zz0Aq031FJRWx10zRGT5IVjAwdpAPOP8AA02Pi6gUbQGkGQAB9az7S5lvbcTyoFdyMqCcDGB/So7vUjpCwXBh81kcnZuxn8efWuBTk61r9TblXJc7Voo1jwFAGegqnJGoFsMDHU/lWKfFcrR/8g9hnuJgf6VnN45EkkSCwkzkIP3g5PT0r0DnPQBpto9vEfKXIXnAx161A+m2Ue+V0UIvzN7YqFPElgd6eegZDtK5GQR17+1cRf6vPbxXMcd7H5Vzu85TyQ5z/wDWrOdRRB3RU8UQxQauzWt35kbfvNgOQv1xWFBfyRXSh1EibgcEcEdaknuXurhpA4ztKZUBe2DwPbis4oYnA3jcSOo4riaUm3Yjc0tRhgExeElYJPnUHqB6e+KrtFAEJWIsSOcsDn3zQ14JW5+RRwpAHUf/AK6rTTPncrhhnBHelFSegDi3yhANnrn0PvVh7mGPAdcqFwCQDj8PzrJeVn+QE9PyqLexU/MQByf6Vr7G+40i8Zo/MWWNjk54AwOvWlecFSGbJz0HaqIkJMe48A9WJxj0qSUxNhwzKe+0Vbpq47FlJ4LgEHhBwoPHPvTIp5bliiABE4Zg2AeeKoqBFubdk/wjv9auWUkykLsPlBsFSDj1z+dP2aSuFi2FlSBlcHORwT973qs0pK5AwR0AqzcXYu52kwke4/w9Bxjj8qqMSM4fjnqOprOMdSRkTEuGYfKTxnnJ9KQN5shTdtIyQcdBUZlEbMS6k/7PrVeCbDOWDFScED9K3SGW49uwl2UhDjBHU19S/CFt3wt0Y/8AXf8A9HSV8sPHJPGXVWODyPavqX4PoE+FmjKCSB5/X/rvJVQtcqO53NFFFaFhXE63BKfEU0oX5Mpzx/dFdtXhPi7WL+L4v3VkL+4W0MkS+SrkKMwqf5nP41MldAavilBG9vPsZgrENtXccEZ6fgK8ik0G1VzjUjjPT7LJkfpXtmu2zXWmTKjsrlMqynBBx1zXh90+r28aSXF3cosnKkyNzVJtsm6W48aHanrfyE+1o1TN4biRA5ubhgRkEWp/q1X/AAtLJca/bRTTTvHLGwxI5IJxn1rL1C0vbGcpNcTMpkZFw5OcHHrRd3sO1jpPB+h+RrMV1FLPuQ4KvEFBH1yfSvR2WBHKvcwqc/dZ8GuM+HIDpcbgSyyA5JycEf8A1qx/EOnLY+Ohd4DRzXak/wCycA/41Mlzbg3ys9Kt5bVbxFS7gZ842rICaljGy8Uf7ZFcvo1mLPxRdx4XGSy4HQbv/r1082VvM9w4NYVFaxcdTIW9s9RuLu2Ebs1nJ8wdcDIJHFWNE1GPVYt0cbIoJTa2O6g9qwZzLaa7rotx+9PzjHPUqf5E1e8LSQAzLapsjEi4UjGDhgf5VpyJMhSbKGgSPM8pZAhDvDt3Z7Z/pXI6vJdNo9nPACJpXdcKucYI9a7DSR9n1G8hYFdl4SuRjIJcf1FcvrSTnRjbQnbPFdOOuDtOOn/fNKr8J04Wb9ojQ0u4nfRLbfuWQXKCTcozjoauax9ql1jTPJm2wiFmcFcglf17msXRGmi0Cc3LMXiIc5OTgNW/K6Tizu4iQpLqAfRgOKVD4AxCftmW7ncZtQ+ZvnjwvPTMZ/qDV1VVp48AcwMo+mf/ALKsm6uxb30HmDFvNbrvf0OCB+hNUrbWFihsS9wm+NmEijumOP5CtHJI535jfEk6JZ2bIy7o02nBHGQDz+dcddSPNIPlLSliu0HP0xU19eNLLcIHMgY5Q+gGar2cqtqtm4bhJosL6jcK5ZLnldiqS5kl2LIjtYZC0rvcurBZI0O1euCN3f8ADFMmliErx2yLFEo34DFiR7579KobkWaRMlWDsODkg568+9BlxCqsx8xSQEHOTkcfTp+VTKL2MTWimlEgkVCrlsnJ46ccfrVe6jYSLOCgKfLJg579arW9xIYSd5zG27gjgk4qfzvLkDKiqjcsp5J9ax5HGWgWLNvdkoVPHynG31x/hUM7nAZVJBwVHo3GarWlwYrsSLkhTlevau8jkV47Z5FAKlWJdu+D7V00qSvcLXMvQbeSWYzzwFlAxGDxk+vP0rstNnPmFAz9CGD4496zo5hgFQSCMcOetX7KYCcoeGwMgnnNdkVyqyKSsSXgLxgqNp28kAc5Ncje6Z9oBnZ8ueQV4JHrj68cV2nLxMhA4PHtWXPCBIpYKwVdhOecj0q730Y+W5wEkVxbzqssTosY+XI4JPH+NPmuwy5BG/IG0DqTiug1a1nu7F1lkTz1bKqpHzDPTtziuTm82K58uWJkeNuVIwemc1xV6WtzOUdTRQiKMMCBsUkHjk9x79qrs/mMEY7TGd4J/i9aqGRmhBZzuGQo6HrToJ9rSSDDHBwCM5HH5f8A1q4/ZtXYrFm9uVkWQqSy7TtI479MVlwzlVWTaTt3DB6N/nNK793OWYZIHrj/ABqmZUjTClgB7+vatqVKyGkW1ktEjBmilJxgPG4x+RH9a3dGdi223uZGt5WCuVOxlOCRu/DOMGuSExY4JC56ADtW/p832HTLmaHDPG0anIz1J/wNdDVrDaN22iVTbx3TmQNOx/e8nGz+WavI8UttthC+XtIGONtcgLlJpMyXLE552nn9aswa4sMJt41wp4JPJPbk1FWrKT2LhNLRmtqWixNbWVlDNvPnyIzE9lIxz+FQJokk8cjRujKAygg5zzSi7tLgw3FzJGoXOYySQScjr+NXLWW2ii+WYeSp5aOVcAds12SUpax1CE4Ws9xqo9uPLbI2Eg/nUF5YXupQRC2RpPnweRitqJ4JgzJLkEkg5znk1JbTBNUhttyhCPNyWxyOPxrmpqTlrH5nTKouSyMU6VqcSAGCQYHPGaz9P029W5s3mtnCNcpyU5ABGSfTvXp5IZevXmq0sihwNwznpmumxynl91aX1xqU0tsEl3lmURupPzH0zUN9HcQLLm3dW3/IpU5wODXRyeH9IukSaKUxM5ADLJjsT/Q1Qv8ARWtpVlh1RlEhLeW5685xWc4q2p3zqwlGz/IxoI4DZswEnn7OBjA75quqCFdzgYPQt3HtVi6nZH3uG8wjBz6CqTyG5YRYwAOp6Vxq8n5HBLV6BGYt4cMv+6RkD8KasKrOMKCuDtGepqZbOAmNkkdT/F8v5/1qZYYwpSOaTcDuCkcim5pbCKJtmBWR2AJ9+tRczu5RiCW9OMZxWgAY5h5jqybTgk8jPX6UrtHtCRmPA4GD1/zimqgzMm3qoQ7TtG3OO2T/APXpkR3bY4x9c9PrWmyxyOqvHlcbSVPANPjtkt/kVlBbkjOOabq2QXKXlQgq6rkqORt4J96sw27RqIWDBn+YKPQ9KatuWmURyADy2JJOAW7Z/GpMmNmKsGKAjJ6UO7QAIIi2H4UZU8cioJ4FMSxhu52sc5BpHuB5e3p9B+uaheZjbn5hwwK470RUr3EV5rcLsQsC+Mnjiq6MiXSJjaAecHOa1Q2+3EZO5Bk4zj9azzZrCiyu+SSTtXqB6mtlLoxpk6zs9y4YjGBmvqj4Rv5nwv0dhjH74DA7CaQV8plwfmAJXpkDg19U/B1Svwq0UEY/15/8jyVUVrcuJ3NFFFaFBXgfjrStRf4o6hfQ2czxLJburqpwcRJn+Ve+V5p4rvoofEt2jISw2chQf4FqZSUVqC0dx7fvLUHaT8hFeX6vod9eaWttHaStLDKdh4AK5IHP0xXf2mtwiAq6EYJxx2qp/bMI48ts/QVPtEtSXG5xei+HtVtL3Tp3tQnkygud68KeD39Kval4bvb6W5j2JsN0ZoX39FJzg/ma6NtbQDIiP4mom11s/wCrA/4Ean2ut0i3ra5B4U0O50O4lMroyyhRhMnBGfb3qTxB4dOoalK5nCxybGxt5Vl7jn0xTP7cfeGGwYINNvtfaVg4lRTjoCKftPIUved2XUtBDqUl95nzN1BxxwAf5ZrXuyDLuBByobj/AD7VxEusqwxJPnPvUEniizgwxvfmAxw/OPTrWc7yQ4J9EdtdWkA1GWcRKJZUGXxyflx/SmQBIZRsUKMhsAe4/wAa5F/FjEo6iRtpGMkDOP6VLot+954hkmckBkI2FiQuF7f98/rTSbdxtWRYv7wJ4nktXZAUlDqM84JVjxWRPBBqGsXtqzyKom3blU4z8359ap+M5PI8dGRRkS2wPHX7pH9K0E1jTrO1iE11GuBnbnJ/KujlUlZiU5RfumVps6HSNUkjjO6JXUox4O0VLe6hJF4a0ya3ZUUSguoGe2SP0rOsLyG1bV4XJMV20ghZRkHOcGsmfUpTpKWLR/uozv3dCTjAqeRQVkrFc0ql2y7dazNqc0aTSeVEqeX8p4xWU0jROv77PUYOaPs9xEwMgRGIyoY5PrxjipILC4v0ljSRFSNS5L8His3HXUwauyrNOxYP0A6jrRHNtvopFbhWVsj2NO2GCRA7CXzFwSRx/nIproMA4LY5PGNtJWTsIl1WJItVvoyQJFuJACe/zHiq6zJkJJ2IyM8mrGvqTrupdAv2l2LY9TmqkYUIFZQSASOcfrVOI7Fu1kMb5OAJBjB7DtU1wcRxtySM5I79P61mwqSwBcgE+nWtiyaZSyJNLGwXjyiRnnp/OspRXMmTYitraa+vEggT53bqTwBjnNei2+kJeKLbKbIzu67R26/mKztOml09Gjub2SSXq25uVHYfyplzqIWSO4kuZ2RWOYwGbfnA6Z4rojGxaVjoJdM8sLAJhlTv3RYPGavJFEJPOEYWU8eYAA351j21+k0An8xmVxuVBkEAAZGD345+tayP5gBLAEjuQKsGTo6bnAJz6GsuO8N60gls5YjEMrvTAY81cBHnZByM44P+fSsvWb14onitrmKG4QhiZSMbenf3xQPdkbXd0tzLJNGrb+EACr2J4zn8a5bWHgn1SRLYM86jDBiG3Hpwc9ea7W4WGYRlo8EYO/cSPfj3HFYjWWmLNJJDZvyflMcgUqfxByc9/wBKJJSWpnf3uU4gnZGBuIOMkY6f/XohclCTs2hQpXPOa7a907SJVWU2tyziImTZIAS3I7g54x6c5rLWLw9FZtM321HJyifKSwGd3PA/u9vX8OedLTQVzl5VLIoJC5B57jFVmiD+oYdMjI+ldVar4Yn3rc3GoxKFP31TqegGD64qkU8Ny3OF1HUgxOAps0YHt/f5pwTBM51lKzHI3jpux1HtWvC8h8P3pjB3vcwqOwPyyVqt4f0oaDqVzaT3txPAsflxy23lYy4BwMndxn6VkFHi8PuZUaNmvU3BuDxGe3/Aq1cXu0O6MlPMaUrnkd85FTiGeW2aSKPcqMA5HYnpSpdRwSKYo8jOTkZq3b7pd7C32qxyXZcDmoclFXY20kC295DFDOy5WTAB6gE9qjmh86d9+3fwDj1xV0GN5UBmcqGBwRwfpSW9pbzXRMdyu7OVQ8GnRXtH7u44yiots27a58rTm8txvROmc4OKpxeI7sS4nt4JlXOMrg+n0/SnTWkPlxxxxq128m3G0g9MnDZwe3HuKzzBLA7NNGyBhgblxnLVdJToO3NuVUpqortGzNr928a7I7WLHON7EjHp0FZhurm482VnRWQA7ljGeT6nNSy7Tp1vGCpZpDnH3hW1Y6VpC+bFNLLJIcKULAdWIA47nFd0Kq5Xz7nM4WkuQ5YxuLYRpcrJIPm2eZjHykAAfjUk0k0SKs0cmUDPt5xgnGT+X5V1N7pthcDEdumR0LHJ/Pr+tZc2jushNvJPEDj5Fbcv+Nc08PNwbtodn1ylP3Gzm5YJZZGXJ3jnb7U7EUBCSPiXu6njHpU1y03muvOVYgnGCQKzLn55OhwPQ15yTbsYk6z+YSC5Kp0IwKRZFjy+7c3sen1qm4Z8rAhJxlq1LHw7qEkKSi3mkjcZAVDg1bikOxQa7d2yMADqOtWYYnlIlk2qu3jPGf8APrUU1nJBfIkkEqDG5k2ncAPXNNnuQOeckfdXH86HHTQGiWUGOUorBwcHHcVK8kc0YYhRKDkKvHHp71jq58zOCuenNXrBliuDM0ZcYwS3IBNEoaXFYvRK6xY8ox7gASQemc/n0pk8qKXXIy3O4DAJzmpvO+UjJKnGAarO0flEMFL9s9azi29xFSSTeG4J2jke1JayKGKsBtIxg81FOrAk7SuRn1qO3gaWZfnWPuN2a6LaFLY25WDKqDZgkElQBnioJGiLbjnbjG3uaZIwS1HBaQHLNngD0xVYzKcfMwOMn0NZRiImZYvsZhRjGcg4PQ/WvqP4QHPws0U/9dv/AEdJXyxk4GOVHWvqb4PHd8K9GO0L/r+B/wBd5K1grMqO53NFFFalhXzh8UvEtzYfEbVrWNFKp5OCfeFD/Wvo+vlf4vqT8U9ZIH/PD/0RHUyV0deDpxqTal2MU+MtSxhSB+X+FRN4r1Nv+Wgz61T060t57jZcs4j2liY+q4Gcng8Vq2ei2Murm2lFwIzEJFDOFb05yB3qORndKlh4aNFR/EWpuuWnVAeg55qtJrWouP8Aj5Jx6CrF1ZxJdzxpGPLQ4VmmUjGPWo7cW8DoZRHIisHZRIDkemB/jRyER9i9oFVtSvmGDcPjPsKYZ7qQZ86VgO+410Y1bS7XUWniEQUxFQIos8hgR2Xk81l3etMVkhtWZIGkZypGA2T3GfrRyrubQcW9IWM6aC4iCNPHKocZUuCN30zTrMRmcrIAQyMBkZ5wcfrWhd6q+qwxifYHjJG5yO/PAAzUEEe6eJA29HbB2IRj8TRZF8z5NVZl77SPKXk/MoJx9K6DwxdMl+0vzbVTcV2gZ42+vvXMeWFCKzIrn5cM3vV+1tbdCrXMjRwNjcS5AHI/+vRZdDxZ3ua3ji4SbV7S7t3Rna02Ng52nnP6GucMenCzieYnzXwWO7kDPOBW1Pc2AgdLLTiYyhUTyny0OT6nk8Vzsq20XPm5wV+VRubkAn265qnFysrl0JcjbLiTwR2iMo3Pg4DZOPSq5uAu4FFII6EZOKri4RpflDIuTt3HLH8uKs+fGsgZpGdSOfl+bp3rKUVF73MJ1NX5iX19NdhDEhKKo6DOMCq0V1JsdC+A3B9SKtgxjJCMgJycKAeahmS3QsyRtvHvwDT509DC5ULvGSATn68YpGDSMNzBQTzt7CrccDyzRqYxukO0c/59KJIFNwy2+GU45PBx7jNaxRrGHcn8RRJ/bE7KMlgj/min+tVFt1Nn5g5O9VJ+oP8AhWvfxRnUFe5RnDW8P3cjJMajt6Y/SqmBb294HhwsckYAYn5vvcgj/PNVyt7BbsRrFHudmTejDIC8eWdw/wDritvTbV7WUSuiMwU7GBDAHjB4+p/KoNKgVpprh1j+zKoBL5ILHHyj1/8A1Vtw2sl3Op82Fdi4ZS+36Y6+lHLqTcz7aCdtSMzsNhzkZJ3E9zXR2sK+YzgkswC4+n/66pi0lt5tivGSvcc+9XLZbgTqPJUxgEFvNC4Prz1/CqSBy0JbfTFi1d71pDu24CYwBkDP8qt3bX6vE9i1vxkOJlyCOMYrN0/U3vrq5WG1dFiIXMpIDEZyRx7VppLcgqpijz1Pz8f+g0PQFqOtftMca/a3jaXdljGML1PT86i1HQ9O1G4866t0kkxjJz0p8rz/ADkwIeO0nuPans8xA/0f/wAiCkOw0xiNNg+6BgfSs/U4LizCFg0W5gThc7hVmUy7sfZiR67xXPSJeo0KuJG/0gs7Ej5lx0+nWqVgsTyTE8M+F65Jxis/WbeSS38y33CQnDxqThvcAfrT726kjt5po4miaM4B698ZNVZtUOnxJLLG+AevGRipcbhYyRotxdRmWFfMVfvfNjHGT1+tQ2cAstThu5G+SKXLqgJ4BHT8/wBK17thfNFf2ds4TaXYDHJPUgfgaii2XFtMyoWDnPUeg/wpRXK7oTimrHa2GvwXdlPdQRXBhgeMEsi5JOQMe3Brmdftnn0o3kMTFWuXkCkjIURxjP8AOtezuDB4YvGaFyvnRDO4dgxrIW7uTotqs0O6OQyAHPTlQO/4fhW9XETqKzMaeGhT1ic1bxobZpGiVmBx8w6H2p0l2wKBhhemOwHtWjeQyLGZ3TCMdqhQPXqcVmyQytLGjxSbnxhSvJGcfzricLvUvl1Hb4oQjfMjHkNwfwqWzWL7ad0KTRsEBxySSTnAPfPpUWo6Xe6aEa8t5Y1k+7vXms6S4R2XaSrDjIHvVRi4suLsrHf+HtMu7q2luba0iu4reSTcHZvNHQAL3zxjkUTag11bXahY44wCoill3SAg4P8ADg/mawdD8UXOiK3lTXCzElo3RuM9SGU8EE/jT4r77WrS7VMpcsxBHU9c1tKEJ2ctWbOrJXsTTNvhtI42lMiNyCAApJHQ4roZNKuo7j7TGVkXfHII8YJKq2OenVs1k6MFudXsopIdoedA2+TAIyO/bvXfwpM9lJcpFGQk/lhN5z0yD0/ziqb1sRyOm3ZnnElxfW0EccnmxARQxAMh+8zZY/XtXXy+XDbxiNk3FSxQdQB61eudMj1m2jl+xhHIDD95gqeoyCOorn9UsdVS4ZBBCv7vYxEmc/p70K97EzkpbqzOaurcXKNclNgLDO33ycfzrFuoPKR3Q9F4z610Mum6lHaG3WNAm4MDn0B/xrHutPvRGwkQFSO3ek6cSEzJtlmjnV1IM3UYGaurquoafJutrqWMj+45GP6UyaBklADEMkaA47HaDVZopAudpI7msGveKOhsfiDfxyCS/s7e7Krt87bskx6bhUU3ijSNRnk/tHQojGW+SW1bypVHvj5WP4VzrwzBcsMKR3NMSDzOARyatDOmTQtH1KTdo+tRiRultfr5TfQN90/pVO50m90y6a3vIJIX27sbcgj1B6Ee4rNjtXSQ5GDj5eeDXZ+Hbv8AtGH+wL+bfHKCLeR+sMnbHse4qZK6IehzjzARFRJzn6EGqhkR5CXJZgODmp76CSGeaCRWRo3Kuu3nIPNZZBjkztJHTFZxiCRcMks8bqSSO+Bg/nVUNbLOgkDfL1O7vUIkMZbBI3dKlXE38Ydh1PTNWkOxbeTanBVlbsCTxVWdPMkXyTgAYJ7UskYPyIzH2POKiiIRjuIJUdCeKEuwIlW3n8lWWRXDcYB5r6s+DalfhToqsMEGfIP/AF3kr5TW+RQBtO0dADyPoa+rPg1j/hVGi4OR+/5/7byU436lI7uiiirKCvlr4uRyH4p6yygY/cdSP+eEdfUtfM3xUSI/EfX1e0WSR/IKSEj5f3MdRN2R14OfLUb8jzvyHz99Fzx98U5bYyMF8+Iseg3EmtczW5aXbYQKrwiMbiBtPPI96ruPNMDkwRiEAfL/ABf5/rWKk30PQddd0UjbLG+1phnGcKhOamWyll+REnfP8KxbeRU0gR5Y5VlKMoxgKT1qUXUinK3ExPJG1QtN83QzWIjy3b1IF0yTy9/2ZiPKMwLSAZX8KfcWX2OOYtFbbotpK5Zsg+nT/IpwlYqCRKVRSvzSHGPTA7VFHukJEYgBAJy3XjtRaXUzeKj3J2jUThQTHGUY5jjzz2HSnSJblWMa3LFclWkfpwMd+xz2rX0zw/PqUTSy3LxoG27VUA9K0h4SskV9xeRx91ncnH4VXJfW5zSxdlaxy90VWR1CRrghiyrluue3SpnvALOJlPlEymPcy/d4BBOa19E0d9TspZluJF+bbIF6Hj171m6jpaJdS20U3mgEEHPccEfhVqD6GftJVGkkX4vCyvb/AG3UtSVomXO5HyMfU1hajbWUEQ+xzGVA4BJXtz3pEje2sbu1lDKXw8ak8EBuaqfaJHiihkiYKHG9cYJGR0J6VVmnqRUTi+Vod9kgd0mLfOoOV/Gmz5RNyxEBjjJWpZDbwxJL8jyE42+mOmcd+BWlb2lw9nHcSWzsj4EcEURYkdQzE8KOuM0nT5ncxaMuKTfGCjFiOWVQc+nBqws1urqOGLjnPX8a1tOhjsl+2zlFmwfKh8zJz9Bxiq/2VbhhFDAvmOcLk4rN0ri5SqfskMyXizASxOP3IXBPODSASGSWS2jmfc3SNPqeePeu0j8F280SqNXVZiP9Wtsx59M8Vy6wHTrho76aS1VwHjJjPzrk847dK6Ix6G9JSqPkuT3DTLPY4iMjtYrmOVc4Ckgn69KatkbyOcxyRhHbDbJMlPmA5B6Z5qWTTZdXNjLD8yJEVLk4AwxOfxz0q/IsYifT7BGkZWLy7QWyxIPOPf8AwpNuOxLXK2jOvZDEkUMUY+ywjhQ2Mn1PFJE2r/aTJbSoqnHyv2xx2FT3WnXTQjYQZNwDpg7kJ5GcitC2tyiKCecUridrDrI3yo815J58p7IPyFb1hDfJo8U1xpsgOwZJUgL6VUthHFLGDP5UoIdGwDggjqPpXY288d8HhOsI4Cea0QxyFIOOPpVR0Mnucnp5ZrdCEOSpOAOuTj+tTfbTJdR23kTxmEEuXGFYnoB9KrwQiHTGjhYnCYTua1ILGOO2jMl/beYsYJXJJJx06UblJ2I5fmZhjgox/IZ/pSgkqD7UrAecoJ+8pAGOTkY/rTIjmMGoT1KYx889fWqrpnqKtvkHIFQOjZICkn0UZP5CqEYWppaXkDaey3HnucsVIVAowRzjuf5Vzt5Z6tDcXnkFPIuAVYsQfl69CK7CW0ja6W4JIYDrnAx70y/09nhkgZgkjKRlTkDPSncDlImn0gLFGfNt1k2JN2bnpV68tZJnZ7AxB05m2seB6cjHHtVN/DereWsLalugV94XLYz64z15Nb9hps2mzLNxkgBxjG71P9aTsG6LltYW8XhP7PdalD59zKs20vtIIXhfyOa5e9llhsLK1L52B2JBDc+acc/gK6XVLRLuDfBHI0j/ADs6KCVIODhT1Jzz34qk8Umn20UKkvKIuFIwCSxPPTFa3U1ZKxEIuL3v5HLKHhtre3imYlWO0+pOe341uS+fF5PnxOjAjG9cHiqaJNdXEkiqu8fNlz39qngn1q4hW3mc3MWAEUqMhs+uM+1YtNOyNbdGbt1rqXmnXc1wnlrEgA8psHLMOcnODwenqa4zUCb9DOXUiM4wW3Y9OfwNbN7BLZWt3bXITzIp4weAUJG8kH1qPTrQQ21q0m24gvmCyJEDlRvwee3HGRVp20Gk9kc7LZXbWkU8UR8l2CiQDuSR+lNvLST+0FSyR2eRSNqjGCOvP4Gu61TamiGOCPy7R3CwqRypDHqfQAVhaXNaT+KLQRBt8RcuGPysQpPX0+9+lEkrrlJjdJ8xn6E1xBrERkjcmLDFHPbOc/lXqFjr1nfSNCJFEsPyspHzLgEdu3vXC6zbS2/iE3cZXF00WIx95FxtJIPUdaraOpbVLrY5XLlcjuOT/SlJSjvuKyZ6vaO8D7pESR5VxksTjjAIJ69qp3/z3kpPr/SuVtvEU2mMpkJETnI43xk8np/D0PSnX/isxOJHgiTzcuoklZDt7Hle9KMu5tLDzlZxd0S3dh9pv9zXN3Aix71mXZ5KbQ+5WGcknagH1PtWHfy3AllAiyoXjK96dN4itHkF09haedyN/mgsMe+2qV74lmm+SH93uIAKTZx+lKUuxcYThrON0WdNs9El1C4bVJrtG84KgiXKKoABJ469azNRs4FvZ0sZzcWoP7t2XZuH0ofW5bSa4ijeYYmcjbI2PvegqI6tDM7FZ/Mlxkgxn+ZNK2pjJNrYpzWUkgy5OewHIFRCAwBmKYPBHHoa0hqNvtG9tr9+DUM11bXNq5jLfL3x3qiEmQ2UsN1IFd3Sc5wpxswPc1b0UXMuu2WwLzcxbCrZ43D+lQwy+XbDcAEBbJCg5Bx0rX8GwwXXi/TBEzhVdpcbeDhSf8KT1LUU07lTxVKv/CX6tEQwTzyQTnH+c1zM0aA7nYknptrc1u+e51C7uHlV0eVmQcnqTx/Ks8G0cLJ5Wwjr71m7pmVmincCKWMNGwB4GO9ViQmAoJIHUDFWriFDKZQQqnnC/wCFRGEu22Njhj26U00NDEJK7mcK3uaLlQXVkcNkdu1XYreP7K8cq/vs8MRW7pFhZtYYu0LK7gKpBBVeMmsqlZU1diucijKoCumccivrn4NMG+E+iEDA/f8AH/beSvlzX7G3sdQ2WqSGAoCGfufyr6j+DJB+E2hkLt4n4/7byVrCSklJFRZ3dFFFWUFfNfxUn0iL4lauLm1mlnHk7iHwP9SmMfhivpSvm34l6dLf/FXVY49wLeT82BgDyY+9DE79DkI7/RlTzBpTdcBTITzVw6hZfZlMWlp8w5DHOKi1jSE0orDFdi7kc/MEbDJ9Rz1zWdHDdTQsgtpHdWxtAJ+nSloJXLgvIoGgcRl2MgDI2MFceuMg5qtqN4Z7kv5Kxx8BF3FgOOetWP7F1oKrx6PdSFQQyiJgCPr7EA1Z16AaZs0g2csZlCzpI+PmPOff1FSk7nX7SmqTi17xhI7NIF2jr2UVdhYiCX96F3YDc5J5Bx7U2CzlZwVQn1oW3uFaSPyHJ74GMVUdXYwsjsfDNyGtJtu35SuSxxxzz+lakepxrJJ50kBx90xHOa4K3lNqzYVVKJysq7sE9T/n3q1p8YeSQebIsQ+YgP1zznI/HjtVr3U0yLKVze03xXN4fsHs7dNxkd3UbRnAOO/4VjNc/are8uZIZbcKPMCjj05GffrWt4dCJdxNG+UkWdQp6qVZcZ+oqXWzKmpuAwHm6fOoOM/OACMflSTsJNxejOas9StxOizW8Tbjjcclh9D2/KtPW5lECWqxQRW04GZVIkbGfbpXH2zatczxRzS3KxFhlmVsLVqa21NrwwqZHiSQYYIdppvUbd3qdHoOoW/hq41lUt5bwSkC0uBF8pwThirDuDmq99qV7fXBdnlnyqndO+0A4GRtUdM1baJ5YoMhsKpDZ68Ow/kBTZoEhjj44kkEYGcc4J/pSbsJIzonljgeNpE8t9v/ACz5G0nofxqzpV15GpRyLMYmXlZMjg/j+NPNsBhOACeBSrD5Qb9x5qlSpX6jFTcqx2F38RtO8loY1v0uozkCBBtLemccrmuasJv7W1JXv5DI5g3Pnjoent1ohhaMKdgHHTFSqiLIHSPYRkfJx1od27ohJqSlF2sW7+d4lMFjHsBHDqAOD3A/qazNL0qcC4C6kbSTKucE5cAnI6+4rSt2YziIFV3feXGSy9OPfOOar6lZT6dtkuImZMkfIM7geMcHjrn8KNXuapPclluF0C+Y3N28wmIDywuS33ehzwRnirNvdWE10kCSOZduSpQ8YAJ56dCPyNQ2WnzLF+/YHJJxjOPbPetJI7oyMxnHlCIR7Vi6KD/nmhWRF2yoJoVvHVJt8rsB5GQCuBkEE8etQ3F0jvFHFePBdmRotqkMduMHoMdf5VXv/C1tfXjTyyzpJ907TjpU2meFLGyvUuA07uvTe2avm0J5dTZF1Fp9tHJIB5SnLZOPl6Hn6VrS6/4UWISfumOMD943X0x/WoJoY2TyymeMYxWaNJtmlcQW0AnVN/zoACMgEZ6Z5pKSSBxuxkNxeXGsQXIV4rbnEbEgOMggj1GD1q7CpWPHpxWboM0MsXlyNP8AalXZLFJ0TBI47YPsfWtnywEOFwO1T1uU0kQuMjmqF9ePYWrzwOySAYBHbPFaLKcYx1qvKgYFdvNMFoZaxiXTFhVy+YtuScEjGKrWV5a24NldRH+0DITGUzt2tyTxx2PatdY8DGKz30qL7b9pUssnfB60x82t2a+jR+bq9umzed2QNuQDjgn2BxmtjxOZ4rSBbm589vNysixBeMfMpP1II+hrmvIlXDQ3EsDjo8ZwRULWt2yJFPqN1PGpJVJWBAPr0oJJ4pzbEvktnsD78VleIZo3uoblJgu5dshzg5HqPzrSSJkOMnIpjWtvJKon2gDlugO0detJ7WRM48ytc5/E4s7eS3Ak3Md4XBDKSadFYzKZYGkFraS4BkEhBUjOCSc9yeldFc2mnpclLGXzY14JUqQD1wMegIFc/wCJJpLeC3ALKjPhmAzg8Ef1oi3E1pU+dqB0keiWlxZ/Zk1SxmJ5YGb5jxjnIrHvPDup6Zb4+1QuoYGPMgJPOcAE89uKxr3wzq0NzCsZMkJO8zxjCA45ye3GPzNYSNdDUEhFwxcSKFJJwDng0XOqFFttQZ2+qWpmtQsj+QYjnhckfT3rB0QWum3LXNxB5lw8hlgmaXAVQrBlYe5I/Kuoki+3WEcczN5pVXbnBJx6VjPYaZEAskkreTlW/dhlGWJ/PJx+FXE45zio2l3H6pc2z3kDiVnCQoyuoB3d6zZbnTrfUp723MxikgyUjTbsJJUc/StMR2M0K7dS+aN8q7w/dGMbemMU6SwtZXZrRonfbyyr60qibTuTSrU27FLUJIZNPsJfJRSjBB5Rz5gKjGfQ8/rWLrM011YRSSl8B/KjDNkhVHT9elXbzTLmJdkWAN+/gcgjpWJezXTsEmLMgcuoxxkgAkflUPbQ7sPZzu3Yu36Wy6XI6k+YsixhWP3h649KgtJH+0W0DRJsaQDcY1LZz0z1xT7C0vtcu7e0cSLDI2fM8skLgE/0Nat3oltpN/YurlpGlGBtAHy8kmhNrYyn7seVvUypdQQuYHjgBZ8bxEA3X1qhaxssks2xWDcjvjmtBjpUrsYrZw6jd5jkrg/rmq1nD9kaSG5EQb5lw59sA/rQpc61ITUUyn80hZhGeSeacbVhHu8yNG643c1fNnNaQZbyQpG/7/JHsKrWfk3khSRH3OwAwenPetbQsZxc3KyLE7ObVIwu0BDkjjjritz4eIYNQ1K/ZsraWErr6A8D+hrOlVbrUm2r+8U7FRemAMf1rd0uAad4Q8T3Y4MqRwDOOpzkD/voVCXUbbtY4B5GLAbjj3NaEShrQjzXxuyqbiV+uPWqUKmWRY1B3b8k46CrzAb1OM4yMjgcetS9Qk2yJsQIicMwOeRxUYkMOcqpOPur2prPIzMVGSTwOuKYpYBiq5OBuOPyrOxCJ7GNpLpY5XG4ngs2K6C3uXW4kh8tfNjThjyBz2rEsGklO7y1IXILd+lWW5jkHO5lIHzd65ay5pWZD3Kur5EqxpIJFAwwDZIPevqn4SoyfC/RVYYISXjGP+Wr1836FpUUN1MlyZA4QYI4DZ6/lX038OfLHgLTBEu1MSYH/bR60o1U5+zXRFQetjqaKKK6zQK+dfiheyJ481hFjhHlmLDuuSMwxnIJ4r6Krwn4h2cc3jnUmdAwbyuMf9MkpNXEzzzQrywGrPNdyMjFQVVYs+Y+CMHsK04Z7z7V5yz75V2kfKAcKcip49LijlDRQoreoXmtKGzK88ZpSXMrF058krmNNqfiKect5sgfcSHVMEfQmtrUo4dUisZJ03TRwbJd2OT1/wAanEKhcnk08ouOQAKo1rYiVVJWSt2MuO1t4VVI4gFHYZqZLYZwkZFXFNuhJaVF9t1PF3bIcKxb/dUn+lI5yn/ZsRVjJHGSe5FJ9hUx7YyqJ3CjFXWvlAwsUhHuAP5mmi844hA/33H9KAKWjaZHp13JJKd6FmaMAdN1aOowx3flmIFGU8nbk4qs11Ox6xL/ALqk0xpJHHzTv+BA/kKYhxtUiXO3ntmmNbxK4eSRc9hnioysbcHc/wDvMTShI0O4Iqke2KAK4ZIpp98iFWIMYA59/wBapX2my3mCpWMFWU89j3/DtXRQaVeXaLLFbuUYZDngH8TUh0G4/juraP1Bk5/SpbXUL2MRYAiqGwxHenM6Qru2Z+gz+laD2Qjdk3o4U43r0NQXNwtjA0mFGMnewyBx3xzVwjGT1dkVGzdmyjbyPOWjcP5kbEMGXHuKtJbySOIo4yWcgADuazV1S5u3u7iKwR/3RSOfJBYA5HP+etaOhX9zLZxXEimOWJ8K2eW29G6cGqmknZbBUir6FfXob+xW3sJtO+yyXMmxJznLAY6kH68f0qumiXX2qKSTUPMy27ywWO3aemDXX3ur6DqlmlrNdXgvkk3pI0I4bBGB+vpWPpmmxw6sLq5leZGPKdPX/GldMpOSXvF+RXt4AAu9zyfaqWu6nNpFrFNbfLKjhTnng9eO/StS+urSwcpbsEVUXayjcxA4Jx79D9KzL2ODUixdRtfnAGKHy8q7kN9LD9NvTfWUE8mN7gluc85rSgy04zzjmqFrbxW0axoeFGBmrsZ2nINSIuxuDKzegrF1KaQMgVXKnO4qOnH+fyrTyCNwxnvUEi7qFoNOzuQ6RPJLau0saq/HSPbxj+daBf8Ac/Q1VjwvFSFsjGfxoAfIwKKailPIb1FDkAYLCoS6kZzTEKcLL7Go3GGI9KRiM5JqMzxDILjPfmgCWNgylcH24pMblPByPampCzRG5SeAQISJAcls8Ywegpn2mAj/AFgoAcxyN2CGFZupayVibSVt0Y3imIzDrHkZP8hWoiedYTXisvkwsFY55yemB1rF+yhZWnZy/wC8LqVXoD2NJsaTauP023urYztPIrebJuAB+77Cp720jvIDHMgdeuKje9RV4Vj9arSX8rcKcc9cUWBOxYGtalaW9rZTXz2tqu5WlAEhcnscnoBj8zXOroqpqC3D3RYSSnZhMc9s9a0bq7imj8uaHzGBBGTgZp8Vhe6lHa28NrOx3q0awDeG5PU5HT17UNMqM2tiYvLZKzqyuwQgKRyQOccVjzCNdZTzJRFbFMlTIAGY5yeuetdNd2Vppl9dRPG8vkZi+0yRnET4BIBGRnkcZrF1K6ju44kmilNwN3mLKg2gZ+Ug9c461ootK5hK0rrYbHHp6xtCAjozAkZ37j2Aqzp4trGS5X5Y4zhlG0gKOhyfy/OsG2jtrOWSWW3dzt/dmI7SjdiCPxqVL21guBNbA7jz++U5DE89OMcfrU1ajtZImhQ5W25XNSDVLO7vr63ugfJSMNEVf75BHTA6GlvJZtQCfY9NEkwjAMu0bGwcfKvfjP5Vz/2oqZpU2iWV3DkL/CcdPSobG71OxRUtYhNEMkJJEGxn0JBxUK9zq9x7ux0C614k06xhQWAaIFgVFrjoOOV+tQXGp3+r+dPLZrC1v8zFE2qVIx0PccdPWs8eI76BZMaakcx6SKihlPqMKKqalrE9zMm+aeT91tPzuwwccfMT6dqoOSHSRHchfsyptUEnB+Xn86hupZZ2ZvLY7l2NxkgDv+dJ9oXIP/oQzV600/VdRj8yy0+6mTON0cDMufqKmKaMoR5dyu80d1NEfKWNYI0Vl/v464/rQk8JvTNbwhFCZIxgZArYXwp4pZedGmx6lBn+dZ97putadEwu9LmjjHVmgbH5g1VmXdGat35V0HBkDljuZMf59a66aRovhbHkgvfXxJJA5C8f+yCsCz0ye6sHvZhFbWa5CyOv+sb0UZ5+tdN42YW3hvQLVYgjeWZiifw5GT+poVyeZN2RwTt5TnaccdRUlqiS7iD8xOODziomuFb+AH6iupez02KJRLDOt1tUNsYKpGPpUPRXY2ZenWkDzMJod8aIdzAkAmte6itdQtX2xrFMQFXAzkLgcmpLe1sbaxmw8kchUSHLZGMD+dYrS+VKp+YE4J55rzJTlOo5Rexi32LX2GKDTfLiYyTlwW2joOmB9K1bVbGwsiq7HY/M0kg+bPT8KyICXuFjL8E7cr29P1qa8P2ZdjoWbHOeBWc1KWje4tSaW7l/hAZV6g8ivo34XSNN8OdKdup87p/12evmCEyLGsQUEOd555r6c+FWf+Fa6RkYP77j/ts9dOFgozfoXBanZUUUV6BqFeEfELUlg8e6lCY8keVzz/zyT2r3evnr4mOi/EHVNzKD+66n/pklAmZP9qMPu7B/wEn+tNOoSn/lq/8AwEAf0NZn2iEcmRfzpjajbr/Hn6CnYRqfa3PVnYe7H+lCylm+4Cffn+dZseoQyZwSAO7cVMNShiPCkj+9SGa0TOgPbPpxThKXbAOR69qxjqvmKQYyF7DPWmLqcuNpVQvsKLAbe/j8cVIAxrEN7I23AC+uCOacbqRiMuPz/wDrUWA2wuCNxFIyq44k2gdcGsRbmVizBjgn0PP6U4E45z15+U0AbcaW8fPm5P8AvU9pLcMO57f5xWGCMdOfp/8AXprPyTyD6ZGKdhGpquqLbQgCV2VYS5QMcgcAAc+/6ViaHd3E0b3F3I5UnYNzcDnOf1xVKPS72/1P7PbfPNMdqBpQM/iRgV2978MtX+wJdz6hZIWw1xAzGNFA7Bun1yO1RKDa0E3pYx59SkgCqjDHOeKo3OsyeWQ4DLkEgqCCPyqlZ2zoGQupUOcbSTxn1q4bVSPm5B9aqMbKwLQg07WmQBZxiFd3IXjGSelWYdX+0qxizySCpXAHuMU2O1XpjAqdYNowpbHoKoHq7lYXkNqoY3Eoui+1V2grtx1z61cGpt5iBpXWPIDMvUD1qnJpjSzq5WQ46ACrCWsyAMYCQDkg8Z9qlKxtUq86SfQ6vxT/AGbpmkRpKzz6hqKoRM27jAAyMgeoPHTPpXOWW6MKnmHgdzVnxL4qvPF89pEulrbpaSEqwbPse3sPyotbKRRyACe+c09DJslkuio2p19c0RyzEDMmBn1qVLEd8H86tJbog42A+pFAEIY8ETHI5yCalzHIAWkZSOvJ5/WpUKoP9ZH/AN8inblP/LQH6KP8KQFRrWaUHyVlYHjK8j86eNkYAuJAjAYwvJP5VNI645kYDPYUwIvJy/P0pgN+026KRDD5rHg+YcfoKoSSqgaSUbUXJYg4wO9X2xnh3B+tZ988Ygl37nBUjazdePrTAt6lpVvpixmFJ/8ASszFnlDAHj8vpWdsP9wfiarW2urqEm2SR3QKCE+6Ij3Uc8jgdeeatmW3PJHX/aovcHoyraanqMV1caaXi+xnkARgkbhuxn/9dWyg25GM1TEVik3mC2+c981cjaLBYIpXvk9P0oEyxpl1aW17LHeWsc9rJCfMGG3LgjkEdPrVHRrRfB94ZL+Bbm2vHZVjJz5sRVTlCeQQSBn2NLJdWiT26Topt3lVZgGIynccdqS+14a1qMkUlrAYbclbcquBs4x1/Cla5S2CWS3mnlNorLAWOxJCCyj0OKqzRhfmB49Kkm1CGwhMkkaKq8DauT9BU/2/dHuCjH+7TIHWWkQ6hHIr3aq6/fiA+Zf84rWjtY/DWnC8W0lQbSEeEs0zdj93oK4+512wW6L3EADjA8wR+nrS3Ou3UmmnUhLB9mD7VQkhyM4zkdPpXOq8uZx5GXKiuVNSLcvimGOH7PDDe28BfzHTBAJ/vcjqPasi4vLO7meSC6Yv1ZZARj6UjeKomT5U2HsftJx+tRTeIrSWFUeIlgQSxudwP4Vp7WXWL/Az5OzJXgkEQk25U9wen1qAxsf+WbH8Knl1SW605Ll5US2Mgj2Fssc9TnpT4LxjCgCR4AwMtmrUr9CkmtzPdSoJMbDH1qa2vb5rd/IkOyMAsM1pLb311ayyw2gmiQHeVb86yba4tYIZFDsySqhcDqmD0Jx0z6U2iJpPV7E1yl8rBnm3biQrBuH6dPXrWbPFMHYSRuGB5BGOabMytKgWd2jjJZQrHAzyccf5xWg13cSgyuYznqR1osWlH7KM62s3ur63tgGDTSrGPqTivYbDQdT0fZDoF7EtsJcOWbleedyngkfrXE2fiPTtL8JNt8mXU5Z94ULh4sHCsCRwRjNWrX4jQ6wsGm61psFwJJAqTthME8ZPp+BqtEDTZu+KNW8djV500nT0FmuBHKNrs49cE4H0xXJ3GofEhm/ewXJXuFt0P8hXVa9c6zoKS3yXEctmWDrFPF5YEeOit0zzjHOaLrxEltZrdS2t35RAJKorYz6gNmjcOVvZHGRDXL9ltdV0meNGIHmx2+wKSepBG38eK6Xx3oF/qLIbJt8cEIj8rzNpOO+OhqTSvGGn6lq9rZxrch5ZABvi2jjn19qz9c1XVH1bUZEuUjsYZPJSPA3Oe5xjJ71EpKKbIUdbo85FvMHYeU+UPzcdK2Uu5Li2Wa4KuxYnPTjp3+lTGZouUx6n5aqCOQ7gCsgck7cYNcUq3tE0VzaWLjSnyQzT58wBCAew6VnXDv5yF2BOcUsj+SQojZTjlD1zVW5m8wqWXBHaopw1FFGuigSRtG+WYcHOM1HetISFMwIU9M81QgeZ8mKJmKjjYDwPWhYZ55A6Au2M4zR7P3rtisaKGPcoYsruMg46ivpz4WHd8N9JOc/64Z/7bPXzXaSxGPyrldkcbeYQw5JIA4z7V9I/CchvhppLAsQTOfm6/wCvkq8P8bKhudpRRRXYaBXy/wDFt8fE/WBn/nj/AOiY6+oK+Yfi1ErfE7WGLqCfJ4J/6YpQBxO/ik345JNTRwozAGVfwzVhbCDOWnY/RaY1YrQBpG46VofM4CkjA6CnxpaRY2o5+tWElgx/qh+OaA32KgWQk4zjtgVYgEqZO3J7cipRPHn5YB+tSJdkttWA59QlIQ3dKRhEBbPTzP8ACnxwXAB4Qk9yxJ/nUiTygACPp9Kk8+fHpn/aH+FADUtJiP4P1qdbGU4+7/3yKjM8397/AMf/AMKeJpCPvrn/AIEaBMn+yeWAXdVHvtFSra8ZDDB5zuH+FVd82Mt0HJ/dn+tNkuC4xnK+4AoQmyaWx8w8ygD03VfMsb6c8c3zBAsRkLFhz068Z6VnafZzapex2luEEjnjccAD1ruLPwIotjHdXDtuIJCjaOPzq9SU11OLjt7WMYDg/hU6tar/AAgn6V1F38PnxusbvJx92XufqK5u+0XUdKJ+1W0ir2kXlT+IpWEmIJ4gfliJ+iinfaQBhYjmqYkYqdoJpAx/iwCKCi413IBxFj6mmefcNkBUBzjk/wD16hecOfUgelItwcMcYOaQE7ecBkyovsFpFeQpvMx+gGKga4Yj2PrQrsy7QB+VIZYMq45dycf3qaZxjATFRooJ+dcAdT0pyYwVPTsaYEqysR8q8elWUhuCA0gES46uar2szQyBlGaLy/gWbfJKgZuQjNlvwFIcYuTtHctf6OD95pmHp8q/41MssrJ8hTZnlQg/X1qiquD/AKsnd2NTwvMyY8ogDqM4zTEx/kiQ4BXcewWs67tRG5RsHdnt0rUWJpCGf5QOmDzQ9vHIw3BnbPBJoA5n7KluXfZnAzhRyaLC7h1C186NWVSSCrdQRW5qFjBJp81udsYm+TJBPOCAOMnGSKW38Laf4csYoYLs3M8mGmJTAzjt/hTHbS5hzPHAFaR1RCQCzHAHuTU8HlwyMqyyzea5AyFCDA/hPXB9xU2twRzWPllQQzAMMdq5+3tdLOPMuLkEKFMkc5LZ9cD+VTKVi4QUka08MdxERjIb9Kp21kbORjlyOoH+Famk3dpcmS1iBYWrEIx6snbOe/OD71qT2dvfbIrhmS3zmV1YLtXB7noOlF9CeVKVpPQ4bWNQ86G3eJJIv4xu4JyDkEdsf1rYsxIbGEyIyuY13A/SpNU0e3MGzTDK9tn5Gdt2cDHB/wAa07JSLdd0Ijz1UdBSi76l1XGyjE5+502OV9xQHPXiqcmkxY4jXHXpXZ/ZoSSdg5qF9OiPQ/nVGJxculRumDEuR0NVxp8YIxFgiu0k0t1Py7CD3qF9M28tAH91OKAOW+xLtB8vFSJHtGBXQtaWoBTyWEgHTdmqUsEJyvlbT65pjHrrL6fpsS2dqysVPmN527zGB4wp6de1cvCJpN1vJE0caqSVwflPB79ck/nWsdRtW8qORAgh3BSwxnnk5/ClnvoNjAS4VRk4bJ+gFF7noxwLcU7/APAMdrcpjIIBOPbPpU8G+1lErQiULnCMTgnHFdZ4cvoIGI8iN2uIW4OGJAJBUDsePrUAtCihp7WeAM20B2GfbIotocDjZ6HJJBBMAZZNrdcMpxn61PJDawBZMIzA5Xmurkj8LCZ0uVms5oxjzIpPMU57lex+lc3qOkwf2hjT9Qju4HXcJFUrs7YIPQ1LO+jVhCOtP59yvd6hcalEkFy0ssafMqs5OBWjey61baLYols62zKcHBbI46/TAqjZxRajFfXIlaIWlsv3QPmb0+mRWhp9/dW2npHbsBuwdzru471lVqulG6MK9T3bpWKlnPc2aFZ9pLNuDA9/ekntzuW7DE+cT97+I9zVmdjNHcXFsjTqhCTs8fCsemPQ8dqyjuYcZIXqK5FzP3no2cVydHEnmREgELwVHX86bLJ5bblHzAAZxxmi5he1VIxLG0m3I8pskfWqk7FU2ktvbkj0oUbsLWY15jNKsrAAk4JI6VHLblpQFdWGOOeBS28isxWTCehJ4NNlVS4O7jODgda3WjsCNfR3ns7SeQbg5UpyMcZ7etU5ZmkvIniXAUDGRjPv+dS263MUAjLb1B3At2H+FRXZWKQTE7nYYAHAArBL322IleeQJIWjjJHOSeh9a+mfg7n/AIVVopY5J885zn/lvJXyvHKZcrI2A3THU19WfCUg/DHRyoIH77r/ANdnroox5XYuJ2tFFFdBYV8yfFi2kk+JurskZbPk8/8AbFK+m6+cfipfNb/EPVYmjIVhEBIv/XFKDow1OFSdpuxxMVjJBH5kkLDd/EVOKlVQTjpVlr3+0THFc6lJc4PCTSnaCPbpU4ktYl8tS08gBz5S9MDPXp0pm08E0ruSRJY6NdXkUstpDLNHGMu6xcL+J4qqi4u2h81mfqEVQMVpaRrFzPHNpC3axWkuGPmgMoOf55FKyaNBq7RXE6F33BZDKHj2dcFlIORzjODSkmcezaZmmNmZlKyAA4OWwTU6QHA+VAPeSuv1Xw5ZX1il3pWpWM8kMIH2cXAZnUDJI5zn2NcikTjrCnNBIojCnloPxOalBA/5bRD6JmhYmUZZVX/gFWEtmYbi4x/uUCGI4x/r3Of7kVSDOMkXTAc5IxUTy2kcximvPKIHRmC1HLPbFlWO9icHjmUGnYQskyucLvC+jNmmAZOB19BVwWTLGS3X020gsmC5Gd1MRTmW8S0na0WQXG0bdhw2Nwzj3xVrRPiJrmkadNLfs12kMqRhWG1wCGJz+Qpkk4sS89wzYVeo549MVO/2PWrICeMTQt8wzlWUjj6gjmncV0eheHviDouuW8cjyfZWd/LHm/L8+M4rV1PxHpOnh43m+0OG2siDIznBGTxXjbeFreSyitLa6CRicybpjnbuAGeOuAD2rf1ZHKW48xrsqDCGiQsXdep4GeQVb6s1NaktLoWtWlstUV5rDTltWU87XzvH06CsHyZQMsjjIyPl6it/SfD+v3DBoNLkhQ/8tLpvLX8up/KrmreH5dIs4Tc3STTMSHCjAUdgM84pNDTORZWTHUH6U9FcsQFbnqeauXK26RbppVjAPBZsU6PUNPPIvLfP/XQVBZR8p9xTbyvNTRW8j4wCPWtGN4Zv3kTpIOm5SDUgABoAofZH3ArkjPQ1a+yoF4+90zU4I9aML7UAV4oUhfls7iAOM4rTl0bw/BfpfvcMs7RiOHzThSx6nH0PHH50zToxJqNvGH2ZcHcOoA5JpPFT22n6pa2ENwWgkjWZVOAQxYlgQAO2Dz7UXGnZ6DSFRiPMD+470se3b2zUaSB0OApAqSMfL6UA3cUFfUUHA7ipBgjpSEe1AjL1QSSWpEe0svzYJ64NZunXNzKJXnZi7vklj3wB/SujaJSclQR7io5LdUOQqgHkAUW1uO+ljC1JZHtJAASdp4B61xcc9zbSnEJjyfmGN2fTrnpXpbQow5UH8KqTaZbs2TCn/fIoKjNx2Od8OIYllnKFXc4+oHf6nrWlq00/kKnkvJbFlaURthiAc7RxxnHXmtOGziiHyxqB7CrNvBvkEQGTnCj1zQS5Nu7OesdVtRcPaW0E0MDBp4YpTvcDAyMgD09O9b6DitxrONNMJS1gld+RIEAO0nrnr0rGC1MZXB9xcYppGewpxoqyRMcYpuOadRjjNIZE8aN1UE+uKzruyjdtyuqE/wB7pWowGxiWwR0GOtZt+DLaTRpt3lCACO+KBozpPAInJe11NSAxPK59+CDXMaxpdzpd6IbtkkcruBU53DPetGwsroMDLMbOXcF3xv5a5PTJHFJrWm366jE93eRzsUG0eZvbHXHHv60jvVNxa95P5aljSxHBZJ51msp3EHaPmGOKZe6tZzQ4tWnWU5DI+Ttx9ahfUYTZRxrZQW97ASxuA5zKM9Cp4J5/SopmeeFbR5w9y1wiLg9UIPOcZwOKm7R0qFSKu0ihCiyyTRsjnbknGeaW0nMME5t4jJ5jBRzg4x+ddB4XS0DXM099HblpTmN35YA8cdvrV7ToBNcSRw2tuNzNIA7diegPemc1Wo1DRnI2tlcRRPv/AHMUpG5Vyc+matNM8LhEJ2qcjB6+9bWseUhieKSIkE7kU9DWfY2EOqTTtI5hA5UK2cn3zXDiKqvrsjz6km9y7o+oRWmn3MQjDCU7iMn5mHrWDNb7bwjIRJGGT1xxVjy5rQPGwIIc/P61BICUD+ZtY9QB0Hr+dZQu5Np7maH3NsYZgqyqzKuAyjr9ay7ssJX5L/KDuq0zuuc7W75zVOVsFsA9efYV0U0+pSRLaWwkgdnVGLfdYnkUvleVJhW3nofTNU4rkwlhng989Ku/Z40VWjk8z+IA4w1XK6eoWBZCHaPP8OWYnGB7VXLEAs7ZA44PGKke2LMHjAQHO5M5IPp/Wq05CrjcAVPQU4xXQEh8M8fnf3ADkHGcV9XfCWQS/DHR3XofO/8ARz18lQh5HyhAr6y+D4I+FmjAjB/f/wDo+StIx965SWp3FFFFalBXjHjr4aXWv+OLzVotUtII5vKzE4bd8qKv/stez180fFbWtcs/iXq0VrqF3Dap5O1EchRmFCcfjmmhpXaVzRX4N3Hn721WwdQ24Ahvbj+f51ow/Cy5Tj+2baFB0EC4J+pPT8q8p/4SnXwf+Qte/QymtPRPEGpXUl19r1e8UpAXiBnIBYYzn8M8Uua50zoSSSc0zu5fhncxztBHf2WycfKrMzYAUAknH0/Oqi/B6/Chf7S044Hct/hXJ3Hi+bMUgu7tnTleSM5/HpWQviLXppZSmtXSDnAeZuh9KakZ18PKn1ud1F8JdXmENzbanp0IBJBLtk89eBXSD4faioGLvTsj/bb/AArxxNe12H5V1e8CpztExxWude1Xyku49SumGDmOW5YA8HnjFNXlsZKNldnqK+A9S/ju9PI9nb/Clm8F30FvJK91Z7UUscOc4H4V5RpPinUlu1km1C9lj8w7lMjEBf8A63X8K7lr2V0KvcyFWGCC5wRSQVItML74W6xfXb3Am0/a4BCvKcrwOOnrmsy5+E+ttI1tC+necU3584gAZx1xVLVYtcmvA+n61PFEFAEZncYx9M5rPGm+L5ZGlXV5i5GNwuHU49KdzOx6bD4H1ZIY1eazLhAGIl7457UreCdV7PaH/tr/APWrBS+vo7OCFppWmSNVkcyH5mA5/WnrPfKm97t19txP9aQWZc1HwNqi2/zG2bcwQASA5LHArIl+G/iiSZ5Db2GWYni4FOkkvbk7WvJsAhvvdCDkVyl1H4tiu5Vj1G6ePedjfaiMjPHfimmKzOlPwz8UZ4tbM/S4Wug8B+Gdf0XV7q9lggCeWbcbZlJ3Bue/sK82kPi/zCY7q9VD0BvCT+eRSQzeK7VN8c9yJBKHwZyVPXORnnNFxcp9C6gmuTjFt9miUryS4ZgfpwP1rn7nRNbuIJ0e3EjSKQZJZkz7AAHC8/WvJ2vfF94wMmoyQKONqMRWhpkWqxSBp9TuZT6NM5H86Vw5TZ1vwLrt7Ja28VsjSKWkZfPQfLjHr61mf8Ks8Qnrp8H/AIER/wCNN1+11XUIYjY3skUyEhmErKSPTI98Vz8mj+K9gU38rAc8XRyaEyjodF0a70Y3NteRrGZCssYRwwKMODx9K2QigdM1h+GtPvbGCb7e5Z3YFcvuIAFbjHtSGAAPYYpGVQOgpwGF560qjcwoAq3MNxHbvLbSMk45QqehrGg0m9u9S+2XE7h8gjcdxzx6107j5cHvT7eLgmlYZDHDs464FWguIj07U3HJ+tSsCEPuaYhbcfvDn0pJx+9NOg+8T7U2X/Wtz+FFgJ5VzacegqK3XcjjuOasnm0x/s1XtT+8I9RSQFBhtkPsasXCh4Q2ORUdwm2Y1Mnz2+PwpgUQcUxbg2t5DMH2bXGWPansOSKguYlliKuAR6UARXUi3N0mqLeSKu7yxAr/ACgD/Z/+tVyCdX4yDnnrUcGlwt8ylgRxtzx7UpjMT4A5FKKsDuSMdr1HFeQXnnCGQO0D7HHofSnmcQPHK1q05LogiDY3ksABn6kVva7Y2FiHks7JYHnk3SPGCFY4A57dh+VWo6XEYIoPSms4Vscj3oLAjgipACKqXM0MJjWWQRiVtocjIBwTz+VTM9QM8D3cDPMiPHuaMOOGJGPUetDNaSvNaXKSaZJJGYrbUbC73Ekr5i5P4HFY+rKdGgkjltIobphtVkAyc9D/ADP5V00loZUVpLe3fIPHB/p/WuZ8XWtnY2SXMMYinllC7CRjCjPb1Jpcs4/Edsqt004mdc6LqcoaSJlkjk+YIw+73xV/R/CHiHUVW4tLaDfESQgkTcO3QnPvW9Z3LCyh3oFcxgsBzg4pBeiOTzYHZJwcLIpxjPvSs29DmeIqJNX0Kdt4E1mBGc6c5ZeeGBP8+ayrt5IJUJcxSRsRtBwyn6dRXTTeKPECpLbyXRIx9/A3H23Vy2oX09+4jlAUAhtnTB9QevNc9Wco+7JfM53IZcBbnTDcGeITxcMp3b5CxOeehAFUbWRk27ciRWyrA9R1pZf3aYDFRngg5xQ5eEsrSKSejAVhN80SXruS3txLLIimQsx5yTx3rPaVhHJtAww53c1JI6HyWZgSeuewqtLJHKrgZwCSD7VVOmkJIkMTLaJLG6kZwR3H+cVVnlYRszD5TwMVOLV2tmYSsI1+ZV7Y9ao7TKqgZwTgnsK3jYofaqjsGkdFXGAdv86mQtuaIxhWPAIPektraI3e0lhCuA3P61q3GjQ29tHOZ0ct2Xgqf8BilUnFaMTZQEdyhJI+pJ7fSsxm+dwwz9K05PNjP7wmTtkdMVQaF2LELgA/lVU2+o0LBIUjDY2gdxX1h8HiD8K9FI6Hzz/5Hkr5KVG38k4HJFfWfwax/wAKn0THT9//AOj5K0S1Gju6KKKsoK8H+Ilok3jrUmIBJ8r/ANFJXvFeI/EOYL4zvlEYyPLy3c/u1oA4ptBtZRkxjPtTB4etcY2YrXifzRkjBHelndI7G5uHYK0KghM8uSQAB+efwpFRTlJJHmVwVYhZWYPENmAPQ042kpvUt7eCXzmUfI2GJyM9vat+wkthrPktpUMhmm3GSZshF6ng11SJpg1iD7agEaRN5rIvzEhfX6mko9z1JJRuuTU861WxFrKCpYAgDazAnOOenFO0+0tbqItc3Mq7Gx5aJn5cdck4HNM1BZ5dQmSVmdo3MfToFOKSPTriQfLC9El72mwRr0IRSe/kNima3kmhidhG5KjgEn0/yK7PS7oI4tZI2DbA4cvv3dj24+lc3b6RJ0kV0AI+bHT8a6nS9IYz+bLM8rYALMc4HpRFWOLE141NIqyNeNfMYDIC9zU80qxr5cRGe+DTpGit0EcIG7+VQxQiRtzDgfrVHIOgj48xh780ksjSvjsOlEsuflXp396lhQRw+YcFj/KgBjDyBjqahWMM2SOKczGSTP8AkU8/IoA60ARuB0HShY1Yc05Fy3PenPheBQBEUDHpUhQIOOtIg5zTicmgAUjOKcTmm44zQpyaAJVGKTqaceF96ZznA60APb0HSnxfez2FR1PB0zQAr/eqxGMRA496rHJbPcmrzYSD3xigCsn3ufWpnI8oYPeoV6+9OckIoOPwoAkhxkn2pspBlNNjdgT8hP402Rz5h+X9aANBBm1H+7VOE4mX3qeGb9wq7e3ciqO6QOu1Rwc8mgCS+GJAw70ls3ykU28aUrkrHx/dbNQQSyKchB+JoAWUYc1Ax+Ur3xUk7yl8+WAPZqhLE9VI7UAyzZyjcPRhilugA+R3qlbuULK2eDxxV6Z4pEyG5xnoaYkzKu7hI7d1k+4cAnnI5B496rpfXXmQobq6ks8kpFIysF465xk/nUt9Es0TJnqMVVEupTpFBctujiJKnPX8O1BcZJJ3VzZEiuox1pBjuBVeIMAKmyRQQIyR9QCB7VWub6CEJbpArTKGYysA2QeNoyOO9XQwZNpxWNrMf2R7WdUZmmBHTgbWH9DSN6ElGomzTsdRY2TK0KHzRskAA4OTyMdOPzrlfF2nR3V6YLW682GNA4DNnyycYBz7CrNrrFusitbyQAkqNvmAg56g/SsoR5mu53ff5uXYbhwQcDr/APrxW88RSlT5eptHBVqdWThK8X5lqfU2EDYUpHGACPwqTQozPrywyOGidWkI67sdB/8Aq9Kp6fbi5S4V1wRwc49eOn0FT2tnPbXCywTMk8efLzyORgisY6PmOefWKL95FuuhLLKbZVYkKOFYDtWZdW43pcvl45QQGQZGR2zVdRPI7edNkISMtzz34/rUTS4HlBCpXg45z71yYmNR6y2ewTpShBSa0ZVnXAdwQGwOBTobaeS0a6RQUi4OB096ifiQKTuU9/SrCXCCJljYiMgAjd19qxd1FJGBTnkWQncuHzgc5qCO38mZfMbfG4z8rVLNAscqyw5BzyM9hVOZZGIwByxIwK3hsMsO6IWG9vJbgKGzx/8ArqBrlgBGuSAMAY5NTx2RnhKKH+0bSdmOuP8A61XbbQpPO3wSq3lkZDHaV44Oe3/1qOaEdGBlWksn2kJtYs524A5rUkm82IbCF+nU+uahnhWMPdvcGS4LEArJ0OeTkde9VYnSORQ7FUxyMZzSajJ3XQdiK4dd6sN+AeRnimeY77gx2gmrcrRmBQHXarZAPFUjE7k4xkDOM1qgGSbkOUY4z1r60+DWP+FUaLjp+/8A/R8lfKCSZTZ5YAB5PcfSvrD4NkH4U6IRnH7/AK/9d5KtFI7qiiiqGFeAfFK6ktPHc771SEvGJC3p5S9K9/rwb4mPb/8ACY6lHcDg+Uyvn7pES0Wb2Gmr6nNtcBIBcKd6MAQV7g1SvZxdTRBOQoycfr/T86ZJOxt5IERCUiPyo+T0GMf4+oqo2qWqwlZPvNyyhSWGe3HtTtrqejl0Y+0527W7kkzqIJVWWMtIjR5DZIyMHp7GmXU9zb6BPPI+6RVSGNyc5wck/oKgiuI3ZVttOnfPRvL4/M1W1WaZgLSaIxK6PgZzk44+nIps769alaUuZOXSx0kECXI+0tGgeQlm2jvmrCQYPAFUPD1yZ9JjLdV4/QVrBh1qUeBUVpNCxwrwG6d+KuCaG3gWO3QhgMewqoXOMKMn+VJl8cBR9eaCCZCN3z5Pc1O9wDHtRdtUVVwRl8/QYqVUXqcn60xEiHnJGac0ueP0qLy1A6DFBRcj5QSKAHCeNDjIJ9uaDMzkkRsfrxSjAFOA4oAFeTHKqB7GjOTSbu1NkcRQyStnCKWOOvFICXOOKK57w9dQXl1e3Ecj+ZIQzI38I5rfzQOUXF2Y4sTSpwc5puT+NKKCSQtxSLnrnk03r1p4PFADxT1JHeoxTs0DJl5p3NMBxgVNHG0gyBxQAMV2KB1xzSIjSOFRSxPAAGSakmjOc4AGKNPvbyx1eya2t4nhnnS3eVmw8e48lfw/KmhMtJomqOflsZ/xXFD6HqcfLWMwHsua9DPh3T541NwbqUkZO+5c/wBab/wi2lrzELqJvWO5kX+tOxPMeaywywriWJ4yem9SKgB5rV8W6ld2WtLoNtbSX6GHzvMmmAaL5iM7j2wDxg1mpbSNyCAD0z1pMpO4y5cySF2XBNVfMVOWYKPc1evI22b3KgRpyevAri21axvbtrKW1t7iWSbCyzM22NOAMBSD6nPvQM6U3VuRjzo8/wC+KYzKwyrAj2NZyaK0Uoxa6GVXA5Eh9u9MutHbc5isbMDkhrO4MR59mOKLCujSRgJzk/eAqyPmWsBNSjjuFguG8mVSBiUgHP8AnmuihiDqT5iihgiCQAjGKg8pQ2QP1q/JAFH3wfeqxUZ5NAyMHBpTxmlKjOM8UrIu371AiBnCjmrKWkWt6QsfmmOSCRh8p5IPX8wT+IqtJGp6t1rAvp7nTLhp4J9sJH7wZxnkUjSna49fAEiXCJ5Zjj3cyLIrED1IzTr3wl/Z7LKl6sqRyRsfkPzdeAc1bl1mW3iiYkM0q7lSJyx7HtmsjWPELT2ctqz+Zll3gdk79gc9KV01Y09k1qmaAWMs0yFTu+9j24q6lrFPGpdthPQ1m6eFS3VVwUxxU41SJLeRJVybaTAAHUH/ADirtaNjDWUiHU9FWCOS4t5z5jEkqwHfristGtiginQLJu5kRcE8d63JdXgdAJLG9Uj1tzXO3bQz3DvAJFCjI3jB64x+ZrmxUZVIJX2KqVJ1ElJ7GbewQ2b7vOWVCrYIBBU9s5x/Wq0N5hHzGpkZtwkHYkenTHNF7GQDvIDHP51WjljgIV1BzxkHge9TD4TOw0ySAt84G5gpY9KaPM+0KASWwOnPWld4pVCxqdxOB2BNEcTeYgYhAwzuBrRJWKsWoZpTOJlOCjAcmtJb8tDMpdomZgCABtYDsfzrOlh8s7g275Rwpz+dLCoaPc6bmT5lQr8p/H8qxcVITGXRYTbWlBVhnAGPwpoa186FXXy0ON7jr3/+t+VOs7ZdRv0t5JTGZOAxHG7HTrXR6r4Zs5lLafcxLKFwYWcY3cDHtnBrWMbIDkDCTA8plQ/OBtHX649KImWQkSSHjofWnDYtsy5bfuwR2Ax+v/1qZ5EpUMqMMjrVjHyDcD8+0NgjjA49q+rPg0CPhPogPX9//wCj5K+VoLYTBA8p78HqK+rPhBH5Xwt0ZPTz+v8A13koi1ew0dxRRRVjCvnL4yXUlr4n1aaFBvRoAWZAR/q045r6Nr54+LVoL/xfq1u8jIjeScjtiNaL2A8t0LVppNR8qdi/mgjOenBOK7HwXoayx3jSSo2yQJiQ4xx19a5az0OC2WG7EkssiMCFC4HXmtGTVJ9IvzcxhQskRCo2SCR3wD1pSvujSmnO8U9T0Y2NnbqTNdJGqjjjH6muS8YpZDVLB4CX+Ut8w+8MjGP1/Suetr+5u9JW0laIpcT7TOxzIgyMj3BJFUFvbu7khWV3laP5FZmJwvTAqfeNaNFRnectjoNHZorfyxgRgnYB6ZrZjkJIArMs4SkajGWrThTbgd+9Wc83eTZZQ46fnTucU1QaeBkUyBFOTk1MCOtRYAqQUCHHmkAxzUF1dxWkJllLYBwAqkkn2AqW1njubZLmM5jddykjFAyYjHHems2Fo3ZGfWmE5pCFHWknUNE6E9VI4oBxSb+CxoGmcb4UmS01GWzkgIuCWG8nBx/dwfpXbZ44riL6VJPFNvewZEAnjjeUcAt35+ldiZN6blb5fUd6bVipy5ncsDliT0p1NXhAO55NL2pEjgacvrUQPOM8+lSqOOaAHd6eKYOlLnigRKvJzUquyqAGIGagU47VqanF5U8EW1QVt4920Ac7cn+dD0GjPllYj7x/OtDSVhZ9NlmkCRR3MtxIzdAEQYP5msmVuDW4li7+CftMEcjyEMhCrnhpVLH8kFUiZHoSeJNEcfLqlp+MoH86cviHRmQN/aloARnmZf8AGvGAqZwG+b071Gdqg7iAQOBVWRB1HiaSC48YG9trhJIJNNlG9DuBKlieR6bhXNRXLNzk/nWxZWZk8NzXsgZBClzGuV6hlQ5H4g/nXMwPhaTRUTTvZytrC+f4TmuGvMEpcouCZ3z/AOOkfzrq71ybCPHYmuRu5MzNCGw3nq232ZQD/wCg0kU9jdbUGJ6mgagQepqltAUZpNozjOK3MRCtvJqsk86KwZVzuHQdP5108Eo2+1cfOwguVZjlWRlOfUcj+VbFlcyHBzlMVjJamkTpVO+Fl7ryKrt1otZPmXPQ8USLhyD24qEWMPI4oU0lN4HHNMQrjNYmvlYtPMhjRiGGC/3VOeprZZuKx9ZVZLR43G9D1XOOM0Ac/pviG60aFhDFFJJIxLPJk8ZPA54H5VJFqf8AbOqNJd2yCZ1KmRMgnHrUZsbO0vG8+7uYoZFDRSRJu3r15p0MFtCWutOnnudpAcvHt25P/wBahrWxaXu83Q29OjNuWg6hOVJ/unpVJrWWTVIYDhfPnXDHOOTjmp7o/a7QSwthgMrtPUelW7aRLm60+Uq+5pkb5RkBgRnNRdha6uV9U16Kz1G8s3tplaORo35BwQT0yOhrnHBmuJZgCu9y2Pqa7fxVosetW76pCdt5ari4VVyZYhwHx6jofbBrz/7TNbTyIFLoGOG29qU9VYyrOpOCSJ7mL92XfG0ggZOMnFT6zoZ0oW0cxMrvErrgYCk9VrR0vF0IYHXaHdWTI65PIrR8aT7dTSFU3AjselRypRKimkrnESWksSyhLcsAclgPuj/IqtNG+0NuJ47dvauglv8AyQRJbs0bcHgjIxgj86wJJcyAAbR2z/KhNNFOwsDPs2eYVJxge1T+fJHFtU55496jctPO0shUNxkqOKSNgbhUJ/dngnHApNCJJU8yJ3Vl+TjGDluetMheFHPznkdQevtV0svlPjLnICkDrWWWQE/ugCTwR2ojJsCaRfOeSVAF2jcQD7gf1pircMVUBgC3BI4P0/OrUMUTaW3LedLKiBFXomSSc+ucV0thYfbpo5ntl8uHK4d/kyMAAYzlVA69zWiimgOekiaK13sUGQRu6kEdiByOvevpz4NMX+FGiMxyf3+f+/8AJXz1fX9uupPjaqJE0Y8lQVVvbOfz+lfRfwlk834ZaRJgDcZzgHP/AC3koiknoCZ2tFFFWUFeF/EW3EvjfUDsB/1WT6/ulr3SvE/HrAeNtQGRn93x/wBs1ppXZMnZHEPasTzgAVg6hZm5vhGg+WIZb6np+ldXdSrFAzN0AyfpVG1tTHbNJIMSzEs3tn/AU5iizlGtLiPZHEjECTcMDoTjn9BWnYaSyEO4561trAN2ccmp1j21JRHHCEGB1qeMeuM0AZ+lPAA6UAKMdO9KCegoxxTl4FMQnP1p2e1NJ96cCBgnn2oA0LaxgurJonbFxKDsI5KAd8e+amvre0i09I4VSN7bbHjpvGP6YrCXXo9ONxtKTXaqcKAQRxn6dB1zUUfiGy1O0tS0mb6XLsm3AQcjGe/amkrBfoXC3FN3ZOKiEgboakB+tSA4noBVTUYftVlJb7nQvjBQ4PUZH0IyKtqO9Nxkk4oEUhYxCFIREgjT7qlQcVejUBcHmm44qRBxQMlz3pe2KaOlOHXmgAUAHgdetSA8VGPvU/PFADgad3pi9af0oEWbSLzryCEf8tJFT8zip9U1eCXXLpDkEg7Px5FLooxqPnY/1ETyj6hTj9SKy9QhR1mkXhhIMP3wDn+QpSa2ZcFd2EkcEV2Hhzxlp+ly2+hXCmO5kjR7ctwsoYcgHsdwPX1riXb5DXUaHeaRqGm29pf2iTyQj5WZOUI44bsePWqROl3dHdyahZyczWKO3uFY/rUa3enKd6aYgb2RAay5jp90oEu449aSI6fbhtjMN3oP5VpaNr9TC7uZXinxjpl27aJAwa8KsJY158pQuTuI4BzgY9686hb5RzXS69JoGk2tzHp1vHHdy5Msmd0jZ4GT7k1zEGdhYkDAyazbNrLoWrnJ036PXHfK+tSea20IOM98KMfzrspQW06UDswNcFquXvSFdFOSDvOBwBxQmVFJu0nZHQglsYGadK28DEKofVc1zFmLRbyEXE8tvCTib5dxX3HHNat//Ysthm11uRZ4o2CJ5ZXec5G5v610QXMrmM7RlZaiaqpWyZ8/dIP64NbOnS5hH+zXATSbXQi4MxPU5PH512umENFtHfkVjJ3NXBRSs7nRwPletW5juCuP4hzWdCfl61fT57U+qHNQBFnrTGJ3A9qceDTG+7TEBOQaz7yMyRsMZ4rVhtLi7gne1heeSFQ3lJyzc44rKuNP19/EFraR2z28MsDy4bbuYDhhj8R+dOwilHcWVotil9G9woDPhRyASRtPtx+lX5b3SzafZvICQ7cxhQoK56EVhato7vceahdX+6RnFZv9i3JblnP/AAI1anHeS1RLjK1ovQ24JICCtuHyPvFhhSfb0FOgEsNzmOUpIG3qnZx3H1qxZWRNkPlAePg+49amlt/MhDIv72M5U1lJqUrmkbpWN+yupNsN/ACmSd0TDOD0Kn1BH6GsnW9CSxuTc2sQe1uMvHublD3Q8dv5Yq1pF2jjaTiGQYYd1P8A9atjclxFPYyttimHySHkRuB8r/T19qLCuzltDf8A4n1rEI4w+1i6EBsDH6EVW19odQ1WW2ikxIsgQhicA461Y8M2dxpmuXUF/HsuIlYOxPVs44PpzmrFzqej6bZXEr2Aea6YmS4Z8FuMALz29qTjpYd7s4e+tbmxkEdxbmNyN3XIx+FV4Vt7h0hlYIc4DkD5SccnpxSavf3t86iSGXyowRGTHzj1JxzVaKyE3WZCD/Fk1EaVthqMepoJpwn81V2sYMFtpyG+h7097AwCC5ONhkxJGOGTBxn6U2zt44wI5J1ZX4K4GMdc59R1rR1bSNLhtEa0vQ104B2Rn5WHf6U/Z2NIqn3MGW2mS4mWQMWLZwevr/KtJrOxi0yS7UN5jKDFlshT6Yp9ja3EFsJ03F+c7kyMemevas6dWQDcCu92bbnIxnjH60ctiGtSOR8qi7dqMeueCf8AJq1BLcR2a/6S8cRcrlJASFI5G306Hr3rR06yjv5rYzMqQQDKKwHztnOD7cVfvb3SEshDHaxSqHG9B8u3nrnvyaSsiXoctO0cHyx73UjPK4zX1D8Gzu+FOinGP9fx/wBt5K+XtR3TXbOsm4btu7+n4V9R/B1Snwq0VT1Hn/8Ao+SnFaglqdzRRRVlBXhHj5H/AOFg6q5Py/ucf9+kr3evCPiTOLbxlqTnBz5QC9yfKTAqo7ikctcN5tzHbg5A+dz7DoKsEs7bVBb0A5qKztZApeQbriY5IH8q0mZbJDFHgyt99x29hUt3YLQqY28Y5pDSk0gzjjrQIeBgAU5Rmoim5ged3YipVBUfe5pgOPBxQSAPakOc9ajO9jweKAFHJyaHf5cZpOR1qCVjikBW1jUobKJ7iF1EpXD27AFZGHAIwPQ965mwEsmpS3GAgkJfYOi5OcCprto5b6VnOWDkevGBj+tX7IwoBhXPuENFwNa3B2jIzVxc8YqrFNGFGAw/CpxcRAc7gT3INAE4PNKcdKh+0Jj5MsfYUgllbOISv+8aBE3FSDpxiqyicn70Y/DNP8uUnJmIHsooGTnNOHAqt5Umcids+4FPAmAA3ofqKAJ14p1QAzZ/gPtzSiVl+/Gw/wB3mgROppd3NQrcRngtg+/FODrj7woGbWl5i06+uOmdkQJ78lz+ifrWLpenavq+vSWoWP8As/yXbey8A4459cmtS7n/ALP8Ipcs7bWMkgXPHYDj3w1XvBN/L/wiNs5QCS6kd9x5JAYgZ/AUWuaxVoOfyOZeIxKYifmQ7SCckEetYt3p13JKWtLmaFicny3K/jxWndlrTxZqdm3KySeajeuRkj8M/pWpawAQtIw5PSmyZpJ6M4h73xLbOyJq15gHAzIW/nUbar4okO06tdc+jYrrrqxBYsnUnODWa1gzXUUgfaUzlD0IoRFjKtLbULmRXvbuafacgSOW5r0Kw8EQXlirXV28Uh6xiPp+vPUVzw2xRl/7ozkda2LfV7mPwre6vYss0zQvJtB6PnnI7HqfemknowTad0JqlnYwWTx2kpkYDLHII4JHb6V5vrdhvcyKoOeSCK7rT72TUtEhnu8i8eA+Yp9ATg/jyfxrHuIFdelJqwXfU8/8mSPgREf7rkU1lkPBWb/v5XZ/2dGx5WnLpSGVPk4JouBxkFh5koDIw57tXXWOY51XoCuKtPpipLlY/lHIOabIhjaMtjgnBFCdxM1Yjgdea0LQgOVzw4xWF9rkUqRESD3q7DdPhZBG3qOaGCLpBBZSOhqNsYpbiZmfesL4YZ5qo0s5z+7UfU0AyzaTyRanZLFO8LSXCR7l7gnkH2xXXX90bZTIspDKpG7qcdx7V5vdl3dFn+WLcCxR8EfQ9jTTqV1cXk/mai9zDFj7OGXlgT/ERxu+tWnZAot6o1bk/aZJJW6scmqMZZVdpgBtapre4kL7TGuH4OWrM1ZJ4Z9rZAI4IPBqGNG5ayICsikFGHPuKfcRmCQgfdPI+lchDdXFs37uRlHpnium0y+/tOxeKTH2iHn/AHlqWhldHNrdk/wzHj2b/wCvXQW063EJBP7yMdM/w/8A1v5VjSwrPbtERh15VsdPQ1HZXDrKjsuLiM856Z/+v0ppiZ0mpFptGmu0i33MEWGdT8zIvt3xn8q8jNuLnci4j53ENn5j/nvXrcdwLa0hltSFzJuCkZ2+qn/PSuK8U6PBY3cd3aD/AEG8y0W3kRt3T8O3tT3EiHTLK91eYWdhFK87LghRkD3J7D613ug+F7XSPCcuna/Hb3MErNKcRkGP8evYciqfhTxno+h6abSR4YWLEpxtYj0Y9znNWdS8Uz6tFJHYskSSArvZeSORkYNDdhNnmuvrBoepS22nzW1xbSoCkkYG4Kexx3qla3ds+IpDIXz+7KAZ56jn36e/1rrdG8JWkGpmW/hiktNhCRJk5J/vZPb61VuvBFql3Mymdo2ctGwcDaMnjGPpzmpcrK5cfedi74a15LGK/wBRSe4kJiMaWoBCbsYyRyB24/Guf+yRyTJI8BAXAYZ4Jx/+uta6tJI1lkY4VMSFMY56ZFZ6aHqOtWRazdIlV85eTbkgY49etDlFpNGs4RglZ3ZYTYo8tfk/3RiqS6QztsSVHbGVMnc1s6jp/wDZdyts1wkxKBsjrj3qsoUD5cAUpRUkZ2EtvDdvPao1z5qTchwrdDzX0L8L7M2Hw60u2L79hmw3qDM5/rXh1lfHcFc/OOh7OPQ+9e++AnWTwXp7qCAfM4Pb941EUhWszo6KKKoYVn3Wg6Pe3JubvSbG4nPWWW3R26Y6kZ6CtCigDPXQdGRtyaTYKfUWyD+lNPh3QyedG0//AMBU/wAK0qKAMz/hHND/AOgNp3/gKn+FH/CO6H/0BtO/8BU/wrTooAzP+Ed0Mf8AMG07/wABU/wpf+Ed0T/oD6f/AOAqf4VpUUAZv/CO6J/0B9P/APAVP8KP+Ed0P/oDaf8A+Aqf4VpUUAZv/CO6H/0BtP8A/AVP8Ka3hnQWGG0TTSPe0j/wrUooAyB4V8OqcjQNLB9RZx/4U8eGtBHTRNNH/bqn+FalFAGZ/wAI5of/AEBtO/8AAVP8KX/hHdEP/MG0/wD8BU/wrSooAzf+Ed0T/oD6f/4DJ/hR/wAI7on/AEB9P/8AAVP8K0qKAM3/AIR3RP8AoD6f/wCAyf4Uf8I9ov8A0B9P/wDAZP8ACtKigDN/4R7Rf+gPp/8A4DJ/hS/8I/ov/QIsP/AZP8K0aKAM7/hH9F/6BFh/4DJ/hR/YGjf9Aiw/8Bk/wrRooAzj4f0U9dIsD/27J/hSDw7oY6aNp4/7dU/wrSooAz5tB0e4gWCbSbGSFRgRvboVA9MEU6HRtLt4kig02zijQYREgVQo9AAOKvUUBfoZr+HdEkl819G09pP75tUJ/PFPGh6SBgaXZY9Ps6f4VfooAzzoWjnrpVif+3dP8KafD2ik5Oj6fn1+zJ/hWlRQBnDw/ooORpFgCP8Ap2T/AAog0DRrVZVt9IsIlm4kEdsi7/rgc/jWjRQBn/2Do2FH9k2GFXYB9mThfTp0pn/CN6F/0BdO/wDAVP8ACtOigDL/AOEa0H/oCab/AOAqf4Uo8OaGOmjacP8At1T/AArTooAzf+Ee0Q9dH0//AMBk/wAKYfDOgN10PTT9bSP/AArVooAyx4b0IDA0XTgB6Wqf4U7/AIR7RP8AoD6f/wCAyf4VpUUAZ39gaMQAdIsMDp/oyf4Un/CO6J/0BtP/APAVP8K0qKAMl/C/h+UYk0LTHHo1pGf6U1PCXhuPOzw9pK5xnFlGP6VsUUAZY8NaCpyuiaaD7Wqf4USeGtBmAEuiaa4HTdaIcfpWpRQBj/8ACJeG/wDoXtJ/8Ao/8KdF4X8PQvvi0LTI2xjKWkYOPyrWooAzP+Ec0POf7G07/wABU/wpP+Ea0Hdu/sTTdx7/AGSPP8q1KKAM3/hHtE/6A+n/APgMn+FEnh3RJYfJk0bT3i3btjWqFc+uMda0qKAMRvBnhZ23N4a0csO5sYif/QamTwzoEYATQ9NUDoFtIxj9K1aKAM4aBow6aRYD/t2T/ClOg6Oeuk2B/wC3ZP8ACtCigLGW/hvQpARJounMCMHdaof6UR+GtCiQJHommoo6KtqgA/StSigDMPhzQ2OTo2nH62qf4Uz/AIRbw9/0AdL/APAOP/CtaigDJHhbw8Omg6X/AOAcf+FaNvbwWkCwW0McMK52xxqFUc54A96looAKKKKAP//Z",
"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 Turbulence Aperture perturbation: examples and guidance\n",
"\n",
"The Turbulence Aperture perturbation is set by the following parameters:\n",
"\n",
"- `mtf_wavelengths`: a sequence of wavelengths (m)\n",
"- `mtf_weights`: a sequence of weights for each wavelength contribution (arb)\n",
"- `altitude`: height of the aircraft above the ground (m)\n",
"- `slant_range`: line-of-sight range between the aircraft and target (target is assumed to be on the ground) (m)\n",
"- `D`: effective aperture diameter (m)\n",
"- `ha_wind_speed`: the high altitude windspeed (m/s); used to calculate the turbulence profile\n",
"- `cn2_at_1m`: the refractive index structure parameter \"near the ground\" (e.g. at h = 1 m); used to calculate the turbulence profile\n",
"- `int_time`: dwell (i.e. integration) time (seconds)\n",
"- `n_tdi`: the number of time-delay integration stages (relevant only when TDI cameras are used. For CMOS cameras, the value can be assumed to be 1.0)\n",
"- `aircraft_speed`: apparent atmospheric velocity (m/s); this can just be the windspeed at the sensor position if the sensor is stationary\n",
"\n",
"For the purpose of this example notebook, we will only change the `cn2_at_1m` value. All other parameters will use the values from the original image.\n",
"\n",
"Changing the value of `cn2_at_1m` will have the following affects: \n",
"- `cn2_at_1m == 1.7e-14` (the original value): returns the original image unchanged.\n",
"- `cn2_at_1m > 1.7e-14`: returns an image more turbulent than the original image. There is no upper bound, but values greater than ~1e-7 (for this image) can be less turbulent or blank.\n",
"\n",
"Please note for this example image, `cn2_at_1m < 1.7e-14` will produce the original image and should not be used.\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 4,
"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, cn2_at_1m in enumerate((1.7e-14, 9.35e-14, 1.7e-13, 9.35e-13, 1.7e-12, 9.35e-12, 1.7e-11, 9.35e-11)):\n",
" (row, col) = (int(idx / 4), idx % 4)\n",
" perturber = TurbulenceApertureOTFPerturber(cn2_at_1m=cn2_at_1m)\n",
" ax[row, col].set_title(f\"cn2_at_1m: {cn2_at_1m}m\")\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 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, 394.3/914.7 GB disk)\n",
"Downloading model...\n",
"Computing baseline...\n",
"\n",
"0: 384x640 5 persons, 15 cars, 1 motorcycle, 2 trucks, 61.6ms\n",
"Speed: 7.8ms preprocess, 61.6ms inference, 260.9ms 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",
" # 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 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",
"perturber = TurbulenceApertureOTFPerturber(cn2_at_1m=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": 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 cn2_at_1m value of 1.7e-14, 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, 1.32it/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 >= 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": 12,
"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 = 1.7e-12\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(TurbulenceApertureOTFPerturber(cn2_at_1m=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": 13,
"id": "a4951dfc-c2cc-434a-8fd2-1786ba3acf96",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 1/1 [00:00<00:00, 1.34it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.38it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.37it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.36it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Perturbation #3: cn2_at_1m perturbation value 1.911e-13\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 0%| | 0/1 [00:00, ?it/s]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, 1.28it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.36it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.38it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.38it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.37it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.37it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Perturbation #9: cn2_at_1m perturbation value 5.3931e-13\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 0%| | 0/1 [00:00, ?it/s]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, 1.36it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.38it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.38it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.38it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.36it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.36it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.36it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.36it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.36it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.35it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.34it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.34it/s]\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Perturbation #21: cn2_at_1m perturbation value 1.2357e-12\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
" 0%| | 0/1 [00:00, ?it/s]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, 1.32it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.37it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.34it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.36it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.34it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.34it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.35it/s]\n",
"100%|██████████| 1/1 [00:00<00:00, 1.37it/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",
" cn2_at_1m = a.augment.get_config()[\"cn2_at_1m\"]\n",
" print(f\"Perturbation #{idx}: cn2_at_1m perturbation value {cn2_at_1m: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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KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5zxL/AMh7wj/2FX/9I7mujrnPEv8AyHvCP/YVf/0juaAOjooooAKKKKACiiigAooooAK5zxL/AMh7wj/2FX/9I7mujrnPEv8AyHvCP/YVf/0juaAOjooooAKKKKACiiigAooooAK5jxzE8ek2+rQLmfTLhLgY6lc4YfTB/SunqG7to72yntZRmOaNo2HsRg1dOXLJSIqR54OI+GVLiCOaNt0cih1PqCMin1wfh/xjp2i6PHpWsTyRXtkzQMPJdshSQDkD0wPwrU/4WH4a/wCf2T/wHk/wrSWHqJtKLZnHE02k3JJnUUVQ0nWbDW7U3Gn3AmjVtrcFSp9CDzV+sWmnZmyakroKKKKQwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5zxL/AMh7wj/2FX/9I7mujrnPEv8AyHvCP/YVf/0juaAOjooooAKwNS8b+GdIv5bHUNZtre6ixvicnK5AI7ehBrfrA1LxHe2F/LbQ+FtZvY0xi4tvI8t8gHjdKp4zjkDkUAaWlaxpuuWf2vS763vLfcV8yCQMAR1Bx0PtRrGpRaNot9qk6lorO3kuHUdSEUsQPyrG8N219LrOr61eaY2mLfLBHHayOjSHyw+ZH2EqCd4GMnhBmtnWNNi1nRb7S52KxXlvJbuw6gOpUkfnQBz2l69r0OsaVZ69Dp+zVoHkg+yK4MEiKGMb7id/yk/MNvKnjmjxX4nutF1azskvNL0u3mgklbUNUDGIupAES4ZBuIJPLdBwDUNroXiaW9sLzUpdLM2k2ksdkIWkKzzugUSS5UbBgfdXd9488Cp9T0TW5dbs9at4tKu7hbD7JPa3bukaMWDF42CseTwQRyAvPFAGx4a1O51nw5Y6jd2v2We4j3tFzjqcEZ5wRgjPOCK57VvEWiar4q8LWen6xYXd1FqkjSQwXCO6AWlwCSoORgkD8a3fCujS+H/Ddppk0ySyRb2YxqVRSzs+1Qeiru2j2Aqp4kUDXvCJAAP9qv2/6c7mgDpKKKKACiiigAooooAKKKKACiiigAooooA5HXbWbw/qh8S6dGXhYBdSt0/jT/noB/eH+e9dRa3UF7axXVtIJIZVDI47g1KyhlKsAQRgg96423Y+C9bFpIT/AGDfyfuHPS1lP8J9FPb/APWa3X72NvtL8UYP91K/2X+D/wCCdnRRRWBuFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXOeJf+Q94R/wCwq/8A6R3NdHXOeJf+Q94R/wCwq/8A6R3NAHR0UUUAFcd44iMl1pRvrfUbnQVMv22KwEjMXwvlF1j+dkHz5AzztzXY1gal4WGpX8t3/buuWvmY/c2t4Y41wAOFxx0z9SaAM3wPEY7rVTY2+o22gsYvsUV+JFYPhvNKLJ86ofkwDjndgV2NZWjaING8/Gp6nfebt/4/rjzdmM/d44znn6CtWgAooooAK5zxL/yHvCP/AGFX/wDSO5ro65zxL/yHvCP/AGFX/wDSO5oA6OiiigAooooAKKKKACiiigAooooAKKKKACqupadbatp81ldpvhlXBHcehHuOtWqKabTuhNJqzOTh8PeJ7aFIIfFuIowFQPYIxAHTJJyak/sXxZ/0Ny/+C6OuoorT20uy+5f5GXsI9397/wAzldvjTTuj6fq8Y9R5Ep/9lo/4TUWfGtaNqGneshj8yIf8CX/Cuqoo9pF/FH7tP+B+Aezkvhk/nr/wfxOa/wCFgeF/+goP+/Mn/wATR/wsDwv/ANBQf9+ZP/ia6LyYv+eSf98ik8iE/wDLJP8AvkUXpdn96/yC1buvuf8AmR2d9a6jbLc2c8c8LdHQ5H/66sVy974Sa2um1Dw5c/2beHl4gMwTezL2+o/KlsfFohul0/xBbf2ZenhXY/uZfdX6fgfzpunzK9PX8wVVxdqit+R09FU/7W03/oIWv/f5f8aUapp7MFW/tSScACZef1rLlfY05o9y3RRRSKCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5zxL/yHvCP/YVf/wBI7mujrnPEv/Ie8I/9hV//AEjuaAOjooooAK5Txbqer2NheJHA0Vs+wxX0D8xrld6yfKTHkBgJAGVcgttxk9XXmviWHTNJ8cpqWp61pVs8ssFxG0xc3kEcYAaOMA/6t9pyf9tuvGADofBsGqIt5PdST/2fOI2s4ri+F3IODvbzBn5WyuBk4wTxnFdTWJ4cOgXENxf+HrmCW2uH/eLbS5iWQZyQgOEY55wATwTW3QAUViWni7Qr7Vf7Mt78Pcl3jT904SRk+8qSEbHIwchSSMH0q3qutWmjLE12l4wkJC/ZrKa46evlo2OvfFAGhXOeJf8AkPeEf+wq/wD6R3NaWi65p/iCye702WSSFJWhYyQPEwdThgVdQeDx065rN8S/8h7wj/2FX/8ASO5oA6OiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqve2NpqNube8t454TyUkXI+tWKKabWqE0nozC/4Qzw5/0CLb8jWH4w8K6NZ+FL+5stOhhuIlVlkQHIwwz+ma7msnxPD5/hbVY8ZP2WQj6hSf6VtTrT51dvcxq0YckrRWxo20vn2sM3/PRFb8xmpazPDkvn+GdLk7taRZ+u0ZrTrKSs2jWLvFMKKKKkoKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuc8S/8AIe8I/wDYVf8A9I7mujrnPEv/ACHvCP8A2FX/APSO5oA6OiiigArkLyy1zQ9f1TV9LstN1C31Dy3lFzdG2khKIEwH2MCmFzjjBLdc119ef6l4d1jUPE91bXGmQXGgXeqw307vcj95GlskfltFjkeYgbrg46UAbXhWxu2vtT169OnpLqQiUQ2EpljVY9wBMhA3udxBOBwqjtXSsCVIBwccH0rndB0IaL4j1prOxjstKuEt2iih2qjTAOJGCD7uR5YPAyVro6APJdHuoLjw/wCDPDUGf7c02/ha8ttp32/lB/Nd/QNyAT97eMZzXcax4qtbfwVc6/pri6VoytoApHmys2xFwcHlyBXRUUAZPhnRh4f8N2Gl7/MeCIebJ/z0kPzO34sWP41z2q6XeWfivwtPPruoX0b6pKFt7hIAiZtLg5BSNW46ck9fxrt65zxL/wAh7wj/ANhV/wD0juaAOjooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA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P+Jb8R7SXpFqdo0J95I/mB/LArqq5bx0rQaZZ6tGDv027jnOOpTOGH6iuoVldA6kFWGQR3FFTWMZfL7v+AFPSco/P7/+DcWiiisjYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArnPEv/Ie8I/9hV//AEjua6Ouc8S/8h7wj/2FX/8ASO5oA6OiiigAooooAKRgSpAODjg+lLRQB5Lo91BceH/BnhqDP9uabfwteW2077fyg/mu/oG5AJ+9vGM5rqdak1DxLBpF5oMNlqWj72nminuXt/OdCPLB/dtlQwJIIGSq9sg9jRQBxvwtku5PAdn9rt4ocSSiPy5jJuXzG5OVGDnIxzwAc84EWqwa7H4r8LPqOo6fcWh1SXy47eyeJ1P2S4xljKwPGR90fh0rt65zxL/yHvCP/YVf/wBI7mgDo6KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5bU/3PxD0KT/nvbzxf98jdXU1yXi+dLHWfDuoSnEcNxIrH0DJz/KtqGsrd0/yMa+kL9mvzH6X/AMTHx9q98eY7GFLOM+5+ZvyPH411Vcz4FgdfDgvZhifUJ5LqT6seP0A/OumpVvjt20+4KHwc3fX7ynq1iNS0e8sjj9/CyDPYkcH86zfBt8b/AMJ2DvnzI08lweoKHbz+QP41vVyvhj/QPEPiDSDwouBdxD/ZkGTj2BwKI605Ltr+gS92pF99P1/zOqooorI2CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK5zxL/wAh7wj/ANhV/wD0jua6Ouc8S/8AIe8I/wDYVf8A9I7mgDo6KKKACiiigAooooAKKKKACuc8S/8AIe8I/wDYVf8A9I7mujrnPEv/ACHvCP8A2FX/APSO5oA6OiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuP+I+m3Gp+H7aK1heWUXaYCKTwQy/lkiuwoq6c3CSkuhFSCqQcH1ILO2SysoLWP7kMaxr9AMVPRRUN31LStoFcf4gu4fD/jLTdZuHMdpcW8lrcSBSQuPmXIHv8AyrsKQqGGCAR6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cletAG5RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHFWxtrP4nasLOOBW/sO3KxR4Xe/nXBxx3Nc94Rn8SaiNC1pr6AfapA16ZdaeQShgd8a2xjCxsp6BTkbcEnmu/j8KeHIdQGoRaBpSXokMouFs4xJvznduxnOe9TpoGjR6m2pR6TYLfscm6W2QSk/wC/jP60AZ09/wCLVuJVg8PaVJCHIjd9XdGZc8Er9nODjtk/U1T8aqbj4aa3NqlpaxXi6XdEIJPNEb+U33HKqT9cCutqlqWj6ZrMKQ6pp1nfRI29UuoFlVW6ZAYHB5oAy7vVNI03wxZX+pCKZIljECBBI7zFcKsY7uckDHqe2ab4O0u40+yv7q6jiguNSvGvHtYSClvuVVCZHBOFBYjqxNXG8K+HW05dObQNLNiknmrbGzj8tXxjcFxjOO9WtN0fTNGheHS9Os7GJ23slrAsSs3TJCgZPFAF2iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//2Q==",
"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(\"cn2_at_1m value\")\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",
"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 decrease as perturbation begins to increase but begins to smooth out as the perturbation reaches 1.6 where it is approximately 0. (Note the relative mAP is guaranteed to be 1.0 when the perturbation is 1.7e-14, 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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",
"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(\"cn2_at_1m value\")\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 person and car classes are much more robust to turbulence perturbations than the truck and motorcycle classes. Examination of the unperturbed and the references images suggest a few possibilities:\n",
"\n",
" - One of the truck objects gets detected as a car object in more turbulent images. While trucks and cars have obvious differences, as the image becomes more turbulent, the line between car and truck becomes blurred and results in the false detections favored towards cars. \n",
" - The weakness of the motorcycle class can be attributed to the smaller size of the object. While the person class is also relatively small, most person objects are in the foreground of the image that result in a large enough size to be more robust than the motorcycle class. \n",
"\n",
"Any conclusions about classification accuracy should be considered in light of these caveats. In particular, the foreground positioning of the detected person 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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M/tG4x97dt2eZt255242+1W5PDeky2N7ZPaZt724+03CeY/zyZVt2c5HKrwMDigDL0a71S08Y32h6hqTahELGK9ileFI2jLO6MnyAAr8oIzyOck1FrviaXwxr1zJfy79Ll0yS5tk2gFZoTl0BAyS6uhAOfunFdINNtF1Z9UEX+mvAtu0m48xhiwGM46sTnGear6x4f0vX0tU1S0W4W0uFuYQWZdsi5weCMjk8Hg9xQByV7qWuw2mk6Y2o6rJrxsRc3cem2ds2CTjLGXChQ2VABBOKq6XrVxr+o+BdXmVVubjTb53CDjeBECQOeMjOOa7LVfDGka1dxXV9as88aGIOkzxlkJyUbYw3Ln+Fsj2pbLw1pGnf2cLSzEQ02OSK0AkY+WsmN45POcDrnHagDmNO8S6nP4d8AXMl4GuNWmjW8bYn70G2kduMYHzKp4x6VnaT4k8XaxJbaraWWpSW016Ua3MVqLVbcSlG+ff529VBOSMFhjaBXW2vgfw7Z31veW+nlJraYzW/wC/kKwsQwOxS21QdxyoAHQ44GJR4P0NdTOoJaSRzGYXBWO5lSJpc53mINsLZ5yV60AblFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAcVbG2s/idqws44Fb+w7crFHhd7+dcHHHc1z3hGfxJqI0LWmvoB9qkDXpl1p5BKGB3xrbGMLGynoFORtwSea7+Pwp4ch1AahFoGlJeiQyi4WzjEm/Od27Gc571OmgaNHqbalHpNgt+xybpbZBKT/v4z+tAGdPf+LVuJVg8PaVJCHIjd9XdGZc8Er9nODjtk/U1T8aqbj4aa3NqlpaxXi6XdEIJPNEb+U33HKqT9cCutqlqWj6ZrMKQ6pp1nfRI29UuoFlVW6ZAYHB5oAy7vVNI03wxZX+pCKZIljECBBI7zFcKsY7uckDHqe2ab4O0u40+yv7q6jiguNSvGvHtYSClvuVVCZHBOFBYjqxNXG8K+HW05dObQNLNiknmrbGzj8tXxjcFxjOO9WtN0fTNGheHS9Os7GJ23slrAsSs3TJCgZPFAF2iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//Z",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.title(\"relative mAP values per area\")\n",
"plt.xlabel(\"cn2_at_1m value\")\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 more turbulent 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-Turbulence-Aperture-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.9.21"
}
},
"nbformat": 4,
"nbformat_minor": 5
}