Touchless GUI Control

Dabbling into the concepts of HCI and
trying to control the GUI using touchless techniques

Motivation (Why)

Can you imagine interaction with the Computer system without using mouse and keyboard kind of conventional peripheral devices? The recent trends of research are focused on using a minimum set of devices to interact with the Computer system, and Matlab is one of them. This project is organized around the development of a Finger Tracking algorithm to establish an interface for Human-Computer Interaction using Matlab and implement that algorithm to create an application that can be used to perform clicking operations as per the counting fingers.


Techtics (What & How)

During this mini-project, we were learning different Image processing techniques and we decided to control GUI using the same.
We dabbled into many different techniques that could be utilized to achieve this task, techniques like Edge detection were initially used to determine the bell curve formed by the fingertip and we tried to use that method. But we soon realize that we would need something more like Kinect or any other device that will also measure the positional depth of the finger or any other object having a similar bell curve.
So we moved to the next method, Palm detection. Here we thought of mapping the movement of the palm with that of the cursor then wondered that this would be so cool if we had a widescreen and could play games based on such a simple technique. But we also realized that the task we were aiming for needed a bit more accuracy.

Finally, we landed on the Color detection technique, did some initial test runs using pen caps. Used orange markers on the fingers and were able to move the cursor using the index finger and left-click with increasing the number of fingers (2). Similarly, right-click was mapped to 3 fingers shown together.
We used various steps to identify the desired color (orange), RGB detection, Gray Scaling, Pixel enhancement, thresholding, and binary conversion. Running these conversions and the JAVA Robot class, we were able to achieve real-time touchless control of the cursor


Reflection & Application (now & next)

In this study, finger tracking based on a virtual mouse application has been designed and implemented using a regular webcam. The motivation was to create an object tracking application to interact with the computer and develop a virtual human-computer interaction device.

We were able to develop a prototype of a mouse moving without using hardware or any wires. This was an approach to make an intelligent and next-generation Graphic User Interface.
We later used this project as a stepping stone to creating Cooper & Airpen.


Tools & Technology


Creators

Suryakant Sahoo and Saket Suman