发明名称 隐写分析系统中基于主元特征的隐写分析方法
摘要 本发明公开了一种隐写分析系统中基于主元特征的隐写分析算法。该算法捕捉图像中因嵌入信息导致的细微变化,可克服传统算法误检率较高的问题,能有效地应用于隐写分析系统中。本发明将微分运算引入图像隐写分析,计算信道内相邻像素之间,以及信道之间像素亮度的共生矩阵,并将共生矩阵的应用扩展到高阶微分和梯度,以描述信道内数据与空间位置相关的特性;计算这些统计量的“微分特征函数”的一阶和二阶统计矩,从一幅图像得到136维特征并使用“主元分析法”降为18维,最后采用支持向量机为分类方法构造隐写分析算法。本发明算法的特点是,算法性能的稳健性好,误检率低、检测率高;算法复杂性低、计算开销小。
申请公布号 CN100580700C 申请公布日期 2010.01.13
申请号 CN200710067781.6 申请日期 2007.03.26
申请人 浙江大学 发明人 刘祖根;平玲娣;潘雪增;史烈;陈健
分类号 G06T1/00(2006.01)I;G06T5/40(2006.01)I 主分类号 G06T1/00(2006.01)I
代理机构 杭州求是专利事务所有限公司 代理人 张法高
主权项 1.一种隐写分析系统中基于主元特征的隐写分析方法,其特征在于,包括如下步骤:1)将高阶微分运算引入隐写分析领域微分运算具有放大“微小变化”的作用,使用高阶微分捕捉图像中的突变点和因为嵌入隐藏信息而导致的不自然变化;2)计算所有像素亮度、一阶全微分和二阶全微分分布状态的直方图计算图像中每个像素位置对应的一阶全微分和二阶全微分;一阶全微分定义为当前位置像素的右方和下方两个像素的颜色值和同当前位置像素颜色值的2倍之差;二阶全微分定义为当前位置像素的右方和下方两个像素的一阶全微分和同当前位置像素一阶全微分的2倍之差;将所有的像素亮度按照数字大小统计不同像素的颜色值的个数,就得到像素亮度的直方图:<img file="C2007100677810002C1.GIF" wi="987" he="149" />公式(1)用于计算三个信道α∈{r,g,b}中亮度v∈[0,255]的频度;其中,r,g,b∈[0,255],<img file="C2007100677810002C2.GIF" wi="219" he="63" />的一般形式是<img file="C2007100677810002C3.GIF" wi="164" he="59" />s=t时,<img file="C2007100677810002C4.GIF" wi="196" he="55" />否则<img file="C2007100677810002C5.GIF" wi="239" he="56" />所有亮度的频度组成像素亮度的直方图;依据与像素亮度直方图相同的原理得到一阶全微分和二阶全微分的直方图;计算一阶全微分直方图时,将b<sub>α</sub>(i,j)改为d<sub>a</sub><sup>1</sup>(i,j),并相应地改变i和j的取值范围;计算二阶全微分直方图时,将b<sub>α</sub>(i,j)改为d<sub>a</sub><sup>2</sup>(i,j),并相应地改变i和j的取值范围;3)计算高阶偏微分的直方图计算图像中每个像素位置对应的高阶偏微分;高阶偏微分对应一阶、二阶和三阶偏微分;一阶偏微分定义为当前位置像素的右方像素颜色值同当前位置像素颜色值之差,或者其下方像素的颜色值同当前位置像素颜色值之差;将所有像素位置的一阶偏微分按照数字大小统计不同像素位置处的一阶偏微分的个数,就得到一阶偏微分的直方图:<img file="C2007100677810002C6.GIF" wi="1577" he="172" />公式(2)用于计算颜色信道α内一阶偏微分v的频度,用b<sub>α</sub>(i,j)表示彩色BMP图像中颜色信道α内位置第i行、第j列处的亮度,则该处的一阶偏微分定义为<maths num="0001"><![CDATA[<math><mrow><msubsup><mi>p</mi><mi>&alpha;</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mi>C</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>b</mi><mi>&alpha;</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><msub><mi>b</mi><mi>&alpha;</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></math>]]></maths>和<maths num="0002"><![CDATA[<math><mrow><msubsup><mi>p</mi><mi>&alpha;</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mi>R</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>b</mi><mi>&alpha;</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>b</mi><mi>&alpha;</mi></msub><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>所有频度组成一阶偏微分的直方图;依据计算一阶偏微分的原理计算二阶偏微分和三阶偏微分直方图;二阶偏微分定义为当前像素位置的右方像素的一阶全微分同当前像素位置的一阶全微分之差,或者其下方像素的一阶全微分同当前像素位置的一阶全微分之差;4)计算相邻像素位置6个高阶偏微分对象的共生矩阵统计“行”方向上位置相邻的两个像素处高阶微分的数值同时出现的个数;所有成对一阶偏微分的个数组成一阶偏微分的共生矩阵;依据计算一阶偏微分共生矩阵的原理,计算得到其他高阶偏微分对象的共生矩阵;5)计算两个颜色信道之间的高阶偏微分共生矩阵彩色RGB图像有三个颜色信道,计算出每个颜色信道中所有像素位置的高阶偏微分后,统计两个不同信道中相同坐标位置处一阶偏微分同时出现的个数,就得到一阶偏微分共生矩阵;依据计算信道之间一阶偏微分共生矩阵的原理,计算得到其他的偏微分共生矩阵;6)计算梯度共生矩阵为将r、g和b三个颜色信道的亮度综合考虑,引入了梯度的概念;梯度在图像处理中是一种基于一阶偏微分的图像增强技术;简单地说,一个像素位置处的梯度是三个颜色信道中该像素位置处一阶偏微分的绝对值和;梯度被分为“行”方向的“行梯度”和“列”方向的“列梯度”;统计位置相邻的两个梯度值同时出现的状态,就得到梯度共生矩阵;7)使用直方图特征函数计算如上统计量的统计矩作为初始特征对一个直方图做一维离散傅里叶变换并求其幅值,得到其“微分特征函数”,使用统计矩公式计算得到该直方图对应的1个特征;对一个共生矩阵做二维离散傅里叶变换并求其幅值,得到其“微分特征函数”,使用统计矩公式计算得到该共生矩阵对应的2个特征;对所有统计量按如上方式计算,由1幅彩色图像得到初始的136维特征向量;8)使用主元分析法将初始的136维特征向量降维为最终的18维特征向量的方法使用“主元分析法”降维,将每幅图像看作1“行”,一幅图像对应的136维特征看作136“列”得到1个矩阵;使用线性代数中求特征值和特征向量的方法,选取最大的几个特征值及其对应的特征向量,并将其他特征值对应的特征向量置为0得到降维特征向量;使用18维“降维特征向量”将“原始特征向量”降维得到最终的18维的特征向量;所述的微分运算具有放大“微小变化”的作用,使用高阶微分捕捉图像中的突变点和因为嵌入隐藏信息而导致的不自然变化:此处的一阶全微分和二阶全微分分别定义为公式(3)和(4):<maths num="0003"><![CDATA[<math><mrow><msubsup><mi>d</mi><mi>&alpha;</mi><mn>1</mn></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>p</mi><mi>&alpha;</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mi>C</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>+</mo><msubsup><mi>p</mi><mi>&alpha;</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mi>R</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><msubsup><mi>d</mi><mi>&alpha;</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>p</mi><mi>&alpha;</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mi>C</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>+</mo><msubsup><mi>p</mi><mi>&alpha;</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mi>R</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><msubsup><mi>p</mi><mi>&alpha;</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mi>C</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><msubsup><mi>p</mi><mi>&alpha;</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mi>R</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow></math>]]></maths>于是得到“列”与“行”两个方向的二阶与三阶偏微分分别定义如公式(5)~(8)所示:<maths num="0005"><![CDATA[<math><mrow><msubsup><mi>p</mi><mi>&alpha;</mi><mrow><mo>(</mo><mn>2</mn><mo>,</mo><mi>C</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>d</mi><mi>&alpha;</mi><mn>1</mn></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><msubsup><mi>d</mi><mi>&alpha;</mi><mn>1</mn></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0006"><![CDATA[<math><mrow><msubsup><mi>p</mi><mi>&alpha;</mi><mrow><mo>(</mo><mn>2</mn><mo>,</mo><mi>R</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>d</mi><mi>&alpha;</mi><mn>1</mn></msubsup><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><msubsup><mi>d</mi><mi>&alpha;</mi><mn>1</mn></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0007"><![CDATA[<math><mrow><msubsup><mi>p</mi><mi>&alpha;</mi><mrow><mo>(</mo><mn>3</mn><mo>,</mo><mi>C</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>d</mi><mi>&alpha;</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><msubsup><mi>d</mi><mi>&alpha;</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0008"><![CDATA[<math><mrow><msubsup><mi>p</mi><mi>&alpha;</mi><mrow><mo>(</mo><mn>3</mn><mo>,</mo><mi>R</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><msubsup><mi>d</mi><mi>&alpha;</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>i</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><msubsup><mi>d</mi><mi>&alpha;</mi><mn>2</mn></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow></math>]]></maths>为将r、g和b三个颜色信道的亮度综合考虑,引入了梯度的概念;梯度在图像处理中是一种基于一阶偏微分的图像增强技术;RGB彩色图像的梯度G<sup>C</sup>(i,j)和G<sup>R</sup>(i,j)分别是r、g和b三个颜色信道中“列”方向和“行”方向的一阶偏微分的绝对值和,它们能将隐藏信息对三个颜色信道同一位置处的改变累加起来,反映了对彩色图像的整体改变;<maths num="0009"><![CDATA[<math><mrow><msup><mi>G</mi><mi>C</mi></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mo>|</mo><msubsup><mi>p</mi><mi>r</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mi>C</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo><mo>+</mo><mo>|</mo><msubsup><mi>p</mi><mi>g</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mi>C</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo><mo>+</mo><mo>|</mo><msubsup><mi>p</mi><mi>b</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mi>C</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0010"><![CDATA[<math><mrow><msup><mi>G</mi><mi>R</mi></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mo>|</mo><msubsup><mi>p</mi><mi>r</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mi>R</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo><mo>+</mo><mo>|</mo><msubsup><mi>p</mi><mi>g</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mi>R</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo><mo>+</mo><mo>|</mo><msubsup><mi>p</mi><mi>b</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mi>R</mi><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>|</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow><mo>;</mo></mrow></math>]]></maths>所述的相邻像素位置6个高阶偏微分对象的共生矩阵为:<img file="C2007100677810004C9.GIF" wi="1099" he="142" />公式(11)计算两个在“列”方向上相邻的像素亮度同时出现的“频度”,所有这样的频度组成像素亮度的“共生矩阵”;依据计算“列”方向上两个相邻像素亮度的共生矩阵的原理,得到其它5个共生矩阵公式;依据该原理,计算得到“行”方向上相邻两像素位置处的上述6个对象的“共生矩阵”。所述的两个颜色信道之间的像素亮度共生矩阵为:<img file="C2007100677810005C1.GIF" wi="1045" he="146" />式中,αβ∈{rg,gb,br},对应两个颜色信道;公式(12)用于计算α和β两个颜色信道中同一像素位置即图像中第i行、第j列处两个亮度值s和t同时出现的频度,所有频度组成“亮度”共生矩阵;依据与计算两个颜色信道间亮度共生矩阵相同的原理,得到一阶全微分、二阶全微分以及“列”和“行”两个方向的一阶偏微分这四个对象的共生矩阵公式。
地址 310027浙江省杭州市浙大路38号