ABCNet训练测试自定义数据集
ABCNet:基于自适应贝塞尔曲线的实时端到端自然场景文字检测及识别网络
论文推荐ABCNet
论文链接 : https://arxiv.org/abs/2002.10200
官方开源代码: https://github.com/aim-uofa/AdelaiDet
论文是2020 CVPR 收录, 贡献1)提出采用贝塞尔曲线来拟合任意形状文本,2)提出贝塞尔对齐方式更准确地提取文本实例 .
环境配置和运行demo.py遇到的问题
系统配置:ubuntu16.04 + cuda10.0
因该项目基于最新的detecron2构建,需要torch>=1.3.建议隔离一个虚拟环境安装相应的库.
Q1 运行python setup.py build develop
编译adet库时出现, /usr/bin/ld: cannot find -lcudart
问题原因:安装的/usr/local/cuda-10.0/lib64/中cudart库不完整.
ls -lh /usr/local/cuda-10.0/lib64 | grep cudart
完整的lib64目录下包含四个文件:libcudart.so
libcudart.so.10.0
libcudart.so.10.0.130
libcudart_static.a解决方案:重装cuda-10.0, 或者将某个安裝完整的cuda10.0的这几个文件拷贝到对应目录即可.
再重新运行之前编译命令,编译成功后会如图所示完成AdelaiDet安装.
Q2 运行ABCnet的测试代码:python -m e demo/demo.py --config-file configs/BAText/CTW1500/attn_R_50.yaml --input totaltext/Images/Test --opts MODEL.WEIGHTS test/ctw1500_attn_R_50.pth
出现如下问题
QObject::moveToThread: Current thread (0x55f48724d2a0) is not the object’s thread (0x55f485279c70
- 解决方案:未解决.可指定"–output"来将测试结果输出到目录,暂时避免这个问题.
基于AdelaiDet训练自定义ABCNet
数据集
- abcnet数据标签生成
自定义abcnet的数据集,以labelme的目标框标注为例生成.转换脚本百度云提取码: 42v4 - 数据集结构
data└── train├── 0001.jpg├── 0002.jpg└── 0003.jpg└── test├──1001.jpg├── 1002.jpg└── 1003.jpg└── annotations├── train.json├── test.json
- 修改相关配置文件进行训练
- 将制作好的data数据目录放在"AdelaiDet/datasets"目录
- 修改"adet/data/builtin.py"中的_PREDEFINED_SPLITS_TEXT值来指定训练测试数据,注意这里默认是在datasets下的,所以它们的相对路径都是从下层目录开始的.
_PREDEFINED_SPLITS_TEXT = { "totaltext_train": ("totaltext/train_images", "totaltext/train.json"), "totaltext_val": ("totaltext/test_images", "totaltext/test.json"), ... "abcnet_train": ("data/train", "data/annotations/train.json"), "abcnet_test": ("data/test", "data/annotations/test.json"),}
- 在需要训练的配置文件中指定数据集即可.以
configs/BAText/CTW1500/Base-CTW1500.yaml
为例,DATASETS: # detail cfg: AdelaiDet/adet/data/builtin.pyTRAIN: ("abcnet_train",)TEST: ("abcnet_test",)
- 训练
OMP_NUM_THREADS=1 python tools/train_net.py --config-file configs/BAText/TotalText/attn_R_50.yaml --num-gpus 1
“args”: ["–config-file",“configs/BAText/CTW1500/attn_R_50.yaml”,
“–input” ,“totaltext/Images/Test”,
“–output”,“output/total”,
// “–webcam”,
“–opts”, “MODEL.WEIGHTS”, “pretrained/ctw1500_attn_R_50.pth”, - 推理
python demo/demo.py ---config-file configs/BAText/TotalText/attn_R_50.yaml –input datasets/data/test --output res --opts “MODEL.WEIGHTS output/batext/ctw1500/attn_R_50/model_0009999.pth
样例展示
测试图片为total-text测试图
当前的不足:训练了中文手写和英文印刷体,比较直观的问题是测试出现了比较多的漏检,密集文本行间会出现预测的贝塞尔曲线交叉问题.即有密集文本粘连问题.
…
ABCNet训练测试自定义数据集相关推荐
- FairMOT训练测试自定义数据集
1.将自己的数据集(视频需转为一帧一帧的图片,转换工具Convert to JPG - Convert images, documents and videos to JPG (img2go.com) ...
- mask-rcnn训练测试自制数据集
mask-rcnn训练测试自制数据集 本项目简介 本项目用于口腔模型分割,数据类型有7种,本文主要用于介绍如何使用自制数据集训练自己的模型 训练环境配置 操作系统:win10 GPU: GTX 108 ...
- 行人属性识别二:添加新网络训练和自定义数据集训练
序言 上一篇记录了训练过程,但是项目中提供的模型网络都是偏大的,如果想要在边缘设备上部署,还是比较吃力的,所以本文记录如何加入新的网络模型进行训练,以repvgg为例,加入mobilenet.shuf ...
- CycleGAN与pix2pix训练自己的数据集-Pytorch
github:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix 参考:https://blog.csdn.net/Gavinmiaoc/a ...
- mmrotate自定义数据集安装部署训练测试
环境 Ubuntu18.04 cuda10.2 python3.7 2080s 一.安装 conda create -n mmrotate python=3.7 conda activate mmro ...
- YOLOv5自定义数据集训练
YOLOv5自定义数据集训练 简介 本文介绍如何在自己的VOC格式数据集上训练YOLO5目标检测模型. VOC数据集格式 首先,先来了解一下Pascal VOC数据集的格式,该数据集油5个部分组成,文 ...
- 【Python】mmSegmentation语义分割框架教程(自定义数据集、训练设定、数据增强)
文章目录 0.mmSegmentation介绍 1.mmSegmentation基本框架 1.1.mmSegmentation的model设置 1.2.mmSegmentation的dataset设置 ...
- 利用COCO API测试自己数据集训练的YOLOv3模型的mAP(VOC格式数据集)
目录 工具 前言 生成标注集的json文件 数据集准备 将voc注解格式数据集的注解转换成txt注解格式 自定义数据集的注解转换成coco的注解格式 生成结果集的json文件 安装darknet 获取 ...
- MMDetection 快速开始,训练自定义数据集
本文将快速引导使用 MMDetection ,记录了实践中需注意的一些问题. 环境准备 基础环境 Nvidia 显卡的主机 Ubuntu 18.04 系统安装,可见 制作 USB 启动盘,及系统安装 ...
最新文章
- 网路游侠:日志审计系统与SOC的区别
- Annotation之一:Java Annotation基本功能介绍
- js md5 过滤表情 数据签名
- mysql考勤系统设计函数_Mysql实战之员工考勤系统数据库建立
- Helpful C Tools:source、executables、debugging and performance tuning
- idea连接Mysql报错
- 遇见Flask-Script
- 4.json字符串转换集json对象、json对象转换json字符串
- ROM 、RAM和FLASH 的区别
- 【阅读笔记】《创京东:刘强东亲述创业之路》
- qqkey获取原理_HIT我守护的一切手游电脑版苹果版有吗 HIT我守护的一切iOS电脑版模拟器...
- 普中28335开发攻略_凌乱的DSP笔记(1)-F28335基础知识
- IDEA Plugins中搜索不到插件解决办法
- 每日一思(2022.5.19)——前无古人后无来者
- 迷宫(深度优先搜索)
- Linux磁盘空闲空间调度管理
- java中级工程师所需的技能_Java 工程师要具备哪些技能或技术?
- JavaScript 内存溢出解决办法 亲测有效
- TCP/IP协议(二、初识tcp)
- 中国医科大学2021年9月《临床营养学》作业考核试题