?

基于改進ShuffleNet v2的輕量化番茄葉片病害識別

2024-04-08 13:10李大華仲婷王筍于曉
江蘇農業科學 2024年3期
關鍵詞:輕量化番茄

李大華 仲婷 王筍 于曉

摘要:番茄大面積種植導致葉片部位被病蟲害侵蝕面積不一、侵蝕種類多樣化等問題,為了滿足在資源有限的硬件設備上實現對番茄葉片病害準確識別,提出改進ShuffleNet v2模型。首先對基本單元進行改進,提出SA-stage模塊,使模型密切關注葉片相關特征信息的同時減小了參數量和計算量;其次提出LFN輕量化特征融合模塊,實現淺層和深層網絡的上下文信息交互;接著引入RFB-s輕量化特征增強模塊,增強小目標病害的特征提??;最后將SPD-Conv代替普通卷積和最大池化層,降低圖像分辨率的同時保留了番茄葉片病害小目標的細粒度信息。試驗結果表明,改進ShuffleNet v2模型在10種番茄葉片病害圖像上進行測試,準確率和平均召回率分別達到了96.55%、96.40%,較原模型分別提高了4.44、3.70百分點;參數量和計算量分別為348 154、38.75 MB,較原模型分別減少 3 888、3.88 MB。相比于其他分類模型AlexNet、ResNet50、MobileNet v3等,改進ShuffleNet v2模型不僅準確率最高、參數量和計算量最小,而且權重最小,僅為1.51 MB。該研究提出的改進ShuffleNet v2模型具備在資源有限的移動設備上部署的條件,滿足實時、準確地識別番茄葉片病害。

關鍵詞:番茄;葉片病害;病害識別;輕量化;參數量

中圖分類號:TP183;TP391.41? 文獻標志碼:A

文章編號:1002-1302(2024)03-0220-09

為了滿足社會的需求,番茄的種植面積逐漸擴大,產量逐漸提升,然而病蟲害發生范圍及影響也逐漸提高[1],而病蟲害的侵蝕位置初期以葉片為主。人們主要依靠種植人員的經驗判斷番茄葉片病害的種類,該方法費時費力,還會造成誤判從而影響對病蟲害的噴霧防治作用[2]。因此提供一種對番茄葉片病害種類快速、準確的識別方法尤其重要。

隨著人工智能技術的不斷發展,尤其是深度學習技術和深度學習框架的廣泛應用[3-4],基于卷積神經網絡的分類模型有利于快速、準確地對葉片病害種類進行識別。戴久竣等提出在ResNet50模型基礎上進行改進實現對葡萄葉片病害的識別,改進模型對葉片病害識別準確率達到98.20%[5]。曹藤寶等提出在DenseNet模型基礎上融合空間注意力機制的玉米葉片病害分類方法,將PReLU激活函數代替ReLU,改進后模型準確率達到98.77%[6]。Ding等采用增加CBAM模塊和隨機裁剪分支2種方案對ResNet18網絡進行改進,對蘋果葉病進行分類,準確率分別達到95.2%、97.2%[7]。Naik等設計基于SE的卷積神經網絡,在自建辣椒葉數據集上達到98.63%的精度[8]。Paymode等對葡萄和番茄葉片圖像進行增強,在卷積神經網絡中利用VGG模型設置超參數,利用遷移學習分別達到98.40%和95.71%的準確率[9]。劉擁民等提出優化的Swin Transformer網絡模型,結合Mixup混合增強算法對數據集進行增強,并采用遷移學習對番茄葉片進行訓練,最終準確率達到98.40%[10]。由于以上常規的卷積神經網絡ResNet、DenseNet、VGG以及現階段較為新穎的網絡模型Swin Transformer參數量較多[11-15],模型較為復雜,在訓練數據集時訓練時間過長,還需要相對較大的存儲空間,導致在資源有限的移動設備上缺少研究的應用價值。

