(57)【要約】【課題】パラメータの設定を効率的に行うことができる画像処理システムおよび画像処理システムの設定方法を提供すること。【解決手段】画像処理システム１では、複数のカメラ１０は、隣接するカメラ同士の視野の重複する視野重複領域１０１が形成されるようにして設置されており、各カメラの内部パラメータを取得する内部パラメータ取得部１２と、移動体を追跡して、移動体の時刻および座標を出力する追跡部１１１と、移動体の軌跡を取得する軌跡取得部１１４と、移動体の画像特徴量に基づいて、移動体の軌跡を連結する軌跡連結部１１３と、軌跡取得部により取得された座標からカメラの取付状態に関する外部パラメータを設定値として算出する設定部１１５と、内部パラメータと外部パラメータとを対応づけて保存する設定保存部１１６とを備える。【選択図】図１
2019041261.tif 000002
【特許請求の範囲】
【請求項１】
複数のカメラで撮影した画像を処理する画像処理システムであって、
前記複数のカメラは、隣接するカメラ同士の視野の重複する視野重複領域が形成されるようにして設置されており、
前記各カメラに固有の内部パラメータを取得する内部パラメータ取得部と、
移動体を追跡して、移動体の時刻および座標を出力する追跡部と、
前記移動体が前記視野重複領域に存在するときの、前記移動体の座標を取得することにより、前記移動体の軌跡を取得する軌跡取得部と、
前記移動体の画像特徴量に基づいて、隣接するカメラのうち一方のカメラで撮影された移動体の画像と他方のカメラで撮影された移動体の画像とを比較することにより、前記移動体の軌跡を連結する軌跡連結部と、
前記軌跡取得部により取得された座標と前記内部パラメータとを用いて、前記座標に対応するカメラの取付状態に関する外部パラメータを設定値として算出する設定部と、
前記取得された内部パラメータと前記設定部により算出された外部パラメータとを対応づけて保存する設定保存部と、
を備える、
画像処理システム。
【請求項２】
前記設定部は、
前記各カメラのうち所定のカメラの外部パラメータを、前記所定のカメラの視野に設けられるマーカに基づいて算出し、
前記各カメラのうち前記所定のカメラ以外の他のカメラの外部パラメータについては、前記軌跡取得部により取得される前記視野重複領域での前記移動体の座標を用いて算出する、
請求項１に記載の画像処理システム。
【請求項３】
前記設定部は、設定モードが起動されると、前記視野重複領域に存在する前記移動体の座標を取得する、
請求項２に記載の画像処理システム。
【請求項４】
ユーザからの情報が入力される入力部をさらに備え、
前記設定部は、前記設定モード中に、前記視野重複領域に存在する前記移動体の座標を前記入力部から取得する、
請求項３に記載の画像処理システム。
【請求項５】
前記軌跡取得部は、前記設定モード中に前記視野重複領域に存在する前記移動体の座標を取得し、
前記設定部は、前記軌跡取得部から前記移動体の座標を取得する、
請求項３に記載の画像処理システム。
【請求項６】
前記移動体は、前記設定モード中に、前記隣接するカメラ間の各視野重複領域をそれぞれ通過する唯一の移動体として構成される、
請求項５に記載の画像処理システム。
【請求項７】
前記移動体は人物であり、
前記軌跡取得部は、前記軌跡連結部が特定した同一人物の視野重複領域における座標を取得する、
請求項２に記載の画像処理システム。
【請求項８】
前記移動体は、障害物を自動的に避けて走行するロボットである、
請求項２に記載の画像処理システム。
【請求項９】
前記移動体の移動領域を検出する移動領域検出部をさらに備え、
前記設定部は、前記移動領域検出部により検出される前記移動領域を用いて、前記各カメラの撮影範囲の平面図の作成を支援する情報を出力する、
請求項２に記載の画像処理システム。
【請求項１０】
前記移動領域検出部は、前記移動体の軌跡から前記移動体の折り返し地点を検出することにより、前記移動領域を検出する、
請求項９に記載の画像処理システム。
【請求項１１】
前記移動領域検出部は、前記移動体の軌跡から形成される閉領域を検出することにより、前記移動領域を検出する、
請求項９に記載の画像処理システム。
【請求項１２】
複数のカメラで撮影した画像を処理する画像処理システムの設定方法であって、
前記複数のカメラは、隣接するカメラ同士の視野の重複する視野重複領域が形成されるようにして設置されており、
前記各カメラに固有の内部パラメータを取得し、
前記各カメラのうち所定のカメラの外部パラメータを、前記所定のカメラの視野に設けられるマーカに基づいて算出し、
前記所定のカメラの視野から隣接するカメラの視野へ移動する移動体を追跡して、移動体の時刻および座標を取得し、
前記移動体が前記視野重複領域に存在するときの、前記移動体の座標を取得することにより、前記移動体の軌跡を取得し、
前記移動体の画像特徴量に基づいて、隣接するカメラのうち一方のカメラで撮影された移動体の画像と他方のカメラで撮影された移動体の画像とを比較することにより、前記移動体の軌跡を連結し、
前記取得された座標と前記内部パラメータとから、前記座標に対応するカメラの取付状態に関する外部パラメータを設定値として算出し、
前記内部パラメータと前記外部パラメータとを対応づけて保存し、
前記所定のカメラ以外の他のカメラの外部パラメータを、前記視野重複領域における前記移動体の座標を用いて算出する、
画像処理システムの設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システムおよび画像処理システムの設定方法に関する。
【背景技術】
【０００２】
画像処理システムの背景技術として、特許第５８０４８９２号（特許文献１）が知られている。この特許文献１は、「複数台の監視カメラの監視空間が什器等が設置された建物内、或いは建物内の廊下などの場合、各カメラの姿勢を校正する基準物体を設置するスペースを確保できない」という課題を解決すべく、「自己及び相互の鉛直下を撮像可能に設置された２台のカメラ２ａ，２ｂのそれぞれの鉛直下にマーカー７ａ，７ｂを配置する。視線方向算出部３０は、例えば、カメラ２ａについて当該カメラで撮像した画像における自己マーカー７ａ及び他方カメラ鉛直下の相手マーカー７ｂの位置座標を用いて当該カメラから各マーカーへの視線方向を算出する。姿勢算出部３１は、自己マーカーへの視線方向から得られる鉛直方向と、相手マーカーへの視線方向から得られるカメラ２ａ，２ｂ間の方位とを用いて世界座標系における各カメラの姿勢を算出する。」ものである。
【０００３】
なお、カメラの内部パラメータの調整については、非特許文献１に記載されている。静止マーカを用いてカメラの外部パラメータを計算する方法については、非特許文献２に記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５８０４８９２号公報
【非特許文献】
【０００５】
【非特許文献１】奥津 良太、寺林 賢司、梅田 和昇：「球体を用いた魚眼カメラの内部パラメータ校正」、電子情報通信学会論文誌. D, 情報・システム Vol.93 (2010) No.12 p.2645-2653
【非特許文献２】岡本寛也、田中祐輝、キアットアブデラジズ、下村倫子、増山岳人、梅田和昇：「校正マーカーを用いた複数全方位カメラの外部パラメータ推定」、精密工学会誌 Vol.81 (2015) No.2 p.164-169）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
画像処理システムで人物を追跡する場合、人物の世界座標を取得するには、カメラのキャリブレーションを行い、画像上の座標と世界座標との変換を行うのに必要な内部パラメータおよび外部パラメータを予め計算しておく必要がある。
【０００７】
ここで、内部パラメータはカメラ特有のパラメータであり、一度計算すればよいが、外部パラメータは設置環境に依存するパラメータであり、カメラを設置する度に計算する必要がある。また、外部パラメータは、設置されたカメラ毎に設定する必要があり、簡潔な方法で行えることが望ましい。
【０００８】
特許文献１では、各カメラに静止マーカをそれぞれ取り付け、それらの静止マーカを用いて隣接した二台のカメラごとに外部パラメータの計算を行う。したがって特許文献１では、静止マーカは各カメラに設置する必要があり、静止マーカの取付作業はカメラ台数に比例して増大する。また、特許文献１では、隣接するカメラの組み合わせを事前に入力する必要がある上に、設定パラメータの計算時間は隣接カメラの組み合わせの数に比例して増大する。したがって、カメラ台数が多い場合、特許文献１の方法では設置時の効率が悪く、使い勝手が低い。
【０００９】
本発明は、上述の課題に鑑みてなされたもので、その目的は、パラメータの設定を効率的に行うことができるようにした画像処理システムおよび画像処理システムの設定方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決すべく、本発明に従う画像処理システムは、複数のカメラで撮影した画像を処理する画像処理システムであって、複数のカメラは、隣接するカメラ同士の視野の重複する視野重複領域が形成されるようにして設置されており、各カメラに固有の内部パラメータを取得する内部パラメータ取得部と、移動体を追跡して、移動体の時刻および座標を出力する追跡部と、移動体が視野重複領域に存在するときの、移動体の座標を取得することにより、移動体の軌跡を取得する軌跡取得部と、移動体の画像特徴量に基づいて、隣接するカメラのうち一方のカメラで撮影された移動体の画像と他方のカメラで撮影された移動体の画像とを比較することにより、移動体の軌跡を連結する軌跡連結部と、軌跡取得部により取得された座標から、座標に対応するカメラの取付状態に関する外部パラメータを設定値として算出する設定部と、内部パラメータ取得部により取得された内部パラメータと設定部により算出される外部パラメータとを対応づけて保存する設定保存部と、を備える。
【発明の効果】
【００１１】
本発明によれば、隣接するカメラの視野重複領域に存在する移動体の座標を用いることで、カメラの外部パラメータを算出することができ、内部パラメータと対応づけて保存することができる。
【図面の簡単な説明】
【００１２】
【図１】画像処理システムの全体構成図。
【図２】外部パラメータを計算する処理を示すフローチャート。
【図３】外部パラメータの算出方法を模式的に示す説明図。
【図４】外部パラメータの算出時の画面例。
【図５】移動体の座標を手動で入力する様子を示す画面例。
【図６】唯一の移動体を特定して座標を取得する様子を示す画面例。
【図７】画像特徴量から同一人物であるか否か判定する様子を示す画面例。
【図８】第２実施例に係り、画像処理システムの全体構成図。
【図９】移動体の移動領域を検出する様子を示す説明図。
【図１０】移動体の軌跡が作る閉領域から移動領域を算出する様子を示す説明図。
【図１１】第３実施例に係り、画像処理システムの全体構成図。
【発明を実施するための形態】
【００１３】
以下、図面に基づいて本発明の実施の形態を説明する。本実施形態は、隣接するカメラ同士の視野１００（１）〜１００（４）が重複するようにして複数のカメラ１０（１）〜１０（４）を配置し、視野重複領域１０１（１）〜１０１（３）を移動する移動体３を追跡して座標を特定することにより、カメラの取付状態に関する外部パラメータの計算を軽減することができ、カメラの設定作業の効率を改善することができる。
【００１４】
本実施形態の一例では、まず最初に、静止マーカ２を用いて基準カメラ１０（１）の外部パラメータの計算を行い、その後にカメラ間に移動体３を通過させることで、その他のカメラ１０（２）〜１０（４）の外部パラメータを計算する方法を提供する。その他のカメラ１０（２）〜１０（４）の外部パラメータの計算には、静止マーカ２を用いる必要がない。
【００１５】
本実施形態によれば、外部パラメータの計算に必要な静止マーカ２の設置作業などを軽減することができ、自動的に各カメラ１０（２）〜１０（４）の設定作業（キャリブレーション作業）を効率的に行うことができる。また、本実施形態によれば、外部パラメータの計算と同時に移動体３の世界座標を取得することができ、移動領域（移動可能領域とも呼ぶ）を特定することもできる。これにより、後述の実施例で述べるように、外部パラメータを用いて変換する世界座標系から、店舗などの施設内における移動可能領域を生成することができる。
【００１６】
本実施形態では、カメラの内部パラメータは、例えば非特許文献１に記載の手法を用いて事前に計算しておくものとする。また、本実施形態における基準カメラとは、「所定のカメラ」の例であり、複数のカメラの中から最初に静止マーカ２を用いて外部パラメータを計算するカメラである。複数のカメラのうちどのカメラを基準カメラとして選択してもよい。
【００１７】
本実施形態では、画像処理システムを例えば人物追跡システムに用いる場合と、店舗解析システムとして用いる場合を例に挙げて説明する。これら以外の分野にも本発明に係る画像処理システムを適用することができる。
【００１８】
本実施形態の画像処理システムでは、カメラ１０（１）〜１０（４）として全方位カメラを用い、さらに、外部パラメータ計算における移動体３として人物を用いる場合を例に挙げてを説明する。なお、カメラ１０（１）〜１０（４）は、全方位カメラである必要はなく、単眼カメラ等でもよい。また、移動体２は人物である必要はなく、自動的に動き回るロボット等を用いてもよい。
【実施例１】
【００１９】
図１は、画像処理システム１を追跡システムに適用した場合の全体構成を示す。例えば、空港、港、商業施設、遊園地、病院、役所等の施設では、複数のカメラを用いて監視対象領域を監視する。
【００２０】
人物追跡システムとしての画像処理システム１は、例えば、複数の全方位カメラ１０、演算部１１、入力部１２、表示部１３、ハブ１４、記録部１５を備える。
【００２１】
演算部１１は、メモリ、マイクロプロセッサ、入出力回路、通信回路（いずれも不図示）等を含むコンピュータシステムとして構成される。演算部１１は、例えば、追跡部１１１、軌跡保存部１１２、軌跡連結部１１３、軌跡取得部１１４、設定部１１５、設定保存部１１６を備える。
【００２２】
全方位カメラ１０（１）〜１０（４）は、監視対象領域を撮影するための映像撮影手段である。図中では、４つのカメラを示すが、４個に限らない。画像処理システム１は、２個以上のカメラを使用可能であればよい。
【００２３】
以下では、特に区別しない場合、かっこ付きの数字を除いて説明する場合がある。例えば、カメラ１０（１）〜１０（４）をカメラ１０と、視野１００（１）〜１００（４）を視野１００と、視野重複領域１０１（１）〜１０１（３）を視野重複領域１０１と、それぞれ呼ぶ場合がある。
【００２４】
各カメラ１０の視野（撮影領域とも呼ぶ）１００は、全ての監視領域を網羅する必要はないが、隣接するカメラ同士は、移動体３が認識可能な大きさで同時に両方のカメラに映るように、視野１００が重複している必要がある。視野１００の重複した領域を視野重複領域１０１と呼ぶ。
【００２５】
「内部パラメータ取得部」の例である入力部１２は、カメラの設定に必要な情報を、画像処理システム１の設置作業を行うユーザから受け付ける装置である。ユーザは、例えば、カメラ１０の内部パラメータを入力部１２を介して演算部１１へ入力する。さらに、座標を自動的に検知しない場合、ユーザは、静止マーカ２の座標や、視野重複領域１０１にいる人物３の座標を手動で入力してもよい。入力部１２の例は後述するが、タッチパネル、キーボード、ポインティングデバイス、音声入力装置等を用いることができる。
【００２６】
表示部１３は、演算部１１で計算された静止マーカ２の座標や人物３の座標、人物３の移動軌跡等を表示する装置である。表示部１３としては、例えば、ディスプレイやプリンタ等を用いることができる。
【００２７】
入力部１２と表示部１３とは、演算部１１と何らかの通信規格を用いてデータを送受信できる装置であればよく、種類を問わない。
【００２８】
演算部１１は、カメラ１０から入力された画像や、入力部１２から入力された座標あるいは自動検知された座標を使って、人物３の追跡や外部パラメータの計算を行う。演算部１１は、メモリに格納された所定のコンピュータプログラムをマイクロプロセッサが実行することにより、各機能１１１〜１１６を実現する。以下、演算部１１の実現する機能ブロックについて説明する。
【００２９】
追跡部１１１は、カメラ１０で取得した画像を入力として、人物を追跡する。追跡部１１１は、所定の時間間隔で入力される画像から人物部分を検出し、検出した人物部分の画像上の座標を取得することにより、人物３を追跡する。人物３の追跡に使用する座標は、足下の座標または頭部の座標のいずれでもよい。
【００３０】
軌跡保存部１１２は、追跡部１１１で取得した座標と取得時刻および軌跡ＩＤとを入力として、それらをデータベース等の保存手段（不図示）に保存する。座標データは、画像上の座標と世界座標とに分けて保存する。軌跡保存部１１２は、画像上の座標と世界座標とを対応づけられて保存する。また、軌跡を連結する際に、人物３の外見等の画像特徴量を用いる場合、軌跡保存部１１２は人物画像も保存する。
【００３１】
軌跡連結部１１３は、軌跡保存部１１２に保存された世界座標、画像特徴量あるいはそれら両方を用いて、それぞれのカメラ１０の視野１００に存在する同一人物の軌跡を連結する。軌跡連結部１１３は、連結した軌跡に対して、カメラ間で共通のグローバルＩＤを割り当て、世界座標と共に軌跡保存部１１２へ出力する。
【００３２】
軌跡取得部１１４は、設定部１１５が外部パラメータを計算する際に、人物３の座標を設定部１１５へ出力する。軌跡取得部１１４は、カメラ間の視野重複領域１０１にいる人物３の座標を取得するか、あるいは、入力部１２から視野重複領域１０１にいる人物３の座標の入力を受け付けることができる。
【００３３】
設定部１１５は、軌跡取得部１１４から入力された座標情報と予め設定保存部１１６に保存された内部パラメータとを使って、カメラ１０の外部パラメータを計算する。
【００３４】
設定保存部１１６は、ユーザから入力された内部パラメータや設定部１１５で計算された外部パラメータを、データベース等の保存手段に保存する。
【００３５】
ハブ１４は、各カメラ１０に電源を供給したり、各カメラ１０から画像データを受信したりする装置である。ハブ１４と各カメラ１０とは、有線または無線のいずれでも接続することができる。ハブ１４と各カメラ１０とが無線で接続される場合、ハブ１４は各カメラ１０へ電源を供給する必要はない。
【００３６】
記録部１５は、各カメラ１０で撮影した画像データを記憶する装置である。記録部１５は、所定期間の画像データを保存するように構成することができる。
【００３７】
図２のフローチャートは、演算部１１の実施する外部パラメータ計算処理を示す。本処理は、ユーザの指示により開始される。ここでは、各カメラ１０（１）〜１０（４）のうち、カメラ１０（１）を基準カメラとして選択する例を述べる。これに限らず、他のカメラ１０（２）〜１０（４）のいずれも基準カメラとして選択可能である。
【００３８】
演算部１１は、各カメラ１０（１）〜１０（４）のうち基準カメラ１０（１）の内部パラメータを入力部１２から取得する（Ｓ１０）。ユーザが入力部１２から入力した基準カメラ１０（１）の内部パラメータは、設定保存部１１６に保存され、外部パラメータ計算の際に用いられる。
【００３９】
次に演算部１１は、静止マーカ２を用いて、基準カメラ１０（１）の外部パラメータを計算する（Ｓ１１）。この計算には例えば、非特許文献２を適用可能である。
【００４０】
ステップＳ１１の処理により、世界座標系の原点および軸が決定され、基準カメラ１０（１）の外部パラメータが計算される。
【００４１】
演算部１１は、視野重複領域１０１へ移動した移動体３を検出する（Ｓ１２）。移動体３は、基準カメラ１０（１）以外の他の各カメラ１０（２）〜１０（４）の視野を順次通過する移動マーカである。移動マーカには、作業者等の人物やロボット等を用いることができる。
【００４２】
演算部１１は、視野重複領域１０１に入った移動体３の座標を用いて、他のカメラについての外部パラメータを計算する（Ｓ１３）。全てのカメラ１０について外部パラメータの計算が完了するまで、ステップＳ１２，Ｓ１３を繰り返す。演算部１１は、全てのカメラ１０の外部パラメータを計算して保存が完了すると、本処理を正常終了する。
【００４３】
以後、画像処理システム１は、施設内を移動する人物の座標を正確に特定しながら追跡することができる。
【００４４】
基準カメラ１０（１）以外の他のカメラ１０（２）〜１０（４）の外部パラメータの計算方法を説明する。
【００４５】
まず、世界座標系と画像上の座標の相互変換について説明する。世界座標系におけるカメラの位置を（Ｘｃａｍ，Ｙｃａｍ，Ｚｃａｍ）とし、この系におけるピッチ角、ロール角、ヨー角をそれぞれα、β、γとすると、カメラの外部パラメータＥは以下のようになる。
【００４６】
【数１】
2019041261.tif 000003
【００４７】
外部パラメータＥにおけるロール角β、ピッチ角α、ヨー角γの順番で回転させた場合の３×３の回転行列をＲ、座標系の基準を世界座標からカメラ座標に移動するための３次元の並進ベクトルをｔとし、行列Ｍを以下のように定義する。
【００４８】
【数２】
2019041261.tif 000004
【００４９】
回転行列Ｒおよび並進ベクトルｔは、外部パラメータＥから求まる。人物の世界座標系における座標をＰｗ=［Ｘｗ，Ｙｗ，Ｚｗ］Ｔ、カメラ座標系における座標をＰｃ=［Ｘｃ，Ｙｃ，Ｚｃ］Ｔとすると、世界座標からＰｗからカメラ座標Ｐｃへの変換は以下のようになる。
【００５０】
【数３】
2019041261.tif 000005
【００５１】
画像上の座標系における画像中心をｐ０=［ｕ０，ｖ０］Ｔ、人物の座標ｐ=［ｕ，ｖ］Ｔとする。ここで、ρおよびｒを以下のように定義する。
【００５２】
【数４】
2019041261.tif 000006
【００５３】
【数５】
2019041261.tif 000007
【００５４】
カメラ座標Ｐｃから人物座標ｐには、数６に示すように変換できる。
【００５５】
【数６】
2019041261.tif 000008
ただし、ｆ（ρ）は、数７に示すように表される。
【００５６】
【数７】
2019041261.tif 000009
【００５７】
ｆ（ρ）を第何項までで表現するかは、必要精度により決定する。なお、数８は内部パラメータを示す。内部パラメータは予め計算されている。
【００５８】
【数８】
2019041261.tif 000010
【００５９】
以上の変換により、世界座標系の座標から画像上の座標へ変換できる。また上記の変換を逆に行うことで、画像上の座標から世界座標系の座標へ変換できる。ただし、画像上の座標から世界座標系の座標へ変換する場合、世界座標系における人物のＺ軸方向の値であるＺｗは既知である必要がある。以下では上記の変換を用いてカメラの外部パラメータを求める方法を説明する。
【００６０】
図３は、二つのカメラ間で外部パラメータを計算する際の模式図である。カメラ１０（１）は、基準カメラである。カメラ１０（２）は、移動体３を用いて外部パラメータを計算するカメラである。
【００６１】
基準カメラ１０（１）の外部パラメータは、事前に、静止マーカ２（１）および静止マーカ２（２）を用いて計算されている。基準カメラ１０（１）の外部パラメータを計算する際に、世界座標系２０が決定される。本実施例では、静止マーカ２（１）の位置に世界座標系２０の原点を置いたが、世界座標系２０の中で静止マーカの位置を一意に決定できればよく、どこに原点を置いてもよい。
【００６２】
この世界座標系２０をもとに、カメラ１０（２）の外部パラメータを計算する。カメラ１０（２）の外部パラメータは、世界座標系２０におけるカメラの位置（Ｘｃａｍ１，Ｙｃａｍ１，Ｚｃａｍ１）およびこの系におけるピッチ角α１、ロール角β１、ヨー角γ１の六つとし、以下のように定義する。
【００６３】
【数９】
2019041261.tif 000011
【００６４】
この外部パラメータＥ１を計算するために、視野重複領域１０１に移動マーカとしての人物３を通過させる。本実施例では、通過する人物３の身長Ｈがわかっている場合について説明する。移動マーカとしての人物３の身長がわかっていない場合は、足下の座標のみを使って外部パラメータを計算することも可能である。身長Ｈの値は、実際の長さと座標系におけるスケールとの対応により変化する。身長が既知の場合、より多くの座標が観測できるため、外部パラメータ計算の精度を高めることができる。
【００６５】
ある時刻τにおいて、人物３が基準カメラ１０（１）と外部パラメータの計算対象であるカメラ１０（２）との視野重複領域１０１（１）の位置にいる。図３では、この人物に符号３（１）を与える。
【００６６】
人物３（１）の足下の座標は、座標３０（１）（Ｐｆ１=［Ｘｗｐ１，Ｙｗｐ１，０］Ｔ）である。人物３（１）の頭部の座標は、座標３１（１）（Ｐｈ１=［Ｘｗｐ１，Ｙｗｐ１，Ｈ］Ｔ）である。
【００６７】
時刻τ＋１に、人物３（１）が視野重複領域１０１（１）内で移動したとする。図３では、この人物に符号３（２）を与える。
【００６８】
人物３（２）の足下の座標は、座標３０（２）（Ｐｆ２=［Ｘｗｐ２，Ｙｗｐ２，０］Ｔ）である。人物３（２）の頭部の座標は、座標３１（２）（Ｐｈ２=［Ｘｗｐ２，Ｙｗｐ２，Ｈ］Ｔ）となる。
【００６９】
ここでは、人物３は直立しているか、もしくは移動中においても身長が一定であるとしている。これに代えて、歩行モデルから身長の減衰量を算出し、正確な頭部の位置を求める方法もある。
【００７０】
これらの座標を基準カメラ１０（１）の画像上の座標から求め、更に求めた世界座標をカメラ１０（２）の画像上の座標に変換し、カメラ１０（２）に映った実際の座標との誤差が最小になるようにして、カメラ１０（２）の外部パラメータＥ１を計算する。
【００７１】
図４は、基準カメラ１０（１）およびカメラ１０（２）のカメラ画像を示す。画像４０（１）は、カメラ１０（１）の撮影した画像である。画像４０（２）は、カメラ１０（２）の撮影した画像である。
【００７２】
時刻τにおいて、基準カメラ１０（１）およびカメラ１０（２）とに映る人物３は、それぞれカメラ画像４０（１）の３（１１）およびカメラ画像４０（２）の３（２１）に対応する。
【００７３】
時刻τ＋１において、基準カメラ１０（１）とカメラ１０（２）とに映る人物３は、それぞれカメラ画像４０（１）の３（１２）およびカメラ画像４０（２）の３（２２）に対応する。
【００７４】
ここで、座標３０（１１）（ｐｉ１ｆ１）は、時刻τにおける人物３（１１）の足下の座標である。座標３０（１２）（ｐｉ１ｆ２）は、時刻τ＋１における人物３（１２）の足下の座標である。座標３０（２１）（ｐｉ２ｆ１）は、時刻τにおける人物３（２１）の足下の座標である。座標３１（２１）（ｐｉ２ｈ１）は、時刻τにおける人物３（２１）の頭部の座標である。座標３０（２２）（ｐｉ２ｈ２）は、時刻τ＋１における人物３（２２）の足下の座標である。座標３１（２２）（ｐｉ２ｈ２）は、時刻τ＋１における人物３（２２）の頭部の座標である。これらの座標は、人物検出手法を用いて自動的に検出してもよいし、ユーザが入力部１２から手動で入力してもよい。
【００７５】
基準カメラ１０（１）の画像上の座標を、世界座標に変換する。以下では、座標ｐｉ１ｆ１から世界座標Ｐｆ１に変換する例を用いて説明する。数６より、ｐｉ１ｆ１は、カメラ座標系の座標Ｐｃｆ１=［Ｘｃｆ１，Ｙｃｆ１，Ｚｃｆ１］Ｔに、数１０に示すように変換される。
【００７６】
【数１０】
2019041261.tif 000012
【００７７】
ここで数１１のように定義すると、Ｘｃｆ１、Ｙｃｆ１、Ｚｃｆ１は、ｒｃｆ１の一次式となる。数３により、Ｐｃｆ１は、数１２に示すようにして世界座標Ｐｆ１に変換される。
【００７８】
【数１１】
2019041261.tif 000013
【００７９】
【数１２】
2019041261.tif 000014
【００８０】
Ｐｃｆ１の座標の値は、ｒｃｆ１の一次式で表されているので、Ｐｆ１もｒｃｆ１の一次式で表される。Ｐｆ１のＺ座標は０であるので、ｒｃｆ１について解ける。従ってＰｆ１のＸ座標およびＹ座標が求まる。
【００８１】
Ｐｈ１は、Ｐｆ１のＺ座標を人物の身長Ｈとした座標となる。上記の操作により、画像４０（１）で検出した人物の足下の座標を全て世界座標に変換し、人の身長を用いて足下の座標に対する頭部の座標を全て計算する。
【００８２】
変換された世界座標は、数３と数６とカメラ１０（２）の外部パラメータＥ１とを用いて、画像４０（２）における画像上の座標に変換する。この座標は、パラメータＥ１の関数として表現できる。ｐｉ１ｆ１およびｐｉ１ｈ１を、画像４０（２）の画像上の座標に変換したときの座標を数１３のように表現する。
【００８３】
【数１３】
2019041261.tif 000015
【００８４】
実際に観測される座標は、ｐｉ２ｆ１およびｐｉ２ｈ１であり、誤差が生じる。パラメータＥ１は、この誤差を全ての点について計算し、誤差を最小にするような値を求める。すなわち、以下の数１４を最小にするＥ１を求める。
【００８５】
【数１４】
2019041261.tif 000016
【００８６】
最小化するＥ１を求めるアルゴリズムには、例えば、Ｇａｕｓｓ−Ｎｅｗｔｏｎ法等を用いることができる。
【００８７】
以上の操作により、基準カメラ１０（１）に隣接するカメラ１０（２）の外部パラメータを計算できる。また、外部パラメータの計算が終了したカメラ１０（２）においては、画像上の座標から世界座標に変換できる。したがって、カメラ１０（２）に隣接するカメラ１０（３）の外部パラメータも、上記の操作により計算することできる。
【００８８】
従って、本実施例では、基準カメラ１０（１）以外の他の各カメラ１０（２）〜１０（４）では、静止マーカ２を置くことなく、外部パラメータを計算することができ、設定作業時のユーザの作業負担を軽減することができる。
【００８９】
なお、上記の方法では、移動体３が視野重複領域１０１を通過する際に、同一人物であるかを特定する必要がある。そこで以下に、人物の特定法の例を説明する。
【００９０】
図５は、設定画面４１の例を示す。設定部１１５は、設定モードを備えている。例えば、ユーザは、表示部１３に表示されるメニューから設定モードを指定することで、画像処理システム１を設定モードへ移行させることができる。
【００９１】
図５では、設定モード中に同一人物の特定を手動で行う例を示す。設定画面４１は、例えば、一つめのカメラの画像４０（１）と、二つめのカメラの画像４０（２）とを並べて表示する。さらに、設定画面４１は、画像のフレームを一つ前に戻すボタン４１１と、フレームを一つ先に進めるボタン４１２と、設定モードを開始させるボタン４１３と、設定モードを終了させるボタン４１４を備える。画面には、座標を指定するポインタ４１５が表示される。なお、図５では、一つ目のカメラ画像４０（１）に人物３（１）が映っており、二つ目のカメラ画像４０（２）に人物３（２）が映っている。符号３０は、指定された人物３（１）の足下の座標を示す。
【００９２】
カメラ画像４０（１）とカメラ画像４０（２）には、それぞれ同一時刻の画像が表示されている。
【００９３】
ユーザが設定モード開始ボタン４１３を操作すると、設定モードに移行する。ユーザは、ボタン４１１またはボタン４１２を操作しながら、ある間隔で各カメラ画像４０（１），４０（２）に映る同一人物の座標を、ポインタ４１５により座標３０のように指定していく。ユーザが最後に終了ボタン４１４を操作すると、指定した座標３０により外部パラメータの計算が始まる。
【００９４】
この方法では、ユーザが手動で座標３０を入力するため、移動体３の特定時の座標誤差を低減することができる。また図５の方法によれば、移動体３としての人物を検知できないという事態が生じないため、高い信頼性で外部パラメータを計算できる。なお、図５では、二つのカメラ画像４０（１），４０（２）のみを表示する例を示したが、これに限らず、三台以上のカメラ画像を同時に表示してもよい。
【００９５】
図６は、設定モード中に、唯一の人物３をカメラ間に通過させ、各カメラの映像から人物３を自動検出することにより、同一人物を特定する例を示す。
【００９６】
設定画面４２は、複数のカメラ画像４０（１），４０（２）を並べて表示する。設定画面４２は、設定モード開始ボタン４２１と、設定モード終了ボタン４２２と、人物が検出されたことを通知するためのアラート４２３，４２４とを含む。
【００９７】
一つめのカメラ画像４０（１）には、移動体としての唯一の人物３（１）が映されている。その人物３（１）は、足下の座標３０（１）と頭部の座標３１（１）を持つ。二つめのカメラ画像４０（２）にも、人物３（２）が映されている。人物３（２）は、足下の座標３０（２）と頭部の座標３１（２）を持つ。
【００９８】
まず、ユーザが開始ボタン４２１を操作すると、画像処理システム１は設定モードに移行する。
【００９９】
設定モードへ移行した後で、視野重複領域１０１に唯一の人物３を通過させ、その人物３の座標を自動検出する。同一時刻に取得した座標は、同一人物の座標であると判断し、保存しておく。
【０１００】
最後に、ユーザが終了ボタン４２２を押すと、外部パラメータの計算が始まる。図６で述べた方法を用いると、移動体としての人物の座標を自動で検知できる。したがって、図６の例は、図５に示した例と比較して、設定作業時の負担をさらに軽減できる。なお、図６の場合も、設定モードの開始から設定モードの終了まで、唯一の人物を三台以上のカメラ間で通過させて、外部パラメータを計算してもよい。
【０１０１】
図７は、人物の外見等の画像特徴量を用いて、人物を自動的に特定する例を示す。図７の例では、設定モードは設けられていない。図７の例では、人物を追跡しながら画像特徴量を用いて、同一人物であるか特定する。
【０１０２】
設定画面４３には、人物３（１）の映ったカメラ画像４０（１）と、人物３（２）の映ったカメラ画像４０（２）とが並んで表示されている。点線の矩形４３１（１）は、一つ目のカメラ画像４０（１）において、同一人物であることを特定したことを示す表示要素である。同様に、点線の矩形４３１（２）は、二つ目のカメラ画像４０（２）において、同一人物を特定したことを示す表示要素である。人物３（１）の足下の座標３０（１）および頭部の座標３１（１）は、カメラ画像４０（１）から自動検出される。人物３（２）の足下の座標３０（２）および頭部の座標３１（２）は、カメラ画像４０（２）から自動検出される。
【０１０３】
図７に示す例では、カメラ画像内で人物を自動検出し、検出した人物の画像特徴量を計算する。そして、外部パラメータが計算されたカメラと計算されていないカメラとについて、同一時刻に映っている人物の画像特徴量を比較することにより、同一人物であるか否か判定する。
【０１０４】
同一人物と判定された場合は、座標を保存する。同一と判定された人物が検出されなくなった際に、外部パラメータの計算を開始する。この方法では、設定モードを設ける必要がなく、図５および図６で述べた方法と比較して、簡潔に外部パラメータを計算することができる。なお、図７の例においても、三台以上のカメラ画像を同時に表示して処理してもよい。
【０１０５】
このように構成される本実施例によれば、複数のカメラのそれぞれに静止マーカ２を設置して外部パラメータを計算する必要がなく、カメラの設置時の設定作業の効率を向上することができる。
【０１０６】
本実施例によれば、最初に基準となるカメラについてのみ静止マーカ２を用いて外部パラメータを演算すれば、他の各カメラについては、人物やロボット等の移動体３を視野重複領域１０１を通過するように移動させるだけで、外部パラメータを計算することができ、カメラを設定するユーザの使い勝手と作業効率を向上することができる。
【実施例２】
【０１０７】
図８〜図１０を用いて、第２実施例を説明する。本実施例を含む以下の各実施例では、第１実施例との相違を中心に説明する。
【０１０８】
本実施例では、第１実施例の外部パラメータ計算と同時に、外部パラメータを用いて変換する世界座標系から監視対象の施設内の平面図を作成する例を説明する。
【０１０９】
第１実施例の方法を用いると、外部パラメータの計算と同時に、移動体３の世界座標を得ることができる。本実施例では、移動体３の世界座標を用いて、移動体３の移動領域を検出し、平面図の移動可能領域を示す図の作成を支援する。なお、外部パラメータの計算手順については、第１実施例と同様である。
【０１１０】
図８は、本実施例に係る画像処理システム１ａの全体構成を示す。画像処理システム１ａは、第１実施例で述べた構成に対して、移動領域検出部１１７が追加されている。移動領域検出部１１７は、軌跡保存部１１２から軌跡を受け取り、その軌跡から移動領域を計算して、設定部１１５へ出力する。本実施例では、移動体として、自動走行するロボット３ａを用いる。ロボット３ａは、障害がないときは直進し、壁等の障害物に衝突するとランダムに方向転換して走行を継続する。以下、移動領域の検出法を説明する。
【０１１１】
図９に示すように、移動体３ａは、障害物に接触しないかぎり直進し、障害物に接触するとランダムに方向転換して直進する。したがって、ロボット３ａの軌跡から、ロボット３ａの移動可能な領域を検出することができる。なお、ロボット３ａに代えて、人がロボット３ａのような動作で歩行してもよい。
【０１１２】
図９の検出画面４４は、世界座標系におけるＸＹ平面を示す。検出画面４４には、ロボット３ａの移動軌跡４４１と、軌跡の折り返し地点について最近傍点同士を結んだ線４４２とが表示されている。
【０１１３】
図９に示すように、ロボット３ａを床面上でランダムに走行させ、世界座標系における軌跡を取得することで、移動領域を検出する。軌跡４４１に示すように、ロボット３ａを長距離走らせることで、移動可能領域を埋め尽くすようにして軌跡が発生する。
【０１１４】
また、ロボット３ａは、障害物に衝突すると方向転換するため、軌跡における折り返し点の最近傍点同士を接続することで、移動領域を囲む線４４２を描くことができる。ロボット３ａに十分な距離を走らせた後で、線４４２を軌跡全体で作成することにより、施設の平面図の移動可能領域を生成することができる。
【０１１５】
図１０は、移動体として人物を用い、世界座標系の軌跡において閉領域を形成することにより、移動領域を検出する例を示す。なお、同様の動作をロボットが行うことで、同様の効果が得られる。
【０１１６】
図１０の検出画面４５は、世界座標系におけるＸＹ平面を示す。検出画面４５には、人物の移動軌跡４５１と、移動軌跡４５１によって決定された移動領域４５２とが表示されている。
【０１１７】
人物は、軌跡４５１に示すように、閉領域を形成するように歩く。閉領域が完成するとその領域は移動可能領域４５２として決定される。一個あるいは複数個の閉領域を用いて、監視対象の施設内の全領域を埋め尽くすように移動軌跡を発生させる。これにより、施設内の平面図の移動可能領域を生成することができる。
【実施例３】
【０１１８】
図１１を用いて、第３実施例を説明する。本実施例の各カメラ１０ａは、撮像部１１０と演算部１１ａとを備える。演算部１１ａは、上述した各機能１１〜１１６のほかに、他のカメラ等と通信する通信部１１８を備える。通信部１１８は、無線または有線の通信ネットワークＣＮを介して、他のカメラ１０ａまたは端末５と通信する。
【０１１９】
端末５は、ユーザが情報を入力したり、カメラ１０ａの画像を確認したりするためのコンピュータ端末である。
【０１２０】
各カメラ１０ａは、軌跡保存部１１２の保持する軌跡データを、通信部１１８および通信ネットワークＣＮを介して、隣接するカメラ１０ａの設定部１１５へ引き渡す。これにより、本実施例では、各カメラ１０ａを統括する演算部１１を用いずに、各カメラ１０ａ間で情報をやり取りすることにより、視野内の移動体を特定して追跡し、座標を算出することができる。
【０１２１】
本実施例では、高機能化されたカメラ１０ａを用いるため、設定を一元管理する演算部１１を設ける必要がない。したがって、画像処理システム１の構成を簡素化でき、取付作業の作業性を改善することができる。
【０１２２】
なお、本発明は上記各実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１２３】
また、上記の各構成は、それらの一部又は全部が、ハードウェアで構成されても、プロセッサでプログラムが実行されることにより実現されるように構成されてもよい。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１２４】
１，１ａ：画像処理システム、２：静止マーカ、３，３ａ：移動体、１０，１０ａ：カメラ、１１，１１ａ：演算部、１２：入力部、１３：表示部、１１１：追跡部、１１２：軌跡保存部、１１３：軌跡連結部、１１４：軌跡取得部、１１５：設定部、１１６：設定保存部、１１７：移動領域検出部、１１８：通信部
【図１】
2019041261.tif 000017
【図２】
2019041261.tif 000018
【図３】
2019041261.tif 000019
【図４】
2019041261.tif 000020
【図５】
2019041261.tif 000021
【図６】
2019041261.tif 000022
【図７】
2019041261.tif 000023
【図８】
2019041261.tif 000024
【図９】
2019041261.tif 000025
【図１０】
2019041261.tif 000026
【図１１】
2019041261.tif 000027