自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(231)
  • 收藏
  • 关注

原创 【坐标变换】旋转矩阵左乘右乘的思考

其次,这句话还遗漏了一个相当重要的信息,绕固定坐标系旋转讨论的是向量的旋转,绕自身坐标系旋转讨论的是坐标变换!这是完全不一样的两种功能,例如我想研究向量的旋转,我可以也只可以将其视为向量绕固定坐标系的旋转。已知在C坐标系下表示的向量pC,我想求pC在原始坐标系0下的表示p0,已知C坐标系 由原始坐标系0绕轴X0旋转α度成为坐标系A,再绕轴YA旋转成为坐标系B,再绕轴ZB旋转成为坐标系C。一个向量p0 先绕x轴转α度,再绕y轴转β度,最后绕z轴转γ度,求旋转后向量的位置。不同维度对应的旋转矩阵公式可阅读此。

2024-02-21 15:58:20 1001

原创 【模型压缩】模型剪枝详解

CNN在实际应用中的部署主要受以下几个方面制约。1)模型大小的限制CNN强大的表示能力来自其数百万可训练参数。这些参数以及网络结构信息需要存储在磁盘上,并在推理期间加载到内存中。例如,在ImageNet上存储一个典型的CNN会消耗超过300MB的空间,这对嵌入式设备来说是一个巨大的资源负担。2) 运行时内存在推理期间,CNN的中间激活/响应甚至可能比存储模型参数占用更多内存空间,即使批量大小为1。这对于高端GPU来说不是问题,但对于许多计算能力较低的应用程序来说,这是负担不起的。3) 计算操作数。

2024-01-26 15:34:36 1171

转载 【模型压缩】模型压缩的几种方式概述

如同前面提到的,我们希望将一个强大复杂的AI模型减量、压缩后,得到一个迷你、简单的模型,但仍要能维持原有的推论精度或者只有些微(0%到指定%)的下降,就像我们平常看到的JPG影像、MP4影片,虽然采大幅度破坏性压缩,但人眼是很难分辨其品质差异的。这样可以得到几项好处,包括。(FP8, e5m2, e4m3, 1 Byte)在推论时其精度下降幅度可控制在一定程度内,同时可让储存空间和内存使用量减少1/2到3/4,若加上有支持SIMD或平行运算指令集[1]还可让运算量提升1.x ~ 3.x倍,一举多得。

2024-01-26 14:13:46 586

转载 【C/C++】常用计时函数整理

目前,存在着各种计时函数,一般的处理都是先调用计时函数,记下当前时间tstart,然后处理一段程序,再调用计时函数,记下处理后的时间tend,再tend和tstart做差,就可以得到程序的执行时间,但是各种计时函数的精度不一样.下面对各种计时函数,做些简单记录.方法1,2,7,8可以在linux环境下执行,方法1,2,3,4,5,6可以在windows环境下执行.

2023-11-20 16:59:34 362

原创 【CAN信号解析】使用python-can/cantools解析CAN数据

用python分析asc,blf等格式数据,python-can这个包是必备的cantools这个包虽然理论上非必须,但用它处理起来更方便。另外cantools这个包本身依赖python-can,所以直接装个cantools就能直接上手干了。另外,要分析asc, blf格式的数据,还得需要相应的数据库文件,也就是.dbc或.arxml文件。DBC(Database Container)是一种CAN数据定义文件,用于描述车辆网络系统中的消息、信号和节点之间的关系和通信规则。

2023-09-27 11:54:09 4134 1

转载 【pandas】pandas处理数据常用函数

转载自:https://www.runoob.com/pandas/pandas-functions.html仅作学习记录。

2023-09-14 16:52:32 166

原创 【C/C++编译】CMake定义头文件路径、链接库路径及链接选项:PRIVATE,INTERFACE,PUBLIC

