Computer Vision for Busy Developers

Improving Features

Vinny DaSilva
9 min readAug 27, 2019

This article is part of a series introducing developers to Computer Vision. Check out other articles in this series.

Photo by Gordon Mak on Unsplash

When I first started learning about Scale Invariance, I assumed we could just run the Harris Corner detector across the different levels in a scale space to find invariant features. And, we can — this specific method is called the Harris-Laplace Corner detector. But as I researched and learned more about Scale Invariant detectors, there was one method that kept coming up over and over again. This method is the Difference of Gaussian (DoG) detector.

I found the Difference of Gaussian (DoG) technique really interesting for a couple of reasons. While the Harris Corner detector focuses on, well, corners, the DoG technique identifies blobs. Blobs are a more amorphous region of pixels that share something in common, such as intensity. I also noticed that the DoG technique is often referenced in papers that deal with Feature Descriptors, which we will learn about later. The last bit worth mentioning is that DoG identifies both edges and blob features in the same operation.

Start with Gaussian Scale

To better understand how the Difference of Gaussian works, let’s consider the following example. We are looking at different…

--

--

Vinny DaSilva

Developer Relations Engineer at Google. Passionate about AR & VR. Previously at Lenovo ThinkReality, Samsung NEXT, Vuforia