自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (5)
  • 收藏
  • 关注

原创 DCGANs源码解析(二)

model.pyDCGANs大部分都在一个叫做 DCGAN 的 Python 类(class)中(model.py)。像这样把所有东西都放在一个类中非常有用,因为训练后中间状态可以被保存起来,以便后面使用。首先让我们定义生成器和鉴别器(上一篇已经介绍过了)。 linear, conv2d_transpose, conv2d, 和 lrelu 函数都是在 ops.py 中定义的。1.初始化DCGAN

2017-01-11 20:49:31 6481 5

原创 DCGAN 源码分析(一)

DCGANhttps://github.com/carpedm20/DCGAN-tensorflowDCGAN的原理和GAN是一样的,它只是把上述的G和D换成了两个卷积神经网络(CNN)。但不是直接换就可以了,DCGAN对卷积神经网络的结构做了一些改变,以提高样本的质量和收敛的速度,这些改变如下:取消所有pooling层。G网络中使用反卷积(Deconvolutional layer)进行上采样,

2017-01-11 14:07:35 24808 11

原创 yolo v2 源码分析(一)

detector .c文件,这里仅分析train_detector void train_detector(char *datacfg, char *cfgfile, char *weightfile, int *gpus, int ngpus, int clear){ list *options = read_data_cfg(datacfg); char *train_ima

2017-01-06 17:34:42 7616 2

转载 YOLOv2如何fine-tuning?

在上一篇用YOLOv2模型训练VOC数据集中,我们尝试用YOLOv2来训练voc数据集,但我想训练自己的数据集,那么YOLOv2如何做fine-tuning呢?我们一步一步来做~1 准备数据1.1 建立层次结构首先在darknet/data文件夹下创建一个文件夹fddb2016,文件层次如下--fddb2016 --Annotations 2002_07

2016-12-26 13:30:51 2135 1

转载 YOLO源码详解(五)-追本溯源7*7个grid

者:木凌 时间:2016年11月。 文章连接:http://blog.csdn.net/u014540717最近一直有人在问,把图像分为7*7个网格,每个网格推荐两个框是什么意思,一直没搞明白,今天我们就从源码入手,追本溯源,彻底理解7*7个grid 在YOLO源码详解(三)- 前向传播(forward)里,我们分析了detection_layer.c层的代码,我们来看一下

2016-12-26 13:26:38 924

转载 YOLO源码详解(五)- YOLO中的7*7个grid和RPN中的9个anchors

本系列作者:木凌 时间:2016年12月。 文章连接:http://blog.csdn.net/u014540717一直不知道7×7的网格到底是干什么的,不就是结果预测7×7×2个框吗,这跟把原图分成7×7有什么关系?不分成7×7就不能预测7×7×2个框吗?之前跟一个朋友讨论,他说7×7的网格是作为回归框的初始位置,我后来的很长一段时间一直这么认为,后来想想不对啊,bb

2016-12-26 11:55:30 1345

转载 YOLO源码详解(四)- 反向传播(back propagation)

本系列作者:木凌 时间:2016年12月。 文章连接:http://blog.csdn.net/u014540717反向传播是CNN中非常重要的一个环节,对于理论部分,这里不做介绍,如果对反向传播理论部分不熟悉,可以查看以下网站。 非常详细:零基础入门深度学习(3) - 神经网络和反向传播算法 非常详细:零基础入门深度学习(4) - 卷积神经网络 非常生动:如何直观

2016-12-26 11:51:23 1094

转载 YOLO源码详解(三)- 前向传播(forward)

本系列作者:木凌 时间:2016年11月。 文章连接:http://blog.csdn.net/u014540717一、主函数void forward_network(network net, network_state state)//network.cvoid forward_network(network net, network_state state){

2016-12-26 11:27:31 2762

转载 YOLO源码详解(二)- 函数剖析

本系列作者:木凌 时间:2016年11月。 文章连接:http://blog.csdn.net/u0145407171、网络参数解析函数:parse_network_cfgnetwork parse_network_cfg(char *filename){ //read_cfg这个函数将所有的参数读到一个图中,如下所示,希望能帮助理解下代码 list *s

2016-12-26 10:40:24 1559

转载 YOLO源码详解(一)-训练

本系列作者:木凌 时间:2016年11月。 文章连接:http://blog.csdn.net/u014540717本系列文章会持续更新,主要会分以下几个部分: 1、darknet下的yolo源代码解读 2、将yolo移植到mxnet下 3、模型压缩与加速 白天需要工作,只有晚上时间写,所以可能更新速度有点慢,还有就是该系列博文不一定会严格按照以上三点的顺序来写

2016-12-26 10:28:30 2097

原创 keras和caffe的区别(1)

一.样本目录的区别:caffe创建样本时,允许样本目录下有多级子目录,最终的类型数是样本目录下的文件个数如样本目录是:train,图片存放在worker,tools,machine,orign。。。等子目录下        |------worker |------postive----|------tools        |                 |-

2016-11-04 18:59:13 3637

原创 如何使用网络的bottleneck特征提升准确率

使用预训练网络的bottleneck特征:一分钟达到90%的正确率一个稍微讲究一点的办法是,利用在大规模数据集上预训练好的网络。这样的网络在多数的计算机视觉问题上都能取得不错的特征,利用这样的特征可以让我们获得更高的准确率。我们将使用vgg-16网络,该网络在ImageNet数据集上进行训练,这个模型我们之前提到过了。因为ImageNet数据集包含多种“猫”类和多种“狗”类,这个模

2016-10-28 15:31:56 14604 3

原创 如何进行finetune

进行finetune的命令如下:..\..\bin\caffe.exe train --solver=.\solver.prototxt -weights .\test.caffemodelpause 下面介绍caffe.exe的几个参数:1)这里caffe.exe中第一个参数为train表示训练,如果为test表示进行测试2)不论是finetune还是从头开始的训练,都必

