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.

  • $\begingroup$ The reason people are using these "artificial" means is that they perform much better than earlier approaches. The same shift had happened in computational linguistics already in the 80s, when statistical approaches superseded classical AI approaches which were trying to emulate human language processing. $\endgroup$ – Yuval Filmus Jun 2 '18 at 7:48
  • 1
    $\begingroup$ @YuvalFilmus I don't disagree that artificial methods perform better or faster than classical means, but consider that they require a priori knowledge and may not be intuitive. I'm interested in simulating biological mechanisms: I think there's merit to more white-box approaches to computer vision, even if they're outclassed by others. $\endgroup$ – gator Jun 2 '18 at 16:41

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.


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:


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.


I hope that helps!

  • 2
    $\begingroup$ Face recognition existed before deep learning, so you can definitely do it using classical computer vision approaches. But deep networks do it much better. $\endgroup$ – Yuval Filmus Jun 2 '18 at 7:49
  • $\begingroup$ This is not too dissimilar to how the fusiform face area operates: segmenting a face into bands can allow an algorithm to sample from contiguous areas guaranteed to have specific features. For a rudimentary recognizer, this is fairly straightforward. $\endgroup$ – gator Jun 3 '18 at 21:51

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 .

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.