999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于YOLOv5的水果識別及成熟度檢測系統

2024-11-12 00:00:00鄭凱文張騁烯陳愛琴
無線互聯科技 2024年19期

摘要:在我國,水果已經成為人們生活中不可缺少的食物之一,水果檢測和成熟度分析是農業生產和食品加工領域的重要研究方向。傳統方法依賴人工操作,費時費力且易出錯。而基于深度學習的自動化方法能提高準確率,降低成本,具有廣闊的應用前景。因此,文章研究并設計了基于深度學習的水果檢測及成熟度分析系統,主要基于PyTorch深度學習框架搭建YOLOv5算法對草莓、蘋果和香蕉的成熟果實和未成熟果實進行檢測識別。該系統能夠極大地提高檢測效率和精度,具有一定的現實意義與實用價值。

關鍵詞:水果檢測;成熟度分析;YOLOv5;深度學習

中圖分類號:TP183 文獻標志碼:A

0 引言

我國是農業大國,水果產量位居全國首列,因此水果的采摘效率是一個比較突出的問題。傳統上,水果和蔬菜等農產品的采摘過程通常需要大量的人工操作,成本高,效率低,同時也存在勞動力短缺和質量不一致的問題。而利用機器人技術進行采摘,則可以實現自動化、高效率、高精度的采摘過程,從而提高農業生產的效益和質量。因此,設計一個高精確度和高實時性的水果檢測及成熟度分析系統尤為重要。

近年來,深度學習在計算機視覺和模式識別等領域取得了巨大的突破。其中,卷積神經網絡(Convolutional Neural Network,CNN)[1]在物體檢測任務中取得了顯著的成功。YOLOv5[2]是一種集合速度和準確性的最先進的物體檢測模型,適用于實時應用。將YOLOv5應用于水果檢測及成熟度分析可以極大地提高過程的效率和精度,相比傳統的手工方法具有明顯優勢。

1 深度學習理論介紹

深度學習是一種機器學習的方法,通過構建和訓練多層神經網絡來實現對數據的學習和模式識別[3]。深度學習通過神經網絡的多層映射,可以自動學習復雜的數據特征并發現數據中的高階特征。

1.1 神經網絡

深度學習的實質是神經網絡模型,是一種由多個層組成的計算結構。每層都接收前一層的輸出并將其加權求和后采用一個非線性激活函數進行一系列計算得到新的輸出。利用反向傳播算法來調整每層之間的連接權重,從而使得誤差最小化并提高模型的預測準確性。

1.2 反向傳播

反向傳播(Back Propagation,BP)是一種基于梯度下降方法、用于多層神經網絡的學習算法,可計算預測結果與真實標簽之間的差異并根據這個差異來調整神經網絡中每個連接權重的方法。

在反向傳播階段,首先計算預測結果與真實標簽之間的差異,通常使用損失函數來度量這個差異。然后利用鏈式求導法則,將這個差異從輸出層開始反向逐層向前傳播,計算每個連接權重對損失函數的貢獻度。通過計算權重的梯度,可以知道在給定的權重下,如何能更好地減小損失函數。最后,使用優化算法(如梯度下降)來更新每個連接權重,使得預測結果與真實標簽之間的差異不斷減小。

反向傳1XtC2UnB3AQqr4itClbUugsEW8XDESUvGZDdvaRW9TI=播算法的關鍵在于鏈式法則,能夠逐步傳遞網絡中每個神經元的梯度,通過權重連接實現反向傳播。該算法計算量較大,但由于鏈式法則的有效性,可以高效地計算出每個連接權重的梯度,從而實現神經網絡的權重更新,最終實現神經網絡的優化,學習到更準確的預測模型。

1.3 卷積神經網絡概述

卷積神經網絡是深度學習中非常重要的一種神經網絡模型。卷積神經網絡由一個或多個卷積層和頂端的全連接層組成,同時也包括關聯權重和池化層,目前在圖像識別、語音識別和目標檢測等領域應用非常廣泛。

1.3.1 卷積層

在CNN中,卷積層是至關重要的組成部分,用來從輸入數據中提取特征。卷積層通過對輸入數據的局部區域進行加權求和,利用滑動窗口的方式來生成輸出,能有效地提取輸入數據的局部特征,逐漸生成更加抽象和高級的特征。卷積的操作過程如圖1所示。

二維卷積層是處理圖像數據的重要組成部分,計算方式可以由公式(1)表示。

y(m,n)=x(m,n)*h(m,n)=∑∞i∑∞jx(i,j)h(m-i,n-j)(1)

在卷積神經網絡中,卷積核的作用是對輸入特征圖進行卷積運算,以提取其中的特征信息。卷積核會關注輸入特征圖的某個局部,如圖1中Input的灰色區域,使用圖1中kernel部分的權重對該區域內的特征進行加權求和。在圖像卷積運算中,卷積核通常采用邊緣填充的方式,以避免特征圖尺寸的縮小。同時,為了增強特征提取的效果,典型的卷積層通常會配置多個卷積核,每個卷積核分別負責捕獲輸入特征圖中的不同特征。在網絡訓練過程中,這些卷積核的權重會自動調整,以適應給定的任務。圖1中卷積的輸出如式(2)所示。

output=2*(-1)+1*0+…+4*1+2*(-1)+3*0+4*1=-5(2)

深度學習中的一個基礎神經網絡層就是卷積層,它運用卷積操作來從輸入數據中提取特征,具備顯著的優勢。首先,卷積核內部參數在不同區域卷積時共享,減少參數量,降低過擬合風險。其次,卷積濾波器自學習權重,提取抽象特征。

1.3.2 激活函數

卷積層、池化層和全連接層在神經網絡中都扮演著對輸入數據的線性加權求和的角色。一個深度神經網絡由許多這樣的層疊加而成,這樣就會形成對輸入數據的復雜線性組合。而引入非線性激活函數則便于神經網絡能夠更好地適應不同類別的數據。目前被廣泛使用的激活函數有Sigmoid、ReLU、Mish等,它們各具特性,在神經網絡中扮演著關鍵角色,幫助神經網絡更好地進行非線性建模和特征提取。

(1) Sigmoid。

Sigmoid公式如式(3)所示。

f(x)=11+e-x(3)

Sigmoid函數是一種被廣泛使用的激活函數,具有易于計算、平滑可導、輸出值范圍有限和非線性等優點,但也存在一些缺點,如容易出現梯度消失問題、輸出值不是以0為中心、計算代價較大和不適合多分類問題等。

(2) tanh。

tanh公式如式(4)所示。

f(x)=ex-e-xex+e-x(4)

tanh函數的值域為[-1,1],且輸入的任何值都可以映射到這個范圍內。tanh函數的導數的最大值為1,在反向傳播算法中會更容易產生較大的梯度,使得模型更快地收斂;當神經網絡的層數過多時,Sigmoid函數的梯度會變得非常小,即使是在網絡較淺的情況下也有可能發生。而tanh函數在計算導數時,能夠確保在正負飽和區間內的導數不會太小,以避免梯度消失的問題。然而,如果輸入數據中存在遠離0的極端值,tanh函數會容易過度飽和,導致其導數幾乎接近于0,從而使得梯度也接近于0,難以有效地更新網絡。

(3) ReLU。

ReLU的公式可以表示為式(5)。

f(x)=max(0,x)(5)

激活函數ReLU被廣泛使用,能有效解決梯度消失問題。不過存在一個缺點,當輸入為負數時,神經元的輸出為0,這就導致了所謂的“死區”現象。此外,當ReLU輸出的均值不為0時,可能會影響神經網絡的性能。

(4) Leaky ReLU。

Leaky ReLU公式如(6)所示。

f(x)=max(ax,x)(6)

式中,a可以根據實際數據調整,通常情況下a取0.01。Leaky ReLU是修正線性單元激活函數的一種變體,與ReLU有些相似。與ReLU不同的是,Leaky ReLU會在負區間內有一個非零輸出,這有助于避免神經網絡中的“死亡神經元”問題。相比于ReLU,Leaky ReLU具有更好的魯棒性并且能夠有效地防止梯度的消失問題。

(5) Mish。

Mish的方程式可表示式(7)。

f(X)=x*tanh(ln(1+ex))(7)

Mish激活函數的優勢在于,當輸入值為正時,與ReLU激活函數表現類似,輸出值范圍在0到正無窮之間。然而,與其他激活函數相比,Mish的計算復雜度較高,這也是其不足之處。

