0% found this document useful (0 votes)
35 views48 pages

1822 B.tech It Batchno 340

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views48 pages

1822 B.tech It Batchno 340

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 48

FINAL YEAR PROJECT – REPORT

Sathyabama Institute of Science and Technology


(Deemed to be University)

Submitted in partial fulfillment of the requirements for the award of


Bachelor of Technology Degree in Information Technology

By
Vaishnavy P & Nandhini V
38120088 & 38120053

DEPARTMENT OF INFORMATION TECHNOLOGY


SCHOOL OF COMPUTING
SATHYABAMA INSTITUTE OF SCIENCE AND
TECHNOLOGY
JEPPIAAR NAGAR, RAJIV GANDHI SALAI,
CHENNAI – 600119. TAMILNADU
March 2022
SCHOOL OF COMPUTING

BONAFIDE CERTIFICATE

This is to certify that this Project Report is the Bonafide work of who carried out the
project entitled “Smart Voting System Using Deep Learning Techniques” Under our
supervision from August 2021 to March 2022

Internal Guide
Dr. R.M Gomathi M.E, Ph.D.

Head of the Department


Dr. R. Subhashini M.E., Ph.D.,

Submitted for Viva voce Examination held on

Internal Examiner External Examiner


DECLARATION

We Vaishnavy.P and Nandhini.V hereby declared that the Project Report entitled
“Smart Voting System Using Deep Learning Techniques ” done by us under the
guidance of Dr. R.M Gomathi M.E, Ph.D. at Sathyabama Institute of Science and
Technology (Deemed to be University), Jeppiaar Nagar, Rajiv Gandhi Salai, Chennai
- 600119 is submitted in partial fulfillment of the requirements for the award of
Bachelor of Technology degree in Information Technology.

DATE: 28/02/2022

Place: Chennai SIGNATURE OF THE CANDIDATE

ACKNOWLEDGEMENT
We are pleased to acknowledge our sincere thanks to Board of management of
SATHYABAMA for their kind encouragement in doing this project and for
completing it successfully. We are grateful to them.

We convey our thanks to Dr. T. SASIKALA M.E., Ph.D., Dean, School of


Computing and Dr. R. SUBHASHINI M.E., Ph.D., Head of the Department,
Department of Information Technology for providing us the necessary support and
details at the right time during the progressive reviews.

We would like to express our sincere and deep sense of gratitude to our
Project Guide Dr. R.M Gomathi M.E, Ph.D. for her valuable guidance,
suggestions and constant encouragement paved way for the successful completion of
our project work.

We wish to express our thanks to all Teaching and Non-teaching staff


members of the Department of INFORMATION TECHNOLOGY who were
helpful in many ways for the completion of the project.

ABSTRACT
Online voting system in which the election data is stored and processed. To
achieve higher level of security, one levels of authentication techniques are
used. The authentication technique used is a Face Detection and Recognition
system. In this method of authentication, the voters face image captured during
the registration is compared with the image captured by the webcam at the time
of casting vote. After the first level of authentication is done a voter can
casting the vote. These techniques provide a more secure platform thus
overcoming vulnerabilities of the traditional voting system. We use OpenCV,
Flask are the python package and Haar Cascade Algorithm

LIST OF TABLES

CHAPTER TITLE NAME PAGE NO


I ABSTRACT 5

II LIST OF FIGURES 6
1 1.1 INTRODUCTION 7

1.2 OBJECTIVE 8

2 2.1 LITERATURE SURVEY 9

2.2 MACHINE LEARNING TECHNIQUES 14

2.3 APPLICATION OF MACHINE LEARNING 16

2.4 ADVANTAGES OF MACHINE LEARNING 16

3 3.1 EXISTING SYSTEM 20

3.2 PROPOSED SYSTEM 21

3.3 CONVOLUTIONAL NEURAL NETWORKS 23

3.4 FEASIBILITY STUDY 24

4 4.1 SOFTWARE REQUIREMENTS 30

4.2 HARDWARE REQUIREMENTS 34

4.3 PYTHON LANGUAGE 38

4.4 FEATURES OF ANACONDA NAVIGATOR 39

5 5.1 SYSTEM ARCHITECTURE 40

5.2 MODULES DESCRIPTION 42

5.3 UML DIAGRAMS 43

5.4 SOFTWARE TESTING 43

6 6.1 SOURCE CODE 44

6.2 SCREEN SHOTS 46

INTRODUCTION
In Democratic countries like India, the voting system plays a major role during
elections. Traditionally, the election commission in India uses electronic voting
machines which need more manpower, time-consuming and also, they are less
trustworthy. As we know, in every country Election is a basic process of
democracy which allows people to show their opinions by selecting their
candidate. India is spending huge money to improve our whole voting system
to provide a better government to citizens. In India, voting system should be
honest, translucent and fully secure for the better democracy. The current
system is used to less transparency because there could be chances of cheating
at the voting time.

Authentication of Voters, smartness of the voting process, protecting voted data


these are the main challenges of current Election voting. That’s because it is
necessary to generate a smart election voting system. As the modern
communications and Internet, today are almost accessible electronically, the
computer technology users, brings the increasing need for electronic services
and their security. Usages of new technology in the voting process improve the
elections in natural. After the industrialzation a greater number of people leave
their native places and come to the cities for the job's sake. But many of them
still have their voter ids in the address of their native places. On the day of
voting, they can't able to go their places so they don’t cast their valuable vote.
this is the main reason for reduction of voting percentage in our country. Our
government also keep on working to find out a best solution for this
circumstance.

