所以我一直在学习使用TensorFlow和Keras进行机器学习,我一直在尝试使用一些自定义图像来设置数据集,并试图学习脚本以在过滤掉噪音的同时识别文本,但是问题是就是杂色和文字颜色相同,从而滤除所有内容。
我不是要spoon脚,我只是想要找到解决/训练脚本来解决图像上文本的最佳方法的指针。
我要寻找的是让脚本在屏幕上阅读并计算隐藏在图像中的单词,然后在命令行中打印结果。
没有示例代码,因为之前的所有操作都是失败的,而不是我真正想要的。
答案 0 :(得分:0)
在开始您的项目之前,您应该检查数据的“质量”,它对于实时应用程序或项目的价值,如果图像不能被人类轻易读取,那就有点不对劲了使用此类数据进行训练,因为人类往往非常擅长在视觉上识别事物,并且很多时候都因此而采取“ Bias错误”。
如果您目标要从图像中读取嘈杂的文本,则可以尝试以下技巧,这些技巧取自于Coursera上的在线课程:“改善深度神经网络:超参数调整,正则化和优化” “由吴安德教授(Andrew Ng)
1-在正常和清晰的文本图像图像上训练数据,因为那样 会让您的算法从清晰的图像中学习很多功能和初始属性,例如字母的形状,有时结果会让您感到惊讶。
2-让您进行 DEV 设置(以及您的测试集),其中包含许多嘈杂的文本图像,以便您可以检查算法在实际数据上的实际作用关心(您的AIM )
3-更改数据集可能有点困难,但是如果噪音以某种方式构成了照片的一部分,即使对于人类来说,也很难阅读,则该数据集可能会变得毫无用处(并非总是如此)。 因此,您可以带来清晰的噪声图像,并将其与噪声图像混合(从旧的噪声图像中创建一个新的数据集),以使其保持逼真且无需太多机械手,然后在新数据上训练算法。
构建一个好的ML算法或应用程序首先取决于您的数据,而这些仅仅是一些注释,可以帮助您以另一种方式思考问题。
答案 1 :(得分:0)
A)您可以尝试做的一件事是获取清晰文本图像的数据,通过在图像中添加人工噪声并将其作为输入进行训练以进行降噪,然后通过该网络传递图像,从而对GAN或类似网络进行训练。然后将其传递到文本检测器/ OCR引擎(例如pytesseract或google vision ocr)
B)在可能的字符集(例如YOLO或FasterRCNN)上训练图像检测器,并增加噪声,您可以再次这样做,将噪声人为地添加到数据中,但是可能需要一些手动注释。
C)您可以尝试检查this之类的方法,方法是检查图像中是否包含所有字母/已知字符,然后组合结果。我个人比较喜欢这个。
PS。我还没有完全阅读用C链接的论文,但是您链接的图像似乎更容易通过单次分割方法来解决,而不是训练GAN。
PPS。根据您对问题的评论,请确保创建验证码解决机器人不会违反使用该网站的任何法律条件(出于某种原因,我不得不这样说)。