Found 295 repositories(showing 30)
dhvanikotak
The aim of this work is to recognize the six emotions (happiness, sadness, disgust, surprise, fear and anger) based on human facial expressions extracted from videos. To achieve this, we are considering people of different ethnicity, age and gender where each one of them reacts very different when they express their emotions. We collected a data set of 149 videos that included short videos from both, females and males, expressing each of the the emotions described before. The data set was built by students and each of them recorded a video expressing all the emotions with no directions or instructions at all. Some videos included more body parts than others. In other cases, videos have objects in the background an even different light setups. We wanted this to be as general as possible with no restrictions at all, so it could be a very good indicator of our main goal. The code detect_faces.py just detects faces from the video and we saved this video in the dimension 240x320. Using this algorithm creates shaky videos. Thus we then stabilized all videos. This can be done via a code or online free stabilizers are also available. After which we used the stabilized videos and ran it through code emotion_classification_videos_faces.py. in the code we developed a method to extract features based on histogram of dense optical flows (HOF) and we used a support vector machine (SVM) classifier to tackle the recognition problem. For each video at each frame we extracted optical flows. Optical flows measure the motion relative to an observer between two frames at each point of them. Therefore, at each point in the image you will have two values that describes the vector representing the motion between the two frames: the magnitude and the angle. In our case, since videos have a resolution of 240x320, each frame will have a feature descriptor of dimensions 240x320x2. So, the final video descriptor will have a dimension of #framesx240x320x2. In order to make a video comparable to other inputs (because inputs of different length will not be comparable with each other), we need to somehow find a way to summarize the video into a single descriptor. We achieve this by calculating a histogram of the optical flows. This is, separate the extracted flows into categories and count the number of flows for each category. In more details, we split the scene into a grid of s by s bins (10 in this case) in order to record the location of each feature, and then categorized the direction of the flow as one of the 8 different motion directions considered in this problem. After this, we count for each direction the number of flows occurring in each direction bin. Finally, we end up with an s by s by 8 bins descriptor per each frame. Now, the summarizing step for each video could be the average of the histograms in each grid (average pooling method) or we could just pick the maximum value of the histograms by grid throughout all the frames on a video (max pooling For the classification process, we used support vector machine (SVM) with a non linear kernel classifier, discussed in class, to recognize the new facial expressions. We also considered a Naïve Bayes classifier, but it is widely known that svm outperforms the last method in the computer vision field. A confusion matrix can be made to plot results better.
Aryia-Behroziuan
An ANN is a model based on a collection of connected units or nodes called "artificial neurons", which loosely model the neurons in a biological brain. Each connection, like the synapses in a biological brain, can transmit information, a "signal", from one artificial neuron to another. An artificial neuron that receives a signal can process it and then signal additional artificial neurons connected to it. In common ANN implementations, the signal at a connection between artificial neurons is a real number, and the output of each artificial neuron is computed by some non-linear function of the sum of its inputs. The connections between artificial neurons are called "edges". Artificial neurons and edges typically have a weight that adjusts as learning proceeds. The weight increases or decreases the strength of the signal at a connection. Artificial neurons may have a threshold such that the signal is only sent if the aggregate signal crosses that threshold. Typically, artificial neurons are aggregated into layers. Different layers may perform different kinds of transformations on their inputs. Signals travel from the first layer (the input layer) to the last layer (the output layer), possibly after traversing the layers multiple times. The original goal of the ANN approach was to solve problems in the same way that a human brain would. However, over time, attention moved to performing specific tasks, leading to deviations from biology. Artificial neural networks have been used on a variety of tasks, including computer vision, speech recognition, machine translation, social network filtering, playing board and video games and medical diagnosis. Deep learning consists of multiple hidden layers in an artificial neural network. This approach tries to model the way the human brain processes light and sound into vision and hearing. Some successful applications of deep learning are computer vision and speech recognition.[68] Decision trees Main article: Decision tree learning Decision tree learning uses a decision tree as a predictive model to go from observations about an item (represented in the branches) to conclusions about the item's target value (represented in the leaves). It is one of the predictive modeling approaches used in statistics, data mining, and machine learning. Tree models where the target variable can take a discrete set of values are called classification trees; in these tree structures, leaves represent class labels and branches represent conjunctions of features that lead to those class labels. Decision trees where the target variable can take continuous values (typically real numbers) are called regression trees. In decision analysis, a decision tree can be used to visually and explicitly represent decisions and decision making. In data mining, a decision tree describes data, but the resulting classification tree can be an input for decision making. Support vector machines Main article: Support vector machines Support vector machines (SVMs), also known as support vector networks, are a set of related supervised learning methods used for classification and regression. Given a set of training examples, each marked as belonging to one of two categories, an SVM training algorithm builds a model that predicts whether a new example falls into one category or the other.[69] An SVM training algorithm is a non-probabilistic, binary, linear classifier, although methods such as Platt scaling exist to use SVM in a probabilistic classification setting. In addition to performing linear classification, SVMs can efficiently perform a non-linear classification using what is called the kernel trick, implicitly mapping their inputs into high-dimensional feature spaces. Illustration of linear regression on a data set. Regression analysis Main article: Regression analysis Regression analysis encompasses a large variety of statistical methods to estimate the relationship between input variables and their associated features. Its most common form is linear regression, where a single line is drawn to best fit the given data according to a mathematical criterion such as ordinary least squares. The latter is often extended by regularization (mathematics) methods to mitigate overfitting and bias, as in ridge regression. When dealing with non-linear problems, go-to models include polynomial regression (for example, used for trendline fitting in Microsoft Excel[70]), logistic regression (often used in statistical classification) or even kernel regression, which introduces non-linearity by taking advantage of the kernel trick to implicitly map input variables to higher-dimensional space. Bayesian networks Main article: Bayesian network A simple Bayesian network. Rain influences whether the sprinkler is activated, and both rain and the sprinkler influence whether the grass is wet. A Bayesian network, belief network, or directed acyclic graphical model is a probabilistic graphical model that represents a set of random variables and their conditional independence with a directed acyclic graph (DAG). For example, a Bayesian network could represent the probabilistic relationships between diseases and symptoms. Given symptoms, the network can be used to compute the probabilities of the presence of various diseases. Efficient algorithms exist that perform inference and learning. Bayesian networks that model sequences of variables, like speech signals or protein sequences, are called dynamic Bayesian networks. Generalizations of Bayesian networks that can represent and solve decision problems under uncertainty are called influence diagrams. Genetic algorithms Main article: Genetic algorithm A genetic algorithm (GA) is a search algorithm and heuristic technique that mimics the process of natural selection, using methods such as mutation and crossover to generate new genotypes in the hope of finding good solutions to a given problem. In machine learning, genetic algorithms were used in the 1980s and 1990s.[71][72] Conversely, machine learning techniques have been used to improve the performance of genetic and evolutionary algorithms.[73] Training models Usually, machine learning models require a lot of data in order for them to perform well. Usually, when training a machine learning model, one needs to collect a large, representative sample of data from a training set. Data from the training set can be as varied as a corpus of text, a collection of images, and data collected from individual users of a service. Overfitting is something to watch out for when training a machine learning model. Federated learning Main article: Federated learning Federated learning is an adapted form of distributed artificial intelligence to training machine learning models that decentralizes the training process, allowing for users' privacy to be maintained by not needing to send their data to a centralized server. This also increases efficiency by decentralizing the training process to many devices. For example, Gboard uses federated machine learning to train search query prediction models on users' mobile phones without having to send individual searches back to Google.[74] Applications There are many applications for machine learning, including: Agriculture Anatomy Adaptive websites Affective computing Banking Bioinformatics Brain–machine interfaces Cheminformatics Citizen science Computer networks Computer vision Credit-card fraud detection Data quality DNA sequence classification Economics Financial market analysis[75] General game playing Handwriting recognition Information retrieval Insurance Internet fraud detection Linguistics Machine learning control Machine perception Machine translation Marketing Medical diagnosis Natural language processing Natural language understanding Online advertising Optimization Recommender systems Robot locomotion Search engines Sentiment analysis Sequence mining Software engineering Speech recognition Structural health monitoring Syntactic pattern recognition Telecommunication Theorem proving Time series forecasting User behavior analytics In 2006, the media-services provider Netflix held the first "Netflix Prize" competition to find a program to better predict user preferences and improve the accuracy of its existing Cinematch movie recommendation algorithm by at least 10%. A joint team made up of researchers from AT&T Labs-Research in collaboration with the teams Big Chaos and Pragmatic Theory built an ensemble model to win the Grand Prize in 2009 for $1 million.[76] Shortly after the prize was awarded, Netflix realized that viewers' ratings were not the best indicators of their viewing patterns ("everything is a recommendation") and they changed their recommendation engine accordingly.[77] In 2010 The Wall Street Journal wrote about the firm Rebellion Research and their use of machine learning to predict the financial crisis.[78] In 2012, co-founder of Sun Microsystems, Vinod Khosla, predicted that 80% of medical doctors' jobs would be lost in the next two decades to automated machine learning medical diagnostic software.[79] In 2014, it was reported that a machine learning algorithm had been applied in the field of art history to study fine art paintings and that it may have revealed previously unrecognized influences among artists.[80] In 2019 Springer Nature published the first research book created using machine learning.[81] Limitations Although machine learning has been transformative in some fields, machine-learning programs often fail to deliver expected results.[82][83][84] Reasons for this are numerous: lack of (suitable) data, lack of access to the data, data bias, privacy problems, badly chosen tasks and algorithms, wrong tools and people, lack of resources, and evaluation problems.[85] In 2018, a self-driving car from Uber failed to detect a pedestrian, who was killed after a collision.[86] Attempts to use machine learning in healthcare with the IBM Watson system failed to deliver even after years of time and billions of dollars invested.[87][88] Bias Main article: Algorithmic bias Machine learning approaches in particular can suffer from different data biases. A machine learning system trained on current customers only may not be able to predict the needs of new customer groups that are not represented in the training data. When trained on man-made data, machine learning is likely to pick up the same constitutional and unconscious biases already present in society.[89] Language models learned from data have been shown to contain human-like biases.[90][91] Machine learning systems used for criminal risk assessment have been found to be biased against black people.[92][93] In 2015, Google photos would often tag black people as gorillas,[94] and in 2018 this still was not well resolved, but Google reportedly was still using the workaround to remove all gorillas from the training data, and thus was not able to recognize real gorillas at all.[95] Similar issues with recognizing non-white people have been found in many other systems.[96] In 2016, Microsoft tested a chatbot that learned from Twitter, and it quickly picked up racist and sexist language.[97] Because of such challenges, the effective use of machine learning may take longer to be adopted in other domains.[98] Concern for fairness in machine learning, that is, reducing bias in machine learning and propelling its use for human good is increasingly expressed by artificial intelligence scientists, including Fei-Fei Li, who reminds engineers that "There’s nothing artificial about AI...It’s inspired by people, it’s created by people, and—most importantly—it impacts people. It is a powerful tool we are only just beginning to understand, and that is a profound responsibility.”[99] Model assessments Classification of machine learning models can be validated by accuracy estimation techniques like the holdout method, which splits the data in a training and test set (conventionally 2/3 training set and 1/3 test set designation) and evaluates the performance of the training model on the test set. In comparison, the K-fold-cross-validation method randomly partitions the data into K subsets and then K experiments are performed each respectively considering 1 subset for evaluation and the remaining K-1 subsets for training the model. In addition to the holdout and cross-validation methods, bootstrap, which samples n instances with replacement from the dataset, can be used to assess model accuracy.[100] In addition to overall accuracy, investigators frequently report sensitivity and specificity meaning True Positive Rate (TPR) and True Negative Rate (TNR) respectively. Similarly, investigators sometimes report the false positive rate (FPR) as well as the false negative rate (FNR). However, these rates are ratios that fail to reveal their numerators and denominators. The total operating characteristic (TOC) is an effective method to express a model's diagnostic ability. TOC shows the numerators and denominators of the previously mentioned rates, thus TOC provides more information than the commonly used receiver operating characteristic (ROC) and ROC's associated area under the curve (AUC).[101] Ethics Machine learning poses a host of ethical questions. Systems which are trained on datasets collected with biases may exhibit these biases upon use (algorithmic bias), thus digitizing cultural prejudices.[102] For example, using job hiring data from a firm with racist hiring policies may lead to a machine learning system duplicating the bias by scoring job applicants against similarity to previous successful applicants.[103][104] Responsible collection of data and documentation of algorithmic rules used by a system thus is a critical part of machine learning. Because human languages contain biases, machines trained on language corpora will necessarily also learn these biases.[105][106] Other forms of ethical challenges, not related to personal biases, are more seen in health care. There are concerns among health care professionals that these systems might not be designed in the public's interest but as income-generating machines. This is especially true in the United States where there is a long-standing ethical dilemma of improving health care, but also increasing profits. For example, the algorithms could be designed to provide patients with unnecessary tests or medication in which the algorithm's proprietary owners hold stakes. There is huge potential for machine learning in health care to provide professionals a great tool to diagnose, medicate, and even plan recovery paths for patients, but this will not happen until the personal biases mentioned previously, and these "greed" biases are addressed.[107] Hardware Since the 2010s, advances in both machine learning algorithms and computer hardware have led to more efficient methods for training deep neural networks (a particular narrow subdomain of machine learning) that contain many layers of non-linear hidden units.[108] By 2019, graphic processing units (GPUs), often with AI-specific enhancements, had displaced CPUs as the dominant method of training large-scale commercial cloud AI.[109] OpenAI estimated the hardware compute used in the largest deep learning projects from AlexNet (2012) to AlphaZero (2017), and found a 300,000-fold increase in the amount of compute required, with a doubling-time trendline of 3.4 months.[110][111] Software Software suites containing a variety of machine learning algorithms include the following: Free and open-source so
Shivadharshini-V
This project implements a fingerprint recognition system using ORB for feature extraction and SVM for classification in Python. It preprocesses fingerprint images, trains a machine learning model, and predicts the person ID from new inputs. The system is designed for beginners to learn biometric authentication and image processing.
Agricultural productivity is something on which economy highly depends. This is the one of the reasons that disease detection in plants plays an important role in agriculture field, as having disease in plants are quite natural. If proper care is not taken in this area then it causes serious effects on plants and due to which respective product quality, quantity or productivity is affected. For instance a disease named little leaf disease is a hazardous disease found in pine trees in United States. Detection of plant disease through some automatic technique is beneficial as it reduces a large work of monitoring in big farms of crops, and at very early stage itself it detects the symptoms of diseases i.e. when they appear on plant leaves. This paper introduces an efficient approach to identify healthy and diseased or an infected leaf using image processing and machine learning techniques. Various diseases damage the chlorophyll of leaves and affect with brown or black marks on the leaf area. These can be detected using image prepossessing, image segmentation. Support Vector Machine (SVM) is one of the machine learning algorithms is used for classification. The Convolutional Neural Network (CNN) resulted in a improved accuracy of recognition compared to the SVM approach.
noureldien
Scene recognition using multiple feature extractors (tiny-images, D-SIFT, BoVW, PHoW) and different classifiers (KNN, SVM).
taowucheng1026
A synthetic approach is proposed for hand motion recognition with surface EMG signals. We used CNN features which were automatically extracted from the raw input image for three traditional classifiers: Linear Discriminant Analysis (LDA), Support Vector Machine (SVM) and K Nearest Neighbor (KNN).
Basic gesture recognition which uses opencv to process images and SVM for classification of the gestures.
viditkumar
Project includes Character Recognition using Bayesian classifier, GMM based image segmentation, Face recognition using PCA & Multi-class SVM classifier with radial basis function.
sadam-99
Support Vector Machine (SVM) based emotion recognition in static images, videos and in Real Time as well in Python with an accuracy of around 93.7%.
premkjain
This OCR project leverages ML models like Random Forest, KNN, SVM, and GMM to convert images to text. It includes preprocessing, model training, and evaluation, aimed at optimizing text recognition from diverse images.
pratishtha-agarwal
It performs Facial recognition with high accuracy. This attendance project uses webcam to detect faces and records the attendance live in an excel sheet. In order to determine the distinctive aspects of the faces based on distance, convolutional neural networks are used. All you need to do is stand in front of the camera and your face is verified instantly in milliseconds, without recording the attendance more than once. Facial recognition systems are commonly used for verification and security purposes but the levels of accuracy are still being improved. Errors occurring in facial feature detection due to occlusions, pose and illumination changes can be compensated by the use of hog descriptors. The most reliable way to measure a face is by employing deep learning techniques. The final step is to train a classifier that can take in the measurements from a new test image and tells which known person is the closest match. A python based application is being developed to recognize faces in all conditions. We study the question of feature sets for robust visual object recognition; adopting linear SVM based human detection as a test case. After reviewing existing edge and gradient based descriptors, we show experimentally that grids of histograms of oriented gradient (HOG) descriptors significantly outperform existing feature sets for human detection. We study the influence of each stage of the computation on performance, concluding that fine-scale gradients, fine orientation binning, relatively coarse spatial binning, and high-quality local contrast normalization in overlapping descriptor blocks are all important for good results. The new approach gives near-perfect separation on the original MIT pedestrian database, so we introduce a more challenging dataset containing over 1800 annotated human images with a large range of pose variations and backgrounds.
rohit-vg
Support Vector Machine (SVM) and KNN for face recognition with options of PCA, LDA and image resizing.
trannhan
Linear regression, logistic regression, polynomial regression, multiclass classification, neural networks, KMeans, Principle Component Analysis (PCA), and Support Vector Machine (SVM). Fun machine learning applications: hand-written digit recognition model, spam email filter, image compression, anomaly detection model, and movie recommendation system.
jasonpan666
•Hybrid Image, Image Pyramid, Edge Detection •Detection, Description, and Matching •Face Recognition using Eigenface and Fisherface methods •Scene Recognition with Bag of Words •Final Project: Deep Convolutional Neural Network (CNN) and Support Vector Machine (SVM) in Pet Image Recognition
arf111
Recognition of character from images using machine learning algorithms (SVM, KNN).
xxsong5
numerical recognition in image. This is the code for number(0-9) recognition in image by using SVM Classifier and HOG descripter. And the main algorithm was packed as classes in imgDistis.cpp
li-xirong
SVM based image concept recognition
abdullah1772
No description available
zEuSsE
Pyramid Kernel Match Object Recognition in Image using SVM,LibPMK and VLFeat
Nupur-Srivastava
This is project on digits recognition using SVM and others python tools like numpy, pandas and matplotlib. This model recognize digits using images
MohaYass92
Emotion Recognition using HOG & SVM, This project classifies facial emotions using Histogram of Oriented Gradients (HOG) for feature extraction and Support Vector Machine (SVM) for classification. It processes facial images from seven emotion categories.
jahnavi-chowdary
Developing a framework for recognizing the species of a given flower. Implementation pipeline included Image Segmentation using 'Bi-level Co-Segmentation Method' followed by Image Classificatin/Recognition which includes feature extraction and then classification using SVM.
Classify handwritten digits using machine learning techniques Yan Liang, Yunzhi Wang and Delong Zhao Project scope For our machine learning project, we propose to build several machine learning classifiers that recognize handwritten digits. Handwritten digit recognition is a classic problem in machine learning studies for many years. We plan to do several experiments using different machine learning algorithms and compare the pattern recognition performance. We hope to create a classifier that has same or better categorization accuracy than record performance from previous studies. Yan will focus on neural network, Delong will focus on the random forests methods, and Yunzhi will focus on SVMs and KNNs. We will also develop a final novel classifier that combines the best models from our different experiments. We hypothesize that the final classifier will archive a categorization accuracy of 0.99. This indicates that the classifier correctly classified all the handwritten digits but 1% of the images. The goal of handwritten digit recognition is to determine what digit is from an image of a single handwritten digit. It can be used to test pattern recognition theories and machine learning algorithms. Preprocessed standard handwritten digit image database has been developed to compare different digit recognizers. In our semester project, we will use modified National Institute of Standards and Technology (MNIST) handwritten digit images dataset from kaggle digit recognizer project. The Kaggle MNIST dataset is freely available and collected 28,000 training images and 42,000 test images. Each image is a preprocessed single black and white digit image with 28 x 28 pixels. Each pixel is an integer value range from 0 to 255 which represent the brightness of the pixel, the higher value meaning darker. Each image also has a label which is the correct digit for the handwritten image. For each input handwritten image, our model will output which digit we predict and evaluate with the correct label. We will use 28,000 training images to train our machine learning model and use 42,000 test images to test the performance. Then we will calculate the percentage of the test images that are correctly classified and compare the performance of different machine learning algorithms.
Sinhala handwritten character recognition system based on image processing concepts and Machine Learning approach.Isolated sinhala handwritten characters are taken as inputs and corresponding unicode character displays after going through several processes. As the feature extraction process I have proposed main three approaches; Ratio based Freeman Chain Code algorithm, Zone based density features and distance profile based approach. CSV file includes features corresponding to each sinhala handwritten characters. Support Vector Machine (SVM) Machine Learning approach is used as the train model.
Hassankhalaf26
🚦 AI-Based Traffic Sign Recognition System using Flask and SVM This project is a web-based system for recognizing German traffic signs from images using a Support Vector Machine (SVM) model. It includes a trained model, image preprocessing pipeline, and an interactive Flask frontend.
Developed a hybrid CNN-SVM model for classifying SAR images of military vehicles (e.g., 2S1, BRDM_2, BTR60). Used CNN for feature extraction and SVM for accurate classification. Enhanced Automatic Target Recognition (ATR) in SAR imagery with improved precision and scalability.
Master 1 project . Recently, deep learning models have drastically outperformed benchmark results on miscellaneous datasets. It’s has become state-of-art in various domain especially computer vision and speech recognition. This breakthrough in artifi- cial intelligence is associated with the availability of massive amount datasets and the high computing power. However, to train a deep learning model over a massive dataset makes the training slow and memory consuming. The target is to build models that generalize well on new examples in a reasonable time. In this study, we address the problem of images classification by implementing different machine learning and deep learning algorithms. Then, we make a performance analysis on this methods under the accuracy criterion in order to show the efficiency and the contribution of deep learning. To do so, we’ve choosen linear and non-linear learn- ing algorithms which are: Logistic Regression, Multi Layer Perceptron (MLP) , Support Vector Machine (SVM) and Convolutional Neural Networks (CNNs) tested on MNIST and CIFAR-10 datasets by applying the standard version of gradient descent optimization algorithm.
SmoKerIV
No description available
RobertLevett
Matlab implementation of Image recognition using SVM, kNN and CNN.
Golnaz-spa
Use SVM model for Image Recognition. SVM model with only SVM model with kernel:'linear' and SVM with 'kernel':['linear','rbf','poly']