1. 引言
虽然在过去 30 年中,机器学习 (ML) 领域对字符识别进行了广泛的研究,但大多数研究都集中在创建和分析表示手写数字和字母的不太理想的数据集上 [1]。此应用程序有许多用途,例如使用基于视觉的系统提高性能,转录和理解旧文本,以及使用隐写术和密码学的组合来隐藏图像中的信息 [2]。早期光学字符识别 (OCR) 研究的很大一部分集中在将修改后的美国国家标准与技术研究院 (MNIST) 数据集与卷积神经网络 (CNN) 结合使用上 [3,4]。这项工作的示例包括 2017 年将 MNIST 数据集扩展到字母 [5] 和围绕标准服装项目创建数据集 (Fashion MNIST) [6]。
在本文中,我们提出了基于 ML 的红绿色盲失真评估的想法、程序和结果,类似于 [7],旨在创建和训练一个神经网络模型,该模型可以通过人类书写的变化成功检测非理想颜色失真环境中的视觉字符。从本质上讲,这项研究不是简单地试图检测由于写作风格而严重失真的字符,而是试图通过在会导致信息变得更加稀释的环境中评估扭曲的字母来增强先前的研究。为此,使用了 Ishihara-Like MNIST [8] 数据集。此数据集包含 MNIST 数据集中的字符,但它们被放置在 Ishihara 圆圈内。石原圆圈 [9],通常被称为色盲圈,用于检测一个人可能具有哪一类色觉缺陷。在这个数据集中,与 MNIST 相反,字符在本质上不再具有凝聚力,因为整个圆圈由不同颜色的不同大小的圆圈组成。相比之下,标准的石原圆的中心有一个近乎完美的字符。数字 6 和 8 的标准石原圆和 MNIST 石原圆的示例如图 1 和图 2 所示。
图 1.标准 Ishihara Circle [10]。
1.1. 患病率
色盲,或者更确切地说是色觉缺陷,影响了近 8% 的男性和 0.5% 的女性,总共约占人口的 4% [11]。这种缺陷是由于眼睛视网膜中缺乏三种视锥细胞(一种感光细胞)中的一种或多种引起的。这些细胞负责我们的色觉和颜色敏感性。人眼由大约 600 万个视锥细胞组成,其中 60% 是红色感应,30% 是绿色感应,10% 是蓝色感应 [12]。这种缺乏可能是由于遗传疾病(最常见)、眼睛损伤或影响视神经的癌症和肿瘤引起的 [13]。此外,色盲可能是由药物、衰老引起的眼睛恶化以及阿尔茨海默病或帕金森病等疾病引起的 [14]。目前尚无已知的色盲治愈方法,但存在特殊眼镜和隐形眼镜或视觉辅助工具等缓解技术[13]。
虽然有 7 种官方诊断为色差,但最常见的是红绿色 [11]。红绿色缺陷概括了 7 种诊断中的 4 种:绿色神经瘤、红色金属瘤、红色盲和绿色神经盲。绿色瘤是最常见的,会导致绿色阴影看起来更红,而红色阴影会导致红色阴影看起来更绿色。红色盲是没有红色视锥细胞,而绿色视细胞是没有绿色视锥细胞。接下来的两个缺陷是蓝黄色:破伤病和破伤病。破伤病使蓝色和绿色以及黄色和红色难以区分。这是由于蓝色视锥体出现故障。另一方面,蓝色盲使患者无法区分蓝色和绿色、紫色和红色以及黄色和粉红色。因此,所有颜色都显得不那么亮。这种缺陷是由于缺乏蓝色视锥体造成的。最后一种类型的色觉缺陷被称为单色性、单色忍或全色差。这是完全没有色锥,导致所有颜色都以灰度显示 [15]。图 3 试图强调各种类型颜色缺陷之间的区别。虽然这张图片显示了颜色等级的比较,但它无法准确显示那些有给定缺陷的人的世界是如何呈现的。图 4 显示了在考虑水果的彩色图像时的七种不同的缺陷。
图 4.一张正常的彩色图像,然后是经过修改的图像,以模拟 7 种不同类型的色盲 [18,19]。
1.2. 动机
这似乎是一个武断的模型研究主题,但 ML 中的大多数色彩校正模型都是基于色盲患者如何感知世界的生理模型 [20]。该领域的大多数研究往往集中在纠正有缺陷的人的图像上[21,22,23,24]。因此,我们认为探索使用具有颜色失真的图像来训练神经网络模型非常重要,其目的不是修改图像,而是修改模型的架构以绕过或看穿失真。这样做,我们可以更好地理解大脑(或 CNN)在面对扭曲的数据输入时是如何学习的。
这项研究的实际应用是创建一个模型,该模型以近乎实时的方式处理具有严重失真的图像,以便机器可以读取图像,但人类无法读取。这是通过对在特定目标配色方案中具有严重人工颜色失真的数据进行训练来实现的。已经进行了大量研究,以使用颜色理论和颜色分割来帮助 CV 算法检测字符。在 [25\u201226] 中,这项研究被用来纠正污垢和褪色对交通标志的扭曲。此外,已经对颜色转换进行了更多研究,以增加对交通标志的检测,如 [27] 所示。本文的目标是利用研究背后的理论来使用这些图像中的颜色渐变,使它们对人类无法区分,但对机器来说却很清晰。如果模型理解 [28] 中提出的信息,也可以在 ML 领域完成额外的工作,因为碎片化的滤色器可以用来隐藏更多信息。
1.3. 背景
这项研究的基础始于复制 [29],其中 Solonko 试图修改传统的石原圆,使它们看起来更像 MNIST。目标是在 MNIST 上训练一个模型,然后使用他的自定义 Ishihara 圆圈对其进行测试,评估圆圈中心的字符。但是,为了获得高验证结果,图像进行了大量图像修改。这包括中位模糊、k-means 聚类、侵蚀、阈值和形态学 [29]。所有这些预处理技术都用于隔离圆圈内的字符,从根本上消除了背景的失真。到最后,只剩下黑色背景上的白色骨架图像版本。图 5 显示了他对图像的处理过程示例。应该注意的是,在将图像送入预处理之前,已经执行了一些处理,因为前景中的字符在颜色方面与其背景分离。为了扩大这项研究的覆盖范围,我们试图限制对图像的修改。
图 5.使用 Solonko 的工作进行预处理时对图像进行的修改 [29]。
1998 年,LeCun 等人 [3] 提出了 MNIST 数据集。它包括 60,000 张训练图像和 10,000 张从 0 到 9 的手写数字测试图像。这些数字是由 500 个不同的写入者手写的(分为两组),然后洗牌在一起。第一组来自高中生,第二组来自人口普查局的员工。这些手写数字被扫描成数字形式,标准化为20×20 元20×20像素,转换为灰度,然后填充以将其大小增加到28×28 元28×28 [3,4,30]。今天,原始数据集主要用作训练 OCR 模型和 CV 模型的基线,类似于基于 ML 的 “hello world” 程序 [4]。除了研究和构建ML模型之外,原始的MNIST数据集还用于各种业务领域,如用于读取支票的银行、读取地址和邮政编码的邮政服务以及用于对手写文档进行排序的文档管理[31]。如前所述,MNIST 数据集已扩展到许多其他领域。这里的重点是将更多领域封装成类似 MNIST 的形式,以便也可以在这些领域进行研究。语言领域的扩展包括制作类似于原始数据集的数据集,由英文字母而不是数字组成 (EMIST) [5]、Kuzushiji(草书日语)[32],甚至古苏美尔字符 [33]。例如,在语言之外,Fashion-MNIST 旨在帮助训练神经网络识别各种服装,例如衬衫、衬衫、连衣裙和鞋子。该数据集旨在成为 MNIST 的现代替代品 [34]。使用这些更详细的数据集可以帮助解决深度神经网络 (DNN) 中的过拟合问题,如 [35] 所示,并有助于识别日常物体,如 [6] 所示。图 6、图 7 和图 8 显示了带有指示扩展的原始 MNIST。这些图像是使用 Keras 的数据集创建的。

