Coin Recognition Project Progress Report
In partial fulfillment of
18 November 2002
Our project is to design an image processing system to recognize the tail side of standard US coins using Mathematica. The system will be able to recognize modern day pennies, nickels, dimes, and quarters, excluding quarters dating from 1999 or later.† The sections of our project are:
Since we began working on this project, we have collected data pictures of coins using a Logitech PC camera.† Figure 1 is an example of a data picture.
Next, we wrote a module to segment coins, separating them from the background. See Figure 2 for an example of a segmented image. We are still working on the image cropping module.
Figure 3 shows the results of our current cropping module. The module crops the image to contain only the extents of the coin.† Cropping is accomplished by locating the centroid of the segmented coin (and the additional noise). Next, it looks for the edges of the coin by searching outwards from the centroid testing the pixels for the background color. After finding the background color, it defines a rectangle that contains the coin. Everything outside this rectangle is cropped and banished from the land of the living.
Lastly, we have been working on feature extraction. Figure 4 shows a processed version of Figure 2. Convolving a vertical edge detection filter with Figure 2 created Figure 4. First we tried a mask matrix whose rows were (0, 1, 0), but that didnít give us any useful data. It gave us a form of averaging the pixels in the image. What worked best for vertical edges was a 3x3 matrix whose rows are (-1 0 1) and (1 0 Ė1). In addition to vertical edge detection, we have also explored masks that detect horizontal edges and both diagonal edges on the image. From this data, we hope to classify the coin independent of rotation.
We have just begun classification and are currently coding a module that will divide and image into rectangular areas, in the same manner as uniform quantization. We plan to use coin images at various rotational orientations in an attempt to create a rotationally independent training set. Then our uniform quantization will be used to determine coin types using the data output from our various filters. Depending on our results and time limitations, we may use vector quantization to determine the dominant line directions, determined by our filters, to identify the coin type.†
As a result of successfully completing this project we will get an A in all our classes and live happily ever after.