自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (1)
  • 收藏
  • 关注

原创 OpenCV--项目:虚拟计数器

【代码】OpenCV--项目:虚拟计数器。

2024-12-13 13:50:14 421

原创 OpenCV--图像拼接

【代码】OpenCV--图像拼接。

2024-12-13 13:49:18 959

原创 OpenCV--图像查找

【代码】OpenCV--图像查找。

2024-12-13 13:48:21 587

原创 OpenCV--特征匹配

【代码】OpenCV--特征匹配。

2024-12-10 21:21:14 328

原创 OpenCV--特征检测

【代码】OpenCV--特征检测。

2024-12-10 21:20:01 443

原创 说说Dropout机制?

Dropout是一种神经网络训练技术,旨在通过随机地“丢弃”或屏蔽一部分神经元来减少过拟合。在训练过程中,每个神经元都有一定的概率被随机选择并屏蔽,这些被屏蔽的神经元在前向传播和反向传播时都不起作用。

2024-10-29 13:57:16 517

原创 OpenCV--车辆数量统计/人流量统计实战

【代码】OpenCV--车辆数量统计/人流量统计实战。

2024-10-09 10:04:11 690

原创 说说特征检测?

提取图像信息,决定每个图像的点是否属于一个图像特征。特征检测的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域特征是唯一的、可追踪的、能比较的–角点。

2024-10-08 15:54:16 501

原创 说说最小二乘法?

最小二乘法(Least Squares Method,又称最小平方法)是一种数学优化技术,它通过最小化误差(即观测值与模型预测值之间的差)的平方和来寻找数据的最佳函数匹配。这种方法在回归分析、曲线拟合、机器学习等领域有着广泛的应用。

2024-10-08 14:50:12 389

原创 模型压缩的方法?

模型压缩是一个重要的讨论话题,因为它直接关系到模型在实际应用中的效率和部署能力。模型压缩的主要目的是在保持模型性能的同时,减少模型的参数量和计算量,从而加快推理速度、降低存储需求,使得模型能够在资源受限的设备上运行。

2024-10-07 19:43:17 524

原创 交叉熵的数学推导和手撕代码

【代码】交叉熵的数学推导和手撕代码。

2024-10-06 20:48:04 422

原创 调取api和本地部署llm使用上的优劣?

调取api和本地部署llm使用上的优劣调取API的优势:调取API的劣势:本地部署LLM的优势:本地部署LLM的劣势:调取API的优势:方便快捷:通过API调用大型语言模型,可以迅速集成到现有的应用程序或服务中,无需担心模型的部署和维护问题。灵活性高:用户可以根据需要随时调整API调用的参数,实现不同的功能和效果。成本可控:对于小型项目或初创企业而言,使用云端的API服务可以降低成本,避免高昂的基础设施投资。持续更新:云端服务提供商会定期更新模型,用户无需自己进行模型训练和维护,即可享受到最新的

2024-10-05 19:21:17 1203

原创 说说Python中的 GIL和装饰器?

在这个示例中,my_decorator是一个装饰器函数,它接收一个函数func作为参数,并返回一个新的函数wrapper。优点:GIL的存在简化了Python的内存管理,避免了多线程编程中的许多复杂问题,如线程同步和互斥。装饰器是Python中一个非常强大的功能,它允许我们在不修改原有函数或类代码的情况下,给函数或类添加新的功能。使用支持并行计算的库:如NumPy、SciPy等,这些库内部实现了高效的并行计算机制,可以在不受GIL限制的情况下执行复杂的数学运算。性能监控:测量函数的执行时间等性能指标。

2024-10-04 19:35:17 417

原创 什么是梯度爆炸?什么是梯度消失?怎么解决?

梯度爆炸是指在神经网络训练过程中,梯度值变得非常大,超出了网络的处理范围,导致权重更新变得不稳定甚至不收敛的现象。由于反向传播算法中,各层之间的权重系数是通过导数来修正的,而当网络层数增多时,由于链式法则,当导数值小于1时(如sigmoid函数),越靠近输入层的导数越接近0,从而权重系数无法得到有效修正。选择合适的激活函数:例如ReLU函数,它在输入为正时梯度恒为1,有助于缓解梯度消失问题,但也要注意ReLU函数在输入为负时梯度为0可能导致“死神经元”问题。