图 6.原始 MNIST。
然而,就这项研究而言,类似 Ishihara 的 MNIST 数据集并不是为了字符识别而创建的。它被创建并用于探索可解释的 AI,即人类应该能够信任基于计算机的系统的有效性评估。为此,为以人为本的评估制定了评估框架。为此,创建了类似石原的 MNIST 圆圈并在色盲个体身上进行了测试,他们需要解释以确定他们对图像的解释是否正确。因此,他们必须依赖机器在该评估中的有效性 [36]。鉴于 ML 的当前局限性,这是 MNIST 的完美用途,可以提出大多数人无法正确回答的无偏见问题。这提供了样本的均匀分布,并允许使用非色盲样本进行控制。
为了创建这些 Ishihara 圆圈,使用了以下过程。首先,加载原始 MNIST 图像,并将角色与其背景分离。为此,对图像进行了二值化并应用了单色缩减。提取数字后,字符的内部和外部轮廓被放置在空白背景上。虽然文档中没有明确说明,但图像在某个时候被调整了大小,因为最终结果是票价:128×128 元128×128图像。然后使用 Monte Carlo 模拟,生成一个内部具有不同圆圈的圆圈,并将提取的 MNIST 帧放置在圆圈中。边缘检测用于校正数字和背景内的圆圈,以确保所有圆圈都完全形成。然后,根据印版对背景和字符进行着色 [36]。图 9 描述了此过程。
图 9.将 MNIST 字符转换为类似 Ishihara 的 MNIST 圆圈的过程 [36]。
1917 年,东京大学的 Shinobu Ishihara 博士创建并引入了色盲测试 [9]。该测试由一系列“板”或图像组成,通常一次 14、24 或 38 张。这些盘子包含紧密排列的圆圈,这些圆圈的大小和颜色各不相同,以隐藏一个数字。接受色觉缺陷测试的患者获得了这些板,并要求正确识别它们。正确车牌总数的分数确定了缺陷的严重性。为了区分不同类型的色盲,编号板具有不同的含义 [37]。Ishihara-Like MNIST 数据集包括其中 8 个图版(数字 2-9)和 1 个包含随机颜色的附加图版。此数据集的每个文件夹包含 10000 张训练图像和 2000 张测试图像。虽然没有明确分享每个图版的分类包含什么,但据称这些图版的生成“合理地 [原文如此] 再现了原始石原图版的主题”[36]。通过这种说法,可以假设遵循相同的命名法和颜色计划。唯一的差异是板 2 是正常板而不是板 1。在图 10 中,每张图像都显示了图像应该描绘的内容以及红绿色个体以 (实际答案、颜色缺陷答案) 的形式看到的内容。应该注意的是,这些图像仅覆盖了红绿色盲,因为其他缺陷在大于 9 的图版中表示。此外,在研究此主题时,盘子列表存在一些偏差,其中盘子顺序错误或更改。因此,并非每个测试的图像顺序完全相同。最后,创造了只有色盲才能看到的板。图 11 显示了其中一个板的示例。
图 10.来自 Ishihara 测试的 Ishihara 板样本。括号内的第一个数字是正确的数字,其次是红绿色盲患者会看到的数字 [38,39]。

