精华内容
下载资源
问答
  • 凸集投影算法

    万次阅读 2017-07-27 14:25:47
    2. 凸集投影算法原理 算法要求在一个矢量空间内定义一些闭合的凸形约束集合,实际的高分辨率图像就包含在这些约束集合中。高分辨率图像的一个估计定义为这些约束集合的交集内的一点。把任意一个初始估计向这些...

    1. 分级块匹配运动估计及可信度验证
    对低分辨率图像进行高斯滤波(消除噪点的影响),然后在滤波后的图像上估计出整数值位移量(相当于采用大图像块来估计大位移量),并以这个位移量估计值作为下一级匹配的初始值。接下来,采用双线性插值法对低分辨率图像进行采样,并对上采样图像进行高斯滤波(消除双线性插值法造成的数据不平稳性),然后在滤波后的图像上继续进行块匹配,获得亚像素精度的运动矢量。这样经过逐级上采样、高斯滤波和块匹配,可以获得要求的匹配精度。
    2. 凸集投影算法原理
    算法要求在一个矢量空间内定义一些闭合的凸形约束集合,实际的高分辨率图像就包含在这些约束集合中。高分辨率图像的一个估计定义为这些约束集合的交集内的一点。把任意一个初始估计向这些约束集合进行投影,就可以获得这样的高分辨率估计图像。
    3. 凸集投影算法执行过程:
    1) 选择一个参考帧K
    2) 进行运动估计:
    a) 把低分辨率图像 y(l)(i,j) 双线性插值到高分辨率网格上;
    b) 采用高斯函数对插值放大后的低分辨率图像进行平滑处理;
    c) 估计插值后的低分辨率帧与参考帧之间的运动。
    3) 如果点 (i,j) 处的运动估计是准确的,则可以定义集合 G(l)(i,j) ,并计算该点处的模糊函数 A(l,k)(r,s;i,j)
    4) 选择一副插值后的图像,经过运动补偿后作为初始估计 z^(k)0(r,s) 。采用类似方法对其他低分辨率图像进行运动补偿,并以此估计 z^(k)0(r,s) 的边缘。
    5) 对定义过约束集合 G(l)(i,j) 的所有点 (i,j) ,进行一下运算:
    a) 计算残余项 rlt(i,j)
    b) 采用投影算子 P(l)(i,j) 进行残余项 rlt(i,j) 的反投影运算。
    6) 利用幅度约束投影算子进行幅度约束。
    7) 如果满足停止准则,则停止迭代过程,否则转到步骤6.

    展开全文
  • 用于特征点配准的快速聚类凸集投影算法.pdf
  • 用于快速特征点配准的聚类凸集投影算法.pdf
  • 行业分类-物理装置-基于类凸集投影算法的图像恢复方法.zip
  • 凸集投影法(POCS)超分辨重建算法MATLAB实现 一个单一的pocs函数,使用方便
  • 介绍一种用于特征点配准的快速聚类凸集投影算法. 该算法首先将模板点集和目标点集的配准问题通过聚类转化为 相应类集合的配准问题,降低了算法的计算量;进而采用基于二次规划的凸集投影来求解类配准问题,避免了序...
  • 基于边缘保持的航拍图像凸集投影超分辨率重建算法,属于序列图像的超分辨率复原。
  • 文件名称: POCS-matlab下载 收藏√ [5 4 3 2 1]开发工具: Others文件大小: 1742 KB上传时间: 2013-04-08下载次数: 42提 供 者: 蒋晓慧详细说明:图像超分辨率重建,凸集投影方法,POCS matlab代码程序-POCS Image ...

    文件名称: POCS-matlab891ea1e7dab975064c6bfd22796603ae.gif下载

      收藏√  [443d104427974206832dc4b12407db70.gif

     5  4  3  2  1 fb9128a58cbeaabbeb3718ed75079ccf.gif]

    开发工具: Others

    文件大小: 1742 KB

    上传时间: 2013-04-08

    下载次数: 42

    提 供 者: 蒋晓慧

    详细说明:图像超分辨率重建,凸集投影方法,POCS matlab代码程序-POCS Image Reconstruction

    文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):

    POCS

    pocs.m

    POCS\code

    ....\....\affine.m

    ....\....\corrDn.m

    ....\....\grad.m

    ....\....\Lena_LR_1.tif

    ....\....\Lena_LR_2.tif

    ....\....\Lena_LR_3.tif

    ....\....\Lena_LR_4.tif

    ....\....\lena_pocs.asv

    ....\....\lena_pocs.m

    ....\....\Parametric.m

    ....\....\pgmread.m

    ....\....\pgmwrite.m

    ....\....\pnmimpnminfo.m

    ....\....\pnmpnmgeti.m

    ....\....\pnmread.m

    ....\....\pnmreadpnm.m

    ....\....\pnmwritepnm.m

    ....\....\pocs.asv

    ....\....\pocs.m

    ....\....\pocs2.asv

    ....\....\pocs2.m

    ....\....\rconv2.m

    ....\....\ReadIm.m

    ....\....\result_VA_PO_1.tif

    ....\....\ShowIm.m

    ....\....\SRframe.pgm

    ....\....\SRframe.tif

    ....\....\tobedelete.m

    ....\....\warp.m

    ....\pnm

    ....\pnmsetup.m

    ....\pnmutil

    ....\.......\Contents.m

    ....\.......\pnmimpnminfo.m

    ....\.......\pnmimrasinfo.m

    ....\.......\pnmimsgiinfo.m

    ....\.......\pnmimxbminfo.m

    ....\.......\pnmispbm.m

    ....\.......\pnmispgm.m

    ....\.......\pnmispnm.m

    ....\.......\pnmisppm.m

    ....\.......\pnmisras.m

    ....\.......\pnmissgi.m

    ....\.......\pnmisxbm.m

    ....\.......\pnmpnmgeti.m

    ....\.......\pnmreadpnm.m

    ....\.......\pnmreadras.m

    ....\.......\pnmreadsgi.m

    ....\.......\pnmreadxbm.m

    ....\.......\pnmwritepnm.m

    ....\.......\pnmwriteras.m

    ....\.......\pnmwritesgi.m

    ....\.......\pnmwritexbm.m

    ....\...\changes.txt

    ....\...\Contents.m

    ....\...\COPYING

    ....\...\install.txt

    ....\...\pbmread.m

    ....\...\pbmwrite.m

    ....\...\pgmread.m

    ....\...\pgmwrite.m

    ....\...\pnmread.m

    ....\...\pnmwrite.m

    ....\...\ppmread.m

    ....\...\ppmwrite.m

    ....\...\rasread.m

    ....\...\raswrite.m

    ....\...\sgiread.m

    ....\...\sgiwrite.m

    ....\...\xbmread.m

    ....\...\xbmwrite.m

    ....\QCQP.m

    ....\taxi

    ....\....\taxi01.pgm

    ....\....\taxi02.pgm

    ....\....\taxi03.pgm

    ....\....\taxi04.pgm

    ....\....\taxi05.pgm

    ....\....\taxi06.pgm

    ....\....\taxi07.pgm

    ....\....\taxi08.pgm

    ....\....\taxi09.pgm

    ....\....\taxi10.pgm

    ....\....\taxi11.pgm

    ....\....\taxi12.pgm

    ....\....\taxi13.pgm

    ....\....\taxi14.pgm

    ....\....\taxi15.pgm

    ....\....\taxi16.pgm

    ....\....\taxi17.pgm

    ....\....\taxi18.pgm

    ....\....\taxi19.pgm

    ....\....\taxi20.pgm

    ....\....\taxi21.pgm

    ....\....\taxi22.pgm

    ....\....\taxi23.pgm

    ....\....\taxi24.pgm

    输入关键字,在本站238万海量源码库中尽情搜索:

    帮助

    [pocs.rar] - 超分辨率的pocs(凸集投影法)的程序,能实现超分辨率重建

    [pocs-SuperResulution.rar] - 用pocs方法对图像进行超分辨率重构,matlab源码,有解释

    [map.rar] - MAP超分辨率重建算法,实现图像的超分辨率重建。

    [pocs.rar] - 这是有关超解像的程序,使用的是pocs算法,网上有关他的程序很多都缺子程序,这个比较全。

    [ProjectionOnConvexSets.rar] - 重建高分辨率图像使用在凸集投影,高效率matlab程式码

    [ImageRgistration.rar] - 本人认为很好的三篇关于图象配准的文章。

    用于特征点配准的快速聚类凸集投影算法.pdf

    傅氏变换的自配准性质及其在纹理识别和图象分割中的应用.pdf

    用于快速特征点配准的聚类凸集投影算法.pdf

    [Super-Resolution-Imaging.rar] - 图像超分辨率重建算法,包括插值,迭代反投影,map、pocs、配准等多种方法

    [89pocs.rar] - 89年提出的经典的pocs算法的文章。作者:H.Stark and P.Oskoui. 该文章别引用192次

    [pocs.rar] - 基于凸集投影算法的超分辨率图像重建算法,在现有算法基础上改进计算精度和效率。

    [spline3.rar] - 三次样条插值,很不错的插值算法,值得参考

    展开全文
  • 该方法通过对退化图像进行小波变换,引入模糊凸集投影算法来衡量其小波系数的可靠性,这样在消除噪声的同时还能融合更多的可靠信息。实验结果表明,本文提出的方法在图像复原时能有效的消除噪声,并且提高图像的清晰...
  • 凸集投影(POCS)是找到凸集之间交点的有用方法。上面显示了一个简单的例子,其中两个凸约束集C1(红色)和C2 ( 蓝色)。通过简单 的 迭代映射连续地投影每个集合来找到交集: 其中 P 是 各自的集合上的投影...

    作者介绍Jesse Clark

    8293cf57e34cba700a3cd9a473017b739d1d3627

    研究相位恢复的物理学家、数据科学家,有着丰富的建设网站与设计手机应用的经验,在创业公司有着丰富的经验,对创业有着极大的热情。

     Github: https://github.com/jn2clark

    Linkedin: http://www.linkedin.com/in/j3ss3cl4rk

    相位恢复(PR)关心的是在给定幅度信息以及受到实空间限制,找到复值函数(通常在傅立叶空间中)的相位[1]

    PR是一个非凸优化问题,已经成为大量工作[1,2,3,4,5,6,9]的主题,并且成为结晶学的支柱,是结构生物学的中坚力量

    下面显示的是PR重建过程的一个例子,展示了3D弥散数据(傅里叶幅度)重构实空间3D密度纳米晶体[15]

    1582d35b16b7b80825386276994866e970e3f9d5

    大多PR问题的成功算法是基于投影的方法,这是受到凸优化投影到凸集上的启发[10]。由于基于投影的方法在PR上取得成功探索能否使用类似的方法训练神经网络。

    交替投影

    738ab9dc7400d4866d941609053aa318dc5958a0

    凸集投影(POCS)是找到凸集之间交点的有用方法。上面显示了一个简单的例子,其中两个凸约束集C1(红色)和C2蓝色)。通过简单迭代映射连续地投影每个集合来找到交集:

    3cfaf5f2282fa69d39c94bf4b71bc45e4091ebd4

    其中P各自的集合上的投影。投影是幂等PP=P并且是距离最小化;

    P(x)=y以至于33e2f72835a10956c0b97d8189890d7e54e18db9最小;

    当满足下式的时候,能够发现解决方案:

    d54977aa9958b20ea6a9af990053242dc8396a0a

    当约束集非凸时,很少能得出一般结论。因此,使用简单的交替投影可能导致局部最小值的停滞。下面展示一个例子,其中集合被设置为非凸,找到交集(全局小值)的能力高度依赖于初始猜测

    57ebb6657d27c4cebd050bb9571c2f2a74d94e31

    尽管集合凸的情况下失去了保障,但投影方法证明是寻找非凸优化问题解决方案的一种有效方法。例子包括数独、n皇后问题图形着色和相位检索[4,10]

    差异图

    最成功的非凸投影算法之一是差分图(DM)[4,8],可以写成

    0f9d77805a8190f99f5a748ed48def79b29f2c69

    其中

    067d1fc68d787aeb2f3daa4014e24136eebe1bcb

    其中y1和y2被称为估计。一旦达到定点

    3197703b6a36567a735776b90268658b410227fd

    这意味着两个估计等价于解决方案

    0f810da3975723b48ed178ac76bdd27f15cde6b5

    差异图通过作为泛化或等价特定超参数,关联了PR文献中许多的不同算法[1,3,6]不于上述形式,简单版本差异图经常被使用

    b604bfebb15b24b8b92ad4e571fc3b7017e09b51

    这种更简单的版本通常表现良好,并减少每次迭代所需的投影数量(投影的顺序也可以切换)。公式中的2P2-I也被称为反射操作,出现在许多投影算法中[9]

    同样的非凸问题如下所示,使用差分映射算法被困在局部最小值中,而是能够逃脱搜索更多的解空间,最后收敛一个解决方案。

    cf220dd0037aed4ef5be11f9cde3603f1efcdec2

    分治算法

    差异图先前被定义为两个投影,那么当有两个以上时会发生什么呢?在这种情况下,定义一个新的迭代X,它是n重复连接[10]

    038a1bc7b2887968ff1137a27a40ab0b18ca6d0d

    然后定义平均和直积投影;

    52d66299f71d58223d288321e042b522957f9e61

    其中Pll投影,x是加权和;

    a6147e595ed94442a7c9173f154a4a1c8eeb4782

    那么许多预测的差异图

    9e6026186163a00142f9243b725b779ecfda30d4

    更新X:

    84ad0d1eb3d398afc1c9df8f8218591372302551

    这种方法被称为“分治算法”。下面是一个数独拼图的迭代例子,收敛使用差异图与分治算法

    2fe9c5ca429d38df178803b77b92f64c6f08bfca

    数独有4个约束每行的数字为1到9,每列的数字为1到9,3x3子方格的数字为1到9,最后数字与部分填充的模板一致。代码实现这个例子

    用于训练神经网络的投影

    对差异图投影及其在非凸优化中的应用有了解,下一步是对神经网络的训练进行预测。下例仅考虑一个分类任务基本思想是寻找一个正确分类数据的权重向量将数据分解成K个子集

    719a9e052cabc837fe4a64508976ed5b7ae3c335

    定义一个“投影”权重的投影,使得子集中的所有训练数据被正确分类(或者损失为0)。实际上,使用的是子集的梯度下降来实现投影(基本上是过度拟合的点)。目标是获得能正确分类每个数据子集的权重,并且查找这些集合的交集。

    结果

    为了测试训练方案(代码,使用标准方法[13]训练一个小型网络,并将其与基于投影的方法进行比较。小型网络使用非常简单的层,大约包含22000个参数; 1个卷积层,8个3x3滤波器2个子采样1个全连接层(激活函数为ReLU),16个节点最后softmax10个输出(MNIST的10类)。使用Glorot uniform[11]初始化权重

    下图显示其平均训练和测试损失曲线:

    e03afedc47bfb2f7abbc76e75a0e3f06ec99cb0c

    训练损失曲线

    9682470245de3125f87ee3b2d642e85bacedc693

    测试损失函数

    从图中可以出效果不错。训练数据被分为大小相同的3组,都被用于投影约束。对于投影而言,需要找到一组最新的权重,使其与先前一组权重的距离最小另外使用梯度下降法进行训练,一旦训练数据的准确度达到99%就终止投影。更新后的权重投影到3组上产生3个新的权重集合,这些集合连接在一起以形成

    41b46f89b66cf3bff2e165d3f5ea9ae0f9cf55d7

    平均投影可以通过将权重平均得到之后进行复制并连接形成新的向量

    1dc98aa873d97c3b500e0ab37fc7f954f4187ad7

    根据差异图将这两个投影步骤组合以获得权重的更新方案。除了常规度量外,还可以监视差异图误差来寻找收敛。差异映射误差由下式定义:

    a8b67c2bc4dc65fdc7480ba806a2783547f649e2

    上式值越低,表明解决方案越。差异图错误达到稳定表明已经找到了一个近似的解决方案。差异图错误通常在稳定突然下降[4],表明找到合适的解决方案。

    67c3015a68fe1bacf4378314fa989e94bec8e49e

    在上例中,投影是通过训练数据子集上的反复梯度变化定义,本质上是过度拟合的点。在下例中,遍历完一次训练数据终止投影

    下面显示的是平均cv测试和训练误差(与上述相同的常规训练相比)

    9eb15578194f31947ad2cdaea989b9ab57a6080d

    66ba6ca81398eeb0776abdda16df2cdbeeaeb147

    478674c51c616a43265b9186c4e12014ab9605d4

    从图中可以看到这种方法仍然可行,为什么会这样呢?如果投影操作提前终止,那么想到的一点就是简单地将投影视为一个松弛投影或非最佳投影。凸优化和PR的结果[4,5,7,14]仍然表明,松弛投影或非最佳投影趋于的解决方案。另外,在单遍历投影限制中,可以通过交替投影来恢复传统的基于梯度下降的训练方案(以3组为例)

    a5bc188b28b440f651733ed296c1c0f4027fd8f1

    最后,常规训练中的参数设置会对网络的结果产生很大的影响,具体参数设置可以查看原文。训练这样的网络并执行提前终止,传统训练方法最终损失和准确度分别为0.0724和97.5%,使用差异图方法的结果分别为0.0628和97.9%。

    投影方法扩展

    关于投影方法的好处之一是可以轻松实现额外的约束。对于L1正则化而言,可以定义收缩或软阈值操作,如

    944752dbcecf0a5c5056b6545c4f54d9e3210974

    其他投影可以是卷积核的对称性或权重的直方图约束。

    阅读全文:http://click.aliyun.com/m/14997/  


    展开全文
  • 首先将凸可行问题分成若干个子系统,然后利用次梯度找出子系统的近似次梯度投影,根据每次迭代用到一个或全部子系统的近似次梯度投影的不同,分别构建了序列块迭代次梯度投影算法和平行块迭代次梯度投影算法....
  • 将边缘增强扩散与凸集投影算法相结合,提出了一种基于边缘增强扩散的凸集投影方法。该方法能在一定程度上减少噪声的影响,解决重建后图像的振铃问题,且信噪比有一定的提高,改进超分辨率重建图像的效果。实验表明...
  • 投影算法是解决凸集图像重建问题最普遍的工具,该算法主要有循环投影算法和平行投影算法,前者的核心思想是计算初始估计量到集合上的周期性投影,后者则是在每次迭代中都需要计算到所有集合上的投影。平行投影算法虽然...
  • 利用GLP投影技术,对凸约束的非线性规划问题构造了一个共轭梯度的GLP投影算法,在一维精确步长搜索下,给出了算法较强的全局收敛性结果,由于算法需要较小的存储量,特别适合于计算大规模的约束优化问题。...
  • 针对传统的凸集投影(POCS)算法重建后的结果图像存在边缘模糊的问题,提出了一种通过小波变换与分形插值得到高分辨率初始图像的估计方法。该方法通过对一幅图像进行小波分解得到低频重构图像和高频重构图像,对高频...
  • 由于阈值选取对图像分割的基础性,本文主要在【1】、【2】、【3】、【4】等的基础上,对一些当前流行的阈值选取算法做了探讨、实现和比较。多阈值分割虽然能进一步提高图像分割的质量,但由于它只是分割技巧的处理...

    图像分割是图像处理这门学科中的基础难题,基于阈值的分割则又是图像分割的最基本的难题之一,其难点在于阈值的选取。事实证明,阈值的选择的恰当与否对分割的效果起着决定性的作用。由于阈值选取对图像分割的基础性,本文主要在【1】、【2】、【3】、【4】等的基础上,对一些当前流行的阈值选取算法做了探讨、实现和比较。多阈值分割虽然能进一步提高图像分割的质量,但由于它只是分割技巧的处理问题,而与单阈值分割并无本质的区别。因此本文并不对多阈值分割进行讨论,而只考虑单阈值分割的情形。

     

    1. 双峰法

    双峰法的原理及其简单:它认为图像由前景和背景组成,在灰度直方图上,前后二景都形成高峰,在双峰之间的最低谷处就是图像的阈值所在。根据这一原理,我们给出了它的实现,部分代码如下(Pascal语言描述,以下同):

    //intPeak、intPeak2、intValley:峰值和直方图值

    //intIndx::相应的灰度值

    intPeak,intIndx,intPeak2,intIndx2,intValley,intValleyIndx:integer;

    //初始双峰值

        intPeak:=0;

        intPeak2:=0;

     

    //取得第一峰值

        for intLoop:=0 to 255 do

          if intPeak<=intGrayLevel[intLoop] then

          begin

            intPeak:=intGrayLevel[intLoop];

            intIndx:=intLoop;

          end;

     

    //取得第二峰值

        for intLoop:=0 to 255 do

        Begin

          if (intPeak2<=intGrayLevel[intLoop]) and (intLoop<>intIndx) then

          begin

            intPeak2:=intGrayLevel[intLoop];

            intIndx2:=intLoop;

          end

        end;

     

    //取得双峰之间的谷值

        intValley:=intSize;

        if intIndx2<intIndx then

          for intLoop:=intIndx2 to intIndx do

            if intValley>intGrayLevel[intLoop] then

            begin

              intValley:=intGrayLevel[intLoop];

             intValleyIndx:=intLoop;

            end;

    从分割的效果来看,当前后景的对比较为强烈时,分割效果较好;否则基本无效。

    2. 迭代法

    迭代法是基于逼近的思想,其步骤如下:

    1. 求出图象的最大灰度值和最小灰度值,分别记为ZMAX和ZMIN,令初始阈值T0=(ZMAX+ZMIN)/2;

    2. 根据阈值TK将图象分割为前景和背景,分别求出两者的平均灰度值ZO和ZB

    3. 求出新阈值TK+1=(ZO+ZB)/2;

    4. 若TK=TK+1,则所得即为阈值;否则转2,迭代计算。

    以下给出迭代求阈值的部分实现:

    //阈值初始为0

    intThresholdVal:=0;

         intThresholdVal2:=0;

     

     //总灰度值

     intTotalGrayLevel:=0;

     for intLoop:=0 to 255 do

        if intGrayLevel[intLoop]<>0 then

          intTotalGrayLevel:=intTotalGrayLevel+intLoop*intGrayLevel[intLoop];

     

     //求出初始最大灰度值

     for intLoop:=0 to 255 do

        if intGrayLevel[intLoop]>0 then

        begin

          intLGrayLevel:=intLoop;

          intThresholdVal:=intLoop;

          break;

        end;

     

     //求出初始最小灰度值和初始阈值

     for intLoop:=255 downto 0 do

        if intGrayLevel[intLoop]>0 then

        begin

          intRGrayLevel:=intLoop;

          intThresholdVal:=(intThresholdVal+intLoop)div 2;

          break;

        end;

     

     //迭代求解

     while intThresholdVal<>intThresholdVal2 do

        begin

          intThresholdVal2:=intThresholdVal;

          intCount:=0;

          intLGrayLevel:=0;

          for intLoop:=0 to intThresholdVal do

            if intGrayLevel[intLoop]<>0 then

            begin

              intCount:=intCount+intGrayLevel[intLoop];

              intLGrayLevel:=intLGrayLevel+intLoop*intGrayLevel[intLoop];

            end;

          intRGrayLevel:=intTotalGrayLevel-intLGrayLevel;

          intLGrayLevel:=intLGrayLevel div intCount;

          intRGrayLevel:=intRGrayLevel div (intSize-intCount);

          intThresholdVal:=(intLGrayLevel+intRGrayLevel)div 2;

        end;

    迭代所得的阈值分割的图象效果良好。基于迭代的阈值能区分出图像的前景和背景的主要区域所在,但在图像的细微处(如图1中的浅色线条)还没有很好的区分度。

    但令人惊讶的是,对某些特定图象,微小数据的变化却会引起分割效果的巨大改变,两者的数据只是稍有变化,但分割效果却反差极大,个中原因还有待进一步研究。

    3. 大津法(OTSU法)

    大津法由大津于1979年提出,对图像Image,记t为前景与背景的分割阈值,前景点数占图像比例为w0, 平均灰度为u0;背景点数占图像比例为w1,平均灰度为u1。图像的总平均灰度为:u=w0*u0+w1*u1。从最小灰度值到最大灰度值遍历t,当t使得值g=w0*(u0-u)2+w1*(u1-u)2 最大时t即为分割的最佳阈值。对大津法可作如下理解:该式实际上就是类间方差值,阈值t分割出的前景和背景两部分构成了整幅图像,而前景取值u0,概率为w0,背景取值u1,概率为w1,总均值为u,根据方差的定义即得该式。因方差是灰度分布均匀性的一种度量,方差值越大,说明构成图像的两部分差别越大,当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小,因此使类间方差最大的分割意味着错分概率最小。

    直接应用大津法计算量较大,因此我们在实现时采用了等价的公式g=w0*w1*(u0-u1)2。部分计算过程如下:

     

    //遍历所有灰度值求Max g。

    for intCurrentLevel:=0 to intArrLen do

     begin

        if intSclGrayLevel[intCurrentLevel]=0 then

          continue

        else

          begin

                  //计算当阈值为intCurrentLevel时的g

            intCount:=0;

            intSumPels:=0;

            for intLoop:=0 to intCurrentLevel do

              begin

                intCount:=intCount+intSclGrayLevel[intLoop];

                intSumPels:=intSumPels+intSumPelsArr[intLoop];

              end;

            w0:=intCount/intSize;

            u0:=intSumPels/intCount;

            w1:=1-w0;

            if intSize-intCount<>0 then

              u1:=(intTotalPels-intSumPels)/(intSize-intCount)

            else

              u1:=0;

     

            RlTempO:=w0*w1*(u0-u1)*(u0-u1);

            if RlTempO>RlMaxO then

            begin

              RlMaxO:=RlTempO;

              Result:=intCurrentLevel;

            end;

          end;

    我们在测试中发现:大津法选取出来的阈值非常理想,对各种情况的表现都较为良好。虽然它在很多情况下都不是最佳的分割,但分割质量通常都有一定的保障,可以说是最稳定的分割。由上可知,大津算法是一种较为通用的分割算法。在它的思想的启迪下,人们进一步提出了多种类似的评估阈值的算法,具体可参加【5】、【6】等。

    4. 灰度拉伸-一种改进的大津法

    大津法得到了广泛的应用,但有人发现,大津法致命的缺陷是当目标物与背景灰度差不明显时,会出现无法忍受的大块黑色区域,甚至会丢失整幅图像的信息。为了解决这个问题,有人提出了灰度拉伸的增强大津法。这种方法的原理其实就是在大津法的基础上通过增加灰度的级数来增强前后景的灰度差,从而解决问题。灰度增加的方法是用原有的灰度级乘上同一个系数,从而扩大灰度的级数,特别地,当乘上的系数为1时,这就是大津法的原型,因此,大津法可以看做是这种方法的一个特例。

    在实现中,我们实现了多种灰度拉伸,发现对不同的图像,当遇上不同的拉伸系数时,分割效果也相差甚远。

    5. Kirsh算子

    在【4】中提出了基于Kirsh算子的分割方法,其思想为:对数字图像的每个像素i,考虑它的八个邻点的灰度值,以其中三个相邻点的加权和减去剩下五个邻点的加权和得到差值,令三个邻点绕该像素点不断移位,取此八个差值的最大值作为Kirsh算子。即:设Si为三邻点之和,Ti为五邻点之和,则Kirsh算子定义为K(i)=max{1,max〔5Si-3Ti〕}如取阈值THk,则当K(i)>THk时,像素i为阶跃边缘点。此外,【4】的作者认为:假设图像大小为H×W个像素点,其边缘点像素一般不会超过5×H个。基于这一假设,该文作者提出:(对一幅图像)用Kirsh算法,取某一较低的初始阈值THk(以保证目标和背景间灰度变化很小的图像边缘也能被取出),对于每个像素点i计算其Kirsh算子,如果K(i)>THk,则i为边缘点,边缘点数N(初始值为0)加1,一旦边缘点数超过5×H ,而i还小于整幅图像的像素数,说明阈值取得太低,致使许多不是边缘点的像素也被取出,因此需提高阈值。如此反复,即可获得分割图像所需的阈值。

    但在实现中,本文作者发现,【4】中的叙述颇有值得探讨之处,如在H×W图像中,H和W之间的关系是完全对称的,两者之间如何抉择?此外,在求Kirsh算子K(i)=max{1,max〔5Si-3Ti〕}时也颇有疑虑之处,由其求得的结果分割图像效果并不明显。基于对称性和归一化的考虑,笔者把Kirsh算子改为:K(i)=max{1,max abs(5Si-3Ti) div 15 },并根据在实际运行中的效果,对W和H的选取为:if W>H then use 5*H else use 5*W。在实际应用中表明,修改后的分割质量显著提高。但与【4】文中作者声称的效果及其示例相比,仍有相当的距离,特别是它不能解决前后景对比不强烈时的分割情形。但当前后背景对比十分强烈且集中时,Kirsh算子法却会有十分突出的表现。参考文献

    【1】       崔屹,数字图像处理技术与应用,电子工业出版社,1997

    【2】       付忠良,图像阈值选取方法,计算机应用,2000

    【3】       吴冰、秦志远,自动确定图像二值化最佳阈值的新方法,绘测学院学报,2000

    【4】       曹莉华,图像边缘提取中的一种动态阈值获取法,小型微型计算机系统,1997

    【5】       付忠良,基于图像差距度量的阈值选取方法,计算机研究与发展,2001

    【6】       付忠良,一些新的图像阈值选取方法,计算机应用,2001

    【7】       Kenneth.R.Castleman著,朱志刚等译,数字图像处理,电子工业出版社,1998

    转载于:https://www.cnblogs.com/kunduye/archive/2006/05/15/400654.html

    展开全文
  • 最优化理论与方法-第二讲-凸集

    千次阅读 2021-02-22 16:55:09
    凸集 举例: (1) (2) 其中为最优点,此时对于凸集S来说,的负梯度方向 与到S内的所有点的方向 所呈夹角必定大于90度 即: 基本定义 凸集(convex set ): 对于任意的x,yC与任意的有 凸...
  • 滤波投影投影公式推导

    万次阅读 2018-05-02 11:02:53
    关于CT重建的算法有很多,在这里给大家介绍的是滤波反投影算法,其原理如下: 设f(x,y)表示需要重建的图像,用p(t,θ)表示在角度获取的f(x,y)的一个平行投影,t表示投影射线到对称中心(即旋转中...
  • POCS(凸集投影算法是一种广泛应用于图像超分辨率复原的方法。针对传统的POCS算法的边缘振荡效应,在分析其产生的原因,造成的影响的基础上,采用改进的POCS算法,以减少边缘振荡。采用基于小波变换模极大值的改进...
  • TFP测度评估模型与投影迭代算法 童恒庆 赵...其中的因变量未知本文基于此模型在实际评估中的作用来测算TFP构造了基于评估模型和生产函数的TFP新模型然后我们给出了利用两凸集间的投影迭代算法进行了参数的最小二乘估计
  • 图像超分辨重建/基于Matlab的多图像超分辨率重建算法程序源码 1、超分辨率重建代码 MATLAB +c 2、插值法图像超分辨率重建 matlab代码 3、超分辨率图像重建matlab源码 4、超分辨率重建的matlab代码 (图像仿射变换的...
  • Phase retrieval交替投影

    千次阅读 2018-09-16 11:25:16
    相位恢复(PR)关心的是在给定幅度信息以及受到实空间限制下,找到复值函数(通常在傅立叶空间中)的相位[1]。 PR是一个非凸优化问题,已经成为大量工作[1,2,3,4,5...大多PR问题的成功算法是基于投影的方法,这是受...
  • 02 凸集

    千次阅读 2020-01-25 23:53:33
    02.凸集 目录 2.1.仿射集合和凸集 2.2.重要的例子 2.3.保凸运算 2.4.广义不等式 2.5.分离与支撑超平面 2.6.对偶锥与广义不等式 2.1.仿射集合和凸集 2.1.2 仿射集合 2.1.1直线与线段的定义、几何含义 Def 1 仿射...
  • 依据图像局部二阶统计量能够反映图像区域变化的特性,以参考帧的局部方差为参数建立凸集投影算子和区域修复阈值的条件,提出了一种自适应选取运动估计误差阈值和图像修复误差阈值的视频图像超分辨率重构方法。...
  • 凸优化-凸集

    2016-11-15 23:06:19
    原文:凸优化-凸集 22 May 2015 注明:对于机器学习初学者而言,本篇博客里的内容实际不易于理解,如果不想过多深入研究凸优化理论的童鞋可以忽略本节内容。并且,我自己对于这部分内容理解的也不是很好,...
  • 【第1章】凸集——保凸运算

    千次阅读 2020-05-05 11:37:05
    凸集——保凸运算3.保凸运算3.1交集3.2仿射函数3.3透视函数3.4 线性分数函数(转换后凸性质不变) Date: 2020/05/05 Editor:萧潇子(Jesse) Contact: 1223167600@qq.com 3.保凸运算 本节给出一些典型的保凸运算...
  • 针对传统POCS(projection onto convex sets)算法的局限性,提出了一种基于POCS框架的时空联合自适应视频超分辨率重建算法。通过引入时空联合自适应机制,算法有效地减缓了错误运动估计信息对重建图像质量的影响,...
  • 首先建立压缩视频的降质退化模型,然后根据H.264标准中的整数DcT变换和量化过程建立整数DCT域的量化噪声模型,最后在凸集投影算法的框架下给出了基于整数DCT域量化噪声的超分辨率重建算法。实验表明该算法的超分辨率...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 834
精华内容 333
关键字:

凸集投影算法