# Align a 3d mesh model with its image

Code : [github/mesh_image_align] Today I am trying out this one simple idea I have in my mind. Given an image of an object (I will use banana) and it's 3d mesh model the objective is to get the pose of the object relative to the camera. Once you have it, you can project the 3d … Continue reading Align a 3d mesh model with its image

# Organizing my Neural Network Codes

Amazing progress has been made in deep learning. I have been Tensorflow for a while now. I started out with tf0.6 then upgraded to tf0.12 then to tf1.0. The latest version is tf1.10 which is supposed to provide a stable API. I have a lot of code which has now become incompatible. The tf0.6's saver … Continue reading Organizing my Neural Network Codes

# 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)  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