在移動設備廣為使用的現狀下,研究一種參數量、計算量較少,較為輕量的番茄葉片病害識別模型顯得尤為重要。ShuffleNet v2模型平衡了輕量級模型識別的準確率和模型復雜度[16],本研究在此基礎上提出一種改進ShuffleNet v2番茄葉片病害識別方法,采用ShuffleNet v2 0.5x框架,在所有階段(stage)每個模塊(block)中引入一種輕量且有效的置換注意力機制(shuffle attention,SA)[17],并對其結構進行優化,組成SA-stage結構,著重關注葉片病害相關的信息并降低模型參數量及計算量,在網絡的淺層引入輕量化特征增強模塊(receptive field block-s,RFB-s)[18],增強淺層葉片病害的語義信息從而提升模型識別準確率,接著對每個的輸出進行輕量化特征融合,將深度可分離卷積(depthwise separable convolution,DSC)[19]代替普通卷積,進一步提升識別準確率的同時保證模型較低的參數量和計算量,最后使用SPD-Conv(space-to-depth convolution)[20]取代模型的卷積和池化層,提高低分辨率圖像中葉片病害的準確率。

1 材料與方法

本研究于2023年2—4月在天津理工大學電氣工程及自動化碩士實驗室進行試驗,從Plant Village公開數據集中隨機挑選番茄病害葉片圖像作為研究對象,葉片病害包括細菌性斑點病、早疫病、晚疫病、葉霉病、斑枯病、二斑葉螨病、輪斑病、花葉病和黃化曲葉病。每張圖像包含1種葉片病害,加上番茄健康葉片,共10種葉片病害種類,共 1 267 張圖像。為了避免在訓練過程中出現過擬合現象,對圖像進行增強操作(高斯濾波、高斯噪聲、明亮、昏暗、翻轉、旋轉180°等7種方式),可模擬模糊、光線明亮、光線昏暗等環境,增強模型的泛化能力,部分番茄病害葉片增強圖像如圖1所示,每種病害葉片數量為900張左右,總數量達到8 869張。

2 改進ShuffleNet v2模型相關設計

2.1 置換注意力機制

將空間注意和通道注意融合在一起可能會比它們各自應用展現更好的性能,但會不可避免地增加計算開銷。置換注意力SA模塊可以解決此問題,SA模塊的整體架構見圖2。對于給定的番茄葉片病害特征圖X∈RC×H×W,SA首先按照通道維度分組為G個子特征,即X=[X1,X2,…,XG],Xk∈RC/G×H×W,在訓練過程中捕捉特定的病害語義信息,然后Xk沿著通道維度被分成2個分支,即Xk1、Xk2,兩者均∈RC/2G×H×W,一個分支利用通道間的相互關系生成通道注意力圖,另一個分支利用特征間的空間關系生成空間注意力圖。為了捕捉通道之間的依賴性,獲取病害通道權重,首先通過使用全局平均池化(GAP)來嵌入全局信息,以生成通道方式的統計信息s∈RC/2G×1×1,可通過將Xk1收縮到空間維度 H×W來計算:

s=FGAP(Xk1)=1H×W∑Hi=1∑Wj=1Xk1(i,j)。(1)

此外,通過Sigmoid激活函數獲得通道注意力的最終輸出:

Xk1′=σ[FC(s)]·Xk1=σ(W1s+b1)·Xk1。(2)

其中,W1∈RC/2G×1×1,b1∈RC/2G×1×1,兩者分別是用于縮放和移位s的參數。

為了獲取病害空間權重,在Xk1上使用組歸一化(group norm,GN)來獲取空間統計信息[21],通過Sigmoid激活函數獲得空間注意力的最終輸出:

Xk2′=σ[W2·GN(Xk2)+b2]·Xk2。(3)

其中,W2∈RC/2G×1×1,b2∈RC/2G×1×1。

然后將這2個分支連接,即Xk′=[Xk1′,Xk2′]∈RC/G×H×W。最后將病害所有子特征聚合 并采用通道混洗算子使葉片病害不同的子特征之間跨組進行信息交流,使得該模塊有效學習病害的關鍵信息。

2.2 基本單元結構優化

ShuffleNet v2模型提出一種較為新穎且更加輕量的基本單元?;灸K(block)包含2種不同結構,如圖3所示,一種為步長(stride)=1的結構,另一種為stride=2的結構,這2種結構的主分支都由3個卷積層構成,分別為1×1普通卷積、3×3深度可分離卷積、1×1普通卷積,但輸入端和側分支的構成有所不同。在步長為1的結構中,輸入端進行通道分割,側分支直接將通道分割后的圖像與主分支圖像進行維度上拼接(concat);在步長為2的結構中,圖像直接進入輸入端經過2個分支的處理,其側分支由 3×3 深度可分離卷積和1×1普通卷積構成。在這2種結構中,最后通過通道混洗進行2個分支之間的信息通信。

