Fast and Accurate Face Identification Using Overlapping DCT

January 28, 2010 by Luigi Rosa · Leave a Comment
Filed under: Image processing 
VN:F [1.8.8_1072]
Rating: 0 (from 0 votes)
VN:F [1.8.8_1072]
Rating: 0.0/10 (0 votes cast)

.: Click here to download :.

In the JPEG image compression algorithm, the input image is divided into 8-by-8 or 16-by-16 blocks, and the two-dimensional DCT is computed for each block. The DCT coefficients are then quantized, coded, and transmitted. The JPEG receiver (or JPEG file reader) decodes the quantized DCT coefficients, computes the inverse two-dimensional DCT of each block, and then puts the blocks back together into a single image. For typical images, many of the DCT coefficients have values close to zero; these coefficients can be discarded without seriously affecting the quality of the reconstructed image. Such algorithm results particularly robust also for face identification. Moreover the 2D DCT operator can be applied to overlapping data.

The extracted feature vectors are used as input to a simple nearest neighbor algorithm. The k-nearest neighbor algorithm is amongst the simplest of all machine learning algorithms. An object is classified by a majority vote of its neighbors, with the object being assigned to the class most common amongst its k nearest neighbors. k is a positive integer, typically small. If k = 1, then the object is simply assigned to the class of its nearest neighbor. In binary (two class) classification problems, it is helpful to choose k to be an odd number as this avoids difficulties with tied votes. The same method can be used for regression, by simply assigning the property value for the object to be the average of the values of its k nearest neighbors. It can be useful to weight the contributions of the neighbors, so that the nearer neighbors contribute more to the average than the more distant ones. The neighbors are taken from a set of objects for which the correct classification (or, in the case of regression, the value of the property) is known. This can be thought of as the training set for the algorithm, though no explicit training step is required. In order to identify neighbors, the objects are represented by position vectors in a multidimensional feature space. It is usual to use the Euclidean distance, though other distance measures, such as the Manhattan distance could in principle be used instead. The k-nearest neighbor algorithm is sensitive to the local structure of the data.

The code has been tested with AT&T database achieving an excellent recognition rate of 99.20% (40 classes, 5 training images and 5 test images for each class, hence there are 200 training images and 200 test images in total randomly selected and no overlap exists between the training and test images).

Index Terms: Matlab, source, code, face recognition, face matching, face verification, dct, k-nearest neighbor algorithm, knn, discrete cosine transform.

Figure 1. Example of k-NN classification

A simple and effective source code for Face Recognition.

Demo code (protected P-files) available for performance evaluation. Matlab Image Processing Toolbox is required.

Release
Date
Major features
1.0

2007.10.20

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.

Face Recognition Based On Overlapping DCT – Click here for your donation. In order to obtain the source code you have to pay a little sum of money: 250 EUROS (less than 350 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 Face Recognition Based On Overlapping DCT.

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 Release 2006a. Matlab Image Processing Toolbox is 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: 0.0/10 (0 votes 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

JPEG-based Image Compression Technology

January 2, 2010 by Luigi Rosa · Leave a Comment
Filed under: Image processing 
VN:F [1.8.8_1072]
Rating: 0 (from 0 votes)
VN:F [1.8.8_1072]
Rating: 0.0/10 (0 votes cast)

Click here to download :.

JPEG is a standardized image compression mechanism. It stands for Joint Photographic Experts Group, the original name of the committee that wrote the standard. JPEG is designed for compressing either full-color or gray-scale images of natural, real-world scenes. It works well on photographs, naturalistic artwork, and similar material; not so well on lettering, simple cartoons, or line drawings. JPEG is a lossy compression algorithm, meaning that the decompressed image isn’t quite the same as the one you started with. JPEG is designed to exploit known limitations of the human eye (more about this later), notably the fact that small color changes are perceived less accurately than small changes in brightness. A useful property of JPEG is that the degree of lossiness can be varied by adjusting compression parameters. This means that the image maker can trade off file size against output image quality. The code we have developed includes:

  • Color space transformation between RGB and YCbCr
  • Quantization
  • Optimized encoding

The JPEG compression algorithm is at its best on photographs and paintings of realistic scenes with smooth variations of tone and color. For web usage, where the bandwidth used by an image is important, JPEG is very popular. JPEG is the most common format saved by digital cameras. On the other hand, JPEG is not as well suited for line drawings and other textual or iconic graphics, where the sharp contrasts between adjacent pixels cause noticeable artifacts. Such images are better saved in a lossless graphics format such as TIFF, GIF, PNG, or a raw image format. JPEG is also not well suited to files that will undergo multiple edits, as some image quality will usually be lost each time the image is decompressed and recompressed (generation loss). To avoid this, an image that is being modified or may be modified in the future can be saved in a lossless format, and a copy exported as JPEG for distribution.

Index Terms: Matlab, source, code, JPEG, image, compression, DCT, quantization, coding, encoding, decoding, color, conversion.

Figure 1. JPEG image

A simple and effective source code for JPEG Image Compression.

Demo code (protected P-files) available for performance evaluation. Matlab Image Processing Toolbox is required.
Release
Date
Major features
1.0

2008.12.24

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.

JPEG Image Compression – Click here for your donation. In order to obtain the source code you have to pay a little sum of money: 35 EUROS (less than 49 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 JPEG Image Compression.

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 14 SP1. Matlab Image Processing Toolbox is 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: 0.0/10 (0 votes 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

DCT-based watermark recovering without resorting to the uncorrupted original image

November 18, 2009 by Luigi Rosa · Leave a Comment
Filed under: Image processing 
VN:F [1.8.8_1072]
Rating: 0 (from 0 votes)
VN:F [1.8.8_1072]
Rating: 6.0/10 (2 votes cast)
.: Click here to download :.

Digital watermarking has been proposed as a viable solution to the need of copyright protection and authentication of multimedia data in a networked environment, since it makes possible to identify the author, owner, distributor or authorized consumer of a document. In this paper a new watermarking technique to add a code to digital images is presented: the method operates in the frequency domain embedding a pseudo-random sequence of real numbers in a selected set of DCT coefficients. Watermark casting is performed by exploiting the masking characteristics of the Human Visual System, to ensure watermark invisibilily. The embedded sequence is extracted without resorting to the original image, so that the proposed technique represents a major improvement to methods relying on the comparison between the watermarked and original images. Experimental results demonstrate that the watermark is robust to most of the signal processing techniques and geometric distortions.

Index Terms: DCT, watermark, watermark casting, watermark detection, digital watermarking, copyright.

Figure 1. Watermarked image

A simple and effective source code for Digital watermarking.

Demo code (protected P-files) available for performance evaluation. Matlab Image Processing Toolbox is required.
Release
Date
Major features
1.0

2005.08.06

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.

DCT-based Watermarking. Click here for your donation. In order to obtain the source code you have to pay a little sum of money: 39,90 EUROS (less than 55,86 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 DCT-based Watermarking.

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 14 SP1. Matlab Image Processing Toolbox is 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: 6.0/10 (2 votes 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

Next Page »