JP7148078B2 - 属性推定装置、属性推定方法、属性推定器学習装置、及びプログラム - Google Patents

属性推定装置、属性推定方法、属性推定器学習装置、及びプログラム Download PDF

Info

Publication number
JP7148078B2
JP7148078B2 JP2019038279A JP2019038279A JP7148078B2 JP 7148078 B2 JP7148078 B2 JP 7148078B2 JP 2019038279 A JP2019038279 A JP 2019038279A JP 2019038279 A JP2019038279 A JP 2019038279A JP 7148078 B2 JP7148078 B2 JP 7148078B2
Authority
JP
Japan
Prior art keywords
image
attribute
type
value
loss function
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.)
Active
Application number
JP2019038279A
Other languages
English (en)
Other versions
JP2020144411A (ja
Inventor
豪 入江
昭悟 木村
悠 三鼓
篤志 中澤
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.)
Kyoto University
Nippon Telegraph and Telephone Corp
Original Assignee
Kyoto University
Nippon Telegraph and Telephone Corp
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 Kyoto University, Nippon Telegraph and Telephone Corp filed Critical Kyoto University
Priority to JP2019038279A priority Critical patent/JP7148078B2/ja
Publication of JP2020144411A publication Critical patent/JP2020144411A/ja
Application granted granted Critical
Publication of JP7148078B2 publication Critical patent/JP7148078B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、属性推定装置、属性推定方法、属性推定器学習装置、及びプログラムに係り、特に、画像に写った物体の属性値を推定するための属性推定装置、属性推定方法、属性推定器学習装置、及びプログラムに関する。
画像認識は、入力された画像に対して、画像の内容に関する属性値を出力する問題である。属性値には様々なものがあり得るが、多くは画像中に写る物体や場所、シーンの名称等、カテゴリカルなもの(一般にクラス等と呼ばれる)が代表的である。例えば、犬が写る画像が入力された場合、画像認識技術は「犬」という属性値を出力することが期待される。また、このようにカテゴリカルに表現できる情報だけでなく、それ以外のものも含みうる。例えば、画像中に写る特定の物体との距離、画像中に写る人物の年齢、その人物が見ている視線の方向等である。
属性推定技術の性能は、入力された画像に対して、いかに正確に正しい属性値を出力できるかにより議論され、統計的により正しい属性値を出力できるものほど高精度であるとされる。
画像はRGBの画素を要素としたテンソルにより構成されているが、このような低レベル(物理信号レベル)な情報と、高レベルな意味のある属性値との間には大きな隔たりがある。このため、画像を入力としてそのまま高精度に属性を推定できるような属性推定器を学習することは困難だと考えられていた。
しかしながら、2011年頃、クラスラベルを推定する画像認識の分野において、深い畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)を画像認識器として用いることにより、このような画素の配列からクラスを出力するような学習をしても、非常に高精度な認識ができることが実証された(非特許文献1)。これ以降、画像認識の精度はCNNによって飛躍的な改善が報告され続けている。上記現象は属性推定においても例外ではなく、その後様々な属性推定タスクにおいてCNNを用いた技術が提案され、性能改善が報告されている。
一般に、CNNによる属性推定の性能は、様々な要因に依存することが知られている。一例として、精度に大きく作用する要因としてCNNの構造が挙げられる。通常、CNNは、比較的単純な処理を行う数種類の作用素(層、レイヤ等と呼ばれる)を、幾層にも積み重ねて実現される。例えば、代表的なもので言えば畳み込み層やプーリング層、全結合層等が存在する。詳細は非特許文献1等に譲るが、畳み込み層とは、その名の通り、入力されたテンソルに対して、高さ×幅方向に一定の大きさを持つ畳み込みフィルタを適用する層である。何種類のフィルタを持つかは任意であり、通常は設計者により指定される。畳み込み層はパラメータとして畳み込みフィルタの重みを有しており、これはデータに基づいて学習される。一方、一般に学習すべきパラメータを持たない層としてプーリング層が知られている。入力テンソルに対して高さ×幅方向に一定の大きさを持つ“フィルタ”を適用する点では畳み込み層と同様であるが、プーリング層は当該大きさの範囲に対して、例えば最大の値を出力する(最大値プーリング)、あるいは、平均値を出力する(平均値プーリング)等、固定的かつ単純な作用を適用する点で異なる。特に、パラメータ数を増加させずに入力テンソルの大きさを減少させたい場合等に利用される。CNNの性能は、このような畳み込み層やプーリング層をどのように構成し、配置するかによって左右される。
他方、属性推定においては、事前に推定したい属性値について、それが正解となるような画像の集合(以下、学習用画像と呼ぶ)を基に属性推定器を学習する必要がある。したがって当然のことながら属性推定精度は学習用画像の質と量に依存すると言って差し支えない。一般に、属性推定器の複雑度に応じて、複雑な属性推定器を用いる場合ほどより多くの学習用画像を用いる必要があることが知られているが、特に、CNNは非常に表現能力の高い複雑なモデルである。その分、非常に大量の学習用画像が必要であり、それにより初めてその性能が発揮されると言っても過言ではない。すなわち、現在のCNNの成功は、良質なCNNの構成と大量の学習用画像の双方が相まって初めて成し得たものとも見ることができる。
しかしながら、大量の学習用画像を準備することは容易ではない。なぜならば、多くの場合、撮影したばかりの画像には所望の属性値を表すような情報はなんらついていないからであり、したがって、撮影した画像を学習用画像として用いるためには、予め、所望の属性値を計測する何らかの装置や手段を用いて撮影を実行し、その属性値を付与するか、あるいは、人間が画像の内容を確認し、属性値を付与する「ラベリング」を行わなければならないからである。
CNNによる画像認識において最も良く知られる学習用画像データセットであるILSVRCデータ(非特許文献1参照)は、実に120万枚もの学習用画像を含んでいる。仮に1枚当たり5秒で、休みなくラベリングできたとしても、全ての画像にラベルを付けるのに2か月を超える期間が必要である。もちろん、1人の人間により判断したクラスは必ずしも信頼できるものであるとは限らないことから、通常は複数人による合議が取られるため、実際の工数はこれよりもさらに数倍は大きい。また、これほどの規模となると、そもそもラベリングの対象とする画像を撮影・収集すること自体も全く簡単ではない。また、CNNによる属性推定として、画像に写る人物の視線方向を推定するタスクを扱っている非特許文献2では、専用の視線計測用ソフトウェアを導入した計算機を用い、数か月もかけて213659枚の画像を記録している。このように、学習用画像を構築するコストは、CNNによる画像認識技術を導入・利用する上で、重大な障壁となっている。
この課題を解決すべく、従来様々な発明がなされている。例えば、非特許文献3では、画像生成を用いた画像認識器の学習手法が開示されている。画像認識器として構成されたCNNとは別に、画像を生成するCNNである生成器を用意する。画像認識器には、通常のクラスラベルを回答する役割の他に、画像の真偽(実際の画像か、生成器が生成した偽画像か)を見極めるような学習も要請し、反対に、生成器には、可能な限り実画像と見まがうような画像、すなわち、画像認識器が真偽判断を誤るような画像を生成するように学習することを要請する。このような構成により、真の画像に近しい“偽画像”を生成し、この画像を補助的な学習用画像として用いることで、ラベリングされた画像が少数しかない場合であっても画像認識器の学習を可能にしている。
非特許文献4では、人工的に生成した人工画像に基づく属性推定器の学習手法が開示されている。実現方法は非特許文献3に記載の方法に類似しており、真の画像に近しい“偽画像”を生成するという発想は同一であるが、違いは、非特許文献3では画像を生成する生成器を利用していたのに対し、本技術ではコンピュータグラフィクス(CG)により人工的に生成した画像を、実画像に見まがうように変換する変換器が導入されている点にある。
また、特許文献1に開示されている技術は、少数の学習用画像から意味のある認識結果を出力できるようにするべく、画像に写る物体に関する様々な属性値を推定し、属性値からクラスを識別する方法を開示している。
特開2018-032340号公報
Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, "ImageNet Classification with Deep Convolutional Neural Networks." In Proc. Advances in Neural Information Processing Systems (NIPS), 2012, Pages.1097-1105. Xucong Zhang, Yusuke Sugano, Mario Fritz, Andreas Bulling, "Appearance-Based Gaze Estimation in the Wild." In Proc. Conference on Computer Vision and Pattern Recognition (CVPR), 2015, Pages.4511-4520. Tim Salimans, Ian Goodfellow, Wojciech Zaremba, Vicki Cheung, Alec Radford, and Xi Chen, "Improved Techniques for Training GANs." In Proc. Advances in Neural Information Processing Systems 29 (NIPS), 2016, Pages.2226-2234. Ashish Shrivastava, Tomas Pfister, Oncel Tuzel, Josh Susskind, Wenda Wang, and Russ Webb, "Learning from Simulated and Unsupervised Images through Adversarial Training." In Proc. Conference on Computer Vision & Pattern Recognition (CVPR), 2017, Pages.2242-2251.
しかしながら、非特許文献3及び4の技術は、学習用画像の不足分を、人工画像の生成または変換により補おうとするものであり、この着想は合理的であるものの、いずれの技術においても、人工画像は、実際の画像に近づくように生成され、変換されるべきであるという基準のみに基づいて生成され、変換されている。画像認識精度を改善させるという本来の目的に鑑みれば、生成され、変換される人工画像は、実画像に近いだけでなく、学習する上で有益な画像である必要がある。
また、特許文献1に開示されている技術は、汎用的な属性値の存在を仮定し、これによりラベルを表現することで、学習用画像の削減を狙っているが、このような汎用的な属性値の構成法は自明ではなく、また、画像認識精度の観点で最適な属性を選定する方法も自明ではない。
したがって、従来の技術はいずれも属性推定の精度の観点からは必ずしも最適な方法にはなっていないという問題があった。すなわち、教師となる属性値の付与された実画像が一切得られないような場合には、精度の良い属性推定器を学習することができず、実画像の属性値を精度良く推定することができない、という問題があった。
また、教師有(属性値が既知)の人工画像のみを用いて学習を行った属性推定器で実画像の属性を推定すると、推定精度が低い場合がある、という問題があった。これは、人工画像と実画像との差分に起因すると想定される。この問題を解決するために、教師有の実画像を多数集めることが考えられるが、実画像を多数集めることも、集めた実画像1つ1つに教師をつけていくこともコストを要してしまう。
本発明は上記の点に鑑みてなされたものであり、属性値が既知の人工画像又は実画像が全くないような場合であっても、他方の実画像又は人工画像の属性値を精度良く推定することができる属性推定装置、属性推定方法、及びプログラムを提供することを目的とする。
また、本発明は、属性値が既知の人工画像又は実画像が全くないような場合であっても、他方の実画像又は人工画像の属性値を精度良く推定することができる属性推定器を学習することができる属性推定器学習装置を提供することを目的とする。
本発明に係る属性推定装置は、推定対象である画像の有する属性値を推定する属性推定装置であって、属性値が既知の人工画像及び実画像の何れか一方である第1の種類の画像と、属性値が未知の画像である人工画像及び実画像の何れか他方である第2の種類の画像を前記第1の種類の画像に変換して得られる画像と、を関連付けることにより、入力された前記画像の有する属性値を推定する第1属性推定部を備えて構成される。
本発明の属性推定装置、属性推定方法、及びプログラムによれば、属性値が既知の人工画像又は実画像が全くないような場合であっても、他方の実画像又は人工画像の属性値を精度良く推定することができる。
また、本発明の属性推定器学習装置によれば、属性値が既知の人工画像又は実画像が全くないような場合であっても、他方の実画像又は人工画像の属性値を精度良く推定することができる属性推定器を学習することができる。
本発明の実施の形態に係る属性推定装置として機能するコンピュータの概略構成を示すブロック図である。 本発明の実施の形態に係る属性推定装置の機能ブロック図である。 本発明の実施の形態に係る属性推定装置の学習処理ルーチンを示すフローチャートである。 本発明の実施の形態に係る属性推定装置の画像変換学習処理ルーチンを示すフローチャートである。 本発明の実施の形態に係る属性推定装置の属性推定学習処理ルーチンを示すフローチャートである。 本発明の実施の形態に係る属性推定装置の属性推定処理ルーチンを示すフローチャートである。
以下、本発明の実施の形態について図面を用いて説明する。
<本発明の実施の形態に係る属性推定装置の構成>
図1及び図2を参照して、本発明の実施の形態に係る属性推定装置100の構成について説明する。図1は、本発明の実施の形態に係る属性推定装置として機能するコンピュータの概略構成を示すブロック図である。
属性推定装置100は、CPU11と、RAM等のメモリ12と、通信インターフェース(IF)部13と、キーボード等の入力部14と、ディスプレイ等の表示部15と、後述する学習処理ルーチン及び属性推定処理ルーチンを実行するためのプログラム17を記憶したROM等の記憶部16とを備えたコンピュータで構成されている。また、CPU11、メモリ12、通信IF部13、入力部14、表示部15、及び記憶部16は、バス10を介して接続されている。
通信IF部13は、ネットワーク50を介して、第1画像記憶装置110及び第2画像記憶装置120と接続されている。属性推定装置100は、第1画像記憶装置110及び第2画像記憶装置120に格納されたデータを、ネットワーク50と通信IF部13とを介して取得することができるように構成されている。
通信手段は任意の公知ものを用いることができる。本実施の形態においては、各装置は、インターネット、TCP/IPにより通信するように接続されているものとする。
属性推定装置100は、機能的には次に示すように構成されている。図2は、本発明の実施の形態に係る属性推定装置100の構成を示すブロック図である。図2に示すように、本実施形態に係る属性推定装置100は、第1画像記憶装置110及び第2画像記憶装置120と通信を用いて接続され、記憶部130と、画像変換部101と、学習部102と、第1属性推定部105と、第2属性推定部106と、入力部107と、出力部108とを備えて構成されている。
第1画像記憶装置110には、属性値が既知の、人工画像である第1の種類の画像の集合が格納されている。具体的には、第1の種類の画像には、既知の属性値が与えられている。
第2画像記憶装置120には、属性値が未知の画像である、実画像である第2の種類の画像の集合が格納されている。以下、本実施の形態では、第2種類の画像として、属性値が未知の実画像を例に説明する。
第1属性推定部105及び第2属性推定部106は、画像を入力として受け取り、入力された画像に対する属性値を出力することができるパラメータを持つ関数である第1属性推定器及び第2属性推定器であって、パラメータに対して微分可能であるものであれば、任意のものを用いることができる。本実施の形態では、第1属性推定器及び第2属性推定器にCNNを用いるのが好適であるため、本実施の形態の説明においては、以降CNNを利用するものとして説明する。なお、後述の画像変換部101が用いる第1画像変換器及び第2画像変換器についてもCNNを用いるものとする。
<<処理部の説明>>
以下、本実施の形態における属性推定装置100の各処理部について説明する。なお、各処理部の具体的な処理については、後述する各処理の詳細において説明する。
第1属性推定部105及び第2属性推定部106は、何れも属性値が既知の人工画像である第1の種類の画像と、属性値が未知の画像である実画像である第2の種類の画像を当該第1の種類の画像に変換して得られる画像と、を関連付けることにより、入力された画像の有する属性値を推定する画像の属性値を出力する。第1属性推定部105は、画像の有する属性値を推定するための第1属性推定器を用いて、入力された前記画像の有する属性値を推定する。第2属性推定部106は、画像の有する属性値を推定するための第2属性推定器を用いて、入力された画像の有する属性値を推定する。
第1属性推定部105及び第2属性推定部106は、記憶部130に格納されている第1属性推定器及び第2属性推定器のパラメータを読み込んで、属性値の推定を行う。第1属性推定器及び第2属性推定器は基本的には同一の構造を持つCNNとして構成され、差異はパラメータの値のみにある。詳細は後述する。
画像変換部101は、人工画像又は実画像が入力されると、それに対して画素値を確率的に操作し、人工画像であれば第2画像変換器を用いて実画像に、実画像であれば第1画像変換器を用いて人工画像に変換することにより画像を生成し、出力する。画像変換部101は、記憶部130に格納されている第1画像変換器及び第2画像変換器のパラメータを読み込んで生成を行う。
学習部102は、属性値が既知の人工画像である第1の種類の画像と、属性値が未知の画像である実画像である第2の種類の画像を当該第1の種類の画像に変換して得られる画像と、を関連付けることにより、第1属性推定器を学習する。具体的には、第1学習部103と、第2学習部104とを備える。
第1学習部103は、第1属性推定器を、第1損失関数の値と、第2損失関数の値とが小さくなるように第2属性推定器と共に学習する。第1損失関数は、第1の種類の画像の属性値と、第1画像変換器若しくは/及び第2画像変換器により第1の種類の画像を変換した結果に対して、第1属性推定器により推定した属性値とが近いほど小さい値となる損失関数であり、第2損失関数は、第1画像変換器又は第2画像変換器により第1の種類の画像又は第2の種類の画像を変換した結果に対して、第1属性推定器により推定した属性値と、第1画像変換器又は第2画像変換器により第1の種類の画像又は第2の種類の画像を変換した結果に対して、第2属性推定器により推定した属性値とが近いほど小さい値となる損失関数である。
具体的には、第1画像記憶装置110及び第2画像記憶装置120から第1の種類の画像の集合と第2の種類の画像の集合とを入力として受け付け、更に、画像変換部101を用いて第1属性推定器及び第2属性推定器のパラメータを反復更新し、記憶部130に格納する。より具体的には、ある画像が入力されると、当該画像が実画像か人工画像であるか、より厳密には、属性値が既知の画像であるか否かに応じて、適切な損失関数の値を評価し、その結果に基づいて第1属性推定器及び第2属性推定器のパラメータを更新する。
もし仮に入力画像が実画像、つまり、属性値が未知の画像である場合、第1学習部103は、当該画像を第1画像変換器より変換した結果に対して第1属性推定器が出力した属性値と、同じく当該画像を第1画像変換器より変換した結果に対して第2属性推定器が出力した属性値との差異を表す第2損失関数である平均推定損失関数の値を求める。
また、もし仮に入力画像が人工画像、つまり、属性値が既知の画像である場合、第1学習部103は、先述の平均推定損失関数の値に加え、当該画像に対して第1属性推定部105が出力した属性値と先の既知の属性値の差異を表す第1損失関数である教師推定損失関数の値を求める。第1学習部103は、これらの損失関数の値に基づき、いずれの損失関数の値も小さくなるように第1属性推定器及び第2属性推定器のパラメータを反復更新し、更新の度に第1属性推定部105のパラメータを記憶部130に格納する。
第2学習部104は、第1画像変換器を、第3損失関数の値と、第4損失関数の値とが小さくなるように、第1の種類の画像を第2の種類の画像に変換するための第2画像変換器と共に学習する。第3損失関数は、第2画像変換器により第1の種類の画像を変換した結果の分布が、第2の種類の画像の分布に近いほど小さい値となる損失関数であり、第4損失関数は、第1画像変換器により第2の種類の画像を変換した結果の分布が、第1の種類の画像の分布に近いほど小さい値となる損失関数である。
具体的には、第2学習部104は、第1画像記憶装置110及び第2画像記憶装置120から第1の種類の画像の集合と第2の種類の画像の集合とを入力として受け付けると、第3損失関数の値と、第4損失関数の値とが小さくなるように、人工画像と実画像を相互に変換する第1画像変換器及び第2画像変換器のパラメータを反復更新し、更新の度に当該一対の画像変換器のパラメータを記憶部130に格納する。
記憶部130には、画像変換部101に用いられる第1画像変換器並及び第2画像変換器、第1属性推定部105に用いられる第1属性推定器、並びに第2属性推定部106により用いられる第2属性推定器の各パラメータが格納されている。
<本発明の実施の形態に係る属性推定装置の作用>
次に、本発明の実施形態に係る属性推定装置100の作用について説明する。第1属性推定器、第2属性推定器、第1画像変換器、及び第2画像変換器の学習処理について先に説明し、その後、属性推定装置100による属性推定処理について説明する。
<<本発明の実施の形態に係る属性推定装置の学習処理>>
図3は、本発明の実施の形態に係る属性推定装置の学習処理ルーチンを示すフローチャートである。属性推定装置100は、図3に示す第1画像記憶装置110及び第2画像記憶装置120から第1の種類の画像の集合及び第2の種類の画像の集合を受け付けると、図3に示す学習処理ルーチンを実行する。
まず、ステップS100において、属性推定装置100は、画像変換器学習処理を実行する。
次に、ステップS110において、属性推定装置100は、属性推定器学習処理を実行する。
ステップS120において、属性推定装置100は、所定の終了条件を満たしたか否かを判定する。
終了条件を満たしていないと判定した場合(上記ステップS120のNO)、ステップS100に戻り、再度ステップS100~S110の処理を繰り返す。
一方、終了条件を満たしていると判定した場合(上記ステップS120のYES)、処理を終了する。
ステップS120で判定する終了条件については任意のものを用いてよい。例えば、終了条件として、「所定の回数を繰り返すまで」、「損失関数の値が一定以上変化しなくなるまで」、「学習に用いた画像とは別の検証用画像を用いて計算した損失関数の値が一定以上変化しなくなるまで」等とすることができる。
上記ステップS100における画像変換器学習処理について説明する。図4は、本発明の実施の形態に係る画像変換器学習処理ルーチンを示すフローチャートである。
まず、ステップS200において、第2学習部104は、第1画像記憶装置110及び第2画像記憶装置120から第1の種類の画像の集合及び第2の種類の画像の集合を取得する。
次に、ステップS210において、第2学習部104は、記憶部130に格納されている第1画像変換器及び第2画像変換器のパラメータを取得する。
ステップS220において、第2学習部104は、第1の種類の画像の集合及び第2の種類の画像の集合の中から、少なくとも一枚以上の画像を選ぶ。
ステップS230において、第2学習部104は、上記ステップS220で選んだ画像を基に、第3損失関数及び第4損失関数を含む画像変換損失関数の値を算出する。
ステップS240において、第2学習部104は、上記ステップS230により算出した画像変換損失関数の値を基に、これが小さくなるように第1画像変換器及び第2画像変換器のパラメータを反復更新する。
ステップS250において、第2学習部104は、所定の終了条件を満たしたか否かを判定する。
終了条件を満たしていないと判定した場合(上記ステップS250のNO)、ステップS200に戻り、再度ステップS200~S240の処理を繰り返す。
一方、終了条件を満たしていると判定した場合(上記ステップS250のYES)、ステップS260において、第2学習部104は、上記ステップS240により更新された第1画像変換器及び第2画像変換器のパラメータを、記憶部130に格納し、リターンする
次に、上記ステップS110における属性推定器学習処理について説明する。図5は、本発明の実施の形態に係る属性推定器学習処理ルーチンを示すフローチャートである。
まず、ステップS300において、第1学習部103は、第1画像記憶装置110及び第2画像記憶装置120から第1の種類の画像の集合及び第2の種類の画像の集合を取得する。
次に、ステップS310において、第1学習部103は、記憶部130に格納されている第1属性推定器、第2属性推定器、第1画像変換器及び第2画像変換器のパラメータを取得する。
ステップS320において、第1学習部103は、第1の種類の画像の集合及び第2の種類の画像の集合の中から、少なくとも一枚以上の画像を選ぶ。
ステップS330において、第1学習部103は、上記ステップS320で選んだ画像を基に、属性推定損失関数の値を算出する。
ステップS340において、第1学習部103は、上記ステップS330により算出された属性推定損失関数の値を基に、これが小さくなるように第1属性推定器のパラメータを反復更新する。
ステップS350において、第1学習部103は、上記ステップS330により算出された属性推定損失関数の値を基に、これが小さくなるように第2属性推定器のパラメータを反復更新する。
ステップS360において、第1学習部103は、所定の終了条件を満たしたか否かを判定する。
終了条件を満たしていないと判定した場合(上記ステップS360のNO)、ステップS300に戻り、再度ステップS300~S350の処理を繰り返す。一方、終了条件を満たしていると判定した場合(上記ステップS360のYES)、ステップS370において、第1学習部103は、上記ステップS340により更新された第1属性推定器のパラメータと、上記ステップS360により更新された第2属性推定器のパラメータとを、記憶部130に格納し、リターンする
<<<各処理の詳細>>>
ここで、属性推定装置100の学習処理における、各処理部の処理の詳細について説明する。以下、第1の種類の画像の集合に含まれる人工画像をb、第2の種類の画像の集合に含まれる実画像をaと表す。
また、属性値を推定する属性推定器をfと表し、第1属性推定器のパラメータをθ、第2属性推定器のパラメータをηと表す。すなわち、例えば、ある実画像aについて、第1属性推定器を用いて推定した属性値をyと表現したとすると、下記式(1)のように表すことができる。
Figure 0007148078000001
本実施の形態に係る属性推定装置100の学習処理では、このθ及びηを、当該実画像aの所望の属性値であるyに対してy=yとなるように定めることにある。
典型的な公知の技術では、属性値が既知の人工画像bに対して、正しい属性値が推定できるようにθの値を求める。より具体的には、人工画像bの既知の属性値をyと表すとすると、下記式(2)で表される損失関数LPREDを最小化するように、θを求める。
Figure 0007148078000002
ここで、
Figure 0007148078000003

