Part-2 : Simulating a Mechanical System with Differential Equations

This is my second part in a built-up towards understanding and implementing a real world control system. In my past post, I talked about differential equations.  The take home message from my last post was that, given a mechanical system and solving the free body diagram of it, we can get the differential equations describing … Continue reading Part-2 : Simulating a Mechanical System with Differential Equations

Vector Differentiation

Just a quick cheatsheet on derivatives (of scalars and vectors) wrt of a vector. This is borrowed from the wiki page : Matrix Calculus. Vector Calculus CAS Tricks The following document is borrowed from here. Vector Calculus with Maxima (Computer Algebra System)Download Oftentimes, we need to get linear approximation of a complicated function. This is … Continue reading Vector Differentiation

Part-1 : Why should I study differential equations?

What's the point of studying differential equations? Can we not do away with them? I almost never see an application of those as a computer science or an ECE systems student. Is it like the analog systems, we study for the legacy reason. Can we not do away from differential equations. I used to side … Continue reading Part-1 : Why should I study differential equations?

Optimal Triangulation for Tuning Keypoint Co-ordinates

Given a set of correct keypoint matches and a fundamental matrix, to optimize the coordinates of these key points such that they satisfy the epipolar constraint. A point (x,y) on the left image (pose: [I|0]) and (x',y') on the right image (pose: [R|t]). These points are undistorted and in normalized image coordinates. Having known the pose … Continue reading Optimal Triangulation for Tuning Keypoint Co-ordinates

Image Keypoint Descriptors and Matching

[GitHub] Extracting keypoints from images, usually, corner points etc is usually the first step for geometric methods in computer vision. A typical workflow is: keypoints are extracted from images (SIFT, SURF, ORB etc.). At these keypoints descriptors are extracted (SURF, ORB etc). Usually a 32D vector at each keypoint. The nearest neighbor search is performed to … Continue reading Image Keypoint Descriptors and Matching

HowTo – Pose Graph Bundle Adjustment

SLAM (Simultaneous Localization and Mapping) is one of the important practical areas in computer vision / robotics / image based modelling community. A SLAM system typically consists of a) odometry estimator (relative pose estimator), b) Bundle adjustment module, c) sensor fusion module (for visual-inertial system), d) mapping module. While there are several excellent resources, refer … Continue reading HowTo – Pose Graph Bundle Adjustment

Generating randoms from a specified CDF

This post deals with generating random numbers given a CDF (Cumulative distribution function). CDF may be specified as an analytical function or as a table of values. We also assume that we have a source of pseudo-random uniformly distributed numbers. Probability Integral Transform At the core of this issue is the 'Probability Integral Transform'.  It states that, … Continue reading Generating randoms from a specified CDF

NetVLAD – Supervised Place Recognition

Download PPT - Google Docs Vector of locally aggregated descriptors (VLAD) [1] is a simple and popular technique for computing a fingerprint of an image for place recognition. It basically forms say K=64 clusters of SIFT like descriptors (descriptors at SIFT feature points). Then, for every descriptor subtracts it from cluster center and adds it up. … Continue reading NetVLAD – Supervised Place Recognition