-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCV_2_LAB_1
More file actions
1 lines (1 loc) · 21.5 KB
/
CV_2_LAB_1
File metadata and controls
1 lines (1 loc) · 21.5 KB
1
{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"CV_2_LAB_1","provenance":[],"authorship_tag":"ABX9TyOqwLBjRLt2GLZUyEVTGd1X"},"kernelspec":{"name":"python3","display_name":"Python 3"},"accelerator":"GPU"},"cells":[{"cell_type":"code","metadata":{"id":"uUrm_GW3KCKr","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"mPS2zzuiK2h2","colab_type":"text"},"source":["**PART A**"]},{"cell_type":"markdown","metadata":{"id":"j9oKfrtTKA-b","colab_type":"text"},"source":[""]},{"cell_type":"markdown","metadata":{"id":"Prq2kjmU6STP","colab_type":"text"},"source":[""]},{"cell_type":"code","metadata":{"id":"cfSrCt8XKVUA","colab_type":"code","outputId":"ed464a27-1eb2-4aa3-93f5-08eb41bd691a","executionInfo":{"status":"ok","timestamp":1588344440105,"user_tz":0,"elapsed":168015,"user":{"displayName":"Emmanuel Ahenkan","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgHJGdEcJ_gZw4A0N0DaoKn0sSyehaG3h_HR3oE=s64","userId":"15519982302241919726"}},"colab":{"base_uri":"https://localhost:8080/","height":1000}},"source":["# install dependencies: (use cu101 because colab has CUDA 10.1)\n","!pip install -U torch==1.4 torchvision==0.5 -f https://download.pytorch.org/whl/cu101/torch_stable.html \n","!pip install cython pyyaml==5.1\n","!pip install -U 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'\n","import torch, torchvision\n","print(torch.__version__, torch.cuda.is_available())\n","!gcc --version\n","# opencv is pre-installed on colab"],"execution_count":2,"outputs":[{"output_type":"stream","text":["Looking in links: https://download.pytorch.org/whl/cu101/torch_stable.html\n","Collecting torch==1.4\n","\u001b[?25l Downloading https://files.pythonhosted.org/packages/24/19/4804aea17cd136f1705a5e98a00618cb8f6ccc375ad8bfa437408e09d058/torch-1.4.0-cp36-cp36m-manylinux1_x86_64.whl (753.4MB)\n","\u001b[K |████████████████████████████████| 753.4MB 21kB/s \n","\u001b[?25hCollecting torchvision==0.5\n","\u001b[?25l Downloading https://files.pythonhosted.org/packages/7e/90/6141bf41f5655c78e24f40f710fdd4f8a8aff6c8b7c6f0328240f649bdbe/torchvision-0.5.0-cp36-cp36m-manylinux1_x86_64.whl (4.0MB)\n","\u001b[K |████████████████████████████████| 4.0MB 43.8MB/s \n","\u001b[?25hRequirement already satisfied, skipping upgrade: pillow>=4.1.1 in /usr/local/lib/python3.6/dist-packages (from torchvision==0.5) (7.0.0)\n","Requirement already satisfied, skipping upgrade: numpy in /usr/local/lib/python3.6/dist-packages (from torchvision==0.5) (1.18.3)\n","Requirement already satisfied, skipping upgrade: six in /usr/local/lib/python3.6/dist-packages (from torchvision==0.5) (1.12.0)\n","Installing collected packages: torch, torchvision\n"," Found existing installation: torch 1.5.0+cu101\n"," Uninstalling torch-1.5.0+cu101:\n"," Successfully uninstalled torch-1.5.0+cu101\n"," Found existing installation: torchvision 0.6.0+cu101\n"," Uninstalling torchvision-0.6.0+cu101:\n"," Successfully uninstalled torchvision-0.6.0+cu101\n","Successfully installed torch-1.4.0 torchvision-0.5.0\n","Requirement already satisfied: cython in /usr/local/lib/python3.6/dist-packages (0.29.17)\n","Collecting pyyaml==5.1\n","\u001b[?25l Downloading https://files.pythonhosted.org/packages/9f/2c/9417b5c774792634834e730932745bc09a7d36754ca00acf1ccd1ac2594d/PyYAML-5.1.tar.gz (274kB)\n","\u001b[K |████████████████████████████████| 276kB 9.0MB/s \n","\u001b[?25hBuilding wheels for collected packages: pyyaml\n"," Building wheel for pyyaml (setup.py) ... \u001b[?25l\u001b[?25hdone\n"," Created wheel for pyyaml: filename=PyYAML-5.1-cp36-cp36m-linux_x86_64.whl size=44074 sha256=0f4f174ad6af57b11aabaf5ab2f862028f836cc4688aeffb7aa1adfa3ae821c3\n"," Stored in directory: /root/.cache/pip/wheels/ad/56/bc/1522f864feb2a358ea6f1a92b4798d69ac783a28e80567a18b\n","Successfully built pyyaml\n","Installing collected packages: pyyaml\n"," Found existing installation: PyYAML 3.13\n"," Uninstalling PyYAML-3.13:\n"," Successfully uninstalled PyYAML-3.13\n","Successfully installed pyyaml-5.1\n","Collecting git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI\n"," Cloning https://github.com/cocodataset/cocoapi.git to /tmp/pip-req-build-qsq_eg6z\n"," Running command git clone -q https://github.com/cocodataset/cocoapi.git /tmp/pip-req-build-qsq_eg6z\n","Requirement already satisfied, skipping upgrade: setuptools>=18.0 in /usr/local/lib/python3.6/dist-packages (from pycocotools==2.0) (46.1.3)\n","Requirement already satisfied, skipping upgrade: cython>=0.27.3 in /usr/local/lib/python3.6/dist-packages (from pycocotools==2.0) (0.29.17)\n","Requirement already satisfied, skipping upgrade: matplotlib>=2.1.0 in /usr/local/lib/python3.6/dist-packages (from pycocotools==2.0) (3.2.1)\n","Requirement already satisfied, skipping upgrade: numpy>=1.11 in /usr/local/lib/python3.6/dist-packages (from matplotlib>=2.1.0->pycocotools==2.0) (1.18.3)\n","Requirement already satisfied, skipping upgrade: kiwisolver>=1.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib>=2.1.0->pycocotools==2.0) (1.2.0)\n","Requirement already satisfied, skipping upgrade: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib>=2.1.0->pycocotools==2.0) (2.4.7)\n","Requirement already satisfied, skipping upgrade: cycler>=0.10 in /usr/local/lib/python3.6/dist-packages (from matplotlib>=2.1.0->pycocotools==2.0) (0.10.0)\n","Requirement already satisfied, skipping upgrade: python-dateutil>=2.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib>=2.1.0->pycocotools==2.0) (2.8.1)\n","Requirement already satisfied, skipping upgrade: six in /usr/local/lib/python3.6/dist-packages (from cycler>=0.10->matplotlib>=2.1.0->pycocotools==2.0) (1.12.0)\n","Building wheels for collected packages: pycocotools\n"," Building wheel for pycocotools (setup.py) ... \u001b[?25l\u001b[?25hdone\n"," Created wheel for pycocotools: filename=pycocotools-2.0-cp36-cp36m-linux_x86_64.whl size=275260 sha256=48e4b14805590422ebd90477f482132f34268b6d200423b15ba4f72774f9929d\n"," Stored in directory: /tmp/pip-ephem-wheel-cache-gu2fr34v/wheels/90/51/41/646daf401c3bc408ff10de34ec76587a9b3ebfac8d21ca5c3a\n","Successfully built pycocotools\n","Installing collected packages: pycocotools\n"," Found existing installation: pycocotools 2.0.0\n"," Uninstalling pycocotools-2.0.0:\n"," Successfully uninstalled pycocotools-2.0.0\n","Successfully installed pycocotools-2.0\n","1.4.0 True\n","gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0\n","Copyright (C) 2017 Free Software Foundation, Inc.\n","This is free software; see the source for copying conditions. There is NO\n","warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n","\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"1ddi49k38k_K","colab_type":"code","outputId":"3669f5fa-d4bf-4c7e-fe1a-b471e2b825de","executionInfo":{"status":"ok","timestamp":1588344450055,"user_tz":0,"elapsed":177423,"user":{"displayName":"Emmanuel Ahenkan","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgHJGdEcJ_gZw4A0N0DaoKn0sSyehaG3h_HR3oE=s64","userId":"15519982302241919726"}},"colab":{"base_uri":"https://localhost:8080/","height":955}},"source":["# install detectron2:\n","!pip install detectron2 -f https://dl.fbaipublicfiles.com/detectron2/wheels/cu101/index.html"],"execution_count":3,"outputs":[{"output_type":"stream","text":["Looking in links: https://dl.fbaipublicfiles.com/detectron2/wheels/cu101/index.html\n","Collecting detectron2\n","\u001b[?25l Downloading https://dl.fbaipublicfiles.com/detectron2/wheels/cu101/detectron2-0.1.1%2Bcu101-cp36-cp36m-linux_x86_64.whl (6.2MB)\n","\u001b[K |████████████████████████████████| 6.2MB 691kB/s \n","\u001b[?25hRequirement already satisfied: Pillow in /usr/local/lib/python3.6/dist-packages (from detectron2) (7.0.0)\n","Requirement already satisfied: cloudpickle in /usr/local/lib/python3.6/dist-packages (from detectron2) (1.3.0)\n","Requirement already satisfied: tabulate in /usr/local/lib/python3.6/dist-packages (from detectron2) (0.8.7)\n","Collecting yacs>=0.1.6\n"," Downloading https://files.pythonhosted.org/packages/81/3b/40e876afde9f5ffa1cfdce10565aba85b0dc2e067ed551dfb566cfee6d4d/yacs-0.1.7-py3-none-any.whl\n","Requirement already satisfied: future in /usr/local/lib/python3.6/dist-packages (from detectron2) (0.16.0)\n","Requirement already satisfied: tensorboard in /usr/local/lib/python3.6/dist-packages (from detectron2) (2.2.1)\n","Requirement already satisfied: termcolor>=1.1 in /usr/local/lib/python3.6/dist-packages (from detectron2) (1.1.0)\n","Collecting fvcore\n"," Downloading https://files.pythonhosted.org/packages/be/09/7565b3c7782d916907d881fda1ba52a074ef9c8cf921cc437fa2c076bb3b/fvcore-0.1.dev200424.tar.gz\n","Requirement already satisfied: matplotlib in /usr/local/lib/python3.6/dist-packages (from detectron2) (3.2.1)\n","Requirement already satisfied: pydot in /usr/local/lib/python3.6/dist-packages (from detectron2) (1.3.0)\n","Requirement already satisfied: tqdm>4.29.0 in /usr/local/lib/python3.6/dist-packages (from detectron2) (4.38.0)\n","Requirement already satisfied: PyYAML in /usr/local/lib/python3.6/dist-packages (from yacs>=0.1.6->detectron2) (5.1)\n","Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.6/dist-packages (from tensorboard->detectron2) (3.2.1)\n","Requirement already satisfied: google-auth<2,>=1.6.3 in /usr/local/lib/python3.6/dist-packages (from tensorboard->detectron2) (1.7.2)\n","Requirement already satisfied: numpy>=1.12.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard->detectron2) (1.18.3)\n","Requirement already satisfied: absl-py>=0.4 in /usr/local/lib/python3.6/dist-packages (from tensorboard->detectron2) (0.9.0)\n","Requirement already satisfied: requests<3,>=2.21.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard->detectron2) (2.23.0)\n","Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard->detectron2) (1.6.0.post3)\n","Requirement already satisfied: grpcio>=1.24.3 in /usr/local/lib/python3.6/dist-packages (from tensorboard->detectron2) (1.28.1)\n","Requirement already satisfied: protobuf>=3.6.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard->detectron2) (3.10.0)\n","Requirement already satisfied: werkzeug>=0.11.15 in /usr/local/lib/python3.6/dist-packages (from tensorboard->detectron2) (1.0.1)\n","Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.6/dist-packages (from tensorboard->detectron2) (0.4.1)\n","Requirement already satisfied: six>=1.10.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard->detectron2) (1.12.0)\n","Requirement already satisfied: setuptools>=41.0.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard->detectron2) (46.1.3)\n","Requirement already satisfied: wheel>=0.26; python_version >= \"3\" in /usr/local/lib/python3.6/dist-packages (from tensorboard->detectron2) (0.34.2)\n","Collecting portalocker\n"," Downloading https://files.pythonhosted.org/packages/53/84/7b3146ec6378d28abc73ab484f09f47dfa008ad6f03f33d90a369f880e25/portalocker-1.7.0-py2.py3-none-any.whl\n","Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->detectron2) (1.2.0)\n","Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->detectron2) (2.4.7)\n","Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.6/dist-packages (from matplotlib->detectron2) (2.8.1)\n","Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.6/dist-packages (from matplotlib->detectron2) (0.10.0)\n","Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard->detectron2) (0.2.8)\n","Requirement already satisfied: rsa<4.1,>=3.1.4 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard->detectron2) (4.0)\n","Requirement already satisfied: cachetools<3.2,>=2.0.0 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard->detectron2) (3.1.1)\n","Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard->detectron2) (2.9)\n","Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard->detectron2) (1.24.3)\n","Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard->detectron2) (3.0.4)\n","Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard->detectron2) (2020.4.5.1)\n","Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.6/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard->detectron2) (1.3.0)\n","Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /usr/local/lib/python3.6/dist-packages (from pyasn1-modules>=0.2.1->google-auth<2,>=1.6.3->tensorboard->detectron2) (0.4.8)\n","Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.6/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard->detectron2) (3.1.0)\n","Building wheels for collected packages: fvcore\n"," Building wheel for fvcore (setup.py) ... \u001b[?25l\u001b[?25hdone\n"," Created wheel for fvcore: filename=fvcore-0.1.dev200424-cp36-none-any.whl size=40523 sha256=ae01980a3523221d09eee4176531c8f507cee87d0defe1feb028c73a9e057386\n"," Stored in directory: /root/.cache/pip/wheels/68/20/6d/36730421a68849a49c4c7470411f9192b7fa5ec9093cf1c7b8\n","Successfully built fvcore\n","Installing collected packages: yacs, portalocker, fvcore, detectron2\n","Successfully installed detectron2-0.1.1+cu101 fvcore-0.1.dev200424 portalocker-1.7.0 yacs-0.1.7\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"bjgANfiC81Uc","colab_type":"code","colab":{}},"source":["# You may need to restart your runtime prior to this, to let your installation take effect\n","# Some basic setup:\n","# Setup detectron2 logger\n","import detectron2\n","from detectron2.utils.logger import setup_logger\n","setup_logger()\n","\n","# import some common libraries\n","import numpy as np\n","import cv2\n","import random\n","from google.colab.patches import cv2_imshow\n","\n","# import some common detectron2 utilities\n","from detectron2 import model_zoo\n","from detectron2.engine import DefaultPredictor\n","from detectron2.config import get_cfg\n","from detectron2.utils.visualizer import Visualizer\n","from detectron2.data import MetadataCatalog"],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"eNmsQnfM8_Yf","colab_type":"text"},"source":[""]},{"cell_type":"code","metadata":{"id":"KVtWKrwb9Sxu","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"inB5kHXOLDpl","colab_type":"text"},"source":["**PART B**"]},{"cell_type":"markdown","metadata":{"id":"44sYpMQWLAkV","colab_type":"text"},"source":[""]},{"cell_type":"markdown","metadata":{"id":"nCLaSI_29VE4","colab_type":"text"},"source":["**Run a pre-trained detectron2 model on my personal Image**\n"]},{"cell_type":"code","metadata":{"id":"bkl1lIZn9a-w","colab_type":"code","outputId":"f1ba9651-3e78-415a-d304-19b04bc3781e","executionInfo":{"status":"ok","timestamp":1588344922827,"user_tz":0,"elapsed":33026,"user":{"displayName":"Emmanuel Ahenkan","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgHJGdEcJ_gZw4A0N0DaoKn0sSyehaG3h_HR3oE=s64","userId":"15519982302241919726"}},"colab":{"base_uri":"https://localhost:8080/","height":1000,"output_embedded_package_id":"1kuDDy2kLfnjU7ULVYFAuX6osjPaCUgiG"}},"source":["!wget http://images.cocodataset.org/val2017/000000439715.jpg -O input.jpg\n","im = cv2.imread(\"players_impactheader.jpg\")\n","cv2_imshow(im)"],"execution_count":10,"outputs":[{"output_type":"display_data","data":{"text/plain":"Output hidden; open in https://colab.research.google.com to view."},"metadata":{}}]},{"cell_type":"code","metadata":{"id":"47bxx4ZB-qNi","colab_type":"code","colab":{}},"source":["\n","\n","\n","\n","\n","\n","\n","\n","\n","\n","\n","\n","\n","\n","\n","\n","\n","cfg = get_cfg()\n","# add project-specific config (e.g., TensorMask) here if you're not running a model in detectron2's core library\n","cfg.merge_from_file(model_zoo.get_config_file(\"COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml\"))\n","cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.5 # set threshold for this model\n","# Find a model from detectron2's model zoo. You can use the https://dl.fbaipublicfiles... url as well\n","cfg.MODEL.WEIGHTS = model_zoo.get_checkpoint_url(\"COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml\")\n","predictor = DefaultPredictor(cfg)\n","outputs = predictor(im)"],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"4UNWnd-c_15N","colab_type":"code","outputId":"55c5898b-2cd2-413c-c3da-c00678066162","executionInfo":{"status":"ok","timestamp":1588344922828,"user_tz":0,"elapsed":32270,"user":{"displayName":"Emmanuel Ahenkan","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgHJGdEcJ_gZw4A0N0DaoKn0sSyehaG3h_HR3oE=s64","userId":"15519982302241919726"}},"colab":{"base_uri":"https://localhost:8080/","height":323}},"source":["# look at the outputs. See https://detectron2.readthedocs.io/tutorials/models.html#model-output-format for specification\n","outputs[\"instances\"].pred_classes\n","outputs[\"instances\"].pred_boxes"],"execution_count":12,"outputs":[{"output_type":"execute_result","data":{"text/plain":["Boxes(tensor([[1082.3551, 859.5732, 1211.3175, 976.5674],\n"," [ 352.7335, 133.3350, 1164.9197, 960.9014],\n"," [ 27.5627, 97.6276, 485.0638, 981.5426],\n"," [ 923.6294, 125.6551, 1432.6200, 929.4931],\n"," [ 313.8927, 217.0743, 827.7152, 859.7803],\n"," [1163.9303, 283.9010, 1500.0000, 871.1749],\n"," [ 352.2727, 86.4200, 593.2935, 424.7028],\n"," [ 340.2705, 106.2597, 609.2178, 779.5743],\n"," [1300.8433, 55.7887, 1472.8397, 513.5453],\n"," [ 143.2830, 184.0860, 693.0840, 981.7999],\n"," [ 936.2389, 481.2736, 1420.8646, 852.5320],\n"," [1296.6620, 841.1644, 1367.1136, 887.8264],\n"," [ 366.6915, 465.6960, 660.7492, 974.6257],\n"," [ 760.3726, 100.1833, 879.3213, 238.4279],\n"," [ 980.4280, 100.7165, 1277.7817, 823.2469],\n"," [1228.1107, 71.4100, 1492.6862, 711.8749],\n"," [ 210.7003, 490.8115, 614.1449, 859.0950],\n"," [1065.9720, 78.2138, 1224.5282, 349.6356]], device='cuda:0'))"]},"metadata":{"tags":[]},"execution_count":12}]},{"cell_type":"code","metadata":{"id":"h690VVICACWh","colab_type":"code","outputId":"4eb91d7c-1079-4288-95d8-79a50278b74f","executionInfo":{"status":"ok","timestamp":1588344922828,"user_tz":0,"elapsed":31983,"user":{"displayName":"Emmanuel Ahenkan","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgHJGdEcJ_gZw4A0N0DaoKn0sSyehaG3h_HR3oE=s64","userId":"15519982302241919726"}},"colab":{"base_uri":"https://localhost:8080/","height":984,"output_embedded_package_id":"1huVGmMNXbx1mpO-VL8SEWveHTrL8ib3W"}},"source":["# We can use `Visualizer` to draw the predictions on the image.\n","v = Visualizer(im[:, :, ::-1], MetadataCatalog.get(cfg.DATASETS.TRAIN[0]), scale=1.2)\n","v = v.draw_instance_predictions(outputs[\"instances\"].to(\"cpu\"))\n","cv2_imshow(v.get_image()[:, :, ::-1])"],"execution_count":13,"outputs":[{"output_type":"display_data","data":{"text/plain":"Output hidden; open in https://colab.research.google.com to view."},"metadata":{}}]},{"cell_type":"code","metadata":{"id":"LpLk_c4kBrER","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"l9B6ee9JLHvJ","colab_type":"text"},"source":["**PART C**"]},{"cell_type":"code","metadata":{"id":"axIOO8rKLJ-E","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]},{"cell_type":"code","metadata":{"id":"4FHTRhL_Leqf","colab_type":"code","outputId":"7dd558c6-8fe0-46fe-ea55-3c3f5f37ecba","executionInfo":{"status":"ok","timestamp":1588344922830,"user_tz":0,"elapsed":26588,"user":{"displayName":"Emmanuel Ahenkan","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GgHJGdEcJ_gZw4A0N0DaoKn0sSyehaG3h_HR3oE=s64","userId":"15519982302241919726"}},"colab":{"base_uri":"https://localhost:8080/","height":984,"output_embedded_package_id":"1u3UP78X-dYA20x3mqonKYrv4yUs14NVo"}},"source":["# Inference with a keypoint detection model\n","cfg = get_cfg()\n","cfg.merge_from_file(model_zoo.get_config_file(\"COCO-Keypoints/keypoint_rcnn_R_50_FPN_3x.yaml\"))\n","cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.7 # set threshold for this model\n","cfg.MODEL.WEIGHTS = model_zoo.get_checkpoint_url(\"COCO-Keypoints/keypoint_rcnn_R_50_FPN_3x.yaml\")\n","predictor = DefaultPredictor(cfg)\n","outputs = predictor(im)\n","v = Visualizer(im[:,:,::-1], MetadataCatalog.get(cfg.DATASETS.TRAIN[0]), scale=1.2)\n","v = v.draw_instance_predictions(outputs[\"instances\"].to(\"cpu\"))\n","cv2_imshow(v.get_image()[:, :, ::-1])"],"execution_count":14,"outputs":[{"output_type":"display_data","data":{"text/plain":"Output hidden; open in https://colab.research.google.com to view."},"metadata":{}}]},{"cell_type":"code","metadata":{"id":"wLr3qLFjOdfj","colab_type":"code","colab":{}},"source":[""],"execution_count":0,"outputs":[]}]}