は、期待値を取る操作を表す。
このような方法は、人工画像と実画像との間に差異がなければうまくいく。しかし、実際には実画像さながらの画像を創り出せるような人工画像を生成できるツールは非常に限られており、常にこれが成り立つと考えることは現実的でない。したがって、このように学習した属性推定器は多くの場合、実画像に対して正しい属性値を与えることができず、結果として精度の低い属性推定器となってしまうのである。
これに対し、本実施の形態に係る属性推定装置100は、更に属性値が未知の実画像aを利用し、人工画像と実画像を互いに本物に見まがうような“偽物”へと相互に変換することにより、人工画像にしか既知の属性値が与えられていないような場合であっても、実画像の属性値を正しく推定できるような第1属性推定器及び第2属性推定器のパラメータを学習することを実現する。
更に、本実施の形態に係る属性推定装置100では、より安定した属性推定を可能にするため、異なるパラメータを持つ第1属性推定器と第2属性推定器とを同時に学習し、これらが可能な限り同じ属性値を推定するように制約することで、推定の安定性を改善する。
以下、このような学習を実現する処理について詳述する。
<<<画像変換器学習処理ルーチン>>>
図4に示した第2学習部104による画像変換器学習処理ルーチンの処理を詳述する。
ここで、画像変換器学習処理の説明の前に、本実施の形態における画像変換部101による画像変換処理について説明する。
画像変換部101は、第2の種類の画像を第1の種類の画像に変換するための第1画像変換器と、第1の種類の画像を第2の種類の画像に変換するための第2画像変換器とを用いて、属性値が未知の画像である、実画像である第2の種類の画像を変換する。
具体的には、画像変換部101は、実画像a及び一つ以上の確率変数により構成されるベクトルzを入力として受け取り、人工画像b’を出力する、パラメータφを持つような下記式(3)に示す関数Gabで表される第1画像変換器と、人工画像b及び一つ以上の確率変数により構成されるベクトルzを入力として受け取り、人工画像a’を出力する、パラメータφを持つような下記式(4)に示す関数Gbaで表される第2画像変換器との組を用いることにより実現する。
Figure 0007148078000004
Figure 0007148078000005
このような第1画像変換器及び第2画像変換器(関数Gab及び関数Gba)を実現する手段は様々なものがあるが、本実施の形態においては、CNNを利用する。より具体的な例としては、例えば参考文献1に記載のCNNを用いることができる。
[参考文献1]Amjad Almahairi, Sai Rajeswar, Alessandro Sordoni, Philip Bachman, Aaron Courville, " Augmented CycleGAN: Learning Many-to-Many Mappings from Unpaired Data." In Proc. International Conference on Machine Learning (ICML), 2018.
このようなCNNにより構成した関数Gab及び関数Gbaは、パラメータφ及びφに対してそれぞれ微分可能であるという良好な性質を持つ。
画像変換損失関数値の評価(ステップS230)及び画像変換器の更新(ステップS240)の各処理について詳細に説明する。
[ステップS230:画像変換損失関数の値の算出]
第2学習部104は、第1画像変換器及び第2画像変換器のパラメータであるφ及びφを更新するために、下記に示す一連の損失関数(真偽損失、循環損失、及び属性損失)の値を求め、これらの値を組み合わせた画像変換損失関数の値に基づいてパラメータを反復更新する。
(1.真偽損失)
人工画像bを第2画像変換器により変換した“偽物の”実画像a’は、当然のことながら実際の実画像、つまり実画像aに見まがうようなものであることが好ましい。また逆に、実画像aを第1画像変換器により変換した“偽物の”人工画像b’は、当然のことながら実際の人工画像、つまり人工画像bに見まがうようなものであることが好ましい。これを実現するため、本実施の形態では、入力された実画像が、実際の実画像であるか、あるいは、人工画像が変換されたものであるかを表す確率値である実画像真偽確率値を出力する実画像識別器D、並びに、入力された人工画像が、実際の人工画像であるか、あるいは、実画像が変換されたものであるかを表す確率値である人工画像真偽確率値を出力する人工画像識別器DをそれぞれCNNにより構成し、用意する。これらのCNNは特別な機能を導入する必要はなく、例えば、参考文献1に開示されているようなものを採ればよい。
第2学習部104は、人工画像識別器Dを用いて、第2画像変換器により第1の種類の画像を変換した結果の分布が、第2の種類の画像の分布に近いほど小さい値となる第3損失関数(下記式(5))の値と、実画像識別器Dを用いて、第1画像変換器により第2の種類の画像を変換した結果の分布が、第1の種類の画像の分布に近いほど小さい値となる損失関数である第4損失関数(下記式(6))の値とを求める。
Figure 0007148078000006
Figure 0007148078000007
上記式(5)の第一項は、実際の人工画像bが与えられた下で、人工画像識別器Dが1に近い確率値を出力できた場合、すなわち、bを正しく実際の人工画像である確率が高いと判断できた場合に大きな値を取り、そうでない場合に小さな値を取る。また、上記式(5)の第二項は、“偽物の”人工画像b’が与えられた下で、人工画像識別器Dが0に近い確率値を出力できた場合、すなわち、b’を正しく“偽物の”人工画像である確率が高いと判断できた場合に大きな値を取り、そうでない場合に小さな値を取る。上記式(6)の場合、上記式(5)と人工画像と実画像が反対になっているだけで、構造と作用は同一である。
すなわち、上記式(5)、式(6)が大きくなるように人工画像識別器D、人工画像識別器Dのパラメータを反復更新し、また、これらを小さくするように第1画像変換器及び第2画像変換器のパラメータφ及びφを反復更新すれば、第1画像変換器及び第2画像変換器は、実際の実画像/人工画像に見まがうような画像へと変換することができるようになる。
(2.循環損失)
関数Gbaが人工画像を実画像に変換し、関数Gabが実画像を人工画像に変換するような関数であるから、これらを順に適用することにより、人工画像→実画像→人工画像…と変換していくことが可能である。このような変換を考えた場合に、最も自然な制約は、ある人工画像bを実画像a’に変換し、再度人工画像に変換した画像b”が、元の人工画像bに戻るように変換される(下記式(7))、あるいは反対に、ある実画像aを人工画像b’に変換し、再度実画像に変換した画像a”が、元の実画像aと戻るように変換されることである(下記式(8))。
Figure 0007148078000008
Figure 0007148078000009
このような制約を表現した損失関数は、下記式(9)、式(10)のように定めることができる。
Figure 0007148078000010
Figure 0007148078000011
第2学習部104が、上記式(9)及び式(10)が小さくなるように第1画像変換器及び第2画像変換器のパラメータφ及びφを反復更新すれば、第1画像変換器及び第2画像変換器は実際の実画像/人工画像に見まがうような画像へと変換することができるようになる。
(3.属性損失)
いかに“本物”に見まがうような偽物が作れたとしても、変換の前後で本来推定すべき属性値が変化してしまっては、このような属性推定器の学習は成しえない。例えば、顔の画像から、当該人物の年齢を推定するような属性推定器を得たいとする。仮に、年齢を与えれば、その年齢にあった人の顔画像を人工的に生成することができるコンピュータグラフィクスツールがあるとして、その画像を属性値が既知の人工画像として用いることを考えたとする。この際、もし当該人工画像を実画像に変換した際に、例えその人工画像が実際の顔を写した顔写真のように変換できたとしても、写る人物の年齢が変わってしまったとすると、正しい年齢を推定できるような属性推定器にはならない。このような問題を克服すべく、推定の対象となる属性値が変換しないような制約を損失関数として導入することが好ましい。
このような損失関数にはいくつかの形態がありうる。まず、最もシンプルなものは、下記式(11)及び式(12)のように、変換前の画像から可能な限り画素値そのものを変化させないようにすることである。
Figure 0007148078000012
Figure 0007148078000013
また、仮に画像中の属性値に影響を与える領域が既知であるような場合には、その部分だけが変換の前後で変化しないように制約しても構わない。このようにすることで、画像の中でより属性の値に影響する部分だけを効果的に絞り込み、より高精度な推定を実現できる。仮に、ある画像から指定された領域rに該当する部分だけを切り出すクロッピング処理関数cropがあったとすると、当該制約は、下記式(13)及び式(14)のような損失関数として表現できる。
Figure 0007148078000014
Figure 0007148078000015
また、より直接的には、下記式(15)及び式(16)のように、第1属性推定器fの値が変化しないように制約を入れることも可能である。
Figure 0007148078000016
Figure 0007148078000017
当然のことながら、本実施の形態において第1属性推定器fのパラメータθは学習される対象であり、この学習のために第1属性推定器fを利用するというのは非現実的な仮定であるように思える。しかし、実際にはいくつかの方法により同様の効果を得ることは十分に可能である。
まず一つに、先に第1の種類の画像の集合の画像のみを用い、上記式(2)で表される典型的な損失関数で学習したfを利用する方法がある。上記式(2)を最小化するように学習したfのパラメータをθと表すし、上記式(15)及び(16)に代入すれば、下記式(17)及び式(18)となる。
Figure 0007148078000018
Figure 0007148078000019
もちろん、このように学習したパラメータθは必ずしも正しい属性値を与えないが、多かれ少なかれ属性値に関係のある特徴を考慮したものになっているはずであるから、緩やかには属性値に関連する情報を保存するための損失として機能する。あるいは、必ずしも上記式(2)により学習したパラメータθでなくとも、別の方法で学習したパラメータθを利用しても構わない。例えば、一度上記式(15)~(18)等をもとに、本実施の形態に係る属性推定装置100を用いて学習したパラメータθを、パラメータθの代わりに用いるということも可能である。
いずれにせよ、上記式(11)~式(18)の値が小さくなるように、第1画像変換器及び第2画像変換器のパラメータφ及びφを反復更新すれば、第1画像変換器及び第2画像変換器は、第1属性推定器fの推定対象の属性値に関する情報を保存するような変換を実現することができるようになる。
すなわち、第2学習部104が、第1画像変換器及び第2画像変換器が画像を変換する際に、推定対象の属性以外の少なくとも1つの属性を変更するように学習することができる。例えば、「mean teacher」における教師無学習データに与えられるノイズを、意味があるノイズにするような変換を実現することができる。
つまり、同じドメイン(実画像又は人工画像)内において推定対象となる1つの属性(例えば形状)を固定し、固定されていない少なくとも1つの属性を変更するように制約を持たせていることとなる。なお、このような制約を持たせた画像を得るためには、例えば公知の技術である「augmented cycle gan」を用いることができる。
以上の3種類の損失関数を組み合わせた画像変換損失関数を、下記式(19)のように表すことができる。
Figure 0007148078000020
ここで、λ、λ、γ、γは各損失関数の重みを制御するパラメータであり、任意の実数値を与えてよい。
上記式(3)、式(4)にあるように、関数Gba、関数Gabの引数である確率値のベクトルz及びzをどう構成するかは任意である。最も単純には、任意の乱数(例えば標準正規乱数など)をサンプルし、これにより定めるものとしてもよい。より好ましくは、参考文献1に開示されているように、符号化器を用いて、人工画像bあるいは実画像aから直接z及びzを生成するという方式を採る。この方式を採ることで、実際の人工画像、実画像に合わせた多様な変換を実現することができるようになるからである。
[ステップS240:画像変換器のパラメータの更新]
第2学習部104は、上記式(19)で表される画像変換損失関数LTRANSが大きくなるように人工画像識別器D及び人工画像識別器Dのパラメータを反復更新し、上記式(19)で表される画像変換損失関数LTRANSが小さくなるように第1画像変換器(関数Gab)及び第2画像変換器(関数Gba)のパラメータφ及びφを反復更新する。これにより、望ましい第1画像変換器及び第2画像変換器を得ることができる。反復更新を行う手段としては、例えば確率的勾配降下法など、任意のものを用いることができる。
なお、上記式(19)で表される画像変換損失関数LTRANSは必ずしもこの形である必要はなく、必要に応じて任意の損失関数を除いても構わないが、先に説明した通り、各損失関数はそれぞれ重要な意味を持つため、全ての損失関数を含む式(19)の形式で用いるのが好ましい。
第2学習部104は、以上の処理を所定の終了条件を満たすまで繰り返したのち、ステップS260において、最終的に第1画像変換器及び第2画像変換器のパラメータφ及びφを記憶部130に格納し、処理を終了する。
ステップS250で判定する終了条件については任意のものを用いてよい。例えば、終了条件として、「所定の回数を繰り返すまで」、「損失関数の値が一定以上変化しなくなるまで」、「学習に用いた画像とは別の検証用画像を用いて計算した損失関数の値が一定以上変化しなくなるまで」等とすることができる。
以上が、画像変換器学習処理の一例である。
<<<属性推定器学習処理ルーチン>>>
図5に示した第1学習部103による属性推定器学習処理ルーチンの処理を詳述する。
上述の通り、典型的な公知の技術は、属性値が既知の人工画像に対して正しい属性値が推定できるよう、上記式(2)をパラメータθに対して最小化することで属性推定器のパラメータを求める。しかしながら、一般には人工画像と実画像との間には差異があるため、本来属性値を推定したい対象であるところの実画像の情報を一切用いることなく、人工画像のみを用いて学習した属性推定器では、実画像に対して正しく属性値を推定することができないという問題が起こる。
この問題に鑑み、本実施の形態では、人工画像と実画像との双方を用いて属性推定器を学習することを考える。基本的な着想は、先に学習した画像変換部101により第1画像変換器及び第2画像変換器を適用することによって、実画像(第2の種類の画像の集合)を人工画像に変換し、人工画像と実画像の差異を小さくすること、並びに、変換処理を施した結果得られる“属性値が未知の人工画像の集合(実画像を変換したもの)”と、属性値が既知の人工画像の集合(第1の種類の画像の集合)とから、属性推定器を学習することである。以下、本処理について詳述する。
画像変換処理を施した後、属性値が既知の人工画像及び属性値が未知の人工画像の集合から属性推定器を学習することになる。一般に、このように属性値が既知のデータと属性値が未知のデータとの双方を用いて、識別器や回帰関数を学習する問題を、半教師有学習と呼ぶ。過去多くの公知の半教師有学習技術が開示されてきており、本発明の実施形態の一例においても、任意の半教師有学習技術を用いることができる。例えば、参考文献2記載の方法を用いることができる。
[参考文献2]Antti Tarvainen, Harri Valpola, " A Mean Teachers are Better Role Models: Weight-averaged Consistency Targets Improve Semi-supervised Deep Learning Results." In Proc. Neural Information Processing Systems (NIPS), 2017.
以降、参考文献2の方法をベースとして、本実施の形態における属性推定損失関数の値の算出(ステップS330)、第1属性推定器のパラメータの学習(ステップS340)、第2属性推定器のパラメータの学習(ステップS350)の各処理について詳細に説明する。
[ステップS330:属性推定損失関数の値の算出]
第1学習部103は、第1損失関数の値と、第2損失関数の値とが小さくなるように第2属性推定器と共に学習する。第1損失関数は、第1の種類の画像の属性値と、第1画像変換器により前記第2の種類の画像を変換した結果に対して、第1属性推定器により推定した属性値とが近いほど小さい値となる損失関数である。第2損失関数は、第1画像変換器又は第2画像変換器により第1の種類の画像又は第2の種類の画像を変換した結果に対して、第1属性推定器により推定した属性値と、第1画像変換器又は第2画像変換器により第1の種類の画像又は第2の種類の画像を変換した結果に対して、第2属性推定器により推定した属性値とが近いほど小さい値となる損失関数である。
具体的には、第1学習部103は、まず、属性値が既知の人工画像の各々に対して、画像変換部101による後述の画素変換作用を2度施し、人工画像b1と人工画像b2とを生成する。
次に、第1学習部103は、人工画像b1を第1属性推定部105に、人工画像b2を第2属性推定部106にそれぞれ入力し、第1属性推定部105が第1属性推定器を用いて上記式(2)で表される第1損失関数の値を求めると共に、第1属性推定部105が人工画像b1に対して、第1属性推定器を用いて推定した属性値と、第2属性推定部106が人工画像b2に対して、第2属性推定器を用いて推定した属性値とが近いほど小さい値となる、下記式(20)で表される第2損失関数の値を求める。
Figure 0007148078000021
また、第1学習部103は、属性値が未知の実画像の各々に対しても、画像変換部101による後述の画素変換作用を2度施し、人工画像b’1と人工画像b’2とを生成する。
次に、第1学習部103は、人工画像b’1を第1属性推定部105に、人工画像b’2を第2属性推定部106にそれぞれ入力し、上記式(20)と同様の下記式(21)で表される第2損失関数の値を求める。
Figure 0007148078000022
上記式(2)で表される第1損失関数の値を最小化するようにパラメータθを求めることにより、第1属性推定器は、属性値が既知の人工画像について、正しい属性値を推定できるように学習される。また、上記式(20)及び式(21)で表される第2損失関数の値を最小化するようにパラメータθを求めることにより、第1属性推定器と、第2属性推定器とが、画像変換部101による後述の画素変換作用を加えた画像に対して推定した属性値が、同一の属性値となるように学習される。
以上の3種類の損失関数を組み合わせた属性推定損失関数は、下記式(22)のように定義することができる。
Figure 0007148078000023
[ステップS340:第1属性推定器のパラメータの学習]
第1学習部103は、上記式(22)で表される属性推定損失関数LESTが小さくなるように、第1属性推定器fのパラメータθを反復更新することにより、望ましい第1属性推定器を得ることができる。反復更新手段としては、例えば確率的勾配降下法など、任意のものを用いることができる。
なお、上記式(22)の属性推定損失関数LESTは、必ずしもこの形である必要はなく、必要に応じて任意の損失関数を除いても構わないが、先に説明した通り、各種損失関数はそれぞれ重要な意味を持つため、全ての損失関数を含む上記式(22)の形式で用いることが好ましい。
ここで、上記式(22)において、w(t)は学習の繰り返し回数tに依存して変化する重み関数である。w(0)が1よりも小さい実数値を取ること、最大値が1であることを満たす限り、どのような関数を用いてもよい。例えば、ある繰り返し回数をT(定数)と表すと、w(t)を、下記式(23)や式(24)のように定義してもよい。
Figure 0007148078000024
Figure 0007148078000025
ここで、上記式(24)のαは、パラメータであり、任意の正の実数値を与えてよい。例えば、α=5.0等とすることができる。
[[画素変換作用]]
画素変換作用は、画像変換部101を用いて、元の画像に対してランダムな変換を施す処理であり、このようなものであれば任意の方法を更に採用することができる。
例えば、画像変換部101による変換のみを施す場合、人工画像bに対しては第1画像変換器及び第2画像変換器を用いた上記式(7)を適用することにより、一度実画像a’に変換したのち、再度人工画像b”に変換することができる。この際、変数zをランダムに変化させることにより、ランダムな画素変換を施すことができる。同様に、実画像aに対しては、第2画像変換器を用いた上記式(4)を適用することにより人工画像b’に変換することができる。
また、画像変換部101による変換に加えて、画素値に対してランダムな乱数を与えてもよいし、画素値に対して平行移動、回転などの幾何変換作用を施してもよい。
上記では、属性値が既知の人工画像の各々に対して、画像変換部101による1度目の画素変換作用を施したものが人工画像b1、2度目の画素変換作用を施したものが人工画像b2となる。
また、属性値が未知の実画像の各々に対して、画像変換部101による1度目の画素変換作用を施したものが人工画像b’1、2度目の画素変換作用を施したものが人工画像b’2となる。
なお、1度目の画素変換作用及び2度目の画素変換作用の何れか一方において、画像変換部101による変換以外の方法を用いてもよい。
[ステップS350:第2属性推定器のパラメータの学習]
第1学習部103は、第1属性推定器のパラメータθの統計量を基に、第2属性推定器のパラメータηを反復更新する。ここで、利用する統計量は、どのようなものを用いても構わないが、第1属性推定器のパラメータθの更新履歴を用いて統計量を求めるのがよい。t回目の繰り返し回数における第1属性推定器のパラメータをθ、第2属性推定器のパラメータをη表すとする。例えば、第1学習部103は、t回目までの属性推定器のパラメータθ、…、θの平均により、第2属性推定器のパラメータηを更新する構成としてもよい(下記式(25))。
Figure 0007148078000026
また、第1学習部103は、移動平均を利用して第2属性推定器のパラメータηを更新する構成としてもよい。例えば過去5回の繰り返しを利用するとすれば、下記式(26)によりパラメータηを求めることができる。
Figure 0007148078000027
また、第1学習部103は、下記式(27)のように、指数平滑移動平均を利用して、第2属性推定器のパラメータηを更新する構成としてもよい。
Figure 0007148078000028
第1学習部103は、以上の処理を所定の終了条件を満たすまで繰り返したのち、ステップS370において、最終的な第1属性推定器及び第2属性推定器のパラメータθ及びηを、記憶部130に格納し、処理を終了する。
ステップS360で判定する終了条件については任意のものを用いてよい。例えば、「所定の回数を繰り返すまで」、「損失関数の値が一定以上変化しなくなるまで」、「学習に用いた画像とは別の検証用画像を用いて計算した損失関数の値が一定以上変化しなくなるまで」等とすることができる。
以上が、属性推定器学習処理の一例である。
<<属性推定処理ルーチン>>
次に、属性推定処理について説明する。図6は、本発明の実施の形態に係る属性推定処理ルーチンを示すフローチャートである。入力部107に、属性値が未知の実画像である第2の種類の画像が入力されると、図6に示す属性推定処理ルーチンが実行される。
上記学習した第1属性推定器及び第1画像変換器を用いて属性推定処理を行う場合の処理について説明する。
まず、ステップS400において、入力部107は、属性推定の対象となる第2の種類の画像の入力を受け付ける。
次に、ステップS410において、画像変換部101と第1属性推定部105とは、記憶部130から、第1画像変換器のパラメータと、第1属性推定器のパラメータを取得する。
ステップS420において、画像変換部101は、上記ステップS400により受け付けた画像を、第1画像変換器を用いて人工画像である第1の種類の画像のドメインに合わせるように変換する。ここで、ドメインとは、人工画像又は実画像のことである。
ステップS430において、第1属性推定部105は、上記ステップS420により変換された画像に対し、第1属性推定器を用いて属性値を推定する。
ステップS440において、出力部108は、上記ステップS430により推定された属性値を出力する。
<<各処理の詳細>>
ここで、属性推定装置100の属性推定処理における、各処理部の処理の詳細について説明する。
画像変換部101は、入力された第2の種類の画像を、学習に用いた第1の種類の画像のドメイン(本実施の形態では人工画像)に合わせるように、第1画像変換器を用いて画像を変換する。
具体的には、画像変換部101は、まず、記憶部130から第1画像変換器のパラメータφを取得する。次に、画像変換部101は、乱数あるいは固定値を用いて、zを任意の値に定める。そして、画像変換部101は、上記式(3)により、実画像aを人工画像b’へと変換する。
なお、入力された画像が人工画像である場合には、画像変換部101は入力された画像を変換しない構成としてもよいし、入力された画像を、第2画像変換器を用いて実画像に変換し、更に人工画像に変換する構成としてもよい。
第1属性推定部105は、画像の有する属性値を推定するための第1属性推定器を用いて、画像変換部101により生成された画像の有する属性値を推定し、入力された第2の種類の画像の属性値とする。
具体的には、第1属性推定部105は、まず、記憶部130から予め学習された第1属性推定器のパラメータθを取得する。次に、第1属性推定部105は、画像変換部101により変換された画像b’に対し、第1属性推定器を用いて下記式(28)を計算することにより、属性値yを推定する。
Figure 0007148078000029
以上説明したように、本発明の実施形態に係る属性推定装置によれば、属性値が既知の人工画像である第1の種類の画像と、属性値が未知の画像である実画像である第2の種類の画像を当該第1の種類の画像に変換して得られる画像と、を関連付けることにより、入力された画像の有する属性値を推定することにより、属性値が既知の人工画像又は実画像が全くないような場合であっても、他方の実画像又は人工画像の属性値を精度良く推定することができる。
また、本発明の実施形態に係る属性推定装置によれば、推定対象である画像の有する属性値を推定するための第1属性推定器を学習する属性推定器学習装置であって、属性値が既知の人工画像である第1の種類の画像と、属性値が未知の画像である実画像である第2の種類の画像を当該第1の種類の画像に変換して得られる画像と、を関連付けることにより、第1属性推定器を学習することにより、属性値が既知の人工画像又は実画像が全くないような場合であっても、他方の実画像又は人工画像の属性値を精度良く推定することができる属性推定器を学習することができる。
第一の種類の画像が、人工シミュレータにより生成された人工画像、第二の種類の画像が実画像であるとした場合、本発明の実施形態に係る属性推定装置によれば、第1属性推定器は次の(1)~(3)の条件を満たすように学習される。
(1)第1属性推定器は、第1の種類の画像の属性値と、当該第1画像変換器により当該第2の種類の画像を変換した結果に対して、当該第1属性推定器により推定した属性値とが近いほど小さい値となる第1損失関数により、属性値が既知の人工画像については、正しい属性値を推定できるように学習される。(2)第1画像変換器又は第2画像変換器により第1の種類の画像又は第2の種類の画像を変換した結果に対して、第1属性推定器により推定した属性値と、第1画像変換器又は第2画像変換器により第1の種類の画像又は第2の種類の画像を変換した結果に対して、第2属性推定器により推定した属性値とが近いほど小さい値となる第2損失関数により、属性値が未知の実画像に対しても、2種類の異なる属性推定器(第1属性推定器及び第2属性推定器)が同じような推定結果を出力できるように学習される。(3)第2画像変換器により第1の種類の画像を変換した結果の分布が、第2の種類の画像の分布に近いほど小さい値となる第3損失関数と、第1画像変換器により第2の種類の画像を変換した結果の分布が、第1の種類の画像の分布に近いほど小さい値となる第4損失関数とにより、第1画像変換器及び第2画像変換器は、人工画像と実画像との差異を小さくするように学習される。
これらの条件が充足されることにより、実画像と人工画像の差異を小さくしつつ、より安定した推定結果を出力できるような属性推定器が学習できる。
この結果、属性値が既知の実画像が一切得られないような場合であっても、人工シミュレータにより生成した属性値が既知の画像を用いることで、実画像の属性値を精度よく予測可能な属性推定器を学習することができる。
また、属性値が既知の実画像が得られる場合には、実画像の属性値を従来よりも精度よく予測可能な属性推定器を学習することができる。
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
例えば、上述の実施の形態では、第1の種類の画像が、人工画像であり、第2の種類の画像が、実画像である場合を例に説明したが、これに限定されるものではなく、第1の種類の画像が、属性値が既知の実画像であり、第2の種類の画像が、属性値が未知の人工画像であってもよい。この場合には、上述の実施の形態において、実画像を人工画像と読み替え、人工画像を実画像と読み替えて同様に処理すればよい。また、属性推定処理においても、属性値が未知の人工画像である第1の種類の画像を入力とし、第2画像変換器を用いて第2の種類の画像のドメインに合わせるように変換し、第1属性推定器を用いて属性値を推定すればよい。このように、属性値が既知の実画像を有する場合であっても、本発明を適用し得る。
また、第1画像記憶装置110及び第2画像記憶装置120を属性推定装置100の外部、記憶部130が属性推定装置100の内部にある構成としたが、これに限定されるものではなく、第1画像記憶装置110、第2画像記憶装置120、及び記憶部130は、それぞれ属性推定装置100の内部にある構成、外部にある構成としてよい。
上述の実施の形態では、第2学習部104は、第1画像変換器及び第2画像変換器のいずれも用いて人工画像又は実画像を相互に変換して学習する構成としたが、これに限定されるものではなく、人工画像又は実画像どちらか一方に合わせるように、いずれか一方を変換する構成としてもよい。これは、人工画像と実画像とが異なるドメインであり、異なるドメインの学習データを用いるとうまく学習ができない場合があることを考慮し、学習データである第1の種類の画像と第2の種類の画像とのドメインを合わせるためである。実画像に変換しても人工画像に変換しても成立するが、属性値が既知である実画像を学習データとして得ることができない場合には、人工画像に合わせるように構成してもよい。
また、上述の実施の形態では、属性推定処理において、第1属性推定器を用いて入力された画像の属性値を推定する構成としたが、これに限定されるものではなく、第2属性推定器を用いて画像の属性値を推定する構成としてもよい。この場合、上記式(28)において、第1属性推定器のパラメータθの代わりに、第2属性推定器のパラメータηを用いる構成とすればよい。
また、属性推定装置100が備える各部は、演算処理装置、記憶装置等を備えたコンピュータやサーバ等により構成して、各部の処理がプログラムによって実行されるものとしてもよい。この場合、当該プログラムは、属性推定装置100が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。もちろん、その他いかなる構成要素についても、単一のコンピュータやサーバによって実現しなければならないものではなく、ネットワークによって接続された複数のコンピュータに分散して処理を実現しても構わない。
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
10 バス
11 CPU
12 メモリ
13 通信IF部
14 入力部
15 表示部
16 記憶部
17 プログラム
50 ネットワーク
100 属性推定装置
101 画像変換部
102 学習部
103 第1学習部
104 第2学習部
105 第1属性推定部
106 第2属性推定部
107 入力部
108 出力部
110 第1画像記憶装置
120 第2画像記憶装置
130 記憶部

