<form id="1hvnn"></form>

      <progress id="1hvnn"></progress>
      <ruby id="1hvnn"><th id="1hvnn"></th></ruby>

      <dfn id="1hvnn"></dfn>
          <sub id="1hvnn"><address id="1hvnn"><thead id="1hvnn"></thead></address></sub>

          <track id="1hvnn"><th id="1hvnn"></th></track>

              您好,歡迎進江蘇雙利合譜科技有限公司網站!
              您現在的位置:首頁 >> 解決方案 >> 利用高光譜影像和考慮類別概率信息的圖像半監督法實現番茄成熟度判別
              利用高光譜影像和考慮類別概率信息的圖像半監督法實現番茄成熟度判別
              瀏覽次數:198發布日期:2023-09-28

              背景

              番茄成熟度是描述番茄生長狀態和品質的重要指標。成熟期中等的番茄保質期較長,適合保存,具有較高的商業價值。因此,準確區分中間成熟度有助于小農和小型食品加工企業進行收獲和儲存決策。高光譜成像技術作為一種高效、無損的技術,將傳統光譜分析與機器視覺有機結合,在水果成熟度檢測中得到了廣泛應用。高光譜圖像包含數百個連續波段的大量數據,可以提供豐富的番茄成熟度相關信息。因此本研究利用高光譜成像技術對番茄成熟度進行區分。

              考慮到有監督方法中獲取大量準確的成熟度標簽是費時費力的,并且隨著標記樣本數量的增加,錯誤標簽的可能性也會增加。無監督方法由于缺乏先驗信息,模型的性能可能較差。而基于圖的方法計算效率更高,泛化能力更好。此外,稀疏表示模型在圖的構造上取得了很大的成功,它可以自動獲取鄰接關系和邊權重。因此,本研究采用基于圖的方法結合稀疏表示來判別番茄成熟度。

               

              試驗設計

              南京農業大學江億平副教授團隊利用搭載有400–1000 nmAndor’s

              Zyla,Oxford)和1000–2500 nmV10E,Specim)高光譜相機的高光譜分選儀(GaiaSorter,江蘇雙利合譜)(圖1),獲取了四個不同成熟階段的番茄高光譜影像。后續對高光譜影像進行黑白板校正、ROI區域提取以及多重散射校正,以獲得每個樣本的平均光譜。

               

              1 用于番茄成熟度判別的高光譜成像系統

              本研究設計了一種基于高光譜數據的半監督番茄成熟度判別方法。這種方法包括三個連續的步驟(圖2)。首先,對標記樣本進行稀疏編碼,得到番茄樣本的類概率信息;然后,設計了一種基于譜信息散度和拉普拉斯分數SIDLS的半監督特征選擇方法,其中利用類概率信息構造圖,以實現從原始波段集中選擇有效特征子集;最后,建立基于類概率信息CSR的稀疏表示,構建反映樣本之間關系的連接圖,并利用標簽傳播算法區分未標記樣本的成熟度標簽。

               

              2 考慮類別概率信息的基于圖的半監督與稀疏表示相結合的番茄成熟度判別流程圖

               

              結論

              為了驗證CSR模型是否可以構建更具判別性的連接圖,其他的圖構造方法包括高斯核(GK)函數,局部線性嵌入(LLE),局部線性重建(LLR),以及稀疏表示模型(SR)在使用無特征選擇和相同標簽傳播(LP)算法的情況下與CSR模型進行了比較。具體模型參數設置如表1所示。

              1 每種判別方法的參數

              如圖3所示,與SR模型和CSR模型相比,GK、LLR和LLE三種方法的性能都相對較差。這三種方法依賴于參數K,需要手動設置該參數,這可能會受到主觀因素和高光譜數據噪聲的影響。CSR模型和SR模型都能自動獲得鄰接關系和權重,受主觀因素影響較小。此外,在標記樣本數量相同的情況下,CSR模型對番茄成熟度判別的整體準確率高于SR模型。這表明,如果稀疏表示模型考慮了類信息,可能會有效提高學習性能。與SR模型相比,CSR模型在連接圖的構建中利用了類概率信息。該模型輸出的完整連接圖能夠反映番茄樣本之間的真實關系。

               

              3 CSR模型與其他無特征選擇方法的精度比較

              通過對比模型性能可以發現,CSR模型在各成熟度階段的查全率、查準率和F1分均不低于其他圖構造方法(表2)。雖然CSR和SR模型可以很好地區分番茄的綠色和紅色成熟期,但是依然有大量錯誤判斷集中在中期成熟階段。原本屬于變色期的番茄被誤認為相鄰的硬期。原本屬于硬期的番茄被錯誤地判斷為變色期和紅期。但是獲取大量的成熟度標簽是非常困難和耗時的。為了克服這一缺點,有必要設計一種使用較少標記的番茄樣品的鑒別方法。

              2 每個成熟度階段有10個標記樣本的CSR模型的混淆矩陣

               

              為了驗證SIDLS算法是否能夠選擇更有效的特征子集并減少特征選擇中的信息損失,在選擇波段數量相同的情況下,將SIDLS算法與基于拉普拉斯分數SSLS和半監督fisher分數SFS算法進行了比較(圖4)。本試驗中采用CSR模型對特征選擇后的番茄成熟度進行判別。CSR模型有四種全波段-CSR模型full-CSR、SSLS算法-CSR模型SSLS-CSR、SFS算法-CSR模型SFS-CSRSIDLS算法-CSR模型SIDLS-CSR。

              SIDLS-CSR的整體準確率高于full-CSR,說明波段的選擇在一定程度上提高了番茄成熟度判別的性能。SIDLS算法選擇的特征子集比SSLS算法和SFS算法選擇的特征子集有性能上的優勢。SSLS-CSR模型和SFS-CSR的整體精度甚至低于full-CSR,這是由于SSLS和SFS算的基本參數k對數據噪聲敏感,會去除一些相關波段,在特征選擇中造成大量信息損失,以及這兩種算法會忽略特征之間的相關性,逐個評估特征所導致的。

               

              4 基于不同特征選擇算法的CSR模型比較。波段數分別為5(a)、10b)、15c)、20d)

              選擇特征和標記樣本的數量會影響SIDLS算法的性能。在特征選擇后使用CSR模型進行實驗,以測試模型性能隨所選特征數量和標記樣本數量的變化(圖5)。當標記樣本數量為10時,SIDLS算法的總體平均精度均有較大優勢。當標記樣本數量較少時,有用的先驗信息會隨著標記樣本數量的增加而增加。當所選特征數為14個時,SIDLS算法在番茄成熟度判別上具有較大優勢,總體準確率平均為96.78%。所選特征數較少時會導致重要信息的丟失,較多時則會包含冗余信息和噪聲。

              5 SIDLS算法的性能隨每類所選特征和標記樣本數量的變化

              綜上所述,本研究提出了一種新穎可行的基于高光譜成像的方法,利用少量的標記樣本來區分番茄的多個成熟度階段。為了提高半監督學習的性能,該方法利用已知的標簽信息描述番茄的類概率信息,并將其用于圖的構造。在特征選擇中,利用光譜信息散度和拉普拉斯分數選擇相似度較低的特征子集,減少了高光譜數據的信息損失。在成熟度標簽識別中,建立了基于類概率信息的稀疏表示模型,構建了更具鑒別性的連接圖,提高了標簽傳播算法的性能。試驗結果表明,該方法實現了番茄成熟度的無損準確判別,整體準確率可達96.78%,適用于小農和小規模食品加工企業。

               

               

              作者信息

              江億平,博士,南京農業大學信息管理學院副教授,碩士生導師。

              主要研究方向:農產品質量安全與智慧物流、數據驅動的系統優化與決策、農業大數據分析與信息技術、涉農電子商務與供應鏈管理等。

              參考文獻:

              Jiang, Y.P., Chen, S.F., Bian, B., Li, Y.H., Sun, Y., & Wang, X.C. (2021). Discrimination of Tomato Maturity Using Hyperspectral Imaging Combined with Graph-Based Semi-supervised Method Considering Class Probability Information. Food Analytical Methods, 14, 968-983. 

              免费无码多毛A视频|高清无码一级电影|金发人妻玩弄她的奶子﹣ ThePorn|国产在线精品无码一区二区三区
              <form id="1hvnn"></form>

                  <progress id="1hvnn"></progress>
                  <ruby id="1hvnn"><th id="1hvnn"></th></ruby>

                  <dfn id="1hvnn"></dfn>
                      <sub id="1hvnn"><address id="1hvnn"><thead id="1hvnn"></thead></address></sub>

                      <track id="1hvnn"><th id="1hvnn"></th></track>