(57)【要約】【課題】時間的に連続する画像に対して機械学習によるインペイント処理を行った場合の違和感を低減する。【解決手段】画像処理装置は、機械学習によってパラメータが最適化されたモデルを用いる画像処理装置であって、時間的に連続する複数の画像を取得する画像取得手段と、欠損部を含む画像に時間的に近接する、欠損部を含まない画像から、欠損部の周辺の領域に相当する領域の部分画像を抽出する抽出手段と、抽出した部分画像を少なくとも用いてモデルのパラメータを最適化する最適化手段と、パラメータが最適化されたモデルに対して欠損部を含む画像の欠損部の周辺の領域の部分画像を入力することで、欠損部に相当する部分画像を生成する生成手段と、生成された部分画像を、欠損部を含む画像に合成する合成手段とを備えることを特徴とする。【選択図】図３
2019079114.tif 000002
【特許請求の範囲】
【請求項１】
機械学習によってパラメータが最適化されたモデルを用いる画像処理装置であって、
時間的に連続する複数の画像を取得する画像取得手段と、
欠損部を含む画像に時間的に近接する、欠損部を含まない画像から、前記欠損部の周辺の領域に相当する領域の部分画像を抽出する抽出手段と、
前記抽出した部分画像を少なくとも用いて前記モデルのパラメータを最適化する最適化手段と、
パラメータが最適化された前記モデルに対して前記欠損部を含む画像の前記欠損部の周辺の領域の部分画像を入力することで、前記欠損部に相当する部分画像を生成する生成手段と、
前記生成された部分画像を、前記欠損部を含む画像に合成する合成手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記抽出手段は、前記欠損部を含む画像の直前および直後の画像を少なくとも含む画像から、前記欠損部に相当する領域の部分画像を抽出することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記抽出手段は、前記欠損部と空間的に近接する領域の部分画像を、前記欠損部を含まない画像から抽出することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記抽出手段は、前記欠損部と同じ位置座標の部分画像を、前記欠損部を含まない画像から抽出することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記抽出手段は、抽出した前記部分画像のうち前記欠損部に相当する領域を加工した第一の部分画像と、当該欠損部を示す第二の部分画像とのペアを抽出し、
前記最適化手段は、前記ペアの部分画像を用いて前記モデルのパラメータを最適化することを特徴とする請求項１から４のいずれか一項に記載の画像処理装置。
【請求項６】
前記画像取得手段で取得される前記画像の欠損部に関する欠損部情報を取得する欠損部情報取得手段をさらに備え、
前記抽出手段は、前記欠損部情報を用いて前記部分画像を抽出することを特徴とする請求項１から５のいずれか一項に記載の画像処理装置。
【請求項７】
前記欠損部情報取得手段は、物体検出アルゴリズムを用いて事前に設定した不要物を検出し、検出した情報に基づいて生成された欠損部情報を取得することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記最適化手段は、前記モデルに対する補助的モデルをさらに用いて前記パラメータを最適化することを特徴とする請求項１から７のいずれか一項に記載の画像処理装置。
【請求項９】
前記最適化手段は、目的関数を最小化することでパラメータを最適化し、
前記目的関数は、時間的連続性を確保するための項を有することを特徴とする請求項１から８のいずれか一項に記載の画像処理装置。
【請求項１０】
前記目的関数は、前記部分画像に係る項と、学習用データの部分画像に係る項との加重和で定められる関数であることを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記最適化手段は、前記項に重み付けをすることで時間的な連続性を確保するか否かを調整することが可能であることを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記最適化手段は、所定の条件を満たすまで、学習用データのうちの一部のデータを用いて前記パラメータの更新を行い、
それぞれの更新に用いられる前記一部のデータには、前記部分画像が含まれることを特徴とする請求項１から１１のいずれか一項に記載の画像処理装置。
【請求項１３】
前記最適化手段は、前記一部のデータに含める前記部分画像の数を変えることで、時間的連続性の精度を調整することが可能であることを特徴とする請求項１２に記載の画像処理装置。
【請求項１４】
前記最適化手段は、事前学習により最適化された初期パラメータに対して、前記抽出手段で抽出された部分画像を用いることで前記パラメータを最適化することを特徴とする請求項１から１３のいずれか一項に記載の画像処理装置。
【請求項１５】
前記事前学習により最適化された初期パラメータは、前記画像取得手段で取得される画像を撮影中に供給される学習用データによって最適化されていることを特徴とする請求項１４に記載の画像処理装置。
【請求項１６】
機械学習によってパラメータが最適化されたモデルを用いる画像処理方法であって、
時間的に連続する複数の画像を取得するステップと、
欠損部を含む画像に時間的に近接する、欠損部を含まない画像から、前記欠損部の周辺の領域に相当する領域の部分画像を抽出するステップと、
前記抽出した部分画像を少なくとも用いて前記モデルのパラメータを最適化するステップと、
パラメータが最適化された前記モデルに対して前記欠損部を含む画像の前記欠損部の周辺の領域の部分画像を入力することで、前記欠損部に相当する部分画像を生成するステップと、
前記生成された部分画像を、前記欠損部を含む画像に合成するステップと
を備えることを特徴とする画像処理方法。
【請求項１７】
コンピュータを請求項１から１５のいずれか一項に記載されている各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の欠損部分を処理する画像処理の技術に関する。
【背景技術】
【０００２】
近年、機械学習（ディープラーニング）の分野において、学習用データに基づいてサンプルを生成するモデルであるＧＡＮ（Generative Adversarial Networks）の応用が広がっている。
【０００３】
非特許文献１は、ＧＡＮをインペイント処理に応用したものである。インペイント処理とは、画像の欠損部分を違和感なく埋める処理である。画像の欠損部分とは、例えば不要物により覆われている部分や、カメラのセンサーに付着したゴミやチリにより隠されている部分、あるいはアーチファクトにより本来の画像が阻害されている部分等の画像中の欠損した部分を指す。非特許文献１ではＧＡＮの仕組みを利用することより、欠損部分に違和感なく適合する画像を生成する技術が記載されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｄｅｅｐａｋ  Ｐａｔｈａｋ，  Ｐｈｉｌｉｐｐ  Ｋｒａｈｅｎｂｕｈｌ，  Ｊｅｆｆ  Ｄｏｎａｈｕｅ，  Ｔｒｅｖｏｒ  Ｄａｒｒｅｌｌ  ａｎｄ  Ａｌｅｘｅｉ  Ａ．  Ｅｆｒｏｓ．  Ｃｏｎｔｅｘｔ  Ｅｎｃｏｄｅｒｓ：  Ｆｅａｔｕｒｅ  Ｌｅａｒｎｉｎｇ  ｂｙ  Ｉｎｐａｉｎｔｉｎｇ．  Ｉｎ  ＣＶＰＲ  ２０１６．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１のインペイント技術を、時間的に連続する画像（例えば動画）へと拡張する場合、インペイント処理がされる画像とインペイント処理がされない画像との間で、画像の連続性は担保されず、違和感が発生する恐れがある。例えばインペイント処理が開始されるとともに、時間的に連続する画像（例えば動画）内の一部の領域が急に変化し、違和感が発生してしまう恐れがある。
【０００６】
本発明は、時間的に連続する画像に対して機械学習によるインペイント処理を行った場合の違和感を低減することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係る画像処理装置は、機械学習によってパラメータが最適化されたモデルを用いる画像処理装置であって、時間的に連続する複数の画像を取得する画像取得手段と、欠損部を含む画像に時間的に近接する、欠損部を含まない画像から、前記欠損部の周辺の領域に相当する領域の部分画像を抽出する抽出手段と、前記抽出した部分画像を少なくとも用いて前記モデルのパラメータを最適化する最適化手段と、パラメータが最適化された前記モデルに対して前記欠損部を含む画像の前記欠損部の周辺の領域の部分画像を入力することで、前記欠損部に相当する部分画像を生成する生成手段と、前記生成された部分画像を、前記欠損部を含む画像に合成する合成手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、時間的に連続する画像に対して機械学習によるインペイント処理を行った場合の違和感を低減することができる。
【図面の簡単な説明】
【０００９】
【図１】機械学習の基本フレームワークを示す概念図。
【図２】画像処理装置の構成を示すブロック図。
【図３】画像処理装置の機能ブロック図。
【図４】画像処理装置による処理の流れを示すフローチャート。
【図５】欠損部情報の例。
【図６】欠損周辺領域及び欠損発生に係るフレームを示す図。
【図７】学習用データを示す図。
【図８】ソース動画から学習用データをサンプルする方法を示す図。
【図９】パラメータ最適化の処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
【００１１】
＜＜実施形態１＞＞
＜機械学習の基本フレームワーク＞
実施形態を円滑に説明するため、まず、機械学習の基本フレームワークについて説明する。図１は、対応関係が明確ではないデータｘとデータｙとに関して、既知のｘから未知のｙを予測するモデルを構成する方法を説明する図である。
【００１２】
図１の学習用データ１０１は、ｘとｙとのペアの複数セットで構成されるデータである。図１では、Ｎセットのペアのデータが学習用データ１０１に含まれている。モデル１０２は、入力ｘと出力ｙとを対応付ける関数ｙ＝ｆ（ｘ；θ）によって表すことができる。機械学習では、関数ｆと、そのパラメータθとが適切に設定されれば、関数ｆにより、入力ｘから出力ｙが良好に推定できるとする。なお、そもそも因果関係が明確ではないため、関数ｆのパラメータθを極めて多くとることにより、あらゆる対応関係を実現できる余地を残すことが一般的である。モデル１０２としてはニューラルネットワークやサポートベクターマシーンなどが挙げられる。例えば、ニューラルネットワークの場合、ネットワークを構成する各ノードの数を増やすことでパラメータθを多くとることができる。モデルパラメータ最適化１０３は、モデル１０２が既知のｘから未知のｙを良好に予測できるよう、パラメータθを最適化する処理である。典型的な最適化方法としては、式（１）で与えられるＬ２ノルムを目的関数Ｌ（θ）として、この目的関数Ｌ（θ）を最小化するようパラメータθを設定する方法が挙げられる。
【００１３】
【数１】
2019079114.tif 000003
【００１４】
式（１）以外にも様々な目的関数が提案されている。目的関数に応じて機械学習による推定の特性が変わるため目的関数の設定は重要である。目的関数を最小化するようモデルパラメータの最適化１０３が終了すると、最適なモデルパラメータθ＝θ0が定まる。予測モデル１０４は、この最適なモデルパラメータθ0をモデル１０２に適用したモデルである。予測モデル１０４を用いて、既知のｘから未知のｙを予測することができる。すなわち、ｙ＝ｆ（ｘ；θ0）により、既知のｘから未知のｙを予測することが可能となる。以上が機械学習の基本フレームワークである。
【００１５】
＜画像処理装置の構成＞
図２は、本実施形態の画像処理装置２００の構成の一例を示す図である。画像処理装置２００は、ＣＰＵ（Central Processing Unit）２０１、ＲＡＭ（Random Access Memory）２０２、ＨＤＤ（Hard Disk Drive）２０３を備える。また画像処理装置２００は、バス２０４、およびインターフェース２０５を備える。ＣＰＵ２０１は、ＲＡＭ２０２やＨＤＤ２０３に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりＣＰＵ２０１は、コンピュータ装置全体の動作制御を行うと共に、上述した機械学習に関する各処理を実行または制御する。またＣＰＵ２０１は、その処理の一部をバス２０４に接続された不図示のＧＰＵ（Graphics Processing Unit）に担わせてもよい。
【００１６】
ＲＡＭ２０２は、ＨＤＤ２０３からロードされたコンピュータプログラムやデータを格納するためのエリアを有する。更にＲＡＭ２０２は、ＣＰＵ２０１が各種の処理を実行する際に用いるワークエリアを有する。このようにＲＡＭ２０２は、各種のエリアを適宜提供することができる。ＨＤＤ２０３は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。ＨＤＤ２０３には、ＯＳ（オペレーティングシステム）や、画像処理装置２００が行うものとして上述した各処理をＣＰＵ２０１に実行させるためのコンピュータプログラムやデータが保存されている。ＨＤＤ２０３に保存されているデータには、インペイント処理の対象となる画像や動画像のデータが含まれている。ＨＤＤ２０３に保存されているコンピュータプログラムやデータは、ＣＰＵ２０１による制御に従って適宜ＲＡＭ２０２にロードされ、ＣＰＵ２０１による処理対象となる。なお、ＨＤＤ２０３としては、ハードディスクドライブ装置以外にもＳＳＤ（Solid State Drive），フラッシュメモリ、ＵＳＢ（Universal Serial Bus）メモリなどのメモリ装置でもよい。さらには、インターフェース２０５を介して接続されたネットワーク２０８上に存在する不図示の記憶装置を仮想的にＨＤＤ２０３としてもよい。
【００１７】
ＣＰＵ２０１、ＲＡＭ２０２、ＨＤＤ２０３、およびインターフェース２０５は、何れもバス２０４に接続されている。インターフェース２０５には、入力装置２０６、出力装置２０７、ネットワーク２０８、及びバス２０４が接続されている。入力装置２０６は、キーボード、マウス、タッチパネル、マイク、カメラ、ジャイロセンサーなどにより構成されており、画像処理装置２００に対し、設定の変更や処理の開始を各種の様式で指示することができる。出力装置２０７は、ディスプレイ、プロジェクタ、プリンタなどにより構成されており、画像処理装置２００による処理結果を画像や文字などで表示、投影、印刷することができる。なお入力装置２０６および出力装置２０７は、タブレット端末やスマートフォンのようにタッチパネルディスプレイ等を用いることにより一体化していてもよい。ネットワーク２０８には、複数の装置が接続されており、ＣＰＵ２０１の命令に応じて画像処理装置２００に情報記憶機能、演算機能、入出力機能などＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）等の形態により提供することができる。なお、図２に示した構成は、画像処理装置２００に適用可能なコンピュータ装置の構成の一例に過ぎず、他の構成を採用してもよい。
【００１８】
＜機能ブロック図＞
図３は、画像処理装置２００の機能ブロック図の一例を示す図である。画像処理装置２００は、ソース動画取得部３０１、欠損部情報取得部３０２、欠損周辺領域抽出部３０３、学習用データ取得部３０４、非欠損領域抽出部３０５を備えている。また画像処理装置２００は、モデルデータ取得部３０６、パラメータ最適化部３０７、生成部３０８、および合成部３０９を備えている。画像処理装置２００において、ＣＰＵ２０１がＨＤＤ２０３内に格納された制御プログラムを読み込み実行することで、上記各部の機能を実現する。なお、各構成部に相当する専用の処理回路を備えるように画像処理装置２００を構成するようにしてもよい。また、専用の処理回路と制御プログラムとを併せて用いても良い。
【００１９】
ソース動画取得部３０１は、ソース動画を取得する。ソース動画は、時間的に連続する画像（各画像のことをフレームともいう）によって構成されている。ソース動画取得部３０１は、このような時間的に連続する画像を取得する。ソース動画取得部３０１が取得するデータは、必ずしも動画でなくてもよく、時間的に連続する静止画をソース画像群として取得してもよい。すなわち、ソース動画取得部３０１は、画像を取得する画像取得部として機能する。以下では、ソース動画取得部３０１は、ソース動画を取得し、このソース動画を用いた各種の処理が画像処理装置２００で行われる形態を説明する。取得されたソース動画は、欠損周辺領域抽出部３０３、非欠損領域抽出部３０５、および合成部３０９に送られる。欠損部情報取得部３０２は、欠損部情報を取得する。欠損部とはソース動画において例えば不要物により覆われている部分や、カメラのセンサーに付着したゴミやチリにより隠されている部分、あるいはアーチファクトにより本来の画像が阻害されている部分である。欠損部情報とは、ソース動画における欠損部の領域を表す情報である。取得された欠損部情報は、欠損周辺領域抽出部３０３、非欠損領域抽出部３０５、および合成部３０９に送られる。
【００２０】
欠損周辺領域抽出部３０３は、ソース動画および欠損部情報に基づいて欠損周辺領域の部分画像を抽出する。欠損周辺領域とは、欠損部の周辺の領域である。部分画像とは、フレームの中の一部の領域の画像のことである。抽出された欠損周辺領域の画像データは、生成部３０８に送られる。この欠損周辺領域の画像データが、インペイント処理を行う際の入力データ（既知のｘ）となる。詳細については後述する。
【００２１】
学習用データ取得部３０４は、学習用データを取得する。学習用データは、先に説明したように、ｘとｙとのペアの複数セットである。取得された学習用データは、パラメータ最適化部３０７に送られる。非欠損領域抽出部３０５は、ソース動画および欠損部情報に基づいて非欠損領域のデータを抽出する。抽出された非欠損領域のデータは、パラメータ最適化部３０７に送られる。非欠損領域とは、欠損部が生じているフレームの時間的に前後するフレームにおいて、欠損周辺領域に近接する位置する領域のことである。非欠損領域のデータは、この領域に関する画像データである。このように非欠損領域の部分画像は、欠損部が生じていない領域のフレーム内の一部の領域の部分画像であり、欠損部に時間的および空間的に近傍に位置する領域の画像である。詳細については後述する。モデルデータ取得部３０６は、モデルデータを取得する。取得されたモデルデータは、パラメータ最適化部３０７に送られる。
【００２２】
パラメータ最適化部３０７は、学習用データ、モデルデータ、および非欠損領域のデータとに基づいて、モデルデータで用いられるパラメータを最適化する。本実施形態では、非欠損領域のデータを用いて最適化を行うことで、インペイント処理が行われた場合の違和感を低減している。詳細については後述する。パラメータが最適化されたモデルデータは、生成部３０８に送られる。
【００２３】
生成部３０８は、欠損周辺領域の画像と、パラメータが最適化されたモデルデータとを用いて、インペイント処理が行われた画像を生成する。生成された画像は、合成部３０９に送られる。合成部３０９は、欠損部情報を用いて、ソース動画と、生成された画像とを合成し、出力動画を生成する。
【００２４】
＜フローチャート＞
図４は、本実施形態におけるフローチャートの一例を示す図である。以下、図３に示す各部によって行われる本実施形態の処理の流れを説明する。なお、本実施形態においては、ソース動画は、ＨＤＤ２０３に格納されており、また、そのソース動画の欠損部情報についてもＨＤＤ２０３に格納されている状態において処理が開始するものとする。
【００２５】
ステップＳ４０１においてソース動画取得部３０１は、ＨＤＤ２０３から、ソース動画を取得する。ステップＳ４０２において欠損部情報取得部３０２は、ＨＤＤ２０３から欠損部情報を取得する。図５は、欠損部情報の例を示す図である。図５では、欠損部を矩形で定義した場合の欠損部情報を示している。図５の欠損部情報では、ソース動画の各フレーム番号ごとに、インペイント処理の要否、欠損部のソース画像（フレーム）中における左上の座標（Ｘ，Ｙ）、矩形の幅Ｗ，および矩形の高さＨが定義されている。図５に示す例では、ソース動画のフレームｎからフレームｍまでが、インペイント処理の対象であり、さらに、フレームｎにおいて欠損部は左上の座標（５００，５００）から始まる１００×１００の領域であることが分かる。なお、図５は欠損部情報の一例であり、この形態に限られるものではない。欠損部が矩形でない場合には、かかる欠損部を定義する情報がフレーム番号毎に定義されていればよい。また、処理が必要なフレームのみの情報を含めるなど適宜情報の圧縮を行ってもよい。ＨＤＤ２０３に格納されているこのような欠損部情報は、予め手動で設定されていてもよいし、物体検出アルゴリズムを用いて事前に設定した不要物を検出し、その検出情報に基づいて設定されていてもよい。
【００２６】
ステップＳ４０３において欠損周辺領域抽出部３０３は、欠損部情報に基づいてソース動画から欠損周辺領域の画像を抽出する。抽出した欠損周辺領域の画像データは、生成部３０８に供給される。図６は、欠損周辺領域を説明する図である。画像６０１は、インペイント処理の直前のフレームｎ−１の画像である。画像６０２は、インペイント処理の対象のフレームｎの画像である。画像６０２を用いて欠損周辺領域を説明する。画像６０２は、インペイント処理が開始されるフレームに相当する。具体的には、画像６０２は、シーンに不要物（葉）が映り込んでいる。このため、欠損周辺領域抽出部３０３に送られる欠損部情報では、画像６０２は、インペイントを開始するべきフレームである、という情報が含まれている。画像６０２において、不要物（葉）を囲む実線６０３の中の領域が欠損部である。欠損周辺領域とは、この実線６０３をひとまわり拡大（例えば上下左右に５０ピクセルなど）した実線６０４と、実線６０３とで囲まれる領域のことである。欠損周辺領域には、実線６０３で囲まれる欠損部は含まれない。欠損周辺領域抽出部３０３は、欠損部情報に基づき、ソース動画から処理対象フレームの欠損周辺領域を算出し、かかる領域を抽出する。例えば欠損部情報が図５のように与えられる場合には、フレームｎについては左上（５００，５００）から縦横（１００，１００）の大きさで定義される矩形が、実線６０３に相当する。欠損周辺領域抽出部３０３は、欠損部情報として与えられた実線６０３を拡大して実線６０４を算出する。欠損周辺領域抽出部３０３は、さらに実線６０３と実線６０４とで囲まれる領域（欠損周辺領域）を抽出し、生成部３０８に供給する。なお、生成部３０８に供給される欠損周辺領域のデータ形式は、画像６０２のうち、実線６０４で囲われた領域の部分画像であり、実線６０３内部が黒く塗りつぶされた部分画像とすることが好適である。つまり、黒く塗りつぶされている欠損部を含んでいる、欠損部周辺領域に対応する部分画像とすることが好適である。後述する生成部３０８では、この既知の欠損部周辺領域を示す部分画像から、未知の欠損部（黒く塗りつぶされている部分）を示す部分画像が生成されることになる。
【００２７】
ステップＳ４０４において学習用データ取得部３０４は、ＨＤＤ２０３から学習用データを取得する。図１の学習用データ１０１の説明箇所で既に説明したように、学習用データは、データｘとデータｙとのペアの複数セットから構成される。図７は、学習用データの一例を示す図である。図７は、例示的にデータｘとデータｙとのペアを２組示している。図７の画像７０１ａ、７０２ａは、データｘの例を示す画像である。図７に示すように、本実施形態においてデータｘは、欠損周辺領域の部分画像に対応する形式のデータ（画像）である。すなわち、データｘは、黒く塗りつぶされている欠損部分を含む部分画像である。データｙは、ペアとなるデータｘの欠損部分（黒塗り部分）に違和感なくあてはまる画像７０１ｂ、７０２ｂである。図７では２組のみを例示したが、より多くの画像ペアを学習用データとして用意することが好適である。
【００２８】
図７に示すような学習用データのサンプルを生成する方法を説明する。図７に示す学習用データは、ソース動画からランダムに抽出したものである。図８は、図７に示す学習用データのサンプルの生成を説明する図である。図８は、ソース動画のうちのフレーム番号ｘで特定されるフレーム（画像）を示す図である。図７に示す学習用データは、具体的には、図８のフレーム番号ｘの画像から抽出した領域８０１ａ，８０１ｂ、８０２ａ、８０２ｂを用いている。すなわち、領域８０１ａ，８０１ｂが、学習用データの画像７０１ａ，７０１ｂに対応する。領域８０２ａ，８０２ｂが、学習用データの画像７０２ａ，７０２ｂに対応する。なお、領域８０１ａ，８０１ｂ内における領域８０２ａ，８０２ｂは、黒塗り加工されている。このようにソース動画から直接、学習用データを作成することで、ソース動画らしい違和感の少ない欠損部の推定が可能となる。しかしながら、この例に限られるものではなく、一般的な動画データを複数用意して学習用データを構成してもよい。ただし、ソース動画にはない対応関係ｘ、ｙがモデルに反映されることで、ソース動画における推定精度が低下するおそれがある。従って、ソース動画の欠損部の推定にソース動画自身を学習用データとして利用することが好適である。なお、学習用データは、ソース動画のうち、インペイント処理の対象となっていないフレームを用いることが好ましい。インペイント処理の対象となっているフレームを用いてパラメータを最適化してしまうと、インペイント処理対象の領域（図６の実線６０３内の領域）が、正解画像として学習されてしまう場合があるからである。なお、インペイント処理の対象となっているフレームであっても、インペイント処理対象の領域を除く領域の部分画像を学習用データとして用いても良い。
【００２９】
図４に戻り、フローチャートの説明を続ける。ステップＳ４０５において非欠損領域抽出部３０５は、欠損部情報を参照して、ソース動画から非欠損領域のデータを抽出する。非欠損領域のデータは、動画におけるインペイント処理を適用した場合の連続性を確保するためのデータである。図６を用いて具体的に説明する。非欠損領域抽出部３０５は、図６において欠損が発生したフレームｎの直前のフレームｎ−１から、フレームｎの実線６０３，６０４で定義される領域と同一位置の領域を抽出する。すなわち、フレームｎ−１の実線６０５，６０６で定義される領域を抽出する。つまり、欠損部が生じたフレームの直前のフレームにおいて、その後のフレームで欠損部が生じる位置と同じ位置の領域を、非欠損領域として抽出する。さらに、非欠損領域抽出部３０５は、抽出した非欠損領域のデータを、欠損部のデータおよび欠損周辺領域のデータと同等の形式に加工する。すなわち、非欠損領域抽出部３０５は、非欠損領域の部分画像を、２つの部分画像に加工する。例えば、非欠損領域抽出部３０５は、非欠損領域の部分画像を、実線６０５内の画像に相当する第二の部分画像６０７と、実線６０６内の画像であって実線６０５内を黒で塗りつぶした画像に相当する第一の部分画像６０８とに加工する。そして、非欠損領域抽出部３０５は、実線６０５内の第二の部分画像６０７をｙC1、実線６０６内の部分画像であって実線６０５内を黒で塗りつぶした第一の部分画像６０８をｘC1として、パラメータ最適化部３０７に供給する。同様に、非欠損領域抽出部３０５は、図５に示されているように、欠損部がなくなった後の最初のフレームｍ＋１についても同様の処理を行い、フレームｍ＋１からｘC2およびｙC2を作成してパラメータ最適化部３０７に供給する。このように、本実施形態では、欠損が発生しているフレームｎ〜ｍの直前および直後のフレームの部分画像を用いて、インペイント処理を行う学習モデルのパラメータを最適化する。すなわち、非欠損領域のデータとしては、既知の第一の部分画像６０８と、この既知の第一の部分画像６０８が入力された場合の正解画像（第二の部分画像６０７）とのペアのデータが、提供されることになる。従って、機械学習によって学習したモデルを用いてインペイント処理を行う際に、実線６０３が黒塗りされた実線６０４の部分画像（欠損周辺領域の部分画像）が既知の画像として入力されると、部分画像６０７が出力され易くなる。非欠損領域に関する部分画像６０８と、実線６０３が黒塗りされた実線６０４の部分画像（欠損周辺領域の部分画像）とは、略同じ画像となる可能性が高いからである。このように、本実施形態では、欠損部がないフレーム（画像）であって、欠損周辺領域の部分画像に、時間的および空間的に近い部分画像を用いて後述するパラメータ最適化部３０７によるパラメータ最適化処理が行われる。
【００３０】
なお、ここでは、非欠損領域抽出部３０５は、欠損周辺領域の部分画像に、時間的および空間的に近い部分画像を、非欠損領域の画像として抽出する形態を説明したが、これに限られない。例えば、隣接するフレーム間で大きく構図が変わっているような場合には、欠損部が生じたフレーム前後のフレームでは、欠損部と同じ位置座標の領域が、欠損部とは異なる被写体オブジェクトの領域となっている場合もあり得る。そこで、非欠損領域抽出部３０５は、ユーザの指定に基づいて非欠損領域を特定し、特定した非欠損領域を抽出してもよい。すなわち、欠損がないフレームの中からユーザが非欠損領域を指定してもよい。
【００３１】
ステップＳ４０６においてモデルデータ取得部３０６は、ＨＤＤ２０３からモデルデータを取得し、パラメータ最適化部３０７へ供給する。モデルデータは、図１を用いて説明したように、モデルパラメータθを用いてｙ＝ｆ（ｘ；θ）と表すことができる。モデルデータは入力引数をｘおよびθとし、戻り値をｙとするプログラムコードとすることが好適である。なお入力引数ｘおよびθから戻り値ｙを算出する方法は、ニューラルネットワーク（以降ＮＮ）を用いても良いしサポートベクターマシーンを用いてもよい。
【００３２】
さらにはモデルデータ取得部３０６は、モデルｙ＝ｆ（ｘ；θ）を好適に設定するための補助的モデルを取得してもよい。例えば非特許文献１に記載のＮＮは、欠損周辺領域ｘから欠損部を埋める画像ｙを生成（推定）するジェネレータＮＮの他に、ディスクリミネータＮＮを補助モデルとして有する。ディスクリミネータＮＮは、β＝ｇ（α；φ）と表すことができる。ｇはディスクリミネータＮＮを表す関数であり、引数αは欠損部を埋める画像と同サイズの画像、φはディスクリミネータＮＮのモデルパラメータである。ディスクリミネータＮＮのパラメータが好適に最適化されれば、その出力βは、画像αがジェネレータＮＮにより生成された画像である（０）か実画像（１）かを示す０〜１の判別値となる。非特許文献１ではディスクリミネータＮＮとジェネレータＮＮのパラメータをともに最適化する。具体的にはジェネレータＮＮは、ディスクリミネータＮＮを欺くように、ディスクリミネータＮＮはジェネレータＮＮに騙されないように、各々のパラメータが最適化される。
【００３３】
ステップＳ４０７においてパラメータ最適化部３０７は、モデルパラメータの最適化を行う。そして、パラメータが最適化されたモデルｙ＝ｆ（ｘ；θ0）が、生成部３０８へプログラムコードとして供給される。
【００３４】
パラメータ最適化部３０７は、非欠損領域抽出部３０５から、非欠損領域のデータ、すなわち、画像データ（ｘC1、ｙC1）、（ｘC2、ｙC2）を取得する。また、学習用データ取得部３０４から学習用データ｛ｘi、ｙi｝、モデルデータ取得部３０６からモデルｙ＝ｆ（ｘ；θ）を取得する。そして、例えば下記の式（２）で表される目的関数Ｌ（θ）に対して、パラメータθについての最適化を行い、最適値θ＝θ0を得る。
【００３５】
【数２】
2019079114.tif 000004
【００３６】
式（２）の第三項は、式（１）の説明において既に説明した通り、学習用データ｛ｘi、ｙi｝を用いて、欠損部周辺画像と欠損部を埋める画像との関係をモデルに学習させるためのＬ２ノルムの項である。
【００３７】
式（２）の第一項および第二項は、インペイントの時間的連続性を確保するための項である。つまり第一項｛ｙC1−ｆ（ｘC1；θ）｝2を最小化することで、インペイント直前の欠損周辺領域ｘC1(図６の画像６０８）をモデルに入力したとき、モデルからの出力をｙC1（図６の画像６０７）に近づける効果がある。モデルは、一般的に入力が連続であれば出力も連続的であるため、図６のフレームｎにおいて実線６０４内の欠損周辺領域がモデルに入力された場合、画像６０７に近い画像が出力として得られる。このようにしてインペイントの連続性が確保される。第二項についても同様にインペイント直後の連続性を確保する役割がある。
【００３８】
なおパラメータ最適化部３０７による目的関数の最適化の方法は、Ａｄａｍ法でも良いしＡｄａｇｒａｄ法，Ａｄａｄｅｌｔａ法でも良い。またミニバッチ学習（後述する実施形態２において説明する）によりパラメータ最適化の速度を速めても良い。
【００３９】
また、式（２）おいて、第一項及び第二項にそれぞれ重み係数をかけた下記の式（３）を目的関数としても良い。
【００４０】
【数３】
2019079114.tif 000005
【００４１】
式（３）中のｗ1、ｗ2、ｗ3は、重みである。ｗ1およびｗ2の両者とも低い値である場合は、式（３）において第三項の役割が大きくなる。この結果、時間的な不連続性は目立つが、インペイントの精度は高くなる、という効果がある。またｗ1およびｗ2が、いずれもｗ3より高い値である場合には、インペイントの時間的連続性が確保されるが、そのインペイント処理の精度は犠牲になる可能性がある。ｗ1＞ｗ2である場合には、インペイント終了時に比べて開始時の時間的連続性がより確保される。ｗ1＜ｗ2である場合には、インペイント開始時時に比べて終了時の時間的連続性がより確保される。このように、欠損が生じていないフレームの画像を用いた第一項及び第二項と、学習用データに含まれる画像を用いた第三項とを、重みｗ1、ｗ2、ｗ3によって加重和を取ることにより、インペイントの特性を調整できる。
【００４２】
なお目的関数は、第一項及び第二項に例示される時間的連続性を確保する効果を奏すればよい。つまり、インペイント処理の直前のフレームｎ−１の代わりに、そのさらに前のフレームｎ−２を用いてもよい。また、ｎ−１およびｎ−２の両方のフレームを用いて連続性を確保するための項を設定してもよい。また第三項もＬ２ノルムに限らない。例えば非特許文献１ではＬ２ノルムに加えて、モデルが出力した画像をディスクリミネータＮＮへ入力した際の出力値を用いて、モデルがディスクリミネータＮＮをして実画像と誤認せしめた度合いに関する項を導入している。本実施形態でも、そのような補助モデルを用いた項を導入してもよい。
【００４３】
ステップＳ４０８において生成部３０８は、各フレームの欠損部を埋める画像を生成する。具体的には、生成部３０８は、パラメータ最適化部３０７から、パラメータが最適化されたプログラムコードｙ＝ｆ（ｘ；θ0）を取得する。さらに生成部３０８は、欠損周辺領域抽出部３０３から欠損周辺領域のデータを取得する。取得した欠損周辺領域をγi（i＝n,..,m）とする。γの添え字ｉはフレーム番号を示す。生成部３０８は、ｙ＝ｆ（ｘ；θ0）の引数ｘとしてγiを設定することにより各フレームiの欠損部を埋める
【００４４】
【数４】
2019079114.tif 000006
【００４５】
を生成して合成部３０９に供給する。
【００４６】
ステップＳ４０９において合成部３０９は、ソース動画の欠損部を、生成部３０８で生成された画像を用いて違和感なく埋める処理を行う。すなわち、ソース動画の欠損部が含まれるフレームに対して、生成部３０８で生成された画像を合成する処理が行われる。具体的には、合成部３０９は、ソース動画取得部３０１からソース動画を取得する。そして合成部３０９は、欠損部情報取得部３０２から取得した欠損部情報に基づいて、ソース動画のフレームｉの欠損部を、生成部３０８から取得した
【００４７】
【数５】
2019079114.tif 000007
【００４８】
で置き換え、ＨＤＤ２０３へ保存し、出力装置２０７へ出力する。
【００４９】
以上のステップにより、機械学習による動画インペイントが完了する。以上説明したように、本実施形態の処理によれば、欠損部の時間的な連続性を考慮して目的関数を設定することにより、インペイント開始時、及び、終了時の違和感を低減することができる。
【００５０】
なお説明を簡単にするために図５でフレームｎからフレームｍまでの期間で欠損が発生する場合を例示したが、動画中で欠損が生じる期間は複数であることが考えられる。その際には、目的関数に連続性を確保する項を追加して、かかる期間の開始終了時の時間的な連続性を確保するべきであることは言うまでもない。例えば、欠損が生じる期間として期間Ａと期間Ｂとがあった場合において、式（２）の第１項と第２項が、期間Aに対応している場合を想定する。このとき、その式（２）に、さらに、期間Ｂに対応する項（直前フレームの項と直後フレームの項）を追加すればよい。これにより、動画中で欠損が生じる期間が複数ある場合にも対応することができる。
【００５１】
＜＜実施形態２＞＞
本実施形態では、学習用データの与え方を工夫して、最適化処理に要する処理時間を短縮しつつ、違和感の少ない動画インペイントを実現する形態を説明する。具体的には、本実施形態では、学習用データのサンプルを全て用いるのではなく、学習用データの総サンプルを、ミニバッチと呼ばれる複数のサンプルの集合に分ける。そして、ミニバッチでの処理が終了するごとに最適化の終了条件が満たされているかを判定する。このような処理により、最適化処理に要する処理時間を短縮することができる。
【００５２】
本実施形態では、ステップＳ４０７及びパラメータ最適化部３０７の処理が、実施形態１と異なる。特別な記述がない場合、他の処理は実施形態１と同じであるものとして説明する。以下、本実施形態の処理について説明する。
【００５３】
本実施形態のステップＳ４０７においても、パラメータ最適化部３０７は、モデルパラメータの最適化を行い、パラメータが最適化されたモデルｙ＝ｆ（ｘ；θ0）を生成部３０８へプログラムコードとして供給する。
【００５４】
図９は、本実施形態におけるステップＳ４０７の詳細な処理の流れを示すフローチャートである。
【００５５】
ステップＳ９０１においてパラメータ最適化部３０７は、非欠損領域抽出部３０５から非欠損領域データを取得する。すなわち、実施形態１で説明したように、画像データ（ｘC1、ｙC1）、（ｘC2、ｙC2）を取得する。ステップＳ９０２においてパラメータ最適化部３０７は、学習用データ取得部３０４から学習用データ｛ｘi、ｙi｝を取得する。ステップＳ９０３においてパラメータ最適化部３０７は、モデルデータ取得部３０６からモデルｙ＝ｆ（ｘ；θ）を取得する。
【００５６】
ステップＳ９０４においてパラメータ最適化部３０７は、最適化の終了条件を満たすか判定を行う。最適化の終了条件としてはモデルパラメータの更新回数が所定の回数に達したか否かを条件としてもよいし、後述するステップＳ９０６における目的関数が、所定の閾値以下になったか否かを条件としてもよい。前者の終了条件の場合には、遅くとも所定の時間内で最適化を終了させることができる。後者の終了条件の場合には、最適化の終了時点で所定の精度を確保することができる。
【００５７】
ステップＳ９０５においてパラメータ最適化部３０７は、ミニバッチのデータを作成する。ここで、機械学習において最適化の速度を速めるミニバッチ学習について説明する。モデルパラメータの最適化は、式（１）〜式（３）のような目的関数を計算し、目的関数が小さくなるようモデルパラメータを更新し、再び目的関数を計算する繰り返し演算によりなされる。目的関数には、個々の学習用データｘに対するモデル出力ｆ（ｘ；θ）の計算が必要となる総和項（式（１）では第一項、式（２）および式（３）では第三項）があり、総和項の計算負荷は学習用データが多くなるほど重くなる。するとモデルパラメータ更新が遅くなる結果、最適化の速度が遅くなるという問題がある。ミニバッチ学習ではこの問題を解決するため、モデル出力ｆ（ｘ；θ）の計算が必要となる総和項の計算において、学習用データの全てのサンプルを用いるのではなく、学習用データの一部のサンプルのデータを用いて総和項を計算する。例えば学習用データのサンプル総数がＮであるとして、学習用データをＫ等分した部分データＵk（ｋ＝１,．．．,Ｋ）をミニバッチと呼ぶ。具体的にＵ1を式（４）に例示する。
【００５８】
【数６】
2019079114.tif 000008
【００５９】
ミニバッチ学習では、最初のパラメータ更新では、総和項の計算にＵ1を用いる。そして、次の更新ではＵ2を用いて総和項を計算する。このようにして目的関数の計算負荷を軽減して最適化の速度を速める。
【００６０】
ところで、上記の式（４）は、一般的なミニバッチを説明する式である。本実施形態におけるステップＳ９０５で作成するミニバッチは、前述の式（４）とは異なり、式（５）で表されるよう作成される。
【００６１】
【数７】
2019079114.tif 000009
【００６２】
つまり、本実施形態では、すべて、あるいは多くのミニバッチにおいて、欠損フレームの直前直後の画像データ（ｘC1、ｙC1）、（ｘC2、ｙC2）を含ませる。つまり、それぞれのミニバッチには、欠損部がない画像であって、欠損周辺領域の部分画像に、時間的および空間的に近い部分画像が含ませる。これにより、パラメータ更新には固定サンプル（ｘC1、ｙC1）、（ｘC2、ｙC2）が反映され、モデルｆをして、ｙC1〜ｆ（ｘC1；θ）、ｙC2〜ｆ（ｘC2；θ）たらしめる効果がある。すなわち、入力データとしてｘC1がモデルｆに入力された場合に、ｙC1と同等のデータが出力データとして出力されることが期待できる。ｙC2についても同様である。なお、ミニバッチに含ませる画像（ｘC1、ｙC1）、（ｘC2、ｙC2）のサンプル数は、それぞれ１組ずつとは限らない。例えば画像（ｘC1、ｙC1）、（ｘC2、ｙC2）のセットを複数セット含ませてよい。このように、画像（ｘC1、ｙC1）、（ｘC2、ｙC2）のセットを多く含ませることにより、目的関数の総和項における影響を高め、ｙC1〜ｆ（ｘC1；θ）、ｙC2〜ｆ（ｘC2；θ）となる効果をより一層高めることができる。すなわち、時間的連続性と欠損部を埋める精度を高めることができる。
【００６３】
ステップＳ９０６においてパラメータ最適化部３０７は、目的関数を設定する。前回のステップＳ９０６とは異なるバッチを用いて目的関数における総和項を計算する事が好適である。
【００６４】
ステップＳ９０７においてパラメータ最適化部３０７は、目的関数を最小化するようモデルパラメータを更新する。そして、ステップＳ９０４の判定処理に処理を進める。以上が本実施形態におけるパラメータの最適化処理である。
【００６５】
以上説明したように、本実施形態では、モデルパラメータ最適化において、ミニバッチの全て、あるいは、ミニバッチのうちの所定数以上のミニバッチに、欠損フレームの直前直後の画像を用いる。これにより、ｙC1〜ｆ（ｘC1；θ）、ｙC2〜ｆ（ｘC2；θ）となるようモデルを構成し、インペイントの連続性を確保することができる。また、最適化処理に要する時間を短縮することができる。
【００６６】
＜＜実施形態３＞＞
本実施形態では、違和感の少ない動画インペイントを、事前学習結果を活かして、より迅速に実現する方法を述べる。すなわち、パラメータの最適化処理を短縮する方法を説明する。
【００６７】
本実施形態では、モデルデータの定義、ステップＳ４０６におけるモデルデータ取得部３０６の処理、およびステップＳ４０７におけるパラメータ最適化部３０７の処理が実施形態１とは異なる。特別な記述がない場合、他の処理は実施形態１と同じであるものとして説明する。以下、その動作について説明する。
【００６８】
ステップＳ４０６においてモデルデータ取得部３０６は、ＨＤＤ２０３からモデルデータを取得し、パラメータ最適化部３０７へ供給する。本実施形態におけるモデルデータは、モデルパラメータθを用いてｙ＝ｆ（ｘ；θ）で表せるプログラムコードと、初期モデルパラメータとの２要素からなる。本実施形態において、初期モデルパラメータは、インペイントの時間的連続性を考慮しないで最適化されたモデルパラメータである。例えば、式（１）のようなモデルパラメータである。すなわち、欠損を有するフレームの直前直後の画像を内包しない目的関数を用いて最適化されたモデルパラメータである。この初期モデルパラメータでは、インペイントの時間的連続性は確保されない。しかし、この初期モデルパラメータは、例えば式（２）および式（３）の第三項については、最適化がすでに行われていると考えられる。
【００６９】
ステップＳ４０７においてパラメータ最適化部３０７は、モデルパラメータの最適化を行い、パラメータが最適化されたモデルｙ＝ｆ（ｘ；θ0）を生成部３０８へプログラムコードとして供給する。パラメータ最適化部３０７は、モデルパラメータの初期値としてモデルデータ取得部３０６から供給される初期モデルパラメータを設定する。以降の処理については、実施形態１と同様である。初期モデルパラメータは前述のとおり、例えば式（２）および式（３）の第三項については、最適化がすでに行われていると考えられる。従って、例えば式（２）および式（３）の第一項および第二項について追加的に最適化を行うだけでよく、最適化の速度が速まる。以上が本実施形態におけるパラメータ最適化処理である。
【００７０】
本実施形態を用いると、例えば動画をリアルタイムで撮影中に、学習用データを供給してモデルパラメータを最適化し、初期パラメータを算出しておき、後々、欠損部をインペイントするために追加学習を行う、といった形態も可能である。このような形態によれば、迅速かつ違和感の少ない動画インペイントを実現できる。なお、リアルタイムに学習用データを供給する際には、撮影開始のフレームから学習用データとして利用可能になるため、撮影開始時のフレームから学習用データが多くサンプリングされる可能性がある。そのような事が無いように、例えば各フレームからのサンプリング数を記録するなどして、フレーム毎に偏りが学習用データを供給することが好適である。
【００７１】
また、本実施形態によれば、例えば、インペイント終了後、追加的に欠損部をインペイントする場合においても新たな欠損部の動画インペイントを、違和感が少なく迅速に行うことができる。以上説明したように、本実施形態によれば、事前学習した結果を利用して、違和感の少ない動画インペイントをより迅速に実現することができる。
【００７２】
＜＜その他の実施形態＞＞
上述した実施形態においては、ソース動画に対応するモデルデータは、１つのモデルデータを用いる形態を説明した。欠損部が複数ある場合においても、パラメータが最適化されたこの１つのモデルデータを用いて欠損部の画像を生成することは可能である。
【００７３】
一方、欠損部に応じたモデルデータをそれぞれ用意し、それぞれの欠損部に対してパラメータを最適化させたモデルデータを用いてもよい。例えば、欠損が生じる期間として期間Ａと期間Ｂとがあった場合に、期間Ａ用にパラメータを最適化させたモデルと、期間Ｂ用にパラメータを最適化させたモデルとを、別々に使用してもよい。複数のモデルをそれぞれ用意する場合には、最適化に要する時間も単純に考えれば倍になる。しかしながら、例えば、期間Ａと期間Ｂの相関があることがすでに分かっている場合などにおいては、実施形態３で説明した事前学習に対する追加学習の処理によって最適化時間を低減させることは可能である。このためインペイントの処理精度を向上させつつ、最適化処理に要する増加時間を低減することもできる。
【００７４】
また、上述した実施形態においては、各フレームに欠損部が１つ含まれる形態を例に挙げて説明したが、これに限られるものではなく、１つのフレーム内に複数の欠損部がある場合にも適用可能である。１つのフレーム内に欠損部が複数ある場合には、複数の欠損部に対応する項を式（２）および式（３）に追加すればよい。
【００７５】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2019079114.tif 000010
【図２】
2019079114.tif 000011
【図３】
2019079114.tif 000012
【図４】
2019079114.tif 000013
【図５】
2019079114.tif 000014
【図６】
2019079114.tif 000015
【図７】
2019079114.tif 000016
【図８】
2019079114.tif 000017
【図９】
2019079114.tif 000018