IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 利用Carla收集并组成自己的数据集(一) -> 正文阅读

[人工智能]利用Carla收集并组成自己的数据集(一)

利用Carla收集并组成自己的数据集(一)

前言

作者也是刚开始学习这方面的内容,如果想看比较全面和水平更高的文章,推荐去:
1.知乎的叶小飞先生:https://www.zhihu.com/column/c_1324712096148516864
2.Carla官网:https://carla.readthedocs.io/en/latest/

思路

1.首先我们应该明确我们需要收集那些数据:RGB-D相机数据(在Carla里面我们分别用RGB和深度相机来采集)、激光雷达数据、IMU数据
2.我们知道是我们通过程序生成小车、相机这些东西,我们得算世界坐标系和相机坐标系的转换、相机坐标系和像素坐标系的转换
3.怎么收集这些数据,要知道IMU数据的频率理论上比光学相机和激光雷达大很多,而且我们要规划出一条路线而不是让小车随便乱逛
4.收集完之后如何处理我们得把这些数据融合转换成bag格式

代码

这里给大家展示收集照片数据的.py文件

#找到carla包的路径
try:
    sys.path.append(glob.glob('../carla/dist/carla-*%d.%d-%s.egg' % (
        sys.version_info.major,
        sys.version_info.minor,
        'win-amd64' if os.name == 'nt' else 'linux-x86_64'))[0])
except IndexError:
    pass

import carla

def callback(event):
	#event就是时时刻刻采集的image,可以对图片进行各种处理,然后存储
	......
    event.save_to_disk('_out/%08d' % event.frame)
#存创建的actor
actor_list = []    
try:
	#创建client连接到Carla中
	client = carla.Client('localhost', 2000)
	#seconds,设置连接超时时间
	client.set_timeout(2.0)
	#方法一,得到当前世界
	#world = client.get_world()
	#方法二,得到想要的世界
	world = client.load_world('Town05')
	#通过world获取world中的Blueprint_Library
	blueprint_library = world.get_blueprint_library()
	#选择车辆模型,这里选择奔驰
	my_vehicle_bp = blueprint_library.find('vehicle.mercedes-benz.coupe')
	#选择相机模型,这里选择rgb相机
	my_camera_bp = blueprint_library.find("sensor.camera.rgb")
	#方法一,手动设置生成点
	location = carla.Location(0, 10, 0)
	rotation = carla.Rotation(0, 0, 0)
	transform_vehicle = carla.Transform(location, rotation)
	#方法二,自动选择生成点
	#transform_vehicle = random.choice(world.get_map().get_spawn_points())
	# 生成奔驰小车
	my_vehicle = world.spawn_actor(my_vehicle_bp, transform_vehicle)
	actor_list.append(my_vehicle)
	# 设置获取的照片的宽和高 
	IM_WIDTH = 640
	IM_HEIIGHT = 480
	# 设置相机视角
	my_camera_bp.set_attribute("image_size_x", "{}".format(IM_WIDTH))
	my_camera_bp.set_attribute("image_size_y", "{}".format(IM_HEIIGHT))
	my_camera_bp.set_attribute("fov", "90")
	# 相机依附于车上,车辆坐标系下的位置
	transform_camera  = carla.Transform(carla.Location(x=2.5, z=0.7))
	my_camera = world.spawn_actor(my_camera_bp, transform_camera, attach_to=my_vehicle)
	actor_list.append(my_camera)
	#方法一,自动驾驶模式
	my_vehicle.set_autopilot(enabled=True)
	#方法二,手动控制模式
	#my_vehicle.apply_control(carla.VehicleControl(throttle=1.0, steer=0.0))
	#方法一,这里直接使用lambda进行处理,将图像进行存储
	my_camera.listen(lambda image: image.save_to_disk('output/%06d.png' % image.frame_number))
	#方法二,
	#my_camera.listen(callback)
	time.sleep(1000)
finally:
	for actor in actor_list:
		actor.destroy()
	print("All cleaned up!")
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 11:41:49  更:2022-04-26 11:45:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:48:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码