计算机视觉
王伟王胖胖
这个作者很懒,什么都没留下…
展开
-
SSD Keras版源码史上最详细解读系列之数据生成与解析
SSD Keras版源码史上最详细解读系列之数据生成与解析object_detection_2d_data_generator.pyobject_detection_2d_data_generator.py这个文件主要是做一些训练数据的预处理,我们先来看看这个类DataGenerator的作用,数据生成器: def __init__(self, load_i...原创 2019-11-04 15:43:02 · 886 阅读 · 0 评论 -
SSD Keras版源码史上最详细解读系列之SSDLoss解析
SSD Keras版源码史上最详细解读系列之SSDLoss解析损失函数keras_ssd_loss.py解析损失函数keras_ssd_loss.py解析根据论文,他的损失函数也不难理解,只是具体编码的时候还是有些复杂的,毕竟维数比较多,还要统一格式,我们来看看吧,首先是smooth_L1_loss方法: def smooth_L1_loss(self, y_true, y_pred): ...原创 2019-10-28 18:48:23 · 1032 阅读 · 0 评论 -
SSD Keras版源码史上最详细解读系列之AnchorBoxes解析
SSD Keras版源码史上最详细解读系列之AnchorBoxes解析keras_layer_AnchorBoxes.py解析keras_layer_AnchorBoxes.py解析今天讲下这个锚框怎么生成的吧,我们直接看代码吧,因为这个源码也不长,我就直接贴了,基本的我都做了注释:class AnchorBoxes(Layer): ''' A Keras layer to ...原创 2019-10-28 18:35:01 · 927 阅读 · 0 评论 -
SSD Keras版源码史上最详细解读系列之模型源码解析
SSD Keras版源码史上最详细解读系列之模型源码解析模型源码keras_ssd300.py解析模型源码keras_ssd300.py解析因为前面训练和测试的模型是用ssd300的,所以这次就解析这个模型,至于其他的都是差不多的,原理一样的,我们先来看看这个文件keras_ssd300.py:其实里面是定义了ssd300的一个方法来获取模型:def ssd_300(image_siz...原创 2019-10-24 20:09:16 · 1387 阅读 · 6 评论 -
SSD Keras版源码史上最详细解读系列之训练模型
SSD Keras版源码史上最详细解读系列之训练模型训练训练上次讲了怎么跑起来测试,这篇将怎么跑起来训练,话不多说,我们可以看ssd300_training.ipynb的代码,但是需要一些修改,一段段来分析吧,最开始就是一些参数的设置,比如图像输入的宽高,通道,类别,缩放比例等等,具体可以看论文,后面也会有分析,这里就先提下,先了解下训练流程:img_height = 300 # Heig...原创 2019-10-22 13:03:28 · 2770 阅读 · 40 评论 -
SSD Keras版源码史上最详细解读系列之运行源码
SSD Keras版源码史上最详细解读系列之测试运行前言运行前言最近在看SSD的论文和他的keras的源码,网上我也查了,细讲keras源码的比较少,我打算啃一下源码,这样自己也加深印象,顺便和前面的Faster RCNN源码比对一下,看看哪些思路是类似的,哪些是特别的。同时也想把这些东西分享下,希望对学习SSD的人有用吧,其实我也很想网上有比较完整的源码解析,这样对于读论文和理解这个算法有很...原创 2019-10-21 15:57:23 · 1418 阅读 · 5 评论 -
Faster R-CNN Keras版源码史上最详细解读系列之RPN训练数据处理二
Faster R-CNN Keras版源码史上最详细解读系列之RPN训练数据处理二训练数据处理训练数据处理继续我们的数据预处理,上次讲到data_generators.py的这个方法calc_rpn,这个方法就是用来生成RPN模型的输入和输出的,输入比较简单,就是一张处理后的图,输出是为了跟网络的预测输出求出误差,我们知道的图片信息并不是RPN网络的输出格式,所以要进行预处理计算。我们来看看源...原创 2019-09-19 17:22:41 · 1227 阅读 · 3 评论 -
Faster R-CNN Keras版源码史上最详细解读系列之ROI候选框筛选
Faster R-CNN Keras版源码史上最详细解读系列之ROI候选框筛选ROI预测框筛选定义预测框数组初始化预测框数组预测框数组维度转置和坐标筛选预测框非极大抑制筛选300个ROI预测框筛选上一篇已经讲了RPN模型,输出就是锚框的类别和回归梯度,但是锚框数有很多,我们不可能全部用,所以在进行ROIPooling之前,也要筛选一遍,选出300个最好的框,最好的标准是什么呢,我们马上会讲,边...原创 2019-09-20 11:08:53 · 1959 阅读 · 5 评论 -
Faster R-CNN Keras版源码史上最详细解读系列之第二次候选框筛选
Faster R-CNN Keras版源码史上最详细解读系列之第二次候选框筛选第二次候选框筛选初始化计算IOU决定有效位转成数组拼接成统一格式第二次候选框筛选这次筛选是为了给最后的分类和回归的输入做筛选,其实跟预处理的数据差不多,也就是再次计算IOU,进行分类和回归梯度计算,对应的是文件train_frcnn.py里: # note: calc_iou converts from ...原创 2019-09-20 14:04:52 · 764 阅读 · 0 评论 -
Faster R-CNN Keras版源码史上最详细解读系列之最后的分类和回归模型
Faster R-CNN Keras版源码史上最详细解读系列之最后的分类和回归模型候选框样本选择和正负样本均衡分类和回归模型训练分类和回归网络以及RoiPooling层候选框样本选择和正负样本均衡前面我们已经处理好第二次候选框刷选了,现在我们就快要进行最后的分类和回归训练了,在此之前还有一步就是选择一个合适的样本数量,保持正负样本的均衡。我们来看看train_frcnn.py文件的代码: ...原创 2019-09-20 21:02:23 · 1755 阅读 · 5 评论 -
Faster R-CNN Keras版源码史上最详细解读系列之结束部分
Faster R-CNN Keras版源码史上最详细解读系列之结束部分训练的结尾部分感悟训练的结尾部分还有最后一些损失信息的统计什么的,就在train_frcnn.py中: # rpn_loss_cls rpn_loss_regr losses[iter_num, 0] = loss_rpn[1] losses[it...原创 2019-09-20 21:25:54 · 898 阅读 · 10 评论 -
Faster R-CNN Keras版源码史上最详细解读系列之RPN训练数据处理一
Faster R-CNN Keras版源码史上最详细解读系列之RPN训练数据处理训练数据处理训练数据处理训练数据处理前面我们将了RPN模型,同时包含特征提取的,输入是图片,输出是分类和回归,我们现在有了模型的预测输出,因为做的是有监督学习,所以我们还需要真实值输出,也就是标注框相关的分类和回归部分,以便于去计算损失。还是train_frcnn.py: # 图片,rpn的...原创 2019-09-19 11:18:30 · 1491 阅读 · 3 评论 -
Faster R-CNN Keras版源码史上最详细解读系列之RPN模型解析
Faster R-CNN Keras版源码史上最详细解读系列之RPN模型解析源码里的RPN模型源码里的RPN模型源码中有RPN模型,其实囊括了前面的特征提取部分,我们先来看下,他这个模型的结构,我们才能明白输入输出是怎么来的,还是train_frcnn.py:# 图片维度顺序的改变if K.image_dim_ordering() == 'th': input_shape_img ...原创 2019-09-18 12:35:41 · 1557 阅读 · 0 评论 -
目标检测学习-YOLO-v1
目标检测学习-YOLO-v1前言主要思想具体做法模型训练总结前言前面几篇讲目标检测的是R-CNN系列,基本都是基于候选区来进行分类和回归,可以说是分了两步。本篇开始介绍YOLO系列的yolo-v1,引入了一种新的思路,就是把分类和回归问题都归结为回归问题,一步到位。主要思想YOLO的主要思想在于全局的去看整个图像,从左到右,从上到下的去看每一个地方,然后给每个地方两个框,以便于回归物体的...原创 2019-08-03 20:48:25 · 398 阅读 · 0 评论 -
目标检测学习-滑动窗口法
目标检测学习-滑动窗口法目标检测的目的滑动窗口法交并比(IoU)非极大抑制(NMS)简单思路一些问题目标检测的目的最近在研究关于目标检测的项目,所以学习了下目标检测相关的基础,也有些自己的理解,所以就想记录下,分享下。目标检测的目的简单的说就是要找到图片里有什么东西,在什么位置,比如下面经典的图,能检测到一条狗,一辆自行车和一辆汽车,然后把他们所在的区域位置给显示出来:那这个是怎么做到的...原创 2019-07-27 14:46:11 · 12423 阅读 · 13 评论 -
目标检测学习-R-CNN
目标检测学习-R-CNN选择性搜索(Selective Search)简单思路R-CNN一些问题选择性搜索(Selective Search)要讲R-CNN之前,还得先说下这个算法,这个就是用来代替上篇文章讲的滑动窗口法。因为滑动窗口法效率太低了,是种暴力穷举的方法,所以有人就想能不能有点针对性的去找一些框啊,所以就有了选择性搜索。简单思路思路就是,把可能存在物体的区域给找出来,因为存在物...原创 2019-07-27 15:45:47 · 227 阅读 · 0 评论 -
目标检测学习-Fast R-CNN
目标检测学习-Fast R-CNN空间金字塔池化(Spatial Pyramid Pooling)感兴趣区域池化(Region Of Interest Pooling)Fast R-CNN还有问题空间金字塔池化(Spatial Pyramid Pooling)前面我们将的R-CNN在候选区选定后,输入到CNN经典网络之前,都需要进行尺寸的裁剪或者缩放(对提取特征可能会产生一定的影响),以便于满...原创 2019-07-27 22:48:04 · 406 阅读 · 0 评论 -
目标检测学习-YOLO-v2
目标检测学习-YOLO-v2改进Batch Normalization(批量归一化)High Resolution Classifier(高分辨率分类器)Convolutional With Anchor Boxesr(带有锚框的卷积)Dimension Clusters(维度聚类)Direct location prediction(直接位置预测)Fine-Grained Features(细粒...原创 2019-08-05 21:26:44 · 527 阅读 · 0 评论 -
目标检测学习-YOLO-v3
目标检测学习-YOLO-v3改进新的网络架构分类softmax改成logistic跨尺度的预测改进作者说自己玩了推特一年,没改进太多,不过也是有进步的,主要在三方面。新的网络架构这次作者参照了残差网络,构建了更加深的网络结构,充分发挥了3x3和1x1卷积的作用,叫做darknet53:分类softmax改成logistic为了适应一个框可能有多个类别,所以换成了二元交叉熵损失。跨尺...原创 2019-08-06 10:22:15 · 295 阅读 · 0 评论 -
Faster R-CNN Keras版源码史上最详细解读系列之简单介绍
Faster R-CNN Keras版源码史上最详细解读系列之简单介绍前言Faster R-CNN 简单介绍前言前面有写过一些RCNN系列的文章,毕竟光看源码,其实理解不深,很多的细节原理还得看代码,你会发现里面有很多设计的技巧,能更好的体会这个算法的思想。最近在看Faster R-CNN Keras版源码,也看了一下资料,希望可以比较完整的来解读下这个源码,网上也有一些文章解读,但是大多的...原创 2019-09-17 12:34:02 · 1509 阅读 · 0 评论 -
Faster R-CNN Keras版源码史上最详细解读系列之运行源码
Faster R-CNN Keras版源码史上最详细解读系列之源码运行源码介绍数据集格式介绍预训练模型修改部分源码文件源码介绍我想大多数人跟我一样,而且肯定是想要把源码先跑起来,然后慢慢看里面细节。我用的是windwos,一些最基本的环境,用到的库这种我就不说啦,具体可以看项目里的requirements.txt文件,或者百度。那就先说说keras版的源码,很多的源码是从yhenon克隆来的...原创 2019-09-17 14:49:51 · 6184 阅读 · 71 评论 -
Faster R-CNN Keras版源码史上最详细解读系列之数据解析
Faster R-CNN Keras版源码史上最详细解读系列之数据解析数据解析pascal_voc_parser.pysimple_parser.py数据解析我们可以在train_frcnn.py中看到数据解析的部分:# 上面说的解析参数使用的不同方式if options.parser == 'pascal_voc': from keras_frcnn.pascal_voc_par...原创 2019-09-17 15:56:23 · 1196 阅读 · 0 评论 -
Faster R-CNN Keras版源码史上最详细解读系列之vgg16与RPN网络
Faster R-CNN Keras版源码史上最详细解读系列之vgg16与RPN网络vgg16vgg.pyvgg16我们的特征提取网络是用vgg16作为主干网络的,只用前面的13层,最后3层全连接层不要。为什么不用其他的呢,比如resnet101,这个更深理论上当然更好啦,但是实际上训练时间和复杂性也提高啦,等简单的用好了,后面可以换嘛。先看看vgg16的结构吧,我网上找了一张比较清晰的图:...原创 2019-09-17 16:58:02 · 2770 阅读 · 2 评论 -
目标检测学习-Faster R-CNN
目标检测学习-Faster R-CNNR-CNN的问题Faster R-CNN的结构Rigion Proposal Network(RPN)总结R-CNN的问题上篇说过了R-CNN存在的问题就是候选区域的时间瓶颈,毕竟用Selective Search是CPU进行的,无法用GPU处理,所以Faster R-CNN在这里入手了,把这个候选的过程让神经网络去做。Faster R-CNN的结构F...原创 2019-07-28 22:34:14 · 440 阅读 · 0 评论