目标检测数据集标注工具 - od-annotation

目标检测数据集标注工具 - od-annotation

        hzylmf/od-annotation
https://github.com/hzylmf/od-annotation
        采用 python-flask 框架开发,基于 B/S 方式交互,支持多人同时标注。
1. 特点
        B/S方式交互
        支持多人同时标注(可分配不同标注人员的标注范围,或不同人员标注不同类别)
        类别采用选择方式,免去手工输入类别工作
        支持拖拽方式修正标注区域
        支持键盘方向键切换标注样本
2. 使用方法
2.1 根据 requirements.txt 安装环境依赖

$ cd od-annotation
$ pip3 install -r requirements.txt

strong@foreverstrong:~$ mkdir software_toolbox
strong@foreverstrong:~$ cd software_toolbox/
strong@foreverstrong:~/software_toolbox$ git clone https://github.com/hzylmf/od-annotation.git
Cloning into 'od-annotation'...
remote: Counting objects: 218, done.
remote: Compressing objects: 100% (157/157), done.
remote: Total 218 (delta 61), reused 191 (delta 39), pack-reused 0
Receiving objects: 100% (218/218), 2.04 MiB | 115.00 KiB/s, done.
Resolving deltas: 100% (61/61), done.
Checking connectivity... done.
strong@foreverstrong:~/software_toolbox$ ll
total 12
drwxrwxr-x  3 strong strong 4096 Mar 11 16:12 ./
drwxr-xr-x 64 strong strong 4096 Mar 11 16:12 ../
drwxrwxr-x 13 strong strong 4096 Mar 11 16:12 od-annotation/
strong@foreverstrong:~/software_toolbox$ cd od-annotation/
strong@foreverstrong:~/software_toolbox/od-annotation$ ll
total 76
drwxrwxr-x 13 strong strong 4096 Mar 11 16:12 ./
drwxrwxr-x  3 strong strong 4096 Mar 11 16:12 ../
drwxrwxr-x  3 strong strong 4096 Mar 11 16:12 annotation/
-rw-rw-r--  1 strong strong 4316 Mar 11 16:12 app.py
-rw-rw-r--  1 strong strong  515 Mar 11 16:12 config.py
drwxrwxr-x  2 strong strong 4096 Mar 11 16:12 dataset/
drwxrwxr-x  2 strong strong 4096 Mar 11 16:12 docs/
drwxrwxr-x  8 strong strong 4096 Mar 11 16:12 .git/
drwxrwxr-x  3 strong strong 4096 Mar 11 16:12 .idea/
-rw-rw-r--  1 strong strong 1313 Mar 11 16:12 logger_manager.py
drwxrwxr-x  2 strong strong 4096 Mar 11 16:12 logs/
drwxrwxr-x  2 strong strong 4096 Mar 11 16:12 models/
drwxrwxr-x  2 strong strong 4096 Mar 11 16:12 __pycache__/
-rw-rw-r--  1 strong strong 2123 Mar 11 16:12 README.md
-rw-rw-r--  1 strong strong   65 Mar 11 16:12 requirements.txt
drwxrwxr-x  4 strong strong 4096 Mar 11 16:12 static/
drwxrwxr-x  2 strong strong 4096 Mar 11 16:12 templates/
drwxrwxr-x  3 strong strong 4096 Mar 11 16:12 utils/
strong@foreverstrong:~/software_toolbox/od-annotation$ pip3 install -r requirements.txt
Collecting Flask==0.12.2 (from -r requirements.txt (line 1))
  Downloading Flask-0.12.2-py2.py3-none-any.whl (83kB)
    100% |████████████████████████████████| 92kB 459kB/s 
Collecting PyMySQL==0.7.11 (from -r requirements.txt (line 2))
  Downloading PyMySQL-0.7.11-py2.py3-none-any.whl (78kB)
    100% |████████████████████████████████| 81kB 654kB/s 
