Numpy_计算距离以及统计数据

python-比较是否相等

 数据的具体的精度
###numpy 
 np.round(y_pred,2) 
      保留两位有效数字  return abs(f1 - f2) <= allowed_error
	  round是四舍六入五近偶
 numpy.array_equal()
 numpy.allclose()
    绝对接近加上相对接近耐(abs(b)*rtol+atol)
 numpy.isclose() 
###math 
math.isclose()综合了绝对接近和相对接近两个选项:
   math.isclose(a, b, rel_tol=1e-09, abs_tol=0.0) 
      abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol).
###python 
  float这和认知的小数是有差别的,这个时候就需要用到 decimal

statistics --- 数学统计函数

from statistics import median
geometric_mean() 数据的几何平均数  平均值以及对中心位置的评估 对分散程度的评估
两个输入之间关系的统计

众数是数据集中出现频率最高的值或值的集合。函数计算并返回数据集的众数作为结果。
import statistics
data = [1, 2, 3, 3, 4, 4, 4, 5]
mode = statistics.mode(data)
print(mode)	

###方案二
from scipy import stats
import numpy as np
arr = np.array([[0, 0, 1, 1, 1], [2, 3, 3, 2, 3]])
res = stats.mode(arr, axis=1)

scipy库中的stats模块来计算峰度和偏度:
from scipy import stats
import numpy as np
data = np.array([1, 2, 3, 4, 5])
# 计算偏度
skewness = stats.skew(data)
print("偏度:", skewness)
# 计算峰度
kurtosis = stats.kurtosis(data)
print("峰度:", kurtosis)	

scipy

统计和随机数: scipy.stats
线性代数运算: scipy.linalg 
空间数据结构和算法 scipy.spatial
    from scipy.spatial import KDTree
	scipy.spatial.transform.Rotation
    scipy.spatial.transform.Rotation.inv		
优化和拟合 scipy.optimize
     scipy.optimize.leastsq(最小二乘拟合)
     scipy.optimize.linear_sum_assignment()	
      optimize.dual_annealing differential_evolution 差分进化算法		 

Numpy计算各类距离的方法

欧式距离
  np.exp(x)表示自然数e(2.718281828459045)的多少次方,
     括号里给数字1,就表示e的1次方,给2表示e的2次方,括号里的数可以是负数或分数。
  np.sqrt(x)表示开平方,括号给1,
     表示给1开平方,给2表示2开平方,括号里的数必须大于或等于0。
  np.power(x, y) 表示x 的y次方,
      y=2表示x的平方,y=1/2表示x开方,y =1/3表示x开立方,y= -1表示x的倒数。
   np.square()——对数组中每一个元素平方,返回一个新数组
   np.log()——对数组a中的每一个元素x取自然对数lnx,并返回一个新的数组
   np.sum()——对数组按要求求和,返回一个数组或一个数值
   np.linalg.norm(x,ord=None,axis=None,keepdims=False)
      linalg=linear(线性)+algebra(代数),norm则表示范数
 ###示例
   vector1 = np.array([1,2,3])
   vector2 = np.array([4,5,6])
    
   op1=np.sqrt(np.sum(np.square(vector1-vector2)))
   op2=np.linalg.norm(vector1-vector2)

Python
   作为函数形参 两个星(**):表示接收的参数作为字典来处理 一个星(*):表示接收的参数作为元组来处理
   **作为运算符表示乘方,类似的*表示乘法。
   **作为函数实参   *作为序列解包

神经渲染技术在自动驾驶领域应用

UniSim: A Neural Closed-Loop Sensor Simulator
https://waabi.ai/wp-content/uploads/2023/05/UniSim-paper.pdf
自动驾驶仿真平台

 NeRF: Neural Radiance Field in 3D Vision, A Comprehensive Review
     神经辐射场首先由 Mildenhall 等人与 2020 年提出 ,用于新视角合成
 基于游戏引擎,利用基于物理渲染的传统图形学管线进行仿真渲染
 NeRF直接利用真实车端数据的隐式重建和编辑仿真方案-利用实车数据扩充3D场景库、扩充前景数字资产库,从而泛化出更多新的物体组合和场景序列

数据

从数据来源:
   现实数据-科研数据
   网络数据
   数据的变换
从数据格式:

数据

数据采集、车路协同、软硬件在环测试、数据回灌、云端数据闭环
   数据采集: 采集地图数据的数据采集车  测试的试验车 自动驾驶体验车
   vehicle to everything:
 把A部分做好,把B部分外包出去”的轻量化模式,有强项也有短板	   

印刷术-活字印刷术-纸质出版与传播
数字化-数字出版产业和数字传播:
    向数字化方向变化-数字化对应的基本单元是比特(bits)数据化的单位是字节(byte)、字(word)
	数字产业化 产业数字化
	数字产品消费-和数据消费
数据 
    数据化是数字化进程中的一个方向

物理世界和电子世界

物理世界走向数字世界--可以被数字世界感知和发现的。 
 物理世界中不被数字世界感知到的物体,在数字世界隐身。被感知到的,智能体的自我演化
 物理世界 数字世界的入口

业务

业务形态--形态多少
业务链条-研发-生产-销售-服务等全产业链条
业务组织

思路:

3D BEV Box 7维的向量表示center and dimension信息 XYZLWHR用几何关系计算bbox的corner--8个角点corners
 2D BEV Box,这个5维的向量表示:XYWHR用几何关系计算bbox的4个corner

 8个3D bbox的角点,这8个角点的位置 和4个角点的位置
 2d bbox,只需要得到[(x0,y0), (x0,y1), (x1,y1), (x1,y0)]的坐标 

方式一:

传统的	3dbbox_2_corners方式
    8个角点的位置corner,旋转yaw-平移center

方式二- 先旋转再平移

先得到4个角点的位置,再得到8个角点的位置 [x,y,z-h/2] [l/2,w/2,z-h/2],[l/2,-w/2,z-h/2]

参考

Python Numpy计算各类距离的方法 https://blog.csdn.net/dear_zhoubi/article/details/97391925
https://docs.python.org/zh-cn/3/library/statistics.html
statistics --- 数学统计函数
posted @ 2023-06-19 15:51  辰令  阅读(69)  评论(0编辑  收藏  举报