Skip to content
README.md 7.13 KiB
Newer Older
Anmol Singh's avatar
Anmol Singh committed
# Attendance Tracker System

Anmol Singh's avatar
Anmol Singh committed
## Thesis Title: Development of attendance tracking system using computer vision based AI on an embedded system.
Anmol Singh's avatar
Anmol Singh committed

Anmol Singh's avatar
Anmol Singh committed
This project is a work of a bachelor thesis done by a student of Mechatronic Systems Engineering B.Sc.

Anmol Singh's avatar
Anmol Singh committed
![](https://forthebadge.com/images/badges/powered-by-electricity.svg)    ![](https://forthebadge.com/images/badges/for-robots.svg)![](./Miscellaneous/uses-artificial-intelligence.svg) ![](./Miscellaneous/built-as-autonomous-system.svg)
Anmol Singh's avatar
Anmol Singh committed
![](https://forthebadge.com/images/badges/made-with-python.svg)![](./Miscellaneous/made_with_opencv.svg)
![](./Miscellaneous/made-with-raspberry-pi-4b.svg)
![](./Miscellaneous/made-with-raspberry-pi-cam.svg)
![](./Miscellaneous/uses-mediapipe.svg)
![](./Miscellaneous/made-with-raspberry-pi-touchscreen.svg)
Anmol Singh's avatar
Anmol Singh committed
![](./Miscellaneous/uses-face-recognition.svg)
![](./Miscellaneous/uses-hand-gesture-control.svg) ![](./Miscellaneous/made-as-embedded-system.svg)![](./Miscellaneous/uses-computer-vision.svg)![](./Miscellaneous/uses-tkinter.svg)
Anmol Singh's avatar
Anmol Singh committed

Anmol Singh's avatar
Anmol Singh committed
## Table Of Contents
1. [Abstract](#abstract)
2. [Fields Involved](#fields-involved)
3. [AI Models Used](#ai-models-used)
4. [Hardware Requirements and Circuit Diagram](#hardware-requirements-and-circuit-diagram)
5. [GUI](#gui)
6. [Optimisation Results](#optimisation-results)
7. [Results](#results)
8. [Steps of Code Execution](#steps-of-code-execution)
9. [Conclusion](#conclusion)
10. [Contributors](#contributors)

Anmol Singh's avatar
Anmol Singh committed
## Abstract

<p align= "justify">
The scope of this thesis presents the development of an attendance tracker system from scratch using computer vision based AI deployed on an embedded system. As students frequently forget to fill out the user attendance list and the carbon footprints need to be physically stored for records, conventional techniques of attendance monitoring such as signing attendance sheets or calling out names of each student by the professor are becoming woefully out of date, repetitive, and dull. This is where the project comes into play. It aims to automate the entire system by implementing a quicker and more secure method of recording attendance that uses face recognition to authenticate the user and gesture recognition to identify the time of entry and exit of the lab, which are alluded to as login and logout. The face recognition has been implemented using the face-recognition python library whereas the hand detection and gesture recognition has been implemented using the MediaPipe library. The system has been meticulously packaged into a complete software that includes an interactive graphical user interface supporting all the key functionalities aside from user login, including: registering a new user in the database, deleting the user from the database, and changing other crucial system parameters from system preferences. This has been done to facilitate and mesmerize user experience. Python has been used only in the writing and development of the software because the goal of this thesis is to create a quick prototype. The finished product has a touchscreen, camera, and Raspberry Pi 4 inside a Polylactic Acid (PLA) case that was 3D printed, making it portable, lightweight, and simple to assemble.
</p>

## Fields Involved
- Computer Vision
- Artificial Intelligence
- Embedded Systems
- Programming
  - Completely developed on python
## AI Models Used
- Face Detection
- Face Recognition
- Hand Tracking and Hand Gesture Regonition
  - Palm Detection
  - Hand Landmark Detection

## Hardware Requirements and Circuit Diagram

- Raspberry Pi 4B
- Raspberry Pi Camera v1.3
- Raspberry Pi Touchscreen
- Power Adapter
- SD Card
- 3D printed casing

Anmol Singh's avatar
Anmol Singh committed
<img src="./Results/Thesis_Circuit_Schematic.jpg" alt="drawing" width="500"/>

Anmol Singh's avatar
Anmol Singh committed
### GUI Layout
<img src="./Results/AutologgerGUI.jpg" alt="drawing" width="500"/>

### GUI 
The graphical user interface has been built using a library called Tkinter. The following images showcase all the 12 windows present in the software.

|Welcome Window|Main Window|
|---|---|
Anmol Singh's avatar
Anmol Singh committed
<img src="./Results/01_Welcome.png" alt="drawing" width="500" height="290"/> |<img src="./Results/02_MainPage.png" alt="drawing" width="500" height="290"/>|
Anmol Singh's avatar
Anmol Singh committed
|About Software Window|User Login Window|
Anmol Singh's avatar
Anmol Singh committed
<img src="./Results/03_About.png" alt="drawing" width="500" height="290"/> |<img src="./Results/login.png" alt="drawing" width="500" height="290"/>|
Anmol Singh's avatar
Anmol Singh committed
|Active Users Window|Admin Password Window|
Anmol Singh's avatar
Anmol Singh committed
<img src="./Results/09_2__Active.png" alt="drawing" width="500" height="290"/> |<img src="./Results/04_1__AdminPass.png" alt="drawing" width="500" height="290"/>|
Anmol Singh's avatar
Anmol Singh committed
|System Preferences Window|Create User(Registration form) Window|
Anmol Singh's avatar
Anmol Singh committed
<img src="./Results/06_Settings.png" alt="drawing" width="500" height="290"/> |<img src="./Results/08_1__Create.png" alt="drawing" width="500" height="290"/>|
Anmol Singh's avatar
Anmol Singh committed
|Create User(Snap Picture) Window|Create User(Confirmation) Window|
Anmol Singh's avatar
Anmol Singh committed
<img src="./Results/08_3__Create.png" alt="drawing" width="500" height="290"/> |<img src="./Results/08_4__Create.png" alt="drawing" width="500" height="290"/>|
Anmol Singh's avatar
Anmol Singh committed
|Delete/Archive User Window|Autologger Parameters Window|
Anmol Singh's avatar
Anmol Singh committed
<img src="./Results/07_1__Delete.png" alt="drawing" width="500" height="290"/> |<img src="./Results/05_AutologParams.png" alt="drawing" width="500" height="290"/>|
Anmol Singh's avatar
Anmol Singh committed

## Optimisation Results
The optimization results have been carried out for 2 hardwares:
- Macbook Pro 15-inch, 2017 model
- Raspberry Pi model 4B (4GB)

Models used before optimisation:
- Face Detection and Recognition: face-recognition library.
- Hand Gesture Recognition: BlazePalm and BlazeHand from MediaPipe.

Models used after optimisation:
- Face detection: BlazeFace from Google implemented via MediaPipe
- Face Recognition: face-recognition library.
Anmol Singh's avatar
Anmol Singh committed
- Hand Gesture Recognition: BlazePalm and BlazeHand implemented via MediaPipe.
Anmol Singh's avatar
Anmol Singh committed


|Performance Analysis Results|Time Analysis Results|
|---|---|
Anmol Singh's avatar
Anmol Singh committed
|<img src="./Results/image13.png" alt="drawing" width="500" height="290"/> |<img src="./Results/image14.png" alt="drawing" width="500" height="290"/>|
Anmol Singh's avatar
Anmol Singh committed


Anmol Singh's avatar
Anmol Singh committed
## Results
Anmol Singh's avatar
Anmol Singh committed
This section showcases some major functionalities of the software.
Anmol Singh's avatar
Anmol Singh committed

Anmol Singh's avatar
Anmol Singh committed
### User Login + Active Users
![](./Results/media7.mov)
### User Logout + Active Users
Anmol Singh's avatar
Anmol Singh committed
![](./Results/media8.mov)
Anmol Singh's avatar
Anmol Singh committed
### Create User
![](./Results/media10.mov)
Anmol Singh's avatar
Anmol Singh committed
### Delete User
![](./Results/media9.mov)
Anmol Singh's avatar
Anmol Singh committed
### Archive User
![](./Results/media11.mov)
### Autologger Parameters
![](./Results/media12.mov)
Anmol Singh's avatar
Anmol Singh committed

Anmol Singh's avatar
Anmol Singh committed
## Steps of Code Execution

## Conclusion

### Functional Attendance Monitoring System on the Embedded System

Anmol Singh's avatar
Anmol Singh committed
<img src="./Results/image21.jpeg" alt="drawing" width="500" height="400"/>
Anmol Singh's avatar
Anmol Singh committed

|Functionalities Delivered|
|---|
|User Login/Logout|
|Active Users|
|Create User|
|Delete/Archive User|
|Autologger Parameters|
|About Software|

Anmol Singh's avatar
Anmol Singh committed
## Contributors

Anmol Singh's avatar
Anmol Singh committed
**Author's Name**: Anmol Singh <br/>
Anmol Singh's avatar
Anmol Singh committed
**Matriculation Number:** 24244 <br/>
Anmol Singh's avatar
Anmol Singh committed
**Study Program:** Mechatronic Systems Engineering(B.Sc.) <br/>
**Study Semester:** 8th <br/>
**Degree Faculty:** Faculty of Technology & Bionics <br/>
Anmol Singh's avatar
Anmol Singh committed
**Bachelor Thesis Supervisor:** Prof. Dr. Ronny Hartanto(Technische Informatik) <br/>
**Bachelor Thesis Co-Supervisor:** Prof. Dr. Matthias Krauledat(Informatik) <br/>
**Guided & Supported by:** Mamen Thomas Chembakasseril(Mechanical Engineer, M.Sc.) <br/>
Anmol Singh's avatar
Anmol Singh committed
**Place:** Robotics Laboratory(05 EG 025), Rhine Waal University of Applied Sciences, Kleve, Germany. <br/>