发明名称 基于最邻近标签传播算法的图像型垃圾邮件检测方法
摘要 为了提高图像型垃圾邮件检测的精度和召回率,节省检测图像型垃圾邮件的时间,导致需要一个高效率的检测图像型垃圾邮件的方法。本发明的目的是提供一种利用基于最邻近的标签传播算法检测图像型垃圾邮件的方法。通过提取图片的加速鲁棒性特征描述符,确保了图片的旋转和尺度不变性;通过获取图片聚类中心点信息,再按照该信息均值聚类图片加速鲁棒性特征描述符,确保了所有图片聚类后的信息具有可比性;通过利用基于最邻近的标签传播,选择与每个图像相似度最接近的K(K=已知类别的图像数+测试的图像数/10,表示选取与图像相似度最相近的图像幅数)个图像的标签进行传播,提高了标签的传播速率,节省了检测图像型垃圾邮件的时间。
申请公布号 CN103150574B 申请公布日期 2016.03.23
申请号 CN201310001117.7 申请日期 2013.01.05
申请人 南京邮电大学 发明人 张卫丰;钱小燕;周国强;张迎周;王子元;周国富;许碧欢;陆柳敏
分类号 G06K9/62(2006.01)I;H04L12/58(2006.01)I 主分类号 G06K9/62(2006.01)I
代理机构 南京经纬专利商标代理有限公司 32200 代理人 叶连生
主权项 一种基于最邻近标签传播算法检测图像型垃圾邮件的方法,其特征在于该方法包含的步骤为:步骤1)训练已知类别数据集,获取聚类中心点信息,其中类别分为正常图片和垃圾图片:步骤1.1)输入已知类别数据集中的正常图片和垃圾图片;步骤1.2)提取每幅图片的加速鲁棒性特征描述符信息:步骤1.2.1)获取输入的图片;步骤1.2.2)获取输入图片的积分图片;步骤1.2.3)获取积分图片的像素点;步骤1.2.4)输入图片的第一个像素点;步骤1.2.5)判断图片该像素点是否存在,如果存在,转步骤1.2.6),否则,转步骤1.2.14);步骤1.2.6)计算该像素点的海森矩阵及行列式值;步骤1.2.7)判断该点是否是极值点,如果是,转步骤1.2.8),否则,转步骤1.2.13);步骤1.2.8)确认该极值点为加速鲁棒性特征点;步骤1.2.9)获取该特征点在原始图片中的位置、尺度信息;步骤1.2.10)获取该特征点在原始图片中的主方向;步骤1.2.11)根据该特征点的位置、尺度、主方向信息,计算该特征点的加速鲁棒性特征描述符;其中,加速鲁棒性特征描述符采用64维描述向量存储;步骤1.2.12)输入图片下一个像素点,转步骤1.2.5);步骤1.2.13)系统自动舍弃该点,转步骤1.2.12);步骤1.2.14)输出图片的所有加速鲁棒性特征点描述符信息;步骤1.3)随机初始化聚类中心点,根据均值聚类算法,同时聚类已知类别数据集中所有图片的加速鲁棒性特征描述符:步骤1.3.1)获取需要聚类的所有加速鲁棒性特征点描述符信息;步骤1.3.2)获取聚类中心点的个数;步骤1.3.3)输入第一个加速鲁棒性特征点信息;步骤1.3.4)判断该加速鲁棒性特征点是否存在,如果存在,转步骤1.3.5),否则,转步骤1.3.9);步骤1.3.5)分别计算该加速鲁棒性特征点到所有聚类中心点的距离;步骤1.3.6)选择最短距离,获取与最短距离相应的聚类中心信息;步骤1.3.7)将该加速鲁棒性特征点聚类到该聚类中心中;步骤1.3.8)输入下一个加速鲁棒性特征点,转步骤1.3.5);步骤1.3.9)总结每个聚类中心中的加速鲁棒性特征点描述符信息;步骤1.3.10)更新所有聚类中心点信息:将每个聚类中心中的加速鲁棒性特征点描述符信息求和再取平均;步骤1.3.11)输出聚类后的所有的加速鲁棒性特征描述符信息;步骤1.4)输出所有的聚类中心点信息,即聚类后的所有的加速鲁棒性特征描述符信息;步骤2)训练已知类别数据集和测试数据集,获取每幅图片均值聚类后的加速鲁棒性特征描述符信息:步骤2.1)输入已知类别数据集中的正常图片和垃圾图片、测试数据集中的测试图片;步骤2.2)标签图片:若输入的图片属于正常图片数据集,则标签为0,若输入的图片属于垃圾图片数据集,则标签为1,若输入的图片属于测试图片数据集,则默认为垃圾图片,标签为1;步骤2.3)提取每幅图片的加速鲁棒性特征描述符信息,具体提取方法采用步骤1.2)中的步骤1.2.1)至步骤1.2.14);步骤2.4)获取聚类中心点信息,具体获取方法采用步骤1)中的步骤1.1)至步骤1.4);步骤2.5)根据聚类中心点信息,使用均值聚类算法,聚类每幅图片的加速鲁棒性特征描述符,具体聚类方法采用步骤1.3.1)至步骤1.3.11);步骤2.6)输出每幅图片均值聚类后的加速鲁棒性特征描述符信息;步骤3)基于最邻近的标签传播算法分类图片:步骤3.1)获取所有图片聚类后的加速鲁棒性特征描述符信息;其中,所有图片包括已知类别数据集中的图片和测试数据集中的图片;步骤3.2)初始化已知类别数据集标签矩阵Y<sub>lc</sub>:<img file="FDA0000819603880000021.GIF" wi="1277" he="159" />其中,y<sub>ij</sub>表示类别数据集标签矩阵Y<sub>lc</sub>的第i行第j列的元素值;l表示已知类别数据集中的图片数;c=2,表示分类的类别数,共两类,j=0表示正常图片类别,j=1表示垃圾图片类别;步骤3.3)初始化标签概率分布矩阵LP<sub>nc</sub>:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>lp</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mo>{</mo><mtable><mtr><mtd><msub><mi>y</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mtd><mtd><mrow><mn>0</mn><mo>&le;</mo><mi>i</mi><mo>&lt;</mo><mi>l</mi></mrow></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mrow><mn>1</mn><mo>&le;</mo><mi>i</mi><mo>&lt;</mo><mi>n</mi><mo>,</mo><mi>j</mi><mo>=</mo><mn>0</mn></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mn>1</mn><mo>&le;</mo><mi>i</mi><mo>&lt;</mo><mi>n</mi><mo>,</mo><mi>j</mi><mo>=</mo><mn>1</mn></mrow></mtd></mtr></mtable><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>i</mi><mo>&lt;</mo><mi>n</mi><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>j</mi><mo>&lt;</mo><mi>c</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000819603880000031.GIF" wi="1214" he="230" /></maths>其中,lp<sub>ij</sub>表示标签概率分布矩阵LP<sub>nc</sub>的第i行第j列的元素值;n表示已知类别数据集和测试数据集中的所有图片数;c=2,表示分类的类别数;y<sub>ij</sub>计算过程见公式(1);步骤3.4)根据图片的加速鲁棒性特征描述符,计算图片之间的相似度矩阵W<sub>nn</sub>:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mo>{</mo><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mrow><mi>i</mi><mo>=</mo><mi>j</mi></mrow></mtd></mtr><mtr><mtd><mfrac><mn>1</mn><mrow><msqrt><msubsup><mo>&Sigma;</mo><mrow><mi>h</mi><mo>=</mo><mn>1</mn></mrow><mrow><mn>64</mn><mo>&times;</mo><mi>m</mi></mrow></msubsup></msqrt><msup><mrow><mo>(</mo><mrow><msub><mi>f</mi><mrow><mi>i</mi><mi>h</mi></mrow></msub><mo>-</mo><msub><mi>f</mi><mrow><mi>j</mi><mi>h</mi></mrow></msub></mrow><mo>)</mo></mrow><mn>2</mn></msup></mrow></mfrac></mtd><mtd><mrow><mi>i</mi><mo>&NotEqual;</mo><mi>j</mi></mrow></mtd></mtr></mtable><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>i</mi><mo>&lt;</mo><mi>n</mi><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>j</mi><mo>&lt;</mo><mi>n</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000819603880000032.GIF" wi="1375" he="239" /></maths>其中,w<sub>ij</sub>表示相似度矩阵W<sub>nn</sub>的第i行第j列的元素值;n表示已知类别数据集和测试数据集中的所有图片数;f<sub>ih</sub>表示第i张图片的第h个加速鲁棒性特征描述符信息,m表示聚类中心点的个数,具体提取过程采用步骤2)的步骤2.1)至步骤2.6);步骤3.5)根据相似度矩阵W<sub>nn</sub>,计算图片之间的相似度排列矩阵P′<sub>nn</sub>:<img file="FDA0000819603880000033.GIF" wi="1555" he="159" />其中,p′<sub>ij</sub>表示相似度排列矩阵P′<sub>nn</sub>的第i行第j列的元素值;n表示已知类别数据集和测试数据集中的所有图片数;W<sub>nn</sub>是相似度矩阵,w<sub>ij</sub>表示第i幅图片与第j幅图片之间的相似度,计算过程为公式(3);步骤3.6)根据相似度排列矩阵P′<sub>nn</sub>,计算图片之间的相似度K排列矩阵P<sub>nn</sub>:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>p</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mo>{</mo><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mrow><msubsup><mi>p</mi><mrow><mi>i</mi><mi>j</mi></mrow><mo>&prime;</mo></msubsup><mo>&NotEqual;</mo><mn>1</mn><mo>|</mo><mn>2</mn><mo>|</mo><mn>...</mn><mo>|</mo><mi>K</mi></mrow></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mrow><msubsup><mi>p</mi><mrow><mi>i</mi><mi>j</mi></mrow><mo>&prime;</mo></msubsup><mo>=</mo><mn>1</mn><mo>|</mo><mn>2</mn><mo>|</mo><mn>...</mn><mo>|</mo><mi>K</mi></mrow></mtd></mtr></mtable><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>i</mi><mo>&lt;</mo><mi>n</mi><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>j</mi><mo>&lt;</mo><mi>n</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000819603880000034.GIF" wi="1334" he="165" /></maths>其中,p<sub>ij</sub>表示相似度K排列矩阵P<sub>nn</sub>的第i行第j列的元素值;n表示已知类别数据集和测试数据集中的所有图片数;p′<sub>ij</sub>表示第i幅图片与第j幅图片之间的相似度排列位置,计算过程见公式(4);K=已知类别的图像数+测试的图像数/10,表示选取与图像相似度最相近的图像幅数;步骤3.7)根据相似度矩阵W<sub>nn</sub>,计算图片之间的传播概率矩阵T<sub>nn</sub>:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>t</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mfrac><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mrow><msubsup><mo>&Sigma;</mo><mrow><mi>h</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><msub><mi>w</mi><mrow><mi>i</mi><mi>h</mi></mrow></msub></mrow></mfrac><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>i</mi><mo>&lt;</mo><mi>n</mi><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>j</mi><mo>&lt;</mo><mi>n</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000819603880000035.GIF" wi="1294" he="151" /></maths>其中,t<sub>ij</sub>表示传播概率矩阵T<sub>nn</sub>的第i行第j列的元素值;n表示已知类别数据集和测试数据集中的所有图片数;w<sub>ij</sub>表示第i幅图片与第j幅图片之间的相似度,计算过程见公式(3);步骤3.8)将每张图片视为一个节点,生成带权完全连接图;步骤3.9)根据每个节点的标签,进行标签传播:步骤3.9.1)根据相似度排列矩阵,确定每个节点最邻近的节点个数;步骤3.9.2)生成最邻近图;步骤3.9.3)更新标签概率分布矩阵LP<sub>nc</sub>:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>lp</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>h</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>t</mi><mrow><mi>i</mi><mi>h</mi></mrow></msub><msub><mi>p</mi><mrow><mi>i</mi><mi>h</mi></mrow></msub><msub><mi>lp</mi><mrow><mi>h</mi><mi>j</mi></mrow></msub><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>i</mi><mo>&lt;</mo><mi>n</mi><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>j</mi><mo>&lt;</mo><mi>c</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000819603880000041.GIF" wi="1315" he="133" /></maths>其中,lp<sub>ij</sub>表示标签概率分布矩阵LP<sub>nc</sub>的第i行第j列的元素值;n表示已知类别数据集和测试数据集中的所有图片数;c=2,表示分类的类别数;t<sub>ij</sub>表示第i幅图片与第j幅图片之间的传播概率,计算过程为公式(6);p<sub>ij</sub>表示第i幅图片与第j幅图片之间的相似度的排列位置是否属于前K个,计算过程为公式(5),K=已知类别的图像数+测试的图像数/10,表示选取与图像相似度最相近的图像幅数;步骤3.9.4)限制已知类别数据,再次更新标签概率分布矩阵LP<sub>nc</sub>:<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mi>lp</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mo>{</mo><mtable><mtr><mtd><msub><mi>y</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mtd><mtd><mrow><mn>0</mn><mo>&le;</mo><mi>i</mi><mo>&lt;</mo><mi>l</mi></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>lp</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mrow></mtd><mtd><mrow><mi>l</mi><mo>&le;</mo><mi>i</mi><mo>&lt;</mo><mi>n</mi></mrow></mtd></mtr></mtable><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>i</mi><mo>&lt;</mo><mi>n</mi><mo>,</mo><mn>0</mn><mo>&le;</mo><mi>j</mi><mo>&lt;</mo><mi>c</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000819603880000042.GIF" wi="1246" he="159" /></maths>其中,lp<sub>ij</sub>表示标签概率分布矩阵LP<sub>nc</sub>的第i行第j列的元素值;n表示已知类别数据集和测试数据集中的所有图片数;c=2,表示分类的类别数;y<sub>ij</sub>表示第i幅图片是否属于类别j,计算过程见公式(1);步骤3.9.5)判断标签概率分布矩阵是否收敛,如果收敛,转步骤3.9.6),否则,转步骤3.9.3);步骤3.9.6)根据标签概率分布矩阵,输出测试图片的标签;步骤4)根据测试图片的标签,将测试图片进行正常图片与垃圾图片分类。
地址 210003 江苏省南京市新模范马路66号