Skip to content(if available)orjump to list(if available)

When memory was measured in kilobytes: The art of efficient vision

kmoser

I want to believe that however obsolete these old algorithms are today, at least some aspects of the underlying code and/or logic should prove useful to LLMs as they try to generate modern code.

monkeyelite

The idea that ML is the only way to do computer vision is a myth.

Yes, it may not make sense to use classical algorithms to try to recognize a cat in a photo.

But there are often virtual or synthetic images which are produced by other means or sensors for which classical algorithms are applicable and efficient.

sokoloff

I worked (as an intern) on autonomous vehicles at Daimler in 1991. My main project was the vision system, running on a network of transputer nodes programmed in Occam.

The core of the approach was “find prominent horizontal lines, which exhibit symmetry about a vertical axis, and frame-to-frame consistency”.

Finding horizontal lines was done by computing variances in value. Finding symmetry about a vertical axis was relatively easy. Ultimately, a Kalman filter worked best for frame-to-frame tracking. (We processed video in around 120x90 output from variance algorithm, which ran on a PAL video stream.)

There’s probably more computing power on a $10 ESP32 now, but I really enjoyed the experience and challenge.

This was our vehicle: https://mercedes-benz-publicarchive.com/marsClassic/en/insta...

digdugdirk

That's awesome! What kind of hardware was needed to pull that off? And was the size of the bus any indication of the answer?

thatcat

Any recommendations on background reading for classical CV for radar?

monkeyelite

I don’t know anything about radar. I have a book called “machine vision” (Shmuck, Jain, Kasturi) easy undergrad level, but also very useful. It’s $6 on Amazon.

sceadu

Don't know about radar but here's a good book on classical CV https://udlbook.github.io/cvbook/

even though I think Simon admits that most of it is obsolete after DL computer vision came about

klodolph

Maybe… some of these algorithms from the 1980s struggled to do basic OCR, so they may need a lot of modification to be useful.

taeric

I'm not sure I can sign on to this. In particular, this sounds kind of like an indictment of many algorithms. But, how many where there? And did any go on to give good results?

Considers, OCR was a very new field, such that a lot of the struggle was getting data into a place you could even try recognition against it. It should be no surprise that they were not able to succeed that often. It would be more surprising if they had a lot of different algorithms.

PaulHoule

That whole approach of "find edges, convert to line drawing, process a line drawing" in the 1980s struggled to do anything at all.

Retric

There was a surprising amount of useful OCR happening in the 70’s.

High error rates and significant manual rescanning can be acceptable in some applications, as long as there’s no better alternative.

alightsoul

Amazing. Wonder how fast it would be on a modern computer

Hydration9044

+1, which is faster when compare to OpenCV findContours

cyberax

One approach that blew my mind was the use of FFT to recognize objects.

FFT has this property that object orientation or location doesn't matter. As long as you have the signature of an object, you can recognize it anywhere!

changoplatanero

I believe orientation still matters but you’re right that position doesn’t.

Legend2440

FFT is equivalent to convolution, which is widely used today for object recognition in CNNs.

bobmcnamara

> FFT is equivalent to convolution

What do you mean by that? Could you give me an example?

kragen

The FFT, composed with pointwise multiplication, composed with the inverse FFT, is equivalent to convolution. The FFT is not.

mrheosuper

I still deal with <128kb ram system everyday

DaSHacka

Ah, Mac user?

mrheosuper

more like STMicroelectronics user

weareregigigas

I too need a coffee in the morning before I can do anyhting