【合集】复现场景文字检测项目

2024.05.29 持续更新中……

1. [2020-IJCAI] TextFuseNet

paper: https://www.ijcai.org/proceedings/2020/72
code: https://github.com/ying09/TextFuseNet

准备预训练权重
https://drive.google.com/drive/folders/18Ll-3bAmi4CR2eGTuM-j6fkMrSAaBV4Z?usp=sharing

踩坑经历:
1、现在不太好找 CUDA10.x + 显存>11G 的服务器,如果想在 CUDA>11 的环境中运行,不能根据官方安装 torch==1.3torchvision==0.4,只需要正常安装自己服务器匹配的版本(测试满足CUDA=11.x有效)即可。之后流程正常跟readme走。
2、直接 python setup.py install develop 会出问题,大概率报未发现 AT_CHECK 未定义,解决方案:https://github.com/ying09/TextFuseNet/issues/77.
3、detectron2安装成功并不代表配好环境,还是要试一下推理脚本。

个人感悟:感觉按照作者提供的权重比复现出的结果精确度不是很足,会出现很多额外的单字符的预测框。如果只追求召回率可以用。

2. [2022-TPAMI] DBNet++ (MMOCR实现版)

这个我用的 mmocr==0.x 分支进行实验,基础环境是 mmcv==1.7.1 mmdet==2.28.x mmocr==0.6.3.
唯一有问题的是 numpy 版本过高会在后处理报错,具体文件地址为 mmocr/models/textdet/postprocess/utils.py,版本低一点应该只报warning. 我在报错地方加了异常处理,不影响性能。

def unclip(box, unclip_ratio=1.5):
    poly = Polygon(box)
    distance = poly.area * unclip_ratio / poly.length
    offset = pyclipper.PyclipperOffset()
    offset.AddPath(box, pyclipper.JT_ROUND, pyclipper.ET_CLOSEDPOLYGON)
    try:
        expanded = np.array(offset.Execute(distance))
    except:
        expanded = np.array([])
    return expanded

还有潜在的一个坑是在测试ICDAR2015数据集,后处理默认应当为 quad,而不是 poly. 否则将复现不出手册中的性能。这里的polyquad 在IC15上还是要差1.3个点。

3. [2022-TPAMI] ABCNet v2

4. [2023-AAAI] DPText-DETR

paper:https://arxiv.org/pdf/2207.04491v2
code: https://github.com/ymy-k/DPText-DETR

按照readme走基本不会有大的问题,这里放上我自己遇到的三个小问题。

(1) RuntimeError: Not compiled with GPU support

这个解决了最长时间,核心原因是在本地安装 adelaidet 的时候没有在GPU环境下,之后重装需要删除本地的 build 文件夹才可以。

(2) 本地安装Adelaidet缺少第三方库

一般缺少 numba rapidfuzz editdistance 三个,pip install xxx 就好

(3) AttributeError: module ‘PIL.Image’ has no attribute ‘LINEAR’

detectron2 与 Pillow 版本不兼容导致,两种解决方案:一个是在报错的地方将 LINEAR 改为 BILINEAR,一个是安装 pip install Pillow==9.4.0.

5. [2024-AAAI] SRFormer

paper: https://arxiv.org/abs/2308.10531
code: https://github.com/retsuh-bqw/SRFormer-Text-Det

这里列两个比较容易出现的问题

(1)error in ms_deformable_im2col_cuda: no kernel image is available for execution on the device.

DeformableAttn模块没装好,如果cuda环境没太大问题就使用deformable DETR的源码手动装一下 models/ops 下的库就可以了

(2)检测结果异常,漏检严重

需要根据预训练权重标注的 seg_layers 对应在配置文件中的 configs/SRFormer/Base.yaml 文件中做改动
ps:应该是为了刷点不同的数据集seg_layers都不太一样,感觉这里的设计不太实用。此外之前做过训练在一些数据集上24G显存不太够训练,对于一个文本检测模型来说占用的计算资源还是过于多了。优点是性能确实高。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值