Objective
This system provides a better security as it ensures that no voter is
allowed to vote more than once. Also, the system takes care that no voter
can determine for whom anyone else voted and no voter can duplicate
anyone else vote. Every voter can make sure his/her vote is cast. The
developed application is based on an e-Voting methodology. The voter's
image is captured using a webcam. This image is used as an input to the
face detection algorithm. This image will compare with our dataset for
verifying the user. This is achieved by template matching where the
image received from the user side is compared with the image stored in
user dataset at the time of registration. Once the user is verified, he can
cast his vote. The vote cast by him is then stored in the database and is
taken for tallying purpose after the deadline for voting process.

CHAPTER 2
2.1. LITERATURE SURVEY
1.Title - A Secure Verifiable Ranked Choice Online Voting System Based
on Homomorphic Encryption
Author - Xue Chao Yang; Xun Yi; Surya Nepal; Andrei Kelarev;
Fenagling Han,IEEE Access, March 2018
Advanced security methods are necessary to introduce effective online voting
in the whole world. Elections conducted on paper consume a lot of resources
and contribute to the destruction of forests, which leads to climate deterioration.
Recent online voting experiences in countries, such as the United States, India,
and Brazil, demonstrated that further research is needed to improve security
guarantees for future elections, to ensure the confidentiality of votes and enable
the verification of their integrity and validity.

2.Title - Electronic Voting Using Blockchain and Smart Contracts: Proof


of Concept
Author - Fáber D. Giraldo; Barbosa Milton C.; Carlos E. Gamboa ,IEEE
Latin America Transactions 10, October 2020
Blockchain technology has been presented as a support for trust needs between
transactions in electronic information systems. Its successful use in
cryptocurrencies has allowed it to explore its capabilities in commercial,
industrial, and service systems, backed by the operational alternatives offered
by Ethereum Smart Contracts and the cryptographic security of public and
private key.

3.Title - A Secure End-to-End Verifiable Internet-Voting System Using


Identity-Based Blind Signature
Author - Mahender Kumar; Satish Chand; C. P. Katti, IEEE Systems
Journal, June 2020)
The end-to-end (E2E) verification enables a voter to check if his ballot is
recorded as he intended and the public to check if the system has correctly
counted all of the recorded ballots. The Internet voting systems based on the
principle of E2E verifiability have many challenges; the most important is its
security. Several E2E voting systems have been discussed in the last decade in
terms of analyzing the e-voting system and formalizing its security
requirements. This article presents an E2E verifiable internet voting system that
provides mobility to a voter and allows him to cast his vote secretly in public
computer with the benefit of early voting. The proposed system aims to support
the election process universally by using the voter's unique identification and
biometric features. We propose a new identity-based blind signature scheme
that ensures the voter's anonymity.

4.Title - A Smart Contract System for Decentralized Borda Count Voting


Author - Somnath Panja; Samiran Bag; Feng Hao; Bimal Roy, IEEE
Transactions on Engineering Management, Nov. 2020
In this article, we propose the first self-tallying decentralized e-voting protocol
for a ranked-choice voting system based on Borda count. Our protocol does not
need any trusted setup or tallying authority to compute the tally. The voters
interact through a publicly accessible bulletin board for executing the protocol
in a way that is publicly verifiable. Our main protocol consists of two rounds.
In the first round, the voters publish their public keys, and in the second round
they publish their randomized ballots. All voters provide Non-interactive Zero-
Knowledge (NIZK) proofs to show that they have been following the protocol
specification honestly without revealing their secret votes. At the end of the
election, anyone including a third-party observer will be able to compute the
tally without needing any tallying authority.

5.Title - Modeling Reliability of Threshold Weighted Indecisive Voting


Systems
Author - Hainan Zhang; Hoang Pham, IEEE Transactions on
Computational Social Systems, Feb 2020
In industry, the method of hypothesis acceptance based on available
information is widely used in applications such as system modeling. Xie and
Pham modeled the reliability of weighted threshold voting systems with a
general recursive reliability function in human organization systems. As an
extended study, we introduce a generalized weighted indecisive-voting n-unit
system using a new decision rule consisting both a threshold parameter τ and a
new indecisive parameter θ. In general, indecision happens due to limited
information, and an indecisive parameter is then applied if no decision is made.
System reliability R is calculated to show the system performance.

6.Title: SecEVS : Secure Electronic Voting System Using Blockchain


Technology
Authors: Ashish Singh; Kakali Chatterjee, 2018 International Conference
on Computing, Power and Communication Technologies (GUCON)
In today's digital environment, the voting system move from paper based to a
digital system. A digital e-voting system have many properties such as
transparency, decentralization, irreversibility, and non-repudiation. The growth
in digital e-voting system arises many security and transparency issues. In this
paper, we used the blockchain technology in digital e-voting system to solve
the security issues and fulfill the system requirements. It offers new
opportunities to deploy a secure e-voting system in any organization or country.
The solution is far better as compared to other solution because, it is a
decentralized system, contain the results in the form of bit-coins, having
different locations. We will also analyze the security of our proposed voting
system, which shows our protocol is more secure as compared to other
solutions.

7.Title: An Approach to the Efficient Security Algorithms Used in Voting


