(57)【要約】【課題】少ない学習データで、精度の高い画像の属性推定を行う。【解決手段】入力部１１は、画像の入力を受け付ける。また、領域分割部１２１は、入力部１１に入力された入力画像を所定の規則に従い複数の分割画像に分割する。また、特徴抽出部１２２は、画像を複数のカテゴリのいずれかに分類する、学習済みの、１つのＤＮＮの一部に、複数の分割画像を入力し、複数の分割画像のそれぞれに対応した特徴量を抽出する。また、属性推定部１２３は、特徴量を基に回帰分析を行い、入力画像の特定のカテゴリに関する複数の属性を推定する。【選択図】図１
2018032340.tif 000002
【特許請求の範囲】
【請求項１】
画像の入力を受け付ける入力部と、
前記入力部に入力された入力画像を所定の規則に従い複数の分割画像に分割する領域分割部と、
画像を複数のカテゴリのいずれかに分類する、学習済みの、１つのディープニューラルネットワークの一部に、前記複数の分割画像を入力し、前記複数の分割画像のそれぞれに対応した特徴量を抽出する特徴抽出部と、
前記特徴量を基に回帰分析を行い、前記入力画像の特定のカテゴリに関する複数の属性を推定する属性推定部と、
を有することを特徴とする属性推定装置。
【請求項２】
前記属性推定部は、前記特徴量のうち、推定する属性のそれぞれに対応した特徴量を用いて回帰分析を行うことを特徴とする請求項１に記載の属性推定装置。
【請求項３】
前記特徴抽出部は、前記属性推定部によって推定された属性を基に、前記ディープニューラルネットワークの重みを誤差逆伝播法で更新することを特徴とする請求項１または２に記載の属性推定装置。
【請求項４】
前記属性推定部は、前記入力画像の人物に関する属性を推定することを特徴とする請求項１から３のいずれか１項に記載の属性推定装置。
【請求項５】
属性推定装置によって実行される属性推定方法であって、
画像の入力を受け付ける入力工程と、
前記入力工程で入力された入力画像を所定の規則に従い複数の分割画像に分割する領域分割工程と、
画像を複数のカテゴリのいずれかに分類する、学習済みの、１つのディープニューラルネットワークの一部に、前記複数の分割画像を入力し、前記複数の分割画像のそれぞれに対応した特徴量を抽出する特徴抽出工程と、
前記特徴量を基に回帰分析を行い、前記入力画像の特定のカテゴリに関する複数の属性を推定する属性推定工程と、
を含んだことを特徴とする属性推定方法。
【請求項６】
コンピュータを、請求項１から４のいずれか１項に記載の属性推定装置として機能させるための属性推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、属性推定装置、属性推定方法および属性推定プログラムに関する。
【背景技術】
【０００２】
従来、画像を分析して、画像に映る対象の属性を推定する技術が知られている。例えば、人物が映った画像を分割し、人物属性推定のためのニューラルネットワークを用いて、当該人物の年齢や性別といった人物属性を推定する技術が知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Jianqing  Zhu,  Shengcai  Liao,  Dong  Yi,  Zhen  Lei,  Stan  Z.  Li,  "Multi-label  CNN  Based  Pedestrian  Attribute  Learning  for  Soft  Biometrics"
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術には、少ない学習データでは、精度の高い画像の属性推定を行うことができない場合があるという問題があった。例えば、人物属性推定用のデータセットを大量に用意することは困難であるため、人物属性推定のためのディープニューラルネットワークを十分に学習させることができず、推定の精度を高くできない場合があった。
【課題を解決するための手段】
【０００５】
本発明の属性推定装置は、画像の入力を受け付ける入力部と、前記入力部に入力された入力画像を所定の規則に従い複数の分割画像に分割する領域分割部と、画像を複数のカテゴリのいずれかに分類する、学習済みの、１つのディープニューラルネットワークの一部に、前記複数の分割画像を入力し、前記複数の分割画像のそれぞれに対応した特徴量を抽出する特徴抽出部と、前記特徴量を基に回帰分析を行い、前記入力画像の特定のカテゴリに関する複数の属性を推定する属性推定部と、を有することを特徴とする。
【０００６】
本発明の属性推定方法は、属性推定装置によって実行される属性推定方法であって、画像の入力を受け付ける入力工程と、前記入力工程で入力された入力画像を所定の規則に従い複数の分割画像に分割する領域分割工程と、画像を複数のカテゴリのいずれかに分類する、学習済みの、１つのディープニューラルネットワークの一部に、前記複数の分割画像を入力し、前記複数の分割画像のそれぞれに対応した特徴量を抽出する特徴抽出工程と、前記特徴量を基に回帰分析を行い、前記入力画像の特定のカテゴリに関する複数の属性を推定する属性推定工程と、を含んだことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、少ない学習データで精度の高い画像の属性推定を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態に係る属性推定装置の構成の一例を示す図である。
【図２】図２は、属性推定装置の処理の概要について説明するための図である。
【図３】図３は、画像の分割方法の一例を示す図である。
【図４】図４は、画像の分割方法の一例を示す図である。
【図５】図５は、ＤＮＮの一例を示す図である。
【図６】図６は、第１の実施形態に係る属性推定装置の処理の流れを示すフローチャートである。
【図７】図７は、プログラムが実行されることにより属性推定装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【０００９】
以下に、本願に係る属性推定装置、属性推定方法および属性推定プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【００１０】
［第１の実施形態の構成］
まず、図１を用いて、第１の実施形態に係る属性推定装置の構成について説明する。図１は、第１の実施形態に係る属性推定装置の構成の一例を示す図である。図１に示すように、属性推定装置１０は、入力部１１、制御部１２および出力部１３を有する。
【００１１】
入力部１１は、画像の入力を受け付ける。入力部１１には、例えば、防犯カメラの映像等に基づく、人物が映った画像が入力される。この場合、属性推定装置１０は、人物の属性を推定する。人物の属性には、例えば、人物の年齢、性別、服装等がある。本実施形態では、属性推定装置１０が人物属性を推定する場合の例について説明する。
【００１２】
制御部１２は、属性推定装置１０全体を制御する。制御部１２は、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）、ＧＰＵ（Graphics  Processing  Unit）等の集積回路である。また、制御部１２は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。また、制御部１２は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部１２は、領域分割部１２１、特徴抽出部１２２および属性推定部１２３を有する。
【００１３】
ここで、図２を用いて属性推定装置１０の処理の概要について説明する。図２は、属性推定装置の処理の概要について説明するための図である。まず、領域分割部１２１は、入力部１１に入力された入力画像を所定の規則に従い複数の分割画像に分割する。図２に示すように、属性推定装置１０は、例えば、入力画像を分割画像１〜３に分割する。
【００１４】
領域分割部１２１によって分割される分割画像の数は３つに限定されず、規則にあわせた任意の数とすることができる。ここで、図３および４を用いて、領域分割部１２１による画像分割方法について説明する。図３および４は、画像の分割方法の一例を示す図である。
【００１５】
図３に示すように、領域分割部１２１は、あらかじめ指定された分割サイズおよび分割数に従って、入力画像を等分割することができる。図３の例では、領域分割部１２１は、入力画像を１５個の分割画像に分割している。
【００１６】
また、図４に示すように、領域分割部１２１は、入力画像に映った人物の部位を検出し、検出した部位に基づいて分割を行うことができる。図４の例では、領域分割部１２１は、入力画像に映った人物の頭、右腕、胴体、左腕、右足および左足を検出し、入力画像を、検出した部位のそれぞれを含んだ６個の分割画像に分割している。
【００１７】
次に、特徴抽出部１２２は、複数の分割画像を１つのディープニューラルネットワーク（ＤＮＮ）であるＤＮＮ１２２ａに入力し、複数の分割画像のそれぞれに対応した特徴量を抽出する。ここで、ＤＮＮ１２２ａは、画像を複数のカテゴリのいずれかに分類する、学習済みの、１つのＤＮＮの一部である。
【００１８】
図５を用いてＤＮＮ１２２ａについて説明する。図５は、ＤＮＮの一例を示す図である。ＤＮＮ１２２ａは、ＤＮＮ１２２ｂの一部である。ここで、ＤＮＮ１２２ｂは、一般物体認識、すなわち画像に映った物体を認識し、画像を複数のカテゴリのいずれかに分類するためのＤＮＮである。図５の例では、ＤＮＮ１２２ｂは、入力画像をネコ、机、飛行機といったカテゴリに分類する。
【００１９】
また、ＤＮＮ１２２ｂは、人物属性推定用の画像に限らず、様々なジャンルの画像データセットを用いて学習されていることとする。例えば、ＤＮＮ１２２ｂは、ＩｍａｇｅＮｅｔ（参考ＵＲＬ：http://image-net.org/）等の画像を用いて学習されていてもよい。
【００２０】
また、ＤＮＮ１２２ａは、ＤＮＮ１２２ｂの一部である。一般的に、画像認識に用いられるＤＮＮでは、下位層ほどエッジや色等の抽象的な特徴を獲得できるフィルタを学習している。そこで、計算量を抑えつつ、より一般的な特徴量を抽出できるようにするため、図５の例では、ＤＮＮ１２２ｂの、下位層である第１層から第３層までをＤＮＮ１２２ａとしている。なお、ＤＮＮ１２２ａは、ＤＮＮ１２２ｂの全部であってもよい。
【００２１】
属性推定部１２３は、特徴量を基に回帰分析を行い、入力画像の特定のカテゴリに関する複数の属性を推定する。本実施形態では、属性推定部１２３は、入力画像の人物カテゴリに関する属性、すなわち人物属性を推定する。また、特徴抽出部１２２は、属性推定部１２３によって推定された属性を基に、ＤＮＮ１２２ａの重みを更新してもよい。
【００２２】
図２に示すように、属性推定部１２３は、各属性に対応した回帰分析を行う。属性推定部１２３は、複数の分割画像のそれぞれに対応した特徴量のうち、推定する属性のそれぞれに対応した特徴量を用いて回帰分析を行う。このとき、各回帰分析について、どの分割画像の特徴量を入力とするかは事前に定義されていることとする。また、属性推定部１２３は、全ての分割画像の特徴量を１つの回帰分析の入力としてもよい。属性推定部１２３は、属性推定の結果として、例えば、入力画像が各属性を有する確率を出力する。
【００２３】
例えば、「赤いシャツを着ている」という人物属性には、入力画像の人物の上半身が映った部分が影響することがわかっている。このため、属性推定部１２３は、「赤いシャツを着ている」という属性の推定を行う場合、入力画像の上の方に対応する分割画像（例えば、図３の１〜９の番号が付された分割画像）に対応した特徴量を回帰分析の入力とする。
【００２４】
一方、「男女」や「年齢」等の属性には、入力画像のどの部分が直接的に影響するかが不明である。このため、属性推定部１２３は、「男女」や「年齢」という属性の推定を行う場合、全ての分割画像に対応した特徴量を回帰分析の入力とする。なお、属性推定部１２３は、ＤＮＮを用いた回帰分析を行うこととしてもよい。
【００２５】
ここで、特徴抽出部１２２によるＤＮＮ１２２ａの重みの更新について説明する。まず、ＤＮＮ１２２ａの重みの初期値は、ＤＮＮ１２２ｂの学習済みの重みである。属性推定部１２３による属性の推定が行われた後、特徴抽出部１２２は、推定された属性に基づいてＤＮＮ１２２ａおよび回帰分析の重みを誤差逆伝播法で更新する。また、特徴抽出部１２２は、ＤＮＮ１２２ａの重みは初期値のままとし、回帰分析の重みを更新するようにしてもよい。なお、回帰分析の重みの初期値は、例えば０を中心とした乱数とすることができる。
【００２６】
［第１の実施形態の処理］
図６を用いて、属性推定装置１０の処理の流れについて説明する。図６は、第１の実施形態に係る属性推定装置の処理の流れを示すフローチャートである。図６に示すように、入力部１１は、入力画像の入力を受け付ける画像入力処理を行う（ステップＳ１１）。次に、領域分割部１２１は、入力画像を所定の規則に従って複数の分割画像に分割する領域分割処理を行う（ステップＳ１２）。
【００２７】
そして、特徴抽出部１２２は、複数の分割画像を１つのＤＮＮに入力し、特徴抽出処理を行う（ステップＳ１３）。次に、属性推定部１２３は、特徴量を基に回帰分析を行い、入力画像の各属性を推定する属性推定処理を行う（ステップＳ１４）。
【００２８】
［第１の実施形態の効果］
入力部１１は、画像の入力を受け付ける。また、領域分割部１２１は、入力部１１に入力された入力画像を所定の規則に従い複数の分割画像に分割する。また、特徴抽出部１２２は、画像を複数のカテゴリのいずれかに分類する、学習済みの、１つのＤＮＮの一部に、複数の分割画像を入力し、複数の分割画像のそれぞれに対応した特徴量を抽出する。また、属性推定部１２３は、特徴量を基に回帰分析を行い、入力画像の特定のカテゴリに関する複数の属性を推定する。
【００２９】
これにより、本実施形態によれば、少ない学習データで、精度の高い画像の属性推定を行うことができる。例えば、人物属性推定用のデータセットを大量に用意することができず、ＤＮＮの学習が十分に行えない場合であっても、別のカテゴリのデータセットにより学習済みのＤＮＮを用いることで、通算した重みの更新回数を増加させることができ、推定精度を高めることができる。
【００３０】
また、様々なカテゴリ分類に使われたＤＮＮを用いることで、一般的な特徴が抽出できる。抽出された一般的な特徴は、多様な画像に適合することが考えられるため、複数の分割画像のそれぞれに対応したＤＮＮを用意することなく、推定精度を高くすることが可能となる。
【００３１】
また、特徴抽出部１２２は、別のカテゴリ分類に使われたＤＮＮを特徴抽出器として利用することになるため、ＤＮＮの過学習を防ぐことができる。さらに、特徴抽出部１２２は、複数の分割画像ごとに異なるＤＮＮを用意することなく、１つのＤＮＮを用いて特徴抽出を行うため、省メモリを実現することができる。
【００３２】
また、属性推定部１２３は、特徴量のうち、推定する属性のそれぞれに対応した特徴量を用いて回帰分析を行ってもよい。このように、本実施形態では、特徴抽出部１２２に一般的な特徴量の抽出を実行させ、属性推定部１２３に推定する属性に応じた特徴量を入力することができるため、効率的に属性推定を行うことができるようになる。
【００３３】
また、属性推定部１２３は、入力画像の人物に関する属性を推定してもよい。人物に関する属性を推定する場合、属性によっては、人物の特定の部位が推定に有効である場合がある。このような属性を推定する場合、属性推定部１２３は、特定の部位が含まれた分割画像の特徴量のみを用いて属性推定を行うことができる。これにより、本実施形態によれば、効率的に人物に関する属性推定を行うことができるようになる。
【００３４】
また、特徴抽出部１２２は、属性推定部１２３によって推定された属性を基に、ＤＮＮの重みを誤差逆伝播法で更新してもよい。これにより、属性推定の結果を、個々の属性に関する部分のみに反映させるのではなく、ＤＮＮ全体に反映させることができるため、マルチタスクによる学習が実現され、推定精度を高めることができる。
【００３５】
［システム構成等］
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００３６】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００３７】
［プログラム］
一実施形態として、属性推定装置１０は、パッケージソフトウェアやオンラインソフトウェアとして上記の属性推定を実行する属性推定プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の属性推定プログラムを情報処理装置に実行させることにより、情報処理装置を属性推定装置１０として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）等の移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistant）等のスレート端末等がその範疇に含まれる。
【００３８】
また、属性推定装置１０は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の属性推定に関するサービスを提供する属性推定サーバ装置として実装することもできる。例えば、属性推定サーバ装置は、画像を入力とし、各属性の推定結果を出力とする属性推定サービスを提供するサーバ装置として実装される。この場合、属性推定サーバ装置は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の属性推定に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【００３９】
図７は、プログラムが実行されることにより属性推定装置が実現されるコンピュータの一例を示す図である。コンピュータ１０００は、例えば、メモリ１０１０、ＣＰＵ１０２０、ＧＰＵ１０２５を有する。また、コンピュータ１０００は、ハードディスクドライブインタフェース１０３０、ディスクドライブインタフェース１０４０、シリアルポートインタフェース１０５０、ビデオアダプタ１０６０、ネットワークインタフェース１０７０を有する。これらの各部は、バス１０８０によって接続される。
【００４０】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０９０に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１１００に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ１１００に挿入される。シリアルポートインタフェース１０５０は、例えばマウス１１１０、キーボード１１２０に接続される。ビデオアダプタ１０６０は、例えばディスプレイ１１３０に接続される。
【００４１】
ハードディスクドライブ１０９０は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、属性推定装置１０の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール１０９３として実装される。プログラムモジュール１０９３は、例えばハードディスクドライブ１０９０に記憶される。例えば、属性推定装置１０における機能構成と同様の処理を実行するためのプログラムモジュール１０９３が、ハードディスクドライブ１０９０に記憶される。なお、ハードディスクドライブ１０９０は、ＳＳＤ（Solid  State  Drive）により代替されてもよい。
【００４２】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ１０９４として、例えばメモリ１０１０やハードディスクドライブ１０９０に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０９０に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して実行する。
【００４３】
なお、プログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０９０に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ１１００等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、プログラムモジュール１０９３およびプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール１０９３およびプログラムデータ１０９４は、他のコンピュータから、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。なお、上述したＣＰＵ１０２０による処理は、ＧＰＵ１０２５によって行われてもよい。
【符号の説明】
【００４４】
１０  属性推定装置
１１  入力部
１２  制御部
１３  出力部
１２１  領域分割部
１２２  特徴抽出部
１２３  属性推定部
【図１】
2018032340.tif 000003
【図２】
2018032340.tif 000004
【図３】
2018032340.tif 000005
【図４】
2018032340.tif 000006
【図５】
2018032340.tif 000007
【図６】
2018032340.tif 000008
【図７】
2018032340.tif 000009