CARLA实战 | CARLA文档里都没有的渲染关闭方法被我找到?

2023-12-19

一、前言

大家好,我是自动驾驶打工人白夜。最近我在学习CARLA渲染相关的知识,发现很多小伙伴在进行仿真实验的时候,都希望有一种关闭渲染的方法,于是我决定来分享一下CARLA关闭渲染的几种方法。其中有一种方法,CARLA文档中都没有提到过,学到就是赚到。出于新手友好的原则,首先我们先来了解一下何为渲染。

二、渲染是什么?

在计算机图形学领域,渲染(Rendering)是一项关键概念,指的是将计算机中的三维物体以逼真的方式呈现在显示器上的二维平面的过程。CARLA作为一款自动驾驶仿真平台,其运行过程默认包含渲染操作,以提供真实感的场景呈现。CARLA提供两种不同的图形质量级别:Epic与Low。Epic是默认设置,会渲染最为详尽的细节效果。而Low模式则禁用所有的后期处理和阴影,同时将渲染的距离限制为50米。在Low模式下,仿真速度显著提高。这对于在传感器精度不关键或者数据简单等情况下训练Agent非常有帮助。

在另外情况下,例如为了节省计算资源或需要在服务器端运行,我们可能压根不希望进行渲染。关闭CARLA渲染的方式多种多样,这取决于任务需求和具体的使用场景,大致可分为Offscreen Rendering和No Rendering两大类。

三、离屏渲染 vs. 不渲染

在CARLA中,关闭渲染可以通过两种方式来实现:使用Offscreen和No Rendering。这两者之间存在一些区别,特别是在应用方面。

Offscreen Rendering(离屏渲染)
  • Offscreen渲染是指将渲染的结果保存在一个不可见的缓冲区中,而不在屏幕上显示。这种方法对于一些后台任务或者不需要实时显示的场景很有用;

  • 这种模式通常用于需要进行传感器数据采集、视觉算法验证或图像处理的场景。

No Rendering(不渲染)
  • 在该模式下,CARLA完全关闭了渲染,不进行任何图形渲染操作;

  • 这种模式通常用于节省计算资源、在服务器上运行CARLA时或进行无需图形输出的性能测试。

选择使用"offscreen rendering"还是"no rendering"取决于具体的需求。如果需要模拟传感器数据或进行与图形相关的处理,"offscreen rendering"模式可能更适合;而如果只关心后台仿真并希望最小化计算开销,"no rendering"模式可能更为合适。而在运行CARLA时,"no rendering"又有不同的实现方式。

四、No Rendering的两种实现方法

--no-rendering

CARLA官方提供了--no-rendering命令行参数,用于在运行模拟时禁用图形渲染。这个参数的作用是告诉CARLA在仿真过程中不进行图形渲染,从而减少计算开销。

--no-rendering参数会告诉CARLA不执行图形渲染。当你使用--no-rendering参数时,CARLA将在后台执行仿真,但不会显示图形界面。这对于那些只关心模拟数据而不需要图形渲染的场景非常有用。

通过python config.py --no-rendering运行CARLA脚本进入无渲染模式,服务端窗口会进入黑屏,但是,客户端pygame依然会渲染。

  • 服务端不渲染,黑屏

  • 客户端,pygame依然会渲染,pygame也需要使用no-render设置

--nullrhi

而另一种在CARLA官方文档中未被提及的方式就是--nullrhi。在计算机图形学中,RHI(Rendering Hardware Interface)是一种硬件抽象层,用于封装不同图形硬件(GPU)的底层细节,使得图形渲染引擎可以与各种不同类型的硬件协同工作。RHI负责管理图形资源、执行渲染命令等底层操作,使得开发者可以编写与具体硬件无关的图形渲染代码。

而UE中的--nullrhi参数则是一种特殊的模式,表示使用Null Rendering Hardware Interface,即空渲染硬件接口。在这种模式下,CARLA将不会执行实际的图形渲染操作,从而减轻了与图形相关的计算负担。这对于一些特殊的仿真场景,比如需要在后台运行仿真或进行性能测试时,是非常有用的。

使用--nullrhi参数,客户端运行manual_control.py时pygame黑屏。nullrhi 只适用于多GPU模式,可以只有一个GPU进行渲染,而其他GPU使用nullrhi不进行渲染。

为了深入了解这两个参数对系统资源的影响,我们设计了实验,专注于CARLA在三种情况下的表现:正常渲染、no rendering和nullrhi参数。我们选用了Town01地图,并在CARLA客户端中创建了一个静态的场景,确保在试验期间没有车辆或其他动态元素引起的干扰。

