JP2019079114A - 画像処理装置、画像処理方法およびプログラム - Google Patents

画像処理装置、画像処理方法およびプログラム Download PDF

Info

Publication number
JP2019079114A
JP2019079114A JP2017203536A JP2017203536A JP2019079114A JP 2019079114 A JP2019079114 A JP 2019079114A JP 2017203536 A JP2017203536 A JP 2017203536A JP 2017203536 A JP2017203536 A JP 2017203536A JP 2019079114 A JP2019079114 A JP 2019079114A
Authority
JP
Japan
Prior art keywords
image
partial
defect
model
partial image
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
Application number
JP2017203536A
Other languages
English (en)
Inventor
信彦 田村
Nobuhiko Tamura
信彦 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017203536A priority Critical patent/JP2019079114A/ja
Publication of JP2019079114A publication Critical patent/JP2019079114A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)

Abstract

【課題】時間的に連続する画像に対して機械学習によるインペイント処理を行った場合の違和感を低減する。【解決手段】画像処理装置は、機械学習によってパラメータが最適化されたモデルを用いる画像処理装置であって、時間的に連続する複数の画像を取得する画像取得手段と、欠損部を含む画像に時間的に近接する、欠損部を含まない画像から、欠損部の周辺の領域に相当する領域の部分画像を抽出する抽出手段と、抽出した部分画像を少なくとも用いてモデルのパラメータを最適化する最適化手段と、パラメータが最適化されたモデルに対して欠損部を含む画像の欠損部の周辺の領域の部分画像を入力することで、欠損部に相当する部分画像を生成する生成手段と、生成された部分画像を、欠損部を含む画像に合成する合成手段とを備えることを特徴とする。【選択図】図3

Description

