Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/deven96/fuskar-backend
Facial recognition for attendance management
https://github.com/deven96/fuskar-backend
artificial-intelligence attendance backend django facial-recognition huey nvidia-jetson-nano
Last synced: 3 months ago
JSON representation
Facial recognition for attendance management
- Host: GitHub
- URL: https://github.com/deven96/fuskar-backend
- Owner: deven96
- Created: 2019-04-05T13:32:20.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T06:45:55.000Z (about 2 years ago)
- Last Synced: 2024-10-02T07:55:15.396Z (4 months ago)
- Topics: artificial-intelligence, attendance, backend, django, facial-recognition, huey, nvidia-jetson-nano
- Language: Python
- Homepage:
- Size: 17.4 MB
- Stars: 7
- Watchers: 2
- Forks: 2
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Fuskar
This is a facial recognition application built to be deployed on an NVIDIA Jetson Nano
It combines the similarity comparison of the FaceNet Model trained on a Siamese network into a django API served to a VueJS frontend## Development
### Backend
The API was built using django and face_recognition
```bash
# install redis
sudo apt-get install redis-server# create virtualenv
mkvirtualenv fuskar
# install requirements
pip install -r backend/requirements.txt
# create postgres database
sudo su postgres -c "psql -c \"CREATE ROLE fuskar with password 'fuskar';\""
sudo su postgres -c "psql -c \"CREATE DATABASE fuskardb with owner fuskar;\""
sudo su postgres -c "psql -c \"ALTER ROLE fuskar WITH LOGIN;\""
# change directory
cd backend
# run migrations
python manage.py migrate
# start server
python manage.py runserver
```### Frontend
The front end was built using nuxtjs, a progressive vuejs framework that supports server side rendering. Code [here](https://github.com/abdulqudus001/student-attendance)
## Build Setup
``` bash
# install dependencies
$ yarn install# serve with hot reload at localhost:3000
$ yarn dev# build for production and launch server
$ yarn build
$ yarn start# generate static project
$ yarn generate
```For detailed explanation on how things work, check out [Nuxt.js docs](https://nuxtjs.org).
## Usage
- Turn on the device shown below
![device](assets/view.jpeg)
![device](assets/view1.jpeg)- Use a laptop or phone to connect the device to the device hotspot with the password 'fuskar-owner'
- Visit the web application on 10.42.0.1![webapplication](assets/webapp1.png)
![webapplication](assets/webapp2.png)### Deploy Plans
- [x] Create endpoints for student registration and management
- [x] Create endpoints for course registration and management
- [x] Create asynchronous tasks for taking attendance and retraining pickled parameter
- [ ] Debug setup for huey where huey does not run tasks
- [ ] Complete NVIDIA jetson Nano setup to install dlib with gpu capabilities
- [ ] Auto start `wireless hotspot`
- [ ] Allow all incoming traffic on port 80 using ufw
- [ ] Create nginx sites-available script for redirecting traffic from port 80 to the front-end port- Back-end (Django) application
- [ ] Auto Switch camera to read from jetson nano streamer
- [x] Create Daphne service file
- [ ] Create Redis-server broker service file
- [x] Make sure to start Huey service before Daphne service
- [x] Tie Huey service start to start Celery service
- Front-end (Vue) application
- [x] Create Vue service file
- [x] Connect to back-end port
- [x] Crop whitespace out of captured image
- [x] Create Vue server service file to run on start, depending on django service file