cclabeler
cclabeler copied to clipboard
A web tool for labeling pedestrians in an image, provideing two types of label: box and point.
人群计数标注工具
这个repo是一个用于在图像中标注行人的,基于web的,可以快速部署的标注工具。其目前可以提供 框标注 和 点标注 两种方法。该工具也可以迁移到其他标注相同目标的项目中去,例如车辆标注、人脸框定等。
特色
为提升人群计数任务的标注质量和速度,项目精心设计了标注工具,包含以下特色:
- 为应对不同场景,在标注过程中,我们的工具自动将整张图片分割成 16x16 的小区块。使得标注着可以在原图的5个尺度下(1,2,4,8,16)标注目标。
- 为防止漏标多标情况,右侧内容显示框包含两部分:全透明区域代指左侧每个小方格的真实区域,四周浅蓝色透明区域为邻近区域。
- 划分区块以后就可以设置任意区块是否标注完成。
更加具体的展示参见我们的标注视频。

Request
- Python 3.+
- Django (
pip install django) - nginx(如果并发较大,建议安装)
如何运行
- 将该repository 克隆到本地工作区:
git clone https://github.com/Elin24/cclabeler.git - 将待标注的图片放入
data/images下,data目录结构如下。初始时,jsons和marks中不包含文件,其中的文件会在标注过程中产生。其中jsons文件夹下的文件即为标注结果。
data ├─images │ 1.jpg │ 2.jpg │ 3.jpg │ default.jpg (在所有文件标注完成后展示的文件) │ ├─jsons │ 1.json │ 2.json │ 3.json │ └─marks 1.json 2.json 3.json
- 设置标注人员:
- 在
user/目录下按照test.json设置每一个标注人员的信息和ta将要标注的图片集- 文件名即为用户的用户名(例如
test.json表示用户名是test)- json文件中的
password为登录口令data是一个列表,存储了所有该用户需要标注的图像名称done是一个列表,表示该用户已经完成标注的图像名称(初始时可设置为空列表)half是一个列表,表示该用户正在标注的图像名称(初始时可设置为空列表)
- 进入主目录并运行django服务:
python manage.py runserver 0.0.0.0:8000 - 登录账户,开始标注。
标注过程中的快捷键
ctrl+滚轮:放大缩小图片R/F:放大缩小图片,和ctrl+滚轮效果相同,R为放大,F为缩小WASD:移动待标注区域C/V:标记当前区域为 已标注/未标注。与界面右边的Marded as labeled/Marked as unlabeled作用分别对应ctrl+Z:撤销标注操作ctrl+Y:恢复刚才的撤销操作ctrl+S:保存当前标注状态到后台(实际上每20s会自动保存一次)
标注情况展示
登录 http://localhost:8000/summary 可以获得目前所有标注人员的情况和进度。
引用
如果觉得我们的工具对你们的项目或者工作有用,请引用:
@article{gao2020nwpu,
title={NWPU-Crowd: A Large-Scale Benchmark for Crowd Counting and Localization},
author={Wang, Qi and Gao, Junyu and Lin, Wei and Li, Xuelong},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
doi={10.1109/TPAMI.2020.3013269},
year={2020}
}