Chasing the Elusive Muse

My Works



Biproducts of my Research


CVPIA Point Annotation Framework (PTSEditor)

PTSEditor is a semi-automatic point annotation software for deformable objects. Many Computer vision algorithms -- intended to track and explain deformable objects -- need manual annotation of some landmark points in the pictures of that objects. However, manual annotation of images is time consuming and requires great amount of effort. Using PTSEditor, the job of annotating points can be done semi-automatically. Semi-automatic means the software will propose an initial location of the points which can be corrected by a human annotator if necessary. Main features of this program is:

  1.  Semi-automatic annotation of landmark points
  2.  Active Appearance Model based point tracking system
  3.  Individual points can be edited manually
  4.  It is possible to apply global transforms like rotation, translation, scale etc. for editing the points
  5.  Active Appearance Model based point tracking system
  6.  Given an Opencv cascade, any deformable object can be annotated
  7.  Annotation information can be saved in two popular formats: CSV and PTS
  8.  It is possible to analyze on the shape eigenvectors (i.e. the direction of variations of the shape model)
  9.  Full manual available

Download PTSEditor


Feature Analysis

This program uses LDA (Linear Discriminant Analysis) and PCA (Principal Component Analysis) to analyze features from weka arff file. The projection on PCA and LDA space visualizes the goodness of the features. If the features are good enough to be classified well they should have some kind of separation when projected on an LDA or a PCA space.

This MATLAB script assumes that the arff file has 2 classes named "Positive" and "Negative". However, it can be extended into any amount of class labels.


Eigenfaces for Expression Detection

It is an Eigenface Based Facial Expression recognition system. It has been assumed that, facial expression can be classified into some discreet classes (like anger, happiness, disgust or sadness) whereas:

  1. Absence of any expression is the "Neutral" expression
  2. Intensity of a particular expression can be identified by the level of its "dissimilarity" from the Neutral expression
    1. Representing facial expressions in this way has several advantages. Firstly, several kinds of expressions can be represented using only two types of information (1. class that an expression belongs to and 2. intensity of the expression). The picture illustrates such idea where three axes represents three expressional classes and the distance from origin (Neutral) represents the intensity. Secondly, it is possible to identify an expression as a mixture of two or more expressions (such as 60% anger, 20% disgust and 20% sad etc.). Although in the current project there is no provision for such multiple expression, but it is possible to easily add this provision.



      Thesis Work

      An Approach to Increase Data Transmission Capacity in Coaxial Cable Communication System

      In this thesis, various aspects of a Digital Communication System were analyzed using MATLAB simulation. It was done in two parts. In the first part, effects of various parameters, different line codes, receiver filters etc on Bit Error Rate (BER) and Bit Rate were analyzed. In the second part, effect of Code Division Multiple Access (CDMA) on channel capacity was calculated. It was shown that it is possible to increase channel capacity several times, if CDMA is used as a multiplexing technique. All calculations and simulations were done using MATLAB.

      Key Points:

      • Implementation of a simulator (using MATLAB) of coaxial cable based digital baseband signal transmission system.
      • Investigation on the effect of sampling rates, line codes, error correction codes and noises in time and frequency domain
      • Investigation on cable parameters and performance of the system.
      • Investigation on effects of various line-coding on bit rate at a bit error rate of 10-6 for the Matched and Butterworth filters
      • Implementation of a simulator (using MATLAB) where CDMA is applied to allow multiple users sharing the same system
      • Investigation on the effect of various CDMA parameters on maximum attainable bit rate (total bit rate of all users) through the channel while keeping BER = 10-6  for all user



      Related Documents and Source Code



      Project Work

      8BIT DIGITAL CODE SWITCH (with voice operation)
      [pdf]

      The associated software is available upon request. It is too heavy to upload.

      • To design and implement a device that will act as a digital password protected switch
      • It is possible to make it work standalone or with a computer
      • When used incorporated with a computer, it is possible to operate with voice



      Some Trivial Software

      These are some software that I made at various stages of learning Visual Basic. Source codes of all the software are available upon request.

      Fourier Plotter

      When I was in 2nd Year 2nd Semester in university, I became so enthusiastic by the nature and properties of Fourier Series that I started coding this software to check whether actually the sine and cosine terms can constitute any periodic function or not.

      • A simple program to understand the basics of Fourier Series
      • It plots a periodic function if the Fourier components are given.
      • The number of Fourier terms to be considered can be specified

      Equation Plotter

      I have forgotten when did I actually started making this program. But at that time I didn't have any mathematical tools. That's why I started making an equation plotter. However, being referred from a friend, I started using Origin and MATLAB - inhibiting the development of this software.

      • A simple program to plot an equation
      • Main feature was to put the equation in run time
      • Capacity to handle implicit functions on limited cases

      Bengali Word Sorting Program (Ekushey Turna Sajja)

      First word sorting program in Bengali Language. I made this program in 2001. At that time, Bengali was not supported by Unicode. Therefore, I made use of Bijoy Scripting System©. Bijoy created pseudo-Bengali writings by overwriting the English glyphs in fonts by Bengali glyphs (by overlooking the ASCII standard). Therefore, in that time, programs couldn't recognize whether a word is written in Bengali or not.

      • Objective of this program is to sort words assuming that it is a Bengali word and written using Bijoy
      • The main challenge was to devise an algorithm for sorting conjugate letters (Juktakkhor)