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