1.3.3 池化層

池化層是神經網絡中的一種下采樣層,為了減少網絡參數,可以對特征圖進行分區和降維等處理。池化層不會影響模型大小,池化操作的降維采樣過程可能會損失某些特征信息,因此一般情況下,池化操作只被應用在卷積神經網絡的后半部分,以減小特征圖的大小。

最大池化是一種常用的池化計算方式,通常適用于須要保留最顯著特征的場景,如在圖像分類任務中,可以通過最大池化層提取物體的紋理、邊緣等關鍵特征。如圖2所示,對于每個子區域,池化層會找到其中的最大值作為該子區域的輸出。而這些提取出的最大值組成了一個新的矩陣,其大小與輸入數據相對應,具有降低過擬合風險、特征提取、降低計算量的優點。

1.3.4 全連接層

全連接層在深度學習中被廣泛使用,它的每個節點都與前一層的所有節點建立連接,因此將前一層的特征信息整合成新的高維特征表示。通常情況下,全連接層在卷積層或者其他特征提取層之后使用,其輸出作為模型最終的分類結果或者回歸預測值。

2 基于YOLOv5的水果檢測及成熟度分析

本章首先對數據集和YOLOv5模型進行了分析,運用PyTorch框架對YOLOv5模型進行了搭建并在此基礎上分析了模型性能和檢測效果。

2.1 數據集介紹

本次水果檢測及成熟度分析數據集是從網絡上收集的,包含草莓、蘋果和香蕉,每個類別都是包含成熟水果和未成熟水果。本文通過labelImg軟件對所有收集的圖片進行標注,標注格式為YOLO格式并將其進行劃分。處理完成的數據集一共有273張圖片用于訓練,70張圖片用于驗證。其中,檢測的類別包含成熟和未成熟草莓、成熟和未成熟蘋果、成熟和未成熟香蕉。

2.2 YOLO網絡概述

目標檢測是計算機視覺中最基本的任務之一,是實現諸如人臉識別、視頻分割等更復雜任務的基礎。隨著計算機網絡的高速發展以及人工智能技術的突破,深度學習技術突飛猛進[4]。YOLO是一種目標檢測算法,基于深度卷積神經網絡,主要由3部分構成。YOLO通過卷積神經網絡提取輸入圖片的特征,共包含19個卷積層和5個池化層,這些層能夠逐層提取輸入圖片的抽象特征,從而獲得越來越高級別的特征[5]。YOLO網絡最后連接了2個全連接層,用來將卷積神經網絡的輸出映射到不同類別的概率。同時,全連接層也提供了絕對位置信息,即每個物體的邊界框的中心點和長寬比,最后輸出通過非極大值抑制來獲取置信度最高的邊界框。總體而言,YOLO網絡是一種非常優秀的目標檢測算法,能夠在GPU上實現實時目標檢測,對于小物體的檢測效果也很出色。

2.3 評價指標介紹

一般用準確率P(Precision)、召回率R(Recall)、平均精度AP(Average Precision)和平均精度mAP(mean Average Precision)作為模型精度的評估指標。AP僅適用于單個類別的檢測,而mAP相比之下可適用于多類別檢測任務。準確率、召回率、平均精度以及平均精度的計算公式分別是(8)(9)(10)(11)。

P=TPTP+FP(8)

R=TPTP+FN(9)

AP=∫10P(R)dR(10)

mAP=∑Ni=1APiN(11)

2.4 訓練過程介紹

YOLOv5是一種目標檢測算法,采用了單階段檢測器的方式,與傳統的兩階段方法相比,具有訓練速度快、預測速度快等優點。YOLOv5的訓練過程如下:首先,搜集、標記圖像數據集用來后續模型訓練。進行訓練之前,須要將數據集劃分為訓練集和驗證集,比例為8∶2。在數據預處理階段,須要進行縮放、歸一化等操作。其次,選擇YOLOv5s模型作為初始模型。設置Epoch為100輪,進行進一步訓練,以預訓練模型為基礎,在模型中輸入訓練集進行迭代訓練,通過不斷更新權重參數并采用隨機梯度下降(Stochastic Gradient Descent,SGD)優化算法,可以逐步降低損失函數的值,從而提高模型的預測性能。在每個訓練周期結束后,利用驗證集對模型進行驗證,通過各項指標來評估模型的性能。最后,當模型達到一定的訓練步數或者訓練目標時,將模型保存下來,以備后面的推理使用。訓練過程中的指標如表1所示。

