发明名称 一种用于计算机图形图像处理的、基于GPU平台和形态学分量分析的快速图像分割方法
摘要 本发明公开了一种用于计算机图形图像处理的、基于GPU平台和形态学分量分析的快速图像分割方法。针对传统的图像分割技术运算效率低、分割效果不佳,提出一种基于GPU平台和形态学分量分析的快速图像分割方法,能有效的减少运算时间、显著的提高分解效果。其实现步骤如为:由于本发明充分的利用了GPU并行运算的优势,并且实现了形态学分量分析的算法,大大提高图像分割的效率,从而实现图像的快速分割。
申请公布号 CN104091305B 申请公布日期 2016.05.18
申请号 CN201410345953.1 申请日期 2014.08.11
申请人 詹曙;方琪 发明人 詹曙;方琪
分类号 G06T1/20(2006.01)I;G06T7/00(2006.01)I 主分类号 G06T1/20(2006.01)I
代理机构 代理人
主权项 一种用于计算机图形图像处理的、基于GPU平台和形态学分量分析的快速图像分割方法,其特征在于,包括如下步骤:步骤1.进行内存分配优化及初始化,将待分割的图像读入CPU内存中,并初始化字典矩阵,具体为:根据输入图像的分辨率大小统一分配CPU和GPU端内存并初始化,此后一直至程序运行结束前不再进行内存分配;并将待分解的图像读入CPU内存中,并初始化字典矩阵,使用局部余弦变换LDCT初始化图像纹理部分的字典D<sub>t</sub>,使用小波变换初始化图像结构部分的字典D<sub>n</sub>;步骤2.将图像数据和初始字典从CPU内存传送到GPU显存中,具体为:将待分割的图像数据f和初始字典D<sub>t</sub>、D<sub>n</sub>从CPU内存传送到GPU显存中;假定图像数据f中含有高斯白噪声n,且图像可以表示为f=u+v+n,其中u为图像的结构部分,v为图像的纹理部分;.步骤3.在GPU平台上固定图像的纹理部分v=v<sup>(k)</sup>、D<sub>t</sub>,分解出图像的结构部分u=u<sup>(k+2)</sup>;令<img file="FDA0000946798910000011.GIF" wi="915" he="94" />求解图像结构部分的子优化问题可描述为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><mo>(</mo><msup><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>,</mo><msub><mi>D</mi><mi>n</mi></msub><mo>,</mo><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>)</mo><mo>=</mo><munder><mrow><mi>arg</mi><mi>min</mi></mrow><mrow><mi>u</mi><mo>,</mo><msub><mi>D</mi><mi>n</mi></msub><mo>,</mo><msub><mi>&alpha;</mi><mi>i</mi></msub></mrow></munder><msub><mi>&lambda;</mi><mn>1</mn></msub><mo>|</mo><mo>|</mo><mo>(</mo><mi>f</mi><mo>-</mo><msup><mi>v</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msup><mo>)</mo><mo>-</mo><mi>u</mi><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><munder><mo>&Sigma;</mo><mi>i</mi></munder><mo>|</mo><mo>|</mo><msub><mi>U</mi><mi>i</mi></msub><mi>u</mi><mo>-</mo><msub><mi>D</mi><mi>n</mi></msub><msub><mi>&alpha;</mi><mi>i</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><munder><mo>&Sigma;</mo><mi>i</mi></munder><msub><mi>u</mi><mi>i</mi></msub><mo>|</mo><msub><mi>&alpha;</mi><mi>i</mi></msub><msub><mo>|</mo><mn>0</mn></msub></mrow></mtd></mtr><mtr><mtd><mrow><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo><msubsup><mi>d</mi><mi>l</mi><mi>T</mi></msubsup><msub><mi>d</mi><mi>l</mi></msub><mo>=</mo><mn>1</mn><mo>,</mo><mi>l</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>...</mn><mo>,</mo><msub><mi>k</mi><mn>1</mn></msub></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000946798910000012.GIF" wi="1862" he="215" /></maths>由上述过程得到一个表示结构部分的字典D<sub>n</sub>,并对初始结构图像u<sup>(k)</sup>=f‑v<sup>(k)</sup>做去噪处理,因此得到一个去噪版本的结构图像u<sup>(k+1)</sup>,接下来将结构图像中剩余的纹理成分分离出去,从而得到分离出纹理成分的结构图像u<sup>(k+2)</sup>;子优化问题可描述为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msup><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>2</mn><mo>)</mo></mrow></msup><mo>=</mo><munder><mrow><mi>arg</mi><mi>min</mi></mrow><mi>u</mi></munder><mrow><mo>(</mo><msub><mi>&lambda;</mi><mn>2</mn></msub><mo>|</mo><mo>&dtri;</mo><mi>u</mi><msub><mo>|</mo><mn>1</mn></msub><mo>+</mo><msub><mi>&lambda;</mi><mn>3</mn></msub><mo>|</mo><mo>|</mo><mi>v</mi><mo>|</mo><msub><msup><mo>|</mo><mn>2</mn></msup><msup><mi>H</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup></msub><mo>)</mo></mrow><mo>,</mo><mi>s</mi><mo>.</mo><mi>t</mi><mo>,</mo><mi>v</mi><mo>=</mo><msup><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>-</mo><mi>u</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000946798910000013.GIF" wi="1854" he="119" /></maths>步骤4.在GPU平台上固定图像的结构部分u=u<sup>(k+2)</sup>、D<sub>n</sub>,分解出图像的纹理部分v=v<sup>(k+2)</sup>;这一步骤的子优化问题可描述为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><mo>(</mo><msup><mi>v</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>,</mo><msub><mi>D</mi><mi>t</mi></msub><mo>,</mo><msub><mi>&beta;</mi><mi>i</mi></msub><mo>)</mo><mo>=</mo><munder><mrow><mi>arg</mi><mi>min</mi></mrow><mrow><mi>v</mi><mo>,</mo><msub><mi>D</mi><mi>t</mi></msub><mo>,</mo><msub><mi>&beta;</mi><mi>i</mi></msub></mrow></munder><msub><mi>&lambda;</mi><mn>1</mn></msub><mo>|</mo><mo>|</mo><mo>(</mo><mi>f</mi><mo>-</mo><msup><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>2</mn><mo>)</mo></mrow></msup><mo>)</mo><mo>-</mo><mi>v</mi><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><munder><mo>&Sigma;</mo><mi>i</mi></munder><mo>|</mo><mo>|</mo><msub><mi>V</mi><mi>i</mi></msub><mi>v</mi><mo>-</mo><msub><mi>D</mi><mi>t</mi></msub><msub><mi>&beta;</mi><mi>i</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><munder><mo>&Sigma;</mo><mi>i</mi></munder><msub><mi>&eta;</mi><mi>i</mi></msub><mo>|</mo><msub><mi>&beta;</mi><mi>i</mi></msub><msub><mo>|</mo><mn>0</mn></msub><mo>,</mo></mrow></mtd></mtr><mtr><mtd><mrow><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo><msubsup><mi>s</mi><mi>m</mi><mi>T</mi></msubsup><msub><mi>s</mi><mi>m</mi></msub><mo>=</mo><mn>1</mn><mo>,</mo><mi>m</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>...</mn><mo>,</mo><msub><mi>k</mi><mn>2</mn></msub></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000946798910000014.GIF" wi="1882" he="215" /></maths>该子优化问题与公式(1)一致,求解时分为纹理字典学习和纹理字典的重建;接下来是将纹理图像中剩余的结构成分分离出去,从而引导下一次结构字典的学习,同时得到分割后纹理图像v=v<sup>(k+2)</sup>;求解图像纹理部分的优化问题可描述为:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msup><mi>v</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>2</mn><mo>)</mo></mrow></msup><mo>=</mo><munder><mrow><mi>arg</mi><mi>min</mi></mrow><mi>v</mi></munder><mrow><mo>(</mo><msub><mi>&lambda;</mi><mn>2</mn></msub><mo>|</mo><mo>&dtri;</mo><mi>u</mi><msub><mo>|</mo><mn>1</mn></msub><mo>+</mo><msub><mi>&lambda;</mi><mn>3</mn></msub><mo>|</mo><mo>|</mo><mi>v</mi><mo>|</mo><msub><msup><mo>|</mo><mn>2</mn></msup><msup><mi>H</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup></msub><mo>)</mo></mrow><mo>,</mo><mi>s</mi><mo>.</mo><mi>t</mi><mo>,</mo><mi>u</mi><mo>=</mo><msup><mi>v</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>-</mo><mi>v</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000946798910000015.GIF" wi="1893" he="118" /></maths>步骤5.返回至步骤3,重复迭代3、4两步骤至K次后,得到分割后的图像结构部分u和图像纹理部分v;步骤6.将分割后的结构图像u和纹理图像v从GPU的显存中传送回CPU的内存中,并显示分割后的结构图像和纹理图像,同时释放出预先设定的内存。
地址 230009 安徽省合肥市包河区屯溪路193号合肥工业大学计算机与信息学院