2024-10-03 20:42:11 642

原创 如何给一张图像判断失真类型?

判断失真类型类型类型模糊失真:表现:图像细节不清晰,边缘模糊,整体看起来像是被一层薄雾笼罩。原因:可能是由对焦不准确、相机抖动、快门速度过慢或景深过浅等原因造成。判断方法:观察图像中的细节是否清晰,边缘是否锐利。如果整体模糊,且没有明显的几何形状变化,则可能是模糊失真。色彩失真:表现:图像中的颜色与原始场景的颜色不一致,出现偏色或色彩饱和度异常。原因:可能是由白平衡设置不当、光线条件变化、相机色彩传感器性能限制或后期处理过度等原因造成。判断方法:将图像中的颜色与参考颜色或实际场景进行对比

2024-09-30 21:29:37 1487

原创 说说图像开运算与闭运算?

开运算是先对图像进行腐蚀操作,再对腐蚀后的结果进行膨胀操作。其数学表达式为:Opening(A) = Dilation(Erosion(A)),其中A是输入图像,Erosion和Dilation分别表示腐蚀和膨胀操作。

2024-09-29 17:15:09 414

原创 什么是KAN网络?

KAN网络,全称为Kolmogorov-Arnold Networks,是一种新型的神经网络架构,其设计灵感来源于Kolmogorov-Arnold表示定理。该定理表明,多元连续函数可以表示为有限数量的单变量连续函数和二元加法运算的复合。KAN网络正是基于这一理论,旨在通过在网络边缘(即权重)上引入可学习的激活函数,来提高模型的灵活性和表达能力,同时保持模型的解释性。

2024-09-27 14:44:51 2654

原创 说说图像腐蚀与膨胀?

腐蚀操作类似于“领域被蚕食”,它会将图像中的高亮区域或白色部分进行缩减细化。在形态学操作中,腐蚀是通过一个结构元素(通常是一个小的矩阵或模板)对图像进行扫描,只有当结构元素完全包含在目标区域内时,才保留该结构元素中心对应的像素点,否则将其视为背景。

2024-09-24 19:28:51 259

原创 LN层和BN层的区别?

LN层,即层标准化层,是另一种归一化技术,它主要关注于对神经网络中某一层的所有神经元进行归一化处理。

2024-09-23 18:54:41 840

原创 CPU和GPU运行的差别在哪里?

GPU则是被动运行的,在接收到CPU指派的任务后才开始工作,并在任务完成后进入休眠状态等待下一个任务。由于GPU需要处理大量的并行计算任务,其能耗通常比CPU高。在成本方面,高端GPU的价格往往比同等级的CPU更高,但在需要高性能图形处理或并行计算的应用中,GPU的投资回报率可能更高。GPU的计算能力则主要体现在其并行处理能力上,能够同时处理成百上千个计算任务,因此在处理大量数据时具有显著优势。CPU主要负责执行复杂的计算任务,特别是那些需要高逻辑处理能力的任务,如操作系统调度、应用程序执行等。

2024-09-22 11:10:18 526

原创 介绍一下大模型或者多模态?

大模型,通常指的是在深度学习领域,具有大规模参数和复杂结构的模型。这些模型往往需要大量的计算资源和数据进行训练和推理。大模型因其强大的表示能力和泛化性能,在多个领域展现出了显著的优势。

2024-09-21 20:23:04 773

原创 反转字符串中的单词--力扣151

题目的难点在于首先要清除多余的空格,并且单词之间要留一个空格,首单词前和末尾单词后不能有多余空格。我们使用双指针去除所有的空格,然后在处理完一个单词后手动加一个单词。具体思路是当快指针不等于空格时,赋值给慢指针,然后快慢指针同时移动,当快指针等于空格时,慢指针不动,快指针循环移动,一直循环到不等于空格时,继续上述操作。每当处理完一个单词,此时慢指针手动加一个空格,已满足每个单词之间要有一个空格的要求。其次需要翻转,我们首先将s所有的字符整体翻转过来,然后逐个翻转单词。

2024-09-20 20:51:47 306

原创 什么是损失函数?常见的损失函数有哪些?

损失函数(Loss Function),也称为误差函数,是机器学习和深度学习中的一个重要概念。它用于衡量模型预测结果与真实结果之间的差异或误差。简单来说,损失函数是一个数值评估指标,通过比较模型输出和真实标签之间的差异,来评估模型的预测性能。

