自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 目标检测论文阅读笔记:《ThunderNet: Towards Real-time Generic Object Detection on Mobile Devices》

1 概述本文基于ShuffleNetV2提出了一个轻量目标检测网络,称为ThunderNet,主要有两个创新点:①CEM(Context Enhancement Module),与FPN类似,用于融合浅层特征和深层特征;②SAM(Spatial Attention Module),用于增强目标特征轻量化体现在两方面:①将ShuffleNetV2中3x3卷积更换为5x5卷积,在增大感受野使特征包含更多空间信息的同时降低参数量;②移除conv5的同时在之前的stage中增加channel数,这在不增加参数

2020-06-17 21:08:49 395

原创 mmdetection v1.2源码阅读笔记二:网络前向传播过程,以Faster RCNN+FPN为例

1. 概述这篇文章主要探讨mmdetection前向传播计算误差的过程,以Faster RCNN+FPN为例2. 源码讲解2.1 从tools/train.py说起,该函数中使用下述语句创建模型。Pytorch前向传播过程中会调用模型中的forward函数,我们主要看看调用forward函数的流程model = build_detector( cfg.model, train_cfg=cfg.train_cfg, test_cfg=cfg.test_cfg)2.2 Faster

2020-05-27 20:57:36 840 2

原创 mmdetection v1.2源码阅读笔记一:网络各组件注册详解

1. 概述mmdetection是由商汤开元的目标检测算法集成框架,特点是检测算法多、可扩展性强,可以说是目标检测领域绕不开的源码。阅读mmdetection源码有助于理解各个目标检测算法具体实现及如何集成。本篇博客的主要内容是mmdetection如何完成一个网络模型的构建。2. 源码讲解train.py完成网络训练,包含两个函数,parse_args()和main(),前者从命令行中读取参数,后者一次完成四个工作,①从config文件及命令行参数中读取各种配置参数;②构建网络模型;③构建数

2020-05-11 17:33:14 999 1

原创 目标检测论文阅读笔记:《Bottom-up Object Detection by Grouping Extreme and Center Points》

1. 概述本篇论文提出一个称之为ExtremeNet的目标检测网络。不同于RCNN系列等在proposal基础上进行边框回归得到检测结果的过程,该网路预测目标的极点坐标(最上、最下、最左、最右)和中心坐标,通过对极点坐标和中心坐标的后处理得到最终的检测结果,比较新颖。这篇论文基于HourglassNet(人体关键点检测网络),输出各个目标的极点坐标,又可将极点坐标作为Deep Extreme Cut(DEXTR,基于极点坐标的实力分割网络)的输入,实现实例分割。2. 网络框架及实现细节2.1 网

2020-05-09 22:46:10 363

原创 目标检测论文总结:《Feature Selective Anchor-Free Module for Single-Shot Object Detection》

1. 概述RetinaNet等使用FPN结构的单阶段检测器依据输入图片中目标的大小确定目标的特征来源于FPN特征的哪一层,再通过该层上目标与anchor box的IoU为anchor box分类,从而完成目标检测模型的训练及推理。本篇论文认为:仅通过instance的大小确定instance的特征来源是不合适的,所选择出的特征不一定最优。应当让网络自身决定选择哪一level上的特征。另一方面...

2020-05-04 20:52:09 262

原创 目标检测论文《Automatic adaptation of object detectors to new domains using self-training》

一、全文概述这篇文章对目标检测的领域自适应问题进行研究。在一个数据集(源域)下训练的检测模型如何用另一个没有标记的数据集(目标域)进行训练,以在这个数据集上得到较好的检测效果,这是这篇文章想要解决的问题。文章的核心思路是使用源域数据训练好的模型推理目标域上的数据,选取置信度较高的推理结果加入训练集合,再训练模型,使模型逐渐学到目标域的数据分布。需要解决的难题是如何滤除推理结果中的噪声,为此,...

2020-02-27 15:04:56 831

转载 目标检测(Object detection)—— R-DAD

点击这里查看论文解读附注:提取部分特征时获取可以采用自适应的方法。作者将与ground truth IoU在0.1和0.5之间的proposal标注为负类样本。为什么不采用将IoU小于0.3的proposals标注为负类样本的方法?...

2020-02-06 15:57:08 508

原创 目标检测(Object detection)—— SNIPER

