自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 收藏
  • 关注

原创 Python----TensorFlow(TensorFlow介绍,安装,主要模块,高级功能)

TensorFlow 是由谷歌大脑团队开发的开源深度学习框架,核心由计算图组成,支持多种编程语言和平台。其基本结构包括用于计算的张量、会话和计算图。TensorFlow 提供多个模块,涵盖核心操作、数学运算、损失函数、优化器和神经网络组件。高级功能如自动微分、分布式训练和 TensorBoard 可视化工具提升了使用体验。随着版本迭代,特别是 2.x 版本,引入了 Eager Execution 和 Keras 等新特性,优化了性能和易用性。

2025-04-05 08:19:31 554

原创 Python----计算机视觉处理(Opencv:道路检测之车道线显示)

首先进行了透视变换,将原始图像中的车道线部分提取出来,并经过透视变换得到变换后的车道线图像。然后,对提取出的车道线进行绘制,并通过逆透视变换将车道线映射回原始图像中。最后,通过图像融合的方式将原始图像和变换后的结果进行叠加显示。

2025-04-04 11:15:03 1075

原创 Python----计算机视觉处理(Opencv:道路检测之车道线拟合)

实现了车道线检测的基本流程:首先读取一幅道路图像,并通过计算每列像素的总和来确定左右车道线的初始位置。接着,使用滑动窗口技术在图像中查找车道线像素,并通过有效像素的数量动态调整窗口位置。找到的车道线像素索引被合并后,利用多项式拟合生成平滑的车道线模型,并在图像上用不同颜色标记左侧和右侧车道线,最终显示处理后的结果图像。

2025-04-03 09:22:01 777

原创 Python----计算机视觉处理(Opencv:道路检测之提取车道线)

在道路检测中,提取车道线至关重要。我们采用两种主要方法进行车道线提取:梯度提取和颜色提取。梯度提取包括高斯滤波、灰度化、梯度处理、二值化和形态学变换(膨胀和腐蚀),能有效突出车道线的边缘特征;颜色提取则通过 HLS 颜色空间提取白色车道线和使用 Lab 颜色空间提取黄色车道线,可以进一步增强车道线的可区分性。这两种方法结合使用,有助于实现更准确的车道线检测。

2025-04-02 08:54:23 916

原创 Python----计算机视觉处理(Opencv:道路检测之道路透视变换)

在道路检测中,为了提高车道线的检测精度,我们首先需要对图像进行透视变换,将驾驶者视角的平视图转换为俯视图。这一过程通过 OpenCV 实现,使图像中的车道线在后期处理时更加清晰和易于识别,进而为自动驾驶和辅助驾驶系统提供更可靠的基础数据。

2025-04-01 09:10:09 510

原创 Python----机器学习(基于PyTorch的线性回归)

在使用PyTorch实现线性回归算法时,我们需要准备好数据集,然后通过框架将前向传播的内容做好,并且“选择”好反向传播过程中所用到的一些参数或者参数更新的方法(如梯度下降)。在选择好输入特征和输出特征后,按照自求导线性回归的思路,我们应该进行 w 和 b 的初始化,给模型一个起始点,使其能够开始学习并逐渐优化参数。而在使用框架实现时,参数的初始化是框架自动处理的(随机值),所以就不用我们再去手动初始化这两个参数了。

2025-03-31 09:34:49 1445

原创 Python----机器学习(PyTorch模型可视化:summary,netron,TensorboardX)

在PyTorch模型可视化中,可通过torchsummary或torchinfo生成模型结构摘要(如层数、参数统计),利用Netron直观展示ONNX格式模型的模块化结构与数据流,并结合TensorBoardX实时监控训练过程(损失、准确率曲线及计算图),三者分别解决模型解析、拓扑可视化和训练动态追踪需求,形成从静态结构到动态训练的全链路可视化支持。

2025-03-31 09:34:11 1080

原创 Python----机器学习(PyTorch模型的保存与加载+预测)

在 PyTorch 中,模型的保存与加载以及预测的过程相对简单。首先,可以通过 `torch.save()` 方法将模型的状态字典(`state_dict`)保存到指定的文件中,以便于后续使用。加载模型时,使用 `torch.load()` 方法读取保存的文件,并通过 `model.load_state_dict()` 将参数加载到模型中。为了进行预测,需要将模型设置为评估模式(`model.eval()`),然后使用输入数据进行前向传播,得到预测结果。这一流程确保了模型在训练和推断阶段的一致性与可复用性。

2025-03-31 09:33:15 973

