- 博客(100)
- 收藏
- 关注
原创 提高机器视觉检测精度的7种方法,一定要牢记!
如果条件不允许实际测试观察,一般的规律是,如果使用正面打光,有效像素为1个,使用背光,有效像素为0.5个。视觉检测设备不稳定因素:机器视觉软件**机器视觉软件稳定性对机器视觉技术的影响不容置疑,视觉识别系统终究会在电子计算机上利用计算机选用有目的性的优化算法开展图像滤波,边缘检测和边沿获取等一系列图象处理,不一样的图象处理和解析方式及其不一样的检验方式与计算方法,都是产生不一样的偏差,优化算法好坏决策精确测量精度的高低,因此,需要选择合适的机器视觉软件,这样才可以避免视觉检测设备精度变低。
2025-10-19 23:21:06
289
原创 深度学习中GPU和显存分析
显存占用和GPU利用率是两个不一样的东西,显卡是由GPU计算单元和显存等组成的,显存和GPU的关系有点类似于内存和CPU的关系。显存可以看成是空间,类似于内存。GPU计算单元类似于CPU中的核,用来进行数值计算。深度学习最吃硬件,耗资源,在本文,我将来科普一下在深度学习中:何为“资源”不同操作都耗费什么资源如何充分的利用有限的资源如何合理选择显卡并纠正几个误区:显存和GPU等价,使用GPU主要看显存的使用?Batch Size 越大,程序越快,而且近似成正比?显存占用越多,程序越快?
2025-09-27 20:42:34
805
原创 工业缺陷检测中数据标注需要注意的几个事项
模型一般都对小目标不敏感,除非采用比较好的trick,就拿YOLOv4来说,到第三次下采样的特征图才拿去后面做检测,也就是在原图上最小都有8个像素,才能在特征图上体现为1个像素。有人会杠了,那我的目标就是小目标啊,小哥,我说了,另外还有很多trick的,不在本文讨论范围,打标签这个环节你要么打大点,要么不要打,或者把局部区域放大成大图,再打标签,不然送到模型里头,也是没用的。另外,需要多说一句,跟标注无关的。在工业场景中,网络结构决定了下限,数据决定着上限,要想模型有好的表现,数据是至关重要的。
2025-09-27 20:42:03
294
原创 5分钟吃透图像特征提取!内核-网络层-池化-块全拆解
本文围绕图像特征提取展开,介绍了四大核心技术:一是内核,含手工设计(如浮雕、恒等)与可学习类型,还给出彩色图像多通道处理代码;二是网络层,以 VGG19 为例,对比从零训练与预训练模型,指出早期层提通用特征、深层提任务相关高级特征;三是池化,详解最大、最小、平均三种类型及不同内核尺寸效果;四是块结构,介绍 VGG 风格 “2-3 个卷积层 + 1 个池化层” 设计,以保留特征丰富度。
2025-09-21 11:28:24
625
原创 如何通俗理解扩散模型?
我们看回生成模型到底是个啥。我们拿到一批 sample(称为 ), 想要用 学到它的分布 , 这样就能同时学到没被 sample 到的数据了, 用这个分布 就能随意采样, 然后获得 生成结果。但是这个分布九曲回肠, 根本不可能直接获得。所以绕个弯, 整一个隐变量 , 这东西可以生成。不妨假设 满足正态分布, 那就可以先从正态分布里面随便取一个 , 然后用 和 的关系算出。
2025-09-17 12:00:40
590
原创 周志华教授:如何做研究与写论文?
来源 | 周志华教授报告PPT每个人从本科到硕士,再到博士、博士后,甚至工作以后,都会遇到做研究、写论文这个差事。论文通常是对现有工作的一个总结和展示,特别对于博士和做研究的人来说,论文则显得更加重要。那么该如果做突出研究,并写出高水平的论文呢?****本文整理了著名人工智能学者教授《做研究与写论文》的PPT(时间比较早,但方法永远不会过时)。其详细介绍了关于为什么要做研究?
2025-09-17 11:59:56
236
原创 刚刚,OpenAI发长篇论文:大模型幻觉的原因找到了
OpenAI 表示:我们希望本文中的统计学视角能够阐明幻觉的本质,并纠正一些常见的误解:误解1:通过提高准确性可以消除幻觉,因为一个 100%准确的模型永远不会产生幻觉。发现:准确性永远无法达到100%,因为无论模型规模如何,搜索和推理能力怎样,一些现实世界的问题本质上是无法回答的。误解2:幻觉是不可避免的。发现:幻觉并非不可避免,因为语言模型在不确定时可以选择不作答。误解3:避免幻觉需要一定程度的智能,而这种智能只有通过更大的模型才能实现。发现:小型模型可能更容易了解到自身的局限性。
2025-09-14 12:45:30
893
原创 如何给模型加入先验知识
先总结一下所有可以有效的加入先验信息的框架:你可以通过上述框架的选择来加入自己的先验信息。给神经网络的黑盒子里面加入一些人为设定的先验知识,这样往往能给你的task带来一定程度的提升,不过具体的task需要加入什么样的先验知识,需要如何加入先验知识还需要自己探索。
2025-09-10 13:47:53
693
原创 实践教程|GPU利用率低常见原因分析及优化
本文的 GPU 利用率主要指 GPU 在时间片上的利用率,即通过 nvidia-smi 显示的 GPU-util 这个指标。统计方式为:在采样周期内,GPU 上面有 kernel 执行的时间百分比。
2025-03-28 23:01:11
1390
原创 YOLOv8-v12的评估指标转为COCO评估指标详细过程
在学术界与工业界,COCO指标因其标准化和多粒度评价能力(如小目标检测AP_s、中等目标AP_m等)被广泛采纳为通用基准。希望能给各位小伙伴带来帮助。
2025-03-28 23:00:28
1497
原创 使用傅里叶变换进行图像边缘检测
如前所述,在经过FFT变换的图像中,在中心处发现低频,而在周围散布了高频,我们可以创建一个掩码数组,该掩码数组的中心是一个圆,其余全部为零。例如,首先通过叠加具有不同频率的两个或更多个正弦函数而生成信号f(x),之后,仅查看f(x)的图像缺无法了解使用哪种或多少原始函数来生成f(x)。从图中可以看出,由于原始函数是由两个不同频率的输入函数组成的,因此经过傅立叶变换后的相应频率图显示了两个不同频率的尖峰。例如下图,该图中有f(x)函数合成时的两个不同频率的原函数和对应的傅里叶变换结果F(x)。
2025-01-19 16:29:46
777
原创 深度学习中的特征到底是什么?
如何想让网络模型生成的图像具有更多的边缘纹理信息,除了损失函数数用sobel作边缘损失以外,最。常见的图像特征,如sobel边缘算子,提取出来的是图像的边缘特征信息,表示的是图像中像素有突。如何设计损失函数,直接作L1L2损失,加个鉴别器(网络)是概率分布相关的损失,加个深度检测。网络是检测目标显著性的损失,加个语义分割+网络是检测语义信息的损失。以上,有图像、边缘、概率分布等信息域,因为损失是没办法完全为0的,只能尽可能的趋近于,因。VGG19的感知损失+是将图像在VGG19的不同层次的特征上趋于一致。
2024-12-24 21:01:58
577
原创 Transformer的细节到底是怎么样的?连环18问!
为什么是512*512?从输入输出角度,N个Transformer Encoder block中的第一个Encoder block的输入为一组向量 X = (Embedding + Positional Embedding),向量维度通常为512*512,其他N个TransformerEncoder block的输入为上一个 Transformer Encoder block的输出,输出向量的维度也为512*512(输入输出大小相同)。在Test阶段,下一个时刻的输入时是前一个时刻的输出,如图9所示。
2024-12-22 15:19:48
1000
原创 fatal error:boostdesc_bgm.i:no such file or directory
解压后把所有文件复制粘贴到ubuntu文件夹:opencv/opencv_contrib/modules/xfeatures2d/src。下面,重新编译:sudo make -k。
2024-12-01 23:48:04
298
原创 OpenCV编译make过程踩坑日记
不管你cpu几核,还是老老实实用make命令比较好。当然也可以一开始使用-j,说不定运气好可以一遍过。也可以第一遍用make -j6 -k,这样-k就能够让编译出现问题时不中断,直到程序完全编译完成。第二遍就能减少很多依赖问题,这样重复几遍就能完成全部编译任务。编译时最好不要用make -j,这样容易造成依赖冲突,也就是线程2需要编译好的A文件,而负责编译A文件的线程2还没完成,因此线程2编译失败。总之这种基于玄学的多线程命令还是少用为好。当然Nvidia官方还是建议用单线程更安全一些。
2024-12-01 16:35:34
192
原创 自动帮你完成物体检测标注?这个工具你必须了解一下
首先,我们将仔细查看数据,这可以帮助我们发现问题(例如,对象彼此太近,或照明条件与我们想象的不同)并确定模型约束。除此之外,数据集的简化版本通常用于超参数调整和神经架构搜索,因此这可能是尝试找到最适合我们的问题的模型配置的好时机。如果我们使用此工具生成的全新标签重新训练我们的初始模型,我们将假设监督很弱,因为我们会在标签/注释中发现一些噪音。如果一切正常,我们将看到数据集注释的进度条。也就是说,一旦我们标注了一些图像并训练了一个初始模型,我们就可以使用自动注释工具来加速我们数据集的其余部分的这个过程!
2024-11-30 14:10:01
703
原创 一文让你通俗理解奇异值分解
奇异值分解是一个有着很明显的物理意义的一种方法,它可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。假设A是一个N * M的矩阵,那么得到的U是一个N * N的方阵(里面的向量是正交的,U里面的向量称为左奇异向量),Σ是一个N * M的矩阵(除了对角线的元素都是0,对角线上的元素称为奇异值),V’(V的转置)是一个N * N的矩阵,里面的向量也是正交的,V里面的向量称为右奇异向量),从图片来反映几个相乘的矩阵的大小可得下面的图片。如下是一张25*15的图像。
2024-11-27 21:17:19
929
原创 Failed to build insightfaceERROR: ERROR: Failed to build installable wheels for some pyproject.toml
下载与自己版本匹配的whl包。
2024-10-14 17:17:48
733
原创 特征提取:传统算法 vs 深度学习
特征点是图像中梯度变化较为剧烈的像素,比如:角点、边缘等。FAST(Features from Accelerated Segment Test)是一种高速的角点检测算法;而尺度不变特征变换SIFT(Scale-invariant feature transform)仍然可能是最著名的传统局部特征点。也是迄今使用最为广泛的一种特征。特征提取一般包含特征点检测和描述子计算两个过程。
2024-10-13 11:39:21
2024
1
原创 TGRS 2024 面向雾天遥感图像的定向目标检测算法
目前,大量工作集中在航空目标检测上,并取得了良好的结果。尽管这些方法在传统数据集上取得了有希望的结果,但在恶劣天气条件下捕获的低质量图像中定位对象仍然具有挑战性。目前,结合航空目标检测和雾天条件的方法有限,并且很少有基于真实雾天天气的航空图像的公开可用数据集。为此,我们提出了一个数据集HRSI,真实世界中的雾天遥感图像,主要分为三类:机场、大型车辆和船只。HRSI中的所有图像都来自真实的雾天条件。此外,我们提出了一个目标检测模型DFENet,适用于雾天的雾天遥感图像的去雾特征增强模型。
2024-10-13 11:38:46
1337
原创 神经网络训练不收敛或训练失败的原因总结
对数据扩增也能够实现正则化的效果,最好的避免过拟合的方法就是有大量的训练数据。如果只是validate set上不收敛那就说明overfitting了,这时候就要考虑各种anti-overfit的trick了,比如dropout,SGD,增大minibatch的数量,减少fc层的节点数量,momentum,finetune等。在自己训练新网络时,可以从0.1开始尝试,如果loss不下降的意思,那就降低,除以10,用0.01尝试,一般来说0.01会收敛,不行的话就用0.001. 学习率设置过大,很容易震荡。
2024-10-10 20:42:37
874
原创 来了,使用YOLOv11目标检测教程
*更少的参数,更高的准确度:**YOLO11m 在 COCO 数据集上实现了比 YOLOv8m 更高的 mAP,参数减少了 22%,提高了计算效率,同时不牺牲准确度。**注意:**在训练模型时,回顾 Ultralytics 文档中“训练设置”部分的参数是有益的。**增强的特征提取:**YOLO11 使用改进的主干和颈部架构来增强特征提取,以实现更精确的目标检测和复杂任务的性能。**针对效率和速度优化:**精细的架构设计和优化的训练流程在保持准确性和性能之间最佳平衡的同时,提供更快的处理速度。
2024-10-08 13:33:35
2605
1
原创 详解Batch Normalization及其反向传播
这就意味着,在训练过程中,随着某一层分类器的参数的改变,其输出的分布也会改变,这就导致下一层的输入的分布不稳定。正向过程的参数x是一个mini-batch的数据,gamma和beta是BN层的参数,bn_param是一个字典,包括 的取值和用于inference的 和 的移动平均值,最后返回BN层的输出y,会在反向过程中用到的中间变量cache,以及更新后的移动平均。除此之外,一般的神经网络的梯度大小往往会与参数的大小相关(仿射变换),且随着训练的过程,会产生较大的波动,这就导致学习率不宜设置的太大。
2024-10-08 13:33:04
1077
原创 什么是目标检测中的旋转敏感度错误?
当角度达到其范围边界时,损失值将会跳跃,如图,将水平矩形分别顺时针和逆时针旋转1度,得到地面真值框和检测框。参考矩形的位置只是略有变化,但它的角度变化很大,高度和蓝色、红色和绿色的矩形分别代表参考框、真实框和预测框。上述三个框用五个参数来描述:参考框(0,0,10,25,-90°)、真实框(0,0,25,10,-1°)和预测框(0,0,10,25,-89°)。网络预测的偏移量为(0 , 0 , 0 , 0 , 1 ° ) ,将参考框转为预测框。
2024-10-08 13:32:23
778
原创 自动驾驶 车道检测实用算法
直方图应该有两个尖峰,各代表一条车道线,左边的尖峰是左边的车道线,右边的尖峰是右边的车道线。为了 正确的识别图像中的车道,首先需要消除图像中的径向偏差。在前面的各步骤中,我们进行了图像的二元阈值化和视角变换,最终获得一个黑白图像,其中白色的像素代表我们试图检测的车道线的部分。最后,利用两个检测到的车道线的位置,并假设摄像头位于图像的中心位置,可以计算出汽车相对于车道的位置。在上图中,最左边的图像显示了原始的失真图像,最右侧的图可以看出图像顶部的角度扭曲,中间的图像是经过摄像头校准后的未失真图像。
2024-10-07 09:54:33
2590
1
原创 工业缺陷检测深度学习方法
工业缺陷检测深度学习方法基于深度学习的工业缺陷检测方法可以降低传统人工质检的成本, 提升检测的准确性与效率, 因而在智能制造中扮演重要角色, 并逐渐成为计算机视觉领域新兴的研究热点之一. 其被广泛地应用 于无人质检、智能巡检、质量控制等各种生产与运维场景中. 本综述旨在对工业缺陷检测的任务定义、 难点、挑战、主流方法、公共数据集及评价指标等进行全面归纳, 以帮助研究人员快速了解该领域. 具 体而言, 本文首先介绍工业缺陷检测的背景与特点. 接着, 按照实际数据标注情况, 划分出缺陷模式已 知、缺陷模式未
2024-10-07 09:54:00
2049
原创 OpenCV:图像直方图计算
图像直方图为图像中像素强度的分布提供了有价值的见解。通过了解直方图,你可以获得有关图像对比度、亮度和整体色调分布的信息。这些知识对于图像增强、图像分割和特征提取等任务非常有用。本文旨在为学习如何使用 OpenCV 执行图像直方图计算提供清晰且全面的指南。通过理解和应用直方图分析技术,你可以提高图像质量、执行阈值操作、分析颜色成分、提取有用的特征以及更有效地可视化和理解图像。
2024-10-07 09:53:29
1910
原创 深入了解卡尔曼滤波:最优状态估计的数学神器
通过结合传感器数据,如激光雷达、摄像头和惯性测量单元(IMU),可以对目标位置、速度和方向进行估计,并实现高精度的导航和运动控制。其中x表示状态向量,z表示观测向量,F、H是状态转移矩阵和观测矩阵,B是控制矩阵,u是控制向量,w和v是系统和观测噪声。这些公式是卡尔曼滤波中关键的计算步骤,通过它们可以将预测的状态估计与实际观测值结合起来,从而更新并优化状态的估计值。在更新步骤中,我们将系统的测量值与预测的状态进行比较,从而校正状态估计值和协方差矩阵。线性动态模型:系统的状态转移和观测模型是线性的。
2024-10-07 09:52:54
651
原创 异常检测从入门到应用
关于上面模型训练部分,一般来说我们有个“验证集”来调节模型的超参数,在“训练集”中,所有的样本都是“正样本“且有各自的标签(如都是辛普森和他们的人物名字),而在”验证集“中就没必要每个样本都有其“人物标签”,只需要判断其“是否属于辛普森家族”就行了(两个标签:属于、不属于)。如下图的Testing阶段,对比原图和重构图,我们可以看到,编码器提取到的应该是“黄色”和“棕色”这两个特征,然而编码器用两个特征构建出来的图片,显然和原图相差甚远,这时候就可以识别为“异常值”。这一部分,就是得到了没有标签的数据。
2024-09-26 17:53:12
1034
原创 为什么算法这么难???
为什么算法这么难???广大码农同学们大多都有个共识,认为算法是个硬骨头,很难啃,悲剧的是啃完了还未必有用——除了面试的时候。实际工程中一般都是用现成的模块,一般只需了解算法的目的和时空复杂度即可。不过话说回来,面试的时候面算法,包括面项目中几乎不大可能用到的算法,其实并不能说是毫无道理的。算法往往是对学习和理解能力的一块试金石,难的都能掌握,往往容易的事情不在话下。志于高者得于中。反之则不成立。另一方面,虽说教科书算法大多数都是那些即便用到也是直接拿模块用的,但不幸的是,我们这群搬砖头的有时候还非得做些
2024-09-18 17:00:54
881
原创 几种常见的机器学习分类模型及代码实现
逻辑回归是一种广泛应用于分类问题的线性模型。它的基本思想是,将特征与权重相乘并加上偏置项,得到一个线性函数,然后将其转化为一个概率值,使用sigmoid函数将线性函数映射到[0, 1]区间,表示样本属于某个类别的概率。逻辑回归可以用于二分类问题和多分类问题,常用的优化算法包括梯度下降和牛顿法。
2024-09-17 12:05:01
730
原创 如何使用cmake打包C++项目
请注意,这只是一个基本的示例,对于更复杂的项目,可能需要更多的CMake配置,例如处理依赖关系、添加测试等。这将根据你配置的CPack生成器创建相应的安装包(如。等),其中包含了你的库文件和头文件。创建一个构建目录(例如。
2024-09-13 17:19:28
625
原创 经典CNN卷积神经网络架构全解析:LeNet、AlexNet、GoogleNet、ResNet、DenseNet
是深度学习中的一种神经网络架构,用于从结构化数组中识别模式。然而,多年来,。基本 CNN 架构的许多变体已经开发出来,从而为不断发展的深度学习领域带来了惊人的进步。下面,让我们讨论一下 CNN 架构是如何随着时间的推移而发展和成长的。
2024-09-06 10:57:53
1411
原创 深度学习Dataloader踩坑日记
dataloader的目的是将dataset这个类返回的image和标签的tensor进行打包,具体一个step传入多少个图片和标签是由batchsize决定的,而dataloader负责将返回的图片和标签的tensor进行打包放入trainer进行训练。而dataloader对tensor进行打包的前提就是tensor的大小必须是一样的,如果不一样就会报错。因此在传入图片时必须先对图片进行处理,将图片尺寸调整到指定范围。YOLO一般是对图片进行裁剪或填充,当然也可以对tensor进行操作。
2024-08-26 19:45:25
174
原创 AttributeError: module ‘cog‘ has no attribute ‘Predictor‘ #58属性错误:模块‘cog‘没有属性‘Predictor‘
pip install -e "git+https://github.com/replicate/cog.git@v0.0.20#egg=cog&subdirectory=python/"
2024-08-16 22:23:17
838
原创 解决OSError: [WinError 126] 找不到指定的模块。 Error loading “E:\Environment\Python\Python310\lib\site-packages
在卸载visio studio之后就出现一系列怪事,首先pytorch在import的时候就会报错缺少fbgemm.dll,然后我在网上搜了很多解决方案都没找到方法,最后只找到这一篇文章。2、把文件解压后的libomp140.x86_64.dll文件复制到C://windows/system32文件夹内即可。但这篇文章没有直接给出解决方案,还得自己去下载文件。所以我决定自己整理一下,把所有需要用到的文件都放在一起。1、先下载文件libomp140.dll。文件大小:315.5 K|
2024-08-13 15:57:18
1993
原创 基于OpenCV的图像梯度与边缘检测!
严格的说,梯度计算需要求导数。但是图像梯度的计算,是通过计算像素值的差得到梯度的近似值。图像梯度表示的是图像变化的速度,反映了图像的边缘信息。边缘是像素值快速变化的地方。所以对于图像的边缘部分,其灰度值变化较大,梯度值也较大;对于图像中较平滑的部分,其灰度值变化较小,梯度值也较小。为了检测边缘,我们需要检测图像中的不连续性,可以使用图像梯度来检测不连续性。但是,图像梯度也会受到噪声的影响,因此建议先对图像进行平滑处理。本文目录:1. 图像梯度与几种算子Sobel算子Scharr算子。
2024-08-03 11:35:09
1135
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