![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
目标检测
张学渣
ISCAS小硕一枚~ 阿里云CV算法工程师
展开
-
FCOS Pytorch 复现
https://github.com/ChingHo97/FCOS-PyTorch-37.2AP复现不易 学术使用请点星星并注明引用可以联系我问问题噢原创 2020-06-28 20:37:00 · 2558 阅读 · 6 评论 -
matplotlib在目标检测中绘制bbox的统一流程
嗯 感觉这块可能以后写检测算法都会用,就总结一下其中一些的API加深记忆吧。目标检测中,我们一般是这样做的,我们定义的NMS方法一般是针对整个batch的,所以对于test集中每个batch的pred经过NMS后会得到这个batch最终的result了,一般是一个list 每个index对应一个(N,7)维的tensor,其中7就是4个坐标 置信度 最大class分数,最大class index(置信度可有可无,但一般都是这些信息)。然后我们要做的就是遍历batch的每一个img,根据每个img的这个N原创 2020-05-21 21:54:28 · 4535 阅读 · 0 评论 -
目标检测中计算ap的通用策略(以 IoU0.5为例)
原理什么我不过分解读了,下面说的是适合目标检测中的通用ap的evaluate过程。我们知道通用的话,如果不给model喂labels的话,model只会输出对应的预测值,以yolo3为例,我们在三个尺度输出的值叠加后变成[bs,10000+,85]的一个output,那么对于ap的evaluate过程,我认为大家可以理解如下几步:1. 得到每个batch的output后,首先经过NMS处理,得到对应的Positive样本,然后我们需要计算每个batch的Positive是否是True Positiv原创 2020-05-13 19:19:50 · 3208 阅读 · 0 评论 -
COCO API-COCO模块在det中的应用
COCO的 全称是Common Objects in COntext,是微软团队提供的一个可以用来进行图像识别的数据集。MS COCO数据集中的图像分为训练、验证和测试集。COCO通过在Flickr上搜索80个对象类别和各种场景类型来收集图像,其使用了亚马逊的Mechanical Turk(AMT)。我只讨论det中COCO的使用啦,在det中使用的是COCO的 Objce Instance类...原创 2020-04-22 20:32:39 · 3039 阅读 · 0 评论 -
COCO API-深入解析cocoeval在det中的应用
因为最近重新回炉深造Det细节了,就对cocoeval源码进行了阅读,发现这部分csdn上也没有很详细的注解,自己看了很久,就顺带写了一下注解吧,希望给看着烦的朋友一点帮助。首先我们了解下cocoeval .py的构成吧。Params类:对于COCO格式的数据检测,我们主要分为不同的IoU阈值,不同的面积范围,单张图片的最大检测数量。在这些不同的参数下,会得到不同的AP与AR。所以...原创 2020-04-22 20:05:28 · 16329 阅读 · 16 评论 -
【深度学习/目标检测】详解 ROI Align 的基本原理和实现细节
尊重作者,转载网址。ROI Align 是在Mask-RCNN这篇论文里提出的一种区域特征聚集方式, 很好地解决了ROI Pooling操作中两次量化造成的区域不匹配(mis-alignment)的问题。实验显示,在检测测任务中将 ROI Pooling 替换为 ROI Align 可以提升检测模型的准确性。...转载 2019-01-04 09:58:14 · 1793 阅读 · 0 评论 -
yolov3 训练自己的数据(coco数据制作篇)
在GPU版本配置ok之后下面就要看制作自己的数据了。我们的dataset是coco格式的,如果是voc格式的其他教程大多都是voc的吧。记录下coco格式的数据制作。因为yolov3最终要将图片位置信息与图片的label信息保存在txt文件里的,所以现在首先要做的就是解析coco格式的json文件啦。(coco目标检测数据集标注目标信息采用的是数据格式是json,其内容本质是一种字典结构,...原创 2018-12-19 10:59:13 · 22791 阅读 · 26 评论 -
yolov3 训练自己的数据
上篇blog说了数据集制作的问题,然后原创 2018-12-19 11:31:12 · 2274 阅读 · 2 评论 -
mmdetection安装
商汤科技(2018 COCO 目标检测挑战赛冠军)和香港中文大学最近开源了一个基于Pytorch实现的深度学习目标检测工具箱mmdetection,支持Faster-RCNN,Mask-RCNN,Fast-RCNN等主流的目标检测框架,现在又加入Cascade-RCNN、SSD以及其他一系列目标检测框架。目前没有yolo的计划hhh。相比于Facebook开源的Detectron框架,作者声称...原创 2019-01-04 20:56:17 · 13342 阅读 · 24 评论 -
MS COCO数据集目标检测评估
1. Detection Evaluation本页介绍了COCO使用的检测评估指标。此处提供的评估代码可用于在公开可用的COCO验证集上获得结果。它计算下面描述的多个指标。为了在COCO测试集上获得结果,其中隐藏了实际真值注释,必须将生成的结果上传到评估服务器。下面描述的评估代码用于评估测试集的结果。2. Metrics(指标) Precision 准确率。表示正确识别物体A的...转载 2019-01-02 21:28:27 · 1668 阅读 · 0 评论 -
mmdetection训练自己的数据
上篇文章提到了mmdetection的配置并且测试好啦。下面关于如何train我们自己的数据。主要讲一下一些改动原配置文件的问题,毕竟mmdetection开源的时间不长,还是在不断更新的。官方建议自己的数据在mmdetection目录下创建data目录,以coco数据格式为例吧。mmdetection├── mmdet├── tools├── configs├── data...原创 2019-01-09 14:22:37 · 21502 阅读 · 38 评论 -
Focal loss
一 总述Focal loss主要是为了解决单阶段正负样本比例严重不均衡的问题,何凯明大神认为单阶段检测与双阶段检测精度差别的本质原因是由于前景、背景样本分布均匀造成的,想想双阶段检测如faster rcnn系列,有RPN罩着啊!先经过一轮粗分类,去掉了目标置信度比较低的候选框,然后再经过OHEM等方法在正负样本分布相对不那么大的情况下进行细分类,而单阶段一次就能产生100k+的候选框,这么多的...原创 2019-03-01 15:15:17 · 377 阅读 · 0 评论 -
基于区域分解集成的目标检测
本文解读的是一篇发表于 AAAI 2019 的 paper,文章提出了一种 R-DAD 的方法来对 RCNN 系列的目标检测方法进行改进。研究动机目前主流的目标检测算法分为 1 stage 和 2 stage 的,而 2 stage 的目标检测方法以 Faster-RCNN 为代表是需要 RPN(Region Proposals Network)生成 RoI(Region of Int...转载 2019-03-11 09:31:57 · 598 阅读 · 1 评论 -
yolov2/v3 k-means计算anchor源码
YOLOv2开始增加了anchor机制,在v3中增加到9个anchor。例如yolov3-voc.cfg中这组anchor,anchors = 10,13, 16,30, 33,23, 30,61, 62,45, 59,119, 116,90, 156,198, 373,326,这些anchor size 是由 Redmon大神在VOC的20类跟COCO的80类中聚类的结果,适用较...原创 2019-03-11 17:26:18 · 1837 阅读 · 3 评论 -
yolov3 darknet GPU配置及测试demo
最近要用yolov3跑数据,记录下整个过程和踩的坑吧。。。 配置过程是按照官网上一步步来的环境是乌班图+cuda9 +cudnn 5.1 驱动啥的都配好了,我就直接傻子上路啦。一 下载工程 通过git克隆 git clone https://github.com/pjreddie/darknet.git然后cd darknet之后,由于我要用GPU版本,就先vim Mak...原创 2018-12-19 09:54:46 · 9138 阅读 · 2 评论 -
【目标检测】cascade R-CNN论文的理解
Cascade R-CNN: Delving into High Quality Object Detection1.思想简介2.相关工作及一些证明Iterative BBox及对比Iterative Loss3.Cascade R-CNN的实现与结果4.总结Cascade R-CNN: Delving into High Quality Obj...原创 2019-01-03 20:52:51 · 399 阅读 · 0 评论 -
【目标检测】对Fast-RCNN论文的一些理解
1.Fast-RCNN核心RCNN的提出使得神经网络重新回归目标检测之中,作为神经网络用来目标检测的开山之作,RCNN也存在着许多缺点:1.训练时速度慢,RCNN通过selective search方法产生2000+个候选框,对每一个候选框都要进行前向反向运算,存在着大量的重复计算,效率低下。2.测试时速度慢,原因同上。3.需要大量的存储空间,因为特征提取与分类和框回归独立,所以R...原创 2018-12-08 17:41:54 · 323 阅读 · 0 评论 -
【目标检测】对R-FCN论文的理解
R-FCN 基于区域的全卷积网络。认为是对faster-RCNN的一种改进,速度提高了差不多三倍(主要是由于全程共享卷积),mAP也有了一定的提升。目录一 R-FCN概述 1 R-FCN贡献 2 R-FCN与传统二阶段网络的差异3 分类网络的位置不敏感性和检测网络的位置敏感性4 R-FCN的设计动机二 R-FCN架构分析1.算法步骤2.Position-S...原创 2018-12-12 21:56:41 · 341 阅读 · 0 评论 -
【目标检测】对SSD论文的一些理解
SSD,单阶段检测器,在提高了速度的同时又保证了检测的精度,相较两阶段检测器(rcnn系列),SSD完全取消了区域生成,ROI重采样等步骤,便于训练与优化。SSD 将输出一系列 离散化(discretization) 的 bounding boxes,这些 bounding boxes 是在 不同层次(layers) 上的 feature maps 上生成的,并且有着不同的 aspect ra...原创 2018-12-13 16:52:13 · 879 阅读 · 1 评论 -
【目标检测】OHEM算法
OHEM online hard example mining 这是CVPR2016的一篇paper,相较于 负难例挖掘,其主要是不需要人为设定正负样本的比例。算法的核心思想是对样本进行训练,选择其中loss较高的N个样本作为难例,表示对分类和检测影响较大的样本,然后将筛选得到的这些样本采用反向传播进行loss下降。实际操作中是将原来的一个ROI NetWork扩充为两个ROI NetWork,这...原创 2018-12-14 10:18:19 · 1803 阅读 · 0 评论 -
【目标检测】对RCNN论文的一些理解
RCNN可谓是深度学习应用目标检测的开山之作,RCNN提出之前,目标检测往往用传统的HOG、SIFT等方法提取特征,RBG大神认为CNN既然在图片分类产生了巨大作用,为何不能用来提特征呢?于是RCNN就诞生了。 在设计神经网络应用目标检测的时候,首先我们可能考虑将其作为一个regression问题,也就是通过滑动窗口在一张图片上不断滑动,网络学习出窗窗是不是有物体,并且不断修正objec...原创 2018-12-09 12:57:23 · 199 阅读 · 0 评论 -
【目标检测】对Faster-RCNN论文的一些理解
1.faster-RCNN的核心思想faster-RCNN作为rcnn系列目标检测算法的最终版,在结构上,Faster RCNN已经将特征抽取(feature extraction),proposal提取,bounding box regression,classification都整合在了一个网络中,使得综合性能有较大提高,在检测速度方面尤为明显,真正实现了end to end的训练,使得模...原创 2018-12-08 16:29:36 · 230 阅读 · 0 评论 -
【目标检测】对SPPNet论文的一些理解
SPPNet不得不说,对后续的Fast-RCNN,Faster-RCNN都起到了举足轻重的作用。SPPNet主要解决的是固定输入层尺寸的这个限制,也从各个方面说明了不限制输入尺寸带来的好处。文章在一开始的时候就说明了目前深度网络存在的弊端:如果固定网络输入size的话,要么选择crop策略,要么选择warp策略。crop策略就是从一个大图中裁剪出固定尺寸的大小来,这样做有可能crop出object...原创 2018-12-09 14:08:42 · 227 阅读 · 0 评论 -
yolov3 测试自己的数据
train完数据之后下面把测试的过程记录下吧,train结束后会在backup文件夹中有对应最终的yolov3_final.weights(如果你没改源码的情况下)。darknet提供了用于评估模型的三个命令,即./darknet detector test cfg/coco.data cfg/yolov3.cfg backup/yolov3_final.weights data/do...原创 2018-12-21 14:59:16 · 3260 阅读 · 1 评论 -
yolov3-tiny的训练
yolov3-tiny 其实训练过程与之前的yolov3是一样了 主要当时找weight跟预训练的卷积层weight找了好久在这里把链接贴上:先是获得训练好的yolov3-tiny的权重用来test:wget https://pjreddie.com/media/files/yolov3_tiny.weights然后获得卷积层的权重用来训练自己的数据:...原创 2018-12-23 14:38:55 · 24198 阅读 · 6 评论 -
TX2刷机完美踩所有坑篇【附如何安装cudnn】
历时2天 几乎踩遍各种坑最近项目要部署在TX2上,在TX2上配好YOLOv3 GPU的版本,本来刚接手的就是刷过机的板板,but 没有装cudnn 于是乎呢就按照这篇blog:https://blog.csdn.net/dhaduce/article/details/80155121(TX2上安装cudnn)的过程,结果根本跑不起来。装好cudnn后在darknet make的时候总会报错:...原创 2018-12-23 15:55:24 · 4699 阅读 · 3 评论 -
JetsonTX2 部署YOLOv3
上篇blog中已经装好了cudnn,cuda和opencv。下面就很简单啦。克隆darknetgit clone https://github.com/pjreddie/darknet其他步骤跟我前面一篇blog一样,这里主要不同的是makefile里面有个需要改,主要添加修改ARCH,如下图原博客写着:Note that CUDA architecture of TX2 i...原创 2018-12-23 16:00:12 · 6481 阅读 · 1 评论 -
【目标检测】对FPN(特征金字塔网络)论文的理解
这篇paper我认为算是对用卷积神经网络进行目标检测的一种改进,通过提取多尺度的特征信息进行融合,进而提高目标检测的精度,特别是在小物体检测上的精度。 文章的思想比较简单,主要是利用特征金字塔对不同层次的特征进行尺度变换之后,再进行信息融合,从而可以提取到比较低层的信息,也就是相对顶层特征来说更加详细的信息。顶层特征在不断卷积的过程中可能忽略了小物体的一些信息,特征金字塔通过不同层次的特...原创 2018-12-12 10:45:11 · 3700 阅读 · 0 评论 -
理解IOU、precision、recall、AP、mAP的含义
一 理解IOUIOU是由预测的包围盒与地面真相包围盒之间的重叠区域(交集),除以它们之间的联合区域(并集),其中P代表预测框,gt代表真值框: 二理解precision(查准率)、recall(查全率)首先precision、recall是针对所有图片内的某一类来说的。接下来举个例子。 例如,使...转载 2018-12-24 15:48:34 · 1111 阅读 · 0 评论 -
【目标检测】对YOLOv1 论文的一些理解
YOLOv1 是这周看的跟目标检测相关的第5篇paper,在了解了rcnn系列paper的work原理之后,YOLO还是有很大不同的,rcnn系列的论文要么通过ss方法要么通过RPN 产生bounding box,对每个产生的bounding box进行分类检测,而YOLO则从全局的角度出发,将ob任务当作一个regression任务,一次输入图片直接产生图片中bounding box的 c...原创 2018-12-08 11:58:15 · 966 阅读 · 0 评论