步東偉
(鄭州大學 信息工程學院,河南 鄭州 450007)
我國作為世界上最大的稻米生產國和消費國之一,國家對稻米的品質非常重視,人們對稻米的精深加工、品種和質量的要求越來越高,為此頒布國家標準GB/T 17891—2017《優質稻谷》[1]、GB1350—2009《稻谷》[2]、GB/T24535—2009《稻谷粒型檢驗方法》[3],為我國優質稻谷的生產與開發提供了重要的依據,文獻[4-6]對整精米的標準應用進行闡述分析。其中粒型參數包括米粒的長度、寬度、長寬比、堊白度等參數,這些參數用于稻米等級評定參考,現行粒型的檢測方法主要采用人工測量的方法獲得,用直尺測量10粒稻米的總長度和寬度,從而計算出粒型,這種方法受檢測人員的主觀因素影響,且該檢測方法的檢測時間長、可操作性和重復性差,影響檢測結果的合理性,不能滿足稻米收購、儲藏等過程中對品質檢測的快速、客觀和準確性要求,影響了稻米的流通和加工品質的提高,為此國內外很多學者提出了不同的處理設備和方法,比如提出技術模式識別的測試方法,缺點是速度慢,成本高,精度不好控制[7-11]。也有很多學者將卷積神經網絡(Convolutional Neural Networks,CNN)用于農業檢測[12-17],用于提高農產品檢測設備的智能化。
基于此,本文提出了一種基于CNN算法處理的稻米參數評定分析儀,可以快速檢測出稻米的形態參數,并給出參數指標,為稻米的存儲和種子選取做好了準備,本設備成本低,操作方便,便于攜帶,有利于現場使用,便于本設備的后期推廣應用。
本分析儀采用基于電荷耦合元件(Chargecoupled Device,CCD)攝像頭的嵌入式硬件平臺,便于產品小型化,便于現場應用,分析儀具有良好的人機交互界面,多按鍵輸入,可以輸入預定閾值,可以根據經驗或者標準米粒的參數進行CNN閾值設計,硬件平臺通過CCD攝像頭采集稻米形態圖片,稻米被抽取到一個密閉的振動空間平臺上,密閉空間平臺頂端攝像頭抓取圖像,而后把數據送給嵌入式處理器,嵌入式處理器對數據進行 CNN網絡處理或者直接把數據給上位機,在上位機上做處理,此時嵌入式前端設備就相當于上位機的一個機器視覺傳感器,該分析儀的結構原理圖如圖1所示。

圖1 硬件結構原理圖Fig.1 Schematic diagram of hardware structure
圖像抓取裝置,由1CCD攝像頭、2采集箱、3振動、4凹平面、5光源組成,CCD攝像頭抓取圖像裝置如圖2所示。

圖2 圖像采集裝置結構圖Fig.2 Structure diagram of the image capture device
1.2.1 CNN算法原理
CNN算法是一種類生物進程,其中神經元之間的聯結模式和動物視覺皮層組織非常相似;是一種前饋神經網絡,擁有卷積計算,是深度學習的代表算法之一[16]。具有表征學習能力,能夠按其階層結構對輸入信息進行平移不變分類,因此也被稱為“平移不變人工神經網絡”。
CNN算法利用輸入是圖片的特點,把神經元設計成三個維度:width,height,depth。比如輸入的圖片大小是 120×120×3 (rgb),那么輸入神經元就也具有3個維度,神經網絡解過程如圖3所示。

圖3 神經網絡解過程Fig.3 The solution process of Neural Network
矩陣求解過程如圖4所示,本文中將應用矩陣求解計算米粒圖像的像素數。

圖4 卷積神經網絡的矩陣求解過程示意圖Fig.4 Schematic illustration of matrix solving process based on Neural Network
1.2.2 嵌入式平臺抓取圖像的流程
嵌入式平臺采集稻米粒型圖片過程如圖5所示。