Scanning in an Electoral Process
Authors: Segundo Moisés Toapanta Toapanta; Josue Andrés Tamayo
Lamar; Javier Gonzalo Ortiz Rojas; Luis Enrique Mafla Gallegos, 2019
2nd International Conference on Safety Produce Informatization (IICSPI)
It was considered that the security of information is an important factor in an
electoral process in a country; for the frequent problems that have been
detected in the scanning of votes to expedite the count. The objective is to
analyze a method of vote scanning that allows improving security,
administration, and implementation so that vote counting is faster and more
secure compared to the traditional voting system. The deductive method and
the exploratory investigation were used to analyze the information of the
articles of the reference. It turned out to be a prototype of a voting scan
algorithm based on the OCR reader scanner that was proposed and analyzed;
for the scanning of the votes and projection of results via the internet for the
next elections to improve the integrity of the information. It was concluded that
a prototype of an adequate algorithm for vote scanning is an alternative to
improve a traditional system that will be integrated into a voting system.
8.Title: Decentralized E-Voting Portal Using Blockchain
Authors: Kriti Patidar; Swapnil Jain, 2019 10th International Conference
on Computing, Communication and Networking Technologies (ICCCNT)
Online voting is an alternative to age old paper ballot system and the currently
popular electronic voting machines (EVM). An electronic voting portal should
offer security and integrity along with the transparency of votes and privacy of
voters. This paper proposes an e-voting system based on blockchain that
eliminates some of the limitations in existing voting systems. The paper also
presents state of art of some blockchain frameworks for e-voting. The
presented implementation is suitable for small scale elections like inside
corporate houses, board rooms etc. The implementation uses smart contract
from Ethereum. Truffle framework is used in this paper for development,
testing and deploying smart contracts. Ganache is used as Ethereum client for
testing. Here Meta-mask is used as browser wallet.

9.Title: Increasing Participation and Security in Student Elections through


Online Voting: The Case of Kabaark University
Authors: Moses M THIGA, 2020 IST-Africa Conference (IST-Africa)
Electronic voting systems have enhanced efficiency in student elections
management in universities, supporting such elections to become less
expensive, logistically simple, with higher accuracy levels as compared to
manually conducted elections. However, e-voting systems that are confined to
campus hall voting inhibits access to eligible voters who are away from campus.
This study examined the challenges of lack of wide access and impersonation
of voter in the student elections of 2018 in Kabarak University. The main
objective of this study was therefore to upgrade the offline electronic voting
system through developing a secure online voting system and deploying the
system for use in the 2019 student elections at Kabarak University. The
resultant system and development process employed demonstrate the
applicability of a secure online voting not only in the higher education context,
but also in other democracies where infusion of online access and
authentication in the voting processes is a requisite.

10.Title: From Conventional Voting to Blockchain Voting: Categorization


of Different Voting Mechanisms
Authors: SYada Tasmia Alvi; Mohammed Nasir Uddin; Linta Islam;
Sajib Ahamed , 2020 2nd International Conference on Sustainable
Technologies for Industry 4.0 (STI)
For the development of society and the enhancement of citizen's civic
knowledge, voting plays an incredibly important role in many forms of practice
as a guiding factor for the true growth of democracy. The world's electoral
mechanism has been marked by several structural problems, leading in an
election being held by a dishonest candidate. Scientists were mentally,
psychologically, socially and critically worried about the mismanagement of
electoral processes documented at various stages of selecting a leader. Deal
with the question about how to protect dishonest participants in elections from
unethical practices such as bribery and spoofing are a great concern. The
results of making a dishonest participant a winner are bad administration,
uncertainty and diversification for the financial benefit of public funds.
Approaches ought to be created to fix the issues of the electoral processes.
Thus, this paper concentrated on a systematic analysis of multiple forms of
voting with blockchain and without blockchain by numerous researchers as a
forum to find vulnerabilities or weaknesses and propose a perfect voting
mechanism to fulfill all the properties requires in voting system.

2.2 Machine Learning


Machine learning is an application of artificial intelligence (AI) that
provides systems the ability to automatically learn and improve from
experience without being explicitly programmed. Machine learning
focuses on the development of computer programs that can access data
and use it learn for themselves. The process of learning begins with
observations or data, such as examples, direct experience, or instruction,
in order to look for patterns in data and make better decisions in the
future based on the examples that we provide. The primary aim is to
allow the computers learn automatically without human intervention or
assistance and adjust actions accordingly.
Machine Learning Methods
Machine learning algorithms are often categorized as supervised or
unsupervised.
Supervised machine learning algorithms can apply what has been
learned in the past to new data using labelled examples to predict future
events. Starting from the analysis of a known training dataset, the
learning algorithm produces an inferred function to make predictions
about the output values. The system is able to provide targets for any new
input after sufficient training. The learning algorithm can also compare its
output with the correct, intended output and find errors in order to modify
the model accordingly.
In contrast, unsupervised machine learning algorithms are used when
the information used to train is neither classified nor labelled.
Unsupervised learning studies how systems can infer a function to
describe a hidden structure from unlabeled data. The system doesn’t
figure out the right output, but it explores the data and can draw
inferences from datasets to describe hidden structures from unlabeled
data.
Semi-supervised machine learning algorithms fall somewhere in
between supervised and unsupervised learning, since they use both
labeled and unlabelled data for training – typically a small amount of
labeled data and a large amount of unlabeled data. The systems that use
this method are able to considerably improve learning accuracy. Usually,
semi-supervised learning is chosen when the acquired labeled data
requires skilled and relevant resources in order to train it / learn from it.
Otherwise, acquiring unlabeled data generally doesn’t require additional
resources.
Reinforcement machine learning algorithms is a learning method that
interacts with its environment by producing actions and discovers errors
or rewards. Trial and error search and delayed reward are the most
relevant characteristics of reinforcement learning. This method allows
machines and software agents to automatically determine the ideal
behaviour within a specific context in order to maximize its performance.
Simple reward feedback is required for the agent to learn which action is
best; this is known as the reinforcement signal.

2.3.Advantages of Machine Learning


