自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一些关于CV和deeplearning的干货链接(长期更新)

目录yolo系列汇总:关于batch normalization的理解:各类归一化方法的总结及代码:YJango的卷积神经网络介绍:目标检测SSD讲解:关于AP PR曲线计算的理解(内附代码,生肉,英文):解释了yolov3的forward和anchor box相关内容关于数据增强的奇淫技巧:一篇超级全的数据增强博客:yolov3 pytorch教程:...

2019-11-25 09:01:51 42294

原创 利用Pytorch torchvision完成Faster-rcnn目标检测demo及源码详解

Torchvision更新到0.3.0后支持了更多的功能,其中新增模块detection中实现了整个faster-rcnn的功能。本博客主要讲述如何通过torchvision和pytorch使用faster-rcnn,并提供一个demo和对应代码及解析注释。目录如果你不想深入了解原理和训练,只想用Faster-rcnn做目标检测任务的demo,请看这里torchvision中Faste...

2019-08-27 11:40:13 27953 72

原创 conda安装Pytorch下载过慢解决办法(11月26日更新ubuntu下pytorch1.3安装方法)

目录添加清华源安装PyTorch3月5日更新ubuntu下pytorch1.0.1安装方法(Ubuntu16.04+CUDA9.0+PyTorch1.0.1)7月23日更新ubuntu下pytorch1.1安装方法(通过pip)11月26日更新ubuntu下pytorch1.3安装(通过conda)pytorch最近已经更新到了稳定版本的1.0.1,从Pytorch官网上可...

2019-03-04 16:31:31 133610 75

原创 Yolov3转化Caffe框架详解

    前些日子因工程需求,需要将yolov3从基于darknet转化为基于Caffe框架,过程中踩了一些坑,特在此记录一下。1.Yolov3的网络结构想要转化为Caffe框架,就要先了解yolov3的网络结构,如下图。    如果有运行过darknet应该会很熟悉,这是darknet运行成功后打印log信息,这里面包含了yolo网络结构的一些信息。yolov3与v2相比,网络结构...

2018-08-26 21:32:17 27097 59

原创 视频抖动检测方法

这阵子在做视频质量评估系统,其中如何检测视频抖动这一块做了挺长时间的,正好在整理文档的过程中整理到博客上来,当然隐藏了部分实现细节,只对大体原理做介绍,错误部分欢迎指正和交流。视频抖动检测基本原理       视频发生抖动时的最显著特征就是帧与帧之间会发生整体的位移,检测出位移之后再通过进一步的逻辑判定视频是否产生抖动,因此基本上视频的抖动都是围绕着如何检测出这个位移进行的。        常用的

2017-10-24 18:07:09 15711 22

原创 ubuntu16.04安装Confluence教程

最近因为一些需求,需要在一台服务器上搭建Confluence平台,这里记录下搭建全纪录。服务器系统是ubuntu16.04,由于Confluence依赖于Java,所以要事先安装Java 和 数据库,这里数据库采用Mysql。安装Java JDK如果服务器环境中已有java可以跳过这一步。1. Java下载地址:https://www.oracle.com/technetwor...

2020-04-16 17:35:59 3270 3

原创 解读《Bridging the Gap Between Anchor-based and Anchor-free Detection》

张士峰大佬近期发了一篇论文解读Anchor-base和Anchor-free方法间的差别,其本质在于正负样本的选取方式不同。论文:《Bridging the Gap Between Anchor-based and Anchor-free Detection via Adaptive Training Sample Selection》链接:https://arxiv.org/abs/19...

2019-12-18 10:51:35 9681 2

原创 解读Gaussian YOLOv3:终于有人对bbox的可靠性做文章了

对于目标检测,大家在网络结构上,IOU上,Anchor上做了大量文章,这篇文章优秀的地方在于提出了针对于bbox可靠性的想法,想到了用高斯模型来评估bbox坐标的可靠性,提出了一种新的计算bbox的loss。高斯模型首先回顾一下最原始的YOLOv3:对于输出feature,每个点输出3×((tx, ty, tw, th)+ obj_score + class_score)个信息。其...

