Project Icon

kitti360LabelTool

KITTI-360数据集标注工具

KITTI-360 Annotation Tool是一个开源的Web应用框架,用于标注KITTI-360数据集。该工具基于Python和JavaScript开发,结合cherrypy和WebGL技术,提供了直观的用户界面。它支持多用户协作、任务分配和权限管理,有助于提高标注效率和准确性。研究人员可以使用此工具查看、编辑和提交标注结果,为城市场景理解研究提供数据支持。

KITTI-360 标注工具

KITTI-360 标注工具是一个基于 Python(cherrypy + jinja2 + sqlite3)作为服务器端,JavaScript + WebGL 作为前端开发的框架。它是用于标注 KITTI-360 数据集的标注工具。 标注说明的详细信息请参见*此处*。

依赖项

快速演示

  • 使用以下命令下载演示数据:

    ./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:终止现有进程并重新启动服务器。要终止现有进程:

  1. 在命令行中运行 ps aux | grep python

  2. 找到用户名为 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

特此免费授予任何获得本软件及相关文档文件("软件")副本的人不受限制地处理本软件的权利,包括但不限于使用、复制、修改、合并、出版、分发、再许可和/或销售软件副本的权利,并允许向其提供本软件的人员这样做,但须符合以下条件:

上述版权声明和本许可声明应包含在本软件的所有副本或重要部分中。

本软件按"原样"提供,不提供任何明示或暗示的保证,包括但不限于对适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有人均不对任何索赔、损害或其他责任负责,无论是在合同诉讼、侵权行为还是其他方面,均由软件或软件的使用或其他交易引起或与之相关。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号