楊志超, 石 璐, 蔡 競, 張 輝
1. 浙江警察學(xué)院, 浙江 杭州 310053 2. 毒品防控技術(shù)浙江省重點實驗室, 浙江 杭州 310053
在公安刑偵、 檢驗檢疫等工作中, 血痕是重要的物證之一, 往往需要對血痕進行種屬鑒別, 判斷其為何物種所留。 傳統(tǒng)的血痕鑒別技術(shù)有酶免疫分析、 DNA檢測法、 高效液相色譜法等[1-3], 此類方法會損耗檢測樣品, 因物證樣本是行政執(zhí)法和法庭審判的重要證據(jù), 應(yīng)盡量采用無損的檢測方法。 拉曼光譜技術(shù)具有無損、 無需前處理、 分析檢測速度快的優(yōu)勢, 特別適合物證檢驗。 特別是表面增強拉曼技術(shù)[4-7], 分子附著與納米金屬材料表面, 通過納米金屬顆粒放大待測物的拉曼光譜信號, 增強倍率可達106以上。 目前, 拉曼光譜技術(shù)及其相關(guān)技術(shù)已被廣泛應(yīng)用于化工、 醫(yī)學(xué)、 半導(dǎo)體、 地質(zhì)等領(lǐng)域[8-10], 在血痕種屬鑒別等相關(guān)領(lǐng)域也日漸成熟。
利用拉曼光譜技術(shù)可以快速有效的鑒別血痕的物種歸屬。 白鵬利等人以3種不同物種動物和人類血痕為研究樣本, 采取拉曼光譜技術(shù)結(jié)合主成分分析法(PCA), 對于樣本血痕進行定性識別[11]。 鄭祥權(quán)等采用了人血與比格犬血作為實驗樣本, 檢測血痕樣本的拉曼光譜數(shù)據(jù), 結(jié)合PCA和線性判別分析(LDA)分類算法, 構(gòu)建了一種可以對人血和犬血進行種屬判斷的多元統(tǒng)計算法模型, 測試集的準確率達到90%[12]。 董家林等利用海洋光學(xué)Raman光譜儀測得共326例樣本數(shù)據(jù)(人110例、 犬116例、 兔100例), 采用SVM分類器, 訓(xùn)練集分類正確率達100%, 測試集分類正確率達93.52%[13]。
本文收集人血和雞、 鴨、 豬、 牛、 鼠5種動物血痕的拉曼光譜數(shù)據(jù), 對數(shù)據(jù)完成降噪和基線矯正, 結(jié)合特征選擇算法, 建立多分類模型, 對比各特征選擇算法和分類模型對準確率的影響, 并對結(jié)果進行驗證, 建立一套血痕種屬鑒別的快速檢測方法。
收集雞、 鴨、 豬、 牛、 鼠5種動物的血痕樣本75份, 每種動物的血痕樣本15份。 收集15名健康志愿者血痕樣本15份, 所有志愿者同意協(xié)助完成實驗。 所有血痕樣本不做任何的前處理, 取血后24 h內(nèi)測量, 血液滴載玻片表面, 靜置約2 h, 待血液完全凝固后獲取其拉曼光譜, 實驗環(huán)境溫度為20 ℃, 濕度為40%。
將6類物種, 每類物種15個樣本分成訓(xùn)練集和測試集。 每類物種隨機選取10個樣本作為訓(xùn)練集, 利用訓(xùn)練集樣本完成模型的建立和調(diào)參。 另外5個樣本作為測試集, 利用測試集數(shù)據(jù)做最終的模型評價。 對每個樣本隨機選取10個不同的位置獲得拉曼光譜數(shù)據(jù)。 最終得到的訓(xùn)練集中有600組拉曼光譜數(shù)據(jù), 測試集中有300組拉曼光譜數(shù)據(jù)。
實驗采用美國Thermo Fisher公司生產(chǎn)的DXR2xi顯微激光拉曼成像光譜儀, 拉曼光譜儀具有超低暗噪聲, 單光子信號探測器等優(yōu)勢。 計算機環(huán)境為Intel(R)Core(TM)i5-5200U CPU @ 2.2 GHz, RAM: 12.0 GB, 64位操作系統(tǒng)。
利用拉曼光譜儀獲取血痕的拉曼光譜, 實驗考察了不同的激發(fā)波長、 物鏡倍數(shù)、 激光強度、 曝光時間、 掃描次數(shù)等采集參數(shù), 綜合比較對樣本的破壞、 熒光干擾、 拉曼信號信噪比、 實驗效率等方面。 實驗選擇633 nm激光作為激發(fā)光源, 采用10×物鏡聚焦, 激光強度為3.0 mW, 曝光時間為0.2 s, 掃描次數(shù)為100次, 采集后的拉曼光譜的信噪比約40。 實驗采用迭代自適應(yīng)加權(quán)懲罰最小二乘法校正基線, 使用S-G平滑濾波實現(xiàn)平滑處理, 選取100~1 700 cm-1波段測試研究, 共830個波段。
研究分兩部分實驗, 第一部分實驗, 建立PLS-DA, LDA, PCA+LDA與SVM, PCA+SVM模型進行對比實驗, 比較SVM分類方法相對于其他兩種方法的準確率, 以及PCA降維的效果。 第二部分實驗, 采用三種波段選擇方法對拉曼光譜降維, 將被選擇的波段數(shù)據(jù)放入SVM分類器中, 探討波段選擇方法對分類準確率的影響。
線性判別分析(linear discriminant analysis, LDA)是一種多元線性學(xué)習(xí)方法, 思路是將數(shù)據(jù)投影到一條直線上, 使不同類數(shù)據(jù)的投影之間的距離盡量遠, 且同類數(shù)據(jù)的投影之間的距離盡量近。 偏最小二乘判別分析(partial least squares discriminant analysis, PLS-DA)是一種用于多元判別分析方法, 適用于樣本少、 特征多, 且特征變量之間存在多重共線性的情況。 實驗通過十折交叉驗證, 對參與建模的前10個主成分做判別分析并計算準確率。
支持向量機(support vector machine, SVM)利用核函數(shù)把樣本從低維空間映射到高維空間, 尋找最優(yōu)超平面將特征空間劃分開。 只有少量的支持向量在SVM分類中起決定作用, 不僅避免了“維數(shù)災(zāi)難”問題, 也使SVM算法魯棒性更強。 因此, SVM算法適用于小樣本、 高維度的拉曼光譜數(shù)據(jù)問題。 SVM分類模型有兩個重要的參數(shù)C和gamma。 通過網(wǎng)格搜索的方法確定最佳的C和gamma組合, 如圖1所示, 當C=100, gamma=0.001, 準確率達到90%以上。
圖1 C和gamma網(wǎng)格搜索的結(jié)果
不同的分類方法的準確率結(jié)果如表1所示, PCA+SVM方法在測試集中的準確率最高, 達85.7%。 LDA的準確率最低, 可能的原因是血痕的拉曼光譜數(shù)據(jù)存在嚴重的共線性問題。 通過PCA降維后, LDA和SVM算法在測試集中的準確率都有所提高, 可以說PCA降維對于測試準確率的提高有一定的幫助。 另一方面, SVM算法的準確率相對于LDA和PLS-DA都更高。 因此, SVM分類器是更優(yōu)的選擇。
表1 五種分類方法在訓(xùn)練集和測試集的準確率
光譜數(shù)據(jù)的降維方法分為基于數(shù)學(xué)變換的降維方法和基于波段選擇的降維方法。 基于數(shù)學(xué)變換的降維方法, 比如PCA, LDA和PLS等, 改變了原始數(shù)據(jù)的物理意義, 可解釋性差, 同時復(fù)雜的降維算法也增加了計算成本。 基于波段選擇的降維是從原始光譜數(shù)據(jù)中篩選出波段子集, 剔除不起作用或有干擾作用的冗余波段, 不會改變原始特征數(shù)據(jù), 不產(chǎn)生新的特征, 所挑選出來的波段依然保持原來的物理意義, 可解釋性強, 并且有效的提高計算效能。 如圖2所示, t1, t2, t3, …表示原始的拉曼光譜數(shù)據(jù), s1, s2表示經(jīng)過數(shù)學(xué)變換降維后的光譜數(shù)據(jù)。
圖2 光譜降維算法示意圖
互信息(mutual information, MI)度量了兩個隨機變量之間的統(tǒng)計依賴關(guān)系, 因此可以用來評估每個波段對分類的相對效用。 相對于單獨使用信息熵來說, 互信息搭起了波段信息與實際目標之間的關(guān)系。 計算每一個波段與類別信息之間的互信息值, 然后對波段的互信息進行降序排列, 選擇出互信息值最大的前K個波段, 組成波段子集。
遺傳算法(genetic algorithm, GA)是一種模擬生物遺傳機理的模型, 通過適者生存的方式尋找最優(yōu)解。 從一個隨機的種群開始, 逐代演化出更近似的解。 依據(jù)對問題的適應(yīng)性來選擇個體, 然后個體之間進行交叉和變異產(chǎn)生新的種群。 實驗中遺傳算法主要參數(shù): 變異概率2%, 迭代次數(shù)150次, 種群個體數(shù)為200。
等間隔組合法(equidistant combination, EC)本質(zhì)上是降低了光譜的分辨率, 達到波段選擇的目的。 其主要思想是在一定光譜范圍內(nèi)以相同的間隔提取波段。 等間隔組合方法的參數(shù)包括以下三個: 起始波長、 波長個數(shù)、 相鄰波長點之間的間隔數(shù), 比如(101, 200, 5)的波段數(shù)為20。 本實驗中, 波段數(shù)相同的, 取準確率最高者。
訓(xùn)練數(shù)據(jù)集中, 采用SVM分類器, 三種波段選擇方法10折交叉驗證的準確率表現(xiàn)如圖3所示。 在取25個波段時, 互信息法準確率不高, 隨著波段的數(shù)量增加, 互信息法所選擇的波段準確率提升較快, 并且在150個波段后保持穩(wěn)定, 整體準確率較高。 在波段選擇數(shù)為300時, 遺傳算法、 等間隔組合算法與互信息法的準確率接近, 達到93%左右。
圖3 不同的波段數(shù)量下三種波段選擇方法的訓(xùn)練集準確率
在選擇波段的數(shù)量為50時, MI+SVM, GA+SVM, EC+SVM在訓(xùn)練集準確率為88.8%, 88.3%和86.8%, 已達到PCA+SVM方法的相近的水平。 根據(jù)訓(xùn)練集中確定的最優(yōu)光譜波段, 同樣的選取測試集中對應(yīng)的50個波段組合, 并放入SVM分類器中驗證方法的可靠性, 結(jié)合PCA+SVM和PLS-DA, 結(jié)果對比如圖4所示。
圖4 五種方法在訓(xùn)練集和測試集的準確率對比
在選擇波段的數(shù)量為50時, MI+SVM, GA+SVM, EC+SVM在測試集準確率為86.0%, 85.3%和84.7%, 互信息法過濾得到的50個波段組合, 在訓(xùn)練集和測試集準確率都是最高的。 在測試集數(shù)據(jù)中, MI+SVM算法的分類準確率高于PCA+SVM(86.7%)。 另外, 從圖4中可以發(fā)現(xiàn), 采用波段選擇降維方法, 訓(xùn)練集準確率與測試集準確率之差更小, 主要原因是波段選擇方法排除了冗余的干擾波段的影響, 其表現(xiàn)更加穩(wěn)定。
未參與建模的300組測試樣本(6個物種各50組拉曼光譜)中, 人、 豬、 牛、 鼠、 雞和鴨的血液拉曼光譜預(yù)測準確率分別為84%, 80%, 84%, 82%, 92%和94%。 人血與豬血之間是判錯率較高, 人血的錯例中有87.5%是被錯判為豬血的, 豬血的錯例中有60%是被錯判為人血的, 這與豬血與人血的拉曼光譜更為相近有關(guān)。 雞血和鴨血之間容易混淆, 兩者同為禽類, 拉曼光譜更為相似。 禽類(雞、 鴨)和哺乳類動物(人、 豬、 牛、 鼠)之間是完全沒有錯判的, 說明禽類和哺乳類動物血液的拉曼光譜有較大區(qū)別。
圖5 互信息法選擇的最佳的25個波段
在血痕種屬鑒別方面, 以SVM算法作為拉曼光譜數(shù)據(jù)的分類器, 相對于LDA和PLS-DA分類器的準確率更高。 波段選擇降維方法應(yīng)用于血痕拉曼光譜鑒別充分體現(xiàn)出其有效性。 通過互信息法過濾得到的最佳波段組合, 再利用SVM算法分類, 其在驗證集和測試集準確率都是較高的。 在選擇50個波段時, 分別達到88.8%和86.0%。 PCA+SVM算法的準確率低于MI+SVM。 波段選擇方法的適應(yīng)性更好、 可解釋性更強, 對利用拉曼光譜在其他領(lǐng)域應(yīng)用有借鑒意義。 在實踐方面, 波段選擇可以簡化拉曼光譜系統(tǒng), 使該技術(shù)應(yīng)用于刑事技術(shù)、 海關(guān)檢疫等方面更加快捷和經(jīng)濟。