Claims (5)

  1. 推定対象である画像の有する属性値を推定する属性推定装置であって、
    属性値が既知の人工画像及び実画像の何れか一方である第1の種類の画像と、属性値が未知の画像である人工画像及び実画像の何れか他方である第2の種類の画像を前記第1の種類の画像に変換して得られる画像と、を関連付けることにより学習された第1属性推定器を用いて、入力された前記画像の有する属性値を推定する第1属性推定部を含み、
    前記第2の種類の画像の変換は、前記第2の種類の画像を前記第1の種類の画像に変換するための第1画像変換器を用いて行われ、
    画像の有する属性値を推定するための前記第1属性推定器は、第1損失関数の値と、第2損失関数の値とが小さくなるように第2属性推定器と共に予め学習されたものであり、
    前記第1画像変換器は、第3損失関数の値と、第4損失関数の値とが小さくなるように、前記第1の種類の画像を前記第2の種類の画像に変換するための第2画像変換器と共に予め学習されたものであり、
    前記第1損失関数は、前記第1の種類の画像の属性値と、前記第1画像変換器により前記第2の種類の画像を変換した結果に対して、前記第1属性推定器により推定した属性値とが近いほど小さい値となる損失関数であり、
    前記第2損失関数は、前記第1画像変換器又は前記第2画像変換器により前記第1の種類の画像又は前記第2の種類の画像を変換した結果に対して、前記第1属性推定器により推定した属性値と、前記第1画像変換器又は前記第2画像変換器により前記第1の種類の画像又は前記第2の種類の画像を変換した結果に対して、前記第2属性推定器により推定した属性値とが近いほど小さい値となる損失関数であり、
    前記第3損失関数は、前記第1画像変換器により前記第1の種類の画像を変換した結果の分布が、前記第2の種類の画像の分布に近いほど小さい値となる損失関数であり、
    前記第4損失関数は、前記第2画像変換器により前記第2の種類の画像を変換した結果の分布が、前記第1の種類の画像の分布に近いほど小さい値となる損失関数である、
    属性推定装置。
  2. 前記第2の種類の画像の変換は、前記第2の種類の画像を前記第1の種類の画像に変換し、かつ、推定対象の属性以外の少なくとも1つの属性を変更するものである請求項1記載の属性推定装置。
  3. 推定対象である画像の有する属性値を推定するための第1属性推定器を学習する属性推定器学習装置であって、
    属性値が既知の人工画像及び実画像の何れか一方である第1の種類の画像と、属性値が未知の画像である人工画像及び実画像の何れか他方である第2の種類の画像を前記第1の種類の画像に変換して得られる画像と、を関連付けることにより、前記第1属性推定器を学習する学習部を含み、
    前記第2の種類の画像の変換は、前記第2の種類の画像を前記第1の種類の画像に変換するための第1画像変換器を用いて行われ、
    前記学習部は、
    前記第1属性推定器を、第1損失関数の値と、第2損失関数の値とが小さくなるように第2属性推定器と共に学習する第1学習部と、
    前記第1画像変換器を、第3損失関数の値と、第4損失関数の値とが小さくなるように、前記第1の種類の画像を前記第2の種類の画像に変換するための第2画像変換器と共に学習する第2学習部と、
    を含み、
    前記第1損失関数は、前記第1の種類の画像の属性値と、前記第1画像変換器により前記第2の種類の画像を変換した結果に対して、前記第1属性推定器により推定した属性値とが近いほど小さい値となる損失関数であり、
    前記第2損失関数は、前記第1画像変換器又は前記第2画像変換器により前記第1の種類の画像又は前記第2の種類の画像を変換した結果に対して、前記第1属性推定器により推定した属性値と、前記第1画像変換器又は前記第2画像変換器により前記第1の種類の画像又は前記第2の種類の画像を変換した結果に対して、前記第2属性推定器により推定した属性値とが近いほど小さい値となる損失関数であり、
    前記第3損失関数は、前記第1画像変換器により前記第1の種類の画像を変換した結果の分布が、前記第2の種類の画像の分布に近いほど小さい値となる損失関数であり、
    前記第4損失関数は、前記第2画像変換器により前記第2の種類の画像を変換した結果の分布が、前記第1の種類の画像の分布に近いほど小さい値となる損失関数である
    属性推定器学習装置。
  4. 推定対象である画像の有する属性値を推定する属性推定方法であって、
    第1属性推定部が、属性値が既知の人工画像及び実画像の何れか一方である第1の種類の画像と、属性値が未知の画像である人工画像及び実画像の何れか他方である第2の種類の画像を前記第1の種類の画像に変換して得られる画像と、を関連付けることにより学習された第1属性推定器を用いて、入力された前記画像の有する属性値を推定する、処理をコンピュータに実行させる属性推定方法おいて、
    前記第2の種類の画像の変換は、前記第2の種類の画像を前記第1の種類の画像に変換するための第1画像変換器を用いて行われ、
    画像の有する属性値を推定するための前記第1属性推定器は、第1損失関数の値と、第2損失関数の値とが小さくなるように第2属性推定器と共に予め学習されたものであり、
    前記第1画像変換器は、第3損失関数の値と、第4損失関数の値とが小さくなるように、前記第1の種類の画像を前記第2の種類の画像に変換するための第2画像変換器と共に予め学習されたものであり、
    前記第1損失関数は、前記第1の種類の画像の属性値と、前記第1画像変換器により前記第2の種類の画像を変換した結果に対して、前記第1属性推定器により推定した属性値とが近いほど小さい値となる損失関数であり、
    前記第2損失関数は、前記第1画像変換器又は前記第2画像変換器により前記第1の種類の画像又は前記第2の種類の画像を変換した結果に対して、前記第1属性推定器により推定した属性値と、前記第1画像変換器又は前記第2画像変換器により前記第1の種類の画像又は前記第2の種類の画像を変換した結果に対して、前記第2属性推定器により推定した属性値とが近いほど小さい値となる損失関数であり、
    前記第3損失関数は、前記第1画像変換器により前記第1の種類の画像を変換した結果の分布が、前記第2の種類の画像の分布に近いほど小さい値となる損失関数であり、
    前記第4損失関数は、前記第2画像変換器により前記第2の種類の画像を変換した結果の分布が、前記第1の種類の画像の分布に近いほど小さい値となる損失関数である、
    属性推定方法。
  5. 推定対象である画像の有する属性値を推定する処理をコンピュータに実行させるプログラムであって、
    第1属性推定部が、属性値が既知の人工画像及び実画像の何れか一方である第1の種類の画像と、属性値が未知の画像である人工画像及び実画像の何れか他方である第2の種類の画像を前記第1の種類の画像に変換して得られる画像と、を関連付けることにより学習された第1属性推定器を用いて、入力された前記画像の有する属性値を推定する、処理をコンピュータに実行させるプログラムにおいて、
    前記第2の種類の画像の変換は、前記第2の種類の画像を前記第1の種類の画像に変換するための第1画像変換器を用いて行われ、
    画像の有する属性値を推定するための前記第1属性推定器は、第1損失関数の値と、第2損失関数の値とが小さくなるように第2属性推定器と共に予め学習されたものであり、
    前記第1画像変換器は、第3損失関数の値と、第4損失関数の値とが小さくなるように、前記第1の種類の画像を前記第2の種類の画像に変換するための第2画像変換器と共に予め学習されたものであり、
    前記第1損失関数は、前記第1の種類の画像の属性値と、前記第1画像変換器により前記第2の種類の画像を変換した結果に対して、前記第1属性推定器により推定した属性値とが近いほど小さい値となる損失関数であり、
    前記第2損失関数は、前記第1画像変換器又は前記第2画像変換器により前記第1の種類の画像又は前記第2の種類の画像を変換した結果に対して、前記第1属性推定器により推定した属性値と、前記第1画像変換器又は前記第2画像変換器により前記第1の種類の画像又は前記第2の種類の画像を変換した結果に対して、前記第2属性推定器により推定した属性値とが近いほど小さい値となる損失関数であり、
    前記第3損失関数は、前記第1画像変換器により前記第1の種類の画像を変換した結果の分布が、前記第2の種類の画像の分布に近いほど小さい値となる損失関数であり、
    前記第4損失関数は、前記第2画像変換器により前記第2の種類の画像を変換した結果の分布が、前記第1の種類の画像の分布に近いほど小さい値となる損失関数である、
    プログラム。
