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

一種通過智能手機(jī)采集腳型視頻和傳感器數(shù)據(jù)獲取三維腳型的方法與流程

文檔序號:11627968閱讀:419來源:國知局
一種通過智能手機(jī)采集腳型視頻和傳感器數(shù)據(jù)獲取三維腳型的方法與流程

本發(fā)明涉及一種三維重建方法,尤其涉及一種基于帶攝像機(jī)和傳感器的智能手機(jī)通過采集腳型rgb視頻和傳感器數(shù)據(jù)并結(jié)合數(shù)據(jù)庫中的參考腳型模型進(jìn)行三維腳型數(shù)據(jù)獲取的方法。



背景技術(shù):

近兩年對結(jié)合傳感器和三維重建算法的研究越來越多,產(chǎn)生了大量高質(zhì)量的三維重建算法,迅速提升了基于移動終端的三維重建技術(shù)。對三維重建算法進(jìn)行總結(jié),可以將基于移動終端的三維重建算法大致分為如下幾類:基于深度圖融合的三維重建、基于imu和視覺融合的三維重建、基于光照條件和激光掃描等其它傳感器的三維重建。

基于深度圖融合的三維重建,由深度傳感器記錄拍攝場景的深度信息,然后根據(jù)sfm算法或其它算法計(jì)算攝像機(jī)參數(shù),并用該攝像機(jī)參數(shù)恢復(fù)三維空間坐標(biāo)點(diǎn)并反投影到視頻上,最小化反投影誤差,如主要研究深度圖的融合過程,即利用高斯模型或其它數(shù)據(jù)模型對同時(shí)攝像機(jī)參數(shù)和三維點(diǎn)云進(jìn)行約束,過濾掉偏差較大的值。另一種算法是由建立體素,根據(jù)各個(gè)角度的深度圖及攝像機(jī)參數(shù)計(jì)算當(dāng)前位置的深度并進(jìn)行融合,最后形成目標(biāo)物體的體積網(wǎng)格。但這種方法運(yùn)行時(shí)需要占用大量的內(nèi)存,計(jì)算速度慢,不利用在線實(shí)時(shí)重建。

基于imu和視覺融合的三維重建,比較成熟的算法中,主要考慮到視覺三維重建算法對紋理要求高的缺點(diǎn),利用imu單元的陀螺儀和加速計(jì)記錄移動設(shè)備的朝向和加速度,并假設(shè)噪聲服從高斯分布,借助kalman濾波對imu數(shù)據(jù)進(jìn)行預(yù)測,得到視頻對應(yīng)的攝像機(jī)參數(shù),并融入到視覺算法中,由計(jì)算的三維坐標(biāo)點(diǎn)和二維特征點(diǎn)之間、兩幅視頻的二維特征點(diǎn)之間的約束關(guān)系統(tǒng)一優(yōu)化攝像機(jī)參數(shù)。在此基礎(chǔ)上,adrian等人加入了閉環(huán)檢測優(yōu)化姿態(tài)跟蹤,即假設(shè)移動設(shè)備在拍攝過程中的移動成環(huán)形封閉,利用最后一幀視頻和初始幀視頻部分重疊的性質(zhì)進(jìn)一步約束攝像機(jī)參數(shù)以提高其精確度。

基于光照條件和激光掃描等其它傳感器的三維重建,借助高級設(shè)備如激光傳感器對目標(biāo)重建物體進(jìn)行掃描融合得到對應(yīng)的三維模型。除此之外還有利用光源信息進(jìn)行重建的算法,即利用光源傳感器對目標(biāo)重建物體從不同角度拍攝,或從同一角度用不同的光照拍攝,在光源信息已知的情況下通過拍攝視頻rgb值及光源方向、物體表面法向量等的代數(shù)約束重建目標(biāo)物體。此類方法盡管能夠達(dá)到比較高的重建精度,但由于數(shù)據(jù)采集費(fèi)用大,操作麻煩,不適用于一般性的重建中。

針對于腳型重建的科學(xué)研究則比較少。更多的是在醫(yī)學(xué)研究上,用ct(computedtomography)電子計(jì)算機(jī)斷層掃描視頻對腳型進(jìn)行三維重建以觀察腳內(nèi)部的病變情況,如用laplacian表面形變框架對由ct視頻重建出來的模型進(jìn)行形變,但需要用戶手工輸入各項(xiàng)參數(shù),而且僅限于醫(yī)學(xué)研究領(lǐng)域,昂貴的ct拍攝設(shè)備及對用戶的相關(guān)專業(yè)知識的高要求都使得基于ct視頻的三維重建技術(shù)無法應(yīng)用到普通用戶的生活中。相對于室外場景,腳型的大小要求重建的誤差足夠小,因此很多室外場景的三維重建技術(shù)甚至室內(nèi)的三維重建算法都因誤差較大不適用于腳型重建。小誤差的重建技術(shù)中激光掃描的重建效果最好,如結(jié)合輪廓、激光和視覺技術(shù)對腳型進(jìn)行測量,得到的腳型參數(shù)誤差可以達(dá)到5mm以內(nèi),或是對一系列利用結(jié)構(gòu)光進(jìn)行激光掃描重建三維腳型的技術(shù)進(jìn)行對比,給出了利用激光掃描所能達(dá)到的精度范圍。但激光掃描設(shè)備的昂貴也使得基于激光的重建技術(shù)無法普及??紤]到腳型模型在行走時(shí)與靜止時(shí)的差異,給出了在行走狀態(tài)下對腳型各項(xiàng)參數(shù)的測試方法,同樣需要固定的大型設(shè)備。

