以下、図面を参照して本発明の実施の形態について説明する。
  <第1の実施の形態>
  図1は本発明に係る監視装置を適用した映像監視システムの一実施の形態を示すブロック図である。
  図1に示す例では、監視カメラ1a〜1dで監視対象を撮影してモニタディスプレイ2a、2b(やハードコピー装置21)で表示することにより、警備員は監視カメラ1a〜1dで撮影された映像をモニタディスプレイ2a、2bで監視する。3は付加機能を実現する装置であり、複数の付加機能が必要な場合、複数の装置で構成されることも多い。例えば付加機能3は、監視カメラが複数台ある場合には、マトリックススイッチャ(複数の映像のうち、任意の映像のみを選択する装置)や画面分割ユニット(1画面を分割し、そこに複数の監視カメラの映像を同時に表示させる装置)で構成される。また、監視員が常駐できないような場合や、監視映像を記録として残したい場合は、付加機能3にビデオテープレコーダ31やディスクレコーダ32も用いる。操作卓22は付加機能3の制御(例えば複数のうちのどの映像を選ぶかの指示や、画面分割の状態の切り替え、レコーダの録画、再生、停止、早送りや巻き戻しなど)や、監視カメラ1a〜1dの遠隔制御(向きの制御やフォーカシング)のための、ユーザインタフェースである。操作卓22の例を図2に示す。
  次に、監視カメラ1a〜1dの出力からの監視映像から、任意の被写体の上下方向の原寸法(被写体が直立している人物の場合、身長)を算出する方法を説明する。通常の操作において、警備員が監視映像に着目したい人物を見つけた場合、監視カメラがPTZ (PAN(パン)…左右、TILT(チルト)…上下、ZOOM(ズーム)…拡大の略)制御可能なカメラ(以下、「PTZカメラ」と記載;例を図3に示す)であれば、その人物が監視画面に大きく映るよう操作卓22からPTZ制御を行う。この操作は、自動化される場合も多い。PTZカメラの多くは、外部からの信号入力をトリガとして、あらかじめ設定された方向とズームを合わせる機能を持つ。万引防止センサや、自動販売機やパチンコ店の遊戯機器の内部もしくは近傍に設置されたセンサ(例えば機器のこじ開けセンサ)、あるいは窓の防犯センサなどから、異常を知らせる信号がある場合、その信号をPTZカメラに入力し、それをトリガとして、センサの位置に応じた視野にカメラが自動的に追従する。
  図4に示すように固定点P(地上高h)に設置されたカメラ1があるとき、人物A−A’が、カメラ1から地上におろした垂線と地表の交点P’からどれくらいの距離aを歩行しているかは、カメラの設置角や視野角などから∠APP’の角度αが分かれば、次式(1)で計算できる
  a=h・tanα  …(1)
