6

So much software related to computer vision relies on AI and neural networks, I wonder some of the approaches which don't use those methods. How could some of the mainstays of computer vision (eg. recognition and identification) be achieved without "artificial" means?

I'm reading Vision by David Marr and it talks about the human visual system model and how it could be emulated algorithmically for computer vision. I know of salience mapping and edge detection algorithms which there's significant consensus that the brain processes visual information in a manner not too dissimilar to, but what other methods are there?

Consider something such as facial recognition: I have a headshot of hundreds of individuals, how could a system recognize if a new face was novel or previously recognized without neural networks or deep learning? My interest is in white-box approaches to computer vision rather than these black-box approaches.

gator
  • 83
  • 6

3 Answers3

1

I think you could use some type of probabilistic model to solve this issue. I might be completely wrong, though, as I do not know a lot about probabilistic models.

Some time ago, I made use of Markov chains to generate levels for a game called Mega Man, and I remember that the results were promising, so I looked up "Markov Chains and face recognition" and found the following paper:

http://www.anefian.com/research/nefian98_face.pdf

It deals with the specific problem of face recognition.

Markov Chains also work with Optical Character Recognition, and though I know that comparing a letter to a face is a bit of a stretch, the following paper might give you some insight.

http://www.aclweb.org/anthology/N03-1018

I hope that helps!

Joan Vene
  • 195
  • 1
  • 8
1

Yes there are a number of computer vision algorithms that do not involve AI in the sense they do not 'learn'. In certain use cases these approaches can be more efficient than a neural net approach.

These algorithms work by extracting features (like histograms, edge detection, etc.) from an image, then using an algorithm to compare these features.

  • K-Nearest-Neighbor is a generic classification algorithm that can be used to classify images. There is an open online class from Standford that describes this approach, then adds AI on top to improve it.

  • SIFT (Scale-invarient feature transform) is a patented feature detection algorithm used in computer vision problems, like object or facial recognition.

  • SURF, partly inspired by SIFT, is a very complex algorithm used to feature detection and object recognition/reconstruction.

Wil
  • 368
  • 3
  • 12
1

In order to complement some answers here, here are other approaches related to Computer Vision without using neural networks:

  • 3D reconstruction for achieving 3D models of imaged objects (although I am starting to see some PhD opportunities that try to make use of deep learning here)
  • Text detection (and possible recognition) in natural imagery. (I am referring to the classical approaches, such as Maximally Stable Extremal Regions and/or Stroke Width Transform). Nevertheless, the classification performance in this context improved a lot by using deep learning techniques, as it can be seen in some Robust Reading competition results throughout the years.
  • Machine learning and even direct correlation analysis techniques apart from neural networks are still widely used in detection of diseases in plants, for example .