3D BAT v24.3.2 部署实战:Ubuntu 22.04 环境 5 步启动 Web 标注服务
3D BAT v24.3.2 部署实战:Ubuntu 22.04 环境 5 步启动 Web 标注服务
在自动驾驶和计算机视觉领域,高质量的数据标注是算法研发的基础。3D Bounding Box Annotation Tool(3D BAT)作为一款开源的半自动化标注工具,凭借其多模态数据支持和Web端便捷操作,已成为行业内的首选解决方案之一。本文将详细介绍如何在Ubuntu 22.04系统上快速部署3D BAT v24.3.2版本,帮助算法团队快速搭建内网标注平台。
1. 环境准备与依赖安装
部署前需确保系统满足以下基础要求:
- 操作系统:Ubuntu 22.04 LTS(内核版本5.15+)
- 硬件配置:建议4核CPU/16GB内存/50GB存储空间
- 网络环境:能够访问GitHub和Python官方源
首先更新系统并安装基础依赖:
sudo apt update && sudo apt upgrade -y sudo apt install -y git curl python3-pip npm验证Node.js版本(要求≥14.x):
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y nodejs提示:若企业内网需要代理配置,请提前设置npm和pip的镜像源。推荐使用阿里云或清华镜像源加速下载。
2. 项目克隆与环境配置
通过Git克隆官方仓库并进入项目目录:
git clone https://github.com/walzimmer/3d-bat.git --branch v24.3.2 cd 3d-bat创建Python虚拟环境避免依赖冲突:
python3 -m venv venv source venv/bin/activate pip install --upgrade pip wheel安装Python依赖时需特别注意版本兼容性:
pip install -r requirements.txt常见问题处理方案:
| 错误类型 | 解决方案 |
|---|---|
node-gyp编译失败 | 安装build-essential:sudo apt install build-essential |
libGL.so缺失 | 安装OpenGL库:sudo apt install libgl1-mesa-glx |
| 端口冲突 | 修改config.json中的server_port参数 |
3. 前端构建与依赖安装
3D BAT采用前后端分离架构,前端需单独构建:
npm install npm run build构建过程中可能遇到的典型问题:
内存不足:通过增加swap空间解决
sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile依赖版本冲突:删除
node_modules后重试rm -rf node_modules package-lock.json npm cache clean --force
4. 服务启动与配置调优
启动后端API服务:
npm run start-server在另一个终端启动前端应用:
npm run start为提高生产环境性能,建议修改以下配置参数(位于config.json):
{ "max_workers": 4, "cache_size": "2GB", "gpu_acceleration": true, "session_timeout": 3600 }服务验证方法:
- 访问
http://localhost:8080应出现登录界面 - 检查API状态:
curl http://localhost:8000/api/health
5. 生产环境部署建议
对于企业级部署,需要考虑以下增强措施:
安全加固方案:
- 使用Nginx反向代理并配置HTTPS
- 设置防火墙规则限制访问IP
- 定期备份标注数据到独立存储
性能优化配置:
# Nginx示例配置 upstream bat_app { server localhost:8080; keepalive 32; } server { listen 443 ssl; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; location / { proxy_pass http://bat_app; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }高可用架构:
- 使用PM2管理进程:
pm2 start npm --name "3d-bat" -- run start - 配置日志轮转:
logrotate -f /etc/logrotate.d/3d-bat - 监控方案:Prometheus + Grafana监控服务状态
6. 标注工作流实战技巧
成功部署后,可通过以下流程提升标注效率:
数据导入规范:
- 点云数据需转换为PCD格式
- 图像命名遵循
sequence_frame_camera.ext格式 - 使用
tools/convert_kitti.py转换常见数据集
团队协作配置:
# 创建多用户账号 python manage.py create_user --name=annotator1 --role=annotator python manage.py create_user --name=reviewer1 --role=reviewer快捷键大全:
| 操作 | 快捷键 |
|---|---|
| 创建立方体 | B |
| 保存当前帧 | Ctrl+S |
| 帧间插值 | I |
| 视角切换 | V |
| 撤销操作 | Ctrl+Z |
实际使用中发现,合理利用AI辅助标注功能可提升约40%的工作效率。特别是在处理连续帧数据时,开启自动追踪功能后,标注员只需修正关键帧即可完成整个序列的标注。