JP2019038279A 2019-03-04 2019-03-04 属性推定装置、属性推定方法、属性推定器学習装置、及びプログラム Active JP7148078B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019038279A JP7148078B2 (ja) 2019-03-04 2019-03-04 属性推定装置、属性推定方法、属性推定器学習装置、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019038279A JP7148078B2 (ja) 2019-03-04 2019-03-04 属性推定装置、属性推定方法、属性推定器学習装置、及びプログラム

Publications (2)

Publication Number Publication Date
JP2020144411A JP2020144411A (ja) 2020-09-10
JP7148078B2 true JP7148078B2 (ja) 2022-10-05

Family

ID=72353562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019038279A Active JP7148078B2 (ja) 2019-03-04 2019-03-04 属性推定装置、属性推定方法、属性推定器学習装置、及びプログラム

Country Status (1)

Country Link
JP (1) JP7148078B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022096379A (ja) * 2020-12-17 2022-06-29 富士通株式会社 画像出力プログラム,画像出力方法および画像出力装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Kangwook Lee, Hoon Kim & Changho Suh,SIMULATED+UNSUPERVISED LEARNING WITH ADAPTIVE DATA GENERATION AND BIDIRECTIONAL MAPPINGS,Conference paper at ICLR 2018,2018年04月30日,p1-15