可以使用命令来指定自定义的头文件路径。该命令会将指定的路径添加到编译器的头文件搜索路径中。你可以多次调用 include_directories 命令,以添加多个头文件路径。可以使用命令来指定自定义的链接库路径。该命令会将指定的路径添加到链接器的库搜索路径中。你可以多次调用 link_directories 命令,以添加多个链接库路径。需要注意的是,尽量避免在 CMake 中使用 include_directories 和 link_directories 命令来处理第三方库的头文件和链接库路径。

2023-08-21 11:07:22 5980

原创 【目标检测】Haar-like特征检测简介

实际上,训练级联分类器的目的就是为检测时更加准确,Haar分类器的检测体系是以现实中的一幅图像作为输入,然后对图像中进行多区域,多尺度的检测. 所谓的多区域,是对图像划分多块,对每个块进行检测。由于训练时用的照片只有20 * 20左右的小图像,所以对于大的人脸,还需要进行多尺度的检测,多尺度检测机制一般有两种策略,一种是不改变搜索窗口的大小,而不断缩放图像,这种方法需要对每个缩放后的图像进行区域特征值的运算,效率不高。如下图所示:原图像中,有A,B,C,D四块区域,其中a,b,c,d表示D区域的四个顶点。

2023-05-04 17:47:03 1628 1

转载 旋转矩阵-rotation matrix简介

转载自:https://zhuanlan.zhihu.com/p/533911656,仅作学习记录。

2023-05-04 15:50:28 1164

转载 【python打包分发工具】setuptools详解

自定义命令行为是setuptools进阶知识。见:https: / / pythonhosted . org/an_example_pypi_project/setuptools . html这些命令具体是由定义在中的类执行的。比如由setuptools.command.bdist类来执行。因此我们可以继承于中的类来执行自定义的命令行为。比如pytorch的就继承于。具体怎么继承并改写这个command类就需要阅读源码了。继承完command类后,需要通过cmdclass参数。

2023-02-13 11:26:05 1578

转载 【CAN通信】CAN协议详解

CAN是的缩写(以下称为 CAN),是 ISO 国际标准化的串行通信协议。在北美和西欧,CAN 总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以 CAN 为底层协议专为大型货车和重工机械车辆设计的 J1939 协议。CAN总线通信系统是串行通信的一种,要优于RS485总线,是目前比较常用的一种工业总线,如汽车的电气部分就采用CAN总线实现通信。与I2C、SPI等具有时钟信号的同步通讯方式不同,CAN通讯并不是以时钟信号来进行同步的,它是一种异步半双工通讯。同步即在同。

2023-02-07 17:23:01 5584

转载 【CAN通信】CAN消息解析

CAN(Controller Area Network )总线在整个无人驾驶系统中有着十分重要的作用。除了提到的VCU信号需要通过CAN总线进行传输外,无人车上的某些传感器(如雷达、Mobileye)的信号传递也是通过CAN实现的。在无人驾驶,个人如何研究?中提到过实现一个无人驾驶系统,会有几个层级:感知层 → 融合层 → 规划层 → 控制层更具体一点为:传感器层 → 驱动层 → 信息融合层 → 决策规划层 → 底层控制层这次主要介绍的是“驱动层”相关的内容。

2023-02-01 14:57:14 1577

转载 【自动驾驶】卡尔曼滤波理解总结

本文部分转载自:https://zhuanlan.zhihu.com/p/530377846 仅作学习记录~

2023-01-31 15:45:13 2090 3

转载 【Git】Git submodule常用指令

文章出自个人博客 https://knightyun.github.io/2021/03/21/git-submodule,总结的很详细,本文只做学习记录,方便自己查阅~

2022-12-13 15:02:03 4080

原创 【python第三方库】psutil模块常用方法简介

psutil是python中的一个第三方模块,需要下载。它能够轻松的实现获取系统运行的进程和系统利用率(CPU、内存、磁盘、网络等)信息,主要应用于系统监控。实现了同等命令命令行实现的功能:ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。能够跨平台运行。CPU、磁盘、内存、网络、进程等。

