本發(fā)明涉及本發(fā)明屬于計(jì)算機(jī)視覺技術(shù)領(lǐng)域,尤其涉及一種基于三維模型的紋理映射的方法和裝置。
背景技術(shù):
現(xiàn)實(shí)世界的三維模型通常無法用傳統(tǒng)的規(guī)則多邊形、多面體或球面進(jìn)行表示,或者說無法用規(guī)則的多面體或球形精確的逼近曲面,而自由曲面具有不規(guī)則的形體(b樣條曲面、隱式曲面和細(xì)分曲面等),能夠?qū)崿F(xiàn)任意曲面的表達(dá)。如何實(shí)現(xiàn)自由曲面的重建以及自由曲面的映射近年引起很多研究專家和學(xué)者的關(guān)注和研究,可以說,實(shí)現(xiàn)復(fù)雜結(jié)構(gòu)的自由曲面表示以及自由曲面映射是一項(xiàng)十分重要且具有很大挑戰(zhàn)的研究內(nèi)容,具有十分重要的研究意義和應(yīng)用價(jià)值。
現(xiàn)有的紋理映射方法中,是通過將采集紋理圖片的相機(jī)固定在三維模型數(shù)據(jù)采集系統(tǒng)上,通過系統(tǒng)標(biāo)定實(shí)現(xiàn)紋理圖片和三維模型數(shù)據(jù)的同時(shí)采集,但在采集結(jié)構(gòu)復(fù)雜的三維模型以得到自由曲面目標(biāo)物體的數(shù)據(jù)時(shí),由于紋理相機(jī)固定在三維模型數(shù)據(jù)采集系統(tǒng)上,而導(dǎo)致三維模型數(shù)據(jù)采集系統(tǒng)無法采集到完整的數(shù)據(jù),使得根據(jù)所采集數(shù)據(jù)將紋理圖片映射到三維模型所生成的仿真三維模型的精確度大大降低,無法實(shí)現(xiàn)建立精準(zhǔn)的仿真三維模型。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例提供了一種基于三維模型的紋理映射方法和裝置,通過以解決現(xiàn)有紋理映射方法中因紋理圖片不獨(dú)立于三維模型數(shù)據(jù)采集系統(tǒng),而導(dǎo)致不能精準(zhǔn)地生成與復(fù)雜的三維模型相應(yīng)的仿真三維模型的問題。
第一方面,本發(fā)明實(shí)施例提供了一種基于三維模型的紋理映射方法,所述方法包括:
獲取所述三維模型的點(diǎn)云數(shù)據(jù),識別并刪除所述點(diǎn)云數(shù)據(jù)中散亂的點(diǎn)數(shù)據(jù),建立三維自由曲面初始結(jié)構(gòu);
根據(jù)物像關(guān)系或光線映射關(guān)系交互選取紋理圖片和所述三維自由曲面初始結(jié)構(gòu)對應(yīng)的特征點(diǎn),得到預(yù)設(shè)數(shù)量的特征點(diǎn)對
對所述預(yù)設(shè)數(shù)量的特征點(diǎn)對
構(gòu)建變換的誤差距離函數(shù)
將所述自由曲面映射初始值作為所述誤差距離函數(shù)中p的初值,通過列文伯格-馬夸爾特算法和預(yù)設(shè)的迭代終止閾值或迭代次數(shù),對所述誤差距離函數(shù)進(jìn)行迭代計(jì)算得到所述三維模型的自由曲面映射最終值;
根據(jù)所述自由曲面映射最終值將所述紋理圖片映射至所述三維自由曲面初始結(jié)構(gòu),生成仿真三維模型。
第二方面,本發(fā)明實(shí)施例提供了一種基于三維模型的紋理映射裝置,所述裝置包括三維自由曲面初始結(jié)構(gòu)建立單元、特征點(diǎn)對選取單元、特征點(diǎn)對分解單元、誤差距離函數(shù)構(gòu)建單元、自由曲面映射最終值計(jì)算單元和紋理映射處理單元。
其中,三維自由曲面初始結(jié)構(gòu)建立單元,用于獲取所述三維模型的點(diǎn)云數(shù)據(jù),識別并刪除所述點(diǎn)云數(shù)據(jù)中散亂的點(diǎn)數(shù)據(jù),建立三維自由曲面初始結(jié)構(gòu);
特征點(diǎn)對選取單元,用于根據(jù)物像關(guān)系或光線映射關(guān)系交互選取紋理圖片和所述三維自由曲面初始結(jié)構(gòu)對應(yīng)的特征點(diǎn),得到預(yù)設(shè)數(shù)量的特征點(diǎn)對
特征點(diǎn)對分解單元,用于對所述預(yù)設(shè)數(shù)量的特征點(diǎn)對
誤差距離函數(shù)構(gòu)建單元,用于構(gòu)建變換的誤差距離函數(shù)
自由曲面映射最終值計(jì)算單元,用于將所述自由曲面映射初始值作為所述誤差距離函數(shù)中p的初值,通過列文伯格-馬夸爾特算法和預(yù)設(shè)的迭代終止閾值或迭代次數(shù),對所述誤差距離函數(shù)進(jìn)行迭代計(jì)算得到所述三維模型的自由曲面映射最終值;
紋理映射處理單元,用于根據(jù)所述自由曲面映射最終值將所述紋理圖片映射至所述三維自由曲面初始結(jié)構(gòu),生成仿真三維模型。
在本發(fā)明實(shí)施例中,紋理映射裝置通過同時(shí)選取紋理圖片和三維模型的特征點(diǎn),使得通過對該特征點(diǎn)對進(jìn)行奇異值分解所得到的自由曲面映射初始值的準(zhǔn)確率大大提高,同時(shí)通過對二維圖像特征點(diǎn)和三維幾何特征點(diǎn)的數(shù)據(jù)進(jìn)行歸一化處理,減少了尺度因素對自由曲面映射初始值誤差的影響,再將該自由曲面映射初始值作為迭代初值代入根據(jù)特征點(diǎn)所建立的誤差距離函數(shù)中進(jìn)行迭代計(jì)算優(yōu)化后,得到精準(zhǔn)的自由曲面映射最終值,再根據(jù)該自由曲面映射最終值,將紋理圖片映射至根據(jù)三維模型數(shù)據(jù)采集系統(tǒng)所采集的點(diǎn)云數(shù)據(jù)所建立的三維自由曲面初始結(jié)構(gòu)上,以生成精準(zhǔn)的仿真三維模型。
附圖說明
圖1是本發(fā)明實(shí)施例提供的一種基于三維模型的紋理映射方法的實(shí)現(xiàn)流程圖;
圖2是本發(fā)明實(shí)施例提供的一種刪除孤立的點(diǎn)數(shù)據(jù)的方法的具體實(shí)現(xiàn)流程圖;
圖3是本發(fā)明實(shí)施例提供的一種刪除偏離的點(diǎn)數(shù)據(jù)的方法的具體實(shí)現(xiàn)流程圖;
圖4是本發(fā)明實(shí)施例提供的一種基于三維模型的紋理映射裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點(diǎn)能夠更加的明顯和易懂,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而非全部實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
應(yīng)理解,在本發(fā)明各個(gè)實(shí)施例中,各過程的序號的大小并不意味著執(zhí)行順序的先后,各過程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對本發(fā)明實(shí)施例的實(shí)施過程構(gòu)成任何限定。
以下結(jié)合具體實(shí)施例對本發(fā)明的實(shí)現(xiàn)進(jìn)行詳細(xì)描述:
圖1示出了本發(fā)明實(shí)施例提供的一種基于三維模型的紋理映射方法的實(shí)現(xiàn)流程,詳述如下:
在步驟s101中,獲取所述三維模型的點(diǎn)云數(shù)據(jù),識別并刪除所述點(diǎn)云數(shù)據(jù)中散亂的點(diǎn)數(shù)據(jù),建立三維自由曲面初始結(jié)構(gòu)。
在本發(fā)明實(shí)施例中,所述三維模型的點(diǎn)云數(shù)據(jù)為三維模型數(shù)據(jù)采集系統(tǒng)所采集的需要進(jìn)行仿真建模的三維模型的點(diǎn)數(shù)據(jù),該點(diǎn)云數(shù)據(jù)用于構(gòu)建三維自由曲面初始結(jié)構(gòu)。優(yōu)先的,為了避免數(shù)據(jù)采集過程中引入的散亂的點(diǎn)數(shù)據(jù)造成的噪聲干擾,如三維模型中的光斑投影或反射投影,在根據(jù)該點(diǎn)云數(shù)據(jù)建立三維自由曲面初始結(jié)構(gòu)之前,還包括識別并刪除該點(diǎn)云數(shù)據(jù)中散亂的點(diǎn)數(shù)據(jù),以使得所建立的三維自由曲面初始結(jié)構(gòu)更加精準(zhǔn)。
在這里,在建立三維自由曲面初始結(jié)構(gòu)之前,還包括建立第一坐標(biāo)系,在所述第一坐標(biāo)系上根據(jù)點(diǎn)云數(shù)據(jù)構(gòu)建三維自由曲面初始結(jié)構(gòu)。
在步驟s102中,根據(jù)物像關(guān)系或光線映射關(guān)系交互選取紋理圖片和所述三維自由曲面初始結(jié)構(gòu)對應(yīng)的特征點(diǎn),得到預(yù)設(shè)數(shù)量的特征點(diǎn)對
在本發(fā)明實(shí)施例中,所采用的紋理圖片為獨(dú)立于三維模型數(shù)據(jù)采集系統(tǒng)的紋理圖片,即紋理圖片與三維模型數(shù)據(jù)不是由同一采集系統(tǒng)同時(shí)進(jìn)行采集的,該紋理圖片可以是由紋理相機(jī)采集的紋理圖片,也可以對原始圖片進(jìn)行紋理處理后的圖片,這里不做具體限定。由于所采用的紋理圖片獨(dú)立三維模型數(shù)據(jù)采集系統(tǒng),因此使得所采用的紋理圖片或三維模型各自所采集的數(shù)據(jù)更加完整,從而使得根據(jù)這些數(shù)據(jù)所生成的仿真三維模型更加準(zhǔn)確。本發(fā)明實(shí)施例中,通過將紋理圖片精準(zhǔn)地映射到三維自由曲面初始結(jié)構(gòu)上以得到精準(zhǔn)的仿真三維模型。
在這里,所采用的紋理圖片為二維圖像,從紋理圖片上選取的特征點(diǎn)為二維圖像特征點(diǎn)xi。在這里,二維圖像特征點(diǎn)xi為紋理圖像中含圖像特征的點(diǎn),優(yōu)選為特征圓點(diǎn)、角點(diǎn)或其他具有明顯色彩的特征點(diǎn)。三維自由曲面初始結(jié)構(gòu)為三維幾何圖像,從三維自由曲面初始結(jié)構(gòu)上選取的特征點(diǎn)為三維幾何特征點(diǎn)xi。在這里,三維幾何特征點(diǎn)為三維自由曲面初始結(jié)構(gòu)中含幾何特征的點(diǎn),優(yōu)選為曲線或曲面的特征點(diǎn)、幾何角點(diǎn)、幾何特征點(diǎn)。所選取的二維圖像特征點(diǎn)xi和三維幾何特征點(diǎn)xi存在對應(yīng)關(guān)系。在這里,在得到預(yù)設(shè)數(shù)量的特征點(diǎn)對
在這里,預(yù)設(shè)數(shù)量對應(yīng)為特征點(diǎn)對
在這里,點(diǎn)云數(shù)據(jù)中散亂的點(diǎn)數(shù)據(jù)為孤立和/或偏離的點(diǎn)數(shù)據(jù)。三維幾何特征點(diǎn)xi存在有m個(gè)與其有連接關(guān)系的鄰近點(diǎn)xj,xi的m個(gè)鄰近點(diǎn)xj表示為
具體地,所述點(diǎn)云數(shù)據(jù)中散亂的點(diǎn)數(shù)據(jù)為孤立的點(diǎn)數(shù)據(jù)時(shí),步驟s101中的識別并刪除所述點(diǎn)云數(shù)據(jù)中散亂的點(diǎn)數(shù)據(jù)的步驟中,包括如圖2所示的刪除孤立的點(diǎn)數(shù)據(jù)的具體實(shí)現(xiàn)流程:
在步驟s201中,識別并獲取與所述點(diǎn)云數(shù)據(jù)中的三維幾何特征點(diǎn)xi存在連接關(guān)系的m個(gè)鄰近點(diǎn)xj,所述m為正整數(shù)。
在本發(fā)明實(shí)施例中,將點(diǎn)云數(shù)據(jù)中的任意點(diǎn)數(shù)據(jù)表示為三維幾何特征點(diǎn)xi,將與每個(gè)三維幾何特征點(diǎn)xi存在直接的連接關(guān)系的點(diǎn)數(shù)據(jù)作為三維幾何特征點(diǎn)xi的鄰近點(diǎn)xj。
在步驟s202中,根據(jù)平均距離函數(shù)
在本發(fā)明實(shí)施例中,先分別計(jì)算三維幾何特征點(diǎn)xi與m個(gè)三鄰近點(diǎn)xj的距離,將計(jì)算得到的距離相加后除以m,得到三維幾何特征點(diǎn)xi與m個(gè)鄰近點(diǎn)xj的平均距離,比如,分別計(jì)算三維幾何特征點(diǎn)xi與m個(gè)鄰近點(diǎn)xj得到的距離為a1、a2…am,那么,三維幾何特征點(diǎn)xi與m個(gè)鄰近點(diǎn)xj的距離的平均距離為a1、a2…am相加后得到的和乘以
在步驟s203中,確定所述平均距離函數(shù)
在本發(fā)明實(shí)施例中,通過確定平均距離函數(shù)
在步驟s204中,如果所述平均距離函數(shù)
或者,當(dāng)無法計(jì)算三維幾何特征點(diǎn)xi與m個(gè)鄰近點(diǎn)xj的平均距離時(shí),通過判斷三維幾何特征點(diǎn)的法向量夾角與預(yù)設(shè)角度的關(guān)系來確定是否刪除所述三維幾何特征點(diǎn)xi,即所述點(diǎn)云數(shù)據(jù)中散亂的點(diǎn)數(shù)據(jù)為偏離的點(diǎn)數(shù)據(jù)時(shí),步驟s101中的識別并刪除所述點(diǎn)云數(shù)據(jù)中散亂的點(diǎn)數(shù)據(jù)的步驟中,還包括如圖3所示的刪除孤立的點(diǎn)數(shù)據(jù)的具體實(shí)現(xiàn)流程:
在步驟s301中,識別并獲取與所述點(diǎn)云數(shù)據(jù)中的三維幾何特征點(diǎn)xi存在連接關(guān)系的m個(gè)鄰近點(diǎn)xj,所述m為正整數(shù)。
在步驟s302中,確定所述三維幾何特征點(diǎn)xi與m個(gè)所述鄰近點(diǎn)xj的法向量夾角是否大于預(yù)設(shè)角度。
在本發(fā)明實(shí)施例中,通過確定三維幾何特征點(diǎn)xi與m個(gè)鄰近點(diǎn)xj的法向量夾角是否大于預(yù)設(shè)角度來確定該三維幾何特征點(diǎn)xi是否為偏離的點(diǎn)數(shù)據(jù)。
在步驟s303中,如果所述三維幾何特征點(diǎn)xi與m個(gè)所述鄰近點(diǎn)xj的法向量夾角大于預(yù)設(shè)角度,刪除所述三維幾何特征點(diǎn)xi。
在本發(fā)明實(shí)施例中,預(yù)設(shè)角度是由用戶進(jìn)行設(shè)置的,可以設(shè)定為任意角度值。優(yōu)選的,預(yù)設(shè)角度為65°,即當(dāng)三維幾何特征點(diǎn)xi與其鄰近點(diǎn)的法向量夾角θ≥65°時(shí),則認(rèn)為該三維幾何特征點(diǎn)xi為偏離的點(diǎn)數(shù)據(jù)。
在這里,對孤立的點(diǎn)數(shù)據(jù)或者偏離的點(diǎn)數(shù)據(jù)的識別及刪除過程不分先后,可以同時(shí)進(jìn)行,也可以單獨(dú)進(jìn)行,這里不做具體限定。
在這里,用戶根據(jù)點(diǎn)云數(shù)據(jù)中各個(gè)點(diǎn)數(shù)據(jù)周圍的連接關(guān)系,選取適用該點(diǎn)云數(shù)據(jù)的網(wǎng)格模型,優(yōu)選結(jié)構(gòu)簡單,便于表達(dá)的三維點(diǎn)云網(wǎng)格模型。在這里,自由曲面可以由樣條曲面、隱式曲面表示。
具體地,在確定使用的網(wǎng)格模型后,紋理映射裝置根據(jù)去除散亂的點(diǎn)數(shù)據(jù)后的點(diǎn)云數(shù)據(jù),利用特征曲線和網(wǎng)格曲面進(jìn)行逼近擬合,以建立三維自由曲面初始結(jié)構(gòu)。
在步驟s103中,對所述預(yù)設(shè)數(shù)量的特征點(diǎn)對
在本發(fā)明實(shí)施例中,在對所述預(yù)設(shè)數(shù)量的特征點(diǎn)對
具體地,步驟s103通過奇異值分解以得到三維模型的自由曲面映射初始值p0的具體實(shí)現(xiàn)步驟如圖4所示:
在步驟s401中,對所述特征點(diǎn)對
在本發(fā)明實(shí)施例中,中心坐標(biāo)為根據(jù)二維圖像特征點(diǎn)xi的各個(gè)坐標(biāo)之和計(jì)算出來的平均坐標(biāo),比如,分別將k個(gè)x軸的坐標(biāo)和k個(gè)y軸的坐標(biāo)相加后求得的平均值作為由x軸和y軸組成的二維平面上的中心坐標(biāo)[(x1+x2+…+xk)/k,(y1+y2+…+yk)]。在這里,在對
在步驟s402中,對所述特征點(diǎn)對
在本發(fā)明實(shí)施例中,中心坐標(biāo)為根據(jù)三維幾何特征點(diǎn)xi的各個(gè)坐標(biāo)之和計(jì)算出來的平均坐標(biāo),比如,分別將k個(gè)x軸的坐標(biāo)、k個(gè)y軸的坐標(biāo)和k個(gè)z軸的坐標(biāo)相加后求得的平均值作為由x軸、y軸和z軸組成的三維平面上的中心坐標(biāo)[(x1+x2+…+xk)/k,(y1+y2+…+yk),(z1+z2+…+zk)]。在這里,在對
在步驟s403中,對進(jìn)行歸一化處理后的所述特征點(diǎn)對
在本發(fā)明實(shí)施例中,通過對特征點(diǎn)對
在步驟s104中,構(gòu)建變換的誤差距離函數(shù)
在本發(fā)明實(shí)施例中,λi的取值與曲面空間相關(guān),0.8≤λi≤1,λi由用戶根據(jù)曲面的結(jié)構(gòu)來設(shè)置,其中,處于曲面邊緣的數(shù)據(jù)點(diǎn)設(shè)置λi=0.8,處于數(shù)據(jù)中心的點(diǎn)設(shè)置的λi=1.0,λi∈[0.8,1.0]。在這里,處于數(shù)據(jù)中心的點(diǎn)為根據(jù)自由曲面上所有點(diǎn)的均值計(jì)算得到的數(shù)據(jù)點(diǎn)。
在這里,二維圖像特征點(diǎn)xi的齊次坐標(biāo)表示為:xi=(xi1,yi1,1)t,三維幾何特征點(diǎn)xi的齊次坐標(biāo)表示為:xi=(xi1,yi1,zi1,1)t。
在這里,d為紋理圖片中兩個(gè)圖像特征點(diǎn)之間的歐氏距離,具體為
在步驟s105中,將所述自由曲面映射初始值p0作為所述誤差距離函數(shù)中p的初值,通過列文伯格-馬夸爾特算法和預(yù)設(shè)的迭代終止閾值或迭代次數(shù),對所述誤差距離函數(shù)進(jìn)行迭代計(jì)算得到所述三維模型的自由曲面映射最終值。
在本發(fā)明實(shí)施例中,通過列文伯格-馬夸爾特算法進(jìn)行算法迭代優(yōu)化,以求解得到更加精確的待求自由曲面映射值p,以得到精準(zhǔn)的自由曲面映射最終值。
具體地,對所述誤差距離函數(shù)進(jìn)行迭代計(jì)算得到所述三維模型的自由曲面映射最終值的步驟,包括:
對所述誤差函數(shù)進(jìn)行迭代計(jì)算出所述待求自由曲面映射值p,對計(jì)算出的所述待求自由曲面映射值p進(jìn)行坐標(biāo)變換后,再對所述待求自由曲面映射值p進(jìn)行逆歸一化處理,得到所述三維模型的自由曲面映射最終值。
優(yōu)選的,在對所述誤差距離函數(shù)進(jìn)行迭代計(jì)算得到所述三維模型的自由曲面映射最終值的步驟中,還包括:
在每一次進(jìn)行迭代計(jì)算之前,識別并刪除距離過大的特征點(diǎn)對,再對所述誤差距離函數(shù)進(jìn)行下一次迭代計(jì)算。
通過在每次迭代計(jì)算前刪除距離過大的特征點(diǎn)對后,再進(jìn)行下一步的迭代優(yōu)化計(jì)算,以保證迭代算法的收斂,提高迭代計(jì)算的效率。
在步驟s106中,根據(jù)所述自由曲面映射最終值將所述紋理圖片映射至所述三維自由曲面初始結(jié)構(gòu),生成仿真三維模型。
在本發(fā)明實(shí)施例中,通過同時(shí)選取紋理圖片和三維模型的特征點(diǎn),使得通過對該特征點(diǎn)對進(jìn)行奇異值分解所得到的自由曲面映射初始值p0的準(zhǔn)確率大大提高,同時(shí)通過對二維圖像特征點(diǎn)和三維幾何特征點(diǎn)的數(shù)據(jù)進(jìn)行歸一化處理,減少了尺度因素對自由曲面映射初始值p0誤差的影響,再將該自由曲面映射初始值p0作為迭代初值代入根據(jù)特征點(diǎn)所建立的誤差距離函數(shù)中的p進(jìn)行迭代計(jì)算優(yōu)化后,得到精準(zhǔn)的自由曲面映射最終值,再根據(jù)該自由曲面映射最終值,將紋理圖片映射至根據(jù)三維模型數(shù)據(jù)采集系統(tǒng)所采集的點(diǎn)云數(shù)據(jù)所建立的三維自由曲面初始結(jié)構(gòu)上,以生成精準(zhǔn)的仿真三維模型。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述各實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,相應(yīng)的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,上述的存儲(chǔ)介質(zhì),如rom/ram、磁盤或光盤等。
圖4示出了本發(fā)明實(shí)施例提供的一種基于三維模型的紋理映射裝置41的具體結(jié)構(gòu)框圖,為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。
本發(fā)明實(shí)施例提供了一種基于三維模型的紋理映射裝置4,包括三維自由曲面初始結(jié)構(gòu)建立單元41、特征點(diǎn)對選取單元42、特征點(diǎn)對分解單元43、誤差距離函數(shù)構(gòu)建單元44、自由曲面映射最終值計(jì)算單元45和紋理映射處理單元46;
其中,三維自由曲面初始結(jié)構(gòu)建立單元41,用于獲取所述三維模型的點(diǎn)云數(shù)據(jù),識別并刪除所述點(diǎn)云數(shù)據(jù)中散亂的點(diǎn)數(shù)據(jù),建立三維自由曲面初始結(jié)構(gòu);
特征點(diǎn)對選取單元42,用于根據(jù)物像關(guān)系或光線映射關(guān)系交互選取紋理圖片和所述三維自由曲面初始結(jié)構(gòu)對應(yīng)的特征點(diǎn),得到預(yù)設(shè)數(shù)量的特征點(diǎn)對
特征點(diǎn)對分解單元43,用于對所述預(yù)設(shè)數(shù)量的特征點(diǎn)對
誤差距離函數(shù)構(gòu)建單元44,用于構(gòu)建變換的誤差距離函數(shù)
自由曲面映射最終值計(jì)算單元45,用于將所述自由曲面映射初始值p0作為所述誤差距離函數(shù)中p的初值,通過列文伯格-馬夸爾特算法和預(yù)設(shè)的迭代終止閾值或迭代次數(shù),對所述誤差距離函數(shù)進(jìn)行迭代計(jì)算得到所述三維模型的自由曲面映射最終值;
紋理映射處理單元46,用于根據(jù)所述自由曲面映射最終值將所述紋理圖片映射至所述三維自由曲面初始結(jié)構(gòu),生成仿真三維模型。
進(jìn)一步地,所述散亂的點(diǎn)數(shù)據(jù)為孤立的點(diǎn)數(shù)據(jù)時(shí);所述三維自由曲面初始結(jié)構(gòu)建立單元中包括第一鄰近點(diǎn)識別子單元、平均距離計(jì)算子單元、距離確定子單元和第一刪除子單元;
其中,第一鄰近點(diǎn)識別子單元,用于識別并獲取與所述點(diǎn)云數(shù)據(jù)中的所述三維幾何特征點(diǎn)xi存在連接關(guān)系的m個(gè)鄰近點(diǎn)xj,所述m為正整數(shù);
平均距離計(jì)算子單元,用于根據(jù)平均距離函數(shù)
距離確定子單元,用于確定所述平均距離函數(shù)
第一刪除子單元,用于如果所述平均距離函數(shù)
或者,所述散亂的點(diǎn)數(shù)據(jù)為偏離的點(diǎn)數(shù)據(jù);所述三維自由曲面初始結(jié)構(gòu)建立單元中還包括第二鄰近點(diǎn)識別子單元、夾角確定子單元和第二刪除子單元;
其中第二鄰近點(diǎn)識別子單元,用于識別并獲取與所述點(diǎn)云數(shù)據(jù)中的所述三維幾何特征點(diǎn)xi存在連接關(guān)系的m個(gè)鄰近點(diǎn)xj,所述m為正整數(shù);
夾角確定子單元,用于確定所述三維幾何特征點(diǎn)xi與m個(gè)所述鄰近點(diǎn)xj的法向量夾角是否大于預(yù)設(shè)角度;
第二刪除子單元,如果所述三維幾何特征點(diǎn)xi與m個(gè)所述三維幾何特征點(diǎn)xj的法向量夾角大于預(yù)設(shè)角度,刪除所述三維幾何特征點(diǎn)xi。
進(jìn)一步地,所述特征點(diǎn)對分解單元43,包括第一歸一化處理子單元、第一歸二化處理子單元和特征點(diǎn)對分解子單元;
其中,第一歸一化處理子單元,用于對所述特征點(diǎn)對
第二歸一化處理子單元,用于對所述特征點(diǎn)對
特征點(diǎn)對分解子單元,用于對進(jìn)行歸一化處理后的所述特征點(diǎn)對
進(jìn)一步地,所述自由曲面映射最終值計(jì)算單元45,具體用于:
對所述誤差函數(shù)進(jìn)行迭代計(jì)算出所述待求自由曲面映射值p,對計(jì)算出的所述待求自由曲面映射值p進(jìn)行坐標(biāo)變換后,再對所述待求自由曲面映射值p進(jìn)行逆歸一化處理,得到所述三維模型的自由曲面映射最終值。
進(jìn)一步地,所述自由曲面映射最終值計(jì)算單元45,還包括:
特征點(diǎn)對刪除子單元,用于在每一次進(jìn)行迭代計(jì)算之前,識別并刪除距離過大的特征點(diǎn)對,再對所述誤差距離函數(shù)進(jìn)行下一次迭代計(jì)算。
在本發(fā)明實(shí)施例中,紋理映射裝置通過同時(shí)選取紋理圖片和三維模型的特征點(diǎn),使得通過對該特征點(diǎn)對進(jìn)行奇異值分解所得到的自由曲面映射初始值p0的準(zhǔn)確率大大提高,同時(shí)通過對二維圖像特征點(diǎn)和三維幾何特征點(diǎn)的數(shù)據(jù)進(jìn)行歸一化處理,減少了尺度因素對自由曲面映射初始值p0誤差的影響,再將該自由曲面映射初始值p0作為迭代初值代入根據(jù)特征點(diǎn)所建立的誤差距離函數(shù)中的p進(jìn)行迭代計(jì)算優(yōu)化后,得到精準(zhǔn)的自由曲面映射最終值,再根據(jù)該自由曲面映射最終值,將紋理圖片映射至根據(jù)三維模型數(shù)據(jù)采集系統(tǒng)所采集的點(diǎn)云數(shù)據(jù)所建立的三維自由曲面初始結(jié)構(gòu)上,以生成精準(zhǔn)的仿真三維模型。
本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個(gè)特定的應(yīng)用來使用不同裝置來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的裝置和單元的具體工作過程,可以參考前述裝置實(shí)施例中的對應(yīng)過程,在此不再贅述。
在本申請所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,上述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
上述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
上述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例上述裝置的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上上述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到狀態(tài)或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)上述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。