以下、本発明の実施の形態(以下実施形態という)である対象物認識装置1について、図面に基づいて説明する。本発明に係る対象物認識装置は、計測データから所定の対象物について当該対象物を構成する複数の部位の位置を検出し、その結果に基づいて計測データにおける対象物の領域(対象物領域)や属性(対象物属性)を求めるものであり、本実施形態にて一例として示す対象物認識装置1は、監視空間を撮影した撮影画像から監視空間に現れた人の部位および領域を検出し、さらに当該人が子供であるか否かを推定する。すなわち、本実施形態において、計測データは二次元画像であり、対象物は人である。対象物認識装置1は二次元画像において人を構成する複数の部位の位置を検出して、部位を囲む領域を検出し、部位間の距離の比に基づき子供であるか否かを推定する。
上記対象物認識に用いる複数の部位を要検出部位、要検出部位の代表点をキーポイントと称する。キーポイントの情報は、少なくとも対応する部位の種別と位置の組み合わせで表され、この組み合わせを含むデータを部位データと称する。そして、各キーポイントを検出することによって、対応する要検出部位の位置が検出される。なお、要検出部位とする部位の種別は、対象物や認識の目的に応じて予め定められる。
特に、対象物認識装置1は、学習用画像に現れる部位のアノテーション(付与データ)を用いて学習した、隠れた部位を補完する補完器を記憶している。ここで、付与データは、学習用の計測データに現れている対象物や、対象物の三次元モデルなどに対して付与される部位データである。対象物認識装置1は、例えば従来の検出器により撮影画像から要検出部位の検出を行って検出データを生成し、検出し損ねた要検出部位の部位データを補完器によって補完する。そして、対象物認識装置1は、補完後の検出データ(補完済み検出データ)を用いて対象物領域を検出し、対象物属性を判定する。
[対象物認識装置1の構成]
図1は対象物認識装置1の概略の構成を示すブロック図である。対象物認識装置1は撮影部2、通信部3、記憶部4、画像処理部5および出力部6からなる。
撮影部2は、計測データを取得する計測部であり、本実施形態においては監視カメラである。撮影部2は通信部3を介して画像処理部5と接続され、監視空間を所定の時間間隔で撮影して撮影画像を生成し、撮影画像を順次、画像処理部5に入力する。例えば、撮影部2は、監視空間であるイベント会場の一角に設置されたポールに当該監視空間を俯瞰する所定の固定視野を有して設置され、監視空間をフレーム周期1秒で撮影してカラー画像を生成する。なお、撮影部2はカラー画像の代わりにモノクロ画像を生成してもよい。
通信部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は学習により検出器と補完器を生成し、生成した検出器と補完器を通信部3経由で記憶部4に記憶させる。また、画像処理部5は検出器と補完器を用いて、撮影画像における対象物を認識する処理を行う。
出力部6は、液晶ディスプレイまたは有機EL(Electro-Luminescence)ディスプレイ等であり、通信部3から入力された認識結果を表示する。監視員は表示された認識結果に応じて対処の要否等を判断し、必要に応じて対処員を急行させる等の対処を行う。
以下、対象物認識装置1の構成について、先ず、検出器と補完器を学習する学習段階に関する構成について説明し、次いで、検出器と補完器を用いて対象物を認識する認識段階に関する構成について説明する。
[学習段階に関する対象物認識装置1の構成]
図2は学習段階に関する対象物認識装置1の概略の機能ブロック図であり、記憶部4が学習用データ記憶手段40、検出器記憶手段41および補完器記憶手段42として機能し、画像処理部5が検出器学習手段50、劣化データ生成手段51および補完器学習手段52として機能する。
学習用データ記憶手段40は多数の学習用の画像を予め記憶する学習用画像記憶手段であると共に、当該学習用画像に撮影されている人について付与された部位データを付与データとして予め記憶している付与データ記憶手段である。学習用データ記憶手段40は、学習用画像と当該画像に撮影されている各人(以下、サンプルと称する。別人物は別サンプルであり、同一人物であっても画像が異なれば別サンプルである)の付与データとを紐づけて保持する。具体的には、各サンプルには互いを識別するためのサンプルIDが付与され、学習用画像には画像IDが付与され、学習用データ記憶手段40にはこれらIDの対応関係が記憶される。学習用画像は、カメラで実際に撮影された実画像でなくてもよく、例えば、コンピュータグラフィックス(CG)などで作られた画像であってもよい。付与データは、各サンプルのキーポイントそれぞれについての種別および位置の情報を含む。また、位置が不明なキーポイントについてはその旨を示す情報とすることができる。つまり、付与データにより、各サンプルの複数のキーポイントについてその種別ごとに当該キーポイントの位置が付与されたか否かと付与された位置がわかる。付与データは、人手によって作成されてもよいし、機械が抽出したものを人が確認し必要に応じて修正することによって作成されてもよいし、それらが混在していてもよい。
図3は付与データの例を説明する模式図である。図3(a)は、要導出部位を17個とし、対象物のキーポイントのトポロジーを図化した例である。キーポイントの位置を表す17個の白丸と、キーポイント間の連結関係を表す16本の線分にて図化されている。図3(b)は付与データをテーブル形式のデータベースとして定義した例を示している。テーブルの各行がサンプルごとの付与データのレコードを表す。各レコードにおいては、先頭(左側)にサンプルIDを表すインデックスn(n=1,2,…,N)が格納され、続いてキーポイントの情報を表す3つの値の組がキーポイントの種別に対応に対応するインデックスi(i=1,2,…,17)の昇順に17組格納される。
上記3つの値の組は、各キーポイントのx座標xn,i、y座標yn,i、および当該キーポイントが欠落していないかを表すフラグ(付与フラグ)vn,iである。付与フラグvn,iに設定する値は、座標が付与されていれば“1”、座標が付与されていなければ“0”としている。各組において3つの値はxn,i、yn,i、vn,iの順に格納されている。
なお、キーポイントの位置は画像上にて相対位置で表されているため、劣化データ生成手段51は付与データにおけるキーポイントの位置を正規化してから劣化データを生成する。例えば、正規化は、各サンプルの付与フラグが1であるキーポイントに対して、当該サンプルの両肩に対応するキーポイントの中心を原点とした座標系に平行移動するといった方法で行うことができる。ちなみに、この場合、右肩および左肩のいずれかの付与フラグが0であるサンプルについては正規化されないことになるが、このように正規化されないサンプルについては補完器の学習に用いないこととすればよい。
検出器学習手段50は、学習用画像を入力とし、当該学習用画像に対応する付与データを出力の目標値とする学習により検出器として学習済みモデルを生成する。
なお、検出器は、画像を入力として1つ以上の要検出部位を出力するものであれば、どのような手段を用いてもよい。本実施形態では、検出器として非特許文献1で提案された手法を用い、学習データによって予め学習しておく。具体的には、本実施形態では検出器をCNN(Convolutional Neural Networks)でモデル化する。
検出器記憶手段41は、CNNを構成するフィルタのフィルタ係数やネットワーク構造などを含めた情報を検出器として記憶する。
対象物認識装置1における検出器には他にも、例えば、対象物のシルエットマッチングを用いた姿勢推定に基づいてキーポイントの位置を特定する検出器など、公知の種々の検出器を適用することができる。なお、例えば、シルエットマッチングに基づく検出器を適用する場合、検出器記憶手段41は、検出に必要となる背景画像や姿勢パターンなどを含めて記憶する。
劣化データ生成手段51は、学習用データ記憶手段40から付与データを読み出し、当該付与データにおける各サンプルのキーポイントの一部を欠落させて劣化データを作成する。そして、付与データと劣化データとをセットにして補完器学習手段52へ出力する。例えば、劣化データ生成手段51は、欠落させるキーポイントをランダムに或いは規則的に選択して、選択したキーポイントの位置を不明値に置換することによって劣化データを作成することができ、具体的には、劣化データ生成手段51は、選択したキーポイントのx座標、y座標、および付与フラグをそれぞれ0に置換して劣化データを作成する。ただし、劣化データ生成手段51は、付与フラグが1であるキーポイントを予め定めた必須個数以上残す。
すなわち、劣化データ生成手段51は学習用データ記憶手段40から、必須個数を超えるキーポイントの位置を付与された付与データを読み出し、当該付与データから1個以上の位置を欠落させて、必須個数以上の位置を含む劣化データを生成する。一方、付与データのうち、付与フラグが1のキーポイントが必須個数以下であるものは補完器の学習に用いない。本実施形態では必須個数は1個とする。
また、本実施形態では、魚眼レンズ画像や全天球画像などに写っている人の姿勢についても適切に補完できるように、xy座標が(0,0)の点を中心としてランダムな角度でサンプルを回転させ、補完器の学習に用いる。すなわち、劣化データ生成手段51は、正規化後の付与データに対し回転処理を行ってキーポイントのxy座標を変換してから劣化データを生成する。
補完器学習手段52は、劣化データ生成手段51から入力された、付与データと劣化データとのペアを用いて補完器を学習する。すなわち、補完器学習手段52は、劣化データを入力とし付与データを出力の目標値とする学習によって補完器を生成する。ここでの学習とは、補完器のパラメータを求めることである。
本実施形態においては、補完器を変分自己符号化器(variational autoencoder:VAE)でモデル化する。VAEは線形変換処理、活性化関数等から構成され、ここでは、活性化関数としてReLU関数を用いる。本実施形態では、補完器学習手段52はVAEを構成する各要素のパラメータについて誤差関数を最小化する学習を行う。誤差関数として、劣化データを補完器に入力して得られたキーポイントの座標と、付与データのキーポイントの座標との二乗誤差などを用いる。このとき、付与データの付与フラグが0であるキーポイントについては誤差関数に含めない。最小化には確率的最急降下法などを用いる。
補完器記憶手段42は、補完器学習手段52によって得られた補完器のパラメータを記憶する。また、補完器記憶手段42には補完器として用いるVAEの構造が格納される。
[認識段階に関する対象物認識装置1の構成]
図4は認識段階に関する対象物認識装置1の概略の機能ブロック図であり、記憶部4が検出器記憶手段41および補完器記憶手段42として機能し、画像処理部5がキーポイント検出手段53、キーポイント補完手段54、対象物領域検出手段55および対象物属性推定手段56として機能し、通信部3が画像処理部5と協働し、撮影画像取得手段30および認識結果出力手段31として機能する。
撮影画像取得手段30は撮影部2から撮影画像を順次取得して画像処理部5に出力する。
検出器記憶手段41は上述したように、学習段階で生成された検出器を記憶している。
キーポイント検出手段53(部位検出手段)は検出器記憶手段41に格納されている検出器を用いて、撮影手段である撮影部2から順次取得した撮影画像を入力として、当該画像に写っている人物のキーポイントを人物ごとに検出する。なお、シルエットマッチングに基づく検出器を適用する場合は、過去の撮影画像に基づく背景画像の生成や背景差分処理によるシルエットの抽出などの処理を伴う。なお、学習段階では各サンプルの付与データをサンプルIDで識別したが、認識段階では、検出された各人物の検出データに対象物IDを付与して識別する。
補完器記憶手段42は上述したように、学習段階で生成された補完器を記憶している。
キーポイント補完手段54は、補完器記憶手段42に格納されている学習済みの補完器を用いて、キーポイント検出手段53から入力された各人の検出データに対して補完を行う。補完された検出データを補完済み検出データと称する。つまり、キーポイント補完手段54は、キーポイント検出手段53が撮影画像から検出した対象物ごとの検出データそれぞれを補完器に入力して各対象物の検出データを補完することによって、各対象物の補完済み検出データを生成する部位補完手段である。キーポイント補完手段54により、各人について全てのキーポイントの座標が算出される。
具体的には、キーポイント補完手段54は、キーポイント検出手段53から検出されたキーポイントについて部位と位置を検出データとして入力されると、部位ごとに位置の情報として、座標(xn,iおよびyn,i)と、位置に関する状態値とからなる3つの値の組を定義する。つまり、認識段階では、学習段階での付与フラグに代えて、検出データの部位ごとに状態値を付与する。検出データのデータ形式は、上述した付与データのレコードと対比すると、付与データにおけるサンプルIDに代えて対象物IDを表すインデックスが格納され、また、各部位に対応してxn,i、yn,i、vn,iの順に格納される3つの値のうちvn,iに状態値が格納された形式とすることができる。
ここで、状態値は、キーポイント検出手段53により位置が検出された部位については“1”、検出されなかった部位については“0”を付与し、また、補完処理でx座標xn,i、y座標yn,iが設定された部位については“2”を付与する。つまり、キーポイント補完手段54への入力時に欠落していたキーポイントの位置が補完され、当該キーポイントについて、算出された座標と状態値“2”とからなる位置情報を格納した補完済み検出データが生成される。なお、入力時に既に検出されていたキーポイントについては、本実施形態では補完済み検出データにおける位置情報として、入力時の値を用いるが、これに代えて補完器の出力の座標を用いてもよい。また、検出されなかった部位に関しては、xn,iおよびyn,iに不明値を表す情報として劣化データと同様、0を設定する。
キーポイント補完手段54は生成した補完済み検出データを、補完前の検出データの対象物IDと共に対象物領域検出手段55および対象物属性推定手段56へ供する。
ここで、補完前の検出データに含まれるキーポイントの位置は、画像上にて相対位置で表されているため、キーポイント補完手段54は検出データに劣化データ生成手段51と同様の正規化処理を行ってから補完処理を行う。そして、キーポイント補完手段54での補完処理で得られた位置に対して、補完前に正規化により平行移動した分を元に戻す処理を行って、補完済み検出データのキーポイントの位置とする。なお、上述のように正規化できない対象物が存在し得るが、当該対象物については補完前の検出データを補完済み検出データとしてそのまま出力することにする。
さらに、キーポイント補完手段54は補完済み検出データに関する統合処理を行ってもよい。統合処理の意図するところについて図5を用いて説明する。図5は撮影画像と検出データの例を示す模式図である。図5(a)は撮影画像と、模式化した検出データとを重ねて表示した図である。当該画像には2人の人物60,61が写っており、検出されたキーポイントが白丸で表されている。図5(b)は人物60,61についての検出データを、図3(b)に示したようなテーブル形式で表している。図5(b)の検出データは、キーポイント補完手段54により上述した状態値を付与され、また、検出されなかった部位については、座標および状態値の3つの値を0に設定されている。
図5の例では、人物60については17個のキーポイント“1”〜“17”が全て検出されており、図5(a)の矩形62はそれらキーポイント群の外接矩形を示している。人物60については全身が一体に検出されており、これに対応して、1つの検出データ(対象物ID=001)が得られている。一方、人物61は腰の辺りが机で隠蔽され、腰に位置する2つのキーポイント“12”,“13”が検出できない。その結果、検出器は人物61の上半身のキーポイント“1”〜“11”と、脚のキーポイント“14”〜“17”とを別々の対象物として検出してしまっている。図5(a)の矩形63は上半身から検出されたキーポイント群の外接矩形、また、矩形64は脚から検出されたキーポイント群の外接矩形を示している。これに対応して、人物61については矩形63からの検出データ(対象物ID=002)と矩形64からの検出データ(対象物ID=003)とが得られている。
統合処理は、この例における人物61のように1人の人物から検出された複数の検出データを1つの検出データにまとめる処理である。例えば、キーポイント補完手段54は統合処理にて、キーポイント検出手段53が1つの撮影画像から2つ以上の対象物についての検出データを取得した場合に、補完器が出力したキーポイントの位置から当該対象物ごとの存在領域を推定し、複数の検出データについての当該存在領域同士の重複度が予め定めた基準値以上となる場合に、同一の対象物によるものとして当該複数の検出データについて統合された補完済み検出データを生成する。重複度の判定により部位の存在領域同士が同一対象物とみなせるほどに重複している場合に後述する統合処理が行われ、例えば、図5の例では、対象物IDが001の検出データは対象物IDが002や003の検出データとの重複度が基準値未満となることにより統合されないが、対象物IDが002,003の2つの検出データは重複度が基準値以上となり統合される。
図6は図5の人物61についての2つの検出データの統合処理の概略を説明する模式図である。図6(a)〜(c)はそれぞれ補完済み検出データのキーポイントおよびその外接矩形70〜72を撮影画像に重ねて表示した図であり、図6(a)は図5の矩形63からの検出データ(対象物ID=002)に対する補完結果、また図6(b)は図5の矩形64からの検出データ(対象物ID=003)に対する補完結果を示し、図6(c)はそれら2つの補完結果を統合処理した結果を示している。ここで、白丸は図5と同様、検出されたキーポイントを表し、黒丸は補完されたキーポイントを表している。図6(a)では補完によりキーポイントが追加され、矩形63から拡大した外接矩形70が得られている。一方、図6(b)では、肩のキーポイントに基づく正規化が行えなかったために補完されず、元の検出データがそのまま補完済み検出データとなっており、矩形64と同じ外接矩形71が得られている。図6(c)では、矩形63,64の両領域にて検出されたキーポイントが統合され、人物61に好適に対応した外接矩形72が得られている。図6(d)は人物60,61についての検出データをテーブル形式で表している。対象物IDが001のデータは図5(b)と同じく人物60の検出データである。一方、人物61の検出データは、図5(b)にて対象物IDが002と003の2つに分かれていたものが、図6(d)では対象物IDに002を付与された1つの検出データに統合され、またキーポイント“12”,“13”については補完処理で得られた座標と状態値“2”が格納されている。
キーポイント補完手段54は統合処理にて、補完済み検出データの重複度を算出し、重複度が事前に定めた基準値以上である補完済み検出データ同士を統合する。重複度を適切に設計することで、異なる人物の検出データ間(例えば、図5(b)の対象物IDが001と002の検出データ)では統合処理を行わず、同一人物が分かれて検出された検出データ間(例えば、図5(b)の対象物IDが002と003の検出データ)に対して統合処理を行うことができる。
対象物領域検出手段55はキーポイント補完手段54から補完済み検出データを入力され、補完済み検出データが示す要検出部位の位置を基準とした所定範囲を計測データにおける対象物領域として検出し、検出した対象物領域の情報を認識結果出力手段31に出力する。例えば、対象物領域検出手段55は各人物の補完済み検出データに含まれるキーポイント群に外接する外接矩形を当該人物に関する対象物領域である人物領域として検出する。図5の例では、人物60の矩形62が人物領域である。
また、外接矩形を予め定めた比率で拡大して人物領域としてもよい。つまり人物領域の設定に際し、キーポイントが真の領域のやや内側に付与または検出されることや検出誤差を考慮して上下左右にマージンを設ける。また、各キーポイントの定義や各キーポイントの検出誤差の見積もりに応じて上下左右の各方向に対する比率を異なるものとしてもよい。
または、人の部位データから人物領域への変換を学習した変換器に各人物の補完済み検出データを入力することにより、補完済み検出データを当該人物の人物領域に変換してもよい。変換器は、学習用画像に撮影された対象物のサンプルの付与データを入力とし当該学習用画像における当該サンプルの対象物領域を出力の目標値とする学習によって生成された学習済みモデルであり、記憶部4が不図示の変換器記憶手段として機能し、変換器を予め記憶する。そして、対象物領域検出手段55は変換器記憶手段から変換器を読み出して利用する。
以上のように、対象物領域検出手段55は、計測データにおいて、キーポイント補完手段54が補完した検出データに外接する外接矩形を対象物領域として検出し、または、さらに当該外接矩形を所定数倍に拡大した対象物領域を検出する。
また、対象物領域検出手段55は、キーポイント補完手段54が補完した検出データを、学習用画像に撮影された対象物のサンプルの付与データを入力とし当該学習用画像における当該サンプルの対象物領域を出力の目標値とする学習によって生成された変換器に入力して、計測データにおける対象物領域を検出する。
補完済み検出データには、計測データ上で隠れているキーポイントが補完されているため、隠れによって極端に小さな対象物領域が検出されてしまう不具合や、隠れによって1つの対象物に係る対象物領域が複数に分かれて検出されてしまう不具合を格段に低減できる。
対象物属性推定手段56はキーポイント補完手段54から入力された補完済み検出データを基に対象物属性を推定し、推定した対象物属性の情報を認識結果出力手段31に出力する。本実施形態では、対象物属性推定手段56は、補完済み検出データにおけるキーポイント間の距離の比を所定の基準と比較して計測データに計測された人物が子供であるか否かを推定する子供推定手段である。例えば、頭頂のキーポイントから首のキーポイントまでの頭部距離を算出するとともに、頭部距離に肩のキーポイントから腰部のキーポイント、膝のキーポイントを経由して踵のキーポイントに至るまでの距離を加えた全身距離を算出して、頭部距離に対する全身距離の比を算出する。ただし、肩と腰部と膝と踵の組み合わせは、右肩と右腰部と右膝と右踵の組み合わせ、または左肩と左腰部と右膝と左踵の組み合わせとし、或いは、右の組み合わせと左の組み合わせの両方を算出して平均する。算出した比を予め定めた閾値と比較し、比が閾値以下の場合は子供、比が閾値を超えた場合は大人と推定する。なお、補完済み検出データにおいて頭頂と肩と腰部と膝と踵のキーポイントのいずれかが欠落している場合は推定結果が不明である旨を出力する。上記比はいわゆる頭身であり、子供は大人に比べて頭身が低い傾向にあることを利用している。
補完済み検出データには、計測データ上で隠れているキーポイントが補完されているため、対象物属性推定手段56は補完済み検出データを用いることで、隠れによって比を算出し損ねる不具合を格段に低減できる。特に、上述の子供推定では、子供の首のキーポイントが隠れることが多いため、補完済み検出データを用いた推定は効果的である。
認識結果出力手段31は、対象物領域検出手段55が検出した対象物領域および対象物属性推定手段56が推定した対象物属性を出力部6に出力する。例えば、認識結果出力手段31は、撮影画像に対象物領域を表す矩形を描画し、属性が「子供」であればさらに矩形近傍に「子供」の文字を描画した画像を生成して出力部6に出力する。なお、対象物領域が検出されなかった場合、認識結果は対象物無しであるとして撮影画像をそのまま出力してもよい。
[対象物認識装置1の動作]
次に、対象物認識装置1の動作を、学習段階と認識段階とに分けて説明する。
[学習段階での対象物認識装置1の動作]
図7は学習段階での対象物認識装置1の動作に関する概略のフロー図である。
対象物認識装置1は撮影画像に現れる対象物を認識する動作に先立って、検出器および補完器を学習する動作を行う。
当該学習の動作が開始されると、画像処理部5は検出器学習手段50として機能し、検出器の学習に用いるデータとして学習用データ記憶手段40からサンプルごとの学習用画像および付与データを読み込む(ステップS100)。そして、検出器学習手段50は、学習用画像を入力とし、当該学習用画像に対応する付与データを出力の目標値とする検出器学習を行い(ステップS105)、当該学習により生成された学習済みモデルを検出器として検出器記憶手段41に格納する(ステップS110)。
また、画像処理部5は補完器の学習を行うために、劣化データ生成手段51として機能し、学習用データ記憶手段40から付与データを読み出す(ステップS115)。劣化データ生成手段51は、当該付与データに対し正規化処理および回転処理を行った後(ステップS120)、キーポイントの一部を欠落させて劣化データを作成する(ステップS125)。
画像処理部5は補完器学習手段52として機能し、劣化データ生成手段51から正規化および回転を行った付与データとそれから生成された劣化データとを入力され、それらデータを用いて補完器を学習し(ステップS130)、生成した補完器を補完器記憶手段42に格納する(ステップS135)。
[認識段階での対象物認識装置1の動作]
図8は認識段階での対象物認識装置1の動作に関する概略のフロー図である。
対象物認識装置1が認識の動作を開始すると、撮影部2は所定時間おきに監視空間を撮影した画像を順次、出力する。画像処理部5は通信部3と協働して、撮影部2から撮影画像を受信するたびに図8のフロー図に示す動作を繰り返す。
通信部3は撮影画像取得手段30として機能し、撮影画像を受信すると当該撮影画像を画像処理部5に出力する(ステップS200)。
画像処理部5はキーポイント検出手段53として機能し、検出器記憶手段41に記憶されている検出器を用いて、入力された撮影画像から人ごとにキーポイントを検出し検出データを生成する(ステップS205)。
キーポイント検出手段53によりキーポイントが検出された場合(ステップS210にて「YES」の場合)、画像処理部5はキーポイント補完手段54として機能する。キーポイント補完手段54は、キーポイント検出手段53が生成した検出データに対して、正規化処理(ステップS215)と、キーポイントごとに状態値を付与する処理(ステップS220)を行った後、補完器記憶手段42に記憶された補完器を用いて、キーポイントを補完する処理を行い補完済み検出データを生成する(ステップS225)。
また、キーポイント補完手段54は複数の検出データを統合する処理(ステップS230〜S240)を行う。上述したように統合処理は1人の人物から検出された複数の検出データをまとめる処理であり、重複検出判定処理S230は、複数の検出データ間での重複度に基づいて、重複検出(同一人物について複数の検出データが得られていること)を判定する。重複検出がある場合には(ステップS235にて「YES」の場合)、キーポイント補完手段54は、重複検出であると判定された補完済み検出データにおける重複キーポイントを統合する(ステップS240)。他方、重複検出がない場合には(ステップS235にて「NO」の場合)、ステップS240は省略される。こうして、キーポイント補完手段54は補完済み検出データの生成処理を完了し、当該データを対象物領域検出手段55および対象物属性推定手段56に供する。
画像処理部5は対象物領域検出手段55として機能し、キーポイント補完手段54から入力される補完済み検出データに基づいて、対象物領域として人物領域を検出する(ステップS245)。また、画像処理部5は対象物属性推定手段56として機能し、キーポイント補完手段54から入力される補完済み検出データに基づいて、検出された人物が子供であるか否かといった対象物属性を推定する処理を行う(ステップS250)。
画像処理部5および通信部3は協働して認識結果出力手段31として機能し、対象物領域検出手段55により検出された人物領域、および対象物属性推定手段56による属性の推定結果を含む認識結果を出力部6に出力する(ステップS255)。また、ステップS205にて撮影画像からキーポイントが検出されなかった場合(ステップS210にて「NO」の場合)、認識結果出力手段31はその旨を含む認識結果を出力部6に出力する。
対象物認識装置1は、ステップS200にて取得された撮影画像について認識結果を出力すると、ステップS200に戻り、次に取得される撮影画像について上述の処理を繰り返す。
図9はキーポイント補完手段54による重複検出判定処理S230の概略のフロー図である。キーポイント補完手段54は、図8のステップS225にて生成した補完済み検出データに対して、例えば、状態値が1のキーポイントの数について降順でソート処理を行い、さらにキーポイントが同数のデータに対して対象物IDの昇順とするソート処理を行った後(ステップS300)、全ての補完済み検出データについて対象物IDの付与を一旦、解除する(ステップS305)。そして、新たに付与する対象物IDの初期値を1に設定し(ステップS310)、重複検出の判定結果に基づいて各補完済み検出データに対象物IDを付与し直す処理を開始する。
補完済み検出データのうちに対象物IDが未付与のものがあれば(ステップS315にて「YES」の場合)、当該未付与のデータのうち最先順序のものを選択する(ステップS320)。以下、選択したデータを補完済み検出データAと表す。キーポイント補完手段54は、補完済み検出データの複数のキーポイントのうち状態値が0ではないものについての外接矩形を算出し、その面積を人物の存在領域の面積として用いることができる。
補完済み検出データAには対象物IDの現在の設定値を付与する(ステップS325)。しかる後、対象物IDが未付与の補完済み検出データを順次、補完済み検出データBとして選択する(ステップS330)。そして、補完済み検出データBが選択された場合(ステップS335にて「YES」の場合)、補完済み検出データA,Bの間の重複度を算出する(ステップS340)。
本実施形態では、重複度αを、補完済み検出データAについての人物領域RA、および補完済み検出データBについての人物領域RBを用いて、
(数1)
α=RAとRBの重複領域の面積/ RAとRBの和領域の面積
で計算する。ここで、領域RA,RBは上述の外接矩形とする。なお、補完済み検出データA,Bが共に正規化を行えず補完できなかったもの(本実施形態では、両肩のいずれかのキーポイントの状態値が0である補完済み検出データ)であれば、重複判定処理は常に統合を行わない判定結果を返すこととする。
また、補完済み検出データA,Bの片方(ここではBとする)の補完済み検出データに状態値が0のキーポイントが含まれていれば、他の重複度αの計算方法として、
(数2)
α=RAとRBの重複領域の面積/ RBの面積
としてもよい。なお、面積に代えて、同一部位のキーポイントの位置の間の距離の平均値が小さいほど高い重複度とすることもできる。この場合、一方のみにしかない部位のキーポイントは距離算出対象外とする。また、好適には、部位ごとのずれ易さを事前に指標値化しておき、ずれ易さが高い部位の距離ほど低く重みづけて平均値を求める。また、2つまたは3つ以上の部位データ同士の類似度を重複度として出力する重複度算出器を事前に学習させ用いてもよい。
ステップS340にて算出した重複度が、予め定めた基準値以上である場合(ステップS345にて「YES」の場合)、補完済み検出データBに対象物IDの現在の設定値を付与する(ステップS350)。これにより、補完済み検出データA,Bに共通の対象物IDが付与される。キーポイント補完手段54は、ステップS350を終えると、ステップS330に戻り、次の補完済み検出データBを選択する。また、重複度が基準値未満である場合(ステップS345にて「NO」の場合)、現在の補完済み検出データBは対象物IDを未付与のままとして、ステップS330に戻り、次の補完済み検出データBの処理に移る。
現在の補完済み検出データAの選択時に対象物IDが未付与であった補完済み検出データのうち補完済み検出データBとして選択されていないものがなくなった場合(ステップS335にて「NO」の場合)、対象物IDの設定値をインクリメントし(ステップS355)、ステップS315に戻る。そして、対象物IDが未付与で残っている補完済み検出データがあれば(ステップS315にて「YES」の場合)、その中から新たな補完済み検出データAを選択し(ステップS320)、ステップS325〜S355の処理を行い、一方、対象物IDが未付与である補完済み検出データが残っていなければ(ステップS315にて「NO」の場合)、重複検出判定処理を終了し、図8のステップS235の処理に進む。
キーポイント補完手段54は重複検出判定処理S230後の補完済み検出データに、同じ対象物IDを有するものが複数あれば、ステップS235にて重複検出ありと判断し、その場合、統合処理S240を行う。
統合処理S240について以下説明する。当該処理では、統合後の補完済み検出データ(統合済み検出データ)の各キーポイントの位置および状態値を、事前に定めた規則に従い、統合の対象となる複数の補完済み検出データから決定する。具体的には、対象物IDが一致する補完済み検出データのペアに対して、以下に示すような位置および状態値の更新を、ペアが無くなるまで繰り返し行う。統合対象となる2つの補完済み検出データにおける同一部位の状態値の組み合わせについて以下の4通りが考えられる。
(1)補完で得られたキーポイントと検出されたキーポイント(状態値“2”と“1”)
(2)検出されたキーポイント同士(どちらも状態値“1”)
(3)補完で得られたキーポイント同士(どちらも状態値“2”)
(4)一方のキーポイントのみ位置が判明(一方が状態値“1”または“2”で他方が“0”)
本実施形態では、(1)に対しては、検出されたキーポイントの位置と状態値を優先して選択する。(2)および(3)に対しては、検出されたキーポイント数が多い補完済み検出データのものを優先し、検出されたキーポイント数が同数である場合は位置に関しては両者の平均とし、状態値は(2)の場合は“1”、(3)の場合は“2”とする。(4)に関しては、位置の判明しているキーポイントの位置と状態値を用いる。この規則に従って、対象物IDが同じ複数の補完済み検出データを統合して、1つの統合済み検出データを生成する。ちなみに、図5(b)の対象物IDが002と003の補完済み検出データについて重複検出判定にて共通の対象物IDとして002が付与され、それらデータを上述の規則で統合することで、統合済み検出データとして図6(d)の対象物IDが002の補完済み検出データが生成される。
ステップS240の統合処理ではステップS225で補完されたキーポイントをそのまま用いて統合後の部位データを定めたが、重複検出判定処理S230にて同一の対象物IDを付与された検出データに対し改めて補完を行って統合後の部位データを定めてもよい。図10は再度の補完を行って統合する構成の対象物認識装置1における認識段階での動作に関する概略のフロー図である。図10において、図8と共通する処理には同一の符号を付しており、図10の処理は、図8の統合処理S240に代えて、重複検出された検出データのまとまりに対するキーポイント再補完を伴う統合処理S400である点で相違している。ここで、重複検出された検出データのまとまりとは、補完済み検出データのうち重複検出判定処理S230にて互いに同一の対象物IDを付与されたものに対応する元の検出データを合成したものであり、合成検出データと呼ぶことにする。統合処理S400では再補完として当該合成検出データに対して補完器を適用し、その出力を統合済み検出データとする。例えば、補完済み検出データに対して上述の規則を適用し得られた部位データから、検出されたキーポイント(状態値“1”)のみを残して残りは状態値“0”とすることで合成検出データを作成する。再度補完することで、検出されたキーポイントがより多い検出データで補完を行うことができるため、より確度の高いキーポイントの位置が得られる。また、図8および図9を用いて説明した処理、並びに図10の処理では、同一人物が多重に検知されることなどを抑制できる。また、補完済み検出データを用いることにより、重複検出が判定でき、1つの対象物の部位データを複数の対象物のものと認識する誤りを減じることが可能になる
[変形例]
(1)上記実施形態では、人の全身を対象物とする例を示したが、対象物は、人の上半身などの人体の一部としてもよいし、車両や椅子などの人以外の物体としてもよい。
(2)上記実施形態では、対象物が計測される計測データが二次元画像であり、計測データを取得する計測部は撮影部2とし二次元画像を撮影するカメラである例を示したが、計測データ、計測部はこの例に限られない。例えば、計測データは三次元空間を計測したものであってもよい。三次元計測データの例として、距離画像センサを計測部に用いて得られる距離画像や、多視点カメラで撮影した画像から構築した三次元データを挙げることができる。また、計測データは、二次元画像の時系列(二次元計測データの時系列)、三次元計測データの時系列とすることもできる。
(3)上記実施形態では、両肩のキーポイントの中点を正規化後の原点に定めるという1通りのキーポイントの組を用いて正規化を行う例を示した。別の実施形態においては、他のキーポイントの組を用いた正規化を含めて複数通りの正規化を定義しておき、正規化の対象とする付与データごとに当該付与データにおいて利用可能なキーポイントの組に応じた正規化を選択する手法とすることもできる。このようにすることで、サンプルを無駄なく用いた学習を行うことが可能になり、補完器をより高精度化できる。また、このようにすることで、属性推定をし損ねる可能性を減じることができる。
また、上記実施形態では原点を2つのキーポイントを用いて決める例としたが、原点は1つのキーポイント、または3つ以上のキーポイントを用いて定めてもよい。
(4)上記実施形態では、部位データはキーポイントの位置を座標で表現する形態としたが、画像の形態で表現したものとすることもできる。例えば、キーポイントの座標位置のみ画素値が1となるようなバイナリ画像を各キーポイントに対して作成したものや、そのバイナリ画像に対してガウシアンフィルタを適用したものを用いてもよい。その場合、各キーポイントの座標は当該画像での最大値をとる点に対応する。また、劣化データ生成手段51や補完器学習手段52やキーポイント補完手段54の入力と出力とでキーポイントの位置の表現形態を異ならせてもよく、入力では位置を座標で表し出力では画像で表す構成や、逆に入力を画像とし出力を座標で表す構成とすることができる。
(5)補完器は、キーポイントの座標の推定値に加えて、座標推定値の信頼度を出力してもよい。この場合、キーポイント補完手段54は、一定以上の信頼度を有するキーポイントのみ、補完済み検出データにおける状態値を“1”に設定することができる。例えば、キーポイント検出手段53にて検出されたキーポイントが少なく座標の推定が難しいような場合には、誤った座標の推定がなされやすい。この点、得られた座標推定値の信頼度が低いキーポイントについては状態値を“1”に設定しないことで、補完済み検出データに基づく対象物認識の精度を向上させたり対象物認識の結果の精度指標を伝達することが可能となる。例えば、この補完済み検出データを用いることで、対象物属性推定手段56は右側のキーポイントの組み合わせと左側のキーポイントの組み合わせのうちの状態値が“1”であるキーポイントが多い方の組み合わせを用いて属性を推定することができる。また、対象物領域検出手段55は対象物領域の検出に用いたキーポイントのうちの状態値が“1”であるキーポイントの数に応じた精度指標を求めて出力し、対象物属性推定手段56は対象物属性の推定に用いたキーポイントのうちの状態値が“1”であるキーポイントの数に応じた精度指標を求めて出力し、認識結果出力手段31はこれらの精度指標を認識結果に含めて出力する。
また、信頼度をバイナリで表現される状態値に変換せずに補完済み検出データと合わせてそのまま保持してもよく、その場合、キーポイントの組み合わせの選択指標や精度指標は信頼度の合計値などとなる。
(6)上記実施形態では、補完器としてVAEを用いたが、ニューラルネットワークやガウシアンプロセスなど連続値を出力可能な他のモデルを用いてもよい。また、事前にキーポイントの座標を離散化して、部位の位置の推定を各キーポイントはそれらのいずれかに属するクラス分類問題として定式化することにより、補完器として、アダブースト(AdaBoost)などの識別モデルを用いることもできる。
(7)上記実施形態では、キーポイント補完手段54での活性化関数としてReLU関数を用いたが、活性化関数としてtanh関数、シグモイド(Sigmoid)関数などを用いてもよい。また、ResNet(residual network:残差ネットワーク)で用いられるようなショートカット構造を有する構成としてもよい。
(8)上記実施形態では、キーポイント補完手段54における統合処理にて重複度αの算出に、統合前の補完済み検出データについての外接矩形を用いたが、これに代えて、当該外接矩形を所定倍に拡大した領域を利用してもよく、統合前の補完済み検出データを人の部位データから人物領域への変換を学習した上述の変換器に入力して得られる領域を利用してもよい。
(9)キーポイント補完手段54において、対象物の部位データの統合を行う際に、検知器から得られる各部位データまたは各キーポイントのスコアや信頼度を用いてもよい。スコアや信頼度の高い部位データから優先的に統合したり、重複検出判定処理の際にスコアや信頼度の低い部位データは統合しないことで、誤統合の抑制が期待できる。ただし、その場合の検出器およびキーポイント検出手段53は各キーポイントの位置に加えて当該キーポイントのスコアや信頼度を出力する。
また、キーポイント補完手段54による重複検出判定におけるソート順序は面積の降順としてもよい。
(10)図8のステップS240を図9のステップS350の直後に実行する、または図10のステップS400を図9のステップS350の直後に実行することで、重複度を逐次更新するようにしてもよい。
(11)上記実施形態では、補完器と検出器の学習に、共通の付与データを用いる例を示したが、互いに異なる付与データを用いてもよい。また、補完器のみに用いる付与データは学習用画像と無関係に作成したものでもよい(例えば、対象物の部位データ付き三次元モデルを二次元投影して作成)。また、補完器の学習段階と検出器の学習段階に時期差があってもよい。
すなわち、検出器を用いた既存の対象物認識装置に新たな認識処理を加える変更が、検出器の再学習を行わずに、新たな認識処理とそれに必要な補完処理の付加だけで実現可能になる。
(12)上記実施形態では、記憶部4および画像処理部5を画像センター側に設ける例を示したが、これらをイベント会場側に設けてもよい。