自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MaptrV2代码阅读

B∗6∗3∗480∗800B是batchsizeB∗6∗2048∗15∗25B∗6∗256∗15∗25。

2024-06-14 18:34:08 992

原创 yolov10代码阅读

a. 对于SCDown,是 Spatial-channel decoupled downsampling,主要是针对原始的下采样Conv2d(C,2C,kernel=3,stride=2)的下采集,进行修改成 Conv2d(C,2C,kernel=1,stride=1)加上一个组卷积 Conv2d(2C,2C,kernel=3,stride=2,group=2C);的卷积都替换成了组卷积(depthwise convolution),对于小模型会采用。b. CIB是放在C2f模块中,主要是针对。

2024-06-04 11:47:12 483

原创 Pytorch中查找不参与损失计算的层及解决方法

在Pytorch中计算loss,如果有些层未参与计算,那么在跑多卡分布式训练的时候,会报错,提示要设置find_unused_parameters=True;

2023-07-17 16:32:33 899 1

原创 FocalLoss解析

focal loss

2022-11-09 17:53:59 1492 1

原创 DBnet

二 代码分析整体代码参考https://github.com/BADBADBADBOY/pytorchOCR,主要是参考作者的多标签训练1 数据处理1.1 对于标注的数据,分为标注框polys,标签classes(这里一共分成两类),以及不参与训练的框会有个dontcare去区分;数据增强主要是随机缩放,随机旋转(这里是-10°到10°),随机翻转以及随机裁剪1.2 对于随机裁剪的计算方式,会选取crop的范围(这里的原则是保证crop的范围内有一个完整的care的框就保留该crop,要不就重复直到

2021-09-08 18:21:58 748

原创 VIT和Swin Transformer

一 VIT模型1 代码和模型基础以timm包为代码基础,VIT模型以vit_base_patch16_224作为模型基础2 模型结构2.1 输入的图像B∗3∗224∗224B*3*224*224B∗3∗224∗224,第一步patch_embeding,这里一个patch的对应的像素大小是16∗1616*1616∗16,也就是对输入图像作conv2d,对应的kernel_size=16,stride=16,以及升维为768,最终得到输出feature为B∗14∗14∗768B*14*14*768B∗

2021-08-25 11:54:09 4805

原创 CRNN+WAP模型

目前OCR技术,比较主流的是CRNN模型即CNN+RNN+CTC Loss;还有个就是WAP模型即CNN+Attention+RNNCRNNCRNN论文https://arxiv.org/abs/1507.05717;对应的pytroch github地址https://github.com/meijieru/crnn.pytorch整个模型流程是输入图片,通过CNN提取图片特征,然后经过RNN进行时序增强,最终通过CTC Loss进行优化,具体可以参考https://zhuanlan.zhihu.

2021-04-06 16:13:52 498

原创 Transformer在CV中的应用

本文主要参考https://zhuanlan.zhihu.com/p/308301901Transformer结构1 Transformer靠attention机制,不适用CNN,RNN,抓长距离依赖关系比RNN强;在图像中的应用,就是Transformer可以突破图像的感受野限制,可以计算该像素与全部图像的关系2 结构形式3 其中的位置编码,也是后期研究的一个重点,因为不采用RNN,无法捕获时序的关系,所以加了个位置编码(非常重要,具体可参考这篇文章对后续位置编码的优化https://zhuan

2021-03-23 11:44:06 1598

原创 卷积层梯度反向传播,反卷积,上采样以及反池化

1 卷积层梯度反向传播卷积的前向传播,相对简单Ouput=(Input+2p−k)/s+1Ouput = (Input +2p- k)/s + 1Ouput=(Input+2p−k)/s+1,具体实现,可以参考https://zhuanlan.zhihu.com/p/40951745卷积运算也是转化成矩阵的乘法,如下图上图是个多通道的算例,这里就是先运用img2col(image to column),将图片转化成矩阵,然后kernel reshape成一个矩阵,相乘得到output,然后在resh

2020-10-27 09:45:41 1456

原创 Pytorch中的优化器和学习率调整

优化器和学习率类型官方文档https://pytorch.org/docs/stable/optim.html#how-to-adjust-learning-rate1 使用总结一般优化器建立:# 正常优化器建立optimizer = optim.SGD(model.parameters(), lr=0.01, momentum=0.9)optimizer = optim.Adam([var1, var2], lr=0.0001)其中model.parameters()可以根据模型需要,对于

2020-09-08 11:09:37 2249

原创 Weighted Boxes Fusion

