(57)【要約】【課題】目線がカメラに向いているように、顔画像を変換できる装置及び方法を提供できる。【解決手段】ユーザの顔の少なくとも一部を入力画像として取得する画像取得器、及び事前に登録された画像を用いて学習を行うことによって、視線又は顔の向きを変換するモデルを生成し、前記モデルを用いて前記入力画像の視線又は顔の向きを変換する変換器を備える。【選択図】図２
2019148980.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの顔の少なくとも一部を入力画像として取得する画像取得器、及び
事前に登録された画像を用いて学習を行うことによって、視線又は顔の向きを変換するモデルを生成し、前記モデルを用いて前記入力画像の視線又は顔の向きを変換する変換器
を備える画像変換装置。
【請求項２】
前記変換器は、前記モデルを生成する生成器及び識別器を含む
請求項１に記載の画像変換装置。
【請求項３】
前記ユーザの顔の少なくとも一部は、目の周辺である
請求項１に記載の画像変換装置。
【請求項４】
ユーザの顔の少なくとも一部を入力画像として取得すること、及び
事前に登録された画像を用いて学習を行うことによって、視線又は顔の向きを変換するモデルを生成し、前記モデルを用いて前記入力画像の視線又は顔の向きを変換すること
を含む画像変換方法。
【請求項５】
前記変換することは、前記モデルを生成するために生成器及び識別器を用いることを含む
請求項４に記載の画像変換方法。
【請求項６】
前記ユーザの顔の少なくとも一部は、目の周辺である
請求項４に記載の画像変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
顔画像の変換装置及び変換方法に関する。
【背景技術】
【０００２】
特許文献１ではハーフミラーを追加して正面向きの顔画像を取得する。特許文献２ではモニター画面の左右に１台ずつカメラを設置することにより正面向きの顔画像を生成している。従来のカメラ１台に加えてハードウェアを追加するとシステムが大型化してしまう。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−１７７９４９号公報
【特許文献２】特開平８−２５１５６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
映像対話システムでは、カメラの位置と画面上の会話相手の位置が異なるため、カメラでユーザの顔を撮像すると、目線が合わないことが多い。この現象に関して本願発明者らは課題の存在を認識した。すなわちより自然な対話のためには、目線がカメラに向いているように、顔画像を変換できる映像対話システムが必要である。
【課題を解決するための手段】
【０００５】
本開示による画像変換装置は、ユーザの顔の少なくとも一部を入力画像として取得する画像取得器、及び事前に登録された画像を用いて学習を行うことによって、視線又は顔の向きを変換するモデルを生成し、前記モデルを用いて前記入力画像の視線又は顔の向きを変換する変換器を備える。
【０００６】
ある実施形態では、前記変換器は、前記モデルを生成する生成器及び識別器を含む。
【０００７】
ある実施形態では、前記ユーザの顔の少なくとも一部は、目の周辺である。
【０００８】
本開示による画像変換方法は、ユーザの顔の少なくとも一部を入力画像として取得すること、及び事前に登録された画像を用いて学習を行うことによって、視線又は顔の向きを変換するモデルを生成し、前記モデルを用いて前記入力画像の視線又は顔の向きを変換することを含む。
【０００９】
ある実施形態では、前記変換することは、前記モデルを生成するために生成器及び識別器を用いることを含む。
【００１０】
ある実施形態では、前記ユーザの顔の少なくとも一部は、目の周辺である。
【発明の効果】
【００１１】
目線がカメラに向いているように、顔画像を変換できる装置及び方法を提供できる。
【図面の簡単な説明】
【００１２】
【図１】本開示による画像変換装置の入力画像及び出力画像を示す図である。
【図２】画像変換装置の構造を示す図である。
【図３】生成器の構造を示す図である。
【図４】識別器の構造を示す図である。
【図５】畳み込み層における層間結合のイメージを示す図である。
【図６】畳み込み層における演算を示す図である。
【図７】正規化線形関数の例と、Ｌｅａｋｙ  ＲｅＬＵの例とを示す図である。
【図８】入力された非カメラ目線の顔画像を示す図である。
【図９】図２〜４に示されるpix2pixネットワークによって処理されて得られた顔画像を示す図である。
【図１０】事前に用意した正解画像である。
【発明を実施するための形態】
【００１３】
図１は、本開示による画像変換装置の入力画像１１０及び出力画像１２０を示す図である。この装置は、ビデオチャット動画像から話者フレーム画像を取得し、話者の視線を補正する。入力画像１１０は、いわゆる「非カメラ目線」（カメラに目線が合っていない）の顔画像である。本装置は、入力画像１１０に基づいて、カメラ目線の顔画像を自動生成する。画像生成には、深層学習（deep learning）ベースの生成モデルである敵対的生成ネットワーク（generative adversarial networks、ＧＡＮ）を用いる。出力画像１２０は、入力画像１１０にＧＡＮを適用して生成したカメラ目線の顔画像である。
【００１４】
図２は、画像変換装置２００の構造を示す図である。画像変換装置２００は、画像取得器２１０及び変換器２２０を備える。画像変換装置２００は、入力端子２０２においてビデオチャット動画像を受け取る。画像取得器２１０は、ユーザの顔の少なくとも一部を入力画像として取得する。ある実施形態では、ビデオチャット動画像からフレーム画像を抽出する。
【００１５】
変換器２２０は、事前に登録された画像を用いて学習を行うことによって、視線又は顔の向きを変換するモデルを生成し、モデルを用いて前記入力画像の視線又は顔の向きを変換する。具体的には変換器２２０は、フレーム画像を画像取得器２１０から受け取り、非カメラ目線の顔画像をカメラ目線の顔画像に変換して出力端子２２８から出力する。変換器２２０は、生成器２２２、バイパス経路２２３、スイッチ２２４、及び識別器２２６を有する。
【００１６】
生成器２２２は、データの認識及び生成を担う。識別器２２６は、入力データが現実に真に存在するものか否かを判定する。変換器２２０は、以下のステップ１〜３を含むアルゴリズムに従って、非カメラ目線の顔画像からカメラ目線の画像を生成する。バイパス経路２２３及びスイッチ２２４は、ステップ１〜３を実行するときに適宜、使用される。
【００１７】
１．事前に撮影したフレーム画像から深層学習の教師データとなる非カメラ目線顔画像及びカメラ目線顔画像のペアを多数用意する。ここで十分多くの学習データ数を用意するために、さまざまな手法でデータの水増しを行ってもよい。また、教師データとは別に非カメラ目線のテスト顔画像を複数用意する。
【００１８】
２．ＧＡＮの一種であるpix2pixネットワークを構築し，前述の学習データを利用してネットワークパラメータの学習を実施する。
【００１９】
３．非カメラ目線顔画像をインプットし、カメラ目線顔画像を生成する。
【００２０】
オリジナルのＧＡＮではランダムな初期重みから事前に学習したデータの分布に基づいて新たなサンプルを生成するが、pix2pixではインプット及びアウトプット情報を画像に限定し、インプット画像に任意の変換を施した変換した後、画像を生成することができる。さらに生成器２２２は、Encoder（エンコーダ）部及びDecoder（デコーダ）部を備える。Encoder部は、インプット画像の特徴抽出を実施し、Decoder部では特徴に応じた画像生成を実施する。
【００２１】
図３は、生成器２２２の構造を示す図である。オーソドックスなpix2pixでは、処理前後のエッジ情報保存の為、U-Netというネットワークが利用されているが、本開示ではエッジ情報を保持する必要がない為、それらは除いている。生成器２２２は、入力部（input）３０１、畳み込み層（convolution）３０２、逆畳み込み層（deconvolution）３０４、正規化線形関数（rectified linear unit、ＲｅＬＵ）３０６、Ｌｅａｋｙ  ＲｅＬＵ３０８、バッチ正規化（batch normalization、ＢＮ）３１０、及び出力部３９０を備える。
【００２２】
図４は、識別器２２６の構造を示す図である。識別器２２６は、一般的な判別問題に利用されるネットワークを利用する。本開示ではサイズの大きな入力画像への対応を実現するために、パッチベースで局所領域ごとに真偽判定を実施する。そしてネットワーク最終層の平均プーリング（average pooling）により画像全体での真偽判定を実施する。これにより画像全体を入力情報とする場合に比べ、汎化性能の向上も見込まれる。
【００２３】
識別器２２６は、入力部４０２、４０４、連結（concat）４２０、畳み込み層３０２、ＢＮ３１０、ＲｅＬＵ３０６、平均プーリング４１０、及び出力部４９０を備える。
【００２４】
生成器２２２及び識別器２２６での損失関数は、以下の数１及び数２を使用する。各損失関数の意味は、生成器２２２では事前に用意した教師データと生成データとの誤差最小化を、識別器２２６では真偽判別誤差の最小化を示している。
【００２５】
【数１】
2019148980.tif 000003
【００２６】
ただし、
【００２７】
【数２】
2019148980.tif 000004
【００２８】
である。
【００２９】
ここで、pix2pixを用いた生成器２２２及び識別器２２６のネットワーク各層におけるさまざまな処理を説明する。
【００３０】
図５は、畳み込み層３０２における層間結合のイメージを示す図である。畳み込み層３０２は、局所受容野及び重み共有と呼ばれる特別な層間結合を持つ点が、一般的な層との違いである。一般的な順伝搬型ネットワークは隣接層間のすべてのユニット間において結合が存在する（５１０）が、畳み込み層は隣接層間の特定のユニットのみが結合を持つ（５２０）。
【００３１】
図６は、畳み込み層３０２における演算を示す図である。層６１０、６２０、及び６３０のそれぞれのユニットについて、２次元的な並びとみなされて、演算が実施される。図６では中間層の各ユニットは、入力層の３×３のユニット群とのみ結合を持ち（局所受容野）、そこに特定のパターンが入力されるとそれに反応して活性化する（すなわち、大きな値を出力する）。ここで３×３のユニット群の結合重みを１セットとし、フィルタと呼ぶ。複数のユニット間接続において同じ重み（フィルタ）が共有されるという特徴をもつ（重み共有と呼ばれる）。このフィルタによる演算は画像処理における畳み込み演算と同様の働きをし、出力結果のサイズはフィルタサイズに応じ、畳み込み前に比べ小さくなる。
【００３２】
ＧＡＮにおける生成器２２２では、畳み込み層３０２を多数経ることで元データから特徴を抽出し、次元を圧縮し、一方で、逆畳み込み層３０４を経ることで元の次元の情報を生成する。ＧＡＮの様な生成モデルでは、生成したい対象に応じて逆畳み込み層３０４の挙動が異なる。ネットワークの学習時、入出力の教師データを同一の画像とするとオートエンコーダ（autoencoder）を作成できる。オートエンコーダでは、逆畳み込み層３０４は、畳み込み層３０２の逆演算を学習により獲得する。逆畳み込み層３０４の結合重みは、畳み込み層３０２の結合重みの逆数をそのまま使用することも可能である。
【００３３】
図７は、正規化線形関数３０６の例（７１０）と、Ｌｅａｋｙ  ＲｅＬＵ３０８の例（７２０）とを示す図である。正規化線形関数３０６は、ランプ関数とも呼ばれ、ニューラルネットワークにおける隠れ層で使用される活性化関数の一種である。正規化線形関数３０６は、入力が０未満の場合には０を返し、０以上の場合は恒等写像となる関数である。０以上の部分では微分値が常に１であるため、勾配消失の心配がなく、多層のネットワークを構築する際に多用される。
【００３４】
Ｌｅａｋｙ  ＲｅＬＵ３０８は、正規化線形関数３０６を拡張した活性化関数の一種である。正規化線形関数３０６では入力が０未満の場合には一律で０を返していた。それに対しＬｅａｋｙ  ＲｅＬＵ３０８では入力が負の場合（すなわちユニットがアクティブでない場合）にも弱い勾配を与える。
【００３５】
Ｌｅａｋｙ  ＲｅＬＵ３０８における負の領域の勾配は用途に応じてユーザが指定できる。Ｌｅａｋｙ  ＲｅＬＵ３０８は、正規化線形関数３０６と同様に勾配消失の心配がない。活性化関数としての正規化線形関数３０６及びＬｅａｋｙ  ＲｅＬＵ３０８、その他の派生関数の効用については、様々な議論があるものの、現状では理論から明らかになっていない部分も多く、経験則に従って選択されるケースが多い。
【００３６】
深層学習において、学習係数を上げるとパラメータのスケールの問題によって、勾配が消失又は発散することが問題視されている。これは多層ネットワークの学習を阻害する大きな要因となり得る。バッチ正規化３１０は、この問題の解決策として用いられ得る。機械学習やパターン認識の分野では、訓練データのサンプリングと実際のテストデータの分布に隔たりがあった場合、この隔たりにアルゴリズムが対応できなくなり、十分な性能を実現できない可能性がある。バッチ正規化３１０ではこの問題を解決する。バッチ正規化３１０のアルゴリズムは以下の通りである。
【００３７】
１．m個のデータからなるミニバッチを定義する。
【００３８】
【数３】
2019148980.tif 000005
【００３９】
２．学習データにおけるミニバッチ内での平均と分散を計算する。
【００４０】
【数４】
2019148980.tif 000006
【００４１】
３．平均と分散を使用し、正規化を実施する。
【００４２】
【数５】
2019148980.tif 000007
【００４３】
このアルゴリズムで取得した
【００４４】
【数６】
2019148980.tif 000008
【００４５】
がバッチ正規化３１０の結果であり、Ｘの代わりに学習に使用する。なお、γやβはユーザが事前に決定するか、又は別途学習を行い、最適化する。実際のテストデータに対しても同様の処理を施したのち、ネットワークに入力する。本手法は従来の機械学習における白色化等の代わりに位置付けられ、ドロップアウト（dropout）等の各種手法を適用しなくとも学習を安定化させられるという効果を奏する。
【００４６】
pix2pixにおける平均プーリング４１０は、バッチベースで局所領域ごとに判定された真偽情報（０〜１の連続値であり、例えば０．５以上は真を表し、０．５未満は偽を表す）を局所領域数だけ受け取り、それらの平均値を算出する。識別器２２６としては、この平均値が０．５以上か、又は０．５未満かで画像全体の真偽判定を実施する。
【００４７】
pix2pixにおける連結４２０は、識別器２２６の入力値となる変化前後の画像、すなわち図４中の入力部４０２（Input before）と入力部４０４（Input after）とを連結し、その後のネットワークに引き渡す。その後、識別器２２６では、連結されたデータに対して畳み込み層３０２による特徴抽出を行い、変化前後の画像が共通の特徴を持っているのかどうかを判定する。識別器２２６は、明示的にそのような処理を行うわけではないが、学習後のネットワークはそのような挙動を示す。
【００４８】
図２〜４に示されるpix2pixネットワークを使用して、非カメラ目線の顔画像からカメラ目線顔画像を生成した結果を以下に示す。
【００４９】
図８は、入力された非カメラ目線の顔画像を示す図である。図９は、図２〜４に示されるpix2pixネットワークによって処理されて得られた顔画像を示す図である。図１０は、事前に用意した正解画像である。図９及び１０に示されるように、２５枚の入力データに対して画像生成を実施した。図１と同種の画像ペアを学習データとして使用し、図８の入力情報に対して図９の結果が得られた。図９を図１０と比較すれば、入力情報に対応したカメラ目線の顔画像が高精度に生成できていることが分かる。
【００５０】
本開示による画像取得器２１０は、ユーザの顔の画像のうち、目の周辺の画像を取り出し、変換器２２０は、目の周辺の画像を変換してもよい。
【００５１】
本開示による画像変換装置のさまざまな機能は、典型的にはソフトウェアによって実現されるが、これには限定されない。例えば一部の機能がハードウェアによって実現されてもよく、全ての機能がハードウェアによって実現されてもよい。
【符号の説明】
【００５２】
２００  画像変換装置
２０２  入力端子
２１０  画像取得器
２２０  変換器
２２２  生成器
２２３  バイパス経路
２２４  スイッチ
２２６  識別器
２２８  出力端子
【図１】
2019148980.tif 000009
【図２】
2019148980.tif 000010
【図３】
2019148980.tif 000011
【図４】
2019148980.tif 000012
【図５】
2019148980.tif 000013
【図６】
2019148980.tif 000014
【図７】
2019148980.tif 000015
【図８】
2019148980.tif 000016
【図９】
2019148980.tif 000017
【図１０】
2019148980.tif 000018