程 磊CHENG Lei
(黃淮學院機械與能源工程學院,河南 駐馬店 463000)
在蘋果的生長、運輸、貯存過程中,由于受到外界環境以及自身因素等各方面的影響,蘋果表面會出現如孔洞、病蟲、黑點、壓傷、刺傷、裂果等各類缺陷,將會嚴重影響蘋果的質量和后期的經濟效果[1-2],僅靠人工在高速運行的生產線上直接進行檢測無法滿足市場需求。
閾值算法(Threshold Algorithm, TA)是比較簡單的智能化蘋果檢測方法。通過閾值將蘋果圖像缺陷目標和背景劃分為不同部分進行分割[3],但是閾值的選擇由于涉及到圖像整體灰度以及像素性質,對對比度特別高、特別低的蘋果圖像檢測效果差。數學形態算法(Mathematical Morphology Algorithm, MMA)通過腐蝕運算檢測出蘋果邊緣[4],但對蘋果圖像中的噪聲較敏感,容易把噪聲檢測為蘋果邊緣點。Prewitt算法對灰度漸變的蘋果圖像處理效果較好[5],但對灰度幅值較小的邊緣點檢測存在斷開現象。Roberts算法對邊緣的定位比較精確[6],但對灰度階躍較小的蘋果缺陷目標邊緣定位較弱。
上述文獻表明,通過智能算法可提高缺陷的識別效果。但由于大多缺陷果存在多個缺陷,分割閾值不易選擇。粒子群具有實現容易、精度高、收斂快等優點,但在搜索后期很容易陷入早熟狀態,對粒子群改進可以避免早熟狀態發生。
本研究采用基于改進粒子群算法(Improved Particle swarm optimization,IPSO)對蘋果表面缺陷進行檢測。通過粒子群體適應值方差判斷算法粒子群是否陷入早熟收斂,對粒子權重自適應控制,反余弦策略調整加速因子,然后對缺陷分割閾值進行取優,以獲得最佳檢測結果。
(1)
式中:
ω——粒子的權重;
c1、c2——粒子的加速因子;
參數r1∈[0,1]、r2∈[0,1]。
在粒子群搜索過程中,粒子在相對穩定狀態下搜索速度較慢,全局最優點位置變化很小,這樣在搜索后期很容易陷入早熟狀態,如果不加以改進,粒子難以逃逸局部極小點。
1.2.1 粒子早熟狀態判斷機制 適應值函數用來評價粒子個體的好壞[8],引導粒子群算法在解空間的搜索方向,計算公式為:
(2)
式中:
m——缺陷目標像素點周圍的參考數,m≤8;
(x,y)——缺陷目標像素點坐標;
(xh,yh)——第h個參考節點坐標。
通過粒子的群體適應值方差σ2判斷算法粒子群是否陷入早熟收斂的標志:
(3)
式中:
n——粒子總數目;
fi——第i個粒子的適應值;
favg——粒子當前的平均適應值;
f=max{1,max[|fi-favg|]}。

1.2.2 自適應ω控制ω決定了過去速度對當前速度影響的程度,較大ω能夠拓寬粒子搜索范圍,提高搜索全局性能,但得到精確解較難;較小ω使得局部搜索能力增強,雖然獲得精確解,但是消耗時間較多[9],因此通過自適應ω控制起到兼顧全局和局部搜索的作用。

