Skip to content

Instantly share code, notes, and snippets.

@nathanmargaglio
Created April 1, 2020 20:14
Show Gist options
  • Save nathanmargaglio/b8ddb190669c1c6a7e89c7ca4a047318 to your computer and use it in GitHub Desktop.
Save nathanmargaglio/b8ddb190669c1c6a7e89c7ca4a047318 to your computer and use it in GitHub Desktop.
Vectorization Exploration
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 79,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"\n",
"np.set_printoptions(formatter={'float': lambda x: \"{0:0.4f}\".format(x)}) # for prettier floats"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Import Data"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"# Import the preprocessed data as a DataFrame\n",
"df = pd.read_pickle('../images.pickle')"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"# Extract final states\n",
"final_states = []\n",
"for idx, group in df.groupby(['BR', 'CHI', 'count']):\n",
" max_timestep = group.timestep.max() # get the last timestep\n",
" final_state = group[group.timestep == max_timestep].iloc[0] # grab the final state\n",
" final_states.append(final_state)\n",
"\n",
"df_f = pd.DataFrame(final_states) # create a dataframe of final states"
]
},
{
"cell_type": "code",
"execution_count": 126,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"BR 0.5\n",
"CHI 2.2\n",
"count 109\n",
"timestep 108\n",
"image [0.2485353, 0.248537, 0.2485392, 0.2485423, 0....\n",
"Name: 108, dtype: object\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"BR 0.52\n",
"CHI 2.5\n",
"count 253\n",
"timestep 252\n",
"image [0.144794, 0.144794, 0.144794, 0.144794, 0.144...\n",
"Name: 3205, dtype: object\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"BR 0.56\n",
"CHI 2.3\n",
"count 190\n",
"timestep 189\n",
"image [0.7910438, 0.7902279, 0.7890246, 0.7872556, 0...\n",
"Name: 9429, dtype: object\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"BR 0.6\n",
"CHI 2.8\n",
"count 404\n",
"timestep 402\n",
"image [0.3567287, 0.2558201, 0.183306, 0.1382784, 0....\n",
"Name: 14030, dtype: object\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Plot a few random samples\n",
"sample_indices = [0, 15, 40, 55]\n",
"for idx in sample_indices:\n",
" sample = df_f.iloc[idx]\n",
" print(sample)\n",
" plt.imshow(sample.image.reshape((100, 400)))\n",
" plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Exploring Current Vectorization Code"
]
},
{
"cell_type": "code",
"execution_count": 120,
"metadata": {},
"outputs": [],
"source": [
"import scipy\n",
"from skimage import measure, io, draw\n",
"from skimage.future import graph\n",
"from scipy.spatial import KDTree\n",
"\n",
"from helper import generate_vectors"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First, let's see what this looks like for a single sample."
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAB2CAYAAADRN8iWAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAALtElEQVR4nO3da6gc9R3G8e9jTGK9UI1KiBqqkbRFij2GVC0VoQ1e4otGQSS+sFKkkVZBoYVGBbGFQitVoVAUxdS0td4V88I2XqH0RdVoY4ym0agRjTFR6yVtQWv89cX816zHPefs2cvM/GefDyxnd+Zs5slv/vM7szO7O4oIzMwsP3tVHcDMzHrjBm5mlik3cDOzTLmBm5llyg3czCxTbuBmZpnqq4FLOl3SZklbJK0cVCgzM5uaen0fuKQZwAvAKcDrwJPAuRHx/ODimZnZRPrZAz8e2BIRL0fER8DtwLLBxDIzs6ns3cdzDwdea3v8OnDCZE+YpdmxD/v1sUiroy8f+9+qI1TuhQ37Vh3B+lDXMdwaV7t49+2IOHT8/H4aeFckrQBWAOzDvpygJcNepJVs7dr1VUeo3GmHjVUdwfpQ1zHcGlcPx92vdprfzyGUbcD8tsdHpGmfERE3RsTiiFg8k9l9LM7MzNr108CfBBZKOkrSLGA5sGYwsczMbCo9N/CI+Bi4GFgLbALujIjnBhXM8rD2jXq+9DRrgqm2r76OgUfEA8AD/fwbZmbWG38S08xGWs6vIt3Azcwy5QZuZpYpN3Azs0y5gZuZZarUBl7Xj6tab3I++WOWi8m2M++Bm9nIyn0nxA3cbABybwSWJzdwM7NMld7AvadiZnXQhF7kPXAzs0y5gZsNSBP26CwvUzZwSfMlPSbpeUnPSbokTb9K0jZJ69PtjG4X6oGeP69Dy1lTxm83e+AfAz+OiGOAE4GLJB2T5l0XEWPp5m8ltJHXlMZgeZjy62QjYjuwPd3fJWkTxfUwbUS5SZnVw7SOgUs6EjgOeDxNuljSBkmrJB00wXNWSFonad1b7+zuK6yZme3RdQOXtD9wD3BpRHwAXA8cDYxR7KFf0+l57dfEPPTgGQOIbFZvfoViZemqgUuaSdG8b42IewEiYkdE7I6IT4CbgOOns2AP8jx5vVnumjSGu3kXioCbgU0RcW3b9Hltv3YWsHG6C29SIUeB11f3XKt6atp66eaamN8CzgOeldT6318OnCtpDAhgK3DhUBKamVlH3bwL5W+AOswayNsG176xntMOGxvEP2VD1LQ9Fxs9TRzD/iSm2ZA0sWFYvdSigXugm9kwNbXH1KKBQ3ML3AReN71b+8Z6169iTa5/bRq41VOTB79Z7tzAzUrgP4Q2DLVq4B7k9eL1MViuZ/maXvNaNXAzs0FpevOGGjZwn/SpntfB8Liu5RiVOteugbeMygqw0eOxPVyjVN/aNnAzs+kapeYNNW/go7Yy6sA1L4frbINQ6wZu5XJTKZfrPVijWM9uvo0QSVuBXcBu4OOIWCxpDnAHcCTFtxGeExHvDjpga6X4C6+GZxQHfl34y9z6N8rjdzp74N9OFy9enB6vBB6JiIXAI+nx0IzyShom17V6Xge9G/Xa9XMIZRmwOt1fDZzZf5zJjfrKGjTXsz68LqbPNeu+gQfwoKSnJK1I0+amK9YDvAnM7fTEQV/U2CvNmspj26ar2wZ+UkQsApYCF0k6uX1mRARFk/8cX9S4ntws6snrpTuuU6GrBh4R29LPncB9FBcw3tG6Lmb6uXNYIcfzyuuP61dv/iTs5FybPaZ8F4qk/YC9ImJXun8q8HNgDXA+8Mv08/5hBh3P706ZPg/8vPgdKnt47HbWzdsI5wL3FRenZ2/gTxHxF0lPAndKugB4FThneDEn5kbeHW8AefL4tsl0c1Hjl4Gvd5j+DrBkGKFssNy88zeqe+Meu5NrzCcxvaI7c12aY9TW5aj9f3vR1Scxc+GXm3t48DfTKOyJe+x2r1ENvGWUG7kHf/ONX8dNGOcet71pZANvGaVG7g1gdOW8V+5x259GN/CWJjdybwAGnx0HuYxzj93+NeYkZjeaNmCa9v+xwajzuGh9SKnOGXMyEnvg7ZqwN+7Bb1Op2x65x+xwjFwDb8npRJAHv/VjsvEzqHHvMVqNkW3g43mPxUaRx1ne3MA7qKqZe2Mys+lwA5/CMA+1uGGbWT/cwKfJTdfM6qKbr5P9CsXFi1sWAFcCBwI/AN5K0y+PiAcGntDMzDrq5tsINwNjAJJmANsoLurwfeC6iPj1UBOamVlH0/0gzxLgpYh4dRhhzMyse9Nt4MuB29oeXyxpg6RVkg7q9IRBX9TYzMwKXTdwSbOA7wJ3pUnXA0dTHF7ZDlzT6Xm+qLGZ2XBMZw98KfB0ROwAiIgdEbE7Ij4BbqK40LGZmZVkOg38XNoOn7SuSJ+cBWwcVCgzM5taV+8DT1ejPwW4sG3y1ZLGgAC2jptnZmZD1lUDj4j/AAePm3beUBKZmVlXRur7wM3MmsQN3MwsU27gZmaZcgM3M8uUG7iZWabcwM3MMuUGbmaWKTdwM7NMuYGbmWXKDdzMLFNu4GZmmXIDNzPLlBu4mVmm3MDNzDLlBm5mlilFRHkLk3YBm0tbYO8OAd6uOkQXnHOwnHNwcsgI+eT8UkQcOn5iVxd0GKDNEbG45GVOm6R1zjk4zjlYOeTMISPkk3MiPoRiZpYpN3Azs0yV3cBvLHl5vXLOwXLOwcohZw4ZIZ+cHZV6EtPMzAbHh1DMzDJVWgOXdLqkzZK2SFpZ1nK7IWmrpGclrZe0Lk2bI+khSS+mnwdVkGuVpJ2SNrZN65hLhd+k+m6QtKjinFdJ2pZqul7SGW3zLks5N0s6raSM8yU9Jul5Sc9JuiRNr1U9J8lZt3ruI+kJSc+knD9L04+S9HjKc4ekWWn67PR4S5p/ZMU5b5H0Sls9x9L0yrajnkTE0G/ADOAlYAEwC3gGOKaMZXeZbytwyLhpVwMr0/2VwK8qyHUysAjYOFUu4Azgz4CAE4HHK855FfCTDr97TFr/s4Gj0riYUULGecCidP8A4IWUpVb1nCRn3eopYP90fybweKrTncDyNP0G4Ifp/o+AG9L95cAdJdVzopy3AGd3+P3KtqNebmXtgR8PbImIlyPiI+B2YFlJy+7VMmB1ur8aOLPsABHxV+Bf4yZPlGsZ8Pso/B04UNK8CnNOZBlwe0R8GBGvAFsoxsdQRcT2iHg63d8FbAIOp2b1nCTnRKqqZ0TEv9PDmekWwHeAu9P08fVs1fluYIkkVZhzIpVtR70oq4EfDrzW9vh1Jh+UZQvgQUlPSVqRps2NiO3p/pvA3Gqifc5EuepY44vTy9BVbYegKs+ZXr4fR7E3Vtt6jssJNaunpBmS1gM7gYco9v7fi4iPO2T5NGea/z5wcBU5I6JVz1+kel4nafb4nEkdtqMJ+SRm4aSIWAQsBS6SdHL7zCheW9Xu7Tp1zZVcDxwNjAHbgWuqjVOQtD9wD3BpRHzQPq9O9eyQs3b1jIjdETEGHEGx1//ViiN1ND6npK8Bl1Hk/QYwB/hphRF7VlYD3wbMb3t8RJpWCxGxLf3cCdxHMRh3tF46pZ87q0v4GRPlqlWNI2JH2nA+AW5iz8v6ynJKmknRFG+NiHvT5NrVs1POOtazJSLeAx4DvklxyKH1FR3tWT7NmeZ/EXinopynp0NVEREfAr+jRvWcjrIa+JPAwnSGehbFSYw1JS17UpL2k3RA6z5wKrCRIt/56dfOB+6vJuHnTJRrDfC9dBb9ROD9tkMDpRt33PAsippCkXN5elfCUcBC4IkS8gi4GdgUEde2zapVPSfKWcN6HirpwHT/C8ApFMfrHwPOTr82vp6tOp8NPJpe8VSR859tf7RFcZy+vZ612Y6mVNbZUoqzuy9QHCe7oqzldpFrAcVZ/GeA51rZKI7PPQK8CDwMzKkg220UL5f/R3Es7oKJclGcNf9tqu+zwOKKc/4h5dhAsVHMa/v9K1LOzcDSkjKeRHF4ZAOwPt3OqFs9J8lZt3oeC/wj5dkIXJmmL6D4A7IFuAuYnabvkx5vSfMXVJzz0VTPjcAf2fNOlcq2o15u/iSmmVmmfBLTzCxTbuBmZplyAzczy5QbuJlZptzAzcwy5QZuZpYpN3Azs0y5gZuZZer/S+NHK4F9ueUAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# grab sample\n",
"sample_image = df_f.iloc[55].image.reshape((100, 400))\n",
"\n",
"# Apply threshold\n",
"sample_image = (sample_image > 0.5).astype(int)\n",
"\n",
"# plot it\n",
"plt.imshow(sample_image)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[1 1 1 ... 2 4 4]\n",
" [1 1 1 ... 2 4 4]\n",
" [1 1 1 ... 2 4 4]\n",
" ...\n",
" [2 2 2 ... 2 2 2]\n",
" [2 2 2 ... 2 2 2]\n",
" [2 2 2 ... 2 2 2]]\n"
]
},
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fd58dcc3080>"
]
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Label sections of the image\n",
"labeled_sample = measure.label(sample_image, background=-1)\n",
"\n",
"# Print some of the label data\n",
"print(labeled_sample)\n",
"\n",
"# Show the labeled sample\n",
"plt.imshow(labeled_sample)"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [],
"source": [
"kdtree = {}\n",
"rag = graph.RAG(labeled_sample)\n",
"regions = measure.regionprops(labeled_sample, sample_image)\n",
"\n",
"for region in regions:\n",
" rag.nodes[region['label']] ['area'] = region['area']\n",
" rag.nodes[region['label']] ['color'] = region['mean_intensity']\n",
" rag.nodes[region['label']] ['centroid'] = region['centroid']\n",
" rag.nodes[region['label']] ['perimeter'] = region['perimeter']\n",
" # will be used to count the number pixels shared on the boundary of 2 regions\n",
" kdtree[region['label']] = KDTree(region.coords)"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {},
"outputs": [],
"source": [
"# add weight of edges\n",
"# weight = number of neghbouring pixels \n",
"# of the two regions/nodes\n",
"for edge in rag.edges:\n",
" node1, node2 = edge\n",
" rag[node1][node2]['weight'] = kdtree[node1].count_neighbors(kdtree[node2], 1)"
]
},
{
"cell_type": "code",
"execution_count": 81,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[array([12533.5000, -1.2000, -26.5224, -29.1306])]\n",
"[[2, 4, 3, 1]]\n"
]
}
],
"source": [
"vector, visiting_order = generate_vectors([rag])\n",
"print(vectors)\n",
"print(visiting_order)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The above vector representation checks out: we have 4 distinct areas, with the largest one being the only \"white\" node (hence why it's positive) with an absolute value significantly larger than the other three."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next, we perform vectorization on our entire dateset."
]
},
{
"cell_type": "code",
"execution_count": 96,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 56/57CPU times: user 41.4 s, sys: 71.2 ms, total: 41.4 s\n",
"Wall time: 41.4 s\n"
]
}
],
"source": [
"%%time\n",
"\n",
"kdtree = {}\n",
"graphs = []\n",
"for count, (idx, sample) in enumerate(df_f.iterrows()):\n",
" print(f'\\r {count}/{len(df_f)}', end='')\n",
" # grab sample\n",
" sample_image = sample.image.reshape((100, 400))\n",
"\n",
" # Apply threshold\n",
" sample_image = (sample_image > 0.5).astype(int)\n",
"\n",
" # Label sections of the image\n",
" labeled_sample = measure.label(sample_image, background=-1)\n",
"\n",
" rag = graph.RAG(labeled_sample)\n",
" regions = measure.regionprops(labeled_sample, sample_image)\n",
"\n",
" for region in regions:\n",
" rag.nodes[region['label']] ['area'] = region['area']\n",
" rag.nodes[region['label']] ['color'] = region['mean_intensity']\n",
" rag.nodes[region['label']] ['centroid'] = region['centroid']\n",
" rag.nodes[region['label']] ['perimeter'] = region['perimeter']\n",
" # will be used to count the number pixels shared on the boundary of 2 regions\n",
" kdtree[region['label']] = KDTree(region.coords)\n",
"\n",
" # add weight of edges\n",
" # weight = number of neghbouring pixels \n",
" # of the two regions/nodes\n",
" for edge in rag.edges:\n",
" node1, node2 = edge\n",
" rag[node1][node2]['weight'] = kdtree[node1].count_neighbors(kdtree[node2], 1)\n",
" graphs.append(rag)"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {},
"outputs": [],
"source": [
"vectors, visiting_orders = generate_vectors(graphs)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Vector Exploration"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"First, we look at the dimensionality of the resulting vectors."
]
},
{
"cell_type": "code",
"execution_count": 211,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Max Dim : 11\n",
"Min Dim : 3\n",
"Mean Dim : 5.385964912280702\n",
"Median Dim: 5.0\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"vec_lengths = [len(vec) for vec in vectors]\n",
"\n",
"print(f'Max Dim : {max(vec_lengths)}')\n",
"print(f'Min Dim : {min(vec_lengths)}')\n",
"print(f'Mean Dim : {np.mean(vec_lengths)}')\n",
"print(f'Median Dim: {np.median(vec_lengths)}')\n",
"\n",
"plt.plot(vec_lengths)\n",
"plt.xlabel('Sample Index')\n",
"plt.ylabel('Dimensionality of Vector')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note the statistics: we can capture all the data for all but two of the samples with only 9 dimensions (and most being captured by only 7 dimensions). We expect this to increase when dealing with earlier states with higher entropy, but for final states we may be able to limit this to a relatively small number of dimensions."
]
},
{
"cell_type": "code",
"execution_count": 212,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"padded_vectors = []\n",
"desired_dim = 11\n",
"\n",
"for vec in vectors:\n",
" while len(vec) < desired_dim:\n",
" vec = np.append(vec, 0)\n",
" padded_vectors.append(np.sort(vec)[:desired_dim])\n",
" \n",
"# Verify Padding\n",
"vec_lengths = [len(vec) for vec in padded_vectors]\n",
"plt.plot(vec_lengths)\n",
"plt.xlabel('Sample Index')\n",
"plt.ylabel('Dimensionality of Vector')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next, we generate the distance matrices."
]
},
{
"cell_type": "code",
"execution_count": 213,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"minkowski_p = 2\n",
"distance_matrix = scipy.spatial.distance_matrix(padded_vectors, padded_vectors, p=minkowski_p)\n",
"plt.imshow(distance_matrix)\n",
"plt.colorbar()\n",
"plt.title(f'Pair-wise Distances with Minkowski {minkowski_p}-norm')\n",
"plt.xlabel('State Index')\n",
"plt.ylabel('State Index')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Since our indexing is relatively arbitrary, we can't infer much of any patterns in this matrix. However, we can get a since of range for these values and note \"pockets\" of near vectors.\n",
"\n",
"We can look closer at specific samples. Recall the following four \"random\" samples:"
]
},
{
"cell_type": "code",
"execution_count": 214,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Idx 0\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Idx 15\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Idx 40\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Idx 55\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Plot a few random samples\n",
"for idx in sample_indices:\n",
" print(f'Idx {idx}')\n",
" sample = df_f.iloc[idx]\n",
" plt.imshow(sample.image.reshape((100, 400)))\n",
" plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We expect the states with indicies 0 and 15 to be similar to each other since they share high-level features (i.e., straight \"bars\" running vertically between them). Similarly for states with indicies 40 and 55. Conversely, we expect states 0 and 15 to be significantly different from 40 and 55.\n",
"\n",
"We examine their distances here:"
]
},
{
"cell_type": "code",
"execution_count": 215,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"selected_vectors = [padded_vectors[idx] for idx in sample_indices]\n",
"\n",
"minkowski_p = 2\n",
"distance_matrix = scipy.spatial.distance_matrix(selected_vectors, selected_vectors, p=minkowski_p)\n",
"plt.imshow(distance_matrix)\n",
"plt.xticks(range(len(sample_indices)), sample_indices)\n",
"plt.yticks(range(len(sample_indices)), sample_indices)\n",
"plt.colorbar()\n",
"plt.title(f'Pair-wise Distances with Minkowski {minkowski_p}-norm')\n",
"plt.xlabel('State Index')\n",
"plt.ylabel('State Index')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 216,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Distnace between 0 and 15: 8617.17166153979\n",
"Distance between 40 and 55: 11851.500271089617\n",
"Distance between 0 and 40: 22451.870041278635\n",
"Distance between 15 and 55: 1985.8565491183417\n"
]
}
],
"source": [
"# Quick verification\n",
"print('Distnace between 0 and 15:', scipy.spatial.distance.euclidean(selected_vectors[0], selected_vectors[1])) # indicies 0 and 15\n",
"print('Distance between 40 and 55:', scipy.spatial.distance.euclidean(selected_vectors[2], selected_vectors[3])) # indicies 40 and 55\n",
"print('Distance between 0 and 40:', scipy.spatial.distance.euclidean(selected_vectors[0], selected_vectors[2])) # indicies 15 and 40\n",
"print('Distance between 15 and 55:', scipy.spatial.distance.euclidean(selected_vectors[1], selected_vectors[3])) # indicies 15 and 40"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So, relatively speaking, we can see that according to our vector representations, states 0 and 15 are very similar to each other while 40 and 55 are very different. The distance between 0 and 40 (two states with very different high-level features) is greatest at a value of ~22,451, which helps confirm our hypothesis. However, the distance between 40 and 55 (two similar states) is ~11,851, which is significantly larger than the distance between 15 and 55, which should be very different.\n",
"\n",
"We can consider when we limit the dimensionality of the vectors to 1:"
]
},
{
"cell_type": "code",
"execution_count": 217,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"padded_vectors = []\n",
"desired_dim = 1\n",
"\n",
"for vec in vectors:\n",
" while len(vec) < desired_dim:\n",
" vec = np.append(vec, 0)\n",
" padded_vectors.append(np.sort(vec)[:desired_dim])\n",
"\n",
"minkowski_p = 2\n",
"distance_matrix = scipy.spatial.distance_matrix(padded_vectors, padded_vectors, p=minkowski_p)\n",
"plt.imshow(distance_matrix)\n",
"plt.colorbar()\n",
"plt.title(f'Pair-wise Distances with 1-Dimension')\n",
"plt.xlabel('State Index')\n",
"plt.ylabel('State Index')\n",
"plt.show()\n",
"\n",
"selected_vectors = [padded_vectors[idx] for idx in sample_indices]\n",
"\n",
"minkowski_p = 2\n",
"distance_matrix = scipy.spatial.distance_matrix(selected_vectors, selected_vectors, p=minkowski_p)\n",
"plt.imshow(distance_matrix)\n",
"plt.xticks(range(len(sample_indices)), sample_indices)\n",
"plt.yticks(range(len(sample_indices)), sample_indices)\n",
"plt.colorbar()\n",
"plt.title(f'Pair-wise Distances with Minkowski {minkowski_p}-norm')\n",
"plt.xlabel('State Index')\n",
"plt.ylabel('State Index')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Interestingly, this actually provides results which are more closely inline with our hypthesis (0 and 15 are similar and 40 and 55 are similar, while the two sets are dissimilar from eachother). However, I doubt this will hold on a large enough dataset, as we're basically betting on the size of the largest \"blob\" to be indicitive of the high-level features.\n",
"\n",
"Consider the samples again:"
]
},
{
"cell_type": "code",
"execution_count": 218,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Idx 0\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Idx 15\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Idx 40\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Idx 55\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Plot a few random samples\n",
"for idx in sample_indices:\n",
" print(f'Idx {idx}')\n",
" sample = df_f.iloc[idx]\n",
" plt.imshow(sample.image.reshape((100, 400)))\n",
" plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It would seem that our surface area to volume ratio may not be capturing enough information about shape, and, at least in terms of these final states. These final states become dominitated by larger areas, since area grows disproportionally to parameter (for the most part). Furthermore, such a process is not very invariant to things like translation.\n",
"\n",
"Consider state 0, translated (and rolled) to 4 different degrees:"
]
},
{
"cell_type": "code",
"execution_count": 237,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Translation 0\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Translation 100\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Translation 200\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Translation 300\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Plot a few random samples\n",
"translated_images = []\n",
"for translation in range(0, 400, 4):\n",
" sample = df_f.iloc[0]\n",
" translated_image = np.roll(sample.image.reshape((100, 400)), translation)\n",
" translated_images.append(translated_image)\n",
" if translation % 100 == 0:\n",
" print(f'Translation {translation}')\n",
" plt.imshow(translated_image)\n",
" plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 238,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" 99/100CPU times: user 59.9 s, sys: 73.9 ms, total: 59.9 s\n",
"Wall time: 59.9 s\n"
]
}
],
"source": [
"%%time\n",
"\n",
"kdtree = {}\n",
"translated_graphs = []\n",
"for count, sample_image in enumerate(translated_images):\n",
" print(f'\\r {count}/{len(translated_images)}', end='')\n",
" \n",
" # Apply threshold\n",
" sample_image = (sample_image > 0.5).astype(int)\n",
"\n",
" # Label sections of the image\n",
" labeled_sample = measure.label(sample_image, background=-1)\n",
"\n",
" rag = graph.RAG(labeled_sample)\n",
" regions = measure.regionprops(labeled_sample, sample_image)\n",
"\n",
" for region in regions:\n",
" rag.nodes[region['label']] ['area'] = region['area']\n",
" rag.nodes[region['label']] ['color'] = region['mean_intensity']\n",
" rag.nodes[region['label']] ['centroid'] = region['centroid']\n",
" rag.nodes[region['label']] ['perimeter'] = region['perimeter']\n",
" # will be used to count the number pixels shared on the boundary of 2 regions\n",
" kdtree[region['label']] = KDTree(region.coords)\n",
"\n",
" # add weight of edges\n",
" # weight = number of neghbouring pixels \n",
" # of the two regions/nodes\n",
" for edge in rag.edges:\n",
" node1, node2 = edge\n",
" rag[node1][node2]['weight'] = kdtree[node1].count_neighbors(kdtree[node2], 1)\n",
" translated_graphs.append(rag)"
]
},
{
"cell_type": "code",
"execution_count": 239,
"metadata": {},
"outputs": [],
"source": [
"translated_vectors, _ = generate_vectors(translated_graphs)"
]
},
{
"cell_type": "code",
"execution_count": 240,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"padded_vectors = []\n",
"desired_dim = 11\n",
"\n",
"for vec in translated_vectors:\n",
" while len(vec) < desired_dim:\n",
" vec = np.append(vec, 0)\n",
" padded_vectors.append(np.sort(vec)[:desired_dim])\n",
"\n",
"minkowski_p = 2\n",
"distance_matrix = scipy.spatial.distance_matrix(padded_vectors, padded_vectors, p=minkowski_p)\n",
"plt.imshow(distance_matrix)\n",
"#plt.xticks(range(len(padded_vectors)), [0, 100, 200, 300])\n",
"#plt.yticks(range(len(padded_vectors)), [0, 100, 200, 300])\n",
"plt.colorbar()\n",
"plt.title(f'Pair-wise Distances with 11-Dims')\n",
"plt.xlabel('Offset (Pixels)')\n",
"plt.ylabel('Offset (Pixels)')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So, the same image, translated and rolled a few times, varies in distance to itself from 0 to 7000, depending on the pair. These are relatively low, compared to the rest of the distance pairs, but is still relatively large with high variance for being a sample compared to itself."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.9"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment