
算法
文章平均质量分 78
NineDays66
email:547691062@qq.com
展开
-
Stacked Hourglass Networks - 堆叠沙漏网络结构详解
1.概述姿态估计(pose estimation)在计算机视觉领域是一个非常重要的方向,人类动作理解,人机互动等等应用都需要精确的姿态识别。目前,绝大多数的2d姿态识别都是识别人体的关键点,比如,给定一张普通的RGB图像,算法会给出人体的脚踝,胳膊,面部等区域的关键点(keypoint)目前,基于stacked Hourglass Model的各种变种算法,牢牢占据了姿态检测的半壁江山,所以,非常有必要搞清楚stacked hourglass model2.结构概览2.1 CNN的多层次特征CNN深原创 2021-06-04 11:11:13 · 4222 阅读 · 0 评论 -
关于学生课堂行为识别算法
学生行为分析、考试行为分析原创 2022-11-03 13:09:38 · 3160 阅读 · 2 评论 -
高速人脸检测+嵌入式CPU部署 或Android库
目前优化了一款高速人脸检测算法,在 ARM设备的A73单核CPU(图像大小:860*540最小人脸大小:60*60)速度可以高达10-15ms每帧,真正的实时人脸检测算法,算法准确率在 FDDB数据集与MTCNN算法的准确率相当,可以应用将该算法部署在边缘设备,进行人脸识别算法进行整体算法提速。上图展示了 算法 在 A73 CPU上面的运行时间, 人脸检测部分一般在 10ms-15ms 左右 ,人脸检测+人脸特征提取 一般在 130-135ms,整体识别速度非常快速。需要改进人脸识别算法的欢..原创 2020-07-15 15:11:03 · 2583 阅读 · 0 评论 -
Attention 机制
SENet 详解https://blog.youkuaiyun.com/xjz18298268521/article/details/79078551图解1.基础网络结构2.各阶段计算方式公式3.结构图:简介为了更清楚地介绍计算机视觉中的注意力机制,这篇文章将从注意力域(attention domain)的角度来分析几种注意力的实现方法。其中主要是...原创 2019-10-29 11:13:30 · 1862 阅读 · 1 评论 -
如何正确选择聚类算法?
本文将介绍四种基本的聚类算法—层次聚类、基于质心的聚类、最大期望算法和基于密度的聚类算法,并讨论不同算法的优缺点。聚类算法十分容易上手,但是选择恰当的聚类算法并不是一件容易的事。数据聚类是搭建一个正确数据模型的重要步骤。数据分析应当根据数据的共同点整理信息。然而主要问题是,什么通用性参数可以给出最佳结果,以及什么才能称为“最佳”。本文适用于菜鸟数据科学家或想提升聚类算法能力的专家...原创 2019-10-16 14:45:10 · 1071 阅读 · 1 评论 -
opencv 图像各方向旋转
1. 简介计算机图形学中的应用非常广泛的变换是一种称为仿射变换的特殊变换,在仿射变换中的基本变换包括平移、旋转、缩放、剪切这几种。本文以及接下来的几篇文章重点介绍一下关于旋转的变换,包括二维旋转变换、三维旋转变换以及它的一些表达方式(旋转矩阵、四元数、欧拉角等)。2. 绕原点二维旋转首先要明确旋转在二维中是绕着某一个点进行旋转,三维中是绕着某一个轴进行旋转。二维旋转中最简单的场景是绕着...原创 2019-05-28 10:12:18 · 5406 阅读 · 0 评论 -
为什么值越相似,相关性越强
备注: 前提条件是 数据已经被归一到超球面原创 2019-05-31 10:47:13 · 883 阅读 · 1 评论 -
双目测距原理
双目测距基本原理:双目测距实际操作分4个步骤:相机标定——双目校正——双目匹配——计算深度信息。相机标定:摄像头由于光学透镜的特性使得成像存在着径向畸变,可由三个参数k1,k2,k3确定;由于装配方面的误差,传感器与光学镜头之间并非完全平行,因此成像存在切向畸变,可由两个参数p1,p2确定。单个摄像头的定标主要是计算出摄像头的内参(焦距f和成像原点cx,cy、五个畸变参数(一般只需...原创 2019-05-28 16:16:42 · 94284 阅读 · 20 评论 -
计算不规则四边形的面积+代码实现
求两点间距离/***** 求两点间距离*****/float getDistance(CvPoint pointO, CvPoint pointA){ float distance; distance = powf((pointO.x - pointA.x), 2) + powf((pointO.y - pointA.y), 2); distance = sqrt...原创 2019-05-15 09:28:52 · 12788 阅读 · 2 评论 -
KD-TREE 算法原理
KD-TREE 算法原理http://www.oneie.com/index.php/qyjs/47-txcl/1532-kd-tree 本文介绍一种用于高维空间中的快速最近邻和近似最近邻查找技术——Kd- Tree(Kd树)。Kd-Tree,即K-dimensional tree,是一种高维索引树形数据结构,常用于在大规模的高维数据空间进行最近邻查找(Nearest Neighbor...转载 2018-11-28 11:50:10 · 496 阅读 · 1 评论 -
图搜索算法
1.深度优先遍历/* 从v开始深度优先遍历 */void Graph::DFSUtil(int v, bool visited[]){ // 访问顶点v并输出 visited[v] = true; cout << v << " "; list<int>::iterator i; for(i=arrive[v].begin(); i!...原创 2018-11-08 17:24:43 · 593 阅读 · 0 评论 -
使用opencv 进行图像去雾
背景近年来国内的雾霾天气逐渐由中东地区向全国蔓延。雾霾自2013年起开始成为人们对天气关注的关键词。雾霾是特定气候条件与人类活动相互作用的结果。高密度人口的经济及社会活动必然会排放大量细颗粒物(PM2.5),一旦排放超过大气循环能力和承载度,细颗粒物浓度将持续积聚,此时如果受静稳天气等影响,极易出现大范围的雾霾。 雾天时,弥漫在空中的雾气和尘埃模糊了人们的视线,使得景物的能见度大幅降低。...原创 2017-11-12 11:13:39 · 10076 阅读 · 2 评论 -
opencv寻找已知物体
源代码#include <opencv/cv.hpp>#include<opencv2/core.hpp>#include<opencv2/highgui.hpp>#include<opencv2/features2d.hpp>#include<opencv2/cudafeatures2d.hpp>#include&l...原创 2017-11-12 11:50:12 · 2416 阅读 · 0 评论 -
opencv 实现YUV 图片差异对比
#include<opencv2/opencv.hpp>#include<opencv2/core/core.hpp> #include<opencv2/imgproc/imgproc.hpp>#include<opencv2/highgui/highgui.hpp>//#include<opencv2/features2d/featu...原创 2017-11-12 11:56:10 · 2234 阅读 · 0 评论 -
镜头畸变现象及其校正方法
https://blog.youkuaiyun.com/piaoxuezhong/article/details/75268535https://blog.youkuaiyun.com/piaoxuezhong/article/details/79016615博文 http://blog.youkuaiyun.com/dcrmg/article/details/52939318 中给出了opencv校正流程,表示感谢....原创 2019-05-28 20:35:41 · 5682 阅读 · 0 评论 -
MTCNN 解读
目录MTCNN解读 2数据与处理: 2第一阶段, 2第二阶段, 3第三阶段, 3基于caffe的mtcnn训练实现 5一、训练 5(1)样本问题: 6(2)网络问题 7二、训练步骤 8三、使用阶段 8视频车牌定位—mtcnn 9颜色定位和形态学定位改进后的mtcnn车牌定位算法 10MTCNN解读解读论文为《Joint Face D...转载 2019-06-07 21:10:48 · 5391 阅读 · 0 评论 -
SVD 的V 的最后一列是Ax = 0的解
一直都说 Ax = 0 对应的解 是 A矩阵进行 SVD分解 的 V的最后一列,不明白为什么,今天尝试推到了下。Ax = 0; 前提 x'x = 1 即 |x| = 1 其实 Ax = 0 就是 kAx = 0 k是常数, kx 可以让 |x| = 1 即使 |x|不等于1也是这样的解x'A'Ax = 0假设 x'A'Ax = lamdb;这里是期望 lamdb = 0;...原创 2019-06-24 11:38:12 · 2238 阅读 · 2 评论 -
决策树相关算法详细分析
决策树https://www.jianshu.com/p/b7ed99796199随机森林https://www.jianshu.com/p/d1d8de1e0608GDBT 梯度提升树https://www.jianshu.com/p/42e382732244原创 2019-08-22 15:41:43 · 568 阅读 · 0 评论 -
数学笔记
1.泰勒展开和傅里叶变换的区别与联系不妨先想想平面向量的正交分解.傅里叶变换是函数在三角函数空间span{1,cosx,sinx,cos2x,sin2x,……}下的分解,各项系数就是在各个分量上的投影.Taylor级数则是在多项式空间span{1,x,x^2,……}下的分解....原创 2019-08-22 09:42:37 · 240 阅读 · 0 评论 -
matlab帮助文档-fft(快速傅里叶变换)
matlab帮助文档-fft(快速傅里叶变换)fft语法为:Y = fft(X) Y = fft(X,n) Y = fft(X,n,dim)解释:Y = fft(X) ,返回 X的离散傅里叶变换(DFT)若X为列向量,对该列向量做DFT。 若X为矩阵,对X的每一列分别做DFT。 若X为多维数组,对X的每一页的每一列分别做DFT。---------------------...原创 2019-08-15 10:25:06 · 1896 阅读 · 1 评论 -
利用SVD的方法求解ICP(详细推导)
https://blog.youkuaiyun.com/zhouyelihua/article/details/77807541http://www.voidcn.com/article/p-vjoaoxlg-bnu.htmlhttp://nghiaho.com/?page_id=671转载 2019-08-06 10:41:37 · 2021 阅读 · 0 评论 -
交叉熵、相对熵(KL散度)、JS散度和Wasserstein距离(推土机距离)
https://zhuanlan.zhihu.com/p/74075915目录:信息量 熵 相对熵(KL散度) 交叉熵 JS散度 推土机理论 Wasserstein距离 WGAN中对JS散度,KL散度和推土机距离的描述写在前面的总结:1、目前分类损失函数为何多用交叉熵,而不是KL散度。首先损失函数的功能是通过样本来计算模型分布与目标分布间的差异,在分布差异计算中,K...原创 2019-08-01 09:32:49 · 3579 阅读 · 3 评论 -
ID3、C4.5、CART、随机森林、bagging、boosting、Adaboost、GBDT、xgboost算法总结
作者:yuyuqi链接:https://zhuanlan.zhihu.com/p/34534004来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。最近心血来潮,整理了一下和树有关的方法和模型,请多担待!一、决策树首先,决策树是一个有监督的分类模型,其本质是选择一个能带来最大信息增益的特征值进行树的分割,直到到达结束条件或者叶子结点纯度到达一定阈值...转载 2019-07-29 15:04:23 · 743 阅读 · 0 评论 -
感受野 在特征点上的呈现
Effective Receptive Field从CNN对图像的操作来看,Receptive Field可以视为feature map中某个特征点的响应所对应的图像区域。而在CNN中,卷积、池化等操作都会增加特征点所对应的感受野的大小,因此越高的层对应的感受野越大,相应的特征也就越抽象。而通过直观的感受可以想象,位于感受野中心的像素值由于经过多次卷积都位于中心,所以其对最终的响应值的贡献...原创 2019-07-19 09:24:20 · 719 阅读 · 0 评论 -
最小二乘法 求解
线性最小二乘法可逆矩阵条件:1.A 为 方阵2. det(A) 不等于 0 即 A是满秩矩阵 即 A是非奇异矩阵非线性最小二乘法求解https://zhuanlan.zhihu.com/p/42383070很多问题最终归结为一个最小二乘问题,如SLAM算法中的Bundle Adjustment,位姿图优化等等。求解最小二乘的方法有很多,...原创 2019-07-12 12:25:50 · 5367 阅读 · 0 评论 -
SVM 求解流程
详细说明了已下问题1.为什么转换到对偶空间2.为什么需要 KKT 条件3.SVM求解的整个流程https://blog.youkuaiyun.com/huangynn/article/details/38760197https://blog.youkuaiyun.com/xiaohukun/article/details/78202351...原创 2019-07-11 09:49:03 · 897 阅读 · 0 评论 -
让深度学习进入移动端,蘑菇街在移动端的深度学习优化实践
http://777n.com/keji/50566.htmlhttp://777n.com/keji/50566.htmlhttp://777n.com/keji/50566.html深度学习是机器学习中一种基于对数据进行表征学习的方法,与传统靠手工设计特征的机器学习算法不同,深度学习能根据不同任务自动学习数据的特征。目前深度学习在语音、图像、视频处理上已经取得了令人印象深刻的进...原创 2019-08-01 09:32:20 · 1077 阅读 · 0 评论 -
概率与信息论-笔记
概率分布(probability distribution)用来描述随机变量或一簇随机变量在每一个可能取到的状态的可能性大小。我们描述概率分布的方式取决于随机变量是离散的还是连续的。 PMF: 离散型变量的概率分布可以用概率质量函数(probability mass function, PMF)1来描述。我们通常用大写字母P 来表示概率质量函数。通常每一个随机变量都会有一个...原创 2018-06-24 16:06:55 · 392 阅读 · 0 评论 -
泰勒展开式-牛顿法优化
泰勒公式的表达式:就是下面这个看起来很复杂的公式。 首先还是先回到函数的局部线性近似这个概念。举个栗子,例如函数,当自变量有变化时,即,自变量y会变化,带入到函数里面就有当时,上式的后两项是的高阶无穷小舍去的话上式就变成了也就是说当自变量x足够小的时候,也就是在某点的很小的邻域内,是可以表示成的线性函数的。线性函数计算起来,求导起来会很方便。对于一般函数,当在某点很小领域内我们也可以...原创 2018-07-05 10:13:18 · 7384 阅读 · 1 评论 -
Camera Calibration 相机校准
Due to radial distortion, straight lines will appear curved. Its effect is more as we move away from the center of image. For example, one image is shown below, where two edges of a chess board are ma...原创 2018-07-04 11:50:21 · 2474 阅读 · 0 评论 -
opencv 特征提取
1. HOG 特征 int DataPrepare::getImageHogFeature(Mat &img, vector<float> & descriptors, Size & size){ if (img.data == NULL) { cout << "No exist" << endl; return ...原创 2018-07-02 14:24:14 · 5946 阅读 · 0 评论 -
Procrustes analysis
概述在人脸相关应用中,获得的人脸图像常常形状各异,这时就需要对人脸形状进行归一化处理。人脸对齐就是将两个不同的形状进行归一化的过程,将一个形状尽可能地贴近另一个形状。值得注意的是,在英语文献中,Face Alignment和Facial Landmark Detection常常混用,在我的系列博客里面,Facial Landmark Detection指的是人脸特征点检测,而Face Al...原创 2018-06-19 14:42:32 · 8443 阅读 · 2 评论 -
随机森林,xgboost, gbdt
决策树决策树生成包含三个步骤: 特征选择 ——> 决策树生成——> 决策树修剪:特征选择:理解: 根据某些规则选取使决策树性能最好的特征 1.1 信息熵 1.2 信息增益(缺点:偏向于选取值较多的特征) 1.3 信息增益比(基于信息增益的改进,克服了了上述信息增益的缺点)决策树生成: 2.1 ID3:在各个节点应用信息增益准测选择特征,递归构建决策树 2.2 C4.5:在ID3的基础上...原创 2018-05-23 15:10:44 · 910 阅读 · 0 评论 -
数据科学家必须了解的六大聚类算法:带你发现数据之美
在机器学习中,无监督学习一直是我们追求的方向,而其中的聚类算法更是发现隐藏数据结构与知识的有效手段。目前如谷歌新闻等很多应用都将聚类算法作为主要的实现手段,它们能利用大量的未标注数据构建强大的主题聚类。本文从最基础的 K 均值聚类到基于密度的强大方法介绍了 6 类主流方法,它们各有擅长领域与情景,且基本思想并不一定限于聚类方法。本文将从简单高效的 K 均值聚类开始,依次介绍均值漂移聚类、基于密度的...转载 2018-05-13 16:18:55 · 1063 阅读 · 0 评论 -
奇异值分解简介:从原理到基础机器学习应用
矩阵分解在机器学习应用中的重要性无需多言。本文对适用范围很广的奇异值分解方法进行了介绍,并通过代码演示说明了其工作方式、计算方法及其常见的几种基础应用。矩阵分解也叫矩阵因子分解,涉及到用给定矩阵的组成元素描述该矩阵。奇异值分解(SVD)可能是最著名和使用最广泛的矩阵分解方法。所有矩阵都有一种 SVD 方法,这使得其比特征分解(eigendecomposition)等其它方法更加稳定。因此,这种方法...转载 2018-05-13 16:15:52 · 788 阅读 · 0 评论 -
机器学习新手必看10大算法
本文介绍了机器学习新手需要了解的 10 大算法,包括线性回归、Logistic 回归、朴素贝叶斯、K 近邻算法等。在机器学习中,有一种叫做「没有免费的午餐」的定理。简而言之,它指出没有任何一种算法对所有问题都有效,在监督学习(即预测建模)中尤其如此。例如,你不能说神经网络总是比决策树好,反之亦然。有很多因素在起作用,例如数据集的大小和结构。因此,你应该针对具体问题尝试多种不同算法,并留出一个数据「...转载 2018-05-13 16:10:52 · 531 阅读 · 0 评论 -
人脸属性 技术总结
对人脸的基本属性 实现 实时性分析。其基本属性包括:68个关键点,表情,年龄(年龄段),性别,种族。2.可用于研究的数据集关键点检测可用数据库:BioID(1000张 20个关键点),LFPW:(1132 张,29个关键点),AFLW(25993张,21个关键点),COFW:(1852张,每个人脸标定29个关键点),ICCV13/MVFW :(2500张,68个关键点),OCFW: (3837张,...原创 2018-05-10 15:24:42 · 4107 阅读 · 1 评论 -
表情识别 [传统方法 VS 深度学习方法]
数据准备: 采用 CK+ 的数据集作为训练集 和验证集深度学习 流程 1.CNN 提取特征2.FC 基于特征进行分类。3.SoftMaxwithLoss 进行 loss 定义建立网络 如下图所示:1.引入了inception 模块来增加网络的宽度。2.pool3使用 ave pooling 来减少 FC层的使用,可以有效减少参数。3.训练迭代500...原创 2019-06-07 21:21:48 · 1286 阅读 · 0 评论 -
Chinese Whisper 人脸聚类算法实现
Chinese whispers clustering目录1Chinese_Whispers简介2Algorithm3Strengths and Weaknesses4Dlib库调用方法5分类时间统计6Python版实现 Chinese_Whispers简介Chinese Whispers is a clustering method used in network s...原创 2017-11-27 14:11:34 · 13566 阅读 · 3 评论 -
朴素贝叶斯算法
简介贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。本文作为分类算法的第一篇,将首先介绍分类问题,对分类问题进行一个正式的定义。然后,介绍贝叶斯分类算法的基础——贝叶斯定理。最后,通过实例讨论贝叶斯分类中最简单的一种:朴素贝叶斯分类。综述对于分类问题,其实谁都不会陌生,说我们每个人每天都在执行分类操作一点都不夸张,只是我们没有意识到罢了。例如,当你看到...原创 2017-11-14 18:54:53 · 397 阅读 · 0 评论