自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 C语言中的register变量深度解析

register关键词因为寄存器比内存有更快的存取速度,在C代码中,经常使用的那些变量可以通过register关键词将其放到寄存器上。register关键词会提示编译器可以将该变量放在寄存器上,但变量是否被放在寄存器上,这取决于编译器。通常,编译器会进行一些优化工作,并把该变量放在寄存器中。要点1.如果对寄存器变量使用&取地址符,编译器会产生警告或者错误(实际情况取决于...

2020-01-30 08:56:27 1395

原创 常见损失函数深度剖析之多分类

常见损失函数深度剖析之多分类###1.多类交叉熵多类交叉熵是多类别分类问题的默认损失函数,也叫softmax损失函数(softmax激活层+交叉熵损失函数)。多类交叉熵中,因类别标签进行过0-1独热编码,在输出概率向量中,与独热项对应的预测项才参与模型损失的贡献。###2.稀疏多类交叉熵如果类别标签过多,例如与文本词袋相关的分类问题,标签就有上千个,进行独热编码将不...

2020-01-25 21:14:19 2179 1

原创 常见损失函数深度剖析之二分类

常见损失函数深度剖析之二分类###1.二值交叉熵二值交叉熵是二分类问题的默认损失函数,用于目标变量满足{0,1}二值分布的二分类模型中。交叉熵回顾——交叉熵是信息理论学里面,用来衡量两个概率分布之间的不相似度,交叉熵越小,概率分布就更相似。参照交叉熵的定义,二分类问题中的交叉熵就应由两部分组成。即真实值为1的概率分布与模型应当预测为1的概率分布间的交叉熵,以及真实...

2020-01-25 21:10:25 5396

原创 常见损失函数深度剖析之回归

常见损失函数深度剖析之回归###1.均方误差损失函数均方误差损失函数——MSE,通常是回归问题的首选损失函数,很多机器学习框架中的回归分析模块,都默认使用MSE。如果目标变量满足高斯分布,或近似满足高斯分布,可能就应更偏向于使用均方差函数作为模型的代价函数。误差平方化将会使较大的误差被放大,意味着模型主要针对大误差进行惩罚。如果用神经网络进行回归预测,最后的激活层也推荐...

2020-01-25 21:05:43 453

原创 C编程实战

C语言介绍什么是C语言?1.C语言是由AT&贝尔实验室的丹尼斯·里奇于1972年发明的,那个时候所实验的电脑主要是PDP-11。2.C语言在今天还仍然得到广泛使用的原因在于,其易于拓展到新的系统架构、高效性以及更面向于计算机底层。C语言特性较少的关键字 结构体、联合体等紧凑数据类型 支持指针或指针操作 外部标准库 最终是编译到机器码执行 支持宏预处理...

2020-01-24 10:35:39 422

原创 损失函数

####在训练网络的时候,我们应当如何来选择适当的损失函数(上) 神经网络基于样本数据来学习一个从输入变量(自变量)到输出变量(目标变量)的映射,损失函数的选择就必须匹配实际的预测问题。 回归、二分类、多分类是三大最常见的预测问题。###1.回归问题常见损失函数 Mean Squared Error Loss——均方误差损失函数 MSE Mean ...

2020-01-10 10:15:03 170

原创 Java中的静态方法与实例方法

Java中的静态方法与实例方法(即非静态)方法深度解析1.实例方法依赖于一个具体对象,被存储在堆空间中的永久生成部分,但是传递给方法的参数、局部变量以及返回值是在栈空间上分配的。每个对象都会创建一份自己的实例方法,但在存储上又不需要对类的不同实例进行按实例存储(有疑惑?继续往前看)。实例方法被存储在统一的内存位置(永久性的堆空间部分),在调用时才借助this指针进行栈空间上的变量区...

2020-01-10 10:12:49 475

原创 Java中实现的Hashmap与Hashtable简谈

Hashmap与Hashtable1.在Java中,HashMap是非同步线程不安全的,没有适当的同步代码就无法在多线程间共享,而Hashtable是同步的,意味着它是线程安全的,可以在多线程间共享。2.HashMap允许存在一个空键以及多个空值,然而Hashtable不允许存在任何空的键以及空值。3.在线程同步不是特别需要的应用场合,更偏爱于使用Hashmap,Hashmap是在Ha...

2020-01-10 10:09:51 101

原创 为大数据爱好者量身定制的Hadoop教程

为大数据爱好者量身定制的Hadoop教程-学习Hadoop的最佳方式####Hadoop 提到大数据,网上搜索最多的关键词就是Hadoop。大家知道为什么吗?这是因为Hadoop是大数据中的主要框架,如果说框架可能会引起不少争论,那我们就说跟Hadoop最直接相关的东西在大数据里面占据了绝大部分江山。 如果你关于大数据没有一点认知,那么在这里,通过一系列的教程你就将会撬开大...

2020-01-10 10:03:52 110

原创 到底什么是梯度提升

#####跟我一起学梯度提升 梯度提升是建立预测模型的一种强大技术。####1.提升的起源 提升的思路来源于一个弱学习器是否能够被改良为更强的学习器。 弱假设/弱学习器——其猜测性能只比随机猜测稍好。 提升的思想是通过对观察样本进行过滤,保留可以让弱学习器处理的样本,以便集中于开发下一阶段的弱学习器来处理其余困难样本。####2.AdaBoost —...

2020-01-09 10:35:20 2018

原创 基于OpenCV的harris角点检测

首先放上一张帝国大厦的测试图片。Harris角点检测框架是使用偏微分来近似平方差的计算,通过计算微分矩阵的两个特征值来决定是否存在角点特征。例如,当两个特征值均较大时,图像块中有角点特征,仅当其中一个特征值角点,则图像块中存在边缘特征。GoodFeaturesToTrackDetector harris_detector(1000, 0.01, 10, 3, true);

2017-06-04 19:46:25 577

原创 几何变换 -- 仿射变换

简单来说,在平常的图像处理和机器视觉等应用中,几何变换通常是指不太复杂的线性几何变换,其中主要分仿射变换和投射变换。许多常见的变换问题都能由仿射变换描述,仿射变换等式如下:等式右边是变换前的图像坐标点,左边是变换后的图像坐标点。针对不同的变换问题,通过选择适当的变换对应点,解决这6个变换相关系数。在OpenCV中,进行仿射变换可用warpAffine函数:warpA

2017-05-29 09:33:14 1062

原创 实用计算机视觉 -- 各种阈值化效果

本实验主要基于OpenCV来测试各种阈值化后效果,主要验证最优阈值化、大津阈值化和自适应阈值化,并进行带通阈值化和半阈值化的测试,测试图片如下:灰度图片和RGB彩色图片的直方图效果分别如下左右所示:左图中第一个大尖峰为黑色铅笔和黑色物体的灰度分布,最后一个大尖峰为图中白色物体和硬币的灰度分布,图片背景有一个显著的由暗到明的渐变过程。首先基于之前博文中实现的最优阈值进行测

2017-05-28 20:15:26 2505

原创 实用计算机视觉 -- 一种基于直方图的最优阈值计算方法

按照惯例,首先放上测试图片:基于直方图概率统计分布的最优阈值计算算法如下:其中的定义见博客,经过每一次迭代后,将初始化的灰度水平加1,直到算法收敛,验证代码如下:int computeOptimalTh(Mat &image, int init_threshold){CV_Assert(image.channels() == 1 && init_thre

2017-05-27 12:49:28 2214

原创 实用计算机视觉 -- 一种基于直方图的自动阈值计算方法

首先放上测试图片:基于OpenCV的直方图显示代码:Mat draw1DHistgoram(Mat &image, int channel){float channel_range[] = { 0.0, 255.0 };const float* channel_ranges = channel_range;bool uniform = true; bool accumu

2017-05-27 12:11:55 1536

原创 实用计算机视觉 -- 彩色空间应用

在图像处理和计算机视觉中,基于彩色空间有许多的应用,本实验主要涉及基于HLS模型的皮肤检测和红眼检测,测试图片如下:在OpenCV中,将RGB图像转换到HLS空间的效果如下:在大量的研究实验工作后,(S>=50)  && (L_S_ratio>0.5) && (L_S_ratio=165))的模型较为可靠,下面分别是测试代码和效果:void skinDetect(M

2017-05-26 17:49:00 410

原创 计算机视觉 -- 最优化阈值

二值图像是比灰度图像更简单的图像表示,可对灰度图像进行阈值化得到,其中主要分全局最优阈值化(单阈值)和多重阈值化,本文主要讲全局最优阈值化。最优化思想:假设灰度直方图的概率分布模型可由两个不同的正态分布相加得到,那么两个正态分布的交点便为最优阈值点。算法细节:其中p(g)为灰度直方图,g为像素值。

2017-05-25 16:28:28 2613

翻译 同步定位与地图构建SLAM过程

SLAM过程包含许多步骤,整个过程是为了利用环境来更新机器人的位置。由于机器人中给出自身位置的距离测量往往是不精确的,就不能直接依赖于这种测距机制。我们可以利用对环境的激光扫描来纠正机器人位置,这能通过提取环境的特征来实现,然后当机器人向四周运动时再进行新的观察。扩展卡尔曼滤波EKF是SLAM过程的核心,其基于这些环境特征来负责更新机器人原始的状态位置,这些特征常称为地标。EKF用于跟踪机器人位置

2017-05-23 11:43:08 7398

翻译 实用计算机视觉 -- 简单摄像机针孔模型

3D到2D的针孔成像物理模型:在针孔摄像机模型里,从三维世界中一点(x,y,z)到图像平面中一点(i,j)的映射如下:其中,w为齐次坐标系中的缩放因子,用于对图像点进行描述,fi,fj为相机焦距长度与I,J方向像素尺寸的混合表示,(ci,cj)为光轴与图像平面的交点坐标。

2017-05-22 10:40:22 1429

原创 Matlab&Simulink开发STM32F4

来源:在接触MATLAB的几年中,发现MATLAB在功能上越来越强大,在结合simulink上开发许多的嵌入式原型产品发挥了很大的实时仿真能力,由于平时在实验室里接触过很多开源的东西,在心里面很喜欢这样的开源文化,偶然中,在网上看见国外的Maker与Hacker爱好者用matlab开发Arduino和树莓派等开源硬件,就思考就合周边的东西试想能不能用MATLAB开发,这样也进一步让自己在实践中更好。

2016-04-19 22:18:04 34654 29

神经网络设计

资料从神经网络最基础的数学原理出发,以指导性的说明来设计神经网络,从简单到综合,到复杂。便于其他语言实现

2016-04-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除