Facial Emotion Recognition: A Deep Learning approachAshwinRachha
Neural Networks lie at the apogee of Machine Learning algorithms. With a large set of data and automatic feature selection and extraction process, Convolutional Neural Networks are second to none. Neural Networks can be very effective in classification problems.
Facial Emotion Recognition is a technology that helps companies and individuals evaluate customers and optimize their products and services by most relevant and pertinent feedback.
Facial emotion detection on babies' emotional face using Deep Learning.Takrim Ul Islam Laskar
phase- 1
Face Detection.
Facial Landmark detection.
phase- 2
Neural Network Training and Testing.
validation and implementation.
phase - 1 has been completed successfully.
This document presents a hybrid framework for facial expression recognition that uses SVD, PCA, and SURF. It extracts features using PCA with SVD, classifies expressions with an SVM classifier, and performs emotion detection with regression and SURF features. The framework achieves 98.79% accuracy and 67.79% average recognition on a database of 50 images with 5 expressions. It provides a concise facial expression recognition system using a combination of dimensionality reduction, classification, and feature detection techniques.
Facial emoji recognition is a human computer interaction system. In recent times, automatic face recognition or facial expression recognition has attracted increasing attention from researchers in psychology, computer science, linguistics, neuroscience, and similar fields. Facial emoji recognizer is an end user application which detects the expression of the person in the video being captured by the camera. The smiley relevant to the expression of the person in the video is shown on the screen which changes with the change in the expressions. Facial expressions are important in human communication and interactions. Also, they are used as an important tool in studies about behavior and in medical fields. Facial emoji recognizer provides a fast and practical approach for non meddlesome emotion detection. The purpose was to develop an intelligent system for facial based expression classification using CNN algorithm. Haar classifier is used for face detection and CNN algorithm is utilized for the expression detection and giving the emoticon relevant to the expression as the output. N. Swapna Goud | K. Revanth Reddy | G. Alekhya | G. S. Sucheta ""Facial Emoji Recognition"" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-3 | Issue-3 , April 2019, URL: https://www.ijtsrd.com/papers/ijtsrd23166.pdf
Paper URL: https://www.ijtsrd.com/engineering/computer-engineering/23166/facial-emoji-recognition/n-swapna-goud
This document describes various algorithms used to build a facial emotion recognition system, including Haar cascade, HOG, Eigenfaces, and Fisherfaces. It explains how each algorithm works, such as how Haar cascade detects facial features and HOG extracts histograms of gradients. The system is trained on the CK+ dataset and uses Eigenface and Fisherface classifiers to classify emotions, achieving higher accuracy (86.54%) with Fisherfaces. It provides code snippets of key steps like cropping, resizing images, splitting data, and predicting emotions.
This document describes a project to build a convolutional neural network (CNN) model to recognize six basic human emotions (angry, fear, happy, sad, surprise, neutral) from facial expressions. The CNN architecture includes convolutional, max pooling and fully connected layers. Models are trained on two datasets - FERC and RaFD. Experimental results show that Model C achieves the best testing accuracy of 71.15% on FERC and 63.34% on RaFD. Visualizations of activation maps and a prediction matrix are provided to analyze the model's performance and confusions between emotions. A live demo application is also developed using OpenCV to demonstrate real-time emotion recognition from video frames.
The document proposes developing Android applications to sense emotions using smartphones for better health and human-machine interactions. It discusses detecting emotions through passive sensors like cameras, microphones, and accelerometers that can capture facial expressions, speech, heart rate without interpreting input. Recognition involves extracting meaningful patterns from sensor data using techniques like speech recognition, facial expression detection to produce labels or inference algorithms. Specific techniques are discussed for recognizing emotions from speech, facial expressions based on the Facial Action Coding System, and heart rate variability. The conclusion states that understanding emotions with smartphones can help people succeed and make research easier.
Facial Emotion Recognition: A Deep Learning approachAshwinRachha
Neural Networks lie at the apogee of Machine Learning algorithms. With a large set of data and automatic feature selection and extraction process, Convolutional Neural Networks are second to none. Neural Networks can be very effective in classification problems.
Facial Emotion Recognition is a technology that helps companies and individuals evaluate customers and optimize their products and services by most relevant and pertinent feedback.
Facial emotion detection on babies' emotional face using Deep Learning.Takrim Ul Islam Laskar
phase- 1
Face Detection.
Facial Landmark detection.
phase- 2
Neural Network Training and Testing.
validation and implementation.
phase - 1 has been completed successfully.
This document presents a hybrid framework for facial expression recognition that uses SVD, PCA, and SURF. It extracts features using PCA with SVD, classifies expressions with an SVM classifier, and performs emotion detection with regression and SURF features. The framework achieves 98.79% accuracy and 67.79% average recognition on a database of 50 images with 5 expressions. It provides a concise facial expression recognition system using a combination of dimensionality reduction, classification, and feature detection techniques.
Facial emoji recognition is a human computer interaction system. In recent times, automatic face recognition or facial expression recognition has attracted increasing attention from researchers in psychology, computer science, linguistics, neuroscience, and similar fields. Facial emoji recognizer is an end user application which detects the expression of the person in the video being captured by the camera. The smiley relevant to the expression of the person in the video is shown on the screen which changes with the change in the expressions. Facial expressions are important in human communication and interactions. Also, they are used as an important tool in studies about behavior and in medical fields. Facial emoji recognizer provides a fast and practical approach for non meddlesome emotion detection. The purpose was to develop an intelligent system for facial based expression classification using CNN algorithm. Haar classifier is used for face detection and CNN algorithm is utilized for the expression detection and giving the emoticon relevant to the expression as the output. N. Swapna Goud | K. Revanth Reddy | G. Alekhya | G. S. Sucheta ""Facial Emoji Recognition"" Published in International Journal of Trend in Scientific Research and Development (ijtsrd), ISSN: 2456-6470, Volume-3 | Issue-3 , April 2019, URL: https://www.ijtsrd.com/papers/ijtsrd23166.pdf
Paper URL: https://www.ijtsrd.com/engineering/computer-engineering/23166/facial-emoji-recognition/n-swapna-goud
This document describes various algorithms used to build a facial emotion recognition system, including Haar cascade, HOG, Eigenfaces, and Fisherfaces. It explains how each algorithm works, such as how Haar cascade detects facial features and HOG extracts histograms of gradients. The system is trained on the CK+ dataset and uses Eigenface and Fisherface classifiers to classify emotions, achieving higher accuracy (86.54%) with Fisherfaces. It provides code snippets of key steps like cropping, resizing images, splitting data, and predicting emotions.
This document describes a project to build a convolutional neural network (CNN) model to recognize six basic human emotions (angry, fear, happy, sad, surprise, neutral) from facial expressions. The CNN architecture includes convolutional, max pooling and fully connected layers. Models are trained on two datasets - FERC and RaFD. Experimental results show that Model C achieves the best testing accuracy of 71.15% on FERC and 63.34% on RaFD. Visualizations of activation maps and a prediction matrix are provided to analyze the model's performance and confusions between emotions. A live demo application is also developed using OpenCV to demonstrate real-time emotion recognition from video frames.
The document proposes developing Android applications to sense emotions using smartphones for better health and human-machine interactions. It discusses detecting emotions through passive sensors like cameras, microphones, and accelerometers that can capture facial expressions, speech, heart rate without interpreting input. Recognition involves extracting meaningful patterns from sensor data using techniques like speech recognition, facial expression detection to produce labels or inference algorithms. Specific techniques are discussed for recognizing emotions from speech, facial expressions based on the Facial Action Coding System, and heart rate variability. The conclusion states that understanding emotions with smartphones can help people succeed and make research easier.
This document discusses the history and development of facial recognition systems. It describes how pioneers in the 1960s began developing early systems using graphics tablets, and the challenges of accounting for variability in lighting, expression, and other factors. The document outlines different types of current facial recognition approaches, including traditional 2D recognition and emerging 3D recognition techniques. It provides examples of software using facial recognition and potential applications that have been developed or could be developed. A survey of Hong Kong citizens found facial recognition is not very common but many would be interested in using it on computers or for access control. The conclusion discusses both benefits and privacy concerns of the technology.
Emotion Detection using Artificial Intelligence presentation by Aryan Trisal.
In this ppt you will learn about emotion detection using AI and how will it change the world.
IF U WANT A PPT MADE AT VERY LOW PRICES CONTACT ME ON LINKEDIN -www.linkedin.com/in/aryan-trisal-420253190
This document presents a human emotion recognition system that uses facial expression analysis to identify emotions. It discusses how emotions are important to human life and interaction. The system first captures images of a human face and preprocesses the images to extract features. It then compares the facial features to examples in a database to recognize the emotion based on distances between features. The system can identify six basic emotions with up to 97% accuracy. Limitations and potential to incorporate fuzzy logic for improved classification are also discussed.
A deep learning facial expression recognition based scoring system for restau...CloudTechnologies
A deep learning facial expression recognition based scoring system for restaurants
Cloud Technologies providing Complete Solution for all
Academic Projects Final Year/Semester Student Projects
For More Details,
Contact:
Mobile:- +91 8121953811,
whatsapp:- +91 8522991105,
Email ID: cloudtechnologiesprojects@gmail.com
This document presents information on face detection techniques. It discusses image segmentation as a preprocessing step for face detection. Some common segmentation methods are thresholding, edge-based segmentation, and region-based segmentation. Face detection can be classified as implicit/pattern-based or explicit/knowledge-based. Implicit methods use techniques like templates, PCA, LDA, and neural networks, while explicit methods exploit cues like color, motion, and facial features. One method discussed is human skin color-based face detection, which filters for skin-colored regions and finds facial parts within those regions. Advantages include speed and independence from training data, while disadvantages include sensitivity to lighting and accessories.
PPT on BRAIN TUMOR detection in MRI images based on IMAGE SEGMENTATION khanam22
The document presents three methods for tumor detection in MRI images: 1) K-means clustering with watershed algorithm, 2) Optimized K-means using genetic algorithm, and 3) Optimized C-means using genetic algorithm. It evaluates each method, finding that C-means clustering with genetic algorithm most accurately detects tumors by assigning data points to multiple clusters and finding the optimal solution in less time. The proposed approach successfully detects tumors with high accuracy, identifies the tumor area and internal structure, and provides a colorized output image.
Emotion recognition using image processing in deep learningvishnuv43
User’s emotion using its facial expressions will be detected. These expressions can be derived from the live feed via system's camera or any pre-existing image available in the memory. Emotions possessed by humans can be recognized and has a vast scope of study in the computer vision industry upon which several researches have already been done.
We propose a compact CNN model for facial expression recognition.
The work has been implemented using Python Open Source Computer Vision Library (OpenCV) and NumPy,pandas,keras packages. The scanned image (testing dataset) is being compared to training dataset and thus emotion is predicted.
This document provides an introduction to image segmentation. It discusses how image segmentation partitions an image into meaningful regions based on measurements like greyscale, color, texture, depth, or motion. Segmentation is often an initial step in image understanding and has applications in identifying objects, guiding robots, and video compression. The document describes thresholding and clustering as two common segmentation techniques and provides examples of segmentation based on greyscale, texture, motion, depth, and optical flow. It also discusses region-growing, edge-based, and active contour model approaches to segmentation.
This document presents a literature review and proposed work plan for face recognition using a back propagation neural network. It summarizes the Viola-Jones face detection algorithm which uses Haar features and an integral image for real-time detection. The algorithm has high detection rates with low false positives. Future work will apply back propagation neural networks to extract features and recognize faces from a database of facial images in order to build a facial recognition system.
Face recognition technology uses machine learning algorithms to identify or verify a person's identity from digital images or video frames. The process involves detecting faces, applying preprocessing techniques like filtering and scaling, training classifiers using labeled face images, and then classifying new faces. Common machine learning algorithms used include K-nearest neighbors, naive Bayes, decision trees, and locally weighted learning. The proposed system detects faces, builds a tabular dataset from pixel values, trains classifiers, and evaluates performance on a test set. Software applies techniques like detection, alignment, normalization, and matching to encode faces for comparison. Face recognition has advantages like convenience and low cost, and applications in security, banking, and more.
This document discusses text detection and character recognition from images. It begins with an introduction and then discusses the aims, objectives, motivation and problem statement. It reviews relevant literature on segmentation and recognition techniques. The document then describes the methodology used, including preprocessing, segmentation using vertical projections and connected components, and recognition using pixel counting, projections, template matching, Fourier descriptors and heuristic filters. It presents results from four experiments comparing different segmentation and recognition methods. The discussion analyzes results and limitations. The conclusion finds that segmentation works best with connected components while recognition works best with template matching, Fourier descriptors and heuristic filters.
We seek to classify images into different emotions using a first 'intuitive' machine learning approach, then training models using convolutional neural networks and finally using a pretrained model for better accuracy.
Facial emotion recognition uses active shape modeling to identify 5 classes of emotions from facial images. It reconstructs facial models by labeling landmark features, performing shape modeling through principal component analysis and model fitting, and classifying emotions. The methodology was tested on a set of labeled images and achieved over 80% accuracy in emotion recognition according to the results.
This document discusses color image processing and different color models. It begins with an introduction and then covers color fundamentals such as brightness, hue, and saturation. It describes common color models like RGB, CMY, HSI, and YIQ. Pseudo color processing and full color image processing are explained. Color transformations between color models are also discussed. Implementation tips for interpolation methods in color processing are provided. The document concludes with thanks to the head of the computer science department.
In this presentation, we walk through what is Deep Learning in General, we see the anatomy of a typical Deep Learning Neural Network, how is it trained, how do we get the inference, optimisation of parameters, and regularising it. Then we dive deep into the Face Recognition technology, different paradigms and aspects of it. How do we train it, how are the features extracted, etc. We talk about the security as well.
This document discusses face detection techniques. It defines face detection as identifying regions in images that contain faces. Face detection is important for applications like security, video retrieval, and human-computer interfaces. The document categorizes face detection methods as either image-based, which use training to compare faces to non-faces, or knowledge-based, which detect facial features like skin, eyes and mouths. It provides examples of techniques within each category and notes that image-based methods are more complex while knowledge-based techniques are usually faster. The document concludes by outlining some open issues in face detection.
Drowsiness Detection using machine learning (1).pptxsathiyasowmi
The document describes a proposed system to detect driver drowsiness using OpenCV and machine learning techniques. The system would use computer vision and facial landmark detection on video from an in-vehicle camera to monitor the driver's eyes and mouth for signs of fatigue like blinking rate, yawning and prolonged eye closures. If drowsiness is detected, the system will alert the driver with an alarm sound and may also activate a self-driving mode if the driver's eyes are closed for over 60 seconds. The proposed system aims to reduce accidents caused by fatigued driving and promote road safety.
We will use 7 emotions namely - We have used 7 emotions namely - 'Angry', 'Disgust'濫, 'Fear', 'Happy', 'Neutral', 'Sad'☹️, 'Surprise' to train and test our algorithm using Convolution Neural Networks.
Image processing with OpenCV allows various techniques to manipulate digital images. Some key techniques include smoothing to remove noise, erosion and dilation to diminish or accentuate features, and edge detection algorithms like Sobel, Laplace, and Canny to find edges. The core OpenCV module provides functions for accessing pixel values, adjusting contrast and brightness, and drawing shapes. Feature detection identifies keypoints like edges, corners, and blobs, then describes the details around them for later matching against other images. Common algorithms include SURF, SIFT, and BRIEF for feature extraction and description and FLANN and BruteForce for feature matching.
The document discusses noise models and methods for removing additive noise from digital images. It describes several types of noise that can affect images, such as Gaussian, impulse, uniform, Rayleigh, gamma and exponential noise. It also presents various noise filters that can be used to remove noise, including mean filters like arithmetic, geometric and harmonic filters, and order statistics filters such as median, max, min and midpoint filters. The filters aim to reduce noise while retaining image detail as much as possible.
This document summarizes principal component analysis (PCA) and its application to face recognition. PCA is a technique used to reduce the dimensionality of large datasets while retaining the variations present in the dataset. It works by transforming the dataset into a new coordinate system where the greatest variance lies on the first coordinate (principal component), second greatest variance on the second coordinate, and so on. The document discusses how PCA can be used for face recognition by applying it to image datasets of faces. It reduces the dimensionality of the image data while preserving the key information needed to distinguish different faces. Experimental results show PCA provides reasonably accurate face recognition with low error rates.
Mat189: Cluster Analysis with NBA Sports DataKathleneNgo
The document discusses using cluster analysis techniques like K-Means and spectral clustering on NBA player statistics data. It begins by introducing machine learning concepts like supervised vs. unsupervised learning and definitions of clustering criteria. It then describes preprocessing the 27-dimensional player data into 2 dimensions using linear discriminant analysis (LDA) and principal component analysis (PCA) for visualization. K-Means clustering is applied to the LDA-reduced data, identifying distinct player groups. Spectral clustering will also be applied using PCA for comparison. The goal is to categorize players and determine the best athletes without prior basketball knowledge.
This document discusses the history and development of facial recognition systems. It describes how pioneers in the 1960s began developing early systems using graphics tablets, and the challenges of accounting for variability in lighting, expression, and other factors. The document outlines different types of current facial recognition approaches, including traditional 2D recognition and emerging 3D recognition techniques. It provides examples of software using facial recognition and potential applications that have been developed or could be developed. A survey of Hong Kong citizens found facial recognition is not very common but many would be interested in using it on computers or for access control. The conclusion discusses both benefits and privacy concerns of the technology.
Emotion Detection using Artificial Intelligence presentation by Aryan Trisal.
In this ppt you will learn about emotion detection using AI and how will it change the world.
IF U WANT A PPT MADE AT VERY LOW PRICES CONTACT ME ON LINKEDIN -www.linkedin.com/in/aryan-trisal-420253190
This document presents a human emotion recognition system that uses facial expression analysis to identify emotions. It discusses how emotions are important to human life and interaction. The system first captures images of a human face and preprocesses the images to extract features. It then compares the facial features to examples in a database to recognize the emotion based on distances between features. The system can identify six basic emotions with up to 97% accuracy. Limitations and potential to incorporate fuzzy logic for improved classification are also discussed.
A deep learning facial expression recognition based scoring system for restau...CloudTechnologies
A deep learning facial expression recognition based scoring system for restaurants
Cloud Technologies providing Complete Solution for all
Academic Projects Final Year/Semester Student Projects
For More Details,
Contact:
Mobile:- +91 8121953811,
whatsapp:- +91 8522991105,
Email ID: cloudtechnologiesprojects@gmail.com
This document presents information on face detection techniques. It discusses image segmentation as a preprocessing step for face detection. Some common segmentation methods are thresholding, edge-based segmentation, and region-based segmentation. Face detection can be classified as implicit/pattern-based or explicit/knowledge-based. Implicit methods use techniques like templates, PCA, LDA, and neural networks, while explicit methods exploit cues like color, motion, and facial features. One method discussed is human skin color-based face detection, which filters for skin-colored regions and finds facial parts within those regions. Advantages include speed and independence from training data, while disadvantages include sensitivity to lighting and accessories.
PPT on BRAIN TUMOR detection in MRI images based on IMAGE SEGMENTATION khanam22
The document presents three methods for tumor detection in MRI images: 1) K-means clustering with watershed algorithm, 2) Optimized K-means using genetic algorithm, and 3) Optimized C-means using genetic algorithm. It evaluates each method, finding that C-means clustering with genetic algorithm most accurately detects tumors by assigning data points to multiple clusters and finding the optimal solution in less time. The proposed approach successfully detects tumors with high accuracy, identifies the tumor area and internal structure, and provides a colorized output image.
Emotion recognition using image processing in deep learningvishnuv43
User’s emotion using its facial expressions will be detected. These expressions can be derived from the live feed via system's camera or any pre-existing image available in the memory. Emotions possessed by humans can be recognized and has a vast scope of study in the computer vision industry upon which several researches have already been done.
We propose a compact CNN model for facial expression recognition.
The work has been implemented using Python Open Source Computer Vision Library (OpenCV) and NumPy,pandas,keras packages. The scanned image (testing dataset) is being compared to training dataset and thus emotion is predicted.
This document provides an introduction to image segmentation. It discusses how image segmentation partitions an image into meaningful regions based on measurements like greyscale, color, texture, depth, or motion. Segmentation is often an initial step in image understanding and has applications in identifying objects, guiding robots, and video compression. The document describes thresholding and clustering as two common segmentation techniques and provides examples of segmentation based on greyscale, texture, motion, depth, and optical flow. It also discusses region-growing, edge-based, and active contour model approaches to segmentation.
This document presents a literature review and proposed work plan for face recognition using a back propagation neural network. It summarizes the Viola-Jones face detection algorithm which uses Haar features and an integral image for real-time detection. The algorithm has high detection rates with low false positives. Future work will apply back propagation neural networks to extract features and recognize faces from a database of facial images in order to build a facial recognition system.
Face recognition technology uses machine learning algorithms to identify or verify a person's identity from digital images or video frames. The process involves detecting faces, applying preprocessing techniques like filtering and scaling, training classifiers using labeled face images, and then classifying new faces. Common machine learning algorithms used include K-nearest neighbors, naive Bayes, decision trees, and locally weighted learning. The proposed system detects faces, builds a tabular dataset from pixel values, trains classifiers, and evaluates performance on a test set. Software applies techniques like detection, alignment, normalization, and matching to encode faces for comparison. Face recognition has advantages like convenience and low cost, and applications in security, banking, and more.
This document discusses text detection and character recognition from images. It begins with an introduction and then discusses the aims, objectives, motivation and problem statement. It reviews relevant literature on segmentation and recognition techniques. The document then describes the methodology used, including preprocessing, segmentation using vertical projections and connected components, and recognition using pixel counting, projections, template matching, Fourier descriptors and heuristic filters. It presents results from four experiments comparing different segmentation and recognition methods. The discussion analyzes results and limitations. The conclusion finds that segmentation works best with connected components while recognition works best with template matching, Fourier descriptors and heuristic filters.
We seek to classify images into different emotions using a first 'intuitive' machine learning approach, then training models using convolutional neural networks and finally using a pretrained model for better accuracy.
Facial emotion recognition uses active shape modeling to identify 5 classes of emotions from facial images. It reconstructs facial models by labeling landmark features, performing shape modeling through principal component analysis and model fitting, and classifying emotions. The methodology was tested on a set of labeled images and achieved over 80% accuracy in emotion recognition according to the results.
This document discusses color image processing and different color models. It begins with an introduction and then covers color fundamentals such as brightness, hue, and saturation. It describes common color models like RGB, CMY, HSI, and YIQ. Pseudo color processing and full color image processing are explained. Color transformations between color models are also discussed. Implementation tips for interpolation methods in color processing are provided. The document concludes with thanks to the head of the computer science department.
In this presentation, we walk through what is Deep Learning in General, we see the anatomy of a typical Deep Learning Neural Network, how is it trained, how do we get the inference, optimisation of parameters, and regularising it. Then we dive deep into the Face Recognition technology, different paradigms and aspects of it. How do we train it, how are the features extracted, etc. We talk about the security as well.
This document discusses face detection techniques. It defines face detection as identifying regions in images that contain faces. Face detection is important for applications like security, video retrieval, and human-computer interfaces. The document categorizes face detection methods as either image-based, which use training to compare faces to non-faces, or knowledge-based, which detect facial features like skin, eyes and mouths. It provides examples of techniques within each category and notes that image-based methods are more complex while knowledge-based techniques are usually faster. The document concludes by outlining some open issues in face detection.
Drowsiness Detection using machine learning (1).pptxsathiyasowmi
The document describes a proposed system to detect driver drowsiness using OpenCV and machine learning techniques. The system would use computer vision and facial landmark detection on video from an in-vehicle camera to monitor the driver's eyes and mouth for signs of fatigue like blinking rate, yawning and prolonged eye closures. If drowsiness is detected, the system will alert the driver with an alarm sound and may also activate a self-driving mode if the driver's eyes are closed for over 60 seconds. The proposed system aims to reduce accidents caused by fatigued driving and promote road safety.
We will use 7 emotions namely - We have used 7 emotions namely - 'Angry', 'Disgust'濫, 'Fear', 'Happy', 'Neutral', 'Sad'☹️, 'Surprise' to train and test our algorithm using Convolution Neural Networks.
Image processing with OpenCV allows various techniques to manipulate digital images. Some key techniques include smoothing to remove noise, erosion and dilation to diminish or accentuate features, and edge detection algorithms like Sobel, Laplace, and Canny to find edges. The core OpenCV module provides functions for accessing pixel values, adjusting contrast and brightness, and drawing shapes. Feature detection identifies keypoints like edges, corners, and blobs, then describes the details around them for later matching against other images. Common algorithms include SURF, SIFT, and BRIEF for feature extraction and description and FLANN and BruteForce for feature matching.
The document discusses noise models and methods for removing additive noise from digital images. It describes several types of noise that can affect images, such as Gaussian, impulse, uniform, Rayleigh, gamma and exponential noise. It also presents various noise filters that can be used to remove noise, including mean filters like arithmetic, geometric and harmonic filters, and order statistics filters such as median, max, min and midpoint filters. The filters aim to reduce noise while retaining image detail as much as possible.
This document summarizes principal component analysis (PCA) and its application to face recognition. PCA is a technique used to reduce the dimensionality of large datasets while retaining the variations present in the dataset. It works by transforming the dataset into a new coordinate system where the greatest variance lies on the first coordinate (principal component), second greatest variance on the second coordinate, and so on. The document discusses how PCA can be used for face recognition by applying it to image datasets of faces. It reduces the dimensionality of the image data while preserving the key information needed to distinguish different faces. Experimental results show PCA provides reasonably accurate face recognition with low error rates.
Mat189: Cluster Analysis with NBA Sports DataKathleneNgo
The document discusses using cluster analysis techniques like K-Means and spectral clustering on NBA player statistics data. It begins by introducing machine learning concepts like supervised vs. unsupervised learning and definitions of clustering criteria. It then describes preprocessing the 27-dimensional player data into 2 dimensions using linear discriminant analysis (LDA) and principal component analysis (PCA) for visualization. K-Means clustering is applied to the LDA-reduced data, identifying distinct player groups. Spectral clustering will also be applied using PCA for comparison. The goal is to categorize players and determine the best athletes without prior basketball knowledge.
Scene Description From Images To SentencesIRJET Journal
This document presents an approach for generating sentences to describe images using distributed intelligence. It involves detecting objects in images using YOLO detection, finding relative positions of objects, labeling background scenes, generating tuples of objects/scenes/relations, extracting candidate sentences from Wikipedia containing tuple elements, searching images for each sentence and selecting the sentence whose images most closely match the input image. The approach is compared to the Babytalk model using BLEU and ROUGE scores, showing comparable performance. Future work to improve object detection and use larger knowledge sources is discussed.
With these components in place, we present the Data
Science Machine — an automated system for generating
predictive models from raw data. It starts with a relational
database and automatically generates features to be used
for predictive modeling.
This document provides an overview of clustering in machine learning. It discusses what clustering is, the different types of clustering including centroid-based, density-based, distribution-based, hierarchical, and grid-based clustering. It also provides examples of k-means clustering and discusses applications of clustering such as image recognition, biological research, and crime analysis.
Standard Statistical Feature analysis of Image Features for Facial Images usi...Bulbul Agrawal
This document compares Principal Component Analysis (PCA) and Independent Component Analysis (ICA) and their application to facial image analysis. It provides an introduction to both PCA and ICA, including their processes and differences. The document then summarizes previous literature comparing PCA and ICA, describes implementations of PCA for facial recognition on Japanese, African, and Asian datasets in MATLAB, and calculates statistical metrics for the original and recognized images. It concludes that PCA is effective for pattern recognition and dimensionality reduction in facial analysis applications.
SURVEY ON BRAIN – MACHINE INTERRELATIVE LEARNINGIRJET Journal
1) The document discusses the relationship between brain-machine learning and how artificial neural networks mimic the human brain. It explores how the brain learns tasks unconsciously over time through automated algorithms and how neural networks similarly learn through machine learning.
2) Key aspects of artificial neural networks like perceptrons are explained through mathematical equations. Perceptrons take in inputs, assign weights, and use threshold functions to determine outputs similar to biological neurons.
3) The relationship between artificial intelligence, machine learning, and neuroscience is interdependent. AI helps further understand the brain through modeling, while the brain's learning inspires new machine learning techniques. Both aim to automate tasks and recognize patterns from data.
1) Machine learning involves analyzing data to find patterns and make predictions. It uses mathematics, statistics, and programming.
2) Key aspects of machine learning include understanding the business problem, collecting and preparing data, building and evaluating models, and different types of machine learning algorithms like supervised, unsupervised, and reinforcement learning.
3) Common machine learning algorithms discussed include linear regression, logistic regression, KNN, K-means clustering, decision trees, and handling issues like missing values, outliers, and feature engineering.
This document summarizes the Matrix Mirrors project which uses statistical techniques like PCA, ICA and NMF to decompose face images into abstract components. The project created a database of 400 facial portraits and used the techniques to reconstruct the portraits from a small number of components. Even portraits not in the original database could be reconstructed with some error but enough accuracy for recognition. Statistical averages of portraits and groups like men and women showed how portraits converge to generic averages with only 50-100 portraits. The work aims to continue expanding the database to validate results across different groups.
Face Emotion Analysis Using Gabor Features In Image Database for Crime Invest...Waqas Tariq
The face is the most extraordinary communicator, which plays an important role in interpersonal relations and Human Machine Interaction. . Facial expressions play an important role wherever humans interact with computers and human beings to communicate their emotions and intentions. Facial expressions, and other gestures, convey non-verbal communication cues in face-to-face interactions. In this paper we have developed an algorithm which is capable of identifying a person’s facial expression and categorize them as happiness, sadness, surprise and neutral. Our approach is based on local binary patterns for representing face images. In our project we use training sets for faces and non faces to train the machine in identifying the face images exactly. Facial expression classification is based on Principle Component Analysis. In our project, we have developed methods for face tracking and expression identification from the face image input. Applying the facial expression recognition algorithm, the developed software is capable of processing faces and recognizing the person’s facial expression. The system analyses the face and determines the expression by comparing the image with the training sets in the database. We have followed PCA and neural networks in analyzing and identifying the facial expressions.
This document discusses face detection and recognition techniques using MATLAB. It begins with an abstract describing face detection as determining the location and size of faces in images and ignoring other objects. It then discusses implementing an algorithm to recognize faces from images in near real-time by calculating the difference between an input face and the average of faces in a training set. The document then provides details on various face recognition methods, the 5 step process of facial recognition, benefits and applications, and concludes that recent algorithms are much more accurate than older ones.
Performance characterization in computer visionpotaters
This document provides a tutorial on evaluating the performance of computer vision algorithms. It explains that properly characterizing performance through statistical analysis is important for advancing the field. The typical process involves running algorithms on test data and tracking true positives, false positives, etc. Performance is usually assessed using tools like ROC curves that account for the tradeoff between correctness and errors. Comparing multiple algorithms requires ensuring statistical significance and using standardized datasets.
Data Science - Part XVII - Deep Learning & Image ProcessingDerek Kane
This lecture provides an overview of Image Processing and Deep Learning for the applications of data science and machine learning. We will go through examples of image processing techniques using a couple of different R packages. Afterwards, we will shift our focus and dive into the topics of Deep Neural Networks and Deep Learning. We will discuss topics including Deep Boltzmann Machines, Deep Belief Networks, & Convolutional Neural Networks and finish the presentation with a practical exercise in hand writing recognition technique.
This document proposes a methodology for performing semantic analysis using MapReduce. It involves parsing XML files to create an in-memory tree structure representing relationships between entities. Mappers extract subject and object pairs from the XML and reducers calculate a semantic score by finding the shortest path between the objects in the tree. Experimental results show scores outputted in the format of user ID 1: user ID 2: score, with higher scores representing greater similarity between the users. The analysis concludes the scores accurately reflect the deeper level of matches between users' interests and this technique could be used to analyze user likeness at large scales.
The document provides an overview of dimensionality reduction techniques. It discusses linear dimensionality reduction methods like principal component analysis (PCA) as well as non-linear dimensionality reduction techniques. For non-linear dimensionality reduction, it describes the concept of manifolds and manifold learning. Specific manifold learning algorithms covered include Isomap, locally linear embedding (LLE), and applications of manifold learning.
This document describes a real-time facial expression recognition system that can handle low-resolution images and full head motion in real-world environments. The system uses background subtraction, head detection and pose estimation to analyze faces. It extracts location features like eye and mouth positions and shape features of the mouth region. A neural network then recognizes expressions like smile, anger and surprise from the features. The system aims to automatically recognize expressions in challenging real-world conditions like those in meetings, addressing limitations of prior systems.
CDS is the criminal face identification by capsule neural network.
Solving the common problems in image recognition such as illumination problem, scale variability, and to fight against a most common problem like pose problem, we are introducing Face Reconstruction System.
This document discusses indexing and manipulating data objects in R. It covers indexing one-dimensional objects like vectors and lists, as well as two-dimensional objects like matrices and data frames. Binary operators for comparisons like equality and inequality are also described. The key topics are:
1) Indexing values in data objects using integers, characters, or logical values and discussing one-dimensional vs multi-dimensional objects.
2) Comparing values within and between vectors using binary operators like equality ("==") and inequality ("!="). These operate element-wise on vectors.
3) Checking conditions on data using functions like "all()", "any()", and "which()" to subset objects based on logical criteria.
This document presents a novel algorithm for grouping 3D object models based on their appearance in a hierarchical structure, similar to human perception. The algorithm uses clustering to divide objects into subclasses and then further divides each subclass into predefined groups to build the hierarchy. Principal component analysis is used to compactly represent appearance models from multiple images of each object. Distances between manifolds, subspaces, and individual models are calculated to measure similarity and perform the grouping. The goal is to develop a more natural object classifier that mimics how humans differentiate and classify objects based on visual characteristics like shape, color, and texture.
Similar to Facial Expression Recognition via Python (20)
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Climate Impact of Software Testing at Nordic Testing Days
Facial Expression Recognition via Python
1. Data Science with Python
Facial Expression Recognition
Final Project Report - OPIM 5894 - Data Science with Python
Team Brogrammers: Santanu Paul, Sree Inturi, Saurav Gupta, Vibhuti Upadhyay, Sunender Pothula
Nov 30 2017
2. Table of Contents
Facial Expression Recognition .............................................................................................. 1
1. Introduction................................................................................................................................ 1
1.1 Background – What is Representation Learning? .......................................................................1
1.2 Research Objectives..................................................................................................................2
2. Data Description and Exploration.............................................................................................. 2
2.1 About the Dataset.................................................................................................................... 2
2.2 Data Exploration.......................................................................................................................3
2.3 Data Preprocessing...................................................................................................................4
3. Dimensionality Reduction.......................................................................................................... 4
3.1 Curse of Dimensionality............................................................................................................4
3.2 Principal Component Analysis...................................................................................................5
Takeaway from the plot: ........................................................................................................6
Visualizing the Eigen Value:..................................................................................................6
Interactive visualizations of PCArepresentation...............................................................7
Improvements:........................................................................................................................8
3.3 Linear Discriminant Analysis......................................................................................................9
4. Modeling................................................................................................................................... 11
4.1 Support Vector Machine .........................................................................................................11
4.2 Neural Networks.....................................................................................................................14
4.3 Conclusion..............................................................................................................................16
5. Scope for Improvement ........................................................................................................... 18
5.1 CNN (Convolutional Neural Network) And Parameter Tuning...................................................18
Attachments – Python Notebooks and Code.............................................................................. 19
3. 1
1. Introduction
1.1 Background– What is Representation Learning?
Talking about the older machine learning algorithms, they rely on the input being a
feature and then learn a classifier, regressor, etc. on top of that. Most of these features are
hand crafted, i.e. designed by humans. Classical examples of features in computer vision
include SIFT, LBP, etc. The problem with these is that they are designed by humans based
on heuristics. Images can be represented using these features and ML algorithms can be
applied on top of that. However, they may not be the most optimal in terms of the objective
function, i.e., it may be possible to design better features that can lead to lower objective
function values. Instead of hand crafting these image representations, we can learn them.
That is known as representation learning. We can have a neural network which takes the
image as an input and outputs a vector, which is the feature representation of the image. This
is the representation learner. This be followed by another neural network that acts as the
classifier, regressor, etc.
For example: A wheel has a geometric shape, but its image may be complicated by
shadows falling on the wheel, the sun glaring off the metal parts of the wheel, the fender of
the car or an object in the foreground obscuring part of the wheel, and so on. We can try to
manually describe how a wheel should look like and how it can be represented. Say, it should
be circular, be black in color, have treads, etc. But these are all hand-crafted features and
may not generalize to all situations. For example, if you look at the wheel from a different
angle, it might be oval in shape. Or the lighting may cause it to have lighter and darker
patches. These kinds of variations are hard to account for manually. Instead, we can let the
representation learning neural network learn them from data by giving it several positive and
negative examples of a wheel and training it end to end.
4. 2
1.2 ResearchObjectives
The major objective of this project is to classify an image using its facial expression.
(1) Image Classification
We are presenting a method for the classification of facial expression from the analysis of
facial deformations. The classification process is based on Convolutional Neural Networks which
classifies an image as “Happy” or “Sad”. Our Neural Network model extracts an expression
skeleton of facial features. We also demonstrate the efficiency of our classifier. Our classifier was
compared with PCA and LDA classifiers working on the same data.
2. Data Description and Exploration
The data set used in this project is Challenges in Representation Learning: Facial
Expression Recognition Challenge, which contains 48x48 pixel grayscale images of faces. The
faces have been automatically registered so that the face is more or less centered and occupies
about the same amount of space in each image. The task is to categorize each face based on
the emotion shown in the facial expression in to one of two categories (3=Happy, 4=Sad)
2.1 About the Dataset
The training set consists of 15,066 examples (Happy:8989, Sad:6077) and two columns,
"emotion" and "pixels”. The "emotion" column contains a numeric code i.e. 3 & 4, inclusive, for
the emotion that is present in the image. The "pixels" column contains a string surrounded in
quotes for each image. The contents of this string a space-separated pixel values in row major
order.
Similarly test set used for the leaderboard consists of 3,589 examples and contains only
the "pixels" column and our task is to predict the emotion (Happy or Sad)
There were no missing values in our data set, it was a clean dataset.
Value Counts of our data points: Our data set is quite balanced.
5. 3
Screenshotofdata
2.2 Data Exploration
As we had pixel information in the pixel column, our first goal is to split the pixel column into multiple fields,
so that we get a rough idea how a final 48*48 picture looks like.
6. 4
Let’s see how the emotions looks like
Happy Face Sad Face
2.3 Data Preprocessing
Standardization: Standardization is a good practice for many machine learning algorithms.
Although our data is on the same scale i.e. values (1 to 255) we still preferred to do Standardize
our data.
3. Dimensionality Reduction
3.1 Curse of Dimensionality
This term has often been thrown about, especially when PCA, LDA is thrown into the mix.
This phrase refers to how our perfectly good and reliable Machine Learning methods may
suddenly perform badly when we are dealing in a very high-dimensional space. But what exactly
do all these two acronyms do? They are essentially transformation methods used for
dimensionality reduction. Therefore, if we are able to project our data from a higher-dimensional
space to a lower one while keeping most of the relevant information, that would make life a lot
easier for our learning methods.
In our data, there are 48 X 48 pixel images of data contributing to 2307 columns.Modeling
in such high dimensional space our model could perform badly so it’s perfect time to introduce
Dimensionality Reduction methods.
7. 5
3.2 PrincipalComponentAnalysis
In a nutshell, PCA is a linear transformation algorithm that seeks to project the original
features of our data onto a smaller set of features (or subspace) while still retaining most of the
information. To do this the algorithm tries to find the most appropriate directions/angles (which
are the principal components) that maximize the variance in the new subspace.
We know that principal components are orthogonal to each other. As such when
generating the covariance matrix in our new subspace, the off-diagonal values of the covariance
matrix will be zero and only the diagonals (or eigenvalues) will be non-zero. It is these diagonal
values that represent the variances of the principal components i.e. the information about the
variability of our features.
This is how our final preprocessed data looks like:
The method follows:
1. Standardize the data (already done)
2. Calculating Eigen Vectors and Eigen Values of Covariance matrix
3. Create a list of (Eigen Value, Eigen Vector) tuples
8. 6
4. Sort the Eigen Value, Eigen Vector pair from high to low
5. Calculate the explained variance from Eigen Values
Takeaway from the plot:
There are two plots above, a smaller one embedded within the larger plot. The smaller
plot (Green and Red) shows the distribution of the Individual and Explained variances across all
features while the larger plot (Golden and black) portrays a zoomed section of the explained
variances only.
As we can see, out of our 2304 features or columns approximately 90% of the Explained
Variance can be described by using just over 107 features. So, if we wanted to implement a PCA
on this, extracting the top 107 features would be a very logical choice as they already account for
the majority of the data
Visualizing the Eigen Value:
As alluded to above, since the PCA method seeks to obtain the optimal directions (or
eigenvectors) that captures the most variance (spreads out the data points the most). Therefore,
9. 7
it may be informative to visualize these directions and their associated eigenvalues. For the
purposes of this notebook and for speed, I will invoke PCA to only extract the top 28. Of interest
is when one compares the first component "Eigenvalue 1" to the 28th component "Eigenvalue
28", it is obvious that more complicated directions or components are being generated in the
search to maximize variance in the new feature subspace.
Interactive visualizations of PCA representation
When it comes to these dimensionality reduction methods, scatter plots are most
commonly implemented because they allow for great and convenient visualizations of clustering
(if any existed) and this will be exactly what we will be doing as we plot the first 2 principal
components as follows. We observed that there are no observable clusters for first two Principal
Components.
10. 8
Improvements:
Looking at the reconstruction of the original image vs the image generated after PCA, it appears
that reconstructed images are not very similar to the original ones so as to discern them
categorically. Facial expressions can be subtle and lot more information will be needed to detect
them.
Sometimes, even naked eyes fail to understand the reconstructed images' emotions. Hence,
90% is not enough information. Let's move to 95% variance (259 components)
11. 9
But as we know PCA is meant to be an unsupervised method and therefore not optimized for
separating different class labels. Classifying more accurately is what we try to accomplish by the
very next method i.e. LDA.
3.3 Linear DiscriminantAnalysis
LDA, much like PCA is also a linear transformation method commonly used in
dimensionality reduction tasks. However, unlike the latter which is an unsupervised learning
algorithm, LDA falls into the class of supervised learning methods. As such the goal of LDA is that
with available information about class labels, LDA will seek to maximize the separation between
the different classes by computing the component axes (linear discriminants) which does this.
LDA Implementation from Scratch
The objective of LDA is to preserve the class separation information whilst still reducing
the dimensions of the dataset. As such implementing the method from scratch can roughly be
split into 4 distinct stages as below.
A. Projected Means
Since this method was designed to take into account class labels we therefore first need to
establish a suitable metric with which to measure the 'distance' or separation between different
12. 10
classes. Let's assume that we have a set of data points x that belong to one particular class w.
Therefore, in LDA the first step is to the project these points onto a new line, Y that contains the
class-specific information via the transformation
$$Y = omega^intercal x $$
With this the idea is to find some method that maximizes the separation of these new projected
variables. To do so, we first calculate the projected mean.
B. Scatter Matrices and their solutions: Having introduced our projected means, we now need
to find a function that can represent the difference between the means and then maximize it. Like
in linear regression, where the most basic case is to find the line of best fit we need to find the
equivalent of the variance in this context. And hence this is where we introduce scatter matrices
where the scatter is the equivalent of the variance.
$$ tilde{S}^{2} = (y - tilde{mu})^{2}$$
C. Selecting Optimal Projection Matrices
D. Transforming features onto new subspace
LDA Implementation via Sklearn: We used Sklearn inbuilt LDA function and hence we invoke
an LDA model as follows:
The syntax for the LDA implementation is very much like PCA whereby one calls the fit and
transform methods which fits the LDA model with the data and then does a transformation by
applying the LDA dimensionality reduction to it. However, since LDA is a supervised learning
algorithm, there is a second argument to the method that the user must provide and this would
be the class labels, which in this case is the target labels of the digits.
13. 11
Interactive visualizations of LDA representation:
From the scatter plot above, we can see that the data points are more clearly clustered when
using LDA with as compared to implementing PCA with class labels. This is an inherent advantage
in having class labels to supervise the method with.
4. Modeling
4.1 SupportVectorMachine
SVM can be considered as an extension of the perceptron. Using the perceptron algorithm, we
can minimize misclassification errors. However, in SVMs, our optimization objective is
to maximize the margin between the classes. The margin is defined as the distance between the
separating hyperplane (decision boundary) and the training samples (support vectors) that are
closest to this hyperplane.
14. 12
Input X: Components from PCA i.e. 107
Running a SVM classifier with default parameters on it we get the accuracy of 62%
Input X: Components from PCA i.e. 259 components.
Running a SVM classifier with default parameters on it we get the accuracy of 65%
16. 14
Input X: Output from LDA, i.e. LD 1
Running a SVM classifier with default parameters we get accuracy of 66.4%
Misclassification rate is 33.6%, we will try to fit a neural network model so that our model classifies
with more accuracy.
4.2 NeuralNetworks
A computational model that works in a similar way to the neurons in the human brain.
Each neuron takes an input, performs some operations then passes the output to the following
neuron. As we are done pre-processing and splitting our dataset we can start implementing our
neural network
We have designed a simple neural network with one hidden layer i.e. Vanilla NN with 50
nodes and the Hyperbolic Tangent Activation Function
17. 15
We have used a simple neural network with one hidden layers having 50 nodes. The learning
rate used is also quite low in order to find the optimum solution. A mix of gradient descent and
momentum method is used. Tangent hyperbolic function is applied in the hidden layer, and a
cross entropy loss function is used from the softmax output. An accuracy of 65.8% was
achieved.
18. 16
The maximum accuracy is achieved rather quickly in this method using gradient descent and
momentum.
4.3 Conclusion
As our model is misclassifying 33 times out of 100. We tried to look at the initial image,
what features it is not able to predict right. Pictures like following is what our model is not able to
predict right. Maybe because of the hair or the eyes or maybe because of the lightning. As the
image set is very discrete there may be some error there. Because of the time constraint we
were not able to run CNN (Convolutional Neural Network) on the dataset. But that would be our
next step.
19. 17
Many pictures in our data had watermarks just like this one, which were misclassified. Majority
of our training data doesn’t have watermarks, that is also the reason it is not able to classify to
the maximum capacity.
20. 18
5. Scope for Improvement
5.1 CNN (ConvolutionalNeural Network)And ParameterTuning
We were not able to tune the parameters of our neural network model because of time
crunch and it took a lot of time in training this huge dataset. So, going forward not for the grades
but for our self-learning we will be focusing on Tenserflow and CNN.
Traditional neural networks that are very good at doing image classification have many
more parameters and take a lot of time if trained on CPU. They are faster and are applied heavily
in image and video recognition, recommender systems and natural language processing. CNNs
share weights in convolutional layers, which means that the same filter weights bank is used for
each receptive field in the layer; this reduces memory footprint and improves performance.
21. 19
Attachments – Python Notebooks and Code
1.Python Project_Image Classification.ipynb
Initial Data exploration and Preprocessing. Dimensionality Reduction by PCA, LDA
2. Python Project_Image Classification2.ipynb
SVM Implementation on top of PCA and LDA (Comparison)
3. Vanilla Neural Network.ipynb
Neural Network Implementation