python
文章平均质量分 64
ywfwyht
这个作者很懒,什么都没留下…
展开
-
python:根据旋转平移矩阵求取原始点云或者转换后点云
根据旋转平移矩阵求取原始点云或者转换后点云原创 2024-04-24 16:01:19 · 1549 阅读 · 1 评论 -
python:使用scipy及numpy对三维空间点进行插值并可视化
使用scipy及numpy对三维空间点进行插值并可视化原创 2024-04-22 21:16:50 · 2399 阅读 · 0 评论 -
pyquaternion和scipy库实现四元数、欧拉角和旋转平移矩阵之间相互转换
下面是一个例子,展示了如何在scipy中转换四元数、欧拉角和旋转平移矩阵之间的互换。请注意,欧拉角的顺序在这里被设定为’xyz’。您可以根据实际情况选择不同的顺序。原创 2024-03-29 15:45:04 · 2343 阅读 · 0 评论 -
python setup.py develop运行报错解决办法
解决办法:指定一个新的安装路径。原创 2023-12-20 10:21:53 · 1446 阅读 · 0 评论 -
python 批量将图片存入excel单元格内
以上代码会将指定目录下所有的.jpg或.png文件存储到Excel单元格中,并将单元格大小调整为适应图片大小。需要注意的是,如果目录下有其他类型的文件,程序会抛出异常并停止运行。可以根据实际情况调整程序逻辑和异常处理方式。以下是一个示例程序,可以实现将指定目录下的所有图片存储到Excel单元格内。注意需要安装openpyxl库和Pillow库。原创 2023-11-23 14:21:00 · 2503 阅读 · 0 评论 -
OpenCV将两张图片拼接成一张图片
【代码】OpenCV将两张图片拼接成一张图片。原创 2023-11-22 16:16:06 · 5908 阅读 · 1 评论 -
pytorch中常见loss函数归纳(二分类、多分类、检测、分割、回归)
PyTorch中的loss函数源码通常可以在torch.nn.functional模块中找到。这些函数接受模型的输出和真实标签作为输入,并计算出模型预测的误差,从而帮助优化器调整模型参数。二分类任务只有两个类别,如判断一张图片是猫还是狗。常用的损失函数有:(1)BCELoss(Binary Cross Entropy Loss):二分类交叉熵损失函数,适合输出为概率值的情况。原创 2023-11-15 17:27:15 · 6585 阅读 · 0 评论 -
OHEM在线难例挖掘原理及在代码中应用
在传统的训练过程中,模型会在训练集中遇到大量易于分类的样本,而只有少量的难以分类的样本。在以上代码中,我们首先定义了一个交叉熵损失函数,然后在每个batch的训练过程中,按照损失值从大到小排序,并选择损失值排名前50%的样本作为难例样本。具体来说,OHEM在每个batch的训练中选择一定数量(通常为batch size的1/2)的难例样本,这些难例样本的损失函数被优先考虑。因此,模型会更加关注难以分类的样本,在训练过程中逐渐学会处理难例样本的能力,提高模型的泛化性能。在代码中,我们首先定义了模型,并使用。原创 2023-11-08 16:26:44 · 651 阅读 · 0 评论 -
基于关键点的车道线检测
以下是提供的几种基于关键点的车道线检测方案思路,并不代表具体的任务方案。原创 2023-11-01 14:39:03 · 1628 阅读 · 11 评论 -
自适应卷积和可变形卷积区别
两种方法的效果和速度并没有绝对的优劣之分,而是取决于具体的应用场景和模型架构。一般来说,自适应卷积比可变形卷积更容易优化,因为它只需要学习卷积核的形状和大小,而不需要学习采样和偏移。但是,在处理高度变形目标时,可变形卷积通常比自适应卷积效果更好。自适应卷积和可变形卷积都是对传统卷积进行改进,以解决传统卷积在处理变形目标时的不足。原创 2023-10-30 15:50:57 · 1221 阅读 · 0 评论 -
分类任务中softmax+argmax和直接argmax得到的结果有什么异同?
从输出结果可以看出,softmax+argmax和argmax的结果是一样的,但是softmax+argmax得到的结果是归一化后的概率值。因为矩阵中的每个值都大于0,因此softmax不会改变矩阵中元素的相对大小。在实际应用中,softmax可能会对结果产生影响并产生不同的输出。原创 2023-08-31 10:59:09 · 916 阅读 · 0 评论 -
python:使用tkinter&pyqt搭建可视化工具
然后我们创建了左右两个垂直布局,以及一个“上一张”和一个“下一张”按钮,并将这些按钮添加到左侧布局中。您可以根据需要修改路径和窗口大小等参数,并在 showPrevImage() 和 showNextImage() 方法中添加您自己的代码,以实现显示前一张和后一张图像的功能。在 showPrevImage() 和 showNextImage() 方法中,我们将显示前一张和后一张图像的代码留为 TODO,并在两个按钮上分别连接这两个方法。然后,我们创建了一个垂直布局,将水平布局和两个按钮放置在该布局中。原创 2023-08-31 10:36:50 · 905 阅读 · 0 评论 -
ONNX模型修改为自定义节点
首先,需要将ONNX模型中的节点修改为自定义节点。要实现这一点,您需要了解自定义节点的定义和如何在ONNX中使用它们。ONNX定义了一个自定义运算符的接口,您可以使用该接口定义自己的运算符,并将其编译为ONNX模型可以识别的格式。具体步骤如下:定义自定义节点的运算符:您需要将自定义节点定义为一个具有输入和输出的函数。函数应该遵循ONNX规范中定义的接口。编写生成自定义节点的代码:您需要编写代码来生成ONNX模型中的自定义节点。生成代码通常基于ONNX运算符定义,使用您定义的自定义节点。原创 2023-05-27 12:59:26 · 1835 阅读 · 0 评论 -
RANSAC原理及二次/三次多项式曲线拟合
RANSAC(RANdom SAmple Consensus)是一种经典的模型拟合算法,用于从一组杂乱的数据中找出最佳的模型。它的基本思想是随机选取一定数量的数据点,使用这些数据点来拟合模型,然后将所有数据点带入模型中,统计符合模型的数据点数量,如果符合数量超过阈值,则认为这些数据点符合这个模型,即它们是局内点(inlier)。重复以上过程,多次迭代之后,找到的最佳模型是拟合最优的模型,符合该模型的数据点就是局内点。RANSAC算法通常用于处理含有噪声或者异常数据的拟合问题,例如点云配准、图像匹配等问题。原创 2023-05-27 12:49:50 · 5573 阅读 · 5 评论 -
pytorch:余弦退火学习策略和warmup
深度学习中的“warmup”是指在模型训练的初始阶段,逐渐增加学习率的过程。它的作用主要有以下几个方面:加速模型收敛:在训练开始时,学习率通常设置得较小,这样可以保证模型在初始阶段不会过度拟合,同时也减少了训练过程中的震荡。但是,如果学习率过低,模型训练的速度会较慢。通过warmup,可以在训练开始时逐渐增加学习率,加速模型的收敛过程。提高模型的泛化能力:研究表明,在训练的早期阶段,模型更容易被错误的样本所干扰。原创 2023-05-26 19:56:42 · 1719 阅读 · 6 评论 -
SymPy符号运算库与latex数学公式
LaTeX(LATEX,音译“拉泰赫”)是一种基于ΤΕΧ的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在20世纪80年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由TeX所提供的强大功能,能在几天、甚至几小时内生成很多具有书籍质量的印刷品。支持Latex的工具有很多,最简单的可以使用在线Latex工具,比如Overleaf。从 SymPy 的 1.4 版本文档中,可以看出,SymPy 可以支持很多初等数学,高等数学,甚至研究生数学的符号计算。原创 2023-01-16 13:48:41 · 1253 阅读 · 0 评论 -
nn.Conv1d、nn.Conv2d、nn.Linear
nn.Conv1d作用在第二个维度位置channel,nn.Linear作用在第三个维度位置in_features,对于一个XXX,若要在两者之间进行等价计算,需要进行tensor.permute,重新排列维度轴秩序。length],3维tensor,而nn.Linear输入的是一个[batch, *, in_features],可变形状tensor,在进行等价计算时务必保证nn.Linear输入tensor为三维。nn.Linear速度比 nn.Conv1d, kernel_size=1速度更快。原创 2023-01-16 13:23:39 · 1966 阅读 · 0 评论 -
CBAM(Convolutional Block Attention Module)卷积注意力模块用法及代码实现
通道注意力机制(Channel Attention Module)是将特征图在通道维度不变,压缩空间维度,得到一个一维矢量后再进行操作。1的大小,然后经过两层共享全连接层(shared MLP)中,它先将通道数压缩为原来的1/r(Reduction,减少率)倍,再扩张到原通道数,再将这两个输出进行elementwise逐元素相加操作,经过sigmoid激活,最终即可获得通道注意力模块的特征图。在空间注意力模块中,是将通道注意力模块输出的特征图作为输入对通道进行压缩。该模块关注的是目标的位置信息。原创 2022-12-14 15:19:15 · 3835 阅读 · 1 评论 -
免费学习编程(python、C++...)的网址
geeksforgeeksrunoob.com廖雪峰C语言中文网原创 2022-12-13 11:10:24 · 166 阅读 · 0 评论 -
python:最小二乘法拟合原理及代码实现
最小二乘法适用于对处理的一堆数据,不必精确的经过每一点,而是根据图像到每个数据点的距离和最小确定函数。`需要注意的是,最小二乘是对全局进行拟合优化,对噪声比较敏感,所以如果有噪声比较大的观测值会影响拟合结果,此时建议用RANSAC算法拟合。`原创 2022-12-05 14:23:40 · 3404 阅读 · 0 评论 -
visdom可视化loss曲线等在训练代码中应用
visdom可视化loss曲线等在训练代码中应用原创 2022-11-17 09:46:47 · 631 阅读 · 0 评论 -
python:常见读写点云pcd文件的方法总结
python常见读写点云pcd文件的方法总结原创 2022-09-28 11:28:54 · 9355 阅读 · 0 评论 -
python实现tensorrt推理
python实现tensoort的推理原创 2022-09-23 10:49:06 · 2212 阅读 · 5 评论 -
onnx 转 tensorrt 的几种方法
onnx转tensoorrt的几种方法总结原创 2022-09-23 10:30:32 · 2371 阅读 · 0 评论 -
python:opencv或numpy格式图像转qt图像格式的方法
【代码】opencv或numpy格式图像转qt图像格式的方法。原创 2022-09-22 20:18:12 · 1482 阅读 · 0 评论 -
numpy:数组过滤 lambda & np.where & np.argwhere
numpy数组过滤lambda & np.where & np.argwhere原创 2022-09-21 11:02:23 · 1116 阅读 · 0 评论 -
pytorch模型转onnx模型及onnxruntime框架推理
pytorch模型转onnx模型及onnxruntime框架推理原创 2022-09-20 17:32:12 · 581 阅读 · 0 评论 -
pyqt5:GUI界面搭建及含图片一起打包成一个.exe(windows环境下)
pyqt5:GUI界面搭建及含图片一起打包成一个.exe(windows环境下)原创 2022-09-16 10:12:05 · 1939 阅读 · 0 评论 -
损失函数:DiceLoss与Dice系数
Dice系数,是一种集合相似度度量函数,通常用于计算两个样本点的相似度(值范围为[0, 1])。用于分割问题,分割最好时为1,最差为0。及用于解决样本不均衡的问题,但不稳定,容易出现梯度爆炸.......原创 2022-08-31 20:15:47 · 4571 阅读 · 4 评论 -
损失函数:交叉熵损失torch.nn.CrossEntropyLoss
交叉熵主要是用来判定实际输出(概率)与期望输出(概率)的接近程度。也就是交叉熵的值越小,两个概率分布就越接近。假设概率分布p为期望输出,概率分布q为实际输出。原创 2022-08-31 17:01:22 · 3917 阅读 · 3 评论 -
python:激光点云生成BEV图像
python 实现点云BEV图像生成原创 2022-08-30 17:03:01 · 1394 阅读 · 2 评论 -
pyqt:使用uic.loadUI()的时候,无法使用鼠标事件或者其他事件
使用uic.loadUiType()或者用 uic.loadUi()原创 2022-08-29 15:14:31 · 949 阅读 · 8 评论 -
python:利用rospy实现Marker及XYZI/XYZRGB点云在rviz中的可视化
python利用rospy实现Marker及XYZI/XYZRGB点云在rviz中的可视化代码环境是基于ubuntu+ros的。需要安装rospy、numpy等。原创 2022-08-20 14:53:04 · 1904 阅读 · 0 评论 -
ImportError: dynamic module does not define module export function (PyInit_cv_bridge_boost)
File "/opt/ros/melodic/lib/python2.7/dist-packages/cv_bridge/core.py", line 91, in encoding_to_cvtype2 from cv_bridge.boost.cv_bridge_boost import getCvTypeImportError: dynamic module does not define module export function (PyInit_cv_bridge_boost)原创 2022-07-19 15:31:42 · 2036 阅读 · 9 评论 -
DistributedDataParallel(DDP)分布式单机多GPUS训练
pytorch官方链接使用过程中总结大概需要以下几步:1、设置local_rank及device(启动器开启后,会将当前进程的(其实就是 GPU的)index 通过参数传递给python环境local_rank参数中);2、初始化分布式环境、进程间通信;3、DDP包装model;4、采样器包装dataset5、数据输入to.(device)或者.cuda()6、用torch.distributed.launch启动(其他方式不作分享).........原创 2022-07-12 16:25:33 · 1747 阅读 · 0 评论 -
python:随机采样一致性(RANSAC)直线模型拟合原理及代码实现
RANSAC直线模型拟合过程原理简介算法过程参数求解过程原理简介随机抽样一致算法(Random Sample Consensus,RANSAC)。它采用迭代的方式从一组包含离群的被观测数据中估算出数学模型的参数。 RANSAC是一个非确定性算法,在某种意义上说,它会产生一个在一定概率下合理的结果,而更多次的迭代会使这一概率增加。此RANSAC算法在1981年由Fischler和Bolles首次提出。RANSAC的基本假设:“内群”(inlier, 似乎译为内点群更加妥当,即正常数据,正确数据)数原创 2022-05-18 18:43:47 · 1557 阅读 · 0 评论 -
mmdeploy之安装配置及pointpillar模型转换及推理
文章目录mmdeploy安装mmdeploy安装参考官方教程:官方文档git clone -b master https://github.com/open-mmlab/mmdeploy.git cd mmdeploygit submodule update --init --recursive依赖PyTorch:conda install pytorch==1.8.0 torchvision==0.9.0 cudatoolkit=11.1 -c pytorch -c conda-forg原创 2022-04-08 13:07:33 · 2461 阅读 · 18 评论 -
conda虚拟环境安装配置mmdeploy
文章目录CUDA 11.1编译 MMDeploy 库安装 MMDeploy 的 Model Converter设置环境变量模型转换调用 MMDeploy SDK python API,输入上述模型转换产生的sdk model路径,图像,得到检测结果第一个参数是模型转换命令中 --work-dir选项的值需要读取自己路径下的图片https://zhuanlan.zhihu.com/p/484842986https://mmdeploy.readthedocs.io/zh_CN/latest/build/l原创 2022-04-12 16:44:32 · 1623 阅读 · 11 评论 -
python: bag包解析pcd和图像
bag包解析pcd和图像:import glob, osimport rosbagimport cv2from cv_bridge import CvBridge, CvBridgeErrorimport sensor_msgs.point_cloud2 as pc2import numpy as np print(cv2.__version__)bridge = CvBridge()image_topic = "/usb_cam/image_raw/compressed"poin原创 2022-03-10 10:47:11 · 4461 阅读 · 0 评论 -
python:获取两个列表中数值最接近的元素(元素匹配算法)
获取两个列表中数值最接近的元素:在处理数据中,经常需要匹配两个数据集合,找到最接近的那两个元素。例如:在处理pcd点云数据和图像的时候,需要在点云和图像两个集合中找到时间戳相对应的那一帧数据以下为代码实例:(代码不够规范,请多见谅)def pcd_match_img(pcd_path, img_path): pcd_file = os.listdir(pcd_path) img_file = os.listdir(img_path) for pcd in pcd_file: pcd_p原创 2022-03-09 17:10:58 · 3847 阅读 · 0 评论