matlab函数

Faster RCNN(tensorflow)代码详解

不羁的心 提交于 2019-11-28 22:22:38
本文结合CVPR 2018论文 "Structure Inference Net: Object Detection Using Scene-Level Context and Instance-Level Relationships" ,详细解析Faster RCNN(tensorflow版本)代码,以及该论文中的一些操作步骤。 Faster RCNN整个的流程就是使用VGG等网络提取全图的feature map以及使用RPN网络预测一些object proposal(物体bbox的形式),使用ROI Pooling操作,提取出每个物体的特征图,然后输入到两层全连接神经网络进行物体类别以及bbox坐标的预测,抽象版的流程图可以看下面两幅图。 为了更清楚的体现代码中的结构,按照代码中的流程绘制了下面这张图:(图太大截图不好看,可使用链接下载。) 下面分析代码是根据一次典型的实验的执行顺序来分析的,这样比较方便理解。首先贴出跑一次Faster RCNN的典型参数配置: 'DEDUP_BOXES': 0.0625, 'EPS': 1e-14, 'EXP_DIR': 'faster_rcnn_end2end', 'GPU_ID': 0, 'IS_MULTISCALE': False, 'MATLAB': 'matlab', 'MODELS_DIR': 'XXX/SIN/models

matlab中size函数总结

為{幸葍}努か 提交于 2019-11-28 18:28:52
size(A)函数是用来求矩阵的大小的。 比如说一个A是一个3×4的二维矩阵: 1、size(A) %直接显示出A大小 输出:ans= 3 4 2、s=size(A)%返回一个行向量s,s的第一个元素是矩阵的行数,第二个元素是矩阵的列数 输出:s= 3 4 3、[r,c]=size(A)%将矩阵A的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c 输出:r= 3 c= 4 4、[r,c,m]=size(A) 输出:r= 3 c= 4 m= 1 也就说它把二维矩阵当作第三维为1的三维矩阵,这也如同我们把n维列向量当作n×1的矩阵一样 5、当a是一个n维行向量时,size(A)把其当成一个1×n的矩阵,因此size(a)的结果是 ans 1 n 而不是a的元素个数n 6、size(A,n) 如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数。其中r=size(A,1)该语句返回的是矩阵A的行数, c=size(A,2) 该语句返回的是矩阵A的列数 来源: http://www.cnblogs.com/cdsj/p/6055076.html

Matlab中Rand()函数用法

拟墨画扇 提交于 2019-11-28 18:28:44
一、理论准备 matlab函数randn:产生均值为0,方差 σ^2 = 1,标准差σ = 1的正态分布的随机数或矩阵的函数。 用法:Y = randn(n),返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息。 Y = randn(m,n) 或 Y = randn([m n]), 返回一个m*n的随机项矩阵。 Y = randn(m,n,p,...) 或 Y = randn([m n p...]), 产生随机数组(感觉就是三维数组,请看如下例子)。 1: >> rand(1,2,3) 2: ans(:,:,1) = 3: 0.445586200710899 0.646313010111265 4: ans(:,:,2) = 5: 0.709364830858073 0.754686681982361 6: ans(:,:,3) = 7: 0.276025076998578 0.679702676853675 Y = randn(size(A)), 返回一个和A有同样维数大小的随机数组。 randn s = randn('state'),估计和C++里初始化随机种子一个意思,随便了。 二、举例分析 产生一个随机分布的指定均值和方差的矩阵:将randn产生的结果乘以标准差,然后加上期望均值即可。例如,产生均值为0.6,方差为0.1的一个5*5的随机数方式如下: 1: x

matlab 函数说明—ordfilt2

别来无恙 提交于 2019-11-28 18:28:15
今天看harris角点实现的源码,在某一个版本中看到了这个函数,不是很理解,doc ordfilt2之后还是不清楚,终于在matlab论坛上搞清楚了ordfilt2的功能。 中文理解函数名就是顺序滤波函数,后面的2表示的是2维滤波,常用的调用形式如下: 1.B = ordfilt2(A,order,domain) 这种形式中,A为被滤波的矩阵,order表示选取由domain确定的邻域中第order个元素替换A中的元素,存入B中。示例如下: Y=ordfilt2(X,5,ones(3)) ; //相当于3*3窗口的中值滤波 Y=ordfilt2(X,1,ones(3)); //相当于3*3窗口的最小值滤波 需要注意的是,domain矩阵中可能会有某些位置为零(不为零的位置为1),这种为零的位置不算在顺序统计的领域之中。也就是说: Y=ordfilt2(X,1,[0 1 0;1 0 1;0 1 0]) 表示用窗口表示的邻域中不为零的位置的像素值中选择最小的替代原来的像素值。 2.B = ordfilt2(A,order,domain,S) 暂时没搞明白S是做啥用的,好像一时半会儿也用不到,先记录着,以后想明白了再更新 来源: http://www.cnblogs.com/obama/p/3218799.html

Matlabnotes

