USB 3G Modem detected as cdrom, How to fix, Ubuntu 12.04

I wanted to put this post up few days ago but couldn’t get time to write. After installing Ubuntu 12.04 with UEFI switched off, I switched GPU off. I was expecting WiFi problems but I didn’t expect any problems with USB 3G modem. I plugged it in. It showed green and blue light which meant it was intitialized but I couldn’t access it. I looked up on the net and got various solutions but none of them worked. My HUAWEI 3G USB modem was getting detected as cdrom. Weird!

»
Posted in Linux

Freehand, Design Innovation 2013, MIT Media Lab, PESIT

Searching for free bathroom to bathe in cold water on a cold morning in Bangalore, well, that’s how the Design Innovation workshop started for all of us who were placed at RIE. Despite of the terrible accomodation, the workshop turned out to be a marvellous event in my lifetime and the credit goes to PESIT volunteers, MIT Media Lab people, other participants and most importantly my team mates Aditi and Nikita for bearing with me and supporting all the ridiculous ideas and putting all the effort to make a successful prototype( well, you can’t prototype something in 2 days, but yes! Let’s call it a prototype). So cheers to the team Freak’d Outs. That’s our team name. Deal with it.

Image-1(From left) Aditi, Jay and Nikita at Design Innovation 2013

»
Posted in Computer Vision

ATI Radeon 7670M, Turn off GPU, Ubuntu 12.04

After spending hours trying to figure out how to beat secure boot and UEFI to install Ubuntu 12.04 LTS, I made peace with it and installed (dual boot) Ubuntu 12.04 LTS. And as expected, there has to be some or other glitches with firmware and drivers. My previosu laptop (which by the way I still use) didn’t have a dedicated 2 GB GPU so there was never a problem of power consumption and heating up (in Ubuntu 12.04 LTS). A guy had posted a review on HP Envy 4 1025tx about Linux and had managed to tune GPU.

»
Posted in Linux

UEFI, secure boot and tantrums of Windows 8

I recently purchased a new laptop. As a HP fan, I was biased to buy some HP laptop and this piece of slim beauty caught my eye. HP Envy 4 1025tx. It seemed compatible with Linux so it was a plus point. But since it was out of stock and I was reluctant to buy Asus or Lenovo (Dell is out of the question), I stuck to hp and bought HP Envy 4 1104tx. People ask me why I didn’t but Envy 6. I never liked big laptop with big screens. 14 inches screen is perfect. I’m not going to list the specifications and stuff.

»
Posted in Linux

SIFT Keypoint Matching using Python OpenCV

I have been working on SIFT based keypoint tracking algorithm and something happened on Reddit. Kat wanted this is Python so I added this feature in SimpleCV. Here’s the pull request which got merged.

»
Posted in Computer Vision

Point Cloud Library - Install and Configure - Ubuntu 12.04

A Point Cloud is a set of vertices in a three-dimensional coordinate system. As OpenCV is used to work with two dimensional objects(images), PCL is used to work with three dimensional objects(3D space). Vertices usually represent X, Y and Z coordinates of the external surface of an object.

»
Posted in PCL

Python/C API: Making a Type

This is the third post in the Python/C API series. In previous posts, Python/C API: #include and [Python/C API: Reference Counting](http://jayrambhia.wordpress.com/2012/12/14/pythonc-api-reference-counting/), I have shown how to extend Python with C API and importance of memory management in Python. In this post, we'll be talking about declaring and making a type. This is can also be seen as a class in Python. It has it's init function, deallocating function, etc. Here's the overview.

»
Posted in Python

Python/C API: Reference Counting

5th semester is finally over and let’s just say I have been to the dark side. Moving on. The most important aspect of Python is memory management. As mentioned in the earlier post of this series, PyObject* is a pointer to a weird data type representing an arbitrary Python object. All Python objects have a “type” and a “reference count” and they live on heap so you don’t screw with them and only pointer variables cab be declared. I had skipped the part of referencing. In this post, I’ll talk about Memory Management in Python and Reference Counts.

»
Posted in Python

Python/C API: #include "Python.h"

People are strange when you are stranger. So stop being stranger and start writing emails. You’d get replies.

»
Posted in Python

A Momentary Lapse of Reason and Celebration of The Lizard King

It’s been a few months that I have written something. Well, to write something substantial, I need work which I haven’t done in quite a long time. No commits, no contribution, no projects, no research, nothing! Procrastination all day long. I don’t even remember how I spent my last three months. Probably, listening to some of the best rock bands ever, partying, sleeping, watching movies about the best rock bands, playing Ultimate. No clue. I am the king of people who take bad decisions and no one can beat me at that. Turned down couple of internship opportunities, few projects, Robocon, and the list goes on and the last thing that I really don’t want to add is academics. Had a little tumble down the road. Basking in the glory, I forgot to return back to the ground. I tried to fly. So I threw myself at ground, but couldn’t miss the ground. Probably, I was trying to miss the ground. It turns out this has to happen accidentally.

»
Posted in Python

SIFT based Tracker

Scale-invariant feature transform (or SIFT) is an algorithm in computer vision to detect and describe local features in images. The algorithm was published by David Lowe in 1999.SIFT is a method to detect distinct, invariant image feature points, which easily can be matched between images to perform tasks such as object detection and recognition, or to compute geometrical transformation between images.

»
Posted in Python

Selecting ROI/BB in OpenCV(Mat)

So my mid-terms got over this Monday and I had no idea whatsoever what happened in the 1 week of exams. I started working on SURF feature detector based Tracking algorithm using OpenCV python bindings and SimpleCV. I couldn’t complete it. But I have made significant amount of progress and I’ll write a post about it in few days. While wroking with this idea, I faced a lot of troubles and especially the run-time speed. I was getting less than 1 fps. It’s really irritating to see the code work so slow. Finally, I have decided to switch to C++. I tried couple of things on OpenCV C++ and was amazed to see the run-time speed that I was getting.

»
Posted in Computer Vision