{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "gCMycQ_2U8SA" }, "source": [ "
/usr/local/lib/python3.9/dist-packages/torch/functional.py:504: UserWarning: torch.meshgrid: in an upcoming \n", "release, it will be required to pass the indexing argument. (Triggered internally at \n", "../aten/src/ATen/native/TensorShape.cpp:3483.)\n", " return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n", "\n" ] }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": [], "text/html": [ "\n" ] }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": [ "\n" ], "text/html": [ "
\n", "\n" ] }, "metadata": {} } ], "source": [ "from mmdet.apis import DetInferencer\n", "\n", "# Choose to use a config\n", "model_name = 'rtmdet_tiny_8xb32-300e_coco'\n", "# Setup a checkpoint file to load\n", "checkpoint = './checkpoints/rtmdet_tiny_8xb32-300e_coco_20220902_112414-78e30dcc.pth'\n", "\n", "# Set the device to be used for evaluation\n", "device = 'cuda:0'\n", "\n", "# Initialize the DetInferencer\n", "inferencer = DetInferencer(model_name, checkpoint, device)\n", "\n", "# Use the detector to do inference\n", "img = './demo/demo.jpg'\n", "result = inferencer(img, out_dir='./output')" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "id": "m6a8T4goU8Sq", "outputId": "68005045-d741-4f53-b59b-16881337bebf" }, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "\u001b[1m{\u001b[0m\n", "\u001b[2;32mβ \u001b[0m\u001b[32m'predictions'\u001b[0m: \u001b[1m[\u001b[0m\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m{\u001b[0m\n", "\u001b[2;32mβ β β \u001b[0m\u001b[32m'bboxes'\u001b[0m: \u001b[1m[\u001b[0m\n", "\u001b[2;32mβ β β β \u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m221.37188720703125\u001b[0m, \u001b[1;36m176.12808227539062\u001b[0m, \u001b[1;36m456.25811767578125\u001b[0m, \u001b[1;36m383.2401428222656\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β β β \u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m295.3505859375\u001b[0m, \u001b[1;36m117.18350219726562\u001b[0m, \u001b[1;36m378.571533203125\u001b[0m, \u001b[1;36m150.27117919921875\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β β β \u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m190.57350158691406\u001b[0m, \u001b[1;36m109.70985412597656\u001b[0m, \u001b[1;36m299.52215576171875\u001b[0m, \u001b[1;36m155.0396270751953\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β β β \u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m431.36944580078125\u001b[0m, \u001b[1;36m104.98468780517578\u001b[0m, \u001b[1;36m484.879150390625\u001b[0m, \u001b[1;36m131.94033813476562\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β β β \u001b[0m\u001b[33m...\u001b[0m +\u001b[1;36m296\u001b[0m\n", "\u001b[2;32mβ β β \u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β β \u001b[0m\u001b[32m'labels'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1;36m13\u001b[0m, \u001b[1;36m2\u001b[0m, \u001b[1;36m2\u001b[0m, \u001b[1;36m2\u001b[0m, \u001b[33m...\u001b[0m +\u001b[1;36m296\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β β \u001b[0m\u001b[32m'scores'\u001b[0m: \u001b[1m[\u001b[0m\u001b[1;36m0.8703235387802124\u001b[0m, \u001b[1;36m0.7677358984947205\u001b[0m, \u001b[1;36m0.7427828311920166\u001b[0m, \u001b[1;36m0.6994596123695374\u001b[0m, \u001b[33m...\u001b[0m +\u001b[1;36m296\u001b[0m\u001b[1m]\u001b[0m\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m}\u001b[0m\n", "\u001b[2;32mβ \u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ \u001b[0m\u001b[32m'visualization'\u001b[0m: \u001b[1m[\u001b[0m\n", "\u001b[2;32mβ β \u001b[0m\u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1m[\u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m28\u001b[0m, \u001b[1;36m48\u001b[0m, \u001b[1;36m13\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m37\u001b[0m, \u001b[1;36m63\u001b[0m, \u001b[1;36m28\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m30\u001b[0m, \u001b[1;36m64\u001b[0m, \u001b[1;36m27\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[33m...\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m23\u001b[0m, \u001b[1;36m47\u001b[0m, \u001b[1;36m31\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m31\u001b[0m, \u001b[1;36m67\u001b[0m, \u001b[1;36m31\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m54\u001b[0m, \u001b[1;36m92\u001b[0m, \u001b[1;36m17\u001b[0m\u001b[1m]\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ \u001b[0m\n", "\u001b[2;32mβ \u001b[0m\u001b[1m[\u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m23\u001b[0m, \u001b[1;36m42\u001b[0m, \u001b[1;36m0\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m25\u001b[0m, \u001b[1;36m50\u001b[0m, \u001b[1;36m8\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m30\u001b[0m, \u001b[1;36m62\u001b[0m, \u001b[1;36m21\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[33m...\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m92\u001b[0m, \u001b[1;36m114\u001b[0m, \u001b[1;36m102\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m16\u001b[0m, \u001b[1;36m53\u001b[0m, \u001b[1;36m12\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m44\u001b[0m, \u001b[1;36m75\u001b[0m, \u001b[1;36m16\u001b[0m\u001b[1m]\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ \u001b[0m\n", "\u001b[2;32mβ \u001b[0m\u001b[1m[\u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m20\u001b[0m, \u001b[1;36m50\u001b[0m, \u001b[1;36m0\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m25\u001b[0m, \u001b[1;36m59\u001b[0m, \u001b[1;36m8\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m29\u001b[0m, \u001b[1;36m66\u001b[0m, \u001b[1;36m23\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[33m...\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m47\u001b[0m, \u001b[1;36m70\u001b[0m, \u001b[1;36m44\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m29\u001b[0m, \u001b[1;36m60\u001b[0m, \u001b[1;36m18\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m54\u001b[0m, \u001b[1;36m77\u001b[0m, \u001b[1;36m31\u001b[0m\u001b[1m]\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ \u001b[0m\n", "\u001b[2;32mβ \u001b[0m\u001b[33m...\u001b[0m,\n", "\u001b[2;32mβ \u001b[0m\n", "\u001b[2;32mβ \u001b[0m\u001b[1m[\u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m63\u001b[0m, \u001b[1;36m68\u001b[0m, \u001b[1;36m45\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m58\u001b[0m, \u001b[1;36m66\u001b[0m, \u001b[1;36m27\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m74\u001b[0m, \u001b[1;36m84\u001b[0m, \u001b[1;36m49\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[33m...\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m32\u001b[0m, \u001b[1;36m46\u001b[0m, \u001b[1;36m23\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m56\u001b[0m, \u001b[1;36m76\u001b[0m, \u001b[1;36m39\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m31\u001b[0m, \u001b[1;36m47\u001b[0m, \u001b[1;36m18\u001b[0m\u001b[1m]\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ \u001b[0m\n", "\u001b[2;32mβ \u001b[0m\u001b[1m[\u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m60\u001b[0m, \u001b[1;36m66\u001b[0m, \u001b[1;36m40\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m45\u001b[0m, \u001b[1;36m55\u001b[0m, \u001b[1;36m18\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m83\u001b[0m, \u001b[1;36m92\u001b[0m, \u001b[1;36m61\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[33m...\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m63\u001b[0m, \u001b[1;36m77\u001b[0m, \u001b[1;36m54\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m47\u001b[0m, \u001b[1;36m67\u001b[0m, \u001b[1;36m30\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m35\u001b[0m, \u001b[1;36m52\u001b[0m, \u001b[1;36m20\u001b[0m\u001b[1m]\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ \u001b[0m\n", "\u001b[2;32mβ \u001b[0m\u001b[1m[\u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m64\u001b[0m, \u001b[1;36m70\u001b[0m, \u001b[1;36m42\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m85\u001b[0m, \u001b[1;36m95\u001b[0m, \u001b[1;36m60\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m66\u001b[0m, \u001b[1;36m75\u001b[0m, \u001b[1;36m48\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[33m...\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m37\u001b[0m, \u001b[1;36m51\u001b[0m, \u001b[1;36m28\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m59\u001b[0m, \u001b[1;36m79\u001b[0m, \u001b[1;36m42\u001b[0m\u001b[1m]\u001b[0m,\n", "\u001b[2;32mβ β \u001b[0m\u001b[1m[\u001b[0m \u001b[1;36m44\u001b[0m, \u001b[1;36m61\u001b[0m, \u001b[1;36m29\u001b[0m\u001b[1m]\u001b[0m\u001b[1m]\u001b[0m\u001b[1m]\u001b[0m, \u001b[33mdtype\u001b[0m=\u001b[35muint8\u001b[0m\u001b[1m)\u001b[0m\n", "\u001b[2;32mβ \u001b[0m\u001b[1m]\u001b[0m\n", "\u001b[1m}\u001b[0m\n" ], "text/html": [ "
{\n", "β 'predictions': [\n", "β β {\n", "β β β 'bboxes': [\n", "β β β β [221.37188720703125, 176.12808227539062, 456.25811767578125, 383.2401428222656],\n", "β β β β [295.3505859375, 117.18350219726562, 378.571533203125, 150.27117919921875],\n", "β β β β [190.57350158691406, 109.70985412597656, 299.52215576171875, 155.0396270751953],\n", "β β β β [431.36944580078125, 104.98468780517578, 484.879150390625, 131.94033813476562],\n", "β β β β ... +296\n", "β β β ],\n", "β β β 'labels': [13, 2, 2, 2, ... +296],\n", "β β β 'scores': [0.8703235387802124, 0.7677358984947205, 0.7427828311920166, 0.6994596123695374, ... +296]\n", "β β }\n", "β ],\n", "β 'visualization': [\n", "β β array([[[ 28, 48, 13],\n", "β β [ 37, 63, 28],\n", "β β [ 30, 64, 27],\n", "β β ...,\n", "β β [ 23, 47, 31],\n", "β β [ 31, 67, 31],\n", "β β [ 54, 92, 17]],\n", "β \n", "β [[ 23, 42, 0],\n", "β β [ 25, 50, 8],\n", "β β [ 30, 62, 21],\n", "β β ...,\n", "β β [ 92, 114, 102],\n", "β β [ 16, 53, 12],\n", "β β [ 44, 75, 16]],\n", "β \n", "β [[ 20, 50, 0],\n", "β β [ 25, 59, 8],\n", "β β [ 29, 66, 23],\n", "β β ...,\n", "β β [ 47, 70, 44],\n", "β β [ 29, 60, 18],\n", "β β [ 54, 77, 31]],\n", "β \n", "β ...,\n", "β \n", "β [[ 63, 68, 45],\n", "β β [ 58, 66, 27],\n", "β β [ 74, 84, 49],\n", "β β ...,\n", "β β [ 32, 46, 23],\n", "β β [ 56, 76, 39],\n", "β β [ 31, 47, 18]],\n", "β \n", "β [[ 60, 66, 40],\n", "β β [ 45, 55, 18],\n", "β β [ 83, 92, 61],\n", "β β ...,\n", "β β [ 63, 77, 54],\n", "β β [ 47, 67, 30],\n", "β β [ 35, 52, 20]],\n", "β \n", "β [[ 64, 70, 42],\n", "β β [ 85, 95, 60],\n", "β β [ 66, 75, 48],\n", "β β ...,\n", "β β [ 37, 51, 28],\n", "β β [ 59, 79, 42],\n", "β β [ 44, 61, 29]]], dtype=uint8)\n", "β ]\n", "}\n", "\n" ] }, "metadata": {} } ], "source": [ "# Show the structure of result dict\n", "from rich.pretty import pprint\n", "pprint(result, max_length=4)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 444 }, "id": "UsJU5D-QPX8L", "outputId": "766f3211-301b-4a89-ae9d-898a92181c67" }, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "