GithubHelp home page GithubHelp logo

yhjohn163 / od-annotation Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hzylmf/od-annotation

0.0 2.0 0.0 2.77 MB

目标检测数据集标注工具

Python 71.14% CSS 0.72% JavaScript 19.29% HTML 8.85%
20180927

od-annotation's Introduction

目标检测数据集标注工具

采用python-flask框架开发,基于B/S方式交互,支持多人同时标注。

(丑陋的)界面效果图

特点

  • B/S方式交互
  • 支持多人同时标注(可分配不同标注人员的标注范围,或不同人员标注不同类别)
  • 类别采用选择方式,免去手工输入类别工作
  • 支持拖拽方式修正标注区域
  • 支持键盘方向键切换标注样本
  • 支持多类别多目标标注

使用方法

  1. 根据requirements.txt安装环境依赖
$ cd od-annotation
$ pip3 install -r requirements.txt
  1. 重命名标注样本,采用前导0方式编号,共6位(000001-0000xx),注意保持样本编号连续。
  2. 编辑annotation/label_config.txt文件,根据格式配置标签
# 标签名称:标签描述
dog:狗
  1. 编辑config.py,根据样本实际情况修改:
SAMPLE_FILE_TYPE = 'jpg'  # 样本图片格式
SAMPLE_FILE_PATH = 'your samples directory path'  # 样本图片存放目录
  1. 启动/停止/重启标注工具:
$ cd od-annotation
$ python3 app.py --start|stop|restart  # 前台进程方式运行
$ python3 app.py --start|restart --daemon  # 以后台进程方式(重新)启动
  1. 访问http://localhost:5000开始标注。先选定待标注类别,然后按住鼠标左键并拖拽鼠标在目标区域绘制矩形框进行标注,松开鼠标完成标注。可拖动矩形框以修正坐标,右击某矩形框可取消该标注。每次新绘制矩形框、拖动已有矩形框或右击取消矩形框时,会在下方的当前样本标注状态文本框中同步更新该样本的标注结果。
  2. 点击左右方向按钮或通过键盘方向键切换标注样本。切换时自动提交标注结果,同时在所有样本标注状态文本框中更新当前样本的标注结果。或手动点击保存按钮提交标注结果。
  3. 所有样本标注完成后,若需要转换成VOC2007格式,执行:
$ cd od-annotation
$ python3 app.py --convert2voc

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

说明

  • 依赖python3
  • Windows下python无fork功能,不支持daemon(后台进程)方式启动
  • 标注数据在annotation/annotation.txt文件中,每行一条标注数据,格式为filename,x1,y1,x2,y2,classname,x1,y1,x2,y2分别表示左上角和右下角坐标

已知Bug

  • 绘制区域再选择对应类别,然后切换样本时会导致类别单选框状态跟着切换(临时解决方法:通过点击页面空白区域来取消单选框焦点以避免bug)

od-annotation's People

Contributors

hzylmf avatar generalli95 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.