ShuffleNet v2的整體結構主要由stage2、stage3、stage4構成,而每個stage又由多個基本單元組成,所以優化基本單元結構在番茄葉片病害特征提取中起著重要作用,優化的基本單元SA-stage結構見圖4。由于最后的1×1普通卷積不改變通道數,起到信息結合的作用,可能會造成信息冗余,所以本研究去除此卷積,降低了計算量和參數量,但也造成了準確率下降,為了彌補此情況,進一步使模型在特征提取時,獲取不同葉片病害有效信息,提升識別準確率,在主分支1×1普通卷積之后添加置換注意力機制SA,該模塊相對輕量化,基本單元結構的優化既保證病害識別準確率的提升,也減少了參數量和計算量。

2.3 輕量化特征融合網絡

卷積神經網絡淺層特征感受野較小,包含病害更多的細節信息,無法提供更多語義信息;深層特征感受野較大,包含病害更多語義信息,但卻缺少相關的紋理、顏色等細節信息。網絡不同卷積層生成不同分辨率特征圖,無法避免葉片病害相關特征的缺失,導致模型識別效果欠佳。針對此種情況,又考慮到既能提高模型識別能力,又能保證該模型的輕量化,設計一種輕量化特征融合網絡(LFN)如圖5所示,該模塊先將增強后的SA-stage2和 SA-stage3 進行融合,采用深度可分離卷積(DSC)

代替普通卷積,通過步長為2的逐通道卷積將大小為 56×56 的特征圖調整為28×28,又通過步長為1的逐點卷積將通道數調整為96,與增強后的stage3保持同樣形狀(shape);接著使該融合的結果通過深度可分離卷積,將特征圖大小調整為14×14×192,與SA-stage4進行融合。該模塊融合了葉片病害淺層和深層特征,為最終識別模型提供了更多的精確病害信息。

2.4 輕量化特征增強模塊

番茄葉片表現為不規則、多為小病斑病害,根據成像特點,拍攝環境與光線的影響會導致病害識別的準確率不高。本研究引入RFB-s模塊(圖6),膨脹卷積的應用不僅增強了小目標病害的特征提取能力,還保證了模型較少的參數量方便在移動設備上部署。RFB-s是一個多分支卷積模塊,由多分支卷積層和膨脹卷積層構成。每條分支均由1×1卷積對通道數進行調整;中間2條分支采用1×3和3×1卷積來代替3×3卷積,減少了參數量;右側緊接3×3卷積對葉片病害進行特征提??;然后每條分別連接膨脹率為1、3、3、5的3×3卷積,為了在不同感受野下有效提取葉片病害的特征;通過concat連接與1×1卷積將不同感受野下的病害特征進行融合,最后將輸入特征圖與concat連接得到的特征圖進行相加,通過獲取不同尺度融合的葉片病害特征圖,提高了番茄葉片小目標病害的識別效果。

2.5 SPD-Conv 結構

在卷積網絡ShuffleNet? v2中 為了去除冗余像素信息,通過普通卷積和最大池化對圖像進行處理,得到小分辨率特征圖,會導致丟失關于番茄葉片病害小目標的細粒度信息,用于模型學習的上下文信息也有限,在特征學習過程中,使小目標病害無法被識別。為了解決此問題,引入SPD-Conv(圖7)來取代普通卷積和最大池化層,SPD-Conv由空間到深度層(SPD層)和非跨步卷積層構成。

SPD層對葉片病害特征圖進行下采樣,但卻保留了通道維度中的所有相關信息。對于特征圖X,將一系列子特征圖分割為

f0,0=X[0:S:scale,0:S:scale],

f1,0=X[1:S:scale,0:S:scale],…,fscale-1,0=X[scale-1:S:scale,0:S:scale];

f0,scale-1=X[0:S:scale,scale-1:S:scale],f1,scale-1,…,

fscale-1,scale-1=X[scale-1:S:scale,scale-1:S:scale]。

番茄葉片子特征圖fx,y由所有特征映射組成 X(i,j) 特征圖,每個子映射可按照一定比例對病害特征圖X進行下采樣,在圖7中,當比例為2時,得到四個子特征圖f0,0、f1,0、f0,1、f1,1,其大小為S×S×C1,并將特征圖X下采樣2倍。然后沿著通道維度將這些子特征圖進行連接,獲得新的特征圖X′,其大小為S2×S2×4C1。