在不需要大型昂貴設(shè)備的條件下,視覺重建算法占主導(dǎo)地位。如采用深度攝像機(jī)捆綁在移動小車上繞腳型拍攝大半圈進(jìn)行腳型重建,拍攝過程中腳邊放有標(biāo)定板。深度相機(jī)雖然比激光設(shè)備便宜,卻也并不是家庭常用設(shè)備。隨著機(jī)器學(xué)習(xí)的發(fā)展與廣泛應(yīng)用,有越來越多的學(xué)者把三維重建研究技術(shù)和機(jī)器學(xué)習(xí)結(jié)合越來,最近的研究在通過腳型輪廓剔除外點(diǎn)后,利用gng神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和學(xué)習(xí),檢測腳型模型中的標(biāo)記得到網(wǎng)格圖的參數(shù),從而進(jìn)行腳型重建。但網(wǎng)絡(luò)學(xué)習(xí)需要大量的訓(xùn)練數(shù)據(jù),數(shù)據(jù)收集和整理工作量巨大,重建結(jié)果依賴于數(shù)據(jù)和訓(xùn)練,相比于視覺和imu融合的重建在誤差精度上并沒有太大的優(yōu)勢。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種基于帶攝像機(jī)和傳感器的智能手機(jī)通過采集腳型rgb視頻和傳感器數(shù)據(jù)并結(jié)合數(shù)據(jù)庫中的參考腳型模型進(jìn)行三維腳型數(shù)據(jù)獲取的方法。

本發(fā)明的目的是通過以下技術(shù)方案來實(shí)現(xiàn)的:一種通過智能手機(jī)采集腳型視頻和傳感器數(shù)據(jù)獲取三維腳型的方法,該方法包括以下步驟:

(1)利用智能手機(jī)圍繞裸腳旋轉(zhuǎn)一圈采集腳型視頻和傳感器數(shù)據(jù),將視頻分解成視頻幀,并取部分幀作腳型區(qū)域分割等預(yù)處理,同時(shí)對腳型數(shù)據(jù)庫中的參考腳型模型求法向量等參數(shù);

(2)根據(jù)多視角立體幾何的約束關(guān)系,檢測視頻幀中的特征點(diǎn)并進(jìn)行匹配,計(jì)算攝像機(jī)內(nèi)外參數(shù),恢復(fù)特征點(diǎn)對應(yīng)的三維點(diǎn)云坐標(biāo);

(3)加入imu數(shù)據(jù),對步驟2得到的攝像機(jī)參數(shù)和三維點(diǎn)云坐標(biāo)進(jìn)行修正,包括修復(fù)多視角算法失敗無法求得攝像機(jī)參數(shù)的情況和移動三維點(diǎn)云坐標(biāo)以減小三維坐標(biāo)計(jì)算誤差;

(4)從已有的腳型數(shù)據(jù)庫中選擇相似的參考腳型模型,對齊重建腳型模型和參考腳型模型,并對重建腳型模型進(jìn)行去噪、光滑、表面重建處理;

(5)根據(jù)重建腳型模型和參考腳型模型之間的局部和整體對齊關(guān)系,對參考腳型模型進(jìn)行形變使其擬合重建腳型模型,輸出最終的重建腳型模型結(jié)果。

進(jìn)一步地,所述步驟1具體包括以下子步驟:

(1.1)用帶有陀螺儀和加速計(jì)的智能手機(jī)繞腳360度拍攝視頻一圈回到原點(diǎn),拍攝時(shí)在腳底放置一張a4紙,拍攝過程中記錄陀螺儀和加速計(jì)的數(shù)值。拍攝場景中的物體尺寸與真實(shí)尺寸之間的比例以a4紙作為參考。

(1.2)將采集到的視頻分解成視頻幀,從視頻幀中等間隔地選擇部分幀進(jìn)行分割前背景區(qū)域,得到視頻幀對應(yīng)的關(guān)于腳型區(qū)域的mask視頻。通過檢測視頻幀中a4紙的角點(diǎn)和邊獲取a4紙區(qū)域,根據(jù)rgb像素值分割a4紙及在a4紙區(qū)域內(nèi)的部分腳型區(qū)域。同時(shí),對整幅視頻幀進(jìn)行邊緣檢測,得到包括腳型邊緣在內(nèi)的視頻幀邊緣視頻。然后由a4紙區(qū)域內(nèi)的腳型區(qū)域向外搜索填充,最終得到初步估計(jì)的腳型區(qū)域及非腳型區(qū)域。建立gmm模型,通過k-mean算法分別對腳型區(qū)域像素和非腳型區(qū)域像素進(jìn)行聚類,得到gmm模型中每個(gè)高斯模型的像素樣本集,然后根據(jù)rgb值計(jì)算每個(gè)高斯模型的參數(shù)均值和協(xié)方差,每個(gè)高斯模型的權(quán)值定義為屬于該高斯模型的像素個(gè)數(shù)與總像素個(gè)數(shù)的比值。對每個(gè)像素分配gmm模型中的高斯模型,以給定的腳型區(qū)域和非腳型區(qū)域?yàn)閰⒖紝W(xué)習(xí)優(yōu)化gmm模型,迭代分割,最終得到對應(yīng)視頻幀的腳型輪廓視頻。

