IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特表2024-509841リアルタイムのアクティブステレオマッチング
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-05
(54)【発明の名称】リアルタイムのアクティブステレオマッチング
(51)【国際特許分類】
   H04N 13/128 20180101AFI20240227BHJP
   H04N 13/239 20180101ALI20240227BHJP
   G06T 7/593 20170101ALI20240227BHJP
【FI】
H04N13/128
H04N13/239
G06T7/593
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023553402
(86)(22)【出願日】2021-03-03
(85)【翻訳文提出日】2023-09-01
(86)【国際出願番号】 US2021070220
(87)【国際公開番号】W WO2022186890
(87)【国際公開日】2022-09-09
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.BLUETOOTH
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ノーバー,ハリス
(72)【発明者】
【氏名】アチャール,スプリート
(72)【発明者】
【氏名】プラブ,キラ
(72)【発明者】
【氏名】バタワデカー,ビニート
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA02
5L096AA06
5L096CA05
5L096DA02
5L096EA39
5L096FA66
5L096GA08
5L096GA10
5L096GA24
5L096GA51
5L096GA55
5L096HA01
(57)【要約】
一態様によれば、リアルタイムのアクティブステレオシステムは、基準画像および副画像を含むステレオ画像データを取り込むように構成された取込みシステムと、奥行きマップを生成するように構成された奥行き感知コンピューティングシステムであって、基準画像および副画像を基に記述子を計算することと、画素変化情報および視差変化情報を基に安定性ペナルティを計算することと、記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、それぞれの平面仮説に関連する記述子の間のマッチングコストを計算し、安定性ペナルティを用いてマッチングコストを更新して、更新されたマッチングコストに基づき、画素のグループに関する複数の平面仮説から平面仮説を選択することを含む、複数の平面仮説を評価することとを行うように構成された奥行き感知コンピューティングシステムとを含む。
【特許請求の範囲】
【請求項1】
リアルタイムのアクティブステレオシステムであって、
基準画像および副画像を含むステレオ画像データを取り込むように構成された取込みシステムと、
奥行きマップを生成するように構成された奥行き感知コンピューティングシステムであって、
前記基準画像および前記副画像を基に記述子を計算することと、
画素変化情報および視差変化情報を基に安定性ペナルティを計算することと、
前記記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、
それぞれの平面仮説に関連する前記記述子の間のマッチングコストを計算し、
前記安定性ペナルティを用いて前記マッチングコストを更新して、
前記更新されたマッチングコストに基づき、前記画素のグループに関する前記複数の平面仮説から平面仮説を選択することを含む、複数の平面仮説を評価することと
を行うように構成された奥行き感知コンピューティングシステムと
を備える、リアルタイムのアクティブステレオシステム。
【請求項2】
前記画素変化情報が画素変化値を含み、前記視差変化情報が視差変化値を含み、前記奥行き感知コンピューティングシステムが、
前記画素変化値を使用して強度乗数を計算し、
前記視差変化値を使用して視差乗数を計算し、
前記強度乗数および前記視差乗数を使用して前記安定性ペナルティを計算するように構成される、
請求項1に記載のリアルタイムのアクティブステレオシステム。
【請求項3】
前記奥行き感知コンピューティングシステムが、
前記画素変化値にエッジアウェアフィルタを適用して、フィルタリングされた画素変化値を導出するように構成され、前記フィルタリングされた画素変化値が前記強度乗数を計算するように使用される、
請求項2または3に記載のリアルタイムのアクティブステレオシステム。
【請求項4】
前記画素変化値が、現在の奥行きマップの基準画像または副画像における画素の画素値と、以前の奥行きマップの基準画像または副画像における画素の画素値との間の差を表し、前記視差変化値が、前記現在の奥行きマップの画素の提出された視差と、前記以前の奥行きマップの画素の視差との間の差を表す、請求項2に記載のリアルタイムのアクティブステレオシステム。
【請求項5】
前記奥行き感知コンピューティングシステムが、
平面仮説評価中に生成され得る最高のマッチングコストを計算し、
前記最高のマッチングコストと、前記強度乗数と、前記視差乗数との積を基に前記安定性ペナルティを計算するように構成される、
請求項2から4のいずれかに記載のリアルタイムのアクティブステレオシステム。
【請求項6】
前記奥行き感知コンピューティングシステムが、前記画素変化値を入力した強度関数を使用して前記強度乗数を計算するように構成される、請求項2から5のいずれかに記載のリアルタイムのアクティブステレオシステム。
【請求項7】
前記奥行き感知コンピューティングシステムが、前記画素変化値を入力した視差関数を使用して前記視差乗数を計算するように構成される、請求項2から6のいずれかに記載のリアルタイムのアクティブステレオシステム。
【請求項8】
前記奥行き感知コンピューティングシステムが、エッジアウェアフィルタを使用して前記マッチングコストをフィルタリングするように構成され、前記安定性ペナルティが、前記フィルタリングされたマッチングコストを更新するように使用される、請求項1から7のいずれかに記載のリアルタイムのアクティブステレオシステム。
【請求項9】
リアルタイムのアクティブステレオに関する方法であって、
基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを受け取るステップと、
前記基準画像および前記副画像を基に記述子を計算するステップと、
画素変化情報および視差変化情報を基に安定性ペナルティを計算するステップと、
前記記述子を使用して、画素のグループに関する複数の平面仮説を評価するステップであって、
それぞれの平面仮説に関連する前記記述子の間のマッチングコストを計算するステップ、
前記安定性ペナルティを用いてマッチングコストを更新するステップ、および
前記画素のグループに関す前記複数の平面仮説から、更新された最低のマッチングコストを有する平面仮説を選択するステップを含む、
複数の平面仮説を評価するステップと
を含む方法。
【請求項10】
前記画素変化情報が画素変化値を含み、前記視差変化情報が視差変化値を含む、方法であって、
前記画素変化値を使用して強度乗数を計算するステップと、
前記視差変化値を使用して視差乗数を計算するステップと、
前記強度乗数および前記視差乗数を使用して前記安定性ペナルティを計算するステップと
をさらに含む、請求項9に記載の方法。
【請求項11】
前記画素変化値にエッジアウェアフィルタを適用して、フィルタリングされた画素変化値を導出するステップであって、前記フィルタリングされた画素変化値が前記強度乗数を計算するように使用される、画素変化値を導出するステップをさらに含む、請求項10に記載の方法。
【請求項12】
前記画素変化値が、現在の奥行きマップの基準画像における画素の画素値と、以前の奥行きマップの基準画像における画素の画素値との間の差を表し、前記視差変化値が、前記現在の奥行きマップの画素の提出された視差と、前記以前の奥行きマップの画素の視差との間の差を表す、請求項10または11に記載の方法。
【請求項13】
平面仮説評価中に生成され得る最高のマッチングコストを計算するステップと、
前記最高のマッチングコストと、前記強度乗数と、前記視差乗数との積を基に前記安定性ペナルティを計算するステップと
をさらに含む、請求項10から12のいずれかに記載の方法。
【請求項14】
前記画素変化値を入力した強度関数を使用して前記強度乗数を計算するステップと、
前記強度関数とは異なる視差関数に前記画素変化値を入力したものを使用して前記視差乗数を計算するステップと
をさらに含む、請求項10から13のいずれかに記載の方法。
【請求項15】
前記記述子の間のハミング距離を基に前記マッチングコストを計算するステップと、
エッジアウェアフィルタを使用して前記マッチングコストをフィルタリングするステップであって、前記フィルタリングされたマッチングコストが前記安定性ペナルティを用いて更新されるステップと
をさらに含む、請求項9から14のいずれかに記載の方法。
【請求項16】
実行可能命令を記憶している非一時的コンピュータ可読媒体であって、少なくとも1つのプロセッサが、前記実行可能命令を実行することによって、
基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを受け取ることと、
前記基準画像および前記副画像を基に記述子を計算することと、
画素変化情報および視差変化情報を基に安定性ペナルティを計算することと、
前記記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、
それぞれの平面仮説に関する前記記述子の間のマッチングコストを計算し、
前記安定性ペナルティを用いてマッチングコストを更新して、
前記更新されたマッチングコストに基づき、前記画素のグループに関する前記複数の平面仮説から平面仮説を選択することを含む、複数の平面仮説を評価することと
を行うように構成される、非一時的コンピュータ可読媒体。
【請求項17】
前記画素変化情報が画素変化値を含み、前記視差変化情報が視差変化値を含み、前記少なくとも1つのプロセッサが、前記実行可能命令に含まれる命令を実行することによって、
前記画素変化値にエッジアウェアフィルタを適用して、フィルタリングされた画素変化値を導出し、
前記フィルタリングされた画素変化値を使用して強度乗数を計算し、
前記視差変化値を使用して視差乗数を計算し、
前記強度乗数および前記視差乗数を使用して前記安定性ペナルティを計算する、
請求項16に記載の非一時的コンピュータ可読媒体。
【請求項18】
前記画素変化値が、現在の奥行きマップの基準画像における画素の画素値と、以前の奥行きマップの基準画像における画素の画素値との間の差を表し、前記視差変化値が、前記現在の奥行きマップの画素の提出された視差と、前記以前の奥行きマップの画素の視差との間の差を表す、請求項17に記載の非一時的コンピュータ可読媒体。
【請求項19】
前記少なくとも1つのプロセッサが、前記実行可能命令に含まれる命令を実行することによって、
平面仮説評価中に生成され得る最高のマッチングコストを計算し、
前記最高のマッチングコストと、前記強度乗数と、前記視差乗数との積を基に前記安定性ペナルティを計算する、
請求項17または18に記載の非一時的コンピュータ可読媒体。
【請求項20】
前記少なくとも1つのプロセッサが、前記実行可能命令に含まれる命令を実行することによって、
前記画素変化値を入力した強度関数を使用して前記強度乗数を計算し、
前記強度関数とは異なる視差関数に前記画素変化値を入力したものを使用して前記視差乗数を計算する、
請求項17から19のいずれかに記載の非一時的コンピュータ可読媒体。
【請求項21】
リアルタイムのアクティブステレオシステムであって、
基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを取り込むように構成された取込みシステムと、
奥行き感知コンピューティングシステムであって、
前記基準画像および前記副画像を基に記述子を計算することと、
画素値の間の強度差に基づき、前記記述子に関連する信頼性データを計算することと、
前記記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、それぞれの平面仮説に関する前記記述子の間のマッチングコストを計算し、前記信頼性データを使用して前記マッチングコストを調節し、前記調節されたマッチングコストに基づき、前記画素のグループに関する前記複数の平面仮説から平面仮説を選択することを含む、複数の平面仮説を評価することと
を行うように構成された奥行き感知コンピューティングシステムと
を備える、リアルタイムのアクティブステレオシステム。
【請求項22】
前記記述子に含まれる、時空ウィンドウにおける画素の近隣を記述する記述子が、前記時空ウィンドウにおける2つの画素の間の比較の結果をそれぞれ表す複数の比較値を含む、請求項21に記載のリアルタイムのアクティブステレオシステム。
【請求項23】
前記信頼性データが、前記複数の比較値に対応する複数の信頼ビットを有する信頼マスクを含み、それぞれの信頼ビットが、対応する比較値が信頼できるか否かを指示する、請求項21または22に記載のリアルタイムのアクティブステレオシステム。
【請求項24】
前記奥行き感知コンピューティングシステムが、2つの画素の間の強度差が第1の閾値よりも大きいことに基づき、信頼ビットの第1の値を計算するように構成される、請求項23に記載のリアルタイムのアクティブステレオシステム。
【請求項25】
前記信頼性データが、前記複数の比較値に対応する複数の不信頼ビットを有する不信頼マスクを含み、それぞれの不信頼ビットが、対応する比較値が信頼できないかどうかを指示する、請求項24に記載のリアルタイムのアクティブステレオシステム。
【請求項26】
前記奥行き感知コンピューティングシステムが、2つの画素の間の強度差が第2の閾値よりも小さいことに基づき、不信頼ビットの第1の値を計算するように構成される、請求項25に記載のリアルタイムのアクティブステレオシステム。
【請求項27】
前記信頼性データが信頼マスクおよび不信頼マスクを含み、前記奥行き感知コンピューティングシステムが、前記記述子の間のハミング距離を基に前記記述子の間の前記マッチングコストを計算し、前記信頼マスクおよび前記不信頼マスクを使用して前記マッチングコストを調節するように構成される、請求項21から26のいずれかに記載のリアルタイムのアクティブステレオシステム。
【請求項28】
前記記述子が基準記述子および副記述子を含み、前記奥行き感知コンピューティングシステムが、
前記基準記述子および前記副記述子を使用して第1のビット演算を実行し、
前記第1のビット演算の結果ならびに前記信頼マスクおよび前記不信頼マスクを使用して第2のビット演算を実行するように構成される、
請求項27に記載のリアルタイムのアクティブステレオシステム。
【請求項29】
リアルタイムのアクティブステレオに関する方法であって、
基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを受け取るステップと、
前記基準画像および前記副画像を基に記述子を計算するステップと、
画素値の間の強度差に基づき、前記記述子に関連する信頼性データを計算するステップと、
前記記述子を使用して、画素のグループに関する複数の平面仮説を評価するステップであって、
それぞれの平面仮説に関する前記記述子の間のマッチングコストを計算するステップ、
前記信頼性データを使用してマッチングコストを調節するステップ、および
前記調節されたマッチングコストに基づき、前記画素のグループに関する前記複数の平面仮説から平面仮説を選択するステップを含む、
複数の平面仮説を評価するステップと
を含む方法。
【請求項30】
前記記述子に含まれる、時空ウィンドウにおける画素の近隣を記述する記述子が、複数の比較値を含み、それぞれの比較値が前記時空ウィンドウにおける2つの画素の間の比較の結果を表す、請求項29に記載の方法。
【請求項31】
前記信頼性データが、前記複数の比較値に対応する複数の信頼ビットを有する信頼マスクを含み、それぞれの信頼ビットが、対応する比較値が信頼できるか否かを指示する、請求項29または30に記載の方法。
【請求項32】
2つの画素の間の強度差が第1の閾値よりも大きいことに基づき、信頼ビットの第1の値を計算するステップをさらに含む、請求項31に記載の方法。
【請求項33】
前記信頼性データが、前記複数の比較値に対応する複数の不信頼ビットを有する不信頼マスクを含み、それぞれの不信頼ビットが、対応する比較値が信頼できないかどうかを指示する、請求項32に記載の方法。
【請求項34】
2つの画素の間の強度差が第2の閾値よりも小さいことに基づき、不信頼ビットの第1の値を計算するステップをさらに含む、請求項33に記載の方法。
【請求項35】
前記信頼性データが信頼マスクおよび不信頼マスクを含む、方法であって、
前記記述子の間のハミング距離を基に前記記述子の間のマッチングコストを計算するステップと、
前記信頼マスクおよび前記不信頼マスクを使用して前記マッチングコストを調節するステップと
を含む、請求項29から34のいずれかに記載の方法。
【請求項36】
実行可能命令を記憶している非一時的コンピュータ可読媒体であって、少なくとも1つのプロセッサが、前記実行可能命令を実行することによって、
基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを受け取ることと、
前記基準画像および前記副画像を基に記述子を計算することと、
画素値の間の強度差に基づき、前記記述子に関連する信頼性データを計算することと、
前記記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、
それぞれの平面仮説に関する前記記述子の間のマッチングコストを計算し、
前記信頼性データを使用して前記マッチングコストを調節して、
前記調節されたマッチングコストに基づき、前記画素のグループに関する前記複数の平面仮説から平面仮説を選択することを含む、複数の平面仮説を評価することとを行う、
非一時的コンピュータ可読媒体。
【請求項37】
前記記述子に含まれる、時空ウィンドウにおける画素の近隣を記述する記述子が、複数の比較値を含み、それぞれの比較値が前記時空ウィンドウにおける2つの画素の間の比較の結果を表す、請求項36に記載の非一時的コンピュータ可読媒体。
【請求項38】
前記信頼性データが、前記複数の比較値に対応する複数の信頼ビットを有する信頼マスクを含み、それぞれの信頼ビットが、対応する比較値が信頼できるか否かを指示する、請求項36または37に記載の非一時的コンピュータ可読媒体。
【請求項39】
前記信頼性データが、前記複数の比較値に対応する複数の不信頼ビットを有する不信頼マスクを含み、それぞれの不信頼ビットが、対応する比較値が信頼できないかどうかを指示する、請求項36から38のいずれかに記載の非一時的コンピュータ可読媒体。
【請求項40】
前記信頼性データが信頼マスクおよび不信頼マスクを含み、前記少なくとも1つのプロセッサが、前記実行可能命令に含まれる命令を実行することによって、
前記記述子の間のハミング距離を基に前記記述子の間のマッチングコストを計算し、
前記信頼マスクおよび前記不信頼マスクを使用して前記マッチングコストを調節する、
請求項36から39のいずれかに記載の非一時的コンピュータ可読媒体。
【請求項41】
リアルタイムのアクティブステレオシステムであって、
基準画像および副画像を含むステレオ画像データを取り込むように構成された取込みシステムと、
奥行きマップを生成するように構成された奥行き感知コンピューティングシステムであって、
前記基準画像および前記副画像を基に記述子を計算することと、
前記記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、それぞれの平面仮説に関する前記記述子の間のマッチングコストを計算して、前記マッチングコストに基づき、前記画素のグループに関する前記複数の平面仮説から平面仮説を選択することを含む、複数の平面仮説を評価することと、
前記マッチングコストに基づき、前記画素のグループに関して選択された前記平面仮説に関連する信頼度重みを生成することと
を行うように構成された奥行き感知コンピューティングシステムと
を備えるリアルタイムのアクティブステレオシステム。
【請求項42】
前記奥行き感知コンピューティングシステムが、前記画素のグループの画素強度変化の量を指示する画素変動値と、前記マッチングコストとを基に、前記信頼度重みを生成するように構成される、請求項41に記載のリアルタイムのアクティブステレオシステム。
【請求項43】
前記画素変動値が、前記記述子に関連した時空ウィンドウにわたって、前記画素のグループにおける前記画素強度変化の量を指示する、請求項42に記載のリアルタイムのアクティブステレオシステム。
【請求項44】
前記時空ウィンドウが所定のサイズの空間的範囲および所定のサイズの時間的範囲を有する、請求項43に記載のリアルタイムのアクティブステレオシステム。
【請求項45】
前記奥行き感知コンピューティングシステムが、前記画素変動値および前記マッチングコストを入力したルックアップ表を使用して前記信頼度重みを生成するように構成され、前記ルックアップ表が、画素変動値とマッチングコストとの組合せに対して信頼度重みをマッピングする、請求項42から44のいずれかに記載のリアルタイムのアクティブステレオシステム。
【請求項46】
前記マッチングコストが前記記述子の間のハミング距離を基に計算される、請求項41から45のいずれかに記載のリアルタイムのアクティブステレオシステム。
【請求項47】
前記奥行き感知コンピューティングシステムが、エッジアウェアフィルタを使用して前記マッチングコストをフィルタリングし、前記フィルタリングされたマッチングコストが、前記平面仮説を選択するように使用され、前記選択された平面仮説に関するフィルタリングされていないマッチングコストが、信頼度重みを計算するように使用される、請求項41から46のいずれかに記載のリアルタイムのアクティブステレオシステム。
【請求項48】
前記記述子の各々が時空ウィンドウにおける複数のペアワイズ強度比較を含む、請求項41から47のいずれかに記載のリアルタイムのアクティブステレオシステム。
【請求項49】
前記複数の平面仮説の各々が、前記ステレオデータで表された対象物の局所的表面ジオメトリを表す別の平面に対応する奥行き推定を含む、請求項41から48のいずれかに記載のリアルタイムのアクティブステレオシステム。
【請求項50】
前記奥行き感知コンピューティングシステムが、前記ステレオ画像データを所定のサイズの領域に分割し、別個の画素のグループを表すそれぞれの領域について、前記複数の平面仮説をたどって、前記記述子を繰り返しサンプリングするように構成される、請求項41から49のいずれかに記載のリアルタイムのアクティブステレオシステム。
【請求項51】
リアルタイムのアクティブステレオに関する方法であって、
基準画像および副画像を含むステレオ画像データを受け取るステップと、
前記基準画像および前記副画像を基に記述子を計算するステップと、
前記記述子を使用して、画素のグループに関する複数の平面仮説を評価するステップであって、
それぞれの平面仮説に関する前記記述子の間のマッチングコストを計算するステップ、
前記マッチングコストに基づき、前記画素のグループに関する前記複数の平面仮説から平面仮説を選択するステップ、および
前記マッチングコストに基づき、前記画素のグループに関して選択された前記平面仮説に関連する信頼度重みを生成するステップ
を含む、複数の平面仮説を評価するステップと
を含む方法。
【請求項52】
前記画素のグループの画素強度変化の量を指示する画素変動値と、前記マッチングコストとを基に、前記信頼度重みを生成するステップをさらに含む、請求項51に記載の方法。
【請求項53】
前記画素変動値が、前記記述子に関連した時空ウィンドウにわたって、前記画素のグループにおける前記画素強度変化の量を指示する、請求項52に記載の方法。
【請求項54】
前記時空ウィンドウが所定のサイズの空間的範囲および所定のサイズの時間的範囲を有する、請求項53に記載の方法。
【請求項55】
前記画素変動値および前記マッチングコストを入力したルックアップ表を使用して信頼度重みを生成するステップであって、前記ルックアップ表が、画素変動値とマッチングコストとの組合せに対して信頼度重みをマッピングする、信頼度重みを生成するステップをさらに含む、請求項52から54のいずれかに記載の方法。
【請求項56】
前記記述子の間のハミング距離を基に前記マッチングコストを計算するステップと、
エッジアウェアフィルタを使用して前記マッチングコストをフィルタリングするステップと、
前記フィルタリングされたマッチングコストを基に前記平面仮説を選択するステップと、
前記選択された平面仮説に関するフィルタリングされていないマッチングコストを使用して前記信頼度重みを計算するステップと
をさらに含む、請求項51から55のいずれかに記載の方法。
【請求項57】
実行可能命令を記憶している非一時的コンピュータ可読媒体であって、少なくとも1つのプロセッサが、前記実行可能命令を実行することによって、
基準画像および副画像を含むステレオ画像データを受け取ることと、
前記基準画像および前記副画像を基に記述子を計算することと、
前記記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、
それぞれの平面仮説に関する前記記述子の間のマッチングコストを計算し、
前記マッチングコストに基づき、前記画素のグループに関する前記複数の平面仮説から平面仮説を選択して、
前記マッチングコストおよび画素変動値に基づき、前記画素のグループに関して選択された前記平面仮説に関連する信頼度重みを生成することを含む、複数の平面仮説を評価することとを行う、
非一時的コンピュータ可読媒体。
【請求項58】
前記画素変動値が、前記記述子に関連した時空ウィンドウにわたって、前記画素のグループにおける前記画素強度変化の量を指示し、前記時空ウィンドウが所定のサイズの空間的範囲および所定のサイズの時間的範囲を有する、請求項57に記載の非一時的コンピュータ可読媒体。
【請求項59】
前記少なくとも1つのプロセッサが、前記実行可能命令に含まれる命令を実行することによって、前記画素変動値と前記マッチングコストとを入力したルックアップ表を使用して信頼度重みを生成し、前記ルックアップ表が、画素変動値とマッチングコストとの組合せに対して信頼度重みをマッピングする、請求項57または58に記載の非一時的コンピュータ可読媒体。
【請求項60】
前記少なくとも1つのプロセッサが、前記実行可能命令に含まれる命令を実行することによって、
前記記述子の間のハミング距離を基に前記マッチングコストを計算し、
エッジアウェアフィルタを使用して前記マッチングコストをフィルタリングし、
前記フィルタリングされたマッチングコストを基に前記平面仮説を選択し、
前記選択された平面仮説に関するフィルタリングされていないマッチングコストを使用して前記信頼度重みを計算する、
請求項57から59のいずれかに記載の非一時的コンピュータ可読媒体。
【請求項61】
リアルタイムのアクティブステレオシステムであって、
基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを取り込むように構成された取込みシステムであって、前記基準画像または前記副画像が、第1の時間窓に属する第1の画像および第2の時間窓に属する第2の画像を含む、取込みシステムと、
奥行き感知コンピューティングシステムであって、
二者択一的に、i)比較のために、前記第1の画像または前記第2の画像のうち1つからの各画素を選択し、ii)比較のために、前記第1の画像からの1つの画素および前記第2の画像からの1つの画素を選択する、ことよって記述子を計算することを含めて、前記基準画像および前記副画像を基に記述子を計算して、
前記記述子を使用して奥行きマップを生成する
ように構成された奥行き感知コンピューティングシステムと
を備えるリアルタイムのアクティブステレオシステム。
【請求項62】
前記奥行き感知コンピューティングシステムが、所定のサイズの空間的範囲および所定のサイズの時間的範囲を有する時空ウィンドウにわたって記述子を計算するように構成される、請求項61に記載のリアルタイムのアクティブステレオシステム。
【請求項63】
前記奥行き感知コンピューティングシステムが、前記時空ウィンドウにおけるすべての画素が選択されるまで、比較において既に使用された画素は再サンプリングしないように構成される、請求項62に記載のリアルタイムのアクティブステレオシステム。
【請求項64】
前記奥行き感知コンピューティングシステムが、前記時空ウィンドウのすべての画素が前記時空ウィンドウにおいてサンプリングされたと判定されることに応答して、前記時空ウィンドウにおける、閾値レベルよりも大きいサイクル長さを有する画素を再選択するように構成される、請求項63に記載のリアルタイムのアクティブステレオシステム。
【請求項65】
前記記述子が複数の比較値を含み、前記複数の比較値の数が所定の数である、請求項61から64のいずれかに記載のリアルタイムのアクティブステレオシステム。
【請求項66】
前記記述子が第1の値および第2の値を含む複数の比較値を含み、前記第1の値が前記第1の画像の画素の間の比較の結果を表し、前記第2の値が、前記第1の画像の画素と前記第2の画像の画素との間の比較の結果を表す、請求項61から65のいずれかに記載のリアルタイムのアクティブステレオシステム。
【請求項67】
前記複数の比較値が第3の値および第4の値を含み、前記第3の値が前記第2の画像の画素の間の比較の結果を表し、前記第4の値が、前記第2の画像の画素と前記第1の画像の画素との間の比較の結果を表す、請求項66に記載のリアルタイムのアクティブステレオシステム。
【請求項68】
前記奥行き感知コンピューティングシステムが、記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、
それぞれの平面仮説に関する前記記述子の間のマッチングコストを計算することと、
前記画素のグループに関する前記複数の平面仮説から、最低の更新されたマッチングコストを有する平面仮説を選択することと
を含む、複数の平面仮説を評価することを行うように構成される、
請求項61から67のいずれかに記載のリアルタイムのアクティブステレオシステム。
【請求項69】
リアルタイムのアクティブステレオに関する方法であって、
基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを受け取るステップであって、前記基準画像または前記副画像が、第1の時間窓に属する第1の画像および第2の時間窓に属する第2の画像を含む、ステレオ画像データを受け取るステップと、
二者択一的に、i)比較のために、前記第1の画像または前記第2の画像のうち1つからの各画素を選択し、ii)比較のために、前記第1の画像からの1つの画素および前記第2の画像からの1つの画素を選択する、ことよって記述子を計算するステップを含む、前記基準画像および前記副画像を基に記述子を計算するステップと、
前記記述子を使用して奥行きマップを生成するステップと
を含む方法。
【請求項70】
前記記述子が、所定のサイズの空間的範囲および所定のサイズの時間的範囲を有する時空ウィンドウにわたって計算される、請求項69に記載の方法。
【請求項71】
比較において既に使用された画素は、前記時空ウィンドウにおけるすべての画素が選択されるまで再サンプリングされない、請求項70に記載の方法。
【請求項72】
前記時空ウィンドウにおいてすべての画素がサンプリングされたと判定されることに応答して、前記時空ウィンドウにおける、閾値レベルよりも大きいサイクル長さを有する画素を再選択するステップをさらに含む、請求項71に記載の方法。
【請求項73】
前記記述子が複数の比較値を含み、前記複数の比較値の数が所定の数である、請求項69から72のいずれかに記載の方法。
【請求項74】
前記記述子が第1の値および第2の値を含む複数の比較値を含み、前記第1の値が前記第1の画像の画素の間の比較の結果を表し、前記第2の値が、前記第1の画像の画素と前記第2の画像の画素との間の比較の結果を表す、請求項69から73のいずれかに記載の方法。
【請求項75】
前記複数の比較値が第3の値および第4の値を含み、前記第3の値が前記第2の画像の画素の間の比較の結果を表し、前記第4の値が、前記第2の画像の画素と前記第1の画像の画素との間の比較の結果を表す、請求項74に記載の方法。
【請求項76】
前記記述子を使用して、画素のグループに関する複数の平面仮説を評価するステップであって、
それぞれの平面仮説に関する前記記述子の間のマッチングコストを計算するステップ、および
前記画素のグループに関する前記複数の平面仮説から、更新された最低のマッチングコストを有する平面仮説を選択するステップ
を含む、複数の平面仮説を評価するステップ
をさらに含む、請求項69から75のいずれかに記載の方法。
【請求項77】
実行可能命令を記憶している非一時的コンピュータ可読媒体であって、少なくとも1つのプロセッサが、前記実行可能命令を実行することによって、
基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを受け取ることであって、前記基準画像または前記副画像が、第1の時間窓に属する第1の画像および第2の時間窓に属する第2の画像を含む、ステレオ画像データを受け取ることと、
二者択一的に、i)比較のために、前記第1の画像または前記第2の画像のうち1つからの各画素を選択し、ii)比較のために、前記第1の画像からの1つの画素および前記第2の画像からの1つの画素を選択する、ことよって記述子を計算することを含む、前記基準画像および前記副画像を基に記述子を計算することと、
前記記述子を使用して奥行きマップを生成することと
を行う、非一時的コンピュータ可読媒体。
【請求項78】
前記記述子が、所定のサイズの空間的範囲および所定のサイズの時間的範囲を有する時空ウィンドウにわたって計算される、請求項77に記載の非一時的コンピュータ可読媒体。
【請求項79】
前記少なくとも1つのプロセッサが、前記実行可能命令に含まれる命令を実行することによって、
前記時空ウィンドウにおけるすべての画素がサンプリングされたと判定して、
閾値レベルよりも大きいサイクル長さを有する、前記時空ウィンドウにおける画素を再選択する、
請求項78に記載の非一時的コンピュータ可読媒体。
【請求項80】
前記記述子が、第1の値、第2の値、第3の値、および第4の値を含む複数の比較値を含み、前記第1の値が前記第1の画像の画素の間の比較の結果を表し、前記第2の値が、前記第1の画像の画素と前記第2の画像の画素との間の比較の結果を表し、前記第3の値が前記第2の画像の画素の間の比較の結果を表し、前記第4の値が、前記第2の画像の画素と前記第1の画像の画素との間の比較の結果を表す、請求項77から79のいずれかに記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
実施形態は、奥行きマップの解像度および/または精度を向上するためのリアルタイムのアクティブステレオシステムに関する。
【背景技術】
【0002】
発明の背景
ステレオマッチングは、ステレオビジョンまたは視差マッピングとしても知られている、シーンの奥行きを検出するための処理であり、別々の視点から2つの画像を取り込むステップと、それらの画像を照合して、シーンの中の各要素の視差(たとえば位置の差)を突きとめるステップとを包含する処理である。アクティブステレオマッチングは、構造光を使用してステレオマッチング問題を簡素化する処理である。しかしながら、従来のアクティブステレオマッチング技術は、計算コストが割高であり、これら従来のシステムの解像度および精度は、リアルタイム処理を必要とする用途および/またはより高いレベルの詳細および精度を必要とする用途の必要性を満たさない可能性がある。
【発明の概要】
【課題を解決するための手段】
【0003】
概要
一態様によれば、リアルタイムのアクティブステレオシステムは、基準画像および副画像を含むステレオ画像データを取り込むように構成された取込みシステムと、奥行きマップを生成するように構成された奥行き感知コンピューティングシステムであって、基準画像および副画像を基に記述子を計算することと、画素変化情報および視差変化情報を基に安定性ペナルティを計算することと、記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、それぞれの平面仮説に関連する記述子の間のマッチングコストを計算し、安定性ペナルティを用いてマッチングコストを更新して、更新されたマッチングコストに基づき、画素のグループに関する複数の平面仮説から平面仮説を選択することを含む、複数の平面仮説を評価することとを行うように構成された、奥行き感知コンピューティングシステムとを含む。いくつかの態様によれば、リアルタイムのアクティブステレオシステムの機能を含む方法および/またはコンピュータ可読媒体が提供される。
【0004】
一態様によれば、リアルタイムのアクティブステレオシステムは、基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを取り込むように構成された取込みシステムと、奥行き感知コンピューティングシステムであって、基準画像および副画像を基に記述子を計算することと、画素値の間の強度差に基づき、記述子に関連する信頼性データを計算することと、記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、それぞれの平面仮説に関する記述子の間のマッチングコストを計算し、信頼性データを使用してマッチングコストを調節して、調節されたマッチングコストに基づき、画素のグループに関する複数の平面仮説から平面仮説を選択することを含む、複数の平面仮説を評価することとを行うように構成された、奥行き感知コンピューティングシステムとを含む。いくつかの態様によれば、リアルタイムのアクティブステレオシステムの機能を含む方法および/またはコンピュータ可読媒体が提供される。
【0005】
一態様によれば、リアルタイムのアクティブステレオシステムは、基準画像および副画像を含むステレオ画像データを取り込むように構成された取込みシステムと、奥行きマップを生成するように構成された奥行き感知コンピューティングシステムであって、基準画像および副画像を基に記述子を計算することと、記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、それぞれの平面仮説に関する記述子の間のマッチングコストを計算し、マッチングコストに基づき、画素のグループに関する複数の平面仮説から平面仮説を選択して、マッチングコストに基づき、画素のグループに関して選択された平面仮説に関連する信頼度重みを生成することを含む、複数の平面仮説を評価することとを行うように構成された、奥行き感知コンピューティングシステムとを含む。いくつかの態様によれば、リアルタイムのアクティブステレオシステムの機能を含む方法および/またはコンピュータ可読媒体が提供される。
【0006】
一態様によれば、リアルタイムのアクティブステレオシステムは、基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを取り込むように構成された取込みシステムであって、基準画像または副画像が、第1の時間窓に関連した第1の画像および第2の時間窓に関連した第2の画像を含む、取込みシステムと、奥行き感知コンピューティングシステムであって、比較のために、二者択一的に、i)第1の画像または第2の画像のうち1つからの各画素、およびii)第1の画像からの1つの画素および第2の画像からの1つの画素を選択することによって、記述子を計算することを含めて、基準画像および副画像を基に記述子を計算し、記述子を使用して奥行きマップを生成するように構成された奥行き感知コンピューティングシステムとを含む。いくつかの態様によれば、リアルタイムのアクティブステレオシステムの機能を含む方法および/またはコンピュータ可読媒体が提供される。
【図面の簡単な説明】
【0007】
図1A】一態様によるリアルタイムのアクティブステレオシステムを示す図である。
図1B】一態様による、リアルタイムのアクティブステレオシステムの奥行き感知コンピューティングシステムが受け取るステレオ画像データの一例を示す図である。
図1C】一態様によるマッチングコストの一例を示す図である。
図1D】一態様による、記述子の計算の図的表現である。
図1E】一態様による、画素のグループの平面仮説の評価の図的表現である。
図1F】一態様による、リアルタイムのアクティブステレオシステムの局所的ステレオ再構成アルゴリズムによって実行可能な平面評価ループのサブステップを示す図である。
図1G】一態様による、繰り返すパターン化-パターン化-ガイドシーケンスにおけるステレオ画像のタイミング図である。
図2A】一態様による、画素を比較するための比較グラフである。
図2B】一態様による、記述子の中の冗長情報の量を減少させるための記述子生成器を示す図である。
図3】一態様による、記述子生成器によって生成された記述子を使用して奥行きマップを生成する例示の動作を表す流れ図である。
図4】一態様による、信頼性データを生成するための記述子生成器を示す図である。
図5】一態様による、信頼性データを用いてマッチングコストが更新される奥行きマップを生成する、例示の動作を表す流れ図である。
図6A】一態様による、奥行きマップの安定性を向上するための安定性モジュールを示す図である。
図6B】一態様による、安定性ペナルティを生成するための安定性モジュールの一例を示す図である。
図6C】一態様による安定性モジュールの強度関数を示す図である。
図6D】一態様による安定性モジュールの視差関数を示す図である。
図7】一態様による、安定性ペナルティを用いてマッチングコストが更新される奥行きマップを生成する、例示の動作を表す流れ図である。
図8】一態様による、ステレオ内部データを使用して信頼度重みを生成するための信頼度重み生成器を示す図である。
図9】一態様による、各画素のステレオ奥行き推定値の信頼度重みを生成する例示の動作を表す流れ図である。
図10】一態様による、コンピューティングデバイスおよびモバイルコンピューティングデバイスの一例を示す図である。
図11】一態様による3次元テレプレゼンスシステムを示す図である。
図12】一態様による、2人のユーザの間の3次元テレビ会議を行うための3次元テレプレゼンスシステムを示すブロック図である。
【発明を実施するための形態】
【0008】
詳細な説明
本開示は、一対のステレオカメラ(たとえば基準ステレオカメラおよび副ステレオカメラ)を使用して、ステレオ画像データ(たとえば複数の一時的な露光にわたるステレオ画像)を取り込むように構成されたリアルタイムのアクティブステレオシステムと、各画素における値(たとえば視差値)が、最も近い表面までの、関連する光線に沿った距離である、ステレオ画像データを基に、奥行きマップ(たとえば視差マップまたは奥行き画像)を生成することとに関する。リアルタイムのアクティブステレオシステムは、基準ステレオカメラの画素が副ステレオカメラの画素と照合され得たら、関連する光線を三角測量して、その画素における表面の奥行きを回収することができる。
【0009】
2つの画素が一致するかどうか判定するために、画素値が直接比較され得る。しかしながら、リアルタイムのアクティブステレオシステムは、2つの画素が一致するかどうかを判定するために記述子を使用する。たとえば、リアルタイムのアクティブステレオシステムは、(たとえば基準ステレオカメラから取り込まれた基準画像からの)基準記述子および(たとえば副ステレオカメラから取り込まれた副画像からの)副記述子を計算し得る。記述子(たとえばバイナリ記述子)は、特定の画素の近隣を記述してよく、こうすれば、画像同士を照合するとき(画素値を直接比較するのと比較して)より頑健であり得る。
【0010】
記述子は、画素の近隣を記述し得る。いくつかの例では、記述子は画素比較情報を含み得る。画素比較情報は複数の比較値を含み得る。比較値(たとえば0または1)は、画像データにおいて1つの画素を別の画素と比較した結果を反映した情報を含み得る。いくつかの例では、記述子は、時空ウィンドウにわたる画素比較情報を含み得る。いくつかの例では、時空ウィンドウは、所定のサイズの空間的範囲および所定のサイズの時間的範囲を有する。いくつかの例では、空間的範囲は2×2の画素~8×8の画素であり、時間的範囲は2つ~6つの時間ウィンドウ(たとえば、2つ~6つの時間間隔をおいて配置された画像)である。記述子は2進値のセットを含み得、それぞれの値が画素比較の結果を表す。画素比較は、同一の画像部分(たとえば第1の画素と第2の画素とが同一の画像の中にある)、または別々の時間に取り込まれた別々の画像部分(たとえば、第1の画素が時間Aにおいて取り込まれた第1の画像部分にあり、第2の画素が時間Bにおいて取り込まれた第2の画像部分ある)にわたる、第1の画素の強度と第2の画素の強度との比較の結果でよい。所与の比較において、第1の画素の画素値が第2の画素の画素値よりも大きければ、それぞれのビット位置に第1の値(たとえば1)が記録され、そうでなければ第2の値(たとえば0)が記録され得る。記述子が32ビットの記述子であるなら、32対の画素が選択され、それぞれの比較がビット値をもたらす。
【0011】
リアルタイムのアクティブステレオシステムは、ステレオ画像データを画素のグループ(たとえば所定のサイズの領域またはタイル)に分割し、グループの各々について、記述子を使用して複数の平面仮説(たとえば傾けた平面仮説)を評価して、評価の結果を基に、奥行きマップに関する視差値を更新し得る。いくつかの例では、評価は、記述子の間のマッチングコスト(たとえば不一致のコスト(コストと称されることもある))を計算するステップを含む。いくつかの例では、画素のグループの中の画素のサブセットに対して、画素のそのサブセットに対するフィルタリングされたマッチングコストが最低になる(またはフィルタリングされたマッチングコストが閾値レベル以下になる)平面(たとえば平面仮説)が選択されるように、フィルタリングされたマッチングコストを取得するために、マッチングコスト(たとえば未処理のコスト)が、エッジアウェアフィルタを使用してフィルタリングされる。言い換えれば、リアルタイムのアクティブステレオシステムは、各画素に、最低のフィルタリングされたマッチングコストをもたらした平面仮説に由来する奥行きを割り当ててよい。いくつかの例では、マッチングコストは、2つの記述子の内部で異なるビット数(たとえばハミング距離)を基に計算される。
【0012】
リアルタイムのアクティブステレオシステムは、比較グラフにサイクルが存在することによって発生し得る特定の記述子の内部に含まれる冗長情報の量を減少することができる記述子生成器を含み得る。たとえば、記述子生成器は、比較グラフにおけるサイクルを最小限にするか回避する比較を生成するように、画素を、目的にかなうように方策を立ててサンプリングすることにより、記述子の情報量を増加させる記述子を生成することがある。いくつかの例では、記述子生成器は、比較のために、画素を、ランダムに(または準ランダムに)選択するのではなく、二者択一的に、1)同一のタイムスライスからの画素、および2)別々のタイムスライスからの画素を選択することによって記述子を計算し得る。記述子生成器は、時空ウィンドウにおける画素がすべて選択されるまで、または記述子がその最大ビット数に達するまで、この処理を繰り返し得る。また、記述子生成器は、時空ウィンドウにおける画素がすべて選択されるまでは、比較において使用済の画素の再選択を回避し得る。いくつかの例では、時空ウィンドウにおけるすべての画素が選択されてしまったら(しかも引き続き比較する必要がある場合には)、記述子生成器は、画素のグラフ構造のサイクル長が、閾値レベルおよび/または別の可能な機構のサイクル長よりも長くなるように、画素を選択してよい。
【0013】
上記で指示されたように、時空ウィンドウにおける画素強度を比較することによって記述子が生成され得るが、いくつかの比較が他の比較よりも普通であって、より信頼できることがある。たとえば、第1の画素と第2の画素との間の比較の大きさが比較的大きければ、比較は、より確かなものと見なされ得る。差(たとえば絶対差)が比較的小さければ、比較は、あまり信頼できないと見なされる可能性がある。
【0014】
リアルタイムのアクティブステレオシステムは、画素値の間の強度差に基づいて記述子に関連する信頼性データを生成することができる記述子生成器を含み得る。そこで、リアルタイムのアクティブステレオシステムは、平面評価ループの間に、信頼性データを用いてマッチングコスト(たとえば未処理のマッチングコスト)を調節することができる。いくつかの例では、信頼性データは信頼マスクおよび不信頼マスクを含む。コンピュータサイエンスでは、マスクまたはビットマスクはビット演算のために使用されるデータである。信頼マスクは、記述子の比較値の信頼性を指示する情報を含み得る。不信頼マスクは、記述子の比較値の不信頼性を指示する情報を含み得る。信頼マスクと不信頼マスクとは記述子と同一のサイズを有し得、記述子における各ビット位置は、信頼マスクおよび不信頼マスクにおける対応するビットを有する。記述子を計算するとき、比較の大きさが信頼閾値を上回れば、記述子生成器は、信頼マスクにおけるそれぞれのビット位置において第1の信頼値(たとえば1)を生成してよい。比較の大きさが不信頼閾値を下回れば、記述子生成器は、不信頼マスクにおけるそれぞれのビット位置において第1の信頼値(たとえば1)を生成してよい。信頼マスクおよび不信頼マスクは、コスト計算中に、比較に重み付けするように使用される。
【0015】
リアルタイムのアクティブステレオシステムは、基準記述子と副記述子とが異なる位置(たとえばハミング距離)をカウントするのではなく、信頼マスクおよび不信頼マスクを使用して、ビット位置が、信頼または不信頼であると記録されているかどうかを判定する。いくつかの例では、リアルタイムのアクティブステレオシステムは、基準記述子および副記述子に対して排他的OR(XOR)演算を計算し、次いで、信頼マスクおよび不信頼マスクに対してビットAND演算を実行する(ポピュレーションカウントが続き得る)。いくつかの例では、リアルタイムのアクティブステレオシステムは、信頼比較を2回カウントして不信頼比較を棄却し、信頼でも不信頼でもない比較を1回カウントする。
【0016】
リアルタイムのアクティブステレオシステムは、一時的なフリッカを低減することによって奥行きマップ生成の安定性を向上することができる安定性モジュールを含み得る。安定性ペナルティは、マッチングコストをオフセットする(たとえば調節する)ように使用される情報を含み得る。安定性ペナルティは、一時的なフリッカに対処するためにマッチングコストをオフセットする(たとえば調節する)ように使用される情報を含み得る。いくつかの例では、マッチングコストに安定性ペナルティが加算される。
【0017】
安定性モジュールは、画素変化情報および視差変化情報を基に安定性ペナルティを計算し得る。画素変化情報は、最後の奥行きマップ(たとえば奥行きフレーム)を計算するために使用された画像データ(たとえば基準画像)と、現在の奥行きマップ(たとえば現在のフレーム)を計算するために使用される画像データ(たとえば基準画像)との間の画素変化の量(たとえば画素がどれだけ変化したか)を表し得る。たとえば、安定性モジュールは、現在の奥行きマップに対する入力(たとえば基準画像)と以前の奥行きマップに対する入力(たとえば基準画像)との間の画素強度変化の量を判定して、画素変化情報を計算し得る。視差変化情報は、視差変化の量ならびに以前の奥行きマップおよび現在の奥行きマップを表し得る。たとえば、安定性モジュールは、以前の奥行きマップの視差と現在の奥行きマップの提出された視差との間の視差変化の量を判定することによって、視差変化情報を計算し得る。安定性モジュールは、画素強度情報および視差変化情報を使用して安定性ペナルティを計算し得る。たとえば、安定性モジュールは、画素強度情報および視差変化情報を入力された1つまたは複数の関数を使用して安定性ペナルティを導出し得る。リアルタイムのアクティブステレオシステムは、平面評価ループ中に、安定性ペナルティを用いてマッチングコストを更新し得る。
【0018】
画素変化情報は画素変化値を含み得る。画素変化値は、現在の奥行きマップの基準画像または副画像における画素の画素値と、以前の奥行きマップの基準画像または副画像における画素の画素値との間の差を表す。視差変化情報は視差変化値を含む。視差変化値は、現在の奥行きマップの画素の提出された視差と、以前の奥行きマップの画素の視差との間の差を表し得る。安定性モジュールは、画素変化値を使用して強度乗数を計算し得る。いくつかの例では、安定性モジュールは、エッジアウェアフィルタを使用して画素変化値をフィルタリングし、フィルタリングされた画素変化値を使用して強度乗数を計算する。安定性モジュールは、視差変化値を使用して視差乗数を計算する。安定性モジュールは、強度乗数と、視差乗数と、平面仮説評価中に生成され得る最高のマッチングコストとを使用して安定性ペナルティ(たとえば、強度乗数と、視差乗数と、最高のマッチングコストとの積)を計算する。
【0019】
リアルタイムのアクティブステレオシステムは、ステレオ内部データを使用して各画素のステレオ奥行き推定値の信頼度重みを生成するように構成された信頼度重み生成器を含み得る。信頼度重みは、画素の奥行き推定に関連する信頼度のレベルを表す値でよい。信頼度重み生成器は、マッチングコスト(たとえば未処理のコスト)および画素変動値を基に、画素のグループに関して選択された平面仮説に関連する信頼度重みを生成し得る。たとえば、信頼度重み生成器は、選択された平面仮説および画素変動値に関連するマッチングコスト(たとえば未処理のマッチングコスト)を受け取り、マッチングコストと画素変動値とを入力したルックアップ表を使用して、信頼度重みを計算し得る。画素変動値は、記述子に関連した時空ウィンドウにわたって、画素のグループにおける画素強度変化の量を指示し得る。いくつかの例では、ルックアップ表は、既知のジオメトリを有するシーンの画像データから生成された画素変動値とマッチングコストとの組合せに、信頼度重みをマッピングし得る。
【0020】
図1A図1Gは、一態様によるリアルタイムのアクティブステレオシステム100を示す。リアルタイムのアクティブステレオシステム100は、リアルタイム(または準リアルタイム)で取り込まれたステレオ画像データ114を基に奥行きマップ122を生成して、表示装置に示される3Dステレオ画像フレームを生成するように構成される。奥行きマップ122は、ステレオ画像のそれぞれの画像要素について、視差値を含む。視差値は、カメラの視点からシーンにおける対象物の表面までの距離に対して逆に関係する。たとえば、奥行きマップ122は、カメラの視点からシーンにおける対象物の表面までの距離に関する情報を含有している画像を記述するために使用され得る。いくつかの例では、奥行きマップ122は、各画素における値が、関連する光線に沿った、最も近い表面までの距離になる画像である。
【0021】
奥行きマップ122は、拡張現実、ロボット工学、実物そっくりのユーザインターフェース技術、ゲーム、または他の用途を制御するために使用され得る。リアルタイムのアクティブステレオシステム100は、高解像度の正確な3Dモデルを、リアルタイムかつ比較的高いフレームレートで構成し得る。いくつかの例では、リアルタイムのアクティブステレオシステム100は、動いているシーンを処理して、密な、高品質の奥行きマップ122を生成することができる奥行き感知システムである。いくつかの例では、リアルタイムのアクティブステレオシステム100は、1メガピクセル(または1メガピクセル以上)の密な高品質奥行きマップ122を、60Hz以上のフレームレートで生成する。
【0022】
リアルタイムのアクティブステレオシステム100は、ステレオ画像データ114を取り込むように構成された取込みシステム102と、ステレオ画像データ114を基に奥行きマップ122を生成するように構成された奥行き感知コンピューティングシステム104とを含む。奥行き感知コンピューティングシステム104は、少なくとも1つのプロセッサ116と、少なくとも1つのプロセッサ116によって実行されたとき、局所的ステレオ再構成アルゴリズム120および/または本明細書で論じた機能のうち任意のものを実行するように構成された実行可能命令を記憶している非一時的コンピュータ可読媒体118とを含む。いくつかの例では、取り込まれたステレオ画像データ114は、取込みシステム102によって取り込まれた画像のシーケンスを含み、局所的ステレオ再構成アルゴリズム120は、画像のシーケンスを処理して奥行きマップ122を生成するように構成されており、奥行きマップ122は、新規の視点によって再投影された画像データを出力するように使用され得る。また、局所的ステレオ再構成アルゴリズム120は、マスクと、画素ごとの表面配向推定とを出力するように構成される。
【0023】
取込みシステム102は、1つまたは複数の基準画像および1つまたは複数の副画像を生成するように構成された一対のステレオカメラを含み得る。いくつかの例では、取込みシステム102は、カラーカメラ106、基準ステレオカメラ108、副ステレオカメラ110、1つまたは複数の構造光プロジェタ111、マイクロコントローラ112、および非構造光を投射するように構成された光源113を含む。いくつかの例では、光源113は近赤外(NIR)照明灯である。いくつかの例では、基準ステレオカメラ108は右カメラと見なされ、副ステレオカメラ110は左カメラと見なされる。プロジェタ111は、ステレオ露光(たとえば基準ステレオカメラ108および副ステレオカメラ110によって取り込まれるステレオ画像)中は構造光を生成するように構成される。いくつかの例では、プロジェタ111は、赤外線(IR)ドットパターンを投射するように構成されたIRプロジェタである。マイクロコントローラ112は、カラーカメラ106、基準ステレオカメラ108、副ステレオカメラ110、および構造光プロジェタ111を起動するように構成される。いくつかの例では、マイクロコントローラ112は、起動マイクロコントローラである。
【0024】
いくつかの例では、プロジェタ111は、時間的に変化するアクティブ照明パターンを投射する近赤外線(NIR)回折光学要素(DOE)の1つまたは複数のバンクを含む。いくつかの例では、プロジェタ111は、DOEの2つのバンクを含む。いくつかの例では、各バンクがDOEのセットを含む。いくつかの例では、DOEのセットは4つのDOE含み、1つのDOEによって、それぞれのバンクからそれぞれのパターン画像が照光される。2つのDOEを同時に起動すると、投射されるドットパターンの密度が増加し得、奥行き精度およびカバレッジを改善することができる。いくつかの例では、ガイド画像の露光中はDOEがオフにされ、画像は光源113によって供給される環境NIR照明を用いて取り込まれる。
【0025】
図1Bは、奥行き感知コンピューティングシステム104によって受け取られたステレオ画像データ114の一例を示す。たとえば、局所的ステレオ再構成アルゴリズム120は、所定数の画像をグループで処理するように構成される。いくつかの例では、局所的ステレオ再構成アルゴリズム120は、10の画像のセットを処理するように構成される。いくつかの例では、局所的ステレオ再構成アルゴリズム120は、10未満の画像のセットを処理するように構成される。いくつかの例では、局所的ステレオ再構成アルゴリズム120は、10よりも多くの画像のセットを処理するように構成される。いくつかの例では、信号セットは、5つの同期した対を含む。たとえば、一対の同期した画像が、基準ステレオカメラ108によって取り込まれた基準画像と副ステレオカメラ110によって取り込まれた副画像とを含む。
【0026】
図1Bに示されるように、ステレオ画像データ114は、第1の対115-1、第2の対115-2、第3の対115-3、第4の対115-4、および第5の対115-5を含み、対の各々が別々の時間ウィンドウ(または時間枠もしくは露光)に対応する。それぞれの対が、個別のタイムスライスに関係する基準画像130および副画像132を含む。
【0027】
最初の2回と最後の2回の露光中、シーンは(プロジェタ111によって供給される)高周波の投影パターンを使用して照光され、中間の露光(たとえば第3の対115-3)中、シーンはパターンのない照明(たとえば光源113によって供給される投光照明)によって照光される。いくつかの例では、最初の2回の露光中に生成されるドットパターンと最後の2回の露光中に生成されるドットパターンとは、互いに異なる。いくつかの例では、最初の2回の露光中に生成されるドットパターンと最後の2回の露光中に生成されるドットパターンとのうち、1つまたは複数は同一である。第1の露光中に、マイクロコントローラ112は、プロジェタ111のうち少なくとも1つを起動して、シーンを照光するためのドットパターン照明を生成するように構成され、また、基準ステレオカメラ108および副ステレオカメラ110を起動して、第1の対115-1のうち基準画像130-1および副画像132-1をそれぞれ取り込むように構成される。
【0028】
第2の露光中に、マイクロコントローラ112は、プロジェタ111のうち少なくとも1つを起動して、シーンを照光するためのドットパターン照明を生成するように構成され、また、基準ステレオカメラ108および副ステレオカメラ110を起動して、第2の対115-2のうち基準画像130-2および副画像132-2をそれぞれ取り込むように構成される。第3の露光中に、光源113によってシーンが照光され、マイクロコントローラ112は、基準ステレオカメラ108および副ステレオカメラ110を起動して、第3の対115-3のうち基準画像130-3および副画像132-3をそれぞれ取り込むように構成される。いくつかの例では、第3の露光中に、マイクロコントローラ112は、カラーカメラ106を起動してカラー画像を取得するように構成される。いくつかの例では、第3の対115-3の基準画像130-3および副画像132-3は、シーンが光源113によって照光されたものではないので、パターン化されていない画像である。いくつかの例では、第3の対115-3は、エッジアウェアフィルタ196を使用して、(図1Cに示される)マッチングコスト194(たとえば未処理のコスト194a)をフィルタリングするために使用されるガイド画像を含有している中間の対と見なされる。いくつかの例では、ガイド画像は基準画像130-3である。
【0029】
第4の露光中に、マイクロコントローラ112は、プロジェタ111のうち少なくとも1つを起動して、シーンを照光するためのドットパターン照明を生成するように構成され、また、マイクロコントローラ112は、基準ステレオカメラ108および副ステレオカメラ110を起動して、第4の対115-4のうち基準画像130-4および副画像132-4をそれぞれ取り込むように構成される。第5の露光中に、マイクロコントローラ112は、プロジェタ111のうち少なくとも1つを起動して、シーンを照光するためのドットパターン照明を生成するように構成され、また、マイクロコントローラ112は、基準ステレオカメラ108および副ステレオカメラ110を起動して、第5の対115-5のうち基準画像130-5および副画像132-5をそれぞれ取り込むように構成される。
【0030】
ステレオ画像データ114は、基準画像130-1、基準画像130-2、基準画像130-3、基準画像130-4、および/または基準画像130-5などの、基準画像130のシーケンス(またはスタック)を含む。いくつかの例では、基準画像130のシーケンス(またはスタック)は、パターン化された基準画像のシーケンス(またはスタック)と称され、パターン化された基準画像は、基準画像130-1、基準画像130-2、基準画像130-4、および基準画像の130-5を含む(基準画像130-3はパターン化されていないので含まれない)。ステレオ画像データ114は、副画像132-1、副画像132-2、副画像132-3、副画像132-4、および/または副画像132-5などの、副画像132のシーケンス(またはスタック)を含む。いくつかの例では、副画像132のシーケンス(またはスタック)は、パターン化された副画像のシーケンス(またはスタック)と称され、パターン化された副画像は、副画像132-1、副画像130-2、副画像132-4、および副画像132-5を含む(副画像132-3はパターン化されていないので含まれない)。
【0031】
局所的ステレオ再構成アルゴリズム120は、基準画像130および副画像132を処理して奥行きマップ122を生成するように構成される。たとえば、局所的ステレオ再構成アルゴリズム120は、動作103において、ステレオ画像データ114を基に記述子121(たとえばバイナリ時空記述子)を計算するように構成される。いくつかの例では、記述子121(たとえば第1の対115-1、第2の対115-2、第4の対115-4、および第5の対115-5)を計算するために使用されるのはパターン化された画像のみである。いくつかの例では、第3の対115-3の基準画像130-3および副画像132-3は、記述子121の計算には使用されないが、基準画像130-3または副画像132-3は(たとえばエッジアウェアフィルタ196による)コストフィルタリングにおいて使用される。いくつかの例では、副画像132-3はコストボリュームに対して画素整列しないので、コストフィルタリングに使用されるのは基準画像130-3のみである。基準画像130(たとえば基準記述子121aと称される)と副画像132(たとえば副記述子121bと称される)とに関して、記述子121が計算される。いくつかの例では、精度を改善するために、局所的ステレオ再構成アルゴリズム120は、副画像132をサブ画素オフセットだけシフトして、シフトされた副画像132に関する副記述子121bも計算するように構成される。
【0032】
図1Dは、一態様による、記述子121の計算の図的表現を示す。たとえば、時空ウィンドウ150の範囲内の画像部分のスタックは、図1Dに示されるように、画像部分151、画像部分152、画像部分153、および画像部分154を含み、画像部分の各々が、別々の時間窓から取り込まれたものである。画像部分151、画像部分152、画像部分153、および画像部分154は、総体として、時空ウィンドウ150の範囲内の画像データを指し得る。画像部分の各々が複数の画素を含み、それぞれが画素強度値を有する。同一の画像部分における画素は同一のタイムスライス(または同一の時間窓)にあると見なされ、別々の画像部分は別々のタイムスライス(または別々の時間窓)からのものである。
【0033】
これら4つの画像部分は、パターン化された基準画像のスタックまたはパターン化された副画像のスタックのいずれかに対応し得る。画像部分が、パターン化された基準画像のスタックである場合には、画像部分151は基準画像130-1の一部であり得、画像部分152は基準画像130-2の一部であり得、画像部分153は基準画像130-4の一部であり得、画像部分154は基準画像130-5の一部であり得る。画像部分がパターン化された副画像のスタックである場合には、画像部分151は副画像132-1の一部であり得、画像部分152は副画像132-2の一部であり得、画像部分153は副画像132-4の一部であり得、画像部分154は副画像132-5の一部であり得る。
【0034】
記述子121は、比較的小さい時空ウィンドウ150にわたって計算される。たとえば、記述子121は、所定のサイズの空間的範囲および所定のサイズの時間的範囲を有する時空ウィンドウ150にわたって計算される。いくつかの例では、図1Dに示されるように、空間的範囲は3×3画素であり、時間的範囲は4つの時間ウィンドウである。いくつかの例では、空間的範囲は8×8画素未満であり、時間的範囲は4つの時間ウィンドウ未満である。いくつかの例では、空間的範囲は8×8画素以上であり、時間的範囲は4つの時間ウィンドウよりも長い。いくつかの例では、空間的範囲は2×2画素~8×8画素であり、時間的範囲は2つ~6つの時間ウィンドウである。また、上記で指示されたように、露光の各々を通じて別々のランダムドット照明パターンが投射され、投光照明を用いるガイド画像は、記述子121の計算には使用されず、フィルタリングのために使用されることになる。記述子121が空間的にコンパクトであれば、傾斜したジオメトリおよび奥行きの不連続性に対する頑健性が向上し得る。
【0035】
記述子121は、画像部分のスタックの時空内の画素の比較を表すバイナリコンピュータデータを含む。いくつかの例では、記述子121の各々が、時空ウィンドウ150内の複数のペアワイズ強度比較の連結を含む。いくつかの例では、それぞれの記述子121が、時空ウィンドウ150における32のペアワイズ強度比較を表す32ビットのバイナリ記述子を含む。しかしながら、記述子121のビット数は任意であり、32よりも多くてよく、32未満でもよい。
【0036】
図1Dに示されるように、ライン160は、画像部分153の画素171と画像部分152の画素173との間の比較(たとえば別々のタイムスライスにおける画素の間の比較)を表す。画素171の強度値が画素173の強度値よりも大きければ、比較値(たとえば1)が、記述子121の対応するビット位置に記録され得る。画素171の強度値が画素173の強度値よりも小さければ、比較値(たとえば0)が、記述子121の対応するビット位置に記録され得る。
【0037】
ライン161は、画像部分154の画素172と画像部分154の画素174との間の比較(たとえば同一のタイムスライスにおける画素の間の比較)を表す。ライン162は、画像部分154の画素175と画像部分151の画素177との間の比較(たとえば別々のタイムスライスにおける画素の間の比較)を表す。いくつかの例では、バイナリ時空記述子は、時空ウィンドウ150にわたって、[0,1,1,0....N]などの複数のペアワイズ強度比較(たとえば複数の比較値)の連結を含み、整数Nは記述子121の長さ(すなわち内部のビット数)を定義する。次いで、別の時空ウィンドウ150にわたって別の記述子121が計算される。各時空ウィンドウ150が、時間と空間の両方においてオーバーラップしているため、同一の画素が多くの時空ウィンドウ150に含有されている可能性があるので、各時空ウィンドウ150は異なるが、必ずしも別個ではないことが注目される。
【0038】
図1Aおよび図1Eを参照して、記述子121が計算された後に、動作105において、局所的ステレオ再構成アルゴリズム120は、ステレオ画像データ114の画像のセットを所定のサイズの領域134に分割するように構成される。領域134はタイルと称され得ることが注目される。いくつかの例では、領域134は画素のグループである。いくつかの例では、領域134は同一サイズの長方形のタイルから成る。いくつかの例では、画像は、所定のサイズ(たとえば36×32)のオーバーラップ領域134を伴って所定のサイズ(たとえば32×28)の独立した領域134に分割される。次いで、局所的ステレオ再構成アルゴリズム120は、記述子121を使用して領域134を処理して奥行きマップ122を生成するように構成される。いくつかの例では、局所的ステレオ再構成アルゴリズム120は、領域134を並行して処理するように構成される。
【0039】
局所的ステレオ再構成アルゴリズム120は、i)すべてのタイルについて視差平面を仮定するステップ(動作107)と、ii)各領域134にわたってマッチングコスト194を並行して計算して集約するステップ(動作109)との間を繰り返すように構成される。視差平面は平面仮説136と称され得る。いくつかの例では、平面仮説136は、傾けた(すなわち傾斜させた)平面仮説を含む。動作107および動作109は、時空ウィンドウ150の各領域134において傾けた(すなわち傾斜させた)平面推測を使用して、記述子121の間のハミング距離を基にマッチングコスト194(たとえばの未処理のコスト194a)を計算し、図1Cに示されるように、エッジアウェアフィルタ196を使用して未処理のコスト194aを集約し(フィルタリングし)、フィルタリングされたコスト194bを取得する、リアルタイム時空ステレオマッチングを実施する平面評価ループと見なされ得る。いくつかの例では、エッジアウェアフィルタ196は透過性フィルタである。
【0040】
図1Cに示されるように、マッチングコスト194は、エッジアウェアフィルタ196を適用される前は未処理のコスト194aと称され得る。マッチングコスト194は、エッジアウェアフィルタ196を適用された後はフィルタリングされたコスト194bと称され得る。マッチングコスト194は、2つの記述子の間の(したがって2つの画素の間の)類似度(または非類似度)の(数的に表現された)レベルを指し得、または表し得る。言い換えれば、マッチングコスト194は、1つの画像における画素または画素のグループと別の画像における画素または画素のグループとの間の類似度(または非類似度)の量を指し得、または表し得る。いくつかの例では、マッチングコスト194(たとえばマッチングコスト)はコストボリュームと称される。いくつかの例では、マッチングコスト194は、1つの画像における画素または画素のグループと、別の画像における画素または画素のグループとの間の、情報における差の指標である。いくつかの例では、マッチングコスト194(たとえば未処理のコスト194a)は、2つの記述子121における異なるビットの数(たとえばハミング距離とも称される)を基に計算される。いくつかの例では、記述子の間のコスト194は、2つの記述子の間のハミング距離であり得る。ハミング距離は、2つの記述子が異なるビット位置の数でよい。ハミング距離(たとえばマッチングコスト)は、population count(たとえばpopcountとも称される)が続く2つの記述子121において排他的OR演算を実行することによって計算され得る。
【0041】
所与の繰返しにおいて、領域134に関する、最低の集約された(フィルタリングされた)コスト194b(または閾値レベル未満のフィルタリングされたコスト194b)を有する平面仮説136が、領域134におけるいくつかの画素に関する可能な一致として選択され得る。平面仮説136は領域134にわたって共有されるが、特定の領域134におけるそれぞれの画素には、最良適合の傾けた平面仮説136が選択されることが注目される。2つの記述子121の間のハミング距離は、基準記述子121aの各ビットと副記述子121bの各ビットとの間の相違の数である。言い換えれば、それぞれの領域134について、複数の平面仮説136が、事前に計算された記述子121の間のハミング距離を集約してフィルタリングすることよって試験され、最低のフィルタリングされたコスト194b(または閾値レベル未満のフィルタリングされたコスト194b)を有する平面仮説136が、特定の画素に関する可能な一致として選択される。
【0042】
次いで、局所的ステレオ再構成アルゴリズム120は、動作107に戻って、動作109の結果を基に新規の平面仮説136を生成することにより、これを繰り返し得る。たとえば、局所的ステレオ再構成アルゴリズム120は、動作109の結果からの可能な一致を変更するか、または近隣領域134の画素から平面仮説136をコピーし、次いで、記述子121の間のハミング距離を集約してフィルタリングすることにより、新規の平面仮説136を試験することによって、新規の平面仮説136を生成し得る。
【0043】
より詳細には、局所的ステレオ再構成アルゴリズム120は、領域134の各々について、複数の平面仮説136をたどって、記述子121を繰り返しサンプリングするように構成される。図1Eは、ステレオ画像データ114の対の画像のうち1つの基準画像130および副画像132を示す。図1Eに示されるように、基準画像130は各領域134に分割される。局所的ステレオ再構成アルゴリズム120は、基準画像130における所与の領域134に対する副画像132における一致を、副画像132における対応する領域134に対して複数の平面仮説136を評価することによって検出するように構成される。言い換えれば、局所的ステレオ再構成アルゴリズム120は、それぞれの領域134について、推測するべき複数の平面仮説136を判定し、次いで、領域134に対して、それらの平面仮説136を評価する。いくつかの例では、局所的ステレオ再構成アルゴリズム120は、いくつかの領域134にわたって、複数の平面仮説136を並行して評価する(たとえば領域134を並行して処理する)ように構成される。いくつかの例では、単一の領域134に関する複数の平面仮説136が並行して処理される。
【0044】
いくつかの例では、局所的ステレオ再構成アルゴリズム120は、それぞれのポイント(画素)における奥行きばかりでなく接平面も仮定することによって、ポイントの近隣を調査するときの比較をより正確にする。領域134に関して、局所的ステレオ再構成アルゴリズム120は、そのような平面の、領域134におけるすべてのポイントに対する均一性を試験して、計算を償却する。
【0045】
いくつかの例では、平面仮説136は、ステレオデータ114で表されるフィーチャ(たとえば対象物)の局所的表面ジオメトリを、平面(たとえば傾けた平面)を使用して表す奥行き推定である。いくつかの例では、それぞれの領域134について、奥行き感知コンピューティングシステム104は複数の平面(たとえば傾けた平面)を評価し、それぞれの平面評価が個別の平面仮説136(または特定の平面における奥行き推定)を生成する。たとえば、複数の平面仮説136が、局所的表面ジオメトリを表すための第1の平面(たとえば第1の傾けた平面)を使用する奥行き推定、局所的表面ジオメトリを表すための第2の平面(たとえば第2の傾けた平面)を使用する奥行き推定(など)を含み得、第2の平面は第1の平面とは異なる配向(たとえば異なる傾き)を有する。次いで、その領域134について、最低のマッチングコスト194を有する奥行き推定(たとえば平面仮説136)が選択される。
【0046】
詳細には、特定の平面仮説136について、局所的ステレオ再構成アルゴリズム120は、平面仮説136をたどって、領域134について副記述子121bを再サンプリングするように構成される。たとえば、平面仮説136は、最近傍の副記述子121bを再サンプリングするために使用される画素ごとの視差を与える。局所的ステレオ再構成アルゴリズム120は、副画像132の領域134における再サンプリングされた副記述子121bと基準画像130の対応する領域134における基準記述子121aとの間の未処理のコスト194aを、その領域134において再サンプリングされた副記述子121bと基準記述子121aとの間のハミング距離を計算することによって、計算するように構成される。
【0047】
次いで、局所的ステレオ再構成アルゴリズム120は、エッジアウェアフィルタ196およびガイド画像(たとえば基準画像130-3)を使用して未処理のコスト194aを(フィルタリングするために)集約し、フィルタリングされたコスト194bを取得するように構成され、こうすると、信号レベルが低い領域134を補償することができ、このことは、後に本開示で説明される。いくつかの例では、エッジアウェアフィルタ196は透過性フィルタである。いくつかの例では、エッジアウェアフィルタ196は双方向フィルタである。いくつかの例では、エッジアウェアフィルタ196はガイドフィルタである。エッジアウェアフィルタ196は、シーンの奥行きエッジに対応し得る、ガイド画像の高コントラスト画像領域における高周波詳細を保ったまま、ガイド画像の低コントラスト領域におけるノイズのあるコスト値を調整するように使用される。より一般的には、時空パターンでも、何らかの所与の画素において、唯一の一致があり得ず、近くの画素が、他の画像における近くのポイントに一致する可能性が高くなることがある。エッジアウェアフィルタ196は、ガイド画像を使用して、エッジから離れた場所のデータを組み合わせる。
【0048】
記述子121は、前処理動作(たとえば動作103)において一旦計算され、平面評価ループ(たとえば動作107および動作109)中に再計算されることはない。たとえば、記述子121は時空ウィンドウ150の中で比較的小さいので、局所的ステレオ再構成アルゴリズム120は、処理ステップにおいて記述子121を事前に計算することができ、それによって、コンピュータリソースの量を減少し得、奥行きマップ122を生成するための速度を増加し得る。また、記述子121がコンパクトであるため、局所的ステレオ再構成アルゴリズム120は、記述子121の最近傍のサンプルに働くように構成され、計算が高速になる。
【0049】
いくつかの例では、平面評価ループは4つのサブステップを含む。図1Fは、一態様による、局所的ステレオ再構成アルゴリズム120によって実行可能な平面評価ループのサブステップを表す流れ図を示す。動作191は、画素ごとの視差を与える平面仮説136に関する最近傍の副記述子121bを再サンプリングするステップを含む。動作193は、記述子121の間のハミング距離を使用して、未処理のコスト194aを計算するステップを含む。動作195は、エッジアウェアフィルタ196を使用して未処理のコスト194aをフィルタリングすることにより、フィルタリングされたコスト196bを取得するステップを含み、信号レベルが低い領域を補償することができる。動作197は、現在の平面仮説136について、以前のフィルタリングされたコスト194よりも低いフィルタリングされたコスト194bを用いて、任意の画素の奥行きを更新するステップを含む。
【0050】
図1Gは、一態様による、繰り返すパターン化-パターン化-ガイドシーケンスにおけるステレオ画像のタイミング図を示す。いくつかの例では、ステレオ画像は、繰り返すパターン化-パターン化-ガイドシーケンスにおいて180Hzで取り込まれる。それぞれのステレオ奥行きマップ122が、ガイド画像に中心にある5つのフレーム(4つのパターン化されたフレームと1つのガイドフレーム)のローリングウィンドウにわたって計算される。カラーテクスチャリングのために、ガイド画像と同期して起動されるRGBカメラが使用される。これは、奥行きエッジの、関連するテクスチャマップとの優れた位置合わせを保証し得る。
【0051】
図1Aに戻って、奥行き感知コンピューティングシステム104が含み得る記述子生成器124は、比較グラフ125におけるサイクルの存在によって発生し得る特定の記述子121の中に含まれる冗長情報の量を減少させることができる。たとえば、記述子生成器124は、比較グラフ125におけるサイクルを最小限にするか回避する比較を生成するように、方策を立てて画素をサンプリングすることにより、記述子121の情報量を増加させる記述子121を生成することがある。記述子121の情報量が増加することにより、記述子121による画像の間の一致の判定がより正確になり得る。
【0052】
図2Aは、記述子121に冗長性を導入することができるやり方で画素を比較するための比較グラフ125aを示す。図2Bは、一態様による、記述子121の中の冗長情報の量を減少させるための記述子生成器124を示す。
【0053】
図2Aを参照して、一例では、記述子121を形成するように比較され得る3つの画素[a,b,c]があり得、3つのペアの強度が比較され得る。3つのペアの比較をすべて実行すると、図2Aに示されるように比較グラフ125aがもたらされる。ビットの可能な組合せは8つあるが、可能な順序関係は6つしかなく、たとえば、ビットの組合せ[a>b,b>c,a>c]=[1,1,0]は、a>bかつb>cによってa>cとなり、a>bかつb>cに照らしてa>c=0は矛盾するので無効である。同様に、[a>b,b>c,a>c]=[1,1,1]は、a>c=1が最初の2つのビットに既に包含されているので、冗長である。したがって、記述子121の冗長ビットを最小限にするために、比較グラフ125におけるサイクルを回避するのが望ましいであろう。
【0054】
図2Bを参照して、記述子生成器124は、比較のために、画素を、ランダムに(または準ランダムに)選択するのではなく、二者択一的に、1)同一のタイムスライスからの画素、および2)別々のタイムスライスからの画素を選択することによって記述子121を計算し得、それによって比較グラフ125を形成する。たとえば、記述子生成器124は、基準画像130および副画像132を受け取って、比較グラフ125bに示されるようなやり方で、基準画像130を使用して基準記述子121aを計算し得、副画像132を使用して副記述子121bを計算し得る。左の列の画素(たとえばa0、a1、a2、a3、a4、a5、a6、a7、a8)は、図1Dの画像部分151を表し得る。右の列の画素(たとえばb0、b1、b2、b3、b4、b5、b6、b7、b8)は、図1Dの画像部分153を表し得る。2つの画素の間の強度比較が、記述子に記録される比較値(たとえば1または0)をもたらす。
【0055】
記述子生成器124は、二者択一的に、1つの空間的エッジ(たとえば同一のタイムスライスの範囲内の2つの画素の間の比較)および1つの時間的エッジ(たとえば異なるタイムスライスからの画素の間の組合せ)を選択し得る。たとえば、記述子生成器124は、最初の比較において、同一のタイムスライス(たとえば画像部分151)から画素a0および画素a1を選択し得る(それによって空間的エッジa0-a1を生成する)。次の比較のために、記述子生成器124は、画素a1および画素b0を別々のタイムスライスから(たとえば画素a1は画像部分151から、画素b0は画像部分153から)選択し得る(それによって時間的エッジa1-b0を生成する)。次いで、この処理が繰り返されてよく、たとえば、同一のタイムスライスにおける2つの画素の選択に、別々のタイムスライスにおける2つの画素の選択が続く。たとえば、次の比較のために、記述子生成器124は、同一のタイムスライス(たとえば画像部分153)から画素b1および画素b2を選択し得る(それによって空間的エッジb1-b2を生成する)。次の比較のために、記述子生成器124は、別々のタイムスライスから画素b2および画素a2を選択し得る(それによって時間的エッジb2-a2を生成する)。次いで、時空ウィンドウ150におけるすべての画像部分について、この処理が繰り返される。このサンプリング方策は、空間的エッジおよび時間的エッジが均一に分散される(または実質的に均一に分散される)ことを保証し得る。
【0056】
記述子生成器124は、時空ウィンドウ150における画素がすべて選択されるまで、または記述子121がその最大ビット数に達するまで、この処理を繰り返し得る。また、記述子生成器124は、時空ウィンドウ150における画素がすべて選択されるまでに比較において使用済の画素の再選択を回避し得る。いくつかの例では、時空ウィンドウ150におけるすべての画素が選択されてしまったら(しかも引き続き比較する必要がある場合には)、記述子生成器124は、画素のグラフ構造のサイクル長が、閾値レベルおよび/または別の可能な機構のサイクル長よりも長くなるように、画素を選択してよい(たとえば、記述子生成器124は、短いサイクルよりも長いサイクルが好ましいやり方で画素を選択してよい)。
【0057】
図3は、一態様による、記述子生成器124によって生成された記述子121を使用して奥行きマップ122を生成する例示の動作を表す流れ図を示す。図3の流れ図300は、シーケンシャルな順序の動作を示すが、これは単なる例示であり、追加または代替の動作が含まれ得ることが理解されよう。さらに、図3の動作および関連する動作は、示されたものとは異なる順序で実行されてよく、または並行して、もしくはオーバーラップして実行されてもよい。
【0058】
動作302は、基準ステレオカメラ108から取り込まれた基準画像130、および副ステレオカメラ110から取り込まれた副画像132を含むステレオ画像データ114を受け取るステップを含み、基準画像130または副画像132は、第1の時間窓に関連した第1の画像および第2の時間窓に関連した第2の画像を含む。
【0059】
動作304は、基準画像130および副画像132を基に記述子121(たとえば基準記述子121a、副記述子121b)を計算するステップを含み、二者択一的に、i)比較のために第1の画像(たとえば画像部分151)または第2の画像(たとえば画像部分153)のうち1つから画素を選択し、ii)比較のために、第1の画像から画素を選択し、第2の画像から画素を選択することによって、記述子121を計算するステップを含む。動作306は、記述子121を使用して奥行きマップ122を生成するステップを含む。
【0060】
図1Aに戻って、奥行き感知コンピューティングシステム104は、記述子121に関連する信頼性データ126を生成する(または計算する)記述子生成器124を含み得る。信頼性データ126は、比較値129が信頼できるか、信頼できないか、またはどちらでもないか、ということを指示する情報を含み得る。図1Aに示されるように、信頼性データ126は、平面仮説評価中にマッチングコスト194(たとえば未処理のコスト194a)を更新する(または調節する)ことによってより正確な一致をもたらすように、使用され得る。
【0061】
時空ウィンドウ150における画素強度を比較することによって記述子121が生成され得るが、いくつかの比較が他の比較よりも普通であってより信頼できることがある。たとえば、第1の画素と第2の画素との間の比較の大きさが比較的大きければ、比較は、より確かなものと見なされ得る。差(たとえば絶対差)が比較的小さければ、比較は、あまり信頼できないと見なされ得る。記述子生成器124は、画素値の間の強度差を基に、記述子121に関連する信頼性データ126を生成し得る。次いで、奥行き感知コンピューティングシステム104は、平面評価ループ中に、信頼性データ126を用いて未処理のコスト194aを調節することができる。
【0062】
奥行き感知コンピューティングシステム104は、それぞれの平面仮説136について、記述子121の間のマッチングコスト194(たとえば未処理のコスト194a)を計算することを含めて、記述子121を使用して、画素のグループ(たとえば領域134)に関する複数の平面仮説136を評価し得る。図1Aおよび図1Cに示されるように、奥行き感知コンピューティングシステム104は、信頼性データ126を用いて未処理のコスト194aを調節し得る。いくつかの例では、エッジアウェアフィルタ196を使用して未処理のコスト194aをフィルタリングすることにより、フィルタリングされたコスト194bが取得される。次いで、奥行き感知コンピューティングシステム104は、画素のグループについて、フィルタリングされた(調節された)コスト194bが最低になる平面仮説136を選択し得る。
【0063】
図4は、一態様による、信頼性データ126を生成するための記述子生成器124を示す。図4に示されるように、記述子121は、比較値129-1、比較値129-2、比較値129-3、比較値129-4~比較値129-Nなどの比較値129を含み、Nは記述子121におけるビットの総数を定義する整数である。記述子生成器124は、信頼マスク138および不信頼マスク148を生成し得る。信頼マスク138は、記述子121におけるそれぞれの比較値129が信頼できるかどうかを指示する情報を含み得る。不信頼マスク148は、記述子121におけるそれぞれの比較値129が信頼できないかどうかを指示する情報を含み得る。
【0064】
信頼マスク138と不信頼マスク148マスクとは記述子121と同一のサイズを有し得、記述子121における各ビット位置は、信頼マスク138および不信頼マスク148において対応するビットを有する。たとえば、信頼マスク138は、信頼ビット139-1、信頼ビット139-2、信頼ビット139-3、信頼ビット139-4~信頼ビット139-Nなどの複数の信頼ビット139を含み得る。信頼ビット139-1は比較値129-1に対応し得、信頼ビット139-2は比較値129-2に対応し得る、などである。不信頼マスク148は、不信頼ビット149-1、不信頼ビット149-2、不信頼ビット149-3、不信頼ビット149-4~不信頼ビット149-Nなどの複数の不信頼ビット149を含み得る。不信頼ビット149-1は比較値129-1に対応し得、不信頼ビット149-2は比較値129-2に対応し得る、などである。
【0065】
記述子生成器124は、記述子121を計算するとき、第1の画素の強度値と第2の画素の強度値との間の差を計算し得る。比較の大きさ(たとえば強度値の間の差)が信頼閾値よりも大きければ、記述子生成器124は、信頼マスク138におけるそれぞれのビット位置に第1の値(たとえば1)を生成し得る。たとえば、比較値129-1に関して、2つの画素の間の強度差が信頼閾値よりも大きければ、記述子生成器124は、信頼ビット139-1に第1の値(たとえば1)を記録し得る。比較値129-2に関して、2つの画素の間の強度差が信頼閾値未満であれば、記述子生成器124は、信頼ビット139-2に第1の値(たとえば1)を記録しなくてよい(たとえば何も記録しなくてよい)。いくつかの例では、2つの画素の間の強度差が信頼閾値よりも小さければ、記述子生成器124は、信頼ビット139-2に第2の値(たとえば0)を記録し得る。この処理は、信頼マスク138におけるすべてのビットにわたって継続する。
【0066】
比較の大きさ(たとえば画素強度の差)が不信頼閾値よりも小さければ、記述子生成器124は、不信頼マスク148におけるそれぞれのビット位置に第1の信頼値(たとえば1)を生成し得る。いくつかの例では、不信頼閾値は信頼閾値未満である。比較値129-1に関して、2つの画素の間の強度差が不信頼閾値よりも小さければ、記述子生成器124は、不信頼ビット149-1に第1の値(たとえば1)を記録し得る。比較値129-2に関して、2つの画素の間の強度差が不信頼閾値よりも大きければ、記述子生成器124は、不信頼ビット149-2に第1の値(たとえば1)を記録しなくてよい(たとえば何も記録しなくてよい)。いくつかの例では、2つの画素の間の強度差が不信頼閾値よりも大きければ、記述子生成器124は、不信頼ビット149-2に第2の値(たとえば0)を記録し得る。この処理は、不信頼マスク148におけるすべてのビットにわたって継続する。
【0067】
信頼マスク138および不信頼マスク148は、コスト計算中に、比較に重み付けする(たとえば未処理のコスト194aに重み付けする)ように使用される。たとえば、奥行き感知コンピューティングシステム104は、基準記述子121aと副記述子121bとの位置(たとえばハミング距離)をカウントするのではなく、信頼マスク138および不信頼マスク148を使用して、ビット位置が、信頼または不信頼であると記録されているかどうかを判定する。いくつかの例では、奥行き感知コンピューティングシステム104は、基準記述子121aと副記述子121bとのXOR演算を計算し、次いで、信頼マスク138と不信頼マスク148とのビットAND演算を実行し、これにpopulation countが後続し得る。いくつかの例では、奥行き感知コンピューティングシステム104は、信頼比較を2回カウントして不信頼比較を棄却し、信頼でも不信頼でもない比較を1回カウントする。
【0068】
図5は、一態様による、マッチングコスト194(たとえば未処理のコスト194a)が信頼性データ126を用いて更新される奥行きマップ122を生成する例示の動作を表す流れ図500を示す。図5の流れ図500は、シーケンシャルな順序の動作を示すが、これは単なる例示であり、追加または代替の動作が含まれ得ることが理解されよう。さらに、図5の動作および関連する動作は、示されたものとは異なる順序で実行されてよく、または並行して、もしくはオーバーラップして実行されてもよい。
【0069】
動作502は、基準ステレオカメラ108から取り込まれた基準画像130、および副ステレオカメラ110から取り込まれた副画像132を含むステレオ画像データ114を受け取るステップを含む。動作504は、基準画像130および副画像132を基に記述子121を計算するステップを含む。動作506は、画素値の間の強度差を基に、記述子121に関連する信頼性データ126を計算するステップを含む。
【0070】
動作508は、記述子121を使用して、画素のグループに関する複数の平面仮説136を評価するステップであって、それぞれの平面仮説136について、記述子121の間のマッチングコスト194(たとえば未処理のコスト194a)を計算するステップと、信頼性データ126を使用してマッチングコスト194を調節するステップと、調節されたマッチングコスト194に基づき、複数の平面仮説136から、画素のグループに関する平面仮説136を選択するステップとを含む。いくつかの例では、マッチングコスト194(たとえば未処理のコスト194a)は、信頼性データ126を用いて更新され、フィルタリングされたコスト194bを取得するためにフィルタリングされ、また、フィルタリングされたコスト194bは、平面仮説136を選択するように使用される。
【0071】
図1Aに戻って、奥行き感知コンピューティングシステム104は、時間フリッカの量を減少させることによって奥行きマップ122の生成の安定性を向上することができる安定性モジュール127を含み得る。いくつかの従来システムでは、信号レベルが低い領域において、たとえばダークヘアなどの高周波の時間フリッカが生じることがある。フリッカを回避する(または低減する)ために、フレームにおける画素の奥行き推定値は、その推定値を生成した入力が変化していなければ、最近のフレームにおける推定値に近づけるべきである。
【0072】
リアルタイムのアクティブステレオシステム100において記述子121が使用され、ここで、入力における小さな変化(たとえばカメラノイズ)によって記述子121の比較値129が(たとえば1から0へ、または逆方向へ)変化する可能性がある。また、信号レベルが低い領域では、類似のコストを有する2つの奥行きが存在することもある。小さな入力変化によるコスト194の変化は小さくても、これら2つのコスト最小値が遠く離れて、それらの間で推定が転換する(たとえば、一方が、あるポイントにおいてより低いコストを有し、他方が別のポイントにおいてより低いコストを有する)可能性がある。
【0073】
図6A図6Dは、フリッカを低減する(または解消する)ための安定性モジュール127を示す。時間フリッカを低減する(それによってリアルタイムのアクティブステレオシステム100の安定性を向上する)ために、図6Aに示されるように、安定性モジュール127は、画素変化情報192および視差変化情報199を基に安定性ペナルティ128を計算し得る。たとえば、安定性モジュール127は、各画素において、現在の奥行きマップ122aに対する入力(たとえば基準画像130)と以前の奥行きマップ122bに対する入力(たとえば基準画像130)との間の画素強度変化の量を判定して、画素変化情報192を計算し得る。安定性モジュール127は、それぞれの画素について、以前の奥行きマップ122bからの視差135と、現在の奥行きマップ122aにおいて提出された視差137との間の視差変化の量を判定することにより、視差変化情報199を計算し得る。安定性モジュール127は、画素変化情報192および視差変化情報199を使用して安定性ペナルティ128を計算し得る。奥行き感知コンピューティングシステム104は、平面評価ループ中に、フィルタリングされたコスト194bを、安定性ペナルティ128を用いて更新し得る。
【0074】
奥行き感知コンピューティングシステム104は、記述子121を使用して、画素のグループに関する複数の平面仮説136を評価し得、これは、それぞれの平面仮説136について、記述子121の間のマッチングコスト194(たとえば未処理のコスト194a)を計算するステップを含む。いくつかの例では、エッジアウェアフィルタ196を使用して未処理のコスト194aをフィルタリングすることにより、フィルタリングされたコスト194bが取得される。奥行き感知コンピューティングシステム104は、安定性ペナルティ128を用いて(たとえば、フィルタリングされたコスト194bに安定性ペナルティ128を加算して)、フィルタリングされたコスト194bを調節し得る。次いで、奥行き感知コンピューティングシステム104は、画素のグループについて、フィルタリングされた(調節された)コスト194bが最低になる平面仮説136を選択し得る。
【0075】
図6Bに示されるように、安定性モジュール127は、画素変化情報192を基に強度乗数146を計算するように構成された画素変化計算エンジン140を含む。画素変化計算エンジン140は、現在の奥行きマップ122a(たとえば図1Gの奥行きフレーム1)に対する入力である基準画像130、および以前の奥行きマップ122b(たとえば図1Gの奥行きフレーム0)に対する入力である基準画像130を受け取り得る。奥行きマップ122を生成するために入力として使用される画像である基準画像130は、パターン化された画像(たとえば基準画像130-1、130-2、130-4、130-5)を含み得る。現在の奥行きマップ122aに対する入力であるパターン化された画像の各々について、画素変化計算エンジン140は、動作141において、(それぞれの画素において)この画素値と、以前の奥行きマップ122bに関連した対応する基準画像130における画素値との間の差を計算して、画素変化値142を生成し得る。いくつかの例では、画素変化値142は画素強度における絶対差である。しかしながら、安定性モジュール127は、画素強度変化を導出するために(絶対差に加えて)別の技術を採用することもある。
【0076】
動作143において、画素変化計算エンジン140は、画素変化値142に、(たとえばコスト計算に使用される)エッジアウェアフィルタ196を適用して、フィルタリングされた画素変化値144を計算し得る。動作145において、画素変化計算エンジン140は、フィルタリングされた画素変化値144に強度関数168を適用して、強度乗数146を計算し得る。いくつかの例では、強度乗数146は0~1の値である。
【0077】
図6Cは強度関数168の一例を示す。図6Cに示されるように、フィルタリングされた画素変化値144が比較的小さければ、強度乗数146は第1の値(たとえば1)を有し得る。いくつかの例では、フィルタリングされた画素変化値144が0から第1の閾値169までの範囲内にあれば、強度乗数146は第1の値(たとえば1)を有し得る。しかしながら、フィルタリングされた画素変化値144が第1の閾値169を超えて第2の閾値170に向かう場合には、強度乗数146は、第1の値(たとえば1)と第2の値(たとえば0)との間の値に減少し得る。フィルタリングされた画素変化値144が比較的大きければ、強度乗数146は第2の値(たとえば0)を有し得る。たとえば、フィルタリングされた画素変化値144が第2の閾値170を超えると、強度乗数146は第2の値(たとえば0)を有し得る。
【0078】
安定性モジュール127が含む視差変化計算エンジン155は、(それぞれの画素について)現在の奥行きマップ122aに関する評価中の仮説136について提出された視差137と、以前の奥行きマップ122bに関する視差135とを受け取る。動作157において、視差変化計算エンジン155は、現在の奥行きマップ122aの提出された視差137と以前の奥行きマップ122bの視差135との差を計算して、視差変化値158を取得する。いくつかの例では、視差変化値158は視差値における絶対差である。しかしながら、安定性モジュール127は、視差変化値を導出するために(絶対差に加えて)別の技術を採用することもある。
【0079】
動作159において、視差変化計算エンジン155は、視差変化値158に視差関数178を適用して視差乗数164を計算する。いくつかの例では、視差乗数164は0~1の値である。視差関数178は強度関数168とは異なり得る。
【0080】
図6Dは視差関数178の一例を示す。いくつかの例では、視差関数178は強度関数168の反対である。図6Dに示されるように、視差変化値158が比較的小さければ、視差乗数164は第2の値(たとえば0)を有し得る。いくつかの例では、視差変化値158が0から閾値179までの範囲内にあれば、視差乗数164は第2の値(たとえば0)を有し得る。しかしながら、視差変化値158が閾値179を超えて閾値180に向かう場合には、視差乗数164は、第2の値(たとえば0)と第1の値(たとえば1)との間の値に増加し得る。視差変化値158が比較的大きければ、視差乗数164は第1の値(たとえば1)を有し得る。たとえば、視差変化値158が閾値180を超えると、視差乗数164は第1の値(たとえば1)を有し得る。いくつかの例では、以前の奥行きマップ122bにおいて画素が無効であると記録されていたら、視差変化計算エンジン155は、視差乗数164を第2の値(たとえば0)に設定する。
【0081】
安定性モジュール127は、強度乗数146と、視差乗数164と、最高の可能なコスト165を基に安定性ペナルティ128を計算するペナルティ計算器166とを含む。たとえば、ペナルティ計算器166は、平面マッチング段階中に生成され得る、それぞれの画素における最高の可能なコスト165を計算してよい。いくつかの例では、最高の可能なコスト165は、最高の可能な事前安定性トータルコストであり、最高の可能な事前安定性トータルコストは、すべてのマッチングコストが可能な限り高い場合のコストである。いくつかの例では、最高の可能なコスト165は、最高の可能な事前安定性トータルコストに追加の乗数を掛けたもの(たとえば最高の可能な事前安定性トータルコストの、ある特定の割合)であり、追加の乗数は、適用される安定性のレベルに影響し得る。いくつかの例では、追加の乗数は、強度関数168および/または視差関数178に組み込まれる(たとえば0~1の値ではなく0~1未満の値である)。ペナルティ計算器166は、最高の可能なコスト165に強度乗数146を掛けてから視差乗数164を掛けて、安定性ペナルティ128(たとえば、最高の可能なコスト165と、強度乗数146と、視差乗数164との積)を計算し得る。安定性ペナルティ128は、平面評価段階中に、フィルタリングされたコスト194bに加算される。
【0082】
安定性モジュール127は、時間フリッカを低減し得、いくつかの例では、より完全な再構成をもたらすこともできる。たとえば、複数の近似の最小値が存在するとき、真の最小値は、連続したフレームにわたって存在することがあり、しかし、他の最小値の場所はノイズによって動かされ、したがって動き回る可能性がある。誤った最小値は、後処理で無効に記録されることが多く、結果として誤った最小値を有する画素に安定性ペナルティ128が適用されない(たとえば視差乗数が0になる)。しかしながら、真の最小値は、一旦選択されると、画素が無効に記録されることはないので、リアルタイムのアクティブステレオシステム100の、将来のフレームにおけるその選択が助長される。
【0083】
図7は、一態様による、安定性ペナルティ128を用いてフィルタリングされたコスト194bが更新される、奥行きマップ122を生成する例示の動作を表す流れ図700を示す。図7の流れ図700は、シーケンシャルな順序の動作を示すが、これは単なる例示であり、追加または代替の動作が含まれ得ることが理解されよう。さらに、図7の動作および関連する動作は、示されたものとは異なる順序で実行されてよく、または並行して、もしくはオーバーラップして実行されてもよい。
【0084】
動作702は、基準ステレオカメラ108から取り込まれた基準画像130、および副ステレオカメラ110から取り込まれた副画像132を含むステレオ画像データ114を受け取るステップを含む。動作704は、基準画像130および副画像132を基に記述子121を計算するステップを含む。動作706は、画素変化情報192および視差変化情報199を基に安定性ペナルティ128を計算するステップを含む。
【0085】
動作708は、記述子121を使用して、画素のグループに関する複数の平面仮説136を評価するステップであって、それぞれの平面仮説136に関する記述子121の間のマッチングコスト194を計算するステップと、安定性ペナルティ128を用いてマッチングコスト194を更新するステップと、複数の平面仮説136から、更新された最低のコスト194を有する画素のグループに関する平面仮説136を選択するステップとを含む、平面仮説136を評価するステップを含む。いくつかの例では、マッチングコスト194は、フィルタリングされたコスト194bを取得するためにフィルタリングされ、フィルタリングされたコスト194bは、安定性ペナルティ128を用いて調節される。
【0086】
図1Aに戻って、奥行き感知コンピューティングシステム104が含み得る信頼度重み生成器185は、画素変動値184および未処理のコスト194a(たとえばフィルタリングされていないコスト)を使用して、それぞれの奥行き推定値に関連する信頼度重み182を計算するように構成される。いくつかの例では、画素変動値184は、画像領域における画素値と画像領域における平均画素値との間の絶対差の平均として計算される。ステレオ装置は、閉塞(たとえば両方のカメラからポイントが可視でないことがある)、大きな斜角で観察した表面におけるフォアショートニング、および/または低レベルの信号(たとえば低い反射率)を含む複数の理由のために、画像におけるあらゆる画素において視差を正確に計算し得るとは限らない。しかしながら、信頼度重み生成器185は、奥行きマップ122を1つまたは複数の他の奥行きマップと組み合わせるときに使用され得る信頼度重み182を計算し得る。たとえば、システム(たとえば、マルチビュー融合システム)は、信頼度重み182を使用して、比較的低い信頼度重み182を有する画素の奥行き推定値の重みを減らし得、または除去し得る。
【0087】
図8は、一態様による、ステレオ内部データ183を使用して信頼度重み182を生成するための信頼度重み生成器185を示す。ステレオ内部データ183は画素変動値184およびコスト194を含み得る。たとえば、信頼度重み生成器185は、未処理のコスト194aおよび画素変動値184を基に、画素のグループに関して選択された平面仮説136に関連する信頼度重み182を生成し得る。言い換えれば、信頼度重み生成器185は、未処理のコスト194aや画素変動値184などのステレオの内部データ183を使用して奥行き推定値に関連する精度のレベルを判定し得る。
【0088】
信頼度重み生成器185は、選択された平面仮説136および画素変動値184に関連する未処理のコスト194a(たとえばフィルタリングされていないコスト)を受け取り、未処理のコスト194aと画素変動値184とを入力したルックアップ表187を使用して、信頼度重み182を計算し得る。画素変動値184は、記述子121に関連した時空ウィンドウ150にわたって、画素のグループにおける画素強度変化の量を指示する。いくつかの例では、ルックアップ表187は、既知のジオメトリを有するシーンの画像データから生成された画素変動値184と未処理のコスト194aとの組合せに、信頼度重み値をマッピングし得る。
【0089】
図9は、一態様による、各画素のステレオ奥行き推定値の信頼度重み182を生成する例示の動作を表す流れ図を示す。図9の流れ図900は、シーケンシャルな順序の動作を示すが、これは単なる例示であり、追加または代替の動作が含まれ得ることが理解されよう。さらに、図9の動作および関連する動作は、示されたものとは異なる順序で実行されてよく、または並行して、もしくはオーバーラップして実行されてもよい。
【0090】
動作902は、基準画像130および副画像132を含むステレオ画像データ114を受け取るステップを含む。動作904は、基準画像130および副画像132を基に記述子121を計算するステップを含む。
【0091】
動作906は、記述子121を使用して、画素のグループに関する複数の平面仮説136を評価するステップであって、それぞれの平面仮説136に関する記述子121の間のマッチングコスト194を計算するステップと、マッチングコスト194に基づき、画素のグループに関する複数の平面仮説136から平面仮説136を選択するステップとを含む、複数の平面仮説136を評価するステップを含む。動作908は、マッチングコスト194に基づき、画素のグループに関する選択された平面仮説136に関連した信頼度重み182を生成するステップを含む。
【0092】
図10は、ここで説明された技術とともに使用され得るコンピューティングデバイス1000およびモバイルコンピューティングデバイス1050の一例を示す。コンピューティングデバイス1000は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、個人用デジタル情報処理端末、サーバ、ブレードサーバ、汎用コンピュータ、および他の適切なコンピュータなど、デジタルコンピュータの様々な形態を表すように意図されている。コンピューティングデバイス1050は、個人用デジタル情報処理端末、携帯電話、スマートフォン、および他の類似のコンピューティングデバイスなどのモバイルデバイスの様々な形態を表すように意図されている。ここで示された構成要素、それらの接続および関係、ならびにそれらの機能は、例を意味するのみであり、この文献で説明され、かつ/または特許請求される本発明の実装形態を制限する意味はない。
【0093】
コンピューティングデバイス1000は、プロセッサ1002と、メモリ1004と、記憶装置1006と、メモリ1004および高速拡張ポート1010に接続する高速インターフェース1008と、低速バス1014および記憶装置1006に接続する低速インターフェース1012とを含む。構成要素1002、1004、1006、1008、1010、および1012の各々が、様々なバスを使用して相互接続され、共通のマザーボードに実装され得、または必要に応じて他のやり方で実装され得る。プロセッサ1002は、コンピューティングデバイス1000の内部で実行するように、メモリ1004または記憶装置1006に記憶された命令を含む命令を処理して、高速インターフェース1008に結合されたディスプレイ1016などの外部入出力デバイスに、GUI用のグラフィカル情報を表示することができる。他の実装形態では、必要に応じて、複数のプロセッサおよび/または複数のバスが、複数のメモリおよびメモリのタイプとともに使用され得る。また、複数のコンピューティングデバイス1000が接続されてよく、それぞれが、(たとえばサーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の部分をもたらす。
【0094】
メモリ1004は、コンピューティングデバイス1000の内部の情報を記憶する。一実装形態では、メモリ1004は1つまたは複数の揮発性メモリユニットである。別の実装形態では、メモリ1004は1つまたは複数の不揮発性メモリユニットである。メモリ1004は、磁気ディスクまたは光ディスクなど、コンピュータ可読媒体の別の形態でもよい。
【0095】
記憶装置1006は、コンピューティングデバイス1000用の大容量記憶装置を用意することができる。一実装形態では、記憶装置1006は、フロッピーディスク装置などのコンピュータ可読媒体、ハードディスク装置、光学ディスク装置、テープ装置、フラッシュメモリもしくは他の類似の固体メモリデバイス、またはストレージエリアネットワークもしくは他の構成における装置の配列を含む装置でよく、あるいはこれらを含有し得る。コンピュータプログラム製品は、情報媒体の中に実体的に具現され得る。コンピュータプログラム製品には、実行されたとき、上記で説明されたものなどの1つまたは複数の方法を実行する命令も含有され得る。情報媒体は、メモリ1004、記憶装置1006、またはプロセッサ1002上のメモリなどのコンピュータ可読または機械可読の媒体である。
【0096】
高速コントローラ1008は、コンピューティングデバイス1000の、大きな帯域幅を必要とする動作を管理し、低速コントローラ1012は、あまり大きい帯域幅は必要としない動作を管理する。そのような機能配分は例示でしかない。一実装形態では、高速コントローラ1008は、メモリ1004と、(たとえばグラフィックスプロセッサまたはアクセラレータによって)ディスプレイ1016と、様々な拡張カード(図示せず)を受ける高速拡張ポート1010とに結合される。実装形態において、低速コントローラ1012は、記憶装置1006および低速拡張ポート1014に結合される。低速拡張ポートは、様々な通信ポート(たとえばUSB、Bluetooth、イーサネット、無線イーサネット)を含み得て、キーボード、ポインティングデバイス、スキャナなどの1つまたは複数の入出力装置に結合され得、またはたとえばネットワークアダプタを介してスイッチもしくはルータなどのネットワーク装置に結合され得る。
【0097】
コンピューティングデバイス1000は、図に示されるように、複数の別々の形態で実施され得る。たとえば、コンピューティングデバイス1000は、標準的なサーバ1020として、またはそのようなサーバのグループとして、しばしば実施され得る。また、コンピューティングデバイス1000はラックサーバシステム1024の一部として実施され得る。加えて、コンピューティングデバイス1000はラップトップコンピュータ1022などのパーソナルコンピュータで実施され得る。代わりに、コンピューティングデバイス1000の構成要素は、デバイス1050などのモバイルデバイス(図示せず)の他の構成要素と組み合わされ得る。そのような装置の各々が、コンピューティングデバイス1000、1050のうち1つまたは複数を含有し得、全体のシステムは、互いに通信する複数のコンピューティングデバイス1000、1050から構成され得る。
【0098】
コンピューティングデバイス1050は、構成要素のうち特に、プロセッサ1052、メモリ1064、ディスプレイ1054などの入出力装置、通信インターフェース1066、およびトランシーバ1068を含む。装置1050には、追加記憶機構をもたらすためのマイクロドライブまたは他の装置などの記憶装置も備わっていてよい。構成要素1050、1052、1064、1054、1066、および1068の各々が、様々なバスを使用して相互接続され、これらのうちいくつかが、共通のマザーボードに実装され得、または必要に応じて他のやり方で実装され得る。
【0099】
プロセッサ1052は、コンピューティングデバイス1050の内部で、メモリ1064に記憶された命令を含めて命令を実行することができる。プロセッサは、複数の個別のアナログプロセッサやデジタルプロセッサを含むチップのチップセットとして実施され得る。プロセッサは、たとえばユーザインターフェースの制御、装置1050が実行するアプリケーションの制御、装置1050による無線通信の制御など、装置1050の他の構成要素を調整し得る。
【0100】
プロセッサ1052は、ディスプレイ1054に結合されたインターフェース1058とディスプレイインターフェース1056とを制御することによって、ユーザと通信し得る。ディスプレイ1054は、たとえばTFT LCD(薄膜トランジスタ駆動カラー液晶ディスプレイ)もしくはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術でよい。ディスプレイインターフェース1056は、ディスプレイ1054を駆動してユーザにグラフィック情報や他の情報を提示するための適切な回路を備え得る。制御インターフェース1058は、ユーザから受け取った指令を、プロセッサ1052に提示するように変換し得る。加えて、装置1050の他の装置との近傍通信を可能にするために、プロセッサ1052と通信する外部インターフェース1062が設けられ得る。外部インターフェース1062は、たとえば、いくつかの例では有線通信をもたらし得、または他の実装形態では無線通信用をもたらし得、複数のインターフェースが使用されることもある。
【0101】
メモリ1064は、コンピューティングデバイス1050の内部の情報を記憶する。メモリ1064は、コンピュータ可読媒体(複数可)、揮発性メモリユニット(複数可)、または不揮発性メモリユニット(複数可)のうち1つまたは複数として実施され得る。増設メモリ1074も与えられてよく、たとえばSIMM(シングルインラインメモリモジュール)カードインターフェースを含み得る拡張インターフェース1072を介して、装置1050に接続され得る。そのような増設メモリ1074は、装置1050に追加の記憶空間をもたらし得、または装置1050用のアプリケーションもしくは他の情報も記憶し得る。具体的には、増設メモリ1074は、上記で説明された処理を実行するかまたは補足するための命令を含み得、安全情報も含み得る。したがって、増設メモリ1074は、たとえば装置1050用のセキュリティモジュールとして与えられてよく、装置1050の安全な使用を可能にする命令を用いてプログラムされ得る。加えて、SIMMカードによって、セキュアアプリケーションが、ハッキング不可能なやり方でSIMMカードに識別情報をセットするなど、付加情報とともに与えられ得る。
【0102】
メモリは、たとえば以下で論じられるようなフラッシュメモリおよび/またはNVRAMメモリを含み得る。一実装形態では、コンピュータプログラム製品は、情報媒体の中に実体的に具現される。コンピュータプログラム製品には、実行されたとき、上記で説明されたものなどの1つまたは複数の方法を実行する命令が含有される。情報媒体は、たとえばトランシーバ1068または外部インターフェース1062を通じて受け取られ得る命令を格納する、メモリ1064、増設メモリ1074、またはプロセッサ1052上のメモリなどのコンピュータ可読媒体もしくは機械可読媒体である。
【0103】
装置1050は、必要な場合にはデジタル信号処理回路を含み得る通信インターフェース1066を介して無線で通信し得る。通信インターフェース1066は、とりわけ、GSM音声通話、SMS、EMS、もしくはMMSのメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなど、様々なモードまたはプロトコルの下で通信をもたらし得る。そのような通信は、たとえば無線周波数トランシーバ1068を介して生じ得る。加えて、Bluetooth、Wi-Fi、または他のそのようなトランシーバ(図示せず)などを使用して短距離通信が生じ得る。加えて、GPS(全地球測位システム)受信モジュール1070は、装置1050上で作動するアプリケーションによって必要に応じて使用され得る、ナビゲーションおよび位置に関連する追加の無線データを、装置1050に供給し得る。
【0104】
装置1050は、ユーザが話した情報を受け取って使用可能なデジタル情報に変換し得る音声コーデック1060を音声認識可能に使用して、通信してもよい。音声コーデック1060は、同様に、たとえば装置1050のハンドセットの中のスピーカなどによって、ユーザ向けに可聴音を生成し得る。そのような音響には、音声通話からの音響、記録された音響(たとえば音声メール、音楽ファイルなど)、装置1050上で動作するアプリケーションによって生成される音響も含まれ得る。コンピューティングデバイス1050は、図に示されるように、複数の別々の形態で実施され得る。たとえば、コンピューティングデバイス1050は携帯電話1080として実施され得る。コンピューティングデバイス1050は、スマートフォン1082、個人用デジタル情報処理端末、または別の類似のモバイルデバイスの一部として実施されてもよい。
【0105】
いくつかの例では、リアルタイムのアクティブステレオシステム100は3次元テレプレゼンスシステムの内部に含まれる。3次元テレプレゼンスシステムは、頭部装着型ディスプレイや3D眼鏡を使用しない従来のテレビ会議システムよりも、現実的な、面と向かっての体験を提供し得る。テレビ会議システムや画像会議システムは、テレプレゼンスシステムのいくつかの例である。
【0106】
図11は、一態様による3次元テレプレゼンスシステム1100を示す。3次元テレプレゼンスシステム1100は、本明細書で説明した技術によって奥行き感知コンピューティングシステム104を実行するように構成され得る。
【0107】
2人のユーザ1105aおよび1105bは、3次元テレプレゼンスシステム1100を使用して、遠隔であっても面と向かって通信することができる。第1のユーザ1105aは、第2のユーザ1105bから遠く離れた場所にいる。第2のユーザ1105bには、ディスプレイ1125上に、第1のユーザ1105aの3次元グラフィックイメージが見える。いくつかの例では、第1のユーザ1105aおよび第2のユーザ1105bの共同存在をシミュレートするために、ディスプレイ1125は、適切なサイズであって第2のユーザ1105bから少し離される。たとえば、ディスプレイ1125は、第2のユーザ1105bからテーブルの向う側の1mのところに配置され、ディスプレイ1125は1mのディスプレイでよい。カメラアセンブリ1180は、3次元テレプレゼンスシステム1100によって(たとえば第2のユーザ1105bが使用する端末によって)、第1のユーザ1105a(図11には示されていない)が見るディスプレイに第2のユーザ1105bの3次元立体鏡の画像を表示するように使用され得る可視光および赤外線(たとえばステレオ画像データ114)を取り込むように構成され得る。いくつかの例では、カメラアセンブリ1180は取込みシステム102を含む。いくつかの例では、システム1100には、1つまたは複数のマイクロフォンおよび/またはスピーカ(たとえばスピーカ配列)が含まれ得る。そのようなシステム1100では、マイクロフォンおよび/またはスピーカは、空間的音声(たとえば、空間的に、原点の位置に依拠して生成される音響)をシミュレートするように使用され得る。
【0108】
図12は、一態様による、2人のユーザの間の3次元テレビ会議を行うための3次元テレプレゼンスシステム1200を示すブロック図である。いくつかの例では、それぞれのユーザ(たとえば第1の参加者および第2の参加者)に対応する各端末1220は、ネットワーク1290を使用して通信することができる。
【0109】
3次元テレプレゼンスシステム1200はコンピュータ化され得、示された構成要素の各々が、ネットワーク1290を通じて他のコンピューティングデバイスと通信するように構成されたコンピューティングデバイスまたはコンピューティングデバイスの一部を含む。たとえば、それぞれの端末1220が、ネットワーク1290を介して他のコンピューティングデバイスとデータを送受信するように構成されたデスクトップコンピュータ、ノート型コンピュータ、または手持ち式コンピューティングデバイスなどの1つまたは複数のコンピューティングデバイスを含み得る。いくつかの例では、それぞれの端末1220が専用のテレビ会議装置であり得、端末1220のそれぞれの構成要素が同一の筐体内に配設される。いくつかの例では、それぞれの端末1220の間の通信が会議のセットアップ、ティアダウンおよび/またはスケジューリングを管理する1つまたは複数のサーバまたはコンピュータクラスタ(図示せず)によって助長され得る。いくつかの例では、端末1220は2地点間通信プロトコルを使用して通信し得る。
【0110】
端末1220は、テレビ会議の参加者によって使用され得る。いくつかの例では、参加者は同一の端末を使用する。たとえば、それぞれの参加者が、同一の構成もしくは仕様で同一モデル番号の端末1220、またはテレビ会議中の通信を容易にするために同様に構成された端末1220を使用し得る。いくつかの例では、参加者によって使用される端末は、異なり得るが、それぞれが、画像および奥行きデータ(たとえば奥行きマップ122)を送受し、頭部装着型ディスプレイまたは3次元眼鏡を使用することなく3次元立体画像を生成するように構成される。議論を容易にするために、図12の例は、3次元テレプレゼンスシステム1200の両端に同一の端末1220を示す。
【0111】
端末1220は、ディスプレイ1225、カメラアセンブリ1280、および処理装置1230を含む。いくつかの例では、ディスプレイ1225は眼鏡なしのレンズ形3次元ディスプレイを含み得る。カメラアセンブリ1280は取込みシステム102を含み得る。処理装置1230は奥行き感知コンピューティングシステム104を含み得る。
【0112】
処理装置1230は、ディスプレイ1225に画像を表示するように命令する(たとえば起動する)ための機能および動作を実行し得る。いくつかの例では、処理装置1230は、カメラアセンブリ1280と通信してステレオ画像データ114を受け取り得、また、本明細書で論じた技術によって奥行きマップ122を生成するために、ステレオ画像データ114を基に局所的ステレオ再構成アルゴリズム120を実行するように構成される。処理装置1230はまた、ネットワークアダプタ1260と通信して、テレビ会議に参加している他の端末1220から画像データおよび奥行きデータ(たとえば奥行きマップ122)を受け取り得る。処理装置1230は、カメラアセンブリ1280から受け取った位置データと、ネットワークアダプタ1260からの画像データおよび奥行きデータとを使用して、ディスプレイ1225上に3次元立体画像を表現し得る。いくつかの例では、処理装置1230は、ネットワーク1290を通じて画像データまたは奥行きデータを通信する前に、必要なメモリまたは帯域幅をより小さくするように、画像データおよび/または奥行きデータを圧縮または符号化し得る。同様に、処理装置1230は、受け取った画像データまたは奥行きデータを解凍または復号してから3次元立体画像を表現すればよい。
【0113】
いくつかの例によれば、端末1220はスピーカアセンブリ1240およびマイクロフォンアセンブリ1250を含み得る。スピーカアセンブリ1240は、テレビ会議において他の端末1220から受け取った音声データに対応する音声を放出し得る。スピーカアセンブリ1240は、たとえば指向性の音声を放出するように複数の位置に配置され得る1つまたは複数のスピーカを含み得る。マイクロフォンアセンブリ1250は、端末1220のユーザに対応する音声を取り込み得る。スピーカアセンブリ1250は、たとえば指向性の音声を放出するように複数の位置に配置され得る1つまたは複数のスピーカを含み得る。いくつかの例では、マイクロフォンアセンブリ1250によって取り込まれた音声を、処理ユニット(たとえば処理装置1230)が圧縮するかまたは符号化して、ネットワークアダプタ1260およびネットワーク1290を通じてテレビ会議に参加している他の端末1220に通信し得る。
【0114】
端末1220は入出力装置1270も含むことができる。入出力装置1270は、端末1220が関与しているテレビ会議を制御するための入力装置および/または出力装置を含み得る。たとえば、入出力装置1270は、ディスプレイ1225のコントラスト、明るさ、またはズームを調節するように使用され得るボタンまたはタッチ画面を含むことができる。入出力装置1270は、キーボードインターフェースも含み得、これは、ディスプレイ1225に表現された画像の注釈や、テレビ会議に関与している他の端末1220と通信するための注釈に使用され得る。
【0115】
端末1220は記憶装置1285を含み得る。記憶装置1285は、実装形態に依拠して、1つまたは複数の揮発性メモリユニットまたは不揮発メモリユニットでよい。記憶装置1285は、磁気ディスクもしくは光ディスク、またはソリッドステートメモリなど、コンピュータ可読媒体の任意の形態でよい。記憶装置1285は、処理装置1230に、開示された例と一致する機能および動作を実行させる命令を記憶し得る。
【0116】
3次元テレプレゼンスシステム1200の各端末1220は、互いに様々な形式のデータを通信してテレビ会議を促進する。いくつかの例では、各端末1220が、画像データ、奥行きデータ(たとえば奥行きマップ122)、音声データ、および/または各端末1220のそれぞれのユーザに対応する位置データを通信し得る。それぞれの端末1220の処理装置1230が、受け取った画像データ、奥行きデータ、および/または位置データを使用して、ディスプレイ1225上に3次元立体画像を表現し得る。処理装置1230は、音声データを解釈して、スピーカアセンブリ1240に、音声データに対応する音声を放出するように命令することができる。いくつかの例では、画像データ、奥行きデータ、音声データ、および/または位置データは、圧縮または符号化され得て、処理装置1230が、これらのデータを解凍または復号するための機能および動作を実行し得る。
【0117】
ネットワーク1290は、実装形態に依拠して、1つまたは複数のローカルエリアネットワーク、広域ネットワーク、パーソナルエリアネットワーク、電話ネットワーク、および/またはインターネットなどの任意のタイプのネットワークのうち1つまたは複数を含み得、これらは、任意の利用可能な有線および/または無線の通信プロトコルを通じてアクセスされ得る。たとえば、ネットワーク1290はインターネット接続を含み得、これを通じて各端末1220が通信する。安全なネットワーク通信リンクや不安全なネットワーク通信リンクを含むネットワークの他の組合せも、本明細書で説明したシステムにおいて使用するように企図される。
【0118】
例1は、リアルタイムのアクティブステレオシステムであって、基準画像および副画像を含むステレオ画像データを取り込むように構成された取込みシステムと、奥行きマップを生成するように構成された奥行き感知コンピューティングシステムであって、基準画像および副画像を基に記述子を計算することと、画素変化情報および視差変化情報を基に安定性ペナルティを計算することと、記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、それぞれの平面仮説に関連する記述子の間のマッチングコストを計算し、安定性ペナルティを用いてマッチングコストを更新して、更新されたマッチングコストに基づき、画素のグループに関する複数の平面仮説から平面仮説を選択することを含む、複数の平面仮説を評価することとを行うように構成された奥行き感知コンピューティングシステムとを備える、リアルタイムのアクティブステレオシステムである。
【0119】
例2は、例1に記載のリアルタイムのアクティブステレオシステムであって、画素変化情報が画素変化値を含み、視差変化情報が視差変化値を含み、奥行き感知コンピューティングシステムが、画素変化値を使用して強度乗数を計算し、視差変化値を使用して視差乗数を計算し、かつ/または強度乗数および視差乗数を使用して安定性ペナルティを計算する、ように構成される、リアルタイムのアクティブステレオシステムである。
【0120】
例3は、例1または例2に記載のリアルタイムのアクティブステレオシステムであって、奥行き感知コンピューティングシステムが、画素変化値にエッジアウェアフィルタを適用して、フィルタリングされた画素変化値を導出するように構成され、フィルタリングされた画素変化値は強度乗数を計算するように使用される、リアルタイムのアクティブステレオシステムである。
【0121】
例4は、例1から例3のいずれかに記載のリアルタイムのアクティブステレオシステムであって、画素変化値が、現在の奥行きマップの基準画像または副画像における画素の画素値と、以前の奥行きマップの基準画像または副画像における画素の画素値との間の差を表し、視差変化値が、現在の奥行きマップの画素の提出された視差と、以前の奥行きマップの画素の視差との間の差を表す、リアルタイムのアクティブステレオシステムである。
【0122】
例5は、例1から例4のいずれかに記載のリアルタイムのアクティブステレオシステムであって、奥行き感知コンピューティングシステムが、平面仮説評価中に生成され得る最高のマッチングコストを計算し、かつ/または最高のマッチングコストと、強度乗数と、視差乗数との積を基に安定性ペナルティを計算するように構成される、リアルタイムのアクティブステレオシステムである。
【0123】
例6は、例1から例5のいずれかに記載のリアルタイムのアクティブステレオシステムであって、奥行き感知コンピューティングシステムが、画素変化値を入力した強度関数を使用して強度乗数を計算するように構成される、リアルタイムのアクティブステレオシステムである。
【0124】
例7は、例1から例6のいずれかに記載のリアルタイムのアクティブステレオシステムであって、奥行き感知コンピューティングシステムが、画素変化値を入力した視差関数を使用して視差乗数を計算するように構成される、リアルタイムのアクティブステレオシステムである。
【0125】
例8は、例1から例7のいずれかに記載のリアルタイムのアクティブステレオシステムであって、奥行き感知コンピューティングシステムが、エッジアウェアフィルタを使用してマッチングコストをフィルタリングするように構成され、安定性ペナルティは、フィルタリングされたマッチングコストを更新するように使用される、リアルタイムのアクティブステレオシステムである。
【0126】
例9は、リアルタイムのアクティブステレオに関する方法であって、基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを受け取るステップと、基準画像および副画像を基に記述子を計算するステップと、画素変化情報および視差変化情報を基に安定性ペナルティを計算するステップと、記述子を使用して、画素のグループに関する複数の平面仮説を評価するステップであって、それぞれの平面仮説に関連する記述子の間のマッチングコストを計算するステップ、安定性ペナルティを用いてマッチングコストを更新するステップ、および/または画素のグループに関する複数の平面仮説から、更新された最低のマッチングコストを有する平面仮説を選択するステップを含む、複数の平面仮説を評価するステップとを含む、方法である。
【0127】
例10は、例9に記載の方法であって、画素変化情報が画素変化値を含み、視差変化情報が視差変化値を含む、方法において、画素変化値を使用して強度乗数を計算するステップ、視差変化値を使用して視差乗数を計算するステップ、および/または強度乗数および視差乗数を使用して安定性ペナルティを計算するステップをさらに含む方法である。
【0128】
例11は、例9または例10に記載の方法であって、画素変化値にエッジアウェアフィルタを適用して、フィルタリングされた画素変化値を導出するステップをさらに含む方法において、フィルタリングされた画素変化値が強度乗数を計算するように使用される、方法である。
【0129】
例12は、例9から例11のいずれかに記載の方法であって、画素変化値が、現在の奥行きマップの基準画像における画素の画素値と、以前の奥行きマップの基準画像における画素の画素値との間の差を表し、視差変化値が、現在の奥行きマップの画素の提出された視差と、以前の奥行きマップの画素の視差との間の差を表す、方法である。
【0130】
例13は、例9から例12のいずれかに記載の方法であって、平面仮説評価中に生成され得る最高のマッチングコストを計算するステップと、最高のマッチングコストと、強度乗数と、視差乗数との積を基に安定性ペナルティを計算するステップとをさらに含む方法である。
【0131】
例14は、例9から例13のいずれかに記載の方法であって、画素変化値を入力した強度関数を使用して強度乗数を計算するステップと、強度関数とは異なる視差関数に画素変化値を入力したものを使用して視差乗数を計算するステップとをさらに含む方法である。
【0132】
例15は、例9から例14のいずれかに記載の方法であって、記述子の間のハミング距離を基にマッチングコストを計算するステップと、エッジアウェアフィルタを使用してマッチングコストをフィルタリングするステップであって、フィルタリングされたマッチングコストが安定性ペナルティを用いて更新されるステップとをさらに含む方法である。
【0133】
例16は、実行可能命令を記憶している非一時的コンピュータ可読媒体であって、少なくとも1つのプロセッサが、これらの実行可能命令を実行することによって、基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを受け取ることと、基準画像および副画像を基に記述子を計算することと、画素変化情報および視差変化情報を基に安定性ペナルティを計算することと、記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、それぞれの平面仮説に関する記述子の間のマッチングコストを計算し、安定性ペナルティを用いてマッチングコストを更新して、更新されたマッチングコストに基づき、画素のグループに関する複数の平面仮説から平面仮説を選択することを含む、複数の平面仮説を評価することとを行う非一時的コンピュータ可読媒体である。
【0134】
例17は、例16に記載の非一時的コンピュータ可読媒体であって、画素変化情報が画素変化値を含み、視差変化情報が視差変化値を含み、少なくとも1つのプロセッサが、実行可能命令に含まれる命令を実行することによって、画素変化値にエッジアウェアフィルタを適用して、フィルタリングされた画素変化値を導出し、フィルタリングされた画素変化値を使用して強度乗数を計算し、視差変動値を使用して視差乗数を計算し、強度乗数および視差乗数を使用して安定性ペナルティを計算する、非一時的コンピュータ可読媒体である。
【0135】
例18は、例16または例17に記載の非一時的コンピュータ可読媒体であって、画素変化値が、現在の奥行きマップの基準画像における画素の画素値と、以前の奥行きマップの基準画像における画素の画素値との間の差を表し、視差変化値が、現在の奥行きマップの画素の提出された視差と、以前の奥行きマップの画素の視差との間の差を表す、非一時的コンピュータ可読媒体である。
【0136】
例19は、例16から例18のいずれかに記載の非一時的コンピュータ可読媒体であって、少なくとも1つのプロセッサが、実行可能命令に含まれる命令を実行することによって、平面仮説評価中に生成され得る最高のマッチングコストを計算し、かつ/または最高のマッチングコストと、強度乗数と、視差乗数との積を基に安定性ペナルティを計算する、非一時的コンピュータ可読媒体である。
【0137】
例20は、例16から例19のいずれかに記載の非一時的コンピュータ可読媒体であって、少なくとも1つのプロセッサが、実行可能命令に含まれる命令を実行することによって、画素変化値を入力した強度関数を使用して強度乗数を計算し、強度関数とは異なる視差関数に画素変化値を入力したものを使用して視差乗数を計算する、非一時的コンピュータ可読媒体である。
【0138】
例21は、リアルタイムのアクティブステレオシステムであって、基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを取り込むように構成された取込みシステムと、奥行き感知コンピューティングシステムであって、基準画像および副画像を基に記述子を計算することと、画素値の間の強度差に基づき、記述子に関連する信頼性データを計算することと、記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、それぞれの平面仮説に関する記述子の間のマッチングコストを計算し、信頼性データを使用してマッチングコストを調節して、調節されたマッチングコストに基づき、画素のグループに関する複数の平面仮説から平面仮説を選択することを含む、複数の平面仮説を評価することとを行うように構成された奥行き感知コンピューティングシステムとを備える、リアルタイムのアクティブステレオシステムである。
【0139】
例22は、例21に記載のリアルタイムのアクティブステレオシステムであって、記述子に含まれる、時空ウィンドウにおける画素の近隣を記述する記述子が、時空ウィンドウにおける2つの画素の間の比較の結果をそれぞれ表す複数の比較値を含む、リアルタイムのアクティブステレオシステムである。
【0140】
例23は、例21または例22に記載のリアルタイムのアクティブステレオシステムであって、信頼性データが、複数の比較値に対応する複数の信頼ビットを有する信頼マスクを含み、それぞれの信頼ビットが、対応する比較値が信頼できるか否かを指示する、リアルタイムのアクティブステレオシステムである。
【0141】
例24は、例21から例23のいずれかに記載のリアルタイムのアクティブステレオシステムであって、奥行き感知コンピューティングシステムが、2つの画素の間の強度差が第1の閾値よりも大きいことに基づき、信頼ビットの第1の値を計算するように構成される、リアルタイムのアクティブステレオシステムである。
【0142】
例25は、例21から例24のいずれかに記載のリアルタイムのアクティブステレオシステムであって、信頼性データが、複数の比較値に対応する複数の不信頼ビットを有する不信頼マスクを含み、それぞれの不信頼ビットが、対応する比較値が信頼できないかどうかを指示する、リアルタイムのアクティブステレオシステムである。
【0143】
例26は、例21から例25のいずれかに記載のリアルタイムのアクティブステレオシステムであって、奥行き感知コンピューティングシステムが、2つの画素の間の強度差が第2の閾値よりも小さいことに基づき、不信頼ビットの第1の値を計算するように構成される、リアルタイムのアクティブステレオシステムである。
【0144】
例27は、例21から例26のいずれかに記載のリアルタイムのアクティブステレオシステムであって、信頼性データが信頼マスクおよび不信頼マスクを含み、奥行き感知コンピューティングシステムが、記述子の間のハミング距離を基に記述子の間のマッチングコストを計算し、信頼マスクおよび不信頼マスクを使用してマッチングコストを調節するように構成される、リアルタイムのアクティブステレオシステムである。
【0145】
例28は、例21から例27のいずれかに記載のリアルタイムのアクティブステレオシステムであって、記述子が基準記述子および副記述子を含み、奥行き感知コンピューティングシステムが、基準記述子および副記述子を使用して第1のビット演算を実行し、第1のビット演算の結果ならびに信頼マスクおよび不信頼マスクを使用して第2のビット演算を実行するように構成される、リアルタイムのアクティブステレオシステムである。
【0146】
例29は、リアルタイムのアクティブステレオに関する方法であって、基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを受け取るステップと、基準画像および副画像を基に記述子を計算するステップと、画素値の間の強度差に基づき、記述子に関連する信頼性データを計算するステップと、記述子を使用して、画素のグループに関する複数の平面仮説を評価するステップであって、それぞれの平面仮説に関する記述子の間のマッチングコストを計算するステップ、信頼性データを使用してマッチングコストを調節するステップ、および調節されたマッチングコストに基づき、画素のグループに関する複数の平面仮説から平面仮説を選択するステップを含む、複数の平面仮説を評価するステップとを含む、リアルタイムのアクティブステレオに関する方法である。
【0147】
例30は、例29に記載の方法であって、記述子に含まれる、時空ウィンドウにおける画素の近隣を記述する記述子が、時空ウィンドウにおける2つの画素の間の比較の結果をそれぞれ表す複数の比較値を含む、方法である。
【0148】
例31は、例29または例30に記載の方法であって、信頼性データが、複数の比較値に対応する複数の信頼ビットを有する信頼マスクを含み、それぞれの信頼ビットが、対応する比較値が信頼できるか否かを指示する、方法である。
【0149】
例32は、例29から例31のいずれかに記載の方法であって、2つの画素の間の強度差が第1の閾値よりも大きいことに基づき、信頼ビットの第1の値を計算するステップをさらに含む、方法である。
【0150】
例33は、例29から例32のいずれかに記載の方法であって、信頼性データが、複数の比較値に対応する複数の不信頼ビットを有する不信頼マスクを含み、それぞれの不信頼ビットが、対応する比較値が信頼できないかどうかを指示する、方法である。
【0151】
例34は、例29から例33のいずれかに記載の方法であって、2つの画素の間の強度差が第2の閾値よりも小さいことに基づき、不信頼ビットの第1の値を計算するステップをさらに含む、方法である。
【0152】
例35は、例29から例34のいずれかに記載の方法であって、信頼性データが信頼マスクおよび不信頼マスクを含む方法において、記述子の間のハミング距離を基に記述子の間のマッチングコストを計算するステップと、信頼マスクおよび不信頼マスクを使用してマッチングコストを調節するステップとを含む、方法である。
【0153】
例36は、実行可能命令を記憶している非一時的コンピュータ可読媒体であって、少なくとも1つのプロセッサが、実行可能命令を実行することによって、基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを受け取ることと、基準画像および副画像を基に記述子を計算することと、画素値の間の強度差に基づき、記述子に関連する信頼性データを計算することと、記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、それぞれの平面仮説に関する記述子の間のマッチングコストを計算し、信頼性データを使用してマッチングコストを調節して、調節されたマッチングコストに基づき、画素のグループに関する複数の平面仮説から平面仮説を選択することを含む、複数の平面仮説を評価することとを行う、非一時的コンピュータ可読媒体である。
【0154】
例37は、例36に記載の非一時的コンピュータ可読媒体であって、記述子に含まれる、時空ウィンドウにおける画素の近隣を記述する記述子が、時空ウィンドウにおける2つの画素の間の比較の結果をそれぞれ表す複数の比較値を含む、非一時的コンピュータ可読媒体である。
【0155】
例38は、例36または例37に記載の非一時的コンピュータ可読媒体であって、信頼性データが、複数の比較値に対応する複数の信頼ビットを有する信頼マスクを含み、それぞれの信頼ビットが、対応する比較値が信頼できるか否かを指示する、非一時的コンピュータ可読媒体である。
【0156】
例39は、例36から例38のいずれかに記載の非一時的コンピュータ可読媒体であって、信頼性データが、複数の比較値に対応する複数の不信頼ビットを有する不信頼マスクを含み、それぞれの不信頼ビットが、対応する比較値が信頼できないかどうかを指示する、非一時的コンピュータ可読媒体である。
【0157】
例40は、例36から例39のいずれかに記載の非一時的コンピュータ可読媒体であって、信頼性データが信頼マスクおよび不信頼マスクを含み、少なくとも1つのプロセッサが、実行可能命令に含まれる命令を実行することによって、記述子の間のハミング距離を基に記述子の間のマッチングコストを計算し、信頼マスクおよび不信頼マスクを使用してマッチングコストを調節する、非一時的コンピュータ可読媒体である。
【0158】
例41は、リアルタイムのアクティブステレオシステムであって、基準画像および副画像を含むステレオ画像データを取り込むように構成された取込みシステムと、奥行きマップを生成するように構成された奥行き感知コンピューティングシステムであって、基準画像および副画像を基に記述子を計算することと、記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、それぞれの平面仮説に関する記述子の間のマッチングコストを計算し、マッチングコストに基づき、画素のグループに関する複数の平面仮説から平面仮説を選択して、マッチングコストに基づき、画素のグループに関して選択された平面仮説に関連する信頼度重みを生成することを含む、複数の平面仮説を評価することとを行うように構成された奥行き感知コンピューティングシステムとを備える、リアルタイムのアクティブステレオシステムである。
【0159】
例42は、例41に記載のリアルタイムのアクティブステレオシステムであって、奥行き感知コンピューティングシステムが、画素変動値およびマッチングコストを基に信頼度重みを生成するように構成され、画素変動値が画素のグループの画素強度変化の量を指示する、リアルタイムのアクティブステレオシステムである。
【0160】
例43は、例41または例42に記載のリアルタイムのアクティブステレオシステムであって、画素変動値が、記述子に関連した時空ウィンドウにわたって、画素のグループにおける画素強度変化の量を指示する、リアルタイムのアクティブステレオシステムである。
【0161】
例44は、例41から例43のいずれかに記載のリアルタイムのアクティブステレオシステムであって、時空ウィンドウが所定のサイズの空間的範囲および所定のサイズの時間的範囲を有する、リアルタイムのアクティブステレオシステムである。
【0162】
例45は、例41から例44のいずれかに記載のリアルタイムのアクティブステレオシステムであって、奥行き感知コンピューティングシステムが、画素変動値とマッチングコストとを入力したルックアップ表を使用して信頼度重みを生成するように構成され、ルックアップ表が、画素変動値とマッチングコストとの組合せに対して信頼度重みをマッピングする、リアルタイムのアクティブステレオシステムである。
【0163】
例46は、例41から例45のいずれかに記載のリアルタイムのアクティブステレオシステムであって、マッチングコストが記述子の間のハミング距離を基に計算される、リアルタイムのアクティブステレオシステムである。
【0164】
例47は、例41から例46のいずれかに記載のリアルタイムのアクティブステレオシステムであって、奥行き感知コンピューティングシステムが、エッジアウェアフィルタを使用してマッチングコストをフィルタリングし、フィルタリングされたマッチングコストが平面仮説を選択するように使用され、選択された平面仮説に関するフィルタリングされていないマッチングコストが、信頼度重みを計算するように使用される、リアルタイムのアクティブステレオシステムである。
【0165】
例48は、例41から例47のいずれかに記載のリアルタイムのアクティブステレオシステムであって、記述子の各々が時空ウィンドウにおける複数のペアワイズ強度比較を含む、リアルタイムのアクティブステレオシステムである。
【0166】
例49は、例41から例48のいずれかに記載のリアルタイムのアクティブステレオシステムであって、複数の平面仮説が、傾けた平面を含む、リアルタイムのアクティブステレオシステムである。
【0167】
例50は、例41から例49のいずれかに記載のリアルタイムのアクティブステレオシステムであって、奥行き感知コンピューティングシステムが、ステレオ画像データを所定のサイズの領域に分割し、別個の画素のグループを表すそれぞれの領域について、複数の平面仮説をたどって、記述子を繰り返しサンプリングするように構成される、リアルタイムのアクティブステレオシステムである。
【0168】
例51は、リアルタイムのアクティブステレオに関する方法であって、基準画像および副画像を含むステレオ画像データを受け取るステップと、基準画像および副画像を基に記述子を計算するステップと、記述子を使用して、画素のグループに関する複数の平面仮説を評価するステップであって、それぞれの平面仮説に関する記述子の間のマッチングコストを計算するステップ、およびマッチングコストに基づき、画素のグループに関する複数の平面仮説から平面仮説を選択するステップを含む、複数の平面仮説を評価するステップと、マッチングコストに基づき、画素のグループに関して選択された平面仮説に関連する信頼度重みを生成するステップとを含む方法である。
【0169】
例52は、例51に記載の方法であって、画素のグループの画素強度変化の量を指示する画素変動値と、マッチングコストとを基に、信頼度重みを生成するステップをさらに含む、方法である。
【0170】
例53は、例51または例52に記載の方法であって、画素変動値が、記述子に関連した時空ウィンドウにわたって、画素のグループにおける画素強度変化の量を指示する、方法である。
【0171】
例54は、例51から例53のいずれかに記載の方法であって、時空ウィンドウが所定のサイズの空間的範囲および所定のサイズの時間的範囲を有する、方法である。
【0172】
例55は、例51から例54のいずれかに記載の方法であって、画素変動値とマッチングコストとを入力したルックアップ表を使用して信頼度重みを生成するステップであって、ルックアップ表が、画素変動値とマッチングコストとの組合せに対して信頼度重みをマッピングする、ステップをさらに含む、方法である。
【0173】
例56は、例51から例55のいずれかに記載の方法であって、記述子の間のハミング距離を基にマッチングコストを計算するステップと、エッジアウェアフィルタを使用してマッチングコストをフィルタリングするステップと、フィルタリングされたマッチングコストを基に平面仮説を選択するステップと、選択された平面仮説に関するフィルタリングされていないマッチングコストを使用して信頼度重みを計算するステップとをさらに含む、方法である。
【0174】
例57は、実行可能命令を記憶している非一時的コンピュータ可読媒体であって、少なくとも1つのプロセッサが、実行可能命令を実行することによって、基準画像および副画像を含むステレオ画像データを受け取ることと、基準画像および副画像を基に記述子を計算することと、記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、それぞれの平面仮説に関する記述子の間のマッチングコストを計算して、マッチングコストに基づき、画素のグループに関する複数の平面仮説から平面仮説を選択することを含む、複数の平面仮説を評価することと、マッチングコストおよび画素変動値に基づき、画素のグループに関して選択された平面仮説に関連する信頼度重みを生成することとを行う、非一時的コンピュータ可読媒体である。
【0175】
例58は、例57に記載の非一時的コンピュータ可読媒体であって、画素変動値が、記述子に関連した時空ウィンドウにわたって、画素のグループにおける画素強度変化の量を指示し、時空ウィンドウが、所定のサイズの空間的範囲および所定のサイズの時間的範囲を有する、非一時的コンピュータ可読媒体である。
【0176】
例59は、例57または例58に記載の非一時的コンピュータ可読媒体であって、少なくとも1つのプロセッサが、実行可能命令に含まれる命令を実行することによって、画素変動値とマッチングコストとを入力したルックアップ表を使用して信頼度重みを生成し、ルックアップ表が、画素変動値とマッチングコストとの組合せに対して信頼度重みをマッピングする、ステップをさらに含む、非一時的コンピュータ可読媒体である。
【0177】
例60は、例57から例59のいずれかに記載の非一時的コンピュータ可読媒体であって、少なくとも1つのプロセッサが、実行可能命令に含まれる命令を実行することによって、記述子の間のハミング距離を基にマッチングコストを計算することと、エッジアウェアフィルタを使用してマッチングコストをフィルタリングすることと、フィルタリングされたマッチングコストを基に平面仮説を選択することと、選択された平面仮説に関するフィルタリングされていないマッチングコストを使用して信頼度重みを計算することとを行う、非一時的コンピュータ可読媒体である。
【0178】
例61は、リアルタイムのアクティブステレオシステムであって、基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを取り込むように構成された取込みシステムであって、基準画像または副画像が、第1の時間窓に関連した第1の画像および第2の時間窓に関連した第2の画像を含む、取込みシステムと、奥行き感知コンピューティングシステムであって、二者択一的に、i)比較のために第1の画像または第2の画像のうち1つから各画素を選択し、ii)比較のために第1の画像からの1つの画素および第2の画像からの1つの画素を選択することによって記述子を計算することを含めて、基準画像および副画像を基に記述子を計算して、記述子を使用して奥行きマップを生成するように構成された奥行き感知コンピューティングシステムとを備える、リアルタイムのアクティブステレオシステムである。
【0179】
例62は、例61に記載のリアルタイムのアクティブステレオシステムであって、奥行き感知コンピューティングシステムが、所定のサイズの空間的範囲および所定のサイズの時間的範囲を有する時空ウィンドウにわたって記述子を計算するように構成される、リアルタイムのアクティブステレオシステムである。
【0180】
例63は、例61または例62に記載のリアルタイムのアクティブステレオシステムであって、奥行き感知コンピューティングシステムが、時空ウィンドウにおけるすべての画素が選択されるまで、比較において既に使用された画素は再サンプリングしないように構成される、リアルタイムのアクティブステレオシステムである。
【0181】
例64は、例61から例63のいずれかに記載のリアルタイムのアクティブステレオシステムであって、奥行き感知コンピューティングシステムが、時空ウィンドウにおいてすべての画素がサンプリングされたと判定されることに応答して、時空ウィンドウにおける、閾値レベルよりも大きいサイクル長さを有する画素を再選択するように構成される、リアルタイムのアクティブステレオシステムである。
【0182】
例65は、例61から例64のいずれかに記載のリアルタイムのアクティブステレオシステムであって、記述子が複数の比較値を含み、複数の比較値の数が所定の数である、リアルタイムのアクティブステレオシステムである。
【0183】
例66は、例61から例65のいずれかに記載のリアルタイムのアクティブステレオシステムであって、記述子が、第1の値および第2の値を含む複数の比較値を含み、第1の値が第1の画像の画素の間の比較の結果を表し、第2の値が、第1の画像の画素と第2の画像の画素との間の比較の結果を表す、リアルタイムのアクティブステレオシステムである。
【0184】
例67は、例61から例66のいずれかに記載のリアルタイムのアクティブステレオシステムであって、複数の比較値が第3の値および第4の値を含み、第3の値が第2の画像の画素の間の比較の結果を表し、第4の値が、第2の画像の画素と第1の画像の画素との間の比較の結果を表す、リアルタイムのアクティブステレオシステムである。
【0185】
例68は、例61から例67のいずれかに記載のリアルタイムのアクティブステレオシステムであって、奥行き感知コンピューティングシステムが、記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、それぞれの平面仮説に関する記述子の間のマッチングコストを計算すること、および画素のグループに関する複数の平面仮説から、最低の更新されたマッチングコストを有する平面仮説を選択することを含む、複数の平面仮説を評価することを行うように構成される、リアルタイムのアクティブステレオシステムである。
【0186】
例69は、リアルタイムのアクティブステレオに関する方法であって、基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを受け取るステップであって、基準画像または副画像が、第1の時間窓に関連した第1の画像および第2の時間窓に関連した第2の画像を含む、ステレオ画像データを受け取るステップと、基準画像および副画像を基に記述子を計算するステップであって、二者択一的に、i)比較のために、第1の画像または第2の画像のうち1つからの各画素を選択し、ii)比較のために、第1の画像からの1つの画素および第2の画像からの1つの画素を選択することよって、記述子を計算するステップを含む、記述子を計算するステップと、記述子を使用して奥行きマップを生成するステップとを含む、方法である。
【0187】
例70は、例69に記載の方法であって、記述子が、所定のサイズの空間的範囲および所定のサイズの時間的範囲を有する時空ウィンドウにわたって計算される、方法である。
【0188】
例71は、例69または例70に記載の方法であって、比較において既に使用された画素は、時空ウィンドウにおけるすべての画素が選択されるまで再サンプリングされない、方法である。
【0189】
例72は、例69から例71のいずれかに記載の方法であって、時空ウィンドウにおいてすべての画素がサンプリングされたと判定されることに応答して、時空ウィンドウにおける、閾値レベルよりも大きいサイクル長さを有する画素を再選択するステップをさらに含む、方法である。
【0190】
例73は、例69から例72のいずれかに記載の方法であって、記述子が複数の比較値を含み、複数の比較値の数が所定の数である、方法である。
【0191】
例74は、例69から例73のいずれかに記載の方法であって、記述子が、第1の値および第2の値を含む複数の比較値を含み、第1の値が第1の画像の画素の間の比較の結果を表し、第2の値が、第1の画像の画素と第2の画像の画素との間の比較の結果を表す、方法である。
【0192】
例75は、例69から例74のいずれかに記載の方法であって、複数の比較値が第3の値および第4の値を含み、第3の値が第2の画像の画素の間の比較の結果を表し、第4の値が、第2の画像の画素と第1の画像の画素との間の比較の結果を表す、方法である。
【0193】
例76は、例69から例75のいずれかに記載の方法であって、記述子を使用して、画素のグループに関する複数の平面仮説を評価するステップであって、それぞれの平面仮説に関する記述子の間のマッチングコストを計算するステップと、画素のグループに関する複数の平面仮説から、更新された最低のマッチングコストを有する平面仮説を選択するステップとを含む、複数の平面仮説を評価するステップをさらに含む、方法である。
【0194】
例77は、実行可能命令を記憶している非一時的コンピュータ可読媒体であって、少なくとも1つのプロセッサが、実行可能命令を実行することによって、基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを受け取ることであって、基準画像または副画像が、第1の時間窓に関連した第1の画像および第2の時間窓に関連した第2の画像を含む、ステレオ画像データを受け取ることと、二者択一的に、i)比較のために、第1の画像または第2の画像のうち1つからの各画素を選択し、ii)比較のために、第1の画像からの1つの画素および第2の画像からの1つの画素を選択する、ことよって記述子を計算することを含む、基準画像および副画像を基に記述子を計算することと、記述子を使用して奥行きマップを生成することとを行う、非一時的コンピュータ可読媒体である。
【0195】
例78は、例77に記載の非一時的コンピュータ可読媒体であって、記述子が、所定のサイズの空間的範囲および所定のサイズの時間的範囲を有する時空ウィンドウにわたって計算される、非一時的コンピュータ可読媒体である。
【0196】
例79は、例77または例78に記載の非一時的コンピュータ可読媒体であって、少なくとも1つのプロセッサが、実行可能命令に含まれる命令を実行することによって、時空ウィンドウにおけるすべての画素がサンプリングされたと判定して、閾値レベルよりも大きいサイクル長さを有する、時空ウィンドウにおける画素を再選択する、非一時的コンピュータ可読媒体である。
【0197】
例80は、例77から例79のいずれかに記載の非一時的コンピュータ可読媒体であって、記述子が、第1の値、第2の値、第3の値、および第4の値を含む複数の比較値を含み、第1の値が第1の画像の画素の間の比較の結果を表し、第2の値が、第1の画像の画素と第2の画像の画素との間の比較の結果を表し、第3の値が第2の画像の画素の間の比較の結果を表し、第4の値が、第2の画像の画素と第1の画像の画素との間の比較の結果を表す、非一時的コンピュータ可読媒体である。
【0198】
例示の実施形態は、様々な修正形態および代替形態の形式を含み得るが、それらの実施形態は例として図に示され、本明細書で詳細に説明される。しかしながら、例示の実施形態を、開示された特定の形態に限定する意図はなく、それどころか、例示の実施形態は、特許請求の範囲を含まれるすべての修正形態、等価物、および代替形態を対象として含むことを理解されたい。図の説明を通じて、類似の番号は類似の要素を指す。
【0199】
ここで説明されたシステムおよび技術の様々な実装形態は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはこれらの組合せで実現され得る。これらの様々な実装形態は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムにおいて実行可能かつ/または機械言語に翻訳処理可能な、1つまたは複数のコンピュータプログラムの実装形態を含み得、プログラマブルプロセッサは、専用または汎用のものであり得、記憶システム、少なくとも1つの入力装置、および少なくとも1つの出力装置に結合されてデータや命令をやり取りし得る。ここで説明されたシステムや技術の様々な実装形態は、本明細書において、ソフトウェアの態様とハードウェアの態様とを組み合わされ得る、回路、モジュール、ブロック、またはシステムとして実現され得、かつ/または一般にこれらと称され得る。たとえば、モジュールは、プロセッサ(たとえばシリコン基板、GaAs基板上に形成されたプロセッサなど)または他のいくつかのプログラム可能なデータ処理装置において実行する機能/行為/コンピュータプログラム命令を含み得る。
【0200】
上記の例示の実施形態のうちいくつかは、流れ図として表された処理または方法として説明される。流れ図では、動作はシーケンシャルな処理として説明されるが、動作の多くは、並行して、共に、すなわち同時に実行され得る。加えて、動作の順序は再編成されてよい。処理は、動作が完了したら終了してよいが、図に含まれない追加のステップもあり得る。処理は、方法、機能、プロシージャ、サブルーチン、サブプログラムなどに相当し得る。
【0201】
上記で論じられた方法は、いくつかが流れ図に示されており、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、またはそれらの任意の組合せによって実施され得る。必要なタスクを実行するプログラムコードまたはコードセグメントは、ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコードで実施されたとき、記憶媒体などの機械可読媒体またはコンピュータ可読媒体に記憶され得る。プロセッサ(複数可)は必要なタスクを実行し得る。
【0202】
本明細書で開示された特定の構造および機能の詳細は、例示の実施形態を説明するための単なる表現である。しかしながら、例示の実施形態は、多くの代替形態で具現されるので、本明細書で説明された実施形態のみに限定されるものと解釈されるべきではない。
【0203】
本明細書では、様々な要素を説明するために、「第1の」、「第2の」などの用語を使用することがあるが、これらの要素は、これらの用語によって制限されるべきではないことを理解されたい。これらの用語は、1つの要素を別の要素と区別するためにのみ使用される。たとえば、例示の実施形態の範囲から逸脱することなく、第1の要素が第2の要素と称されてよく、同様に、第2の要素が第1の要素と称されてもよい。本明細書で使用される「および/または」という用語は、関連して列挙された品目のうち1つまたは複数の、任意の組合せも、すべての組合せも含む。
【0204】
ある要素が、別の要素に接続または結合されると称されるとき、他の要素に直接接続もしくは結合されてよく、または介在要素があってもよいことが理解されよう。対照的に、ある要素が、別の要素に直接接続または結合されると称されたら、介在要素は存在しない。要素の間の関係を説明するために他の用語(たとえば「の間を」対「の間を直接」、「近接」対「隣接」など)が使用されたら、同じように解釈されるべきである。
【0205】
本明細書で使用される用語法は、特定の実施形態を説明することのみを目的としており、例示の実施形態を限定する意図はない。本明細書で使用される、「ある(a)」、「ある(an)」、「その(the)」といった単数形は、文脈がそうでないことを明白に示さない限り、複数形も含むように意図されている。本明細書で使用される「備える(comprises)」、「備える(comprising)」、「含む(includes)」および/または「含む(including)」といった用語は、明示された特徴、完全体、ステップ、動作、要素および/または構成要素の存在を指定するが、1つまたは複数の他の特徴、完全体、ステップ、動作、要素、構成要素および/またはそれらのグループの存在や追加を排除しないことがさらに理解されよう。
【0206】
いくつかの代替の実装形態では、示された機能/行為が、図に示されたものと違う順序で生じ得ることにも留意されたい。たとえば、連続して示された2つの図が、実際には、包含される機能性/行為に依拠して、同時に実行されてよく、時には逆順に実行されてもよい。
【0207】
本明細書で使用されるすべての用語(技術用語および科学用語を含む)は、別様に定義されなければ、例示の実施形態が属する技術の当業者によって一般的に理解されるもの同一の意味を有する。たとえば、一般に使用される辞書において定義された用語は、関連技術の状況におけるその意味に矛盾しない意味を有するものと解釈されるべきであり、したがって、本明細書においてそのように明確に定義されない限り、理想化または過度に形式化された意味には解釈されないことがさらに理解されよう。
【0208】
上記の例示の実施形態および対応する発明を実施するための形態の一部は、ソフトウェア、またはコンピューターメモリの内部のデータビット上の動作のアルゴリズムおよび記号表現に関して提示される。これらの記述および表現は、当業者が、自分の著作物の実体を他の当業者に効果的に伝えるものである。ここで一般に使用されるアルゴリズムという用語は、所望の結果につながる、自己矛盾がないステップのシーケンスであると理解される。ステップは、物理量の物理的操作を必要とするものである。必須ではないが、これらの量は、通常は、記憶、転送、組合せ、比較、または操作が可能な、光信号、電気信号、または磁気信号の形をとる。これらの信号を、主に共通の使用法の理由で、時にはビット、値、要素、シンボル、特性、用語、番号などと称すると便利であることが判明している。
【0209】
上記の実例となる実施形態において、プログラムモジュールまたは機能プロセスとして実施され得る行為に対する参照および(たとえば流れ図の形式の)動作の記号表現は、特定のタスクを実行するか、または特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み、既存の構造要素における既存のハードウェアを使用して、記述され、かつ/または実施され得る。そのような既存のハードウェアは、1つまたは複数の中央処理装置(CPU)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路、フィールドプログラマブルゲートアレイ(FPGA)コンピュータなどを含み得る。
【0210】
しかしながら、すべてのこれら用語および類似の用語は、適切な物理量に関連付けられるべきであり、これらの量に適用された都合のよいラベルでしかないことも念頭に置くべきである。特に別記しない限り、すなわち議論から明らかなように、処理、演算、計算、判定、または表示などの用語は、コンピュータシステムのレジスタおよび記憶装置の内部の物理的、電子的な量として表されたデータを、コンピュータシステムの記憶装置もしくはレジスタ、または他のそのような情報の記憶装置、伝送装置もしくは表示装置の内部の、物理量として同様に表される他のデータへと処理したり変換したりする、コンピュータシステムまたは類似の電子コンピューティングデバイスのアクションおよび処理を指す。
【0211】
例示の実施形態のソフトウェアで実施される態様は、一般的には何らかの形態の非一時的プログラム記憶媒体上に符号化されるか、またはいくつかのタイプの伝送媒体を通じて実施されることにも留意されたい。プログラム記憶媒体は、磁気媒体(たとえばフロッピーディスクまたはハードディスク)または光媒体(たとえばコンパクトディスクを使った読出し専用メモリすなわちCD ROM)でよく、読出し専用媒体またはランダムアクセス媒体でよい。同様に、伝送媒体は、ツイストペア線、同軸ケーブル、光ファイバ、または当技術で既知の他の適切な伝送媒体でよい。例示の実施形態は、いかなる所与の実装形態のこれらの態様によっても制限されない。
【0212】
最後に、添付の特許請求の範囲は、本明細書で説明された特徴の特定の組合せを提示するが、本開示の範囲は、以下で特許請求される特定の組合せに限定されることなく、その特定の組合せが、現時点で添付の特許請求の範囲の中に具体的に列挙されているかどうかということに関係なく、本明細書で開示された特徴または実施形態のあらゆる組合せを包含するように広がることにも留意されたい。
図1A
図1B
図1C
図1D
図1E
図1F
図1G
図2A
図2B
図3
図4
図5
図6A
図6B
図6C
図6D
図7
図8
図9
図10
図11
図12
【手続補正書】
【提出日】2023-10-18
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
リアルタイムのアクティブステレオシステムであって、
基準画像および副画像を含むステレオ画像データを取り込むように構成された取込みシステムと、
奥行きマップを生成するように構成された奥行き感知コンピューティングシステムであって、
前記基準画像および前記副画像を基に記述子を計算することと、
画素変化情報および視差変化情報を基に安定性ペナルティを計算することと、
前記記述子を使用して、画素のグループに関する複数の平面仮説を評価することであって、
それぞれの平面仮説に関連する前記記述子の間のマッチングコストを計算し、
前記安定性ペナルティを用いて前記マッチングコストを更新して、
前記更新されたマッチングコストに基づき、前記画素のグループに関する前記複数の平面仮説から平面仮説を選択することを含む、複数の平面仮説を評価することと
を行うように構成された奥行き感知コンピューティングシステムと
を備える、リアルタイムのアクティブステレオシステム。
【請求項2】
前記画素変化情報が画素変化値を含み、前記視差変化情報が視差変化値を含み、前記奥行き感知コンピューティングシステムが、
前記画素変化値を使用して強度乗数を計算し、
前記視差変化値を使用して視差乗数を計算し、
前記強度乗数および前記視差乗数を使用して前記安定性ペナルティを計算するように構成される、
請求項1に記載のリアルタイムのアクティブステレオシステム。
【請求項3】
前記奥行き感知コンピューティングシステムが、
前記画素変化値にエッジアウェアフィルタを適用して、フィルタリングされた画素変化値を導出するように構成され、前記フィルタリングされた画素変化値が前記強度乗数を計算するように使用される、
請求項に記載のリアルタイムのアクティブステレオシステム。
【請求項4】
前記画素変化値が、現在の奥行きマップの基準画像または副画像における画素の画素値と、以前の奥行きマップの基準画像または副画像における画素の画素値との間の差を表し、前記視差変化値が、前記現在の奥行きマップの画素の提出された視差と、前記以前の奥行きマップの画素の視差との間の差を表す、請求項2に記載のリアルタイムのアクティブステレオシステム。
【請求項5】
前記奥行き感知コンピューティングシステムが、
平面仮説評価中に生成され得る最高のマッチングコストを計算し、
前記最高のマッチングコストと、前記強度乗数と、前記視差乗数との積を基に前記安定性ペナルティを計算するように構成される、
請求項2から4のいずれか1項に記載のリアルタイムのアクティブステレオシステム。
【請求項6】
前記奥行き感知コンピューティングシステムが、前記画素変化値を入力した強度関数を使用して前記強度乗数を計算するように構成される、請求項2から5のいずれか1項に記載のリアルタイムのアクティブステレオシステム。
【請求項7】
前記奥行き感知コンピューティングシステムが、前記画素変化値を入力した視差関数を使用して前記視差乗数を計算するように構成される、請求項2から6のいずれか1項に記載のリアルタイムのアクティブステレオシステム。
【請求項8】
前記奥行き感知コンピューティングシステムが、エッジアウェアフィルタを使用して前記マッチングコストをフィルタリングするように構成され、前記安定性ペナルティが、前記フィルタリングされたマッチングコストを更新するように使用される、請求項1から7のいずれか1項に記載のリアルタイムのアクティブステレオシステム。
【請求項9】
リアルタイムのアクティブステレオに関する方法であって、
基準カメラから取り込まれた基準画像および副カメラから取り込まれた副画像を含むステレオ画像データを受け取るステップと、
前記基準画像および前記副画像を基に記述子を計算するステップと、
画素変化情報および視差変化情報を基に安定性ペナルティを計算するステップと、
前記記述子を使用して、画素のグループに関する複数の平面仮説を評価するステップであって、
それぞれの平面仮説に関連する前記記述子の間のマッチングコストを計算するステップ、
前記安定性ペナルティを用いてマッチングコストを更新するステップ、および
前記画素のグループに関す前記複数の平面仮説から、更新された最低のマッチングコストを有する平面仮説を選択するステップを含む、
複数の平面仮説を評価するステップと
を含む方法。
【請求項10】
前記画素変化情報が画素変化値を含み、前記視差変化情報が視差変化値を含む、方法であって、
前記画素変化値を使用して強度乗数を計算するステップと、
前記視差変化値を使用して視差乗数を計算するステップと、
前記強度乗数および前記視差乗数を使用して前記安定性ペナルティを計算するステップと
をさらに含む、請求項9に記載の方法。
【請求項11】
前記画素変化値にエッジアウェアフィルタを適用して、フィルタリングされた画素変化値を導出するステップであって、前記フィルタリングされた画素変化値が前記強度乗数を計算するように使用される、画素変化値を導出するステップをさらに含む、請求項10に記載の方法。
【請求項12】
前記画素変化値が、現在の奥行きマップの基準画像における画素の画素値と、以前の奥行きマップの基準画像における画素の画素値との間の差を表し、前記視差変化値が、前記現在の奥行きマップの画素の提出された視差と、前記以前の奥行きマップの画素の視差との間の差を表す、請求項10または11に記載の方法。
【請求項13】
平面仮説評価中に生成され得る最高のマッチングコストを計算するステップと、
前記最高のマッチングコストと、前記強度乗数と、前記視差乗数との積を基に前記安定性ペナルティを計算するステップと
をさらに含む、請求項10から12のいずれか1項に記載の方法。
【請求項14】
前記画素変化値を入力した強度関数を使用して前記強度乗数を計算するステップと、
前記強度関数とは異なる視差関数に前記画素変化値を入力したものを使用して前記視差乗数を計算するステップと
をさらに含む、請求項10から13のいずれか1項に記載の方法。
【請求項15】
前記記述子の間のハミング距離を基に前記マッチングコストを計算するステップと、
エッジアウェアフィルタを使用して前記マッチングコストをフィルタリングするステップであって、前記フィルタリングされたマッチングコストが前記安定性ペナルティを用いて更新されるステップと
をさらに含む、請求項9から14のいずれか1項に記載の方法。
【請求項16】
実行可能命令を含むプログラムであって、前記実行可能命令は、少なくとも1つのプロセッサによって実行されることにより、前記少なくとも1つのプロセッサに請求項9から15のいずれか1項に記載の方法を実施させる、プログラム
【国際調査報告】