本発明は、画像の欠損部分を処理する画像処理の技術に関する。
近年、機械学習(ディープラーニング)の分野において、学習用データに基づいてサンプルを生成するモデルであるGAN(Generative Adversarial Networks)の応用が広がっている。
非特許文献1は、GANをインペイント処理に応用したものである。インペイント処理とは、画像の欠損部分を違和感なく埋める処理である。画像の欠損部分とは、例えば不要物により覆われている部分や、カメラのセンサーに付着したゴミやチリにより隠されている部分、あるいはアーチファクトにより本来の画像が阻害されている部分等の画像中の欠損した部分を指す。非特許文献1ではGANの仕組みを利用することより、欠損部分に違和感なく適合する画像を生成する技術が記載されている。
Deepak Pathak, Philipp Krahenbuhl, Jeff Donahue, Trevor Darrell and Alexei A. Efros. Context Encoders: Feature Learning by Inpainting. In CVPR 2016.
非特許文献1のインペイント技術を、時間的に連続する画像(例えば動画)へと拡張する場合、インペイント処理がされる画像とインペイント処理がされない画像との間で、画像の連続性は担保されず、違和感が発生する恐れがある。例えばインペイント処理が開始されるとともに、時間的に連続する画像(例えば動画)内の一部の領域が急に変化し、違和感が発生してしまう恐れがある。
本発明は、時間的に連続する画像に対して機械学習によるインペイント処理を行った場合の違和感を低減することを目的とする。
本発明の一態様に係る画像処理装置は、機械学習によってパラメータが最適化されたモデルを用いる画像処理装置であって、時間的に連続する複数の画像を取得する画像取得手段と、欠損部を含む画像に時間的に近接する、欠損部を含まない画像から、前記欠損部の周辺の領域に相当する領域の部分画像を抽出する抽出手段と、前記抽出した部分画像を少なくとも用いて前記モデルのパラメータを最適化する最適化手段と、パラメータが最適化された前記モデルに対して前記欠損部を含む画像の前記欠損部の周辺の領域の部分画像を入力することで、前記欠損部に相当する部分画像を生成する生成手段と、前記生成された部分画像を、前記欠損部を含む画像に合成する合成手段とを備えることを特徴とする。
本発明によれば、時間的に連続する画像に対して機械学習によるインペイント処理を行った場合の違和感を低減することができる。
機械学習の基本フレームワークを示す概念図。 画像処理装置の構成を示すブロック図。 画像処理装置の機能ブロック図。 画像処理装置による処理の流れを示すフローチャート。 欠損部情報の例。 欠損周辺領域及び欠損発生に係るフレームを示す図。 学習用データを示す図。 ソース動画から学習用データをサンプルする方法を示す図。 パラメータ最適化の処理の流れを示すフローチャート。
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施形態は本発明を限定するものではなく、また、本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成については、同じ符号を付して説明する。
<<実施形態1>>
<機械学習の基本フレームワーク>
実施形態を円滑に説明するため、まず、機械学習の基本フレームワークについて説明する。図1は、対応関係が明確ではないデータxとデータyとに関して、既知のxから未知のyを予測するモデルを構成する方法を説明する図である。
図1の学習用データ101は、xとyとのペアの複数セットで構成されるデータである。図1では、Nセットのペアのデータが学習用データ101に含まれている。モデル102は、入力xと出力yとを対応付ける関数y=f(x;θ)によって表すことができる。機械学習では、関数fと、そのパラメータθとが適切に設定されれば、関数fにより、入力xから出力yが良好に推定できるとする。なお、そもそも因果関係が明確ではないため、関数fのパラメータθを極めて多くとることにより、あらゆる対応関係を実現できる余地を残すことが一般的である。モデル102としてはニューラルネットワークやサポートベクターマシーンなどが挙げられる。例えば、ニューラルネットワークの場合、ネットワークを構成する各ノードの数を増やすことでパラメータθを多くとることができる。モデルパラメータ最適化103は、モデル102が既知のxから未知のyを良好に予測できるよう、パラメータθを最適化する処理である。典型的な最適化方法としては、式(1)で与えられるL2ノルムを目的関数L(θ)として、この目的関数L(θ)を最小化するようパラメータθを設定する方法が挙げられる。
Figure 2019079114
式(1)以外にも様々な目的関数が提案されている。目的関数に応じて機械学習による推定の特性が変わるため目的関数の設定は重要である。目的関数を最小化するようモデルパラメータの最適化103が終了すると、最適なモデルパラメータθ=θ0が定まる。予測モデル104は、この最適なモデルパラメータθ0をモデル102に適用したモデルである。予測モデル104を用いて、既知のxから未知のyを予測することができる。すなわち、y=f(x;θ0)により、既知のxから未知のyを予測することが可能となる。以上が機械学習の基本フレームワークである。
<画像処理装置の構成>
図2は、本実施形態の画像処理装置200の構成の一例を示す図である。画像処理装置200は、CPU(Central Processing Unit)201、RAM(Random Access Memory)202、HDD(Hard Disk Drive)203を備える。また画像処理装置200は、バス204、およびインターフェース205を備える。CPU201は、RAM202やHDD203に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU201は、コンピュータ装置全体の動作制御を行うと共に、上述した機械学習に関する各処理を実行または制御する。またCPU201は、その処理の一部をバス204に接続された不図示のGPU(Graphics Processing Unit)に担わせてもよい。
RAM202は、HDD203からロードされたコンピュータプログラムやデータを格納するためのエリアを有する。更にRAM202は、CPU201が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM202は、各種のエリアを適宜提供することができる。HDD203は、ハードディスクドライブ装置に代表される大容量情報記憶装置である。HDD203には、OS(オペレーティングシステム)や、画像処理装置200が行うものとして上述した各処理をCPU201に実行させるためのコンピュータプログラムやデータが保存されている。HDD203に保存されているデータには、インペイント処理の対象となる画像や動画像のデータが含まれている。HDD203に保存されているコンピュータプログラムやデータは、CPU201による制御に従って適宜RAM202にロードされ、CPU201による処理対象となる。なお、HDD203としては、ハードディスクドライブ装置以外にもSSD(Solid State Drive),フラッシュメモリ、USB(Universal Serial Bus)メモリなどのメモリ装置でもよい。さらには、インターフェース205を介して接続されたネットワーク208上に存在する不図示の記憶装置を仮想的にHDD203としてもよい。
CPU201、RAM202、HDD203、およびインターフェース205は、何れもバス204に接続されている。インターフェース205には、入力装置206、出力装置207、ネットワーク208、及びバス204が接続されている。入力装置206は、キーボード、マウス、タッチパネル、マイク、カメラ、ジャイロセンサーなどにより構成されており、画像処理装置200に対し、設定の変更や処理の開始を各種の様式で指示することができる。出力装置207は、ディスプレイ、プロジェクタ、プリンタなどにより構成されており、画像処理装置200による処理結果を画像や文字などで表示、投影、印刷することができる。なお入力装置206および出力装置207は、タブレット端末やスマートフォンのようにタッチパネルディスプレイ等を用いることにより一体化していてもよい。ネットワーク208には、複数の装置が接続されており、CPU201の命令に応じて画像処理装置200に情報記憶機能、演算機能、入出力機能などSaaS(Software as a Service)等の形態により提供することができる。なお、図2に示した構成は、画像処理装置200に適用可能なコンピュータ装置の構成の一例に過ぎず、他の構成を採用してもよい。
<機能ブロック図>
図3は、画像処理装置200の機能ブロック図の一例を示す図である。画像処理装置200は、ソース動画取得部301、欠損部情報取得部302、欠損周辺領域抽出部303、学習用データ取得部304、非欠損領域抽出部305を備えている。また画像処理装置200は、モデルデータ取得部306、パラメータ最適化部307、生成部308、および合成部309を備えている。画像処理装置200において、CPU201がHDD203内に格納された制御プログラムを読み込み実行することで、上記各部の機能を実現する。なお、各構成部に相当する専用の処理回路を備えるように画像処理装置200を構成するようにしてもよい。また、専用の処理回路と制御プログラムとを併せて用いても良い。
ソース動画取得部301は、ソース動画を取得する。ソース動画は、時間的に連続する画像(各画像のことをフレームともいう)によって構成されている。ソース動画取得部301は、このような時間的に連続する画像を取得する。ソース動画取得部301が取得するデータは、必ずしも動画でなくてもよく、時間的に連続する静止画をソース画像群として取得してもよい。すなわち、ソース動画取得部301は、画像を取得する画像取得部として機能する。以下では、ソース動画取得部301は、ソース動画を取得し、このソース動画を用いた各種の処理が画像処理装置200で行われる形態を説明する。取得されたソース動画は、欠損周辺領域抽出部303、非欠損領域抽出部305、および合成部309に送られる。欠損部情報取得部302は、欠損部情報を取得する。欠損部とはソース動画において例えば不要物により覆われている部分や、カメラのセンサーに付着したゴミやチリにより隠されている部分、あるいはアーチファクトにより本来の画像が阻害されている部分である。欠損部情報とは、ソース動画における欠損部の領域を表す情報である。取得された欠損部情報は、欠損周辺領域抽出部303、非欠損領域抽出部305、および合成部309に送られる。
欠損周辺領域抽出部303は、ソース動画および欠損部情報に基づいて欠損周辺領域の部分画像を抽出する。欠損周辺領域とは、欠損部の周辺の領域である。部分画像とは、フレームの中の一部の領域の画像のことである。抽出された欠損周辺領域の画像データは、生成部308に送られる。この欠損周辺領域の画像データが、インペイント処理を行う際の入力データ(既知のx)となる。詳細については後述する。
学習用データ取得部304は、学習用データを取得する。学習用データは、先に説明したように、xとyとのペアの複数セットである。取得された学習用データは、パラメータ最適化部307に送られる。非欠損領域抽出部305は、ソース動画および欠損部情報に基づいて非欠損領域のデータを抽出する。抽出された非欠損領域のデータは、パラメータ最適化部307に送られる。非欠損領域とは、欠損部が生じているフレームの時間的に前後するフレームにおいて、欠損周辺領域に近接する位置する領域のことである。非欠損領域のデータは、この領域に関する画像データである。このように非欠損領域の部分画像は、欠損部が生じていない領域のフレーム内の一部の領域の部分画像であり、欠損部に時間的および空間的に近傍に位置する領域の画像である。詳細については後述する。モデルデータ取得部306は、モデルデータを取得する。取得されたモデルデータは、パラメータ最適化部307に送られる。
パラメータ最適化部307は、学習用データ、モデルデータ、および非欠損領域のデータとに基づいて、モデルデータで用いられるパラメータを最適化する。本実施形態では、非欠損領域のデータを用いて最適化を行うことで、インペイント処理が行われた場合の違和感を低減している。詳細については後述する。パラメータが最適化されたモデルデータは、生成部308に送られる。
生成部308は、欠損周辺領域の画像と、パラメータが最適化されたモデルデータとを用いて、インペイント処理が行われた画像を生成する。生成された画像は、合成部309に送られる。合成部309は、欠損部情報を用いて、ソース動画と、生成された画像とを合成し、出力動画を生成する。
<フローチャート>
図4は、本実施形態におけるフローチャートの一例を示す図である。以下、図3に示す各部によって行われる本実施形態の処理の流れを説明する。なお、本実施形態においては、ソース動画は、HDD203に格納されており、また、そのソース動画の欠損部情報についてもHDD203に格納されている状態において処理が開始するものとする。
ステップS401においてソース動画取得部301は、HDD203から、ソース動画を取得する。ステップS402において欠損部情報取得部302は、HDD203から欠損部情報を取得する。図5は、欠損部情報の例を示す図である。図5では、欠損部を矩形で定義した場合の欠損部情報を示している。図5の欠損部情報では、ソース動画の各フレーム番号ごとに、インペイント処理の要否、欠損部のソース画像(フレーム)中における左上の座標(X,Y)、矩形の幅W,および矩形の高さHが定義されている。図5に示す例では、ソース動画のフレームnからフレームmまでが、インペイント処理の対象であり、さらに、フレームnにおいて欠損部は左上の座標(500,500)から始まる100×100の領域であることが分かる。なお、図5は欠損部情報の一例であり、この形態に限られるものではない。欠損部が矩形でない場合には、かかる欠損部を定義する情報がフレーム番号毎に定義されていればよい。また、処理が必要なフレームのみの情報を含めるなど適宜情報の圧縮を行ってもよい。HDD203に格納されているこのような欠損部情報は、予め手動で設定されていてもよいし、物体検出アルゴリズムを用いて事前に設定した不要物を検出し、その検出情報に基づいて設定されていてもよい。
ステップS403において欠損周辺領域抽出部303は、欠損部情報に基づいてソース動画から欠損周辺領域の画像を抽出する。抽出した欠損周辺領域の画像データは、生成部308に供給される。図6は、欠損周辺領域を説明する図である。画像601は、インペイント処理の直前のフレームn−1の画像である。画像602は、インペイント処理の対象のフレームnの画像である。画像602を用いて欠損周辺領域を説明する。画像602は、インペイント処理が開始されるフレームに相当する。具体的には、画像602は、シーンに不要物(葉)が映り込んでいる。このため、欠損周辺領域抽出部303に送られる欠損部情報では、画像602は、インペイントを開始するべきフレームである、という情報が含まれている。画像602において、不要物(葉)を囲む実線603の中の領域が欠損部である。欠損周辺領域とは、この実線603をひとまわり拡大(例えば上下左右に50ピクセルなど)した実線604と、実線603とで囲まれる領域のことである。欠損周辺領域には、実線603で囲まれる欠損部は含まれない。欠損周辺領域抽出部303は、欠損部情報に基づき、ソース動画から処理対象フレームの欠損周辺領域を算出し、かかる領域を抽出する。例えば欠損部情報が図5のように与えられる場合には、フレームnについては左上(500,500)から縦横(100,100)の大きさで定義される矩形が、実線603に相当する。欠損周辺領域抽出部303は、欠損部情報として与えられた実線603を拡大して実線604を算出する。欠損周辺領域抽出部303は、さらに実線603と実線604とで囲まれる領域(欠損周辺領域)を抽出し、生成部308に供給する。なお、生成部308に供給される欠損周辺領域のデータ形式は、画像602のうち、実線604で囲われた領域の部分画像であり、実線603内部が黒く塗りつぶされた部分画像とすることが好適である。つまり、黒く塗りつぶされている欠損部を含んでいる、欠損部周辺領域に対応する部分画像とすることが好適である。後述する生成部308では、この既知の欠損部周辺領域を示す部分画像から、未知の欠損部(黒く塗りつぶされている部分)を示す部分画像が生成されることになる。
ステップS404において学習用データ取得部304は、HDD203から学習用データを取得する。図1の学習用データ101の説明箇所で既に説明したように、学習用データは、データxとデータyとのペアの複数セットから構成される。図7は、学習用データの一例を示す図である。図7は、例示的にデータxとデータyとのペアを2組示している。図7の画像701a、702aは、データxの例を示す画像である。図7に示すように、本実施形態においてデータxは、欠損周辺領域の部分画像に対応する形式のデータ(画像)である。すなわち、データxは、黒く塗りつぶされている欠損部分を含む部分画像である。データyは、ペアとなるデータxの欠損部分(黒塗り部分)に違和感なくあてはまる画像701b、702bである。図7では2組のみを例示したが、より多くの画像ペアを学習用データとして用意することが好適である。
図7に示すような学習用データのサンプルを生成する方法を説明する。図7に示す学習用データは、ソース動画からランダムに抽出したものである。図8は、図7に示す学習用データのサンプルの生成を説明する図である。図8は、ソース動画のうちのフレーム番号xで特定されるフレーム(画像)を示す図である。図7に示す学習用データは、具体的には、図8のフレーム番号xの画像から抽出した領域801a,801b、802a、802bを用いている。すなわち、領域801a,801bが、学習用データの画像701a,701bに対応する。領域802a,802bが、学習用データの画像702a,702bに対応する。なお、領域801a,801b内における領域802a,802bは、黒塗り加工されている。このようにソース動画から直接、学習用データを作成することで、ソース動画らしい違和感の少ない欠損部の推定が可能となる。しかしながら、この例に限られるものではなく、一般的な動画データを複数用意して学習用データを構成してもよい。ただし、ソース動画にはない対応関係x、yがモデルに反映されることで、ソース動画における推定精度が低下するおそれがある。従って、ソース動画の欠損部の推定にソース動画自身を学習用データとして利用することが好適である。なお、学習用データは、ソース動画のうち、インペイント処理の対象となっていないフレームを用いることが好ましい。インペイント処理の対象となっているフレームを用いてパラメータを最適化してしまうと、インペイント処理対象の領域(図6の実線603内の領域)が、正解画像として学習されてしまう場合があるからである。なお、インペイント処理の対象となっているフレームであっても、インペイント処理対象の領域を除く領域の部分画像を学習用データとして用いても良い。
図4に戻り、フローチャートの説明を続ける。ステップS405において非欠損領域抽出部305は、欠損部情報を参照して、ソース動画から非欠損領域のデータを抽出する。非欠損領域のデータは、動画におけるインペイント処理を適用した場合の連続性を確保するためのデータである。図6を用いて具体的に説明する。非欠損領域抽出部305は、図6において欠損が発生したフレームnの直前のフレームn−1から、フレームnの実線603,604で定義される領域と同一位置の領域を抽出する。すなわち、フレームn−1の実線605,606で定義される領域を抽出する。つまり、欠損部が生じたフレームの直前のフレームにおいて、その後のフレームで欠損部が生じる位置と同じ位置の領域を、非欠損領域として抽出する。さらに、非欠損領域抽出部305は、抽出した非欠損領域のデータを、欠損部のデータおよび欠損周辺領域のデータと同等の形式に加工する。すなわち、非欠損領域抽出部305は、非欠損領域の部分画像を、2つの部分画像に加工する。例えば、非欠損領域抽出部305は、非欠損領域の部分画像を、実線605内の画像に相当する第二の部分画像607と、実線606内の画像であって実線605内を黒で塗りつぶした画像に相当する第一の部分画像608とに加工する。そして、非欠損領域抽出部305は、実線605内の第二の部分画像607をyC1、実線606内の部分画像であって実線605内を黒で塗りつぶした第一の部分画像608をxC1として、パラメータ最適化部307に供給する。同様に、非欠損領域抽出部305は、図5に示されているように、欠損部がなくなった後の最初のフレームm+1についても同様の処理を行い、フレームm+1からxC2およびyC2を作成してパラメータ最適化部307に供給する。このように、本実施形態では、欠損が発生しているフレームn〜mの直前および直後のフレームの部分画像を用いて、インペイント処理を行う学習モデルのパラメータを最適化する。すなわち、非欠損領域のデータとしては、既知の第一の部分画像608と、この既知の第一の部分画像608が入力された場合の正解画像(第二の部分画像607)とのペアのデータが、提供されることになる。従って、機械学習によって学習したモデルを用いてインペイント処理を行う際に、実線603が黒塗りされた実線604の部分画像(欠損周辺領域の部分画像)が既知の画像として入力されると、部分画像607が出力され易くなる。非欠損領域に関する部分画像608と、実線603が黒塗りされた実線604の部分画像(欠損周辺領域の部分画像)とは、略同じ画像となる可能性が高いからである。このように、本実施形態では、欠損部がないフレーム(画像)であって、欠損周辺領域の部分画像に、時間的および空間的に近い部分画像を用いて後述するパラメータ最適化部307によるパラメータ最適化処理が行われる。
なお、ここでは、非欠損領域抽出部305は、欠損周辺領域の部分画像に、時間的および空間的に近い部分画像を、非欠損領域の画像として抽出する形態を説明したが、これに限られない。例えば、隣接するフレーム間で大きく構図が変わっているような場合には、欠損部が生じたフレーム前後のフレームでは、欠損部と同じ位置座標の領域が、欠損部とは異なる被写体オブジェクトの領域となっている場合もあり得る。そこで、非欠損領域抽出部305は、ユーザの指定に基づいて非欠損領域を特定し、特定した非欠損領域を抽出してもよい。すなわち、欠損がないフレームの中からユーザが非欠損領域を指定してもよい。
ステップS406においてモデルデータ取得部306は、HDD203からモデルデータを取得し、パラメータ最適化部307へ供給する。モデルデータは、図1を用いて説明したように、モデルパラメータθを用いてy=f(x;θ)と表すことができる。モデルデータは入力引数をxおよびθとし、戻り値をyとするプログラムコードとすることが好適である。なお入力引数xおよびθから戻り値yを算出する方法は、ニューラルネットワーク(以降NN)を用いても良いしサポートベクターマシーンを用いてもよい。
さらにはモデルデータ取得部306は、モデルy=f(x;θ)を好適に設定するための補助的モデルを取得してもよい。例えば非特許文献1に記載のNNは、欠損周辺領域xから欠損部を埋める画像yを生成(推定)するジェネレータNNの他に、ディスクリミネータNNを補助モデルとして有する。ディスクリミネータNNは、β=g(α;φ)と表すことができる。gはディスクリミネータNNを表す関数であり、引数αは欠損部を埋める画像と同サイズの画像、φはディスクリミネータNNのモデルパラメータである。ディスクリミネータNNのパラメータが好適に最適化されれば、その出力βは、画像αがジェネレータNNにより生成された画像である(0)か実画像(1)かを示す0〜1の判別値となる。非特許文献1ではディスクリミネータNNとジェネレータNNのパラメータをともに最適化する。具体的にはジェネレータNNは、ディスクリミネータNNを欺くように、ディスクリミネータNNはジェネレータNNに騙されないように、各々のパラメータが最適化される。
ステップS407においてパラメータ最適化部307は、モデルパラメータの最適化を行う。そして、パラメータが最適化されたモデルy=f(x;θ0)が、生成部308へプログラムコードとして供給される。
パラメータ最適化部307は、非欠損領域抽出部305から、非欠損領域のデータ、すなわち、画像データ(xC1、yC1)、(xC2、yC2)を取得する。また、学習用データ取得部304から学習用データ{xi、yi}、モデルデータ取得部306からモデルy=f(x;θ)を取得する。そして、例えば下記の式(2)で表される目的関数L(θ)に対して、パラメータθについての最適化を行い、最適値θ=θ0を得る。
Figure 2019079114
式(2)の第三項は、式(1)の説明において既に説明した通り、学習用データ{xi、yi}を用いて、欠損部周辺画像と欠損部を埋める画像との関係をモデルに学習させるためのL2ノルムの項である。
式(2)の第一項および第二項は、インペイントの時間的連続性を確保するための項である。つまり第一項{yC1−f(xC1;θ)}2を最小化することで、インペイント直前の欠損周辺領域xC1(図6の画像608)をモデルに入力したとき、モデルからの出力をyC1(図6の画像607)に近づける効果がある。モデルは、一般的に入力が連続であれば出力も連続的であるため、図6のフレームnにおいて実線604内の欠損周辺領域がモデルに入力された場合、画像607に近い画像が出力として得られる。このようにしてインペイントの連続性が確保される。第二項についても同様にインペイント直後の連続性を確保する役割がある。
なおパラメータ最適化部307による目的関数の最適化の方法は、Adam法でも良いしAdagrad法,Adadelta法でも良い。またミニバッチ学習(後述する実施形態2において説明する)によりパラメータ最適化の速度を速めても良い。
また、式(2)おいて、第一項及び第二項にそれぞれ重み係数をかけた下記の式(3)を目的関数としても良い。
Figure 2019079114
式(3)中のw1、w2、w3は、重みである。w1およびw2の両者とも低い値である場合は、式(3)において第三項の役割が大きくなる。この結果、時間的な不連続性は目立つが、インペイントの精度は高くなる、という効果がある。またw1およびw2が、いずれもw3より高い値である場合には、インペイントの時間的連続性が確保されるが、そのインペイント処理の精度は犠牲になる可能性がある。w1>w2である場合には、インペイント終了時に比べて開始時の時間的連続性がより確保される。w1<w2である場合には、インペイント開始時時に比べて終了時の時間的連続性がより確保される。このように、欠損が生じていないフレームの画像を用いた第一項及び第二項と、学習用データに含まれる画像を用いた第三項とを、重みw1、w2、w3によって加重和を取ることにより、インペイントの特性を調整できる。
なお目的関数は、第一項及び第二項に例示される時間的連続性を確保する効果を奏すればよい。つまり、インペイント処理の直前のフレームn−1の代わりに、そのさらに前のフレームn−2を用いてもよい。また、n−1およびn−2の両方のフレームを用いて連続性を確保するための項を設定してもよい。また第三項もL2ノルムに限らない。例えば非特許文献1ではL2ノルムに加えて、モデルが出力した画像をディスクリミネータNNへ入力した際の出力値を用いて、モデルがディスクリミネータNNをして実画像と誤認せしめた度合いに関する項を導入している。本実施形態でも、そのような補助モデルを用いた項を導入してもよい。
ステップS408において生成部308は、各フレームの欠損部を埋める画像を生成する。具体的には、生成部308は、パラメータ最適化部307から、パラメータが最適化されたプログラムコードy=f(x;θ0)を取得する。さらに生成部308は、欠損周辺領域抽出部303から欠損周辺領域のデータを取得する。取得した欠損周辺領域をγi(i=n,..,m)とする。γの添え字iはフレーム番号を示す。生成部308は、y=f(x;θ0)の引数xとしてγiを設定することにより各フレームiの欠損部を埋める
Figure 2019079114
を生成して合成部309に供給する。
ステップS409において合成部309は、ソース動画の欠損部を、生成部308で生成された画像を用いて違和感なく埋める処理を行う。すなわち、ソース動画の欠損部が含まれるフレームに対して、生成部308で生成された画像を合成する処理が行われる。具体的には、合成部309は、ソース動画取得部301からソース動画を取得する。そして合成部309は、欠損部情報取得部302から取得した欠損部情報に基づいて、ソース動画のフレームiの欠損部を、生成部308から取得した
Figure 2019079114
で置き換え、HDD203へ保存し、出力装置207へ出力する。
以上のステップにより、機械学習による動画インペイントが完了する。以上説明したように、本実施形態の処理によれば、欠損部の時間的な連続性を考慮して目的関数を設定することにより、インペイント開始時、及び、終了時の違和感を低減することができる。
なお説明を簡単にするために図5でフレームnからフレームmまでの期間で欠損が発生する場合を例示したが、動画中で欠損が生じる期間は複数であることが考えられる。その際には、目的関数に連続性を確保する項を追加して、かかる期間の開始終了時の時間的な連続性を確保するべきであることは言うまでもない。例えば、欠損が生じる期間として期間Aと期間Bとがあった場合において、式(2)の第1項と第2項が、期間Aに対応している場合を想定する。このとき、その式(2)に、さらに、期間Bに対応する項(直前フレームの項と直後フレームの項)を追加すればよい。これにより、動画中で欠損が生じる期間が複数ある場合にも対応することができる。
<<実施形態2>>
本実施形態では、学習用データの与え方を工夫して、最適化処理に要する処理時間を短縮しつつ、違和感の少ない動画インペイントを実現する形態を説明する。具体的には、本実施形態では、学習用データのサンプルを全て用いるのではなく、学習用データの総サンプルを、ミニバッチと呼ばれる複数のサンプルの集合に分ける。そして、ミニバッチでの処理が終了するごとに最適化の終了条件が満たされているかを判定する。このような処理により、最適化処理に要する処理時間を短縮することができる。
本実施形態では、ステップS407及びパラメータ最適化部307の処理が、実施形態1と異なる。特別な記述がない場合、他の処理は実施形態1と同じであるものとして説明する。以下、本実施形態の処理について説明する。
本実施形態のステップS407においても、パラメータ最適化部307は、モデルパラメータの最適化を行い、パラメータが最適化されたモデルy=f(x;θ0)を生成部308へプログラムコードとして供給する。
図9は、本実施形態におけるステップS407の詳細な処理の流れを示すフローチャートである。
ステップS901においてパラメータ最適化部307は、非欠損領域抽出部305から非欠損領域データを取得する。すなわち、実施形態1で説明したように、画像データ(xC1、yC1)、(xC2、yC2)を取得する。ステップS902においてパラメータ最適化部307は、学習用データ取得部304から学習用データ{xi、yi}を取得する。ステップS903においてパラメータ最適化部307は、モデルデータ取得部306からモデルy=f(x;θ)を取得する。
ステップS904においてパラメータ最適化部307は、最適化の終了条件を満たすか判定を行う。最適化の終了条件としてはモデルパラメータの更新回数が所定の回数に達したか否かを条件としてもよいし、後述するステップS906における目的関数が、所定の閾値以下になったか否かを条件としてもよい。前者の終了条件の場合には、遅くとも所定の時間内で最適化を終了させることができる。後者の終了条件の場合には、最適化の終了時点で所定の精度を確保することができる。
ステップS905においてパラメータ最適化部307は、ミニバッチのデータを作成する。ここで、機械学習において最適化の速度を速めるミニバッチ学習について説明する。モデルパラメータの最適化は、式(1)〜式(3)のような目的関数を計算し、目的関数が小さくなるようモデルパラメータを更新し、再び目的関数を計算する繰り返し演算によりなされる。目的関数には、個々の学習用データxに対するモデル出力f(x;θ)の計算が必要となる総和項(式(1)では第一項、式(2)および式(3)では第三項)があり、総和項の計算負荷は学習用データが多くなるほど重くなる。するとモデルパラメータ更新が遅くなる結果、最適化の速度が遅くなるという問題がある。ミニバッチ学習ではこの問題を解決するため、モデル出力f(x;θ)の計算が必要となる総和項の計算において、学習用データの全てのサンプルを用いるのではなく、学習用データの一部のサンプルのデータを用いて総和項を計算する。例えば学習用データのサンプル総数がNであるとして、学習用データをK等分した部分データUk(k=1,...,K)をミニバッチと呼ぶ。具体的にU1を式(4)に例示する。
Figure 2019079114
ミニバッチ学習では、最初のパラメータ更新では、総和項の計算にU1を用いる。そして、次の更新ではU2を用いて総和項を計算する。このようにして目的関数の計算負荷を軽減して最適化の速度を速める。
ところで、上記の式(4)は、一般的なミニバッチを説明する式である。本実施形態におけるステップS905で作成するミニバッチは、前述の式(4)とは異なり、式(5)で表されるよう作成される。
Figure 2019079114
つまり、本実施形態では、すべて、あるいは多くのミニバッチにおいて、欠損フレームの直前直後の画像データ(xC1、yC1)、(xC2、yC2)を含ませる。つまり、それぞれのミニバッチには、欠損部がない画像であって、欠損周辺領域の部分画像に、時間的および空間的に近い部分画像が含ませる。これにより、パラメータ更新には固定サンプル(xC1、yC1)、(xC2、yC2)が反映され、モデルfをして、yC1〜f(xC1;θ)、yC2〜f(xC2;θ)たらしめる効果がある。すなわち、入力データとしてxC1がモデルfに入力された場合に、yC1と同等のデータが出力データとして出力されることが期待できる。yC2についても同様である。なお、ミニバッチに含ませる画像(xC1、yC1)、(xC2、yC2)のサンプル数は、それぞれ1組ずつとは限らない。例えば画像(xC1、yC1)、(xC2、yC2)のセットを複数セット含ませてよい。このように、画像(xC1、yC1)、(xC2、yC2)のセットを多く含ませることにより、目的関数の総和項における影響を高め、yC1〜f(xC1;θ)、yC2〜f(xC2;θ)となる効果をより一層高めることができる。すなわち、時間的連続性と欠損部を埋める精度を高めることができる。
ステップS906においてパラメータ最適化部307は、目的関数を設定する。前回のステップS906とは異なるバッチを用いて目的関数における総和項を計算する事が好適である。
ステップS907においてパラメータ最適化部307は、目的関数を最小化するようモデルパラメータを更新する。そして、ステップS904の判定処理に処理を進める。以上が本実施形態におけるパラメータの最適化処理である。
以上説明したように、本実施形態では、モデルパラメータ最適化において、ミニバッチの全て、あるいは、ミニバッチのうちの所定数以上のミニバッチに、欠損フレームの直前直後の画像を用いる。これにより、yC1〜f(xC1;θ)、yC2〜f(xC2;θ)となるようモデルを構成し、インペイントの連続性を確保することができる。また、最適化処理に要する時間を短縮することができる。
<<実施形態3>>
本実施形態では、違和感の少ない動画インペイントを、事前学習結果を活かして、より迅速に実現する方法を述べる。すなわち、パラメータの最適化処理を短縮する方法を説明する。
本実施形態では、モデルデータの定義、ステップS406におけるモデルデータ取得部306の処理、およびステップS407におけるパラメータ最適化部307の処理が実施形態1とは異なる。特別な記述がない場合、他の処理は実施形態1と同じであるものとして説明する。以下、その動作について説明する。
ステップS406においてモデルデータ取得部306は、HDD203からモデルデータを取得し、パラメータ最適化部307へ供給する。本実施形態におけるモデルデータは、モデルパラメータθを用いてy=f(x;θ)で表せるプログラムコードと、初期モデルパラメータとの2要素からなる。本実施形態において、初期モデルパラメータは、インペイントの時間的連続性を考慮しないで最適化されたモデルパラメータである。例えば、式(1)のようなモデルパラメータである。すなわち、欠損を有するフレームの直前直後の画像を内包しない目的関数を用いて最適化されたモデルパラメータである。この初期モデルパラメータでは、インペイントの時間的連続性は確保されない。しかし、この初期モデルパラメータは、例えば式(2)および式(3)の第三項については、最適化がすでに行われていると考えられる。
ステップS407においてパラメータ最適化部307は、モデルパラメータの最適化を行い、パラメータが最適化されたモデルy=f(x;θ0)を生成部308へプログラムコードとして供給する。パラメータ最適化部307は、モデルパラメータの初期値としてモデルデータ取得部306から供給される初期モデルパラメータを設定する。以降の処理については、実施形態1と同様である。初期モデルパラメータは前述のとおり、例えば式(2)および式(3)の第三項については、最適化がすでに行われていると考えられる。従って、例えば式(2)および式(3)の第一項および第二項について追加的に最適化を行うだけでよく、最適化の速度が速まる。以上が本実施形態におけるパラメータ最適化処理である。
本実施形態を用いると、例えば動画をリアルタイムで撮影中に、学習用データを供給してモデルパラメータを最適化し、初期パラメータを算出しておき、後々、欠損部をインペイントするために追加学習を行う、といった形態も可能である。このような形態によれば、迅速かつ違和感の少ない動画インペイントを実現できる。なお、リアルタイムに学習用データを供給する際には、撮影開始のフレームから学習用データとして利用可能になるため、撮影開始時のフレームから学習用データが多くサンプリングされる可能性がある。そのような事が無いように、例えば各フレームからのサンプリング数を記録するなどして、フレーム毎に偏りが学習用データを供給することが好適である。
また、本実施形態によれば、例えば、インペイント終了後、追加的に欠損部をインペイントする場合においても新たな欠損部の動画インペイントを、違和感が少なく迅速に行うことができる。以上説明したように、本実施形態によれば、事前学習した結果を利用して、違和感の少ない動画インペイントをより迅速に実現することができる。
<<その他の実施形態>>
上述した実施形態においては、ソース動画に対応するモデルデータは、1つのモデルデータを用いる形態を説明した。欠損部が複数ある場合においても、パラメータが最適化されたこの1つのモデルデータを用いて欠損部の画像を生成することは可能である。
一方、欠損部に応じたモデルデータをそれぞれ用意し、それぞれの欠損部に対してパラメータを最適化させたモデルデータを用いてもよい。例えば、欠損が生じる期間として期間Aと期間Bとがあった場合に、期間A用にパラメータを最適化させたモデルと、期間B用にパラメータを最適化させたモデルとを、別々に使用してもよい。複数のモデルをそれぞれ用意する場合には、最適化に要する時間も単純に考えれば倍になる。しかしながら、例えば、期間Aと期間Bの相関があることがすでに分かっている場合などにおいては、実施形態3で説明した事前学習に対する追加学習の処理によって最適化時間を低減させることは可能である。このためインペイントの処理精度を向上させつつ、最適化処理に要する増加時間を低減することもできる。
また、上述した実施形態においては、各フレームに欠損部が1つ含まれる形態を例に挙げて説明したが、これに限られるものではなく、1つのフレーム内に複数の欠損部がある場合にも適用可能である。1つのフレーム内に欠損部が複数ある場合には、複数の欠損部に対応する項を式(2)および式(3)に追加すればよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (17)

  1. 機械学習によってパラメータが最適化されたモデルを用いる画像処理装置であって、
    時間的に連続する複数の画像を取得する画像取得手段と、
    欠損部を含む画像に時間的に近接する、欠損部を含まない画像から、前記欠損部の周辺の領域に相当する領域の部分画像を抽出する抽出手段と、
    前記抽出した部分画像を少なくとも用いて前記モデルのパラメータを最適化する最適化手段と、
    パラメータが最適化された前記モデルに対して前記欠損部を含む画像の前記欠損部の周辺の領域の部分画像を入力することで、前記欠損部に相当する部分画像を生成する生成手段と、
    前記生成された部分画像を、前記欠損部を含む画像に合成する合成手段と
    を備えることを特徴とする画像処理装置。
  2. 前記抽出手段は、前記欠損部を含む画像の直前および直後の画像を少なくとも含む画像から、前記欠損部に相当する領域の部分画像を抽出することを特徴とする請求項1に記載の画像処理装置。
  3. 前記抽出手段は、前記欠損部と空間的に近接する領域の部分画像を、前記欠損部を含まない画像から抽出することを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記抽出手段は、前記欠損部と同じ位置座標の部分画像を、前記欠損部を含まない画像から抽出することを特徴とする請求項3に記載の画像処理装置。
  5. 前記抽出手段は、抽出した前記部分画像のうち前記欠損部に相当する領域を加工した第一の部分画像と、当該欠損部を示す第二の部分画像とのペアを抽出し、
    前記最適化手段は、前記ペアの部分画像を用いて前記モデルのパラメータを最適化することを特徴とする請求項1から4のいずれか一項に記載の画像処理装置。
  6. 前記画像取得手段で取得される前記画像の欠損部に関する欠損部情報を取得する欠損部情報取得手段をさらに備え、
    前記抽出手段は、前記欠損部情報を用いて前記部分画像を抽出することを特徴とする請求項1から5のいずれか一項に記載の画像処理装置。
  7. 前記欠損部情報取得手段は、物体検出アルゴリズムを用いて事前に設定した不要物を検出し、検出した情報に基づいて生成された欠損部情報を取得することを特徴とする請求項6に記載の画像処理装置。
  8. 前記最適化手段は、前記モデルに対する補助的モデルをさらに用いて前記パラメータを最適化することを特徴とする請求項1から7のいずれか一項に記載の画像処理装置。
  9. 前記最適化手段は、目的関数を最小化することでパラメータを最適化し、
    前記目的関数は、時間的連続性を確保するための項を有することを特徴とする請求項1から8のいずれか一項に記載の画像処理装置。
  10. 前記目的関数は、前記部分画像に係る項と、学習用データの部分画像に係る項との加重和で定められる関数であることを特徴とする請求項9に記載の画像処理装置。
  11. 前記最適化手段は、前記項に重み付けをすることで時間的な連続性を確保するか否かを調整することが可能であることを特徴とする請求項10に記載の画像処理装置。
  12. 前記最適化手段は、所定の条件を満たすまで、学習用データのうちの一部のデータを用いて前記パラメータの更新を行い、
    それぞれの更新に用いられる前記一部のデータには、前記部分画像が含まれることを特徴とする請求項1から11のいずれか一項に記載の画像処理装置。
  13. 前記最適化手段は、前記一部のデータに含める前記部分画像の数を変えることで、時間的連続性の精度を調整することが可能であることを特徴とする請求項12に記載の画像処理装置。
  14. 前記最適化手段は、事前学習により最適化された初期パラメータに対して、前記抽出手段で抽出された部分画像を用いることで前記パラメータを最適化することを特徴とする請求項1から13のいずれか一項に記載の画像処理装置。
  15. 前記事前学習により最適化された初期パラメータは、前記画像取得手段で取得される画像を撮影中に供給される学習用データによって最適化されていることを特徴とする請求項14に記載の画像処理装置。
  16. 機械学習によってパラメータが最適化されたモデルを用いる画像処理方法であって、
    時間的に連続する複数の画像を取得するステップと、
    欠損部を含む画像に時間的に近接する、欠損部を含まない画像から、前記欠損部の周辺の領域に相当する領域の部分画像を抽出するステップと、
    前記抽出した部分画像を少なくとも用いて前記モデルのパラメータを最適化するステップと、
    パラメータが最適化された前記モデルに対して前記欠損部を含む画像の前記欠損部の周辺の領域の部分画像を入力することで、前記欠損部に相当する部分画像を生成するステップと、
    前記生成された部分画像を、前記欠損部を含む画像に合成するステップと
    を備えることを特徴とする画像処理方法。
  17. コンピュータを請求項1から15のいずれか一項に記載されている各手段として機能させるためのプログラム。
