nuScenes里的目标物体的速度是如何获取的

news2024/10/10 19:33:40

nuScenes的那些标注文件里并没有标注记录物体的速度数据,而是读取标注数据后根据sample_annotation.json里目标在前后帧里的translation数据相减除以时间差获得x、y、z方向的三个速度分量(Vx,Vy,Vz)的,一版只使用了Vx和Vy,具体实现代码在nuscenes/nuscenes.py里的box_velocity()函数里:

def box_velocity(self, sample_annotation_token: str, max_time_diff: float = 1.5) -> np.ndarray:
        """
        Estimate the velocity for an annotation.
        If possible, we compute the centered difference between the previous and next frame.
        Otherwise we use the difference between the current and previous/next frame.
        If the velocity cannot be estimated, values are set to np.nan.
        :param sample_annotation_token: Unique sample_annotation identifier.
        :param max_time_diff: Max allowed time diff between consecutive samples that are used to estimate velocities.
        :return: <np.float: 3>. Velocity in x/y/z direction in m/s.
        """

        current = self.get('sample_annotation', sample_annotation_token)
        has_prev = current['prev'] != ''
        has_next = current['next'] != ''

        # Cannot estimate velocity for a single annotation.
        if not has_prev and not has_next:
            return np.array([np.nan, np.nan, np.nan])

        if has_prev:
            first = self.get('sample_annotation', current['prev'])
        else:
            first = current

        if has_next:
            last = self.get('sample_annotation', current['next'])
        else:
            last = current

        pos_last = np.array(last['translation'])
        pos_first = np.array(first['translation'])
        pos_diff = pos_last - pos_first

        time_last = 1e-6 * self.get('sample', last['sample_token'])['timestamp']
        time_first = 1e-6 * self.get('sample', first['sample_token'])['timestamp']
        time_diff = time_last - time_first
        if has_next and has_prev:
            # If doing centered difference, allow for up to double the max_time_diff.
            max_time_diff *= 2

        if time_diff > max_time_diff:
            # If time_diff is too big, don't return an estimate.
            return np.array([np.nan, np.nan, np.nan])
        else:
            return pos_diff / time_diff

之所以nuScenes可以直接拿translation相减后除以时间差(nuScenes时间戳默认是微秒16位的,先除以1e6得到秒)来获得速度(单位m/s),是因为nuScenes标注的bbox的坐标translation都是全局坐标系下的,例如:

而我们自己的数据集一般都是在激光雷达坐标系或相机坐标系或者自车坐标系下标注的,所以需要先借助自车的定位数据把bbox的translation转换到全局坐标系去,然后求差再除以时间差获得速度,直接拿局部坐标系下的标注数据的translation值相减除以时间差显然是不对的,因为这只适合自车是静止的情况。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2202856.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

20241007给荣品RD-RK3588-AHD开发板刷Rockchip原厂的Buildroot时使用ADB

20241007给荣品RD-RK3588-AHD开发板刷Rockchip原厂的Buildroot时使用ADB 2024/10/7 17:35 缘起&#xff1a;由于荣品RD-RK3588-AHD开发板使用的是9针的USB-A口&#xff0c;没有使用EVB4默认的type C口。 因此需要拿掉fusb302的驱动/DTS配置部分。 同时&#xff0c;为了简单起见…

腾讯云实时音视频 SDK(TRTC SDK)相关

实时音视频 SDK&#xff08;TRTC SDK&#xff09; 的 RoomID 是什么&#xff1f;取值区间值是多少&#xff1f; RoomID 即房间号&#xff0c;用于唯一标识一个房间。房间号取值区间为1 - 4294967295&#xff0c;由开发者自行维护和分配。 实时音视频 SDK&#xff08;TRTC SDK…

国产工具链GCKontrol-GCAir助力控制律开发快速验证

前言 随着航空领域技术的不断发展&#xff0c;飞机的飞行品质评估和优化成为了航空领域的一个重要任务&#xff0c;为了确保飞行器在各种复杂条件下的稳定性&#xff0c;控制律设计过程中的模型和数据验证需要大量仿真和测试。 本文将探讨基于世冠科技的国产软件工具链GCKont…

Java面试宝典-Java集合01

Java面试宝典-Java集合01 目录 Java面试宝典-Java集合01 1、Java中常用的集合有哪些&#xff1f; 2、Collection 和 Collections 有什么区别&#xff1f; 3、为什么集合类没有实现 Cloneable 和 Serializable 接口&#xff1f; 4、数组和集合有什么本质区别&#xff1f; 5、数组…

flutter 一段长文本实现检索功能,检索的文本加粗标红

先来看效果 做这个功能的原因&#xff0c;因为日志比较长&#xff0c;内容很多&#xff0c;找起来非常不方便 只是简单的加粗标红的话&#xff0c;用TextSpan自己也可以做&#xff0c;主要日志还涉及选择复制&#xff0c;涉及的东西很多&#xff0c;想到了 extended_text&…

基于Python的摄影平台交流系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

美团Java一面

