- 博客(360)
- 资源 (3)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 深度学习传统CV算法——边缘检测算子总结以及新兴边缘算法
边缘检测算子总结边缘检测算子总结SUSAN边缘及角点检测方法SUSAN检测方法概述SUSAN边缘检测边缘响应的计算边缘方向的计算非极大值抑制子像素精度检测位置并不依赖于窗口大小SUSAN角点检测排除误检的角点非极大值抑制SUSAN噪声滤波方法新兴的边缘检测算法边缘检测算子总结算子优缺点比较Roberts对具有陡峭的低噪声的图像处理效果较好, 但利用Roberts算子提取边缘的结果是边缘比较粗, 因此边缘定位不是很准确。Sobel对灰度渐变和噪声较多的图像处理效果比较好, S
2021-12-21 16:15:24
3108
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 深度学习传统CV算法——二阶微分边缘算子
二阶微分边缘算子二阶微分边缘算子二阶微分边缘算子基本思想Laplace 算子拉普拉斯表达式图像中的Laplace 算子二阶微分边缘算子二阶微分边缘算子基本思想边缘即是图像的一阶导数局部最大值的地方,那么也意味着该点的二阶导数为零。二阶微分边缘检测算子就是利用图像在边缘处的阶跃性导致图像二阶微分在边缘处出现零值这一特性进行边缘检测的。对于图像的二阶微分可以用拉普拉斯算子来表示:∇2I=∂2I∂x2+∂2I∂y2\nabla^{2} I=\frac{\partial^{2} I}{\pa
2021-12-21 14:27:18
1215
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 深度学习传统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
2591
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 深度学习传统CV算法——边缘检测算法综述
边缘检测边缘概述认识边缘定义轮廓和边缘的关系边缘的类型边缘检测的概念概念边缘检测方法基本方法图像滤波图像增强图像检测图像定位边缘检测算子的概念常见的边缘检测算子用梯度算子实现边缘检测的原理梯度算子边缘点梯度梯度算子梯度如何衡量使用梯度算子实现边缘检测原理实现参考边缘概述认识边缘定义边缘是不同区域的分界线,是周围(局部)灰度值有显著变化的像素点的集合,有幅值与方向两个属性。这个不是绝对的定义,主要记住边缘是局部特征,以及周围灰度值显著变化产生边缘。轮廓和边缘的关系一般认为轮廓是对物体的完整边界的描
2021-12-16 17:22:16
6699
原创 StyleGAN——定制人脸生成思路
在实际模型搭建中,Z码生成器(Dense Generator)是一个256维到512维的简单全连接网络,图片生成器取用StyleGAN里面的模型,图片分类器是一个已训练好的类型分类器(譬如男/女分类器等,用CNN就能达到比较好的效果)。它的主要思想是,针对我们想要的特定类型的图片,首先训练出一个对应的图片分类器出来,然后固定住图片生成器与图片分类器,只训练Z码生成器(C是随机向量),从而找到Z码的范围,使得通过该Z码生成的图片,能满足图片分类器的要求,即:找到z的分布使得对应y的得分值最高。
2024-07-21 12:54:19
304
原创 生成模型---变分自编码器
变分自编码器(VAE)的核心思想是通过引入连续的潜在变量分布和噪声,使得编码空间不再是离散的点,而是一个连续的概率分布。这种方法使得解码器可以更好地在潜在空间中进行平滑过渡,从而生成高质量的图像,并有效地覆盖潜在空间中的失真区域。这种方法通过优化变分下界(ELBO),实现了生成模型的训练和优化,从而解决了传统自编码器在潜在空间中可能遇到的问题。2.1.潜在空间的连续性问题描述:在标准自编码器中,潜在空间是离散的点之间的映射,因此在潜在空间中的某些区域可能无法良好地映射回图像空间。
2024-07-21 01:07:24
724
原创 ffmpeg音视频开发从入门到精通——常用结构体介绍
包含了FFmpeg库的头文件,这些头文件提供了编解码器、多媒体格式处理等功能。#endif// 包含FFmpeg的头文件#endif这是FFmpeg的编解码器库,avcodec提供了对多种音视频编解码器的支持。编解码器库允许你解码(将压缩的音视频数据转换为原始数据)和编码(将原始音视频数据转换为压缩格式)。这个库提供了多媒体容器格式的读写功能,avformat允许你打开、读取、写入和关闭多媒体容器格式,如MP4、AVI、MKV等。它还支持多路流(多音轨、多视频轨等)的组织和管理。
2024-07-13 00:05:47
659
原创 ffmpeg音视频开发从入门到精通——ffmpeg 视频数据抽取
在C++程序中使用FFmpeg之前,需要包含相应的头文件,并根据是否使用C++编译器,可能需要添加extern "C"块。
2024-06-22 14:44:15
635
原创 ffmpeg音视频开发从入门到精通——ffmpeg实现音频抽取
使用FFmpeg库前需要包含相应的头文件,并在C++中声明外部C函数的命名空间。另外,程序中存在一些潜在的内存泄漏和错误处理问题,应进一步优化。为输出文件创建一个新的音频流,并复制输入音频流的参数。读取输入文件的音频数据,转换时间戳,并写入输出文件。写入文件尾部信息,关闭文件,并释放所有分配的资源。遍历所有流,找到音频流的索引。程序入口点,处理命令行参数。分配输出文件的格式上下文。请注意,错误处理部分应使用。获取多媒体文件的流信息。打开输出文件准备写入。猜测输出文件的格式。
2024-06-22 11:46:14
792
原创 ffmpeg音视频开发从入门到精通——ffmpeg常用目录及命令
map 可用于处理复杂输出,如可以将指定的多路流输出到一个输出文件,也可以指定输出到多个文件。类似地,文件内的流被它们的索引引用。一个复杂的过滤器图的一个简单的例子是覆盖过滤器,它有两个视频输入和一个视频输出,包含一个视频叠加在另一个上面。ffmpeg 通过 -i 选项读取输任意数量的输入“文件”(可以是常规文件,管道,网络流,抓取设备等,并写入任意数量的输出“文件”。简单的过滤器图是那些只有一个输入和输出,都是相同的类型。请注意,此选项是全局性的,因为复杂的过滤器图形本质上不能与单个流或文件明确关联。
2024-06-21 01:23:39
839
原创 ffmpeg音视频开发从入门到精通——ffmpeg下载编译与安装
FFmpeg 是一个音视频处理的工具,通过 FFmpeg 可以对视频进行旋转、缩小、添加水印、截图、添加马赛克、直播推流、转化音频等操作。:媒体流一般是指时间轴上的连续的数据,这些数据是需要连续的,如一段音频数据、一段视频数据等;:数据帧是指媒体流中的最小处理单元,例如很多张图片组成一段连续的视频,每一帧则是每一张图片;ffmpeg是一个跨平台的多媒体框架,可以用于解码、编码、转码、复用、解复用、滤镜等处理。:解复用则是与复用相反,把一个文件中不同的流解析出来称之为解复用;:指对一个数据流进行变换的程序;
2024-06-20 23:44:34
723
原创 C++及cmake语法介绍
在message("UNDEFINED 是 true")else()message("UNDEFINED 是 false")endif()message("DEFINED 是 true")else()message("DEFINED 是 false")endif()message("变量已定义")else()message("变量未定义")endif()这两行代码定义了项目所需的最低CMake版本为3.10,并将项目命名为。定义项目名称和CMake最低版本要求。指定头文件目录。
2024-06-18 00:47:48
962
原创 ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)
mysql 服务没开…
2024-06-11 19:49:47
348
原创 OrangePi Kunpeng Pro ——信创再接力
OrangePi Kunpeng Pro是一款基于ARM架构的高性能开发板,配备了强大的处理器和丰富的接口,适用于物联网、智能家居、机器人等多种应用场景。高性能处理器:采用4核64位处理器+AI处理器,集成图形处理器,支持8TOPSAI算力,拥有8GB/16GB LPDDR4X,可以外接32GB/64GB/128GB/256GB eMMC模块,支持双4K高清输出。本次收到OrangePi Kunpeng Pro为8GB+32GB.
2024-05-28 23:37:33
950
原创 YOLOv8 ONNX推理代码讲解——基于numpy实现
本文将详细讲解YOLOv8 ONNX推理的Python代码,包含如何进行本地摄像头、图像和视频推理的实现。通过以上代码,我们可以实现YOLOv8模型在本地进行图像、视频和摄像头的推理。将输入图像按比例缩放到目标尺寸,同时填充背景使得图像保持原比例不变。对图像进行预处理,包括调整大小、归一化以及格式转换。将检测框从中心坐标形式转换为边框坐标形式。将检测框坐标从缩放后图像转换回原始图像。执行非极大值抑制,去除重叠的检测框。将检测框限制在图像范围内。在图像上绘制检测框及标签。将检测结果绘制到图像上。
2024-05-17 10:54:24
515
原创 基于OpenCV年龄与性别识别系统
它首先创建一个图像的blob(一个经过预处理的图像数组),然后通过预训练的神经网络进行前向传播,检测出图像中的人脸。对于每个检测到的人脸,如果其置信度高于阈值,它计算出人脸的边界框,并在图像上绘制矩形。对于每个检测到的人脸,脚本提取人脸图像并生成一个blob,然后将其输入到性别和年龄识别模型中。通过模型的输出,它确定每个人脸的性别和年龄,并在原始图像上标记出这些信息。在脚本的主部分,它首先定义了命令行参数解析器,允许用户指定输入源(图像或视频文件,或者摄像头流)和推理设备(CPU或GPU)。
2024-05-13 22:52:40
612
1
原创 人体姿态估计学习
单人姿态估计: 输入是一个crop出来的行人,然后在行人区域位置内找出需要的关键点,比如头部,左手,右膝等。其中MPII是2014年引进的,目前可以认为是单人姿态估计中最常用的benchmark, 使用的是PCKh的指标(可以认为预测的关键点与GT标注的关键点经过head size normalize后的距离),最高93.9%。
2024-05-07 19:41:36
737
原创 寒武纪及瑞芯微平台调用加速调研
系列推理训练应用类型备注MLU220☑️❌边缘端INT8 8T算力+8.25W功耗;INT8 16T算力+16.5W;CPU计算能力较弱需要其他主控例如瑞芯微3588MLU270☑️❌服务器端部署服务端的智能分析算法;模型移植硬件平台;MLU290☑️☑️训练卡应用在各云厂商、机房和服务中心等,主要用于训练寒武纪平台的部署流程有一条主线是将一个原始模型转为一个离线模型。得到算法的原始模型,如caffe/pytorch/tensorflow等框架的模型。
2024-05-06 16:26:47
790
原创 NLP从入门到实战——命名实体识别
在实际应用中,BIO和BIOES是最常用的标注方案,因为它们能够提供足够的信息来帮助模型识别实体的边界和类别。同一个词在不同的上下文中可能表示不同的实体,或者不表示实体。在某些情况下,尤其是处理中文文本时,可能会采用基于词汇的标注,直接将整个词汇标注为一个实体,而不是使用BIO或BIOES等模式。Markup方法通常指的是使用XML或类似的标记语言来注释文本中的实体这种方法可以直接在文本中标记实体的边界和类型。不同的数据集可能采用不同的实体标注方法,最常见的标注方法有BIO,BIOES,Markup。
2024-05-05 23:16:55
1388
1
原创 NLP从入门到精通——信息抽取概述
随着互联网和社交媒体的飞速发展,我们每天都会接触到大量的非结构化数据,如文本、图片和音频等。这些数据包含了丰富的信息,但也提出了一个重要问题:如何从这些海量数据中提取有用的信息和知识?这就是信息抽取(Information Extraction, IE) 的任务。信息抽取不仅是自然语言处理(NLP)的一个核心组成部分,也是许多实际应用的关键技术。例如:在医疗领域,信息抽取技术可以用于从临床文档中提取病人的重要信息,以便医生作出更准确的诊断。
2024-05-05 20:50:36
994
原创 深度学习从入门到精通——词向量介绍及应用
词向量(Word embedding),即把词语表示成实数向量。“好”的词向量能体现词语直接的相近关系。词向量已经被证明可以提高NLP任务的性能,例如语法分析和情感分析。词向量与词嵌入技术的提出是为了解决onehot的缺陷。它把每个词表示成连续稠密的向量,能较好地表达不同词之间的关联关系。如果两个词是关联的,那么这两个词分别对应的词向量的余弦相似度越接近于1。如果两个词关联关系比较小,那么这两个词分别对应的词向量的余弦相似度越接近于0.
2024-04-27 21:05:50
1484
原创 深度学习从入门到精通—Transformer
梯度消失和梯度爆炸:这是RNN最主要的问题。由于序列的长距离依赖,当错误通过层传播时,梯度可以变得非常小(消失)或非常大(爆炸),这使得网络难以学习。计算效率低:RNN由于其递归性质,必须按序列顺序执行计算,这限制了计算的并行性。对于长序列,这会导致训练过程非常慢。难以捕捉长距离依赖:尽管理论上RNN能够处理任何长度的序列,但在实践中,它们往往难以学习到输入序列中的长距离依赖关系。
2024-04-22 03:32:07
1145
原创 深度学习之图像分割从入门到精通——基于unet++实现细胞分割
这两个评分函数都以模型的真正例为分子,而分母则是真正例、假正例和假负例的总和,以此来衡量模型预测结果与真实标签的相似程度。这个损失函数的目标是最小化二元交叉熵损失和最大化 Dice 相似度,以达到更好的模型训练效果。Dice Coefficient 也是一种常用的图像分割评价指标,衡量模型输出和真实标签之间的相似度。IoU 是一种常用的图像分割评价指标,它衡量了模型输出与真实标签之间的重程度。表示真正例(模型正确预测为正样本的数量),表示假正例(模型错误预测为正样本的数量),表示二元交叉熵损失,
2024-04-21 11:04:10
878
原创 深度学习之目标检测从入门到精通——json转yolo格式
将JSON格式的标记数据中提取信息,转换为YOLO模型训练所需的格式。通过自动化这一过程,可以大大减少准备数据的时间和复杂性,提高机器学习项目的效率。
2024-04-20 20:00:14
769
原创 OpenCV从入门到精通实战(九)——基于dlib的疲劳监测 ear计算
使用定义了包含68个点的面部关键点,用于眼部分析。])此函数计算眼部的纵横比,用于判断眼睛是否闭合。return ear。
2024-04-18 02:11:35
561
4
原创 OpenCV从入门到精通实战(八)——基于dlib的人脸关键点定位
使用定义了两组面部关键点,一组包含68个点,另一组包含5个点,这些关键点用于后续的特征提取。])
2024-04-18 02:03:04
741
原创 OpenCV从入门到精通实战(七)——探索图像处理:自定义滤波与OpenCV卷积核
接下来,我们实现一个名为convolve的函数,该函数接收一个图像和一个卷积核作为输入,并返回卷积后的结果。# 输入图像和核的尺寸# 选择pad,卷积后图像大小不变# 重复最后一个元素,top, bottom, left, right# 卷积操作# 提取每一个卷积区域# 内积运算# 保存相应的结果# 将得到的结果放缩到[0, 255]
2024-04-18 01:52:59
521
原创 OpenCV从入门到精通实战(六)——多目标追踪
在OpenCV中,有多种对象追踪器可用。我们将它们存储在一个字典中,便于后续使用。import cv2# 配置参数# opencv已经实现了的追踪算法# 实例化OpenCV's multi-object tracker# 视频流# 取当前帧# 到头了就结束break# resize每一帧width=600# 追踪结果# 绘制区域# 显示# 选择一个区域,按s# 创建一个新的追踪器# 退出break。
2024-04-18 01:36:42
803
原创 OpenCV从入门到精通实战(五)——dnn加载深度学习模型
从指定路径读取图像文件、利用OpenCV进行图像处理,以及使用Caffe框架进行深度学习预测的过程。
2024-04-18 01:03:39
818
原创 OpenCV从入门到精通实战(四)——答题卡识别判卷系统
实现答题卡识别系统中的各个功能。每个步骤都是自动化处理的关键部分,确保系统能够准确地读取和评分答题卡。通过这样的方式,可以大大减少人工操作的需求,提高评分的效率和准确性。
2024-04-18 00:45:54
2488
原创 OpenCV从入门到精通实战(三)——全景图像拼接
特征点检测与描述子计算使用 SIFT 算法检测图像的关键点,并计算每个点的描述子。这一步是识别图像中的特征并提取有用信息的关键步骤。特征点匹配使用 KNN 和比值测试来筛选良好的匹配点。这一步是确保两图中对应的特征点确实相似,为后续的图像对齐打下基础。计算单应性矩阵并进行图像变换使用 RANSAC 算法基于匹配点对计算单应性矩阵,这一矩阵能够描述一张图像到另一张图像的透视变换。使用该矩阵通过透视变换将一张图像变形,使其与另一张图像对齐。图像拼接。
2024-04-17 23:07:29
1417
原创 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
1014
1
原创 OpenCV基本图像处理操作(十)——图像特征harris角点
角点是图像中的一个特征点,指的是两条边缘交叉的点,这样的点在图像中通常表示一个显著的几角。在计算机视觉和图像处理中,角点是重要的特征,因为它们通常是图像中信息丰富的区域,可以用于图像分析、对象识别、3D建模等多种应用。角点的识别可以帮助在进行图像匹配和跟踪时提供稳定的参考点,这是因为角点在图像中的位置比较容易通过算法检测出来,且不易受到视角变化的影响。Harris 角点检测是一种流行的角点检测算法,用于从图像中识别出角点的位置,即图像中两条边交叉的特征点。如果响应函数的值超过某个阈值,则该点被认为是角点。
2024-04-17 22:39:59
1227
原创 OpenCV基本图像处理操作(九)——特征匹配
虽然Brute-Force匹配方法在小型或中等复杂度的数据集上可以非常有效,但它的计算成本随着特征点数量的增加而显著增加,这可能导致在大规模数据集上的性能问题。该方法通过逐一比较目标图像中的所有特征点与源图像中的特征点来寻找最佳匹配。:在蛮力匹配中,源图像的每个特征点的描述符都会与目标图像中每个特征点的描述符进行比较。:对提取出的每个特征点生成一个描述符,这个描述符捕捉了特征点周围的图像信息,通常是通过一定的算法(如SIFT、SURF或ORB等)来实现。:首先,从两个待比较的图像中提取关键特征点。
2024-04-17 22:00:41
1339
原创 OpenCV基本图像处理操作(八)——光流估计
它基于这样的假设:在连续的视频帧之间,一个物体的移动会导致像素强度的连续性变化。空间一致:一个场景上邻近的点投影到图像上也是邻近点,且邻近点速度一致。小运动:随着时间的变化不会引起位置的剧烈变化,只有小运动情况下才能用前后帧之间单位位置变化引起的灰度变化去近似灰度对位置的偏导数。光流是空间运动物体在观测成像平面上的像素运动的“瞬时速度”,根据各个像素点的速度矢量特征,可以对图像进行动态分析,例如目标跟踪。status 特征点是否找到,找到的状态为1,未找到的状态为0。实现光流估计的方法有很多,包括。
2024-04-17 21:43:53
580
Python库d和OpenCV来实现眼部闭合检测,主要用于评估用户是否眨眼
2024-04-18
实现一个简单的视频对象追踪应用,该应用支持多种追踪算法,并允许用户实时选择和追踪视频中的对象 这种技术在许多领域都有广泛的应用
2024-04-18
从指定路径读取图像文件、利用OpenCV进行图像处理,以及使用Caffe框架进行深度学习预测的过程
2024-04-18
基于Opencv实现答题卡识别系统中的各个功能
2024-04-18
停车位识别基于深度学习的停车位识别系统利用计算机视觉技术来自动检测和监控停车位的占用情况 地平线
2024-04-17
全景图像拼接;实现特征点检测与描述子
2024-04-17
基于Opencv与tesseract 实现的文本识别
2024-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人