また、人物の頭頂部とカメラを結ぶ線と、カメラから下ろした垂線のなす∠A’PP’の角度βが分かれば、人物の身長xも次式(2)で計算できる。
  b=h・tanβ
  h:b=x:b−a(∵△P’PB∽A’AB)
  ∴x=h・(b−a)/b
      =h・(tanβ−tanα)/tanβ  …(2)
  多くの場合、カメラの高さhは固定で、設置時に決められる。角度α、βはPTZカメラの制御状態で決まるので、それを把握すればよい。また、PTZ制御が不能なカメラ(以下、「固定カメラ」と記載)では、角度α、βは設置時に決まる。なお、角度α、βは、撮像板のサイズやレンズの視野(焦点距離)から算出可能である。特許文献3にそれが説明されているので、ここでは説明を省略する。
  本発明を実施する際に必要なカメラ1の構成のうち、PTZカメラの構成を図5に示す。撮像部11はカメラとしての撮像機能であり、映像信号18を出力する。PTZ制御機構12は外部からの制御信号15の指示に応じて、撮像部11の向きや、撮像部11のレンズのズームの状態を制御する。これが、PTZカメラとしての最低限の構成要素である。身長を知るには、(2)式の例では、角度α、βと高さhを把握しなければならない。これらは、PTZカメラそのものが設置された高さと傾き、そして、その内部で、撮像部11がどのような角度に制御され、その視野がどのようにズーミングされているかから把握できるので、それらの情報、すなわち、PTZ制御の状態とカメラ1の設置高の付加情報16を映像信号18に重畳して出力する。
  付加情報16を映像信号18に重畳する方法としては、例えばアナログテレビジョンの文字多重放送のように、映像信号18のモニタディスプレイには表示されない垂直帰線期間に付加情報16を重畳する方法。あるいは、映像信号18がJPEG方式のようなデジタル情報の場合、その規格に許容される拡張領域やコメント領域などに付加情報16を載せる方法もある。付加情報16が重畳された映像信号19は、ビデオテープレコーダ31やディスクレコーダ32(図1)に録画保存することもでき、その再生出力から付加情報16を取り出すことができれば、角度α、βとカメラ1の設置された高さhを、すなわち、任意の被写体の高さを知るためのゲージの表示に必要な情報が得られる。
  また、伝送路がTCP/IPのようなプロトコルによるものの場合、意図的に映像そのものに情報を重畳させるのではなく、付加情報16と映像信号18を、論理的に全く異なるコネクションを張って送受信することも可能である。
  さらにまた、付加情報16を映像信号18に重畳せず、映像信号18のみがビデオテープレコーダ31又はディスクレコーダ32(図1)に録画保存される場合には、その映像情報の個々の時点と、付加情報16の個々の時点付けを行う手段が必要である。例えば、付加情報には、タイムスタンプも合わせ、何らかの記録手段に、カメラ1a〜1dに対応付けたファイル(file-1a〜file-1d…)に保持しておく。カメラ1cのある時点の付加情報16は、file-1cのその時点に対応するタイムスタンプを持つレコードを参照すればよい。
  ここまで、被写体の高さを知るために、PTZカメラを用い、(2)式のような三角関数を用いる方法を例に挙げ説明してきた。固定カメラの場合には、第2の実施の形態に記載の映像のパースペクティブに基づいた方法における定数pとy0を重畳してもよい。固定カメラの場合、PTZ制御信号15ならびにPTZ制御機構12は存在しないので、代わりに定数pとy0を保持するメモリをPTZ制御機構12の位置に持ってもよい。
  映像信号18への付加情報の重畳をカメラに内蔵する例を説明してきているが、図6に示すように、既に設置済みのPTZカメラ1を利用する場合には、付加情報16の重畳は外部機構10で行うことになる。この図の例では、PTZカメラへ入力するPTZ制御信号15をトラップし、それを基にPTZ機構の状態を推定した結果を外部機構10内部のPTZ状態保持部13に保持する。その保持されている状態を付加情報16として映像信号18に重畳する。なお、三角関数を用いる方法やパースペクティブに基づいた方法、あるいは、ここに記載しない他の方法による情報が混在する場合には、先に説明した付加情報16や、あるいは定数pとy0などの情報の他に、情報の記載形式を識別するためのフォーマット識別子も併せて重畳してもよい。
  また、図4は便宜的に地面(床面)を水平に描いている。屋内環境では、床面が水平な場合が多いが、屋外の監視では、山の斜面や坂道など、地面が水平とは限らない。しかし、(2)式は、ほぼそのまま成り立つ。これについて、図7を用いて説明する。地面が傾きθで傾いている場合、地表と垂直をなすような線分P−P’(長さh)を考えれば、P’−A間の距離aについては図4と同様に計算できる。hとxの関係は(2)式の通り。△PP”P’∽△AA’A”なので、A地点の人物の身長x’は、
  x’=h’・(tanβ−tanα)/tanβ
