![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
DNN深度神经网络
文章平均质量分 85
http://www.auto-mooc.com/mooc/detail?mooc_id=F51511B0209FB73D81EAC260B63B2A21的学习笔记
Hali_Botebie
这个作者很懒,什么都没留下…
展开
-
Hourglass:代码分析
创新之处在于:Stacked Hourglass没有针对人体的拓扑结构设计一些额外的网络层或者优化器,而是尽可能地利用神经网络本身的表达性,来完成姿态估计的任务。这使得其更加的简洁优美,也更加的直接和端到端(end-to-end)。转载 2023-12-01 10:08:41 · 132 阅读 · 0 评论 -
Hourglass:Stacked Hourglass Networks for Human Pose Estimation人体姿态领域算是比较早也比较经典的一个模型
我们将该架构称为基于池化和上采样的连续步骤的“堆叠沙漏”网络,这些步骤用于生成最终的预测集。我们展示了重复的自下而上、自上而下的处理与中间监督相结合对提高网络性能至关重要。原创 2023-11-30 17:14:03 · 762 阅读 · 0 评论 -
【端到端可微1】端到端的训练,使用反向传播,要求过程可微分
这系列文章将逐步完成一个端到端可微的模型,挖个坑。项目开启时间:2023-07-04但是一直拖到了11月30,最近同事讨论问题才想起来继续实施。原创 2023-11-30 10:10:00 · 187 阅读 · 0 评论 -
【端到端可微2】链式法则,论文:Introduction to Gradient Descent and Backpropagation Algorithm
梯度下降深度学习的大致步骤( 构建神经网络—> 数据拟合 --> 选出最佳模型)选出最佳模型的方式,其实就是利用梯度下降算法,选出损失函数最小的那个。在深度学习当中,由于存在输入层,隐藏层,输出层,因此计算也会更加繁杂。正向传播,可以知道神经元的输出。目标函数,也叫做损失函数。计算正向传播的结果和真值结构的差异的公式。利用反向传播,逐层求出目标函数对各神经元权值的偏导数,构成目标函数对权值张量的梯度梯度是为了对权值的优化提供依据。原创 2023-11-30 10:04:03 · 118 阅读 · 0 评论 -
RetinaNet 代码分析
HeadFpn输出的分支,每一个都会进行分类和回归操作分类输出每层特征经过4次卷积+relu操作,然后再通过head 卷积输出最终预测输出,尺度是其中14400 = 40409,9为anchor个数,最后在把所有结果拼接在一起[1,19206,80]的tensor。可以理解为每一个特征图位置预测9个anchor,每个anchor具有80个类别。拼接操作为了和anchor的形式统一起来,方便计算loss和前向预测。转载 2023-05-24 10:24:52 · 340 阅读 · 0 评论 -
[Neck] 空间金字塔池化【池化策略】(Space Pyramid Pool, SPP)模块和路径聚合网络【增强】(Path Aggregation Network, PANet)的结构
现有的(传统的) CNNs 由于有全连接层所以必须需要固定输入图片的尺寸,比如 224 × 224。本文为传统的网络结构增加了一个池化策略,即空间金字塔池化,spatial pyramid pooling,来突破全连接层对整个网络输入图像的约束。转载 2023-04-23 17:10:50 · 1455 阅读 · 0 评论 -
3分钟理解Spatial Pyramid Pooling层 (SPP层)
不同size的图片(input image)经过’convolutional layers’后得到的feature map of conv5的size不同,ROI Pooling层的功能便是将不同size的feature map of conv5处理后得到相同长度的特征表示.(对应图中的大黑框部分)下面的方法是在不同尺寸的图片输入之后,经过conv layer层之后肯定尺寸也是不同的,再通过SPP层将它们固定到相同的尺寸,然后再进入接下来的步骤)2的小方块(对应图中绿色矩形),使用同样的方法得到4c个值。转载 2023-04-23 16:59:59 · 819 阅读 · 0 评论 -
multi-scale training多尺度训练
1、从图像层次的多尺度。这个就是不同scale的图片输入网络,进行训练。这个对网络模型有设计要求,如果存在全连接这个硬性的尺寸约束,需要在全连接前做处理。如果采用yolo v2 这种全卷积的方式,没有全连接,可以支持图像的多尺度。2、特征多尺度。这feature map上进行多尺度检测。有不同的操作方案:例如,FPN特征金字塔网络:将低层的特征和高层的特征融合起来,在不同的特征层都单独进行预测。或者SSD的从网络不同层抽取不同尺度的特征,然后在这不同尺度的特征上分别进行预测。原创 2023-04-23 16:02:08 · 1658 阅读 · 2 评论 -
【评价方案】目标检测TP,FP,以及perception recall,以及AP,mAP
20230116:网上好多TP,FP,都感觉有点问题,特意研究了源代码,写下理解。原创 2023-04-06 11:10:40 · 1570 阅读 · 2 评论 -
【ODhead】CenterNet-DLA和YoloV3,YoloV3-spp,YoloV3-spp-ultralytics的性能实验
单纯看模型推理速度方面,CenterNet-DLA-34 在不同尺度下均比YoloV3-spp版本耗时增加一些(1%-3%)如果将处理时间也考虑进去,CenterNet-DLA-34 在不同尺度下均比YoloV3-spp版本耗时减少还是很明显的,约有5%-10%的提速。转载 2022-11-18 11:33:24 · 447 阅读 · 2 评论 -
【ODHead】CenterNet代码分析
MMdet 中代码的情况参考:轻松掌握 MMDetection 中常用算法(七):CenterNethttps://zhuanlan.zhihu.com/p/3748914780 摘要在大家的千呼万唤中,MMDetection 支持 CenterNet 了!!CenterNet 全称为 Objects as Points,因其极其简单优雅的设计、任务扩展性强、高速的推理速度、有竞争力的精度以及无需 NMS 后处理等优点,受到了用户广泛的关注,从官方仓库 xingyizhou/CenterNet 的转载 2022-11-18 11:28:13 · 361 阅读 · 0 评论 -
【Neck】DLA
DLADLA 全称 Deep Layer Aggregation, 发表在2018年CVPR上,属于neck的一种特征融合方法,准确度和模型复杂度平衡的很好,,转载 2022-11-16 14:45:42 · 1289 阅读 · 1 评论 -
场景文字检测OD与字符识别OCR概述
文章目录概述主要分为两个步骤运行框架完整项目举例chineseocrchineseocr_litechineseocr_lite 的 onnx场景文字检测ODCTPNScene Text Detection via Holistic, Multi-Channel PredictionEAST 模型与AdvancedEAST修改后的EAST 模型字符识别CRNN+CTC 文字识别考虑训练Recurrent Layers时的一个问题CTC概述对于OCR,我查阅资料后,认为,主要分为两个步骤1、场景文字原创 2021-10-14 13:36:11 · 926 阅读 · 0 评论 -
【ResNet笔记(3)】resnet的瓶颈层的子层res4b22的命名规则
英文解释:The naming rule of ResNet as follows:stage 2 and stage 5 both have 3 layers, so they are named as ‘a’, ‘b’, and ‘c’.stage 3 and stage 4 has more than 3 layers. And there are clear differences between the first layer and rest layers of those two stages转载 2021-06-09 15:06:18 · 366 阅读 · 0 评论 -
【Network In Network】Global Average Pooling(GAP)的由来
论文:https://arxiv.org/pdf/1312.4400.pdf参考:https://www.cnblogs.com/shine-lee/p/11655836.html《Network in Network》简称NIN,出自颜水成老师团队主要创新点NIN的网络结构仍是在AlexNet基础上修改而来,其主要创新点如下:提出了mlpconv layer:mlpconv layer中使用小的多层全连接神经网络(multilayer perceptron, MLP)“micro net转载 2021-06-09 15:06:02 · 244 阅读 · 0 评论 -
使用AvgPooling替换AdaptivePooling,池化padding,global average pooling 与 average pooling 的差别
其他推理框架可能不支持AdaptivePooling操作,该操作仅存于PyTorch中PyTorch官方文档可知,AdaptivePooling可通过输入大小input_size自适应控制输出大小output_size,而一般的AvgPooling/MaxPooling则是通过kernel_size、stride、padding来计算output_size,公式如下:outputsize=ceil((inputsize+2∗padding−kernelsize)/stride)+1output_s转载 2021-06-09 15:05:39 · 2518 阅读 · 0 评论 -
【上采样问题】将浮点运算转换成整数运算
https://www.cnblogs.com/Imageshop/archive/2011/11/12/2246808.htmlhttps://www.cnblogs.com/yssongest/p/5303151.html直接进行计算的话,由于计算的srcX和srcY 都是浮点数,后续会进行大量的乘法,而图像数据量又大,速度不会理想,解决思路是:浮点运算→→整数运算→→”<<左右移按位运算”。 放大的主要对象是u,v这些浮点数,OpenCV选择的放大倍数是2048“如何取这个合适的放转载 2021-06-09 15:04:35 · 1176 阅读 · 0 评论 -
【信号处理第十二章】转置卷积
反卷积也可以称为卷积转置或转置卷积,但其并非卷积操作的反向操作。由上边的介绍可以指导,卷积操作会将输入映射到一个更小的feature map中,那么反卷积则可以将这个小的feature map映射为一个大的feature map,但是切记,这不是卷积的反向操作,也不会得到与原始输入一样的输出,但是却保留了映射中相对位置关系的信息,我们可以将其理解为上采样。从上图中可以看出,一个3x3的输入经过一个3x3的反卷积核的处理可以得到一个7x7的feature map。那么这一操作是怎么实现的呢?这里就需要先理转载 2021-06-09 15:03:48 · 476 阅读 · 0 评论 -
上采样方法综述:线性插值,转置卷积,上池化
1. 上采样的定义上采样的技术是图像进行超分辨率的必要步骤,最近看到了CVPR2019有一些关于上采样的文章,所以想着把上采样的方法做一个简单的总结。看了一些文章后,发现上采样大致被总结成了三个类别:1、基于线性插值的上采样2、基于深度学习的上采样(转置卷积)3、Unpooling的方法其实第三种只是做各种简单的补零或者扩充操作,下文将不对其进行涉及。文章目录1. 上采样的定义2. 线性插值1、最近邻算法2、双线性插值算法3、双三次插值算法(bicubic)3. 深度学习1、转置卷积2、Pix原创 2021-06-09 15:03:29 · 4760 阅读 · 0 评论 -
【上采样问题】双线性插值的几何中心点重合与align_corners
我们默认以红色表示原图,蓝色表示 bilinear 上采样两倍后的图片。首先介绍 align_corners=False,首先观察绿色框内的像素,我们会发现它们严格遵守了 bilinear 的定义。而对于角上的四个点,其像素值保持了原图的值。边上的点则根据角点的值,进行了 bilinear 插值。所以,我们从全局来看,align_corners=False 内部和边缘处采用了比较不同的规则。align_corners=True 里,像素值位于网格上:会发现,3∗33*33∗3的图像上采两倍原创 2021-06-09 15:03:09 · 3379 阅读 · 1 评论 -
上采样卷积转置的deconvolution方法实现双线性插值,代码实现,结果不一样
参考https://cv-tricks.com/image-segmentation/transpose-convolution-in-tensorflow/https://zhuanlan.zhihu.com/p/32414293目标现在我们要将3×6的图象转变为6×12的图象,即已知upscale_factor=2。1. 计算卷积核大小bilinear = get_bilinear_filter([4,4,1,1,],2)print(bilinear)array([[ 0.0625,原创 2021-06-09 15:02:02 · 1233 阅读 · 1 评论 -
【ResNet笔记(2)】ResNet的 bottleneck 设计
弯弯的弧线“这个就是”shortcut connection“,也是论文中提到identity mapping。原创 2021-06-03 09:43:57 · 5364 阅读 · 0 评论 -
Neural Architecture Search(NAS)强化学习寻找最优网络、NASNet、MNASNet
https://zhuanlan.zhihu.com/p/52471966https://zhuanlan.zhihu.com/p/52616166https://zhuanlan.zhihu.com/p/356625894文章目录关于NAS1. 背景介绍2. NAS详细介绍2.2 NAS-RNNNASNet1.1 NASNet 控制器1.2 NASNet的强化学习1.3 Scheduled Drop Path1.4 其它超参MNasNet1. MNasNet详解1.1 优化目标1.2 搜索空间1.3转载 2021-06-01 14:10:38 · 1461 阅读 · 0 评论 -
CNN中的卷积、1x1卷积及在pytorch中的验证
转载请注明处处:http://www.cnblogs.com/darkknightzh/p/9017854.html参考网址:https://pytorch.org/docs/stable/nn.html?highlight=conv2d#torch.nn.Conv2dhttps://www.cnblogs.com/chuantingSDU/p/8120065.htmlhttps://blog.csdn.net/chaolei3/article/details/793745631x1卷积htt转载 2021-05-20 10:45:20 · 562 阅读 · 0 评论 -
【Epoch, Batch(batchsize), Iteration,num_workers(1)】batchsize大小对训练速度的影响
2.batchsize大了,是不是结果会变好?收集资料发现,确实是这样的,但是也不能太大了。转载 2021-05-20 10:36:36 · 1594 阅读 · 0 评论 -
小卷积核的特征图与卷积参数变化不大,计算量变化明显
https://www.cnblogs.com/missidiot/p/10174230.html小卷积核说到网络深度,这里就不得不提到卷积,虽然AlexNet有使用了11x11和5x5的大卷积,但大多数还是3x3卷积,对于stride=4的11x11的大卷积核,我认为在于一开始原图的尺寸很大因而冗余,最为原始的纹理细节的特征变化用大卷积核尽早捕捉到,后面的更深的层数害怕会丢失掉较大局部范围内的特征相关性,后面转而使用更多3x3的小卷积核(和一个5x5卷积)去捕捉细节变化。而VGGNet则清一色使用3转载 2021-03-08 17:26:21 · 1213 阅读 · 0 评论 -
pooling 与 步长大于1的卷积
文章目录1 什么是pool2 如何去除pooling3 pooling没用了吗?1 什么是poolhttps://video.zhihu.com/video/1019541860720705536?autoplay=false&useMSE=这个视频很直观https://www.zhihu.com/question/36686900这个知乎还可以最直接的作用是引入了不变性,比如最常见的conv-max pooling,因为取一片区域的最大值,所以这个最大值在该区域内无论在哪,max-po转载 2020-09-12 22:01:08 · 707 阅读 · 0 评论 -
9月29日 胶囊网络
2011年,Geoffrey Hinton大神首次提出了CapsNets。而在几个月前,即2017年11月,它在MNIST手写数字识别上达到最先进的水平。尽管如此美好,不过,它还远未达到完美之境。首先,现在它在CIFAR10或ImageNet等数据集上表现不如CNN好。其次,它们是计算密集型的,当两个相同的物体贴合得很近时,它无法区分出来。它的核心思想非常有前途,只是还需要时间打磨。CNNCNN优点:首先,CNN牛X之处在于用类似蛮力的海量数据方式,自动把重要的分类特征找到,所以,无论图像是不转载 2020-10-30 17:04:50 · 162 阅读 · 0 评论 -
权重尺寸的计算,张量(图像)的尺寸,以及卷积神经网络(CNN)中层参数的计算,以及FC的维度卷积替代方案
文章目录背景:权重层的概念Input 尺寸大小卷积层(Conv Layer)的输出张量(图像)的大小池化层(MaxPool Layer)的输出张量(图像)的大小全连接层(Fully Connected Layer)的输出张量(图像)的大小对 1 * 1 卷积可以减少参数进行举例 :Conv Layer参数数量MaxPool Layer参数数量Fully Connected (FC) Layer参数数量权重的权值共享机制参考:背景:设计某网络,cfg = { 'A' : [64, 64, 'M'],}转载 2021-05-18 15:25:43 · 3207 阅读 · 0 评论 -
【框架结构】目标检测算法抽象流程
1 训练核心组件训练部分一般包括 9 个核心组件,总体流程是:1、任何一个 batch 的图片先输入到 backbone 中进行特征提取,典型的骨干网络是 ResNet2、输出的单尺度或者多尺度特征图输入到 neck 模块中进行特征融合或者增强,典型的 neck 是 FPN3、上述多尺度特征最终输入到 head 部分,一般都会包括分类和回归分支输出4、在整个网络构建阶段都可以引入一些即插即用增强算子来增加提取提取能力,典型的例如 SPP、DCN 等等5、目标检测 hea转载 2021-04-28 15:30:26 · 431 阅读 · 0 评论 -
正样本和负样本,前景类/ 背景,hard negative mining
正样本(positive example )和负样本(negative example)单独针对某个分类,与GT的IOU大于上门限的bbox是正样例,同理,与GT的IOU低于下门限bbox是负样例,例如:如下图,对“person”分类时,其他bbox均为负样本easy negative example 和 hard negative exampleeasy negative example 信息量很少的bbox,易分类的负样本,如上图中的红色 bboxhard negative example转载 2021-04-28 11:31:30 · 3338 阅读 · 0 评论 -
【目标检测】目标检测中的多尺度检测(Multi-Scale),FPN,RPN
问什么要查这个呢?因为造了个网络图,不确定图二的F 是不是对应于图一的conv图一图二参考:https://bbs.cvmart.net/articles/1251、目标检测是如何提高多尺度(较大或较小)物体检测率的。我们来回顾一下,首先,较大的卷积窗口可以卷积后看到较大的物体, 反之只能看到较小的图片.想象用1x1的最小卷积窗口, 最后卷积的图片粒度和输入图片粒度一模一样.但是如果用图片长宽 的卷积窗口, 只能编码出一个大粒度的输出特征.2、如果每层的卷积窗口大小一致例如yolov转载 2020-09-12 21:44:13 · 4753 阅读 · 1 评论 -
【目标检测】CNN的训练图像与测试图像不一致的多尺度问题
CNN检测和定位方法密集采样(滑窗)支持对于一个训练好的CNN来说,CNN的结构(如CNN的层数、每一层feature map的个数,卷积层的kernel size等等)是固定的,但是,每一层的feature map的大小是可以改变的。1)当测试样本和训练样本大小相同时,CNN最后一层的每一个节点分别输出一个0~1的实数,代表测试样本属于某一类的概率;2)当测试样本比训练样本大时,CNN最后一层每一个节点的输出为一个矩阵,矩阵中的每一个元素表示对应的图像块属于某一类的概率,其结果相当于通过滑窗从..转载 2020-08-25 14:09:17 · 1752 阅读 · 0 评论 -
【Epoch, Batch(batchsize), Iteration,num_workers(3)】number of training epochs,iteration,batch-size
概念(1)iteration:表示1次迭代(也叫training step),每次迭代更新1次网络结构的参数;(2)batch-size:1次迭代所使用的样本量;(3)epoch:1个epoch表示过了1遍训练集中的所有样本。值得注意的是,在深度学习领域中,常用带mini-batch的随机梯度下降算法(Stochastic Gradient Descent, SGD)训练深层结构,它有一个好处就是并不需要遍历全部的样本,当数据量非常大时十分有效。此时,可根据实际问题来定义epoch,例如定义1000转载 2020-08-24 11:18:07 · 2068 阅读 · 0 评论 -
【训练平台】mmdetection训练自己的标注数据, 以faster RCNN ,yolo为例子
用mmdetection做目标检测的训练还是比较简单的,但是目前代码尚不稳定,其中也有很多的坑,下面简单讲解一下如何用mmdetetection在VOC的数据集上进行模型的训练,算是对mmdetection的简单入门。制作VOC数据集mmdetection支持VOC和COCO标注格式的数据集,本次我们使用VOC2007格式数据集,我这里数据集已经制作好了,目录如下:...原创 2020-08-18 15:22:54 · 2081 阅读 · 0 评论 -
深度学习计算机视觉五大技术:图像分类、对象检测、目标跟踪、语义分割和实例分割
常识那么什么是计算机视觉呢? 这里给出了几个比较严谨的定义:✦ “对图像中的客观对象构建明确而有意义的描述”(Ballard&Brown,1982)✦ “从一个或多个数字图像中计算三维世界的特性”(Trucco&Verri,1998)✦ “基于感知图像做出对客观对象和场景有用的决策”(Sockman&Shapiro,2001)实际作用的应用,例如:人脸识别: Snapchat 和 Facebook 使用人脸检测算法来识别人脸。图像检索:Google Images 使用基于内容的查询来搜索相关转载 2020-08-13 10:47:10 · 4582 阅读 · 0 评论 -
【风格迁移】Neural Style Transfer 神经风格迁移
https://github.com/jm199504/VGG-NETNeural Style Transfer 神经风格迁移,是计算机视觉流行的一种算法,最先论文来源《 A Neural Algorithm of Artistic Style》所谓的图像风格迁移,是指利用算法学系著名画作的风格,将这个风格应用到我们自定义的图片上,其中著名的图像处理应用Prisma是用利用风格迁移技术,将普通人的照片自动转换为具有艺术气息风格的图片。将用到ImageNet VGG模型来图像风格迁移,其实VGGNet的转载 2021-03-08 17:11:18 · 621 阅读 · 0 评论 -
【图神经网络】 实际应用场景
GNN有许多跨不同任务和领域的应用。尽管通用任务可以由每个类别的GNN直接进行处理,包括节点分类、图像分类、网络嵌入图形生成和时空图预测,其他一般的与图数据相关的任务(如节点集群,链接预测和图分区等),也可以通过GNN来实现。下面详细介绍了基于以下研究领域的一些应用。1.3.1 计算机视觉:GNN在计算机视觉中的应用包括场景图生成、点云分类和动作识别。场景图生成:使用GNN识别物体之间的语义关系有助于理解视觉场景背后的意义。场景图生成模型的目的是将图像解析为由对象及其语义关系组成的语义图。另一个应转载 2021-04-20 10:03:50 · 2454 阅读 · 0 评论 -
2月19 基于深度学习的车道线检测
基于深度学习的车道线检测性能提升角度:ROI区域的选择图像处理过程的参数处理速度(Haugh变换可能只有4.5-6帧/秒,要想实时,只能丢帧近似处理)机器学习的子类——深度学习近来,机器学习的发展产生了一个新的方向,即“深度学习”。深度学习,就是传统的神经网联发展到了多隐藏层的情况。2006年,Geoffrey Hinton在科学杂志《Science》上发表了一篇文章...原创 2020-02-19 20:00:57 · 4943 阅读 · 1 评论 -
2月12 CNN结构特征+Faster R-CNN
11.4 CNN结构特征CNN的架构主要包括卷积层、池化层(汇聚层)和全连接层,它需要较少的参数就可以从图像中识别出图形特征。RGB图像输入是3层的二维多个卷积核单独计算:Pooling层在CNN的结构中起到降低维度;Dropout按照一定的概率丢弃神经元,以防止过拟合。本单元通过实例的代码来讲解。keep=1:keep=0.5keep=0.2CNN结构...原创 2020-02-12 16:30:26 · 320 阅读 · 0 评论