王 寧,孔 斌,王 燦,何立新,3,李 偉,徐海明
1(中國科學院合肥智能機械研究所,合肥 230031)2(中國科學技術大學 自動化系,合肥 230027)3(合肥學院 網絡與智能信息處理重點實驗室,合肥 230601)
基于圖像分形分割的麥穗粒數計算方法①
王 寧1,2,孔 斌1,王 燦1,何立新1,2,3,李 偉1,徐海明1
1(中國科學院合肥智能機械研究所,合肥 230031)2(中國科學技術大學 自動化系,合肥 230027)3(合肥學院 網絡與智能信息處理重點實驗室,合肥 230601)
針對小麥育種中小麥單穗粒數品質測定的問題,本文提出了一種基于圖像分形分割的麥穗粒數計算方法.首先,利用分形幾何中分數維概念,計算圖像分形維數作為像元特征,根據像元特征選定一個適當的閾值分割麥穗圖像; 然后通過分析分割圖像的行像素的灰度特征,計算麥穗與圖像豎直方向的傾角,按此傾角旋轉麥穗圖像使麥穗處于圖像豎直方向,得到旋轉后的麥穗角度矯正圖; 最后,根據矯正圖像的列數據波形特征計算麥穗粒數.實驗證明該方法比傳統(tǒng)測量方法流程更簡潔,準確率更高,計算速度更快,可用于小麥育種中穗粒數測定.
分形維數; 圖像分割; 角度矯正; 麥穗粒數
當前,我國小麥育種處于相對高產的育種階段,提高小麥產量的有效方法主要為增加穗粒數和增加穗粒重[1].小麥穗粒重受遺傳特性和環(huán)境條件的制約,增加幅度相對有限,而穗粒數的變化相對較大,所以小麥育種中主要通過增加穗粒數來提高產量[2-4],因此小麥穗粒數作為一項十分重要的小麥育種指標,研究其計算方法是一件十分有意義的事情.
傳統(tǒng)的小麥穗粒數計算方法主要是稱重計算法,主要流程為:在小麥收獲前10-15天,選取多個樣本點,在每個樣本點隨機選取20穗,然后將其脫粒、烘干,求其平均穗粒數作為樣本點的小麥穗粒數[5].首先該方法的計算復雜度高,計算時間長,在實踐中需要投入較多人力、物力,而且結果容易受人為因素的影響,因此針對當前小麥穗粒數計算中存在的各種問題,本文研究了一種基于圖像分形分割的麥穗粒數計算方法,文中通過圖像分割技術和數學統(tǒng)計方法來計算麥穗粒數,針對傳統(tǒng)計算方法的流程復雜、計算周期長和準確度低等幾個方面做出改進,經測試本文的方法具有操作流程簡單、計算速度快、結果準確等優(yōu)點,為小麥育種工作者提供了一種更可靠、更高效和更智能的技術支撐.
目前圖像分割方法主要分為三類,一種是基于圖像邊緣檢測算法,一種是基于圖像區(qū)域特征的算法,第三種是基于特定理論的算法[6],本文中分隔的目標為麥穗,考慮到麥穗姿態(tài)的多種多樣,并且同時具有麥芒和散亂的葉片的干擾,所以邊緣特征和區(qū)域特征都要處理較多的信息,從另一方面來看,麥穗具有較規(guī)則的紋理特征而且結構簡單[7],因此基于紋理特征的分割方法是較為適合的方法,綜合比較計算速度和復雜度,本文使用了分形紋理特征[8].
Mandelbrot提出了分形幾何,他認為具有分形特征的物體形狀上具有自相似性,假設n維歐氏空間中的有界集合A,若A可以由其自身的Nr個非重疊子集的并表示,并且每個子集放大r倍等于全集A,則A是自相似的[9],此時A的分形維數D可以由如下公式計算:
其中,r是各個坐標軸上的尺度因子,Nr是有界集合A的互不覆蓋的子集個數,D是分形維數.實際上,自然界事物并不嚴格滿足自相似性,確切的說,它們通常呈現某種統(tǒng)計上的自相似性,所以我們很難直接利用上述公式計算分形維數,但是目前提出了許多基于統(tǒng)計自相似性的模型,每種模型都對應了一種計算方法,使用這些方法能夠很好地計算圖像的分形維數.
常見的計算方法主要有:基于Mandelbrot提出的ε-毯子模型的計算方法[10]、基于Pentland提出的分數布朗運動模型(FBM)的計算方法[11]、基于Gangepain和Roques-Carmes提出盒子模型的計算方法[12].Keller等人在原始盒子模型算法基礎上融入了概率論的知識,提出了一種改進的盒子模型算法,Chaudhuri和SarKar在分析了眾多算法的基礎上,提出了一種更簡單、更快速、更容易由計算機求解的方法,稱之為差分盒計數法(Diffrential Box Counting)[13],本文正是使用了該計算方法.差分盒計數法的思想是:首先以x軸和y軸組成的平面表示圖像平面,z軸表示圖像對應坐標的像素灰度,即將圖像灰度表面看作三維空間的曲面,假設一幅圖像大小為M×M,灰度級為L,現將圖像三維空間分割成多個r像素×r像素×h灰度值的盒子,h的取值滿足與像素平面具有相同比例的劃分,即h=r*L/M,然后計算覆蓋曲面的差分盒子數Nr,首先給r×r網格內的盒子自底向上依次標上序號1、2、3、……,然后計算r×r網格內最大像素和最小像素所落如的盒子序號差加一,最后將所有網格計算結果相加即為盒子數Nr,根據公式即可計算分形維數D.
圖1 差分盒計數模型示意圖
差分盒計數分形維數計算步驟[14,15]:
① 對于一幅M×M×L的圖像,將圖像平面b(m,n)按像素劃分為r×r的網格,在z軸方向按h=r*L/M進行等比例劃分,此時,圖像三維空間被劃分成許多尺寸大小為 r×r×h 的“盒子”;
② 在每個r×r網格內,找出最大像素落入的第m個盒子和最小像素落入的第k個盒子,然后可以得到該網格所覆蓋的圖像曲面對應的盒子數,記為:n(i,j)=m-k+1;
③ 對每個r×r的盒子數求和,即可求得總盒子數Nr,即:Nr=SUM{n(i,j)};
④ 此時,即可根據公式(1)計算分形維數,理論上當r趨于無窮大時,計算結果越接近真實值,實際中通過改變r的值,求出一組對應的Nr,然后利用最小二乘法進行線性擬合,所得直線的斜率即為分形維數D.
在1.1節(jié)利用差分盒計數法計算分形維數,實際是計算的整幅圖像或者選定一塊區(qū)域的分形維數,然而,實際中視覺上相差很大的圖像,也有可能具有近似的分形維數,所以在使用差分盒計數法計算分形維數時,直接根據圖像區(qū)域的分形維數進行分割,有時結果并不理想.本文采用以像素為中心選定圖像窗口計算分形維數,然后將計算結果作為窗口中心的紋理特征值,就得到了一副由像素分形維數構成的紋理特征圖,選取適當的閾值(經驗值為2.35)來分割紋理特征圖,將高于閾值的像素賦值為1,低于閾值的像素賦值為0,最后將處理后的紋理特征圖與原始麥穗圖像相乘,輸出結果即為麥穗分割圖像,流程圖如圖2所示.
圖2 麥穗圖像分割流程圖
經分割實驗對比,以窗口中心像素分形維數為特征值比原始的分割方法具有較好的結果,圖3為其中一次分割實驗,(a)是原始麥穗圖,(b)是原始分形分割算法效果,(c)改進分形分割算法效果.
可以看出,(b)和(c)都能夠提取到全部的麥穗圖像,但是(b)具有較多的非麥穗噪聲,(c)則噪聲較少.
通過上述方法獲取了沒有干擾的麥穗圖像,為計算麥穗的粒數,需要對麥穗分割圖進行處理,本文計算麥穗粒數的思路是:設麥穗處于分割圖像的豎直方向時,首先取圖像的一列數據,通過觀察到這組數據,發(fā)現具有類似正弦線的波動狀,即包含很多波峰波谷,其實每個波峰就代表了一個麥穗粒,波谷是麥穗粒的間隔,統(tǒng)計波峰數量即可得到麥穗粒數.但是在統(tǒng)計波峰之前,并不是所有的分割圖中麥穗都處于圖像豎直方向,所以計算前還需矯正麥穗到圖像豎直方向.
圖3 麥穗圖像分割效果對比
為旋轉麥穗到分割圖像的豎直方向,需要計算分割圖中麥穗和圖像豎直方向的傾角,在得到麥穗傾角之后,根據傾角大小和方向旋轉分割圖即可得到麥穗角度矯正圖,下面描述如何計算麥穗傾角.
圖4 三角形計算法示意圖
在計算麥穗傾斜角時,我們在圖中選擇了一個直角三角形,所以我們這里稱為“三角形計算法”,參見圖4,為找到合適的三角形計算麥穗傾角,我們首先在麥穗圖像豎直方向找到兩個位置,這里我們取圖像豎直高度1/3處和2/3處,由此可以得到三角形的一條直角邊,即兩個位置的高度差,大小為圖像高度的1/3,如圖記為h,為了得到三角形的另一條直角邊,我們從上述所取得的兩個位置,沿紅色箭頭(水平)方向截取麥穗圖像,當截取到麥穗邊緣時記下此處的水平坐標,兩個水平坐標的差即為三角形的另一條直角邊,記為d,得到了由d、h和麥穗的一個邊緣構成的直角三角形后,麥穗的傾角θ計算有三角反正切公式給出:
在三角形計算法中,我們確定麥穗邊緣的方法為:當水平截取麥穗圖像時,遇到不為零的像素時,記錄像素的水平坐標,然后繼續(xù)水平截取麥穗圖像,當像素不為0且截取寬度滿足一定寬度(常取10像素)時,我們認為當前記錄的像素水平坐標是麥穗的邊緣,停止截取過程,如果小于指定寬度是,則放棄上一記錄,重復確定邊緣,直到找到真正的麥穗邊緣,這樣做很好的避免了在分割圖像中存在的細微噪聲.實際上為了結果更加準確可靠,我們從1/3圖像高度和2/3圖像高度處依次向下一行計算d和h,常常計算圖像總行數的1/6,得到一組d和h數據,然求得平均值和,根據公式(2),計算傾斜角平均值.
圖5是使用上述方法計算麥穗傾斜角的一次實驗結果圖,(a)在程序中麥穗傾斜角的計算結果分別是:-14.76°,(b)為矯正結果圖,從實驗結果上來看,本次實驗存在部分噪聲干擾,但是并沒有影響麥穗的正常旋轉,證明該方法在一定程度上具有一定的抗干擾能力,效果良好.
圖5 麥穗分割圖和角度矯正試驗結果圖,(a)麥穗直接分形分割效果,(b)通過角度矯正后的麥穗分割圖.
在2.1節(jié)中我們獲得了麥穗角度矯正圖,現在使用上述的列數據統(tǒng)計方法來計算麥穗粒數,如圖6所示,是從一幅麥穗矯正圖中截取的一列數據,該列數據是圖像的第19列(Usable Array:19),在這列數據中我們跟據紅色標線的位置24(Val:24.249.2),來統(tǒng)計波峰個數,即得到了麥穗的單側粒數統(tǒng)計值6.36(Count:6.3571),計算結果為統(tǒng)計值的原因如下所述.
圖6 矯正圖像一列數據波形
為統(tǒng)計波形中波峰的個數,首先根據本列數據的大小計算一個統(tǒng)計標線值,這個值的大小等于該列數據平均值的1/2,假定現在有一列數據Array,那么統(tǒng)計標線的值Val等于mean(Array)/2,記錄波形向上穿越標線和向下穿越標線的水平位置,我們就得到了一個波峰且同時得到了波峰的寬度,計算中只有波峰寬度大于指定寬度時,我們才進行統(tǒng)計,否則我們認為是噪聲而放棄記錄,但是即使如此也不是所有的列數據都是可靠,所以為了結果更加準確,我們限定每次列數據計算所得的波峰數不少于5個(這也滿足麥穗單側粒數均大于5這一事實),在上述兩個限定條件下,我們認為得到的該列數據是可靠的,也就是說已經可以判斷該列確實是從圖像中麥穗部分上取得數據,而不是從背景或者噪聲中得到的干擾數據,雖然已經能夠取得列數據可靠,但是卻不能直接用波峰數作為結果記錄,因為麥穗列數據存在一種特殊的波峰,即兩個或者三個麥穗粒的相連的波峰,于是我們對可靠列數據上計算得到的波峰數結果,做如下的處理,首先,求取該列數據所得的所有波寬的中值寬度,作為一粒麥穗粒的波峰寬度,然后累加所有波寬的寬度,以此累加結果除以中值寬度,即得到了單側麥穗粒數,這也是上圖中計算得到小數麥穗粒的原因,對此小數四舍五入求整,得到的結果依然是準確、可靠的,圖7為麥穗列數據處理流程圖.
圖7 單側麥穗粒數計算流程圖
為了計算結果更加準確、可靠,我們隔列遍歷整個圖像的列數據,重復上述計算過程,然后就得到了一組單側麥穗粒數數據,然后計算這組數據的平均值,對平均數的四舍五入取整即得到了該幅圖像單側麥穗粒數n,最后我們得到該麥穗的粒數為:4n.圖8為一幅圖像中所有被遍歷的列,計算所得單側麥穗粒數結果.
最后,為了驗證本文計算方法的準確性以及本方法較之傳統(tǒng)方法效率的提升,我們按照與傳統(tǒng)方法相同的實驗條件進行采樣,在收獲期和小麥收獲前10~15天進行.選擇在實際實驗麥田(龍亢農場育種基地),對100個樣本點,單樣本點1 m2,每個樣本點采集500個樣本進行計算.本次試驗,樣本采集過程耗費時間為3 h,程序計算一株麥穗粒數平均耗時:50 ms,所以全部樣本麥穗粒數計算時間約為0.7 h,故總實驗周期為3.7 h,將實驗結果與傳統(tǒng)方法實驗結果進行比較,如表1所示.
圖8 一幅圖像中單側麥穗粒數結果統(tǒng)計
表1 兩種計算麥穗粒數方法的結果對比
實驗表明,傳統(tǒng)方法計算時間是該方法計算時間的3.79倍,該方法較之傳統(tǒng)方法平均誤差提高4.6%,從結果可以看出,在麥穗粒數計算上,該方法無論是從時間上還是準確度上都得到了極大的提高,可大大提高小麥育種工作的效率,是一種更快速、更準確的計算方法.
本文提出的基于圖像分形分割的麥穗粒數計算方法采集圖像方便簡潔,不需要人到現場進行,麥穗粒數計算流程簡單、迅速,不需要進行人工篩選、烘干和稱重等費時較多的人工操作,通過對圖像內麥穗的選取,可自動的完成計算并保存相關計算結果,不需要人工記錄數據,避免了諸如筆誤等人為失誤,并且本方法測量精度較高,最大誤差小于6%,平均誤差在4%以內,具有較好的實用價值.但是該計算方法還不完善,其缺點是:第一,計算的分形分割算法的計算復雜度與原始分形分割算法相比有所提升,當實際中像素的分辨率大幅提升時,會產生一定的延時.第二,該計算還不能自動選擇圖像中的完整麥穗進行計算,計算之前需要人為的截取單個完整可見的麥穗,因此使用起來還不夠簡單易用.這些都將是下一步的研究工作.
1王兆龍,曹衛(wèi)星,戴廷波.小麥穗粒數形成的基因型差異及增粒途徑分析.作物學報,2001,27(2):236–242.
2郭秀煥,趙平,李學軍,等.小麥超高產育種主要指標的探討.種子,2004,23(1):44–46.
3王瑾.小麥穗粒數及相關性狀的QTL分析[博士學位論文].保定:河北農業(yè)大學,2008.
4張冬玲.小麥穗粒數和千粒重的關聯(lián)分析及冠層溫度和葉綠素含量對產量的影響[博士學位論文].北京:中國農業(yè)科學院,2014.
5亢秀麗,馬愛平,靖華,等.一種小麥穗粒數測定方法.農學學報,2015,5(9):27–30.[doi:10.11923/j.issn.2095-4050.cjas15020016]
6喬玲玲.圖像分割算法研究及實現[碩士學位論文].武漢:武漢理工大學,2009.3–5.
7Pentland AP.Fractal-based description of natural scenes.IEEE Trans.on Pattern Analysis and Machine Intelligence,1984,6(6):661–74.
8楊彥從,彭瑞東.基于分形維數的圖像分析方法研究.中國儀器儀表學會第九屆青年學術會議論文集.合肥.2007.
9Mandelbrot BB.The Fractal Geometry of Nature.San Francisco,USA:Freeman,1983.
10Sarkar N,Chaudhuri BB.An efficient approach to estimate fractal dimension of textural images.Pattern Recognition,1992,25(9):1035–1041.[doi:10.1016/0031-3203(92)90066-R]
11Mandelbrot BB,van Ness J.Fractional brownian motions,fractional noises,and applications.SIAM Review,1968,10(4):422–437.[doi:10.1137/1010093]
12Gagnepain JJ,Roques-Carmes C.Fractal approach to twodimensional and three-dimensional surface roughness.Wear,1986,109(1-4):119–126.[doi:10.1016/0043-1648(86)90257-7]
13Sarkar N,Chaudhuri BB.An efficient differential boxcounting approach to compute fractal dimension of image.IEEE Trans.on Systems,Man,and Cybernetics,1994,24(1):115–120.[doi:10.1109/21.259692]
14楊書申,邵龍義.MATLAB環(huán)境下圖像分形維數的計算.中國礦業(yè)大學學報,2006,35(4):478–482.
15李?,朱金兆,朱清科.分形維數計算方法研究進展.北京林業(yè)大學學報,2002,24(2):71–78.
Counting Grains Per Wheat Spike Based on Fractal Segmentation of Image
WANG Ning1,2,KONG Bin1,WANG Can1,HE Li-Xin1,2,3,LI Wei1,XU Hai-Ming11(Institute of Intelligent Machines,Chinese Academy of Sciences,Hefei 230031,China)2(Department of Automation,University of Science and Technology of China,Hefei 230027,China)3(Key Laboratory of Network and Intelligent Information Processing,Hefei University,Hefei 230601,China)
Aiming at counting the grain number per spike in wheat breeding,a novel method based on fractal image segmentation is proposed in this paper.Firstly,a square image window is selected.Then,the fractal dimension of the window is set as eigenvalue of its center pixel.In order to extract the wheat spike,a proper threshold is selected to segment the image according to the pixel eigenvalue.To make the wheat spike perpendicular to the row direction of image,the angle between the wheat spike and the vertical direction of the segmented image is computed through analyzing row data of the image.The image is rotated according to the angle,and an angle-adjusted image is obtained.At last,the grain number can be calculated by column data of the angle-adjusted image.Experiments show this method achieves a higher accuracy and better efficiency than the traditional counting method.
fractal dimension; image segmentation; angle adjust; grain number per spike
王寧,孔斌,王燦,何立新,李偉,徐海明.基于圖像分形分割的麥穗粒數計算方法.計算機系統(tǒng)應用,2017,26(10):219–224.http://www.c-sa.org.cn/1003-3254/6030.html
中國科學院戰(zhàn)略性先導科技專項(A類)(XDA08040110); 合肥學院優(yōu)秀青年人才支持項目(16YQ06RC)
2017-02-08; 采用時間:2017-03-02