2022-12-12 09:08:28 827

原创 【数据去噪】SG-多项式平滑算法

在处理工业数据的时候,工业数据有数据颗粒细,噪声大,量大,随着测量点的增加,数据维度高,复杂性高,而且关联性强,不过这个关联性是相对的,因为有时候数据噪声较大,显示不出来这种关联性。最近了解的五点三次平滑,因为工作中遇到了用 五点三次平滑算法 平滑 车道线模型检测出的 车道线的点集,去除噪声点,方便后处理里拟合车道线方程。引用文献的解释:“一般来说,在数据采集系统中采集到的数据往往叠加有噪声。噪声分为两种,一类为周期性的,一类为不规则的。前者代表为50 Hz 的工频干扰,后者代表为随机信号。”

2022-11-28 14:59:04 4456 2

转载 【回归Loss】解决回归不平衡的Balanced MSE loss简介

为了填补不平衡回归方法的空白,我们提出了Balanced MSE损失函数,从统计的视角解决标签的不平衡。我们针对不平衡回归的问题设定,从统计的视角下重新思考了常用的MSE损失函数,发现MSE会受到不平衡标签分布的影响而做出不准确的预测。为解决这个问题,我们提出了Balanced MSE损失函数,并给出了灵活的实现形式,包括不需要预先计算标签分布的实现。Balanced MSE在一维与多维的不平衡回归问题上都超过了最好的现有方法。

2022-11-23 17:51:32 2456 2

转载 【python基础】省略号...的用法

转载自:https://zhuanlan.zhihu.com/p/489862322。

2022-11-23 17:01:25 1297

原创 pytorch快速上手(8)-----pytorch优化器简介

更新模型参数。在更新参数时一般使用梯度下降的方式去更新。梯度下降常见的基本概念导数:函数在指定坐标轴上的变化率;方向导数:指定方向上的变化率;梯度:一个向量,方向为方向导数取得最大值的方向。所以梯度是一个向量,方向是导数取得最大值的方向,也就是增长最快的方向,而梯度下降是沿着梯度的负方向去变化。一类是基于SGD及其优化,另一类是Per-parameter adaptive learning rate methods(逐参数自适应学习率方法),如AdaGrad、RMSProp、Adam等。

2022-11-23 16:52:02 1153

转载 【pytorch优化器】Adam优化算法详解

转载自:https://blog.csdn.net/weixin_39228381/article/details/108548413仅作学习记录。

2022-11-22 17:51:53 5402

转载 【pytorch优化器】Adagrad、RMSProp优化算法详解

模型每次反向传导都会给各个可学习参数p计算出一个偏导数g_t,用于更新对应的参数p。通常偏导数g_t不会直接作用到对应的可学习参数p上,而是通过优化器做一下处理,得到一个新的值,处理过程用函数F表示(不同的优化器对应的F的内容不同),即,然后和学习率lr一起用于更新可学习参数p,即。

2022-11-21 17:18:41 2798 1

原创 【训练技巧】远程服务器训练模型防止断掉的处理方式

可以找到你运行的进程ID,若要结束运行就kill id。2、回车执行,再回车,窗口中会显示一个进程号。,关掉Xshell后就不行了。

2022-11-21 09:24:55 861 2

转载 【pytorch训练】tensorboardX安装及使用

做为Tensorflow中强大的可视化工具,已经被普遍使用。但针对其余框架,例如Pytorch,以前一直没有这么好的可视化工具可用,PyTorch框架自己的可视化工具是Visdom,但是这个API需要设置的参数过于复杂,而且功能不太方便也不强大,所以有人写了一个库函数来让PyTorch也可以使用tensorboard。

2022-11-16 17:48:03 9219 1

原创 【python第三方库】easydict的使用