となる。
  カメラ1の設置高(図4のh、図7のh’)は、ほとんどの場合、設置工事のときに決まり、既知であるものとする。例えば、エレベータ三脚、クレーン雲台などによりカメラの設置高が変わることは、監視映像の場合、ほとんどない。もし、カメラの設置高を変える場合は、電子的な遠隔制御に頼ることが多く、その高さは、その遠隔制御のための情報から推定できる。
  また、角度βは、図8において、カメラのチルト角をθとすれば、
  β=θ+δ
    =θ+tan-1(p/f)
となり、チルト角θと、撮像板5上での見かけ上の大きさp、レンズ4の焦点距離fから求められる。角度αについても同様にして求められる。
  さて、監視対象となるのが、多くの人が集まる公共の場である場合、監視映像には、図9に示すように大勢の人物が映ることになる。身体的特徴として、身長に着目すると、本当に知りたいのは、そこに映る全員の身長ではなく、特定の人物100の身長である。そこで、本発明では、監視画像を表示する際に、操作者が図10(a)に示すように監視対象の上端にポインタ26を移動してマウスボタンを押し、次いで図10(b)に示すようにマウスボタンを押したままポインタ26を移動して刻々変わる時点でのポインタ位置と図10(a)に示す位置を対角線とするボックスを表示する。そして、操作者が図10(c)に示すように監視対象の下端にポインタ26を移動してマウスボタンを離すと、ボックスの高さを計算し、図10(d)に示すように、計算した高さ(身長)を示す数字(165cm)をスケールとして監視対象のボックスの隣に表示する。また、数字を表示する代わりに、図11に示すように身長ゲージを表示するようにしてもよい。身長の算出は、既に述べた方法や、他の既知の方法を用いてもよい。また、図12は目盛りの下端がポインタ26を兼ねている例を示す。
  図13は、ステップ4において図10(d)に示すスケールや図11に示す身長ゲージが表示されるまでの、一連の流れである。この処理は、図1の操作卓22に設けられているボタンやスイッチ類により起動される。また、この処理がパーソナルコンピュータ上で実施される場合は、キーボードやマウスの操作により起動されてもよい。この例では、ステップS1で、カメラの設置高とPTZ状態を把握しているが、既に述べたとおり、第2の実施の形態(後述)に記載の映像のパースペクティブに基づいた方法における定数pとy0の把握でもよい。ステップS2は、操作卓22のジョイスティックや、マウスなどのポインティングデバイスでの入力を促すプロンプティングで、例えば図10のように、対象物の上端と下端を把握できるような入力を促す。上端と下端は、オペレータの手作業でポインティングデバイスから指示してもよいが、動体検出やオブジェクト認識など、既知の手段で個々の人物を映像から切り出すことが可能な場合、その人物のどこか一部を選択するだけで、その全身を把握するような、ユーザインタフェースも構築可能になる。
  ステップS3で入力操作が有りと判断されると、ステップS4へ進む。ステップS4では、図4に示した距離aが分かれば、その位置に存在する被写体を映す撮像板の個々の画素について、それぞれの実際の大きさを推定できるので、それに基づきステップS5において身長を示す数字やゲージを表示させる。図4の演算内容が少し異なるが、基本的には同じフローで処理される。なお、これらは、図1の付加機能3で処理されるが、パーソナルコンピュータやワークステーションなどで構成されてもよく、監視映像そのものと、身長ゲージやカーソルの表示方法については、既知の一般的な方法を使えばよい。
  また、以上の説明は、被写体が人物であり、その身長を把握することを例に挙げて説明してきたが、これは、平らな床面に置かれた任意の物体の高さと読み替えることができる。また、撮影された画像の画素が正方形である場合は、被写体を構成する個々の画素の高さ方向の実際の寸法と、横方向の実際の寸法は一致するので、高さだけでなく幅の把握と表示も可能である。撮影された画像の画素が正方形でない場合には、その画素の縦横比を単純に勘案し、幅を求めることができる。
  <第2の実施の形態>
  図14は監視映像を模式的に描いた例を示し、図14を用いて本発明の第2の実施の形態の原理を説明する。この図において、遠い箇所と近い箇所の2箇所に全く同じ身長の人物が映っているものとする。2箇所の人物と床面の接点、すなわち、足が床についている点の画面上の垂直座標をyaとyb、画面上での見かけ上のこの人物の身長をha、hb(例えば単位はピクセル、あるいは走査線本数)、この画面のパース  (パースペクティブ=透視法:遠近法)の消失点(必ずしも撮影された監視映像の画面上にあるとは限らない)の垂直座標をy0とすると、
  ha:hb=(ya−y0):(yb−y0)  …(3)
