精华内容
下载资源
问答
  • 为了方便说明,假设epoch数目为1,有2个batch,cnn_train函数在每一个batch上优化结束之后会分别...error:obj为一个batch所有样本的loss,相应地top1和top5分别为一个batch所有样本的top1和top5误差之和; st...

    为了方便说明,假设epoch数目为1,有2个batch,cnn_train函数在每一个batch上优化结束之后会分别得到两个数组:

    error=[obj, top1, top5]

    stats=sum([stats,[0 ; error]],2)

    error:obj为一个batch里所有样本的loss,相应地top1和top5分别为一个batch里所有样本的top1和top5误差之和;

    stats:在第1个batch上优化结束之后,保存的是第1个batch上得到的error数组。在第2个batch上优化结束后,保存的是2个batch的error数组之和。

    matlab命令窗口输出的形如“training: epoch 01: batch   1/600: 174.4 Hz obj:2.3 top1e:0.88 top5e:0.39 [100/100]”的结果是如何计算的,如下:

    obj=(stats数组的obj)/n,其中n=当前batch*batchSize,比如优化的是第2个batch的话就是n=2*batchSize,由此可以看出,其实n就是样本数目。top1和top5计算方法相同。

     

    Top-5错误率
    即对一个图片,如果概率前五中包含正确答案,即认为正确。

    Top-5 = (正确标记 不在 模型输出的前5个最佳标记中的样本数)/ 总样本数;

    Top-1错误率
    即对一个图片,如果概率最大的是正确答案,才认为正确。

    Top-1 = (正确标记 与 模型输出的最佳标记不同的样本数)/ 总样本数; 
     

    展开全文
  • matlab里det函数的神奇bug

    千次阅读 2020-05-12 00:41:08
    matlab里det函数的神奇bug 最近在使用matlab的det函数算两个矩阵的乘积的行列式时候,发现了一个神奇的bug,先看下面这个计算: 由高等代数的知识可以知道,det(ab)=det(ba)才对,但是从上面的结果可以看出,det(ab...

    matlab里det函数的神奇bug


    最近在使用matlab的det函数算两个矩阵的乘积的行列式时候,发现了一个神奇的bug,先看下面这个计算:
    在这里插入图片描述
    由高等代数的知识可以知道,det(ab)=det(ba)才对,但是从上面的结果可以看出,det(ab)不等于det(ba),起码它们之间存在误差,如果你觉得这个误差是可以忽略的,那你接下来往下看。
    在这里插入图片描述
    有没有发现误差从10^(-12) 变成了10^(-9),如果你觉得这也能忽略不计,那你接下来再往下看。
    在这里插入图片描述
    这个误差已经达到了10^(4),你觉得还可以忽略吗?
    当我发现了这个bug以后,det函数我已经不太敢用了。。。。

    展开全文
  • 3、Matlab中在进行计算时,是从左到右进行的。下面给出例子。 所以10>5>2的正确写法应该为:10>5&&5>2 4、关于Matlab中的舍入误差 本来左右等式应该是相等的,但由于舍入误差,使两个式子产生...

    1、xor()括号里的两个命令当且仅当只有一个逻辑运算正确的时候,返回逻辑值为1。

    在这里插入图片描述
    2、运算优先级。
    容易错的有:逻辑运算在加减法后面,
    负号运算在幂次后面。
    在这里插入图片描述
    在这里插入图片描述

    3、Matlab中在进行计算时,是从左到右进行的。下面给出例子。
    在这里插入图片描述
    所以10>5>2的正确写法应该为:10>5&&5>2

    4、关于Matlab中的舍入误差
    本来左右等式应该是相等的,但由于舍入误差,使两个式子产生了微小的偏差。
    在这里插入图片描述
    对于舍入误差在Matlab中的解决办法,通常是:判断两个数的差的绝对值,若小于1*10^(-13),则认为两个数相等,代码如下:

    在这里插入图片描述
    5、三角函数
    sin():以弧度为单位
    sind():以角度为单位
    在这里插入图片描述
    6、取整函数和求余函数
    在matlab中输入help elfun,可以弹出一些常见的函数

    在这里插入图片描述
    一、取整函数
    fix:向零取整(相当于去掉小数部分)
    floor(地板):向正无穷取整
    ceil(天花板):向负无穷取整
    round:四舍五入,可设置保留的小数点位数
    在这里插入图片描述

    二、取余函数:mod、rem
    两者有轻微的区别,主要有两点:(1)有负号时不同;(2)除0时不同
    在这里插入图片描述
    在这里插入图片描述

    三、符号函数:
    在这里插入图片描述在这里插入图片描述

    展开全文
  • 作为信息隐藏方面的研究者,预测误差扩展法是必须要掌握的一门技术。今天本人就详细介绍一下预测误差扩展直方图的信息隐藏技术。 1.原理简介 以灰度图像为例,在计算机存储的数据是一个个0-255的数字。并且图像...

    作为信息隐藏方面的研究者,预测误差扩展法是必须要掌握的一门技术。今天本人就详细介绍一下预测误差扩展直方图的信息隐藏技术。

    1.原理简介

    以灰度图像为例,在计算机里存储的数据是一个个0-255的数字。并且图像里相邻的像素是相关性极高的。因此我们可以用某种预测方法,用周围的像素来预测这个像素,从而产生预测值与预测误差。利用这个预测误差,我们就可以做到信息隐藏。

    PEE图示

    (1)嵌入步骤

    • 将原始图像扫描为一个序列 (x1,x2,x3,...,xNx_1,x_2,x_3,...,x_N
    • 用指定的预测器预测 xix_i 的值,记作 (x1^,x2^,x3^,...,xN^\hat{x_1},\hat{x_2},\hat{x_3},...,\hat{x_N}
    • 计算预测误差 eie_i = xix_i - xi^\hat{x_i}
    • 得到一个预测误差序列 (e1,e2,e3,...,eNe_1,e_2,e_3,...,e_N
    • 由预测误差生成预测误差直方图,横坐标为误差值,纵坐标为误差值的数量
    • 根据下图公式将预测误差值进行扩展,得到扩展后的预测误差序列(e1,e2,e3,...,eNe_1',e_2',e_3',...,e_N')。此处b是秘密信息,是二进制的0或1。
      在这里插入图片描述
    • 根据扩展后的预测误差,修改载体图像的像素,得到含密图像。 公式为 : xix_i' = xi^\hat{x_i} + eie_i'

    根据上面的步骤,我们就可以得到一张含密图像了。可以从eie_i'的公式里看出,这个过程是可逆的。

    (2) 提取步骤

    • 将含密图像扫描为一个序列 (x1,x2,x3,...,xNx_1',x_2',x_3',...,x_N'
    • 用相同的预测器预测 xix_i 的值,记作 xi^\hat{x_i},得到预测序列 (x1^,x2^,x3^,...,xN^\hat{x_1},\hat{x_2},\hat{x_3},...,\hat{x_N}
    • 计算扩展后的预测误差 eie_i' = xix_i' - xi^\hat{x_i}, 注意,此时的预测误差是扩展后的预测误差。
    • 得到一个扩展后的预测误差序列 (e1,e2,e3,...,eNe_1',e_2',e_3',...,e_N'
    • 由预测误差生成预测误差直方图,横坐标为误差值,纵坐标为误差值的数量
    • 根据下图公式将预测误差值进行还原,得到原始的预测误差序列(e1,e2,e3,...,eNe_1,e_2,e_3,...,e_N)。此处\lfloor \rfloor代表向下取整。例如:\lfloor 4.5 \rfloor 取4。
      在这里插入图片描述
    • 根据 eie_i' / 2 的结果,整数则提取 b=0,非整数则提取 b=1

    在这一步如果 eie_i' / 2 不能整除的话,说明嵌入的秘密信息为1,否则为0。这个方法其实就是模二取余法。例如 某个 eie_i 为4,秘密信息 b = 1,那么 eie_i' = 2ei+12*e_i + 1 = 9。在提取的过程中 eie_i' / 2 = 4.5,说明嵌入的信息为1,才会得到不为0的结果。

    (3)恢复图像。

    • 由步骤(2),我们得到一个预测序列 (x1^,x2^,x3^,...,xN^\hat{x_1},\hat{x_2},\hat{x_3},...,\hat{x_N})和 原始预测误差序列 (e1,e2,e3,...,eNe_1,e_2,e_3,...,e_N)。
    • 由公式 xix_i = xi^\hat{x_i} + eie_i 得到原始载体图像序列 (x1,x2,x3,...,xNx_1,x_2,x_3,...,x_N),然后恢复图像即可。
      其实这一步,就是步骤(1)中公式 eie_i = xix_i - xi^\hat{x_i} 的逆向计算结果。

    2. 算法效果展示:

    直方图 (嵌入前,嵌入后):

    嵌入前
    嵌入后

    原始图像与含密图像展示 :

    原始图像
    含密图像

    3.代码实现。

    clear all;clc;
    img = imread("1.bmp");
    img = double(img);
    img_hiding = img;
    index = 1;
    
    % 这里为了方便计算,我直接把数组长度设置为嵌入容量了
    predict_value = zeros(1,62500);
    predict_error = zeros(1,62500);
    
    % 生成一个随机01序列,作为此次信息隐藏的秘密信息
    secret_msg = zeros(1,62500);
    for i=1:62500
        secret_msg(1,i) = round(rand(1));
    end
    
    % ------------------------------  嵌入步骤  -------------------------
    % 假设我们的预测方法是 : 以   当前像素的 左右两个像素的均值  来作为预测值
    for i=2:2:500
        for j=2:2:500
            % 计算左右两个像素的均值,作为预测值
            predict_value(1,index) = round((img(i,j-1) + img(i,j+1))/2);
            %  得到预测误差
            predict_error(1,index) = img(i,j) - predict_value(1,index);
            index = index + 1;
        end
    end
    
    histogram(predict_error); % 生成直方图
    
    % 将秘密信息嵌入误差直方图,构成扩展预测误差直方图
    predict_expand = predict_error;  
    % 选择阈值  T = 5
    T = 5;
    for i=1:62500
        if predict_error(1,i) >= -1 * T && predict_error(1,i) < T
            predict_expand(1,i) = 2 * predict_error(1,i) + secret_msg(1,i);
        elseif predict_error(1,i) >= T
            predict_expand(1,i) = predict_error(1,i) + T;
        else
            predict_expand(1,i) = predict_error(1,i) - T;
        end
    end
    
    histogram(predict_expand); % 生成直方图
    
    index = 1;
    % 将嵌入秘密信息后的预测误差直方图转移回载体图像(原始图像)
    for i=2:2:500
        for j=2:2:500
            img_hiding(i,j) = predict_value(1,index) + predict_expand(1,index);
            index = index + 1;
        end
    end
    imshow(uint8(img_hiding));
    imwrite(uint8(img_hiding),'2.bmp');  % 将信息隐藏后的图片保存
    
    
    % ----------------------------可以从这里分为两份代码。一份嵌入一份提取-------------------------
    
    img_hiding2 = imread("2.bmp");
    img_hiding2 = double(img_hiding2);
    img2 = img_hiding2;
    index = 1;
    extract_msg = zeros(1,62500);
    predict_value2 = zeros(1,62500);
    predict_expand2 = zeros(1,62500);
    predict_error2 = zeros(1,62500);
    T = 5;
    
    % 先进行同样的预测,得到预测序列
    for i=2:2:500
        for j=2:2:500
            % 计算左右两个像素的均值,作为预测值
            predict_value2(1,index) = round((img_hiding2(i,j-1) + img_hiding2(i,j+1))/2);
            %  得到预测误差
            predict_expand2(1,index) = img_hiding2(i,j) - predict_value2(1,index);
            index = index + 1;
        end
    end
    % 恢复预测误差 并  提取秘密信息
    for i=1:62500
        if predict_expand2(1,i) >= -2*T && predict_expand2(1,i) < 2*T
            predict_error2(1,i) = floor(predict_expand2(1,i) / 2);
            extract_msg(1,i) = abs( predict_error2(1,i) - floor(predict_expand2(1,i) / 2) );
        elseif predict_expand2(1,i) >= 2*T
            predict_error2(1,i) = predict_expand2(1,i) - T;
        else
            predict_error2(1,i) = predict_expand2(1,i) + T;
        end
    end
    % 恢复图像:
    index = 1;
    for i=2:2:500
        for j=2:2:500
            img2(i,j) = img2(i,j) +  predict_error2(1,index);
            index = index + 1;
        end
    end
    
    
    % -------------------------------检验是否算法有误-----------------------------------
    img = double(imread('1.bmp'));
    
    if img ~= img2
        disp("实验结果有误");
    else
        disp("原始图像完全恢复");
    end
    
    if secret_msg ~= extract_msg
        disp("秘密信息提取有误");
    else
        disp("秘密信息完全一致");
    end
    
    
    
    

    更多内容请关注我

    JPEG 相关
    直方图平移

    展开全文
  • Matlab中erf函数的用法

    千次阅读 2020-12-06 18:41:22
    matlab中erf函数称为误差函数,公式如下式所示。 erf简单用法 erf函数在matlab里面可以直接作为内置函数使用,如erf(1),erf(1)表示erf在1的取值 举例说明 计算erf(0),erf(1),erf(inf)的值 erf(0); 计算结果 ans = ...
  • 在老的matlab版本,通过传递标志来规定求解器的状态和恰当的计算。在MATALB6.0以及其后的版本中,这就没有必要了,可以从matlab自带的文档中发现这个差别。 如果采用的matlab的ODE求解器的老的语法,你可以看...
  • 一个模型拟合实例中车辆刹车距离案例中的最小二乘法参数估计内容及其源代码 一、原始数据 二、我的计算结果 三、视频计算结果 四、思考发现 实际计算结果和视频中的计算...在matlab里使用ployfit函数进行拟合 ...
  • 里面介绍了粒子群算法的MATLAB源程序,已经误差计算等。对于想学习PSO算法的人有一定帮助
  • 我在matlab里用多个自变量进行弹性网回归,弹性网最后筛选掉了一些因素,剩下了部分的自变量。我选取MSE最小时的各因素的系数,但是要怎么看这个时候各个因素的系数的显著性呢?要怎么计算P值?
  • MATLAB遇到NaN

    2020-03-10 15:02:30
    发现很多时候求中位数和均值是报错的,百度发现是因为把每列的第一行标题也导入了进来,结果导致了NaN,NaN简单说就是违背数学计算规律,有了NaN会导致标准差、中位数等产生误差。 解决方法: 第一种方法:就是在...
  • 基于matlab的小波变换去噪处理三种方法-bayes.m 里面有详细的解释。最后有图像评价,计算均方误差和信噪比。
  • 基于matlab的小波变换去噪处理三种方法-sthresh.m 里面有详细的解释。最后有图像评价,计算均方误差和信噪比。
  • 基于matlab的小波变换去噪处理三种方法-zibianxiaoboquzao.m 里面有详细的解释。最后有图像评价,计算均方误差和信噪比。
  • 基于matlab的小波变换去噪处理三种方法-bayes.pdf 里面有详细的解释。最后有图像评价,计算均方误差和信噪比。
  • 基于matlab的小波变换去噪处理三种方法-hthresh.m 里面有详细的解释。最后有图像评价,计算均方误差和信噪比。
  • 基于matlab的小波变换去噪处理三种方法-自编各种小波变换去噪.rar 里面有详细的解释。最后有图像评价,计算均方误差和信噪比。
  • Matlab之画概率分布曲线(CDF)

    万次阅读 2019-04-17 20:58:26
    假如已经有误差向量X 那么如果有CDF图,可以直观地看到有百分之多少的误差在某一范围内...此外,有时需要对误差向量X进行统计,来确定X里误差的比例有多少。这种类似与在一个区间上划分很多bin再进行统计(仔细体会和...
  • 1.要将所有的连接器都进行校准,最好的状态是校准完之后直接装天线,可以减小甚至消除因为连接器带来的相位误差; 2.每测量一次要进行一次校准,为什么测量后有偏差? 3.开始校准时要进行频率的选择和步进的确定; 4...
  • BP神经网络与MATLAB实现案例一

    千次阅读 2018-03-18 15:13:14
    关于神经网络的介绍与BP的详解,论坛铺天盖地,不在此赘述。 一.BP简述 简要概括一下: 一个输入层、一个隐层、一个输出层的神经网络足以应付大部分训练 BP的主要特点:信号前向传播,误差反向传播 激励...
  • 一个盒子里面有100个球,白球74个,红球26个,将他们混合,然后随机抽出来放在25+50个盒,前25个盒分别放两个球,后50个盒分别放一个球。我们并不知道前25个盒子里面有多少个是白+黑球组合。 1:写一个模拟此...
  • 前言 去年图像处理的DLL,有学弟问我做的思路,便放到博客 ...a)去噪处理后,计算均方误差评估去噪处理后图像的去噪效果 b)撰写完整的科技报告(形式类似科技论文)表述自己的算法设计,算法实现...
  • 该课题为基于MATLAB的汽车出入库识别系统,带有丰富的人机交互GUI界面。目前毕业设计选题中,传统的中规中矩的车牌识别不易得到高分,必须要在此基础上有所创新方得可以避开其他雷同课题,不会轻易被导师被否决而...
  • 前言去年图像处理的DLL,有学弟问我做的思路,便放到博客 github... (2)要求: a)去噪处理后,计算均方误差评估去噪处理后图像的去噪效果 b)撰写完整的科技报告(形式类似科技论文)表述自己的算法设计,算法实现与...
  • 2.1.误差最佳值的最小二乘计算 有研究结果表明:几乎95%的机器人位置误差都是由机器人内部运动学的不准确描述引起的,所以对DH模型参数进行标定是很有必要的。 DH参数物理含义:选自《机器人学、机器视觉与控制-...
  • 双目视觉的一些记录

    2020-07-02 19:23:22
    笔者是采用 Matlab 做立体标定,用 OpenCV 进行的后续操作。 1.径向畸变一般只计算前两个系数...3.Matlab 的 Stereo Camera Calibrator应用,坐标系XcYc—Zc始终在Camera1上,而且正方向不变,不论Camera1是左摄像机
  • 9.7 状态驻留的HMM 9.8 用神经网络训练马尔可夫模型 9.9 马尔可夫随机场的讨论 习题 MATLAB编程和练习 参考文献 第10章 监督学习:尾声 10.1 引言 10.2 误差计算方法 10.3 探讨有限数据集的大小 10.4 医学图像实例...
  • 实验8_ WSN定位技术.pdf

    2019-06-23 14:58:41
    计算几何学多边形的几何中心称为质心,多边形顶点坐标的平均值就是质心节点的坐标。 假设多边形定点位置的坐标向量表示为pi= (xi,yi)T,则这个多边形的质心坐标为: 例如,如果四边形 ABCD 的顶点坐标分别为 ...
  • (https://img-ask.csdn.net/upload/202010/20/1603187329_866126.png),忽略拉格朗日余项得到,[图片说明](https://img-ask.csdn.net/upload/202010/20/1603187482_737213.png),我根据这个公式写的matlab代码仿真...
  • 数字信号处理习题答案第二版

    热门讨论 2010-03-28 18:43:51
    第二章:时域离散信号和系统的频域分析,包括傅对变换和Z变换;第三、四章:离散傅里叶交换、快速傅里叶交换;第五章:时域离散系统的基本网络结构与状态变量分析法;第六、七章:无限脉冲响应数字滤波器的设计、有限脉冲...

空空如也

空空如也

1 2
收藏数 31
精华内容 12
关键字:

matlab里误差计算

matlab 订阅