卷积神经网络在二值图像上运行得更快吗

Posted

技术标签:

【中文标题】卷积神经网络在二值图像上运行得更快吗【英文标题】:Do convolutional neural networks run faster on binary images 【发布时间】:2018-10-27 16:23:06 【问题描述】:

我正在尝试一些 DCNN 来识别图像是二进制的手写单词(单词定位),我想知道计算时间是否会比使用 DCNN 处理其他灰度级或彩色图像更快。

此外,如何均衡图像大小,因为标准化单词的图像会产生具有不同比例的单词。 有什么建议吗?

【问题讨论】:

【参考方案1】:

灰度图像的计算时间肯定更快,但不是因为零,它只是输入张量大小。彩色图像为[batch, width, height, 3],而灰度图像为[batch, width, height, 1]。深度和空间大小的差异会影响在第一个卷积层上花费的时间,这通常是最耗时的层之一。这也是考虑调整图像大小的原因。

您可能还想了解1x1 convolution trick 以加快计算速度。通常在过滤器数量变得非常大时应用在网络中间。


至于第二个问题(如果我猜对了),最终你必须调整图像的大小。如果图像包含不同字体大小的文本,一种可能的策略是调整大小+填充或裁剪+调整大小。您必须知道每个特定图像的字体大小才能选择正确的填充或裁剪大小。这种方法需要(可能)大量的手动工作。

一种完全不同的方法是忽略这些差异并让网络学习 OCR,尽管字体大小存在差异。这是一个可行的解决方案,不需要大量的手动预处理,只需要更多的训练数据来避免过度拟合。如果您检查 MNIST dataset,您会注意到数字的大小并不总是相同,但 CNN 很容易达到 99.5% 的准确率。

【讨论】:

我忘了说我正在做单词识别。如果我们有两个词是同一个人写的,第一个是“Imagination”,另一个是“Bar”。它们可能具有相同的高度,但“Imagination”的宽度将大于“Bar”的宽度。将两个图像缩放到 64x64 将在“Imagination”图像中产生比“Bar”更小的字体。我正在考虑填充“Bar”的图像以匹配“Imagination”的大小,然后缩放两者。但是,这会使图像“条”带有一些空白(很多零)。数据增强会增加数据大小。

以上是关于卷积神经网络在二值图像上运行得更快吗的主要内容,如果未能解决你的问题,请参考以下文章

卷积神经网络(CNN)

卷积神经网络的整体认识

用于量子计算机的深度卷积神经网络

我们可以制作一个使用多个图像进行预测的卷积网络吗

卷积神经网络学习笔记与心得卷积

使用卷积神经网络构建图像分类模型检测肺炎