JP2017203536A 2017-10-20 2017-10-20 画像処理装置、画像処理方法およびプログラム Pending JP2019079114A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017203536A JP2019079114A (ja) 2017-10-20 2017-10-20 画像処理装置、画像処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017203536A JP2019079114A (ja) 2017-10-20 2017-10-20 画像処理装置、画像処理方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2019079114A true JP2019079114A (ja) 2019-05-23

Family

ID=66628433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017203536A Pending JP2019079114A (ja) 2017-10-20 2017-10-20 画像処理装置、画像処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2019079114A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021039192A1 (ja) * 2019-08-30 2021-03-04 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
JP2021164034A (ja) * 2020-03-31 2021-10-11 株式会社ユピテル システム、プログラム、学習済みモデル、学習モデルの生成方法および生成装置等
JP6955734B1 (ja) * 2021-03-08 2021-10-27 株式会社データグリッド 画像データ生成方法、学習方法、画像データ生成システム、学習システムおよびプログラム
JP7477682B2 (ja) 2019-05-24 2024-05-01 グーグル エルエルシー 画像拡張ニューラルネットワーク

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7477682B2 (ja) 2019-05-24 2024-05-01 グーグル エルエルシー 画像拡張ニューラルネットワーク
WO2021039192A1 (ja) * 2019-08-30 2021-03-04 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
JP2021164034A (ja) * 2020-03-31 2021-10-11 株式会社ユピテル システム、プログラム、学習済みモデル、学習モデルの生成方法および生成装置等
JP7446605B2 (ja) 2020-03-31 2024-03-11 株式会社ユピテル システム、プログラム、学習済みモデル、学習モデルの生成方法および生成装置等
JP6955734B1 (ja) * 2021-03-08 2021-10-27 株式会社データグリッド 画像データ生成方法、学習方法、画像データ生成システム、学習システムおよびプログラム
JP2022136957A (ja) * 2021-03-08 2022-09-21 株式会社データグリッド 画像データ生成方法、学習方法、画像データ生成システム、学習システムおよびプログラム
JP2022136583A (ja) * 2021-03-08 2022-09-21 株式会社データグリッド 画像データ生成方法、学習方法、画像データ生成システム、学習システムおよびプログラム
JP7398127B2 (ja) 2021-03-08 2023-12-14 株式会社データグリッド 画像データ生成方法、学習方法、画像データ生成システム、学習システムおよびプログラム