2016-05-27 11:57:15 8074 4

原创 solver参数说明

# The train/test net protocol buffer definition  net:"examples/mnist/lenet_train_test.prototxt"        //网络协议具体定义  # test_iter specifies how many forward passes the testshould carry out.  # In

2016-05-27 11:39:28 789

原创 LRN归一化

LRN全称为LocalResponse Normalization,即局部响应归一化层。局部响应归一化层完成一种“临近抑制”操作,对局部输入区域进行归一化具体实现在CAFFE_ROOT/src/caffe/layers/lrn_layer.cpp和同一目录下lrn_layer.cu中。 该层需要参数有:norm_region: 选择对相邻通道间归一化还是通道内空间区域归一化,默认为

2016-05-27 11:14:13 3301

原创 AdaptiveThreshold

void cvAdaptiveThreshold( const CvArr* src, CvArr* dst,  double max_value,  int adaptive_method=CV_ADAPTIVE_THRESH_MEAN_C,int threshold_type=CV_THRESH_BINARY,  int block_size=3,  double param1=5 );

2016-05-27 11:03:50 1122

转载 explicit

explicit作用:在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。explicit使用注意事项:    *      explicit 关键字只能用于类内部的构造函数声明上。    *      explicit 关键字作用于单个参数的构造函数。

2016-05-27 11:00:16 326

原创 traincascade中不同特征的生成

traincascade中不同特征的生成traincascade和haartrainning的主要区别:1. haartrainning只能使用haar特征,而traincascade可以使用haar,lbp,hog特征,并且还容易扩展其他的特征。2. traincascade的组织结构相对清晰,即先根据指定的特征,生成相应的特征,然后使用boost的方法依次训练处每个stage的树。

2015-08-19 17:43:44 1068

原创 决策树,随机森林,boost小结

决策树,随机森林,boost小结决策树(CvDTree)是最基础的,是CvForestTree和CvBoostTree的父类。决策树的生成,一般资料中都是基于ID3算法(熵增益),即ID3算法在每个节点分裂时,选择使gain(A)最大的特征分裂。 Opencv中决策树的生成是基于吉尼不纯度最小的原则生成的。即选择 最小的分裂。其中,m为样本的种类,如只有正负样本,则m为

2015-08-14 11:36:49 1581

原创 双边滤波

