自定义博客皮肤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)
  • 收藏
  • 关注

原创 maskrcnn_benchmark 代码详解之 box_head.py

前言: 在FasterRCNN或者MaskRCNN中,在通过RPN筛选出大小不同的一系列预测边框后,需要在Box_Head层对选出的预测边框进行进一步筛选,去除掉边框IoU介于两种阈值之间的预测边框,然后再使用ROI Pooling将处理后的预测边框池化为大小一致的边框。 然后对这些边框进行进一步的特征提取,之后再在提取后的特征上进行进一步的边框预测,得到每一个预测边框的类别得分以及它...

2019-06-15 09:50:34 1898 1

原创 maskrcnn_benchmark 代码详解之 modeling/roi_heads/box_heads/loss.py

前言: 本文详解的是在maskrcnn_benchmark代码中,RoI层中的边框预测模块的损失函数计算代码。在本文详解的loss.py覆盖了预测边框筛选函数,通过该函数可以排除出原预测边框中不符合标准的边框,重新选择背景边框和目标边框,并使用这个边框构成的新预测边框来计算loss值。其代码详解为:# Copyright (c) Facebook, Inc. and its aff...

2019-06-14 17:55:54 2049 1

原创 maskrcnn_benchmark 代码详解之 inference.py

前言: 在MaskRCNN、FasterRCNN的最后阶段需要对边框进行一次最后的预测,得到最终的预测边框。在maskrcnn_benchmark中,这一操作由inference.py来完成。其代码详解为:# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.import torchimp...

2019-06-14 14:10:18 2214

原创 maskrcnn_benchmark 代码详解之 roi_box_predictors.py

前言: 在对RPN预测到的边框进行进一步特征提取后,需要对边框进行预测,得到边框的类别和位置大小信息。这一操作在maskrcnn_benchmark中由roi_box_predictors.py完成,该文件实现了两种预测类:直接进行预测以及先池化再预测。其代码详解如下:# Copyright (c) Facebook, Inc. and its affiliates. All ...

2019-06-13 21:47:05 1327 1

原创 maskrcnn_benchmark 代码详解之 roi_box_feature_extractors.py

前言:  在经过RPN层之后,网络会生成多个预测边框(proposal), 这时候需要对这些边框进行RoI池化,使之成为尺度一致的特征。接下来就需要对这些特征进行进一步的特征提取,这就需要用到roi_box_feature_extractors.py。roi_box_feature_extractors.py定义了三种不同的特种提取方式:ResNet卷基层方式、MIL全连接方式以及使用多个卷基...

2019-06-13 21:19:47 2100

原创 maskrcnn_benchmark 代码详解之 poolers.py

前言:  在目标检测的深度网络中最后一个步骤就是RoI层,其中RoI Pooling会实现将RPN提取的各种形状的边框进行池化,从而形成统一尺度的特征层,这一工程中将涉及到ROIAlign操作。Pool中的Scale是一个数组,代表原始图片变换到FPN的各个特征层需要的变换比例,比如到Stage2是1/4, 以此类推。其代码详解为:# Copyright (c) Facebook, In...

2019-06-13 18:41:16 1568

原创 maskrcnn_benchmark 代码详解之 rpn.py

前言:  RPN的主要功能是生成候选边框,并根据loss来进行优化。生成候选边框(proposals)主要是根据生成的锚点(anchors)加上与基准边框(ground truth box)之间的偏差。因此RPN的主要功能是选择靠谱的锚点(anchors),这就需要一个特征图来描述每个锚点的贡献值,1为百分百为含有目标的锚点,0为背景,这就是cls_logits特征图,其通道数为特征图上每个点...

2019-06-13 14:13:49 2005 1

原创 maskrcnn_benchmark 代码详解之 modeling/rpn/loss.py

前言:  在maskrcnn_benchmark的RPN层,选取预测边框(proposal)的过程和计算边框目标得分(objectiveness)以及边框回归(box regression)的损失值的过程不是同步的,过程也有偏差。选取边框(proposal)是从多个特征层分别选取若干个目标得分高的边框,然后再从这些边框里选出若干预测边框(proposal)或者单个特征层(非FPN)提取目标得分...

2019-06-13 10:00:42 1823

原创 maskrcnn_benchmark 代码详解之 modeling/rpn/utils.py

