Inspiration

Denoising images with just filters can require some finagling.

What it does

It tries to denoise images with successive filters.

How we I built it

I found a nice image dataset, created some functions to randomly add different permutations of noise types, then (tried) to create an RL agent to learn how to apply filters to reduce image distance between denoised and ground truth.

Challenges I ran into

Coming up with a way to add random permutations of different noise types was challenging. It was also challenging trying to pick up the POMDPs.jl, DeepQLearning.jl, and Flux.jl packages and integrate them together.

Accomplishments that I'm proud of

Well the images are noise-ified very elegantly!

What I learned

Packages are 100% your friend, but can also be your foe. At first, I tried to create my own noise functions, but found a package that composes well with Images.jl, which was a real lifesaver. But then the RL and DQN packages turned out to be very sophisticated with steep learning curve.

What's next for RL Image Denoiser

Finish the RL and DQN parts and train.

Built With

  • deepqlearning.jl
  • flux.jl
  • images.jl
  • julia
  • noise.jl
  • pomdps.jl
Share this project:

Updates