曠文珍,?!》?許 麗,李積英
(1.蘭州交通大學 自動化與電氣工程學院,甘肅 蘭州 730070;2.蘭州交通大學 光電技術與智能控制教育部重點實驗室,甘肅 蘭州 730070;3.蘭州交通大學 電子與信息工程學院,甘肅 蘭州 730070)
隨著鐵路高速化和重載化的快速發(fā)展,鐵路運輸?shù)淖詣踊潭纫笠苍絹碓礁摺T诹熊嚫咚龠\行過程中,依靠司機用肉眼觀察鐵路障礙物勞動強度大、不可靠,且即使司機發(fā)現(xiàn)了障礙物也有可能來不及采取有效的措施。因此將圖像識別技術應用到鐵路障礙物識別中,一方面可以對障礙物進行無間斷的實時監(jiān)測,減少行車事故的發(fā)生;另一方面可以減小司機的勞動強度,減少路軌的維護工作,提高經濟效益[1-2]。
對障礙物進行識別時,首先需要識別出2條鋼軌的邊緣,沿著2條鋼軌邊緣外側向兩側延伸一定的識別范圍,從而建立有效的檢測窗,再識別窗內的障礙物。因此對鐵路鋼軌邊緣的有效識別是檢測障礙物的前提條件[3]。蟻群算法是根據(jù)真實的群體螞蟻尋找食物的這種行為得到了啟發(fā)而提出來的算法,被廣泛地應用于邊緣識別[4-6]。該算法具有自組織性、并行性、正反饋性和魯棒性優(yōu)良的特性,但也存在搜索時間過長、在執(zhí)行過程中容易出現(xiàn)停滯現(xiàn)象,當問題規(guī)模較大時還存在陷入局部最優(yōu)的可能性等缺陷。
本文根據(jù)鐵路鋼軌邊緣識別的特點,提出基于圖像邊緣特征的蟻群優(yōu)化算法,在蟻群初始化、搜索過程、搜索步長、信息素更新策略等方面都作了針對性的優(yōu)化,很好地解決了傳統(tǒng)蟻群算法在初始化時搜索速度慢、易陷入局部最優(yōu)解、圖像復雜時處理速度慢等問題。
將需要識別的鋼軌圖像抽象為1幅由像素點組成的二維無向圖,將螞蟻隨機放置在這個二維的無向圖中,每個螞蟻在其8鄰域內的像素點上隨機移動,如圖1所示(圖中i和j分別為螞蟻所在位置的橫向和縱向坐標),同時會使經過路徑上的信息素強度發(fā)生變化,經過多次循環(huán)迭代后讓大多數(shù)螞蟻聚集到圖像的邊緣上;完成最初設置的迭代次數(shù)之后,最后根據(jù)設定的閾值判定邊緣點,從而最終完成鋼軌邊緣的識別。具體識別過程[7-8]如下。
圖1 3×3鄰域內螞蟻的隨機移動示意圖
(1)
式中:τ(i,j)(t)為螞蟻k在像素點(i,j)的信息素;α為信息素濃度影響因子;β為啟發(fā)式引導函數(shù)影響因子。
從式(1)可以看出,在每一次迭代運算中,螞蟻從像素點(i0,j0)到像素點(i,j)的轉移概率都要受到α和β這2個影響因子的作用,因此α和β的取值要求適當。若α=0,信息素對螞蟻的路徑選擇不起作用;若β=0,此時只有信息素濃度起作用,該算法就會迅速找到非最優(yōu)解,這對尋找鋼軌邊緣像素點非常不利。
步驟4:信息素更新。當每只螞蟻從鋼軌圖像的一個像素點移動到另一個像素點時,系統(tǒng)會對信息素進行局部更新;當所有螞蟻遍歷完所有像素點時,系統(tǒng)會對信息素進行全局更新。這樣避免因殘留的信息素過大而淹沒啟發(fā)式信息。每只螞蟻從像素點(i0,j0)移動到(i,j)處,即在下一時段均找到了可行解時,該路徑上的信息素發(fā)生局部更新,更新方程如下。
τ(i0,j0),(i,j)(t+1)=(1-ρ1)τ(i0,j0),(i,j)(t)+
(2)
其中,
當n只螞蟻都完成迭代運算后,在走過的路徑上會產生全局信息素更新,更新方程如下。
τ(i0,j0),(i,j)(t+1)=(1-ρ2)τ(i0,j0),(i,j)(t)+ρ2τ0
(3)
式中:ρ2為全局信息素揮發(fā)率,ρ2∈(0,1);τ0為信息素初始值。
若ρ1和ρ2的取值過小,螞蟻對信息素的敏感度增強,會選擇其他螞蟻曾經走過的路徑,導致全局搜索能力下降;若取值過大,雖然增大了螞蟻的全局搜索能力,但是同時也加大了搜索的時間。
步驟5:終止條件。如果螞蟻沒有遍歷完所給鋼軌圖像的像素點,即當前迭代次數(shù)d<預先設置的迭代次數(shù)D時,轉至步驟2;否則繼續(xù)步驟6。其中迭代次數(shù)D是根據(jù)圖像的大小和復雜程度預先設置的,鋼軌圖像越大、越復雜,迭代次數(shù)則越多。
步驟6:選擇邊緣點。當所有螞蟻完成預先設置的D次迭代后,設定信息素的閾值T與各信息素強度E進行比較,然后確定出邊緣點,對圖像做細化處理后便可以得到整個鋼軌圖像的邊緣。確定邊緣點像素的方程如下。
(4)
式中:當取值為1時,表示像素點(i,j)為邊緣像素點;當取值為0時,表示像素點(i,j)為非邊緣像素點。
采用傳統(tǒng)的基于蟻群算法的鋼軌邊緣識別方法時,因為初始化時是將螞蟻隨機分布,故會導致搜索初期螞蟻在非邊緣圖像區(qū)域進行大量的、無關的運算。為了解決傳統(tǒng)蟻群算法在搜索初期搜索效率低、停滯和收斂速度慢等缺點,在初始化時應用一維Logistic混沌映射產生混沌序列[9],利用混沌向量具有較好的遍歷性和隨機性的特點對蟻群進行初始化分布,提高搜索效率。具體方法如下。
首先,將螞蟻隨機分布在鋼軌圖像的各個像素點上,則螞蟻k初始坐標映射的混沌變量xk(t)為
(5)
式中:a和b分別為鋼軌圖像坐標的最小值和最大值。
其次,在生成混沌變量后,對混沌變量的每個分量進行一維Logistic混沌操作,即
xk+1(t+1)=μ(t)xk(t)[1-xk(t)]
k=1,2,…,n
(6)
式中:μ(t)為控制參數(shù), 本文取μ(t)=4, 且xk(t)?{0,0.25,0.5,0.75,1}時系統(tǒng)處于完全混沌狀態(tài)[10]。
按照式(6)分別賦值給函數(shù)的每一維自變量,利用全排列理論,將每個混沌變量對應1條搜索路徑,并從中選擇1條較優(yōu)的路徑,使得路徑上留下的初始信息素值各不相同,從而提高搜索的效率。
最后,將混沌變量的每個分量映射到鋼軌圖像的遍歷空間里,即
Xk(t)=a+xk(t)(b-a)Xk(t)∈[a,b]
(7)
式中:Xk(t)為鋼軌圖像空間中螞蟻k在t時刻的位置坐標。
通過式(7)可為每只螞蟻生成1個隨機位置,然后應用式(1)實現(xiàn)對路徑的選擇,這樣螞蟻在初始路徑選擇時就會分布在整個鋼軌圖像中,從而有效避免陷入局部最優(yōu)解。
選擇像素點(i,j)的8個鄰域4個方向上鄰域內的灰度梯度變化最大值ΔI(i,j)作為像素點(i,j)的灰度變化值。
ΔI(i,j)=max{|I(i,j+1)-I(i,j-1)|,
|I(i-1,j+1)-I(i+1,j-1)|, |I(i-1,j)-I(i+1,j)|, |I(i-1,j-1)-I(i+1,j+1)|}
(8)
式中:I(i,j)為像素點(i,j)處的灰度值。
由式(8)可見,如果像素點(i,j)在邊緣處, 則ΔI(i,j)的值比較大。
在初始階段,蟻群在搜索范圍內采用隨機搜索策略進行單個邊緣像素點識別。螞蟻從像素點(i-1,j-1)移動到像素點(i,j),且每次移動1個步長,則根據(jù)式(9)判斷邊緣像素點灰度梯度的變化值。
|ΔI(i,j)-ΔI(i-1,j-1)|≥Te
(9)
螞蟻每次移動到1個像素點后,識別像素點灰度梯度變化值,若滿足式(9),則停止搜索,且判斷該像素點是否是邊緣像素點;否則,繼續(xù)搜索。為了防止螞蟻無限制地搜索下去,提高搜索效率,人工設置1個最大搜索步數(shù)為L。
螞蟻k每走一步都要更新自己的坐標位置以及搜索方向。設定螞蟻在縱向和橫向移動的步長均為L1=(b-a)/n, 則螞蟻k更新位置的算式為
Xk(t+1)=(X1k(t)+int[-λ,λ]L1,X2k(t)+int[-λ,λ]L1)
(10)
(11)
式中:X1k(t)和X2k(t)分別為螞蟻k在t時刻的橫、 縱坐標;θk(t+1)為螞蟻k在t+1時刻搜索方向的角度;int[·]為取整函數(shù);λ為步長系數(shù);θ的取值為{0°, ±45°, ±90°,±135°,180°};(i(t),j(t))為t時刻螞蟻的位置坐標。
識別到鋼軌邊緣上的某個像素點(i,j)后,以該像素點為中心,再次判斷一定鄰域內與該像素點灰度級數(shù)相似的像素點,并將其也定為鋼軌邊緣上的1個像素點,然后循環(huán)這個過程,最后將這些識別出的像素點連成1條平滑、完整的鋼軌邊緣線,完成對鋼軌輪廓的識別;將沿鋼軌邊緣的像素點集合記為Ω3(i,j)。
為了分析方便,建立螞蟻區(qū)域搜索模型如圖2所示。
圖2 螞蟻區(qū)域搜索模型
從圖2可以看出:將鋼軌圖像劃分為M×N個小正方形,假設螞蟻所在位置的像素點為(i,j),位于小正方形的中心位置,其移動方向與水平方向的夾角為θ,則直徑為cd的半圓區(qū)域是螞蟻能夠感應到的范圍,感應到的像素點在圖中已標出,感應鄰域集合記為Ω4(i,j)。
傳統(tǒng)的蟻群算法采用固定的搜索步長,由于有些圖像中非邊緣區(qū)域較多,使得算法進行了大量的無關運算,導致搜索時間變長,效率變低。為了進一步提高邊緣識別效率,本文根據(jù)不同情況采用2種步長的搜索策略。
(1)如果螞蟻k從像素點(i-1,j-1)移動到像素點(i,j),其灰度變化值不滿足式(9),表明不存在邊緣點,則螞蟻k采用大步長(步長系數(shù)λ取大值λmax)搜索策略進行移動,移動到位置后,根據(jù)式(10)和式(11)更新自己的坐標位置,此時λmax的取值要合理。λmax過小,雖能夠體現(xiàn)圖像邊緣識別的細節(jié)部分,但是會造成檢測時間過長,識別效率低等弊端;λmax取值過大,雖然會加快邊緣識別速度,但是會丟失邊緣的細節(jié)。
(2)如果螞蟻k從像素點(i-1,j-1)移動到像素點(i,j),其灰度變化值滿足式(9),表明可能存在邊緣點,然后根據(jù)式(12)進行判斷。
|ΔI(i,j)-ΔI(i-1,j-1)|≤Ts
(i,j)∈Ω4(i,j), (i-1,j-1)∈Ω3(i,j)
(12)
式中:Ts為邊緣像素點灰度值的相似閾值。
若滿足式(12),表明像素點(i,j)與(i-1,j-1)相似,都是邊緣像素點,此時則采用小步長(步長系數(shù)λ取小值λmin)進行邊緣精確搜索,且0<λmin<1,然后根據(jù)式(12)和式 (13)更新位置,更新方程如下。
Xk(t+1)=X1k(t)+
(13)
然后應用區(qū)域搜索策略將各個邊緣點連為1條完整連續(xù)的鋼軌邊緣。
螞蟻每移動1步發(fā)生局部信息素更新,更新方程如下。
τ(i0,j0),(i,j)(t+1)=
(14)
式中:ρ3為系數(shù),0<ρ3<1。
本文只對局部信息素更新方程進行改進,為了防止算法陷入局部最優(yōu),將螞蟻經過的每條路徑上的信息素的濃度限定在確定范圍內,在每次進行完迭代運算后保留最優(yōu)解。如果不進行范圍的限定,信息素濃度過小,使算法的收斂速度變慢;而信息素濃度過大,則會使算法容易陷入局部最優(yōu)。改進后的信息素濃度更新方程如下。
τ(i0,j0),(i,j)(t+1)=
(15)
式中:τ0為在螞蟻還未開始搜索的初始時刻,為了使螞蟻能夠盡快找到搜索路徑而設置的信息素值;Q0為每只螞蟻每完成1次迭代,信息素局部更新開始時的值。
為了驗證優(yōu)化算法相對于傳統(tǒng)算法具有求解速度快的優(yōu)點,采用軟件Matlab7.10.0編程,分別用測試函數(shù)Ackley函數(shù)[11]f1(x)和Griewank函數(shù)[12]f2(x)分別對傳統(tǒng)算法和優(yōu)化算法進行測試,尋找其極值,有
a≤xk≤b
(16)
a≤xk≤b
(17)
試驗次數(shù)為10次,蟻群數(shù)量均為128個,最大迭代次數(shù)為1 000次,優(yōu)化結果分別見表1和表2。
表1 Ackley函數(shù)優(yōu)化結果分析
表2 Griewank函數(shù)優(yōu)化結果分析
從表1和表2可以看出:較傳統(tǒng)算法,優(yōu)化算法在尋優(yōu)過程中能夠較快地找到最優(yōu)解,求解速度快;優(yōu)化算法的絕對誤差和相對誤差較小,準確度較好;優(yōu)化算法的方差較小,穩(wěn)定性較好。
為了驗證優(yōu)化算法的有效性,分別以采集到的(128×128)像素的直軌和彎軌鋼軌圖像為例,用Matlab7.10.0軟件編程實現(xiàn)仿真,參數(shù)選擇為:α=0.6,β=0.4,ρ1=0.4,ρ2=0.3,ρ3=0.2,D=2 000,T=0.7,Te=0.8,λmax=2,λmin=0.5,Ts=0.2,τ0=0.1,L=1 000,Q0=τmin=0.1,τmax=0.9。
分別應用Canny邊緣檢測算子、傳統(tǒng)算法和優(yōu)化算法對直軌鋼軌圖像邊緣進行識別,結果如圖3所示。
圖3 直軌鋼軌邊緣識別
從圖3可以看出:用Canny算子提取的鋼軌邊緣與背景沒有區(qū)分開,且提取的鋼軌線條較細,不清晰,不利于下一步的障礙物識別;用傳統(tǒng)算法提取的鋼軌邊緣輪廓較明顯,但是鋼軌線條有不連續(xù)的傾向;用優(yōu)化算法提取的鋼軌邊緣能夠很好地與背景等無關區(qū)域相區(qū)分,輪廓更加清晰、粗壯和完整,能為鐵路障礙物識別提供良好的鋼軌輪廓,為下一步的障礙物識別提供有效的依據(jù)。
為了進一步驗證優(yōu)化算法的有效性和適應性,對采集的彎軌鋼軌圖像分別應用Canny邊緣檢測算子、傳統(tǒng)算法和優(yōu)化算法進行識別,結果如圖4所示。
圖4 彎軌鋼軌邊緣識別
從圖4中可以看出:用Canny算子提取的鋼軌邊緣對細節(jié)的提取較多,有用的鋼軌邊緣與其他無用的過多細節(jié)部分完全混合在一起,不能進行很好的區(qū)分;用傳統(tǒng)算法提取的鋼軌邊緣輪廓較Canny算子明顯程度有很大的提升,但是提取的鋼軌線條不光滑,小部分線條還存在不連續(xù)的問題;用優(yōu)化算法提取的彎軌鋼軌輪廓光滑、粗壯和連續(xù),能夠濾除大部分無關細節(jié)部分,有較好的適應性,能很好的應用于鐵路路軌障礙物識別。
分別應用傳統(tǒng)算法和優(yōu)化算法對直軌鋼軌圖像和彎軌鋼軌圖像進行邊緣提取,進行100次試驗,各算法的平均識別時間見表3。
從表3可以看出:優(yōu)化算法在識別時間上優(yōu)于傳統(tǒng)算法,這是因為優(yōu)化算法在識別邊緣點時,采用大步長的搜索機制,識別到邊緣點后,再應用區(qū)域搜索策略縮小搜索范圍,加快了搜索過程,減少了識別時間。
表3 傳統(tǒng)和優(yōu)化算法識別直軌和彎軌鋼軌圖像的平均識別時間比較 s
在鋼軌識別中,對傳統(tǒng)的蟻群算法在初始化過程、搜索過程、搜索步長、信息素更新策略4個方面進行優(yōu)化后,能使識別出的鋼軌輪廓更加光滑、粗壯和連續(xù),并且能有效提高識別效率。但是還是存在一些不足,不能將鋼軌和鋼軌的陰影部分進行很好的區(qū)分,有待改進和完善。
[1]史紅梅,柴華,王堯,等. 基于目標識別與跟蹤的嵌入式鐵路異物侵限檢測算法研究[J].鐵道學報, 2015,37(7):58-65.
(SHI Hongmei,CHAI Hua,WANG Yao,et al. Study on Railway Embedded Detection Algorithm for Railway Intrusion Based on Object Recognition and Tracking [J].Journal of the China Railway Society,2015,37(7):58-65. in Chinese)
[2]王前選,梁習鋒,劉應龍,等. 緩變異物入侵鐵路線路視覺檢測方法[J].中國鐵道科學, 2014,35(3):137-143.
(WANG Qianxuan,LIANG Xifeng,LIU Yinglong,et al.Visual Detection Method for the Invasion of Slowly Changing Foreign Matters to Railway Lines[J]. China Railway Science,2014,35(3):137-143. in Chinese)
[3]于革,賈利民,秦勇,等. 視頻監(jiān)控鐵路限界內逗留物體的檢測方法[J].中國鐵道科學, 2013,34(4):105-109.
(YU Ge,JIA Limin,QIN Yong,et al. Method for Detecting Loitering Objects within Railway Clearance by Video Surveillance[J]. China Railway Science,2013,34(4):105-109. in Chinese)
[4]MARCO D, LUCA Maria Gambardella. Ant Colony System: A Cooperative Learning Approach to the Traveling Salesman Problem[J]. IEEE Transactions on Evolutionary Computation,1997,1(1): 53-66.
[5]BATERINA A,OPPUS C. Image Edge Detection Using Ant Colony Optimization[J]. Wseas Transactions on Signal Processing,2010,6(2):58-67.
[6]李積英,黨建武. 量子蟻群模糊聚類算法在圖像分割中的應用[J].光電工程, 2013, 40(1): 126-131.
(LI Jiying, DANG Jianwu. Image Segmentation Based on Quantum Ant Colony Fuzzy Clustering Algorithm [J]. Opto-Electronic Engineering,2013,40(1):126-131.in Chinese)
[7]GANESHKUMAR P,RANI C,DEVARAJ D. Hybrid Ant Bee Algorithm for Fuzzy Expert System Based Sample Classification[J]. IEEE Transactions on Computational Biology and Bioinformatics, 2014, 11(2): 347-360.
[8]HO S L, YANG Shiyou, BAI Yanan. An Ant Colony Algorithm for Both Robust and Global Optimizations of Inverse Problems[J]. IEEE Transactions on Magnetics,2013,49(5):2077-2080.
[9]MANDAL M,BANIK G,CHATTOPADHYAY D,et al. An Image Encryption Process Based on Chaotic Logistic Map [J]. IETE Technical Review,2012,29(5):395-404.
[10]耿艷香, 孫云山, 謝靖鵬. 混沌蟻群算法在圖像邊緣檢測中的應用[J]. 計算機工程及應用, 2015,51(2):194-197.
(GENG Yanxiang, SUN Yunshan, XIE Jingpeng. Research on Chaotic Ant Colony Algorithm in Image Edge Detection[J]. Computer Engineering and Applications,2015,51(2):194-197. in Chinese)
[11]SYLVIE Le Hégarat, ABDELAZIZ Kallel, XAVIER Descombes. Ant Colony Optimization for Image Regularization Based on a Nonstationary Markov Modeling[J]. IEEE Transactions on Image Processing, 2007, 16(3): 865-878.
[12]CHEN S M, CHIEN C Y. A New Method for Solving the Traveling Salesman Problem Based on the Genetic Simulated Annealing Ant Colony System with Particle Swarm Optimization Techniques[C] //2010 International Conference on Machine Learning and Cybernetics. Qingdao:IEEE,2010: 2477-2482.