Coder Social home page Coder Social logo

mohith7548 / ai_evm Goto Github PK

View Code? Open in Web Editor NEW
10.0 3.0 6.0 65.06 MB

An Electronic Voting Machine Powered by AI. ATM like voting system. Phases included are Persons detection, Face mask detection, Face recognition, Voting on screen. Django as backend

Python 46.49% Jupyter Notebook 44.31% HTML 9.20%
evm electronic-voting electronic-voting-system django machine-learning artificial-intelligence machinelearning-python computer-vision neural-networks

ai_evm's Introduction

AI EVM - (Electronic Voting Machine Powered by AI):


Title Image


Demo

Click to watch full demo (by Satyendra Yadav)

Intro


Team

  • Mohith Kune (me)
  • Satyendra Yadav
  • Venkatesh Vutukuri
  • Ankit Chouhan
  • Pooja Yadav

Introduction

Most of the sectors have been automated these days but the Voting process has stayed un-updated for years. We propose to leverage AI and use it with EVMs to bring revolution to the voting process.

The AI-powered EVMs can reduce many costs due to manual work at the polling booths. They also help to check malpractices by using Computer Vision.


Project Pre-requisite Steps

It is suggested to use virtual python==3.6 environment for this project.


If you have anaconda installed, you can create a new empty virtual enviroment as shown below

conda create --name AI_EVM_env python=3.6

# for activating env
conda activate AI_EVM_env

# for deactivating
conda deactivate

And navigate to the project to install dependecies.

(Please feel free to raise an issue if run into problems while installing dlib)

pip install -r requirements.txt

Now before running the Django project for the first time, db tables have to be created.

# makemigrations (It will generate schemas)
python manage.py makemigrations

# migrate (It will create tables in the db)
python manage.py migrate

# create an admin account for the project
python manage.py createsuperuser

Run the Django server on localhost on port 5000

python manage.py runserver 0.0.0.0:5000

Deployment

The project architecture is divided into three layers as below.


Project Architecture


Since the server has to collect, analyze & reply with video stream in realtime, deploying server on internet at different location is not encourage.

The Presentation & Application layer are bind together in one Machine.

The main settings for deployment are:

  • SECRET_KEY: It is important to make this variable secret. We propose to add this variable to the server environment & load at runtime as below.
# Read SECRET_KEY from an environment variable
import os
SECRET_KEY = os.environ['SECRET_KEY']
  • DEBUG: This variable must be set to False before deploying!
  • ALLOWED_HOSTS: This variable must contain the possible web domains from which we wish to visit the website.
ALLOWED_HOSTS = ['localhost', '0.0.0.0', '127.0.0.1', 'ai.evm.org']
  • MailJet API Keys: These variable must be stored in the environment simialr to the SECRET_KEY
MAILJET_API_KEY = '*****************'
MAILJET_API_SECRET = '*****************'
  • We propose to deploy using gunicorn & Nginx. The installation steps for these tools are different/specific to the platform we want to deploy on. Kindly refer the official documentation for installing.

  • After installing gunicorn we can run the server using the below command

gunicorn --bind 0.0.0.0:8000 ai_evm.wsgi
  • We can create a service/process on the server to run the above command & this step is also platform specific. For example we can create gunicron.service.

  • If using Linux, we then submit this process to systemctl to run at every reboot.

sudo systemctl start gunicorn.service
sudo systemctl enable gunicorn.service
sudo systemctl status gunicorn.service

NOTE

  • Face Recognition phase may not recognize your face
    • Head to models/src/Face_Recognition to generate files & place inside models/recognize_face_models.
  • Create a superuser so that you can view admin section. The db included here has dummy data used for the demo.

Future Scope

We have added basic/major functionality. But always can be improved with more features like below.

  • Biometric authentication can be added to strengthen auth process
  • ATM like voting from remote places. No need to travel
  • Online Voting is still a dream. We can try our best always!
  • Voting data collected can be linked to aadhar, driving license, PAN etc - Govt db warehouse

ai_evm's People

Contributors

mohith7548 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ai_evm's Issues

problem with recognitioin of our name in recognition of face

after executing the project in third step recognition of face it's showing name pooja or venkatesh or other names for my face not showing my name even after chnaging the names in the database and we can't open dataset_faces.dat file so please help me to get out of this problem

Help

Hey bro can we have a small meet online and please guide through the installtion process of the project or please send your number we can connect on whatsapp

dlib error

Failed building wheel for dlib and Cannot find cmake, ensure it is installed and in the path.
You can install cmake on Ubuntu using `sudo apt-get install cmake

unable to install dlib

i have install all dependencies but code is not working reason so can help me to install dlib

database issue

Recently working on project and we refer your project ,and its running but one problem is not able understand how to add new voter registrations
Please help......

about project

Hello brother,
I have taken the project u have done and uploaded in github as my project in my college so can u guide me through the project for the installation of packages , environments etc and running process of the project.
It will be kind of urs if u could reply me back with ur suggestion / Decision.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.