訓練過程如圖3所示,總共訓練了100輪次。本次訓練詳細記錄了訓練損失圖、驗證損失圖、召回率、精確率、mAP@0.5、mAP@0.5∶0.95,可以看到當采用了預訓練模型時,模型很快就達到了相當高的準確率和召回率。mAP衡量了模型在不同類別上的平均檢測準確度,數值范圍為0到1,越高表示模型性能越好。mAP的計算可以根據不同的IoU(Intersection over Union)閾值進行。

精確率是指模型正確預測為正例的樣本數占模型預測為正例的樣本數的比例。精確率越高表明對模型正例的預測越準,精確率隨著閾值的增加而增加,這意味著模型更加謹慎地將樣本預測為正例。在閾值較低的情況下,模型的精準率可能會下降,導致將負樣本誤判為正樣本,進而產生錯誤。相反地,在閾值較高的情況下,模型會更為保守,只會將很確定的樣本預測為正例,從而精確率得到提高。

召回率是指模型能夠正確預測為正例的樣本數與實際正例樣本數之間的比例,計算公式為:Recall = TP / (TP + FN),其中TP表示真正例,FN表示假反例。隨著閾值的增加,召回率逐漸降低,這表明模型更加謹慎地判定樣本為正例,有可能會犧牲一定數量的真實正例。當閾值較低時,模型可能會將更多的真實正例判定為正例,使召回率增加。相反,當閾值較高時,模型更趨于保守,更多樣本被判定為負例,只將非常確信的樣本預測為正例,因此召回率會降低。

F1指標圖通常用于評估分類模型在不同閾值下的性能表現。F1指標綜合考慮了Precision和Recall,二者分別評估了模型分類結果的準確性和完整性,二者結合綜合評估了模型的分類性能。在F1指標圖中,橫軸一般表示分類閾值的變化,縱軸則表示F1分數。通過觀察F1指標圖,可以幫助確定最佳的分類閾值,有助于根據具體需求選擇合適的閾值來平衡精確率和召回率。

P-R曲線以召回率為橫軸、精確率為縱軸,能夠幫助了解模型在不同閾值下發生的變化。在P-R曲線中的一個關鍵節點是當精確率和召回率相等時,被稱為平衡點。該點對應于模型在精確率和召回率上取得平衡的閾值,通常被視為評估模型性能的指標之一。

2.5 可視化界面

為了提高檢測操作的便捷性,本研究基于PyQT5開發了一個直觀易用的可視化界面,用于圖片和視頻的檢測。PyQT5可用于創建跨平臺的桌面應用程序。因此,本文選擇了PyQT5進行相關開發。首先,根據實際要求和界面需求,采用Qt Designer來設計用戶界面并將設計好的.ui文件轉換為Python文件。其次,在PyCharm中編寫主程序代碼并導入所需的PyQT5模塊、生成的.py文件以及其他必要的庫。最后,本文編寫了Python代碼來實現用戶界面上的交互行為和邏輯。水果檢測及成熟度分析系統的可視化界面如圖4所示。界面頂部的2個按鈕用于選擇圖片檢測和視頻檢測,通過這樣的界面設計,用戶可以方便地進行水果檢測和成熟度分析操作。

經過使用測試,該可視化操作界面流暢,點擊“圖片檢測”和“視頻檢測”均能夠打開代碼中設定好的目標文件夾,以選擇用于檢測的圖片或者視頻。

3 結語

本研究設計和實現了一個基于深度學習的水果檢測及成熟度分析系統,通過對圖像中的水果進行準確的檢測和成熟度的評估,為農業生產和食品行業提供了有力的支持。本系統以YOLOv5作為基礎模型,實現了對草莓、蘋果和香蕉的成熟果實和未成熟果實進行檢測識別,具有一定的現實意義與實用價值。

參考文獻

[1]王曉輝.基于梯度分析的卷積神經網絡可視化研究[D].大連:大連海洋大學,2023.

