- 博客(37)
- 收藏
- 关注
原创 YOLO系列--YOLOV1
优点:(1)计算速度快,计算简单;(2)背景误检率低,避免产生背景错误。缺点:(1)定位精度低:分类结果是正确的,但是边界框画的不准确;(2)每一个网格单元只能预测一个类别;(3)小物体检测效果一般。
2025-07-29 19:16:50
765
原创 YOLO--目标检测基础
NMS(Non-Maxmum suppression)非极大值抑制:是目标检测目标库后处理的方法。它的出现主要是为了解决对同一个检测目标出现多个目标框的问题。如图,在最后的结果中,我们往往只需要一个最终的,最准确的目标框,所以NMS就发挥了很大的作用。3.2运算流程(1)设置IoU(目标框置信度阈值),一般设为0.5,小于这个值的框会被过滤,一般是用来过滤网格中心Bounding Box中没有预测到目标的目标框;(2)根据置信度进行降序排列候选框;
2025-07-29 14:48:34
792
原创 Python--文件操作
绝对路径是开始的一条完整路径。比如:C:\users\T\test\1.txt一般是用的反斜杠,在程序中使用该路径通常需要添加反斜杠或者r,让它不发生转义。
2025-07-25 19:23:33
427
原创 循环神经网络--LSTM模型
所用的数据集是关于酒店的中文评价,数据量为5265条,其中2822条好评,其余的均为差评。我们目的就是利用LSTM和全连接实现自定义网络结构对数据集进行训练,然后实现中文评论的情感分析,分析评论是正面的还是负面的。
2025-07-24 20:17:49
622
原创 循环神经网络--NLP基础
大致了解了NLP的简单术语,以及如何通过嵌入层实现对文本进行向量化,还可以利用现成模型word2vec对单词向量化。主要是了解一下大致知识就行,过过代码就可以了。本节内容要求没有严格。
2025-07-22 19:27:03
1069
原创 深度学习-数据准备
Dataset是一个抽象类,自定义的数据类都要继承于它。它定义了数据集必须实现的方法。这里必须的方法就有两个:(1)__len__:获取数据集的大小;(2)__getitem__ :通过索引访问数据集的样本;还有一个初始化方法:__init__:初始化数据,将需要加载的数据放在这里。步骤:(1)自定义类继承基类Dataset;(2)实现len,getitem方法;(3)通过__init__加载外部数据。(4)创建函数,打印查看结果。
2025-07-11 19:13:34
1044
原创 深度学习--神经网络
神经网络(Neural Networks)是一种模拟人脑神经元网络结构的计算模型,用于处理复杂的模式识别、分类和预测等任务。神经网络由多个互相连接的节点(即人工神经元)组成。线性层:神经网络中常用的层类型,主要用于将输入数据通过线性变换映射到输出空间。API:解释:in_features:输入特征的数量;out_features:输出特征的数量;bias:是否设置偏置项,为True则表示设置偏置,为False则表示不设置偏置。
2025-07-10 10:13:17
952
原创 机器学习-线性回归基础
线性回归是一种通过历史数据寻找变量间线性规律的统计方法。它假设因变量(如销售额)与自变量(如广告费)之间存在“直线关系”,并通过拟合这条直线来预测未来结果。例如:广告费越高,销售额可能越高,这种趋势可用一条直线表示。误差(Error)指的是 预测值 和 真实值 之间的差距。损失(Loss) 是模型预测结果偏离真实值的 量化指标,用来衡量模型预测的 “错误程度”。
2025-05-29 16:05:03
1406
原创 机器学习-随机森林
随机森林(Random Forest)是一种基于集成学习(Ensemble Learning)的机器学习算法,属于Bagging(装袋法)的改进变体。它通过构建多个决策树(Decision Tree)作为子模型,并将它们的预测结果进行组合,以提高模型的泛化能力和鲁棒性。特征名含义解释数据类型乘客唯一编号整数(ID)Survived标签名(目标变量):是否幸存(0 = 遇难,1 = 幸存)整数(0/1)Pclass船舱等级(1 = 一等舱,2 = 二等舱,3 = 三等舱)整数(分类)Name。
2025-05-28 19:15:45
1038
原创 机器学习-决策树
基尼指数(Gini Index)是决策树算法中用于评估数据集纯度的一种度量,基尼指数衡量的是数据集的不纯度,或者说分类的不确定性。在构建决策树时,基尼指数被用来决定如何对数据集进行最优划分,以减少不纯度。主要学习了决策树的基本概念和创造决策树的两种方法,一个是基于信息增益构建决策树,一个是基于基尼指数构建决策树,需要注意的是前者计算要带上对数log,后者要用1减。
2025-05-27 17:21:55
2961
原创 机器学习-朴素贝叶斯分类
P(A|B):在事件B发生的情况下,事件A发生的概率。本次分析的内容就到这里,主要是理论知识的分析和计算的分析,API的使用很简单,需要与前边的内容相结合。
2025-05-26 18:51:05
1091
原创 机器学习-模型选择与调优
一些算法或是api函数的参数需要人为设置,而且产生不一样的结果,需要调试。简单来说就是可以人为设置的参数就是超参数。超参数搜索也叫网格搜索,可以帮我们自动找到最好的超参数值。本文写了机器学习中的一个小部分《模型选择与参数调优》,模型的选择,划分是由交叉验证决定,参数调优则是由超参数搜索相关api得到属性,查看属性后可以看的最优参数,超参数搜索的实现为我们节省了大量测试时间、提高了运行效率。
2025-05-25 16:12:29
1163
原创 机器学习-KNN算法
KNN(K - Nearest Neighbor)即 k 近邻算法 ,是一种基本的监督学习方法,既能用于分类,也能用于回归。简单来说就是 “物以类聚,人以群分”。算法假定给定一个训练数据集,其中实例的类别是已知的。在进行分类(或回归)时 ,对于一个新的实例,通过寻找其 k 个最近邻的训练实例 ,依据这些近邻的类别(或数值 )情况,通过多数表决(分类任务 )来预测新实例的类别(或数值 )。
2025-05-21 18:53:49
1158
原创 OpenCV图像边缘检测
经过再一次过滤后,有些噪点被改成0,边缘就更细致,更准确。非极大值抑制的目的是在已经计算出图像梯度幅度图像的基础上,进一步细化边缘位置,减少假响应并确保边缘轮廓的一致性和单像素宽度。双阈值检测的目的是基于非极大值抑制后的梯度幅值图像,通过设定高低两个阈值来区分强边和弱边,并有效连接这些边缘点构成完整的边缘线。
2025-05-20 16:17:10
1343
2
原创 机器学习-特征工程
特征工程:就是对特征进行相关处理。简单理解:有时候我们的数据来源不全是我们想要的数字(可能这些数据是文本、图像),我们需要将这些数据转化为用于机器学习的数字特征。此时就需要用到特征工程进行转换。
2025-05-16 14:30:07
1032
原创 机器学习基础
机器学习:让计算机自己学习数据规律,得到规律后对未来数据进行预测。小结就是‘基于数学,学习规律,总结规律,进行预测’。 算法包含:聚类、分类、决策树、贝叶斯、神经网络、深度学习。 机器学习流程:特征提取、机器学习算法、预测模型、得到结果。 特征提取:将数据提取为数字(向量),研究数字规律,得到特征规律。 监督学习:从有标签的训练数据中学习模型(规律)的模式。有标签指已知数据集的结果。(告诉机器这是苹果,栗子... ) 半监督学习:从少量标
2025-05-13 13:04:47
890
原创 图像梯度处理
图像梯度类似于‘变化率、导数、加速度’。梯度大小:一幅黑白分明的图像,黑色和白色区域之间的边界处梯度就很大,因为从黑色像素到白色像素,值变化得很剧烈。梯度方向:梯度的方向就是像素值增长最快的方向。通常使用差分来近似计算图像梯度。
2025-05-12 23:32:07
1018
原创 图像噪点消除
噪点(噪声):指图像中的一些干扰因素,通常是由图像采集设备、传输信道等因素造成的,表现为图像中随机的亮度,也可以理解为有那么一些点的像素值与周围的像素值格格不入。简单的也可以理解为图像不清晰,与原图有差距。常见的噪声类型为:高斯噪声、椒盐噪声。高斯噪声:符合正态分布,图像变得模糊、或有噪点;椒盐噪声:一些黑白色的像素值分布在原图像中。
2025-05-11 15:51:25
780
原创 图像镜像旋转、缩放、矫正
排列方式发生变化。结果:水平垂直翻转:元素全部倒过来按照z字形排列;垂直翻转:元素按照X轴镜像,倒下来;水平翻转:元素按照Y轴镜像,倒过去。
2025-05-09 20:44:03
640
原创 图像旋转、插值方法、边缘填充
将边界处的像素值进行复制,然后作为边界填充的像素值。根据原图的边缘进行反射。与边界反射不同的是,不再反射边缘的像素点。当选择边界常数时,还要指定常数值是多少,默认的填充常数值为0。根据原图边缘像素对称反射生成填充值。
2025-04-26 17:51:12
838
原创 图像颜色替换及添加水印
添加水印的概念其实可以理解为将一张图片中的某个物体或者图案提取出来,然后叠加到另一张图片上。具体的操作思想是通过(1)将原始图片转换成灰度图,并进行二值化处理;(2)去除背景部分,得到一个类似掩膜的图像;(3)将这个二值化图像与另一张图片中要添加水印的区域进行“与”运算,使得目标物体的形状出现在要添加水印的区域;(4)将得到的目标物体图像与要添加水印的区域进行相加,就完成了添加水印的操作。这样可以实现将一个图像中的某个物体或图案叠加到另一个图像上,从而实现添加水印的效果。
2025-04-22 16:26:01
852
原创 OpenCV图片颜色识别
在图像处理中,最常见的就是RGB颜色空间。RGB颜色空间是我们接触最多的颜色空间,RGB代表红色(Red)、绿色(Green)和蓝色(Blue),这三种颜色通过不同强度的光的组合来创建其他颜色。RGB颜色模型基于笛卡尔坐标系, 黑色位于原点处,白色位于离原点最远的角上。因为黑色在RGB三通道中表现为(0,0,0),所以映射到这里就是原点;而白色是(255,255,255),所以映射到这里就是三个坐标为最大值的点。三原色红绿蓝分别为(255,0,0),(0,255,0),(0,0,255)位于三个角。
2025-04-21 17:44:19
975
原创 OpenCV形态学变换
卷积核,主要是奇数矩阵,为了有一个中心点,偶数矩阵找不到中心点。它的出现就是为了遍历图像中每一个像素点的位置,通过计算后得到一个新值替代原来的值,从而修改图像的形状。图中的每一个像素点都要作为中心点遍历,与定义的核进行计算。(1)腐蚀操作就是使用核在二值图(或者灰度图)上从左上角到右下角滑动,每一个像素点都要作为一次中心点。(2)在滑动过程中,令核值为1的区域与被覆盖的原图矩阵区域相乘,得到最小值,将最小值作为原像素点的新值。(3)相当于黑色变多,前景为白色的部分被腐蚀。
2025-04-17 17:23:54
721
原创 OpenCV二值化实验
自行设置一个阈值和一个最大值,将灰度图中每一个像素的值与阈值进行比较,小于等于阈值的像素点全部设置为0,大于阈值的像素被设置为最大值maxval。自行设置一个阈值和一个最大值,将灰度图中每一个像素的值与阈值进行比较,大于阈值的像素点全部设置为0,小于等于阈值的像素被设置为最大值maxval。自行设置一个阈值和一个最大值,将灰度图中每一个像素的值与阈值进行比较,小于等于阈值的像素点全部设置为0,大于阈值的像素不变。即黑的地方越黑。
2025-04-14 17:39:48
723
原创 OpenCV绘制几何图形
(3)显示图片:cv2.imshow('Window_name',img) cv2.waitKey(0)(3)显示图片:cv2.imshow('Window_name',img) cv2.waitKey(0)(3)显示图片:cv2.imshow('Window_name',img) cv2.waitKey(0)(3)显示图片:cv2.imshow('Window_name',img) cv2.waitKey(0)(1)读出图片:cv2.imread('path')
2025-04-11 21:12:45
993
原创 OpenCV基础
OpenCV 是一个开源的计算机视觉和机器学习软件库,支持跨平台运行(Windows、Linux、macOS、Android、iOS等)。它由英特尔公司于1999年发起,后由开源社区维护,提供丰富的函数和工具,用于图像处理、计算机视觉算法实现及硬件加速。
2025-04-10 21:59:04
887
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人