美团Java一面 9.24一面&#xff0c;已经寄了 收到的第一个面试&#xff0c;表现很不好 spring bean生命周期 作用域&#xff08;忘完了&#xff09; 为什么用redis缓存 redis和数据库的缓存一致性问题 redis集群下缓存更新不一致问题 aop说一下 arraylist和linkedlist 数据库的…

H264重点笔记记录

H264格式 目前视频中的H.264流行的NALU包装方式有两种&#xff0c;一种叫做annexB&#xff0c;一种叫做avcC。对于这两种格式&#xff0c;不同的厂商支持程度也不太一样&#xff0c;例如&#xff0c;Android硬解码MediaCodec只接受annexB格式的数据&#xff0c;而Apple的Video…

AI绘画,AI生成图片

分享一个可以免费使用的AI生成图片的网站&#xff1a; https://openart.aihttps://openart.ai/create 1、登陆后点击右上角create 2、在创建页面左侧输入描述文案&#xff0c;下面调整生成图片张数&#xff0c;点击create&#xff0c;右边即可生成 我这里输入了在吃麦当劳的超…

【bug】paddleocr draw_ocr_box_txt ValueError: incorrect coordinate type

【bug】paddleocr draw_ocr_box_txt ValueError: incorrect coordinate type 环境 python 3.10.15pillow 10.4.0 paddleocr 2.8.1错误详情 错误文本 Traceback (most recent call last):....draw_left.polygon(box, fillcolor)ValueError: inco…

社交媒体对人际关系的影响:Facebook的案例分析

随着社交媒体的快速发展&#xff0c;人们的沟通方式和人际关系发生了深刻变化。作为全球最大的社交网络之一&#xff0c;Facebook在这一进程中扮演了重要角色。本文将分析Facebook如何影响人际关系&#xff0c;包括沟通方式的转变、情感连接的变化以及社交互动的质量。 1. 沟通…

echarts的option,设置折线图鼠标悬浮显示数据

在series平级位置加代码 效果看起来还不错

深度学习:词嵌入embedding和Word2Vec模型

目录 前言 一、词嵌入&#xff08;Embedding&#xff09; 1.传统自然语言处理问题 2.什么是词嵌入 3.主要特点 二、Word2vec模型 1.连续词袋模型&#xff08;CBOW&#xff09; 2.跳字模型&#xff08;Skip-gram&#xff09; 三、CBOW模型训练过程 前言 在机器学习里的…

包材推荐中的算法应用|得物技术

目录 一、业务背景 二、算法架构 规则算法 三、算法原理 装箱装袋 四、衍生应用 切箱合包箱型设计包装方案推荐 五、作者结语 一、业务背景 任何一家电商的商品出库场景中&#xff0c;都涉及到打包——即把订单中的商品用包材进行包裹&#xff0c;常见的打包方式有装袋和装箱。…

Lazada该怎么直播?开播需要有哪些条件?

随着电商平台的快速发展&#xff0c;直播电商已成为一种重要的销售和营销手段。作为东南亚领先的电商平台之一&#xff0c;Lazada也提供了直播功能——LazLive&#xff0c;使商家和品牌能够通过直播与消费者进行实时互动&#xff0c;推广产品并提升销量。要在Lazada上顺利进行直…

bmp格式如何转换成jpg?5个软件帮助你快速转换文件格式

bmp格式如何转换成jpg&#xff1f;5个软件帮助你快速转换文件格式 将BMP格式转换为JPG格式是许多人在处理图片文件时常遇到的需求。BMP是一种无压缩的图像格式&#xff0c;占用空间较大&#xff0c;而JPG是一种有压缩的图片格式&#xff0c;能大幅减少文件大小&#xff0c;更适…

链表的回顾与总结(一)正序、逆序、有序、插入、修改、删除

逆序链表 #include<iostream> using namespace std; struct node {int data;node* next; };//最好不要全局定义指针&#xff0c;很麻烦 void show(node* head) {while (head){cout << head->data << ;head head->next;} } int main() {int i, j, k…

链表的回顾与总结(二)有序链表合并、约瑟夫问题

两个有序链表的合并 #include<iostream> using namespace std; struct node {int num;node* next; }; void show(node* head) {while (head){cout << head->num << ;head head->next;} } void add(node* head1, node* head2,node*&head3) {hea…

东营市自闭症寄宿学校,专注提供个性化教育

自闭症&#xff0c;这个听起来遥远而陌生的词汇&#xff0c;实际上正在影响着越来越多的家庭。自闭症儿童&#xff0c;被亲切地称为“星星的孩子”&#xff0c;他们活在自己的世界里&#xff0c;对周围的一切往往视而不见、听而不闻。然而&#xff0c;在广州的星贝育园自闭症儿…

万恶之源:端口不通

解决方案 本地端口开放&#xff0c;第三方使用者无法访问&#xff0c;原因无非有三&#xff1a; 1、基础网络不通 网不通&#xff0c;别说端口了&#xff0c;连ping都没办法&#xff1a;因此&#xff0c;请首先检查双方网络基础环境是否互通 2、防火墙拦截 新开的服务器&#x…