白元明,孔令成,張志華,趙江海,戴魏魏
(1.常州大學信息科學與工程學院,江蘇常州 213164;2.中國科學院合肥物質(zhì)科學研究院先進制造技術研究所,江蘇常州 213164;3.南京國際船舶設備配件有限公司技術信息研發(fā)部,江蘇南京 211121)
圖像分割是圖像處理的關鍵步驟之一,是對圖像進行模式識別與視覺分析的前提工作。隨著智能產(chǎn)業(yè)、機器視覺的不斷發(fā)展,提出了許多圖像分割方法,主要包括區(qū)域分割[1]、邊緣分割[2]、閾值分割[3]等方法。其中,閾值分割因其實現(xiàn)簡單且有效而處于圖像分割的核心地位[4]。OTSU作為一種無監(jiān)督無參的分類方法,由于其穩(wěn)定有效、自適應強以及計算簡單而成為應用最為廣泛的自動閾值分割算法之一。但是,OTSU法需要遍歷所有像素值來計算最佳閾值,計算時間復雜度較高、效率低,難以滿足對實時性要求比較高的系統(tǒng)的需求,這在一定程度上限制了OTSU算法的應用。所以有學者引入智能優(yōu)化算法來優(yōu)化傳統(tǒng)的OTSU算法,如遺傳算法[5]、模擬退火算法[6]、粒子群算法[7]等。相比遺傳算法,粒子群算法采用了速度-位移模型,在避免了繁瑣的遺傳操作的前提下保留了種群的全局搜索策略,由于PSO具有算法簡單、參數(shù)設置少、收斂速度快等特點,已經(jīng)得到了廣泛應用。由于標準粒子群算法存在尋優(yōu)時容易陷入局部最優(yōu)以及收斂速度慢等缺點,所以提出了一種新的自適應動態(tài)調(diào)整慣性權重因子和學習因子的更新策略。通過研究自然環(huán)境下作物圖像,發(fā)現(xiàn)其具有顏色特殊性,結(jié)合實際需要提出了一種改進超綠圖像模型。最終將算法應用于改進超綠圖像,經(jīng)過試驗發(fā)現(xiàn)改進PSO+OTSU算法使分割準確性、效率、穩(wěn)定性以及健壯性四者之間達到了平衡,在保證分割效率的基礎上具有穩(wěn)定性強、準確性高、健壯性好的優(yōu)點。
農(nóng)田環(huán)境中植物與土壤在顏色上存在明顯差異,通過在自然農(nóng)田環(huán)境下拍攝的一種豌豆圖像中分別隨機截取作物、背景各20張圖片進行RGB通道分離研究。如圖1所示,自然農(nóng)田環(huán)境包括晴天、陰天、雨天。通過RGB通道分離試驗可以發(fā)現(xiàn),不論是什么天氣情況下,作物均表現(xiàn)為土壤背景則表現(xiàn)為而對于標準差來說,不論是土壤背景還是綠色植物均滿足σR≈σG≈σB,說明單就某一種圖像類別的各個分量來看,它們值之間的離散程度非常接近,而作物圖像的各通道分量標準差均在7左右,表明同一種植物其顏色保持在一個相對穩(wěn)定的范圍。其中,分別為圖像紅色平均分量和標準差分別為綠色平均分量和標準差,為藍色平均分量和標準差。
鑒于田間作物圖像的這種顏色特殊性,可以選擇使用顏色指標對圖像進行灰度化與閾值二值化,顏色指標是指使用強化了目標的顏色特征,從而達到更好作物與背景分離的效果。Woebbecke等比較了2g-r-b,r-g和g-b等顏色指標對植物與土壤背景的分割效果[8],其中2G-R-B在不同的光照條件下能夠很好地對植物與土壤背景進行區(qū)分,2GR-B被稱為超綠指標,是目前田間作物與土壤背景分離中使用最廣泛的指標[9]。通過對已提出的顏色指標進行試驗和研究,提出了一種改進的顏色指標對田間圖像進行灰度化,稱這種灰度圖像為改進超綠圖像,其計算公式見公式(1)。
式中:e1、e2為調(diào)整系數(shù),主要用于過濾一些半干枯或微小作物葉片,可根據(jù)需要調(diào)節(jié)大小。本試驗取e1=e2=3,α=0.2,β=0.8可以取得更好的灰度化效果。經(jīng)過灰度化之后,便可以對該灰度圖像進行閾值分割,閾值分割可用式(2)表示。
式中:g(x,y)、f(x,y)分別為圖像閾值分割之后和分割之前在(x,y)處像素灰度值,t為閾值。
OTSU算法由日本學者大津在1979年提出,是一種圖像自適應二值閾值分割算法[10],由于OTSU算法通過圖像的灰度特征確定最佳閾值使得目標和背景2個部分的類間方差取最大值,故OTSU算法也被稱為最大類間方差法。OTSU算法不受圖像亮度和對比度的影響且計算簡單,所以被認為是圖像分割中閾值選取的最佳算法之一。由于方差是圖像灰度等級分布相似性的一種量度,所以目標與背景類間方差越大,即表明圖像中目標與背景差別越大,所以只要保證類間方差最大就會使得錯分的概率最小。
設圖片I的目標與背景分割閾值為t;目標像素點平均灰度值為μ1,占整個圖像像素比例為ω1;背景像素點平均灰度值為μ2,占整個圖像像素比例為ω2;圖像所有像素平均灰度值為μ,則類間方差為σ2數(shù)學表示如公式(3)所示。
由于類間方差越大,圖像目標與背景像素差別也就越大,所以當σ2取最大值時所對應的閾值t即為最佳閾值。
Kennedy等首次提出粒子群算法,PSO是一種群體智能隨機優(yōu)化迭代算法,采用粒子速度-位置搜索模型[11]。在PSO算法中粒子是實體的抽象,而所要求解的問題正是粒子的最優(yōu)位置。所以粒子群算法是研究1種粒子位置更新的模式,以便于讓算法快速準確地收斂到全局最優(yōu)解。具體即為根據(jù)整個種群的全局最優(yōu)位置和粒子自身的歷史最優(yōu)位置,然后在一定的隨機擾動情況下決定下一步的速度。
d維空間中第i個粒子可以由3個d維向量組成:
(1)當前位置,xi=(xi1,xi2,…,xid);
(2)歷史最佳位置,即最佳適應度,pi=(pi1,pi2,…,pid);
(3)速度vi=(vi1,vi2,…,vid)。
式中:i=1,2,…,m,m為種群包含的粒子數(shù)目。在每次迭代中,將粒子i當前位置與其歷史最優(yōu)位置進行比較,若當前位置優(yōu)于歷史最優(yōu)位置則更新pi,否則保持歷史最優(yōu)值不變。記pg=(pg1,pg2,…,pgd)為整個粒子群的歷史最優(yōu)位置。那么對于第i個粒子的第j維位置和速度迭代更新公式可以表示為式(4)。
式中:j=1,2,…,d,ω為慣性權重因子,c1、c2為學習因子,r1、r2為[0,1]內(nèi)的隨機數(shù),t為迭代次數(shù),通常會設定粒子的速度范圍,即vij∈[vmin,vmax]。在應用時,一般選擇c1=c2=2,ω=0.9,可以使PSO算法具有良好的表現(xiàn)。
1.4.1 對算法的改進 優(yōu)化PSO算法可以減少算法的迭代次數(shù)、提高算法的執(zhí)行效率,所以PSO算法的優(yōu)化引起了很多專家學者的重視。縱觀近幾年優(yōu)化PSO算法的文獻發(fā)現(xiàn),對PSO算法的優(yōu)化主要包括2個方面:一是將其他先進的優(yōu)化算法理論引入到PSO算法中,取長補短,從而實現(xiàn)對PSO算法某方面性能的改進或全面提升其性能,趙莉等提出,基于量子遺傳的混合粒子群優(yōu)化算法[12];二是通過對PSO算法自身參數(shù)進行調(diào)節(jié)從而實現(xiàn)對PSO算法的改進,其中自身參數(shù)包括最大、最小速度Vmax、Vmin,慣性權重因子ω,學習因子c1、c2,最大迭代次數(shù)tmax。近年來,對PSO算法的改進主要集中在對算法自身參數(shù)的改進,南杰瓊等通過加入隨機擾動正弦調(diào)整粒子群的慣性權重因子,增強算法的搜索能力[13]。宣杰等對慣性權重因子進行了自適應動態(tài)調(diào)節(jié)[14]。也有學者對學習因子和慣性權重因子同時改進,徐從東等提出了一種自適應動態(tài)控制參數(shù)的PSO優(yōu)化算法[15]。
通過對已經(jīng)提出的優(yōu)化算法進行學習和總結(jié)發(fā)現(xiàn),想要提高算法的效率一定要采用雙管齊下的改進策略,即要提高粒子的全局搜索能力,也要提高粒子的局部搜索能力,并且要保持好2個“提高”之間的平衡。在調(diào)研的基礎上,提出了一種新的粒子群優(yōu)化算法,新的粒子群優(yōu)化算法是基于標準PSO算法的改進優(yōu)化算法,結(jié)合傳統(tǒng)OTSU算法,形成改進PSO+OTSU算法。改進PSO算法采用2種改進策略:自適應動態(tài)調(diào)整慣性權重因子(adaptive inertia,簡稱AI)和自適應動態(tài)調(diào)整學習因子(adaptive learning,簡稱AL),改進PSO算法慣性權重因子和學習因子可根據(jù)公式(5)更新。
式中:n為該粒子的適應度在種群中所有粒子適應度升序排列序數(shù);ω′為自適應動態(tài)慣性權重因子;c′1、c′2為自適應動態(tài)學習因子;λ(n)為自適應系數(shù)。
經(jīng)過自適應系數(shù)的調(diào)整,粒子根據(jù)n以3∶4∶3的比例分為3個類別,第1類為n的前30%,粒子的適應度值較小,即粒遠離最優(yōu)位置,可以通過選取較大的ω值和較小的c1、c2值來增強全局探索能力;第2類為n的后30%,粒子的適應度值較大,即粒子靠近準最優(yōu)位置,可以通過選取較小的ω值和較大的c1、c2值來加大粒子的局部搜索能力;第3類為n剩余的中間40%,粒子的適應度值比較適中,即粒子距準最優(yōu)位置不是很遠也不是很近,須要平衡局部和全局的搜索能力,所以采用動態(tài)調(diào)整ω、c1和c2值的策略。粒子分類使每一個粒子都在做它自己最擅長的事情,最終達到搜尋潛在最優(yōu)適應度的目的。以種群數(shù)量為10的粒子群為例,具體自適應系數(shù)如公式(6)所示:
式中:N為種群中粒子數(shù);當取λmax=0.43、λmax=1.53。α=4、β=18時,自適應系數(shù)變化曲線見圖2。
將公式(5)帶入公式(4)對應位置便可得到改進PSO算法粒子位置和速度更新公式。
1.4.2 改進粒子群算法的流程 改進PSO算法流程見圖3,虛線矩形框內(nèi)為一次完整的種群粒子位置信息和速度信息更新過程。
具體步驟描述:(1)粒子群初始化。產(chǎn)生各粒子的速度和位置信息,確保各個粒子初始速度是介于最小速度Vmin和最大速度Vmax之間的隨機值。(2)更新粒子的位置和速度信息。將當前慣性權重因子和學習因子帶入式(4)對應位置進行粒子的位置和速度更新。(3)計算目標函數(shù)值。利用OTSU最大類間方差函數(shù)式(3)對每一個粒子計算其適應度,即為其對應閾值的類間方差。(4)更新粒子歷史最優(yōu)位置信息。將粒子的當前適應度值與其歷史最優(yōu)適應度值進行比較,如果當前適應度優(yōu)于其歷史最優(yōu)適應度,則更新歷史最優(yōu)適應度并且將當前位置作為粒子新的最優(yōu)位置。(5)更新種群歷史最優(yōu)位置信息。將粒子群中每個粒子的適應度值與種群歷史最優(yōu)適應度值進行比較,如果某個粒子的當前適應度優(yōu)于種群歷史最優(yōu)適應度,則用該粒子當前適應度作為種群歷史最優(yōu)適應度,用該粒子的位置作為種群歷史最優(yōu)位置。(6)所有粒子是否計算完畢。判斷種群中所有粒子的適應度是否都已經(jīng)計算完畢。如果是“否”,則跳轉(zhuǎn)到步驟(2),直至種群中所有粒子的適應度全部計算完畢;如果是“是”,則繼續(xù)進行步驟(7)。(7)是否滿足終止條件。如果是“是”,則結(jié)束;如是是“否”,則執(zhí)行步驟(8),直至滿足終止條件。(8)按照適應度值排序當前粒子。將種群中粒子按照適應度值從小到大排序。(9)計算慣性權重因子及學習因子。根據(jù)公式(5)重新計算慣性權重因子和學習因子,返回步驟(2)。
改進PSO+OTSU算法試驗環(huán)境為Intel? CoreTMi5,主頻率為3.20 GHz、8 G內(nèi)存;Windows 7的64位操作系統(tǒng),Microsoft Visual Studio 2013+OpenCV 3.0.0、Matlab2017b。以自然環(huán)境下作物圖像為試驗對象,按照實際需求拍攝50張圖片,圖像分辨率為3 264×2 448,圖像格式為JPEG,從中截取分辨率為688×512的100張圖片進行試驗(圖4)。此外還拍攝了其他作物圖像用于健壯性試驗。
改進PSO+OTSU算法是在傳統(tǒng)OTSU算法的基礎上進行改進與優(yōu)化,對標準PSO算法中的慣性權重因子ω和學習因子c1、c2進行自適應動態(tài)調(diào)整改進,利用改進PSO+OTSU算法在改進的超綠圖像下進行試驗。算法的分割精度采用結(jié)果圖像對比來評價,分割效率采用算法運行時間和迭代次數(shù)進行評價,穩(wěn)定性采用錯分率的均值和方差來評價,健壯性測試采用引入不同光照、不同復雜背景、不同作物植株條件下的作物圖片進行評價。將改進PSO+OTSU算法分別與傳統(tǒng)OTSU、標準PSO+OTSU算法在分割精度、分割效率、穩(wěn)定性3個維度下進行對比試驗,最后驗證改進PSO+OTSU算法的健壯性。
通過利用改進PSO+OTSU、傳統(tǒng)OTSU算法以及標準PSO+OTSU算法分別應用于作物RGB圖片和利用公式(1)所得的改進超綠圖像中進行對比試驗,結(jié)果見圖5(圖片為圖4逆時針旋轉(zhuǎn)90°所得)。
傳統(tǒng)OTSU、標準PSO+OTSU以及改進PSO+OTSU算法分割對比試驗(圖5)顯示,3種算法分割在改進超綠圖像下的效果都明顯優(yōu)于RGB圖像,超綠圖像對植物影子以及土地紋理起到了很好的抑制作用。無論是對超綠圖像還是對RGB圖像,3種算法中改進PSO+OTSU算法分割效果都相對較好。在RGB圖像中,上述3種算法在不同程度上都將作物的影子(圖5-b、圖5-c、圖5-d中矩形框內(nèi)部分)錯分為作物圖像,但可以看到改進PSO+OTSU算法(圖5-d)將影子錯分為植物的面積更小,傳統(tǒng)OTSU算法(圖5-b)次之,標準PSO+OTSU(圖5-c)最差;而在超綠圖像分割中,3種算法都具有出色的表現(xiàn),改進PSO+OTSU算法(圖5-h)將整株作物完整地分割出來,而傳統(tǒng)OTSU算法(圖5-f)和標準PSO+OTSU(圖5-g)則在有上片葉影子遮擋的下片葉(圖5-f、圖5-g、圖5-h矩形框內(nèi)部分)分割中容易出現(xiàn)錯分現(xiàn)象,說明改進PSO+OTSU算法具有更好的分割精度。
利用傳統(tǒng)OTSU、標準PSO+OTSU及改進PSO+OTSU算法進行試驗,分別記錄算法運行時間和迭代次數(shù),結(jié)果見表1。
表1 3種算法對超綠圖像的分割效率對比結(jié)果
從表1可以看出,傳統(tǒng)OTSU 算法的運行時間為3.016 ms,標準PSO+OTSU運行時間為0.861 ms,改進PSO+OTSU運行時間為0.764 ms;傳統(tǒng)OTSU算法的迭代次數(shù)為256次,標準PSO+OTSU迭代次數(shù)為11次,改進PSO+OTSU迭代次數(shù)為6次。改進PSO+OTSU和標準PSO+OTSU對應適應度隨迭代次數(shù)收斂曲線見圖6。
從圖6可以看出,改進PSO+OTSU算法收斂速度快于標準PSO+OTSU算法。綜合來看,改進PSO+OTSU算法運行耗時最短,迭代次數(shù)最少,相較其他2種算法在分割效率上有明顯的提升,說明降低標準PSO+OTSU算法的時間復雜度是符合改進初衷的。
分別對100幅試驗圖像利用改進PSO+OTSU、傳統(tǒng)OTSU算法以及標準PSO+OTSU算法進行分割試驗,統(tǒng)計每幅圖像的錯分率并計算錯分率的均值和方差,對算法的穩(wěn)定性進行對比試驗,結(jié)果見表2。
表2 3種算法對超綠圖像進行分割的穩(wěn)定性對比
傳統(tǒng)OTSU算法的錯分率的均值和方差都為0,標準PSO+OTSU算法的錯分率的均值和方差分別為2.26%和5.67%,而改進PSO+OTSU算法的錯分率的均值和方差分別為2.01%和4.49%,表明改進PSO+OTSU算法的穩(wěn)定性雖然不如傳統(tǒng)OTSU算法穩(wěn)定,但是比標準PSO+OTSU算法更具有優(yōu)勢。在滿足實時性的前提下,盡量提高算法的穩(wěn)定性是符合優(yōu)化邏輯的,而傳統(tǒng)的OTSU算法計算量大,一般不適用于對實時性要求比較高的系統(tǒng)。
在試驗的最后部分分別引入陰天(圖7-a)、小雨天帶有黃色花且有枯葉(圖7-b)、晴天上午透明地膜背景(圖7-c)、晴天下午透明地膜背景(圖7-d)以及晴天中午(圖4逆時針旋轉(zhuǎn)90°)的植物圖片對改進PSO+OTSU算法的健壯性進行驗證試驗,結(jié)果如圖7-e、圖7-f、圖7-g、圖7-h以及圖5-h所示。這組試驗從3個層面驗證改進超綠與改進PSO+OTSU的組合算法的健壯性:(1)不同光照條件,包括3種天氣狀況和5種光照條件;(2)不同復雜背景,包括3種復雜背景;(3)不同植物植株,包括3種不同作物圖像。試驗表明,從以上3個方面,改進超綠與改進PSO+OTSU的組合算法均具有不錯的表現(xiàn)。圖7-e、圖7-f、圖7-g、圖7-h和圖5-h分別為不同光照條件下的分割圖像,除陰影區(qū)域(圖5-h、圖7-g、圖7-h矩形框內(nèi)部分)之外,其余部分均清晰完整,說明改進組合算法對光照度不敏感,而對暗色陰影敏感,因此改進組合算法可以適用于各種光照條件。圖7-a為正常土地背景,圖7-b包含黃色花和干枯枝干背景,圖7-c、圖7-d為透明地膜背景,在不同的復雜背景下改進組合分割算法能夠準確地將植物的綠色部分分割出來,說明改進超綠與改進PSO+OTSU的組合算法不僅在單一綠色植物和自然土壤背景條件下具有較強的健壯性,而且在具有包含多種顏色的植物圖像復雜背景條件下同樣具有較強的健壯性。圖7-a、圖7-b、圖7-d為3種不同植物,組合算法同樣具有出色的表現(xiàn),說明組合分割算法在對常見作物適應性上具有非常好的健壯性。
由于傳統(tǒng)OTSU算法計算復雜度高,分割效率差,不能滿足實時性要求;標準PSO+OTSU雖然減少了迭代次數(shù)和運行時間,提高了分割效率,但是分割效率與分割精度還是不能滿足實時性需要。本研究提出了一種基于AI和AL的改進PSO+OTSU算法,在改進超綠圖像分割中獲得了良好的表現(xiàn)。本研究還提出了一種超綠圖像改進策略,通過G-R和G-B的線性組合得到一幅改良后的灰度圖像,從而過濾了大部分背景信息,降低復雜背景對閾值分割精度的影響。試驗結(jié)果表明,相較于標準PSO+OTSU算法,改進PSO+OTSU算法在保持較好穩(wěn)定性的前提下具有分割精度好,分割效率高、健壯性強的特點,能夠滿足除草機器人苗草實時分離系統(tǒng)的現(xiàn)實需要。在本研究的基礎上,進一步研究如何減小算法的錯分率、提高穩(wěn)定性將是今后研究的主要內(nèi)容。