通过监测GPU和CPU的利用率,我们将研究在静态场景中这三种渲染模式下CARLA的性能差异。这些实验结果将提供有关在无运动元素的静态环境中,禁用渲染对系统资源的影响。

五、实验报告

一个简短的实验报告分享给大家~

实验环境
  • 显卡:3080/10G

  • 内存:32G

  • CARLA版本:0.9.14

实验结果

客户端处于静态情况下,三种不同渲染方式在地图Town01中的实验表现。

实验总结

1)Carla Client的--no-rendering选项可以禁止和GPU相关的传感器仿真,但是没有禁用物理世界的渲染仿真,因此在Carla中的表现是物理世界可以看到正常的渲染画面,和GPU相关的传感器返回空数据,因此这种模式GPU会有消耗,但比不加--no-rendering 选项的消耗低;

2)Carla Server 的--nullrhi选项是UE选项,完全禁用了GPU计算,因此不占用GPU。

六、写在最后

希望这次分享的内容能够对大家在自动驾驶仿真中更灵活地进行实验提供帮助~如果大家有其他的方法或者发现我分享的内容有误,欢迎大家指正和分享讨论。

深信科创:致力于自动驾驶工业软件

深信科创是一家专注于提供自动驾驶仿真及智慧交通解决方案的国家高新技术企业。公司基于人工智能、软件测试、数字孪生与大数据等技术,一直致力于自动驾驶领域的研发和探索,拥有一支高素质的研发团队,自主研发了自动驾驶仿真及数据闭环工具链SYNKROTRON®  Oasis产品系列,能够提供高精度传感器模型、动力学模型及感知级交通环境仿真解决方案等,客户可以在仿真平台上对自动驾驶系统开展大规模的仿真测试和模型训练,提前识别自动驾驶系统缺陷、降低实车测试成本、消除场景端落地的安全隐患,加速无人驾驶技术在场景端的安全落地。

更多学习资料、产品试用和社群交流请联系微信:synkrotron1

预约产品试用/技术交流:

手机端: https://synkrotron.ai/vue3/dist/index.html#/appoint_mobile

电脑端: https://synkrotron.ai/vue3/dist/index.html#/appoint_desktop

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CARLA实战 | CARLA文档里都没有的渲染关闭方法被我找到? 的相关文章