2019-11-28 18:54:15 3437 5

原创 一种新的特征融合方式:《Learning Spatial Fusion for Single-Shot Object Detection》解读

本篇文章最大的创新点是提出了一种新的特征融合的方式ASFF,通过学习权重参数的方式将不同层的特征融合到一起,作者证明了这样的方法要优于通过concatenation或者element-wise的方式。代码:https://github.com/ruinmessi/ASFF一个更强的YOLOv3 baseline其实整篇文章能取得如此优秀的效果并不仅仅在于加入了ASFF这种自适应特征...

2019-11-27 18:11:28 15074 4

原创 Pytorch torchvision构建Faster-rcnn(四)----ROIHead

经过RPN后,我们得到了Classification/Regression loss和Proposal Region,接下来要对得到的loss和proposals做后续处理,其中包括proposal的细分类和再回归,以及ROI Pooling等操作。目录RoIHeadsselect_training_samplesROIAlign poolingbox_head和box_pre...

2019-08-26 17:17:15 8364 1

原创 Pytorch torchvision构建Faster-rcnn(三)----Region Proposal Network

RPN是two-stage的标志性结构,并且其本身也是一个二分类的目标检测网络,因此在faster-rcnn的整个网络结构中能看到anchor的使用,回归和分类等操作,这里讲具体介绍一下。整个rpn部分代码在torchvison/models/detection/rpn.py中,其中定义了RPNHead,AnchorGenerator,RegionProposalNetwork三个模块。目...

2019-08-20 11:42:12 6775 5

原创 Pytorch torchvision构建Faster-rcnn(二)----基础网络

torchvision中提供了通过Resnet + FPN的方式构建基础网络,这里以resnet50为例实现基础网络的构建。目录BackboneWithFPNIntermediateLayerGetterFeaturePyramidNetworkBackboneWithFPN类BackboneWithFPN的在backbon_utils.py中,功能是给骨干网络加上FPN,...

2019-08-19 11:35:28 8406 9

原创 Pytorch torchvision构建Faster-rcnn(一)----coco数据读取

torchvision在更新到0.3版本后,增添了很多新的功能,其中就包括整个目标检测算法/分割算法模块。这里打算将Faster-rcnn代码从torchvision分离出来,并分组件记录下Pytorch torchvision官方实现的Faster-rcnn代码并做记录和注释。注:各个模块的代码均可以在0.3.0+版本的torchvision中找到torchvision github地址...

2019-08-14 18:13:19 17746 8

原创 关于batch normalization究竟做了什么?

昨天同事们突然讨论起了Batch Normalization的问题,大家从internal covariate shift的角度讨论了半天,结果突然间懵逼了,陷入了“道理我都懂,但是为什么会有效的?”的状态,这个问题不弄明白感觉彻夜难眠了。于是下班后赶紧又第N遍的研究了一下bn这个操作,得到了一些有解释性的答案,在这里记录和分享一下。关于Internal Covariate Shift相信...

2019-08-02 11:48:54 541

原创 Pytorch中named_children()和named_modules()的区别

从定义上讲:named_children( )返回包含子模块的迭代器,同时产生模块的名称以及模块本身。named_modules( )返回网络中所有模块的迭代器,同时产生模块的名称以及模块本身。二者返回的都是模型的迭代器,只不过一个返回的是子模块的迭代器,另一个返回的是所有模块的迭代器。写个程序测试一下:import torchimport torch.nn...

2019-08-01 11:26:55 25645 6

原创 RuntimeError: binary_op(): expected both inputs to be on same device解决办法

今天Pytorch跑代码的时候遇到了这样一个bug:RuntimeError: binary_op(): expected both inputs to be on same device, but input a is on cuda:1 and input b is on cuda:0看起来大概意思应该是东西不在同一块gpu上造成的,出错的这部分代码如下: bbox_dx = ...

2019-07-22 16:55:38 2748 2

原创 关于Pytorch的杂记(长期笔记)

