<実施形態1>
以下、図面を参照して本発明の実施形態を詳細に説明する。はじめに、本実施形態の概念について図1を用いて説明する。情報処理システム1は、ある環境に設置された複数のカメラにおいて共通の映像解析(例えば、人物識別やブラックリスト検知等)を行う。撮像システム2は、監視対象のエリアに設置された複数の監視カメラから構成される。
ここでは例として、4つのエリアに監視カメラを設置した例を説明する。それぞれのカメラは、野外(10A)、屋内の高い位置(10B)、屋内の低い位置(10C)、屋上(10D)の4か所に設置される。それぞれのカメラは、設置された位置姿勢、環境条件、カメラの内部パラメータが同じとは限らない。特定人物の画像と照合して、その人物と同じ人を探し出す際は、それぞれのカメラで撮影された映像を、それぞれのカメラに対応した識別条件(閾値)を設定することになる。ここで、識別条件とは、画像から検出された人物の画像特徴同士の類似度についての閾値である。類似度とは、人物に固有の特徴を有する特定の部位(例えば顔)を含む画像を識別器に入力し、出力された特徴同士を比較することによって取得する。監視システム3では、1台以上の監視カメラから取得された映像を解析することによって、タスクを達成する。
撮像装置10Aは、例えば監視カメラで、周辺環境を撮像する。撮像装置10A~Dまたは情報処理装置100は、複数のカメラから取得した映像を用いて、映像に含まれる人物を識別する各監視カメラの閾値を決定する。表示装置107は、監視中のカメラの映像や、情報処理装置100や各監視カメラによって撮影された映像や映像を用いた解析結果を表示する。これによって、ユーザ(監視者)はカメラの映像や、識別処理における判定結果を容易に視認できる。
以下の実施形態では、各監視カメラに識別器を備え、他のカメラの映像の解析結果を用いて各撮像装置に設定すべき閾値を決定する例を述べる。なお、情報処理装置100が各撮像装置に対応する閾値を決定するような実施形態も可能である。その場合は、以下に示す撮像装置の機能構成を情報処理装置100に置き換えればよい。
実施形態1では、他のカメラに映った人物の特徴の照合結果を使って、所定のカメラに対応する閾値を決定する。人物が映った画像から得られる異なる2つの特徴(ここでは顔と人体)を抽出し、他のカメラから得られる映像と各特徴を照合する。このとき、照合に用いる特徴は各監視カメラで共通して抽出されやすい特徴で照合すると良い。つまり、複数のカメラによってとらえられた人物の特徴をマッチングする。例えば、人物の服の色から得られる輝度(特徴)は、他の特徴に比べてカメラの設置場所の影響を受けにくいと考えられるため、複数のカメラによって撮像された画像間で同一人物を特定することができる。
以下、説明では便宜上、閾値を決定したいカメラを注目撮像装置と呼ぶ。本実施形態では、注目撮像装置で撮像された画像と、他のカメラで撮像された画像に類似する特徴を特定し、同一人物の特徴同士を比較した第1類似度と、他人の特徴同士を比較した第2類似度に基づいて人物の識別に必要な識別条件を決定する方法を説明する。
先述した通り、複数の環境に設置されたカメラによって撮像された映像から、同一の人物を検出するためには、識別基準をカメラ(環境)毎に用意する必要がある。その為には、多様な人物の特徴を識別器に十分に学習させるデータが必要である。しかしながら、監視対象となる現場において、人物についての特に正解データを収集することは現実的ではない。
また、学習に用いた画像が、監視対象である現場で得られる画像と類似しているとは限らないという問題もある。特に学習に用いた画像が、デジタルカメラやスマートフォンでのスナップショットからの画像である場合は、上記問題はより顕著となる。なぜなら、学習に用いた画像は正面から顔を撮影した画像であることが多い。それ対し、監視カメラの場合は、屋内の天井など高い位置に取り付けられるため、監視カメラの画像は上から見下ろした顔画像が得られる。正面からの顔画像と上からの顔画像は、正面顔と正面顔同士の比較に対して、本人同士であっても類似度が下がる場合がほとんどであり、同じ閾値を用いて本人と識別することは、困難である。
つまり、複数の環境に設置されたカメラから共通する人物を検出するためには以下のような困難がある。すなわち、例えば複数の監視カメラを現地に設置した状態で、得られた映像から人物の顔画像を抽出し、人物と同一であるかを示すラベルを付与することは、手間がかかる。特に数十台を超えるカメラに映った人物に対してラベルを付けることは、相当な労力を要する。その上に、そのラベルを付けた映像に対して、解析結果から人物を識別するための適切な識別条件を各撮像装置で決定することは、手間がかかる。これは、適切な識別条件を決定するのに必要なデータを十分に収集することが困難であるためである。
本実施形態では、これらの問題を、複数の環境で撮影された画像から人物を検出した複数の検出結果を組み合わせることによって、人物を識別する識別条件を撮像装置毎に決定することで対処する。なお、本実施形態では、識別器の識別条件を決定する決定フェーズと、識別条件を決定済みの識別器を用いた識別フェーズに分けて説明する。まず、決定フェーズについて説明する。なお、以下の説明では、複数の撮像装置のうち1つの撮像装置で行う処理を説明する。同様の処理を他の撮像装置で実行することによって、すべての撮像装置に対応する閾値を決定できる。また、情報処理装置100で一括して処理を実行してもよい。現地の映像でこのようなヒストグラムを得るには、従来は人手で正解を
付けて、測定する必要があったが、本発明により、自動的に正解とみなせるデータを得ることにより、人手を省いて、識別条件を得ることが可能になった。
なお、説明上、監視カメラが複数あるシステムで説明しているが、本発明は監視カメラに限定されるものではない。Webカメラや、デジタルカメラなど、用途が異なる複数のカメラから構成されるカメラシステムにおいても、本実施形態を適応可能であることは言うまでもない。また、カメラはすべて同一機種である必要はない。すなわち、異なるカメラを複数の環境で用いてもよい。以下、詳細に説明する。
図2は、情報処理装置10Aの機能構成例を示したブロック図である。本情報処理装置10Aは、具体的には撮像装置である。情報処理装置10Aは、撮像部200、画像取得部201、検出部202、識別部203、決定部204、記録部205、出力部206を含む。これらは、バスによって接続され、必要なデータ、命令等の情報が伝達される。なお、出力部206は装置の外部に備わっていても良い。また、撮像部200についても外部の装置に備わっていてもよい。ここでは、撮像装置10Aについて説明するが、撮像装置10B、10C、10Dも同様の構成を有する情報処理装置であるとする。
撮像装置10A、10B、10C、10Dは、監視対象の環境のうちそれぞれ異なる環境に設置されたカメラである。個々の監視カメラは、結像光学系、ズーム機構を備えた光学レンズで構成される。また、パン・チルト軸方向の駆動機構を備えてもよい。
撮像部200は、センサによって外界を計測する。ここでは、情報処理装置10Aは監視カメラであるため、画像センサによって画像(映像)を撮像する。画像(映像)センサの具体例としては、典型的にはCCDまたはCMOSイメージセンサが用いられ、不図示のセンサ駆動回路からの読み出し制御信号により所定の映像信号が画像データとして出力される。例えば、サブサンプリング、ブロック読み出しして得られる信号が画像データとして出力される。それぞれのカメラの設置場所と撮影する画像の例は後述する。
画像取得部201は、複数の監視カメラが撮影した映像(時系列画像)を取得する。なお、後述するフローチャートではフレーム毎に処理を行う。
検出部202は、画像取得部201から取得した時系列画像または後述する記録部205から取得した時系列画像データに対して、人物の検出を行う。ここで人物とは典型的には人物の顔や人体のことである。画像中の顔の位置や、人体の位置について検出を行う。車や動物など人以外の物体についても検出してもよい。
これらは、公知の技術、例えばDeep Learning(以下、DLと表記する)の技術を用いることで容易に実現することが出来る。顔検出のDLは、画像中から顔を探すように訓練したニューラルネットワークである。具体的には、画像を入力すると何らかの値が出るようなニューラルネットで、顔画像の時は高い値で、そうでない画像(非顔画像)では低い値になるように訓練する。訓練データに顔画像についてより詳細な情報を含むことで、例えば顔の向きや、年齢・性別などその属性情報を検出するようにしてもよい。これもDLによって実現することが出来る。
識別部203は、識別フェーズにおいて、検出部202で検出した人物の顔画像を識別器に入力した出力結果(顔特徴)を出力する。すなわち、個体の違い、例えば、人物であれば、AさんはBさんなど、個体としての違いを判別する処理を行う。識別部203の詳細については、後述する。
決定部204は、特定の人物を識別するための識別条件である閾値を決定する。つまり、決定フェーズにおいて、各カメラによって撮像された画像から検出された人物のうち共通する人物の情報に基づいて、各カメラに設定された閾値を決定する。本人を示す特徴が本人ではないと誤る確率(本人拒否率)と、他人を示す特徴が本人であると誤る確率(他人受入率)とに基づいて、誤りが少なくなるように閾値を決定する。決定部204の処理については、後で詳しく説明する。
記録部205は、画像取得部201によって撮像された映像を受け取り、圧縮などの記録のための処理と、映像解析の処理を行って、不揮発性の内部メモリやHDDやSDなどのメディア等の、記録装置に記録を行う。
出力部206は、閾値に基づいて、対象画像を識別器に入力した出力結果と予め登録された登録人物の画像の特徴とを比較した類似度が閾値を満たす場合は対象画像が示す人物は登録人物であること、を示す判定結果を出力する。また、類似度が閾値を満たさない場合は対象画像が示す人物は登録人物ではないこと、を示す判定結果を出力する。また、記録部205によって処理された映像および付随する情報を、モニタ等に出力する。なお、外部、典型的にはネットワークを介して、PCサーバ等に接続し、映像と解析情報を転送するようにしてもよい。または、出力部206は表示部であって、撮影中の映像や、識別結果を表示してもよい。
ここで、情報処理装置10Aのハードウェア構成例について図3を用いて説明する。中央処理ユニット(CPU)301は、RAM303をワークメモリとして、ROM302や記憶装置304に格納されたOSやその他プログラムを読みだして実行し、システムバス309に接続された各構成を制御して、各種処理の演算や論理判断などを行う。CPU301が実行する処理には、実施形態の情報処理が含まれる。記憶装置304は、ハードディスクドライブや外部記憶装置などであり、実施形態の画像認識処理にかかるプログラムや各種データを記憶する。入力部305は、カメラなどの撮像装置、ユーザ指示を入力するためのボタン、キーボード、タッチパネルなどの入力デバイスである。なお、記憶装置304は例えばSATAなどのインタフェイスを介して、入力部305は例えばUSBなどのシリアルバスを介して、それぞれシステムバス309に接続されるが、それらの詳細は省略する。通信I/F306は無線通信で外部の機器と通信を行う。表示部307はディスプレイである。なお、表示部は情報処理装置の内部に有していても、外部に接続されていてもよい。センサ308は画像センサである。
識別部203は、人体画像抽出部501、部分画像抽出部502、人体画像照合部503、部分画像照合部504、識別部505を含む。図で示したもの以外に、人物の色特徴を抽出するものや、輪郭特徴を抽出するもの、動きの特徴を抽出するものなど、複数の特徴抽出と、それに対応する画像照合部があってよい。
人体画像抽出部501、検出部202が検出した人物の位置と大きさに関する情報をもとに、人体を示す人体画像を抽出する。また、部分画像抽出部502は、検出部202が検出した人物の位置と大きさに関する情報をもとに、顔を示す顔画像を抽出する。これらの部分画像から、個体を識別するための特徴を取得する。この処理には、公知の技術を用いればよい。例えば、LBP(Local Binary Pattern)特徴などを用いることができる。HOG(Histogram of Oriented Gradient)特徴やSIFT(Scale-Invariant Feature Transform)特徴、これらを混合した特徴を用いてもよい。抽出した特徴をPCA(Principal Component Analysis)等の手法を用いて次元圧縮してもよい。また、これについても前述のようにDL技術を適用することが可能である。
人体特徴と部分特徴を、抽出する領域が異なるだけになるようにしてもよいが、人物の識別の場合、全体と部分とで取得される特徴が示す情報の種類を異なるようにすることが多い。具体的には、顔は位置関係の情報、人体は色情報で特徴を取得する。人体で個体を識別する場合、服装など、色を含んだ情報が有用とされており、そのような特徴を用いる場合が多い。DL技術を適用する場合でも、明示的に輪郭のみを抽出するように設計した場合を除いて、暗黙的に色の情報が含まれていることが多いとされる。これは、被写体が画像上で小さいサイズである場合や、後ろを向いている場合などでも有用な情報は服装のテククスチャ、すなわち色成分を含んだ情報が有用と考えられるからである。これに対して、部分的な特徴、人物の場合の顔特徴は、色情報では不十分なだけでなく、色情報だけだと、誤認証する場合もあり得るので、あまり積極的に色情報は用いられない。顔領域のエッジ量や、輝度の勾配方向などを用いることが多い。近年はDL技術の発展が目覚ましく、顔の識別においても、有用な特徴として、DL特徴が用いられている。人体と顔とで同じDL技術を用いた場合でも、学習データはそれぞれ別であり、ネットワーク構造も個別に設計することが多いので、特徴としては全く別物である。なお、人体特徴は人物が着用しているゼッケン番号や、個人毎に付与された視認できるバーコードによって個人を画像で識別できるような特徴でも良い。
人体画像照合部503は、類似する人体画像の集合を取得するため、抽出された人体画像をそれぞれ照合する。また、部分画像照合部504は、類似する顔画像の集合を取得するため、抽出された顔画像をそれぞれ照合する。それぞれ人体画像または部分画像同士の照合処理を行う。典型的には、特徴を数値列(特徴ベクトル)として扱い、2つの特徴ベクトルの距離を計測することによって識別する。特徴ベクトルを、機械学習の技術、例えばサポートベクターマシンに投入することにより、同一か否か識別させることも可能である。距離ではなく、内積を取得して、2つの特徴がどれほど類似しているかを数値(以下類似度と呼ぶ)としてあらわすこともできる。簡単には、距離の逆数をとれば、同じく類似度に変換することもできる。DL特徴を用いる場合では、学習時に用いた類似度取得方法と同じにするのが良い。
以下、同一人物の照合の方法について図8を用いて説明する。図8の画像Aはカメラ10A、画像Bはカメラ10B、画像Cはカメラ10C、画像Dはカメラ10Dによって撮影された異なる時刻における画像であるとする。第1の人物は、人体10000と顔10001で示される人物であるとする。この第1の人物は、画像Bにおける人体10002、顔10003、画像Cにおける人体10004、顔10005、画像Dにおける人体10006、顔10007にそれぞれ対応する。識別部505が行う具体的な処理の一例としては、画像Aにおける第1の人物の顔画像10001(または顔画像の特徴)を、他の画像B,C,Dにおいて人物照合用の特徴量を抽出して、照合を行う。その結果、理想的には、顔画像10003、10005、10007が得られる。これらの顔画像は同一人物であると見なせる。なお、広域を監視するカメラにおいては、顔画像よりも人体画像の方がマッチングしやすい場合がある。特に、珍しい服装を着用している人物等は人体画像のマッチングが精度よい。例えば、各画像から所定の人物を抽出するために、画像Aの人体画像10000(の特徴)をテンプレートとする。このテンプレートを、画像B,C,Dにおいてスライディングウィンドウとして走査する。結果、人体画像10002、10004、10006を得る。抽出された部分画像は所定の人物であると見なせる。なお、所定の人物は少なくとも2つ以上のカメラで撮影された画像において検出された任意の人物である。
識別部505は、人体画像照合部503による照合結果をもとに類似した人体画像群に対応する顔画像群を、識別器に入力し、第1の出力結果を取得する。ここでは、人体画像は各監視カメラに共通して取得しやすいという前提として、複数の画像から類似した人体画像群を抽出し、さらにその人体画像群からそれぞれ対応した顔画像群を取得する。
つまり、典型的には以下のように行う。すなわち、あるカメラ(注目撮像装置:識別器を決定する対象)の画像に映った所定の人物の人体を示す人体画像と、他の監視カメラの画像から検出された人物の人体画像とを照合する。その結果、最も高い類似度を示した(画像)特徴が、さらに所定の条件に当てはまっていれば、注目撮像装置の画像に映った所定の人物と、照合された特徴は同一人物であると識別する。最も高い類似度が閾値を下回った場合、検出された所定の人物に該当する画像がないと識別する。以上が1つの識別器についての識別で、人物の場合は、例えば顔だけで識別することに該当する。同じことを人体特徴についても行い、2つの結果を統合して、最終的な識別を行う。
統合の方法は、簡単には多数決で行う。複数の識別器の結果が相反する場合、以下のようにするとよい。すなわち、事前に識別器に信頼度を設定しておき、もっとも信頼度の高い識別器の結果を採用する。信頼度は、例えば、事前に決めた画像セット(正解情報がある)で、各識別器の正解率を求めて、その正解率を信頼度として設定する。また、以下のようにしてもよい。個々の識別器の類似度に信頼度をかけて、全識別器の結果を足すことで、統合された類似度が取得され、その値をもって閾値と比較して、該当する画像を識別すればよい。以上が、識別部203の処理の内容である。個々の識別器(以下、顔識別器と人体識別器と呼ぶ)について特徴取得した後、それらの出力結果を統合して人物の識別を行う。人物の識別の場合、まず顔による識別を行い、次に人体の識別を行って、2つの出力結果を統合する。ほかにも識別器がある場合は、順次識別を行い、最後に統合を行って、出力結果とする。
次に、決定部204について説明する。決定部204は、画像情報取得部601、対応付け部602、誤り率取得部603、決定部604を含む。画像情報取得部601は、記録部205と検出部202から、撮像装置毎に撮像された映像(時系列画像)と、その映像(時系列画像)から検出された各人物の位置情報とを含む画像情報を取得する。
対応付け部602は、画像情報取得部601から取得した画像情報に基づいて、複数の撮像装置において検出された人物を対応付ける。対応付け部602で行われる処理については、後で詳しく説明する。誤り率取得部603は、対応付け部602の対応付け結果に基づいて、識別部203のある識別器に関して誤り率を取得する。ここで、誤り率とは、他人受入率(False-Positive;誤検知)と本人拒否率(False-Negative;検知漏れ)とを含む。例えば人物Aを特定したい場合に、本人拒否率は、検出された人物Aが同一人物でないと識別した結果が誤りである確率(割合)である。他人受入率は、検出された人物Bが同一人物であると識別した結果が誤りである確率(割合)である。
誤り率取得部603の処理の内容については後述する。決定部604は、誤り率取得部603で取得された誤り率に基づいて、撮像装置毎の閾値を決定する。閾値決定部604の処理の内容についても、後で詳しく説明する。なお、閾値は、初期設定として予め決定された閾値をセットしておく。これによって、元の認識精度を確かめることができる。
図4は、情報処理装置が実行する処理を説明するフローチャートである。図4を用いて本実施形態の処理の概要を説明する。以下の説明では、各工程(ステップ)について先頭にSを付けて表記することで、工程(ステップ)の表記を省略する。ただし、図4のフローチャートに示した処理は、コンピュータである図3のCPU101により記憶装置104に格納されているコンピュータプログラムに従って実行される。情報処理装置100は必ずしもこのフローチャートで説明するすべてのステップを行わなくても良い。なお、ここではS403における識別条件の更新は行わないものとする(第2の実施形態で説明する。)
S400では、決定部204が識別器の閾値を決定するか否かを判断する。本実施形態においては、時間に応じて判断する。例えば、監視カメラが一定時間(例えば、24時間)稼働したら閾値を決め直すようにする。また、例えば初回に本情報処理装置を起動する際も、識別条件を新たに決定するようにしてもよい。S400でYesと判断した場合、S402に進む。S400でNoと判断した場合、S404に進む。
S401とS402は閾値決定フェーズである。S401では、決定部204が、各カメラの映像について検出された人物の対応付けを行う。詳しい処理は図5を用いて後述する。S402では、決定部204が、監視カメラ毎に設定された識別器の閾値を決定する。詳しい説明は後述する。
S404は、監視フェーズである。S404では、識別部203が、識別器と閾値とを用いて撮像された画像にターゲット人物が含まれていないか識別する。つまり、ターゲット人物を映像から検出する。S404では、識別部203が監視を続行するか否かを判断する。本実施形態では、ユーザ指示によって、監視の続行もしくは中断を判断する。監視を続行する場合(Yes)は、S400に戻る。監視を中断する場合(No)は、処理を終了する。処理を開始してから一定時間経過後に終了するようにしてもよい。また、所望の人物を識別できた場合に終了するようにしてもよい。
図5は、決定部204が実行する処理の一例を説明するフローチャートである。最初に前提条件として、処理量が膨大になることを避けるため、以下の処理を行う時間範囲がユーザまたは事前の設定により指定されるか、設置後に予め定めた期間内で行うようにする。
以下の図5に沿って、決定部204が実行する処理を説明する。まず、S701では、画像取得部201が、各撮像装置によって撮像された時系列画像を取得する。画像情報には、時系列画像とカメラの識別子とが含まれる。次に、S702では、対応付け部602が、S701で取得した画像情報に基づいて、検出部202から各撮像装置の画像から検出された人物の検出結果に対して人物の位置を取得する。
次に、S703では、人体画像抽出部501と、部分画像抽出部502が、各撮像装置によって撮像された各時系列画像に含まれる人物を示す部分画像(顔画像)と人体画像とを抽出する。ここでは、各時系列画像から検出された人物すべてにこの処理を行う。ここまでで取得した各映像に対して共通する方法(同じ識別器)で、すべての人物の画像を抽出する。照合するときは同じ識別器から取得した特徴同士で比較するためである。なお、検出された人物のうち、検出の信頼度(検出された物体が人物である確からしさ)が所定の閾値より大きいといった条件を満たす一部の人物のみを取得してもよい。例えば、画角の中央付近に映った人物は特徴がうまく抽出できる可能性が高いため、積極的に閾値決定に用いる。この際、画像を入力する識別部203にある識別器のうち、もっとも信頼できるものにするとよい。人物識別器の信頼性はあらかじめ定めたテストデータで事前に性能を測ることで取得することができる。
次に、S704では、人体画像照合部503が、S703において取得された人体画像のうち、所定の人物を示す注目人体画像に基づいて、第1の撮像装置とは別の第2の撮像装置によって撮像された画像から所定の人物を示す人体画像を照合する。ここで、照合した少なくとも1つ以上の人体画像を第1の人体画像群と呼ぶ。つまり、取得されたすべての画像におけるすべての人体画像のうち、所定の人物を示す注目人体画像と類似した人体画像を所定の人物と見なす。これによって、複数の撮像装置によって撮像された所定の人物の人体画像を対応付ける。この処理は以下のようにして行う。ある撮像装置によって撮像された画像から検出された人物の人体画像と、ほか撮像装置によって撮像された画像から検出された人物の人体画像とを照合する。具体的には、第1撮像装置によって撮像された画像から検出された人物の人体画像Xと、第1撮像装置とは異なる撮像装置によって撮像された画像から検出された人物画像Yとを比較し、類似度が所定の値より大きい場合、類似した画像であると照合する。処理の高速化のために、時刻情報を用いてもよい。視野の重複がないように設置された監視カメラでは、同時に同じ人物が映ることはない。また、カメラの位置関係によって、一方のカメラに現れた時刻から、他方のカメラまでの移動時間が予測されるので、同一人物が現れやすい時間帯が推定可能である。また、ディープラーニングによって、照合を行ってもよい。
続いて、S705では、対応付け部602が全ての撮像装置によって撮像されたすべての画像から検出されたすべての人物について、上記処理を行ったか判断する。未処理の人物がある場合(YES)、次の人物を対象に処理を行うためS701に戻る。全ての人物を処理した場合(S705でNOの場合)、S706に進む。
S706では、対応付け部602が、S704で注目特徴と照合した第1の人体画像群と対応する第1の顔画像群を対応付ける。画像から検出された人物に各撮像装置に共通のユニークな識別子(ID)を付与する。この識別子は後段の誤り率取得部603で用いられる。以上が、対応付け部602で行われる処理の説明である。この処理によって、ある撮像装置によって撮像されたある人物が検出された画像を、システムに含まれる複数の撮像装置によって撮像された画像と対応付けることができる。その結果、複数の撮像装置で撮像された画像から共通人物を特定することができる。
次に、決定部204が実行する処理について図8を用いて詳細に説明する。この処理では、ある人物を識別する識別器について、カメラ毎に適切な閾値を設定する。図9を用いて識別条件(閾値)の決定方法について説明する。
図9のグラフ90は、縦軸y(x=0)は頻度を、横軸x(y=0)は同じ識別器によって出力された特徴同士のペアの類似度を示すヒストグラムである。ここでは、類似度は特徴ベクトルの内積で示されるものとする(-1<類似度S<1)。つまり、類似度が大きいほどペアが同一人物である可能性が高く、類似度は小さいほどペアは他人同士である可能性が高い。まず、従来技術において、識別条件を決定する際には図9(A)に示すヒストグラムが得られる。このとき、顔画像のペア(顔特徴のペア)は本人同士であるか、他人同士であるか分からない(正解のペアが既知でない)。特に、本人同士の顔画像のペアを取得するのが難しい。そのため、2種類の誤り率(本人拒否率と他人受入率)を特定することができない。従って、誤り率が小さくなるような識別条件を自動的に決定することができなかった。
一方で、本実施形態では、照合結果を用いることで、本人同士と他人同士の顔画像(顔特徴)の2種類のペアが特定できる。本人同士のペアである顔画像群から取得された類似度をグラフ91に示す。これは本人同士の顔画像の組み合わせが取りうる類似度の頻度を示す。また、他人同士のペアからはグラフ92が得られる。これは他人同士の顔画像の組み合わせが取りうる類似度の頻度を示す。グラフ91の左側(0に近い類似度を取る範囲)は、本人の顔画像同士のペアであるのに低い類似度を取るため、識別結果を誤る可能性が高い。この場合の識別ミスを本人拒否率(検知漏れ)と呼ぶ。この本人拒否率は、図9(B)に示す閾値900と、グラフ91とx軸(y=0)が成す面積901で示される。この本人拒否率を下げたい場合は、この面積が所定の割合より小さくなるように閾値(識別条件)を大きくすると良い。もう一方の誤り率である他人受入率は、図9(C)の面積902に示される。グラフ92は、他人同士の顔画像(顔特徴)の類似度をプロットした結果である。
面積902は、閾値900‘とグラフ92とy=0を積分した値である。他人を本人である間違えてしまう他人受入率(誤検知)を減らしたい場合は、面積902が所定の割合より小さくなるように閾値を小さくすると良い。なお、面積901と面積902はトレードオフの関係であって、どちらかを小さくすると一方が大きくなる。したがって、ユースケースに応じて、2つの和を最小にする、一方の確率が所定の割合より小さくなるようにするといった条件を満たすように閾値を決定すると良い。この条件はユーザが予め設定してもよい。このようにして、2種類のヒストグラムを用いて識別条件を設定することができる。現地の映像でこのようなヒストグラムを得るには、従来は人手で正解を
付けて、測定する必要があったが、本発明により、自動的に正解とみなせる
データを得ることにより、人手を省いて、識別条件を得ることが可能になった
S402の処理について図6のフローチャートで説明する。S801では、誤り率取得部603が、閾値を更新する対象となる撮像装置に対応する識別器を取得する。この識別器は、様々な人物の顔画像とその個人に固有な特徴を学習したニューラルネットワークである。すなわち、複数の人物の顔画像を複数セット用意し、同一人物には類似した値を出力するよう学習させる。なお、人体画像でも同様の識別器を用いる。人物の部分画像(例えば顔画像や人体画像)を入力すると、人物毎に固有の特徴を出力する。
例えば、人物Nの顔画像を入力したときに、ベクトルSnという出力をしたとする。次に、人物Nが映った画像で他のアングルや画角で撮った画像を入力すると、共通した特徴があればベクトルSnに近いベクトルSn’と出力される。人物Nと異なる人物Mの画像がその識別器に入力された場合は、ベクトルSnと異なる、人物Mに固有なベクトルSmが出力される。つまり、2つの画像を入力された識別器の識別結果ベクトルSnとSmとの距離や内積が所定の値以下あれば、2つの画像に映った人物は同一人物と見なせる。SnとSmが所定の値より大きい場合は、2つの画像に映った人物は異なる人物同士である。
次に、S802では、誤り率取得部603が、対応付け部602からある期間の全ての撮影装置の画像から検出された全ての人物について付与した識別子を含む対応付け情報を取得する。抽出された各特徴には、画像から検出された人物に各撮像装置に共通のユニークな識別子(ID)を付与されている。
次に、S803では、識別部505が、所定の人物を示す注目特徴と、別の撮像装置の画像から抽出された特徴のうち注目特徴と照合した特徴を示す照合結果を取得する。つまり、識別部505は、所定の人物を示す人体画像と類似した第1の人体画像群と、所定の人物の人体画像と類似しない第2の人体画像群を特定する。例えば、所定の人物の服装(人体特徴)をテンプレートに決定し、他の撮像装置の画像に対してテンプレートマッチングを行った照合結果は、他の撮像装置によって撮像された所定の人物を示している可能性がある。すなわち、第1の人体画像群は同一人物(本人)である可能性が高い人体画像の集合で、第2の人体画像群は所定の人物とは異なる人物である(他人)である可能性が高い人体画像の集合である。また、その人体画像に対応する顔画像についても同様のことがいえる。
次に、S804では、誤り率取得部603が、第1の人体画像群と対応する顔画像群を、画像から人物と対応する(顔)特徴を出力する第1の識別器に入力した第1の出力結果同士を比較し、第1の類似度を取得する。また。誤り率取得部603が、第2の人体画像群と対応する顔画像群を、画像から人物と対応する(顔)特徴を出力する第2の識別器に入力した第2の出力結果同士を比較し、第2の類似度を取得する。図9(B)における、グラフ91は第1の類似度の頻度を示す。また、図9(B)における、グラフ92は第2の類似度の頻度を示す。のちの処理において、この2つのヒストグラムを用いて閾値を決定する。
S805では、誤り率取得部603が、第1の類似度と閾値とを比較し、本人の画像を本人でないと誤る可能性を示す本人拒否率を取得する。同様に、誤り率取得部603が、第2の類似度と閾値とを比較し、他人の画像を本人であると誤る可能性を示す他人受入率を取得する。なお、誤り率とは、本人拒否率と他人受入率との和で示される。照合結果によって示される本人同士の人体画像(とそれに対応する顔画像)のペアが正しいとして、誤り率を取得する。人物の同一性を識別する際の誤りは、2つの場合が考えられる。すなわち、本来同一であるはずの2つの人物を、異なる人物としてしまう誤り(False Negative:本人拒否率)と、異なる人物2つを同一であると識別してしまう誤り(False Positive:他人受入率)である。この2つの誤りについて、それぞれ取得する。なお、この2つの確率はトレードオフの関係にあるため、どちらかを小さくするともう一方が大きくなってしまう。そのため、ユースケースに応じて、どちらの確率をコントロールするか設定すると良い。または、両方の確率の和が最小になるような閾値を決定すると良い。
次に、S806では、決定部604が、本人拒否率または他人受入率を所定の割合より小さくなるように閾値を決定する。つまり、決定部602は、閾値より小さい第1の類似度の頻度が所定の値よりも少なくなるように閾値を決定する。または、決定部604が、閾値より大きい第2の類似度の頻度が所定の値よりも少なくなるように閾値を決定する。または、決定部604は、閾値より小さい第1の類似度の頻度と前記閾値より大きい第2の類似度の頻度との和が所定の値より小さくなるように閾値を決定する。
決定部604で行われる処理について説明する。以下では特に、類似度を、閾値を超えたか否かで識別する処理について説明する。決定部304では、誤り率取得部603で取得された、識別器のパラメータ(典型的には閾値)と誤り率の表を取得して、所望の誤り率に近くなるパラメータを選択する。上述したように、誤り率には、同じ人物を異なると識別してしまう誤り(False Negative)と、異なる人物を同一と識別してしまう誤り(False Positive)の、2種類の誤りがあり、一般に、トレードオフの関係がある。すなわち、False Negativeを減らそうとして、類似度が低くても同一と識別するようにする(閾値を下げることに相当)と、異なる人物を同一と識別するFalse Positiveが増える。類似度が高くても同一でないと判断する(閾値を上げることに相当)と、False Positiveは下がるが、False Negativeは上がってしまう。通常は、2つの誤り率の総和が最小になるように設定するが、用途によっては、False Positiveを避けたい(誤認証は避けたい)など、目的に応じた設定がとりえる。このような誤り率の目標設定は、あらかじめユーザによる指定等で、事前に定めておくことができる。実際の監視映像で事前に定めた誤り率に近くなるように、識別器のパラメータ、典型的には類似度の閾値を更新することが可能になる。このように選んだ識別器のパラメータを、識別部203の識別器の新しいパラメータとして設定する。以上が、決定部604で行われる処理の説明である。
すべての識別器について、または予め指定された所定の回数を満たすまでは、S806からS803に戻り、誤り率取得部603が、誤り率を求め直す。これを予め定めた回数繰り返す。これによって、繰り返し処理することで識別の精度を向上させる。以上が、第1の決定で行われる処理の説明である。なお、第1の決定と第2の決定は片方のみ行ってもよいし、両方実施してもよい。また、顔特徴と人体特徴は、ケースに応じて入れ替えて処理を行ってもよい。例えば、学校行事等で似たような服装を着用する人物が多い場合は、人体特徴では個体を識別するのは難しい。そのため、顔特徴を用いて映像全体における人物の抽出を行うと良い。また、顔特徴と人体特徴だけではなく、持ち物や個体識別用の道具を用いて人物の特徴を抽出してもよい。
なお、所定の人物は、より多くのカメラによって撮像されている人物を選択するようにしてもよい。様々な角度から撮像された画像が得られていると識別器の学習や決定がうまくいきやすいためである。また、人物の登場回数(または撮像されている時間)に応じて、決定の際に重みづけを行ってもよい。所定の人物が撮像された画像が多いほど(撮像された時間が長いほど)、所定の人物が様々なアングルで撮像されている可能性が高いためである。こうすることによって、効率的に識別器の決定ができる。また、決定対象である撮像装置に対応する識別器は、撮像装置の設置位置によって決定の重みづけを行ってもよい。
次に識別フェーズを説明する。パラメータ決定された識別器を利用する具体例として、1台以上の監視カメラの映像から予め登録された人物(以下、ターゲット人物と呼ぶ)を検出する例を説明する。ターゲット人物は施設の周辺を自由に行き来するため、複数のカメラで検出できることが望ましい。ターゲット人物が検出された場合、その旨をユーザに知らせることでユーザはターゲット人物に対して適切な対応をとることができる。なお、本実施形態における情報処理システムのタスクは、不特定多数の人物が映った映像からターゲット人物1000を検出することである。ターゲット人物1000とターゲット人物1000’は同一人物である。監視カメラに映った人物が、事前に登録してあるターゲット人物に該当するか、画像から得る顔の特徴を使って識別する顔認証を行う。
識別フェーズでは、図2における画像取得部201、検出部202、識別部203と出力部206によって処理が行われる。画像取得部201は、各監視カメラからリアルタイムで撮像した時系列画像(映像)を取得する。検出部202では、決定フェーズと同様に、画像取得部201によって取得された時系列画像から人物を検出する。識別部203は、検出部202によって検出された人物から、2つの異なる部分特徴を抽出し、特徴から人物を識別する。ここで、決定フェーズで閾値を決定した識別器を用いる。出力部206は、識別部203によって識別された結果を図示しない表示部等に出力する。
図4のフローチャートを用いて、識別フェーズについて説明する。S400において、決定部204が、識別器の識別条件を更新しないと判断した場合(NO)、S404に進み、識別フェーズが実行される。S404は、識別部202が、各監視カメラによって取得された画像から特定の人物を識別する。なお、監視カメラ(情報処理装置)は、特定の人物の顔画像(人体画像)と登録画像として登録された共通のウォッチリスト(ブラックリスト)を保持しており、撮像された画像に含まれる対象人物が登録画像の人物と類似しているか比較する。登録画像との類似度のうち、最も類似度が高いかつその類似度が識別条件より大きい場合に、対象人物は最も類似した登録画像が示す人物であると識別する。
図10を用いてS404の処理を更に説明する。S1201では、識別部203が、対象人物の画像(または特徴)を取得する。ここでは、顔画像による識別器によって個人の識別をする場合を考える。そのため、対象人物の顔を示す対象顔画像を取得する。ユーザが過去の映像データから指定しても良い。または、リアルタイム映像から指定された人物の画像を取得する。
S1202では、識別部203が、画像取得部201で取得した時系列画像から特徴を取得する。なお、ここで取得する特徴は、決定した閾値に対応した特徴がよい。つまり、決定フェーズにおいて、顔特徴による識別器の閾値を決定した場合は、顔特徴を取得する。
S1204では、人物識別部505は、人体画像照合部503、および、部分画像照合部504による、照合結果をもとに、検出された人物を識別する。識別部203が、決定された識別器と、S1203で取得された特徴とに基づいて、時系列画像に含まれる人物を識別する。
S1205では、識別部203が、識別器によって出力された結果と対象人物とを照合する。S1205では、識別部203が、S1204の照合結果に基づいて、対象人物が画像に映っているか判断する。S1204で、対象人物と識別結果が一致した場合は、S1206に進む。S1204で、対象人物と識別結果が一致しなかった場合は、S1201に戻る。
S1206では、出力部206が、閾値に基づいて、対象顔画像を識別器に入力した出力結果と予め登録された登録人物の画像の特徴とを比較した類似度が閾値を満たす場合は対象顔画像が示す人物は登録人物であること、を示す判定結果を出力する。また、類似度が閾値を満たさない場合は対象顔画像が示す人物は登録人物ではないこと、を示す判定結果を出力する。具体的には、モニタ表示やアラート音によって、対象人物が検出されたことをユーザ(監視者)に伝える。
以上に説明した処理によって以下のような効果が期待される。従来ユーザは所望の誤り率を実現するために、設置環境の映像で、実際にどのような誤り率となっているか、確かめる必要があった。これは実際には困難である。次善の策として、所望の誤り率に近くなるように設置環境とパラメータの対応表を用意することが考えられるが、すべての条件を事前に用意することは困難であるため、現実には不十分な対応表しか用意しえない。
それに対して、本実施形態では実際の設置環境で得られた映像に対して、異なる撮像装置の映像から共通する人物の画像を取得し、これを用いてさまざまな撮像装置の閾値を変更可能となる。これにより、所望の誤り率を実現する閾値を人手に頼らずに設定可能となる。また、このように得られた映像によって適切なパラメータを設定可能なので、複数台あるカメラの映像に個別に閾値を設定することも可能となる。
カメラ台数が数十台から百台以上になる大規模な情報処理システムでは、個々のカメラ映像に対する閾値の設定問題が必ず発生する。本実施形態では、そのような大規模なシステムの課題を、逆に複数のカメラの映像が得られるメリットとして利用し、より信頼性のある閾値を取得可能である。以上が実施形態1の内容の説明である。上記のような処理を実行することによってカメラの設置環境に応じて特定の人物を識別する条件を決定できる。
<実施形態2>
実施形態1では、複数ある人物識別器のうち最も信頼性の高い識別器を選び出し、その識別器により取得した、カメラ間の人物の対応関係をもとに、誤り率を取得して、適切なパラメータを設定する例を示した。それに対して、本実施形態では、複数ある識別器の取得した、複数のカメラ間人物の対応関係を、相互に参照して、パラメータを更新する点が異なる。
以下、具体的に説明する。なお、重複を避けるため、以下の説明において、実施形態1と同じ部分は、省略する。本実施形態にかかわるシステムの構成は、実施形態1と同じであるので、説明を省略する。説明は実施形態1を参照されたい。実施形態1と異なる点は、決定部の処理である。以下、実施形態1と異なる点を中心に説明を行う。
決定部の構成は実施形態1と同じである。図7は決定部で行われるS403の処理の一例を示したフローチャートである。まず、S901では、決定部が、人物識別部の識別器から、任意の識別器を取得する。ここで適切な識別器とは、実施形態1と同じく、もっとも信頼されるべき識別器を選択すればよい。この信頼性は、事前に定められたデータを用いた性能評価を行い、その数値をもとに、取得すればよい。次に、S902では、対応付け部が、取得した識別器を使って、各撮像装置によって所定の期間に撮像された各時系列画像から検出された少なくとも1つ以上のオブジェクト(たとえば人物)について、基準となる識別子(ID)を付与する。識別子を付与する処理については、実施形態1の対応付け部602で行われる処理と同じであるので、割愛する。次に、S903では、決定部が、識別条件を決定する対象となるターゲット識別器を取得する。これは、特に基準は不要で、順番に選択すればよい。次に、S904では、誤り率取得部が、ターゲット識別器を用いて、識別子をもとに誤り率を取得する。S904では、決定部が、全カメラ全人物にIDを割り当てる。誤り率の求め方は、実施形態1の誤り率取得部603の処理と同じである。全人物に対するIDの割り当ても、S702の処理と同様にすればよい。S905では、決定部が、〇〇に基づいてすべての識別器に対して誤り率の取得が完了したか否かを判断する。全識別器に対して処理が済むまでこれを繰り返す(S905でNoの場合)。全識別器で誤り率、ID割り当てが済んだら(S905でYesの場合)、S906では、決定部が、誤り率に基づいて識別子の補正を行う。識別子の補正は、単純には、1つ以上の識別器で識別された識別結果もとに、多数決を行うようにするとよい。一つ一つの人物について、1つ以上の識別器の識別結果を投票し、もっとも投票数の多かった識別結果をその人物の識別子とすればよい。S705で同時に取得した誤り率をもとに、重み付の投票を行うようにしてもよい。誤り率の低い識別器の重みづけが大きくなるようにすればよい。例えば、1票に誤り率の逆数をかけて投票すればよい。誤り率は、False Negative と False Positiveの2つがあるが、両者の和や平均を用いることができる。上記S903から、S906までの処理を所定回数繰り返す。予め定めた回数繰り返すようにしてもよいし、別の基準でやめるようにしてもよい。例えば、識別子の変化が所定の回数より少なくなった場合や、全識別器の誤り率の変化が所定の回数より少なくなった場合、などが考えられる。
上記のようにして求めた識別子をもとに、決定部で、誤り率を取得して、識別条件の変更を行うようにする。この処理は、実施形態1と同じである。このように、識別子の割り当てを1つの識別器の結果ではなく、複数の識別器の結果で補正し、より信頼性の高いものにしていくことで、より適切な識別子の取得と決定が可能になる。例えば、人物の識別を行う場合、人体特徴での照合と、顔特徴での照合の2つが考えられるが、一般的に、解像度が十分であれば、顔特徴の方が、信頼性が高いとされる。人体の特徴は、DL特徴であっても、色特徴に近い特徴と考えられるので、同じような服装の人物が複数いると、誤る可能性が高い。そのため、相対的に顔特徴の方が、信頼性が高いと言え、識別子は顔特徴で取得するのが妥当と考えられるが、顔特徴も万能ではない。例えば、解像度が低い場合や、顔の向きが正面から大きく離れた場合、顔の一部が隠れてしまっている場合などは、十分な精度は得られず、人体の特徴を用いた方が、精度が高い場合もある。このように、1つの識別器の結果だけを参照して、パラメータを更新するのではなく、複数の識別器の識別結果を相互に参照して、識別子を更新した方が、より適切な識別条件の決定につながり、ユーザの意図した誤り率の実現に寄与できると考えられる。以上が、実施形態2の説明である。
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、データ通信用のネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。また、そのプログラムをコンピュータが読み取り可能な記録媒体に記録して提供してもよい。