以下、本発明の実施の形態(以下実施形態という)である対象物認識装置1について、図面に基づいて説明する。本発明に係る対象物認識装置は、計測データから所定の対象物に関する所定情報を求めるものであり、本実施形態にて一例として示す対象物認識装置1は、監視空間を撮影した撮影画像から監視空間に現れた人物を構成する複数の部位の位置および種別を検出する。すなわち、本実施形態において、計測データは2次元画像であり、対象物は人であり、対象物に関する所定情報は人の部位の位置および種別である。ちなみに対象物認識装置1は各人物について検出された複数の部位を囲む領域を当該人物の存在領域(対象物領域)として検出する。なお、計測データにおいては部位の一部が遮蔽物に隠されている場合がある。対象物以外の物体が遮蔽物になる場合もあるし、他の対象物が遮蔽物になる場合もある。本発明では、隠された部位を推定することを含めて部位の検出と称し、隠された部位の推定結果を用いた対象物領域の推定を含めて対象物領域の検出と称する。
上記対象物認識に用いる複数の部位を要検出部位、要検出部位の代表点をキーポイントと称する。キーポイントの情報は、少なくとも対応する部位の種別と位置の組み合わせで表され、この組み合わせを含むデータを部位データと称する。そして、各キーポイントを検出することによって、対応する要検出部位の位置が検出される。なお、要検出部位とする部位の種別は、対象物や認識の目的に応じて予め定められる。
対象物認識装置1は、学習用画像と学習用画像に対する部位のアノテーション(付与データ)とを用いて、部位データを検出する検出器を学習し記憶する。ここで、付与データは、学習用の計測データに現れている対象物に対して付与される部位データである。そして、対象物認識装置1は、記憶している検出器(学習済みモデル)を用いて撮影画像における部位データの検出を行う。特に、検出器は各画素を検出に寄与させる度合い(寄与度)を定める寄与度算出部を含めた学習モデルとしてモデリングされている。寄与度が低い領域があたかもマスクされたかのようになり、検出器は寄与度が高い領域の画像から寄与度が低い領域の情報を積極的に補間するよう学習される。対象物認識装置1は、その検出器を用いて隠れた部位を含めた検出を行う。
[対象物認識装置1の構成]
図1は対象物認識装置1の概略の構成を示すブロック図である。対象物認識装置1は撮影部2、通信部3、記憶部4、画像処理部5および表示部6からなる。
撮影部2は、計測データを取得する計測手段であり、本実施形態においては監視カメラである。撮影部2は通信部3を介して画像処理部5と接続され、監視空間を所定の時間間隔で撮影して撮影画像を生成し、撮影画像を順次、画像処理部5に入力する。例えば、撮影部2は、監視空間であるイベント会場の一角に設置されたポールに当該監視空間を俯瞰する視野を有して設置され、監視空間をフレーム周期1秒で撮影してカラー画像を生成する。なお、撮影部2はカラー画像の代わりにモノクロ画像を生成してもよい。また、画像処理部5は例えば、画像解析センターなどに設置される。
通信部3は通信回路であり、その一端が画像処理部5に接続され、他端が撮影部2および表示部6と接続される。通信部3は撮影部2から撮影画像を取得して画像処理部5に入力し、画像処理部5から対象物の認識結果を入力され表示部6へ出力する。
なお、撮影部2、通信部3、記憶部4、画像処理部5および表示部6の間は各部の設置場所に応じた形態で適宜接続される。例えば、撮影部2と通信部3および画像処理部5とが遠隔に設置される場合、撮影部2と通信部3との間をインターネット回線にて接続することができる。また、通信部3と画像処理部5との間はバスで接続する構成とすることができる。その他、接続手段として、LAN(Local Area Network)、各種ケーブルなどを用いることができる。
記憶部4は、ROM(Read Only Memory)、RAM(Random Access Memory)等のメモリ装置であり、各種プログラムや各種データを記憶する。例えば、記憶部4は学習用画像、学習用画像に対する付与データ、検出器の情報を記憶する。記憶部4は画像処理部5と接続されて、画像処理部5との間でこれらの情報を入出力する。すなわち、対象物の認識に必要な情報や、認識処理の過程で生じた情報が記憶部4と画像処理部5との間で入出力される。
画像処理部5は、計測データを処理する計測データ処理部であり、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、MCU(Micro Control Unit)、GPU(Graphics Processing Unit)等の演算装置で構成される。画像処理部5は記憶部4からプログラムを読み出して実行することにより各種の処理手段・制御手段として動作し、必要に応じて、各種データを記憶部4から読み出し、生成したデータを記憶部4に記憶させる。例えば、画像処理部5は検出器を学習し生成する。また、画像処理部5は、生成した検出器を通信部3経由で記憶部4に記憶させる。また、画像処理部5は検出器を用いて、撮影画像における対象物を認識する処理を行う。
表示部6は、液晶ディスプレイまたは有機EL(Electro-Luminescence)ディスプレイ等であり、通信部3から入力された認識結果を表示する。監視員は表示された認識結果に応じて対処の要否等を判断し、必要に応じて対処員を急行させる等の対処を行う。
なお、本実施形態では、記憶部4および画像処理部5を画像解析センター側に設けることとするが、これらを撮影部2側に設けてもよい。
以下、対象物認識装置1の構成について、先ず、検出器を学習する学習段階に関する構成について説明し、次いで、検出器を用いて対象物を認識する認識段階に関する構成について説明する。
[学習段階に関する対象物認識装置1の構成]
図2は学習段階に関する対象物認識装置1の概略の機能ブロック図であり、記憶部4が学習用データ記憶手段40、学習モデル記憶手段41として機能し、画像処理部5が学習手段50として機能する。
学習用データ記憶手段40は多数の学習用の画像を予め記憶する学習用画像記憶手段であると共に、当該学習用画像に対する付与データを予め記憶している付与データ記憶手段である。学習用データ記憶手段40は、学習用画像と当該画像に撮影されている各人の付与データとを紐づけて保持する。以下、学習用画像に撮影されている人物をサンプルと称する。別人物は別サンプルであり、同一人物であっても画像が異なれば別サンプルである。また学習用画像はサンプルが計測された計測データ(サンプルデータ)である。具体的には、各サンプルには互いを識別するためのサンプルIDが付与され、学習用画像には画像IDが付与され、学習用データ記憶手段40にはこれらIDの対応関係が記憶される。多数のサンプルデータにはサンプルの一部が隠蔽されたサンプルデータが含まれ、そのサンプルデータによって隠蔽された領域から所定情報を検出する処理が学習される。例えば、学習用画像には人物の一部の部位がテーブルによって隠れているものや人物同士が重なって一部の部位が隠れているものが含まれる。学習用画像は、カメラで実際に撮影された実画像でなくてもよく、例えば、コンピュータグラフィックス(CG)などで作られた画像であってもよい。また、実画像における人物の一部と重なるようにテーブルなどが重畳された学習用画像を含んでもよい。付与データは各サンプルのキーポイントそれぞれについての正解として予め付与された正解データである。つまり、付与データにより、各サンプルの複数の要検出部位についてその種別ごとにその代表点の正解の位置がわかる。付与データは、人手によって作成されてもよいし、機械が抽出したものを人が確認し必要に応じて修正することによって作成されてもよいし、それらが混在していてもよい。
学習手段50は、学習用データ記憶手段40に格納された学習用画像と付与データとを用いて検出器を学習する。すなわち、学習手段50は、学習用画像を入力とし、当該学習用画像に対応する付与データを出力の目標値とする学習によって検出器を生成する。具体的には、学習モデル記憶手段41に記憶される検出器の学習モデルが、学習用画像と付与データを入力として人ごとのキーポイントを出力するように学習される。なお、ここでの学習とは、検出器のパラメータを与えられたデータから求めることである。
図3は検出器の概略の構成を示す機能ブロック図である。検出器は、特徴量抽出部400、一次寄与度算出部401、一次検出部402、二次寄与度算出部403、二次検出部404、検出データ合成部405および部位構成データ変換部406により構成される。
特徴量抽出部400は、検出器に入力された計測データである画像を特徴マップに変換する。特徴マップは、計測対象空間との間に座標の対応関係を有した座標空間にて配列された要素からなる。特徴量抽出部400は座標に対応して計測データから特徴量を抽出し、当該特徴量が特徴マップにて座標に対応する要素とされる。本実施形態では、特徴マップは画像と同次元である2次元の座標空間にて、座標に対応する要素として特徴量ベクトルが設定される。つまり、特徴マップは画像毎に3次元配列として与えられ、このうち2次元が画像のx方向、y方向に対応し、他の1次元が特徴量ベクトルの成分の配列方向である。ここで、画像に対応する2つの次元を合わせて画素次元と呼ぶ。ただし、特徴マップにてx方向、y方向それぞれに対応する次元のサイズは、画像の幅および高さと一致している必要はない。典型的には、当該サイズは画像の幅および高さを2のべき乗で割った値(ただし、1以上)に設定される。残りの1次元のサイズ(チャンネル数と呼ぶ)は事前に指定される。
一次寄与度算出部401および二次寄与度算出部403はそれぞれ、少なくとも特徴マップを入力され、特徴マップと共通の座標空間にて配列された要素からなる寄与度マップを出力する寄与度算出部である。つまり、寄与度マップは特徴マップの画素次元に対応する2次元を有し、特徴マップの画素次元についての要素ごとに寄与度マップの要素が設定される。寄与度マップの各要素(寄与度)は、特徴マップの画素次元の各要素を、キーポイントを検出する際にどの程度寄与させるかを表しており、寄与度算出部は、寄与度として例えば、0(寄与させない)から1(寄与させる)までの値を出力するように構成される。
また、一次検出部402および二次検出部404はそれぞれ、特徴マップ及び寄与度マップを入力され、特徴マップの要素を、当該要素に対応する寄与度に応じた重みで用いてキーポイントを検出する検出部である。ここで、一次検出部402および二次検出部404により得られるキーポイントの情報をそれぞれ一次検出データ、二次検出データと呼ぶ。本実施形態において一次検出データおよび二次検出データは、非特許文献1と同様に、キーポイントの画像上の位置と、同一人物の他の種類のキーポイントへの方向を表すベクトルとを表す情報であり、特徴マップと同様の3次元配列である。以下、同一人物の他の種類のキーポイントへの方向を含むデータを部位データと区別する場合は、部位構成データと称する。
具体的には、第1の寄与度算出部である一次寄与度算出部401は、特徴量抽出部400により得られた特徴マップを入力として、一次寄与度マップを生成する。第1の検出部である一次検出部402は、特徴量抽出部400からの特徴マップと一次寄与度算出部401からの一次寄与度マップとを入力され、一次検出データを出力する。
また、第2の寄与度算出部である二次寄与度算出部403は、特徴量抽出部400からの特徴マップ、一次寄与度算出部401からの一次寄与度マップ、および一次検出部402からの一次検出データを入力として、二次寄与度マップを生成する。第2の検出部である二次検出部404は、特徴量抽出部400からの特徴マップ、二次寄与度算出部403からの二次寄与度マップおよび一次検出部402からの一次検出データを入力され、二次検出データを出力する。
本実施形態では、特徴量抽出部400、一次寄与度算出部401、一次検出部402、二次寄与度算出部403および二次検出部404のそれぞれを、畳み込み層、線形変換処理、活性化関数などから構成される畳み込みニューラルネットワーク(Convolutional Neural Networks;CNNs)を用いてモデル化する。活性化関数としてはReLU関数を用いる。
また、一次検出部402および二次検出部404には、それぞれ一次寄与度マップおよび二次寄与度マップを出力への寄与度として反映するモジュールであればどんなものを用いてもよい。本実施形態では下記文献で提案されたパーシャルコンボリューション(Partial Convolution)を畳み込み層として用いることでこのモジュールを構成する。
Guilin Liu, Fitsum A. Reda, Kevin J. Shih, Ting-Chun Wang, Andrew Tao and Bryan Catanzaro, “Image Inpainting for Irregular Holes Using Partial Convolutions,” The European Conference on Computer Vision (ECCV), pp. 85--100, 2018.
検出データ合成部405は、一次検出データおよび二次検出データを入力として、それらを合成した二次合成検出データを出力する。本実施形態では、一次検出データと二次検出データとで画素次元のサイズおよびチャンネル数は同一であり、二次合成検出データは一次検出データと二次検出データとの要素ごとの和として得られる。
部位構成データ変換部406は、二次合成検出データを入力として、当該画像に写っている各人物の部位データ(検出部位データ)に変換して出力する。変換規則は部位構成データの形式に応じて予め定めておく。本実施形態では、非特許文献1で提案された方法を用いる。
学習手段50は、学習モデル記憶手段41から図3に示す構造を有する検出器の学習モデルを読み出し、当該モデルの特徴量抽出部400に、学習用データ記憶手段40から読み出した学習用画像を入力する。そして、学習手段50は、学習用データ記憶手段40に記憶される当該学習用画像に対する付与データを正解データとして用い、当該正解データを部位構成データ変換部406からの出力の目標値として検出器のモデルのパラメータの学習を行い、一次寄与度算出部401および二次寄与度算出部403が寄与度マップを算出するためのパラメータ及び一次検出部402および二次検出部404がキーポイントの情報を導出するためのパラメータを設定する。具体的には、学習手段50は、検出器に学習用画像を入力して検出データ合成部405から得られた二次合成検出データと、当該学習用画像に対する付与データで与えられる正解の部位データとの乖離度を定量化する誤差関数を最小化することで学習を行う。誤差関数は予め定めておく。最小化には確率的最急降下法などを用いる。
学習モデル記憶手段41は、図3に示す構造の検出器についての学習モデルを記憶する。具体的には、学習手段50によって得られた検出器のパラメータを記憶する。また、学習モデル記憶手段41には、検出器として用いるCNNsの構造(例えば、特徴量抽出部400、一次寄与度算出部401、一次検出部402、二次寄与度算出部403および二次検出部404のCNNsの構造)、検出データ合成部405の合成規則、および部位構成データ変換部406の変換規則が格納される。学習手段50による学習処理に伴い、学習モデル記憶手段41に記憶される学習モデルは更新される。そして、学習が完了すると、学習モデル記憶手段41は検出器の学習済みモデルを記憶し、検出器記憶手段42として機能する。
[認識段階に関する対象物認識装置1の構成]
図4は認識段階に関する対象物認識装置1の概略の機能ブロック図であり、記憶部4が検出器記憶手段42として機能し、画像処理部5がキーポイント検出手段52および対象物領域検出手段53として機能し、通信部3が画像処理部5と協働し、撮影画像取得手段30および認識結果出力手段31として機能する。
撮影画像取得手段30は撮影部2から撮影画像を順次取得して画像処理部5に出力する。
検出器記憶手段42は上述したように、学習段階で生成された検出器を記憶している。
キーポイント検出手段52は、検出器記憶手段42に記憶されている検出器を読み出し、撮影手段である撮影部2から順次取得した撮影画像を入力として、当該画像に写っている人物のキーポイントを人物ごとに検出し、検出部位データとして出力する。
対象物領域検出手段53はキーポイント検出手段52から検出部位データを入力され、検出部位データが示す要検出部位を基準とした所定範囲を計測データにおける対象物領域として検出し、検出した対象物領域の情報を認識結果出力手段31に出力する。例えば、対象物領域検出手段53は、各人物の検出部位データに含まれるキーポイント群に外接する外接矩形を、当該人物に関する対象物領域として検出する。後述する図6(d)の例では、矩形122が対象物領域である。
また、外接矩形を予め定めた比率で拡大して対象物領域としてもよい。つまり対象物領域の設定に際し、キーポイントが真の領域のやや内側に検出されることや検出誤差を考慮して上下左右にマージンを設ける。また、各キーポイントの定義や各キーポイントの検出誤差の見積もりに応じて上下左右の各方向に対する比率を異なるものとしてもよい。
または、人の部位データから対象物領域への変換を学習した変換器に各入力画像から検出された人物ごとの検出部位データを入力することにより、各検出部位データを対象物領域に変換してもよい。この場合、サンプルごとの対象物領域の正解データを付与データに含ませておき、変換器は、サンプルの付与データのうちの部位データを入力とし当該サンプルの付与データのうちの対象物領域を出力の目標値とする学習によって生成された学習済みモデルとすることができる。記憶部4は不図示の変換器記憶手段としても機能し、変換器を予め記憶する。そして、対象物領域検出手段53は変換器記憶手段から変換器を読み出して利用する。つまり、対象物領域検出手段53は、キーポイント検出手段52が検出した検出部位データを変換器に入力して、計測データにおける対象物領域を検出する。
以上のようにして検出される検出部位データにおいては、計測データ上で隠れているキーポイントが補完されているため、隠れによって極端に小さな対象物領域が検出されてしまう不具合や、隠れによって1つの対象物に係る対象物領域が複数に分かれて検出されてしまう不具合を格段に低減できる。
認識結果出力手段31は、対象物領域検出手段53が出力した対象物領域を表示部6に出力する。例えば、認識結果出力手段31は、撮影画像に対象物領域を表す矩形を描画した画像を生成して表示部6に出力する。なお、対象物領域が検出されなかった場合、認識結果は対象物無しであるとして撮影画像をそのまま出力してもよい。
[対象物認識装置1の動作]
次に、対象物認識装置1の動作を、学習段階と認識段階とに分けて説明する。
[学習段階での対象物認識装置1の動作]
図5は学習段階での対象物認識装置1の動作に関する概略のフロー図である。
対象物認識装置1は撮影画像に現れる対象物を認識する動作に先立って、検出器を学習する動作を行う。
当該学習の動作が開始されると、画像処理部5は検出器の学習を行うために、学習モデル記憶手段41から検出器の学習モデルを読み出す。この時点での学習モデルのパラメータは初期値である(ステップS10)。
続いて画像処理部5は学習手段50として機能し、学習用データ記憶手段40から、学習用画像および当該画像内のサンプル群に対する付与データを読み込む(ステップS11)。
画像処理部5はさらに学習手段50として機能し、検出器に学習用画像を入力する。検出器の特徴量抽出部400は、当該学習用画像から特徴マップを抽出する(ステップS12)。検出器の一次寄与度算出部401は、特徴マップから一次寄与度マップを生成し(ステップS13)、検出器の一次検出部402は、生成された特徴マップと一次寄与度マップから一次検出データを生成する(ステップS14)。
続いて、検出器の二次寄与度算出部403は、特徴マップ、一次検出データおよび一次寄与度マップから二次寄与度マップを生成し(ステップS15)、検出器の二次検出部404は、特徴マップ、一次検出データおよび二次寄与度マップから二次検出データを生成する(ステップS16)。
しかる後、検出器の検出データ合成部405は、一次検出データと二次検出データを合成し、二次合成検出データを作成する(ステップS17)。そして、検出器にて生成された二次合成検出データの誤差に基づいて学習モデルが更新される。具体的には、画像処理部5が学習手段50として機能して、検出データ合成部405が合成した二次合成検出データと学習用画像の付与データとの乖離度を誤差関数により計算し、誤差を用いて学習モデルのパラメータを更新する(ステップS18)。
続いて画像処理部5は学習手段50として機能し、反復終了条件が満たされているかを判定する(ステップS19)。満たされた場合(ステップS19にて「YES」の場合)は、学習済みモデルを検出器として学習モデル記憶手段41に格納する(ステップS20)。一方、満たされない場合(ステップS19にて「NO」の場合)は、反復終了条件が満たされるまでステップS11からステップS19の動作を反復する。反復終了条件は、例えば、誤差関数の値やその変化量が事前に定めた閾値よりも小さくなったことや、事前に定めた反復回数に達したことなどを用いることができる。
図6および図7は、図3に示した構成の検出器の動作を説明するための模式図である。まず、図6を用いて、一次寄与度算出部401および一次検出部402に関して説明する。
図3の構成では、一次検出部402は一次寄与度マップを手掛かりとして、特徴マップにおける一次寄与度が高い部分を重視して出力を計算する。例えば、一次寄与度を0または1の2値で表す場合、検出器は一次寄与度が0の部分をあたかもマスクしたように扱い、一次寄与度が1の部分のみを用いてキーポイントを検出することになる。そのため、特徴マップにおけるどの領域の寄与度を低くするのかが問題となる。
ここで、図6(a)に例として示す画像100には、テーブル101および、テーブル101により腰の辺りが隠蔽された人物102が写っている。特徴マップは画像から生成されるため、画像100におけるテーブル101による遮蔽領域に関して、特徴マップには人物ではなく遮蔽物の特徴が得られる。そのため、特徴マップをそのまま用いてキーポイント検出を行った場合、図6(b)の認識結果110のように、上半身のキーポイント111と脚部のキーポイント112,113は検出されるが、遮蔽物の奥にある腰のキーポイントを検出できず、上半身と脚部が異なる人物のものとして別々に認識される。
一方、もし、画像100に対し図6(c)にて斜線部で示す領域(人物102以外の領域)の寄与度が0である一次寄与度マップが生成されれば、一次検出部402にて特徴マップの遮蔽物に対応する部分を用いずにキーポイント検出が行われる。ここで、正解データとして隠蔽部分を含む全身の付与データを与えて検出器を学習するので、一次検出部402は、テーブル101に隠されなかった領域の特徴マップからテーブル101に隠された領域の特徴マップを補間し、テーブル101に隠された領域内について人物のキーポイントを検出しようとする。よって、例えば、画像100では、テーブル101に隠された領域の上下にそれぞれ上半身と脚部があるため、その中間には腰の部分があるということが検出される。つまり、一次検出部402は図6(d)の認識結果120のように全身のキーポイント121と全身を含む対象物領域122を検出することができる。
このように、少なくとも遮蔽物に対応する部分の寄与度を0とすれば、隠蔽されていない領域における特徴量を最大限に利用して全身のキーポイントの検出が好適に行われる。そのため、一次寄与度算出部401は、対象物の遮蔽物となりうる領域が0に近い値となる一次寄与度マップが生成されるように学習される。
次に図7を用いて、二次寄与度算出部403および二次検出部404の動作に関して説明する。二次検出部404は一次検出部402で検出されていない部位構成データを画像から検出することを意図して設けられており、二次寄与度マップはその手掛かりとして用いられる。二次寄与度マップの各値は、特徴マップの画素次元の各要素が一次検出部402で検出できなかった部位構成データを検出するためにどの程度重要かを表すように生成される。
具体的には、二次検出部404では、特徴量抽出部400により得られた特徴マップ、一次検出部402により得られた一次検出データおよび二次寄与度算出部403により得られた二次寄与度マップを入力として、部位構成データを再度検出し、二次検出データとして出力する。一次検出部402と同様に、二次検出部404は二次寄与度マップの値が大きい箇所を主に用いて計算するため、この場合においても特徴マップにおけるどの領域の寄与度を低くするのかが問題となる。
図7(a)に例として示す画像200では、2人の人物が互いの間に隠蔽を生じて写っている。図7(a)の状況では、手前にいる人物202と奥にいる人物204とが重なっている領域の特徴マップは手前にいる人物の特徴を反映したものとなる。そのため、特徴マップをそのまま用いてキーポイント検出を行った場合、手前にいる人物については図7(b)に示す全キーポイント210が検出可能だが、奥にいる人物の図7(d)に示す全キーポイント212を検出することは困難である。
ここで、一次検出部402によって手前にいる人物202が既に検出されていれば、当該人物に対応するキーポイント210の情報は一次検出データに含まれているため、この人物の部位構成データを検出しなおす必要はない。そして、二次検出部404においては、手前の人物202を遮蔽物とみなして手前の人物の領域を適切にマスクできれば、隠蔽されている奥の人物204が検出されやすくなる。そのためには、例えば、手前の人物202を覆う楕円の斜線部220の値を0とし斜線部220以外の値を1とする、図7(c)のごとき二次寄与度マップを算出できればよい。つまり、一次寄与度マップで寄与度が高かった部分の一部について二次寄与度マップにおける寄与度を低くできる構成を検出器に備えさせて、奥の人物についての正解データを与えて検出器を学習させれば、二次検出部404において奥の人物の全キーポイントが検出され易くなる。そのために検出器は、図3に示したように、少なくとも一次寄与度算出部401の出力が二次寄与度算出部403に入力される構成となっており、さらに好適には、一次検出部402の出力が二次寄与度算出部403に入力される構成となっている。また、検出器は一次検出部402の出力が二次検出部404に入力される構成とすることがさらに好適である。このようにすることで、画像が奥の人物のキーポイントの幾つかを一次検出部402にて検出せざるを得ないものでその部分の二次寄与度が低く算出された場合であっても、二次検出部404において一次検出データを参照して奥の人物のキーポイントの残りを検出するように調整できる。つまり、前段の一次検出部402と後段の二次検出部404との重複検出を回避する学習が可能となる。
[認識段階での対象物認識装置1の動作]
図8は認識段階での対象物認識装置1の動作に関する概略のフロー図である。
対象物認識装置1は上述の学習段階にて生成した検出器を用いて、撮影画像に現れる対象物を認識する動作を行う。
対象物認識装置1が当該動作を開始すると、撮影部2は所定時間おきに監視空間を撮影して撮影画像を順次、画像処理部5が設置されている画像解析センター宛に送信する。画像処理部5は通信部3と協働して、撮影部2から撮影画像を受信するたびに図8のフロー図に示す動作を繰り返す。
通信部3は撮影画像取得手段30として機能し、撮影画像を受信すると当該撮影画像を画像処理部5に出力する(ステップS30)。
画像処理部5はキーポイント検出手段52として機能して、検出器記憶手段42に記憶されている検出器を読み出し、当該検出器に撮影画像を入力する。
検出器の特徴量抽出部400は、当該撮影画像から特徴マップを抽出する(ステップS31)。検出器の一次寄与度算出部401は特徴マップから一次寄与度マップを生成し(ステップS32)、検出器の一次検出部402は特徴マップおよび一次寄与度マップに基づいて一次検出データを生成する(ステップS33)。
さらに、検出器は二次寄与度算出部403にて、特徴マップ、一次検出データおよび一次寄与度マップから二次寄与度マップを生成し(ステップS34)、検出器の二次検出部404は、特徴マップ、一次検出データおよび二次寄与度マップに基づいて二次検出データを生成する(ステップS35)。
そして、検出器は検出データ合成部405にて、一次検出データと二次検出データとを合成して二次合成検出データを作成し、さらに、検出器の部位構成データ変換部406は、二次合成検出データから検出部位データへ変換する(ステップS36)。
続いて画像処理部5は対象物領域検出手段53として機能し、キーポイント検出手段52が生成した検出部位データを入力として、各人のキーポイントの外接矩形を対象物領域として算出する対象物認識処理を行う(ステップS37)。
対象物領域検出手段53による認識処理の結果は、通信部3を介して表示部6に出力される(ステップS38)。具体的には、画像処理部5と通信部3とが協働して認識結果出力手段31として機能し、対象物領域検出手段53から入力された人ごとの外接矩形などの情報から認識画像を作成し、これを表示部6に出力する。
以上、本発明の実施形態を説明した。当該実施形態における主な特徴は検出器に関する。ここで、従来のキーポイントの検出器は、画像における人が存在する領域から部位の位置を検出するように学習される。また、遮蔽物で隠れた部分にも目標値を付与して検出器を学習したとしても、原理的には学習データに含まれる遮蔽物にしか対応できない。また、学習データに含まれる遮蔽物に偏りがあった場合(例えば、机の後ろに必ず人がいるという学習データだった場合)、特定の遮蔽物の後ろにキーポイントが検出されるように検出器が学習されることが多く、そのような遮蔽物がある場所で誤報が多発しうる。このような誤報を抑制するためには、起こりうる遮蔽物を網羅した学習データを作成する必要があるが、実際にそのようなデータを作成することは非常に困難である。
そこで、本発明における検出器は、敢えて画像上の遮蔽物の領域の寄与度を低くして検出を行うことができるよう、特徴マップから当該特徴マップにおける各要素の検出(対象物の検出)に対する寄与度を算出する寄与度算出部(一次寄与度算出部401および二次寄与度算出部403)と、当該特徴マップに加えて寄与度算出部の出力が入力されて特徴マップの各要素を寄与度に応じて寄与させて検出を行う検出部(一次検出部402および二次検出部404)を備える。これにより、上述の学習段階のように寄与度を含めて学習をした検出器は、寄与度の高い領域から寄与度の低い領域の情報を補間して検出することができるように学習されているため、遮蔽物の背後にある隠蔽されてしまった人の一部が画像上の寄与度の高い領域に存在すれば、その情報を用いて遮蔽物の背後にある部位の位置を検出することができる。これにより、学習データにない遮蔽物であっても、適切な寄与度マップが算出できれば検出器を再度学習することなく対応できる。
また、人同士の隠蔽については、手前の人物のみ検出される場合が多い。これは、人同士が重なっている領域の特徴マップには、手前の人物の情報が反映されやすいからである。そこで、本発明における検出器は、手前の人物が検出できた後に手前の人物の寄与度を低くすることにより手前の人物が上述の遮蔽物と同様に扱われてその奥にいる人物のキーポイントを検出することができるよう、寄与度算出部と検出部の組が多段構成とされ(一次検出部402と一次寄与度算出部401の組、および二次検出部404と二次寄与度算出部403の組)、少なくとも一次寄与度算出部401の出力が二次寄与度算出部403に入力される構成となっており、さらに好適には、一次検出部402の出力が二次寄与度算出部403に入力される構成となっている。また、さらに好適には、一次検出部402の出力が二次検出部404に入力される構成となっていることで、前段の一次検出部402と後段の二次検出部404による重複検出が回避可能となる。
このように、対象物以外による隠蔽と他の対象物による隠蔽を統一的な枠組みで扱いつつその扱いを学習し認識に用いることができるのが本発明における利点である。
[変形例]
(1)上記実施形態では、人の全身を対象物とする例を示したが、対象物は、人の上半身などの人体の一部としてもよいし、車両や椅子などの人以外の物体としてもよい。
(2)上記実施形態では、計測対象空間は3次元の監視空間、計測データは当該空間を投影した2次元の画像、特徴マップは当該画像に対応した2次元の座標空間で配列された要素を有するデータであった。しかし、計測データや特徴マップの座標空間は2次元には限られず、また互いに異なる次元数であってもよい。また上記実施形態では、3次元の計測対象空間を計測した計測データが2次元の座標空間を有する2次元画像であり、計測データを取得する計測手段は2次元画像を撮影する撮影部2である例を示したが、計測データ、計測手段はこの例に限られない。
例えば、3次元の計測対象空間を計測した計測データの座標空間が3次元であってもよい。その例として、LiDAR(Light Detection and Ranging)を計測手段に用いて点群データを計測データとして得る形態や、多視点カメラを計測手段に用いて撮影した画像から構築した3次元データを計測データとして得る形態を挙げることができる。これらの場合、典型的には、3次元の座標空間を有する計測データから3次元の座標空間を有する特徴マップが算出される。なお、寄与度マップの座標空間は特徴マップと同次元、つまり3次元、である。また、時空間(4次元)の計測対象空間を計測して、2次元画像の時系列(座標空間は3次元)、3次元計測データの時系列(座標空間は4次元)の計測データを得る形態とすることもできる。これらの場合、典型的には、3次元の座標空間を有する計測データから3次元の座標空間を有する特徴マップおよび寄与度マップが、4次元の座標空間を有する計測データから4次元の座標空間を有する特徴マップおよび寄与度マップが、算出される。
また、計測データと特徴マップの座標空間が互いに異なる次元数となる例として、2次元画像から3次元のキーポイントを検出する形態が挙げられる。この場合、計測対象空間は3次元、計測データの座標空間は2次元で、特徴マップおよび寄与度マップの座標空間は3次元となる。
(3)上記実施形態では、検出器は2つの寄与度算出部と2つの検出部を備え、一次検出データを得たのちに、さらなる部位構成データの検出を一度のみ行ったが、これを2回以上行ってもよい。つまり、部位構成データの総検出回数(nとする)は上記実施形態では2回であったが、nはさらに多くてもよく、一般にはnは2以上とすることができる。
その場合、検出器は、それぞれ特徴マップを入力される第1~第n(nは2以上の自然数)の寄与度算出部として一次~n次の寄与度算出部を有する。また、検出器は、それぞれ特徴マップを入力される第1~第nの検出部として一次~n次の検出部を有する。そして、j次寄与度算出部(jは2以上n以下の任意の自然数)はさらにj-1次寄与度算出部により算出された寄与度マップを入力される。そして、k次検出部(kはn以下の任意の自然数)はさらにk次寄与度算出部により算出された寄与度マップを入力されるという構成のモデルを学習して生成された学習済みモデルとすることができる。
また、当該検出器において、j次寄与度算出部はさらにj-1次の検出部により導出された部位構成データ(j-1次検出データ)を入力される構成とすることができ、特に一次~j-1次の検出データを合成したj-1次合成検出データを入力する構成としてもよい。
また、当該検出器において、j次検出部はさらにj-1次検出データを入力される構成とすることができ、特にj-1次合成検出データを入力する構成としてもよい。
例えば、n=3の場合で、寄与度算出部および検出部に合成検出データを入力する構成では、図3に関し説明した二次検出データの生成後、三次寄与度算出部によって三次寄与度マップを生成し、しかる後、三次検出部によって三次検出データを生成する。このとき、三次寄与度算出部および三次検出部の入力として、一次検出データと二次検出データとを検出データ合成部405で合成して得られる二次合成検出データを用いる。すなわち、三次寄与度算出部の入力は、特徴マップ、二次寄与度マップおよび二次合成検出データである。これにより、行列のように人物が何人も並んでいる画像などで、2人の人物によって遮蔽されている人物の検出がより容易になると期待できる。
また、二次寄与度算出部403および二次検出部404に、反復的に入力して部位構成データを検出してもよい。その場合、予め反復終了判定条件を定めておき、その条件が満たされたときに得られる最終的な合成検出データを部位構成データ変換部406に出力する。こうすることで、画像の隠蔽度合いに応じて適切な回数だけ検出が行われる。反復終了判定条件として、例えば予め定めた反復回数の上限を越えたか否かを用いればよい。
(4)上記実施形態では、寄与度マップ算出とキーポイント検出に関して共通の特徴量抽出部400のパラメータを用いたが、異なる構造や異なるパラメータを持つ特徴量抽出部を用いてもよい。共通の特徴量抽出部400、または互いに異なる特徴量抽出部のうちの1以上が、入力された計測データをそのまま出力するものであってもよい。
(5)上記実施形態では、一次寄与度算出部401と二次寄与度算出部403を異なるものとしたが、構造及びパラメータを共通化し、共通寄与度算出部として用いてもよい。つまり、共通寄与度算出部はk次検出部へ入力するk次寄与度マップを生成する処理を、k=1とk=2とについて順次行う。共通寄与度算出部は、特徴マップ、k-1次寄与度マップおよびk-1次検出データを入力として、k次寄与度マップを出力する。ここで、k=1の場合における共通寄与度算出部への入力に関し、寄与度マップ(0次寄与度マップ)として、全要素を0としたものを入力し、また、検出データ(0次検出データ)として、何も検出されていないことを示すデータ、具体的には0詰めされた部位構成データを入力する。
(6)上記実施形態では、一次検出部402と二次検出部404を異なるものとしたが、構造及びパラメータを共通化し、共通キーポイント検出部として用いてもよい。その場合、図3の一次検出部402および二次検出部404は共通キーポイント検出部となる。つまり、共通キーポイント検出部はk次検出データを生成する処理を、k=1とk=2とについて順次行う。共通キーポイント検出部は、特徴マップ、k次寄与度マップおよびk-1次検出データを入力として、k次検出データを出力する。ここで、k=1の場合に共通キーポイント検出部へ入力する検出データ(0次検出データ)は0詰めされた部位構成データとする。
(7)上記実施形態では、二次検出部404の入力として、一次検出データを用いたが、それを用いなくともよい。すなわち、特徴マップと二次寄与度マップのみを入力として動作させてもよい。
(8)上記実施形態では、検出器を学習する際に、部位構成データに対してのみ誤差関数を用いたが、それに加えて一次寄与度マップや二次寄与度マップ、部位データについても誤差関数を定義し、2つ以上の誤差関数を用いて学習してもよい。
例えば、学習データの各画像に対して人物の写っている領域が与えられていれば、その領域を1、それ以外の領域を0とするような正解寄与度マップを作成して、一次寄与度マップとの要素ごとの2乗平均誤差の平均値を誤差関数として用いてもよい。
(9)上記実施形態では、サンプル毎の部位データを目標値としたキーポイント検出器を用いたが、認識対象が異なるタスクにも適用することができる。
例えば、画像からサンプル毎の外接矩形を検出する物体検出器を検出器として利用することで、隠蔽に頑健な物体検出を行うことができる。この場合、部位データの代わりに外接矩形が検出器学習の目標値となり、キーポイント検出手段52の出力がサンプル毎の外接矩形の検出値となるため、対象物領域検出手段53を用いなくてもよい。
また、認識結果として対象物の密集度合いや過度に密集した領域を認識したい場合(例えば、監視空間内で人が過度に密集している領域を認識したい場合)、画像から画素毎の対象物の密度を検出する密度検出器を検出器として用いればよい。この場合、対象物領域検出手段53では検出された画素毎の対象物の密度から事前に定めた一定値以上の領域を、対象物が過度に密集した領域として出力すればよい。また、この領域の外接矩形を算出し、それを出力としてもよい。
(10)上記実施形態では、検出器での活性化関数としてReLU関数を用いたが、活性化関数としてtanh関数、シグモイド(Sigmoid)関数などを用いてもよい。また、ResNet(residual network:残差ネットワーク)で用いられるようなショートカット構造を有する構成としてもよい。