亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種幾何特征引導(dǎo)的三維模型表面紋理空洞填補(bǔ)方法

文檔序號(hào):6434837閱讀:228來源:國(guó)知局
專利名稱:一種幾何特征引導(dǎo)的三維模型表面紋理空洞填補(bǔ)方法
一種幾何特征引導(dǎo)的三維模型表面紋理空洞填補(bǔ)方法技術(shù)領(lǐng)域
本發(fā)明屬于計(jì)算機(jī)圖形圖像和虛擬現(xiàn)實(shí)技術(shù)領(lǐng)域,具體地說是幾何特征引導(dǎo)的三維模型表面紋理空洞填補(bǔ)方法。
背景技術(shù)
紋理映射技術(shù)是一種提高模型真實(shí)感的有效手段,不僅可以有效的仿真現(xiàn)實(shí)世界物體表面的紋理信息,使得模型的渲染效果美觀真實(shí),而且可以大大簡(jiǎn)化建模的過程,只需增加少量的計(jì)算量便可大幅度豐富模型外觀。大部分的紋理信息是通過現(xiàn)場(chǎng)拍攝取得的, 但是當(dāng)采集的圖像不充分或圖像與模型不完全匹配(三維模型與圖像對(duì)應(yīng)于不同的物體) 時(shí),將各個(gè)視角圖像中的紋理信息映射到三維模型上,形成帶紋理的三維模型時(shí),模型上的某些區(qū)域會(huì)缺失紋理,形成紋理空洞,需要結(jié)合三維模型表面已有的紋理信息和三維模型表面的幾何特征對(duì)三維模型上紋理缺失的區(qū)域生成相應(yīng)的紋理,形成完整的紋理模型。
目前,許多科研工作者致力于該方面的研究。2000年,馬克斯普朗克研究所的 Hendrik P. A. Lensh等人提出了一個(gè)自動(dòng)的將多個(gè)視角的圖像映射到對(duì)應(yīng)三維模型上的方法。該方法是一個(gè)基于側(cè)影輪廓線硬件加速的方法,可以處理不同分辨率的圖像,自動(dòng)的將這些圖像精確的映射到三維模型上;2004年,匈牙利羅蘭大學(xué)的計(jì)算機(jī)與自動(dòng)化研究所的 Zsolt Janko等人提出了一種基于圖像一致性的紋理映射方法。該方法首先需要人工選擇模型和圖像中的點(diǎn)對(duì),得到一個(gè)初始的三維模型和圖像的映射關(guān)系,然后利用兩幅圖像的一致性優(yōu)化映射關(guān)系,達(dá)到精確的紋理映射效果。
2005年,意大利比薩可視化計(jì)算實(shí)驗(yàn)室的Thomas Franken等人提出了一個(gè)最小用戶交互紋理映射方法。該方法在已知某些點(diǎn)的對(duì)應(yīng)關(guān)系的情況下,使用基于圖的方法推斷圖像與三維模型之間新的點(diǎn)的對(duì)應(yīng)關(guān)系,以減少用戶的操作;2009年,以色列技術(shù)學(xué)院 W^chay Tzur和Ayellet Talk提出了一個(gè)基于局部映射關(guān)系的紋理映射方法。該方法首先在用戶選定的每個(gè)特征點(diǎn)計(jì)算局部攝像機(jī)參數(shù),然后在每個(gè)特征點(diǎn)的局部區(qū)域根據(jù)透視投影計(jì)算二維紋理與三維模型的映射關(guān)系,最后檢測(cè)模型的可見區(qū)域并在模型的可見區(qū)域進(jìn)行紋理映射,該方法既避免了參數(shù)化方法在紋理映射中紋理變形的缺點(diǎn),也避免了攝影測(cè)量方法不能處理任意圖像的問題。
三維幾何模型表面紋理生成的目的是根據(jù)三維模型上已有的紋理信息來生成缺失的紋理信息,在現(xiàn)實(shí)生活中有廣泛的應(yīng)用。二維圖像上的紋理生成到目前為止已經(jīng)有了相當(dāng)?shù)陌l(fā)展,在圖像空洞填補(bǔ)方面有廣泛的應(yīng)用。對(duì)于三維幾何表面紋理生成,目前所做的工作較少。
2005年,微軟亞洲研究院的周昆等人提出了一個(gè)基于層次細(xì)節(jié)網(wǎng)格模型的紋理映射方法。對(duì)于三維模型上沒有紋理的區(qū)域,提出了三種三維幾何表面紋理生成的方法(1) 對(duì)于面積小且紋理簡(jiǎn)單的區(qū)域,使用泊松插值的方法自動(dòng)生成缺失區(qū)域的紋理;(2)對(duì)于紋理具有較顯著模式的區(qū)域,使用人工引導(dǎo)的方法生成缺失區(qū)域的紋理。首先人工指定紋理缺失區(qū)域中某些點(diǎn)的方向,然后使用基于徑向基函數(shù)的插值方法計(jì)算紋理缺失區(qū)域其它4點(diǎn)的方向,最后使用泊松插值的方法生成缺失區(qū)域的紋理;C3)對(duì)于紋理較復(fù)雜的區(qū)域,使用克隆的方法生成缺失區(qū)域的紋理。從任意圖像上人工選擇一塊紋理,經(jīng)過變形后,復(fù)制到目標(biāo)區(qū)域,生成缺失區(qū)域的紋理。自動(dòng)的方法只能生成簡(jiǎn)單的紋理,泊松插值的方法需要用戶參與指定紋理缺失區(qū)域的結(jié)構(gòu)信息,并且不能得到較好的效果,克隆的方法需要較多的人工參與。
紋理合成能基于小紋理生成視覺上相似的大紋理,是當(dāng)前計(jì)算機(jī)圖形學(xué)、計(jì)算機(jī)視覺和圖像處理領(lǐng)域的研究熱點(diǎn)之一。2001年,佐治亞理工學(xué)院計(jì)算機(jī)專業(yè)的Greg Turk 提出了一個(gè)在三維表面合成紋理的方法。該方法使用圖像金字塔和多層三維模型進(jìn)行紋理合成,首先創(chuàng)建一個(gè)點(diǎn)密度從低到高的多層三維模型,然后在三維模型表面計(jì)算一個(gè)向量場(chǎng),用于指示紋理合成的順序,將表面上的點(diǎn)排序。最后按順序訪問各個(gè)點(diǎn),通過在樣例中搜索與其鄰居顏色最接近的點(diǎn)來獲取各個(gè)點(diǎn)的顏色;2001年,斯坦福大學(xué)的Li-Yi Wei等人提出了一個(gè)在三維模型表面合成紋理的方法。已知一個(gè)矩形紋理和一個(gè)目標(biāo)模型,該方法首先對(duì)以三維模型上的每個(gè)點(diǎn)為中心的局部區(qū)域進(jìn)行參數(shù)化,并在參數(shù)化平面上建立以該點(diǎn)為中心的矩形區(qū)域。然后在樣例中尋找與該點(diǎn)具有相似鄰居的點(diǎn),樣例中點(diǎn)的顏色為三維模型上該點(diǎn)的顏色。
2009年,西蒙弗雷澤大學(xué)的Kai Xu等人提出了一個(gè)特征對(duì)齊的三維表面紋理合成方法。該方法遵循紋理要與三維模型上的顯著曲線相匹配和紋理上的主要特征要與三維模型上的顯著曲線相匹配的原則,首先計(jì)算三維模型上的顯著曲線,然后計(jì)算沿顯著曲線的平滑向量場(chǎng),最后采用基于樣例的紋理合成方法合成紋理,在紋理合成時(shí)確保紋理特征與三維模型上的特征相匹配。該方法合成的紋理不僅更加符合模型的表面幾何,而且具有更好的可視化效果。發(fā)明內(nèi)容
為了克服現(xiàn)有技術(shù)的不足,本發(fā)明的目的在于提出一種幾何特征弓I導(dǎo)的三維模型表面紋理空洞填補(bǔ)方法。
為完成發(fā)明目的,本發(fā)明采用的技術(shù)方案是
一種幾何特征引導(dǎo)的三維模型表面紋理空洞填補(bǔ)方法,包括以下步驟(1)讀入、 存儲(chǔ)與處理三維模型與紋理地圖的信息;( 基于紋理信息檢測(cè)與初始化三維模型表面已有的紋理結(jié)構(gòu)線;(3)在無先驗(yàn)知識(shí)的條件下,利用幾何特征引導(dǎo)三維模型表面缺失紋理結(jié)構(gòu)線的生成;(4)在先驗(yàn)知識(shí)的約束下,利用幾何特征引導(dǎo)三維模型表面缺失紋理結(jié)構(gòu)線的生成;( 構(gòu)建表示三維模型表面紋理信息的矩形紋理塊;(6)利用三維模型的幾何特征,匹配與空洞區(qū)域最相似的矩形紋理塊,并利用該矩形紋理塊填充空洞區(qū)域;(7)利用矩形紋理塊、紋理地圖及其映射關(guān)系,實(shí)現(xiàn)三維模型表面紋理空洞區(qū)域的紋理映射。
進(jìn)一步的,步驟(2)所述的基于紋理信息的三維模型表面結(jié)構(gòu)檢測(cè)與初始化包含以下步驟
(2. 1)基于坎尼邊緣檢測(cè)算法,實(shí)現(xiàn)紋理地圖的邊緣檢測(cè);
(2. 2)利用三維模型與紋理地圖之間的映射關(guān)系提取三維模型表面紋理空洞區(qū)域周圍已有的紋理結(jié)構(gòu)線;
(2. 3)對(duì)已有的紋理結(jié)構(gòu)線上的點(diǎn)進(jìn)行張量投票,獲取已有的紋理結(jié)構(gòu)線上各點(diǎn)的初始張量。
進(jìn)一步的,步驟(3)所述的無先驗(yàn)知識(shí)的三維模型表面缺失的紋理結(jié)構(gòu)線生成包含以下步驟
(3. 1)在三維模型表面結(jié)構(gòu)檢測(cè)與初始化基礎(chǔ)之上,利用紋理地圖的掩碼圖像獲取三維模型表面的紋理空洞區(qū)域;
(3. 2)根據(jù)三維模型表面已有紋理結(jié)構(gòu)的張量信息,對(duì)空洞區(qū)域點(diǎn)進(jìn)行稠密張量投票,獲取空洞區(qū)域點(diǎn)的張量信息;
(3. 3)在空洞區(qū)域中,迭代地選取顯著性極大值點(diǎn),并將其加入到缺失的紋理結(jié)構(gòu)線中,生成空洞區(qū)域中缺少的紋理結(jié)構(gòu)。
進(jìn)一步的,步驟(4)所述的基于先驗(yàn)知識(shí)的三維模型表面缺失的紋理結(jié)構(gòu)線生成包含以下步驟
(4. 1)在三維模型表面結(jié)構(gòu)檢測(cè)與初始化基礎(chǔ)之上,提取三維模型表面的脊線;
(4. 2)利用先驗(yàn)知識(shí)調(diào)整閾值篩選出適合的脊線;
(4. 3)利用先驗(yàn)知識(shí)計(jì)算選定脊線的兩條輔助結(jié)構(gòu)曲線;
(4. 4)基于張量投票方法,結(jié)合選定脊線及其兩條輔助結(jié)構(gòu)曲線,對(duì)空洞區(qū)域點(diǎn)進(jìn)行稠密張量投票,獲取空洞區(qū)域點(diǎn)的張量信息;同時(shí)利用極大值抑制,生成空洞區(qū)域中缺少的紋理結(jié)構(gòu)。
進(jìn)一步的,步驟(5)所述的矩形紋理塊構(gòu)建過程如下
(5. 1)在三維模型表面選取各個(gè)頂點(diǎn)的一鄰域三角面片,構(gòu)建矩形紋理塊的幾何結(jié)構(gòu);
(5. 2)根據(jù)三維模型和紋理地圖之間的映射關(guān)系,將紋理地圖中離散的紋理信息通過三角形之間的仿射變換,填充到矩形紋理塊中的相應(yīng)三角形中,構(gòu)建矩形紋理塊的紋理{曰息ο
進(jìn)一步的,步驟(6)所述的矩形紋理塊的匹配范圍受到紋理結(jié)構(gòu)線的約束,其具體匹配步驟如下
(6. 1)計(jì)算空洞區(qū)域邊界的矩形紋理塊與待選矩形紋理塊的區(qū)域面積之比,得到兩個(gè)矩形紋理塊之間的縮放比例;
(6. 2)以10度為間隔,旋轉(zhuǎn)待選矩形紋理塊,并計(jì)算旋轉(zhuǎn)后待選矩形紋理塊與空洞區(qū)域邊界的矩形紋理塊之間的紋理顏色差異;
(6. 3)選取具有最小紋理顏色差異的待選矩形紋理塊,并記錄相應(yīng)的旋轉(zhuǎn)角度與縮放比例。
進(jìn)一步的,步驟(7)所述的紋理映射過程中匹配的矩形紋理塊與空洞區(qū)域之間的映射關(guān)系,在矩形紋理塊的匹配過程中已經(jīng)確定;矩形紋理塊和紋理地圖之間的映射關(guān)系,在矩形紋理塊的構(gòu)建過程中已經(jīng)確定。
本發(fā)明技術(shù)方案的原理在于
在三維模型表面紋理結(jié)構(gòu)線生成過程中,包含了兩種算法在無先驗(yàn)知識(shí)條件下的幾何特征引導(dǎo)三維模型表面缺失紋理結(jié)構(gòu)線生成算法和基于先驗(yàn)知識(shí)約束下的幾何特征引導(dǎo)三維模型表面缺失紋理結(jié)構(gòu)線生成算法。無先驗(yàn)知識(shí)的三維模型表面缺失紋理結(jié)構(gòu)線生成算法的輸入為一個(gè)三維模型和保存有模型表面紋理信息的紋理地圖,首先根據(jù)三維模型表面的紋理信息與幾何特征,提取出紋理空洞區(qū)域周圍已有的紋理結(jié)構(gòu)線,然后基于張量投票算法,利用已有的紋理結(jié)構(gòu)線與三維模型表面的幾何特征構(gòu)建約束,生成紋理空洞區(qū)域缺少的紋理結(jié)構(gòu)線。無先驗(yàn)知識(shí)的三維模型表面缺失紋理結(jié)構(gòu)線生成算法能夠生成比較合理的三維模型表面紋理結(jié)構(gòu),但其不一定符合真實(shí)物體上的紋理結(jié)構(gòu)。故為了提高紋理填補(bǔ)的真實(shí)度,需要令生成的三維模型表面紋理結(jié)構(gòu)盡可能的符合真實(shí)物體,故本發(fā)明提出在基于先驗(yàn)知識(shí)的三維模型表面缺失紋理結(jié)構(gòu)線生成算法,在上述無先驗(yàn)知識(shí)的紋理結(jié)構(gòu)線生成算法基礎(chǔ)之上,首先通過分析真實(shí)物體紋理結(jié)構(gòu)與三維模型幾何特征的相關(guān)性,提取出符合客觀世界知識(shí)的幾何特征,作為先驗(yàn)知識(shí),然后以無先驗(yàn)知識(shí)紋理結(jié)構(gòu)線生成算法為基礎(chǔ),利用先驗(yàn)知識(shí)約束、引導(dǎo)缺失紋理結(jié)構(gòu)線的生成。
無先驗(yàn)知識(shí)的三維模型表面缺失紋理結(jié)構(gòu)線生成算法和基于先驗(yàn)知識(shí)的三維模型表面缺失紋理結(jié)構(gòu)線生成算法均能生成比較合理的紋理結(jié)構(gòu),所生成的紋理結(jié)構(gòu)能夠很好的反映三維模型的幾何特性和表面紋理特性,但三維模型表面紋理空洞區(qū)域的紋理仍然是未知的,還需要生成相應(yīng)的紋理,保持三維模型表面紋理的完整性。本發(fā)明提出一種三維模型表面紋理生成和映射算法,以生成的紋理結(jié)構(gòu)線為基礎(chǔ),通過對(duì)三維模型幾何特征進(jìn)行分析,引導(dǎo)三維模型表面紋理的生成與映射。算法包含三方面的內(nèi)容構(gòu)建表示三維模型表面紋理信息的矩形紋理塊;利用三維模型的幾何特征,匹配與空洞區(qū)域最相似的矩形紋理塊,并利用該矩形紋理塊填充空洞區(qū)域;利用矩形紋理塊、紋理地圖及其映射關(guān)系,實(shí)現(xiàn)三維模型表面紋理空洞區(qū)域的紋理映射。
在構(gòu)建三維模型表面非空洞區(qū)域矩形紋理塊的過程中,本發(fā)明通過對(duì)三維模型表面的幾何特征進(jìn)行分析,利用紋理地圖與三維模型的映射關(guān)系,直接在三維模型表面采集紋理區(qū)域來構(gòu)建矩形紋理塊。本發(fā)明采用局部參數(shù)化思想,根據(jù)幾何特征引導(dǎo),將一個(gè)三維點(diǎn)的一鄰域紋理區(qū)域映射到一個(gè)二維的矩形紋理塊中,使用該矩形紋理塊保存三維點(diǎn)的一鄰域紋理區(qū)域的紋理信息,并用其進(jìn)行待選紋理塊與空洞區(qū)域紋理塊間的匹配與空洞區(qū)域紋理塊的填充。由于一個(gè)三維點(diǎn)的紋理區(qū)域一般都很小,該區(qū)域的曲面曲率變化也非常的小,可近似為一個(gè)平面,所以將其參數(shù)化到二維平面并不會(huì)引入非常大的變形和失真,而且通過紋理地圖構(gòu)建矩形紋理非常的方便,并不需要太大的計(jì)算量,并且使用二維矩形紋理塊可以大大簡(jiǎn)化紋理匹配的復(fù)雜度,極大的提高紋理生成的速度。
矩形紋理塊匹配的過程是受生成的紋理結(jié)構(gòu)線約束的,其匹配算法的輸入為三維模型、紋理地圖及兩者之間的對(duì)應(yīng)關(guān)系和三維模型表面上的點(diǎn),輸出為與該點(diǎn)的紋理信息最匹配的點(diǎn)及其旋轉(zhuǎn)角度和縮放尺度。算法的思想是首先根據(jù)紋理結(jié)構(gòu)線的位置和點(diǎn)的位置設(shè)置搜索區(qū)域,然后對(duì)于搜索區(qū)域中的每個(gè)點(diǎn),計(jì)算該點(diǎn)和目標(biāo)點(diǎn)紋理塊之間的差異, 紋理差異最小的點(diǎn)就是最匹配的點(diǎn)。在計(jì)算兩個(gè)三維點(diǎn)矩形紋理塊之間紋理差異時(shí),考慮到三維模型表面的幾何特征,需要對(duì)點(diǎn)的矩形紋理塊進(jìn)行縮放和旋轉(zhuǎn),本發(fā)明以10度為單位對(duì)矩形紋理塊進(jìn)行旋轉(zhuǎn)。矩形紋理塊的填充過程包括兩部分分別是三角形的線性掃描與顏色插值。
利用矩形紋理塊、紋理地圖及其映射關(guān)系,實(shí)現(xiàn)三維模型表面紋理空洞區(qū)域的紋理映射的過程中,匹配的矩形紋理塊與空洞區(qū)域之間的映射關(guān)系,在矩形紋理塊的匹配過程中已經(jīng)確定;矩形紋理塊和紋理地圖之間的映射關(guān)系,在矩形紋理塊的構(gòu)建過程中已經(jīng)確定。
本發(fā)明與現(xiàn)有的技術(shù)相比,其有益的特點(diǎn)是1、本發(fā)明首先生成紋理空洞區(qū)域的紋理結(jié)構(gòu)線,然后利用紋理結(jié)構(gòu)線約束紋理生成,生成紋理空洞區(qū)域的紋理信息,這種處理流程在很大程度上保持了三維模型表面的紋理結(jié)構(gòu)與幾何特征,使得生成的紋理更加合理,填補(bǔ)效果更加逼真;2、本發(fā)明提出的基于先驗(yàn)知識(shí)的幾何特征引導(dǎo)三維模型表面結(jié)構(gòu)線生成算法能夠根據(jù)客觀世界知識(shí)提取出相應(yīng)的幾何特征,作為先驗(yàn)知識(shí)引導(dǎo)缺失紋理結(jié)構(gòu)線的生成,使得生成的紋理結(jié)構(gòu)與真實(shí)物體表面的紋理結(jié)構(gòu)更加相似,填補(bǔ)效果更加逼直ο


圖1是本發(fā)明幾何特征引導(dǎo)的三維模型表面紋理空洞填補(bǔ)方法的主流程圖2是本發(fā)明三維模型表面點(diǎn)的紋理區(qū)域組成示意圖3是本發(fā)明三維模型表面點(diǎn)的矩形紋理塊構(gòu)建過程示意圖4是本發(fā)明幾何特征引導(dǎo)紋理地圖中兩個(gè)三角形拼接的示意圖5是本發(fā)明基于三維模型幾何特征的矩形紋理塊匹配過程示意圖6是本發(fā)明基于矩形紋理塊、紋理地圖及其映射關(guān)系實(shí)現(xiàn)紋理映射原理圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
進(jìn)行描述,以便更好地理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當(dāng)采用已知功能和設(shè)計(jì)的詳細(xì)描述也許會(huì)淡化本發(fā)明的主要內(nèi)容時(shí),這些描述在這里將被忽略。
參閱圖1本發(fā)明的主流程圖,由于本發(fā)明中包含兩種紋理結(jié)構(gòu)線生成算法,所以主流程圖中包含兩個(gè)紋理生成和映射的過程。本發(fā)明的幾何特征引導(dǎo)的三維模型表面紋理空洞填補(bǔ)方法主要包括如下步驟讀入、存儲(chǔ)與處理三維模型與紋理地圖等信息;基于紋理信息檢測(cè)與初始化三維模型表面已有的紋理結(jié)構(gòu)線;在無先驗(yàn)知識(shí)的條件下,利用幾何特征引導(dǎo)三維模型表面缺失紋理結(jié)構(gòu)線的生成;在先驗(yàn)知識(shí)的約束下,利用幾何特征引導(dǎo)三維模型表面缺失紋理結(jié)構(gòu)線的生成;構(gòu)建表示三維模型表面紋理信息的矩形紋理塊;利用三維模型的幾何特征,匹配與空洞區(qū)域最相似的矩形紋理塊,并利用該矩形紋理塊填充空洞區(qū)域;利用矩形紋理塊、紋理地圖及其映射關(guān)系,實(shí)現(xiàn)三維模型表面紋理空洞區(qū)域的紋理映射。
無先驗(yàn)知識(shí)的幾何特征引導(dǎo)三維模型表面結(jié)構(gòu)線生成算法首先需要提取三維幾何模型表面已有的紋理結(jié)構(gòu)線,本發(fā)明借助紋理地圖提取三維幾何模型表面紋理結(jié)構(gòu)線 首先使用坎尼邊緣檢測(cè)算法對(duì)紋理地圖做邊緣檢測(cè),然后借助三維模型和紋理地圖之間的映射關(guān)系直接在三維模型上提取紋理空洞區(qū)域周圍已有的紋理結(jié)構(gòu)線。紋理結(jié)構(gòu)線提取算法的思想是首先根據(jù)三維模型的幾何特征,在紋理地圖中檢測(cè)紋理結(jié)構(gòu)線;然后采樣三維模型表面紋理空洞區(qū)域周圍的點(diǎn),根據(jù)三維模型與紋理地圖的映射關(guān)系,判斷該點(diǎn)在紋理地圖中對(duì)應(yīng)的點(diǎn)是否在已檢測(cè)的紋理結(jié)構(gòu)線上,如果在結(jié)構(gòu)線上,則將該點(diǎn)加入到三維模型表面紋理結(jié)構(gòu)線中;最后判斷已檢測(cè)的紋理結(jié)構(gòu)線是否與紋理空洞區(qū)域相接,只保留與其相接的紋理結(jié)構(gòu)線,這些剩余的紋理結(jié)構(gòu)線就是所要求的三維模型表面已有的紋理結(jié)構(gòu)線。
三維模型表面紋理結(jié)構(gòu)線既包含了三維模型的幾何特征,也包含了三維模型表面紋理的結(jié)構(gòu)信息,由于張量可以很好的描述三維模型表面紋理的結(jié)構(gòu)信息,并且張量投票過程中也考慮到了三維模型表面的幾何特征,根據(jù)三維模型表面已有的紋理結(jié)構(gòu)線和三維模型表面的幾何特征,張量投票算法可以生成比較合理的缺失的紋理結(jié)構(gòu)線,所以本發(fā)明利用已有的紋理結(jié)構(gòu)線約束張量投票生成空洞區(qū)域缺失的紋理結(jié)構(gòu)線。
由于初始狀態(tài)下,所提取的三維模型表面紋理結(jié)構(gòu)線上各個(gè)點(diǎn)的切線方向未知, 所以首先對(duì)每條紋理結(jié)構(gòu)線上各點(diǎn)相互投票(稀疏張量投票),可獲得各個(gè)點(diǎn)在紋理結(jié)構(gòu)線上的切線方向,然后結(jié)合三維模型表面已有紋理區(qū)域的結(jié)構(gòu)信息和三維模型表面的幾何特征采用張量投票的方法生成三維模型表面紋理空洞區(qū)域缺失的紋理結(jié)構(gòu)。算法的思想是首先對(duì)已有的紋理結(jié)構(gòu)線進(jìn)行稀疏張量投票,計(jì)算紋理結(jié)構(gòu)線上每個(gè)點(diǎn)的張量信息; 然后選擇一條紋理結(jié)構(gòu)線,使用其張量信息對(duì)紋理空洞區(qū)域中的點(diǎn)進(jìn)行投票,并計(jì)算顯著性極大值點(diǎn),將其加入這條紋理結(jié)構(gòu)線與生成的缺失紋理結(jié)構(gòu)線中,并更新已有紋理結(jié)構(gòu)線的張量信息;最后判斷這條結(jié)構(gòu)線是否可以與其它結(jié)構(gòu)線融合,其中閾值通過計(jì)算三維模型上所有三角面片的邊長(zhǎng)平均值得到,如果可以融合,則將它們從結(jié)構(gòu)線中刪除并輸出結(jié)果,依此類推,直到處理完所有的紋理結(jié)構(gòu)線。
由于張量投票所計(jì)算的張量均為對(duì)稱張量,對(duì)帶符號(hào)的方向不敏感,不能用于推斷內(nèi)部點(diǎn)和端點(diǎn),而非對(duì)稱張量對(duì)接受投票的方向敏感,可用于判斷邊界屬性,所以使用非對(duì)稱張量信息計(jì)算極大值點(diǎn)。極大值點(diǎn)的計(jì)算過程為首先根據(jù)張量投票的結(jié)果計(jì)算非對(duì)稱的張量,然后選取非對(duì)稱張量中置信度最大的10個(gè)頂點(diǎn),最后計(jì)算這些頂點(diǎn)的切線方向與目標(biāo)紋理結(jié)構(gòu)線中各個(gè)頂點(diǎn)的平均切線方向的差值,并選擇差值最小的頂點(diǎn)為極大值點(diǎn)O
三維模型表面的紋理結(jié)構(gòu)線是由一些離散的點(diǎn)構(gòu)成的,在生成紋理結(jié)構(gòu)線的過程中需要計(jì)算兩條結(jié)構(gòu)線之間的距離,所以首先定義一個(gè)頂點(diǎn)ν到紋理結(jié)構(gòu)線L的距離D(v, L),其中D(v,p)指點(diǎn)ν到點(diǎn)ρ的測(cè)地線距離。紋理結(jié)構(gòu)線Li*!^之間的距離D(LpLj)的定義如下公式所示。
D (v,L) = min D(v,p)
D (L1 ,Lj) = min D (ν, Lj)
基于先驗(yàn)知識(shí)的幾何特征引導(dǎo)三維模型表面結(jié)構(gòu)線生成算法首先需要根據(jù)客觀事實(shí)進(jìn)行人工交互預(yù)處理操作,提取一些先驗(yàn)知識(shí),例如針對(duì)斑馬腹部紋理缺失區(qū)域的紋理結(jié)構(gòu)生成問題,可以提取斑馬腹部的豎型、黑色條紋與三維模型的凸脊線對(duì)應(yīng);調(diào)整黑色條紋的寬窄以及斑馬腹部其它方向的條紋應(yīng)該與正中間的黑色條紋相連等先驗(yàn)知識(shí)。然后以無先驗(yàn)知識(shí)的幾何特征引導(dǎo)三維模型表面結(jié)構(gòu)線生成算法為基礎(chǔ)使用先驗(yàn)知識(shí)引導(dǎo)紋理結(jié)構(gòu)的生成。針對(duì)斑馬腹部紋理缺失區(qū)域的紋理結(jié)構(gòu)生成問題,首先需要精確的提取三維模型表面的脊線,然后以該脊線作為先驗(yàn)知識(shí)之一引導(dǎo)張量投票方法生成紋理結(jié)構(gòu)。具體算法的思想是首先根據(jù)脊線計(jì)算得到兩條輔助的曲線,其中參數(shù)的選取與設(shè)置是基于先驗(yàn)知識(shí)的;然后進(jìn)行稀疏張量投票,計(jì)算紋理結(jié)構(gòu)線和輔助曲線上每個(gè)點(diǎn)的張量信息,選擇一條紋理結(jié)構(gòu)線和輔助的曲線,使用它們的張量信息對(duì)紋理空洞區(qū)域中的點(diǎn)進(jìn)行投票, 并計(jì)算極大值點(diǎn),將其加入這條紋理結(jié)構(gòu)線與生成的缺失紋理結(jié)構(gòu)線中并更新已有紋理結(jié)構(gòu)線的張量信息;最后判斷這條結(jié)構(gòu)線是否可以與輔助的曲線融合,如果可以融合,則刪除該紋理結(jié)構(gòu)線并輸出結(jié)果,依此類推,直到處理完所有的紋理結(jié)構(gòu)線。根據(jù)所提取的脊線計(jì)算兩條輔助的曲線,其主要作用是使用兩條輔助的曲線指示斑馬腹部黑色條紋的區(qū)域,并且輔助紋理結(jié)構(gòu)的生成,根據(jù)客觀世界事實(shí),認(rèn)定斑馬腹部其它方向的條紋應(yīng)該與正中間的黑色條紋相連,作為先驗(yàn)知識(shí),在實(shí)際的計(jì)算過程中紋理結(jié)構(gòu)線是與輔助的曲線相連,而不是與所提取的脊線相連。
在張量投票過程中,不僅需要使用已有的紋理結(jié)構(gòu)線對(duì)紋理空洞區(qū)域中的點(diǎn)進(jìn)行投票,還需要使用輔助曲線對(duì)紋理空洞區(qū)域中的頂點(diǎn)進(jìn)行投票,因?yàn)橐呀?jīng)認(rèn)定紋理結(jié)構(gòu)線與輔助曲線相連。極大值點(diǎn)的計(jì)算過程與無先驗(yàn)知識(shí)三維幾何模型表面紋理結(jié)構(gòu)線生成算法相似,均是選取非對(duì)稱張量中置信度最大的10個(gè)頂點(diǎn),但是計(jì)算方向差值有所不同,該方法計(jì)算這些頂點(diǎn)的切線方向與輔助曲線中各個(gè)頂點(diǎn)的平均切線方向的差值,并選擇差值最大的點(diǎn)為極大值點(diǎn)。因?yàn)樗械慕Y(jié)構(gòu)線均要與輔助的曲線相連,所以不需要將兩條結(jié)構(gòu)線融合。
在生成三維模型表面紋理空洞區(qū)域的紋理結(jié)構(gòu)線后,需要根據(jù)紋理結(jié)構(gòu)線生成紋理空洞區(qū)域的紋理。在生成紋理的過程中,首先需要構(gòu)建記錄各個(gè)頂點(diǎn)區(qū)域紋理信息的矩形紋理塊,由于三維模型上頂點(diǎn)分布不規(guī)則(點(diǎn)分布的密集或疏散),頂點(diǎn)之間的距離和角度各不相同以及三維模型表面各個(gè)部分的曲率各不相同,這些因素都會(huì)對(duì)紋理生成造成影響,所以在紋理生成過程中既要考慮所生成的紋理與周圍已有紋理的相融性,又要考慮三維模型表面的幾何特性。由于三維模型表面大部分區(qū)域?yàn)榍?,而曲面在參?shù)化過程中存在變形和失真,所以不能簡(jiǎn)單的將三維模型參數(shù)化到二維平面,再按照?qǐng)D像紋理生成的方法生成紋理。
經(jīng)過紋理映射后,三維模型的紋理信息均保存在紋理地圖中,由于紋理地圖是三維模型各個(gè)區(qū)域參數(shù)化的結(jié)果,并且在生成紋理地圖的過程中對(duì)三維模型進(jìn)行了分割,在三維模型上相鄰的區(qū)域,在紋理地圖上可能不相鄰,所以不能直接使用紋理地圖生成紋理。
為了使生成的紋理更加合理有效,在生成三維模型表面紋理信息的過程中要考慮三維模型表面的幾何特征,所以本發(fā)明直接在三維模型表面采集紋理區(qū)域來生成三維模型表面的紋理。由于三維模型大多以三角網(wǎng)格的形式存在,所以本發(fā)明定義一個(gè)頂點(diǎn)的紋理區(qū)域?yàn)樵擖c(diǎn)一鄰域點(diǎn)與其組成的所有三角形構(gòu)成的區(qū)域,參閱圖2本發(fā)明三維模型表面點(diǎn)的紋理區(qū)域組成示意圖,中心的點(diǎn)為三維模型表面的頂點(diǎn),粗線框所包圍的區(qū)域?yàn)檫@個(gè)頂點(diǎn)的紋理區(qū)域。
參閱圖3本發(fā)明三維模型表面點(diǎn)的矩形紋理塊構(gòu)建過程示意圖,由于三維模型表面的紋理信息均保存在紋理地圖中,所以上述定義的紋理區(qū)域并沒有直接包含紋理信息, 并且由于頂點(diǎn)的紋理區(qū)域?yàn)橐粋€(gè)曲面,不利于紋理區(qū)域之間紋理的比較,所以本發(fā)明采用局部參數(shù)化思想,將一個(gè)頂點(diǎn)的紋理區(qū)域映射到一個(gè)二維的矩形紋理塊中,使用該矩形紋理塊保存頂點(diǎn)紋理區(qū)域的紋理信息,并用其進(jìn)行紋理區(qū)域間紋理的比較。由于一個(gè)頂點(diǎn)的紋理區(qū)域一般都很小,該區(qū)域的曲面曲率也非常的小,可近似為一個(gè)平面,所以將其參數(shù)化到二維平面并不會(huì)引入非常大的變形和失真,而且通過紋理地圖構(gòu)建矩形紋理非常的方便,并不需要太大的計(jì)算量,并且使用二維矩形紋理塊可以大大簡(jiǎn)化紋理區(qū)域間紋理匹配的復(fù)雜度,極大的提高紋理生成的速度。紋理矩形塊的構(gòu)建過程如下所述對(duì)于三維模型表這些區(qū)域變形后融入矩形圖像塊中。具體算法的思想是從頂點(diǎn)所在的-按順時(shí)針順序依次處理該點(diǎn)所在的三角面片,首先計(jì)算J面上的一個(gè)頂點(diǎn),其在三維模型上的紋理區(qū)域?qū)?yīng)到紋理地圖中可能是多個(gè)離散的區(qū)域, 將這些離散的區(qū)域變形后放入一個(gè)矩形塊中,則該矩形塊就是該頂點(diǎn)的紋理區(qū)域?qū)?yīng)的矩形紋理塊。其中,矩形紋理塊的中間灰度區(qū)域?yàn)橛行^(qū)域,包含了頂點(diǎn)的紋理信息,四周無色區(qū)域?yàn)闊o效區(qū)域不參與運(yùn)算。矩形紋理塊只包含了頂點(diǎn)紋理區(qū)域的紋理信息,并沒有包含幾何信息,所以在紋理區(qū)域間紋理比較的過程中,還需要考慮頂點(diǎn)的幾何特征。
矩形紋理塊的構(gòu)建過程主要是找頂點(diǎn)的紋理區(qū)域在紋理地圖中對(duì)應(yīng)的區(qū)域,并將-個(gè)三角面片開始,角面片在紋理地圖中的紋理坐標(biāo);然后計(jì)算其在矩形紋理塊中的紋理坐標(biāo),對(duì)于第一個(gè)三角面片通過平移可以得到其在矩形紋理塊中的紋理坐標(biāo),其它的三角面片均需要根據(jù)紋理地圖中相鄰兩個(gè)三角面片公共邊的夾角和長(zhǎng)度比值進(jìn)行旋轉(zhuǎn)和縮放得到其在矩形紋理塊中的紋理坐標(biāo);最后針對(duì)每個(gè)三角面片,根據(jù)其各個(gè)頂點(diǎn)在紋理地圖中的紋理坐標(biāo)和在矩形紋理塊中的紋理坐標(biāo)之間的仿射關(guān)系,將三角面片的紋理信息填充到矩形紋理塊中。
三維模型上相鄰的兩個(gè)三角形,其在紋理地圖中對(duì)應(yīng)的三角形可能不相鄰,并且可能差異較大,在構(gòu)建矩形紋理塊時(shí),需要將紋理地圖中離散的兩個(gè)三角形根據(jù)公共邊合并在一起,需要以其中一個(gè)三角形為基礎(chǔ),對(duì)另一個(gè)三角形進(jìn)行旋轉(zhuǎn)和縮放變換,參閱圖4本發(fā)明幾何特征引導(dǎo)紋理地圖中兩個(gè)三角形拼接的示意圖,紋理地圖中Δ ABC和 Ak' B' D在三維模型上對(duì)應(yīng)的是兩個(gè)相鄰的三角形,它們的公共邊對(duì)應(yīng)于紋理地圖中 Δ ABC的邊AB和Δ A' B' D的邊A' B',但是在紋理地圖中這兩個(gè)三角形是不相鄰的,并且對(duì)應(yīng)的公共邊的長(zhǎng)度也不相同,以點(diǎn)A為中心,按順時(shí)針的順序,Δ ABC排在前面,所以以 AABC為基礎(chǔ),對(duì)ΔΑ' B' D進(jìn)行旋轉(zhuǎn)和縮放。首先計(jì)算邊AB和邊A' B'的夾角θ。然后對(duì)Δ A' B' D平移,將點(diǎn)A'平移到原點(diǎn)處,對(duì)平移后的Δ A' B' D的三個(gè)頂點(diǎn)按照夾角θ進(jìn)行旋轉(zhuǎn),并按照邊AB和邊A' B'長(zhǎng)度的比值進(jìn)行縮放,最后對(duì)變換后的ΔΑ' B' D 平移,將點(diǎn)A'平移到其初始位置,整個(gè)計(jì)算過程如下公式所示,其中Upyi)為點(diǎn)、K1的坐標(biāo)。
權(quán)利要求
1.一種幾何特征引導(dǎo)的三維模型表面紋理空洞填補(bǔ)方法,其特征在于包含以下步驟(1)讀入、存儲(chǔ)與處理三維模型與紋理地圖的信息;(2)基于紋理信息檢測(cè)與初始化三維模型表面已有的紋理結(jié)構(gòu)線;(3)在無先驗(yàn)知識(shí)條件下,利用幾何特征,引導(dǎo)三維模型表面缺失紋理結(jié)構(gòu)線的生成;(4)在先驗(yàn)知識(shí)的約束下,利用幾何特征,引導(dǎo)三維模型表面缺失紋理結(jié)構(gòu)線的生成;(5)構(gòu)建表示三維模型表面紋理信息的矩形紋理塊;(6)利用三維模型的幾何特征,匹配與空洞區(qū)域最相似的矩形紋理塊,并利用該矩形紋理塊填充空洞區(qū)域;(7)利用矩形紋理塊、紋理地圖及其映射關(guān)系,實(shí)現(xiàn)三維模型表面紋理空洞區(qū)域的紋理映射。
2.根據(jù)權(quán)利要求1所述的一種幾何特征引導(dǎo)的三維模型表面紋理空洞填補(bǔ)方法,其特征在于步驟(2)所述的基于紋理信息的三維模型表面結(jié)構(gòu)檢測(cè)與初始化包含以下步驟(2. 1)基于坎尼邊緣檢測(cè)算法,實(shí)現(xiàn)紋理地圖的邊緣檢測(cè);(2. 2)利用三維模型與紋理地圖之間的映射關(guān)系提取三維模型表面紋理空洞區(qū)域周圍已有的紋理結(jié)構(gòu)線;(2. 3)對(duì)已有的紋理結(jié)構(gòu)線上的點(diǎn)進(jìn)行張量投票,獲取已有的紋理結(jié)構(gòu)線上各點(diǎn)的初始張量。
3.根據(jù)權(quán)利要求1所述的一種幾何特征引導(dǎo)的三維模型表面紋理空洞填補(bǔ)方法,其特征在于步驟(3)所述的無先驗(yàn)知識(shí)的三維模型表面缺失的紋理結(jié)構(gòu)線生成包含以下步驟(3. 1)在三維模型表面結(jié)構(gòu)檢測(cè)與初始化基礎(chǔ)之上,利用紋理地圖的掩碼圖像獲取三維模型表面的紋理空洞區(qū)域;(3. 2)根據(jù)三維模型表面已有紋理結(jié)構(gòu)的張量信息,對(duì)空洞區(qū)域點(diǎn)進(jìn)行稠密張量投票, 獲取空洞區(qū)域點(diǎn)的張量信息;(3. 3)在空洞區(qū)域中,迭代地選取顯著性極大值點(diǎn),并將其加入到缺失的紋理結(jié)構(gòu)線中,生成空洞區(qū)域中缺少的紋理結(jié)構(gòu)。
4.根據(jù)權(quán)利要求1所述的一種幾何特征引導(dǎo)的三維模型表面紋理空洞填補(bǔ)方法,其特征在于步驟(4)所述的基于先驗(yàn)知識(shí)的三維模型表面缺失的紋理結(jié)構(gòu)線生成包含以下步驟(4. 1)在三維模型表面結(jié)構(gòu)檢測(cè)與初始化基礎(chǔ)之上,提取三維模型表面的脊線;(4. 2)利用先驗(yàn)知識(shí)調(diào)整閾值篩選出適合的脊線;(4. 3)利用先驗(yàn)知識(shí)計(jì)算選定脊線的兩條輔助結(jié)構(gòu)曲線;(4. 4)基于張量投票方法,結(jié)合選定脊線及其兩條輔助結(jié)構(gòu)曲線,對(duì)空洞區(qū)域點(diǎn)進(jìn)行稠密張量投票,獲取空洞區(qū)域點(diǎn)的張量信息;同時(shí)利用極大值抑制,生成空洞區(qū)域中缺少的紋理結(jié)構(gòu)。
5.根據(jù)權(quán)利要求1所述的一種幾何特征引導(dǎo)的三維模型表面紋理空洞填補(bǔ)方法,其特征在于步驟(5)所述的矩形紋理塊構(gòu)建過程如下(5. 1)在三維模型表面選取各個(gè)頂點(diǎn)的一鄰域三角面片,構(gòu)建矩形紋理塊的幾何結(jié)構(gòu);(5. 2)根據(jù)三維模型和紋理地圖之間的映射關(guān)系,將紋理地圖中離散的紋理信息通過三角形之間的仿射變換,填充到矩形紋理塊中的相應(yīng)三角形中,構(gòu)建矩形紋理塊的紋理信肩、ο
6.根據(jù)權(quán)利要求1所述的一種幾何特征引導(dǎo)的三維模型表面紋理空洞填補(bǔ)方法,其特征在于步驟(6)所述的矩形紋理塊的匹配范圍受到紋理結(jié)構(gòu)線的約束,其具體匹配步驟如下(6. 1)計(jì)算空洞區(qū)域邊界的矩形紋理塊與待選矩形紋理塊的區(qū)域面積之比,得到兩個(gè)矩形紋理塊之間的縮放比例;(6.2)以10度為間隔,旋轉(zhuǎn)待選矩形紋理塊,并計(jì)算旋轉(zhuǎn)后待選矩形紋理塊與空洞區(qū)域邊界的矩形紋理塊之間的紋理顏色差異;(6. 3)選取具有最小紋理顏色差異的待選矩形紋理塊,并記錄相應(yīng)的旋轉(zhuǎn)角度與縮放比例。
7.根據(jù)權(quán)利要求1所述的一種幾何特征引導(dǎo)的三維模型表面紋理空洞填補(bǔ)方法,其特征在于步驟(7)所述的紋理映射過程中匹配的矩形紋理塊與空洞區(qū)域之間的映射關(guān)系, 在矩形紋理塊的匹配過程中已經(jīng)確定;矩形紋理塊和紋理地圖之間的映射關(guān)系,在矩形紋理塊的構(gòu)建過程中已經(jīng)確定。
全文摘要
本發(fā)明提供一種幾何特征引導(dǎo)的三維模型表面紋理空洞填補(bǔ)方法,該方法包括讀入、存儲(chǔ)與處理三維模型與紋理地圖的信息;基于紋理信息檢測(cè)與初始化三維模型表面已有的紋理結(jié)構(gòu)線;在無先驗(yàn)知識(shí)的條件下,利用幾何特征引導(dǎo)三維模型表面缺失紋理結(jié)構(gòu)線的生成;在先驗(yàn)知識(shí)的約束下,利用幾何特征引導(dǎo)三維模型表面缺失紋理結(jié)構(gòu)線的生成;構(gòu)建表示三維模型表面紋理信息的矩形紋理塊;利用三維模型的幾何特征,匹配與空洞區(qū)域最相似的矩形紋理塊,并利用該矩形紋理塊填充空洞區(qū)域;利用矩形紋理塊、紋理地圖及其映射關(guān)系,實(shí)現(xiàn)三維模型表面紋理空洞區(qū)域的紋理映射。本發(fā)明紋理生成合理,填補(bǔ)效果逼真,保持了三維模型表面紋理的完整性。
文檔編號(hào)G06T17/00GK102521869SQ20111030114
公開日2012年6月27日 申請(qǐng)日期2011年9月30日 優(yōu)先權(quán)日2011年9月30日
發(fā)明者劉祎理, 趙沁平, 郭侃, 陳小武 申請(qǐng)人:北京航空航天大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1