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.