一種3d模型與二維圖像的虛實(shí)配準(zhǔn)算法
【專利摘要】本發(fā)明為了解決二維圖像與三維圖形配準(zhǔn)的虛實(shí)融合中計(jì)算效率低和需要預(yù)先標(biāo)定相機(jī)內(nèi)參數(shù)的問題,提供一種3D模型與二維可見光圖像配準(zhǔn)算法。它通過有多視幾何關(guān)系的多幅圖像,根據(jù)多視幾何理論,用估計(jì)加優(yōu)化的方法求解多個(gè)攝像機(jī)內(nèi)參數(shù)(焦距)和外參數(shù)(外參數(shù)包括攝像機(jī)視點(diǎn)位置及旋轉(zhuǎn)方向);再通過GPS位置變換三維恢復(fù)坐標(biāo)下的攝像機(jī)視點(diǎn)到3D模型坐標(biāo)的視點(diǎn),這個(gè)3D模型是根據(jù)真實(shí)場(chǎng)景預(yù)先建好的;最后渲染顯示三維模型的二維虛圖,它是與二維圖像是一致的。本方法可以將視點(diǎn)所觀察到的三維場(chǎng)景(虛圖)與圖片配準(zhǔn),它只需預(yù)先測(cè)量得到攝像機(jī)位置,不需要進(jìn)行攝像機(jī)的預(yù)標(biāo)定,也不需要用戶手動(dòng)設(shè)置初始的模型對(duì)應(yīng)于各幅二維圖像的攝像機(jī)視角。相對(duì)傳統(tǒng)配準(zhǔn)方法,有較高的效率。
【專利說明】一種3D模型與二維圖像的虛實(shí)配準(zhǔn)算法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)應(yīng)用技術(shù)和計(jì)算機(jī)視覺中的增強(qiáng)現(xiàn)實(shí)領(lǐng)域,具體涉及一種3D模型與二維圖像的虛實(shí)配準(zhǔn)算法。
【背景技術(shù)】
[0002] 增強(qiáng)現(xiàn)實(shí)是指通過將計(jì)算機(jī)生成的虛擬場(chǎng)景、文字注釋等信息實(shí)時(shí)、精確地疊加 到使用者所觀察到的真實(shí)世界景象中,對(duì)人的視覺系統(tǒng)進(jìn)行延伸和擴(kuò)充的一種技術(shù)。如何 實(shí)時(shí)、精確地計(jì)算用戶視點(diǎn)相對(duì)于真實(shí)世界的位置、姿態(tài)信息,并利用這些信息將虛擬場(chǎng)景 正確地疊加到它所應(yīng)處的位置上,即虛實(shí)配準(zhǔn),是增強(qiáng)現(xiàn)實(shí)系統(tǒng)中的關(guān)鍵問題之一。
[0003] 所以,虛實(shí)配準(zhǔn)在增強(qiáng)現(xiàn)實(shí)中有極大的應(yīng)用需求。同樣,在三維空間進(jìn)行二維圖像 與三維圖形的虛實(shí)配準(zhǔn)技術(shù),也有著廣泛的應(yīng)用前景,但是它沒有通用成熟配準(zhǔn)框架。
[0004] 在三維空間進(jìn)行虛實(shí)配準(zhǔn),常用的技術(shù)框架是通過多幅圖片形成的多目視覺系統(tǒng) 得到場(chǎng)景的稠密點(diǎn)云,通過稠密點(diǎn)云提取場(chǎng)景的三維幾何特征,如平面、直線、特征點(diǎn)、曲線 等,再與3D模型中相應(yīng)的特征進(jìn)行配準(zhǔn)。這種方法的缺點(diǎn)一是生成稠密點(diǎn)云需要的圖片 多,一般要幾十張圖片,而在機(jī)場(chǎng)應(yīng)用場(chǎng)景中難以布置如此多指向同一場(chǎng)景的攝像機(jī);二是 計(jì)算速度慢,根據(jù)情況不同,至少在10分鐘以上。工程應(yīng)用中,稠密點(diǎn)云常采用激光雷達(dá)高 速測(cè)量的方法,一分鐘可測(cè)得上百萬的點(diǎn)云數(shù)據(jù),但是激光雷達(dá)成本高,它主要用于場(chǎng)景3D 模型建模,難與視頻結(jié)合的虛實(shí)配準(zhǔn)結(jié)合使用。并且,現(xiàn)有的二三維配準(zhǔn)研究中,基本上都 要求用戶手動(dòng)設(shè)置初始的配準(zhǔn)參數(shù),即模型的初始視角位置,然后再優(yōu)化求解精確配準(zhǔn)位 置,如果不手動(dòng)設(shè)置視角初始值,配準(zhǔn)問題將變得無法求解。
[0005]目前的解決方法,還有的需要預(yù)先標(biāo)定相機(jī)。預(yù)標(biāo)定方法可以提前測(cè)量攝像 機(jī)所有的內(nèi)參數(shù),但在有的應(yīng)用環(huán)境中(如:機(jī)場(chǎng),山區(qū)等)較難測(cè)量實(shí)際標(biāo)志物的三 維世界坐標(biāo),即攝像機(jī)的外參數(shù),尤其是攝像機(jī)旋轉(zhuǎn)參數(shù);針對(duì)可變焦距可旋轉(zhuǎn)的PTZ (Pan-Tilt-Zoom)相機(jī)就無法應(yīng)用。
[0006]
【發(fā)明內(nèi)容】
[0007] 本發(fā)明要解決的技術(shù)問題是:為了解決二維圖像與三維圖形配準(zhǔn)的虛實(shí)融合中計(jì) 算效率低和需要預(yù)先標(biāo)定相機(jī)內(nèi)參數(shù)的問題,提供一種3D模型與二維可見光圖像配準(zhǔn)算 法。此算法不需要預(yù)標(biāo)定相機(jī),而且計(jì)算時(shí)間在兩三分鐘以內(nèi),可以達(dá)到實(shí)用的要求。
[0008] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種3D模型與二維圖像配準(zhǔn)算法, 它通過有多視幾何關(guān)系的多幅圖像,用估計(jì)加優(yōu)化的方法求解多個(gè)攝像機(jī)內(nèi)參數(shù)(焦距)和 外參數(shù),外參數(shù)包括攝像機(jī)視點(diǎn)位置及旋轉(zhuǎn)方向;再變換三維恢復(fù)坐標(biāo)下的攝像機(jī)視點(diǎn)到 3D模型坐標(biāo)的視點(diǎn),這個(gè)3D模型是根據(jù)真實(shí)場(chǎng)景預(yù)先建好的;最后渲染顯示三維模型的二 維虛圖,它是與二維圖像是一致的。
[0009] 本發(fā)明的創(chuàng)新點(diǎn)在于:1)不需要像以往方法一樣預(yù)先標(biāo)定相機(jī)的內(nèi)參數(shù);2)不需 要其它激光雷達(dá)等復(fù)雜設(shè)備進(jìn)行場(chǎng)景的三維測(cè)量,也不需要限制相機(jī)的個(gè)數(shù),只需要簡(jiǎn)單 測(cè)量攝像機(jī)的位置,而攝像機(jī)的焦距和旋轉(zhuǎn)方向靠多視幾何關(guān)系自動(dòng)計(jì)算出來;3)提出了 一個(gè)自動(dòng)配準(zhǔn)的算法解決3D模型與二維圖像的配準(zhǔn)。
[0010] 算法具體步驟是: 1) 通過有多視幾何關(guān)系的多幅圖像求解攝像機(jī)內(nèi)參數(shù)和外參數(shù)。
[0011] 1-1)提取SIFT特征描述(它具有尺度和旋轉(zhuǎn)不變性)。
[0012] 1-2)再用KD-樹進(jìn)行特征點(diǎn)匹配。
[0013] 1-3)采用RANSAC框架通過8點(diǎn)法估計(jì)基礎(chǔ)矩陣F,同時(shí)去掉了噪聲匹配點(diǎn)對(duì)。
[0014] 1-4)選擇共有特征點(diǎn)最多的兩幅圖像,再通過上步得到的基本矩陣F,按估計(jì)的 攝像機(jī)參數(shù)算出本質(zhì)矩陣E,計(jì)算出第一對(duì)攝像機(jī)之間的相對(duì)位置,得到攝像機(jī)位置旋轉(zhuǎn)和 平移參數(shù)。
[0015] 1-5)初始化攝像機(jī)內(nèi)參數(shù),將上述外參數(shù)以及內(nèi)參數(shù)、所有特征點(diǎn)的投影坐標(biāo)和 世界坐標(biāo)作為初始值,用稀疏Levenberg-Marquardt方法進(jìn)行集束優(yōu)化。
[0016] 1-6)再選擇另一幅圖片,根據(jù)已算出的空間特征點(diǎn)及特征點(diǎn)跟蹤關(guān)系用RANSAC 方法求解此攝像機(jī)投影矩陣,得到攝像機(jī)內(nèi)外參數(shù)初始值,將其加入到優(yōu)化框架下,轉(zhuǎn)步驟 1-5)繼續(xù)優(yōu)化。
[0017] 1-7)反復(fù)執(zhí)行1-6)直到每一個(gè)攝像機(jī)(所有的圖片)處理完畢,得到所有攝像機(jī) 的外參數(shù)(多幅圖片視點(diǎn)的旋轉(zhuǎn)平移的相對(duì)位置) 2) 變換三維重建坐標(biāo)下的攝像機(jī)視點(diǎn)到3D模型坐標(biāo)的視點(diǎn)。
[0018] 根據(jù)預(yù)先好的測(cè)量攝像機(jī)的經(jīng)緯度坐標(biāo)找到多個(gè)視點(diǎn)的相對(duì)位置到3D模型的相 對(duì)變換關(guān)系(旋轉(zhuǎn)、平移、縮放),可以將視點(diǎn)位置變換到3D模型中。我們采用的方法是經(jīng)緯 度轉(zhuǎn)換法,它分為2個(gè)步驟: 2-1)將測(cè)量的攝像機(jī)經(jīng)緯度坐標(biāo)轉(zhuǎn)換成3D模型坐標(biāo)系中的XYZ坐標(biāo)。
[0019] 2-2)設(shè)攝像機(jī)位置的歸一化的相對(duì)三維坐標(biāo)為&,經(jīng)緯度轉(zhuǎn)換后的歐氏坐標(biāo)為 見,則矩陣沒是它們的轉(zhuǎn)換的關(guān)系。對(duì)公式AiM^i=O用最小二乖法求轉(zhuǎn)換矩陣沒的初始值, 再用Levenberg-Marquardt非線性求得更優(yōu)的轉(zhuǎn)換矩陣//,//需保持轉(zhuǎn)換后坐標(biāo)軸的正交性 和比例的一致性。若給定多對(duì)匹配點(diǎn)可以解出線性的最小二乘解。進(jìn)一步,需加入旋轉(zhuǎn)、平 移、等比例縮放約束再用Levenberg-Marquardt算法進(jìn)行非線性優(yōu)化,即得到最終H。
[0020] 3)在3D模型中設(shè)置變換后的視點(diǎn),得到相應(yīng)視點(diǎn)下三維圖形渲染顯示后的二維 視圖(如圖2~7的b)所示),即對(duì)應(yīng)二維圖像的已經(jīng)配準(zhǔn)的虛像。
[0021] 本發(fā)明的有益效果是,本發(fā)明的一種3D模型與二維圖像配準(zhǔn)算法,它利用多視幾 何理論恢復(fù)3D模型在相對(duì)坐標(biāo)中的視點(diǎn),只需預(yù)先測(cè)量得到攝像機(jī)位置,將二維真實(shí)可見 光圖像與3D模型投影虛擬圖進(jìn)行自動(dòng)配準(zhǔn)。它不需要進(jìn)行攝像機(jī)的預(yù)標(biāo)定,也不需要用戶 手動(dòng)設(shè)置初始的模型對(duì)應(yīng)于各幅二維圖像的攝像機(jī)視角,而是通過有多視幾何關(guān)系的多幅 圖像,用估計(jì)加優(yōu)化的方法求解攝像機(jī)內(nèi)參數(shù)和外參數(shù),再變換三維恢復(fù)坐標(biāo)下的攝像機(jī) 視點(diǎn)到3D模型坐標(biāo)的視點(diǎn)位置及視角。配準(zhǔn)后可以進(jìn)行虛實(shí)圖像融合,得到更佳的顯示效 果。一旦焦距或是攝像機(jī)內(nèi)參、旋轉(zhuǎn)方向發(fā)生變化,重新將本算法執(zhí)行一次即可。
【專利附圖】
【附圖說明】
[0022] 圖1是一個(gè)示例中攝像機(jī)位置及世界坐標(biāo)系下的特征點(diǎn)位置。圖中:重建的攝像 機(jī)位置(*)及世界坐標(biāo)系下的特征點(diǎn)(+)位置。
[0023] 圖2是一個(gè)示例中第1幅虛實(shí)圖像對(duì)的視點(diǎn)配準(zhǔn)結(jié)果。
[0024] 圖3是一個(gè)示例中第2幅虛實(shí)圖像對(duì)的視點(diǎn)配準(zhǔn)結(jié)果。
[0025] 圖4是一個(gè)示例中第3幅虛實(shí)圖像對(duì)的視點(diǎn)配準(zhǔn)結(jié)果。
[0026] 圖5是一個(gè)示例中第4幅虛實(shí)圖像對(duì)的視點(diǎn)配準(zhǔn)結(jié)果。
[0027] 圖6是一個(gè)示例中第5幅虛實(shí)圖像對(duì)的視點(diǎn)配準(zhǔn)結(jié)果。
[0028] 圖7是一個(gè)示例中第6幅虛實(shí)圖像對(duì)的視點(diǎn)配準(zhǔn)結(jié)果。
【具體實(shí)施方式】
[0029] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì) 本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。
[0030] 本發(fā)明的算法的使用方式是:在用多臺(tái)PTZ攝像機(jī)進(jìn)行場(chǎng)景監(jiān)視的環(huán)境中,預(yù)先 生成監(jiān)視環(huán)境的3D模型,再測(cè)量出各個(gè)攝像機(jī)的經(jīng)緯度坐標(biāo)。通過本發(fā)明的算法,找到攝 像機(jī)在3D模型中對(duì)應(yīng)的視點(diǎn)及相關(guān)攝像機(jī)參數(shù),然后按上述參數(shù)進(jìn)行3D模型渲染,得到配 準(zhǔn)視圖。圖片2至7給出了一個(gè)監(jiān)視場(chǎng)景的配準(zhǔn)的示例。
[0031] 本發(fā)明的算法首先要假定采用哪種攝像機(jī)模型,本發(fā)明中認(rèn)為攝像機(jī)符合小孔成 像的標(biāo)準(zhǔn)攝像機(jī)模型(Pinholemodel),采用以下透視投影公式描述: J^K\RI-Rtc~\b
【權(quán)利要求】
1. 一種3D模型與二維圖像配準(zhǔn)算法,其特征是具體步驟如下: 1) 通過有多視幾何關(guān)系的多幅圖像求解攝像機(jī)內(nèi)參數(shù)和外參數(shù) 1-1)提取SIFT特征描述(它具有尺度和旋轉(zhuǎn)不變性); 1-2)再用KD-樹進(jìn)行特征點(diǎn)匹配; 1-3)采用RANSAC框架通過8點(diǎn)法估計(jì)基礎(chǔ)矩陣來去掉噪聲匹配點(diǎn)對(duì); 1-4)選擇共有特征點(diǎn)最多的兩幅圖像,再通過上步得到的基本矩陣F,按估計(jì)的攝像 機(jī)參數(shù)算出本質(zhì)矩陣E,估計(jì)一對(duì)攝像機(jī)之間的相對(duì)位置,得到攝像機(jī)位置旋轉(zhuǎn)和平移參 數(shù); 1-5)初始化攝像機(jī)內(nèi)參數(shù),將上述外參數(shù)以及內(nèi)參數(shù)、所有特征點(diǎn)的投影坐標(biāo)和世界 坐標(biāo)作為初始值,用稀疏Levenberg-Marquardt方法進(jìn)行集束優(yōu)化; 1-6)再選擇另一幅圖片,根據(jù)已算出的空間特征點(diǎn)及特征點(diǎn)跟蹤關(guān)系用RANSAC方法 求解此攝像機(jī)投影矩陣,得到攝像機(jī)內(nèi)外參數(shù)初始值,將其加入到優(yōu)化框架下,轉(zhuǎn)步驟1-5) 繼續(xù)優(yōu)化; 1-7)直到所有的圖片處理完畢,得到所有攝像機(jī)的外參數(shù)(多幅圖片視點(diǎn)的旋轉(zhuǎn)平移 的相對(duì)位置) 2) 變換三維重建坐標(biāo)下的攝像機(jī)視點(diǎn)到3D模型坐標(biāo)的視點(diǎn) 根據(jù)預(yù)先好的測(cè)量攝像機(jī)的經(jīng)緯度坐標(biāo)找到多個(gè)視點(diǎn)的相對(duì)位置到3D模型的相對(duì)變 換關(guān)系(旋轉(zhuǎn)、平移、縮放),可以將視點(diǎn)位置變換到3D模型中 3) 在3D模型中設(shè)置變換后的視點(diǎn),得到相應(yīng)視點(diǎn)下三維圖形渲染顯示后的二維視圖, 即對(duì)應(yīng)二維圖像的已經(jīng)配準(zhǔn)的虛像。
2. 如權(quán)利要求1所述的配準(zhǔn)算法,其特征在于:所監(jiān)視場(chǎng)景的3D模型預(yù)先生成,所有 攝像機(jī)的位置也于運(yùn)行算法前測(cè)量得到。
3. 如權(quán)利要求1所述的配準(zhǔn)算法,其特征在于:在步驟1-6)中,采用通過投影矩陣M 采用RQ分解求解攝像機(jī)內(nèi)參數(shù)、外參數(shù);即:將#表示成表示,#=[%,》2,叫,碼]的第 i列;令攝像機(jī)內(nèi)參數(shù)矩陣為K,外參數(shù)矩陣為^ 所以此時(shí)的攝像機(jī)矩陣M可寫成: I -沿。]按下列公式計(jì)算出平移量tc:
上式中的表示矩陣[歷1,?2,?3],?i表示M的第i列,其它為M等為相同的意義;再 利用RQ分解,[I ^=ZW(OZ123))是對(duì)角元素均為正數(shù)的上三角矩陣,W為正交旋轉(zhuǎn)矩陣, #123JT?;這樣,就得到了攝像機(jī)外參數(shù)(疋〇。
4. 如權(quán)利要求1所述的配準(zhǔn)算法,其特征在于:將測(cè)量的攝像機(jī)經(jīng)緯度坐標(biāo)轉(zhuǎn)換成模 型坐標(biāo)系中的坐標(biāo)時(shí),采用高斯-克呂格投影(Gauss-Kruger projection)。
5. 如權(quán)利要求1所述的配準(zhǔn)算法,其特征在于:用最小二乖法求SiZ^i=O中轉(zhuǎn)換矩陣// 的初始值,其中,&為攝像機(jī)位置的歸一化的相對(duì)三維坐標(biāo),見為經(jīng)緯度轉(zhuǎn)換后的模型坐標(biāo) 系中的坐標(biāo),;再用Levenberg-Marquardt非線性求得更優(yōu)的轉(zhuǎn)換矩陣//,在非線性迭代中// 保持轉(zhuǎn)換后坐標(biāo)軸的正交性和比例的一致性。
【文檔編號(hào)】G06T7/00GK104376552SQ201410480514
【公開日】2015年2月25日 申請(qǐng)日期:2014年9月19日 優(yōu)先權(quán)日:2014年9月19日
【發(fā)明者】李新勝, 馮子亮 申請(qǐng)人:四川大學(xué)