(4)
對每個粒子當前代中的權重ω更新為ω′:
ω′=κ×ω×ζ。
(5)
當ωt,max=ωt,min,則:
(6)
式中:
xtmax、xtmin——更新邊界的極值;
vtmax、vtmin——更新的速度最大值和最小值;
ζ——調整因子;
ω0——粒子i的權重初值;
ω′——粒子i的當前權重;
tmax——最大迭代次數。
這樣在粒子進行局部最優搜索時,如果粒子搜索到局部最優值,則對粒子當前位置和速度進行更新,從而促進了粒子對全局最優值搜索的能力,提高了搜索精度。
1.2.3 反余弦策略調整加速因子 加速因子c1影響粒子所記憶最好位置對自身個體飛行的程度,c2影響整個粒子群所記憶最好位置對群體飛行的程度[10]。采用反余弦策略來調整加速因子,在群體迭代前期設置比較小的c1、c2值,讓粒子能夠以較快速度進入局部搜索,后期通過設置較大的c2值,保持粒子群的多樣性,擴大搜索空間,反余弦策略調整加速因子過程為:
(7)
輸入蘋果圖像,中值濾波后,采用形態學腐蝕運算獲取蘋果缺陷區域[11],結構元素選取3 mm × 3 mm黑點塊,腐蝕圖像將使物體的邊界沿周邊減少一個像素,令A為圖像,B為結構元素,Bz為B平移z個距離后的結果,B′為B關于圖像中心點的對稱集合:
B′={-b;b∈B}。
(8)
則腐蝕運算的定義:
AΘB′={Z;Bz?A}。
(9)
數學形態學提取邊界的算子:
ED(A)=A-(AΘE),
(10)
式中:
E——3 mm×3 mm的結構元素;
ED(A)——圖像A的邊界。
獲取腐蝕圖像后再用原圖像減去腐蝕圖像即可獲得缺陷區域。
通過邊緣定位獲得目標區域的精確位置[12],計算公式:
(11)
式中:
xm、ym——目標質心坐標;
xl、yl——第l個像素的坐標;
m——缺陷邊緣周圍像素的總數,為計算方便,選取8方向像素點即m=8。
設大小為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)出現的概率,L為圖像的灰度級,則f(m,n)和g(m,n)的聯合概率為:

(12)
分割前后圖像信息的差異通過非對稱Tsallis交叉熵Df=[DaDs]表示,Da和Ds分別為分割前后圖像在a方向和s方向上的交叉熵,在閾值為t′時的交叉熵分割準則函數:
ξ′(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″時的交叉熵分割準則函數:
ξ′(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。
經過分割,原圖像變成二值圖像,然后對二值圖像輪廓提取算法,如果原圖中有一點為黑,且它的8個相鄰點都是黑色時,判定該點是圖像的內部點,將該點標記刪除。
算法流程:
① 粒子群隨機初始化,設置粒子的位置和速度;
② 進行自適應ω控制和調整加速因子操作,更新粒子的位置和速度,計算新一代的粒子群中每個粒子的適應值;

④ 若達到設定的最大迭代次數或Da與Ds之和達到最小值,則停止迭代,進行步驟⑤,否則跳轉到步驟②;
⑤ 將得到的最優解作為最優分割閾值。
采用Matlab仿真,設定初始參數:粒子數為160,ω最大為0.9,最小為0.01,迭代最大次數為100,c1最大為1.5,最小為0.04,c2最大為2,最小為0.5,參數r1=0.9、r2=0.5,調整因子ζ為0.98,以Matlab 7.0為試驗仿真平臺。
對具有缺陷的蘋果進行不同算法對比檢測分析,缺陷類型包括:孔洞、病蟲、黑點、裂果,算法包括:TA、MMA、Prewitt、Roberts、IPSO,見圖1。
從圖1的對比試驗中可以看出,本研究算法可以很好地識別出孔洞、病蟲、黑點、裂果缺陷,檢測出的缺陷輪廓較為清晰,缺陷邊緣能夠得到較好的保護,且不受噪聲干擾。其他算法檢測效果差,不能正確識別出缺陷輪廓邊緣,檢測結果受到了噪聲的影響,因此會檢測出很多噪聲點的邊緣,沒有區分缺陷區域和背景。
3.2.1 漏檢率測試 為了評價本系統的檢測效果,通過漏檢率測試指標進行分析,漏檢率按式(16)計算:
(16)
式中:

圖1 蘋果表面缺陷檢測分析Figure 1 Detection and analysis of apple surface defects
η——漏檢率,%;
U1——未能正確檢出的蘋果個數;
U2——總蘋果數。
數據樣本:孔洞蘋果數量為1 086個、病蟲蘋果數量為1 046個、黑點蘋果數量為981個、裂果蘋果數量為1 165個,漏檢率測試對比仿真試驗見圖2。
從圖2可以看出,本研究算法對孔洞、病蟲、黑點、裂果缺陷檢測的漏檢率最小,有助于缺陷蘋果識別率的提高。
3.2.2 檢測時間分析 對圖2中各種算法能夠完成各自漏檢率所消耗時間分析,其結果見圖3。

圖2 漏檢率測試對比仿真試驗結果Figure 2 Missing rate test contrast simulation results

圖3 各種算法能夠完成漏檢率所消耗時間Figure 3 Complete the time consuming of missing detection rate
從圖3可以看出,本算法完成各種漏檢率所消耗的時間最少,能夠解決蘋果檢測數據處理量大和檢測實時性之間的矛盾。
(1) 針對基于智能算法蘋果表面缺陷識別過程中存在的問題,本試驗提出一種基于改進粒子群算法的蘋果表面缺陷識別方法。通過缺陷區域選擇、定位、閾值分割,然后用改進粒子群算法獲得最優分割閾值。試驗結果表明,能夠識別各種缺陷,漏檢率較低,說明該方法在缺陷蘋果識別中十分有效。
(2) 在蘋果表面缺陷的分割圖像中,存在多個分割閾值,采用改進粒子群算法能夠計算出最優分割閾值,避免了非最優分割閾值的存在,大大地提高了識別結果。
(3) 本試驗只是針對蘋果表面缺陷進行檢測,并未對缺陷作進一步分類,這將是今后研究的一個方向。
[1] 程榮花, 馬飛, 石夢. 基于顏色特征的蘋果表面質量檢測系統設計與實現[J]. 遼寧農業科學, 2014(3): 22-24.
[2] 李麗娜, 趙武奇, 曾祥源. 蘋果的質構與感官評定相關性研究[J]. 食品與機械, 2017, 33(6): 37-41.
[3] 項輝宇, 薛真, 冷崇杰, 等. 基于Halcon的蘋果品質視覺檢測試驗研究[J]. 食品與機械, 2016, 32(10): 123-126.
[4] 劉燕妮, 張貴倉, 安靜. 基于數學形態學的雙直方圖均衡化圖像增強算法[J]. 計算機工程, 2016, 42(1): 215-219.
[5] 唐偉偉, 陸海林, 葛俊祥. 基于Prewitt算子的抗雷達同頻干擾法設計與FPGA實現[J]. 科學技術與工程, 2015, 15(27): 42-47.
[6] 文永革, 何紅洲, 李海洋. 一種改進的Roberts和灰色關聯分析的邊緣檢測算法[J]. 圖學學報, 2014, 34(4): 637-641.
[7] 陳漢武, 朱建鋒, 阮越, 等. 帶交叉算子的量子粒子群優化算法[J]. 東南大學學報: 自然科學版, 2016, 46(1): 23-29.
[8] 王飛. 帶時間窗車輛調度問題的改進粒子群算法[J]. 計算機工程與應用, 2014, 50(6): 226-229.
[9] 楊進, 高飛, 馬良. 基于改進并行粒子群算法的彩色圖像匹配[J]. 計算機應用研究, 2015, 33(10): 35-42.
[10] 白曉波, 吉曉民, 胡月. 多工況條件下滾針軸承的改進粒子群優化方法[J]. 計算機輔助設計與圖形學學報, 2014, 26(10): 1 900-1 908.
[11] 張聰, 湯偉. 基于粒子群優化算法與形態學的紙病圖像檢測方法[J]. 造紙科學與技術, 2014, 33(2): 60-64.
[12] 劉慧忠, 湯偉. 基于FPGA的紙病檢測預處理算法的實現[J]. 中國造紙學報, 2014, 29(1): 53-57.
[13] 吳一全, 王凱, 曹鵬祥. 蜂群優化的二維非對稱Tsallis交叉熵圖像閾值選取[J]. 智能系統學報, 2015, 10(1): 103-112.