Software

Generic pieces of code that I've written from time to time, can be used for ordinary computer vision tasks.

Computing Photo aesthetics
MATLAB code for extracting aesthetic features as discussed in the paper that won 2nd prize in ACM MM 2013 Grand Challenge . These are the several features that can be computed from the package. The following are computed at 3x3 grids over an image : (a) Dark channel feature, (b) Luminosity feature, (c) S3 Sharpness, (d) Symmetry, (e) Low Depth of Field, (f) White Balance, (g) Colorfulness, (h) Color Harmony, (i) Eye Sensitivity. These are the aesthetic features that are computed at frame level: (a) Normalized Area of dominant object (b) Normalized distances of centroid of dominant objects wrt 4 stress points.


Camera Motion Descriptor
Lightweight C++/OpenCV-2.1 based software for extracting camera motion descriptor based on Cinematographic principles. The work is published in IEEE Trans. in Multimedia 2014, and a PDF version is available here. The source code is available for download.


C implementation of Bag of Visual Words
An OpenCV based bag-of Visual Features implementation written in C. It uses Marius Muja's Fast Library for Approximate Nearest Neighbor (FLANN) search. Also, the distributable includes software implementing the ANCHORS based algorithm described in this paper . This archive contains source code.


Fast Registration of Aerial Image SEquences (FRAISE)
A lightweight OpenCV based software system written in C/C++ to register a sequence of aerial images in near-realtime. I have tried to avoid C++ code in **most** of the files. The image registration method used here uses Shi-Tomasi's good features to track as sparse feature points in source image frame and then uses Lucas-kanade's pyramid optical flow to compute local optical flow in a neighborhood of these feature points in the subsequent destination frame. This method is also known as Kanade-Lucas-Tomasi algorithm. A cummulative homography ensemble is being output after the end of execution of FRAISE with each entry describing the projective homography between the 1st frame of the sequence to the subsequent frames. On a dual core machine, the alignment using this method has a processing speed of upto 10frames/sec. A multi-threaded version is in progress which would be even faster.

The Linux compatible binaries of FRAISE could be downloaded from here. These include precompiled OpenCV shared libraries. Source code can be downloaded from here. A demo test video video sequence and an image sequence with corresponding FRAISE alignment is here. If you find the software useful, please cite this paper.


Evaluating Feature based image registration techniques
A small benchmark to test the efficacy and performance of 3 feature based methods for image alignment. The first method uses SIFT features for homography estimation which I have obtained from Rob Hess' website and tweaked to suit my purpose. The next method estimates homographies between two input images (both of eaual sizes) using feature points computed using Speeded Up Robust Features. Finally I show how the sparse optical flow based method used in FRAISE compares with these two feature based techniques.