xiaomifanhxx的博客

深度学习初学者

阅读完相关论文自己的理解(二)

上篇博客主要叙述了ResNetv1/v2两篇经典论文的解析,由于工作需要,需要做关键点检测,那么阅读了关键点的一些文章,现就Pose的经典的三篇论文进行理解:CPM(Convolutional Pose Machines)、StackedHourGlassNetWork、SimPleBaseLin...

2019-05-20 16:10:17

阅读数 3

评论数 0

Pose Estimation 相关操作-HeatMap生成

1、HeatMap的生成相关代码 (1) import numpy as np import cv2 input_size=(96,96) center=(10,10) stride=1 start=stride/2-0.5#用来控制center的位置,默认stride为1 xx=np.ar...

2019-05-14 18:46:01

阅读数 12

评论数 0

阅读完相关论文自己的理解

ResNetv1: (1)ResNetv1使用了残差单元,使得网络结构更加容易优化、验证了使用残差单元可以通过增加网络的深度来提高精度。 (2)该论文阐述了plain NetWork随着网络深度的不断提升,TrainError也不断提高,这不是梯度消失问题,由于网络的模型结构使用了BN,其保证...

2019-05-14 14:28:54

阅读数 16

评论数 0

Python 关于__init__.py的理解

在使用Python文件时,我们引入了一个Package的概念,这样方便我们去调用我们写的函数,而不需要重新复制一遍。但是在包导入的时候,会出现各种各样的问题。 在使用以下方法进行导包的时候: from . import xxx from .. import xxx 会出现 System...

2019-05-10 14:28:00

阅读数 9

评论数 0

使用Mxnet进行重构SSD(五)

在进行训练与测试后,我们需要验证模型的鲁棒性,我们使用的是Voc数据集格式,即用VOCMap来评判模型。 在讲述Map(Mean Average Precision)之前,我们先要讲述目标检测评估的指标为P-R曲线、AP、MAP。P为precision与R为Recall。 P-R曲线 ...

2019-04-20 14:23:43

阅读数 15

评论数 0

使用Mxnet进行重构SSD(五)

