Skip to content

Commit 062c6b9

Browse files
SEMHAQclaudecharon191910
authored
添加CARLA模拟器支持 (#5230)
* update readme&requirements * feat: 首次提交 - YOLO11n 车辆计数系统 - 创建 main.py 作为项目入口文件,支持命令行参数配置 - 重构 yolo_vehicle_counter.py,支持函数调用和外部参数传入 - 将所有代码注释改为中文并优化说明 - 将路径配置提取到文件开头常量区域,便于管理 - 更新 README.md,中文化并完善项目文档 - 添加中文使用说明和配置说明 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: 重构YOLO11n车辆计数系统 - 重命名目录为yolo11n_vehicle_counter(符合Python命名规范) - 更新README.md,添加模型下载和Google Drive链接说明 - 添加目录创建步骤和.gitignore配置说明 - 重构yolo_vehicle_counter.py为函数式架构 - 所有注释中文化并优化 - 路径配置集中管理,支持外部参数传入 - 创建main.py命令行入口,支持参数配置 - 更新.gitignore排除大文件目录,减小项目体积 Co-Authored-By: charon191910 <2233145030@qq.com> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: 完成YOLO11n车辆计数系统重构 - 成功重命名目录为yolo11n_vehicle_counter(符合Python命名规范) - 更新README.md,添加模型下载说明和Google Drive链接 - 添加目录创建步骤和.gitignore配置说明 - 所有代码注释中文化并优化 - 路径配置集中管理,支持外部参数传入 - main.py命令行入口支持参数配置 - .gitignore排除大文件目录,减小项目体积 Co-Authored-By: charon191910 <2233145030@qq.com> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * refactor: 重命名目录为符合Python命名规范的小写格式 - 将 YOLO11n_Vehicle_Counter 重命名为 yolo11n_vehicle_counter - 符合PEP 8命名规范(小写字母+下划线) - 更新所有相关引用和路径 Co-Authored-By: charon191910 <2233145030@qq.com> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: 完成YOLO11n车辆计数系统重构 - 同步upstream最新代码,修复文件名错误和优化 - 添加改进版本yolo_vehicle_counter_improved.py,支持椭圆标注和多边形ROI - 更新main.py,添加版本选择功能(original/improved) - 更新README.md,详细描述改进版本特性 - 所有代码注释中文化并优化 - 路径配置集中管理,支持外部参数传入 - 符合Python PEP 8命名规范 Co-Authored-By: charon191910 <2233145030@qq.com> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: 添加上下行车辆计数版本 - 新增 yolo_vehicle_counter_updown.py,支持分别统计上下行车辆 - 更新 main.py,添加 updown 版本选择 - 更新 README.md,添加上下行计数版本说明 - 所有代码注释中文化并优化 - 符合Python PEP 8命名规范 - 支持命令行参数配置 Co-Authored-By: charon191910 <2233145030@qq.com> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: 完善YOLO11n车辆计数系统文档 - 更新README.md,添加上下行计数版本的详细说明 - 完善三个版本的功能对比和使用说明 - 添加多车道车辆计数系统的技术描述 - 更新使用示例,展示如何运行不同版本 - 所有文档中文化并优化格式 Co-Authored-By: charon191910 <2233145030@qq.com> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * feat: 添加CARLA模拟器支持 1. 新增carla_launcher.py - 优化车辆生成算法,解决碰撞卡住问题,支持生成100辆正常行驶的小汽车 2. 新增yolo_vehicle_counter_carla.py - 专门处理CARLA录制视频的计数脚本,优化红线位置(y=500)和检测参数 3. 更新main.py - 添加--version carla参数支持 4. 更新README.md - 添加CARLA专用版本文档和使用说明 5. 删除旧的carla_launch.py文件 CARLA版本特性: - 红线位置从y=400调整到y=500,更适合CARLA视频视角 - ROI区域优化,减少天空干扰 - 置信度阈值从0.5降到0.4,适应模拟环境 - 支持生成100辆小汽车,解决转弯直行碰撞问题 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: charon191910 <2233145030@qq.com>
1 parent e90d017 commit 062c6b9

4 files changed

Lines changed: 573 additions & 3 deletions

File tree

src/yolo11n_vehicle_counter/README.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,11 +149,12 @@ OUTPUT_VIDEO_PATH = "../res/sample_res.mp4" # 输出视频文件路径
149149
## 版本特性
150150

151151
### 版本说明
152-
项目包含三个版本,可通过 `main.py``--version` 参数选择:
152+
项目包含四个版本,可通过 `main.py``--version` 参数选择:
153153

154154
1. **原始版本** (`original`) - 基础车辆计数功能
155155
2. **改进版本** (`improved`) - 增强的检测逻辑和可视化效果
156156
3. **上下行计数版本** (`updown`) - 多车道系统,分别统计上下行方向的车辆
157+
4. **CARLA专用版本** (`carla`) - 专门处理CARLA模拟器录制视频的优化版本
157158

158159
### 改进版本主要特性
159160

@@ -184,6 +185,24 @@ OUTPUT_VIDEO_PATH = "../res/sample_res.mp4" # 输出视频文件路径
184185
- 分别统计上行(up)和下行(down)方向的车辆
185186
- 为上下行交通流定义了不同的计数线
186187

188+
### CARLA专用版本特性
189+
190+
**🎮 CARLA模拟器视频优化**
191+
- 专门针对CARLA模拟器录制的视频进行优化
192+
- 针对模拟环境的特殊视角和车辆行为调整检测参数
193+
- 优化计数线位置,适配CARLA视频的透视效果
194+
195+
**🔧 技术优化**
196+
- **红线位置调整**:从y=400降低到y=500,更适合CARLA视频视角
197+
- **ROI区域优化**:调整感兴趣区域,减少天空干扰,专注道路区域
198+
- **置信度阈值**:从0.5降低到0.4,适应模拟环境检测
199+
- **计数区域**:扩大垂直范围,更容易捕捉CARLA车辆
200+
201+
**📊 使用场景**
202+
- 处理CARLA模拟器录制的交通流视频
203+
- 测试车辆检测算法在模拟环境中的表现
204+
- 生成训练数据和验证数据
205+
187206
**📊 实时显示上下行计数**
188207
- 实时显示总车辆数(COUNTS)
189208
- 单独显示上行车辆数(UP)
@@ -208,11 +227,17 @@ python main.py --version improved
208227
# 运行上下行计数版本
209228
python main.py --version updown
210229
230+
# 运行CARLA专用版本
231+
python main.py --version carla
232+
211233
# 运行改进版本并指定输出到improved目录
212234
python main.py --version improved --output res/improved/result.mp4
213235
214236
# 运行上下行计数版本
215237
python main.py --version updown --input dataset/sample_updown.mp4 --output res/improved/sample_updown_res.mp4
238+
239+
# 运行CARLA专用版本处理CARLA录制视频
240+
python main.py --version carla --input dataset/carla_recording.mp4 --output res/carla/carla_counted.mp4
216241
```
217242

218243
### 技术改进详解

src/yolo11n_vehicle_counter/main.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ def main():
6868

6969
parser.add_argument(
7070
'--version',
71-
choices=['original', 'improved', 'updown'],
71+
choices=['original', 'improved', 'updown', 'carla'],
7272
default='original',
73-
help='脚本版本: original(原始版本), improved(改进版本)updown(上下行计数) (默认: original)'
73+
help='脚本版本: original(原始版本), improved(改进版本), updown(上下行计数) 或 carla(CARLA视频专用) (默认: original)'
7474
)
7575

7676
args = parser.parse_args()
@@ -111,6 +111,10 @@ def main():
111111
# 运行上下行计数版本
112112
from yolo_vehicle_counter_updown import main as run_counter
113113
print("🚀 正在运行上下行计数版本...")
114+
elif args.version == 'carla':
115+
# 运行CARLA视频专用版本
116+
from yolo_vehicle_counter_carla import main as run_counter
117+
print("🚀 正在运行CARLA视频专用版本...")
114118
else:
115119
# 运行改进版本
116120
from yolo_vehicle_counter_improved import main as run_counter
@@ -126,6 +130,8 @@ def main():
126130
print("确保scripts目录中有yolo_vehicle_counter.py文件")
127131
elif args.version == 'updown':
128132
print("确保scripts目录中有yolo_vehicle_counter_updown.py文件")
133+
elif args.version == 'carla':
134+
print("确保scripts目录中有yolo_vehicle_counter_carla.py文件")
129135
else:
130136
print("确保scripts目录中有yolo_vehicle_counter_improved.py文件")
131137
sys.exit(1)

0 commit comments

Comments
 (0)