发明名称 基于图切割的高抗噪性散斑包裹相位图的展开方法
摘要 本发明属于图像处理领域。为解决相位展开算法抗噪性能差,得不到准确解的问题,同时避开噪声的影响,准确提取相位,本发明采取的技术方案是,基于图切割的高抗噪性散斑包裹相位图的展开算法,包括如下步骤:1.针对具体的相位展开问题构造合适的能量函数,建立整数优化的能量最小化模型;2.简化能量最小化模型,将其转化为可迭代求解的0-1优化问题,每次迭代利用图切割理论求解;3.为步骤2中得到的能量函数构造相应的图;4.利用最大流最小割算法确定已建立图的最小割,得到能量函数的最优0-1解,更新能量函数;5.不断迭代来减小能量函数,直到不再减少时终止迭代,得到最优的整数估计,展开相位。本发明主要应用于图像处理。
申请公布号 CN102800081B 申请公布日期 2015.05.13
申请号 CN201210185404.3 申请日期 2012.06.06
申请人 天津大学 发明人 王晋疆;吴明云
分类号 G06T7/00(2006.01)I;G06T5/00(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 天津市北洋有限责任专利代理事务所 12201 代理人 刘国威
主权项 一种基于图切割的高抗噪性散斑包裹相位图的展开方法,其特征是,包括如下步骤:(1)针对具体的相位展开问题构造合适的能量函数,建立整数优化的能量最小化模型;(2)简化能量最小化模型,将其转化为可迭代求解的0‑1优化问题,每次迭代利用图切割理论求解;(3)为步骤(2)中得到的能量函数构造相应的图,使该图中的割容量表示能量函数;(4)利用最大流最小割算法确定已建立图的最小割,得到能量函数的最优0‑1解,更新能量函数;(5)不断迭代来减小能量函数,直到不再减少时终止迭代,得到最优的整数估计,展开相位;步骤(1)具体的内容为:四步相移法提取的相位是通过反正切函数得到的,相位被包裹在区间(‑π,π]内,相位展开就是将截断的相位恢复成为真实连续的相位,即为:Φ=Ψ+2πK   (1)上式中,Φ是真实相位图,Ψ是包裹相位图,K为整数矩阵;建立一个能量函数来反映全局相位的不连续程度,通过不断迭代整数矩阵K来最小化该能量函数,最小的能量函数即对应最优的整数估计<img file="FDA0000654987530000011.GIF" wi="74" he="76" /><maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mover><mi>K</mi><mo>^</mo></mover><mo>=</mo><mi>arg</mi><munder><mi>min</mi><mi>K</mi></munder><mo>{</mo><mi>E</mi><mrow><mo>(</mo><mi>K</mi><mo>)</mo></mrow><mo>}</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000654987530000012.GIF" wi="1053" he="116" /></maths>能量函数表达为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>E</mi><mrow><mo>(</mo><mi>K</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&Element;</mo><mi>G</mi></mrow></munder><mrow><mo>(</mo><mo>|</mo><mi>&Delta;</mi><msubsup><mi>&phi;</mi><mi>ij</mi><mi>h</mi></msubsup><mo>|</mo><mo>+</mo><mo>|</mo><mi>&Delta;</mi><msubsup><mi>&phi;</mi><mi>ij</mi><mi>v</mi></msubsup><mo>|</mo><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000654987530000013.GIF" wi="1157" he="131" /></maths>上式中,G为相位值矩阵,(i,j)表示矩阵G第i行,第j列,<img file="FDA0000654987530000014.GIF" wi="96" he="84" />和<img file="FDA0000654987530000015.GIF" wi="88" he="78" />分别表示位于相位值矩阵G(i,j)元素水平和竖直方向上的差分,即为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mfenced open='{' close=''><mtable><mtr><mtd><mi>&Delta;</mi><msubsup><mi>&phi;</mi><mi>ij</mi><mi>h</mi></msubsup><mo>=</mo><msub><mi>&phi;</mi><mrow><mi>ij</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>&phi;</mi><mi>ij</mi></msub></mtd></mtr><mtr><mtd><mi>&Delta;</mi><msubsup><mi>&phi;</mi><mi>ij</mi><mi>v</mi></msubsup><mo>=</mo><msub><mi>&phi;</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mi>j</mi></mrow></msub><mo>-</mo><msub><mi>&phi;</mi><mi>ij</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000654987530000016.GIF" wi="1119" he="179" /></maths>上式中,φ<sub>ij</sub>为相位图Φ第i行,第j列的元素;φ<sub>ij‑1</sub>为相位图Φ第i行,第j‑1列的元素;φ<sub>i‑1j</sub>为相位图Φ第i‑1行,第j列的元素;步骤(2)具体的内容为:每一次的迭代,整数矩阵K中元素k<sub>ij</sub>的变化量δ<sub>ij</sub>限定为0或1,即t+1次迭代的k<sub>ij</sub>可表示为:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msubsup><mi>k</mi><mi>ij</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msubsup><mi>k</mi><mi>ij</mi><mi>t</mi></msubsup><mo>+</mo><msub><mi>&delta;</mi><mi>ij</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000654987530000017.GIF" wi="1055" he="98" /></maths>其中,δ<sub>ij</sub>∈{0,1},t+1次迭代时,结合式(1),式(4)和式(5),式(3)中的相位图水平和竖直方向差分值<img file="FDA0000654987530000018.GIF" wi="98" he="85" />和<img file="FDA0000654987530000019.GIF" wi="84" he="77" />可表示为:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mfenced open='{' close=''><mtable><mtr><mtd><mi>&Delta;</mi><msubsup><mi>&phi;</mi><mi>ij</mi><mi>h</mi></msubsup><mo>=</mo><mn>2</mn><mi>&pi;</mi><mrow><mo>(</mo><msub><mi>&delta;</mi><mrow><mi>ij</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>&delta;</mi><mi>ij</mi></msub><mo>)</mo></mrow><mo>+</mo><msup><mi>a</mi><mi>h</mi></msup></mtd></mtr><mtr><mtd><mi>&Delta;</mi><msubsup><mi>&phi;</mi><mi>ij</mi><mi>v</mi></msubsup><mo>=</mo><mn>2</mn><mi>&pi;</mi><mrow><mo>(</mo><msub><mi>&delta;</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mi>j</mi></mrow></msub><mo>-</mo><msub><mi>&delta;</mi><mi>ij</mi></msub><mo>)</mo></mrow><mo>+</mo><msup><mi>a</mi><mi>v</mi></msup></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000654987530000021.GIF" wi="1164" he="184" /></maths>其中:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msup><mi>a</mi><mi>h</mi></msup><mo>=</mo><mn>2</mn><mi>&pi;</mi><mrow><mo>(</mo><msubsup><mi>k</mi><mrow><mi>ij</mi><mo>-</mo><mn>1</mn></mrow><mi>t</mi></msubsup><mo>-</mo><msubsup><mi>k</mi><mi>ij</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mo>+</mo><mi>&Delta;</mi><msubsup><mi>&psi;</mi><mi>ij</mi><mi>h</mi></msubsup><mo>,</mo><msup><mi>a</mi><mi>v</mi></msup><mo>=</mo><mn>2</mn><mi>&pi;</mi><mrow><mo>(</mo><msubsup><mi>k</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mi>j</mi></mrow><mi>t</mi></msubsup><mo>-</mo><msubsup><mi>k</mi><mi>ij</mi><mi>t</mi></msubsup><mo>)</mo></mrow><mo>+</mo><mi>&Delta;</mi><msubsup><mi>&psi;</mi><mi>ij</mi><mi>v</mi></msubsup><mo>,</mo></mrow>]]></math><img file="FDA0000654987530000022.GIF" wi="1066" he="86" /></maths><img file="FDA0000654987530000023.GIF" wi="108" he="85" />和<img file="FDA0000654987530000024.GIF" wi="100" he="79" />分别为包裹相位图中水平和竖直方向上的差分;将式(6)代入式(3)得到:第t+1次迭代时的能量函数E<sup>t+1</sup>:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>E</mi><mrow><mo>(</mo><msup><mi>k</mi><mi>t</mi></msup><mo>+</mo><mi>&delta;</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>&Element;</mo><mi>G</mi></mrow></munder><mo>[</mo><mo>|</mo><mn>2</mn><mi>&pi;</mi><mrow><mo>(</mo><msub><mi>&delta;</mi><mrow><mi>ij</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>&delta;</mi><mi>ij</mi></msub><mo>)</mo></mrow><mo>+</mo><msup><mi>a</mi><mi>h</mi></msup><mo>|</mo><mo>+</mo><mo>|</mo><mn>2</mn><mi>&pi;</mi><mrow><mo>(</mo><msub><mi>&delta;</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn><mi>j</mi></mrow></msub><mo>-</mo><msub><mi>&delta;</mi><mi>ij</mi></msub><mo>)</mo></mrow><mo>+</mo><msup><mi>a</mi><mi>v</mi></msup><mo>|</mo><mo>]</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000654987530000025.GIF" wi="1381" he="133" /></maths>兼顾上式中的水平方向和竖直方向,可以简化为:<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><mi>E</mi><mrow><mo>(</mo><msup><mi>k</mi><mi>t</mi></msup><mo>+</mo><mi>&delta;</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>&Element;</mo><mi>G</mi></mrow></munder><msup><mi>E</mi><mi>ij</mi></msup><mrow><mo>(</mo><msub><mi>&delta;</mi><mi>i</mi></msub><mo>,</mo><msub><mi>&delta;</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000654987530000026.GIF" wi="1182" he="121" /></maths>其中,δ<sub>i</sub>,δ<sub>j</sub>∈{0,1},上式中的i,j表示图像中水平或竖直相邻的两个像素点,对整数矩阵K的迭代简化为0‑1场δ的迭代;步骤(3)的具体内容为:对于图G=(V,E),由顶点集V和边集E组成,顶点之间由边连接,边被赋予非负的权值,采用有两个终点的图,这两个终点分别被称为源点s和汇点t;把该种图G=(V,E)中除终点外的点分成两个不相连的子集S和T的过程就是图切割C=S/T,其中源点s在S集里,汇点t在T集里,切割C相当于标号f,其中f是从一个从顶点集合V‑{s,t}到{0,1}的映射:f(v)=0意味着v∈S,f(v)=1意味着v∈S;图切割就是用{0,1}给图中的每个顶点赋值;图切割的割容量定义为从集合S到集合T的所有边的权值和,表达为:<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><mi>c</mi><mrow><mo>(</mo><mi>S</mi><mo>,</mo><mi>T</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mrow><mi>u</mi><mo>&Element;</mo><mi>S</mi><mo>,</mo><mi>v</mi><mo>&Element;</mo><mi>T</mi><mo>,</mo><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow><mo>&Element;</mo><mi>E</mi></mrow></munder><mi>c</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000654987530000027.GIF" wi="1114" he="129" /></maths>最小割问题就是找到包含最小割容量的切割C;为了最小化第t+1次迭代时的能量函数E<sup>t+1</sup>,构造特定的图,图中的顶点表示能量函数中的变量,变量取值为0或者1,边的权值表示变量的系数,图切割的割容量表示能量函数,确定了最小割就给能量函数赋值,使能量函数最小化;为其他的单元能量E<sup>ij</sup>(δ<sub>i</sub>,δ<sub>j</sub>)构造相应的子图,然后图切割理论中的可加性定理,将所有的源和汇整合成为单一的源和汇,顶点直接拼接为整体相位的图,这样就构造出了表示整体能量函数的图;步骤(4)的具体内容为:根据Ford‑Fulkerson定理,确定最小割就等同于计算从源点到汇点的最大流,最小割和最大流是等价的,而图中的最大流可以快速而准确地得到,采用最大流最小割算法max‑flow/min‑cut先得到图的最大流,进而确定图的最小割;步骤(5)具体的内容为:利用求得的能量函数的最小解δ,将其代入式(7),得到t+1次迭代时的能量函数E<sup>t+1</sup>,与上一次迭代的能量函数E<sup>t</sup>进行比较,不断迭代直到能量函数不再减少,得到最优的整数估计<img file="FDA0000654987530000028.GIF" wi="80" he="72" />代入下式:<maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><mi>&Phi;</mi><mo>=</mo><mi>&Psi;</mi><mo>+</mo><mn>2</mn><mi>&pi;</mi><mover><mi>K</mi><mo>^</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000654987530000029.GIF" wi="1003" he="87" /></maths>即在包裹相位图Ψ的基础上叠加2π的<img file="FDA0000654987530000031.GIF" wi="44" he="72" />倍得到最终的展开相位Φ。
地址 300072 天津市南开区卫津路92号