本案是申請(qǐng)日為2013年10月28日、申請(qǐng)?zhí)枮?01380055544.1、發(fā)明名稱為“基于組合的深度提示從單視場(chǎng)圖像生成深度圖”的發(fā)明專利申請(qǐng)的分案申請(qǐng)。
本公開涉及視頻處理,并且具體地,涉及單視場(chǎng)圖像向立體3d圖像的轉(zhuǎn)換。
背景技術(shù):
立體或者“3d”視頻通過仿真立體視覺增強(qiáng)深度感知的錯(cuò)覺,從而通過視差的仿真創(chuàng)造了深度的錯(cuò)覺。然而,延緩立體視頻的普遍采用的一個(gè)方面是立體格式的視頻的可用性。傳統(tǒng)上講,生成立體視頻的主要方法是使用從不同視點(diǎn)設(shè)置角度的兩臺(tái)不同的相機(jī)進(jìn)行立體拍攝以捕獲深度信息。由于與立體拍攝相關(guān)聯(lián)的難度和成本,至今比較少的立體視頻已經(jīng)被生成。
此外,盡管目前有可能從單視場(chǎng)圖像創(chuàng)建立體視頻,但是一些現(xiàn)有技術(shù)依賴于對(duì)象分割以識(shí)別圖像內(nèi)的對(duì)象,然后近似來確定對(duì)象相對(duì)于圖像平面的深度。對(duì)象分割可能錯(cuò)誤地確定對(duì)象的邊界,引起錯(cuò)誤的深度賦值,錯(cuò)誤的深度賦值使得觀看者很難辨別圖像中的什么對(duì)象突出而什么對(duì)象凹陷。因此,現(xiàn)有技術(shù)通常不能夠以一致并精確的方式從描繪圖像中的對(duì)象的深度的單視場(chǎng)圖像創(chuàng)建立體圖像。
技術(shù)實(shí)現(xiàn)要素:
基于用于圖像的顏色深度圖、空間深度圖和運(yùn)動(dòng)深度圖的加權(quán)組合針對(duì)單視場(chǎng)圖像生成了組合的深度圖,其中圖中的每個(gè)圖描述圖像中的每個(gè)像素相對(duì)于圖像平面的深度。在一個(gè)實(shí)施例中,單個(gè)深度圖中的每個(gè)深度圖與用于計(jì)算組合的深度圖的權(quán)重相關(guān)聯(lián)。權(quán)重可以自適應(yīng)地說明不同單視場(chǎng)圖像之間的變化。在一些情況下,深度圖可以與權(quán)重集相關(guān)聯(lián),每個(gè)權(quán)重對(duì)應(yīng)于圖像的一部分,權(quán)重集包括每個(gè)單獨(dú)的像素或者像素組的權(quán)重。
顏色深度圖基于像素的顏色來描述圖像中的每個(gè)像素的深度?;诖_定具有相似顏色的像素很有可能具有相似的深度來生成顏色深度圖,顏色深度圖提供將像素的顏色與其深度的確定關(guān)聯(lián)的顏色深度函數(shù)。在一個(gè)實(shí)施例中,基于圖像中顏色的分布來確定用于顏色深度圖的權(quán)重。根據(jù)顏色對(duì)比度來縮放顏色深度圖權(quán)重,該顏色對(duì)比度表示用于基于顏色來量化深度的置信度。
通過對(duì)跨眾多典型單視場(chǎng)圖像的每個(gè)位置處的像素的深度取平均值來生成空間深度圖。在生成空間深度圖中,指示每個(gè)像素位置處的像素深度的方差的方差圖也可以被生成。基于由方差圖指示的方差來確定空間深度圖權(quán)重。針對(duì)待分析的每個(gè)像素位置,訪問了方差圖并且反向于每個(gè)位置處的方差來縮放空間深度圖權(quán)重。
運(yùn)動(dòng)深度圖使用具有較快運(yùn)動(dòng)的像素更靠近圖像的前景的判定基于它們的局部運(yùn)動(dòng)來確定像素的深度。通過從兩幀之間的像素的總體運(yùn)動(dòng)減去相機(jī)運(yùn)動(dòng)來計(jì)算局部運(yùn)動(dòng)。運(yùn)動(dòng)深度函數(shù)將所計(jì)算的局部運(yùn)動(dòng)與像素深度的圖相關(guān)聯(lián)?;趫D像中的運(yùn)動(dòng)量來確定用于運(yùn)動(dòng)深度圖的權(quán)重。圖像中的具有局部運(yùn)動(dòng)的像素的百分比被確定,并且運(yùn)動(dòng)深度圖權(quán)重按照移動(dòng)像素的百分比的函數(shù)被增加或者減少。
具體地,根據(jù)本發(fā)明,提供一種用于生成圖像的深度圖的方法,所述方法包括:訪問所述圖像,所述圖像包括多個(gè)像素,其中每個(gè)像素具有所述圖像中的顏色和位置;基于圖像中的像素的顏色來確定圖像的顏色深度圖;基于像素的位置和用于多個(gè)其他圖像中相似位置的像素的歷史深度信息來確定圖像的空間深度圖;基于圖像中的像素運(yùn)動(dòng)確定圖像的運(yùn)動(dòng)深度圖;確定顏色深度圖權(quán)重、空間深度圖權(quán)重和運(yùn)動(dòng)深度圖權(quán)重,基于多個(gè)其他圖像中相似位置中的像素的歷史深度方差信息確定空間深度圖權(quán)重,歷史深度方差信息描述歷史深度信息的差異;和從由顏色深度圖權(quán)重加權(quán)的顏色深度圖、由空間深度圖權(quán)重加權(quán)的空間深度圖和由運(yùn)動(dòng)深度圖權(quán)重加權(quán)的運(yùn)動(dòng)深度圖的組合來生成圖像的組合深度圖。
根據(jù)本發(fā)明,還提供一種存儲(chǔ)用于生成圖像的深度圖的計(jì)算機(jī)程序指令的非暫時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)程序指令可執(zhí)行以執(zhí)行包括以下步驟的步驟:訪問所述圖像,所述圖像包括多個(gè)像素,其中每個(gè)像素具有所述圖像中的顏色和位置;基于圖像中的像素的顏色來確定圖像的顏色深度圖;基于像素的位置和用于多個(gè)其他圖像中相似位置的像素的歷史深度信息來確定圖像的空間深度圖;基于圖像中的像素運(yùn)動(dòng)確定圖像的運(yùn)動(dòng)深度圖;確定顏色深度圖權(quán)重、空間深度圖權(quán)重和運(yùn)動(dòng)深度圖權(quán)重,基于多個(gè)其他圖像中相似位置中的像素的歷史深度方差信息確定空間深度圖權(quán)重,歷史深度方差信息描述歷史深度信息的差異;和從由顏色深度圖權(quán)重加權(quán)的顏色深度圖、由空間深度圖權(quán)重加權(quán)的空間深度圖和由運(yùn)動(dòng)深度圖權(quán)重加權(quán)的運(yùn)動(dòng)深度圖的組合來生成圖像的組合深度圖。
根據(jù)本發(fā)明,還提供一種用于生成圖像的深度圖的方法,所述方法包括:訪問所述圖像,所述圖像包括多個(gè)像素,其中每個(gè)像素具有所述圖像中的顏色和位置;基于圖像中的像素的顏色來確定圖像的顏色深度圖;基于像素的位置和用于多個(gè)其他圖像中相似位置的像素的歷史深度信息來確定圖像的空間深度圖;基于圖像中的像素運(yùn)動(dòng)確定圖像的運(yùn)動(dòng)深度圖;確定顏色深度圖權(quán)重、空間深度圖權(quán)重和運(yùn)動(dòng)深度圖權(quán)重,基于具有局部運(yùn)動(dòng)的圖像中的像素的百分比確定運(yùn)動(dòng)深度圖權(quán)重;和從由顏色深度圖權(quán)重加權(quán)的顏色深度圖、由空間深度圖權(quán)重加權(quán)的空間深度圖和由運(yùn)動(dòng)深度圖權(quán)重加權(quán)的運(yùn)動(dòng)深度圖的組合來生成圖像的組合深度圖。
在本發(fā)明內(nèi)容和以下詳細(xì)描述中描述的特征和優(yōu)點(diǎn)不是包含所有的。鑒于附圖、說明書及其權(quán)利要求,很多附加的特征和優(yōu)點(diǎn)將對(duì)于本領(lǐng)域技術(shù)人員是顯而易見的。
附圖說明
圖1圖示了根據(jù)一個(gè)實(shí)施例的生成圖像的組合的深度圖的概況。
圖2是根據(jù)一個(gè)實(shí)施例的深度圖生成模塊的框圖。
圖3是圖示根據(jù)一個(gè)實(shí)施例的用于生成運(yùn)動(dòng)深度圖的過程的流程圖。
圖4是圖示根據(jù)一個(gè)實(shí)施例的用于生成圖像的組合的深度圖的過程的流程圖。
附圖僅為了說明的目的而描繪本發(fā)明的各個(gè)實(shí)施例。本領(lǐng)域技術(shù)人員從以下討論中將容易認(rèn)識(shí)到本文所圖示的結(jié)構(gòu)和方法的備選實(shí)施例可以在不偏離本文所描述的本發(fā)明的原理的情況下被使用。
具體實(shí)施方式
概況
圖1圖示了用于生成圖像的組合的深度圖的過程的概況。視頻幀102是單視場(chǎng)圖像,該單視場(chǎng)圖像在一個(gè)實(shí)施例中是由單視場(chǎng)相機(jī)拍攝的視頻的幀。視頻幀102具有多個(gè)像素,并且可以描繪一個(gè)或者多個(gè)對(duì)象。因?yàn)橐曨l幀102由單視場(chǎng)相機(jī)捕獲,所以視頻幀102的像素在相同平面上,該相同平面在本文中稱為圖像平面。像素并不明確地描述由視頻幀102描繪的對(duì)象的原始深度關(guān)系。
然而,視頻幀102的像素的原始深度關(guān)系的表示可以通過生成用于視頻幀102的各種深度圖來創(chuàng)建。顏色深度圖104使用像素的顏色作為它們的深度的指標(biāo)來確定視頻幀102中的像素的深度。基于圖像中某些位置的對(duì)象將具有特定深度的假設(shè),空間深度圖106使用圖像中的像素的位置來確定深度。運(yùn)動(dòng)深度圖108使用諸如幀i-1與幀i之間的兩幀之間的運(yùn)動(dòng)來確定像素深度。顏色深度圖104、空間深度圖106和運(yùn)動(dòng)深度圖108中的每個(gè)深度圖提供逐像素深度值,像素深度值描述表示像素垂直于視頻幀102的平面突出或者凹陷的量。在一個(gè)實(shí)施例中,較大的深度值指示像素靠近幀的背面,而小的或者負(fù)的深度指示像素靠近平面的前面。
使用圖像的多種特性以確定像素深度的改善的深度圖可以通過組合若干深度圖來生成。組合的深度圖110是顏色深度圖104、空間深度圖106和運(yùn)動(dòng)深度圖108的線性組合。在一個(gè)實(shí)施例中,組合的深度圖110以逐像素為基礎(chǔ)來計(jì)算。例如,給定由顏色深度圖104指示的深度dcolor、由空間深度圖106指示的深度dspatial以及由運(yùn)動(dòng)深度圖108指示的深度dmotion,每個(gè)深度描述了視頻幀102中的位置(x,y)處的像素的深度,組合的深度圖d(x,y)可以表示為:
d(x,y)=w1*dcolor(x,y)+w2*dspatial(x,y)+w3*dmotion(x,y)(1)
其中w1為顏色深度圖權(quán)重,w2為空間深度圖權(quán)重,并且w3為運(yùn)動(dòng)深度圖權(quán)重。在另一實(shí)施例中,針對(duì)圖像的像素組來確定組合的深度圖110。可以使用對(duì)視頻幀102的各個(gè)像素的相同或者不同權(quán)重、使用圖像的不同部分的不同特征來生成組合的深度圖110,以最精確地確定在每個(gè)部分處的深度。
組合深度圖110可以用于從單視場(chǎng)圖像生成立體圖。在一個(gè)實(shí)施例中,基于深度圖像的繪制(dibr)可以用于生成與視頻幀102完全相同但具有偏移像素的幀。例如,如果視頻幀102被用作左幀,則dibr基于由組合的深度圖110所描述的深度通過從左幀偏移像素來創(chuàng)建右?guī)?/p>
圖2是根據(jù)一個(gè)實(shí)施例的配置用于生成組合的深度圖110的深度圖生成模塊200的框圖。深度圖生成模塊200包括顏色深度圖生成器202、空間深度圖生成器204、運(yùn)動(dòng)深度圖生成器206以及組合的深度圖模塊208。深度圖生成模塊200的備選實(shí)施例具有與本文所描述的實(shí)施例不同和/或附加的模塊。類似地,功能可以以與本文所描述的不同的方式被分布在模塊之間。
深度圖生成模塊200被配置以與視頻數(shù)據(jù)庫212通信。在一個(gè)實(shí)施例中,深度圖生成模塊200通過諸如因特網(wǎng)之類的網(wǎng)絡(luò)與視頻數(shù)據(jù)庫212通信。在其他實(shí)施例中,深度圖生成模塊202通過硬件或者專用數(shù)據(jù)通信技術(shù)與視頻數(shù)據(jù)庫212通信。視頻數(shù)據(jù)庫212存儲(chǔ)從各種源獲得的單視場(chǎng)和立體視頻。視頻數(shù)據(jù)庫212可以附加地或者備選地存儲(chǔ)單獨(dú)的圖像。視頻數(shù)據(jù)庫212中的視頻或者圖像可以從用戶獲得,例如通過用戶向視頻倉庫或者視頻托管網(wǎng)站上傳視頻。視頻數(shù)據(jù)庫212中的視頻包括多個(gè)幀,每個(gè)幀具有二維的像素陣列。像素的特定顏色可以被定義在顏色空間中,諸如rgb或者ycbcr顏色空間。
深度生成模塊200處理視頻幀以生成一個(gè)或者多個(gè)深度圖,該一個(gè)或者多個(gè)深度圖描述每個(gè)幀中的相對(duì)于圖像平面的像素深度。在一個(gè)實(shí)施例中,深度生成模塊200生成若干深度圖,并且將深度圖組合成像素深度的單個(gè)表示,其中每個(gè)深度圖使用幀中的不同的深度提示被創(chuàng)建。深度生成模塊200的顏色深度圖生成器202、空間深度圖生成器204和運(yùn)動(dòng)深度圖生成器206均使用不同的深度提示來生成深度圖,該深度圖由深度圖模塊208組合。
顏色深度圖生成器202接收視頻幀102作為輸入,并且使用顏色提示來生成用于幀的深度圖以確定像素的深度。總體上講,顏色深度圖生成器202基于關(guān)聯(lián)像素顏色和深度的啟發(fā)式定義的規(guī)則將不同顏色(或者顏色的范圍)與不同深度相關(guān)聯(lián)。在一個(gè)實(shí)施例中,這樣的規(guī)則通過歷史深度數(shù)據(jù)的分析來定義。顏色深度圖生成器202分析視頻數(shù)據(jù)庫212中的用立體透鏡捕獲的并且具有針對(duì)每個(gè)像素顏色的已知的深度信息的圖像的樣本集。像素顏色可以由指示像素中的每個(gè)原色的強(qiáng)度的三元組(triplet)指定。例如,在rgb顏色空間中,白色可以由(100%,100%,100%)、(255,255,255)或者#ffffff表示,指示紅、綠和藍(lán)分量的最大強(qiáng)度?;谠摎v史顏色深度數(shù)據(jù),顏色深度圖生成器202針對(duì)每個(gè)顏色或者顏色范圍的像素確定平均深度(或者其他品質(zhì)因數(shù))。平均深度可以被合并到顏色深度先驗(yàn)中,諸如將每個(gè)顏色三元組與深度值相關(guān)聯(lián)的查找表。例如,由顏色深度圖生成器202生成的顏色深度先驗(yàn)可以指示與具有更多紅色的像素相關(guān)聯(lián)的小的深度值(即,更靠近幀的前面),以及與具有更多藍(lán)色的像素相關(guān)聯(lián)的更高深度值(即,更靠近幀的背面)。這樣的關(guān)系可以源于通常存在于圖像背景中的諸如天空或者樹(主要具有藍(lán)色)之類的對(duì)象,而諸如人之類的對(duì)象(主要具有紅色)通常定位在前景中。
在另一實(shí)施例中,顏色深度圖生成器202可以基于像素顏色的紅色和藍(lán)色分量的相對(duì)強(qiáng)度使用查找表(或者等價(jià)函數(shù))來將較低深度值(即,更靠近幀的前面)與紅色像素相關(guān)聯(lián)以及將較高深度值(即,更靠近幀的背面)與藍(lán)色像素相關(guān)聯(lián)。例如,在ycbcr顏色空間中,查找表(或者等價(jià)函數(shù))可以將像素的藍(lán)色(cb)和紅色(cr)差分量的線性組合與確定的像素深度關(guān)聯(lián)?;谒{(lán)色像素通常與靠近幀的背面的對(duì)象相關(guān)聯(lián)的假設(shè),顏色深度函數(shù)可以被加權(quán)使得較大的cb分量導(dǎo)致較大的像素深度,而較大的cr成分導(dǎo)致較小或者負(fù)的像素深度。例如,像素深度dcolor可以由具有如下形式的顏色深度函數(shù)表示:
dcolor=α(cb)+(1-α)(β-cr)(2)
其中,α和β從像素導(dǎo)出。值β表示cb和cr的可能值的范圍的大小。例如,如果cb和cr可以具有0與255之間的任何值,則β等于255。
在一個(gè)實(shí)施例中,顏色深度圖生成器202通過執(zhí)行主成分分析來確定α,該主成分分析確定所分析的圖像或者多幅圖像的像素的差分量cb和cr之間的在圖像內(nèi)(或者跨若干圖像的)最大擴(kuò)展的方向。在將像素的顏色的rgb表示轉(zhuǎn)換為ycbcr表示之后,如果適用,顏色深度圖生成器202針對(duì)每個(gè)分析的像素值確定a和b,其中a=cr-128并且b=cb-128。三個(gè)不同的期望值被計(jì)算:sa=e(a2),sb=e(b2)以及sab=e(ab),其中期望e(z)是對(duì)所有所分析的像素的z的平均值。期望值sa、sb和sab用于創(chuàng)建矩陣c,矩陣c被定義為:
主成分分析確定c的特征值和特征向量,并且選擇對(duì)應(yīng)于兩個(gè)特征值中的較大值的特征向量v。當(dāng)被縮放使得其元素總和為1時(shí),v具有元素α和1-α。顏色深度圖生成器202使用方程(2)的顏色深度函數(shù)來生成用于視頻幀102的顏色深度圖104。
在一個(gè)實(shí)施例中,顏色深度圖生成器202通過按照描繪室外場(chǎng)景或者室內(nèi)場(chǎng)景對(duì)圖像進(jìn)行分類來改善顏色深度圖。圖像的分類可以通過收集包括室內(nèi)、室外和背景圖像的圖像訓(xùn)練集來確定,每幅圖像使用其分類來標(biāo)注。從訓(xùn)練圖像提取特征,諸如每幅圖像中的像素的顏色。顏色深度圖生成器202使用諸如支持向量機(jī)(svm)之類的分類器,基于圖像標(biāo)簽根據(jù)所提取的特征來構(gòu)建用于對(duì)圖像進(jìn)行分類的模型??梢葬槍?duì)每個(gè)分類生成不同的顏色深度先驗(yàn)。當(dāng)接收到新的未分類的圖像時(shí),顏色深度圖生成器202從新圖像中提取相同特征并且應(yīng)用訓(xùn)練的模型以確定新圖像的分類。然后,從針對(duì)圖像分類的顏色深度先驗(yàn)確定圖像中的像素的深度。
空間深度圖生成器204基于幀中的各個(gè)位置處的平均像素深度來生成用于視頻幀102的另一深度圖。為了確定平均像素深度,空間深度圖生成器204分析視頻數(shù)據(jù)庫212中的用立體透鏡捕獲并且具有針對(duì)每個(gè)像素位置的已知的深度信息的圖像的樣本集。像素位置可以按照實(shí)際坐標(biāo)對(duì)(x,y)來表示,或者按照基于與圖像原點(diǎn)的偏移的百分比的相對(duì)位置來表示,例如(x%,y%),其中x%為對(duì)于給定像素的總圖像寬度的百分比。因此,640×480圖像中的(320,240)處的像素在位置(0.5,0.5)處。通過對(duì)跨大量3d圖像的在預(yù)定位置處的已知像素深度取平均值,空間圖生成器204生成空間深度先驗(yàn)(表示每個(gè)位置處的像素深度的統(tǒng)計(jì)平均值)和方差先驗(yàn)(表示每個(gè)位置處的像素深度的方差)??臻g深度先驗(yàn)可以被配置為將像素位置與深度關(guān)聯(lián)的查找表。類似地,方差先驗(yàn)可以被配置為將像素位置與深度方差關(guān)聯(lián)的查找表。
由于靠近幀的中心和底部的對(duì)象通常被定位在圖像的前景中,由空間圖生成器204生成的空間深度先驗(yàn)可以指示與定位在靠近圖像的中心和底部的像素相關(guān)聯(lián)的小的深度值以及用于靠近頂部和兩側(cè)的像素的大的深度值。在一個(gè)實(shí)施例中,空間深度圖生成器204確定若干空間深度先驗(yàn),針對(duì)若干可能的場(chǎng)景分類中的每一個(gè)場(chǎng)景分類確定一個(gè)空間深度先驗(yàn)。例如,空間深度圖生成器204可以生成由上文所描述的支持向量機(jī)分類的用于室外和室內(nèi)場(chǎng)景的分離的空間深度先驗(yàn)。在一個(gè)實(shí)施例中,當(dāng)空間深度圖生成器204接收單視場(chǎng)視頻幀102作為輸入時(shí),它通過根據(jù)像素的位置在圖像深度先驗(yàn)中設(shè)置用于圖像的像素的深度值來生成空間深度圖106;該確定針對(duì)圖像中的每個(gè)像素(或者像素組)而做出。在另一實(shí)施例中,空間深度圖生成器204可以縮放由空間深度先驗(yàn)指定的值以生成用于像素的深度值。例如,空間深度先驗(yàn)中的平均值可以被縮放以便對(duì)于落入“室外”分類的圖像變得更大,說明室外場(chǎng)景中的潛在地更大的景深。
運(yùn)動(dòng)深度圖生成器206基于相對(duì)于相機(jī)的運(yùn)動(dòng)的視頻幀102的像素的運(yùn)動(dòng),生成用于視頻幀102的深度圖。運(yùn)動(dòng)深度圖生成器206使用具有最大運(yùn)動(dòng)的對(duì)象通??拷鼛那懊娴募僭O(shè)來確定深度。圖3圖示了由運(yùn)動(dòng)深度圖生成器206采用以計(jì)算兩幀之間的運(yùn)動(dòng)并且基于運(yùn)動(dòng)來確定深度的過程。
為了計(jì)算運(yùn)動(dòng),運(yùn)動(dòng)深度圖生成器206接收兩個(gè)或者更多視頻幀作為輸入,諸如視頻幀102和視頻序列中在幀102之前的幀。使用諸如對(duì)于本領(lǐng)域技術(shù)人員已知的特征檢測(cè)算法從幀中提取(302)特征。這些特征可以包括多個(gè)圖像特征中的任何圖像特征,諸如顏色特征(例如,hsv顏色空間中的色調(diào)和飽和度)、紋理特征(例如,來自伽柏(gabor)小波)、邊緣特征(例如,由坎尼(canny)邊緣探測(cè)器檢測(cè)到的那些)、線特征(例如,由概率哈夫(hough)變換檢測(cè)到的那些)或者諸如sift(尺度不變特征變換)、gloh(梯度位置朝向直方圖)、lesh(基于局部能量的形狀直方圖)或者surf(加速穩(wěn)健特征)之類的特征。在一個(gè)實(shí)施例中,高斯—拉普拉斯(laplacian-of-gaussian)濾波器用于檢測(cè)一幀中的興趣點(diǎn),并且通過計(jì)算局部區(qū)域上的紋理特征的118維伽柏(gabor)小波來確定局部特征。在一個(gè)實(shí)施例中,運(yùn)動(dòng)深度圖生成器206在103的量級(jí)上從每個(gè)幀提取特征。
在提取特征之后,運(yùn)動(dòng)深度圖生成器206通過計(jì)算輸入幀之間的所提取的特征點(diǎn)的運(yùn)動(dòng)來確定304圖像的全局運(yùn)動(dòng)。全局運(yùn)動(dòng)表示相機(jī)自身的移動(dòng)。例如,如果相機(jī)從左向右以固定速率搖鏡頭同時(shí)捕獲視頻,則視頻將具有對(duì)應(yīng)于該固定速率的全局運(yùn)動(dòng)。為了確定全局流,假定視頻中的具有局部運(yùn)動(dòng)的對(duì)象將包括每個(gè)幀的像素的小的子集;大多數(shù)像素很可能在兩幀之間具有完全相同的運(yùn)動(dòng)。由大多數(shù)像素共享的運(yùn)動(dòng)是圖像的全局運(yùn)動(dòng)。在一個(gè)實(shí)施例中,隨機(jī)抽樣一致性(ransac)算法可以用于確定流的穩(wěn)健擬合,忽略具有局部運(yùn)動(dòng)的外圍像素以確定全局流。不具有局部運(yùn)動(dòng)的像素由ransac算法確定為內(nèi)圍層,內(nèi)圍層是其分布可以由全局流解釋的數(shù)據(jù)點(diǎn)。ransac被描述在martina.fischler和robertc.bolles(1981年6月),“randomsampleconsensus:aparadigmformodelfittingwithapplicationtoimageanalysisandautomatedcartography”,comm.oftheacm24(6):381-395中,其通過引用并入本文。
ransac算法輸出將一幀中的像素的位置映射到其在下一幀中的位置的單應(yīng)性矩陣a。例如,給定在幀i0中的位置(x0,y0)處并且在幀i1中的(x1,y1)處的像素,ransac確定了3×3的單應(yīng)性矩陣a以最小化變換錯(cuò)誤
對(duì)于確定為內(nèi)圍層的所有像素,假定λ為標(biāo)量值。在確定單應(yīng)性矩陣之后,運(yùn)動(dòng)深度圖生成器206計(jì)算矩陣a的行列式m,該行列式m量化視頻幀102的像素的全局運(yùn)動(dòng)。
運(yùn)動(dòng)深度圖生成器206也針對(duì)圖像中的每個(gè)像素生成(306)總運(yùn)動(dòng)向量。在一個(gè)實(shí)施例中,總運(yùn)動(dòng)向量由對(duì)于本領(lǐng)域技術(shù)人員已知的光流算法確定。例如,光流算法由bertholdk.p.horn和briang.schunck(1981),“determiningopticalflow”,artificialintelligence17:185-203來描述。由運(yùn)動(dòng)深度圖生成器206采用的光流算法基于像素強(qiáng)度的空間和時(shí)間的導(dǎo)數(shù)來測(cè)量視頻中的幀之間的像素的速度,像素強(qiáng)度的空間和時(shí)間導(dǎo)數(shù)通過諸如塊匹配、相位相關(guān)之類的方法或者若干變分法來求解。
運(yùn)動(dòng)深度圖生成器206通過從單個(gè)像素的運(yùn)動(dòng)向量減去(308)幀的全局運(yùn)動(dòng)m來計(jì)算每個(gè)像素的局部運(yùn)動(dòng)。具體地,局部運(yùn)動(dòng)是總運(yùn)動(dòng)向量的幅度與單應(yīng)性矩陣a的行列式m之間的差值。然后可以基于較快移動(dòng)對(duì)象在幀的前景中的假設(shè)來確定像素深度(310)。在一個(gè)實(shí)施例中,運(yùn)動(dòng)深度圖生成器206將閾值應(yīng)用于每個(gè)像素的局部運(yùn)動(dòng)以將每個(gè)像素分類為具有運(yùn)動(dòng)或者不具有運(yùn)動(dòng)。確定為具有運(yùn)動(dòng)的那些像素可以被賦予為0的深度值(將它們置于前景中),并且確定為不具有運(yùn)動(dòng)的像素可以被賦予255的深度值(將它們置于背景中)。
深度圖模塊208通過計(jì)算顏色深度圖、空間深度圖和運(yùn)動(dòng)深度圖的加權(quán)組合來生成組合的深度圖。顏色深度圖權(quán)重w1、空間深度圖權(quán)重w2和運(yùn)動(dòng)深度圖權(quán)重w3使得深度圖模塊208能夠從單個(gè)深度圖中的每個(gè)深度圖產(chǎn)生組合的深度圖110。在一個(gè)實(shí)施例中,權(quán)重w1、w2和w3均具有在0和1之間并且包括0和1的值,并且一起總和為1。
在一個(gè)實(shí)施例中,深度圖模塊208啟發(fā)式地確定權(quán)重w1、w2和w3。在另一實(shí)施例中,權(quán)重基于幀的特征自適應(yīng),并且根據(jù)各位置處的特征而跨幀地變化。
自適應(yīng)顏色深度圖權(quán)重
在一個(gè)實(shí)施例中,深度圖模塊208基于圖像中顏色的分布來確定用于圖像的顏色深度圖的自適應(yīng)權(quán)重。自適應(yīng)的顏色深度圖權(quán)重w1表示能夠使用顏色提示來生成深度圖的置信度。如果圖像具有窄的顏色分布,則圖像中的所有像素將具有相同的顏色或者類似的顏色,不管它們?cè)趫D像中的深度。因此,當(dāng)顏色分布窄時(shí),更多地依靠諸如空間提示或者運(yùn)動(dòng)提示之類的備選深度提示來確定深度是有利的。另一方面,當(dāng)圖像具有更寬的顏色分布時(shí),顏色深度模塊208將能夠確定更準(zhǔn)確的顏色深度,意味著當(dāng)顏色分布寬時(shí)增加顏色深度圖權(quán)重是有利的。
在一個(gè)實(shí)施例中,深度圖模塊208通過計(jì)算圖像的顏色對(duì)比度來量化顏色的分布。例如,深度圖模塊208可以根據(jù)如下表達(dá)式基于圖像中的像素的強(qiáng)度來計(jì)算均方根(rms)圖像對(duì)比度c
對(duì)于m×n大小的圖像,iij是在位置(i,j)處的像素的強(qiáng)度并且
w1=w1_min+c(w1_max-w1_min).(4)
在另一實(shí)施例中,深度圖模塊基于計(jì)算用于直方圖的離散熵來計(jì)算用于圖像的顏色分布。例如,在ycbcr顏色空間中,深度圖模塊208可以獲取在x軸上量化為b(例如,255)個(gè)直條(bin)的顏色直方圖hist_y、hist_cb和hist_cr。直方圖針對(duì)顏色空間中的每個(gè)顏色通道在每個(gè)顏色直條中表示幀中的像素?cái)?shù)目。深度圖模塊208計(jì)算每個(gè)直方圖的熵h(x)以及具有b個(gè)直條的均勻直方圖的熵。表示每個(gè)通道中的所有顏色的均勻分布的均勻直方圖具有最大的可能的熵h(unif)。在計(jì)算分別表示y、cb和cr通道中的直方圖的熵的h(hist_y)、h(hist_cb)和h(hist_cr)之后,深度圖模塊208通過對(duì)直方圖與h(unif)的比值取平均值來確定顏色深度圖權(quán)重w1:
在方程(5)中,w1_max是對(duì)w1的值的啟發(fā)式選擇的上限。
自適應(yīng)運(yùn)動(dòng)深度圖權(quán)重
在一個(gè)實(shí)施例中,深度圖模塊208基于視頻的兩幀或者更多幀之間的像素的局部運(yùn)動(dòng)的量來確定用于運(yùn)動(dòng)深度圖的自適應(yīng)權(quán)重。如果圖像的像素幾乎不具有局部運(yùn)動(dòng),則具有相似局部運(yùn)動(dòng)的像素將很可能具有不同深度。作為結(jié)果,自適應(yīng)運(yùn)動(dòng)深度圖權(quán)重w2表示使用運(yùn)動(dòng)來確定深度的置信度。
深度圖模塊208基于幀中具有局部運(yùn)動(dòng)的像素的百分比來計(jì)算自適應(yīng)的運(yùn)動(dòng)深度圖權(quán)重。在一個(gè)實(shí)施例中,單個(gè)像素被賦予二進(jìn)制運(yùn)動(dòng)值,該二進(jìn)制運(yùn)動(dòng)值指定像素處于運(yùn)動(dòng)中或者不處于運(yùn)動(dòng)中。距離閾值可以被應(yīng)用到由運(yùn)動(dòng)深度圖生成器206計(jì)算的差向量的幅度,使得擁有具有高于閾值的幅度的差向量的像素被確定為處于運(yùn)動(dòng)中(并且被賦予運(yùn)動(dòng)值“1”),而擁有具有低于閾值的幅度的差向量的像素被確定為靜止的(并且被賦予運(yùn)動(dòng)值“0”)。在將距離閾值應(yīng)用于差向量之后,深度圖模塊208確定了幀中具有局部運(yùn)動(dòng)的像素的百分比p,即p=(mv_1/n),其中mv_1是具有運(yùn)動(dòng)值=1的像素的數(shù)目,n是圖像中的像素的數(shù)目。
運(yùn)動(dòng)深度圖權(quán)重w2按照百分比p的函數(shù)來調(diào)整。在一個(gè)實(shí)施例中,深度估算模塊208將運(yùn)動(dòng)閾值應(yīng)用于具有局域運(yùn)動(dòng)的像素的百分比。如果百分比p高于運(yùn)動(dòng)閾值,則將w2從預(yù)設(shè)值增加小的量。如果百分比p低于運(yùn)動(dòng)閾值,則將w2減少小的量。具體地,給定閾值ε和百分比p,深度估算模塊208可以通過將w2i乘以接近1.0的值相對(duì)于w2i-1來確定w2i的值,w2i對(duì)應(yīng)于幀i中的像素的運(yùn)動(dòng)深度圖權(quán)重,w2i-1對(duì)應(yīng)于幀i-1中的相同像素的運(yùn)動(dòng)深度圖權(quán)重。例如,深度估算模塊208可以根據(jù)如下公式確定w2i
乘數(shù)值(在該示例中的1.02和0.98)可以被啟發(fā)式地確定,并且任何合適值可以被深度圖模塊208使用。深度圖模塊208也可以定義約束運(yùn)動(dòng)深度圖權(quán)重可以偏離預(yù)設(shè)值的量的w2的上下限。
自適應(yīng)空間深度圖權(quán)重
在一個(gè)實(shí)施例中,深度圖模塊208基于空間深度先驗(yàn)的方差來確定用于圖像的空間深度圖的自適應(yīng)權(quán)重。如由空間深度先驗(yàn)所指定的,低方差指示在像素位置處的平均深度值準(zhǔn)確地預(yù)測(cè)像素的深度的較高概率。由空間深度圖生成器204生成的方差先驗(yàn)描述了在每個(gè)像素位置處的深度方差。為了生成用于在位置(x,y)處的像素的自適應(yīng)空間深度圖權(quán)重w3,深度圖模塊208在方差先驗(yàn)中找到(x,y)處的方差。如果方差小,則深度圖模塊208增加w3的值,而如果方差大,則減少w3。在一個(gè)實(shí)施例中,深度圖模塊208通過與由方程(6)描述的方法類似的方法來確定w3,如果方差高于或者低于預(yù)設(shè)閾值則將w3乘以預(yù)定值。
生成組合的深度圖
如果自適應(yīng)權(quán)重被用于生成用于圖像的組合的深度圖,則深度圖模塊208可以在三個(gè)權(quán)重總和是1.0的約束下,使用上文所描述的方法來確定一個(gè)或者兩個(gè)自適應(yīng)權(quán)重并且基于所確定的權(quán)重來計(jì)算剩余權(quán)重。例如,如果深度圖模塊208生成一個(gè)自適應(yīng)權(quán)重(諸如自適應(yīng)w1),剩余兩個(gè)權(quán)重可以被定義為具有固定的比值α使得
α=w2/w3(7)
然后,w2和w3的值可以通過以下公式來確定
以及
備選地,如果深度圖模塊208生成兩個(gè)自適應(yīng)權(quán)重,則第三權(quán)重可以通過從1.0的約束值減去兩個(gè)已生成的權(quán)重來確定。
圖4是圖示用于生成單視場(chǎng)圖像的組合的深度圖的過程的流程圖。過程的步驟可以由深度圖生成模塊200執(zhí)行。其他實(shí)施例可以具有附加的或者更少的步驟,并且可以以不同的順序來執(zhí)行步驟。
深度圖生成模塊200訪問(402)具有多個(gè)像素的單視場(chǎng)圖像。在一個(gè)實(shí)施例中,圖像是視頻的幀,諸如視頻幀102。通過使用像素的顏色以確定它們的深度來確定(404)用于圖像的顏色深度圖?;诰哂邢嗨祁伾南袼貙⒕哂邢嗨粕疃鹊募僭O(shè)來生成顏色深度圖。在一個(gè)實(shí)施例中,深度圖生成模塊200訪問圖像中的像素的顏色信息并且基于歷史深度信息或者顏色深度函數(shù)來計(jì)算顏色深度圖。
深度圖生成模塊200還通過使用像素的位置以確定它們的深度來確定(406)用于圖像的空間深度圖。通過對(duì)從大量3d圖像中獲取到的在各個(gè)位置處的已知像素深度取平均值計(jì)算的空間深度先驗(yàn)提供圖像中的像素的位置與其深度的圖之間的相關(guān)性。在一個(gè)實(shí)施例中,空間深度先驗(yàn)是將像素的位置與其深度關(guān)聯(lián)的查找表。
深度圖生成模塊200通過使用兩幀之間的像素的運(yùn)動(dòng)以確定它們的深度來確定(408)用于圖像的運(yùn)動(dòng)深度圖。像素運(yùn)動(dòng)通過從相同兩幀之間的像素的總運(yùn)動(dòng)減去兩幀之間的全局運(yùn)動(dòng)來確定。
顏色深度圖權(quán)重、空間深度圖權(quán)重和運(yùn)動(dòng)深度圖權(quán)重也被確定(410)。權(quán)重是介于0和1之間的值,并且一起總和為1.0。在一個(gè)實(shí)施例中,權(quán)重在圖像之間以及跨每幅圖像是自適應(yīng)的,說明圖像中的不同特征和用于準(zhǔn)確量化不同特征的深度的每個(gè)深度圖方法的可靠性。
最后,深度圖生成模塊200生成(412)組合的深度圖。組合的深度圖是由顏色深度圖權(quán)重加權(quán)的顏色深度圖、由空間深度圖權(quán)重加權(quán)的空間深度圖以及由運(yùn)動(dòng)深度圖權(quán)重加權(quán)的運(yùn)動(dòng)深度圖的線性組合。通過生成組合的深度圖,深度圖生成模塊200提供圖像中的與由單個(gè)圖單獨(dú)提供的像素深度的圖相比更準(zhǔn)確的像素深度的圖。
附加配置考慮
本發(fā)明的實(shí)施例的前述描述已經(jīng)為了說明的目的被呈現(xiàn);其不旨在窮盡或者將本發(fā)明限制于所公開的精確形式。相關(guān)領(lǐng)域技術(shù)人員可以領(lǐng)會(huì)根據(jù)上述公開的很多修改和變化是可能的。
本描述的一些部分在對(duì)信息的操作的算法和符號(hào)表示方面描述了本發(fā)明的實(shí)施例。這些算法描述和表示通常被數(shù)據(jù)處理領(lǐng)域技術(shù)人員用來向本領(lǐng)域其他技術(shù)人員有效地傳達(dá)他們工作的實(shí)質(zhì)。當(dāng)這些操作被功能地、計(jì)算地或者邏輯地描述時(shí),應(yīng)當(dāng)被理解為由計(jì)算機(jī)程序或者等價(jià)電路、微代碼等實(shí)現(xiàn)。此外,在不失一般性的情況下,還已經(jīng)證明有時(shí)將這些操作的布置稱為模塊是方便的。所描述的操作和它們相關(guān)聯(lián)的模塊可以被體現(xiàn)在軟件、固件、硬件或其任何組合中。
本文所描述的任何步驟、操作或者處理可以利用一個(gè)或者多個(gè)硬件或者軟件模塊,單獨(dú)地或者與其他設(shè)備結(jié)合地被執(zhí)行或者實(shí)現(xiàn)。在一個(gè)實(shí)施例中,軟件模塊利用包括含有計(jì)算機(jī)程序代碼的計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)程序產(chǎn)品來實(shí)現(xiàn),計(jì)算機(jī)程序代碼可以由用于執(zhí)行描述的步驟、操作或者過程中的任何或者全部的計(jì)算機(jī)處理器執(zhí)行。
本發(fā)明的實(shí)施例也可以涉及一種用于執(zhí)行本文的操作的裝置。該裝置可以為了需要的目的而專門構(gòu)建,和/或它可以包括由存儲(chǔ)在計(jì)算機(jī)中的計(jì)算機(jī)程序選擇性激活或者重新配置的通用計(jì)算設(shè)備。這樣的計(jì)算機(jī)程序可以被存儲(chǔ)在非瞬態(tài)、有形的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)或者適合用于存儲(chǔ)電子指令的任何類型的介質(zhì)中,介質(zhì)可以被耦合到計(jì)算機(jī)系統(tǒng)總線。此外,在本說明書中涉及的任何計(jì)算系統(tǒng)可以包括單處理器或者可以是采用為了增加的計(jì)算性能而設(shè)計(jì)的多處理器的架構(gòu)。
本發(fā)明的實(shí)施例也可以涉及由本文所描述的計(jì)算過程生產(chǎn)的產(chǎn)品。這樣的產(chǎn)品可以包括源于計(jì)算過程的信息,其中信息被存儲(chǔ)在非瞬態(tài)、有形的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上并且可以包括計(jì)算機(jī)程序產(chǎn)品或者本文所描述的其他數(shù)據(jù)組合的任何實(shí)施例。
最后,在本說明書中使用的語言已經(jīng)主要為了可讀性和教導(dǎo)的目的而選擇,并且它可能沒有被選擇以描繪或者限制發(fā)明主題。因此,本發(fā)明的范圍旨在不由該詳細(xì)描述限制,而是由基于此來發(fā)布申請(qǐng)的任何權(quán)利要求限制。因此,本發(fā)明的實(shí)施例的公開旨在是說明性的而不是限制本發(fā)明的范圍,本發(fā)明的范圍在以下權(quán)利要求書中被闡述。