CityLLaVA 项目使用教程
项目介绍
CityLLaVA 是一个针对城市场景的视觉语言模型(VLM)的精细调整工具。该项目由阿里巴巴团队开发,旨在通过高效的微调技术,使视觉语言模型能够更好地理解和处理城市环境中的复杂数据。CityLLaVA 在 CVPR 2024 研讨会的 NVIDIA AI City Challenge 中获得了第一名。
项目快速启动
环境设置
首先,确保你已经安装了 Conda。然后创建一个新的环境并激活它:
conda create -n cityllava python=3.10
conda activate cityllava
安装依赖
克隆项目仓库并安装必要的依赖:
git clone https://github.com/alibaba/AICITY2024_Track2_AliOpenTrek_CityLLaVA.git
cd AICITY2024_Track2_AliOpenTrek_CityLLaVA
pip install --upgrade pip
pip install -e .
pip install flash-attn --no-build-isolation
数据准备
下载所需的 wts-dataset
并解压到 data
目录下:
cd data_preprocess
mkdir /data
# 下载并解压数据集到 /data 目录
确保数据目录结构如下:
├── data
│ ├── BDD_PC_5k
│ │ ├── annotations
│ │ │ ├── bbox_annotated
│ │ │ ├── bbox_generated
│ │ │ └── caption
│ │ └── videos
│ ├── WTS
│ │ ├── annotations
│ │ │ ├── bbox_annotated
│ │ │ ├── bbox_generated
│ │ │ └── caption
│ │ └── videos
│ └── test_part
│ ├── view_used_as_main_reference_for_multiview_scenario.csv
应用案例和最佳实践
案例一:城市交通监控
CityLLaVA 可以用于实时监控城市交通流量和识别交通违规行为。通过分析视频数据,模型能够检测和分类车辆,并生成相应的交通报告。
案例二:城市环境监测
在城市环境监测中,CityLLaVA 可以帮助识别和分类城市中的垃圾、污染源等,从而协助城市管理部门进行有效的环境治理。
最佳实践
- 数据预处理:确保数据集的质量和多样性,以提高模型的泛化能力。
- 模型微调:根据具体应用场景,对模型进行针对性的微调,以达到最佳性能。
- 持续迭代:定期更新模型,以适应不断变化的城市环境和数据。
典型生态项目
LLaVA
LLaVA 是一个基础的视觉语言模型,CityLLaVA 在其基础上进行了扩展和优化,以适应城市场景的特殊需求。
LLaMA-Pro
LLaMA-Pro 是一个高级的视觉语言模型,提供了更多的功能和优化选项,CityLLaVA 在开发过程中参考了其代码和架构。
通过结合这些生态项目,CityLLaVA 能够提供一个强大的工具集,帮助开发者在城市智能管理领域取得更好的成果。