Similar Documents

Publication Publication Date Title
JP2019079114A (ja) 画像処理装置、画像処理方法およびプログラム
US10818018B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
CN111028191B (zh) 视频图像的防抖方法、装置、电子设备和存储介质
WO2017154630A1 (ja) 画像処理装置、画像処理方法および記録媒体
JP2008511258A (ja) リアルタイム画像安定化
WO2005079062A1 (ja) 画像処理装置と画像処理方法およびプログラム
US11457158B2 (en) Location estimation device, location estimation method, and program recording medium
US20160253803A1 (en) X-ray image processing apparatus, x-ray image processing method, and storage medium
JP5146159B2 (ja) 画像復元方法、画像復元プログラム、および画像復元装置
JP5095263B2 (ja) 画像評価装置、および画像評価プログラム
JP7458819B2 (ja) 撮像装置、制御方法、プログラム及び記憶媒体
JP4875564B2 (ja) フリッカ補正装置及びフリッカ補正方法
JP6576179B2 (ja) 画像処理装置、画像処理方法、及びプログラム
KR102561903B1 (ko) 클라우드 서버를 이용한 ai 기반의 xr 콘텐츠 서비스 방법
JP6631076B2 (ja) 画像処理装置、プログラム及び画像処理方法
JP2015197374A (ja) 3次元形状推定装置及び3次元形状推定方法
JP2015079329A (ja) 画像処理装置、画像処理方法およびプログラム
JP6854629B2 (ja) 画像処理装置、画像処理方法
JP7271115B2 (ja) 画像処理装置、背景画像の生成方法およびプログラム
KR100828194B1 (ko) 디지털 화상의 경계 흐림을 판단하는 장치와 방법 및 이를이용한 이미지 처리 시스템
CN110059681B (zh) 信息处理装置、信息处理方法和存储介质
JP2015076676A (ja) 画像処理装置、画像処理方法及びプログラム
JP2014153918A (ja) 画像処理装置、画像処理方法、およびプログラム
JP6381212B2 (ja) 撮像装置及びその制御方法
JP7012457B2 (ja) 画像処理装置、画像処理方法