Tuesday, March 16, 2010

How to master machine vision (Pt 1 of 2)

It cannot have escaped your notice that machine vision is very difficult to master. Yes, you might have a degree in computer science or a Masters in electrical engineering, but when you get down to implementation you’ll find them little help. The classes run by vendors aren’t a whole better. Yes, you’ll learn where to find the various tools in the menu structure, and perhaps even how they work, but when you sit down to develop your first application you’ll do a whole lot of head scratching. So why is this, and more importantly, how do you get around it?

Check back later for the “how”; right now I’m going to address the “why” for I believe I’ve stumbled on the key to why machine vision is so difficult for the beginner.

The key is to understand the concept of “tacit” versus “explicit” knowledge. (Can you tell that I’ve been reading up on knowledge management recently?)

Explicit knowledge is facts and figures. To give a machine vision example, lens selection is largely addressed through explicit knowledge, meaning that there are rules and formulae that can be followed. In other words, you can learn it from a book.

Tacit knowledge on the other hand, is based in experience. It’s things you have learnt but cannot easily codify or explain. It’s what comes from being hands-on and actually doing. Lighting is a great example in machine vision. It’s one thing to understand the characteristics of brightfield or darkfield lighting, but actually knowing when and how to use them is much more a matter of feel or experience. It’s not easy to set down rules for appropriate lighting, you just learn what to do.

This then is why machine vision is hard to master: it requires a high level of tacit knowledge. (Click this link for a great Wikipedia article on the subject.) So now that we know this, what do we do about it?

That’s for my next post.

No comments: