Created
November 1, 2019 02:33
-
-
Save AshNguyen/2d43e634b50b15ad3e1e593e645c7140 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 122 | |
}, | |
"colab_type": "code", | |
"id": "UmqE1ggtnENJ", | |
"outputId": "bdab64c7-d1d5-45b0-863e-9562a5561c8a" | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=email%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocs.test%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.photos.readonly%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fpeopleapi.readonly&response_type=code\n", | |
"\n", | |
"Enter your authorization code:\n", | |
"··········\n", | |
"Mounted at /content/drive\n" | |
] | |
} | |
], | |
"source": [ | |
"from google.colab import drive\n", | |
"\n", | |
"drive.mount('/content/drive')\n", | |
"\n", | |
"import os \n", | |
"\n", | |
"os.chdir(\"/content/drive/My Drive\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 80 | |
}, | |
"colab_type": "code", | |
"id": "NnCQ-MEQnQVn", | |
"outputId": "c47521a8-fa5d-4d0e-b680-ae66be9563d5" | |
}, | |
"outputs": [ | |
{ | |
"name": "stderr", | |
"output_type": "stream", | |
"text": [ | |
"Using TensorFlow backend.\n" | |
] | |
}, | |
{ | |
"data": { | |
"text/html": [ | |
"<p style=\"color: red;\">\n", | |
"The default version of TensorFlow in Colab will soon switch to TensorFlow 2.x.<br>\n", | |
"We recommend you <a href=\"https://www.tensorflow.org/guide/migrate\" target=\"_blank\">upgrade</a> now \n", | |
"or ensure your notebook will continue to use TensorFlow 1.x via the <code>%tensorflow_version 1.x</code> magic:\n", | |
"<a href=\"https://colab.research.google.com/notebooks/tensorflow_version.ipynb\" target=\"_blank\">more info</a>.</p>\n" | |
], | |
"text/plain": [ | |
"<IPython.core.display.HTML object>" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"import matplotlib.pyplot as plt\n", | |
"import pandas as pd\n", | |
"import numpy as np\n", | |
"import math\n", | |
"from keras.layers import Input, Dense, LSTM, Dropout\n", | |
"from keras.models import Model\n", | |
"from keras.optimizers import Adam\n", | |
"import random\n", | |
"\n", | |
"def plot_pose(xs, ys, vis, w, h):\n", | |
" import matplotlib.pyplot as plt\n", | |
" pairs = [[0,1], [0,2], [1, 3], [3, 5], [2, 4], [4, 6], [1, 7], [2,8], [7, 9], [9, 11], [8, 10], [10, 12], [7, 8]]\n", | |
" plt.figure(figsize=(12,8))\n", | |
" ys = h - ys\n", | |
" plt.scatter(xs, ys, c=vis, s=150)\n", | |
" for pair in pairs:\n", | |
" plt.plot(xs[pair], ys[pair], lw=5)\n", | |
" plt.xlim(0, w)\n", | |
" plt.ylim(0, h)\n", | |
" plt.show()\n", | |
" \n", | |
" \n", | |
"def plot_pose_visible(xs, ys, vis, w, h):\n", | |
" import matplotlib.pyplot as plt\n", | |
" pairs = [[0,1], [0,2], [1, 3], [3, 5], [2, 4], [4, 6], [1, 7], [2,8], [7, 9], [9, 11], [8, 10], [10, 12], [7, 8]]\n", | |
" plt.figure(figsize=(12,8))\n", | |
" ys = h - ys\n", | |
" vis = list(vis)\n", | |
" print(vis)\n", | |
" plt.scatter(xs[vis], ys[vis])\n", | |
" for pair in pairs:\n", | |
" vis_or_not = [vis[point] for point in pair]\n", | |
" if all(vis_or_not):\n", | |
" plt.plot(xs[pair], ys[pair], lw=5)\n", | |
" plt.xlim(0, w)\n", | |
" plt.ylim(0, h)\n", | |
" plt.show()\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 1000 | |
}, | |
"colab_type": "code", | |
"id": "BUm04gOInjTD", | |
"outputId": "0f31c6ae-d749-46e1-a67b-dddff613f05c" | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1]\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAsYAAAHSCAYAAADvxw2lAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0\ndHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3deZzVdd3//8d7NpYZVllEQFEBtxRU\nUBYXcMn1l7aZlWVWl1l6VWqZeRlbmWmFrXpl5aV2WWZZV/5cSjIQZZNFRBEXFBWQHQRmBmZ9f/+Y\no83wOcjMmeXM8rjfbtw45/X5fN7nRX2Apx/e5/0OMUYkSZKkji4n2w1IkiRJrYHBWJIkScJgLEmS\nJAEGY0mSJAkwGEuSJEmAwViSJEkCIC/bDQDkdu0R83r0q1M7emCPLHUjSZKk9mrx4sWbY4x90x1r\nFcE4r0c/Blz6kzq1RT84L0vdSJIkqb0KIby5t2NOpZAkSZJopcE4ZLsBSZIkdTitLhgHYJXTKCRJ\nktTCWsUc46MH9nBOsSRJkrKq1T0xliRJkrLBYCxJkiRhMJYkSZIAg7EkSZIEGIwlSZIkwGAsSZIk\nAQZjSZIkCTAYS5IkSYDBWJIkSQIMxpIkSRJgMJYkSZIAg7EkSZIEGIwlSZIkwGAsSZIkAQZjSZIk\nCTAYS5IkSYDBWJIkSQIMxpIkSRJgMJYkSZIAg7EkSZIEGIwlSZIkwGAsSZIkAfUIxiGEwSGEmSGE\nF0MIy0MIX0vVp4QQ1oYQlqZ+nFvrmm+HEFaGEF4OIZzVnL8ASZIkqSnk1eOcSuDaGOOSEEI3YHEI\nYUbq2G0xxh/VPjmEcCRwMXAUcADwzxDC8BhjVVM2LkmSJDWlfT4xjjGuizEuSb3eCawABr7PJRcA\n98cYy2KMq4CVwAlN0awkSZLUXBo0xziEMAQ4FliQKl0VQlgWQrgrhNArVRsIrK512RreP0hLkiRJ\nWVfvYBxCKAIeBL4eY9wB3AEcCowE1gE/bsgHhxAuDyEsCiEs2rRpU0MulSRJkppcvYJxCCGfmlB8\nX4zxLwAxxg0xxqoYYzXwa/49XWItMLjW5YNStTpijHfGGEfFGEf17du3Mb8GSZIkqdHqsypFAH4L\nrIgxTq9VH1DrtA8DL6RePwRcHELoFEI4GBgGPNN0LUuSJElNrz6rUowHPgM8H0JYmqrdAHwyhDAS\niMAbwJcAYozLQwgPAC9Ss6LFla5IIUmSpNZun8E4xvg0ENIcevR9rrkJuKkRfUmSJEktyp3vJEmS\nJAzGkiRJEmAwliRJkgCDsSRJkgQYjCVJkiTAYCxJkiQBBmNJkiQJMBhLkiRJgMFYkiRJAgzGkiRJ\nEmAwliRJkgCDsSRJkgQYjCVJkiTAYCxJkiQBBmNJkiQJMBhLkiRJgMFYkiRJAgzGkiRJEmAwliRJ\nkgCDsSRJkgQYjCVJkiTAYCxJkiQBBmNJkiQJMBhLkiRJgMFYkiRJAgzGkiRJEmAwliRJkgCDsSRJ\nkgQYjCVJkiTAYCxJkiQBBmNJkiQJMBhLkiRJgMFYkiRJAgzGkiRJEmAwliRJkgCDsSRJkgQYjCVJ\nkiTAYCxJkiQBBmNJkiQJMBhLkiRJgMFYkiRJAgzGkiRJEmAwliRJkgCDsSRJkgQYjCVJkiTAYCxJ\nkiQBBmNJkiQJMBhLkiRJgMFYkiRJAgzGkiRJEmAwliRJkgCDsSRJkgQYjCVJkiTAYCxJkiQBBmNJ\nkiQJMBhLkiRJgMFYkiRJAgzGkiRJEmAwliRJkgCDsSRJkgQYjCVJkiTAYCxJkiQBBmNJkiQJMBhL\nkiRJgMFYkiRJAgzGkiRJEmAwliRJkgCDsSRJkgQYjCVJkiTAYCxJkiQBBmNJkiQJMBhLkiRJQD2C\ncQhhcAhhZgjhxRDC8hDC11L13iGEGSGEV1M/90rVQwjhZyGElSGEZSGE45r7FyFJkiQ1Vn2eGFcC\n18YYjwTGAFeGEI4ErgeeiDEOA55IvQc4BxiW+nE5cEeTdy1JkiQ1sX0G4xjjuhjjktTrncAKYCBw\nAXBP6rR7gAtTry8A7o015gM9QwgDmrxzSZIkqQk1aI5xCGEIcCywAOgfY1yXOrQe6J96PRBYXeuy\nNamaJEmS1GrVOxiHEIqAB4Gvxxh31D4WY4xAbMgHhxAuDyEsCiEs2rRpU0MulSRJkppcvYJxCCGf\nmlB8X4zxL6nyhnenSKR+3piqrwUG17p8UKpWR4zxzhjjqBjjqL59+2bavyRJktQk6rMqRQB+C6yI\nMU6vdegh4NLU60uBv9Wqfza1OsUYYHutKReSJElSq5RXj3PGA58Bng8hLE3VbgB+ADwQQvgC8CZw\nUerYo8C5wEqgFLisSTuWJEmSmsE+g3GM8Wkg7OXw6WnOj8CVjexLkiRJalHufCdJkiRhMJYkSZIA\ng7EkSZIEGIwlSZIkwGAsSZIkAQZjSZIkCTAYS5IkSYDBWJIkSQIMxpIkSRJgMJYkSZIAg7EkSZIE\nGIwlSZIkwGAsSZIkAQZjSZIkCTAYS5IkSYDBWJIkSQIMxpIkSRJgMJYkSZIAg7EkSZIEGIwlSZIk\nwGAsSZIkAQZjSZIkCTAYS5IkSYDBWJIkSQIMxpIkSRJgMJYkSZIAg7EkSZIEGIwlSZIkwGAsSZIk\nAQZjSZIkCTAYS5IkSYDBWJIkSQIMxpIkSRJgMJYkSZIAg7EkSZIEGIwlSZIkwGAsSZIkAQZjSZIk\nCTAYS5IkSYDBWJIkSQIMxpIkSRJgMJYkSZIAg7EkSZIEGIwlSZIkwGAsSZIkAQZjSZIkCTAYS5Ik\nSYDBWJIkSQIMxpIkSRJgMJYkSZIAg7EkSZIEQF62G5AkqSOatXoWAwoHcHBpEbk9upPbrVu2W5I6\nPJ8YS5LUgmJVFW/P/ReLplzNGxd8mNfOOINtjz2S7bYkYTCWJKlFbfr5L9j++Ss5b85uDtwUAZh1\n/49YunFpljuTZDCWJKkFvTi0IFE79NUS/vzCH7LQjaTaDMaSJLWQ7WXbmbrjDxR3rlvvXAH/ycTs\nNCXpPQZjSZJayK0Lb2VzxTaePSQkjsU5i7LQkaTaDMaSJLWAp9c+zUOvPQTAkqHJYFw8cyYxxpZu\nS1ItBmNJkppZSUUJ0+ZNe+/90kMCVXtk44q336bs1VdbuDNJtRmMJUlqZj9Z/BPWlax7731Jl8BL\ng5PnFc96sgW7krQng7EkSc1o8YbF3P/y/Yn65mOHJGrFs2Y1f0OS9spgLElSMymrKmPK3CmJepe8\nLpxzyY2J+q6lS6nctq0FOpOUjsFYkqRmcsfSO3hjxxuJ+n8e+58c+IFx5B90YN0D1dWUzJ7dMs1J\nSjAYS5LUDF7c8iJ3L787UT+m7zF86vBPEUKg24QJieM7nU4hZY3BWJKkJlZRXcHkuZOpilV16vk5\n+UwbN43cnFwAitIE45KnniZWVLREm5L2YDCWJKmJ3bP8Hl7a+lKifvkxl3Noz0Pfe9/1+OPJKSys\nc051cTGli5c0e4+SkgzGkiQ1ode3v84dS+9I1If3Gs4XPvCFOrVQUEDhSSclzq2zOsW65+Ct+U3d\npqQ0DMaSJDWR6ljN5DmTKa8ur1PPCTlMGzeN/Nz8xDVFEyckasUzZ9a8qKqEv10Fd50FD/0nlG5t\njrYlpRiMJUlqIve/dD9LNy1N1C898lKO6nNU2muKTjkFQt1t8MrffJOyVatg4W9g/bKa4pJ74Rej\n4Nn7wK2jpWZhMJYkqQmsLV7LT5b8JFE/sNuBfHnkl/d6XV7v3nQZMSJRL/77Q/Cv79Utlm6B+bdD\ndVXifEmNZzCWJKmRYoxMmzeNXZW7EsemjJtCl7wu73t9utUpih+6D8p3Jk8+/zbIzcu0VUnvY5/B\nOIRwVwhhYwjhhVq1KSGEtSGEpakf59Y69u0QwsoQwsshhLOaq3FJklqLh157iLlvz03ULxp+EaP3\nH73P64smTkzUSt/YQVV53SkWHP85GHxCpm1K2of6PDG+Gzg7Tf22GOPI1I9HAUIIRwIXA0elrrk9\nhJDbVM1KktTabN61mVsX3pqo9+/an6uPv7peY3QaPoy8AwbULcZAyfpO/37ftQ+cPrkxrUrah30G\n4xjjbKC+X4O9ALg/xlgWY1wFrAT8T1tJUrv1/QXfZ0f5jkR90thJFBUU1WuMve6Ct7bzv9+cdRN0\n7Z1pm5LqoTFzjK8KISxLTbXolaoNBFbXOmdNqiZJUrsz480ZzHhzRqJ+3iHnccqgUxo0Vtpd8NZ1\nJlYDQ06GYz6RYZeS6ivTYHwHcCgwElgH/LihA4QQLg8hLAohLNq0aVOGbUiSlB3by7Zz0/ybEvVe\nnXrxrdHfavB4XU84gZBfd05xVXkOu7Z1gfN+nFjSTVLTyygYxxg3xBirYozVwK/593SJtcDgWqcO\nStXSjXFnjHFUjHFU3759M2lDkqSs+eHCH7Jl95ZE/dsnfptenXulueL95bz8Nwr7lSbqxYyHvodl\n1KOkhskoGIcQan9D4MPAuytWPARcHELoFEI4GBgGPNO4FiVJal3mrp3L3177W6I+YfAEzh6S7vvq\n+7BrG/zjBooOKEscKl6VrElqHvtcCDGE8AdgAtAnhLAGmAxMCCGMBCLwBvAlgBjj8hDCA8CLQCVw\nZYzRVcglSe1GaUUpU+dNTdSL8ou48cQbCZlMeXhiGpRupuiA5POqspWvUb5mDQWDBmXSrqQG2Gcw\njjF+Mk35t+9z/k1ActKVJEntwE+X/JS3S95O1K8ddS39C/s3fMDVC2HR/wCQ36Wazr3K2b2toM4p\nxbOepPcln86oX0n15853kiTV07Mbn+UPL/0hUT9h/xP46LCPNnzAqkp4+Gpq/gG2RtrpFLNmNXxs\nSQ1mMJYkqR7KqsqYPHcysVaIBeic25kpY6dkNoXimV/BhufrlIoG7k6cVrpgAVXFJQ0fX1KDGIwl\nSaqHXz33K1ZtX5WoX3XsVQzuPjjNFfuwfS3M/H6i3PmIw8jbY7WmWFFBybzkltOSmpbBWJKkfXhp\n60vc9cJdifrRfY7mkiMuyWzQv18P5cV7FAPh//spRRNOTZzudAqp+RmMJUl6H5XVlUyaM4mqPRZZ\nysvJY+q4qeTm5DZ80FcehxUPJeujPg+DRqXdBa/4ydnE6uqGf5akejMYS5L0Pu5Zfg8rtq5I1C8/\n+nKG9RrW8AHLS+HRbyTrhX3h9Ek1L8eOJRTUXZmiavNmdi9f3vDPk1RvBmNJkvZi1fZV3L709kR9\naM+hfPHoL2Y26FM/gnfeTNbP+j506QlATteudB1zYuKU4pkzM/tMSfViMJYkKY3qWM2UuVMory6v\nU88JOUwbN4383PyGD7rxJZjzs2T94FPg6I/XKaWbTrHTecZSszIYS5KUxgMvP8CSjUsS9c8c8RmO\n7nt0wweMER65Fqor6tZzC+C86bDHcm/dTk1+Aa/sxRVUbNjQ8M+WVC8GY0mS9rCueB23Lb4tUR9U\nNIgrj70ys0Gfux/efDpZH/916JOcq5w/cCCdhg9P1ItnPZnZ50vaJ4OxJEm1xBiZOn8qpZWliWNT\nx02lS16Xhg9auhUe/69kvdfBcPI1e72saOLERM15xlLzMRhLklTLw68/zJy1cxL1jw3/GCcMOCGz\nQf85BUq3JOvn/Qjy9x60061nXDJvHtW7dmXWh6T3ZTCWJCll867N3LLwlkS9X5d+XHP83p/svq+3\nFsCSe5L1oz4MQ89430u7HHMMub161anFsjJKFizIrBdJ78tgLElSys0LbmZ72fZE/Ttjv0O3gm4N\nH7CqAh6+Olkv6AZn3bzPy0NuLkWnnJKouwue1DwMxpIkAU+8+QSPv/l4on7OwecwYfCEzAZd8N+w\nMc2mHKd/B7oPqNcQaecZz3qSGGNmPUnaK4OxJKnD2162ne8t+F6i3rNTT64/4foMB10DM9M8FR4w\nEkbXf3OQwpPGQ15enVrl+vWUvfRSZn1J2iuDsSSpw/vxoh+zedfmRP36E66nd+femQ362LegomSP\nYoDzb4Oc3HoPk1tURNfRoxJ1p1NITc9gLEnq0Oa9PY+/rvxron7KoFM49+BzMxv05cfgpYeT9dFf\nhIHHNXi4bu6CJ7UIg7EkqcMqrShl6rypiXphfiHfGfMdwh670dVLeQk8el2yXtS/Zm5xBtJtD717\n2fNUbk4+5ZaUOYOxJKnD+vmzP2dt8dpE/Zrjr2H/wv0zG3T2D2H7W8n6Wd+Hzj0yGrLgoIMoOOSQ\nusUYKZ79VEbjSUrPYCxJ6pCWblzKfSvuS9RH9R/Fx4Z/LLNBN66AuT9P1g+ZAB/4aGZjpqR7auwu\neFLTMhhLkjqc8qpyJs+dTKTukmedcjsxddxUckIGfz3GCA9fA9WVdeu5neC86ZDJtIxa0u6CN2cO\n1eXljRpX0r8ZjCVJHc6dy+7k9e2vJ+pXjbyKA7sfmNmgS38Pb81N1k++BvY7NLMxa+l67LHkdO9e\np1ZdWkrpwoWNHltSDYOxJKlDeXnry/z2+d8m6kftdxSXHHlJZoOWboXHb0zWex8C47+e2Zh7CPn5\nFJ18cqJePOvJJhlfksFYktSBVFZXMmnuJCpj3ekOeSGPqeOmkpeTt5cr92HGJNi1NVk/78eQ3zmz\nMdPY2zxjd8GTmobBWJLUYfzuxd/x4pYXE/UvHvNFDut9WGaDvjUfnv1dsv6Bj8Ghp2U25l4UnXwS\n5NT9q7tizRrKX3utST9H6qgMxpKkDuHNHW/yy6W/TNQP7XEo/3H0f2Q2aFUFPHx1st6pR83ybE0s\nt2dPuhx3bKLuLnhS0zAYS5LavepYzeS5kymrKqtTDwSmjp9KQW5BZgPPvx02Jp9Ac/p3oFv/zMbc\nB3fBk5qPwViS1O79+ZU/s3jD4kT9kiMvYUTfEZkN+s5bMOsHyfoBx8Koz2c2Zj0UTZyYqO1a8ixV\n77zTbJ8pdRQGY0lSu7a+ZD3TF09P1AcWDeSqkVdlPvBj10NFad1ayIHzb4Oc3MzH3YeCQw4hf/Dg\nusXqaoqfchc8qbEMxpKkdivGyLR50yipKEkcmzJuCl3zu2Y28EuPwMuPJOuj/6PmiXEzCiHsZXWK\nWc36uVJHYDCWJLVbj6x6hKfWJp+kfmTYRxgzYExmg5YVw6PXJetF+8Np/5XZmA2Ubhe84qefJlZU\ntMjnS+2VwViS1C5t2bWFW565JVHv26Uv1466NvOBn7wFdqxJ1s++GTr3yHzcBigcPZqcrnWfdlfv\n2EHps8+2yOdL7ZXBWJLULt3yzC28U5b8QtqNY26ke0H3NFfUw4blNStR7OnQ0+GoD2c2ZgZCQQGF\nJ52UqLsLntQ4BmNJUrsz862ZPPbGY4n6WUPO4rQDM9x0o7oaHr4GquvumkduJzj3hxBCZuNmaG+7\n4EnKnMFYktSu7Cjfwffmfy9R79GpB98+4duZD7z0f2H1/GT9lG/AfodmPm6Gik45ORHGy1etovyN\nN1q8F6m9MBhLktqV6Yums3HXxkT9W6O/xX5d9sts0JItMGNSsr7fUBj/tczGbKS8Pn3ofMzRiXrx\nk06nkDJlMJYktRsL1i3gwVcfTNRPGngS5x9yfuYDz5gEu7Yl6+dNh7xOmY/bSN3SbPbhLnhS5gzG\nkqR2obSilClzpyTqXfO6MmnMJEKmc4DfmFMzjWJPR18EhySXTWtJ6eYZly5cRFVxccs3I7UDBmNJ\nUrvwy6W/ZE1xchm1a46/hgFFAzIbtLIcHrkmWe/UA866KbMxm1Cnww4jb//96xYrKyl5+unsNCS1\ncQZjSVKbt2zTMv53RfKp7nH9juPjh30884Hn/xI2vZSsnzEZivplPm4TqdkFL81mH+6CJ2XEYCxJ\natPKq8qZNGcS1bG6Tr1TbiemjptKTsjwr7ptb8Ks5AYhDDwejr8sszGbQdpl22bPJlZVtXwzUhtn\nMJYktWm/ef43vLb9tUT9KyO/wpAeQzIbNEZ47Dqo3FW3HnLg/Nsgp/X89Vk4Zgyhc+c6tapt29i1\nbFmWOpLartbzO1uSpAZ6Zdsr/Pr5XyfqR/Q+gs8e+dnMB37pEXjl78n6iVfAgBGZj9sMcjp3pnDs\n2ETdXfCkhjMYS5LapMrqSibPmUzlHjvR5YU8vjv+u+Tl5GU2cFlxzdPiPXU7ACbekNmYzcxd8KSm\nYTCWJLVJ9624jxe2vJCoX/aByzis92GZDzzrZtixNlk/+2bo1C3zcZtRui/glb3yChVr0/w6JO2V\nwViS1Oa8teMtfvHsLxL1g3sczBUjrsh84PUvwPw7kvWhZ8KRF2Q+bjPL79+fzkcemajvdBc8qUEM\nxpKkNqU6VjNl3hR2V+2uUw8Epo2bRkFuQYYDV8PDV0PcYzWHvM5w7g8h0w1CWkja6RTugic1iMFY\nktSmPPjqgyxcvzBR/9QRn2Jkv5GZD/zsvbDmmWT9lG9C74MzH7eFFE2ckKiVzl9AdWlpyzcjtVEG\nY0lSm7G+ZD3TF01P1AcWDeSrx34184GLN8GMycl6n+EwrhHjtqDORx1Fbp8+dWqxvJySefOy1JHU\n9hiMJUltQoyR783/HsUVxYljk8ZOomt+18wHnzEJdr+TrJ83HfIynJrRwkJODkWnnpKoO51Cqr8M\n17KR1FacOX0Wr24see/9sH6FzLhmQvYakjL02KrHeHJN8stkFw69kHEHjMt84FVPwXO/T9ZHfBIO\nPjnzcbOg28SJbH/wL3VqxbOeJFZXE1rRpiRSa+XvEqkd2zMUA7y6sYQzp8/KTkNShrbu3soPnvlB\not6nSx++MeobmQ9cWQ6PXJusd+4JZ34383GzpHDsWEJ+fp1a5aZN7H5xRZY6ktoWg7HUju0ZivdV\nl1qrW565hW1l2xL1G0+8kR6demQ+8Lyfw+aXk/UzpkBR38zHzZKcwkK6nnhiou5mH1L9GIwlSa3a\nk6uf5NFVjybqZx50JqcfdHrmA29dBU/emqwPGg3HXZr5uFnmsm1S5gzGkqRWa2f5TqbNn5aody/o\nzg0nNmJ75hjh0W9CZd21kAm5cP5t0Ibn46YLxruXL6diw8aWb0ZqY9ru73xJ+zSsX2GD6lJrc9vi\n29hYmgx0142+jj5d+qS5op5WPAQrZyTrY74M+x+d+bitQMGggXQaNixRL57tLnjSvhiMpXZsxjUT\nEiHYVSnUVixcv5A/vfKnRH38AeP50KEfynzgsp3w2PXJeveBMCFNvQ1KP53CYCzti8u1Se2cIVht\n0a7KXUyem9xwo0teFyaNnURozPbMM2+GnW8n6+fcAp26ZT5uK1I0cQJbfv3rOrWSuXOpLisjp1On\nLHUltX4+MZYktTq3L72d1TtXJ+pfP+7rHFB0QOYDr1sGC+5I1oefDYefn/m4rUyXESPI7dmzTi3u\n2kXpggVZ6khqGwzGkqRW5YXNL3Dvi/cm6sf2O5aLD78484Grq+HhqyFW163ndYFzboXGPIVuZUJu\nrrvgSRkwGEuSWo2KqgomzZ1E9R7htSCngKnjppITGvHX1pK7Ye2iZP3U66DXQZmP20qlm2e8c9Ys\nYowt34zURhiMJUmtxm9e+A2vbns1Uf/yyC9zcI+DMx+4eCP8c0qy3vdwGHtV5uO2YoXjx0Ne3a8S\nVb69jrJXkv/7SqphMJYktQort63kzmV3JuqH9z6cS49q5IYbj98Iu7cn6+dNh7yCxo3dSuV2707X\n449P1N0FT9o7g7EkKeuqqquYPHcyldWVdeq5IZdp46aRn5Of+eCrZsOyPybrIz8NQ8ZnPm4bUDRx\nQqLmPGNp7wzGkqSsu2/FfSzbvCxRv+wDl3HEfkdkPnBlGTx8TbLepRecmdxRr73plmae8a7nnqNy\n69aWb0ZqAwzGkqSsWr1zNT9/9ueJ+pDuQ7hixBWNG3zOz2BLmjm1Z06DwkbsnNdGFAwZQsGQIXWL\nMVI8e3ZW+pFaO4OxJClrYoxMnTuV3VW769QDgWnjp9EptxGbUWx9HZ76UbI++EQYeUnm47Yx7oIn\n1Z/BWJKUNX959S8sWJ/cdOLiwy/m2H7HZj5wjPDoN6GybuAm5ML5t0FOx/nrL10wLnnqKWJ5ecs3\nI7VyHedPBklSq7KhZAM/WpR8ojugcABfO+5rjRv8xf+Dlf9M1sdeCf2PatzYbUzX448jp1vdra6r\nS0ooXbw4Sx1JrZfBWJLU4mKMfG/B9yiuKE4cmzx2MoX5hZkPvnsHPHZ9st59EJz6rczHbaNCfj5F\nJ5+UqLs6hZRkMJYktbh/vPEPZq2elah/6NAPMX5gI5dQm/l9KF6frJ97K3QqatzYbVTaXfBmugue\ntKd9BuMQwl0hhI0hhBdq1XqHEGaEEF5N/dwrVQ8hhJ+FEFaGEJaFEI5rzuYlSW3Ptt3buPmZmxP1\n3p17c93o6xo3+NtL4ZlfJeuHnQuHn9e4sduwwpNPTsyrrnjrLcpXrcpSR1LrVJ8nxncDZ+9Rux54\nIsY4DHgi9R7gHGBY6sflwB1N06Ykqb24deGtbN2dXEf3v078L3p06pH5wNVV8PDVEKvr1vO7wjm3\nZD5uO5DXqxddRo5M1Itnzmr5ZqRWbJ/BOMY4G9jzT7ALgHtSr+8BLqxVvzfWmA/0DCEMaKpmJUlt\n2+w1s3n49YcT9TMOPIMPDvlg4wZf/D/w9pJk/dRvQc8DGzd2O+AueNK+ZTrHuH+McV3q9Xqgf+r1\nQGB1rfPWpGqSpA6uuLyYafOSu811K+jGDSfe0LjBd26Af6bZya7vETUrUSjtLnilS5ZQtX17yzcj\ntVKN/vJdrJm53+DZ+yGEy0MIi0IIizZt2tTYNiRJrdxPlvyEDaUbEvVvjvomfbv2bdzgj/8XlKUJ\neOffBrn5jRu7nSgYOpT8gXs8q6qqovjpp7PTkNQKZRqMN7w7RSL188ZUfS0wuNZ5g1K1hBjjnTHG\nUTHGUX37NvIPRElSq7Zo/SL++PIfE/WxA8Zy4dAL01zRAK/NhOf/lKwf+xk4aGzjxm5HQgjpd8Fz\nnrH0nkyD8UPApanXlwJ/q1X/bGp1ijHA9lpTLiRJHdDuyt1MmTclUe+S14XJ4yYTQsh88Ird8Mi1\nyXqX3nBmmqkVHVzRxImJWvFTTxErK7PQjdT61Ge5tj8A84DDQghrQghfAH4AnBlCeBU4I/Ue4FHg\ndWAl8GvgK83StSSpzbj9uQXf3igAABG1SURBVNt5c8ebifrXjvsaA4sa+TWUOT+Fra8l6x/8LnTt\n3bix26GuJ4wmdO1ap1a9fTu7li7NUkdS65K3rxNijJ/cy6HT05wbAb/lIEkCYPnm5dyz/J5EfUTf\nEVx82MWNG3zLa/DUj5P1A8fBiE81bux2KqeggKLx49g5o+522cWzZtF11KgsdSW1Hu58J0lqFhVV\nFUyaO4nqPdYVzs/JZ9q4aeTm5GY+eIzw6DegqqxuPScPzp+e2MxC/5Z2FzyXbZMAg7EkqZnc9cJd\nvLLtlUT9ihFXcEjPQxo3+PK/wGv/StbHXgX9jmjc2O1c0SmnJGrlK1+jfPXqNGdLHYvBWJLU5P75\n0LPMenwp+VWd6tSH9xrOZR+4rHGD794Of/92st7jQDi1kVtKdwB5ffvS+ZhjEnVXp5AMxpKkJrZ7\nVznLH9/ASa99nM8smsbJr3+c/UoGkhtymTZ+Gvk5jVxX+F83QXFyPWTO/SEUFDZu7A6iaMKpiZq7\n4En1+PKdJEkN8fuHHyavsicABdWdOWrDSRy14SSq+5WQ83IvKkZVkV+Q4fzitUtg4a+T9cPPh8PO\nbkTXHUu3CRPY/LOf16mVLFxIVXEJuUX+x4U6Lp8YS5KazJqda1i9YGfaYzkbC/nXvS9x97fmMPuP\nr7Dl7eKGDV5dBQ9fDXt8mY/8Qjj7B+mvUVqdjjiCvP796xYrKiiZOyc7DUmthMFYktRk1q3ZSp/i\nwe97TvmuSp6fuYb7pz3DX360mJcXrKeyomrfgy/8LaxLs97uxG9Dz/f/TNXlLnhSegZjSVKTGX3E\nMVzwrWOoOnwz5Tm793n+upXb+ef/vMg918/l6T+/yjsbStOfuHM9/Ou7yXr/D8CJVzSy644p7Tzj\nJ58kVlenOVvqGAzGkqQmNejgPnz16xdx2o2DWXfcs/Qe1HWf1+wuqeC5f67mvsnz+b/blvDqog1U\nVdYKaP+4Acp2JC88bzrkNvLLfB1U4ZgxhE51Vw2p2rqV3c8/n6WOpOzzy3dSOzdn5WaOP6gXnfMb\nsZmClIERBxzNiMuPJsbIxjd2svyptby6cAOVFe//RHLty++w9uV36NItnyPGHcCRB75JjxceTJ54\n3KVw4InN1H37l9OlC4VjxlD85JN16jtnzaLLiBFZ6krKLp8YS+3Yk69s4rN3PcOnf7OArSXl2W5H\nHVQIgf4Hd+e0zx7B524Zz8mfGE7vA/a98sGunRUs+ceb/O+v4f/f+h1e330i1TH111bX/eCMKc3a\nd0dQNHFCouY8Y3VkIcaY7R4YNWpUXLRoUbbbkNqV5W9v56L/nkdJec2Xmg7uU8jdl43moP1ciknZ\nF2Nk/WvbWf7U26xcvLHutIn3UZizhdFFf+SoT30ERn6qmbts/yrWr2flhImJ+tCZ/yJ/wIAsdCQ1\nvxDC4hjjqHTHfGIstUNr39nFZf+z8L1QDLBqcwkfuX0uS1e/k8XOpBohBAYM7ckZlx3J534wnvEf\nG0rP/vuei1xSvR+x93AY8ckW6LL9y99/fzodkdxCe8/pFVJHYTCW2qGX1u3gndKKRH1LSTkX3zmP\nGS+m2TVMypLORfmMPONAPjXlRC68+liGjupHTm5Ie25e2M3wT38GQvrjari0q1M4nUIdlMFYaodO\nP6I/937hBLp3Tn6/dndFNV/63SLunfdGi/clvZ8QAgMP68VZX/wAl948nrHn9KF757orUQwf8g4F\ng5NPOJW5bmnWMy6ZP5/qXbtavhkpywzGUjs15pD9ePDL4xjYs0viWHWESX9bzs2PraC6OvvfM5D2\n1LV7AcddcAyXTL+AD32kgkOKniNQxVEfPSPbrbU7nY8+mtz99qtTi2VllMybn6WOpOwxGEvt2LD+\n3fjrV8Zx1AHd0x7/1ZOv89X7n2V3fXYdk7Ig5AQGf/Aszvn+l/jcdQfQb2i/bLfU7oScHIpOTTOd\nYtaslm9GyjKDsdTO9evemQe+NJZTh/dNe/zhZev47F3P8E6py7mpFSvoStdDjsp2F+1W2nnGs2bR\nGlauklqSwVjqAAo75fGbS0dx8ejBaY8/s2orH71jLqu37mU7XkntWuG48ZBfdwfByo0bKVuxIksd\nSdlhMJY6iPzcHG7+yNF844PD0x5/bVMJH7ljLs+v2d7CnUnKttyiQgpHj07UdzqdQh2MwVjqQEII\nXHXaMKZfNIK8nORyV5t2lvGJO+cx86WNWehOUjYVTUxu9OGybepoDMZSB/SR4wZxz+dPoFun5HJu\npeVVfPHeRfx+wVtZ6ExStqSbZ7z7+eep3LQpC91I2WEwljqo8UP78Kcvj2X/7p0Tx6qqIzf89Xl+\n+I+X/PKN1EEUDB5MwdBDE/Xi2bOz0I2UHQZjqQM7fP/u/PXKcRy+f7e0x3858zWueeA5yiurW7gz\nSdmQbrMPl21TR2Iwljq4AT268KcrxnLysD5pj//12bVcetczbN+V3GJaUvuSdp7xnLlUl7ucozoG\ng7EkunXO567Pjeajxw1Ke3ze61v4+H/P5e133CJWas+6jBhBbo8edWqxtJTSBc9kqSOpZRmMJQE1\ny7n96OPH8NXTh6U9/sqGYj58+xyWv+1yblJ7FfLyKDzllETd6RTqKAzGkt4TQuCaM4dz60ePITfN\ncm4bdpTxiV/NZ/Yrfktdaq/cBU8dmcFYUsJFowdz1+dGU1iQmzhWXFbJ5+9eyAOLVmehM0nNreik\nkyC37u/9irVrKV+5MksdSS3HYCwprVOH9+WBK8bSr1unxLHK6sh1f17GbTNe8SmS1M7k9uhB1+OP\nT9R3utmHOgCDsaS9OuqAHvz1yvEM71+U9vhPn3iV6/68jIoql3OT2pMil21TB2UwlvS+Bvbswp+u\nGMeYQ3qnPf6nxWv4/N0L2bnb5dyk9iJdMN61dCmV27a1fDNSCzIYS9qnHl3yuefzJ3DhyAPSHn/q\n1c1c9Kv5rN++u4U7k9QcCg4eQv5BB9YtVldT8vScrPQjtRSDsaR66ZSXy/SLRvKVCcktYwFWrNvB\nglVbWrgrSc0hhPDeLnidDj+c/a74EkPu/wPdzz0nu41JzSwv2w1IajtycgLXnX04A3t14Tv/9wLV\ntb53d/UZw7lg5MDsNSepSfX+3Ofofeml5B+Q/l+KpPbIYCypwT594kEM6NGZK+97ll0VVVw0ahBf\nPX1ottuS1ITyBwzIdgtSi3MqhaSMnHZ4f/74pTF85NiB3PThowkhuSGIJEltiU+MJWXsmEE9mf6J\nkdluQ5KkJuETY0mSJAmDsSRJkgQYjCVJkiTAYCxJkiQBBmNJkiQJMBhLkiRJgMFYkiRJAgzGkiRJ\nEmAwliRJkgCDsSRJkgQYjCVJkiTAYCxJkiQBBmNJkiQJMBhLkiRJgMFYkiRJAgzGkiRJEmAwliRJ\nkgCDsSRJkgQYjCVJkiTAYCxJkiQBBmNJkiQJMBhLkiRJgMFYkiRJAgzGkiRJEmAwliRJkgCDsSRJ\nkgQYjCVJkiTAYCxJkiQBBmNJkiQJMBhLkiRJgMFYkiRJAgzGkiRJEmAwliRJkgCDsSRJkgRAXmMu\nDiG8AewEqoDKGOOoEEJv4I/AEOAN4KIY47bGtSlJkiQ1r6Z4Yjwxxjgyxjgq9f564IkY4zDgidR7\nSZIkqVVrjqkUFwD3pF7fA1zYDJ8hSZIkNanGBuMIPB5CWBxCuDxV6x9jXJd6vR7on+7CEMLlIYRF\nIYRFmzZtamQbkiRJUuM0ao4xcFKMcW0IoR8wI4TwUu2DMcYYQojpLowx3gncCTBq1Ki050iSJEkt\npVFPjGOMa1M/bwT+CpwAbAghDABI/byxsU1KkiRJzS3jYBxCKAwhdHv3NfBB4AXgIeDS1GmXAn9r\nbJOSJElSc2vMVIr+wF9DCO+O8/sY499DCAuBB0IIXwDeBC5qfJuSJElS88o4GMcYXwdGpKlvAU5v\nTFOSJElSS3PnO0mSJAmDsSRJkgQYjCVJkiTAYCxJkiQBBmNJkiQJMBhLkiRJgMFYkiRJAgzGkiRJ\nEmAwliRJkgCDsSRJkgQYjCVJkiTAYCxJkiQBBmNJkiQJMBhLkiRJgMFYkiRJAgzGkiRJEmAwliRJ\nkgCDsSRJkgQYjCVJkiTAYCxJkiQBBmNJkiQJMBhLkiRJgMFYkiRJAgzGkiRJEmAwliRJkgCDsSRJ\nkgQYjCVJkiTAYCxJkiQBBmNJkiQJMBhLkiRJgMFYkiRJAgzGkiRJEmAwliRJkgCDsSRJkgQYjCVJ\nkiTAYCxJkiQBBmNJkiQJMBhLkiRJgMFYkiRJAgzGkiRJEmAwliRJkgCDsSRJkgQYjCVJkiTAYCxJ\nkiQBBmNJkiQJMBhLkiRJgMFYkiRJAgzGkiRJEmAwliRJkgCDsSRJkgQYjCVJkiTAYCxJkiQBBmNJ\nkiQJMBhLkiRJgMFYkiRJAgzGkiRJEmAwliRJkgCDsSRJkgQYjCVJkiTAYCxJkiQBBmNJkiQJMBhL\nkiRJgMFYkiRJAgzGkiRJEmAwliRJkgCDsSRJkgQYjCVJkiTAYCxJkiQBBmNJkiQJMBhLkiRJgMFY\nkiRJApoxGIcQzg4hvBxCWBlCuL65PkeSJElqCs0SjEMIucAvgXOAI4FPhhCObI7PkiRJkppCcz0x\nPgFYGWN8PcZYDtwPXNBMnyVJkiQ1WnMF44HA6lrv16RqkiRJUquUl60PDiFcDlyeelsWQnghW72o\nzekDbM52E2oTvFfUEN4vqi/vlbbtoL0daK5gvBYYXOv9oFTtPTHGO4E7AUIIi2KMo5qpF7Uz3i+q\nL+8VNYT3i+rLe6X9aq6pFAuBYSGEg0MIBcDFwEPN9FmSJElSozXLE+MYY2UI4SrgH0AucFeMcXlz\nfJYkSZLUFJptjnGM8VHg0Xqefmdz9aF2yftF9eW9oobwflF9ea+0UyHGmO0eJEmSpKxzS2hJkiSJ\nVhCM3TpatYUQ7gohbKy9fF8IoXcIYUYI4dXUz71S9RBC+Fnq3lkWQjgue50rG0IIg0MIM0MIL4YQ\nlocQvpaqe8+ojhBC5xDCMyGE51L3ytRU/eAQwoLUPfHH1BfGCSF0Sr1fmTo+JJv9q+WFEHJDCM+G\nEB5Ovfde6QCyGozdOlpp3A2cvUfteuCJGOMw4InUe6i5b4alflwO3NFCPar1qASujTEeCYwBrkz9\nGeI9oz2VAafFGEcAI4GzQwhjgFuA22KMQ4FtwBdS538B2Jaq35Y6Tx3L14AVtd57r3QA2X5i7NbR\nqiPGOBvYukf5AuCe1Ot7gAtr1e+NNeYDPUMIA1qmU7UGMcZ1McYlqdc7qflLbCDeM9pD6v/z4tTb\n/NSPCJwG/DlV3/Neefce+jNwegghtFC7yrIQwiDgPOA3qfcB75UOIdvB2K2jVR/9Y4zrUq/XA/1T\nr71/9J7UP18eCyzAe0ZppP5pfCmwEZgBvAa8E2OsTJ1S+354715JHd8O7NeyHSuLfgJcB1Sn3u+H\n90qHkO1gLDVIrFlGxaVUVEcIoQh4EPh6jHFH7WPeM3pXjLEqxjiSmt1YTwAOz3JLaoVCCOcDG2OM\ni7Pdi1petoPxPreOloAN7/5zd+rnjam6948IIeRTE4rvizH+JVX2ntFexRjfAWYCY6mZTvPumv61\n74f37pXU8R7AlhZuVdkxHvhQCOENaqZ4ngb8FO+VDiHbwdito1UfDwGXpl5fCvytVv2zqZUGxgDb\na/3zuTqA1Dy+3wIrYozTax3ynlEdIYS+IYSeqdddgDOpmZM+E/hY6rQ975V376GPAf+KLvzfIcQY\nvx1jHBRjHEJNLvlXjPHTeK90CFnf4COEcC41c3ne3Tr6pqw2pKwKIfwBmAD0ATYAk4H/Ax4ADgTe\nBC6KMW5NhaJfULOKRSlwWYxxUTb6VnaEEE4CngKe599zAW+gZp6x94zeE0I4hpovSOVS81DogRjj\ntBDCIdQ8FewNPAtcEmMsCyF0Bn5Hzbz1rcDFMcbXs9O9siWEMAH4RozxfO+VjiHrwViSJElqDbI9\nlUKSJElqFQzGkiRJEgZjSZIkCTAYS5IkSYDBWJIkSQIMxpIkSRJgMJYkSZIAg7EkSZIEwP8D0LLM\nJc31MiMAAAAASUVORK5CYII=\n", | |
"text/plain": [ | |
"<Figure size 864x576 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"output_type": "display_data" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"ID 1613\n", | |
"frame 58\n", | |
"[1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1]\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "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\nAQAgiTAGAIAkwhgAAJIIYwAASCKMAQAgiTAGAIAkwhgAAJIIYwAASCKMAQAgiTAGAIAkwhgAAJII\nYwAASCKMAQAgiTAGAIAkwhgAAJIIYwAASCKMAQAgiTAGAIAkwhgAAJIIYwAASCKMAQAgiTAGAIAk\nwhgAAJIIYwAASCKMAQAgiTAGAIAkwhgAAJIIYwAASCKMAQAgiTAGAIAkwhgAAJIIYwAASCKMAQAg\niTAGAIAkwhgAAJIIYwAASCKMAQAgiTAGAIAkwhgAAJIIYwAASCKMAQAgiTAGAIAkwhgAAJIIYwAA\nSCKMAQAgiTAGAIAkwhgAAJIIYwAASCKMAQAgiTAGAIAkwhgAAJIIYwAASCKMAQAgiTAGAIAkwhgA\nAJIIYwAASCKMAQAgiTAGAIAk4wjjUsqXSil9pZRnR439i1LKvlLKjxpfHx217TdLKdtLKc+XUn5m\nqiYOAACTaTxnjL+c5MPnGf/9Wuudja9vJEkp5bYkn0zy9sZr/qiU0jpZkwUAgKkyZhjXWh9J8so4\nf959Sf6i1nqy1rozyfYk90xgfgAAcEVMZI3xr5VSnm4stVjYGFueZM+offY2xgAAYFq73DD+QpJ1\nSe5Msj/Jv77UH1BKub+UsqWUsqW/v/8ypwEAAJPjssK41nqg1nq61jqc5E/y5nKJfUlWjNr1psbY\n+X7GA7XWjbXWjZ2dnZczDQAAmDSXFcallO5RT38+yRtXrHgoySdLKbNKKWuSrE/yw4lNEQAApl7b\nWDuUUv48yfuTLCml7E3y20neX0q5M0lNsivJryZJrXVrKeXBJD9OcirJZ2qtp6dm6gAAMHlKrbXZ\nc8jGjRvrli1bmj0NAACucqWUx2utG8+3zZ3vAAAgwhgAAJIIYwAASCKMAQAgiTAGAIAkwhgAAJII\nYwAASCKMAQAgiTAGAIAkwhgAAJIIYwAASCKMAQAgiTAGAIAkwhgAAJIIYwAASCKMAQAgiTAGAIAk\nwhgAAJIIYwAASCKMAQAgiTAGAIAkwhgAAJIIYwAASCKMAQAgiTAGAIAkwhgAAJIIYwAASCKMAQAg\niTAGAIAkwhgAAJIIYwAASCKMAQAgiTAGAIAkwhgAAJIIYwAASCKMAQAgiTAGAIAkwhgAAJIIYwAA\nSCKMAQAgiTAGAIAkwhgAAJIIYwAASCKMAQAgiTAGAIAkwhgAAJIIYwAASCKMAQAgiTAGAIAkwhgA\n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\n84Xx/I75l/3zSkvL2NG8e3cGd/WMWqbRpGieO/fMhwDb3wjmVSPRfPTU7LS1t2buwlmTPicAJocw\nhmlg96Hj+cLfvZSvPb43g6eHx9z/771tWf75T6/L3Sun3+2XL+eM8eU6K5o3bTpr24WieWj3yJnn\nKYnmo0cvGM0/fsen07vozixtPZg1XSey5vaFWfwP75v0OQBw+YQxNNHb/8f/J8eGxg7hJGkpyc/d\ncWP+2fvXZUPX5Z+BnWpHBs+9fNxUhfHFjBnN51nTPLS7J4O796SePDmpcznVOjt9C25PSkv6hpem\n7+Vky56TueXYc9mwqTvdN98wbc74A1zLhDE0wXP7j+Tn/vfv5tQ4mri9teTj77wpv/q+dVm95K23\n4ph+jg4ePWdsbvvcJszkwkpLS9q7u9Pe3T2+aN7dk6Gey4/mvs67MtzacdbY6dZZee77+/Pc9/dn\n/pLZuXVTdzZs6sr8JddN6HcD4PIJY2iCnkPHxozi2e0t+cf3rMp/9b416b5hZsTSydMnMzh89hKF\nttKW69pmxvyT8Ubzm8E82DN2NPd2vfui73nk4Ik89jc789jf7MyN6xfk1k1dufnupem4zj/RAFeS\nf3WhCT50W9dFt//XH7g5v/yTq7N47sz6oNaF1hdfLcsEzo7ms2P3QtE82LM7CwdeyolZC3PiuiVj\nvsfLL76al198Nd/9ixey9q7ObNjUneUbFjb9aiMA1wJhDE0wVuT8xoduvUIzmVzTZX1xM1wsmtcO\nD2eo90D2/HBnXnjq1ezubc+pevEbr5waGs4LPzyQF354IHMWzMqt7+7Khnu7srBr+i+nAZipJhTG\npZRdSQaSnE5yqta6sZSyKMlfJlmdZFeST9RaD09smnD1mdfRkoHBc9dTzJ91he5UNwWu5BUpZpLS\n0pKOG7uz7mPdWfexZGjwdHY82Z/nN+/Pnm2Hk3rx1x979WSe+GZPnvhmT5aunp8Nm7qy/l3LMntO\n+5X5BQCuEZNxxvina60HRz3/XJJv11o/X0r5XOP5fz8J7wNXlWd+5yPnXJVi/qzWPP0vP9zEWU3M\n+T54J4zP1d7Rmlvf3ZVb392Vo4dP5PlHe/P85t4c7j0+5mv7dh1J364j+d5XX8yadyzJrfd2Z+Xb\nF6W1SXc6BLiaTMVSivuSvL/x+CtJvhNhDOe19X/6SLOnMKmcMb50cxfOzjs/vDp3/8yq9O0ayLbN\n+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\nSUVORK5CYII=\n", | |
"text/plain": [ | |
"<Figure size 864x576 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"output_type": "display_data" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"ID 1436\n", | |
"frame 33\n", | |
"[0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0]\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "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\nurUAAAAASUVORK5CYII=\n", | |
"text/plain": [ | |
"<Figure size 864x576 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"output_type": "display_data" | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"ID 380\n", | |
"frame 99\n" | |
] | |
} | |
], | |
"source": [ | |
"#Load data and plot some examples\n", | |
"data = pd.read_csv('./processed_penn_data.csv', index_col=[0]).reset_index(drop=True)\n", | |
"\n", | |
"for n in np.random.randint(0, data.shape[0], 3):\n", | |
" plot_pose_visible(data.iloc[n, 2:15], data.iloc[n, 15:28], list(data.iloc[n, 28:41]), data.iloc[n, -4], data.iloc[n, -3])\n", | |
" print(\"ID\", data.iloc[n, 0])\n", | |
" print(\"frame\", data.iloc[n, 1])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 0, | |
"metadata": { | |
"colab": {}, | |
"colab_type": "code", | |
"id": "7IKEoEninvUH" | |
}, | |
"outputs": [], | |
"source": [ | |
"def serialize_data(data, nframe):\n", | |
" train_input = -np.ones(shape=(1, nframe, 13*3))\n", | |
" train_label = []\n", | |
" for ID in data['file_id'].unique():\n", | |
" df = data[data['file_id'] == ID].sort_values(['frame']).reset_index(drop=True)\n", | |
"\n", | |
" df.iloc[:, 2:15] = df.iloc[:, 2:15]/df['w'].iloc[0]\n", | |
" df.iloc[:, 15:28] = df.iloc[:, 15:28]/df['h'].iloc[0]\n", | |
"\n", | |
" _class = df['action']\n", | |
" X_train = []\n", | |
" y_train = []\n", | |
" for i in range(nframe, df.shape[0]):\n", | |
" X_train.append(np.array(df.iloc[i-nframe:i, 2:41]))\n", | |
" y_train.append(_class[i])\n", | |
" X_train = np.array(X_train)\n", | |
"\n", | |
" train_input = np.append(train_input, X_train, axis=0)\n", | |
" train_label = train_label + y_train\n", | |
" train_input = train_input[1:, :, :]\n", | |
" train_label = np.array(train_label)\n", | |
"\n", | |
" from sklearn.preprocessing import OneHotEncoder\n", | |
"\n", | |
" encoder = OneHotEncoder()\n", | |
" train_label = encoder.fit_transform(train_label.reshape(-1,1)).toarray()\n", | |
"\n", | |
" return train_input, train_label, encoder\n", | |
"\n", | |
"\n", | |
"nframe = 15\n", | |
"\n", | |
"sub_data = data[data['action'] == \"tennis_serve\"]\n", | |
"train_input, train_label, label_encoder = serialize_data(data, nframe)\n", | |
"\n", | |
"from sklearn.model_selection import train_test_split\n", | |
"train_input, val_input, train_label, val_label = train_test_split(train_input, train_label, test_size=0.2)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 70, | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 34 | |
}, | |
"colab_type": "code", | |
"id": "fzuUNhMbyNuT", | |
"outputId": "c819b902-6aab-4ff0-ee3e-b52eb2b48872" | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1.])" | |
] | |
}, | |
"execution_count": 70, | |
"metadata": { | |
"tags": [] | |
}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"val_label[44]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 0, | |
"metadata": { | |
"colab": {}, | |
"colab_type": "code", | |
"id": "ywUl6cHEpbFz" | |
}, | |
"outputs": [], | |
"source": [ | |
"train_input = train_input.reshape(train_input.shape[0], train_input.shape[1]*train_input.shape[2])\n", | |
"val_input = val_input.reshape(val_input.shape[0], val_input.shape[1]*val_input.shape[2])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 64, | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 34 | |
}, | |
"colab_type": "code", | |
"id": "FlC-wpRiqaMZ", | |
"outputId": "6f418c32-523f-438e-b0e8-ce716381f4cc" | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(103160, 585)" | |
] | |
}, | |
"execution_count": 64, | |
"metadata": { | |
"tags": [] | |
}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"train_input.shape" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 0, | |
"metadata": { | |
"colab": {}, | |
"colab_type": "code", | |
"id": "2jQM1hqsqcf5" | |
}, | |
"outputs": [], | |
"source": [ | |
"inputs = Input(shape=(13*3*nframe, ))\n", | |
"x = Dense(30, activation='relu')(inputs)\n", | |
"x = Dense(20, activation='relu')(x)\n", | |
"latent_outputs = Dense(10, activation='relu')(x)\n", | |
"encoder = Model(inputs=inputs, outputs=latent_outputs)\n", | |
"\n", | |
"latent_inputs = Input(shape=(10, ))\n", | |
"y = Dense(20, activation='relu')(latent_inputs)\n", | |
"y = Dense(30, activation='relu')(y)\n", | |
"outputs = Dense(13*3*nframe, activation='sigmoid')(y)\n", | |
"decoder = Model(inputs=latent_inputs, outputs=outputs)\n", | |
"\n", | |
"outputs = decoder(encoder(inputs))\n", | |
"model = Model(inputs=inputs, outputs=outputs)\n", | |
"\n", | |
"optimizer = Adam()\n", | |
"model.compile(optimizer=optimizer,\n", | |
" loss='mse',\n", | |
" metrics=['mse', 'mae'])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 289 | |
}, | |
"colab_type": "code", | |
"id": "QyhQrWy4twtD", | |
"outputId": "3f90f10e-d1d5-4890-c650-3a7d245cbf36" | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Model: \"model_1\"\n", | |
"_________________________________________________________________\n", | |
"Layer (type) Output Shape Param # \n", | |
"=================================================================\n", | |
"input_1 (InputLayer) (None, 39) 0 \n", | |
"_________________________________________________________________\n", | |
"dense_1 (Dense) (None, 30) 1200 \n", | |
"_________________________________________________________________\n", | |
"dense_2 (Dense) (None, 20) 620 \n", | |
"_________________________________________________________________\n", | |
"dense_3 (Dense) (None, 10) 210 \n", | |
"=================================================================\n", | |
"Total params: 2,030\n", | |
"Trainable params: 2,030\n", | |
"Non-trainable params: 0\n", | |
"_________________________________________________________________\n" | |
] | |
} | |
], | |
"source": [ | |
"encoder.summary()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 289 | |
}, | |
"colab_type": "code", | |
"id": "0lYu7iVHtzd9", | |
"outputId": "0560e4cd-9392-4558-82dd-f4063b41a31a" | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Model: \"model_2\"\n", | |
"_________________________________________________________________\n", | |
"Layer (type) Output Shape Param # \n", | |
"=================================================================\n", | |
"input_2 (InputLayer) (None, 10) 0 \n", | |
"_________________________________________________________________\n", | |
"dense_4 (Dense) (None, 20) 220 \n", | |
"_________________________________________________________________\n", | |
"dense_5 (Dense) (None, 30) 630 \n", | |
"_________________________________________________________________\n", | |
"dense_6 (Dense) (None, 39) 1209 \n", | |
"=================================================================\n", | |
"Total params: 2,059\n", | |
"Trainable params: 2,059\n", | |
"Non-trainable params: 0\n", | |
"_________________________________________________________________\n" | |
] | |
} | |
], | |
"source": [ | |
"decoder.summary()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 255 | |
}, | |
"colab_type": "code", | |
"id": "MSXhfIwlt5NR", | |
"outputId": "af711de9-c717-4283-b62b-02e775637b3e" | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Model: \"model_3\"\n", | |
"_________________________________________________________________\n", | |
"Layer (type) Output Shape Param # \n", | |
"=================================================================\n", | |
"input_1 (InputLayer) (None, 39) 0 \n", | |
"_________________________________________________________________\n", | |
"model_1 (Model) (None, 10) 2030 \n", | |
"_________________________________________________________________\n", | |
"model_2 (Model) (None, 39) 2059 \n", | |
"=================================================================\n", | |
"Total params: 4,089\n", | |
"Trainable params: 4,089\n", | |
"Non-trainable params: 0\n", | |
"_________________________________________________________________\n" | |
] | |
} | |
], | |
"source": [ | |
"model.summary()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 0, | |
"metadata": { | |
"colab": {}, | |
"colab_type": "code", | |
"id": "R8_nTj7huDSs" | |
}, | |
"outputs": [], | |
"source": [ | |
"from keras.callbacks import ModelCheckpoint, EarlyStopping\n", | |
"\n", | |
"cp = ModelCheckpoint(\"./model_checkpoints\", save_best_only=True)\n", | |
"es = EarlyStopping(monitor=\"val_loss\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 55, | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 530 | |
}, | |
"colab_type": "code", | |
"id": "wwLuR7BGuFA6", | |
"outputId": "d7b923db-7725-431d-8df6-2c8436d54527" | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Train on 103160 samples, validate on 25791 samples\n", | |
"Epoch 1/100\n", | |
"103160/103160 [==============================] - 21s 203us/step - loss: 0.0338 - mean_squared_error: 0.0338 - mean_absolute_error: 0.1105 - val_loss: 0.0257 - val_mean_squared_error: 0.0257 - val_mean_absolute_error: 0.0907\n", | |
"Epoch 2/100\n", | |
"103160/103160 [==============================] - 20s 199us/step - loss: 0.0234 - mean_squared_error: 0.0234 - mean_absolute_error: 0.0845 - val_loss: 0.0213 - val_mean_squared_error: 0.0213 - val_mean_absolute_error: 0.0794\n", | |
"Epoch 3/100\n", | |
"103160/103160 [==============================] - 20s 198us/step - loss: 0.0206 - mean_squared_error: 0.0206 - mean_absolute_error: 0.0767 - val_loss: 0.0199 - val_mean_squared_error: 0.0199 - val_mean_absolute_error: 0.0760\n", | |
"Epoch 4/100\n", | |
"103160/103160 [==============================] - 20s 197us/step - loss: 0.0195 - mean_squared_error: 0.0195 - mean_absolute_error: 0.0735 - val_loss: 0.0190 - val_mean_squared_error: 0.0190 - val_mean_absolute_error: 0.0721\n", | |
"Epoch 5/100\n", | |
"103160/103160 [==============================] - 21s 200us/step - loss: 0.0188 - mean_squared_error: 0.0188 - mean_absolute_error: 0.0716 - val_loss: 0.0185 - val_mean_squared_error: 0.0185 - val_mean_absolute_error: 0.0706\n", | |
"Epoch 6/100\n", | |
"103160/103160 [==============================] - 21s 199us/step - loss: 0.0184 - mean_squared_error: 0.0184 - mean_absolute_error: 0.0703 - val_loss: 0.0181 - val_mean_squared_error: 0.0181 - val_mean_absolute_error: 0.0689\n", | |
"Epoch 7/100\n", | |
"103160/103160 [==============================] - 20s 198us/step - loss: 0.0179 - mean_squared_error: 0.0179 - mean_absolute_error: 0.0690 - val_loss: 0.0175 - val_mean_squared_error: 0.0175 - val_mean_absolute_error: 0.0673\n", | |
"Epoch 8/100\n", | |
"103160/103160 [==============================] - 21s 201us/step - loss: 0.0176 - mean_squared_error: 0.0176 - mean_absolute_error: 0.0678 - val_loss: 0.0174 - val_mean_squared_error: 0.0174 - val_mean_absolute_error: 0.0672\n", | |
"Epoch 9/100\n", | |
"103160/103160 [==============================] - 20s 197us/step - loss: 0.0173 - mean_squared_error: 0.0173 - mean_absolute_error: 0.0668 - val_loss: 0.0172 - val_mean_squared_error: 0.0172 - val_mean_absolute_error: 0.0662\n", | |
"Epoch 10/100\n", | |
"103160/103160 [==============================] - 20s 197us/step - loss: 0.0170 - mean_squared_error: 0.0170 - mean_absolute_error: 0.0660 - val_loss: 0.0168 - val_mean_squared_error: 0.0168 - val_mean_absolute_error: 0.0651\n", | |
"Epoch 11/100\n", | |
"103160/103160 [==============================] - 20s 196us/step - loss: 0.0168 - mean_squared_error: 0.0168 - mean_absolute_error: 0.0652 - val_loss: 0.0167 - val_mean_squared_error: 0.0167 - val_mean_absolute_error: 0.0653\n", | |
"Epoch 12/100\n", | |
"103160/103160 [==============================] - 20s 189us/step - loss: 0.0166 - mean_squared_error: 0.0166 - mean_absolute_error: 0.0645 - val_loss: 0.0166 - val_mean_squared_error: 0.0166 - val_mean_absolute_error: 0.0633\n", | |
"Epoch 13/100\n", | |
"103160/103160 [==============================] - 21s 200us/step - loss: 0.0164 - mean_squared_error: 0.0164 - mean_absolute_error: 0.0641 - val_loss: 0.0163 - val_mean_squared_error: 0.0163 - val_mean_absolute_error: 0.0638\n", | |
"Epoch 14/100\n", | |
"103160/103160 [==============================] - 21s 200us/step - loss: 0.0163 - mean_squared_error: 0.0163 - mean_absolute_error: 0.0636 - val_loss: 0.0163 - val_mean_squared_error: 0.0163 - val_mean_absolute_error: 0.0633\n" | |
] | |
} | |
], | |
"source": [ | |
"history = model.fit(train_input, train_input, epochs=100, batch_size=32, validation_data=(val_input, val_input), callbacks=[es]) #, callbacks=[cp])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 56, | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 1000 | |
}, | |
"colab_type": "code", | |
"id": "aInSa6UuuP5-", | |
"outputId": "f2057c80-b31e-41fc-ee7f-d9c4ffc059b3" | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 864x576 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"output_type": "display_data" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 864x576 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# Plot training & validation accuracy values\n", | |
"plt.figure(figsize=(12,8))\n", | |
"plt.plot(history.history['mean_absolute_error'])\n", | |
"plt.plot(history.history['val_mean_absolute_error'])\n", | |
"plt.title('MAE')\n", | |
"plt.ylabel('MAE')\n", | |
"plt.xlabel('Epoch')\n", | |
"plt.legend(['Train', 'Test'], loc='upper left')\n", | |
"plt.show()\n", | |
"\n", | |
"# Plot training & validation loss values\n", | |
"plt.figure(figsize=(12,8))\n", | |
"plt.plot(history.history['loss'])\n", | |
"plt.plot(history.history['val_loss'])\n", | |
"plt.title('MSE')\n", | |
"plt.ylabel('MSE')\n", | |
"plt.xlabel('Epoch')\n", | |
"plt.legend(['Train', 'Test'], loc='upper left')\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 0, | |
"metadata": { | |
"colab": {}, | |
"colab_type": "code", | |
"id": "Z9h9U_36vOD5" | |
}, | |
"outputs": [], | |
"source": [ | |
"def plot_pose_vae(xs, ys, vis):\n", | |
" import matplotlib.pyplot as plt\n", | |
" pairs = [[0,1], [0,2], [1, 3], [3, 5], [2, 4], [4, 6], [1, 7], [2,8], [7, 9], [9, 11], [8, 10], [10, 12], [7, 8]]\n", | |
" plt.figure(figsize=(12,8))\n", | |
" ys = 1 - ys\n", | |
" vis = list(vis.astype(int))\n", | |
" print(vis)\n", | |
" plt.scatter(xs[vis], ys[vis])\n", | |
" for pair in pairs:\n", | |
" vis_or_not = [vis[point] for point in pair]\n", | |
" if all(vis_or_not):\n", | |
" plt.plot(xs[pair], ys[pair], lw=5)\n", | |
" plt.xlim(0, 1)\n", | |
" plt.ylim(0, 1)\n", | |
" plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 61, | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 524 | |
}, | |
"colab_type": "code", | |
"id": "ncSZygPEv2f1", | |
"outputId": "25310ee5-4e46-44fd-f1e2-94993cf4983f" | |
}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]\n" | |
] | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 864x576 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"n = 100\n", | |
"plot_pose_vae(val_input[n, :13], val_input[n, 13:26], val_input[n, 26:])\n", | |
"pred = model.predict(val_input[n].reshape(1,-1))\n", | |
"# pred = decoder.predict(np.random.rand(1, 10))\n", | |
"# pred[0, 26:] = np.array([1 if pred[0, i] >= 0.5 else 0 for i in range(26, 39)])\n", | |
"# plot_pose_vae(pred[0, :13], pred[0, 13:26], pred[0, 26:])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 0, | |
"metadata": { | |
"colab": {}, | |
"colab_type": "code", | |
"id": "SVcbEJfbwV2x" | |
}, | |
"outputs": [], | |
"source": [ | |
"pred = decoder.predict(np.random.rand(1, 10))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 0, | |
"metadata": { | |
"colab": {}, | |
"colab_type": "code", | |
"id": "n6UhkW2Bwb0j" | |
}, | |
"outputs": [], | |
"source": [ | |
"pred = pred.reshape(nframe, 13*3)\n", | |
"real = val_input[n].reshape(nframe, 13*3)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 63, | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 37, | |
"resources": { | |
"http://localhost:8080/out_fake.gif": { | |
"data": "CjwhRE9DVFlQRSBodG1sPgo8aHRtbCBsYW5nPWVuPgogIDxtZXRhIGNoYXJzZXQ9dXRmLTg+CiAgPG1ldGEgbmFtZT12aWV3cG9ydCBjb250ZW50PSJpbml0aWFsLXNjYWxlPTEsIG1pbmltdW0tc2NhbGU9MSwgd2lkdGg9ZGV2aWNlLXdpZHRoIj4KICA8dGl0bGU+RXJyb3IgNDA0IChOb3QgRm91bmQpISExPC90aXRsZT4KICA8c3R5bGU+CiAgICAqe21hcmdpbjowO3BhZGRpbmc6MH1odG1sLGNvZGV7Zm9udDoxNXB4LzIycHggYXJpYWwsc2Fucy1zZXJpZn1odG1se2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMjIyO3BhZGRpbmc6MTVweH1ib2R5e21hcmdpbjo3JSBhdXRvIDA7bWF4LXdpZHRoOjM5MHB4O21pbi1oZWlnaHQ6MTgwcHg7cGFkZGluZzozMHB4IDAgMTVweH0qID4gYm9keXtiYWNrZ3JvdW5kOnVybCgvL3d3dy5nb29nbGUuY29tL2ltYWdlcy9lcnJvcnMvcm9ib3QucG5nKSAxMDAlIDVweCBuby1yZXBlYXQ7cGFkZGluZy1yaWdodDoyMDVweH1we21hcmdpbjoxMXB4IDAgMjJweDtvdmVyZmxvdzpoaWRkZW59aW5ze2NvbG9yOiM3Nzc7dGV4dC1kZWNvcmF0aW9uOm5vbmV9YSBpbWd7Ym9yZGVyOjB9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NzJweCl7Ym9keXtiYWNrZ3JvdW5kOm5vbmU7bWFyZ2luLXRvcDowO21heC13aWR0aDpub25lO3BhZGRpbmctcmlnaHQ6MH19I2xvZ297YmFja2dyb3VuZDp1cmwoLy93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvbG9nb3MvZXJyb3JwYWdlL2Vycm9yX2xvZ28tMTUweDU0LnBuZykgbm8tcmVwZWF0O21hcmdpbi1sZWZ0Oi01cHh9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246MTkyZHBpKXsjbG9nb3tiYWNrZ3JvdW5kOnVybCgvL3d3dy5nb29nbGUuY29tL2ltYWdlcy9sb2dvcy9lcnJvcnBhZ2UvZXJyb3JfbG9nby0xNTB4NTQtMngucG5nKSBuby1yZXBlYXQgMCUgMCUvMTAwJSAxMDAlOy1tb3otYm9yZGVyLWltYWdlOnVybCgvL3d3dy5nb29nbGUuY29tL2ltYWdlcy9sb2dvcy9lcnJvcnBhZ2UvZXJyb3JfbG9nby0xNTB4NTQtMngucG5nKSAwfX1AbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86Mil7I2xvZ297YmFja2dyb3VuZDp1cmwoLy93d3cuZ29vZ2xlLmNvbS9pbWFnZXMvbG9nb3MvZXJyb3JwYWdlL2Vycm9yX2xvZ28tMTUweDU0LTJ4LnBuZykgbm8tcmVwZWF0Oy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJX19I2xvZ297ZGlzcGxheTppbmxpbmUtYmxvY2s7aGVpZ2h0OjU0cHg7d2lkdGg6MTUwcHh9CiAgPC9zdHlsZT4KICA8YSBocmVmPS8vd3d3Lmdvb2dsZS5jb20vPjxzcGFuIGlkPWxvZ28gYXJpYS1sYWJlbD1Hb29nbGU+PC9zcGFuPjwvYT4KICA8cD48Yj40MDQuPC9iPiA8aW5zPlRoYXTigJlzIGFuIGVycm9yLjwvaW5zPgogIDxwPiAgPGlucz5UaGF04oCZcyBhbGwgd2Uga25vdy48L2lucz4K", | |
"headers": [ | |
[ | |
"content-length", | |
"1449" | |
], | |
[ | |
"content-type", | |
"text/html; charset=utf-8" | |
] | |
], | |
"ok": false, | |
"status": 404, | |
"status_text": "" | |
} | |
} | |
}, | |
"colab_type": "code", | |
"id": "aEukrwVMzHVT", | |
"outputId": "409fc4f2-958c-4f4e-9ee6-b44376985156" | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/html": [ | |
"<img src=\"out_fake.gif\">" | |
], | |
"text/plain": [ | |
"<IPython.core.display.HTML object>" | |
] | |
}, | |
"metadata": { | |
"tags": [] | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"def make_animation(draw_function, frames, interval, filename=None,\n", | |
" verbose=False, figure_params=None):\n", | |
" from matplotlib import pyplot, animation\n", | |
" from IPython.display import HTML, display, clear_output\n", | |
" import random\n", | |
"\n", | |
" if filename is None:\n", | |
" filename = 'animate_%06i.gif' % random.randint(0, 999999)\n", | |
" # Create figure\n", | |
" if figure_params is None:\n", | |
" figure_params = {}\n", | |
" figure = pyplot.figure(**figure_params)\n", | |
" # Wrap draw_function if we need to print to console\n", | |
" if verbose:\n", | |
" old_draw_function = draw_function\n", | |
" def draw_function(current_frame_number, total_frame_count):\n", | |
" old_draw_function(current_frame_number, total_frame_count)\n", | |
" print('Processed frame', current_frame_number + 1, '/', total_frame_count)\n", | |
" clear_output(wait=True)\n", | |
" if current_frame_number + 1 == total_frame_count:\n", | |
" print('Writing animation to file...')\n", | |
" clear_output(wait=True)\n", | |
" # Generate animation\n", | |
" anim = animation.FuncAnimation(\n", | |
" figure, draw_function, frames=frames, interval=interval,\n", | |
" init_func=lambda: None, fargs=(frames,))\n", | |
" anim.save(filename, writer='imagemagick')\n", | |
" # Close the animation figure so the last frame does not get displayed\n", | |
" # in the notebook.\n", | |
" pyplot.close()\n", | |
" # Return display object for the animated GIF\n", | |
" return display(HTML('<img src=\"' + filename + '\">'))\n", | |
"\n", | |
"def animate_pose_real(frame, total_frames):\n", | |
" pairs = [[0,1], [0,2], [1, 3], [3, 5], [2, 4], [4, 6], [1, 7], [2,8], [7, 9], [9, 11], [8, 10], [10, 12], [7, 8]]\n", | |
" xs = real[frame, :13]\n", | |
" ys = real[frame, 13:26]\n", | |
" ys = 1 - ys\n", | |
" plt.clf()\n", | |
" plt.scatter(xs, ys)\n", | |
" for pair in pairs:\n", | |
" plt.plot(xs[pair], ys[pair], lw=5)\n", | |
" plt.xlim(0, 1)\n", | |
" plt.ylim(0, 1)\n", | |
" \n", | |
" \n", | |
"def animate_pose_visible_real(frame, total_frames):\n", | |
" pairs = [[0,1], [0,2], [1, 3], [3, 5], [2, 4], [4, 6], [1, 7], [2,8], [7, 9], [9, 11], [8, 10], [10, 12], [7, 8]]\n", | |
" xs = real[frame, :13]\n", | |
" ys = real[frame, 13:26]\n", | |
" ys = 1 - ys\n", | |
" vis = [1 if v > 0.5 else 0 for v in real[frame, 26:]]\n", | |
" plt.clf()\n", | |
" plt.scatter(xs[vis], ys[vis])\n", | |
" for pair in pairs:\n", | |
" vis_or_not = [vis[point] for point in pair]\n", | |
" if all(vis_or_not):\n", | |
" plt.plot(xs[pair], ys[pair], lw=5)\n", | |
" plt.xlim(0, 1)\n", | |
" plt.ylim(0, 1)\n", | |
" \n", | |
"\n", | |
"def animate_pose_fake(frame, total_frames):\n", | |
" pairs = [[0,1], [0,2], [1, 3], [3, 5], [2, 4], [4, 6], [1, 7], [2,8], [7, 9], [9, 11], [8, 10], [10, 12], [7, 8]]\n", | |
" xs = pred[frame, :13]\n", | |
" ys = pred[frame, 13:26]\n", | |
" ys = 1 - ys\n", | |
" plt.clf()\n", | |
" plt.scatter(xs, ys)\n", | |
" for pair in pairs:\n", | |
" plt.plot(xs[pair], ys[pair], lw=5)\n", | |
" plt.xlim(0, 1)\n", | |
" plt.ylim(0, 1)\n", | |
" \n", | |
" \n", | |
"def animate_pose_visible_fake(frame, total_frames):\n", | |
" pairs = [[0,1], [0,2], [1, 3], [3, 5], [2, 4], [4, 6], [1, 7], [2,8], [7, 9], [9, 11], [8, 10], [10, 12], [7, 8]]\n", | |
" xs = pred[frame, :13]\n", | |
" ys = pred[frame, 13:26]\n", | |
" ys = 1 - ys\n", | |
" vis = [1 if v > 0.5 else 0 for v in pred[frame, 26:]]\n", | |
" plt.clf()\n", | |
" plt.scatter(xs[vis], ys[vis])\n", | |
" for pair in pairs:\n", | |
" vis_or_not = [vis[point] for point in pair]\n", | |
" if all(vis_or_not):\n", | |
" plt.plot(xs[pair], ys[pair], lw=5)\n", | |
" plt.xlim(0, 1)\n", | |
" plt.ylim(0, 1)\n", | |
"make_animation(animate_pose_visible_real, frames=nframe, interval=40, verbose=True, filename=\"out_real.gif\")\n", | |
"make_animation(animate_pose_visible_fake, frames=nframe, interval=40, verbose=True, filename=\"out_fake.gif\")" | |
] | |
} | |
], | |
"metadata": { | |
"accelerator": "GPU", | |
"colab": { | |
"collapsed_sections": [], | |
"name": "Pose Construction.ipynb", | |
"provenance": [] | |
}, | |
"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.6.8" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 1 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment