(57)【要約】【課題】高精度に物体を追跡する。【解決手段】撮像画像を撮像する撮像装置のパラメータに基づいて、撮像画像の中から取得されたアノテーション対象の画像内の物体をアノテーションするアノテーション対象領域の角度を算出する角度計算部と、アノテーション対象の画像を取得し、画像内の物体のアノテーション対象領域の角度と画像とに基づいて、物体のアノテーション対象領域を生成するアノテーション作成部と、アノテーション対象領域の角度に基づいて、物体の検出に必要なパラメータの更新を行うことにより、画像とアノテーション対象領域の対応関係を学習する学習部と、を備える。【選択図】  図２
2019220073.tif 000002
【特許請求の範囲】
【請求項１】
撮像画像を撮像する撮像装置のパラメータに基づいて、前記撮像画像の中から取得されたアノテーション対象の画像内の物体をアノテーションするアノテーション対象領域の角度を算出する角度計算部と、
前記アノテーション対象の画像を取得し、前記画像内の物体のアノテーション対象領域の角度と前記画像とに基づいて、前記物体のアノテーション対象領域を生成するアノテーション作成部と、
前記アノテーション対象領域の角度に基づいて、前記物体の検出に必要なパラメータの更新を行うことにより、前記画像と前記アノテーション対象領域の対応関係を学習する学習部と、
を備えることを特徴とする物体追跡装置。
【請求項２】
請求項１に記載の物体追跡装置であって、
前記アノテーション対象領域の特徴量を抽出し、抽出した前記特徴量に基づいて、前記アノテーション対象の画像を紐付けする検出紐付け部と、
紐付けられた前記アノテーション対象の画像を表示部に出力する追跡結果表示部と、
を備えることを特徴とする物体追跡装置。
【請求項３】
請求項１に記載の物体追跡装置であって、
前記角度計算部は、前記撮像装置のパラメータとして、あらかじめ蓄積された、前記撮像装置の設置環境に関する外部パラメータと、前記撮像装置に固有の設定に関する内部パラメータとに基づいて、前記アノテーション対象領域の角度を計算する、
ことを特徴とする物体追跡装置。
【請求項４】
請求項１に記載の物体追跡装置であって、
前記角度計算部は、あらかじめ蓄積された、前記アノテーション対象の画像における前記撮像装置のレンズ中心座標に基づいて、前記アノテーション対象領域の角度を計算する、
ことを特徴とする物体追跡装置。
【請求項５】
請求項１に記載の物体追跡装置であって、
前記角度計算部は、あらかじめ蓄積された、前記アノテーション対象の画像の勾配に基づいて、前記アノテーションの角度を計算する、
ことを特徴とする物体追跡装置。
【請求項６】
請求項１に記載の物体追跡装置であって、
前記学習部は、畳み込み演算により前記アノテーション対象領域の特徴量を抽出し、前記畳み込み演算におけるカーネルを、前記角度計算部により計算された前記アノテーション対象領域の角度に基づいて回転させることにより、前記パラメータを更新する、
ことを特徴とする物体追跡装置。
【請求項７】
請求項２に記載の物体追跡装置であって、
前記アノテーション対象の画像上の位置と大きさの関係を計算する大きさ計算部を備え、
前記学習部は、前記大きさ計算部が計算した位置と大きさの関係に基づいて基準領域を設定し、
前記検出紐付け部は、前記基準領域に基づいて、前記抽出する前記アノテーション対象領域の特徴量の信頼度を決定することを特徴とする、
ことを特徴とする物体追跡装置。
【請求項８】
請求項７に記載の物体追跡装置であって、
前記大きさ計算部は、前記アノテーション作成部が生成した前記アノテーション領域の位置と大きさの対応関係に基づいて、前記アノテーション対象の画像上の座標と物体の大きさの関係を計算する、
ことを特徴とする物体追跡装置。
【請求項９】
請求項７に記載の物体追跡装置であって、
前記大きさ計算部は、前記撮像装置の設置環境に関する外部パラメータと、前記撮像装置に固有の設定に関する内部パラメータとに基づいて、前記位置と大きさの関係を計算する、
ことを特徴とする物体追跡装置。
【請求項１０】
撮像画像を撮像し、前記撮像画像を追跡装置に送信する撮像装置と、
前記撮像装置のパラメータに基づいて、前記撮像装置から受信した撮像画像の中から取得されたアノテーション対象の画像内の物体をアノテーションするアノテーション対象領域の角度を算出する角度計算部と、
前記アノテーション対象の画像を取得し、前記画像内の物体のアノテーション対象領域の角度と前記画像とに基づいて、前記物体のアノテーション対象領域を生成するアノテーション作成部と、
前記アノテーション対象領域の角度に基づいて、前記物体の検出に必要なパラメータの更新を行うことにより、前記画像と前記アノテーション対象領域の対応関係を学習する学習部と、を備えた前記追跡装置と、
を備えることを特徴とする物体追跡システム。
【請求項１１】
アノテーション作成部が、撮像画像の中からアノテーション対象の画像を取得し、
角度計算部が、前記撮像画像を撮像する撮像装置のパラメータに基づいて、前記アノテーション対象の画像内の物体をアノテーションするアノテーション対象領域の角度を算出し、
前記アノテーション作成部が、前記画像内の物体のアノテーション対象領域の角度と前記画像とに基づいて、前記物体のアノテーション対象領域を生成し、
学習部が、前記アノテーション対象領域の角度に基づいて、前記物体の検出に必要なパラメータの更新を行うことにより、前記画像と前記アノテーション対象領域の対応関係を学習する、
ことを特徴とする物体追跡方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体を追跡する技術に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特許文献１がある。該公報には、魚眼画像へのアノテーション付与方法として、魚眼画像を取得し、魚眼画像を透視投影変換した変換画像を生成し、変換画像を処理者に提示し、処理者から、変換画像に付与されるアノテーションに関するアノテーション情報の入力を受け付け、入力されたアノテーション情報に含まれる、変換画像でのアノテーションの座標情報を、魚眼画像での座標に変換し、変換後のアノテーション情報を、魚眼画像におけるアノテーション情報として記録する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−０２６１０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
物体追跡システムの主な用途として、例えば人物の追跡がある。人物の追跡では、撮像装置から画像を取得し、取得した画像において人物の検出を行い、別時間に取得した画像において検出された人物と紐付けを行う。追跡装置が紐付けを行う際には、人物を検出した各領域の画像における類似度を計算するため、人物領域の向きおよび範囲を正しく検出できていることが好ましい。また、物体追跡システムが出力した追跡結果を人間や分析装置が分析する場合において、分析を容易にするために、人物領域の向きおよび範囲を正しく検出できていることが好ましい。もちろん、人物以外の物体を追跡する場合においても、追跡装置は物体の領域の向きおよび範囲を正しく検出できていることが好ましい。
【０００５】
前記特許文献１では、物体を検出するために機械学習を用いており、学習用データ作成におけるアノテーション手法が記載されている。当該アノテーション手法は魚眼画像におけるアノテーション手法である。アノテーションの際に、まず魚眼画像を透視投影変換し、透視投影変換後の画像でアノテーションを行う。その後、付与されたアノテーションデータを魚眼画像上のアノテーションに逆変換する。この方法を用いることで、魚眼画像においても検出対象の物体の向きおよび範囲を正しくアノテーションできる。しかし、この方法では、透視投影変換後に歪みが多くなる領域において、アノテーションは困難である。これにより、アノテーションが困難な領域における学習は不正確になり、検出器が出力する物体の向きや範囲は不正確なものとなる。前記のように、追跡装置においては、物体の検出結果は、検出結果の紐付けや追跡結果の分析のために用いられ、画像上の全領域において正しい向きおよび範囲で検出できていることが好ましい。従って、物体追跡のためのアノテーション手法としては、当該アノテーション手法には改善の余地がある。
【０００６】
そこで、本発明は、高精度に物体を追跡する技術の提供を目的とする。
【課題を解決するための手段】
【０００７】
本発明にかかる物体追跡装置は、好ましくは、撮像画像を撮像する撮像装置のパラメータに基づいて、前記撮像画像の中から取得されたアノテーション対象の画像内の物体をアノテーションするアノテーション対象領域の角度を算出する角度計算部と、前記アノテーション対象の画像を取得し、前記画像内の物体のアノテーション対象領域の角度と前記画像とに基づいて、前記物体のアノテーション対象領域を生成するアノテーション作成部と、前記アノテーション対象領域の角度に基づいて、前記物体の検出に必要なパラメータの更新を行うことにより、前記画像と前記アノテーション対象領域の対応関係を学習する学習部と、を備えることを特徴とする物体追跡装置として構成される。
【０００８】
また、本発明は、好ましくは、撮像画像を撮像し、前記撮像画像を追跡装置に送信する撮像装置と、前記撮像装置のパラメータに基づいて、前記撮像装置から受信した撮像画像の中から取得されたアノテーション対象の画像内の物体をアノテーションするアノテーション対象領域の角度を算出する角度計算部と、前記アノテーション対象の画像を取得し、前記画像内の物体のアノテーション対象領域の角度と前記画像とに基づいて、前記物体のアノテーション対象領域を生成するアノテーション作成部と、前記アノテーション対象領域の角度に基づいて、前記物体の検出に必要なパラメータの更新を行うことにより、前記画像と前記アノテーション対象領域の対応関係を学習する学習部と、を備えた前記追跡装置と、を備えることを特徴とする物体追跡システムとして構成される。
【０００９】
また、本発明は、好ましくは、上記物体追跡装置、上記物体追跡システムで行われる物体追跡方法としても把握される。
【発明の効果】
【００１０】
本発明の一態様によれば、高精度に物体を追跡することができる。それ以外の効果については、各実施例で述べる。
【図面の簡単な説明】
【００１１】
【図１】一実施例を示す基本構成図
【図２】一実施例を示すアノテーション作成のフローチャート
【図３】一実施例を示す学習のフローチャート
【図４】一実施例を示す追跡のフローチャート
【図５】一実施例を示す追跡結果表示のフローチャート
【図６】一実施例を示すカメラパラメータの蓄積方法
【図７】一実施例を示すカメラパラメータの蓄積方法
【図８】一実施例を示すアノテーション作成の表示画面
【図９】一実施例を示すカメラパラメータの蓄積方法
【図１０】一実施例を示すアノテーション作成の表示画面
【図１１】一実施例を示す構成図
【図１２】一実施例を示す画像勾配データ作成のフローチャート
【図１３】一実施例を示す画像勾配の蓄積方法
【図１４】一実施例を示すアノテーション作成の表示画面
【図１５】一実施例を示す構成図
【図１６】一実施例を示す学習のフローチャート
【図１７】一実施例を示す追跡のフローチャート
【発明を実施するための形態】
【００１２】
以下、実施の形態について、図面を用いて詳細に説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【００１３】
以下に説明する発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
【００１４】
本明細書等における「第１」、「第２」、「第３」などの表記は、構成要素を識別するために付するものであり、必ずしも、数または順序を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【００１５】
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
【００１６】
本明細書において単数形で表される構成要素は、特段文脈で明らかに示されない限り、複数形を含むものとする。
【実施例１】
【００１７】
本実施形態では、物体追跡システムの一例として、人物の追跡を行い、撮像装置に全方位カメラを用いる例を説明する。なお、カメラは全方位カメラである必要はなく、BOXカメラなど、カメラの内部パラメータおよび外部パラメータから物体の向きを計算可能なものであればよい。また、追跡対象は人物である必要はなく、物体が撮像装置に映る位置から向きを計算可能なものであればよい。
【００１８】
図１は、本実施形態で用いられる構成例を示す図である。図に示すように本実施形態の物体追跡システム１は、複数の全方位カメラ１００、入力装置１０１、表示装置１０２、追跡装置１０３を有して構成される。また、追跡装置１０３は、画像データ蓄積部１０４、アノテーション作成部１０５、アノテーション蓄積部１０６、カメラパラメータ蓄積部１０７、角度計算部１０８、学習部１０９、学習結果蓄積部１１０、検出部１１１、検出紐付け部１１２、追跡結果蓄積部１１３、追跡結果表示部１１４で構成される。以下で各ブロックについて説明する。
【００１９】
全方位カメラ１００は、監視対象領域を撮影するための撮像装置である。全方位カメラ１００は、監視対象を継続的に撮影し、撮影した画像を追跡装置１０３に送信する。本実施例では、物体の追跡を追跡装置１０３で実施しているが、物体の追跡を全方位カメラ１００内で実施する方法も可能である。
【００２０】
入力装置１０１は、ユーザーからの入力を受け付ける装置である。入力装置１０１は、例えば、マウスやキーボード、あるいは表示装置１０２と一体となったタッチパネルである。ユーザーは、入力装置１０１を用いてカメラパラメータやアノテーションの入力、あるいは追跡の開始や終了などの追跡装置の操作を行う。
【００２１】
表示装置１０２は、追跡装置１０３が生成した表示データを表示する装置である。表示装置１０２は、例えば、液晶ディスプレイやプロジェクタである。ユーザーは、表示装置１０２に表示される情報により、アノテーションの作成や追跡結果の確認を行う。
【００２２】
追跡装置１０３は、アノテーションデータの作成や物体追跡のための学習、物体の追跡を行うコンピュータである。以下で追跡装置１０３内の各ブロックについて説明する。
【００２３】
画像データ蓄積部１０４は、全方位カメラ１００から送信された画像データを受信し、保存する。画像データ蓄積部１０４は、例えば、ハードディスクドライブやソリッドステートドライブ、あるいはSDカードである。画像を保存する際には、画像データ蓄積部１０４は、全方位カメラ１００から受け取ったままの画像を保存してもよいし、受け取った画像を圧縮して保存してもよい。アノテーション作成時や学習時、検出時、追跡結果表示時に、対象の画像が、画像データ蓄積部１０４から各ブロックにより読み出される。
【００２４】
アノテーション作成部１０５は、人物検出を行うための学習に必要なアノテーションデータの作成を行う。アノテーション作成部１０５は、アノテーション対象の画像を画像データ蓄積部１０４から読み出し、入力装置１０１を介してユーザーからアノテーションの入力を受け付ける。また、アノテーション作成部１０５は、アノテーション蓄積部１０６から過去のアノテーションデータを読み出す。前記のユーザーから入力されたアノテーションデータおよび過去のアノテーションデータを角度計算部１０８に送信し、角度計算部１０８から各アノテーションの角度（すなわち、アノテーション対象領域の角度）を受信する。アノテーション作成部１０５は、前記のアノテーションデータおよび各アノテーションに対応する角度を基にアノテーション情報（例えば、アノテーションするそれぞれの人物領域の位置や大きさ）を前記の画像蓄積部１０４から読み出した画像に描画し、表示装置１０２に送信する。アノテーション作成部１０５は、アノテーション作成が終了したら、アノテーション情報を描画した画像を含むアノテーションデータをアノテーション蓄積部１０６に送信する。
【００２５】
アノテーション蓄積部１０６は、作成されたアノテーションデータの蓄積を行う。アノテーション蓄積部１０６は、例えば、画像データ蓄積部１０４と同様の記憶装置から構成される。アノテーション作成時に、アノテーション作成部１０５により、アノテーション蓄積部１０６から過去のアノテーションデータが読み出され、アノテーション作成部１０５が作成したアノテーションデータが、アノテーション蓄積部１０６に蓄積される。また、学習時には、学習部１０９により、アノテーション蓄積部１０６からアノテーションデータが読み出される。
【００２６】
カメラパラメータ蓄積部１０７は、カメラの内部パラメータやカメラの外部パラメータを保存する。カメラパラメータ蓄積部１０７は、例えば、画像データ蓄積部１０４と同様の記憶装置から構成される。カメラパラメータ蓄積部１０７は、入力装置１０１を介してユーザーから受け付けられたカメラパラメータを蓄積する。角度計算部１０８がアノテーションの角度を計算する際に、カメラパラメータ蓄積部１０７が保存したカメラパラメータが、角度計算部１０８により読み出される。
【００２７】
学習部１０９は、人物検出を可能にするための学習を行う。学習部１０９は、学習の際に、画像データ蓄積部１０４から学習対象の画像を読み出し、アノテーション蓄積部１０６から当該画像に対応するアノテーションデータを読み出す。また、学習部１０９は、角度計算部１０８にアノテーションデータを送信し、角度計算部１０８からアノテーションの角度を受け取ることで、角度を考慮した学習を行うことができる。学習部１０９は、画像とアノテーションの対応関係を学習し、人物検出に必要なパラメータを生成する。パラメータとは、例えば、ニューラルネットワークの重みパラメータである。学習により生成されたパラメータは、学習結果蓄積部１１０に送信される。
【００２８】
学習結果蓄積部１１０は、学習部１０９が生成した学習結果のパラメータを受信し、保存する。学習結果蓄積部１１０は、例えば、画像データ蓄積部１０４と同様の記憶装置から構成される。保存したパラメータは、人物追跡実行時に、検出部１１１により読み出される。
【００２９】
検出部１１１は、画像上の人物を検出する。検出部１１１は、人物追跡実行時に、学習結果蓄積部１１０から、学習により得られたパラメータを読み出す。検出部１１１は、検出対象画像を画像データ蓄積部１０４から読み出し、前記学習結果蓄積部１１０から取得したパラメータを用いて画像上の人物を検出する。検出部１１１は、検出が完了すると、検出結果を検出データとして検出紐付け部１１２に送信する。
【００３０】
検出紐付け部１１２は、検出部１１１から受信した上記検出データに含まれる各画像の検出結果において、同一人物の検出結果を紐付ける。具体的には、検出紐付け部１１２は、検出部１１１から検出対象の画像と検出データを受信すると、当該検出データを角度計算部１０８に送信し、角度計算部１０８から検出データに基づいて算出されたアノテーションの角度を受信する。検出紐付け部１１２は、検出データおよびアノテーションの角度を基に人物の領域を決定し、特徴量を抽出する。検出紐付け部１１２は、例えば、抽出した特徴量や位置情報を用いて両者を紐付けする。検出紐付け部１１２は、紐付けの結果や検出データを追跡結果蓄積部１１３に送信する。
【００３１】
追跡結果蓄積部１１３は、検出データおよび紐付け結果を保存する。追跡結果蓄積部１１３は、例えば、画像データ蓄積部１０４と同様の記憶装置から構成される。追跡結果蓄積部１１３は、検出紐付け部１１２から紐付けが完了した検出データを蓄積する。保存するデータは、例えば、同一人物の検出データを紐付けるIDや、検出した画像のID、検出時刻、検出結果の座標、検出した人物の大きさである。追跡結果を確認する際に、蓄積された追跡結果が、追跡結果表示部１１４により読み出される。
【００３２】
追跡結果表示部１１４は、追跡結果蓄積部１１３から読み出した追跡結果を表示するための表示データを作成する。追跡結果表示部１１４は、ユーザーが追跡結果を確認する際に、追跡結果蓄積部１１３から追跡結果を読み出し、読み出した追跡結果を角度計算部１０８に送信し、角度計算部１０８からアノテーションの角度を受信する。また、追跡結果表示部１１４は、追跡結果に対応する画像を画像データ蓄積部１０４から読み出し、読み出した追跡結果およびアノテーションの角度を基に、画像データ蓄積部１０４から読み出した画像に追跡結果を描画し、表示データを作成する。追跡結果表示部１１４は、作成した表示データを表示装置１０２に送信する。
【００３３】
アノテーション作成部１０５、学習部１０９、検出部１１１、検出紐付け部１１２、追跡結果表示部１１４は、例えば、ＣＰＵ（Central Processing Unit）等の演算装置から構成された制御部がプログラムを実行することにより、これらの各部の機能が実現される。例えば、制御部は、アノテーション作成部１０５、学習部１０９、検出部１１１、検出紐付け部１１２、追跡結果表示部１１４の各機能を実現するためのプログラムやモジュールを、図示しないメモリにロードして実行する。
【００３４】
上記プログラムは、図示しないネットワークインタフェースを介してネットワークから追跡装置にダウンロードされ、メモリ上にロードされて、制御部により実行されるようにしてもよい。また、ＣＤ(Compact Disk)やＤＶＤ(Digital Versatile Disk)等の可搬性を有するコンピュータで読み取り可能な記憶媒体に対して情報を読み書きする読書装置を介して、当該記憶媒体からメモリ上に直接ロードされ、制御部により実行されるようにしてもよい。さらには、上記プログラムを、コンピュータにインストール可能な形式又は実行可能な形式のファイルで上記記憶媒体に記録して提供したり、配布してもよい。さらには、上記プログラムを、通信ネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供したり、配布してもよい。
【００３５】
図２は、本実施形態で用いられるアノテーション作成のフローを示す図である。以下でアノテーション作成のフローについて説明する。
【００３６】
ステップ２００では、ユーザーのアノテーション開始操作により、アノテーションの作成を開始する。
【００３７】
ステップ２０１では、アノテーション作成部１０５が、アノテーション対象となる画像を画像データ蓄積部１０４から取得する。対象となる画像の選択には、例えば、入力装置１０１が、ユーザーから対象となる画像のIDの指定を受け付けて、指定された画像のIDをアノテーション作成部１０５に指示する方法がある。
【００３８】
ステップ２０２では、アノテーション作成部１０５が、上記指定されたアノテーション対象の画像に対する過去のアノテーションデータを、アノテーション蓄積部１０６から取得する。画像とアノテーションとの対応付けは、例えば、アノテーションデータとして画像IDを保持しておき、画像と紐付ける方法がある。取得するアノテーションデータには、例えば、人物の座標や人物の大きさを示すアノテーション情報が含まれる。一枚の画像に対して複数のアノテーション情報がある場合には、アノテーション作成部１０５は、当該画像IDに対応する全てのアノテーション情報を取得する。
【００３９】
ステップ２０３では、アノテーション作成部１０５は、ステップ２０２で取得したアノテーションデータを角度計算部１０８に送信する。送信するデータには、例えば、アノテーションとしてアノテーション対象領域である人物領域を矩形で囲い、矩形の底辺中心を人物の足元として、その画像上の座標(xfoot, yfoot)を示すアノテーション情報が含まれる。
【００４０】
ステップ２０４では、角度計算部１０８が、カメラパラメータ蓄積部１０７からカメラパラメータを取得する。取得するカメラパラメータには、例えば、全方位カメラ１００の設置高さhやピッチ角α、ロール角β、ヨー角γ、カメラのレンズ中心座標(xcenter, ycenter)といった全方位カメラ１００の設置環境に関する外部パラメータ、カメラモデルに沿ったパラメータ（例えば、人物の歪を修正するためのパラメータ）といった全方位カメラ１００に固有の設定に関する内部パラメータが含まれる。
【００４１】
ステップ２０５では、角度計算部１０８が、ステップ２０３で受信したアノテーションデータおよびステップ２０４で受信したカメラパラメータに基づいて、アノテーションの角度を計算する。角度の計算には、例えば以下の方法で行う。説明に出てくる座標や角度は図８に示す。
【００４２】
まず、角度計算部１０８は、受信したアノテーションデータに含まれるアノテーション情報である座標(xfoot, yfoot)を、全方位カメラ１００の外部パラメータおよび内部パラメータを用いて世界座標(Xfoot, Yfoot, 0)に変換する。変換には、例えば、全方位カメラ１００のキャリブレーション手法を用いる。角度計算部１０８は、変換して得られた世界座標(Xfoot, Yfoot, 0)に対して、垂直上方向の座標(Xfoot, Yfoot, H)を設定する。このHは、0から十分離れていればよく、人物の頭の座標など特定の座標を得る必要はない。角度計算部１０８は、世界座標(Xfoot, Yfoot, H)に対して、外部パラメータおよび内部パラメータを用いて、画像上の座標(xh, yh)に変換する。図８において、二つの座標(xfoot, yfoot)と(xh, yh)を結んだ直線と垂直な直線のなす角度θが求める角度である。
【００４３】
ステップ２０６では、角度計算部１０８は、ステップ２０５で計算したアノテーションの角度をアノテーション作成部１０５に送信する。
【００４４】
ステップ２０７では、アノテーション作成部１０５が、ステップ２０２で取得したアノテーションデータと、ステップ２０６で受信したアノテーションの角度とに基づいて、アノテーション対象の画像に矩形を描画する。矩形の描画には、例えば、アノテーションデータに含まれるアノテーション情報が人物の中心座標と大きさである場合、中心座標と大きさから矩形の四隅の座標を計算し、各座標を角度に基づいて回転し、回転した座標を線分で結ぶ方法を用いる。
【００４５】
ステップ２０８では、アノテーション作成部１０５が、ステップ２０７で作成した矩形描画済みの画像を含むアノテーションデータを表示装置１０２に送信する。ユーザーは、表示装置１０２に表示された画像を確認し、入力装置１０１を介してアノテーションデータの追加や修正、削除を行う。例えば、ユーザーは、マウスのドラッグ操作を行って、アノテーションデータの追加や修正を行う。
【００４６】
ステップ２０９では、アノテーション作成を終了するか続行するかをユーザーが決定する。例えば、入力装置１０１が、ユーザーからアノテーション作成のために受け付けたドラッグ操作が終了した旨を出力する。アノテーション作成部１０５は、当該終了した旨を受け取ったか否かを判定し、当該終了した旨を受け取ったと判定した場合（ステップ２０９；Ｙｅｓ）、ユーザーがアノテーション作成を終了したと判断し、ステップ２１２に進む。一方、アノテーション作成部１０５は、当該終了した旨を受け取っていないと判定した場合（ステップ２０９；Ｎｏ）、ユーザーがアノテーション作成を続行していると判断し、ステップ２１０に進む。
【００４７】
ステップ２１０では、アノテーション作成部１０５が、ユーザーがアノテーション作成を続行していると判定した場合に、入力装置１０１は、引き続き、ユーザーから入力装置１０１を介してアノテーションデータの入力を受け付ける。アノテーションデータの入力は、例えば、ユーザーが人物領域を矩形で入力する方法がある。
【００４８】
ステップ２１１では、入力装置１０１が、ステップ２１０でユーザーから入力されたアノテーションデータをアノテーション作成部１０５に送信する。アノテーション作成部１０５は、当該アノテーションデータを受信すると、ステップ２０２の場合と同様に、アノテーション対象の画像と、当該画像のIDとを紐付けしたアノテーションデータを出力する。その後、再びステップ２０３が開始し、アノテーション作成部１０５は、アノテーションの角度の計算とアノテーション結果の描画および表示を行う。
【００４９】
このサイクルは、ユーザーが一つのアノテーションデータの入力を終えてから一回実行されてもよいし、ユーザーがアノテーションデータを入力途中であってもリアルタイムにサイクルを実行してもよい。ユーザーの入力途中にリアルタイムで処理を実行することで、ユーザーはその時点での角度を考慮したアノテーションデータを確認することができ、アノテーション作業が容易になる。
【００５０】
ステップ２１２では、アノテーション作成部１０５が、ユーザーがアノテーション作成を終了したと判定した場合、その時点でのアノテーションデータを出力し、アノテーション蓄積部１０６に送信する。アノテーションデータの作成については、ステップ２０２、ステップ２１１と同様の方法で行われる。
【００５１】
ステップ２１３では、アノテーション作成部１０５は、アノテーション蓄積部１０６に、作成したアノテーションデータを保存する。本実施形態におけるステップ２１２およびステップ２１３によるアノテーションデータの保存は、アノテーション作成終了の時点で行われるが、一つのアノテーションを作成する毎にステップ２１２およびステップ２１３を実行し、保存してもよい。
【００５２】
ステップ２１４では、アノテーション作成部１０５は、アノテーション作成を終了する。
【００５３】
本実施形態のアノテーション作成は、人物が映る方向をカメラの内部パラメータおよび外部パラメータから計算して、人物の向きおよび範囲を正しくアノテーションする。すなわち、角度計算部１０８が、撮像画像を撮像する全方位カメラ１００のパラメータに基づいて、撮像画像の中から取得されたアノテーション対象の画像内の物体をアノテーションするアノテーション対象領域の角度を算出し、アノテーション対象の画像を取得し、アノテーション作成部１０５が、画像内の物体のアノテーション対象領域の角度と画像とに基づいて、物体のアノテーション対象領域を生成し、学習部１０９が、アノテーション対象領域の角度に基づいて、物体の検出に必要なパラメータの更新を行うことにより、画像とアノテーション対象領域の対応関係を学習する。この方法をとることによって、物体検出の学習を行う際に、学習部１０９が適切な範囲を対象物体として学習するため、検出精度が向上する。
【００５４】
図３は、本実施形態で用いられる学習のフローを示す図である。以下で学習のフローについて説明する。
【００５５】
ステップ３００では、ユーザーの学習開始操作により、学習を開始する。
【００５６】
ステップ３０１では、学習部１０９が、画像データ蓄積部１０６から学習対象となる画像を取得する。取得する枚数は、一枚でもよいし、複数枚でもよい。
【００５７】
ステップ３０２では、学習部１０９が、アノテーション蓄積部１０６からステップ３０１で取得した学習対象の画像に対するアノテーションデータを取得する。画像とアノテーションデータの紐付けを行うには、例えば、学習部１０９が、学習対象の画像のIDをアノテーション蓄積部１０６に送信し、アノテーション蓄積部１０６の中から当該画像のIDを含むアノテーションデータを検索する方法がある。
【００５８】
ステップ３０３からステップ３０６は、図２のアノテーション作成フローにおけるステップ２０３からステップ２０６と同様であり、データの送信およびアノテーションの角度の受信をアノテーション作成部１０５ではなく、学習部１０９が行う。また、例えば、学習部１０９が畳み込み演算により画像特徴量を抽出する場合、ステップ３０３で送信されるデータは畳み込みを行う座標である。
【００５９】
ステップ３０７では、学習部１０９が、角度計算部１０８から受信したアノテーションの角度に基づいて、人物検出に必要なパラメータの更新を行う。パラメータの更新方法として、例えば、畳み込み演算におけるカーネルを、角度計算部１０８から受信したアノテーションの角度に基づいて回転させる方法がある。以下で３×３のカーネルを用いて、画像上の座標(xc, yc)における畳み込みの計算方法を説明する。座標(x, y)におけるピクセル値をI(x, y)、３×３のカーネルの中心を(0, 0)としてカーネルをk(x, y)とすると畳み込みの出力cout(xc, yc)は以下のようになる。
【００６０】
【数１】
2019220073.tif 000003
【００６１】
ここで、(x, y)を(xc, yc)を中心として角度θ回転させた座標を(xr(θ, xc, yc, x, y), yr(θ, xc, yc, x, y))とすると、カーネルを回転させた畳み込みの出力は以下のようになる。
【００６２】
【数２】
2019220073.tif 000004
【００６３】
ただし、座標(xr(θ, xc, yc, x, y), yr(θ, xc, yc, x, y))が整数でない場合、Bilinear interpolationなどの手法を用いて画素値を補完する。この計算により、カーネルの値を更新する。
【００６４】
ステップ３０８では、学習部１０９は、学習を終了するか続行するかを判定する。ユーザーから入力装置１０１が受け付けた指示に従って、学習部１０９が学習を中断してもよいし、予めユーザーが学習回数を決定しておき、学習部１０９が当該回数に達したか否かを判定することにより、学習の終了を判断してもよい。
【００６５】
ステップ３０９では、学習部１０９が、学習を終了すると判定した場合（ステップ３０８；Ｙｅｓ）、学習したパラメータを学習結果蓄積部１１０に送信する。一方、学習部１０９は、学習を続行すると判定した場合（ステップ３０８；Ｎｏ）、ステップ３０１に戻り、以降の処理を繰り返す。
【００６６】
ステップ３１０では、学習部１０９は、学習結果蓄積部１１０に上記パラメータを保存する。
【００６７】
ステップ３１１では、学習部１０９は、学習を終了する。
【００６８】
本実施形態の学習は、画像上の各位置において、その位置に適切な角度を考慮した学習である。角度を考慮した学習を行うことによって、例えば、畳み込み演算で画像特徴量を抽出した場合、人物が異なる方向に映っていたとしても、同一のカーネルで同一の特徴量を抽出することができる。また、学習部１０９がConvolutional neural networkである場合、カーネルを回転させてReceptive fieldを正しい範囲に限定することによって、検出器の検出精度が向上する。
【００６９】
図４は、本実施形態で用いられる追跡のフローを示す図である。以下で追跡のフローについて説明する。
【００７０】
ステップ４００では、ユーザーの追跡開始操作により、追跡を開始する。
【００７１】
ステップ４０１では、検出部１１１が、学習結果蓄積部１１０から、ステップ３０７で更新された学習済みパラメータを受け取る。検出部はこのパラメータを用いて人物の検出を行う。パラメータは、例えば、Convolutional neural networkのカーネルやバイアスである。
【００７２】
ステップ４０２では、検出部１１１が、検出対象となる画像を画像蓄積部１０６から取得する。追跡を継続している間、検出部１１１は、全方位カメラ１００により連続的に撮影された画像を順次取得する。
【００７３】
ステップ４０３では、検出部１１１が、人物の検出を行う。検出部１１１は、例えば、Convolutional neural networkで構成され、検出結果として人物の位置を表す座標と、人物の大きさを表す幅および高さ、検出領域が人物であるかどうかを表す信頼度を含む検出データを出力する。
【００７４】
ステップ４０４では、検出部１１１が、検出した結果を含む検出データ検出紐付け部１１２に送信する。検出部１１１が送信する検出データは、例えば、検出対象の画像と検出した人物の画像上の座標と大きさ、検出領域が人物であるかどうかを表す信頼度を含む。  ステップ４０５からステップ４０８は、図２のアノテーション作成フローにおけるステップ２０３からステップ２０６と同様であり、データの送信およびアノテーションの角度の受信を、アノテーション作成部１０５ではなく、検出紐付け部１１２が行う。また、ステップ４０５で送信される検出データは、例えば、検出部１１１が検出した人物の座標である。この座標は、人物の足元ではなく、人物の中心座標となるため、検出紐付け部１１２は、変換後の世界座標を人物の平均身長haveなどを用いて、(Xbody, Ybody, have/2)とz軸方向を近似する。
【００７５】
ステップ４０９では、検出紐付け部１１２が、検出部１１１から受信した検出データおよび角度計算部１０８から受信したアノテーションの角度を用いて、人物領域を決定し、領域の特徴量を計算する。特徴量の抽出方法は、例えば、検出データと角度から人物の領域を矩形で表し、矩形内の特徴量を抽出する。特徴量の計算には色ヒストグラムや画像勾配ヒストグラムを用いてもよいし、機械学習手法を用いた特徴量抽出を用いてもよい。
【００７６】
ステップ４１０では、検出紐付け部１１２は、現在のフレームにおける検出データと、過去の別時間におけるフレームの検出データとを紐付ける。紐付けには、例えば、検出結果の座標のユークリッド距離を計算し、ユークリッド距離が近い検出データを紐付けたり、ステップ４０９で抽出された特徴量のユークリッド距離を計算して、ユークリッド距離が近い検出データを紐付けたりする方法がある。
【００７７】
ステップ４１１では、検出紐付け部１１２は、検出データの紐付け結果を追跡結果蓄積部１１３に送信する。検出データの紐付け結果は、例えば、検出データに含まれる同一人物に同一のIDを割り当て、人物IDとして保存する方法がある。また、検出データがどの画像のものであるかを識別するため、検出紐付け部１１２は、例えば、検出データに画像IDを紐付けて保存しておく。
【００７８】
ステップ４１２では、検出紐付け部１１２は、追跡結果蓄積部１１３に、検出データの紐付け結果を追跡データとして保存する。
【００７９】
ステップ４１３では、検出紐付け部１１２は、追跡を終了するか続行するかを判定する。ユーザーから入力装置１０１が受け付けた指示に従って、検出紐付け部１１２が追跡を中断してもよいし、予めユーザーが追跡する時間を決定しておき、検出紐付け部１１３が当該時間に達したか否かを判定することにより、追跡の終了を判断してもよい。
【００８０】
ステップ４１４では、検出紐付け部１１２は、追跡を中断すると判定した場合（ステップ４１３；Ｙｅｓ）、追跡を終了する。一方、検出紐付け部１１２は、追跡を中断すると判定しない場合（ステップ４１３；Ｎｏ）、ステップ４０２に戻り、以降の処理を繰り返す。
【００８１】
本実施形態の追跡は、検出部１１１が出力する検出結果および角度計算部１０８により計算される角度を用いて人物の向きおよび範囲を正しく決定し、特徴量を抽出する。この方法を用いることによって、特徴量に背景など人物以外の影響が入ることを抑制し、人物の特徴量を正しく抽出できるようになる。その結果、検出紐付けの精度が向上し、追跡精度が向上する。
【００８２】
図５は、本実施形態で用いられる追跡結果表示のフローを示す図である。以下で追跡結果表示のフローについて説明する。
【００８３】
ステップ５００では、ユーザーの追跡結果表示開始操作により、追跡結果の表示を開始する。
【００８４】
ステップ５０１では、追跡結果表示部１１４が、追跡結果表示対象の画像を取得する。
【００８５】
ステップ５０２では、追跡結果表示部１１４が、追跡結果蓄積部１１３から追跡データを取得する。取得する追跡データには、追跡結果として、例えば、人物の位置を表す座標や大きさを表す幅と高さ、人物ID、検出対象となった画像IDが含まれる。
【００８６】
ステップ５０３からステップ５０６は、図４の追跡フローにおけるステップ４０５からステップ４０８と同様であり、データの送信およびアノテーションの角度の受信を、検出紐付け部１１２ではなく、追跡結果表示部１１４が行う。
【００８７】
ステップ５０７では、追跡結果表示部１１４が、追跡結果蓄積部１１３から受信した追跡データおよび角度計算部１０８から受信したアノテーションの角度を用いて、追跡データに含まれる追跡結果を、ステップ５０１で取得した追跡対象画像に描画する。追跡結果の表示には、例えば、追跡結果表示部１１４は、追跡結果の座標を中心とし、追跡結果の幅と高さを持つ矩形を作成し、垂直方向から追跡結果の角度だけ回転させて追跡対象画像に描画する。また、人物IDに基づいて矩形の色を変化させ、異なる人物の識別を容易にする方法がある。
【００８８】
ステップ５０８では、追跡結果表示部１１４が、ステップ５０７で作成した画像を表示装置１０２に送信する。
【００８９】
ステップ５０９では、表示装置１０２が、追跡結果をユーザーに表示する。
【００９０】
ステップ５１０では、追跡結果表示部１１４は、追跡結果の表示を終了するか続行するかを判定する。ユーザーから入力装置１０１が受け付けた指示に従って、追跡結果表示部１１４が追跡結果の表示を中断してもよいし、予めユーザーが追跡結果を表示する時間を決定しておき、追跡結果表示部１１４が当該時間に達したか否かを判定することにより、追跡結果表示の終了を判断してもよい。
【００９１】
ステップ５１１では、追跡結果表示部１１４は、追跡結果表示を終了する。
【００９２】
本実施形態の追跡結果表示は、追跡結果蓄積部１１３が保存している追跡結果および角度計算部１０８により計算されるアノテーションの角度を用いて人物の向きおよび範囲を正しく決定し、ユーザーに提供する。この方法により、例えば、人物を切り出して表示する場合、背景領域の映りこむ割合を減少させることができる。また、人物領域を切り出し、追跡結果の角度に基づいて領域を回転させることで、全ての人物を垂直上向きに表示することが可能となり、ユーザーが人物を探す際の視認性が向上する。
【００９３】
図６は、本実施形態で用いられるカメラパラメータ蓄積部１０７のデータ蓄積方法の一例である。カメラパラメータ蓄積部１０７は、全方位カメラ１００ごとに、カメラパラメータ６００として、カメラの設置高さや設置時のパン、チルト、ロールの角度などの外部パラメータ、およびカメラ毎に異なる内部パラメータを蓄積しておく。角度計算部１０８は、これらのパラメータを用いて人物の映る角度を計算する。このデータ蓄積方法を用いると、角度を求める際に毎回複雑な計算を行うため処理量が多くなるが、蓄積しておくデータが少量になり、データの蓄積に必要な容量を削減することができる。
【００９４】
図７は、本実施形態で用いられるカメラパラメータ蓄積部１０７のデータ蓄積方法の他の一例である。カメラパラメータ蓄積部１０７は、全方位カメラ１００ごとに、カメラパラメータ７００として、予め外部パラメータおよび内部パラメータを用いて計算された座標に対する角度と、座標との対応関係を蓄積しておく。この方法では、全ての座標に対して対応する角度を蓄積しておく必要があるため、蓄積しておくデータは多くなるが、角度計算部１０８は、この対応関係を用いて角度を出力するので、メモリの参照一回で角度を求めることができ、処理量を減らすことができる。
【００９５】
図８は、本実施形態における、アノテーション作成の表示画面８００および表示画面８００と一致するカメラ周囲の状況を示す説明図８０１である。アノテーション作成では、例えば、ユーザーが入力装置１０１を用いて人物領域に矩形を描画し、人物の位置および大きさをアノテーションする。アノテーション作成部１０５は、全方位カメラ１００の画像を透視投影変換することなくアノテーション作成を行うことにより、変換による歪みが発生せず、全領域で正しくアノテーション作成ができる。これにより、学習部１０９は、画像の全領域で正しく学習を行うことができ、検出部１１１は、全領域で正しい検出を行うことができる。
【００９６】
このように、実施例１では、カメラの内部パラメータや外部パラメータを考慮した物体の検出、魚眼カメラ特有の映り方を考慮した物体の検出、あるいは検出学習器と画像勾配を組み合わせた物体の検出により物体の向きおよび範囲を正しく決定することができる。
【実施例２】
【００９７】
本実施形態では、物体追跡システムの一例として、人物の追跡を行い、撮像装置に全方位カメラを用いる例を説明する。全方位カメラは、パンおよびチルトが０度となるように設置されている。追跡対象は人物である必要はない。
【００９８】
図９は、本実施形態で用いられるカメラパラメータ蓄積部１０７のデータ蓄積方法の一例である。カメラパラメータ蓄積部１０７は、全方位カメラ１００ごとに、カメラパラメータ９００として、カメラのレンズ中心の画像上の座標を蓄積しておく。
【００９９】
角度計算部１０８における角度の計算方法を以下で説明する。説明に出てくる座標や角度は図１０に示す。カメラパラメータに蓄積されているカメラのレンズ中心の画像上の座標を(xc, yc)とする。アノテーションにおいて、例えば人物領域を矩形で選択する場合、矩形の中心座標を(x, y)とすると、(x, y)と(xc, yc)を結ぶ直線が垂直な直線となす角θは、以下の関係がある。
【０１００】
【数３】
2019220073.tif 000005
この関係によりθを求められる。
【０１０１】
本実施形態は、全方位カメラ１００を用いて、パンおよびチルトが０度となるような状況において、角度の計算を簡略化する方法である。本実施形態の角度計算方法を用いれば、カメラパラメータとしてカメラのレンズ中心の画像上の座標のみを蓄積しておけばよく、事前に必要なパラメータの取得が容易になり、蓄積しておくデータは少量になる。また、カメラの内部パラメータと外部パラメータから角度を算出する方法と比較して、処理量が少なくなる。
【０１０２】
図１０は、本実施形態における、アノテーション作成の表示画面を示す。表示画面１０００は、実施例１と同様に、透視投影変換されていない。アノテーション作成部１０５は、全方位カメラ１００の画像を透視投影変換することなくアノテーション作成を行うことにより、変換による歪みが発生せず、全領域で正しくアノテーション作成ができる。これにより、学習部１０９は、画像の全領域で正しく学習を行うことができ、検出部１１１は、全領域で正しい検出を行うことができる。また、実施例１では、角度計算部１０８が角度を計算する際に人の実際の身長ではなく、平均身長を用いており、角度に誤差が生じるが、本実施形態では矩形の中心座標を用いるだけなので、実施例１で生じる角度の誤差は生じない。
【実施例３】
【０１０３】
本実施形態では、物体追跡システムの一例として、航空機の追跡を行い、撮像装置にBOXカメラを用いる例を説明する。追跡する物体および撮像装置は、物体の画像勾配から物体の角度が計算可能であるものであればよい。
【０１０４】
図１１は、本実施形態で用いられる構成例を示す図である。図に示すように本実施形態の物体追跡システム２は、図１における物体追跡システムの追跡装置１０３が追跡装置１１００となったものである。追跡装置１１００は、追跡装置１０３と比較して、アノテーション作成部１０５がアノテーション作成部１１０１に、カメラパラメータ蓄積部１０７が画像勾配蓄積部１１０２に、角度計算部１０８が角度計算部１１０３に変更された。以下で変更された各ブロックについて説明する。
【０１０５】
アノテーション作成部１１０１は、追跡対象である航空機の様々な角度における画像勾配を計算する。アノテーション作成部１１０１は、計算した画像勾配を、画像勾配蓄積部１１０２に送信する。
【０１０６】
画像勾配蓄積部１１０２は、アノテーション作成部１１０１で作成された物体の画像勾配の情報を保存する。保存された画像勾配は、角度計算の際に、角度計算部１１０３から読み出される。
【０１０７】
角度計算部１１０３は、角度計算の際に画像勾配蓄積部１１０２から画像勾配を読み出し、角度計算対象の画像勾配と比較して角度を計算する。計算された角度は、実施例１と同様にアノテーション作成部１１０１や検出紐付け部１１２、追跡結果表示部１１４に送信され、アノテーション作成や検出紐付け、追跡結果の表示に利用される。
【０１０８】
図１２は、本実施形態で用いられる角度計算のための画像勾配データ作成のフローを示す図である。以下で画像勾配データ作成のフローについて説明する。
【０１０９】
ステップ１２００では、ユーザーの画像勾配データ作成開始操作により、画像勾配データの作成を開始する。
【０１１０】
ステップ１２０１では、アノテーション作成部１１０１が、追跡対象の物体の画像を画像データ蓄積部１０４から取得する。取得する画像は、例えば、検出対象の物体が同一方向に切り出された画像（例えば、同じ方向に向いている航空機の画像）である。
【０１１１】
ステップ１２０２では、アノテーション作成部１１０１が、対象物体を切り出した画像の画像勾配を計算する。画像勾配の計算方法は、例えば、Histogram of gradientがある。
【０１１２】
ステップ１２０３では、アノテーション作成部１１０１は、対象物体の画像を一定角度回転させる。
【０１１３】
ステップ１２０４では、アノテーション作成部１１０１が、ステップ１２０３の画像回転により画像が一回転したかどうかを判定する。アノテーション作成部１１０１は、画像がまだ一回転していないと判定した場合（ステップ１２０４；Ｎｏ）、ステップ１２０２に戻り、回転させた画像の画像勾配を計算する。一方、アノテーション作成部１１０１は、画像がまだ一回転したと判定した場合（ステップ１２０４；Ｙｅｓ）、次のステップに進む。
【０１１４】
ステップ１２０５では、アノテーション作成部１１０１が、計算した画像勾配を画像勾配蓄積部に送信する。送信する際には、計算した画像勾配と計算時に使用した画像の回転角度を組み合わせて送信する。
【０１１５】
ステップ１２０６では、画像勾配蓄積部１１０２がアノテーション作成部１１０１から受け取った角度と画像勾配の組み合わせを保存する。
【０１１６】
ステップ１２０７では、アノテーション作成部１１０１は、画像勾配データ作成を終了する。
【０１１７】
本実施形態は、物体の向きが画像勾配から容易に計算できる物体の追跡において、画像勾配を用いて角度の計算を行う方法である。この方法を用いると、実施例１で必要であったカメラの設置パラメータの収集を行う必要がない。また、実施例２のような設置状況の制約はなく、様々な状況で角度を計算することができる。
【０１１８】
図１３は、本実施形態で用いられる画像勾配蓄積部１１０２のデータ蓄積方法の一例である。画像勾配蓄積部１１０２は、画像勾配データ１３００として、Histogram of gradientを画像勾配計算時の画像の角度、ヒストグラムインデックス、ヒストグラムの値を対応付けて保存している。この保存方法を用いると、角度と画像勾配の組み合わせを容易に抽出可能であり、角度計算部１０８が画像勾配から角度を計算することが容易になる。
【０１１９】
図１４は、本実施形態における、アノテーション作成の表示画面１４００および画像勾配から角度を計算する方法を示す説明図１４０１である。アノテーション作成では、例えば、ユーザーが入力装置１０１を用いて航空機領域に矩形を描画し、航空機の位置および大きさをアノテーションする。アノテーション作成部１１０１は、矩形で囲まれた領域Rに対して画像勾配を計算する。アノテーション作成部１１０１は、画像勾配蓄積部１１０２から角度と画像勾配の組み合わせを取得し、矩形で囲まれた領域と画像勾配蓄積部１１０２から取得した画像勾配の比較を行う。アノテーション作成部１１０１は、例えば、画像勾配ヒストグラムのユークリッド距離を計算し、ユークリッド距離が最も近い画像勾配ヒストグラムに対応する角度を物体の角度とする。
【０１２０】
本実施形態における、アノテーション作成は、実施例１や実施例２と同様に、透視投影変換されていない。全方位カメラ１００の画像を透視投影変換することなくアノテーション作成を行うことにより、変換による歪みが発生せず、全領域で正しくアノテーション作成ができる。これにより、学習部１０９は画像の全領域で正しく学習を行うことができ、検出部１１１は全領域で正しい検出を行うことができる。
【実施例４】
【０１２１】
本実施形態では、物体追跡システムの一例として、人物の追跡を行い、学習部および検出部に基準矩形からのずれを計算する検出器を用いる場合について説明する。追跡する物体は人物である必要はなく、カメラ画像に映る物体の位置により、物体の大きさが決定できるものであればなんでもよい。
【０１２２】
図１５は、本実施形態で用いられる構成例を示す図である。図に示すように本実施形態の物体追跡システム３は、図１における物体追跡システムの追跡装置１０３が追跡装置１５００となったものである。追跡装置１５００は、追跡装置１０３と比較して、大きさ計算部１５０１が追加された。以下で変更された大きさ計算部について説明する。
【０１２３】
大きさ計算部１５０１は、カメラパラメータあるいは作成されたアノテーションデータからカメラに映る人物の大きさを計算する。例えば、カメラパラメータを用いる場合、大きさ計算部１５０１は、角度計算におけるステップ２０５の画像上の座標と世界座標の変換と同様にして、画像上の座標を世界座標に変換し、世界座標上で人物の平均身長や平均幅を用いて人物の大きさを表す世界座標を取得し、画像上の座標に戻すことによって、画像上の座標と人物の大きさの関係を計算することができる。その他に、例えば、アノテーションデータを用いる場合、大きさ計算部１５０１は、アノテーションデータに含まれる画像内のアノテーション領域の位置と大きさの対応関係を線形回帰により定式化し、画像上の座標と人物の大きさの関係を計算することができる。大きさ計算部１５０１は、学習部１０９や検出紐付け部１１２から画像上の座標を受信し、対応する大きさを送信する。
【０１２４】
図１６は、本実施形態で用いられる学習のフローを示す図である。本実施形態における学習のフローは、実施例１の図３における学習フローに、ステップ１６００とステップ１６０１が追加されている。以下で各ステップについて説明する。
【０１２５】
ステップ１６００では、学習部１０９が、大きさ計算部１５０１から画像上の各座標における大きさを取得する。
【０１２６】
ステップ１６０１では、学習部１０９は、大きさ計算部１５０１から取得した大きさを基に、各座標における基準矩形を設定する。学習部１０９は、この基準矩形を用いて学習を行う。
【０１２７】
本実施形態の学習は、学習部１０９が学習を行う際の基準矩形を画像の位置によって適応的に変化させる手法である。基準矩形を用いた物体の検出では、学習部１０９は、予め各位置に基準矩形を設定し、検出器１１１は、基準矩形からのずれを推定する。学習では、検出器１１１がこのずれを正しく推定できるように学習させる。一般的に、基準矩形は位置によらず一定の大きさで設定する。しかし、画像上の物体は位置によって大きさが変化するため、一定の大きさの矩形を用いると、位置によって基準矩形からのずれが大きくなり、推定が困難になる。しかし、本実施形態のように位置によって基準矩形を適応的に設定することで、推定する基準矩形からのずれは小さくなり、検出精度が向上する。
【０１２８】
図１７は、本実施形態で用いられる追跡のフローを示す図である。本実施形態における追跡のフローは、実施例１の図４における追跡フローに、ステップ１７００とステップ１７０１が追加されている。以下で各ステップについて説明する。
【０１２９】
ステップ１７００では、検出紐付け部１１２が、大きさ計算部１５０１から画像上の各座標における大きさを取得する。
【０１３０】
ステップ１７０１では、検出紐付け部１１２が、検出データの大きさと大きさ計算部１５０１から取得した大きさを比較することで、特徴量の信頼度を決定する。信頼度は、例えば、検出紐付けの際に、検出紐付けに特徴量を用いるかどうかの判定や、検出紐付けに用いる場合の特徴量の重み付けに用いられる。
【０１３１】
本実施形態の追跡は、検出紐付け部１１２が、大きさ計算部１５０１により計算した位置と大きさの関係と、検出データの位置と大きさの関係を比較することにより、物体が正しく映っているかを判定し、特徴量の信頼度を決定する。追跡対象が特定の物体であり、カメラが固定位置に設置されている場合、カメラに映る物体の大きさは位置によりある程度決定することができる。決定された大きさから逸脱している場合、物体が正しく映っていないと判断できる。物体が正しく映っていない場合、特徴量は正しく取得できないため、信頼度を低く設定する。このようにして特徴量の信頼度を決定することにより、検出紐付けの精度を向上できる。
【０１３２】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１３３】
また、上記の各構成は、それらの一部又は全部が、ハードウェアで構成されても、プロセッサでプログラムが実行されることにより実現されるように構成されてもよい。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１３４】
１、２、３  物体追跡システム
１００  全方位カメラ
１０１  入力装置
１０２  表示装置
１０３、１１００、１５００  追跡装置
１０４  画像データ蓄積部
１０５、１１０１  アノテーション作成部
１０６  アノテーション蓄積部
１０７  カメラパラメータ蓄積部
１０８、１１０３  角度計算部
１０９  学習部
１１０  学習結果蓄積部
１１１  検出部
１１２  検出紐付け部
１１３  追跡結果蓄積部
１１４  追跡結果表示部
１１０２  画像勾配蓄積部
１５０１  大きさ計算部
【図１】
2019220073.tif 000006
【図２】
2019220073.tif 000007
【図３】
2019220073.tif 000008
【図４】
2019220073.tif 000009
【図５】
2019220073.tif 000010
【図６】
2019220073.tif 000011
【図７】
2019220073.tif 000012
【図８】
2019220073.tif 000013
【図９】
2019220073.tif 000014
【図１０】
2019220073.tif 000015
【図１１】
2019220073.tif 000016
【図１２】
2019220073.tif 000017
【図１３】
2019220073.tif 000018
【図１４】
2019220073.tif 000019
【図１５】
2019220073.tif 000020
【図１６】
2019220073.tif 000021
【図１７】
2019220073.tif 000022