接著通過非跨步卷積層,即使用步長為1、通道數為C2的卷積核將特征圖轉變成X″為S2×S2×C2,可以學習較少的特征相關參數來減少通道數量。

2.6 改進ShuffleNet v2模型整體框架

本研究的改進ShuffleNet v2模型整體框架如圖8所示,輸入圖片大小為224×224×3,經過 SPD-Conv1 對圖片進行下采樣,保留了所有與番茄葉片病害相關的特征;用SA-stage2、SA-stage3、SA-stage4、代替原模型中的基本單元stage2、stage3、stage4,接著使用輕量化特征增強模塊RFB-s對SA-stage2、SA-stage3輸出的特征圖進行處理,提高葉片小目標病害的識別效果;在此基礎上采用LFN模塊對葉片病害進行特征融合,實現病害不同尺度信息的交互;最后通過全局池化、全連接層(FC)對葉片病害進行識別,輸出病害類別,該模型不僅提升了對番茄葉片病害識別的準確率,還具備在移動設備上部署的優勢。

3 試驗條件

3.1 試驗平臺

本次模型訓練及測試所采用的試驗平臺為:使用編程軟件Python 3.9.12,利用CUDA 11.6及PyTorch 1.12.1的深度學習框架搭建模型,使用NVIDIA GeForce RTX 3060 的顯卡,在Windows 11操作系統上進行運行。

3.2 改進模型訓練參數

在改進模型進行訓練前,將番茄病害葉片數據集的訓練集與驗證集以9 ∶1的比例進行劃分。在訓練過程中,輸入番茄病害葉片圖片大小為224×224,批量大?。˙atch_size)設為16,初始學習率為0.01,選擇 SGD 優化器對學習率進行優化,動量設置為0.9,共迭代50次,模型訓練逐漸達到穩定,在測試時,隨機從PlantVillage公開番茄病害葉片數據集中構建測試集,對該模型的識別效果進行測試,更能體現出改進模型的識別效果。

4 結果與分析

4.1 ShuffleNet v2與改進ShuffleNet v2模型訓練結果對比

為了更直觀地觀察原模型與改進模型在訓練過程中對番茄葉片病害識別的準確率,以及損失值變化情況對比,制作準確率對比圖和損失值對比圖,分別如圖9、圖10所示。

由圖9、圖10可知,僅迭代10次,改進ShuffleNet v2模型在驗證集上的準確率高于ShuffleNet v2模型;而損失值從一開始就比原模型小,并且下降得較快,說明對原模型改進后,收斂速度更快,泛化能力更強。

4.2 不同分類模型準確率對比

各個分類模型均具備其特點 為了對比分類模型在番茄葉片病害驗證集上的準確率,選擇常規分類模型AlexNet、ResNet50、GooleNet以及輕量化分類模型MobileNet v3,制作準確率曲線對比圖,如圖11所示,相比之下,改進ShuffleNet v2模型雖然在訓練剛開始準確率偏低,但隨后上升速度很快,在迭代

10次后,基本達到平穩狀態,且高于其他分類模型。

4.3 消融試驗結果

為了進一步探究所提各項改進模塊相比原模型識別性能是否有所提升,在隨機制作的測試集上進行消融試驗,消融試驗結果見表1。

從表1中可觀察到在原模型基礎上,將基本單元結構改變為SA-stage結構,置換注意力SA模塊的添加使準確率提高了1.23百分點,平均召回率提高了1.00百分點,又將1×1普通卷積刪除,使得參數量和計算量均有所減??;在添加SA-stage基礎上,添加LFN輕量化特征融合模塊,雖然額外增大了參數量和計算量,但由于深度可分離卷積的替換,使得參數量和計算量低于原模型,并且準確率和平均召回率又分別提高了1.53、1.50百分點;接著隨著RFB-s模塊的加入,準確率又提升了0.80百分點,平均召回率提高了0.40百分點;通過各個改進模塊的引入,相比原模型,改進ShuffleNet v2模型的參數量和計算量均降低,準確率提高了4.44百分點,平均召回率也上升了3.70百分點。由上述分析可知,各個模塊的融合不僅提高了番茄葉片病害識別的有效性,還使得最終改進ShuffleNet v2模型更加輕量化。

