程艷燕 宋家俊 孫士保 張藝馨 楊春坤 王欣怡
摘要:水果成熟度的準(zhǔn)確預(yù)測(cè)對(duì)于農(nóng)業(yè)生產(chǎn)和供應(yīng)鏈管理至關(guān)重要。傳統(tǒng)方法在水果預(yù)測(cè)領(lǐng)域被廣泛采用,但難以捕捉復(fù)雜的成熟特征無(wú)法實(shí)現(xiàn)高精度的預(yù)測(cè)模型。為應(yīng)對(duì)這一挑戰(zhàn),文章采用了PSO-BP神經(jīng)網(wǎng)絡(luò),其強(qiáng)大的非線(xiàn)性建模能力使得預(yù)測(cè)結(jié)果更為準(zhǔn)確。文章設(shè)計(jì)了一個(gè)多層前饋神經(jīng)網(wǎng)絡(luò)模型,通過(guò)學(xué)習(xí)復(fù)雜的成熟度特征來(lái)進(jìn)行預(yù)測(cè)。使用真實(shí)的水果數(shù)據(jù)進(jìn)行訓(xùn)練和測(cè)試,結(jié)果顯示該文的模型在預(yù)測(cè)水果成熟度方面表現(xiàn)出色,相較于傳統(tǒng)方法,具有更高的準(zhǔn)確性。訓(xùn)練得到的這款模型可達(dá)到98%以上的預(yù)測(cè)率。
關(guān)鍵詞:深度學(xué)習(xí);PSO-BP神經(jīng)網(wǎng)絡(luò)模型;PaddleX框架;果然共知
中圖分類(lèi)號(hào):TP18? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2023)34-0016-04
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID)
0 引言
我國(guó)是世界水果生產(chǎn)大國(guó),隨著水果市場(chǎng)對(duì)蘋(píng)果的需求不斷增加,消費(fèi)者對(duì)蘋(píng)果的質(zhì)量要求越來(lái)越高,然而有的果農(nóng)因無(wú)法準(zhǔn)確地預(yù)測(cè)蘋(píng)果成熟度而造成了大量蘋(píng)果浪費(fèi)[1]。傳統(tǒng)的預(yù)測(cè)蘋(píng)果成熟度的技術(shù)存在著一些缺陷,果農(nóng)無(wú)法快速并且準(zhǔn)確預(yù)測(cè)蘋(píng)果的成熟度,本項(xiàng)目彌補(bǔ)了當(dāng)代檢測(cè)技術(shù)的漏洞,采用了近紅外光譜檢測(cè)技術(shù),PSO-BP神經(jīng)網(wǎng)絡(luò)等算法以及定量預(yù)測(cè)模型,能夠更高效、方便、準(zhǔn)確地預(yù)測(cè)蘋(píng)果的成熟度,并且能夠讓果農(nóng)通過(guò)手機(jī)更方便、迅速了解蘋(píng)果的成熟度。本項(xiàng)目通過(guò)近紅外光譜檢測(cè)出水果的信息,高效地傳遞給手機(jī)移動(dòng)端通過(guò)PSO-BP人工神經(jīng)網(wǎng)絡(luò)等算法以及定量預(yù)測(cè)模型來(lái)預(yù)測(cè)蘋(píng)果成熟度的小程序——果然共知。
1 系統(tǒng)實(shí)現(xiàn)
系統(tǒng)的前端基于微信小程序開(kāi)發(fā)工具構(gòu)建,而后端項(xiàng)目則采用IDEA技術(shù)進(jìn)行開(kāi)發(fā)。本文根據(jù)各功能模塊的設(shè)計(jì)思路在開(kāi)發(fā)工具上進(jìn)行實(shí)現(xiàn),主要通過(guò)小程序的開(kāi)發(fā)工具來(lái)呈現(xiàn)系統(tǒng)的效果。
1.1 系統(tǒng)云數(shù)據(jù)庫(kù)的實(shí)現(xiàn)
云端服務(wù)器中存放著云數(shù)據(jù)庫(kù),這一布局有效地減輕了本地資源的壓力。在設(shè)計(jì)數(shù)據(jù)庫(kù)集合時(shí),本文針對(duì)每個(gè)功能模塊都進(jìn)行了相應(yīng)的數(shù)據(jù)庫(kù)表單劃分。以歷史記錄數(shù)據(jù)庫(kù)集合為例,它存儲(chǔ)了水果成熟度預(yù)測(cè)結(jié)果和歷史數(shù)據(jù),包括用戶(hù)的用戶(hù)名(userid) 、成熟度預(yù)測(cè)結(jié)果、記錄的時(shí)間(time) 等詳細(xì)信息。
1.2 頁(yè)面設(shè)計(jì)
進(jìn)入“果然共知”小程序的,如圖1所示首頁(yè)的頁(yè)面設(shè)計(jì)色彩以綠色為主調(diào)其他顏色為配調(diào),登錄之前可以看到點(diǎn)擊“+”有掃一掃、搜索附近設(shè)備、資訊案例、歷史記錄等功能。點(diǎn)擊登錄之后,中間組件為上一次掃描水果后得到的水果糖度、水分、成熟度預(yù)測(cè)情況,旨在讓用戶(hù)打開(kāi)登錄之后就能夠了解到最近一次的水果生長(zhǎng)預(yù)測(cè)情況。
點(diǎn)擊“掃一掃”綁定設(shè)備之后,用戶(hù)可以看到經(jīng)過(guò)系統(tǒng)得出的數(shù)據(jù)以及對(duì)蘋(píng)果成熟度的預(yù)測(cè)報(bào)告,通過(guò)直方圖可視化顯示了預(yù)測(cè)結(jié)果,檢測(cè)的數(shù)據(jù)傳輸?shù)胶蠖?,后端通過(guò)PSO-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型預(yù)測(cè)出蘋(píng)果成熟度,對(duì)蘋(píng)果成熟度做出等級(jí)判斷,如圖2所示。
在預(yù)測(cè)蘋(píng)果成熟報(bào)告中后端算法通過(guò)智能分析得出問(wèn)題的解決方案如圖3所示,并且給出用戶(hù)合理化的建議及措施,大大方便了果農(nóng)對(duì)蘋(píng)果成熟度的了解,用戶(hù)采用給出的建議之后也通過(guò)后端PSO-BP神經(jīng)網(wǎng)絡(luò)算法得出預(yù)測(cè)的結(jié)果。用戶(hù)通過(guò)“保存結(jié)果”按鈕保存本次預(yù)測(cè)結(jié)果,以便用戶(hù)進(jìn)行下一次分析蘋(píng)果成熟度并且對(duì)檢測(cè)數(shù)據(jù)進(jìn)行對(duì)比,檢驗(yàn)了預(yù)測(cè)檢測(cè)的準(zhǔn)確性和效率,用戶(hù)可以更好地計(jì)劃采摘時(shí)間、優(yōu)化儲(chǔ)存和運(yùn)輸過(guò)程。
1.3 果實(shí)識(shí)別預(yù)測(cè)功能的實(shí)現(xiàn)
路線(xiàn)設(shè)計(jì)的過(guò)程如下所示:從圖4可以看出,小程序前端上傳待識(shí)別預(yù)測(cè)的圖片包括了圖片文件、位置信息以及用戶(hù)的文本輸入。這些文本信息、圖片文件以及圖片的識(shí)別結(jié)果都需要存儲(chǔ)在數(shù)據(jù)庫(kù)中,因此在后端需要對(duì)這兩種不同類(lèi)型的文件進(jìn)行區(qū)分處理。
其中后端部分,圖片文件會(huì)被傳送到用于識(shí)別算法的讀取文件夾路徑。然后,后端將此文件夾路徑名與圖片名結(jié)合,保存為圖片的最終絕對(duì)路徑。將這些識(shí)別結(jié)果、圖片路徑以及用戶(hù)輸入的文本信息傳送回前端展示給用戶(hù)。
2 算法實(shí)現(xiàn)與流程
2.1 BP神經(jīng)網(wǎng)絡(luò)
在20世紀(jì)80年代,Rumelhart和McClelland提出了一種神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法,即誤差反向傳播(Back-Propagation) 算法,常稱(chēng)為BP神經(jīng)網(wǎng)絡(luò)(Back-Propagation Network) 。該算法如今已經(jīng)發(fā)展成為應(yīng)用廣泛的神經(jīng)網(wǎng)絡(luò)模型之一。該模型采用梯度下降的優(yōu)化算法,通過(guò)反向傳播的方式來(lái)調(diào)整神經(jīng)網(wǎng)絡(luò)的權(quán)重和閾值,以最小化輸出值與期望輸出值之間的均方根誤差。這一過(guò)程賦予了該模型卓越的容錯(cuò)性和泛化能力。BP神經(jīng)網(wǎng)絡(luò)模型具有3層拓?fù)浣Y(jié)構(gòu),包括輸入層(Input Layer) 、隱含層(Hidden Layer) 和輸出層(Output Layer) 。大量研究表明含有一個(gè)隱含層的神經(jīng)網(wǎng)絡(luò)可以實(shí)現(xiàn)對(duì)任何函數(shù)的逼近,為避免模型過(guò)于復(fù)雜而引起計(jì)算量過(guò)大或預(yù)測(cè)結(jié)果不可靠的問(wèn)題,構(gòu)造單隱含層的BP神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)如圖5所示。
然而,在處理復(fù)雜任務(wù)時(shí),BP神經(jīng)網(wǎng)絡(luò)也面臨著訓(xùn)練時(shí)間長(zhǎng)、過(guò)擬合等問(wèn)題。這導(dǎo)致研究人員在后續(xù)發(fā)展中不斷尋求更好的算法和架構(gòu)。
2.2 PSO算法
粒子群優(yōu)化算法(Particle Swarm Optimization, PSO) 是一種基于仿生學(xué)原理的進(jìn)化算法,其靈感來(lái)自鳥(niǎo)類(lèi)群體覓食行為。由Eberhart和Kennedy提出,PSO通過(guò)模擬群體中個(gè)體之間的競(jìng)爭(zhēng)與協(xié)同行為,尋求最優(yōu)解。該算法通過(guò)不斷調(diào)整粒子(個(gè)體)的位置和速度,使其朝著目標(biāo)函數(shù)的最優(yōu)值進(jìn)行搜索。其核心思想是通過(guò)個(gè)體間信息傳遞與更新機(jī)制,實(shí)現(xiàn)群體在解空間中的迭代搜索與優(yōu)化。
一個(gè)種群由眾多粒子構(gòu)成,每個(gè)粒子所攜帶的基本信息包括其位置和速度。假定種群規(guī)模為n,目標(biāo)搜索空間的維數(shù)為D。在這種情況下,第i個(gè)粒子在D維空間中的位置可以表示為Xi =(xi1,xi2,...,xiD) ,速度可以表示為Vi =(vi1,vi2,...,viD) ,其中i的取值范圍為1到n。在迭代過(guò)程中,粒子會(huì)根據(jù)一定的規(guī)則修正其自身的位置和速度,直至找到全局范圍內(nèi)的最優(yōu)位置。在此過(guò)程中,每個(gè)粒子的個(gè)體最優(yōu)位置被定義為Pibest,而粒子群的全局最優(yōu)位置則被表示為Pgbest。粒子的位置和速度更新是基于以下原則進(jìn)行的:
[Vk+1i=ωVki+c1r1(Pkibest-Xki)+c2r2(Pkgbest-Xki)] (1)
[Xk+1i=Xki+Vk+1i] (2)
在上述描述中,Vik和 Xik分別表示第i個(gè)粒子在D維空間中經(jīng)過(guò)第k次迭代時(shí)的速度和位置。Pibestk和Pgbestk分別代表第i個(gè)粒子在第k次迭代中獲得的個(gè)體最優(yōu)值和全局最優(yōu)值。在此上下文中,c1和c2作為學(xué)習(xí)因子參與,r1和r2為服從區(qū)間[0,1]的隨機(jī)數(shù)。此外,慣性權(quán)重ω也發(fā)揮著重要作用。需要強(qiáng)調(diào)的是,速度V的幅度受限于預(yù)先設(shè)定的最大速度值Vmax,以確保搜索過(guò)程的穩(wěn)定性與收斂性。
2.3 PSO優(yōu)化BP算法
BP神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)過(guò)程中常常受到收斂速度緩慢、容易陷入局部極值和學(xué)習(xí)過(guò)程中的振蕩等問(wèn)題的影響。為了克服這些問(wèn)題,研究者們選擇將PSO算法與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合進(jìn)行優(yōu)化[2]。在這種方法中,通過(guò)PSO算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的閾值和權(quán)值進(jìn)行調(diào)整,以期提高網(wǎng)絡(luò)的運(yùn)行速度和泛化能力。這一融合策略的過(guò)程被呈現(xiàn)在圖6中。
3 實(shí)驗(yàn)數(shù)據(jù)處理
3.1 近紅外光譜數(shù)據(jù)的獲取及預(yù)處理
在項(xiàng)目的運(yùn)行過(guò)程中,本文配備了相應(yīng)的硬件設(shè)備近紅外光譜儀,以便對(duì)水果進(jìn)行掃描。為了確保數(shù)據(jù)模型在測(cè)試中的準(zhǔn)確性和適用性,本文進(jìn)行了多次實(shí)驗(yàn),涵蓋了不同生長(zhǎng)階段的水果樣本。
在PSO-BP神經(jīng)網(wǎng)絡(luò)中,針對(duì)水果近紅外光譜數(shù)據(jù)進(jìn)行了訓(xùn)練,以確保實(shí)驗(yàn)的順利開(kāi)展。本文使用經(jīng)過(guò)預(yù)訓(xùn)練的PSO-BP神經(jīng)網(wǎng)絡(luò)來(lái)分析獲取的近紅外光譜數(shù)據(jù)。通過(guò)將掃描得到的近紅外光譜數(shù)據(jù)分為訓(xùn)練集和測(cè)試集,本文將已訓(xùn)練的模型與測(cè)試時(shí)使用的近紅外光譜數(shù)據(jù)進(jìn)行匹配和對(duì)比。這樣,本文可以使用測(cè)試集中的數(shù)據(jù)來(lái)評(píng)估模型的準(zhǔn)確性,并確保其達(dá)到了預(yù)期的精度水平。
在模型構(gòu)建的過(guò)程中,針對(duì)原始的近紅外光譜,預(yù)處理步驟扮演著定量分析和定性分析的關(guān)鍵角色,如圖6所呈現(xiàn)。由于光譜儀所采集的數(shù)據(jù)除了樣品信息外,還可能含有背景信息或噪聲成分。
鑒于此,對(duì)光譜數(shù)據(jù)進(jìn)行預(yù)處理,以確立準(zhǔn)確且穩(wěn)健的校準(zhǔn)模型,顯得尤為必要[3]。
多重散射校正(MSC) 的功能類(lèi)似于減少樣品之間因物理變異引起的散射和基線(xiàn)偏移的影響。
MSC的主要目標(biāo)在于解決顆粒分布不均和顆粒大小差異導(dǎo)致的散射問(wèn)題,以提升數(shù)據(jù)質(zhì)量(Isaksson和Naes,1988年)。MSC的計(jì)算公式如公式(1) 所示。首先,首要計(jì)算校準(zhǔn)集樣本的平均光譜X,緊接著,針對(duì)特定的樣本光譜x,本文進(jìn)行了線(xiàn)性回歸操作,得到了方程x=aX+β,并從中推導(dǎo)出了參數(shù)a和β的具體數(shù)值。通過(guò)運(yùn)用這些參數(shù)a和β,對(duì)原始光譜進(jìn)行了校準(zhǔn)處理。通過(guò)持續(xù)的參數(shù)a和β的微調(diào),能夠極大地減少光譜之間的差異,并盡最大可能地保留了原始光譜中的有效信息。
[XMSC=x-βa] ? (3)
3.2 實(shí)驗(yàn)結(jié)果
在本項(xiàng)目中,使用經(jīng)過(guò)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行了多次實(shí)驗(yàn)。圖7展示了網(wǎng)絡(luò)訓(xùn)練過(guò)程中均方誤差隨迭代次數(shù)的變化情況。從圖中可以觀察到,隨著迭代次數(shù)的增加,均方誤差逐漸減小,表明所訓(xùn)練的神經(jīng)網(wǎng)絡(luò)輸出值迅速逼近實(shí)際值[4]。通過(guò)對(duì)比兩幅圖的結(jié)果,可以明顯看出,經(jīng)過(guò)PSO優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)在迭代次數(shù)超過(guò)11次后,均方誤差的輸出值逐漸穩(wěn)定,標(biāo)志著訓(xùn)練完成[5]。與原始的BP神經(jīng)網(wǎng)絡(luò)相比,經(jīng)過(guò)PSO優(yōu)化的網(wǎng)絡(luò)在學(xué)習(xí)效率上有了顯著提升,為項(xiàng)目帶來(lái)了更高的效率和準(zhǔn)確性。
通過(guò)實(shí)驗(yàn)過(guò)程中測(cè)試集數(shù)據(jù)的驗(yàn)證,結(jié)果表明訓(xùn)練集與測(cè)試集的匹配率超過(guò)98%,遠(yuǎn)超過(guò)同類(lèi)型水果成熟度預(yù)測(cè)產(chǎn)品的表現(xiàn)。傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過(guò)程中容易受局部極值影響而導(dǎo)致收斂速度慢。引入了粒子群優(yōu)化(PSO) 算法的PSO-BP神經(jīng)網(wǎng)絡(luò)充分利用了粒子之間的競(jìng)爭(zhēng)與協(xié)同尋找最優(yōu)解的機(jī)制,加速了網(wǎng)絡(luò)的收斂過(guò)程,從而使網(wǎng)絡(luò)更快地達(dá)到穩(wěn)定狀態(tài)[5]。該網(wǎng)絡(luò)模型將PSO粒子群優(yōu)化與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合,解決了傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)中收斂速度慢和易陷入局部極值的問(wèn)題,同時(shí)在實(shí)驗(yàn)過(guò)程中減輕了過(guò)擬合現(xiàn)象的出現(xiàn),提升了測(cè)試精準(zhǔn)度。在預(yù)測(cè)過(guò)程中,本項(xiàng)目選取了處于不同生長(zhǎng)階段的水果作為測(cè)試對(duì)象,通過(guò)網(wǎng)絡(luò)模型進(jìn)行成熟度預(yù)測(cè)。經(jīng)過(guò)訓(xùn)練后,觀察結(jié)果顯示測(cè)試的準(zhǔn)確性達(dá)到98%以上,具體測(cè)試結(jié)果見(jiàn)圖8所示。
4 結(jié)束語(yǔ)
在本論文中,通過(guò)研究基于PSO-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型對(duì)測(cè)試蘋(píng)果成熟度的方法和技術(shù)進(jìn)行了詳細(xì)的研究和討論。通過(guò)收集大量的數(shù)據(jù)和實(shí)施實(shí)證研究,得出了一些重要的結(jié)論,并為果農(nóng)和相關(guān)產(chǎn)業(yè)提供了有價(jià)值的信息。首先,回顧了現(xiàn)有的蘋(píng)果成熟度測(cè)試方法和工具,并對(duì)其優(yōu)缺點(diǎn)進(jìn)行了評(píng)估。本文提出了一種基于PSO-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的新方法。通過(guò)實(shí)驗(yàn)證明,該方法在準(zhǔn)確性、可行性和成本效益方面都具有顯著的優(yōu)勢(shì)。其次,詳細(xì)介紹了設(shè)計(jì)和實(shí)施的實(shí)驗(yàn),并分析了實(shí)驗(yàn)結(jié)果。這些結(jié)果都驗(yàn)證了基于PSO-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型測(cè)試方法的有效性,從而為果農(nóng)的決策提供了重要依據(jù)。通過(guò)近紅外光譜檢測(cè)將檢測(cè)數(shù)據(jù)傳輸進(jìn)小程序“果然共知”中,小程序會(huì)基于傳輸?shù)臄?shù)據(jù)進(jìn)行可視化以及生成蘋(píng)果成熟度的報(bào)告分析并且給出相應(yīng)的合理化建議,更方便果農(nóng)采取應(yīng)對(duì)措施。最后,基于PSO-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型方法準(zhǔn)確評(píng)估蘋(píng)果的成熟度,果農(nóng)可以更好地計(jì)劃采摘時(shí)間、優(yōu)化儲(chǔ)存和運(yùn)輸過(guò)程,并提高產(chǎn)品質(zhì)量和市場(chǎng)競(jìng)爭(zhēng)力。總之,本文的研究為測(cè)試蘋(píng)果成熟度的方法和技術(shù)提供了新的視角和解決方案。本文的實(shí)證研究結(jié)果表明,基于PSO-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的方法在準(zhǔn)確性和效率方面具有顯著優(yōu)勢(shì)。鼓勵(lì)更多的果農(nóng)和研究者采用本文的方法,并在此基礎(chǔ)上進(jìn)行進(jìn)一步的研究和改進(jìn),以推動(dòng)果農(nóng)和蘋(píng)果產(chǎn)業(yè)的發(fā)展和創(chuàng)新。
參考文獻(xiàn):
[1] 孫慧英,李亮,李敏生,等.蘋(píng)果產(chǎn)業(yè)發(fā)展障礙因素及對(duì)策分析[J].吉林農(nóng)業(yè),2018(16):82.
[2] 史亞朋.基于PSO-BP神經(jīng)網(wǎng)絡(luò)的船舶結(jié)構(gòu)優(yōu)化[D].大連:大連海事大學(xué),2015.
[3] 張猛勝.基于可見(jiàn)/近紅外光譜的蘋(píng)果成熟度無(wú)損檢測(cè)方法和便攜式儀器研發(fā)[D].楊凌:西北農(nóng)林科技大學(xué),2021.
[4] 王得成,陳向?qū)?,趙峰,等.基于卷積神經(jīng)網(wǎng)絡(luò)和RGB-D圖像的車(chē)輛檢測(cè)算法[J].激光與光電子學(xué)進(jìn)展,2019,56(18):119-126.
[5] 王杰,鄭楊艷,凌祥.基于PSO-BP神經(jīng)網(wǎng)絡(luò)的小沖孔蠕變壽命預(yù)測(cè)模型[J].化工機(jī)械,2023,50(3):348-353,387.
【通聯(lián)編輯:謝媛媛】