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 · 1d ago
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 · 1d ago
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.
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 · 1d ago
Any recommendations on background reading for classical CV for radar?
monkeyelite · 1d ago
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.
ipunchghosts · 1d ago
Kasturi was my undergraduate honors advisor!
monkeyelite · 19h ago
Small world! These are always just names on a book to me.
even though I think Simon admits that most of it is obsolete after DL computer vision came about
monkeyelite · 17h ago
> is obsolete after DL computer vision came about
I just don’t understand this. Why would new technology invalidate real understanding and useful computer algorithms?
klodolph · 1d ago
Maybe… some of these algorithms from the 1980s struggled to do basic OCR, so they may need a lot of modification to be useful.
PaulHoule · 1d ago
That whole approach of "find edges, convert to line drawing, process a line drawing" in the 1980s struggled to do anything at all.
Retric · 1d ago
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.
GuB-42 · 1d ago
I find that modern OCR, audio transcription, etc... are beginning to have the opposite problem: they are too smart.
It means that they make a lot fewer mistakes, but when they do, it can be subtle. For example, if the text is "the bat escaped by the window", a dumb OCR can write "dat" instead of "bat". When you read the resulting text, you notice it and using outside clues, recover the original word. An smart OCR will notice that "dat" isn't a word and can change it for "cat", and indeed "the cat escaped by the window" is a perfectly good sentence, unfortunately, it is wrong and confusing.
devilbunny · 1d ago
Thankfully, most speech misrecognition events are still obvious. I have seen this in OCR and, as you say, it is bad. There are enough mistakes in the sources; let us not compound them.
taeric · 1d ago
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.
alightsoul · 1d ago
Amazing. Wonder how fast it would be on a modern computer
Hydration9044 · 1d ago
+1, which is faster when compare to OpenCV findContours
cyberax · 1d ago
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 · 1d ago
I believe orientation still matters but you’re right that position doesn’t.
Legend2440 · 1d ago
FFT is equivalent to convolution, which is widely used today for object recognition in CNNs.
bobmcnamara · 1d ago
> FFT is equivalent to convolution
What do you mean by that? Could you give me an example?
kragen · 1d ago
The FFT, composed with pointwise multiplication, composed with the inverse FFT, is equivalent to convolution. The FFT is not.
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.
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...
even though I think Simon admits that most of it is obsolete after DL computer vision came about
I just don’t understand this. Why would new technology invalidate real understanding and useful computer algorithms?
High error rates and significant manual rescanning can be acceptable in some applications, as long as there’s no better alternative.
It means that they make a lot fewer mistakes, but when they do, it can be subtle. For example, if the text is "the bat escaped by the window", a dumb OCR can write "dat" instead of "bat". When you read the resulting text, you notice it and using outside clues, recover the original word. An smart OCR will notice that "dat" isn't a word and can change it for "cat", and indeed "the cat escaped by the window" is a perfectly good sentence, unfortunately, it is wrong and confusing.
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.
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!
What do you mean by that? Could you give me an example?
https://en.wikipedia.org/wiki/Convolution_theorem
The FT is _NOT_ just a convolution, but under certain conditions a specific operation on FT terms is equivalent to a convolution.