4.4 混淆矩陣

為了判斷改進ShuffleNet v2模型將番茄葉片病害是否預測正確,對分類模型評價指標混淆矩陣可視化,如圖12所示,該混淆矩陣是在隨機制作的葉片病害測試集上進行測試判斷,每種葉片病害圖像大致在100張左右。從圖12中可直觀看出,改進模型對于番茄葉片病害大部分都能正確識別,晚疫病的誤測率比其他稍高,基本被誤測為早疫病,因為這2種病害在發病到一定程度時特征基本相似,導致無法準確區分,但不足以影響該模型對病害的識別,依然具備滿足實際應用的要求。

4.5 模型熱力圖可視化

在使用分類模型處理圖像分類問題時,通過卷積神經網絡訓練之后,直接得到關于番茄葉片病害的分類種類,卻不知病害哪些位置信息影響著最終的分類結果,為此使用原模型ShuffleNet v2和改進ShuffleNet v2模型,對部分葉片病害進行類激活圖(class activation mapping,CAM)可視化對比,如圖13所示,在熱力圖中,整張圖片表現出的顏色不一致,與葉片病害越相關的信息位置,顏色表現越明顯,越接近于紅色。

從圖13可以看出,針對葉片細菌性斑點病、晚疫病、葉霉病、斑枯病,有些病害病斑較小、分布零散,導致原模型ShuffleNet v2無法全面、準確地定位到病害的關鍵區域,而改進ShuffleNet v2模型能夠提取與葉片病害相關的關鍵特征信息,既可以全面覆蓋葉片病害的關鍵區域,也能準確、清晰定位病害關鍵區域的具體位置。由上述分析可知,改進ShuffleNet v2模型能夠清晰關注到圖像中與番茄葉片病害相關的關鍵信息,增強了該模型對葉片病害的識別效果。

4.6 不同分類模型性能對比

不同分類模型在番茄葉片病害驗證集上達到了較高的準確率,為了進一步探究識別性能,對其在隨機制作的測試集上進行試驗。

根據在番茄葉片病害測試集上的試驗結果(表2)可知,改進ShuffleNet v2模型對病害識別的準確率、參數量以及權重均優于其他分類模型。與常規分類模型AlexNet、GooleNet相比,準確率大幅上升,相比于ResNet50模型,準確率上升了5.55百分點;與新穎模型Vision Transformer相比,準確率也大幅上升,參數量和權重大幅降低;相比于輕量化模型MobileNet v3,準確率上升了9.25百分點。改進模型參數量和計算量分別為348 154、38.75 MB,權重僅為1.51 MB,與原模型ShuffleNet v2基本持平,且小于其他模型。進一步證明了改進ShuffleNet v2模型對于番茄葉片病害識別性能的優勢,具有較強的魯棒性。

5 結論

本研究以常見的番茄葉片細菌性斑點病、早疫病、晚疫病、葉霉病等9種病害為研究對象,使用PlantVillage公開數據集劃分訓練集與驗證集,從中隨機構建測試集。為了解決ShuffleNet v2模型在葉片病害測試集上識別準確率不高、模型參數量和計算量較大等問題,提出改進ShuffleNet v2模型,通過一系列對比試驗,得到如下結論。

(1)原模型ShuffleNet v2基本單元關注著病害不同程度相關的特征信息,會造成信息冗余,模型較為復雜,則提出SA-stage基本單元,試驗結果表明該方法使模型關注緊密相關的病害特征,同樣減小了模型復雜度。

(2)原分類模型僅靠卷積神經網絡深層特征進行病害識別,缺少相關的紋理、顏色等細節信息,導致模型識別效果欠佳,提出LFN模塊,使模型淺層和深層網絡實現上下文信息交互,不僅提高了識別效果,而且降低了參數量和計算量。

(3)番茄葉片多表現為不規則、小病斑病害,根據成像特點,導致病害識別的準確率不高,引入RFB-s模塊,利用不同感受野的膨脹卷積提取不同尺度葉片病害特征,增強了小目標病害的識別效果。

(4)普通卷積和最大池化對圖像進行處理會導致番茄葉片病害小目標的細粒度信息丟失,在特征學習過程中,使小目標病害無法被識別,則引入 SPD-Conv 代替普通卷積和最大池化層,試驗結果表明,不僅提高了模型識別準確率,還使模型更加輕量化,便于在資源有限的設備上進行部署。

