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

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

▶ エヌイーシー ラボラトリーズ アメリカ インクの特許一覧

特許7319390ぼけた画像/ビデオを用いたSFM/SLAMへの適用を有する畳み込みニューラルネットワークを使用した画像/ビデオのボケ除去
<>
  • 特許-ぼけた画像/ビデオを用いたSFM/SLAMへの適用を有する畳み込みニューラルネットワークを使用した画像/ビデオのボケ除去 図1
  • 特許-ぼけた画像/ビデオを用いたSFM/SLAMへの適用を有する畳み込みニューラルネットワークを使用した画像/ビデオのボケ除去 図2
  • 特許-ぼけた画像/ビデオを用いたSFM/SLAMへの適用を有する畳み込みニューラルネットワークを使用した画像/ビデオのボケ除去 図3
  • 特許-ぼけた画像/ビデオを用いたSFM/SLAMへの適用を有する畳み込みニューラルネットワークを使用した画像/ビデオのボケ除去 図4
  • 特許-ぼけた画像/ビデオを用いたSFM/SLAMへの適用を有する畳み込みニューラルネットワークを使用した画像/ビデオのボケ除去 図5
  • 特許-ぼけた画像/ビデオを用いたSFM/SLAMへの適用を有する畳み込みニューラルネットワークを使用した画像/ビデオのボケ除去 図6
  • 特許-ぼけた画像/ビデオを用いたSFM/SLAMへの適用を有する畳み込みニューラルネットワークを使用した画像/ビデオのボケ除去 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-24
(45)【発行日】2023-08-01
(54)【発明の名称】ぼけた画像/ビデオを用いたSFM/SLAMへの適用を有する畳み込みニューラルネットワークを使用した画像/ビデオのボケ除去
(51)【国際特許分類】
   G06T 5/00 20060101AFI20230725BHJP
   G06T 7/00 20170101ALI20230725BHJP
   G06T 7/20 20170101ALI20230725BHJP
   G06T 7/50 20170101ALI20230725BHJP