2024-09-20 19:13:11 941

原创 介绍一下常用的激活函数?

死神经元:当神经网络中的某些神经元在训练过程中始终不被激活,即其输出值始终接近于零,这些神经元就被称为“死神经元”。与Sigmoid函数类似,也存在梯度消失问题,但相对于Sigmoid函数,其输出范围更大,有利于梯度的传播。Leaky ReLU是ReLU的一个变体,在输入为负时给予一个小的非零斜率,避免了“死神经元”问题。在正区间内解决了梯度消失问题,但在负区间内梯度为0,可能导致“死神经元”问题。将一组数值转换为概率分布,即所有输出的和为1,且每个输出都在(0,1)之间。当输入为负时,输出为0。

2024-09-19 21:18:54 1358

原创 反转字符串 II--力扣541

让i每次跳2k,成为每一次循环的起点,再进行判断,如果i + k <= s.size(),说明剩余字符小于 2k 但大于或等于 k 个,所以反转前 k 个字符。否则说明剩余字符少于 k 个,则将剩余字符全部反转。本题的关键在于理解每隔 2k 个字符的前 k 个字符进行反转,剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符。并且剩余字符少于 k 个,则将剩余字符全部反转。

2024-09-18 20:57:47 384

原创 图像直方图

【代码】图像直方图。

2024-09-18 19:12:18 440

原创 梯度的定义是什么?一阶梯度、二阶梯度对应的优化器是什么?

梯度的定义主要出现在多元函数的微分学中,是一个向量场,表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。

2024-09-18 16:19:51 1236

原创 Docker和anaconda的区别?

Docker,它是一个开源的应用容器引擎,就像是一个超级轻便的箱子,可以把应用和它需要的所有环境打包在一起。这样,不管在哪里运行,只要打开这个箱子,应用就能以相同的方式运行,超级方便的!而Anaconda呢,它是一个开源的Python发行版,Anaconda不仅仅是一个Python包管理器,它更像是一个科学计算和数据科学的环境管理器。

2024-09-14 23:11:30 1287

原创 四数之和--力扣18

四数之和的双指针解法是两层for循环nums[i] + nums[j]为确定值,依然是循环内有left和right下标作为双指针,找出nums[i] + nums[j] + nums[left] + nums[right] == target的情况。nums[i+ 1]是j,nums[j+1]是left,这些都是要去重的,所以我们考虑nums[i-1]和nums[j-1]。比如:数组是[-4, -3, -2, -1],target是-10,不能因为-4 > -10而跳过。

2024-09-13 21:07:59 605

原创 什么是卷积层、池化层、BN层,有什么作用?

卷积层是CNN中的核心组件,它通过卷积运算对输入数据进行特征提取。卷积层由多个卷积单元组成,每个卷积单元的参数通过反向传播算法优化得到。

2024-09-13 15:48:33 1071

原创 什么是过拟合和欠拟合?怎么解决?

过拟合是指在机器学习或深度学习中,模型在训练数据上表现过于优异,几乎能够完美地拟合训练数据,但在未见过的测试数据上表现却较差的现象。这通常是因为模型过度学习了训练数据中的噪声和细节,而未能捕获到数据的通用规律。

2024-09-12 16:55:05 506

原创 三数之和--力扣15

对a去重:当i大于0并且nums[i] == nums[i - 1]时,说明a重复了,直接结束本次循环。i等于0时,是第一次,所以不用去重。题目要求三元组不能重复,如果使用哈希表来做,去重很复杂,而且需要额外的空间,我们这里使用双指针法直接针对数组操作。对b和c去重:在保证循环体条件right > left情况下,类似于a,判断b的后一个和c的前一个是否有重复的,如果有,b++或者c–。最重要的是,我们要对数组进行排序,排序后若数组中,第一个元素大于零,则后续不可能存在和等于零的三元组。

2024-09-11 17:43:07 855

原创 说说深拷贝和浅拷贝?

浅拷贝是指创建一个新的对象,但它包含的是对原始对象中包含的元素的引用(或指针)。这意味着,如果原始对象中的元素是可变的,那么通过浅拷贝得到的新对象中的相应元素也会发生变化,因为它们实际上指向的是同一块内存地址。

