High Definition Image Compression Technology

June 20, 2010 by Luigi Rosa · Leave a Comment
Filed under: Image processing 
VN:F [1.8.8_1072]
Rating: +1 (from 1 vote)
VN:F [1.8.8_1072]
Rating: 10.0/10 (1 vote cast)

.: Click here to download :.

The transport of images across communication paths is an expensive process. Image compression provides an option for reducing the number of bits in transmission. This in turn helps increase the volume of data transferred in a space of time, along with reducing the cost required. It has become increasingly important to most computer networks, as the volume of data traffic has begun to exceed their capacity for transmission. Traditional techniques that have already been identified for data compression include: Predictive coding, Transform coding and Vector Quantization. In brief, predictive coding refers to the decorrelation of similar neighbouring pixels within an image to remove redundancy. Following the removal of redundant data, a more compressed image or signal may be transmitted. Transform-based compression techniques have also been commonly employed. These techniques execute transformations on images to produce a set of coefficients. A subset of coefficients is chosen that allows good data representation (minimum distortion) while maintaining an adequate amount of compression for transmission. The results achieved with a transform-based technique is highly dependent on the choice of transformation used (cosine, wavelet, Karhunen-Loeve etc). Finally, vector quantization techniques require the development of an appropriate codebook to compress data. Usage of codebooks do not guarantee convergence and hence do not necessarily deliver infallible decoding accuracy. Also the process may be very slow for large codebooks as the process requires extensive searches through the entire codebook. Following the review of some of the traditional techniques for image compression, it is possible to discuss some of the more recent techniques that may be employed for data compression.

Artificial Neural Networks (ANNs) have been applied to many problems, and have demonstrated their superiority over traditional methods when dealing with noisy or incomplete data. One such application is for image compression. Neural networks seem to be well suited to this particular function, as they have the ability to preprocess input patterns to produce simpler patterns with fewer components. This compressed information (stored in a hidden layer) preserves the full information obtained from the external environment. Not only can ANN based techniques provide sufficient compression rates of the data in question, but security is easily maintained. This occurs because the compressed data that is sent along a communication line is encoded and does not resemble its original form. There have already been an exhaustive number of papers published applying ANNs to image compression. Many different training algorithms and architectures have been used. Some of the more notable in the literature are: nested training algorithms used with symmetrical multilayer neural networks, Self organising maps, for codebook generation, principal component analysis networks, backpropagation networks, and the adaptive principal component extraction algorithm. Apart from the existing technology on image compression represented by series of JPEG,MPEG and H.26x standards, new technology such as neural networks and genetic algorithms are being developed to explore the future of image coding. Successful applications of neural networks to vector quantization have now become well established, and other aspects of neural network involvement in this area are stepping up to play significant roles in assisting with those traditional technologies.

Index Terms: Matlab, source, code, neural networks, image compression, image processing, image reconstruction, codebook, quantization.

Figure 1. Compressed image

A simple and effective source code for Image Compression With Neural Networks.

Demo code (protected P-files) available for performance evaluation. Matlab Image Processing Toolbox, Matlab Communications Toolbox and Matlab Neural Network Toolbox are required.

Release
Date
Major features
1.0
2008.10.17

We recommend to check the secure connection to PayPal, in order to avoid any fraud.
This donation has to be considered an encouragement to improve the code itself.

Image Compression With Neural Networks – Click here for your donation. In order to obtain the source code you have to pay a little sum of money: 95 EUROS (less than 133 U.S. Dollars).
Once you have done this, please email us luigi.rosa@tiscali.it
As soon as possible (in a few days) you will receive our new release of Image Compression With Neural Networks.

Alternatively, you can bestow using our banking coordinates:

Name :
Luigi Rosa
Address :
Via Centrale 35 67042 L’Aquila Italy
Bank name:
Poste Italiane
Bank address:
Viale Europa 190 00144 Roma Italy
IBAN (International Bank Account Number) :
IT-50-V-07601-03600-000058177916
BIC (Bank Identifier Code) :
BPPIITRRXXX

The authors have no relationship or partnership with The Mathworks. All the code provided is written in Matlab language (M-files and/or M-functions), with no dll or other protected parts of code (P-files or executables). The code was developed with Matlab 2006a. Matlab Image Processing Toolbox, Matlab Communications Toolbox and Matlab Neural Network Toolbox are required. The code provided has to be considered “as is” and it is without any kind of warranty. The authors deny any kind of warranty concerning the code as well as any kind of responsibility for problems and damages which may be caused by the use of the code itself including all parts of the source code.

