机器学习
guoyunfei20
object detection, visual object tracking, face recognition, metric learning, pose estimation, activity recognition, semantic segmentation...
展开
-
贝叶斯相关(整理)
----贝叶斯理论----在古代,人们对一件事情发生或不发生的概率,只有固定的0和1,即要么发生,要么不发生,从来不会去考虑某件事情发生的概率有多大,不发生的概率又是多大。比如如果问那时的人们一个问题:“有一个袋子,里面装着若干个白球和黑球,请问从袋子中取得白球的概率是多少?”他们会想都不用想,会立马告诉你,取出白球的概率就是1/2,要么取到白球,要么取不到白球,即θ只能有一个值,不是1/2,原创 2017-09-18 16:22:14 · 1193 阅读 · 0 评论 -
积分图快速计算
积分图是图像中十分常用的方法,最初是在计算Haar特征值时的快速计算方法,后来在均值滤波,二值化等图像处理方法中也十分常见。积分图的计算原理:C++代码(亲测通过):/******************************************* 快速计算积分图* Integral(i,j) = Integral(i,j-1) + Integral(i-1,j) - I原创 2017-10-23 19:17:25 · 1918 阅读 · 0 评论 -
OpenCV3.3 DNN简介
如今,在机器视觉领域,深度学习已经是最流行且增长最快的一个方向了。OpenCV自3.1版本其就在contrib中加入了DNN模块。到3.3版本时,将DNN模块由contrib提升到了正式代码块中。在住仓库中的位置为:https://github.com/opencv/opencv/tree/master/modules/dnn。同时相较于3.1版本,3.3版本对DNN做了很大改进!该DNN模块原创 2017-10-26 18:30:46 · 8682 阅读 · 0 评论 -
多项式回归(polynomial regression)转换为线性回归(linear regression)
一、介绍一元m次多项式回归方程:二元二次多项式回归方程:多元多次的多项式回归方程较复杂,加之实际生产生活中一元m次多项式归回就已经能够解决了,所以略!对于一元m次多项式回归方程,令:则该一元m次多项式就转化为m元线性回归方程:因此,用多元线性函数的回归方法就可解决多项式回归问题!需要指出的是,在多项式回归分析中,检验回归系数是原创 2017-11-16 17:26:09 · 13500 阅读 · 3 评论 -
BN算法
2015年的论文《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》阐述了BN算法,这个算法目前已经被大量应用,很多论文都会引用这个算法,进行网络训练,可见其强大之处非同一般。在深度学习中,随机梯度下降已经成为主要的训练方法。尽管随机梯度下降法对于训练深度网络翻译 2017-10-31 16:09:10 · 10066 阅读 · 0 评论 -
主成分分析(principle component analysis)介绍
一、介绍主成分分析(principal components analysis,PCA)又称主分量分析,主成分回归分析。旨在利用降维的思想,把多指标转化为少数几个综合指标。在统计学中,PCA是一种简化数据集的技术。它是一个线性变换。这个变换把数据变换到一个新的坐标系统中,使得任何数据投影的第一大方差在第一个坐标(称为第一主成分)上,第二大方差在第二个坐标(第二主成分)上,依次类推。主成原创 2017-12-04 17:28:37 · 20677 阅读 · 0 评论 -
HOG特征
Histogram of Oriented Gridients,缩写为HOG,是目前计算机视觉、模式识别领域很常用的一种描述图像局部纹理的特征。原理就是先计算图片某一区域中不同方向上梯度的值,然后进行累积,得到直方图,这个直方图呢,就可以代表这块区域了,也就是作为特征,可以输入到分类器里面了。接下来是步骤:1. 图像分块(patch)简单来说就是将图像分割成若干小块2. 计算每翻译 2017-09-22 11:49:06 · 256 阅读 · 0 评论 -
基于图的图像分割(Graph-Based Image Segmentation)
一、介绍基于图的图像分割(Graph-Based Image Segmentation),论文《Efficient Graph-Based Image Segmentation》,P. Felzenszwalb, D. Huttenlocher,International Journal of Computer Vision, Vol. 59, No. 2, September 2004论原创 2017-12-06 12:34:49 · 43416 阅读 · 12 评论 -
选择性搜索(selective search)
该文翻译整理自:selective search for object detection(c++ / python)一、目标检测 VS 目标识别目标识别(objec recognition)就是要指出一幅输入图像中包含那类目标。输入时一幅图像,输出是目标属于某个类别的概率(class probability)。而目标检测(object detection)除了要告诉输入图像中包含翻译 2017-12-06 15:37:40 · 66827 阅读 · 17 评论 -
朴素贝叶斯分类(Nave Bayes)
一、条件概率(Conditional probability)条件概率是指事件A在另外一个事件B已经发生条件下的发生概率,记P(A|B)。举例说明:上图左边为一个布袋,里边装有5个球,其中2个蓝色球,3个红色球。每次随机从布袋里拿一颗球(不放回),求连续2次拿到篮球的概率是多少?非常浅显的一点是——第一次拿球和第二次拿球是相关事件(是有关系的,即不是相互独立的事件)。第一次原创 2017-12-27 14:18:07 · 55428 阅读 · 7 评论 -
图像处理中卷积的实现(TensorFlow和OpenCV)
一、用C解释原理假设图像(宽6高4),一个卷积核(宽3高3),如下:unsigned char src[24] ={ 1,2,3,4,5,6, 1,1,1,1,1,1, 2,1,2,1,2,1, 4,5,6,1,2,3};float kernel[9] = { -1., 0., 1., -2., 0., 2., -3., 0., 3原创 2017-10-24 10:30:07 · 2339 阅读 · 0 评论 -
图像识别常见的数据集
ImageNet(官网:http://www.image-net.org/,需要注册才可以下载)目前世界上图像识别最大的数据库。美国斯坦福的计算机科学家李飞飞模拟人类的识别系统建立的。能够从图片识别物体。目前已经包含14197122张图像,是已知的最大的图像数据库。每年的ImageNet大赛更是魂萦梦牵着国内外各个名校和大型IT公司以及网络巨头的心。CIFAR(Canada Institu转载 2017-09-22 11:21:17 · 9934 阅读 · 0 评论 -
Tensorflow模型预测时,若用CPU计算,如何设置? 并行计算-多核(multicore),多线程(multi-thread)
在标准系统上通常有多个计算设备.TensorFlow 支持 CPU 和 GPU 这两种设备. 用指定字符串来标识这些设备. 比如:"/cpu:0": 机器中的 CPU"/gpu:0": 机器中的 GPU, 如果你有一个的话."/gpu:1": 机器中的第二个 GPU, 以此类推...在Tensorflow程序中,我们会经常看到 with tf.device("/cpu:0"): 这个语...翻译 2018-07-05 17:29:25 · 12937 阅读 · 1 评论 -
用原生Tensorflow编写的Inception-ResNet-V1网络(想了解模型实现细节的看)
# prepare input dataIMAGE_HEI = 128IMAGE_WID = 128IMAGE_CHA = 3CLASS_NUM = 2X = tf.placeholder(tf.float32, [None, IMAGE_HEI, IMAGE_WID, IMAGE_CHA])Y_= tf.placeholder(tf.float32, [None, CLASS_NU...原创 2018-08-15 18:40:18 · 1927 阅读 · 0 评论 -
CNN发展的主要tag
=======================================================AlexNet:一切都从这里开始(尽管有些人会说是Yann LeCun 1998年发表的那篇论文才真正开启了一个时代)。这篇论文,题目叫做“ImageNet Classification with Deep Convolutional Networks”,迄今被引用6184次,被业原创 2017-09-30 17:28:57 · 525 阅读 · 1 评论 -
CNN中1×1的卷积核的作用
1×1卷积核最早引起人们的重视是在NIN《Min Lin, Qiang Chen, and Shuicheng Yan. Network in network. CoRR, abs/1312.4400, 2013》结构中,后来在GoogLeNet的Inception结构中用于降维。1×1卷积核用于升维、降维如果卷积的输入、输出都仅有一个平面,那么1×1卷积核并没有啥意义。它完全不考虑像翻译 2017-10-31 12:04:02 · 7836 阅读 · 0 评论 -
卷积(通俗解释)
----卷积定义----连续形式:离散形式:----离散卷积的举例----假设有俩个骰子,同时把这俩骰子抛出去,求落地后俩骰子点数加起来为4的概率是多少?我们把骰子各个点数出现的概率表示出来:那么,两枚骰子点数加起来为4的情况有:因此,两枚骰子点数加起来为4的概率为:用卷积形式来表达就是:----图像处翻译 2017-09-19 15:32:39 · 670 阅读 · 0 评论 -
前向传播和反向传播(举例说明)
假设神经网络结构如下图所示:有2个输入单元;隐含层为2个神经元;输出层也是2个神经元,隐含层和输出层各有1个偏置。为了直观,这里初始化权重和偏置量,得到如下效果:----前向传播----隐含层神经元h1的输入:代入数据可得:假设激励函数用logistic函数,计算得隐含层神经元h1的输出:同样的方法,可以得到隐含层神经元h翻译 2017-09-19 16:25:06 · 30521 阅读 · 6 评论 -
AlexNet
AlexNet是2012年ImageNet竞赛冠军获得者Hinton和他的学生Alex Krizhevsky设计的。也是在那年之后,更多的更深的神经网路被提出,比如优秀的vgg,GoogleLeNet。其官方提供的数据模型,准确率达到57.1%,top 1-5 达到80.2%. 这项对于传统的机器学习分类算法而言,已经相当的出色。上图所示是caffe中alexnet的网络结构,上图采用原创 2017-09-28 13:10:38 · 38689 阅读 · 10 评论 -
数据增强(data Augmentation)
在深度学习中,当数据量不够大时候,经常通过人工增加训练集的大小。不同的任务背景下, 我们可以通过图像的几何变换, 使用以下一种或多种组合数据增强变换来增加输入数据的量. 这里具体的方法都来自数字图像处理的内容:1. 旋转|反射变换(Rotation/reflection):随机旋转图像一定角度; 改变图像内容的朝向;2. 翻转变换(flip): 沿着水平或者垂直方向翻转图像;3. 缩放原创 2017-09-28 14:12:37 · 6102 阅读 · 0 评论 -
似然函数(likelihood)、最大似然函数、最小二乘解
在英语语境里,likelihood 和 probability 的日常使用是可以互换的,都表示对机会 (chance) 的同义替代。但在数学中,probability 这一指代是有严格的定义的,即符合柯尔莫果洛夫公理 (Kolmogorov axioms) 的一种数学对象(换句话说,不是所有的可以用0到1之间的数所表示的对象都能称为概率)。而 likelihood (function) 这一概念是原创 2017-09-21 16:46:07 · 32885 阅读 · 0 评论 -
CNN中卷积的意义
在传统的神经网络中,比如多层感知机(MLP),其输入通常是一个特征向量。需要人工设计特征,然后将用这些特征计算的值组成特征向量。在过去几十年的经验来看,人工找的特征并不总是好用。有时多了,有时少了,有时选的特征根本就不起作用(真正起作用的特征在浩瀚的未知里)。这就是为啥过去几十年神经网络一直被SVM等完虐的原因。如果有人说,任何特征都是从图像中提取的。那如果把整幅图像作为特征来训练神经网络不就原创 2017-09-21 18:08:57 · 6707 阅读 · 1 评论 -
Relu及其延伸
近年来,在深度学习中,ReLU 变的越来越受欢迎。它的数学表达式很简单:f(x)=max(0,x)。显然,输入信号0 的情况下,输出等于输入。二维情况下,使用ReLU之后的效果如下:ReLU 的优点:收敛速度会比 sigmoid/tanh 快很多相比于 sigmoid/tanh,ReLU 只需要一个阈值就可以得到激活值,而不用去算一大堆复杂的运算。ReLU 的缺翻译 2017-09-30 10:21:10 · 4459 阅读 · 1 评论 -
基于 HED网络TensorFlow 和 OpenCV 实现图片边缘检测
传统的边缘检测:OpenCV 里面的两个函数,cv2.Canny() 和 cv2.findContours():看上去很容易就能实现出来,但是真实情况是:复杂背景时根本不好使!canny算法的检测效果,依赖于几个阈值参数,这些阈值参数的选择,通常都是人为设置的经验值。在改进的过程中,引入额外的步骤后,通常又会引入一些新的阈值参数,同样,也是依赖于调试结果设置的经验值转载 2017-09-30 18:25:35 · 2820 阅读 · 0 评论 -
RNN
RNN(Recurrent Neural Network)——循环神经网络,已经在自然语言处理(Natural Language Processing, NLP)中取得了巨大成功以及广泛应用。不同于传统的FNN(Feed-forward Neural Network,前向反馈神经网络),RNN引入了定向循环,能够处理那些输入之间前后关联的问题。定向循环结构如下图所示:RNN翻译 2017-10-10 15:05:48 · 2738 阅读 · 0 评论 -
卡方分布
1. 定义:若n个相互独立的随机变量ξ₁,ξ₂,...,ξn,均服从标准正态分布(也称独立同分布于标准正态分布),则这n个服从标准正态分布的随机变量的平方和构成一新的随机变,其分布规律称为卡方分布(chi-square distribution),记作:。卡方分布有一个参数称为自由度,正如正态分布中均值或方差不同就是另一个正态分布一样,自由度不同就是另一个卡方分布。记为:,转载 2017-10-11 17:26:30 · 8026 阅读 · 0 评论 -
分类决策树
决策树是一个简单易用的机器学习算法,具有很好的实用性。在风险评估、数据分类、专家系统中都能见到决策树的身影。决策树其实是一系列的if-then规则的集合,它有可读性良好,分类速度快等优点。把决策树看成是一些if-then规则的集合,在每一层树上根据属性的值判断走势,至到遇到叶节点,叶节点对应的就是该数据的归类。决策树生成算法遇到的第一个问题就是特征选择问题,即第一次、第二次...第n次转载 2017-10-11 18:08:56 · 396 阅读 · 0 评论 -
CART与随机森林
一、前言分类与回归树(Classification and Regression Trees, CART)是由Leo Breiman, Jerome Friedman, Richard Olshen与Charles Stone于1984年提出,既可用于分类也可用于回归。CART被称为数据挖掘领域内里程碑式的算法。题外话,十大经典数据挖掘算法:C4.5K-MeansSVMApri翻译 2017-10-12 14:40:55 · 2730 阅读 · 1 评论 -
GoogLeNet
GoogLeNet最早出现在2014年的《Going deeper with convolutions》,之所以叫GoogLeNet,而不是GoogleNet,文章说是为了向早期的LeNet致敬。GoogLeNet是谷歌团队为了参加ILSVRC 2014(ImageNet Large Scale Visual Recognition Challenge)比赛而精心准备的。GoogLeNet,在翻译 2017-10-30 17:50:50 · 11037 阅读 · 3 评论 -
机器视觉中非常好的github仓库
# AwesomeComputerVision**Multi-Object-Tracking-Paper-List** https://github.com/SpyderXu/multi-object-tracking-paper-list**awesome-object-detection** https://github.com/hoya012/deep_learning_obj...原创 2019-03-13 13:00:42 · 1332 阅读 · 0 评论