李麗鑫,李 朔,李銀銀,高 寧,張弘揚
(遼寧科技大學電子與信息工程學院,遼寧 鞍山 114051)
隨著科技不斷進步,我國農業也逐漸進入了智能化發展階段,而作為人口大國,我國對于農作物的產量需求一直較大。番茄是我國重要的蔬菜作物,產量高、種植面積廣。因此,番茄成熟率檢測正成為智慧農業領域研究的新方向。目前,農民觀察番茄成熟情況,基本采用經驗法進行觀測,檢測效率低且不精確,對于番茄生長的把控存在偏差,因此番茄產量會受到一定影響。
本文從成熟率檢測方面入手,根據目前已有的多項有關成熟度檢測的技術,最終采用機器視覺作為檢測的主要技術方案。一方面,該裝置能很好地提高番茄檢測效率,實現智能化檢測;另一方面,該裝置可以匯總檢測數據,獲取每一批測試樣本的成熟情況,農民能夠根據樣本數據,合理分配收獲時間,保證收獲質量。
該裝置主要由STM32 單片機、OpenMV 攝像頭、舵機、ESP32-CAM 模塊組成,用傳送帶將番茄移動到檢測區并進行分揀。
該裝置以STM32 單片機作為主控核心。通過STM32 操控電機,控制傳送帶運輸至檢測區,進行下一步初步成熟度檢測。OpenMV 置于傳送帶正上方用于圖像采集和處理,并控制舵機在傳送帶末尾處進行產品成熟與未成熟的分揀,以此類推,第二段傳送帶對成熟的番茄進行高精度的成熟度檢測,判斷出成熟番茄是部分成熟、完全成熟還是過度成熟,具體系統流程圖見圖1。
圖1 系統流程圖
電機選用GB520 電機,驅動使用L298N,STM-32 可調控不同轉速來控制傳送帶的運行速度。舵機選用MG995 舵機,舵機上安裝一根分揀桿用于分揀,STM32 可輸入不同脈沖寬度調制(PWM)占空比進行角度調控,控制番茄進入成熟區或非成熟區。
在此過程中,傳輸數據量仍然較大,所以圖像傳輸選用ESP32CAM 模塊,燒錄進代碼后可以通過電腦瀏覽器獲取視頻圖像,實現對番茄成熟度情況的遠程監控。
2.3.1 PID 算法
在該系統中,需要控制傳送帶的傳輸速度,采用PID 控制算法,根據應用功能不同,選用不同的PID 控制算法。
PID 控制公式為
式中:u(t)為控制器輸出的控制量;Kp為比例系數;e(t)為偏差信號,等于給定量與輸出量之差;Ti為積分時間常數;Td為微積分時間常量。
在計算機系統中,采集和處理的數據是離散的,因此需要對算法進行離散化處理,由此得到位置式PID 公式為
我國是一個農業大國,農業灌溉的用水量非常大,不僅造成了水資源的浪費,還不利于農業的發展。為了改變這一現狀,部分地區采用農業節水灌溉技術,在很大程度上節約了水資源。
式中:K 為比例系數;ei為給定值與反饋值構成的控制偏差[1];T 為采樣周期;Ti為積分時間;Td為微分時間;u0為偏差為零時的控制作用。
在式(2) 中,對PID 算法進行增量就可以得到增量式PID 公式為
最終,電機采用增量式PID 控制,通過速度閉環控制傳送帶傳輸速度恒定,保證檢測時不會因為速度過快導致OpenMV 檢測數據缺失。
2.3.2 圖像處理
采用OpenMV 用作圖像處理工作,采用的編譯環境是OpenMVIDE??稍贠penMV 社區開源庫中進行二次開發,使用門檻低[2]。
整個圖像處理工作分為4 塊。OpenMV 通過調節RGB 區數值設置圖像感興趣區,減少外界環境干擾;利用圖像濾波進行除雜,使圖像數據更趨于平滑;部署訓練好的神經網絡模型對番茄進行目標檢測;獲取番茄的大小形狀顏色,作為數據統計。
1) 顏色數值選取。統計番茄果實形狀短軸和長軸比值,當其大于0.7 時番茄形狀圓形度較好,果實圓潤[3]。當番茄果實近紅色像素百分比30%番茄進入紅熟前期,適于采摘且準備上市;近紅色像素百分比50%,且純紅色像素百分比40%番茄進入紅熟中期;近紅色像素百分比80%且純紅色像素百分比70%時,番茄果實已經完全成熟,進入紅熟后期且色澤飽滿。
2) 加權均值濾波算法。加權均值濾波算法大體與灰度圖像相同,將單個的灰度參數變為3 個參數(R,G,B)。加權均值濾波算法式均值濾波算法的改進,以3×3 矩陣為例[4]。
濾波模塊見表1。
表1 濾波模塊
鑒于該系統是對番茄成熟度的檢測,應盡量保證保留圖像的細節,W5取值應大一些,若需要去除噪音,W1-W9取值應平均一些。
3) 卷積神經網絡(CNN)。根據現有的OpenMV 開源社區提供的CNN 框架,篩選谷歌提供的數據集中有關番茄的數據集,進行數據標注,在數據集中標注未成熟、部分成熟、完全成熟、過度成熟的4 級分類,制作成訓練集。在官方平臺上進行云端訓練,最后將云端訓練的模型部署在OpenMV 中進行測試。
4) 獲取番茄數據。神經網絡對番茄進行目標檢測后,在圖像中進行框選。通過番茄圖像所在RGB 閾值分布得到顏色數據,根據顏色分布對整個番茄形狀進行進一步框選,將框選數據導入形狀識別函數進行形狀判別。記錄框選的番茄面積,作為后期估算番茄體積的數據考量。
絡模型訓練標注見圖2,可進行標簽數據集制作工作,模型訓練完成后,將模型部署到OpenMV中進行測試。
圖2 模型訓練標注
番茄成熟度檢測第一階段的單個番茄監測圖,見圖3,對番茄的成熟度進行初步分類檢測。
圖3 單個番茄檢測圖
裝置的操作選擇界面,見圖4,用戶可以選擇登錄設備、進行調試工作,或者設置工作模式。
圖4 選擇界面
該用戶操作設計的設備登錄界面,見圖5。
圖5 設備登錄界面
番茄成熟度第一階段檢測成果的一組成熟度數據展示,見圖6,顯示在屏幕上便于使用者觀察。
圖6 數據展示
本文介紹了一種基于機器視覺的番茄成熟度檢測裝置,該裝置能應用在工廠流水線上進行產業化番茄成熟度檢測,由單片機控制電機和舵機,進行番茄的傳輸和分揀工作。裝置通過OpenMV 對番茄進行目標檢測,并計算出成熟度。在數據通信方面選取了ESP32CAM 模塊對番茄的成熟度情況進行記錄,實現在云端數據觀測和遠程監控。該裝置相較于目前的人工檢測,極大地提升了生產效率,降低了檢測成本,具有廣闊的市場應用前景。