
目标检测
文章平均质量分 93
orangezs
这个作者很懒,什么都没留下…
展开
-
[目标检测]-NMS系列-cvpr2019-Adaptive NMS 原理详解
1.资源Adaptive NMS: Refining Pedestrian Detection in a Crowd2.简介Adaptive NMS的研究者认为这在物体之间有严重遮挡时可能带来不好的结果。我们期望当物体分布稀疏时,NMS大可选用小阈值以剔除更多冗余框;而在物体分布密集时,NMS选用大阈值,以获得更高的召回。既然如此,该文提出了密度预测模块,来学习一个框的密度。就是想要去自适应的调整NMS时的阈值,使得待检测目标不密集时,用较小的NMS阈值杀掉其他的bbox,待检测目标密集呢(出原创 2021-05-31 19:59:54 · 3018 阅读 · 6 评论 -
[计算机视觉]-MSE、MEA、L1、L2、smooth L1解释及优缺点
MAE损失函数MAE=∑i=1n∣yi−yip1∣nM A E=\frac{\sum_{i=1}^{n} \mid y_{i}-y_{i}^{p_{1}} \mid}{n}MAE=n∑i=1n∣yi−yip1∣以分类问题举例。对于上式中,yiy_{i}yi代表真实值,yipy_{i}^{p}yip代表预测值。下面是一个MAE函数的图,其中真实目标值为100,预测值在-10,000至10,000之间。预测值(X轴)= 100时,MSE损失(Y轴)达到其最小值。损失范围为0至∞。优点原创 2021-05-31 14:26:15 · 7074 阅读 · 1 评论 -
[目标检测]-涨点trick之ASFF:Learning Spatial Fusion for Single-Shot Object Detection笔记
1.综述文章地址与文章代码;文章主要思想可以简单的概括为fpn+attention;文章的核心工作有两个1.在yolov3的基础上采用了一系列更强的trick,获得了一个基于yolov3的超强baseline主要包括如下技巧,详情可以参见论文1) Guided Anchoring-一种anchor free 方法2) Bag of Tricks-主要包括mixup algorithm , cosine learning rate schedule, synchronized batch原创 2021-03-12 20:33:19 · 2796 阅读 · 3 评论 -
[目标检测]-ECCV2020目标检测PAA方法Probabilistic Anchor Assignment with IoUPrediction for Object Detection
原文:https://arxiv.org/abs/2007.08103代码:https://link.youkuaiyun.com/?target=https%3A%2F%2Fgithub.com%2Fkkhoot%2FPAA1.动机这篇文章主要是针对当下anchor-based 中anchor标签的分配问题加以改进,传统方法是利用anchor产生的bbox与标定的gt框之间的IOU,设置阈值,大于正阈值则为正样本,小于负阈值则为负样本.正样做直观简单,却忽略了相交区域的实际内容,该相交区域可能包含嘈杂的背景,附原创 2020-12-30 21:19:26 · 1507 阅读 · 0 评论 -
[目标检测]-涨点trick之ATSS:Bridging the Gap Between Anchor-based and Anchor-free Detection笔记
1.论文及代码1.论文:https://arxiv.org/abs/1912.024242.代码:https://github.com/sfzhang15/ATSS2.动机及结论本文主要探讨anchor-base与anchor-free的目标检测算法之间的差异是由什么引起的?1.论文主要阐述了对于正负样本的定义和选取对模型最终效果的影响。通过一系列的实验最终指出,anchor free的FCOS与anchor-based的RetinaNet的本质区别是正/负样本的选择方式不同。2.进一步提出原创 2020-12-11 16:33:22 · 530 阅读 · 0 评论 -
[目标检测]-anchor-free方法《FCOS: Fully Convolutional One-Stage Object Detection》论文理解
1.本文资源论文链接:https://arxiv.org/pdf/1904.01355.pdf开源代码链接:https://github.com/tianzhi0549/FCOS2.动机anchor-base缺点用anchor的框架对于anchor的尺寸非常敏感,anchor的尺寸会影响检测的performance。anchor尺寸的固定导致了对网络对特殊形状的物体鲁棒性较差,如果物体的尺寸变化很大,就会导致模型的泛化能力差。为了获得高的recall,要非常密集的堆放anchors,通常大多原创 2020-12-08 14:12:24 · 463 阅读 · 0 评论 -
[目标检测]-常用涨点trick-focal loss 论文理解
论文地址:https://arxiv.org/abs/1708.02002pytorch复现:https://github.com/kuangliu/pytorch-retinanet1.论文动机one-stage方法与two-stage的各自的特点,基于one-stage的方法检测速度快,但是正确率低的问题,作者发现是因为前景、背景类别的极度不平衡所导致导致,于是提出了focal loss来重新设置标准交叉熵损失来解决前景、背景类别不平衡的问题。简单来说就是我们在训练的过程中。我们会在检测头输出的原创 2020-11-26 14:32:55 · 835 阅读 · 0 评论 -
[目标检测]-图解bbox_loss的发展-MSE -> IOU -> GIOU(cvpr2019) ->DIOU/CIOU(aaai2020)
1.MSE方式最早的bbox_loss采用的是MSE方法LMSE=(x1−x2)2+(y1−y2)2+(w1−w2)2+(h1−h2)2\mathcal{L}_{\text {MSE}} = (x1-x2)^2 + (y1-y2)^2 + (w1-w2)^2 +(h1-h2)^2LMSE=(x1−x2)2+(y1−y2)2+(w1−w2)2+(h1−h2)2这种方式计算损失值是检测框的“代理属性”—— 距离,而忽略了检测框本身最显著的性质——IoU。计算两者的重叠占比,才是我们更加想要去优化原创 2020-11-09 13:21:23 · 3407 阅读 · 0 评论 -
[模型压缩/加速]-加速卷积计算的三种方法-Depth-wise Conv、Group Conv、Channel-wise Conv
1.概念简介假设输入尺寸大小为aa、通道 为n,输出通道数为m,卷积核大小为bb,步长为1.那么计算量为 FLOPs = a * a * n * m * b * b参数量为 b * b * n * m这就是传统卷积的计算方式,可以看到,当a、b、n、m相对较大的时候,造成的计算量是非常大的,所以就有降低模型大小与计算量的需要。2.Depth-wise Conv出自论文《MobileNets: Efficient Convolutional Neural Networks for Mobile V原创 2020-11-03 15:49:20 · 5960 阅读 · 0 评论 -
[目标检测]-cv常用模块ghostbottleneck原理讲解与pytorch实现
1.ghostnet简介Ghostnet是华为诺亚方舟实验室今年在CVPR2020上新发表的文章《GhostNet: More Features from Cheap Operations》中提出的一种新型的网络结构,他的核心思想就是设计一种分阶段的卷积计算模块,在少量的非线性的卷积得到的特征图基础上,在进行一次线性卷积,从而获取更多的特征图,而新的到的特征图,就被叫做之前特征图的‘ghost’,以此来实现消除冗余特征,获取更加轻量的模型。论文题名:《GhostNet: More Features fr原创 2020-10-24 17:30:22 · 14331 阅读 · 28 评论 -
[目标检测]-cv常用模块注意力机制selayer原理讲解与pytorch定义
1.selayer的由来这里我们介绍一篇CVPR2017的文章SENet,感兴趣的同学可以直接看下他这篇文章,它赢得了最后一届ImageNet 2017竞赛分类任务的冠军。重要的一点是SENet思路很简单,很容易扩展在已有网络结构中。通过写成selayer插入到现有的网络。论文:《Squeeze-and-Excitation Networks》论文链接:https://arxiv.org/abs/1709.01507代码地址:https://github.com/hujie-frank/SENet原创 2020-10-23 21:15:43 · 12764 阅读 · 2 评论 -
[数据分析]-目标检测python删除xml文件中指定name的object类别
1.问题描述在整理数据集的时候,由于部分数据集来自网络,其一张图片标注了多个类别,而我们只想使用其中的某些类别,如果不去管那些无效类别,在训练时可能会出错。这就需要我们读取xml文件,根据指定的name名称,删除掉无效的object标注。2.例子我想要删除掉 name为花盆这个关键字的标注 的 object。我想要的结果3.解决相关注释代码如下import osimport xml.etree.ElementTree as ETimport tqdmdef del_delete_e原创 2020-10-14 11:29:27 · 2164 阅读 · 1 评论 -
[数据分析]-目标检测如何将文件中的全部图像、标签按类别进行划分
1.问题描述很多时候,在我们对图像数据预处理的时候,我们拿到的标签文件及图像文件都是混杂在一起的,并没有按类别分开,这就让我们在后续的工作如针对每个类别的ap得分进行数据增强、补全时遇到了一些麻烦。所以我们需要解决的是:将混杂在一起的标签图像文件按类别分好。2.解决方案利用了xml库来进行标签文件的读取利用os库来进行文件的读写等操作利用PIL的Image库完成图像文件的迁移利用shutil.copefile完成标签文件的迁移3.代码实现具体注释代码文件里有写,如果遇到报错,逐行输出一下,确原创 2020-10-10 20:18:46 · 1076 阅读 · 0 评论 -
[笔记]-yolo强化理解随笔加感悟D3
本文逻辑不通,仅供自己阅读yolo强化理解随笔加感悟D1yolo强化理解随笔加感悟D2Day3 pipeline:1.特征提取器的改进:多尺度思路的全面应用2.YOLOv4-v5的backbone neck head 对比分析3.V5代码解读与应用:进行消融实验一、例子反响传播原理,梯度下降反响传播就是主要更新backbone参数,可以看做更加复杂的一些方程而已。二、检测头复习正是由于backbone能力的提升,才导致检测头的进化,实现更复杂的检测。V5检测头也是这样三、原创 2020-09-23 23:59:07 · 1126 阅读 · 1 评论 -
[笔记]-yolo强化理解随笔加感悟D2
本文逻辑不通,仅供自己阅读yolo强化理解随笔加感悟D1Day2 运行yolov5的pytorch实现:开始使用yolov5 pipeline1.yolov2 v3 v4 v5检测头与anchor的尝试改进2.Yolov5代码使用方法介绍:测试与训练3.详细解读检测头代码一、检测模型特征提取器+检测头(head二、YOLOv0 model.pyYolov1 全部改为 yolov0YoloV0定义先看forwardExtractor 提取特征 可以认为特征提取器View可以理原创 2020-09-22 18:04:29 · 387 阅读 · 2 评论 -
[笔记]-yolo强化理解随笔加感悟D1
本文逻辑不通,仅供自己阅读Day11.从0开始设计检测器输出值与损失函数搭配2.yolov5综述3.yolov5基础:只用计算一次就得到结果开发了一个app idetection最大的特点就是快,方便移动端部署 v5整体还在实践中,论文还没出,论文要等年底一、学习任何一个模型:1.前向计算部分[90%]2.损失函数(1)Mean square error :MSE(2)Cross enporty3.反向传播部分再看细节二、矩阵映射到矩阵分类器输入:矩阵[图片]输出:on原创 2020-09-22 00:58:47 · 497 阅读 · 0 评论 -
backbone、head、neck等深度学习中的术语解释
我们在阅读文章的时候,经常看到backbone head neck 这一类的术语,但是我们可能并不知道是什么意思,这篇文章就是对这些术语进行解释:1.backbone翻译为主干网络的意思,backbone这个单词原意指的是人的脊梁骨,后来引申为支柱,核心的意思。在神经网络中,尤其是CV领域,一般先对图像进行特征提取(常见的有vggnet,resnet,谷歌的inception),这一部分是整个CV任务的根基,因为后续的下游任务都是基于提取出来的图像特征去做文章(比如分类,生成等等)。所以将这一部分转载 2020-09-15 12:52:31 · 1405 阅读 · 0 评论 -
[目标检测]-yolov5-解决调用opencv显示中文标签时出现乱码状况
1.1问题描述如下图所示,在利用yolov5进行目标检测时中文标签全部是??????乱码。1.2问题定位一般的目标检查模型绘图代码等其他设置放在utils文件,定位到/utils/utils.py,yolov5的绘框函数为plot_one_box,选择ctrl+f 查找plot_one_box函数,其中使用了cv2.putText()函数,而使用cv2.putText() 只能显示英文字符,中文会出现乱码问题。1.3解决原理讲cv2格式图片转换为PIL使用PIL在图片上绘制添加中文,可以指定字体原创 2020-09-09 20:04:56 · 7803 阅读 · 22 评论 -
[目标检测]-(YOLOv2)YOLO9000:Better,Faster,Stronger 论文理解,结构梳理
《YOLO9000:Better,Faster,Stronger》论文:https://arxiv.org/abs/1612.08242主要包括三个部分:Better,Faster,Stronger,其中前面两部分基本上讲的是YOLO v2,最后一部分讲的是YOLO9000。Better这部分细节很多,要详细了解的话还是需要结合源码来看。本篇论文是YOLO作者为了改进原有的YOLO算法所写的。YOLO有两个缺点:(1)定位不准确(2)和基于region proposal的方法相比召回率较转载 2020-08-12 21:08:11 · 320 阅读 · 0 评论 -
目标检测-爬虫-利用百度识图的方法来批量的爬取图片生产数据集
在百度图识图爬取自己想要的数据集如果你复制了此代码,能不能给我点个赞!本代码非原创,网上搜集了一些资料,经过本人调整后能跑通!1. 问题描述最近在做一个关于垃圾的目标检测问题,在部署训练时需要大量的各种各样的垃圾数据集,那么我想到了网上搜索+拍照+爬虫的方式来获取数据集,而在我的上一篇博客 目标检测-用爬虫爬取百度图库获得自己想要的图片数据集-python代码,给出了利用百度图库关键字爬取图片的方法。但是经过测试,爬到的数据很多是不能用的,图像千奇百怪,每100张大概只有20张左右是有效的。于是想到原创 2020-08-10 19:36:31 · 3745 阅读 · 24 评论 -
目标检测中将已有的.xml数据集转换成.txt数据集(附代码,归一化后供YOLO格式使用)
1.准备工作IDE:vscode或者pycharm1.1新建项目我新建了data目录并新建Annotations, images, ImageSets, JPEGImages, labels 五个文件夹。其中images和JPEGImages存放的是原始的图片数据集,Annotations存放的是标记后生成的xml文件,labels存放的是保存标记内容的txt文件,ImageSets存放的是训练数据集和测试数据集的分类情况。其中Annotations 文件夹 放我们想要转换的xml数据集。如下图原创 2020-07-30 16:14:41 · 10208 阅读 · 36 评论 -
目标检测之完全免费的图像标注工具labelimage详细使用教程并生成自己的数据集xml或txt文件
1.labelimage下载1.1 ubuntu下labelimage下载github官方下载地址:地址直接点击Code,下载文件为.zip格式。下载完成后#cd到下载目录cd Downloads/#执行解压命令#如果是.zip.gz文件执行 tar-xvzf 文件名 即可unzip ×下载的文件名.zip#即可看到文件夹或者直接git clone https://github.com/tzutalin/labelImg即可完成下载,如下图所示1.2 labelimage的原创 2020-07-30 15:34:01 · 3993 阅读 · 3 评论 -
从零开始手把手教你利用yolov5训练自己的数据集(含coco128数据集/yolov5权重文件国内下载)更新于20200728
利用YOLOV5训练自己的数据执行以下命令做好准备工作git clone https://github.com/ultralytics/yolov5 # 下载 yolov5 项目python3 -c "from yolov5.utils.google_utils import gdrive_download; gdrive_download('1n_oKgR81BJtqk75b00eAjdv03qVCQn2f','coco128.zip')" # 下载官方例子的数据集cd yolov5 #进入yol原创 2020-07-03 10:48:41 · 73283 阅读 · 186 评论