Tensor篇tolist()能够将tensor转化为list。 tensor.size()返回torch.Size对象,torch.Size是tuple的子类。 tensor.numel()可以获取tensor中元素总数。 还可以使用tensor.shape(注意不是函数)来查看tensor形状。 scalar和tensor的区别,tensor是有维度的,scalar是没有维度的,但...

2019-07-02 16:53:14 381

原创 Pytorch踩坑记之交叉熵(nn.CrossEntropy,nn.NLLLoss,nn.BCELoss的区别和使用)

目录nn.Softmax和nn.LogSoftmaxnn.NLLLossnn.CrossEntropynn.BCELoss总结在Pytorch中的交叉熵函数的血泪史要从nn.CrossEntropyLoss()这个损失函数开始讲起。从表面意义上看,这个函数好像是普通的交叉熵函数,但是如果你看过一些Pytorch的资料,会告诉你这个函数其实是softmax()和交叉熵的结合体...

2019-06-06 15:43:09 42956 16

原创 关于Pytorch中autograd的若干(踩坑)总结

目录关于Variable和Tensor叶子节点leafautograd操作Tensor.data和Tensor.detach()autograd.grad和hook关于Variable和Tensor旧版本的Pytorch中,Variable是对Tensor的一个封装;在Pytorch大于v0.4的版本后,Varible和Tensor合并了,意味着Tensor可以像...

2019-05-17 18:44:09 9611 1

原创 《FCOS: Fully Convolutional One-Stage Object Detection》阅读笔记

FCOS是典型的one-stage和anchor free结合,并且思路和cornerNet系列的寻找corner不同,借鉴了FCN的思想,通过单个feature上的点来做检测。FCOS摒弃了anchor带来的一些列缺点:用anchor的框架对于anchor的尺寸非常敏感,anchor的尺寸会影响检测的performance。 anchor尺寸的固定导致了对网络对特殊形状的物体鲁棒性较差...

2019-05-10 18:49:37 4695

原创 Pytorch中nn.ModuleList和nn.Sequential的用法和区别

最近在定义一个多任务网络的时候对nn.ModuleList和nn.Sequential的用法产生了疑惑,这里让我们一起来探究一下二者的用法和区别。nn.ModuleList的作用先来探究一下nn.ModuleList的作用,定义一个简单的只含有全连接的网络来看一下。当不使用ModuleList只用list来定义网络中的层的时候:import torchimport torch.nn...

2019-05-08 16:12:55 7727 12

原创 《Region Proposal by Guided Anchoring》阅读笔记

《Region Proposal by Guided Anchoring》来自CVPR2019,非anchor-free时代中anchor在多数目标检测算法中都起到了重要的作用,本篇提出了一种新的anchor生成方法 ,不同于之前的固定 anchor或者根据数据集聚类anchor的方法,通过guided anchoring可以预测anchor的形状和位置得到稀疏的anchor,以及作者提出了Fea...

2019-05-06 09:36:23 4854

原创 解决one-stage目标检测正负样本不均衡的另类方法--Gradient Harmonized

