【问题标题】:How to create an OCR dataset? [closed]如何创建 OCR 数据集? [关闭]
【发布时间】:2021-02-28 07:33:08
【问题描述】:

我只是机器学习的初学者。到目前为止,我刚刚学习了一些基本的图像分类和回归问题的监督机器学习。我刚刚用 sklearn load_digits() 完成了一个图像分类问题,它有大约 1800 个 0-9 (description of the dataset) 字符的图像。我想要做的是制作我自己的数据集,而不是像从 sklearn 中加载它:

from sklearn.datasets import load_digits

我想使用我自己的数据集。那么有人可以指导我,我可以用 CSV 或任何其他格式制作我自己的数据集,以便我可以在我的监督机器学习技术中使用它吗?

【问题讨论】:

    标签: python machine-learning scikit-learn supervised-learning


    【解决方案1】:

    首先要了解您的用例。 OCR 和图像分类任务之间存在差异。让我们看看这两种情况。

    1. 图像分类:该任务类似于您可能在 ML 中看到的标准监督任务,只是在这种情况下,我们对图像而不是工作表中的数据进行分类。数据管理是图像分类中涉及的主要任务之一,完全准确度取决于您处理数据的方式。假设给定一张图像,您想要识别它是狗还是猫。这将要求您收集至少 500 张不同类型的狗和猫的图像。您还可以通过拍摄狗的图像来人为地创建图像,然后使用 python OpenCV 库添加一些噪声或旋转并保存更新的图像。通过这种方式,您可以在短时间内收集更多图像。获得所有要分类的类别(狗和猫)的图像后,您就可以进行模型选择了。 CNN(卷积神经网络)被认为最适合图像分类任务,但从头开始创建它们并调整它们可能需要很长时间。我的建议是使用 Tensorflow 对象检测 API,它为初学者构建自己的图像分类器或对象检测器提供了一个很好的框架,其中包含许多预训练模型可供选择。 https://github.com/tensorflow/models/tree/master/research/object_detection

    2. OCR:OCR 是图像分类的复杂应用之一,从头开始构建起来并不容易。在您在问题中提到的示例中,虽然它看起来像 OCR,但它或多或少是一个图像分类任务,因为您有一个要分类的每个字符的单个图像。在现实世界中,OCR 将涉及手写笔记并将其中的文本提取到您的系统中,这是一个复杂的过程。有一些预构建的库,例如专门从事 OCR 的 Tesseract,通过获取带有文本的输入图像,并以字符串格式返回图像中存在的文本。但是,这些库在涉及手写文本时会失败,因为它们很难阅读。如果您有兴趣从头开始构建 OCR 系统,则需要执行大量图像处理任务。假设您有一张图片,上面有某人写的电话号码。您的 OCR 系统首先必须通过在图像中的每个数字周围绘制检测框来分别检测每个数字(您可以使用上面提到的 tensorflow 对象检测系统 api)但是假设您有一个字母、数字和符号的图像,这将然后是复杂的任务,首先收集每个字母、数字和符号的单独图像,这可能很困难。我再次建议使用免费且非常准确的 API。我使用具有 OCR 功能的 Microsoft Cognitive Vision API 来检测图像中的任何类型的文本。这将减少您只正确清理图像的工作量。

    【讨论】:

    • 感谢@Rohan 的解释。我可以清楚地理解你的话。但我很想知道我可以在 csv 文件中为任何类型的图像分类任务制作数据集吗?如果是,那么如何?
    • @Koushik 如果您正在处理灰度图像,您可以在 python 中打开这些图像。 Python 将生成像素值的 numpy 数组。然后,您可以将此 numpy 数组导出为 csv 格式。假设你有 10 张图片。您可以启动一个循环,程序一次从目录中读取一个图像并将其存储为 numpy 数组。您可以将此 numpy 数组作为一行附加到整个数据框中。随着循环的进行,每个图像都被读取为 numpy 数组,并作为行附加到数据帧中。最后,您可以将此数据框导出为 csv 格式。
    • 感谢罗汉的回答。非常感谢兄弟。还有一件事兄弟,实际上我是 ML 的初学者,我需要一些专家的指导。我不知道你会如何反应,兄弟我可以有你的电子邮件 ID,以便我可以联系你如果我遇到任何麻烦。这对我有很大的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 2019-05-16
    • 2023-02-06
    • 1970-01-01
    • 2020-04-05
    • 2017-03-19
    • 2015-09-18
    相关资源
    最近更新 更多