(1.3)用kalibr工具箱對imu進(jìn)行標(biāo)定,求出imu到攝像機(jī)的旋轉(zhuǎn)矩陣,利用該旋轉(zhuǎn)矩陣變換攝像機(jī)坐標(biāo)系和imu坐標(biāo)系。對于參考腳型模型,頂點(diǎn)vi的法向量由該頂點(diǎn)和周圍k個(gè)鄰近點(diǎn)共同確定。記頂點(diǎn)vi的第j個(gè)鄰近點(diǎn)為(j∈1,…,k)。模型中心點(diǎn)為c,則法向量同時(shí)滿足:

其中face{vi}為包含點(diǎn)vi的面片,幾何意義為頂點(diǎn)vi的法向量由以該點(diǎn)為頂點(diǎn)的面片的法向量的權(quán)重和,方向?yàn)橛芍行狞c(diǎn)指向頂點(diǎn)外側(cè)。最終得到每個(gè)頂點(diǎn)和每個(gè)面片的法向量。

進(jìn)一步地,所述步驟2具體為:對每幀視頻幀進(jìn)行brief和freak特征點(diǎn)檢測和提取,對視頻幀兩兩進(jìn)行特征匹配,計(jì)算單應(yīng)矩陣,并按純視覺方法計(jì)算基本矩陣、本質(zhì)矩陣,對本質(zhì)矩陣進(jìn)行svd分解求得初始的攝像機(jī)姿態(tài)參數(shù),同時(shí)恢復(fù)特征點(diǎn)對應(yīng)的三維點(diǎn)云坐標(biāo)。

進(jìn)一步地,所述步驟3具體包括以下子步驟:

(3.1)對imu數(shù)據(jù)做如下預(yù)處理。由于傳感器頻率和攝像機(jī)頻率不一致,假設(shè)imu數(shù)據(jù)和攝像機(jī)在從時(shí)間ti到tj的間隔時(shí)間δt里同步,狀態(tài)參數(shù)xi=[ri,pi,vi,bi]記錄了imu數(shù)據(jù)的旋轉(zhuǎn)ri、位置pi、速度vi和傳感器漂移偏差bi,而傳感器漂移偏差bi又包括速度加速計(jì)和重力加速計(jì)的偏差。則視頻幀對應(yīng)的狀態(tài)參數(shù)為imu狀態(tài)參數(shù)的子集。設(shè)白噪聲θ=[θgdad],θgd和θad分別為重力加速計(jì)和速度加速計(jì)的噪聲,角速度ωi,加速度ai,則有:

狀態(tài)參數(shù)求導(dǎo)后仍然為偏差b的函數(shù),則可以采用分兩步進(jìn)行優(yōu)化的方法,第一步假設(shè)b已知,對狀態(tài)參數(shù)求梯度最優(yōu)化,第二步中考慮到傳感器移動時(shí)b有變化,為減少計(jì)算,當(dāng)b變成b+δb時(shí),梯度值只需要在原來的基礎(chǔ)上增加由b變化帶來的差值δb即可。最后計(jì)算殘差,得到imu數(shù)據(jù)下的攝像機(jī)姿態(tài)。

(3.2)結(jié)合imu數(shù)據(jù)和視覺數(shù)據(jù)建立因子圖。其中因子節(jié)點(diǎn)包括由視覺方法計(jì)算得到的攝像機(jī)姿態(tài)xi′,恢復(fù)的腳型三維點(diǎn)云坐標(biāo)li、imu狀態(tài)參數(shù)xi,偏差ci等。記第k時(shí)刻imu測量值為則因子圖中各個(gè)約束可以表示為:imu因子:

偏差因子:

fbias(ck+1,ck)=d(ck+1-g(ck))

先概率因子:

視覺投影因子

fproj(x,l)=d(z-π(x,l))

其中z表示真實(shí)的視頻投影坐標(biāo),v為所有頂點(diǎn)的集合,π為投影函數(shù)。

立體視覺因子:

fstereo(x,l)=d(zrr(x,l))d(zll(x,l))

其中l(wèi)和r分別對應(yīng)左、右攝像頭。

閉環(huán)檢測因子:

fclose=sig(sij)*f(xi,uij)-xj

其中sig()為sigmoid函數(shù),sij記錄傳感器運(yùn)動方向(正向、逆向),uij記錄攝像機(jī)運(yùn)動方向(正向、逆向),而f(xi,uij)為運(yùn)動約束模型,可以看成是fimu

(3.3)把因子圖中因子函數(shù)分解成一般形式并進(jìn)行優(yōu)化,得到優(yōu)化后的各個(gè)因子的值。

