自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

月下花弄影

沉下心,屏住气,不骄不躁, 则可成也

  • 博客(100)
  • 资源 (8)
  • 收藏
  • 关注

原创 农业图像-植物疾病检测-数据集

Github LinkNameDescriptionPlant type# imgResolution# classTaskPaperDatasetPlant Pathology 2020Real sceniaroApple leaf3,642Single3clsPaperDatasetCassavaFieldCassava leaf21,397 (train)Single5clsDatasetPlantVillageLab

2022-05-02 08:36:54 2088

原创 人脸口罩图像数据集

文章地址数据集地址类别图片分辨率图片数量图像标注情况补充MaskedFace (arxiv)GitHubmask / incor_mask1024*102467,193 / 69,823bb和FFHQ数据集基本相同无Kagglemask / no_mask / incor_mask变化853bb对每一个人脸进行标注,每张图片中人脸数量是变化的无NVIDIA GitHub For mask detection, 提供基线代码无...

2020-10-12 11:10:12 4617

原创 从labelme到COCO数据格式,再到binary mask for instance

本博客试图解决以下问题完整代码可以直接下载使用:GitHub地址labelme的标注格式转到COCO的格式。 (对应labelme2coco.py)从COCO的instance segmentation 得到每一个instance 的 binary mask。(对应make_list.py)对binary mask resize 到指定大小 (并去掉那些比较小的mask)(对应change_size.py)一些要求安装labelme安装COCO dataset的依赖以及其他依赖,如cv

2020-09-09 17:44:43 729

原创 python中图像读取,操作和保存的四种库函数:plt, cv2, pil, skimage

本文主要介绍python中四种读取,操作和保存图像的库函数。分别是:matplotlib.pyplot. 简称为plt。可以用于论文画图,类似于matlab的作图工具。保存图像很方便。官方例子地址。cv2。是opencv的python版本,有众多的图像处理函数。读取图像很方便。官网地址PIL.Image, 简称为pil。是一个比较方便的库,pytorch中有直接接口用于交互,因此对于pytorch用户来说,这是一个很好的选项,在自己的程序中尽量使用这个函数来进行操作。它也提供众多的图像处理函数。可以

2020-08-02 11:08:48 1206

原创 ConnectionResetError: [Errno 104] Connection reset by peer

遇到这个问题,意味着我们程序使用了不被授权的串口。这在使用一些常见的串口命令时会发生这种错误,如visdom,docker,tensorboard等命令时。首先使用命令查出你想使用的串口被哪个程序使用了:sudo lsof -i :串口如:sudo lsof -i :5000。 这里的5000就是我们想使用的串口,但是又报错。如果串口已经被使用,就必须换一个串口,或者将之前的串口取消才能在新的程序中使用这个串口。...

2020-07-03 17:09:25 9119

原创 pytorch中如何同时对image,bounding box, instance mask 进行相同的图像变换?

在目标检测或者分割的时候,我们需要同时对图像和对应的方框或mask进行相同的变换,然后作为ground truth训练模型。pytorch提供这样的服务,且十分简单,只要自己定义自己的函数即可,然后调用。这里以旋转为例:def my_transform(image, mask): image = F.to_pil_image(image) mask = F.to_pil_image(mask) if random.random() > 0.1:#

2020-06-25 10:26:47 1778

原创 pytorch保存和加载模型的两种方式

pytorch中保存和加载模型是绑在一起的。这里我需要注意一下不同的保存方式对应不同的读取方式,两者各有利弊。首先说说pytorch.save()这个函数,可以参考官网:pytroch.save。简而言之,这个函数可以保存任意的东西,比如tensor或者模型,或者仅仅是模型的参数。如果将保存对象局限在模型上,通常来说我们有两种方式:直接保存所有的模型,只保存模型中的参数(模型结构就保存了)。以下分别说说两种不同的方式。为了说明,我们先建立一个简单的模型。import torchimport t

2020-06-22 21:09:01 8401

原创 参数共享机制soft-share and hard-share【机器学习】

