Logo

KITTI-360 标注工具:一个强大的街景数据标注框架

KITTI-360标注工具简介

KITTI-360标注工具是由自主视觉组(Autonomous Vision Group)开发的一个强大的数据标注框架,专门用于标注大规模的街景数据集。该工具采用Python(cherrypy + jinja2 + sqlite3)作为后端,JavaScript + WebGL作为前端,为研究人员提供了一个高效、灵活的标注平台。

KITTI-360标注工具界面

KITTI-360标注工具最初是为了标注KITTI-360数据集而设计的。KITTI-360是一个大规模的街景数据集,包含了丰富的传感器数据和全面的2D/3D标注信息。该数据集记录了德国卡尔斯鲁厄市郊的多个区域,包含超过32万张图像和10万次激光扫描,行驶距离达73.7公里。标注内容涵盖了静态和动态的3D场景元素,并将这些信息转换到图像域,为2D图像和3D点云提供了密集的语义和实例标注。

主要特点

  1. 多模态数据支持:可以同时处理图像、点云等多种数据类型。

  2. 灵活的标注模式:支持只读、正常和练习三种标注模式,满足不同场景需求。

  3. 用户友好的界面:直观的WebGL可视化界面,方便标注人员操作。

  4. 自动保存功能:定期自动保存标注结果,防止数据丢失。

  5. 多用户协作:支持多用户同时在线标注,提高工作效率。

  6. 可扩展性强:基于开源技术栈开发,易于二次开发和功能扩展。

系统依赖

KITTI-360标注工具主要依赖以下几个Python库:

  • jinja2:用于生成HTML模板
  • cherrypy:轻量级Web框架
  • sqlite3:嵌入式数据库

此外,系统还需要安装sqlite3及其开发库。详细的安装命令如下:

sudo apt install python-pip
pip install jinja2
pip install cherrypy
sudo apt install sqlite3 libsqlite3-dev

快速启动

要快速体验KITTI-360标注工具,可以按照以下步骤操作:

  1. 下载演示数据:

    ./download_demo_data.sh
    
  2. 启动Web服务器:

    ./run_demo.sh
    
  3. 在浏览器中访问 http://127.0.0.1:8080 即可打开标注界面。

详细配置步骤

为了更好地使用KITTI-360标注工具,需要进行一些详细的配置:

1. 数据准备

将需要标注的数据放置在 public/data/ 目录下,或者创建一个符号链接指向数据所在位置。

2. 用户任务配置

用户和任务数据存储在 db_import/ 目录中。主要包含两个配置文件:

  • users.txt:每行包含一个用户的信息,格式为 Email Name UserId Password IsAdmin
  • taskLists.txt:每行包含一个用户-任务信息,格式为 TaskId UserId Editable

其中 Editable 参数表示用户对该任务的权限:

  • 0: 只读(仅可查看标注)
  • 1: 正常(可查看、标注和提交结果)
  • 2: 练习(可查看和标注,但不能提交结果)

3. 数据库设置

配置好用户和任务文件后,运行以下命令初始化数据库:

python create_db.py

4. 服务器配置

server.conf 文件中设置主机和端口信息,例如:

[global]
server.socket_host = "127.0.0.1" 
server.socket_port = 8080        

5. 启动服务器

运行以下命令启动标注服务器:

python labelApp.py

6. 访问Web界面

在浏览器中输入 http://host:port 即可访问标注界面。

7. 获取标注结果

标注结果以XML格式保存在 public/results/ 目录下。项目还提供了解析XML文件的工具函数,可在这里找到。

项目结构

KITTI-360标注工具的目录结构如下:

.(ROOT)
|
+-- assets
|   |
|   +-- css
|   |
|   +-- javascripts: JavaScript源代码
|
+-- db: 生成的数据库(通过运行create_db.py)
|
+-- db_import
|    |
|    +-- 用户-任务配置文件
|
+-- public
|    |
|    +-- backup: 标注过程中自动保存的备份XML文件
|    |
|    +-- data: 待标注数据
|    |
|    +-- resource: 图标等资源文件
|    |
|    +-- results: 最终的XML标注文件
|    |
|    +-- mapping.txt: 标签合并文件
|    |
|    +-- colorList.txt: 标签颜色映射文件
|
+-- views: HTML页面

常见问题及解决方案

在使用KITTI-360标注工具时,可能会遇到一些常见问题。以下是一个典型问题及其解决方案:

Q: 遇到 "socket.error: (98, 'Address already in use')" 错误怎么办?

A: 这个错误通常是因为之前的服务器进程未正确关闭导致的。解决步骤如下:

  1. 在命令行中运行 ps aux | grep python 找出相关进程。
  2. 找到用户名为 annot 的进程ID(PID)。
  3. 执行 sudo kill -9 PID 终止该进程。
  4. 重新启动服务器。

KITTI-360数据集的重要性

KITTI-360标注工具的开发离不开KITTI-360数据集的支持。该数据集在城市场景理解研究中具有重要意义:

  1. 大规模和高质量:包含超过32万张图像和10万次激光扫描,为深度学习模型提供了丰富的训练数据。

  2. 多模态数据:集成了图像、激光雷达、GPS/IMU等多种传感器数据,有助于多模态感知算法的研发。

  3. 精确标注:提供了密集的2D/3D语义和实例标注,为场景理解任务提供了高质量的ground truth。

  4. 长序列数据:73.7公里的行驶距离确保了数据的连续性,有利于研究时序相关的任务。

  5. 丰富的场景:涵盖了城市、郊区等多种环境,提高了模型的泛化能力。

  6. 标准化评测:为2D/3D语义分割、实例分割、目标检测等任务提供了统一的评测基准。

在研究中使用KITTI-360标注工具

如果您在研究中使用了KITTI-360标注工具,建议在论文中引用以下文献:

@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}, 
}

开源协议

KITTI-360标注工具采用MIT开源协议发布。这意味着您可以自由地使用、修改和分发该软件,但需要在软件的所有副本中包含原始的版权和许可声明。详细的许可条款可以在项目的LICENSE文件中查看。

总结

KITTI-360标注工具为大规模街景数据的标注提供了一个强大而灵活的解决方案。它不仅支持多种数据类型和标注模式,还具有用户友好的界面和多用户协作功能。结合KITTI-360数据集,这个工具为城市场景理解研究提供了宝贵的资源。无论是数据科学家、计算机视觉研究人员,还是自动驾驶领域的工程师,都可以从这个工具中受益,加速他们的研究和开发进程。

随着城市智能化和自动驾驶技术的快速发展,高质量的标注数据将变得越来越重要。KITTI-360标注工具的开源不仅为研究社区提供了一个有力的工具,也为未来更多创新性的标注方法和工具的开发铺平了道路。我们期待看到更多基于这个工具的研究成果,推动城市场景理解技术的进步。

最新项目

Project Cover
豆包MarsCode
豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。
Project Cover
AI写歌
Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。
Project Cover
商汤小浣熊
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
Project Cover
有言AI
有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。
Project Cover
Kimi
Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。
Project Cover
吐司
探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。
Project Cover
SubCat字幕猫
SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。
Project Cover
AIWritePaper论文写作
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。
Project Cover
稿定AI
稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。
投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号