我是做交通标志识别工作使用德国交通标志检测基准数据库。它有43个类,每个类中至少有400个图像。图像可能有多达3个交通标志。
当我随机选择图像作为训练和验证集时,我在网络测试的准确性上有很大的差异。我构建了两个数据集:一个是75%的训练图像和25%的验证图像;另一个是70%的训练图像和30%的验证图像。
我使用相同的超参数的GoogLeNet进行训练,包括30个历元.
经过培训,我用不同的图像进行测试,这些图像都是为测试而设计的。使用第一个数据集,我得到的精度几乎比第二个数据集低10%。有人能解释一下吗?
它会不会是随机选择“更容易”的图像进行训练,这就是为什么我会得到较低的结果?
对于这两个数据集,我使用相同的图像,只是除以不同的百分比。
指向数据集的链接:http://benchmark.ini.rub.de/?section=gtsrb&subsection=dataset
发布于 2017-05-16 17:27:29
你有几类标牌?众所周知,GoogLeNet在此数据集上工作良好吗?记住,GoogLeNet是专为在ILSVRC 2012数据集上表现出色而设计的:大约130万张训练图像,1000个类。它扩展到数百个并行内核,为这个问题提供了很大的灵活性。
如果你有一个小得多的问题--比如说,在几个类别中的900张图片--那么GoogLeNet的规模很可能会超过你的应用程序。例如,请注意,最终完全连接的1000个参数层比单独识别训练集中的每一幅图像所需的要多。中间层的128-200+过滤器将发现各种虚假的特征,如绿色植物周围的6个速度区标志。
另外,请记住,GoogLeNet是为了识别输入图像中的单个图形而构建的:交通标志数据库可能在图像中有多达6个标志。这也可以混淆您的培训,这取决于您如何分类多符号图像。
如果您觉得这个任务需要GoogLeNet复杂性,我建议您减少层的宽度。例如,ILSVRC的历史表明,您的模型学习识别面部特征、车辆部件和花瓣,而路标的视觉元素则受到更多的限制。因此,虽然您可能希望第一层(边缘和区域检测)保持丰满,您将不需要太多的过滤器在中间层。
不,我不能给你一个可靠的起点:我还没有做几个月的实验来调整模型以适应这个问题。如果您想要看到一个极端的例子,请按照推荐的迭代次数对GoogLeNet进行培训,但是将其提供给MNIST数据库。更好的是,给它的文本处理器屏幕截图的tac脚趾位置,只归类为“赢”,“抽签”,和“输”。
https://stackoverflow.com/questions/43995642
复制相似问题