陳汝杰,唐文艷,呂文閣,李德源
(廣東工業(yè)大學(xué)機(jī)電工程學(xué)院,廣東 廣州 510006)
機(jī)器視覺(jué)技術(shù)已經(jīng)成為農(nóng)業(yè)采摘機(jī)器人的核心技術(shù)之一[1]。圖像分割是機(jī)器視覺(jué)的關(guān)鍵技術(shù),是目標(biāo)識(shí)別的關(guān)鍵和首要步驟,并為后續(xù)分類、識(shí)別提供依據(jù)。圖像閾值分割以簡(jiǎn)單、快速和有效的特點(diǎn)得到了廣泛的應(yīng)用,文獻(xiàn)[2-3]使用閾值分割算法對(duì)果實(shí)圖像進(jìn)行分割。但傳統(tǒng)的果實(shí)圖像是RGB 圖像,使用顏色信息作為圖像閾值分割的依據(jù),但由于RGB 圖像容易受到光照、環(huán)境等因素的影響,如果環(huán)境發(fā)生變化,設(shè)定的閾值可能會(huì)失效導(dǎo)致分割效果不理想[4]。
深度圖像是描述場(chǎng)景深度信息的圖像,其像素值表示距離的遠(yuǎn)近,具有不易受光照、環(huán)境等因素影響的優(yōu)點(diǎn)[5]。在果實(shí)圖像中利用深度信息是研究的熱點(diǎn),文獻(xiàn)[6-7]在深度圖像中使用邊緣輪廓提取算法對(duì)果實(shí)進(jìn)行分割,但是提出的算法較為復(fù)雜,實(shí)時(shí)性較差。因此需要研究簡(jiǎn)單、實(shí)時(shí)性強(qiáng)的深度圖像分割算法。
傳統(tǒng)的閾值分割算法只能將圖像分割成2 個(gè)部分,不能完成復(fù)雜情況的分割任務(wù),因此需要多閾值分割,但多閾值分割算法的計(jì)算量較大,難以做到實(shí)時(shí)性。本文提出一種基于改進(jìn)飛蛾火焰算法的深度圖像多閾值分割算法(IMFO-Otsu)并應(yīng)用在果實(shí)圖像的分割。
由于深度圖像的深度值沒(méi)有固定的量化級(jí),因此需要對(duì)其深度級(jí)進(jìn)行量化,構(gòu)建深度直方圖,類似于灰度圖像,可以設(shè)深度范圍為[0,L-1],得到L個(gè)深度級(jí),其中L=2d,d為圖像的深度;設(shè)i為圖像的像素即深度值,深度值為i的像素?cái)?shù)為ni。這種方法能方便有效保留圖像的深度信息和快速構(gòu)建深度直方圖。
Otsu 算法是由日本學(xué)者大津提出的自適應(yīng)算法,是目前最常用的圖像閾值分割方法之一[8]。其主要思想是在尋找圖像的最佳閾值使得類間方差最大[9],假設(shè)有m 一組閾值[t1,t2,…,tm],將圖像分為m+1類,灰度級(jí)為i的像素?cái)?shù)為ni,總的像素?cái)?shù)為N,各灰度出現(xiàn)的概率Pi=ni/N。類間方差定義為:
Otsu 采用窮舉法,隨著閾值數(shù)量和灰度范圍的增加,計(jì)算量會(huì)增加,因此需要提高算法計(jì)算效率。深度圖像部分深度值對(duì)應(yīng)的像素的數(shù)目為0,對(duì)于像素?cái)?shù)nk為0 的深度值k,出現(xiàn)的概率Pk=nk/N=0,若假設(shè)以深度值a,b為閾值,Cb為a,b之間的類,設(shè)深度值j,a 所以b作為閾值和j作為閾值,對(duì)類間方差的結(jié)果是等效的。因此可以通過(guò)對(duì)閾值搜索范圍進(jìn)行剪枝處理來(lái)縮小搜索范圍來(lái)提高搜索效率,具體操作為:尋找像素?cái)?shù)nki≠ 0 的像素值集合K={K0,K1,…,Kk}∈L,閾值t在K里搜索。剪枝后的圖像類間方差計(jì)算公式如下: 雖然剪枝后的Otsu 的搜索空間縮小,避免無(wú)效的閾值搜索,計(jì)算時(shí)間也會(huì)相應(yīng)縮短,但其選取最佳閾值仍是采用窮舉法。為提高算法的運(yùn)行效率,引入一種改進(jìn)飛蛾火焰算法,用于優(yōu)化加速選取最佳閾值的過(guò)程。 飛蛾火焰算法(MFO)[10]是一種新型的智能優(yōu)化算法。在MFO 中,假設(shè)待優(yōu)化問(wèn)題候選解是飛蛾,其集合表示為其中d是變量維度,n是種群數(shù)目。火焰是記錄目前飛蛾的最佳位置,其集合表示為 飛蛾位置更新公式: 式中: Di——第i個(gè)飛蛾的位置與第j個(gè)火焰的位置之間的距離; b——與螺旋形狀相關(guān)的常量,取1; t——隨機(jī)數(shù),取值區(qū)間為[-1,1]。 為了避免陷入局部最優(yōu),使用自適應(yīng)火焰數(shù)目機(jī)制,火焰更新公式為: 式中: flameno——火焰的數(shù)量; t——當(dāng)前迭代次數(shù); N——最大火焰數(shù)量; T——最大迭代次數(shù); round——四舍五入函數(shù)。 由于標(biāo)準(zhǔn)的MFO 算法具有易陷入局部最優(yōu)解、收斂速度慢等缺點(diǎn),為了解決其缺點(diǎn),在標(biāo)準(zhǔn)MFO算法的基礎(chǔ)上提出一種改進(jìn)飛蛾火焰算法。 2.2.1 精英準(zhǔn)反向?qū)W習(xí) TIZHOOSH[11]首次提出反向?qū)W習(xí)的概念,反向?qū)W習(xí)是在當(dāng)前解的基礎(chǔ)上,通過(guò)反向?qū)W習(xí)機(jī)制生成反向解,對(duì)比保留較優(yōu)解。準(zhǔn)反向?qū)W習(xí)[12]是在反向?qū)W習(xí)基礎(chǔ)上,提出使用準(zhǔn)反向解代替一般的反向解,準(zhǔn)反向解比一般的反向解更靠近最優(yōu)解。 準(zhǔn)反向?qū)W習(xí)定義為:設(shè)xi(g)和別為第g代的當(dāng)前解和準(zhǔn)反向解,則可定義為: 式中: IMFO 采取動(dòng)態(tài)切換概率策略,用于控制是否進(jìn)行準(zhǔn)反向?qū)W習(xí)。動(dòng)態(tài)切換概率p的公式如式(9)所示: 2.2.2 柯西變異 針對(duì)標(biāo)準(zhǔn)MFO 算法種群多樣性少的問(wèn)題,對(duì)種群進(jìn)行變異操作,增加種群的多樣性。利用標(biāo)準(zhǔn)的柯西分布具有較好的兩翼概率特性,對(duì)適應(yīng)度較好的飛蛾個(gè)體引入服從柯西分布的隨機(jī)向量進(jìn)行柯西變異,變異的飛蛾數(shù)量是種群數(shù)量的10%??挛髯儺惖墓饺缡剑?0)所示: 式中: Mnew——變異后的飛蛾; M——變異前的飛蛾; C(0,1)——標(biāo)準(zhǔn)柯西隨機(jī)數(shù)。 2.2.3 慣性權(quán)重策略 標(biāo)準(zhǔn)MFO 算法后期收斂速度較慢。為了解決這個(gè)問(wèn)題,受到改進(jìn)粒子群算法中慣性權(quán)重思想的啟發(fā)[13],在式(5)引入慣性權(quán)重因子,當(dāng)慣性權(quán)重比較大時(shí),提高算法的全局搜索能力;當(dāng)慣性權(quán)重比較小時(shí),提高算法局部搜索能力。慣性權(quán)重的公式如式(11)所示: 式中: ωmin——最小權(quán)重,取0.4; ωmax——最大權(quán)重,取0.6; k——權(quán)重因子,一般取0.1; i——當(dāng)前飛蛾根據(jù)適應(yīng)度值排序后的次序; NP——所有飛蛾的數(shù)目。 引入慣性權(quán)重ω飛蛾位置的更新公式如式(12)所示: 將剪枝后的Otsu 算法作為適應(yīng)度函數(shù),與IMFO算法結(jié)合為IMFO-Otsu 算法,其流程如圖1 所示。 圖1 算法流程圖 為驗(yàn)證IMFO-Otsu 在果實(shí)圖像的分割效果,分別對(duì)測(cè)試圖像進(jìn)行雙閾值、三閾值、四閾值圖像分割。結(jié)果如圖2 所示(第一列從上往下分別為圖像a、b、c 的原圖)。使用的仿真軟件為MatlabR2018b。將IMF-Otsu 與基于標(biāo)準(zhǔn)MFO 算法的MFO-Otsu、基于標(biāo)準(zhǔn)粒子群算法的PSO-Otsu 進(jìn)行對(duì)比,采用峰值信噪比(PSNR),結(jié)構(gòu)相似性(SSIM),適應(yīng)度值及運(yùn)行時(shí)間作為評(píng)價(jià)標(biāo)準(zhǔn)。為減小算法的隨機(jī)性影響,試驗(yàn)的種群數(shù)量均設(shè)為30,最大迭代次數(shù)為30。 圖2 基于IMFO-Otsu 分割效果圖 PSNR是評(píng)價(jià)圖像失真程度的指標(biāo),PSNR越大,失真越少。其定義如下: 式中: MSE——原圖像與分割后圖像之間的均方誤差; ——圖像可能最大的像素。 SSIM是一種衡量?jī)煞鶊D片相似度的指標(biāo),SSIM越大,分割后的圖像與原圖相似程度越高。其定義如式(14)所示: 式中: μx和μy——分別為原圖像和分割圖像平均灰度; 和——分別為兩幅圖像的方差; ——原圖像和分割圖像的協(xié)方; c1=(0.01L)2; c2=(0.03L)2,L為像素值范圍。 表1、表2、表3 和表4 分別為分割時(shí)間、最佳適應(yīng)度值、PSNR值和SSIM值的結(jié)果,表中的m均為閾值數(shù)量。 表1 運(yùn)行時(shí)間 單位:s 表2 適應(yīng)度值 表3 PSNR 表4 SSIM 從表1 可知,3 種算法中PSO-Otsu 算法運(yùn)行時(shí)間最長(zhǎng),其它2 種運(yùn)行時(shí)間相近,均在0.8 s 以內(nèi)。表明IMFO-Otsu 的運(yùn)行速度快。從表2 可知,在閾值數(shù)為2 的時(shí)候,三者的適應(yīng)度值一樣,在閾值數(shù)為3、4 的時(shí)候,IMFO-Otsu 的適應(yīng)度值均為最大,表明IMFO 在多閾值Otsu 分割問(wèn)題上具有良好的尋優(yōu)性能。從表3 可知,閾值數(shù)為2 時(shí),三者的PSNR值相等,當(dāng)閾值數(shù)為3 和4 時(shí) 候,IMFO-Otsu 的PSNR值是最大的,即IMFO-Otsu 分割后的圖像失真較小。從表4 可以得到,閾值數(shù)為2 時(shí),三者的SSIM值相等,當(dāng)閾值數(shù)為3 和4 時(shí)候,IMFO-Otsu的SSIM值在3 種算法中是最大的,即IMFO-Otsu分割后的圖像與原圖的結(jié)構(gòu)更相似。 試驗(yàn)結(jié)果表明,IMFO-Otsu 算法與其它對(duì)比算法相比,尋優(yōu)質(zhì)量和穩(wěn)定性更高,對(duì)果實(shí)深度圖像的分割質(zhì)量更好。 顏色、光照等因素影響傳統(tǒng)的果實(shí)圖像閾值分割的效果,深度圖像相對(duì)于傳統(tǒng)的顏色圖像不容易受顏色和光照變化的影響,適合使用閾值算法分割,本文提出一種基于IMFO-Otsu 算法的深度圖像算法。由于傳統(tǒng)的多閾值分割算法運(yùn)行時(shí)間較長(zhǎng),通過(guò)對(duì)算法的閾值范圍進(jìn)行剪枝處理,引入改進(jìn)飛蛾火焰算法優(yōu)化算法尋找最佳閾值的過(guò)程,不僅具有傳統(tǒng)多閾值算法的簡(jiǎn)單、有效等特點(diǎn),而且計(jì)算效率高。試驗(yàn)表明,提出的算法尋優(yōu)質(zhì)量和穩(wěn)定性高,對(duì)果實(shí)深度圖像的分割快速且準(zhǔn)確,有利于復(fù)雜環(huán)境的果實(shí)定位和識(shí)別。2 改進(jìn)的飛蛾火焰算法(IMFO)
2.1 飛蛾火焰算法
2.2 改進(jìn)的飛蛾火焰算法
2.3 基于IMFO-Otsu多閾值深度圖像分割算法流程
3 試驗(yàn)與分析
4 結(jié)語(yǔ)