Offline Facial Attendance | Mobile Application Made In Flutter For Nedo Pakistan

front
 

Offline Facial Attendance | Mobile Application Made In Flutter For Nedo Pakistan

 is a blog post that showcases a mobile app developed using Flutter framework for Nedo Pakistan, a leading IT company. The app allows users to mark their attendance offline using facial recognition technology. Learn how the app works, what challenges it faced, and what benefits it offers.

Challanges

Face Recognition Library ( useage of tensor flow )
Face Comparision Algorithm ( Euclidian Algorithm )

What is Euclidian Algorithm ?

The Euclidean algorithm is a method for finding the greatest common divisor (GCD) of two positive integers. The GCD of two numbers is the largest number that divides both of them without leaving any remainder. For example, the GCD of 12 and 18 is 6, because 6 is the largest number that divides both 12 and 18 evenly.

The Euclidean algorithm works by repeatedly replacing the larger number by the difference between the two numbers, until the two numbers become equal. Then, the equal number is the GCD. For example, to find the GCD of 12 and 18, we can do the following steps:

  • Step 1: Subtract the smaller number from the larger number: 18 - 12 = 6
  • Step 2: Replace the larger number by the difference: 12 and 6
  • Step 3: Repeat step 1 and 2 until the two numbers are equal: 12 - 6 = 6 and 6 - 6 = 0
  • Step 4: The equal number is the GCD: 6

There is also a more efficient version of the Euclidean algorithm that uses the remainder instead of the difference. This version works by repeatedly dividing the larger number by the smaller number and replacing the larger number by the remainder, until the remainder is zero. Then, the last non-zero remainder is the GCD. For example, to find the GCD of 12 and 18, we can do the following steps:

  • Step 1: Divide the larger number by the smaller number and find the remainder: 18 / 12 = 1 with remainder 6
  • Step 2: Replace the larger number by the remainder: 12 and 6
  • Step 3: Repeat step 1 and 2 until the remainder is zero: 12 / 6 = 2 with remainder 0
  • Step 4: The last non-zero remainder is the GCD: 6

The Euclidean algorithm has many applications in mathematics, such as simplifying fractions, finding the least common multiple, solving linear equations, and performing modular arithmetic. It is also used in cryptography, such as the RSA algorithm, to generate public and private keys.

If you want to learn more about the Euclidean algorithm, you can check out these sources:


Application Of Euclidian Algorithm in Face Comparision ?

The Euclidean algorithm is a method for finding the greatest common divisor of two positive integers, but it can also be applied to face comparison. The idea is to represent each face image as a vector of numerical values, called a feature vector, that captures the essential characteristics of the face, such as the shape, color, texture, and expression. Then, the Euclidean distance between two feature vectors can be calculated as a measure of how similar or different the two faces are. The smaller the distance, the more similar the faces are.

There are different ways to extract the feature vectors from the face images, such as using pre-trained models, deep learning methods, or hand-crafted features. The choice of the feature extraction method can affect the accuracy and speed of the face comparison. Some examples of feature extraction methods are:

The Euclidean algorithm can be used to compare the feature vectors of two face images and determine if they belong to the same person or not. A threshold value can be set to decide the minimum distance required for a positive match. For example, if the Euclidean distance between two feature vectors is less than 0.6, then the two face images are considered to be the same person. The threshold value can be adjusted based on the application and the desired level of accuracy.

The Euclidean algorithm is an efficient and straightforward distance measurement method that is adequate for calculating face similarity. However, there are also other distance metrics that can be used for face comparison, such as the cosine distance, the Manhattan distance, the Mahalanobis distance, or the L1 and L2 distances. Each distance metric has its own advantages and disadvantages, and the choice of the best metric depends on the data and the task. Some factors that can affect the performance of the distance metrics are:

  • The dimensionality of the feature vectors: Higher-dimensional feature vectors can capture more information about the face images, but they can also suffer from the curse of dimensionality, which means that the distance between any two points becomes very large and indistinguishable. Therefore, dimensionality reduction techniques, such as principal component analysis (PCA) or linear discriminant analysis (LDA), can be applied to reduce the feature vector size and improve the distance calculation.
  • The distribution of the feature vectors: The feature vectors may not follow a normal or uniform distribution, which can affect the accuracy of the distance metrics. For example, the Euclidean distance assumes that the feature vectors are isotropic, which means that they have the same variance in all directions. However, this may not be true for some feature vectors, which may have different variances or correlations in different directions. Therefore, distance metrics that can account for the shape and orientation of the feature vector distribution, such as the Mahalanobis distance, can be more suitable for face comparison.
  • The noise and outliers in the feature vectors: The feature vectors may contain noise or outliers, which can distort the distance calculation and lead to false positives or negatives. Therefore, distance metrics that are robust to noise and outliers, such as the L1 distance or the cosine distance, can be more reliable for face comparison.

If you want to learn more about the application of the Euclidean algorithm in face comparison, you can check out these sources:




date selection

reports





0 Comments