<< Chapter < Page Chapter >> Page >
An introduction the Rice University ELEC 301 Fall 2006 coin recognition project.

Introduction

Many tedious processes can be automated using computers. Counting and sorting objects, especially in large numbers, is an area where humans are simply less efficient. Applying this knowledge to the problem of identifying and counting coins, a software system can be developed to recognize and tally a handful of change. The following modules describe the challenges associated with building a system that accomplishes these tasks. Good luck on your journey!

Background

Object recognition and identification are important aspects of machine vision. Coin recognition in particularposes a special challenge for two reasons: 1. Coins are notoriously difficult to photograph. They are reflective, and there aretrade-offs in evenness of lighting vs. visibility of details when determining lighting. 2. Coins are circular objects. Unlike playingcards, where long edges can be determined and the original image can be transformed to a standard angle from which comparisons canbe made, coins can have arbitrary orientations and there is no way to determine them without knowing the identity of the coin.

Process overview

There is a systematic process that the machine must follow to determine the identity of a coin. The rest of thiscourse will go into greater detail in each step.

Image acquisition

First, an image must be acquired. You might imagine that this part of the process would be the simplest, but itactually ended up being one of our steps that was most fraught with difficulties. Lighting ends up becoming a big issue, leading tomisidentification in systems with uneven lighting and necessitating the use of diffuse light sources.

Circle recognition

Once the image is in the computer, the first step is to locate the coins in the scene. This can be accomplishedusing off-the-shelf code that implements a feature extraction technique known as the Circular Hough Transform. Feeding thefunction the image and a range of radii to detect, it will, with high accuracy, return the radius and center of every circle (coin,in this case) in that range in the picture.

Coin fft creation

Radius and center data in hand, now we get to the meat of the project: recognizing the coins. The key difficultyin recognizing coins is their very circular nature. As mentioned previously, they can have any phase. Normally you might use amatched filter to try to determine identity of an object (the filter with the greatest resulting magnitude is the filter of thecoin). If you were going to do that in this case, you would need a separate matched filter not only for each coin surface, but foreach coin surface at every possible rotation. We take a different approach. Exploiting the properties of Fourier transforms and goingthrough an “unwrapping process”, we are able to create unique FFTs that are orientation agnostic.

Coin identification

Once we have the FFT of the coin, we have to determine which coin it is. Beforehand, we create adatabase of FFTs of known coins we want to recognize. Then, using one of many possible comparison algorithms, we compare the FFT ofthe current coin to each coin in the database, selecting the comparison with the closest match as the identity of thecoin.

Output display

Once the information about each coin is known, we can display it in any way we want. Because we record lots ofmetadata for each coin, in addition to the sum we can display all sorts of interesting statistics about the coins in the image. Wealso created a way to allow rapid error checking by superimposing the values of the coins onto the image of the coins.

Flow chart

This is a pictorial representation of the process described above.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Elec 301 projects fall 2006. OpenStax CNX. Sep 27, 2007 Download for free at http://cnx.org/content/col10462/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Elec 301 projects fall 2006' conversation and receive update notifications?

Ask