When memory was measured in kilobytes: The art of efficient vision
31 comments
·June 4, 2025kmoser
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.
timewizard
The basic convolution theorem.
mrheosuper
I still deal with <128kb ram system everyday
weareregigigas
I too need a coffee in the morning before I can do anyhting
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.