前言:  在backbone如果采用了FPN, 则RPN层需要将FPN的不同层得到的特征图进行融合。maskrcnn_benchmark将该多层融合的工具函数写入了modeling/rpn/utils.py中,通过该工具类,可以将不同层的特征融合起来,进行统一处理。其代码详解为:# Copyright (c) Facebook, Inc. and its affiliates. All ...

2019-06-12 15:59:57 792

原创 maskrcnn_benchmark 代码详解之 matcher.py

前言:  在目标检测的过程中,RPN生成的所有锚点(anchor)需要找到与之对应的在原图上标明的基准边框(gt)。在maskrcnn_benchmark中,这一匹配的过程由matcher.py来完成。该类定义了锚点与基准边框匹配的规则,将锚点与基准边框的IoU小于某个阈值的锚点设置为背景,大于另一个阈值的锚点设置为含目标的锚点,介于两个阈值之间的标记为第三种锚点。这种分类有助于RPN的后续操...

2019-06-12 14:03:57 1152

原创 maskrcnn_benchmark 代码详解之 inference.py

前言:  在maskrcnn_benchmark中,实现从FPN各个层里提取好的边框的功能由inference.py实现。在inference.py中定义了RPNPostProcessor类,该类利用一些提前定义好的参数来在多个FPN层(P2-P5)或者指定的输出特征层(比如C5)选取边框。常用的参数有:pre_nms_top_n为每一个特征层上选取的边框数;post_nms_top_n为...

2019-06-11 17:23:23 2530

原创 maskrcnn_benchmark 代码详解之 boxlist_ops.py

前言:  与Bounding Box有关的操作有很多,例如对边框列表进行非极大线性抑制、去除过小的边框、计算边框之间的Iou以及对两个边框列表进行合并等操作。在maskrcnn_benchmark中,这些操作都得以实现,其具体代码以及解释如下:# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.i...

2019-06-11 16:58:44 1690

原创 maskrcnn_benchmark 代码详解之 bounding_box.py

前言:  在目标检测网络模型当中,最常用到的便是Bounding Box,在maskrcnn_benchmark当中,bounding_box.py 实现了这一功能,其代码为:# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.import torch# transposeFLIP_LEFT...

2019-06-11 16:48:45 2150 1

原创 maskrcnn_benchmark 代码详解(更新中...)

前言: maskrcnn_benchmark是faceboock公司编写的一套用于目标检索的框架,该框架集成了目前用到的大部分使用深度卷积网络来进行目标检测的模型,其中包括Fast RCNN, Faster RCNN, SSD, YOLO, Mast RCNN, Retina NET等,代码详解的目录为:maskrcnn_benchmark config   defaults.py...

2019-06-11 14:58:06 6698 8

原创 maskrcnn_benchmark 代码详解之 anchor_generator.py

前言:  在RPN中需要生成拥有不同步长(stride)不同大小(size)以及不同长环比(ratio)的anchor, 在maskrcnn_benchmark中,这一工作由anchor_generator.py完成。anchor_generator.py生成所需的不同特征图上的anchor,需要注意的是,如果在backbone中采用了FPN的话,需要保证,stride个数,size个数以及F...

2019-06-10 00:26:36 3820 4

原创 maskrcnn-benchmark 代码详解之 modeling/utils.py