Collecting requests==2.9.1 (from -r requirements.txt (line 3))
  Downloading requests-2.9.1-py2.py3-none-any.whl (501kB)
    100% |████████████████████████████████| 501kB 693kB/s 
Collecting flask-login==0.4.1 (from -r requirements.txt (line 4))
  Downloading Flask-Login-0.4.1.tar.gz
Collecting Werkzeug>=0.7 (from Flask==0.12.2->-r requirements.txt (line 1))
  Downloading Werkzeug-0.14.1-py2.py3-none-any.whl (322kB)
    100% |████████████████████████████████| 327kB 1.3MB/s 
Collecting click>=2.0 (from Flask==0.12.2->-r requirements.txt (line 1))
  Downloading click-6.7-py2.py3-none-any.whl (71kB)
    100% |████████████████████████████████| 71kB 3.8MB/s 
Collecting itsdangerous>=0.21 (from Flask==0.12.2->-r requirements.txt (line 1))
  Downloading itsdangerous-0.24.tar.gz (46kB)
    100% |████████████████████████████████| 51kB 1.7MB/s 
Collecting Jinja2>=2.4 (from Flask==0.12.2->-r requirements.txt (line 1))
  Downloading Jinja2-2.10-py2.py3-none-any.whl (126kB)
    100% |████████████████████████████████| 133kB 941kB/s 
Collecting MarkupSafe>=0.23 (from Jinja2>=2.4->Flask==0.12.2->-r requirements.txt (line 1))
  Downloading MarkupSafe-1.0.tar.gz
Building wheels for collected packages: flask-login, itsdangerous, MarkupSafe
  Running setup.py bdist_wheel for flask-login ... done
  Stored in directory: /home/strong/.cache/pip/wheels/25/4b/53/738919150a881bdebf1e2a7885fa7610a1ff7ff3e113a55fe1
  Running setup.py bdist_wheel for itsdangerous ... done
  Stored in directory: /home/strong/.cache/pip/wheels/fc/a8/66/24d655233c757e178d45dea2de22a04c6d92766abfb741129a
  Running setup.py bdist_wheel for MarkupSafe ... done
  Stored in directory: /home/strong/.cache/pip/wheels/88/a7/30/e39a54a87bcbe25308fa3ca64e8ddc75d9b3e5afa21ee32d57
Successfully built flask-login itsdangerous MarkupSafe
Installing collected packages: Werkzeug, click, itsdangerous, MarkupSafe, Jinja2, Flask, PyMySQL, requests, flask-login
Successfully installed Flask Jinja2-2.8 MarkupSafe-0.23 PyMySQL Werkzeug-0.13 click flask-login itsdangerous requests-2.9.1
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
strong@foreverstrong:~/software_toolbox/od-annotation$
2.2 重命名标注样本,采用前导0方式编号,共6位 (000001-0000xx),注意保持样本编号连续。
/home/strong/software_toolbox/od-annotation/dataset
2.3 编辑annotation/label_config.txt文件,根据格式配置标签
# 标签名称:标签描述
dog:狗
 
2.4 编辑config.py,根据样本实际情况修改:
SAMPLE_FILE_TYPE = 'jpg'  # 样本图片格式
SAMPLE_FILE_PATH = 'your samples directory path'  # 样本图片存放目录


2.5 启动/停止/重启标注工具:
$ cd od-annotation
$ python3 app.py --start|stop|restart

        访问 http://localhost:5000 开始标注。通过按住鼠标左键并拖拽鼠标在目标区域绘制矩形框进行标注,松开鼠标完成标注。可拖动矩形框以修正坐标,右击某矩形框可取消该标注。
         点击左右方向按钮或通过键盘方向键切换标注样本。切换时自动提交标注结果,或手动点击保存按钮提交标注结果。
        所有样本标注完成后,若需要转换成 VOC2007 格式,执行:
$ cd od-annotation
$ python3 app.py --convert2voc

        查看 annotation/VOC2007 目录下相关文件夹是否生成对应文件




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值