Machine Learning undoubtedly helps people to work more creatively and
efficiently. Basically, you too can delegate quite complex or monotonous
work to the computer through Machine Learning - starting with scanning,
saving and filing paper documents such as invoices up to organizing and
editing images.
In addition to these rather simple tasks, self-learning machines can also
perform complex tasks. These include, for example, the recognition of
error patterns. This is a major advantage, especially in areas such as the
manufacturing industry: the industry relies on continuous and error-free
production. While even experts often cannot be sure where and by which
correlation a production error in a plant fleet arises, Machine Learning
offers the possibility to identify the error early this saves down times and
money. Self-learning programs are now also used in the medical field. In
the future, after "consuming" huge amounts of data (medical publications,
studies, etc.), apps will be able to warn a in case his doctor wants to
prescribe a drug that he cannot tolerate. This "knowledge" also means
that the app can propose alternative options which for example also take
into account the genetic requirements of the respective patient.

2.4. Applications of Machine Learning


1. Virtual Personal Assistants
Siri, Alexa, Google Now are some of the popular examples of virtual
personal assistants. As the name suggests, they assist in finding
information, when asked over voice. All you need to do is activate them
and ask “What is my schedule for today?”, “What are the flights from
Germany to London”, or similar questions. For answering, your personal
assistant looks out for the information, recalls your related queries, or
send a command to other resources (like phone apps) to collect info. You
can even instruct assistants for certain tasks like “Set an alarm for 6 AM
next morning”, “Remind me to visit Visa Office Day after tomorrow”.
Machine learning is an important part of these personal assistants as they
collect and refine the information on the basis of your previous
involvement with them. Later, this set of data is utilized to render results
that are tailored to your preferences. Virtual Assistants are integrated to a
variety of platforms. For example: Smart Speakers: Amazon Echo and
Google Home Smartphones: Samsung Bixby on Samsung S8 Mobile
Apps: Google app
2. Predictions while Commuting
Traffic Predictions: We all have been using GPS navigation services.
While we do that, our current locations and velocities are being saved at a
central server for managing traffic. This data is then used to build a map
of current traffic. While this helps in preventing the traffic and does
congestion analysis, the underlying problem is that there are less number
of cars that are equipped with GPS. Machine learning in such scenarios
helps to estimate the regions where congestion can be found on the basis
of daily experiences.
Online Transportation Networks: When booking a cab, the app estimates
the price of the ride. When sharing these services, how do they minimize
the detours? The answer is machine learning. Jeff Schneider, the
engineering lead at Uber ATC reveals in an interview that they use ML to
define price surge hours by predicting the rider demand. In the entire
cycle of the services, ML is playing a major role.
3. Videos Surveillance
Imagine a single person monitoring multiple video cameras! Certainly, a
difficult job to do and boring as well. This is why the idea of training
computers to do this job makes sense. The video surveillance system
nowadays is powered by AI that makes it possible to detect crime before
they happen. They track unusual behaviour of people like standing
motionless for a long time, stumbling, or napping on benches etc. The
system can thus give an alert to human attendants, which can ultimately
help to avoid mishaps. And when such activities are reported and counted
to be true, they help to improve the surveillance services. This happens
with machine learning doing its job at the backend.
4. Social Media Services
From personalizing your news feed to better ads targeting, social media
platforms are utilizing machine learning for their own and user benefits.
Here are a few examples that you must be noticing, using, and loving in
your social media accounts, without realizing that these wonderful
features are nothing but the applications of ML. People You May Know:
Machine learning works on a simple concept: understanding with
experiences. Facebook continuously notices the friends that you connect
with, the profiles that you visit very often, your interests, workplace, or a
group that you share with someone etc. On the basis of continuous
learning, a list of Facebook users is suggested that you can become
friends with. Face Recognition: You upload a picture of you with a friend
and Facebook instantly recognizes that friend. Facebook checks the poses
and projections in the picture, notice the unique features, and then match
them with the people in your friend list. The entire process at the backend
is complicated and takes care of the precision factor but seems to be a
simple application of ML at the front end. Similar Pins: Machine learning
is the core element of Computer Vision, which is a technique to extract
useful information from images and videos. Pinterest uses computer
vision to identify the objects (or pins) in the images and recommend
similar pins accordingly.
5. Email Spam and Malware Filtering
There are a number of spam filtering approaches that email clients use.
To ascertain that these spam filters are continuously updated, they are
powered by machine learning. When rule-based spam filtering is done, it
fails to track the latest tricks adopted by spammers. Multi-Layer
Perceptron, C 4.5 Decision Tree Induction are some of the spam filtering
techniques that are powered by ML. Over 325, 000 malwares are detected
every day and each piece of code is 90–98% similar to its previous
versions. The system security programs that are powered by machine
learning understand the coding pattern. Therefore, they detect new
malware with 2–10% variation easily and offer protection against them.
6. Online Customer Support
A number of websites nowadays offer the option to chat with customer
support representative while they are navigating within the site. However,
not every website has a live executive to answer your queries. In most of
the cases, you talk to a chatbot. These bots tend to extract information
from the website and present it to the customers. Meanwhile, the chatbots
advances with time. They tend to understand the user queries better and
serve them with better answers, which is possible due to its machine
learning algorithms.
7. Search Engine Result Refining
Google and other search engines use machine learning to improve the
search results for you. Every time you execute a search, the algorithms at
the backend keep a watch at how you respond to the results. If you open
the top results and stay on the web page for long, the search engine
assumes that the results it displayed were in accordance to the query.
Similarly, if you reach the second or third page of the search results but
do not open any of the results, the search engine estimates that the results
served did not match requirement. This way, the algorithms working at
the backend improve the search results.
8. Product Recommendations
You shopped for a product online few days back and then you keep
receiving emails for shopping suggestions. If not this, then you might
have noticed that the shopping website or the app recommends you some
items that somehow matches with your taste. Certainly, this refines the
shopping experience but did you know that it’s machine learning doing
the magic for you? On the basis of your behaviour with the website/app,
past purchases, items liked or added to cart, brand preferences etc., the
product recommendations are made.
9. Online Fraud Detection
Machine learning is proving its potential to make cyberspace a secure
place and tracking monetary frauds online is one of its examples. For
example: PayPal is using ML for protection against money laundering.
The company uses a set of tools that helps them to compare millions of
transactions taking place and distinguish between legitimate or
illegitimate transactions taking place between the buyers and sellers.

