Under the guidance of Dr. Vivekraj V K
Traditional attendance tracking poses challenges such as time-consumption, errors, and inefficiency in large classes. Our innovative system seamlessly integrates cutting-edge computer vision models to address these issues.
The system features:
- User-friendly app for faculty
- Real-time face detection and recognition
- Automated excel sheet population
- Detailed attendance analysis using graphs
The model flow diagram illustrates the sequence of operations and data flow within our attendance system.
The diagram showcases the following key components and their interactions:
- Face Detection: Initial step involves detecting faces in the input images captured by the mobile app.
- Face Recognition: Identified faces are then recognized using deep learning models trained on student data.
- Data Processing: Extracted facial features are processed to determine attendance records and populate the excel sheet.
- Attendance Analysis: The attendance data is further analyzed to generate detailed graphs and reports for faculty review.
- Varying image quality based on faculty's mobile devices
- Varied processing speeds on different devices
- Model performance dependent on dataset diversity
- Challenge in obtaining a diverse dataset due to privacy concerns
Intended for schools and colleges, our system streamlines attendance tracking. A mobile app will be developed for faculty to capture, monitor, and analyze student attendance.
- Expo
- Google Sheets API
- Tensorflow
- Keras
- OpenCV
- Anand Kumar Singh (21BCS009)
- Avaneesh Sundararajan (21BCS020)
- C Nikhil Karthik (21BCS024)
- Karthik Avinash (21BCS052)
Following are the steps to install and run the app locally on your PC using Expo.
-
Clone the Repository:
- Open your terminal or command prompt.
- Navigate to the directory where you want to clone the repository.
- Run the following command to clone the repository:
git clone https://github.com/C-NikhilKarthik/MiniProject-6thSem
-
Set Up Conda Environment:
- Make sure you have Conda installed on your system. If not, you can download and install Miniconda from Conda website.
- Open your terminal or command prompt.
- Navigate to the directory where you cloned the repository.
- Run the following command to create a new Conda environment with Python version 3.10.11:
conda create --name myenv python=3.10.11
- Activate the Conda environment by running:
conda activate myenv
-
Enable "Allow Less Secure Apps" in Gmail:
- Open your Gmail account settings.
- Go to the "Security" tab.
- Under "Signing in to Google", enable the option "Allow less secure apps".
-
Set Up Gmail Account Password:
- Create a file named
mailpass.py
in theserver
folder. - Inside
mailpass.py
, store your Gmail account password as follows:password = "YOUR_EMAIL_PASSWORD"
- Create a file named
-
Install Dependencies for Expo (Client):
- Navigate to the root directory of the cloned repository.
- Run the following command to install the required npm packages:
npm install
- This will install all the necessary dependencies for the Expo app.
-
Install Dependencies for Flask Server (Server):
- Navigate to the
server
folder within the cloned repository. - Run the following command to install the required Python packages using pip:
pip install -r requirements.txt
- This will install all the necessary dependencies for the Flask server.
- Navigate to the
-
Download Pre-Trained Models (Optional):
- If the app utilizes pre-trained machine learning models, you'll need to download them from the provided Google Drive link.
- Once downloaded, create a folder named
models-pkl
inside theserver
directory of the cloned repository. - Place the downloaded model files into the
models-pkl
folder.
-
Run the Servers:
- First, start the Flask server:
- Navigate to the
server
folder. - Run the following command to start the server:
python app.py
- Navigate to the
- Next, start the Expo development server:
- Run the following command to start the development server for the Expo app:
npm start -- --reset-cache
- This command will open the Expo developer tools in your default web browser.
- Use the Expo Go app on your mobile device to scan the QR code displayed in the Expo developer tools.
- Run the following command to start the development server for the Expo app:
- First, start the Flask server:
-
Accessing the App:
- After both servers have started successfully, you can access the app locally on your mobile device using the Expo Go app.
Now, you have successfully installed and run the app locally on your PC using Expo. You can start developing and testing the app according to your requirements.