深度圖生成方法、裝置和非短暫性計算機可讀介質的制作方法
【專利摘要】本發明提供了一種深度圖生成方法。該方法包括獲取一對具有第一分辨率的左(2D)圖像和右2D圖像,調整所述左2D圖像和所述右2D圖像的尺寸并獲取具有第二圖像分辨率的調整后左2D圖像和調整后右2D圖像,根據所述調整后左2D圖像和所述調整后右2D圖像生成深度圖。
【專利說明】
深度圖生成方法、裝置和非短暫性計算機可讀介質
技術領域
[0001] 本發明涉及圖像處理技術,尤其涉及深度圖生成方法、裝置和非短暫性計算機可 讀介質。
【背景技術】
[0002] 三維(three-dimens ion,3D)圖像采集和顯示技術已被廣泛運用在3D電影、對象識 別等各個領域中。立體照相機拍攝的圖像一般包括一對在不同視點描述同一場景的左2D圖 像和右2D圖像。深度圖可以根據這對左右2D圖像的視差獲得。深度圖包含了從視點到物體 表面的距離信息。深度圖可以是灰度圖像。深度圖中像素的亮度表示其到相機的距離。具有 最大視差值的像素表示了離相機最近的距離,即最小可測量距離。
[0003] 現有技術通常采用固定尺度的芯片來搜索左右2D圖像中的匹配像素對并計算視 差。然而,當相機參數和深度圖分辨率確定時,所生成的深度圖的最小可測量距離不能改 變,即其精度固定單一。
[0004] 本發明披露的方法和系統可用來解決上述一個或多個問題,以及其他問題。
【發明內容】
[0005] 本發明的一個方面提供了一種深度圖生成方法,包括:獲取一對具有第一分辨率 的左2D圖像和右2D圖像,調整所述左2D圖像和所述右2D圖像的尺寸并獲取具有第二圖像分 辨率的調整后左2D圖像和調整后右2D圖像,以及根據所述調整后左2D圖像和所述調整后右 2D圖像生成深度圖。
[0006] 所述方法還包括調整生成的所述深度圖至第三圖像分辨率,以及輸出調整后的深 度圖。
[0007] 所述方法還包括根據所述左2D圖像和所述右2D圖像生成中間深度圖,根據所述中 間深度圖獲取目標物體的深度,以及確定和所述目標物體的所述深度相應的所述第二圖像 分辨率。
[0008] 進一步地,所述方法還包括:將多個深度范圍和多個圖像分辨率關聯,其中所述深 度范圍包括:近距離范圍、中等距離范圍和遠距離范圍,根據所述目標物體的所述深度,確 定所述目標物體所屬的深度范圍,以及將所述目標物體所屬的深度范圍相關聯的圖像分辨 率作為所述第二圖像分辨率。
[0009] 生成所述深度圖還包括:以固定計算尺度進行并行運算來識別所述調整后左2D圖 像和所述調整后右2D圖像中匹配的像素對,其中計算尺度指可同時匹配的像素的總個數, 計算匹配的像素對的視差值,以及根據計算后的所述視差值,指定深度圖中像素的灰度值。 [0010]所述方法還包括:根據所述左2D圖像和所述右2D圖像生成中間深度圖,確定所述 中間深度圖的有效深度范圍,以及根據所述中間深度圖的所述有效深度范圍確定所述第二 圖像分辨率。其中所述有效深度是指其測量精度高于或等于閾值的深度值。
[0011]本發明的另一個方面提供了一種深度圖生成裝置,包括:圖像采集模塊,用于獲取 一對具有第一分辨率的左2D圖像和右2D圖像;圖像分辨率調整模塊,用于調整所述左2D圖 像和所述右2D圖像的尺寸并獲取具有第二圖像分辨率的調整后左2D圖像和調整后右2D圖 像;深度圖生成模塊,用于根據所述調整后左2D圖像和所述調整后右2D圖像生成深度圖。
[0012] 所述裝置還包括深度分辨率調整模塊,用于調整所述生成的深度圖至第三圖像分 辨率,并輸出調整后的深度圖。
[0013] 所述深度圖生成模塊還用于根據所述左2D圖像和所述右2D圖像生成中間深度圖。 所述裝置還包括精度控制模塊,用于根據所述中間深度圖獲取目標物體的深度,并確定和 所述目標物體的所述深度相應的所述第二圖像分辨率。
[0014] 所述精度控制模塊還用于將多個深度范圍和多個圖像分辨率關聯,根據所述目標 物體的所述深度,確定所述目標物體所屬的深度范圍,將所述目標物體所屬的深度范圍相 關聯的圖像分辨率作為所述第二圖像分辨率。其中所述深度范圍包括:近距離范圍、中等距 離范圍和遠距離范圍。
[0015] 進一步地,所述深度圖生成模塊還可用于:以固定計算尺度進行并行運算來識別 所述調整后左2D圖像和所述調整后右2D圖像中匹配的像素對,計算所述匹配的像素間的視 差值,以及根據計算后的所述視差值指定深度圖中像素的灰度值。其中計算尺度指可同時 匹配的像素的總個數。
[0016] 進一步地,所述深度圖生成模塊還用于根據所述左2D圖像和所述右2D圖像生成中 間深度圖。所述裝置還包括精度控制模塊,用于確定所述中間深度圖的有效深度范圍,并根 據所述中間深度圖的所述有效深度范圍確定所述第二圖像分辨率,其中所述有效深度是指 其距離精度高于或等于閾值的深度值。
[0017] 本發明的另一個方面提供了一種非短暫性的計算機可讀介質,用于存儲計算機程 序,當處理器執行所述計算機程序時,實現一種深度圖生成方法。所述方法包括獲取一對具 有第一分辨率的左2D圖像和右2D圖像,調整所述左2D圖像和所述右2D圖像的尺寸并獲取具 有第二圖像分辨率的調整后左2D圖像和調整后右2D圖像,并根據所述調整后左2D圖像和所 述調整后右2D圖像生成深度圖。
[0018] 所述非短暫性的計算機可讀介質存儲的計算機程序執行的所述方法還包括:調整 生成的所述深度圖至第三圖像分辨率,以及輸出調整后的深度圖。
[0019] 所述非短暫性的計算機可讀介質存儲的計算機程序執行的所述方法還包括:根據 所述左2D圖像和所述右2D圖像生成中間深度圖,根據所述中間深度圖獲取目標物體的深 度,并確定和所述目標物體的所述深度相應的所述第二圖像分辨率。
[0020] 進一步地,所述非短暫性的計算機可讀介質存儲的計算機程序執行的所述方法還 包括:將多個深度范圍和多個圖像分辨率關聯。所述深度范圍包括:近距離范圍、中等距離 范圍和遠距離范圍。根據所述目標物體的所述深度,確定所述目標物體所屬的深度范圍,并 將所述目標物體所屬的深度范圍相關聯的圖像分辨率作為所述第二圖像分辨率。
[0021] 生成深度圖還包括:以固定計算尺度進行并行運算來識別所述調整后左2D圖像和 所述調整后右2D圖像中匹配的像素對,其中計算尺度指可同時匹配的像素的總個數,計算 匹配的像素對的視差值,以及根據計算后的所述視差值,指定深度圖中像素的灰度值。
[0022] 所述非短暫性的計算機可讀介質存儲的計算機程序執行的所述方法還包括根據 所述左2D圖像和所述右2D圖像生成中間深度圖,確定所述中間深度圖的有效深度范圍,并 根據所述中間深度圖的所述有效深度范圍確定所述第二圖像分辨率。其中所述有效深度是 指其測量精度高于或等于閾值的深度值。
【附圖說明】
[0023]以下附圖僅僅是為了示意的目的根據所披露的實施例而提供的例子,并不限制本 發明的范圍。
[0024]圖1不出了披露的實施例的不意應用環境。
[0025] 圖2示出了基于披露的實施例的計算系統。
[0026] 圖3示出了基于披露的實施例的用于生成深度圖的示意系統。
[0027]圖4示出了基于披露的實施例的深度計算原理。
[0028] 圖5示出了基于披露的實施例的用于生成深度圖的示意裝置。
[0029] 圖6示出了基于披露的實施例的第一深度圖的深度和視差的關系圖。
[0030] 圖7示出了基于披露的實施例的第二深度圖的深度和視差的關系圖。
[0031 ]圖8示出了基于披露的實施例的第三深度圖的深度和視差的關系圖。
[0032] 圖9示出了基于披露的實施例的用于生成深度圖的示意流程圖。
【具體實施方式】
[0033] 下面將詳細描述如附圖所示的本發明的示意實施例。在可能的情況下,附圖中的 各個部分提到的相同或相似的部分將采用相同的參考標記。顯然地,所描述的實施例僅為 本申請的幾個具體實施例。對于本領域的一般技術人員,依據本發明的思想,在具體實施方 式及應用范圍上均會有改變之處,任何本領域的技術人員能思之的變化,都應落在本申請 的保護范圍內。
[0034] 圖1示出了披露的實施例的示意應用環境。如圖1所示,環境100可以包括電視(TV) 102、遙控器104、服務器106、用戶108和網絡110。基于圖1的說明可以省略某些裝置和加入 其他裝置以更好地描述的實施例。
[0035]電視102可包括任何適當類型的顯示裝置,諸如等離子電視、液晶(LCD)電視、觸摸 屏電視、投影電視、智能電視等。電視102還可以包括其他計算系統,諸如個人計算機(PC)、 平板電腦、移動計算機或智能電話等。此外,電視機102可實現三維顯示功能。電視102可以 包含任何適當類型的顯示配置來創建立體顯示效果,例如快門眼鏡、偏振眼鏡、補色立體眼 鏡等。在某些實施例中,電視102可以實現裸眼三維顯示技術。
[0036] 遙控器104可包括任何適當類型的能對電視102進行遠程控制并通信的計算設備, 諸如定制的電視遙控器、通用遙控器、平板計算機、智能電話或其他任何能夠支持執行遠程 控制功能的計算設備。遙控器104還可以包括其他類型的設備,例如基于運動傳感器的遙控 器、具有深度相機增強功能的遙控器以及簡單的輸入/輸出設備,如鍵盤、鼠標、語音輸入設 備等。
[0037] 遙控器104可以包括任何適當類型的傳感器,用于檢測用戶108的輸入信息以及與 電視機102進行通信,例如體溫傳感器、運動傳感器、麥克風、照相機等。遙控器104可以內嵌 在電視102中,也可與電視102分離。在一個實施例中,遙控器104可以包括立體相機,用于捕 獲3D場景的深度信息并跟蹤用戶108的動作和手勢。
[0038] 用戶108可以使用遙控器104與電視102進行交互,觀看各種節目和執行其他感興 趣的活動。用戶可以使用手勢或身體姿勢來控制電視102。如果電視102是觸摸屏電視,用戶 108也可以與電視102通過觸屏動作交互。用戶108可以是單個用戶或多個用戶,例如一起觀 看電視節目的家庭成員。
[0039] 服務器106可以包括任何適當類型的一個或多個服務器計算機,用于提供視頻內 容給用戶108。服務器106也可用于輔助電視102和遙控器104的通信、數據存儲和數據處理 等。電視102、遙控器104和服務器106可以通過一個或多個通信網絡110進行通信,如電纜網 絡、電話網絡、無線網絡、和/或衛星網絡等。網絡110可包括任何數量的通信網絡和服務器, 用于向服務器106提供各種媒體數據,如3D影音流和立體圖像等。
[0040] 電視102、遙控器104和/或服務器106可在任何適當的計算電路平臺實現。在運行 時,所述計算電路平臺可以獲取立體圖像并生成基于所述立體圖像的深度圖。所生成的深 度圖可以用在各種應用中,如檢測身體姿勢和3D顯示虛擬內容等。圖2示出了可用于實現電 視102、遙控器104和/或服務器106的示例性計算系統200的框圖。
[0041] 如圖2所示,計算系統200可以包括處理器202、存儲介質204、顯示器206、通信模塊 208、數據庫210和外圍設備212。基于圖2的說明可以省略某些裝置和加入其他裝置以更好 地描述的實施例。
[0042] 處理器202可以包括任何合適的單個或多個處理器。處理器202可包括多個內核, 用于多線程或并行處理。處理器202可以執行計算機程序指令序列以進行各種處理。存儲介 質204可以包括存儲器模塊,諸如R0M、RAM、閃存存儲器模塊、和大規模存儲器如⑶-ROM和硬 盤等。
[0043]存儲介質204可以存儲計算機程序,用于在被處理器202執行時實現各種功能,例 如呈現圖形用戶界面、實現臉部識別或手勢識別處理等。當處理器202執行存儲介質204的 計算指令時,可生成深度圖。所述計算機指令可以被組織成模塊來實施本發明公開的各種 計算與功能。
[0044] 通信模塊208可以包括網絡接口設備,用于通過通信網絡建立連接。數據庫210可 以包括一個或多個數據庫,用于存儲數據和對所存儲的數據進行各種操作,如數據庫檢索。 數據庫210可以存儲圖像、視頻、用戶108的個性化信息(如首選項設置、最喜愛的節目、用戶 檔案等)以及其他適當的內容。
[0045] 顯示206可為用戶或電視102的用戶提供信息。顯示206可包括任何適當類型的計 算機顯示裝置或電子顯示設備諸如基于CRT或IXD裝置。顯示器206還可以實現3D顯示技術, 為輸入內容創建3D顯示效果。外圍設備212可包括各種傳感器和其它I/O設備,如身體傳感 器、運動傳感器、麥克風、立體相機、RGB攝像機、紅外攝像機等。
[0046]圖3示出了基于本披露的實施例的用于生成深度圖的示意系統。如圖3所示,深度 圖生成系統300可以包括圖像采集模塊302、深度圖生成裝置304、識別和重建模塊306、控制 模塊308和顯示模塊310。基于圖3的說明可以省略某些裝置和加入其他裝置以更好地描述 的實施例。
[0047]圖像采集模塊302用于獲取一對二維的左2D圖像和二維的右2D圖像,并將左2D圖 像和右2D圖像發送給深度圖生成裝置304。圖像采集的來源可包括一個或多個彩色攝像機, 一個或多個紅外照相機,本地數據存儲,在線存儲等。所述左2D圖像和右2D圖像具有第一圖 像分辨率。在一個實施例中,圖像采集模塊302可包括一個立體相機。所述立體相機可以是 現實世界的相機,也可以是用于捕捉虛擬三維空間的場景的虛擬相機。
[0048]立體相機可包含多個鏡頭或攝像頭,用于捕獲圖像。在這些鏡頭中,一對或多對鏡 頭會被識別使用。舉例來說,一個立體相機可以包含三個鏡頭,也就是說,這個三個鏡頭可 以組成三對鏡頭。當立體相機拍攝一個場景時,一對鏡頭相可獲取相應的一對圖像。這對圖 像即包括左2D圖像和右2D圖像(或稱為左眼視圖和右眼視圖)。這對左2D圖像和右2D圖像也 可以由兩個單獨的相機獲取。
[0049 ]在所披露的實施例中描述的立體相機是指一對左相機和右相機(例如,立體照相 機的兩個鏡頭或兩個光軸平行的獨立相機)。應當指出的是,類似的方法和/或裝置的實施 例也可以適用于兩個以上的鏡頭的立體相機,以及兩個或多個單獨相機。在下文中,使用一 對左相機和右相機拍攝的一對二維圖像可以被稱為立體圖像對。一個立體圖像對包括描述 相同場景的兩幅二維圖像,從水平方向稍微分離的兩點獲取,這兩點即為左相機和右相機 的位置。這兩個圖像可以被稱為左2D圖像和右2D圖像。
[0050] 圖像采集模塊302還可用于獲取相機參數,比如焦距和基線距離。基線距離是指左 相機和右相機之間的距離。
[0051] 應當注意,圖像采集模塊302還可用于獲取三維視頻。三維視頻可以被劃分成多個 幀。每個幀可以對應于一對左2D圖像和右2D圖像。
[0052]深度圖生成裝置304可用于調整所述左2D圖像和所述右2D圖像的分辨率并獲取調 整后左2D圖像和調整后右2D圖像。所述調整后左2D圖像和調整后右2D圖像具有第二圖像分 辨率。在一些實施例中,深度圖生成裝置304還可裁切圖像來獲取具有所需分辨率的圖像。 [0053]深度圖生成裝置304還可用于根據所述左2D圖像和所述右2D圖像生成一個中間深 度圖。進一步地,相機參數也可用于生成深度圖。圖4示出了基于披露的實施例的深度計算 原理。
[0054]如圖4所示,一對左相機和右相機拍攝位置T處的目標物體,獲取一對左2D圖像和 右2D圖像。位置A是左相機的光心,射線AC表示左相機的光軸。位置B是右相機的光心,射線 BC表示右相機的光軸。d為左右相機的光心間的距離(即AB兩點間的距離)。(1也可稱為基線 距離。h為目標物體的深度(即目標物體到相機焦平面的距離)。丨是左右相機攝像頭透鏡的 焦距。PL為左相機的投影平面(如CCD傳感器上的投影面),PR為右相機的投影平面。XL是目 標物體T在左相機投影平面的像素位置,XR是目標物體T在右相機投影平面的像素位置。 [0055]進一步地,在左2D圖像和右2D圖像中,目標物體T會分別出現在不同位置,即XL位 置和XR位置。視差可由這兩個像素位置的差值來確定,即△ X = XR-XL。接近立體相機的物體, 在左2D圖像中會顯示在更靠右的位置,在右2D圖像中會顯示在更靠左的位置,即具有更大 的視差值。距相機遙遠的物體在兩個圖像會顯示在大約相同的位置,即具有更小的視差值。 根據圖4的三角關系,可以推出等式(1)。
[0056」所以,目標物體的深度扣根據視差值和立體兒何參數(如相機參數)計算。此外,當 相機參數確定后(例如,d和f固定),每一深度值對應于一個視差值,深度值與視差值反向相 關。也就是說,較大的視差值意味著物體更靠近相機,較小的視差值意味著物體遠離相機。 這表明當相機參數已知,計算出視差值后即可找到相應的深度值。所以,在一些實施例中, 視差值可以直接用來生成深度圖。
[0057]深度圖可以是灰度圖像,其灰度代表了距離,而不是紋理信息。回到圖3,在實施例 中,左右2D圖像對的其中一個圖像(如左2D圖像)可以用作基礎圖來生成深度圖。每個像素 可根據其深度值被分配亮度值(灰度值)。如此產生的深度圖和基礎圖描述的是相同的視圖 場景。
[0058]對于左2D圖像和右2D圖像均拍攝到的內容,深度圖生成裝置304可在左2D圖像和 右2D圖像中找到一對相匹配的像素,獲得匹配像素對的視差值,并根據所述視差值指定深 度圖中對應像素的灰度值。當左2D圖像作為深度圖的基礎圖,則深度圖對應的像素和左2D 圖像的匹配像素在相同的位置。當輸入圖像是具有第二圖像分辨率的所述調整后左2D圖像 和所述調整后圖像,深度圖生成裝置304可根據所述調整后左2D圖像和所述調整后右2D圖 像生成深度圖。所生成的深度圖也具有第二圖像分辨率。
[0059] 識別和重建模塊306可用于根據所述深度圖識別各種物體和重建所獲取的場景。 控制模塊308可用于根據識別和重建模塊306的識別或重建結果來執行相應的控制操作。顯 示模塊310可以用來顯示接收的內容并促進用戶交互。
[0060] 在一些實施例中,圖像采集模塊302可獲取一個用戶的左右2D圖像。根據不同的應 用,識別和重建模塊306可以識別對象,比如用戶的臉部、用戶的身體部分的位置、用戶的動 作等。控制模塊308用來執行根據所識別的對象進行相應的控制操作。
[0061 ]在一個實施例中,系統300可在身份驗證應用中使用。識別與重構模塊306可以執 行用戶的臉部識別。控制模塊308可將識別和重建模塊306的結果與用戶配置文件進行匹配 檢索。當發現匹配時,控制模塊308可以驗證用戶的身份,并允許用戶訪問相關的數據。
[0062]在另一個實施例中,系統300可在運動檢測或運動控制應用中使用。識別與重構模 塊306可以根據一系列深度圖來跟蹤用戶的身體運動,如手指動作、手勢、肢體語言等。控制 模塊308可根據識別出的用戶手勢動作來執行相應的操作指令,如導航的用戶界面,控制在 視頻游戲中的角色等。
[0063]在一個實施例中,系統300可在三維掃描和三維重建應用中使用。識別和重建模塊 306可基于所捕獲的圖像和其深度圖來重構3D場景。在3D場景中的對象也可以被識別。顯示 模塊310可以采用3D顯示技術。用戶可以使用3D眼鏡或裸眼觀看重建的3D對象或重建的3D 場景。
[0064]圖5示出了基于披露的實施例的用于生成深度圖的示意裝置。比如,該深度圖生成 裝置可以用做深度圖生成裝置304。如圖5所示,深度圖生成裝置500可包括圖像分辨率調整 模塊502,精度控制模塊504,深度圖生成模塊506和深度分辨率調整模塊510。基于圖5的說 明可以省略某些裝置和加入其他裝置以更好地描述的實施例。
[0065]深度圖生成裝置500還可包括圖像采集模塊(如圖像采集模塊302),用于獲取一對 二維的左2D圖像和右2D圖像。所述左2D圖像和右2D圖像具有第一圖像分辨率。
[0066]圖像分辨率調整模塊502可用于調整所述左2D圖像和所述右2D圖像至所需的分辨 率并獲取調整后左2D圖像和調整后右2D圖像。該所需的分辨率也可被稱為第二圖像分辨 率。在一個實施例中,所述左右2D圖像對的第一圖像分辨率可以是1280 X 720像素。第二圖 像分辨率可能是QVGA(Quarter Video Graphics Array,四分之一視頻圖形陣列)分辨率, 艮P320 X 240像素。圖像分辨率調整模塊502可以將左2D圖像和右2D圖像從1280 X 720像素裁 剪到960 X 720像素,再將裁切的圖像從960 X 720像素壓縮到320 X 240像素。第二圖像分辨 率可以由精度控制模塊504確定。
[0067]深度圖生成模塊506,用于根據所述調整后左2D圖像和所述調整后右2D圖像生成 深度圖。深度圖生成模塊506還可包括固定尺度特征匹配模塊5062和視差計算模塊5064。 [0068]固定尺度特征匹配模塊5062可用于在一對左2D圖像和右2D圖像中搜索匹配的像 素對。視差計算模塊5064可用于獲得匹配像素對的視差值,并根據所述視差值指定深度圖 中對應像素的深度值。
[0069]所述調整后左2D圖像和所述調整后右2D圖像可分別作為基礎圖和對照圖。所生成 的深度圖和基礎圖描述的是相同的視圖場景。舉例來說,選擇左2D圖像為基礎圖。產生的深 度圖和左2D圖像就具有相同的視圖。也就是,目標物體在左2D圖像的像素坐標和目標物體 在深度圖中的像素坐標是相同的。固定尺度特征匹配模塊5062可評估基礎圖和對照圖中的 像素的特征的相似性來尋找匹配的像素對。所述特征可以包括如亮度差,梯度差等。
[0070]在一個實施例中,左2D圖像和右2D圖像可以是水平對齊的。因此,固定尺度特征匹 配模塊5062可以沿水平線執行一維的搜索。其中,固定計算尺度指處理器可同時處理的像 素的總個數(同時進行特征匹配的像素個數)。計算尺度可以用像素個數來表示,如64、128、 256、512個像素等。在一些實施例中,具有并行計算功能的計算芯片可用來實現固定尺度特 征匹配功能。舉例來說,處理器可以通過并行運算同時判斷基礎圖的一個像素與對照圖同 一行的256個像素的相似性,則該固定計算尺度為256。
[0071]比如,計算尺度是256像素,在運行時,對于基礎圖中的一個像素 Pl,同時計算對照 圖中和Pl在同一行且距Pl最近的256個像素(包括和Pl像素坐標相同的像素)的特征并和Pl 匹配相似性。在這個例子中,固定計算尺度為256,在對照圖的256個像素中,若像素 P2與基 礎圖的像素 Pl的特征最相似,則被確定為Pl的匹配像素。這樣即可找到匹配的像素對。這個 過程可以重復用于基準圖的所有像素。
[0072]當識別出一個匹配的像素對后,視差計算模塊5064可以得到視差值。視差值是匹 配像素對的像素坐標(例如,Pl的坐標和P2的坐標)間的水平距離。這里,視差值的單位是像 素的個數。視差計算模塊5064可將視差值轉化為深度圖中相應像素的亮度值,這個深度圖 的相應像素的位置和基準圖中的像素位置相同。當每個像素都處理完并分配了相應的亮度 值,就生成了深度圖。在之前的例子中,當計算尺度是256像素,所述匹配像素對的像素坐標 間的水平距離可以是0到255。也就是說,深度圖可以具有對應于256個視差值的256個亮度 等級。
[0073]深度圖的最小可測距離為其最大視差值所對應的點的深度(在之前的例子中為視 差值255的點)。深度圖的測量精度與其可測量的深度差值反相關。可測量的深度差值是指 當前等級亮度對應的深度和下一個等級亮度對應的深度間的距離差。舉例來說,一個像素 亮度值對應的可測深度差值為0.02米,則其測量精度為50/米。可以理解的是,對于越接近 相機的物體,測量精度較高(即,可以檢測到更細微的深度變化)。
[0074]有效深度范圍是指從最小可測距離到測量精度達到預設閾值的距離之間的范圍。 當超過有效深度范圍時,其測量精度可能不夠高且不能從圖像中提取有意義的信息。隨著 固定尺度特征匹配的計算尺度變大,測量精度可以提高。然而,在實踐中,計算資源是有限 的。圖像處理器受到最大計算尺度的限制。也就是說,深度圖的測量精度不能無限提高。
[0075] 若所述調整后左2D圖像和調整后右2D圖像的分辨率(即第二圖像分辨率)確定,使 用固定尺度特征匹配后,所生產的深度圖的最小可測距離是確定的,所產生的深度圖的有 效深度范圍也是確定的。舉例來說,給定第二圖像分辨率是320X240像素、基線距離(SPd) 為12厘米、計算尺度為256,所生成的深度圖的分辨率也是320 X 240像素,其有效深度范圍 為約0.3米至2.2米。
[0076] 為生成所需圖像分辨率的深度圖以及可調節有效深度范圍的深度圖,所述深度圖 生成裝置500還包括一個精度控制模塊504和深度分辨率調整模塊510。精度控制模塊504可 用于根據所需的深度圖參數發送控制指令給圖像分辨率調整模塊502和深度圖分辨率調整 模塊510。所述所需的參數可包括輸出深度圖的所需圖像分辨率。輸出深度圖的所需圖像分 辨率也可被稱為第三圖像分辨率。所需的參數還可包括最小可測距離或有效深度范圍。 [0077]在一個實施例中,從圖像采集模塊獲取的一對所述左2D圖像和右2D圖像具有第一 圖像分辨率。精度控制模塊504可發送控制指令給圖像分辨率調整模塊502,調整所述左2D 圖像和所述右2D圖像至第二圖像分辨率。第二圖像分辨率可以根據輸出深度圖的所需參數 來確定。進一步地,深度圖生成模塊506可以生成具有第二圖像分辨率的深度圖,并發送到 深度分辨率調整模塊510。深度圖調整模塊510可調整所生成的深度圖的分辨率至第三圖像 分辨率,并生成輸出深度圖。
[0078]在一個實施例中,深度圖生成模塊506還用于根據所述左2D圖像和所述右2D圖像 生成一個中間深度圖。精度控制模塊504可用于根據所述中間深度圖獲取一個目標物體的 深度,并確定和所述目標物體的深度對應的第二圖像分辨率。
[0079] 更進一步地,精度控制模塊504可將多個深度范圍和不同的圖像分辨率相關聯。所 述深度范圍包括:近距離范圍、中等距離范圍和遠距離范圍。當獲取所述目標物體的深度 時,精度控制模塊504可根據確定所述目標物體的深度確定其所屬的深度范圍,并將所述目 標物體所屬的深度范圍相關聯的圖像分辨率作為第二圖像分辨率。舉例來說,當目標物體 屬于近距離范圍時,精度控制模塊504可確定與近距離范圍相關聯的圖像分辨率為第二圖 像分辨率。
[0080] 圖6至圖8示出了基于披露的實施例的三種深度圖的深度和視差的關系圖。在這三 個例子中,輸入的左2D圖像和右2D圖像的分辨率(即,第一圖像分辨率)為1280X960像素, 基線距離(即d)為12厘米,計算尺度為256,所需的輸出深度圖的分辨率(即第三圖像分辨 率)為320 X 240像素。
[0081] 圖中,X軸表示視差值,也代表了深度圖中的灰度值。計算尺度是256,則視差值(或 灰度值)的范圍為〇到255。¥軸表示以毫米為單位的深度值。y軸的范圍是0到10米。當深度圖 的像素對應的距離精度高于預設閾值(如,20每米),則認為該像素在有效深度范圍內。 [0082]在第一個例子中,第二圖像分辨率為320 X 240像素。如圖6所示,深度圖的最小可 測距離為約382毫米。深度圖的有效深度范圍為約0.3米至2.2米。在這個例子中,第二圖像 分辨率和第三圖像分辨率相同,故深度圖生成模塊506所生成的深度圖可以直接輸出。在某 些實施方案中,這個例子的有效深度范圍適合短距離應用。
[0083]在第二個例子中,第二圖像分辨率為640X480像素。如圖7所示,深度圖的最小可 測距離為約763毫米。深度圖的有效深度范圍為約0.7米至3.1米。在這個例子中,第二圖像 分辨率比第三圖像分辨率大,深度分辨率調整模塊510可將生成的深度圖從640 X 480像素 壓縮到320X240像素。在某些實施方案中,這個例子的有效深度范圍適合中等距離的應用。 [0084]在第三個例子中,第二圖像分辨率為1280X960像素。如圖8所示,深度圖的最小可 測距離為約1528毫米。深度圖的有效深度范圍為約1.5米至4.5米。在這個例子中,第一圖像 分辨率和第二圖像分辨率相同,所以輸入的左右2D圖像對無需調整,圖像分辨率調整模塊 502可直接將左右2D圖像對發送至深度圖生成模塊506。深度分辨率調整模塊510可將生成 的深度圖從1280 X 960像素壓縮到320 X 240像素。在某些實施方案中,在這個例子的有效測 量范圍適合長距離的應用。
[0085]此外,在一些實施例中,精度控制模塊504可以根據深度圖的所需參數、相機參數 和計算尺度來從多個預設選項中選擇第二圖像分辨率。例如,所述預設選項可以包括三個 設置:短距離,中距離和長距離。每個距離范圍選項都有一個相應的第二圖像分辨率。
[0086]在一個實施例中,給定了輸入圖像對的分辨率(即第一圖像分辨率)為1280 X 960 像素,基線距離(即d)為12厘米,計算尺度是256,第三圖像分辨率為320X240像素時,下面 的表格顯示了對應不同的有效深度范圍的第二圖像分辨率。
LUUS/J 在一些買施例中,相機參=數(例如,基線跑咼和焦跑)和計算K度屬t使仵參=數。也 就是說,當硬件確定后,硬件參數固定,分辨率控制模塊504可基于深度圖的所需參數來確 定第二圖像的分辨率。
[0088]精度控制模塊504可保存如上表所示的分辨率表格。所述表格包含與多個第二圖 像分辨率對應的多個預設選項、多個第三圖像分辨率和各種硬件參數(例如,相機參數和/ 或計算尺度)。也就是說,給定了第三圖像分辨率和有效深度范圍的預設選項,精度控制模 塊504可以在分辨率表格中查詢到相應的第二圖像分辨率。
[0089]例如,給定了計算尺度為256和基線距離為12cm,當深度圖的第三圖像分辨率為 320 X 240像素,有效深度范圍的預設的選擇是中距離范圍,分辨率控制模塊504可確定所述 第二圖像分辨率是640 X 480像素。
[0090] 在一些實施例中,分辨率控制模塊504可用于根據所需的最小可測距離來確定第 二圖像分辨率。精度控制模塊504可保存一個分辨率表格,其中包含了在給定相機參數和計 算尺度后,與多個第二圖像分辨率相應的最小可測距離。因此,精度控制模塊504可以搜索 該表并查找第二圖像分辨率。該第二圖像分辨率對應的最小可測距離是表中與所需的最小 可測距離最接近的值。
[0091] 此外,若當前計算尺度和相機參數不在表中,精度控制模塊504可基于當前計算尺 度和相機參數來計算適當的第二圖像的分辨率。在一個實施例中,精度控制模塊504可選擇 多個候選分辨率。這些候選分辨率的范圍處于第一圖像分辨率和第三圖像分辨率之間。例 如,當第一圖像分辨率為1280 X 960像素而且第三圖像分辨率為320 X 240像素時,候選的分 辨率可以是1280 X 960像素、640 X 480像素和320 X 240像素。
[0092]精度控制模塊504可以計算每個候選分辨率對應的最小可測距離,并將所需的最 小可測距離和計算出的結果進行比較。在一個例子中,計算出的最小可測距離最接近所需 的最小可測距離的候選分辨率可被選擇為第二圖像分辨率。在另一個例子中,具有小于且 最接近所需值的最小可測距離對應的候選分辨率應可被選擇為第二圖像分辨率。
[0093]在一個實施例中,精度控制模塊504可自動選擇第二圖像分辨率。舉例來說,深度 范圍選項可包括:近距離范圍、中等距離范圍和遠距離范圍。每個深度范圍選項都有一個相 應的第二圖像分辨率,依次為Rl、R2和R3。默認設置可以是中距離范圍。運行時,系統300可 以根據默認設置處理第一對左2D圖像和右2D圖像。根據第一對左右2D圖像生成中間深度 圖,并具有圖像分辨率R2。精度控制模塊504可用于根據所述中間深度圖自動獲取一個目標 物體的深度。當目標物體的深度屬于和默認設置不同的另一個深度范圍(如短距離范圍) 時,精度控制模塊504可確定所述另一個深度范圍對應的圖像分辨率(如Rl)作為第二圖像 分辨率。也就是說,在處理當前和以后的左右2D圖像對時,精度控制模塊504可以指示圖像 分辨率調整模塊502將左右2D圖像對調整到第二圖像分辨率。
[0094]在另一個例子中,系統300可使用默認設置在一個預定時間點(例如,開始前5秒, 或在每5分鐘的第一秒)采集多個左右2D圖像對。相應的,可以生成多個深度圖。精度控制模 塊504可根據所述多個深度圖自動計算目標物體的平均深度。當目標物體的平均深度屬于 和默認設置不同的另一個深度范圍時,精度控制模塊504可確定所述另一個深度范圍對應 的圖像分辨率作為第二圖像分辨率。
[0095]圖9示出了基于披露的實施例的用于生成深度圖的示意流程圖。如圖9所示,生成 深度圖的方法可包括下列步驟。
[0096]用立體相機采集一對具有第一圖像分辨率的左2D圖像和右2D圖像(S902)。所述立 體相機可以是現實世界的相機,也可以是虛擬相機。也可獲取相機參數,比如焦距和基線距 離。這對左2D圖像和右2D圖像的是在水平位置稍微不同的兩個點采集的。
[0097]調整所述左2D圖像和所述右2D圖像的尺寸并獲取具有第二圖像分辨率的調整后 左2D圖像和調整后右2D圖像(S906)。
[0098]在執行步驟S906前,該方法可以進一步包括確定第二圖像分辨率的步驟(S904)。 第二圖像分辨率可以根據所需參數來確定。可選地,輸出深度圖的所需參數可以用于確定 第二圖像分辨率。根據輸出深度圖的所需參數、相機參數以及計算尺度,可確定第二圖像分 辨率。在一個實施例中,輸出深度圖的所需參數包括第三圖像分辨率和有效深度范圍。在另 一個實施例中,輸出深度圖的所需參數包括第三圖像分辨率和最小可測距離。
[0099]另外,可以自動確定第二圖像的分辨率。舉例來說,多個深度范圍可以和不同的圖 像分辨率關聯。根據步驟S902獲取的左2D圖像和右2D圖像,可生成一個中間深度圖。根據所 述中間深度圖,可獲取一個目標物體的深度。這個目標物體的深度是屬于某一個深度范圍 的。與目標物體所屬的深度范圍相對應的圖像分辨率即可選為第二圖像分辨率。再將所述 左2D圖像和右2D圖像調整至第二圖像分辨率。
[0100]接著,以固定計算尺度運算,根據所述調整后左2D圖像和所述調整后右2D圖像生 成深度圖。具體來說,生成深度圖時,固定尺度特征匹配可用于在一對左2D圖像和右2D圖像 中搜索匹配的像素對(S908)。計算所述匹配的像素對的視差值。根據所得的視差值為深度 圖中相同坐標的像素分配亮度值(灰度值)。于是,所生成的深度圖也具有第二圖像分辨率 (S910)〇
[0101] 在一些實施例中,生成的深度圖可調整至第三圖像分辨率,并輸出調整后的深度 圖(S912)。所以,輸出的深度圖可具有所需的分辨率。
[0102] 在一些實施例中,所述立體相機可以是現實世界的相機。用于進行固定尺度計算 和調整圖像分辨率的計算芯片可以集成在立體相機中。也就是說,相機參數(例如,基線距 離和焦距),第一圖像分辨率和計算尺度是確定的。所以,第二圖像分辨率可僅根據最小可 測距離或有效深度范圍確定。通過精度控制流程,本發明提供的方法和裝置可用于生成精 度可調的深度圖。
[0103] 本發明還提供了一種非短暫性的計算機可讀介質,用于存儲計算機程序,當處理 器執行所述計算機程序時,實現一種深度圖生成方法。所述方法包括獲取一對具有第一圖 像分辨率的左2D圖像和右2D圖像,調整所述左2D圖像和所述右2D圖像的尺寸并獲取具有第 二圖像分辨率的調整后左2D圖像和調整后右2D圖像,并根據所述調整后左2D圖像和所述調 整后右2D圖像生成深度圖。
[0104] 所述非短暫性的計算機可讀介質存儲的計算機程序執行的所述方法還包括調整 所述生成的深度圖至第三圖像分辨率,并輸出調整后的深度圖。
[0105] 所述非短暫性的計算機可讀介質存儲的計算機程序執行的所述方法還包括根據 所述左2D圖像和所述右2D圖像生成中間深度圖,根據所述中間深度圖獲取一個目標物體的 深度,并確定和所述目標物體的所述深度相應的第二圖像分辨率。
[0106] 更進一步地,將多個深度范圍和多個圖像分辨率關聯。所述深度范圍包括:近距離 范圍、中等距離范圍和遠距離范圍。根據所述目標物體的所述深度,確定所述目標物體所屬 的深度范圍,將所述目標物體所屬的深度范圍相關聯的圖像分辨率作為第二圖像分辨率。
[0107] 生成深度圖時,以固定計算尺度進行并行運算來識別所述調整后左2D圖像和所述 調整后右2D圖像中匹配的像素對。其中計算尺度指可同時匹配的像素的總個數,計算匹配 的像素對的視差值,根據計算后的所述視差值,指定深度圖中像素的灰度值。
[0108] 所述非短暫性的計算機可讀介質存儲的計算機程序執行的所述方法還包括根據 所述左2D圖像和所述右2D圖像生成中間深度圖,確定所述中間深度圖的有效深度范圍,并 根據所述中間深度圖的所述有效深度范圍確定所述第二圖像分辨率。其中所述有效深度是 指其測量精度高于或等于閾值的深度值。
[0109] 在各種實施例中,上述的示意性系統的各個模塊可根據需要用于一個設備或多個 設備。這些模塊可以集成為用于處理指令的一個模塊或多個模塊。每個模塊可以劃分成一 個或多個子模塊,也可通過任何方式重組。
[0110]所披露的實施例僅為示意性舉例。本領域的一般技術人員可知,本發明可包括合 適的軟件和/或硬件(例如,通用硬件平臺)用于執行所披露的方法。例如,所公開的實施例 可僅通過硬件實現、僅通過軟件實現、或通過硬件和軟件的組合來實現。該軟件可以存儲在 存儲介質中。該軟件可包括令任何客戶端設備(例如,包括數字照相機,智能終端,服務器, 或者網絡設備等)實現所公開的實施例的任何合適的指令。
[0111]對于本領域的一般技術人員,依據本發明的思想,在【具體實施方式】及應用范圍上 均會有改變之處,任何本領域的技術人員能思之的變化,都應落在本申請的保護范圍內。
【主權項】
1. 一種深度圖生成方法,其特征在于,包括: 獲取一對具有第一圖像分辨率的左(2D)圖像和右2D圖像, 調整所述左2D圖像和所述右2D圖像的尺寸并獲取具有第二圖像分辨率的調整后左2D 圖像和調整后右2D圖像,以及 根據所述調整后左2D圖像和所述調整后右2D圖像生成深度圖。2. 根據權利要求1所述的方法,其特征在于,還包括: 調整生成的所述深度圖至第三圖像分辨率,以及 輸出調整分辨率后的深度圖。3. 根據權利要求1或2所述的方法,其特征在于,還包括: 根據所述左2D圖像和所述右2D圖像生成中間深度圖, 根據所述中間深度圖,獲取目標物體的深度,以及 確定和所述目標物體的所述深度相應的所述第二圖像分辨率。4. 根據權利要求3所述的方法,其特征在于,還包括: 將多個深度范圍和多個圖像分辨率關聯,其中所述深度范圍包括:近距離范圍、中等距 離范圍和遠距離范圍, 根據所述目標物體的所述深度,確定所述目標物體所屬的深度范圍,以及 將所述目標物體所屬的深度范圍相關聯的圖像分辨率作為所述第二圖像分辨率。5. 根據權利要求1或2所述的方法,其特征在于,生成所述深度圖還包括: 以固定計算尺度進行并行運算來識別所述調整后左2D圖像和所述調整后右2D圖像中 匹配的像素對,其中計算尺度指可同時匹配的像素的總個數, 計算所述匹配的像素對的視差值,以及 根據計算后的所述視差值,指定所述深度圖中像素的灰度值。6. 根據權利要求1或2所述的方法,其特征在于,還包括: 根據所述左2D圖像和所述右2D圖像生成中間深度圖, 確定所述中間深度圖的有效深度范圍,其中所述有效深度是指其測量精度高于或等于 閾值的深度值,以及 根據所述中間深度圖的所述有效深度范圍,確定所述第二圖像分辨率。7. -種深度圖生成裝置,其特征在于,包括: 圖像采集模塊,用于獲取一對具有第一圖像分辨率的左2D圖像和右2D圖像, 圖像分辨率調整模塊,用于調整所述左2D圖像和所述右2D圖像的尺寸并獲取具有第二 圖像分辨率的調整后左2D圖像和調整后右2D圖像,以及 深度圖生成模塊,用于根據所述調整后左2D圖像和所述調整后右2D圖像生成深度圖。8. 根據權利要求7所述的裝置,其特征在于,還包括: 深度分辨率調整模塊,用于調整生成的所述深度圖至第三圖像分辨率,并輸出調整后 的深度圖。9. 根據權利要求7或8所述的裝置,其特征在于, 所述深度圖生成模塊還用于根據所述左2D圖像和所述右2D圖像生成中間深度圖, 所述裝置還包括精度控制模塊,用于根據所述中間深度圖獲取目標物體的深度,并確 定和所述目標物體的所述深度相應的所述第二圖像分辨率。10. 根據權利要求9所述的裝置,其特征在于,所述精度控制模塊還用于: 將多個深度范圍和多個圖像分辨率關聯,其中所述深度范圍包括:近距離范圍、中等距 離范圍和遠距離范圍, 根據所述目標物體的所述深度,確定所述目標物體所屬的深度范圍,以及 將所述目標物體所屬的深度范圍相關聯的圖像分辨率作為所述第二圖像分辨率。11. 根據權利要求7或8所述的裝置,其特征在于,所述深度圖生成模塊還用于: 以固定計算尺度進行并行運算來識別所述調整后左2D圖像和所述調整后右2D圖像中 匹配的像素對,其中計算尺度指可同時匹配的像素的總個數, 計算所述匹配的像素對的視差值,以及 根據計算后的所述視差值,指定所述深度圖中像素的灰度值。12. 根據權利要求7或8所述的裝置,其特征在于, 所述深度圖生成模塊還用于根據所述左2D圖像和所述右2D圖像生成中間深度圖, 所述裝置還包括精度控制模塊,用于確定所述中間深度圖的有效深度范圍,并根據所 述中間深度圖的所述有效深度范圍確定所述第二圖像分辨率,其中所述有效深度是指其測 量精度高于或等于閾值的深度值。13. -種非短暫性的計算機可讀介質,用于存儲計算機程序,當處理器執行所述計算機 程序時,實現一種深度圖生成方法,其特征在于,所述方法包括: 獲取一對具有第一圖像分辨率的左2D圖像和右2D圖像, 調整所述左2D圖像和所述右2D圖像的尺寸并獲取具有第二圖像分辨率的調整后左2D 圖像和調整后右2D圖像,以及 根據所述調整后左2D圖像和所述調整后右2D圖像生成深度圖。14. 根據權利要求13所述的非短暫性的計算機可讀介質,其特征在于,所述方法還包 括: 調整生成的所述深度圖至第三圖像分辨率,以及 輸出調整分辨率后的所述深度圖。15. 根據權利要求13或14所述的非短暫性的計算機可讀介質,其特征在于,所述方法還 包括: 根據所述左2D圖像和所述右2D圖像生成中間深度圖, 根據所述中間深度圖,獲取目標物體的深度,以及 確定和所述目標物體的所述深度相應的所述第二圖像分辨率。16. 根據權利要求15所述的非短暫性的計算機可讀介質,其特征在于,所述方法還包 括: 將多個深度范圍和多個圖像分辨率關聯,其中所述深度范圍包括:近距離范圍、中等距 離范圍和遠距離范圍, 根據所述目標物體的所述深度,確定所述目標物體所屬的深度范圍,以及 將所述目標物體所屬的深度范圍相關聯的圖像分辨率作為所述第二圖像分辨率。17. 根據權利要求13或14所述的非短暫性的計算機可讀介質,其特征在于,生成深度圖 還包括: 以固定計算尺度進行并行運算來識別所述調整后左2D圖像和所述調整后右2D圖像中 匹配的像素對,其中計算尺度指可同時匹配的像素的總個數, 計算所述匹配的像素對的視差值,以及 根據計算后的所述視差值,指定所述深度圖中像素的灰度值。18.根據權利要求13或14所述的非短暫性的計算機可讀介質,其特征在于,所述方法還 包括: 根據所述左2D圖像和所述右2D圖像生成中間深度圖, 確定所述中間深度圖的有效深度范圍,其中所述有效深度是指其測量精度高于或等于 閾值的深度值,以及 根據所述中間深度圖的所述有效深度范圍,確定所述第二圖像分辨率。
【文檔編號】H04N13/02GK106068646SQ201580002623
【公開日】2016年11月2日
【申請日】2015年12月18日 公開號201580002623.5, CN 106068646 A, CN 106068646A, CN 201580002623, CN-A-106068646, CN106068646 A, CN106068646A, CN201580002623, CN201580002623.5, PCT/2015/97882, PCT/CN/15/097882, PCT/CN/15/97882, PCT/CN/2015/097882, PCT/CN/2015/97882, PCT/CN15/097882, PCT/CN15/97882, PCT/CN15097882, PCT/CN1597882, PCT/CN2015/097882, PCT/CN2015/97882, PCT/CN2015097882, PCT/CN201597882
【發明人】趙星星, 趙驥伯
【申請人】京東方科技集團股份有限公司