Introduction to the KITTI-360 Annotation Tool
The KITTI-360 Annotation Tool is a sophisticated framework designed for annotation purposes, specifically for the KITTI-360 dataset. This tool integrates a combination of Python technologies such as CherryPy, Jinja2, and SQLite3 on the server side, and JavaScript with WebGL on the front end. This dynamic setup facilitates efficient data annotation, crucial for advancing research in urban scene understanding in both 2D and 3D environments.
Key Components and Dependencies
To effectively run the KITTI-360 Annotation Tool, the user needs:
-
Jinja2: A Python templating engine.
sudo apt install python-pip pip install jinja2
-
CherryPy: A minimalist Python web framework.
pip install cherrypy
-
SQLite: A lightweight database.
sudo apt install sqlite3 libsqlite3-dev
These technologies combined ensure streamlined data processing and web server performance.
Getting Started with a Quick Demo
To explore a demo of the annotation tool:
-
Download the Data:
./download_demo_data.sh
-
Start the Web Server:
./run_demo.sh
-
Access the Web Application: Open your browser and enter http://127.0.0.1:8080 to see the tool in action.
Detailed Demo Steps
-
Data Preparation: Position your data in public/data/ or create a linkage from the existing data location.
-
User-Task Assignment: Configure which users will handle particular tasks via configuration files in
db_import/
. Users and tasks are formatted in files such asusers.txt
andtaskLists.txt
. -
Database Setup: Create the database with the following command:
python create_db.py
-
Server Configuration: Adjust host and port settings in the
server.conf
file to fit your needs. -
Launch the Server: Begin operations by executing:
python labelApp.py
-
Open the Interface: Insert your host and port into the browser for toolkit access, e.g., http://127.0.0.1:8080.
-
Retrieve Annotations: Outputs are stored in XML format within public/results/. Utility functions are available to parse these results, aiding in easy data manipulation.
Structure of the Project
The project is organized into several key directories:
- assets: Contains CSS and JavaScript files.
- db: Hosts generated databases.
- db_import: Includes user-task configuration files.
- public: Where backup, data, resources, results, and configuration files are stored.
- views: Houses HTML page templates for the web interface.
Troubleshooting Common Issues
A known issue is the "socket.error: (98, 'Address already in use')". This indicates that the server port is occupied. The solution is to terminate the ongoing process using:
ps aux | grep python
sudo kill -9 <PID>
Academic and Licensing Information
This tool has significant research value, as cited in the article "KITTI-360: A Novel Dataset and Benchmarks for Urban Scene Understanding in 2D and 3D" by Yiyi Liao, Jun Xie, and Andreas Geiger. It operates under the MIT License, making it freely available with minimal restrictions.
The KITTI-360 Annotation Tool stands as a robust resource for researchers and developers working on urban scene analysis, offering a comprehensive solution for detailed data annotation and visualization.