- 博客(72)
- 收藏
- 关注
原创 【CV】Opencv图像处理——①几何变换 (1)
透射变换是视角变化的结果,是指利用透视中心,像点,目标点三点共线的条件,按透视旋转定律使承影面(透视面)绕迹线(透视轴)旋转某一角度,破坏原有的投影光线束,仍能保持承影面上投影几何图形不变的变换。图像的仿射变换涉及到图像的形状位置角度的变化,是深度学习预处理中常用功能,仿射变换主要是对图像的缩放,旋转,翻转和平移等操作的组合。图像金字塔是图像多尺度表达的一种,最主要用于图像的分割,是一种以多分辨率来解释图像的有效但概念简单的结构。注意:输出图像的大小,它应该是**(宽度,高度)**的形式。
2025-09-06 20:23:48
571
原创 【CV】OpenCV基本操作④——算术操作
注意:Opencv加法和numpy加法之间存在差异。Opencv的加法是饱和操作,而numpy加法是模运算。使用cv2.addWeighted()可以按下面公式对图片进行混合操作。两个图象应该具有相同的大小和类型,或者第二个图像可以是标量值。,这就会给人一种混合或者透明的感觉。所以对图像进行加法操作时,Opencv的结果会好一点。的值(0–>1),可实现很多组合。其实也是加法,但是两幅图像的。示例:将下面两张图片相加。
2025-09-03 21:42:22
302
原创 【CV】图像基本操作③
对于RGB图像,它返回一个蓝,绿,红值的数组。对于灰度图像,仅返回相应的强度值。使用相同方法可对像素值进行修改。有时需要在B,G, R通道图像上单独工作。在这种情况下,需要将BGR图像分割为单个通道。或者在其他情况下,可能需要将这些单独的通道合并到BGR图像。plt.imshow(b, cmap = plt.cm.gray) # 以灰度图呈现。图像属性包含行数,列数和通道数,图像数据类型,像素数等。数据类型——>img.dtype。图像大小——>img.size。形状——>img.shape。
2025-08-29 23:13:43
207
原创 【CV】图像基本操作——②绘制几何图形
我们通过加载灰度图像,显示图像,如果按’s’并退出则保存图像,或者按ESC键直接退出而不保存。# 读取图像# 显示图像# 用opencv展示图象# 用matplotlib展示图象plt.title('匹配结果'),plt.xticks([]),plt.yticks([])plt.show()# 保存图像。
2025-08-27 20:51:04
296
原创 【CV】图像基本操作——①图像的IO操作
我们通过加载灰度图像,显示图像,如果按’s’并退出则保存图像,或者按ESC键直接退出而不保存。# 读取图像# 显示图像# 用opencv展示图象# 用matplotlib展示图象plt.title('匹配结果'),plt.xticks([]),plt.yticks([])plt.show()# 保存图像。
2025-08-25 23:29:29
496
原创 【CV 图像分割】①——目标分割介绍
定义:在计算机视觉领域,图像分割(Object Segmentation)指的是将数字图像细分为多个图像子区域(像素集合)的过程,并且同一个子区域内的特征具有一定相似性,不同子区域的特征呈现较为明显的差异图像分割的目标就是为 图像中的每个像素分类,应用领域广泛深度学习使得图像分割的准确率提高了很多。
2025-08-19 22:25:02
727
原创 【CV 目标检测】Fast RCNN模型③——模型训练/预测
CNN网络不再是对每个候选区域进行特征提取,而是直接对整张图像进行出路,这样减少了很多重复计算用ROI Pooling进行特征的尺寸变换,来满足FC全连接层对输入数据尺度的要求将目标的回归和分类统一在一个网络中,使用FC+softmax进行目标分类,使用FC layer进行目标框的回归在Fast R-CNN中使用的目标检测识别网络,在速度和精度上都有了不错的结果。但是,其候选区域提取方法耗时较长,而且和目标检测网络是分离的,并不是端到端的。
2025-08-18 23:53:31
492
原创 【CV 目标检测】Fast RCNN模型②——算法流程
原网络的最后一个全连接层替换为两个同级层(分类任务和回归任务):K+1个类别的SoftMax分类层和边框的回归层。ROI Pooling层使用最大池化将输入的特征图中的任意区域(候选区域对应的区域)内的特征转化为固定的。上面红框中的为同一个FC层(边框的回归层实现——输出四个实数值,用来确定位置信息)使用ROI Pooling层替换预训练网络中最后的池化层,并将超参。设置为和网络第一个全连接兼容的值,例如VGG6,设H= W= 7。,取每个子网格中的最大值,送入后续网络中进行处理。的候选区域,将其分割为。
2025-08-17 23:10:42
194
原创 【CV 目标检测】②R-CNN模型
训练阶段多,训练耗时:微调CNN网络+训练SVM+训练边框回归器预测速度慢:使用GPU,VGG16模型处理一张图像需要47s占用磁盘空间大:5000张图像产生几百G的特征文件。数据的形状变化:候选区域要经过缩放来固定大小,无法保证目标的不变形。
2025-08-15 23:53:54
809
2
原创 【CV 目标检测】R-CNN①——Overfeat
Overfeat方法使用滑动窗口进行目标检测,也就是使用滑动窗口和神经网络来检测目标。滑动窗口使用固定宽度和高度的矩形区域,在图像上“滑动”,并将扫描结果送入到神经网络中进行。这种方法类似一种暴力穷举的方式,会消耗大量的算力,并且由于窗口大小问题可能造成效果不准确。
2025-08-14 20:48:09
173
原创 【CV 目标检测】③——目标检测方法
直接通过主干网络给出目标的类别和位置信息,没有使用候选区域的筛选网络,这种算法速度快,但是精度相对Two-stage目标检测网络降低了很多。two-stage算法的代表是RCNN系列:R-CNN网络;Fast R-CNN网络;先由算法生成一系列作为样本的候选框(定位的结果),再通过卷积神经网络进行样本分类。One-stage算法的代表:YOLO系列:YOLO1、YOLO2、YOLO3、SSD等。来完成目标检测过程,其提取的是CNN卷积特征,进行候选区域的。网络的准确度高,速度相对较慢。
2025-08-13 19:27:41
229
原创 【CV 目标检测】②——NMS(非极大值抑制)
例如在行人检测中,滑动窗口经提取特征,经分类器识别后,每个窗口都会得到一个分数。但是滑动窗口会导致很多窗口与其他窗口包含或者大部分交叉的情况。NMS在计算机视觉领域有着非常重要的应用,如视频目标跟踪,数据挖掘,3D建模,目标识别以及纹理分析等。)的检测框M,将其从B集合中移除并加入到最终的检测结果D中,计算B中剩余检测框与M的IOU值,通常将IOU大于阈值Nt的框从B中移除(这里的框是被抑制掉,被认为是冗余框,不会加入到D集合中)。在目标检测中,NMS的目的就是要去除冗余的检测框,保留最好的一个。
2025-08-12 23:55:51
468
原创 【CV 目标检测】①——目标检测概述
目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标,并确定它们的(分类任务)和(回归任务)目标检测中能检测出来的物体取决于当前任务(数据集)需要检测的物体有哪些目标检测的位置信息一般有两种格式(以图片左上角为原点(0,0)):xmin, ymin, xmax, ymax分别代表x, y坐标的最小值,最大值(左上角坐标<右下角坐标)图像坐标系原点在左上角,把图像看作ndarray,行对应着y,列对应着x。
2025-08-11 22:52:14
977
2
原创 七、CV_模型微调
创建两个tf.keras.preprocessing.image.ImageDataGenerator示例来分别读取训练数据集和测试数据集中的所有图像文件。将基于一个小数据集对在ImageNet数据集上训练好的ResNet模型进行微调。我们将使用微调得到的模型来识别一张图像中是否包含热狗。实例化预训练数据集(tf.keras.appilcation)------>模型调整(调整输出层,并设置层是否可训练)接下来使用之前定义好的ImageGenerator将训练集图片送入ResNet50进行训练。
2025-08-10 21:48:17
1030
原创 六、CV_图像增强方法
大规模数据集是成功应用深度神经网络的前提。例如,可以对图像进行不同方式的裁剪,使感兴趣的物体出现在不同位置,从而减轻模型对物体出现位置的依赖性。我们也可以调整亮度,色彩等因素来降低模型对色彩的敏感度。
2025-08-09 11:08:24
358
原创 四、CV_GoogLeNet
GoogLeNet在加深度的同时做了结构上的创新,引入了一个叫做Inception的结构来代替之前的卷积加激活的经典组件。
2025-07-18 22:31:22
936
原创 三、CV_VGGnet
VGG可以看成是加深版的AlexNet,整个网络由卷积层和全连接层叠加而成,和AlexNet不同的是,VGG中使用的都是小尺寸的卷积核(3×3)。VGGNet使用的全部都是3×3的小卷积核和2×2的池化核,通过不断加深网络来提升性能。VGG可通过重复使用简单的基础块来构建深度模型在tf.keras中实现VGG模型,首先来实现VGG块,它的组成规律是:连续使用多个相同的填充为1、卷积核大小为3×3的卷积层后接上一个步幅为2,窗口形状为2×2的最大池化层。
2025-07-17 22:59:44
428
原创 一、CV_图像分类简介
图像分类实质上就是从给定的类别集合中为图像分配对应的标签任务。也就是说我们的任务是分析一个输入图像并返回一个该图像类别的标签。
2025-07-15 21:49:20
375
原创 七、深度学习——RNN
输出结果:主要包括输出结果output,最后一层的hn。输入数据:输入主要包括词嵌入的x,初始的隐藏层h0。实际上,字是重复输入到同一个神经元中的。
2025-07-14 22:27:21
435
原创 五、深度学习——CNN
通过上面的卷积计算过程,最终的特征图比原始图像小很多,如果想要保持经过卷积后的图像大小不变,可以在原图像周围添加padding来实现。卷积神经网络 是含有卷积层的神经网络,卷积层的作用就是用来自动学习,提取图像的特征。在每个卷积计算之后应用relu激活函数来给网络增加非线性因素。CNN网络主要由三部分构成:卷积层,池化层和全连接层。
2025-07-12 23:39:57
1138
原创 四、神经网络——正则化方法
在深度学习中,所有能够缓解网络过拟合的方法都叫做正则化方法(越复杂的模型越容易发生过拟合)在设计机器学习算法时希望在新样本上的泛化能力强。许多机器学习算法都采用相关的策略来减小测试误差,这些策略统称为正则化神经网络的强大的表示能力经常遇到过拟合,所以需要使用不同形式的正则化策略目前深度学习中使用较多的策略有等。
2025-07-11 23:19:02
391
原创 三、神经网络——网络优化方法
梯段下降算法是一种寻找使损失函数最小化的方法,从数学上的角度来看,梯度的方向是函数增长速度最快的方向,那么梯度的反方向就是函数减少最快的方向,所以有WijnewWijold−η∂Wij∂Eη在进行模型训练的时候,有三个基础的概念EpochBatchsizeIteraioneg50000BatchSize256Epoch50000Batch50000/2561196EpochItera。
2025-07-10 22:51:54
1400
原创 二、深度学习——损失函数
损失函数定义:损失函数是用来衡量模型参数的质量的函数,衡量方式是比较网络输出和真实输出的差异别名:损失函数(loss function),代价函数(cost function),目标函数(objective function),误差函数(error function)
2025-07-09 23:23:50
958
2
原创 一、深度学习——神经网络
定义:人工神经网络(Artificial Neural Network,ANN)也简称为神经网络(NN),是一种模仿生物神经网络结构和功能的计算模型。人脑可以看作是一个生物神经网络,由众多的神经元连接而成。各个神经元传递复杂的电信号,树突接收到输入信号,然后对信号进行处理,通过轴突输出信号。神经网络中信息只向一个方向移动,即从输入节点向前移动,通过隐藏节点,再向输出节点移动。
2025-07-08 23:23:46
2902
2
原创 深度学习基础2
一个张量经过了transpose或者permute函数的处理之后,就无法使用view函数进行形状操作,如果要使用view函数,需要使用contiguous()变得连续以后再使用view函数。view函数也可以用于修改张量的形状,只能用于存储在整块内存中的张量。
2025-07-05 09:58:08
251
原创 机器学习算法_支持向量机
支持向量机只能做二分类任务SVM全称支持向量机,即寻找到一个超平面使样本分成两类,且间隔最大硬间隔:如果样本线性可分,在所有样本分类都正确的情况下,寻找最大间隔;如果出现异常值或样本线性不可分,此时硬间隔无法实现软间隔:允许部分样本,在最大间隔之内,甚至在错误的一边,寻找最大间隔;目标是尽可能保持间隔宽阔和限制间隔违例之间寻找良好的平衡惩罚系数:通过惩罚系数来控制这个平衡,C值越小,则间隔越宽,分错的样本个数也就越多;反之,C值越大,则间隔越窄,分错的样本个数越少。
2025-06-14 21:18:58
944
原创 机器学习算法_聚类KMeans算法
类别内部数据的距离平方和越小越好,类别之间的距离平方和越大越好,聚类的。:计算聚类中心并预测每个样本属于哪个类别,相当于先调用。CH系数考虑簇内的内聚程度,簇外的离散程度,质心的个数。:开始的聚类中心的数量,整型,默认值为8。
2025-06-13 15:10:03
1199
原创 机器学习算法——集成学习
特点:随着学习的积累从弱到强,每加入一个弱学习器,整体能力就会得到提升随机森林是基于Bagging思想实现的一种集成学习算法,采用决策树模型作为每一个弱学习器随机森林步骤主要是提高泛化能力核心思想:通过逐步提高那些被前一步分类错误的样本的权重来训练一个强分类器算法推导在上面步骤中,我们需要计算模型权重和样本权重示例构建第一个弱学习器构造第二个弱学习器在最终获取强学习器H(x)=sign(0.4236∗h1(x)+0.64963∗h2(x))H(x)=sign(0.4236*h_1(x)+0.64963*h_
2025-06-11 10:06:53
643
原创 机器学习算法_决策树
核心思想: 与线性回归、逻辑回归不同,决策树将特征视为一系列条件,通过数据学习这些条件划分方式特征处理: 特征作为分支条件,划分规则完全从数据中自动学习得到决策树是一种树形结构:树中每个内部节点表示一个特征上的判断,每个分支表示一个判断结果,每个叶子节点代表一种分类结果决策树的建立过程。
2025-06-08 21:28:34
699
原创 机器学习算法_线性回归
本文介绍了线性回归的基本概念和实现方法。线性回归通过回归方程建模自变量与因变量关系,核心公式为$h(w)=w^Tx+b$,其中权重$w$反映特征重要性。求解方法包括正规方程法(适用于小数据)和梯度下降算法(含全梯度、随机梯度和小批量梯度三种类型)。评估指标主要有MAE、MSE和RMSE,数值越小模型效果越好,需注意RMSE对异常值更敏感且可能提示过拟合。实际应用中应根据数据规模和需求选择合适的方法和评估指标。
2025-06-05 18:24:24
963
原创 机器学习算法——KNN
KNN算法是一种基于邻居的机器学习方法,通过计算样本距离进行分类或回归预测。算法流程包括:计算欧氏距离、排序、选择K个最近邻、表决机制(分类取多数类,回归取平均值)。K值选择至关重要:过小易过拟合,过大易欠拟合,通常避免选择类别数的倍数。Scikit-learn提供了KNeighborsClassifier和KNeighborsRegressor两个API,输入数据需为二维数组格式。距离度量包括欧氏距离、曼哈顿距离和切比雪夫距离等。特征预处理推荐使用标准化(StandardScaler),因其对异常值鲁棒性
2025-05-31 16:56:25
903
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人