秋水 墨色
这个作者很懒,什么都没留下…
展开
-
神经网络中的权值共享
权值共享的卷积操作有效解决了这个问题,无论图像的尺寸是多大,都可以选择固定尺寸的卷积核,LeNet中最大的卷积核只有5*5*1,而在AlexNet中最大的卷积核也不过是11*11*3。2012年的AlexNet网络是深度学习的开端,但是CNN的开端最早其实可以追溯到LeNet5模型,它的几个特性在2010年初的卷积神经网络研究中被广泛的使用——其中一个就是。权值共享后意味着每一个卷积核只能提取到一种特征,为了增加CNN的表达能力,当然需要多个核,不幸的是,它是一个Hyper-Parameter。...原创 2022-08-15 10:12:39 · 1532 阅读 · 0 评论 -
目标检测场景SSD-Mobilenetv1-FPN
基于SSD_MobileNetV1_FPN(采用MobileNetV1网络和FPN网络作为Backbone的SSD网络)。与fasterRcnn原生模型类似,有四个输出张量,分别为目标数,置信度,坐标框和类别ID。原创 2022-08-01 14:01:16 · 1134 阅读 · 2 评论 -
Transformer和Self-Attention
Transformer的本质上是一个Encoder-Decoder的结构,encoder读入输入数据,利用层层叠加的Self-Attention机制对每一个词得到新的考虑了上下文信息的表征。原创 2022-06-29 20:21:54 · 447 阅读 · 0 评论 -
Swin V2:向更大容量、更高分辨率的更大模型迈进
Swin Transformer在目标检测、实例分割等计算机视觉任务上均取得了SOTA的性能。原创 2022-06-28 20:29:59 · 1331 阅读 · 0 评论 -
PP-YOLOE详解
PP-YOLOE有一系列的模型,即s/m/l/x,可以通过width multiplier和depth multiplier配置。原创 2022-06-27 12:13:48 · 2362 阅读 · 0 评论 -
持续学习(continual learning/ life-long learning)
持续学习,泛化知识的能力是强人工智能的重要特征。原创 2022-06-16 16:32:42 · 5323 阅读 · 1 评论 -
HRNet
High-Resoultion Net(HRNet)由微软亚洲研究院和中科大提出,发表在CVPR2019。文章名称:Deep High-Resolution Representation Learning for Human Pose EstimationGithub:https://github.com/leoxiaobin/deep-high-resolution-net.pytorch模型的主要特点是在整个过程中特征图(Fea...原创 2021-08-17 16:03:17 · 783 阅读 · 0 评论 -
人脸检测、识别
人脸识别的过程中有4个关键的步骤:人脸检测 人脸对齐 人脸编码 人脸匹配人脸识别的 5 个难点头部姿势 年龄 遮挡 光照条件 人脸表情常用的人脸检测的算法有Dilb,OpenCV,OpenFace,MTCNN等。常用人脸识别的算法包括FaceNet,InsightFace模型等。FaceNet中采用基于深度神经网络的图像映射方法和基于triplets(三元组)的loss函数训练神经网络,网络直接输出为128维度的向量空间。三元组由Anchor(A...原创 2021-09-10 15:15:20 · 225 阅读 · 0 评论 -
图像处理框架、工具
FastAI 库:给出一张图像,该库能为图像中的物体创建蒙版;Sefexa 图像分割工具:Sefexa 是一个用于图像分割、图像分析、创造基本事实的免费的半自动工具;Deepmask:Facebook研究中心的 Deepmask 是 DeepMask 和 SharpMask 的 Torch 实现;MultiPath:它是一个来自「用于对象检测的多路径网络」的目标检测网络的 Torch 实现;OpenCV:一个有超过 2500 种的优化算法的开源计算机视觉库;MIScnn:一个医学图像分.原创 2021-09-29 11:32:30 · 377 阅读 · 0 评论 -
图像的语义分割
金字塔池化模型PPM-Pyramid pooling moduleppm是以一种特殊的池化模型。通过由多到少的池化,可以有效增大感受野,增大全局信息的利用效率。PPM(Pyramid Pooling Module)是PSPNet中提出的一个模块,PSPNET是用于语义分割的一个网络。现在大多数先进的语义分割框架大多数基于FCN,FCN不能有效的处理场景之间的关系和全局信息。DeepLab 系列使用“带孔/空洞”卷积改进ResNet模型:在不增加参...原创 2021-08-17 15:30:11 · 595 阅读 · 0 评论 -
图像分割 PaddleSeg
原创 2022-03-11 17:21:13 · 501 阅读 · 0 评论 -
语义分割网络总结:FCN、SegNet、U-Net、PSPNet、RefineNet到DeepLab v1~v3+
语义分割的任务是基于像素点的密集预测任务,其目的是将输入图像的每个像素分配一个语义类别。FCNs网络,以VGG16为backbone,去掉了最后的全连接层(fc6和fc7)转换为卷积层,以生成一个低分辨率的特征图,然后用双线性初始化的反卷积,并在上采样的每一个阶段采用skip-connection的方式融合(求和)VGG16中的低层信息(conv4、conv3)的更加粗糙但是分辨率更高的特征图进一步融合多尺度信息。如下图所示,FCN-8s 融合了不同粗糙度(conv3、c...原创 2021-09-01 10:09:08 · 578 阅读 · 0 评论 -
DeepLab v3+
DeepLab V3+的改进点:使用Encoder-Decoder的设计架构。将DeepLab V3作为编码器(利用atrous convolution生成任意维度的特征,并采用ASPP策略),在其后面级联解码器(注意,不再是直接一步恢复到原始大小哦)进而恢复边界细节信息。 backbone的更改。探究了ResNet-101替换成Xception模型的可行性,采用depthwise separable convolution进一步提高分割算法的精度和速度。 DeepLab V3+的主要结构.原创 2021-08-24 18:13:49 · 572 阅读 · 0 评论 -
CV论文\方向
计算机视觉相关的顶级会议CVPR, ICCV, ECCV, IROS, ICRA 录用论文来看,视觉定位 三维点云识别分割 单目深度估计 无人驾驶高精度导航 语义SLAM等相关论文占比越来越高。SLAM是三维视觉的核心技术,广泛应用于AR、自动驾驶、智能机器人、无人机等前沿热门领域。...原创 2021-10-11 15:05:05 · 352 阅读 · 0 评论 -
OpenCV
cv.IMREAD_COLOR: 加载彩色图像。任何图像的透明度都会被忽视。它是默认标志。 cv.IMREAD_GRAYSCALE:以灰度模式加载图像 cv.IMREAD_UNCHANGED:加载图像,包括alpha通道注意 除了这三个标志,你可以分别简单地传递整数1、0或-1。import numpy as npimport cv2 as cv#加载彩色灰度图像img = cv.imread('messi5.jpg',0)cv.imshow('image',img)cv.w.原创 2021-08-12 16:53:33 · 213 阅读 · 0 评论 -
ubuntu版本对应内核版本 cuda对应nvidia驱动
4.10 Warty Warthog 2.6.85.04 Hoary Hedgehog 2.6.105.10 Breezy Badger 2.6.126.06 Dapper Drake 2.6.156.10 Edgy Eft 2.6.177.04 Feisty Fawn 2.6.207.10 Gutsy Gibbon 2.6.228.04 Har.原创 2021-11-30 09:41:35 · 3794 阅读 · 0 评论 -
Resnet
Resnet50ResNet50有两个基本的块,分别名为Conv Block和Identity Block,其中Conv Block输入和输出的维度是不一样的,所以不能连续串联,它的作用是改变网络的维度;Identity Block输入维度和输出维度相同,可以串联,用于加深网络的。Conv Block的结构如下:Identity Block的结构如下:这两个都是残差网络结构。总的网络结构如下:ResNet50模型的完整的结构图如下:...原创 2021-08-24 00:34:09 · 2373 阅读 · 0 评论 -
SPP,PPM、ASPP、FPN
SPP(spatial pyramid pooling)在spp出来之前,所有神经网络都是要输入固定尺寸的图片,比如经常遇到的224×224,图片输入网络前都要resize到224×224,导致图片变形,其中的信息也变形了,从而限制了识别精度。而SPP和ASPP就是为了解决这个问题,它可以让网络输入原图而不必resize。空间池化层实际就是一种自适应的层,这样无论你的输入是什么尺寸,输出都是固定的(21xchannel)ASPP(Atrousspatial pyramid ...原创 2021-08-25 14:59:59 · 2908 阅读 · 0 评论 -
图像数据增强、扩增
以torchvision为例,常见的数据扩增方法包括:transforms.CenterCrop 对图片中心进行裁剪 transforms.ColorJitter 对图像颜色的对比度、饱和度和零度进行变换 transforms.FiveCrop 对图像四个角和中心进行裁剪得到五分图像 transforms.Grayscale 对图像进行灰度变换 transforms.Pad 使用固定值进行像素填充 transforms.RandomAffine 随机仿射变换 transforms.Rando原创 2021-08-26 09:31:50 · 591 阅读 · 0 评论 -
训练集、验证集、测试集
留出法(Hold-Out) 直接将训练集划分成两部分,新的训练集和验证集。这种划分方式的优点是最为直接简单;缺点是只得到了一份验证集,有可能导致模型在验证集上过拟合。留出法应用场景是数据量比较大的情况。 交叉验证法(Cross Validation,CV) 将训练集划分成K份,将其中的K-1份作为训练集,剩余的1份作为验证集,循环K训练。这种划分方式是所有的训练集都是验证集,最终模型验证精度是K份平均得到。这种方式的优点是验证集精度比较可靠,训练K次可以得到K个有多样性差异的模型;CV..原创 2021-08-26 14:59:11 · 620 阅读 · 0 评论 -
Roofline Model与深度学习模型的性能分析
任何模型(例如 VGG / MobileNet 等)都必须依赖于具体的计算平台(例如CPU / GPU / ASIC 等)才能展现自己的实力。 模型和计算平台的"默契程度"会决定模型的实际表现。Roofline Model 提出了使用 Operational Intensity(计算强度)进行定量分析的方法,并给出了模型在计算平台上所能达到理论计算性能上限公式。1. 计算平台的两个指标:算力与带宽算力:也称为计算平台的性能上限,指的是一个计算平台倾尽全力每秒钟所能完成的浮点...原创 2022-02-09 17:05:10 · 2194 阅读 · 0 评论 -
显存、参数、FLOPs、FLOPS
模型所占的显存无非是这两种:模型权重参数 模型所储存的中间变量衡量计算能力的单位是flops: 每秒能执行的flop数量。原创 2021-08-31 09:53:30 · 1937 阅读 · 0 评论 -
梯度消失、爆炸原因及其解决方法
深层网络由许多非线性层堆叠而来,每一层非线性层都可以视为是一个非线性函数 f ( x ) f(x)f(x)(非线性来自于非线性激活函数),最终的目的是希望这个多元函数可以很好的完成输入到输出之间的映射,整个深度网络可以视为是一个复合的非线性多元函数:F(x)=fn(...f3(f2(f1(x)∗θ1+b)∗θ2+b)...)梯度消失爆炸的解决方案主要包括以下几个部分:预训练加微调 梯度剪切、权重正则(针对梯度爆炸) 使用不同的激活函数 - 使用batchnorm...原创 2021-09-02 11:00:15 · 334 阅读 · 0 评论 -
模型压缩 — PaddleSlim
PaddleSlim是一个模型压缩工具库,包含模型剪裁、定点量化、知识蒸馏、超参搜索和模型结构搜索等一系列模型压缩策略。原创 2022-03-17 16:51:02 · 665 阅读 · 0 评论 -
深度学习中的五种归一化(BN、LN、IN、GN和SN)
局部响应归一化(Local Response Normalization, 即LRN)首次提出于AlexNet。LRN的创意来源于神经生物学的侧抑制,被激活的神经元会抑制相邻的神经元。用一句话来形容LRN:让响应值大的feature map变得更大,让响应值小的变得更小。其主要思想在于让不同卷积核产生feature map之间的相关性更小,以实现不同通道上的feature map专注于不同的特征的作用,例如A特征在一通道上更显著,B特征在另一通道上更显著。神经网络学习过程的本质就是为了学习数据分布,原创 2021-08-31 10:40:14 · 2111 阅读 · 0 评论 -
TensorRT头文件
版本:5.1.5.0include:NvInfer.h NvInferPlugin.h NvCaffeParser.h NvOnnxConfig.h NvOnnxParser.h NvOnnxParserRuntime.h NvUffParser.h NvUtils.h其中,NvInfer.h, NvInferPlugin.h, NvUtils.h 是公用的。其他的分别用来支持tensorRT支持的三个框架:Caffe, Onnx和Uff(tensorflow)....原创 2022-03-28 10:09:17 · 923 阅读 · 0 评论 -
NVIDIA Jetson
NVIDIA GPU Cloud (NGC) 是针对深度学习和科学计算优化的基于GPU加速的云平台。原创 2021-09-23 17:50:52 · 242 阅读 · 0 评论 -
Intel的ipp库(Integrated Performance Primitives)
IPP库包含了许多底层优化的函数。如果已经安装了IPP库,opencv在运行时也会自动调用。NVIDIA公司针对GPU开发了的GPU加速的图像、视频、信号处理库NPP(NVIDIA Performance Primitives)。NPP和IPP库函数基本上是一一对应,不同的是一个在CPU上计算一个在GPU上计算。高度优化的NPP计算单元,执行速度比仅使用CPU要快80倍。CUDA本身涵盖的功能非常广泛,硬件功能上就几乎体现了NV自家GPGPU的所有可能性,再加上驱动和软件...原创 2022-05-13 15:27:11 · 4080 阅读 · 0 评论 -
CUDA-NPP图像和视频处理
一、What is NPP?NVIDIAPerformance Primitives library(NPP) 是一系列为加速进程的库函数,NPP的原始目标是针对图像和视频进程,而现在以被开发工程师应用于其它很多领域,包括信号处理。NVIDIA NPP是2D图像和信号处理的CUDA加速库。NPP库可以在最大限度地提高灵活性,同时保持高性能。可以采用以下两种方式使用NPP库作为一个独立的库,可以最小的工作量向应用程序添加GPU加速 可以添加到开发人员的GPU代码中,作为一个有...原创 2022-05-13 10:36:23 · 1153 阅读 · 0 评论 -
CUDA详解-GPU架构
每个线程有自己的私有本地内存(Local Memory),而每个线程块有包含共享内存(Shared Memory),可以被线程块中所有线程共享,其生命周期与线程块一致。此外,所有的线程都可以访问全局内存(Global Memory)。还可以访问一些只读内存块:常量内存(Constant Memory)和纹理内存(Texture Memory)。内存结构涉及到程序优化,这里不深入探讨它们。GPU硬件的一个核心组件是SM,前面已经说过,SM是英文名是 Streaming ...原创 2022-05-17 18:52:21 · 1666 阅读 · 0 评论 -
h.264码流详解
H264码流可以分为两层,VCL层和NAL层,NAL的全称是Network abstraction layer,叫网络抽象层,它保存了H264相关的参数信息和图像信息,NAL层由多个单元NALU组成,NALU由了NALU头(00 00 00 01或者00 00 01)、sps(序列参数集)、pps(图像参数集合)、slice、sei、IDR帧、I帧(在图像运动变化较少时,I帧后面是7个P帧,如果图像运动变化大时,一个序列就短了,I帧后面可能是3个或者4个P帧)、P帧、B帧等数据。sps、pps、I帧、P原创 2022-05-19 09:01:06 · 898 阅读 · 0 评论 -
deepsort
目前主流的目标跟踪算法都是基于Tracking-by-Detecton策略,即基于目标检测的结果来进行目标跟踪。视频中不同时刻的同一个人,位置发生了变化,那么是如何关联上的呢?答案就是匈牙利算法和卡尔曼滤波。匈牙利算法可以告诉我们当前帧的某个目标,是否与前一帧的某个目标相同。 卡尔曼滤波可以基于目标前一时刻的位置,来预测当前时刻的位置,并且可以比传感器(在目标跟踪中即目标检测器,比如Yolo等)更准确的估计目标的位置。在DeepSORT中,匈牙利算法用来将前一帧中的跟...原创 2021-09-02 10:13:22 · 271 阅读 · 0 评论 -
YOLOv3、YOLOv4、YOLOv5
Yolov3Yolov4输入端采用 Mosaic、CutMix数据增强、cmBN、SAT自对抗训练 Backbone采用了CSPDarknet53、Mish激活函数、DropBlock正则化等方式Neck中采用了SPP、FPN+PAN的结构Prediction则采用CIOU_Loss、DIOU_nms操作Yolov5YOLOv5其实就是YOLOv4的工程化的版本。输入端:Mosaic数据增强、自适应锚框计算、自适应图片缩放Backbone:Focus结构,CSP结原创 2021-08-31 10:44:50 · 909 阅读 · 0 评论 -
旋转框RBOX
水平框的缺点尺寸与宽高比不能反映目标的真实形状 目标和背景像素没有有效分离 密集对象难以分离定向框的优点定向框的宽度和高度反映了目标的物理尺寸,这有助于定制预选框。 定向框比水平框包含更少的背景像素,因此目标和背景之间的分类更容易。 定向框可以有效地分隔目标,并且在相邻目标之间没有重叠区域。定向框是一个带有angle参数的矩形,用于定义其方向。定向框需要五个参数来回归其位置,大小和方向。...原创 2022-03-15 10:14:33 · 1401 阅读 · 0 评论 -
目标检测 PaddleDetection
原创 2022-03-11 17:12:30 · 331 阅读 · 0 评论 -
DETR (Detection with Transformer)
DETR (Detection with Transformer)是2020年FAIR團隊發表於ECCV的論文 (Oral)。End-to-end Object Detection with Transformers(DETR) 的理解。DETR是一个令人非常兴奋的目标检测模型,它在思路上完全不同于现有的state-of-art的那些目标检测模型,让人对目标检测这个任务重新思考。一句话概括一下,DETR就是一个不用nms,不用anchor,流程非常简洁明了,且基于transformer...原创 2022-03-11 15:48:27 · 965 阅读 · 0 评论 -
多目标跟踪(MOT)
核心搜索算法(常见的预测算法有Kalman(卡尔曼)滤波、扩展卡尔曼滤波、粒子滤波)Kalman滤波Kalman滤波器是通过前一状态预测当前状态,并使用当前观测状态进行校正,从而保证输出状态平稳变化,可有效抵抗观测误差。在视频处理的运动目标跟踪里,每个目标的状态可表示为(x,y,w,h),x和y表示目标位置,w和h表示目标宽高。一般地认为目标的宽高是不变的,而其运动速度是匀速,那么目标的状态向量就应该扩展为(x,y,w,h,dx,dy),其中dx和dy是目标当前时...原创 2021-08-10 13:46:25 · 592 阅读 · 0 评论 -
s2anet详解
Single-shot Alignment Network (S2A-Net) consisting of two modules: a Feature Alignment Module (FAM) and an Oriented Detection Module (ODM).小结双阶段R-CNN[9]框架组成:区域提议网络(RPN)和R-CNN检测头。过程:利用RPN从水平锚点生成高质量的兴趣区域,利用RoI池化操作从兴趣区域中提取准确的特征。利用R-CNN对边界框bounding原创 2022-02-23 20:38:20 · 3057 阅读 · 0 评论 -
卷积下采样和池化的区别
池化通常池化层紧跟在 CNN 的卷积层之后。池化方法:max-pooling:对邻域内特征点取最大值 mean-pooling:对邻域内特征点求平均池化的作用:降维,减少网络要学习的参数数量 防止过拟合 扩大感受野 实现不变性(平移、旋转、尺度不变性)池化下采样比较粗暴,可能将有用的信息滤除掉,而卷积下采样过程控制了步进大小,信息融合较好,现在池化操作较少的被采用。pooling提供了一种非线性,这种非线性需要较深的conv叠加...原创 2021-07-27 20:21:25 · 3841 阅读 · 0 评论 -
信息量、信息熵、相对熵、交叉熵、Wasserstein距离
信息量信息奠基人香农(Shannon)认为“信息是用来消除随机不确定性的一种东西”,也就是说衡量信息量的大小就是看这个信息消除不确定性的程度。“太阳从东边升起”,这条信息并没有减少不确定性,因为太阳肯定是从东边升起的,这是一句废话,信息量为0. “2018年中国队成功进入世界杯”。从直觉上来看,这句话具有很大信息量。因为中国队进入世界杯的不确定性因素很大。而这句话消除了进入世界杯的不确定性,所以按照定义,这句话的信息量很大。根据上述描述,总结如下:信息量的大小与信...原创 2021-07-27 19:41:48 · 502 阅读 · 0 评论