JP2021012595A - 情報処理装置、情報処理装置の制御方法、および、プログラム - Google Patents
情報処理装置、情報処理装置の制御方法、および、プログラム Download PDFInfo
- Publication number
- JP2021012595A JP2021012595A JP2019127079A JP2019127079A JP2021012595A JP 2021012595 A JP2021012595 A JP 2021012595A JP 2019127079 A JP2019127079 A JP 2019127079A JP 2019127079 A JP2019127079 A JP 2019127079A JP 2021012595 A JP2021012595 A JP 2021012595A
- Authority
- JP
- Japan
- Prior art keywords
- data
- feature amount
- distribution
- conversion
- information processing
- 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.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
【課題】人工的に生成されたデータを用いて学習を行った場合でも認識性能の低下を抑えることを可能とする。【解決手段】情報処理装置であって、第1のデータと、前記第1のデータとは生成条件の異なる第2のデータとのそれぞれから、特徴量を抽出する抽出手段と、抽出された前記特徴量を、該特徴量を表現する次元数を減少させるように変換して中間値を取得する処理手段と、前記中間値から前記特徴量を復元する復元手段と、前記抽出された特徴量と前記復元された特徴量との間での損失を計算する計算手段と、前記損失を小さくするように前記変換のための変換パラメータを更新する更新手段とを備える。【選択図】 図1
Description
本発明は、情報処理装置、情報処理装置の制御方法、および、プログラムに関する。
近年のdeep learning技術において学習データの量は、その性能に大きな影響を与える重要な要素となっている。よって、対象となるターゲットに対して大規模なデータセットを生成可能な環境を有することが重要である。
データセットの収集に関しては、二つの課題が考えらえる。一つ目は、データセットのバリエーションを維持しつつ大量に用意することが困難ということである。例えば、映像中から顔を認識する場合、人種、髪型、性別、表情、カメラアングル、照明条件等、多くの項目についてそれぞれバリエーションを用意する必要がある。このようなデータセットを作成することの負荷は、非常に大きな課題である。
二つ目は、データセットに対して顔画像領域を示す矩形や、顔の各器官の位置、表情や照明条件等のタグ情報を付与する作業の負担が大きいということである。データセットに対して、教師あり学習の場合、正解データを与える必要がある。しかし、カメラなどで撮影された画像等の場合、そのタグを自動で付与することは困難で、多くの場合、手動でその作業が行われている。
そこで、画像・音声などのデータの内容を認識する認識器を学習する際に、人工データをその学習データに使用することがある。特許文献1は、人間の顔の検出器を学習するために照明条件を変動させた多数の顔画像をコンピュータグラフィックス(以後CG)によって生成して、これを学習データとしている。また非特許文献1、非特許文献2に見られるように、CGによるデータセットを公開して認識技術の検討に使用する動きがみられるようになってきている。
学習データを人工的に生成することによって、実際に画像を撮影するのに比べて多くのバリエーションを簡易に用意することができる。また、人工的に生成する場合、実写では必要となるタグ付与の手間を省くことができるという利点もある。
このように、学習データを自動で作成・タグ付けすることによって、簡易に大量の学習用データを獲得することが可能となる。
German Ros、 Laura Sellart、 Joanna Materzynska、 David Vazquez、 Antonio M. Lopez、 "The SYNTHIA Dataset: A Large Collection of Synthetic Images for Semantic Segmentation of Urban Scenes"、 in CVPR、 2016
Qiao Wang、 Yohann Cabon、 Eleonora Vig、 "Virtual Worlds as Proxy for Multi-Object Tracking Analysis Adrien Gaidon"、 CVPR2016
J. Marin et al. 、 "Learning Appearance in Virtual Scenarios for Pedestrian Detection"、 CVPR、 2010
Li、 Mu、 et al. "Efficient mini-batch training for stochastic optimization." Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining. ACM、 2014
Girshick R.、 Shotton J.、 Kohli P.、 Criminisi A.、 and Fitzgibbon A.、 "Efficient regression of general-activity human poses from depth images"、 Computer Vision (ICCV)、 2011 IEEE International Conference on、 415 -422、 2011
Dalal. N、 Triggs. B、 "Histograms of Oriented Gradients for Human Detection"、 IEEE CVPR、 pp. 886-893 (2005)
Viola、 P and Jones、 M、"Rapid object detection using a boosted cascade of simple features"、 CVPR、vol.1、pp.511-518、 (2001)
Geoffrey E. Hinton; R. R. Salakhutdinov (2006-07-28). "Reducing the Dimensionality of Data with Neural Networks". Science 313 (5786): 504-507
しかし、上記のようにして生成したCGによる学習データを実写のデータベースに混入して学習を行った場合、CG固有の画質などの特徴の影響を受け、入力を実写にした場合のテストにおいて認識性能が落ちてしまうことが知られている(非特許文献3)。これは、人工データは、現実世界をシミュレートしたデータであり、多くの情報は現実を再現しているが、すべてを再現しているわけではなく情報の欠損が生じるために起こりうる。
また、CGによる学習データによる学習結果を用いて認識する対象が、カメラなどで取得した実写画像である場合、当該実写画像はCG的特徴を持たない。よって、CG特有の特徴を強く学習してしまった学習装置では、認識に失敗しやすく認識性能が低下するという課題があった。
そこで、本発明は、人工的に生成されたデータを用いて学習を行った場合でも認識性能の低下を抑えることを可能とする技術を提供する。
上記課題を解決するための発明は、情報処理装置であって、
第1のデータと、前記第1のデータとは生成条件の異なる第2のデータとのそれぞれから、特徴量を抽出する抽出手段と、
抽出された前記特徴量を、該特徴量を表現する次元数を減少させるように変換して中間値を取得する処理手段と、
前記中間値から前記特徴量を復元する復元手段と、
前記抽出された特徴量と前記復元された特徴量との間での損失を計算する計算手段と、
前記損失を小さくするように前記変換のための変換パラメータを更新する更新手段と
を備え、
前記損失には、前記第1のデータの前記復元された特徴量に基づく第1の分布と、前記第2のデータの前記復元された特徴量に基づく第2の分布との比較結果に応じた値が含まれ、
前記更新手段は、前記損失を小さくすることにより前記第1の分布と前記第2の分布との類似度をより近づけるように、前記変換パラメータを更新する。
第1のデータと、前記第1のデータとは生成条件の異なる第2のデータとのそれぞれから、特徴量を抽出する抽出手段と、
抽出された前記特徴量を、該特徴量を表現する次元数を減少させるように変換して中間値を取得する処理手段と、
前記中間値から前記特徴量を復元する復元手段と、
前記抽出された特徴量と前記復元された特徴量との間での損失を計算する計算手段と、
前記損失を小さくするように前記変換のための変換パラメータを更新する更新手段と
を備え、
前記損失には、前記第1のデータの前記復元された特徴量に基づく第1の分布と、前記第2のデータの前記復元された特徴量に基づく第2の分布との比較結果に応じた値が含まれ、
前記更新手段は、前記損失を小さくすることにより前記第1の分布と前記第2の分布との類似度をより近づけるように、前記変換パラメータを更新する。
本発明によれば、人工的に生成されたデータを用いて学習を行った場合でも認識性能の低下を抑えることが可能となる。
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
[実施形態1]
以下、図を用いて本発明の実施形態について説明する。本実施形態で扱うデータは、撮像装置或いはカメラ等の画像取得装置により現実に撮影され、生成された画像(実写画像)を例として説明を行う。しかし、実施形態は実写画像に限定されるものではない。例えば、マイク等の音声取得装置により現実に取得された音声データや、その他の所定の情報を取得するためのセンサにより取得されたデータであってもかまわない。
以下、図を用いて本発明の実施形態について説明する。本実施形態で扱うデータは、撮像装置或いはカメラ等の画像取得装置により現実に撮影され、生成された画像(実写画像)を例として説明を行う。しかし、実施形態は実写画像に限定されるものではない。例えば、マイク等の音声取得装置により現実に取得された音声データや、その他の所定の情報を取得するためのセンサにより取得されたデータであってもかまわない。
また、本実施形態では、認識処理の出力ターゲットとして所定の物体(例えば人間の顔、自動車、標識など)の画像における存在の有無の結果として出力する例を説明するが、実施形態はこれに限定されるものではない。例えば、静止画像や動画像について、何らかの評価値(行動認識、笑顔度、年齢など)を出力するような認識器であってもよい。また、本実施形態では、認識対象のことを「ターゲット」と呼ぶこととする。
実施形態1では、AutoEncoderという入力を復元する低次元の中間表現を獲得する構造を持ったニューラルネット(非特許文献8)を用いる場合について述べる。図1は実施形態1に対応する情報処理装置100の構成の一例を示す図である。
情報処理装置100は、CPU101、入力装置102、出力装置103、メモリ110、メモリ120がバス104に接続されて構成されている。CPU101は、メモリ110に記憶された各種プログラムを実行することで、情報処理装置100の全体的な動作を制御すると共に、発明の実施形態に対応する処理を実行する。
入力装置102は、マウスやキーボード、および、撮影装置(撮像装置、デジタルカメラ、ビデオカメラ等)などの入力装置である。ユーザーは、入力装置102を介して情報処理装置100に対して指示を入力したり、画像データ、音声データ、センサデータを入力することができる。出力装置103は、例えばディスプレイやプリンタであって、処理結果のテキストやグラフ、画像等を表示したり印刷したりすることで出力する。また、計算結果を表示するためにも使用される。
メモリ110と120はそれぞれプログラムを格納するメモリとデータを格納するメモリである。この2つは便宜上区別して説明しているだけであり、一体的に構成されてもかまわない。メモリ120には、認識学習を行うために必要な学習用データ130が事前に格納されている。学習用データ130は、所定のターゲットを学習するための学習データであり、認識するためのターゲットは共通であるが複数のデータ特性が混合されて格納されている。
ここでデータ特性とは、学習用データ130を生成する際のデータの生成条件に基づく概念であり、本実施形態では第1特性と第2特性とがある。第1特性データ131は、実物をカメラで撮影するなどして生成された実写画像データである。また第2特性データは、CGによって人工的に生成されCG画像(人工データ)である。メモリ120には、学習に必要な量のこれらの画像が記憶されているものとする。
ここでターゲットを顔画像とし、入力装置102としての撮影装置により撮影された画像から顔画像を認識する場合、第1特性データ131は複数の実在の人物をカメラで撮影した実写の顔画像であり、第2特性データ132はCG作成ソフトによって人工的にレンダリングされた顔画像となる。これらは生成条件により生成時に実写データと人工データが異なることが明確なため、データ上で区別することは容易である。例えば、ファイル名等に専用の修飾子を付与することで、学習用データ130内で混合されていても容易に分離することが可能である。
人工データは、一度シミュレーション環境を構築してしまえば、CGソフト上でカメラアングル、レンダリングクオリティ、色味、被写界深度などのパラメータを制御することで大量のバリエーションを生成することが可能である。また、3次元データを変形、テクスチャデータの変更などによって肌の色、髪型、表情など大量のバリエーションを生成することも可能である。そのため、実写による学習データである第1特性データ131が、バリエーションの異なるデータを大量に収集するのが困難であるのに対して、第2特性データ132は、シミュレーションによってバリエーションの異なるデータを大量に生成可能である。
しかし、あくまでもシミュレーションによって作成されたデータであり、完全に現実を模擬したものではない。むしろ、CG特有の特徴が含まれている。例えば、ノイズのない均一な領域、彩度が非常に高い色、単純な照明モデルによる整いすぎたグラデーションなどである。よって、第1特性データと第2特性データとの間に微小な乖離が生ずる。また、人間も、CGデータと実写データに微妙な差異を感じることがある。これは「不気味の谷」と呼ばれる現象で、シミュレーションによるレンダリング時の画質の違いやカメラモデルの表現不足などを人間が敏感に知覚してしまう現象である。一方、CGを生成する際に使用する形状データをデジタル3次元スキャナなどで計測したデータなどの場合、その形状は実在の人物の形状と同じもので、そのような形状データと実写を人間が区別することは難しい。たとえ人間がCGと実写との差が気にならなかったり、大差ないように感じたりしたとしても、微小な乖離は認識学習に影響を及ぼすことがあり、大量に人工データを混入させた学習データ130ではCT固有の特性を学習してしまう。また、CGと実写画像との間になんらかの統計的な差異が存在すれば、その特徴に反応するように学習されてしまう。
そして、実応用において識別処理を行う場合、入力装置102から入力されるデータは通常は実写データである。しかし、学習時において第2特性データ132を混合した学習用データ130を用いた認識装置では第1特性データ131と第2特性データ132との乖離を含めた学習を行ってしまう可能性がある。そのため第2特性データ132を混入したことによって入力された実写データの認識性能が低下してしまうおそれがある。
また、学習用データ130の個々のデータには、ターゲットに関するタグ情報があらかじめ付与されている。このタグ情報とは、例えば認識したいターゲットがヒトの顔である場合には、画像中にヒトの顔が写っているか否かを表す2クラスの教師値である。これは前述のデータ特性とは異なり画像の内容に応じて付与されたタグであり、例えば顔画像であれば0、顔でない画像であれば1というようにタグを付与する。但し、タグ情報は2クラスのタグにのみ限定されるものではなく、複数の認識対象を表す複数の値を持つものや実数値、ベクトル値であっても良い。
また、タグ情報は人物が写っているか否かだけではなく、その画像上の矩形領域や目・鼻などの各器官の情報、表情や性別の情報などが含まれていてもよい。データとタグ情報を関連付ける方法は、例えばデータのファイル名とタグ情報との参照テーブルとを作成し、参照テーブルをメモリ120中のデータと同じ場所に格納するなどすれば良い。
また、本実施形態では第2特性データ132の人工データとしてCGにより人工的に生成した顔画像を用いたが、本実施形態はこれに限定するものではない。例えば、音声合成システムによって人工的に生成した音声データや、センサ値などをシミュレーションによって人工的に生成したデータなど、第1特性データ131の実物データを模して生成されたデータであればいずれにも適用可能である。
メモリ120には更に、特徴量データ140が格納されている。特徴量データ140とは、学習時に学習用データ130から特徴抽出処理によって抽出された特徴量をいう。本実施形態における特徴量とは、一般的な顔認識アルゴリズムにおいて使用されるHOG特徴(非特許文献6)や、Haar-Like特徴(非特許文献7)等に加えて、CNN(Convolutional Neural Network)などニューラルネットワークによって抽出された特徴量でも良い。
メモリ120には更に、ニューラルネットワークデータ150が格納されている。ニューラルネットワークデータ150とは、ニューラルネットワークの構造データ151や中間表現データ152を格納したものである。構造データ151とは、ネットワークの中間層の数、各中間層のユニット(ニューロン)数や各ユニットの結合構造を記載したものである。中間表現データ152とは、ニューラルネットワークが学習によって獲得するパラメータで、ネットワーク間の結合重みやバイアス値などのことである。これらは以下で説明する中間表現獲得処理および中間表現更新処理によって学習・更新された後、メモリ120に格納される。
メモリ120には更に、ニューラルネットワークデータ150が格納されている。ニューラルネットワークデータ150とは、ニューラルネットワークの構造データ151や中間表現データ152を格納したものである。構造データ151とは、ネットワークの中間層の数、各中間層のユニット(ニューロン)数や各ユニットの結合構造を記載したものである。中間表現データ152とは、ニューラルネットワークが学習によって獲得するパラメータで、ネットワーク間の結合重みやバイアス値などのことである。これらは以下で説明する中間表現獲得処理および中間表現更新処理によって学習・更新された後、メモリ120に格納される。
メモリ110には、上記中間表現データを獲得するために必要な処理を実行するためのプログラムが格納されている。CPU101は、各プログラムを実行することにより、本実施形態に対応する処理を実行することができる。
以下に、本実施形態における全体の処理の一例について説明する。図2には、本実施形態におけるニューラルネットワークデータ150における構造データ151の模式図を示す。
ニューラルネットワーク200は、構造データ151によって記述された構造に従い、第1ノード201、第2ノード202、第3ノード203、第4ノード204の4層で構成される。第1ノード201と第2ノード202との間で特徴層210が構成され、第2ノード202と第3ノード203との間でEncode層220が構成され、第3ノード203と第4ノード204との間でDecode層240が構成される。
本実施形態ではEncode層(符号化層)220とDecode層(復号層)240とでAutoEncoder(非特許文献8)を構成しており、AutoEncoderの入力となる第2ノード202への入力と、Decode層240の出力となる第4ノード204で復元された入力との誤差が小さくなるようにEncode層220における入力を中間値に変換(処理、或いは、圧縮ともいう)する際の変換パラメータ(各ニューロン間の結合重みW、バイアス項b)を獲得する。このとき、中間表現230(本実施形態では第3ノード203の状態)のニューロン数が入力ユニットである第2ノード202より少ない場合、情報を圧縮した表現を獲得することができる。Encode層220における変換式を以下に示す。
y=s(Wx+b)・・・(式1)
ここで、xがencode層220の入力(第2ノード202)を示し、yはEncode層220の出力(中間値)である第3ノード203の状態を示す。s()はsigmoid関数でWとbはそれぞれ結合重み項、バイアス項のパラメータとなる。Decode層240における復号(復元、或いは、逆変換)のための式は以下のようになる。
ここで、xがencode層220の入力(第2ノード202)を示し、yはEncode層220の出力(中間値)である第3ノード203の状態を示す。s()はsigmoid関数でWとbはそれぞれ結合重み項、バイアス項のパラメータとなる。Decode層240における復号(復元、或いは、逆変換)のための式は以下のようになる。
z=s(W'y+b')・・・(式2)
yは第3ノード203の状態、zはDecode層240の出力を示す。ここでdecode層240のパラメータであるW'にはWの転置行列を用いて、中間値yから入力情報xを復元する。
ここでは説明のため、一般的なAutoEncoderの学習方法であるTied Weightな方法を用いてdecoder層240のパラメータW'を学習しない例を示したが、実施形態はこれに限定するものではなくuntied weightedな方法としてdecoder側の重み行列W'を学習によって求めてもよい。
AutoEncoderの目的は、入力xと出力zとの差をできるだけ小さくする(最小化する、或いは、収束させる)ことであり、そのために利用するxとz間の損失関数LH (x、 z)には以下の交差エントロピーを用いる。
yは第3ノード203の状態、zはDecode層240の出力を示す。ここでdecode層240のパラメータであるW'にはWの転置行列を用いて、中間値yから入力情報xを復元する。
ここでは説明のため、一般的なAutoEncoderの学習方法であるTied Weightな方法を用いてdecoder層240のパラメータW'を学習しない例を示したが、実施形態はこれに限定するものではなくuntied weightedな方法としてdecoder側の重み行列W'を学習によって求めてもよい。
AutoEncoderの目的は、入力xと出力zとの差をできるだけ小さくする(最小化する、或いは、収束させる)ことであり、そのために利用するxとz間の損失関数LH (x、 z)には以下の交差エントロピーを用いる。
式3の損失関数を最小化するパラメータ(W、b、b')を求めることで所望の中間表現230を獲得することができる。その際、第3ノード203のニューロン数がAutoEncoderの入力層である第2ノード202のニューロン数より少なければ、情報が圧縮され、入力情報より次元数の低い中間表現230によって入力情報を復元することが可能となる。ただし、このまま通常のAutoEncoderの構造では、中間表現230の圧縮された成分の中に、第1特性データ131と第2特性データ132の乖離を含めることはできない。
そこで、本実施形態では、第1特性データ131と第2特性データ132との乖離を最小にするような中間表現を獲得する方法を説明する。図3は、当該方法の一例を示すフローチャートである。当該フローチャートに対応する処理は、CPU101がメモリ120に記憶されている各プログラムを実行することにより実現される。
まず、CPU101は、S301にてメモリ120中の学習用データ130に記憶されているデータをニューラルネットワーク200に対する入力であるデータ290としてロードする。データ290は、第1特性データ131もしくは第2特性データ132のデータのどちらのデータでも良い。また、最初にS301の処理を実行する場合は、後述するパラメータ更新処理を実行した繰り返し回数を表す変数Nを0に初期化する。続くS302では、CPU101は、ニューラルネットワーク200の特徴層210を通して、S301でロードしたデータから特徴量を抽出する。特徴層210は、データ290の特徴量に相当する特徴量ベクトルを第2ノード202へ出力する。図2では簡略化のために1層のみで表現されているが、複数の層より構成されていてもよい。また、ニューラルネットワークの構造が本実施形態ではMLP(Multi Layered Perceptron)の構成として記述されているがこれに限定するものではなく、例えば非特許文献1に記載があるような畳込みニューラルネットワーク(CNN)の構造であっても良い。本実施形態においては、ニューラルネットワークの構造そのものは公知のものを任意に採用することができる。さらに、本実施形態では、特徴量抽出処理について、ニューラルネットワーク200の構造中にて特徴量抽出も行っている例について述べたが、実施形態はこれに限定されるものではなく、データ290からHOG特徴量やHaar-Like特徴量などを予め特徴量として抽出しておき、S302においてこれを第2ノード202に入力しても良い。
CPU101は、S303において、抽出された特徴量ベクトルをメモリ120の特徴量データ140として格納する。これは、後段の入力情報を復元する処理により復元された復元特徴量ベクトルとの比較に用いられる。
続くS304では、CPU101は、抽出された特徴量ベクトルに対して中間表現230を獲得するための処理を実行する。具体的には、S302で抽出された特徴量がEncode層220に入力され、特徴量の中間表現230が中間層に出力される。図2では、Encode層を1層で構成する場合を示しているが、この形態に限定されるものではなく複数層で構成されていても良い。また、中間表現230は、入力ユニットである第2ノード202のニューロン数よりも少ないため、中間表現230では情報の欠損が生ずるため、情報量の削減が可能となる。本実施形態では、一般的なAutoEncoderを例に中間表現230にてニューロン数を減少させた例を説明しているが、実施形態はAutoEncoderを用いるものに限定されることはなく、Sparse AutoEncoderのように中間表現230でのニューロン数を減少させず損失関数にスパース項を設けることで実質的に情報の欠損を発生させる方法を用いても良い。
続くS305では、S304で獲得した中間表現230、および、上述のパラメータ(W、b、b')を用いて、入力された特徴量ベクトルを復元すべく、復元特徴量ベクトルを生成する。本実施形態では復元の方法に式2に示すtied weightな手法を用いて中間表現230を生成するのに用いたパラメータを使用する。また、untied weightな手法を用いてEncode層のパラメータとDecode層のパラメータとを両方学習しても良い。
続くS306では、CPU101は、S302において抽出し、メモリ120に記憶しておいた、抽出された特徴量である特徴量ベクトルxと、上記の復元された特徴量である復元特徴量ベクトルzとを用いて入出力間の損失を求める。具体的には、式3の損失関数LH (x、z)による計算に基づき、復元した特徴量zの再現率を評価する。続くS307において、CPU101は、S306で算出した損失が収束条件を満たすかどうかを判定する。損失が収束条件を満たす場合、処理を終了する。ここで、収束条件とは、例えばあらかじめ設定した閾値を損失が下回ったかどうかであり、損失が閾値を下回る場合には収束条件を満たすとして本処理を終了する。一方、収束条件を満たさない場合、処理はS308に進む。
S308においてCPU101は、パラメータ(W、b、b')を更新する。当該更新処理では、損失関数を最小化するようパラメータを勾配法によって更新する。中間表現を生成するためのパラメータ(W、b、b')は、
となる。確率的勾配降下法を用いて、ランダムに選んだデータの微分値を用いてパラメータを更新する。その後、処理はS301に戻る。
となる。確率的勾配降下法を用いて、ランダムに選んだデータの微分値を用いてパラメータを更新する。その後、処理はS301に戻る。
ここまでのS301からS308までの処理は、通常のAutoEncoderの処理となり、損失関数LH (x、z)を最小化する中間表現230を獲得することができる。本実施形態では、これに追加の処理を実行することにより、第1の特性と第2の特性の乖離を考慮した中間表現230を獲得することができる。本実施形態では学習用データ130の第1特性データ131を実写データとし、第2特性データ132を人工データとしているので、以下、実写データ131、人工データ132として説明する。
S311では、S304において獲得した中間表現230を用いて、メモリ120中の学習用データ130中からデータをサンプリングする。サンプリングするデータはランダムでも良いし、特徴ベクトル空間上で近いデータ同士でも良いし、学習用データ130の全データでもよい。また、実写データ131と人工データ132から均等にサンプリングしても良いし、重みを付けて傾斜をかけても良い。また、学習用データ130に含まれない他のターゲットなどで使用した実写データと人工データであってもよい。
続くS312では、S311でサンプリングしたデータについて、現在メモリ120の中間表現データ152に格納されたパラメータを用いて特徴層210、encoder層220、decoder層240を通過させることで、サンプリングデータの特徴量ベクトルを復元する。学習が途中の場合には、S303の特徴ベクトルに対して大きな誤差が生じていることが予想される。
続くS313では、あらかじめ付与されている特性タグから、復元特徴量ベクトルを実写データに基づく第1の群と、人工データに基づく第2の群とに振り分ける。学習用データ130には、画像の生成方法(実写データか人工データか)がタグとして付与されているため、タグを参照すれば分類は容易である。S314及びS315では、それぞれの画像生成方法に対する特徴量ベクトルの分布を計算する。
もっとも単純な方法はそれぞれをガウス分布:N(μ、Σ)で近似する方法である。μはその分布の平均ベクトル、Σは分散共分散行列を表す。もちろん詳細な分布を計算してもかまわないし、例えばa個のガウス分布を持つ混合ガウスモデルΣaπaN(μa、Σa)など複数の分布の合成であってもかまわないものとする。本実施形態では、分布の近似方法にガウス分布を用いたがこれに限定するものではなく、分布情報は後段の分布間の比較を行うことが可能なものであればどのような分布を用いて近似しても良いものとする。
続くS316では、CPU101は、S314及びS315にて算出した実写データ分布、人工データ分布の比較を行う。上記のように本実施形態で使用する特性データには、その特徴ベクトルにCGと実写間で乖離を持つものと、ほとんど同じものとが混在するが、全体的には顔の学習用データセットとなっているため、特徴ベクトル空間ではほぼ同じ分布を有することになる。S316ではこのような二つの分布の比較を行う。分布の比較には式5に示すKL(Kullback-Leibler)情報量を用いる。
ここで、dは特徴量の次元、P'real及びP'CGは、中間表現230によって射影された特徴空間における分布を示す。
ここで、dは特徴量の次元、P'real及びP'CGは、中間表現230によって射影された特徴空間における分布を示す。
P'real = RPreal (式6)
P'CG = RPCG
ここで、RはS312で算出した特徴ベクトルから中間表現への射影変換を示す。それぞれのデータの分布PrealおよびPCGは、それぞれS314、S315で求めた分布である。上記計算によって求めたKL情報量は、実写データに基づく中間表現分布と人口データに基づく中間表現分布との類似度を示している。なお、中間表現への射影変換処理を省略し、KL情報量が二つの分布PrealとPCGの分布的な類似度を示すようにしてもよい。
P'CG = RPCG
ここで、RはS312で算出した特徴ベクトルから中間表現への射影変換を示す。それぞれのデータの分布PrealおよびPCGは、それぞれS314、S315で求めた分布である。上記計算によって求めたKL情報量は、実写データに基づく中間表現分布と人口データに基づく中間表現分布との類似度を示している。なお、中間表現への射影変換処理を省略し、KL情報量が二つの分布PrealとPCGの分布的な類似度を示すようにしてもよい。
本実施形態では、AutoEncoderによって獲得した特徴ベクトル空間上で実写分布とCG分布との比較結果を示すKL情報量を損失関数に組み込むことで、実写とCGの差異を最小にする特徴ベクトル空間を表現するパラメータを学習することが可能となる。
そこでS304で中間表現を算出するパラメータに対して、S306で用いた損失関数:LH (x、z)に加えて、S316で求めたKL情報量を加えた損失関数:L'H (x、z)を式7としてパラメータを更新する。
L'H(x,z) = LH(x,z)+ γKL(P'real || P'CG) ・・・(式7)
ここでγは寄与率を示し、ユーザーが設定してもよいし学習によって求めてもよいものとする。
L'H(x,z) = LH(x,z)+ γKL(P'real || P'CG) ・・・(式7)
ここでγは寄与率を示し、ユーザーが設定してもよいし学習によって求めてもよいものとする。
このように、損失関数に特徴ベクトル空間上での実写とCGの分布類似度を含めることにより、実写とCGの分布の差が損失の大きさに現れる。よって、AutoEncoderでは、損失を最小にするようにパラメータが調整されることになるので、結果として実写とCGの分布の類似度がより近づくように調整される。これにより、実写とCGとでデータ生成方法による差異を考慮しない中間表現を獲得することが可能となる。
本実施形態では、分布の比較にKL情報量を用いたがこれに限定するものではなく、分布を比較する方法であればどのような方法を用いてもよい。例えば、簡便にk-means法によっていくつかの分布の代表点を求めたのち、これらの代表点間の距離を比較する方法なども使用できる。
以上に説明したように、本実施形態では、実写とCGのように作成方法は異なるが同一識別対象が写っている画像データセットにつき、特徴量上で実写とCGとの差異を吸収しつつ次元を削減した特徴量を取得することができるようになる。これにより、実写データのみで学習データを構成した場合と比較して、CGデータを追加することでより大量の学習データをCGデータに特有の画質などの影響を考慮することなく使用することができるようになる。
また、実写データのみでは被写体のバリエーション(人種、性別、髪型、年齢など)撮影環境のバリエーション(カメラアングル、照明条件など)を網羅的に集めることは困難で、特徴量空間での分布に偏りが生じ、認識性能に影響を与える。しかし、CGデータによって多くのバリエーションを生成して中間表現空間上で網羅的な分布とすることで、より未知の入力に対してロバストな学習を行うことが可能となる。その際にCGデータに特有の画質などの影響を考慮することなく使用することが可能になる。
さらに、本実施形態では、特徴ベクトルの次元を削減することで、学習パラメータ数の少ない設定での学習を行うことができるため、メモリ使用量の削減、計算ハードウェアの削減、処理速度の向上などの効果がある。また、大量に生成されたCGデータは、すべてレンダリングする際にどのようなカメラアングルで、どのような肌の色に対して、どのような角度から照明を当てているかなどの情報を持っているため、認識学習用のデータセットを作成する際に必要になるタグ付の作業を行う必要がなくなるため、効率的にデータセットの量を増やすことが可能となる効果がある。
このように、生成方法の異なるデータを混合して学習を行った場合でも、その特徴の差異を除去した中間表現を獲得することができる。また、その構造をニューラルネットワークの中間層に適用することで、生成方法の異なるデータを混合した際の影響を除去しつつ、ターゲットクラスの認識精度向上を図るニューラルネットワークを構成することが可能になる。
[実施形態2]
次に第2の実施形態について述べる。実施形態2ではニューラルネットワークを用いて、ターゲットとして映像中の人物が行う特定の行動(例えばキック動作か否か)を認識する際に、実写データに加えて人工データを付与する上でもキック動作の認識性能を向上させつつ実写とCGとの乖離を吸収する場合について説明する。
次に第2の実施形態について述べる。実施形態2ではニューラルネットワークを用いて、ターゲットとして映像中の人物が行う特定の行動(例えばキック動作か否か)を認識する際に、実写データに加えて人工データを付与する上でもキック動作の認識性能を向上させつつ実写とCGとの乖離を吸収する場合について説明する。
本実施形態2では実施形態1と同様に学習用データ130に実写データ131と人工データ132を混合したデータセットを用いて認識学習処理を行う。その際に、目的となる出力の学習をDeep Learningにて最適化するプロセスに本発明を適用し、学習用データ130に実写データ131と人工データ132が混入した場合にも人工データ特有の特性を考慮することなく目的となる出力の性能を向上することが可能な方法について説明する。
図4に、本実施形態で使用するニューラルネットワーク400の構造データ151の模式図を示す。ニューラルネットワーク400は、実施形態1の中間表現を獲得するニューラルネットワーク200とは異なり、画像認識、行動認識など特定の目的に対して認識処理を行うためのニューラルネットワークである。出力値算出方向450に入力データから出力への情報が流れ、出力結果と正解のラベルとの違いを基に誤差逆伝搬方向460に誤差情報が伝搬して、各層における認識処理の実行パラメータを更新する。
本実施形態におけるニューラルネットワーク400は、入力ユニット410から隠れユニット6層(411〜416)と出力ユニット417の8層で構成されるものとする。学習用データ130から抽出した映像データを入力ユニット410へ入力し、一つ以上の隠れユニット(411〜416)を経て映像中にターゲットクラス(キック動作)が含まれているか否かの2クラスを判別する出力を出力ユニット417に出力するものである。ニューラルネットワークの各層には複数のニューロンが存在し、出力ユニット417はターゲットクラス確率と非ターゲットクラス確率を出力する。
学習時には学習用データ130中であらかじめ付与されたターゲット画像と非ターゲット画像のラベルを基に学習を行う。このような設定で学習を行うことは一般的な教師あり学習方法であるため詳細な説明は省略する。ここでターゲット出力としてキック動作か否かの2クラスの判別を例に用いて説明するが、これに限定されるものではなく3クラス以上の認識を行う設定にしてもよいし、実数値で表わされる認識結果を出力する回帰学習の設定でも良い。
本実施形態では、図4に示すニューラルネットワーク400でのターゲット認識処理において本来のターゲット認識のための学習過程に加えて、中間層である隠れユニット412と413で生成される中間表現に対して本開示で説明する実写とCGとの差異を吸収する処理を施すことによって、CGを学習データに含めたことによるCG特有の特性を吸収する処理とターゲット認識精度を向上させる処理を同時に行う。
本実施形態では、隠れユニット412と隠れユニット413の部分でencode層430を構成したが、これに限定されるものではなくencode層は複数の層によって構成されていてもよい。
図5に実施形態2における学習処理のフローチャートを示す。本実施形態では学習にミニバッチ法(非特許文献4)を用いた場合について説明する。学習用データ130をK個のデータを持つ小データに分割し、K個のデータに対して出力ユニット417までの処理を行った後で各層のニューロンの重みを更新する処理を繰り返すこととする。
S501では、本実施形態におけるニューラルネットワーク400に出力値算出方向450の方向に処理を進めることで出力ユニット417から出力値を得る。i番目の層からj番目の層への順伝播の式は以下のように示される。
vi = Σj wijyj, yj=φj(vj) ・・・(式8)
順伝播で出力したすべてのユニットの出力yとvをメモリ120に保存しておく。S502では、ミニバッチの全データを通過するまでS503においてメモリ120に各データの出力値を格納する。S502において、K個のデータすべてニューラルネットワーク400を通過させた後にS504に移行する。S504では、S501で得たターゲット出力値と、ターゲット出力の目標値との誤差を算出する。ターゲット出力値をy、教師信号をtとすると誤差を表す損失関数Eは、以下の式9で表わされる。
順伝播で出力したすべてのユニットの出力yとvをメモリ120に保存しておく。S502では、ミニバッチの全データを通過するまでS503においてメモリ120に各データの出力値を格納する。S502において、K個のデータすべてニューラルネットワーク400を通過させた後にS504に移行する。S504では、S501で得たターゲット出力値と、ターゲット出力の目標値との誤差を算出する。ターゲット出力値をy、教師信号をtとすると誤差を表す損失関数Eは、以下の式9で表わされる。
Nは出力ユニットの数で、本実施形態では2となる。S505では、ミニバッチに使用する全データについて、中間表現(本実施形態では隠れユニット3(413)の状態)のパラメータを中間表現ノード441にコピーする。隠れユニット412までの処理を特徴量抽出処理とみなして特徴量層420とする。また、隠れユニット412と隠れユニット413との間を前段で抽出した特徴量を中間値に変換するEncode層430として、隠れユニット412から隠れユニット413までの変換処理に用いるニューロンのパラメータ(結合重みW、バイアスベクトルb)をコピーする。
S506では、学習用データ130から実写データ131、人工データ132を特徴量層420を通じて出力した結果としてサンプリングする。この際、サンプリングデータはミニバッチで使用したデータであっても良いし、学習用データセットからサンプリングしたものでも良いし、全データを使用してもかまわない。
続くS507では、decode層440の式2を用いて、上記パラメータを用いて隠れユニット412の入力情報を復元する。Decode層440のネットワークパラメータは、encode層430のパラメータの転置行列を使用することで、パラメータの計算負荷を軽減する。
本実施形態では、簡単な例としてencode層を1層のみのAutoEncoderを例として説明したがこれに限定するものではなく、多層のAutoEncoderを用いたり、Denoising AutoEncoderなど入力(隠れ層2 412)を復元することが可能な方法であればGAN(Generative Adversarial Network)や、RBM(Restricted Boltzmann Machine)などの手法を用いても良い。Encode層430、decode層440を介することで隠れ層412の状態を復元した復元ノード442を出力する。この復元ノード442の状態は、隠れ層412の状態を復元したものだが、次元圧縮によって元の状態から情報が一部欠落したものとなっている。
S508では、前段S506でサンプリングした学習データに対して前段でEncoder層430、decoder層440を介することによって各入力データの復元ノード442上での出力を得る。学習データにはその画像生成方法(実写か人工データか)によってタグが付与されているため、それぞれその特性ごとに実写データ分布と人工データ分布に分割し、その分布特性を求める。本実施形態では実施形態1と同様に各分布aはガウス分布N(μa、Σa)であるものと仮定して、そのパラメータである平均ベクトルμa、分散共分散行列Σaを求める。
続くS509では、前段で取得した実写と人工データの分布の比較を行う。分布の比較方法は実施形態1と同様にKL情報量を用いることとし、特性の異なるデータ分布の比較を行う。入力ベクトルの次元をdとすると、d次元の多変量正規分布のKL情報量DKLは、式10で表すことができる。
このKL情報量DKLは二つの分布PrealとPCGの分布的な類似度を示し、値が大きいほど二つの分布は似ていないと考えられる。なお、実施形態1と同様に中間表現への射影変換処理を行って、KL情報量が二つの分布P'realとP'CGの分布的な類似度を示すようにしてもよい。そのため、実写とCGの差異を考慮しない中間表現を得るためにはKL情報量DKLを小さくする制約を設ける必要がある。中間表現を獲得するプロセスにおいて上記KL情報量DKLを最小化するペナルティ項を加えることによって削減する情報の中に実写とCGの違いを埋め込むことが可能となる。
式9の損失関数Eは出力層417で出力される映像中の行動(キック動作か否か)認識結果に対して目標となるタグ情報との差異を示す。本実施形態では、損失関数Eにこの二つの分布の差異を最小化するようKL情報量DKLを用いたペナルティ項を加えた損失関数E'を用いて、ニューラルネットワーク400のパラメータを決定する。
本実施形態における損失関数E'を式11として式9および式10から、
E'=E+γDKL・・・(式11)
と表す。γはKL情報量の寄与率となる。
E'=E+γDKL・・・(式11)
と表す。γはKL情報量の寄与率となる。
S510で収束条件を満たしたか判別し、収束したところで学習を終える。収束条件に満たない場合、後段のS511にてパラメータ更新処理を行う。S511では、損失関数E'を用いて逆誤差伝搬法によってニューラルネットワーク400のパラメータを更新する。Encode層430以外の部分の損失関数は通常の損失関数Eを用いてパラメータを更新する。
上記のフローによってニューラルネットワーク400のパラメータを更新することでターゲットとなる認識処理の精度を向上させることが可能となる。
本実施形態では、ニューラルネットワーク400の学習においてバッチ処理による誤差逆伝搬法について述べたが、これに限定するものではなくオンライン学習でも同様の効果を得ることができる。以上のような構成を取ることによって、以下のような効果がある。
実写とCGを混合した学習データセット130において、その目的はターゲットの認識精度を向上させることである。本実施形態の構成によって、ニューラルネットワーク400によるターゲット認識精度の向上と、混合した二つのデータ(実写データとCGデータ)による特性の乖離を中間層で吸収するフィルタリング処理を同時に行うことで、ターゲット認識精度を向上させるような中間表現を獲得することができる効果がある。
また、その際に実写とCGの混合したデータのフィルタ処理に対して実写とCGのタグの付与は自動で行うことも容易であり、新たにタグ情報や前処理などを行う必要はなくターゲット認識精度を向上させることが可能となる効果がある。
[実施形態3]
これまでの実施形態では、第1特性データと第2特性データとの差異についてニューラルネットワークのパラメータを更新し差異を吸収した中間表現を獲得する例について述べたが、実施形態3ではニューラルネットワークを用いない例について述べる。
これまでの実施形態では、第1特性データと第2特性データとの差異についてニューラルネットワークのパラメータを更新し差異を吸収した中間表現を獲得する例について述べたが、実施形態3ではニューラルネットワークを用いない例について述べる。
実施形態1に示すような次元削減によって特徴ベクトルを別の基底ベクトル表現に分解する方法にはニューラルネットワークを用いないものも存在する。例えば、主成分分析、独立成分分析、スパースコーディングなどである。しかし単に上記の手法を適用しただけでは、分解した基底ベクトル表現によって特性データの乖離を吸収できるとは限らない。例えば独立成分分析においては、第1特性データと第2特性データとは要素間の独立性が成り立つため重要な基底ベクトルとして表現されてしまう可能性がある。
本実施形態では、実施形態1におけるターゲット(顔認識)において、ニューラルネットワークを用いないでスパースコーディングによって実現する方法について述べる。基本構成は実施形態1と同じものを使用し、図3のフローチャートを流用して説明する。
S302までの処理において、実写データ131と人工データ132に対して特徴抽出を行って特徴ベクトルを算出する。続くS303にてN個のK次元をもつ特徴ベクトルxが集合した行列をXとして保存する。続くS304において中間表現となるK次元の基底ベクトルuの集合を表す行列をU、その係数aの集合を表す行列をAとすると、その関係は式12に示される。
X=UA・・・(式12)
これは元データxを基底ベクトルUの線形和として表現することができ、式13に示す。
これは元データxを基底ベクトルUの線形和として表現することができ、式13に示す。
ここでは、右辺第1項はS303にて格納された特徴ベクトル集合Xに対する基底ベクトル表現による復元結果UAとの誤差を表す。右辺第2項はL1ノルムとなっておりこの項によって基底ベクトルの係数aがスパースになるような制約を設けている。
S304において獲得する中間表現は本実施形態ではUAに相当し、入力となる特徴量ベクトルXを別の基底ベクトルにて復元したものとなっている。S311では、実施形態1と同様にサンプリング処理によって学習用データ130から実写データ、人工データをサンプリングする。
S312では、中間表現UAを用いて前段のサンプリング結果を復元する。S313では、復元したサンプリングデータに対して特性データに応じて付与したタグ情報から実写データ分布と人工データ分布に分離し、S314、S315にてそれぞれの分布のK次元の平均ベクトルμと、分散共分散行列Σで表わされるガウス分布N(μ、Σ)で近似する。
S316では、実写データと人工データの分布間類似度を式5に示すKL情報量KL(P'real||P'CG)を用いて表す。S306では、上記KL情報量と式14のスパースコーディングの損失関数Eから、式15に示す損失関数E'を得る。
E'=E+γKL(P'real || P'CG) ・・・(式15)
S318にて、この損失関数E'を最小化する基底ベクトル表現UAを獲得するためのパラメータを更新する。
S318にて、この損失関数E'を最小化する基底ベクトル表現UAを獲得するためのパラメータを更新する。
以上の処理によってニューラルネットワークを用いない場合にも同様に実写データと人工データとの差異を吸収した中間表現を獲得することが可能となる。
これにより、データセットが小さい場合や、計算リソースに制限がある場合などニューラルネットワークでは構成が大規模になってしまう状況でも、本実施形態の方法によって小さな構成でも人工データの混入による学習性能の低下を防ぐことができる効果がある。
[実施形態4]
上述の実施形態1から3では、画像を生成方法として実写と人工データの場合について説明したが、実施形態4では、画像の生成方法に別の特性を用いた例について、コンビニエンスストアに監視カメラが設置してある例について説明する。
上述の実施形態1から3では、画像を生成方法として実写と人工データの場合について説明したが、実施形態4では、画像の生成方法に別の特性を用いた例について、コンビニエンスストアに監視カメラが設置してある例について説明する。
コンビニエンスストアにおける監視は、監視対象のターゲット行動が同一であり店舗のレイアウトなども類似であることが多い。そのため別の店舗にて獲得したニューラルネットワークデータ150を流用して学習を行いたい場合がある。または別店舗のものではなく出荷前にあらかじめ学習した学習済みデータを出荷時に対象店舗でそのまま活用したいという要求もある。しかし別店舗でのカメラが対象店舗のカメラと型番など異なる場合や、同一店舗ではあるが製品を交換して別のカメラとした場合、新規に納入する場合などに、解像度、画質、ホワイトバランスの性能などの撮像装置のデータ特性が異なることがある。
そのため別店舗のカメラAの特徴ベクトル分布と対象店舗のカメラBの特徴ベクトル分布が異なる場合があり、対象店舗専用の認識装置としてカスタマイズして使用するための転移学習用の元データとして使用する際に必ずしも性能が向上するとは限らない。長期間対象店舗のデータを取得して学習用データを拡充することで識別を行うことでその性能は向上するが、そのためにタグ付け作業などの処理が付随するため、コストがかかり、運用までに時間がかかってしまう課題がある。カメラAのデータをそのまま活用し、対象店舗のカメラBの認識装置に運用するにはカメラAと対象店舗のカメラBとのデータ特性の差異を吸収することが望ましい。
そこで学習用データに対して第1特性データとして別店舗のカメラAの実写映像データを、第2特性データとして対象店舗のカメラBの実写映像データを用いて学習を行う。カメラAの実写映像データには、タグ情報として所定のクラスの判別結果が付与されている一方、カメラBの実写映像データにはタグ情報が付与されていない。同一の構成を用いるため、実施形態2で用いた図4および図5を用いて説明するが、実施形態1の構成を適用してもよい。
ニューラルネットワーク400において、データ490に用いるデータはカメラAのデータのみとする。ニューラルネットワーク400はあらかじめカメラAにて学習されたカメラA用の学習済みニューラルネットワークである。構成データ151、中間表現データ152はカメラAの出荷時にあらかじめ学習済みのものを使用する。
S501からS503の処理で、あらかじめ学習済みのニューラルネットワーク400のパラメータを用いて出力層417にてK個の出力値を得る。S505にてencode層430のパラメータを複製し、S506にて第1特性データとしてカメラAのデータを、第2特性データとして対象店舗のカメラBのデータをサンプリングする。このとき画像の類似性などを評価して、特徴量空間上で近傍にあるデータをサンプリングしてもよいし、ランダムにサンプリングしてもよい。
S507にて、前段でサンプリングしたカメラAのデータとカメラBのデータに対してdecode層440を通すことで復元ノード442を獲得する。 S508にて、あらかじめ付与したカメラAデータか、対象店舗データかのタグを用いてカメラAデータを復元した特徴ベクトル分布と対象店舗データを復元した特徴ベクトル分布を算出する。
S509にて、前段のカメラAデータ分布とカメラBデータの分布を、ここでは実施形態2で行った式10によるKL情報量を用いて比較する。S509では、S504で得た式9に基づく損失関数Eと、S509にて算出したカメラAとカメラBの分布的な類似度を用いた損失関数E'を求める。
本実施形態では対象店舗の画像にはまだタグ情報などが付与されていないことを想定しており、ニューラルネットワーク400に対象店舗データを入力してもターゲット認識に関するタグ情報がないため、識別結果の損失を計算できない。よって、入力490に入るデータはカメラAのデータのみである。カメラBデータはS506からS509でのみ使用する。
カメラAのデータを復元した特徴ベクトルは学習に使用したデータ群であるため復元性能は高く損失関数Eは小さい値を取る。しかしカメラBデータはデータ特性が異なりニューラルネットワーク400のパラメータを用いて特徴ベクトルを復元した場合には、カメラAデータの特徴ベクトル分布とは乖離して損失関数E'が大きな値となることが予想される。カメラAこの損失関数E'に基づきあらためてS510の収束判定および、S511のパラメータ更新を行うことでカメラAと対象店舗とのデータ特性の乖離を最小化したニューラルネットワーク400を獲得することが可能となる。
ここでS510においてその収束判定を行う際、E'の誤差関数の値が収束条件を満たす場合にはカメラAとカメラBとのデータ特性上の差異はなくそのままカメラAの学習パラメータを用いて検出できるものとみなす。損失関数E'が大きい場合、カメラAデータと対象店舗データとの間で画質が大きく異なることが予想される。その場合、S511で誤差逆伝搬法を用いて、ニューラルネットワーク400のパラメータを更新し、ターゲット認識精度のパラメータとカメラAとカメラBとのデータ特性の差異を吸収するパラメータ更新を行う。この際に同時にターゲット認識の誤差として損失関数Eも用いることで、中間表現のパラメータ更新に対して認識性能を落とさないような学習を行うことが可能となる。
対象店舗に監視カメラBを設置する際に、カメラAにて学習した学習用データ130とニューラルネットワークデータ150を転移してカメラBでの運用時のパラメータを獲得することができる。カメラBの実写データに対してターゲット認識用のタグ情報を付与することなく、ニューラルネットワークの中間層においてカメラAとカメラBのデータ特性の差異を吸収するようパラメータ更新を行うことによって学習データの転移を行うことが可能な効果がある。
通常は対象店舗にカメラBを新規に設置した場合、監視対象となる行動についてのタグはまだ付与されていないことが多い。まだ対象店舗のタグ付きデータがない場合にカメラAのニューラルネットワークデータ150を更新してカメラBで運用できることはメリットがある。カメラBはその後にデータを収集してカメラB向けにFine Tuningを行えば良い。もちろん、対象店舗データにタグ情報が付与できるのであれば入力データ490として使用してもよい。
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101:CPU、102:入力装置、103:出力装置
Claims (12)
- 第1のデータと、前記第1のデータとは生成条件の異なる第2のデータとのそれぞれから、特徴量を抽出する抽出手段と、
抽出された前記特徴量を、該特徴量を表現する次元数を減少させるように変換して中間値を取得する処理手段と、
前記中間値から前記特徴量を復元する復元手段と、
前記抽出された特徴量と前記復元された特徴量との間での損失を計算する計算手段と、
前記損失を小さくするように前記変換のための変換パラメータを更新する更新手段と
を備え、
前記損失には、前記第1のデータの前記復元された特徴量に基づく第1の分布と、前記第2のデータの前記復元された特徴量に基づく第2の分布との比較結果に応じた値が含まれ、
前記更新手段は、前記損失を小さくすることにより前記第1の分布と前記第2の分布との類似度をより近づけるように、前記変換パラメータを更新することを特徴とする情報処理装置。 - 入力されたデータにつき、クラスの認識処理を行って認識結果の出力を得る認識手段と、
前記入力されたデータについて予め与えられている前記クラスの判別結果と、前記認識結果とを比較し、比較の結果に応じて前記認識処理の実行パラメータを調整する調整手段と
を備える情報処理装置であって、
前記認識処理には、前記入力されたデータから抽出された特徴量を、該特徴量を表現する次元数を減少させるように変換して中間値を取得する変換処理が含まれ、
前記実行パラメータには、前記変換処理のための変換パラメータが含まれ、
前記情報処理装置は、
第1のデータと、前記第1のデータとは生成条件の異なる第2のデータとのそれぞれから抽出された第1の特徴量と第2の特徴量とに、前記変換パラメータを用いた前記変換処理を行って第1の中間値と第2の中間値とを取得する処理手段と、
前記変換パラメータに基づいて、前記第1の中間値から前記第1の特徴量を復元し、前記第2の中間値から前記第2の特徴量を復元する復元手段と
を更に備え、
前記調整手段は、前記復元された第1の特徴量についての第1の分布と、前記復元された第2の特徴量についての第2の分布との類似度をより近づけるように前記変換パラメータを更に調整することを特徴とする情報処理装置。 - 前記第1のデータは所定の取得手段により取得されたデータであって、前記第2のデータは、前記所定の取得手段を介さず人工的に生成されたデータである、請求項1または2に記載の情報処理装置。
- 前記第1のデータは所定の取得手段により第1の場所で取得されたデータであって、前記第2のデータは、前記所定の取得手段により前記第1の場所とは異なる第2の場所で取得されたデータであり、
前記第1のデータのみが前記クラスの判別結果が予め与えられており、前記入力されたデータとして前記認識手段による前記クラスの認識処理が行われることを特徴とする請求項2に記載の情報処理装置。 - 前記所定の取得手段は、画像取得手段、音声取得手段、及び、その他の所定の情報を取得する取得手段のうちのいずれかであることを特徴とする請求項3または4に記載の情報処理装置。
- 前記処理手段、及び、前記復元手段はニューラルネットワークとして構成されることを特徴とする請求項1から5のいずれか1項に記載の情報処理装置。
- 前記処理手段は、前記ニューラルネットワークの第1のノードと第2のノードとで構成され、
前記復元手段は、前記ニューラルネットワークの前記第2のノードと第3のノードとで構成され、
前記第2のノードのニューロン数は、前記第1のノード及び前記第3のノードのニューロン数よりも少ないことを特徴とする請求項6に記載の情報処理装置。 - 前記変換パラメータは、前記第1のノードと第2のノードとの間の結合重み、及び、バイアス項である、請求項7に記載の情報処理装置。
- 前記第1の分布は、前記第1のデータの前記復元された特徴量の分布について前記変換を行って得られた分布であり、前記第2の分布は、前記第2のデータの前記復元された特徴量の分布について前記変換を行って得られた分布である、請求項1から8のいずれか1項に記載の情報処理装置。
- 抽出手段が、第1のデータと、前記第1のデータとは生成条件の異なる第2のデータとのそれぞれから、特徴量を抽出する抽出工程と、
処理手段が、抽出された前記特徴量を、該特徴量を表現する次元数を減少させるように変換して中間値を取得する処理工程と、
復元手段が、前記中間値から前記特徴量を復元する復元工程と、
計算手段が、前記抽出された特徴量と前記復元された特徴量との間での損失を計算する計算工程と、
更新手段が、前記損失を小さくするように前記変換のための変換パラメータを更新する更新工程と
を含み、
前記損失には、前記第1のデータの前記復元された特徴量に基づく第1の分布と、前記第2のデータの前記復元された特徴量に基づく第2の分布との比較結果に応じた値が含まれ、
前記更新工程では、前記損失を小さくすることにより前記第1の分布と前記第2の分布との類似度をより近づけるように、前記変換パラメータが更新されることを特徴とする情報処理装置の制御方法。 - 認識手段が、入力されたデータにつき、クラスの認識処理を行って認識結果の出力を得る認識工程と、
調整手段が、前記入力されたデータについて予め与えられている前記クラスの判別結果と、前記認識結果とを比較し、比較の結果に応じて前記認識処理の実行パラメータを調整する調整工程と
を含む情報処理装置の制御方法であって、
前記認識処理には、前記入力されたデータから抽出された特徴量を、該特徴量を表現する次元数を減少させるように変換して中間値を取得する変換処理が含まれ、
前記実行パラメータには、前記変換処理のための変換パラメータが含まれ、
前記方法は、
処理手段が、第1のデータと、前記第1のデータとは生成条件の異なる第2のデータとのそれぞれから抽出された第1の特徴量と第2の特徴量とに、前記変換パラメータを用いた前記変換処理を行って第1の中間値と第2の中間値とを取得する処理工程と、
復元手段が、前記変換パラメータに基づいて、前記第1の中間値から前記第1の特徴量を復元し、前記第2の中間値から前記第2の特徴量を復元する復元工程と
を更に含み、
前記調整工程では、前記復元された第1の特徴量についての第1の分布と、前記復元された第2の特徴量についての第2の分布との類似度をより近づけるように前記変換パラメータが更に調整されることを特徴とする情報処理装置の制御方法。 - コンピュータを請求項1から9のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019127079A JP2021012595A (ja) | 2019-07-08 | 2019-07-08 | 情報処理装置、情報処理装置の制御方法、および、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019127079A JP2021012595A (ja) | 2019-07-08 | 2019-07-08 | 情報処理装置、情報処理装置の制御方法、および、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021012595A true JP2021012595A (ja) | 2021-02-04 |
Family
ID=74226113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019127079A Pending JP2021012595A (ja) | 2019-07-08 | 2019-07-08 | 情報処理装置、情報処理装置の制御方法、および、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021012595A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021149586A (ja) * | 2020-03-19 | 2021-09-27 | 本田技研工業株式会社 | 情報処理装置、情報処理方法、車両、情報処理サーバ、及びプログラム |
JP2023007299A (ja) * | 2021-06-30 | 2023-01-18 | エアリス カンパニー,リミテッド | 人工知能基盤検出モデルに対する学習データを生成するための方法、システムおよび記録媒体 |
JP2023038144A (ja) * | 2021-09-06 | 2023-03-16 | エムファウテック ソフトウェア ゲゼルシャフト ミット ベシュレンクテル ハフツング | 複数の機械学習プログラムを使用して画像の異常を検出するための方法およびシステム |
WO2023132176A1 (ja) * | 2022-01-04 | 2023-07-13 | 株式会社 東芝 | 判定装置、検査システム、判定方法、プログラム、及び記憶媒体 |
WO2023181222A1 (ja) * | 2022-03-23 | 2023-09-28 | 日本電信電話株式会社 | 学習装置、学習方法、および、学習プログラム |
-
2019
- 2019-07-08 JP JP2019127079A patent/JP2021012595A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021149586A (ja) * | 2020-03-19 | 2021-09-27 | 本田技研工業株式会社 | 情報処理装置、情報処理方法、車両、情報処理サーバ、及びプログラム |
JP7420607B2 (ja) | 2020-03-19 | 2024-01-23 | 本田技研工業株式会社 | 情報処理装置、情報処理方法、車両、情報処理サーバ、及びプログラム |
JP2023007299A (ja) * | 2021-06-30 | 2023-01-18 | エアリス カンパニー,リミテッド | 人工知能基盤検出モデルに対する学習データを生成するための方法、システムおよび記録媒体 |
JP2023038144A (ja) * | 2021-09-06 | 2023-03-16 | エムファウテック ソフトウェア ゲゼルシャフト ミット ベシュレンクテル ハフツング | 複数の機械学習プログラムを使用して画像の異常を検出するための方法およびシステム |
JP7373097B2 (ja) | 2021-09-06 | 2023-11-02 | エムファウテック ソフトウェア ゲゼルシャフト ミット ベシュレンクテル ハフツング | 複数の機械学習プログラムを使用して画像の異常を検出するための方法およびシステム |
WO2023132176A1 (ja) * | 2022-01-04 | 2023-07-13 | 株式会社 東芝 | 判定装置、検査システム、判定方法、プログラム、及び記憶媒体 |
WO2023181222A1 (ja) * | 2022-03-23 | 2023-09-28 | 日本電信電話株式会社 | 学習装置、学習方法、および、学習プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hussain et al. | A real time face emotion classification and recognition using deep learning model | |
JP2021012595A (ja) | 情報処理装置、情報処理装置の制御方法、および、プログラム | |
Zhang et al. | Jointly learning structured analysis discriminative dictionary and analysis multiclass classifier | |
CN111754596B (zh) | 编辑模型生成、人脸图像编辑方法、装置、设备及介质 | |
Boughrara et al. | Facial expression recognition based on a mlp neural network using constructive training algorithm | |
US10319130B2 (en) | Anonymization of facial images | |
Shah et al. | Iterative deep learning for image set based face and object recognition | |
Elaiwat et al. | A spatio-temporal RBM-based model for facial expression recognition | |
Kumar et al. | An object detection technique for blind people in real-time using deep neural network | |
Khan et al. | Situation recognition using image moments and recurrent neural networks | |
KR102138809B1 (ko) | 미세한 표정변화 검출을 위한 2차원 랜드마크 기반 특징점 합성 및 표정 세기 검출 방법 | |
US20220101121A1 (en) | Latent-variable generative model with a noise contrastive prior | |
WO2022052530A1 (zh) | 人脸矫正模型的训练方法、装置、电子设备及存储介质 | |
CN113994341A (zh) | 面部行为分析 | |
JP6751816B2 (ja) | 新規学習データセット生成方法および新規学習データセット生成装置 | |
Zerrouki et al. | Automatic classification of human body postures based on the truncated SVD | |
Marghes et al. | Background modeling and foreground detection via a reconstructive and discriminative subspace learning approach | |
EP4238073A1 (en) | Human characteristic normalization with an autoencoder | |
Parde et al. | Deep convolutional neural network features and the original image | |
CN109508640A (zh) | 一种人群情感分析方法、装置和存储介质 | |
CN111445545B (zh) | 一种文本转贴图方法、装置、存储介质及电子设备 | |
KR20230164384A (ko) | 컴퓨팅 장치에서 객체인식 모델 학습방법 | |
CN114973362A (zh) | 一种应用于社交机器人的动态延长编码微表情识别方法 | |
Hui-bin et al. | Recognition of individual object in focus people group based on deep learning | |
Bathina et al. | Smart Face Recognition Application using Deep Learning Neural Networks with Compressed Model Deployment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20210103 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210113 |