【FI】
G06T5/00 710
G06T7/00 350C
G06T7/20 100
G06T7/50
【請求項の数】 18
(21)【出願番号】P 2021567848
(86)(22)【出願日】2020-05-07
(65)【公表番号】
(43)【公表日】2022-07-13
(86)【国際出願番号】 US2020031881
(87)【国際公開番号】W WO2020236432
(87)【国際公開日】2020-11-26
【審査請求日】2021-11-11
(31)【優先権主張番号】16/867,805
(32)【優先日】2020-05-06
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/851,259
(32)【優先日】2019-05-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504080663
【氏名又は名称】エヌイーシー ラボラトリーズ アメリカ インク
【氏名又は名称原語表記】NEC Laboratories America, Inc.
(74)【代理人】
【識別番号】100123788
【弁理士】
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【弁理士】
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】トラン、 クオック-フイ
(72)【発明者】
【氏名】ズオン、 ビンビン
(72)【発明者】
【氏名】ジ、 パン
(72)【発明者】
【氏名】チャンドラカー、 マンモハン
【審査官】▲高▼橋 真之
(56)【参考文献】
【文献】Liyuan Pan、他2名,Single Image Deblurring and Camera Motion Estimation with Depth Map,2019 IEEE Winter Conference on Applications of Computer Vision,インターネット<URL:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8658686>,2019年03月01日,pp. 2116-2125
【文献】Jaco Cronje,Deep Convolutional Neural Networks for Dense Non-Uniform Motion Deblurring,2015 Intrnational Conference on Image and Vision Computing New Zialand (IVCNZ),インターネット<URL:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7761567>,2016年12月01日
(58)【調査した分野】(Int.Cl.,DB名)
G06T 5/00
G06T 7/00
G06T 7/20
G06T 7/50
(57)【特許請求の範囲】
【請求項1】
ぼけ効果を補正するためのプロセッサ上で実行されるコンピュータ実行方法であって、
カメラ(660)から複数の画像を生成することと、
鮮明な画像対応物(102)からぼけた画像(112)を合成して訓練データを生成し、構造および動き認識畳み込みニューラルネットワーク(CNN)(130)を訓練することと、
前記構造および動き認識CNNを使用することによって単一のぼけた画像(142)からカメラの動き(132)と深度マップ(134)を同時に予測して、前記単一のぼけた画像からぼけを除去することと、を含み、
前記構造および動き認識CNN(130)は、深度マップを学習する深度ネットワーク(210)と、カメラの動きを学習する速度ネットワーク(220)とを含み、前記深度ネットワークと前記速度ネットワークはそれぞれ入力として前記単一のぼけた画像のみを受信し、前記速度ネットワークは、3D並進速度ベクトルおよび3D角速度ベクトルとして表される完全な6Dカメラ速度を回帰するための1×1畳み込み層を含む方法。
【請求項2】
訓練段階中に、鮮明画像(102)のセット、対応する深度マップ(104)、および合成されたカメラの動き(120)を使用して、線形畳み込みによって、合成されたぼけた画像(112)を生成することをさらに含む、請求項1に記載の方法。
【請求項3】
前記合成されたカメラの動き(120)、前記深度マップ(104)、および前記合成されたぼけた画像(112)を、監視信号及び入力データとして前記構造および動き認識CNN(130)にそれぞれ提供して、前記構造および動き認識CNNを訓練すること、をさらに含む、請求項2に記載の方法。
【請求項4】
テスト段階中に、前記単一のぼけた画像(142)を前記構造及び動き認識CNN(130)に提供して、前記入力ぼけ画像(142)に対応する前記カメラの動き(132)および前記深度マップ(134)を予測することをさらに含む、請求項3に記載の方法。
【請求項5】
前記単一のぼけた画像(142)、前記カメラの動き(132)、および前記深度マップ(134)を、非ブラインドデコンボリューションモジュール(140)に送信して、前記ぼけ効果を除去することをさらに含む、請求項4に記載の方法。
【請求項6】
前記非ブラインドデコンボリューションモジュール(140)から鮮明画像(144)を出力することをさらに含む、請求項5に記載の方法。
【請求項7】
前記深度ネットワーク(210)は、前記速度ネットワーク(220)とは別個に訓練される、請求項に記載の方法。
【請求項8】
ぼけ効果を補正するコンピュータ可読プログラムを備えた非一時的コンピュータ可読記憶媒体であって、前記コンピュータ可読プログラムが、コンピュータ上で実行されるときに、前記コンピュータに、
カメラ(660)から複数の画像を生成する工程と、
鮮明な画像対応物(102)からぼけた画像(112)を合成して訓練データを生成し、構造および動き認識畳み込みニューラルネットワーク(CNN)(130)を訓練する工程と、
前記構造および動き認識CNNを使用することによって単一のぼけた画像(142)からカメラの動き(132)と深度マップ(134)を同時に予測して、前記単一のぼけた画像からぼけを除去する工程と、を実行させ、
前記構造および動き認識CNN(130)は、深度マップを学習する深度ネットワーク(210)と、カメラの動きを学習する速度ネットワーク(220)とを含み、前記深度ネットワークと前記速度ネットワークはそれぞれ入力として前記単一のぼけた画像のみを受信し、前記速度ネットワークは、3D並進速度ベクトルおよび3D角速度ベクトルとして表される完全な6Dカメラ速度を回帰するための1×1畳み込み層を含む、非一時的コンピュータ可読記憶媒体。
【請求項9】
訓練段階中に、鮮明画像(102)のセット、対応する深度マップ(104)、および合成されたカメラの動き(120)が使用され、合成されたぼけた画像(112)を生成する、請求項に記載の非一時的コンピュータ可読記憶媒体。
【請求項10】
前記合成されたカメラの動き(120)、前記深度マップ(104)、および前記合成されたぼけた画像(112)が、監視信号および入力データとして、それぞれ前記構造および動き認識CNN(130)に提供され、前記構造および動き認識CNNを訓練する、請求項に記載の非一時的コンピュータ可読記憶媒体。
【請求項11】
テスト段階中に、前記単一のぼけた画像(142)が前記構造および動き認識CNN(130)に提供されて、前記入力されたぼけた画像(142)に対応する前記カメラの動き(132)および前記深度マップ(134)を予測する、請求項10に記載の非一時的コンピュータ可読記憶媒体。
【請求項12】
前記単一のぼけた画像(142)、前記カメラの動き(132)、および前記深度マップ(134)が、非ブラインドデコンボリューションモジュール(140)に送信されて、前記ぼけ効果を除去する、請求項11に記載の非一時的コンピュータ可読記憶媒体。
【請求項13】
鮮明画像(144)が、前記非ブラインドデコンボリューションモジュール(140)から出力される、請求項12に記載の非一時的コンピュータ可読記憶媒体。
【請求項14】
前記深度ネットワーク(210)は、前記速度ネットワーク(220)とは別個に訓練される、請求項に記載の非一時的コンピュータ可読記憶媒体。
【請求項15】
ぼけ効果を補正するシステムであって、
メモリと、
カメラ(660)から複数の画像を生成し、
鮮明な画像対応物(102)からぼけた画像(112)を合成して訓練データを生成し、構造および動き認識畳み込みニューラルネットワーク(CNN)(130)を訓練し、
前記構造および動き認識CNNを使用することによって単一のぼけた画像(142)からカメラの動き(132)と深度マップ(134)を同時に予測して、前記単一のぼけた画像からぼけを除去するように構成された、前記メモリと通信する1つ以上のプロセッサと、を含み、
前記構造および動き認識CNN(130)は、深度マップを学習する深度ネットワーク(210)と、カメラの動きを学習する速度ネットワーク(220)とを含み、前記深度ネットワークと前記速度ネットワークはそれぞれ入力として前記単一のぼけた画像のみを受信し、前記速度ネットワークは、3D並進速度ベクトルおよび3D角速度ベクトルとして表される完全な6Dカメラ速度を回帰するための1×1畳み込み層を含む、システム。
【請求項16】
訓練段階中に、鮮明画像(102)のセット、対応する深度マップ(104)、および合成されたカメラの動き(120)が使用されて合成されたぼやけた画像(112)を生成する、請求項15に記載のシステム。
【請求項17】
前記合成されたカメラの動き(120)、前記深度マップ(104)、および前記合成されたぼけた画像(112)が、監視信号及び入力データとして、それぞれ前記構造および動き認識CNN(130)に提供されて、前記構造および動き認識CNNを訓練する、請求項16に記載のシステム。
【請求項18】
テスト段階中に、前記単一のぼけた画像(142)が、前記構造および動き認識CNN(130)に提供されて、前記入力されたぼけた画像(142)に対応する前記カメラの動き(132)および前記深度マップ(134)を予測する、請求項17に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願情報
本出願は、2019年5月22日に出願された仮出願第62/851,259号、および2020年5月6日に出願された米国特許出願第16/867,805号の優先権を主張し、その内容全体が参照により本明細書に組み込まれる。
【背景技術】
【0002】
本発明は、構造および動き認識ぼけ除去を学習することに関し、より詳細には、単一のぼけた画像から基礎となる幾何学を学習し、ぼけた画像の補正が実行される畳み込みニューラルネットワーク(CNN)ベースの方法に関する。
関連技術の説明
【0003】
カメラの手ぶれによる動きぼけは、写真、特にズームや低光量を伴う条件では一般的な問題である。カメラのシャッターレリーズボタンを押すだけで、カメラ自体がぶれ、残念ながら画像がぼけることがある。この問題は、自動露光時間を備えた軽量カメラが容易に安定化されない一般的なディジタル写真において特に普及しており、自動露光時間は、ぼけのない画像を確保するために比較的長い安定化を余儀なくさせることが多い。これらのカメラの多くのコンパクトな形態および小さなレンズは、この課題を増大させるだけである。
【0004】
デジタルカメラのセンサーは、ある期間にわたってエネルギーを積分することによって画像を作り出す。この間、すなわち露光時間の間、画像が移動する場合、カメラまたは被写体の動きにより、結果として得られる画像は動きぼけを呈する。長焦点距離(ズーム)を使用した場合、カメラの角度変化が小さくても、画像の大きな変位が発生するので、動きぼけの問題が増大する。また、照明条件や小さな絞りの使用のために、長時間露光が必要な状況でも、動きぼけの問題が増大する。
【発明の概要】
【0005】
ぼけ効果を補正するコンピュータ実施方法を提供する。この方法は、カメラから複数の画像を生成することと、深度マップを活用して鮮明な画像対応物からぼけた画像を合成して訓練データを生成することと、構造および動き認識畳み込みニューラルネットワーク(CNN)を訓練することと、上記構造および動き認識CNNを使用して単一のぼけた画像からカメラの動きおよび深度マップを予測して、上記単一のぼけた画像からぼけを除去することとを含む。この方法は、深度を活用して訓練用の現実的なぼけを合成し、推定中に、ぼけを引き起こす基礎となる幾何学を明確に理由付けるので、既存の方法よりも幾何学的に忠実である。
【0006】
ぼけ効果を補正するためのコンピュータ可読プログラムを含む非一時的コンピュータ可読記憶媒体を提供する。コンピュータ可読プログラムは、コンピュータ上で実行されると、コンピュータに、カメラから複数の画像を生成する工程と、鮮明な画像対応物からぼけた画像を合成して、構造および動き認識畳み込みニューラルネットワーク(CNN)を訓練するための訓練データを生成する工程と、上記構造および動き認識CNNを使用することによって、単一のぼけた画像からカメラの動きおよび深度マップを予測して、上記単一のぼけた画像からぼけを除去する工程とを実行させる。
【0007】
ぼけ効果を補正するシステムを提供する。このシステムは、メモリと、カメラから複数の画像を生成し、鮮明な画像対応物からぼけた画像を合成して、構造および動き認識畳み込みニューラルネットワーク(CNN)を訓練するための訓練データを生成し、上記構造および動き認識CNNを使用することによって、単一のぼけた画像からカメラの動きおよび深度マップを予測して、上記単一のぼけた画像からぼけを除去するように構成された、上記メモリと通信する1つまたは複数のプロセッサとを含む。
【0008】
これら及び他の特徴並びに利点は、添付の図面に関連して読まれるべき、その例示的な実施形態の以下の詳細な説明から明らかになるのであろう。
【図面の簡単な説明】
【0009】
本開示は、以下の図面を参照して、好ましい実施形態の以下の説明において詳細を提供する。
【0010】
図1】本発明の実施形態による、構造および動き認識ぼけレンダリングおよび構造および動き認識ぼけ除去ネットワークのブロック/フロー図である。
【0011】
図2】本発明の実施形態による、構造および動き認識ぼけ除去ネットワークのアーキテクチャを示すブロック/フロー図である。
【0012】
図3】本発明の実施形態による、ぼけたビデオを用いた自己位置推定と環境地図作成の同時実行(SLAM)へのぼけ除去方法の適用のブロック/フロー図である。
【0013】
図4】本発明の実施形態による、ぼけた画像を用いたstructure from motion(SFM)へのぼけ除去方法の適用のブロック/フロー図である。
【0014】
図5】本発明の実施形態による、構造および動き認識除去ネットワークの実用的な適用例のブロック/フロー図である。
【0015】
図6】本発明の実施形態による、ぼけ効果を補正するための例示的な処理システムのブロック/フロー図である。
【0016】
図7】本発明の実施形態による、ぼけ効果を補正するための例示的な方法のブロック/フロー図である。
【発明を実施するための形態】
【0017】
ぼけ効果に鑑みて、例示的な実施形態は、単一のぼけ画像から基礎となる幾何学(例えば、カメラの動きおよびシーンの構造)を学習し、ぼけ画像補正が実行される、畳み込みニューラルネットワーク(CNN)ベースの方法を導入する。この方法は、構造および動き認識ぼけ補正方法と呼ばれる。
【0018】
例示的な実施形態は、単一入力ぼけ画像におけるフレーム内カメラの動きによるぼけ効果を推定し、除去する新規のCNNアーキテクチャを導入する。さらに、例示的な実施形態は、CNNを訓練するための多数のぼけた画像を生成する新規のぼけた画像合成手順を導入する。最後に、例示的な実施形態は、ぼけた画像/ビデオを用いたstructure from motionおよび自己位置推定と環境地図作成の同時実行(SFM/SLAM)に関する実用的な応用を示す。
【0019】
画像ぼけ除去パイプラインは、不均一なぼかしカーネル推定と、推定されたぼかしカーネルによる非ブラインドぼけ除去とを含む。「不均一ぼかしカーネル」とは、線形ぼかしカーネルが各ピクセルに対して個別に推定されることを意味する。ぼかしカーネルは、そのような基礎をなす幾何学を考慮して、シーンの深度とフレーム内カメラの動きとによって大部分が決定されるので、例示的な実施形態は、構造および動き認識CNNを導入して、ただ1つの入力ぼけ画像からフレーム内のカメラの動きおよび深度マップの両方を明示的に推定する。
【0020】
次に、得られた深度および動きを使用して、線形ぼかしカーネルを計算し、標準的な非ブラインドぼけ除去を実行する。他方、CNNを訓練するための多様で現実的なぼけ画像の大規模データセットを得るために、例示的な実施形態は、新規の構造および動き認識ぼけ合成パイプラインを導入する。このパイプラインがカメラの動きと深度マップの両方を利用して画素ごとの線形ぼかしカーネルを計算し、これをさらに適用して単純な畳み込みによって画像内のぼけを生成する。最後に、本発明の例示的な実施形態は、ぼけた画像/ビデオを用いたSFM/SLAMに例示的な手法を適用する。
【0021】
図1は、本発明の実施形態による、構造および動き認識ぼけレンダリングおよび構造および動き認識ぼけ除去ネットワークのブロック/フロー図である。
【0022】
図1は、構造および動き認識ぼけレンダリングおよび構造および動き認識ぼけ除去ネットワークを示す。訓練段階150の間、鮮明画像102のセット、対応する深度マップ104、および合成されたフレーム内カメラの動き120が、ぼけた画像112を合成するために、提案された構造および動き認識ぼけレンダリングパイプライン110によって使用される。次に、ぼけた画像112が入力データとして使用され、一方、カメラの動き120および深度マップ104は次に、提案された構造および動き認識ぼけ除去ネットワーク130を訓練するための監視信号として使用される。テスト段階160では、単一の実際のぼけた画像142がネットワークに入力される。このネットワークは、ぼけた画像142に対応するカメラの動き132と深度マップ134の両方を予測する。最後に、ぼけた画像142、カメラの動き132、および深度マップ134が非ブラインドデコンボリューションモジュール140に送られ、ぼけ効果を取り除き、鮮明画像144を出力する。
【0023】
図2は、本発明の実施形態による、構造および動き認識ぼけ除去ネットワークのアーキテクチャを示すブロック/フロー図である。
【0024】
図2は、構造および動き認識ぼけ除去ネットワークの詳細なアーキテクチャを示す。このネットワークは、単一のぼけた画像202から深度マップ212およびカメラの動き222をそれぞれ学習する2つのサブネットワーク、すなわち、深度ネット210および速度ネット220を含む。DispNetは、ぼけた画像202の奥行き推定用の深度ネット210として採用される(またはシングルビュー深度推定のための任意の適切なニューラルネットワーク)。速度ネット220については、ResNet-34(230)が、最後の平均プーリング層を除去し、特徴を抽出する5つの3×3畳み込み層(それぞれバッチノルム層およびReLU活性化層が後に続く)と、完全な6Dカメラ速度、すなわち3D並進速度ベクトルvおよび3D角速度ベクトルwを回帰するための1つの1×1畳み込み層(バイアスなし)とを追加することによって採用される(または特徴抽出用の任意の適切なニューラルネットワーク)。
【0025】
深度ネット210は、回帰損失(regression loss)Ld(214)を使用することによって訓練される。本方法は、(深度の代わりに)逆深度を回帰して、深度の増加に伴う不確実性の増加を考慮する。速度ネット220の場合、訓練損失には、推定された並進速度と角速度をそれぞれ評価するための回帰損失LvとLw(224)が含まれる。本方法は、上記のすべての損失に対してL1ノルムを使用する。本方法は、各サブネットワークの監視に利用可能なグラウンドトルースを有する合成訓練データに依存するので、2つのサブネットワーク210、220は別々に訓練されることに留意されたい。さらに、本方法は深度マップ212とカメラ速度222の両方を予測する単一のジョイントネットワークを使用することができ、あるいは多項式モデルのようなより複雑なカメラ動きモデルを使用することができる。
【0026】
図3は、本発明の実施形態による、ぼけたビデオを用いた自己位置推定と環境地図作成の同時実行(SLAM)へのぼけ除去方法の適用のブロック/フロー図である。
【0027】
ぼけたビデオを用いたSLAMへのぼけ除去方法の適用を図3に示す。入力ぼけビデオ310は、ぼけ効果を有する連続した画像フレームのセットである。次に、各フレームは、ぼけ効果を除去し、対応する鮮鋭フレームを得るために、それぞれ、提案されたぼけ除去方法(例えば、構造と動き認識ぼけ除去320)に渡される。次いで、鮮鋭フレーム330は、ビデオで観察されるカメラ軌跡およびシーン構造350を推定するSLAMモジュール340に送られる。
【0028】
図4は、本発明の実施形態による、ぼけた画像を用いたstructure from motion(SFM)へのぼけ除去方法の適用のブロック/フロー図である。
【0029】
ぼけた画像を有するSFMへのぼけ除去方法の適用を図4に示す。グーグル画像検索から取得されたものなど、ぼけた画像410の順序付けられていないセットは、ぼけた画像を用いたSFMのための入力として使用することができる。次いで、各画像は、ぼけ効果を除去し、対応する鮮明画像430を得るために、提案されたぼけ除去方法(例えば、構造および動き認識ぼけ除去420)に別々に渡される。次いで、鮮明画像430は、画像内に観察されるカメラ姿勢およびシーン構造450を推定するSFMモジュール440に送られる。
【0030】
図5は、本発明の実施形態による、構造および動き認識ぼけ除去ネットワークの実用的な適用例のブロック/フロー図である。
【0031】
1つの実用化において、ユーザ502は、カメラなどの撮像装置504を使用して画像506を撮像する。画像506はぼかすことができる。本発明のCNNアーキテクチャ508は、撮像画像506からぼけ効果を推定し、除去するために使用することができる。そして、CNNアーキテクチャ508は、鮮明画像510をユーザ502に出力することを可能にする。したがって、携帯電話カメラや車載カメラなどの軽量撮像デバイスの普及に伴い、撮影時のボケが多くなってきている。多くの場合、ぼけ効果は、画像露光中のカメラの動きによって引き起こされる。本発明は、畳み込みニューラルネットワーク(CNN)を使用して、単一の入力ぼけ画像におけるフレーム内カメラの動きによるぼけ効果を推定し、除去することに焦点を当てている。動きのぼけは、シーン深度とフレーム内カメラの動きの両方と密接に結合されているため、幾何学的に忠実な方法でぼけを除去するには、構造と動きの両方を復元する必要がある。ここで、本発明の例示的実施形態は、CNNフレームワークを導入して、たった一つのぼけた画像からシーン深度とフレーム内カメラ速度を同時に復元する。さらに、例示的な発明は、CNNを訓練するために使用することができる、現実的なぼけた画像を合成する手順も導入する。最後に、例示的な実施形態は、ぼけた画像を用いたSFM(Structure-From-Motion)、ならびに、仮想現実/拡張現実(VR/AR)、ロボット工学、および自律運転などにおいて幅広い用途を有する、ぼけたビデオを用いたSLAM(Simultaneous Localization And Mapping)の目標に対する本発明の適用を実証する。
【0032】
図6は、本発明の実施形態による、ぼけ効果を補正するための例示的な処理システムのブロック/フロー図である。
【0033】
処理システムは、システムバス602を介して他の構成要素に動作可能に結合された少なくとも1つのプロセッサまたはプロセッサ装置604を含む。キャッシュ606、リードオンリーメモリ608、ランダムアクセスメモリ610、入力/出力(I/O)アダプタ620、ネットワークアダプタ630、ユーザインタフェースアダプタ640、およびディスプレイアダプタ650は、システムバス602に動作可能に結合されている。1つまたは複数のカメラ660をバス602に接続することができる。カメラ660は、訓練モジュール150およびテストモジュール160を使用することによってぼけ効果を除去するために、構造および動き認識CNN670を使用することができる。
【0034】
記憶装置622は、I/Oアダプタ620によってシステムバス602に動作可能に結合されている。記憶装置622は、ディスク記憶装置(例えば、磁気または光ディスク記憶装置)、ソリッドステート磁気装置などのいずれかとすることができる。
【0035】
トランシーバ632は、ネットワークアダプタ630によってシステムバス602に動作可能に結合されている。
【0036】
ユーザ入力装置642は、ユーザインタフェースアダプタ640によってシステムバス602に動作可能に結合されている。ユーザ入力装置642は、キーボード、マウス、キーパッド、画像キャプチャデバイス、モーションセンシングデバイス、マイクロフォン、前述のデバイスのうちの少なくとも2つの機能を組み込んだデバイスなどのうちの任意のものとすることができる。もちろん、本発明の精神を維持しながら、他のタイプの入力装置を使用することもできる。ユーザ入力装置642は、同じタイプのユーザ入力装置または異なるタイプのユーザ入力装置とすることができる。ユーザ入力装置642は、処理システムとの間で情報を入出力するために使用される。
【0037】
ディスプレイ装置652は、ディスプレイアダプタ650によってシステムバス602に動作可能に結合されている。
【0038】
もちろん、処理システムは、当業者によって容易に企図されるように、他の要素(図示せず)を含んでもよく、また、特定の要素を省略してもよい。例えば、当業者によって容易に理解されるように、様々な他の入力装置および/または出力装置を、システムの特定の実装に応じて、システムに含めることができる。例えば、様々なタイプの無線および/または有線の入力および/または出力装置を使用することができる。さらに、当業者によって容易に理解されるように、様々な構成の追加のプロセッサ、プロセッサ装置、コントローラ、メモリなども利用することができる。処理システムのこれらおよび他の変形は、本明細書で提供される本発明の教示を与えられた当業者によって容易に企図される。
【0039】
図7は、本発明の実施形態による、ぼけ効果を補正するための例示的な方法のブロック/フロー図である。
【0040】
ブロック701では、カメラから複数の画像を生成する。
【0041】
ブロック703において、鮮明な画像対応物からぼけた画像を合成して訓練データを生成し、構造および動き認識畳み込みニューラルネットワーク(CNN)を訓練する。
【0042】
ブロック705において、構造および動き認識CNNを使用することによって単一のぼけた画像からカメラの動きと深度マップを予測して、単一のぼけた画像からぼけを除去する。
【0043】
要約すれば、本発明の例示的な実施形態は、完全な6Dカメラ動作モデルを採用し、図1に描写されるような構造および動き認識ぼけレンダリングの間、より多様で現実的な合成ぼけ画像をもたらすカメラの動きおよび深度情報の両方を考慮する。図1及び図2に示すような、構造および動き認識ぼけ除去ネットワークにおけるカメラの動きおよび深度マップの同時学習における革新は、ぼけ除去においてより高い精度をもたらす。例示的な構造および動き認識ぼけ除去モジュールは、ぼけた画像/ビデオに提示されるぼけ効果を除去し、鮮明な画像/ビデオ用に設計されたSFM/SLAM方法が、図4および図5に示すようにぼけた画像/ビデオに作用することを可能にする。
【0044】
本明細書で使用されるように、用語「データ」、「コンテンツ」、「情報」および同様の用語は、種々例示的な実施形態に従って、撮像され、送信され、受信され、表示され、および/または格納されることが可能なデータを参照するように、互換的に使用することが可能である。したがって、かかる用語の使用は、開示の精神及び範囲を制限するものと解釈されるべきではない。さらに、コンピューティングデバイスが別のコンピューティングデバイスからデータを受信するように本明細書に記載されている場合、データは別のコンピューティングデバイスから直接受信することも、1つ以上の中間コンピューティングデバイス、例えば、1つ以上のサーバ、リレー、ルータ、ネットワークアクセスポイント、基地局などを介して間接的に受信することもできる。同様に、コンピューティングデバイスがデータを別のコンピューティングデバイスに送るように本明細書に記載されている場合、データは直接、別のコンピューティングデバイスに送ることができ、または、1つ以上の中間コンピューティングデバイス、例えば、1つ以上のサーバ、リレー、ルータ、ネットワークアクセスポイント、基地局などを介して間接的に送ることができる。
【0045】
ユーザとの対話を提供するために、本明細書に記載される主題の実施形態は、ユーザに情報を表示するためのディスプレイ装置、例えば、CRT(cathode ray tube)またはLCD(liquid crystal display)モニタと、キーボードと、ユーザがコンピュータに入力を提供することができるポインティングデバイス、例えば、マウスまたはトラックボールとを有するコンピュータ上で実施することができる。他の種類のデバイスも、ユーザとの対話を提供するために使用することができ、例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックとすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信することができる。
【0046】
当業者には理解されるように、本発明の態様は、システム、方法、またはコンピュータプログラム製品として実施することができる。したがって、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または本明細書では一般に「回路」、「モジュール」、「計算機」、「装置」、または「システム」と呼ばれ得るソフトウェアおよびハードウェアの態様を組み合わせた実施形態の形態をとることができる。さらに、本発明の態様は、1つまたは複数のコンピュータ可読媒体に具現化されたコンピュータプログラム製品の形態をとることができ、コンピュータ可読媒体はその媒体上に具現化されたコンピュータ可読プログラムコードを有する。
【0047】
1つまたは複数のコンピュータ可読媒体の任意の組合せを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体は、例えば、電子、磁気、光学、電磁気、赤外線、または半導体のシステム、装置、またはデバイス、あるいは前述のものの任意の適切な組合せとすることができるが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例(非網羅的なリスト)は、以下を含む。1つ以上のワイヤ、携帯用コンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、消去可能プログラマブル読出し専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、携帯用コンパクトディスク読出し専用メモリ(CD-ROM)、光データ記憶装置、磁気データ記憶装置、または前述の任意の適切な組み合わせを有する電気的接続。本文章のコンテキストでは、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによって、またはそれに関連して使用するためのプログラムを含む、またはそれを記憶することができる、任意の有形媒体であってもよい。
【0048】
コンピュータ可読信号媒体は、例えば、ベースバンドで、または搬送波の一部として、コンピュータ可読プログラムコードが組み込まれた伝搬データ信号を含むことができる。そのような伝搬信号は、電磁、光学、またはそれらの任意の適切な組み合わせを含むが、それらに限定されない、任意の様々な形態をとることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、またはデバイスによって、またはそれに関連して使用するために、プログラムを通信、伝搬、または送信することができる、任意のコンピュータ可読媒体であってもよい。
【0049】
コンピュータ可読媒体上に具現化されたプログラムコードは、無線、有線、光ファイバケーブル、RFなど、または前述のもの任意の適切な組合せを含むが、これらに限定されない、任意の適切な媒体を使用して送信され得る。
【0050】
本発明の態様に対する動作を実行するためのコンピュータプログラムコードは、Java、Smalltalk、C++等のオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語等の従来の手続き型プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで書くことができる。プログラムコードは、完全にユーザのコンピュータ上で、又は、部分的にユーザのコンピュータ上で実行されてもよく、スタンドアロンソフトウェアパッケージとして、部分的にユーザのコンピュータ上で、部分的にリモートコンピュータ上で、または完全にリモートコンピュータまたはサーバ上で実行されてもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または(例えば、インターネットサービスプロバイダを使用してインターネットを介して)外部コンピュータに接続されてもよい。
【0051】
本発明の態様を、本発明の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図および/またはブロック図を参照して以下に説明する。フローチャート図および/またはブロック図の各ブロック、ならびにフローチャート図および/またはブロック図のブロックの組合せは、コンピュータプログラム命令によって実施できることを理解されたい。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供されて、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行される命令が、フローチャートおよび/またはブロック図の1つまたは複数のブロックまたはモジュールで指定された機能/動作を実施するための手段を作成するように、マシンを生成することができる。
【0052】
これらのコンピュータプログラム命令は、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスに特定の方法で機能するように指示することができるコンピュータ可読媒体に格納することもでき、その結果、コンピュータ可読媒体に格納された命令は、フローチャートおよび/またはブロック図の1つまたは複数のブロックまたはモジュールで指定された機能/動作を実装する命令を含む製造品を生成する。
【0053】
コンピュータプログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにロードされて、一連の動作ステップがコンピュータ、他のプログラマブル装置、または他のデバイス上で実行され、コンピュータまたは他のプログラマブル装置上で実行される命令が、フローチャートおよび/またはブロック図のブロックまたはモジュールに指定された機能/動作を実装するためのプロセスを提供するように、コンピュータ実装プロセスを生成することができる。
【0054】
本明細書で使用される「プロセッサ」という用語は、例えば、CPU(central processing unit)および/または他の処理回路を含むものなど、任意の処理装置を含むことを意図している。「プロセッサ」という用語は、1つ以上の処理装置を指すことができ、処理装置に関連する様々な要素は、他の処理装置によって共有され得ることも理解されたい。
【0055】
本明細書で使用される「メモリ」という用語は、例えば、RAM、ROM、固定メモリデバイス(例えば、ハードドライブ)、リムーバブルメモリデバイス(例えば、ディスケット)、フラッシュメモリなど、プロセッサまたはCPUに関連するメモリを含むことを意図している。このようなメモリは、コンピュータ可読記憶媒体と考えることができる。
【0056】
さらに、本明細書で使用される「入力/出力装置」または「I/O装置」という語句は、例えば、処理ユニットにデータを入力するための1つまたは複数の入力装置(例えば、キーボード、マウス、スキャナなど)、および/または処理ユニットに関連する結果を提示するための1つまたは複数の出力装置(例えば、スピーカ、ディスプレイ、プリンタなど)を含むことが意図される。
【0057】
上記は、あらゆる点で例示的かつ例示的であるが、限定的ではないと理解されるべきであり、本明細書に開示される本発明の範囲は詳細な説明からではなく、むしろ特許法によって許容される全範囲に従って解釈されるような特許請求の範囲から決定されるべきである。本明細書に示され、記載された実施形態は、本発明の原理の例示にすぎず、当業者は本発明の範囲および精神から逸脱することなく、様々な修正を実施することができることを理解されたい。当業者は、本発明の範囲および精神から逸脱することなく、様々な他の特徴の組み合わせを実施することができる。このように、本発明の態様を、特許法によって要求される詳細および特殊性と共に説明してきたが、特許証によって保護されることが請求され、望まれるものは、添付の特許請求の範囲に記載されている。
図1
図2
図3
図4
図5
図6
図7