def cat(tensors, dim=0): """ Efficient version of torch.cat that avoids a copy if there is only a single element in a list """ """ 重写了cat函数,使得当传入的张量只有一个元素的时候避免做拼接操作,只有可拼接的情况下,即有多个...

2019-06-05 18:19:04 639

原创 maskrcnn-benchmark 代码详解之 make_layers.py

前言:  maskrcnn benchmark中各种层都是经过处理的,比如GN层需要判断通道数和组数合不合规范、group normalization是所有通道都参于还是一部分通道参与规范化、卷基层与初始化等操作组和成统一的组件以及卷基层的类型是否是空洞卷积等等。  等到别的地方调用make_layers.py中的这些网络模型组件的时候,这里定义的卷基层、全连接层都是以一个整体出现的,包含...

2019-06-05 18:09:47 1686

原创 maskrcnn-benchmark 代码详解之 balanced_positive_negative_sampler.py

前言  在二阶段目标检测的卷积神经网络模型中,在经过RPN筛选出相应的候选边框(Proposal)中应既包含内容为背景的边框又包含内容为目标的边框。这就需要一次对这两种边框数目的调整,以使得模型训练效果更好,这两种边框的选择比例一般为1:1,但是随着检测任务的不同而不同。在maskrcnn benchmark中实现这一操作的代码为balanced_positive_negative_sampl...

2019-06-05 15:45:03 1574

原创 maskrcnn-benchmark 代码详解之 box_coder.py

前言 box_coder.py主要用于候选边框(proposal)的编码和解码,即求解RCNN论文中回归目标中的以及预测边框。其主要针对的是RCNN和faster RCNN中的Bounding-box regression部分的操作。1b-box 回归(RCNN) 假设现有获得的候选框(proposal)为, 而基准框(ground-truth)为, 我们需要找一种映射方式使...

2019-06-05 14:55:22 2422 1

原创 maskrcnn-benchmark 代码详解之 image_list.py

前言image_list.py主要是用于保存图像列表的数据类型以及将其他保存图像列表的数据类型转换成maskrcnn benchmark所规定的ImageList类型。ImageList的属性包含一个保存图像列表的张量还有一个保存图像大小的列表,其代码为:class ImageList(object): """ Structure that holds a list of...

2019-06-05 10:47:29 2279 1

原创 maskrcnn-benchmark 代码详解之 detector

前言detector 在maskrcnn benchmark中是网络模型的入口类,它把各个网络结构组合为统一的模型。用户训练中用到的网络模型由detectors.py实例化:# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.from .generalized_rcnn import Genera...

2019-06-03 15:18:13 2661 3

原创 maskrcnn-benchmar 代码详解之 fpn.py

前言FPN网络主要应用于多层特征提取,使用多尺度的特征层来进行目标检测,可以利用不同的特征层对于不同大小特征的敏感度不同,将他们充分利用起来,以更有利于目标检测,在maskrcnn benchmark中代码详解如下:# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.import torchim...

2019-06-03 11:53:35 1914

原创 maskrcnn-benchmark 代码详解之 backbone.py

前言在backbone.py文件中,定义了各种不同的backbone结构,并使用Registry装饰器类来实现构造这些backbone结构函数的调用。指的一提的是,backbone.py将不同的模块搭建出拥有不同功能的backbone结构,为边框预测等操作提供各自合适的特征提取网络;其中Resnet的第2个stage非常重要,因为第一个阶段就是对原始图像的一次粗糙的特征提取,从第二阶段开始...

2019-06-03 11:05:16 3831

原创 maskrcnn-benchmark 代码详解之 Registry.py

前言registry的主要作用是作为模型字典来保存生成的不同网络结构模型,其有两处定义分别为utils里面定义的Registry.py和在modeling里面定义的Registry.py。前者是定义数据类型,后者是这个字典类型的一个集合,为保存不同的网络结构提供了不同的模型字典。具体代码详解如下:# Copyright (c) Facebook, Inc. and its affilia...

2019-06-03 10:14:42 1538 2

原创 maskrcnn-benchmark 代码详解之 resnet.py

1Resnet 结构  Resnet 一般分为5个卷积(conv)层,每一层为一个stage。其中每一个stage中由不同数量的相同的block(区块)构成,这些区块的个数就是block_count, 第一个stage跟其他几个stage结构完全不同,也可以看做是由单独的区块构成的,因此由区块不停堆叠构成的第二层到第5层(即stage2-stage5或conv2-conv5),分别定义为ind...

2019-06-01 20:52:49 3731 3

原创 pip升级失败以及anaconda的pip/conda安装提示权限不够的错误的解决方案

【原因分析】     是因为anaconda的安装目录的拥有者和用户组都是root,本地用户权限不够,只需让自己拥有相应的权限就好了【解决方案】     输入一下命令,进入到anaconda安装目录的父目录sudo chmod 777 -R anaconda2

2017-02-10 10:25:26 11485

原创 conda报错:'Could not connect to https://repo.continuum.io/pkgs/pro/linux-64'解决方法

【更改conda安装源镜像】为了更好安装包需要制定conda安装包所使用的镜像为中国的镜像,目前为止只有一家提供了镜像执行conda命令:conda config更换安装源镜像,清华大学有提供镜像具体更换方法有如下:conda config --add channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/

2017-02-09 20:44:41 9807 2

原创 ubuntu系统安装wingIDE详细教程

