在这个网站上:https://www.jaided.ai/easyocr/modelhub/
数据集链接:en_sample.zip
如果你下载了数据集的.csv文件,你会发现其中有一些问题:
通常情况下,所有数据都应该在第一列。如果你向下滚动,你会看到有几条数据在第二列。
- 在单元格B71中,我们有11张图片在同一个单元格里:95-50-93-52-96-91-98-89-94-63-102.jpg。我不知道为什么它们会在一起。
- 除了上面第2点中的第71行之外,其他带有数据的B列单元格似乎已经被分开,以模拟";"。(169-393-561-677-685-768-910-946-97.jpg。)
- 此外,在dataset.py中提供给函数pd.read_csv( sep='^([^,]+),' )的选项中没有找到";"字符。
- 不要忘记CSV分隔符是逗号,但这个逗号也出现在某些照片的文本中。
所以我认为不修改数据集就无法直接使用它。
就我个人而言,我在A列的B单元格中添加了一个";"字符和数据。
对于第71行的11张照片,我简单地将它们转录到不同的行上。
难道只有我不懂得如何使用easy_ocr吗?还是说.csv文件真的有问题?
我认为理想的解决方案是使用制表符作为分隔符创建一个CSV文件。你怎么看?
感谢你的帮助和为提出这个问题道歉!
Alex
2条答案
按热度按时间lfapxunr1#
好的,我修改了dataset.py以使用csv文件中的TAB,现在它运行良好。
在dataset.py的第153行:
self.df = pd.read_csv(os.path.join(root,'labels.txt'), sep='\t', engine='python', usecols=['filename', 'words'], keep_default_na=False)
此外,由于不能直接根据照片名称的数值大小对行进行排序,我简单地选择了所有以"1"开头的照片名称用于EN_VAL,其余的用于_TRAIN。这代表了总数据集的12.5%。
这是我的新.CSV文件和新的.TXT文件:
labels_val.csv
labels__train_.csv
labels_val.txt
labels__train_.txt
a9wyjsp72#
我也花了很多时间解决这些问题。(我的问题:我的模型无法识别逗号字符)谢谢!我也会使用制表符作为分隔符。