[2]羅家梅.改進YOLOv5的水果品質檢測與分類方法研究[D].贛州:贛南師范大學,2023.

[3]許昌華.基于神經網絡的果蔬自動分級系統算法的研究及應用[D].揚州:揚州大學,2022.

[4]許德剛,王露,李凡.深度學習的典型目標檢測算法研究綜述[J].計算機工程與應用,2021(8):10-25.

[5]潘輝.基于深度學習的水果識別抓取系統[D].武漢:江漢大學,2023.

(編輯 王雪芬)

Fruit identification and ripeness detection system based on YOLOv5

ZHENG Kaiwen, ZHANG&n3ws6v7qJNTKpCJED52VsyA==bsp; Chengxi, CHEN Aiqin

(Nanjing University of Science and Technology ZiJin College, Nanjing 210023, China)

Abstract: In China, fruits have become one of the indispensable foods in people’s life, and fruit detection and ripening analysis is an important research direction in the field of agricultural production and food processing. Traditional methods rely on manual operation, which is time-consuming and error-prone. The automated method based on deep learning can improve the accuracy and reduce the cost, which has the prospect of wide application. Therefore, this paper researches and designs a deep learning-based fruit detection and ripeness analysis system, which is mainly based on PyTorch deep learning framework to build YOLOv5 algorithm to detect and identify ripe and unripe fruits of strawberries, apples, and bananas, which can greatly improve the detection efficiency and accuracy, and it has a certain practical significance and practical value.

Key words: fruit detection; ripeness analysis; YOLOv5; deep learning

主站蜘蛛池模板: 中文纯内无码H| 日韩黄色精品| 国产精品欧美激情| 亚洲V日韩V无码一区二区| 永久免费av网站可以直接看的| 香蕉久久国产超碰青草| 国产成人综合日韩精品无码不卡| av手机版在线播放| 欧美三級片黃色三級片黃色1| 亚洲国产一区在线观看| 亚洲女人在线| 特级精品毛片免费观看| 55夜色66夜色国产精品视频| 色网站在线视频| 成人在线第一页| 亚洲第一视频网站| 国产91线观看| 国产精品毛片一区| 97se亚洲综合在线韩国专区福利| 成人日韩视频| 国内精品久久久久久久久久影视| 91最新精品视频发布页| 国产嫩草在线观看| 亚洲精品另类| 欧美一级高清片久久99| 99久久精品免费看国产电影| 国产综合日韩另类一区二区| yy6080理论大片一级久久| 国产91小视频| 国产精品网曝门免费视频| 视频二区欧美| 五月天久久婷婷| 成人亚洲国产| 伊人久久婷婷| 三上悠亚一区二区| 欧美日韩精品一区二区在线线 | 国产XXXX做受性欧美88| 日韩在线永久免费播放| 亚洲二区视频| 国产激情无码一区二区APP| 2019国产在线| 国产成人高精品免费视频| 欧美日韩亚洲综合在线观看| 日韩视频免费| 国产自在线拍| 欧洲日本亚洲中文字幕| 国产成人区在线观看视频| 69免费在线视频| 香港一级毛片免费看| 一本大道视频精品人妻| 亚洲精品无码日韩国产不卡| 一本视频精品中文字幕| 亚洲伊人天堂| 高清亚洲欧美在线看| 被公侵犯人妻少妇一区二区三区| 亚洲国产中文在线二区三区免| 国产精品美女在线| 99re这里只有国产中文精品国产精品| 乱人伦中文视频在线观看免费| 亚洲Av综合日韩精品久久久| 国产亚洲精品自在线| 在线观看免费人成视频色快速| 亚洲国产天堂久久综合| 亚洲天堂网在线观看视频| 在线观看国产小视频| 蜜臀AVWWW国产天堂| 三上悠亚在线精品二区| 五月婷婷欧美| 国产成人综合亚洲欧美在| 成人午夜视频网站| 成人一级黄色毛片| 91色老久久精品偷偷蜜臀| 国产成人无码AV在线播放动漫| 丰满人妻一区二区三区视频| 亚洲第一成年人网站| 欧美综合中文字幕久久| 在线亚洲小视频| 99精品国产高清一区二区| 青青青国产免费线在| 免费又黄又爽又猛大片午夜| 免费观看精品视频999| 69国产精品视频免费|