Also Published As

Publication number Publication date
JP2020144411A (ja) 2020-09-10

Similar Documents

Publication Publication Date Title
US11379722B2 (en) Method for training generative adversarial network (GAN), method for generating images by using GAN, and computer readable storage medium
JP6441980B2 (ja) 教師画像を生成する方法、コンピュータおよびプログラム
CN111507311B (zh) 一种基于多模态特征融合深度网络的视频人物识别方法
JP7139749B2 (ja) 画像認識学習装置、画像認識装置、方法、及びプログラム
CN111582483A (zh) 基于空间和通道联合注意力机制的无监督学习光流估计方法
CN114332578A (zh) 图像异常检测模型训练方法、图像异常检测方法和装置
CN114418030B (zh) 图像分类方法、图像分类模型的训练方法及装置
US20220237917A1 (en) Video comparison method and apparatus, computer device, and storage medium
US11823490B2 (en) Non-linear latent to latent model for multi-attribute face editing
CN113066034A (zh) 人脸图像的修复方法与装置、修复模型、介质和设备
Chira et al. Image super-resolution with deep variational autoencoders
JP2020181240A (ja) データ生成装置、データ生成方法およびプログラム
CN112884648A (zh) 多类模糊图像超分辨率重建的方法和系统
KR20180087735A (ko) 이미지 분류 장치 및 방법
CN115587924A (zh) 一种基于循环生成对抗网络的自适应掩膜引导的图像模态转换方法
JP7148078B2 (ja) 属性推定装置、属性推定方法、属性推定器学習装置、及びプログラム
CN107729885B (zh) 一种基于多重残差学习的人脸增强方法
KR102198480B1 (ko) 재귀 그래프 모델링을 통한 비디오 요약 생성 장치 및 방법
KR102567128B1 (ko) 개선된 적대적 어텐션 네트워크 시스템 및 이를 이용한 이미지 생성 방법
JP2019197445A (ja) 画像認識装置、画像認識方法、およびプログラム
CN112270334A (zh) 一种基于异常点暴露的少样本图像分类方法及系统
CN110889316B (zh) 一种目标对象识别方法、装置及存储介质
KR102105951B1 (ko) 추론을 위한 제한된 볼츠만 머신 구축 방법 및 추론을 위한 제한된 볼츠만 머신을 탑재한 컴퓨터 장치
US20190156182A1 (en) Data inference apparatus, data inference method and non-transitory computer readable medium
CN115630361A (zh) 一种基于注意力蒸馏的联邦学习后门防御方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20190306

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220405

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220830

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220913

R150 Certificate of patent or registration of utility model

Ref document number: 7148078

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150