This report will cover all the work that has been completed relating to the Smart attendance and surveillance system. Smart attendance and surveillance system utilizes image processing technique so as to mark the attendance of the students and additionally provide surveillance of the institute on real time basis. A face detector and recognizer has been developed so as to attain this by using the OPENCV and Face_recognition library of Python. In order to attain far more accurate results for face recognition/classification DEEP LEARNING technique has been used.
Python’s TENSORFLOW and KERAS libraries were used for the architecture designing. This architecture will serve as the base for achieving the task of image classification. All the data concerning the students are made accessible on a completely editable database. The attendance, surveillance system, and also the database is incorporated in a web site where the teacher, and Administration representative will access it easily.
A high definition camera has been deployed for obtaining a live-feed of the activity being carried out in the university premises as well as to gather images for segmentation which would be used for image classification tasks.
To perform the aforementioned tasks multiple segments of code, have to be written. For deep learning one code for each architecture creation, training and testing will be made and for video surveillance a separate code would be used. A significant part of this project revolves around web- development, which would serve as a binding agent to all other parts of this project.
When it involves education one amongst the foremost vital issues in any establishment is the lack of security along with an increase in the marking of false attendances. The thought is to supply a system that would facilitate the authorities in maintaining/implementing an affective attendance record as well as identifying any intruder from coming into the premises of the institute, currently the foremost relevant question that arises in one’s mind is that why is that this system necessary? Or why would we want to possess this technique in our institutions? the fundamental need of this technique is to supply associate degreed surveillance and maintain a correct attending record that’s free from any alteration. Apart from attending the opposite issue that we’ve mentioned has its own importance in any institute is that the security of the institute itself. The increasing risks of intruders coming into the premises of the institute ought to be reduced and that we believe that this may simply be achieved through this technique which might not solely work for marking attending however has the access to spot any individual, so we propose Smart attendance and surveillance system.
The real-time surveillance system, attendance system and the database all will be incorporated in website. This website would have the ability to carry out all the above tasks. The attendance would be marked through image classification via the trained model. Surveillance would be done by virtue of Face_recognition library. Database management system would be used to edit or update student credentials. Following are some limitations to this project:
· Proper lighting must be provided at all times for this system to work efficiently.
· As this project is based on image processing, image/picture quality will greatly affect the performance of this system so therefore a High definition camera is required.
· This project will not be taking the 3D-image processing/ bone detection under consideration
· This system works on face detection so people covering their faces will not be detected by this system.
Due to the extensive research being carried out in the domain of deep learning many applications are making use of this work. Similarly, this implementation would not only make use of the previous work in differentiating cats and dogs, it would also be beneficial for the following:
After going through several online articles and blogs it was concluded that the LetNet architecture can not only be used to classify or identify images of dogs and cats but this can easily be extended or implemented on human faces.[1, 2]
The aforementioned task was decided to be carried out by virtue of Deep learning, which is the advanced form of machine learning. In deep learning, computer model learns to perform classification tasks directly from images, text, or sound. Its workflow starts with relevant features are automatically extracted from images.[3, 4]
A (CNN or ConvNet) is one of the most popular algorithms for deep learning, a type of machine learning in which a model learns to perform classification tasks directly from images, video, text, or sound. A convolutional neural network can have tens or hundreds of layers that each learn to detect different features of an image. Filters are applied to each training image at different resolutions, and the output of each convolved image is used as the input to the next layer. The filters can start as very simple features, such as brightness and edges, and increase in complexity to features that uniquely define the object.
C.N.N comprises of input layers, output layers and several hidden layer. Specifically, deep learning C.N.N models trains and tests, each input image of dataset travels through a cascade of Convolution layers with filters or (Kernals), Pooling, Fully-connected layers (FC) and apply Softmax function to classify/identify an object with their probabilistic values.
All of the above mentioned layers and methods were to implemented by making use of the Keras library of python. Keras is a high-level neural networks API, written in Python and capable of running on top of TensorFlow, CNTK, or Theano. It was developed with a focus on enabling fast experimentation . We have used Tensorflow as Keras’ backend because it offers fast processing for machine training by making use of the Graphics processing unit(GPU) . In order to synchronize our GPU, keras and tensorflow, we used CUDA Toolkit 10.0 and cuDNN v7.4for CUDAv10.[9, 10]
For real-time surveillance system it was decided that the system would work best if it was to implemented through Face_recognition library. It recognizes and manipulates faces from Python or from the command line with, the world’s simplest face recognition library. Built using Dlib’s state-of-the-art face recognition which is built with deep learning. The model has an accuracy of 99.38% on the Labeled Faces in the Wild benchmark..
The most essential step in any machine learning or deep learning algorithm is the dataset. A poorly maintained dataset can sabotage the whole training and testing process. Hence the first step was to create a dataset, initially comprising of the group members. After the development of the datasets, the basic architecture of our CNN was made. For this task the Keras library of Python programming language was utilized. Once the architecture was initialized the training and testing algorithms were also developed using Keras. Images were fed into the classifier and Test images were used to test the efficiency of the trained model. For the real-time surveillance system Face_recognition library was used. The reason for using this particular library was that it was highly accurate as well as fast once it initiated. By studying the workflow below, it can be observed that the creation of dataset, designing of model-architecture was step 1 of workflow. Designing of the training and testing algorithm was step 2 and the step 3 was the development of surveillance system.
The first issued that was observed and successfully resolved was that the dataset of all the people/classes had to be of the same size, keeping in mind that the training set and testing images cannot be intermixed. If anyone of these things were to happen the training process will get biased and therefore will yield inaccurate results.
Images were fed into the classifier with X% of the dataset while the remaining portion of dataset was used to validate the training process to increase the accuracy of training.
It was observed that there are certain parameters that are not directly involved or used in the training process but can have significant impact on the training process. These parameters are called Hyper-parameters. They include:
In order to reduce the errors arising due to color saturation and segmentation, it was decided it would be better to use gray scaled images
As it can be clearly observed that, by visualizing the training process from the plot below the network trained for 25 epochs and we achieved high accuracy (almost 100% testing accuracy) and low loss that follows the training loss
Figure.3.2 Graphical Representation of training process
The syntax and other details of Python were learned
The successful synchronization of the GPU (NVIDIA GTX-1060) with Tensorflow by resolving the compatibility issue between the cuDNN versions of Tensorflow and GPU
The concepts of Deep learning along with the ins and outs of ConvNet (Convolutional Neural networks) were familiarized which would serve as the basics for the formation of the image classifier
All the work that has been done up till now, a real-time surveillance system has been designed successfully. An image classifier has been designed using Convolutional Neural Network which classifies or recognizes the person with about 90% efficiency. Image segmentation was also accrued out successfully which serves as base for the attendance system.
In order to fine a generalized method of fine tuning the hyper-parameters curve fitting can be used. This will allow to easily add more classes in order to train our model without compromising on efficiency. 3D-image processing or bone detection can increase the efficiency of facial recognition.
👋 Hi! I’m your smart assistant Amy!
Don’t know where to start? Type your requirements and I’ll connect you to an academic expert within 3 minutes.get help with your assignment