人工智能
A霸天下
作大分母
展开
-
Sequencer:2DLSTM应用在图像分类当中
在文章Sequencer: Deep LSTM for Image Classification中,提出一种新的双方向向BiLSTM来对图像进行分类,参数量较小,但笔者认为RNN系列和CNN以及Transformer比较参数量就是耍流氓,应该加入计算量等多个标准,但本文主要对提出的Sequencer2D block进行复现。......原创 2022-07-12 00:09:48 · 1263 阅读 · 1 评论 -
CBNetV2:复合骨干架构
前言今天我们基于CBNetV2: A Composite Backbone Network Architecture for Object Detection这篇文章来复现其中的复合骨干部分。类似于CBNetV2类的网络相当于爸妈模型变宽了,重复利用特征,对目标检测有一定的优势。模型结构模型结构如图所示,方框中的我们就先不进行复现了,主要复现这种复合结构。这种复合结构有两种一种是Backbone 1,另一种Backbone K代码实现在Backbone 1中无输入递归结构,输出分别是x2到x5原创 2022-05-01 01:40:33 · 454 阅读 · 0 评论 -
PCM+PRCM,改进CAM的新方案
前言在弱监督语义分割(WSSS)中,CAM有着至关重要的作用,之前博主也在博客中实现过基本的CAM,但是效果有限,而 Complementary Patch for Weakly Supervised Semantic Segmentation这篇文章中提出了一种新的CAM获取方法也就是把图像分成两个patch组成的图像,然后分别得到CAM最后进行叠加,所得到的效果要优于单张图片的效果。而本文主体的网络架构如下图所示:这里输入三组数据,本文主要是实现PCM和PRCM。PCM与PRCMpcm在原创 2022-04-13 12:38:44 · 3616 阅读 · 0 评论 -
SkipBlockNet,边缘计算模型的新范式?
前言在今年的CVPR论文中,提出了一种新的loss function和轻量型模型SkipBlockNet,它在结果上(FLOPs相同量级)上确实超越了MobileNetV3在ImageNet上的效果,而本篇博客着重复现SkipBlockNet网络,对loss不进行过多详解。网络结构如图所示,在论文中SkipBlockNet是由15个inverted residual block组成,而Skip block都是从第一个inverted residual block出来,先进性Avg pooling 进原创 2022-03-18 11:08:45 · 477 阅读 · 0 评论 -
基于landmark提取视频中人的唇部
基于视频人脸唇部提取原创 2021-12-01 11:28:10 · 3933 阅读 · 0 评论 -
亚像素卷积,基于pytorch实现
前言作为一种增强数据分辨率的方法,亚像素卷积被用于计算机视觉中的超分任务当中。与反卷积不同的是,反卷积是先补零,在进行卷积操作,而亚像素卷积是直接对数据进行channel,维度的扩大,再通过reshape的方式来提高分辨率。亚像素卷积走的是:[B,H,W,C] -》[B,H,W,Crr] -》[B,Hr,Wr,C] 的过程,集体流程如下图所示代码实现import torchimport torch.nn as nnimport torch.nn.functional as Fclass原创 2021-04-12 11:35:00 · 3113 阅读 · 2 评论 -
SpeakerBeam,说话人提取算法
前言SpeakerBeam发表与interspeech2018,这项技术需要预先说话人信息,然后从混合语音中提取相应的语音,SpeakerBeam与之前的传统语音分割算法相比,第一无需知道这段语音说话人位置,个数等信息,更符合实际场景的需要。如图所示,SpeakerBeam包括两个模型,混合模型:混合语音在STFT后相加,提取模型:提取目标语音。文章中所提到的SpeakerBeam有多种,但是最终最好的一种如图所示: the scaled activations method and sequen原创 2021-01-24 14:34:42 · 1326 阅读 · 2 评论 -
堆叠一维卷积来做唤醒
前言一维卷积在语音和自然语言处理中十分常见,本篇paper:Stacked 1D convolutional networks for end-to-end small footprint voice trigger detection通过一个特征上的一维卷积和时间维度上的一维卷积来完成特征堆叠的。论文block结构如上图所示,其中现在特征维度上做一维卷积,然后在时间维度上做一维卷积,其中在时间维度上可以根据卷积核大小控制帧长。本片论文的block实现也十分简单,正如论文中所说:相当于一个2D原创 2021-01-14 09:49:55 · 361 阅读 · 0 评论 -
HS-ResNet,模型涨点的新方案
前言近几年的模型结构的改进,越来越偏向于宽度的改进,如SKnet以及ResNeSt,都获得了不错的结果,本文讨论的是百度所提出的HS-ResNet,通过对网络的复现以及论文的阅读,感觉本片paper是把Res2Net思想和ResNeSt结合到一起了。模型介绍网络模型如图所示,先像ResNeSt一样,在channel这个层级上把结构split为5分,每一份都和前面的一份concat(类似Res2Net)操作,后进行卷积,最后再把得到的特征进行concat。代码实现import tensorflow原创 2020-12-11 10:23:55 · 995 阅读 · 4 评论 -
DeeplabV3+,分割模型进一步优化
前言Deeplab分割系列网络,引入了ASPP结构,其中采用了不同dilation_rate来对特征进行卷积,主要的目的是:(1)在不提升计算量的前提下,扩大感受野。获取多尺度模型性能。(2)不用pooling层降低分辨率,对后续细节方面的分割有很大的好处在之前的博客中我们实现过简单的ASPP结构,而V3+的结构如下图所示:采用了 encoder-decoder结构,在 encoder结构中还是有ASPP的影子只不过,有引入的pooling,stride为1,而原先的特征相加也改成了concat原创 2020-11-11 12:09:49 · 1059 阅读 · 0 评论 -
Deeplab系列,核心ASPP
前言Deeplab系列网络是由Geogle所提出,V2以后主要是引入了atrous spatial pyramid pooling(ASPP),利用不同膨胀因子的空洞卷积融合多尺度信息。其实就是利用空洞卷积(带孔卷积)用不同的rate来对图像特征进行操作的。其具体结构如图所示:特征经过pooling5以后,分别采用了33卷积,rate不同,进行多尺度特征融合,后两层都用11卷积,最后相加。代码实现总的来说ASPP的代码架构还是非常好实现的#################ASPPimport原创 2020-10-24 09:31:15 · 7831 阅读 · 0 评论 -
基于cifar10数据集,完成CAM
前言在之前的博客中,我们简单的完成了CAM算法的伪代码,地址:https://blog.csdn.net/qq_43534932/article/details/107425740没有进行真正的实操,我们采用了cifar10这个小数据集,来完成CAM基本功能的实现。cifar10数据集:是由CIFAR(Candian Institute For Advanced Research) 收集整理的一个用于机器学习和图像识别问题的数据集。这个数据集共有60000张32 * 32的涵盖10个分类的彩色图片。原创 2020-10-07 09:11:05 · 805 阅读 · 2 评论 -
Feature Pyramid Transformer FPN和Transformer的有效结合
前言Feature Pyramid Transformer出自于ECCV2020,本篇文章主要是把Transformer的主要架构self-attention进行了三种形式的演变( Self-Transformer,Grounding Transformer,Rendering Transformer),加入到了FPN的结构当中,起名叫FPT。其主要架构如上图,本文中最主要的是它所提出的三个结构,Self-Transformer,Grounding Transformer,Rendering Tran原创 2020-08-30 17:08:45 · 4064 阅读 · 7 评论 -
FarSeg基于遥感图像前后景不平衡优化的分割网络
前言本文基于Foreground-Aware Relation Network for Geospatial Object Segmentation inHigh Spatial Resolution Remote Sensing Imagery这篇论文进行复现,本篇是基于HSR(高空间分辨)的遥感图像进行的优化,主要是解决遥感图像的前后景不均衡的问题。如上图所示,本文说出了与自然场景相比,遥感图像的三大挑战(1)图像大尺度变换(2)前后景不均衡(3)大的类内变化本文的主要网络架构如图所示原创 2020-08-18 12:50:10 · 2047 阅读 · 7 评论 -
RecoNet,3D attention的新方案
前言近几年attention用在图像识别,分割等领域上越来越多了,从去年的GCnet,CCnet,再到Dual attention,大多数都是引入attention,进行相应的变种,但是他们的共同点都是把一个维度为**[batch_size,H,W,C]的tensor转化为[batch_size,HW,C],然后进行各种操作,如下图所示。这种转化是否会带来Channel上面的信息损失,Tensor Low-Rank Reconstruction for Semantic Segmentation提出了一种原创 2020-08-13 23:33:40 · 2722 阅读 · 0 评论 -
SKnet,Inception思想的延续,以及SEnet的进化
前言自13年以后出现的inception体系的网络,其主要的目的是认为识别物体所占图像的占比不同,所适合的卷积核大小不同,如下图所示,这是经典的inception V1的结构,其主要采用了大小为3,5,1的卷积核,但是这种做法也有一些粗暴,因为在设计网络的时候,不同卷积核的通道数是固定的,很难适应多种算法。那么能否有一种网络模块,帮助我们针对于目标物不同占比的图像,选用不同的卷积核,答案是有的,2019CVPR的SKnet就是来解决这种问题的。SKnet的基本结构如图所示,主要分为三个部分,分离,原创 2020-08-01 17:46:53 · 790 阅读 · 0 评论 -
弱监督的通用方案,CAM从图像级标签到像素级标签
简介我们做深度学习中,到采用的训练方案是全监督的方式,这种全监督的方式,在基本的分类任务当中数据打标签的难度还好,但是在一些更多复杂的深度学习任务中,label的获取就有些困难了。比如在图像分割领域当中,像素级的标签获取起来费事费力(labelme用起来还挺累的),有没有这么一种算法可以通过分类的标签衍生出像素级的标签,答案是有的。CAM(Class Activation Mapping)就是目前所有弱监督算法的重要鼻祖。...原创 2020-07-18 13:47:22 · 4806 阅读 · 1 评论 -
双注意力机制网络,attention在图像分割领域的进一步优化?
前言在之前的博客中我们将了self-attention,在图像领域中应用大多数基于[H,W]这个维度,也就是图像的空间维度,本篇Dual Attention Network for Scene Segmentation,不仅在空间维度上的attention,也在channel的维度上进行attention。目前的主流attention机制:基于空间域的:self-attention,soft/hard attention基于channel域的:SEnet SKnet 以及ResNest本篇pape原创 2020-06-26 14:33:37 · 2325 阅读 · 0 评论 -
对数group卷积,一种比普通group卷积更实用的卷积
前言目前在很多移动端的设备当中,对深度模型的要求是低功耗与低内存,低功耗意味着计算量小,低内存意味着参数量少,以一个[H,W,C]图片经过[C,k,k,Cout]为例:计算量为HWCkkCout(不算bais)参数量:CkkCout可以看出计算量以及参数量受多方面的限制而目前解决这种问题的两个主流发方法:(1)深度分离卷积(MobileNet)(2)Group卷积(AlexNet,R...原创 2020-03-08 17:03:12 · 361 阅读 · 0 评论 -
Attention Is All You Need 中的self-attention 以及multi-head attention
前言atention在语音识别方面越来越受大家的欢迎了,无论是soft attention以及hard attention等等都被大家广泛应用,从今天起笔者将基于一篇篇的顶会,来复现各家的attention的算法,今天就分享self-attention。self-attention如图所示文章中的经典图例所采用的公式也就是引入了QKV三个值,用这三个值进行一如上公式,进行系列的操作...原创 2020-01-25 12:49:16 · 598 阅读 · 0 评论 -
FSMN,一种能替代RNN的新结构?
FSMN前言FSMN全称:Feedforward Sequential Memory Networks,是国内知名的讯飞公司所提出,据笔者所知可能应用到了阿里的语音识别以及唤醒的,作为一种可以和RNN比较的网络,我觉得大家有必要的去学习以及了解一下网络结构在论文中的结构如图所示,其实FSMN是改进了DNN的算法,也就是在DNN网络中相应的某一层中加入了Memory block,这种结构分...原创 2019-12-15 14:38:43 · 3725 阅读 · 0 评论 -
x-vector很神秘?tensorflow采用1维卷积来实现
前言为什么会采用x-vector?在语音处理中(主流应用在声纹当中),特征采用的是MFCC特征,其中一个维度代表了帧长,通俗来说,对应的是一段语音的长度,另一个维度代表的是每一帧MFCC特征的维数。通常来说语音都采用了DNN,但是DNN需要补0,但是补0的话会把0,参与网络的运算当中,会影响网络的性能,TDNN加embedding(也就是x-vector)操作可以解决0参与到网络运算这一问题。...原创 2019-11-24 00:22:20 · 1081 阅读 · 0 评论 -
tensorflow实现Global average pooling 解决CNN中输入数据size不等的问题
摘要笔者最近在研究语音识别的项目,发现与图像不同的是,语音识别在深度学习网络面临着帧长不等(相对来说图像有很多解决方法,如:crop,resize)的问题,而目前在语音方向上的一个较为常规的方法是选定较大的帧长,然后padding 0,这种方法会让零参与运算,而NIN(network in network)的方法给了笔者一个新的思路,可以解决这一问题。Global averge pooling...原创 2019-10-13 16:01:43 · 3530 阅读 · 0 评论 -
基于深层RNN的光谱分类问题研究
前言RNN有多种形式,LSTM,GRU等等,这是在RNN每一个基本结构中改变RNN的形式,目前还有两种通过叠加RNN的层数来对数据进行分析的,如双向RNN和深层RNN,其中双向RNN,是认为转入数据与之前和之后的传入数据是相关的,深层RNN是针对于浅层RNN不等很好的提取数据中的抽象特征所提出的。笔者最近在研究语音识别方向,简单的尝试了ctc与LSTM的结合,但是语音数据较少,笔者之前一直研究...原创 2019-07-28 21:20:30 · 918 阅读 · 0 评论 -
基于tensorflow下的DenseNet 简易搭建
基于tensorflow下的DenseNet 简易搭建前言笔者最近在研究深度学习网络,正好看到了DenseNet网络,觉得简易可实现,然后基于了一维数据集完成了DenseNet网络搭建。DenseNet网络结构他主要是在每一个Dense_block层中,每一个卷积层都与前面的卷积层相关,具体操作是tf.concat操作,简单理解一下,就是在每个卷积层数据数据,都要并联前几个卷积层数据,这...原创 2019-07-12 13:28:14 · 1976 阅读 · 1 评论