在 Python 中当我们需要访问字典中的元素的时候,我们需要使用类似的形式来进行使用。例如现在我们有如下的字典d = {'x' : 1 , 'y' : 2 } } print(d [ 'foo' ]) # 如何想要访问字典的元素需要这么写 print(d [ 'bar' ] [ 'y' ]) # 如果想要继续访问字典中字典的元素需要使用二维数组现在我们希望可以使用类似访问属性的方式,来访问字典里的变量,例如使用d.foo这种形式来访问。这个时候就可以使用easydict这个模块了。

2022-11-07 16:10:47 4503 1

转载 【python基础】python代码内执行系统命令的四种方法

主要用来取代 一些旧的模块方法,如os.system、os.spawn*、os.popen*、commands.*等。的情况下,是没办法修改os.system的编码格式的,因为os.system执行命令返回的并不是命令中出现的文本,而是一个int,为0时表示成功,为1时表示异常。,这是因为调用了os.wait()的缘故,具体原因就得去了解下系统wait()的实现了。subprocess模块运用对线程的控制和监控,将返回的结果赋于一变量,便于程序的处理。,获取子进程的执行的返回信息。但是,如果简单的通过。

2022-11-07 15:24:59 853

转载 【pytorch基础】读取的图片扩充维度的几种方式

【代码】【pytorch基础】读取的图片扩充维度的几种方式。

2022-11-01 20:30:23 1131

原创 【基础知识】tiff格式图片介绍及读取

TIFF格式也叫TIF,属于位图格式,全名是。TIFF格式和JPEG及PNG都是属于一种主流且高位彩色图像格式。使用过扫描仪或传真的小伙伴应该还记得,很多品牌及其默认文件就是.tiff后缀。因为TIFF最初的设计目的就是在1980年左右,扫描仪厂商达成一个公用的统一的扫描图像文件格式,而不是每个厂商使用自己专有的格式造成混乱。TIFF是一种比较灵活的图像格式,它的全称是Tagged Image File Format,文件扩展名为TIF或 TIFF。

2022-10-20 19:37:03 24732 3

原创 【数据增强】图像数据的几种增广方式

只做几种增广方式中的展示,有的增广方式 要注意!其他增广方式,自行百度。下面代码展示都是使用python的opencv库。

2022-10-20 18:05:20 1289

原创 【车道线检测】车道线检测算法汇总

车道线检测是自动驾驶中的一个基础模块,其实也是一个由来已久的任务,早期已有很多基于传统图像处理实现的车道线检测算法。但随着大家研究的深入,车道线检测任务所应对的场景越来越多样化,逐步已经脱离了对于“白、黄色线条”这种低阶理解。目前更多的方式是寻求对于语义上车道线存在位置的检测,即使它是模糊的、被光照影响的、甚至是完全被遮挡的。本文主要对主流的车道线检测(包括BEV-鸟瞰图视角和图像视角)方法进行总结。由于基于深度学习的方法性能远超传统方法,所以本文只总结了基于深度学习的方法。

2022-10-19 14:46:17 1754

原创 【车道线检测】FOLOLane解读

predicted marker curve: 一组有序关键点(key points),y坐标具有均匀间隔labelled marker curve: 一组有序关键点(key points),y坐标具有均匀间隔。在的步骤, 训练的时候,对curve进行插值,连成一条线,作为label,这条线上的每一个像素都被认为是key point,值为1。对曲线的高斯核范围内的邻居点赋值0-1之间。在的步骤, 训练的时候,key points就是单独的点,等距离间隔和车道线的交点。

2022-10-14 17:22:48 2480

原创 【python第三方库】nuitka---python源码打包工具

nuitka打包教程

2022-10-13 14:29:54 1070

原创 【python基础】python类的成员变量与成员函数的一些疑问

