Electronic voting is a term encompassing several different types of voting, embracing both electronic means of casting a vote and electronic means of counting votes. Electronic voting technology can include punch cards, optical scan voting systems and specialized voting kiosks (including self-contained Direct-recording electronic (DRE) voting systems). It can also involve transmission of ballots and votes via telephones, private computer networks, or the Internet. Electronic voting technology can speed the counting of ballots and can provide improved accessibility for disabled voters. However, there has been contention, especially in the United States, that electronic voting, especially DRE voting, could facilitate electoral fraud. Electronic voting systems may use electronic ballots to store votes in computer memory. Systems which use them exclusively are called DRE voting systems. When electronic ballots are used there is no risk of exhausting the supply of ballots. Electronic voting machines can be made fully accessible for persons with disabilities. Punch card and optical scan machines are not fully accessible for the blind or visually impaired, and lever machines can be difficult for voters with limited mobility and strength.
Background of Voting System
A voting system (also referred to as an electoral system) or voting theory allows voters to choose between options, often in an election where candidates are selected for public office. Voting can be also used to award prizes, to select between different plans of action, or by a computer program to find a solution to a problem. Voting can be contrasted with consensus decision making and hierarchical or authoritarian systems. A voting system contains rules for valid voting, and how votes are aggregated to yield a final result. The study of formally defined voting systems is called voting theory, a subfield of political science, economics or mathematics. Voting theory began formally in the 18th century and many proposals for voting systems have been made.
Proposed Electronic Voting System
We have proposed an electronic voting system for our Final Year Project. In this system, we have designed a user interface that includes an LCD and Keypad, both of which are interfaced with microcontroller. Then the microcontroller serially communicates with a computer.A finger print scanner is also interfaced with the computer through the usb port. We can check finger print authentication in Matlab. We will make a data base on computer which will be updated automatically. Flow diagram is given below:
Server End
Serial Interface USB Interface
Microsoft Visual Basic
(Pc)
Matlab
(Fingerprint Verification)
User End
Futronic FS80 Fingerprint Scanner
LCD
Keypad
8051 Microcontroller
Database
Flow Diagram
Overview of the Topics Covered
We studied up till now
Finger print
Minutiae
Finger Print Patterns
Finger Print Matching Techniques
Finger Print Matching Algorithms
Methods of De-noising an image
Wavelet
Wavelet Families
the Fast Wavelet Transform (FWT) Algorithm
Wavelet Packets, Wavelet Analysis
Wavelet Decomposition
Wavelet Packets for Compression and De-Noising
Wavelet decomposition and reconstruction in Matlab
Averaging and median filter
Hardware interface
LCD and Keypad interface with microcontroller
Serial port interface with computer
Tools
MATLAB
Keil MicroVision
Proteus Simulator
Finger Prints
A fingerprint is the reproduction of a fingertip epidermis, produced when a finger is pressed against a smooth surface. Fingerprints are fully formed at about seven months of fetus development and finger ridge configurations do not change throughout the life of an individual except due to accidents such as bruises and cuts on the fingertips. This property makes fingerprints a very attractive biometric identifier. The biological principles of fingerprints are summarized below:
1. Individual epidermal ridges and furrows have different characteristics for different fingerprints.
2. The configuration types are individually variable, but they vary within limits that allow for a systematic classification.
3. The configurations and minute details of individual ridges and furrows are permanent and unchanging.
Minutiae
In biometrics and forensic science, minutiae are major features of a fingerprint, using which comparison of one fingerprint with another can be made. Minutiae in fingerprints are generally stable and robust to fingerprint impression conditions. Minutiae include:
Ridge Ending:
The abrupt end of a ridge.
Ridge Bifurcation
A single ridge that divides into two ridges.
Short, or Independent Ridge
A ridge that commences, travels a short distance and then ends.
Island
A single small ridge inside a short ridge or ridge ending that is not connected to all other ridges.
Ridge enclosure
A single ridge that bifurcates and reunites shortly afterward to continue as a single ridge.
Spur
A bifurcation with a short ridge branching off a longer ridge.
Crossover or Bridge
A short ridge that runs between two parallel ridges.
Delta
A Y-shaped ridge meeting.
Core
A U-turn in the ridge pattern.
Finger Print Patterns
The three basic patterns of fingerprint ridges are the arch, loop, and whorl.
Arch Pattern
An arch is a pattern where the ridges enter from one side of the finger, rise in the center forming an arc, and then exit the other side of the finger.
Loop Pattern
The loop is a pattern where the ridges enter from one side of a finger, form a curve, and tend to exit from the same side they enter.
Whorl Pattern
In the whorl pattern, ridges form circularly around a central point on the finger.
Finger Print Matching Techniques
Fingerprint matching techniques can be placed into two categories:
1- Minutiae-based.
2- Correlation based.
Finger Print Matching Algorithms
Finger Print Matching algorithms are used to compare previously stored templates of fingerprints against candidate fingerprints for authentication purposes.
Pattern-based (or image-based) Algorithm.
Core-based Matching Algorithm.
An Algorithm for Fingerprint Image Post processing.
Algorithm for Minutiae Detection.
Fingerprint Matching and Classification using an Onion Layer Algorithm.
Methods of De-noising an image
We use two methods of de-noising the image.
Wavelets decomposition and reconstruction
Averaging and median filter
Wavelet
A wavelet is a wave-like oscillation with amplitude that starts out at zero, increases, and then decreases back to zero. It can typically be visualized as a "brief oscillation" like one might see recorded by a seismograph or heart monitor. Generally, wavelets are purposefully crafted to have specific properties that make them useful for signal processing. Wavelets can be combined, using a "shift, multiply and sum" technique called convolution, with portions of an unknown signal to extract information from the unknown signal.
Wavelet Families
Wavelet transforms comprise an infinite set. The different wavelet families make different trade-offs between how compactly the basic functions are localized in space and how smooth they are.
Some of the wavelet bases have fractal structure. The Daubechies wavelet family is one example
Daubechies wavelet
Within each family of wavelets (such as the Daubechies family) are wavelet subclasses distinguished by the number of coefficients and by the level of iteration. Wavelets are classified within a family most often by the number of vanishing moments. This is an extra set of mathematical relationships for the coefficients that must be satisfied, and is directly related to the number of coefficients. For example, within the Coiflet wavelet family are Coiflets with two vanishing moments, and Coiflets with three vanishing moments. In Figure shows several different wavelet families.
The Fast Wavelet Transform (FWT) Algorithm
In 1988, Mallat produced a fast wavelet decomposition and reconstruction algorithm [Mal89]. The Mallat algorithm for discrete wavelet transform (DWT) is, in fact, a classical scheme in the signal processing community, known as a two channel sub band coder using conjugate quadrature filters or quadrature mirror filters (QMF).
The decomposition algorithm starts with signal s, next calculates the coordinates of A1 and D1, and then those of A2 and D2, and so on.
The reconstruction algorithm called the inverse discrete wavelet transform (IDWT) starts from the coordinates of AJ and DJ, next calculates the coordinates of AJ-1, and then using the coordinates of AJ-1 and DJ-1 calculates those of AJ-2, and so on.
Wavelet Packets
The wavelet packet method is a generalization of wavelet decomposition that offers a richer signal analysis.
Wavelet packet atoms are waveforms indexed by three naturally interpreted parameters: position, scale (as in wavelet decomposition), and frequency. For a given orthogonal wavelet function, we generate a library of bases called wavelet packet bases. Each of these bases offers a particular way of coding signals, preserving global energy, and reconstructing exact features. The wavelet packets can be used for numerous expansions of a given signal. We then select the most suitable decomposition of a given signal with respect to an entropy-based criterion. There exist simple and efficient algorithms for both wavelet packet decomposition and optimal decomposition selection. We can then produce adaptive filtering algorithms with direct applications in optimal signal coding and data compression.
Wavelet Analysis
Wavelet analysis represents the next logical step: a windowing technique with variable-sized regions. Wavelet analysis allows the use of long time intervals where we want more precise low-frequency information, and shorter regions where we want high-frequency information.
Here's what this looks like in contrast with the time-based, frequency-based, and STFT views of a signal:
Wavelet Packet Analysis
The wavelet packet method is a generalization of wavelet decomposition that offers a richer range of possibilities for signal analysis. In wavelet analysis, a signal is split into an approximation and a detail. The approximation is then itself split into a second-level approximation and detail, and the process is repeated. For n-level decomposition, there are n+1 possible ways to decompose or encode the signal. In wavelet packet analysis, this yields more than different ways to encode the signal. This is the wavelet packet decomposition tree.
Wavelet Decomposition
One way of understanding this decomposition consists of using an optical comparison. Successive images A1, A2, A3 of a given object are built. We use the same type of photographic devices, but with increasingly poor resolution. The images are successive approximations; one detail is the discrepancy between two successive images. Image A2 is, therefore, the sum of image A4 and intermediate details D4, D3:
Wavelet Packets for Compression and De-Noising
In the wavelet packet framework, compression and de-noising ideas are identical to those developed in the wavelet framework. The only new feature is a more complete analysis that provides increased flexibility. A single decomposition using wavelet packets generates a large number of bases. You can then look for the best representation with respect to a design objective.
Wavelet decomposition and reconstruction in Matlab
In Matlab we use following functions
Wavefilter
Wavefast
Wavework
Wavecut
Wavecopy
Wave2gray
Waveback
WaveFilters
It generates wavelet decomposition and reconstruction filters. It uses a standard switch construction. The reconstruction filters are time-reversed versions of decomposition filters.
Wavefast
Wavefast perform multi-level 2-dimentional fast wavelet transform. It uses same decomposition structure i.e. [C, S] where C is a decomposition vector and S is a bookkeeping matrix. It uses symmetric image extension to reduce the border distortion associated with the computed FWT.
Wavework
Wavework is used to edit wavelet decomposition structures.
Wavecut
Wavecut zeroes coefficients in a wavelet decomposition structures. It returns a new decomposition vector whose detail and approximation coefficients (based on Type and N) have been zeroed.
Wavecopy
Wavecopy fetches coefficients of a wavelet decomposition structure. It returns a coefficient array based on type and N.
Wave2gray
Wave2gray display wavelet decomposition coefficients and returns a wavelet coefficient image.
Waveback
Waveback performs multilevel two-dimensional inverse FWT and computes a 2D N-level partial or complete wavelet reconstruction of decomposition structure [C, S].
Result
Averaging and Median filter
By using average and median filter we remove noise from image.
So we use following functions
1. Fspecial
2. Imfilter
The fspecial function produces several kinds of predefined filters, in the form of correlation kernels. After creating a filter with fspecial, you can apply it directly to your image data using imfilter.
Result
Comparison
From above discussion we conclude that result from wavelet reconstruction is better than average filter and median filter so we will proceed with this method onward.
Hardware Interface
LCD
Keypad
Microcontroller
Fingerprint scanner/sensor
Serial Communication
Computer Interface
LCD interface
The most commonly used LCDs found in the market today are 1 Line, 2 Line or 4 Line LCDs which have only 1 controller and support at most of 80 characters, whereas LCDs supporting more than 80 characters make use of 2 HD44780 controllers. Most LCDs with 1 controller has 14 Pins and LCDs with 2 controller has 16 Pins (two pins are extra in both for back-light LED connections).
Keypad interface
This keypad provides a visually appealing way to get numeric data to your control system. The board is a series of pushbutton switches that provide structured input for measuring user input. Output pins are 1-7, where pin 1 corresponds to the pin closest to the * key.
Microcontroller
It provides many functions (CPU, RAM, ROM, I/O, interrupt logic, timer, etc.) in a single package.
8-bit ALU, Accumulator and Registers; hence it is an 8-bit microcontroller
8-bit data bus - It can access 8 bits of data in one operation
16-bit address bus - It can access 216 memory locations - 64 kb (65536
Locations) each of RAM and ROM
On-chip RAM - 128 bytes (data memory)
On-chip ROM - 4 kb (program memory)
Four byte bi-directional input/output port
UART (serial port)
Two 16-bit Counter/timers
Two-level interrupt priority
Power saving mode
Fingerprint Scanner
We have selected the given fingerprint scanner according to our project requirement.
Description of Furtonic FS80 Fignerprint Scanner
FS80 USB Fingerprint Scanner uses advanced CMOS sensor technology and precise optical system to deliver high quality fingerprint image.
The finger scanning window of FS80 Fingerprint Scanner is a crown glass with a thickness of 14mm. It is much more reliable and robust compared to any semiconductor type fingerprint sensor. The finger is illuminated by 4 infra-red LEDs during scanning and the light intensity is automatically adjusted according to scanning fingerprint's characteristics (wet, dry, blurred, etc) to optimize the quality of the captured fingerprint image.
Special electronic circuit is built into FS80 Fingerprint Scanner to do Live Finger Detection (LFD). With appropriate software in PC, user can select this LFD feature so that only live finger's fingerprint will be scanned into PC. Fake fingers made from silicone rubber, play-doh, etc, will be rejected by the FS80 Fingerprint Scanner. The LFD feature is included in all Futronic's standard software.
FS80 Fingerprint Scanner can capture an almost un-distorted raw fingerprint image into PC in 100ms and is good for any fingerprint recognition application.
Specification of FS80 Fingerprint Scanner
Type
Optical Scanner
Interface
USB 2.0, with a 2M standard USB cable
Size of the scanning window
16x24mm
Image resolution
480x320 pixel, 500 DPI
Raw fingerprint image file size
150K byte
Size of the scanner
45x63x26 mm
Weight
120 gram
Operating temperature
-10 to +55 Degree Celsius
Serial Communication
For serial communication we use "Null modem".
Null modem
Null modem is a communication method to connect two DTEs (computer, terminal, printer etc.) directly using a RS-232 serial cable. The RS-232 standard is asymmetrical as to the definitions of the two ends of the communications link so it assumes that one end is a DTE and the other is a DCE e.g. a modem. With a null modem connection, the transmit and receive lines are cross linked. Depending on the purpose, sometimes also one or more handshake lines are cross linked. Several wiring layouts are in use because the null modem connection is not covered by a standard.
Computer Interface
We will interface a computer with microcontroller by wired or wireless media for creating a database which will be updated automatically as soon as new thumb image is received. In addition to this it will help us in identification and verification of the fingerprint images obtained.
Hardware Schematic
While interfacing we connected Port 2 of Microcontroller with 16 x 2 LCD, Port 1 with 3 x 4 Keypad. Schematic is given below:
Objectives
Developing a user interface.
Appling different algorithm of fingerprint verification/identification in Matlab.
Developing a Database for keeping the entire record.
Maintenance and update of Database at Server End.
Objectives completed
Interfaced LCD and Keypad with 8051.
De-noise an image in Matlab using wavelets
Applied Pattern Recognition through distance in Matlab.
Objectives to be completed
Interface finger print scanner and Matlab through visual basic.
Developing a Database for keeping the entire record.
Maintenance and update of Database at Server End.
Applying different algorithm for Fingerprint identification in Matlab.
Meeting and submissions
We have done 5 meeting with our supervisor first two meetings were based on finger prints and hardware interface and last three meetings were about de-noising of image and we submit monthly report to our supervisor.