一、概述SNIPER是用于提升多尺度训练(multi-scale training)速度的通用处理方法,主要探讨不使用图像金字塔时如何保持甚至提升网络的检测性能。目标检测领域将图像金字塔作为多尺度训练的手段之一是基于这样一个共识:对原图进行上采样后得到的大图对网络的检测性能至关重要。SNIPER对此观点提出了挑战,提出使用小分辨率图像训练网络可以在保持网络检测性能的同时提高检测速度的观点。小...

2020-02-03 11:41:54 1022

原创 目标检测(Object Detection)—— Cascade RCNN

一、概述cascade中文释义为级联,顾名思义,Cascade RCNN网络结构就是级联的检测器。Cascade RCNN是针对RCNN系列检测器提出的通用结构,可将faster RCNN、FPN、R-FCN等RCNN检测器检测性能提高2-4%,效果可谓十分强大。Cascade RCNN如何进行检测器级联?其依据又是什么?请往下看。二、MotivationRCNN系列检测器(目标检...

2020-01-06 22:14:16 1820

原创 目标检测(Object Detection)—— M2Det

1. 概述目标检测领域中,目标的多尺度是指:对待检测的目标,其bounding box的长宽比、大小具有很大的跨度。如何实现对不同目标的多尺度检测是目标检测领域面临的难题之一,也是制约目标检测精度提升的瓶颈。目前常用的提高网络多尺度检测性能的方式有以下几种:①训练阶段使用不同分辨率的图像训练网络;②测试阶段使用不同分辨率的图像测试,再融合;③网络结构的改进,以FPN结构为典型,目前FPN是采...

2019-12-17 21:07:30 692

原创 Pytorch系列:hook()函数

1.为什么要使用hook()函数Pytorch在进行完一次反向传播后,出于节省内存的考虑,只会存储叶子节点的梯度信息,并不会存储中间变量的梯度信息。然而有些时候我们又不得不使用中间变量的梯度信息完成某些工作,这时候hook()函数就可以派上用场啦hook()函数翻译成中文叫做钩子函数,这非常形象:我们的主任务是反向传播更新梯度,而钩子函数就是挂在主任务上的辅任务主要有四种钩子函数:①tor...

2019-12-15 22:55:44 1767

原创 Pytorch系列:backward()函数介绍

点击这里了解反向传播算法1. torch.Tensor.backward()backward(gradient=None, retain_graph=None, create_graph=False)①函数的作用获取计算图中某个tensor的叶子节点的梯度计算图:一个函数构成了一个计算图,计算图的根节点是函数的输出,叶子节点是函数的输入叶子节点:图结构中没有子节点的节点...

2019-12-05 20:36:25 2555 1

原创 基于MobaXterm远程使用visdom绘图工具

工具MobaXterm步骤远程服务器打开visdom打开MobaXterm,在tools中找到MobaSSHTunnel点击MobaSSHTunnel,开始配置如上图所示,1中填写的是本地端口,随便填写;2中填写的是远程服务器上的ip地址、服务器名称、ssh端口号(这里必须填22);3中填写内容与上图保持一致。保存开启端口转发在本地浏览器中输入ht...

2019-11-28 15:39:34 849 1

原创 Batch gradient descent, Stochastic gradient descent, mini-batch gradient descent的区别

Batch gradient descent(批标准化),顾名思义,每次进行参数更新时,将所有样本得到的误差求均值,再进行梯度更新(反向传播)Stochastic gradient descent(随机梯度下降),每个训练数据都计算误差和梯度更新mini-batch gradient descent,每m个训练数据计算一次误差的平均值,然后进行梯度更新上述定义摘自吴恩达的机器学习课程,但在...

2019-11-24 22:42:33 195

原创 目标检测(Object Detection)—— RefineDet

一、概述RefineDet自称是结合了两阶段方法和一阶段方法优点的一阶段方法。但是在我看来,RefineDet更像是一个两阶段的方法。RefineDet基于SSD,主要由两个模块构成:①ARM(anchor refine module),用于滤除置信度非常高的负类样本 ②ODM(object detection module),使用ARM模块得到的anchor完成目标的检测。RefineD...

2019-11-21 22:37:51 361

原创 目标检测(Object detection)—— Mask RCNN

基于tensorflow实现的Mask RCNN源码对上面源码的解读1 概述Mask RCNN实际上是个实例分割算法(instance segmentation),这里对它进行介绍的原因是Mask RCNN与faster RCNN算法密不可分,只是在faster RCNN的分类支路、边框回归支路之外,增加了一个实例分割支路。改动虽然简单,但是Mask RCNN实例分割的效果非常出众,令人...

2019-11-05 21:11:24 1302 6

原创 交叉熵的理解

知乎用户的回答

2019-11-03 16:10:34 144

原创 目标检测(Object detection)—— Yolo V3

这篇文章对YOLO V3的介绍已经非常到位了,这里再稍微补充一下考虑到要分类的各个类别并不是完全独立的(例如woman和person),YOLO V3并未采用softmax完成最后的分类,而是训练N个logistic分类器,分别完成每个类别的分类。具体讲,对每个得到的bbox,我们自然可以依据其于groundtruth的IoU判定bbox的标签,同时,网络最终得到一个长度为80(coco的类别...

2019-10-22 20:58:09 267

原创 目标检测(Object Detection)—— RetinaNet介绍

1 概述主流目标检测框架可分成两类:①one-stage方法,以YOLO、SSD为代表;②two-stages方法,以RCNN系列为代表。前者检测速度快,但检测精度较低;后者检测速度慢,但是精度较高。为什么one-stage方法不如two-stages方法? 这是RetinaNet的作者提出的问题。作者对此做出的回答是:one-stage方法生成的proposals中正负样本极不均衡造成了o...

2019-10-14 17:10:20 1171

原创 目标检测(Object detection)—— FPN总结

1 概述到目前为止。我们介绍过的各种目标检测模型中使用的增强网络多尺度检测性能的方式有两种:①第一种是将输入图像变换出不同的分辨率,使网络获得多尺度检测能力;②第二种是从不同层次的feature maps上预测目标的bounding boxes,从而达到多尺度检测的目标,这种方法以SSD为代表。对输入图像变换分辨率是使网络获得多尺度检测性能的有效方法,但其缺点也同样明显:要花费大量的时间训练...

2019-10-10 21:46:16 1209

原创 Leetcode第40题:Combination Sum II

题目描述代码class Solution {public: vector<vector<int>> combinationSum2(vector<int>& candidates, int target) { vector<vector<int>> ans; vector<in...

2019-10-09 23:42:38 79

原创 算法导论第四章练习题4.1-1

题目描述在你的计算机上实现最大子数组问题的暴力算法和递归算法。请指出多大的问题规模n0是性能交叉点——从此之后递归算法将击败暴力算法?代码#include <iostream>#include <vector>#include <cstdlib>#include <ctime>#include <assert.h>u...

2019-10-08 22:02:06 409

原创 目标检测(Object detection)—— YOLO v2总结

YOLO v2基于YOLO,点击这里了解YOLO1 概述相比Faster RCNN,YOLO检测精度虽然没那么高,但是胜在速度快和可端到端进行训练。然而,SSD的出现让YOLO非常尴尬,相比YOLO,SSD不仅速度快、可端到端进行训练,准确率还更高因此YOLO的作者对YOLO做出了改进,一年以后提出了YOLO v2。YOLO v2相比YOLO,最大的变化是摒弃了YOLO直接回归得到bo...

2019-10-02 20:49:18 784

原创 目标检测(Object Detection)—— R-FCN总结

为了更好的理解R-FCN网络,请先点击这里了解Faster RCNN网络1 概述在图像分类任务中,通过很多个卷积层和最后的全连接层,可以提取图像的高层语义特征。这种高层语义特征具有平移不变性(translation invariance),换言之,这样的网络提取到的该个图像的特征往往代表了该类图像的特征。但是将图像分类网络应用在目标检测问题上,就会出现问题。主要有两点:①多个卷积层提取特征...

2019-09-29 21:01:40 244

原创 目标检测(Object Detection)—— SSD总结

写在最前:要理解SSD,请先了解Faster RCNN中“anchor boxes”的概念及YOLO原理点击这里了解Faster RCNN点击这里了解YOLO1 概述之前介绍了YOLO网络,该网络检测速度快的同时检测准确率也不低,可以说是目标检测领域的一个飞跃。那么检测速度能不能更快、同时检测准确率更高?SSD诞生了(59 FPS on Titan X GPU, 74.3 mAP)。...

2019-09-22 18:37:25 2037 1

原创 目标检测(object detection)—— YOLO总结

点击这里了解RCNN点击这里了解Fast RCNN点击这里了解Faster RCNN1 概述RCNN系列算法一脉相承,虽说其终极版本Faster RCNN已经可以实现当时最快的检测速度和最高的准确率,但是其算法实现过程依旧不够优美,原因在于,其检测过程是多阶段的(multi-stage,即并不是一次完成)...

2019-09-19 20:30:19 1443 1

原创 《算法导论》第2章:分治法排序C++实现

#include <iostream>#include <vector>using namespace std;void MergeSort(vector<int> &vec, int p, int r);void Merge(vector<int> &vec, int p, int q, int r);int mai...

2019-09-17 21:47:30 177

原创 gcc安装

https://www.linuxidc.com/Linux/2019-06/159059.html

2019-09-08 21:30:12 103

原创 目标检测(object detection)—— faster RCNN总结

点击这里,了解RCNN点击这里,了解fast RCNN一、概述faster RCNN与fast RCNN是一脉相承的。fast RCNN解决了RCNN计算量大、效率低的问题(RCNN需要将通过selective search算法生成的proposal挨个送入卷积神经网络提取特征)。但是fast RCNN也存在一个问题:在检测阶段,fast RCNN仍需要使用selective search...

2019-09-07 09:51:29 581 1

原创 目标检测(object detection)—— fast RCNN总结

1.概述fast RCNN基于RCNN,对RCNN存在的问题进行了改进,同时借鉴了SPPnet的思想。2.RCNN存在的问题RCNN的训练过程是multi-stage。先预训练,再finetune,还要训练用于完成特征向量分类的若干个SVM,也要单独训练边框回归训练时时间开销和空间开销都很大目标检测过程很慢(每张图片需要47秒)3.SPPnetRCNN训练效率低的原因是...

2019-08-29 16:41:50 552 1

原创 Python入门:列表和元组

1.1 序列概览Python包含6中内建序列,分别为列表、元组、字符串、Unicode字符串、buffer对象、xrange对象1.2 通用序列操作1.2.1 索引序列中的所有元素都是有编号的,从0开始递增。这些元素可以通过编号分别访问>>> greeting = 'Hello'>>> greeting[0]'H'使用负数索引时,Py...

2019-08-24 20:42:59 483

原创 《C++ Primer》(5th)习题解答——9.4(iterator相关操作)

题目描述代码#include <iostream>#include <vector>using namespace std;bool value_Exist(vector<int>::const_iterator begin, vector<int>::const_iterator end, int i);int main(){...

2019-07-04 19:35:59 112

原创 《C++ Primer》(5th)习题解答——8.13(使用ifstream对象、istringstream对象、ostringstream对象)

题目描述代码#include <iostream>#include <fstream>#include <sstream>#include <string>#include <vector>#include <stdexcept> //标准异常处理类using std::cin;using std::co...

2019-07-01 16:20:27 134

原创 目标检测(object detection)—— RCNN总结

一、论文总结1. 要解决的问题(1)如何使用深度网络定位目标(2)如何使用少量带标注的检测数据(detection data)训练一个可靠的模型2. 相关工作(1)目标定位①将定位视为回归问题(C. Szegedy. Deep neural networks for object detection. In NIPS, 2013)实践效果不是很好②sliding-window de...

2019-06-21 12:33:12 925

原创 《C++ Primer》(5th)习题解答——8.10(使用ifstream对象与istringstream对象)

题目描述代码#include <iostream>#include <fstream>#include <sstream>#include <string>#include <vector>using std::cin;using std::cout;using std::endl;using std::strin...

2019-06-15 22:41:33 195

原创 《C++ Primer》(5th)习题解答——8.9(学习使用istringstream对象)

题目描述代码#include <iostream>#include <stdexcept>#include <sstream>#include <string>using std::cin;using std::cout;using std::endl;using std::string;using std::istream;...

2019-06-15 22:10:56 106

原创 《C++ Primer》(5th)习题解答——8.4、8.5(使用ifstream对象读取文件)

题目描述(8.4)代码#include <iostream>#include <fstream>#include <string>#include <vector>using std::ifstream;using std::string;using std::vector;using std::cerr;using std:...

2019-06-15 19:54:06 251

原创 《C++ Primer》(5th)习题解答——8.1(cin对象浅析)

题目描述代码#include <iostream>#include <stdexcept>using std::cin;using std::cout;using std::endl;using std::istream;istream &func(istream &);int main(){ cout << "请输...

2019-06-14 22:21:57 207

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除