怎么做网站收录的关键词,廉江网站开发公司,怎么建立公司网页,诸暨网站制作公司 网页#x1f4cc; 测试用例
PythonAPI/examples/draw_skeleton.py
行人骨骼#xff08;Skeleton#xff09;可视化示例#xff0c;用于#xff1a;
在仿真中生成一个行人#xff08;Pedestrian#xff09;实时获取其骨骼关节点的 3D 世界坐标将骨骼投影到 RGB 摄像头图像… 测试用例PythonAPI/examples/draw_skeleton.py行人骨骼Skeleton可视化示例用于在仿真中生成一个行人Pedestrian实时获取其骨骼关节点的 3D 世界坐标将骨骼投影到 RGB 摄像头图像上绘制骨架连线与关键点摄像机围绕行人做环绕运动展示动态效果适用于人体姿态估计、动作捕捉、行人行为分析等研究。carla_draw_skeleton 主要模块解析1.CarlaSyncMode同步模式上下文管理器功能封装 CARLA 同步模式的开启/关闭逻辑优势自动管理world.tick()与传感器数据对齐确保每帧只处理同一仿真时刻的摄像头图像和行人状态使用方式withCarlaSyncMode(world,camera,fps30)assync_mode:snapshot,image_rgbsync_mode.tick(timeout5.0)✅ 这是 CARLA多传感器同步的最佳实践。2.行人骨骼获取与处理bonesped.get_bones()# 获取骨骼结构fori,boneinenumerate(bones.bone_transforms):boneIndex[bone.name]i points.append(bone.world.location)# 3D 世界坐标get_bones()返回包含68 个骨骼节点的层级结构含名称、局部/世界坐标常见节点命名如crl_hips__C臀部中心crl_spine__C脊柱crl_hand__L左手crl_Head__C头部 这些名称对应CARLA 内置行人模型的骨骼绑定。3.3D→2D 投影管线defget_screen_points(camera,K,image_w,image_h,points3d):# 1. 构建世界→相机变换矩阵world_2_cameranp.array(camera.get_transform().get_inverse_matrix())# 2. 将 3D 点转为齐次坐标 (x,y,z,1)pointsnp.array([...]).reshape(-1,4).T# 3. 变换到相机坐标系points_cameranp.dot(world_2_camera,points)# 4. CARLA 坐标系 → 标准 CV 坐标系: (x,y,z) → (y, -z, x)pointsnp.array([points_camera[1],-points_camera[2],points_camera[0]])# 5. 相机内参投影 归一化points_2dnp.dot(K,points)points_2d[x/z,y/z,z]完整实现从世界坐标到像素坐标的转换正确处理CARLA 左手坐标系与计算机视觉右手坐标系的差异4.骨骼可视化绘制draw_skeleton()根据预定义的骨骼连接关系如hips → spine,spine → neck调用draw_line_on_buffer绘制绿色骨架线draw_points_on_buffer()在关节点位置绘制红色圆点除根节点外自定义光栅化未使用 Pygame 高级绘图而是直接操作NumPy 图像缓冲区确保与原始图像融合✅ 支持任意骨骼拓扑只需修改boneIndex映射关系。5.动态场景控制行人动画ped.blend_pose(math.sin(blending))# 混合行走/站立姿态controller.go_to_location(...)# AI 控制器导航环绕摄像机xmath.cos(turning)*-3ymath.sin(turning)*3trans.locationped.location(x,y,2)trans.rotation.yaw-360*(turning/(2π))# 保持面向行人camera.set_transform(trans)效果摄像机以 3 米半径绕行人旋转同时俯视 16°6.图像处理与显示get_image_as_array()将 CARLA 图像转为可写的 NumPy 数组BGR → RGBdraw_image()使用 Pygame 显示叠加骨骼的图像多进程保存注释掉# pool.apply_async(write_image, (snapshot.frame, ped, buffer))可扩展为实时保存带骨骼标注的视频帧 核心应用场景应用如何利用本脚本2D 人体姿态估计生成带精确 2D 关键点标注的图像数据集3D 人体重建结合深度图 3D 骨骼坐标训练模型行人行为分析分析blend_pose参数与动作的关系虚拟试衣/AR将虚拟服装绑定到骨骼节点⚠️ 技术点完整的骨骼拓扑定义手动编码了60 条骨骼连接从手指到脚趾覆盖全身细节支持高精度姿态可视化坐标系无缝转换正确处理 CARLA 特有的(x,y,z) → (y,-z,x)转换避免常见投影错误如左右颠倒、上下翻转纯客户端渲染所有绘制在 Python/NumPy 完成不依赖 CARLA 渲染管线可轻松修改为保存标注文件JSON/PNG✅ 总结该脚本是 CARLA行人骨骼可视化的标杆示例展示了如何获取高精度行人骨骼数据如何实现鲁棒的 3D→2D 投影如何在动态场景中实时绘制骨架它是构建人体姿态估计数据集或行人交互系统的理想起点尤其适合需要精确关节标注的计算机视觉任务。