進(jìn)一步地,所述步驟4具體包括以下子步驟:

(4.1)根據(jù)輪廓約束從重建出的三維腳型點(diǎn)云中提取出腳型的三維點(diǎn)云數(shù)據(jù),并補(bǔ)腳底點(diǎn)集,得到完整的腳型點(diǎn)云模型。

(4.2)從已有的腳型數(shù)據(jù)庫中選擇與重建腳型相似的腳型參考模型,先以坐標(biāo)軸和包圍盒為參考對重建模型和參考模型進(jìn)行初步對齊,然后去掉增加的腳底點(diǎn)云及腳踝以上的點(diǎn)避免干擾,只保留重建點(diǎn)云模型中腳面上的點(diǎn)集,利用icp算法進(jìn)一步與參考模型對齊,最后重新加上腳底點(diǎn)云,并增加手工調(diào)整,確保重建腳型模型與參考腳型模型對齊。

(4.3)對重建腳型模型進(jìn)行去噪和光滑處理,包括剔除重建腳型模型和參考腳型模型之間對應(yīng)點(diǎn)對距離大于閾值的點(diǎn),以及等密度去掉部分重建腳型點(diǎn)云。

(4.4)重建腳型模型的法向量計(jì)算和表面重建。先用鄰近點(diǎn)計(jì)算法向量的初值,然后對點(diǎn)云中的點(diǎn)進(jìn)行可見性判斷,并根據(jù)輸入點(diǎn)的八叉樹選取空間中包含點(diǎn)云的單位立方體,對每個(gè)立方體中的點(diǎn)云,選取以目標(biāo)點(diǎn)為圓心,半徑hi范圍內(nèi)的點(diǎn)進(jìn)行平面擬合:

其中為單位法向量,x為范圍內(nèi)的鄰近點(diǎn),d為給定的范圍閾值。最后以立方體中的點(diǎn)組成圈,判斷每個(gè)面片的法向量夾角是否小于π/2,剔除大于該角度的面片,進(jìn)行表面重建。

進(jìn)一步地,所述步驟5具體包括以下子步驟:

(5.1)在參考腳型模型選擇的區(qū)域中任意選定曲率線l,在l上取樣本點(diǎn):

ls={(li,ti),i=1,…,numofsample}

其中l(wèi)i,ti分別表示該像素點(diǎn)的二維視頻坐標(biāo)和切線向量,numofsample為樣本點(diǎn)數(shù)。然后把這些樣本點(diǎn)映射到參考腳型的曲面上得到:

其中l(wèi)i′,ti′分別表示該投影點(diǎn)的三維空間坐標(biāo)及沿l方向上的切線平面,而表示該樣本點(diǎn)的法向量。把這些信息向曲面周圍延伸,記x為該樣本點(diǎn)的鄰近點(diǎn),即在與法向量和切平面都垂直的方向上移動一小步δ={δx,δy},定義一個(gè)新網(wǎng)格點(diǎn)表示原來的點(diǎn)移動δ后所在的點(diǎn)。在曲率線的兩邊,即沿bi和-bi方向都進(jìn)行這樣的操作,直到生成一系列網(wǎng)格點(diǎn)覆蓋選擇區(qū)域,對這些網(wǎng)格點(diǎn)進(jìn)行插值直到選擇的視頻區(qū)域中每個(gè)像素點(diǎn)h=(i,j)都對應(yīng)一個(gè)三維網(wǎng)格節(jié)點(diǎn)。然后建立目標(biāo)能量函數(shù),計(jì)算并輸出深度映射值集合z={zh},對目標(biāo)能量函數(shù)運(yùn)用梯度下降法輸出區(qū)域的深度映射視頻,在重建模型上選擇對應(yīng)的區(qū)域根據(jù)曲率進(jìn)行修復(fù)。目標(biāo)能量函數(shù)共包括四項(xiàng),為:

第一項(xiàng)表示曲面光滑程度,其中zxx(i,j)表示在像素點(diǎn)h=(i,j)沿x方向的深度,同理,zxy(i,j)和zyy(i,j)分別為沿xy斜線方向和y方向的深度。

第二項(xiàng)f(zh)滿足x|f(x)=0,表示模型曲面是函數(shù)f的零集。

第三項(xiàng)r(zh)為同一像素在兩幅不同的視頻幀中的深度差的平方值,保證在重疊區(qū)域兩個(gè)深度映射值的一致性。

第四項(xiàng)c(zh)=∑i,j(uthu)2為曲率線的變化,其中h為zh的hessian矩陣,u為曲率線上的點(diǎn)投影到兩幀視頻幀上對應(yīng)的像素。

(5.2)對重建腳型模型進(jìn)行整體變換操作。最終要求的目標(biāo)模型s‘可以表示為由參考腳型模型s*和重建腳型模型s中的點(diǎn)在變換θ和移動δ={di}的作用下得到的。即s‘=t(s*,s)+d??紤]點(diǎn)集的gmm概率密度函數(shù):

gmm(s)=∑p(x)=1/(2πσ2)exp(-||x-μ||/(2σ2))

