目标检测
文章平均质量分 66
记录目标检测方向的点滴学习
仙女修炼史
从入门到了解、到熟悉、到深入、到掌握,一步一个脚步,踏踏实实,不断进阶!
展开
-
EfficientDet解读(二):BifPN大解析
原创 2022-01-22 17:47:27 · 4729 阅读 · 0 评论 -
EfficientDet解读(一):backbone之efficientnet大解析
原创 2022-01-21 16:31:37 · 482 阅读 · 3 评论 -
在mmdetection框架下修改数据增广方法
如何在mmdetection框架下训练自己的voc数据集,可以看我的上一篇博客在mmdetection上用自己的数据集训练了一个初级版本,发现结果不是很理想,分析了一下自己的数据集,需要调整数据增广方式,下面是在mmdetection上修改增广的方式:1、需要了解配置文件进入代码之后怎么被解析的在train.py的90行,代码如下;cfg = Config.fromfile(args.config)cfg中一个需要关注的结构是**_cfg_dict**, 其结构如下:我们需要关注的是其中的t原创 2022-01-20 20:45:04 · 1510 阅读 · 0 评论 -
yolov4解读(二):从代码中解读数据加载
代码来自:链接1、在pytorch 中继承自己数据集的常用框架class Yolo_dataset(Dataset): def __init__(self, label_path, cfg, train=True): def __getitem__(self, index): def __len__(self):train_dataset = Yolo_dataset(config.train_label, config, train=True)val_dataset = Yol原创 2022-01-20 20:25:44 · 3252 阅读 · 0 评论 -
目标检测比赛各种tricks(从技术角度出发)
一、Pseudo Labeling这个链接解释Pseudo Labeling解释的很清楚,可以看一看什么是Pseudo Labeling:Pseudo Labeling就是将测试集中,测试结果中分数很高的测试图片,加入到训练集中,再训练。Pseudo Labeling的5个步骤:1、使用原始训练集,训练一个模型,这里最好是比较好的模型;2、使用该模型去测试你的测试集,这里一般是没有标签的测试集;3、把测试集中置信度很高的图片,加入到原始的训练集中;4、使用混合后的数据集再训练一个新的模型。原创 2022-01-19 10:14:57 · 2119 阅读 · 0 评论 -
yolov4解析(一):网络结构以及与yolov3的区别
SPP模块spp模块由三个并排的maxpooling操作组成,输入是512x13x13,第一个maxpooling,kernel_size=5, stride=1, padding=5 // 2原创 2022-01-18 15:38:28 · 3889 阅读 · 0 评论 -
Libra R-CNN论文阅读
一、论文提出的问题Sample level imbalance(采样不均衡):训练过程中,难例对于检测性能的提高至关重要,但是训练中的随机采样,使得难例淹没在简单的、已学习过的样本中。OHEM(难例挖掘)用来从所有的样本中,将难例挖掘出来,但是这种对噪声比较敏感,另外费时。Focal loss是用来缓解一阶检测器中的样本不平衡,但是这种方法对于R-CNN这类的二阶检测器,效果不佳,因为大量的容易的样本都是在第二阶段过滤的。Feature level imbalance(特征层的不平衡):高层特征包含更原创 2022-01-15 14:35:42 · 11966 阅读 · 1 评论 -
mmdetection中数据增强的可视化
一、PhotoMetricDistortion函数介绍:class PhotoMetricDistortion: """Apply photometric distortion to image sequentially, every transformation is applied with a probability of 0.5. The position of random contrast is in second or second to last. 1.原创 2022-01-13 14:51:01 · 8216 阅读 · 7 评论 -
终于知道anchor框为啥这样设计了
一、faster_rcnn中,第一阶段的rpn中的overlaps有很多重复数据可视化overlaps数据的时候,发现里面有很多重复数据,让我百思不得其解,想不明白,gt中的坐标不相同,虽然anchors框的大小不相同,但是anchors坐标不相同,也就是与gt的iou是不相同的,overlaps里面为啥这么多重复数据呢?二、重复数据来自完全包含框当gt框比较大,anchors框比较小,完全在gt框之内时,且 overlap 是两个框的交集除以两个框的并集,这种情况下,并集是gt框面积,交集是an原创 2022-01-09 17:12:30 · 731 阅读 · 0 评论 -
解读mmdetection中faster_rcnn中生成与使用anchor的代码
一、anchor部分参数的配置上面是faster_rcnn中关于rpn anchor的参数配置,strides = [4, 8, 16, 32, 64] 是5个feature map 由输入尺寸, 下采样的倍数, ratios是同一个位置,长宽比的三种变换, 目前scales这个参数不是很明白。二、生成基础anchors在这个部分,anchors的大小已经决定了,这里anchors的大小是指在输入原图上的stridescalesanchor大小 基于输入原图的048原创 2022-01-07 17:06:11 · 1688 阅读 · 0 评论 -
RFCN的理解
在ResNets 、GoogleNets等分类网络是有卷积结构和fc全连接结构组成,我们知道,分类任务具有平移不变性,目标在图片的哪位位置,都不影响它的类别标签。在目标检测,例如fast-rcnn 和 faster-rcnn中,主干网络backbone采用的都是分类网络,例如ResNets等,因此是在最后一层空域的卷积层上做roi pooling,很自然的,roi pooling将整个检测网络分成了两个部分,第一个部分是权重共享、独立于roi的全卷积网络,第二个是由roi 特征组成的网络。...原创 2021-10-23 09:08:47 · 1061 阅读 · 1 评论 -
fast_rcnn中的RoI pooling layer的理解
在rcnn中,是在原图上将region proposals 提取,然后再依次送进CNN中做卷积,但是由于proposals之间像素是重叠的,因此就多了很多卷积运算,因此,在fast_rcnn,先将原图送到CNN中进行卷积,得到一个feature map图,然后将原图上的region proposals映射到feature map,但是映射之后的region proposals大小尺寸不一样,我们在feature map上提取之后,得到的向量长度不一样,没有办法做后续的卷积或是全连接,因此需要ROI pool原创 2021-10-19 09:58:41 · 373 阅读 · 0 评论 -
rcnn的Object proposal transformations的理解
rcnn中使用selective search选择了2000+的region propoals,然后将这些region propoasls transform 成227x227的大小过之后,送入CNN中。有三种transformations方式,上图中,A 是原图;B(tightest square with context)是将原图A放入到最紧密的并且能够包含原图A的正方形中,然后使用上下文信息进行填充,然后将其resize为227x227,这种填充过之后的图像,虽然不是227x227,但是是正原创 2021-10-19 08:41:02 · 160 阅读 · 0 评论 -
目标检测中anchor那些事(一)
一、anchor是什么anchor简单来说就是,按照一定的方式,在图片的各个位置上,生成长宽不一的box框,用来定位gt(ground truth)box,这种预设框就是anchor 框。示意图如下:anchor框的生成一般是以feature map上的坐标点为锚点,滑窗式的生成,例如ssd中,产生ancor框的feature map有conv4_3、fc7、conv6_2、conv7_2、...原创 2020-03-20 18:26:21 · 3223 阅读 · 5 评论 -
以RefineDet为例探索anchor的匹配机制
一、RefineDet网络 本博文重点在于anchor机制的匹配,以及two-stage的优势分析上,因此对于RefineDet网络只做简单的介绍,因此对该网络不熟悉的宝宝可以自行去了解。 RefineDet的主要思想:一方面引入two stage类型的object detection算法中对box的由粗到细的回归思想(由粗到细回归其实就是先通过RPN网络得到粗粒度的box信息,然后再通过常规的回归支路进行进一步回归从而得到更加精确的框信息,这也是two stage类型的object detecti原创 2020-08-29 10:20:17 · 569 阅读 · 0 评论 -
darknet中反向传播原理(l.delta究竟在计算什么)
看darkent的网络框架的小伙伴们,有没有发现其与caffe,pytorch的不同,有没有发现里面没有计算loss的代码,嗯嗯嗯????,forward函数一直在计算l.delta,backward函数也是和l.delta有关系的,看l.delta的计算方式,怎么看都不像是loss的公式,那么,l.delta究竟是什么,搞明白这个问题需要了解反向传播的原理,由于pytorch已经将反向传播完全自动化,即使你将反向传播当作一个黑匣子来看,也不影响你在工作中对网络的训练和测试,可是只知其然不知其所以然的感原创 2020-08-14 18:09:18 · 1032 阅读 · 3 评论 -
论文阅读四:结合mmdetection代码理解FCOS目标检测算法
FCOS: Fully Convolutional One-Stage Object Detection,全卷积一阶目标检测,但是与经典的one_stage检测器,例如ssd,yolo不一样的是,FCOS摆脱了anchor框的限制,即anchor_free,本博文以mmdetection中的fcos代码为走向,来介绍这个检测器。一、网络整体框架二、feature map原图映射点,get_points函数P3、P4、P5、P6、P7这5个级别的特征图按照的映射关系,将特征图上的坐标(x,y)映射到原创 2020-05-13 10:41:01 · 2244 阅读 · 0 评论 -
论文阅读三:GHM《Gradient Harmonized Single-stage Detector》
论文链接:1811.05181论文来自香港中文大学一、论文出发点 我们都知道,one-stage检测器一个极大的问题就是easy样本和hard样本之间的不平衡,致使少量的hard的样本淹没在大量的easy的样本中,使网络的学习偏向与easy样本,而忽略hard的样本。2016年的OHEM将所有的负样本根据loss的值进行排序,只取topk的负样本,将正负样本比例控制在1:3,但是这种方法...原创 2020-04-02 16:13:41 · 262 阅读 · 0 评论 -
论文阅读九:yolov4的各种数据增广技术random erasing、cutout、mixup、cutmix、mosaic等
yolov4的发布,让很多做工程的都很兴奋,但其实静下来仔细研究,发现yolov4其实是一个成功的调参例子,作者用到了大量前人的技术,加以组合,实现了速度和精度的完美平衡,读yolov4的论文会发现,作者深厚的论文基础,以及对论文中技术的使用,都值得我们学习。工程项目中,算法搭建完之后,复杂的应用环境中,总是遇到各种各样的问题,使得算法精度上不去,算法停留到瓶颈出,只有尝试各种解决问题的方法,才能在一次次实验中突破算法瓶颈,而这些解决问题的方法就来自平时论文的积累,因此,接下里将以yolov4的论文为原创 2020-08-05 18:20:48 · 1798 阅读 · 0 评论 -
论文阅读五:PANet《Path Aggregation Network for Instance Segmentation》
一、论文出发点 1、神经网络中,低层特征主要是一些边缘轮廓信息,有助于定位,而高层特征是一些语义信息,有助于分类,在FPN中提出了top-to-down的多层特征融合的线路,来增加每层特征的丰富性,但是,整个网络,例如Mask R-CNN中,低层特征流向高层特征的路线过长,导致高层特征中包含的定位信息比较少。 2、Mask R-CNN中,大size的proposal被分配到高层特征,小size的proposal被分配到低层特征,导致单个proposal只在一个特征层上进行预测,预测该propo原创 2020-05-17 15:29:36 · 939 阅读 · 3 评论 -
论文阅读十:结合yolo_layer.c的代码理解yolov3论文
以下解析的代码来自:https://pjreddie.com/darknet/在对yolo_layer.c解析前,你需要知道的是:1、yolov3的网络结构yolov3的基础网络为darkent53,如下图:原创 2020-08-11 20:13:37 · 640 阅读 · 1 评论 -
论文阅读一《Region Proposal by Guided Anchoring》
一、anchor机制 anchor是目标检测中非常重要的一种预设框机制,在卷积层出来的feature map上,使用一组预定义的比例尺和纵横比在空间域上均匀采样锚点,一般情况下,一个锚点就是该feature map上的一个像素点,在该锚点上,可以得到以该锚点为中心的,长宽比不同,的k个anchor(box),作为预设框,目标...原创 2020-01-15 16:13:18 · 260 阅读 · 0 评论 -
论文阅读二:Giou loss
论文链接 arxiv.org/abs/1902.09630论文来自美国斯坦福大学和澳大利亚阿德莱德大学一、论文提出的问题 论文中,作者指出,使用的l1l_1l1或l2l_2l2norm,以及IoU作为位置回归的损失时的问题,并且提出了GIoU作为优化方案。 上图中(从论文中得到),绿框是ground truth框,黑框是网络 predicted出来的框,位置回归损失的作用是,衡...原创 2020-03-25 16:49:11 · 1651 阅读 · 2 评论 -
论文阅读六:MTCNN人脸检测器的理解
PNet原创 2020-05-31 10:43:52 · 272 阅读 · 0 评论 -
rcnn中的可视化的理解
rcnn中的可视化怎么理解下图是rcnn论文中的可视化图,第一次看的时候就不是很明白,这次要把它彻底搞明白论文中是这样说的:That is, we compute the unit’s activations on a large set of held-out region proposals (about 10 million), sort the proposals from highest to lowest activation, perform non-maximum suppressi原创 2021-10-18 11:40:04 · 249 阅读 · 0 评论 -
rcnn 中的fine-tuning的理解
RCNN网络是第一个将ILSVRC 2012上训练的用于分类的CNN 在其他数据上fine-tuning,用来object detection的,它在论文中探索了一个问题,即在ImageNet上训练的CNN分类器在多大程度上可以推广到目标检测中。为了理解网络中的哪一层对目标检测的性能非常重要,我们分析了CNN的最后三层的结果,即pool5层、fc6层、fc7层:pool5:已经进行了可视化,pool5的输出是6x6x256;fc6:是全连接层,将pool5 reshape为9216x1,然后乘以一个4原创 2021-10-18 17:29:14 · 541 阅读 · 0 评论