CHAPTER - 3

3.1. Existing System


This system isolates the malicious devices by eliminating the threats
encountered during communication and path formation process by computing
the weighted trust of each device. Moreover, to ensure transparency in the
polling mechanism, a blockchain is maintained that includes IoT devices to
further formulate a secure polling process. IoT devices are used record and
collect the vote.

Limitations
⚫ It Use an Iot Based hardware for Casting the vote
⚫ The IoT devices are either legitimate or malicious
⚫ Malicious devices and not be able to add in the blockchain

3.2. Proposed System


System is used cast your vote through online via website using facial
authentication and machine learning techniques. To get a high degree of
accuracy from what is called “training data”. Haar Cascades use the Adaboost
learning algorithm. which selects a small number of important features from a
large set to give an efficient result of classifiers. Initially, the algorithm needs a
lot of positive images (images of faces) and negative images (images without
faces) to train the classifier. Then we need to extract features from it. For this,
Haar features shown in below image are used. They are just like our
convolutional kernel. Each feature is a single value obtained by subtracting
sum of pixels under white rectangle from sum of pixels under black rectangle.

Proposed Algorithms involved


Haar cascade algorithm
ADVANTAGE
⚫ The key advantage of a Haar-like feature over most other features is its
calculation speed.
⚫ Haar Cascade is a machine learning object detection algorithm used to
identify objects in an image or video
⚫ Haar Cascades use the Adaboost learning algorithm which selects a small
number of important features from a large set to give an efficient result of
classifiers.

3.3.CNN-Convolutional neural network


Convolutional neural network (ConvNets or CNNs) is one of the main
categories to do images recognition, images classifications. Objects detections,
recognition faces etc., are some of the areas where CNNs are widely used. In
work project we are going to detect and classify drone in video using CNN
algorithm.
Steps
⚫ Provide input image into convolution layer
⚫ Choose parameters, apply filters with strides, padding if requires.
Perform convolution on the image and apply ReLU activation to the matrix.
⚫ Perform pooling to reduce dimensionality size
⚫ Add as many convolutional layers until satisfied
⚫ Flatten the output and feed into a fully connected layer (FC Layer)
⚫ Output the class using an activation function and classifies images.

Necessary Packages:
⚫ NumPy
⚫ Pandas
⚫ Matplotlib
⚫ pyplot
⚫ Scikit-learn
⚫ TensorFlow
⚫ Jupyter
⚫ Open-cv

3.4. FEASIBILITY STUDY

The feasibility of the project is analyzed in this phase and business proposal is
put forth with a very general plan for the project and some cost estimates.
During system analysis the feasibility study of the proposed system is to be
carried out. This is to ensure that the proposed system is not a burden to the
company. For feasibility analysis, some understanding of the major
requirements for the system is essential. Three key considerations involved in
the feasibility analysis are

➢ Economic feasibility

➢ Technical feasibility

➢ Social feasibility
ECONOMICAL FEASIBILITY

This study is carried out to check the economic impact that the system will
have on the organization. The amount of fund that the company can pour into
the research and development of the system is limited. The expenditures must
be justified. Thus, the developed system as well within the budget and this was
achieved because most of the technologies used are freely available. Only the
customized products had to be purchased.

TECHNICAL FEASIBILITY

This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. Any system developed must not have a high
demand on the available technical resources. This will lead to high demands
being placed on the client. A feasibility study evaluates the project’s potential
for success.

SOCIAL FEASIBILITY

The aspect of study is to check the level of acceptance of the system by the user.
This includes the process of training the user to use the system efficiently. The
user must not feel threatened by the system, instead must accept it as a
necessity. The level of acceptance by the users solely depends on the methods
that are employed to educate the user about the system and to make him
familiar with it. His level of confidence must be raised so that he is also able to
make some constructive criticism, which is welcomed, as he is the final user of
the system.
CHAPTER 4

EXPERIMENTAL METHODS AND ALGORITHMS

4.1. HARDWARE REQUIREMENTS

The most common set of requirements defined by any operating system or


software application is the physical computer resources, also known as
hardware. The minimal hardware requirements are as follows,

1. Processor : Pentium IV
2. RAM : 8 GB
3. Processor : 2.4 GHz
4. Main Memory : 8GB RAM
5. Hard Disk Drive : 1tb
6. Keyboard : 104 Keys
4.2. SOFTWARE REQUIREMENTS

Software requirements deals with defining resource requirements and


prerequisites that needs to be installed on a computer to provide functioning of
an application. The minimal software requirements are as follows,

1. Front end : python


