In part A we will play around with diffusion models, implement diffusion sampling loops, and use them for other tasks such as inpainting and creating optical illusions.

Part 0

Random Seed = 222

Output for the 3 Text Prompts

The quality of these images with respect to their propmts is very good.

Part 1

Output for test image at noise level [250, 500, 750]

Output for level 250

Output for level 500

Output for level 750

Below are the results for Iterative Denoising

Now, the Diffusion Model Sample (5 of them) are given below

Results(samples 1, 2, 3, 4, 5):

High Quality Image and Low Quality Image Results(samples 1, 2, 3, 4, 5):

The edited images at noise levels [1, 3, 5, 7, 10, 20] are below:

Editing Hand-Drawn and Web Images

Below are the images used

Below are the Visual Anagrams Produced:

Old man(people around campfire) , Red Panda (kitchen table) , Horse (snowy mountains)

Below are the results of producing a couple of Hybrid Images:

**Please note that my Inpaint and edited image results were for some reason not uploaded on the website. I keep getting an unknown error. I have implemented the correct code.**

Below is the information i got from training and implementing the model

Below is the result of training the model

Here is the Training Loss Curve we obtain

Below are the results of running the model on our Data

**Please note that my image results could not be uploaded for a similar reason as part a. I fail to understand why this happened, but I have implemented the correct code.