![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Image Compression via Neural NetworkWe want to compress images using neural networks.DescriptionTaking a look at the picture below, imagine you have a neural network with an input layer (left), an output layer of the same size (right), and a hidden layer.![]() Further, imagine that you put an image (like a picture of a puppy) into the inputs at the left in some way (possibly one pixel per node), apply feedforward to push the results through the network to the outputs at the right, then check the outputs against the inputs. You can adjust the network using backpropagation, and then repeat the process until the outputs match the inputs. Eventually given the image as an input to the network, the network will be able to produce the same image as the output. Not very impressive, unless you make the hidden layer smaller than the input layer and the output layer, as is shown in the picture above. The outputs of the trained hidden layer then represent the compressed image, because given just those values, the original picture can be recreated. Said another way, to store a set of pictures requires storing a single set of output weights, and the outputs of each picture's hidden weights. Therefore, the outputs of the hidden layer can be transmitted or stored, and the image reconstituted by giving those weights to the output nodes as inputs. Resourceshttp://www.speech.sri.com/people/anand/771/html/node37.htmlhttp://neuron.eng.wayne.edu/bpImageCompression9PLUS/bp9PLUS.html http://www.comp.glam.ac.uk/digimaging/neural.htm http://documents.wolfram.com/applications/neuralnetworks/NeuralNetworkTheory/2.5.1.html http://www.willamette.edu/~gorr/classes/cs449/backprop.html http://community.corest.com/~luciano/etc/ The last link is to a neural network library for Squeak we are looking into and may use. FeaturesWe want to implement a program that can take a picture, compress it in the manner described above, transmit or store the compressed version, and then reconstitute it at another time. If time permits, we will expand this to multiple images and perhaps video. We will most likely stick to sets of static images, such as a photo collection you might want to send to a friend.We think that because successive images in video are very similar, this kind of network could be used in an efficient video compression algorithm. NamesAndreea PicuChucky Ellison Nistha Tripathi Link to this Page
|