主权项 |
1.一种基于亮度自适应水平集的极光卵分割方法,包括如下步骤:(1)输入一幅紫外极光图像I,运用形态学成分分析的方法将紫外极光图像I分解为极光形态学子层I<sub>A</sub>和噪声形态学子层I<sub>N</sub>,去掉噪声形态学子层I<sub>N</sub>,将极光形态学子层I<sub>A</sub>输出,得到预处理后的图像I<sub>P</sub>;(2)根据磁地方时将预处理后的图像I<sub>P</sub>分为24个子区域,对每个子区域进行基于最小平方误差准则的阈值选取,根据每个子区域不同的阈值对预处理后的图像I<sub>P</sub>进行二值化操作,得到二值化后的图像I<sub>B</sub>;(3)将二值化后的图像I<sub>B</sub>通过一组结构元素逐渐变大的复合形态学滤波器F,进行噪声点去除,得到滤波后的图像I<sub>F</sub>;(4)寻找滤波后的图像I<sub>F</sub>中的最大连通域,找出最大连通域外边界曲线围成的图像区域,计算该图像区域内值为0的像素点个数N,设定经验阈值T<sub>A</sub>=1200,判断紫外极光图像的类型,若N大于等于T<sub>A</sub>,则该图像属于完整型椭圆极光卵图像,若N小于T<sub>A</sub>,则属于缺口状椭圆极光卵图像;(5)根据紫外极光图像类型计算其形态学显著性图SMM,若图像属于完整型椭圆极光卵图像,则对滤波后的图像I<sub>F</sub>进行椭圆拟合,得到椭圆拟合后的图像I<sub>E</sub>,若图像属于缺口状椭圆极光卵图像,则对滤波后的图像I<sub>F</sub>不做处理,即:<img file="FDA00002254188600011.GIF" wi="832" he="139" />(6)将紫外极光图像的形态学显著性图SMM的边界<img file="FDA00002254188600012.GIF" wi="139" he="39" />作为水平集演化的初始曲线,初始化水平集函数:<maths num="0001"><![CDATA[<math><mrow><msup><mi>φ</mi><mn>0</mn></msup><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>d</mi></mtd><mtd><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>∈</mo><mi>SMM</mi><mo>-</mo><mo>∂</mo><mi>SMM</mi></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>∈</mo><mo>∂</mo><mi>SMM</mi></mtd></mtr><mtr><mtd><mo>-</mo><mi>d</mi></mtd><mtd><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>∈</mo><mi>Ω</mi><mo>-</mo><mi>SMM</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>其中,φ<sup>0</sup>为水平集函数的初始值,d为正的常数,Ω表示整个紫外极光图像区域,(x,y)表示紫外极光图像中第x行第y列的像素点,若该像素点属于形态学显著性图SMM以内的区域,则给φ<sup>0</sup>赋值为d,若该像素点在SMM的边界<img file="FDA00002254188600014.GIF" wi="139" he="39" />上,则给φ<sup>0</sup>赋值为0,若该像素点属于SMM以外的区域,则给φ<sup>0</sup>赋值为-d;(7)计算像素点(x,y)及其八邻域的平均灰度值,将其归一化到[0,1]区间作为归一化的局部灰度平均值I<sub>l</sub>(x,y),计算亮度自适应的水平集演化速度v(x,y)和停止函数g(x,y):<maths num="0002"><![CDATA[<math><mrow><mi>v</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mi>q</mi><mfrac><mn>1</mn><mrow><mn>1</mn><mo>+</mo><mi>exp</mi><mrow><mo>(</mo><mo>-</mo><mi>p</mi><mrow><mo>(</mo><msub><mi>I</mi><mi>l</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>-</mo><mn>0.5</mn><mo>)</mo></mrow><mo>)</mo></mrow></mrow></mfrac><mo>,</mo></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><mi>g</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>+</mo><msub><mi>I</mi><mi>l</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><msup><mrow><mo>|</mo><mo>▿</mo><msub><mi>G</mi><mi>λ</mi></msub><mo>*</mo><msub><mi>I</mi><mi>A</mi></msub><mo>|</mo></mrow><mi>m</mi></msup></mrow></mfrac><mo>,</mo></mrow></math>]]></maths>其中,q为控制演化速度大小的常数,p为控制演化速度随I<sub>l</sub>(x,y)非线性变化程度的常数,G<sub>λ</sub>为标准差为λ的高斯核,*表示卷积运算,<img file="FDA00002254188600023.GIF" wi="34" he="37" />表示梯度运算,||表示取模运算,m为常数;(8)设置水平集函数更新停止条件的阈值ε=0.01,根据亮度自适应的水平集演化方程更新水平集函数:(8a)输入t时刻的水平集函数φ<sup>t</sup>,根据亮度自适应的水平集演化方程,计算水平集函数的变化值<img file="FDA00002254188600024.GIF" wi="147" he="54" /><maths num="0004"><![CDATA[<math><mrow><mfrac><mrow><mo>∂</mo><mi>φ</mi></mrow><mrow><mo>∂</mo><mi>t</mi></mrow></mfrac><mo>=</mo><mi>u</mi><mo>[</mo><mi>Δφ</mi><mo>-</mo><mi>div</mi><mrow><mo>(</mo><mfrac><mrow><mo>▿</mo><mi>φ</mi></mrow><mrow><mo>|</mo><mo>▿</mo><mi>φ</mi><mo>|</mo></mrow></mfrac><mo>)</mo></mrow><mo>]</mo><mo>+</mo><mi>βδ</mi><mrow><mo>(</mo><mi>φ</mi><mo>)</mo></mrow><mi>div</mi><mrow><mo>(</mo><mi>g</mi><mfrac><mrow><mo>▿</mo><mi>φ</mi></mrow><mrow><mo>|</mo><mo>▿</mo><mi>φ</mi><mo>|</mo></mrow></mfrac><mo>)</mo></mrow><mo>+</mo><mi>δ</mi><mrow><mo>(</mo><mi>φ</mi><mo>)</mo></mrow><mi>vg</mi><mo>,</mo></mrow></math>]]></maths>其中,φ为水平集函数,<img file="FDA00002254188600026.GIF" wi="123" he="54" />表示水平集函数随时间的变化值,u和β为控制水平集演化曲线的形状如何变化的常数,Δ为拉普拉斯算子,div表示散度运算,δ(·)为单变量脉冲函数(Dirac函数),v和g分别为亮度自适应的水平集演化速度和停止函数;(8b)计算更新后的水平集函数φ<sup>t+1</sup>:<maths num="0005"><![CDATA[<math><mrow><msup><mi>φ</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>=</mo><msup><mi>φ</mi><mi>t</mi></msup><mo>+</mo><mi>Δt</mi><mfrac><mrow><mo>∂</mo><mi>φ</mi></mrow><mrow><mo>∂</mo><mi>t</mi></mrow></mfrac><mo>,</mo></mrow></math>]]></maths>其中,Δt为时间步长;(8c)判断水平集函数更新前后的数值差异是否满足水平集函数更新的停止条件:|φ<sup>t+1</sup>-φ<sup>t</sup>|≤ε,若满足,则停止水平集函数的更新,输出水平集函数,若不满足,则继续进行水平集函数的更新;(9)提取更新完成后的水平集函数中值为0的像素点,将其作为极光卵区域的边界,输出极光卵区域。 |