随机推荐

  • uniapp-使用返回的base64转换成图片

    在实际开发的时候 需要后端实时的给我返回二维码 他给我返回的是加密后的 base64字符串 我需要利用这个base64转换到canvas画布上展示 或者以图片的形式展示在页面内 在canvas画布上展示 使用官方的uni getFileSy
  • 【手势识别】肤色静态手势识别【含Matlab源码 288期】

    博主简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 Matlab项目合作可私信 个人主页 海神之光 代码获取方式 海神之光Matlab王者学习之路 代码获取方式 座右铭 行百里者 半于九十 更多Matlab仿真内容点击 Matl
  • 视频剪辑软件哪个好用?这些软件值得收藏

    朋友 你有没有遇到过这样的情况 收到了一段精彩的视频 想要将其中的亮点剪切出来制作成短视频 或是想将长时间的录像文件分割成多个小段 以便更方便地进行编辑和管理 但是却不知道该选择哪款视频剪辑合成软件 别担心 今天我将会给大家介绍一些常见的视
  • 【手写数字识别】BP神经网络手写数字识别【含GUI Matlab源码 1118期】

    博主简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 Matlab项目合作可私信 个人主页 海神之光 代码获取方式 海神之光Matlab王者学习之路 代码获取方式 座右铭 行百里者 半于九十 更多Matlab仿真内容点击 Matl
  • 题解 | #输出某一年的各个月份的天数#

    三方寄过去了 告诉我停止24届招聘 全部毁约 牛的 he芯 毁约应届生 34316 广西北部湾银行2022年校园招聘 广西北部湾银行股份有限公司2022届校园招聘 看终端大把大把15级的 这个14级是不是终端bg的白菜了 程序员面试六战六捷
  • 配音工具哪个好?这里有你想知道的答案

    听说你还在为找不到合适的配音工具而烦恼 没关系 我这就来给你支招 其实配音不一定得找专业的录音室 现在许多在线工具也可以帮助你将文字转化为语音 而且 互联网上的配音工具可不少呢 有的可以提供多种语音风格和语调 有的则是可以快速生成语音内容
  • remote: Support for password authentication was removed on August 13, 2021.

    往 GitHub 上推送项目时 报如下错误 remote Support for password authentication was removed on August 13 2021 remote Please see https d
  • Pytorch深度强化学习案例:基于Q-Learning的机器人走迷宫

    目录 0 专栏介绍 1 Q Learning算法原理 2 强化学习基本框架 3 机器人走迷宫算法 3 1 迷宫环境 3 2 状态 动作和奖励 3 3 Q Learning算法实现 3 4 完成训练
  • 计算机服务器中了_locked勒索病毒怎么办?_locked你知道多少?勒索病毒解密

    相信很多人对目前互联网技术的发展感到惊讶 从数字化办公模式到人工智能的转变 越来越的企业利用网络技术开展各项业务工作 给企业的生产生活提供了极大便利 但网络威胁无处不在 越来越多的网络计算机勒索病毒无时无刻在影响着企业数据安全 近期 云天数
  • Metasequoia4 for Mac/win:带您进入三维模型游戏建模的新世界!

    在当今游戏行业中 三维模型的重要性无可置疑 而在这个充满创造力和无限可能的领域中 Metasequoia4 简称M4 无疑是您的最佳选择 作为一款专业的三维模型游戏建模软件 M4凭借其强大的功能和简便易用的界面 成为了无数游戏开发者和设计师
  • 零样本学习中的元学习算法研究

    随着人工智能的发展 机器学习领域中的零样本学习引起了广泛的关注 传统的机器学习算法在遇到未见过的类别或任务时表现不佳 而零样本学习旨在解决这一问题 元学习作为一种重要的学习范式 可以为零样本学习提供有效的解决方案 本文将介绍零样本学习和元学
  • 浅谈安科瑞导轨式直流电表在中国香港充电桩企业的应用

    摘要 电动汽车的出现 是科技发展和环保推行的产物 随着人们生活质量的提高 越来越多家庭开始购置汽车 导致环境环保压力日渐增加 电动汽车的推行 能够合理减缓环保压力 降低对传统能源的消耗 是汽车产业发展的重要趋势之一 现在已经有众多汽车品牌发
  • 基于对抗样本训练的模型鲁棒性研究

    随着深度学习技术的不断发展 越来越多的应用场景开始使用深度学习模型进行决策和预测 然而 深度学习模型在面对对抗攻击时往往会失去准确性 从而导致严重的安全隐患 为了提高深度学习模型的鲁棒性 基于对抗样本训练的模型鲁棒性研究成为了近年来的热点研
  • Thinkphp_vue.js图书小说在线阅读系统6t8fs

    运行环境 phpstudy wamp xammp等 开发语言 php 后端框架 Thinkphp5 前端框架 vue js 服务器 apache 数据库 mysql 数据库工具 Navicat phpmyadmin 主要模块包括以下几点 1
  • 开发基于序列到序列模型的语音识别系统

    语音识别系统是一种人工智能技术 可以将人类的口语语音转换为可读的文本格式 近年来 随着深度学习技术的不断发展和进步 基于序列到序列模型的语音识别系统逐渐成为了最受欢迎的技术之一 本文将介绍如何利用这种技术开发出高效 准确的语音识别系统 并探
  • 【手写数字识别】模板匹配手写数字识别【含GUI Matlab源码 094期】

    博主简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 Matlab项目合作可私信 个人主页 海神之光 代码获取方式 海神之光Matlab王者学习之路 代码获取方式 座右铭 行百里者 半于九十 更多Matlab仿真内容点击 Matl
  • 【数字识别】BP神经网络不同字体0-9数字识别【含Matlab源码 1863期】

    博主简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 Matlab项目合作可私信 个人主页 海神之光 代码获取方式 海神之光Matlab王者学习之路 代码获取方式 座右铭 行百里者 半于九十 更多Matlab仿真内容点击 Matl
  • 淘宝天猫1688数据采集API获取商品详情数据API商品列表API测试示例

    想要把1688 淘宝 天猫平台的商品采集到自己的店铺 通过1688API关键字搜索item search和获取商品详情item get即可实现这个需求 item get 获得1688商品详情 公共参数 1688 item get 名称 类型
  • 界面控件DevExpress WPF Dock组件,轻松创建类Visual Studio窗口界面!

    本文主要为大家介绍 DevExpress WPF 控件中的Dock组件 它能帮助用户轻松创还能受Microsoft Visual Studio启发的Dock窗口界面 P S DevExpress WPF拥有120 个控件和库 将帮助您交付满
  • CARLA实战 | CARLA文档里都没有的渲染关闭方法被我找到?

    一 前言 大家好 我是自动驾驶打工人白夜 最近我在学习CARLA渲染相关的知识 发现很多小伙伴在进行仿真实验的时候 都希望有一种关闭渲染的方法 于是我决定来分享一下CARLA关闭渲染的几种方法 其中有一种方法 CARLA文档中都没有提到过