圖5 稻米粒型圖片采集流程圖Fig.5 The collection flowchart of rice image
1.2.3 CNN算法分析應用
首先將原始圖像轉換為灰度圖像,然后利用卷積核g1識別出稻米邊緣和堊白部分,而后,根據稻米米粒的像素數計算相關米粒的參數。

卷積核g1是滑動窗口,原始圖像I1,處理為灰度圖像I2,I2與g1卷積,步長stride,

采用(2)的方式,使得輸入圖片寬度win像素和輸出圖片寬度wout像素大小一樣,kernel_size=3為 g1,padding=1,stride=1,不會改變卷積前后特征圖的大小。
根據以上得I2×g1得到圖片 I3,設定閾值LEVEL1=x1,x1為經驗值,圖像 I3二值化處理后得到圖像 I4,設定閾值 LEVEL2=x2,x2為經驗值,根據I3得到堊白圖像I5。
1.2.4 稻米形態參數計算
單個米粒圖像閾值分割,首先根據CNN算法后的圖像,設定LEVEL1=t1的值,將小于閾值t1的像素量化成零,大于閾值t1的像素量化成1。
以兩個鄰近像素點間的距離為單位長度,即以像素間距為長度測量單位,建立單米粒坐標圖如圖6所示,建立二維數組pixel[y][x],


圖6 單米粒坐標圖Fig.6 The coordinates of single rice
權值分別為:R取 0.399、G取 0.497、B取0.104,進行圖像灰度化,而后CNN卷積處理后,設定t1=Grey,則圖其轉化過程如圖7所示。

圖7 米粒圖像分割圖Fig.7 The segmentation picture of rice image

根據公式(7)計算單幅圖像的整個米粒整精度,作為本次抽樣的檢測依據,對米粒進行參數評分。
設定 LEVEL2=t2的值,將小于閾值 t2的像素量化成零,大于閾值t2的像素量化成1。
進行堊白像素計算,根據t1計算所有米粒像素 pixel_1,根據t2計算所有堊白像素pixel_2,而后根據公式(8)計算整幅圖像米粒的堊白度。
可連續采集多幅圖像,求出所有圖像的相應參數的算術平均值,即可做為該類稻米的相關參數。如果出現稻米米粒在同一平面上邊緣相切的情況,依然可以使用文中的方法進行邊緣切割,不影響稻米米粒的總數統計,可以看成圖7的一種特殊情況,兩個米粒間距為 0,按照文中方法進行處理既可。
抽樣8組,每組樣品米粒16個,每組均勻分布,樣品為整精米和碎米混合物隨機分布,整精米率0%~100%隨機分布,測試結果如表1所示,GB/T24535—2009[3]中定義粒型(長寬比)指的是完整精米粒長度與寬度的比值,無量綱。

表1 稻米粒型檢測結果Table 1 The detection result of rice shape
表中的人工和分析儀行的數據為測試米粒的長寬比,無量綱。單粒米粒樣品絕對誤差最大值為0.02;人工測試所得平均值作為標準As,分析儀的平均值,根據相對誤差公式可以計算相對誤差值Δe。

取絕對誤差和相對差中的最大值為參數評定參考,則本組測試數據的最大誤差為 0.02,檢測結果表明,分析儀檢測結果與人工檢測的結果高度相關。
基于CNN算法處理的稻米參數評定分析儀,實現了根據國家標準 GB/T17891、GB1350、GB/T24535對稻米粒型參數的快速劃分,分析儀測試結果和人工測試結果誤差在0.02以下,堊白參數的計算,可以根據灰度圖像中灰度值的不同,設定合適的灰度閾值,進行堊白位置、堊白大小、堊白度等堊白參數計算。凈稻谷、出糙率、未熟粒等參數的CNN算法應用,有待以進一步研究,以便于CNN算法在稻米參數檢測中的推廣應用。