JP2023157856A - 深度マップの生成方法及びシステム - Google Patents
深度マップの生成方法及びシステム Download PDFInfo
- Publication number
- JP2023157856A JP2023157856A JP2023061992A JP2023061992A JP2023157856A JP 2023157856 A JP2023157856 A JP 2023157856A JP 2023061992 A JP2023061992 A JP 2023061992A JP 2023061992 A JP2023061992 A JP 2023061992A JP 2023157856 A JP2023157856 A JP 2023157856A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- depth
- grid point
- scale value
- frames
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000012545 processing Methods 0.000 claims abstract description 11
- 230000003287 optical effect Effects 0.000 claims description 39
- 238000003860 storage Methods 0.000 claims description 14
- 230000002123 temporal effect Effects 0.000 claims description 8
- 238000013527 convolutional neural network Methods 0.000 claims description 5
- 238000013136 deep learning model Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 claims description 3
- 238000005206 flow analysis Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 7
- 238000001914 filtration Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013213 extrapolation Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003909 pattern recognition Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241001139947 Mida Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4007—Interpolation-based scaling, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4046—Scaling the whole image or part thereof using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Abstract
【課題】ビデオクリップ内のフレームシーケンスのフレームに対応する深度マップを生成する方法とシステムを提供する。【解決手段】ビデオクリップ内のフレームシーケンスのフレームに対応する深度マップを生成する方法は、複数のフレームのそれぞれの単一画像の深度マップを生成することと、該単一画像の深度マップをスケーリングすることと、ビデオクリップ内のフレームシーケンスのフレームに対応する前記深度マップを生成するためにスケーリングされた単一画像の深度マップの時間シーケンスを処理することと、を含む。【選択図】図2
Description
本開示は、フレームの時間シーケンスを含むビデオクリップのフレーム内などの画像における深度推定に関する方法およびシステムに関する。
デジタルムービーのポストプロダクションでは、ビデオのフレームで目視できる1または複数の要素の深度を推定することが必要な場合がある。例えば、その深度に基づいて要素に所定の画像処理技術を適用すること、または適用しないことが必要な場合があり、あるいは画像処理技術を深度とともに変化させて適用することが必要な場合がある。同様のニーズは、コンピュータビジョンの分野でも一般に生じる。深度とは、画像をキャプチャするカメラ、または人工的に生成された画像の仮想視点からオブジェクト(またはオブジェクト上の点)までの実際の距離または「黙示」の距離を意味する。
発明者らは深度推定の技術について認識している。そのような技術は、画像内の各ピクセルの推定深度値を含む深度マップを生成する。これらの深度は、色またはグレーレベルに対応して、深さを示すカラーまたはグレースケールイメージとして視覚的に表すことができる。例えば、図1は、画像(a)のムービークリップの画像フレームと、それに対応する画像(b)の深度マップを示している。深度マップの画像(b)では、各ピクセルの深度がグレーレベルで表されている。明るいピクセルは暗いピクセルより深度が浅く、画像をキャプチャしたカメラから白いピクセルが最も近く、黒いピクセルが最も遠い。
深度推定のいくつかの技術は、三角測量による深度決定を可能にするために、両眼画像または立体画像に依存している。ただし、立体画像は通常利用できない。単眼深度推定技術も存在する。単眼深度推定技術は通常、単一の画像(写真や映画の単一フレームなど)に対して深度推定を実行する。しかしながら、ムービークリップを構成するフレームの時間シーケンスにおいて各フレームに単一画像の深度推定技術が適用される場合、深度マップに「ちらつき」が発生するのが一般的である。ちらつきは、あるフレームから次のフレームに変化する、オブジェクトまたは領域(またはオブジェクトまたは領域内のポイント)の深度推定によってもたらされる。絶対深度の小さな変化は許容されるが、誤った相対的な変化はより大きな問題になり得る。最も顕著なのは、(大幅なシーンの変化やカメラの動きを伴うことなく)2つのオブジェクトの相対的な深度がフレーム間で変化し、以前は別のオブジェクトの後ろまたは前にあった1つのオブジェクトが該別のオブジェクトの前または後ろに移動する場合である。
本明細書に記載のシステム、デバイス、方法およびアプローチ、およびそれらのコンポーネントは発明者らに知られるものである。したがって、別段の指示がない限り、記載されるそのようなシステム、デバイス、方法、アプローチ、またはそれらのコンポーネントのいずれも、単に明細書に含まれているという理由だけで、先行技術として引用が可能であると想定されるべきでなく、すなわち、そのようなシステム、デバイス、方法、アプローチ、およびコンポーネントが、当業者に普通に知られていると想定されるべきではない。
第1の態様では、ビデオクリップ内のフレームシーケンスのフレームに対応する深度マップを生成する方法が提供される。この方法は:
複数のフレームの各フレームに対して単一画像の深度マップを生成することと;
前記各フレームに対してスケーリングされた単一画像の深度マップを生成するために、スケール値を前記単一画像の深度マップの各ピクセルに適用することにより、各フレームに対して単一画像の深度マップをスケーリングすることと;
ビデオクリップ内のフレームシーケンスのフレームに対応する前記深度マップを生成するために、スケーリングされた単一画像の深度マップの時間シーケンスを処理することと;
を含む。
複数のフレームの各フレームに対して単一画像の深度マップを生成することと;
前記各フレームに対してスケーリングされた単一画像の深度マップを生成するために、スケール値を前記単一画像の深度マップの各ピクセルに適用することにより、各フレームに対して単一画像の深度マップをスケーリングすることと;
ビデオクリップ内のフレームシーケンスのフレームに対応する前記深度マップを生成するために、スケーリングされた単一画像の深度マップの時間シーケンスを処理することと;
を含む。
単一画像の深度マップの各ピクセルに対応するスケール値は:フレームにわたって配置された複数の格子点の各格子点に対して、
前記格子点の深度値と、複数の時間的に関連するフレームの同一の格子点に対応する深度値とを使用して初期スケール値を生成することと;
前記格子点の初期スケール値および1または複数の隣接する格子点の初期スケール値に基づいて、前記格子点の最終スケール値を生成することと;
前記格子点の最終スケール値から、前記単一画像の深度マップの各ピクセルに適用するための対応するスケール値を決定することと;
を含む方法を使用して生成される。
前記格子点の深度値と、複数の時間的に関連するフレームの同一の格子点に対応する深度値とを使用して初期スケール値を生成することと;
前記格子点の初期スケール値および1または複数の隣接する格子点の初期スケール値に基づいて、前記格子点の最終スケール値を生成することと;
前記格子点の最終スケール値から、前記単一画像の深度マップの各ピクセルに適用するための対応するスケール値を決定することと;
を含む方法を使用して生成される。
格子点の深度値と、複数の時間的に関連するフレームの同一の格子点の深度値とを使用して初期スケール値を生成するステップは、該格子点を含む領域の平均深度値を決定することにより、前記フレームの該格子点の深度値を決定することを含み、および複数の時間的に関連するフレームの同一の格子点に対応する深度値を決定することは、前記格子点に対応する位置が複数の時間的に関連するフレームのそれぞれについて決定されるように前記フレームのコンテンツと前記時間的に関連するフレームのコンテンツとの間の対応付けを決定することと、および各時間的に関連するフレームの前記格子点に対応する深度値を決定するために時間的に関連する各フレームの前記位置を含む領域の平均深度値を決定することと、を含む。
各格子点の初期スケール値は、該格子点の深度値に対する、複数の時間的に関連するフレームの同一の格子点の深度値を少なくとも含む一群の深度値の中心傾向尺度(measure of central tendency)の比率を使って決定することができる。たとえば、中心傾向尺度は中央値であってもよい。該一群の深度値は該格子点の深度値を含むこともあり得る。
該方法は、前記フレームのピクセルを含むマスクを定義することを含み、それにより単一画像の深度マップが、複数のフレームのオプティカルフロー解析に基づいて信頼できないか、またはしきい値深度よりも深い深度を有するかのいずれかまたは両方であると判定される。
いくつかの実施形態では、前記フレームのコンテンツと前記時間的に関連するフレームのコンテンツとの間の対応付けを決定することは、時間的に隣接するフレーム間のオプティカルフローを分析することと、および該オプティカルフローに従って前記複数の時間的に関連するフレームのそれぞれのワープされた深度マップを生成することとを含むことができる。これにより、前記格子点に対応する前記位置が前記格子点と位置合わせされ、ワープされた深度マップを使用して、時間的に関連する各フレーム内の前記位置の周囲の領域の平均深度値を決定できる。
いくつかの実施形態では、前記フレームのコンテンツと前記時間的に関連するフレームのコンテンツとの間の対応付けを決定することは、時間的に隣接するフレーム間のオプティカルフローを分析することと、前記オプティカルフローを使って前記時間的に関連するフレームのそれぞれにおける前記格子点の位置をトラッキングすることと、各時間的に関連するフレーム内の前記位置の周囲の領域の平均深度値を決定することと、を含んでもよい。
いくつかの実施形態では、マスクに含まれるピクセルは、格子点を含む領域の平均深度値を決定することにより格子点の深度値を決定すること、および/または複数の時間的に関連するフレームの同一の格子点に対応する深度値を決定することのいずれかまたは両方から除外される。
いくつかの実施形態では、前記格子点の初期スケール値および1または複数の隣接する格子点の初期スケール値に基づいて前記格子点の最終スケール値を生成するステップは、前記1または複数の隣接する格子点のそれぞれと前記格子点の初期スケール値の相対的寄与度を決定することを含む。前記1または複数の隣接する格子点の相対的寄与度は、いくつかの実施形態では、前記マスクを使用して決定することができる。
いくつかの実施形態では、前記格子点の初期スケール値および1または複数の隣接する格子点の初期スケール値に基づいて前記格子点の最終スケール値を生成することは、前記格子点のそれぞれの初期スケール値とおよび前記格子点の隣接格子点のそれぞれの初期スケール値とを表す一連の一次方程式を解くことを含む。
いくつかの実施形態では、格子点の最終スケール値から前記単一画像の深度マップの各ピクセルに適用するためのスケール値を決定することは、前記格子点間の各ピクセルのスケール値を補間によって生成することを含むことができる。上記格子点の外側にピクセルがある場合、これらのピクセルは外挿によってスケール値を決定できる。
いくつかの実施形態では、格子点の最終スケール値からの前記単一画像の深度マップの各ピクセルに適用するためのスケール値は、前記格子点に対する位置に基づいて各ピクセルにスケール値を割り当てることによって決定することができる。例えば、各格子点の周囲の領域内のすべてのピクセルは、格子点に対応するスケール値とすることができる。
フレームごとに単一画像の深度マップを生成するために機械学習技術を使用することができる。例えば、前記単一画像の深度マップを生成するために、機械学習技術はディープラーニングモデルの使用を含んでもよい。ディープラーニングモデルは、畳み込みニューラルネットワークまたは他の適切なモデルであってもよい。
この方法が繰り返されまたは継続されることで、ビデオクリップの少なくとも1つの追加フレームの深度マップを生成することができる。
いくつかの実施形態では、深度マップは、フレームよりも低い解像度で生成することができる。例えば、1/2、1/4解像度のような分数解像度で実行されてもよい。他の実施形態では、深度マップは、フレームと同じ解像度で生成することができる。
さらなる態様では、非一時的記憶媒体に記憶された実行命令に従って動作するプロセッサを含むコンピュータシステムが提供され、該命令の実行により、本明細書に記載の方法の実施形態を実行するコンピュータシステムを構成する。該コンピュータシステムを、ビデオおよびオプションでオーディオメディアを編集する際に使用するノンリニアエディタにすることができる。
さらに、プロセッサによって実行されると、本明細書に記載の方法の実施形態をプロセッサに実行させる実行命令を格納する非一時的コンピュータ可読記憶媒体が提供される。
さらなる態様では、プロセッサによって実行されると、本明細書に記載の方法の実施形態をプロセッサに実行させる実行命令を内蔵するコンピュータソフトウェア製品が提供される。該コンピュータソフトウェア製品は、ノンリニア編集ソフトウェア製品またはビデオ効果ソフトウェア製品を含むことができ、例えば、出願人のDavinci ResolveまたはFusionソフトウェアは、本明細書に記載の方法の実施形態を実行することができる。
本明細書に開示された発明は、様々な修正および代替の形態を受け入れることができる一方、特定の実施形態が、例として図面に示され、詳細に説明される。しかし、図面および詳細な説明は、本発明を、開示された特定の形態に限定することを意図していない。さらに、明細書または図面に記載された、またはそれらから明らかな個々の特徴の2以上のすべての代替の組み合わせは、追加の態様または発明の開示を含み、請求項の対象となり得る。
以下の説明では、本開示を十分に理解できるように、多くの具体例が示される。しかし、本開示がこれら詳細な具体例がなくとも実施可能であることは明らかであろう。いくつかの例では、重要事項が不必要に複雑化され理解困難になるのを避けるために、構成やデバイスをブロック図で示している。
発明者らが知っているムービークリップの深度推定に向けての1つのアプローチは、時間的ちらつきの問題に対処するものであり、それは、Johannes Kopf、Xuejian Rong、Jia-Bin Huangの「Robust Consistent Video Depth Estimation」;IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR),2021,pp.1611-1621の議事録で提案されており、その内容はその目的が何であれ引用することにより本明細書に組み込まれる。しかし出願人は、前記文献またはそこに引用されるその他の文献が当業者によって知られていることを認めるものではない。このアプローチには、計算コストが高く、出力される深度マップを生成するためにフレームあたり数秒かかるという欠点がある。以下に説明する実施形態はこの欠点に対処するものであり、または少なくとも上記アプローチの代替案を提供するものである。
図2はビデオクリップ内のフレームシーケンスのフレームnに対応する深度マップを生成する方法の一実施形態の概要を表すフローチャートである。
方法10は、複数のフレーム(フレームn-x…フレームn+y)を有するビデオクリップ110から始まり、最後にフレームn(DMn)の深度マップを生成する。この方法を再度実行して、任意の他のフレーム(たとえば、フレームn+1、n-1など)の深度マップが生成される。ただし、データはあるフレームから次のフレームに再利用される可能性があるため、すべてのステップ、アクション、サブステップを完全に繰り返す必要はないことが明らかになる。
ステップ12において、フレームn、およびフレームnに時間的に隣接する少なくともいくつかのフレームについて単一画像の深度マップ(SIDM)を生成するためにベースラインの深度推定が実行される。いくつかの実施形態では、ベースラインの深度推定12は、クリップのすべてのフレームに対して、またはフレームnに関して上記方法を完了するのに必要なフレームのみに対して実行することができる。
次に、ステップ14は、ステップ12のベースラインの深度推定にスカラー場を適用することを含む。ベースラインのSIDM値は、スカラー場の対応する値で乗算される。少なくとも1つの実施形態では、スカラー場は、フレーム(フレームnを含む)の時間シーケンスのSIDM値を使用して計算される。これは、あるフレームから次のフレームにわたるSIDMの大きな領域のちらつきに対処するのに役立つ。
ステップ16では、フレームn(DMn)の深度マップを生成するために、複数のフレームのスケーリングされた単一画像の深度マップを使用して、時空間フィルタリングが実行される。このステップでは、複数のフレームにわたるスケーリングされた深度マップの対応する空間領域の加重平均を取り入れてもよい。
図3は、図2の方法の実施形態に従って深度マップを生成する方法におけるステップを示すフローチャートである。
図2と同様に、方法100は、ビデオクリップ110を取得することから始まる。ビデオクリップは、例えば、メモリから読み取ることにより、有線または無線ネットワークにより伝送チャネルを介して受信することにより、またはカメラで直接キャプチャすることにより取得できる。ビデオクリップ110は、複数のフレームを含む。該複数のフレーム110は、フレームnの前のx個のフレーム(それに対して深度マップが作成される)とフレームnの後のy個のフレーム、(フレームn-x…n…n+y)を含む。xとyはフレームの任意の数であり、xとyは等しくても等しくなくてもよい。図4は、ビデオクリップの一部として一連の画像を示す。図4の画像はクマが歩いている様子を示しており、合計7フレームで構成されている。深度マップが創出されるフレーム(フレームn)の前には3フレーム(フレームn-3~n-1)後ろには3フレーム(フレームn+1~n+3)がある。
ステップ120では、複数のフレームのそれぞれに対して単一画像の深度マップ(SIDM)を生成することによって、ベースラインの深度推定が実行される。このステップで処理される複数のフレームは、ビデオクリップ110内のすべてのフレームであってもよいし、フレームnを処理するために必要なフレームだけであってもよい。フレームnに対応する単一画像の深度マップには、SIDM nというラベルが付けられる。図5は、図4のクリップのフレームに対応する単一画像の深度マップを示す。7つの単一画像の深度マップにはラベルが付けられている(SIDM n-3...SIDM n+3)。他のフレームと単一画像の深度マップについても同じネーミングルールが適用される。さらに、明細書および特許請求の範囲全体を通して、エンティティ(物)またはアクションが特定のフレーム(たとえば、フレームn)に関連する場合、「n」のラベルが付けられるネーミングルールが適用される。同様に、所定のフレームに関連するエンティティおよびアクションは、対応するラベルでネーミングされる。
いくつかの実施形態では、MiDaSなどの畳み込みニューラルネットワークを使用して、単一画像の深度推定を実行することができる。MiDasについては、Rene Ranftl、Katrin Lasinger、Konrad Schindler、およびVladlen Koltunによって「Towards robust monocular depth estimation:Mixing datasets for zero-shot cross-dataset transfer」TPAMI、2020に詳細に説明されており、リポジトリとしてhtpps://github.com/isl-org/MiDaSでアクセスできる。
元のフレームは、384×nにスケーリングすることができ、ここでnは、入力されるクリップのアスペクト比によって決まり、画像フレームの短辺の長さを表す。MiDaSの出力は、出力が1/深度に等しくなるように、逆数の深度を生成する。これは各SIDMのグレースケール画像で図5に表され、ここでは、画像コンテンツの推定深度がグレーレベルとして表されており、明るいピクセルは暗いピクセルよりも推定深度が低く、白いピクセルは画像がキャプチャされる視点(実際のシーンの画像のカメラ、または人工的に作成された画像の選択されたポイント)から最も近いと見なされる領域であり、黒いピクセルは最も遠いと見なされる領域である。
図3に戻ると、ステップ130において、単一画像の深度マップ(SIDMn)がスケーリングされて、スケーリングされた単一画像の深度マップ(sSIDMn)が生成される。この実施形態では、ステップ130は、以下のサブプロセスを含む:
ステップ150で、フレームにわたって配置された複数の格子点の初期スケール値が生成される。
ステップ150で、フレームにわたって配置された複数の格子点の初期スケール値が生成される。
ステップ160で、(ステップ150で決定される)格子点の初期スケール値および1または複数の隣接する格子点の初期スケール値(それらの格子点に関連してステップ150で決定される)に基づいて、各格子点の最終スケール値が生成される。
単一画像の深度マップのピクセルよりも格子点が少ないため、ステップ170で、格子点の最終スケール値から単一画像の深度マップの各ピクセルに対してスケール値が決定される。これには、格子点間のスケール値の補間および必要に応じてそれらの外側のスケール値の外挿が含まれる。実施形態によって、フレームのフル解像度までスケール値を補間する必要性を回避するために、ピクセルの集団がスケール値を共有してもよい。
これらのサブプロセスの詳細については後述する。
初期スケール値の生成
ステップ150では、フレームにわたって配置された複数の格子点の初期スケール値が生成される。格子点は、フレームにわたって規則的なパターンまたはアレイで配置されるか、フレームの一面に不規則な分布で配置されるか、または画像に基づく特定の位置に配置される。図6Aから6Cは、フレームおよびその単一画像の深度マップ(通常は同じ寸法またはアスペクト比を有する)に対して格子点が配置されるいくつかの方法を示す。図6Aおよび図6Bは、格子点がフレームに対して規則的な配列で配置される例を示す。図6Aは、フレームn(SIDMn)の単一イメージの深度マップに格子線を重ねたものを示している。垂直線(200V)と水平線(200H)との各交点は、格子点200Pなどの格子点を定義する。格子線(200Vおよび200H)の数と位置によって、格子点の位置と数が決まる。図6Bは、格子点が、図6Aのものに対してオフセットされた垂直および水平格子線によって配置されることを除けば、図6Aと同様の格子点(例えば、200Q)の配置を示す。従って、図6Bはフレームの端に位置する格子点を有するが、図6Aではその最も外側の格子点はフレームの端から内側に離間している。いくつかの実施形態では、他の格子形状、または水平または垂直に対してある角度で設定された格子線とすることが可能である。格子点は、通常のn×mの配列に配置できる。便宜上「格子点」という用語を使用しているが、一部の実施形態は、格子上にない格子点、非直線格子を使用する格子点、不規則な間隔またはランダムに配置された格子点を有する場合があり、または(画像解析に基づいて選択された点など)他の所定のスキームによって配置された格子点を有する場合がある。図6Cは、格子点(例えば、200R)がフレームの一面にランダムに配置されている例を示している。図7に示される例示的な実施形態では、格子点は、25×14のレイアウトを有するn×mの配列に配置される。図7では、フレームは、水際を走るジョガーを表すクリップのパネル(a)のフレームを示している。パネル(b)は、フレームにわたって25本の(垂直)線と画像に対して適度に間隔をあけた14本の(水平)線を持つ格子が重ねられたフレームを示している。この格子線は、25×14の配列に配置されて線の交点に位置する375個の格子点を定義する。この実施形態では、図6Bの例に従ってフレームの端に格子点を含むことに留意されたい。
ステップ150では、フレームにわたって配置された複数の格子点の初期スケール値が生成される。格子点は、フレームにわたって規則的なパターンまたはアレイで配置されるか、フレームの一面に不規則な分布で配置されるか、または画像に基づく特定の位置に配置される。図6Aから6Cは、フレームおよびその単一画像の深度マップ(通常は同じ寸法またはアスペクト比を有する)に対して格子点が配置されるいくつかの方法を示す。図6Aおよび図6Bは、格子点がフレームに対して規則的な配列で配置される例を示す。図6Aは、フレームn(SIDMn)の単一イメージの深度マップに格子線を重ねたものを示している。垂直線(200V)と水平線(200H)との各交点は、格子点200Pなどの格子点を定義する。格子線(200Vおよび200H)の数と位置によって、格子点の位置と数が決まる。図6Bは、格子点が、図6Aのものに対してオフセットされた垂直および水平格子線によって配置されることを除けば、図6Aと同様の格子点(例えば、200Q)の配置を示す。従って、図6Bはフレームの端に位置する格子点を有するが、図6Aではその最も外側の格子点はフレームの端から内側に離間している。いくつかの実施形態では、他の格子形状、または水平または垂直に対してある角度で設定された格子線とすることが可能である。格子点は、通常のn×mの配列に配置できる。便宜上「格子点」という用語を使用しているが、一部の実施形態は、格子上にない格子点、非直線格子を使用する格子点、不規則な間隔またはランダムに配置された格子点を有する場合があり、または(画像解析に基づいて選択された点など)他の所定のスキームによって配置された格子点を有する場合がある。図6Cは、格子点(例えば、200R)がフレームの一面にランダムに配置されている例を示している。図7に示される例示的な実施形態では、格子点は、25×14のレイアウトを有するn×mの配列に配置される。図7では、フレームは、水際を走るジョガーを表すクリップのパネル(a)のフレームを示している。パネル(b)は、フレームにわたって25本の(垂直)線と画像に対して適度に間隔をあけた14本の(水平)線を持つ格子が重ねられたフレームを示している。この格子線は、25×14の配列に配置されて線の交点に位置する375個の格子点を定義する。この実施形態では、図6Bの例に従ってフレームの端に格子点を含むことに留意されたい。
少なくとも1つの実施形態では、所定の格子点の初期スケール値を生成するステップでは、格子点の深度値および複数の時間的に関連するフレームの同一の格子点の深度値を使用する。
前記フレーム内の格子点の深度値を決定することは、該格子点を含む領域の平均深度値を決定することを含んでもよい。図8は、少なくとも1つの実施形態で、格子点を含む領域がどのように定義されるかを示している。図8は、n-iからn+iまでのフレームに対し一連の単一画像の深度マップを概略的に表している。SIDM nでは、格子点200Qが、深度値を包含するその周囲の領域202Qとともに示されている。領域202Qは、交差して格子点200Qを定義する垂直線と水平線とそれらの隣接する水平線および垂直線の間の中間点まで拡がっている。したがって、該領域は、格子点を定義する格子と同じ形状であるが、格子点がその領域の中心になるようにオフセットされている。該領域の形状は、格子の間隔に応じて正方形または長方形であってもよく、または実施形態によって、領域が格子点を中心とする半径によって定義される場合、円形などの別の形状であってもよい。図8は時間的に関連するフレームn-iおよびn+iの深度マップも示している。この例では、各フレームは、200Qに対応する格子点とそれに対応する領域またはエリア202Qを有する。これらは、領域202Q-iおよび202Q+iによって囲まれた格子点200Q-iおよび200Q+iとして、SIDM n-iおよびSIDM n+iに示されている。
一実施形態では、領域に対するSIDMの平均値を決定し、格子点に割り当てることができる。複数の時間的に関連するフレームについて、同一の格子点に対して、この同じプロセスを実行できる。少なくとも1つの実施形態では、時間的に関連するフレームは、フレームnの前または後に来る一連のフレームであってもよい。少なくとも1つの実施形態では、前後を含めて3つのフレームが使用されるが、使用するフレームはそれより多くとも少なくともよい。
画像のコンテンツはフレームからフレームへと変化し、深度分析は、コンテンツを一貫して処理して深度マップ内のちらつきを確実に回避することを目的とするので、1または複数の実施形態は、最初に前記フレームのコンテンツと前記時間的に関連するフレームとの間の対応付けを判定し、いくつかの実施形態では、対応付けが弱いピクセルまたはピクセル群については異なる処理を行うか、または所定の処理ステップから除外することができる。
前記フレームのコンテンツと前記時間的に関連するフレームのコンテンツとの間の対応付けをチェックすることは、時間的に隣接するフレーム間のオプティカルフローを分析することを含むことができる。これは、畳み込みニューラルネットワーク(CNN)などのAIツールを使用して実行できる。そのようなツールの適切な例の1つは、P.Liu、M.Lyu、I.King、J.Xuによって2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR),Long Beach,CA,USA,2019,pp.4566-4575に「SelFlow:Self-Supervised Learning of Optical Flow」として説明されている、SelFlowである。そのようなツールは、フレームnと、時間的に関連するフレームのそれぞれとの間のオプティカルフローを決定するために使用できる。図10で概略的に示されるように、オプティカルフロー推定器301は、入力として3つのフレーム(フレームn-1、フレームn、フレームn+1)を取り込み、2つの出力(フローn→n+1、フローn→n-1)を出力する。ここで、フローn→n+1は、「中央」のフレーム(図10のフレームn)から後のフレーム(フレームn+1)への順方向オプティカルフロー推定であり、フローn→n-1は、中央のフレーム(フレームn)から前のフレーム(フレームn-1)への逆方向オプティカルフロー推定である。この例では、各フレームと中央フレームとの間のオプティカルフロー推定を生成するために、中央フレーム(フレームn)と、該中央フレームの前後に等間隔に配置されたフレームのペアを入力とする複数の時間的に関連するフレームを使用してプロセスが実行される。しかし、フレームが等間隔であることに限定されず、いくつかの実施形態では不等間隔を使用することもできる。
図11では、6個のオプティカルフロー推定の生成を表すためのプロセスが概略的に示されている。図11は、図4に示すフレームに適用された図10のオプティカルフロー推定プロセスを示している。この例では、中央フレーム(フレームn)と中央フレームの後のいずれかのフレーム(フレームn+1、n+2、n+3)との間、中央フレームと中央フレームの前のフレーム(フレームn-1、n-2、n-3)との間のそれぞれに6個のオプティカルフロー推定が生成される。この場合、オプティカルフロー推定器301は、3個のフレーム群に対して3回使用される。すなわち、オプティカルフロー推定器は、フレームの第1セット(フレームn-1、フレームn、フレームn+1)を使って第1セットの推定を実行し、2個のオプティカルフロー推定を出力(フローn→n+1、フローn→n-1)として出力する。オプティカルフロー推定器301は、さらにフレームの第2セット(フレームn-2、フレームn、フレームn+2)を使って第2推定を実行し、2個のオプティカルフロー出力(フローn→n+2、フローn→n-2)を出力する。また、オプティカルフロー推定器は、フレームの第3セット(フレームn-3、フレームn、フレームn+3)を使って第3セットの推定を実行し、2個のオプティカルフロー出力(フローn→n+3、フローn→n-3)を出力する。
次に、オプティカルフロー推定を使用して、前記複数の時間的に関連するフレームのそれぞれについてワープされた深度マップを生成する。この結果、ワープされた一組の深度マップが得られ、それにより格子点(理論上の)が画像内の同じコンテンツに対応付けられて各ワープされた深度マップの格子点の周囲の領域が直接比較可能になる。図12は、一連のフレームn-2からn+2(1202)を示している。SIDM1204はフレームごとに作成され、オプティカルフローを使用して逆方向ワーピングを実行し、ワープされた深度マップ1206「ワープSIDM n-1→n」、「ワープSIDM n+1→n」、「ワープSIDM n-2→n」および「ワープSIDM n+2→n」を生成する。
しかし、オプティカルフロー推定には限界があり、その計算自体に難題がある。そのため、オプティカルフローのエラーは、ワープされた深度マップにアーティファクトをもたらす。これらのアーティファクトに対処し、それらの影響を除去するために、そのようなアーティファクトが生じる領域を特定してマスクを作成することができる。少なくとも1つの実施形態では、マスクは、現在時刻のステップ(フレームn)における深度マップと各ワープされた深度マップとの間のピクセル単位の差分をチェックすることによって作成される。差分が所定のしきい値(例えば、いくつかの実施形態では3.0)より大きい場合、その領域はマスクされる。差分がしきい値を超えると、それらのピクセルは事実上「信頼できない」と見なされる。
所定のしきい値(例えば、25.0)よりも高い深度値を有するピクセル位置もマスクされる。これは、遠くにあるオブジェクト(例えば空など)の深度が近くのオブジェクト(例えば図12の画像のランナーなど)よりも桁違いに大きくなるからである。ごく少数であっても遠方のピクセルを後続の計算に含めると、(例えば、空のピクセルとランナーのピクセルを含み得る格子点の周囲の平均深度を受け入れると)、領域の残りの部分に前景のコンテンツがある場合でも、平均を遠くのピクセル側に極度に歪めてしまう。
したがって、「信頼できない」ピクセルおよび所定のしきい値を超える深度を有するピクセルはマスクされる。図13は、図12のフレームから生成されたそのようなマスクの例を示す。白い領域(すなわち、マスクされたピクセル)は、信頼できない遠方のピクセルを示し、黒い領域は、マスクされていない信頼できる近くのピクセルを示す。定性的には、図13において、マスクは空1302と、ランナーの周りの領域1304を含むことがわかるが、空はそれが遠方にあるからであり、領域1304は、移動するランナーと比較的に安定した背景との境界部分を表すために現在の時間ステップ(フレームn)における深度とワープされた深度マップのフレームの深度との間で最も大きい変動を含むからである。
いくつかの実施形態では、遠方のピクセルのみを除外するマスクを使用することもできる。
状況によって、マスクは、現在のフレーム(フレームn)のSIDMと単一の時間的に関連するフレームのSIDMから生成される「単一フレームマスク」であってもよい。そのようなマスクは、格子点の初期スケール値をその単一の時間的に関連するフレームを使用して計算する場合に有用である。他の状況では、マスクは、複数の単一フレームマスクの組み合わせによって作成された「複数フレームマスク」であってもよい。これは、「OR」演算により複数のマスクを組み合わせることで実行され、それにより単一フレームマスクでマスクされるいずれのピクセルも該複数フレームマスクでマスクされる。
上述のように、所定の格子点の初期スケール値を生成することは、該格子点の深度値と、複数の時間的に関連するフレームからの同一の格子点の深度値とを使用する。フレームの格子点に対する深度値を決定することは、格子点を含む領域の平均深度値を決定することを含むが、マスクされたピクセルは除外する。マスクされたピクセルを除外するのは、例えば、それらが所定の深度よりも深い距離にあるためである。時間的に関連するフレームに対しても、それぞれワープされた深度マップに対して同様のプロセスが実行される。すなわち、格子点ごとに深度値が計算される。深度値は、ワープされた深度マップ内の領域の平均深度値であるが、マスクされたピクセルは除外される(例えば、所定の深度よりも深い距離にあるためである)。したがって、25×14の格子点と7つの時間的に関連するフレーム(フレームnと6つの時間的に関連するフレーム)を使用するこの例では、7×25×14の行列の平均深度値が計算される。次に、格子点ごとの初期スケール値が、現在のフレームの格子点の深度値を、時間的に関連するフレームの対応する格子点の一群の深度値と比較することによって計算される。これには、該格子点の深度値に対する、一群の深度値の中心傾向尺度(measure of central tendency)の比率を決定することを含む。例えば、初期スケール値は次のように計算される:
初期スケール値=(一群の深度値の中央値)/(フレームnの深度値)
時間的に関連するフレームの一群の深度値は、通常、格子点の深度値を含む。すなわち、この例示的な実施形態では、一群の深度値は7つの平均値を含む。
初期スケール値=(一群の深度値の中央値)/(フレームnの深度値)
時間的に関連するフレームの一群の深度値は、通常、格子点の深度値を含む。すなわち、この例示的な実施形態では、一群の深度値は7つの平均値を含む。
別の実施形態では、フレームからフレームへ格子点が正確に一致しなくともよい選択をすることができる。この場合、格子点を定義する「格子」を(例えば、オプティカルフローなどの画像解析技術を使用して)ワープすることができ、対応する格子点が画像コンテンツとともにフレームからフレームへと移動し、同様にフレームnの最初の形状である対応の領域は、そのようなワーピングによって、時間的に関連するフレームにおいて異なる形状または異なる向きになる場合がある。図9は、このことを概略的に示しており、SIDM n、SIDM n-i、およびSIDM n+iは、領域202Q、202Q-i、および202Q+iによって囲まれた格子点200Q、200Q-i、および200Q+iで示されている。しかし、見てわかるように、フレームn+iとn-iの格子はもはや規則的な正方形の格子ではなく、領域202Q-iと202Q+iは格子で歪められており、それらは202Qに比べてわずかに変位し、回転し、おそらく形が変わっている。この変動を受け入れるために、他のプロセスを、必要とする変更を加えて、変えることができる。
最終スケール値の生成
連続するフレームの各初期スケール値は、それを決定する際にいくつか共通のフレームを共有するため、初期スケール値はフレームからフレームへの時間的一貫性を有する。ただし、フレームの空間的に対応する部分のみがその生成に使用されるため、初期スケール値は空間的一貫性には考慮しない。これについては、前記格子点の初期スケール値とそれに隣接する格子点の初期スケール値に基づいて、各格子点の最終スケール値を生成することによって対処される。
連続するフレームの各初期スケール値は、それを決定する際にいくつか共通のフレームを共有するため、初期スケール値はフレームからフレームへの時間的一貫性を有する。ただし、フレームの空間的に対応する部分のみがその生成に使用されるため、初期スケール値は空間的一貫性には考慮しない。これについては、前記格子点の初期スケール値とそれに隣接する格子点の初期スケール値に基づいて、各格子点の最終スケール値を生成することによって対処される。
このプロセスは、隣接する格子点のそれぞれと前記格子点の初期スケール値の相対的寄与度を決定することを含む。いくつかの実施形態では、前記マスクを使用して、前記1または複数の隣接する格子点の相対的寄与度を決定することができる。
このようなシナリオで一組の数値を決定するタスクは、抵抗器のネットワークにおける各ノードの電圧を決定するように(または、ばねのネットワークのノードにおける力と同様に)モデル化できる。図14は、この問題を表す抵抗器のモデルネットワークの一例を示している。
図14の図形において、各初期スケール値は、初期スケール値に等しい電圧(b)を有するバッテリ1401として表されている。初期スケール値に対応する最終スケール値は、初期スケール値を表すバッテリに最も近いネットワーク内のノードの電圧である。これらの2つの値は、初期値が最終値に対してどの程度の影響を与えるかを表す「弾力性」によって結び付けられ、それらの間の抵抗1402としてモデル化される。最終スケール値(ノード電圧(u)として表される)に対する各隣接するノードの影響は、隣接ノードを結合する抵抗器1403として表される「重み」によって設定される。便宜上および明確化のために、ノード間の「対角線」接続は、そのノードに対してのみ「c」とラベル付けされ、その隣接するノードには「n」とラベル付けされる。他のすべての「対角線」接続も同じ方法で重み付けされるが表示されていない。以下の例としてノードcを使用する。
電圧(u)は、以下に示すモデル回路を表す一組の一次方程式を解くことによって計算することができる:
ATCAu=ATCb (EQ1)
ATCAu=ATCb (EQ1)
Aは、ノード間の接続を定義する接続行列である。上記のように、すべての隣接ノードは接続されている。ATは行列Aの転置行列である。
uは、各ノードの電圧を含むベクトルである。
bは、初期スケール値を表すバッテリ電圧を含むベクトルである。
Cはコンダクタンス行列である。これは、次のように計算された値を持つ行列である。
ノードごとに第1の重みが計算される。図14の回路の灰色で強調表示された部分1410を使用して、ノード「c」の重みを以下のように決定することができる:
各ノードの重みは、ノード「c」の影響範囲内のピクセルの加重平均である。このプロセスでは、変動や距離などによる問題が潜在するピクセルを除外するために「複数フレームマスク」を使用することができる。
この影響領域は、隣接するノードによって定義される領域内のすべてのピクセルを含むー例えばノードcについていえば、ラベル「n」の8個のノードで定義される正方形内のすべてのピクセルを含む。定性的には、影響範囲に大多数のマスクされたピクセルが含まれている場合、そのピクセルの初期スケール値は信頼できないものとなり、その近隣はそれに伴って最終スケール値に対する影響力を増すことになる。これにより、ノードとその隣接するノードとを接続する重みのコンダクタンスが高くなる。逆に、マスクされたピクセルがほとんどない「信頼できる」初期値は、その近隣へのコンダクタンスが少なくなり、その初期値の近くにとどまっている。
ノード周辺の各領域の重みは、以下ように計算される:
wc=α1+α2*1/NpΣpMask(p)b(p)(EQ2)
ここで、wcは所定のノードcに対する重み付けであり、該ノードの影響範囲内のすべてのピクセルの合計である。
wc=α1+α2*1/NpΣpMask(p)b(p)(EQ2)
ここで、wcは所定のノードcに対する重み付けであり、該ノードの影響範囲内のすべてのピクセルの合計である。
α1は例えば0.1のスカラー値である。
α2は例えば10.0のスカラー値であり、α1とα2の相対値はマスクされたピクセルとマスクされていないピクセルの相対的な重要性を設定する。
Npは影響の範囲内にあるピクセル数である。
Mask(p)はピクセル(p)位置のマスク値であり、1はマスクされ、0はマスクされていない。従ってマスクされないピクセルは合計に対する寄与度0である。
b(p)は、位置(p)のピクセルの双一次係数であり、ピクセル位置(p)とノード位置(c)の間の距離を使って導出される。
ノード(c)に対してwcが計算されると、ノード(c)と各隣接ノード(n)の間のコンダクタンスCcnは以下のように計算される:
Ccn=max(wc、wn)(EQ3)
Ccn=max(wc、wn)(EQ3)
従って、各ノードは、(図14の各「抵抗器」1403を該ノードに隣接するノードのそれぞれにリンクさせる)8つのコンダクタンスと、その初期値に対する1つのコンダクタンスを有する。ノードの初期スケール値に対するコンダクタンスは、この例では1などに固定することができる。
それにより、コンダクタンス行列Cが生成され、EQ1を解くことで、フレームnの格子点の最終スケール値を表すuベクトルを生成する。これは一組の一次方程式を解くだけで済むので、先行技術の最適化アプローチと比較して比較的容易かつ高速である。
すべてのピクセルの最終スケール値の決定
上述のように、ステップ160で最終スケール値が計算される格子点は、フレームの単一画像の深度マップ内のピクセルよりも少ない。従って、いくつかの実施形態では、SIDMの各ピクセルに適用されるスケール値を決定するには格子点の最終スケール値を使用する必要がある。いくつかの実施形態では、これは、(例えば、双一次補間を使用して)格子点間のスケール値を補間することを含む。SIDM内のピクセルが最も外側の格子点の外側にある場合、これらのピクセルに適用するスケール値を生成するために格子点の最終スケール値の外挿を使用することができる。ただし、フレームのSIDM内のすべてのピクセルに個々のスケール値を設定することが厳密に必要というわけではない。したがって、いくつかの実施形態では、補間または外挿は、フレームまたはSIDMのフル解像度に一致させるようにスケール値の数を増加させない場合がある。他の実施形態では、格子点の最終スケール値から前記SIDMの各ピクセルに適用するためのスケール値は、前記格子点に対するピクセルの位置に基づいてピクセルごとにスケール値を割り当てることによって決定される。例えば、各格子点の周囲の領域内のすべてのピクセルは、該格子点に対応するスケール値を取り入れることができる。
上述のように、ステップ160で最終スケール値が計算される格子点は、フレームの単一画像の深度マップ内のピクセルよりも少ない。従って、いくつかの実施形態では、SIDMの各ピクセルに適用されるスケール値を決定するには格子点の最終スケール値を使用する必要がある。いくつかの実施形態では、これは、(例えば、双一次補間を使用して)格子点間のスケール値を補間することを含む。SIDM内のピクセルが最も外側の格子点の外側にある場合、これらのピクセルに適用するスケール値を生成するために格子点の最終スケール値の外挿を使用することができる。ただし、フレームのSIDM内のすべてのピクセルに個々のスケール値を設定することが厳密に必要というわけではない。したがって、いくつかの実施形態では、補間または外挿は、フレームまたはSIDMのフル解像度に一致させるようにスケール値の数を増加させない場合がある。他の実施形態では、格子点の最終スケール値から前記SIDMの各ピクセルに適用するためのスケール値は、前記格子点に対するピクセルの位置に基づいてピクセルごとにスケール値を割り当てることによって決定される。例えば、各格子点の周囲の領域内のすべてのピクセルは、該格子点に対応するスケール値を取り入れることができる。
SIDM内の各ピクセルのスケール値が決定されると、該スケール値はそれらに対応するSIDM深度ピクセル値が乗算されて、フレームnのスケーリングされたSIDMが決定される。
好都合なことは、いくつかの実施形態では、図2のステップ12から16または図3の120から170の部分が繰り返し実行されて、ビデオクリップ110のその他のフレームに対しスケーリングされたSIDM(sSIDM)を生成できることである。これらの追加のsSIDMがその後ステップ140でフレームn(DMn)の最終深度マップを生成するために使用され、ビデオクリップの深度マップのちらつきをさらに低減することができる。
ここで再び図3に戻ると、ステップ140において、スケーリングされた単一画像の深度マップsSIDMの時間シーケンスが処理されて、フレームn(DMn)に対応する深度マップが生成される。時空間フィルタリングステップは、Kopf et.alによる「Robust Consistent Video Depth Estimation」の方程式(7)および(8)で提示されるプロセスを使って実行される。時間シーケンスのスケーリングされた単一画像の深度マップの数は選択可能である。いくつかの実施形態では、フレームnの前後に1~5フレームを含むことができる。図15は、サブプロセス140の一実施形態におけるステップを示す。ステップ140は、141において、ステップ130で生成されたスケーリングされた単一画像の深度マップの時間シーケンスから始まる。この例では、5個のsSIDMのグループ、すなわち、sSIDM n、sSIDM n+1、sSIDM n-1、sSIDM n+2、sSIDM n-2が使われる。フレーム数は、望ましい時間的平滑化の範囲を達成するために、計算バジェット(computational budget)に基づいて選択できる。Kopf et.alによる「Robust Consistent Video Depth Estimation」は、ターゲットフレームの4個の各辺(τ=4)を使用する。次に、ステップ142で、以前に計算されたオプティカルフロー推定を使用して、各sSIDMがsSIDM nにワープされる。これにより、一連のワープされたsSIDMフレームが生成される。ワープされたsSIDMフレームは、その後、ステップ143でKopf et.alによる「Robust Consistent Video Depth Estimation」の方程式(7)および(8)を用いて処理され、各ピクセルの周囲の近傍でワープされたsSIDMの時間シーケンスにわたって加重平均を生成することにより、時空間フィルタリングを実行する。少なくとも1つの実施形態では、3×3ピクセルの近傍を使用することができる。しかし、フィルタ近傍のサイズを変更し、計算要件を相応に変化させて空間フィルタ処理特性を修正することができる。最終出力DMnは、ビデオクリップ110の後続する処理での使用に適した平滑化された深度マップである。
図16は、本開示の実施形態が実装されるコンピュータシステム1000の一例を示すブロック図を提供する。コンピュータシステム1000は、情報を通信するためのバス1002または他の通信メカニズムと、バス1002に結合されて情報を処理するためのハードウェアプロセッサ1004とを含む。ハードウェアプロセッサ1004は、例えば、1または複数の汎用マイクロプロセッサ、1または複数のグラフィックスプロセッシングユニット、または他のタイプのプロセッシングユニット、またはそれらの組み合わせであってもよい。
コンピュータシステム1000は、さらに、プロセッサ1004によって実行される情報および命令を記憶するためにバス1002に結合された、ランダムアクセスメモリ(RAM)または他の動的記憶装置などのメインメモリ1006を含む。メインメモリ1006はプロセッサ1004によって実行される命令の実行中に一時変数または他の中間情報を格納するために使用されてもよい。そのような命令がプロセッサ1004にとってアクセス容易な非一時的記憶媒体に格納されると、コンピュータシステム1000はカスタマイズされ、命令に指定された動作を実行するように構成された専用マシンになる。
コンピュータシステム1000は、プロセッサ1004のための静的情報および命令を記憶するためにバス1002に結合されたリードオンリーメモリ(ROM)1008または他の静的記憶装置をさらに含むことができる。磁気ディスクまたは光ディスクなどの記憶装置1010が提供され、上記のビデオ編集ソフトウェアアプリケーションを含む情報および命令を格納するために、バス1002に接続されてもよい。
コンピュータシステム1000は、コンピュータユーザに情報を表示するために、バス1002を介してディスプレイ1012(1または複数のLCD、LED、タッチスクリーンディスプレイ、またはその他のディスプレイなど)に結合される。情報や選択されるコマンドをプロセッサ1004に伝達するために、英数字やその他のキーを含む入力デバイス1014がバス1002に結合される。別のタイプのユーザ入力デバイスは、方向情報や選択されるコマンドをプロセッサ1004に伝達するための、およびディスプレイ1012上のカーソルの移動を制御するための、マウス、トラックボール、またはカーソル方向キーなどのカーソルコントロール1016である。
少なくとも1つの実施形態によれば、本明細書に記載の技術は、プロセッサ1004がメインメモリ1006に含まれる1または複数の命令の1または複数のシーケンスを実行することに応答して、コンピュータシステム1000によって実行される。そのような命令はリモートデータベースなどの別の記憶媒体からメインメモリ1006に読み込まれてもよい。メインメモリ1006に含まれる命令のシーケンスを実行することにより、プロセッサ1004は本明細書に記載するプロセスステップを実行する。別の実施形態では、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて、ハードワイヤード回路が使用されてもよい。
本明細書で使用される「storage media」または「storage medium」(記憶媒体)という用語は、マシンを特定の方法で動作させるデータおよび/または命令を格納する任意の非一時的媒体を指す。そのような記憶媒体は、不揮発性媒体および/または揮発性媒体を含む。不揮発性媒体は、例えば、記憶装置1010などの光学または磁気ディスクを含む。揮発性媒体は、メインメモリ1006などの動的メモリを含む。記憶媒体の一般的な形態は、例えば、フロッピーディスク、ハードディスクドライブ、ソリッドステートドライブ、磁気テープ、またはその他の磁気データ記憶媒体、CD-ROM、その他の光データ記憶媒体、穴パターンを備えた物理メディア、RAM、PROM、およびEPROM、FLASH-EPROM、NVRAM、その他のメモリチップまたはカートリッジを含む。
コンピュータシステム1000はさらにバス1002に結合された通信インターフェース1018を含んでもよい。通信インターフェース1018は、ネットワーク1050に接続されたネットワークリンク1020に結合する双方向データ通信を提供する。例えば、通信インターフェース1018は、統合サービスデジタルネットワーク(ISDN)カード、ケーブルモデム、衛星モデムなどであってもよい。別の例として、通信インターフェース1018は、互換性のあるLANへのデータ通信接続を提供するローカルエリアネットワーク(LAN)カードであってもよい。無線リンクも実装できる。そのような実装のいずれにおいても、通信インターフェース1018は、様々なタイプの情報を表すデジタルデータストリームを搬送する電気信号、電磁気信号、または光信号を送受信する。
添付の特許請求の範囲に含まれる用語に対し本明細書で明確に記載される定義は、特許請求の範囲で使用されるそれらの用語の意味を決定するものとする。特許請求の範囲に明確に記載されない限定、要素、特性、特徴、利点、または属性は、いかなる方法であっても特許請求の範囲を限定するものではない。
本明細書で使用される用語「include」および「comprise」(および「including」、「includes」、「comprising」、「comprises」、「comprised」などのこれらの用語の変化形)は、包括的であることが意図され、さらなる機能、コンポーネント、整数、またはステップを除外することは意図されていない。
フローチャートを用いて説明された本開示の態様について、所定のフローチャートステップは、様々な方法で、様々なデバイス、システム、またはシステムモジュールによって実行可能である。特段の記載がない限り、所定のフローチャートのステップを複数のステップに分割することも、複数のフローチャートのステップを1つのステップに結合することもできる。さらに、特段の記載がない限り、ステップの順序は、本開示の範囲から逸脱することなく変更することができる。
上記の様々な実施形態を組み合わせて、さらに別の実施形態を提供することができる。
以上の詳細な説明に照らして、様々な変更を実施形態に加えることができる。一般に、以下の特許請求の範囲では、使用される用語が、該特許請求の範囲を明細書および特許請求の範囲に開示された特定の実施形態に限定すると解釈されるべきではなく、そのような特許請求の範囲が及ぶ均等物の全範囲とともにすべての可能な実施形態を含むと解釈されるべきである。
Claims (15)
- ビデオクリップ内のフレームシーケンスのフレームに対応する深度マップを生成する方法であって、
複数のフレームの各フレームに対して単一画像の深度マップを生成することと;
前記各フレームに対してスケーリングされた単一画像の深度マップ生成するために、前記単一画像の深度マップの各ピクセルにスケール値を適用することによって、各フレームに対して単一画像の深度マップをスケーリングすることと;
前記ビデオクリップ内のフレームシーケンスのフレームに対応する前記単一画像の深度マップを生成するために、スケーリングされた単一画像の深度マップの時間シーケンスを処理することと;
を含み、
前記単一画像の深度マップの各ピクセルのスケール値は:
前記フレームにわたって配置された複数の格子点の各格子点について、
前記格子点の深度値と、複数の時間的に関連するフレームの同一の格子点に対応する深度値とを使用して、初期スケール値を生成することと;
前記格子点の初期スケール値と1または複数の隣接する格子点の初期スケール値に基づいて、前記格子点の最終スケール値を生成することと;
格子点の前記最終スケール値から、前記単一画像の深度マップの各ピクセルに適用するための対応するスケール値を決定することと;
を含む方法を使って生成される、方法。 - 前記格子点の深度値と、複数の時間的に関連するフレームの同一の格子点の深度値とを使用して初期スケール値を生成するステップは:
前記格子点を含む領域の平均深度値を決定することにより、前記フレームの格子点の深度値を決定することを含み;
複数の時間的に関連するフレームの同一の格子点に対応する深度値を決定することは、前記格子点に対応する位置が複数の時間的に関連するフレームのそれぞれについて決定されるように前記フレームのコンテンツと前記時間的に関連するフレームのコンテンツとの間の対応付けを決定することと、および各時間的に関連するフレームの前記格子点に対応する深度値を決定するために時間的に関連する各フレームの前記位置を含む領域の平均深度値を決定することと、を含む、請求項1に記載の方法。 - 各格子点の初期スケール値は:
前記格子点の深度値に対する、複数の時間的に関連するフレームの同一の格子点の深度値を少なくとも含む一群の深度値の中心傾向尺度の比率を使って決定される、請求項2に記載の方法。 - 前記方法は、前記フレームのピクセルを含むマスクを定義することを含み、それにより前記単一画像の深度マップが、複数のフレームのオプティカルフロー解析に基づいて信頼できないか、またはしきい値深度よりも深い深度を有するかのいずれかまたは両方であると判定される、請求項1に記載の方法。
- (原請求項9)格子点を含む領域の平均深度値を決定することにより格子点の深度値を決定すること、および/または複数の時間的に関連するフレームの同一の格子点に対応する深度値を決定することのうち少なくとも1つが、前記マスクに含まれるピクセルを除外する、請求項4に記載の方法。
- 前記フレームのコンテンツと前記時間的に関連するフレームのコンテンツとの間の対応付けを決定することは、時間的に隣接するフレーム間のオプティカルフローを分析することと、およびオプティカルフローに従って前記複数の時間的に関連するフレームのそれぞれのワープされた深度マップを生成することとを含み、これにより、前記格子点に対応する前記位置が前記格子点と位置合わせされ、ワープされた深度マップを使用して、時間的に関連する各フレーム内の前記位置の周囲の領域の平均深度値を決定する、請求項5に記載の方法。
- 前記フレームのコンテンツと前記時間的に関連するフレームのコンテンツとの間の対応付けを決定することは、時間的に隣接するフレーム間のオプティカルフローを分析することと、前記オプティカルフローを使って前記複数の時間的に関連するフレームのそれぞれの前記格子点の位置をトラッキングすることと、各時間的に関連するフレーム内の前記位置の周囲の領域の平均深度値を決定することと、を含む、請求項5に記載の方法。
- 前記格子点の初期スケール値および1または複数の隣接する格子点の初期スケール値に基づいて前記格子点の最終スケール値を生成するステップは:
前記1または複数の隣接する格子点のそれぞれと前記格子点の初期スケール値の相対的寄与度を、オプションで前期マスクに基づいて決定することを含む、請求項1に記載の方法。 - 前記格子点の初期スケール値および1または複数の隣接する格子点の初期スケール値に基づいて前記格子点の最終スケール値を生成することは、前記格子点のそれぞれの初期スケール値と前記格子点の隣接格子点のそれぞれの初期スケール値とを表す一連の一次方程式を解くことを含む、請求項1に記載の方法。
- 格子点の最終スケール値から前記単一画像の深度マップの各ピクセルに適用するためのスケール値を決定することは:
前記格子点間の各ピクセルのスケール値を補間によって生成することと;
前記格子点に対する位置に基づいて各ピクセルにスケール値を割り当てることと;
の1または両方を含む、請求項1に記載の方法。 - 各フレームの単一画像の深度マップを生成することは、前記単一画像の深度マップを生成するために、ディープラーニングモデル例えば畳み込みニューラルネットワークを用いることを含む、請求項1に記載の方法。
- 非一時的記憶媒体に記憶された実行命令に従って動作するプロセッサを含み、前記命令が実行されるとき、請求項1~11のいずれか1項に記載の方法を実行するように構成される、コンピュータシステム。
- ノンリニア編集システムを含む、請求項12に記載のコンピュータシステム。
- プロセッサによって実行されると請求項1~11のいずれか1項に記載の方法を前記プロセッサに実行させる実行命令を記憶する、非一時的なコンピュータ可読記憶媒体。
- ノンリニア編集コンピュータソフトウェア製品またはビデオ効果ソフトウェア製品のいずれかをオプションで含み、プロセッサによって実行されると請求項1~11のいずれか1項に記載の方法を前記プロセッサに実行させる実行命令を内蔵する、コンピュータソフトウェア製品。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263331396P | 2022-04-15 | 2022-04-15 | |
US63/331396 | 2022-04-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023157856A true JP2023157856A (ja) | 2023-10-26 |
Family
ID=86007069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023061992A Pending JP2023157856A (ja) | 2022-04-15 | 2023-04-06 | 深度マップの生成方法及びシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230334685A1 (ja) |
EP (1) | EP4261780A1 (ja) |
JP (1) | JP2023157856A (ja) |
CN (1) | CN116912303A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110602566B (zh) * | 2019-09-06 | 2021-10-01 | Oppo广东移动通信有限公司 | 匹配方法、终端和可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102741879B (zh) * | 2009-11-18 | 2015-07-08 | 财团法人工业技术研究院 | 由单眼图像产生深度图的方法及其系统 |
-
2023
- 2023-04-06 JP JP2023061992A patent/JP2023157856A/ja active Pending
- 2023-04-13 EP EP23167816.0A patent/EP4261780A1/en active Pending
- 2023-04-14 US US18/301,032 patent/US20230334685A1/en active Pending
- 2023-04-14 CN CN202310402675.8A patent/CN116912303A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN116912303A (zh) | 2023-10-20 |
EP4261780A1 (en) | 2023-10-18 |
US20230334685A1 (en) | 2023-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10755173B2 (en) | Video deblurring using neural networks | |
US5745668A (en) | Example-based image analysis and synthesis using pixelwise correspondence | |
US11017586B2 (en) | 3D motion effect from a 2D image | |
JP7403528B2 (ja) | シーンの色及び深度の情報を再構成するための方法及びシステム | |
US9153032B2 (en) | Conversion method and apparatus with depth map generation | |
US8073277B2 (en) | Apparatus and methods for image restoration | |
Li et al. | Depth-aware stereo video retargeting | |
KR20110014067A (ko) | 스테레오 컨텐트의 변환 방법 및 시스템 | |
JP2023157856A (ja) | 深度マップの生成方法及びシステム | |
Karam et al. | An efficient selective perceptual-based super-resolution estimator | |
Masood et al. | Automatic Correction of Saturated Regions in Photographs using Cross‐Channel Correlation | |
CN113724155A (zh) | 用于自监督单目深度估计的自提升学习方法、装置及设备 | |
KR20100084075A (ko) | 멀티프레임을 고려한 비디오 오브젝트 매팅 시스템 및 방법 | |
CN112785492A (zh) | 图像处理方法、装置、电子设备和存储介质 | |
CN113657396B (zh) | 训练方法、译文展示方法、装置、电子设备以及存储介质 | |
Lee et al. | Fast 3D video stabilization using ROI-based warping | |
Concha et al. | An evaluation of robust cost functions for RGB direct mapping | |
US10121257B2 (en) | Computer-implemented method and system for processing video with temporal consistency | |
Raveendran et al. | Image fusion using LEP filtering and bilinear interpolation | |
Kim et al. | Content-aware image and video resizing based on frequency domain analysis | |
CN114862725B (zh) | 基于光流法实现运动感知模糊特效的方法及装置 | |
Sim et al. | Robust reweighted MAP motion estimation | |
CN113920270B (zh) | 一种基于多视角全景的布局重建方法及其系统 | |
Al-Takrouri et al. | A model validation approach to texture recognition and inpainting | |
Hassanien et al. | Image morphing of facial images transformation based on navier elastic body splines |