精华内容
下载资源
问答
  • 基于深度学习的缺陷检测主要集中在场景识别、object detection等方法,近年来,推出了一系列优秀的语义分割模型,比如SegNet、FCN、U-Net等。语义分割模型被广泛的应用到场景识别、道路分割等领域中,缺陷检测领域也...

    一、介绍

    基于深度学习的缺陷检测主要集中在场景识别、object detection等方法,近年来,推出了一系列优秀的语义分割模型,比如SegNet、FCN、U-Net等。语义分割模型被广泛的应用到场景识别、道路分割等领域中,缺陷检测领域也逐渐接受该模型。

    本博文主要关注和实现基于U-Net的语义分割模型。

    二、U-Net

    如下图所示,这是U-Net的核心思想,从编码到解码,编码过程就是下采样,解码时,把同级的编码特征进行拼接,一起上采样。

    详细算法请参考:https://blog.csdn.net/natsuka/article/details/78565229
    在这里插入图片描述

    U-Net由于把编码特征加入到解码特征中,可以在小数据量下取得很好效果,但是有个问题,U-Net网络不够深,对特征的表达不够准确,残差网络之所以取得这么好的分类效果其实就是网络足够深,一般来说网络更深,表达能力更强。

    下面是改进的U-Net,其中ResNet Block数量为6。

    在这里插入图片描述

    三、实验数据

    如下图所示,对缺陷的地方直接赋值像素为255,其它区域像素值保持不变,这样就可以生成标签数据。在代码中,对训练图像和标签图像分别进行0~1处理,对输入图像直接除以255,对标签图像,生成二进制图像,像素值为255,则置1,否则置0。
    在这里插入图片描述
    在这里插入图片描述

    四、测试结果

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    五、算法改进

    实验表明,如果只使用U-Net+残差模块,对大的缺陷区域分割效果比较好,但是对小的区域,效果则不好,为此,在原模型的基础上引入生成对抗网络来监督。这一网络结构利用了博弈对抗的思想,为其中生成式模型添加了有效的监督反馈,可以进一步提高缺陷分割网络对于图像缺陷区域标记的能力。
    在这里插入图片描述

    1. 对于作为输入的一组图片(包含原图和标记图),首先训练判别式网络,此时生成式模型参数固定。训练的目的在于使判别式模型具有可以分辨输入的图像属于真实人工标记图还是生成网络生成的图像,于是训练过程如下:
      a、把输入的一对图片中的原始工件图x和人工标记图y同时输入到判别式网络D中(输入为两张图像),因为此时的y是x的真实对应,所以计算判别式网络的损失函数时标签应该为真,然后以反向传播算法更新判别式网络;
      b、把数据对中的工件原图x输入到生成式网络G中,得到缺陷分割生成图G (x),然后x与G (x)同时输入到判别式网络D中,此时的G (x)为生成图像,不是x的真实对应图,所以计算判别式网络损失函数时标签应该设为假,同样地以反向传播算法更新判别式网络。
    2. 然后训练生成式网络,同样地判别式模型维持参数不变,训练过程如下:
      a、把数据对中原始工件图x输入到生成式网络G,得到缺陷分割图G (x),计算G (x)与人工标记图y的L1损失函数值(图像空间距离),记为 L G L_G LG;
      b、把G (x)与原始工件图像x输入到判别式网络D,由于训练生成式网络G的目的是要求其能生成的分割图接近真实标记图,所以此时计算判别式网络的损失函数应该设标签为真。经过训练后的判别式网络具备判断输入图像是真实标记图还是生成图像的能力,所以此时它的损失函数值能反映输入图像G (x)与真实图像的相似程度,记为 L D L_D LD;
      c、更新生成式网络G的参数时,把生成图与真实标记图的空间距离 L G L_G LG与判别式网络计算所得的相似程度 L D L_D LD同时作为反向传播算法的代价函数,公式表示为 L t o t a l = L G + λ L D L_{total}=L_G+λL_D Ltotal=LG+λLD,其中兄为判别式网络损失函数权重,用于决定判别式网络对生成式网络的监督反馈强度,当λ=0时,等价于传统的语义分割网络训练方法。最后利用反向传播算法更新生成式网络G的参数。
    3. 对于每一对训练样本,重复(1) (2)两个步骤,直到所有训练样本都参与到训练中,则完成了一次训练。当训练次数达到设定量时,训练结束。

    算法的改进在于此,还没有做好,感兴趣的话,可以自己实现下~

    展开全文
  • 第一讲 简单系统模型的Simulink仿真1、模型的数学表达式2、建立系统模型2.1、选择...105u(t),t≤10y=\begin{cases} 3u(t), &t&am

    第一讲 Matlab/Simulink入门——简单系统模型的Simulink仿真

    1、模型的数学表达式

    y = { 3 u ( t ) , t > 10 5 u ( t ) , t ≤ 10 y=\begin{cases} 3u(t), &t>10\\ 5u(t), &t\leq10\\ \end{cases} y={3u(t),5u(t),t>10t10
    其中, u ( t ) u(t) u(t)为系统输入, u ( t ) = s i n ( t ) u(t)=sin(t) u(t)=sin(t) y ( t ) y(t) y(t)为系统输出。

    2、建立系统模型

    2.1、选择模块

     图2-1所示的模型中所有模块均来源于标准模块库,有些可以在常用模块库找到。

    2.2、参数设置

     Sine Wave模块:默认参数。
     Gain模块:增益设为3。
     Gain1模块:增益设为5。
     Constant模块:常数10。
     Relation Operator模块:关系操作符设为“>”。

     Switch模块:设定Threshold值为0.5,input:u2>=Threshold。

     参数设置结束后的系统模型,如图2-2所示:

    3、系统仿真

     将系统的仿真时间设置为50s,系统默认的仿真结束时间为10s,仿真结果如下图所示。

     simulink很强大,刚刚入坑,一方面作为笔记记录一下,另一方面互相交流学习。欢迎留言!

    展开全文
  • 我们下面的控制则是利用负反馈信号e(k)导出u(k)的输出,求解的是控制器u(k)的序列值。 2.基本PID控制原理 以位置型PID控制为例。将连续的PID控制转换为数字式时,微分环节被用差分代替,积分环节被累加和代替,...

    0.符号说明

    1. y(k)——系统响应输出的离散值
    2. u(k)——数字PID控制输出的离散值
    3. r(k)——期望输出的离散值(事先已知),在本例中为常数(即阶跃输入)
    4. e(k)——e(k)=r(k)-y(k),为期望值-实际值,是单位负反馈的误差比较信号
      图片来源于百度百科
      注:图片来源于百度百科

    1.如何根据连续系统建立差分方程

    1.1.获取连续系统的传递函数

    线性定常系统的控制中,PID是个非常常见的控制方式,如果可以通过Matlab仿真出PID的控制效果图,那么对系统设计时的实时调试将会容易得多。在这里我们将会以一个利用系统辨识参数的PID设计为为例展示Matlab仿真PID的过程。
    首先需要对一个未知的系统的参数进行辨识,以延迟环节可以忽略不计的电机调速系统为例。将时间戳导入xdata向量,对应的时刻转速导入ydata向量,进行系统辨识

    链接:Matlab的系统辨识

    我们就以上文链接中辨识的系统传递函数为例:
    G ( s ) = 0.998 0.021 s + 1 G(s)=\frac{0.998}{0.021s+1} G(s)=0.021s+10.998因此通过tf函数建立系统结构体如下:

    sys=tf(0.998,[0.021,1]);   %建立被控对象传递函数,即式4.1
    

    1.2.获取离散系统的传递函数

    由于是数字PID仿真,我们需要选取一个采样时间,本案例选用的是0.005s(注意,采样周期应该小于系统纯滞后时间的0.1倍)。在对其进行数字PID控制前,我们需要将这个系统离散化:

    ts=0.005;  %采样时间=0.005s
    dsys=c2d(sys,ts,'z');      %离散化
    

    dsys即我们根据采样周期离散化的Z变换系统。首先我们需要提取这个Z变化d那系统的参数方便后面的计算:

    [num,den]=tfdata(dsys,'v');%'v'代表强制以向量的格式(默认为元胞数组)输出num和den
    

    1.3.转换为差分方程

    求解出的Z变换表达式为 d s y s = n u m ( 1 ) ⋅ z + n u m ( 2 ) d e n ( 1 ) ⋅ z + d e n ( 2 ) = 0.2114 z − 0.7881 dsys=\frac{num(1)\cdot z +num(2)}{den(1)\cdot z+den(2)}=\frac{0.2114}{z-0.7881} dsys=den(1)z+den(2)num(1)z+num(2)=z0.78810.2114
    在PID仿真的过程中我们需要求解出时域表达式 ,因此需要借助差分方程解决,对于以下的Z变换:

    \begin{equation}
    Y(z)=dsys\cdot U(z)=\frac{num(2)}{den(1)\cdot z+den(2)}\cdot U(z)
    \label{eq:Sample1}
    \end{equation}

    \begin{equation}
    zY(z)+den(2)Y(z)=num(1)zU(z)+num(2)U(z)
    \label{eq:Sample2}
    \end{equation}
    对上式进行反Z变换,可以得到以下的差分方程:

    \begin{equation}
    y(k+1)+den(2)y(k)=num(1)u(k+1)+num(2)u(k)
    \label{eq:Sample3}
    \end{equation}

    \begin{equation}
    y(k+1)=-den(2)y(k)+num(1)u(k+1)+num(2)u(k)
    \label{eq:Sample4}
    \end{equation}
    位置型PID仿真时实际上可以不需要保存前一个数据(u(k)和y(k)),增量型PID必须要保存前一个数据。这里我们使用了位置型PID,但仍然利用 u 1 u_1 u1 y 1 y_1 y1保存了上一个数据,仅仅是为了演示这一过程。\begin{equation}
    y(k+1)=-den(2)y(k)+num(1)u(k+1)+num(2)u(k)
    \end{equation}
    可以转换为下面的式子:
    \begin{equation}
    y(k)=-den(2)y_1+num(1)u(k)+num(2)u_1
    \label{eq:Sample5}
    \end{equation}
    我们的差分方程就这样建立完毕。注意,此差分方程仅仅是描述系统模型的运算规律的,和我们的控制无关。因此是y(k)和u(k)的映射关系。我们下面的控制则是利用负反馈信号e(k)导出u(k)的输出,求解的是控制器u(k)的序列值。

    2.基本PID控制原理

    以位置型PID控制为例。将连续的PID控制转换为数字式时,微分环节被用差分代替,积分环节被累加和代替,比例环节则保持不变。差分的实现非常简单,只需要用 e ( k + 1 ) − e ( k ) e(k+1)-e(k) e(k+1)e(k) e ( k ) − e 1 e(k)-e_1 e(k)e1等效即可。积分的实现在每一次运算的后面都累加原来的误差,即Ee=Ee+e_1;即可。PID的控制器输出 u ( k ) = K p ⋅ e ( k ) + K d ⋅ ( e ( k ) − e 1 ) + K i ⋅ E e u(k)=Kp\cdot e(k)+Kd\cdot (e(k)-e_1)+Ki\cdot Ee u(k)=Kpe(k)+Kd(e(k)e1)+KiEe
    PID控制器构造完毕,我们需要通过r(k)和y(k)得到e(k),再通过e(k)得出u(k),进而再求解出y(k),再结合r(k)求解出e(k),…以此循环,求解出离散的响应点。
    详细的代码如下:

    ts=0.005;  %采样时间=0.005s
    sys=tf(0.998,[0.021,1]);   %建立被控对象传递函数,即式4.1
    dsys=c2d(sys,ts,'z');      %离散化
    [num,den]=tfdata(dsys,'v');   %
    e_1=0;      %前一时刻的偏差      
    Ee=0;       %累积偏差
    u_1=0.0;    %前一时刻的控制量
    y_1=0;       %前一时刻的输出
    %PID参数
    kp=0.22;    
    ki=0.13;
    kd=0;
    u=zeros(1,1000);%预先分配内存
    time=zeros(1,1000);%时刻点(设定1000个)
    for k=1:1:1000
        time(k)=k*ts;   %时间参数
        r(k)=1500;      %期望值
        y(k)=-1*den(2)*y_1+num(2)*u_1+num(1)*u(k);%系统响应输出序列
        e(k)=r(k)-y(k);   %误差信号
        u(k)=kp*e(k)+ki*Ee+kd*(e(k)-e_1); %系统PID控制器输出序列
        Ee=Ee+e(k);    %误差的累加和
        u_1=u(k);    	%前一个的控制器输出值
        y_1=y(k);    	%前一个的系统响应输出值
        e_1=e(k);		%前一个误差信号的值
    end
    %(仅绘制过渡过程的曲线,x坐标限制为[0,1])
    p1=plot(time,r,'-.');xlim([0,1]);hold on;%指令信号的曲线(即期望输入)
    p2=plot(time,y,'--');xlim([0,1]);%不含积分分离的PID曲线
    hold on;
    

    输出的PID控制曲线如下:
    PID控制

    3.比较PID输出,分析参数产生的影响

    一个基本的PID就完成了。下面如果我们想要知道修改PID的三个参数kp,ki,kd会带来什么效果,只需要在程序中修改即可。为了方便起见,我们建立一个PID的数组,kp,ki,kd每次都取数组的一个值,然后设定一个大循环开始循环仿真。再利用subplot输出子图的方式将所有的PID效果都输出到一个图进行对比。该代码根据上述代码修改已经很容易,PID比较图的代码如下:

    close all
    PID=[0.22,0.13,0;
        0.4,0.13,0;
        0.4,0.25,0;
        0.8,0.23,0.4;
        0.8,0.2,1;
        0.7,0.2,0.9];%初始化PID参数
    for pid=1:1:6
    ts=0.005;  %采样时间=0.005s
    sys=tf(0.998,[0.021,1]);   %建立被控对象传递函数,即式4.1
    dsys=c2d(sys,ts,'z');      %离散化
    [num,den]=tfdata(dsys,'v');   %
    e_1=0;      %前一时刻的偏差      
    Ee=0;       %累积偏差
    u_1=0.0;    %前一时刻的控制量
    y_1=0;       %前一时刻的输出
    %PID参数
    kp=PID(pid,1);    
    ki=PID(pid,2);
    kd=PID(pid,3);
    u=zeros(1,1000);
    time=zeros(1,1000);
    for k=1:1:1000
        time(k)=k*ts;   %时间参数
        r(k)=1500;      %给定量
        y(k)=-1*den(2)*y_1+num(2)*u_1+num(1)*u(k);
        e(k)=r(k)-y(k);   %偏差
        u(k)=kp*e(k)+ki*Ee+kd*(e(k)-e_1);   
        Ee=Ee+e(k);    
        u_1=u(k);    
        y_1=y(k);    
        e_1=e(k);
    end
    subplot(2,3,pid);
    p1=plot(time,r,'-.');xlim([0,1]);hold on;
    p2=plot(time,y,'--');xlim([0,1]);
    title(['Kp=',num2str(kp),' Ki=',num2str(ki),' Kd= ',num2str(kd)]);
    hold on;
    end
    

    输出的子图矩阵如下:
    PID子图矩阵
    可以发现,修改Kp会造成上升时间的缩短,但是有可能也会带来较大的超调。积分的增加是一个严重的滞后环节,会减小相位裕度,也会带来超调(超调量并不是绝对的,相对于较小的Kp可能会产生较大的超调,而Kp较大时超调会减小(例如第一行的1图和2图的对比))。然而积分的引入也是必要的,否则将会很长时间无法削弱误差e(k)(例如第二行第二个图)。微分的引入相当于一个超前校正,会减少超调,但是过渡的微分很可能会造成尾部振荡,系统逐渐变得不稳定。因此微分和积分之间需要一个平衡,当满足这个平衡的时候,系统几乎没有振荡,同时响应速度也较快。(第一行的图3是积分过多,产生超调,第二行的图1和图3就比较理想)
    综合上述,PID的调节经验可以归结为以下几点:

    • Kp较小时,系统对微分和积分环节的引入较为敏感,积分会引起超调,微分可能会引起振荡,而振荡剧烈的时候超铁也会增加。
    • Kp增大时,积分环节由于滞后产生的超调逐渐减小,此时如果想要继续减少超调可以适当引入微分环节。继续增大Kp系统可能会不太稳定,因此在增加Kp的同时引入Kd减小超调,可以保证在Kp不是很大的情况下也能取得较好的稳态特性和动态性能。
    • Kp较小时,积分环节不宜过大,Kp较大时积分环节也不宜过小(否则调节时间会非常地长),在下面这个例子中我们还会介绍到,当使用分段PID,在恰当的条件下分离积分,可以取得更好的控制效果。原因在于在稳态误差即将满足要求时,消除了系统的滞后。因此系统超调会明显减少。本例中采样的抗积分饱和的方法是遇限削弱积分法。

    4.改进PID算法(遇限削弱积分法)

    遇限削弱积分法的原理是
    u ( k ) > u m a x u(k)>u_{max} u(k)>umax时,若e(k)>0即输出值还未到达指定值,则认为积分会带来滞后,不再积分。
    u ( k ) < 0 u(k)<0 u(k)<0时,若e(k)<0即输出值超过了指定值,则认为积分会带来滞后,不再积分。
    在本案例中认为 u m a x = r ( k ) u_{max}=r(k) umax=r(k)
    改进PID算法如下(需要些两个循环,当然也可以用一个循环,将其中的PID设为一个子过程调用):

    close all
    ts=0.005;  %采样时间=0.005s
    sys=tf(0.998,[0.021,1]);   %建立被控对象传递函数,即式4.1
    dsys=c2d(sys,ts,'z');      %离散化
    [num,den]=tfdata(dsys,'v');   %
    e_1=0;      %前一时刻的偏差      
    Ee=0;       %累积偏差
    u_1=0.0;    %前一时刻的控制量
    y_1=0;       %前一时刻的输出
    %PID参数
    kp=0.22;    
    ki=0.13;
    kd=0;
    u=zeros(1,1000);
    time=zeros(1,1000);
    for k=1:1:1000
        time(k)=k*ts;   %时间参数
        r(k)=1500;      %给定量
        y(k)=-1*den(2)*y_1+num(2)*u_1+num(1)*u(k);
        e(k)=r(k)-y(k);   %偏差
        u(k)=kp*e(k)+ki*Ee+kd*(e(k)-e_1);   
        Ee=Ee+e(k);    
        u_1=u(k);    
        y_1=y(k);    
        e_1=e(k);
    end
    p1=plot(time,r,'-.');xlim([0,1]);hold on;
    p2=plot(time,y,'--');xlim([0,1]);
    hold on;
    a=1;%控制积分分离的二值数
    e_1=0;Ee=0;u_1=0.0;y_1=0;%重新初始化       
    for k=1:1:1000
        time(k)=k*ts;   %时间参数
        r(k)=1500;      %给定量
        y(k)=-1*den(2)*y_1+num(2)*u_1;
        e(k)=r(k)-y(k);   %偏差
        u(k)=kp*e(k)+ki*Ee+kd*(e(k)-e_1);   
         if ((u(k)>r(k)) && (e(k)>0))||((u(k)<0) && (e(k)<0))
             a=0;
         else 
             a=1;
         end     
        Ee=Ee+a*e(k);    
        u_1=u(k);    
        y_1=y(k);    
        e_1=e(k);
    end
    p3=plot(time,y,'-');xlim([0,1]);
    title('含积分分离与不含积分分离的对比');
    legend([p1,p2,p3],'指令信号','不含积分分离','含积分分离');
    

    输出的曲线对比图如下:
    积分分离之后的改进PID
    可以发现,系统的超调量明显减少了,调节时间也减少了一点。原因在于我们采用了分段PID的手段,既消除了稳态误差还削弱了积分环节带来的滞后影响。

    5.simulink仿真

    需要的模块名称(不区分大小写)如下:

    • gain(参数分别为0.22和0.13/0.005)
    • sum(参数分别为"|±"和"|++")
    • integrator
    • scope
      注意:本文使用的是离散PID仿真,而simulink使用的是连续系统仿真,转换PID参数时P参数不变,I参数应该除以仿真间隔Ts=0.005,D参数应该乘Ts。

    以表中第一组PI参数为例:
    在这里插入图片描述
    得到的示波器曲线如下:
    在这里插入图片描述

    希望本文对您有帮助,谢谢阅读。

    展开全文
  • U-Net网络理解与应用

    千次阅读 2019-05-09 14:40:05
    文章目录U-Net网络理解与应用前言What is U-Net简单介绍和基本特点U-Net网络的优点和不同点数据增强笔者当时的一些疑问为什么引入FCN,FCN和CNN的不同What is momentum????总结 前言 在图像分割任务特别是医学...

    U-Net网络理解与应用

    前言

    在图像分割任务特别是医学图像分割中,U-Net[1]无疑是最成功的方法之一,该方法在2015年MICCAI会议上提出,目前已达到四千多次引用。采用的编码器(下采样)-解码器(上采样)结构和跳跃连接是一种非常经典的设计方法。目前已有许多新的卷积神经网络设计方式,但很多仍延续了U-Net的核心思想,加入了新的模块或者融入其他设计理念。本文主要对U-Net进行简单的讲解:

    What is U-Net

    ​ 什么是U-Net网络?U-Net是基于全卷积网络下一个语义分割应用于生物医学的深度学习网络。在计算机视觉领域,全卷积网络(FCN)是比较有名的图像分割网络,医学图像处理方向,U-Net可以说是一个更加炙手可热的网络,基本上所有的分割问题,我们都会拿U-Net先看一下基本的结果,然后进行“魔改”。因为其网络结构大致呈现为U性结构,因此被成为U-Net网络。其网络结构大致如下:

    在这里插入图片描述

    简单介绍和基本特点

    1. 使用全卷积神经网络(FCN)。全卷积神经网络(FCN)与卷积神经网络(CNN)的不同点在与FCN将CNN最后的全连接层(FC)替换为卷积层(Conv),也因此FCN中可以输入任意尺寸的土拍你,而且输出的也是图片,所以这是一个端到端网络。
    2. 上图左边的网络的Contracting path:使用Conv和MaxPoolinng.
    3. 上图右边的expansive path:使用上采样(upsampling)于左侧的contracting path,pooling的featuremap相结合,然后逐层上采样到392X392的大小heatmap。
    4. 最后再经过两次的conv,达到最后heatmap,再用1x1的conv做分类,这里用了两个神经元,所以最后得到的是两张heatmap。

    U-Net网络的优点和不同点

    1. U-Net网络支持少量的训练模型:在医学方向我们所能够训练的数据相对较小而同时需要进行检测的数据/目标又较大。所以我们在U-Net网络中使用到了数据增强的处理。
    2. 可以对每个像素点进行分割,获得更高的分割准确率。像素级的图像分割是U-Net网络的自身结构特性,由他的网络结构导致。
    3. 在训练的过程中使用高梯度下降(high Momentum),这里的high Momentum = 0.99,high momentum的使用可以使训练模型的学习率处在一个自我调节的过程。
    4. 权重划分。为了是某些像素点更加具有特征/代表性,则对像素点进行一个权重的划分,来补偿每个图像中像素点出现概率不同的问题。权重的公式大致如下:

    w ( x ) = w c ( x ) + w 0 ⋅ e x p ( − ( d 1 ( x ) + d 2 ( x ) ) 2 2 σ 2 ) w c 是 用 于 平 衡 类 别 频 率 的 权 重 图 d 1 代 表 到 最 近 细 胞 的 边 界 的 距 离 , d 2 代 表 到 第 二 近 的 细 胞 的 边 界 的 距 离 。 基 于 经 验 我 们 设 定 w 0 = 10 , σ ≈ 5 像 素 。 w(x) = w_c(x)+w_0·exp(-\frac{(d_1(x)+d_2(x))^2}{2\sigma^2})\\wc是用于平衡类别频率的权重图\\d_1代表到最近细胞的边界的距离,d_2代表到第二近的细胞的 边界的距离。\\基于经验我们设定w0=10,σ≈5像素。 w(x)=wc(x)+w0exp(2σ2(d1(x)+d2(x))2)wcd1d2w0=10σ5

    网 络 中 权 重 的 初 始 化 : 我 们 网 络 的 权 重 由 高 斯 分 布 初 始 化 , 分 布 的 标 准 差 为 2 / N 其 中 N 表 示 传 入 节 点 的 数 量 。 网络中权重的初始化:我们网络的权重由高斯分布初始化,分布的标准差为\sqrt{2}/N\\其中N表示传入节点的数量。 2 /NN

    5.引入图像镜像操作,更好的对数据进行训练。因为本身的训练数据较少,所以对图像进行镜像操作,防止数据的丢失。

    在这里插入图片描述

    数据增强

    ​ 在只有少量样本的情况况下,要想尽可能的让网络获得不变性和鲁棒性,数据增加是必不可少的。因为本论文需要处理显微镜图片,我们需要平移与旋转不变性,并且对形变和灰度变化鲁棒。将训练样本进行随机弹性形变是训练分割网络的关键。我们使用随机位移矢量在粗糙的3*3网格上(random displacement vectors on a coarse 3 by 3 grid)产生平滑形变(smooth deformations)。 位移是从10像素标准偏差的高斯分布中采样的。然后使用双三次插值计算每个像素的位移。在contracting path的末尾采用drop-out 层更进一步增加数据。

    在这里插入图片描述在这里插入图片描述

    笔者当时的一些疑问

    为什么引入FCN,FCN和CNN的不同

    ​ CNN:通过构建多层的卷积层自动提取图像上的特征,一般来说,排在前边较浅的卷积层采用较小的感知域,可以学习到图像的一些局部的特征(如纹理特征),排在后边较深的卷积层采用较大的感知域,可以学习到更加抽象的特征(如物体大小,位置和方向信息等)

    ​ CNN提取的抽象特征对图像的分类、包含哪些类别的物体,以及物体的粗略定位很有效,但是采用感知域,提取的更多的是“一小块”,无法做到跟精细的分割(像素级)。

    ​ 为了你弥补这一缺陷,而引入了全卷积神经网络(FCN)。就是为了解决这一像素级的分割。

    What is momentum????

    梯度下降算法中,学习率太大,函数无法收敛,甚至发散,如下图。学习率足够小,理论上是可以达到局部最优值的(非凸函数不能保证达到全局最优),但学习率太小却使得学习过程过于缓慢,合适的学习率应该是能在保证收敛的前提下,能尽快收敛。对于深度网络中,参数众多,参数值初始位置随机,同样大小的学习率,对于某些参数可能合适,对另外一些参数可能偏小(学习过程缓慢),对另外一些参数可能太大(无法收敛,甚至发散),而学习率一般而言对所有参数都是固定的,所以无法同时满足所有参数的要求。通过引入Momentum可以让那些因学习率太大而来回摆动的参数,梯度能前后抵消,从而阻止发散

    总结

    u-net网络在不同的生物医学图像分割中有很好的表现。数据增强使得只需很少的带标注数据,只需训练十小时。我们确信u-net网络可以很容易的应用到更多的任务。U-Net是比较早的使用多尺度特征进行语义分割任务的算法之一,其U形结构也启发了后面很多算法。但其也有几个缺点:有效卷积增加了模型设计的难度和普适性;目前很多算法直接采用了same卷积,这样也可以免去Feature Map合并之前的裁边操作。

    展开全文
  • 最小生成树

    千次阅读 多人点赞 2019-10-26 14:46:43
    构造成连通的最小代价生成树...G=(V,E)是具有n个顶点的连通图,设U是最小生成树中顶点的集合,TE是最小生成树中边的集合; 初始,U={u1},TE={ } 重复执行: 在所有uU,v∈V-U的边(u,v)...
  • 现在U盘启动盘制作工具那么多,比如:通用微PE工具箱,U盘魔术师、U大师等等,那么到U盘启动盘制作工具哪个好用呢? ​U盘启动盘制作工具,是指用U盘启动维护系统的软件,其制作的系统可以是一个能...
  • 潮流计算的matlab程序实现方法

    万次阅读 多人点赞 2018-06-17 22:25:18
    %此处未知节点皆为1.0∠0 %注意:此处角度单位为度,提取后再转换成弧度,后面计算使用弧度 for i=1:size(Gen,1) if Gen(i,2)==1 %PQ节点 P(Gen(i,1))=Gen(i,3); Q(Gen(i,1))=Gen(i,4); end if Gen(i,2)==...
  • MIMO信号处理学习笔记

    千次阅读 热门讨论 2019-05-22 21:11:27
    此处,可将一个脉冲内的ADC采样点数为h。所以,第 l l l 个快拍得到的信号矩阵为 X l X_{l} X l ​ ,其维度为 M × h M\times h M × h 。 所以,当快拍数为 L L L 时,可以得到 L L L 个 M × h M\times h M ×...
  • 基于S函数的BP神经网络PID控制器及simulink仿真

    万次阅读 多人点赞 2019-12-05 13:51:58
    dyu=sign((u(3)-u(2))/(u(7)-u(6)+0.0001)); for j=1:1:3 dK(j)=2/(exp(K1(j))+exp(-K1(j)))^2; %输出层的输出的一阶导 end for i=1:1:3 delta3(i)=u(5)*dyu*epid(i)*dK(i); %输出层的delta end for j=1:1:3...
  • y(n)-1.6y(n-1)+0.7y(n-2)=0.04u(n)+0.08u(n-1)+0.04u(n-2) y ( n ) − 1 . 6 y ( n − 1 ) + 0 . 7 y ( n − 2 ) = 0 . 0 4 u ( n ) + 0 . 0 8 u ( n − 1 ) + 0 . 0 4 u ( n − 2 )   对应的 Z Z Z 变换为: ...
  • 基于微信小程序的校园二手商城设计与开发

    万次阅读 多人点赞 2018-06-19 09:23:03
    时间过得可真快啊,转眼间大学四年就结束了,人总是到了要分别的时候才懂得去怀念过去啊。前段时间弄完了毕业论文,最近在导师实验室搬砖,一直没时间整理,今天终于有时间,所以想把...至于用户ID,是通过java中的U...
  • 傅里叶变换 二维离散傅里叶变换

    万次阅读 热门讨论 2019-11-07 15:41:28
    u和v是转换后二维数组的位置,F(u,v)是转换后数组中相应位置的值。x和y是原二维数组的位置,f(x,y)是原数组中相应的值。 根据欧拉公式,也可以写成:   3)、二维离散傅里叶逆变换IDFT公式: N是...
  • 增量式PID算法的MATLAB实现

    千次阅读 多人点赞 2019-06-22 13:27:19
    增量式PID的MATLAB实现PID控制的分类连续PID控制离散PID控制位置式PID控制增量式PID控制位置式PID与增量式PID的比较离散PID控制的MATLAB实现实现增量式PID算法绘制GUI界面...(1.1)u(t)=Kp[e(t)+1Ti∫0te(t)&Thin...
  • 二维联合分布(X,Y)求(U,V)

    千次阅读 2016-11-09 12:41:46
    二维联合分布(X,Y)求(U,V)@(概率论)问:从F(x,y)是否可以求得f(x,y)? 是不是只有相互独立时,由f(x,y)=fX(x)fY(y)f(x,y) = f_X(x)f_Y(y)得到。其中,fX(x)=FX′(x)f_X(x) = F_X\prime(x),而FX′(x)=limy→∞F(x,y)F_X...
  • 解决ESXi识别加密狗U盾的问题

    千次阅读 2019-05-22 00:14:58
    实例:U8的U盾,芯片是Philips Elite4 2.x,可以在虚拟机先添加USB控制器,再添加USB设备,选择对应的芯片名称,或U盘名称。U盘这方法适用。 2、常用,适用金融类。实例:建行和工行的企业银盾,建行是watch(握奇...
  • 自适应控制基本思想

    万次阅读 多人点赞 2017-09-22 10:18:20
    x˙d(t)\dot{x}_{d}( t)x˙d​(t)也是连续且有界的,这个假设在实际中可以满足,因为跟踪信号往往是认为设计的 解决思路 对于现代控制理论,正如前面所述,设计控制信号实际上是设计误差动力学系统,因此,误差...
  • 由题意得:随机变量相互独立且服从均匀分布。 均匀分布的概率密度为: 其分布函数为: 下面是这道题的具体步骤:
  • Matlab S函数 function sys=mdlDerivatives(t,x,u)

    千次阅读 热门讨论 2020-03-03 23:23:41
    函数为 h’’ = 1/J*(ut+dt) 1 s函数里 的x状态含义: x(0.5 0) 状态1: x(1) ————状态值h 状态2: x(2) ————状态值的导数(或称速度)h’ 2 function sys=mdlDerivatives(t,x,u) 在控制系统中,该函数可...
  • 戴尔新BIOS设置U盘启动

    万次阅读 2019-08-05 13:57:12
    DELL戴尔新版BIOS设置U盘启动 第一步F2进入BIOS,打开Secure Boot,勾选Disabled 第二步把这个选项取消,后面两个步骤至不能进行的,把PTT 禁用了就对了 左侧“System Configuration”菜单中选择“SATA ...
  • 记录一下数值计算课大作业 时间t和空间x ... U(xi_{i}i​,tn_{n}n​),在该点: 对t用向前差商:∂u∂t\frac{\partial u}{\partial t}∂t∂u​ ≈\approx≈ Uin+1−UinΔt\frac{U^{n+1}...
  • 三菱PLC的FX5U系列参数与定位点

    千次阅读 2020-08-03 13:54:19
    三菱PLC的FX5U系列参数与定位点是在最近推出的,那么它是属于新一代的FX5U系列具有高速化的系统总线,而且高速I/O参数,下面小编为你分享三菱PLC的FX5U系列参数与定位点。 全方面的革新了MELSEC-F系列PLC,新一代的...
  • PID编程实现 具体实现细节在代码注释中已经给出 %一被控对象G(s)=50/(0.125s^2+7s), %用增量式PID控制算法编写仿真程序 %(输入分别为单位阶跃、正弦信号,采样时间为1ms,控制器输出限幅:[-3,3], % 仿真曲线...
  • U-net的结构中,包括捕获一个上下文信息的收缩路径和一个允许精确定位的对称拓展路径。这种方法可以使用非常少的数据完成端到端的训练,并获得最好的效果。 Introduction CNN 存在很久了,但是已知受限于对于数据...
  • 介绍下预设参数,本实验是做了2分类,循环次数及输入数据量都为最小,完成后只是保证训练成功,结果会很差,跑通之后将如下参数改大即可训练多次提高精度。如下更改红色框框参数,其他参数自己根据需要自己摸索: ...
  • 【—–总体标准差已知时的单个正态总体均值的U检验——】(1)分析:建立如下假设 (2)matlab进行检验:% 调用ztest函数作总体均值的双侧检验, % 返回变量h,检验的p值,均值的置信区间muci,检验统计量的观测值...
  • ServU配置网络盘

    千次阅读 2015-12-18 09:48:31
    Serv-U是一个非常成熟的商业FTP服务器软件,通过虚拟路径的方式,能支持映射网络上的共享文件夹,达到使用网络磁盘的目的。项目组最后采用了ServU作为临时应急预案,等有时间再通过修改FileZilla源码来满足需求。
  • 用Windows自带工具给U盘4k对齐

    千次阅读 2017-10-18 21:46:52
    1.WIN+R //打开命令提示符 2.输入:diskpart //打开磁盘管理工具 3.弹出新窗口输入:list disk //获取...6.在配管理器的磁盘管理中,U盘显示黑色未分配。右键新建简单卷即可,选择快速格式化,之后就已4K对齐。 ...
  • 很多人都会遇到华硕U4000或者U4000,window10降级成window7,各种ghost原版镜像都无法安装的问题。 下面就是解决步骤。 可以先参考博客:https://blog.csdn.net/jessical1020/article/details/64906925 boot设置 ...
  • U-boot原厂版本移植 网址:http://blog.csdn.net/qq_28992301/article/details/51912763 今天开始移植三星原厂的U-boot,做一下笔记,以备日后所需  移植的时候有一点感想,就是最好别注释掉...
  • 灰色系统预测模型GM(1,1),GM(1,n)及Matlab实现

    万次阅读 多人点赞 2017-08-24 19:10:59
    其中,a,u为待解系数,分别称为发展系数和灰色作用量,a的有效区间是(-2,2),并记a,u构成的矩阵为灰参数 ,只要求出参数a,u,就能求出 ,进而求出 的预测值。 (4) 对累加生成数据做均值生成B与常数项向量 : (5...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 298,698
精华内容 119,479
关键字:

u设网