先讲hard-share. 言外之意就是来硬的。实际上两个参数的hard-share就退变成了一个参数。在实际计算过程中,我们就可以使用相同的参数进行计算。参数更新后也保持相同。再说soft-share。实际上这才是真的两个不同参数,但是我们尽量保证两个参数很接近。为了使两个参数很接近,我们通常使用损失函数来做。如下图,其中θt\theta^tθt 和 θt′\theta^{t'}θt′就是我们想要共享的参数。...

2020-05-20 13:15:59 3322

原创 GAN前沿问题讨论:GAN的训练和batch size的关系

我们知道再图像分类任务中,较大的batch size有助于提升分类性能,那么我们的问题是较大的batch size是否能提升GAN的性能呢?有人或许觉得这个答案应该是肯定的。毕竟大多数GAN中,discriminator就是一个图像分类器。如果大的batch size能够对梯度噪声有一定减缓作用的,那么它应该可以加速训练过程。但是,GAN还有一个问题是普通分类器所没有的:GAN的训练可能会发散...

2020-04-10 13:21:42 4594 3

原创 总结与归纳:深度神经网络中的数据融合方法

相加 add非线性相加(结合注意力机制)相乘 multiply相连 concatenate统计数据融合(normalization)参考文献1: Selective Kernel Networks2: Large Scale GAN Training for High Fidelity Natural Image Synthesis3: Toward Multimod...

2020-04-09 18:05:09 13152 4

原创 对抗生成网络GAN可以合成什么样的模型和数据?

目前,大多数的GAN都主要集中在生成图像上,且依赖于一些标准的数据集。像MNIST,CIFAR-10,STL,CelebA和imageNet等。传闻中,GAN在某些数据集上要好于另一些数据集。特别的,生成像CIFAR-10和CelebA的图片要比生成像imagenet一样的图片要容易些。还有一些人注意到用GAN生成像ImageNet这样有很多标签或者类的图像有点难。这些经验基本上都有一些实验结果支...

2020-04-09 15:27:18 3035 2

原创 【feature extractor 系列文章3】VGGNet核心贡献解读

问题的提出:如何增加卷积神经网络的深度【feature extractor 系列文章2】里介绍了ZFNet,该论文里面试图分析卷积层的作用,通过转置卷积对卷积层进行了可视化,使我们知道了随着层的增加,得到的特征越来越复杂,深层的卷积操作会将浅层的特征进行重组得到更接近object级别的特征。这里就提出了一个问题:卷积层的深度应该多少合适呢?而且层数太少肯定不太好。于是有了一个关键的问题:怎样...

2020-02-08 11:34:57 887

原创 【系统分析】1*1卷积的作用

在卷积神经网络中,卷积核大小为1*1的卷积有什么作用呢?有两个作用:1. 改变channel的数量2. 增加非线性程度第一个比较好理解,那就是1*1卷积不改变特征图的大小或者尺寸(当然,你也可以改变,通过stride大于1来实现,这时会损失空间信息。还有就是通过加一个pooling层在这个卷积后面)。另外,这里的改变是指我们可以增加通道数,也可以减小通道数。第二个则是很多人可能不了解的作...

2020-01-10 14:23:18 1254

原创 【深度解读】Alexnet论文

本文作为深度学习的突破性文章,将卷积神经网络用在图片的分类上,极大的提高了分类的准确率。背景和基础知识首先,本文先说一下本文的背景知识和一些基本概念。我们说机器视觉领域主要针对图像和视频,以他们为处理对象,这和其他应用比较起来,一个很大的区别就是图片和视频的输入量是很多,复杂度也就高的多。机器学习中想要提高性能的三大方法:得到大的训练数据更好的模型(本文主要针对的问题,但是其他两个方...

2020-01-06 15:36:57 991

原创 以蚁群算法为例,学习智能算法需要注意哪些问题?

在研究生期间,我当时对一个问题十分怀疑,那就是蚁群算法有什么用,相信很多人或许都对这个问题有过质疑。因为我目前没有见过蚁群算法用在哪个实际问题上过。或许有人参加过公司的一些工作面试,但是很少公司需要你掌握蚁群算法的。我们自己也尝试用蚁群算法解决机器人路径规划问题,其中的弊端我们或许也知道,那就是根本达不到实时性的要求,因为计算复杂度太高了。再就是进化计算所共有的缺点,需要一定的时间来收敛,实际上我...

2019-12-15 14:18:40 1922

原创 卷积神经网络之如何使用【公式】计算感受野 receptive field?

感受野可以说卷积神经网络中比较重要的一个知识点了,对于理解神经网络的原理应该是有重要作用的。本文旨在说明如何计算感受野。基本知识1. 普通神经网络基本构成:卷积核大小,步长,padding2. 计算输出特征图大小:看下面的第二幅图里面的公式我相信大家看到本篇博客的时候,应该已经知道了什么是卷积神经网络。对于不知道卷积神经网络的,建议去看CS231n的网络课程,里面非常详细。考虑到卷积神经...

2019-12-10 14:29:19 560 3

原创 机器视觉中的特征提取【0】:什么是特征提取,特征提取有什么作用?

1.什么是特征提取?特征提取的英文叫做feature extractor,它是将一些原始的输入的数据维度减少或者将原始的特征进行重新组合以便于后续的使用。简单来说有两个作用:减少数据维度,整理已有的数据特征。这里我给一个例子来解释特征提取的第二个作用。那就是我们很熟悉的奖学金评定,我们知道学生的文化课成绩,道德分数,以及各种其他竞赛的成绩。摆在奖学金评定委员会面前的任务就是如何知道一个学生是否...

2019-12-09 14:39:49 37685 9

原创 python中如何使用None增加数据维度

这里,我想说关于数据维度我们要注意两个东西。当我们进行切片操作时,我们的数据维度时丢失的。这一点要格外注意。有时候我们希望数据保持一定的维度,但是数据不变,这是可以实现的。且不同的平台或者库函数都有不同的方式,我们这里使用none来表示。首先说明第一点,切片操作时,我们的数据维度丢失了,如下图所示。其次我们可以使用none来增加维度,还可以将其和切片操作合并起来。虽然数据维度在变化,...

2019-12-04 15:11:57 2429

原创 pytorch中int和float如何进行转化?

优先使用:torch.tensor(已有数据,dtype=torch.float)这个方法比较好可以看例子。这也可以反向运行。为什么第二个成为这样,有待确认。有人知晓,还请告知。...

2019-11-21 17:07:20 22673 1

原创 深度学习中batch size 和 learning rate有什么关系?

参考文章链接参考文章题目:One weird trick for parallelizing convolutional neural networks具体可看第5页中。一般来说,我们batch size 大一些,则learning rate也要大一些。且有一个数学关系。假设别人最优的结果是这样的:batchsize=batch1batch size = batch_1batchsize...

2019-11-18 13:49:11 11031 2

原创 【feature extractor 系列文章2】ZFnet 论文阅读Visulaizing and Understanding Convolutional Networks

AlexNet比其他算法结果好很多,但是为什么会好这个问题却并没有回答,而本篇论文就试图解释这个原因。在理解了原因之后,进而提出一个新的模型去进一步提高模型的能力。首先,这篇论文开启了可视化的先河。使用到了两个方法:1)多层反卷积网络,multi-layered deconvolutional network (deconvet)2)对输入图片进行遮挡,然后看分类器对遮挡的敏感程度,进而看出...

