├── .gitignore ├── .ipynb_checkpoints ├── deHaze-checkpoint.ipynb ├── purePytorch-checkpoint.ipynb ├── srcnn-checkpoint.ipynb └── test4-checkpoint.jpg ├── README.md ├── __pycache__ └── srcnn_model.cpython-37.pyc ├── deHaze.ipynb ├── intermediate ├── .ipynb_checkpoints │ └── 350-checkpoint.jpg ├── 0.jpg ├── 100.jpg ├── 1000.jpg ├── 1100.jpg ├── 1200.jpg ├── 1300.jpg ├── 1400.jpg ├── 1500.jpg ├── 1600.jpg ├── 1700.jpg ├── 1800.jpg ├── 1900.jpg ├── 200.jpg ├── 2000.jpg ├── 2100.jpg ├── 2200.jpg ├── 2300.jpg ├── 2400.jpg ├── 2500.jpg ├── 2600.jpg ├── 2700.jpg ├── 2800.jpg ├── 2900.jpg ├── 300.jpg ├── 3000.jpg ├── 400.jpg ├── 500.jpg ├── 600.jpg ├── 700.jpg ├── 800.jpg └── 900.jpg ├── output.png ├── output_m.png ├── purePytorch.ipynb ├── purePytorch.py ├── test1.jpeg ├── test2.png ├── test3.jpg └── test4.jpg /.gitignore: -------------------------------------------------------------------------------- 1 | *.pth 2 | -------------------------------------------------------------------------------- /.ipynb_checkpoints/test4-checkpoint.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/.ipynb_checkpoints/test4-checkpoint.jpg -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # README 2 | 3 | - Removes Haze from images 4 | - deHaze.ipynb 5 | 6 | ## Example 7 | - ![output](output.png) 8 | -------------------------------------------------------------------------------- /__pycache__/srcnn_model.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/__pycache__/srcnn_model.cpython-37.pyc -------------------------------------------------------------------------------- /intermediate/.ipynb_checkpoints/350-checkpoint.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/.ipynb_checkpoints/350-checkpoint.jpg -------------------------------------------------------------------------------- /intermediate/0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/0.jpg -------------------------------------------------------------------------------- /intermediate/100.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/100.jpg -------------------------------------------------------------------------------- /intermediate/1000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/1000.jpg -------------------------------------------------------------------------------- /intermediate/1100.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/1100.jpg -------------------------------------------------------------------------------- /intermediate/1200.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/1200.jpg -------------------------------------------------------------------------------- /intermediate/1300.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/1300.jpg -------------------------------------------------------------------------------- /intermediate/1400.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/1400.jpg -------------------------------------------------------------------------------- /intermediate/1500.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/1500.jpg -------------------------------------------------------------------------------- /intermediate/1600.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/1600.jpg -------------------------------------------------------------------------------- /intermediate/1700.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/1700.jpg -------------------------------------------------------------------------------- /intermediate/1800.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/1800.jpg -------------------------------------------------------------------------------- /intermediate/1900.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/1900.jpg -------------------------------------------------------------------------------- /intermediate/200.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/200.jpg -------------------------------------------------------------------------------- /intermediate/2000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/2000.jpg -------------------------------------------------------------------------------- /intermediate/2100.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/2100.jpg -------------------------------------------------------------------------------- /intermediate/2200.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/2200.jpg -------------------------------------------------------------------------------- /intermediate/2300.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/2300.jpg -------------------------------------------------------------------------------- /intermediate/2400.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/2400.jpg -------------------------------------------------------------------------------- /intermediate/2500.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/2500.jpg -------------------------------------------------------------------------------- /intermediate/2600.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/2600.jpg -------------------------------------------------------------------------------- /intermediate/2700.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/2700.jpg -------------------------------------------------------------------------------- /intermediate/2800.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/2800.jpg -------------------------------------------------------------------------------- /intermediate/2900.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/2900.jpg -------------------------------------------------------------------------------- /intermediate/300.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/300.jpg -------------------------------------------------------------------------------- /intermediate/3000.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/3000.jpg -------------------------------------------------------------------------------- /intermediate/400.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/400.jpg -------------------------------------------------------------------------------- /intermediate/500.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/500.jpg -------------------------------------------------------------------------------- /intermediate/600.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/600.jpg -------------------------------------------------------------------------------- /intermediate/700.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/700.jpg -------------------------------------------------------------------------------- /intermediate/800.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/800.jpg -------------------------------------------------------------------------------- /intermediate/900.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/intermediate/900.jpg -------------------------------------------------------------------------------- /output.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/output.png -------------------------------------------------------------------------------- /output_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/output_m.png -------------------------------------------------------------------------------- /purePytorch.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [], 8 | "source": [ 9 | "# %%\n", 10 | "import torch\n", 11 | "import torch.nn as nn\n", 12 | "import torch.nn.functional as F\n", 13 | "import torch.optim as optim\n", 14 | "from PIL import Image, ImageDraw, ImageFilter, ImageFont\n", 15 | "import os\n", 16 | "from pathlib import Path\n", 17 | "import mimetypes\n", 18 | "from glob import glob\n", 19 | "import matplotlib.pyplot as plt\n", 20 | "import numpy as np\n", 21 | "import itertools\n", 22 | "import logging\n", 23 | "from os.path import splitext\n", 24 | "from os import listdir\n", 25 | "from torch.utils.data import Dataset\n", 26 | "from torchvision.models import resnet34\n", 27 | "from torchvision.transforms import Compose\n", 28 | "\n", 29 | "os.environ[\"TORCH_HOME\"] = \"/media/subhaditya/DATA/COSMO/Datasets-Useful\"" 30 | ] 31 | }, 32 | { 33 | "cell_type": "code", 34 | "execution_count": 2, 35 | "metadata": {}, 36 | "outputs": [], 37 | "source": [ 38 | "# %%\n", 39 | "path = \"/media/subhaditya/DATA/COSMO/Datasets/deHazer\"\n", 40 | "path_hr = path + \"/normal\"\n", 41 | "path_lr = path + \"/hazy\"" 42 | ] 43 | }, 44 | { 45 | "cell_type": "code", 46 | "execution_count": 3, 47 | "metadata": {}, 48 | "outputs": [], 49 | "source": [ 50 | "# %%\n", 51 | "\n", 52 | "\n", 53 | "def plot_img_and_mask(img, mask):\n", 54 | " classes = mask.shape[2] if len(mask.shape) > 2 else 1\n", 55 | " fig, ax = plt.subplots(1, classes + 1)\n", 56 | " ax[0].set_title(\"Input image\")\n", 57 | " ax[0].imshow(img)\n", 58 | " if classes > 1:\n", 59 | " for i in range(classes):\n", 60 | " ax[i + 1].set_title(f\"Output mask (class {i+1})\")\n", 61 | " ax[i + 1].imshow(mask[:, :, i])\n", 62 | " else:\n", 63 | " ax[1].set_title(f\"Output mask\")\n", 64 | " ax[1].imshow(mask)\n", 65 | " plt.xticks([]), plt.yticks([])\n", 66 | " plt.show()" 67 | ] 68 | }, 69 | { 70 | "cell_type": "code", 71 | "execution_count": 4, 72 | "metadata": {}, 73 | "outputs": [], 74 | "source": [ 75 | "# %%\n", 76 | "\n", 77 | "\n", 78 | "class BasicDataset(Dataset):\n", 79 | " def __init__(self, imgs_dir, masks_dir, scale=1):\n", 80 | " self.imgs_dir = imgs_dir\n", 81 | " self.masks_dir = masks_dir\n", 82 | " self.scale = scale\n", 83 | " assert 0 < scale <= 1, \"Scale must be between 0 and 1\"\n", 84 | "\n", 85 | " self.ids = [\n", 86 | " splitext(file)[0] for file in listdir(imgs_dir) if not file.startswith(\".\")\n", 87 | " ]\n", 88 | " # self.c = len(self.ids)\n", 89 | "\n", 90 | " # logging.info(f'Creating dataset with {len(self.ids)} examples')\n", 91 | "\n", 92 | " def __len__(self):\n", 93 | " return len(self.ids)\n", 94 | "\n", 95 | " @classmethod\n", 96 | " def preprocess(cls, pil_img, scale):\n", 97 | " w, h = pil_img.size\n", 98 | " newW, newH = int(scale * w), int(scale * h)\n", 99 | " assert newW > 0 and newH > 0, \"Scale is too small\"\n", 100 | " pil_img = pil_img.resize((128, 128))\n", 101 | "\n", 102 | " img_nd = np.array(pil_img)\n", 103 | "\n", 104 | " if len(img_nd.shape) == 2:\n", 105 | " img_nd = np.expand_dims(img_nd, axis=2)\n", 106 | "\n", 107 | " # HWC to CHW\n", 108 | " img_trans = img_nd.transpose((2, 0, 1))\n", 109 | " if img_trans.max() > 1:\n", 110 | " img_trans = img_trans / 255\n", 111 | "\n", 112 | " return img_trans\n", 113 | "\n", 114 | " def __getitem__(self, i):\n", 115 | " idx = self.ids[i]\n", 116 | " mask_file = self.masks_dir + \"/\" + idx + \".png\"\n", 117 | " img_file = self.imgs_dir + \"/\" + idx + \".png\"\n", 118 | "\n", 119 | " mask = Image.open(mask_file)\n", 120 | " img = Image.open(img_file)\n", 121 | "\n", 122 | " assert (\n", 123 | " img.size == mask.size\n", 124 | " ), f\"Image and mask {idx} should be the same size, but are {img.size} and {mask.size}\"\n", 125 | "\n", 126 | " img = self.preprocess(img, self.scale)\n", 127 | " mask = self.preprocess(mask, self.scale)\n", 128 | "\n", 129 | " return (\n", 130 | " torch.from_numpy(img).type(torch.FloatTensor),\n", 131 | " torch.from_numpy(mask).type(torch.FloatTensor),\n", 132 | " )" 133 | ] 134 | }, 135 | { 136 | "cell_type": "code", 137 | "execution_count": 5, 138 | "metadata": {}, 139 | "outputs": [], 140 | "source": [ 141 | "# %%\n", 142 | "dataset = BasicDataset(path_hr, path_lr, scale=0.5)" 143 | ] 144 | }, 145 | { 146 | "cell_type": "code", 147 | "execution_count": 6, 148 | "metadata": {}, 149 | "outputs": [ 150 | { 151 | "data": { 152 | "text/plain": [ 153 | "torch.Size([128, 128, 3])" 154 | ] 155 | }, 156 | "execution_count": 6, 157 | "metadata": {}, 158 | "output_type": "execute_result" 159 | } 160 | ], 161 | "source": [ 162 | "dataset.__getitem__(1)[0].permute(1, 2, 0).shape" 163 | ] 164 | }, 165 | { 166 | "cell_type": "code", 167 | "execution_count": 7, 168 | "metadata": {}, 169 | "outputs": [ 170 | { 171 | "data": { 172 | "text/plain": [ 173 | "" 174 | ] 175 | }, 176 | "execution_count": 7, 177 | "metadata": {}, 178 | "output_type": "execute_result" 179 | }, 180 | { 181 | "data": { 182 | "image/png": "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\n", 183 | "text/plain": [ 184 | "
" 185 | ] 186 | }, 187 | "metadata": { 188 | "needs_background": "light" 189 | }, 190 | "output_type": "display_data" 191 | } 192 | ], 193 | "source": [ 194 | "# %%\n", 195 | "plt.imshow(dataset.__getitem__(1)[0].permute(1, 2, 0))" 196 | ] 197 | }, 198 | { 199 | "cell_type": "code", 200 | "execution_count": 8, 201 | "metadata": {}, 202 | "outputs": [ 203 | { 204 | "data": { 205 | "text/plain": [ 206 | "" 207 | ] 208 | }, 209 | "execution_count": 8, 210 | "metadata": {}, 211 | "output_type": "execute_result" 212 | }, 213 | { 214 | "data": { 215 | "image/png": "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\n", 216 | "text/plain": [ 217 | "
" 218 | ] 219 | }, 220 | "metadata": { 221 | "needs_background": "light" 222 | }, 223 | "output_type": "display_data" 224 | } 225 | ], 226 | "source": [ 227 | "# %%\n", 228 | "plt.imshow(dataset.__getitem__(1)[1].permute(1, 2, 0))" 229 | ] 230 | }, 231 | { 232 | "cell_type": "markdown", 233 | "metadata": {}, 234 | "source": [ 235 | "# inits" 236 | ] 237 | }, 238 | { 239 | "cell_type": "code", 240 | "execution_count": 9, 241 | "metadata": {}, 242 | "outputs": [], 243 | "source": [ 244 | "# %%\n", 245 | "def truncated_normal_(tensor, mean=0, std=1):\n", 246 | " size = tensor.shape\n", 247 | " tmp = tensor.new_empty(size + (4,)).normal_()\n", 248 | " valid = (tmp < 2) & (tmp > -2)\n", 249 | " ind = valid.max(-1, keepdim=True)[1]\n", 250 | " tensor.data.copy_(tmp.gather(-1, ind).squeeze(-1))\n", 251 | " tensor.data.mul_(std).add_(mean)\n", 252 | "\n", 253 | "\n", 254 | "def init_weights(m):\n", 255 | " if type(m) == nn.Conv2d or type(m) == nn.ConvTranspose2d:\n", 256 | " nn.init.kaiming_normal_(m.weight, mode=\"fan_in\", nonlinearity=\"relu\")\n", 257 | " # nn.init.normal_(m.weight, std=0.001)\n", 258 | " # nn.init.normal_(m.bias, std=0.001)\n", 259 | " truncated_normal_(m.bias, mean=0, std=0.001)" 260 | ] 261 | }, 262 | { 263 | "cell_type": "markdown", 264 | "metadata": {}, 265 | "source": [ 266 | "# Blocks for Unet" 267 | ] 268 | }, 269 | { 270 | "cell_type": "code", 271 | "execution_count": 10, 272 | "metadata": {}, 273 | "outputs": [], 274 | "source": [ 275 | "class DownConvBlock(nn.Module):\n", 276 | " def __init__(self, input_dim, output_dim, initializers, padding, pool=True):\n", 277 | " super(DownConvBlock, self).__init__()\n", 278 | " layers = []\n", 279 | "\n", 280 | " if pool:\n", 281 | " layers.append(\n", 282 | " nn.AvgPool2d(kernel_size=2, stride=2, padding=0, ceil_mode=True)\n", 283 | " )\n", 284 | "\n", 285 | " layers.append(\n", 286 | " nn.Conv2d(\n", 287 | " input_dim, output_dim, kernel_size=3, stride=1, padding=int(padding)\n", 288 | " )\n", 289 | " )\n", 290 | " layers.append(nn.ReLU(inplace=True))\n", 291 | " layers.append(\n", 292 | " nn.Conv2d(\n", 293 | " output_dim, output_dim, kernel_size=3, stride=1, padding=int(padding)\n", 294 | " )\n", 295 | " )\n", 296 | " layers.append(nn.ReLU(inplace=True))\n", 297 | " layers.append(\n", 298 | " nn.Conv2d(\n", 299 | " output_dim, output_dim, kernel_size=3, stride=1, padding=int(padding)\n", 300 | " )\n", 301 | " )\n", 302 | " layers.append(nn.ReLU(inplace=True))\n", 303 | "\n", 304 | " self.layers = nn.Sequential(*layers)\n", 305 | "\n", 306 | " self.layers.apply(init_weights)\n", 307 | "\n", 308 | " def forward(self, patch):\n", 309 | " return self.layers(patch)" 310 | ] 311 | }, 312 | { 313 | "cell_type": "code", 314 | "execution_count": 11, 315 | "metadata": {}, 316 | "outputs": [], 317 | "source": [ 318 | "class UpConvBlock(nn.Module):\n", 319 | " def __init__(self, input_dim, output_dim, initializers, padding, bilinear=True):\n", 320 | " super(UpConvBlock, self).__init__()\n", 321 | " self.bilinear = bilinear\n", 322 | "\n", 323 | " if not self.bilinear:\n", 324 | " self.upconv_layer = nn.ConvTranspose2d(\n", 325 | " input_dim, output_dim, kernel_size=2, stride=2\n", 326 | " )\n", 327 | " self.upconv_layer.apply(init_weights)\n", 328 | "\n", 329 | " self.conv_block = DownConvBlock(\n", 330 | " input_dim, output_dim, initializers, padding, pool=False\n", 331 | " )\n", 332 | "\n", 333 | " def forward(self, x, bridge):\n", 334 | " if self.bilinear:\n", 335 | " up = nn.functional.interpolate(\n", 336 | " x, mode=\"bilinear\", scale_factor=2, align_corners=True\n", 337 | " )\n", 338 | " else:\n", 339 | " up = self.upconv_layer(x)\n", 340 | "\n", 341 | " assert up.shape[3] == bridge.shape[3]\n", 342 | " out = torch.cat([up, bridge], 1)\n", 343 | " out = self.conv_block(out)\n", 344 | "\n", 345 | " return out" 346 | ] 347 | }, 348 | { 349 | "cell_type": "markdown", 350 | "metadata": {}, 351 | "source": [ 352 | "\n", 353 | "# Unet " 354 | ] 355 | }, 356 | { 357 | "cell_type": "markdown", 358 | "metadata": {}, 359 | "source": [ 360 | "https://arxiv.org/abs/1505.04597\n", 361 | "\n", 362 | "@article{DBLP:journals/corr/RonnebergerFB15,\n", 363 | " author = {Olaf Ronneberger and\n", 364 | " Philipp Fischer and\n", 365 | " Thomas Brox},\n", 366 | " title = {U-Net: Convolutional Networks for Biomedical Image Segmentation},\n", 367 | " journal = {CoRR},\n", 368 | " volume = {abs/1505.04597},\n", 369 | " year = {2015},\n", 370 | " url = {http://arxiv.org/abs/1505.04597},\n", 371 | " archivePrefix = {arXiv},\n", 372 | " eprint = {1505.04597},\n", 373 | " timestamp = {Mon, 13 Aug 2018 16:46:52 +0200},\n", 374 | " biburl = {https://dblp.org/rec/journals/corr/RonnebergerFB15.bib},\n", 375 | " bibsource = {dblp computer science bibliography, https://dblp.org}\n", 376 | "}\n", 377 | "\n" 378 | ] 379 | }, 380 | { 381 | "cell_type": "code", 382 | "execution_count": 115, 383 | "metadata": {}, 384 | "outputs": [], 385 | "source": [ 386 | "# %%\n", 387 | "class Unet(nn.Module):\n", 388 | " def __init__(\n", 389 | " self,\n", 390 | " input_channels,\n", 391 | " num_classes,\n", 392 | " num_filters,\n", 393 | " initializers,\n", 394 | " apply_last_layer=True,\n", 395 | " padding=True,\n", 396 | " ):\n", 397 | " super(Unet, self).__init__()\n", 398 | " self.input_channels = input_channels\n", 399 | " self.num_classes = num_classes\n", 400 | " self.num_filters = num_filters\n", 401 | " self.padding = padding\n", 402 | " self.activation_maps = []\n", 403 | " self.apply_last_layer = apply_last_layer\n", 404 | " self.contracting_path = nn.ModuleList()\n", 405 | " # self.pl = nn.modules.pixelshuffle\n", 406 | "\n", 407 | " for i in range(len(self.num_filters)):\n", 408 | " input = self.input_channels if i == 0 else output\n", 409 | " output = self.num_filters[i]\n", 410 | "\n", 411 | " if i == 0:\n", 412 | " pool = False\n", 413 | " else:\n", 414 | " pool = True\n", 415 | "\n", 416 | " self.contracting_path.append(\n", 417 | " DownConvBlock(input, output, initializers, padding, pool=pool)\n", 418 | " )\n", 419 | "\n", 420 | " self.upsampling_path = nn.ModuleList()\n", 421 | "\n", 422 | " n = len(self.num_filters) - 2\n", 423 | " for i in range(n, -1, -1):\n", 424 | " input = output + self.num_filters[i]\n", 425 | " output = self.num_filters[i]\n", 426 | " self.upsampling_path.append(\n", 427 | " UpConvBlock(input, output, initializers, padding)\n", 428 | " )\n", 429 | "\n", 430 | " if self.apply_last_layer:\n", 431 | " self.last_layer = nn.Conv2d(output, num_classes, kernel_size=1)\n", 432 | " # nn.init.kaiming_normal_(self.last_layer.weight, mode='fan_in',nonlinearity='relu')\n", 433 | " # nn.init.normal_(self.last_layer.bias)\n", 434 | "\n", 435 | " def forward(self, x, val):\n", 436 | " blocks = []\n", 437 | " for i, down in enumerate(self.contracting_path):\n", 438 | " x = down(x)\n", 439 | " if i != len(self.contracting_path) - 1:\n", 440 | " blocks.append(x)\n", 441 | "\n", 442 | " for i, up in enumerate(self.upsampling_path):\n", 443 | " x = up(x, blocks[-i - 1])\n", 444 | "\n", 445 | " del blocks\n", 446 | "\n", 447 | " # Used for saving the activations and plotting\n", 448 | " # if val:\n", 449 | " # self.activation_maps.append(x)\n", 450 | "\n", 451 | " if self.apply_last_layer:\n", 452 | " x = self.last_layer(x)\n", 453 | " # x = self.pl(x)\n", 454 | "\n", 455 | " return x" 456 | ] 457 | }, 458 | { 459 | "cell_type": "code", 460 | "execution_count": 116, 461 | "metadata": {}, 462 | "outputs": [], 463 | "source": [ 464 | "# %%\n", 465 | "\n", 466 | "from torch.utils.data.sampler import SubsetRandomSampler\n", 467 | "from torch.utils.data import DataLoader\n", 468 | "from tqdm import tqdm_notebook, tqdm" 469 | ] 470 | }, 471 | { 472 | "cell_type": "code", 473 | "execution_count": 117, 474 | "metadata": {}, 475 | "outputs": [], 476 | "source": [ 477 | "def l2_regularisation(m):\n", 478 | " l2_reg = None\n", 479 | "\n", 480 | " for W in m.parameters():\n", 481 | " if l2_reg is None:\n", 482 | " l2_reg = W.norm(2)\n", 483 | " else:\n", 484 | " l2_reg = l2_reg + W.norm(2)\n", 485 | " return l2_reg" 486 | ] 487 | }, 488 | { 489 | "cell_type": "code", 490 | "execution_count": 118, 491 | "metadata": {}, 492 | "outputs": [], 493 | "source": [ 494 | "# %%\n", 495 | "dataset_size = len(dataset)\n", 496 | "indices = list(range(dataset_size))\n", 497 | "split = int(np.floor(0.1 * dataset_size))\n", 498 | "np.random.shuffle(indices)\n", 499 | "train_indices, test_indices = indices[split:], indices[:split]" 500 | ] 501 | }, 502 | { 503 | "cell_type": "code", 504 | "execution_count": 119, 505 | "metadata": {}, 506 | "outputs": [ 507 | { 508 | "name": "stdout", 509 | "output_type": "stream", 510 | "text": [ 511 | "Number of training/test patches: (50, 5)\n" 512 | ] 513 | } 514 | ], 515 | "source": [ 516 | "#%%\n", 517 | "train_sampler = SubsetRandomSampler(train_indices)\n", 518 | "test_sampler = SubsetRandomSampler(test_indices)\n", 519 | "train_loader = DataLoader(dataset, batch_size=16, sampler=train_sampler)\n", 520 | "test_loader = DataLoader(dataset, batch_size=16, sampler=test_sampler)\n", 521 | "print(\"Number of training/test patches:\", (len(train_indices), len(test_indices)))" 522 | ] 523 | }, 524 | { 525 | "cell_type": "code", 526 | "execution_count": 120, 527 | "metadata": {}, 528 | "outputs": [], 529 | "source": [ 530 | "import gc" 531 | ] 532 | }, 533 | { 534 | "cell_type": "code", 535 | "execution_count": 190, 536 | "metadata": {}, 537 | "outputs": [ 538 | { 539 | "data": { 540 | "text/plain": [ 541 | "3991" 542 | ] 543 | }, 544 | "execution_count": 190, 545 | "metadata": {}, 546 | "output_type": "execute_result" 547 | } 548 | ], 549 | "source": [ 550 | "net = None\n", 551 | "gc.collect()" 552 | ] 553 | }, 554 | { 555 | "cell_type": "code", 556 | "execution_count": 191, 557 | "metadata": { 558 | "scrolled": true 559 | }, 560 | "outputs": [], 561 | "source": [ 562 | "# %%\n", 563 | "net = Unet(\n", 564 | " input_channels=3,\n", 565 | " num_classes=3,\n", 566 | " num_filters=[32, 64, 128, 192],\n", 567 | " initializers={\"w\": \"he_uniform\", \"b\": \"normal\"},\n", 568 | ")" 569 | ] 570 | }, 571 | { 572 | "cell_type": "code", 573 | "execution_count": 192, 574 | "metadata": {}, 575 | "outputs": [], 576 | "source": [ 577 | "net = net.to(\"cuda\")" 578 | ] 579 | }, 580 | { 581 | "cell_type": "code", 582 | "execution_count": 193, 583 | "metadata": {}, 584 | "outputs": [], 585 | "source": [ 586 | "from tqdm import trange" 587 | ] 588 | }, 589 | { 590 | "cell_type": "code", 591 | "execution_count": 195, 592 | "metadata": {}, 593 | "outputs": [], 594 | "source": [ 595 | "# %%\n", 596 | "optimizer = torch.optim.AdamW(net.parameters(), lr=1e-5, weight_decay=10e-3)\n", 597 | "criterion = nn.MSELoss(reduce=\"mean\").to(\"cuda\")" 598 | ] 599 | }, 600 | { 601 | "cell_type": "code", 602 | "execution_count": null, 603 | "metadata": { 604 | "scrolled": true 605 | }, 606 | "outputs": [ 607 | { 608 | "name": "stderr", 609 | "output_type": "stream", 610 | "text": [ 611 | "ML (loss=0.00745468): 0%| | 0/4000 [00:04 2 else 1 33 | fig, ax = plt.subplots(1, classes + 1) 34 | ax[0].set_title('Input image') 35 | ax[0].imshow(img) 36 | if classes > 1: 37 | for i in range(classes): 38 | ax[i+1].set_title(f'Output mask (class {i+1})') 39 | ax[i+1].imshow(mask[:, :, i]) 40 | else: 41 | ax[1].set_title(f'Output mask') 42 | ax[1].imshow(mask) 43 | plt.xticks([]), plt.yticks([]) 44 | plt.show() 45 | 46 | 47 | # %% 48 | 49 | class BasicDataset(Dataset): 50 | def __init__(self, imgs_dir, masks_dir, scale=1): 51 | self.imgs_dir = imgs_dir 52 | self.masks_dir = masks_dir 53 | self.scale = scale 54 | assert 0 < scale <= 1, 'Scale must be between 0 and 1' 55 | 56 | self.ids = [splitext(file)[0] for file in listdir(imgs_dir) 57 | if not file.startswith('.')] 58 | # self.c = len(self.ids) 59 | # logging.info(f'Creating dataset with {len(self.ids)} examples') 60 | 61 | def __len__(self): 62 | return len(self.ids) 63 | 64 | @classmethod 65 | def preprocess(cls, pil_img, scale): 66 | w, h = pil_img.size 67 | newW, newH = int(scale * w), int(scale * h) 68 | assert newW > 0 and newH > 0, 'Scale is too small' 69 | pil_img = pil_img.resize((newW, newH)) 70 | 71 | img_nd = np.array(pil_img) 72 | 73 | if len(img_nd.shape) == 2: 74 | img_nd = np.expand_dims(img_nd, axis=2) 75 | 76 | # HWC to CHW 77 | img_trans = img_nd.transpose((2, 0, 1)) 78 | if img_trans.max() > 1: 79 | img_trans = img_trans / 255 80 | 81 | return img_trans 82 | 83 | def __getitem__(self, i): 84 | idx = self.ids[i] 85 | mask_file = self.masks_dir + "/" + idx + '.png' 86 | img_file = self.imgs_dir + "/"+idx + '.png' 87 | 88 | mask = Image.open(mask_file) 89 | img = Image.open(img_file) 90 | 91 | assert img.size == mask.size, \ 92 | f'Image and mask {idx} should be the same size, but are {img.size} and {mask.size}' 93 | 94 | img = self.preprocess(img, self.scale) 95 | mask = self.preprocess(mask, self.scale) 96 | 97 | return {'image': torch.from_numpy(img), 'mask': torch.from_numpy(mask)} 98 | 99 | 100 | # %% 101 | dataset = BasicDataset(path_hr, path_lr, scale=.5) 102 | # %% 103 | plt.imshow(dataset.__getitem__(1)['image'].permute(1, 2, 0)) 104 | #%% 105 | plt.imshow(dataset.__getitem__(1)['mask'].permute(1, 2, 0)) 106 | 107 | #%% [markdown] 108 | # inits 109 | # %% 110 | def truncated_normal_(tensor, mean=0, std=1): 111 | size = tensor.shape 112 | tmp = tensor.new_empty(size + (4,)).normal_() 113 | valid = (tmp < 2) & (tmp > -2) 114 | ind = valid.max(-1, keepdim=True)[1] 115 | tensor.data.copy_(tmp.gather(-1, ind).squeeze(-1)) 116 | tensor.data.mul_(std).add_(mean) 117 | def init_weights(m): 118 | if type(m) == nn.Conv2d or type(m) == nn.ConvTranspose2d: 119 | nn.init.kaiming_normal_(m.weight, mode='fan_in', nonlinearity='relu') 120 | #nn.init.normal_(m.weight, std=0.001) 121 | #nn.init.normal_(m.bias, std=0.001) 122 | truncated_normal_(m.bias, mean=0, std=0.001) 123 | 124 | #%% [markdown] 125 | # Blocks for Unet 126 | 127 | class DownConvBlock(nn.Module): 128 | """ 129 | A block of three convolutional layers where each layer is followed by a non-linear activation function 130 | Between each block we add a pooling operation. 131 | """ 132 | def __init__(self, input_dim, output_dim, initializers, padding, pool=True): 133 | super(DownConvBlock, self).__init__() 134 | layers = [] 135 | 136 | if pool: 137 | layers.append(nn.AvgPool2d(kernel_size=2, stride=2, padding=0, ceil_mode=True)) 138 | 139 | layers.append(nn.Conv2d(input_dim, output_dim, kernel_size=3, stride=1, padding=int(padding))) 140 | layers.append(nn.ReLU(inplace=True)) 141 | layers.append(nn.Conv2d(output_dim, output_dim, kernel_size=3, stride=1, padding=int(padding))) 142 | layers.append(nn.ReLU(inplace=True)) 143 | layers.append(nn.Conv2d(output_dim, output_dim, kernel_size=3, stride=1, padding=int(padding))) 144 | layers.append(nn.ReLU(inplace=True)) 145 | 146 | self.layers = nn.Sequential(*layers) 147 | 148 | self.layers.apply(init_weights) 149 | 150 | def forward(self, patch): 151 | return self.layers(patch) 152 | 153 | 154 | class UpConvBlock(nn.Module): 155 | """ 156 | A block consists of an upsampling layer followed by a convolutional layer to reduce the amount of channels and then a DownConvBlock 157 | If bilinear is set to false, we do a transposed convolution instead of upsampling 158 | """ 159 | def __init__(self, input_dim, output_dim, initializers, padding, bilinear=True): 160 | super(UpConvBlock, self).__init__() 161 | self.bilinear = bilinear 162 | 163 | if not self.bilinear: 164 | self.upconv_layer = nn.ConvTranspose2d(input_dim, output_dim, kernel_size=2, stride=2) 165 | self.upconv_layer.apply(init_weights) 166 | 167 | self.conv_block = DownConvBlock(input_dim, output_dim, initializers, padding, pool=False) 168 | 169 | def forward(self, x, bridge): 170 | if self.bilinear: 171 | up = nn.functional.interpolate(x, mode='bilinear', scale_factor=2, align_corners=True) 172 | else: 173 | up = self.upconv_layer(x) 174 | 175 | assert up.shape[3] == bridge.shape[3] 176 | out = torch.cat([up, bridge], 1) 177 | out = self.conv_block(out) 178 | 179 | return out 180 | 181 | # %% [markdown] 182 | # Unet 183 | 184 | # %% 185 | class Unet(nn.Module): 186 | """ 187 | A UNet (https://arxiv.org/abs/1505.04597) implementation. 188 | input_channels: the number of channels in the image (1 for greyscale and 3 for RGB) 189 | num_classes: the number of classes to predict 190 | num_filters: list with the amount of filters per layer 191 | apply_last_layer: boolean to apply last layer or not (not used in Probabilistic UNet) 192 | padidng: Boolean, if true we pad the images with 1 so that we keep the same dimensions 193 | """ 194 | 195 | def __init__(self, input_channels, num_classes, num_filters, initializers, apply_last_layer=True, padding=True): 196 | super(Unet, self).__init__() 197 | self.input_channels = input_channels 198 | self.num_classes = num_classes 199 | self.num_filters = num_filters 200 | self.padding = padding 201 | self.activation_maps = [] 202 | self.apply_last_layer = apply_last_layer 203 | self.contracting_path = nn.ModuleList() 204 | 205 | for i in range(len(self.num_filters)): 206 | input = self.input_channels if i == 0 else output 207 | output = self.num_filters[i] 208 | 209 | if i == 0: 210 | pool = False 211 | else: 212 | pool = True 213 | 214 | self.contracting_path.append(DownConvBlock(input, output, initializers, padding, pool=pool)) 215 | 216 | self.upsampling_path = nn.ModuleList() 217 | 218 | n = len(self.num_filters) - 2 219 | for i in range(n, -1, -1): 220 | input = output + self.num_filters[i] 221 | output = self.num_filters[i] 222 | self.upsampling_path.append(UpConvBlock(input, output, initializers, padding)) 223 | 224 | if self.apply_last_layer: 225 | self.last_layer = nn.Conv2d(output, num_classes, kernel_size=1) 226 | #nn.init.kaiming_normal_(self.last_layer.weight, mode='fan_in',nonlinearity='relu') 227 | #nn.init.normal_(self.last_layer.bias) 228 | 229 | 230 | def forward(self, x, val): 231 | blocks = [] 232 | for i, down in enumerate(self.contracting_path): 233 | x = down(x) 234 | if i != len(self.contracting_path)-1: 235 | blocks.append(x) 236 | 237 | for i, up in enumerate(self.upsampling_path): 238 | x = up(x, blocks[-i-1]) 239 | 240 | del blocks 241 | 242 | #Used for saving the activations and plotting 243 | if val: 244 | self.activation_maps.append(x) 245 | 246 | if self.apply_last_layer: 247 | x = self.last_layer(x) 248 | 249 | return x 250 | 251 | 252 | # %% 253 | 254 | from torch.utils.data.sampler import SubsetRandomSampler 255 | from torch.utils.data import DataLoader 256 | from tqdm import tqdm_notebook,tqdm 257 | 258 | def l2_regularisation(m): 259 | l2_reg = None 260 | 261 | for W in m.parameters(): 262 | if l2_reg is None: 263 | l2_reg = W.norm(2) 264 | else: 265 | l2_reg = l2_reg + W.norm(2) 266 | return l2_reg 267 | # %% 268 | dataset_size = len(dataset) 269 | indices = list(range(dataset_size)) 270 | split = int(np.floor(0.1 * dataset_size)) 271 | np.random.shuffle(indices) 272 | train_indices, test_indices = indices[split:], indices[:split] 273 | #%% 274 | train_sampler = SubsetRandomSampler(train_indices) 275 | test_sampler = SubsetRandomSampler(test_indices) 276 | train_loader = DataLoader(dataset, batch_size=5, sampler=train_sampler) 277 | test_loader = DataLoader(dataset, batch_size=1, sampler=test_sampler) 278 | print("Number of training/test patches:", (len(train_indices),len(test_indices))) 279 | 280 | # %% 281 | net = Unet(input_channels=3, num_classes=2, num_filters=[32,64,128,192],initializers = {'w':'he_normal', 'b':'normal'}).to('cuda') 282 | 283 | # %% 284 | optimizer = torch.optim.AdamW(net.parameters(), lr=1e-4, weight_decay=0) 285 | epochs = 10 286 | #%% 287 | for epoch in tqdm(range(epochs)): 288 | for step, (patch, mask, _) in enumerate(train_loader): 289 | patch = patch.to(device) 290 | mask = mask.to(device) 291 | mask = torch.unsqueeze(mask,1) 292 | net.forward(patch, mask, training=True) 293 | elbo = net.elbo(mask) 294 | reg_loss = l2_regularisation(net.posterior) + l2_regularisation(net.prior) + l2_regularisation(net.fcomb.layers) 295 | loss = -elbo + 1e-5 * reg_loss 296 | optimizer.zero_grad() 297 | loss.backward() 298 | optimizer.step() -------------------------------------------------------------------------------- /test1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/test1.jpeg -------------------------------------------------------------------------------- /test2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/test2.png -------------------------------------------------------------------------------- /test3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/test3.jpg -------------------------------------------------------------------------------- /test4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Fast-AI-Code/deHazer/d53fc952f0eb3804dd2d74954ca724f2c63df53f/test4.jpg --------------------------------------------------------------------------------