自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)

原创 opencv:特征匹配

一:简述在前面两节,我们介绍了各种特征检测的算法,SIFT、SURF、HOG、LBP、Haar等等,通过这些算法我们得到了关于一幅图像的特征描述子,接下来我们可以利用这些特征描述子进行图像与图像之间的匹配。二:FLANN特征匹配FLANN库全称是Fast Library for Approximate Nearest Neighbors,它是目前最完整的(近似)最近邻开源库。不但实...

2019-05-29 10:26:09 1748 1

原创 opencv:特征检测与提取——Hog、LBP、Haar-like

废话不多说了,直接切入正题,本文将介绍另外三种特征提取算法:HOG,LBP,Haar。首先,让我们了解一下HOG算法一:HOG特征提取概述在一副图像中,局部目标的表象和形状能够被梯度或边缘的方向密度分布很好地描述。(本质:梯度的统计信息,而梯度主要存在于边缘的地方)。HOG特征提取的目标其实就是这些局部区域的表象和形状,该算法大致的实现过程是:首先将图像分成小的连通区域,我们把它叫...

2019-05-29 10:09:30 2479

原创 opencv:特征检测与提取——SIFT and SURF

一:前言特征检测是计算机视觉和图像处理中的一个概念。它指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征检测的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。在opencv中,我们常用的特征检测算法有SIFT,SURF以及HOG,LBP,Haar特征检测等等,下面我们将分别介绍这几个算法。篇幅有点长,我尽量每个地方都能说到,有错误...

2019-05-06 15:51:30 410

原创 opencv——角点检测

一:角点检测什么是角点,难道是角落里面的点?我们知道,比如说墙角,他有往左延申的边缘,又有往右延申的边缘,那么这样的概念同样可以帮助我们理解图像的角点检测。其实我们人眼对于角点的识别是通过一个小窗口来实现的,如下面这张图所示,如果在各个方向上移动这个小窗口,窗口内的灰度发生了较大的变化,那么说明窗口内存在角点。如果在各个方向上移动,灰度变化为0,则这一块区域是平坦区域 如果...

2019-04-28 22:31:22 1715

原创 算法小谈:递归

一:递归基本概念:一个函数调用它自身,就是递归如求n的阶乘的递归:#include<iostream>using namespace std;int factorial(int n) { if (n == 1) return 1; else return n * factorial(n - 1);}int main() { int n;...

2019-04-26 14:36:21 215

原创 算法小谈:枚举

一 概述在进行归纳推理时,如果逐个考察了某类事件的所有可能情况,因而得出一般结论,那么这结论是可靠的,这种归纳方法叫做枚举法。例如:我们如果要求一个小于N的最大素数,但是这里没有一个公式能根据N求出对应的素数,所以我们可以从N-1,N-2 一直往下递减,然后判断这个数是不是N的素数,直到找到为止。这样我们就把这个问题转化为一个枚举问题了。二 完美立方等式我们可以通过一个简单的...

2019-04-26 10:37:50 71

原创 机器学习实战笔记:AdaBoost

AdaBoost概述AdaBoost是典型的Boosting算法,属于Boosting家族的一员。在说AdaBoost之前,先说说Boosting提升算法。Boosting算法基于这样一种思想:如果有一个复杂的问题,如果将多个专家的判断进行适当的综合可能要比某一个单独的专家独自判断的结果要好,实际上就是“三个臭皮匠顶个诸葛亮”的道理。将这个思想应用于机器学习领域,如果有一个问题,存...

2019-04-25 16:51:08 140

转载 数据结构——三大查找

前言在之前的两篇文章中,我们总结了八种经典的排序算法,分别为直接插入排序,希尔排序,简单选择排序,堆排序,冒泡排序,归并排序,快速排序,基数排序,并分别用python和C++来实现每个排序算法。在这篇文章中,我们将继续学习数据结构中的三种常用的查找算法:二分查找,块查找,哈希查找。二分查找二分查找作为最简单的一种查找方式,已经被很多人应用。二分查找所查找的对象必须是一个有序数组,即如果...

2019-04-22 21:19:41 153

原创 数据结构——八大排序算法(2)

前言在上一篇文章中,我们学习了八大排序算法中的前四种排序,分别是直接插入排序,希尔排序,简单选择排序,堆排序。接下俩,我们将继续学习剩下的四种排序算法,分别是冒泡排序,快速排序,归并排序,基数排序。冒泡排序冒泡排序思路比较简单:将序列当中的左右元素,依次比较,保证右边的元素始终大于左边的元素; ( 第一轮结束后,序列最后一个元素一定是当前序列的最大值;) 对序列当中剩...

2019-04-19 15:11:13 76

原创 机器学习实战笔记:深入理解SVM之非线性支持向量机以及SMO算法