2019-11-14 19:52:05 272

原创 GAN 对抗生成网络中什么是模式倒塌mode collapse?

本篇博文讲讲对抗生成网络中的模式倒塌问题,可以讲,这个问题是我们生成网络的重要难题之一。实际上,我觉得在我们人类的学习过程中也会出现类似的情况。在GAN中,有一个生成器,还有一个判别器,生成器就是生成图片或者其他的什么,而判别器就是帮助生成器不断变好。有人将生成器和判别器理解成造假钞和辨别假钞的。两者的能力都互相增长。刚开始生成器并不好,假钞一点也不像真的,这时候判别器很轻松的就知道了假钞是假...

2019-11-06 20:24:21 7443

原创 【feature extractor 系列文章1】Alexnet 论文阅读ImageNet Classification with Deep Convolutional Neural Networks

本系列论文阅读总结主要专注于特征提取模型。本篇博客主要讲述第一篇卷积神经网络——AlexNet。原文链接原文名为:ImageNet Classification with Deep Convolutional Neural Networks鄙人也是深度学习方面半路出家,这篇发表于2012年的论文以前也没有亲自读过,只是通过一些课程和与人交流了解了一些,难免有点拾人牙慧的嫌疑。事实证明也确实...

2019-10-11 17:23:42 543

原创 torch.stack 和 torch.cat 错误:argument 'tensors' (position 1) must be tuple of Tensors, not Tensor

本篇博文介绍pytorch中一些函数的输入问题,主要是tensor 和 tensors的区别。在pytorch中我们也有对一个数据的叠加:pytorch.stack ,这个函数可以在数据叠加的同时,扩展数据维度。比如说我们把三个数叠加到一起,可以组成一个二维的矩阵,得到的二维矩阵可以是[1, 2],也可以是[2, 1]。pytorch.cat,这个函数是直接把两个数据连接起来,维度是不变的。...

2019-09-03 07:06:03 20554 1

原创 pytorch使用 to 进行 类型转换

