Is deep learning always the right tool for vision?
Every week, someone asks me: "Should we just throw a CNN at it?" The default is to assume more layers, more data, and more compute win. But after years of building vision systems for clients and for fun, I've learned it's rarely that simple. Deep learning has transformed the field—no doubt—but classic methods still have their moments. Knowing when to use them can save you weeks and a lot of GPU budget.
So let's talk about the questions we actually ask in design reviews. The same ones that come up with clients who have a product deadline and a limited budget. By the end, you'll have a clearer sense of how to make the call, and why the hype doesn't always line up with reality.
What's the real difference between classic CV and deep learning?
Classic computer vision—the stuff you learn in a university course—relies on hand-crafted features like SIFT, HOG, LBP, and ORB. You spend days tweaking filters to pull out edges, textures, and shapes. Deep learning flips that: CNNs learn features directly from data, no manual engineering. That's a huge advantage when you have lots of data and the task is complex.
But here's the catch: deep learning needs data—a lot of it. And it needs compute to train. On the other hand, classic methods can be surprisingly effective when you have limited data or need to run on a tiny embedded device. I once worked on a project where a HOG-based detector ran in 2 milliseconds on a Raspberry Pi, while a lightweight CNN took 50 milliseconds and didn't even fit in memory. That's a real trade-off.
How do I decide between a CNN and a classic approach?
Here's the rule of thumb we use: if you have thousands of labeled images per class and a decent GPU, go deep. If you have a few hundred images or need to run on a microcontroller, classic features plus a simple classifier might be the smarter play. That's not a knock on deep learning—it's just being honest about constraints.
One thing that surprises people is that classic approaches can still be competitive in specific niches. For example, in industrial inspection where lighting is controlled and defects are well-defined, a HOG-based detector can be faster and easier to debug than a neural network. We've seen projects where a classic pipeline ran in milliseconds on a cheap embedded board, while a deep model struggled to hit real-time on the same hardware.
But for most general-purpose tasks—especially with natural images—deep learning wins. The benchmark results are undeniable: on ImageNet, deep models have driven error rates down from 26% to under 4% in just a few years. That's a huge leap, and it's why the field shifted so quickly.
What's the biggest misconception about object detection?
People often think object detection is just classification with boxes. But it's fundamentally harder because you have to both recognize the object and localize it with a bounding box. That's why you see so many specialized architectures like YOLO, Faster R-CNN, and DETR—each with different trade-offs.
The misconception is that one detector is universally "best." In reality, you have to balance speed and accuracy. YOLO was designed for real-time detection, running at 45 FPS on a GPU. Faster R-CNN, on the other hand, is slower (around 5 FPS) but was state-of-the-art on accuracy for years. And newer transformer-based models like DETR simplify the pipeline by eliminating hand-designed components like anchors and non-maximum suppression.
So when we pick a detector, we first ask: what's the latency budget? If you're building a self-driving car that needs to react in milliseconds, you might lean toward YOLO. If you're doing medical image analysis where a few seconds of processing is fine, accuracy becomes the priority.
How do I evaluate a vision model? What metrics matter?
Accuracy is the obvious one, but it's rarely enough. You also need precision, recall, and Intersection over Union (IoU). IoU measures how well your predicted bounding box overlaps with the ground truth—it's the standard for detection tasks. In classification, top-1 accuracy is common, but you might care about top-5 if you're building a search engine.
Another thing we always look at is the benchmark. ImageNet is the gold standard for classification, but for detection you'll see results on COCO or PASCAL VOC. These benchmarks have different difficulty levels—COCO has more object types and more complex scenes than PASCAL VOC, so a model that does well on one might not on the other.
Here's a quick comparison of the datasets we often use:
| Dataset | Task | Scale |
|---|---|---|
| ImageNet | Classification | 1,000 classes, 1.4M images |
| COCO | Detection, segmentation | 91 object types, 2.5M labeled instances |
| PASCAL VOC 2012 | Detection, classification, segmentation | 20 classes |
| KITTI | Autonomous driving | Real-world driving scenes, up to 15 cars and 30 pedestrians per image |
Does more data always mean better performance?
Not always. More data helps, but only if it's relevant and clean. ImageNet is massive—over 14 million images—but it's also carefully curated. If you scrape random images from the web, you might get noise that hurts your model. I once saw a team waste two weeks training on a scraped dataset that had watermarks and mislabeled images; the model never got above 60% accuracy.
That's why self-supervised learning has become so popular. Methods like SimCLR and CLIP learn representations from unlabeled data, which can be far more abundant. SimCLR, for example, can match the performance of a supervised ResNet-50 on ImageNet using just linear probing. And CLIP can zero-shot transfer to new tasks without any fine-tuning.
But here's the catch: these methods require enormous compute and data. CLIP was trained on 400 million image-text pairs. Most teams don't have that kind of resources. So in practice, we often start with a pre-trained model—like a ResNet trained on ImageNet—and fine-tune it on our own data. That's the pragmatic approach.
What about specialized domains like medical imaging?
Medical imaging is a perfect example of where deep learning shines, but also where you have to be extra careful. The FDA has approved dozens of AI-based medical devices. One notable example is IDx-DR, the first autonomous AI diagnostic system authorized by the FDA for diabetic retinopathy screening.
But medical data is hard to get. The diabetic retinopathy model that achieved 0.991 AUC on EyePACS-1 was trained on over 128,000 images, each graded multiple times by 54 licensed ophthalmologists. That's not something you can crowdsource overnight.
So in medical imaging, we rely heavily on public datasets and pre-trained models. We also have to worry about regulatory approval, which adds another layer of complexity. The takeaway? Deep learning can be transformative, but the data and validation requirements are steep.
Quick tip: Don't ignore classic preprocessing.
Even when you use a CNN, don't skip preprocessing. Normalization, resizing, and augmentation can make a huge difference. A simple grayscale conversion might seem old-school, but it's often the first step in a pipeline. And if you're using a pre-trained model, you need to match the input size and normalization exactly—otherwise, your performance will tank. I learned this the hard way when I forgot to resize images to 224x224 for a ResNet and got 50% accuracy instead of 90%.
What's the one thing to remember?
Deep learning is powerful, but it's not magic. Start with a clear understanding of your task, your data, and your constraints. If you have lots of data and compute, go deep. If not, don't be afraid to use classic methods. And always evaluate on a benchmark that matches your real-world scenario—not just the one that makes your model look good.
Sources
- Computer Vision courses (Southampton / NTNU) - https://www.ntnu.edu/studies/courses/TDT4265
- PLOS ONE - https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0307461
- ImageNet Large Scale Visual Recognition Challenge (IJCV 2015) - https://arxiv.org/abs/1409.0575
- Microsoft COCO paper - https://arxiv.org/abs/1405.0312
- Deep learning review (Nature 2015) - https://www.nature.com/articles/nature14539
- YOLO paper - https://arxiv.org/abs/1506.02640
- Faster R-CNN paper - https://arxiv.org/abs/1506.01497
- DETR paper - https://arxiv.org/abs/2005.12872
Comments (0)
Please sign in to post a comment.
Don't have an account? Create one
No comments yet. Be the first to comment!