2. Dataset : csv
3. IDE : anaconda
4. Operating System : Windows 10
4.3.Python Language
Python is an object-oriented programming language created by Guido Rossum
in 1989. It is ideally designed for rapid prototyping of complex applications. It
has interfaces to many OS system calls and libraries and is extensible to C or
C++. Many large companies use the Python programming language include
NASA, Google, YouTube, BitTorrent, etc. Python programming is widely used
in Artificial Intelligence, Natural Language Generation, Neural Networks and
other advanced fields of Computer Science. Python had deep focus on code
readability & this class will teach you python from basics.
Python Programming Characteristics
➢ It provides rich data types and easier to read syntax than any other
programming languages
➢ It is a platform independent scripted language with full access to operating
system API's
➢ Compared to other programming languages, it allows more run-time
flexibility
➢ It includes the basic text manipulation facilities of Perl and Awk
➢ A module in Python may have one or more classes and free functions
➢ Libraries in Pythons are cross-platform compatible with Linux, Macintosh,
and Windows
➢ For building large applications, Python can be compiled to byte-code
➢ Python supports functional and structured programming as well as OOP
➢ It supports interactive mode that allows interacting Testing and
debugging of snippets of code
➢ In Python, since there is no compilation step, editing, debugging and
testing is fast.

Applications of Python Programming


Web Applications
You can create scalable Web Apps using frameworks and CMS (Content
Management System) that are built on Python. Some of the popular platforms
for creating Web Apps are: Django, Flask, Pyramid, Plone, Django CMS. Sites
like Mozilla, Reddit, Instagram and PBS are written in Python.
Scientific and Numeric Computing
There are numerous libraries available in Python for scientific and numeric
computing. There are libraries like: SciPy and NumPy that are used in general
purpose computing. And, there are specific libraries like: Earth Py for earth
science, Astro Py for Astronomy and so on. Also, the language is heavily used
in machine learning, data mining and deep learning.
Creating software Prototypes
Python is slow compared to compiled languages like C++ and Java. It might
not be a good choice if resources are limited and efficiency is a must. However,
Python is a great language for creating prototypes. For example: You can use
Py game (library for creating games) to create your game's prototype first. If
you like the prototype, you can use language like C++ to create the actual game.
Good Language to Teach Programming
Python is used by many companies to teach programming to kids and newbies.
It is a good language with a lot of features and capabilities. Yet, it's one of the
easiest languages to learn because of its simple easy-to-use syntax.

About OpenCV Package


Python is a general-purpose programming language started by Guido van
Rossum, which became very popular in short time mainly because of its
simplicity and code readability. It enables the programmer to express his ideas
in fewer lines of code without reducing any readability.
Compared to other languages like C/C++, Python is slower. But another
important feature of Python is that it can be easily extended with C/C++. This
feature helps us to write computationally intensive codes in C/C++ and create a
Python wrapper for it so that we can use these wrappers as Python modules.
This gives us two advantages: first, our code is as fast as original C/C++ code
(since it is the actual C++ code working in background) and second, it is very
easy to code in Python. This is how OpenCV-Python works, it is a Python
wrapper around original C++ implementation.
And the support of NumPy makes the task easier. NumPy is a highly optimized
library for numerical operations. It gives a MATLAB-style syntax. All the
OpenCV array structures are converted to-and-from NumPy arrays. So
whatever operations you can do in NumPy, you can combine it with OpenCV,
which increases number of weapons in your arsenal. Besides that, several other
libraries like SciPy, Matplotlib which supports NumPy can be used with this.
So OpenCV-Python is an appropriate tool for fast prototyping of computer
vision problems.
4.4. FEATURES OF ANACONDA NAVIGATOR
Anaconda is a free and open source, easy to install distribution of Python and R
programming languages. Anaconda provides a working environment which is
used for scientific computing, data science, statistical analysis and machine
learning.

The latest distribution of Anaconda is Anaconda 5.3 and is released in October,


2018. It has the Conda package, environment manager and a collection of
1000+ open-source packages long with free community support.
What is Anaconda Navigator?

Anaconda Navigator is a desktop graphical user interface (GUI) included in the


Anaconda distribution. It allows us to launch applications provided in the
Anaconda distribution and easily manage conda packages, environments and
channels without the use of command-line commands. It is available for
Windows, macOS and Linux.
Applications Provided in Anaconda Distribution

The Anaconda distribution comes with the following applications along with
Anaconda Navigator.

1. JupyterLab

2. Jupyter Notebook

3. Qt Console

4. Spyder

5. Glue viz

6. Orange3
7. RStudio

8. Visual Studio Code

> JupyterLab: This is an extensible working environment for interactive and


reproducible computing, based on the Jupyter Notebook and Architecture.

>Jupyter Notebook: This is a web-based, interactive computing notebook


environment. We can edit and run human-readable docs while describing the
data analysis.

> Qt Console: It is the PyQt GUI that supports inline figures, proper multiline
editing with syntax highlighting, graphical calltips and more.

> Spyder: Spyder is a scientific Python Development Environment. It is a


powerful Python IDE with advanced editing, interactive testing, debugging and
introspection features.

> VS Code: It is a streamlined code editor with support for development


operations like debugging, task running and version control.

> Glue viz: This is used for multidimensional data visualization across files. It
explores relationships within and among related datasets.

>Orange 3: It is a component-based data mining framework. This can be used


for data visualization and data analysis. The workflows in Orange 3 are very
interactive and provide a large toolbox.

>RStudio: It is a set of integrated tools designed to help you be more


productive with R. It includes R essentials and notebooks.
New Features of Anaconda 5.3

Compiled with Latest Python release: Anaconda 5.3 is compiled with Python
3.7, taking advantage of Python’s speed and feature improvements.

• Better Reliability: The reliability of Anaconda has been improved in the


latest release by capturing and storing the package metadata for installed
packages.