p(x)為鄰近點(diǎn)x的概率,μ為均值,σ為方差。

代價(jià)函數(shù)設(shè)為兩個(gè)模型之間的l2距離

dl2=(gmm(s*)-gmm(t(s,θ)))2

其中t為對點(diǎn)云進(jìn)行變形操作,利用梯度下降法最小化目標(biāo)函數(shù)得到模型間的形變系數(shù)θ。

(5.3)對重建腳型模型進(jìn)行局部調(diào)整。定義形變目標(biāo)函數(shù)和幾何體目標(biāo)函數(shù)ω(s*,s)分別為:

其中tj為點(diǎn)pj的移動向量,n(j)為點(diǎn)pj的鄰域,ejk為連接的邊,ajk為包含j和k兩點(diǎn)的面片的面積,aj為只包含點(diǎn)j的面片的面積。整體目標(biāo)函數(shù)定義為通過對模型中點(diǎn)的拉伸移動改變模型。為保證整個(gè)模型的光滑度,考慮光滑目標(biāo)模型s‘=t(s*,s,θ)+d,兩點(diǎn)集間每對對應(yīng)點(diǎn)之間的移動di可以通過最小化光滑目標(biāo)函數(shù)求得。光滑目標(biāo)函數(shù)esmooth如下:

其中權(quán)重系數(shù)ε由模型數(shù)據(jù)集確定,n為對應(yīng)模型上點(diǎn)的鄰域。最后,計(jì)算點(diǎn)云的pca模型矩陣m,m是參數(shù)向量,定義形變代價(jià)函數(shù):

其中θ和t分別為旋轉(zhuǎn)和平移參數(shù),s為縮放因子,r為旋轉(zhuǎn)矩陣。對用戶選擇的每部分區(qū)域進(jìn)行形變,最終得到調(diào)整后的重建腳型模型。

本發(fā)明的有益效果是:本發(fā)明用帶imu傳感器的智能手機(jī)繞著裸腳拍攝360度獲取腳型視頻和對應(yīng)的imu數(shù)據(jù),通過建立因子圖,把攝像機(jī)姿態(tài)、三維點(diǎn)云坐標(biāo)、imu數(shù)據(jù)、視頻輪廓等已有的各種數(shù)據(jù)做為因子,通過定義各個(gè)因子之間的約束誤差方程并進(jìn)行求解而得到攝像機(jī)參數(shù),引入?yún)⒖寄P瓦M(jìn)行腳型重建。充分利用參考模型的點(diǎn)云分布、法向量、表面曲率等信息引導(dǎo)重建腳型的形變,使之在不偏離重建點(diǎn)云的情況下,盡量接近真實(shí)腳型,減小噪聲點(diǎn)的干擾,從而實(shí)現(xiàn)一個(gè)方便地得到對應(yīng)的腳型三維網(wǎng)格模型的過程。本發(fā)明方法使得在三維腳型重建過程中,當(dāng)視覺重建算法因?yàn)樘卣鼽c(diǎn)過少或其它原因失敗時(shí),能夠用傳感器預(yù)測的攝像機(jī)姿態(tài)進(jìn)行修正,增強(qiáng)了重建的魯棒性,同時(shí)結(jié)合參考腳型模型和傳感器、腳型三維點(diǎn)、視頻特征點(diǎn)等各項(xiàng)數(shù)據(jù)相互約束,能夠有效地減小重建誤差。實(shí)現(xiàn)了一個(gè)自動腳型模型生成系統(tǒng),能夠低成本地重建出腳型三維模型并計(jì)算腳型的各項(xiàng)測量參數(shù),解決了遠(yuǎn)程定制鞋子腳型參數(shù)測量的不便性。

附圖說明

圖1是本發(fā)明方法的總體流程圖;

圖2(a)是輸入的原始視頻數(shù)據(jù);

圖2(b)是輸入的參考模型樣例;

圖3是步驟3)中所構(gòu)建的因子圖;

圖4是所求得的最終腳型模型。

具體實(shí)施方式

下面結(jié)合附圖和具體實(shí)施例對本發(fā)明作進(jìn)一步相信說明。

本發(fā)明提供的一種通過智能手機(jī)采集腳型視頻和傳感器數(shù)據(jù)獲取三維腳型的方法,該方法包括以下步驟:

(1)利用智能手機(jī)圍繞裸腳旋轉(zhuǎn)一圈采集腳型視頻和傳感器數(shù)據(jù),將視頻分解成視頻幀,并取部分幀作腳型區(qū)域分割等預(yù)處理,同時(shí)對腳型數(shù)據(jù)庫中的參考腳型模型求法向量等參數(shù);

(2)根據(jù)多視角立體幾何的約束關(guān)系,檢測視頻幀中的特征點(diǎn)并進(jìn)行匹配,計(jì)算攝像機(jī)內(nèi)外參數(shù),恢復(fù)特征點(diǎn)對應(yīng)的三維點(diǎn)云坐標(biāo);

(3)加入imu數(shù)據(jù),對步驟2得到的攝像機(jī)參數(shù)和三維點(diǎn)云坐標(biāo)進(jìn)行修正,包括修復(fù)多視角算法失敗無法求得攝像機(jī)參數(shù)的情況和移動三維點(diǎn)云坐標(biāo)以減小三維坐標(biāo)計(jì)算誤差;

(4)從已有的腳型數(shù)據(jù)庫中選擇相似的參考腳型模型,對齊重建腳型模型和參考腳型模型,并對重建腳型模型進(jìn)行去噪、光滑、表面重建處理;

(5)根據(jù)重建腳型模型和參考腳型模型之間的局部和整體對齊關(guān)系,對參考腳型模型進(jìn)行形變使其擬合重建腳型模型,輸出最終的重建腳型模型結(jié)果。

進(jìn)一步地,所述步驟1具體包括以下子步驟:

(1.1)用帶有陀螺儀和加速計(jì)的智能手機(jī)繞腳360度拍攝視頻一圈回到原點(diǎn),拍攝時(shí)在腳底放置一張a4紙,拍攝過程中記錄陀螺儀和加速計(jì)的數(shù)值。拍攝場景中的物體尺寸與真實(shí)尺寸之間的比例以a4紙作為參考。

(1.2)將采集到的視頻分解成視頻幀,從視頻幀中等間隔地選擇部分幀進(jìn)行分割前背景區(qū)域,得到視頻幀對應(yīng)的關(guān)于腳型區(qū)域的mask視頻。通過檢測視頻幀中a4紙的角點(diǎn)和邊獲取a4紙區(qū)域,根據(jù)rgb像素值分割a4紙及在a4紙區(qū)域內(nèi)的部分腳型區(qū)域。同時(shí),對整幅視頻幀進(jìn)行邊緣檢測,得到包括腳型邊緣在內(nèi)的視頻幀邊緣視頻。然后由a4紙區(qū)域內(nèi)的腳型區(qū)域向外搜索填充,最終得到初步估計(jì)的腳型區(qū)域及非腳型區(qū)域。建立gmm模型,通過k-mean算法分別對腳型區(qū)域像素和非腳型區(qū)域像素進(jìn)行聚類,得到gmm模型中每個(gè)高斯模型的像素樣本集,然后根據(jù)rgb值計(jì)算每個(gè)高斯模型的參數(shù)均值和協(xié)方差,每個(gè)高斯模型的權(quán)值定義為屬于該高斯模型的像素個(gè)數(shù)與總像素個(gè)數(shù)的比值。對每個(gè)像素分配gmm模型中的高斯模型,以給定的腳型區(qū)域和非腳型區(qū)域?yàn)閰⒖紝W(xué)習(xí)優(yōu)化gmm模型,迭代分割,最終得到對應(yīng)視頻幀的腳型輪廓視頻。

(1.3)用kalibr工具箱對imu進(jìn)行標(biāo)定,求出imu到攝像機(jī)的旋轉(zhuǎn)矩陣,利用該旋轉(zhuǎn)矩陣變換攝像機(jī)坐標(biāo)系和imu坐標(biāo)系。對于參考腳型模型,頂點(diǎn)vi的法向量由該頂點(diǎn)和周圍k個(gè)鄰近點(diǎn)共同確定。記頂點(diǎn)vi的第j個(gè)鄰近點(diǎn)為(j∈1,…,k)。模型中心點(diǎn)為c,則法向量同時(shí)滿足:

其中face{vi}為包含點(diǎn)vi的面片,幾何意義為頂點(diǎn)vi的法向量由以該點(diǎn)為頂點(diǎn)的面片的法向量的權(quán)重和,方向?yàn)橛芍行狞c(diǎn)指向頂點(diǎn)外側(cè)。最終得到每個(gè)頂點(diǎn)和每個(gè)面片的法向量。

進(jìn)一步地,所述步驟2具體為:對每幀視頻幀進(jìn)行brief和freak特征點(diǎn)檢測和提取,對視頻幀兩兩進(jìn)行特征匹配,計(jì)算單應(yīng)矩陣,并按純視覺方法計(jì)算基本矩陣、本質(zhì)矩陣,對本質(zhì)矩陣進(jìn)行svd分解求得初始的攝像機(jī)姿態(tài)參數(shù),同時(shí)恢復(fù)特征點(diǎn)對應(yīng)的三維點(diǎn)云坐標(biāo)。

進(jìn)一步地,所述步驟3具體包括以下子步驟:

(3.1)對imu數(shù)據(jù)做如下預(yù)處理。由于傳感器頻率和攝像機(jī)頻率不一致,假設(shè)imu數(shù)據(jù)和攝像機(jī)在從時(shí)間ti到tj的間隔時(shí)間δt里同步,狀態(tài)參數(shù)xi=[ri,pi,vi,bi]記錄了imu數(shù)據(jù)的旋轉(zhuǎn)ri、位置pi、速度vi和傳感器漂移偏差bi,而傳感器漂移偏差bi又包括速度加速計(jì)和重力加速計(jì)的偏差。則視頻幀對應(yīng)的狀態(tài)參數(shù)為imu狀態(tài)參數(shù)的子集。設(shè)白噪聲θ=[θgdad],θgd和θad分別為重力加速計(jì)和速度加速計(jì)的噪聲,角速度ωi,加速度ai,則有:

狀態(tài)參數(shù)求導(dǎo)后仍然為偏差b的函數(shù),則可以采用分兩步進(jìn)行優(yōu)化的方法,第一步假設(shè)b已知,對狀態(tài)參數(shù)求梯度最優(yōu)化,第二步中考慮到傳感器移動時(shí)b有變化,為減少計(jì)算,當(dāng)b變成b+δb時(shí),梯度值只需要在原來的基礎(chǔ)上增加由b變化帶來的差值δb即可。最后計(jì)算殘差,得到imu數(shù)據(jù)下的攝像機(jī)姿態(tài)。

(3.2)結(jié)合imu數(shù)據(jù)和視覺數(shù)據(jù)建立因子圖。其中因子節(jié)點(diǎn)包括由視覺方法計(jì)算得到的攝像機(jī)姿態(tài)xi′,恢復(fù)的腳型三維點(diǎn)云坐標(biāo)li、imu狀態(tài)參數(shù)xi,偏差ci等。記第k時(shí)刻imu測量值為則因子圖中各個(gè)約束可以表示為:

imu因子:

偏差因子:

fbias(ck+1,ck)=d(ck+1-g(ck))

先概率因子:

視覺投影因子:

fproj(x,l)=d(z-π(x,l))

其中z表示真實(shí)的視頻投影坐標(biāo),v為所有頂點(diǎn)的集合,π為投影函數(shù)。

立體視覺因子:

fstereo(x,l)=d(zrr(x,l))d(zll(x,l))

其中l(wèi)和r分別對應(yīng)左、右攝像頭。

閉環(huán)檢測因子:

fclose=sig(sij)*f(xi,uij)-xj

其中sig()為sigmoid函數(shù),sij記錄傳感器運(yùn)動方向(正向、逆向),uij記錄攝像機(jī)運(yùn)動方向(正向、逆向),而f(xi,uij)為運(yùn)動約束模型,可以看成是fimu。

(3.3)把因子圖中因子函數(shù)分解成一般形式并進(jìn)行優(yōu)化,得到優(yōu)化后的各個(gè)因子的值。

進(jìn)一步地,所述步驟4具體包括以下子步驟:

(4.1)根據(jù)輪廓約束從重建出的三維腳型點(diǎn)云中提取出腳型的三維點(diǎn)云數(shù)據(jù),并補(bǔ)腳底點(diǎn)集,得到完整的腳型點(diǎn)云模型。

(4.2)從已有的腳型數(shù)據(jù)庫中選擇與重建腳型相似的腳型參考模型,先以坐標(biāo)軸和包圍盒為參考對重建模型和參考模型進(jìn)行初步對齊,然后去掉增加的腳底點(diǎn)云及腳踝以上的點(diǎn)避免干擾,只保留重建點(diǎn)云模型中腳面上的點(diǎn)集,利用icp算法進(jìn)一步與參考模型對齊,最后重新加上腳底點(diǎn)云,并增加手工調(diào)整,確保重建腳型模型與參考腳型模型對齊。

(4.3)對重建腳型模型進(jìn)行去噪和光滑處理,包括剔除重建腳型模型和參考腳型模型之間對應(yīng)點(diǎn)對距離大于閾值的點(diǎn),以及等密度去掉部分重建腳型點(diǎn)云。

(4.4)重建腳型模型的法向量計(jì)算和表面重建。先用鄰近點(diǎn)計(jì)算法向量的初值,然后對點(diǎn)云中的點(diǎn)進(jìn)行可見性判斷,并根據(jù)輸入點(diǎn)的八叉樹選取空間中包含點(diǎn)云的單位立方體,對每個(gè)立方體中的點(diǎn)云,選取以目標(biāo)點(diǎn)為圓心,半徑hi范圍內(nèi)的點(diǎn)進(jìn)行平面擬合:

其中為單位法向量,x為范圍內(nèi)的鄰近點(diǎn),d為給定的范圍閾值。最后以立方體中的點(diǎn)組成圈,判斷每個(gè)面片的法向量夾角是否小于π/2,剔除大于該角度的面片,進(jìn)行表面重建。

進(jìn)一步地,所述步驟5具體包括以下子步驟:

(5.1)在參考腳型模型選擇的區(qū)域中任意選定曲率線l,在l上取樣本點(diǎn):

ls={(li,ti),i=1,…,numofsample}

其中l(wèi)i,ti分別表示該像素點(diǎn)的二維視頻坐標(biāo)和切線向量,numofsample為樣本點(diǎn)數(shù)。然后把這些樣本點(diǎn)映射到參考腳型的曲面上得到:

