发明名称 基于判别相关分析的跨媒体检索方法
摘要 本发明公开了一种基于判别相关分析的跨媒体检索方法,该方法包括以下步骤:建立跨媒体训练数据库,依次对其中不同模态样本进行特征提取、均值预处理和线性投影变换,并根据投影空间设定一目标函数;求解目标函数得到线性投影向量;建立跨媒体测试数据库;对待检索对象依次进行特征提取和均值预处理;使用所述线性投影向量对经均值预处理的特征数据进行线性投影变换;计算两模态数据投影变量之间的欧式距离,并进行升序排序,从而得到跨媒体检索结果。本发明方法能够对特征数据进行有效地降维,从而广泛地应用在其他很多多模态工作中,比如多模态生物特征识别。
申请公布号 CN102663447B 申请公布日期 2014.04.23
申请号 CN201210133488.6 申请日期 2012.04.28
申请人 中国科学院自动化研究所 发明人 谭铁牛;王亮;王威
分类号 G06F17/30(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 中科专利商标代理有限责任公司 11021 代理人 宋焰琴
主权项 1.一种基于判别相关分析的跨媒体检索方法,其特征在于,该方法包括以下步骤:步骤1,建立包括一一对应的图像和文本对的跨媒体训练数据库并提取该数据库中不同模态样本的特征向量,得到相应的特征数据点集;步骤2,分别对图像与文本两个模态的特征数据点集进行均值预处理,使得每个模态的特征数据点集的均值为0;步骤3,将经过均值预处理的特征数据点集进行线性投影变换,并根据得到的投影空间设定一关于线性投影变量的目标函数;步骤4,使用特征值求解法求解所述目标函数,得到线性投影向量a和b;步骤5,建立包括一一对应的图像和文本对的跨媒体测试数据库;步骤6,输入待检索对象,并分别提取待检索对象的特征向量以及跨媒体测试数据库中与待检索对象属于不同模态的对象集的特征数据点集;步骤7,对步骤6得到的特征向量和特征数据点集分别进行所述均值预处理;步骤8,使用所述步骤4得到的线性投影向量a和b对经过均值预处理的特征向量和特征数据点集分别进行线性投影变换;步骤9,计算待检索对象的投影变量与对象集的投影变量之间的欧式距离,并对所有的欧式距离进行升序排序,前n个欧式距离对应的对象数据即是在所述跨媒体测试数据库中检索得到的与待检索图像相关的另一模态的对象;其中,所述步骤3中的线性投影变换表示为:u=a<sup>T</sup>xv=b<sup>T</sup>y其中,x和y分别为图像与文本两个模态特征数据点集对应的变量集合,a和b分别为对应的投影向量,u和v为经过线性投影变换得到的投影变量;根据得到的投影空间设定目标函数的步骤进一步包括以下步骤:步骤3.1,计算投影空间中投影变量u和v的协方差cov(u,v):<maths num="0001"><![CDATA[<math><mrow><mi>cov</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msup><mi>a</mi><mi>T</mi></msup></mtd><mtd><msup><mi>b</mi><mi>T</mi></msup></mtd></mtr></mtable></mfenced><mi>&Sigma;</mi><mfenced open='[' close=']'><mtable><mtr><mtd><mi>a</mi></mtd></mtr><mtr><mtd><mi>b</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>其中,Σ定义为此协方差的特征矩阵;步骤3.2,计算图像与文本两个模态特征数据点集在投影空间中的类间方差和类内方差σ<sub>B</sub>和σ<sub>W</sub>:<maths num="0002"><![CDATA[<math><mrow><msub><mi>&sigma;</mi><mi>B</mi></msub><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msup><mi>a</mi><mi>T</mi></msup></mtd><mtd><msup><mi>b</mi><mi>T</mi></msup></mtd></mtr></mtable></mfenced><msub><mi>S</mi><mi>B</mi></msub><mfenced open='[' close=']'><mtable><mtr><mtd><mi>a</mi></mtd></mtr><mtr><mtd><mi>b</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msub><mi>&sigma;</mi><mi>W</mi></msub><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msup><mi>a</mi><mi>T</mi></msup></mtd><mtd><msup><mi>b</mi><mi>T</mi></msup></mtd></mtr></mtable></mfenced><msub><mi>S</mi><mi>W</mi></msub><mfenced open='[' close=']'><mtable><mtr><mtd><mi>a</mi></mtd></mtr><mtr><mtd><mi>b</mi></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>其中,S<sub>B</sub>和S<sub>W</sub>称为多模态数据的“类间散列矩阵”和“类内散列矩阵”:<maths num="0004"><![CDATA[<math><mrow><msub><mi>S</mi><mi>B</mi></msub><mo>=</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>n</mi></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msub><mi>n</mi><mi>m</mi></msub><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>E</mi><mi>m</mi></msub><msup><mi>xx</mi><mi>T</mi></msup></mtd><mtd><msub><mi>E</mi><mi>m</mi></msub><msup><mi>xy</mi><mi>T</mi></msup></mtd></mtr><mtr><mtd><msub><mi>E</mi><mi>m</mi></msub><msup><mi>yx</mi><mi>T</mi></msup></mtd><mtd><msub><mi>E</mi><mi>m</mi></msub><msup><mi>yy</mi><mi>T</mi></msup></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><msub><mi>S</mi><mi>W</mi></msub><mo>=</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>n</mi></mrow></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msub><mi>n</mi><mi>m</mi></msub><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>E</mi><mi>m</mi></msub><mrow><mo>(</mo><msup><mi>xx</mi><mi>T</mi></msup><mo>)</mo></mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>E</mi><mi>m</mi></msub><msup><mi>xx</mi><mi>T</mi></msup></mtd><mtd><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>E</mi><mi>m</mi></msub><msup><mi>xy</mi><mi>T</mi></msup></mtd></mtr><mtr><mtd><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>E</mi><mi>m</mi></msub><msup><mi>yx</mi><mi>T</mi></msup></mtd><mtd><msub><mi>E</mi><mi>m</mi></msub><mrow><mo>(</mo><msup><mi>yy</mi><mi>T</mi></msup><mo>)</mo></mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>E</mi><mi>m</mi></msub><msup><mi>yy</mi><mi>T</mi></msup></mtd></mtr></mtable></mfenced><mo>,</mo></mrow></math>]]></maths>其中,n表示每个数据点集中数据的个数,n<sub>m</sub>表示每个数据点集中第m类的数据的数目,k为类别的个数,<maths num="0006"><![CDATA[<math><mrow><msub><mi>E</mi><mi>m</mi></msub><mrow><mo>(</mo><msup><mi>xx</mi><mi>T</mi></msup><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><msub><mi>n</mi><mi>m</mi></msub></mfrac><munder><mi>&Sigma;</mi><msub><mrow><mi>i</mi><mo>&Element;</mo><mi>C</mi></mrow><mi>m</mi></msub></munder><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><msubsup><mi>x</mi><mi>i</mi><mi>T</mi></msubsup><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths><maths num="0007"><![CDATA[<math><mrow><msub><mi>E</mi><mi>m</mi></msub><mrow><mo>(</mo><msup><mi>yy</mi><mi>T</mi></msup><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><msub><mi>n</mi><mi>m</mi></msub></mfrac><munder><mi>&Sigma;</mi><mrow><mi>i</mi><mo>&Element;</mo><msub><mi>C</mi><mi>m</mi></msub></mrow></munder><mrow><mo>(</mo><msub><mi>y</mi><mi>i</mi></msub><msubsup><mi>y</mi><mi>i</mi><mi>T</mi></msubsup><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths><maths num="0008"><![CDATA[<math><mrow><msub><mi>E</mi><mi>m</mi></msub><msup><mi>xx</mi><mi>T</mi></msup><mo>=</mo><msub><mi>E</mi><mi>m</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><msubsup><mi>E</mi><mi>m</mi><mi>T</mi></msubsup><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths><maths num="0009"><![CDATA[<math><mrow><msub><mi>E</mi><mi>m</mi></msub><msup><mi>xy</mi><mi>T</mi></msup><mo>=</mo><msub><mi>E</mi><mi>m</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><msubsup><mi>E</mi><mi>m</mi><mi>T</mi></msubsup><mrow><mo>(</mo><mi>y</mi><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths><maths num="0010"><![CDATA[<math><mrow><msub><mi>E</mi><mi>m</mi></msub><msup><mi>yy</mi><mi>T</mi></msup><mo>=</mo><msub><mi>E</mi><mi>m</mi></msub><mrow><mo>(</mo><mi>y</mi><mo>)</mo></mrow><msubsup><mi>E</mi><mi>m</mi><mi>T</mi></msubsup><mrow><mo>(</mo><mi>y</mi><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths><maths num="0011"><![CDATA[<math><mrow><msub><mi>E</mi><mi>m</mi></msub><msup><mi>yx</mi><mi>T</mi></msup><mo>=</mo><msub><mi>E</mi><mi>m</mi></msub><mrow><mo>(</mo><mi>y</mi><mo>)</mo></mrow><msubsup><mi>E</mi><mi>m</mi><mi>T</mi></msubsup><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>C<sub>m</sub>表示第m类数据集,E<sub>m</sub>(x)和E<sub>m</sub>(y)分别是原始数据点集中第m类数据的均值;步骤3.3,根据计算得到的协方差cov(u,v)、类间方差σ<sub>B</sub>和类内方差σ<sub>W</sub>设定目标函数:<maths num="0012"><![CDATA[<math><mrow><msup><mi>a</mi><mo>*</mo></msup><mo>,</mo><msup><mi>b</mi><mo>*</mo></msup><mo>=</mo><mi>arg</mi><msub><mi>max</mi><mrow><mi>a</mi><mo>,</mo><mi>b</mi></mrow></msub><mfrac><mrow><msub><mi>&mu;&sigma;</mi><mi>B</mi></msub><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&mu;</mi><mo>)</mo></mrow><mi>cov</mi><mrow><mo>(</mo><mi>u</mi><mo>,</mo><mi>v</mi><mo>)</mo></mrow></mrow><msub><mi>&sigma;</mi><mi>W</mi></msub></mfrac><mo>,</mo></mrow></math>]]></maths>其中,μ为调节参数,它控制着σ<sub>B</sub>和cov(u,v)的相对权重。
地址 100190 北京市海淀区中关村东路95号