在程序中,有多种方法进行强制类型转换。本博文将介绍一个非常常用的方法:to()方法。我们通常使用它来进行GPU和CPU的类型转换,但其实也可以用来进行torch的dtype转换。常见方法:tensor.to(‘cuda:0’)先看官网介绍:**Performs Tensor dtype and/or device conversion. A torch.dtype and torch.d...

2019-08-31 18:16:24 15783

原创 论文阅读与机制理解pix2pix: Image-to-Image Translation withConditional Aversarial Networks

L2和L1损失,用来减少生成图像和目标图像像素之间的距离,这会导致图像模糊(实验结果就表明L1生成的图像像素值处于中间水平),因为这样的损失函数通过对所有可能的输出像素值的平均来减少像素之间的距离。从数学上来说,在-1到1范围内,L1损失是比L2损失要偏大的,那么L1的平均效果应该比L2的要大,也就可以推测L1会比L2更加模糊,但这与他们的结果相反,不知我错在何处?L1和L2损失可以用来将生成...

2019-07-10 17:17:09 577

原创 深度学习(GAN)中concatenate 和 add的区别

在深度学习中,有时候我们会涉及到两个特征结合,在使用卷积情况下就涉及feature map的结合。一般情况下,feature maps的结合有两种方法,一种是元素对应相加,简称add,另一种就是把特征图堆到一起来,简称concatenate。以下先详细说一下怎么操作。假设feature map 1 的维度为B1∗C1∗H1∗W1B_1*C_1*H_1*W_1B1​∗C1​∗H1​∗W1​, ...

2019-06-07 16:14:02 7949

原创 【python】频域滤波

频域滤波主要分为四个步骤1)计算源图像的傅里叶变换结果2)选择并计算滤波器3)将1得到的结果和2的结果相乘4)对3的结果进行逆傅里叶变换本文提供所有资源下载(自带图片):下载地址结果展示:代码1:计算滤波器import numpy as npdef high_pass_filter(img, radius=80): r = radius rows, co...

2019-05-29 17:25:29 6595 4

翻译 Pytorch的add_param_group使用说明

