Category Archives: Research

Fast Color Based Object Tracking Using OpenCV and Kinect

I needed to track objects according to their colors. I found a simple way to do it using “OpenCV” and “cvblobslib”.

Sample video:

The algorithm is as follows:

  1. Resize the captured image (width/4,height/4, this will reduce a lot of the noise and will speed up the processing time). (Optional).
  2. Obtain the binary image with cvInRangeS (not with cvThreshold).
  3. Use the functions that cvblobslib library provide to detect blobs, filter small blobs and so on… (you can find sample code on how to do that).
  4. Draw a rectangle around the biggest blob on the original image(taking in consideration the resizing factor.

Source code is provided here:

ColorBasedObjectTracking

Reading RGB Color from Kinect instead of WebCam in OpenCV

Usually we use ordinary webcams to handle videos. As the Kinect is getting cheaper now and people started using it in their applications it is useful sometimes to use the RGB images generated from Kinect instead of the webcams, specially when your application is using depth information from Kinect. The advantage of doing so, is that both of the depth data and the RGB sequences are already calibrated automatically and you do not need to worry about calibrating your webcam with your Kinect.

Here is a simple c++ code, note that I am using OpenNI as Kinect driver:
KinectRGB

PhD Project

Since the early time of my age and until now I always found the idea of making the machine to “Learn”, to“Think” and to “Act” independently an amazing one. And keywords such “Artificial Intelligence”, “Machine Learning”, “Human-Robot Interaction” and “Neural Networks” attractive. Also when it comes to movies, my favorites are in science fiction, robotics and programming. Something like “Die Hard 4” and “iRobot”.

During my Masters I worked in the domain of Strategic Planning for Multi-Robots system using Evolutionary algorithms applied in the domain of Robocup soccer. That was real fun for me, results also were more than satisfactory. Last summer I published a scientific paper about my work in the World Scientific and Engineering Academy and Society (WSEAS) international conference on System Theory and Scientific Computation. Another paper is to be published in a scientific journal.

In my PhD project I am moving to the domain of “Human-Computer Interaction” where multi-modal recognition of intention for human behaviors, actions and facial expressions to be extracted in order to predict the human intention in real time.

User will be interacting naturally with the system without any constraints or guidance. The system must recognize human body language, facial expressions and hands gestures along with other real world objects within the user range.

Researchers in my group are using computer vision algorithms to understand human body, previous work has been made in facial expression analysis, depth information measurement, hand gestures recognition and head pose estimation. However, what I noticed is that their work is mostly application dependent and there are constraints on their systems. My work should combine these different modality and I’ll probably use some of their work in my project instead of reinventing the wheel.