(57)【特許請求の範囲】
【請求項１】
時間的に連続する複数の画像に描出された被写体の動きに基づいて前記画像に描出された被写体の形状を推定し、推定した被写体の形状に基づいて、前記被写体を複数の視点から描出した画像であって、前記被写体が撮影された複数の画像のうち前記被写体を撮影した方向が相対的に少ない画像を生成する生成部と、
前記生成部が生成した画像を用いて、前記被写体の分類の特徴に対応するノードの値から画像のカテゴリ分類を行う学習器の学習を行う学習部と
を備えたことを特徴とするＤＮＮ（Deep  Neural  Network）の学習装置。  
【請求項２】
学習装置が実行する学習方法であって、
時間的に連続する複数の画像に描出された被写体の動きに基づいて前記画像に描出された被写体の形状を推定し、推定した被写体の形状に基づいて、前記被写体を複数の視点から描出した画像であって、前記被写体が撮影された複数の画像のうち前記被写体を撮影した方向が相対的に少ない画像を生成する生成工程と、
前記生成工程で生成した画像を用いて、前記被写体の分類の特徴に対応するノードの値から画像のカテゴリ分類を行う学習器の学習を行う学習工程と
を含んだことを特徴とするＤＮＮ（Deep  Neural  Network）の学習方法。  
【請求項３】
時間的に連続する複数の画像に描出された被写体の動きに基づいて前記画像に描出された被写体の形状を推定し、推定した被写体の形状に基づいて、前記被写体を複数の視点から描出した画像であって、前記被写体が撮影された複数の画像のうち前記被写体を撮影した方向が相対的に少ない画像を生成する生成手順と、
前記生成手順で生成した画像を用いて、前記被写体の分類の特徴に対応するノードの値から画像のカテゴリ分類を行う学習器の学習を行う学習手順と
をコンピュータに実行させるためのＤＮＮ（Deep  Neural  Network）の学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、学習方法及び学習プログラムに関する。
【背景技術】
【０００２】
従来、ニューラルネットワークに任意の画像を入力して画像に描出された被写体や現象を学習する技術が知られている。例えば、複数の中間層を有するニューラルネットワークに学習用データを入力することで学習を行うディープラーニングの技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１１３０７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、学習器の学習を容易に行うことができるとは限らなかった。例えば、上記の従来技術では、所望の結果を出力する学習器を生成するために、大量のデータを用いて学習を行うことになる。このため、上記の従来技術では、学習用のデータを集める手間がかかる。このようなことから、上記の従来技術では、学習器の学習を容易に行うことができるとは限らなかった。
【０００５】
本願は、上記に鑑みてなされたものであって、学習器の学習を容易に行うことができる学習装置、学習方法及び学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本願に係る学習装置は、被写体が描出された画像を用いて、当該被写体の３次元形状を復元し、当該復元された被写体の３次元形状に基づいて、前記被写体を所定の視点以外の視点から描出した画像を生成する生成部と、前記生成部が生成した画像を用いて、前記被写体の特徴を抽出する学習器の学習を行う学習部とを備えたことを特徴とする。
【発明の効果】
【０００７】
実施形態の一態様によれば、学習器の学習を容易に行うことができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態に係る学習装置による学習処理の一例を示す説明図である。
【図２】図２は、実施形態に係る学習装置の構成例を示す図である。
【図３】図３は、実施形態に係る学習用データ記憶部の一例を示す図である。
【図４】図４は、実施形態に係る補完データを説明するための説明図である。
【図５】図５は、実施形態に係る学習装置による学習処理手順を示すフローチャートである。
【図６】図６は、変形例に係る補完データを説明するための説明図である。
【図７】図７は、変形例に係る補完データを説明するための説明図である。
【図８】図８は、変形例に係る補完データを説明するための説明図である。
【図９】図９は、学習装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る学習装置、学習方法及び学習プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る学習装置、学習方法及び学習プログラムが限定されるものではない。また、以下の実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１０】
〔１．学習処理〕
まず、図１を用いて、実施形態に係る学習処理の一例について説明する。図１は、実施形態に係る学習装置による学習処理の一例を示す説明図である。図１の例では、学習装置１００によって入力データに対する演算結果を出力する学習器の学習を行う学習処理が行われる例を示す。
【００１１】
学習装置１００は、入力データを入力した場合に所定のノードが所定の値を出力する学習器の学習を行うサーバ装置である。具体的には、学習装置１００は、入力データとして画像を入力した場合に画像に描出された被写体の特徴に対応するノードが所定の値を出力するＤＮＮ（Deep Neural Network）である学習器Ｌｅの学習を行う。この点について図１を用いて詳細に説明する。
【００１２】
学習器Ｌｅは、入力データに対する演算結果を出力する複数のノード（例えば、ニューロン）を接続したＤＮＮであって入力データの特徴に対応するノードが所定の値を出力するＤＮＮである。具体的には、学習器Ｌｅは、入力データとして被写体が描出された画像が入力された場合に、被写体の特徴に対応するノードが所定の値を出力する。
【００１３】
図１の例では、学習器Ｌｅは、入力層と、多段のノード群によって形成される中間層と、出力層とから構成される。ここで、出力層は、例えば、「猫」が描出された画像が入力された場合に出力するノードであって「猫」の特徴に対応するノードを有する。
【００１４】
学習装置１００は、学習器Ｌｅに入力する学習用データとして、「猫」が正面から撮影された画像Ｐ１１〜Ｐ１５と、「猫」が横から撮影された画像Ｐ２１〜Ｐ２２とを保持しているものとする。なお、図１では、学習装置１００は、説明を簡単にするため７つの学習用データを保持する例を示すが、実際には学習器Ｌｅの学習を行う上で十分な数の学習用データを保持する。
【００１５】
ここで、学習装置１００は、被写体が描出された画像を用いて、被写体の３次元形状を復元し、復元された被写体の３次元形状に基づいて、被写体を所定の視点以外の視点から描出した画像を生成する。具体的には、学習装置１００は、まず、被写体が描出された画像を用いて、被写体の３次元形状を復元する（ステップＳ１）。例えば、学習装置１００は、公知となっている各種の技術により被写体の３次元形状を復元する。そして、学習装置１００は、復元された被写体の３次元形状に基づいて、被写体を所定の視点以外の視点から描出した画像を生成する（ステップＳ２）。例えば、学習装置１００は、まず、学習器Ｌｅに入力する学習用データの偏りを検出する。一例としては、学習装置１００は、学習用データの偏りとして、画像に描出された被写体が撮影された向きの偏りを検出する。図１の例では、学習装置１００は、被写体が撮影された向きの偏りとして、被写体が横から撮影された画像が相対的に少ないことを検出する。
【００１６】
その後、学習装置１００は、学習用データの偏りが検出された場合に、被写体を所定の視点以外の視点から描出した画像を生成する。例えば、学習装置１００は、学習用データを用いて学習用データの偏りを補完する補完データを生成する。学習装置１００は、学習用データの偏りを補完する補完データがあれば学習器の学習をより高い精度で行うことができるからである。
【００１７】
一例としては、学習装置１００は、被写体が描出された画像のうち相対的に少ない向きから被写体が撮影された画像を補完データとして生成する。図１の例では、学習装置１００は、被写体が横から撮影された画像が正面から撮影された画像と比較して少ないので、被写体が横から撮影された画像Ｐ２３〜Ｐ２４を補完データとして生成する。なお、図１では、学習装置１００は、２つの補完データを生成する例を示すが、実際には学習器Ｌｅの学習を行う上で十分な数の補完データを生成する。
【００１８】
続いて、学習装置１００は、生成した画像を用いて、被写体の特徴を抽出する学習器Ｌｅの学習を行う（ステップＳ３）。具体的には、学習装置１００は、補完データである画像Ｐ２３〜Ｐ２４と、学習用データである画像Ｐ１１〜Ｐ１５及び画像Ｐ２１〜Ｐ２２とを用いて学習器Ｌｅの学習を行う。
【００１９】
図１の例では、学習装置１００は、入力データとして画像Ｐ２３〜Ｐ２４と画像Ｐ１１〜Ｐ１５及び画像Ｐ２１〜Ｐ２２とを入力した場合に「猫」の特徴に対応するノードが所定の値を出力するように学習器Ｌｅの学習を行う。例えば、学習装置１００は、バックプロパゲーション法や教師有り学習法といった各種の方法を用いて「猫」の特徴に対応するノードが所定の値を出力するノード間の結合係数を算出する。そして、学習装置１００は、算出した結合係数を学習器Ｌｅのノード間に設定することで「猫」の特徴に対応するノードが所定の値を出力する学習器Ｌｅの学習を行う。
【００２０】
このように、実施形態に係る学習装置１００は、被写体が描出された画像を用いて、当該被写体の３次元形状を復元し、当該復元された被写体の３次元形状に基づいて、前記被写体を所定の視点以外の視点から描出した画像を生成する。また、学習装置１００は、生成した画像を用いて、前記被写体の特徴を抽出する学習器の学習を行う。
【００２１】
また、実施形態に係る学習装置１００は、画像に描出された被写体または現象の偏りを検出する。また、学習装置１００は、被写体または現象の偏りが検出された場合に、被写体を所定の視点以外の視点から描出した画像を生成する。
【００２２】
これにより、学習装置１００は、学習用データの数が十分にない場合でも学習用データを増やすことができるので、学習器の学習を容易に行うことができる。例えば、学習装置１００は、学習用データを用いて補完用データを生成することができるので、学習用データを集める手間を減らすことができる。また、学習装置１００は、学習用データの数が十分にない場合でも学習器の学習を行うことができる。
【００２３】
また、学習装置１００は、学習用データのうち偏りがあって相対的に少ないデータを増やすことができるので、学習器の入力データに対する出力の精度を高めることができる。例えば、学習装置１００は、被写体が横から撮影された画像が正面から撮影された画像と比較して少ない場合に被写体が横から撮影された画像を生成することができるので、被写体の特徴をより高い精度で捉えた学習器の学習を行うことができる。このため、学習装置１００は、学習器の認識精度を高めることができる。
【００２４】
なお、上述した例では、学習装置１００は、学習用データの偏りを補完するように画像を生成したが、実施形態は、これに限定されるものではない。例えば、学習装置１００は、学習用データの偏りを検出せずとも、被写体が描出された画像から３次元形状を復元し、復元した３次元形状から新たな学習用データを生成してもよい。
【００２５】
また、上述した例では、学習装置１００は、画像に描出された被写体（例えば、猫）の３次元形状を復元し、復元した３次元形状に基づいて、学習器の画像を生成した。ここで、被写体とは、画像に描出されたオブジェクトのみならず、画像に描出された景色、背景、風景等を含むものであり、かかる景色、背景、風景の３次元形状を復元してもよい。すなわち、学習装置１００は、あるオブジェクトの外側を描出した画像からかかるオブジェクトの３次元形状を復元してもよく、あるオブジェクトの内側を描出した画像から係るオブジェクトの３次元形状を復元してもよい。具体例を挙げると、学習装置１００は、野球場の外側から撮影された画像を用いて野球場の３次元形状を復元してもよく、また、野球場の内側から撮影された画像を用いて、野球場の３次元形状を復元してもよい。すなわち、学習装置１００は、被写体の位置と、画像を描出する際の始点の位置との関係によらず、任意の画像を用いて、被写体の３次元形状を復元することができる。
【００２６】
〔２．学習装置の構成〕
次に、図２を用いて、実施形態に係る学習装置１００の構成について説明する。図２は、実施形態に係る学習装置１００の構成例を示す図である。図２に示すように、学習装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、学習装置１００は、学習装置１００を利用する管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（例えば、液晶ディスプレイ等）を有してもよい。
【００２７】
（通信部１１０について）
通信部１１０は、例えば、ＮＩＣ等によって実現される。通信部１１０は、ネットワークと有線又は無線で接続され、ネットワークを介して、各種のサーバ装置や端末装置との間で情報の送受信を行う。
【００２８】
（記憶部１２０について）
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１２０は、学習用データ記憶部１２１と、学習器情報記憶部１２２とを有する。
【００２９】
（学習用データ記憶部１２１について）
学習用データ記憶部１２１は、学習用データに関する情報を記憶する。例えば、学習用データ記憶部１２１は、学習用データである画像ごとに、画像に描出された被写体が撮影された方向を記憶する。ここで、図３に、実施形態に係る学習用データ記憶部１２１の一例を示す。図３に示すように、学習用データ記憶部１２１は、「データＩＤ」、「カテゴリ」といった項目を有する。
【００３０】
「データＩＤ」は、データを識別するための識別情報を示す。「カテゴリ」は、データが属する分類を示す。例えば、「カテゴリ」には、画像に描出された被写体が撮影された方向を示す。すなわち、図３では、データＩＤ「Ｐ１１」に対応する画像は、被写体が「正面」から撮影された例を示している。
【００３１】
（学習器情報記憶部１２２について）
学習器情報記憶部１２２は、学習器（例えば、ＤＮＮ）に関する情報を記憶する。具体的には、学習器情報記憶部１２２は、ＤＮＮに含まれる入力層、中間層および出力層のノードや、ノード間の結合係数に関する情報を記憶する。例えば、学習器情報記憶部１２２は、図１に示す学習器Ｌｅを記憶する。
【００３２】
（制御部１３０について）
制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、学習装置１００内部の記憶装置に記憶されている各種プログラム（学習プログラムの一例に相当）がＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。
【００３３】
制御部１３０は、図２に示すように、受付部１３１と、検出部１３２と、生成部１３３と、学習部１３４とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図２に示した構成に限られず、後述する学習処理を行う構成であれば他の構成であってもよい。また、制御部１３０が有する各処理部の接続関係は、図２に示した接続関係に限られず、他の接続関係であってもよい。
【００３４】
（受付部１３１について）
受付部１３１は、入力データを受け付ける。具体的には、受付部１３１は、入力データとして、学習器に入力する学習用データを受け付ける。例えば、受付部１３１は、学習用データとして、被写体が描出された画像を受け付ける。
【００３５】
（検出部１３２について）
検出部１３２は、データの偏りを検出する。具体的には、検出部１３２は、学習器に入力する学習用データの偏りを検出する。例えば、検出部１３２は、学習器の学習を行う際に、まず、学習用データ記憶部１２１に記憶された学習用データを取得する。そして、検出部１３２は、取得した学習用データの偏りを検出する。一例としては、検出部１３２は、画像に描出された被写体が撮影された向きの偏りを検出する。図３の例では、検出部１３２は、被写体が撮影された向きの偏りとして、被写体が「横」から撮影された画像が「正面」から撮影された画像と比較して相対的に少ないことを検出する。
【００３６】
（生成部１３３について）
生成部１３３は、学習用データの偏りを補完する補完データを生成する。具体的には、生成部１３３は、被写体が描出された画像を用いて、被写体の３次元形状を復元し、復元された被写体の３次元形状に基づいて、被写体を所定の視点以外の視点から描出した画像を生成する。例えば、生成部１３３は、検出部１３２によって学習用データの偏りが検出された場合に、学習用データを用いて学習用データの偏りを補完する補完データを生成する。学習装置１００は、学習用データの偏りを補完する補完データがあれば学習器の学習を高い精度で行うことができるからである。例えば、生成部１３３は、補完データとして、被写体が全方向から撮影された複数の画像のうち被写体が撮影された方向が少ない画像を生成する。
【００３７】
この点について、図４を用いて説明する。図４は実施形態に係る補完データを説明するための説明図である。図４に示すように、生成部１３３は、補完データとして、被写体が撮影された複数の画像のうち被写体を撮影した方向が少ない画像を優先して生成する。例えば、生成部１３３は、被写体が３６０°全方向から撮影された画像が万遍なく揃うように補完データを生成する。そして、生成部１３３は、生成した補完データを学習用データ記憶部１２１に格納する。これにより、学習装置１００は、被写体が３６０°全方向から撮影された画像を学習用データとして万遍なく保持することができる。
【００３８】
図３の例では、生成部１３３は、被写体が「横」から撮影された画像Ｐ２１〜Ｐ２２が「正面」から撮影された画像Ｐ１１〜Ｐ１５と比較して少ないので、被写体が「横」から撮影された画像を補完データとして生成する。
【００３９】
（学習部１３４について）
学習部１３４は、学習器の学習を行う。具体的には、学習部１３４は、生成部１３３が生成した画像を用いて、被写体の特徴を抽出する学習器の学習を行う。例えば、学習部１３４は、生成部１３３によって生成された補完データを用いて学習器の学習を行う。一例としては、学習部１３４は、まず、学習用データ記憶部１２１に記憶された学習用データおよび補完データを取得する。続いて、学習部１３４は、取得した学習用データおよび補完データを学習器に入力する。そして、学習部１３４は、学習器が所定の分類に対応するノードが所定の値を出力するように学習を行う。
【００４０】
一例としては、学習部１３４は、バックプロパゲーション法や教師あり学習によりＤＮＮに含まれるノード間の結合係数を算出する。そして、学習部１３４は、算出した結合係数を学習器に含まれるノード間に設定することで学習を行う。
【００４１】
その後、学習部１３４は、学習を行った学習器を学習器情報記憶部１２２に格納する。これにより、学習装置１００は、被写体が全方向から撮影された画像を学習することができるので、入力データとして入力された画像に描出された被写体がどの方向から撮影されていても被写体を識別可能な学習器を生成することができる。
【００４２】
〔３．学習処理手順〕
次に、図５を用いて、実施形態に係る学習装置１００による学習処理の手順について説明する。図５は、実施形態に係る学習装置１００による学習処理手順を示すフローチャートである。
【００４３】
図５に示すように、学習装置１００は、学習用データを取得する（ステップＳ１０１）。例えば、学習装置１００は、学習用データ記憶部１２１から学習用データとして記憶された画像を取得する。
【００４４】
続いて、学習装置１００は、被写体が描出された画像を用いて、被写体の３次元形状を復元し、復元された被写体の３次元形状に基づいて、被写体を所定の視点以外の視点から描出した画像を生成する。例えば、学習装置１００は、まず、学習用データの偏りを検出する（ステップＳ１０２）。一例としては、学習装置１００は、画像に描出された被写体が撮影された向きの偏りを検出する。そして、学習装置１００は、学習用データの偏りを検出しなかった場合には（ステップＳ１０２；Ｎｏ）、学習用データを用いて学習器の学習を行う（ステップＳ１０５）。そして、学習装置１００は、学習を行った学習器を学習器情報記憶部１２２に格納する（ステップＳ１０６）。
【００４５】
一方、学習装置１００は、学習用データの偏りを検出した場合（ステップＳ１０２；Ｙｅｓ）、学習用データを用いて学習用データの偏りを補完する補完データを生成する（ステップＳ１０３）。例えば、学習装置１００は、補完データとして、被写体が全方向から撮影された複数の画像のうち被写体が撮影された方向が少ない画像を生成する。その後、学習装置１００は、生成した補完データを学習用データ記憶部１２１に格納する（ステップＳ１０４）。
【００４６】
その後、学習装置１００は、学習器の学習を行う（ステップＳ１０５）。具体的には、学習装置１００は、生成した画像を用いて、被写体の特徴を抽出する学習器の学習を行う。例えば、学習装置１００は、入力データである画像に対して被写体が属する分類の特徴に対応するノードが所定の値を出力するノード間の結合係数を算出する。一例としては、学習装置１００は、バックプロパゲーション法により結合係数を算出する。
【００４７】
そして、学習装置１００は、算出した結合係数をノード間の結合係数に設定することで学習器の学習を行う。その後、学習装置１００は、学習を行った学習器を学習器情報記憶部１２２に格納する（ステップＳ１０６）。
【００４８】
〔４．変形例〕
上述した実施形態に係る学習装置１００は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、上記の学習装置１００の他の実施形態について説明する。
【００４９】
〔４−１．オプティカルフロー（１）〕
上記実施形態では、学習装置１００は、検出部１３２によって学習用データの偏りが検出された場合に、学習用データを用いて学習用データの偏りを補完する補完データを生成する例を示した。ここで、学習装置１００は、各種の形態により補完データを生成してもよい。
【００５０】
具体的には、学習装置１００は、時間的に連続する複数の画像に描出された被写体の動きに基づいて画像に描出された被写体または現象を複数の視点から観測した画像を推定し、推定した画像を用いて被写体を所定の視点以外の視点から描出した画像を生成する。
【００５１】
例えば、学習装置１００は、まず、オプティカルフローの技術を用いて、時間的に連続する複数の画像に描出された被写体の動きをベクトルで表現する。一例としては、学習装置１００は、連続した画像に描出された猫の足から猫の足の動きをベクトルで表現する
【００５２】
そして、学習装置１００は、ベクトルで表現された被写体の動きに基づいて被写体を複数の視点から観測した画像を推定する。そして、学習装置１００は、推定した画像を用いて補完データを生成する。具体的には、学習装置１００は、補完データとして、被写体が撮影された複数の画像のうち被写体を撮影した方向が少ない画像を優先して生成する。例えば、学習装置１００は、被写体が３６０°全方向から撮影された画像が万遍なく揃うように補完データを生成する。そして、学習装置１００は、生成した補完データを学習用データ記憶部１２１に格納する。
【００５３】
このように、学習装置１００は、時間的に連続する複数の画像に描出された被写体の動きに基づいて画像に描出された被写体または現象を複数の視点から観測した画像を推定し、推定した画像を用いて被写体を所定の視点以外の視点から描出した画像を生成する。
【００５４】
これにより、学習装置１００は、複数の視点から観測した画像を補完データとして生成することができるので、学習器の学習を高い精度で行うことができる。このため、学習装置１００は、学習器の認識精度を高めることができる。
【００５５】
また、学習装置１００は、各種の画像が学習器の学習を行うのに十分な数になるように補完データを生成してもよい。この点について、図６〜図８を用いて説明する。図６〜図８は、変形例に係る補完データを説明するための説明図である。学習装置１００は、図６に示すように、カメラを移動して被写体を全方向から撮影した画像が学習を行うのに十分な数になるように補完データを生成する。学習装置１００は、全方向から撮影した画像が十分な数になれば学習器の精度を高めることができるからである。
【００５６】
また、学習装置１００は、図７に示すように、複数のカメラを用いて被写体を全方向から撮影した画像が学習を行うのに十分な数になるように補完データを生成してもよい。また、学習装置１００は、図８に示すように、光源を全方向に移動して被写体を撮影した画像が学習を行うのに十分な数になるように補完データを生成してもよい。これにより、学習装置１００は、各方向から光が当たった画像を万遍なく保持することができる。
【００５７】
なお、被写体が描出された画像は、図６〜図８に示すカメラの配置の例に限らず、各種の配置で被写体を撮影した画像でもよい。例えば、被写体が描出された画像は、カメラを直交三眼配置や直列配置、マトリクス配置にして被写体を撮影した画像でもよい。
【００５８】
これにより、学習装置１００は、学習器の学習を行うのに必要な学習用データを万遍なく保持することができるので、学習器の精度を高めることができる。例えば、学習装置１００は、被写体がどの方向から撮影された画像でも被写体を識別する学習器を生成することができる。また、学習装置１００は、例えば、被写体が描出された画像がコントラストのばらつきがある画像でも被写体を識別する学習器を生成することができる。
【００５９】
〔４−２．オプティカルフロー（２）〕
上記変形例では、学習装置１００は、オプティカルフローの技術を用いて補完データを生成する例を示した。ここで、学習装置１００は、公知の技術を用いて被写体の形状を推定し、推定した形状に基づいて補完用データを生成してもよい。
【００６０】
具体的には、学習装置１００は、時間的に連続する複数の画像に描出された被写体の動きに基づいて画像に描出された被写体の形状を推定し、推定した被写体の形状に基づいて被写体を所定の視点以外の視点から描出した画像を生成する。
【００６１】
例えば、学習装置１００は、まず、オプティカルフローの技術を用いて、時間的に連続する複数の画像に描出された被写体の動きをベクトルで表現する。一例としては、学習装置１００は、連続した画像に描出された猫の足から猫の足の動きをベクトルで表現する。
【００６２】
そして、学習装置１００は、ベクトルで表現された被写体の動きに基づいて被写体の形状を推定する。具体的には、学習装置１００は、被写体が撮影された画像の差分から被写体の形状を推定する。例えば、学習装置１００は、カメラを動かして被写体を撮影すると発生する被写体上の同一点の撮像位置の変化から被写体の立体形状を推定する。一例としては、学習装置１００は、因子分解法やステレオ法により被写体の形状を推定する。また、学習装置１００は、光源を動かして被写体を撮影すると発生する同一物体にできた影の濃淡の変化から被写体の立体形状を推定してもよい。
【００６３】
また、学習装置１００は、ベクトルで表現された猫の足の動きから猫の足の形状を推定してもよい。一例としては、学習装置１００は、猫の足の動きから猫の足を特定し、背景を除去することで猫の足の形状を推定する。なお、学習装置１００は、上述した例に限らず、公知となっている各種の技術により被写体の形状を推定してもよい。そして、学習装置１００は、推定した形状から被写体を３Ｄモデル化する。
【００６４】
その後、学習装置１００は、推定した形状を用いて補完データを生成する。例えば、学習装置１００は、３Ｄモデル化した被写体の形状を用いて被写体が描出された画像をレンダリングする。一例としては、学習装置１００は、補完データとして、被写体が撮影された複数の画像のうち被写体を撮影した方向が少ない画像を優先して生成する。他の例では、学習装置１００は、被写体の３Ｄモデルを用いて、被写体が撮影された複数の画像のうち被写体の部位が少ない画像を優先して補完データを生成する。
【００６５】
このように、学習装置１００は、時間的に連続する複数の画像に描出された被写体の動きに基づいて画像に描出された被写体の形状を推定し、推定した被写体の形状に基づいて被写体を所定の視点以外の視点から描出した画像を生成する。
【００６６】
これにより、学習装置１００は、相対的に少ない画像を補完データとして生成することができるので、学習器の学習を高い精度で行うことができる。このため、学習装置１００は、学習器の認識精度を高めることができる。また、学習装置１００は、被写体の形状を３Ｄモデル化することができるので、例えば、被写体が撮影されていない方向から撮影した画像を補完データとして生成することができる。このため、学習装置１００は、学習器の認識精度を高めることができるとともに、バリエーションに富んだ学習用データの画像を用意する手間を減らすことができる。
【００６７】
〔４−３．補完データ〕
上記実施形態では、学習装置１００は、被写体が横から撮影された画像が正面から撮影された画像と比較して少ない場合に、被写体が横から撮影された画像を生成する例を示した。ここで、学習装置１００は、各種の補完データを生成してもよい。
【００６８】
具体的には、学習装置１００は、撮影された被写体の部位のうち相対的に枚数が少ない部位の画像を生成する。例えば、学習装置１００は、被写体の「体」が撮影された画像が「顔」が撮影された画像と比較して少ない場合に、被写体の「体」が撮影された画像を生成する。
【００６９】
また、学習装置１００は、補完データとして、学習用データを反転した画像を生成してもよい。また、学習装置１００は、補完データとして、学習用データの画像の濃淡や色を変換した画像を生成してもよい。
【００７０】
このように、学習装置１００は、各種の補完データを生成する。これにより、学習装置１００は、学習器の学習を高い精度で行うことができるので、学習器の認識精度を高めることができる。
【００７１】
また、図３の例では、説明を簡単にするため、被写体が撮影された方向を「正面」と「横」の２つのカテゴリに分類しているが、これに限らず、各種のカテゴリに分類してもよい。例えば、被写体が撮影された方向を「正面」、「右横」、「左横」、「背後」などといった細分化したカテゴリに分類してもよい。この場合、学習装置１００は、画像の偏りをより厳密に検出することができるので、学習用データの偏りを高い精度で減らすことができる。このため、学習装置１００は、学習器を高い精度で学習することができる。
【００７２】
〔４−４．適用対象〕
上記実施形態では、学習装置１００は、画像に描出された被写体の偏りを検出する例を示した。ここで、学習装置１００は、画像に描出された被写体の偏りに限らず、画像に描出された現象の偏りを検出してもよい。これにより、学習装置１００は、画像に描出された現象の偏りを補完する補完データを生成することができるので、バリエーションに富んだ学習を行うことができる。
【００７３】
〔４−５．ＤＮＮ〕
上記実施形態では、学習装置１００は、入力層、中間層および出力層によって構成される学習器を生成する例を示した。ここで、学習装置１００は、各種の層に任意の数のノード群を含む学習器を生成してもよい。例えば、学習装置１００は、中間層に複数のノード群が含まれる多段の学習器を生成する。また、学習器に含まれるノード群は、任意の数のノードによって構成されてもよい。
【００７４】
〔４−６．装置構成〕
上記実施形態では、学習装置１００は、学習器の学習を行う学習処理は行わず、生成部１３３による生成処理のみを行う学習装置であってもよい。この場合、学習装置は、少なくとも学習部１３４を有しない。そして、学習部１３４を有する学習装置が、学習装置１００によって生成された補完データを用いて学習器の学習を行う。
【００７５】
〔４−７．その他〕
上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【００７６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図２に示した検出部１３２および生成部１３３は統合されてもよい。
【００７７】
〔４−８．ハードウェア構成〕
また、上述してきた実施形態に係る学習装置１００は、例えば図９に示すような構成のコンピュータ１０００によって実現される。以下、学習装置１００を例に挙げて説明する。図９は、学習装置１００の機能を実現するコンピュータ１０００の一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ１３００、ＨＤＤ１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、およびメディアインターフェイス（Ｉ／Ｆ）１７００を有する。
【００７８】
ＣＰＵ１１００は、ＲＯＭ１３００またはＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【００７９】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、および、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス１５００は、通信網５００を介して他の機器からデータを受信してＣＰＵ１１００へ送り、ＣＰＵ１１００が生成したデータを通信網５００を介して他の機器へ送信する。
【００８０】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、生成したデータを入出力インターフェイス１６００を介して出力装置へ出力する。
【００８１】
メディアインターフェイス１７００は、記録媒体１８００に格納されたプログラムまたはデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto  Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【００８２】
例えば、コンピュータ１０００が実施形態に係る学習装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、制御部１３０の機能を実現する。また、ＨＤＤ１４００には、記憶部１２０内のデータが格納される。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムを記録媒体１８００から読み取って実行するが、他の例として、他の装置から通信網５００を介してこれらのプログラムを取得してもよい。
【００８３】
〔５．効果〕
上述してきたように、実施形態に係る学習装置１００は、生成部１３３と、学習部１３４とを有する。生成部１３３は、被写体が描出された画像を用いて、被写体の３次元形状を復元し、復元された被写体の３次元形状に基づいて、被写体を所定の視点以外の視点から描出した画像を生成する。学習部１３４は、生成部１３３が生成した画像を用いて、被写体の特徴を抽出する学習器の学習を行う。
【００８４】
また、実施形態に係る学習装置１００において、検出部１３２は、画像に描出された被写体または現象の偏りを検出する。生成部１３３は、検出部１３２によって被写体または現象の偏りが検出された場合に、被写体を所定の視点以外の視点から描出した画像を生成する。
【００８５】
これにより、実施形態に係る学習装置１００は、学習用データの数が十分にない場合でも学習用データを増やすことができるので、学習器の学習を容易に行うことができる。例えば、学習装置１００は、学習用データを用いて補完用データを生成することができるので、学習用データを集める手間を減らすことができる。また、学習装置１００は、学習用データの数が十分にない場合でも学習器の学習を行うことができる。
【００８６】
また、学習装置１００は、学習用データのうち偏りがあって相対的に少ないデータを増やすことができるので、学習器の入力データに対する出力の精度を高めることができる。例えば、学習装置１００は、被写体が横から撮影された画像が正面から撮影された画像と比較して少ない場合に被写体が横から撮影された画像を生成することができるので、被写体の特徴をより高い精度で捉えた学習器の学習を行うことができる。このため、学習装置１００は、学習器の認識精度を高めることができる。
【００８７】
また、変形例に係る学習装置１００において、生成部１３３は、被写体を所定の視点以外の視点から描出した画像として、被写体が撮影された複数の画像のうち被写体を撮影した方向が少ない画像を優先して生成する。
【００８８】
これにより、変形例に係る学習装置１００は、学習用データのうち偏りがあって相対的に少ないデータを増やすことができるので、学習器の入力データに対する出力の精度を高めることができる。
【００８９】
また、変形例に係る学習装置１００において、生成部１３３は、時間的に連続する複数の画像に描出された被写体の動きに基づいて画像に描出された被写体または現象を複数の視点から観測した画像を推定し、推定した画像を用いて被写体を所定の視点以外の視点から描出した画像を生成する。
【００９０】
これにより、変形例に係る学習装置１００は、学習器の学習を行うのに必要な学習用データを万遍なく保持することができるので、学習器の精度を高めることができる。例えば、学習装置１００は、被写体がどの方向から撮影された画像でも被写体を識別する学習器を生成することができる。また、学習装置１００は、例えば、被写体が描出された画像がコントラストのばらつきがある画像でも被写体を識別する学習器を生成することができる。
【００９１】
また、変形例に係る学習装置１００において、生成部１３３は、時間的に連続する複数の画像に描出された被写体の動きに基づいて画像に描出された被写体の形状を推定し、推定した被写体の形状に基づいて被写体を所定の視点以外の視点から描出した画像を生成する。
【００９２】
これにより、変形例に係る学習装置１００は、相対的に少ない画像を補完データとして生成することができるので、学習器の学習を高い精度で行うことができる。このため、学習装置１００は、学習器の認識精度を高めることができる。また、学習装置１００は、被写体の形状を３Ｄモデル化することができるので、例えば、被写体が撮影されていない方向から撮影した画像を補完データとして生成することができる。このため、学習装置１００は、学習器の認識精度を高めることができるとともに、バリエーションに富んだ学習用データの画像を用意する手間を減らすことができる。
【００９３】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【符号の説明】
【００９４】
１００  学習装置
１２１  学習用データ記憶部
１２２  学習器情報記憶部
１３１  受付部
１３２  検出部
１３３  生成部
１３４  学習部
【図１】
0006664579.tif 000002
【図２】
0006664579.tif 000003
【図３】
0006664579.tif 000004
【図４】
0006664579.tif 000005
【図５】
0006664579.tif 000006
【図６】
0006664579.tif 000007
【図７】
0006664579.tif 000008
【図８】
0006664579.tif 000009
【図９】
0006664579.tif 000010