- 博客(85)
- 收藏
- 关注
原创 计算机视觉进阶教学之Mediapipe库(二)
上一篇博客我们讲述了关于Mediapipe简介,以及讲述了手部识别与手势识别,今天我们就来看看我们自定义手势是如何完成的计算机视觉进阶教学之Mediapipe库(一)# 手势类别:键为数字(对应键盘按键),值为手势名称0: "fist", # 拳头1: "open_hand", # 张开的手2: "point", # 指向(单指)3: "peace", # 剪刀手(双指)4: "ok" # OK手势DATA_DIR = "gesture_data" # 总数据目录名称。
2025-09-30 01:30:00
937
原创 计算机视觉进阶教学之Mediapipe库(一)
MediaPipe是Google开源的跨平台机器学习工具库,提供人脸检测、手势识别、姿态识别等视觉算法,支持多种平台和语言,并具备实时处理能力。本文介绍了MediaPipe的安装方法(需Python3.7+和OpenCV),重点演示了手部关键点检测和手势识别功能。手势识别通过分析21个手部关键点的3D坐标,计算手指与手腕的距离来判断手指是否伸直,最终识别0-10的数字手势。代码示例展示了如何调用MediaPipe API实现实时手势识别,并详细解释了关键算法逻辑。
2025-09-29 21:00:13
1246
原创 计算机视觉进阶教学之Dlib库(三)
本文介绍了基于CNN卷积神经网络的人脸识别方法。重点讲解了CNN的核心组件:卷积层(提取局部特征)、池化层(下采样)、激活函数(引入非线性)和全连接层(特征分类)。使用Dlib库实现人脸识别的步骤包括:加载预训练模型、检测人脸、提取特征向量和计算相似度。文中提供了代码示例,展示了如何利用Dlib的CNN模型进行人脸检测和标注。相比传统Haar级联方法,CNN人脸检测精度更高但计算量更大,适用于单张图片处理任务。
2025-09-29 01:00:00
1833
原创 自然语言处理项目之情感分析(下)
该文介绍了基于深度学习的微博评论情感分析项目实现过程。项目使用腾讯预训练的词向量模型(200维),通过LSTM神经网络对文本进行情感分类。主要步骤包括:1)数据预处理,将评论统一为32个词的固定长度;2)构建双向LSTM模型,包含嵌入层、LSTM层和全连接层;3)训练过程中采用交叉熵损失函数和Adam优化器;4)在测试集上评估模型性能。项目实现了对微博评论的自动情感分类,可用于舆情监测等场景。
2025-09-28 20:24:53
1275
原创 自然语言处理项目之情感分析(上)
本文介绍了一个微博评论情感分析项目的实现过程。项目首先通过构建词表将文本转换为词向量,使用腾讯预训练模型支持4762个词。针对评论长度不一致问题,采用固定长度70的策略:过长则截断,不足则用<PAD>填充,低频词用<UNK>替换。代码实现分为三个部分:1)建立词表并保存为二进制文件;2)处理评论数据,统一长度并切分训练/验证/测试集;3)将数据打包为Tensor类型,支持批次化处理。该方法为后续模型训练提供了规范化的数据输入,解决了文本长度不一和词汇稀疏性问题。
2025-09-24 22:11:20
863
原创 计算机视觉进阶教学之人脸识别
人脸识别是计算机视觉的核心技术,通过检测、特征提取和匹配实现身份验证。OpenCV提供三种主要算法:LBPH(局部二值模式直方图)算法对光照和旋转具有鲁棒性;EigenFaces基于PCA降维保留主要特征;FisherFaces采用LDA方法优化类间区分度。代码示例展示了三种算法的实现流程,包括训练模型、预测识别和处理中文显示问题。这些算法在安防、移动终端等领域有广泛应用,是连接理论与实践的典型案例。其中LBPH算法通过编码局部纹理特征实现识别,EigenFaces和FisherFaces则分别通过主成分分
2025-09-23 09:14:30
1269
原创 关于Pycharm中在运行出现语法错误:Non-UTF-8 code starting with
Python编码错误解决方案:当出现"Non-UTF-8 code"错误时,通常是由于文件编码格式问题。解决方法有三种:1)在文件首行添加编码声明#coding=utf-8或#coding=gbk;2)检查并修改PyCharm的文件编码设置;3)最简便的方法是在PyCharm右下角直接将GBK编码转换为UTF-8。第三种方法无需每次添加声明,可一劳永逸解决问题。
2025-09-22 21:17:43
493
原创 计算机视觉进阶教学之人脸检测
本文介绍了基于OpenCV的人脸检测与微笑识别实现方法。主要内容包括:1.使用Haar级联分类器进行人脸检测,通过计算图像灰度变化特征值实现;2.详细说明了级联分类器的工作原理和参数设置;3.给出Python代码示例,演示如何加载预训练模型并调用detectMultiScale方法进行检测;4.进一步展示在检测到人脸的基础上实现微笑识别,通过二次检测嘴巴区域判断微笑状态。文章还提到OpenCV提供的多种预训练分类器模型,可用于不同场景下的目标检测任务。
2025-09-22 11:29:05
1114
原创 教你如何简单在本地部署一个属于自己的大模型
本文介绍了如何通过Ollama和OpenWebUI快速搭建本地大模型博客系统。首先下载Ollama并运行模型,然后通过OpenWebUI提供可视化界面,支持多模型对话、语音输入、图像生成等功能。该系统完全离线运行,保障数据隐私,同时提供个性化定制选项。安装过程简单,支持Docker和pip等多种方式,适合没有编程基础的用户快速部署AI辅助博客,实现智能内容生成和问答功能。
2025-09-21 19:45:12
1087
原创 循环神经网络RNN与LSTM网络
本文介绍了循环神经网络(RNN)及其改进模型LSTM。RNN通过引入隐状态处理序列数据,能够捕捉时间依赖性,但存在梯度消失/爆炸问题。LSTM通过遗忘门、输入门和输出门结构,选择性地保留或遗忘信息,有效解决了RNN的长期依赖问题。RNN和LSTM都采用参数共享机制,但LSTM通过门控单元能更好地控制信息流,适用于处理长序列数据。
2025-09-19 19:23:09
1391
原创 计算机视觉进阶教学之DNN模块
OpenCV的DNN模块实现了深度神经网络推理功能,支持加载TensorFlow、Caffe等框架的预训练模型。该模块轻量、依赖少、易集成,通过blobFromImage函数预处理图像,转换为四维数组格式。文中演示了使用Torch格式的《星月夜》风格迁移模型,将输入图像转换为艺术风格,包括图像缩放、预处理、模型推理和结果处理完整流程。最后扩展实现了摄像头实时风格迁移功能,通过逐帧处理实现动态效果。整个方案展示了DNN模块在图像处理中的实际应用。
2025-09-17 16:19:05
1301
原创 计算机视觉进阶教学之背景建模与光流估计
计算机视觉中的动态场景分析依赖于背景建模和光流估计两大核心技术。背景建模通过帧差法、K近邻或高斯混合模型分离动态前景与静态背景,适用于运动检测和目标跟踪。光流估计则基于亮度恒定和小运动假设,计算像素点的瞬时速度,实现目标动态分析。两种技术在交通监控、无人机追踪和自动驾驶中有广泛应用,通过OpenCV等工具可实现实时处理,为动态场景理解提供技术支撑。
2025-09-15 21:27:17
1240
原创 计算机视觉案例分享之实时文档扫描
本文介绍了一种实时文档扫描系统的核心技术实现方案。该系统通过计算机视觉技术解决传统扫描仪便携性差、普通拍照易变形等问题。核心技术包括四个关键步骤:图像预处理(灰度化、高斯模糊、边缘检测)突出文档边缘;轮廓检测筛选四边形有效文档区域;透视矫正消除拍摄角度导致的变形;内容增强(二值化)提升文字清晰度。系统采用Python+OpenCV实现,包含摄像头初始化、实时图像处理和资源释放等功能模块,能快速将倾斜文档转换为标准电子版。该方案具有实时性强、处理高效的特点,适用于移动办公场景下的文档数字化需求。
2025-09-15 21:08:04
1153
原创 计算机视觉案例分享之答题卡识别
本文介绍了基于OpenCV的答题卡自动识别系统实现方法。系统通过图像预处理、轮廓检测、透视变换等技术,将倾斜的答题卡图像转换为正视图,再利用阈值处理和轮廓分析识别填涂选项,并与预设答案对比计算得分。关键步骤包括:1)图像灰度化、去噪和边缘检测;2)定位答题卡并进行透视校正;3)二值化处理检测选项轮廓;4)按题目顺序分析填涂情况;5)与标准答案比对并评分。该系统可有效实现标准化考试的自动阅卷功能,提高评卷效率和准确性。
2025-09-14 19:41:07
1123
原创 计算机视觉进阶教学之特征检测
本文介绍了计算机视觉中的三种关键技术:Harris角点检测、SIFT特征检测和指纹识别。Harris算法通过分析像素邻域的灰度变化检测角点;SIFT算法提取具有尺度不变性的局部特征,适用于图像匹配。指纹识别部分重点讲解了基于SIFT特征匹配的图像认证系统,包括特征提取、匹配筛选和认证判断三个核心步骤,并提供了优化方案来实现指纹与人名的匹配识别。文章通过具体代码示例演示了各项技术的实现过程,为计算机视觉学习者提供了实用的技术参考。
2025-09-12 17:06:47
1497
原创 计算机视觉进阶教学之图像投影(透视)变换
本文系统介绍了图像透视变换技术的原理与应用。透视变换通过3x3变换矩阵实现二维图像的视角转换,广泛应用于图像校正、虚拟现实等领域。文章以票据图像矫正为例,详细演示了OpenCV实现流程:包括轮廓检测、最大轮廓提取、四点透视变换等关键步骤。通过定义辅助函数实现坐标排序、宽高计算和图像缩放,最终将倾斜票据转换为正视图。该技术可有效解决图像视角变形问题,是计算机视觉领域的重要基础技术。
2025-09-11 20:35:27
1531
2
原创 计算机视觉进阶教学之图像金字塔和图像直方图
本文介绍了图像金字塔和图像直方图两大核心概念。图像金字塔通过向下采样(缩小)和向上采样(放大)构建多分辨率表示,其中拉普拉斯金字塔保存了采样过程中丢失的信息。图像直方图用于分析像素强度分布,包括彩色通道直方图计算和带掩模的局部直方图统计。最后探讨了直方图均衡化技术,包括全局均衡化和自适应局部均衡化方法,用于增强图像对比度和细节表现。这些技术在特征提取、模板匹配等计算机视觉任务中具有重要应用价值。
2025-09-10 09:43:42
1118
原创 计算机视觉之多模板匹配
本文介绍了OpenCV中多目标模板匹配的实现方法,包括:1. 基本多目标匹配流程,通过设定阈值筛选多个匹配点;2. 图像旋转的两种方法(np.rot90和cv2.rotate),用于处理不同角度的模板;3. 结合多目标匹配和旋转模板的方法,实现对旋转目标的有效检测。文章详细展示了代码实现步骤,并解释了降低匹配阈值以应对旋转匹配的原理。最终方案通过生成0°、90°、180°等多个旋转版本的模板,有效解决了传统模板匹配无法检测旋转目标的局限性。
2025-09-09 20:29:26
717
原创 计算机视觉案例分析之银行卡号识别
本文介绍了使用OpenCV进行信用卡数字识别的完整流程。首先通过模板匹配建立数字模板库,然后对信用卡图像进行预处理(灰度化、顶帽操作、二值化等),定位数字区域并分割单个数字,最后与模板库匹配实现数字识别。文中详细讲解了图像处理的关键步骤,包括轮廓检测、形态学操作、模板匹配等技术,并提供了完整的Python代码实现。该系统能够自动识别信用卡类型和卡号,适用于银行等金融机构的信用卡识别需求。
2025-09-08 16:42:19
1119
原创 自然语言处理之第一课语言转换方法
本文介绍了自然语言处理中的语言模型与词向量实现方法。首先分析了统计语言模型的局限性,然后详细讲解了神经语言模型,包括One-hot编码和词嵌入技术Word2Vec的原理。文章重点展示了基于PyTorch实现的CBOW模型代码,涵盖数据准备、模型构建、训练过程和词向量提取等关键环节,最终生成能捕捉语义关系的词向量。该实现将高维词汇表示压缩为低维向量,解决了维度灾难问题,为自然语言处理任务提供了基础支持。
2025-09-07 21:53:03
1317
原创 深度学习之第八课迁移学习(残差网络ResNet)
本文介绍了如何利用迁移学习提升卷积神经网络模型性能。通过使用预训练的ResNet-18模型,冻结底层参数并微调最后一层全连接层,在食物分类任务上实现了准确率从不足80%到90%的显著提升。文章详细讲解了迁移学习的步骤、残差网络的结构优势,以及包括数据预处理、模型构建、训练流程等完整实现代码。该方法有效解决了小数据集训练效果不佳的问题,同时避免了梯度消失等深层网络常见问题,为实际应用提供了可行的技术方案。
2025-09-05 21:28:49
1592
1
原创 深度学习之第七课卷积神经网络 (CNN)调整学习率
本文介绍了PyTorch中学习率调整的多种方法及其在食物分类CNN模型中的应用。主要内容包括:1)三类学习率调整策略:有序调整(StepLR、MultiStepLR等)、自适应调整(ReduceLROnPlateau)和自定义调整(LambdaLR);2)完整的CNN实现流程,涵盖数据预处理、自定义数据集、模型构建(包含3个卷积块)、训练/测试函数;3)实际应用示例,使用ReduceLROnPlateau调度器,在50个epoch训练中根据验证准确率动态调整学习率,并保存最优模型。该方案相比固定学习率能更好
2025-09-04 22:13:06
1241
原创 深度学习之第六课卷积神经网络 (CNN)如何保存和使用最优模型
本文介绍了如何在PyTorch中保存和使用最优模型进行食品分类任务。主要内容包括:1) 定义CNN模型结构,包含3个卷积块和1个全连接层;2) 实现训练和测试流程,在测试函数中保存最优模型;3) 详细说明了两种保存方式(仅参数或完整模型);4) 展示如何加载最优模型进行预测,包括数据预处理、模型加载和评估等步骤;5) 提供了完整的测试代码框架,可计算并输出模型准确率。文章通过具体代码示例,帮助读者掌握深度学习模型保存与重用的关键技术。
2025-09-03 14:26:59
1153
原创 深度学习之第五课卷积神经网络 (CNN)如何训练自己的数据集(食物分类)
本文介绍了使用自定义数据集训练CNN模型的全流程。首先通过Python脚本将分类图片数据集转换为标准格式,包含图像路径和标签索引。然后定义了数据预处理流程,包括图像统一尺寸和转换为Tensor。接着创建自定义Dataset类实现数据加载,并构建包含3个卷积层的CNN模型。训练过程中采用了交叉熵损失、Adam优化器和学习率调度策略。针对数据量不足的问题,提出了数据增强方案,包括随机旋转、翻转、裁剪等操作来提升模型泛化能力。最后给出了完整的训练和测试代码框架,并解释了各组件的作用及实现细节,为从零开始构建图像分
2025-09-02 20:47:52
1645
2
原创 MySQL基础知识保姆级教程(四)视图与约束
本文介绍了MySQL中的视图和约束两大核心概念。视图部分详细讲解了视图的定义(基于查询结果的虚拟表)、创建方法(CREATE VIEW)、查看结构(DESC/SHOW CREATE)和删除操作(DROP VIEW)。约束部分系统阐述了六种主要约束类型:非空约束(NOT NULL)、默认值约束(DEFAULT)、主键约束(PRIMARY KEY)、唯一约束(UNIQUE)、检查约束(CHECK)和外键约束(FOREIGN KEY),并通过创建user、students、scores三个表的实例代码,具体演示了
2025-09-01 21:33:24
1161
原创 计算机视觉第一课opencv(四)保姆级教学
今天继续学习opencv,今天学习轮廓检测、轮廓的近似计算机视觉第一课opencv(三)保姆级教学计算机视觉第一课opencv(一)保姆级教学计算机视觉第一课opencv(二)保姆级教学。
2025-08-29 16:24:06
1604
原创 基于卷积神经网络 (CNN) 的 MNIST 手写数字识别模型
本文介绍了使用PyTorch搭建卷积神经网络(CNN)进行MNIST手写数字识别的完整流程。首先加载MNIST数据集并创建数据加载器,然后定义包含三个卷积块和全连接层的CNN模型结构。通过训练函数实现前向传播、损失计算和反向传播,测试函数评估模型性能。使用交叉熵损失和Adam优化器进行10个epoch的训练,并采用学习率调度器动态调整学习率。最后绘制训练过程中的准确率和损失曲线,展示了CNN在图像分类任务上的应用效果。
2025-08-28 19:47:16
1348
原创 MySQL基础知识保姆级教程(三)基础语句
本文介绍了MySQL中的子查询和表关联操作。在子查询部分,讲解了HAVING过滤、LIMIT限制、IF条件判断和CASE WHEN语句的使用方法,并演示了如何对总分进行评级和排序。表关联部分包含UNION合并查询、笛卡尔积以及JOIN连接操作,详细说明了左连接、右连接和内连接的区别及适用场景。这些基础语句是MySQL查询的重要组成部分,掌握它们能帮助开发者更高效地处理数据关联和复杂查询需求。
2025-08-27 11:01:09
1187
原创 深度学习之第四课卷积神经网络CNN
本文介绍了卷积神经网络(CNN)的核心架构和工作原理。内容涵盖CNN基础概念、卷积层、池化层、全连接层等核心组件。重点讲解了卷积操作如何通过卷积核提取图像特征,池化层如何降维减少计算量,以及感受野的概念。文章还详细阐述了CNN如何解决传统神经网络在图像处理中的参数冗余和空间信息丢失问题,通过多层卷积和池化的堆叠实现从局部到全局的特征提取。最后说明了全连接层将提取特征转化为最终输出结果的过程。
2025-08-26 20:56:45
1159
1
原创 深度学习之第三课PyTorch( MNIST 手写数字识别神经网络模型)
本文介绍了使用PyTorch框架实现MNIST手写数字识别的完整流程。主要内容包括:1)PyTorch核心概念(张量、自动求导、神经网络模块);2)MNIST数据集的加载、预处理与可视化;3)构建包含输入层、隐藏层和输出层的全连接神经网络;4)设置交叉熵损失函数和SGD优化器;5)实现训练和测试流程,包括前向传播、反向传播和参数更新;6)通过多轮训练提高模型准确率;7)讨论模型优化策略,如激活函数选择(ReLU替代sigmoid)和优化器比较(批量/随机/小批量梯度下降)。最终实现了一个准确率达95%的手写
2025-08-25 20:19:08
1497
原创 深度学习之第二课PyTorch与CUDA的安装
本文介绍了PyTorch与CUDA的安装方法,为深度学习开发搭建基础环境。PyTorch作为灵活高效的深度学习框架,支持直观的神经网络构建;CUDA则是释放GPU算力的关键工具。安装步骤包括:1)查看显卡驱动版本确定支持的CUDA最高版本;2)从NVIDIA官网下载对应CUDA版本并安装;3)通过官网命令或本地whl文件安装PyTorch(GPU/CPU版本)。建议选择稍低于最高支持的CUDA版本,安装后可验证是否成功。文中提供了详细的操作指引和注意事项。
2025-08-24 21:33:16
1195
原创 深度学习之第一课深度学习的入门
本文系统介绍了深度学习的基础知识,首先厘清了人工智能、机器学习和深度学习的关系,指出深度学习是机器学习的高级分支。重点讲解了神经网络的核心概念:从单个神经元的三步计算(输入、加权求和、激活函数处理)到分层网络结构(输入层、隐藏层、输出层),并详细说明了感知器、多层感知器的原理及非线性分类能力。文章还涵盖了神经网络构造要点、损失函数计算、正则化惩罚机制以及关键的梯度下降优化算法,特别强调了学习率设置的重要性。全文以通俗语言解析深度学习基础,为初学者构建了完整的知识框架。
2025-08-24 20:05:55
1287
原创 计算机视觉第一课opencv(三)保姆级教学
本文介绍了OpenCV中的图像形态学处理和边缘检测技术。在形态学部分,详细讲解了腐蚀、膨胀、开运算、闭运算等基本操作及其应用场景,如噪声消除、空洞填充等。在边缘检测部分,重点介绍了Sobel算子、Scharr算子、Laplacian算子和Canny边缘检测算法,分析了Canny检测的优势及其实现步骤(包括降噪、梯度计算、非极大值抑制和双阈值处理)。通过代码示例演示了不同算子的效果对比,为计算机视觉初学者提供了OpenCV图像处理的实用教程。
2025-08-21 19:55:30
1287
原创 机器学习项目分享之实现智能的矿物识别系统(二)
本文介绍了矿物识别系统的机器学习实现过程,使用6种算法对平均数填充处理后的数据集进行训练和评估。具体流程包括:数据读取与特征标签划分、各模型(逻辑回归、随机森林、SVM、AdaBoost、XGBoost、高斯朴素贝叶斯)的网格搜索调参和训练、模型性能评估(召回率和准确率)及结果存储。结果显示XGBoost模型表现最优,后续将结合不同数据填充方法进一步优化。该研究为矿物智能识别提供了有效方法,展示了机器学习在矿物分析中的应用潜力。
2025-08-20 10:47:37
819
原创 MySQL基础知识保姆级教程(二)基础语句
本文介绍了MySQL的基础操作语句,主要包括: DDL(数据定义语言):创建表、修改表结构(增删改列、修改表名/列名/字符集)、删除表等操作; DML(数据操作语言):插入单条/多条数据、更新数据(带条件修改)、删除数据等; DQL(数据查询语言):基本查询(全表/指定字段)、字段处理(运算/别名)、聚合计算(count/sum等)、条件筛选(where子句使用比较/逻辑运算符)等; MySQL内置函数:字符串函数、日期函数、数值函数和聚合函数的使用说明。文章通过具体SQL示例详细说明了各语句的语法和使用场
2025-08-19 16:24:08
1008
原创 机器学习项目分享之实现智能的矿物识别系统(一)
本文介绍了机器学习项目中的数据清洗与预处理过程,重点针对矿物识别系统的数据集进行处理。作者详细讲解了6种缺失值填充方法:空值删除、平均值填充、中位数填充、众数填充、线性回归填充和随机森林填充。每种方法都提供了Python实现代码,并区分了训练集和测试集的不同处理方式(避免数据泄露)。数据预处理还包括特征标准化、标签编码、数据集拆分以及SMOTE过采样处理类别不平衡问题。最终生成12个不同填充方式处理后的数据集文件,为后续模型训练做好准备。文章强调数据质量对模型性能的关键影响,展示了从原始数据到模型就绪数据的
2025-08-18 20:41:51
1076
原创 机器学习之PCA降维
PCA降维算法是高维数据处理的利器,通过识别数据中的关键方差方向实现有效降维。文章详细讲解了PCA的数学原理,包括基变换、方差最大化、协方差矩阵对角化等核心概念,并提供了完整的计算案例。同时介绍了sklearn中PCA模块的参数配置和使用方法,通过信用卡欺诈检测案例展示了PCA与逻辑回归结合的实际应用流程。PCA能有效消除多重共线性、减少噪声,但也存在可解释性差等缺点,需根据具体场景谨慎使用参数配置。
2025-08-15 21:12:11
1549
原创 计算机视觉第一课opencv(二)保姆级教学
本文介绍了OpenCV在图像处理中的几种常用功能,包括边界填充、图像运算、阈值处理和图像平滑处理。在边界填充部分,详细讲解了cv2.copyMakeBorder()函数的五种填充方式;图像运算部分比较了+号运算、cv2.add()和cv2.addWeighted()的区别;阈值处理部分演示了五种阈值分割方法;最后重点介绍了四种图像平滑处理方法(均值滤波、方框滤波、高斯滤波和中值滤波)及其在去除椒盐噪声中的应用。每种方法都配有示例代码和效果展示,帮助理解不同处理方式的特点和适用场景。
2025-08-14 21:10:22
1225
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人