原创 Python----PyTorch(PyTorch概述,安装,tensor存储机制,连续性)

PyTorch 是一个开源的深度学习框架,由 Meta(原名 Facebook)的人工智能研究团队开发和维护。自 2017 年 1 月发布以来,PyTorch 在深度学习社区中的关注度不断上升,尤其是在推出 1.0 版本后,新增了许多功能并优化了原有内容,还整合了 Caffe2,使得使用更加便捷,极大增强了其生产性。PyTorch 采用 Python 语言接口,易于上手,类似于带有 GPU 支持的 NumPy。

2025-03-31 09:30:08 674

原创 Python----机器学习(线性回归:反向传播和梯度下降)

前向传播是在参数固定后,向公式中传入参数,进行预测的一个过程。当参 数值选择的不恰当时,会导致最后的预测值不符合我们的预期,于是我们就 需要重新修改参数值。在前向传播实验中时,我们都是通过手动修改w值来使直线能更好的拟合散点。反向传播是在前向传播后进行的,它是对参数进行更新的一个过程,反向传 播的过程中参数会根据某些规律修改从而改变损失函数的值。

2025-03-31 09:29:23 800

原创 Python----机器学习(线性回归:自求导的方法实现)

与模型的权重和偏置等参数不同,超参数并不直接控制模型的学习过程。相反,超参数是在训练之前选择或调整的一组参数,用于定义模型的架 构、优化算法、学习率、正则化强度、迭代次数等。线性回归是统计学和机器学习中最简单且最常用的技术之一,它提供了一个基本的框架来理解和分析变量之间的关系,并用于许多实际应用中,如经济学、金融学、医学、社会科学等领域。超参数(Hyperparameters)是机器学习和深度学习模型中的一类参数, 它们不是通过训练数据学习得到的,而是在训练过程之前需要手动设置的参数。

2025-03-31 09:29:02 665

原创 Python----机器学习(线性回归:前向传播和损失函数)

前向传播是指在一个机器学习算法中,从输入到输出的信息传递过程,具体 来说,就是在数据输入后,经过一系列的运算后得到结果的过程。

2025-03-31 09:28:34 165

原创 Python----机器学习(KNN:使用数学方法实现KNN)

KNN(K-Nearest Neighbors)算法的基本流程涉及几个关键步骤,以实现对给定点的分类预测。首先,获取待预测的点 `point_predict`。接下来,计算训练点集 `point_set_train` 中每个点到 `point_predict` 的 L2 距离,形成距离列表 `list_L2_distance`。然后,对该距离列表进行排序,以得到排序后的索引列表 `list_index_ascend`。根据超参数 k 选择最近邻的数量,提取 `list_index_ascend` 中前 k

2025-03-31 09:28:04 976

原创 Python----机器学习(KNN:决策边界,决策边界计算,交叉验证步骤)

在 KNN 算法中,**决策边界**是用于区分不同类别的边界线,其形状由训练数据点的分布和 K 值决定。**决策边界的计算**基于 KNN 的实例特性,随着 K 值的变化,边界可能变得更平滑或更复杂,影响算法的性能和准确性。为了评估模型在未知数据上的表现,**交叉验证步骤**被广泛应用,它通过将数据集划分为多个子集,多次训练和验证模型,从而提供更可靠的性能评估。这些步骤共同帮助优化 KNN 模型的准确性与泛化能力。

2025-03-30 10:02:58 1287

原创 Python----机器学习(距离计算方式:欧式距离,曼哈顿距离,切比雪夫距离,余弦相似度,汉明距离,闵可夫斯基距离,Jaccard指数,半正矢距离)

在机器学习中,距离计算是衡量数据点之间相似性的重要手段。常用的距离计算方式包括欧氏距离(用于计算两点之间的直线距离)、曼哈顿距离(计算坐标轴的绝对差值之和)、切比雪夫距离(考虑最大坐标差),以及余弦相似度(度量两个向量间的角度相似性)。此外,还有汉明距离(用于计算两个相同长度字符串之间不同字符的个数)、闵可夫斯基距离(是一种泛化的距离度量),Jaccard指数(用于衡量两个集合的相似性),和半正矢距离(用来衡量正定特征的相似性)。这些距离度量在数据分类、聚类和推荐系统等场景中具有广泛应用。

2025-03-29 12:10:11 514

原创 Python----机器学习(scikit-learn库,机器学习发展进程)