1. 简介图像平滑是一个重要的操作,而且有多种成熟的算法。这里主要简单介绍一下Bilateral方法(双边滤波)。Bilateral blur相对于传统的高斯blur来说很重要的一个特性即可可以保持边缘(Edge Perseving),这个特点对于一些图像模糊来说很有用。一般的高斯模糊在进行采样时主要考虑了像素间的空间距离关系,但是却并没有考虑像素值之间的相似程度,因此这样我们得到的模糊结

2015-05-28 17:37:42 2064

原创 KNN算法

邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法可以说是整个数据挖掘分类技术中最简单的方法了。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用她最接近的k个邻居来代表。kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或

2015-03-20 10:17:27 3836

原创 随机森林的训练过程

随机森林顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的。在得到森林之后,当有一个新的输入样本进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个样本应该属于哪一类(对于分类算法),然后看看哪一类被选择最多,就预测这个样本为那一类。在建立每一棵决策树的过程中,有两点需要注意 -采样与完全分裂。首先是两个随机采样的过程,ran

2014-09-28 18:24:08 14893

原创 boost的训练过程

bool CvBoost::train( const CvMat* _train_data, int _tflag,             const CvMat* _responses, const CvMat* _var_idx,             const CvMat* _sample_idx, const CvMat* _var_type,          

2014-09-25 19:15:14 1212

原创 决策树的训练过程

void CvDTree::try_split_node( CvDTreeNode* node ){    CvDTreeSplit*best_split = 0;    inti, n = node->sample_count, vi;    boolcan_split = true;    doublequality_scale; c

2014-09-23 18:48:43 5307 1

原创 标识训练数据,生成文件索引程序

#include #include "opencv2/opencv.hpp"#define SAMPLE_NUM 31CvRect rect;bool bDrawFlag=false;IplImage * g_image = NULL;bool bIsMark = false;void Draw_Box(void * param){ CvPoint pt1;

2014-09-10 15:27:06 579

原创 Opencv中meanShiftSegmentation的实现

Opencv中meanshift的实现1.样例在opencv-2.4.6.1\samples\cpp的meanShift_Segmentation.cpp中staticvoid meanShiftSegmentation(int, void* ){    cout <<"spatialRad=" spatialRad <<"; "         "colorR

2014-09-01 19:19:26 1881 1

原创 groupRectangles函数详解

templatetypename_Tp, class _EqPredicate> intpartition(const vector_Tp>&_vec, vectorint>&labels,           _EqPredicate predicate=_EqPredicate()){    inti, j, N = (int)_vec.size

2014-09-01 11:25:45 3660 1

原创 并查集---partition函数使用

本文主要介绍解决动态连通性一类问题的一种算法,使用到了一种叫做并查集的数据结构,称为Union-Find。更多的信息可以参考Algorithms一书的Section 1.5,实际上本文也就是基于它的一篇读后感吧。原文中更多的是给出一些结论,我尝试给出一些思路上的过程,即为什么要使用这个方法,而不是别的什么方法。我觉得这个可能更加有意义一些,相比于记下一些结论。关于动态连通性我们看一张图

2014-09-01 11:25:45 934

原创 casecade结构和HAAR检测流程

//使用样例,其中_cascade为CvHaarClassifierCascade结构,//cascade为CvHidHaarClassifierCascade结构for(i = 0; i _cascade->count; i++ ){    intj, k, l;    for(j = 0; j cascade->stage_classifier[i]

2014-09-01 11:16:47 7748 1

原创 计算积分图

积分图是为了加速计算HAAR特征值,积分图中每个点的值代表“积分”,即计算相应矩形框中所有像素的累积和。该矩形框的左上角为图像原点,右下角为图像每一点的位置。积分图比原图多一行和一列,分别对应原图像最上面和最左面,即最上面对应以最上面的点为矩形框右下角,此时累积和都为0;最左面对应以最左面的点为矩形框右下角,此时累积和也都为0。 为了方便计算积分图,每一点的值为以下二者的和:1. 

2014-09-01 11:07:53 1201

原创 图像变换-霍夫变换

HoughLines利用 Hough 变换在二值图像中找到直线 CvSeq* cvHoughLines2( CvArr* image, void* line_storage, int method, double rho, double theta, int threshold, double pa

2014-06-06 11:43:37 860 1

原创 DispatchMessage, SendMessage

SendMessage实现sendmessage发送消息的接收,在消息的接收方,覆写DefWindowProc(),在该方法中即可接收到sendmessage方法发送来的消息。因为sendmessage发送的消息,不再经过消息队列,而是直接发送给指定对象。所以一般的消息响应,包括PreTranslateMessage方法都无法接收到该信息,只能通过覆写DefWindowProc方法,来接收信息

2014-03-14 17:48:16 1818

原创 在vector的循环中调用erase

在使用vector的过程中,有时会遇到需要循环遍历vector,并删除符合指定条件的元素。当“指定条件”不复杂时,应该尽量使用erase(remove_if(begin, end, func), end)的形式来完成功能。但有时候“指定条件”过于复杂,不得不显式地写一个for循环来处理。我们必须小心在意erase所带来的side effect,一个一般性的for循环如下: 1

2014-03-14 09:44:26 1068 1

原创 光流检测(optical flow)

函数解析cvGoodFeaturesToTrack,http://blog.csdn.net/moc062066/article/details/6634120,和cvFindCornerSubPix,http://blog.csdn.net/moc062066/article/details/6634961两个函数的基础,接下来就是在视频中检测光流(optical flo

2013-12-18 14:28:18 1714

原创 轮廓处理函数

用多边形曲线逼近 Freeman 链CvSeq* cvApproxChains( CvSeq* src_seq, CvMemStorage* storage, int method=CV_CHAIN_APPROX_SIMPLE, double parameter=0, int minimal_per

2013-12-10 10:10:38 1107

原创 积分图

cvIntergral  积分图像可作为任意尺寸矩形图像求和的快速运算。设I为image的积分图像。则计算左上角坐标(x1,y1)和右下角(x2,y2)的矩形区域像素和的公式为: sum = I(x2,y2)-I(x1-1,y2)-I(x2,y1-1)+I(x1-1,y1-1); /* Finds integral image: SUM(X,Y) = sum(xCVAP

2013-12-05 11:08:59 574

原创 3D光照渲染小球

#include#include#include#include#includevoid init(void){ printf(" init"); GLfloat mat_specular[]={1.0,1.0,1.0,1.0}; GLfloat mat_shininess[]={50.0}; GLfloat light_position[]={1.0, 1.0,

2013-10-14 12:07:33 801

原创 OpenGL画小球(无光照渲染)

#include "windows.h"#define GLUT_DISABLE_ATEXIT_HACK#include #include void display(){ glClear(GL_COLOR_BUFFER_BIT); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glColor3f( 1.0f, 1.0f, 1.

2013-10-12 14:20:32 2123

原创 vs2008 + openGL 3.3编程环境配置

OpenGL的基本库,系统自动带,如glu.h, glu32.lib和   glu32.dll分别已经存在以下路径中。C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Include\gl-----------glu.hC:\Program Files (x86)\Microsoft SDKs\Windows\v6.

2013-10-12 10:31:47 1168

原创 kinect测距

目前,市面上主流的体感游戏有kinect,华硕,,乐视和绿动。这几个的深度信息获取无一例外都是由一个以色列公司primesense提供的。现在就以微软的kinect为例说明。kinect  一共有三个摄像头,中间为RGB摄像头,左边为红外投影器,右边为红外感应器。深度信息获取使用红外结构光,即激光散斑。。primesense公司称之为light coding技术。RGB摄像头主要为

2013-10-08 16:42:34 4167

opencv学习资料

opencv学习中的一些资料和个人总结,包括机器学习,如adaboost,svm ,hog等,也有图像处理中的一些基本技术

2015-08-31

决策树的训练过程

决策树的训练过程

2014-09-28

随机森林的训练

介绍了opencv中随机森林的训练过程,整个过程基于决策树,只是每次训练一颗决策树时都对样本进行随机采样,选择最优分裂时,对备选的特征也进行随机采样。

2014-09-28

boost训练_opencv

详细介绍了opencv中关于boost训练的源码,这里是基于决策树进行的

2014-09-25

Opengl实现3d小球

Opengl实现3d小球

2013-10-14

空空如也

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

TA关注的人

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