- 博客(40)
- 资源 (12)
- 收藏
- 关注
原创 (Python+Tensorflow)编程踩坑集锦
(Python+Tensorflow)编程踩坑集锦1 开发环境安装推荐视频:https://www.icourse163.org/learn/PKU-1002536002?tid=1452937471#/learn/content?type=detail&id=1229556595&cid=1246770451&replay=true1.1 Tensorflow2安装...
2020-05-09 15:42:49
732
原创 Ubuntu 安装和使用 jupyter 出现的问题总结
1、在终端中输入‘sudo pip3 install jupyter’, 出现黄色的‘warring',如下:The directory '/home/stone/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please c...
2020-03-09 10:34:07
2082
原创 Viola-Jones人脸检测详解
在人脸检测中,Viola-Jones算法是一种非常经典的算法,该算法在2001年的CVPR上提出,因其高效快速的检测而被广泛使用。这个算法用来检测正面的人脸图像,对于侧脸图像的检测不是很稳健。算法可以被分为以下几个部分:利用Haar特征描述人脸特征 建立积分图像,利用该图像快速获取几种不同的矩形特征 利用Adaboost算法进行训练 建立层级分类器 非极大值抑制1利用Haa...
2019-10-07 20:50:13
15183
2
原创 积分图像(Integral image)
1 问题起源给定一幅灰度图像,其灰度值如下图所示,要计算图中深色区域的所有像素点的灰度值之和。最直接,简单的方法就是将这9个像素值直接相加。如果深色区域扩大,里面包含成千上万个像素,这种算法的时间复杂度也会呈线性增加。积分图像的提出正好解决了这个问题。2 积分图像积分图像顾名思义,就是求和,完整的意思是每一个像素点的灰度值等于在该像素点之前所有像素点灰度值...
2019-09-28 15:14:06
13511
3
原创 Imbalanced class problem(ROC, Confusion Matrix)
1 何为 Imbalanced class problem在分类问题中,有时候一种类别的数据会远远的多于另外一种类别,但正是这些少量的类别的数据,往往又是极其重要的。比如信用卡欺诈事件,该事件远远地小于信用卡未被欺诈的事件。要从信用卡操作的数据中,识别出欺诈这一类别的事件,比例极其小,但确是及其重要的。在大量的操作数据中找到欺诈事件,犹如大海捞针。这个时候如果继续使用精度来...
2019-09-27 16:55:33
588
原创 集成方法Ensemble Method(bagging, AdaBoost)
1 主要思想将原始数据分成几个组 训练一组分类器,里面有很多种弱分类器 每个分类器的标签看作一次投票,投票最多的标签为最终标签其架构如下所示:2 为什么集成方法可行假设这里有25个训练的弱分类器,且这些分类器独立工作,不会相互影响。每一个分类器的出错率 集成分类器的最终做出一个错误预测的概率(超过一半的基础分类器都预测错了)为:其中:X为做出错误预测的弱分类器...
2019-09-26 16:38:45
1286
原创 Structure from motion 问题
1 问题描述已知一个图像库,里面有很多从不同角度不同具体拍摄同一物体的照片,求构建该物体的3D模型 找出这些图像的拍照位置如下图所示:2 用数学语言描述问题输入:一批图像,隐含着许多对应点输出:每一个对应点对应的现实世界的3D坐标。 所有摄像机的参数,以及可能的。下图可以帮助理解 Structure from motion 问题这里涉及的目标...
2019-09-20 16:08:43
2393
原创 计算图像的景深
在上一篇博客中,景深与视差成反比,其公式为:为焦距,为左右相机的距离,分别为两张图像的点距离各自中心点的距离。对于左图像的每一个像素点 ,求图像景深可以分为以下几步,在右图中,找到左图像的像素点对应的极线 扫描极线,找到最匹配的点 计算视差, 并根据公式求取景深1 平行图像(parallel images)由极线约束:因为图像平行,所以...
2019-09-19 17:03:36
5177
原创 立体视觉(Stereo Vision)-本征矩阵(essential matrix)和基本矩阵(fundamental matrix)
1 物体深度问题描述:从不同的位置拍摄相同物体的两张图片,恢复其深度这里假设摄像机的镜头平行由相似三角形:由上面第一、二等式可得:深度与视差成反比2 如何配对左右图片的点问题描述:已知两张图像,由不同的照相机拍下,在左图中选一点,如何在右图中找到对应的点。由上图可知,左图中点 x 对应在右图中的点位于线段 l' 上右图中点 x‘...
2019-09-19 10:19:48
8333
原创 求解相机参数Camera Calibration
1 主要思想使用黑白棋盘格,记录世界坐标系中关键点的坐标,然后使用手机拍照,记录相应点像素点的坐标。这样就得到了许多3D-2D的配对点2 详细过程由上一篇博客内容可知,其中 P‘ 为像素坐标, Pw为世界坐标系的点坐标,M为3*4的矩阵。令:则:假设共有n个点,用矩阵表示:转化成凸优化问题:这个问题可以通过SVD(s...
2019-09-16 22:38:22
506
原创 照相机的成像变换
1 变换过程照相机的成像变换过程可以分为3步:世界坐标系——>相机坐标系——>图像坐标系——>像素坐标系2 世界坐标系——>相机坐标系景物从世界坐标系转换到相机坐标系需要使用到刚体变换(物体不发生变形,对一个几何物体做旋转或平移)刚体变换如下图所示:变换的数学表达式为:简化:其中,代表相机坐标系,代表世界坐标系,矩阵代表...
2019-09-16 12:36:54
1577
1
原创 图像对齐(image alignment)
1、图像对齐的步骤已知图像A和B,图像对齐的步骤:提取图像A和B的特征 匹配图像A和B中的特征 求解图像A和B的对齐矩阵2使用最小二乘求解对齐矩阵的问题使用最小二乘求解对齐矩阵容易受到outliers的影响, 误差会很大。3 RANSAC(random sample consensus)算法3.1 思想假设一条线,计算非常接近这条线的局内点(i...
2019-09-15 23:18:38
19235
原创 图像变换(Image transformations)
1 图像变换和图像滤波(image filtering)的区别1.1 图像滤波图像滤波改变像素点的灰度值,不改变像素点的坐标,如下图所示。用函数可表示为:其中f(x)表示原图,h(x)表示滤波器1.2 图像变换图像变换改变像素点的坐标,不改变像素点的灰度值,如下图所示。用函数可表示为:其中f(x)表示原图,h(x)为图像变换2、线性...
2019-09-14 17:38:42
2927
原创 卷积神经网络(CNN:Convolutional Neural Network)
1、感知器(perceptron)感知器是卷积神经网络的基本单元,下图展示了其工作原理,为了方便理解,图中只显示了3个输入。向量w为输入向量x的权重,b为偏差,最后对x的线性组合()的值进行判断,如果值大于0,输出1.如果值小于0,输出0.感知器的不同组合产生不同神经网络增加层次增加深度为什么感知器可以运用于图像处理领域?图像滤波通过图像的卷积运算来...
2019-09-07 19:05:06
1840
原创 局部特征检测器和描述符
图像匹配有三个步骤:检测特征点,特征描述和匹配1、检测特征点好的特征点的位置不随图像亮度变换的改变,只与图像的几何变换有关。1.1 图像变换1.1.1 几何变换:旋转和伸缩1.1.2 亮度变换1.2 Harris角点检测的性质角点的位置受图像旋转的影响图像的亮度变化分为两种,一种是亮度偏移(I ->I + b),另一种是亮度缩放(I ->...
2019-09-07 12:55:47
2105
3
原创 BoW(词袋Bag of words)
Bag-of-words词袋模型最初被用在信息检索领域。例如检索一篇文档,只需考虑文档中出现单词的频率,而不用考虑语法语序等。在图像领域,如果把一幅图像当作文档,图像中的图像块的特征向量视为文档内的词,BoW在图像领域也可以取得很好的效果。这个过程可以分为几步:提取特征,训练虚拟词表,量化特征,用虚拟词频表示图片。1、特征提取检测图像块 归一化图像块 用SIFT描述器表示2、训练...
2019-09-05 21:57:17
928
原创 Harris 角点检测(Harris corner detection)
在许多应用中,会运用到特征提取。比如,把下方两张图片缝合成一张图片。哪么从哪些地方开始缝合呢?这些地方可以通过特征提取找到。1、特征图片上的特征点应该具有怎样的特性?a. 图片上的特征点不随图片的变化(平移,旋转,放大,缩小等)而改变b. 图片上的特征点不随图片的亮度变化而改变 图片上什么样的区域能够看成是特征点? 平面?边缘?角? 角,因为小窗口在任意方向的移...
2019-09-04 19:42:49
1642
原创 图像重采样
图像重采样包含两种情形,一种是下采样(downsampling),把图像变小;另一种是上采样(upsampling),把图像变大。1、次级采样(sub-sampling)每隔一个,扔掉行和列,创建一个更小的图像。2、下采样(downsampling)根据Nyquist采样定律,采样频率大于等于2倍的图像的最大频率。对于高清图片,如果直接采样,采样频率很高。如果先对图...
2019-08-29 14:29:46
8924
原创 边缘检测
1、边缘的特征先看一张实物图和边缘图边缘是图片中灰度变化最快的地方。下图清楚地显示了最简单的一种情况。既然找变化最快的地方,可以通过导数来求解边缘2、图片的导数一张数字图片F[x,y], 其x方向导数可定义为:3、图片的梯度3.1 图片的梯度相关定义几种常见的图片的梯度边缘的灰度用图片梯度的幅值表示,图片梯度的方向:3.2 图...
2019-08-28 20:47:17
1026
原创 图像滤波器
1、图片一张灰度图片是由数字组成的矩阵,其中白色用数字255表示,黑色用数字0表示,介于黑白之间的不同灰度(grayscal) 用0-255之间的数字表示,如下图所示:用函数f (x,y) 表示图片:f (x,y) 为在位置 (x,y) 的像素点 (pixel) 的灰度值2、图像滤波器滤波器可以生成一个新图像,其像素是原始像素的组合。科学家使用卷积运算来表示:上式可...
2019-08-28 11:47:29
725
原创 (Matlab问题解决)运行matlab程序后,工作区不能显示变量
运行matlab程序,想查看工作区的变量,发现变量无法显示。原代码特点:代码中的主函数是以 function main()开头没有end结尾,子函数以function开口,没有end 结尾。修改方式:主函数中去掉function main(),子函数后添加end,运行程序后,就可以看到变量了。...
2019-06-24 14:59:16
39702
3
原创 训练数据的分布对F-measure, recall 和 precision的影响
1、 Precision, recall and F-measure(f1-score)2、思路数据集:手写数字集从训练集中抽取数据,保证每种label的数量一致,使用SVM 或ANN模型训练新数据集。按照高斯分布抽取新数据,再次使用SVM 或ANN模型训练。下图显示抽取后的每种label的个数3、软件框图4、代码由于代码有点多,点此处链接 下载。每个函数...
2019-05-14 22:46:44
711
原创 (Python代码)通过视差图获取图片中不同物体的高度比
1、原理可以推出不同物体的高度比可以通过如下公式得到:是左边指定物体的高度(图片中尺寸)是右边指定物体的高度(图片中尺寸)是左边指定物体的平均视差值是右边指定物体的平均视差值2、代码逻辑框图3、代码详解import multiprocessing as mpimport numpy as npimport cv2i...
2019-04-19 10:08:29
2938
原创 从技术分工的角度来看996.ICU
最近,Github上996.ICU话题自诞生以来异常火爆,很多人在网上吐槽程序员工作时间长,Python之父也为此伸张正义。有人在网上抱怨资本家黑心,无情的压榨剥削员工。各国都存在加班的现象,但似乎加班现象在中国最为严重。过去几百年来,欧美一直处于科技产业链的顶端,中国想要使用它们的技术必须要交专利税。这便意味着中国的后发科技公司除了要养活自己的员工,还要从微薄的利润中...
2019-04-13 21:38:05
429
原创 Python安装工具包踩过的坑
1、背景介绍重装win10系统,重装Python。在坑出现之前,已经完成了Python的安装(D盘),并且在系统中添加了环境变量。由于平时需要用到Python2.7和Python3.6,这里将对应的解释器分别改名为Python2和Python3。2、踩过的坑2.1、安装setuptools在安装pip之前,需要安装setuptools. 把setuptools-40.8.0...
2019-03-04 17:13:10
2893
2
原创 如何通俗理解计算机视觉、计算机图形、图像处理之间的区别与联系
这三者之间联系和区别可以通过下图表示, 左边的图片表示实际景物,右边图片表示实际景物对应的图片。 1、计算机图形计算机图形技术常用于计算机生成图形。该技术常用的领域有:a.动漫b.游戏c.计算机辅助设计(CAD) 2、计算机视觉计算机视觉技术在于分析图片得出有用信息。该技术常用领域为:a.人脸识别b.自动驾驶c.指纹识别...
2019-02-03 15:57:45
1199
原创 有效学习
怎样算有效学习?记得有位大咖说过,‘当你把受过的教育都忘记了,剩下的就是教育’(度娘说是爱因斯坦说的,此处未经考证)。学习可以看成是一个把知识放入潜意识的过程。所谓进入潜意识,是指当使用知识时,无需思索,立刻就可以运用。该个过程可以分为四个阶段:a.知道有这样地知识点b.这个知识点怎么来的c.逐步熟悉 比如使用某个知识时卡壳,需要几秒钟才能够回忆起来。多复习几次,卡...
2019-02-01 17:11:37
612
原创 如何让学习变得像游戏一样好玩
如何让学习变得好玩?面对枯燥乏味的重复练习,大多数人因新奇感的消退而放弃,很少有人能够多坚持一会,更别说坚持十年了。如何减轻这种枯燥乏味,让学习变得好玩?许多孩子喜欢打游戏,玩得废寝忘食。如果换成游戏设计者的角度,就会不一样的发现。为了能够激起玩家的兴趣,让他们在游戏中投入更多的时间和精力,在架构整个游戏时,设计人员特别注意‘游戏关卡’的设计。每一个游戏‘关卡’不能设计得太难,也不能太...
2019-01-30 14:44:40
3963
原创 从‘一边拉琴,一边哭’,看什么是真正的兴趣
记得填报志愿时,自己不知道对啥感兴趣(现在依然不知道)。那时特别简单,自己喜欢折腾家里的旧电器,就自以为对电子专业非常感兴趣。被模电数电(电子方向的专业必修课)折腾一番后,自己确信一点也不喜欢电子,专业课极其无聊,毫无兴趣可言。记得在大一,身边很多同学在学习乐器,自己也赶个时髦,觉得对吉他有兴趣,就下决心学习。后来想想之所以选择吉他是因为当时觉得会弹吉他的男孩子特帅。结果学了不久,难以忍受枯燥...
2019-01-19 16:18:56
739
原创 粒子群优化算法(Particle Swarm Optimization)的 Matlab(R2018b)代码实现
这里以 2D Michalewicz function 为对象来演示粒子群算法。1、Michalewicz function2、代码详解2.1 画Michalewicz函数的网格图形f=@(x,y)(-sin(x).*(sin(x.^2/3.1415926)).^(2*m)... -sin(y).*(sin(2*y.^2/3.1415926)).^(2*m));r...
2019-01-16 21:31:06
4235
原创 使用Matlab(R2018b)画复杂函数的图形(网格图meshgrid)及等高线contour
1、函数这里使用2D Michalewicz 函数,其表达式为:2、画图2.1 编写2D Michalewicz 函数f=@(x,y)(-sin(x).*(sin(x.^2/3.1415926)).^(2*m)... -sin(y).*(sin(2*y.^2/3.1415926)).^(2*m));上述代码使用到了Anonymous Functions, 相关变量...
2019-01-15 15:14:38
12533
2
原创 关于找工作和选专业的思考
个人的成长离不开国家的发展,国家的发展离不开国际的大气候。国家之间的竞争主要归于经济竞争,经济的核心在于产业,产业的核心则在于科学和技术。 无论是找工作还是选专业,赌的都是对未来趋势的预测,没有人会希望自己在一个即将被淘汰的行业里工作。记得有一位朋友,以高分考入了国内某著名大学的机械专业(内燃机方向),毕业后进入国企,从事汽车发动机的开发。工作不久,电动汽车兴起。他警觉到未来汽车产...
2019-01-13 15:35:19
511
原创 (一看就懂)傅里叶变换、拉普拉斯变换、Z变换、卷积的经典文章汇总
0、前沿在复习傅里叶变换、拉普拉斯变换、Z变换和卷积等知识时,我发现网上有非常非常多的大牛。他们用通俗易懂的语言来讲解这些复杂的知识,使人豁然开朗。1、连续时间信号的傅里叶级数与傅里叶变换如果现在还无法理解,为什么要对信号进行傅里叶变换,请看这篇博客,保证秒懂: 傅里叶分析之掐死教程这篇文章可以帮助回忆周期信号的傅里叶级数及其性质: 傅里叶级数及其性质这篇文章可以帮助回忆...
2018-12-23 16:33:54
12873
2
原创 (Matlab函数详解)机器学习中的4种分类算法(LDA、QDA、SVM、KNN)
1、LDA(Linear discriminant analysis)函数:[class, err]=classify(sample, training, group);输入:sample=待测样本,% 矩阵 m*n m为样本数,n为特征数 training=训练样本,% 矩阵k*n k为样本数,n为特征数, ...
2018-11-30 23:50:15
16067
原创 (含Python源码)Python实现K阶多项式的5种回归算法(regression)
0、文章结构为了方便客官根据需要取阅,节约时间,文章目录结构如下:问题描述 理论部分:五种回归算法 两种Python读取文件的方法 Python实现五种回归算法 使用的工具箱 总结1、问题描述K阶多项式表达式其中,现有数据集为了方便回归运算,标记如下:通过数据集,求出回归参数。2、五种回归算法2.1 QP solver2....
2018-11-25 13:58:44
3123
3
原创 (Matlab源码)Matlab实现算术编码(Arithmetic coding)超级详解(每一段代码都可以看懂)
1、代码功能输入:一个字符串 输出: codeword(码值) codeword所占的位数 2、代码框图3、代码超详解 统计字符串中的字符种类,调用函数,放入数组b中。b=unique(str1);统计每种字符的个数,放入数组a中。for i=1:length(b) a(i)=length(strfind(str1,b(i)));end ...
2018-11-16 15:14:34
17273
5
原创 (含Matlab源码)算术编码(arithmetic coding)的underflow问题
0、文章结构文章的行文逻辑如下,看官可以根据需要跳读,节省时间。1、介绍underflow和overflow.2、underflow问题起源3、underflow问起探索4、underflow和overflow的常见情形5、处理一些溢出问题的小技巧6、对其中的两种小技巧的优缺点比较 1、什么是underflow和overflow在计算机中浮点数都是离散的,有...
2018-11-11 13:00:36
5454
原创 硬件产品的成本构成——研发、产品边际成本和服务
PM分享,硬件产品的成本构成 一款硬件产品的成本由许多因素构成,主要可以归为三类:研发成本、产品边际成本和服务成本。这里借用了经济学中的一个概念:边际成本,即增加一单位的产量所带来的成本增加量。对于任何一款硬件产品,每多生产一个,都会带来成本的增加,所以称为产品边际成本。另外,服务也应该属于产品成本的一部分,比如某产品质保两年,这期间产生的售后费用也会分摊到产品的成本上,最终体现在...
2018-05-25 11:13:36
9158
原创 产品金字塔
制造业产品大概可以分为三个层次,第一层为实物,第二层为服务,第三层为体验。其中产品为基础,服务为改善,共同给客户美好的体验。三者组成一个产品金字塔。第一层,实物。比如手机,满足通话、上网、打游戏等功能性需求; 第二层,服务。常见有售前服务和售后服务。售前服务刺激客户的购买欲望,售后服务为客户解决产品使用过程中遇到的问题,提升产品满意度。第三层,体验。如果在接触产品的过程中,客户能够感受到一种愉悦感...
2018-04-07 20:14:32
1027
原创 广告机市场和产品
广告机行业分析前言关于广告机,不同的人有不同的认识,此部分主要说明文中所指广告机的范围。在讨论前,先区分几个概念。1、 广告机与数字标牌数字标牌是数字标示牌的简称,指代显示任意信息的显示终端;广告机是指播放广告的显示终端。严格意义上来说,数字标牌的范围比广告机更广,但在广告机行业中,为了方便沟通,往往忽略两者的细微差别,将两者等同。2、 广告机与商用显示商用显示所指范围更加广泛,教育一体机、投...
2018-02-22 17:11:10
2304
1
(含函数详解)训练数据的分布对F-measure, recall and precision的影响
2019-04-16
Matlab实现算术编码(arithmetic coding),输入一个字符串,输出编码和编码所需位数
2018-11-16
Matlab实现算术编码(arithmetic coding),解决underflow问题
2018-11-11
Matlab实现算术编码(arithmetic coding)演示下溢问题
2018-11-11
数字电路仿真实例(超棒的)
2011-05-13
模拟电路仿真实例很不错的
2011-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人