Skip to content

Dimweaker/ocr_label

Repository files navigation

OCR识别任务标注工具

image.png

安装

环境要求

开发环境为python3.10.10,理论python>=3.7即可 自行安装pyside6,pandas,paramiko,参见requirement.txt

文件要求

对于.py代码,目录如下

| -- train # 存放图片
| | --my_crop_xxx.jpg
| | ...
| -- data.csv 
| -- config.ini
| -- logo.bmp
| -- label.py
| -- manager.py
| -- remote.py
| -- ui_mainwindow.py

对于.exe文件,目录如下

| -- train # 存放图片
| | --my_crop_xxx.jpg
| | ...
| -- data.csv 
| -- config.ini
| -- logo.bmp
| -- label.exe

文件配置

config.ini 配置如下

[user]
label_user = User

[remote]
host = sever
username = root
password = pswd

[data]
local_path = data.csv
remote_path = data/data.csv
buffer_path = buffer.csv

[column]
bool_cols = ['uncertain', 'invalid', 'punctuation', 'symbol', 'space', 'alien', 'traditional', 'change']

label_user为打标者的用户名,请自行修改 [remote]部分为服务器信息,如无需使用服务器功能,则不用填写 其余部分如无特殊需要请勿修改

使用说明

打标区

图片

滚轮滑动可以缩放图片,图片等比缩放,长/宽最大不超出图片区域,最小不小于最大尺寸的10%。

文本

测为基础模型的预测结果,置信为该预测结果的置信概率;旧是原标注,新是新的标注。

保存

保存,指保存新标签,以及标记区等一系列的信息(暂存在内存中,未保存到本地)。修改后,是否改变属性(状态栏可见)会变为True,署名(状态栏可见)为自己的用户名,修改时间(状态栏可见)为点击按钮时的时间。 请注意,即使新标签内容与旧标签一致,标记栏也无需修改,也需要在确认后按下保存,以表示这张图片已经经过人工标注。 快捷键为Ctrl+S。

还原

还原,会将新标签恢复为原标签,并将标记区等信息恢复为默认(勾选框一律恢复为未勾选,清晰度为5),是否改变属性(状态栏可见)会变为False,署名(状态栏可见)为baidu,修改时间(状态栏可见)为点击按钮时的时间。 快捷键为Ctrl+L。

标记区

标记区标记可多选

不确定

存在任何不确定的情况,请勾选此框

无效信息

认为该图片内不存在任何有效文字信息,请勾选该选项。

有标点

存在标点符号,且该标点存在中英文或全半角等多种格式,请勾选该选项。

有特殊符号

有各种除标点外的符号,特别是难以标注的符号,包括数学、拼音、带圈序号等,请勾选该选项。

可能有空格

文字中可能存在空格,标注时建议标出,并勾选该选项。

异形文字

存在难以辨认的草书、篆书等文字,极其潦草的字体,难以标注的外语,请勾选该选项。

繁体字

存在繁体字,请标注繁体字,并勾选该选项。

清晰度

对于清晰度:

  1. 极度不清晰,无法确定图片中文字位置,无法辨认任何文字
  2. 非常不清晰,能够确认图中存在文字信息,但无法识别其中任何文字
  3. 不清晰,能勉强识别部分文字,但有较多文字无法识别
  4. 较不清晰,能够识别大部分文字,但存在少量文字无法识别
  5. 较清晰,能够辨认出所有有效文字

切换区

上一张

跳转至上一张图片,快捷键为Ctrl+Alt+Left。

下一张

跳转至下一张图片,快捷键为Ctrl+Alt+Right。

上一张未标注

跳转至上一张是否改变属性为否的图片。

下一张未标注

跳转至下一张是否改变属性为否的图片。

跳转

存在两种跳转:

  1. 在文字框中输入xxx,则跳转到第xxx张图片
  2. 在文字框中输入"xxx",则跳转到名为my_crop_xxx.jpg的图片

本地查看

用Windows自带的图片查看器打开图片

菜单

保存到本地

保存到data.csv,不需要保存太多次,窗口关闭时会进行一次自动保存,主要是防止意外关闭。

保存到服务器

先将服务器的数据下载到本地缓存,将当前数据与该缓存合并后,上传到服务器。

从服务器读取

先将服务器的数据下载到本地缓存,将当前数据与该缓存合并后,作为当前数据。

关于服务器

一般来说,服务器上传下载速度都不快,所以操作时,由于GIL锁,过程中程序会一直卡死,请勿关闭和点击窗口,等待操作完成。因此,不建议进行频繁的服务器下载。(有空会用sql改写,提高效率)

关于数据合并

服务器操作时,数据会自动合并,对于每条服务器数据和本机当前数据,会自动选择时间更新的那条。建议划分好任务范围,不越界修改,避免意外的覆盖。

状态栏

格式为 当前图片序号/总图片数 图片地址 是否改变 署名 修改时间