特点:简单高效:提供了简单高效的算法和工具,方便用 户快速进行数据分析和机器学习模块化设计:采用模块化设计,使得用户可以根据需 要自由组合不同的算法和工具丰富多样的算法:提供了丰富多样的机器学习算法,包括 分类、回归、聚类、降维等,满足用户不同需求适用场景 :数据挖掘:适用于数据分析和数据挖掘,可以高效的处理数据集机器学习:提供了丰富的机器 学习算法,包括分类、回归、 聚类等,适用于各种机器学习 任务安装:对机器学习方面:支持向量机算法,用于分类和 回归分析。

2025-03-28 08:48:06 983

原创 Python----数据分析(电影数据分析)

该对电影进行数据分析,主要查看性别对于观看电影是否有影响,获取评分次数最多的前10部电影,获取评分最高的前10部电影 ,不同年龄段对某部电影的评分

2025-03-27 08:57:17 693

原创 Python----数据分析(足球运动员数据分析)

从上述示例可以看到总共17588行,但National_Position(国家队位置) 是1075行,Club_Position (俱乐部位置)17587行。我们知道有的足球运动员是没有进入国家队的,所以National_Position缺值是正常情况。从查看数据结果可以看到运动员身高Height、体重Weight的数据后都添加了相应的单位。要分析运动员身高和体重的分布,首先需要将身高Height和Weight数据的单位去掉。观察出生年和足球运动员数量关系。观察出生年和足球运动员数量关系。

2025-03-26 09:00:32 1600

原创 Python---数据分析(Pandas十二:二维数组DataFrame分组和聚合,数据可视化函数,Pandas绘图:折线图,条形图,直方图,饼图,箱图,散点图)

Pandas中,DataFrame的分组(groupby())结合聚合函数(如mean(), sum(), count())可以对数据进行统计分析,而内置的可视化函数(plot())以及与Matplotlib/Seaborn的结合,能够更直观地展现数据特征和分析结果。Pandas 提供了多种绘图函数,可以方便地创建折线图、条形图、直方图、饼图、箱图和散点图,用于可视化数据,从而更好地理解数据分布、比较和关系。

2025-03-25 09:03:25 1128

原创 Python----计算机视觉处理(Opencv:图像亮度变换)

把亮度调低,就是图片中的所 有像素值减去了一个固定值;把亮度调高,就是图片中的所有像素值加上了一个固定值;增大像素对比度(白的地方更白,黑的地方更黑)亮度调整:图像像素强度整体变高或者变低。

2025-03-24 09:05:50 559

原创 Python----计算机视觉处理(Opencv:霍夫变换)

霍夫变换是图像处理中的一种技术,主要用于检测图像中的直线、圆或其他形状。其基本思想就是将图像空间中的点映射到参数空间中,通过在参数空间中寻找累计最大值来实现对特定形状的检测。

2025-03-24 09:05:31 1382 1

原创 Python----计算机视觉处理(Opencv:模板匹配)

模板匹配就是用模板图(通常是一个小图)在目标图像(通常是一个比模板图大的图片)中不断的滑动 比较,通过某种比较方法来判断是否匹配成功。

2025-03-24 09:04:49 831

原创 Python----计算机视觉处理(Opencv:直方图均衡化)

在计算机视觉处理中,使用 OpenCV 的直方图均衡化可以改善图像的对比度和亮度。通过 `cv2.equalizeHist()` 函数对灰度图像进行处理,可以有效地分散像素强度,从而增强细节和可视性,特别是在光照不均的情况下,使得图像更加清晰和易于分析。

2025-03-24 09:04:19 843

原创 Python----计算机视觉处理(Opencv:图像轮廓特征查找:外接轮廓)

在计算机视觉处理中,使用 OpenCV 的图像轮廓特征查找功能可以有效地检测和分析图像中的轮廓,通过 `findContours()` 函数提取轮廓,并结合其他函数(如 `drawContours()`)进行可视化,帮助识别和理解图像的形状和结构特征。

2025-03-24 09:03:13 865

原创 Python----计算机视觉处理(Opencv:凸包特征检测:凸包方法)

通俗的说,就是完全凸起,没有凹处的多边形,也叫做凸多边形。一 般来说凸包都是伴随着某类点集存在的,也被称为某个点集的凸包。对于一个点集来说,如果该点集存在凸包,那么这个点集中的所有的点要么 在这个凸包上,要么在这个凸包内。凸包检测常用在物体识别、手势识别及边界检测等领域。

2025-03-24 09:02:16 1267

原创 Python----计算机视觉处理(Opencv:绘制图像轮廓:寻找轮廓,findContours()函数)

