Adaptive Neural Network Image Filter Algorithm

To do this, use a window of dx size to dy and 3 color channels (the size of the adaptive filter window is much smaller than the image size). As a result, the neural network uses dx ∙ dy ∙ 3 input signals for input neurons. The network can be supplemented with hidden layers from the number of neurons associated with the color transformation of the filter. At the output of the neuron, it is proposed to use 3 neurons, the output signals of which are assigned to three colors ( rgb - red, green, blue) in the central pixel of the window from the output image. The signal of the color channel of a pixel is a linear transformation in the range of values [- 0.5 ; 0.5]. Whereas, the antisymmetric sigmoid function with the interval of values [- 1 ; 1 ]. For boundary image pixels, when the window goes beyond the images, the input values of the neurons of the network corresponding to these pixels are set to 0. The neural network is trained on the windows for all pixels of the output image using the back propagation error method.
The work has been implemented program adaptive filter and neural network in Java with a graphical user interface.
As a result of experiments, such a filter showed a fairly satisfactory result and the ability to learn various color non-structural transformations.
Also implementedWeb application with prepared, trained adaptive brown to white filter: svlab Web FotoBW .
A similar created Android application can be downloaded here: svlab Android FotoBW .
To upload a new image, click the button “Select a file” (the image file must be in the .jpg format).
Next, you need to wait for the image on the server to be processed and returned to the application.