开源仓库:简单单人跟踪:基于目标检测与特征映射算法的Python实现-Sierkinhane

更新:02-08 民间故事 我要投稿 纠错 投诉

TAB,思考边界: 融合多级边界信息以进行地标热图回归,下载TAB的源码_GitHub_帮酷

CVPR2022弱监督语义分割:

开源仓库:

简单的单人跟踪:(基于目标检测和特征映射算法)

演示视频:

斯坦福机器学习课程资料及算法实现 Andrew Ng-斯坦福CS229机器学习课程资料及算法在Python中的实现_Sierkinhane的博客-CSDN博客

代码存储库:GitHub - Sierkinhane/CS229-ML-Implementation:CS229 中引入的算法的实现。

我参加了六月和七月的比赛。 我正在做的项目是从图片中提取文本信息。 首先接触了一些文本检测算法(比如CTPN、East),然后研究了文本识别算法(我觉得比较好的是CRNN)。 。 代码实现是基于参考算法作者实现的pytorch和python3版本的crnn。 由于python版本的迭代,代码复用比较困难,这涉及到ctc、python编码、中文数据集、以及如何微调模型以适合自己的应用场景等各种问题。 实现的深度学习框架是pytorch。 虽然TensorFlow也可以使用,但是它有很多陷阱。 其实用什么框架实现并不重要,现在语法比较简单,也不难理解!

因为我踩过很多坑并且填过,所以我会把我填过的项目贡献给大家!

CRNN_Chinese_Characters_Rec,(CRNN) 汉字识别,下载CRNN_Chinese_Characters_Rec的源码_GitHub_帮酷代码地址

这次我分享的是文本识别算法CRNN。 ​​具体内容我就不多说了。 本文主要是算法代码的实现(参考原作者)。 建议大家在研究算法的时候看一下作者发的论文! CRNN论文地址:(作者为华中科技大学教师)

我们先放一些效果图,用360万中文数据训练集。 最后,我们可以微调到 97.7% 的验证准确率。 训练好的模型位于 train_models 文件夹中。

第一张和第二张图是最近修改的demo,第三张和第四张图是CTPN算法和CRNN的结合,可以提取图片上的任意文本信息。 因为CTPN需要的环境比较复杂,所以这次只发布CRNN代码,因为CRNN实现环境比较简单。

现在让我们从代码开始:

代码的实现必须在Linux环境下(因为涉及到warp-ctc的安装,最好使用Ubuntu 16.04,能跳的坑我都基本填完了)

1.Warp-ctc安装

首先,您必须安装 warp-ctcGitHub - SeanNaren/warp-ctc:warp-ctc 的 Pytorch 绑定。 这是pytorch版本的ctc实现(计算序列损失,详细见论文)。 安装方法可以按照笔者的步骤进行。 如果遇到问题可以私聊我。 我在Ubuntu16.04上安装的,没有什么大问题,但是在17.04上遇到了很多问题,所以最好使用Ubuntu16.04作为代码执行环境。

现在只需将pytorch更新到1.1.0并使用它自己的ctcloss即可。

2. 测试

安装ctc后,直接运行终端,输入python3 test.py测试效果。 测试图像位于 test_images 文件夹中。

3. 培训

正确的训练效果如图所示。

在训练之前,我们首先创建一个数据集。 由于lmdb格式制作的360万中文数据集数据量有十几G,所以没有直接放到Github上。

首先下载360万中文数据集:合成中文字符串数据集.rar_免费高速下载|百度网盘-无限分享

关于数据集,我想说明一下,文本识别领域有很多识别场景,比如场景文本识别和更正式的图像信息识别。 这些不同的应用场景需要使用不同的数据集进行相应的训练。 这次我自己应用的场景是比较正式的字体识别,所以这个训练集可能并不适用于所有场景,但它确实提供了很好的数据集资源! 另外,训练集最好具有语义信息。 如果只是随机组合文本生成图像作为训练集,模型收敛速度会较慢,准确率也会受到限制!

下图是训练集的一部分

(这个数据是在Github上找到的,目前还没有找到他的地址,非常感谢作者的无私奉献!)

数据集是通过随机选择固定长度数量的单词并进行模糊、倾斜和颜色变化等操作来生成的。 比较通用,可以大大提高模型的鲁棒性。

下载数据集后,如果解压出现错误且不完整,可以使用好的压缩方法来修复。

修改crnn_main_v2.py中的图片路径和标签路径,运行python crnn_main_v2.py

下一步是以 lmdb 格式创建数据。

我链接图片对应的标签:密码:u7bo。 只需要将下载的数据集放入lmdb文件中,根据情况修改to_lmdb.py中的文件名并运行py程序即可创建lmdb格式的数据! (需要Python2才能运行to_lmdb.py)

制作好数据集后,将其放入lmdb_dataset文件夹中,并调用终端:

python3 crnn_main.py --train_root 训练数据集路径 --val_root 验证集路径 --cuda (如果有cuda加速则可选)

大概就是这个过程,最重要的是你自己想一想!

(变长识别就是将训练集图像的缩放feed应用到神经网络的大小来测试。test.py已经标注了!)

(如果对你有帮助,可以在Github上给我一个star!)

(下一篇:斯坦福机器学习课程资料及算法实现Andrew Ng-斯坦福CS229机器学习课程资料及算法在Python中的实现_Sierkinhane的博客-CSDN博客)

【开源仓库:简单单人跟踪:基于目标检测与特征映射算法的Python实现-Sierkinhane】相关文章:

1.动物故事精选:寓教于乐的儿童故事宝库

2.《寓教于乐:精选动物故事助力儿童成长》

3.探索动物旅行的奇幻冒险:专为儿童打造的童话故事

4.《趣味动物刷牙小故事》

5.探索坚韧之旅:小蜗牛的勇敢冒险

6.传统风味烤小猪,美食探索之旅

7.探索奇幻故事:大熊的精彩篇章

8.狮子与猫咪的奇妙邂逅:一场跨界的友谊故事

9.揭秘情感的力量:如何影响我们的生活与决策

10.跨越两岸:探索彼此的独特世界

上一篇:教师资格证《狐假虎威》教学设计教学目标及方法 下一篇:狐假虎威 古文 (每日一题)阅读下面的小古文,完…