图 11.只有红绿色盲才能破译的盘子。圆圈内的值为 73 [38]。
虽然许多其他领域在他们的研究中都使用了石原圆,但未经专家修改,没有其他研究或文章使用这个特定的数据集。[40] 中所示的其他已发表工作在模型的训练和评估中使用标准的 Ishihara 圆。然而,应该注意的是,[40] 中使用的图像也被大量修改以达到高验证精度,并且圆圈内的字符不是手写变体。类似的研究类型也见于[41],其中模型是在以模糊角度或困难的字体样式拍摄的字符图像上进行训练的,或者在[42]中,模型是在旧文件或文本拍摄的图像上进行训练的,这些图像的时间已经降低了图像质量。这两篇文章的目标是从图像中推断出角色,尽管颜色失真。
在这项研究中,我们使用了 LeNet [43]、VGG16 [44]、Alexnet [45] 和 AlexNet 架构的两种修改来评估石原圆。由于 Ishihara-Like MNIST 数据集是使用原始 MNIST 数据集创建的,因此还使用了用于训练 MNIST 的标准模型。这设置了一个基线,以查看用于训练 MNIST 字符的原始模型是否可用于评估圆圈。前面提到的其他模型背后的原因是,它们都是对原始MNIST模型的重大改进,并且在OCR训练中显示出更高的准确性[46,47]。虽然可以使用更高级的模型,如YOLO [48],但目标是优化一个小型架构,这将增加训练模型所需的时间。在测试中,使用了数据的各种排列。这包括在彩色 Ishihara-Like MNIST 圆圈上训练和测试模型,在灰度 Ishihara-Like MNIST 圆圈上训练和测试,以及交叉测试两组。
图 12 显示了类似石原的灰度 MNIST 圆圈及其颜色对应物的示例。此图中的彩色图像是使用 matplotlib 生成的,其中由于颜色映射,颜色并不完全符合它们应有的显示方式。圆圈内的字符是 “2”。
Figure 12. Grayscale (left) and Color MNIST Ishihara Circle (right).
1.4. 概述
第 2 节列出了本研究的实验设计。它从 2.1 节开始,说明了用于执行这项研究的工具。然后在 Section 2.2 中,提供了如何将每个数据集加载、处理和摄取到神经网络模型中的过程。在 Section 2.3 中,显示了用于评估数据集的模型、选择数据集的原因以及所做的修改。在第 2.4 节中,给出了判断这些模型在数据集中的有效性的指标。然后在 Section 2.5 中,描述了执行的测试用例的完整列表。最后,第 2.5 节以我们对每个测试用例如何执行的初始假设结束。第 3 节量化了我们的研究结果。这包括全面的表格,其中显示了每个测试的输出以及每个测试的指标。这些结果包括我们对每项测试执行情况的分析。此外,还显示了使用整个类似 MNIST 的 Ishihara 数据集进行训练和测试的模型的混淆矩阵。第 4 节总结了我们整个研究的结果,并以我们的发现结束。
2. 实验设计
在下一节中,描述了用于测试这项研究的方法。这包括用于创建 Python 脚本的工具、测试脚本的过程、模型选择以及评估的执行方式。此外,本节还列出了用于执行上述测试的硬件。
2.1. 使用的工具
这项研究使用 Python 作为编程语言,使用 Keras 和 Tensorflow 进行 ML 方面,并使用 OpenCV 进行图像处理。这些选择主要是由于与 Solonko 之前的作品的兼容性。通过使用通用工具,可以轻松修改架构以进行进一步测试。
2.2. 测试流程
为了执行充分的测试,在 Python 中构建了一个程序,其中包含两个父类:Data Loader 和 Model Wrapper。这两个包装器是在两个不同的数据集和四个不同的模型之间进行进行的选择的起点。Data Loader 分为两部分。一个部分处理加载和处理类似 Ishihara 的 MNIST 集,另一个部分加载和处理 MNIST 数据集。虽然这两个部分以相同的方式运行,但由于两个数据集之间的形式差异,它们被分开了。然后,Model Wrapper 使用指定的图像和标签并执行训练、测试和评估。
MNIST 是通过 API 调用以数组的形式直接从 Keras 中提取的。虽然在测试中不是必需的,但已经实现了调整 MNIST 数据集大小以使其与 Ishihara 集的大小相匹配的功能。此外,使用 OpenCV 实现了一个函数,将滤色器应用于 MNIST 数据集,以确定添加颜色是否对模型的训练有任何影响。应用于 MNIST 数据集的可能颜色掩码如下:viridis、magma、plasma、inferno、cividis、mako、rocket 和 turbo。图 13 显示了修改后的 MNIST 图像及其原始图像的示例。
图 13.使用 “inferno” 颜色掩码的 MNIST 数字的原始版本(左图)和彩色版本(右图)。
类似石原的MNIST集是从Kaggle下载的[49],并以包含9个子文件夹(或板)的文件夹的形式提供,每个子文件夹都包含打印机命令语言(.pcl)文件形式的训练和测试集。每个子文件夹都包含 10 k 个训练图像和 2 k 个测试图像。由于 Ishihara 集存储在文件中,因此必须加载这些文件,将其处理为张量,并添加到数组中。为了包含运行程序所需的内存量,实现了加载特定数量的图像或板的选项。此外,为了测试灰度图像,使用 OpenCV 进行了颜色修改。应该注意的是,这些图像的原始配色方案是 BGR,而不是标准 RGB。除了将图像从彩色转换为灰度之外,没有应用其他预处理技术。
加载和处理图像后,即可构建模型并开始训练。使用父结构进行模型选择允许每个单独的模型共享使用 Keras 中的内置函数,而无需重新实现代码。在训练模型时,可以设置要训练的 epoch 数量、训练准确率阈值、验证准确率阈值和验证拆分。默认情况下,对于每个数据集,使用标准的 80%/20% 拆分来分离训练集和验证集。
对于每次运行,纪元数默认为 50;但是,如果满足训练和验证精度,则训练可能会停止。作为一般概念,中型数据集使用 50 到 200 个 epoch 之间的任意时间,其中 medium 定义为 10 GB 到 1 TB 之间的任何集合 [50]。出于我们的研究目的,该值基于在初步训练中稳定训练灰度 Ishihara 所需的纪元数量。对于 MNIST 的训练/测试,99% 用于训练和验证准确性。同样,对于彩色 Ishihara 和灰度 Ishihara,99% 用于训练和测试。图 14 显示了数据流和程序作。
2.3. 模型训练和选择
如前所述,由于以下模型在 OCR 中的重要性,因此使用了它们。具体来说,选择每个模型都是因为它在 MNIST 数据集上的训练中的重要性。鉴于 Ishihara-Like MNIST 数据集是从原始 MNIST 数据集创建的,因此使用用于训练 MNIST 的标准模型架构作为本研究的基线。如图 [51] 所示,这个模型是一种简单的架构,由两个 Conv2d 层和两个 Dense 层组成。特别是,“ReLu”激活函数因其能够加速梯度计算和向数据集引入非线性的能力而被使用[52]。虽然这个模型没有正式的名称,但在本文的其余部分,我们将它称为 MNIST 模型。对于此模型和列出的顺序模型,使用了 “Adam” 优化器,因为它是领先的自适应随机梯度下降优化器。对于损失,使用了 “Sparse Categorical Cross Entropy” ,因为它在预测具有多个类别的模型方面效果很好。
对于第二个模型,使用了 LeNet5。LeNet 是一种卷积神经网络,由贝尔实验室的 Yann LeCun 和他的同事于 1998 年推出。它“被认为是为深度学习奠定基础的经典模型”[43,53]。它被提议用于手写图像。由于架构较小,因此运行起来也很容易和快速。鉴于本研究运行 MNIST 数据集和 MNIST 的衍生数据,该模型与显示更高效架构的进展是一致的。除了参数数量之外,该模型与创建之前使用的模型的区别在于从 “Sigmoid” 到 “TanH” 激活函数的变化。这种变化允许在训练神经网络时获得更高的梯度值 [54]。
虽然前两个模型的尺寸相对较小,但第三个模型使它们相形见绌,并且涉及的程度要高得多。VGG16 是由牛津大学的 K. Simonyan 和 A. Zisserman 于 2014 年引入和开发的 CNN。它之所以臭名昭著,是因为它在 ImageNet 上实现了 92.7% 的准确率,这在当时是无与伦比的。此外,该模型通过表明模型可以在将卷积核的大小减小到 (3, 3) 而不是当时使用的 (11, 11) 的情况下进行学习 [44,55]。与以前的模型一样,VGG16 用于图像分类、图像识别和对象检测任务。使用此模型的潜在缺点是其大小。VGG16 由 13 个卷积层、5 个 max-pooling 层和 3 个全连接层组成。应该注意的是,这是用于训练类似 Ishihara 的 MNIST 的模型。从他们的文档中可以看出 [36] 使用了标准模型,除了在每个 Conv2d 层之后添加了一个批量归一化 [36] 之外,没有进行任何修改。
AlexNet 是标准 OCR 模型的第四选择。AlexNet 由 Alex Krizhevsky、Ilya Sutskever 和 Geoffrey E. Hinton 于 2012 年在多伦多大学推出。它是作为一种比以前的模型更快的图像识别和分类任务方法而开发的。该模型的目的是通过解决Dropout的梯度下降问题,将激活函数从Tanh设置为ReLu,并允许层的重叠池化[45\u201256]来纠正深度学习的先前问题。
除了这四种不同的模型之外,我们决定对 AlexNet 的架构进行分支和修改,以提高其大小的效率。在最初的研究和训练中,我们发现 AlexNet 似乎在 Ishihara 数据集上运行所需的 epoch 和时间最少,表现最好。这使我们能够利用比 VGG16 小得多的模型。在第五个模型中,我们将 AlexNet 滤波器的大小减少了 4,将内核大小从 (11, 11) 减少到 (5, 5),并将 dropout 从 0.5 减少到 0.1。通过减少滤波器的数量,模型大小也会按此系数减小。如果内核大小较小,该模型有望能够更好地泛化特征。最后,通过减少 dropout,在训练过程中减少 dropout 的神经元。在本文的其余部分,此模型将称为 Custom 1。在第六个模型中,我们将滤波器减少了 8 个,但所有其他参数保持不变。此模型将称为 自定义 2。这两个模型的目标是比 VGG16 或原始 AlexNet 运行得更快,同时最大限度地减少使用较小模型的性能损失。表 1 显示了为本研究选择的每个模型的摘要。为了允许复制我们的流程,Python 中两个自定义模型的编译器和架构如图 15 和图 16 所示。对于其他模型(MNIST、LeNet5 和 VGG16),使用了标准架构,并在每个 Conv2D 层之后添加了一个批量归一化层。
图 15.在 Python 中自定义 1 个模型。
表 1.按参数数量和模型大小对每个模型进行比较。
Table 1. A comparison of each of the models by number of parameters and model size.
Model Name | Number of Trainable Parameters | Number of Layers | Conv2d Layers | Dense Layers |
---|
MNIST | 2,416,330 | 8 | 3 | 2 |
Lenet | 1,214,006 | 8 | 2 | 3 |
VGG16 | 50,415,434 | 22 | 13 | 3 |
AlexNet | 23,357,514 | 19 | 5 | 3 |
Custom 1 | 1,469,466 | 19 | 5 | 3 |
Custom 2 | 371,154 | 19 | 5 | 3 |
2.4. 成功指标
为了在对数据集的评估中比较每个模型,我们建立了定量基础。为此,我们使用了多个指标来确定哪些模型在每个测试用例中表现最佳。对于运行的每个模型和测试用例,都记录了以下指标以供评估:
-
性能:模型在预测新图像时达到的总体准确率百分比。这是最重要的价值。目标是让模型对以前从未见过的图像进行高精度评估。这将是我们与之前研究进行比较的指标。
-
Precision:模型在所有实例中正确预测的阳性的百分比。
-
召回率 (TPR):模型正确识别的实际阳性的百分比。
-
训练时间(以秒为单位):训练模型所花费的时间。与 epoch 的数量相同,目标是尽快运行模型。
-
评估时间(以秒为单位):模型对新图像或新图像批次进行评估所花费的时间。在现实世界中,这是将模型整合到 OCR 传感器中时最重要的值。
应该注意的是,[36] 在类似石原的颜色 MNIST 上使用 VGG16 实现了 99% 的性能准确率。没有说明用于训练该模型的数据集的百分比或训练需要多长时间。但是,在我们的研究中,我们将使用数据集的彩色和灰度版本进行训练。在训练和测试这些模型时,使用了 NVIDIA A100 80GB PCIe GPU。
在测试之前,我们的假设是 MNIST 数据集在所有模型上都表现良好。鉴于这些模型中的每一个之前都是在 MNIST 上训练的,我们预计评估准确率不会低于 99% 或 98%。对于类石原 MNIST 数据集,由于数据集的复杂性,我们预计较小模型(MNIST 和 LeNet)的准确性可能会显著降低,但与较大模型(VGG16 和 AlexNet)的 MNIST 相当。然而,由于训练信息的减少,预计 Ishihara 的灰度版本的性能将明显差于彩色版本。对于数据集的交叉测试,假设模型的性能与随机猜测相当,因为模型是使用两个不同的数据集进行训练和测试的。然而,我们希望它会比机会稍微好一点,因为 MNIST 被纳入了类似 Ishihara 的 MNIST 数据集中。
2.5. 测试用例
对于上述每个模型,我们试图通过测试尝试一些变体。虽然这项研究的最终目标是找到比以前的研究更好的 Ishihara-Like MNIST 数据集并执行得更好,但我们认为比较变化并分析输出会很有启发性。通过将测试扩展为两类(彩色和灰度),并通过交叉测试两个数据集,我们希望了解这些数据集学习了哪些特征。此外,如果数据集对灰度的性能与对颜色的性能相同,这将表明信息从一个通道扩展到三个通道对神经网络从这些数据集中学习和提取特征的能力影响很小或没有影响。在上述每个模型上执行的测试用例如图 17 所示。
在前两个测试用例中,目标是了解 MNIST 如何在架构上进行训练,这将为类似 Ishihara 的 MNIST 的性能提供初步假设。但是,MNIST 是一个使用起来要简单得多的数据集,并且具有连贯的字符。虽然不需要 MNIST 的彩色版本,但我们想观察当从一个通道扩展到三个通道时,MNIST 的训练输出是否有任何变化。接下来的两个测试用例 (Ishihara) 是这项研究的关键,我们将尝试超越之前研究的性能值。对于测试用例 5-8,我们试图确定模型是否学习了任何特征提取或特征空间,以允许它在完全不同的数据集上进行交叉测试。尽管类似 Ishihara 的 MNIST 数据集是使用 MNIST 创建的,但该数据集差异很大,以至于模型不太可能表现得非常好。
3. 结果
在以下部分中,列出了每个测试的结果。在每个表中,性能准确率、模型精度、模型召回率、模型训练所花费的时间(以秒为单位)和评估所花费的时间(以秒为单位)列为(准确率、纪元、训练时间、评估时间)。请注意,训练时间是训练模型所花费的总时间,评估时间是正确预测测试图像数量所花费的时间。因此,要计算确定一个图像所需的时间,请将列出的评估时间除以测试图像的总数。此外,只有 Ishihara 检验具有相关的混淆矩阵,因为它们与本研究最相关。
为了为整个评估设置基线,原始 MNIST 数据集针对每个模型进行了训练和测试。如表 2 所示,它的表现与预期相当好。我们预计前两个模型(MNIST 和 LeNet5)的性能会更高,但这种下降可能是由于原始数据集的大小从 (28, 28, 1) 调整为 (112, 112, 1)。执行图像大小调整,使 MNIST 数据集与 Ishihara-Like MNIST 数据集的大小相同。如表 3 所示,在 MNIST 图像中注入颜色似乎对模型的性能影响不大。重申一下,性能符合预期,但有一半的模型略低于 99% 的目标值。
表 2.对于上述测试,原始 MNIST 数据集用于训练和评估每个模型。
Table 2. For the above test, the original MNIST dataset was used to train and evaluate each model.
Test 1—Original MNIST (Accuracy, Precision, Recall Training Time, Evaluation Time)—60 k Training Images, 10 k Testing Images |
---|
Model | Results |
MNIST | (98.37%, 98.38%, 98.36%, 835 s, 6.33 s) |
LeNet5 | (98.21%, 98.21%, 98.20%, 820 s, 7.45 s) |
VGG16 | (99.14%, 99.13%, 99.15%, 493 s, 8.28 s) |
AlexNet | (99.22%, 99.23%, 99.22%, 221 s, 6.39 s) |
Custom 1 | (99.12%, 99.11%, 99.12%, 199 s, 6.69 s) |
Custom 2 | (99.21%, 99.21%, 99.20%, 333 s, 6.12 s) |
表 3.在此测试中,使用 MNIST 数据集的彩色版本来训练和评估每个模型。
Table 3. In this test, the colored version of the MNIST dataset was used to train and evaluate each model.
Test 2—Color MNIST (Accuracy, Precision, Recall, Training Time, Evaluation Time)—60 k Training Images, 10 k Testing Images |
---|
Model | Results |
MNIST | (98.68%, 98.68%, 98.66%, 957 s, 6.12 s) |
LeNet5 | (97.90%, 97.91%, 97.87%, 938 s, 8.23 s) |
VGG16 | (99.10%, 99.10%, 99.09%, 566 s, 8.30 s) |
AlexNet | (99.24%, 99.26%, 99.23%, 276 s, 7.51 s) |
Custom 1 | (98.98%, 98.99%, 98.96%, 189 s, 10.00 s) |
Custom 2 | (99.16%, 99.17%, 99.16%, 247 s, 8.66 s) |
在每个模型中,性能准确性都在其他模型的 1% 或 2% 以内。虽然这些结果是预期的,但 LeNet5 模型在两个版本的数据集上表现最差。我们认为这是由于使用了 “TanH” 激活函数而不是现代的 “Relu” 函数。这两项测试的异常之处在于 Custom 1 和 Custom 2 的性能与 MNIST 和 LeNet5 模型相比。自定义 1 和 2 的性能优于其他两个参数较少的模型中的任何一个。在 Custom 2 的情况下,该架构大约比 MNIST 小 8 倍,但性能优于 MNIST。我们认为这是由于增加了更多的卷积层以及更大的内核大小。
表 4 和表 5 显示了使用每个模型在 Ishihara-Like MNIST 数据集上进行训练和评估的结果。表 4 使用图像的灰度版本,表 5 使用图像的彩色版本。这些测试分为几个部分。首先,在每个模型上单独测试每个板,其中每个板包含 10 k 训练图像和 2 k 测试图像。应该注意的是,我们认为这还不足以用于模型的训练阶段,但这是 [8] 中每个板的最大图像数量。在最后一次测试中,将所有板组合成一个数组,使得该数组包含 90 k 个训练图像和 18 k 个测试图像。如果模型的性能准确率为 10%,这意味着模型的性能与偶然性相当,因为此数据集中有 10 个类。
表 4.在每个模型上每个板上灰度 Ishihara-Like MNIST 图像的训练/测试结果,然后是所有板组合的运行。
Test 3: Grayscale Ishihara (Accuracy, Precision, Recall, Training Time, Evaluation Time)—10 k Training Images, 2 k Testing Images Per Plate |
---|
Plate | MNIST | LeNet5 | VGG16 |
2 | (43.00%, 78.18%, 43.00%, 113 s, 0.74 s) | (33.85%, 53.03%, 33.85%, 152 s, 0.84 s) | (84.85%, 88.25%, 84.85%, 391 s, 1.44 s) |
3 | (65.35%, 78.47%, 65.35%, 149 s, 0.77 s) | (42.00%, 64.12%, 42.00%, 153 s, 1.07 s) | (93.65%, 94.15%, 93.65%, 388 s, 1.07 s) |
4 | (50.90%, 72.67%, 50.90%, 152 s, 0.92 s) | (40.75%, 49.52%, 40.75%, 147 s, 0.90 s) | (75.90%, 83.55%, 75.90%, 383 s, 0.85 s) |
5 | (41.50%, 73.07%, 41.50%, 148 s, 0.88 s) | (25.95%, 57.72%, 25.95%, 151 s, 0.91 s) | (78.35%, 85.23%, 78.35%, 383 s, 1.03 s) |
6 | (45.20%, 73.90%, 45.20%, 152 s, 0.90 s) | (31.40%, 61.03%, 31.40%, 129 s, 0.87 s) | (43.95%, 66.19%, 43.95%, 383 s, 1.11 s) |
7 | (42.50%, 62.24%, 42.50%, 151 s, 0.72 s) | (32.45%, 61.74%, 32.45%, 151 s, 0.76 s) | (75.50%, 82.82%, 75.50%, 362 s, 0.95 s) |
8 | (82.65%, 82.88%, 82.65%, 152 s, 0.80 s) | (50.55%, 64.38%, 50.55%, 151 s, 0.59 s) | (68.30%, 81.07%, 68.30%, 359 s, 0.90 s) |
9 | (82.40%, 82.92%, 82.40%, 151 s, 0.79 s) | (41.20%, 62.24%, 41.20%, 149 s, 0.73 s) | (91.60%, 91.93%, 91.60%, 384 s, 0.89 s) |
rand | (80.30%, 80.54%, 80.30%, 152 s, 0.72 s) | (60.45%, 60.83%, 60.45%, 150 s, 0.71 s) | (10.00%, 1.00%, 10.00%, 382 s, 0.95 s) |
all | 91.16%, 91.35%, 91.16%, 1238 s, 6.08 s) | (78.43%, 78.55%, 78.43%, 1214 s, 5.84 s) | (98.53%, 98.53%, 98.53%, 732 s, 7.49 s) |
Plate | AlexNet | Custom 1 | Custom 2 |
2 | (57.70%, 77.69%, 57.70%, 177 s, 0.91 s) | (81.00%, 85.56%, 81.00%, 166 s, 0.87 s) | (55.35%, 76.27%, 55.35%, 173 s, 0.91 s) |
3 | (85.75%, 87.47%, 85.75%, 177 s, 0.80 s) | (76.85%, 81.76%, 76.85%, 167 s, 0.93 s) | (69.60%, 75.39%, 69.60%, 165 s, 0.82 s) |
4 | (87.05%, 89.04%, 87.05%, 174 s, 0.94 s) | (69.70%, 80.16%, 69.70%, 172 s, 0.85 s) | (61.10%, 76.24%, 61.10%, 167 s, 0.91 s) |
5 | (82.45%, 88.81%, 82.45%, 179 s, 0.89 s) | (72.50%, 81.78%, 72.50%, 172 s, 0.89 s) | (69.20%, 76.53%, 69.20%, 170 s, 0.88 s) |
6 | (83.55%, 87.31%, 83.55%, 177 s, 0.86 s) | (67.10%, 79.72%, 67.10%, 175 s, 0.90 s) | (74.60%, 77.64%, 74.60%, 172 s, 0.95 s) |
7 | (78.75%, 83.65%, 78.75%, 175 s, 0.70 s) | (68.50%, 81.56%, 68.50%, 173 s, 0.74 s) | (67.80%, 74.95%, 67.80%, 172 s, 0.75 s) |
8 | (85.00%, 86.97%, 85.00%, 174 s, 0.75 s) | (68.85%, 77.39%, 68.85%, 172 s, 0.77 s) | (66.65%, 74.87%, 66.65%, 170 s, 0.75 s) |
9 | (67.85%, 81.03%, 67.85%, 177 s, 0.70 s) | (76.65%, 81.07%, 76.65%, 173 s, 0.69 s) | (75.35%, 76.99%, 75.35%, 169 s, 0.68 s) |
rand | (78.25%, 81.50%, 78.25%, 175 s, 0.73 s) | (72.50%, 75.84%, 72.50%, 169 s, 0.73 s) | (68.30%, 74.57%, 68.30%, 169 s, 0.79 s) |
all | (89.84%, 90.9%, 89.84%, 1413 s, 5.81 s) | (90.29%, 90.83%, 90.29%, 1391 s, 6.10 s) | (88.06%, 88.67%, 88.06%, 1395 s, 5.94 s) |
表 5.每个模型与每个板的彩色 Ishihara-Like MNIST 图像的训练/测试结果,然后是所有板组合的运行。
Test 4: Color Ishihara (Accuracy, Precision, Recall, Training Time, Evaluation Time)—10 k Training Images, 2 k Testing Images Per Plate |
---|
Plate | MNIST | LeNet5 | VGG16 |
2 | (94.25%, 94.28%, 94.25%, 162 s, 1.44 s) | (92.45%, 92.44%, 92.45%, 172 s, 1.42 s) | (98.25%, 98.27%, 98.25%, 413 s, 1.60 s) |
3 | (94.30%, 94.31%, 94.30%, 172 s, 1.45 s) | (93.35%, 93.38%, 93.35%, 166 s, 1.44 s) | (97.75%, 97.83%, 97.75%, 406 s, 1.35 s) |
4 | (95.90%, 95.91%, 95.90%, 171 s, 1.42 s) | (93.45%, 93.44%, 93.45%, 166 s, 1.38 s) | (97.50%, 97.58%, 97.50%, 401 s, 1.60 s) |
5 | (94.60%, 94.63%, 94.60%, 174 s, 1.43 s) | (92.25%, 92.32%, 92.25%, 171 s, 1.44 s) | (97.95%, 97.99%, 97.95%, 403 s, 1.77 s) |
6 | (95.40%, 95.42%, 95.40%, 171 s, 1.41 s) | (92.80%, 92.86%, 92.80%, 171 s, 1.47 s) | (97.45%, 97.50%, 97.45%, 392 s, 2.79 s) |
7 | (96.45%, 96.45%, 96.45%, 171 s, 1.55 s) | (93.00%, 93.01%, 93.00%, 169 s, 0.98 s) | (99.00%, 99.00%, 99.00%, 402 s, 0.92 s) |
8 | (94.75%, 94.76%, 94.75%, 171 s, 1.00 s) | (92.15%, 92.19%, 92.15%, 171 s, 1.03 s) | (99.10%, 99.11%, 99.10%, 398 s, 1.17 s) |
9 | (95.15%, 95.16%, 95.15%, 170 s, 0.94 s) | (92.80%, 92.83%, 92.80%, 168 s, 0.89 s) | (98.55%, 98.56%, 98.55%, 401 s, 1.06 s) |
rand | (78.95%, 79.08%, 78.95%, 171 s, 1.19 s) | (44.20%, 43.83%, 44.20%, 168 s, 1.21 s) | (10.00%, 1.00%, 10.00%, 404 s, 0.92 s) |
all | (92.30%, 92.40%, 92.30%, 1328 s, 10.74 s) | (82.26%, 83.68%, 82.26%, 1319 s, 8.85 s) | (98.31%, 98.32%, 98.31%, 572 s, 11.73 s) |
Plate | AlexNet | Custom 1 | Custom 2 |
2 | (94.10%, 95.10%, 94.10%, 194 s, 1.41 s) | (95.75%, 95.95%, 95.75%, 191 s, 1.44 s) | (95.95%, 96.01%, 95.95%, 190 s, 1.36 s) |
3 | (96.30%, 96.43%, 96.30%, 196 s, 1.50 s) | (96.55%, 96.62%, 96.55%, 182 s, 1.51 s) | (94.55%, 94.84%, 94.55%, 190 s, 1.43 s) |
4 | (89.95%, 91.19%, 89.95%, 190 s, 1.42 s) | (96.85%, 96.92%, 96.85%, 190 s, 1.46 s) | (96.40%, 96.45%, 96.40%, 188 s, 1.41 s) |
5 | (95.25%, 95.43%, 95.25%, 195 s, 1.44 s) | (97.25%, 97.27%, 97.25%, 186 s, 1.46 s) | (96.20%, 96.26%, 96.20%, 190 s, 1.45 s) |
6 | (96.85%, 96.89%, 96.85%, 196 s, 1.45 s) | (96.65%, 96.84%, 96.65%, 190 s, 1.48 s) | (97.10%, 97.13%, 97.10%, 182 s, 1.47 s) |
7 | (94.40%, 95.04%, 94.40%, 193 s, 0.86 s) | (97.40%, 97.43%, 97.40%, 191 s, 0.94 s) | (96.55%, 96.69%, 96.55%, 188 s, 0.89 s) |
8 | (93.70%, 94.49%, 93.70%, 195 s, 0.97 s) | (95.75%, 96.05%, 95.75%, 192 s, 1.07 s) | (96.20%, 96.33%, 96.20%, 192 s, 0.91 s) |
9 | (95.70%, 95.92%, 95.70%, 199 s, 0.85 s) | (92.50%, 93.81%, 92.50%, 191 s, 0.94 s) | (96.95%, 97.00%, 96.95%, 192 s, 1.46 s) |
rand | (83.70%, 85.24%, 83.70%, 196 s, 1.02 s) | (76.50%, 78.74%, 76.50%, 194 s, 0.91 s) | (76.20%, 77.45%, 76.20%, 194 s, 0.94 s) |
all | (96.77%, 96.78%, 96.77%, 1512 s, 9.07 s) | (94.38%, 94.54%, 94.38%, 1484 s, 10.36 s) | (90.81%, 90.92%, 90.81%, 1472 s, 9.48 s) |
在使用此数据集进行测试的早期阶段,前三个模型(MNIST、LeNet5 和 VGG16)在该数据集的灰度和彩色方面都表现非常糟糕。只有当将所有 90k 图像一起测试时,才能获得更好的结果。鉴于 VGG16 用于该数据集的原始训练,这促使了进一步的调查。在分析了这三种模型与 AlexNet 之间的差异后,我们得出结论,这是由于缺乏数据归一化造成的。因此,这就是在每个模型的每个 Con2d 层之后插入批量归一化层的原因。在回顾 [36] 后,这一理论得到了进一步的证实,发现他们在使用 VGG16 的训练中插入了这一层。插入层后,性能急剧提高。
如表 4 所示,所有模型与图像的灰度版本之间的结果存在相当大的差异。我们认为性能下降是由于训练图像量小,并且一个通道的信息减少,而不是彩色图像的三个通道。虽然 VGG16 是具有最多参数的最大模型,但它的性能并不能始终优于具有单个板的其他模型。AlexNet 能够始终保持 70-80% 左右的性能,而 VGG16 的性能在第 4 到第 8 版上下降得相当严重。在检查缩小到 AlexNet 的大小时,这似乎对灰度图像的评估产生了相当大的影响,因为自定义 1 和自定义 2 的性能准确性平均而言一直较低。即使性能有所降低,结果在所有测试中仍然一致且稳定,就像原始 AlexNet 模型一样。
当所有板组合在一起时,所有模型的性能都明显更好。在 VGG16 的情况下,这导致性能比其他所有型号都高得多。我们推测这是由于模型的大小增加,允许提取在较小模型中不会拾取的特征。虽然我们认为更大的模型并不是每个数据集的最佳选择,但在这些图像中缺乏信息的情况下,它确实表现得相当不错。即使架构经过简化,AlexNet 和两个自定义架构在使用所有灰度图像时也能够实现大约 90% 的准确率。在性能规模的另一端,与其他模型相比,LeNet5 在几乎所有测试中都表现得非常糟糕,类似于测试 1 和 2。鉴于 LeNet 模型与 MNIST 模型非常相似,我们将这种失败归因于 “TanH” 激活函数。MNIST 模型的结果介于 LeNet5 和 AlexNet 之间,因此没有得出有意义的结论。该测试的一个异常是 rand 板上 VGG16 的结果。虽然其他模型能够在这块板上与其他板一样充分训练,但 VGG16 无法进行训练。目前尚不清楚为什么会发生这种情况。对于此测试,应该注意这些图像对于人类来说非常难以阅读。因此,ML 模型能够正确评估这些图像是有希望的。图 18 显示了具有灰度图像的每个模型的每个板的性能精度。如图所示,AlexNet 的总体评估比其他模型更高,同时保持相对直线,从而实现更稳定的训练。由于结果较低,“rand”或随机板块已从此图形中删除。
图 18.具有灰度 Ishihara 印版的每个模型的性能精度。此图中未使用 rand 板。
灰度图像训练产生的混淆矩阵如图 19 所示。在每张图片中,类从左到右、从上到下列出。阅读这些图片时,行表示真值标签,而列表示预测标签。例如,在使用 MNIST 模型的第一个混淆矩阵中,当正确的标签实际上是 “9” 时,模型错误地将图像预测为值 “0” 四次(该值位于图的左下角)。在理想情况下,矩阵将显示一条实线对角线(代表 100% 的性能准确性)。
图 19.灰度 Ishihara-Like MNIST 数据集的混淆矩阵显示了对 10 个不同类别的正确评估。每个类都包含这些矩阵中的 1800 个测试图像。
检查灰度测试的矩阵显示的结果与模型性能低于标准时 MNIST 或标准 OCR 字符评估中的错误一致。如图所示,由于相似性,一些类被错误地标识为另一个类。LeNet5 能够最能显示结果。在这种情况下,它错误地预测了 “9” 为 “4” 5.61%,“5” 为 “8” 6.11%,“7” 为 “9” 的预测率为 9.94%。另外,应该注意的是,它在 13.39% 的时间内将值 “1” 预测为 “8”。这是一个异常的错误分类。下一个最高的错误值是预测的 “3” 和 “8”,这与手写数字数值系统中的错误预测一致。鉴于类似 Ishihara 的 MNIST 数据集是使用原始 MNIST 创建的,而 MNIST 是使用许多不同人的笔迹创建的,因此每个类的许多变体可能导致训练错误的情况并不少见。
如表 5 所示,模型在数据集的彩色版本上的表现明显更好。鉴于数据从一个通道扩展到三个带有颜色的通道,我们预计训练效果会明显更好。即使使用单个板,模型也能够提取足够的特征,仅用 10 k 个训练图像就能区分十个不同的类别。在一起使用所有图像的情况下,除 LeNet5 外,每个模型都以上十分位数执行。同样,我们将 LeNet5 的糟糕性能归因于它的激活函数。在分析训练和评估时间时,AlexNet 几乎在所有情况下都能够将训练时间控制在 VGG16 的 5% 以内,但能够将所需时间缩短一半,评估速度也略快。该测试的一个显着差异是将所有板组合成一组,仅比单独的板性能略好。图 20 显示了每个模型上每个板的性能准确性,图 21 显示了该测试的混淆矩阵。在检查 Ishihara 图像的彩色版本的矩阵时,结果与上表所示的结果相当。在除 LeNet5 之外的每个模型中,矩阵对 10 个类中的每一个类的准确率都达到了预期的 93%。
图 20.每个模型的性能精度与每个彩色 Ishihara 板。此图中未使用 rand 板。
图 21.Color Ishihara-Like MNIST 数据集的混淆矩阵显示了 10 个不同类别的正确评估。每个类都包含这些矩阵中的 1800 个测试图像。
在灰度和彩色中,“rand” 或随机板对模型的训练能力都有异常影响。该板在每个模型上的性能都大大低于其他板。在具有所有模型的其他每个板上,结果都在彩色的上十分位数,但在 VGG16 的情况下,该板的评价低至 10%。虽然在 VGG16 之外,灰度图像的评估差异并不明显,但在彩色图像中却变得非常明显。为了推断这背后的原因,我们仔细研究了这些图像。图 22 显示了该板的两个图像示例。在查看了这些图像后,很明显为什么这些模型的性能很差。左边的图像是 7,右边的图像是 8。但是,如果没有标签,我们将无法破译这两个圆圈的内容。意识到这一点,它需要一个测试案例,其中每个模型都在除 Random 板之外的所有色板上进行训练。表 6 显示了此培训的结果。如图所示,在所有其他印版的组合中不包含 Random colors 印版的情况下,这些模型能够产生更高的性能精度。在这次运行中,我们能够将 VGG16 的结果与先前的研究相匹配。因此,我们得出结论,包含此板对这些模型的训练具有总体负面影响。图 23 中提供了该测试的混淆矩阵。
图 22.来自“随机”Ishihara 板的样本图像。左侧的图像是 7,右侧的图像是 8。
图 23.Color Ishihara-Like MNIST 数据集的混淆矩阵,没有显示 10 个不同类别的正确评估的随机板。每个类都包含这些矩阵中的 1800 个测试图像。
表 6.此测试使用除 Random 板之外的所有板组合来训练每个模型。
Table 6. This test trained each of the models with all of the plates combined except for the Random plate.
Ishihara Color—Test Case Without the Random Plate (Accuracy, Precision, Recall, Training Time, Evaluation Time) |
---|
Model | Results |
MNIST | (97.19%, 97.20%, 97.19%, 1395 s, 9.87 s) |
LeNet5 | (96.11%, 96.11%, 96.11%, 1382 s, 10.48 s) |
VGG16 | (98.88%, 98.89%, 98.88%, 640 s, 11.54 s) |
AlexNet | (98.55%, 98.56%, 98.55%, 493 s, 10.00 s) |
Custom 1 | (98.45%, 98.46%, 98.45%, 852 s, 11.49 s) |
Custom 2 | (98.09%, 98.11%, 98.09%, 1537 s, 9.28 s) |
为了进一步检查该板性能评估下降的原因,图 24 和图 25 提供了来自该板的灰度和颜色训练的混淆矩阵。在这些矩阵中,仅评估来自 10 个不同类别中每个类别的 200 张图像。这是由于 rand 印版中的图像数量有限。如随机板所示,每个模型都努力为所有矩阵中的 10 个类中的每一个确定正确的类。这可能是测试中灰度和彩色结合所有印版性能不佳的原因。应该注意的是,目前尚不清楚为什么 VGG16 根本无法在这个盘子上训练。从训练过程来看,训练准确率和验证准确率都没有超过 10%。
图 24.灰度 Ishihara-Like MNIST 随机板的混淆矩阵,显示了 10 个不同类别的正确评估。每个类包含这些矩阵中的 200 个测试图像。
图 25.Color Ishihara-Like MNIST Random 板的混淆矩阵显示了 10 个不同类别的正确评估。每个类包含这些矩阵中的 200 个测试图像。
在表 7、表 8、表 9 和表 10 中,显示了两组交叉训练的结果。在这些测试用例中,每个模型都在第一个数据集上训练,然后在第二个数据集上进行评估。我们最初希望 MNIST 的训练和对 Ishihara-Like MNIST 的评估会表现得稍微好一些,但考虑到数据集的差异,结果并不奇怪。如图所示,所有模型都在其输出的机会范围内执行。在某些情况下,模型的性能比偶然性差。值得注意的是,MNIST 和 LeNet5 模型在 Ishihara 数据集的灰度版本上训练并使用 MNIST 进行评估时,其表现优于偶然性。目前尚不清楚为什么这些模型的性能能够比同类产品高 20-25%。然而,由于一组 10 个类别仅增加了 20%,我们认为这不需要进一步研究。在模型在 MNIST 上训练并在类似 Ishihara 的 MNIST 上进行评估的情况下,我们认为如果图像经过某种形式的预处理,性能会明显更好。Solonko 的工作就是这种情况,其中图像在被神经网络评估之前经过了大量修改,从而获得了高性能。然而,在使用神经网络进行训练时,这两个模型之间似乎没有相关性,即使后者是使用第一个模型创建的。
表 7.使用 MNIST 数据集的原始版本训练每个模型,然后在类似 Ishihara 的 MNIST 数据集的灰度版本上进行测试。
Table 7. Training each of the models with the original version of the MNIST dataset and then testing on the grayscale version of the Ishihara-Like MNIST dataset.
Test 5—Original MNIST with Gray Ishihara (Accuracy, Precision, Recall, Training Time, Evaluation Time)–60 k Training Images, 10 k Testing Images |
---|
Model | Results |
MNIST | (10.00%, 1.00%, 10.00%, 805 s, 4.77 s) |
LeNet | (10.01%, 2.67%, 10.01%, 821 s, 5.55 s) |
VGG16 | (12.48%, 12.51%, 12.48%, 536 s, 7.83 s) |
AlexNet | (10.02%, 4.06%, 10.02%, 182 s, 5.35 s) |
Custom 1 | (9.95%, 4.56%, 9.95%, 158 s, 5.95 s) |
Custom 2 | (10.23%, 4.13%, 10.23%, 267 s, 6.26 s) |
表 8.使用彩色版本的 MNIST 数据集训练每个模型,然后在类似 Ishihara 的 MNIST 数据集的原始版本上进行测试。
Table 8. Training each of the models with a colored version of the MNIST dataset and then testing on the original version of the Ishihara-Like MNIST dataset.
Test 7—Color MNIST with Color Ishihara (Accuracy, Precision, Recall, Training Time, Evaluation Time)–60 k Training Images, 10 k Testing Images |
---|
Model | Results |
MNIST | (9.93%, 5.64%, 9.93%, 950 s, 8.65 s) |
LeNet | (10.49%, 2.22%, 10.49%, 934 s, 9.62 s) |
VGG16 | (10.00%, 19.12%, 10.00%, 523 s, 9.49 s) |
AlexNet | (10.06%, 5.05%, 10.06%, 209 s, 8.27 s) |
Custom 1 | (10.02%, 2.62%, 10.02%, 249 s, 10.36 s) |
Custom 2 | (10.06%, 7.17%, 10.06%, 246 s, 10.57 s) |
表 9.使用灰度版本的 Ishihara-Like MNIST 数据集训练每个模型,然后在 MNIST 数据集的原始版本上进行测试。
Table 9. Training each of the models with the grayscale version of the Ishihara-Like MNIST dataset and then testing on the original version of the MNIST dataset.
Test 6—Grayscale Ishihara with Original MNIST (Accuracy, Precision, Recall, Training Time, Evaluation Time)–60 k Training Images, 10 k Testing Images |
---|
Model | Results |
MNIST | (32.13%, 31.14%, 32.94%, 785 s, 5.84 s) |
LeNet | (35.81%, 51.21%, 35.46%, 819 s, 5.70 s) |
VGG16 | (9.84%, 11.98%, 10.02%, 1104 s, 6.56 s) |
AlexNet | (10.28%, 1.03%, 10.00%, 944 s, 5.34 s) |
Custom 1 | (9.68%, 1.59%, 9.94%, 959 s, 6.08 s) |
Custom 2 | (10.32%, 1.03%, 10.00%, 912 s, 6.63 s) |
表 10.使用原始版本的 Ishihara-Like MNIST 数据集训练每个模型,然后在 MNIST 数据集的彩色版本上进行测试。
Table 10. Training each of the models with the original version of the Ishihara-Like MNIST dataset and then testing on the colored version of the MNIST dataset.
Test 8—Color Ishihara with Color MNIST (Accuracy, Precision, Recall, Training Time, Evaluation Time)—60 k Training Images, 10 k Testing Images |
---|
Model | Results |
MNI sT | (11.20%, 7.21%, 10.95%, 938 s, 7.04 s) |
LeNet | (25.55%, 55.60%, 24.57%, 901 s, 7.15 s) |
VGG16 | (11.48%, 13.30%, 10.13%, 1126 s, 7.80 s) |
AlexNet | (9.74%, 0.97%, 10.00%, 1058 s, 8.19 s) |
Custom 1 | (9.05%, 1.48%, 9.22%, 1029 s, 7.77 s) |
Custom 2 | (12.29%, 6.49%, 12.05%, 1026 s, 8.60 s) |
4. 未来工作
虽然只有一小部分人受到色盲的影响,但这项研究可用于了解 ML 模型如何解释具有颜色失真的图像。此外,这些图像的随机板和灰度版本表明,ML 模型可以学习从人类不可读的图像中提取特征。我们相信,使用此数据集仍有许多工作可以完成。
4.1. 改进
Keras 和 Tensorflow 是非常好的 ML 工具,但是如果要扩展这个项目,将使用 PyTorch。这是由于它能够创建更复杂的模型。这将允许使用更系统的方法添加更多要测试的模型。此外,在性能和稳定性方面,使用 Pytorch 将允许在程序中实施更多诊断工具,以帮助确定特定模型在准确性方面受到影响的原因以及可以进行哪些改进。按照这个想法,可以将更多模型(如 ResNet 和 Inception)添加到上面的模型列表中,以分析它们与其他模型相关的性能。
如前所述,Ishihara-Like MNIST 数据集仅合理地再现了色盲测试中的红绿色板。这仅包括使用 39 个可用板中的 8 个。在未来的应用中,我们希望遵循为其他形式的红绿色盲创建这些圆圈的过程,并为蓝黄色色盲创建板。鉴于此数据集的每个文件夹仅包含 10 k 个训练图像和 2 k 个测试图像,因此更多的图像将允许更轻松的训练过程。此外,这一代新图像将包括只有有这些缺陷的人才能看到的板。最后,这种类型的研究可用于确定图片对于色盲来说有多容易阅读,或者用于构建可以从任何图像(不仅仅是 MNIST)创建 Ishihara 圆的程序。
4.2. 扩展
虽然我们的论文侧重于训练具有颜色失真的模型,但这项研究的未来应用可以使用基于联合和拆分学习的方法,如 [57] 所示。这将允许分析可能损坏的图像,其中数据集的隐私或安全是一个问题。
5. 结论
在本文中,我们介绍了正确识别颜色失真图像中的数字字符的研究和发现。虽然之前已经就这个主题做了很多工作,但我们试图使用、扩展和改进正确识别 Ishihara-Like MNIST 数据集的整体性能。虽然之前的工作只分析了图像的彩色(原始)版本的性能,但我们也试图在灰度版本上训练模型。在我们的研究中,除了将颜色转换为灰度之外,我们没有对图像进行任何预处理。为了进行此分析,我们使用用于训练 MNIST、LeNet5、VGG16、AlexNet 和 AlexNet 的两个小型自定义修改的标准模型架构进行了测试。在每个模型中,我们分别使用每块图像训练神经网络模型,然后将所有图像组合成一组。
在我们的研究结果中,我们得出结论,在类似石原的 MNIST 图像的灰度版本(平均约为 60%)上训练时,上述所有模型的性能准确性都低于预期。然而,VGG16 的整体表现仍然优于其他展示的模型。我们认为灰度图像的低性能是由于与彩色图像中的 3 个通道相比,单调图像中缺乏信息。因此,更大的模型能够从图像中提取更多特征。尽管 VGG16 的整体性能良好,但每个印版的结果并不一致,而 AlexNet 提供了稳定的结果。为了在将来检查这一点,需要在每个单独的灰度板上对每个模型进行多次运行。
对于图像的彩色版本,除 LeNet5 外,每个模型都表现得非常出色,平均达到 90% 以上的结果。这发生在单个板和所有板组合的测试用例中。在评估彩色石原图像的过程中,我们发现兰德板(这是一个随机着色的石原圆)的性能明显低于其他彩色板。在分析图像后,发现这些图像在外观上与灰度版本非常相似,因此性能较低。对于灰度图像,人类很难区分图像。使用 rand 板,我们发现它们难以辨认。
我们得出的结论是,使用比以前研究的至少小 100 倍的架构,这个数据集可以训练得更快,性能也几乎一样好。虽然没有明确说明如何训练 VGG16,使用了多少数据集,以及在以前的研究中采取了哪些步骤来预处理数据,但我们相信,由于模型大小的减小和评估时间的增加,我们的结果以整体性能的提高而告终。在这种大小的数据集上使用较小的模型可能会导致较小的性能损失,但会允许用户以更快的速度运行模型。如上面的性能图所示,AlexNet 中大小的减小导致每个测试用例的性能略有下降,但会导致模型的结果变得更加稳定。与原始 AlexNet 相比,自定义 1 和自定义 2 的性能准确性曲线更平滑。随着对模型参数的更多超调整,我们相信可以提高 AlexNet 和更小模型的性能以匹配 VGG16 的性能,同时保持使用更小模型的优势。此外,我们相信,通过了解颜色的失真如何影响此类图像,可以改进 ML 模型,以便更轻松地从日常图像中提取特征。
6.交流与联系
点击这里看文章最后:(Python代码+数据集)