Weighted Boxes Fusion: ensembling boxes for object detection models1 简介文章地址https://arxiv.org/abs/1910.13302, 对应的github代码https://github.com/ZFTurbo/Weighted-Boxes-Fusion2 算法模块1 参考代码流程,主函数输入 weighted_boxes_fusion(boxes_list, scores_list, labels_list, wei

2020-06-22 11:47:39 2568 2

原创 Pytorch中加载预训练模型以及冻结层

一、加载预训练模型加载方式有两种,主要是第二种对于模型finetune比较常用1、加载框架已有的模型(如resnet等)代码如下:import torchimport torch.nn as nnfrom torch.utils import model_zooimport torchvision.models as modelsmodel = models.resnet18() model_urls = { 'resnet18': 'https://download.py

2020-05-27 23:06:52 2686

原创 Pytorch中nn.Module模块一些解析

一、 model.state_dict()pytorch 中的 state_dict 是一个简单的python的字典对象,将每一层与它的对应参数建立映射关系.(如model的每一层的weights及偏置等等)注意:(1)只有那些参数可以训练的layer才会被保存到模型的state_dict中,如卷积层,线性层,BN层等等,像什么池化层、激活函数层这些本身没有参数的层是没有在这个字典中的;(2)这个方法的作用一方面是方便查看某一个层的权值和偏置数据,另一方面更多的是在模型保存的时候使用。代码示例i

2020-05-27 22:23:16 1492

原创 Pytorch一些使用总结

1 torch.device用法,device分成‘cuda’和‘cpu’两种模式,可以通过torch.cuda.current_device()查看当前device模式和对应的index,对应的torch.device有两个参数,第一个是str格式,即cuda或者cpu,第二个是对应的index,是个整型格式,如1,2等,使用如下:>>> torch.device('cuda...

2020-04-24 10:54:23 226

原创 BMN算法代码一些解读

1 对于BMN时序点定位算法,原作者知乎解读https://zhuanlan.zhihu.com/p/80333569,对应的官方paddle代码https://github.com/PaddlePaddle/models/tree/develop/PaddleCV/video,对应的pytorch版本https://github.com/JJBOY/BMN-Boundary-Matching-N...

2020-04-09 10:57:54 2055 1

原创 Detectron2(二): Trainer

1 train_net.py中的Trainer是继承了detectron2/engine/defaults.py中的DefaultTrainer类,而该类又是继承了detectron2/engine/train_loog.py中的SimpleTrainer类,而SimpleTrainer又继承了相同文件里面的TrainerBase类a. 在最基础的TrainerBase类中定义了register...

2019-11-19 15:18:59 1048

原创 Detectron2(一): Dataloader

1 detectron2的dataloader主要在detectron2/data/文件夹中:a. 第一个核心函数是根据提供的train.json等进行加载,举例coco.py中的load_coco_json函数,这个是加载json文件的。b. 根据这个函数以及对应的json名字,就可以进行注册DatasetCatalog(这个是主要的)以及MetedataCatalog(主要是一些附加属性)...

2019-11-19 14:40:08 681

原创 计算机视觉注意力机制

注意力机制,就是对学习到的feature进行权重分配,以得到我们最关注的区域特征(包括空域,时域以及通道信息)1 Transformer参考https://zhuanlan.zhihu.com/p/48508221a self-attention在self-attention中,每个输入特征input feature会通过卷积得到3个不同的向量,它们分别是Query向量,Key向量和Va...

2019-10-11 11:52:15 502

原创 行为动作识别(二):SlowFast

1 Slowfast模型,一共有两个通道,一个Slow pathway,一个Fast pathway,其中Slow pathway采用低采样,高通道数主要提取空时特征;Fast pathway用高时间采样,低通道数量(主要为了降低计算量),来提取时域特征,两个通道都是以3Dresnet作为backbone,提取特征的,基础网络图如下:2 对于两个通道都没有采用temporal downsamp...

2019-10-08 16:18:49 5547

原创 行为动作识别模型概览

1 TSN模型,主要对视频段进行间隔采样,并采用2DCNN代替3DCNN2 TRN模型,基于TSN模型,对于采样后的图片,建立有序的different frame relation modules,最后在将这些modules结果合并,进行分类3 TSM模型,也是建立在TSN模型基础上,对于采样后的图片特征,通过shift操作,让当前一帧包含前一帧和后一帧的channel信息,以提高时域的感受...

2019-09-05 17:06:14 1806

原创 行为动作识别(一):TSM 和 TRN

1 TSM算法论文和Github2 参考https://blog.csdn.net/qq_18644873/article/details/893059283 如今行为动作识别,都是在探讨如何更好的描述时域信息特征。该文章在TSN基础上,提出Temporal Shift Module (TSM),既能保持高效又能有高性能。TSM模块是参考《Shift: A Zero FLOP, Zero Pa...

2019-08-13 16:11:33 7588 4

原创 Resnet结构

1 Resnet网络又叫残差网络,主要是为了解决网络越来越深带来的梯度消失\爆炸(现在可以通过BN解决),还有就是随着网络加深,训练集准确度下降(不是因为过拟合造成的),其主要结构如下图:2 以Resnet50为例,每一个block,有两种形式,一种basic block,一种bottleneck block,第二种纯粹是为了减少网络参数,如下图3 对于从conv2_x到conv3_x,在...

2019-07-16 16:16:09 1084

原创 Pytorch中Tensor的一些操作

1 a = torch.rand(1,10,4),生成的Tensor在0-1之间,且tensor的shape为(1,10,4)2 torch.cat(tensors, dim=0, out=None) → Tensor>>> x = torch.randn(2, 3)>>> xtensor([[ 0.6580, -1.0969, -0.4614], ...

2019-06-19 19:31:46 6124

原创 RetinaNet

整个网络结构采用resnet作为backbone,resnet整个网络结构如下:1 FPN结构,采用conv3_x,conv4_x,conv5_x的结果作为feature pyramid,自上而下进行上采样特征叠加,具体步骤举例:对于conv5_x的feature大小为7∗77*77∗7,采用上采样nn.Upsample(scale_factor=2, mode=‘nearest’),得到14∗...

2019-05-13 16:04:15 222

原创 NMS,SoftNMS以及ROIPooling,ROIAlign

一 NMS参考代码,此为Pytorch版本:def NMS(boxs, scores, nms_threshold): # input boxes(N*4), scores(N,) x1 = boxs[:,0] y1 = boxs[:,1] x2 = boxs[:,2] y2 = boxs[:,3] area = (boxs[:,2]-boxs[...

2019-05-08 11:20:02 618 2

原创 Python 进程池Pool中一些坑

1 from multiprocessing import Pool,Queue。其中Queue在Pool中不起作用,具体原因未明。解决方案:如果要用Pool创建进程,就需要使用multiprocessing.Manager()中的Queue,与multiprocessing中的Queue不同q=Manager().Queue()#Manager中的Queue才能配合Poolpo = P...

2019-04-30 11:36:35 6075

原创 Arcface补充

Arcface中提出cos(θ+m)cos(\theta+m)cos(θ+m),其中θ+m\theta+mθ+m在[0,π][0,\pi][0,π]之间,那么当θ>π−m\theta>\pi-mθ>π−m应该怎么办?(参考issue)1 为了保证在θ\thetaθ属于[0,π][0,\pi][0,π]之间,是单调递减的,当θ>π−m\theta&a...

2019-03-18 20:24:58 309

原创 A Lightened CNN for Deep Face Representation读后感

论文题目 A Light CNN for Deep Face Representation with Noisy Labels1 本文提出一个 LIght CNN结构,可以在有巨大噪声标签的大规模数据集上,学习到compact embedding。提出了一个新型激活函数Max-Feature-Map (MFM),该函数不仅能区分noisy and informative signals,还在特征...

2019-03-04 22:59:41 496

原创 Megaface Challenge1 评测步骤

1 参照论文 The MegaFace Benchmark: 1 Million Faces for Recognition at Scale,主要进行Identification测试。这里包括两部分数据,一部分probe set,一部分distractors,还有个官方给定的评测程序devkit。其中distractors,是megaface官方提供的自己的数据集,有超过百万人脸。另外一个pro...

2019-01-29 09:29:39 3571 4

原创 PCA主成分分析解释及PYTHON代码

1 假设有m个样本,每个样本有n维,则定义输入dataMat为m*n的矩阵2 对输入dataMat矩阵进行均值化处理,就是讲m个样本中每一个维度值进行取平均,然后每个样本的值在减去这个平均值,记为newData,这个新矩阵对应每一维的均值是0,依然是m∗nm*nm∗n矩阵3 进行主成分分析降维,是为了找一个n∗dn*dn∗d矩阵,将newData矩阵进行线性变换成lowData矩阵,降维成d维...

2018-12-19 14:58:57 2876

原创 caffe2多GPU训练模型,保存模型及加载保存的模型

本文主要参考caffe2提供的Multi-GPU_Training.ipynb例子进行模型训练 1 关于生产LMDB数据集,根据caffe2提供的lmdb_create_example.py生成的lmdb,在使用中会发现,得到的数据都是0,参考issue里面提供的的命令行 caffe2/build/bin/make_image_db -color -db lmdb -input_folder ...

2018-08-16 15:09:38 1227

空空如也

空空如也

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

TA关注的人

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