其中l(wèi)i′,ti′分別表示該投影點(diǎn)的三維空間坐標(biāo)及沿l方向上的切線平面,而表示該樣本點(diǎn)的法向量。把這些信息向曲面周圍延伸,記x為該樣本點(diǎn)的鄰近點(diǎn),即在與法向量和切平面都垂直的方向上移動一小步δ={δx,δy},定義一個(gè)新網(wǎng)格點(diǎn)表示原來的點(diǎn)移動δ后所在的點(diǎn)。在曲率線的兩邊,即沿bi和-bi方向都進(jìn)行這樣的操作,直到生成一系列網(wǎng)格點(diǎn)覆蓋選擇區(qū)域,對這些網(wǎng)格點(diǎn)進(jìn)行插值直到選擇的視頻區(qū)域中每個(gè)像素點(diǎn)h=(i,j)都對應(yīng)一個(gè)三維網(wǎng)格節(jié)點(diǎn)。然后建立目標(biāo)能量函數(shù),計(jì)算并輸出深度映射值集合z={zh},對目標(biāo)能量函數(shù)運(yùn)用梯度下降法輸出區(qū)域的深度映射視頻,在重建模型上選擇對應(yīng)的區(qū)域根據(jù)曲率進(jìn)行修復(fù)。目標(biāo)能量函數(shù)共包括四項(xiàng),為:

第一項(xiàng)表示曲面光滑程度,其中zxx(i,j)表示在像素點(diǎn)h=(i,j)沿x方向的深度,同理,zxy(i,j)和zyy(i,j)分別為沿xy斜線方向和y方向的深度。

第二項(xiàng)f(zh)滿足x|f(x)=0,表示模型曲面是函數(shù)f的零集。

第三項(xiàng)r(zh)為同一像素在兩幅不同的視頻幀中的深度差的平方值,保證在重疊區(qū)域兩個(gè)深度映射值的一致性。

第四項(xiàng)c(zh)=∑i,j(uthu)2為曲率線的變化,其中h為zh的hessian矩陣,u為曲率線上的點(diǎn)投影到兩幀視頻幀上對應(yīng)的像素。

(5.2)對重建腳型模型進(jìn)行整體變換操作。最終要求的目標(biāo)模型s‘可以表示為由參考腳型模型s*和重建腳型模型s中的點(diǎn)在變換θ和移動δ={di}的作用下得到的。即s‘=t(s*,s)+d??紤]點(diǎn)集的gmm概率密度函數(shù):

gmm(s)=∑p(x)=1/(2πσ2)exp(-||x-μ||/(2σ2))

p(x)為鄰近點(diǎn)x的概率,μ為均值,σ為方差。

代價(jià)函數(shù)設(shè)為兩個(gè)模型之間的l2距離

dl2=(gmm(s*)-gmm(t(s,θ)))2

其中t為對點(diǎn)云進(jìn)行變形操作,利用梯度下降法最小化目標(biāo)函數(shù)得到模型間的形變系數(shù)θ。

(5.3)對重建腳型模型進(jìn)行局部調(diào)整。定義形變目標(biāo)函數(shù)和幾何體目標(biāo)函數(shù)ω(s*,s)分別為:

其中tj為點(diǎn)pj的移動向量,n(j)為點(diǎn)pj的鄰域,ejk為連接的邊,ajk為包含j和k兩點(diǎn)的面片的面積,aj為只包含點(diǎn)j的面片的面積。整體目標(biāo)函數(shù)定義為通過對模型中點(diǎn)的拉伸移動改變模型。為保證整個(gè)模型的光滑度,考慮光滑目標(biāo)模型s‘=t(s*,s,θ)+d,兩點(diǎn)集間每對對應(yīng)點(diǎn)之間的移動di可以通過最小化光滑目標(biāo)函數(shù)求得。光滑目標(biāo)函數(shù)esmooth如下:

其中權(quán)重系數(shù)ε由模型數(shù)據(jù)集確定,n為對應(yīng)模型上點(diǎn)的鄰域。最后,計(jì)算點(diǎn)云的pca模型矩陣m,m是參數(shù)向量,定義形變代價(jià)函數(shù):

其中θ和t分別為旋轉(zhuǎn)和平移參數(shù),s為縮放因子,r為旋轉(zhuǎn)矩陣。對用戶選擇的每部分區(qū)域進(jìn)行形變,最終得到調(diào)整后的重建腳型模型。

本發(fā)明方法的核心是根據(jù)輸入的裸腳rgb視頻和imu數(shù)據(jù)求得視頻幀對應(yīng)的攝像機(jī)參數(shù)和三維腳型點(diǎn)云模型,并結(jié)合數(shù)據(jù)庫中的參考模型與重建模型建立對應(yīng)關(guān)系,定義能量函數(shù)并最小化之,從而優(yōu)化重建模型。

以下利用一個(gè)我們實(shí)現(xiàn)的例子來描述具體流程的實(shí)施方式,步驟如下(見圖1):

1)用帶攝像機(jī)和傳感器的智能手機(jī)繞腳360度拍攝視頻,同時(shí)打開imu數(shù)據(jù)采集app記錄imu數(shù)據(jù)(見圖2(a));

2)對數(shù)據(jù)進(jìn)行各項(xiàng)預(yù)處理。

3)加入imu數(shù)據(jù),構(gòu)建因子圖(見圖3)并優(yōu)化;

4)把重建得到的模型與數(shù)據(jù)庫中的參考模型(見圖2(b))進(jìn)行對齊、形變等一系列操作,得到最終的腳型網(wǎng)格模型(見圖4)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1