Face-Detection-Cropping and Foldering
Artificial Intelligence can thrive in its application in various fields, and some elements for the application of Artificial Intelligence are very essential.
If we look at the area of Machine Learning, within the field of AI, there are primarily two aspects of it, which is grabbing its momentum really fast. The first being Natural Language Processing, and the second Computer Vision.
Natural Language Processing endeavors the human-like senses of listening and speaking, while Computer Vision attempts to replicate the ability of human-like sight and vision.
The number is the perfect way to communicate with computers, as computers are the magician of numbers, and digging down, properties of Images can be encapsulated as the numbers. Images hold a lot of details, and various aspects of the overall situation, in which it was taken, and with computer vision, those details and aspects can be turned into useful input for further analysis.
Video capturing technology has come a long way from where it started. However, on an overview, videos are basically a collection of images joined together frame-by-frame.
Face Detection and Cropping (FDC) program designed by us, takes video as the input. There are also a number of other input attributes, that can be supplied to the program, and among them, the frame rate is also one. Frame rate helps us to increase or decrease the number of frames the program can process within a second.
The FDC program has an inbuilt face detection algorithm embedded within it. Tensorflow is used for the implementation of face detection. Face Detection in FDC takes an image as input, and each frame of the provided videos works as that image. Then, the face is detected from that image.
To track a particular face continuously frame-by-frame, Kalman Filtering is used. With this KalmanBoxTracker, can be implemented, which allows to attach the rectangular box around the particular face and track that face continuously providing a unique ID, to that face. Basically, we are able to track a face in a video with the Kalman Tracker segment of FDC.
Unique ID and Foldering
Humans stand out from each other with some unique characters provided to them. Among many, the face is that character that is both unique in most cases and easily observable. So, when we are building human-like systems, we will try to adopt human-like characters in them.
Unique ID and Foldering is a technique, where we provide unique random ID to a folder that consists of a set of images of a particular face belonging to the particular subject. So, frame-by-frame implementation of FDC allows to crop number of images of a particular subject, and put those images within a folder of a unique ID. Kalman Filtering enables to track the face, and stick that unique ID frame-by-frame to that similar face. Finally, as the output, we get the folder with that unique ID and the number of images cropped frame-by-frame, relative to that ID stored in that particular folder.
lb_NB_96278/
Three sets of the above image illustrate the three different stages of the same subject frame-by-frame cropped and stored as the three different images, however in the same folder. That same folder for images of various stages of a subject is named a unique random number (lb_NB_96278, in this case). The images stored in that folder will have the name generated randomly. That number acts as the unique ID for that subject. The same unique ID can act as the identity for the subject throughout the system. The value of age, gender, ethnicity, the encodings of that particular subject, can be figured out through those images, this way that unique ID can act as the computing name for the subject, and various operations related to that subject can be handled by identifying him/her through that unique ID.
This link can help you follow the project further: