- 博客(26)
- 资源 (8)
- 收藏
- 关注
转载 GBDT和XGBoost
写在最开头,对GB的理解: 1、Gradient Boosting:每一次的计算是为了减少上一次的残差(residual),而为了消除残差,我们可以在残差减少的梯度(Gradient)方向上建立一个新的模型。在Gradient Boost中,每个新的模型的建立是为了使得之前模型的残差往梯度方向减少(当然也可以变向理解成每个新建的模型都给予上一模型的误差给了更多的关注), ...
2019-04-29 15:07:55 1556
转载 opencv Haar+AdaBoost分类器+Cascade
写的很乱,仅供自己做笔记使用吧。。。。。。。。1-以Haar为始,Haar各种特征示例: 每一个小黑白块就是一种规则,也是一种特征,也是一个分类器。不过单独一个这样的分类器当真不敢恭维,他们都是弱分类器,他们能做得不多,就像战场上的士兵不计其数,组合在一起却会有意想不到的变化。 2、AdaBoost...
2019-04-25 20:10:01 4375 1
原创 window+VS+OpenCV编译libfacedetection库进行人脸检测
libfacedetection 是一个基于CNN的人脸检测的开源库。libfacedetection库是深圳大学的于仕琪老师发布的开源人脸检测库,相比于OpenCV自带的CascadeClassifier人脸检测,无论在速度上还是精度上,都有巨大的优势,是目前已知开源库中最好用的一款。CNN模型已在C源文件中转换为stastic variales。目前该项目已开放源码。源代码不依赖于任何...
2019-04-23 14:35:48 2869 17
原创 常用的优化方法-梯度下降、牛顿法、坐标下降法
最优化问题在机器学习中有非常重要的地位,很多机器学习算法最后都归结为求解最优化问题。在各种最优化算法中,梯度下降法是最简单、最常见的一种,在深度学习的训练中被广为使用。 最优化问题是求解函数极值的问题,包括极大值和极小值。微积分为我们求函数的极值提供了一个统一的思路:找函数的导数等于0的点,因为在极值点处,导数必定为0。这样,只要函数的可导的,我们就可以用这个万能的方法解决问题,...
2019-04-21 16:28:33 2742
原创 从R-CNN到Faster R-CNN漫谈
本文相当长。。。。。。。。。 object detection,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。object detection要解决的问题就是物体在哪里,是什么这整个流程的问题。然而,这个问题可不是那么容易解决的,物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图片的任何地方,更何况物体还可以是多个类别。 R-CNN系列论文...
2019-04-18 20:00:48 3214
原创 easyPR源码解析之ann_train.h/config.h
ann_train.h源码定义一个 AnnTrain类,该类继承自ITrain类(在train.h文件中):#include "easypr/train/train.h"#include "easypr/util/kv.h"#include <memory>namespace easypr {class AnnTrain : public ITrain {publi...
2019-04-18 11:15:13 1246 2
原创 机器学习实战15-自动编码器
大话循环神经网络(RNN):https://my.oschina.net/u/876354/blog/1621839自动编码器 自动编码器是能够在无监督的情况下学习输入数据的有效表示(编码)的人工神经网络(训练集是未标记)。这些编码通常具有比输入数据低得多的维度,使得自编码器对降维有用。更重要的是,自动编码器可以作为强大的特征检测器,它们可以用于无监督的深度神经网络预训练。最...
2019-04-17 12:44:53 5430 1
转载 opencv机器学习ml模块简介
本文不涉原理,只介绍如何使用!ml模块为opencv的机器学习(machine learning,ml)代码库,包含各种机器学习算法:0, class CvStatModel ; class CvMLData; struct CvParamGrid;1,Normal Bayes Classifier(贝叶斯分类);2,K-...
2019-04-16 15:59:03 10399
原创 easyPR源码解析之chars_identify.h
在上一篇文章的介绍中,我们已经通过相应的字符分割方法,将车牌区域进行分割,得到7个分割字符图块,接下来要做的就是将字符图块放入训练好的神经网络模型,通过模型来预测每个图块所表示的具体字符。本节主要介绍字符特征的提取,和如何通过训练好的神经网络模型来进行字符的识别。 字符识别主要是通过类CharsIdentify来进行,对于中文字符和非中文字符,分别采取了不同的策略,训练得...
2019-04-16 09:54:04 896
原创 easyPR源码解析之chars_segment.h
chars_segment.h用于从已经通过SVM判别得到的车牌区域中将车牌的字符分割开,用于下一步的ANN字符识别。namespace easypr {class CCharsSegment {public: CCharsSegment(); // using ostu algotithm the segment chars in plate字符分割,步骤为:灰度化,阈值,找轮...
2019-04-15 12:31:57 832 3
原创 C
1、初始化操作由 case 标签跳过错误代码:switch (CA) { case 1: int high_r = 11; //行 int high_c = 11; //列 int inter = 5; //亮暗区间隔 int mul = 3; //亮暗区倍数关系 shadow_dection(hi...
2019-04-13 18:18:17 340
原创 机器/深度学习常见面试问题
1.训练决策树时的参数是什么?DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=2, max_features=None, max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split...
2019-04-11 20:05:29 2974
原创 OpenCV人脸识别类FaceRecognizer
官方文档:https://docs.opencv.org/3.4.3/dd/d81/facerec_8hpp.html源代码在 .\opencv_contrib-3.4.3\modules\face\src中Opencv实现从OpenCV2.4开始,加入新的类FaceRecognizer,可以用它方便的进行人脸识别实验。人脸识别的任务也就是两大部分,训练和预测,分别对应着train...
2019-04-10 19:16:39 15775
原创 人脸识别算法二:Fisherface(LDA)
LDA线性判别分析 也称FLD(Fisher线性判别)是一种有监督的学习方法(supervised learning)。目的:是从高维空间中提取出最优判别力的低维特征,这些特征使同一类别的样本尽可能的靠近,同时使不同类别的样本尽可能的分开,即选择使样本的类间散布矩阵和类内散布矩阵达到最大比值的特征。因此,用FLD得到的特征不但能够较好的表示原始数据,而且更适合分类。 ...
2019-04-10 16:19:57 7740 1
原创 人脸识别算法一:特征脸方法(Eigenface)
一、特征脸 特征脸EigenFace从思想上其实挺简单。就相当于把人脸从像素空间变换到另一个空间,在另一个空间中做相似性的计算。这么说,其实图像识别的基本思想都是一样的,首先选择一个合适的子空间,将所有的图像变换到这个子空间上,然后再在这个子空间上衡量相似性或者进行分类学习。 通过变换到另一个空间,同一个类别的图像会聚到一起,不同类别的图像会距离比较远,因为图像各...
2019-04-10 15:41:38 20216 1
原创 easyPR源码解析之plate_judge.h
#ifndef EASYPR_CORE_PLATEJUDGE_H_#define EASYPR_CORE_PLATEJUDGE_H_#include "easypr/core/plate.hpp"#include "easypr/core/feature.h"//参见文末6namespace easypr {class PlateJudge {public://类名后面加*...
2019-04-10 13:04:33 807
转载 车牌定位之MSER — 文本检测
最大稳定极值区域(MSER-Maximally Stable Extremal Regions)可以用于图像的斑点区域检测。它是基于分水岭的概念。 SIFT和SURF算法高效实现了具有尺度和旋转不变性的特征检测,但这些特征不具有仿射不变性。区域检测针对各种不同形状的图像区域,通过对区域的旋转和尺寸归一化,可以实现仿射不变性。MSER(Maximally Stable Ext...
2019-04-08 21:20:40 6547
原创 easyPR源码解析之plate_locate.h
从今天开始,准备一点一点的啃代码easyPR项目。我们先从libesypr文件下的源文件/core/plate_locate.cpp开始:plate_locate.cpp文件中包含的头文件如下:#include "easypr/core/plate_locate.h"#include "easypr/core/core_func.h"#include "easypr/util/u...
2019-04-07 20:03:56 1348
转载 CNN经典模型:深度残差网络(DRN)ResNet
一说起“深度学习”,自然就联想到它非常显著的特点“深、深、深”(重要的事说三遍),通过很深层次的网络实现准确率非常高的图像识别、语音识别等能力。因此,我们自然很容易就想到:深的网络一般会比浅的网络效果好,如果要进一步地提升模型的准确率,最直接的方法就是把网络设计得越深越好,这样模型的准确率也就会越来越准确。 那现实是这样吗?先看几个经典的图像识别深度学习模型:...
2019-04-06 10:37:44 11400
转载 CNN经典模型:VGGNet
2014年,牛津大学计算机视觉组(Visual Geometry Group)和Google DeepMind公司的研究员一起研发出了新的深度卷积神经网络:VGGNet,并取得了ILSVRC2014比赛分类项目的第二名(第一名是GoogLeNet)和定位项目的第一名。VggNet一共有六种不同的网络结构,但是每种结构都有含有5组卷积,每组卷积都使用3x3的卷积核,每组卷积后进行一个2...
2019-04-05 21:35:21 4054
转载 CNN经典模型:GoogLeNet(从Inception v1到v4的演进)
GoogLeNet和VGG是2014年ImageNet挑战赛(ILSVRC14)的双雄,GoogLeNet获得第一名、VGG获得第二名,这两类模型结构的共同特点是层次更深了。VGG继承了LeNet以及AlexNet的一些框架结构,(大话CNN经典模型:VGGNet)而GoogLeNet则做了更加大胆的网络结构尝试,虽然深度只有22层,但大小却比AlexNet和VGG小很多,Google...
2019-04-05 20:49:47 3276
原创 机器学习实战13-卷积神经网络
机器学习实战13-设备和服务器上的分布式 TensorFlow就先不学习了,详情可参见:十二、设备和服务器上的分布式 TensorFlow 卷积神经网络(CNN)是从大脑视觉皮层的研究中出现的,自 20 世纪 80 年代以来它们一直用于图像识别。在过去的几年里,由于计算能力的增加,可用训练数据的数量以及第 11 章介绍的训练深度网络的技巧,CNN 致力于在某些复杂的视觉任务中做出...
2019-04-05 10:39:10 6284 2
原创 #ifndef#define与namespace杂谈
一、#ifndef#define#endif注意问题:变量一般不要定义在.h文件中。总结:二、#define宏定义三、namespace命名空间一、#ifndef#define#endif首先说明下几点基础知识:1.预编译阶段把所有#include ”***.h“ (“”与<>的区别这里就不说了)用***.h的内容来替换了, 所以之后就没有.h了所有.h...
2019-04-04 10:13:21 2763
转载 从LeNet到AlexNet
CNN卷积神经网络的经典网络综述一切的开始( LeNet)1、Input (32*32)2、C1, C3, C5 (卷积层)3、S2, S4 (pooling层)4、F6 (全连接层)5、Output (输出层)详细参数:1、INPUT层-输入层2、C1层-卷积层3、S2层-池化层(下采样层)4、C3层-卷积层5、S4层-池化层(下采样层)6、C...
2019-04-03 13:38:53 4942 1
原创 C++头文件和源文件,编译过程
源文件如何根据#include来关联头文件1、系统自带的头文件用尖括号括起来,这样编译器会在系统文件目录下查找。#include <xxx.h>2、用户自定义的文件用双引号括起来,编译器首先会在用户目录下查找,然后在到C++安装目录(比如VC中可以指定和修改库文件查找路径,Unix和Linux中可以通过环境变量来设定)中查找,最后在系统文件中查找。#include ...
2019-04-01 16:07:15 39249 15
原创 神经网络的BP算法推导详解
一个神经网络程序包含以下几部分内容。 1.数据表达和特征提取。对于一个非深度学习神经网络,主要影响其模型准确度的因素就是数据表达和特征提取。同样的一组数据,在欧式空间和非欧空间,就会有着不同的分布。有时候换一种思考问题的思路就会使得问题变得简单。所以选择合适的数据表达可以极大的降低解决问题的难度。同样,在机器学习中,特征的提取也不是一种简单的事。在一些复杂问题上,要通过人工的方式设计有效的特...
2019-04-01 11:03:02 42314 6
lable_multROI.m
2021-08-20
本科嵌入式大作业参考提交
2015-12-17
cc2530点对点通信
2015-08-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人