黃 石 李重重 莊偉瑋 劉靜
(1.佛山市順德區(qū)美的洗滌電器制造有限公司 佛山 528311;2.廣東中創(chuàng)智家科學研究有限公司 廣州 510663;3.中國電器科學研究院股份有限公司 廣州 510663)
近年來,智能家居相關技術發(fā)展迅速為家用電器的智能化提供了強大的技術支撐。在這個背景下,將高階的物體圖像識別算法應用于智能家居電器也變得越來越可行和有意義[1]。隨著洗碗機在國內的普及度日益增高,洗碗機的智能化需求也水漲船高,尤其對于洗碗機中餐具的識別也迫在眉睫,實際上通過精確識別餐具的類型、大小、形狀和污漬程度,智能洗碗機可以調整清洗程序,更高效和更節(jié)能實現對餐具清潔和和呵護。例如,對于大型或深度餐具,機器可以調整水量和清潔時間,而對于特殊材質的餐具,如紅酒杯,機器則可以使用更溫和的水流以避免損害。本算法分析的餐具類型主要包括:勺子、叉子、杯子和盤子,材質均為不銹鋼,通過整合YOLOv8這樣的先進物體識別技術,智能洗碗機能夠更智能地處理家庭清潔任務,從而節(jié)約資源并提供更定制化的清潔方案。此研究的重要性在于,它不僅展示了智能技術在日常生活中的應用潛力,而且提供了一種改善家庭能源效率和提升用戶體驗的方式。本文的主要突破主要集中在兩個方面。
首先,本文采用了Channel-Wise Mish模塊。現有的算法通常忽視了圖像像素分布直方圖中明顯的非線性特征,而這些非線性特征對分類精度具有重要影響。我們提出的Channel-wise Mish模塊通過使用Mish激活函數替代傳統的CBS(Channel-wise Batch Normalization with Sigmoid)模塊,有效地處理這些非線性特征。Mish激活函數因其在解決梯度消失問題方面的有效性而廣受贊譽,特別是在訓練更復雜的深度模型時,而且Mish模塊在處理與燈光和環(huán)境因素相關的非線性特征時具有增強的能力。
其次,本文的模型具有緩解常見的梯度消失問題的能力。梯度消失問題經常在深度學習模型的訓練過程中出現,它降低了學習速度,妨礙了模型的準確性和計算性能。我們在該研究中實施的優(yōu)化模型巧妙地避免了這個問題,成功地在給定的訓練周期內顯著提高了檢測準確率。值得注意的是,該模型實現了91 %的準確率,比現有模型實現的最高檢測準確率提高了3 %。這種性能提升證明了該模型在實踐應用中的潛力。因此,我們提出的模型不僅能夠提高餐具檢測的準確性,還為未來在這一領域的研究提供了新的方法。此外,這項研究也可能為智能家居領域其他應用提供思路,如智能烹飪設備、自動化垃圾分類等。
YOLO(You Only Look Once)是一種深度學習算法,用于實時物體識別[2,3]。它的核心特點是能夠在單次瀏覽圖像時檢測出多個物體,這使得它在需要快速且準確識別的場景中非常有用。YOLOv8是此系列模型的最新版本,相比之前的版本,它具有更高的準確度和更快的處理速度的特點[4,5],適用于目標檢測和跟蹤、實例分割、圖像分類和姿勢估計等各種任務[6-8]。YOLOv8的主干網絡是Darknet-53,受到VGG的啟發(fā),在池化操作后將通道數增加一倍。此外,它在3×3卷積核之間放置1×1卷積核來壓縮特征,并使用全局平均池化。批量歸一化層用于穩(wěn)定模型訓練,加速收斂,并提供正則化。CSP模塊是一種特征提取模塊,旨在通過利用跨階段連接來增強特征提取的效果。它允許多個階段之間共享特征,并通過部分連接來提高參數和計算效率。YOLOv8模型的頸部將原始特征與多個卷積操作處理的特征融合,從而增強了特征提取能力。YOLOv8的主干網絡和頸部部分受到YOLO v7 ELAN的設計原則的啟發(fā),并引入了C2F模塊。C2F模塊旨在減少參數數量同時保持豐富的梯度流信息。在訓練的最后10個時期,禁用了Mosaic數據增強,以提高準確性。YOLOv8的頭部部分將分類和檢測頭部分離。分類分支繼續(xù)使用二元交叉熵(BCE)損失,而回歸分支則采用分布焦點損失。這種損失函數有效地解決了類別不平衡和難以分類的樣本的問題。就正負樣本分配策略而言,YOLOv8從YOLOv5使用的靜態(tài)分配策略中偏離。相反,它采用了TOOD算法中的任務對齊分配器。這個分配器根據分類和回歸任務的加權分數選擇正樣本。由于YOLOv8算法具有高準確性、快速執(zhí)行速度和強大的泛化能力,我們選擇其作為我們改進的基線方法。改進的主要方面集中在改善YOLOv8算法中的CBS模塊。該模塊在原始YOLOv8中用于特征提取,我們對其進行了優(yōu)化以更好地適應餐具數據集的特點。我們觀察到餐具數據集中的目標具有明顯的非線性特征,并且它們的真實邊界框分布廣泛。因此,我們提出了通過增加CBS模塊的層數來增強特征提取能力的改進。通過增加層數,我們能夠更好地捕捉目標的細節(jié)和形狀特征,從而提高目標檢測的準確性。
數據來源于在線的深度學習數據集[9],該數據集包含了四種基本廚房餐具的RGB圖像,每個實例均為512×512×3,且均與一個標簽相關聯。其中,四種餐具的訓練集各40張圖片,測試集各10張圖片,如圖1所示。該數據集的數據有兩個特征,即中心集中分布及非線性特征。圖2展示了數據集中叉子子集的像素值的直方圖??梢钥吹较袼卦谀硯讉€值附近有集中的趨勢;而直方圖則在不同強度區(qū)域展示了多個尖銳的峰值,具有不同的頻率和不規(guī)則的不對稱形狀。因此,該數據集具有中心集中分布和非線性的特征,這是因為餐具與背景在顏色和材質上都具有較大的差異。YOLOv8算法模型相對較深,在數據集的訓練過程中,當訓練迭代次數達到50次時,非線性特征的存在導致反向傳播過程中梯度減小,模型難以收斂,無法學習有意義的特征表示。
圖1 數據集中的四種基本廚房餐具
圖2 餐具數據集像素數據分布
在YOLOv8中,卷積模塊的結構由卷積塊、歸一化塊和SiLU激活函數組成見圖3。SiLU激活函數逼近于對小或大輸入值都是線性的函數。這使得模型能夠更快地學習線性關系,在訓練的初始階段加快收斂速度。在使用預訓練模型的情況下,YOLOv8算法可以在更少的訓練輪次下達到最高的檢測準確率。在本文中,我們引入CWM模塊改進了YOLOv8算法,以更好地適應不銹鋼的餐具。雖然YOLOv8算法的SiLU激活函數在其他數據集上表現良好,在數據集上卻存在梯度消失問題。本文通過將其替換為Mish激活函數來解決這個問題。
圖3 改進模型的基本架構
在數據集上訓練時,YOLOv8算法的MAP50訓練結果如圖4所示。
圖4 MAP50訓練結果
在最后10個訓練輪次中,YOLOv8算法的MAP開始下降并趨于飽和。鑒于數據集中觀察到的非線性特征以及SiLU激活函數在處理梯度飽和方面的性能較差,我們將原算法中的CBS替換為CWM來提升模型性能。此外,對于數據集,我們采用了Mish激活函數,公式(1)如下,其函數圖像與SiLU激活函數的對比如圖5所示。
圖5 Mish激活函數與SiLU激活函數
式中:
x—上一層的輸入值。
Mish激活函數在整個輸入范圍內表現出良好的平滑性,并具有可微的連續(xù)性。它有效地避免了訓練過程中梯度消失和爆炸的問題。雖然SiLU和Mish激活函數具有類似的形狀,但在更深的模型中,Mish在接近零點的地方具有更高的曲率,有助于避免梯度消失問題。與SiLU相比,Mish能夠更好地捕捉到輸入數據中的復雜非線性關系,這與IP102餐具數據集的特點相吻合。通過更好地處理非線性特征,Mish激活函數使得YOLOv8能夠學習深度網絡中的復雜特征,從而提高了模型的準確性和泛化能力。訓練結果如圖6所示。在訓練過程中,Mish激活函數在有效性方面表現優(yōu)于SiLU。Mish訓練展現出更平滑的MAP50表現,通過更好地處理非線性特征,增強了算法對檢測結果的處理能力。
圖6 使用SiLU激活函數和MISH激活函數的訓練結果比較
對本文使用模型的評估指標如下:
準確率:衡量模型正確檢測到的目標在所有被模型檢測到的目標中的比例。較高的準確率表示模型的檢測更準確。
式中:
TP—正確檢測到的目標數量;
FP—代表錯誤檢測到的目標數量。
召回率:衡量了模型正確檢測到目標的能力。較高的召回率表示模型能更好地捕捉到目標。
式中:
FP—錯誤檢測到的目標數量;
FN—未正確檢測到的目標數量。
AP指標:通過計算不同召回率水平下的平均精度來綜合評估模型的性能。它提供了對模型在各種閾值下的整體性能的評估。
MAP50:該指標是通過在交并比(IOU)為0.5的閾值下計算平均精度(AP)來衡量模型在預測物體位置時的性能。它量化了模型在預測的邊界框與真實邊界框之間的IOU至少為0.5時的精確性。
MAP50-95:通過考慮IOU從0.5到0.95的值來計算平均精度(AP)。這種綜合評估考慮了物體檢測模型在不同IOU閾值下的性能,并提供了更全面的準確性評估。它測量了模型在多個IOU閾值下的預測的邊界框精度,反映了模型在定位與真實邊界框之間重疊水平不同的情況下的能力。AP、MAP50和MAP50-95是對目標檢測模型性能的綜合評估指標。它們考慮了模型在不同召回率、不同IOU閾值下的表現,并提供了模型在定位和精確性方面的整體評估。這些指標對于衡量模型在目標檢測任務中的準確性和魯棒性至關重要。
YOLOv8算法在使用預訓練權重時,在60個epochs內達到最佳準確率。在本研究中,提出的改進算法進行了60個epochs的訓練,以進行消融實驗,并與YOLOv8算法進行了比較。本文提出的改進算法的訓練結果如圖7及8所示。
圖7 模型訓練結果
圖8 模型訓練的PR曲線
消融研究是一種實驗方法,其核心在于故意從系統中移除某個組成部分,以評估該部分對系統整體性能的影響。這種方法通過創(chuàng)造一個控制變量的環(huán)境,可以精確地理解各個組件的重要性。如果移除某個組件后,系統的性能未受顯著影響,這表明該組件在系統中的作用可能并不關鍵;相反,如果該組件的缺失導致系統性能顯著下降,這則表明該組件對于系統的運行是至關重要的。這種方法是理解和優(yōu)化復雜系統中各部分作用的有效工具。表格1顯示了YOLOv8算法在數據集上的訓練指標。通過使用預訓練模型和用CWM替換CBS模塊,本文的方法在更少的訓練epochs下取得了更好的結果。性能指標清楚地表明了與基準YOLOv8算法相比,本文提出的增強方法具有明顯的有效性。
表1 消融研究
在訓練過程中,在將CBS模塊替換為CWM后,訓練進展如圖9所示。當模型深度達到臨界點時,SiLU激活函數的準確性改善有限,導致梯度消失問題。通過將其替換為Mish激活函數,模型可以更好地處理數據集中的非線性特征,并更有效地提取目標特征,解決了算法在達到最佳性能時的梯度下降問題。
圖9 MAP50在不同激活函數下的結果
在比較實驗中,我們選擇了FPN,YOLOX,Dynamic R-CNN,SSD300,RefineDet和ExquisiteNet作為基準模型。實驗結果如表2所示。我們提出的算法在MAP50和MAP50-95方面具有最佳性能,并且廚房餐具的數據集上,本文的模型在準確性和泛化能力方面比其他模型更高。
表2 對比實驗
本文分析了餐具數據集的特點,并使用CWM模塊替換了原本的CBS模塊。在訓練過程中,有效解決了梯度消失的問題,從而更準確地提取與餐具邊緣相關的特征,與YOLOv5、FPN和YOLOX算法相比具有較大的改善。Mish激活函數在處理非線性特征方面優(yōu)于SiLU。在復雜的背景環(huán)境下,如圖9所示,它的檢測得分和最高MAP50準確率優(yōu)于未改進的算法。 此外,本文仍然有一些可以改進和探索的方向。首先,本文的數據集包含有反光、投影的背景,所提出的算法在應對這些情景時性能相對較差。因此,未來的工作可以集中在改善具有反光及投影特征的背景分辨提取和檢測能力上。其次,在推理速度方面,本文提出的模型存在一些限制,因為它具有較大的參數數量。未來可以嘗試設計輕量級結構,以提高算法的推理速度。