类体中、所有函数之外:此范围定义的变量,称为类属性或类变量;所有类的实例化对象都同时共享类变量,也就是说,类变量在所有实例化对象中是作为公用资源存在的(通过类名修改类变量的值,会影响所有的实例化对象)。类方法的调用方式有 2 种,既可以使用类名直接调用,也可以使用类的实例化对象调用(不推荐,见最后阐述)。

2022-09-21 17:27:10 1219

转载 【python基础】python中global关键字介绍

转载自:https://zhuanlan.zhihu.com/p/111284408仅作学习记录。

2022-09-21 16:33:47 2006

原创 【python基础】python的继承与多态,子类中调用父类方法和属性

指在 Python 的面向对象开发过程中,对象的某些方法(函数)只想在对象的内部被使用,但不想在外部被访问到这些方法或函数。私有方法是对象不愿意公开的方法或函数。私有属性同理代码示例# 1. 公共类 / 父类 class Person() : # 定义__init__初始化方法 def __init__(self , name , age , adress) : self . name = name。

2022-09-16 16:54:42 2424

转载 【C/C++基础知识】子类成员函数如何调用父类成员函数

本文转载自:https://www.cnblogs.com/oddcat/p/11232415.html。

2022-09-16 15:41:10 2983

转载 【C/C++基础】模板简介

类模板和函数模板都是以template开头(也可以用class开头),后跟类型参数,类型参数不能为空,多个类型参数用逗号分隔开。template < class T1 , class T2 , . . . , class Tn > class xxx //类模板名 {//类成员定义 };一旦声明了类模板,就可以将类型参数用于类的成员函数和成员变量了。即原来使用int、float、char等内置类型的地方,都可以用类型参数来替代。

2022-09-15 13:50:57 198

原创 【C/C++基础】extern “C“ __declspec(dllexport)详解

具体请阅读blog。

2022-09-13 11:09:58 4532

转载 【图像基础】RAW格式图像简介

数码相机直接输出的未经过处理过的图像,俗称raw图经过isp处理的图片,通常称为 jpg图了解摄影的人都会很熟悉raw图,一般都会在photoshop中对raw图进行调色、降噪、构图等处理,以获得更好的图像效果质量。为什么是RAW图呢?顾名思义,英文单词Raw是原始的,未处理的,其表征了纯粹的未处理的一堆数据,为何这里说是一堆数据而不是图像呢?实际上Raw图记录的就是CMOS或者CCD图像传感器将捕捉到光源(光子)信号转化为数字信号的原始数据。Raw格式的图片是数码相机采集到的最原始的图像数据信息。

2022-09-09 15:54:07 5932 1

转载 【图像基础】摄像头如何拍出照片的?

下面我们首先查看摄像头的整体结构::即镜头,镜头是将拍摄景物在传感器上成像的器件,它通常由几片透镜组成,相信如果了解工程光学的人对这个概念一定不陌生。从材质上看,摄像头的镜头可分为塑胶透镜和玻璃透镜。Voice Coil Motor(VCM)音圈马达:手机摄像头广泛使用VCM实现自动对焦功能,通过VCM可以调节镜头的位置,呈现清晰的图像。其里面实现原理主要是通过固定磁场加电流产生力进而引起马达运动然后对焦,通过步进方式在空间寻找对焦位置并通过对焦算法确定何时停止寻找对焦位置。

2022-09-09 14:51:40 1058

转载 【图像基础】bit depth图像色深介绍

一句话概括:不管是 8bit (2816) 还是 24bit (224) ,都是表示图像(灰度或彩色)中每一个像素的 像素值范围。就是用多少位表示一个像素值。8位二进制数(1 byte/字节),有符号最大的表示范围为-127到+128无符号最大表示范围为0到256,说明该图像 每个像素 最多有256个层次的灰度值。如果是2位灰度图则最多只有0,1,2,3四种层次的灰度,如果是1位灰度图,则只有0和1两种,即一幅图像非黑即白。

2022-09-09 14:17:46 1334

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除