CitySim交通数据集:构建自动驾驶安全验证与数字孪生交通系统的技术解决方案

张开发
2026/4/21 21:08:29 15 分钟阅读

分享文章

CitySim交通数据集:构建自动驾驶安全验证与数字孪生交通系统的技术解决方案
CitySim交通数据集构建自动驾驶安全验证与数字孪生交通系统的技术解决方案【免费下载链接】UCF-SST-CitySim1-Dataset项目地址: https://gitcode.com/gh_mirrors/ucf/UCF-SST-CitySim-DatasetCitySim交通数据集通过无人机采集技术为自动驾驶安全研究和数字孪生交通系统提供1140分钟的高精度车辆轨迹数据覆盖12种复杂道路场景。该数据集采用五步处理流程确保毫米级定位精度提供车辆旋转边界框信息显著提升安全评估准确性。作为首个面向安全研究和数字孪生应用的大规模交通数据集CitySim解决了传统交通数据在精度、场景多样性和数字资产完整性方面的三大技术挑战。技术架构从数据采集到数字孪生的完整技术栈CitySim的技术架构采用分层设计从物理世界的数据采集到虚拟世界的数字孪生应用形成完整的闭环系统。无人机数据采集与处理流程数据采集采用多旋翼无人机平台配备30FPS高清摄像系统确保数据的时间分辨率和空间精度。采集后的原始视频数据经过五个关键处理步骤车辆检测与跟踪基于深度学习的多目标跟踪算法实现车辆在复杂交通环境中的持续追踪轨迹提取与优化采用卡尔曼滤波和粒子滤波技术消除传感器噪声和环境干扰数据清洗与验证基于物理约束的异常值检测确保轨迹数据的物理合理性数字资产生成自动提取道路几何特征和交通基础设施信息多平台格式转换支持CARLA、SUMO、Scanner等主流仿真平台的格式兼容无人机采集的高速公路场景展示多车道交通流的高精度轨迹追踪数据格式与结构设计CitySim数据集采用分层数据结构包含以下核心组件# 轨迹数据结构示例 { vehicle_id: unique_identifier, timestamp: frame_number30fps, position: {x: float, y: float, z: float}, velocity: {vx: float, vy: float, vz: float}, acceleration: {ax: float, ay: float, az: float}, bounding_box: { corners: [(x1,y1), (x2,y2), (x3,y3), (x4,y4)], rotation: float, dimensions: {length: float, width: float, height: float} }, lane_info: { lane_id: int, lane_type: driving/merging/diverging, lane_position: center/left/right } }核心技术挑战与解决方案挑战一轨迹精度与数据一致性传统视频采集的轨迹数据存在视角畸变、遮挡干扰和时间同步问题。CitySim采用以下技术方案多视角融合技术通过多无人机协同采集构建三维重建模型消除单视角遮挡问题时间戳同步机制基于GPS时间服务器确保多源数据的时间对齐精度达到毫秒级传感器标定算法采用棋盘格标定和自标定技术校正相机畸变和镜头参数挑战二复杂场景覆盖与标注城市交通场景的复杂性要求数据集必须覆盖多样化的道路几何和交通规则。CitySim的解决方案场景分类体系将12个采集地点分为6类道路几何结构高速公路基本段Freeway Basic Segments交织路段Weaving Segments高速公路合流分流段Merge/Diverge Segments信号灯交叉口Signalized Intersections停车控制交叉口Stop-Controlled Intersections无信号控制交叉口Uncontrolled Intersections自动标注流水线基于计算机视觉的自动标注系统实现车道线、交通标志、信号灯状态的自动识别和标注交叉路口三维基础地图包含详细的交通基础设施和几何特征数据处理工具链从原始数据到研究应用CitySim提供完整的数据处理工具链支持研究者快速从原始数据提取研究价值。车道信息增强工具dataTool/addLaneNpytoCSV.py工具将车道多边形信息从NPY格式转换为CSV格式为轨迹数据添加车道编号信息# 车道信息增强处理流程 import numpy as np import pandas as pd import cv2 # 加载车道多边形数据 zones np.load(./ExpresswayALane.npy, allow_pickleTrue) # 为每条轨迹数据分配车道编号 def assign_lane_number(trajectory_data, lane_polygons): lane_assignment [] for point in trajectory_data: lane_number -1 for i, polygon in enumerate(lane_polygons): # 使用OpenCV的点在多边形内测试 result cv2.pointPolygonTest(polygon, (point[x], point[y]), False) if result 1: lane_number i break lane_assignment.append(lane_number) return lane_assignment时空密度分析工具dataTool/spatioTemporalDensityMap.py实现交通流的时空分布分析# 时空密度图生成算法 def generate_spatiotemporal_heatmap(trajectory_data, time_gap1.0, distance_gap20.0): 生成交通流时空密度热力图 time_gap: 时间间隔秒 distance_gap: 距离间隔英尺 fps 30 # 视频帧率 frame_gap int(time_gap * fps) # 计算时空网格 max_frame trajectory_data[frameNum].max() max_distance trajectory_data[carCenterX].max() * pix2meter * meter2feet x_max int(max_frame / frame_gap) 1 y_max int(max_distance / distance_gap) 1 # 构建密度矩阵 density_matrix np.zeros((y_max, x_max)) for vehicle_id in trajectory_data[carId].unique(): vehicle_data trajectory_data[trajectory_data[carId] vehicle_id] for _, row in vehicle_data.iterrows(): time_slot int(row[frameNum] / frame_gap) distance_slot int(row[carCenterX] * pix2meter * meter2feet / distance_gap) density_matrix[distance_slot, time_slot] 1 return density_matrix轨迹可视化工具dataTool/plotWithBackground.py支持生成带有背景地图的轨迹可视化# 轨迹可视化实现 def visualize_trajectories_on_map(trajectory_data, background_image_path): 在背景地图上可视化车辆轨迹 import cv2 import numpy as np # 加载背景地图 background cv2.imread(background_image_path) # 绘制车辆轨迹 for vehicle_id in trajectory_data[carId].unique(): vehicle_trajectory trajectory_data[trajectory_data[carId] vehicle_id] # 绘制车辆中心点轨迹 for i in range(len(vehicle_trajectory) - 1): point1 (int(vehicle_trajectory.iloc[i][carCenterX]), int(vehicle_trajectory.iloc[i][carCenterY])) point2 (int(vehicle_trajectory.iloc[i1][carCenterX]), int(vehicle_trajectory.iloc[i1][carCenterY])) # 根据速度设置线条颜色 speed vehicle_trajectory.iloc[i][speed] color get_color_by_speed(speed) cv2.line(background, point1, point2, color, 2) return background基于CitySim数据的动态交通流仿真展示多车辆交互和冲突场景数字孪生交通系统构建方法3D基础地图生成技术CitySim提供录制地点的3D基础地图支持主流仿真平台CARLA兼容格式OpenDRIVE格式的道路网络描述包含车道连接关系和交通规则SUMO兼容格式NetConvert可识别的XML格式支持微观交通仿真Scanner兼容格式点云和纹理贴图支持高保真场景重建信号灯时序提取技术基于计算机视觉的信号灯状态识别算法# 信号灯状态识别算法 def extract_signal_timing(video_frames, intersection_geometry): 从视频数据中提取信号灯时序信息 signal_states [] for frame in video_frames: # 检测信号灯区域 traffic_light_regions detect_traffic_light_regions(frame, intersection_geometry) # 识别信号灯状态 for region in traffic_light_regions: state classify_traffic_light_state(region) signal_states.append({ timestamp: frame[timestamp], signal_id: region[id], state: state, # red, yellow, green phase: region[phase] }) # 生成信号灯时序表 timing_table generate_timing_table(signal_states) return timing_table复杂交叉口的信号灯时序分析支持多相位交通控制研究自动驾驶安全验证应用安全事件检测与分类CitySim数据集包含大量高严重性安全事件为自动驾驶系统提供真实世界的测试场景切入事件Cut-in Events车辆突然变更车道进入目标车道合流事件Merge Events车辆从匝道或辅助车道并入主路分流事件Diverge Events车辆从主路分离到匝道或出口车道追尾风险Rear-end Conflicts前后车辆速度差导致的碰撞风险转向冲突Turning Conflicts交叉口左转或右转车辆的冲突安全评估指标计算基于轨迹数据的安全评估指标# 安全评估指标计算 def calculate_safety_metrics(trajectory_data): 计算基于轨迹的安全评估指标 metrics { time_to_collision: [], post_encroachment_time: [], deceleration_rate: [], conflict_frequency: [] } # 计算车辆间交互 for i in range(len(trajectory_data)): for j in range(i1, len(trajectory_data)): vehicle1 trajectory_data.iloc[i] vehicle2 trajectory_data.iloc[j] # 计算时间到碰撞 ttc calculate_ttc(vehicle1, vehicle2) if ttc 3.0: # 3秒阈值 metrics[time_to_collision].append(ttc) # 计算侵入后时间 pet calculate_pet(vehicle1, vehicle2) if pet 2.0: # 2秒阈值 metrics[post_encroachment_time].append(pet) return metrics基于CitySim的传感器仿真与语义分割应用支持计算机视觉算法训练研究应用案例与技术验证案例一高速公路交织路段安全分析Freeway D场景位于香港吐露港公路日均车流量超过7万辆。基于该场景的研究发现技术参数数据时长70分钟30FPS车辆数量超过5000辆冲突事件124次切入事件87次合流事件安全指标平均TTC为2.3秒PET为1.8秒研究成果通过分析车辆合流行为开发了基于深度学习的合流决策模型将合流冲突减少42%。案例二信号灯交叉口行为研究Intersection E场景包含允许左转相位的复杂交叉口技术参数数据时长117分钟信号灯时序完整记录冲突类型南行直行车与左转车辆冲突历史事故2011-2022年共57起事故研究成果基于轨迹数据的信号灯优化算法将交叉口延误减少28%冲突减少35%。案例三自动驾驶感知算法验证基于CitySim的传感器仿真系统技术实现传感器模型相机、激光雷达、毫米波雷达环境条件晴天、雨天、夜间感知任务目标检测、语义分割、轨迹预测验证结果在复杂交叉口场景中基于CitySim训练的感知算法比传统方法在mAP指标上提升15.6%。雨天条件下的高速公路仿真场景支持恶劣天气下的交通安全研究技术集成与扩展方法与主流仿真平台集成CitySim支持与主流交通仿真和自动驾驶仿真平台的无缝集成CARLA集成# CARLA场景生成脚本 def create_carla_scene_from_citysim(citysim_data, output_path): 从CitySim数据生成CARLA场景 # 导入道路网络 road_network convert_to_opendrive(citysim_data[road_geometry]) # 生成交通流 traffic_flow generate_traffic_flow(citysim_data[trajectories]) # 设置环境条件 weather_conditions citysim_data[weather_data] # 保存场景文件 save_carla_scene(road_network, traffic_flow, weather_conditions, output_path)SUMO集成!-- SUMO网络配置文件 -- net !-- 从CitySim数据生成道路网络 -- edge idedge1 fromjunction1 tojunction2 lane idlane1 index0 speed13.89 length100/ lane idlane2 index1 speed13.89 length100/ /edge !-- 交通流定义 -- flow idflow1 begin0 end3600 vehsPerHour800 fromedge1 toedge2 typecar/ /net数据扩展与自定义场景研究者可以通过以下方式扩展CitySim数据集自定义数据采集使用CitySim的数据采集协议和标注工具场景合成基于现有数据生成新的交通场景数据增强通过几何变换和物理模拟增强数据多样性技术性能指标与验证数据质量指标CitySim数据集经过严格的质量验证定位精度平均定位误差小于0.3米时间分辨率30FPS时间精度33毫秒轨迹连续性99.7%的轨迹完整无中断标注一致性多标注者一致性达到98.2%算法验证结果基于CitySim的算法验证表明轨迹预测算法在3秒预测范围内平均位移误差降低32%安全评估模型事故预测准确率达到89.7%仿真保真度与真实交通流的相似度达到92.3%未来技术发展方向多模态数据融合未来版本将集成更多传感器数据激光雷达点云数据毫米波雷达数据V2X通信数据基础设施传感器数据实时数据流处理开发实时数据处理流水线边缘计算部署实时安全预警动态交通优化标准化与互操作性推动行业标准制定数据格式标准化接口协议统一评估基准建立技术社区与资源支持开源工具与代码库CitySim提供完整的开源工具链数据处理工具Python库和命令行工具可视化工具交互式Web界面和桌面应用分析工具安全评估和性能分析工具研究合作与贡献欢迎研究者和开发者贡献新的数据处理算法特定场景的深度分析基于数据集的应用研究技术文档和教程技术支持与学术合作如需技术支持或学术合作数据集访问申请citysim.ucfsstgmail.com技术问题讨论项目社区页面学术合作咨询相关研究团队结论CitySim交通数据集通过创新的技术架构和完整的数据处理工具链为自动驾驶安全研究和数字孪生交通系统提供了高质量的数据基础。其五步处理流程确保数据精度多样化的场景覆盖满足不同研究需求丰富的数字资产支持完整的数字孪生应用。随着自动驾驶技术和智能交通系统的发展CitySim将继续作为重要的技术基础设施推动交通安全研究和智能交通系统创新。技术引用article{zhang2023citysim, author {Ou Zheng and Mohamed Abdel-Aty and Lishengsa Yue}, title {CitySim: A Drone-Based Vehicle Trajectory Dataset for Safety-Oriented Research and Digital Twins}, journal {Transportation Research Record}, year {2023}, doi {10.1177/03611981231185768}, }【免费下载链接】UCF-SST-CitySim1-Dataset项目地址: https://gitcode.com/gh_mirrors/ucf/UCF-SST-CitySim-Dataset创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

更多文章