使用YOLO或其他图像识别技术识别图像中所有字母数字文本

我有多张图表图片,这些图片上的标签都是字母数字字符,而不仅仅是文本标签本身。我希望我的YOLO模型能够识别出图片中所有的数字和字母数字字符。

我如何训练我的YOLO模型来实现这一目标?数据集可以在这里找到。https://drive.google.com/open?id=1iEkGcreFaBIJqUdAADDXJbUrSj99bvoi

例如:请看边界框。我希望YOLO能够检测出文本所在的所有位置。然而,目前没有必要识别边界框内的具体文本内容。

enter image description here

同样,这类图片也需要进行相同的处理enter image description hereenter image description here

图片可以在这里下载这里

这是我使用OpenCV尝试过的方法,但它对数据集中所有图片都不适用。

此处省略代码

是否有任何模型、OpenCV技术或预训练模型可以帮我实现这个目标?我只需要在图片中所有字母数字字符周围画出边界框。之后我需要识别边界框内的内容,但目前这一部分并不重要。


回答:

一种可能的方法是使用基于Zhou等人2017年论文《EAST: An Efficient and Accurate Scene Text Detector》的EAST(高效准确的场景文本检测器)深度学习文本检测器。该模型最初是为检测自然场景图像中的文本而训练的,但有可能将其应用于图表图像。EAST非常robust,能够检测模糊或反光的文本。这里是Adrian Rosebrock对EAST的实现的一个修改版本。我们可以尝试在进行文本检测之前尽可能多地去除图像中的非文本对象,而不是直接在图像上应用文本检测器。想法是在应用检测之前移除水平线、垂直线和非文本轮廓(曲线、对角线、圆形)。以下是使用你的一些图片的结果:

输入 -> 要移除的非文本轮廓用绿色标记

结果

其他图片

执行文本检测所需的预训练模型frozen_east_text_detection.pb可以在这里找到。虽然该模型捕捉到了大部分文本,但结果并非100%准确,偶尔会有误报,这可能是由于它是在自然场景图像上训练的。如果你想要更准确的结果,你可能需要训练自己的自定义模型。但如果你想要一个开箱即用的解决方案,那么这个应该能满足你的需求。请查看Adrian的OpenCV文本检测(EAST文本检测器)博客文章,了解关于EAST文本检测器的更全面的解释。

代码

此处省略代码

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注