写点什么

用于门牌号码检测的深度学习

发布于: 2020 年 09 月 26 日

我们都可以就一个问题达成共识,那就是“数字无处不在”。无论您是在办公室,厨房,当地的超级市场等等,我们始终都被数字包围。您的笔记本电脑具有 HDD 存储器,您要购买的蔬菜具有数字价格,您具有高度,天气温度以数字摄氏度(在我的位置是 52)进行测量。



类似地,机器学习领域的新手总是与 MNIST 数据集一起呈现。MNIST 就像是第一次吃奶到蹒跚学步的 ML 新手。它是什么?


该 MNIST 数据库(修改国家标准技术研究所的数据库)是一个大型数据库的手写数字是通常用于训练各种图像处理系统。该数据库还广泛用于机器学习领域的培训和测试。它是通过“重新混合” NIST 原始数据集中的样本而创建的。创作者认为,由于 NIST 的培训数据集是从美国人口普查局员工那里获取的,而测试数据集是从美国高中获取的学生们,它不适合进行机器学习实验。此外,对来自 NIST 的黑白图像进行了归一化处理,以适应 28x28 像素的边框,并进行了抗锯齿处理,从而引入了灰度级。

MNIST 数据库包含 60,000 个训练图像和 10,000 个测试图像。训练集的一半和测试集的一半来自 NIST 的训练数据集,而训练集的另一半和测试集的另一半则来自 NIST 的测试数据集。数据库的原始创建者保留了一些经过测试的方法的列表。在他们的原始论文中,他们使用支持向量机获得 0.8%的错误率。与 MNIST 类似的扩展数据集称为 EMNIST,已在 2017 年发布,其中包含 240,000 个训练图像和 40,000 个手写数字和字符的测试图像。

SVHN 数据集

这是斯坦福大学收集的数据集,可供公众进行实验和学习。


SVHN 是一个现实世界的图像数据集,用于开发机器学习和对象识别算法,而对数据预处理和格式化的要求最低。可以看出它的风格与 MNIST 相似(例如,图像的裁剪数字很小),但是合并了更多数量级的标记数据(超过 600,000 位数字图像),并且来自一个更加困难,尚未解决的现实问题(识别自然场景图像中的数字和数字)。SVHN 是从 Google 街景图像中的门牌号获得的。

这些图像尚未经过预处理或可以使用。因此,任何想使用它的人都必须做一些工作!


挑战

建立一种算法,对数据集中的不同门牌号进行分类。


问题

可用的数据集上的网站是在.MAT 格式。而且,如果您不知道,Python Notebooks 和所有算法都无法使用此类文件进行处理。因此,为什么要在进入很酷的东西之前将数据转换为可接受的数据格式是一种强迫。


老实说,作为一个新手,我不能自己编写函数来转换文件,因此做了很多挖掘工作。经过数十篇文章和 youtube 视频,我终于偶然发现了一个很有帮助的存储库。


现在,让我们继续进行模型创建!

环境与工具

  • Keras

  • Numpy

  • Scipy

  • Numpy



接下来,让我们预处理数据:



我们将此函数用作:



现在,当我们掌握了数据时,就可以对其进行扩展。现在,在将数据加载到体系结构之前对数据进行规范化已成为当今时代的规范,因为从缩放数据中学习模型比从随机分布的数据中学习更为容易。


规范化数据:



现在,我们确实有 73,257 张图片,但是


训练集是永远不够的!

因此,我们在这里使用 ImageDataGenerator 创建更多图像



我们现在仅生成测试图像,稍后将发布 Training 设置,因为我喜欢这种方式。


模型架构

这是有趣的部分!我在这里设计的架构包含 8 个卷积模块!


现在,我将卷积层用于:


  • 内核大小:5

  • 内核初始化程序:he_uniform

  • 内核正则化:l2

  • 激活方式:elu

  • 最大池数(2,2)

  • 批量归一化

  • Dropout 30%




然后是三个密集层:


  • 内核正则化:l2

  • 激活方式:elu

  • 批量归一化

  • Dropout 30%



超参数设置

在机器学习中,超参数优化或调整是为学习算法选择一组最佳超参数的问题。超参数是一个参数,其值用于控制学习过程。相反,其他参数的值(通常是节点权重)被学习。

我使用了自定义学习率修改器功能:



参数:


  • Loss Function: Categorical Cross Entropy

  • Optimizer: Adam

  • metrics = [‘accuracy’]

训练





果与结论

经过训练,我们的水平为 96.0%,老实说,我对此感到非常满意。


SVHN 是一个非常大而广泛的数据集,它来自一个非常棘手的问题,其中图像包含许多混乱和嘈杂的特征。与 MNIST,CIFAR-10 和 CIFAR-100 相比,它在文献中似乎没有得到充分利用。与 MNIST 和其他数据集不同,预处理是常见的做法,对于公平比较结果非常重要。对比度标准化的一种形式,特别是局部对比度标准化,是预处理 SVHN 数据集图像的常用技术。

希望本文对您有所帮助。


发布于: 2020 年 09 月 26 日阅读数: 57
用户头像

微信公众号:计算机与AI 2020.09.19 加入

数据科学科班出身,专注分享计算机和人工智能相关知识。

评论

发布
暂无评论
用于门牌号码检测的深度学习