程 磊CHENG Lei
(黃淮學(xué)院機(jī)械與能源工程學(xué)院,河南 駐馬店 463000)
在蘋果的生長(zhǎng)、運(yùn)輸、貯存過(guò)程中,由于受到外界環(huán)境以及自身因素等各方面的影響,蘋果表面會(huì)出現(xiàn)如孔洞、病蟲、黑點(diǎn)、壓傷、刺傷、裂果等各類缺陷,將會(huì)嚴(yán)重影響蘋果的質(zhì)量和后期的經(jīng)濟(jì)效果[1-2],僅靠人工在高速運(yùn)行的生產(chǎn)線上直接進(jìn)行檢測(cè)無(wú)法滿足市場(chǎng)需求。
閾值算法(Threshold Algorithm, TA)是比較簡(jiǎn)單的智能化蘋果檢測(cè)方法。通過(guò)閾值將蘋果圖像缺陷目標(biāo)和背景劃分為不同部分進(jìn)行分割[3],但是閾值的選擇由于涉及到圖像整體灰度以及像素性質(zhì),對(duì)對(duì)比度特別高、特別低的蘋果圖像檢測(cè)效果差。數(shù)學(xué)形態(tài)算法(Mathematical Morphology Algorithm, MMA)通過(guò)腐蝕運(yùn)算檢測(cè)出蘋果邊緣[4],但對(duì)蘋果圖像中的噪聲較敏感,容易把噪聲檢測(cè)為蘋果邊緣點(diǎn)。Prewitt算法對(duì)灰度漸變的蘋果圖像處理效果較好[5],但對(duì)灰度幅值較小的邊緣點(diǎn)檢測(cè)存在斷開現(xiàn)象。Roberts算法對(duì)邊緣的定位比較精確[6],但對(duì)灰度階躍較小的蘋果缺陷目標(biāo)邊緣定位較弱。
上述文獻(xiàn)表明,通過(guò)智能算法可提高缺陷的識(shí)別效果。但由于大多缺陷果存在多個(gè)缺陷,分割閾值不易選擇。粒子群具有實(shí)現(xiàn)容易、精度高、收斂快等優(yōu)點(diǎn),但在搜索后期很容易陷入早熟狀態(tài),對(duì)粒子群改進(jìn)可以避免早熟狀態(tài)發(fā)生。
本研究采用基于改進(jìn)粒子群算法(Improved Particle swarm optimization,IPSO)對(duì)蘋果表面缺陷進(jìn)行檢測(cè)。通過(guò)粒子群體適應(yīng)值方差判斷算法粒子群是否陷入早熟收斂,對(duì)粒子權(quán)重自適應(yīng)控制,反余弦策略調(diào)整加速因子,然后對(duì)缺陷分割閾值進(jìn)行取優(yōu),以獲得最佳檢測(cè)結(jié)果。
(1)
式中:
ω——粒子的權(quán)重;
c1、c2——粒子的加速因子;
參數(shù)r1∈[0,1]、r2∈[0,1]。
在粒子群搜索過(guò)程中,粒子在相對(duì)穩(wěn)定狀態(tài)下搜索速度較慢,全局最優(yōu)點(diǎn)位置變化很小,這樣在搜索后期很容易陷入早熟狀態(tài),如果不加以改進(jìn),粒子難以逃逸局部極小點(diǎn)。
1.2.1 粒子早熟狀態(tài)判斷機(jī)制 適應(yīng)值函數(shù)用來(lái)評(píng)價(jià)粒子個(gè)體的好壞[8],引導(dǎo)粒子群算法在解空間的搜索方向,計(jì)算公式為:
(2)
式中:
m——缺陷目標(biāo)像素點(diǎn)周圍的參考數(shù),m≤8;
(x,y)——缺陷目標(biāo)像素點(diǎn)坐標(biāo);
(xh,yh)——第h個(gè)參考節(jié)點(diǎn)坐標(biāo)。
通過(guò)粒子的群體適應(yīng)值方差σ2判斷算法粒子群是否陷入早熟收斂的標(biāo)志:
(3)
式中:
n——粒子總數(shù)目;
fi——第i個(gè)粒子的適應(yīng)值;
favg——粒子當(dāng)前的平均適應(yīng)值;
f=max{1,max[|fi-favg|]}。
1.2.2 自適應(yīng)ω控制ω決定了過(guò)去速度對(duì)當(dāng)前速度影響的程度,較大ω能夠拓寬粒子搜索范圍,提高搜索全局性能,但得到精確解較難;較小ω使得局部搜索能力增強(qiáng),雖然獲得精確解,但是消耗時(shí)間較多[9],因此通過(guò)自適應(yīng)ω控制起到兼顧全局和局部搜索的作用。
(4)
對(duì)每個(gè)粒子當(dāng)前代中的權(quán)重ω更新為ω′:
ω′=κ×ω×ζ。
(5)
當(dāng)ωt,max=ωt,min,則:
(6)
式中:
xtmax、xtmin——更新邊界的極值;
vtmax、vtmin——更新的速度最大值和最小值;
ζ——調(diào)整因子;
ω0——粒子i的權(quán)重初值;
ω′——粒子i的當(dāng)前權(quán)重;
tmax——最大迭代次數(shù)。
這樣在粒子進(jìn)行局部最優(yōu)搜索時(shí),如果粒子搜索到局部最優(yōu)值,則對(duì)粒子當(dāng)前位置和速度進(jìn)行更新,從而促進(jìn)了粒子對(duì)全局最優(yōu)值搜索的能力,提高了搜索精度。
1.2.3 反余弦策略調(diào)整加速因子 加速因子c1影響粒子所記憶最好位置對(duì)自身個(gè)體飛行的程度,c2影響整個(gè)粒子群所記憶最好位置對(duì)群體飛行的程度[10]。采用反余弦策略來(lái)調(diào)整加速因子,在群體迭代前期設(shè)置比較小的c1、c2值,讓粒子能夠以較快速度進(jìn)入局部搜索,后期通過(guò)設(shè)置較大的c2值,保持粒子群的多樣性,擴(kuò)大搜索空間,反余弦策略調(diào)整加速因子過(guò)程為:
(7)
輸入蘋果圖像,中值濾波后,采用形態(tài)學(xué)腐蝕運(yùn)算獲取蘋果缺陷區(qū)域[11],結(jié)構(gòu)元素選取3 mm × 3 mm黑點(diǎn)塊,腐蝕圖像將使物體的邊界沿周邊減少一個(gè)像素,令A(yù)為圖像,B為結(jié)構(gòu)元素,Bz為B平移z個(gè)距離后的結(jié)果,B′為B關(guān)于圖像中心點(diǎn)的對(duì)稱集合:
B′={-b;b∈B}。
(8)
則腐蝕運(yùn)算的定義:
AΘB′={Z;Bz?A}。
(9)
數(shù)學(xué)形態(tài)學(xué)提取邊界的算子:
ED(A)=A-(AΘE),
(10)
式中:
E——3 mm×3 mm的結(jié)構(gòu)元素;
ED(A)——圖像A的邊界。
獲取腐蝕圖像后再用原圖像減去腐蝕圖像即可獲得缺陷區(qū)域。
通過(guò)邊緣定位獲得目標(biāo)區(qū)域的精確位置[12],計(jì)算公式:
(11)
式中:
xm、ym——目標(biāo)質(zhì)心坐標(biāo);
xl、yl——第l個(gè)像素的坐標(biāo);
m——缺陷邊緣周圍像素的總數(shù),為計(jì)算方便,選取8方向像素點(diǎn)即m=8。
設(shè)大小為M×N的圖像中像素點(diǎn)(m,n)的灰度級(jí)為f(m,n),g(m,n)為8方向鄰域的平均灰度級(jí)[13]。用(a,s)表示二元對(duì){f(m,n),g(m,n)},a,s=0,1,…,L-1,其中r(a,s)為(a,s)出現(xiàn)的概率,L為圖像的灰度級(jí),則f(m,n)和g(m,n)的聯(lián)合概率為:
(12)
分割前后圖像信息的差異通過(guò)非對(duì)稱Tsallis交叉熵Df=[DaDs]表示,Da和Ds分別為分割前后圖像在a方向和s方向上的交叉熵,在閾值為t′時(shí)的交叉熵分割準(zhǔn)則函數(shù):
ξ′(t′)=P0(t′)μ0(t′)logμ0(t′)+P1(t′)μ1(t′)logμ1(t′),
(13)
式中:
P0(t′)、P1(t′)——原圖像在閾值為t′時(shí)缺陷目標(biāo)、圖像背景的先驗(yàn)概率,
μ0(t′)、μ1(t′)——原圖像在閾值為t′時(shí)缺陷目標(biāo)、圖像背景的灰度均值。
對(duì)于8方向鄰域平均圖像,在閾值為t″時(shí)的交叉熵分割準(zhǔn)則函數(shù):
ξ′(t″)=P0(t″)μ0(t″)logμ0(t″)+P1(t″)μ1(t″)logμ1(t″),
(14)
式中:
P0(t″)、P1(t″)——8方向鄰域平均圖像在閾值為t″時(shí)缺陷目標(biāo)、圖像背景的先驗(yàn)概率;
μ0(t″)、μ1(t″)——8方向鄰域平均圖像在閾值為t″時(shí)缺陷目標(biāo)、圖像背景的灰度均值。
(t′,t″)=argmin[Da+Ds],
(15)
其中:0≤a,S≤L-1。
經(jīng)過(guò)分割,原圖像變成二值圖像,然后對(duì)二值圖像輪廓提取算法,如果原圖中有一點(diǎn)為黑,且它的8個(gè)相鄰點(diǎn)都是黑色時(shí),判定該點(diǎn)是圖像的內(nèi)部點(diǎn),將該點(diǎn)標(biāo)記刪除。
算法流程:
① 粒子群隨機(jī)初始化,設(shè)置粒子的位置和速度;
② 進(jìn)行自適應(yīng)ω控制和調(diào)整加速因子操作,更新粒子的位置和速度,計(jì)算新一代的粒子群中每個(gè)粒子的適應(yīng)值;
④ 若達(dá)到設(shè)定的最大迭代次數(shù)或Da與Ds之和達(dá)到最小值,則停止迭代,進(jìn)行步驟⑤,否則跳轉(zhuǎn)到步驟②;
⑤ 將得到的最優(yōu)解作為最優(yōu)分割閾值。
采用Matlab仿真,設(shè)定初始參數(shù):粒子數(shù)為160,ω最大為0.9,最小為0.01,迭代最大次數(shù)為100,c1最大為1.5,最小為0.04,c2最大為2,最小為0.5,參數(shù)r1=0.9、r2=0.5,調(diào)整因子ζ為0.98,以Matlab 7.0為試驗(yàn)仿真平臺(tái)。
對(duì)具有缺陷的蘋果進(jìn)行不同算法對(duì)比檢測(cè)分析,缺陷類型包括:孔洞、病蟲、黑點(diǎn)、裂果,算法包括:TA、MMA、Prewitt、Roberts、IPSO,見圖1。
從圖1的對(duì)比試驗(yàn)中可以看出,本研究算法可以很好地識(shí)別出孔洞、病蟲、黑點(diǎn)、裂果缺陷,檢測(cè)出的缺陷輪廓較為清晰,缺陷邊緣能夠得到較好的保護(hù),且不受噪聲干擾。其他算法檢測(cè)效果差,不能正確識(shí)別出缺陷輪廓邊緣,檢測(cè)結(jié)果受到了噪聲的影響,因此會(huì)檢測(cè)出很多噪聲點(diǎn)的邊緣,沒(méi)有區(qū)分缺陷區(qū)域和背景。
3.2.1 漏檢率測(cè)試 為了評(píng)價(jià)本系統(tǒng)的檢測(cè)效果,通過(guò)漏檢率測(cè)試指標(biāo)進(jìn)行分析,漏檢率按式(16)計(jì)算:
(16)
式中:
圖1 蘋果表面缺陷檢測(cè)分析Figure 1 Detection and analysis of apple surface defects
η——漏檢率,%;
U1——未能正確檢出的蘋果個(gè)數(shù);
U2——總蘋果數(shù)。
數(shù)據(jù)樣本:孔洞蘋果數(shù)量為1 086個(gè)、病蟲蘋果數(shù)量為1 046個(gè)、黑點(diǎn)蘋果數(shù)量為981個(gè)、裂果蘋果數(shù)量為1 165個(gè),漏檢率測(cè)試對(duì)比仿真試驗(yàn)見圖2。
從圖2可以看出,本研究算法對(duì)孔洞、病蟲、黑點(diǎn)、裂果缺陷檢測(cè)的漏檢率最小,有助于缺陷蘋果識(shí)別率的提高。
3.2.2 檢測(cè)時(shí)間分析 對(duì)圖2中各種算法能夠完成各自漏檢率所消耗時(shí)間分析,其結(jié)果見圖3。
圖2 漏檢率測(cè)試對(duì)比仿真試驗(yàn)結(jié)果Figure 2 Missing rate test contrast simulation results
圖3 各種算法能夠完成漏檢率所消耗時(shí)間Figure 3 Complete the time consuming of missing detection rate
從圖3可以看出,本算法完成各種漏檢率所消耗的時(shí)間最少,能夠解決蘋果檢測(cè)數(shù)據(jù)處理量大和檢測(cè)實(shí)時(shí)性之間的矛盾。
(1) 針對(duì)基于智能算法蘋果表面缺陷識(shí)別過(guò)程中存在的問(wèn)題,本試驗(yàn)提出一種基于改進(jìn)粒子群算法的蘋果表面缺陷識(shí)別方法。通過(guò)缺陷區(qū)域選擇、定位、閾值分割,然后用改進(jìn)粒子群算法獲得最優(yōu)分割閾值。試驗(yàn)結(jié)果表明,能夠識(shí)別各種缺陷,漏檢率較低,說(shuō)明該方法在缺陷蘋果識(shí)別中十分有效。
(2) 在蘋果表面缺陷的分割圖像中,存在多個(gè)分割閾值,采用改進(jìn)粒子群算法能夠計(jì)算出最優(yōu)分割閾值,避免了非最優(yōu)分割閾值的存在,大大地提高了識(shí)別結(jié)果。
(3) 本試驗(yàn)只是針對(duì)蘋果表面缺陷進(jìn)行檢測(cè),并未對(duì)缺陷作進(jìn)一步分類,這將是今后研究的一個(gè)方向。
[1] 程榮花, 馬飛, 石夢(mèng). 基于顏色特征的蘋果表面質(zhì)量檢測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 遼寧農(nóng)業(yè)科學(xué), 2014(3): 22-24.
[2] 李麗娜, 趙武奇, 曾祥源. 蘋果的質(zhì)構(gòu)與感官評(píng)定相關(guān)性研究[J]. 食品與機(jī)械, 2017, 33(6): 37-41.
[3] 項(xiàng)輝宇, 薛真, 冷崇杰, 等. 基于Halcon的蘋果品質(zhì)視覺檢測(cè)試驗(yàn)研究[J]. 食品與機(jī)械, 2016, 32(10): 123-126.
[4] 劉燕妮, 張貴倉(cāng), 安靜. 基于數(shù)學(xué)形態(tài)學(xué)的雙直方圖均衡化圖像增強(qiáng)算法[J]. 計(jì)算機(jī)工程, 2016, 42(1): 215-219.
[5] 唐偉偉, 陸海林, 葛俊祥. 基于Prewitt算子的抗雷達(dá)同頻干擾法設(shè)計(jì)與FPGA實(shí)現(xiàn)[J]. 科學(xué)技術(shù)與工程, 2015, 15(27): 42-47.
[6] 文永革, 何紅洲, 李海洋. 一種改進(jìn)的Roberts和灰色關(guān)聯(lián)分析的邊緣檢測(cè)算法[J]. 圖學(xué)學(xué)報(bào), 2014, 34(4): 637-641.
[7] 陳漢武, 朱建鋒, 阮越, 等. 帶交叉算子的量子粒子群優(yōu)化算法[J]. 東南大學(xué)學(xué)報(bào): 自然科學(xué)版, 2016, 46(1): 23-29.
[8] 王飛. 帶時(shí)間窗車輛調(diào)度問(wèn)題的改進(jìn)粒子群算法[J]. 計(jì)算機(jī)工程與應(yīng)用, 2014, 50(6): 226-229.
[9] 楊進(jìn), 高飛, 馬良. 基于改進(jìn)并行粒子群算法的彩色圖像匹配[J]. 計(jì)算機(jī)應(yīng)用研究, 2015, 33(10): 35-42.
[10] 白曉波, 吉曉民, 胡月. 多工況條件下滾針軸承的改進(jìn)粒子群優(yōu)化方法[J]. 計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào), 2014, 26(10): 1 900-1 908.
[11] 張聰, 湯偉. 基于粒子群優(yōu)化算法與形態(tài)學(xué)的紙病圖像檢測(cè)方法[J]. 造紙科學(xué)與技術(shù), 2014, 33(2): 60-64.
[12] 劉慧忠, 湯偉. 基于FPGA的紙病檢測(cè)預(yù)處理算法的實(shí)現(xiàn)[J]. 中國(guó)造紙學(xué)報(bào), 2014, 29(1): 53-57.
[13] 吳一全, 王凱, 曹鵬祥. 蜂群優(yōu)化的二維非對(duì)稱Tsallis交叉熵圖像閾值選取[J]. 智能系統(tǒng)學(xué)報(bào), 2015, 10(1): 103-112.