【简介】:Wing IDE是一个Python语言的IDE,其中包括大量语法标签的高亮显示。与其他类似的IDE相比,wingIDE最大的特色是可以调试django应用。 WingIDE是个相当优秀的 IDE;虽然它只是个面向 Python 的工具。源代码浏览器对浏览项目或模块非常实(表现在可导航源代码和文档行摘要中)。虽然没有监视器,但调试器设计得很好。【一】:下载安装文件    

2017-01-12 10:40:55 5117

原创 This application failed to start because it could not find or load the Qt platform plugin "xcb"问题解决方

我在打开anaconda中内嵌的spyder的时候报出如下错误【报错】:This application failed to start because it could not find or load the Qt platform plugin "xcb"【原因】:   QT插件目录没有声明或者声明错误【改正】:   声明QT插件的位置,CTL+ALT+T 打开命

2017-01-10 16:39:26 8277

原创 Linux文档格式乱码与转换

如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换文件编码转换【1】Shell代码:set fileencoding=utf-8 【2】 enc

2017-01-09 11:05:59 1505

原创 Ubuntu安装google chrome浏览器

1.下载谷歌浏览器的安装文件,下载地址为:http://pan.baidu.com/s/1i5uPI2D2.打开终端,进入到刚刚下载的文件所在的位置,执行如下命令sudo dpkg -i google-chrome-stable_current_amd64.deb3.在终端输入:google-chrome-stable 这个时候就可以打开google浏览器了

2016-12-18 23:34:14 649

原创 Ubuntu系统安装matlab教程

1.下载   下载matlab安装文件,下载地址:https://pan.baidu.com/s/1slAOxZn    下载完成之后,解压安装文件,具体解压过程不做赘述     解压后生产一个MATHWORKS_R2014A.iso文件。2.安装     在下载的iso文件所在的目录中新建一个要挂载的文件夹: mkdir matlab

2016-12-18 15:06:08 1203

原创 Ubuntu安装sublime-text3详细教程

下载sublime-text的安装包,下载链接为:https://pan.baidu.com/s/1c2GE6Ec    执行如下命令进行安装sudo dpkg -i sublime-text_build-3126_amd64.deb

2016-12-18 10:58:05 4657

原创 Uubntu安装wps详细教程

下载wps的安装包,下载地址为:https://pan.baidu.com/s/1c1I0lyS  下载好以后安装,执行如下命令sudo dpkg -i wps-office_10.1.0.5672-a21_amd64.deb

2016-12-18 10:53:22 967

原创 Ubuntu系统安装搜狗(sougou for linux)输入法详细教程

download intallation file to local form the websit :http://pinyin.sogou.com/linux/ ,choose the editon of your own computer. just like belowinput below commands:cd ~/Downloads/check if the file

2016-12-17 14:39:14 159990 19

原创 详细教程:Windows+Ubuntu16.06双系统安装

此教程是我刚刚安装过程,亲测可用!  1.首先下载Ubuntu16.04(如果有系统镜像本过程可以跳过)(注意:不建议下载最新版本,好多环境搭建的时候是不兼容搞版本的。)  下载链接为:http://pan.baidu.com/s/1i5Hkofj   2.用ultraiso制作Ubuntu的u盘启动盘   ultraiso下载链接:http://pan.baidu.com

2016-12-17 10:23:36 4459 1

原创 ubuntu16.04安装wine和QQ教程

一.安装wine  1添加wine的源  sudo add-apt-repository ppa:ubuntu-wine/ppa  2.更新源 sudo apt-get update  3.安装wine sudo apt-get install wine1.7 winetricks   输入y   他会自动下载所需要的文件  如果

2016-12-16 12:22:56 9372 6

原创 Ubuntu16.04+Cuda8.0(gtx1060)+OpenCV2.4.13+anaconda2+caffe详细配置

硬件以及系统介绍:显卡(GTX10xx,如GTX1060)本解决方案使用的显卡类型为GTX1060,当然所有GTX10xx的都可以。Cuda7.5不支持GTX10以上的显卡,所以,那些安装有GTX10以上的显卡的同学必须安装Cuda8.0,那些含有Cuda7.5以及以下的教程将不再适用。系统(主要是Linux)  我们先来看一看,cuda8.0支持的系统,如下也就是

2016-12-16 08:53:02 10558 4

空空如也

空空如也

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

TA关注的人

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