Live data from Hacker News

By the Power of Grayscale

zserge.com

21–30 of 56 posts

Re: By the Power of Grayscale

#21

Earlier quoted context omitted.

sure, if you don't mind it hallucinating different numbers into your image

Right, but the non-deep learning OCR methods also do that. And they have a much much lower overall accuracy. There’s a reason deep learning took over computer vision.

GP is talking about thresholding and thresholding is used in more than just OCR. Thresholding algorithms do not hallucinate numbers.

Re: By the Power of Grayscale

#22
If you enjoyed this post you may also like the 2024 book foundations of computer vision: https://visionbook.mit.edu/

prior hn thread: https://news.ycombinator.com/item?id=44281506

i don't have any background in computer vision but enjoyed how the introductory chapter gets right into it illustrating how to build a limited but working simple vision system

Re: By the Power of Grayscale

#23

Earlier quoted context omitted.

sure, if you don't mind it hallucinating different numbers into your image

Right, but the non-deep learning OCR methods also do that. And they have a much much lower overall accuracy. There’s a reason deep learning took over computer vision.

You're absolutely right, deep learning OCR often delivers better results for complex tasks like handwriting or noisy text. It uses advanced models like CNNs or CRNNs to learn patterns from large datasets, making it highly versatile in challenging scenarios.

However, if I can’t understand the system, how can I debug it if there are any issues? Part of an engineer's job is to understand the system they’re working with, and deep learning models often act as a "black box," which makes this difficult.

Debugging issues in these systems can be a major challenge. It often requires specialized tools like saliency maps or attention visualizations, analyzing training data for problems, and sometimes retraining the entire model. This process is not only time-consuming but also may not guarantee clear answers.

Re: By the Power of Grayscale

#24

It may come as a surprise to some that a lot of industrial computer vision is done in grayscale. In a lot of industrial CV tasks, the only things that matter are cost, speed, and dynamic range. Every approach we have to making color images compromises on one of those three characteristics. I think this kind of thing might have real, practical use cases in industry if it's fast enough.

Ah, I think you work in the same industry as me, machine vision. I completely agree with you, most applications use grayscale images unless it’s color-based application.

Which vision library are you using? I’m using Halcon by MVTec.

Re: By the Power of Grayscale

#26

Earlier quoted context omitted.

Right, but the non-deep learning OCR methods also do that. And they have a much much lower overall accuracy. There’s a reason deep learning took over computer vision.

You're absolutely right, deep learning OCR often delivers better results for complex tasks like handwriting or noisy text. It uses advanced models like CNNs or CRNNs to learn patterns from large datasets, making it highly versatile in challenging scenarios. However, if I can’t understand the system, how can I debug it if there are any issues? Part of an engineer's job is to understand the system they’re working with,…

No matter how much you tinker and debug, classical methods can’t match the accuracy of deep learning. They are brittle and require extensive hand-tuning.

What good is being able to understand a system if this understanding doesn’t improve performance anyway?

Re: By the Power of Grayscale

#27
post #11

Earlier quoted context omitted.

But have a look at the "Thresholding" section. It appears to me that AI would be much better at this operation.

It really depends on the application. If the illumination is consistent, such as in many machine vision tasks, traditional thresholding is often the better choice. It’s straightforward, debuggable, and produces consistent, predictable results. On the other hand, in more complex and unpredictable scenes with variable lighting, textures, or object sizes, AI-based thresholding can perform better. That said, I still pref…

Not to mention performance. So often, the traditional method is the only thing that can keep up with performance requirements without needing massive hardware upgrades.

Counter intuitively, I’ve often found that CNNs are worse at thresholding in many circumstances than a simple otsu or adaptive threshold. My usual technique is to use the least complex algorithm and work my way up the ladder only when needed.

Re: By the Power of Grayscale

#28

It may come as a surprise to some that a lot of industrial computer vision is done in grayscale. In a lot of industrial CV tasks, the only things that matter are cost, speed, and dynamic range. Every approach we have to making color images compromises on one of those three characteristics. I think this kind of thing might have real, practical use cases in industry if it's fast enough.

Also resolution & uniformity

Color makes major compromises physically also, since it seems like the Red, Green and Blue channels are sampling from the same physical location but the actual sensor buckets are offset from each other.

Re: By the Power of Grayscale

#29

It may come as a surprise to some that a lot of industrial computer vision is done in grayscale. In a lot of industrial CV tasks, the only things that matter are cost, speed, and dynamic range. Every approach we have to making color images compromises on one of those three characteristics. I think this kind of thing might have real, practical use cases in industry if it's fast enough.

[deleted]

Re: By the Power of Grayscale

#30

Earlier quoted context omitted.

You're absolutely right, deep learning OCR often delivers better results for complex tasks like handwriting or noisy text. It uses advanced models like CNNs or CRNNs to learn patterns from large datasets, making it highly versatile in challenging scenarios. However, if I can’t understand the system, how can I debug it if there are any issues? Part of an engineer's job is to understand the system they’re working with,…

No matter how much you tinker and debug, classical methods can’t match the accuracy of deep learning. They are brittle and require extensive hand-tuning. What good is being able to understand a system if this understanding doesn’t improve performance anyway?

I agree, Deep Learning OCR often outperforms traditional methods.

But as engineers, it’s essential to understand and maintain the systems we build. If everything is a black box, how can we control it? Without understanding, we risk becoming dependent on systems we can’t troubleshoot or improve. Don’t you think it’s important for engineers to maintain control and not rely entirely on something they don’t fully understand?

That said, there are scenarios where using a black-box system is justifiable, such as in non-critical applications where performance outweighs the need for complete control. However, for critical applications, black-box systems may not be suitable due to the risks involved. Ultimately, what is "responsible" depends on the potential consequences of a system failure.

Post reply on HN