- 博客(96)
- 收藏
- 关注
原创 一文读懂YOLOv4:目标检测领域的技术融合与性能突破
YOLOv4 并非依赖单一技术的 “单点突破”,而是目标检测领域 “技术融合” 的典范 —— 它把数据增强、损失计算、网络结构等方向的先进设计系统性整合,既解决了前代模型的定位不准、漏检、速度慢等问题,又保持了工业场景需要的实用性,最终实现了检测精度与推理速度的完美平衡。
2025-11-10 22:42:50
1972
原创 YOLO v3:目标检测领域的经典革新与实战指南
YOLO 系列的核心思想是将目标检测问题转化为 “回归问题”—— 通过一个神经网络直接预测目标的类别概率与位置坐标,无需先生成候选框(如两阶段算法 Faster R-CNN 的 RPN 网络)。YOLO v1 以 “快” 著称,但存在小目标检测效果差、每个网格仅预测 1 个类别等问题;YOLO v2 通过锚框(Anchor Box)、多尺度训练等改进提升了精度,但小目标检测仍有瓶颈。
2025-10-14 22:08:47
1254
1
原创 深入解析 YOLO v2
YOLO v2 通过对训练策略、网络架构、定位方法的全方位优化,打破了 “速度与精度不可兼得” 的魔咒,成为目标检测领域的经典之作。它不仅解决了 YOLO v1 的核心痛点,更开创了 “跨数据集联合训练”“动态先验框” 等创新思路,为后续 YOLO 系列的演进奠定了坚实基础。即使在 YOLO v8 已发布的今天,YOLO v2 的设计思想仍对轻量级目标检测算法的研发具有重要参考价值,是学习目标检测技术不可绕过的关键模型。
2025-10-12 23:09:08
1117
原创 YOLO 系列目标检测算法入门:从 YOLO v1 开始理解 One-Stage 检测器
将目标检测问题转化为一个回归问题,通过单次前向传播即可完成对图像中所有目标的定位与分类。任务是否加权权重原因定位(x, y, w, h)是λcoord5λcoord5定位不准影响大无目标置信度是λnoobj0.5λnoobj0.5负样本过多有目标置信度 & 分类否1.0正样本已稀疏这种设计体现了 YOLO v1 在样本不平衡和多任务冲突下的工程智慧。YOLO v1 虽然在精度上不如后来的版本,但其开创性的“单次检测”思想彻底改变了目标检测的范式。
2025-10-10 22:15:30
1547
原创 YOLO v1:目标检测领域的单阶段革命之作
YOLO v1虽然存在精度不足、小目标检测能力弱等问题,但它开创了“单阶段目标检测”的新范式,证明了“端到端回归”在目标检测任务中的可行性。其核心思想(网格划分、边界框回归、置信度设计)为后续YOLO系列(v2、v3、v5)及其他单阶段算法(如SSD、RetinaNet)提供了重要借鉴。如果说R-CNN系列奠定了目标检测的深度学习基础,那么YOLO v1则开启了实时目标检测的新时代。对于刚接触目标检测的开发者,理解YOLO v1的设计思路,是掌握后续复杂算法的关键一步。
2025-10-10 21:36:26
1380
原创 手把手教你用 Flask+PyTorch 实现图像分类模型部署
通过本文的步骤,你已经实现了一个完整的 “客户端 - 服务器” 图像分类系统。这种部署方式不仅适用于图像分类,还可扩展到目标检测、语义分割等其他深度学习任务,只需修改模型加载和数据处理逻辑即可。
2025-10-09 21:46:42
990
原创 一文读懂循环神经网络(RNN):原理、局限与LSTM解决方案
RNN通过“隐状态”实现对序列数据的处理,但受限于梯度消失,无法学习长期依赖;LSTM通过“遗忘门”“输入门”“输出门”的门控机制,解决了RNN的痛点,能有效捕捉长序列中的关键信息;在实际NLP项目(如本文后续会讲的微博情感分析)中,LSTM是处理长文本的首选模型,而RNN可用于短序列任务以降低计算成本。
2025-09-28 22:48:09
1921
原创 计算机视觉:人脸关键点定位与轮廓绘制
在计算机视觉领域,人脸关键点检测是表情识别、人脸编辑、疲劳监测等高级应用的核心基础。本文将跳过环境搭建环节,直接从核心原理出发,结合 OpenCV 与 dlib 库,详细讲解人脸 68 个关键点的定位与面部轮廓绘制的完整实现过程。
2025-09-27 23:35:58
1473
1
原创 OpenCV :基于 Lucas-Kanade 算法的视频光流估计实现
光流估计是指空间运动物体在图像平面上像素运动的瞬时速度,它能反映相邻帧之间像素的位置变化。通过光流向量,我们可以判断目标的运动方向和速度,常用于目标跟踪、运动检测、视频防抖等场景。
2025-09-26 21:53:26
994
原创 计算机视觉:OpenCV+Dlib 人脸检测
在计算机视觉领域,人脸检测是人脸识别、表情分析、疲劳监测等应用的基础步骤。本文结合 OpenCV 与 Dlib 两大工具库,从环境配置到实战代码,手把手教你实现高效的人脸检测,尤其适合刚入门计算机视觉的开发者。
2025-09-25 21:34:09
1407
原创 一文读懂循环神经网络(RNN):原理、局限与LSTM解决方案
RNN通过“隐状态”实现对序列数据的处理,但受限于梯度消失,无法学习长期依赖;LSTM通过“遗忘门”“输入门”“输出门”的门控机制,解决了RNN的痛点,能有效捕捉长序列中的关键信息;在实际NLP项目(如本文后续会讲的微博情感分析)中,LSTM是处理长文本的首选模型,而RNN可用于短序列任务以降低计算成本。
2025-09-24 23:03:26
1432
原创 OpenCV:指纹识别
指纹系统的核心算法围绕 “特征提取(SIFT)+ 特征匹配(FLANN)SIFT 确保指纹特征在尺度、旋转变化下的稳定性,是匹配的 “基础”;FLANN 通过 K 近邻 + Lowe's 比率,快速筛选优质匹配对,是精度的 “保障”;多模板识别则通过 “遍历 + 最优筛选”,将单对匹配扩展到多用户场景。实际开发中,需根据指纹图像质量(噪声、分辨率)、设备算力、实时性要求,调整算法参数或替换算法,实现 “精度与速度” 的平衡。
2025-09-23 23:00:06
1178
原创 OpenCV:人脸识别实战,3 种算法(LBPH/EigenFaces/FisherFaces)代码详解
在计算机视觉领域,人脸识别是最经典且实用的技术之一。OpenCV 提供了 LBPH、EigenFaces、FisherFaces 三种成熟的人脸识别算法,无需复杂的深度学习框架,仅用传统机器学习就能实现高效人脸匹配。
2025-09-22 21:18:02
2171
原创 OpenCV:人脸检测,Haar 级联分类器原理
在 OpenCV 的人脸检测技术中,Haar 级联分类器凭借高效的定位能力和低部署门槛,成为计算机视觉入门的核心工具。它通过捕捉人脸灰度特征与多级筛选机制,实现从图像中快速定位人脸的目标,广泛应用于人脸识别、表情分析等场景。
2025-09-21 21:01:13
1305
原创 OpenCV:DNN 模块实现图像风格迁移
本次实操严格遵循 DNN 模块 “预处理→模型导入→推理→结果处理” 的流程,核心是理解 “模型输入格式要求” 与 “图像维度转换逻辑”,这是保证风格迁移成功的关键。
2025-09-20 22:59:37
1264
2
原创 OpenCV :基于 Lucas-Kanade 算法的视频光流估计实现
光流估计是指空间运动物体在图像平面上像素运动的瞬时速度,它能反映相邻帧之间像素的位置变化。通过光流向量,我们可以判断目标的运动方向和速度,常用于目标跟踪、运动检测、视频防抖等场景。
2025-09-19 22:54:36
1447
原创 OpenCV:背景建模
在计算机视觉的视频分析领域,背景建模是核心技术之一。它的核心目标是从动态视频序列中分离出与(如移动的人、车辆、物体等),为后续的运动目标跟踪、行为分析等任务奠定基础。
2025-09-17 15:58:15
1069
1
原创 OpenCV:答题卡识别
一共有4个坐标点rect = np.zeros(shape=(4, 2), dtype="float32") # 用来存储排序之后的坐标位置# 按顺序找到对应坐标0123分别是 左上,右上,右下,左下s = pts.sum(axis=1) # 对pts矩阵的每一行进行求和操作,(x+y)diff = np.diff(pts, axis=1) # 对pts矩阵的每一行进行求差操作,(y-x)
2025-09-16 20:19:03
676
原创 OpenCV:图像拼接(SIFT 特征匹配 + 透视变换)
在计算机视觉领域,图像拼接是一项重要且实用的技术,它能将多幅存在重叠区域的图像融合成一幅宽视角的完整图像,广泛应用于全景摄影、遥感图像处理等场景。本文将详细介绍如何使用 Python 结合 OpenCV 库,通过 SIFT 特征检测与匹配、透视变换等核心步骤,实现两张图像的自动拼接,并在正文中明确标注各步骤对应的 OpenCV API 及参数含义。
2025-09-15 22:42:26
2042
1
原创 OpenCV:指纹识别
指纹系统的核心算法围绕 “特征提取(SIFT)+ 特征匹配(FLANN)SIFT 确保指纹特征在尺度、旋转变化下的稳定性,是匹配的 “基础”;FLANN 通过 K 近邻 + Lowe's 比率,快速筛选优质匹配对,是精度的 “保障”;多模板识别则通过 “遍历 + 最优筛选”,将单对匹配扩展到多用户场景。实际开发中,需根据指纹图像质量(噪声、分辨率)、设备算力、实时性要求,调整算法参数或替换算法,实现 “精度与速度” 的平衡。
2025-09-14 23:26:25
1891
原创 OpenCV:特征提取
图像特征是图像中具有独特性、可区分性的 “关键信息”,能够反映图像局部或全局的本质属性。局部特征:如角点、边缘、纹理,聚焦图像局部区域的灰度变化或结构信息,适用于目标匹配、姿态估计等场景;全局特征:如直方图、图像矩,描述整幅图像的统计属性,常用于图像检索、风格分类;深度学习特征:通过 CNN 网络自动学习的抽象特征,如 CNN 的卷积层输出,适用于复杂场景的图像识别。在传统计算机视觉中,局部特征因具备尺度不变性(对图像缩放不敏感)、旋转不变性(对图像旋转不敏感)和光照鲁棒性。
2025-09-13 23:27:07
1537
原创 OpenCV:特征提取
图像特征是图像中具有独特性、可区分性的 “关键信息”,能够反映图像局部或全局的本质属性。局部特征:如角点、边缘、纹理,聚焦图像局部区域的灰度变化或结构信息,适用于目标匹配、姿态估计等场景;全局特征:如直方图、图像矩,描述整幅图像的统计属性,常用于图像检索、风格分类;深度学习特征:通过 CNN 网络自动学习的抽象特征,如 CNN 的卷积层输出,适用于复杂场景的图像识别。在传统计算机视觉中,局部特征因具备尺度不变性(对图像缩放不敏感)、旋转不变性(对图像旋转不敏感)和光照鲁棒性。
2025-09-12 23:27:21
1343
原创 OpenCV:图像透视变换
在计算机视觉领域,我们经常会遇到拍摄角度不佳导致图像变形的问题,比如倾斜的发票、扭曲的文档等。这时候,图像透视变换就成了“救星”。它能将倾斜、变形的图像矫正为正视角,为后续的文字识别、信息提取等操作扫清障碍。今天,我们就从原理入手,结合实战案例,带大家全面掌握图像透视变换。
2025-09-11 23:01:34
1934
原创 OpenCV:图像直方图
图像直方图是图像像素灰度级别分布的图形化表达,它以 “像素灰度值” 为横轴,以 “该灰度值对应的像素数量” 为纵轴,直观地呈现图像的明暗分布特征。举个简单例子:一张纯黑图像的直方图,只会在灰度值 0 的位置出现一个峰值;而一张高对比度图像的直方图,像素会集中在灰度值较低(暗部)和较高(亮部)的区域,中间灰度区域像素较少。
2025-09-10 23:23:46
1523
原创 OpenCV:图像金字塔
图像金字塔是由同一幅图像的多个不同分辨率子图构成的集合,因其层级结构形似“金字塔”而得名。层级关系:金字塔的底部是原始高分辨率图像(记为G₀),向上每一层(G₁、G₂、…、Gₙ)的分辨率都逐步降低,顶部可能仅保留1个像素点。分辨率变化规律:通常每向上移动一层,图像的宽度和高度会缩小为前一层的1/2,像素总数减少为1/4(也可根据需求调整缩放比例)。核心作用:将单分辨率图像转化为多尺度表示,让算法能在不同“尺度”下分析图像(例如大尺度检测目标整体,小尺度捕捉细节)。示例。
2025-09-09 21:43:59
1329
原创 OpenCV:银行卡号识别
myutils.py轮廓排序和图像缩放import cv2"""对轮廓进行排序(支持4种排序方式):param cnts: 输入的轮廓列表:param method: 排序方式,默认左到右(left-to-right),可选:right-to-left、top-to-bottom、bottom-to-top:return: 排序后的轮廓列表、对应的边界框列表"""reverse = False # 是否逆序,默认正序i = 0 # 排序依据:0=x坐标(左右排序),1=y坐标(上下排序)
2025-09-08 23:23:19
2755
1
原创 深度学习:残差网络ResNet与迁移学习
读取图像(假设路径在csv第0列)img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # 转为RGBimg = cv2.resize(img, (224, 224)) # 统一尺寸img = img.transpose((2, 0, 1)) # (H,W,C) → (C,H,W),适应PyTorchlabel = (label + 1) / 2 # 假设原始标签为[-1,1],归一化到[0,1]# 应用数据增强回归任务使用均方误差(MSE)损失# 前向传播。
2025-09-06 23:42:33
2094
2
原创 深度学习:CNN 模型训练中的学习率调整(基于 PyTorch)
当预设策略无法满足需求时,可通过LambdaLR自定义学习率调整规则,支持为不同层设置不同学习率(如微调预训练 CNN 时,对浅层和深层采用不同学习率)。原理:通过lr_lambda函数定义学习率与 epoch 的关系,函数输入为当前 epoch,输出为学习率调整倍数。适用场景迁移学习中,对预训练层(如 ResNet 的 conv1-conv4)用小学习率微调,对新增全连接层用大学习率训练;需特殊学习率变化规则(如前期快速衰减,后期固定)的场景。代码实现 1:全局自定义调整。
2025-09-05 20:43:56
1874
1
原创 深度学习:自定义数据集处理、数据增强与最优模型管理
深度学习项目通常遵循 "数据→模型→训练→部署" 的闭环流程,本文以食物识别任务为例,详解从自定义数据集处理到模型训练、优化及调用的完整流程。自定义数据集构建与预处理数据增强策略设计卷积神经网络 (CNN) 模型构建模型训练与最优模型保存训练后模型调用与推理├── train/│ ├── 苹果/│ └── 香蕉/│ └── ...└── test/└── ...使用 PyTorch 的Dataset类封装数据集,实现数据的按需加载。核心代码# 从索引文件读取数据。
2025-09-04 22:39:23
941
原创 OpenCV:图像轮廓检测
本文详细介绍了 OpenCV 中轮廓检测的核心技术,包括轮廓检测的预处理步骤、函数的使用、轮廓绘制方法以及轮廓的各种属性计算与操作(面积、周长、筛选、排序、外接形状、轮廓近似等)。轮廓检测在目标识别、图像分割、物体测量等领域有着广泛的应用,掌握这些基础操作是进行更复杂计算机视觉任务的前提。实际应用中,需要根据具体场景选择合适的轮廓检索模式和近似方法,以达到最佳的检测效果。
2025-09-03 22:45:40
1354
原创 OpenCV:模板匹配
在计算机视觉领域,模板匹配是一种简单有效的目标检测方法,它可以在一幅图像中快速查找与模板图像相似的区域。本文将基于 OpenCV 库,介绍如何使用模板匹配技术在图像中定位目标。
2025-09-01 20:30:56
834
原创 OpenCV:图像轮廓检测
本文详细介绍了 OpenCV 中轮廓检测的核心技术,包括轮廓检测的预处理步骤、函数的使用、轮廓绘制方法以及轮廓的各种属性计算与操作(面积、周长、筛选、排序、外接形状、轮廓近似等)。轮廓检测在目标识别、图像分割、物体测量等领域有着广泛的应用,掌握这些基础操作是进行更复杂计算机视觉任务的前提。实际应用中,需要根据具体场景选择合适的轮廓检索模式和近似方法,以达到最佳的检测效果。
2025-08-31 21:57:41
1527
原创 深度学习:CUDA、PyTorch下载安装
NVIDIA 显卡中的运算平台是 CUDA,不过,即使您的计算机有 NVIDIA 显卡,但您的显卡中也不一定含有 CUDA,没有的话就要下载 CUDA。),它是可以向下兼容的。电脑支持的最高版本的CUDA是由显卡驱动决定的,如果您想下载高版本的CUDA要更新显卡驱动,显卡驱动如何更新与本文无关,这里不赘述,可以自行查找相关教程。】,选择cuda 12.1 版本的,如图,请注意,这里使用 pip 安装,而不是 conda 安装(如果用 conda 安装,最后检验 cuda 时是不可用的)。
2025-08-30 23:16:42
1492
原创 深度学习:卷积神经网络(CNN)
卷积就是拿图像局部窗口的数,和卷积核(Filter)做内积 —— 也就是对应元素相乘再相加。卷积核是一组固定权重的小矩阵,就像 “特征探测器”,不同的卷积核能提取不同的特征,比如检测边缘、让图像变模糊等。把卷积核的中心对准输入图像的某个像素,然后把这个像素和周围像素的数值,跟卷积核的权重分别相乘,再把结果加起来,就是输出的像素值;举个例子:输入图像某区域的像素是 [1,2;0,1],卷积核是 [0,1;-4,2],那输出像素值就是(1×0)+(2×1)+(0×-4)+(1×2)=4。局部连接与权值共享。
2025-08-29 20:01:16
1421
原创 通过代码认识 CNN:用 PyTorch 实现卷积神经网络识别手写数字
卷积神经网络(CNN)是计算机视觉领域的核心模型,相比全连接网络,它能更高效地提取图像特征。本文不空谈理论,而是通过 PyTorch 代码实现一个完整的 CNN 模型,带你在实战中理解卷积、池化等核心概念,掌握 CNN 的工作原理。
2025-08-28 20:45:46
1349
1
原创 深度学习入门:神经网络
由于多层神经网络的损失函数是复合函数,需要使用链式法则(即先计算输出层的梯度,再逐步推导隐藏层、输入层的梯度)。因为如果只有线性计算,无论神经网络有多少层,最终的输出仍然是输入的线性组合,无法处理复杂的非线性问题(如图像中的边缘、纹理等特征)。需要注意的是,感知器只能处理线性可分的数据(如用一条直线就能将两类数据分开的情况),无法处理非线性可分问题(如异或问题)。神经元是神经网络的最小单位,其核心是通过线性计算与非线性激活函数的结合,实现对输入信息的处理。是偏置项,用于调整神经元的激活阈值。
2025-08-27 20:34:54
1326
原创 深度学习:卷积神经网络(CNN)
卷积就是拿图像局部窗口的数,和卷积核(Filter)做内积 —— 也就是对应元素相乘再相加。卷积核是一组固定权重的小矩阵,就像 “特征探测器”,不同的卷积核能提取不同的特征,比如检测边缘、让图像变模糊等。把卷积核的中心对准输入图像的某个像素,然后把这个像素和周围像素的数值,跟卷积核的权重分别相乘,再把结果加起来,就是输出的像素值;举个例子:输入图像某区域的像素是 [1,2;0,1],卷积核是 [0,1;-4,2],那输出像素值就是(1×0)+(2×1)+(0×-4)+(1×2)=4。局部连接与权值共享。
2025-08-26 22:12:17
1555
1
原创 深度学习:从手写数字识别案例认识pytorch框架
在深度学习领域,PyTorch 凭借动态图机制、简洁 API 和灵活的模型构建方式,成为初学者入门与科研落地的优选框架。本文以 MNIST 手写数字识别任务为核心,结合完整 PyTorch 代码与关键理论知识,从数据加载、模型构建到训练测试,带你掌握 PyTorch 深度学习实战的核心流程。
2025-08-25 21:39:25
1106
原创 深度学习:CUDA、PyTorch下载安装
NVIDIA 显卡中的运算平台是 CUDA,不过,即使您的计算机有 NVIDIA 显卡,但您的显卡中也不一定含有 CUDA,没有的话就要下载 CUDA。电脑支持的最高版本的CUDA是由显卡驱动决定的,如果您想下载高版本的CUDA要更新显卡驱动,显卡驱动如何更新与本文无关,这里不赘述,可以自行查找相关教程。】,选择cuda 12.1 版本的,如图,请注意,这里使用 pip 安装,而不是 conda 安装(如果用 conda 安装,最后检验 cuda 时是不可用的)。回忆方法一的安装命令,第一库是。
2025-08-24 23:37:33
2782
原创 深度学习入门:神经网络
首先,我们要明确深度学习在人工智能领域的定位。简单来说,深度学习就是通过构建多层神经网络,让机器从大量数据中自主学习特征和规律,从而实现对未知数据的预测或分类。比如我们常见的图像识别、自然语言处理等应用,背后都离不开深度学习技术的支持。
2025-08-23 23:56:41
1620
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