2024-09-11 15:07:49 546

原创 赎金信--力扣383

赎金信题目思路一方法一:哈希表思路二方法二 数组题目思路一我们使用哈希表map的思路,A能不能由B组成,说明B包含的元素个数要大于等于A。所以我们先利用map的key和value分别对magazine中的出现的字符以及出现的次数存储起来。然后我们去ransomNote中找对应的字符,每找到一次且value值大于零,就让value值减一。如果没找到或者value值小于零,直接返回false。方法一:哈希表class Solution {public: bool canConstru

2024-09-10 20:34:16 516

原创 说说相机标定?

相机标定是指通过对相机进行一系列的参数测量和计算,来确定相机的内部参数(如焦距、主点坐标、畸变系数等)和外部参数(如相机的位置、姿态和方向等),从而建立相机成像的几何模型。这一过程的目的是提高图像处理的精度和准确性,确保从图像中获取的信息能够真实地反映实际场景。

2024-09-10 19:27:13 928

原创 四数相加 II--力扣454

接下来我们去后两个数组中查找0-(c+d),因为a+b=0-(c+d),如果能够找到,说明在这四个数组中存在a+b+c+d=0,那么上述统计的a+b出现的次数即为元组个数,我们用count累计一下,然后继续遍历。要使得a+b+c+d=0,我们首先利用map在前两个数组中统计a+b的值以及该值出现的次数。我们需要统计元组的个数,并且不需要排序和去重,所以选择哈希表unordered_map。

2024-09-09 16:55:04 505

原创 什么是图像的边缘?说说边缘检测的任务以及基本原理?

图像的边缘是图像中亮度、颜色或纹理等特征发生急剧变化的地方,这些变化通常代表了图像中不同对象的边界。边缘检测是图像处理中的一个重要环节,它对于图像分割、图像识别、图像压缩等领域都有着广泛的应用。在数字图像中,边缘通常是通过计算图像中每个像素点与其邻域像素点的差异来检测的。这些差异可以通过各种边缘检测算子来量化,如Sobel算子、Prewitt算子、Roberts算子、Canny算子等。

2024-09-09 14:41:57 1007

原创 两数之和--力扣1

所以我们在循环中,使用目标值减去当前循环的nums[i],得到差值,如果我们在map中能够找到这个差值,就说明存在两个整数的和为目标值。根据题目要求,元素不能重复且不需要排序,我们这里使用哈希表unordered_map。注意题目说了只对应一种答案。如果没有找到,就将当前循环的nums[i]以及下标i放入map中,以便后续查找差值。

2024-09-08 19:57:19 513

原创 介绍一下传统的图像处理算法?

包括低通滤波器(允许低频通过)、高通滤波器(允许高频通过)、带通滤波器(允许一定范围的频率通过)、带阻滤波器(允许一定范围的频率通过并阻止其他频率通过)、全通滤波器(允许所有频率通过,只改变相位)和陷波滤波器(阻止一个狭窄频率范围通过)。其中,Canny边缘检测是一种非常流行的算法,它通过多阶段处理(如图像降噪、计算梯度、非极大值抑制和双阈值筛选)来提取图像的边缘信息。直方图均衡化是一种用于改善图像对比度的技术,它通过重新分配图像的亮度值,使图像的直方图分布更加均匀,从而增强图像的视觉效果。

2024-09-08 16:48:18 1200

原创 优化器有哪些,原理是什么?

优化器有哪些,原理是什么?优化器有哪些,原理是什么?优化器有哪些,原理是什么?随机梯度下降(SGD, Stochastic Gradient Descent)原理:SGD每次从训练集中随机选取一个小批量(mini-batch)样本,然后计算这个小批量样本的损失函数,通过反向传播计算梯度,并沿着梯度的反方向更新参数。特点:计算效率高,适用于大规模数据集。但对参数较为敏感,需要较好的初始化。容易陷入局部最小值,且每次更新方向波动较大。RMSprop原理:RMSprop是一种自适应学习率方法,

2024-09-07 19:58:32 440

沉浸式谷歌翻译插件,crx,0.6.19版本

在谷歌浏览器开发者模式直接拖进去即可

2023-07-12

超市收银系统(java+jdbc)

java语言描述 mysql数据库

2020-12-20

空空如也

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

TA关注的人

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