(57)【要約】【課題】画像の属性を精度よく識別できる。【解決手段】属性識別部２３０は、属性が未知の画像を入力とし、画像が複数の属性の各々を有する確率を出力する畳み込みニューラルネットワークと、畳み込みニューラルネットワークの出力、及び属性間の相関関係を示すポテンシャル関数を用いて、属性間の相関関係に応じた、複数の属性の各々を有する確率を出力するレイヤとを含む多層ニューラルネットワークモデルに基づいて、画像が有する少なくとも１つの属性を識別する。【選択図】図５
2019028484.tif 000002
【特許請求の範囲】
【請求項１】
属性が未知の画像を入力とし、
予め学習された、前記画像が複数の属性の各々を有する確率を出力する畳み込みニューラルネットワークと、前記畳み込みニューラルネットワークの出力、及び属性間の相関関係を示すポテンシャル関数を用いて、前記属性間の相関関係に応じた、前記複数の属性の各々を有する確率を出力するレイヤとを含む多層ニューラルネットワークモデルに基づいて、前記画像が有する少なくとも１つの属性を識別する属性識別部、
を含む属性識別装置。
【請求項２】
前記ポテンシャル関数は、前記複数の属性の各々に対応した複数の属性ラベルの組み合わせを表すクリークの各々についての、前記クリークに含まれる前記属性ラベル間の値の組み合わせの確率値を求める関数であり、
前記属性識別部は、前記多層ニューラルネットワークモデルの、前記属性間の相関関係に応じた、前記複数の属性の各々を有する確率を出力するレイヤにおいて、
前記クリークの各々について、前記ポテンシャル関数を用いて、前記クリークに含まれる前記属性ラベル毎に、前記属性ラベルが各値となる確率を算出する周辺化処理と、
前記クリークの各々について、前記クリークに含まれる前記属性ラベル毎に、前記周辺化処理により得られた各クリークの前記属性ラベルが各値となる確率と、前記畳み込みニューラルネットワークの出力とを用いて、前記属性ラベルが各値となる確率を算出する積算処理と、
前記積算処理により前記クリークの各々について前記属性ラベル毎に得られた、前記属性ラベルが各値となる確率を正規化する正規化処理とを繰り返し行う
請求項１に記載の属性識別装置。
【請求項３】
複数の属性のうちの少なくとも１つの属性が付与された複数の画像に基づいて、前記画像が複数の属性の各々を有する確率を出力する畳み込みニューラルネットワークと、前記畳み込みニューラルネットワークの出力、及び属性間の相関関係を示すポテンシャル関数を用いて、前記属性間の相関関係に応じた、前記複数の属性の各々を有する確率を出力するレイヤとを含む多層ニューラルネットワークモデルのうちの前記畳み込みニューラルネットワークのパラメータと、前記属性間の相関関係を示すポテンシャル関数とを学習する属性識別モデル学習部、
を含む属性識別モデル学習装置。
【請求項４】
属性が未知の画像を入力とし、
属性識別部が、予め学習された、前記画像が複数の属性の各々を有する確率を出力する畳み込みニューラルネットワークと、前記畳み込みニューラルネットワークの出力、及び属性間の相関関係を示すポテンシャル関数を用いて、前記属性間の相関関係に応じた、前記複数の属性の各々を有する確率を出力するレイヤとを含む多層ニューラルネットワークモデルに基づいて、前記画像が有する少なくとも１つの属性を識別するステップ、
を含む属性識別方法。
【請求項５】
前記ポテンシャル関数は、前記複数の属性の各々に対応した複数の属性ラベルの組み合わせを表すクリークの各々についての、前記クリークに含まれる前記属性ラベル間の値の組み合わせの確率値を求める関数であり、
前記属性識別部が識別するステップは、前記多層ニューラルネットワークモデルの、前記属性間の相関関係に応じた、前記複数の属性の各々を有する確率を出力するレイヤにおいて、
前記クリークの各々について、前記ポテンシャル関数を用いて、前記クリークに含まれる前記属性ラベル毎に、前記属性ラベルが各値となる確率を算出する周辺化処理と、
前記クリークの各々について、前記クリークに含まれる前記属性ラベル毎に、前記周辺化処理により得られた各クリークの前記属性ラベルが各値となる確率と、前記畳み込みニューラルネットワークの出力とを用いて、前記属性ラベルが各値となる確率を算出する積算処理と、
前記積算処理により前記クリークの各々について前記属性ラベル毎に得られた、前記属性ラベルが各値となる確率を正規化する正規化処理とを繰り返し行う
請求項４に記載の属性識別方法。
【請求項６】
属性識別モデル学習部が、複数の属性のうちの少なくとも１つの属性が付与された複数の画像に基づいて、前記画像が複数の属性の各々を有する確率を出力する畳み込みニューラルネットワークと、前記畳み込みニューラルネットワークの出力、及び属性間の相関関係を示すポテンシャル関数を用いて、前記属性間の相関関係に応じた、前記複数の属性の各々を有する確率を出力するレイヤとを含む多層ニューラルネットワークモデルのうちの前記畳み込みニューラルネットワークのパラメータと、前記属性間の相関関係を示すポテンシャル関数とを学習するステップ、
を含む属性識別モデル学習方法。
【請求項７】
コンピュータを、請求項１若しくは請求項２に記載の属性識別装置、又は請求項３に記載の属性識別モデル学習装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、属性識別装置、属性識別モデル学習装置、方法、及びプログラムに係り、特に、画像の属性を識別するための属性識別装置、属性識別モデル学習装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
ネットワーク上に存在する大量の画像データの効率的な管理や検索のため、画像に関連する属性を自動識別することが求められている。画像に付与される属性の種類は、例えばシーンを表す単語や、画像中の物体の名前を表す単語など様々である。１枚の画像に対して複数の属性が付与され得るが、それらの属性同士が有意な相関関係を持つことがある。例えば反対の意味を持つ形容詞が１枚の画像に共存するということはまれであると考えられるように、ある属性が付与されている場合に他の特定の属性が共起しやすい、あるいはしにくいといった相関関係がある。このような画像に付与される属性の相関関係は、属性の自動識別における識別精度向上に利用することができると考えられる。
【０００３】
複数の属性を同時に識別する一般的な手法として、非特許文献１にみられるように、個別の属性に対して各々の識別器を学習する方法がある。このアプローチでは、十分な量の学習データによって学習を行うことで、ある程度の高精度な識別が可能となる。
【０００４】
属性の相関関係を用いて識別精度を向上させる試みとして、非特許文献２では、条件付き確率場（ＣＲＦ）を活用して属性同士の相関関係を属性識別に組み込んでいる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Zhang, N., Paluri, M, Ranzato, M., Darrell, T. and Bourdev, L.: PANDA: Pose aligned networks for deep attribute modeling, CVPR(2014).
【非特許文献２】K. Yamaguchi, T. Okatani, K. Sudo, K. Murasaki and Y. Taniguchi,: Mix and Match: Joint Model for Clothing and Attribute Recognigion, BMVC(2015).
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述のようにネットワーク上に存在する大量の画像データの効率的な管理や検索のため、画像の属性の自動識別が求められている。また、同一の画像に対して複数の属性が存在し、それらは何らかの相関関係を持つことが多い。
【０００７】
しかしながら、非特許文献１の技術では、属性の相関関係を学習に組み込むことはできておらず、不自然な識別結果が得られる可能性がある。
【０００８】
また、非特許文献２の技術では、個別の属性識別の結果に基づき、後処理として属性の相関関係に基づく最適化を独立して行っているため、個別の識別結果に大きく依存してしまう手法となっている。
【０００９】
このように従来技術では属性の相関関係を属性個別の識別器による識別結果の後処理として用いるにとどまっており、属性の相関関係を属性の識別と同時に精度よく学習することが課題となっていた。
【００１０】
本発明は、上記問題点を解決するために成されたものであり、画像の属性を精度よく識別できる属性識別装置、方法、及びプログラムを提供することを目的とする。
【００１１】
また、画像の属性を識別するための畳み込みニューラルネットワークと、属性間の相関関係とを同時に学習できる属性識別モデル学習装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、第１の発明に係る属性識別装置は、属性が未知の画像を入力とし、予め学習された、前記画像が複数の属性の各々を有する確率を出力する畳み込みニューラルネットワークと、前記畳み込みニューラルネットワークの出力、及び属性間の相関関係を示すポテンシャル関数を用いて、前記属性間の相関関係に応じた、前記複数の属性の各々を有する確率を出力するレイヤとを含む多層ニューラルネットワークモデルに基づいて、前記画像が有する少なくとも１つの属性を識別する属性識別部、を含んで構成されている。
【００１３】
また、第１の発明に係る属性識別装置において、前記ポテンシャル関数は、前記複数の属性の各々に対応した複数の属性ラベルの組み合わせを表すクリークの各々についての、前記クリークに含まれる前記属性ラベル間の値の組み合わせの確率値を求める関数であり、前記属性識別部は、前記多層ニューラルネットワークモデルの、前記属性間の相関関係に応じた、前記複数の属性の各々を有する確率を出力するレイヤにおいて、前記クリークの各々について、前記ポテンシャル関数を用いて、前記クリークに含まれる前記属性ラベル毎に、前記属性ラベルが各値となる確率を算出する周辺化処理と、前記クリークの各々について、前記クリークに含まれる前記属性ラベル毎に、前記周辺化処理により得られた各クリークの前記属性ラベルが各値となる確率と、前記畳み込みニューラルネットワークの出力とを用いて、前記属性ラベルが各値となる確率を算出する積算処理と、前記積算処理により前記クリークの各々について前記属性ラベル毎に得られた、前記属性ラベルが各値となる確率を正規化する正規化処理とを繰り返し行うようにしてもよい。
【００１４】
また、第２の発明に係る属性識別モデル学習装置は、複数の属性のうちの少なくとも１つの属性が付与された複数の画像に基づいて、前記画像が複数の属性の各々を有する確率を出力する畳み込みニューラルネットワークと、前記畳み込みニューラルネットワークの出力、及び属性間の相関関係を示すポテンシャル関数を用いて、前記属性間の相関関係に応じた、前記複数の属性の各々を有する確率を出力するレイヤとを含む多層ニューラルネットワークモデルのうちの前記畳み込みニューラルネットワークのパラメータと、前記属性間の相関関係を示すポテンシャル関数とを学習する属性識別モデル学習部、を含んで構成されている。
【００１５】
第３の発明に係る属性識別方法は、属性が未知の画像を入力とし、属性識別部が、予め学習された、前記画像が複数の属性の各々を有する確率を出力する畳み込みニューラルネットワークと、前記畳み込みニューラルネットワークの出力、及び属性間の相関関係を示すポテンシャル関数を用いて、前記属性間の相関関係に応じた、前記複数の属性の各々を有する確率を出力するレイヤとを含む多層ニューラルネットワークモデルに基づいて、前記画像が有する少なくとも１つの属性を識別するステップ、を含んで実行することを特徴とする。
【００１６】
また、第３の発明に係る属性識別方法において、前記ポテンシャル関数は、前記複数の属性の各々に対応した複数の属性ラベルの組み合わせを表すクリークの各々についての、前記クリークに含まれる前記属性ラベル間の値の組み合わせの確率値を求める関数であり、前記属性識別部が識別するステップは、前記多層ニューラルネットワークモデルの、前記属性間の相関関係に応じた、前記複数の属性の各々を有する確率を出力するレイヤにおいて、前記クリークの各々について、前記ポテンシャル関数を用いて、前記クリークに含まれる前記属性ラベル毎に、前記属性ラベルが各値となる確率を算出する周辺化処理と、前記クリークの各々について、前記クリークに含まれる前記属性ラベル毎に、前記周辺化処理により得られた各クリークの前記属性ラベルが各値となる確率と、前記畳み込みニューラルネットワークの出力とを用いて、前記属性ラベルが各値となる確率を算出する積算処理と、前記積算処理により前記クリークの各々について前記属性ラベル毎に得られた、前記属性ラベルが各値となる確率を正規化する正規化処理とを繰り返し行うようにしてもよい。
【００１７】
また、第４の発明に係る属性識別モデル学習方法は、属性識別モデル学習部が、複数の属性のうちの少なくとも１つの属性が付与された複数の画像に基づいて、前記画像が複数の属性の各々を有する確率を出力する畳み込みニューラルネットワークと、前記畳み込みニューラルネットワークの出力、及び属性間の相関関係を示すポテンシャル関数を用いて、前記属性間の相関関係に応じた、前記複数の属性の各々を有する確率を出力するレイヤとを含む多層ニューラルネットワークモデルのうちの前記畳み込みニューラルネットワークのパラメータと、前記属性間の相関関係を示すポテンシャル関数とを学習するステップ、を含んで実行することを特徴とする。
【００１８】
第５の発明に係るプログラムは、コンピュータを、第１の発明に係る属性識別装置、又は第２の発明に係る属性識別モデル学習装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１９】
本発明の属性識別装置、方法、及びプログラムによれば、属性が未知の画像を入力とし、画像が複数の属性の各々を有する確率を出力する畳み込みニューラルネットワークと、畳み込みニューラルネットワークの出力、及び属性間の相関関係を示すポテンシャル関数を用いて、属性間の相関関係に応じた、複数の属性の各々を有する確率を出力するレイヤとを含む多層ニューラルネットワークモデルに基づいて、画像が有する少なくとも１つの属性を識別することにより、画像の属性を精度よく識別することができる、という効果が得られる。
【００２０】
また、本発明の属性識別モデル学習装置、方法、及びプログラムによれば、属性が付与された複数の学習データに基づいて、多層ニューラルネットワークモデルのうちの畳み込みニューラルネットワークのパラメータと、属性間の相関関係を示すポテンシャル関数とを学習することにより、画像の属性を識別するための畳み込みニューラルネットワークと、属性間の相関関係とを同時に学習できる、という効果が得られる。
【図面の簡単な説明】
【００２１】
【図１】ＤＮＮの処理概要の一例を示す図である。
【図２】ＤＮＮの構成図の一例を示す図である。
【図３】本発明の実施の形態に係る属性識別モデル学習装置の構成を示すブロック図である。
【図４】本発明の実施の形態に係る属性識別モデル学習装置における属性識別モデル学習処理ルーチンを示すフローチャートである。
【図５】本発明の実施の形態に係る属性識別装置の構成を示すブロック図である。
【図６】本発明の実施の形態に係る属性識別装置における属性識別処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２３】
＜本発明の実施の形態に係る概要＞
【００２４】
まず、本発明の実施の形態における概要を説明する。
【００２５】
本発明の実施の形態では、属性の相関関係を個別の属性識別結果の後処理として用いるのではなく、属性識別の学習と相関関係の学習を１つのモデルで同時に行うことで、より高精度に複数の属性を同時識別する手法を示す。具体的には画像識別に用いる畳み込みニューラルネットワーク（ＣＮＮ：Ｃｏｎｖｏｌｕｔｉｏｎａｌ Ｎｅｕｒａｌ Ｎｅｔｗｏｒｋ）を拡張して、条件付き確率場（ＣＲＦ：Ｃｏｎｄｉｔｉｏｎａｌ Ｒａｎｄｏｍ Ｆｉｅｌｄ）と同等の働きをする多層ニューラルネットを追加し、それらを１つのモデルとして学習する手法である。
【００２６】
＜本発明の実施の形態に係る原理＞
【００２７】
次に、本発明の実施の形態における原理を説明する。
【００２８】
本発明の実施の形態の新規な点は、複数属性の相関関係を考慮して属性推定を行う多層ニューラルネットワーク（ＤＮＮ：Ｄｅｅｐ Ｎｅｕｒａｌ Ｎｅｔｗｏｒｋ）モデルの設計にある。はじめに、提案するＤＮＮの処理概要を図１に示す。図１は左側に入力信号、右側に出力信号を示しており、左から右にかけて計算処理が行われることを示している。提案モデルの前半はＣＮＮと呼ばれる画像認識によく用いられるネットワーク構造を用いる。前半の処理結果は、学習する属性の数をＮａとして各属性について存在するか否かの２値を取る場合、２×Ｎａ次元のベクトルを出力する。３パターン以上の値を取る属性があった場合にも同様に取り得るパターン数の合計次元のベクトルを出力する。これは個別の属性識別において各値を取る確度を出力するとみなすためである。この出力値を確率値として扱うために、活性化関数として以下のようなソフトプラス関数を用いる。
【００２９】
【数１】
2019028484.tif 000003
・・・（１）
【００３０】
ＣＮＮ最終層の処理結果をｚ、得られる確率値をｐによって示す。このｐをＣＮＮの中間出力と呼ぶ。
【００３１】
次に、これらの中間出力を受けて、モデル後半にはＣＲＦにおけるメッセージパッシングと同等の処理を行うメッセージパッシングレイヤを設ける。メッセージパッシングレイヤでは一般的なサムプロダクトアルゴリズムと同様に積算と周辺化及び正規化の３つを繰り返して確率値の更新を行う。推定する属性のラベルベクトルをｘ＝｛ｘ０，ｘ１，…，ｘＮ｝、相関関係を考慮する属性の組み合わせ（クリーク）をｃ＝｛ｃ０，ｃ１，…，ｃＭ｝、クリークｃｊについてラベルｘｉに関する相関関係を示すポテンシャル関数を
【００３２】
【数２】
2019028484.tif 000004
、各ラベルとクリークの間でやり取りされるメッセージをμとする。ｘは０又は１をとる離散値である。どの属性同士が互いに関係しているかを決めるクリークの設計については事前に設定する必要がある。学習以前にはその関係性が未知であるため、１つのクリークに含まれる属性の数のみを設定し、取りうる全ての属性の組み合わせをクリークとして用意するのが最も簡単な方法である。例えば２つの属性ラベルの関係性のみを考慮する場合、１つのクリークには２つの属性が含まれるとして、全ての属性ペアについてクリークを設定する。３つの属性ラベルの関係性を考慮する場合は、属性３つを選ぶ全ての組み合わせについてクリークを設定する。また、計算を効率的にするために、学習データから事前に属性ラベルの相関関係を算出し、相関係数の絶対値が一定値以下の場合にはクリークを設定しないなどの事前処理を行っても良い。
【００３３】
多層ニューラルネットワークモデルのメッセージパッシングレイヤでは、まず、設計された属性ラベルの関係性に基づいて周辺化処理を行う。クリークに含まれる属性ラベルが２つの場合、以下の（２）式によって、各クリークにおける属性ラベルが各値となる確率がメッセージとして算出される。
【００３４】
【数３】
2019028484.tif 000005
・・・（２）
【００３５】
さらに、クリークに含まれる属性ラベルが３つの場合、以下の（３）式によって、各クリークにおける属性ラベルが各値となる確率がメッセージとして算出される。
【００３６】
【数４】
2019028484.tif 000006
・・・（３）
【００３７】
ここで、ラベルｋ及びｌはラベルｉと同じクリークｊに含まれるラベルであり、
【００３８】
【数５】
2019028484.tif 000007
はラベルｋの値がｘｋの時にラベルｉの値がｘｉとなる確率、
【００３９】
【数６】
2019028484.tif 000008
はラベルｋの値がｘｋとなる確率を示している。具体的にはΦは学習すべきパラメータであり、μは１つ前の処理における出力結果を用いる。関係する属性ラベルの全ての値についてラベルｉの条件付き確率を算出することで、クリークｊにおけるラベルｉが各値となる確率を算出する。ラベル数が３より大きいクリークについても同様にして関係するラベルの全ての値の組み合わせについて条件付き確率を足し合わせる計算を行うことができる。
【００４０】
次に、多層ニューラルネットワークモデルでは、周辺化処理での処理結果を受けて、積算処理により以下（４）式の計算を行う。
【００４１】
【数７】
2019028484.tif 000009
・・・（４）
【００４２】
ここで、ｎ（ｉ）はラベルｉが関連するクリークの集合を示しており、ｎ（ｉ）／ｊはその集合からクリークｊを除いたものを示す。クリークｊを除く関連するクリークから算出されるメッセージを全て掛け合わせることで、クリークｊ以外の情報に基づくラベルｉが各値となる確率値を得ることができる。
【００４３】
また、これらを確率値として扱うために以下のように正規化処理を行う。
【００４４】
【数８】
2019028484.tif 000010
・・・（５）
【００４５】
ラベルｉについてメッセージの合計値が１となるよう正規化する。
【００４６】
上記の処理をネットワークの構成図として示すと図２のようになる。図２では、３つの属性が２種類の値を取り、２つの属性の組み合わせに対応するクリークが３つ存在するモデルを示している。保持するメッセージを四角で表し、各メッセージを算出するために必要なメッセージを矢印で表現している。周辺化処理においては、メッセージμｘ→ｃの確率とポテンシャル関数Φの確率を掛け合わせ、取りうる全ての組み合わせについて足し合わせることで、メッセージμｃ→ｘを算出する。積算処理においては、関係するメッセージの確率と中間出力の確率を全て掛け合わせ、メッセージμｘ→ｃを算出する。正規化処理では、各ラベルについての確率値の合計が１となるように正規化を行う。
【００４７】
この処理を１セットとしてＴ回繰り返し、最終的な出力結果を得る。最終出力は周辺化処理の後に最終積算処理を行い出力する。最終積算処理は以下の（６）式に従って算出する。
【００４８】
【数９】
2019028484.tif 000011
・・・（６）
【００４９】
上記（４）式とほぼ同様の処理であるが、ラベルｉに関する全てのクリークについてのメッセージの確率を掛け合わせる。これに対して正規化処理を行い、最終的な確率値の予測結果とする。なお、メッセージμｘ→ｃの初期値であるμｘ→ｃ（０）については、全て１を設定する。
【００５０】
＜本発明の実施の形態に係る属性識別モデル学習装置の構成＞
【００５１】
次に、本発明の実施の形態に係る属性識別モデル学習装置の構成について説明する。図３に示すように、本発明の実施の形態に係る属性識別モデル学習装置１００は、ＣＰＵと、ＲＡＭと、後述する属性識別モデル学習処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この属性識別モデル学習装置１００は、機能的には図３に示すように入力部１０と、演算部２０とを備えている。
【００５２】
入力部１０は、複数の属性の各々に対応した複数の属性ラベルが付与された複数の学習データを受け付ける。学習データは画像のデータとする。なお、学習対象は画像のデータに限定されるものではなく、他の形式のデータでもよい。
【００５３】
演算部２０は、ネットワークモデル記憶部２２と、ＣＮＮパラメータ記憶部２４と、ポテンシャル関数記憶部２６と、属性識別モデル学習部３０とを含んで構成されている。
【００５４】
ネットワークモデル記憶部２２には、上記原理において説明した多層ニューラルネットワークモデルを構築したものが格納されている。多層ニューラルネットワークモデルは、画像が複数の属性の各々を有する確率を出力する畳み込みニューラルネットワーク（ＣＮＮ）と、畳み込みニューラルネットワークの出力、及び属性間の相関関係を示すポテンシャル関数を用いて、属性間の相関関係に応じた、複数の属性の各々を有する確率を出力するメッセージパッシングレイヤとを含む。
【００５５】
属性識別モデル学習部３０は、入力部１０で受け付けた複数の学習データに基づいて、ネットワークモデル記憶部２２の多層ニューラルネットワークモデルのうちの畳み込みニューラルネットワークのパラメータｐと、属性間の相関関係を示すポテンシャル関数Φとを学習する。ポテンシャル関数Φは、複数の属性の各々に対応した複数の属性ラベルの組み合わせを表すクリークの各々についての、クリークに含まれる属性ラベル間の値の組み合わせの確率値を求める関数である。
【００５６】
ここで、各メッセージの値をノード、ポテンシャル関数をパラメータとみなすと、周辺化処理、積算処理、及び正規化処理を繰り返し行うメッセージパッシングレイヤは、ＤＮＮの１種とみなすことができる。また、上記の原理において説明した計算式はポテンシャル関数について微分可能であるため誤差逆伝播法によってポテンシャル関数を学習することができる。また、畳み込みニューラルネットワークのパラメータについては一般的に誤差逆伝播法を用いて学習を行うことができる。したがって、多層ニューラルネットワークモデルの学習では、誤差逆伝播法によって畳み込みニューラルネットワークのパラメータｐとＣＲＦにおけるポテンシャル関数Φを同時に最適化することができる。用いる誤差関数としては各属性ラベルに対するクロスエントロピー誤差関数を用いる。
【００５７】
メッセージパッシングレイヤの周辺化処理では、上記（２）式及び（３）式に例示されるように、クリークの各々について、ポテンシャル関数Φを用いて、クリークに含まれる属性ラベル毎に、属性ラベルが各値となる確率μを算出する。
【００５８】
メッセージパッシングレイヤの積算処理では、上記（４）式に例示されるように、クリークの各々について、クリークに含まれる属性ラベル毎に、周辺化処理により得られた各クリークの属性ラベルが各値となる確率μと、畳み込みニューラルネットワークの出力ｐとを用いて、属性ラベルが各値となる確率を算出する。
【００５９】
メッセージパッシングレイヤの正規化処理では、上記（５）式に例示されるように、積算処理によりクリークの各々について属性ラベル毎に得られた、属性ラベルが各値となる確率を正規化する。
【００６０】
学習された畳み込みニューラルネットワークのパラメータｐは、ＣＮＮパラメータ記憶部２４に記憶する。また、学習された属性間の相関関係を示すポテンシャル関数Φはポテンシャル関数記憶部２６に記憶する。
【００６１】
＜本発明の実施の形態に係る属性識別モデル学習装置の作用＞
【００６２】
次に、本発明の実施の形態に係る属性識別モデル学習装置１００の作用について説明する。入力部１０において複数の属性の各々に対応した複数の属性ラベルが付与された複数の学習データを受け付けると、属性識別モデル学習装置１００は、図４に示す属性識別モデル学習処理ルーチンを実行する。
【００６３】
ステップＳ１００では、入力部１０で受け付けた複数の学習データに基づいて、ネットワークモデル記憶部２２の多層ニューラルネットワークモデルのうちの畳み込みニューラルネットワークのパラメータｐと、属性間の相関関係を示すポテンシャル関数Φとを学習する。
【００６４】
次のステップＳ１０２では、ステップＳ１００で学習された、畳み込みニューラルネットワークのパラメータｐ、及び属性間の相関関係を示すポテンシャル関数ΦをそれぞれＣＮＮパラメータ記憶部２４、及びポテンシャル関数記憶部２６に記憶し、処理を終了する。
【００６５】
以上説明したように、本発明の実施の形態に係る属性識別モデル学習装置によれば、属性が付与された複数の学習データに基づいて、多層ニューラルネットワークモデルのうちの畳み込みニューラルネットワークのパラメータと、属性間の相関関係を示すポテンシャル関数とを学習することにより、画像の属性を識別するための畳み込みニューラルネットワークと、属性間の相関関係とを同時に学習することができる。
【００６６】
＜本発明の実施の形態に係る属性識別装置の構成＞
【００６７】
次に、本発明の実施の形態に係る属性識別装置の構成について説明する。図５に示すように、本発明の実施の形態に係る属性識別装置２００は、ＣＰＵと、ＲＡＭと、後述する属性識別処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この属性識別装置２００は、機能的には図５に示すように入力部２１０と、演算部２２０と、出力部２５０とを備えている。
【００６８】
入力部２１０は、属性が未知の画像のデータを受け付ける。なお、属性の識別対象は画像のデータに限定されるものではなく、データに応じた学習を上記属性識別モデル学習装置１００で行っておけば、他の形式のデータでもよい。
【００６９】
演算部２２０は、ネットワークモデル記憶部２２２と、ＣＮＮパラメータ記憶部２２４と、ポテンシャル関数記憶部２２６と、属性識別部２３０とを含んで構成されている。
【００７０】
ネットワークモデル記憶部２２２には、上記原理において説明した多層ニューラルネットワークモデルを構築したものが格納されている。多層ニューラルネットワークモデルは、画像が複数の属性の各々を有する確率を出力する畳み込みニューラルネットワーク（ＣＮＮ）と、畳み込みニューラルネットワークの出力、及び属性間の相関関係を示すポテンシャル関数を用いて、属性間の相関関係に応じた、複数の属性の各々を有する確率を出力するメッセージパッシングレイヤとを含む。
【００７１】
ＣＮＮパラメータ記憶部２２４には、属性識別モデル学習装置１００で学習された畳み込みニューラルネットワークのパラメータｐが格納されている。
【００７２】
ポテンシャル関数記憶部２２６には、属性識別モデル学習装置１００で学習された属性間の相関関係を示すポテンシャル関数Φが記憶されている。ポテンシャル関数Φは、複数の属性の各々に対応した複数の属性ラベルの組み合わせを表すクリークの各々についての、クリークに含まれる属性ラベル間の値の組み合わせの確率値を求める関数である。
【００７３】
属性識別部２３０は、入力部２１０で受け付けた画像のデータを入力とし、ネットワークモデル記憶部２２の多層ニューラルネットワークモデルと、多層ニューラルネットワークモデルにおける、ＣＮＮパラメータ記憶部２２４の畳み込みニューラルネットワークのパラメータｐと、ポテンシャル関数記憶部２２６の属性間の相関関係を示すポテンシャル関数Φとに基づいて、画像が有する少なくとも１つの属性を識別して出力部２５０に出力する。
【００７４】
画像の属性の識別は、多層ニューラルネットワークモデルを用いて、メッセージパッシングレイヤの周辺化処理、積算処理、及び正規化処理を繰り返し行うことにより行う。
【００７５】
メッセージパッシングレイヤの周辺化処理では、上記（２）式及び（３）式に例示されるように、クリークの各々について、ポテンシャル関数Φを用いて、クリークに含まれる属性ラベル毎に、属性ラベルが各値となる確率μを算出する。
【００７６】
メッセージパッシングレイヤの積算処理では、上記（４）式に例示されるように、クリークの各々について、クリークに含まれる属性ラベル毎に、周辺化処理により得られた各クリークの属性ラベルが各値となる確率μと、畳み込みニューラルネットワークの出力ｐとを用いて、属性ラベルが各値となる確率を算出する。
【００７７】
メッセージパッシングレイヤの正規化処理では、上記（５）式に例示されるように、積算処理によりクリークの各々について属性ラベル毎に得られた、属性ラベルが各値となる確率を正規化する。
【００７８】
最終的に上記（６）式に例示されるように、属性ラベルごとに各値となる確率値を求め、値が１となる確率値が予め定めた閾値以上となる属性を画像の属性として、出力部２５０に出力する。
【００７９】
＜本発明の実施の形態に係る属性識別装置の作用＞
【００８０】
次に、本発明の実施の形態に係る属性識別装置２００の作用について説明する。入力部２１０において画像のデータを受け付けると、属性識別装置２００は、図６に示す属性識別処理ルーチンを実行する。
【００８１】
まず、ステップＳ２００では、入力部２１０で受け付けた画像のデータを入力とし、ネットワークモデル記憶部２２の多層ニューラルネットワークモデルと、多層ニューラルネットワークモデルに対する、ＣＮＮパラメータ記憶部２２４の畳み込みニューラルネットワークのパラメータｐと、ポテンシャル関数記憶部２２６の属性間の相関関係を示すポテンシャル関数Φとに基づいて、属性ごとに各値となる確率値を算出する。
【００８２】
次に、ステップＳ２０２では、値が１となる確率値が予め定めた閾値以上となる属性を画像の属性として、出力部２５０に出力する。
【００８３】
以上説明したように、本発明の実施の形態に係る属性識別装置によれば、属性が未知の画像のデータを入力とし、多層ニューラルネットワークモデルと、多層ニューラルネットワークモデルにおける、畳み込みニューラルネットワークのパラメータと、属性間の相関関係を示すポテンシャル関数とに基づいて、画像が有する少なくとも１つの属性を識別することにより、画像の属性を精度よく識別することができる。
【００８４】
本発明の実施の形態の手法によって、複数の関係する属性を精度よく画像から識別することができる。例えば服の画像はその形状、用途、柄、及び印象などから多様な属性が付与されうるが、それらの相関関係を紐解き精度よく属性識別を行うことで、欲しい服の検索や類似品の検索などを推定された属性に基づいて効率的に行うことができる。
【００８５】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【符号の説明】
【００８６】
１０、２１０  入力部
２０、２２０  演算部
２２、２２２  ネットワークモデル記憶部
２４、２２４  パラメータ記憶部
２６、２２６  ポテンシャル関数記憶部
３０   属性識別モデル学習部
１００ 属性識別モデル学習装置
２００ 属性識別装置
２３０ 属性識別部
２５０ 出力部
【図１】
2019028484.tif 000012
【図２】
2019028484.tif 000013
【図３】
2019028484.tif 000014
【図４】
2019028484.tif 000015
【図５】
2019028484.tif 000016
【図６】
2019028484.tif 000017