这个可以用来冻结某些参数,也可以用来指定参数的学习import torchimport torch.optim as optimw1 = torch.randn(3, 3)w1.requires_grad = Truew2 = torch.randn(3, 3)w2.requires_grad = Trueo = optim.Adam([w1])print(o.param_gr...

2019-05-15 15:09:11 7873 2

原创 python + assert 如何断言两个高维(包括二维)矩阵中每一个元素都相等

在上一篇博客,我实现了如何断言一个向量相等这篇博客,其实一模一样,将一个高维矩阵变成一个向量之后再利用上次的方法就可以了。其实,断言向量,也就是将向量变成一个个数就行了。这是不变的原理。import numpy as npa = np.zeros((3, 4))b = np.zeros((3, 4))a = a.flatten()b = b.flatten()assert al...

2019-05-06 13:34:20 1161

原创 python+ assert 断言两个向量的所有元素相等

a = [0, 2, 3]b = [0, 2, 3]assert all(a[i] == b[i] for i in range(len(a))), 'They aren\'t always equal'b = [0, 2, 2]assert all(a[i] == b[i] for i in range(len(a))), 'They aren\'t always equal'

2019-05-06 13:33:43 3506

原创 【pytorch+全连接层】mnist分类问题【尽可能的高准确率,99%以上】

要求使用pytorch,使用全连接层,而不是用卷积层,要求有两层隐含层尽可能提高准确率本博客要求使用GPU,否则CPU可能需要半天时间才能运行出来结果要求下载CSV格式的mnist数据(可以在我上一篇博客里面下载)注意:全连接层也是可以将准确率训练到99%以上的,不要以为只有卷积层才可以。毕竟mnist是一个简单的数据集。在上一篇博客中,我用纯python写了mnist的分类,在小...

2019-04-19 08:40:24 5771 2

原创 【python】利用两层神经网络(网络必须用类)来训练mnist数据(要求准确率90%以上)

要求:用python自建一个class类,不能使用其他高级库函数,如pytorch,tensorflow,含有两个隐含层,隐含层数量可以指定。准确率达到90以上。画出学习曲线:损失曲线核准确率曲线。本程序在jupyter下完成。共三个代码:程序可直接下载(包含数据)下载地址1.主代码(自建类函数)import numpy as npimport matplotlib.pyplo...

2019-04-15 20:19:13 1643

原创 一个2层隐层神经网络解决抑或问题

使用2层隐层,使用sigmoid和ReLU激活。import numpy as npimport matplotlib.pyplot as plt%matplotlib inlineinput = np.array([[0, 0], [0, 1], [1, 1], [1, 0]]) # 4 * 2target = np.array([0, 1, 0, 1]).reshape(4, 1...

2019-04-04 15:04:24 672

原创 【已解决】Ubuntu系统安装或升级 nvidia 驱动后出现的重复登录,黑屏,分辨率无法上调的现象

在升级或安装nvidia驱动后,有可能出现很多问题。包括:重复登录,黑屏,屏幕分辨率无法上调的现象。这极有可能是驱动不合引起的。提醒大家,在选择合适的 nvidia 驱动时,需要慎重。一般来讲,根据推荐来选择驱动,但是我们还是会失败。我这次是ubuntu18.04系统,TITAN V显卡,官方推荐使用方式如下:可以使用命令查看:ubuntu-drivers devices。我这里推...

2019-04-02 16:14:07 1016

原创 pytorch 基本函数中的 dim【详细说明】:以torch.argmax为例

pytorch中有很多自带函数,掌握好这些函数,程序写起来当然非常有效率。在这些pytorch函数中,很多都有dim这个控制参数,但是我们很难明白这个含义是什么。本文试着总结一下:1)dim的不同值表示不同维度。特别的在dim=0表示二维中的行,dim=1在二维矩阵中表示行。广泛的来说,我们不管一个矩阵是几维的,比如一个矩阵维度如下:(d0,d1,...,dn−1)(d_0, d_1, .....

2019-03-17 09:24:33 45058 12

翻译 吴恩达 最新课程AI for everyone 第三周 Building AI in your company 笔记

2019-03-05 16:32:48 354

翻译 吴恩达 最新课程AI for everyone 第二周Building AI project笔记

2019-03-03 14:44:38 574

翻译 吴恩达 最新课程AI for everyone 第一周 what is AI 笔记

2019-03-02 21:12:46 1375

翻译 GAN:如何求Discriminator辨别器纳什均衡?(绝对简单,只要懂得基本求导)

本文讲讲如何求解GAN(生成对抗)网络中Discriminator的纳什均衡点。在看GAN相关的理论文章时,经常会被某些表达和理由给卡住。本文试图解决其中一个。先抛出问题:在GAN第一篇论文中,说纳什均衡点是D输出总是0.5,这个0.5是怎么得到的?在一些文章中,有如下图这样的公式,如何理解?:其实,这两个表达比较类似。以下正文:先说明将会用到的参数的含义:xxx 表示输入...

2019-02-25 17:44:45 6177 4

基于python的频域滤波(主要设计频域滤波器)(有丰富的图片)

1.基于python的频域滤波,使用OpenCV等 2.主要设计频域滤波器 3.有丰富的图片

2019-05-29

【pytorch+全连接层】mnist分类问题【尽可能的高准确率,99%以上】

1.使用pytorch,使用全连接层,而不是用卷积层,要求有两层隐含层 2. 尽一切可能提高准确率,在这里训练集上达到99.9%以上

2019-04-19

【python】利用两层神经网络(网络必须用类)来训练mnist数据(要求准确率90%以上)

1. 用python自建一个class类,不能使用其他高级库函数,如pytorch,tensorflow,含有两个隐含层,隐含层数量可以指定。 2. 准确率达到90以上。 3. 画出学习曲线:损失曲线核准确率曲线。

2019-04-15

适合做直方图均衡的七张图片

直方图均衡可以提高图像对比度,本资源给出七张做完直方图均衡,效果提高明显的七张黑白照片。

2019-03-28

神经网络解决抑或(XOR)问题(python代码)

基于python,利用神经网络解决抑或问题,要求网络架构可以重复使用以用来调试参数。最后画出预测的3D图形

2018-12-15

基于MATLAB+GUI自由拖动点调试曲线

在MATLAB中创建GUI,能够自由拖动点以调试曲线,且能自由移动坐标轴,放大图像,保存曲线中的点

2018-08-01

基于灰度投影的图像配准(MATLAB)

MATLAB代码,基于灰度在水平和竖直方向进行投影计算累计像素值,得到两条曲线,根据两条曲线可以进行图像配准。

2018-08-01

吴恩达(Andrew Ng)Coursera 机器学习 课后习题及代码

吴恩达(Andrew Ng)Coursera 机器学习 课后习题及代码,可直接运行。 全部使用matlab 矩阵计算,运行效率高

2018-04-03

空空如也

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

TA关注的人

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