Contactless Attendance System based on Face Recognition
Tags: codenewbie, productivity, beginners, python
Published: 2021-05-02 15:14:23

**A Contactless Attendance System where your face is identified for Attendance.** :sparkles:
<br>

## Motivation :astonished:

-	This Repository was created as a part of MINeD Hackathon, a national level hackathon organized by Centre of Excellence in Data Science at the CSE Department of Nirma University.

-	We seek to provide a valuable attendance service for employees. Reduce manual process errors by provide automated and a reliable attendance system uses facial recognition technology.
<br>


## Features :clipboard:

* Check Camera
* Capture Faces
* Train Faces
* Recognize Faces & Attendance
* Automatic Email
<br>
<br>


### For more Updates check the GitHub Repository:
{% github dhhruv/Contactless-Attendance-System no-readme %}

<br>

## Screenshots :camera:

### 1. GUI

![GUI](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ckdgl54fep049z00p21.PNG)

### 2. Command Line Interface

![Command Line Interface](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b39w5v9gmngxkm2nvamh.PNG)

### 3. Checking Camera

![Checking Camera](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wnvt5fzwovwo0us1fjz6.jpg)

### 4. Recognize Image

![Recognize Image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h2tjf7bhz0y7ayb3w3f7.jpg)

### 5. Automail 

![Automail](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/uabe7cx3joih0g3e50pe.jpeg)

<br>
<br>


## Tech Stack Used :computer:

**Build With -** 
* Python 3.8

**Modules Used -**

* OpenCV Contrib
* Pillow
* Numpy
* Pandas
* Shutil
* CSV
* yagmail
* Tkinter

**Facial Recognition Algorithms -**
* Haar Cascade
* LBPH (Local Binary Pattern Histogram)

**Softwares Used -**
* Pycharm 2019.2
* VS CODE 
* Jupyter Notebook
* Git


## Installation :key:


### Create Environment 
First open the terminal or command line in the IDE and copy the following code.
```
python -m venv venv
```
Then activate the virtual enviroment using the code below for windows.
```
.\venv\Scripts\activate
```
> Note: If your pc don't have virtual enviroment or pip install the follow this link. [How to create Virtual Enviroment](https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/) 



### Installing the Packages


After creating the enviroment on your project, let's install the necessary packages. 

To install those package open the terminal or command line and paste the code from below:

```
pip install -r requirements.txt
```

> Note: During the package installation, sometimes it shows errors due to package dependencies and to avoid those error you can install those packages as admin.



## Test Run :bicyclist:

After creating the virtual environment and installing the packages, open the IDE terminal to run the program.
1. To use Command Line Version Use:

```
py main.py
```
2. To use GUI Version Use:

```
py main_gui.py
```

**Test Run for CAS as shown below:-**

![Test Run](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/60m9wd8dj0ggrc998vfc.gif)



## How To Use? :pencil:

If you want to use it then follow the steps below:

1. First download or clone the repository.
2. Import the project to your preferable IDE.
Recommended : PyCharm
3. Create a python virtual environment.
4. Install all the packages from [requirements.txt](https://github.com/dhhruv/Contactless-Attendance-System/blob/master/requirements.txt "requirements.txt").
5. Change the mail information in the [Info.py](https://github.com/dhhruv/Contactless-Attendance-System/blob/master/Info.py "Info.py").
6. Run the project using the Command Prompt or PowerShell or your IDE Terminal Button.


### For more Updates check the GitHub Repository:
{% github dhhruv/Contactless-Attendance-System no-readme %}


## Team :

1. [Neel Shah](https://github.com/Neelshah997)
2. [Dhruv Panchal](https://github.com/dhhruv)
3. [Urvesh Patel](https://github.com/urvesh254)
4. [Nirja Desai](https://github.com/nirami98)
5. [Payal Devalia](https://github.com/msCurious28)