天天看點

基于飛槳實作高光譜反演:通過遙感資料擷取土壤某物質含量

【飛槳開發者說】馬雲飛,棗莊學院地理資訊科學專業在讀,計算機視覺技術愛好者,研究方向為神經網絡在遙感領域的應用等。

基于飛槳實作高光譜反演:通過遙感資料擷取土壤某物質含量

高光譜反演是什麼?

基于飛槳實作高光譜反演:通過遙感資料擷取土壤某物質含量

高光譜遙感可應用在礦物精細識别(比如油氣資源及災害探測)、地質環境資訊反演(比如植被重金屬污染探測)、行星地質探測(比如中國行星探測工程 天問一号)等。

基于飛槳實作高光譜反演:通過遙感資料擷取土壤某物質含量

目前有許多模型可用于高光譜反演,如線性模型、自然對數模型、包絡線去除模型、簡化Hapke模型,人工神經網絡模型等,本文選擇線性模型進行研究。

準備資料集

基于飛槳實作高光譜反演:通過遙感資料擷取土壤某物質含量
基于飛槳實作高光譜反演:通過遙感資料擷取土壤某物質含量
基于飛槳實作高光譜反演:通過遙感資料擷取土壤某物質含量
基于飛槳實作高光譜反演:通過遙感資料擷取土壤某物質含量
基于飛槳實作高光譜反演:通過遙感資料擷取土壤某物質含量

本次使用的資料集格式如下:

基于飛槳實作高光譜反演:通過遙感資料擷取土壤某物質含量

切割資料的比例要考慮到兩個因素:更多的訓練資料會降低參數估計的方差,進而得到更可信的模型;而更多的測試資料會降低測試誤差的方差,進而得到更可信的測試誤差。我們這個例子中設定的分割比例為8:2。

以下代碼可直接在百度AI Studio 上fork我的項目來運作:

https://aistudio.baidu.com/aistudio/projectdetail/693750/

配置訓練程式

對于線性回歸來講,它就是一個從輸入到輸出的簡單的全連接配接層。訓練程式必須傳回 平均損失作為第一個傳回值,因為它會被後面反向傳播算法所用到。

優化器選擇的是 SGD(随機梯度下降)optimizer,其中 learning_rate 是學習率,與網絡的訓練收斂速度有關系。代碼如下:

開始訓練

model_save_dir:模型的儲存目錄,儲存下來,下次就可以繼續訓練或者直接推理了。

訓練過程圖:

基于飛槳實作高光譜反演:通過遙感資料擷取土壤某物質含量

模型預測

基于飛槳實作高光譜反演:通過遙感資料擷取土壤某物質含量

将結果進行可視化,橫軸為實際含量,縱軸為根據光譜預測的含量,大部分得結果還是比較接近得。至此,我們獲得了通過光譜看到土壤中某物質含量的火眼金睛啦!高光譜反演的用途還有許多,快快在AI Studio中fork項目展示出你的創意吧:

如在使用過程中有問題,可加入飛槳官方QQ群進行交流:1108045677。