と、線形に比例する。この人物が、任意の点に移動したとき、監視映像画面上で、足を付けている点の垂直座標をyとしたとき、見かけ上の画面上での身長hは、
  h=p・(y−y0)  …(4)
ここで、pとy0は定数。
  ここで、カメラの位置(設置高)や向き(パンやチルトの角度)、ズームの状態(レンズの焦点距離)が、通常の運用状態では変化せず固定的に利用される監視カメラを、特に「固定カメラ」と呼ぶ。すなわち、固定カメラが撮影する映像のパースは、設置時に決められる。パースが固定されれば、定数pとy0も一意に決まる。この2つの定数p、y0を、固定カメラのパースを決め終えた時点で求める作業を、ここでは「キャリブレーション」と呼ぶことにする。
  キャリブレーション、すなわち、定数pとy0を求める手順を説明する。図15(a)に示すように、まず、任意の地点に、一定の長さの棒24aを床面に垂直に設置し、図14における監視映像画面の座標yaと見かけ上の長さhaを測る。次に図15(b)に示すように、棒の設置箇所を変え(棒24b)、図14における監視映像画面で座標ybと見かけ上の長さhbを測る。
(3)、(4)の関係から、定数pとy0は、
  p=(ha−hb)/(ya−yb)  …(5)
  y0=ya−ha/p
     =yb−hb/p
