自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 元学习(meta learning)和小样本学习(few-shot learning)

Meta learningfew-shot learning是meta learning中的一种。可将few-shot learning看做是meta leaning即可。Meta learning 与 传统监督学习的区别传统监督学习: 对于一个给定训练数据集,通过训练使模型可以识别训练数据集,并将其泛化到测试数据集中。要求测试数据集中数据标签类别包含在训练数据集中。meta learning: 目的是让模型learn to learn,使模型可以区分不同的事物。意思是让模型自己学会学习。通过一张待

2022-04-17 16:56:26 6559 1

原创 基于pytorch实现RGBD数据集的加载(以NYU数据集为例)

NYU数据集NYU数据集由训练集和验证集两部分组成,其中包括了训练图像、深度图像和标签图像三部分组成。其中训练集由795张图像。构建Datasetimport numpy as npimport osfrom torch.utils.data import Datasetfrom PIL import Image# 数据集路径Depth_Train = ' 'Depth_Test = ' 'Image_Train = ' 'Image_Test = ' 'Label_T

2022-03-31 03:40:43 970 6

原创 Faster RCNN训练

训练其余均为通用的训练流程,Faster RCNN源码上的train、predict均可使用。import osimport datetimeimport torchimport transformsfrom FastRCNN_model import FasterRCNN, FastRCNNPredictorfrom ResNet50_FPN import ResNet50_FPN_backbonefrom Dataset_FasterRcnn import VOCDatasetfr

2022-03-30 07:10:47 1991 35

原创 Faster RCNN第二阶段(RoI Head部分)

RoIHead这部分为Faster RCNN中第二阶段的实现。import torchfrom torch import nn, Tensorimport torch.nn.functional as Ffrom RPN import box_iou, Matcher, BalancedPositiveNegativeSampler, box_Coder, smooth_l1_loss, clip_boxes_to_image, remove_small_boxes, batched_nms

2022-03-30 07:02:19 1110 2

原创 Faster RCNN中Backbone(ResNet50+FPN)

Backbone这部分展示了使用ResNet50+FPN作为Faster RCNN的特征提取部分import osfrom collections import OrderedDictimport torchimport torch.nn as nnimport torch.nn.functional as Fclass IntermediateLayerGetter(nn.ModuleDict): def __init__(self, model, return_layers):

2022-03-30 07:00:24 3326 1

原创 Faster RCNN中预处理部分

预处理在faster RCNN中由于输入的图像尺寸不一致,需要先将输入图像进行预处理打包成为一个batch,才能输入到网络中。该部分展示了如何将输入图像进行一系列处理后,输入到backbone中进行特征提取。import torchimport torch.nn as nnimport torch.nn.functional as Fimport mathdef resize_boxes(boxes, original_size, new_size): # 将boxes的参数根据图像

2022-03-30 06:58:10 722

原创 基于pytorch的Faster RCNN中RPN实现

RegionProposalNetwork在Faster RCNN中第一阶段是由RegionProposalNetwork生成anchors,并通过筛选得到proposal。代码中详细注释了每一部分的过程。import torchimport torchvisionfrom torch import nn, Tensorfrom torch.nn import functional as Fimport mathfrom typing import Dictdef smooth_l1_l

2022-03-30 06:55:28 661 2

原创 基于pytorch的FasterRCNN代码解读(整体结构)

