Skip to content

Latest commit

 

History

29 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neural network tests demonstrates practical examples of neural network implementations utilizing C# and winforms.

Projects

  1. Neural Network Tests 1 - A test implementation of basic network (no real functionality)
  2. Neural Network Tests 2 - Utilizes a neural network to duplicate effects added to images.

Getting started

GUI Screenshot

  1. Compile the code in Visual Studio.
  2. Run Neural Network Tests 2.exe
  3. Select a working folder that contains your training and input images.
  4. Specify your training images.
    • A training image pair consists of an unedited and edited photo.
    • Both images must have identical size & resolution.
    • It is recommended not to use full size images for training. Processing after the network is trained is much faster.
  5. Specify a learning rate for the network and click train.
    • A loading bar will display progress. The plot will show RGB errors for each pixel as the network trains. If a reasonable learning rate is selected, these should generally decrease as the network trains.
  6. Specify a new unedited picture to process with the trained network. Click process.
    • The network will attempt to apply the same effect to this image that was observed in the training images.
    • Re-processing the unedited image from the training dataset provides a good indication of how successful training was. The processed image should be very similar to the edited image from the training set.

Some sample image test datasets have been added to the repository. Give these a try. Currently only the network learning rate can be changed from the GUI; the primary structure of the network is hard-coded. Eventually support will be added to modify advanced network parameters from the GUI.

Examples

A pair of training images is shown below. The un-edited image is on the left. The image on the right has a color grading profile applied to it. The network is trained with these two images.

Training Image A Training Image B

The image below on the left is processed with the network trained using the two images above. The output image is shown on the right.

Input Image Output Image

Here is an example of the neural network learning a threshold effect. The training images are below. The right one has been thresholded to make a black and white image.

Training Image A Training Image B

The input and output images are below. The network does an extremely effective job of learning the threshold effect.

Input Image Output Image

How it works

  • Todo

License

GitHub Neural Network Tests is available for free under the MIT license.

Packages:

  • This project licenses Oxyplot under the MIT License. Copyright (c) 2014 OxyPlot contributors.

Literature

Below are some interesting papers on neural networks and related topics.

Image Analogies: A far more complicated neural network processing algorithm for image processing.

Deep Photo Style Transfer:

Changelog

V1.1.0 - 2025-09-27

  • Update projects to dotnet 8.0
  • Minor cleanup

About

Testing of various neural network algorithms

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages