← All projects · Computer Vision · AI Engineering
Muhammad Hammas · AI Engineer · Master's in Artificial Intelligence
Image-to-image restoration and translation, plus generation from text. Every project ships the images it produced alongside the number it scored. 15 projects.

Fine-tuned from the published RICE2 generator for 60 epochs on 1,600 training pairs
Remove haze and cloud from aerial imagery.
| split | PSNR |
|---|---|
| train n=1600 | 24.1264 |
| val n=300 | 23.9666 |
| test n=100 | 23.6964 |

Trained from scratch for 100 epochs on 2,280 images, predicting the ab channels from L in Lab space
Predict colour (ab) from luminance (L) in Lab space.
| split | PSNR |
|---|---|
| train n=428 | 22.5389 |
| val n=428 | 22.2671 |
| test n=142 | 21.9107 |

100 epochs on the horse2zebra set
Show the result
100 epochs on the apple2orange set, 50 at the base rate then 50 linearly decayed - the published schedule
| split | PSNR |
|---|---|
| val n=60 | -0.0958 |

30 epochs on the summer2winter_yosemite set, not the 100 the other CycleGAN runs used
| split | PSNR |
|---|---|
| val n=60 | -0.1049 |

Fine-tuned for 56 epochs on 800 training pairs; the best val score came at epoch 50 and five further epochs did not beat it, so the run was stopped there
Remove shadows cast across a photographed document page.
| split | PSNR |
|---|---|
| train n=800 | 30.6673 |
| val n=150 | 30.4923 |
| test n=50 | 30.5951 |

Trained with L1 + adversarial
| split | PSNR |
|---|---|
| train n=720 | 28.3642 |
| val n=135 | 27.8051 |
| test n=45 | 28.6938 |

Generator fine-tuned with L1 on synthetically degraded FFHQ crops, 15,000 steps at batch 2
Restore degraded face crops. Degradation is synthesised at load time.
| split | PSNR |
|---|---|
| train n=150 | 30.0851 |
| val n=150 | 29.9772 |
| test n=50 | 30.0195 |

Trained with L1 + adversarial
| split | PSNR |
|---|---|
| train n=720 | 28.1670 |
| val n=135 | 27.5742 |
| test n=45 | 28.4700 |

200 epochs on 400 training pairs - the published schedule of 100 constant plus 100 linear decay
Show the result| metric | value |
|---|---|
| val PSNR | 12.697 |

Same architecture, same data and the same 200-epoch budget as pix2pix-facades, with the adversarial term switched off
| split | PSNR |
|---|---|
| val n=60 | 13.6132 |

200 epochs on 1,096 training pairs, same schedule as facades
Show the result| metric | value |
|---|---|
| val PSNR | 14.934 |

Trained with L1 + adversarial
| split | PSNR |
|---|---|
| train n=720 | 27.9199 |
| val n=135 | 27.3519 |
| test n=45 | 28.2570 |

Trained with L1 only
| split | PSNR |
|---|---|
| train n=720 | 27.9801 |
| val n=135 | 27.4322 |
| test n=45 | 28.3149 |

12,600 steps at batch 4, lr 1e-5, on 833 pairs
Generate an image from a text prompt.
| model | tiny-SD (segmind/tiny-sd), UNet fine-tuned; VAE and text encoder frozen |
|---|---|
| data | Pokemon captions, 833 caption/image pairs at 512x512 |