Faster RCNN代码整体框架前言Faster RCNN作为经典的双阶段目标检测算法,掌握其中的思想和代码实现的方法,对于我们实现单阶段目标检测或者双阶段目标检测都是很有帮助的。相较于单阶段目标检测,双阶段目标检测主要多了一步生成proposal,也就是候选框的生成。在Faster RCNN中,对于图像中的生成的每一个anchor而言,首先要经过RPN(在这里只区分前景或者背景)做第一次筛选,选出概率大的一些anchor(train时采用预测目标概率前2000个anchor,test时采用1000

2022-03-29 14:26:33 4559 7

原创 pytorch实现自定义数据集(Dataset)以VOC数据集为例

VOC数据集(2012)VOC数据集由Annotation(标注)、ImageSets(train.txt、val.txt…)、JPEGImages(原始图像)、SegmentationClass(语义分割标签)、SegmentationObject(实例分割标签)五部分组成。Annotation(标注)文件由.xml文件组成。使用pytorch定义自己的数据集首先需要继承torch.utils.data中的Dataset类。解析xml文件# parse_xml_to_dict 解析xml文件

2022-03-22 17:31:52 2966

原创 网络训练时使用不同学习率策略(Poly)以及学习率是如何计算

学习率学习率(Learning Rate)作为网络中重要的一个超参数,其设置的好坏决定了目标函数能否收敛到局部最小值以及何时收敛到最小值。在Deeplab中提出的Poly学习率策略。# 创建学习率更新策略,这里是每个step更新一次学习率,以及使用warmupdef create_lr_scheduler(optimizer, num_step: int, epochs: int,

2022-03-21 16:27:56 7457 1

原创 基于pytorch从模型中取出指定特征层的输出

重构网络模型问题:若网络模型为ResNet-50,想取出layer4和layer3作为网络的最终输出。在语义分割中是常需要用到的操作。将layer4作为主输出,layer3用于辅助输出。分类网络如GoogLeNet。解决:首先需要重构原本ResNet-50,将layer3、layer4与其输出值定义为一个字典:{‘layer4’: ‘main_out’, ‘layer3’: ‘aux_out’}, 使用IntermediateLayerGetter将网络最终的输出调整为一个有序字典的形式,layer3

2022-03-21 10:24:25 5544

原创 基于pytorch的mobilenetV2、V3代码实现

MobileNet V2创新:1、改进ResNet中的Bottleneck,提出逆残差结构。11conv先进行升维,33深度可分离卷积,11进行降维。2、最后的11conv不使用ReLU。MobileNet V2代码实现import torchimport torch.nn as nndef _make_divisible(in_channels, diviosr=8, min_channel=None): # 将输入特征图通道数 调整为 divisor的整数倍 if m

2022-03-17 00:12:42 2528

原创 基于ConvNeXt的语义分割代码实现

import torchimport torch.nn as nnimport torch.nn.functional as Ffrom timm.models.layers import DropPath, trunc_normal_class layer_Norm(nn.Module): def __init__(self, normalized_shape, eps=1e-6, data_format='channels_last'): super(layer_No

2022-03-15 20:38:40 2468 15

原创 基于pytorch的Swim Transformer代码实现与讲解

Swim transformer是2021年ICCV的best paper。论文题目:Swin Transformer: Hierarchical Vision Transformer using Shifted Windows(使用移动窗口的层级式的Vision transformer)论文地址:https://arxiv.org/abs/2103.14030动机:transformer从NLP用于CV任务中主要有两个挑战:1、尺度问题。例如一张图像中包含很多车和行人,物体有大有小,而且代表同一

2022-03-11 00:36:25 17131

原创 基于pytorch的vision transformer模型实现

import torchimport torch.nn as nnfrom timm.models.layers import DropPathfrom collections import OrderedDictfrom functools import partialclass Patch_Embeding(nn.Module): def __init__(self, img_size=224, patch_size=16, in_channel=3, embed_dim=768,

2022-03-08 21:29:24 605

原创 基于pytorch的DeepLabv3+语义分割实现

基于pytorch的DeepLabv3+语义分割实现DeepLab系列从v1-v3+作为语义分割邻域中经典的网络模型,而V3+作为Deeplab所有思想的一个集合,实现Deeplabv3+也是入门语义分割邻域一个重要的知识点。回顾DeepLabv1-v3deepLabv1DeepLabv1提出了深度卷积神经网络(DCNNs)与CRF相结合用于语义分割。DCNNs对目标做粗略分割,CRF做精细分割。由于本文主要针对深度卷积神经网络,因此只对深度卷积神经网络进行介绍。CRF作为DCNNs的后处理,在v3

2021-10-11 19:51:26 2727

原创 基于pytorch的UNet网络和FusionNet网络的构建

这里写自定义目录标题基于pytorch的UNet语义分割代码实现UNet论文简述UNet代码实现基于pytorch的UNet语义分割代码实现上节使用FCN进行语义分割的初探,像素级分类确实有点意义,可惜在我们的项目中FCN效果不是太佳,这次这个2015年的Unet也是语义分割中重要的组成部分,因此本文来实现将上文的backbone换为UNet。UNet论文简述UNet从字面理解,就是提出了像U字母形式的一个CNN网络。UNet中定义了两个路径,对面网络中左边为收缩路径,右边为扩张路径。由于医学图像中

2021-09-26 08:48:13 693

原创 基于深度学习的语义分割初探FCN以及pytorch代码实现

基于深度学习的语义分割初探FCN以及pytorch代码实现FCN论文论文地址:https://arxiv.org/abs/1411.4038FCN是基于深度学习方法的第一篇关于语义分割的开山之作,虽然这篇文章的分割结果现在看起来并不是目前最好的,但其意义还是非常重要的。其中跳跃链接、end-to-end、迁移学习、反卷积实现上采样也是FCN论文中的核心思想。FCN论文整体结构应用无人车、地理信息系统、医疗影像、机器人。由于目前想在机器人上搭建视觉系统,想结合语义分割这种像素级预测的思想,是否可以

2021-09-20 14:46:21 2821

空空如也

空空如也

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

TA关注的人

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