自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 收藏
  • 关注

原创 agent智能体

这段代码定义了一个提示词模板(Prompt Template),用于指导大模型在工具调用场景下的思考和输出格式。它的核心作用是规范大模型与工具交互的流程,确保对话逻辑可解析、可执行。''''尽你所能用中文回答以下问题。如果能力不够你可以使用以下工具:\n\n''Begin!\n\n''''

2025-11-03 20:24:35 444

原创 PyQt5基础介绍

PyQt5 允许开发者自定义控件,通常通过继承。

2025-11-02 20:52:40 921

原创 自然语言处理框架:Bert和Transformer

自注意力机制 (Self-Attention Mechanism,当前模型无法处理序列中的词项顺序,因此需要引入自注意力机制来探索单词间的内在联系自注意力机制是Transformer的核心组成部分,旨在捕捉文本中词汇之间的复杂关系,该机制通过计算每个词与其他所有词的关联关系来感知上下文。例如,“it”这个词与其代表的“animal”的关系较重,同时也会关注“because”等其他词的关系。自注意力机制的核心作用是捕捉文本中词语与其余词语之间的关系,为每个词提供一个综合性的上下文特征。

2025-10-27 21:23:20 649

原创 Langchain框架基础

Long Chain是一项旨在简化大模型应用开发的工具框架,尤其适用于多人协作和企业级及复杂场景。该框架通过将开发工作流程“链化”,降低了开发难度,使开发者可以利用外部工具和数据,充分运用大模型的分析与决策能力。作为一个开源项目,Long Chain在GitHub上有很高的关注度,代表了当前业界的主流技术方向。在定义模型链并拼接提示词后,数据流程涉及将信息顺序送入提示词模板、模型,再到解析器,是一种嵌套过程。明确了langchain中构建链的一种简化写法,使用竖线“|”替代复杂的方法调用。

2025-10-23 20:13:58 994

原创 Yolo v4

SPP Net在普通的CNN结构中加入了ROI池化层(ROI Pooling),使得网络的输入图像可以是任意尺寸的,输出则不变,同样是一个固定维数的向量。传统的NMS存在一定的问题:如果一个物体在另一个物体重叠区域出现,即当两个目标框接近时,分数更低的框就会因为与之重叠面积过大而被删掉,从而导致对该物体的检测失败并降低了算法的平均检测率。将当前检测框得分乘以一个权重函数,该函数会衰减与最高得分检测框M有重叠的相邻检测框的分数,越是与M框高度重叠的检测框,其得分衰减越严重,为此选择高斯函数为权重函数,

2025-10-20 20:18:05 781

原创 labelme打标签 和 yolov3实战

数据标注的工具包括以下几种:LabelImg:一款图形图像标注工具,用Python编写,并将Qt用于其图形界面。可以用于进行目标检测项目的标注工作,支持2D矩形框标注。Labelme:一款开源的图像标注工具,由Visual Geometry Group开发。可以在线和离线使用,支持多边形分割、语义分割、2D框、线标注、点标注。VIA-VGG Image Annotator (VIA):一款开源的图像标注工具,由Visual Geometry Group开发。

2025-10-17 20:45:29 741

原创 Yolo v3

在COCO数据集这9个先验框是:(10x13),(16x30),(33x23),(30x61),(62x45),(59x119),(116x90),(156x198),(373x326)。分配上,在最小的13*13特征图上(有最大的感受野)应用较大的先验框(116x90),(156x198),(373x326),适合检测较大的对象。较大的52*52特征图上(较小的感受野)应用较小的先验框(10x13),(16x30),(33x23),适合检测较小的对象。然而,Softmax函数的是每个样本只属于一个类别。

2025-10-15 14:57:56 816

原创 LSTM自然语言处理情感分析项目(四)整合调用各类与方法形成主程序

环境准备:配置计算设备,设置随机种子确保可复现性数据处理:加载并分割数据集,构建词汇表,将数据转换为模型可处理的批次格式模型准备:加载预训练词向量,初始化 TextRNN 模型模型训练:使用训练集训练模型,通过验证集监控性能并保存最佳模型模型应用:使用训练好的模型对新文本进行情感预测这种端到端的系统设计使得从数据到预测结果的整个流程清晰可控,便于调试和优化。

2025-10-13 21:19:40 743

原创 LSTM自然语言处理情感分析项目(三)定义模型结构与模型训练评估测试

的做法适用于文本分类任务,假设最。

2025-10-13 21:10:14 855

原创 Yolo v2

预测的偏移量包括tx、ty、tw、th(第一次为先验框及初始化的中心坐标在模型中输出的结果与真实框损失值得到的偏移量值)。V2训练时额外又进行了10次448*448 的微调,使用高分辨率分类器后,YOLOv2的mAP提升了约4%V1训练时用的是224*224,测试时使用448*448可能导致模型水士不服,这种方法预测的是相对位置,即相对于网格的偏移量。经过Batch Normalization处理后的网络会提升2%的mAP。整个网络结构不包含全连接层,因此输入图片的大小可以任意。网络的每一层的输入都做了。

2025-10-12 20:04:11 767

原创 Yolo目标检测及yolo v1

YOLO(You Only Look Once)是一种基于深度学习的目标检测算法,由Joseph Redmon等人于2016年提出。它的核心思想是将目标检测问题转化为一个回归问题,通过一个神经网络直接预测目标的类别和位置。YOLO算法将输入图像分成SxS个网格,每个网格负责预测该网格内是否存在目标以及目标的类别和位置信息。此外,YOLO算法还采用了多尺度特征融合的技术,使得算法能够在不同尺度下对目标进行检测。

2025-10-10 20:55:37 1032

原创 基于pth模型文件,使用flask库将服务端部署到开发者电脑

predict@app.route("/predict", methods=['POST']) # 定义路由:URL为/predict,仅支持POST方法# 初始化返回数据(默认success=False,避免异常时无返回)# 1. 检查请求方法是否为POST(POST适合传输文件等大数据)# 2. 检查请求中是否包含'image'字段(即图像文件)# 3. 读取图像文件(从Flask请求中获取字节数据)# 将字节数据转为PIL图像对象(通过io.BytesIO模拟文件流)

2025-10-09 20:22:04 1006

原创 模型的部署

模型部署是指将模型运行在专属的计算资源上,使模型在独立的运行环境中高效、可靠地运行,并为业务应用提供推理服务。其目标是将机器学习模型应用于实际业务中,使最终用户或系统能够利用模型的输出,从而发挥其作用。

2025-10-09 19:57:37 744

原创 详解 OpenCV 中的仿射变换:原理与实战案例

仿射变换(Affine Transformation)是计算机视觉中一种重要的图像变换技术,它通过线性变换加平移的组合来实现图像的空间变换。与普通的线性变换不同,仿射变换能够保持图像的直线性和平行性,但会改变图形的形状,产生旋转、缩放、平移、剪切等效果。通俗来说,仿射变换可以理解为:将图像上的所有点都按照相同的规则进行变换,变换后直线依然是直线,平行线依然保持平行,但角度和长度可能发生改变。仿射变换是一种强大的图像变换技术,通过三对对应点可以实现复杂的图像空间变换。

2025-09-29 21:28:13 1384

原创 LSTM自然语言处理情感分析项目(二)加载数据集

为了再接下来的模型训练过程中我们能够循环迭代的取出数据,所以我们自定义一种数据类型包含__next__()方法--getitem__:是通过索引的方式获取数据对象中的内容。__next__ 是使用 for i in train_iter:迭代获取对象def __next__(self):#用于定义选代器对象的下一个元素。当一个对象实现了_next 方法时,它可以被用于创建迭代器对象。

2025-09-28 21:26:21 650

原创 表情识别和性别年龄预测

if confidence>0.7:#筛选一下,将置信度大于0.7侧保留,其余不要了# 绘制人脸框# 返回绘制了人脸框的帧frame、人脸包围框faceBoxes。

2025-09-27 20:06:04 1343

原创 dlib库关键点定位和疲劳检测

一旦遇到高于阈值的帧,将立即将计数器重置为0,确保报警的严谨性。通过切片操作,从完整的坐标列表中筛选出特定区域(如从第0到17点可以参考上图)的坐标数据PTS。这个概念源自计算几何,"凸" 意味着多边形内部任意两点的连线都完全在多边形内部,不存在凹陷。会在原视频画面中,用绿色填充检测出的特征点轮廓,并在左上角实时显示当前计算的平均横纵比数值。调用drawLine函数,根据步骤二中提取到的两个坐标点作为起点和终点,绘制一条线段。使用for循环遍历筛选后的坐标数据,每次循环将连续的两个坐标点提取出来。

2025-09-26 17:05:23 1299

原创 dlib库人脸检测

是一个适用于C++和Python的第三方库。包含机器学习、计算机视觉和图像处理的工具包,被广泛的应用于机器人、嵌入式设备、移动电话和大型高性能计算环境。是开源许可用户免费使用。

2025-09-25 20:03:31 1059

原创 LSTM自然语言处理情感分析项目(一)构建词汇表

tqdm用于显示后续for循环进程pkl用于保存后续的词汇表字典文件file_path是微博评论文件地址max_size即为字典最大词汇数min_freq是词的最小出现次数tokenizer是一个函数,用于后续的将评论切割成每个单词vocab_dic用于保存单词的字典。

2025-09-24 21:08:21 1232

原创 ollama和open-webui的使用

Ollama是一个开源的大型语言模型服务工具,它帮助用户快速在本地运行大模型。通过简单的安装指令,用户可以执行一条命令就在本地运行开源大型语言模型Retrieval-Augmented Generation(检索增强生成)为大模型提供外部知识源的概念达到知识更新的效果,这使它们能够生成准确且符合上下文的答案,同时能够减少模型幻觉。Open WebUI是一个可扩展、功能丰富、用户友好的自托管WebUI,专为大型语言模型(LLM)设计,旨在完全离线操作。它提供了直观且响应式的用户界面,使用户能够方便地。

2025-09-23 16:20:35 1325

原创 opencv人脸识别

LBPH(Local Binary Patterns Histogram,局部二值模式直方图)算法使用的模型基于LBP(Local Binary Pattern,局部二值模式)算法。LBP 算法最早是被作为一种有效的纹理描述算提出的,因在表述图像局部纹理特征方面效果出众而得到广泛应用。Eigenfaces是在人脸识别的计算机视觉问题中使用的一组特征向量的名称,Eigenfaces是基于PCA(主成分分析)算法实现的。

2025-09-22 20:00:54 1547

原创 循环神经网络RNN和LSTM

如文本、语音、股票、时间序列等数据,当前数据内容与前面的数据有关是一种RNN特殊的类型,可以学习长期依赖信息。大部分与RNN模型相同,但它们用了不同的函数来计算隐状态。举例:当你想在网上购买生活用品时,一般都会查看一下其他已购买的用户评价。当你浏览评论时,大脑下意识记住重要的关键词,比如“好看”和“真酷”这样的词汇,而不太会关心“我”、“也”、“是”等字样。

2025-09-21 20:20:15 1054

原创 大模型介绍

大模型,简单来说,就是具有海量参数规模的机器学习模型。这些模型通常基于深度学习架构,能够处理和学习极其复杂的数据模式。以 GPT-3 为例,其参数数量高达 1750 亿,如此庞大的参数规模使得模型能够捕捉到语言中极为细微的语义和语法信息。大模型的 “大” 不仅体现在参数数量上,还体现在其训练数据的规模和多样性上。它们通常在包含数十亿甚至数万亿个单词、图像、音频等多种数据类型的大规模数据集上进行训练,从而具备了对广泛知识和复杂任务的强大理解与处理能力。

2025-09-20 22:44:48 925

原创 DNN人脸检测和微笑检测

加载用于人脸识别和笑脸检测的xml文件。需要提前将xml文件复制到当前目录下。注意这里的坐标要加上之前的x,y。根据位置信息画出矩形框。

2025-09-19 19:20:46 809

原创 opencv DNN模块及利用实现风格迁移

定义: 开源项目OpenCV的深度神经网络模块,主要用于加载和调用已训练好的模型完成预测。特点模块本身仅实现模型推理功能,代码精简。外部依赖性极低,无需复杂的环境部署。提供统一接口(readNet),支持TensorFlow、Caffe、PyTorch等多种框架训练的模型。模型支持多种设备和操作系统。DN模块可用于实现图片的风格迁移,即将图像转化为特定画风。实现流程:加载预训练模型(如星空模型),循环处理视频帧,通过前向传播获得结果,随后经过归一化和维度转换,最终在图像开发者上显示。

2025-09-18 19:14:10 1368

原创 物体跟踪案例和光流估计(描绘轨迹)

物体跟踪功能可以从摄像头画面中提取运动物体并持续追踪其位置。用户可以通过指定一个初始目标区域,让跟踪功能识别并跟随移动中的目标物。该技术类似于模板匹配,但对人眼识别的物体反应更快。功能: 可以绘制运动物体的运动路径,如人物走过的路线。原理: 通过检测图像中特征点(如角点)在连续帧之间的移动(瞬时速度),从而追踪并绘制出轨迹。算法局限: 当对象运动过快(大运动)、画面光照变化剧烈或过多新进入的主体时,算法会失效。#定义特征点检测参数。

2025-09-17 19:07:31 848

原创 摄像头文档识别与透视变化技术和背景建模技术(追踪)

背景建模旨在从视频流中将静态背景与动态前景(如行人)进行分离。该技术有多种实现方法,本次主要探讨了基于混合高斯模型的方法。应用场景包括目标检测、物体跟踪等。

2025-09-16 19:45:21 1134

原创 答题卡自动识别案例

该过程采用“轮廓查找”与“透视变换”。通过灰度化、二值化等预处理,利用cv2.findContours找到答题卡的最外层轮廓,随后对轮廓进行近似得到四个角点,最后应用透视变换将答题卡区域整齐地裁剪出来。approx的长度必须为四,得到答题卡区域轮廓的四个近似点坐标矩阵数组。对所有轮廓做外接矩形条件判断,筛选出所有圆形答题轮廓共25个。

2025-09-15 20:12:30 1039

原创 图像拼接案例,抠图案例

目标:将两张视角不同、角度倾斜的图片(如包含A/B/C物的图片)如下通过算法融合,使其在同一平面视角下呈现。技术路径:使用SIFT特征提取两个图片中的关键点和描述符。采用暴力匹配器(bf_match)进行特征匹配,因其适用于特征点数量较少的场景。基于匹配结果计算并应用透视变换,最终完成两图拼接。

2025-09-14 20:27:33 1413

原创 利用sift提取特征完成指纹识别

直接使用sift的方法detectAndCompute()分别返回验证图src和模板图model的关键点keypoint和关键点的描述符descripter,此过程可同时完成“Detect”与“Compute”。调用上一步自定义的getNum()方法得到该图片与database中的图片匹配的关键点个数,并将与每个指纹照片的匹配点个数打印出来。目标:捕捉待识别指纹与指纹库(database)中所有指纹图片的相似度,找出匹配度最高的指纹。trainIdx可以返回匹配成功后模板图上对应的关键点索引。

2025-09-13 16:39:15 1372

原创 图像投影(透视)转化技术和特征提取

背景与目标:介绍一种图像处理技术,用于将倾斜、扭曲的发票等图片(如票据上的发票图像),通过透视变换,矫正为标准的矩形(如正方形),使文字更清晰易读。核心方法:利用OpenCV中的函数,核心步骤包括:使用findContours和轮廓近似(approxPolyDP)定位并获取被处理物体(如发票)的四个角点坐标,这两个点集分别为“变化前”与“变化后的目标点应用getPerspectiveTransform函数计算出描述两者之间变换关系的“变换矩阵M”。利用透视变换函数(),应用变换矩阵M处理原图。

2025-09-12 19:14:34 1351

原创 图像直方图,直方图均衡化和掩膜

是一种图像增强技术,它可以通过增加图像的对比度和亮度来改善图像的质量。实现方法:通过将图像的像素值分布均匀化来实现这一目标。在Python OpenCV中,可以使用cv2.equalizeHist()函数来实现直方图全局均衡化。原理:将图像像素的灰度分布拉伸,使其在整个灰度范围内均匀分布,从而增强图像的对比度和细节。效果:在处理暗部图像时,能使原本暗淡的部分变得更亮、更具细节,如下面的的“black.jpg”图片在均衡化后变得清晰可见。plt.show()plt.show()均衡化前直方图。

2025-09-11 19:27:50 850

原创 模板匹配拓展,图片上采样下采样和图像金字塔

向金字塔顶部移动时,图像的尺寸和分辨率都不断地降低。通常情况下,每向上移动一级,图像的宽和高都降低为原来的1/2。做法: 1、高斯滤波 2、删除其偶数行和偶数列 OpenCV函数cv2.pyrDown()为了在向上采样是能够恢复具有较高分辨率的原始图像,就要获取在采样过程中所丢失的信息,这些丢失的信息就构成了拉普拉斯金字塔。也是拉普拉斯金字塔是有向下采样时丢失的信息构成。首先我们可以先观察下采样再上采样后图像无法还原,然后我们使用拉普拉斯金字塔来还原。

2025-09-10 19:50:00 793

原创 opencv 银行卡号识别案例

具体的判定条件,选择合适的区域,根据实际任务。

2025-09-09 22:44:25 1460 1

原创 CBOW模型以上下文词汇预测当前词

将传进来的上下文词的列表通过word_to_idx字典获取对应的索引序号(方便热编码)再转化为tensor类型返回网络结构:采用包含词嵌入层(embedding layer)、第一个全连接层(linear)和第二个全连接层的三层神经网络。输出层的神经元数量与词库大小一致(如49),以支持多分类任务。输入输出:模型接收ID形式的文本(如“vr to star”转化为[37, 1, 27]),经过处理后输出每个词的概率分布。优化策略。

2025-09-08 14:34:02 1116

原创 自然语言处理 基于神经网络的词向量转化模型word2vec

5、将1*V 向量softmax归一化后输出取每个词的概率向量1*V6、将概率值最大的数对应的词作为预测词。7、将预测的结果1*V 向量和真实标签1*V 向量(真实标签中的V个值中有一个是1,其他是0)计算误差(

2025-09-07 20:38:39 1714

原创 残差网络 迁移学习对食物分类案例的改进

torchvision库中有大量的优秀的视觉方面的已经训练好的模型,torch.nn则倾向于自己搭建网络我们直接导入何凯明的resnet18模型,注意这里的模型是需要网络下载的fc.in_features属性可以获得最后一层全连接层的输入个数然后我们直接把这个fc层赋值成一个新的全连接层并把输出设置为20return out。

2025-09-06 17:28:23 1378

原创 残差网络ResNet

残差网络最重要的就是定义一个残差模块如下图所示的结构现在我们定义一个残差模块类最后的返回值torch.relu(out+x)则实现了跨层连接接下来我们来定义ResNet模型可以看到我们使用了三次残差模块return xfrom torch import nn#导入神经网络模块from torch.utils.data import DataLoader#数据包管理工具,打包数据from torchvision import datasets#封装了很多与图像相关的模型,和数据集。

2025-09-05 19:09:29 1003

原创 食物分类案例优化 调整学习率和迁移学习

自定义调整则允许用户编写Lambda函数实现,但需用户自行实现。通过自定义关于epoch的lambda函数调整学习率(LambdaLR)

2025-09-04 19:45:48 1279 1

原创 食物分类案例优化改进 (数据增强,最优模型保存和使用)

代码如下。

2025-09-03 15:53:13 1292 1

空空如也

空空如也

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

TA关注的人

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