All Projects → hkhojasteh → Bag-of-Visual-Words

hkhojasteh / Bag-of-Visual-Words

Licence: GPL-3.0 license
🎒 Bag of Visual words (BoW) approach for object classification and detection in images together with SIFT feature extractor and SVM classifier.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Bag-of-Visual-Words

pghumor
Is This a Joke? Humor Detection in Spanish Tweets
Stars: ✭ 48 (+23.08%)
Mutual labels:  classifier, svm
ML4K-AI-Extension
Use machine learning in AppInventor, with easy training using text, images, or numbers through the Machine Learning for Kids website.
Stars: ✭ 18 (-53.85%)
Mutual labels:  classifier, image-classification
Vehicle Detection And Tracking
Udacity Self-Driving Car Engineer Nanodegree. Project: Vehicle Detection and Tracking
Stars: ✭ 60 (+53.85%)
Mutual labels:  classifier, svm
Stagesepx
detect stages in video automatically
Stars: ✭ 293 (+651.28%)
Mutual labels:  svm, image-classification
image features
Extract deep learning features from images using simple python interface
Stars: ✭ 84 (+115.38%)
Mutual labels:  feature-extraction, image-classification
Pytorch classification
利用pytorch实现图像分类的一个完整的代码,训练,预测,TTA,模型融合,模型部署,cnn提取特征,svm或者随机森林等进行分类,模型蒸馏,一个完整的代码
Stars: ✭ 395 (+912.82%)
Mutual labels:  svm, image-classification
Scene Text Recognition
Scene text detection and recognition based on Extremal Region(ER)
Stars: ✭ 146 (+274.36%)
Mutual labels:  classifier, svm
ezSIFT
ezSIFT: An easy-to-use standalone SIFT library written in C/C++
Stars: ✭ 80 (+105.13%)
Mutual labels:  feature-extraction, sift
pyAudioProcessing
Audio feature extraction and classification
Stars: ✭ 165 (+323.08%)
Mutual labels:  classifier, feature-extraction
golinear
liblinear bindings for Go
Stars: ✭ 45 (+15.38%)
Mutual labels:  classifier, svm
Computer Vision Guide
📖 This guide is to help you understand the basics of the computerized image and develop computer vision projects with OpenCV. Includes Python, Java, JavaScript, C# and C++ examples.
Stars: ✭ 244 (+525.64%)
Mutual labels:  feature-extraction, image-classification
sentiment-analysis-using-python
Large Data Analysis Course Project
Stars: ✭ 23 (-41.03%)
Mutual labels:  classifier, svm
Imageclassification
Deep Learning: Image classification, feature visualization and transfer learning with Keras
Stars: ✭ 83 (+112.82%)
Mutual labels:  feature-extraction, image-classification
Machinelearnjs
Machine Learning library for the web and Node.
Stars: ✭ 498 (+1176.92%)
Mutual labels:  svm, feature-extraction
Medpy
Medical image processing in Python
Stars: ✭ 321 (+723.08%)
Mutual labels:  feature-extraction, image-classification
Keras transfer cifar10
Object classification with CIFAR-10 using transfer learning
Stars: ✭ 120 (+207.69%)
Mutual labels:  classifier, image-classification
Speech signal processing and classification
Front-end speech processing aims at extracting proper features from short- term segments of a speech utterance, known as frames. It is a pre-requisite step toward any pattern recognition problem employing speech or audio (e.g., music). Here, we are interesting in voice disorder classification. That is, to develop two-class classifiers, which can discriminate between utterances of a subject suffering from say vocal fold paralysis and utterances of a healthy subject.The mathematical modeling of the speech production system in humans suggests that an all-pole system function is justified [1-3]. As a consequence, linear prediction coefficients (LPCs) constitute a first choice for modeling the magnitute of the short-term spectrum of speech. LPC-derived cepstral coefficients are guaranteed to discriminate between the system (e.g., vocal tract) contribution and that of the excitation. Taking into account the characteristics of the human ear, the mel-frequency cepstral coefficients (MFCCs) emerged as descriptive features of the speech spectral envelope. Similarly to MFCCs, the perceptual linear prediction coefficients (PLPs) could also be derived. The aforementioned sort of speaking tradi- tional features will be tested against agnostic-features extracted by convolu- tive neural networks (CNNs) (e.g., auto-encoders) [4]. The pattern recognition step will be based on Gaussian Mixture Model based classifiers,K-nearest neighbor classifiers, Bayes classifiers, as well as Deep Neural Networks. The Massachussets Eye and Ear Infirmary Dataset (MEEI-Dataset) [5] will be exploited. At the application level, a library for feature extraction and classification in Python will be developed. Credible publicly available resources will be 1used toward achieving our goal, such as KALDI. Comparisons will be made against [6-8].
Stars: ✭ 155 (+297.44%)
Mutual labels:  classifier, feature-extraction
SIFT-BoF
Feature extraction by using SITF+BoF.
Stars: ✭ 22 (-43.59%)
Mutual labels:  feature-extraction, sift
tensorflow-image-classifier
Easily train an image classifier and then use it to label/tag other images
Stars: ✭ 29 (-25.64%)
Mutual labels:  classifier, image-classification
SiftySifty
implements SIFT algorithm using pure c++
Stars: ✭ 25 (-35.9%)
Mutual labels:  sift

Bag of Visual Words OpenCV

An example of a typical bag of words classification pipeline refer to content based image classifier using the bag of visual words model in C++ with OpenCV.

Codacy Badge HitCount

Overview

The goal of this project is to introduce you to image recognition. Specifically, we will examine the task of scene recognition starting with very simple methods - tiny images and nearest neighbor classification - and then move on to techniques that resemble the bags of quantized local features and linear classifiers learned by support vector machines (SVM).

Bag of words models are a popular technique for image classification inspired by models used in natural language processing (NLP). The model ignores or downplays word arrangement (spatial information in the image) and classifies based on a histogram of the frequency of visual words. The visual word "vocabulary" is established by clustering a large corpus of local features. See Szeliski chapter 14.4.1 for more details on category recognition with quantized features. In addition, 14.3.2 discusses vocabulary creation and 14.1 covers classification techniques.

The program will generate a visual vocabulary and train a classifier using a user provided set of already classified images. After the learning phase, we will use the generated vocabulary and the trained classifier to predict the class for any image given to the script by the user.

The learning consists of:

  1. Extracting local features of all the dataset image with SIFT feature extractor
  2. Generating a codebook of visual words with clustering of the features
  3. Aggregating the histograms of the visual words for each of the traning images
  4. Feeding the histograms to the SVM classifier to train a model

This code relies on:

  1. SIFT features for local features
  2. k-means for generation of the words via clustering
  3. SVM as classifier using the OpenCV library

The example dataset used in this project is Caltech 101 dataset.

Example images from of each category of Caltech 101.

Author

Hadi Abdi Khojasteh

Copyright

Copyright (c) 2018 Hadi Abdi Khojasteh

License

GNU General Public License v3.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].