Abstract
The “Android Voting System Using Face Recognition” is a secure and efficient mobile application designed to streamline the voting process by leveraging face recognition technology. This system aims to eliminate the issues of voter fraud, ensure accurate voter identification, and provide a convenient and user-friendly platform for voters to cast their ballots. The app uses advanced facial recognition algorithms to authenticate voters, ensuring that only authorized individuals can vote, and that each voter can only cast a single vote.
Existing System
Traditional voting systems, whether paper-based or electronic, often face challenges such as voter impersonation, multiple voting attempts by the same person, and the logistical difficulties of managing large-scale elections. Even in electronic voting systems, the authentication of voters is usually reliant on PINs, passwords, or ID cards, which can be lost, stolen, or misused. These systems also require physical presence, which can be a barrier for voters who are unable to reach polling stations due to various reasons.
Proposed System
The proposed “Android Voting System Using Face Recognition” addresses these issues by implementing a mobile-based solution where voters can securely cast their votes using facial recognition. The system captures the voter’s facial features during the registration phase and stores them securely in a database. On the day of voting, the app verifies the voter’s identity through a real-time face recognition process. This ensures that each voter is authenticated based on their unique biometric data, reducing the risk of fraud and ensuring that the voting process is both secure and convenient.
Methodology
- Requirement Analysis:
- Identify the essential requirements for a secure voting system.
- Understand the legal and ethical considerations surrounding the use of facial recognition in voting.
- Design and Planning:
- User Interface Design: Create an intuitive and user-friendly interface for both the registration and voting phases.
- System Architecture: Design the system architecture, focusing on secure data storage, facial recognition processing, and user authentication.
- Development:
- Frontend Development:
- Develop the Android application using Android Studio and Kotlin/Java.
- Implement the user interface for registration, login, and voting.
- Backend Development:
- Set up a secure backend using Firebase or another cloud service to store user data and votes.
- Implement facial recognition using libraries like OpenCV or Google ML Kit.
- Facial Recognition:
- During registration, capture multiple images of the voter’s face to create a comprehensive model.
- Implement real-time face detection and recognition during the voting process.
- Frontend Development:
- Testing:
- Unit Testing: Test individual components such as the face recognition algorithm and the user interface.
- Integration Testing: Ensure that the app’s frontend and backend components work together seamlessly.
- User Acceptance Testing: Conduct tests with a group of potential users to gather feedback and make necessary improvements.
- Deployment:
- Deploy the application on the Google Play Store for public use.
- Ensure the app complies with data protection regulations and privacy laws.
- Maintenance and Updates:
- Monitor the app for any issues or bugs reported by users.
- Regularly update the face recognition algorithm to improve accuracy and performance.
- Provide ongoing support for any legal or ethical issues that may arise.
Technologies Used
- Programming Language: Kotlin/Java for Android development.
- Development Environment: Android Studio.
- Face Recognition: OpenCV library or Google ML Kit for implementing face recognition.
- Backend: Firebase for real-time database management and user authentication.
- Authentication: Biometric authentication using facial recognition.
- Cloud Storage: Google Cloud Storage for secure storage of facial data and voting records.
- Encryption: AES/RSA for securing user data and votes.
- APIs: RESTful APIs for communication between the mobile app and the server.
- Version Control: Git for source code management.