发明名称 基于视觉词典全局拓扑表达的图像分类方法
摘要 本发明公开了一种基于视觉词典全局拓扑表达的图像分类方法,包括训练和识别两个过程,具体包括步骤:对已经标好类别的目标图像进行特征提取,对提取的特征在视觉词典上进行全局拓扑编码,对编码结果进行训练并建模;对未知类别的图像进行特征提取,对提取的特征在视觉词典上进行全局拓扑编码,将编码结果输入到训练得到的模型,获得目标图像的类别。由于全局拓扑表达对于图像的流形表达具有不变性,因此本发明采用基于视觉词典的全局拓扑表达提高图像识别的精度,并且该技术对于动态图像的理解具有重要的意义。本发明通过学视觉词典的全局拓扑表达,可以准确的识别图像的类别,这一技术可广泛应用于安全检验,网络搜索和数字娱乐等领域。
申请公布号 CN103177264B 申请公布日期 2016.09.14
申请号 CN201310081556.3 申请日期 2013.03.14
申请人 中国科学院自动化研究所 发明人 黄凯奇;谭铁牛;王冲
分类号 G06K9/62(2006.01)I 主分类号 G06K9/62(2006.01)I
代理机构 中科专利商标代理有限责任公司 11021 代理人 宋焰琴
主权项 一种基于视觉词典全局拓扑表达的图像分类方法,其特征在于,该方法包括以下步骤:步骤1,采集多幅训练图像,对多幅训练图像分别进行局部采样,并在得到的局部采样块上提取尺度不变特征变换(SIFT)特征,从而得到训练图像的SIFT特征集合;步骤2,对得到的SIFT特征集合进行聚类生成多个聚类中心,并以所述聚类中心为视觉单词组成视觉词典<img file="FDA0001011206100000011.GIF" wi="547" he="75" />其中,C表示视觉词典,其由M个D维的视觉单词c<sub>i</sub>组成,<img file="FDA0001011206100000012.GIF" wi="110" he="52" />表示D维空间中的M个点组成的子空间;步骤3,对每幅训练图像的每个SIFT特征进行全局拓扑编码;步骤4,对每幅训练图像的所有SIFT特征<img file="FDA0001011206100000013.GIF" wi="508" he="72" />的全局拓扑编码V<sub>1</sub>,V<sub>2</sub>,...,V<sub>N</sub>进行最大聚集操作,生成该训练图像的图像表达F;步骤5,将所有训练图像的图像表达送入分类器中进行训练,生成训练模型;步骤6,与所述步骤1相似,对每幅待识别图像进行局部采样,并在得到的局部采样块上提取尺度不变特征变换SIFT特征,得到每幅待识别图像的SIFT特征集合;步骤7,基于所述步骤2中得到的由视觉单词组成的视觉词典,利用所述步骤3对每幅待识别图像的每个SIFT特征进行全局拓扑编码;步骤8,与所述步骤4相似,对每幅待识别图像的所有SIFT特征的全局拓扑编码进行最大聚集操作,生成待识别图像的图像表达;步骤9,将所述步骤8得到的待识别图像的图像表达送入所述步骤5生成的训练模型进行测试,从而得到待识别图像中目标类别的识别结果;所述步骤3进一步包括三个子步骤:步骤3.1,计算所述视觉词典中视觉单词之间的相关性;步骤3.2,利用所述步骤3.1中得到的视觉单词之间的相关性对每个SIFT特征的最近邻的K个视觉单词建立全局拓扑模型;步骤3.3,利用所述步骤3.2得到的全局拓扑模型对每个SIFT特征进行全局拓扑编码;所述步骤3.2中,假设对于每幅训练图像提取得到的SIFT特征集合为<img file="FDA0001011206100000021.GIF" wi="555" he="75" />其中,D是特征维数,N是特征个数,则对于每个特征x<sub>j</sub>,其全局拓扑模型表示为:Δ(C,x<sub>j</sub>,S)=[Δ(c<sub>1</sub>,x<sub>j</sub>,S<sub>1</sub>),...,Δ(c<sub>M</sub>,x<sub>j</sub>,S<sub>M</sub>)],<maths num="0001"><math><![CDATA[<mrow><mo>&ForAll;</mo><mi>&Delta;</mi><mrow><mo>(</mo><msub><mi>c</mi><mi>i</mi></msub><mo>,</mo><msub><mi>x</mi><mi>j</mi></msub><mo>,</mo><msub><mi>S</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mo>&lsqb;</mo><mi>&Delta;</mi><mrow><mo>(</mo><msub><mi>c</mi><mi>i</mi></msub><mo>,</mo><msub><mi>x</mi><mi>j</mi></msub><mo>,</mo><msub><mi>c</mi><mrow><mi>i</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>,</mo><mo>...</mo><mo>,</mo><mi>&Delta;</mi><mrow><mo>(</mo><msub><mi>c</mi><mi>i</mi></msub><mo>,</mo><msub><mi>x</mi><mi>j</mi></msub><mo>,</mo><msub><mi>c</mi><mrow><msub><mi>iQ</mi><mi>i</mi></msub></mrow></msub><mo>)</mo></mrow><mo>&rsqb;</mo><mo>&Element;</mo><msup><mi>R</mi><mrow><mn>1</mn><mo>&times;</mo><msub><mi>Q</mi><mi>i</mi></msub></mrow></msup><mo>,</mo></mrow>]]></math><img file="FDA0001011206100000022.GIF" wi="1427" he="112" /></maths>其中,Δ(c<sub>i</sub>,x<sub>j</sub>,S<sub>i</sub>)是向量x<sub>j</sub>‑c<sub>i</sub>和集合S<sub>i</sub>中每一个相关单词c<sub>ij</sub>与c<sub>i</sub>构成的向量c<sub>ij</sub>‑c<sub>i</sub>之间的角度:<maths num="0002"><math><![CDATA[<mrow><mi>&Delta;</mi><mrow><mo>(</mo><msub><mi>c</mi><mi>i</mi></msub><mo>,</mo><msub><mi>x</mi><mi>j</mi></msub><mo>,</mo><msub><mi>S</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><mo>[</mo><mi>&Delta;</mi><mrow><mo>(</mo><msub><mi>c</mi><mi>i</mi></msub><mo>,</mo><msub><mi>x</mi><mi>j</mi></msub><mo>,</mo><msub><mi>c</mi><mrow><mi>i</mi><mn>1</mn></mrow></msub><mo>)</mo></mrow><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>&Delta;</mi><mrow><mo>(</mo><msub><mi>c</mi><mi>i</mi></msub><mo>,</mo><msub><mi>x</mi><mi>j</mi></msub><mo>,</mo><msub><mi>c</mi><msub><mi>iQ</mi><mi>i</mi></msub></msub><mo>)</mo></mrow><mo>]</mo><mo>,</mo></mrow>]]></math><img file="FDA0001011206100000024.GIF" wi="1166" he="119" /></maths><img file="FDA0001011206100000023.GIF" wi="913" he="187" />&lt;x<sub>j</sub>‑c<sub>i</sub>,c<sub>ij</sub>‑c<sub>i</sub>&gt;表示向量x<sub>j</sub>‑c<sub>i</sub>和向量c<sub>ij</sub>‑c<sub>i</sub>之间的内积,“·”代表两个向量之间的点乘,||·||<sub>2</sub>表示向量的二范数。
地址 100190 北京市海淀区中关村东路95号