Tag Archives: maths

Gradient-descent optimized recursive filters for deconvolution / deblurring

This post is a follow-up to my post on deconvolution/deblurring of the images. In my previous blog post, I discussed the process of “deconvolution” – undoing a known convolution operation. I have focused on traditional convolution filters – “linear phase, … Continue reading

Posted in Code / Graphics | Tagged , , , , , , , , , | Leave a comment

Transforming “noise” and random variables through non-linearities

This post covers a topic slightly different from my usual ones and something I haven’t written much about before – applied elements of probability theory. We will discuss what happens with “noise” – a random variable – when we apply … Continue reading

Posted in Code / Graphics | Tagged , , , , , , , , , | Leave a comment

Procedural Kernel (Neural) Networks

Last year I worked for a bit on a fun research project that ended up published as an arXiv “pre-print” / technical report and here comes a few paragraph “normal language” description of this work. Neural Networks are taking over … Continue reading

Posted in Code / Graphics | Tagged , , , , | Leave a comment

Study of smoothing filters – Savitzky-Golay filters

Last week I saw Daniel Holden tweeting about Savitzky-Golay filters and their properties (less smoothing than a Gaussian filter) and I got excited… because I have never heard of them before and it’s an opportunity to learn something. When I … Continue reading

Posted in Code / Graphics | Tagged , , , , , | Leave a comment

Comparing images in frequency domain. “Spectral loss” – does it make sense?

Recently, numerous academic papers in the machine learning / computer vision / image processing domains (re)introduce and discuss a “frequency loss function” or “spectral loss” – and while for many it makes sense and nicely improves achieved results, some of … Continue reading

Posted in Code / Graphics | Tagged , , , , , | 6 Comments

Neural material (de)compression – data-driven nonlinear dimensionality reduction

In this post I come back to something I didn’t expect coming back to – dimensionality reduction and compression for whole material texture sets (as opposed to single textures) – a significantly underexplored topic. In one of my past posts … Continue reading

Posted in Code / Graphics | Tagged , , , , , , , , , , | 5 Comments

Compressing PBR material texture sets with sparsity and k-SVD dictionary learning

Introduction In this blog post, I am going to continue exploration of compressing whole PBR texture sets together (as opposed to compressing each texture from the set separately) and using the fact that those textures are strongly correlated. In my … Continue reading

Posted in Code / Graphics | Tagged , , , , , , , , , , | 8 Comments

Dimensionality reduction for image and texture set compression

In this blog post I am going to describe some of my past investigations on reducing the number of channels in textures / texture sets automatically and generally – without assuming anything about texture contents other than correspondence to some … Continue reading

Posted in Code / Graphics | Tagged , , , , , , , , | 17 Comments

Using JAX, numpy, and optimization techniques to improve separable image filters

In today’s blog post I will look at two topics: how to use JAX (“hyped” new Python ML / autodifferentiation library), and a basic application that is follow-up to my previous blog post on using SVD for low-rank approximations and … Continue reading

Posted in Code / Graphics | Tagged , , , , , , , , , , , | 11 Comments

Separable disk-like depth of field

This is a short note accompanying shadertoy: https://www.shadertoy.com/view/lsBBWy . It is direct implementation of “Circularly symmetric convolution and lens blur” by Olli Niemitalo (no innovation on my side, just a toy implementation) and got inspired by Kleber Garcia’s Siggraph 2017 presentation “Circular … Continue reading

Posted in Code / Graphics | Tagged , , , , , , , , , , | 2 Comments

Dithering part three – real world 2D quantization dithering

In previous two parts of this blog post mini-series I described basic uses mentioned blue noise definition, referenced/presented 2 techniques of generating blue noise and one of many general purpose high-frequency low-discrepancy sampling sequences. In this post, we will look … Continue reading

Posted in Code / Graphics | Tagged , , , , , , , , , , , , | 7 Comments