{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Exploration of 3D Indoor Scenes Datasets" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Install useful dependencies for data exploration" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "hideCode": false, "hideOutput": true, "hidePrompt": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.\n", "Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.\n", "To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Collecting plotly\n", " Downloading plotly-4.9.0-py2.py3-none-any.whl (12.9 MB)\n", "Requirement already satisfied: six in /opt/conda/lib/python3.6/site-packages (from plotly) (1.14.0)\n", "Collecting retrying>=1.3.3\n", " Downloading retrying-1.3.3.tar.gz (10 kB)\n", "Building wheels for collected packages: retrying\n", " Building wheel for retrying (setup.py): started\n", " Building wheel for retrying (setup.py): finished with status 'done'\n", " Created wheel for retrying: filename=retrying-1.3.3-py3-none-any.whl size=11430 sha256=aadcf7c4fb481ad4c17a17895314b11482e582e1588b81c4feca2294d100700d\n", " Stored in directory: /home/jovyan/.cache/pip/wheels/ac/cb/8a/b27bf6323e2f4c462dcbf77d70b7c5e7868a7fbe12871770cf\n", "Successfully built retrying\n", "Installing collected packages: retrying, plotly\n", "Successfully installed plotly-4.9.0 retrying-1.3.3\n", "Collecting pyquaternion\n", " Downloading pyquaternion-0.9.5-py3-none-any.whl (14 kB)\n", "Requirement already satisfied: numpy in /opt/conda/lib/python3.6/site-packages (from pyquaternion) (1.15.2)\n", "Installing collected packages: pyquaternion\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.\n", "Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.\n", "To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Successfully installed pyquaternion-0.9.5\n", "Collecting xmltodict\n", " Downloading xmltodict-0.12.0-py2.py3-none-any.whl (9.2 kB)\n", "Installing collected packages: xmltodict\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.\n", "Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.\n", "To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Successfully installed xmltodict-0.12.0\n" ] } ], "source": [ "import pip\n", "\n", "def install(package):\n", " if hasattr(pip, 'main'):\n", " pip.main(['install', package])\n", " else:\n", " pip._internal.main(['install', package])\n", "\n", "# install('panda3d')\n", "# install('ursina')\n", "# install('ipyvolume')\n", "install('plotly')\n", "install('pyquaternion')\n", "install('xmltodict')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Explore SceneNN scene" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Copy minimalist scene data as string \"sample_scene_data\"" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "hideCode": true, "hideOutput": true, "hidePrompt": false }, "outputs": [], "source": [ "sample_scene_data = \"\"\"\n", "\n", "\n", "\"\"\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Load scene data as xml tree element" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import xmltodict\n", "labels = xmltodict.parse(sample_scene_data)['annotation']['label']\n", "sample_label = labels[0]\n", "# sample_label" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "import pyquaternion\n", "\n", "def obbox_properties_to_vertices(obbox_properties):\n", " \"\"\"\n", " Convert 3D box properties (center, dimensions, and quaternion)\n", " \"\"\"\n", " if isinstance(obbox_properties, str):\n", " obbox_properties = list(map(float, obbox_properties.split()))\n", " \n", "# TODO ADD EXTRA CHECKS\n", "# if isinstance(obbox_properties, iterable) and len(obbox_properties == 10) and \n", " \n", " # Extract properties\n", " cx, cy, cz = obbox_properties[0:3]\n", " dx, dy, dz = obbox_properties[3:6]\n", " qx, qy, qz, qw = obbox_properties[6:10]\n", "\n", " # Constants for converting properties to vertices\n", " X = [0, 0, 1, 1, 0, 0, 1, 1]\n", " Y = [0, 1, 1, 0, 0, 1, 1, 0]\n", " Z = [0, 0, 0, 0, 1, 1, 1, 1]\n", "\n", " # Properties to unrotated vertices\n", " x = [cx + (-0.5 * dx if v == 0 else 0.5 * dx) for v in X]\n", " y = [cy + (-0.5 * dy if v == 0 else 0.5 * dy) for v in Y]\n", " z = [cz + (-0.5 * dz if v == 0 else 0.5 * dz) for v in Z]\n", " unrotated_vertices = zip(x, y, z)\n", " \n", " # Apply quaternion\n", " quaternion = pyquaternion.Quaternion(qw, qx, qy, qz)\n", " unrotated_vectors = [(v[0] - cx, v[1] - cy, v[2] - cz) for v in unrotated_vertices]\n", " vectors = [quaternion.rotate(v) for v in unrotated_vectors]\n", " vertices = [(v[0] + cx, v[1] + cy, v[2] + cz) for v in vectors]\n", " \n", " x, y, z = zip(*vertices)\n", " \n", " return x, y, z\n", "\n", "def aabbox_properties_to_vertices(aabbox_properties):\n", " \"\"\"\n", " Convert axis-aligned 3D box properties (center, dimensions, and quaternion)\n", " \"\"\"\n", " if isinstance(aabbox_properties, str):\n", " aabbox_properties = list(map(float, aabbox_properties.split()))\n", " \n", " # Extract properties\n", " minx, miny, minz = aabbox_properties[0:3]\n", " maxx, maxy, maxz = aabbox_properties[3:6]\n", "\n", " # Constants for converting properties to vertices\n", " X = [0, 0, 1, 1, 0, 0, 1, 1]\n", " Y = [0, 1, 1, 0, 0, 1, 1, 0]\n", " Z = [0, 0, 0, 0, 1, 1, 1, 1]\n", "\n", " # Properties to vertices\n", " x = [(minx if v == 0 else maxx) for v in X]\n", " y = [(miny if v == 0 else maxy) for v in Y]\n", " z = [(minz if v == 0 else maxz) for v in Z]\n", " vertices = zip(x, y, z)\n", " \n", " x, y, z = zip(*vertices)\n", " \n", " return x, y, z\n" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "import plotly.graph_objects as go\n", "import numpy as np\n", "\n", "def label_to_mesh_3d(label, color='magenta'):\n", "# x, y, z = obbox_properties_to_vertices(label['@obbox'])\n", " x, y, z = aabbox_properties_to_vertices(label['@aabbox'])\n", " mesh_3d = go.Mesh3d(\n", " x=x, y=y, z=z,\n", " color=color,\n", " opacity=0.5,\n", " # i, j and k give the vertices of triangles\n", " i = [7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2],\n", " j = [3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3],\n", " k = [0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6],\n", " name=label['@nyu_class'],\n", " showscale=True\n", " )\n", " return mesh_3d\n", "\n", "def plot_obbox(obbox):\n", " x, y, z = obbox_properties_to_vertices(obbox)\n", " fig = go.Figure(data=[\n", " go.Mesh3d(\n", " x=x, y=y, z=z,\n", " color='magenta',\n", " opacity=0.5,\n", " # i, j and k give the vertices of triangles\n", " i = [7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2],\n", " j = [3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3],\n", " k = [0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6],\n", " name='y',\n", " showscale=True\n", " )\n", " ])\n", " return fig\n", "\n", "# fig.show()" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "scrolled": true }, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "y", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ -3.6886965305184787, -3.6248609873006448, 1.1315826823865907, 1.0677471391687567, -3.5621826823865907, -3.498347139168757, 1.2580965305184786, 1.1942609873006447 ], "y": [ -1.039569781668396, -3.931327300833111, -3.8171381678029768, -0.9253806486382623, -1.240321832197023, -4.132079351361738, -4.017890218331604, -1.1261326991668894 ], "z": [ -0.2734329098196713, -0.10903792608714347, 0.05262831216329, -0.11176667156923759, -3.8538483121632896, -3.689453328430762, -3.527787090180328, -3.692182073912856 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } } } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_obbox(sample_label['@obbox'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Check if a nyu_class can be represented by different colors in original dataset" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'wall': ['21 156 162'],\n", " 'bed': ['195 224 75'],\n", " 'ceiling': ['249 129 6',\n", " '216 148 91',\n", " '210 171 73',\n", " '85 110 41',\n", " '148 2 50',\n", " '90 67 102'],\n", " 'floor': ['244 244 249', '84 102 188'],\n", " 'desk': ['73 37 200', '95 228 26'],\n", " 'bookshelf': ['205 250 112'],\n", " 'window': ['240 88 86'],\n", " 'door': ['153 91 119', '241 196 116', '36 242 138'],\n", " 'chair': ['56 190 211', '174 76 53', '58 1 47', '206 81 234'],\n", " 'shelves': ['244 76 17'],\n", " 'cabinet': ['139 41 45'],\n", " 'prop': ['17 15 47',\n", " '166 71 56',\n", " '218 234 195',\n", " '130 122 54',\n", " '41 64 0',\n", " '172 18 250',\n", " '26 98 68'],\n", " 'box': ['196 11 210', '191 240 43', '246 217 198', '123 185 187'],\n", " 'unknown': ['18 72 169',\n", " '250 241 183',\n", " '208 23 69',\n", " '162 77 150',\n", " '209 7 128',\n", " '182 133 137',\n", " '25 103 137',\n", " '108 71 13',\n", " '112 144 15',\n", " '52 237 197',\n", " '106 59 108',\n", " '210 95 11',\n", " '90 67 102',\n", " '73 40 150',\n", " '122 86 209',\n", " '30 172 1',\n", " '203 120 184',\n", " '154 107 160',\n", " '148 185 161',\n", " '167 223 45',\n", " '207 177 201',\n", " '4 189 197',\n", " '59 43 90',\n", " '163 100 250',\n", " '159 239 33',\n", " '112 144 78',\n", " '188 152 217',\n", " '139 146 65',\n", " '93 225 236',\n", " '76 95 67',\n", " '223 118 188',\n", " '4 83 132',\n", " '201 250 235',\n", " '62 159 62',\n", " '28 120 85',\n", " '104 146 227',\n", " '184 83 32',\n", " '233 201 250',\n", " '107 220 11',\n", " '51 152 136',\n", " '118 140 164',\n", " '217 239 62',\n", " '167 41 210',\n", " '27 215 220',\n", " '172 250 142',\n", " '48 5 152',\n", " '233 44 11',\n", " '110 101 52',\n", " '175 220 62',\n", " '1 150 55',\n", " '74 13 143',\n", " '205 52 250',\n", " '133 22 195',\n", " '110 149 205',\n", " '119 93 63',\n", " '119 184 22',\n", " '105 244 233',\n", " '215 141 14',\n", " '149 85 4',\n", " '71 161 161',\n", " '70 75 9',\n", " '95 212 147',\n", " '4 8 173',\n", " '101 141 78',\n", " '207 7 169',\n", " '164 107 190',\n", " '205 37 21',\n", " '85 183 82',\n", " '58 10 102',\n", " '218 56 84',\n", " '186 239 250',\n", " '202 148 65',\n", " '53 77 233',\n", " '40 145 247',\n", " '187 145 169',\n", " '112 218 250',\n", " '30 223 64',\n", " '32 207 20',\n", " '169 79 4',\n", " '113 80 146',\n", " '171 190 18',\n", " '147 26 117',\n", " '250 220 60',\n", " '164 163 217',\n", " '217 230 40',\n", " '43 3 39',\n", " '239 153 26',\n", " '102 154 66',\n", " '101 55 196',\n", " '210 246 33',\n", " '173 100 189',\n", " '41 92 11',\n", " '6 249 146',\n", " '172 231 18',\n", " '138 62 70',\n", " '132 140 147',\n", " '106 141 197',\n", " '183 175 113',\n", " '210 198 143',\n", " '96 105 119',\n", " '240 81 17',\n", " '173 58 234',\n", " '229 193 249',\n", " '173 196 236',\n", " '102 178 37',\n", " '135 200 219',\n", " '41 183 99',\n", " '59 70 204',\n", " '184 211 242',\n", " '136 69 244',\n", " '46 90 116',\n", " '159 147 75',\n", " '18 128 86',\n", " '161 250 179',\n", " '140 77 118',\n", " '188 109 114',\n", " '132 58 181',\n", " '250 45 179',\n", " '210 32 14',\n", " '24 250 147',\n", " '124 199 230',\n", " '48 202 90',\n", " '56 214 222',\n", " '235 134 96',\n", " '5 226 192',\n", " '146 193 125',\n", " '35 23 132',\n", " '151 191 199',\n", " '0 140 96',\n", " '250 107 130',\n", " '240 192 243',\n", " '201 117 245',\n", " '20 36 204',\n", " '113 215 14',\n", " '68 30 77',\n", " '119 96 221',\n", " '51 168 0',\n", " '140 167 165',\n", " '100 149 43',\n", " '25 146 177',\n", " '203 175 125',\n", " '218 225 152',\n", " '128 35 113',\n", " '235 149 165',\n", " '240 119 130',\n", " '63 157 23',\n", " '250 226 153',\n", " '64 72 124',\n", " '220 77 11',\n", " '82 70 205',\n", " '193 63 183',\n", " '246 150 162',\n", " '191 33 82',\n", " '49 9 124',\n", " '236 97 247',\n", " '29 73 42',\n", " '174 176 151',\n", " '216 104 115',\n", " '27 52 207',\n", " '250 241 209',\n", " '107 100 148',\n", " '132 40 88',\n", " '111 106 74',\n", " '122 57 155',\n", " '38 90 35',\n", " '152 39 154',\n", " '212 100 97',\n", " '136 81 169',\n", " '250 166 155',\n", " '9 197 112',\n", " '125 175 130',\n", " '120 165 250',\n", " '18 10 103',\n", " '246 199 122',\n", " '172 40 30',\n", " '223 121 124',\n", " '63 144 165',\n", " '99 1 245',\n", " '130 237 103',\n", " '67 146 89',\n", " '134 201 211',\n", " '150 163 193',\n", " '209 54 93',\n", " '227 28 148',\n", " '59 198 224',\n", " '135 155 63',\n", " '245 37 151',\n", " '110 170 171',\n", " '161 250 79',\n", " '30 162 66',\n", " '88 228 147'],\n", " 'towel': ['166 215 75', '190 249 53'],\n", " 'television': ['182 11 150'],\n", " 'bag': ['79 176 148'],\n", " 'lamp': ['126 210 18', '196 36 92', '234 250 54']}" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "classes = {}\n", "for label in labels:\n", " if label['@nyu_class'] in classes:\n", " if label['@color'] not in classes[label['@nyu_class']]:\n", " classes[label['@nyu_class']].append(label['@color'])\n", " else:\n", " classes[label['@nyu_class']] = [label['@color']]\n", "classes" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "filter = \n", "meshes = [label_to_mesh_3d(label) for label in labels if (label['@nyu_class'] != 'unknown')]" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "wall", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ -1.19997, -1.19997, 3.51822, 3.51822, -1.19997, -1.19997, 3.51822, 3.51822 ], "y": [ -0.368718, 2.43698, 2.43698, -0.368718, -0.368718, 2.43698, 2.43698, -0.368718 ], "z": [ -1.66073, -1.66073, -1.66073, -1.66073, 1.86119, 1.86119, 1.86119, 1.86119 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "bed", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 1.4847, 1.4847, 3.44424, 3.44424, 1.4847, 1.4847, 3.44424, 3.44424 ], "y": [ -0.026236, 0.944559, 0.944559, -0.026236, -0.026236, 0.944559, 0.944559, -0.026236 ], "z": [ -0.366322, -0.366322, -0.366322, -0.366322, 1.77088, 1.77088, 1.77088, 1.77088 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "ceiling", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ -1.12824, -1.12824, 3.4982, 3.4982, -1.12824, -1.12824, 3.4982, 3.4982 ], "y": [ 2.14973, 2.53253, 2.53253, 2.14973, 2.14973, 2.53253, 2.53253, 2.14973 ], "z": [ -1.58214, -1.58214, -1.58214, -1.58214, 1.78882, 1.78882, 1.78882, 1.78882 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "floor", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ -1.18172, -1.18172, 3.08783, 3.08783, -1.18172, -1.18172, 3.08783, 3.08783 ], "y": [ -0.0148826, 0.0916746, 0.0916746, -0.0148826, -0.0148826, 0.0916746, 0.0916746, -0.0148826 ], "z": [ -1.62239, -1.62239, -1.62239, -1.62239, 1.73871, 1.73871, 1.73871, 1.73871 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "desk", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 0.793233, 0.793233, 2.22977, 2.22977, 0.793233, 0.793233, 2.22977, 2.22977 ], "y": [ 0.000666074, 0.89808, 0.89808, 0.000666074, 0.000666074, 0.89808, 0.89808, 0.000666074 ], "z": [ -1.67159, -1.67159, -1.67159, -1.67159, -0.897861, -0.897861, -0.897861, -0.897861 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "bookshelf", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 2.26295, 2.26295, 2.96968, 2.96968, 2.26295, 2.26295, 2.96968, 2.96968 ], "y": [ 0.00776958, 2.32645, 2.32645, 0.00776958, 0.00776958, 2.32645, 2.32645, 0.00776958 ], "z": [ -1.63102, -1.63102, -1.63102, -1.63102, -1.28244, -1.28244, -1.28244, -1.28244 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "window", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 3.31804, 3.31804, 3.5944, 3.5944, 3.31804, 3.31804, 3.5944, 3.5944 ], "y": [ 0.637477, 2.0335, 2.0335, 0.637477, 0.637477, 2.0335, 2.0335, 0.637477 ], "z": [ -0.81079, -0.81079, -0.81079, -0.81079, 1.05564, 1.05564, 1.05564, 1.05564 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "door", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ -0.525057, -0.525057, -0.387286, -0.387286, -0.525057, -0.525057, -0.387286, -0.387286 ], "y": [ 0.0159803, 2.089, 2.089, 0.0159803, 0.0159803, 2.089, 2.089, 0.0159803 ], "z": [ -1.53018, -1.53018, -1.53018, -1.53018, -0.671425, -0.671425, -0.671425, -0.671425 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "door", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ -0.449669, -0.449669, -0.0263047, -0.0263047, -0.449669, -0.449669, -0.0263047, -0.0263047 ], "y": [ -0.00494763, 1.98988, 1.98988, -0.00494763, -0.00494763, 1.98988, 1.98988, -0.00494763 ], "z": [ 0.76979, 0.76979, 0.76979, 0.76979, 1.56283, 1.56283, 1.56283, 1.56283 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "desk", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 0.290531, 0.290531, 1.367, 1.367, 0.290531, 0.290531, 1.367, 1.367 ], "y": [ -0.00133602, 0.766986, 0.766986, -0.00133602, -0.00133602, 0.766986, 0.766986, -0.00133602 ], "z": [ 1.18812, 1.18812, 1.18812, 1.18812, 1.73901, 1.73901, 1.73901, 1.73901 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "door", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ -1.18244, -1.18244, -1.06716, -1.06716, -1.18244, -1.18244, -1.06716, -1.06716 ], "y": [ 0.00967989, 1.99092, 1.99092, 0.00967989, 0.00967989, 1.99092, 1.99092, 0.00967989 ], "z": [ -0.376451, -0.376451, -0.376451, -0.376451, 0.521161, 0.521161, 0.521161, 0.521161 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "chair", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 0.382699, 0.382699, 1.06383, 1.06383, 0.382699, 0.382699, 1.06383, 1.06383 ], "y": [ -0.00194225, 1.05044, 1.05044, -0.00194225, -0.00194225, 1.05044, 1.05044, -0.00194225 ], "z": [ 0.415045, 0.415045, 0.415045, 0.415045, 1.15705, 1.15705, 1.15705, 1.15705 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "chair", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 0.935017, 0.935017, 1.65451, 1.65451, 0.935017, 0.935017, 1.65451, 1.65451 ], "y": [ -0.0100944, 1.05093, 1.05093, -0.0100944, -0.0100944, 1.05093, 1.05093, -0.0100944 ], "z": [ -1.16383, -1.16383, -1.16383, -1.16383, -0.420796, -0.420796, -0.420796, -0.420796 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "shelves", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 0.286016, 0.286016, 1.37446, 1.37446, 0.286016, 0.286016, 1.37446, 1.37446 ], "y": [ 0.684933, 1.46033, 1.46033, 0.684933, 0.684933, 1.46033, 1.46033, 0.684933 ], "z": [ 1.26976, 1.26976, 1.26976, 1.26976, 1.74382, 1.74382, 1.74382, 1.74382 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "cabinet", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ -0.107905, -0.107905, 0.325698, 0.325698, -0.107905, -0.107905, 0.325698, 0.325698 ], "y": [ -0.00569803, 0.746389, 0.746389, -0.00569803, -0.00569803, 0.746389, 0.746389, -0.00569803 ], "z": [ 1.18571, 1.18571, 1.18571, 1.18571, 1.72018, 1.72018, 1.72018, 1.72018 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "ceiling", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ -0.385228, -0.385228, 0.653283, 0.653283, -0.385228, -0.385228, 0.653283, 0.653283 ], "y": [ 2.39886, 2.4389, 2.4389, 2.39886, 2.39886, 2.4389, 2.4389, 2.39886 ], "z": [ -1.58122, -1.58122, -1.58122, -1.58122, -0.215809, -0.215809, -0.215809, -0.215809 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "ceiling", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 1.58941, 1.58941, 3.44314, 3.44314, 1.58941, 1.58941, 3.44314, 3.44314 ], "y": [ 2.3356, 2.56243, 2.56243, 2.3356, 2.3356, 2.56243, 2.56243, 2.3356 ], "z": [ 1.14904, 1.14904, 1.14904, 1.14904, 1.79068, 1.79068, 1.79068, 1.79068 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "ceiling", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 2.25173, 2.25173, 3.44493, 3.44493, 2.25173, 2.25173, 3.44493, 3.44493 ], "y": [ 2.31194, 2.51727, 2.51727, 2.31194, 2.31194, 2.51727, 2.51727, 2.31194 ], "z": [ 0.0536749, 0.0536749, 0.0536749, 0.0536749, 1.78908, 1.78908, 1.78908, 1.78908 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "floor", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ -1.03127, -1.03127, -0.231867, -0.231867, -1.03127, -1.03127, -0.231867, -0.231867 ], "y": [ -0.144073, -0.0262013, -0.0262013, -0.144073, -0.144073, -0.0262013, -0.0262013, -0.144073 ], "z": [ -0.262451, -0.262451, -0.262451, -0.262451, 0.838649, 0.838649, 0.838649, 0.838649 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "chair", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 2.67316, 2.67316, 3.25429, 3.25429, 2.67316, 2.67316, 3.25429, 3.25429 ], "y": [ 0.00794199, 0.86432, 0.86432, 0.00794199, 0.00794199, 0.86432, 0.86432, 0.00794199 ], "z": [ -0.944999, -0.944999, -0.944999, -0.944999, -0.253469, -0.253469, -0.253469, -0.253469 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "prop", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ -0.0010249, -0.0010249, 0.714161, 0.714161, -0.0010249, -0.0010249, 0.714161, 0.714161 ], "y": [ 0.0233582, 1.08931, 1.08931, 0.0233582, 0.0233582, 1.08931, 1.08931, 0.0233582 ], "z": [ -1.63019, -1.63019, -1.63019, -1.63019, -1.19816, -1.19816, -1.19816, -1.19816 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "box", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 2.42092, 2.42092, 2.93556, 2.93556, 2.42092, 2.42092, 2.93556, 2.93556 ], "y": [ -0.0107962, 0.375412, 0.375412, -0.0107962, -0.0107962, 0.375412, 0.375412, -0.0107962 ], "z": [ -1.12999, -1.12999, -1.12999, -1.12999, -0.651919, -0.651919, -0.651919, -0.651919 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "towel", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 3.07123, 3.07123, 3.31209, 3.31209, 3.07123, 3.07123, 3.31209, 3.31209 ], "y": [ 0.123928, 1.00659, 1.00659, 0.123928, 0.123928, 1.00659, 1.00659, 0.123928 ], "z": [ -1.26923, -1.26923, -1.26923, -1.26923, -0.876854, -0.876854, -0.876854, -0.876854 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "prop", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 0.31266, 0.31266, 0.502629, 0.502629, 0.31266, 0.31266, 0.502629, 0.502629 ], "y": [ 0.0404009, 1.00792, 1.00792, 0.0404009, 0.0404009, 1.00792, 1.00792, 0.0404009 ], "z": [ -1.03865, -1.03865, -1.03865, -1.03865, -0.847096, -0.847096, -0.847096, -0.847096 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "box", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ -0.199661, -0.199661, 0.173913, 0.173913, -0.199661, -0.199661, 0.173913, 0.173913 ], "y": [ 0.0167333, 0.293142, 0.293142, 0.0167333, 0.0167333, 0.293142, 0.293142, 0.0167333 ], "z": [ -1.33451, -1.33451, -1.33451, -1.33451, -0.884214, -0.884214, -0.884214, -0.884214 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "ceiling", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 2.73446, 2.73446, 3.4486, 3.4486, 2.73446, 2.73446, 3.4486, 3.4486 ], "y": [ 2.31599, 2.3655, 2.3655, 2.31599, 2.31599, 2.3655, 2.3655, 2.31599 ], "z": [ 0.0555127, 0.0555127, 0.0555127, 0.0555127, 0.917803, 0.917803, 0.917803, 0.917803 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "television", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 0.647908, 0.647908, 1.18645, 1.18645, 0.647908, 0.647908, 1.18645, 1.18645 ], "y": [ 0.73519, 1.12188, 1.12188, 0.73519, 0.73519, 1.12188, 1.12188, 0.73519 ], "z": [ 1.48648, 1.48648, 1.48648, 1.48648, 1.72417, 1.72417, 1.72417, 1.72417 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "box", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 0.57966, 0.57966, 0.82222, 0.82222, 0.57966, 0.57966, 0.82222, 0.82222 ], "y": [ 0.0163808, 0.325732, 0.325732, 0.0163808, 0.0163808, 0.325732, 0.325732, 0.0163808 ], "z": [ -1.24037, -1.24037, -1.24037, -1.24037, -0.908159, -0.908159, -0.908159, -0.908159 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "prop", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 1.81959, 1.81959, 2.20897, 2.20897, 1.81959, 1.81959, 2.20897, 2.20897 ], "y": [ 0.708031, 0.911846, 0.911846, 0.708031, 0.708031, 0.911846, 0.911846, 0.708031 ], "z": [ -1.58127, -1.58127, -1.58127, -1.58127, -1.26119, -1.26119, -1.26119, -1.26119 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "chair", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 0.318771, 0.318771, 0.743473, 0.743473, 0.318771, 0.318771, 0.743473, 0.743473 ], "y": [ 0.0129754, 0.323746, 0.323746, 0.0129754, 0.0129754, 0.323746, 0.323746, 0.0129754 ], "z": [ 1.13385, 1.13385, 1.13385, 1.13385, 1.48858, 1.48858, 1.48858, 1.48858 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "bag", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ -0.462246, -0.462246, -0.331518, -0.331518, -0.462246, -0.462246, -0.331518, -0.331518 ], "y": [ 0.00908376, 0.335888, 0.335888, 0.00908376, 0.00908376, 0.335888, 0.335888, 0.00908376 ], "z": [ -0.783411, -0.783411, -0.783411, -0.783411, -0.351918, -0.351918, -0.351918, -0.351918 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "box", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 0.951128, 0.951128, 1.20814, 1.20814, 0.951128, 0.951128, 1.20814, 1.20814 ], "y": [ 1.25998, 1.64365, 1.64365, 1.25998, 1.25998, 1.64365, 1.64365, 1.25998 ], "z": [ 1.59453, 1.59453, 1.59453, 1.59453, 1.7519, 1.7519, 1.7519, 1.7519 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "ceiling", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 2.6758, 2.6758, 3.2557, 3.2557, 2.6758, 2.6758, 3.2557, 3.2557 ], "y": [ 2.27215, 2.3205, 2.3205, 2.27215, 2.27215, 2.3205, 2.3205, 2.27215 ], "z": [ -0.94066, -0.94066, -0.94066, -0.94066, -0.481182, -0.481182, -0.481182, -0.481182 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "lamp", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 0.810164, 0.810164, 1.02336, 1.02336, 0.810164, 0.810164, 1.02336, 1.02336 ], "y": [ 1.04425, 1.25713, 1.25713, 1.04425, 1.04425, 1.25713, 1.25713, 1.04425 ], "z": [ -1.56566, -1.56566, -1.56566, -1.56566, -1.38084, -1.38084, -1.38084, -1.38084 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "towel", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ -0.43353, -0.43353, -0.288287, -0.288287, -0.43353, -0.43353, -0.288287, -0.288287 ], "y": [ 0.362032, 0.90526, 0.90526, 0.362032, 0.362032, 0.90526, 0.90526, 0.362032 ], "z": [ 0.872099, 0.872099, 0.872099, 0.872099, 1.11289, 1.11289, 1.11289, 1.11289 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "lamp", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 1.36697, 1.36697, 1.64533, 1.64533, 1.36697, 1.36697, 1.64533, 1.64533 ], "y": [ 1.5431, 1.71023, 1.71023, 1.5431, 1.5431, 1.71023, 1.71023, 1.5431 ], "z": [ 1.40619, 1.40619, 1.40619, 1.40619, 1.65789, 1.65789, 1.65789, 1.65789 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "prop", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ -0.108513, -0.108513, 0.232792, 0.232792, -0.108513, -0.108513, 0.232792, 0.232792 ], "y": [ 0.734318, 0.750806, 0.750806, 0.734318, 0.734318, 0.750806, 0.750806, 0.734318 ], "z": [ 1.26856, 1.26856, 1.26856, 1.26856, 1.49703, 1.49703, 1.49703, 1.49703 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "prop", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 1.09231, 1.09231, 1.21462, 1.21462, 1.09231, 1.09231, 1.21462, 1.21462 ], "y": [ 0.733122, 0.839597, 0.839597, 0.733122, 0.733122, 0.839597, 0.839597, 0.733122 ], "z": [ 1.25028, 1.25028, 1.25028, 1.25028, 1.38569, 1.38569, 1.38569, 1.38569 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "lamp", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 1.2088, 1.2088, 1.32562, 1.32562, 1.2088, 1.2088, 1.32562, 1.32562 ], "y": [ 1.34933, 1.45668, 1.45668, 1.34933, 1.34933, 1.45668, 1.45668, 1.34933 ], "z": [ 1.33935, 1.33935, 1.33935, 1.33935, 1.46189, 1.46189, 1.46189, 1.46189 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "prop", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 1.07431, 1.07431, 1.13287, 1.13287, 1.07431, 1.07431, 1.13287, 1.13287 ], "y": [ 0.74207, 0.87814, 0.87814, 0.74207, 0.74207, 0.87814, 0.87814, 0.74207 ], "z": [ 1.43688, 1.43688, 1.43688, 1.43688, 1.48856, 1.48856, 1.48856, 1.48856 ] }, { "color": "magenta", "i": [ 7, 0, 0, 0, 4, 4, 6, 6, 4, 0, 3, 2 ], "j": [ 3, 4, 1, 2, 5, 6, 5, 2, 0, 1, 6, 3 ], "k": [ 0, 7, 2, 3, 6, 7, 1, 1, 5, 5, 7, 6 ], "name": "prop", "opacity": 0.5, "showscale": true, "type": "mesh3d", "x": [ 0.505622, 0.505622, 0.561818, 0.561818, 0.505622, 0.505622, 0.561818, 0.561818 ], "y": [ 0.732508, 0.854789, 0.854789, 0.732508, 0.732508, 0.854789, 0.854789, 0.732508 ], "z": [ 1.45467, 1.45467, 1.45467, 1.45467, 1.51279, 1.51279, 1.51279, 1.51279 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } } } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = go.Figure(data=meshes)\n", "fig.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Hide code", "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.4" } }, "nbformat": 4, "nbformat_minor": 2 }