と求められる。
  この例では、2地点での測定を基準にして定数pとy0を把握する方法を記したが、例えば測定点を増やし、直線回帰分析のような統計的手法により、定数pとy0を把握してもよい。上述したキャリブレーションを、監視画像を目視しながらの手作業で行うことは原理的には可能であるが、現実的でない。そこで、監視画像を表示する際に、監視画像に合わせて、図15に示すようにマウスやジョイスティックなどのポインティングデバイスの操作により任意の点を指すポインタ25を表示し、そのポインタ位置から監視画像上のya、ybと、見かけ上の長さha、hbを測るような、インタラクティビティをもったソフトウェア処理を介することが考えられる。
  図16、図17を参照してこのキャリブレーションのソフトウェア処理について説明する。このソフトウェア処理は呼び出されると、ステップS11において監視画面と共に、図15に示すように、yaの入力を促すプロンプティングメッセージと共にポインタ25を表示させ、次いでステップS12では図17に詳しく示すキャリブレーション入力サブルーチンを呼び出す。このサブルーチンでは、オペレータ(設置工事者や保守作業員など)が任意の地点に一定の長さの棒24aを床面に垂直に設置し(ステップS21)、監視映像画面の座標yaを測るために、ポインティングデバイスの操作によりポインタ25を棒24aの下端(ポインタ25a)に移動し、ポインティングデバイスのボタン(例えばマウスボタン)を操作する(ステップS22)。これにより、キャリブレーションのソフトウェア処理は座標y=yaを把握できる(ステップS23)。
  このソフトウェアは、次に、棒24aの上端(ポインタ25b)にポインタ25を移動しボタン操作を行う旨のメッセージをプロンプティングした後に(ステップS24)、オペレータからの操作待ち状態に入る(ステップS25)。オペレータがポインタ25を棒24aの上端(ポインタ25b)に移動し、ボタン操作を行うと、キャリブレーションのソフトウェア処理は、入力された座標y’と、既に把握している座標y=yaから長さh=y’−y(ha=y’−ya)を把握できる(ステップS27、図16のステップS13)。次に棒24bについて同様の処理を繰り返し(図16のステップS14、S15)、棒24bの座標ybから長さhbをキャリブレーションのソフトウェア処理に把握させる(ステップS16)。キャリブレーションのソフトウェア処理は、(5)式や直線回帰分析などにより定数pとy0を求めることができる(ステップS17)。(3)式の演算をソフトウェア手段により実現する例について説明する。ソフトウェア手段は、例えば図18に模式的に示したような監視画像と監視画像上にポインタ26を表示する際に、ポインタ26の垂直座標を(3)式にあてはめ、画面上の見かけ上の長さhで身長ゲージを表示する。これは、キャリブレーションの際に、実際の高さが165cmの棒を使っていれば、それと同じ長さに相当するスケールとなる。
  上記処理により、図18に示すように、オペレータは、異なる距離に位置する複数の人物から、身長を推定したい人物の足元にポインタ26、26’、26”を合わせることにより、身長の推定の補助となるスケールを画面表示として得ることができる。図16に示したゲージが、実際の高さ165cmでキャリブレートされているとき、監視カメラ1の光軸が水平に近い状態に設置されていれば、例えば175cmのゲージは、(5)式の結果を170/165倍することで、近似的に表すことができる。これにより、図14に示すように、身長を推定したい人物の足元にポインタ26を合わせることで、スケールを表示することもできる。
  ここで、監視カメラ1の光軸が床面に垂直に近くなるほど、近似精度は劣化し、実用的ではなくなる。そこで、上記説明では、図15の棒24aの下端(ポインタ25a)と上端(ポインタ25b)、そして棒24bの下端(ポインタ26a)と上端(ポインタ26b)のみの画面上の座標を測ったが、さらに、棒24aの中間位置(ポインタ25c、25d)を測ることとする。例えば床面からの高さを、上端のポインタ25bが175cm、中間位置のポインタ25cが170cm、ポインタ25dが165cmとする。まず、同様に、ポインタ25a、25bとポインタ26a、26bから、高さ175cmでの定数pと消失点の垂直座標y0が求められる。
  次に、高さ170cmでの定数p'を求めるために、ポインタ25cの垂直座標を測る。方法は、上記説明と同様の手段を用いることができ、ポインタ25cの座標ya'と長さha'を把握できる。既に、消失点y0は分かっており、そこでの被写体は、見かけ上、大きさが0となるため、(5)式を変形し、高さ170cmでの定数p'は、
  p’=(ha'−0)/(ya'−y0)
     =ha'/(ya'−y0)
となり、ポインタ25cに相当する棒24bの位置の測定は不要である。ポインタ25dについても同様である。このようにして、監視カメラ1の光軸が床面に対し、垂直に近くなっても、図18に示すように実用的なゲージを表示できる。
  上記説明では、オペレータの操作により、画面上に、監視カメラ1が捉えた任意の人物の身長を推定する手段を記したが、オペレータの介在なく、あるいは、画面上への表示をすることなく、これらの処理を機械化することも可能である。例えば、パターン抽出/認識手段により、映像の中の人物を機械的に抽出し、その人物の身長を把握したい場合にも、本発明のアルゴリズムを応用できる。例えばキャリブレーションの段階では、それに用いる固定長の棒を、特徴的な色彩、等間隔の赤と白で塗りわけた棒をオペレータが設置する。撮像された映像上に、赤と白が縦に連なった状態を、パターン抽出/認識手段が機械的に検出でき、その座標データを把握できれば、前記した一連のポインタ表示とボタン操作の一連の手順を省くことができる。オペレータは機械からの指示に従い、キャリブレーションのための棒状の基準を、任意の少なくとも2点に移動しながら設置すればよい。もちろん、この場合、少なくとも2本のキャリブレーション用の棒を用意し、同時にその座標と高さを把握することも可能であろう。また、身長の把握時には、例えば、前後のフレーム(映画のコマに相当)を比較することで、動きのある領域と、その画面上の座標を知ることができる。その座標を基に、動きのある物体の高さを類推することが可能である。もちろん、高さを測ろうとする被写体の自動検出手段は、その他のパターン認識手法に頼ってもよい。