fr-pad.ipynb 87.2 KB
Newer Older
Guillaume HEUSCH's avatar
Guillaume HEUSCH committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Face verification with PAD\n",
    "\n",
    "![](data/fr-pad/system-overview.png)\n",
    "\n",
    "### How do we combine these two systems ?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Let's look at a face verification system without PAD"
   ]
  },
  {
   "cell_type": "code",
23
   "execution_count": 6,
Guillaume HEUSCH's avatar
Guillaume HEUSCH committed
24
   "metadata": {},
25 26 27 28 29 30 31 32 33 34 35 36 37 38
   "outputs": [
    {
     "data": {
      "image/png": "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nkyvXr046KCDUv5cptUlptLSUho3bpzBqESkPlKJLg1WrFjBzTffzNSpU8sT169+9SuOPPJIjjjiCG688UYA1qxZw2GHHcYll1xCnz59WLt2LTNmzCA/P59evXpx1VVX1eq4Y8eOZfXq1QwbNow777yTCy64gJKSEgoKCvj73//OvHnz6N27N/n5+fzwhz/k66+/BoKeZm6++WaOOeYYZsyYweLFixkxYgQFBQV89dVX1R4vLy+Pa6+9loEDB9KvXz/eeOMNhgwZwiGHHMKDDz4IBKXP4447jjPOOIOePXsyduxYdu3aBVDluZaWllJUVESvXr3Iz8/n7rvvZtasWZViSuVcHnvsMe6991569uzJEUccwbnnnlur6yki8RSfEl1EduzYwfnnn8+ECRPo1KkTAHPmzGHlypUsWrQId2fYsGHMnz+fTp06sXz5ch555BEeeOAB1q9fz1VXXcWSJUto06YNgwcP5qmnnuL000+vdJyXX36ZgoKC8vePP/44Dz74IM8//zwvvvgibdu2ZcCAAUyYMIHZs2ezfft2CgsLmTdvHt26dePCCy9k4sSJXH755UDQzH7BggUA/P73v2fChAn069evxvPt2LEjCxcuZNy4cRQVFfHKK6+wfft2Dj/8cMaOHQvAokWLeO+99+jcuTMnnXQSTzzxBEcddVSV59qxY0c+/vhj3nnnHQC2bt3Kfvvtx3333Vce0/bt2ykqKkrpXA466CA++OAD9tprL7Zu3VrXf1YRiRGV6PbQDTfcwOGHH75b6WHOnDnMmTOH3r1706dPH95//31WrlwJQOfOnfnOd74DwOuvv05hYSHt2rWjSZMmjBgxgvnz51d5nGOPPZaSkpLy6ZBDDkka1/Lly+nSpQvdunUDYOTIkbvt+5xzzqnT+Q4bNgyA/Px8BgwYQKtWrWjXrh3NmzcvTyz9+/ena9euNG7cmPPOO48FCxZUe65du3Zl9erVXHbZZTz//PPsu+++e3QuRxxxBCNGjGDatGk0aaL/x4mki423aqdcp0S3B4qLi3n88ce57777dlvu7lxzzTXlSWnVqlVcdNFFAOy99967bVeVxIYude3MuqYBdRPjqI299toLgEaNGpW/Lnu/c+dOoHLLRjOrNp42bdrw1ltvUVhYyP3338/FF19caZvanMtf/vIXLr30UpYsWULfvn3LYxKRhkuJ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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
Guillaume HEUSCH's avatar
Guillaume HEUSCH committed
39 40 41
   "source": [
    "# code to plot scores distribution without PAs (with threshold)\n",
    "from plot import get_scores_complete\n",
42 43 44 45 46 47 48 49
    "scores_vgg_dev = get_scores_complete('data/fr-pad/scores-amir-2/vgg-replay/scores-dev')\n",
    "\n",
    "from plot_fr_pad import split_scores_genuine_zei_attacks\n",
    "pos, neg, attacks = split_scores_genuine_zei_attacks(scores_vgg_dev)\n",
    "\n",
    "from plot_fr_pad import plot_scores_distributions_zei_genuine\n",
    "plot_scores_distributions_zei_genuine(neg, pos, n_bins=(50, 10), threshold_height=18)\n",
    "\n"
Guillaume HEUSCH's avatar
Guillaume HEUSCH committed
50 51
   ]
  },
52 53 54 55 56 57 58
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Now let's add presentation attacks"
   ]
  },
Guillaume HEUSCH's avatar
Guillaume HEUSCH committed
59 60 61 62 63 64 65
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
66
      "image/png": "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7ZqDfvEy+QadfvrprFmzhvXr19O1a1dGjx5Neno6Gzdu5LPPPqNPnz6kp6dz+eWXF5R2HDt2LKmpqXTv3p277roLcEaOl112Gb169aJXr158/fXXADzwwAPccMMN9OvXjw4dOvDss88W7GPt2rWkpaVx9913s2/fPvr37096ejrdunXj/fffD9tv/fr1nHDCCYBTG/r666+nW7du9OjRg5kzZwLOkoSXXnop5557Lp07d+aee+4p9v1nZGTw5JNPkpWVRXZ2dsFr/vLLL6SlpTF8+HDXsQL861//onv37px44olce+21R73e+PHjGTlyJPn5+WE/R2MqivIk36Qqa9mzsyG5uVWiFk9pzxEnmsCltJ8Cb+EcCb5CVc9R1blu9xHpUPM1qvoGkBJuppaqFrdkYFwoy2Gc0P6lkZubyyeffMK5554LwMqVK3nttdd44YUX2L59Ow8//DBffPFFQUnJv/3tb9x66628++67rFixAhFh165dgDPp4o477uC0005jw4YNDBo0iOXLlwOwYsUKZs6cyd69e+nSpQu//e1vefzxx1m6dCmZgW/subm5vPvuu9SrV4/t27dzyimnMGTIkKP6rV+/viD+559/HoAlS5awYsUKBg4cyKpVqwDIzMxk0aJF1KhRgy5dunDbbbfRpk3h80cbN27k559/pnfv3lxxxRVMnTqVO++8k8cff5znnnuu0Gu6iXXZsmU88sgjfP311zRp0oQdO3YUer177rmH3bt389prr7Fz586wn6MxFUlp/14Fk+MHr30MegW7tjelSfPordbapmMb1hC5clUCewVYAmzAOTI8UEQKHlTVISXtINKh5mAZrnCztlzN3PJbeUa+bgRHc8EViW688UYA2rVrxymnnALA3LlzWbZsGaeeeippaWlMmjSJn376iXr16pGcnMxvfvMb3nnnnYJzw1988QW33noraWlpDBkyhD179rB3714Azj//fGrUqEGTJk1o1qxZwbKAoVSV++67j+7duzNgwACys7PD9gs1Z86cglHlcccdR7t27QoSb//+/alfvz7Jycmkpqby008/HfX8KVOmcMUVVwBw1VVXlViVp6RYv/zyS4YOHUqTJk0AaNSoUcFzHnroIXbt2sU//vEPRKTYz9GYiqYsI98zhzj/R1Z9Xz3W4ZlfnQX8DudU7AR+PQ0bbCWKtB7vPwK3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\n",
Guillaume HEUSCH's avatar
Guillaume HEUSCH committed
67
      "text/plain": [
68
       "<Figure size 504x360 with 2 Axes>"
Guillaume HEUSCH's avatar
Guillaume HEUSCH committed
69 70 71 72 73 74 75 76 77
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
78 79
    "from plot_fr_pad import plot_scores_distributions_zei_attacks_genuine\n",
    "fig = plot_scores_distributions_zei_attacks_genuine(neg, pos, attacks, n_bins=(50, 10, 20), threshold_height=18)\n"
80 81 82 83
   ]
  },
  {
   "cell_type": "code",
84 85
   "execution_count": 5,
   "metadata": {},
86 87 88
   "outputs": [
    {
     "data": {
89
      "image/png": "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\n",
90
      "text/plain": [
91
       "<Figure size 504x360 with 2 Axes>"
92 93 94 95 96 97 98 99
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
100
   "source": [
101 102 103 104 105
    "# ESPC\n",
    "licit_dev = get_scores_complete('data/fr-pad/scores-amir-2/vgg-replay/scores-dev-licit')\n",
    "licit_eval = get_scores_complete('data/fr-pad/scores-amir-2/vgg-replay/scores-eval-licit')\n",
    "spoof_dev = get_scores_complete('data/fr-pad/scores-amir-2/vgg-replay/scores-dev-spoof')\n",
    "spoof_eval = get_scores_complete('data/fr-pad/scores-amir-2/vgg-replay/scores-eval-spoof')\n",
106
    "\n",
107 108 109
    "from plot_fr_pad import plot_espc\n",
    "plot_espc(licit_dev, licit_eval, spoof_dev, spoof_eval)\n",
    "\n"
Guillaume HEUSCH's avatar
Guillaume HEUSCH committed
110 111 112 113 114 115
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
116
    "### Now we fuse FV scores and PAD scores\n"
Guillaume HEUSCH's avatar
Guillaume HEUSCH committed
117 118 119
   ]
  },
  {
120
   "cell_type": "code",
121
   "execution_count": 7,
122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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WhMDjBw5kjvvvJOzzjqLX3/9ld69e7NixQoAVq5cyaxZs8jLy+Okk07ipptuYvTo0Sxfvpwlnm//+fn5TJ8+neTkZHbu3Mnpp59O//79S9XbsGFDUfyvvPIKAMuWLWPlypX06tWL1atXA7BkyRIWL15M9erVOemkk7jtttto3rx5sfPftGkTv/32G926dWPIkCFMmTKFu+66i9GjR/Pyyy8XO6adWHNycnjyySf57rvvOO6449i9e3ex4917773s27ePt956iz179vj9d4wVZU34D8VbsIHqK6VC8gawDPgVq0e3l4gUvWmM6R9sB4G6iL1TU/kbPWVrBJUTQvlmHq5v8t7WmXcFneuuuw6wFl4//fTTAZg/fz45OTmceeaZZGRkMHHiRDZu3EhycjJJSUlcf/31fPjhh0XXbmfMmMGtt95KRkYG/fv3Z//+/eTl5QFw8cUXU716dY477jgaNWpUtFydL2MMDz74IJ06deLCCy9k8+bNfuv5mjt3blErsX379pxwwglFCfaCCy6gbt26JCUlkZaWxsaNG0t9fvLkyQwZMgSAoUOHBr0eHizWr7/+msGDB3PccccBkJKSUvSZxx9/nL179/LPf/4TESnz3zGWlPx9rl/fSrAlW7Bl1VdKheQ84HasS6XP8cdlUm8JKtB6sP/0PD5a4TDDKNRv5uH4Ju+9BltSrVp/TI9pjKFnz55+k86CBQuYOXMmkydP5uWXX+brr7+msLCQefPmUaNG6T+OZS1152vSpEns2LGDRYsWkZiYSMuWLQMuf+eNsSx2jpmdnc22bduYNGkSYA2gWrNmDe3atQt43LJiNcbg+43QV9euXVm0aBG7d+8mJSWFhIQEv/+Osabk73Pt2peye3fZXzZ86z/++OMRjLQMJ57odgRK2WKM+cbfdhFpjjW62O/7vspswYrIuECl/GFXXKjfzCPxTf7000/nu+++Y+3atYC1pN3q1as5cOAA+/bto2/fvowZM6YoUffq1YuXX3656PP+ErivOnXqFLVwwVrcvVGjRiQmJjJr1qyiFmfJer7OOeecouS4evVqfv31V0466SRb57dq1Sp+//13Nm/ezIYNG9iwYQMPPPAAkydPBiAxMbFo2T67sV5wwQW8//777Nq1C6BYF3GfPn24//77ufjii8nLyyvz3zEW+f4+16y5h127Arfmo2ou4vHj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\n",
      "text/plain": [
       "<Figure size 504x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fused_scores = get_scores_complete('data/fr-pad/scores-amir-2/fusion_result/scores-dev')\n",
    "pos, neg, attacks = split_scores_genuine_zei_attacks(fused_scores)\n",
    "fig = plot_scores_distributions_zei_attacks_genuine(neg, pos, attacks, n_bins=(50, 10, 20), threshold_height=5)\n"
   ]
  },
  {
   "cell_type": "code",
145
   "execution_count": null,
146
   "metadata": {},
147
   "outputs": [],
148 149
   "source": []
  },
Guillaume HEUSCH's avatar
Guillaume HEUSCH committed
150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
  {
   "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.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}