轮廓是图像中目标物体或区域的外部边界线或边界区域,由一系列相连的像素构成封闭形状,代表了物体的基本外形。与边缘不同,轮廓是连续的,而边缘则不一定是连续的。轮廓与边缘的区别:轮廓是一组连续的点或线,而边缘不连续。并且边缘更多的是作为图像的特征使用,比如可以用边缘特征来区分脸和手,而轮廓主要用来分析物体的形态,比如物体的周长、面积等。轮廓的作用:1. 形状分析:通过轮廓,可以分析物体的形状,比如是圆形、矩形还是更复杂的形状。2. 目标识别:在识别特定物体时,轮廓可以作为物体的一个重要特征。

2025-03-24 09:01:35 1016

原创 Python----计算机视觉处理(Opencv:图像边缘检测:非极大值抑制,双阈值筛选)

在OpenCV中,图像边缘检测是识别图像中对象边界的重要技术。它通过检测图像亮度或颜色突变来确定边缘位置。常用的边缘检测算法包括Sobel、Canny和Laplacian等。Sobel算子计算图像在水平和垂直方向上的梯度,Canny算子则是一种多级边缘检测算法,它包括噪声抑制、梯度计算、非极大值抑制和双阈值分割等步骤,能更准确地检测边缘。Laplacian算子则用于检测图像的二阶导数,从而找到边缘。这些算法为图像分析、对象识别和图像分割等应用提供了基础。

2025-03-24 09:00:24 2236

原创 Python----计算机视觉处理(Opencv:梯度处理:filiter2D算子,Sobel,Laplacian)

把图片想象成连续函数,因为边缘部 分的像素值是与旁边像素明显有区别的,所以对图片局部求极值,就可以得到整幅图片的边缘信息了。不过图片是二维的离散函数,导数就变成了差分,这个差分就称为图像的梯度。

2025-03-24 08:59:26 1037

原创 Python----计算机视觉处理(Opencv:图像噪点消除:滤波算法,噪点消除)

噪声:指图像中的一些干扰因素,通常是由图像采集设备、传输信道等因素造成的,表现为图像中随机 的亮度,也可以理解为有那么一些点的像素值与周围的像素值格格不入。常见的噪声类型包括高斯噪声 和椒盐噪声。高斯噪声是一种分布符合正态分布的噪声,会使图像变得模糊或有噪点。椒盐噪声则是一 些黑白色的像素值分布在原图像中。

2025-03-24 08:58:18 1305

原创 Python----计算机视觉处理(Opencv:边缘填充方式)

边缘填充方式:边界复制,边界反射,边界反射101,边界常数,边界包裹

2025-03-24 08:57:21 650

原创 Python----计算机视觉处理(Opencv:插值方法)

在图像处理和计算机图形学中,插值(Interpolation)是一种通过已知数据点之间的推断或估计来获取 新数据点的方法。它在图像处理中常用于处理图像的放大、缩小、旋转、变形等操作,以及处理图像中 的像素值。图像插值算法是为了解决图像缩放或者旋转等操作时,由于像素之间的间隔不一致而导致的信息丢失和 图像质量下降的问题。当我们对图像进行缩放或旋转等操作时,需要在新的像素位置上计算出对应的像 素值,而插值算法的作用就是根据已知的像素值来推测未知位置的像素值。

2025-03-24 08:56:55 835

原创 Python----计算机视觉处理(Opencv:图像旋转:插值方法,边缘填充方法)

我们以最简单的一个点的旋转为例子,令旋转中心为坐标系中心O(0, 0),假设有一点P0,P0 离旋转中心O的距离为r, OP0与坐标轴x轴的夹角为, 绕O顺时 针旋转角后对应的点为P ,如下图所示:在OpenCV中,旋转是以图像的左上角为原点,且以逆时针为正方向。因此在上面 的例子中, 其实是一个负值。该矩阵也被称作旋转矩阵。然而我们所要的不仅仅是可以围绕图像左上角进行旋转,而是可以围绕任意点进行 旋转。那么我们可以将其转化成绕原点的旋转,其过程为:1. 首先将旋转点移到原点。

2025-03-24 08:56:14 1014

原创 Python---数据分析(Pandas十一:二维数组DataFrame统计计算二)

Pandas DataFrame 提供了 `std` (标准差,衡量数据离散程度), `quantile` (分位数,用于确定数据分布情况), `cummax` (累计最大值), `cummin` (累计最小值), `cumsum` (累计求和), 和 `cumprod` (累计求积) 等高级统计方法。这些方法可以更深入地分析数据,帮助了解数据的离散程度、分布、趋势和累计变化。

