主权项 |
一种基于特征索引的超光谱匹配方法,其特征在于,包括以下步骤:步骤1,建立索引,包括对超光谱数据库中各物质的光谱分别进行特征提取,得到各物质的光谱的索引向量S={S<sub>1</sub>,S<sub>2</sub>,…,S<sub>M</sub>},建立整个超光谱数据库的索引,其中M为预设值,S<sub>m</sub>为光谱的第m个索引值,m=1,2,…,M;对超光谱数据库中任一物质的光谱进行特征提取得到相应索引向量的实现如下,首先,对超光谱数据库中某物质的光谱进行归一化处理如下,得到归一化后光谱,x<sup>n</sup>=(x‑x<sub>min</sub>)/(x<sub>max</sub>‑x<sub>min</sub>)其中,x<sup>n</sup>为超光谱数据库中某物质的光谱归一化后的光谱辐射值,x为该条光谱的原始辐射值,x<sub>max</sub>为该条光谱中原始辐射值的最大值,x<sub>min</sub>为该条光谱中原始辐射值的最小值;然后,对归一化后光谱x<sup>n</sup>进行特征提取,获取相应索引值如下,<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>S</mi><mi>m</mi></msub><mo>=</mo><msup><mrow><mo>(</mo><msubsup><mi>Σ</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></msubsup><msup><mrow><mo>|</mo><msubsup><mi>x</mi><mi>i</mi><mi>n</mi></msubsup><mo>|</mo></mrow><mi>m</mi></msup><mo>)</mo></mrow><mrow><mn>1</mn><mo>/</mo><mi>m</mi></mrow></msup></mrow>]]></math><img file="FDA0000603218700000011.GIF" wi="452" he="149" /></maths>其中,<img file="FDA0000603218700000012.GIF" wi="56" he="72" />为归一化后光谱x<sup>n</sup>第i个波段的辐射值,L为光谱的波段数,则S={S<sub>1</sub>,S<sub>2</sub>,…,S<sub>M</sub>}构成了光谱的索引向量;步骤2,确定搜索比对范围,包括对待匹配的光谱进行特征提取,获取待匹配光谱的索引向量,并根据索引向量确定搜索比对的范围,进一步包括以下子步骤,步骤2.1,对待匹配的光谱进行特征提取,得到待匹配的光谱的索引向量,并记为P={P<sub>1</sub>,P<sub>2</sub>,…P<sub>M</sub>},P<sub>m</sub>为光谱的第m个索引值,m=1,2,…,M;初始化阈值a为预设的初值;对待匹配的光谱进行特征提取得到相应索引向量的实现如下,首先,对待匹配的光谱进行归一化处理如下,得到归一化后光谱,y<sup>n</sup>=(y‑y<sub>min</sub>)/(y<sub>max</sub>‑y<sub>min</sub>)其中,y<sup>n</sup>为待匹配的光谱归一化后的光谱辐射值,y为待匹配的光谱的原始辐射值,y<sub>max</sub>为该条光谱中原始辐射值的最大值,y<sub>min</sub>为该条光谱中原始辐射值的最小值;然后,对归一化后光谱y<sup>n</sup>进行特征提取,获取相应索引值如下,<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>P</mi><mi>m</mi></msub><mo>=</mo><msup><mrow><mo>(</mo><msubsup><mi>Σ</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>L</mi></msubsup><msup><mrow><mo>|</mo><msubsup><mi>y</mi><mi>i</mi><mi>n</mi></msubsup><mo>|</mo></mrow><mi>m</mi></msup><mo>)</mo></mrow><mrow><mn>1</mn><mo>/</mo><mi>m</mi></mrow></msup></mrow>]]></math><img file="FDA0000603218700000013.GIF" wi="452" he="151" /></maths>其中,<img file="FDA0000603218700000021.GIF" wi="65" he="67" />为归一化后光谱第i个波段的辐射值,L为光谱的波段数,则P={P<sub>1</sub>,P<sub>2</sub>,…P<sub>M</sub>}构成了光谱的索引向量;步骤2.2,根据当前的阈值a,在超光谱数据库中寻找每个索引值S<sub>m</sub>都满足下列条件的光谱数据,(1‑a)×P<sub>m</sub>≤S<sub>m</sub>≤(1+a)×P<sub>m</sub> m=1,2,…,M步骤2.3,若步骤2.2寻找到的光谱数据小于b×R条,则将阈值a增加预设步长,返回到步骤2.2重新寻找;若步骤2.2寻找到的光谱数据大于等于b×R条,则结束迭代,寻找到的所有光谱数据所构成集合为搜索比对的范围;其中,其中b为预设值,R为超光谱数据库中光谱数据的总数;步骤3,光谱比对,包括根据步骤2所得搜索比对范围,将范围内的各光谱数据分别与待匹配的光谱进行比对得到光谱距离,选取光谱距离最小的光谱作为匹配对象;将范围内的光谱数据与待匹配的光谱进行比对的实现如下,设步骤2所确定搜索比对范围内任意一条光谱相应的归一化后光谱记为A,待匹配的光谱相应的归一化后光谱记为B,则通过以下公式计算光谱距离SAM(A,B),<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>SAM</mi><mrow><mo>(</mo><mi>A</mi><mo>,</mo><mi>B</mi><mo>)</mo></mrow><mo>=</mo><msup><mi>cos</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mfrac><mrow><mo><</mo><mi>A</mi><mo>,</mo><mi>B</mi><mo>></mo></mrow><mrow><mo>|</mo><mi>A</mi><mo>|</mo><mo>|</mo><mi>B</mi><mo>|</mo></mrow></mfrac></mrow>]]></math><img file="FDA0000603218700000022.GIF" wi="545" he="161" /></maths>其中,<A,B>为A与B的内积,||表示取二范数。 |