• Enhanced CPU Performance: The Intel Math Kernel Library 2019 for Deep
Neural Networks (MKL 2019) has been introduced in Anaconda 5.3
distribution. Users deploying TensorFlow can make use of MKL 2019 for Deep
Neural Networks. These Python binary packages are provided to achieve high
CPU performance.
• New packages are added: There are over 230 packages which has been
updated and added in the new release.
• Work in Progress: There is a casting bug in NumPy with Python 3.7 but the
team is currently working on patching it until NumPy is updated.

CHAPTER-5
5.1. SYSTEM ARCHITECTURE

5.2.Modules Description
Register
Registration module is the starting point of this project where a user
gone make use of this system by registering himself into it.In this module user
will a unique voter id and user gone register with some basic information about
him after the user gone complete the registration by giving his face as input and
system will read the face and load it in datasets after that registration process is
completed.
Data Preprocessing
In this module the collected dataset from user in the time of registration
will be stored in folder and all image are resized to standard and unique size
and the image are converted to gray scale image and noise are removed.
Feature Extraction
In this feature extraction module, we extract the feature from registered
user datasets folder
Admin upload candidates and assign election
Admin is the one who monitor the entire system. First admin has a
standard login id and password. Admin can upload election candidates the
candidates list must be in a csv file where the candidate's detail like part name
email and area the he gone compete with this detail the file will be uploaded
from data the details will be uploaded to system. Admin can also monitor the
registered user.Admin can also assign election on the upcoming dates.
Login
Now the register user will login in this this system with registered
information if information given by the user matches the database the user will
be allowed to login into this system. After the user successfully logged in now
the user can see the upcoming election if the election was assigned and user can
also see the candidates list.
Face Recognition
Every time a new user register or the existing user vote his face will be
recognition to check weather user is authorized or not.
Voting
After user logged in now user can vote for his area. After selecting the party, he
can vote in that time user face will be recognized and check whether he is an
authorized registered user or not if the user is unauthorized user will not allow
to vote his vote will not be registered.
See the result
After the user voted his vote now the result will be automatic updated
with the vote count.

5.3.UML DIAGRAMS
UML stands for Unified Modeling Language. UML is a standardized
general-purpose modeling language in the field of object-oriented software
engineering. The standard is managed, and was created by, the Object
Management Group.
The goal is for UML to become a common language for creating models
of object-oriented computer software. In its current form UML is comprised of
two major components: a Meta-model and a notation. In the future, some form
of method or process may also be added to; or associated with, UML.
The Unified Modeling Language is a standard language for specifying,
Visualization, Constructing and documenting the artifacts of software system,
as well as for business modeling and other non-software systems.
The UML represents a collection of best engineering practices that have
proven successful in the modeling of large and complex systems.
The UML is a very important part of developing objects-oriented
software and the software development process. The UML uses mostly
graphical notations to express the design of software projects.
GOALS:
The Primary goals in the design of the UML are as follows:
1. Provide users a ready-to-use, expressive visual modeling Language so
that they can develop and exchange meaningful models.
2. Provide extendibility and specialization mechanisms to extend the core
concepts.
3. Be independent of particular programming languages and development
process.
4. Provide a formal basis for understanding the modeling language.
5. Encourage the growth of OO tools market.
6. Support higher level development concepts such as collaborations,
frameworks, patterns and components.
7. Integrate best practices.

USE CASE DIAGRAM:


A use case diagram in the Unified Modeling Language (UML) is a type
of behavioral diagram defined by and created from a Use-case analysis. Its
purpose is to present a graphical overview of the functionality provided by a
system in terms of actors, their goals (represented as use cases), and any
dependencies between those use cases. The main purpose of a use case diagram
is to show what system functions are performed for which actor. Roles of the
actors in the system can be depicted.
SEQUENCE DIAGRAM:
A sequence diagram in Unified Modeling Language (UML) is a kind of
interaction diagram that shows how processes operate with one another and in
what order. It is a construct of a Message Sequence Chart. Sequence diagrams
are sometimes called event diagrams, event scenarios, and timing diagrams.
ACTIVITY DIAGRAM:
Activity diagrams are graphical representations of workflows of stepwise
activities and actions with support for choice, iteration and concurrency. In the
Unified Modeling Language, activity diagrams can be used to describe the
business and operational step-by-step workflows of components in a system.
An activity diagram shows the overall flow of control.
5.4. SOFTWARE TESTING
General
In a generalized way, we can say that the system testing is a type of testing in
which the main aim is to make sure that system performs efficiently and
seamlessly. The process of testing is applied to a program with the main aim to
discover an unprecedented error, an error which otherwise could have damaged
the future of the software. Test cases which bring up a high possibility of
discovering and error is considered successful. This successful test helps to
answer the still unknown errors.
TEST CASE
Testing, as already explained earlier, is the process of discovering all possible
weak-points in the finalized software product. Testing helps to counter the
working of sub-assemblies, components, assembly and the complete result. The
software is taken through different exercises with the main aim of making sure
that software meets the business requirement and user-expectations and doesn’t
fail abruptly. Several types of tests are used today. Each test type addresses a
specific testing requirement.
Testing Techniques
A test plan is a document which describes approach, its scope, its resources and
the schedule of aimed testing exercises. It helps to identify almost other test
item, the features which are to be tested, its tasks, how will everyone do each
task, how much the tester is independent, the environment in which the test is
taking place, its technique of design plus the both the end criteria which is used,
also rational of choice of theirs, and whatever kind of risk which requires
emergency planning. It can be also referred to as the record of the process of
test planning. Test plans are usually prepared with signification input from test
engineers.
(I) UNIT TESTING
In unit testing, the design of the test cases is involved that helps in the
validation of the internal program logic. The validation of all the decision
branches and internal code takes place. After the individual unit is completed, it
takes place. Plus, it is taken into account after the individual united is
completed before integration. The unit test thus performs the basic level test at
its component stage and test the particular business process, system
configurations etc. The unit test ensures that the particular unique path of the
process gets performed precisely to the documented specifications and contains
clearly defined inputs with the results which are expected.
(II) INTEGRATION TESTING
These tests are designed to test the integrated software items to
determine whether if they really execute as a single program or application.
The testing is event driven and thus is concerned with the basic outcome of
field. The Integration tests demonstrate that the components were individually
satisfaction, as already represented by

