深度学习
文章平均质量分 84
深度学习内容整理。
jingbo1801
机器视觉、图像,TX2,python,c++
展开
-
DFM-无监督图像匹配
提出了一种新的图像匹配方法,利用现成的深度神经网络提取的学习特征来获得良好的图像匹配效果。该方法使用预训练的VGG结构作为特征提取器,不需要任何额外的训练来提高匹配。原创 2024-02-14 15:30:44 · 1187 阅读 · 0 评论 -
小目标检测文章阅读
无人机上目标检测的特点:1、图像特点 在多数情况下,无人机的拍摄视野很大,包含丰富的视觉内容,虽然它提供了更全面的场景信息。缺点: 1)但是待检测的目标对象通常在图像中占比较小,且没有足够的检测细节; 2)目标的外观和结构质量都很差,容易与噪声混淆(大视场、小目标引起); 学术论文,主要内容为遥感图像飞机检测。 难点:由于遥感图像的成像时段以及环境条件不一,可见光遥感平台的分辨率、相机F数、飞行高度、视角等参量各有不同,待检测的飞机目标型原创 2022-12-05 21:02:23 · 1600 阅读 · 0 评论 -
pytorch 混合精度训练
半精度混合训练,省显存且能提速一倍。混合精度训练,需要硬件设备支持才可以。混合精度需要Tensor Core支持,P4卡不支持混合精度训练。Tensor Core:我们知道在深度学习中大量的运算都是在高维矩阵(张量 Tensor)间进行的,Tensor Core可以让tensor的计算速度急速上升。Tensor Core专业执行矩阵数学运算,适用于深度学习和某些类型的HPC。...原创 2022-08-28 21:24:23 · 1289 阅读 · 0 评论 -
HRNet人体关键点检测
每个关键点的位置,都是通过调整最高热值来进行判断的。首先使用2个strided的卷积,减少输入图像的分辨率,获得初步特征图,然后把该特征图作为一个主体网络的输入,该主体网络的输出和输入的分辨率一样,其会其估算关键点的heatmaps。传统的单人位姿估计方法大多采用概率图形模型或图形结构模型,最近通过深度学习,自动提取特征方式,相对于传统的算法,提升是比较明显的。有的位姿估计网络是通过串联高分辨率子网来建立的,每个子网形成一个stage,由一系列卷积组成,并且在相邻的子网之间有一个下样本层来将分辨率减半。..原创 2022-08-28 12:53:13 · 5180 阅读 · 1 评论 -
再看目标检测map指标
左图模型只检测到一个目标,且是正确的,根据定义Precision=1,但是漏掉了很多目标。右图,检测到比实际多很多的框,数量取胜,所有目标均检测到,根据定义Recall=1,但是有很多的错误。统计每张图的与真值有交集的检测框:GT ID、置信度、是否是目标(IOU>0.5),然后按照置信度倒排序。Precision(查准率、精度):TP / (TP + FP) 模型预测的所有目标中,预测正确的比例;Recall(查全率):TP / (TP + FN) 所有真实目标中,模型预测正确的目标比例;...原创 2022-08-27 20:57:43 · 1424 阅读 · 0 评论 -
ULSD支持平面 鱼眼 球面相机的实时统一线段检测算法
原文链接:武大+CMU最新开源!全面支持平面/鱼眼/球面相机的实时统一线段检测算法 - 哔哩哔哩,仅供学习做笔记用,如果侵权,请联系我,会及时删除。ULSD: Unified line segment detection across pinhole, fisheye, and spherical cameras,作者开源了代码,代码地址:GitHub - lh9171338/ULSD-ISPRS摘要:图像的线段检测是计算机视觉和遥感技术中的一个基...转载 2022-05-08 12:12:20 · 973 阅读 · 0 评论 -
M-LSD 面向轻量化实时线段检测
摘要之前的基于深度学习的线段检测(LSD) 模型大且计算耗时。这限制了他们的实时性和使用环境。在这个 论文中,我们提出了在资源受限的环境下的一种实时的、轻量级的线段检测器Mobile LSD (M-LSD)。 我们设计了一种非常高效的结构,通过最小化骨干网络和去除典型的多模块流程进行直线预测。为了在一个轻量级的网络中保持竞争性能,我们提出了新的训练方案:线段分割增强(SoL)、匹配和几何关系损失函数。SoL增强将一条线细分成多个子部件,用于在训练过程中提供辅助线端数据。此外,匹...翻译 2022-05-08 11:52:25 · 2805 阅读 · 2 评论 -
目标检测损失函数
损失由两部分组成,分别是类别误差损失以及定位误差损失。1、分类损失采用一个二分类的softmax loss用来做分类,分类损失如下:其中,Sj为最后一层的softmax输出,T为类别数,yi为对应的真值标记。2、smooth L1 Loss常用的L1、L2损失定义如下:smooth L1 用来做回归,公式如下:其中x、y、w、h分别为目标的中心点及宽高,ti为真值、ui为对...原创 2021-12-08 22:41:18 · 6224 阅读 · 0 评论 -
数据增强(Data Augmentation)常用方法汇总
1、数据增强的作用1)避免过拟合。当数据集具有某种明显的特征,例如数据集中图片基本在同一个场景中拍摄,使用Cutout方法和风格迁移变化等相关方法可避免模型学到跟目标无关的信息。2)提升模型鲁棒性,降低模型对图像的敏感度。当训练数据都属于比较理想的状态,碰到一些特殊情况,如遮挡,亮度,模糊等情况容易识别错误,对训练数据加上噪声,掩码等方法可提升模型鲁棒性。3)增加训练数据,提高模型泛化能力。4)避免样本不均衡。在工业缺陷检测方...原创 2021-08-18 23:04:20 · 73982 阅读 · 1 评论 -
数据增广-随机擦除Cutout
根据yolov4文献中提到的cutout数据增广方式,进行扩展阅读。Cutout & Random Erasing1、Cutout论文地址:https://arxiv.org/pdf/1708.04552.pdf代码地址:https://github.com/Dingzixiang/cutout/blob/master/cutout.py出发点:文章的出发点除了解决遮挡问题外,还有从dropout上得到启发。众所周知...原创 2021-08-18 22:59:25 · 2588 阅读 · 0 评论 -
目标检测和感受野的总结
目录1、感受野2、理论感受野计算2.1、自上而下感受野计算2.2、自下而上的计算方法3、作用4、关系5、总结6、参考文献经典目标检测和最新目标跟踪都用到了RPN(region proposal network),锚框(anchor)是RPN的基础,感受野(receptive field, RF)是anchor的基础。本文介绍感受野及其计算方法、有效感受野概念和理论感受野、Anchor、实际感受野三者之间的关系。1、感受野在典型CNN...转载 2021-08-18 22:55:20 · 1302 阅读 · 0 评论 -
conda国内源-持续更新
北外镜像:conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/#Conda Forgeconda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge原创 2021-05-12 21:20:14 · 23354 阅读 · 0 评论 -
caffe模型文件可视化
常见的模型可视化用netron就可以了。但是对caffe早期版本支持的不好。用关netron模型可视化,参考:https://blog.csdn.net/weixin_34910922/article/details/113955321caffe模型可视化在线地址:http://ethereon.github.io/netscope/#/editor将模型prototxtx文件复制到左边编辑器上,然后按shift+enter右边会自动显示其结构,效果如下图:...原创 2021-05-10 21:17:49 · 125 阅读 · 0 评论 -
cv2 Grabcut图像分割
目录1、概述2、算法流程3、函数4、示例代码1、概述Grabcut是基于图割(graph cut)实现的图像分割算法,它需要用户输入一个bounding box作为分割目标位置,实现对目标与背景的分离/分割。Grabcut分割速度快,效果好,支持交互操作,因此在很多APP图像分割/背景虚化的软件中经常使用。2、算法流程在图片中定义含有(一个或多个)物体的矩形; 矩形外的区域被自动认为是背景; 对于用户定义的矩形区域,可用背景中数据来区分是前景还是背景; 用高斯混合模型(原创 2021-04-24 16:17:39 · 5952 阅读 · 4 评论 -
RepVGG:使VGG样式的ConvNets再次出色
目录摘要1、引言2、为什么要用VGG模型?2、相关工作2.1、从单路径到多分支2.2、有效地训练单路径模型3、通过结构重参数构建RepVGG3.1、简单即快速,节省内存,灵活3.2、训练时的多分支体系结构3.3、推理时的结构性重参数化3.4、结构设计4、实验4.1、RepVGG用于ImageNet分类4.3、语义分割4.4、局限性5、结论6、ACNet7、RepVGG的核心模块实现code摘要我们提出了一种简单而强大的卷积神经网翻译 2021-03-03 21:33:24 · 852 阅读 · 1 评论 -
梯度剪裁
目录1、梯度剪裁的原因2、梯度裁剪的使用2.1、固定阈值剪裁2.2、根据参数的范数来衡量的3、梯度裁剪的使用位置梯度剪裁,一种避免梯度爆炸的方式。1、梯度剪裁的原因神经网络是通过梯度下降来学习的。而梯度爆炸问题一般会随着网络层数的增加而变得越来越明显。如果发生梯度爆炸,那么就是学过了,会直接跳过最优解。例如:在反向传播中,假设第一层倒数乘以权重> 1,随着向前网络的传播的层数越多,梯度可能会越来越大。 (梯度消失相反)所以需要梯度裁剪,避免模型越过最优点。下图,摘抄原创 2021-03-03 20:55:10 · 7573 阅读 · 2 评论 -
分类模型评价,准确率、召回率,混淆矩阵
目录1、混淆矩阵2、指标计算2.1、准确率 accuracy2.2、错误率 erroe rate2.3、精确率/查准率/精度 percision2.4、召回率/查全率 recall3、综合指标 F-Measure考虑一个二分问题,即将实例分成正类(positive)或负类(negative)。对一个二分问题来说,会出现四种情况。TP(True Positive):是正类并且也被 预测成正类的数目; FN(False Negative):正类被预测成负类的数目;原创 2021-01-18 21:29:59 · 1339 阅读 · 0 评论 -
使用STN的行人属性识别
Improving Pedestrian Attribute Recognition With Weakly-Supervised Multi-Scale Attribute-Specific Localization文章:https://arxiv.org/abs/1910.04562代码:https://github.com/chufengt/iccv19_attribute1、行人属性识别任务行人属性识别任务本质上是一个分类任务,输入一个人的图像,得到人的性别、年龄、穿衣等的属性。相比原创 2021-01-14 23:07:50 · 2483 阅读 · 7 评论 -
DAB结构详解
1、DAB模块1)bn_conv2D实现:def bn_conv2D(x, filters, kernel_size, strides=(1, 1), dilation_rate=(1, 1), use_bias=False): x = Conv2D(filters, kernel_size, padding='same', strides=strides, ...原创 2020-05-03 20:34:33 · 4370 阅读 · 0 评论 -
DAB-Net:用于实时语义分割的深度不对称瓶颈层
摘要:提出一种新的深度非对称瓶颈(DAB)模块,该模块有效采用非对称卷积和扩张卷积来构建瓶颈层。由DAB模块组成的DAB-Net,生成了足够的接受域,密集的利用了上下文信息。Citycapes测试集上实现70.1%的miou,一张FGTX1080Ti上速度为104FPS。代码地址:https://github.com/Reagan1311/DABNet1、介绍[16.18.19.2...原创 2020-05-03 10:39:54 · 2387 阅读 · 1 评论 -
Jigsaw pre-training:摆脱ImageNet,拼图式主干网络预训练方法 | ECCV 2020
声明:文章仅作知识整理、分享,如有侵权请联系作者删除博文,谢谢!转自:https://mp.weixin.qq.com/s/ex7tcXlEgveDlovsiv7F3gJigsaw pre-training以拼图的方式从检测数据集中生成用于主干网络预训练的数据集,而不需要额外的预训练数据集,如ImageNet。另外为了让网络更好的适应拼图数据,论文提出ERF-adaptive密集分类方法,能够很好地扩大预训练主干网络的有效感受域。整体而言,Jigsaw pre-training方便且高效,性转载 2020-09-09 07:51:37 · 386 阅读 · 0 评论