发明名称 利用梯度局部熵检测数字图像内容可信度的方法
摘要 本发明公开了一种利用梯度局部熵检测数字图像内容可信度的方法,对RGB彩色图像的三个通道分别使用边缘检测算子进行卷积得到颜色向量(R,G,B)的导数,对图像中每一像素点(x,y)分别计算g<sub>xx</sub>,g<sub>yy</sub>,g<sub>xy</sub>,对图像中每一像素点分别计算梯度方向角θ和梯度幅值F<sub>θ</sub>,将梯度幅值图像F<sub>θ</sub>作为边缘图像,定义局部信息熵,并对梯度图像求取局部信息熵,将局部熵图像和梯度图像结合起来定位羽化痕迹,对图像可信度进行评价。本发明克服了以前算法检测结果较为武断的不足,具有较大的实用性。
申请公布号 CN101493937A 申请公布日期 2009.07.29
申请号 CN200910021314.9 申请日期 2009.02.27
申请人 西北工业大学 发明人 郑江滨;李哲
分类号 G06T7/00(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 西北工业大学专利中心 代理人 顾潮琪
主权项 1、利用梯度局部熵检测数字图像内容可信度的方法,其特征在于包括下述步骤:第一步,利用向量梯度来求取彩色图像的梯度幅值图像,具体过程如下:a.将图像中每个像素点的值除以255,使像素值的取值范围转化到区间[0,1]内;b.对RGB彩色图像的三个通道分别使用边缘检测算子进行卷积,得到颜色向量(R,G,B)的导数<maths num="0001"><![CDATA[<math><mrow><mfrac><mrow><mo>&PartialD;</mo><mi>R</mi></mrow><mrow><mo>&PartialD;</mo><mi>x</mi></mrow></mfrac><mo>,</mo><mfrac><mrow><mo>&PartialD;</mo><mi>R</mi></mrow><mrow><mo>&PartialD;</mo><mi>y</mi></mrow></mfrac><mo>,</mo><mfrac><mrow><mo>&PartialD;</mo><mi>G</mi></mrow><mrow><mo>&PartialD;</mo><mi>x</mi></mrow></mfrac><mo>,</mo><mfrac><mrow><mo>&PartialD;</mo><mi>G</mi></mrow><mrow><mo>&PartialD;</mo><mi>y</mi></mrow></mfrac><mo>,</mo><mfrac><mrow><mo>&PartialD;</mo><mi>B</mi></mrow><mrow><mo>&PartialD;</mo><mi>x</mi></mrow></mfrac><mo>,</mo><mfrac><mrow><mo>&PartialD;</mo><mi>B</mi></mrow><mrow><mo>&PartialD;</mo><mi>y</mi></mrow></mfrac><mo>;</mo></mrow></math>]]></maths>c.对图像中每一像素点(x,y)分别计算<maths num="0002"><![CDATA[<math><mrow><msub><mi>g</mi><mi>xx</mi></msub><mo>=</mo><msup><mrow><mo>|</mo><mfrac><mrow><mo>&PartialD;</mo><mi>R</mi></mrow><mrow><mo>&PartialD;</mo><mi>x</mi></mrow></mfrac><mo>|</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>|</mo><mfrac><mrow><mo>&PartialD;</mo><mi>G</mi></mrow><mrow><mo>&PartialD;</mo><mi>x</mi></mrow></mfrac><mo>|</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>|</mo><mfrac><mrow><mo>&PartialD;</mo><mi>B</mi></mrow><mrow><mo>&PartialD;</mo><mi>x</mi></mrow></mfrac><mo>|</mo></mrow><mn>2</mn></msup><mo>,</mo></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msub><mi>g</mi><mi>yy</mi></msub><mo>=</mo><msup><mrow><mo>|</mo><mfrac><mrow><mo>&PartialD;</mo><mi>R</mi></mrow><mrow><mo>&PartialD;</mo><mi>y</mi></mrow></mfrac><mo>|</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>|</mo><mfrac><mrow><mo>&PartialD;</mo><mi>G</mi></mrow><mrow><mo>&PartialD;</mo><mi>y</mi></mrow></mfrac><mo>|</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>|</mo><mfrac><mrow><mo>&PartialD;</mo><mi>B</mi></mrow><mrow><mo>&PartialD;</mo><mi>y</mi></mrow></mfrac><mo>|</mo></mrow><mn>2</mn></msup><mo>,</mo></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><msub><mi>g</mi><mi>xy</mi></msub><mo>=</mo><mfrac><mrow><mo>&PartialD;</mo><mi>R</mi></mrow><mrow><mo>&PartialD;</mo><mi>x</mi></mrow></mfrac><mfrac><mrow><mo>&PartialD;</mo><mi>R</mi></mrow><mrow><mo>&PartialD;</mo><mi>y</mi></mrow></mfrac><mo>+</mo><mfrac><mrow><mo>&PartialD;</mo><mi>G</mi></mrow><mrow><mo>&PartialD;</mo><mi>x</mi></mrow></mfrac><mfrac><mrow><mo>&PartialD;</mo><mi>G</mi></mrow><mrow><mo>&PartialD;</mo><mi>y</mi></mrow></mfrac><mo>+</mo><mfrac><mrow><mo>&PartialD;</mo><mi>B</mi></mrow><mrow><mo>&PartialD;</mo><mi>x</mi></mrow></mfrac><mfrac><mrow><mo>&PartialD;</mo><mi>B</mi></mrow><mrow><mo>&PartialD;</mo><mi>y</mi></mrow></mfrac><mo>;</mo></mrow></math>]]></maths>d.对图像中每一像素点(x,y)分别计算梯度方向角<maths num="0005"><![CDATA[<math><mrow><mi>&theta;</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>arctan</mi><mo>[</mo><mfrac><msub><mrow><mn>2</mn><mi>g</mi></mrow><mi>xy</mi></msub><mrow><msub><mi>g</mi><mi>xx</mi></msub><mo>-</mo><msub><mi>g</mi><mi>yy</mi></msub></mrow></mfrac><mo>]</mo></mrow></math>]]></maths>和梯度幅值<maths num="0006"><![CDATA[<math><mrow><msub><mi>F</mi><mi>&theta;</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><msqrt><mn>1</mn><mo>/</mo><mn>2</mn><mo>[</mo><mrow><mo>(</mo><msub><mi>g</mi><mi>xx</mi></msub><mo>+</mo><msub><mi>g</mi><mi>yy</mi></msub><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><msub><mi>g</mi><mi>xx</mi></msub><mo>-</mo><msub><mi>g</mi><mi>yy</mi></msub><mo>)</mo></mrow><mi>cos</mi><mn>2</mn><mi>&theta;</mi><mo>+</mo><mn>2</mn><msub><mi>g</mi><mi>xy</mi></msub><mi>sin</mi><mn>2</mn><mi>&theta;</mi><mo>]</mo></msqrt><mo>,</mo></mrow></math>]]></maths>将梯度幅值图像F<sub>θ</sub>作为边缘图像;e.将边缘图像中各像素值乘以255并取整,得到取值范围为[0,255]区间的灰度图像;第二步,定义局部信息熵,并对梯度图像求取局部信息熵,步骤如下:a.对梯度图像中的像素(x,y),以(x,y)为中心,定义大小为m×n的区域<maths num="0007"><![CDATA[<math><mrow><mi>&psi;</mi><mo>=</mo><mo>{</mo><mrow><mo>(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>,</mo><msub><mi>y</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>|</mo><mi>x</mi><mo>-</mo><mfrac><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow><mn>2</mn></mfrac><mo>&le;</mo><msub><mi>x</mi><mn>1</mn></msub><mo>&le;</mo><mi>x</mi><mo>+</mo><mfrac><mrow><mi>m</mi><mo>-</mo><mn>1</mn></mrow><mn>2</mn></mfrac><mo>,</mo><mi>y</mi><mo>-</mo><mfrac><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mn>2</mn></mfrac><mo>&le;</mo><msub><mi>y</mi><mn>1</mn></msub><mo>&le;</mo><mi>y</mi><mo>+</mo><mfrac><mrow><mi>n</mi><mo>-</mo><mn>1</mn></mrow><mn>2</mn></mfrac><mo>}</mo><mo>,</mo><mn>3</mn><mo>&le;</mo><mi>m</mi><mo>,</mo><mi>n</mi><mo>&le;</mo><mn>7</mn><mo>;</mo></mrow></math>]]></maths>b.利用公式<maths num="0008"><![CDATA[<math><mrow><mi>H</mi><mrow><mo>(</mo><mi>&psi;</mi><mo>)</mo></mrow><mo>=</mo><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>L</mi><mo>-</mo><mn>1</mn></mrow></munderover><msub><mi>p</mi><mi>j</mi></msub><mi>log</mi><msub><mi>p</mi><mi>j</mi></msub></mrow></math>]]></maths>和<maths num="0009"><![CDATA[<math><mrow><msub><mi>p</mi><mi>j</mi></msub><mo>=</mo><mfrac><msub><mi>n</mi><mi>j</mi></msub><mrow><mi>M</mi><mo>&times;</mo><mi>N</mi></mrow></mfrac></mrow></math>]]></maths>对区域ψ求取局部信息熵,作为像素点(x,y)的输出;其中,p<sub>j</sub>表示灰度值j在区域ψ中出现的概率,n<sub>j</sub>为区域ψ中具有灰度值j的像素总数,L表示该图像中所有灰度级的个数,H(ψ)表示区域ψ的局部信息熵;c.遍历梯度图像中每个像素点,执行步骤a和b,得到局部熵图像;第三步,将局部熵图像和梯度图像结合起来定位羽化痕迹,对图像可信度进行评价,具体步骤如下:设图像中(x,y)处的像素点为q,对应的梯度图像中灰度值为G<sub>q</sub>,对应的局部熵图像中的灰度值为E<sub>q</sub>,如下选择阈值T<sub>1</sub>,T<sub>2</sub>,ε,标记q为可疑点或伪造点,其中M×N为图像大小,<img file="A2009100213140003C1.GIF" wi="774" he="134" /><maths num="0010"><![CDATA[<math><mrow><msub><mi>T</mi><mn>1</mn></msub><mo>=</mo><mfrac><mn>1</mn><mrow><mi>M</mi><mo>&times;</mo><mi>N</mi></mrow></mfrac><mi>&Sigma;</mi><msub><mi>G</mi><mi>q</mi></msub></mrow></math>]]></maths><maths num="0011"><![CDATA[<math><mrow><msub><mi>T</mi><mn>2</mn></msub><mo>=</mo><mfrac><mn>1</mn><mrow><mi>M</mi><mo>&times;</mo><mi>N</mi></mrow></mfrac><mi>&Sigma;</mi><msub><mi>E</mi><mi>q</mi></msub></mrow></math>]]></maths><maths num="0012"><![CDATA[<math><mrow><mi>&epsiv;</mi><mo>=</mo><mfrac><msub><mi>T</mi><mn>2</mn></msub><mi>&alpha;</mi></mfrac><mo>,</mo><mrow><mo>(</mo><mn>3</mn><mo>&le;</mo><mi>&alpha;</mi><mo>&le;</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>]]></maths>遍历图像中每一像素,找出所有的可疑点和伪造点,记录可疑点个数为num<sub>1</sub>,伪造点个数为num<sub>2</sub>,则图像的可信度<maths num="0013"><![CDATA[<math><mrow><mi>credibility</mi><mo>=</mo><mn>1</mn><mo>-</mo><mfrac><msub><mi>num</mi><mn>2</mn></msub><msub><mi>num</mi><mn>1</mn></msub></mfrac><mo>;</mo></mrow></math>]]></maths>对图像中所有的伪造点和非伪造点赋予不同灰度值,得到一幅二值图像,利用形态学运算对伪造点进行处理,如果最终可以得到一个封闭或者连通区域,则认为该区域为伪造区域。
地址 710072陕西省西安市友谊西路127号