successful unit testing, the components are apt and fine. This type of testing is
specially aimed to expose the issues that come-up by the component's
combination.
(III) FUNCTIONAL TESTING
The functional tests help in providing the systematic representation that
functions tested are available and specified by technical requirement,
documentation of the system and the user manual.
(IV) SYSTEM TESTING
System testing, as the name suggests, is the type of testing in which ensure that
the software system meet the business requirements and aim. Testing of the
configuration is taken place here to ensure predictable result and thus analysis
of it.System testing is relied on the description of process and its flow, stressing
on pre driven process and the points of integration.
(V) WHITE BOX TESTING
The white box testing is the type of testing in which the internal components of
the system software is open and can be processed by the tester. It is therefore a
complex type of testing process. All the data structure, components etc. are
tested by the tester himself to find out a possible bug or error. It is used in
situation in which the black box is incapable of finding out a bug. It is a
complex type of testing which takes more time to get applied.
(VI) BLACK BOX TESTING
The black box testing is the type of testing in which the internal components of
the software is hidden and only the input and output of the system is the key for
the tester to find out a bug. It is therefore a simple type of testing. A
programmer with basic knowledge can also process this type of testing. It is
less time consuming as compared to

the white box testing. It is very successful for software which are less complex
are straight-forward in nature. It is also less costly than white box testing.
(V) ACCEPTANCE TESTING
User Acceptance Testing is a critical phase of any project and requires
significant participation by the end user. It also ensures that the system meets
the functional requirements.
Conclusion
Smart Voting is primarily responsible for the majority of India's city. It should
be considered as the main issue for the majority of us. The existing methods for
Voting involve manual work with lot of human work and man power and also
if convert voting to online it need secured voting system to cast voter's vote.
The Machine Learning technique. Are used to recognize person face and check
whether voter is a authorized or not.
References
1. Tiltle - A Secure Verifiable Ranked Choice Online Voting System Based on
Homomorphic Encryption,Author - Xuechao Yang; Xun Yi; Surya Nepal;
Andrei Kelarev; Fengling Han,IEEE Access ,March 2018
2. Tiltle - Electronic Voting Using Blockchain And Smart Contracts: Proof Of
Concept,Author - Fáber D. Giraldo; Barbosa Milton C.; Carlos E.
Gamboa ,IEEE Latin America Transactions 10, October 2020
3. Tiltle - A Secure End-to-End Verifiable Internet-Voting System Using
Identity-Based Blind Signature,Author - Mahender Kumar; Satish Chand; C. P.
Katti , IEEE Systems Journal , June 2020)
4.Tiltle - A Smart Contract System for Decentralized Borda Count Voting,
Author - Somnath Panja; Samiran Bag; Feng Hao; Bimal Roy, IEEE
Transactions on Engineering Management , Nov. 2020.

5.Title : A Comparitive Analysis on E-Voting System Using Blockchain,


Authors:Kanika Garg; Pavi Saraswat; Sachin Bisht; Sahil Kr. Aggarwal; Sai
Krishna Kothuri; Sahil Gupta, 2019 4th International Conference on Internet of
Things: Smart Innovation and Usages (IoT-SIU).
6.Title : SecEVS : Secure Electronic Voting System Using Blockchain
Technology,Authors:Ashish Singh; Kakali Chatterjee , 2018 International
Conference on Computing, Power and Communication Technologies
(GUCON).
7.Title : An Approach to the Efficient Security Algorithms Used in Voting
Scanning in an Electoral Process,Authors:Segundo Moisés Toapanta Toapanta;
Josue Andrés Tamayo Lamar; Javier Gonzalo Ortiz Rojas; Luis Enrique Mafla
Gallegos, 2019 2nd International Conference on Safety Produce
Informatization (IICSPI)
8.Title : Decentralized E-Voting Portal Using Blockchain,Authors:Kriti Patidar;
Swapnil Jain, 2019 10th International Conference on Computing,
Communication and Networking Technologies (ICCCNT)
9.Title : Increasing Participation and Security in Student Elections through
Online Voting: The Case of Kabarak University,Authors:Moses M THIGA ,
2020 IST-Africa Conference (IST-Africa)
10.Title : From Conventional Voting to Blockchain Voting: Categorization of
Different Voting Mechanisms,Authors:Syada Tasmia Alvi; Mohammed Nasir
Uddin; Linta Islam; Sajib Ahamed , 2020 2nd International Conference on
Sustainable Technologies for Industry 4.0 (STI)

APPENDEX
1. SOURCE CODE
from email import message
from flask import *
import sqlite3 as sql
from random import randint
import datetime
from flask.helpers import url_for
from face_detection import face_register,face_reg
import smtplib
import os
import random
import operator
import string
import cv2
app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = 'static/upload'
app.secret_key = 'any random string'

@app.route("/")
def index():
def random_with_N_digits(n):
range_start = 10**(n-1)
range_end = (10**n)-1
return randint(range_start, range_end)
a=random_with_N_digits(10)
2. SCREEN SHOTS
A
B

C
D

E
F

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy