Machine Learning

Expectation Maximization algorithm to obtain Gaussian mixture models for ROS

I found a really good code at GitHub for fitting a Gaussian Mixture Model (GMM) with Expectation Maximization (EM) for ROS. There are so many parameters that you can change. Some of the most important ones are:

To find the optimal number of components, it uses Bayesian information criterion (BIC). There are other methods to find […]

Expectation Maximization algorithm to obtain Gaussian mixture models for ROS Read More »

Generating multivariate normal distribution samples using C++11 and Eigen library.

Eigen is a great tool for matrix operations, here I found a small piece of code in Github that enables you to generate multivariate normal distribution samples using C++11 and Eigen library. The below is an example:

 

Generating multivariate normal distribution samples using C++11 and Eigen library. Read More »

Multi scale face detector using HOG features and support vector machine

In this part, I trained an SVM over images of  “face” or “not face” (36 × 36 pixels), using HOG features. I used VLFeat library for both HOG and the SVM. Example of face images: Example of nonface images: I divided the dataset into a training and a test set (80% and 20% respectively) and computed the HOG

Multi scale face detector using HOG features and support vector machine Read More »

2D pose estimation of human body using CNS and PCA

This work is the second part of my master thesis (part I). In this part, I developed an algorithm for 2D pose estimation of the human body. To do this, I created a software with QT that could generate 2D contours representing human body. Then I send these contours for evaluation to CNS(Contrast Normalized Sobel) [1]

2D pose estimation of human body using CNS and PCA Read More »

Human detection on mobile camera using HOG and tracking them using Kalman filter

This is the part I of the work that I did for my master thesis (part II). In this work first, I computed HOG (Histogram of oriented gradients) on my images and then sent the computed histogram to a linear SVM (support vector machine). The SVM was trained with human and non-human images. The output of the classifier was

Human detection on mobile camera using HOG and tracking them using Kalman filter Read More »

Real-time object recognition and 6DOF pose estimation based on Linemod algorithm with ROS and PCL pointcloud

In this tutorial, I’m gonna show you how to do object recognition and 6DOF pose estimation in real-time based on Linemod algorithm with ROS and PCL pointcloud. First, you need to install ork:

Then add the model of your object for tracking to Couch DB:

You need to install Kinect driver, if you don’t

Real-time object recognition and 6DOF pose estimation based on Linemod algorithm with ROS and PCL pointcloud Read More »

Sample based-optimisation-based planner with signed distance fields cost map

Rapidly-exploring random trees (RRT) and their variant are a very power solution for solving motion planning problem in robotics, but they suffer from finding an optimise solution and the generated path is usually jerky with redundant movements. Sample based-optimisation-based planners benefit the robustness of RRT and the possibility of imposing a cost function. Here in this work, I

Sample based-optimisation-based planner with signed distance fields cost map Read More »

Solving of optimisation problem with evolutionary algorithm (LM-CMA-ES)

Limited-Memory CMA-ES (LM-CMA-ES)  is a variation of CMA-ES which has been tailored for large-scale optimisation with limited memory. As a warm up here, I have used this algorithm to solve the min point of the following function: $$ z= -( 4 \times  e^{- ( (x-4)^2 +(y-4)^2 ) }+ 2 \times e^{- ( (x-2)^2 +(y-2)^2 ) } )$$ The function

Solving of optimisation problem with evolutionary algorithm (LM-CMA-ES) Read More »