【国等の委託研究の成果に係る記載事項】(出願人による申告)平成27年度、国立研究開発法人科学技術振興機構研究成果展開事業 センター・オブ・イノベーションプログラム「共進化社会システム創成拠点:ヒト/モノ・エネルギー・情報のモビリティによる多様で持続的な社会の構築」委託研究開発、産業技術力強化法第19条の適用を受ける特許出願
(58)【調査した分野】(Int.Cl.,DB名)
前記グラフ表示アルゴリズムとして、類似する人物画像を互いに近傍に配置するとともに、類似度に応じて人物画像間の前記エッジの長さを調整するアルゴリズムと、類似する人物画像を互いに近傍に配置するとともに、類似度に関わらず前記エッジの長さを均等にするアルゴリズムとが含まれる、請求項4に記載のグラフ表示装置。
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、特許文献1に開示された技術では、人物画像間の誤対応を修正する際に、各カメラ間の距離と撮像時間差に係る情報を必要としている。しかも、これらの情報と平均移動速度から得られた時空間尤度と所定の閾値とを比較するプロセスだけでは、人物画像間の誤対応を確実に修正するには十分ではない。特に、時空間尤度が所定の閾値よりも小さい場合でも、2画像間の対応付けが誤っているケースは十分に考えられる。このように、所定のパラメータと閾値とを比較することで誤対応を修正するプロセスには限界がある。
【0010】
本発明は、人物画像間の誤対応を効率的に修正することが可能なグラフ表示装置を提供することを目的とする。
また、本発明は、当該グラフ表示装置を実現するためのグラフ表示プログラム及び当該グラフ表示プログラムが記憶されたコンピュータ読取可能な記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明の一態様に係るグラフ表示装置は、
撮像領域が各々異なる複数台のカメラによって撮像された複数の人物画像と当該複数の人物画像間の類似度に係る類似度情報とを取得するように構成された取得部と、
前記人物画像と前記類似度情報に基づいて、各々がノードとなる複数の人物画像と当該複数の人物画像間を連結する複数のエッジからなるグラフを生成するように構成されたグラフ生成部と、
前記生成されたグラフを表示部に表示させるように構成された表示制御部と、
操作者からの入力操作に従って、前記グラフ生成部によって生成されたグラフの表示形態を変更することで前記複数の人物画像間の対応付けを変更するように構成されたグラフ変更部と、を備える。
2つの人物画像間の類似度が所定の閾値よりも大きい場合に、前記グラフ生成部は、前記2つの人物画像間を連結するエッジを生成するように構成される。
【0012】
上記構成によれば、2つの人物画像間の類似度が所定の閾値よりも大きい場合に、当該2つの人物画像間を連結するエッジが生成されるので、人物画像間の類似度をエッジにより可視化することが可能となる。さらに、操作者からの入力操作に従って、グラフ生成部によって生成されたグラフの表示形態が変更されることで、人物画像間の対応付けが変更される。このように、複数の人物画像間の対応付けの変更を可視化することが可能となる。
【0013】
従って、人物画像間の誤対応を目視による手作業により直感的かつ効率的に修正することができるグラフ表示装置を提供することができる。
【0014】
さらに、操作者によって修正された人物画像間の対応付けデータは、人物画像データベースとして保存され機械学習に供せられる。このように、画像取得から機械学習までに要する時間を短縮できるとともに、誤った情報に基づく学習を排除し、より高精度な人物追跡が可能となる。
【0015】
また、前記グラフ変更部は、所定のエッジに対する前記操作者からの入力操作に従って、前記所定のエッジを削除するように構成されてもよい。
【0016】
上記構成によれば、操作者の入力操作によって、例えば、互いに異なる人物に属する2つの人物画像間のエッジを削除できる。このように、エッジを削除するといった比較的簡単な入力操作によって、複数の人物画像間の対応付けを変更することができる。
【0017】
また、前記グラフ変更部は、所定の人物画像に対する前記操作者からの入力操作に従って、前記所定の人物画像と対応する人物画像とを連結するエッジを生成するように構成されてもよい。
【0018】
上記構成によれば、操作者の入力操作によって、例えば、同一人物に属する2つの人物画像を連結するエッジを生成することができる。このように、エッジを生成するといった比較的簡単な入力操作によって、複数の人物画像間の対応付けを変更することができる。
【0019】
また、前記グラフ変更部は、前記操作者によって選択されたグラフ表示アルゴリズムに応じて、前記生成されたグラフの表示形態を変更するように構成されてもよい。
【0020】
上記構成によれば、グラフ表示アルゴリズムに応じて、表示部に表示されたグラフの表示形態を適宜変更することができる。このように、操作者は人物画像間の誤対応を発見しやすくなる。
【0021】
また、前記グラフ表示アルゴリズムとして、類似する人物画像を互いに近傍に配置するとともに、類似度に応じて人物画像間の前記エッジの長さを調整するアルゴリズムと、類似する人物画像を互いに近傍に配置するとともに、類似度に関わらず前記エッジの長さを均等にするアルゴリズムとを含ませてもよい。
【0022】
上記構成によれば、操作者は、類似する人物画像を互いに近傍に配置するとともに、類似度に応じて人物画像間のエッジの長さを調整するアルゴリズムによるグラフレイアウトと、類似する人物画像を互いに近傍に配置するとともに、類似度に関わらずエッジの長さを均等にするアルゴリズムによるグラフレイアウトを適宜切り替えることで、人物画像間の誤対応を発見しやすくなる。さらに、操作者が複数の人物画像間の対応付けを適宜変更した後に、類似度に応じて人物画像間のエッジの長さを調整するアルゴリズムから類似度に関わらずエッジの長さを均等にするアルゴリズムに切り替えることで、複数のエッジによって連結された複数の人物画像からなる画像クラスター(ここでは、相互に類似する複数の人物画像が近接して寄り集まった集合体をいう。)を表示部に表示させることが可能となり、各人物画像間の対応付けが明確に可視化される。
【0023】
前記グラフ変更部は、前記複数のエッジによって連結された複数の人物画像からなる画像クラスターに対する前記操作者からの入力操作に従って、当該画像クラスターに属する各人物画像に同一のラベルを付与するように構成されてもよい。
【0024】
上記構成によれば、複数のエッジによって連結された複数の人物画像からなる画像クラスターに属する各人物画像に同一のラベルを付与できる。このように、ラベルを各人物画像に付与することで、各人物画像間の対応付けを明確に可視化することができる。
【0025】
グラフ表示装置は、前記同一のラベルが付与された人物画像を同一人物の画像であるとして記録するように構成された記録部をさらに備えてもよい。
【0026】
上記構成によれば、同一のラベルが付与された人物画像が同一人物の画像であるとして記録される。例えば、Aラベルが付与された人物画像がA人物の画像として記録され、Bラベルが付与された人物画像がB人物の画像として記録される。このように、記録部に記録されたデータを、人物画像データベースを用いた機械学習に役立てることができる。
【0027】
本発明の一態様に係るグラフ表示プログラムは、
撮像領域が各々異なる複数台のカメラによって撮像された複数の人物画像と当該複数の人物画像間の類似度に係る類似度情報とを取得する取得機能と、
前記人物画像と前記類似度情報に基づいて、各々がノードとなる複数の人物画像と当該複数の人物画像間を連結する複数のエッジからなるグラフを生成するグラフ生成機能と、
前記生成されたグラフを表示部に表示させる表示制御機能と、
操作者からの入力操作に従って、前記グラフ生成機能によって生成されたグラフの表示形態を変更することで前記複数の人物画像間の対応付けを変更するグラフ変更機能と、をコンピュータに実現させるためものである。
2つの人物画像間の類似度が所定の閾値よりも大きい場合に、前記グラフ生成機能は、前記2つの人物画像間を連結するエッジを生成する。
【0028】
上記構成によれば、2つの人物画像間の類似度が所定の閾値よりも大きい場合に、当該2つの人物画像間を連結するエッジが生成されるので、人物画像間の類似度をエッジにより確認することが可能となる。さらに、操作者からの入力操作に従って、グラフ生成機能に表示されたグラフの表示形態が変更されることで、人物画像間の対応付けが変更される。このように、複数の人物画像間の対応付けの変更を可視化することが可能となる。
【0029】
従って、人物画像間の誤対応を目視による手作業により直感的かつ効率的に修正することができるグラフ表示プログラムを提供することができる。
【0030】
さらに、修正者によって修正された人物画像間の対応付けデータは、人物画像データベースとして保存され機械学習に供せられる。このように、画像取得から機械学習までに要する時間を短縮できるとともに、誤った情報に基づく学習を排除し、より高精度な人物追跡が可能となる。
【0031】
また、上記グラフ表示プログラムが記憶されたコンピュータ読取可能な記憶媒体が提供される。
【発明の効果】
【0032】
本発明によれば、人物画像間の誤対応を効率的に修正することが可能なグラフ表示装置及びグラフ表示プログラムが提供される。
【発明を実施するための形態】
【0034】
以下、本発明の実施形態について図面を参照しながら説明する。尚、本実施形態の説明において既に説明された要素と同一の参照番号を有する要素については、説明の便宜上、その説明は省略する。
【0035】
図1は、本発明の一実施形態に係るグラフ表示装置1と、画像処理サーバ2と、カメラ3a〜3cとからなるシステム構成図を示す。グラフ表示装置1と、画像処理サーバ2と、カメラ3a〜3cのそれぞれは、LAN(Local Area Network)、WAN(Wide Area Network)又はインターネット等の通信ネットワーク4を介して通信可能に接続されている。
【0036】
各カメラ3a〜3cは、各々の撮像範囲Sa〜Sc内において、所定時間の間、時間的に連続する複数の静止画(複数フレーム)からなる動画を撮像するように構成されている。各カメラ3a〜3cは、撮像性能、撮像時間、撮像領域等の撮像環境が異なる。例えば、各カメラ3a〜3cは、
図2に示す一室の所定の箇所に設置されている。
図2に示すように、カメラ3a〜3cは、互いに異なる撮像領域Sa〜Scを有しており、撮像領域Sa〜Scの各々は、互いにオーバラップしていない。このため、カメラ3a〜3cによって取得されたカメラ画像によって人物追跡を実行することは一般的にかなり難しいと考えられている。
【0037】
図3は、
図1に示したグラフ表示装置1と画像処理サーバ2のハードウェア構成を示している。
図3に示すように、画像処理サーバ2は、人物画像データベースを格納する記憶部21と、演算処理部22と、ネットワークインターフェース23と、バス24とを備える。記憶部21と、演算処理部22と、ネットワークインターフェース23はバス24を介して互いに通信可能に接続されている。
【0038】
記憶部(ストレージ)21は、人物画像データベースを格納するように構成されており、例えば、複数台のHDD(Hard Disk Drive)やSSD(Solid State Drive)等によって構成されている。
【0039】
演算処理部22は、メモリとプロセッサを備えている。メモリは、例えば、各種プログラム等が格納されたROM(Read Only Memory)やプロセッサにより実行される各種プログラム等が格納される複数ワークエリアを有するRAM(Random Access Memory)等から構成される。プロセッサは、例えばCPU(Central Processing Unit)であって、ROMに組み込まれた各種プログラムから指定されたプログラムをRAM上に展開し、RAMとの協働で各種処理を実行するように構成されている。
【0040】
撮像条件が異なる各カメラ3a〜3cによって撮像された複数のカメラ画像は、通信ネットワーク4を介してネットワークインターフェース23に送信される。ネットワークインターフェース23は、受信した複数のカメラ画像を演算処理部22に送信し、演算処理部22は、複数のカメラ画像に基づいて、複数の人物画像(人物画像データ)と、当該複数の人物画像間の類似度に係る類似度情報を取得する。尚、本明細書において、「人物画像」は、説明の便宜上、可視化されていない「人物画像データ」および可視化された「人物画像」の両方の意味を含むものとして定義される。
【0041】
ここで、類似度情報について簡単に説明する。例えば、3つの人物画像A,B,Cがある場合、人物画像Aと人物画像Bとの間の類似度、人物画像Aと人物画像Cとの間の類似度、人物画像Bと人物画像Cとの間の類似度が類似度情報に含まれる。また、人物画像間の類似度の演算手法については後述する。
【0042】
演算処理部22によって取得された人物画像と類似度情報は、人物画像データベースとして記憶部21に保存される。尚、演算処理部22は、複数の人物画像間の対応付けに係る情報を取得して、当該対応付け情報が人物画像データベースとして記憶部21に保存されてもよい。ここで、「人物画像間の対応付けに係る情報」の具体例としては、所定の人物画像が複数の人物画像によって形成される複数の画像クラスターのうちのいずれに属するかを示す情報である。例えば、人物画像Aと人物画像Bが共に同一人物の画像を表すと演算処理部22によって決定された場合、人物画像Aと人物画像Bが同一の画像クラスターに属することを示す情報が人物画像データベースとして記憶部21に保存される。
【0043】
グラフ表示装置1は、制御部12と、記憶部13と、ネットワークインターフェース14と、表示部15と、操作入力部16と、バス17とを備える。制御部12と、記憶部13と、ネットワークインターフェース14と、表示部15と、操作入力部16は、バス17を介して互いに通信可能に接続されている。
【0044】
グラフ表示装置1は、例えば、パーソナルコンピュータ、スマートフォン、タブレットによって構成されてもよい。
【0045】
制御部12は、メモリとプロセッサを備えている。メモリは、例えば、各種プログラム等が格納されたROM(Read Only Memory)やプロセッサにより実行される各種プログラム等が格納される複数ワークエリアを有するRAM(Random Access Memory)等から構成される。プロセッサは、例えばCPU(Central Processing Unit)であって、ROM又は記憶部13に組み込まれた各種プログラムから指定されたプログラムをRAM上に展開し、RAMとの協働で各種処理を実行するように構成されている。
【0046】
特に、プロセッサがグラフ表示プログラムをRAM上に展開し、RAMとの協働でグラフ表示プログラムを実行することで、制御部12は、グラフ表示装置1の各種動作を制御してもよい。制御部12及びグラフ表示プログラムの詳細については後述する。
【0047】
記憶部(ストレージ)13は、例えば、HDD、SSD、フラッシュメモリ等の記憶装置であって、プログラムや各種データを格納するように構成されている。記憶部13には、グラフ表示プログラム、通信ネットワーク4を介して取得された人物画像及び類似度情報、並びに後述する記録部125(
図4参照)によって記録されたラベル情報が格納されていてもよい。
【0048】
ネットワークインターフェース14は、グラフ表示装置1を通信ネットワーク4に接続するように構成されている。記録部125によって記録されたラベル情報は、ネットワークインターフェース14を介して通信ネットワーク4上に配置された画像処理サーバ2に送信されてもよい。また、人物画像及び類似度情報は、画像処理サーバ2から通信ネットワーク4を介してネットワークインターフェース14に送信されてもよい。
【0049】
表示部15は、後述するグラフ生成部122によって生成されたグラフ230(
図7等参照)を表示させるように構成されている。表示部15は、例えば、液晶ディスプレイ、有機ELディスプレイ等である。
【0050】
操作入力部16は、グラフ表示装置1を操作する操作者の入力操作を受付けると共に、当該入力操作に応じて操作信号を出力するように構成されている。操作入力部16は、例えば、表示部15上に重ねて配置されたタッチパネル、筐体に取り付けられた操作ボタン、マウス、キーボード等である。操作者は、表示部15に表示されるグラフ230を確認しながら、操作入力部16を通じてグラフ表示装置1に対して所定の操作を行うことができる。
【0051】
図4は、
図1に示したグラフ表示装置1の制御部12の機能ブロックを示した図である。
図4に示すように、制御部12は、取得部121と、グラフ生成部122と、表示制御部123と、グラフ変更部124と、記録部125とを備える。
【0052】
取得部121は、通信ネットワーク4及びネットワークインターフェース14を介して、画像処理サーバ2から複数の人物画像及び類似度情報を取得するように構成される。
【0053】
グラフ生成部122は、後述するグラフ表示アルゴリズムに基づいて取得部121によって取得された人物画像及び類似度情報を処理し、グラフ230(
図7参照)を生成するように構成されている。
図7に示すように、グラフ230は、各々がノードとなる複数の人物画像100a,100b,100c・・・と当該複数の人物画像間を連結する枝であるエッジ5a,5b,5c・・・とから構成される。
【0054】
表示制御部123は、グラフ生成部122によって生成されたグラフ230を表示部15に表示させるように構成されている。また、表示制御部123は、操作入力部16に対する操作者からの入力操作に対応する操作信号に従って、表示部15に表示された表示画面200(
図7等参照)を変更するように構成される。
【0055】
グラフ変更部124は、操作者からの入力操作に従って、グラフ生成部122によって生成されたグラフ230の表示形態を変更することで、複数の人物画像間の対応付けを変更するように構成されている(例えば、
図8,9を参照)。具体的には、グラフ変更部124は、操作入力部16によって出力された操作信号に従って、グラフ230の表示形態を変更するための指示信号を出力する。グラフ生成部122は、当該指示信号に従って、表示形態が変更されたグラフを生成する。表示制御部123は、表示形態が変更されたグラフ230を表示部15に表示させる。
【0056】
記録部125は、操作入力部16に対する操作者からの入力操作により各人物画像に付与されたラベルを記録するように構成されている(例えば、
図13を参照)。特に、記録部125は、同一のラベルが付与された人物画像を同一人物の画像であるとして記録するように構成されている。
【0057】
次に、
図5を参照してカメラ3a〜3cによるカメラ画像の取得から演算処理部22による機械学習までの一連のプロセスについて説明する。
図5は、当該一連のプロセスを示すフローチャートである。
【0058】
ステップS10では、各カメラ3a〜3cによって複数のカメラ画像(カメラ画像データ)が取得される。例えば、カメラ3aがH時間の間、撮像領域Saをフレーム数B/秒で撮影した場合には、得られるカメラ画像の枚数は、3600B×H枚となる。各カメラ3a〜3bによって取得されたカメラ画像は、通信ネットワーク4を介して画像処理サーバ2の演算処理部22に送信される。
【0059】
ステップS11では、演算処理部22は、複数のカメラ画像から人物を検出する。演算処理部22は、改善された適応ガウス混合モデルを用いて各カメラ画像の全体画像から背景差分を取得する。次に、モルフォロジー演算(ダイレーション(膨張)、エロージョン(侵食))を用いて人物の輪郭を検出する。このようにして、演算処理部22は、各カメラ画像から人物を検出する。また、演算処理部22は、公知のアルゴリズムであるJoint HOG特徴を用いて人物検出を行なってもよい。
【0060】
ステップS12では、演算処理部22は、人物画像を取得する。最初に、演算処理部22は、人物が検出された各カメラ画像から、検出された人物及びその周囲領域からなる矩形領域をトリミングすることで、人物及びその周囲領域のみを表す複数のフレームを取得する。そして、演算処理部22は、取得された複数のフレームのうち、ユークリッド距離が近い人物が写っている5つのフレームから構成される複数の画像シーケンスを抽出する。そして、演算処理部22は、抽出された各画像シーケンスを一つの人物画像として生成する(
図6参照)。ここで、各画像シーケンスの5つのフレームに写っている人物は同一人物である。
【0061】
また、5つのフレームからなる画像シーケンスにおいて、隣接フレーム間における撮像間隔は略一定となっている。本実施形態の説明において、複数の人物画像の各々は、5つのフレームによって構成されているが、フレームの数は任意に決定することができる。例えば、演算処理部22は、1つのフレームからなる人物画像を生成してもよい。以下では、複数の人物画像の各々は、5つのフレームを有するものとして説明する。
【0062】
次に、演算処理部22は、各人物画像の人物サイズを正規化する。つまり、演算処理部22は、各人物画像のサイズを拡縮することで、各人物画像の人物サイズを略一定にする。
【0063】
次に、ステップS13では、演算処理部22は、各人物画像の特徴量を抽出する。具体的には、演算処理部22は、特徴量として、各人物画像の各フレームのRGBヒストグラムを生成すると共に、k平均法を用いて各フレームの主要色(例えば、代表的な7色)を抽出する。
【0064】
次に、ステップS14では、演算処理部22は、各人物画像間の類似度を演算する。各人物画像間の類似度の演算手法について
図6を参照して説明する。特に、
図6を参照して、人物画像100aと人物画像100bとの間の類似度の演算手法について説明する。
図6に示すように、人物画像100aは、5つのフレーム100a−1〜100a−5を有しており、各フレームに写っている人物は同一人物である。一方、人物画像100bも、5つのフレーム100b−1〜100b−5を有しており、各フレームに写っている人物は同一人物である。
【0065】
演算処理部22は、フレーム100a−1〜100a―5とフレーム100b−1〜100b−5との間における全ての組み合わせにおいて類似/非類似の判定をSVM(Support Vector Machine)を用いて行う。SVMは、教師あり学習を用いるパターン認識モデルの一つである。人物画像100aと人物画像100bは、それぞれ5つのフレームを有しているので、各フレーム間において合計25回(5×5回)の類似/非類似の判定が識別器を用いて行われる。
【0066】
例えば、フレーム100a−1とフレーム100b−1との間の類似/非類似の判定の際に、フレーム100a―1とフレーム100b−1の特徴ベクトルが識別器に入力される。特徴ベクトルとしては、RGBヒストグラムのBhattachayya距離(例えば、8ビット)や主要色のユークリッド距離(例えば、8ビット)が用いられる。
【0067】
フレーム100a−1とフレーム100b−1との間の類似/非類似の判定が行われた結果、両者が類似であるならば判定値1が識別器から出力され、両者が非類似であるならば判定値0が識別器から出力される。このように、人物画像100aのフレームと人物画像100bのフレームとの間において、合計25回の類似度の演算が行われる。例えば、25回の類似度の演算の結果、識別器から出力される全ての判定値が1の場合、人物画像100aと人物画像100bとの間の類似度は100%となる。一方、識別器から出力される全ての判定値が0の場合、人物画像100aと人物画像100bとの間の類似度は0%となる。このように、人物画像100aと人物画像100bとの間の類似度は、0%から100%までの4%刻みで表すことができる。
【0068】
このように、演算処理部22は、人物画像100aと人物画像100bとの間の類似度を演算することができる。上記手法と同様にして、演算処理部22は、各人物画像間における全ての組み合わせにおいて類似度の演算を行う。その後、演算処理部22は、複数の人物画像と、複数の人物画像間の類似度に係る類似度情報と、各人物画像の特徴量を人物画像データベースとして記憶部21に保存する。
【0069】
次に、ステップS15において、グラフ表示装置1は、通信ネットワーク4を介して画像処理サーバ2から複数の人物画像と類似度情報を取得する。具体的には、
図4に示す制御部12の取得部121が通信ネットワーク4及びネットワークインターフェース14を介して人物画像データベースから複数の人物画像と類似度情報を取得する。
【0070】
次に、ステップS16において、グラフ生成部122は、取得部121によって取得された複数の人物画像と類似度情報に基づいてグラフ230を生成する。そして、表示制御部123は、グラフ表示アルゴリズムに基づいてグラフ生成部122によって生成されたグラフ230を表示部15に表示する。
【0071】
表示部15に表示されたグラフ230について
図7を参照して説明する。
図7は、グラフ表示装置1の表示部15に表示される表示画面200の一例を示す。
図7に示すように、表示画面200は、グラフ230が表示されるグラフ表示領域210と複数の操作ボタンが表示される操作領域220とを有する。グラフ230は、各々がノードとなる複数の人物画像100と、複数の人物画像100を連結するエッジ5(ノード間を連結する枝)により構成される。ここで、グラフ230には、各人物画像100を構成する5つのフレームうち代表的な一のフレームが表示されている。例えば、人物画像100が一つのフレームにより構成されている場合には、当該一のフレームがグラフ230に表示される。尚、エッジ5は人物画像100をn次元空間上で連結しているが、操作者によって可視化されるためにエッジ5が2次元上で表示されている。勿論、グラフ230は3次元的に表示することも可能である。
【0072】
尚、以下の説明では、グラフ230に表示される複数の人物画像100の一部を明示して説明する場合に、適宜、人物画像100a,100b等と呼ぶとともに、グラフ230に表示される複数のエッジ5の一部を明示して説明する場合に、適宜、エッジ5a,5b等と呼ぶこととする。
【0073】
グラフ生成部122は、2つの人物画像100間の類似度が所定の閾値よりも大きい場合に、2つの人物画像100間を連結するエッジ5を生成するように構成されている。各人物画像100間の類似度は、取得部121によって取得された類似度情報中に含まれている。類似度の閾値については、操作領域220に表示されるスライダ221を操作することで変更可能である。
図7に示すように、人物画像100aと人物画像100bはエッジ5bによって連結されている。人物画像100aと人物画像100cはエッジ5cによって連結されている。さらに、人物画像100aと人物画像100jはエッジ5aによって連結されている。このように、エッジ5で連結された人物画像100間の類似度がスライダ221によって設定された所定の閾値よりも大きいときに、当該類似度が可視化される。一方、人物画像100bと人物画像100cの間はエッジにより連結されていないため、人物画像100bと人物画像100cとの間の類似度は所定の閾値以下である(即ち、類似関係にはない)ことが理解される。このように、エッジ5により人物画像間の類似度を可視化することができる。
【0074】
また、スライダ221によって所定の閾値が低い値に設定されている場合には、グラフ230に表示されるエッジ5の本数は多くなる。一方、スライダ221によって所定の閾値が高い値に設定されている場合には、グラフ230に表示されるエッジ5の本数は少なくなる。
【0075】
操作領域220には、上記したスライダ221と、ポインタ等で指定された人物画像100を構成する全てのフレームが表示されるフレーム表示領域222と、エッジ5を削除するためのエッジ削除ボタン223と、表示アルゴリズムを選択するためのドロップダウンリスト224と、人物画像のラベル名を入力可能又は選択可能なドロップダウンリスト225と、所定の人物画像100とエッジ5で連結された全ての人物画像100を選択可能な選択ボタン226と、所定の人物画像100と対応する人物画像100とを連結するエッジ5を生成するためのエッジ生成ボタン227と、所定の人物画像100に対して所定の閾値を超える類似度を有する全ての人物画像100を選択する選択ボタン228と、操作者によって変更されたグラフ230を保存する保存ボタン229とがそれぞれ表示される。
【0076】
次に、
図5に戻ると、ステップS17において、グラフ変更部124は、操作者からの入力操作に従って、グラフ生成部122によって生成されたグラフ230の表示形態を変更することで、複数の人物画像間の対応付けを変更する。具体的には、グラフ変更部124は、操作入力部16によって出力された操作信号に従って、グラフ230の表示形態を変更するための指示信号を出力する。グラフ生成部122は、当該指示信号に従って、表示形態が変更されたグラフ230を生成する。表示制御部123は、表示形態が変更されたグラフを表示部15に表示させる。
【0077】
上記グラフの表示形態の変更は、エッジ5の削除・生成、グラフ表示アルゴリズムの変更がある。以下では、エッジ5の削除(類似関係の強制的な削除)について
図8,9を参照して説明する。
【0078】
エッジ5が削除される場合、グラフ変更部124は、所定のエッジ5に対する操作者からの入力操作に従って当該所定のエッジ5を削除する。例えば、
図8に示すように、
操作者がエッジ削除ボタン223を選択した状態で、人物画像100cと人物画像100dを連結するエッジ5をクリック又はダブルクリックすると、グラフ変更部124により当該エッジ5が削除される。同様に、人物画像100cと各人物画像100e〜100iを連結する複数のエッジ5をクリック又はダブルクリックすることで削除することができる。なお、エッジ5を直接指定するのみならず、二つの人物画像100を指定することで、削除すべきエッジ5を間接的に指定してもよいし、操作入力部16としてタッチパネルを備えるときは、操作者のタッチ動作に応じてエッジ5を削除するようにしてもよい。
そして、人物画像100間のエッジ5が削除されたという情報は、「エッジ削除情報」として記憶部125に格納される。
【0079】
また、
図8,9に示すように、操作者の入力操作(クリック操作)により、人物画像100bと各人物画像100n,100pとの間のエッジ5が削除されると共に、人物画像100mと各人物画像100n,100pとの間のエッジ5が削除される。このように、入力操作によりエッジ5が削除された結果、同一人物を写す人物画像100a,100b,100c,100j,100k,100mからなる画像クラスター300Aが形成される。以下の説明では、各画像クラスターを画像クラスター300と適宜総称する。
【0080】
一方、人物画像100d〜100iは、人物画像100cとは異なる人物に属する人物画像である。さらに、人物画像100n,100pは、人物画像100b,100mとは異なる人物に属する人物画像である。このように、操作者による入力操作前では、互いに異なる人物に属する人物画像100間がエッジ5により連結されており、人物画像100間の対応付けに誤り(以下、誤対応という。)が存在する。本実施形態によれば、ポインタでエッジ5を直接指定することで、当該エッジ5を簡単に削除することができる。さらに、このような比較的簡単な入力操作によって複数の人物画像100間の対応付けを変更することで、人物画像100間の誤対応を修正できる。この結果、同一人物に属する人物画像100のみからなる画像クラスター300を可視化することができる。
【0081】
次に、
図9,10を参照してグラフ表示アルゴリズムの変更について説明する。
最初に、グラフ変更部124は、操作者によって選択されたグラフ表示アルゴリズムに応じて、表示部15に表示されたグラフ230の表示形態を変更するように構成されている。具体的には、操作者がドロップダウンリスト224からグラフ表示アルゴリズムを選択すると、操作入力部16から選択されたグラフ表示アルゴリズムに対応する操作信号が出力される。グラフ変更部124は、操作入力部16から出力された操作信号に従って、グラフ230の表示形態を変更するための指示信号を出力する。グラフ生成部122は、当該指示信号に従って、グラフ230を生成する。表示制御部123は、当該生成されたグラフ230をグラフ表示領域210に表示させる。
【0082】
図9では、FRアルゴリズム(正式には、Fruchterman-Reingold force-directed algorithm)に基づいて生成されたグラフ230がグラフ表示領域210に表示される。
FRアルゴリズムは力学モデルに基づくグラフ表示(描画)アルゴリズムの一つであり、ノード(人物画像)間に張られたエッジ5をばねと仮定するとともに、ノード間に作用する引力と斥力に基づきノードの配置を決定する。FRアルゴリズムを用いることで、2つの人物画像100間の類似度に応じて、当該2つの人物画像100間を連結するエッジ5の長さが変化する。つまり、2つの人物画像100間の類似度が高ければ、これらを連結するエッジ5の長さが短くなると共に、2つの人物画像100間の類似度が低ければ、これらを連結するエッジ5の長さが長くなる。例えば、
図9に示すように、人物画像100mと人物画像100bを連結するエッジ5の長さは、人物画像100aと人物画像100cを連結するエッジ5の長さよりも小さいため、人物画像100mと人物画像100bとの間の類似度は、人物画像100aと人物画像100cとの間の類似度よりも大きいことが把握される。このように、FRアルゴリズムは、エッジ5の長さにより人物画像間の類似度を把握できるといった点で有用である。
なお、以降の説明において、FRアルゴリズムのように、類似する人物画像100を互いに近傍に配置するとともに、類似度に応じて人物画像100間のエッジの長さを調整するアルゴリズムを、「類似度優先アルゴリズム」と称することがある。
【0083】
一方、
図10〜
図13では、SPRINGアルゴリズムに基づいて生成されたグラフ230がグラフ表示領域210に表示される。SPRINGアルリズムも力学モデルに基づくグラフ表示(描画)アルゴリズムの一つであり、ノード(人物画像)間に張られたエッジをばねと仮定してノードの配置を決定する。SPRINGアルリズムを用いることで、2つの人物画像100間の類似度を参照して、類似する人物画像100が互いに近傍に配置されるとともに、当該2つの人物画像100間を連結するエッジ5の長さが一定の値(自然長)に設定される。
図10に示すように、画像クラスター300Aを構成する各人物画像100間のエッジ5の長さは均等となっている(尚、
図10に示す画像クラスター300では、エッジ5が人物画像100によって隠されている)。このように、SPRINGアルゴリズムは、画像クラスター300を構成する各人物画像100が一箇所に集合するので、画像クラスターをより直感的に認識しやすい点で有用である。
なお、以降の説明において、SPRINGアルゴリズムのように、類似する人物画像100を互いに近傍に配置するとともに、類似度に関わらずエッジの長さを均等にするアルゴリズムを、「集合度優先アルゴリズム」と称することがある。
【0084】
本実施形態によれば、グラフ表示アルゴリズムに応じて、表示部15に表示されたグラフ230の表示形態を適宜変更することができる。このように、操作者は人物画像100間の誤対応を発見しやすくなる。
【0085】
また、操作者は、類似度優先アルゴリズム(ここでは、FRアルゴリズム)によるグラフレイアウトと集合度優先アルゴリズム(ここでは、SPRINGアルゴリズム)によるグラフレイアウトを適宜切り替えることで、人物画像100間の誤対応を発見しやすくなる。さらに、操作者が複数の人物画像100間の対応付けを適宜変更した後に、FRアルゴリズムからSPRINGアルゴリズムに切り替えることで、複数のエッジ5によって連結された複数の人物画像100からなる画像クラスター300を表示部15に効果的に表示させることが可能となり、各人物画像100間の対応付けが明確に可視化される。
【0086】
類似度優先アルゴリズムとしては、上記したFRアルゴリズムの他に、KK(Kamada-Kawai)アルゴリズムやISOM(Inverted self-organizing maps)アルゴリズムが挙げられる。KKアルゴリズムはノード(人物画像)間のパス長をグラフ的理想距離として取り扱う点に特徴があり、またISOMアルゴリズムはノード数(即ち、人物画像の数)が増大した際に計算量を抑制できる点に特徴がある。もちろん、本実施形態において、類似度優先アルゴリズムとしてKKアルゴリズムやISOMアルゴリズムを用いても構わないし、これらのアルゴリズムとFRアルゴリズムとを切り替え可能に構成しても構わない。
【0087】
次に、
図11〜13を参照してエッジ5の生成(類似関係の強制的な生成)について説明する。エッジ5が生成される場合、グラフ変更部124は、所定の人物画像100に対する操作者からの入力操作に従って、当該所定の人物画像100と対応する人物画像100とを連結するエッジ5を生成するように構成される。例えば、
図11に示すように、画像クラスター300Cを構成する人物画像100と画像クラスター300D(ここでは、画像クラスター300Dに含まれる人物画像は1つである)を構成する人物画像100が同一人物の画像を対象としている場合、これらの画像クラスターをエッジ5によって連結する必要がある。これについて以下に説明する。
【0088】
最初に、操作者がエッジ生成ボタン227を選択した状態で、画像クラスター300Dの人物画像100と画像クラスター300Cの人物画像100をポインタにより指定することで、グラフ変更部124により画像クラスター300Dの人物画像100と画像クラスター300Cの各人物画像100とを連結するエッジ5が生成される。この状態では、
図12に示すドロップダウンリスト224ではSPRINGアルゴリズムが選択されているため、新たに生成されたエッジ5の長さが自然長(一定の長さ)となるように徐々に縮んでいく。もちろん、画像クラスター300D及び画像クラスター300Cの人物画像100を指定した後、直ちに1つの画像クラスター300を表示しても構わないが、ここで、エッジ5が徐々に縮んでいく様子がアニメーションとして可視化されることで、操作者による操作とその効果とが明瞭に表現され、しかも画像クラスター300を構成する人物画像100を見失うこともない。この結果、
図13に示すように、画像クラスター300Cと画像クラスター300Dとから構成される画像クラスター300Eがグラフ表示領域210に表示される(
図13参照)。
そして、人物画像100間にエッジ5が付加されたという情報は、「エッジ付加情報」として記憶部125に格納される。
【0089】
本実施形態によれば、ポインタで人物画像100を直接指定することで、同一人物に属する2つの人物画像100を連結するエッジ5を簡単に生成することができる。このような比較的簡単な入力操作によって複数の人物画像100間の対応付けを変更することで、人物画像100間の誤対応を修正することができる。
【0090】
次に、
図11を参照して人物画像100へのラベル付与について説明する。
最初に、グラフ変更部124は、複数のエッジ5によって連結された複数の人物画像100からなる画像クラスター300に対する操作者からの入力操作に従って、当該画像クラスター300に属する各人物画像100に同一のラベル(ラベル名)を付与するように構成されている。具体的には、操作者が画像クラスター300Bを構成する人物画像100の全てを選択した上で、ドロップダウンリスト225にラベル名(uchiyama)を入力すると、操作入力部16から入力されたラベル名に対応する操作信号が出力される。グラフ変更部124は、操作入力部16から出力された操作信号に従って、指示信号を出力する。グラフ生成部122は、当該指示信号に従って、ラベルが付与されたグラフ230を生成する。表示制御部123は、当該生成されたグラフ230をグラフ表示領域210に表示させる。このように、
図11に示すように、画像クラスター300Bを構成する各人物画像100にラベル(uchiyama)が付与される。このように、クラスターを構成する各人物画像100にラベルを付与することで、各人物画像100間の対応付けを明確に可視化することができる。
【0091】
また、各画像クラスター300にラベルが付与されると、記録部125は、同一のラベルが付与された人物画像100を同一人物であるとして記録するように構成されている。例えば、ラベルAが付与された人物画像100がA人物の画像として記録され、ラベルBが付与された人物画像100がB人物の画像として記録される。このように、人物画像にラベルを付与することで、人物画像100間の対応付けを記録することが可能となる。
【0092】
図5に戻ると、ステップS18では、演算処理部22は、機械学習を実行する。具体的には、記録部125によって記録されたエッジ削除情報、エッジ付加情報、ラベル情報は、通信ネットワーク4を介して画像処理サーバ2の演算処理部22に送信される。演算処理部22は、送信されたエッジ削除情報、エッジ付加情報、ラベル情報及び記憶部21に記憶された人物画像データベースの内容(即ち、人物画像及び各フレームの特徴量)に基づいて、機械学習を実行する。このように、修正された類似関係(すなわち、誤判定を除去した類似関係)を用いて機械学習を実行することで、識別器における類似/非類似の判定精度(すなわち、多次元空間におけるクラスタリング精度)が向上する。また、送信されたラベル情報は、人物画像データベースに追加されて記憶部21に保存される。
【0093】
本実施形態によれば、2つの人物画像100間の類似度が所定の閾値よりも大きい場合に、当該2つの人物画像100間を連結するエッジ5が生成されるので、人物画像100間の類似度をエッジ5により可視化することが可能となる。さらに、操作者からの入力操作に従って、表示部15に表示されたグラフ230の表示形態が変更されることで、複数の人物画像100間の対応付けの変更を可視化することが可能となる。従って、人物画像100間の誤対応を目視による手作業により直感的かつ効率的に修正することができるグラフ表示装置1を提供することができる。
【0094】
さらに、操作者によって修正された人物画像100間の対応付けデータ(エッジ削除情報、エッジ付加情報、ラベル情報)は、人物画像データベースに追加保存され機械学習に供せられる。このように、画像取得から機械学習までに要する時間を短縮できるとともに、誤った情報に基づく学習を排除し、より高精度な同一人物か否かの判定が可能となる。
【0095】
次に、
図14を参照して、カメラ画像の取得から新たに取得された人物画像に対するラベルの決定までの一連のプロセスについて説明する。本プロセスでは、グラフ表示装置1から出力されたエッジ削除情報、エッジ付加情報、ラベル情報及び人物画像100を用いて演算処理部22が機械学習を実行した結果、演算処理部22の機械学習の精度が向上していることを前提としている。さらに、ラベル情報が人物画像データベースに格納されていることを前提としている。
【0096】
ステップS20では、
図3に示すように、各カメラ3a〜3cによって複数のカメラ画像が取得される。各カメラ3a〜3bによって取得されたカメラ画像は、通信ネットワーク4を介して画像処理サーバ2の演算処理部22に送信される。
【0097】
ステップS21では、演算処理部22は、複数のカメラ画像から人物を検出する。
ステップS22では、演算処理部22は、人物画像を取得する。
ステップS23では、演算処理部22は、各人物画像の特徴量を抽出する。
尚、ステップS21〜S23の工程は、既に説明したとおりである。
【0098】
ステップS24では、演算処理部22は、ステップS22で新たに取得された人物画像(以下、「新しい人物画像」と呼ぶ。)と人物画像データベースに格納された人物画像との間の類似度を演算する。特に、演算処理部22は、人物画像データベースに格納された人物画像を順次取り出して、新しい人物画像と人物画像データベースに格納された各人物画像との間の類似度を演算する。
【0099】
ステップS25では、演算処理部22は、新しい人物画像との類似度が最も高い人物画像を選択し、当該選択された人物画像に付与されたラベルを出力する。ここで、新しい人物画像との類似度が最も高い人物画像が複数存在する場合がありえる。例えば、人物画像Aと人物画像Bの類似度が共に、96%の場合等が考えられる。この場合、当該人物画像A(又はB)と同一のラベルが付与された他の人物画像と新しい人物画像との間の類似度の平均値が演算され、当該演算された平均値に基づいて出力されるラベルが決定されてもよい。
【0100】
このように、演算処理部22によって新しい人物画像に対するラベルが決定される。本実施形態によれば、人物画像データベースに格納された各人物画像にラベルを付与することで(換言すれば、人物画像間の対応付けを決定することで)、それぞれ撮像範囲がオーバラップしない複数のカメラ間における人物追跡が可能となる。
【0101】
なお、本発明を応用した人物追跡では、人物画像データベースに人物画像が記憶されていない者を追跡することも可能である。人物画像データベースに、例えば1000人分の人物画像(ここでは、1000個の画像クラスターを意味する)が記憶されているとすると、演算処理部22は、人物画像データベースに格納されていない新しい人物画像に対しても1000個の画像クラスターの中から最も類似する画像クラスターを特定して、当該画像クラスターに付与されたラベルを出力する。従って、この特定のラベルが別のカメラでも検出されることで、人物追跡が行えることとなる。
【0102】
また、本実施形態に係るグラフ表示装置1をソフトウェアによって実現するためには、グラフ表示プログラムが記憶部13又はROMに予め組み込まれていてもよい。または、グラフ表示プログラムは、磁気ディスク(HDD、フロッピーディスク等)、光ディスク(CD−ROM,DVD−ROM、Blu−rayディスク等)、光磁気ディスク(MO等)、フラッシュメモリ(SDカード、USBメモリ、SSD等)等のコンピュータ読取可能な記憶媒体に格納されていてもよい。この場合、記憶媒体がグラフ表示装置1に接続されることで、当該記憶媒体に格納されたグラフ表示プログラムが、記憶部13に組み込まれる。そして、記憶部13に組み込まれた当該プログラムがRAMにロードされて、プロセッサがロードされた当該プログラムを実行することで、制御部12は
図4に示す各種処理を実行する。換言すれば、当該プログラムがプロセッサにより実行されることで、制御部12は、取得部121、グラフ生成部122、表示制御部123、グラフ変更部124、記録部125として機能する。
【0103】
また、グラフ表示プログラムは、通信ネットワーク4上のコンピュータからネットワークインターフェース14を介してダウンロードされてもよい。この場合も同様に、ダウンロードされた当該プログラムが記憶部13に組み込まれる。
【0104】
以上、本発明の実施形態について説明をしたが、本発明の技術的範囲が本実施形態の説明によって限定的に解釈されるべきではないのは言うまでもない。本実施形態は一例であって、特許請求の範囲に記載された発明の範囲内において、様々な実施形態の変更が可能であることが当業者によって理解されるところである。本発明の技術的範囲は特許請求の範囲に記載された発明の範囲及びその均等の範囲に基づいて定められるべきである。