Skip to content

devhack2019/hackoverflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Team HackOverflow

Ketan Karnakota
Aman Jaiswal
Ashish Arora
Mayur Atkade

Smart Attendance © (CV)

N|Solid

Smart Attendance is a lite weight automatic attendance program powered by the latest technology of OpenCV, Siamese-One shot-neural network and other such powerful artificial neural networking tools to aid professors take an easy attendance in class.

  • No more lengthy roll calls
  • Prevent proxy attendances
  • Regular student checks to prevent walking out after roll call
  • Unattended accurate attendance
  • Magic

Forthcoming New Features !

  • Professors get email copies of the same class' attendance just after class
  • Timetable updation to prevent empty classroom captures and power off times
  • Monthly/Weekly reports of students who are missing classes regularly

The overriding design goal for Smart attendance is to make it as convinient as possible to take attendance without wasting too much time.

Chewing over the idea, we stumbled upon a ludicrous idea... What if we don't need to take attendance at all and also placate the Academic Staff and the Dean giving them reports on attendance that they need xD

Thus we came up with this disingenuous idea.

Tech

Smart Attendance uses a number of open source projects to work properly:

  • Face-Detection with python using openCV3 (Computer Vision) : OpenCV has Machine Learning Algorithms to detect faces within a picture.

  • Segmentation : The detected faces are segmeted from the original picture and stored as seperate files.

  • Deblurring : If the segmented images are not_clear/blurred, then we use a RNN (Recurrent Neural Network) to remove the excess blur from the pictures, which will eventually help in improving the performance of our network.

  • Siamese : One-shot learning : Currently most deep learning models need generally thousands of labeled samples per class. Data acquisition for most tasks is very expensive. The possibility to have models that could learn from one or a few samples is a lot more interesting than having the need of acquiring and labeling thousands of samples.

(Since our implementation of Siamese network uses FaceNet for image_encoding (Transfer Learning), it requires us to rescale our images to dimesions of 96*96 )

Installation

Smart Attendance requires a few Open Source tools to run.

Install the dependencies and devDependencies and start the server.

$ cd smart_attendance
$ pip install -r requirements.txt

For the models to work we need nVidia Cuda cores for a few functionality for ~100% accuracy.
Works otherwise too!

Advantages

  • Doesn't need to store or learn from too many images of student. Needs only 1 shot of the student (picture) and works with close to perfect accuracy
  • Doesn't require much heavy computation compared to any other algorithms that need to process a lot of data to survive the task
  • Works with any reasonably powerful device for many camera periferals in different classrooms

To Run

$ cd smart_attendance
$ $a=7
$ python3 face_detect_cv3.py Images/$a/$a.jpg
$ cd SRN-Deblur-master
$ python run_model.py --input_path=./../Images/$a/ --output_path=./../Images/$a/
$ cd ..
$ python3 resize.py
$ cd Face\ Recognition
$ python3 siamese.py

Or we have simplified the task for you just change the a value in the run.sh file given and then run this

$ ./run.sh

Development

Want to contribute? Great!

Talk to us and we can work on it together

Ketan Karnakota

Open your favorite Terminal and explore all you can look around till we get back to you 😜

YouTube Video Link

[https://youtu.be/unUpINtxR_s]

Todos

  • Write to us we can talk about it... Looking out for creative genius ideas

License

Licensed to team:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •