- 博客(70)
- 收藏
- 关注
原创 优化算法总结
高斯牛顿法理论上应该是二阶方法,在算法实际计算的使用使用一阶梯度近似二阶的方式实现,属于介于一阶和二阶之间的方法。不显式计算真实 Hessian,而是使用 J⊤JJ^\top JJ⊤J(Jacobian 的近似二阶信息)
2025-06-23 15:08:25
517
原创 开发环境,cmake 和git的使用
设置用户名 git config --global user.name。设置用户签名 git config --global user.email。#将源码文件.cpp的目录保存在SRC_LIST变量中,注:源码在src文件夹中。将文件提交到本地库 git commit-m “日志信息”文件名。查看本地库状态 git status。2、git checkout 到自己的本地分支。将文件添加到暂存区 git add 文件名。
2025-04-29 09:20:57
218
原创 相机模数转换
从模拟图像转换到数字图像的过程包括采样和量化步骤,其中采样将图像的空间信息离散化为像素,而量化将每个像素的光强度或颜色值映射为有限的数字值。在提升数字图像分辨率方面,可以通过增加传感器像素数、使用插值算法或应用超分辨率技术来提高图像的细节表现。光学成像→传感器捕捉→模拟信号→ADC转换(量化)→数字信号处理→编码存储。因此,量化发生在ADC转换的阶段,功能是将模拟信号转换为离散数值,便于计算机处理和存储。相机从成像到输出图片的流程大致如下:光学成像。
2025-02-12 16:26:46
1333
原创 深度模型,性能分析record_function+(torch.profiler,torch.utils.tensorboard,schedule)
是 PyTorch 中用于性能追踪和记录的工具,主要用于在代码中标记一个代码块,以便后续可以查看执行时间、内存使用情况、操作持续时间等信息。这个工具是 PyTorch 的和等性能分析工具的核心部分之一。
2024-12-18 14:22:16
1255
原创 变分自编码器加图像向量量化技术
变分自编码器(VAE)广泛用于生成模型、异常检测、图像去噪、数据生成等任务。VAE的主要优点是它通过学习潜在空间(latent space)来生成新的样本,这些样本在某些任务中具有非常好的应用效果。以下是几个典型的 VAE 使用场景及其应用示例。变分自编码器(VAE)中,损失函数是由和两部分组成的。
2024-12-11 15:26:12
1093
原创 数据增强方法
数据增强(Data Augmentation)是通过对训练数据进行变换(如旋转、平移、缩放、翻转等)来生成新的训练样本,从而增加数据集的多样性和鲁棒性。数据增强可以帮助模型更好地泛化,减少过拟合,特别是在数据量较少的情况下。数据增强方法的选择通常依赖于任务的具体要求和数据的特点。通过对数据集进行有效的增强,可以提高模型的泛化能力,减少过拟合,增强模型对噪声、遮挡、旋转等变化的鲁棒性。在图像分类、目标检测、语义分割等任务中,数据增强已成为提升模型性能的必不可少的技术之一。
2024-12-02 17:12:12
1440
原创 目标检测和图像分割图像分类模型
多尺度特征融合:支持不同层级特征的目标检测,适应小目标检测。分类器调整:使用 Logits 而非 Softmax,更适合多标签检测。CSPNet:减少重复计算,提升速度和精度。锚点机制:引入 Anchor Boxes,适配多样化目标尺寸。多尺度训练:支持不同分辨率的输入,提高模型鲁棒性。批归一化:稳定训练过程,改善收敛性能。局限性:对小目标检测效果较差,且定位精度不足。引入动态标签分配、模糊标签机制等,提高复杂场景的检测能力。提供从 Nano 到 X 的多种模型尺寸,适应不同设备的需求。
2024-12-02 17:11:13
1491
原创 torch和cuda安装配置
pip install D:/迅雷下载/torch安装包/torchvision-0.12.0+cu113-cp310-cp310-win_amd64.whl。pip install D:/迅雷下载/torch安装包/torchaudio-0.11.0+cu113-cp310-cp310-win_amd64.whl。pip install D:/迅雷下载/torch安装包/torch-1.11.0+cu113-cp310-cp310-win_amd64.whl。
2024-11-23 15:25:36
871
原创 神经网络学习记录,基于pytorch,网络层,初始化,参数计算
Containers(容器):容器用于组织和管理其他层或模块,形成一个层次结构。它们可以包含多个层或模型组件。(卷积层):卷积层用于提取图像或数据中的局部特征。常见的卷积操作包括二维卷积、三维卷积等。(池化层):池化层用于降低数据的维度,减少计算量,同时保留重要特征。常见的池化操作有最大池化、平均池化等。(填充层):填充层在输入数据的边界添加额外的值,以保持数据的尺寸或防止边界效应。(非线性激活函数(加权求和,非线性)):非线性激活函数用于引入非线性特性,使神经网络能够学习复杂的模式。
2024-11-21 18:16:21
976
1
原创 transformer 模型介绍
主导序列转换模型基于复杂的循环或卷积神经网络,包括编码器和解码器。表现最好的模型还通过注意力机制连接编码器和解码器。我们提出了一种新的简单网络架构,Transformer,完全基于注意力机制,无需循环和卷积。在两项机器翻译任务上的实验表明,这些模型在质量上优于现有的最佳结果,包括集成模型,并且提高了超过2个BLEU。在WMT 2014英语到法语翻译任务上,我们的模型在八块GPU上进行训练3.5天后,建立了新的单一模型最先进的BLEU分数41.8,这是文献中最佳模型的训练成本的一小部分。
2024-11-21 14:52:33
2275
原创 torch网络组成
核心模块:自注意力机制,多头注意力,位置编码,前馈神经网络,残差连接和归一化。自注意力机制:计算输入序列中各元素之间的相关性,为每个元素分配权重,关注重要部分多头注意力(Multi-Head Attention):通过多个注意力头同时关注不同的特征空间。位置编码(Positional Encoding):在序列输入中加入位置信息,弥补模型对序列顺序的敏感性。前馈神经网络(Feedforward Network):为每个位置独立学习更复杂的特征。
2024-11-21 11:48:00
670
原创 图像融合self
特征级融合是利用算法将图像中的某些特征提取之后在融合(特征通常指图像轮廓,边缘,亮度等)像素级融合是对多源图像机型像素级别的预处理(配准,去噪和增强等)决策级融合依赖于成熟的数学理论或者模型,例如主观贝叶斯方法。图像融合的三个层次:像素级融合,特征级融合,决策级融合。像素级融合可以更充分利用和探索图像中的有效特征和信息。
2024-11-11 09:47:55
437
原创 神经网络s
以下是深度神经网络的一些基本结构和知识点介绍:网络结构,激活函数,损失函数,优化算法,正则化,归一化,dropout,权重初始化,跳跃连接,Attention机制,卷积操作,循环网络,残差块,数据增强,生成对抗网络,迁移学习,对比学习,位置编码,自监督学习,混合精度训练,注意力蒸馏,模型剪枝,自动机器学习。原因:深层网络:在深层神经网络中,随着层数的增加,梯度在反向传播过程中可能会逐层减小,尤其是在使用Sigmoid或Tanh等激活函数时,容易出现饱和现象,从而导致梯度消失。激活函数决定了节点的输出。
2024-11-06 18:19:43
836
原创 c++智能指针
提供独占所有权,防止多个指针管理同一资源。提供共享所有权,通过引用计数机制管理资源的生命周期。提供弱引用,用于防止shared_ptr循环引用问题。通过使用智能指针,可以减少手动管理假设有两个类A和B,它们的实例通过相互引用:class B;// 前向声明class A {public:~A() {class B {public:~B() {// A 持有 B 的 shared_ptr// B 持有 A 的 shared_ptr。
2024-10-20 15:44:59
1084
原创 c++ 左值和右值
右值引用(T&&:允许绑定右值,并可以通过它来进行资源转移。std::move:将左值显式地转换为右值,以便触发移动语义。移动构造函数和移动赋值运算符:利用右值引用来避免资源的复制,而直接转移资源。完美转发:利用右值引用和实现高效的参数传递。右值和右值引用在现代 C++ 中极大地提升了性能,特别是在处理大对象和复杂资源时,能够避免大量不必要的复制操作。std::move是将对象转换为右值引用,允许资源移动,减少资源的复制。移动后,源对象的状态通常是不确定的,意味着它的资源已经被转移。
2024-10-19 21:05:34
745
原创 opencv
深度学习模块,支持深度学习模型的导入和推理,兼容多种深度学习框架(如TensorFlow、Caffe等)。: 图像处理模块,提供各种图像变换和处理算法,如平滑、边缘检测、颜色空间转换等。: 特征检测和描述模块,支持多种特征提取算法,如SIFT、SURF、ORB等。: 相机标定和3D重建模块,提供相机标定、立体视觉和3D重建的算法。: 机器学习模块,包含多种机器学习算法的实现,如分类器和聚类算法。: 图像修复和增强模块,提供图像去噪、图像修复等功能。: 视频分析模块,提供运动分析和背景建模等功能。
2024-10-11 19:51:55
417
原创 c++ emplace
emplace系列函数通过在容器内原地构造对象来提高性能,特别是当对象的构造和复制代价较高时。相比于push_back和insertemplace更加高效,因为它避免了临时对象的构造、复制或移动。常见的emplaceemplace,不同容器会提供不同的emplace函数,根据容器特性来使用。
2024-10-11 19:16:39
1772
原创 c ++ 堆
堆是一种完全二叉树最大堆(Max Heap):每个父节点的值都大于或等于其子节点的值。堆顶(根节点)是整个堆中最大的元素。最小堆(Min Heap):每个父节点的值都小于或等于其子节点的值。堆顶(根节点)是整个堆中最小的元素。堆常用于实现优先队列(Priority Queue),其中元素的优先级决定了其出队的顺序。你可以通过提供自定义的比较函数来创建最小堆或其他优先级队列。例如,创建一个最小堆:// 定义一个最小堆的优先队列// 插入元素// 输出并移除堆顶元素。
2024-10-11 17:56:22
1240
原创 c++ 知识点总结
c++标准库。算法加lambda表达式在 C++ 中,指的是,lambda 表达式中使用到的外部作用域的变量。这些外部变量在 lambda 表达式中被称为“捕获变量”。Lambda 通过捕获机制可以访问这些变量,而不用显式地将它们作为参数传递给 lambda。和,这决定了 lambda 表达式内部如何使用和修改这些变量。
2024-10-10 18:10:50
641
原创 c++ 函数参数的值传递,引用传递,指针传递
引用传递和指针传递函数内参数数值的改变会导致函数外变量的数值同样改变。值传递函数内对参数数值的改变,不影响函数外参数的数值。引用传递会在函数内部生成指针,实际使用的还是指针。
2024-10-09 16:22:23
131
原创 详解C/C++代码的预处理、编译、汇编、链接。VS生成、清理项目、调试、执行、debug、release
详解C/C++代码的预处理、编译、汇编、链接全过程 - 知乎 (zhihu.com)
2024-10-09 15:44:39
442
原创 opencv mat 数据类型
CV_32F 32 位浮点数 (-FLT_MAX ……CV_32S 32 位符号整数 (-2147483648……而float 是32位的,对应CvMat数据结构参数就是:CV_32FC1,CV_32FC2,CV_32FC3...double是64bits,对应CvMat数据结构参数:CV_64FC1,CV_64FC2,CV_64FC3等。
2024-09-24 10:54:59
410
原创 c++ 跨平台开发
Visual Studio 2022 远程连接 虚拟机Linux系统(超详细)_visual studio 2022连接远程服务器-CSDN博客
2024-08-26 10:40:51
446
1
原创 c++ cmake
将源码文件.cpp的目录保存在SRC_LIST变量中,注:源码在src文件夹中。$ cmake CMakeLists.txt文件所在的路径。add_executable(可执行程序名 源文件名)#bin目录下存最后生成的可执行文件。#定义工程会生成一个可执行程序。#定义工程生成一个可执行程序。#执行CMake命令。
2024-08-19 14:34:22
372
原创 vscode与 远程链接 与git
1、在本机的命令行中输入:ssh-keygen, 生成密钥,全部默认,生成的密钥默认在用户目录下的.ssh文件夹中,>在左侧功能栏,打开Remote Explorer可以看到新增的ssh连接,可以在这里快捷的连接远程服务器。在vscode的ssh config中对应的服务器连接添加一栏:IdentityFile。本地(或者链接的远端工控机或者服务器上),与指定git分支进行ssh密钥的方式链接。> 输入 ssh {用户名}@192.***.**.***:22 -A。> 连接后输入密码之后就成功连接上了。
2024-08-16 16:25:40
666
原创 预训练后的模型加载方法pckl文件
图片的问题:暗场,照明光不进入相机镜头,检测反射光;明场,照明光进入相机镜头暗场对应的像素和实际的倍率不确定明场的倍率相对确定,暗场由于光线非直射,缺陷成像的形状和尺寸不能保证。
2024-07-25 15:04:19
257
原创 python项目环境管理 conda常用命令
conda config --set auto_activate_base false //设置conda的默认环境。conda create --name myenv python=3.8//创建指定python版本的新环境。conda env list或者 conda info --envs//列所所有的虚拟环境。conda create --name myenv//创建新的环境。conda config --show//查看conda配置信息。conda activate myenv//激活环境。
2024-07-18 11:23:58
585
原创 缺陷检测总结
图像分类的方式进行处理缺陷检测,即判断图像窗口内是否为缺陷,或者属于哪一类缺陷,目标检测可以一次性检测出却显得类别,位置和大小,缺陷的位置和大小可以用Bounding box进行描述,进一步使用图像语义分割找出背景中可能存在的区域,并输出像素级得缺陷边界。缺陷检测检测主要功能是从特征图重识别缺陷,并对缺陷进行分类和定位,根据表现缺陷检测算法的任务目标和实现原理,可以分为:模板匹配,图像分类,目标检测,图像语义分割和异常检测。1.1、基于表征学习的缺陷检测模型:分类网络,检测网络,分割网络;
2024-07-11 18:38:28
657
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人