请记住,我们的数据集恰好包含2000张图像.
然后我尝试减少内核的层数和大小. 我尝试了许多参数,下图是我们使用的最终结构.

我们仅使用2个小形状的卷积层和2个完全连接的层. 但是结果不是很令人满意. 经过4000次迭代后获得的结果仍然过拟合,但测试结果比以前提高了10%.
我们仍在寻找一种处理方法,但是显而易见的原因是我们的数据集不足,并且我们没有足够的时间进行更好的改进.
最终结果是经过5000次迭代,我们达到了43%的精度,但是运行时间超过了半小时.
PS: 实际上,由于这个结果,我们感到有些不安. 因此,我们找到了另一个标准数据集-CIFAR-10(〜kriz / cifar.html).

CIFAR-10数据集由10个类别中的60,000张32x32彩像组成,每个类别中有6000张图像. 它包含50,000张训练图像和10,000张测试图像.
我们使用与上面构建的相同的网络,经过10个小时的训练,测试集的准确性达到了78%.
第三种方法:
重新训练初始V3. 与此类似,我们随机选择几张图像进行训练,然后选择另一批图像进行验证.
有很多参数可以调整.
首先是训练步骤. 默认值为4000. 如果我们可以尽早获得合理的结果,则可以尝试更多或尝试较小的结果.
学习率控制着训练过程中最后一层更新的大小. 直观地讲,如果它较小,则学习将花费更长的时间,但最终它可以帮助提高总体准确性. **训练批次**大小将控制在一个训练步骤中检查的图像数量,并且由于对每个批次都应用了学习率,因此如果您想获得更大的批次以获得相同的效果,则需要整体效果减少他们的人数.
由于深度学习任务繁重且运行时间通常较长,因此我们不希望知道经过数小时的训练我们的模型实际上非常糟糕. 因此,我们经常检查验证的准确性. 这样我们也可以避免过度拟合. 通过分割,可以将80%的图像放入主训练集中,在训练期间保留10%作为验证,并频繁运行,然后使用最后10%的图像作为测试集来预测性能在现实世界中的分类器.
结果
第一种方法: 预处理数据集并使用sklearn运行KNN,SVM和BP神经网络.
结果如下所示. 由于SVM的结果非常差,甚至低于随机猜测,因此我们没有提供其运行结果.


我们可以从结果中看到:
在k-NN中,原始像素精度和直方图精度相对相同. 在具有5个标签的子数据集中,直方图的准确性比原始像素高一些,但是在所有原始像素中,原始像素显示出更好的结果.
在神经网络MLP分类器中,原始像素精度远低于直方图精度. 对于整个数据集(包含10个标签),原始像素精度甚至低于随机猜测.
这两种sklearn方法均未提供非常好的性能. 在整个数据集(带有10个标签的数据集)中识别正确类别的准确性仅约为24%. 这些结果表明,使用sklearn方法的图像识别效果不够好. 它们在对具有多个类别的复杂图像进行分类时表现不佳. 但是,与随机猜测相比,他们确实做了一些改进,但这还不够.
基于此结果,我们发现为了提高准确性,必须使用一些深度学习方法.
第二种方法: 如上所述,使用TensorFlow构造CNN. 由于过度拟合,我们无法获得良好的结果.

训练通常需要半小时才能运行,但是由于结果过于拟合,我们认为这段运行时间并不重要. 与方法1相比,我们可以看到尽管CNN的结果是过拟合的,但我们仍然会获得比方法1更好的结果.
第三种方法: 重新训练Inception V3.

整个培训进度不超过10分钟. 我们可以取得很好的结果. 基于此,我们实际上可以看到深度学习和迁移学习的巨大能量.
演示:

目标
基于以上比较,我们可以得出以下结论:
KNN,SVM和BP神经网络无法很好地执行诸如图像分类之类的特定任务.
尽管我们在CNN部分获得的结果是过拟合的,但它们仍然比处理教室中学习到的图像分类问题的其他方法要好得多.
转移学习对图像分类非常有效. 无需GPU,即可快速,准确地完成培训. 即使您的数据集很小,也可以很好地防止过度拟合.
我们在图像分类任务中学到了一些非常重要的经验. 这样的任务与我们在课堂上完成的其他任务完全不同. 数据集相对较大且不稀疏,并且网络复杂,因此如果不使用GPU,则运行时间将很长.
裁剪或调整图像大小以缩小图像.
为每次迭代训练随机选择一小批.
从验证集中随机选择一小批进行验证,并且在训练过程中经常会报告验证分数.
尝试使用图像增强功能将一组输入图像转换为一组较大的,稍有变化的图像.
对于图像分类任务,我们需要一个大于200 x 10的数据集,而CIFAR10数据集包含60,000张图像.
更复杂的网络需要更多的数据集进行训练.
请注意过度拟合.
原始标题: 计算机视觉如何对图像进行分类? KNN,SVM,BP神经网络,CNN,转移学习供您选择(使用开源代码)
文章来源: [微信: vision263com,微信公众号: 新机器视觉]欢迎大家关注!转载文章时请注明出处.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-194776-2.html
用户名输入时候键盘居然弹不出