是否有任何不是神经网络的图像分类算法?

数据挖掘 图像分类
2021-09-21 12:42:31

图像分类是分配其中之一的任务n给定图像的先前已知标签。例如,您知道您将获得几张照片,并且每张图片都恰好有一张{cat,dog,car,stone}在里面。算法应该说明照片显示的内容。

图像分类的基准数据集是ImageNet尤其是大规模视觉识别挑战赛 (LSVRC)它正好有 1000 个类和大量的训练数据(我认为有一个大约 250px x 250px 图像的下采样版本,但许多图像似乎来自 Flicker)。

这一挑战通常通过 CNN(或其他神经网络)来解决。

是否有任何论文尝试在 LSVRC 中不使用神经网络的方法?

澄清问题:当然,还有其他分类算法,如 k最近的邻居或 SVM。但是,我怀疑它们是否适用于那么多类/那么多数据。至少对于k-NNs 我敢肯定预测会非常慢;对于支持向量机,我猜拟合和预测都会很慢(?)。

2个回答

回答这个问题的部分问题是实际上有两个问题。首先:

是否有任何不是神经网络的图像分类算法?

是的,很多。但现在真正的问题是:

是否有任何论文尝试在 LSVRC 中不使用神经网络的方法?

在您的问题中,由于速度原因,您排除了诸如 kNN 和 SVM 之类的方法。Bag of Words 是用来解决这个问题的一种方法。MATLAB 有一个很好的演示(http://www.mathworks.com/help/vision/examples/image-category-classification-using-bag-of-features.html)。但是 BoW 包含 k-means 聚类,因此可能不适合您的需求。

还有一些其他有趣的图像分类方法,例如纹理分析。正在研究 TA 作为一种对医学图像(如肿瘤)中疾病的恶意进行分类的方法。这是一篇常用的论文: http ://www.ncbi.nlm.nih.gov/pmc/articles/PMC2701316/

这是图像分类的概述: http ://www.tandfonline.com/doi/full/10.1080/01431160600746456

有很多算法可以用来执行分类(很多到很难全部提到的程度)我建议你看看这个 http://dlib.net/ml_guide.svg

决定使用哪种算法取决于您正在处理的问题,主要是:1. 类的数量 2. 样本的数量 3. 类内的变化和类之间的相似性 4. 数据不平衡 5. 维度您的功能和许多其他参数

一般来说,CNN 非常受欢迎有两个原因:它们可以在非常具有挑战性的问题中带来高性能,并且它们是在您需要了解其架构的上下文中的通用解决方案 仅执行训练的策略和技巧,之后您不需要需要改变任何东西,没有参数可以玩。