前面博客讲述了训练从数据流的获取到Loss的选择,但是在我们的检测的时候,要进行NMS然后再进行输出,这篇博客主要讲述NMS。 1、由于网络结构预测的是Box的offsets,即首先要把offsets应用于anchor的转换,进行bbox_decoder: def __init__(self...

2019-04-19 19:37:17

阅读数 17

评论数 0

使用Mxnet进行重构SSD(四)

前面博客讲述了数据流的输入,通过网络后我们要计算网络损失,我们通过CrossEntropy来进行类别分类,通过SmoothL1来进行计算损失。由于是SSD需要考虑前景与背景的数据平衡,因此根据论文我们选择了Positive:Negitive=1:3。(查询包的位置site-package) 1、...

2019-04-19 18:23:43

阅读数 15

评论数 0

使用Mxnet进行重构SSD(三)

前面博客介绍了DataSet与Transform的生成,但是在做目标检测的时候我们的label是不固定的,由于每张图片物体出现的个数是不一样的,我们要将label生成anchor形状的,使用的是target_generator函数,输入的box是(1,N,4),label是(1,N,1)。 整体...

2019-04-17 12:59:10

阅读数 21

评论数 0

使用Mxnet进行重构SSD(二)

前面博客主要讲述了如何生存DataSet,DataSet输出的为mx.nd.array类型的image与np.array类型的label。但是由于GPU显存大小的问题,我们需要每次选取BatchSize个图片送进网络,而且还需要做数据增强DataAugment,Mxnet里面做数据增强使用的是Tr...

2019-04-17 12:14:10

阅读数 15

评论数 0

Mask R-CNN实现RGB-D数据集训练

在使用Mask R-CNN做了RGB的数据的实例分割,感觉效果很棒,提出疑问,如果使用RGB-D数据集多了一个维度的信息,那么分割效果是不是更好。于是就开始了我尝试使用RGB-D数据集训练Mask R-CNN的想法。 网上的开源的Mask R-CNN代码是以RGB图像作为默认输入图像的,如果需要...

2019-04-17 09:44:34

阅读数 21

评论数 0

使用Mxnet进行重构SSD(一)

在使用Mxnet进行SSD重构的时候,Backbone使用的MobileNetv1,并使用了PreTrainModel的参数进行BackBone参数初始化,剩余网络使用MSRA进行随机初始化。训练初期,Freeze掉Backbone的参数只训练多尺度网络,为防止多尺度网络将Backbone的参数带...

2019-04-16 11:37:35

阅读数 19

评论数 0

训练过程总结问题(一)

最近在做烟盒检测的U型分类,主要是来查看烟盒的摆放是否是U型排列(相同类别的烟盒)。 通过目标检测将每一张图含有的烟盒检测出来,并进行分类,并统计每一类烟盒的出现在该图像的频率,一般数目为6个及以上的数量才能构成U型排列,因此,统计出哪类烟盒出现在图像的次数超过6次,并将其生成二值化图,用于...

2019-03-03 10:49:47

阅读数 74

评论数 0

关于梯度下降的理解

    这段时间,特别懵懵懂懂,每天跑网络但是不知道为什么这样做,总感觉是个黑盒子,想要慢慢把它原理弄清楚。 1、为什么梯度下降可以达到全局最优点?为什么朝着梯度的反方向下降是正确的方向?     拿一个回归函数以及目标函数为例: 以均方误差作为目标函数(损失函数) 我们的目的是将...

2019-01-27 15:08:03

阅读数 23

评论数 0

MTCNN-Caffe(四)net.prototxt

在上篇博客生成train_lmdb与val_lmdb后,要进行网络与迭代器搭建,首先进行网络的搭建 1、数据层即输入层。     Caffe中数据以blob的格式进行存储和传输,在这一层中是实现数据其他格式与blob之间的转换,例如从高效的数据库lmdb或者level-db转换为blob,也可...

2019-01-24 14:56:54

阅读数 247

评论数 0

MTCNN-Caffe(三)生成lmdb

#!/usr/bin/env sh # Create the imagenet lmdb inputs # N.B. set the path to the imagenet train + val data dirs EXAMPLE=. TOOLS=/data2/zxli/CODE...

2019-01-22 12:30:12

阅读数 238

评论数 1

MTCNN-Caffe(二)生成训练集、验证集的list,混合

上篇博客讲述了在训练caffe模型时,生成了3个txt文件,再分成训练集和验证集后要生成整体的train/val.txt,该py文件将整理好train与valid。默认比例是pos:neg:part:landmark为1:3:1:0 #!/usr/bin/env python &quo...

2019-01-21 20:15:45

阅读数 337

评论数 0

MTCNN-Caffe(一)随机Crop图片分成3类

在做MTCNN时,首先训练12Net,目的是为了提高Face的召回率,即首先进行三分类:pos,neg,part genetate size为12的py文件: import sys #sys.path.append('../12net') import numpy as np import ...

2019-01-21 18:17:24

阅读数 119

评论数 0

Mxnet/Gluon中网络和参数的存取方式

    由于mxnet的更新速度较快,本文参考https://blog.csdn.net/caroline_wendy/article/details/80494120 来对最近的Mxnet、Gluon网络和参数存取进行更新。 Gluon是MXnet的高层封装,网络设计简单易用,与Keras类...

2019-01-06 12:42:11

阅读数 204

评论数 0

MxNet学习笔记(2)-softmax和log_softmax的区别、CrossEntropyLoss()与NLLLoss()的区别、Log似然代价函数

1  softmax 函数Softmax(x)是一个non-linearity,但它的特殊之处在于它通常是网络中的一次操作,这是因为它接受了一个实数向量并返回一个概率分布,其定义如下,定义x是一个实数的向量(正数或负数都无所谓,没有限制)。然后,第i个Softmax(x)的组成是 输出是一...

2019-01-06 11:46:27

阅读数 243

评论数 0

MxNet学习笔记(1)

1  mxnet.ndarray.concat import mxnet.ndarray as nd x=[[1,1],[2,2]] y=[[3,3],[4,4],[5,5]] z=[[6,6],[7,7],[8,8]] nd.concat(x,y,z,dim=0)##按行拼接 nd.conc...

2019-01-06 11:09:41

阅读数 162

评论数 0

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