Computer Vision for Busy Developers

Finding Features

Vinny DaSilva
9 min readJul 10, 2019

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

What’s a Feature anyway?

In the last article, we discussed at length how to extract edges from Images. We used simple convolutions to find edges using the Sobel Operator. Edges are great step toward understanding images and there are a lot of situations where edges is all we need given a specific use-case. Edge detection does have some limitations that we need to be cognizant of. Consider the following vertical edge:

Would you be able to quickly or accurately determine where in the following image this edge is located?

Image Source: Silvia Corradin

We can tell that the edge belongs alongside of the Clock Tower, but we are going to have a hard time determining exactly where along the clock tower the edge belongs.

Edges can have multiple potential matches within the same image (Original Image Source: Silvia Corradin)

This phenomenon (a variation of the “Aperture Problem” discussed later) is directly related to the fact that edges don’t have enough unique information within them for us to be able to accurately determine where it belongs within an overall image.

--

--

Vinny DaSilva

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