Posts

  • 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
  • Magic Cauldron: Harry Potter Themed Gender Reveal Party - #Aurdino

    Earlier this year, we had a very fun filled Harry Potter themed gender reveal party. For the reveal, I built a Magic Cauldron which would reveal the gender. Check it out for yourself! For this I needed: A Cauldron. WS2812B LED array. Aurdino UNO. Bread board and jumper wires. Dry ice. Kasa Smart bulbs I will go over in the following sections The Mist.

  • Kakashi: The Copycat Robot - #Aurdino #image processing

    In this post, I want to share about "Kakashi: The Copycat Robot"—a fun side project I built a few years ago. The name is inspired by the famous character from Naruto, Kakashi Hatake, also known as the Copycat Ninja.The goal of this robot was to mimic Kakashi's ability to copy movements—though, of course, in a more limited way. Check it out for yourself!Here are the things I used to build this:

  • Neural network inference pipeline for videos in Tensorflow - #Deeplearning #Tensorflow

    Just as we saw a huge influx of images in the past decade or so, we are now seeing a lot of videos being produced on social media. The need to understand and moderate videos using machine learning has never been greater. In this post, I will show you how to build an efficient pipeline to processes videos in Tensorflow.  For simplicity, let us consider a Resnet50 model pre-trained on

  • Finding Where's Waldo using Mask R-CNN - #Deeplearning #ML

    When I was a kid, I really loved solving Where's Waldo. There were few books (it used to be called Where's Wally) in our school library on which I spent hours finding Waldo. For people who do not know what it is, basically Waldo - a unique character is hidden among hundreds of other characters and you have to find him in all the chaos in the image. Now that I am too old to be solving it and

  • Higher level ops for building neural network layers with deeplearn.js - #Deeplearning #javascript #ML

    I have been meddling with google's deeplearn.js lately for fun. It is surprisingly good given how new the project is and it seems to have a sold roadmap. However it still lacks something like tf.layers and tf.contrib.layers which have many higher level functions that has made using tensorflow so easy. It looks like they will be added to Graphlayers in future but their priorities as of now is to

Monday, 20 May 2013

Customizing linux terminal with powerline (powerline-shell)

Borded of how your terminal looks?
In the past I used to edit the bash superglobal $PS1 to make it look a littile better.
I found this awesome thing called powerline-shell on github which makes your terminal look so awesome. Not only it makes your terminal look beautiful it also helps us to visualize many things easily. Like errors, git stuff..etc
I took some time and modified it a little. Here is mine:

Download

How to get it?


  1.  Download powerline-bash.py from the link and place it in the home folder.
  2. Make it executable

    chmod +x ~/powerline-bash.py
  3. Then add the following lines to the file ~/.bashrc:
    function _update_ps1() {    export PS1="$(~/powerline-bash.py $?) " } export PROMPT_COMMAND="_update_ps1"
  4. Now patch the font. Download anonymous Pro-Powerline.ttf and open it to install it
  5. You are done!!! Now just open the terminal.


NOTE: If it doesn't work properly and prints some garbage elements then u have to patch the font you are using for your terminal from here

Saturday, 18 May 2013

Jarvis, at your sevice


Hello everyone! Its been a long time since I blogged. Today I will show you how to use 'Jarvis' which is an open source software which can be used to control your Linux system using your hand motion, gestures which was made as my Human Computer Interaction project. This is mainly an image processing based project developed using python.



Things u can do using Jarvis:


  1. The first thing you can do using Jarvis is control your mouse. You just need a colored object (preferably has color different from its background). So you can do things like draw in air!
  2. The second thing is that you can assign any gesture which is a combination of
    Left->Right, Right->Left, Top->Bottom, Bottom->Top to any command. So using this you can literally perform anything!!! The following are the things you can do by default:

  • Maximize/Minimize/Close current window
  • Go next and forward in PPT presentation
  • Page up and Page down
  • Switch window (Alt+tab)
  • Take screenshot
  • Shutdown/Suspend system
  • Mute and unmute
  • Open Calculator, File manager, Gedit


You can practically add anything else also. All you need to know is the command which does that and the equivalent of the gesture which you want to assign in the combination of Left->Right, Right->Left, Top->Bottom, Bottom->Top.

Getting dependencies:

Ubuntu:
$ sudo apt-get install python-opencv xdotool
Fedora:
$ sudo yum install python-opencv xdotool

Installation:

$ git clone https://github.com/alseambusher/jarvis.git
$ cd jarvis
$ ./install

Now you need to set the screen resolution of your screen. If your screen resolution is 1366x768 then skip this step.
$ gedit ~/.jarvis/config.py
change the value of variable RESOLUTION corresponding to your screen resolution.

Running:

Now simply open Jarvis from your Applications menu
OR
Do this:
$ cd ~/.jarvis
$ python main.py
Now click on Start Jarvis 

Add new gesture:

1. Go to settings from the File menu


2. Click on Add gesture from the File menu of settings


3. Suppose say that you want to add a gesture which opens terminal.
Say the gesture you wish to give is (Left to Right)->(Right to Left)->(Top to Bottom)->(Bottom to Top)
The command corresponding to open gnome terminal is 'gnome-terminal'

4. Fill the details and save it.


You are done!!!

Editing and deleting gestures are simple :P

How to use?

We need two different colored objects which are required to run. One the tracker and the other one is the flag!

  1. If the flag is not exposed then the gesture is disabled and Jarvis works as a mouse controller.
  2. When both tracker and flag are exposed the gesture begins. Perform the gesture using the tracker. Once the gesture is complete hide the flag. Jarvis then processes and analyses the gesture performed and checks for any matches from the existing database. If there is a match then it executes it!.

Customizing Tracker and Flag color:

By default the tracker is yellow color and flag is blue color.
You can change it by editing the config.py file

$ gedit ~/.jarvis/config.py

Change the min and max values of TRACKER_COLOR and GESTURE_COLOR corresponding to the HSV values of the color intended

By default these are the values:
TRACKER_COLOR={'MIN':[20,100,100],'MAX':[30,255,255]}
GESTURE_COLOR={'MIN': [108.0, 100, 10],'MAX': [118.0, 255, 255]}

Thank you. Dont forget to contribute to this open source project as there is a lot of scope for improvements. :)

Fork the project from here: https://github.com/alseambusher/jarvis