发明名称 一种词袋图像分类方法
摘要 本发明一种词袋图像分类方法,涉及应用电子设备进行识别图形的方法,是一种基于距离次序的视觉单词权重分配的词袋图像分类方法,步骤是:对图像进行分块并提取特征;对获得的特征进行聚类生成“视觉单词词汇表”;计算待分配“视觉单词”的权重;结合空间金字塔理论获得每幅图像的最终直方图表示;利用支持向量机对待测图像进行分类,最后输出图像类别。本发明方法克服了现有图像分类技术存在单一的特征不能完全代表图像的信息和图像分类存在准确率不高的缺陷。
申请公布号 CN105303195A 申请公布日期 2016.02.03
申请号 CN201510683226.0 申请日期 2015.10.20
申请人 河北工业大学 发明人 阎刚;于洋;郭迎春;刘依;师硕;张亚娟;杨悦强
分类号 G06K9/62(2006.01)I 主分类号 G06K9/62(2006.01)I
代理机构 天津翰林知识产权代理事务所(普通合伙) 12210 代理人 胡安朋
主权项 一种词袋图像分类方法,其特征在于:是一种基于距离次序的视觉单词权重分配的词袋图像分类方法,步骤如下:第一步,对图像进行分块并提取特征:(1)图像采集与预处理:用图像采集设备采集彩色图像,将其输入到计算机中,对获得的彩色图像从RGB空间转换到灰度空间,采用以下公式:I=0.299R+0.587G+0.114B(1),其中,R、G、B分别代表RGB彩色图像在R、G、B三个通道中的值,I代表灰度图像,由此完成图像采集与预处理;(2)图像分块:设上述(1)步中得到的图像的宽为W像素,高为V像素,对图像进行部分重叠分块,块大小为p×p像素,由于图像的尺寸各异,会存在图像块的边缘得不到p×p块的可能,故分别按照公式(2)和公式(3)计算图像块在图像的水平和垂直方向上的第一块图像的起始坐标w1和v1,<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>w</mi><mn>1</mn><mo>=</mo><mi>f</mi><mi>l</mi><mi>o</mi><mi>o</mi><mi>r</mi><mrow><mo>(</mo><mo>(</mo><mfrac><mrow><mi>mod</mi><mrow><mo>(</mo><mi>W</mi><mo>-</mo><mi>p</mi><mo>,</mo><mi>s</mi><mo>)</mo></mrow></mrow><mn>2</mn></mfrac><mo>)</mo><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000826112300000011.GIF" wi="1116" he="105" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>v</mi><mn>1</mn><mo>=</mo><mi>f</mi><mi>l</mi><mi>o</mi><mi>o</mi><mi>r</mi><mrow><mo>(</mo><mo>(</mo><mfrac><mrow><mi>mod</mi><mrow><mo>(</mo><mi>V</mi><mo>-</mo><mi>p</mi><mo>,</mo><mi>s</mi><mo>)</mo></mrow></mrow><mn>2</mn></mfrac><mo>)</mo><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000826112300000012.GIF" wi="1102" he="103" /></maths>其中,mod代表取余运算,floor为向上取整运算,s为移动步长像素,根据获得的起始坐标按照先自上到下之后从左向右的顺序根据块的大小p×p像素和移动步长s像素对整幅图像进行部分重叠分块,即:在位置为上下关系的图像块中,上图像块的下半部分和下图像块中的上半部分重叠,在位置为左右关系的图像块中,左图像块的右半部分和右图像块中的左半部分重叠,得到的每一幅具体图像的块数记作Q,由此完成图像分块;(3)提取特征并融合特征:分别提取从上述(2)步中得到的每一个图像块的单尺度SIFT特征和方向梯度直方图特征,并对两种特征进行串联,其中SIFT特征维数为128维,方向梯度直方图特征设置为8方向,这样串联后的每一个图像块的最终特征向量维数为128+8=136维;第二步,对获得的特征进行聚类生成“视觉单词词汇表”:把第一步获得的特征视为“视觉单词”,采用K‑means均值聚类算法对其进行聚类,从而获得“视觉单词”数量为M的“视觉单词词汇表”,在聚类算法中迭代收敛的阈值设置为0.0093;第三步,计算待分配“视觉单词”的权重:计算上述第二步得到的“视觉单词词汇表”中的“视觉单词”和待分配的“视觉单词”之间的欧氏距离,取距离最近的前N个“视觉单词词汇表”中的“视觉单词”,N≤M,按照公式(4)计算这N个“视觉单词”中每个单词所占的权重,<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mover><mi>&delta;</mi><mo>&OverBar;</mo></mover><mi>i</mi></msub><mo>=</mo><msub><mi>&delta;</mi><mi>i</mi></msub><mo>/</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></msubsup><msub><mi>&delta;</mi><mi>i</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000826112300000013.GIF" wi="1003" he="80" /></maths>其中δ<sub>i</sub>=1/2<sup>i</sup>,其中i=1,2,...,N,<img file="FDA0000826112300000023.GIF" wi="55" he="79" />代表序数为i的“视觉单词”在N个待分配的“视觉单词”中分配到的归一化的权重;第四步,结合空间金字塔理论获得每幅图像的最终直方图表示:利用空间金字塔模型对上述第一步图像采集到的一幅整幅图像进行不同层次的分层处理,统计每层中图像直方图表示信息,然后针对不同层的直方图表示信息分配不同的权值得到该层的最终直方图表示,最后把不同层的直方图表示按照层数顺序连接成该幅图像最终的表示信息,将其作为该幅图像的直方图表示,其具体的步骤如下:(1)对第一步中得到的灰度图像进行分层处理:确定第一步中一幅整幅灰度图像在I空间金字塔中的层次数目为L,并将该幅灰度图像进行分层处理,用l代表图像在空间金字塔中的具体层次,l=0,1,…,L‑1,其中l=0表示原图像,在l层把该幅灰度图像均匀分为不重叠的2<sup>l</sup>×2<sup>l</sup>块子图像;(2)统计不同层次图像中不同子块的图像直方图表示:对第l=0层图像即原图像,统计由第三步的方法获得的所在块图像的待分配“视觉单词”分配到“视觉单词词汇表”的权重,进而获得上述(1)中所述的整幅灰度图像的直方图表示,其中直方图的横坐标为M个视觉单词字典的序数,纵坐标为在所在图像中对应“视觉单词词汇表”中相应“视觉单词”出现的频次,最终得到一个1×M的向量来表征该幅图像的第0层特征,将其记作H<sub>0</sub>,对于上述(1)步中在l层把该幅灰度图像均匀分为不重叠的2<sup>l</sup>×2<sup>l</sup>块子的图像,从左上角的第一个小块图像开始,自上而下而后自左向右分别记作第k块,k=1,...,2<sup>l</sup>×2<sup>l</sup>,逐块统计由第三步获得的所在块图像中待分配的“视觉单词”分配到“视觉单词词汇表”的权重,进而获得该层图像的直方图表示,其中直方图的横坐标为M个视觉单词字典的序数,纵坐标为在所在图像块中对应“视觉单词词汇表”中相应“视觉单词”出现的频次,利用得到的2<sup>l</sup>×2<sup>l</sup>个1×M的向量来表征该幅图像的第l层特征,将2<sup>l</sup>×2<sup>l</sup>个向量按照顺序连接记作H<sub>l</sub>,由此完成统计不同层次图像中不同子块的图像直方图表示;(3)计算图像的直方图表示:对不同层次的金字塔图像表示分配不同的权重,并且将不同层次的图像表征特征串联成一个直方图表示,对于不同层次的金字塔图像表示按照公式(5)分配权重:ω<sub>l</sub>=1/2^(l+1)                     (5),式中ω<sub>l</sub>代表第l层金字塔图像中直方图表示获得的未归一化权重,对所得权重按照公式(6)进行归一化处理:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mover><msub><mi>&omega;</mi><mi>l</mi></msub><mo>-</mo></mover><mo>=</mo><msub><mi>&omega;</mi><mi>l</mi></msub><mo>/</mo><msubsup><mi>&Sigma;</mi><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>L</mi><mo>-</mo><mn>1</mn></mrow></msubsup><msub><mi>&omega;</mi><mi>l</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000826112300000021.GIF" wi="1045" he="85" /></maths>分别将不同层金字塔图像获得的权重归一化<img file="FDA0000826112300000022.GIF" wi="69" he="71" />和对应层获得的图像直方图表征向量H<sub>l</sub>相乘,得到每一层金字塔图像的最终直方图表示H′<sub>l</sub>,并将不同层的H′<sub>l</sub>连接成这幅图像在不同层金字塔最终的表示H,H的计算方法按照下式(7)和(8)计算:H=[H′<sub>0</sub> H′<sub>1</sub> … H′<sub>l</sub>]                   (7),即<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>H</mi><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><mover><msub><mi>&omega;</mi><mn>0</mn></msub><mo>-</mo></mover><mo>*</mo><msub><mi>H</mi><mn>0</mn></msub></mrow></mtd><mtd><mrow><mover><msub><mi>&omega;</mi><mn>1</mn></msub><mo>-</mo></mover><mo>*</mo><msub><mi>H</mi><mn>1</mn></msub></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><mover><msub><mi>&omega;</mi><mi>l</mi></msub><mo>-</mo></mover><mo>*</mo><msub><mi>H</mi><mi>l</mi></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000826112300000031.GIF" wi="1328" he="79" /></maths>由此完成结合空间金字塔理论获得每幅图像的最终直方图表示;第五步,利用支持向量机对待测图像进行分类,最后输出图像类别:使用支持向量机SVM对训练图像进行学习,采用直方图相交核函数Histogram Intersection Kernel,训练集和测试集均为随机选取,对于其他待分类图像同样进行前四个步骤的处理,获得待分类图像的直方图表示,在分类器学习完毕后对待分类图像进行分类处理,最后输出图像类别。
地址 300130 天津市红桥区丁字沽光荣道8号河北工业大学东院330#