基於濃度殘差信息的近紅外光譜檢測水果品質的方法及系統與流程
2023-12-05 05:03:46 7

本發明涉及紅外光譜數據分析技術領域和水果檢測技術領域,尤其涉及一種基於濃度殘差信息的近紅外光譜檢測水果品質的方法及系統。
背景技術:
紅外光譜檢測具有快速、安全、低成本、無損的特點,用紅外光譜來對物質進行快速檢測是一種行之有效的辦法。然而,現有採用紅外光譜數據的常用模式來識別水果品質的方法或多或少都存在一些缺陷,如偏最小二乘法回歸算法(pls)方法,需要涉及複雜的不直觀的空間投影,又如主成份分析法(pca),需要確定主成份數或者隱函數因子的大小,對參數的選擇有更高的要求。
因此,亟需一種基於濃度殘差信息的近紅外光譜檢測水果品質的方法,避免紅外光譜數據需要平滑、變量選擇的過程,達到快速識別水果品質的目的。
技術實現要素:
本發明實施例的目的在於提供一種基於濃度殘差信息的近紅外光譜檢測水果品質的方法及系統,避免紅外光譜數據需要平滑、變量選擇的過程,達到快速識別水果品質的目的。
為了解決上述技術問題,本發明實施例提供了一種基於濃度殘差信息的近紅外光譜檢測水果品質的方法,所述方法包括:
s1、提取已知濃度數據的水果樣本為訓練樣本以及未知濃度數據的水果樣本為預測樣本,並確定所述訓練樣本和所述預測樣本各自對應的紅外光譜數據,且進一步得到由所述訓練樣本的紅外光譜數據形成的訓練樣本光譜矩陣以及由所述預測樣本的紅外光譜數據形成的預測樣本光譜矩陣;其中,所述訓練樣本光譜矩陣的行數為訓練樣本數量、列數為紅外光譜數據的固定光譜維度;所述預測樣本光譜矩陣的行數為預測樣本數量、列數為紅外光譜數據的固定光譜維度;
s2、設置迭代次數,以及得到由所述訓練樣本的已知濃度數據形成的行數為訓練樣本數量、列數為1的濃度矩陣;
s3、獲取當前迭代次數和當前濃度矩陣;
s4、將所述訓練樣本光譜矩陣與所述當前濃度矩陣構建線性關係並利用最小二乘法回歸算法進行求解,得到求解後的當前回歸係數,且進一步根據所述求解後的當前回歸係數以及所述訓練樣本光譜矩陣,利用最小二乘法回歸算法反向求解出當前回歸濃度矩陣;
s5、根據所述求解出的當前回歸濃度矩陣和所述當前濃度矩陣,得到當前濃度殘差矩陣,並將所述得到的當前濃度殘差矩陣與所述當前濃度矩陣組合成新濃度矩陣,且將所述當前迭代次數減一;其中,所述當前濃度殘差矩陣的行數固定為訓練樣本數量、列數固定為1;
s6、待判定所述當前迭代次數減一後不為0時,返回所述步驟s3繼續迭代運算;
s7、待判定所述當前迭代次數減一後為0時,結束迭代運算,輸出最後求解的回歸係數;
s8、根據所述預測樣本光譜矩陣和所述最後求解的回歸係數,利用最小二乘法回歸算法進行反向求解,得到預測樣本濃度矩陣,並提取所述預測樣本濃度矩陣的第一列數據作為預測樣本的濃度數據。
其中,所述步驟s4具體包括:
將所述訓練樣本光譜矩陣與所述當前濃度矩陣構建線性關係,根據公式得到求解後的當前回歸係數其中,a表示所述訓練樣本光譜矩陣;c表示所述當前濃度矩陣;c+表示所述當前濃度矩陣的偽逆矩陣;
將所述求解後的當前回歸係數以及所述訓練樣本光譜矩陣a導入公式中,得到當前回歸濃度矩陣
其中,所述步驟s5中的「當前濃度殘差矩陣」由來實現。
其中,所述步驟s5中的「新濃度矩陣」是通過在所述當前濃度矩陣的基礎上增加一列來實現,且其所增加的一列數據為對應當前所得濃度殘差矩陣的數據。
其中,所述步驟s8具體包括:
將所述預測樣本光譜矩陣和所述最後求解的回歸係數導入公式中,得到預測樣本濃度矩陣並提取所述預測樣本濃度矩陣的第一列數據作為預測樣本的濃度數據;其中,at表示所述預測樣本光譜矩陣;表示所述最後求解的回歸係數。
其中,所述濃度數據為水果的甜度值或酸度值。
本發明實施例還提供了一種基於濃度殘差信息的近紅外光譜檢測水果品質的系統,所述系統包括:
第一設置單元,用於提取已知濃度數據的水果樣本為訓練樣本以及未知濃度數據的水果樣本為預測樣本,並確定所述訓練樣本和所述預測樣本各自對應的紅外光譜數據,且進一步得到由所述訓練樣本的紅外光譜數據形成的訓練樣本光譜矩陣以及由所述預測樣本的紅外光譜數據形成的預測樣本光譜矩陣;其中,所述訓練樣本光譜矩陣的行數為訓練樣本數量、列數為紅外光譜數據的固定光譜維度;所述預測樣本光譜矩陣的行數為預測樣本數量、列數為紅外光譜數據的固定光譜維度;
第二設置單元,用於設置迭代次數,以及得到由所述訓練樣本的已知濃度數據形成的行數為訓練樣本數量、列數為1的濃度矩陣;
獲取單元,用於獲取當前迭代次數和當前濃度矩陣;
第一計算單元,用於將所述訓練樣本光譜矩陣與所述當前濃度矩陣構建線性關係並利用最小二乘法回歸算法進行求解,得到求解後的當前回歸係數,且進一步根據所述求解後的當前回歸係數以及所述訓練樣本光譜矩陣,利用最小二乘法回歸算法反向求解出當前回歸濃度矩陣;
第二計算單元,用於根據所述求解出的當前回歸濃度矩陣和所述當前濃度矩陣,得到當前濃度殘差矩陣,並將所述得到的當前濃度殘差矩陣與所述當前濃度矩陣組合成新濃度矩陣,且將所述當前迭代次數減一;其中,所述當前濃度殘差矩陣的行數固定為訓練樣本數量、列數固定為1;
第一判定單元,用於待判定所述當前迭代次數減一後不為0時,返回所述獲取單元;
第二判定單元,用於待判定所述當前迭代次數減一後為0時,結束迭代運算,輸出最後求解的回歸係數;
預測結果輸出單元,用於根據所述預測樣本光譜矩陣和所述最後求解的回歸係數,利用最小二乘法回歸算法進行反向求解,得到預測樣本濃度矩陣,並提取所述預測樣本濃度矩陣的第一列數據作為預測樣本的濃度數據。
其中,所述第二計算單元包括:
回歸係數計算模塊,用於將所述訓練樣本光譜矩陣與所述當前濃度矩陣構建線性關係,根據公式得到求解後的當前回歸係數其中,a表示所述訓練樣本光譜矩陣;c表示所述當前濃度矩陣;c+表示所述當前濃度矩陣的偽逆矩陣;
回歸濃度矩陣計算模塊,用於將所述求解後的當前回歸係數以及所述訓練樣本光譜矩陣a導入公式中,得到當前回歸濃度矩陣
其中,所述當前濃度殘差矩陣由來實現。
其中,所述新濃度矩陣是通過在所述當前濃度矩陣的基礎上增加一列來實現,且其所增加的一列數據為對應當前所得濃度殘差矩陣的數據。
實施本發明實施例,具有如下有益效果:
本發明實施例基於簡單的最小二乘法框架,以通過不斷地迭代優化濃度數據的方式來確定水果的未知濃度數據,能達到快速識別水果品質的目的,該方法不僅避免了光譜數據需要平滑、變量選擇的過程,迭代殘差矩陣的過程同時也是個收斂的過程,避免了類似參數選擇不佳,致使模型過擬合的情況。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,根據這些附圖獲得其他的附圖仍屬於本發明的範疇。
圖1為本發明實施例提供的基於濃度殘差信息的近紅外光譜檢測水果品質的方法的流程圖;
圖2本發明實施例提供的基於濃度殘差信息的近紅外光譜檢測水果品質的系統的結構示意圖。
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
如圖1所示,本發明實施例中,提出一種基於濃度殘差信息的近紅外光譜檢測水果品質的方法,所述方法包括:
步驟s101、提取已知濃度數據的水果樣本為訓練樣本以及未知濃度數據的水果樣本為預測樣本,並確定所述訓練樣本和所述預測樣本各自對應的紅外光譜數據,且進一步得到由所述訓練樣本的紅外光譜數據形成的訓練樣本光譜矩陣以及由所述預測樣本的紅外光譜數據形成的預測樣本光譜矩陣;其中,所述訓練樣本光譜矩陣的行數為訓練樣本數量、列數為紅外光譜數據的固定光譜維度;所述預測樣本光譜矩陣的行數為預測樣本數量、列數為紅外光譜數據的固定光譜維度;
具體過程為,將水果樣本劃分成訓練樣本和預測樣本,該訓練樣本的濃度數據已知,而預測樣本的濃度數據未知,但是所有水果樣本的紅外光譜數據都可以準確獲得,因此可以基於訓練樣本的已知濃度數據,通過紅外光譜數據來快速識別預測樣本的未知濃度數據。
在本發明實施例中,構建訓練樣本光譜矩陣a,該訓練樣本光譜矩陣a由訓練樣本的紅外光譜數據形成的行數為訓練樣本數量、列數為紅外光譜數據的固定光譜維度的矩陣;構建預測樣本光譜矩陣at,該預測樣本光譜矩陣at由預測樣本的紅外光譜數據形成的行數為預測樣本數量、列數為紅外光譜數據的固定光譜維度的矩陣。應當說明的是,紅外光譜數據的固定光譜維度固定為1557。
步驟s102、設置迭代次數,以及得到由所述訓練樣本的已知濃度數據形成的行數為訓練樣本數量、列數為1的濃度矩陣;
具體過程為,選擇一個比較合適的迭代次數,對於比較純淨的樣本,可以選擇比較小的迭代次數,對於複雜的樣本,可以選擇比較大的迭代次數,通常來說,迭代次數可以取大一些,即使迭代多了,也不會造成過擬合的影響,只會提前收斂到一個特定的值。同時為了能夠利用最小二乘法回歸算法,需要構建與訓練樣本光譜矩陣呈線性關係對應的濃度矩陣,該濃度矩陣是由訓練樣本的已知濃度數據形成的行數為訓練樣本數量、列數為1的矩陣,濃度數據為水果的甜度值或酸度值,即濃度矩陣由水果的甜度值或酸度值組成。
步驟s103、獲取當前迭代次數和當前濃度矩陣;
具體過程為,開始循環迭代運算,獲取每次運算前的迭代次數和濃度矩陣,以便於確定每次迭代計算過程。
步驟s104、將所述訓練樣本光譜矩陣與所述當前濃度矩陣構建線性關係並利用最小二乘法回歸算法進行求解,得到求解後的當前回歸係數,且進一步根據所述求解後的當前回歸係數以及所述訓練樣本光譜矩陣,利用最小二乘法回歸算法反向求解出當前回歸濃度矩陣;
具體過程為,將訓練樣本光譜矩陣與當前濃度矩陣構建線性關係,根據公式得到求解後的當前回歸係數其中,a表示訓練樣本光譜矩陣;c表示當前濃度矩陣;c+表示當前濃度矩陣的偽逆矩陣;
進一步的,將求解後的當前回歸係數以及訓練樣本光譜矩陣a導入公式中,得到當前回歸濃度矩陣
步驟s105、根據所述求解出的當前回歸濃度矩陣和所述當前濃度矩陣,得到當前濃度殘差矩陣,並將所述得到的當前濃度殘差矩陣與所述當前濃度矩陣組合成新濃度矩陣,且將所述當前迭代次數減一;其中,所述當前濃度殘差矩陣的行數固定為訓練樣本數量、列數固定為1;
具體過程為,根據求解出的當前回歸濃度矩陣和當前濃度矩陣c,得到前濃度殘差矩陣應當說明的是,每次迭代計算後的當前濃度殘差矩陣的行數固定為訓練樣本數量、列數固定為1。
將當前濃度殘差矩陣與當前濃度矩陣c組合成的新濃度矩陣是通過在當前濃度矩陣c的基礎上增加一列來實現,且其所增加的一列數據為對應當前所得濃度殘差矩陣的數據。
步驟s106、判定所述當前迭代次數減一後是否為0;如果否,則返回所述步驟s103繼續迭代運算;如果是,則執行下一步驟s107;
步驟s107、結束迭代運算,輸出最後求解的回歸係數;
具體過程為,通過與步驟s106結合,通過當前迭代次數來判定迭代運算是否結束,如果迭代運算結束則輸出最後求解的回歸係數反之,繼續迭代運算,重複步驟s103至步驟s106。
步驟s108、根據所述預測樣本光譜矩陣和所述最後求解的回歸係數,利用最小二乘法回歸算法進行反向求解,得到預測樣本濃度矩陣,並提取所述預測樣本濃度矩陣的第一列數據作為預測樣本的濃度數據。
具體過程為,將預測樣本光譜矩陣at和最後求解的回歸係數導入公式中,得到預測樣本濃度矩陣並提取預測樣本濃度矩陣的第一列數據作為預測樣本的濃度數據。
對本發明實施例中於紅外光譜數據識別水果濃度的方法的應用場景做進一步說明,具體如下:
共有250個橘子樣本,所有橘子樣本的紅外光譜數據的光譜維度是1557,濃度數據採用酸度值來表示,即此時濃度矩陣為酸度矩陣。以4:1的比例劃分訓練集與預測集,得到200個已知酸度值的訓練樣本和50個未知酸度值的預測樣本,構建訓練樣本光譜矩陣a和預測樣本光譜矩陣at,其中,訓練樣本光譜矩陣a是由200個已知酸度值的訓練樣本的紅外光譜數據形成的200行、1557列的矩陣,預測樣本光譜矩陣at是由50個未知酸度值的預測樣本的紅外光譜數據形成的50行、1557列的矩陣。
設置迭代次數為100,酸度矩陣c初始由200個訓練樣本的已知酸度值形成,行數為200、列為1,如
開始迭代運算,求出當前回歸酸度矩陣以及當前酸度殘差矩陣該當前酸度殘差矩陣是由200行、1列的對於酸度的殘差值,如
構造新酸度矩陣將當前酸度矩陣添加上當前酸度殘差矩陣,生成新的酸度矩陣,如即在原來酸度矩陣的基礎上,添加上殘差的那一列。通過繼續迭代運算直至結束,可知最後的酸度矩陣應該是200行,迭代次數加1列(101列)的酸度矩陣,且最終得出的回歸係數如它的行數是迭代次數(100),列數是1557。
通過50個預測樣本光譜數據at,根據公式得出預測的酸度,然後取出第一列的酸度值作為最終的酸度結果值輸出。
如圖2所示,為本發明實施例中,提供的一種基於濃度殘差信息的近紅外光譜檢測水果品質的系統,所述系統包括:
第一設置單元110,用於提取已知濃度數據的水果樣本為訓練樣本以及未知濃度數據的水果樣本為預測樣本,並確定所述訓練樣本和所述預測樣本各自對應的紅外光譜數據,且進一步得到由所述訓練樣本的紅外光譜數據形成的訓練樣本光譜矩陣以及由所述預測樣本的紅外光譜數據形成的預測樣本光譜矩陣;其中,所述訓練樣本光譜矩陣的行數為訓練樣本數量、列數為紅外光譜數據的固定光譜維度;所述預測樣本光譜矩陣的行數為預測樣本數量、列數為紅外光譜數據的固定光譜維度;
第二設置單元120,用於設置迭代次數,以及得到由所述訓練樣本的已知濃度數據形成的行數為訓練樣本數量、列數為1的濃度矩陣;
獲取單元130,用於獲取當前迭代次數和當前濃度矩陣;
第一計算單元140,用於將所述訓練樣本光譜矩陣與所述當前濃度矩陣構建線性關係並利用最小二乘法回歸算法進行求解,得到求解後的當前回歸係數,且進一步根據所述求解後的當前回歸係數以及所述訓練樣本光譜矩陣,利用最小二乘法回歸算法反向求解出當前回歸濃度矩陣;
第二計算單元150,用於根據所述求解出的當前回歸濃度矩陣和所述當前濃度矩陣,得到當前濃度殘差矩陣,並將所述得到的當前濃度殘差矩陣與所述當前濃度矩陣組合成新濃度矩陣,且將所述當前迭代次數減一;其中,所述當前濃度殘差矩陣的行數固定為訓練樣本數量、列數固定為1;
第一判定單元160,用於待判定所述當前迭代次數減一後不為0時,返回所述獲取單元130;
第二判定單元170,用於待判定所述當前迭代次數減一後為0時,結束迭代運算,輸出最後求解的回歸係數;
預測結果輸出單元180,用於根據所述預測樣本光譜矩陣和所述最後求解的回歸係數,利用最小二乘法回歸算法進行反向求解,得到預測樣本濃度矩陣,並提取所述預測樣本濃度矩陣的第一列數據作為預測樣本的濃度數據。
其中,所述第二計算單元150包括:
回歸係數計算模塊1501,用於將所述訓練樣本光譜矩陣與所述當前濃度矩陣構建線性關係,根據公式得到求解後的當前回歸係數其中,a表示所述訓練樣本光譜矩陣;c表示所述當前濃度矩陣;c+表示所述當前濃度矩陣的偽逆矩陣;
回歸濃度矩陣計算模塊1502,用於將所述求解後的當前回歸係數以及所述訓練樣本光譜矩陣a導入公式中,得到當前回歸濃度矩陣
其中,所述當前濃度殘差矩陣由來實現。
其中,所述新濃度矩陣是通過在所述當前濃度矩陣的基礎上增加一列來實現,且其所增加的一列數據為對應當前所得濃度殘差矩陣的數據。
實施本發明實施例,具有如下有益效果:
本發明實施例基於簡單的最小二乘法框架,以通過不斷地迭代優化濃度數據的方式來確定水果的未知濃度數據,能達到快速識別水果品質的目的,該方法不僅避免了光譜數據需要平滑、變量選擇的過程,迭代殘差矩陣的過程同時也是個收斂的過程,避免了類似參數選擇不佳,致使模型過擬合的情況。
值得注意的是,上述系統實施例中,所包括的各個系統單元只是按照功能邏輯進行劃分的,但並不局限於上述的劃分,只要能夠實現相應的功能即可;另外,各功能單元的具體名稱也只是為了便於相互區分,並不用於限制本發明的保護範圍。
本領域普通技術人員可以理解實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,所述的程序可以存儲於一計算機可讀取存儲介質中,所述的存儲介質,如rom/ram、磁碟、光碟等。
以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。