基于蛙跳算法的點射影深度估計方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及射影重構(gòu)技術(shù)領(lǐng)域,具體設(shè)及一種基于蛙跳算法的點射影深度估計方 法。
【背景技術(shù)】
[0002] 基于圖像序列的S維重建通常是用點的重建,通過圖像序列中對應(yīng)的特征點匹 配,在已知攝像機參數(shù)矩陣的條件下,就可W計算出點的=維坐標,=維物體的形狀與位置 就可W唯一確定。在分層重構(gòu)的步驟中,射影重構(gòu)是最重要的一步,它對結(jié)果的精度起著決 定性作用。而射影重構(gòu)所要解決的關(guān)鍵問題是對空間點到攝像機的射影深度進行估計,并 使得合適的調(diào)整矩陣可W進行因數(shù)分解。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明所要解決的技術(shù)問題是提供一種基于蛙跳算法的點射影深度估計方法,其 能夠?qū)臻g點到攝像機的射影深度進行估計,并使得合適的調(diào)整矩陣可W進行因數(shù)分解。
[0004] 為解決上述問題,本發(fā)明是通過W下技術(shù)方案實現(xiàn)的:
[0005] 基于蛙跳算法的點射影深度估計方法,包括如下步驟:
[0006] 步驟1,將n個=維空間物體點通過q個射影矩陣投射到透視圖像序列上,生成測 量矩陣;
[0007] 步驟2,對所得透視圖像序列及測量矩陣進行歸一化處理;
[000引步驟3,選擇子群數(shù)量a和每個子群中青蛙的個數(shù)b,則整個種群的數(shù)量G=aXb;定義一個解U(X)= {入…入12,…,入。',入2。入22,…,入2J,…,入ij…,入恥},i= 1,2,…,q, j= 1,2,…,n;
[0009] 步驟4,生成G個青蛙,每個青蛙代表一個解U(X);
[0010] 步驟5,將每只青蛙所對應(yīng)的測量矩陣進行奇異值分解,并由適應(yīng)度函數(shù)公式計算 每只青蛙的適應(yīng)度J(x);
[0011] 步驟6,將所有青蛙按其青蛙的適應(yīng)度J(x)排序,生成一個集合X=KU(x), J(X)},并記錄整個種群中適應(yīng)度最好青蛙Pg;
[001引步驟7,將集合X分成a個子群Yk,每個子群Y泡含b個青蛙,并按W下公式將青 蛙分組,放入不同的子群,
[001 引Yk=[扣(l)k,J(l)k)|U(l)k=U&+a(l-l)),J(l)k=J&+a(l-l))]
[0014] 其中k= 1, 2,…,a, 1 = 1, 2,. . . , b;
[0015] 步驟7,通過意識進化,使得每組子群中的每只青蛙離目標位置更逼近;
[0016] 步驟8,在每個子群中執(zhí)行了一定意識進化W后,將各個子群Yk進行合并,合并后 再按青蛙的適應(yīng)度J(X)進行重新排序,W更新集合x=KU(x),J(x)}及整個種群中適應(yīng) 度最好青蛙Pg;
[0017] 步驟9,檢查終止條件,如果迭代終止條件滿足,則將整個種群中適應(yīng)度最好青蛙 Pg所代表的解U(x)作為待求的射影深度輸出;否則,返回步驟6。
[0018] 上述步驟7中,將每組子群中執(zhí)行意識進化的過程如下:
[0019] 步驟7-1,初始化子群計數(shù)im= 0,進化次數(shù)in= 0 ;用Pb和Pw分別表示每個子 群Yk中適應(yīng)度最好和最差青蛙;
[0020] 步驟7-2,子群計數(shù)im不變,并逐漸增大進化次數(shù)in,直至進化次數(shù)in達到設(shè)定 的最大進化數(shù)N,每次進化次數(shù)in的變化對應(yīng)一輪進化迭代;進化次數(shù)in不變,并逐漸增 大子群計數(shù)im,直至子群計數(shù)im達到設(shè)定的子群數(shù)量a,每次子群計數(shù)im的變化對應(yīng)一輪 進化迭代;
[0021] 步驟7-3,在每一輪進化迭代過程中,均采用如下方法調(diào)整每個子群中適應(yīng)度最差 青蛙Pw位置,即先計算最差青蛙Pw移動到最好青蛙化的距離D,再將最差青蛙Pw的當(dāng)前 位置加上距離D作為最差青蛙Pw的更新后的位置;
[0022] 步驟7-4,比較最差青蛙Pw更新前和更新后的適應(yīng)度,如果更新后的適應(yīng)度好于 更新前的適應(yīng)度,則用處于新位置的最差青蛙Pw取代原來的青蛙,否則用整個種群中適應(yīng) 度最好青蛙Pg代替每個子群Yk中適應(yīng)度最好青蛙化,并重復(fù)步驟7-3的過程;
[0023] 步驟7-5,如果始終不能生成更好的青蛙,那么就隨機生成一個新的青蛙去取代原 來最差青蛙Pw。
[0024] 上述步驟5和步驟8中,均采用適應(yīng)度J(x)升序的方式對所有青蛙的進行排序。
[0025] 上述步驟9中,將整個種群中適應(yīng)度最好青蛙Pg不再改變或達到最大的進化次數(shù) N作為迭代終止條件。
[0026] 上述步驟2中,對所得透視圖像序列及測量矩陣進行歸一化處理是讓每一幅透視 圖像中的透視圖像的坐標乘上1個公共因子,使它們的平均范數(shù)為^/^。
[0027] 與現(xiàn)有技術(shù)相比,本發(fā)明基于蛙跳算法來實現(xiàn)點射影重構(gòu)中的射影深度的估計, 由于蛙跳算法是結(jié)合了W遺傳為基礎(chǔ)的memetic算法和W社會行為為基礎(chǔ)的粒子群優(yōu)化 PSO算法的優(yōu)點,因此本射影深度估計方法具有收斂速度快,容易獲得最優(yōu)解的特點,其所 估計出的射影深度能夠使得合適的調(diào)整矩陣可W進行因數(shù)分解。
【具體實施方式】
[002引假設(shè)n個S維空間物體點通過q個3X4的射影矩陣Mi(i= 1,2,…,q)投射到F幅透視圖像上。其中Pj(j= 1,2,…,n)為第j個S維空間物體點,它在第i(i= 1,2,…,q) 幅圖像上的像點為my。那么對于q幅圖像和n個空間物體點:
[0029]
【主權(quán)項】
1. 基于蛙跳算法的點射影深度估計方法,其特征是,包括如下步驟: 步驟1,將η個三維空間物體點通過q個射影矩陣投射到透視圖像序列上,生成測量矩 陣; 步驟2,對所得透視圖像序列及測量矩陣進行歸一化處理; 步驟3,選擇子群數(shù)量a和每個子群中青蛙的個數(shù)b,則整個種群的數(shù)量G = aXb ;定 義一個解 U (X) = { λ η,λ 12,…,λ w λ 21,λ 22,…,λ 2j,…,λ u…,λ 職},i = 1,2, 一,q,j =1,2, ...,n ; 步驟4,生成G個青蛙,每個青蛙代表一個解U (X); 步驟5,將每只青蛙所對應(yīng)的測量矩陣進行奇異值分解,并由適應(yīng)度函數(shù)公式計算每只 青蛙的適應(yīng)度J(X); 步驟6,將所有青娃按其青娃的適應(yīng)度J (X)排序,生成一個集合X ={ (U (X),J (X) },并 記錄整個種群中適應(yīng)度最好青娃Pg ; 步驟7,將集合X分成a個子群Yk,每個子群Yk包含b個青蛙,并按以下公式將青蛙分 組,放入不同的子群, Yk= [ (U ⑴ k,J ⑴ k) IU (I) k = U (k+a (1-1)),J (I) k = J (k+a (1-1))] 其中 k = l,2,...,a,l = l,2,...,b; 步驟7,通過意識進化,使得每組子群中的每只青蛙離目標位置更逼近; 步驟8,在每個子群中執(zhí)行了一定意識進化以后,將各個子群Υκ?行合并,合并后再按 青蛙的適應(yīng)度J(X)進行重新排序,以更新集合X= KU (X),J(x)}及整個種群中適應(yīng)度最 好青娃Pg ; 步驟9,檢查終止條件,如果迭代終止條件滿足,則將整個種群中適應(yīng)度最好青蛙Pg所 代表的解U(X)作為待求的射影深度輸出;否則,返回步驟6。
2. 根據(jù)權(quán)利要求1所述基于蛙跳算法的點射影深度估計方法,其特征是,步驟7中,將 每組子群中執(zhí)行意識進化的過程如下: 步驟7-1,初始化子群計數(shù)im = 0,進化次數(shù)in = O ;用Pb和Pw分別表示每個子群Yk 中適應(yīng)度最好和最差青蟲圭; 步驟7-2,子群計數(shù)im不變,并逐漸增大進化次數(shù)in,直至進化次數(shù)in達到設(shè)定的最 大進化數(shù)N,每次進化次數(shù)in的變化對應(yīng)一輪進化迭代;進化次數(shù)in不變,并逐漸增大子 群計數(shù)im,直至子群計數(shù)im達到設(shè)定的子群數(shù)量a,每次子群計數(shù)im的變化對應(yīng)一輪進化 迭代; 步驟7-3,在每一輪進化迭代過程中,均采用如下方法調(diào)整每個子群中適應(yīng)度最差青蛙 Pw位置,即先計算最差青蛙Pw移動到最好青蛙Pb的距離D,再將最差青蛙Pw的當(dāng)前位置 加上距離D作為最差青蛙Pw的更新后的位置; 步驟7-4,比較最差青蛙Pw更新前和更新后的適應(yīng)度,如果更新后的適應(yīng)度好于更新 前的適應(yīng)度,則用處于新位置的最差青蛙Pw取代原來的青蛙,否則用整個種群中適應(yīng)度最 好青蛙Pg代替每個子群Yk中適應(yīng)度最好青蛙Pb,并重復(fù)步驟7-3的過程; 步驟7-5,如果始終不能生成更好的青蛙,那么就隨機生成一個新的青蛙去取代原來最 差青蛙Pw。
3. 根據(jù)權(quán)利要求1所述基于蛙跳算法的點射影深度估計方法,其特征是,步驟5和步驟 8中,均采用適應(yīng)度J(x)升序的方式對所有青蛙的進行排序。
4. 根據(jù)權(quán)利要求1所述基于蛙跳算法的點射影深度估計方法,其特征是,步驟9中,將 整個種群中適應(yīng)度最好青蛙Pg不再改變或達到最大的進化次數(shù)N作為迭代終止條件。
5. 根據(jù)權(quán)利要求1所述基于蛙跳算法的點射影深度估計方法,其特征是,步驟2中,對 所得透視圖像序列及測量矩陣進行歸一化處理是讓每一幅透視圖像中的透視圖像的坐標 乘上1個公共因子,使它們的平均范數(shù)為。
【專利摘要】本發(fā)明公開一種基于蛙跳算法的點射影深度估計方法,其首先將n個三維空間物體點通過q個射影矩陣投射到透視圖像序列上,生成測量矩陣;然后對所得透視圖像序列及測量矩陣進行歸一化處理;最后生成G個青蛙,每個青蛙代表一個解,并利用蛙跳算法選出整個種群中適應(yīng)度最好青蛙,并將最好青蛙所代表的解作為待求的射影深度輸出。本發(fā)明具有收斂速度快,容易獲得最優(yōu)解的特點,其所估計出的射影深度能夠使得合適的調(diào)整矩陣可以進行因數(shù)分解。
【IPC分類】G06F17-30, G06N3-00, G06T7-00, G06T17-00
【公開號】CN104867185
【申請?zhí)枴緾N201510332487
【發(fā)明人】雷曉春, 周旭, 江澤濤, 王勇, 趙佳, 陳俊彥
【申請人】桂林電子科技大學(xué)
【公開日】2015年8月26日
【申請日】2015年6月16日