參考文獻:

[1]高 山. 設施番茄病蟲害綠色防控技術分析[J]. 農村實用技術,2022(6):98-100.

[2]蘇子峰. 基于大數據的大棚番茄病蟲害防治栽培技術研究[J]. 中國農業文摘(農業工程),2023,35(1):69-73.

[3]蔣萬勝,田 姿. 論深度學習技術對人類社會發展的影響[J]. 寶雞文理學院學報(社會科學版),2023,43(1):133-139.

[4]唐曉彬,沈 童. 深度學習框架發展綜述[J]. 調研世界,2023(4):83-88.

[5]戴久竣,馬肄恒,吳 堅,等. 基于改進殘差網絡的葡萄葉片病害識別[J]. 江蘇農業科學,2023,51(5):208-215.

[6]曹藤寶,張 欣,陳孝玉龍,等. 融合空間注意力機制和DenseNet的玉米病害分類方法[J]. 無線電工程,2022,52(10):1710-1717.

[7]Ding R R,Qiao Y L,Yang X H,et al. Improved ResNet based apple leaf diseases identification[J]. IFAC-Papers On Line,2022,55(32):78-82.

[8]Naik B N,Malmathanraj R,Palanisamy P. Detection and classification of chilli leaf disease using a squeeze-and-excitation-based CNN model[J]. Ecological Informatics,2022,69:101663.

[9]Paymode A S,Malode V B. Transfer learning for multi-crop leaf disease image classification using convolutional neural network VGG[J]. Artificial Intelligence in Agriculture,2022,6:23-33.

[10]劉擁民,劉翰林,石婷婷,等. 一種優化的Swin Transformer番茄葉片病害識別方法[J]. 中國農業大學學報,2023,28(4):80-90.

[11]He K M,Zhang X Y,Ren S Q,et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016:770-778.

[12]Huang G,Liu Z,van der Maaten L,et al. Densely connected convolutional networks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017:4700-4708.

[13]Simonyan K,Zisserman A. Very deep convolutional networks for large-scale image recognition[J]. arXiv preprint arXiv:1409.1556,2014.

[14]Liu Z,Lin Y,Cao Y,et al. Swin transformer:hierarchical vision transformer using shifted windows[C]//Proceedings of the IEEE/CVF international conference on computer vision. 2021:10012-10022.

[15]熊夢園,詹 煒,桂連友,等. 基于ResNet模型的玉米葉片病害檢測與識別[J]. 江蘇農業科學,2023,51(8):164-170.

[16]Ma N,Zhang X,Zheng H T,et al. Shufflenet v2:practical guidelines for efficient cnn architecture design[C]//Proceedings of the European conference on computer vision (ECCV). 2018:116-131.

[17]Zhang Q L,Yang Y B. Sa-net:shuffle attention for deep convolutional neural networks[C]//ICASSP 2021-2021 IEEE international conference on acoustics,speech and signal processing (ICASSP). IEEE,2021:2235-2239.

[18]Liu S,Huang D. Receptive field block net for accurate and fast object detection[C]//Proceedings of the European conference on computer vision (ECCV). 2018:385-400.

[19]Howard A G,Zhu M L,Chen B,et al. Mobilenets:efficient convolutional neural networks for mobile vision applications[J]. arXiv preprint arXiv,2017.

[20]Sunkara R,Luo T. No more strided convolutions or pooling:a new CNN building block for low-resolution images and small objects[C]//European conference on machine learning and principles and practice of knowledge discovery in Databases(ECML PKDD),Grenoble,France,September 19-23,2022,Proceedings,Part Ⅲ. Cham:Springer Nature Switzerland,2023:443-459.

[21]Wu Y X,He K M. Group normalization[C]//Proceedings of the European conference on computer vision (ECCV). 2018:3-19.

猜你喜歡
輕量化番茄
汽車輕量化集成制造專題主編
番茄炒蛋
秋茬番茄“疑難雜癥”如何挽救
番茄果實“起棱”怎么辦
四點接觸球轉盤軸承的輕量化材料應用
一種輕量化自卸半掛車結構設計
一種輕量化自卸半掛車結構設計
冬天的番茄為啥不太好吃
425輕量化橋軸承座工藝改進
番茄炒蛋做成功啦
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合