一種基于改進(jìn)貓群算法的目標(biāo)提取與分類的方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及群體智能與仿生計(jì)算和模式識別技術(shù),特別涉及一種基于改進(jìn)貓群算 法的目標(biāo)提取與分類的方法。該方法在圖像識別、模式分類、目標(biāo)跟蹤等領(lǐng)域中有著廣泛的 應(yīng)用前景。
【背景技術(shù)】
[0002] 基于聚類方法的目標(biāo)對象提取和分類在圖像處理與模式識別等領(lǐng)域中的熱 點(diǎn)和難點(diǎn)。因此,很多學(xué)者致力于研究這一熱點(diǎn)和難點(diǎn),同時(shí)提出了一系列的聚類算 法。例如眾所周知的 k 均值算法(Terada Yoshikazu. Strong Consistency of Reduced K-means Clustering[J]. Scandinavian journal of statistics,41(4),2014)等傳統(tǒng) 聚類算法。但是這樣算法有很大的不足,那就是對聚類中心選擇敏感,容易過早成熟陷 入局部最優(yōu)。為了克服傳統(tǒng)聚類算法的不足,很多模擬動(dòng)物行為的群體智能算法產(chǎn)生也 被用來研究這個(gè)問題,比如模擬螞蟻行為的蟻群算法(Xiong Zi-Yuan,Xu Zhen-Hai.An Innovative subarray partitioning method for clutter suppression by space-time adaptive processing based on the ant colony optimization[J]. IET radar sonar and navigation,8 (9),2014),模擬鳥行為的粒子群算法(Fan Qin_qin,Yan Xue-feng. Self-adaptive particle swarm optimization with multiple velocity strategies and its application for p-Xylene oxidation reaction process optimization[J]. Chemometrics and intelligent laboratory system,139, 2014),模擬蜂群米蜜行為的 蜂群算法(Runkler Thomas A.Wasp swarm optimization of the c-means clustering model[J]International journal of intelligent systems, 23(3),2008)、模擬魚群 覓食行為的人工魚群算法(Neshat Mehdi,Sepidnam Ghodrat. Artificial fish swarm algorithm:a survey of the state-of-the-art, hybridization, combinatorial and indicative applications [J]. Artificial intelligent review, 42 (4),2014)和模擬貓 日常行為的貓群算法(P.M.Pradhan.G. Panda. Solving Multi-Objective Problems Using Cat Swarm Optimization[J]. Expert Systems with Applications, 3(39),2012)等。但是 這些算法都存在自身的不足,例如:蟻群算法引入了信息素,加大了算法的時(shí)間復(fù)雜度,需 要較長的搜索時(shí)間,并且在搜索過程中容易出現(xiàn)停滯現(xiàn)象;粒子群算在算法后期有可能不 能很好地跳出局部最優(yōu);貓群算法雖然在函數(shù)優(yōu)化中能取得很好的效果,但是在圖像處理 中出現(xiàn)速度慢、時(shí)間過長的問題。為了解決在圖像目標(biāo)提取和分類中的問題,發(fā)明了一種基 于改進(jìn)貓群算法的目標(biāo)提取與分類的方法。
[0003] 所謂的目標(biāo)對象的提取就是根據(jù)目標(biāo)對象的特征,從圖像中獲取感興趣的目標(biāo)對 象,并進(jìn)行標(biāo)識、分割出來的一種技術(shù)。目標(biāo)對象提取處于整個(gè)計(jì)算機(jī)視覺系統(tǒng)的底層,是 各種高級應(yīng)用如目標(biāo)檢測與跟蹤等的基礎(chǔ)。目標(biāo)對象提取效果的好壞直接關(guān)系到目標(biāo)對象 的跟蹤及整個(gè)系統(tǒng)的優(yōu)劣。一個(gè)好的目標(biāo)對象提取算法應(yīng)該能適用于所監(jiān)視的各種環(huán)境, 比如:能適應(yīng)各種天氣條件,適應(yīng)光線的變化,適應(yīng)場景中個(gè)別物體運(yùn)動(dòng)產(chǎn)生的干擾,能處 理陰影和遮擋等。
[0004] 目標(biāo)對象分類技術(shù)是根據(jù)對象的底層視覺特征將對象分門別類到預(yù)定義的類中, 它是實(shí)現(xiàn)計(jì)算機(jī)自動(dòng)識別目標(biāo)的重要途徑。目標(biāo)對象分類技術(shù)的實(shí)際操作中主要包括圖像 預(yù)處理、特征提取、分類器設(shè)計(jì)與學(xué)習(xí)等幾個(gè)階段。目標(biāo)對象分類方法大致可以分為兩種方 式:基于生成模型的對象分類方法(如貝葉斯分類)和基于判別模型的對象分類方法(如 k均值分類)。
[0005] 在實(shí)際生活中,對象分類技術(shù)是解決上述計(jì)算機(jī)視覺的核心內(nèi)容,被應(yīng)用到實(shí)際 生活中的方方面面。例如:自主車輛的視覺導(dǎo)航,它就是以對象的分類識別環(huán)境為基礎(chǔ);航 空和衛(wèi)星照片的讀取判別與分類;工業(yè)機(jī)器人手眼系統(tǒng)的特定目標(biāo)識別;生物特征的鑒別 等。當(dāng)然,對象分類技術(shù)最重要的一個(gè)應(yīng)用例子是網(wǎng)絡(luò)圖像檢索,它不僅幫助圖像檢索系統(tǒng) 很好的理解圖像語義信息,又大大消減了人工參與過程,為改善圖像檢索系統(tǒng)的準(zhǔn)確率提 供了有力支持。
[0006] 群體智能算法的聚類問題就是要找到一個(gè)能使得總的類內(nèi)離散度和最小的劃分。 當(dāng)聚類中心確定時(shí),聚類的劃分可由最近鄰法則決定。假設(shè)有一個(gè)目標(biāo)特征集,X= {\,i =1,2,···,]!},這里XiSn維特征向量,η是X中特征向量的數(shù)目。聚類的目的就是找到 一個(gè)滿足條件Qu c2l>"u C j= Φ(?乒j,o<i,j彡κ)的最優(yōu)劃分c ={A,C2,…cK,使得總的類內(nèi)離散度和達(dá)到j(luò)。最小,如下公式所示:
其中,C,是第j個(gè)聚類的中心,d(X y C,)是目標(biāo)特征向量Xi和聚類中心C ,的歐氏距離 的平方,可表示為如下所示: cKX^Cj) = Ιχ,-Cjl2 當(dāng)聚類中心確定時(shí),聚類的劃分可由最近鄰法則決定。即對Xi,若第j類的聚類中心C, 滿足下式時(shí),則&屬于類j:
一些術(shù)語: 目標(biāo)對象分類:就是根據(jù)各自在圖像信息中所反映的不同特征,把不同類別的目標(biāo)對 象區(qū)分開來的圖像處理方法。它利用計(jì)算機(jī)對圖像進(jìn)行定量分析,把圖像或圖像中的每個(gè) 目標(biāo)或區(qū)域劃歸為若干個(gè)類別中的某一種,以代替人的視覺判讀的方法。
[0007] 目標(biāo)對象提?。壕褪歉鶕?jù)目標(biāo)對象的特征,把圖像中感興趣的目標(biāo)對象和背景對 象分割開來的一種技術(shù)。
[0008] 貓的編碼:貓的編碼是問題解的形式表達(dá)。貓群算法中,貓是問題的可行解,每只 貓的屬性包括速度、位置、適應(yīng)度和行為模式的標(biāo)志位。
[0009] 適應(yīng)度:適應(yīng)度是個(gè)體對環(huán)境的適應(yīng)程度,對于個(gè)體所求問題中個(gè)體的評價(jià)。
[0010] 記憶池:記憶池是貓復(fù)制自身位置存放的空間,記憶池的大小代表貓能搜索的地 點(diǎn)數(shù)量。
[0011] 分組率:分組率是貓群在兩種模式下的數(shù)量關(guān)系,是跟蹤模式的貓?jiān)谡麄€(gè)貓群所 占的比例。少部分的貓?zhí)幱诟櫮J?,多部分的貓?zhí)幱谒褜つJ健?br>[0012] 搜尋模式:搜尋模式下,貓復(fù)制自身位置多份放到記憶池中,通過變異算子,改變 記憶池中復(fù)制的副本,再計(jì)算副本的適應(yīng)度值,并選取適應(yīng)度值最高的位置作為下一步的 位置。
[0013] 跟蹤模式:跟蹤模式下,貓將跟蹤整個(gè)貓群找到的最優(yōu)解的"極值"來更新自己的 速度和位置,使自己向著最優(yōu)解的位置移動(dòng)。
[0014] 變異算子:變異算子是一種局部搜索操作,每一只貓經(jīng)過復(fù)制、變異產(chǎn)生鄰域候選 解,在鄰域里找出最優(yōu)解,即完成了變異算子。
[0015] 選擇算子:選擇算子主要是在搜尋模式下,由貓自身位置的副本產(chǎn)生新的位置,放 在記憶池中,再從記憶池中選取適應(yīng)度最高的候選解作為新的位置來代替。
【發(fā)明內(nèi)容】
[0016] 本發(fā)明的目的是提供一種基于改進(jìn)貓群算法的目標(biāo)提取與分類的方法,該方法利 用改進(jìn)的貓群算法根據(jù)圖像中目標(biāo)對象的特征進(jìn)行計(jì)算,從而達(dá)到對目標(biāo)對象的精確分 類。本發(fā)明的優(yōu)點(diǎn)是:1)相比原始的貓群算法,速度有所提高,時(shí)間更短;2)能夠?qū)δ繕?biāo)對 象實(shí)現(xiàn)準(zhǔn)確的分類。
[0017] 為了達(dá)到上述目的,本發(fā)明采用如下技術(shù)方案: (1) 輸入待處理的原始圖像; (2) 如原始圖像有噪聲,則首先對圖像進(jìn)行預(yù)處理。首先選取一個(gè)與背景一樣無特色的 區(qū)域,估計(jì)噪聲模型和參數(shù),然后根據(jù)噪聲模型選取相應(yīng)合適的濾波器進(jìn)行濾波去噪.如 果是椒鹽噪聲,則選用中值濾波;如果是高斯、均勻噪聲,則選用均值濾波器;如果是周期 噪聲,則用頻域?yàn)V波。如果沒有噪聲或模糊,則可跳過進(jìn)行下一步; (3) 把預(yù)處理后的圖像閾值分割為二值圖像,然后對其中感興趣的目標(biāo)圖像進(jìn)行分割 和標(biāo)記選取; ⑷選取和計(jì)算目標(biāo)圖像的四個(gè)特征:細(xì)度比例、偏心率、區(qū)域的固靠性程度和區(qū)域的 擴(kuò)展程度,組成新的特征向量; (5)對傳統(tǒng)的貓群算法進(jìn)行改進(jìn),以提高分類速度和準(zhǔn)確率,貓群算法的改進(jìn)如下: ① 群體智能算法為了在局部搜索和全局搜索之間保持平衡,通常會使用一個(gè)遞增的線 性慣性權(quán)重,例如粒子群算法。眾所周知,一個(gè)大的慣性權(quán)重有利于全局搜索而小慣性權(quán)重 有利于局部搜索,所以這些算法在迭代初期局部搜索能力較強(qiáng)。但是,如果在算法早期沒有 發(fā)現(xiàn)最優(yōu)點(diǎn),那就很容易陷入局部最優(yōu)。因?yàn)殡S著慣性權(quán)重越來越大,全局搜索能力也越來 越強(qiáng)。所以為了解決這樣的不足,我們在貓群算法的速度更新公式中增加一個(gè)非線性遞減 的慣性權(quán)重,如下公式所示:
這里UP W _是慣性權(quán)重的最大值和最小值,t是迭代次數(shù),iter。是臨界值,當(dāng)?shù)?次數(shù)是iter。時(shí),W(t)就等于1_。λ是一個(gè)常數(shù)。上式表明系數(shù)將會自適應(yīng)的非線性遞 減; ② 在原始的貓群算法中,C(t)是速度更新公式中加速系數(shù),通常為常數(shù)。這里我們同 樣讓它通過如下的公式進(jìn)行自適應(yīng)的更新:
其中t是迭代次數(shù),iter_是最大迭代次數(shù),C 1是初始加速系數(shù),是一個(gè)常數(shù); ③通過上述兩部分的兩個(gè)參數(shù),所以跟蹤模式的速度更新公式變?yōu)槿缦滤荆?br>VKd(t+l)表示更新后第k只貓的速度值,Xtest,d(t)代表適應(yīng)度最高的貓所處的位置; Xkd(t)指的是第k只貓的位置,C(t)是一個(gè)常數(shù),Γι是一個(gè)[0, 1]之間的隨機(jī)數(shù)。從上式可 以看出,貓的移動(dòng)方向由兩部分決定:自己原來的速度Vkd(t)、與貓群經(jīng)歷的最佳距離Xbest,d(t)-Xk, d (t),分別由動(dòng)態(tài)的慣性權(quán)重,加速系數(shù)C (t),隨機(jī)數(shù)決定其值; (6)將新的特征向量作為輸入特征庫,作為上面改進(jìn)貓群算法的輸入部分,利用新的貓 群算法對目標(biāo)對象進(jìn)行分類,詳細(xì)步驟如下: ① 對貓進(jìn)行編碼,把新的特征向量作為貓的速度,設(shè)定分組率、基因改變范圍和記憶池 大小等; ② 初始化貓的位置和速度,最大迭代次數(shù)等;最近鄰聚