我正在尝试一些DCNN来识别图像是二进制的手写单词(单词发现),我想知道计算时间是否会比使用DCNN与其他灰度或彩色图像更快。
此外,如何均衡图像大小,因为规范化单词的图像将产生具有不同比例的单词。
有什么建议吗?
灰度图像的计算时间当然更快,但不是因为零,它只是输入张量大小。彩色图像[batch, width, height, 3]
,而灰度图像[batch, width, height, 1]
。深度和空间大小的差异会影响在第一个卷积层上花费的时间,这通常是最耗时的卷积层之一。这就是为什么还要考虑调整图像大小的原因。
您可能还想阅读有关 1x1 卷积技巧的信息,以加快计算速度。通常,当过滤器的数量变得非常大时,它会应用于网络的中间。
至于第二个问题(如果我做对了),最终你必须调整图像的大小。如果图像包含不同字体大小的文本,一种可能的策略是调整大小 + 填充或裁剪 + 调整大小。您必须知道每个特定图像的字体大小才能选择正确的填充或裁剪大小。这种方法(可能)需要相当数量的手动工作。
一种完全不同的方法是忽略这些差异,让网络学习OCR,尽管字体大小存在差异。这是一个可行的解决方案,不需要大量的手动预处理,而只需要更多的训练数据来避免过度拟合。如果你检查MNIST数据集,你会发现数字并不总是相同的大小,但CNN很容易达到99.5%的准确率。