KITTI-360 标注工具
KITTI-360 标注工具是一个基于 Python(cherrypy + jinja2 + sqlite3)作为服务器端,JavaScript + WebGL 作为前端开发的框架。它是用于标注 KITTI-360 数据集的标注工具。 标注说明的详细信息请参见*此处*。
依赖项
-
jinja2 (http://jinja.pocoo.org/)
sudo apt install python-pip pip install jinja2
-
cherrypy (http://www.cherrypy.org/)
pip install cherrypy
-
sqlite (https://www.sqlite.org/)
sudo apt install sqlite3 libsqlite3-dev
快速演示
-
使用以下命令下载演示数据:
./download_demo_data.sh
-
使用以下命令启动 Web 服务器:
./run_demo.sh
-
然后,您可以在浏览器中访问 http://127.0.0.1:8080 进入 Web 应用程序。
详细演示说明
1. 设置数据
准备数据并将其放入 public/data/ 目录,或者您可以从数据所在位置创建一个指向 public/data/ 的符号链接。
2. 配置用户-任务分配
用户和任务数据保存在 db_import/ 目录中。示例文件已包含在 db_import/*.tmp
中。
-
users.txt
每行包含一个用户信息,顺序如下:
电子邮件 姓名 用户ID 密码 是否管理员
-
taskLists.txt
每行包含一个用户-任务信息,顺序如下:
任务ID 用户ID 可编辑性
其中
可编辑性
是一个数字,表示:可编辑性 = 0
:只读(用户只能查看标注)可编辑性 = 1
:正常(用户可以查看、标注和提交结果)可编辑性 = 2
:试验场(用户可以查看、标注,但不能提交结果)
注意:每个项目中不允许有空格。因此,请使用 '_' 或其他字符连接单词
3. 设置数据库
根据上述规则设置好用户/任务文件后,运行以下命令设置数据库:
python create_db.py
4. 设置主机和端口地址
在 server.conf 中设置主机和端口地址,示例如下:
[global]
server.socket_host = "127.0.0.1" # 需要修改的主机
server.socket_port = 8080 # 需要修改的端口(例如 2000)
5. 启动服务器
python labelApp.py
6. 加载网页
在浏览器中输入 http://主机:端口 加载网页。例如,在演示中,Web 应用程序在本地的 http://127.0.0.1:8080 启动。
7. 获取标注结果
标注结果以 XML 文件形式保存在 public/results/ 目录下。我们提供了解析 XML 文件的工具函数,可在 https://github.com/autonomousvision/kitti360Scripts/blob/master/kitti360scripts/helpers/annotation.py#L353 中找到。
文件夹结构
.(根目录)
|
+-- assets
| |
| +-- css
| |
| +-- javascripts: JavaScript 源代码
|
+-- db: 生成的数据库(通过运行 create_db.py)
|
+-- db_import
| |
| +-- 用户-任务配置文件
|
+-- public
| |
| +-- backup: 备份 XML 标注文件,在标注过程中自动保存
| |
| +-- data: 标注数据
| |
| +-- resource: 资源文件,如图标
| |
| +-- results: 结果 XML 标注文件
| |
| +-- mapping.txt: 标签合并文件
| |
| +-- colorList.txt: 标签颜色映射文件
|
+-- views: HTML 页面
常见问题及解决方案
问题1:"socket.error: (98, 'Address already in use')"
回答1:终止现有进程并重新启动服务器。要终止现有进程:
-
在命令行中运行
ps aux | grep python
。 -
找到用户名为 annot 的 PID,然后运行
sudo kill -9 PID
。
引用 KITTI-360 标注工具
如果您发现此代码对您的研究有帮助,请使用以下 BibTeX 条目。
@article{Liao2021ARXIV,
title = {{KITTI}-360: A Novel Dataset and Benchmarks for Urban Scene Understanding in 2D and 3D},
author = {Yiyi Liao and Jun Xie and Andreas Geiger},
journal = {arXiv.org},
volume = {2109.13410},
year = {2021},
}
许可证
MIT 许可证
版权所有 (c) 2021 Autonomous Vision Group
特此免费授予任何获得本软件及相关文档文件("软件")副本的人不受限制地处理本软件的权利,包括但不限于使用、复制、修改、合并、出版、分发、再许可和/或销售软件副本的权利,并允许向其提供本软件的人员这样做,但须符合以下条件:
上述版权声明和本许可声明应包含在本软件的所有副本或重要部分中。
本软件按"原样"提供,不提供任何明示或暗示的保证,包括但不限于对适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权行为还是其他方面,均由软件或软件的使用或其他交易引起或与之相关。