前述在前面我们介绍了线性情况下的支持向量机,它是通过寻找一个线性的超平面来达到对数据进行分类的目的。只是,由于是线性方法,所以对非线性的数据就没有办法处理了。非线性支持向量机比如图中的两类数据,分别分布为两个圆圈的形状,因为数据本身就是线性不可分的,所以不论是什么高级的分类器,仅仅要它是线性的,就没法处理,SVM 也不行。我们可以看到该数据集就是用两个半径不同的圆圈加...

2019-04-18 21:31:05 156

原创 数据结构——八大排序算法(1)

前言数据结构中的排序分为内排序和外排序。其中内排序是指将排序记录存放在计算机随机存储器(内存)中进行的排序过程,而外部排序因为待排序记录数量很大,以至于内存不能一次容纳全部记录,所以在排序过程中需要对外部存储器进行访问的排序过程。在衡量两者排序的效率上,内部排序衡量的标准为时间复杂度,外部排序衡量的是读写外存的次数。我们耳熟能详的八大排序算法就属于内排序。如下图所示:下面...

2019-04-18 18:18:32 95

原创 机器学习实战笔记:深入理解SVM之线性支持向量机

写在前面说实话,真的要全部理解SVM真的挺难的,作为一个正在入门中的小白,表示真的花了不少时间来弄懂每一个公式,其中滋味不言而喻。但是与之而来的则是推出每一个公式后的成就感,或许这也是让我和看到这篇文章的你能够坚持下去的动力吧!本篇文章的所有理论均来自于各个博客的大佬,在这里我尽量用最通俗的话来解释SVM的理论基础知识并附上相关博客链接,篇幅可能较长,还希望能够静心看下去,若是有哪些地...

2019-04-16 20:21:07 122

原创 机器学习实战笔记:Logistic回归

概述在这一部分内容中,我们将首次接触最优化算法。其实我们在日常生活中也会经常发现最优化问题,比如如何在最短时间内从A点到达B点?如何投入最少的时间获得最大的效益等等。可见,求解最优化问题将会是我们遇见的很多问题都变得简洁,下面我们将介绍几个最优化算法,并利用他们训练拿出一个非线性函数用于分类。假如二维平面内有一些数据点,现在我们需要用一条直线来对这些点进行拟合,这种不断的求取最佳...

2019-04-15 19:09:39 68

原创 机器学习实战笔记:朴素贝叶斯分类

前言在之前我们讲述knn以及决策树时。曾要求分类器做出决策给出“该实例属于哪一类”这类问题的明确答案。不过分类器有时候会产生错误的结果,这个时候要求分类器给出一个最优的类别猜测结果,同时给出这个猜测的概率估计值。之前决策树章节里信息熵的计算就涉及到了一些概率知识,接下来我们将在这个基础上深入讨论。本章会给出一些使用概率论进行分类的方法。首先从一个最简单的概率分类器开始,然后给出一些假...

2019-04-10 21:18:29 266

原创 机器学习实战笔记:树回归-CART算法

前言在上一章中我们使用了ID3算法来构造树。ID3的做法是每次选取当前最佳的特征来分割数据,并按照该特征的所有可能取值来切分。也就是说,如果一个特征有4种取值,那么数据将被切成4份。一旦按某特征切分后,该特征在之后的算法执行过程中将不会再起作用,所以有观点认为这种切分方式过于迅速。另外一种方法是二元切分法,即每次把数据集切成两份。如果数据的某特征值等于切分所要求的值,那么这些数据就进人树...

2019-04-08 17:20:36 1028 2

原创 机器学习实战笔记:决策树(Decision Tree)

PS该部分内容所设计到的程序源码已经存在我的github上,地址奉上:https://github.com/AdventureSJ/ML-Notes/tree/master/DecisionTree欢迎各位大佬批评指正,也欢迎各位好友fock or star!Thank You!概述在前面所述的k-近邻算法可以完成很多分类任务,但是他最大的缺点就是无法给出数据的内部含...

2019-04-04 16:10:02 263

原创 机器学习实战笔记:K-means和K-近邻 (二)

k-近邻算法概述简单的说,k-近邻算法采用测量不同特征值之间的距离方法进行分类,其工作原理是:存在一个样本数据集合,也称作训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一数据与所属分类的对应关系。输人没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签。一般来说,我们只选择样本数据集中前k个最相似的数...

2019-04-03 14:53:57 92

原创 机器学习实战笔记:k-means和k-NN (一)

监督学习和无监督学习对于很多和我一样的朋友们,作为一个机器学习的初学者,在刚开始接触这两个算法的时候,总是弄不清楚这两者的区别。因此,今天特意专门写一篇文章来阐述这两个算法的原理以及实践,在巩固自己学习知识的同时,能让更多的初学者能够理解这两个算法。首先我们要理解什么是监督学习和无监督学习。监督学习就是最常见的分类问题(注意和聚类区分),通过已有的训练样本(即已知数据机器对应的输出)去训练...

2019-04-02 14:44:12 363

空空如也

空空如也

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