VN:F [1.8.8_1072]
Rating: 10.0/10 (1 vote cast)
VN:F [1.8.8_1072]
Rating: +1 (from 1 vote)

Popularity: 1% [?]

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • Live
  • PDF
  • Technorati
  • Twitter
  • Yahoo! Bookmarks
  • Add to favorites
  • email
  • MySpace
  • RSS

An Excellent tutorial about image segmentation, measurement, and filterin

April 27, 2010 by Admin · Leave a Comment
Filed under: Image processing, Tutorials 
VN:F [1.8.8_1072]
Rating: 0 (from 0 votes)
VN:F [1.8.8_1072]
Rating: 1.0/10 (1 vote cast)

Most of Matlab users use it for image processing. This post points to a simple, well written and well commented  Image Processing Tutorial that demonstrate the basic concepts to beginner users.. The author is the Image Analyst , quite famous on Matlab Central Newsreader for his tips and tricks about image processing.

The author description:

Demo to illustrate simple blob detection (segmentation), measurement, and filtering. Requires the Image Processing Toolbox (IPT) because it demonstrates some functions supplied by that toolbox, plus it uses the “coins” demo image supplied with that toolbox. If you have the IPT (you can check by typing ver on the command line), you should be able to run this demo code simply by copying and pasting this code into a new editor window, and then clicking the green “run” triangle on the toolbar.

First finds all the objects, then filters results to pick out objects of certain sizes. The basic concepts of thresholding, labeling, and regionprops are demonstrated with a simple example.

It’s a good tutorial for those users new to MATLAB’s image processing capabilities to learn on, before they go on to more sophisticated algorithms.

Tested with R2008b, R2009b and R2010a.

Download Now

VN:F [1.8.8_1072]
Rating: 1.0/10 (1 vote cast)
VN:F [1.8.8_1072]
Rating: 0 (from 0 votes)

Popularity: 1% [?]

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • Live
  • PDF
  • Technorati
  • Twitter
  • Yahoo! Bookmarks
  • Add to favorites
  • email
  • MySpace
  • RSS

K-Nearest Neigbors and Radius (Range) Search

VN:F [1.8.8_1072]
Rating: +1 (from 1 vote)
VN:F [1.8.8_1072]
Rating: 0.0/10 (0 votes cast)

KNN Graph

BruteSearchMex

When the dataset is small, when you have to run only a few number of search, or when the dimensions of points is large, the brute search method is still faster than kd-trees data structure. Computing the distances one by one take a minor time than building the tree.
Some of this problems have became less gravous since the introduction of GLTree (file id 22190) which allows for a very fast tree construction.
Despite this, very small dataset are still terrain for brute search algorithms.

I saw many k-neighbours utilities on FEX, but all them were m-coded. I think such a brute calculation is not an m-code job. So I developed my own Nearest Neighbour finder. It is nothing special it just computes all the distances and take the ones required from the input parameters, but of course the mex implementation make it even faster than vectorized m-code.

The following utilities are provided:

  • Nearest neighbor
  • K-Nearest neighbors
  • Radius Search

They al supports N-dimensions and work on double, it is possible to choose if return the distances.

Here is a time comparison with a vectrized m-code:

N=1000000;%number of reference points
Nq=100;%number of query points
dim=3;%dimension of points
k=3;%number of neighbor

tic
[idc,dist]=BruteSearchMex(p',qp','k',k);%MEX
toc

tic
[idc,dist]=knnsearch(qp,p,k);%  VECTORIZED M-CODE
toc

p=rand(N,dim);
qp=rand(Nq,dim);

Output:

Elapsed time is 0.962640 seconds.
Elapsed time is 18.813100 seconds.

For info, questions, suggestions, bugs: giaccariluigi@msn.com

Download Now

VN:F [1.8.8_1072]
Rating: 0.0/10 (0 votes cast)
VN:F [1.8.8_1072]
Rating: +1 (from 1 vote)

Popularity: 7% [?]

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay
  • Live
  • PDF
  • Technorati
  • Twitter
  • Yahoo! Bookmarks
  • Add to favorites
  • email
  • MySpace
  • RSS

Next Page »