折月煮酒 提交于 2019-11-28 16:08:33
一.matlab编程 1.function [结果] = 函数名(输入变量) 处理变量 end 2.调用:函数名(a):输入变量值为a,返回第一个结果 [x,y] = 函数名(a):输入变量值为a,返回结果 3.定义数学函数的简单方法: (1)匿名函数法 y = @(x)表达式 z = @(x,y)表达式 括号中为自变量 (2)内联函数法 y = inline(表达式) ps:inline函数会将表达式中的自变量自动从左到右排序,常常用作一元函数 4.控制语句 (1)分支语句 if-end;if-else-end;if-elseif-else-end switch-case (2)循环语句 for %循环次数已知 while %常用于循环次数不确定时 (3)其他语句 1)输入语句input x = input('提示字符串') 2)输出语句disp和带格式化的fprintf输出语句 disp(a):输出a fprintf('提示字符串:%d\n',x):d默认输出x的格式 fprintf('提示字符串:%.2f\n',x):.2f表示保留小数点后两位 fprintf('提示字符串:%10.2f\n',x):结果共占10个字节 ps:查询函数帮助 help 函数 3)warning和error 4)break和continue 用在循环中 break:跳出循环 语句1 for i =

matlab基础知识

人走茶凉 提交于 2019-11-28 16:08:26
1.ceil(x):向上取整 floor(x):向下取整 2.round(x,y):保留小数点后y位 3.sign(x):判断正负,若为正,则为1;若为负,则为-1;若为0,则为0 4.conj(x):取x的共轭 abs(x):取模 real(x):取x的实部 imag(x):取x的虚部 angle(x):求复数矩阵相位角的弧度值 5.flipu(x):矩阵的第一行与最后一行进行互换 flipdim(x,dim):dim为1,表示每一列进行逆序排列;dim为2,表示每一行进行逆序排列 fliplr(x):实现矩阵沿垂直轴左右翻转 6.mean(x):mean函数是一个求数组平均值的函数 mean(x,dim):dim为1,求每一列的平均值;dim为2,求每一行的平均值 7.length(x):length(x)为数列的长度,即它里面有多少个元素.如果x0是矩阵的话,比方说M行N列,那么length返回M和N这两个数的最大值 8.[b0,ind]=sort(x):按列将矩阵排序,然后找出他们的位置 [b0,ind]=sort(x,2):按行将矩阵排序,然后找出他们的位置 9.dot(a,b):向量的点乘,ps:只能用于向量,不可以用于矩阵 cross(a,b):向量的×乘 10.[m,n]=size(a):求矩阵的行列,行为m,列为n 11.可以用;或者回车换行输入命令 12

经纬度计算距离

南笙酒味 提交于 2019-11-28 00:23:53
根据经纬度计算距离是有固定公式的,按照公式写个函数很简单。 import math def cal_dis(lat1, lon1,lat2, lon2): latitude1 = (math.pi/180)*lat1 latitude2 = (math.pi/180)*lat2 longitude1 = (math.pi/180)*lon1 longitude2= (math.pi/180)*lon2 #因此AB两点的球面距离为:{arccos[sinb*siny+cosb*cosy*cos(a-x)]}*R #地球半径 R = 6378.137 d = math.acos(math.sin(latitude1)*math.sin(latitude2)+ math.cos(latitude1)*math.cos(latitude2)*math.cos(longitude2-longitude1))*R return d if __name__ == '__main__': print cal_dis(23.0,101.1,23.06,113.34) 注意 ,经纬度是角度,而三角函数的输入是弧度,角度与弧度的关系 180=pi 有一次我在一个项目中发现 matlab 的计算距离和上面这个函数有些出入,虽然相差不大,但是确实不一样,当时也折腾了好久,后来发现 python

数据标准化/归一化方法

牧云@^-^@ 提交于 2019-11-27 18:03:05
归一化方法(Normalization Method) 1。 把数变为(0,1)之间的小数 主要是为了数据处理方便提出来的,把数据映射到0~1范围之内处理,更加便捷快速,应该归到数字信号处理范畴之内。 2 。把有量纲表达式变为无量纲表达式 归一化是一种简化计算的方式,即将有量纲的表达式,经过变换,化为无量纲的表达式,成为纯量。 比如,复数阻抗可以归一化书写:Z = R + jωL = R(1 + jωL/R) ,复数部分变成了纯数量了,没有量纲。 另外,微波之中也就是电路分析、信号系统、电磁波传输等,有很多运算都可以如此处理,既保证了运算的便捷,又能凸现出物理量的本质含义。 标准化方法(Normalization Method) 数据的标准化是将数据按比例缩放,使之落入一个小的特定区间。由于信用指标体系的各个指标度量单位是不同的,为了能够将指标参与评价计算,需要对指标进行规范化处理,通过函数变换将其数值映射到某个数值区间。一般常用的有以下几种方法。 (1) 最小-最大规范化对原始数据进行线性变换。假定MaxA与MinA分别表示属性A的最大与最小值。最小最大规范化通过计算 将属性A的值映射到区间[a, b]上的v。一般来说,将最小-最大规范化在用于信用指标数据上,常用的有以下两种函数形式: a) 效益型指标(越大越好型)的隶属函数: b) 成本型指标(越小越好型)的隶属函数: (2)

MATLAB优化函数fmincon解析

旧时模样 提交于 2019-11-27 12:42:59
MATLAB,优化函数fmincon解析 [x,fval,exitflag,output,lambda,grad,hessian]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options); 输入参数:fun要求解的函数值;x0函数fun参数值的初始化; 参数值的线性不等式约束A,b 参数值的等式线性约束Aeq,beq, 参数值的上界和下界lb,ub 非线性约束nonlcon 输出参数:X输出最优参数值 Fval输出fun在X参数的值 Exitflag输出fmincon额外条件值 来源: https://blog.csdn.net/qq_40856614/article/details/99674612