Coder Social home page Coder Social logo

kkhan-ksl / facerecognito_attendance_cpp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mumbaihackathon/facerecognito_attendance_cpp

0.0 2.0 0.0 21 KB

Automated attendance system based on facial recognition

CMake 2.90% C++ 95.69% C 0.92% Shell 0.49%

facerecognito_attendance_cpp's Introduction

FaceRecognito_Attendance

FaceRecognito_Attendance is an open source application for implementing automated student attendance system in classrooms using facial recognition

FaceRecognito_Attendance also has (open source) web based interface available at FaceRecognito_Attendance_web

FaceRecognito_Attendance uses facial recognition libraries provided by opencv library in [opencv_contrib] (https://github.com/Itseez/opencv_contrib/) repository.

How does it work

FaceRecognito_Attendance detects faces using pretrained Haar Cascades in each image (from both training and prediction dataset) after turning it into a grayscale image and crops the detected face, normalizes the cropped face and uses the normalized face image for learning every individual's face using (currently implemented) Fisher Face Recognition algorithm and creates a xml file to store learnt knowledge. While predicting faces from group photographs FaceRecognito does the same cropping and normalizing procedure and makes a prediction based on learnt knowledge about the individuals present in the group photographs and stores predicted results along with the confidence in prediction to respective output files which then are parsed by web based interface to correctly mark the attendance of every individual present in those images to generate attendance report.

Compiling FaceRecognito_Attendance

For compiling following tools are required

g++
cmake
opencv
opencv_contrib

goto source directory and execute the following (make sure opencv is compiled from source and installed properly)

bash build.sh

Using FaceRecognito_Attendance

goto build directory and execute

Training

./Main train <InputCSVFile> <OutputKnowledgeFile>
  • InputCSVFile must contain path to facial images of individuals (one face per image) and labels (integer labels) of individuals in those images in csv format

  • OutputKnowledgeFile is created by FaceRecognito_Attendance after training procedure is completed to store learnt faces in xml/yaml format

Predicting

./Main predict <InputCSVFile> <InputKnowledgeFile> <OutputSuccessFile> <OutputErrorFile>
  • InputCSVFile must contain path to images containing faces to be recognized (one or more faces per image) in csv format

  • InputKnowledgeFile is the file created by FaceRecognito_Attendance during training procedure, FaceRecognito_Attendance will use knowledge stored in this file for recognizing faces.

  • OuputSuccessFile is created by FaceRecognito_Attendance after prediction procedure and contains list of individuals successfully recognized in each image in csv format

  • OuputErrorFile is created by FaceRecognito_Attendance after prediction procedure and contains list of faces FaceRecognito_Attendance faild to recognize in each image in csv format

Updating

(Yet to be implemented)

facerecognito_attendance_cpp's People

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.