Pixelation

mainPixelation is the display of a digitized image where the individual pixels are easily visible to a viewer. This can happen unintentionally when a low-resolution image designed for an ordinary computer display is projected on a large screen. In this situation, each pixel becomes separately viewable. It’s not pretty! Pixelation is also sometimes used to describe the act of turning a printed image into a digitized image file. As the image is captured, it is processed into a vectorized or rasterized file that can be used to illuminate color units (called pixels) on a display surface. So why does it happen? What exactly happens in there?   Continue reading “Pixelation”

Graph-Cuts In Computer Vision

mainThe theory of graph-cuts is used often in the field of computer vision. Graph-cuts are employed to efficiently solve a wide variety of computer vision problems, such as image smoothing, the stereo correspondence, and many other problems that can be formulated in terms of energy minimization. Hold on, energy minimization? It basically refers to finding the equilibrium state. We will talk more about it soon. Many computer vision algorithms involve transforming a given problem into a graph and cutting that graph in the best way. When we say “graph-cuts”, we are specifically referring to the models which use a max-flow/min-cut optimization. Too much jargon? Let’s just dissect it and see what’s inside, shall we?   Continue reading “Graph-Cuts In Computer Vision”

How To Use DiffMerge

mainTo people who don’t know what merge conflicts are, they are these magical things that make our life pleasant when we are coding in a group. Okay that was a joke! Too subtle? Anyway, when you are working in a team on a central code base, multiple people might end up modifying the same thing, which usually results in a conflict. Merge conflicts are bound to happen when you are working in parallel with a team of developers. If it hasn’t happened to you yet, then you haven’t been coding long enough. Most of the version management tools try to manage this automatically. If people are working on different things that are independent of each other, then there will be no problems. But unfortunately, we are not in utopia. Here on earth, conflicts happen all the time.   Continue reading “How To Use DiffMerge”

Gaussian Mixture Models

mainLet’s say you have a lot of data and you want to estimate the underlying statistical model. Wait a minute, why on earth would I care about that? Well, if you estimate the model, then you can analyze unknown data that is not under our control. Some of the common examples would be weather estimation, facial expressions analysis, speech recognition, share prices, etc. Coming back to the estimation problem, the simplest thing to do would be compute the mean and variance of this data, hence getting the governing distribution. But what if there are multiple subgroups in this data? As in, how do we detect the presence of subpopulations within an overall population? Even though the data points belong to the overall data, we need to understand the different modes inside the data. How do we go about doing this?   Continue reading “Gaussian Mixture Models”

Display Caller Of The Current Function In Python

python-logoIf you have spent enough time coding, then you know where I am going with this. As the code gets bigger, debugging gets trickier. Keeping track of everything becomes difficult, especially when you collaborate with others and your functions are being called by someone else’s functions. A lot of times, you may want see where your function is being called so that you can pinpoint where things went wrong. Luckily, Python has a neat way of doing it. You can get a list of all the locations where your function is being called, along with the line numbers.   Continue reading “Display Caller Of The Current Function In Python”

Overfitting In Machine Learning

mainLet’s say you are given a small set of data points. These data points can take any form like weight distribution of people, location of people who buy your products, types of smartphones, etc. Now your job is to estimate the underlying model. As in, if an unknown point comes in, you should to be able to fit it into your model. Typical supervised learning stuff! But the problem is that you have very few datapoints to begin with. So how do we accurately estimate that model? Should you really tighten your model to satisfy every single point you have?   Continue reading “Overfitting In Machine Learning”

What Is K-Means Clustering?

mainLet’s say you get a whole bunch of data samples and you want to do some analysis about the underlying structure of those samples. You know that they can be categorized into certain groups, but you are not exactly sure what those categories are. For example, you get the data associated with shopping behavior of consumers. You want to understand what products are more popular, what kind of consumers buy these products, what time of the year do consumers buy more, etc. In order to divide this data into subgroups, we need to know what those groups should be in the first place. In our case, we don’t! This becomes increasingly difficult as you get more samples, often ranging in hundreds of thousands. So how do we analyze this data? How do we make the machine automatically learn the underlying structure and categorize accordingly?   Continue reading “What Is K-Means Clustering?”

NTFS Write Support On OS X Mountain Lion

If you have noticed, Mac OS X doesn’t support writing onto NTFS disks. But not to worry, you don’t have to install any third party drivers to enable this. Mountain Lion 10.8.3 already has native write support for the NTFS. OSX Mountain Lion does have built-in support for NTFS, and it can read and write. However, Apple does not enable it by default.   Continue reading “NTFS Write Support On OS X Mountain Lion”

How To Convert An Existing Django Project To Eclipse Project

mainSo you have a Django project and you want to use Eclipse IDE to modify and control it. When I say “existing Django project”, I mean a Django project created without using Eclipse. If you are not sure how to use Eclipse to manage your Python project, you can check out this blog post. You basically need to install PyDev and configure the Python path for Eclipse. Once you install everything, you should be able to see PyDev listed when you start a new Eclipse project.   Continue reading “How To Convert An Existing Django Project To Eclipse Project”