【airsim】简单的虚拟数据集获取

使用虚拟数据集训练的传统由来已久。但在传统的有监督CNN时代,虚拟训练出来的模型性能往往很差,因此很少有人采用这一算法。作者从20年开始关注OOD、Online Leaning时有关注过,但是效果确实很差。

如今,主流模型来到了SD、LD时代,大规模数据获取的需求以及模型强大的泛化性能,使得在虚拟数据集上训练完全是可行的。

本文从airsim获取数据集的角度,为大家介绍安装、API使用、数据集构建等流程。

本文采用20版本Ubuntu,其他版本类似。

airsim安装

首先确保环境可以跑通torch gpu,这部分教程很多。

然后介绍三种安装方式:

  • 编译好的二进制文件(最简单,几乎没有bug)
  • pip安装(也很简单)
  • 自己编译

pip安装

查看链接

https://pypi.org/project/airsim/
  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在AirSim中输出点云数据的详细步骤: 1. 安装AirSim:前往AirSim的官网(https://microsoft.github.io/AirSim/)下载并安装适合您操作系统的版本。 2. 启动AirSim:启动AirSim并选择场景和车辆模型。 3. 配置AirSim:打开AirSim的设置文件(settings.json)并将"EnablePointcloud"选项设置为true,以启用点云输出。您可以使用以下命令打开设置文件: ``` nano ~/Documents/AirSim/settings.json ``` 然后,找到以下行并将其更改为"true": ``` "EnablePointcloud": true, ``` 4. 访问点云数据:在AirSim中,点云数据是通过UDP端口发送的。您可以使用任何支持UDP数据接收的工具(如Python或MATLAB)来访问和处理点云数据。以下是使用Python接收点云数据的示例代码: ```python import socket import struct UDP_IP = "127.0.0.1" UDP_PORT = 41451 sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.bind((UDP_IP, UDP_PORT)) while True: data, addr = sock.recvfrom(65507) num_points = int(len(data) / 16) points = struct.unpack('>%df' % (num_points * 4), data) points = [points[i:i + 3] for i in range(0, len(points), 3)] # process the points here ``` 此代码使用Python的socket库接收UDP数据,并使用Python的struct库解析点云数据。然后,将点云数据存储在变量“points”中,您可以在其中进行任何处理。 5. 处理点云数据:您可以使用点云库(如PCL或Open3D)来处理AirSim输出的点云数据。例如,您可以使用以下代码使用PCL可视化点云数据: ```python import pcl # load point cloud from UDP data # process the point cloud if needed # convert to numpy array # ... # visualize the point cloud cloud = pcl.PointCloud() cloud.from_array(points) viewer = pcl.Visualizer() viewer.addPointCloud(cloud) viewer.spin() ``` 此代码使用PCL加载点云数据,并使用PCL的可视化程序显示点云数据。 以上是在AirSim中输出点云数据的详细步骤,希望对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值