- 博客(201)
- 资源 (30)
- 收藏
- 关注
原创 python零基础实现基于旋转特征的自监督学习(二)——在resnet18模型下应用自监督学习
在本系列的上一篇文章中,我们介绍了如何对数据加载器进行修改来构建适合预基于特征旋转的自监督学习使用的数据集,在本篇文章中,我们将构建一个简易的深度学习模型——resnet18作为测试模型作为案例,在resnet18上我们进行训练,以及效果的对比。基于旋转特征的自监督学习实质上就是将原始图像进行旋转,旋转过后将他的标签设置成旋转的角度。然后传入模型进行训练,训练好的权值作为分类模型的预训练模型进行模型迁移。
2023-04-10 11:02:57 1683
原创 系统学习Numpy(一)——numpy的安装与基础入门[向量、矩阵]
numpy是科学计算以及机器学习深度学习的基础必备工具,本文将介绍numpy的安装,以及关于向量、矩阵相关的基础知识。
2023-04-09 20:00:30 1210
原创 python零基础实现基于旋转特征的自监督学习(一)——算法思路解析以及数据集读取
在本专栏的第一个项目pytorch实现手写数学符号识别项目中,我们实现了多分类问题。有这样一个论文中提到的特征旋转的自监督学习的方法,能够通过简单的处理使得图像任务的处理效果更好(是的,下面介绍的方法不只是可以用于图像分类任务,还可以用于其他任务)。会介绍论文的思路,并且构建用于基于特征旋转的自监督学习的数据加载器
2023-04-09 15:48:16 1540
原创 论文翻译——通过预测图像旋转进行自监督学习(英汉对照)
在过去的几年里,深度卷积神经网络(ConvNets)已经改变了计算机视觉领域,由于其学习无与伦比的高级语义图像特征的能力。然而,为了成功地学习这些特性,它们通常需要大量的手动标记数据,这既昂贵又不现实。因此,无监督语义特征学习,即不需要人工注释的学习,对于成功地获取当今可用的大量视觉数据是至关重要的。在我们的工作中,我们建议通过训练convnet来识别图像特征识别作为输入的图像的二维旋转。我们定性和定量地证明了这个明显简单的任务实际上为语义特征学习提供了一个非常强大的监督信号。
2023-04-03 16:14:03 1359
原创 计算机视觉知识点(一)——交并比(IoU)及其若干改进
目标检测是一个常见的计算机视觉任务,在目标检测任务中,交并比作为评判检测框的标准具有很重要的意义,在实际的应用中,人们又对最初的IoU进行了诸多的改进。本文将对IoU以及他的改进形式的思路以及公式进行详细通俗的介绍。
2023-03-26 22:34:16 3345
原创 pytorch零基础实现语义分割项目(四)——模型训练与预测
在本系列的前几篇文章中我们介绍了数据与模型,在本篇中我们将数据与模型相结合进行模型训练与预测。
2023-02-20 09:02:49 1694
原创 pytorch零基础实现语义分割项目(三)——语义分割模型(U-net和deeplavb3+)
在前两篇中我们完成了针对数据的处理和加载,本篇文章中我们将介绍两个常见的语义分割模型U-Net和deeplabv3+来完成航拍语义分割项目。
2023-02-18 13:18:55 1476
原创 pytorch零基础实现语义分割项目(二)——标签转换与数据加载
在前面的文章中我们介绍了数据集的概况以及预处理,在训练之前除了数据预处理之外我们还需要对于标签进行处理,因为标签是以RGB格式存放的,我们需要把他们变换成常见的类别标签,并且因为语义分割问题是针对像素的分类,在数据量较大的情况下容易内存溢出(OOM),所以我们往往需要重写数据加载类针对大量数据进行加载。
2023-02-18 10:13:47 1455
原创 通俗易懂的机器学习——sklearn鸢尾花分类(KNN)
KNN算法是机器学习中较为简单的入门算法,其主要思想是选取k个与待预测点相近的数据,观察他们的类别,本着离谁近就更像谁的思路对于待预测点进行预测,本文将针对使用sklearn进行KNN算法的使用进行详解。
2023-02-17 17:27:55 2192
原创 pytorch零基础实现语义分割项目(一)——数据概况及预处理
在本专栏的上一个项目中我们介绍了使用CNN进行图像分类,在本项目中我们将介绍另外一种对于图像进行处理的算法——语义分割。
2023-02-17 15:29:14 2391
原创 opencv-python常用函数解析及参数介绍(九)——视频读取与保存
本专栏前面文章中所介绍的都是对于图像的处理,那么如果是视频我们将如何进行处理呢?首先我们先要有个概念,就是视频是由帧组成的,而为了让人眼看见的视频变得流畅,一般一秒钟会有多个帧,这就有了一个概念,叫帧率,即每秒多少帧,下面我们将针对视频以及视频相关信息结合函数进行讲解。
2023-02-03 21:43:22 1464
原创 pytorch深度学习案例(一)——手写数学符号识别
在前面的两篇文章中我们介绍了现代计算机视觉中常见的结构化和非结构化的CNN模型,本篇我们将使用这些CNN模型在手写数学符号数据集上进行识别。CNN模型的介绍请参照之前的两篇文章,源码放到最后。
2023-01-28 10:30:22 1881
原创 pytorch深度学习基础(十一)——常用结构化CNN模型构建
在本专栏的上一篇博客中我们介绍了常用的线性模型,在本文中我们将介绍GoogleNet、resNet、denseNet这类结构化的模型的构建方式。
2023-01-26 10:45:02 1338
原创 pytorch深度学习基础(十)——常用线性CNN模型的结构与训练
本篇文章将介绍常用的线性CNN模型,其中包括LeNet, AlexNet, VGG,并用fashion_mnist数据集为例解释并演示CNN模型的训练和测试过程
2023-01-24 15:43:06 1100
原创 pytorch零基础实现手写数学符号识别项目(三)——模型训练与预测
在前面的文章中我们重点介绍了数据的形式,数据的加载,并且解决了加载过大的数据集可能导致的OOM问题。同时我们也解决了加载torchvision中现有的模型时遇到的输入和输出端与我们实际问题不匹配的情况,在本篇文章中我们将介绍模型的训练和预测过程。
2023-01-24 14:53:29 1434 1
原创 pytorch零基础实现手写数学符号识别项目(二)——数据加载以及模型浅试
数据加载以及模型浅试前言数据加载加载单个数据数据加载器参数过程解析批量数据加载模型训练ResNet模型模型结构模型修改结尾前言在上一篇文章中,我们着重分析了数学符号数据集的特征,并且做好了真实标签与数字标签的映射,同时为了防止内存溢出,我们将图像的路径和类别存放到了txt文件中实行随用随取。本篇文章我们将在上一篇文的基础上定义数据的加载方式以及在resnet下进行模型的训练。数据加载加载单个数据在torchvision中,可以使用io.read_image打开适用于torch的图片,还记得上篇我们
2023-01-22 16:09:50 647 1
原创 pytorch零基础实现手写数学符号识别项目(一)——数据集以及数据概况
人工智能主要可以解决的问题分为:模拟人类认知和模拟人类感知,图像分类就是模拟人类感知的过程的一个方向,即分辨出图像中的事物是什么,未来的几周我们将借助手写数学符号数据集来着重讲解pytorch用于图像分类的技术,对于实现中的细节也将逐步讲解。
2023-01-21 17:13:17 822
原创 pytorch深度学习基础(九)——深入浅析卷积核
提到卷积,应该多数人都会想到类似上图的这种示例,可以简单的理解成卷积核与图像中和卷积核相同大小的一块区域与卷积核相乘再求和,通过移动区域产生一个有和组成的新的图像,那么卷积核是什么呢,本文将从原理通俗易懂的介绍卷积核
2023-01-18 20:58:40 1612
原创 pytorch深度学习基础(八)——线性回归
假设我们有一个房价预测的问题,我们有很多条数据,每一个数据项有很多特征,这些特征就是x,而房价就是y,线性回归要解决的就是得出一批合适的w和b来实现x向y的映射,使得我们得到x时就可以预测出y。但是不是所有的问题都可以得到解析解,所以我们一般使用梯度下降的方式进行优化,优化方式是:各个参数沿着梯度的反方向更新,梯度方向就是方向导数最大的方向。为了求得权值和偏置的最优值,我们需要定义损失函数,通过降低损失函数的损失进行权值和偏置的优化。
2023-01-07 18:53:30 708 8
原创 opencv案例实战——银行卡模式匹配识别
在之前的几篇文章中我们已经介绍了opencv的一些基础知识,本篇文章我们将结合一个案例运用之前的知识并且学习opencv中模式匹配的应用,用到的知识点如果有不清楚的可以查看上面列出来的系列文章。具体代码会放在最后。
2023-01-04 11:03:33 915 5
原创 opencv-python常用函数解析及参数介绍(八)——轮廓与轮廓特征
在前面的文章中我们已经学会了使用膨胀与腐蚀、使用梯度、使用边缘检测的方式获得图像的轮廓,那么在获得轮廓后我们可以对图像进行什么样的操作呢?本文将介绍轮廓的绘制与轮廓特征的使用。
2023-01-02 21:18:22 1111
原创 opencv-python常用函数解析及参数介绍(七)——边缘检测
在之前的文章中我们介绍了使用膨胀和腐蚀、计算图像梯度的方式来获取图像的轮廓,本篇文章将介绍另外一种可以获取图像轮廓的方法——边缘检测。
2023-01-02 14:47:20 1053 1
原创 opencv-python常用函数解析及参数介绍(六)——图像梯度
前面的文章中我们介绍了用膨胀和腐蚀得到了图像轮廓,图像梯度也是一种可以得到图像轮廓的方式,同时他也是边缘检测的其中一个步骤,下面我们来介绍各种可以求得图像梯度的算子。
2023-01-01 11:20:30 839 3
原创 opencv-python常用函数解析及参数介绍(五)——腐蚀与膨胀
有些时候图片上会有一些划痕或者污渍,会影响图片的质量,假设我有一张写有“艾醒”的图片,但是有花花绿绿的划痕和污渍,这时我们就可以运用腐蚀与膨胀消除这些划痕和污渍。
2022-12-31 22:37:43 3634
原创 opencv-python常用函数解析及参数介绍(四)——图像阈值
在很多任务当中,首要的任务就是对图像进行阈值处理,为后续其他操作做准备,本文将介绍5种阈值处理的方法以及参数设置,同时通过合理的分析帮助记忆相关参数。
2022-12-31 20:38:18 719
原创 opencv-python常用函数解析及参数介绍(三)——图像滤波
很多时候我们能拿到的图片并不是十分干净,有时会有一些噪声,这时我们就应该采用滤波的方式对他进行处理,本文将在一张干净的图片上生成噪声并进行滤波操作。均值滤波适合椒盐噪声,高斯滤波适合高斯噪声,两种噪声都要尝试一下中值滤波通过比较得出较好的图片。
2022-12-31 20:28:30 797 1
原创 opencv-python常用函数解析及参数介绍(二)——图像填充与图像融合
本文主要介绍使用opencv-python进行图像填充和图像融合时会用到的函数以及参数的设置
2022-12-31 14:20:18 1775 1
原创 opencv-python常用函数解析及参数介绍(一)——图像读取及其通道与灰度
本文将简单介绍opencv-python中的图像以及视频的读取,并且介绍灰度图与彩图的通道,以及灰度图与单通道的联系与区别。
2022-12-31 12:47:51 3039 5
原创 从零开始配置tensorflow深度学习环境(含cuda以及其他依赖)
近日因为某些原因将自己电脑重置了,特来记录一下从零开始配置tensorflow深度学习环境的过程
2022-10-17 22:56:47 2668 4
原创 LeetCode刷题C++实录
LeetCode刷题C++实录,每道题附有视频,刷题实录视频:https://space.bilibili.com/1102086181
2022-07-23 08:04:53 672
原创 LeetCode刷题Python实录
LeetCode刷题Python实录,记录使用Python在LeetCode的刷题过程,刷题视频详见:https://space.bilibili.com/1102086181
2022-07-12 10:08:27 667
原创 LeetCode刷题——715. Range 模块
Range模块是跟踪数字范围的模块。设计一个数据结构来跟踪表示为 半开区间 的范围并查询它们。半开区间 [left, right) 表示所有 left
2022-06-20 15:24:31 200
原创 剑指 Offer II 029. 排序的循环链表Python实现
给定循环单调非递减列表中的一个点,写一个函数向这个列表中插入一个新元素 insertVal ,使这个列表仍然是循环升序的。给定的可以是这个列表中任意一个顶点的指针,并不一定是这个列表中最小元素的指针。如果有多个满足条件的插入位置,可以选择任意一个位置插入新的值,插入后整个列表仍然保持有序。如果列表为空(给定的节点是 null),需要创建一个循环有序列表并返回这个节点。否则。请返回原先给定的节点。示例 1:输入:head = [3,4,1], insertVal = 2输出:[3,4,1,2]解释:在上图
2022-06-18 16:26:41 187
原创 Go语言入门(六)——循环语句
与C、java、python不同的是GO只存在for循环语句,但是Go的for循环语句也能够起到其他语言中while语句的作用下面展示三种for循环的使用方式充当while的for循环for与range配合使用需要注意的是for与range配合进行迭代时迭代的变量必须可迭代类型:数组或者字典for 循环示例如果在循环中直接写break则break退出的是break所在的循环;同时Go允许我们在进入某一层循环前定义一个标签,可以在break时指定标签使得可以直接退出标签指定的循环我们假定我们有
2022-06-11 09:12:01 365
原创 Go语言入门(五)——分支语句
代码形式go中的分支语句与C语言中很像,只不过去掉了括号,特别要注意的是if后面只能加布尔表达式而不能像C一样用0和非0来表示真值基本示例这里我们借用了fmt中的Scan来获取键盘的输入来进行分支判断输入的数字与0的关系,代码如下可以看出运行三次分别输入9,-8,0得到的结果是不一样的先赋值后判断示例if-else分支语句也可以先赋值再判断go中的switch与C中的很像,但是要注意他的几点特性单值switch示例除了不用加break之外和C基本一致多值switch示例...
2022-06-11 09:11:07 255
手写数学符号识别项目-Handwritten-math-symbols-recognition.zip
2023-02-17
机器学习资料、实验代码及报告.zip
2023-02-17
航拍语义分割(附数据集).zip
2023-02-17
用于语义分割的航拍数据集
2023-02-17
基于tensorflow的手语检测
2022-11-04
人脸检测和动漫脸检测剪裁脚本.zip
2022-11-04
python实现用于图片拟合的免疫遗传算法
2022-04-11
python实现使用遗传算法进行图片拟合
2022-02-21
stable diffusion内存溢出
2023-02-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人