正负样本不均衡问题一直是One-stage目标检测中被大家所诟病的地方,He Keming等人提出了Focal Loss来解决这个问题。而AAAI2019上的一篇论文《Gradient Harmonized Single-stage Detector》则尝试从梯度分部的角度,来解释样本分步不均衡给目one-stage目标检测带来的瓶颈本质,并尝试提出了一种新的损失函数:GHM(Gradient H...

2019-04-19 18:21:10 7566

原创 人脸属性数据数据集汇总

IMDB-WIKI量级:超过50w张,460723张来自IMDB 和62328来自WIKI。标签:性别+年龄特点:年龄分布均衡链接:https://data.vision.ee.ethz.ch/cvl/rrothe/imdb-wiki/Adience量级:2w6标签:年龄+性别特点:真实场景抓拍链接:https://talhassner.github.i...

2019-04-14 18:36:26 8577 1

原创 RefineDet 阅读笔记

RefineDet是CVPR2018的一篇论文,是一种one-stage的目标检测方法。RefineDet借鉴了two-stage中RPN的想法,在精度大幅提升的基础上也有着非常优秀的速度,毕竟速度才是one-stage的优势所在。本篇记录下看过RefineDet论文和相关资料后的一些重要信息,供日后翻阅。

2019-04-14 17:12:19 442

原创 CornerNet训练不完全指南

简介CornerNet是ECCV2018的一篇one-stage目标检测的文章,在coco上达到了42.1的AP,在当时是one-stage目标检测的SOTA,文章比较亮眼的两个点: 抛弃传统的anchor,通过左上角及右下角坐标点来估计目标位置。 全新的Corner Pooling方法 网络结构如下:从左至右:骨干网络Hourglass、左上/右下两个角点预测分支、每...

2019-04-09 15:38:53 5614 21

原创 RetinaNet阅读笔记

《Focal Loss for Dense Object Detection》是Facebook AI 2017年提出的论文,这篇文章的贡献我觉得主要有两点:提出了one-stage 目标检测模型RetinaNet 探究了one-state目标检测的类别失衡问题,并针对该问题提出了Focal Loss类别失衡为什么two-stage目标检测强于one-stageIn this p...

2019-03-25 17:16:37 690

原创 Flask + Pytorch (以yolov3为例)构建算法微服务

之前做服务用的是golang调用C,因为go语言和C有比较好的兼容性。但是自从pytorch1.0问世及tensorflow发布了2.0,python框架的简洁和易用性,以及python的可读性,我觉得有必要去尝试一下用python做成算法API服务。Django和Flask都是python写成的服务框架,但据说Flask相较于Django更加轻量级,因此我首先尝试用Flask构建微服务的可能性。...

2019-03-15 16:59:51 5935 3

原创 关于one-stage目标检测方法的详细解析(一)

前一阵子看到了一遍关于one-stage目标检测的英文博客,感觉醍醐灌顶,讲的非常详细又好。为了加深一下印象,我决定用自己的话把文章里的内容重新阐述一遍,如果有错误的地方欢迎指正!

2019-01-24 18:08:46 9864 2

原创 yolov3模型微调相关

        这里记录一下关于yolov3做模型微调的相关命令.首次训练都会加载预训练模型darknet53.conv.74,假如首次训练出了模型1,要在模型1的基础上finetuning模型2,当然前提是模型2与模型1之间网络结构没有发生变化,类别也没有增加.(类别增加的话我暂时还不太清楚)这个时候有两种解决方法:1. 使用-clear命令通过模型1训练出的backup或者fina...

2018-10-10 19:29:02 4279

原创 基于红外热成像的行人检测方法

       本文主要讲解在热红外成像下的行人检测方法,方法来自于《Thermal-Infrared Pedestrian ROI Extraction through Thermal andMotion Information Fusion》,感兴趣的可以看下论文原文,若文中有理解错误的地方望指出。⒈ 热红外成像的特点:⑴ 不受光照条件应影响⑵ 图像中的人会比背景显得更亮整体流程       先...

2018-04-11 16:18:27 17774 13

原创 图像质量评估BRISQUE算法详解

BRISQUE算法来源于论文:《No-Reference Image Quality Assessment in the Spatial Domain》BRISQUE的意思是Blind/Referenceless Image Spatial QUality Evaluator,一种无参考的空间域图像质量评估算法。算法总体原理就是从图像中提取mean subtracted contrast ...

2018-02-08 11:33:49 39736 38

转载 OpenCV的基本矩阵操作与示例

转载:http://blog.csdn.net/iracer/article/details/51296631OpenCV的基本矩阵操作与示例OpenCV中的矩阵操作非常重要,本文总结了矩阵的创建、初始化以及基本矩阵操作,给出了示例代码

2017-10-31 09:16:55 561

转载 opencv中Mat的各种相关操作

opencv矩阵计算

2017-10-09 09:21:44 993

原创 两种无参考空间域图像噪点检测方法

两种方法来源于Xinhao Liu和Masayuki Tanaka发表在IPIC上的三篇论文,先给出论文的链接: 《Noise Level Estimation Using Weak Textured Patches of a Single Noisy Image》 《Estimation Of Signal Dependent Noise Parameters From a Single Im

2017-09-26 11:51:11 9925 33

空空如也

空空如也

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

TA关注的人

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