计算机视觉
文章平均质量分 80
小陈phd
哇咔咔,过拟合,我跟你拼了;V:SWPUCWF 欢迎技术交流
展开
-
深度学习从入门到精通—Transformer
梯度消失和梯度爆炸:这是RNN最主要的问题。由于序列的长距离依赖,当错误通过层传播时,梯度可以变得非常小(消失)或非常大(爆炸),这使得网络难以学习。计算效率低:RNN由于其递归性质,必须按序列顺序执行计算,这限制了计算的并行性。对于长序列,这会导致训练过程非常慢。难以捕捉长距离依赖:尽管理论上RNN能够处理任何长度的序列,但在实践中,它们往往难以学习到输入序列中的长距离依赖关系。原创 2024-04-22 03:32:07 · 1090 阅读 · 0 评论 -
深度学习从入门到精通——图像分割实战DeeplabV3
DeeplabV3算法参数配置关于数据集的配置训练集参数数据预处理模块DataSet构建模块测试一下数据集去正则化参数配置关于数据集的配置 parser = argparse.ArgumentParser() # Datset Options parser.add_argument("--data_root", type=str, default=r'D:/', help="path to Dataset") parser原创 2021-12-24 14:49:01 · 2969 阅读 · 0 评论 -
深度学习之图像分割从入门到精通——基于unet++实现细胞分割
这两个评分函数都以模型的真正例为分子,而分母则是真正例、假正例和假负例的总和,以此来衡量模型预测结果与真实标签的相似程度。这个损失函数的目标是最小化二元交叉熵损失和最大化 Dice 相似度,以达到更好的模型训练效果。Dice Coefficient 也是一种常用的图像分割评价指标,衡量模型输出和真实标签之间的相似度。IoU 是一种常用的图像分割评价指标,它衡量了模型输出与真实标签之间的重程度。表示真正例(模型正确预测为正样本的数量),表示假正例(模型错误预测为正样本的数量),表示二元交叉熵损失,原创 2024-04-21 11:04:10 · 847 阅读 · 0 评论 -
OpenCV从入门到精通实战(九)——基于dlib的疲劳监测 ear计算
使用定义了包含68个点的面部关键点,用于眼部分析。])此函数计算眼部的纵横比,用于判断眼睛是否闭合。return ear。原创 2024-04-18 02:11:35 · 396 阅读 · 0 评论 -
OpenCV从入门到精通实战(八)——基于dlib的人脸关键点定位
使用定义了两组面部关键点,一组包含68个点,另一组包含5个点,这些关键点用于后续的特征提取。])原创 2024-04-18 02:03:04 · 626 阅读 · 0 评论 -
OpenCV从入门到精通实战(七)——探索图像处理:自定义滤波与OpenCV卷积核
接下来,我们实现一个名为convolve的函数,该函数接收一个图像和一个卷积核作为输入,并返回卷积后的结果。# 输入图像和核的尺寸# 选择pad,卷积后图像大小不变# 重复最后一个元素,top, bottom, left, right# 卷积操作# 提取每一个卷积区域# 内积运算# 保存相应的结果# 将得到的结果放缩到[0, 255]原创 2024-04-18 01:52:59 · 446 阅读 · 0 评论 -
OpenCV从入门到精通实战(六)——多目标追踪
在OpenCV中,有多种对象追踪器可用。我们将它们存储在一个字典中,便于后续使用。import cv2# 配置参数# opencv已经实现了的追踪算法# 实例化OpenCV's multi-object tracker# 视频流# 取当前帧# 到头了就结束break# resize每一帧width=600# 追踪结果# 绘制区域# 显示# 选择一个区域,按s# 创建一个新的追踪器# 退出break。原创 2024-04-18 01:36:42 · 669 阅读 · 0 评论 -
OpenCV从入门到精通实战(五)——dnn加载深度学习模型
从指定路径读取图像文件、利用OpenCV进行图像处理,以及使用Caffe框架进行深度学习预测的过程。原创 2024-04-18 01:03:39 · 711 阅读 · 0 评论 -
OpenCV从入门到精通实战(四)——答题卡识别判卷系统
实现答题卡识别系统中的各个功能。每个步骤都是自动化处理的关键部分,确保系统能够准确地读取和评分答题卡。通过这样的方式,可以大大减少人工操作的需求,提高评分的效率和准确性。原创 2024-04-18 00:45:54 · 1366 阅读 · 0 评论 -
OpenCV从入门到精通实战(三)——全景图像拼接
特征点检测与描述子计算使用 SIFT 算法检测图像的关键点,并计算每个点的描述子。这一步是识别图像中的特征并提取有用信息的关键步骤。特征点匹配使用 KNN 和比值测试来筛选良好的匹配点。这一步是确保两图中对应的特征点确实相似,为后续的图像对齐打下基础。计算单应性矩阵并进行图像变换使用 RANSAC 算法基于匹配点对计算单应性矩阵,这一矩阵能够描述一张图像到另一张图像的透视变换。使用该矩阵通过透视变换将一张图像变形,使其与另一张图像对齐。图像拼接。原创 2024-04-17 23:07:29 · 877 阅读 · 0 评论 -
OpenCV基本图像处理操作(十一)——图像特征Sift算法
在一定的范围内,无论物体是大还是小,人眼都可以分辨出来,然而计算机要有相同的能力却很难,所以要让机器能够对物体在不同尺度下有一个统一的认知,就需要考虑图像在不同的尺度下都存在的特点。尺度空间的获取通常使用高斯模糊来实现不同σ的高斯函数决定了对图像的平滑程度,越大的σ值对应的图像越模糊。D(x,y,σ)=[G(x,y,kσ)−G(x,y,σ)]∗I(x,y)=L(x,y,kσ)−L(x,y,σ)D(x, y, \sigma)=[G(x, y, k \sigma)-G(x, y, \sigma)] * I(原创 2024-04-17 22:53:43 · 840 阅读 · 1 评论 -
OpenCV基本图像处理操作(十)——图像特征harris角点
角点是图像中的一个特征点,指的是两条边缘交叉的点,这样的点在图像中通常表示一个显著的几角。在计算机视觉和图像处理中,角点是重要的特征,因为它们通常是图像中信息丰富的区域,可以用于图像分析、对象识别、3D建模等多种应用。角点的识别可以帮助在进行图像匹配和跟踪时提供稳定的参考点,这是因为角点在图像中的位置比较容易通过算法检测出来,且不易受到视角变化的影响。Harris 角点检测是一种流行的角点检测算法,用于从图像中识别出角点的位置,即图像中两条边交叉的特征点。如果响应函数的值超过某个阈值,则该点被认为是角点。原创 2024-04-17 22:39:59 · 1169 阅读 · 0 评论 -
OpenCV基本图像处理操作(九)——特征匹配
虽然Brute-Force匹配方法在小型或中等复杂度的数据集上可以非常有效,但它的计算成本随着特征点数量的增加而显著增加,这可能导致在大规模数据集上的性能问题。该方法通过逐一比较目标图像中的所有特征点与源图像中的特征点来寻找最佳匹配。:在蛮力匹配中,源图像的每个特征点的描述符都会与目标图像中每个特征点的描述符进行比较。:对提取出的每个特征点生成一个描述符,这个描述符捕捉了特征点周围的图像信息,通常是通过一定的算法(如SIFT、SURF或ORB等)来实现。:首先,从两个待比较的图像中提取关键特征点。原创 2024-04-17 22:00:41 · 650 阅读 · 0 评论 -
OpenCV基本图像处理操作(八)——光流估计
它基于这样的假设:在连续的视频帧之间,一个物体的移动会导致像素强度的连续性变化。空间一致:一个场景上邻近的点投影到图像上也是邻近点,且邻近点速度一致。小运动:随着时间的变化不会引起位置的剧烈变化,只有小运动情况下才能用前后帧之间单位位置变化引起的灰度变化去近似灰度对位置的偏导数。光流是空间运动物体在观测成像平面上的像素运动的“瞬时速度”,根据各个像素点的速度矢量特征,可以对图像进行动态分析,例如目标跟踪。status 特征点是否找到,找到的状态为1,未找到的状态为0。实现光流估计的方法有很多,包括。原创 2024-04-17 21:43:53 · 507 阅读 · 0 评论 -
OpenCV基本图像处理操作(七)——背景建模
由于场景中的目标在运动,目标的影像在不同图像帧中的位置不同。该类算法对时间上连续的两帧图像进行差分运算,不同帧对应的像素点相减,判断灰度差的绝对值,当绝对值超过一定阈值时,即可判断为运动目标,从而实现目标的检测功能。在测试阶段,对新来像素点的值与混合高斯模型中的每一个均值进行比较,如果其差值在2倍的方差之间的话,则认为是背景,否则认为是前景。将前景赋值为255,背景赋值为0。3.当后面来的像素值时,与前面已有的高斯的均值比较,如果该像素点的值与其模型均值差在3倍的方差内,则属于该分布,并对其进行参数更新。原创 2024-04-17 21:31:56 · 634 阅读 · 0 评论 -
OpenCV从入门到精通实战(二)——文档OCR识别(tesseract)
对四个坐标点进行排序,确定文档的四个角(左上,右上,右下,左下)。使用欧氏距离来计算和排序点。# 一共4个坐标点# 按顺序找到对应坐标0123分别是 左上,右上,右下,左下# 计算左上,右下# 计算右上和左下此函数用于排序提供的四个点,确保点的顺序为左上、右上、右下和左下,这对后续的透视变换非常重要。使用cv2.getPerspectiveTransform和cv2.warpPerspective来计算变换矩阵并应用# 获取输入坐标点# 计算输入的w和h值# 变换后对应坐标位置。原创 2024-04-17 21:21:32 · 1436 阅读 · 0 评论 -
OpenCV从入门到精通实战(一)——模板匹配实现信用卡号识别
信用卡识别轮廓模板显示模板图像模板转灰度图转阈值计算轮廓轮廓排序并且保留显示图像转灰度图进行礼帽操作Sobel边缘算子闭操作 补洞轮廓排序结果依次识别轮廓模板识别出来的数字需要比对,需要找个模板对应一下。# 导入工具包import argparseimport cv2import numpy as npfrom imutils import contoursimport myutilsimport cv2def sort_contours(cnts, method="left-to原创 2021-11-19 17:27:48 · 739 阅读 · 0 评论 -
OpenCV基本图像处理操作(六)——直方图与模版匹配
模板匹配和卷积原理很像,模板在原图像上从原点开始滑动,计算模板与(图像被模板覆盖的地方)的差别程度,这个差别程度的计算方法在opencv里有6种,然后将每次计算的结果放入一个矩阵里,作为结果输出。假如原图形是AxB大小,而模板是axb大小,则输出结果的矩阵是(A-a+1)x(B-b+1)原创 2024-04-16 01:43:47 · 517 阅读 · 0 评论 -
OpenCV基本图像处理操作(五)——图像数据操作
这段代码演示了使用 OpenCV 在图像边缘添加不同类型的边框的方法。代码首先指定了要添加到图像四周的边框大小,然后使用不同的边框类型来创建新的图像。最后,使用 matplotlib 展示了原始图像和各种边框效果。原创 2024-04-16 00:51:37 · 464 阅读 · 0 评论 -
OpenCV基本图像处理操作(二)——边缘算子与图像金字塔
较低的阈值可以捕获更多的边缘(但可能包括一些噪声),而较高的阈值只捕获最显著的边缘。这个算法的步骤包括使用高斯滤波器去除图像噪声、计算图像的梯度强度和方向、应用非极大值抑制(NMS)来消除边缘响应的假阳性以及应用双阈值检测和边缘连接。高斯金字塔主要用于图像的多尺度表示。Sobel算子是一种用于边缘检测的图像梯度算子,它通过计算图像亮度的空间梯度来突出显示图像中的边缘。在实践中,Sobel算子通过卷积框架应用于图像,分别计算x和y方向上的梯度,然后根据需要可能会结合这两个方向的梯度来得到边缘的完整表示。原创 2024-04-16 00:14:35 · 532 阅读 · 0 评论 -
OpenCV基本图像处理操作(四)——傅立叶变换
opencv中主要就是cv2.dft()和cv2.idft(),输入图像需要先转换成np.float32 格式。cv2.dft()返回的结果是双通道的(实部,虚部),通常还需要转换成图像格式才能展示(0,255)。得到的结果中频率为0的部分会在左上角,通常要转换到中心位置,可以通过shift变换来实现。高通滤波器:只保留高频,会使得图像细节增强。低频:变化缓慢的灰度分量,例如一片大海。低通滤波器:只保留低频,会使得图像模糊。高频:变化剧烈的灰度分量,例如边界。原创 2024-04-16 00:31:39 · 364 阅读 · 0 评论 -
OpenCV基本图像处理操作(三)——图像轮廓
method:轮廓逼近方法。mode:轮廓检索模式。原创 2024-04-16 00:25:25 · 511 阅读 · 0 评论 -
OpenCV基本图像处理操作(一)——图像基本操作与形态学操作
图像基本操作; 图像形态学处理;原创 2024-04-15 21:44:09 · 1791 阅读 · 0 评论 -
传统CV算法——边缘检测
边缘的定义轮廓和边缘的关系轮廓代表的整体特征,边缘代表局部特征一般认为轮廓是对物体的完整边界的描述,边缘点一个个连接起来构成轮廓。边缘可以 是一段边缘,而轮廓一般是完整的。人眼视觉特性,看物体时一般是先获取物体的轮廓信息, 再获取物体中的细节信息。阶跃型、屋脊型、斜坡型、脉冲型举例:例如上面的图像是图像中水平方向 7 个像素点的灰度值显示效果,我们很容易地判断在 第 4 和第 5 个像素之间有一个边缘,因为它俩之间发生了强烈的灰度跳变。在实际的边缘 检测中,边缘远没有上图这样简单明显,我们需要取对应的阈值来原创 2022-12-29 22:29:55 · 1556 阅读 · 0 评论 -
深度学习从入门到精通——yolov4
BoF:能够提高精度而不增加推断时间比如数据增广的方法:图像几何变换、Cutout、grid mask等,网络正则化的方法:Dropout、Dropblock等,类别不平衡的处理方法,难例挖掘方法,损失函数的设计等BoS(bag of specials)是指那些增加稍许推断代价,但可以提高模型精度的方法。比如增大模型感受野的SPP、ASPP、RFB等,引入注意力机制Squeeze-and-Excitation (SE) 、Spatial Attention Module (SAM)原创 2022-03-04 17:27:32 · 2582 阅读 · 0 评论 -
深度学习从入门到精通——yolov3
YOLO v3论文地址:https://pjreddie.com/media/files/papers/YOLOv3.pdf论文:YOLOv3: An Incremental Improvement[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DpKYQScV-1646385980332)(…/images/yoloV3/image-20220202194620782.png)]先验框(10×13),(16×30),(33×23),(30×61),(62×45原创 2022-03-04 17:26:44 · 2945 阅读 · 0 评论 -
深度学习从入门到精通——图像分割之DeepLab系列算法
DeepLab系列算法图像分割传统做法解决方案参数计算图像金字塔SPP-Layer常用的多尺度提取方法ASPP(atrous convolution SPP)deepLabv3+图像分割传统做法为了增大感受野,通常会采用pooling操作,该下采样操作会丢失一部分信息。解决方案空洞卷积(dilated convolution)通过设置dilated参数可以得到不同感受野的特征(33,77,15*15),扩大感受野。图像分割领域,需要较大感受野没有额外计算可以按照参数扩大任意倍数。不引入额原创 2021-12-23 01:10:28 · 2417 阅读 · 2 评论 -
深度学习传统CV算法——边缘检测算子总结以及新兴边缘算法
边缘检测算子总结边缘检测算子总结SUSAN边缘及角点检测方法SUSAN检测方法概述SUSAN边缘检测边缘响应的计算边缘方向的计算非极大值抑制子像素精度检测位置并不依赖于窗口大小SUSAN角点检测排除误检的角点非极大值抑制SUSAN噪声滤波方法新兴的边缘检测算法边缘检测算子总结算子优缺点比较Roberts对具有陡峭的低噪声的图像处理效果较好, 但利用Roberts算子提取边缘的结果是边缘比较粗, 因此边缘定位不是很准确。Sobel对灰度渐变和噪声较多的图像处理效果比较好, S原创 2021-12-21 16:15:24 · 2960 阅读 · 0 评论 -
深度学习传统CV算法——二阶微分边缘算子
二阶微分边缘算子二阶微分边缘算子二阶微分边缘算子基本思想Laplace 算子拉普拉斯表达式图像中的Laplace 算子二阶微分边缘算子二阶微分边缘算子基本思想边缘即是图像的一阶导数局部最大值的地方,那么也意味着该点的二阶导数为零。二阶微分边缘检测算子就是利用图像在边缘处的阶跃性导致图像二阶微分在边缘处出现零值这一特性进行边缘检测的。对于图像的二阶微分可以用拉普拉斯算子来表示:∇2I=∂2I∂x2+∂2I∂y2\nabla^{2} I=\frac{\partial^{2} I}{\pa原创 2021-12-21 14:27:18 · 1143 阅读 · 0 评论 -
深度学习传统CV算法——一阶微分边缘算子
一阶微分边缘算子详解一阶微分边缘算子一阶微分边缘算子基本思想Roberts 算子Roberts 算法思想Roberts 算法步骤Roberts 算子的推导Roberts 算法优缺点Prewitt 算子Prewitt 算法思想Prewitt 算法步骤Prewitt 算法优缺点Sobel 算子Sobel 算法思想Sobel 算法步骤Sobel 算法优缺点Sobel 的变种——Istropic SobelKirsch 算子Kirsch 算法思想Kirsch 算法步骤Kirsch 算法计算优化Kirsch 算法优缺原创 2021-12-20 16:45:48 · 2532 阅读 · 0 评论 -
深度学习传统CV算法——边缘检测算法综述
边缘检测边缘概述认识边缘定义轮廓和边缘的关系边缘的类型边缘检测的概念概念边缘检测方法基本方法图像滤波图像增强图像检测图像定位边缘检测算子的概念常见的边缘检测算子用梯度算子实现边缘检测的原理梯度算子边缘点梯度梯度算子梯度如何衡量使用梯度算子实现边缘检测原理实现参考边缘概述认识边缘定义边缘是不同区域的分界线,是周围(局部)灰度值有显著变化的像素点的集合,有幅值与方向两个属性。这个不是绝对的定义,主要记住边缘是局部特征,以及周围灰度值显著变化产生边缘。轮廓和边缘的关系一般认为轮廓是对物体的完整边界的描原创 2021-12-16 17:22:16 · 6429 阅读 · 0 评论