2025-03-23 09:00:56 1107

原创 Python---数据分析(Pandas十:二维数组DataFrame统计计算一)

在Pandas中,DataFrame提供了丰富的统计计算功能,能够对数据进行快速的汇总和分析。你可以使用`.mean()`、`.median()`、`.sum()`、`.min()`、`.max()`等方法计算列的均值、中位数、总和、最小值和最大值。此外,`.describe()`方法可以一次性生成包含计数、均值、标准差、最小值、最大值以及四分位数的统计摘要。这些统计计算功能帮助你快速了解数据的分布和特征,为进一步的数据分析和挖掘提供了基础。

2025-03-23 09:00:29 924

原创 Python---数据分析(Pandas九:二维数组DataFrame数据操作二: 数据排序,数据筛选,数据拼接)

在Pandas中,DataFrame的数据操作还包括排序、筛选和拼接等关键步骤。数据排序使用`.sort_values()`函数,可以按单列或多列的值进行升序或降序排列。数据筛选则通过布尔索引实现,允许根据特定条件选择满足要求的行。数据拼接可以通过`.concat()`、`.merge()`或`.join()`等函数将多个DataFrame对象组合在一起,实现数据的整合。这些操作共同提供了强大的数据处理能力,能够有效地组织、提取和整合信息。

2025-03-22 08:30:01 831

原创 Python---数据分析(Pandas八:二维数组DataFrame数据操作一: 数据清洗,数据转换)

在Pandas中,DataFrame的数据操作至关重要,尤其体现在数据清洗和数据转换上。数据清洗包括处理缺失值(如填充或删除)、去除重复项、纠正错误数据类型等,旨在保证数据的准确性和一致性。数据转换则涉及对现有数据进行加工处理,例如,通过应用函数进行数值标准化、创建新的计算列、以及进行数据类型转换等。这些操作共同确保了DataFrame中的数据质量,使其更适合后续的分析和建模。

2025-03-21 08:54:32 1330

原创 Python---数据分析(Pandas七:二维数组DataFrame中元素的索引与访问,其他常用方法)

在Pandas中,DataFrame是用于处理二维表格数据的核心结构。访问DataFrame中的元素主要通过标签索引(.loc)和位置索引(.iloc)。`.loc`允许你使用行和列的标签来选择数据,而`.iloc`则使用基于零的整数索引。此外,Pandas还提供了许多其他常用方法,如`.head()`和`.tail()`用于查看数据的头部和尾部,`.describe()`用于获取描述性统计信息,`.sort_values()`用于排序,`.groupby()`用于分组等,这些方法极大地简化了数据分析和处理

2025-03-20 09:07:44 1255

原创 Python---数据分析(Pandas六:二维数组DataFrame,DataFrame的创建,DataFrame的属性)

DataFrame 是 Pandas 中的一个表格型的数据结构,包含有多列的数据,每列可以是不同的值类型(数值、字符串、布尔型等),DataFrame 即有行索引也有列索引,可以被看做是由 Series 组成的字典。可以使用一个字典来创建DataFrame,其中字典的键将作为列名,字典的值可以是列 表、数组等可迭代对象,它们的长度要一致,代表每一列的数据。允许用户存储DataFrame的元数据,它是一个字典,可以用来存储任意与 DataFrame相关的额外信息。返回DataFrame的形状(行数,列数)。

2025-03-19 08:53:04 722

原创 Python----数据分析(Pandas五:一维数组Series的数据可视化和其他常用方法函数)

Series.plot 方法是用来绘制Series数据的可视化图表的,该方法提供了灵活的接 口,允许用户通过不同的参数来定制图表的类型、样式、布局等,其用法与 Matplotlib中的plot相同。

2025-03-18 08:50:30 1620

原创 Python----计算机视觉处理(Opencv:图像添加水印)

添加水印的概念其实可以理解为将一张图片中的某个物体或者图案提取出来,然后叠加到另一 张图片上。具体的操作思想是通过将原始图片转换成灰度图,并进行二值化处理,去除背景部分,得到 一个类似掩膜的图像。然后将这个二值化图像与另一张图片中要添加水印的区域进行“与”运算,使得目 标物体的形状出现在要添加水印的区域。最后,将得到的目标物体图像与要添加水印的区域进行相加, 就完成了添加水印的操作。这样可以实现将一个图像中的某个物体或图案叠加到另一个图像上,从而实 现添加水印的效果。

2025-03-17 09:28:26 1021

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除