- 博客(63)
- 资源 (13)
- 收藏
- 关注

原创 opencv双目视觉标定、匹配和测量 (附代码)
双目视觉原理方面参照《学习Opencv》和大牛博客 http://blog.youkuaiyun.com/chenyusiyuan/article/details/5970799中16-19系列博客。本文主要记录我自己在双目视觉标定,立体匹配,测量中遇到的问题和解决方法,并附有代码,文末有代码下载的地址,欢迎交流。博主使用的相机是USB双目免驱相机,相机驱动见另外一篇博客: USB免驱摄像头采集图像【VS2
2016-10-10 16:11:07
34156
58

原创 基于情感词典的情感打分
原理我就不讲了,请移步下面这篇论文,包括情感词典的构建(各位读者可以根据自己的需求稍作简化),以及打分策略(程序对原论文稍有改动)。论文在这里下载:基于情感词典的中文微博情感倾向性研究-陈晓东-华中科技大学 (大家可以上百度学术搜索下载)本文采用的方法如下: 首先对单条微博进行文本预处理,并以标点符号为分割标志,将单条微博分割为n个句子,提取每个句子中的情感词 。以下两步的处理均以...
2015-06-29 21:01:18
37637
98
原创 Principal components analysis(PCA) 主成分分析
本文主要参考资料: CS229 lecture notes by Andrew Ng UFLDL主成分分析 by Andrew Ng 《机器学习实战》第13章“使用PCA来简化数据” 1. 运用背景在机器学习中,PCA是一种常用的方法。其目的是将 nn 维的原始数据近似的用 kk 维来表示,而且近似表示后对数据的损失尽可能的小。我们可以假设原始的 nn 维数据 x(i)x^{
2017-02-19 16:06:14
2790
1
翻译 【自动驾驶】深度学习用于自动驾驶技术 DeepDriving(ICCV 2015)
无人驾驶技术在最近几年得到了迅猛发展,今天将分享 ICCV 2015 的一篇有关方面的论文: DeepDriving: Learning Affordance for Direct Perception in Autonomous Driving有兴趣的读者可以参考其官网链接。本文并非完全翻译该论文,主要说明其思想和创新点。1. 相关研究论述目前相关研究主要集中于两种方法,第一种方法基于中间的
2016-12-27 19:38:18
14437
5
原创 【深度学习CV】SVM, Softmax损失函数
Deep learning在计算机视觉方面具有广泛的应用,包括图像分类、目标识别、语义分隔、生成图像描述等各个方面。本系列博客将分享自己在这些方面的学习和认识,如有问题,欢迎交流。在使用卷积神经网络进行分类任务时,往往使用以下几类损失函数:平方误差损失SVM损失softmax损失其中,平方误差损失在分类问题中效果不佳,一般用于回归问题。softmax损失函数和SVM(多分类)损失函数在实际
2016-12-26 23:36:19
13948
2
原创 USB免驱摄像头采集图像【VS2012+opencv+directShow(CcameraDS)实现】
在Opencv中文网站上有关于directShow和opencv结合采集图像的教程,但是该配置比较老,本文讲述如何基于该教程在 VS2012和opencv2.4.9上进行配置和修改,完成USB免驱双目相机的驱动和图像捕获。
2016-10-12 17:50:09
15812
4
原创 (Leetcode 99) Recover Binary Search Tree(恢复二叉排序树BST)
题目原文: Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing its structure题意解释大家都知道,二叉排序树BST的中序序列是由小到大排序的,而如果BST的两个节点交换后,其中序遍历序列一定不再是由小到大排序的。例如原来二
2016-05-29 10:41:59
1881
原创 (Leetcode 95+96)Unique Binary Search Trees 动态规划 分治
1. (Leetcode 96)Unique Binary Search Trees第一道题目,求1-n的数字组成BST的所有方法数 BST即二叉排序树,其先序遍历序列为从小到大排列。题目原文: Given n, how many structurally unique BST’s (binary search trees) that store values 1…n?动态规划,分治
2016-05-28 17:24:57
2032
原创 用深度优先搜索(DFS)(回溯法)解决N皇后问题(Leetcode 51)
之前介绍了基于全排列的方式解决N皇后的问题: http://blog.youkuaiyun.com/bcj296050240/article/details/51107433本文介绍基于DFS的方法解决该问题,依旧是Leetcode51的问题:DFS基于递归,每次搜索填充一行,如果当前填充值满足条件,则递归的填充下一行。如果不满足条件,则循环,如果循环所有值都不满足条件,则回溯。当填充完毕所有行时,得到一
2016-04-10 21:03:02
3853
原创 用全排列方法解决N皇后问题(Leetcode 51)
有关全排列(Permutation)的思路和代码参见前一篇文章: http://blog.youkuaiyun.com/bcj296050240/article/details/51107056这里叙述一下N皇后问题的解决思路: 规则: N皇后在一个N*N的棋盘上,使其不能相互攻击,即任意两个皇后不得处于同一行,同一列或一条对角线上。解决方法: 由于N个皇后的任意两个不能处在同一行,那么肯定是每个皇后占
2016-04-09 21:13:46
2896
1
原创 全排列的递归和非递归实现(permutation)(C++)
全排列问题具体问题描述和思路请参考这篇文章: http://blog.youkuaiyun.com/morewindows/article/details/7370155/以下是C++代码实现://Permutation1 和 permutation2 分别是基于递归和非递归的实现,都可以实现去除重复的排列//读者也可以自己提交之后到leetcode47 题提交以下,看自己写的对不对#include <io
2016-04-09 20:06:39
2987
原创 集体智慧编程——K近邻分类器预测价格
KNN最邻近规则,主要应用领域是对未知事物的识别,即判断未知事物属于哪一类,判断思想是,基于欧几里得定理,判断未知事物的特征和哪一类已知事物的的特征最接近;K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这
2016-03-15 22:24:14
1265
原创 集体智慧编程——使用决策树发现潜在客户
用决策树建模预测谁是潜在的客户,这里将客户分为两种类型,根据训练数据中的判定条件,构建决策树,构建决策树分为以下几个步骤:决策树的节点结构 class decisionnode 中包含了5个数据项,分别是col: 代表该节点用训练数据的哪一列作为判断条件value: 以cols条件的value值作为切分节点,value若为数值型属性,则按照大于小于value进行切分;若Wie标称属性,则按照等
2016-03-14 16:50:31
1487
原创 集体智慧编程——垃圾邮件过滤器(贝叶斯)-Python实现
介绍垃圾邮件分类器的设计与实现,分为一下几个步骤:特征提取: 将训练样本的正文切分为特征,如果是英文,直接按照空格切分,每个词可以作为一个特征;如果是中文,则需要借助分词器,如jieba分词器等。切分后,将词和所属类别建立一个字典存储。字典的结构是: {word1:{class1:count1, class2:count2}, word2:{class1:count1, class2:coun
2016-03-14 15:10:32
7996
2
原创 集体智慧编程——优化搜索算法:爬山法,模拟退火算法,遗传算法-Python实现
在优化问题中,有两个关键点代价函数:确定问题的形式和规模之后,根据不同的问题,选择要优化的目标。如本文涉及的两个问题中,一个优化目标是使得航班选择最优,共计12个航班,要使得总的票价最少且每个人的等待时间之和最小。第二个问题是学生选择宿舍的问题,每个学生可以实现填报志愿,如果安排的宿舍与志愿完全一致,则代价为0,与第二志愿一致,代价为1,如果没有和志愿一致,代价为3。 故,抽象问题的能力很重要,如
2016-03-09 23:12:02
11820
原创 集体智慧编程——神经网络预测点击率-Python实现
本例中用神经网络来实现对搜索关键字点击的预测,在搜索引擎中,用户输入关键字后,引擎会给出搜索结果列表,而后用户会点击其中一个网页。在用户不断的点击行为中,神经网络会不断学习,给用户提供更好的推荐和结果排序。本文的代码实现一个多层感知机网络,第一层接受输入,第二层是隐含层,第三次是输出层。应用反向传播算法(BP)对神经网络进行训练。关于神经网络具体的原理此处不赘述,请参看权威书籍或博客。# -*- c
2016-03-07 21:45:52
2974
原创 集体智慧编程——搜索与排名-Python实现
学习构建一个简易的搜索引擎,步骤如下:网页抓取:从一个或一组特定的网页开始,根据网页内部链接逐步追踪到其他网页。这样递归进行爬取,直到到达一定深度或达到一定数量为止。建立索引:建立数据表,包含文档中所有单词的位置信息,文档本身不一定要保存到数据库中,索引信息只需简单的保存到一个指向文档所在位置的引用即可。查询和排名:根据合适的网页排序方法,返回一个经过排序的页面列表。网页爬取过程: 首先输
2016-03-07 21:33:07
2403
原创 集体智慧编程——博客文章聚类-Python实现
本章中实现了层次聚类算法和K均值算法,用于博客的聚类。使用的特征为词向量。即特定词在博客文章中出现的次数。读入数据 数据中行的第一个词代表博客名,列的第一个词代表单词特征。存储的数字代表该词在该博客中出现的次数。读入该句子,用Python的list存储。【【】,【】,【】….】用两层链表结构来模拟矩阵。层次聚类算法 首先定义向量之间的相似度度量方法是皮尔森相关系数。该相关系数比欧氏距离更适合
2016-03-06 18:30:00
3139
原创 集体智慧编程——协同过滤推荐算法-Python实现
本系列文章为集体智慧编程读书笔记,本人将自己读书的心得体会和根据书中内容编写的代码放在博客中,供大家参考。代码中根据个人体会写了较为详细的中文注释,仅供大家参考。代码本人都运行过,如有问题欢迎交流。首先介绍几个知识点:相似性度量方法 1.欧几里得距离:该距离只有当两者特征向量中每个特征都较小时,特征向量间距离才比较小。 2.皮尔森相关系数:该系数度量两个特征向量之间的线性相关性,二者线性相关
2016-03-05 20:53:38
2370
原创 MATLAB学习笔记(十二)
本章将学习MATLAB高级绘图的知识,将熟悉以下内容:1.掌握MATLAB如何处理三种不同类型的图形文件。 2.使用句柄图形制定绘图的句柄并调整特性。 3.通过MATLAB两种技术的任意一种创建动画。 4.调节光源参数,照相机位置和透明值。 5.对三维标量和矢量信息使用可视化方法。一.图像通过检验函数image和imagesc对图形的处理过程,可以了解MATLAB的高级绘图功能。因为MATL
2015-07-10 18:14:23
4693
原创 MATLAB学习笔记(十一)
在本章中将要学习以下内容:1. 用线性模拟或三次样条模型求数据的插值 2. 将一维数据点建模为一个多项式 3. 使用基本拟合工具 4. 使用曲线拟合工具 5. 进行数值积分 6. 进行数值微分 7. 求解微分方程的数值解一.插值1.线性插值 进行工程测量时,不可能采集到每个点的数值,因此需要插值技术。两种最常用的插值技术是线性插值和三次样条插值。 在 matlab中使用inter
2015-07-08 18:35:37
1291
原创 MATLAB学习笔记(十)
本章学习内容主要有以下几个方面:- 符号变量的创建与运算 - 数学表达式的分解与化简 - 符号表达式求解 - 方程式求解 - 表达式的符号微分运算 - 表达式的积分运算一.符号代数此处掌握表达式和方程的建立和化简。1.syms申明变量 用于定义符号变量,有两种输入办法 第一种方法:>> syms x第二种方法:>> x = sym('x')x =x2.创建表达式 第一种
2015-07-08 10:53:11
7597
原创 Textrank权值提取文本标签提取
我已经爬取到了指定博主的新浪微博,然后我想从微博中提取出可以代表该博主兴趣特征的100个关键词,然后由这100个关键词提取出10个标签,代表博主的兴趣。我们此处使用基于Textrank权值的关键词提取方法。输入:微博文本集合,如下图(每一行一条微博) 程序原理如下:(请勿抄袭和转载) 程序如下:# -*- coding: utf-8 -*-__author__ = 'Bai C
2015-06-29 21:20:40
6421
原创 网易新闻评论爬虫(python+selenium+PhantomJS)
警示:请勿转载内容网易新闻评论爬虫设计废话不多说,我们要爬取这样一个网易的新闻评论页面,页面URL如下:url = "http://comment.news.163.com/news3_bbs/APLP5TVS00014JB6.html" 这是动态网页,下载网页源代码后是无法直接解析出内容的,我们需要用浏览器内核去解析源代码,直接得到正文。这是一种偷懒的技术,但是可以帮助我们快速获取数据。当然这种方
2015-06-29 20:31:32
3043
原创 MATLAB学习笔记(九)
本章主要学习以下内容----------**1. 理解MATLAB不同类型的数据****2. 创建和使用数值型和字符型数组****3. 创建多维数组并能从这些数组中访问数据****4. 创建和使用元胞数组和结构数组**
2015-06-03 10:56:20
2453
原创 Python列表切片详解([][:][::])
Python切片是list的一项基本的功能,最近看到了一个程序,里面有这样一句类似的代码:a = list[::10]不太明白两个冒号的意思就上网百度,发现大多数人写的博客中都没有提到这一个用法,因此自己翻阅《Python核心编程中文版(第二版)》教材,找到了Python切片的这一部分。教材中写的非常详细,我将主要内容摘录到博客中,以便大家查阅。
2015-06-01 17:08:35
96999
8
原创 MATLAB学习笔记(八)
本章主要学习: 1.进行矩阵代数的基本运算 2.使用MATLAB中的矩阵运算联立方程组 3.使用MATLAB中的特殊矩阵1.矩阵运算和函数1
2015-05-28 09:53:51
896
原创 MATLAB学习笔记(七)
逻辑函数和控制结构理解MATLAB中的关系运算符和逻辑运算符能够正确的使用函数find理解和正确使用if/else结构理解和使用 switch/case结构理解和使用for循环和while循环
2015-05-24 22:30:29
807
原创 MATLBA学习笔记(六)
本章将学习以下内容:1.用户如何在M文件中输入数据 2.用函数disp显示输出结果 3.用函数fprintf输出格式化数据 4.利用图形提供程序输入 5.利用元胞模式修改和运行M文件程序
2015-05-22 17:30:00
972
原创 MATLAB学习笔记(五)
MATLAB自定义函数1.创建单输入/输出和多输入/输出自定义函数 2.在工具箱中保存或调用自定义函数 3.创建和使用匿名函数 4.创建和使用函数句柄 5.创建和使用子函数和嵌套函数1.创建函数的M文件1)创建自定义函数
2015-05-18 12:05:40
1220
原创 MATLAB学习笔记(四)
学习MATLAB的绘图功能具体内容有: 1.绘制二维图形,并对二维图形进行标注 2.调整图形 3.子图窗口的划分 4.绘制三维图形 5.使用交互绘图工具1.二维图形1)基本图形的绘制>> x = [0:2:18];
2015-05-17 17:59:36
11976
1
原创 MATLAB学习笔记(三)
MATLAB的矩阵运算本人今天主要学习的内容是: 1.矩阵运算的基本规则 2.从矩阵中提取数据 3.利用矩阵变量进行数值计算 4.创建和使用特殊矩阵
2015-05-16 10:47:00
1037
原创 HDOJ 1076
An Easy TaskTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 15396 Accepted Submission(s): 9830Problem DescriptionIgnatius was born in a
2015-05-15 16:30:09
535
原创 HDOJ 1048
一个细节:1. C语言中的 char c = getchar(); 可以用于接收换行,即 '\n',如利用语句 if(c == '\n') ... 则可以是否输入了回车符2.C++中若定义了 char arr[100]; 并接收字符 cin>>arr[0]; 并不可以接收 '\n' 本题代码如下#inclu
2015-05-15 16:30:04
727
原创 HDOJ 1021 分析
本题的难点在于如果用普通的办法:如递归,循环均会超时或者堆栈溢出,因此,我们需要寻找规律。大家不妨可以先看以下代码:#includeusing namespace std; int Fiobonacci(int n){ if(n == 0) return 7; if(n == 1) return 11; return Fiobonacci(
2015-05-15 16:29:59
1040
原创 HDOJ 1017
题意难懂,注意输入和输出格式第一行就是要测试数据的组数(就是那么多的数据作为一组)。 然后下边的数据就是每一小组要测试的数据 并且每一小组以0 0结束,每一行结果要换行,每一组要换行,其中最后一大组结束时不换行。否则,就会Presentation Error。我试过的。310 12 53 36 80 02 93 70 06 65 4
2015-05-15 16:29:54
720
原创 HDOJ1009
贪心问题,我的可能不是最优解,但是比较通俗易懂,注释也比较易懂,与大家分享 1 #include 2 #include 3 #include string.h> 4 5 using namespace std; 6 7 double J[1000]; 8 double F[1000]; 9 double Ratio[1000];10 11
2015-05-15 16:29:49
448
原创 图形学_二维图形的剪裁_Sutherland-Hodgeman_Cohen—Sutherland
一、Cohen-Sutherland剪裁算法1.基本思想对于每条线段P1P2分为三种情况处理:(1)若P1P2完全在窗口内,则显示该线段P1P2。(2)若P1P2明显在窗口外,则丢弃该线段。(3)若线段不满足(1)或(2)的条件,则在交点处把线段分为两段。其中一段完全在窗口外,可弃之。然后对另一段重复上述处理。为快速判断,采用如下编码方法: 将窗口边线两边沿长
2015-05-15 16:29:40
2257
原创 图形学_多边形扫描转换_边界标志算法
边界标志算法1. 对多边形的每一条边进行扫描转换,即对多边形边界所经过的象素作一个边界标志。2.填充 对每条与多边形相交的扫描线,按从左到右的顺序,逐个访问该扫描线上的象素。 取一个布尔变量inside来指示当前点的状态,若点在多边形内,则inside为真。若点在多边形外,则inside为假。 Inside 的初始值为假,每当当前访问象素为被打上标志的点,
2015-05-15 16:29:37
4222
1
USB摄像头驱动
2016-10-12
双目立体标定与测量
2016-10-10
基于情感词典的情感倾向打分
2015-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人