黃 海
(廣西壯族自治區(qū)產品質量檢驗研究院,廣西 南寧 530222)
研究方案整體分為3部分:試驗部分、高光譜數據處理部分及分類算法研究。其中,試驗部分主要包括水稻種子材料的收集、預試驗確定最佳試驗條件及參數、試驗水稻種子的篩選和最后高光譜數據的采集;高光譜數據處理部分是通過試驗得到水稻種子圖像信息,利用數字圖像處理技術來間接獲取光譜信息,便于后續(xù)種子分類;分類算法部分通過線性判別分析算法(Linear Discriminant Analysis,LDA)及K近鄰算法(K-Nearest Neighbor,KNN)相互對照分析分類結果。此試驗通過這3部分的有機結合,建立水稻種子分類方法。
試驗所用3類水稻種子分別為贛香占、黃華占和農香32,每類均選取180粒進行試驗。所選試驗水稻種子均品質良好,外觀無明顯瑕疵。將540粒試驗樣本按2∶1隨機分成建模集和測試集,建模集每類120粒,測試集每類60粒。
試驗光譜波長范圍為400~720 nm,光譜分辨率為2 nm,圖片分辨率為1 392 px×1 040 px,曝光時間為3.01 ms,物鏡高度為45 cm。試驗過程中,為降低試驗設備對試驗的影響(如鏡頭存在暗電流和周圍環(huán)境引起的噪聲),試驗前需要對采集高光譜圖像進行黑白校正。選擇白色標定板(反射率接近100%)的高光譜圖像作為校正中的白色標定圖,同時采集黑板(反射率接近0%)高光譜圖像作為黑色標定圖,矯正公式如下:
式(1)中:為經黑白校正后的高光譜圖像;為原始的水稻種子高光譜圖像;為黑色標定圖;為白色標定圖。
為獲取不同波長對應的不同品種水稻種子光譜,試驗選用的波長范圍為400~720 nm,去除噪聲比較明顯的波長,僅保留450~720 nm波長范圍的數據進行分析處理,光譜分辨率為2 nm,每組試驗生成136幅光譜圖像。如果通過Auto Properties軟件人工手動選取ROI再保存光譜數據,試驗工作量過大,同時人工選取無法避免主觀性帶來的誤差。因此,在數據處理過程利用高光譜生成的圖像信息,將圖片中擺放整齊的水稻種子通過Snake算法提取各粒水稻種子的完整輪廓,再進行閾值分割,將背景與水稻種子分離生成二值圖,統(tǒng)計二值圖各粒種子整個輪廓內的像素值并取平均值,即得到各波段對應的水稻種子平均光譜。將處理后的數據按標簽對應導入Excel保存,用于后續(xù)反射率計算及建模分析分類。
研究中采用的分類方法是通過LDA算法對光譜數據進行降維處理,再結合KNN算法實現450~720 nm波段內基于光譜數據的水稻種子品種分類。
1.6.1 使用的設備及軟件。試驗用到的硬件有高光成像裝置、鹵燈、黑色底板,軟件平臺是Auto Properties。
1.6.2 設備安裝。一是安裝高光譜成像設備。二是安裝濾波器。三是調焦。調焦主要包括以下6個步驟:①確認高光譜成像裝置和電腦已經連接;②打開鹵燈電源并將試驗對象放到鏡頭下;③設置曝光時間和FPS及Preview時的波長后,點擊Auto Properties上的Preview按鈕,注意曝光時間不能設置得太長,曝光時間過長會導致過飽和,不但得不到清晰的圖像,還會損壞高光譜成像裝置;④根據成像來移動試驗對象,直至獲得完整的試驗對象的成像;⑤旋轉支架上的調節(jié)桿,將高光譜成像裝置上升到一定的高度,再緩慢旋轉調節(jié)桿降低其高度,直到成像清晰為止;⑥記錄下高光譜成像裝置的高度。
1.6.3 預試驗拍攝。拍攝一組黑底的對照試驗組,計算試驗對象的反射率。①將黑色底襯(不反光的一面朝上)放在鏡頭下,要確保覆蓋整個鏡頭。②調整Auto Properties的參數,調整曝光時間及FPS,然后點擊Sweep按鈕,調整波長的范圍、波長增加的步長及時延,并將這些參數記錄下來。③點擊Cycle,開始拍攝。④Sweep窗口顯示stop時,即表示拍攝完畢,拍攝的成像保存在Auto Properties同目錄下的shot X文件夾。
1.6.4 試驗樣本拍攝。①將目標對象放在高光譜成像裝置下,調整目標對象的位置,使其成像在中間。②設置Preview時的波長(此處的波長主要是為了讓成像清晰)。③根據成像來移動試驗對象直至成像中有完整的試驗對象的成像。④將對照組試驗的參數填寫相應的參數。⑤點擊Cycle,開始拍攝。⑥Sweep窗口顯示stop時,即表示拍攝完畢,拍攝的成像保存在Auto Properties同目錄下的shot X文件夾。⑦結束試驗后,要將試驗裝置歸位。
1.6.5 試驗圖像處理。①重新打開Auto Properties。點擊文件→點擊打開,隨機選取一張比較清晰的圖像。②選取圖形工具。該軟件提供2種圖形工具:點和矩形。③選取感興趣區(qū)域。選取區(qū)域的時候盡量避免太亮和太暗的區(qū)域。點擊圖像處理→Output保存光譜數據。在Auto Properties同目錄下生成一個record.txt。
通過試驗可以拍攝得到水稻種子的高光譜圖,但要想提取光譜數據,還要進行進一步處理。傳統(tǒng)的方式是通過Auto Properties軟件人工手動提取矩形ROI來獲取后續(xù)分類的光譜數據,但這種方法有一定局限性。首先是只能利用種子的部分區(qū)域信息,可能對后續(xù)分類有影響;其次是人工選取工作量太大,耗費時間、精力過多,而且選取過程有一定主觀性。為了避免上述問題,該研究中充分利用試驗中得到的圖像數據來提取平均光譜,采用了Snake算法獲取水稻種子的輪廓,目的是減少算法迭代次數,提高效率,這樣提取到的水稻種子輪廓完整度和精確性較好。
試驗中采集了3類水稻種子在400~720 nm波段內的可見光光譜,但去除噪聲明顯部分,僅處理了450~720 nm的數據,光譜分辨率為2 nm,所以每類種子有136個特征信息數據。但考慮到周圍試驗環(huán)境和試驗設備自身對試驗的影響,需要對采集到的光譜數據進行降噪處理。依據3類水稻種子在450~720 nm的平均光譜,了解到贛香占、黃華占及農香32這3類水稻種子的光譜曲線變化和分布情況基本一致,波谷、波峰對應的波長位置也相同,但對應的反射率各有不同,如圖1所示。其中,農香32和贛香占反射率值相近且均高于黃華占,農香32和贛香占反射率相近,可能是分類時相互影響導致。上述曲線變化趨勢是由不同品種水稻種子內部分子構成和化學成分的差異造成的,通過將采集數據以圖形直觀表現,便于觀察和后續(xù)分類。
圖1 3類水稻種子的平均光譜曲線
實際運用KNN算法時,計算樣本間的歐式距離后,要確定最接近樣本的點,即值,進而使分類效果最好。如果人為選擇值,再通過一次次的測試比較來逼近最佳值,則效率低下。同時,如果處理對象包含大量的數據,每次測試耗費的時間會過長,最后可能逼近的值也不是最佳鄰近點值,不能建立最優(yōu)分類模型。為解決這個問題,此次研究在運用KNN算法前通過高效的預測試方法確定最佳值,該方法的實現思路是KNN使用時通過循環(huán)遍歷從1到100內的取值,并統(tǒng)計每次取值后的整體準確率,以曲線圖的形式表現,并確定值。
該研究建立了基于450~720 nm全段波長光譜數據的KNN水稻種子分類模型和經LDA算法數據降維再提取特征分類的LDA-KNN水稻種子分類模型,模型性能以分類準確率和分類時間為評判標準。3類水稻種子原始分類數據及LDA-KNN模型降維數據分類結果分別見表1、表2。
表1 基于450~720 nm全段波長光譜數據的KNN水稻種子分類數據結果
表2 3類水稻種子LDA-KNN模型降維數據分類結果
通過試驗模型評判結果可知,兩種分類模型最佳值均取5,經過數據降維處理的LDA-KNN模型全面優(yōu)于利用了全波長數據的KNN模型。在識別準確率方面,KNN算法結合LDA后將3類水稻種子的平均分類準確率由73.7%提升至96.3%,增長了22.6個百分點,同時黃花占和農香32準確率分別由61.7%、62.2%均提升至100%,但美中不足的是,降維后贛香占準確率降低了8.3個百分點。從分類時間來看,兩類模型在同樣輸入的數據集中分類速度都非常快速,能滿足實時分類的需要,這也是KNN算法本身的特點,而經LDA數據降維后能去除大量冗雜數據,所以LDA-KNN模型分類時間更短。綜合前面的分析,總體來看LDA-KNN模型性能更好,為水稻種子的分類提供了可行依據。
該試驗結果表明,利用高光譜成像技術在450~720 nm可見光下,通過LDA-KNN分類模型能夠實現不同品種水稻種子快速、高效、可靠的分類。
筆者基于高光譜成像技術,以水稻分類研究為例,開發(fā)了一套基于高光譜成像技術的水稻種子快速、無損、高效分類方法。該方法具有如下特點。①無損檢測。通過高光譜成像技術結合機器視覺,能實現無接觸檢測,最大限度地保證了水稻種子完整性,確保作物產量和農民、銷售商的利益。②可靠高效。采用該技術可避免主觀性帶來的錯誤判別,保證分類的高效性。③推廣性強。該研究提出了新的水稻種子分類方法,可推廣到其他種子識別分類上,專業(yè)性要求不高,普適性強,為農業(yè)育種中的種子快速篩選提供了思路和幫助。
當然,該研究開發(fā)的水稻種子分類方法不可避免還存在著一些不足,還可以進一步改進和完善。①目前,基于高光譜成像技術的水稻種子分類基本是在試驗室內通過間接測定稻谷籽粒的光譜實現,沒有直接通過測定農田里的水稻植株光譜來鑒別水稻品種,需進一步完善驗證。②在用高光譜成像技術進行水稻種子分類時,不同型號的儀器設備在試驗過程中提取的光譜數據可能各有差異,從而導致后續(xù)分類所需的特征信息也有所不同。這種情況下,在特定設備條件下建立的分類模型的普適性會降低,這是需要克服的潛在不足。③在不同的水稻種子分類方法中,數據處理和分類算法各有不同,最終分類識別精度也各不相同,可以對技術路線進行統(tǒng)一化,從而降低建模難度,提高模型識別精度和穩(wěn)定性。