![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
jmucvm
这个作者很懒,什么都没留下…
展开
-
轻量级网络 | SQUEEZENET
论文:https://arxiv.org/abs/1602.07360github: https://github.com/forresti/SqueezeNet简介:SqueezeNet是一个经典分类模型, 主要特点是模型参数量少, 在Imagenet上精度和AlexNet差不多,模型大小是AlexNet的150\frac{1}{50}501 之一左右,压缩后可以小于0.5M。S...原创 2020-03-21 23:24:50 · 478 阅读 · 0 评论 -
目标检测 | Detectron2 中Boxes 详解
简介Boxes 是Detectron2 中用来处理检测框的基础类,功能强大, 包括clip、scale、cat 等等操作。代码解析初始化类,可以看出成员变量tensor是一个二维tensor,保存N个框(x0, y0, x1, y1), 第二维度为4, 可以存放anchor或groun truth.class Boxes: """ This structure st...原创 2020-03-10 22:41:24 · 4512 阅读 · 0 评论 -
论文阅读 | Ghostnet网络
简介paper: https://arxiv.org/abs/1911.11907github:https://github.com/huawei-noah/ghostnetGhostnet(CVPR2020)是华为提出的一种轻量级网络,结构类似mobilenetV3,具有速度快、精度较高特点。论文中主要贡献是:提出Ghost Module。Ghost Module如图二所示,...原创 2020-03-09 22:02:53 · 667 阅读 · 0 评论 -
Pytorch | dataloader 多线程下numpy每个线程随机种子都一样解决方案。
问题描述pytorch的Dataloader用于加载数据。在num_works >1时, 每个线程中numpy.random产生的随机数一样,也就是随机种子相同。random 和 torch两个模块的随机数不会出现这种情况。DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, batch_...原创 2019-12-04 21:21:00 · 1966 阅读 · 2 评论 -
Loss——Focal Loss
Loss——Focal Loss一、简介Focal Loss论文地址:https://arxiv.org/pdf/1708.02002.pdfFocal Loss是基于Cross Entropy修改的,是解决分类不均衡问题的一种方案。 reduces the relative loss for well-classified examples,(pt > :5), putting m...原创 2019-02-24 21:12:10 · 905 阅读 · 1 评论 -
RCNN系列——Faster RCNN anchor生成解析
RCNN系列——Faster RCNN anchor生成解析一、简介Faster RCNN里的anchor 是一个矩形框,用于box regressor, 可以减少网络计算量, 把anchor 数目定义为kkk,featur map每个点只预测kkk个box,然后与anchor计算偏差,回归更加精准的框位置。假设feature map 尺寸为W×HW \times HW×H,输出anchor...原创 2019-02-22 14:43:02 · 4811 阅读 · 0 评论 -
RCNN系类——RoI pooling layer
RoI pooling layer一、简介RoI pooling layer是Fast RCNN中一个层,也应用于Fater RCNN,可以让region of interest(ROI)区域特征转化为固定大小的feature map(变为 W×HW \times HW×H),方便后面cls softmax,bbox regressor训练。二、 算法流程——————————————...原创 2019-02-22 11:33:23 · 374 阅读 · 0 评论 -
深度学习——基础篇
深度学习——基础篇全连接层(BP)激活函数梯度下降优化算法卷积神经网络Loss FunctionBNupdating…原创 2019-02-08 20:26:21 · 484 阅读 · 0 评论 -
深度学习——Pooling Layer
深度学习——Pooling Layer简介Pooling Layer正常是用于Convolution Layer后面,可以进一步提取有效特征,降低nW,nHn_W,n_HnW,nH维度,减少计算量。Pooling 层和Convolution层一样具有stride(d)、f、pad(p)stride(d)、f、pad(p)stride(d)、f、pad(p)参数。Pooling Laye...原创 2019-02-08 20:06:10 · 1468 阅读 · 0 评论 -
人脸检测——FDDB数据集评估
人脸检测——FDDB数据集评估一、FDDB数据集简介FDDB数据集官网:http://vis-www.cs.umass.edu/fddb/index.htmlFDDB数据集用于人脸检测算法。This data set contains the annotations for 5171 faces in a set of 2845 images taken from the Faces i...原创 2019-02-20 21:43:58 · 7072 阅读 · 0 评论 -
机器学习——AdaBoost 算法
AdaBoost 算法简介AdaBoost 算法:通过初始化一个分类器,然后根据前一个,训练多个分类器,然后加权得到最终分类器,是一种强学习的算法。算法流程输入: 训练数据集T={(x1,y1),(x2,y2),...,(xN.yN)}T=\{(x1,y1),(x2,y2),...,(x_N.y_N)\}T={(x1,y1),(x2,y2),...,(xN.yN)},其中xi∈Rnx...原创 2019-03-19 17:45:05 · 215 阅读 · 0 评论 -
机器学习——SVM原理解析
机器学习——SVM原理解析简介支持向量机(support vector machines,SVM)是一种二分类模型,学习策略是间隔最大化,是求解凸二次规划的最优化算法。模型由繁到简分为:线性可分支持向量机、线性支持向量机和非线性支持向量机。<<机器学习>>6.2图<<机器学习>>...原创 2019-03-19 00:09:59 · 306 阅读 · 0 评论 -
tensorflow——tensorboard入门总结
简介tensorboard 是tensorflow的一个可视化工具,可以简便看网络图、loss等评估指标曲线。使用方法1、首先要用tf.summary.scalar(name, valiable)创建一个节点,用于保存这一层的权重,name是新建节点名称,valiable是网络图中变量名。2、利用 tf.summary.FileWriter(filepath, graph) 来保存所...原创 2019-04-03 20:24:08 · 319 阅读 · 0 评论 -
Arcface训练vgg2face数据集——数据制作
Arcface训练vgg2face数据集——数据制作简介本博客是基于开源项目insightface训练vgg2face。训练首先要对数据里面的人脸图片进行检测,接下来进行人脸对齐,保存对齐后的图片,最后生成一个和原来数据文件目录一样的存放图片文件夹和一个lst文件,lst存放图片绝对路径和每张图片对应类别ID。代码解读利用 $INSIGHTFACE_ROOT/src/align/al...原创 2019-04-14 21:36:13 · 3426 阅读 · 6 评论 -
目标检测|安装 mmdetection
github:https://github.com/open-mmlab/mmdetectionpaper:https://arxiv.org/abs/1906.07155一、简介mmdetetion是香港中文大学 MMLab实验室开源的目标检测框架, 是一款基于pytorch 深度学习框架搭建的目标检测库,包含很多主流的算法,包括anchor、anchor-free, one-sta...原创 2019-09-10 15:27:52 · 6634 阅读 · 6 评论 -
目标检测 | Receptive Field Block Net for Accurate and Fast Object Detection
Paper:https://eccv2018.org/openaccess/content_ECCV_2018/papers/Songtao_Liu_Receptive_Field_Block_ECCV_2018_paper.pdfGitHub: https://github.com/ruinmessi/RFBNet简介RFB Net主要用于目标检测,模型参数少。文中提出了RF bl...原创 2019-09-24 20:22:01 · 1543 阅读 · 0 评论 -
深度学习——卷积神经网络原理解析(Convolution layer)
深度学习——卷积神经网络原理解析(Convolution layer)简介卷积主要应用于计算机视觉领域,经常用于特征的提取、目标检测、人脸检测与识别等任务。卷积是同于一系列加乘法运算完成,核心是卷积核(filter),还有一些参数:strid(s)、pad、weights。下面介绍卷积层的前向传播和反先传播过程。前向传播(fowardpropagation)前向传播比较容易理解,就是...原创 2019-02-08 18:02:45 · 2387 阅读 · 0 评论 -
深度学习——激活函数ReLu、LReLu、PReLu原理解析
深度学习——激活函数ReLu、LReLu、PReLu原理解析简介论文链接: https://arxiv.org/abs/1502.01852由于项目需要,需要了解msra 权重初始化方法原理, 正好Kaiming 大神这篇论文提出了PReLu。本博客主要介绍PReLu。文中两个创新点是使用PReLu和msra初始化后,在I ImageNet 2012 classification dat...原创 2019-01-29 23:08:01 · 13663 阅读 · 2 评论 -
caffe下多gpu训练,NCCL的配置
一、caffe要多gpu训练,则需要安装NCCL和修改Makefile.config文件原创 2017-11-28 13:28:47 · 5473 阅读 · 0 评论 -
Openpose论文阅读 | Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
一.论文的简介 Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields提出了一种多人姿态估计的新方法,通过卷积神经网络输出四肢的位置和矢量信息,通过图的匹配把各个关键点连接在一起,从而实现人体姿态估计.该系统在COCO 2016 keypoints challenge和MPII Multi-Person bench原创 2017-11-16 15:30:07 · 3645 阅读 · 1 评论 -
深度学习入门篇(二)Lenet网络在caffe+QtCreator上部署应用
一.部署流程先参考上一篇博客,学会Lenet在caffe上训练 caffe+qt+lenet实现手写体识别源码下载地址.把训练好的权重文件和深度神经网络部署到Qt上,实现手写体的识别.环境要求(*如果未安装请参考我的其他博客,有具体介绍)UbuntuopenCVQtCreatorcaffe部署流程图Created with Raphaël 2.1.2开始点击选择图片按原创 2018-01-12 21:15:21 · 1379 阅读 · 0 评论 -
MTCNN论文阅读 | Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks
论文地址: https://kpzhang93.github.io/MTCNN_face_detection_alignment/paper/spl.pdf github地址: https://github.com/kpzhang93/MTCNN_face_detection_alignment一、背景介绍人脸检测和特征点标定广泛用于人脸识别和表情分析等应用人脸检测和特征点标点存...原创 2018-01-13 16:54:39 · 546 阅读 · 0 评论 -
深度学习入门篇(一) Lenet深度神经网络
一.Lenet简介Lenet是YANN LECUN等人提出的一种识别手写体的深度神经网络架构.Lenet训练网络:输入层定义大小为32*32,有两个卷积层(CNN),两个池化层,两个全连接层,一个loss.输出层的神经元个数为10(也就是10个数字)二.caffe上Lenet的训练和测试caffe深度学习框架自带有lenet的训练和测试,接下来详细介绍训练和测试的流程.caffe里会用到的文原创 2017-12-13 15:14:49 · 1594 阅读 · 0 评论 -
insightface测试megaface流程
insightface github地址: https://github.com/deepinsight/insightface megaface database地址: http://megaface.cs.washington.edu/一、简介insightface 测试megaface数据集的流程: 对megaface和 facescrub数据集中的人脸对齐提取megafac...原创 2018-07-22 09:43:58 · 8463 阅读 · 20 评论 -
darknet 源码阅读(数据预处理篇)—— voc_label.py
darknet 源码阅读(一)——yolo 数据预处理篇(voc_label.py)简介本文都是基于darknet-AB版本源码进行解读。源码链接:https://github.com/AlexeyAB/darknetvoc——label.py 是yolo训练前数据预处理一部分,主要功能: 根据VOC数据集 ImageSets\Main目录下的train.txt、test.txt val...原创 2019-01-15 21:44:21 · 6478 阅读 · 17 评论 -
darknet 源码阅读(数据预处理篇)——制作VOC格式数据集
一 、简介VOC文件目录结构├── Annotations├── ImageSets│ └── Main├── JPEGImages1、需要在Annotations文件下生成所有图片对用的xml文件2、ImageSets└── Main 是存放txt文件,2007train.txt 2007test.txt 2007val.txt txt文件里面包含是图片名称(没有后...原创 2019-01-15 22:18:39 · 1044 阅读 · 0 评论 -
darknet 源码阅读(数据预处理篇)——K-means生成anchor
darknet 源码阅读(数据预处理篇)——K-means生成anchor一、简介yolov2开始采用Faster RCNN RPN的anchor方法,区别在于,RPN是采用手动设置anchor尺寸,而yolov2是采用k-mean聚类,获得K个anchor尺寸。K-means 算法K-means 简称K-均值聚类,该算法最终将训练数据分为K个靠近彼此的不通样本聚类。算法流程...原创 2019-01-16 13:33:37 · 2978 阅读 · 0 评论 -
darknet 源码阅读(网络层代码)——yolov3 yolo_layer
yolov3 yolo_layer原理解析和代码解读简介yolo 层是 yolov2 v3的最后一层,输出x,y,w,h,confidence, class。本篇博客主要介绍yolov3的loss。yolov3 loss 解读yolov3 loss 由 box、confidence 、class 三部分loss组成。box loss 采用 sum square error, co...原创 2019-01-27 15:15:29 · 5514 阅读 · 12 评论 -
darknet 源码阅读(网络层代码)——batch Normalize 层(BN)
简介论文链接:https://arxiv.org/abs/1502.03167yolov2中,根据论文所讲,通过在所有convolutional layer后添加batch normalization层,map提升2%.并且相对于yolov1,移除了droupout,BN提升了模型的泛化性,有效避免过拟合。BN原理简约公式:xi=xi−xˉ1N∑jN(xj−xˉ)2(1) x_i = ...原创 2019-01-27 21:42:13 · 1411 阅读 · 0 评论 -
交叉熵 (Cross Entropy)
交叉熵 (Cross Entrophy)Machine Learning 很大一部分二分类任务的 loss function 使用 Cross Entrophy.,正常前面会有sigmoidsigmoidsigmoid激活函数,具体前向和反先可以参考前面我的博客:https://blog.csdn.net/jmu201521121021/article/details/86658163公式P...原创 2019-02-02 23:19:10 · 1489 阅读 · 0 评论 -
深度学习——全连接层(Fully connected dence layers)原理解析
深度学习——全连接层(Fully connected dence layers)原理解析一、简介全连接层有多个神经元,是一个列向量(单个样本)。在计算机视觉领域正常用于深度神经网络的后面几层,用于图像分类任务。全连接层算法包括两部分:前向传播(Forward)和反向传播(Backward)二、 算法解析前向传播(Forward)上图主要有5个变量,x,a,W,b,σx, a...原创 2019-02-03 12:46:20 · 26254 阅读 · 0 评论 -
神经网络优化——梯度下降常用算法:随机梯度下降、批处理梯度下降、Momentum、move average、RMSprop、Adma
神经网络优化——梯度下降常用算法:min-batch、随机梯度下降、批处理梯度下降、Momentum、move average、RMSprop、Adma简介梯度下降算法是应用于神经网络反向传播过程的计算梯度,然后更新参数,最终找到最优的位置。本博客主要介绍随机梯度下降、批处理梯度下降、Momentum、move average、RMSprop、Adma。也是对Andrew NG 的deepl...原创 2019-02-04 11:25:20 · 3102 阅读 · 1 评论 -
深度学习中解决过拟合(over fitting)、欠拟合(underfitting)的方案。
深度学习中解决过拟合(over fitting)、欠拟合(underfitting)的方案。简介在深度学习训练和测试数据过程经常会遇到过拟合和欠拟合的问题。过拟合(over fitting):就是模型在训练集上精度达到我们需求,而在测试集上效果偏差。欠拟合(under fitting): 就是模型在训练集上精度不理想,无法达到我们要求。举个例子accuracyaccur...原创 2019-02-06 12:11:45 · 1311 阅读 · 0 评论 -
qt+opencv图像在控件上的显示 槽和信号的定义.
1.opencv Mat图像数据在qt的label控件上显示cv::Mat img;img = cv::imread("./1115.jpg");cv::cvtColor(img, img, CV_BGR2RGB); //因为Mat的图像数据是BGR,所以要先将img转化位RGBQImage qImg = QImage((const unsigned char*)(img.data), img原创 2017-11-15 17:14:20 · 798 阅读 · 0 评论