- 博客(111)
- 收藏
- 关注
原创 SIFT特征匹配实战:KNN算法实现指纹认证
本文介绍了一种基于SIFT特征和KNN匹配的图像认证方法。通过创建SIFT特征提取器检测关键点并计算描述符,利用FLANN匹配器进行K近邻匹配,应用Lowe's比率测试筛选优质匹配点。当匹配点数量超过阈值(如500)时判定为认证通过,否则失败。方法实现了图像的特征提取、匹配和可视化功能,适用于指纹等图像认证场景。核心代码包括SIFT特征提取、KNN匹配和匹配结果判定三个主要步骤。
2025-09-12 19:44:39
1279
原创 图像投影(透视)变换
摘要:本文介绍了使用OpenCV对倾斜票据图像进行自动矫正的方法。通过轮廓检测、多边形近似和坐标变换,实现了将倾斜图像转为正面视角的功能。关键步骤包括:1)图像预处理(灰度化、二值化);2)寻找最大轮廓并近似为四边形;3)通过坐标计算确定四个角点;4)使用透视变换矩阵进行图像矫正。文章详细讲解了核心函数实现,包括坐标点排序(order_points)、四点变换(four_point_transform)等,并提供了形态学处理优化结果的示例。该方法有效解决了票据图像因拍摄角度导致的倾斜问题。
2025-09-11 21:17:47
684
原创 opencv特征检测
本文介绍了两种图像特征检测方法:Harris角点检测和SIFT特征检测。Harris角点检测通过分析窗口滑动时像素灰度变化来识别角点,使用OpenCV实现并标记出角点位置。SIFT特征检测则具有尺度、旋转不变性等特点,通过创建SIFT对象、查找关键点并绘制特征点,可获取关键点的坐标、大小、方向等信息。两种方法分别适用于不同的图像特征检测场景,SIFT尤其适合需要稳定特征的复杂图像匹配任务。
2025-09-11 20:47:18
594
原创 图像直方图
本文介绍了图像直方图的绘制方法,包括灰度图和彩色图的像素值分布统计。通过OpenCV读取图像,使用matplotlib绘制直方图,展示了如何计算各颜色通道的像素分布。同时说明了掩膜的使用方法,通过创建二值掩膜与图像进行位运算,可以提取特定区域的像素信息。最后提及了掩膜可以设置为轮廓形状,用于提取图像轮廓区域的特征。这些技术为图像分析和处理提供了基础工具。
2025-09-10 09:25:40
277
原创 你知道zip()和zip(*)怎么用吗?
本文介绍了Python中zip()函数的用法。zip()可以将两个数组对应位置的元素组合成元组,如将q和w数组zip后得到(1,1)、(2,2)等元组组合。而zip()则是逆操作,能将已zip的组合重新拆分成原始数组。示例中先演示了zip的打包功能,再展示zip()的拆分功能,直观展示了这两个操作互为逆过程的特点。zip在处理并行迭代时非常实用,可以方便地进行数据配对和拆分操作。
2025-09-09 20:37:49
395
原创 关于np.where(a>10),你知道怎么用吗?
从上面我们可以看到这个np.where返回的是位置信息。一维的就返回一维度,也就是那一个所在的位置。在原本的多目标轮廓匹配案例中得到的结果就是就是那个的左上角的坐标信息。二维的就返回那个的位置。这里用一个例子来讲明白。
2025-09-09 20:31:14
297
原创 多目标轮廓匹配
本文介绍了如何通过模板匹配检测图片中多个不同方向的箭头目标。首先通过cv2.matchTemplate()进行匹配,使用阈值筛选匹配度较高的结果。针对不同方向的箭头,采用np.rot90()对模板进行顺时针和逆时针90度旋转后再次匹配,最终在原图上用矩形框标记出所有匹配结果。该方法通过旋转模板实现多角度匹配,解决了单一方向模板无法检测不同方向目标的问题。
2025-09-09 20:17:23
678
原创 图像金字塔---图像上采样下采样
该文章介绍了图像金字塔处理中的下采样和上采样操作。通过OpenCV的cv2.pyrDown()和cv2.pyrUp()函数实现图像尺寸的缩小与放大,并指出上采样会导致图像变模糊。重点讲解了拉普拉斯金字塔的原理:通过原图减去下采样后再上采样的图像得到差值图像,将其与处理后的图像相加即可恢复原图。文章包含完整的Python代码示例,展示了高斯金字塔和拉普拉斯金字塔的具体实现过程。
2025-09-09 19:53:28
545
原创 基于OpenCV的银行卡号识别系统:从原理到实现
本文介绍了一个基于Python和OpenCV的银行卡号识别系统。系统采用计算机视觉技术处理银行卡图像,通过灰度转换、二值化、轮廓提取和排序等预处理步骤,结合自定义工具函数优化处理流程。核心技术包括:1)模板处理,建立数字特征库;2)图像形态学处理增强数字特征;3)三重循环实现数字区域定位和模板匹配。该系统能准确识别卡号并判断卡类型,展现了传统CV技术在金融科技中的实用价值,具有扩展到其他卡证识别场景的潜力。
2025-09-08 23:08:35
1355
原创 迁移学习-ResNet
ResNet迁移学习深度解析:原理与实践 本文系统介绍了ResNet架构的核心思想及其在迁移学习中的应用优势。ResNet通过残差块和跳跃连接解决了深度网络训练难题,结合迁移学习可显著减少数据需求和计算资源。文章详细阐述了三种迁移学习策略的选择指南,并提供了基于PyTorch的实践代码示例,包括模型加载、结构调整、参数冻结等关键步骤。特别以食物分类任务为例,展示了不同ResNet版本的性能对比。最后总结了学习率设置、过拟合处理等进阶技巧,展望了自动化迁移学习等未来发展方向。ResNet迁移学习已成为解决计算
2025-09-05 22:11:31
1248
原创 ResNet(残差网络)-彻底改变深度神经网络的训练方式
ResNet(残差网络)是2015年提出的突破性CNN架构,通过引入残差块和跳跃连接解决了深层网络的梯度消失/爆炸问题。其核心思想是在网络层间添加恒等映射,保留原始特征以防止训练退化。本文分析了梯度问题的三种成因(激活函数、深度、初始权重),并展示了ResNet的PyTorch实现代码,包括残差块设计、网络结构及训练过程。实验在MNIST数据集上验证了模型性能,通过损失曲线和准确率图表证明了残差连接的有效性。该架构不仅提升了图像任务表现,还被成功应用于NLP领域。
2025-09-04 23:05:31
514
原创 深度学习中的图像强化
摘要:针对训练数据不足的问题,可通过图像增强技术扩充数据集。本文采用PyTorch的transforms模块对训练图像进行多种变换处理,包括随机旋转(±45度)、中心裁剪(256x256)、水平/垂直翻转(概率50%)、颜色抖动(亮度20%,对比度/饱和度/色调各10%)和随机灰度化(概率10%)。测试集仅进行基础处理(缩放和标准化)。这种增强策略能有效提高模型泛化能力,使训练准确率持续提升并突破无增强时的上限。实验表明,多样化增强能帮助模型学习更鲁棒的特征表达。
2025-09-03 16:04:08
574
原创 如何保存训练的最优模型和使用最优模型文件
本文介绍了PyTorch中两种模型保存与加载的方法:1)仅保存模型参数(state_dict),使用时需先定义相同网络结构再加载参数;2)保存完整模型,可直接加载但需保证网络定义一致。代码展示了如何在训练过程中通过测试准确率选择最优模型进行保存,并提供了完整的CNN网络实现、数据预处理流程及测试函数。关键点包括:使用eval模式进行测试、两种保存方式的调用区别、以及完整的训练-测试循环实现。文章还包含了数据增强、自定义数据集类和设备选择等实用技巧。
2025-09-03 15:44:51
449
原创 深度学习之卷积神经网络——代码实现
本文介绍了一个基于PyTorch实现的卷积神经网络(CNN)用于MNIST手写数字识别任务。网络结构包含三个卷积块(conv1-3),每个块由卷积层、ReLU激活函数和池化层组成,最后通过全连接层输出分类结果。实验结果表明,该CNN模型仅训练一次就能达到97.56%的准确率,训练15轮后准确率可达99.14%,显著优于全连接神经网络。代码部分完整展示了数据加载、模型定义、训练和测试流程,包括使用DataLoader进行批处理、交叉熵损失函数和Adam优化器等关键组件。该模型充分利用了卷积神经网络在图像处理中
2025-08-30 22:09:56
571
原创 opencv实现轮廓绘制和选择
本文介绍了使用OpenCV进行图像轮廓识别的基本方法。首先通过二值化处理增强图像对比度,然后使用findContours函数获取轮廓信息。主要内容包括:1)轮廓绘制与面积计算;2)基于面积筛选轮廓;3)绘制轮廓的外接圆和矩形;4)轮廓近似处理。其中,重点讲解了如何通过contourArea函数计算轮廓面积,并基于面积筛选特定轮廓;演示了minEnclosingCircle和boundingRect方法获取外接形状;最后介绍了approxPolyDP函数实现轮廓近似。这些方法为后续图像识别和分析奠定了基础。
2025-08-30 21:38:19
1005
3
原创 一文教会你什么是感受野
《卷积神经网络中感受野的全面解析》摘要:感受野是CNN特征图上单个像素对应输入图像的区域大小,其计算受卷积核、步长等参数影响。浅层网络感受野小,捕捉局部特征;深层网络感受野大,识别全局信息。感受野对网络设计至关重要,可通过堆叠小卷积核、空洞卷积等方法扩大。实际应用中,有效感受野往往小于理论值,呈高斯分布。理解感受野有助于平衡特征提取的全局与局部关系,指导模型设计优化。感受野是分析CNN工作原理和特征抽象层次的重要指标,直接影响模型的性能表现。
2025-08-28 22:43:49
1162
原创 卷积核尺寸如何计算?
摘要:使用5×5卷积核、填充2和步长1可保持特征图尺寸不变。小卷积核(3×3)适合浅层网络,计算高效;大卷积核(5×5/7×7)能捕捉全局特征但参数量大;1×1卷积用于通道调整。输入尺寸计算需考虑核大小、填充、步长及向下取整。不同卷积核适用于不同场景:小核用于基础特征提取,大核适合大尺度物体检测。
2025-08-28 22:35:47
440
原创 如何给我们直接创建的类加上索引?和len方法?
NumPy通过定义__getitem__方法实现类对象的直接索引功能。在Python中,自定义类只需实现__getitem__方法即可支持索引操作(如a[1]),实现__len__方法则支持len()函数调用。示例代码展示了如何通过这两个魔术方法使自定义类具备类似NumPy数组的索引功能,并可在__getitem__中自定义返回内容。这种机制正是NumPy能够实现数组索引的核心原理。
2025-08-28 22:27:24
302
原创 一文教会你如何使用本地图片进行卷积神经网络训练
本文介绍了如何将自定义手写数字数据集转换为PyTorch可用的格式。首先需要将图片路径和标签写入文本文件,然后使用torchvision.transforms进行图像预处理(调整尺寸至256x256并转为Tensor)。通过继承Dataset类创建自定义数据集类,实现索引访问和长度查询功能。最后使用DataLoader进行批量加载,设置shuffle=True实现乱序抽取。该方法可将任意图像数据转换为符合PyTorch训练要求的格式,为后续神经网络训练做好准备。
2025-08-28 22:16:02
736
原创 数据归一化:4步精通预处理技巧
本文介绍了数据归一化在机器学习中的核心作用和实践方法。归一化通过消除量纲差异、避免权重不平衡和提高模型收敛速度,显著提升模型性能。重点讲解了两种主要方法:最小-最大归一化(适合固定输出范围)和标准化(Z-score,抗异常值能力强),并对比了它们的适用场景。文章还提供了Python实战示例,强调在房价预测等任务中归一化的重要性。最后给出选择建议:根据数据特性(如是否存在异常值)和模型需求(如是否需要固定输出范围)选择合适的归一化方法,并注意在训练集上计算参数以避免数据泄露。
2025-08-27 20:46:43
839
原创 一篇文章教你搞懂卷积
卷积运算的核心原理包括单通道和多通道的计算方式。单通道卷积通过3×3卷积核对5×5图像滑动计算,输出3×3特征图。多通道卷积时,输入与卷积核通道数必须一致,各通道独立计算后相加,输出通道数由卷积核个数决定。填充(Padding)可控制输出尺寸并保留边缘信息,步幅(Stride)则实现空间降采样。关键设计参数包括卷积核尺寸、填充、步幅和输出通道数,共同影响输出尺寸和特征提取效果。多核卷积能融合空间特征与通道信息,而大步幅是减少计算量的有效手段。
2025-08-26 21:34:12
629
1
原创 深度学习之卷积神经网络
本文系统介绍了卷积神经网络(CNN)的基础架构及典型网络模型。首先分析了传统图像识别方法的局限性,进而阐述CNN的核心组件:卷积层通过卷积核提取特征,池化层进行特征降维,最终通过全连接层输出结果。文章详细解析了五大经典CNN模型:LeNet-5(7层基础架构)、AlexNet(引入ReLU和Dropout)、VGGNet(小卷积核堆叠)、GoogLeNet(Inception多尺度融合)和ResNet(残差连接突破深度限制),对比了各模型的结构特点与创新点。CNN通过"卷积-激活-池化"
2025-08-26 21:27:44
1175
原创 PyTorch损失函数全解析与实战指南
本文系统解析了PyTorch常用损失函数,分为回归、分类和其他三大类。回归函数包括L1Loss(抗异常值)、MSELoss(高精度要求)、SmoothL1Loss(平衡型)等;分类函数涵盖CrossEntropyLoss(多分类)、BCEWithLogitsLoss(二分类)等;其他函数包含TripletLoss(度量学习)和CTCLoss(序列任务)。每种函数均给出数学公式、特性分析及典型应用场景,如SmoothL1Loss适用于目标检测,TripletLoss用于人脸识别。最后提供选择指南:回归任务根据
2025-08-25 20:46:34
1149
原创 深度学习入门第一课——神经网络实现手写数字识别
这篇文章介绍了使用PyTorch实现手写数字识别的深度学习项目。主要内容包括:1) 导入MNIST数据集并展示样本;2) 构建一个包含两个隐藏层的全连接神经网络,使用ReLU激活函数;3) 采用交叉熵损失函数和Adam优化器;4) 实现训练和测试过程,通过10次迭代使准确率从87%提升到95%。文章详细解释了关键代码和深度学习概念,如数据预处理、神经网络结构、激活函数选择等,适合初学者理解深度学习的基本实现流程。
2025-08-25 20:29:53
1308
原创 GPU的cuda配置、pytorchGPU、CPU版本安装(超级详细,保姆级教程)
本文详细介绍了CUDA驱动器和PyTorch的安装步骤。首先需检查本机GPU并确认CUDA版本,从官网下载对应版本的CUDA驱动器,推荐自定义安装并配置环境变量。安装完成后通过cmd验证是否成功。接着进入PyTorch官网选择对应版本,有GPU需匹配CUDA版本,通过pip安装指定whl文件。最后导入torch验证版本号即可完成环境配置。全文提供了从硬件检查到软件安装的完整流程指引。
2025-08-24 20:07:44
638
1
原创 深度学习开篇
摘要:深度学习是机器学习的一个分支,通过多层神经网络对数据进行非线性变换和特征提取。其核心是前向传播(输入数据通过权重和激活函数逐层计算)、损失计算(回归用MSE,分类用交叉熵)和反向传播(通过梯度下降调整参数)。训练过程反复迭代这三步,最终使模型收敛。神经网络本质是矩阵运算,关键在于参数优化和非线性变换的叠加。
2025-08-23 22:48:09
1777
6
原创 图像形态学:膨胀、腐蚀和边缘检测与绘制
本文介绍了图像处理中的膨胀和腐蚀操作及其应用。膨胀操作使前景物体边界向外扩张,通过结构元素滑动实现最大值滤波;腐蚀操作使边界向内收缩,采用最小值滤波。文章详细讲解了OpenCV中的API接口参数和使用方法,并提供了代码示例。此外,还介绍了开运算、闭运算、梯度运算等组合操作,以及边缘检测算法(Sobel、Scharr、Laplacian、Canny)的实现原理和代码应用。最后演示了轮廓检测和绘制技术,展示了findContours和drawContours函数的使用方法。这些基础操作在图像预处理、特征提取等计
2025-08-21 21:53:06
1011
4
原创 机器学习总复习
本文系统回顾了11种常用机器学习算法,包括监督学习(KNN、线性回归、逻辑回归、贝叶斯、决策树、随机森林、XGBoost、SVM)和无监督学习(K-means、DBSCAN)。详细介绍了各算法的核心思想、应用场景及关键参数:KNN通过距离投票分类;线性/逻辑回归分别处理回归和分类问题;集成学习通过多模型组合提升性能;TF-IDF和词向量转化处理文本特征;PCA实现降维。特别强调了数据预处理方法(异常值处理、过/欠采样)和模型评估指标(准确率、MSE、轮廓系数等),为机器学习实践提供了全面指导。
2025-08-20 15:52:59
1190
4
原创 比赛准备之环境配置
本文介绍了在Linux系统中配置Anaconda环境的完整流程:首先通过Xftp导入并解压安装文件,赋予执行权限后运行安装脚本;接着配置环境变量并验证安装;然后创建指定Python版本的虚拟环境并激活;最后安装所需库文件并在PyCharm中配置使用该环境。整个过程涵盖了从基础安装到开发环境搭建的关键步骤。
2025-08-19 21:37:02
290
原创 项目实战——矿物识别系统(利用机器学习从化学元素数据中识别矿物,从数据到分类模型)
本文介绍了一个基于机器学习的矿物类型预测项目。项目针对1000多条包含矿物化学成分和类别标签的数据,首先进行了详细的数据预处理,包括异常值转换、空值处理(采用6种填充方法)、标签编码和标准化。随后使用网格搜索对6种机器学习模型(逻辑回归、随机森林、XGBoost等)进行调优,最终随机森林模型在均值填充数据集上取得了99%的预测准确率。项目展示了从数据清洗到模型优化的完整流程,为矿物类型预测提供了有效的自动化解决方案。
2025-08-18 22:27:33
1707
7
原创 爆款热文:AI编程效率暴增300%!全流程拆解+代码实战(附独家流程图)
AI编程效率暴增300%!深度解析2025年开发革命 【核心数据】AI编程助手使代码产出效率提升137%,企业级应用可压缩58%工时。35+工程师借AI实现代码质量反超新人30%。 【关键工具】 CursorComposer自动生成文件树 AmazonKiro规范文档先行 安全扫描工具链:Bandit+SonarQube 【避坑指南】 版权合规:black+licensecheck工具链 性能优化:强制算法说明 安全防护:参数化查询防SQL注入 【未来趋势】新兴AI指令工程师岗位年薪达85万,开发者角色转型
2025-08-16 20:33:58
850
4
原创 AI编程效率暴增300%!2025全流程实战+避坑指南
AI编程效率暴增300%!2025年开发者必备全攻略 本文深度解析AI编程如何实现效率革命:GitHub数据显示AI助手使代码效率提升137%,35+工程师通过AI弥补体力劣势反超新人30%。核心内容包括:独家AI编程工作流程图解、电商平台案例实现58%工时压缩、跨语言开发耗时从8小时缩短至45分钟实战。同时指出5大雷区:版权合规、性能陷阱、安全漏洞等,并提供具体解决方案。未来预测开发者将转型为AI开发经理,新兴岗位如AI指令工程师薪资溢价达85万元。附全流程工具链和复现指南,所有代码均通过AI生成并安全扫
2025-08-16 20:28:54
847
原创 PCA降维全解析:从原理到实战
PCA降维技术解析:原理、实现与应用 本文系统介绍了主成分分析(PCA)的核心原理与实现方法,帮助解决高维数据的维度灾难、计算效率和可视化难题。通过数学推导揭示了PCA通过协方差矩阵特征分解实现方差最大化的本质,并给出标准化、特征值分解、主成分选择等完整步骤。Python实战部分对比了NumPy手写实现与sklearn工具库的应用,结合鸢尾花数据集展示降维可视化效果。文章还探讨了PCA的适用场景与局限性(如非线性数据失效),解析了标准化必要性、SVD关联等高频面试问题,最后指出PCA在CV、生物信息等领域的
2025-08-15 20:07:18
734
1
原创 OpenCV图像处理2:边界填充与平滑滤波实战
摘要:本文介绍了OpenCV中常用的图像处理技术,包括边界填充(四种填充方式)、图像运算(直接相加和加权相加)、阈值处理(五种阈值化方法)以及图像平滑处理(均值滤波、高斯滤波、方框滤波和中值滤波)。重点讲解了各方法的原理、适用场景和实现代码,其中边界填充使用copyMakeBorder()函数,图像平滑处理针对椒盐噪声展示了不同滤波效果,特别指出中值滤波对去除椒盐噪声效果最佳。这些技术为图像处理中的边缘处理、噪声消除和特征增强提供了基础解决方案。
2025-08-14 20:32:37
1361
4
原创 GitHub宕机?五层分布式代码协作方案拯救你
摘要:本文提出一个应对GitHub宕机的五层分布式代码协作方案,包括网络层(混合P2P覆盖网络)、存储层(区块链锚定+本地Git)、协作层(去中心化PR)、安全层(零知识证明)和恢复层(状态同步引擎)。该架构支持离线操作,通过CRDT自动合并、智能合约存证和AI预测等创新技术,实现99.8%的宕机恢复时间缩减和65%存储成本降低,将代码协作从平台依赖回归到开发者节点互联的本质。开源实现参考libp2p、IPFS等技术栈。
2025-08-14 09:50:41
718
1
原创 奈飞工厂:算法优化实战
奈飞推荐系统采用两级架构(召回+排序)实现高效个性化推荐。召回层通过双塔模型和近似搜索从亿级内容快速筛选候选集,排序层利用深度交叉网络精准预测用户偏好。系统融合上下文特征和多任务学习,结合分布式训练和在线优化技术,实现毫秒级响应。未来将聚焦冷启动优化、可解释性提升和多模态融合,持续平衡算法复杂度与工程可行性。
2025-08-14 09:32:35
1159
1
原创 Notepad++插件开发实战:从零打造效率工具
《Notepad++插件开发全攻略:从入门到效率革命》 本文系统介绍了Notepad++插件开发的核心技术与实践方法。主要内容包括:1)开发环境搭建(VS2022+CMake+NppSDK8.5.4);2)插件生命周期管理和双向通信机制;3)实战案例—JSON智能格式化插件开发;4)高级功能实现(异步监控/语法高亮/配置持久化);5)性能优化策略(分块处理/内存管理/异步架构)。通过定制插件可实现300%的文本处理效率提升,典型如法律文档审核效率提升200%。文章还提供了项目模板获取途径,并指出AI集成、云
2025-08-14 09:27:30
1143
原创 Chrome插件开发实战:从零打造高效生产力工具
本文手把手指导Chrome插件开发全流程,重点解决信息过载、重复操作等效率痛点。从Manifest V3环境搭建到核心功能开发(智能高亮、数据聚合、表单填充),详解性能优化策略如懒加载和缓存机制,并分享AI集成、发布检查等进阶技巧。通过系统化开发,可实现信息处理效率提升300%、重复任务减少85%的显著效果,完整项目代码已开源。该指南基于500+用户测试反馈,采用推荐架构的插件用户留存率比平均水平高2.3倍。
2025-08-14 09:20:59
794
原创 2025盛夏AI热浪:八大技术浪潮重构数字未来
AI技术正从实验室快速渗透到千行百业,2025年成为"AI应用落地元年"。文章展示了AI在商业化闭环、物理智能、医疗健康等领域的突破性进展:海尔等企业打造主动服务的AI家电生态;NVIDIA推动物理AI实现工业级机器人控制;医疗AI实现多病种同步筛查和无创检测。同时揭示了算力割裂、深度伪造等挑战,强调需建立技术伦理审查机制。随着人形机器人成本下探和智能体操作系统化,AI正从工具升级为产业中枢,其发展需平衡技术创新与社会价值。
2025-08-13 21:41:51
1191
2
原创 文本转数字:词向量提取从基础到实战(史上最详细的代码讲解)
摘要: 本文介绍了文本特征提取算法CountVectorizer及其在情感分析中的应用。该算法通过统计词频构建词频矩阵,将文本转化为数值特征,核心步骤包括分词、构建词汇表和向量化。文章详细解析了max_features、ngram_range等关键参数,并通过实例演示了从中文评论文本预处理(分词、去停用词)到构建贝叶斯分类器的完整流程。最终实现了一个能区分好评差评的文本分类模型,采用过采样处理数据不均衡问题,测试显示模型具有较好的分类效果。
2025-08-13 21:20:52
1142
5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人