羅永澤 張廣澤 林木宋 劉駿 劉旭 歐陽(yáng)詠霽 徐振江 劉洪








摘要:該研究基于OpenCV庫(kù)設(shè)計(jì)出一款水稻谷粒考種軟件。它首先利用攝像頭獲取谷粒圖像并進(jìn)行比例尺校正,之后對(duì)圖像進(jìn)行灰度化、平滑化、閾值分割和開(kāi)運(yùn)算等處理,然后識(shí)別谷粒同時(shí)依據(jù)需要對(duì)其輪廓或數(shù)量進(jìn)行修正,最后在OpenCV 橢圓擬合函數(shù)的基礎(chǔ)上獲取谷粒長(zhǎng)、寬和周長(zhǎng)等考種數(shù)據(jù)。通過(guò)比對(duì)軟件測(cè)量和人工測(cè)量的數(shù)據(jù)結(jié)果,發(fā)現(xiàn)軟件測(cè)量的數(shù)據(jù)準(zhǔn)確性和可靠性均較高,可以替代人工進(jìn)行水稻谷粒考種分析。
關(guān)鍵詞:OpenCV;水稻;考種;軟件
中圖分類(lèi)號(hào):TP317.4? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2023)35-0023-04
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID)
0 引言
水稻(Oryza sativa L.) 是全球最重要的糧食作物之一,近一半人口以大米為主食[1]。在水稻育種和栽培過(guò)程中,育種家常常需要對(duì)收獲后的稻谷進(jìn)行觀測(cè)分析,其中形態(tài)性狀測(cè)量(谷粒考種)是重點(diǎn)[2],谷粒考種所涉及的性狀主要包括谷粒數(shù)量、谷粒長(zhǎng)寬和谷粒形狀等。傳統(tǒng)的水稻考種主要依靠人工完成,測(cè)試成本較高,且測(cè)量準(zhǔn)確度容易受到操作人員熟練程度和專(zhuān)注度等因素的影響,導(dǎo)致測(cè)量質(zhì)量和效率達(dá)不到現(xiàn)代水稻栽培育種研究的發(fā)展需求[3]。
為了提高作物考種效率,國(guó)內(nèi)外學(xué)者和機(jī)構(gòu)進(jìn)行了大量的分析研究,其中在光電分析方面,美國(guó)的Seedburo公司、法國(guó)肖邦(Chopin) 公司和德國(guó)派福(Pfeuffer) 公司先后研制了光電數(shù)粒機(jī)[4],雖然這些儀器相較于人工數(shù)粒有了長(zhǎng)足的進(jìn)步,但該類(lèi)儀器功能單一只能統(tǒng)計(jì)粒數(shù)。近年來(lái),隨著計(jì)算機(jī)視覺(jué)分析和人工智能技術(shù)的發(fā)展,農(nóng)作物自動(dòng)化表型分析研究取得了巨大發(fā)展。姚遠(yuǎn)等[5]在閾值分割、濾波操作和Harris角點(diǎn)檢測(cè)算法分析的基礎(chǔ)上,提出了大豆植株分杈數(shù)數(shù)學(xué)模型,實(shí)現(xiàn)了對(duì)這個(gè)性狀的可靠分析。邢航等[6]通過(guò)對(duì)水稻谷粒圖像與質(zhì)量信息同步采集的方式實(shí)現(xiàn)了水稻谷粒考種參數(shù)自動(dòng)提取。Yang等[7]基于線陣列攝像機(jī)開(kāi)發(fā)了一套水稻考種系統(tǒng),該系統(tǒng)能自動(dòng)提取稻谷總粒數(shù)、空粒數(shù)和實(shí)粒數(shù)等參數(shù)。廣東九州智農(nóng)科技有限公司基于圖像識(shí)別技術(shù)開(kāi)發(fā)了一套自動(dòng)考種分析系統(tǒng)(ST2001) ,利用該系統(tǒng)可對(duì)水稻、小麥和玉米等農(nóng)作物的總粒數(shù)、實(shí)粒數(shù)和千粒重等參數(shù)進(jìn)行分析研究。武漢谷豐光電科技有限公司也基于數(shù)字圖像處理技術(shù)研發(fā)了一款水稻數(shù)字化考種機(jī)(YTS-5D) ,該系統(tǒng)可以獲取水稻總粒數(shù)、實(shí)粒數(shù)、粒長(zhǎng)寬和粒面積等重要表型性狀參數(shù)。上述設(shè)備雖然操作方便快捷但也存在價(jià)格昂貴和結(jié)構(gòu)復(fù)雜的特點(diǎn),并不利于大面積推廣應(yīng)用。
作為Intel公司支持的一種重要的開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù),OpenCV(Open Source Computer Vision Library) 可以在多個(gè)操作系統(tǒng)上運(yùn)行,它提供了多個(gè)語(yǔ)言接口,可以實(shí)現(xiàn)計(jì)算機(jī)視覺(jué)圖像處理等方面的分析研究。本研究以O(shè)penCV庫(kù)為基礎(chǔ),利用水稻谷粒檢測(cè)模型和優(yōu)化特征提取算法,在對(duì)比驗(yàn)證的基礎(chǔ)上設(shè)計(jì)了一套水稻谷粒考種分析軟件,為水稻谷粒自動(dòng)化考種提供一種有效方法。
1 軟件系統(tǒng)構(gòu)成及運(yùn)行流程
本軟件主要由圖像獲取、圖像識(shí)別、圖像分析與數(shù)據(jù)保存輸出4個(gè)模塊組成,其中圖像識(shí)別與分析模塊主要基于OpenCV開(kāi)發(fā)。軟件操作界面利用QT平臺(tái)的C++語(yǔ)言設(shè)計(jì),主要由功能菜單區(qū)、圖像預(yù)覽區(qū)和結(jié)果展示區(qū)構(gòu)成(圖1) 。
在軟件運(yùn)行方面,首先利用攝像頭獲取谷粒圖像并進(jìn)行比例尺校正,然后通過(guò)灰度化處理、平滑化處理以及閾值分割和開(kāi)運(yùn)算分析降低圖像噪聲,之后提取二值圖像邊緣特征,最后利用OpenCV 橢圓擬合函數(shù)獲取谷粒最小外接矩形的4個(gè)頂點(diǎn),并在此基礎(chǔ)上統(tǒng)計(jì)谷粒長(zhǎng)、寬和周長(zhǎng)等考種數(shù)據(jù)。
2 圖像預(yù)處理
圖像預(yù)處理的目的是增強(qiáng)對(duì)后續(xù)處理有重要作用的圖像特征和抑制不需要的變形[8],改進(jìn)特征提取、圖像分割以及匹配和識(shí)別可靠性。通常情況下,圖像預(yù)處理包括灰度化處理、平滑化處理、閾值分割處理和開(kāi)運(yùn)算處理等。
2.1 灰度化處理
在獲得水稻谷粒彩色圖像后,常需要對(duì)其進(jìn)行灰度處理。灰度處理是一種重要的圖像預(yù)處理方式,它的目的是均衡圖像顏色的R(紅)、G(綠)和B(藍(lán))分量值。目前灰度處理方法主要有三種,分別為最大值法、平均值法和加權(quán)平均值法[9],其中加權(quán)平均法主要依據(jù)重要性為R、G、B分別設(shè)置不同權(quán)重,然后在此基礎(chǔ)上進(jìn)行加權(quán)平均,即R=G=B=WrR+WgG+WbB,式中的Wr、Wg、Wb分別為R、G、B的權(quán)重,不同權(quán)重值將形成不同的灰度圖像[10]。在本軟件主要利用加權(quán)平均法對(duì)圖像進(jìn)行灰度處理(圖2) ,圖像轉(zhuǎn)化函數(shù)為cv2.cvtColor() ,函數(shù)形式為cv2.cvtColor(frame, cv2.COLOR _BGR 2HSV) ,其中frame為要處理分析的圖片,cv2.COLOR _BGR2HSV表示將圖片轉(zhuǎn)化為HSV灰度圖片。
2.2 平滑化處理
在圖像采集過(guò)程中常常受到噪聲的影響,這些噪聲會(huì)使原本均勻連續(xù)變化的灰度值產(chǎn)生突變,從而形成虛假的輪廓或邊緣,進(jìn)而對(duì)分割計(jì)數(shù)分析產(chǎn)生影響[11]。抑制、減弱或消除這類(lèi)噪聲改善圖像質(zhì)量的方法叫作圖像平滑,本軟件利用OpenCV中的blur函數(shù)對(duì)圖像進(jìn)行平滑化處理[12],其工作原理是將圖像的每一個(gè)像素點(diǎn)替換成周?chē)袼氐钠骄担唧w代碼為blur(gray,blurp,Size(3,3)) ,當(dāng)中的Size(3,3) 表示對(duì)輸入的灰度圖像gray進(jìn)行3×3大小的均值模糊處理,而blurp為平滑化處理后的圖像。
2.3 閾值分割處理
閾值分割是一種重要的圖像處理方法,它通過(guò)設(shè)定閾值將圖像分成前景和背景兩個(gè)部分,然后將關(guān)注部分(前景)從復(fù)雜背景區(qū)域中提取出來(lái),以便對(duì)其進(jìn)行識(shí)別和分析[13]。本軟件基于全局閾值的方法利用threshold函數(shù)對(duì)圖像進(jìn)行分割處理,具體函數(shù)形式為threshold(blurp,thres,175,255,THRESH_BINARY_INV) ,當(dāng)中的175為閾值,大于該值則像素值設(shè)置為255,否則設(shè)置為0。利用該函數(shù)對(duì)圖像進(jìn)行二值化處理(圖3) 。
2.4 開(kāi)運(yùn)算處理
開(kāi)運(yùn)算的主要作用是對(duì)經(jīng)過(guò)閾值分割處理的二值化圖像再次進(jìn)行形態(tài)學(xué)分析,它首先對(duì)圖像進(jìn)行腐蝕處理然后再進(jìn)行膨脹處理,從而使邊界角變圓滑,最終對(duì)圖像輪廓起到修剪作用[14]。此外,開(kāi)運(yùn)算不僅能夠清除細(xì)小的毛刺及狹窄連接,而且還不會(huì)導(dǎo)致圖像輪廓整體收縮。本軟件中利用使用OpenCV的morphologyEx函數(shù)對(duì)圖像進(jìn)行開(kāi)運(yùn)算處理,具體代碼為morphologyEx(thres,morph,MORPH _OPEN,elem) ,當(dāng)中的MORPH_OPEN表示開(kāi)運(yùn)算。
2.5 邊緣檢測(cè)算法分析
邊緣檢測(cè)是計(jì)算機(jī)視覺(jué)圖像處理中的基本工具,其目的是標(biāo)識(shí)圖像中亮度變化明顯的點(diǎn)。邊緣檢測(cè)不僅可以大幅減少數(shù)據(jù)量,還可以剔除不相關(guān)的信息,從而保留重要的圖像結(jié)構(gòu)信息[15]。本軟件利用Canny算子對(duì)圖像進(jìn)行邊緣檢測(cè)分析,代碼形式為Canny(morph,cannyo,35,70) ,其中35為滯后閾值,如果一個(gè)像素的梯度大于它,則將其認(rèn)為是邊緣。而70為主閾值,如果一個(gè)像素的梯度大于它且與滯后閾值相連,則也將其認(rèn)為是邊緣。
3 水稻谷粒形態(tài)數(shù)據(jù)提取
在邊緣檢測(cè)算法將特征提取出后,本軟件首先利用fitEllipse函數(shù)對(duì)谷粒輪廓進(jìn)行橢圓擬合,之后從中提取谷粒最長(zhǎng)軸與最短軸的四個(gè)頂點(diǎn)坐標(biāo),然后在此基礎(chǔ)上構(gòu)建谷粒最小外接矩形并計(jì)算谷粒長(zhǎng)度、寬度、長(zhǎng)寬比和周長(zhǎng)等,最后再將所有考種信息展示出來(lái)(圖4) 。
4 谷粒圖像校正
通常情況下,圖像分析結(jié)束后無(wú)需對(duì)圖像再次進(jìn)行修正,然而在實(shí)踐過(guò)程中,常常發(fā)現(xiàn)空秕粒、芒和谷粒粘連等會(huì)影響分析結(jié)果的準(zhǔn)確性。為了解決此類(lèi)問(wèn)題,本軟件增加了谷粒形狀修正與刪除功能。
4.1 谷粒形狀修正
谷粒形狀修正的主要目的是消除粘連和芒對(duì)圖像分析和數(shù)據(jù)統(tǒng)計(jì)的影響。本軟件設(shè)計(jì)出一個(gè)基于鼠標(biāo)劃線方式調(diào)整圖像形狀的算法,具體操作步驟如下:
軟件首先會(huì)計(jì)算鼠標(biāo)劃出的直線與谷粒的最小外接矩形框的交點(diǎn)數(shù)量,如果沒(méi)有交點(diǎn)或只有1個(gè)交點(diǎn),則不會(huì)對(duì)圖像進(jìn)行調(diào)整;如果有2個(gè)交點(diǎn)就會(huì)對(duì)谷粒所對(duì)應(yīng)的最小外接矩形進(jìn)行修正。修正方法是基于公式[x3=(x1+x2)/2]和[y3=(y1+y2)/2]計(jì)算2個(gè)交點(diǎn)中點(diǎn)坐標(biāo),式中x3和y3分別為中點(diǎn)的橫縱坐標(biāo),之后基于該中點(diǎn)作兩邊的垂線并重新構(gòu)建谷粒的最小外接矩形,最后重新獲取考種數(shù)據(jù)(圖5) 。
4.2 谷粒刪除
谷粒刪除的算法與思路主要參照4.1進(jìn)行,即依據(jù)鼠標(biāo)劃出的直線與谷粒的最小外接矩形框的交點(diǎn)數(shù)量來(lái)判斷是否刪除谷粒,如果有2個(gè)交點(diǎn)則會(huì)刪除谷粒所對(duì)應(yīng)的最小外接矩形(圖6) ,具體代碼如下:
if(cut||(count&&(delrect||split))) {
this->press=true;
this->begin=event->pos();
end=QPoint();
end.setX(begin.x()+1);
end.setY(begin.y()+1);
} else {
this->press=false;
if(mark) {
markB=event->pos();
markE=QPoint(); //markE設(shè)置為QPoint對(duì)象
markE.setX(markB.x()+1);
markE.setY(markB.y()+1);
}
}
5 數(shù)據(jù)驗(yàn)證與分析
5.1 粒數(shù)計(jì)數(shù)準(zhǔn)確率驗(yàn)證
為了評(píng)價(jià)軟件的粒數(shù)計(jì)數(shù)準(zhǔn)確率,本研究對(duì)其進(jìn)行了驗(yàn)證分析,驗(yàn)證的谷粒數(shù)量分別為50、100和150粒,共設(shè)3個(gè)重復(fù),最后基于下列公式計(jì)算準(zhǔn)確率。
[準(zhǔn)確率(%)=(1-誤差數(shù)量實(shí)際谷粒數(shù)量)×100]
從驗(yàn)證結(jié)果上看(表1) ,本軟件的粒數(shù)識(shí)別的準(zhǔn)確率達(dá)到100%,說(shuō)明本軟件可以用于水稻谷粒計(jì)數(shù)分析。
5.2 谷粒長(zhǎng)寬數(shù)據(jù)提取準(zhǔn)確性檢測(cè)
谷粒長(zhǎng)度和寬度是重要的考種性狀,為了評(píng)價(jià)軟件對(duì)谷粒長(zhǎng)寬數(shù)據(jù)提取的準(zhǔn)確性,本研究從100粒稻谷中隨機(jī)選擇10粒分別進(jìn)行人工和軟件測(cè)量,重復(fù)3次,最后利用獨(dú)立樣本t檢驗(yàn)和離散度對(duì)軟件測(cè)量準(zhǔn)確性進(jìn)行評(píng)價(jià)。獨(dú)立樣本t檢驗(yàn)和sp計(jì)算公式分別為:
[t=x1-x2sp1n1+1n2]
[sp=(n1-1)s12+(n2-1)s22n1+n2-2]
式中sp為匯總標(biāo)準(zhǔn)差(pooled standard deviation) ,x1為人工測(cè)量結(jié)果,x2為軟件測(cè)量結(jié)果,n為樣本量,s為樣本標(biāo)準(zhǔn)差。
由于10粒長(zhǎng)和10粒寬的人工與軟件測(cè)量的t檢驗(yàn)雙尾P值遠(yuǎn)大于0.05(表2) ,說(shuō)明本軟件提取的數(shù)據(jù)與人工測(cè)量的結(jié)果為同一組數(shù)據(jù)的概率有95%。此外,本研究還發(fā)現(xiàn)軟件測(cè)量結(jié)果的離散度小于人工測(cè)量的,說(shuō)明軟件測(cè)量的數(shù)據(jù)可靠性較高。上述分析結(jié)果表明,本軟件可以替代人工進(jìn)行水稻谷粒考種分析。
6 結(jié)束語(yǔ)
本研究基于OpenCV庫(kù)設(shè)計(jì)出一款水稻谷粒考種軟件,它利用灰度化、平滑化、閾值分割和開(kāi)運(yùn)算等方法對(duì)谷粒彩色圖像進(jìn)行分析,然后識(shí)別谷粒并獲取相關(guān)考種數(shù)據(jù),此外本軟件還具備修正谷粒輪廓和數(shù)量的功能。通過(guò)對(duì)比軟件和人工考種數(shù)據(jù),發(fā)現(xiàn)軟件獲取的數(shù)據(jù)準(zhǔn)確性和可靠性均較高,可以替代人工進(jìn)行水稻谷粒考種分析。
參考文獻(xiàn):
[1] SCHAARSCHMIDT S,LAWAS L M F,GLAUBITZ U,et al.Season affects yield and metabolic profiles of rice (Oryza sativa) under high night temperature stress in the field[J].International Journal of Molecular Sciences,2020,21(9):3187.
[2] 鄧若玲,潘威杰,王志琪,等.農(nóng)作物表型技術(shù)及其智能裝備研究進(jìn)展與展望[J].現(xiàn)代農(nóng)業(yè)裝備,2021,42(1):2-9.
[3] 周洪壘.基于圖像處理的水稻考種系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2019.
[4] 楊萬(wàn)能.水稻產(chǎn)量相關(guān)性狀參數(shù)自動(dòng)提取的數(shù)字化技術(shù)研究[D].武漢:華中科技大學(xué),2011.
[5] 姚遠(yuǎn),孟金慧,李向陽(yáng).大豆植株分杈數(shù)自動(dòng)提取算法研究[J].現(xiàn)代農(nóng)業(yè)科技,2019(11):6-8.
[6] 邢航,黃旭楠,楊秀麗,等.水稻谷粒考種參數(shù)自動(dòng)提取裝置及試驗(yàn)[J/OL].[2023-05-10].華南農(nóng)業(yè)大學(xué)學(xué)報(bào),https://kns.cnki.net/kcms/detail//44.1110.S.20230105.1238.001.html.
[7] YANG W N,GUO Z L,HUANG C L,et al.Combining high-throughput phenotyping and genome-wide association studies to reveal natural genetic variation in rice[J].Nature Communications,2014,5(1):1-9.
[8] 于殿泓.圖像檢測(cè)與處理技術(shù)[M].西安:西安電子科技大學(xué)出版社,2006.
[9] 章毓晉.圖象工程-下冊(cè)-圖象理解與計(jì)算機(jī)視覺(jué)[M].北京:清華大學(xué)出版社,2000.
[10] 楊迪寒,王承啟,于帥,等.基于OpenCV的路面裂縫檢測(cè)裝置[J].工業(yè)技術(shù)創(chuàng)新,2022,9(1):49-54.
[11] 劉小莉.基于圖像處理的小麥籽粒自動(dòng)計(jì)數(shù)研究[D].合肥:安徽農(nóng)業(yè)大學(xué),2022.
[12] 朱文偉,李建英.OpenCV 4.5計(jì)算機(jī)視覺(jué)開(kāi)發(fā)實(shí)戰(zhàn):基于Python[M].北京:清華大學(xué)出版社,2022.
[13] 武紅玉.閾值分割算法在圖像處理中的應(yīng)用[J].科技信息,2012(27):201-202.
[14] 葉小奇.基于機(jī)器視覺(jué)的LED劃片機(jī)定位技術(shù)研究[D].長(zhǎng)沙:湖南大學(xué),2018.
[15] GONZALEZ R C,WOODS R E.數(shù)字圖像處理[M].阮秋琦,阮宇智,譯.4版.北京:電子工業(yè)出版社,2020.
【通聯(lián)編輯:謝媛媛】