Closed chujian521 closed 2 years ago
更新为中文字典
你好,我用的就是中文字典
配置文件中有两处需要更改字典的地方均已修改
character_dict_path: ppocr/utils/hanzi.txt #需要手动添加这个文件,这是我自己制作的中文字符集,如果显存够大可以使用ppocr_keys_v1.txt character_type: ch Metric: name: E2EMetric mode: A # two ways for eval, A: label from txt, B: label from gt_mat gt_mat_dir: ./train_data/total_text/gt # the dir of gt_mat character_dict_path: ppocr/utils/hanzi.txt
@LDOUBLEV 我训练完也是这样,但是里面的数字能显示,中文都是???,问号的个数跟中文一样长的
这个应该是OpenCV的cv2.putText不能显示中文的原因,我是用Pillow来添加显示中文,需要改draw_e2e_res函数里面的代码,可以参考如下代码
box = box.astype(np.int32).reshape((-1, 1, 2)) cv2.polylines(src_im, [box], True, color=(255, 255, 0), thickness=2)
from PIL import ImageFont, ImageDraw, Image img = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB)) draw = ImageDraw.Draw(img) fontStyle = ImageFont.truetype( "font/msyh.ttc", 16, encoding="utf-8") draw.text((int(box[0, 0, 0]), int(box[0, 0, 1])), text, (0, 255, 0), font=fontStyle)
src_im= cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)
感谢!可以正常显示了!
感谢!确实可以正常显示了,你们训练的准确率高嘛?我训练的目前那张图片只有北京市三个字是对的...
感谢!确实可以正常显示了,你们训练的准确率高嘛?我训练的目前那张图片只有北京市三个字是对的...
我正在训练中文数据集,端到端的文字识别精度也是0,而且训练的时候ctc_loss是0,然后border_loss非常大,不知道咋回事
感谢!确实可以正常显示了,你们训练的准确率高嘛?我训练的目前那张图片只有北京市三个字是对的...
我正在训练中文数据集,端到端的文字识别精度也是0,而且训练的时候ctc_loss是0,然后border_loss非常大,不知道咋回事
这个我知道!你需要修改部分代码 PaddleOCR/ppocr/modeling/heads/e2e_pg_head.py /中181行的out_channels=37设置成字符集数目+1 ppocr/losses/e2e_pg_loss.py中93行改为字符集数目+1,94和97行改为字符集数目 配置文件中要改字符集改成自己的中文字符集,Loss:里面的下面的参数要改 pad_num: 36 # the length of dict for pad 字符集字典长度 具体可以参考FAQ里面有相关介绍
pad_num: 3012 # the length of dict for pad 之前试过这里忘记改就显示ctc_loss=0
感谢!确实可以正常显示了,你们训练的准确率高嘛?我训练的目前那张图片只有北京市三个字是对的...
简单场景下准确率跟其他的差不多 99%+
感谢!确实可以正常显示了,你们训练的准确率高嘛?我训练的目前那张图片只有北京市三个字是对的...
简单场景下准确率跟其他的差不多 99%+
这么棒的嘛,你训练的是弯曲文本嘛?
感谢!确实可以正常显示了,你们训练的准确率高嘛?我训练的目前那张图片只有北京市三个字是对的...
简单场景下准确率跟其他的差不多 99%+
这么棒的嘛,你训练的是弯曲文本嘛?
不是,四边形的
不是,四边形的 嗷嗷,我训练的弯曲文本的,正确率超低QAQ
pad_num: 3012 # the length of dict for pad 之前试过这里忘记改就显示ctc_loss=0
感谢,确实忘记修改这里了,其他地方都改了
感谢!确实可以正常显示了,你们训练的准确率高嘛?我训练的目前那张图片只有北京市三个字是对的...
我正在训练中文数据集,端到端的文字识别精度也是0,而且训练的时候ctc_loss是0,然后border_loss非常大,不知道咋回事
这个我知道!你需要修改部分代码 PaddleOCR/ppocr/modeling/heads/e2e_pg_head.py /中181行的out_channels=37设置成字符集数目+1 ppocr/losses/e2e_pg_loss.py中93行改为字符集数目+1,94和97行改为字符集数目 配置文件中要改字符集改成自己的中文字符集,Loss:里面的下面的参数要改 pad_num: 36 # the length of dict for pad 字符集字典长度 具体可以参考FAQ里面有相关介绍
感谢,pad_num忘记改啦
不是,四边形的 嗷嗷,我训练的弯曲文本的,正确率超低QAQ
我训练的弯曲文本正确率也很低
不是,四边形的 嗷嗷,我训练的弯曲文本的,正确率超低QAQ
你的弯曲文本是自己标注的吗,还是用的数据集
不是,四边形的 嗷嗷,我训练的弯曲文本的,正确率超低QAQ
你的弯曲文本是自己标注的吗,还是用的数据集
我用的是数据集,ArT里面筛选出来的中文部分
不是,四边形的 嗷嗷,我训练的弯曲文本的,正确率超低QAQ
你的弯曲文本是自己标注的吗,还是用的数据集
我用的是数据集,ArT里面筛选出来的中文部分
我用的也是数据集,用了ArT, RCTW-17, LSVT, ReCTS四个,训练精度也比较低,不过在慢慢提高,估计要训练好久才行
感谢!确实可以正常显示了,你们训练的准确率高嘛?我训练的目前那张图片只有北京市三个字是对的...
我正在训练中文数据集,端到端的文字识别精度也是0,而且训练的时候ctc_loss是0,然后border_loss非常大,不知道咋回事
这个我知道!你需要修改部分代码 PaddleOCR/ppocr/modeling/heads/e2e_pg_head.py /中181行的out_channels=37设置成字符集数目+1 ppocr/losses/e2e_pg_loss.py中93行改为字符集数目+1,94和97行改为字符集数目 配置文件中要改字符集改成自己的中文字符集,Loss:里面的下面的参数要改 pad_num: 36 # the length of dict for pad 字符集字典长度 具体可以参考FAQ里面有相关介绍
请问 FAQ 哪里有相关介绍?
@KampauCheung 好兄弟,我看issues里面你也试过好多方法了,我这边PGNet弯曲中文文本效果不是很好,你那边有啥好的方案嘛?
character_dict_path: ppocr/utils/hanzi.txt #需要手动添加这个文件,这是我自己制作的中文字符集,如果显存够大可以使用ppocr_keys_v1.txt character_type: ch Metric: name: E2EMetric mode: A # two ways for eval, A: label from txt, B: label from gt_mat gt_mat_dir: ./train_data/total_text/gt # the dir of gt_mat character_dict_path: ppocr/utils/hanzi.txt
你好,这个gt_mat的数据格式是怎么样的
character_dict_path: ppocr/utils/hanzi.txt #需要手动添加这个文件,这是我自己制作的中文字符集,如果显存够大可以使用ppocr_keys_v1.txt character_type: ch Metric: name: E2EMetric mode: A # two ways for eval, A: label from txt, B: label from gt_mat gt_mat_dir: ./train_data/total_text/gt # the dir of gt_mat character_dict_path: ppocr/utils/hanzi.txt
你好,这个gt_mat的数据格式是怎么样的
你好,我也不清楚,我们没用totaltext数据集
character_dict_path: ppocr/utils/hanzi.txt #需要手动添加这个文件,这是我自己制作的中文字符集,如果显存够大可以使用ppocr_keys_v1.txt character_type: ch Metric: name: E2EMetric mode: A # two ways for eval, A: label from txt, B: label from gt_mat gt_mat_dir: ./train_data/total_text/gt # the dir of gt_mat character_dict_path: ppocr/utils/hanzi.txt
你好,这个gt_mat的数据格式是怎么样的
你好,我也不清楚,我们没用totaltext数据集
我也是用自己的数据集,也是识别率一直为0,其他的都按照你的方法改了,这个地方我不知道填什么
character_dict_path: ppocr/utils/hanzi.txt #需要手动添加这个文件,这是我自己制作的中文字符集,如果显存够大可以使用ppocr_keys_v1.txt character_type: ch Metric: name: E2EMetric mode: A # two ways for eval, A: label from txt, B: label from gt_mat gt_mat_dir: ./train_data/total_text/gt # the dir of gt_mat character_dict_path: ppocr/utils/hanzi.txt
你好,这个gt_mat的数据格式是怎么样的
你好,我也不清楚,我们没用totaltext数据集
我也是用自己的数据集,也是识别率一直为0,其他的都按照你的方法改了,这个地方我不知道填什么
应该是中文太复杂了,识别率确实是0,基本没有一字不差都正确的
character_dict_path: ppocr/utils/hanzi.txt #需要手动添加这个文件,这是我自己制作的中文字符集,如果显存够大可以使用ppocr_keys_v1.txt character_type: ch Metric: name: E2EMetric mode: A # two ways for eval, A: label from txt, B: label from gt_mat gt_mat_dir: ./train_data/total_text/gt # the dir of gt_mat character_dict_path: ppocr/utils/hanzi.txt
你好,这个gt_mat的数据格式是怎么样的
你好,我也不清楚,我们没用totaltext数据集
我也是用自己的数据集,也是识别率一直为0,其他的都按照你的方法改了,这个地方我不知道填什么
应该是中文太复杂了,识别率确实是0,基本没有一字不差都正确的
我这边训练中文弯曲文本端到端准确率也一直是0,请问楼主现在解决了嘛?而且用百万数据训练中文速度太慢了
目前来说,弯曲的中文好像很难解决,不知道有没有小伙伴尝试使用单个字符的检测来间接的解决这个问题
不是,四边形的 嗷嗷,我训练的弯曲文本的,正确率超低QAQ
你的弯曲文本是自己标注的吗,还是用的数据集
我用的是数据集,ArT里面筛选出来的中文部分
我用的也是数据集,用了ArT, RCTW-17, LSVT, ReCTS四个,训练精度也比较低,不过在慢慢提高,估计要训练好久才行
请问最终的效果怎样呢?
Since you haven\'t replied for more than 3 months, we have closed this issue/pr. If the problem is not solved or there is a follow-up one, please reopen it at any time and we will continue to follow up. It is recommended to pull and try the latest code first. 由于您超过三个月未回复,我们将关闭这个issue/pr。 若问题未解决或有后续问题,请随时重新打开(建议先拉取最新代码进行尝试),我们会继续跟进。
[2022/03/14 10:41:34] root ERROR: When parsing line 3, error happened with msg: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (7,) + inhomogeneous part. [2022/03/14 10:41:34] root ERROR: When parsing line 8, error happened with msg: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (6,) + inhomogeneous part. [2022/03/14 10:41:34] root ERROR: When parsing line 6, error happened with msg: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (10,) + inhomogeneous part. [2022/03/14 10:41:34] root ERROR: When parsing line 5, error happened with msg: setting an array element with a sequence. The requested array has an inhomogeneous shape after 1 dimensions. The detected shape was (7,) + inhomogeneous part. 我想训练ICDAR_2019_Art,就出现这个问题,请问这是数据标注问题吗?改怎么解决啊?
请问我能改的地方都改了,它识别还是只识别弯曲英文
请问训练中文数据集会用到预训练模型吗
请问训练中文数据集会用到预训练模型吗
请问弯曲中文数据集可以分享下吗
请问训练中文数据集会用到预训练模型吗
当时我是用到了
请问弯曲中文数据集可以分享下吗
数据集我是从公开数据集筛选出来的中文数据训练的
请问预训练模型用的是官方的,还是自己的,官方的好像是英文的预训练模型,训练的话没有问题吗
请问弯曲中文数据集可以分享下吗
数据集我是从公开数据集筛选出来的中文数据训练的
你好,能分享一下你筛选出来的数据集嘛,有偿。我从ICDAR2019-ArT中筛选有点摸不着头脑了
请问弯曲中文数据集可以分享下吗
数据集我是从公开数据集筛选出来的中文数据训练的
你好,能分享一下你筛选出来的数据集嘛,有偿。我从ICDAR2019-ArT中筛选有点摸不着头脑了
最简单的方法就是直接对标注进行筛选,从标注中挑出中文字符,用于训练即可。数据集ICDAR2019-ArT只有13750个中文图片,数据量其实很小。
请问预训练模型用的是官方的,还是自己的,官方的好像是英文的预训练模型,训练的话没有问题吗
这个你问问开发者吧,再开一个issue,我也不是很清楚,最后由于我们中文数据量太小,放弃使用这个端到端模型了。
那我能冒昧的问一下,您对中文弯曲文本识别之后做了什么工作嘛
那我能冒昧的问一下,您对中文弯曲文本识别之后做了什么工作嘛
做的是一个校企合作项目,最后完成指标就交付了,如果数据量足够可以考虑用这个端到端算法的,我们是直接用的弯曲文本定位+CRNN文本识别
如图,检测的准确率还可以,端到端文字识别一直为0. 这是使用 tools/infer_e2e.py 预测以后的结果,文字识别全是??? 请问这是什么原因呢