Tutorials

Silhouette coefficient for finding optimal number of clusters

Silhouette coefficient is another method to determine the optimal number of clusters. Here I introduced c-index earlier. The silhouette coefficient of a data measures how well data are assigned to its own cluster and how far they are from other clusters. A silhouette close to 1 means the data points are in an appropriate cluster and a silhouette […]

Silhouette coefficient for finding optimal number of clusters Read More »

Finding optimal number of Clusters by using Cluster validation

This module finds the optimal number of components (number of clusters) for a given dataset. In order to find the optimal number of components for, first we used k-means algorithm with a different number of clusters, starting from 1 to a fixed max number. Then we checked the cluster validity by deploying \( C-index \) algorithm and

Finding optimal number of Clusters by using Cluster validation Read More »

Finding roll, pitch yaw from 3X3 rotation matrix with Eigen

 

Finding roll, pitch yaw from 3X3 rotation matrix with Eigen Read More »

Roll, pitch, yaw using Eigen and KDL Frame

 

From Eigen documentation: If you are working with OpenGL 4×4 matrices then Affine3f and Affine3d are what you want. Since Eigen defaults to column-major storage, you can directly use the Transform::data()  method to pass your transformation matrix to OpenGL. construct a Transform:

or like this:

But note that unfortunately, because of

Roll, pitch, yaw using Eigen and KDL Frame Read More »

Gaussian Mixture Regression

Gaussian Mixture Regression is basically Multivariate normal distribution with Conditional distribution. The more about the theory could be found at  [1], [2], [3], [4]. For this work, I have added the functionality of adding Gaussian Mixture Regression to this project on the GitHub by forking the main project, my forked project can be download at here Github The main changes

Gaussian Mixture Regression Read More »

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 »

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 »

Ackermann steering car robot model with simulation in Gazebo

Most of the wheeled robots in ROS use move_base to move the robot. move_base geometry model is based on differential drive which basically transforms a velocity command (twist message) into a command for rotating the left and the right wheels at a different speed which enable the car to turn into the right or left or goes straight. But cars

Ackermann steering car robot model with simulation in Gazebo Read More »