
机器学习 | 计算机视觉
文章平均质量分 77
linolzhang
资深产品经理,系统架构师,PMP,PMI-ACP敏捷开发专家,个人主要研究领域为 AI、AR、3D Visualization。
展开
-
机器学习读书笔记之6 - 贝叶斯系列
概率论只不过是把常识用数学公式表达了出来。——拉普拉斯目录0. 前言 1. 历史 1.1 一个例子:自然语言的二义性 1.2 贝叶斯公式 2. 拼写纠正 3. 模型比较与贝叶斯奥卡姆剃刀 3.1 再访拼写纠正 3.2 模型比较理论(Model Comparasion)与贝叶斯奥卡姆剃刀(Bayesian Occ转载 2017-01-15 13:05:14 · 971 阅读 · 0 评论 -
机器学习实践系列之5 - 目标跟踪
提到 目标跟踪(Object Tracking),很多专业人士都不陌生,它是计算机视觉里面 用于视频分析的一个很大的分类,就像目标检测一样,是视频分析算法的底层支撑。 目标跟踪的算法有很多,像 Mean-Shift、光流法、粒子滤波、卡尔曼滤波等 传统方法,也有 TLD、CT、Struct、KCF 等掺杂了某些 “外力”,不那么纯粹的方法。但不管怎样,Tracking这项工作有着很原创 2017-02-16 22:14:32 · 11697 阅读 · 7 评论 -
机器学习实践系列之4 - 人脸对齐(下)
基于形状模型的方法 主导了早期的人脸对齐思路, 这类方法 从局部特征中搜索关键点,对噪声比较敏感,CLM类(包括ASM、AAM)方法是这一类的典型代表。 在这一节,讲一下人脸对齐的一个重要算法 ESR,之所以重要,是因为 ESR开启的回归方法 -回归方法是对形状模型改进的一个重要方向。 ESR 之后,有两个著名算法,1ms 和 3000FPS(业内的简明叫法),已得原创 2017-02-16 22:08:37 · 2782 阅读 · 0 评论 -
机器学习实践系列之3 - 人脸对齐(上)
人脸检测 早已比较成熟,传统的基于HOG+线性分类器 的方案检测效果已经相当不错,我们也不再过多讨论,本节重点讨论人脸特征点对齐,特征点对齐主要应用在确定关键点的位置上,并进一步用于人脸姿态或状态的判断(用在辅助驾驶、疲劳检测、AR等)。 下面介绍常用的人脸对齐算法:• ASM ASM(Active Shape Model)是指主观形状模型,即通过形状原创 2017-02-16 20:49:12 · 5360 阅读 · 3 评论 -
机器学习实践系列之2 - GPUImage
最近直播比较火,作者也饶有兴趣的研究了一番,有句话说的好: “每个光鲜亮丽的女主播后面,都有一个技术宅男!”,这里指的就是传说中的美颜相机。 随便找了两张图,作者也不知道是谁,大家先饱饱眼福吧。至于真实相貌是否比得上 凤姐,我们不得而知,这绝对取决于技术男的实力一. 何为美颜 美颜1.0,即传统意义上美颜用到的技术 主要是:原创 2017-02-16 20:43:46 · 1631 阅读 · 2 评论 -
机器学习实践系列之1 - dlib
Dlib 是一个机器学习库,采用C++编写(提供C++和python接口),里面包含 许多常用机器学习算法。 Dlib 目前已更新到 V19.2。下载及文档可以参见 官网地址: http://www.dlib.net/ml.html一. 编译 下载的dlib库解压后,需要通过CMake进行编译,在windows下作者采用的是 CMake3.5.1。原创 2017-01-15 13:07:00 · 5963 阅读 · 1 评论 -
机器学习读书笔记之11 - 岭回归 & LASSO回归
回归 就是 对数据进行拟合,我们常说的 线性回归、高斯回归、SVR、Softmax 都是属于 回归。 最小二乘大家再熟悉不过了,作为入门级的线性回归,可能会遇到的一些问题:(1)参数稳定性和精度问题 如果 观测数据和参数 之间有比较明显的线性关系,最小二乘回归会有很小的偏倚; 如果观测数据个数N远大于参数个数P时,最小二乘回归能得到较小原创 2017-01-15 13:06:44 · 2106 阅读 · 0 评论 -
机器学习读书笔记之10 - PCA
通常在特征提取过程中,会遇到一个很严重的问题,那就是特征维度过多,实际上这些特征对于 表示和分类的贡献度不同,那么哪些特征是重要的?哪些是次要的呢? 这时轮到PCA出场了(想必早已名声在外),PCA即主成分分析(principal component analysis),主要被用于消除样本特征之间的相关性,降低计算复杂度,通俗上称之为降维。 PCA降维来进行原创 2017-01-15 13:06:26 · 667 阅读 · 0 评论 -
机器学习读书笔记之7 - 分类方法梳理
在提取特征以后,如何根据这些特征判断,称之为分类,解决分类问题的方法很多,常用分类方法主要包括:KNN、支持向量机(SVM)、贝叶斯、决策树、人工神经网络等;另外还有用于组合单一分类方法的集成学习算法,如Bagging和Boosting等。 在介绍具体分类方法之前,先来明确两个概念,过拟合(OverFit)与欠拟合(UnderFit),这是在分类器训练,包括神经网络训练中都会遇到原创 2017-01-15 13:05:29 · 1270 阅读 · 0 评论 -
机器学习读书笔记之3 - EM算法
EM(expectation-maximization)算法又称期望最大化算法,是Dempster,Laind,Rubin于1977年提出的求参数极大似然估计的一种迭代优化策略,它可以从非完整数据集中对参数进行极大似然估计,是一种非常简单实用的学习算法。这种方法可以广泛地应用于处理缺损数据,截尾数据,带有噪声等所谓的不完全数据,EM算法是在缺失数据等不完全数据下进行参数的极大似然估计或者极大后验估原创 2017-01-15 12:42:35 · 1073 阅读 · 0 评论 -
机器学习读书笔记之2 - 最大似然估计
最大似然法(Maximum likelihood,ML)也称为最大概率估计、极大似然估计,基本思想是:当从参数模型 y=f(m; x) 中随机抽取几组样本观测值(数据)后,最合理的参数a的估计值,应该使得从模型中抽取该观测值的概率最大。 也就是说,我们已知结果(y1,y2,y3…),求最可能的参数值a,这里的最大可能即为 最大似然。 举个例子,有两个外形完全相同原创 2017-01-15 12:41:49 · 1158 阅读 · 0 评论 -
机器学习读书笔记之5 - RANSAC
随机采样一致性(RANdom SAmpleConsensus),是 指从一组包含 “局外点”的数据集中,通过迭代方法估算数学模型的参数。 RANSAC是一种不确定的算法,它有一定的概率得出一个合理的结果,为了提高概率必须增加迭代次数。 来看这样一个简单样例,假设我们想拟合一条直线: 可以看到,图中 红色的点是 “局外点”,蓝原创 2017-01-15 13:03:05 · 1040 阅读 · 0 评论 -
机器学习读书笔记之1 - 最小二乘法
最小二乘法 是指 根据测量数据,得到这组数据规律的公式表示,其原则是 误差的平方和最小。“二乘” 即为平方,最小二乘拟合是机器学习最简单也是最实用的方法之一。 最小二乘法是用于 模型逼近 和 曲线拟合 的常用手段。 上图表示根据一组数据 拟合直线的情况,最小二乘 一定程度上得到和数据最逼近的解。 用公式来表示:原创 2017-01-15 12:40:51 · 1076 阅读 · 0 评论 -
OCR文字识别(1)
一. 研究背景 文字识别是CV领域应用最广,最接地气的方向之一,从证件识别到智慧医疗,从拍照识别到无人驾驶,从车牌识别到物流分拣,几乎涵盖了AI的所有场景。 通常文字识别分成两步,文本位置检测 + 识别。 > 论文参考: 【场景文本位置感知与识别】 > 常用数据集:数据集名称 内容说明 下载 中...原创 2018-09-20 00:37:12 · 7380 阅读 · 1 评论 -
Tensorflow object detection API训练自己的数据
一. 安装 Tensorflow object detection api是tensorflow官方出品的检测工具包,集成了像ssd、faster rcnn等检测算法,mobilenet、inception、resnet等backbone和fpn、ppn等方法,各模块之间能够通过组合的方式来work。 Github下载地址:https://github.com/tensorfl...原创 2019-02-12 23:33:43 · 15814 阅读 · 6 评论 -
CVPR2019-实例分割Mask Scoring R-CNN
今年的Oral,在coco数据集表现超过了Mask RCNN,来自地平线的华科实习生。论文:Mask Scoring R-CNN【paper】【github】1. 提出背景 Mask RCNN 提出以来,一直是作为经典霸屏,但这里面一直存在一个严重的问题,那就是其score机制: 由于沿用了Faster RCNN 的 class和box,对应class是类别sco...原创 2019-05-24 23:01:19 · 3323 阅读 · 0 评论 -
CVPR2019-目标检测分割技术进展
CVPR 2019 没有出现像Faster RCNN,YOLO这种开创性的工作,基于现有方案和框架的改进为主,技术进步着实有些缓慢,或许也代表方案逐步趋于成熟。 本文重点介绍如下几个改进方法:GA-RPN GIOU FSAF Mask Score RCNN1. GA-RPN GA-RPN由港中文、商汤和亚马逊联合提出,COCO Challeng...原创 2019-05-11 22:46:29 · 3195 阅读 · 1 评论 -
Anchor Free检测算法之FCOS
一.提出背景2019 是 Anchor Free 大行其道的一年,从CornerNet 到 ExtremeNet,从FSAF到FCOS,层出不穷。论文:FCOS: Fully Convolutional One-Stage Object Detection【paper】【github】二.算法框架FCOS框架比较简单,架构图参考:基础backbone是一个3层的卷积网络(对...原创 2019-06-16 22:05:11 · 2645 阅读 · 1 评论 -
机器学习实践系列之6 - OpenCV实战光流
光流(optical flow)是运动物体运动带来的像素变化,表示 像素空间的运动速度,直观也可以理解为 光的流动。一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。 光流是通过 像素在时域上的变化来计算的,通过相邻帧之间的相关性来找到上一帧跟当前帧之间的对应关系。 光流分为 稀疏光流 和 稠密光流。• 稀疏光流原创 2017-02-16 22:17:42 · 5099 阅读 · 0 评论 -
机器学习实践系列之7 - 车辆检测
车辆是视频场景中最关键的对象之一,车辆 和 人 是视频检测永恒的话题。 车辆检测 是车辆分析中关键的一步,是后续进行 车型识别、车标识别、车牌识别、车辆特征 的基础。 关于检测的方法和框架有很多,不外乎是特征训练和分类,这里推荐两篇综述性文章:[1] Benenson R, Omran M, Hosang J, et al.Ten Years of Pe原创 2017-02-16 22:24:41 · 10663 阅读 · 5 评论 -
机器学习读书笔记之4 - HMM
隐马尔可夫模型(Hidden Markov Model,HMM)是用来描述一个含有隐含未知参数的马尔可夫过程。 马尔科夫过程(MarKov Process)是一个典型的随机过程。设X(t)是一随机过程,当过程在时刻t0所处的状态为已知时,时刻t(t>t0)所处的状态与过程在t0时刻之前的状态无关,这个特性成为无后效性。无后效的随机过程称为马尔科夫过程。 转载转载 2017-01-15 12:43:13 · 582 阅读 · 0 评论 -
运动目标检测(GMM、Code Book、Vibe)
运动目标检测(前景背景分离)被认为是视频分析学习的入门基础,分为以像素为特征的方法和以纹理为特征的方法,以纹理为特征的方法主要参考上节所讲的LBP和SILTP,这里我们重点介绍像素方法,像素方法是最常用也是最直观的方法。 像素方法假设的基础是背景建模,即建立背景像素的模型,符合该模型的像素判断为背景并且作为新的输入对背景进一步更新,不符合该模型的像素点判断为前景(即运动目标),主原创 2017-01-11 17:49:53 · 23972 阅读 · 8 评论 -
机器学习实践系列之14 - OpenCV之傅里叶变换
关于 傅里叶变换,讲的太多了,这里我就不再啰嗦一遍了,原理的东西大家可以搜一下,推荐一篇文章: 如果看了此文你还不懂傅里叶变换,那就过来掐死我吧 这篇文章写得很不错了,从 频域 到傅里叶级数 讲的都比较细,而且都有配图,真看不懂的话就 你掐死他吧! (PS:冤冤相报何时了,我在一旁看热闹,横批:不嫌事大) 看下效果(居然暴漏了原创 2017-03-02 22:24:36 · 1814 阅读 · 0 评论 -
机器学习实践系列之16 - OpenCV之手写体识别
OpenCV3.0 开始有了手写体数字识别的 例子,opencv提供了一张手写数字图片进行训练。 图片位置:/opencv/sources/samples/data/digits.png, 例子中使用 KNN最近邻算法进行 训练和分类,对于数字的识别率能达到 90% 以上,当然也是因为数字比较简单,不过作为入门级的OCR,想来应该是够了。参考代码:原创 2017-03-02 22:30:42 · 1793 阅读 · 0 评论 -
机器学习读书笔记之9 - 逻辑回归
逻辑回归(Logistic Regression, LR)模型其实仅在线性回归的基础上,套用了一个逻辑函数,但也就由于这个逻辑函数,使得逻辑回归模型成为了机器学习领域一颗耀眼的明星,更是计算广告学的核心。本文主要详述逻辑回归模型的基础,至于逻辑回归模型的优化、逻辑回归与计算广告学等,请关注后续文章。1 逻辑回归模型 回归是一种极易理解的模型,就相当于y=f(x),表明自变转载 2017-01-15 13:06:08 · 624 阅读 · 0 评论 -
机器学习读书笔记之8 - 聚类
聚类(Cluster) 是无监督学习的一种,与分类相区别的地方在于:1. 分类的目的在于将数据进行明确的归属划分,聚类 的目的只是使同一类对象的相似度尽可能大;2. 聚类 作为非监督学习,不需要训练和学习过程; 目前聚类的方法很多,根据基本思想的不同,大致可以将聚类算法分为五大类:层次聚类算法、分割聚类算法、基于约束的聚类算法、机器学习中的聚类算法和用于高维度的聚类原创 2017-01-15 13:05:43 · 528 阅读 · 0 评论 -
全景拼接
图像和视频缝合 在全景图生成、360°全景相机以及VR全景领域有非常多的应用,常用的图像缝合工具有Microsoft的ICE、PTGui、开源软件Hugin等,基于视频的拼接可以参考VideoStitch、StitcHD (github.com/lukeyeager/StitcHD)以及stitching_with_cuda。 图像缝合的算法步骤可以描述为:Step1.原创 2017-01-12 13:21:22 · 10372 阅读 · 5 评论 -
角点检测算子(Harris, KLT, SIFT,SUSAN)
角点检测: 角点:最直观的印象就是在水平、竖直两个方向上变化均较大的点,即Ix、Iy都较大 。 边缘:仅在水平、或者仅在竖直方向有较大的变化量,即Ix和Iy只有其一较大。 平坦地区:在水平、竖直方向的变化量均较小,即Ix、Iy都较小。一:Harris角点检测 用 Harris 算法进行检测,有三点不足:(1)不原创 2017-01-11 13:39:28 · 11239 阅读 · 0 评论 -
ADAS技术概要
先进驾驶辅助系统(Advanced DriverAssistant System),简称ADAS,是智能交通领域的一个大方向,近几年ADAS迅速发展,在车道线检测、前车防撞、疲劳驾驶、紧急壁障、信号灯识别等方面都取得了长足的进步,这也是我们把ADAS单独作为一节来进行阐述的原因。 当然ADAS系统会用到多种传感器,比如激光雷达、深度摄像头等,这里我们仅通过传统的RGB摄像头来原创 2017-01-11 13:37:43 · 2686 阅读 · 0 评论 -
机器学习实践系列之9 - 视频结构化
视频结构化 是个沉重的话题,从 前背景建模 到 目标检测,再到目标跟踪,这里面涉及到的东西太多。目前各路安防厂商,视频分析团队 都在大打 结构化的大旗,公安行业也逐渐开始有了一定的应用,大华”睿智”、海康“猎鹰”、宇视“昆仑”,名字取的一个比一个牛逼…… 利益相关,对此,作者不予褒贬、不置可否。 目前并没有一个标准的 视频结构化的定义,到底什么是视频结构化,哪些内容原创 2017-02-17 22:47:03 · 6882 阅读 · 0 评论 -
机器学习实践系列之11 - OpenCV实战车道线检测
ADAS 在经过资本的一轮热炒之后已经不新鲜了,Mobile Eye的技术积累和效果也让很多童鞋叹为观止,然后奋起直指! 初学者为代表的童鞋,二话不说,上来就是霍夫变换,还是直接用opencv里带的,入门很好,实力一下就暴漏个底掉。又做了一番调研,发现了Hough变换的缺点,然后开始搞模板,形状匹配、轮廓提取、样本训练,效果仍旧不理想,无法应对恶劣天气、不能适应光线变化,总之鲁棒性原创 2017-02-17 23:01:01 · 6267 阅读 · 1 评论 -
牛顿法与Hessian矩阵
牛顿法 主要有两方面的应用:1. 求方程的根;2. 求解最优化方法;一. 为什么要用牛顿法求方程的根? 问题很多,牛顿法 是什么?目前还没有讲清楚,没关系,先直观理解为 牛顿法是一种迭代求解方法(Newton童鞋定义的方法)。 假设 f(x) = 0 为待求解方程,利用传统方法求解,牛顿法求解方程的公式:f(x0+Δx) = f(x0原创 2017-03-03 22:13:30 · 38219 阅读 · 13 评论 -
机器学习实践系列之15 - OpenCV之MSER
最大稳定极值区域 MSER(Maximally Stable Extremal Regions)是一种类似分水岭的算法,目前主要用于图像分割和车牌区域检测。2012年由Matas等人提出。 MSER 基本原理是对一幅灰度图像(灰度值为0~255)取阈值进行二值化处理,阈值从0到255依次递增。在得到的所有二值图像中,图像中的某些连通区域变化很小,甚至没有变化,则该区域就被称为最大稳原创 2017-03-02 22:28:15 · 1966 阅读 · 0 评论 -
机器学习实践系列之13 - OpenCV之图像去雾
图像去雾 是图像质量保证的一个重要方面,这里要讲到的是这个领域的一个里程碑式的贡献: 来自 何凯铭 的基于 暗原色先验(dark channel prior)的单一输入图像去雾方法,这是一种简单但是有效的图像先验规律,不需要借助帧间关系。 论文参考:Single Image Haze Removal Using Dark Channel Prior原创 2017-03-02 22:22:59 · 2361 阅读 · 1 评论 -
机器学习实践系列之12 - OpenCV之三维重建
又一次提到了 三维重建,许是三维重建的应用面太广,从 PrimSense 到 Kinnect 再到RealSense,还有一堆国内的山寨机不表。 从 Kinnect Fusion 到 Project Tango,伟大的项目 见证着一个说法:世界总归是三维的。 那就用 3D 来感知世界吧!一. 摄像机的深度? 如何从摄像机来获取深度原创 2017-02-17 23:05:12 · 6204 阅读 · 1 评论 -
机器学习实践系列之10 - OpenCV实战立体视觉
立体视觉 是通过图像间的对应关系,根据三角测量原理,得到视差图,主要过程包括:摄像机标定、立体标定、立体校正、计算视差图。 在得到视差信息后,很容易根据投影模型 计算原始图像的深度,立体匹配技术被 认为是立体视觉中最困难也是最关键的问题,容易受 光照、噪声、非显著纹理(特征)等问题影响,无法得到较好的匹配效果。 本节主要讲解 OpenCV 自带立体视觉模块 Ster原创 2017-02-17 22:51:32 · 1564 阅读 · 0 评论 -
机器学习实践系列之8 - 人眼定位
一. 人眼检测 OpenCV自带的人眼检测,代码及教程都已比较普及,这里不再啰嗦,训练模板直接 load已经训练好的文件: haarcascade_eye_tree_eyeglasses.xml,直接看代码:/* linolzhang 2014.10 基于OpenCV的人眼检测 - Cascade*/#include "opencv2/highgui/原创 2017-02-16 22:32:37 · 3300 阅读 · 0 评论