发明名称 基于对称重复的模板校正锥束CT系统几何失真的方法
摘要 一种基于对称重复的模板校正锥束CT系统几何失真的方法,属于图像处理领域里的计算机层析成像技术领域。其特征是本发明建立了探测器角度偏差与纹理图像的秩之间的联系,并将探测器角度偏差的求解问题等效为一定约束下纹理图像的秩最小化问题,根据求得的角度偏差对探测器进行调节,消除角度偏差后再利用特定的几何关系对探测器位移偏差进行求解。本发明的效果和益处是,利用含有纹理低秩性的模板进行CT成像系统的角度偏差求取,仅需要采集单角度投影图像,而位移偏差的求取也只需移动旋转台一次,获取变化前后的两幅投影图像,该方法模板制作容易,测量方法简单有效。
申请公布号 CN104997529A 申请公布日期 2015.10.28
申请号 CN201510386560.X 申请日期 2015.06.30
申请人 大连理工大学 发明人 孙怡;郭立倩;周丽平
分类号 A61B6/03(2006.01)I 主分类号 A61B6/03(2006.01)I
代理机构 大连理工大学专利中心 21200 代理人 侯明远
主权项 一种基于对称重复的模板校正锥束CT系统几何失真的方法,首先建立了探测器角度偏差与纹理图像的秩之间的联系,并将探测器角度偏差的求解问题等效为一定约束下纹理图像的秩最小化问题,通过求解秩最小化问题,得到CT成像系统中探测器的角度偏差,其特征在于,步骤如下:S1在所采集的投影图像中选取包含低秩纹理的一块矩形区域作为输入,记为I;将参数进行初始化,角度参数初始值θ=0,β=0,η=0,归一化位移参数的初始值t′<sub>1</sub>=0,t'<sub>2</sub>=0,t'<sub>3</sub>=0;S2将I和初始化的转换参数τ作为初始条件带入,对公式(8)的优化问题进行求解:<img file="FDA0000752570530000011.GIF" wi="1396" he="107" />Iоτ运算被转换为:将局部最优解τ对应的投影变换作用在图像的每一个点上,这样便转化成了一幅新的图像;将所得的新图像重新赋值给I(u<sub>ij</sub>(τ),v<sub>ij</sub>(τ)),图像转换过程中利用公式(5);<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msub><mi>u</mi><mn>2</mn></msub><mo>=</mo><mfrac><mrow><mfrac><mi>D</mi><msub><mi>p</mi><mi>x</mi></msub></mfrac><mrow><mo>(</mo><mrow><msub><mi>r</mi><mn>11</mn></msub><msub><mi>u</mi><mn>1</mn></msub><mo>+</mo><msub><mi>r</mi><mn>12</mn></msub><msub><mi>v</mi><mn>1</mn></msub><mo>+</mo><mfrac><mi>D</mi><mrow><msub><mi>p</mi><mi>x</mi></msub><mo>&CenterDot;</mo><mi>R</mi></mrow></mfrac><msub><mi>t</mi><mn>1</mn></msub></mrow><mo>)</mo></mrow></mrow><mrow><msub><mi>r</mi><mn>31</mn></msub><msub><mi>u</mi><mn>1</mn></msub><mo>+</mo><msub><mi>r</mi><mn>32</mn></msub><msub><mi>v</mi><mn>1</mn></msub><mo>+</mo><mfrac><mi>D</mi><mrow><msub><mi>p</mi><mi>x</mi></msub><mo>&CenterDot;</mo><mi>R</mi></mrow></mfrac><mo>&CenterDot;</mo><msub><mi>t</mi><mn>3</mn></msub></mrow></mfrac><mo>=</mo><mfrac><mrow><mfrac><mi>D</mi><msub><mi>p</mi><mi>x</mi></msub></mfrac><mrow><mo>(</mo><mrow><msub><mi>r</mi><mn>11</mn></msub><msub><mi>u</mi><mn>1</mn></msub><mo>+</mo><msub><mi>r</mi><mn>12</mn></msub><msub><mi>v</mi><mn>1</mn></msub><mo>+</mo><mfrac><mi>D</mi><msub><mi>p</mi><mi>x</mi></msub></mfrac><msub><msup><mi>t</mi><mo>&prime;</mo></msup><mn>1</mn></msub></mrow><mo>)</mo></mrow></mrow><mrow><msub><mi>r</mi><mn>31</mn></msub><msub><mi>u</mi><mn>1</mn></msub><mo>+</mo><msub><mi>r</mi><mn>32</mn></msub><msub><mi>v</mi><mn>1</mn></msub><mo>+</mo><mfrac><mi>D</mi><msub><mi>p</mi><mi>x</mi></msub></mfrac><mo>&CenterDot;</mo><msub><msup><mi>t</mi><mo>&prime;</mo></msup><mn>3</mn></msub></mrow></mfrac></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>v</mi><mn>2</mn></msub><mo>=</mo><mfrac><mrow><mfrac><mi>D</mi><msub><mi>p</mi><mi>x</mi></msub></mfrac><mrow><mo>(</mo><mrow><msub><mi>r</mi><mn>21</mn></msub><msub><mi>u</mi><mn>1</mn></msub><mo>+</mo><msub><mi>r</mi><mn>22</mn></msub><msub><mi>v</mi><mn>1</mn></msub><mo>+</mo><mfrac><mi>D</mi><mrow><msub><mi>p</mi><mi>x</mi></msub><mo>&CenterDot;</mo><mi>R</mi></mrow></mfrac><msub><mi>t</mi><mn>2</mn></msub></mrow><mo>)</mo></mrow></mrow><mrow><msub><mi>r</mi><mn>31</mn></msub><msub><mi>u</mi><mn>1</mn></msub><mo>+</mo><msub><mi>r</mi><mn>32</mn></msub><msub><mi>v</mi><mn>1</mn></msub><mo>+</mo><mfrac><mi>D</mi><mrow><msub><mi>p</mi><mi>x</mi></msub><mo>&CenterDot;</mo><mi>R</mi></mrow></mfrac><mo>&CenterDot;</mo><msub><mi>t</mi><mn>3</mn></msub></mrow></mfrac><mo>=</mo><mfrac><mrow><mfrac><mi>D</mi><msub><mi>p</mi><mi>x</mi></msub></mfrac><mrow><mo>(</mo><mrow><msub><mi>r</mi><mn>21</mn></msub><msub><mi>u</mi><mn>1</mn></msub><mo>+</mo><msub><mi>r</mi><mn>22</mn></msub><msub><mi>v</mi><mn>1</mn></msub><mo>+</mo><mfrac><mi>D</mi><msub><mi>p</mi><mi>x</mi></msub></mfrac><msub><msup><mi>t</mi><mo>&prime;</mo></msup><mn>2</mn></msub></mrow><mo>)</mo></mrow></mrow><mrow><msub><mi>r</mi><mn>31</mn></msub><msub><mi>u</mi><mn>1</mn></msub><mo>+</mo><msub><mi>r</mi><mn>32</mn></msub><msub><mi>v</mi><mn>1</mn></msub><mo>+</mo><mfrac><mi>D</mi><msub><mi>p</mi><mi>x</mi></msub></mfrac><mo>&CenterDot;</mo><msub><msup><mi>t</mi><mo>&prime;</mo></msup><mn>3</mn></msub></mrow></mfrac></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000752570530000012.GIF" wi="1665" he="588" /></maths>其中,利用探测器绕X轴、Y轴、和Z<sub>W</sub>轴的旋转角θ,β,η表示旋转矩阵r,具体表达式为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>r</mi><mo>=</mo><msub><mi>R</mi><mi>x</mi></msub><msub><mi>R</mi><mi>y</mi></msub><msub><mi>R</mi><mi>z</mi></msub><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><msub><mi>r</mi><mn>11</mn></msub></mtd><mtd><msub><mi>r</mi><mn>12</mn></msub></mtd><mtd><msub><mi>r</mi><mn>13</mn></msub></mtd></mtr><mtr><mtd><msub><mi>r</mi><mn>21</mn></msub></mtd><mtd><msub><mi>r</mi><mn>22</mn></msub></mtd><mtd><msub><mi>r</mi><mn>23</mn></msub></mtd></mtr><mtr><mtd><msub><mi>r</mi><mn>31</mn></msub></mtd><mtd><msub><mi>r</mi><mn>32</mn></msub></mtd><mtd><msub><mi>r</mi><mn>33</mn></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000752570530000013.GIF" wi="576" he="239" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>R</mi><mi>x</mi></msub><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mi>c</mi><mi>o</mi><mi>s</mi><mi>&theta;</mi></mrow></mtd><mtd><mrow><mi>s</mi><mi>i</mi><mi>n</mi><mi>&theta;</mi></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mo>-</mo><mi>sin</mi><mi>&theta;</mi></mrow></mtd><mtd><mrow><mi>cos</mi><mi>&theta;</mi></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000752570530000021.GIF" wi="513" he="234" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>R</mi><mi>y</mi></msub><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><mrow><mi>c</mi><mi>o</mi><mi>s</mi><mi>&beta;</mi></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mo>-</mo><mi>sin</mi><mi>&beta;</mi></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mi>s</mi><mi>i</mi><mi>n</mi><mi>&beta;</mi></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mrow><mi>cos</mi><mi>&beta;</mi></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000752570530000022.GIF" wi="506" he="236" /></maths><maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>R</mi><mi>z</mi></msub><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><mrow><mi>c</mi><mi>o</mi><mi>s</mi><mi>&eta;</mi></mrow></mtd><mtd><mrow><mi>s</mi><mi>i</mi><mi>n</mi><mi>&eta;</mi></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mi>s</mi><mi>i</mi><mi>n</mi><mi>&eta;</mi></mrow></mtd><mtd><mrow><mi>c</mi><mi>o</mi><mi>s</mi><mi>&eta;</mi></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000752570530000023.GIF" wi="511" he="234" /></maths><maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>r</mi><mo>=</mo><mfenced open = '[' close = ']'><mtable><mtr><mtd><mrow><mi>cos</mi><mi>&beta;</mi><mi>cos</mi><mi>&eta;</mi></mrow></mtd><mtd><mrow><mi>cos</mi><mi>&beta;</mi><mi>sin</mi><mi>&eta;</mi></mrow></mtd><mtd><mrow><mo>-</mo><mi>sin</mi><mi>&beta;</mi></mrow></mtd></mtr><mtr><mtd><mrow><mo>-</mo><mi>cos</mi><mi>&theta;</mi><mi>sin</mi><mi>&eta;</mi><mo>+</mo><mi>sin</mi><mi>&theta;</mi><mi>sin</mi><mi>&beta;</mi><mi>cos</mi><mi>&eta;</mi></mrow></mtd><mtd><mrow><mi>cos</mi><mi>&theta;</mi><mi>cos</mi><mi>&eta;</mi><mo>+</mo><mi>sin</mi><mi>&theta;</mi><mi>sin</mi><mi>&beta;</mi><mi>sin</mi><mi>&eta;</mi></mrow></mtd><mtd><mrow><mi>sin</mi><mi>&theta;</mi><mi>cos</mi><mi>&beta;</mi></mrow></mtd></mtr><mtr><mtd><mrow><mi>sin</mi><mi>&theta;</mi><mi>sin</mi><mi>&eta;</mi><mo>+</mo><mi>cos</mi><mi>&theta;</mi><mi>sin</mi><mi>&beta;</mi><mi>c</mi><mi>o</mi><mi>s</mi><mi>&eta;</mi></mrow></mtd><mtd><mrow><mo>-</mo><mi>sin</mi><mi>&theta;</mi><mi>cos</mi><mi>&eta;</mi><mo>+</mo><mi>cos</mi><mi>&theta;</mi><mi>sin</mi><mi>&beta;</mi><mi>sin</mi><mi>&eta;</mi></mrow></mtd><mtd><mrow><mi>cos</mi><mi>&theta;</mi><mi>cos</mi><mi>&beta;</mi></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000752570530000024.GIF" wi="1746" he="233" /></maths>式(8)求解的具体步骤为:S2.1将式(8)中的目标函数进行凸优化,约束条件进行线性化,得到式(10):<img file="FDA0000752570530000025.GIF" wi="1389" he="112" />其中▽I为雅克比矩阵,是一个三维张量,转换函数τ中各转换参数的增量是其中的元素,<img file="FDA0000752570530000026.GIF" wi="918" he="194" />在线性化过程中,由于是用线性问题近似表示局部非线性问题,因此,在求解该问题时,需要先求解各局部解的最优值,然后进行迭代以求得全局最优值,使用迭代凸优化算法对该问题进行求解,步骤如下:S2.2计算雅克比矩阵首先要对图像进行归一化处理,<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>I</mi><mrow><mo>(</mo><mrow><msub><mi>u</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>v</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow><mo>&LeftArrow;</mo><mfrac><mrow><mi>I</mi><mrow><mo>(</mo><mrow><msub><mi>u</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>v</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow><msub><mrow><mo>||</mo><mrow><mi>I</mi><mrow><mo>(</mo><mrow><msub><mi>u</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>v</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow><mo>||</mo></mrow><mi>F</mi></msub></mfrac><mo>,</mo><msub><mo>&dtri;</mo><mi>&tau;</mi></msub><mi>I</mi><mrow><mo>(</mo><mrow><msub><mi>u</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>v</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow><mo>&LeftArrow;</mo><mfrac><mo>&part;</mo><mrow><mo>&part;</mo><mi>&tau;</mi></mrow></mfrac><mrow><mo>(</mo><mfrac><mrow><mi>I</mi><mrow><mo>(</mo><mrow><msub><mi>u</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>v</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow><msub><mrow><mo>||</mo><mrow><mi>I</mi><mrow><mo>(</mo><mrow><msub><mi>u</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow><mo>,</mo><msub><mi>v</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><mo>(</mo><mi>&tau;</mi><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow><mo>||</mo></mrow><mi>F</mi></msub></mfrac><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA00007525705300000211.GIF" wi="1690" he="195" /></maths>S2.3利用交替方向迭代法求解下式:<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><mrow><mo>(</mo><mrow><msup><mi>I</mi><mn>0</mn></msup><mo>,</mo><mi>E</mi><mo>,</mo><mi>&Delta;</mi><mi>&tau;</mi></mrow><mo>)</mo></mrow><mo>=</mo><msub><mi>argmin</mi><mrow><msup><mi>I</mi><mn>0</mn></msup><mo>,</mo><mi>E</mi><mo>,</mo><mi>&Delta;</mi><mi>&tau;</mi></mrow></msub><msub><mi>L</mi><mi>&mu;</mi></msub><mrow><mo>(</mo><mrow><msup><mi>I</mi><mn>0</mn></msup><mo>,</mo><mi>E</mi><mo>,</mo><mi>&Delta;</mi><mi>&tau;</mi><mo>,</mo><mi>Y</mi></mrow><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000752570530000029.GIF" wi="885" he="92" /></maths>其中L<sub>μ</sub>(I<sup>0</sup>,E,Δτ,Y)=f(I,E)+<Y,<img file="FDA00007525705300000210.GIF" wi="657" he="125" />为增广拉格朗日方程,Y表示拉格朗日乘数矩阵,μ>0表示惩罚量,<.,.>表示矩阵的内积,f(I<sup>0</sup>,E)=||I<sup>0</sup>||<sub>*</sub>+λ||E||<sub>1</sub>表示目标方程,R(I<sup>0</sup>,E,Δτ)表示约束条件的函数式,R(I<sup>0</sup>,E,Δτ)=Iоτ+▽IΔτ‑I<sup>0</sup>‑E;具体求解步骤如下:S2.3.1初始化参数设置为:Y<sub>0</sub>=0,E<sub>0</sub>=0,Δτ<sub>0</sub>=0,μ<sub>0</sub>>0,ρ>1,k=0S2.3.2迭代循环,循环主要过程为使用交替方向法逐个求取各个变量的优化解:<img file="FDA0000752570530000031.GIF" wi="1016" he="90" /><maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msubsup><mi>I</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow><mn>0</mn></msubsup><mo>&LeftArrow;</mo><msub><mi>U</mi><mi>k</mi></msub><msub><mi>S</mi><msubsup><mi>&mu;</mi><mi>k</mi><mrow><mo>-</mo><mn>1</mn></mrow></msubsup></msub><mo>&lsqb;</mo><msub><mi>&Sigma;</mi><mi>k</mi></msub><mo>&rsqb;</mo><msubsup><mi>V</mi><mi>k</mi><mi>T</mi></msubsup></mrow>]]></math><img file="FDA0000752570530000032.GIF" wi="504" he="104" /></maths><img file="FDA0000752570530000033.GIF" wi="933" he="104" /><img file="FDA0000752570530000034.GIF" wi="859" he="78" /><img file="FDA0000752570530000035.GIF" wi="848" he="85" />μ<sub>k+1</sub>=ρμ<sub>k</sub>其中,▽I<sup>+</sup>是▽I的广义逆矩阵,S<sub>μ</sub>[·]代表一个参数为μ的收缩算子,其一般操作为S<sub>μ</sub>[x]=sign(x)·(|x|‑μ),μ表示收缩阈值的标量,为非负实数;判断目标函数值||Iоτ+▽IΔτ‑I<sup>0</sup>‑E||<sub>F</sub>是否收敛,若不收敛,则用循环求得的参数值重新初始化变量,然后再进入循环求最优值,若收敛,继续执行下一步;S2.3.3更新变换参数τ=τ+Δτ<sub>k+1</sub>,判断目标函数值<img file="FDA0000752570530000036.GIF" wi="361" he="120" />是否全局收敛,若不收敛,则返回S2.2继续执行,若收敛,继续执行下一步;S3输出低秩图像<img file="FDA0000752570530000037.GIF" wi="214" he="79" />τ,随机噪声的局部最优解E=E<sub>K+1</sub>作为最终解;根据τ的计算结果得到探测器的角度偏差θ,β,η;根据求得的探测器角度偏差的值θ,β,η调节探测器,由于旋转顺序为先绕Z<sub>W</sub>轴旋转,再绕Y轴旋转,最后绕X轴旋转,因此,再求得角度偏差后,将探测器先绕X轴旋转‑θ,再绕Y轴旋转‑β,最后绕Z<sub>W</sub>旋转‑η,此时探测器的角度偏差已经调节完毕。
地址 116024 辽宁省大连市甘井子区凌工路2号