JP2021093151A - オブジェクト認識システム、装置、方法及びプログラム - Google Patents
オブジェクト認識システム、装置、方法及びプログラム Download PDFInfo
- Publication number
- JP2021093151A JP2021093151A JP2020195141A JP2020195141A JP2021093151A JP 2021093151 A JP2021093151 A JP 2021093151A JP 2020195141 A JP2020195141 A JP 2020195141A JP 2020195141 A JP2020195141 A JP 2020195141A JP 2021093151 A JP2021093151 A JP 2021093151A
- Authority
- JP
- Japan
- Prior art keywords
- integrated
- calculated
- camera
- reliability
- dimensional
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Closed-Circuit Television Systems (AREA)
- Image Analysis (AREA)
Abstract
【課題】カメラの数や位置に限定されずに実空間におけるオブジェクトを認識できるようにする。【解決手段】測距手段を有するカメラ110において、オブジェクト認識(検出・追跡)部206は、カメラ110で撮影した画像内のオブジェクトの認識を行う。また、機械学習処理部207は、画像内で認識したオブジェクトのフレーム特徴点を機械学習処理によって抽出する。そして、オブジェクトフレーム作成部208は、画像内で認識したオブジェクトのカテゴリに応じて、テンプレートを呼び出し、画像内のフレーム特徴点に対応する実空間におけるフレーム特徴点の三次元位置を算出して、オブジェクトフレームを作成する。また、統合オブジェクトフレーム作成部304は、複数のカメラ110で作成されたオブジェクトフレームを統合して、統合オブジェクトフレームを作成する。【選択図】図2
Description
本発明は、実空間におけるオブジェクトを認識するオブジェクト認識システム、装置、方法及びプログラム、並びに、実空間におけるオブジェクト上の位置を計測する位置計測装置、方法及びプログラムに関する。
特許文献1には、光学式モーションキャプチャシステムにおいて、フレームレート及び解像度において異なるカメラから構成される異種カメラ群によってマーカが付された被験体を撮影して画像を取得するステップと、画像からマーカの二次元位置情報を検出するマーカ検出ステップと、検出されたマーカの二次元位置情報を用いて、マーカの三次元位置情報を取得する三次元再構成ステップと、各カメラ群で取得されたマーカの三次元位置情報を統合する統合ステップとを有することが開示されている。
しかしながら、特許文献1では、マーカの三次元位置情報を取得するのに、複数のカメラを必要とする。また、マーカの三次元位置情報やマーカとカメラとの距離を高精度に算出する場合、複数のカメラが適切な位置、例えばマーカを取り囲むように設置されている必要がある。このように実空間におけるオブジェクトを三次元的認識するのに、カメラの数や位置が限定されてしまう。また、複数のカメラ(例えば移動式のカメラを含む)がアドホックに連携して、実空間におけるオブジェクトのより詳細な位置、形状、姿勢、動き等を検出、認識するのには向いていない。
本発明は上記のような点に鑑みてなされたものであり、カメラの数や位置に限定されずに実空間におけるオブジェクトを認識できるようにすることを目的とする。
本発明のオブジェクト認識システムは、測距手段を有するカメラで撮影した画像内のオブジェクトを認識する認識手段と、前記認識手段で認識した前記画像内の前記オブジェクトの特徴点を抽出する抽出手段と、前記測距手段による測距結果に基づいて、前記抽出手段で抽出した前記画像内の前記特徴点に対応する実空間における前記特徴点の三次元位置を算出する位置算出手段と、前記位置算出手段で算出した前記特徴点の三次元位置を含むように、前記オブジェクトの認識情報を作成する認識情報作成手段とを備えたことを特徴とする。
本発明によれば、カメラの数や位置に限定されずに実空間におけるオブジェクトを認識することが可能になる。
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
[第1の実施形態]
<オブジェクト認識システムの概要>
本実施形態では、測距手段を有するカメラで撮影した画像内のオブジェクトを認識して、実空間におけるオブジェクトの位置、形状、姿勢、動き等の三次元的な認識結果を表す認識情報としてオブジェクトフレームを作成する。オブジェクトフレームは、以下に述べるように、オブジェクトのフレーム特徴点の三次元位置を含む。フレーム特徴点は、オブジェクトを特徴付ける点であり、フレーム特徴点の実空間における三次元的な位置によってオブジェクトの位置、形状、姿勢、動き等を表現することが可能になる。例えば人間の場合、頭部の中心、首の付け根、腰、左右の肩、肘、手首、膝、足首等の部位にフレーム特徴点が設定される。フレーム特徴点は、IDによって識別される。また、フレーム特徴点には、大きさ、形、半径、方向、色、材質、テクスチャ等の情報を付加してもよい。本願では、二次元空間内の位置を二次元位置、三次元空間内の位置を三次元位置のように記載するが、自明な場合には単に位置と記載する。
[第1の実施形態]
<オブジェクト認識システムの概要>
本実施形態では、測距手段を有するカメラで撮影した画像内のオブジェクトを認識して、実空間におけるオブジェクトの位置、形状、姿勢、動き等の三次元的な認識結果を表す認識情報としてオブジェクトフレームを作成する。オブジェクトフレームは、以下に述べるように、オブジェクトのフレーム特徴点の三次元位置を含む。フレーム特徴点は、オブジェクトを特徴付ける点であり、フレーム特徴点の実空間における三次元的な位置によってオブジェクトの位置、形状、姿勢、動き等を表現することが可能になる。例えば人間の場合、頭部の中心、首の付け根、腰、左右の肩、肘、手首、膝、足首等の部位にフレーム特徴点が設定される。フレーム特徴点は、IDによって識別される。また、フレーム特徴点には、大きさ、形、半径、方向、色、材質、テクスチャ等の情報を付加してもよい。本願では、二次元空間内の位置を二次元位置、三次元空間内の位置を三次元位置のように記載するが、自明な場合には単に位置と記載する。
カメラで撮影した画像内のオブジェクトを認識した結果、オブジェクトのカテゴリと、画像内のオブジェクトの画像領域と、オブジェクトの認識率とを取得する。また、画像内のオブジェクトのフレーム特徴点を抽出する。画像内のフレーム特徴点の抽出は、機械学習処理によって行う。次に、測距手段によってカメラの位置から画像内のフレーム特徴点の二次元位置に対応する実空間のオブジェクト上の点までの距離を測定する。次に、測距手段による測距結果と、カメラの撮影パラメータ(位置、方向、ズーム倍率等)とに基づいて、画像内のフレーム特徴点の二次元位置に対応する実空間におけるフレーム特徴点の三次元位置を算出する。また、フレーム特徴点の三次元位置の信頼度を表す位置信頼度を算出する。
また、一つ以上のフレーム特徴点の三次元位置を用いて、オブジェクトの基準となる位置を表す三次元基準位置(以下、単に基準位置と呼ぶ)を算出する。また、基準位置の信頼度を表す基準位置信頼度を算出する。
また、フレーム特徴点の三次元位置と基準位置との差で表されるフレーム特徴点の相対位置を算出する。また、相対位置の信頼度を表す相対位置信頼度を算出する。
これらのフレーム特徴点の三次元位置及び位置信頼度、基準位置及び基準位置信頼度、相対位置及び相対位置信頼度をオブジェクトフレームにセットする。オブジェクトフレームは、必要度に応じて設定された時間内で随時更新される。このように単独のカメラでもオブジェクトの三次元的認識を行うことができる。
また、一つ以上のフレーム特徴点の三次元位置を用いて、オブジェクトの基準となる位置を表す三次元基準位置(以下、単に基準位置と呼ぶ)を算出する。また、基準位置の信頼度を表す基準位置信頼度を算出する。
また、フレーム特徴点の三次元位置と基準位置との差で表されるフレーム特徴点の相対位置を算出する。また、相対位置の信頼度を表す相対位置信頼度を算出する。
これらのフレーム特徴点の三次元位置及び位置信頼度、基準位置及び基準位置信頼度、相対位置及び相対位置信頼度をオブジェクトフレームにセットする。オブジェクトフレームは、必要度に応じて設定された時間内で随時更新される。このように単独のカメラでもオブジェクトの三次元的認識を行うことができる。
また、複数のカメラが連携して、オブジェクトの三次元的認識を行う。この場合、複数のカメラで撮影した画像から作成した同一と判定されたオブジェクトに対するオブジェクトフレームを補完及び統合して、統合情報として統合オブジェクトフレームを作成する。
ここでは、まず、同一と判定されたオブジェクトに対して、複数のオブジェクトフレームのオブジェクトの基準位置を基準位置信頼度に応じて重み付け加算することによりオブジェクトの統合基準位置を算出する。また、統合基準位置の信頼度を表す統合基準位置信頼度を算出する。
次に、同一と判定されたオブジェクトの同一部位を示すフレーム特徴点に対して、複数のオブジェクトフレームのフレーム特徴点の相対位置を相対位置信頼度に応じて重み付け加算することによりフレーム特徴点の統合相対位置を算出する。また、統合相対位置の信頼度を表す統合基準位置信頼度を算出する。
そして、オブジェクトの統合基準位置とフレーム特徴点の統合相対位置との和で表されるフレーム特徴点の統合位置を算出する。また、統合位置の信頼度を表す統合位置信頼度を算出する。
これらの統合基準位置及び統合基準位置信頼度、統合相対位置及び統合相対位置信頼度、統合位置及び統合位置信頼度を統合オブジェクトフレームにセットする。統合オブジェクトフレームは、必要度に応じて設定された時間内で随時更新される。
なお、オブジェクトの同一部位に対する各画像内のフレーム特徴点、各オブジェクトフレーム内のフレーム特徴点、及び統合オブジェクトフレーム内のフレーム特徴点には、同一のIDが付与される。
ここでは、まず、同一と判定されたオブジェクトに対して、複数のオブジェクトフレームのオブジェクトの基準位置を基準位置信頼度に応じて重み付け加算することによりオブジェクトの統合基準位置を算出する。また、統合基準位置の信頼度を表す統合基準位置信頼度を算出する。
次に、同一と判定されたオブジェクトの同一部位を示すフレーム特徴点に対して、複数のオブジェクトフレームのフレーム特徴点の相対位置を相対位置信頼度に応じて重み付け加算することによりフレーム特徴点の統合相対位置を算出する。また、統合相対位置の信頼度を表す統合基準位置信頼度を算出する。
そして、オブジェクトの統合基準位置とフレーム特徴点の統合相対位置との和で表されるフレーム特徴点の統合位置を算出する。また、統合位置の信頼度を表す統合位置信頼度を算出する。
これらの統合基準位置及び統合基準位置信頼度、統合相対位置及び統合相対位置信頼度、統合位置及び統合位置信頼度を統合オブジェクトフレームにセットする。統合オブジェクトフレームは、必要度に応じて設定された時間内で随時更新される。
なお、オブジェクトの同一部位に対する各画像内のフレーム特徴点、各オブジェクトフレーム内のフレーム特徴点、及び統合オブジェクトフレーム内のフレーム特徴点には、同一のIDが付与される。
<オブジェクト認識システムの構成>
図1は、第1の実施形態に係るオブジェクト認識システム100の構成を示す図である。図1に示すように、オブジェクト認識システム100は、複数のカメラ110(カメラ識別子CI=Cam1、Cam2、・・・)と、サーバ120と、これらを接続する通信網130とを備えて構成される。
カメラ110は、CPU111と、ROM112と、RAM113と、撮像部114と、位置検出部115と、測距部116と、通信部117とを備える。撮像部114と、位置検出部115と、測距部116とは近接して設置されている。カメラは、所定の場所に設置された固定式のカメラであってもよいし、自動車、ロボット、ドローン等に搭載された移動式のカメラであってもよいし、カメラ付き情報機器等であってもよい。
サーバ120は、CPU121と、ROM122と、RAM123と、HDD124と、操作部125と、表示部126と、通信部127とを備える。
図1は、第1の実施形態に係るオブジェクト認識システム100の構成を示す図である。図1に示すように、オブジェクト認識システム100は、複数のカメラ110(カメラ識別子CI=Cam1、Cam2、・・・)と、サーバ120と、これらを接続する通信網130とを備えて構成される。
カメラ110は、CPU111と、ROM112と、RAM113と、撮像部114と、位置検出部115と、測距部116と、通信部117とを備える。撮像部114と、位置検出部115と、測距部116とは近接して設置されている。カメラは、所定の場所に設置された固定式のカメラであってもよいし、自動車、ロボット、ドローン等に搭載された移動式のカメラであってもよいし、カメラ付き情報機器等であってもよい。
サーバ120は、CPU121と、ROM122と、RAM123と、HDD124と、操作部125と、表示部126と、通信部127とを備える。
図2は、カメラ110及びサーバ120の機能構成を示す図である。
図2(A)に示すように、カメラ110は、カメラ位置・方向検出部201と、撮影処理部202と、撮影測距制御部203と、測距処理部204と、記憶部205と、オブジェクト認識(検出・追跡)部206と、機械学習処理部207とを具備する。また、カメラ110は、オブジェクトフレーム作成部208と、ローカル監視エリア管理部209と、情報要求生成部210と、ローカルマップ211と、通信処理部212とを具備する。本実施形態では、カメラ110が本発明でいうオブジェクト認識装置として機能する。
図2(A)に示すように、カメラ110は、カメラ位置・方向検出部201と、撮影処理部202と、撮影測距制御部203と、測距処理部204と、記憶部205と、オブジェクト認識(検出・追跡)部206と、機械学習処理部207とを具備する。また、カメラ110は、オブジェクトフレーム作成部208と、ローカル監視エリア管理部209と、情報要求生成部210と、ローカルマップ211と、通信処理部212とを具備する。本実施形態では、カメラ110が本発明でいうオブジェクト認識装置として機能する。
カメラ位置・方向検出部201は、カメラ110の位置、方向、ズーム倍率等を随時検出する。カメラ110の位置や方向の検出は、位置検出部115(例えばGPSや各種センサ)によって行う。ズーム倍率によって表される距離は、長さの次元の量である。また、周囲を撮影した画像を解析して、所定の位置にある柱、家具、建物等の位置情報を用いて、カメラ110の位置や方向を検出するようにしてもよい。
撮像処理部202は、撮像部114に対応しており、ローカル監視エリア管理部209でカメラ110の周辺に設定されたローカル監視エリアを撮影する。
撮影測距制御部203は、カメラ110で撮影中の実空間のオブジェクト上に測距点を設定する。
測距処理部204は、撮影測距制御部203で設定したオブジェクト上の測距点までの距離を測定する。距離の測定は、例えば測距部116(例えば三次元レーダー)によって画角領域をスキャンすることによって行う。なお、距離の測定は、ステレオ画像法、TOF方式、レーザー測定法等の測距方法によって行うようにしてもよい。
撮像処理部202は、撮像部114に対応しており、ローカル監視エリア管理部209でカメラ110の周辺に設定されたローカル監視エリアを撮影する。
撮影測距制御部203は、カメラ110で撮影中の実空間のオブジェクト上に測距点を設定する。
測距処理部204は、撮影測距制御部203で設定したオブジェクト上の測距点までの距離を測定する。距離の測定は、例えば測距部116(例えば三次元レーダー)によって画角領域をスキャンすることによって行う。なお、距離の測定は、ステレオ画像法、TOF方式、レーザー測定法等の測距方法によって行うようにしてもよい。
記憶部205には、オブジェクトフレームのテンプレートが記憶されている。テンプレートは、オブジェクトのカテゴリ別に用意されている。テンプレートは、図4に示すデータ構造をしており、各データスロットには初期値が設定されている。
オブジェクト認識(検出・追跡)部206は、カメラ110で撮影した画像(以下、撮影画像と呼ぶ)内のオブジェクトの認識を行う。オブジェクトの検出や追跡もまとめてオブジェクト認識と呼ぶものとする。撮影画像内のオブジェクトを認識した結果、オブジェクトのカテゴリと、撮影画像内のオブジェクトの画像領域と、オブジェクトの認識率とが取得される。撮影画像内で認識したオブジェクトには、オブジェクトを一意に識別するオブジェクト識別子が付与される。オブジェクト識別子は、認識(検出)されたオブジェクトの追跡中も継承される。オブジェクト認識(検出・追跡)部206が、本発明でいう認識手段として機能する。
機械学習処理部207は、撮影画像内で認識したオブジェクトのフレーム特徴点を機械学習処理によって抽出する。機械学習処理部207が、本発明でいう抽出手段として機能する。
オブジェクト認識(検出・追跡)部206は、カメラ110で撮影した画像(以下、撮影画像と呼ぶ)内のオブジェクトの認識を行う。オブジェクトの検出や追跡もまとめてオブジェクト認識と呼ぶものとする。撮影画像内のオブジェクトを認識した結果、オブジェクトのカテゴリと、撮影画像内のオブジェクトの画像領域と、オブジェクトの認識率とが取得される。撮影画像内で認識したオブジェクトには、オブジェクトを一意に識別するオブジェクト識別子が付与される。オブジェクト識別子は、認識(検出)されたオブジェクトの追跡中も継承される。オブジェクト認識(検出・追跡)部206が、本発明でいう認識手段として機能する。
機械学習処理部207は、撮影画像内で認識したオブジェクトのフレーム特徴点を機械学習処理によって抽出する。機械学習処理部207が、本発明でいう抽出手段として機能する。
オブジェクトフレーム作成部208は、撮影画像内で認識したオブジェクトのカテゴリに応じて、記憶部205からテンプレートを呼び出して、これを用いてオブジェクトフレームを作成する。オブジェクトフレーム作成部208は、テンプレートのデータスロットに、撮影情報(カメラの識別情報、撮影時刻、撮影パラメータ)、カテゴリ、画像領域、認識率、認識時刻をセットする。また、オブジェクトフレーム作成部208は、撮影画像内のフレーム特徴点に対応する実空間におけるフレーム特徴点の三次元位置を算出し、また、このときのフレーム特徴点の三次元位置の信頼度を表す位置信頼度を算出する。位置信頼度は、測距精度や認識精度等に基づいて算出する。また、オブジェクトフレーム作成部208は、一つ以上のフレーム特徴点の三次元位置から、オブジェクトの基準位置を算出し、その信頼度を表す基準位置信頼度を算出する。また、オブジェクトフレーム作成部208は、フレーム特徴点の三次元位置とオブジェクトの基準位置との差で表されるフレーム特徴点の相対位置を算出し、その信頼度を表す相対位置信頼度を算出する。そして、オブジェクトフレーム作成部208は、テンプレートのデータスロットに、フレーム特徴点の三次元位置、位置信頼度、オブジェクトの基準位置、基準位置信頼度、フレーム特徴点の相対位置、相対位置信頼度をセットする。このようにして、オブジェクトフレームを作成する。オブジェクトフレーム作成部208が、本発明でいう位置算出手段、基準位置算出手段、相対位置算出手段、位置信頼度算出手段、基準位置信頼度算出手段、相対位置信頼度算出手段、認識情報作成手段、第1〜第3の誤差算出手段として機能する。
ローカル監視エリア管理部209は、カメラ110で監視する領域を管理する。
情報要求生成部210は、カメラ110から死角になる領域(カメラ110が自分の位置から見えにくい領域)の情報を生成して、サーバ120の共有メモリ306に記憶する。
ローカルマップ211には、カメラ110で監視している領域のオブジェクト認識結果(位置、形状、姿勢、動き等)が随時更新されて記憶される。
通信処理部212は、サーバ120との通信を行う。
情報要求生成部210は、カメラ110から死角になる領域(カメラ110が自分の位置から見えにくい領域)の情報を生成して、サーバ120の共有メモリ306に記憶する。
ローカルマップ211には、カメラ110で監視している領域のオブジェクト認識結果(位置、形状、姿勢、動き等)が随時更新されて記憶される。
通信処理部212は、サーバ120との通信を行う。
図2(B)に示すように、サーバ120は、カメラ管理部301と、認識要求生成部302と、同一性判定部303と、統合オブジェクトフレーム作成部304と、広域監視エリア管理部305と、共有メモリ306と、通信処理部307とを具備する。
カメラ管理部301は、連携しているカメラ110の位置、ローカル監視エリア等を管理する。
認識要求生成部302は、カメラ110のローカル監視エリアに応じて、オブジェクトの認識要求を生成して、カメラ110に送信する。
同一性判定部303は、複数のカメラ110で作成したオブジェクトフレームが同一のオブジェクトに対するものであるか否かを判定する。同一性判定部303が、本発明でいう判定手段として機能する。
認識要求生成部302は、カメラ110のローカル監視エリアに応じて、オブジェクトの認識要求を生成して、カメラ110に送信する。
同一性判定部303は、複数のカメラ110で作成したオブジェクトフレームが同一のオブジェクトに対するものであるか否かを判定する。同一性判定部303が、本発明でいう判定手段として機能する。
統合オブジェクトフレーム作成部304は、同一のオブジェクトに対するものと判定された複数のオブジェクトフレームを補完及び統合して、統合オブジェクトフレームを作成する。統合オブジェクトフレーム内のフレーム特徴点の統合位置は、オブジェクトフレーム作成部208で作成したオブジェクトフレーム内の、オブジェクトの基準位置及び基準位置信頼度、フレーム特徴点の相対位置及び相対位置信頼度から次のように算出される。まず、複数のオブジェクトフレームのオブジェクトの基準位置に基準位置信頼度の重み付けをしてオブジェクトの基準位置の加重平均を算出することによりオブジェクトの統合基準位置が算出される。また、複数のオブジェクトフレームのオブジェクトの基準位置信頼度からオブジェクトの統合基準位置信頼度が算出される。次に、複数のオブジェクトフレームのフレーム特徴点の相対位置に相対位置信頼度の重み付けをしてフレーム特徴点の相対位置の加重平均を算出することによりフレーム特徴点の統合相対位置が算出される。また、複数のオブジェクトフレームのフレーム特徴点の相対位置信頼度からフレーム特徴点の統合相対位置信頼度が算出される。そして、オブジェクトの統合基準位置にフレーム特徴点の統合相対位置を加算することによってフレーム特徴点の統合位置が算出される。また、オブジェクトの統合基準位置信頼度とフレーム特徴点の統合相対位置信頼度からフレーム特徴点の統合位置信頼度が算出される。すなわち、複数のカメラ110で作成したオブジェクトフレーム内のフレーム特徴点の相対位置の中で信頼度が大きいものほど、統合オブジェクトフレーム内のフレーム特徴点の統合相対位置への寄与度が大きくなる。したがって、複数のカメラ110で作成したオブジェクトフレーム内のフレーム特徴点の三次元位置の中で信頼度が大きいものほど、統合オブジェクトフレーム内のフレーム特徴点の統合位置への寄与度が大きくなる。統合オブジェクトフレーム作成部304が、本発明でいう統合情報作成手段として機能する。
広域監視エリア管理部305は、カメラ110のローカル監視エリアを含む広域の監視エリアを管理する。
共有メモリ306は、複数のカメラ110及びサーバ120で各種データを共有するためのメモリである。ここでは、カメラ110で作成したオブジェクトフレームや、サーバ120で作成した統合オブジェクトフレームを随時更新して記憶する。これにより、共有メモリ306は、広域監視エリア内の各時刻のオブジェクトの位置、形状、姿勢、動き等を統合オブジェクトフレームとして記憶した広域マップを記憶する記憶手段として機能する。また、共有メモリ306は、複数のカメラ110及びサーバ120が相互に要求する情報の受け渡し場所として使用される。
通信処理部307は、カメラ110との通信を行う。
共有メモリ306は、複数のカメラ110及びサーバ120で各種データを共有するためのメモリである。ここでは、カメラ110で作成したオブジェクトフレームや、サーバ120で作成した統合オブジェクトフレームを随時更新して記憶する。これにより、共有メモリ306は、広域監視エリア内の各時刻のオブジェクトの位置、形状、姿勢、動き等を統合オブジェクトフレームとして記憶した広域マップを記憶する記憶手段として機能する。また、共有メモリ306は、複数のカメラ110及びサーバ120が相互に要求する情報の受け渡し場所として使用される。
通信処理部307は、カメラ110との通信を行う。
<オブジェクトフレーム及び統合オブジェクトフレームの説明>
図3〜図6を参照して、オブジェクトフレームのテンプレートOFtmp(Cat)と、オブジェクトフレームOF(CI,Oid)と、統合オブジェクトフレームOFint(OBJ)とについて説明する。なお、Catはオブジェクトのカテゴリを表し、CIはカメラ110(Cam1、Cam2、・・・)を表し、Oidはオブジェクト識別子を表し、OBJはオブジェクトを表す。
図3〜図6を参照して、オブジェクトフレームのテンプレートOFtmp(Cat)と、オブジェクトフレームOF(CI,Oid)と、統合オブジェクトフレームOFint(OBJ)とについて説明する。なお、Catはオブジェクトのカテゴリを表し、CIはカメラ110(Cam1、Cam2、・・・)を表し、Oidはオブジェクト識別子を表し、OBJはオブジェクトを表す。
まず、図3を参照して、テンプレートOFtmp(Cat)に設定されているフレーム特徴点を説明する。フレーム特徴点群によって、オブジェクトの形状、姿勢、構造が表される。図3(A)は、Cat=「人間」のテンプレートOFtmp(「人間」)の例である。テンプレートOFtmp(「人間」)には、人体の骨格や関節等の位置を示す、複数のフレーム特徴点が設定されている。フレーム特徴点にはIDが付与されており、例えば頭部の中心のフレーム特徴点はID=HM01であり、右肩の位置のフレーム特徴点はID=HM03である。テンプレートOFtmp(「人間」)は、フレーム特徴点HM01、HM02、HM03、・・・、HM15から構成されている。なお、各図において、自明な場合はHM15を15、HD02を02等と略して記述する。これらのフレーム特徴点は、人体のサイズや関節の可動範囲等から算出される束縛条件の下で、相対的に取りうる位置及び方向が制限される。図3(B)は、Cat=「頭部(顔)」のテンプレートOFtmp(「頭部(顔)」)の例である。テンプレートOFtmp(「頭部(顔)」)は、フレーム特徴点HD01、HD02、HD03、・・・、HD50から構成されている。テンプレートOFtmp(「頭部(顔)」)は、フレーム特徴点HD50=HM01を共有することによって、テンプレートOFtmp(「人間」)と接続可能である。また、これらのテンプレートから作成されたオブジェクトフレーム同士も同様に接続可能である。図3(C)は、図3(B)と同じく、Cat=「頭部(顔)」のテンプレートOFtmp(「頭部(顔)」)を正面から見た図である。図3(D)は、Cat=「左手」のテンプレートOFtmp(「左手)」)の例である。図3(E)は、Cat=「カップ」のテンプレートOFtmp(「カップ)」)の例である。図3(F)は、Cat=「テーブルA」のテンプレートOFtmp(「テーブルA)」)の例である。図3(G)は、Cat=「テーブルB」のテンプレートOFtmp(「テーブルB」)の例である。
図4に、テンプレートOFtmp(Cat)のデータ構造の例を示す。
テンプレートOFtmp(Cat)は、撮影情報(カメラの識別情報、撮影時刻、撮影パラメータ)、カテゴリ、画像領域、認識率、認識時刻のデータスロットを有する。
また、テンプレートOFtmp(Cat)は、オブジェクトに対して決められている基準位置、基準位置信頼度のデータスロットを有する。基準位置には初期値としてデフォルトの値がセットされており、基準位置信頼度には初期値としてゼロがセットされている。
また、テンプレートOFtmp(Cat)は、フレーム特徴点集合FFPsのデータスロットを有する。フレーム特徴点集合FFPsは、フレーム特徴点FFP1、FFP2、・・・等の集合として構成される。例えばCat=「人間」の場合、図3(A)に示すように、テンプレートOFtmp(「人間」)のフレーム特徴点にはHM01、HM02、・・・等であり、これらのフレーム特徴点によって骨格や関節の位置を表す。また、例えばCat=「カップ」の場合、図3(E)に示すように、テンプレートOFtmp(「カップ」)のフレーム特徴点にはCP01、CP02、・・・等があり、これらのフレーム特徴点によって「カップ」の形状や構造を表す。「カップ」のフレーム特徴点CP01、CP02等はカップの表面の模様によって、認識時に識別できるものとする。また、フレーム特徴点における三次元位置及び相対位置には初期値としてデフォルトの値がセットされており、位置信頼度及び相対位置信頼度には初期値としてゼロがセットされている。
テンプレートOFtmp(Cat)は、撮影情報(カメラの識別情報、撮影時刻、撮影パラメータ)、カテゴリ、画像領域、認識率、認識時刻のデータスロットを有する。
また、テンプレートOFtmp(Cat)は、オブジェクトに対して決められている基準位置、基準位置信頼度のデータスロットを有する。基準位置には初期値としてデフォルトの値がセットされており、基準位置信頼度には初期値としてゼロがセットされている。
また、テンプレートOFtmp(Cat)は、フレーム特徴点集合FFPsのデータスロットを有する。フレーム特徴点集合FFPsは、フレーム特徴点FFP1、FFP2、・・・等の集合として構成される。例えばCat=「人間」の場合、図3(A)に示すように、テンプレートOFtmp(「人間」)のフレーム特徴点にはHM01、HM02、・・・等であり、これらのフレーム特徴点によって骨格や関節の位置を表す。また、例えばCat=「カップ」の場合、図3(E)に示すように、テンプレートOFtmp(「カップ」)のフレーム特徴点にはCP01、CP02、・・・等があり、これらのフレーム特徴点によって「カップ」の形状や構造を表す。「カップ」のフレーム特徴点CP01、CP02等はカップの表面の模様によって、認識時に識別できるものとする。また、フレーム特徴点における三次元位置及び相対位置には初期値としてデフォルトの値がセットされており、位置信頼度及び相対位置信頼度には初期値としてゼロがセットされている。
図5に、オブジェクトフレームOF(CI,Oid)のデータ構造の例を示す。
例えば撮影情報PIN1(CI=Cam1、撮影時刻PT1、撮影パラメータPAR(Cam1))の撮影画像内で認識したオブジェクトのカテゴリがCat=「人間」であり、画像領域IAR11、認識率RR11、認識時刻RT11であるとする。この場合、オブジェクト識別子Oid=Oid11が生成されて、テンプレートOFtmp(「人間」)から、図5に示すようなオブジェクトフレームOF(Cam1,Oid11)が作成される。
例えば撮影情報PIN1(CI=Cam1、撮影時刻PT1、撮影パラメータPAR(Cam1))の撮影画像内で認識したオブジェクトのカテゴリがCat=「人間」であり、画像領域IAR11、認識率RR11、認識時刻RT11であるとする。この場合、オブジェクト識別子Oid=Oid11が生成されて、テンプレートOFtmp(「人間」)から、図5に示すようなオブジェクトフレームOF(Cam1,Oid11)が作成される。
オブジェクトフレームOF(Cam1,Oid11)には、フレーム特徴点がセットされる。フレーム特徴点には、カテゴリが設定されており、例えばフレーム特徴点ID=HM01のカテゴリは「頭部」であり、ID=HM04のカテゴリは「左肩」である。画像内で抽出できたフレーム特徴点には、測距結果や撮影パラメータに基づいて算出された実空間における三次元位置P3(Cam1,ID)及び位置信頼度W(Cam1,ID)がセットされる。このとき、人体のサイズや体型、及び、関節や筋肉の可動範囲等から算出される束縛条件の下でキャリブレーションを行いながら、フレーム特徴点の三次元位置P3(Cam1,ID)をセットする。撮影画像内で抽出できなかったフレーム特徴点の位置信頼度はW(Cam1,ID)=0である。
また、オブジェクトフレームOF(Cam1,Oid11)には、オブジェクトに対して決められている基準位置BP3(Cam1,IDBS)及び基準位置信頼度BW(Cam1,IDBS)がセットされる。ここでは、例えばCat=「人間」の場合、基準位置は首の付け根の位置(IDBS=HM02)とする。撮影画像から基準位置BP3(Cam1,IDBS)が取得できなかった場合、基準位置の周囲の抽出できた幾つかのフレーム特徴点から基準位置及び基準位置信頼度を推定して算出して、基準位置及び基準位置信頼度をオブジェクトフレームにセットする。
また、オブジェクトフレームOF(Cam1,Oid11)には、フレーム特徴点の相対位置RP3(Cam1,ID,IDBS)及び相対位置信頼度RW(Cam1,ID,IDBS)がセットされる。フレーム特徴点の相対位置RP3(Cam1,ID,IDBS)は、三次元位置P3(Cam1,ID)及び基準位置BP3(Cam1,IDBS)の差として算出される。すなわち、RP3(Cam1,ID,IDBS)=P3(Cam1,ID)−BP3(Cam1,IDBS)のように算出される。
三次元位置P3(CI,ID)、基準位置BP3(CI,IDBS)及び相対位置RP3(CI,ID,IDBS)は三次元空間内の値である。また、位置信頼度W(CI,ID)、基準位置信頼度BW(CI,IDBS)及び相対位置信頼度RW(CI,ID,IDBS)はスカラー量である。また、Cat=「頭部」のフレーム特徴点HM01に対しては、必要に応じて、テンプレートOFtmp(「頭部(顔)」)を用いて、他のカメラCam3の撮影画像からオブジェクトフレームOF(Cam3,Oid32)が作成される。オブジェクトフレームOF(Cam3,Oid32)は、頭部や表情のより詳細な表現が可能なオブジェクトフレームである。また、フレーム特徴点の数は、より詳細な形状や動きを表現できるように、必要に応じて増やせるようにしてもよい。例えば「頭部(顔)」のオブジェクトフレームでは、個人を識別したり表情を表現したりできるようにフレーム特徴点の数を増やしてもよい。また、例えば「(右/左)手」のオブジェクトフレームでは、細かいジェスチャを識別できるようにフレーム特徴点の数を増やしてもよい。また、オブジェクトフレーム内のフレーム特徴点の数は、必要に応じて減らせるようにしてもよい。例えば「人間」のオブジェクトフレームで、(遠方の)人物の位置、速度、移動方向等の中で必要な情報のみを表現する場合には、フレーム特徴点の数を1個から5個程度に減らしてもよい。また、オブジェクトフレームの表すオブジェクトのカテゴリは、「人間」、「テーブル」のように一般的なものであっても、「Aさん」、「Bビル」のように詳細なものであっても、「移動物体」、「静止物体」のように大まかなものであってもよい。
以上のように、テンプレートOFtmp(Cat)及びオブジェクトフレームOF(CI,Oid)は、各フレーム特徴点において、フレーム特徴点の三次元位置及び位置信頼度のデータスロットを具備する。また、テンプレート及びオブジェクトフレームは、オブジェクトの全体の基準となる位置を表す基準位置及び基準位置信頼度のデータスロットを具備する。また、テンプレート及びオブジェクトフレームは、各フレーム特徴点において、フレーム特徴点の位置の基準位置からの相対的な位置を表す相対位置及び相対位置信頼度のデータスロットを具備する。
図6に、統合オブジェクトフレームOFint(OBJ)のデータ構造の例を示す。
統合オブジェクトフレームOFint(OBJ)は、同一のオブジェクトOBJに対するオブジェクトフレームOF(CI,Oid)を補完及び統合して作成される。
統合オブジェクトフレームOFint(OBJ)の各データスロットには、カテゴリ、作成時刻及び有効時刻がセットされる。統合オブジェクトフレームOFint(OBJ)は、作成時刻から有効時刻までの間は、オブジェクトの位置、形状、姿勢、動き等を一定の誤差の範囲内で表現可能で、所定のアプリケーションにおいて使用可能なものとする。
統合オブジェクトフレームOFint(OBJ)は、同一のオブジェクトOBJに対するオブジェクトフレームOF(CI,Oid)を補完及び統合して作成される。
統合オブジェクトフレームOFint(OBJ)の各データスロットには、カテゴリ、作成時刻及び有効時刻がセットされる。統合オブジェクトフレームOFint(OBJ)は、作成時刻から有効時刻までの間は、オブジェクトの位置、形状、姿勢、動き等を一定の誤差の範囲内で表現可能で、所定のアプリケーションにおいて使用可能なものとする。
複数のカメラ110で作成したオブジェクトフレームOF(CI,Oid)が同一のオブジェクトOBJに対するものであると判定された場合、統合基準位置BP3int(IDBS)及び統合基準位置信頼度BWint(IDBS)を算出する。まず、オブジェクトフレームの基準位置BP3(CI,IDBS)及び基準位置信頼度BW(CI,IDBS)に基づいて、統合基準位置BP3int(IDBS)を算出する。また、基準位置信頼度BW(CI,IDBS)に基づいて、統合基準位置信頼度BWint(IDBS)を算出する。このように算出した統合基準位置BP3int(IDBS)及び統合基準位置信頼度BWint(IDBS)を、統合オブジェクトフレームOFint(OBJ)にセットする。
また、フレーム特徴点の相対位置RP3(CI,ID,IDBS)及び相対位置信頼度RW(CI,ID,IDBS)に基づいて、フレーム特徴点の統合相対位置RP3int(ID,IDBS)を算出する。また、相対位置信頼度RW(CI,ID,IDBS)に基づいて、統合相対位置RP3int(ID,IDBS)の信頼度を表す統合相対位置信頼度RWint(ID,IDBS)を算出する。また、フレーム特徴点の統合相対位置RP3int(ID,IDBS)及びオブジェクトの統合基準位置BP3int(IDBS)に基づいて、フレーム特徴点の統合位置P3int(ID)を算出する。また、オブジェクトの統合基準位置信頼度BWint(IDBS)とフレーム特徴点の統合相対位置信頼度RWint(ID,IDBS)から、フレーム特徴点の統合位置信頼度Wint(ID)を算出する。このように算出した統合相対位置RP3int(ID,IDBS)、統合相対位置信頼度RWint(ID,IDBS)、統合位置P3int(ID)、及び統合位置信頼度Wint(ID)を統合オブジェクトフレームOFint(OBJ)にセットする。
統合基準位置BP3int(IDBS)、統合相対位置RP3int(ID,IDBS)、及び統合位置P3int(ID)は三次元空間内の値である。また、統合基準位置信頼度BWint(IDBS)、統合相対位置信頼度RWint(ID,IDBS)、及び統合位置信頼度Wint(ID)はスカラー量である。
以上のように、統合オブジェクトフレームOFint(OBJ)は、オブジェクトの基準となる位置を表す統合基準位置及び統合基準位置信頼度のデータスロットを具備する。また、統合オブジェクトフレームは、各フレーム特徴点において、フレーム特徴点の統合位置の統合基準位置からの相対的な位置を表すフレーム特徴点の統合相対位置及び統合相対位置信頼度のデータスロットを具備する。また、統合オブジェクトフレームは、各フレーム特徴点において、フレーム特徴点の統合位置及び統合位置信頼度のデータスロットを具備する。
<オブジェクト認識システムにおける処理>
図7〜図10を参照して、オブジェクト認識システム100における処理について説明する。
(カメラ110の処理)
図7(A)を参照して、カメラ110が実行する処理を説明する。ここで述べる処理は、各カメラ110において独立に行われる。図7(A)のフローチャートの処理は、CPU111が例えばROM112に記憶されたプログラムを読み出し、実行することにより実現される。
図7〜図10を参照して、オブジェクト認識システム100における処理について説明する。
(カメラ110の処理)
図7(A)を参照して、カメラ110が実行する処理を説明する。ここで述べる処理は、各カメラ110において独立に行われる。図7(A)のフローチャートの処理は、CPU111が例えばROM112に記憶されたプログラムを読み出し、実行することにより実現される。
ステップS701で、カメラ110は、サーバ120の共有メモリ306に記憶されている統合オブジェクトフレームと、サーバ120からの認識要求とを参照する。カメラ110は、オブジェクトOBJに対して既に作成されている有効時刻内の統合オブジェクトフレームOFint(OBJ)を参照して、サーバ120が管理する広域監視エリア内にあるオブジェクトの三次元的な認識結果を取得する。このとき、統合オブジェクトフレームOFint(OBJ)内の統合基準位置信頼度BWint(IDBS)、統合相対位置信頼度RWint(ID,IDBS)及び統合位置信頼度Wint(ID)を参照する。そして、統合基準位置信頼度BWint(IDBS)の値が一定値以上の場合に統合基準位置BP3int(IDBS)を認識結果として使用する。また、統合相対位置信頼度RWint(ID,IDBS)の値が一定値以上の場合に統合相対位置RP3int(ID,IDBS)を認識結果として使用する。また、統合位置信頼度Wint(ID)の値が一定値以上の場合に統合位置P3int(ID)を認識結果として使用する。カメラ110は、オブジェクトの三次元的な認識結果に基づいて、各種のアプリケーション(監視、見守り、移動支援、運転支援等)に応じた所定の処理を行う。また、カメラ110は、サーバ120がカメラ110に要求した領域やオブジェクトに対する認識要求を参照する。
ステップS702で、カメラ110は、情報要求生成部210によって、カメラ110から死角になる領域の情報を要求するための情報要求を生成して、サーバ120の共有メモリ306に記憶する。
ステップS703で、カメラ110は、撮影処理部202によって、方向やズーム倍率を制御して、ローカル監視エリア内の撮影を行う。このとき、共有メモリ306を参照して得られたサーバ120からの認識要求を用いて、ローカル監視エリア内の領域やオブジェクトを優先順位付けして撮影を行う。また、カメラが移動可能な場合、方向やズーム倍率の制御に加えて、カメラの位置の制御を行うようにしてもよい。
ステップS703で、カメラ110は、撮影処理部202によって、方向やズーム倍率を制御して、ローカル監視エリア内の撮影を行う。このとき、共有メモリ306を参照して得られたサーバ120からの認識要求を用いて、ローカル監視エリア内の領域やオブジェクトを優先順位付けして撮影を行う。また、カメラが移動可能な場合、方向やズーム倍率の制御に加えて、カメラの位置の制御を行うようにしてもよい。
ステップS704で、カメラ110は、カメラ位置・方向検出部201によって、撮像部114の位置、方向、ズーム倍率等の撮影パラメータPAR(CI)を随時検出する。
ステップS705で、オブジェクトフレーム作成処理を実行する。オブジェクトフレーム作成処理の詳細は後述する。
ステップS706で、カメラ110は、ステップS705で作成したオブジェクトフレームOF(CI,Oid)を、サーバ120の共有メモリ306に記憶する。
ステップS707で、カメラ110は、処理を終了するか否かを判定し、YESであれば処理を終了し、NOであれば処理をステップS701に戻す。
ステップS705で、オブジェクトフレーム作成処理を実行する。オブジェクトフレーム作成処理の詳細は後述する。
ステップS706で、カメラ110は、ステップS705で作成したオブジェクトフレームOF(CI,Oid)を、サーバ120の共有メモリ306に記憶する。
ステップS707で、カメラ110は、処理を終了するか否かを判定し、YESであれば処理を終了し、NOであれば処理をステップS701に戻す。
(サーバ120の処理)
図7(B)を参照して、サーバ120が実行する処理を説明する。図7(B)のフローチャートの処理は、CPU121が例えばROM122に記憶されたプログラムを読み出し、実行することにより実現される。
ステップS711で、サーバ120は、共有メモリ306に記憶されているオブジェクトフレームOFint(OBJ)と、カメラ110からの情報要求とを参照する。
図7(B)を参照して、サーバ120が実行する処理を説明する。図7(B)のフローチャートの処理は、CPU121が例えばROM122に記憶されたプログラムを読み出し、実行することにより実現される。
ステップS711で、サーバ120は、共有メモリ306に記憶されているオブジェクトフレームOFint(OBJ)と、カメラ110からの情報要求とを参照する。
ステップS712で、サーバ120は、認識要求生成部302によって、カメラ110からの情報要求を解析し、解析結果に基づいてカメラ110への認識要求を生成して、共有メモリ306に記憶する。ここでは、カメラ110からの死角領域に関する情報要求を解析し、死角領域が視野に入る他の適切なカメラ110を選択して、選択したカメラ110へのオブジェクトの認識要求を生成する。
ステップS713で、統合オブジェクトフレーム作成処理を実行する。統合オブジェクトフレーム作成処理の詳細は後述する。
ステップS714では、サーバ120は、ステップS713で作成した統合オブジェクトフレームOFint(OBJ)を共有メモリ306に記憶する。
ステップS715で、サーバ120は、処理を終了するか否かを判定し、YESであれば処理を終了し、NOであれば処理をステップS711に戻す。
ステップS714では、サーバ120は、ステップS713で作成した統合オブジェクトフレームOFint(OBJ)を共有メモリ306に記憶する。
ステップS715で、サーバ120は、処理を終了するか否かを判定し、YESであれば処理を終了し、NOであれば処理をステップS711に戻す。
(オブジェクトフレーム作成処理)
図8を参照して、ステップS705のオブジェクトフレーム作成処理の詳細な説明を行う。
ステップS801で、オブジェクト認識(検出・追跡)部206は、撮影画像内のオブジェクトを検出・認識(分類)する。また、検出又は認識済みのオブジェクトは追跡(追尾)する。ここでは、オブジェクトの認識結果として、オブジェクトのカテゴリ、画像領域、認識率、認識時刻等を取得する。また、オブジェクト認識(検出・追跡)部206は、カメラ110の撮影画像内で認識したオブジェクトに対して、オブジェクト識別子Oidを付与する。
図8を参照して、ステップS705のオブジェクトフレーム作成処理の詳細な説明を行う。
ステップS801で、オブジェクト認識(検出・追跡)部206は、撮影画像内のオブジェクトを検出・認識(分類)する。また、検出又は認識済みのオブジェクトは追跡(追尾)する。ここでは、オブジェクトの認識結果として、オブジェクトのカテゴリ、画像領域、認識率、認識時刻等を取得する。また、オブジェクト認識(検出・追跡)部206は、カメラ110の撮影画像内で認識したオブジェクトに対して、オブジェクト識別子Oidを付与する。
ステップS802で、オブジェクトフレーム作成部208は、オブジェクトフレームの初期設定を行う。オブジェクトフレーム作成部208は、記憶部205を参照して、オブジェクトの認識結果として得られたカテゴリに対応するテンプレートOFtmp(Cat)を呼び出す。そして、オブジェクトフレーム作成部208は、テンプレートOFtmp(Cat)のデータスロットに、撮影情報(カメラの識別情報、撮影時刻、撮影パラメータ)、カテゴリ、画像領域、認識率、認識時刻をセットする。また、オブジェクトフレーム作成部208は、テンプレートOFtmp(Cat)に、カメラ識別子CI、オブジェクト識別子Oidを付与する。
ステップS803で、機械学習処理部207は、オブジェクト識別子Oidのオブジェクトに対して、撮影画像内の関節の位置等のID付フレーム特徴点を抽出し、その二次元位置P2(CI,ID)を算出する。図10は、フレーム特徴点を抽出するための機械学習処理を説明するための図である。例えば図10(A)のカメラCam1の撮影画像から認識されたオブジェクト(Cat=「人間」)に対しては、撮影画像内のフレーム特徴点として、P2(Cam1,HM01)、P2(Cam1,HM02)、P2(Cam1,HM03)、・・・等が抽出される。このときのフレーム特徴点の抽出は、例えばニューラルネットワーク等を用いて行われる。ここでは、予め図10(B)〜(E)のような画像を大量に用いて、オブジェクトのカテゴリと、フレーム特徴点HM01、HM02、・・・等の位置及びカテゴリを教示学習しておく。なお、ここでの処理は、ステップS801においてまとめて行ってもよい。
ステップS804で、撮像測距制御部203は、撮影画像内のオブジェクト上に幾つかの測距点を設定し、測距処理部204は、カメラ110から測距点までの距離を測定する。測距点としては、例えばステップS803で抽出した撮影画像内の二次元位置P2(Cam1,HM02)、P2(Cam1,HM03)、・・・等に対応する実空間のオブジェクト上の点又はその近傍の点を設定する。
ステップS805で、オブジェクトフレーム作成部208は、ステップS803で抽出した撮影画像内のフレーム特徴点の二次元位置P2(CI,ID)に対して、実空間におけるフレーム特徴点の三次元位置P3(CI,ID)を算出する。また、三次元位置P3(CI,ID)の信頼度を表す位置信頼度W(CI,ID)を算出する。フレーム特徴点の三次元位置P3(CI,ID)は、撮影画像内の二次元位置P2(CI,ID)と、位置、方向、ズーム倍率等の撮影パラメータPAR(CI)と、測距によって得られた距離L(CI,ID)とに基づいて算出する。また、位置信頼度W(CI,ID)は、測距精度や認識精度から予め決めた所定の方法で算出する。例えば位置信頼度W(CI,ID)は、三次元位置P3(CI,ID)の算出時の誤差ΔP3(CI,ID)の絶対値|ΔP3(CI,ID)|の関数とする。このとき、|ΔP3(CI,ID)|に関する連続で滑らかな単調減少関数W(CI,ID)(≧0)を、例えば式(1)のように決めておく。
また、誤差ΔP3(CI,ID)は、例えば次のように算出する。撮影パラメータPAR(CI)が、カメラ110の位置P(CI)、方向PC(CI)、ズーム倍率Z(CI)からなるものとする。また、カメラ110の撮影画像内のフレーム特徴点の二次元位置がP2(CI,ID)であり、カメラ110の位置P(CI)からP2(CI,ID)に対応する実空間における三次元位置までの距離がL(CI,ID)であるとする。すると、ある関数F( )によって、位置P3(CI,ID)は、式(2)のように表される。
このとき、位置P3(CI,ID)の誤差ΔP3(CI,ID)は、式(3)のようになる。
ここで、ΔP(CI)、ΔPC(CI)、ΔZ(CI)は撮影パラメータの検出誤差、ΔP2(CI,ID)は撮影画像内の二次元位置の算出誤差、ΔL(CI,ID)は測距誤差である。式(2)の関数F( )の具体的な形が決まれば、これらの誤差を見積もることで、誤差ΔP3(CI,ID)及び位置信頼度W(CI,ID)を算出することができる。ここで算出した三次元位置P3(CI,ID)を、さらに関節等の可動範囲を考慮して、式(3)によって算出される誤差ΔP3(CI,ID)の範囲内で補正を行ったものを新たに三次元位置P3(CI,ID)としてもよい。このように算出した三次元位置P3(CI,ID)及び位置信頼度W(CI,ID)を、オブジェクトフレームOF(CI,Oid)のフレーム特徴点の各データスロットにセットする。
ステップS806で、オブジェクトフレーム作成部208は、基準位置の設定を行う。基準位置は、認識したオブジェクトの実空間内で基準となる三次元の位置であり、認識したオブジェクトに対して一つだけ設定される。例えばオブジェクトが「人間」の場合、首の付け根を基準位置に設定する(BP3(Cam1,IDBS=HM02)=P3(Cam1,HM02))。このとき、基準位置信頼度BW(Cam1,IDBS)は、P3(Cam1,HM02)の誤差から算出する。また、撮影画像からIDBS(=HM02)が取得できなかった場合、IDBS(=HM02)の周囲の抽出できた幾つかのフレーム特徴点から基準位置及び基準位置信頼度を推定して算出する。ここで設定又は算出した基準位置BP3(Cam1,IDBS)及び基準位置信頼度BW(Cam1,IDBS)(>0)を、オブジェクトフレームOF(CI,Oid)にセットする。
ステップS807で、オブジェクトフレーム作成部208は、フレーム特徴点の相対位置及び相対位置信頼度の設定を行う。フレーム特徴点の相対位置は、オブジェクトの基準位置IDBSからの同一のオブジェクト内のフレーム特徴点IDの三次元位置の相対的な位置である。フレーム特徴点の相対位置の集合によって、基準位置から見たオブジェクトの形状、姿勢、動き等からなる三次元的な認識結果が表現される。フレーム特徴点の相対位置RP3(CI,ID,IDBS)は、三次元位置P3(CI,ID)及び基準位置BP3(CI,IDBS)から、RP3(CI,ID,IDBS)=P3(CI,ID)−BP3(CI,IDBS)のように算出される。このように算出した相対位置RP3(CI,ID,IDBS)をオブジェクトフレームOF(CI,Oid)にセットする。
次に、フレーム特徴点の相対位置信頼度の算出を行う。一般的に、フレーム特徴点ID2の三次元位置P3(CI,ID2)のフレーム特徴点ID1の三次元位置P3(CI,ID1)からの相対位置をRP3(CI,ID2,ID1)とする。このとき、RP3(CI,ID2,ID1)=P3(CI,ID2)−P3(CI,ID1)とする。また、式(3)を用いて、相対位置RP3(CI,ID2,ID1)の誤差ΔRP3(CI,ID2,ID1)は、次の式(4)ように算出される。
次に、フレーム特徴点の相対位置信頼度の算出を行う。一般的に、フレーム特徴点ID2の三次元位置P3(CI,ID2)のフレーム特徴点ID1の三次元位置P3(CI,ID1)からの相対位置をRP3(CI,ID2,ID1)とする。このとき、RP3(CI,ID2,ID1)=P3(CI,ID2)−P3(CI,ID1)とする。また、式(3)を用いて、相対位置RP3(CI,ID2,ID1)の誤差ΔRP3(CI,ID2,ID1)は、次の式(4)ように算出される。
このとき、式(4)において、カメラCIで撮影した特徴点ID1とID2が同一のオブジェクト上にあるとき、たいていの場合に、次の式(5)の関係が成り立つ。
相対位置信頼度RW(CI,ID2,ID1)は、相対位置RP3(CI,ID2,ID1)の算出時の誤差ΔRP3(CI,ID2,ID1)の絶対値|ΔRP3(CI,ID2,ID1)|の関数とする。このとき、|ΔRP3(CI,ID2,ID1)|に関する連続で滑らかな単調減少関数RW(CI,ID2,ID1)(≧0)を、例えば式(6)のように決めておく。
また、信頼度の高い相対位置の統合相対位置に対する寄与度がさらに大きくなるようにしてもよい。このときは、|ΔRP3(CI,ID2,ID1)|に関する連続で滑らかな単調減少関数RW(CI,ID2,ID1)(≧0)を、例えば式(7)のように決めておく。
このように算出する相対位置信頼度RW(CI,ID2,ID1)において、ID2←ID、ID1←IDBSと置き換えて算出した相対位置信頼度RW(CI,ID,IDBS)をオブジェクトフレームOF(CI,Oid)にセットする。
さらに、各相対位置RP3(CI,ID,IDBS)間で、関節等の可動範囲を考慮して、式(4)によって算出される誤差ΔRP3(CI,ID,IDBS)の範囲内で補正を行ったものを、新たに相対位置RP3(CI,ID,IDBS)としてもよい。このときは、相対位置の補正に基づいて、三次元位置P3(CI,ID)も同様な補正を行う。これらの補正を行った、相対位置RP3(CI,ID,IDBS)及び三次元位置P3(CI,ID)をオブジェクトフレームOF(CI,Oid)にセットする。
このように、単独のカメラ110で撮影した画像内のオブジェクトを認識して、実空間におけるオブジェクトの位置、形状、姿勢、動き等を表現するオブジェクトフレームを作成する。
(統合オブジェクトフレーム作成処理)
図9を参照して、ステップS713の統合オブジェクトフレーム作成処理の詳細な説明を行う。
ステップS901で、同一性判定部303は、複数のカメラ110で作成したオブジェクトフレームOF(CI,Oid)が同一のオブジェクトOBJに対するものであるか否かを判定する。例えば、各カメラCIで作成したオブジェクトフレームOF(CI,Oid)にセットされている撮影時刻、基準位置及び幾つかのフレーム特徴点の三次元位置が所定の範囲内で近似しているか否かを判定する。これらのオブジェクトフレームOF(CI,Oid)にセットされている撮影時刻、基準位置及び幾つかのフレーム特徴点の三次元位置が所定の範囲内で近似していれば、これらのオブジェクトフレームが同一のオブジェクトOBJに対するものであると判定する。同一のオブジェクトOBJに対するものであると判定された、一つ以上のオブジェクトフレームOF(CI,Oid)に対して、以下のステップS902〜S908の処理を行う。
図9を参照して、ステップS713の統合オブジェクトフレーム作成処理の詳細な説明を行う。
ステップS901で、同一性判定部303は、複数のカメラ110で作成したオブジェクトフレームOF(CI,Oid)が同一のオブジェクトOBJに対するものであるか否かを判定する。例えば、各カメラCIで作成したオブジェクトフレームOF(CI,Oid)にセットされている撮影時刻、基準位置及び幾つかのフレーム特徴点の三次元位置が所定の範囲内で近似しているか否かを判定する。これらのオブジェクトフレームOF(CI,Oid)にセットされている撮影時刻、基準位置及び幾つかのフレーム特徴点の三次元位置が所定の範囲内で近似していれば、これらのオブジェクトフレームが同一のオブジェクトOBJに対するものであると判定する。同一のオブジェクトOBJに対するものであると判定された、一つ以上のオブジェクトフレームOF(CI,Oid)に対して、以下のステップS902〜S908の処理を行う。
ステップS902で、統合オブジェクトフレーム作成部304は、各オブジェクトフレームOF(CI,Oid)の基準位置を補完及び統合して、オブジェクトOBJの統合基準位置BP3int(IDBS)を算出する。この統合基準位置BP3int(IDBS)を、統合オブジェクトフレームOFint(OBJ)にセットする。ここでは、同一のオブジェクトOBJに対する各オブジェクトフレームOF(CI,Oid)の基準位置BP3(CI,IDBS)及び基準位置信頼度BW(CI,IDBS)を参照する。オブジェクトの統合基準位置BP3int(IDBS)は、式(8)のように算出する。このように、複数のカメラ110が算出した基準位置BP3(CI,IDBS)の中で、基準位置信頼度BW(CI,IDBS)の値の大きい基準位置BP3(CI,IDBS)ほど、統合基準位置BP3int(IDBS)への寄与が大きくなる。式(8)、式(9)、・・・等におけるΣは、各カメラCIに対する和を表す。
ステップS903で、統合オブジェクトフレーム作成部304は、統合基準位置BP3int(IDBS)の信頼度を表す統合基準位置信頼度BWint(IDBS)を算出する。この統合基準位置信頼度BWint(IDBS)を、統合オブジェクトフレームOFint(OBJ)にセットする。統合基準位置信頼度BWint(IDBS)は、式(9)のように算出する。
ステップS902及びステップS903において、基準位置信頼度BW(CI,IDBS)が所定の値よりも小さい(すなわち基準位置の誤差ΔBP3(CI,IDBS)が大きい)カメラCIに対応する項を(Σ演算で)除外して式(8)及び式(9)を算出してもよい。ここでは、例えば、式(1)で算出したBW(CI,IDBS)(=W(CI,HM02))<10となるカメラCIに対応する項を除外して、統合基準位置BP3int(IDBS)及び統合基準位置信頼度BWint(IDBS)を算出する。
また、ステップS902及びステップS903において、基準位置BP3(CI,IDBS)が他のカメラで作成したものと比較して所定の基準を超えて外れているカメラCIに対応する項を(Σ演算で)除外して式(8)及び式(9)を算出してもよい。
このようにすることで、各カメラCIで算出した基準位置の中で、基準位置信頼度の大きい(誤差の小さい)基準位置ほど統合基準位置に大きく寄与するので、複数のカメラによって統合基準位置をより高精度に算出できる。
また、ステップS902及びステップS903において、基準位置BP3(CI,IDBS)が他のカメラで作成したものと比較して所定の基準を超えて外れているカメラCIに対応する項を(Σ演算で)除外して式(8)及び式(9)を算出してもよい。
このようにすることで、各カメラCIで算出した基準位置の中で、基準位置信頼度の大きい(誤差の小さい)基準位置ほど統合基準位置に大きく寄与するので、複数のカメラによって統合基準位置をより高精度に算出できる。
ステップS904で、同一性判定部303は、各オブジェクトフレームOF(CI,Oid)内のフレーム特徴点を、ID及び撮影時刻によって同一性判定する。
ステップS905で、統合オブジェクトフレーム作成部304は、各オブジェクトフレームOF(CI,Oid)の同一IDのフレーム特徴点の相対位置を統合して各フレーム特徴点の統合相対位置RP3int(ID,IDBS)を算出する。ここでは、各オブジェクトフレームOF(CI,Oid)内の同一IDのフレーム特徴点の相対位置RP3(CI,ID,IDBS)及び相対位置信頼度RW(CI,ID,IDBS)を参照する。フレーム特徴点の統合相対位置RP3int(ID,IDBS)は、ΣRW(CI,ID,IDBS)>0(ここでΣは、各カメラCIに対して和をとる)となるIDに対して、式(10)ように算出する。このように、フレーム特徴点に対して、カメラ110が算出した相対位置RP3(CI,ID,IDBS)の中で、相対位置信頼度RW(CI,ID,IDBS)の値の大きい相対位置RP3(CI,ID,IDBS)ほど、統合相対位置RP3int(ID,IDBS)への寄与が大きくなる。さらに、各統合相対位置RP3int(ID,IDBS)の間で、関節等の可動範囲を考慮して、誤差ΔRP3int(ID,IDBS)の範囲内で補正を行ったものを新たに統合相対位置RP3int(ID,IDBS)としてもよい。ここで、誤差ΔRP3int(ID,IDBS)は、式(10)及び式(4)を用いて算出する。このように算出した統合相対位置RP3int(ID,IDBS)を、統合オブジェクトフレームOFint(OBJ)にセットする。
ステップS906で、統合オブジェクトフレーム作成部304は、フレーム特徴点の統合相対位置信頼度RWint(ID,IDBS)を算出する。ここでは、各オブジェクトフレームOF(CI,Oid)内の同一IDのフレーム特徴点の相対位置信頼度RW(CI,ID,IDBS)を参照する。フレーム特徴点の統合相対位置信頼度RWint(ID,IDBS)は、ΣRW(CI,ID,IDBS)>0(ここでΣは、各カメラCIに対して和をとる)となるIDに対して、式(11)ように算出する。
ステップS905及びステップS906において、相対位置信頼度RW(CI,ID,IDBS)が所定の値よりも小さい(すなわち相対位置の誤差ΔRP3(CI,ID,IDBS)が大きい)カメラCIに対応する項を(Σ演算で)除外して式(10)及び式(11)を算出してもよい。ここでは、例えば、式(6)で算出したRW(CI,ID,IDBS)<100となるカメラCIに対応する項を除外して、統合相対位置RP3int(ID,IDBS)及び統合相対位置信頼度RWint(ID,IDBS)を算出する。
また、ステップS905及びステップS906において、相対位置RP3(CI,ID,IDBS)が他のカメラで作成したものと比較して所定の基準を超えて外れているカメラCIに対応する項を(Σ演算で)除外して式(10)及び式(11)を算出してもよい。
また、ステップS905において、例えば、下記の式(12)の条件を満たすカメラCIに対応する項のみを抽出して式(10)を算出してもよい。このときは、ステップS906において、例えば、下記の式(12)の条件を満たすカメラCIに対応する項のみを抽出して式(11)を算出する。ここでは、式(12)においては、係数K(0<K<1)の値は、例えばK=0.3とするが、係数Kの値はさらに小さくしてもよい(例えばK=0.03)。このように係数Kの値を小さくすることで、三次元位置P3(CI,ID)及び基準位置BP3(CI,IDBS)の算出精度に比べて、より高精度に相対位置RP3(CI,ID,IDBS)を算出したカメラCIのみを抽出できる。このように抽出したカメラCIの作成した相対位置RP3(CI,ID,IDBS)及び相対位置信頼度RW(CI,ID,IDBS)のみを用いて、統合相対位置RP3int(ID,IDBS)及び統合相対位置信頼度RWint(ID,IDBS)を算出する。
このように、同一のオブジェクトを撮影した複数のカメラの中から、各フレーム特徴点IDそれぞれに対して、相対位置をより高精度に算出できる位置、方向にあるカメラCI(群)が抽出(選択)されて、統合相対位置が算出される。相対位置信頼度の大きい(誤差の小さい)相対位置ほどに統合相対位置に大きく寄与するので、このようにすることで、複数のカメラによって統合相対位置をより高精度に算出できる。
また、ステップS905及びステップS906において、相対位置RP3(CI,ID,IDBS)が他のカメラで作成したものと比較して所定の基準を超えて外れているカメラCIに対応する項を(Σ演算で)除外して式(10)及び式(11)を算出してもよい。
また、ステップS905において、例えば、下記の式(12)の条件を満たすカメラCIに対応する項のみを抽出して式(10)を算出してもよい。このときは、ステップS906において、例えば、下記の式(12)の条件を満たすカメラCIに対応する項のみを抽出して式(11)を算出する。ここでは、式(12)においては、係数K(0<K<1)の値は、例えばK=0.3とするが、係数Kの値はさらに小さくしてもよい(例えばK=0.03)。このように係数Kの値を小さくすることで、三次元位置P3(CI,ID)及び基準位置BP3(CI,IDBS)の算出精度に比べて、より高精度に相対位置RP3(CI,ID,IDBS)を算出したカメラCIのみを抽出できる。このように抽出したカメラCIの作成した相対位置RP3(CI,ID,IDBS)及び相対位置信頼度RW(CI,ID,IDBS)のみを用いて、統合相対位置RP3int(ID,IDBS)及び統合相対位置信頼度RWint(ID,IDBS)を算出する。
このように、同一のオブジェクトを撮影した複数のカメラの中から、各フレーム特徴点IDそれぞれに対して、相対位置をより高精度に算出できる位置、方向にあるカメラCI(群)が抽出(選択)されて、統合相対位置が算出される。相対位置信頼度の大きい(誤差の小さい)相対位置ほどに統合相対位置に大きく寄与するので、このようにすることで、複数のカメラによって統合相対位置をより高精度に算出できる。
ステップS907で、統合オブジェクトフレーム作成部304は、フレーム特徴点の統合位置P3int(ID)を算出する。この統合位置P3int(ID)を、統合オブジェクトフレームOFint(OBJ)にセットする。統合位置P3int(ID)は、ステップS902及びステップS905で算出した統合基準位置BP3int(IDBS)及び統合相対位置RP3int(ID,IDBS)に基づいて、式(13)のように算出する。
ステップS908で、統合オブジェクトフレーム作成部304は、フレーム特徴点の統合位置P3int(ID)の信頼度を表す統合位置信頼度Wint(ID)を算出する。この統合位置信頼度Wint(ID)を、統合オブジェクトフレームOFint(OBJ)にセットする。統合位置信頼度Wint(ID)は、BWint(IDBS)>0、かつ、RWint(ID,IDBS)>0となるIDに対して、式(14)のように算出する。また、BWint(IDBS)=0、または、RWint(ID,IDBS)=0となるIDに対しては、Wint(ID)=0とする。
ステップS909で、統合オブジェクトフレーム作成部304は、統合オブジェクトフレームOFint(OBJ)の統合基準位置BP3int(IDBS)、統合相対位置RP3int(ID,IDBS)、統合位置P3int(ID)を補正する。ここで、統合基準位置BP3int(IDBS)は誤差ΔBP3int(IDBS)の範囲内で、統合相対位置RP3int(ID,IDBS)は誤差ΔRP3int(ID,IDBS)の範囲内で補正する。誤差ΔBP3int(IDBS)は式(8)及び式(3)を用いて、誤差ΔRP3int(ID,IDBS)は式(10)及び式(4)を用いて算出する。また、補正した統合基準位置BP3int(IDBS)及び統合相対位置RP3int(ID,IDBS)に基づいて、式(13)を用いて、統合位置P3int(ID)を補正する。このように補正した統合基準位置BP3int(IDBS)、統合相対位置RP3int(ID,IDBS)、統合位置P3int(ID)を、統合オブジェクトフレームOFint(OBJ)にセットする。
ステップS910で、統合オブジェクトフレーム作成部304は、統合オブジェクトフレームOFint(OBJ)の作成時刻及び有効時刻を算出して、統合オブジェクトフレームOFint(OBJ)にセットする。ここで、有効時刻は、撮影時刻、オブジェクトのカテゴリ、位置、姿勢、動き等に基づいて算出する。
このように、複数のカメラ110で作成したオブジェクトフレームを相互に補完及び統合してオブジェクトの三次元的な位置、形状、姿勢、動きをより詳細に表現できる統合オブジェクトフレームを作成する。これにより、カメラ110が自分の位置から見えにくい領域のオブジェクトのより詳細な三次元的認識を行うことができる。
<オブジェクト認識システムの動作の説明>
図11〜図18を参照して、オブジェクト認識システム100の動作の説明を行う。
(オブジェクトフレームの作成)
図11〜図14を参照して、オブジェクトフレーム作成の動作の説明を行う。
図11(A)に示すように、広域監視エリアを監視する複数のカメラCam1、Cam2、Cam3が設置されているものとする。また、広域監視エリア内に、未知のオブジェクトOBJa、OBJb、OBJcが存在するものとする。
図11(A)に示すように、カメラCam1によって、時刻PT1においてローカル監視エリア内の撮影が行われ(ステップS703)、撮影時の撮影パラメータが検出される(ステップS704)。
図11〜図18を参照して、オブジェクト認識システム100の動作の説明を行う。
(オブジェクトフレームの作成)
図11〜図14を参照して、オブジェクトフレーム作成の動作の説明を行う。
図11(A)に示すように、広域監視エリアを監視する複数のカメラCam1、Cam2、Cam3が設置されているものとする。また、広域監視エリア内に、未知のオブジェクトOBJa、OBJb、OBJcが存在するものとする。
図11(A)に示すように、カメラCam1によって、時刻PT1においてローカル監視エリア内の撮影が行われ(ステップS703)、撮影時の撮影パラメータが検出される(ステップS704)。
そして、ステップS801において、図11(B)に示すように、撮影画像Img(Cam1)内のオブジェクトの認識が行われ、画像領域IAR11のオブジェクトに対して、Cat=「人間」、認識率RR11、認識時刻RT11等が取得される。また、画像領域IAR11のオブジェクトに対して、オブジェクト識別子Oid11が付与される。同様に、画像領域IAR12のオブジェクトに対して、Cat=「テーブルB」、認識率RR12、認識時刻RT12等が取得され、オブジェクト識別子Oid12が付与される。
ステップS802において、図12(A)に示すように、Cat=「人間」に対するテンプレートOFtmp(「人間」)が呼び出されて、データスロットに、画像領域IAR11、認識率RR11、認識時刻RT11、撮影情報PIN1がセットされる。そして、カメラ識別子CI=Cam1、オブジェクト識別子Oid=Oid11が付与されて、オブジェクトフレームOF(Cam1,Oid11)が作成される。
ステップS803において、図12(B)に示すように、撮影画像Img(Cam1)からフレーム特徴点の二次元位置P2(Cam1,HM01)、P2(Cam1,HM04)、・・・等が抽出される。
ステップS804において、図12(C)に示すように、撮影画像Img(Cam1)内で抽出できたフレーム特徴点の位置P2(Cam1,HM01)、P2(Cam1,HM04)、・・・に対応する実空間における位置又はその近傍の位置が測距点として設定される。そして、図12(D)に示すように、設定された各測距点までの距離が測定される。ここでは、撮影画像内のフレーム特徴点の位置P2(Cam1,HM04)に対応する実空間における位置PPPが測距点として設定され、カメラの位置P(Cam1)から測距点PPPまでの距離の測定結果がL(Cam1,HM04)であったとする。
ステップS804において、図12(C)に示すように、撮影画像Img(Cam1)内で抽出できたフレーム特徴点の位置P2(Cam1,HM01)、P2(Cam1,HM04)、・・・に対応する実空間における位置又はその近傍の位置が測距点として設定される。そして、図12(D)に示すように、設定された各測距点までの距離が測定される。ここでは、撮影画像内のフレーム特徴点の位置P2(Cam1,HM04)に対応する実空間における位置PPPが測距点として設定され、カメラの位置P(Cam1)から測距点PPPまでの距離の測定結果がL(Cam1,HM04)であったとする。
ステップS805において、図12(C)、(D)に示すように、撮影画像内のフレーム特徴点の二次元位置P2(Cam1,HM04)に対応する実空間におけるフレーム特徴点の三次元位置P3(Cam1,HM04)が算出される。
図13(A)は、図12(D)におけるカメラCI(=Cam1)、及び、オブジェクトObjaを上方から見た図である。
図13(A)を用いて、フレーム特徴点の三次元位置P3(Cam1,HM04)の算出方法の説明を行う。ここでは、一般的なカメラCI及びフレーム特徴点IDに対するフレーム特徴点の三次元位置P3(CI,ID)について述べる。カメラCIの撮影パラメータPAR(CI)は、位置P(CI)、方向PC(CI)=(PCA(CI),PCB(CI))、ズーム倍率によって決まる距離Z(CI)からなる。このとき、図13(A)に示すように、カメラの位置P(CI)から距離Z(CI)の位置に、仮想的な撮影画像Img(CI)があるものとみなすことできる。また、カメラCIの視野内にある任意の物点PO3(図示ぜず)に対して、カメラの位置P(CI)と物点PO3を通る直線が仮想的な撮影画像Img(CI)と交差する点が、撮影画像Img(CI)内の像点PO2(図示せず)となる。また、PCA(CI)はカメラの光軸方向の単位ベクトルであり、PCA(CI)は仮想的な撮影画像Img(CI)が形成するXY平面と直交している。また、PCB(CI)は撮影画像Img(CI)内の上方向(Y軸)の単位ベクトルである。このとき、撮影画像Img(CI)内の右方向(X軸)の単位ベクトルは、PCA(CI)×PCB(CI)となる(ここで×はベクトルの外積である)。いま、抽出したフレーム特徴点IDの撮影画像(XY平面)内の二次元位置がP2(CI,ID)=(P2X(CI,ID),P2Y(CI,ID))であったとする。ここで、P2X(CI,ID)は撮影画像Img(CI)内のP2(CI,ID)のX軸方向の成分、P2Y(CI,ID)は撮影画像Img(CI)内のP2(CI,ID)のY軸方向の成分である。すると、撮影画像Img(CI)の原点O1の実空間における位置は、O1=P(CI)+Z(CI)PCA(CI)となる。また、実空間における位置P(CI)から撮影画像上の位置P2(CI,ID)までの相対位置P2R(CI,ID)は、P2R(CI,ID)=Z(CI)PCA(CI)+P2X(CI,ID)(PCA(CI)×PCB(CI))+P2Y(CI)PCB(CI)となる。また、測距点PPPは、撮影画像内の二次元位置P2(CI,ID)に対応する実空間における三次元位置である。このとき、カメラの位置P(CI)から実空間における測距点PPPの方向への単位ベクトルPV(CI,ID)は、PV(CI,ID)=P2R(CI,ID)/|P2R(CI,ID)|である。カメラCIの位置P(CI)から測距点PPPまでの測距結果がL(CI,ID)であるので、フレーム特徴点IDの実空間における三次元位置P3(CI,ID)は、次の式(15)のように算出される。
図13(A)は、図12(D)におけるカメラCI(=Cam1)、及び、オブジェクトObjaを上方から見た図である。
図13(A)を用いて、フレーム特徴点の三次元位置P3(Cam1,HM04)の算出方法の説明を行う。ここでは、一般的なカメラCI及びフレーム特徴点IDに対するフレーム特徴点の三次元位置P3(CI,ID)について述べる。カメラCIの撮影パラメータPAR(CI)は、位置P(CI)、方向PC(CI)=(PCA(CI),PCB(CI))、ズーム倍率によって決まる距離Z(CI)からなる。このとき、図13(A)に示すように、カメラの位置P(CI)から距離Z(CI)の位置に、仮想的な撮影画像Img(CI)があるものとみなすことできる。また、カメラCIの視野内にある任意の物点PO3(図示ぜず)に対して、カメラの位置P(CI)と物点PO3を通る直線が仮想的な撮影画像Img(CI)と交差する点が、撮影画像Img(CI)内の像点PO2(図示せず)となる。また、PCA(CI)はカメラの光軸方向の単位ベクトルであり、PCA(CI)は仮想的な撮影画像Img(CI)が形成するXY平面と直交している。また、PCB(CI)は撮影画像Img(CI)内の上方向(Y軸)の単位ベクトルである。このとき、撮影画像Img(CI)内の右方向(X軸)の単位ベクトルは、PCA(CI)×PCB(CI)となる(ここで×はベクトルの外積である)。いま、抽出したフレーム特徴点IDの撮影画像(XY平面)内の二次元位置がP2(CI,ID)=(P2X(CI,ID),P2Y(CI,ID))であったとする。ここで、P2X(CI,ID)は撮影画像Img(CI)内のP2(CI,ID)のX軸方向の成分、P2Y(CI,ID)は撮影画像Img(CI)内のP2(CI,ID)のY軸方向の成分である。すると、撮影画像Img(CI)の原点O1の実空間における位置は、O1=P(CI)+Z(CI)PCA(CI)となる。また、実空間における位置P(CI)から撮影画像上の位置P2(CI,ID)までの相対位置P2R(CI,ID)は、P2R(CI,ID)=Z(CI)PCA(CI)+P2X(CI,ID)(PCA(CI)×PCB(CI))+P2Y(CI)PCB(CI)となる。また、測距点PPPは、撮影画像内の二次元位置P2(CI,ID)に対応する実空間における三次元位置である。このとき、カメラの位置P(CI)から実空間における測距点PPPの方向への単位ベクトルPV(CI,ID)は、PV(CI,ID)=P2R(CI,ID)/|P2R(CI,ID)|である。カメラCIの位置P(CI)から測距点PPPまでの測距結果がL(CI,ID)であるので、フレーム特徴点IDの実空間における三次元位置P3(CI,ID)は、次の式(15)のように算出される。
上記の式(15)が、式(2)の関数F(P(CI),PC(CI),Z(CI),P2(CI,ID),L(CI,ID))の具体的な算出方法を表している。また、カメラCIの位置P(CI)は、PC(CI)=(Px(CI),Py(CI),Pz(CI))である。ここで、例えばPx(CI)は、実空間(xyz)におけるP(CI)のx軸方向の成分である。また、カメラCIの方向PC(CI)及びPC(CI)の成分であるPCA(CI)やPCB(CI)は、例えばオイラー角(θφλ)を用いて、それぞれθ(CI)、φ(CI)、λ(CI)の関数として表される。このとき、スカラー変数Px(CI)、Py(CI)、Pz(CI)、θ(CI)、φ(CI)、λ(CI)、Z(CI)、P2X(CI,ID)、P2Y(CI,ID)、L(CI,ID)を用いて、式(2)すなわち式(15)は、次の式(16)のように表される。
同様に、三次元位置P3(CI,ID)の誤差ΔP3(CI,ID)を表す式(3)は、変数を置き換えて、次の式(17)のように表すことができる。
上記の式(17)において、例えば偏微分∂F(IC,ID)/∂θは、下記の式(18)の意味であり、偏微分∂F(IC,ID)/∂Px、∂F(IC,ID)/∂θ、・・・等の具体的な値は式(15)及び式(16)を用いて算出される。
ここで、ΔPx(CI)、ΔPy(CI)、ΔPz(CI)は、カメラの位置P(CI)の検出誤差、Δθ(CI)、Δφ(CI)、Δλ(CI)は、オイラー角(θφλ)で表したときのカメラの方向PC(CI)の検出誤差である。また、ΔZ(CI)はズーム倍率によって決まる距離の測定誤差である。また、ΔP2X(CI,ID)、ΔP2Y(CI,ID)は撮影画像内の二次元位置ΔP2(CI,ID)の算出誤差、ΔL(CI,ID)は測距誤差である。また、これらの誤差ΔPx(CI)、ΔPy(CI)、ΔPz(CI)、Δθ(CI)、Δφ(CI)、Δλ(CI)、ΔZ(CI)、ΔP2X(CI,ID)、ΔP2Y(CI,ID)、ΔL(CI,ID)はスカラー量である。これらの誤差を見積もることで、式(17)を用いて三次元位置P3(CI,ID)の誤差ΔP3(CI,ID)が算出され、さらに、誤差ΔP3(CI,ID)から、式(1)を用いて位置信頼度W(CI,ID)が算出される。
ここでは、図13(B)に示すように、カメラCI=Cam1において、各フレーム特徴点ID=HM01、HM02、HM03、HM04・・・等に対して、三次元位置P3(CI,ID)が算出される。また、各三次元位置P3(CI,ID)に対して、位置信頼度W(CI,ID)が算出される。
ステップS806において、図13(B)に示すように、(首の付け根の位置IDBS=HM02の)基準位置BP3(Cam1,IDBS)(=P3(Cam1,HM02))及びその基準位置信頼度BW(Cam1,IDBS)が算出(設定)される。
ステップS807において、相対位置RP3(Cam1,ID,IDBS)=P3(Cam1,ID)−BP3(Cam1,IDBS)及び相対位置信頼度RW(Cam1,ID,IDBS)が算出される。相対位置RP3(Cam1,ID,IDBS)は、式(15)によって算出されたP3(Cam1,ID)及びBP3(Cam1,IDBS)を用いて具体的に算出される。また、相対位置RP3(Cam1,ID,IDBS)の誤差ΔRP3(Cam1,ID,IDBS)は、式(17)を用いて、次の式(19)のように算出される。また、式(4)の変数を置き換えて表したものが式(19)である。
相対位置信頼度RW(Cam1,ID,IDBS)は、式(19)で表される相対位置の誤差ΔRP3(Cam1,ID,IDBS)を用いて、式(6)(又は式(7))によって算出される。
また、各フレーム特徴点ID=HM01、HM03、HM04、・・・等に対して、相対位置RP3(Cam1,ID,IDBS)及び相対位置信頼度RW(Cam1,ID,IDBS)が算出される。
図13(C)には、三次元位置P3(Cam1,HM04)、基準位置BP3(Cam1,IDBS)(=P3(Cam1,HM02))、相対位置RP3(Cam1,HM04,IDBS=HM02)の関係を示す。また、図13(C)には、三次元位置の誤差ΔP3(Cam1,HM04)、基準位置の誤差ΔBP3(Cam1,IDBS)(=ΔP3(Cam1,HM02))、相対位置の誤差ΔRP3(Cam1,HM04,IDBS=HM02)の関係を示す。このとき、式(19)によって、図13(C)において、(たいていの場合に)次の式(20)の関係が成り立っている。
また、各フレーム特徴点ID=HM01、HM03、HM04、・・・等に対して、相対位置RP3(Cam1,ID,IDBS)及び相対位置信頼度RW(Cam1,ID,IDBS)が算出される。
図13(C)には、三次元位置P3(Cam1,HM04)、基準位置BP3(Cam1,IDBS)(=P3(Cam1,HM02))、相対位置RP3(Cam1,HM04,IDBS=HM02)の関係を示す。また、図13(C)には、三次元位置の誤差ΔP3(Cam1,HM04)、基準位置の誤差ΔBP3(Cam1,IDBS)(=ΔP3(Cam1,HM02))、相対位置の誤差ΔRP3(Cam1,HM04,IDBS=HM02)の関係を示す。このとき、式(19)によって、図13(C)において、(たいていの場合に)次の式(20)の関係が成り立っている。
図14に示すように、ステップS805で算出されたフレーム特徴点の三次元位置P3(Cam1,ID)及び位置信頼度W(Cam1,ID)がオブジェクトフレームOF(Cam1,Oid11)にセットされる。また、ステップS806で算出されたオブジェクトの基準位置BP3(Cam1,IDBS)及び基準位置信頼度BW(Cam1,IDBS)がオブジェクトフレームOF(Cam1,Oid11)にセットされる。また、ステップS807で算出されたフレーム特徴点の相対位置RP3(Cam1,ID,IDBS)及び相対位置信頼度RW(Cam1,ID,IDBS)がオブジェクトフレームOF(Cam1,Oid11)にセットされる。
このように、カメラ110で撮影した画像内で認識したオブジェクトのオブジェクトフレームOF(CI,Oid)は、基準位置BP3(CI,IDBS)によって、オブジェクトの全体の基準となる実空間における三次元位置を表現する。また、オブジェクトフレームOF(CI,Oid)は、W(CI,ID)>0となる各IDに対するフレーム特徴点の三次元位置P3(CI,ID)によって、オブジェクト識別子Oidのオブジェクトの実空間における位置、形状、姿勢、動きからなる三次元的な認識結果を表現する。
(統合オブジェクトフレームの作成)
図15〜図18を参照して、統合オブジェクトフレーム作成の動作の説明を行う。
図15(D)に示すように、カメラCam1、Cam2、Cam3によって異なる視点からオブジェクトが撮影されオブジェクトフレームが作成される(ステップS703〜S705)。カメラCam1によって時刻PT1に撮影された撮影画像Img(Cam1)からは、図15(A)及び図16(A)に示すように、オブジェクトフレームOF(Cam1,Oid11)及びOF(Cam1,Oid12)が作成される。また、カメラCam2によって時刻PT2に撮影された撮影画像Img(Cam2)からは、図15(B)及び図16(B)に示すように、オブジェクトフレームOF(Cam2,Oid21)及びOF(Cam2,Oid22)が作成される。また、カメラCam3によって時刻PT3に撮影された撮影画像Img(Cam3)からは、図15(C)及び図16(C)に示すように、オブジェクトフレームOF(Cam3,Oid31)、OF(Cam3,Oid32)、OF(Cam3,Oid33)及びOF(Cam3,Oid34)が作成される。ここで、時刻PT1、PT2、PT3は、略同時刻であるものとする。
図15〜図18を参照して、統合オブジェクトフレーム作成の動作の説明を行う。
図15(D)に示すように、カメラCam1、Cam2、Cam3によって異なる視点からオブジェクトが撮影されオブジェクトフレームが作成される(ステップS703〜S705)。カメラCam1によって時刻PT1に撮影された撮影画像Img(Cam1)からは、図15(A)及び図16(A)に示すように、オブジェクトフレームOF(Cam1,Oid11)及びOF(Cam1,Oid12)が作成される。また、カメラCam2によって時刻PT2に撮影された撮影画像Img(Cam2)からは、図15(B)及び図16(B)に示すように、オブジェクトフレームOF(Cam2,Oid21)及びOF(Cam2,Oid22)が作成される。また、カメラCam3によって時刻PT3に撮影された撮影画像Img(Cam3)からは、図15(C)及び図16(C)に示すように、オブジェクトフレームOF(Cam3,Oid31)、OF(Cam3,Oid32)、OF(Cam3,Oid33)及びOF(Cam3,Oid34)が作成される。ここで、時刻PT1、PT2、PT3は、略同時刻であるものとする。
ステップS901において、オブジェクトフレームOF(Cam1,Oid11)とオブジェクトフレームOF(Cam3,Oid31)とが同一のオブジェクトOBJaに対するものであると判定される。ここでは、まず、時刻PT1と時刻PT3とが、所定の範囲内で近似していると判定される。また、オブジェクトフレームOF(Cam1,Oid11)内の基準位置BP3(Cam1,IDBS=HM02)とオブジェクトフレームOF(Cam3,Oid31)内の基準位置BP3(Cam3,IDBS=HM02)とが、所定の範囲内で近似していると判定される。また、オブジェクトフレームOF(Cam1,Oid11)内のフレーム特徴点の三次元位置P3(Cam1,HM01)とオブジェクトフレームOF(Cam3,Oid31)内のフレーム特徴点の三次元位置P3(Cam3,HM01)とが、所定の範囲内で近似していると判定される。同様に、オブジェクトフレームOF(Cam1,Oid11)とオブジェクトフレームOF(Cam3,Oid31)において、フレーム特徴点HM03、HM04・・・等の三次元位置が、それぞれ所定の範囲内で近似していると判定される。
ステップS902〜S903において、図17に示すように、同一性判定されたオブジェクトフレームOF(Cam1,Oid11)とオブジェクトフレームOF(Cam3,Oid31)とから統合基準位置BP3int(HM02)が算出される。また、統合基準位置信頼度BWint(HM02)が算出される。
ステップS904において、オブジェクトフレームOF(Cam1,Oid11)内のフレーム特徴点とオブジェクトフレームOF(Cam3,Oid31)内のフレーム特徴点との同一性が、ID及び時刻PT1、PT3によって判定される。ここでは、図17に示すフレーム特徴点HM01、HM02、HM03、HM04、HM05、HM06が同一性判定されたものとする。
ステップS902〜S903において、図17に示すように、同一性判定されたオブジェクトフレームOF(Cam1,Oid11)とオブジェクトフレームOF(Cam3,Oid31)とから統合基準位置BP3int(HM02)が算出される。また、統合基準位置信頼度BWint(HM02)が算出される。
ステップS904において、オブジェクトフレームOF(Cam1,Oid11)内のフレーム特徴点とオブジェクトフレームOF(Cam3,Oid31)内のフレーム特徴点との同一性が、ID及び時刻PT1、PT3によって判定される。ここでは、図17に示すフレーム特徴点HM01、HM02、HM03、HM04、HM05、HM06が同一性判定されたものとする。
ステップS905において、同一性判定された各IDに対するフレーム特徴点の相対位置RP3(CI,ID,IDBS)及び相対位置信頼度RW(CI,ID,IDBS)からの統合相対位置RP3int(ID,IDBS)が算出される。
ステップS906において、同一性判定された各IDに対するフレーム特徴点の相対位置信頼度RW(CI,ID,IDBS)からの統合相対位置信頼度RWint(ID,IDBS)が算出される。
ステップS907において、同一性判定された各IDに対するフレーム特徴点の統合位置P3int(ID)が算出される。
ステップS908において、同一性判定された各IDに対するフレーム特徴点の統合位置信頼度Wint(ID)が算出される。
ステップS906において、同一性判定された各IDに対するフレーム特徴点の相対位置信頼度RW(CI,ID,IDBS)からの統合相対位置信頼度RWint(ID,IDBS)が算出される。
ステップS907において、同一性判定された各IDに対するフレーム特徴点の統合位置P3int(ID)が算出される。
ステップS908において、同一性判定された各IDに対するフレーム特徴点の統合位置信頼度Wint(ID)が算出される。
図17には、同一性判定されたフレーム特徴点HM04に対する統合相対位置RP3int(HM04,HM02)、統合相対位置信頼度RWint(HM04,HM02)、統合位置P3int(HM04)、統合位置信頼度Wint(HM04)の算出例を示す。図16(A)及び図16(C)に示すように、フレーム特徴点HM08〜HM15は、オブジェクトフレームOF(Cam1,Oid11)内にしか出現しない。また、フレーム特徴点HM07は、オブジェクトフレームOF(Cam3,Oid31)内にしか出現しない。この場合、例えばID=HM07に対しては、RW(Cam1,HM07,HM02)=0、RW(Cam3,HM07,HM02)>0となる。したがって、統合相対位置RP3int(HM07,HM02)は、式(21)のようになる。
すなわち、各オブジェクトフレーム内に出現するIDのフレーム特徴点のみを用いて、統合相対位置RP3int(ID,IDBS)及び統合位置P3int(ID)が算出される。同様に、各オブジェクトフレーム内に出現するIDのフレーム特徴点のみを用いて、統合相対位置信頼度RWint(ID,IDBS)及び統合位置信頼度Wint(ID)が算出される。また、いずれのオブジェクトフレームにも出現しないIDのフレーム特徴点に対しては、統合相対位置信頼度RWint(ID,IDBS)=0、統合位置信頼度Wint(ID)=0となっている。
図15(D)に示すように、広域監視エリア内にはオブジェクトOBJa、OBJb、OBJc、OBJd、OBJeが存在するものとする。OBJd、OBJeは、OBJaの関連オブジェクトである。すると、図18に示すように、オブジェクトOBJaに対しては、オブジェクトフレームOF(Cam1,Oid11)とオブジェクトフレームOF(Cam3,Oid31)とから、統合オブジェクトフレームOFint(OBJa)が作成される。このとき、形式的に、OFint(OBJa)=OF(Cam1,Oid11)+OF(Cam3,Oid31)と記述される。
同様に、ステップS901〜S908において、「テーブルB」の統合オブジェクトフレームOFint(OBJb)=OF(Cam1,Oid12)が作成される。また、図18に示すように、「カップ」の統合オブジェクトフレームOFint(OBJc)=OF(Cam2,Oid22)+OF(Cam3,OIid34)が作成される。同様に、「頭部」の統合オブジェクトフレームOFint(OBJd)=OF(Cam3,Oid32)、「右手」の統合オブジェクトフレームOFint(OBJe)=OF(Cam2,Oid21)+OF(Cam3,Oid33)が作成される。
また、図18及び図3(B)に示すように、「人間」の統合オブジェクトフレームOFint(OBJa)は、フレーム特徴点HM01=HD50において、「頭部」の統合オブジェクトフレームOFint(OBJd)と接続されている。同様に、図18に示すように、「人間」の統合オブジェクトフレームOFint(OBJa)は、フレーム特徴点HM07=RH20において、「右手」の統合オブジェクトフレームOFint(OBJe)と接続されている。
このように算出された各フレーム特徴点は、ステップS909において、さらに補正が行われて各統合オブジェクトフレームにセットされる。例えば「右手」の統合オブジェクトフレームOFint(OBJe)の各フレーム特徴点の位置と、「カップ」の統合オブジェクトフレームOFint(OBJc)の各フレーム特徴点の位置とは、「右手」の各指が適切に「カップ」に接触しているように補正される。
ステップS910において、統合オブジェクトフレームに、その作成時刻及び有効時刻がセットされる。図18に示すように、例えばOFint(OBJa)には、その作成時刻MTOBJa及び有効時刻DTOBJaがセットされ、OFint(OBJc)には、その作成時刻MTOBJc及び有効時刻DTOBJcがセットされる。
このように、複数のカメラ110で作成したオブジェクトフレームOF(CI,Oid)が、実空間における同一のオブジェクトOBJに対するものであることが判定された上で、統合オブジェクトフレームOFint(OBJ)が作成される。統合オブジェクトフレームOFint(OBJ)は、統合基準位置BP3int(IDBS)によって、オブジェクトOBJの全体の基準となる実空間における三次元位置を表現する。また、統合オブジェクトフレームOFint(OBJ)は、Wint(ID)>0となる各IDに対するフレーム特徴点の統合位置P3int(ID)によって、オブジェクトOBJの実空間における位置、形状、姿勢、動きからなる三次元的な認識結果を表現する。
以上述べたように、測距手段を有するカメラで撮影した画像内のオブジェクトを認識して、撮影画像内のオブジェクトのフレーム特徴点の二次元位置を抽出する。次に、カメラの位置から撮影画像内のフレーム特徴点の二次元位置に対応する実空間におけるオブジェクト上の測距点までの距離を測定する。そして、測距結果と、カメラの撮影パラメータ(位置、方向、ズーム倍率)とに基づいて、撮影画像内のフレーム特徴点の二次元位置に対応する実空間におけるフレーム特徴点の三次元位置及び三次元位置信頼度を算出する。これによって、単独のカメラで、オブジェクトの三次元的認識及び認識結果の表現が可能になる。
また、各フレーム特徴点の三次元位置をオブジェクトの基準位置からの相対位置で表し、フレーム特徴点の相対位置の集合によって、基準位置から見たオブジェクトの形状、姿勢、動き等からなる三次元的な認識結果を表現する。このとき、一般的に、オブジェクトの各フレーム特徴点間の相対位置の算出誤差は、それぞれのフレーム特徴点の三次元位置の算出誤差よりも小さくできる。そこで、複数のカメラで算出され、同一のオブジェクトに対するものと判定された認識情報を統合して統合情報を作成する際に、フレーム特徴点の三次元位置を直接統合するのではなく、まずオブジェクトの基準位置を統合し、次にフレーム特徴点の相対位置を統合する。すなわち、各カメラで算出されたオブジェクトの基準位置(認識情報)を統合して統合基準位置(統合情報)を算出し、また、各カメラで算出されたフレーム特徴点の相対位置(認識情報)を統合して統合相対位置(統合情報)を算出する。その後、オブジェクトの統合基準位置にフレーム特徴点の統合相対位置を加算してフレーム特徴点の統合位置を得る。このようにすることで、各カメラで算出される算出誤差の小さい相対位置(認識情報)ほど統合相対位置(統合情報)に大きく寄与するので、より高精度なオブジェクトの三次元的認識及び認識結果の表現が可能になる。
また、複数のカメラが連携して、各カメラが独立に作成した認識情報から統合情報を作成する際に、オブジェクトの基準位置を、基準位置信頼度の重み付けをした加重平均によって統合して統合基準位置を算出する。同様に、フレーム特徴点の相対位置を、相対位置信頼度の重み付けをした加重平均によって統合して統合相対位置を算出する。このように、各カメラが独立に作成した認識情報を、加重平均という簡単な演算によって統合して、複数のカメラによる統合的な認識結果である統合情報を作成する。これによって、複数の固定式又は移動式のカメラがアドホックに連携して、カメラを追加したり削除したりしたときに、各カメラが独立に作成した認識情報の高速な統合が可能になる。
また、各カメラとサーバとの間で、直接撮影画像を送受信することなしで、各カメラの撮影画像から作成したオブジェクトのフレーム特徴点の三次元位置等を含む認識情報を送受信する。これによって、複数のカメラの撮影画像から作成したオブジェクトの三次元的な認識結果を、小さい通信負荷によって高速に、統合及び共有することができる。
[第2の実施形態]
第2の実施形態では、移動可能な視点や視野の異なる複数のカメラ付き情報機器が、サーバの介在なしで、アドホックに連携して、自分の死角になる領域の情報を他のカメラ付き情報機器に要求して、オブジェクトの三次元的認識を行う例を説明する。
第2の実施形態では、移動可能な視点や視野の異なる複数のカメラ付き情報機器が、サーバの介在なしで、アドホックに連携して、自分の死角になる領域の情報を他のカメラ付き情報機器に要求して、オブジェクトの三次元的認識を行う例を説明する。
<オブジェクト認識システムの構成>
図19(A)は、第2の実施形態に係るオブジェクト認識システム1900の構成を示す図である。図19(A)に示すように、オブジェクト認識システム1900は、複数のカメラ付き情報機器1910(カメラ識別子CI=Cam4,Cam5,・・・)と、これらを接続する通信網1920とを備えて構成されている。以下、カメラ付き情報機器をカメラと称する。
カメラ1910は、CPU1911と、ROM1912と、RAM1913と、撮像部1914と、位置検出部1915と、測距部1916と、表示部1917と、操作部1918と、通信部1919とを備える。例えば図21に示すように、カメラCam4、Cam5は、カメラ付きの運転支援装置である。カメラCam4は自動車CARaに搭載されており、カメラCam5は自動車CARbに搭載されている。また、カメラCam6は、街頭カメラである。カメラCam6は、通信部1919を介して遠隔操作されるものとし、この場合は、例えば表示部1917や操作部1918を具備していなくてもよい。
図19(A)は、第2の実施形態に係るオブジェクト認識システム1900の構成を示す図である。図19(A)に示すように、オブジェクト認識システム1900は、複数のカメラ付き情報機器1910(カメラ識別子CI=Cam4,Cam5,・・・)と、これらを接続する通信網1920とを備えて構成されている。以下、カメラ付き情報機器をカメラと称する。
カメラ1910は、CPU1911と、ROM1912と、RAM1913と、撮像部1914と、位置検出部1915と、測距部1916と、表示部1917と、操作部1918と、通信部1919とを備える。例えば図21に示すように、カメラCam4、Cam5は、カメラ付きの運転支援装置である。カメラCam4は自動車CARaに搭載されており、カメラCam5は自動車CARbに搭載されている。また、カメラCam6は、街頭カメラである。カメラCam6は、通信部1919を介して遠隔操作されるものとし、この場合は、例えば表示部1917や操作部1918を具備していなくてもよい。
図19(B)は、カメラ1910の機能構成を示す図である。
カメラ1910は、カメラ位置・方向検出部201と、撮影処理部202と、撮影測距制御部203と、測距処理部204と、記憶部205と、オブジェクト認識(検出・追跡)部206と、機械学習処理部207とを具備する。また、カメラ1910は、オブジェクトフレーム作成部208と、ローカル監視エリア管理部209と、情報要求生成部210と、ローカルマップ211と、通信処理部212とを具備する。さらに、カメラ1910は、同一性判定部303と、統合オブジェクトフレーム作成部304と、認証処理部401と、監視エリア情報共有部402と、移動経路算出部403と、表示制御部404とを具備する。これらの機能構成のうち、第1の実施形態と共通する構成要素には同一の符号を付してその説明を省略し、以下では、第1の実施形態と異なる構成要素を中心に説明する。本実施形態では、カメラ1910が本発明でいうオブジェクト認識装置として機能する。
カメラ1910は、カメラ位置・方向検出部201と、撮影処理部202と、撮影測距制御部203と、測距処理部204と、記憶部205と、オブジェクト認識(検出・追跡)部206と、機械学習処理部207とを具備する。また、カメラ1910は、オブジェクトフレーム作成部208と、ローカル監視エリア管理部209と、情報要求生成部210と、ローカルマップ211と、通信処理部212とを具備する。さらに、カメラ1910は、同一性判定部303と、統合オブジェクトフレーム作成部304と、認証処理部401と、監視エリア情報共有部402と、移動経路算出部403と、表示制御部404とを具備する。これらの機能構成のうち、第1の実施形態と共通する構成要素には同一の符号を付してその説明を省略し、以下では、第1の実施形態と異なる構成要素を中心に説明する。本実施形態では、カメラ1910が本発明でいうオブジェクト認識装置として機能する。
認証処理部401は、通信連携するカメラ1910同士の相互認証を行う。ここでは、カメラ1910同士が、セキュリティ、通信QoS(Quality of Service)、認識性能(精度、速度)等の機能や性能の認証を行う。
監視エリア情報共有部402は、複数のカメラ1910が相互にローカル監視エリアの情報を共有する。
移動経路算出部403は、周囲のオブジェクトの認識結果に基づいて、カメラ1910が移動可能な場合の移動経路を算出する。ここで算出した移動経路に基づいて、ユーザの運転操作を支援したり、カメラ1910(例えばカメラ1910を具備した自動車)が自動で移動したりする。
表示制御部404は、ユーザへのオブジェクト認識の結果の表示や、ユーザの操作のための情報の表示を制御する。
監視エリア情報共有部402は、複数のカメラ1910が相互にローカル監視エリアの情報を共有する。
移動経路算出部403は、周囲のオブジェクトの認識結果に基づいて、カメラ1910が移動可能な場合の移動経路を算出する。ここで算出した移動経路に基づいて、ユーザの運転操作を支援したり、カメラ1910(例えばカメラ1910を具備した自動車)が自動で移動したりする。
表示制御部404は、ユーザへのオブジェクト認識の結果の表示や、ユーザの操作のための情報の表示を制御する。
<オブジェクト認識システムにおける処理>
図20を参照して、オブジェクト認識システム1900における処理について説明する。
図20を参照して、カメラ1910が実行する処理を説明する。ここで述べる処理は、各カメラ1910において独立に行われる。図20のフローチャートの処理は、CPU1911が例えばROM1912に記憶されたプログラムを読み出し、実行することにより実現される。
図20を参照して、オブジェクト認識システム1900における処理について説明する。
図20を参照して、カメラ1910が実行する処理を説明する。ここで述べる処理は、各カメラ1910において独立に行われる。図20のフローチャートの処理は、CPU1911が例えばROM1912に記憶されたプログラムを読み出し、実行することにより実現される。
ステップS2001で、カメラ1910は、周囲に連携可能な他のカメラ1910があるか否かを判定する。ここでは、カメラ1910が、識別子CIを搬送する電波を放射及び受信することで、周囲に連携可能な他のカメラ1910があることを認識する。周囲に連携可能な他のカメラ1910があると判定した場合、処理をステップS2002に進め、ないと判定した場合、処理をステップS2003に進める。
ステップS2002で、カメラ1910は、相手機器に無線通信による連携要求を送出し、認証処理部401による相互認証の結果、連携可能であれば、無線通信のコネクションを確立する。
ステップS2003で、カメラ1910は、他のカメラ1910との連携を終了するか否かを判定し、他の何れかのカメラ1910と連携を終了する場合、処理をステップS2004に進め、連携を継続する場合、処理をステップS2005に進める。
ステップS2004で、カメラ1910は、他のカメラ1910の中の連携を終了するカメラ1910とのコネクションを終了する。
ステップS2002で、カメラ1910は、相手機器に無線通信による連携要求を送出し、認証処理部401による相互認証の結果、連携可能であれば、無線通信のコネクションを確立する。
ステップS2003で、カメラ1910は、他のカメラ1910との連携を終了するか否かを判定し、他の何れかのカメラ1910と連携を終了する場合、処理をステップS2004に進め、連携を継続する場合、処理をステップS2005に進める。
ステップS2004で、カメラ1910は、他のカメラ1910の中の連携を終了するカメラ1910とのコネクションを終了する。
ステップS2005で、カメラ1910は、連携している他のカメラ1910と相互にローカル監視エリアの情報を共有する。
ステップS2006で、カメラ1910は、撮影処理部202によって、方向やズーム倍率を制御したり、移動したりして、ローカル監視エリア内の撮影を行う。
ステップS2007で、カメラ1910は、カメラ位置・方向検出部201によって、撮像部1914の位置、方向、ズーム倍率等の撮影パラメータPAR(CI)を随時検出する。
ステップS2008で、オブジェクトフレーム作成処理を実行する。オブジェクトフレーム作成処理の詳細は、第1の実施形態で図8を参照して説明したものと同様である。
ステップS2009で、カメラ1910は、ローカル監視エリア内の死角になる領域を算出する。
ステップS2010で、カメラ1910は、死角になる領域の情報を通信連携している他のカメラ1910に要求する。ここでは、自分の死角になる領域を含むローカル監視エリアを持つ他のカメラ1910を選択して、情報要求を行う。
ステップS2011で、カメラ1910は、情報要求を行った他のカメラ1910から送信されたオブジェクトフレームを受信する。
ステップS2012で、カメラ1910は、他のカメラ1910から要求された領域のオブジェクトフレームを送信する。
ステップS2006で、カメラ1910は、撮影処理部202によって、方向やズーム倍率を制御したり、移動したりして、ローカル監視エリア内の撮影を行う。
ステップS2007で、カメラ1910は、カメラ位置・方向検出部201によって、撮像部1914の位置、方向、ズーム倍率等の撮影パラメータPAR(CI)を随時検出する。
ステップS2008で、オブジェクトフレーム作成処理を実行する。オブジェクトフレーム作成処理の詳細は、第1の実施形態で図8を参照して説明したものと同様である。
ステップS2009で、カメラ1910は、ローカル監視エリア内の死角になる領域を算出する。
ステップS2010で、カメラ1910は、死角になる領域の情報を通信連携している他のカメラ1910に要求する。ここでは、自分の死角になる領域を含むローカル監視エリアを持つ他のカメラ1910を選択して、情報要求を行う。
ステップS2011で、カメラ1910は、情報要求を行った他のカメラ1910から送信されたオブジェクトフレームを受信する。
ステップS2012で、カメラ1910は、他のカメラ1910から要求された領域のオブジェクトフレームを送信する。
ステップS2013で、統合オブジェクトフレーム作成処理を実行する。統合オブジェクトフレーム作成処理の詳細は、第1の実施形態で図9を参照して説明したものと同様である。
ステップS2014で、カメラ1910は、ステップS2013で作成した統合オブジェクトフレームOFint(OBJ)をローカルメモリ(ローカルマップ211)に記憶する。また、表示制御部404によって、統合オブジェクトフレームを各種の方法で提示(例えば、表示部1917に表示)してもよい。また、例えば図21に示す自動車CARaは、ローカルマップ211に記憶された、各オブジェクトOBJに対する統合オブジェクトフレームOFint(OBJ)を参照して、移動経路算出部403によって移動経路を算出する。
ステップS2015で、カメラ1910は、処理を終了するか否かを判定し、YESであれば処理を終了し、NOであれば処理をステップS2001に戻す。
ステップS2014で、カメラ1910は、ステップS2013で作成した統合オブジェクトフレームOFint(OBJ)をローカルメモリ(ローカルマップ211)に記憶する。また、表示制御部404によって、統合オブジェクトフレームを各種の方法で提示(例えば、表示部1917に表示)してもよい。また、例えば図21に示す自動車CARaは、ローカルマップ211に記憶された、各オブジェクトOBJに対する統合オブジェクトフレームOFint(OBJ)を参照して、移動経路算出部403によって移動経路を算出する。
ステップS2015で、カメラ1910は、処理を終了するか否かを判定し、YESであれば処理を終了し、NOであれば処理をステップS2001に戻す。
<オブジェクト認識システムの動作の説明>
図21〜図23を参照して、オブジェクト認識システム1900の動作の説明を行う。
図21に示すように、道路上を自動車CARaと自動車CARbとが走行している。自動車CARaはカメラCam4を搭載し、自動車CARbはカメラCam5を搭載している。現時刻において、カメラCam4のローカル監視エリアはAC4であり、カメラCam5のローカル監視エリアはAC5であり、カメラCam6のローカル監視エリアはAC6である。ここで、カメラCam4やCam5は、ローカル監視エリアAC4やAC5のような自動車の周囲の領域を監視できるパノラマカメラとし、パノラマ画像内の複数の部分画像を各種の幾何演算によって平面画像に変換したものから認識結果を生成する。また、このとき、図21に示すように、道路上又は道路周辺に、オブジェクトOBJf、OBJg、OBJhが存在するものとする。
以下で説明する各オブジェクトフレーム及び各統合オブジェクトフレームは、現時刻直後の略同時刻に作成されるものとする。
図21〜図23を参照して、オブジェクト認識システム1900の動作の説明を行う。
図21に示すように、道路上を自動車CARaと自動車CARbとが走行している。自動車CARaはカメラCam4を搭載し、自動車CARbはカメラCam5を搭載している。現時刻において、カメラCam4のローカル監視エリアはAC4であり、カメラCam5のローカル監視エリアはAC5であり、カメラCam6のローカル監視エリアはAC6である。ここで、カメラCam4やCam5は、ローカル監視エリアAC4やAC5のような自動車の周囲の領域を監視できるパノラマカメラとし、パノラマ画像内の複数の部分画像を各種の幾何演算によって平面画像に変換したものから認識結果を生成する。また、このとき、図21に示すように、道路上又は道路周辺に、オブジェクトOBJf、OBJg、OBJhが存在するものとする。
以下で説明する各オブジェクトフレーム及び各統合オブジェクトフレームは、現時刻直後の略同時刻に作成されるものとする。
ステップS2001、S2002において、カメラCam4、Cam5、Cam6間で相互にコネクションが確立されて、通信連携しているものとする。
ステップS2005において、カメラCam4、Cam5、Cam6間でそれぞれのローカル監視エリアAC4、AC5、AC6の情報が共有される。
ステップS2006、S2007において、カメラCam4,Cam5,Cam6でローカル監視エリアの撮影が行われ、撮影時の撮影パラメータが検出される。撮影画像がパノラマ画像である場合、パノラマ画像内の複数の部分画像が各種の幾何変換によって平面画像に変換されて、各平面画像の撮影パラメータに相当するものが算出される。また、以下の処理では、生成した複数の平面画像内でそれぞれオブジェクトの認識が行われて、オブジェクトフレームが作成される。
ステップS2005において、カメラCam4、Cam5、Cam6間でそれぞれのローカル監視エリアAC4、AC5、AC6の情報が共有される。
ステップS2006、S2007において、カメラCam4,Cam5,Cam6でローカル監視エリアの撮影が行われ、撮影時の撮影パラメータが検出される。撮影画像がパノラマ画像である場合、パノラマ画像内の複数の部分画像が各種の幾何変換によって平面画像に変換されて、各平面画像の撮影パラメータに相当するものが算出される。また、以下の処理では、生成した複数の平面画像内でそれぞれオブジェクトの認識が行われて、オブジェクトフレームが作成される。
ステップS2008において、カメラCam4、Cam5、Cam6では、撮影画像の認識結果からオブジェクトフレームOF(CI,Oid)が作成される。図22(A)に示すように、カメラCam4では、「自動車」のオブジェクトフレームOF(Cam4,Oid41)と、「人間」のオブジェクトフレームOF(Cam4,Oid42)とが作成される。また、図22(B)に示すように、カメラCam5では、「人間」のオブジェクトフレームOF(Cam5,Oid51)と、「頭部」のオブジェクトフレームOF(Cam5,Oid52)と、「自動車」のオブジェクトフレームOF(Cam5,Oid53)と、「人間」のオブジェクトフレームOF(Cam5,Oid54)と、「頭部」のオブジェクトフレームOF(Cam5,Oid55)とが作成される。また、図22(C)に示すように、カメラCam6では、「自動車」のオブジェクトフレームOF(Cam6,Oid61)と、「人間」のオブジェクトフレームOF(Cam6,Oid62)と、「人間」のオブジェクトフレームOF(Cam6,Oid63)とが作成される。
ステップS2009において、カメラCam4では、死角になる領域が算出され、ステップS2010において、死角になる領域を視野に含む他のカメラに情報要求が行われる。ここでは、図22に示すように、Cam4が、領域RAC45-1及びRAC45-2に関する情報要求をCam5に対して行い、領域RAC46に関する情報要求をCam6に対して行うものとする。
ステップS2011において、カメラCam4では、領域RAC45-1に関する認識結果を表すオブジェクトフレームOF(Cam5,Oid51)及びOF(Cam5,Oid52)と、領域RAC45-2に関する認識結果を表すオブジェクトフレームOF(Cam5,Oid55)とをカメラCam5から受信する。また、カメラCam4では、領域RAC46に関する認識結果を表すオブジェクトフレームOF(Cam6,Oid63)をカメラCam6から受信する。
図22(B)に示す、画像内領域I5RAC45-1は実空間領域RAC45-1に、画像内領域I5RAC45-2は実空間領域RAC45-2に対応している。同様に、図22(C)に示す、画像内領域I6RAC46は実空間領域RAC46に対応している。
ステップS2011において、カメラCam4では、領域RAC45-1に関する認識結果を表すオブジェクトフレームOF(Cam5,Oid51)及びOF(Cam5,Oid52)と、領域RAC45-2に関する認識結果を表すオブジェクトフレームOF(Cam5,Oid55)とをカメラCam5から受信する。また、カメラCam4では、領域RAC46に関する認識結果を表すオブジェクトフレームOF(Cam6,Oid63)をカメラCam6から受信する。
図22(B)に示す、画像内領域I5RAC45-1は実空間領域RAC45-1に、画像内領域I5RAC45-2は実空間領域RAC45-2に対応している。同様に、図22(C)に示す、画像内領域I6RAC46は実空間領域RAC46に対応している。
ステップS2011、S2012において、カメラCam4、Cam5、Cam6間で自分に必要な領域のオブジェクトフレームが送受信されて共有される。
ステップS2013において、カメラCam4では、受信したオブジェクトフレームを統合して、図22(D)に示すように、オブジェクトOBJgに対する統合オブジェクトフレームOFint(OBJg)が作成される。統合オブジェクトフレームOFint(OBJg)は、OFint(OBJg)=OF(Cam5,Oid51)+OF(Cam5,Oid52)+OF(Cam6,Oid63)と表現される。同様に、統合オブジェクトフレームOFint(OBJh)が作成される。
ステップS2013において、カメラCam4では、受信したオブジェクトフレームを統合して、図22(D)に示すように、オブジェクトOBJgに対する統合オブジェクトフレームOFint(OBJg)が作成される。統合オブジェクトフレームOFint(OBJg)は、OFint(OBJg)=OF(Cam5,Oid51)+OF(Cam5,Oid52)+OF(Cam6,Oid63)と表現される。同様に、統合オブジェクトフレームOFint(OBJh)が作成される。
ステップS2014において、統合オブジェクトフレームが各種の方法で提示される。例えば各フレーム特徴点の実空間における位置を用いて、視点を変えて表示することが可能である。また、図23(D)、(E)、(F)に示すように、認識時に各フレーム特徴点に付加された色やテクスチャ等の属性を用いて、コンピュータグラフィックスによって、肉付け(色付け)して表示したりすることが可能である。例えば図23(A)は、OFint(OBJg)をMixed Reality技術によって、カメラCam4の撮影画像内に、重畳画像MR(Cam4,OFint(OBJg))を作成して重畳表示したものである。また、例えば図23(B)は、統合オブジェクトフレームOFint(OBJg)をコンピュータグラフィックスによって肉付けして、仮想カメラVCam1の視点から見たオブジェクトのコンピュータグラフィックス画像(CG画像)CG(VCam1,OFint(OBJg))を生成して表示したものである。また、例えば図23(C)は、仮想カメラVCam1から見えるCG画像内に設定した仮想カメラVCam2から見えるオブジェクトのCG画像CG(VCam2,OFint(OBJg))等を生成して表示したものである。また、このとき、図23(B)、(C)に示すように、認識した各オブジェクトの移動方向や移動速度等を、矢印の方向や大きさ等によって提示してもよい。また、統合オブジェクトフレームを表示する場合、図23(G)に示すように、近くの又は重要度の高いもの表示する場合はフレーム特徴点を詳細に、遠くの又は重要度の低いものを表示する場合はフレーム特徴点を粗く(間引いて)表示してもよい。また、高速移動するものを表示する場合には、オブジェクトの存在と位置・移動方向・移動速度のみを高速に提示するために、フレーム特徴点を粗く(間引いて)表示してもよい。また、例えば自動車CARaは、ローカルマップに記憶された、統合オブジェクトフレームを参照して、周囲や死角領域に存在する各オブジェクトの位置や動きを取得して、障害物を避けて移動経路を算出する。
以上述べたように、本実施形態では、移動可能な複数のカメラ付き情報機器が、サーバの介在なしで、アドホックに通信連携して、小さい通信負荷で、特に死角になる領域のオブジェクトの三次元的認識の結果を相互に補完及び統合して共有することができる。
[第3の実施形態]
第3の実施形態では、単独のカメラでも、実空間におけるオブジェクトの位置を高精度かつ簡単に(例えば大がかりなシステムを必要とせずに簡単な操作で)計測できるようにする形態を説明する。
第3の実施形態に係る位置計測装置は、撮影画像内のオブジェクト上の計測点に対応する実空間における三次元位置を計測する。本実施形態において位置計測装置として機能するカメラは、ランドマーク上の特徴点の実空間における三次元位置が地図情報に記録されていて既知のとき、撮影画像にランドマークとともに写っているオブジェクト上に設定した計測点の位置の算出を行う。撮影画像に写っているランドマークと計測対象のオブジェクトは、ある程度近接しているものとする。
第3の実施形態では、単独のカメラでも、実空間におけるオブジェクトの位置を高精度かつ簡単に(例えば大がかりなシステムを必要とせずに簡単な操作で)計測できるようにする形態を説明する。
第3の実施形態に係る位置計測装置は、撮影画像内のオブジェクト上の計測点に対応する実空間における三次元位置を計測する。本実施形態において位置計測装置として機能するカメラは、ランドマーク上の特徴点の実空間における三次元位置が地図情報に記録されていて既知のとき、撮影画像にランドマークとともに写っているオブジェクト上に設定した計測点の位置の算出を行う。撮影画像に写っているランドマークと計測対象のオブジェクトは、ある程度近接しているものとする。
<位置計測装置の構成>
図24は、第3の実施形態に係るカメラ2400の機能構成を示す図である。カメラ2400は、位置計測装置として機能する。なお、カメラ2400のハードウェア構成は、図19(A)に示すカメラ1910のハードウェア構成と同様である。ここで、表示部1917の表面には、操作部1918の一部を構成する透明なタッチパネルが積層されている。
図24は、第3の実施形態に係るカメラ2400の機能構成を示す図である。カメラ2400は、位置計測装置として機能する。なお、カメラ2400のハードウェア構成は、図19(A)に示すカメラ1910のハードウェア構成と同様である。ここで、表示部1917の表面には、操作部1918の一部を構成する透明なタッチパネルが積層されている。
図24に示すように、カメラ2400は、カメラ位置・方向検出部201と、撮影処理部202と、測距処理部204と、通信処理部212とを具備する。また、カメラ2400は、記憶部501と、計測点設定部502と、オブジェクト認識部503と、位置算出部504と、判定部505と、相対位置算出部506と、相対位置誤差評価部507と、補正位置算出部508とを具備する。これらの機能構成のうち、第1の実施形態と共通する構成要素には同一の符号を付してその説明を省略し、以下では、第1の実施形態と異なる構成要素を中心に説明する。
記憶部501は、ランドマークのカテゴリ、表面形状を表す特徴点の実空間における三次元位置が記憶された三次元の地図情報を記憶する。ランドマークは、建築物、道路、橋、山等の静止物体であり、地図情報には、ランドマークの表面形状を表す特徴点の集合が記録されている。ランドマークの特徴点は、タワーの先端、建築物の角、窓の(四)角等の実空間における三次元位置を表す点である。また、地図情報には、撮影画像中で周囲との関係から認識しやすい色、模様、形状等のランドマークの特徴点の視覚的特徴が記録されている。また、記憶部501には、撮影画像に写っているオブジェクトを認識するために必要な画像データ等が記憶されている。
計測点設定部502は、撮影画像内のオブジェクト上に計測点を設定する。計測点設定部502が、本発明でいう設定手段として機能する。
オブジェクト認識部503は、撮影画像に写っているオブジェクトを認識して、オブジェクトのカテゴリ(人間、タワー、橋、自動車等)等を取得する。また、オブジェクト認識部503は、認識したオブジェクトがランドマークである場合、地図情報に記録されたランドマークの特徴点の三次元位置に対応する撮影画像内の二次元位置を抽出する。オブジェクト認識部503が、本発明でいう抽出手段として機能する。
位置算出部504は、撮影画像内のオブジェクト上に設定した計測点に対応する実空間における三次元位置を算出する。また、位置算出部504は、撮影画像内のランドマークであるオブジェクト上で抽出した計測点の二次元位置に対応する実空間における三次元位置を算出する。位置算出部504が、本発明でいう第1の位置算出手段、第2の位置算出手段として機能する。
判定部505は、撮影画像に、計測点を設定したオブジェクトとともにランドマークであるオブジェクトが写っているか否かを判定する。また、判定部505は、ランドマークが撮影画像に写っていれば、地図情報から、当該ランドマークの特徴点の実空間における三次元位置及び視覚的特徴を取得する。判定部505が、本発明でいう取得手段として機能する。
相対位置算出部506は、撮影画像内のオブジェクト上に設定した計測点に対応する実空間における三次元位置と、撮影画像内のランドマーク上で抽出した特徴点の二次元位置に対応する実空間における三次元位置との差分を相対位置として算出する。相対位置誤差評価部507は、相対位置算出部506で算出した相対位置の誤差を評価する。補正位置算出部508は、相対位置誤差評価部507での評価に応じて、位置算出部504で算出した計測点に対応する実空間における三次元位置の補正位置を算出する。補正位置算出部508での補正位置の算出は、記憶部501に記憶されている地図情報に記録されたランドマークの特徴点の三次元位置と、相対位置算出部506で算出した相対位置とに基づいて行われる。これら相対位置算出部506、相対位置誤差評価部507、補正位置算出部508が、本発明でいう補正手段として機能する。
<位置計測装置における処理>
図25を参照して、カメラ2400(ここではカメラCAと記す)が実行する処理を説明する。図25のフローチャートの処理は、CPU1911が例えばROM1912に記憶されたプログラムを読み出し、実行することにより実現される。
ステップS2501で、カメラCAは、撮影処理部202によって、方向やズーム倍率を制御して、周囲のオブジェクトを撮影し、撮影画像Img(CA)を取得する。オブジェクトは、人物、自動車等の移動物体、及び、建築物、橋、タワー、山等の静止物体である。また、カメラが移動可能な場合、方向やズーム倍率の制御に加えて、カメラの位置の制御を行うようにしてもよい。カメラCAの位置、方向、ズーム倍率の制御は、ユーザが手動で操作して行ってもよいし、カメラCAが自動で行ってもよい。
図25を参照して、カメラ2400(ここではカメラCAと記す)が実行する処理を説明する。図25のフローチャートの処理は、CPU1911が例えばROM1912に記憶されたプログラムを読み出し、実行することにより実現される。
ステップS2501で、カメラCAは、撮影処理部202によって、方向やズーム倍率を制御して、周囲のオブジェクトを撮影し、撮影画像Img(CA)を取得する。オブジェクトは、人物、自動車等の移動物体、及び、建築物、橋、タワー、山等の静止物体である。また、カメラが移動可能な場合、方向やズーム倍率の制御に加えて、カメラの位置の制御を行うようにしてもよい。カメラCAの位置、方向、ズーム倍率の制御は、ユーザが手動で操作して行ってもよいし、カメラCAが自動で行ってもよい。
ステップS2502で、カメラCAは、カメラ位置・方向検出部201によって、撮像部1914の撮影パラメータPAR(CA)を検出する。カメラCAの撮影パラメータPAR(CA)は、位置P(CA)と、方向PC(CA)と、ズーム倍率によって決まる距離Z(CA)とを有する。このとき、カメラの位置P(CA)から距離Z(CA)の位置に、仮想的な撮影画像Img(CA)があるものとみなすことができる。
ステップS2503で、カメラCAは、計測点設定部502によって、撮影画像Img(CA)内のオブジェクト上に計測点POBJを設定する。例えば、ユーザが表示部1917(画面)に表示された撮影画像Img(CA)に写っているオブジェクトを指でタッチする。ここで、表示部1917の画面に表示される撮影画像Img(CA)は、表示する画面サイズに応じて拡大、縮小されている。すると、画面内でユーザが指でタッチした位置(例えば、接触領域の代表座標)が、操作部1918の一部を構成するタッチパネルによって検出される。そして、検出された画面上の位置が撮影画像Img(CA)内の二次元位置に変換されて、計測点POBJとして設定される。なお、ユーザの操作によって撮影画像内に計測点を設定しているが、例えば移動環境の地図の作成等において、カメラCAが位置計測の必要なオブジェクトを判定して、自動的に計測点の設定を行うようにしてもよい。
ステップS2504で、カメラCAは、位置算出部504によって、ステップS2503で設定した計測点POBJに対応する実空間における三次元位置PXX3(POBJ)を算出する。まず、測距処理部204によって、カメラCAの位置P(CA)から計測点POBJに対応する実空間における位置までの測距結果LL(POBJ)が得られる。すると、位置算出部504によって、撮影パラメータPAR(CA)=(P(CA)、PC(CA)、Z(CA))と、計測点POBJと、測距結果LL(POBJ)とから、計測点POBJに対応する実空間における三次元位置PXX3(POBJ)が式(22)のように算出される。また、方向PC(CA)は、PC(CA)=(PCA(CA)、PCB(CA))のように表される。ここで、PCA(CA)はカメラの光軸方向の単位ベクトル、PCB(CA)は撮影画像Img(CA)の上方向(Y軸)の単位ベクトルである。また、計測点POBJは、POBJ=(POBJX,POBJY)であり、POBJXは撮影画像内のPOBJのX軸方向の成分、POBJYは撮影画像内のPOBJのY軸方向の成分である。
ステップS2505で、カメラCAは、判定部505によって、撮影画像Img(CA)に、地図情報に記憶されているランドマークが写っているか否かを判定する。例えば、ステップS2504で算出した三次元位置PXX3(POBJ)の一定距離(例えば10m)内に、地図情報に記憶されているランドマークの表面形状を形成する特徴点があり、かつ、その特徴点がカメラCAの視野内にあれば、撮影画像にランドマークが写っていると判定する。ステップ2505でYESである(ランドマークが写っていると判定した)場合、処理をステップS2506に進める。ステップS2505でNOである(ランドマークが写っていないと判定した)場合、処理を終了する。
ステップS2506で、カメラCAは、判定部505によって、記憶部501内の地図情報を検索して、ステップS2504で算出した三次元位置PXX3(POBJ)に近いランドマークの特徴点の実空間における三次元位置MAP3(LM)を取得する。三次元位置PXX3(POBJ)に近いとは、例えば10m以内にある等のように定めればよい。例えば、カメラCAの視野内にある三次元位置MAP3(LM)が地図情報から取得されたとする。また、特徴点の三次元位置MAP3(LM)の撮影画像内における視覚的特徴を取得する。ここで、視覚的特徴は、タワーの先端、建築物の角、窓の(四)角、及びこれらの色、形状(点状、線状、長方形、三角形、円形等)、模様等である。また、ランドマークのカテゴリ、位置、色、大きさ等の属性を取得する。ここでは、特徴点の三次元位置MAP3(LM)の視覚的特徴として、例えば「白いタワーに設置された円形の時計の中心」が取得されたとする。
ステップS2507で、カメラCAは、判定部505によって、ステップS2506で取得したランドマークの特徴点の実空間における三次元位置MAP3(LM)に対応する撮影画像Img(CA)内の二次元位置PX2(LM)を抽出する。まず、ステップS2506で取得したランドマークのカテゴリ、位置、色、大きさ等の属性を用いて、撮影画像内のランドマーク領域を推定して、撮影画像内のランドマーク「白いタワー」を認識して、ランドマーク領域を算出する。次に、ステップS2506で取得した三次元位置MAP3(LM)の視覚的特徴「白いタワーに設置された円形の時計の中心」を用いて、撮影画像内のランドマーク領域から(地図内の)三次元位置MAP3(LM)に対応する撮影画像内の二次元位置PX2(LM)を抽出する。
ステップS2508で、カメラCAは、位置算出部504によって、ステップS2507で抽出した撮影画像Img(CA)内の二次元位置PX2(LM)を計測点として、計測点に対応する実空間における三次元位置PXX3(PX2(LM))を算出する。まず、測距処理部204によって、カメラの位置P(CA)から計測点PX2(LM)に対応する実空間における位置までの測距結果LL(PX2(LM))が得られる。すると、位置算出部504によって、撮影パラメータPAR(CA)と、計測点PX2(LM)と、測距結果LL(PX2(LM))とから、撮影画像内の計測点PX2(LM)に対応する実空間における三次元位置PXX3(PX2(LM))が式(23)のように算出される。ここで、計測点PX2(LM)は、PX2(LM)=(PX2X(LM),PX2Y(LM))であり、PX2X(LM)は撮影画像内のPX2(LM)のX軸方向の成分、PX2Y(LM)は撮影画像内のPX2(LM)のY軸方向の成分である。
ステップS2509で、カメラCAは、相対位置の誤差の絶対値が所定の閾値以下であるか否かを判定する。ここでは、まず、相対位置算出部506によって、撮影画像内のオブジェクト上に設定した計測点に対応する実空間における三次元位置と、撮影画像内のランドマーク上で抽出した計測点の二次元位置に対応する実空間における三次元位置との差分を相対位置として算出する。すなわち、相対位置PRX3(POBJ,PX2(LM))を、PRX3(POBJ,PX2(LM))=PXX3(POBJ)−PXX3(PX2(LM))と算出する。次に、相対位置誤差評価部507によって、相対位置の誤差の絶対値が所定の閾値(TH)以下であるか否かを判定する。すなわち、|ΔPRX3(POBJ,PX2(LM))|=|ΔPXX3(POBJ)−ΔPXX3(PX2(LM))|≦TH、であるか否かを判定する。ステップS2509でYESである(相対位置の誤差の絶対値が一定値以下である)場合、処理をステップS2510に進める。ステップS2509でNOである(相対位置の誤差の絶対値が一定値以下でない)場合、処理を終了する。
ステップS2510で、カメラCAは、補正位置算出部508によって、ステップS2504で算出した、計測点POBJに対応する実空間における三次元位置PXX3(POBJ)の補正位置MODPXX3(POBJ)を算出する。ここでは、ステップS2506で取得したランドマークの特徴点の実空間における三次元位置MAP3(LM)(地図情報内の実際のランドマークの特徴点の三次元位置MAP3(LM))に、相対位置PRX3(POBJ,PX2(LM))を加えて、実空間におけるオブジェクト上の補正位置とする。すなわち、補正位置MODPXX3(POBJ)を、MODPXX3(POBJ)=MAP3(LM)+PXX3(POBJ)−PXX3(PX2(LM))と算出する。このとき、補正位置MODPXX3(POBJ)の算出誤差(の絶対値)は、|ΔMODPXX3(POBJ)|=|ΔMAP3(LM)+ΔPXX3(POBJ)−ΔPXX3(PX2(LM))|である。また、地図情報内の三次元位置に対しては、ΔMAP3(LM)=0であることから、|ΔMODPXX3(POBJ)|=|ΔPXX3(POBJ)−ΔPXX3(PX2(LM))|≦THとなる。すなわち、補正位置の算出誤差は相対位置の算出誤差と同程度であるので、相対位置の算出誤差を小さくできれば、設定した計測点の計測精度を高くすることができる。
なお、地図情報はカメラ2400の記憶部501に記憶されているものとしたが、これに限定されるものではない。例えば地図情報は外部のサーバに記憶されているものでもよく、通信処理部212を介して外部のサーバに記憶されている地図情報を参照するようにしてもよい。
以上述べたように、単独のカメラで、既知のランドマークの特徴点の位置情報を用いて、ランドマークとともにカメラの撮影画像に写っているオブジェクト上の位置を高精度かつ簡単に計測することができる。これにより、例えば、ネットワークカメラ、自動車、ロボット、ドローン等の移動環境・作業環境の地図が効率的に作成できる。
本発明は、ネットワークカメラによる工場や屋内外の監視や見守り、自動車、ロボット、ドローン等の移動体の移動環境や作業環境の認識や地図作成等に適用可能である。
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明は例えばシステム、装置、方法、プログラム若しくは記録媒体(記憶媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えばホストコンピュータ、インタフェース機器、撮像装置、WEBアプリケーション等)から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は例えばシステム、装置、方法、プログラム若しくは記録媒体(記憶媒体)等としての実施態様をとることが可能である。具体的には、複数の機器(例えばホストコンピュータ、インタフェース機器、撮像装置、WEBアプリケーション等)から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100、1900:オブジェクト認識システム、110:カメラ、116、1916:測距部、120:サーバ、1910:カメラ付き情報機器、206:オブジェクト認識(検出・追跡)部、207:機械学習処理部、208:オブジェクトフレーム作成部、303:同一性判定部、304:統合オブジェクトフレーム作成部
Claims (35)
- 測距手段を有するカメラで撮影した画像内のオブジェクトを認識する認識手段と、
前記認識手段で認識した前記画像内の前記オブジェクトの特徴点を抽出する抽出手段と、
前記測距手段による測距結果に基づいて、前記抽出手段で抽出した前記画像内の前記特徴点に対応する実空間における前記特徴点の三次元位置を算出する位置算出手段と、
前記位置算出手段で算出した前記特徴点の三次元位置を含むように、前記オブジェクトの認識情報を作成する認識情報作成手段とを備えたことを特徴とするオブジェクト認識システム。 - 前記位置算出手段は、前記カメラの撮影パラメータと、前記抽出手段で抽出した前記画像内の前記オブジェクトの特徴点の二次元位置と、前記測距手段で測距した前記画像内の前記特徴点の二次元位置に対応する実空間における測距点までの距離とに基づいて、前記特徴点の三次元位置を算出することを特徴とする請求項1に記載のオブジェクト認識システム。
- 前記認識手段は、前記オブジェクトのカテゴリを取得し、
前記認識情報作成手段は、前記認識情報に、前記認識手段で取得した前記カテゴリを含めることを特徴とする請求項1又は2に記載のオブジェクト認識システム。 - 前記認識情報作成手段は、予め用意されているテンプレートを用いて、前記認識情報を作成し、
前記テンプレートは、オブジェクトのカテゴリ別に用意されていることを特徴とする請求項3に記載のオブジェクト認識システム。 - 前記位置算出手段で算出した前記特徴点の三次元位置の信頼度を表す位置信頼度を算出する位置信頼度算出手段を備え、
前記認識情報作成手段は、前記認識情報に、前記位置信頼度算出手段で算出した前記位置信頼度を含めることを特徴とする請求項1乃至4のいずれか1項に記載のオブジェクト認識システム。 - 一つ以上の前記特徴点の三次元位置を用いて、前記オブジェクトの基準となる位置を表す基準位置を算出する基準位置算出手段を備え、
前記認識情報作成手段は、前記認識情報に、前記基準位置算出手段で算出した前記基準位置を含めることを特徴とする請求項1乃至5のいずれか1項に記載のオブジェクト認識システム。 - 前記基準位置算出手段で算出した前記基準位置の信頼度を表す基準位置信頼度を算出する基準位置信頼度算出手段を備え、
前記認識情報作成手段は、前記認識情報に、前記基準位置信頼度算出手段で算出した前記基準位置信頼度を含めることを特徴とする請求項6に記載のオブジェクト認識システム。 - 前記位置算出手段で算出した前記特徴点の三次元位置と、前記基準位置算出手段で算出した前記基準位置との差で表される前記特徴点の相対位置を算出する相対位置算出手段を備え、
前記認識情報作成手段は、前記認識情報に、前記相対位置算出手段で算出した前記相対位置を含めることを特徴とする請求項6又は7に記載のオブジェクト認識システム。 - 前記相対位置算出手段で算出した前記相対位置の信頼度を表す相対位置信頼度を算出する相対位置信頼度算出手段を備え、
前記認識情報作成手段は、前記認識情報に、前記相対位置信頼度算出手段で算出した前記相対位置信頼度を含めることを特徴とする請求項8に記載のオブジェクト認識システム。 - 前記位置算出手段で算出した前記特徴点の三次元位置の誤差を、前記カメラの撮影パラメータの検出誤差と、前記抽出手段で抽出した前記画像内の前記オブジェクトの特徴点の二次元位置の算出誤差と、前記測距手段で測距した前記画像内の前記特徴点の二次元位置に対応する実空間における測距点までの距離の測定誤差とから算出する第1の誤差算出手段を備え、
前記位置信頼度算出手段は、前記位置信頼度を、前記第1の誤差算出手段で算出した前記特徴点の三次元位置の誤差の絶対値に関して連続で滑らかな単調減少関数から算出することを特徴とする請求項5に記載のオブジェクト認識システム。 - 前記位置算出手段で算出した前記特徴点の三次元位置の誤差を、前記カメラの撮影パラメータの検出誤差と、前記抽出手段で抽出した前記画像内の前記オブジェクトの特徴点の二次元位置の算出誤差と、前記測距手段で測距した前記画像内の前記特徴点の二次元位置に対応する実空間における測距点までの距離の測定誤差とから算出する第1の誤差算出手段と、
前記基準位置算出手段で算出した前記基準位置の誤差を、前記基準位置を算出する際に使用した一つ以上の前記特徴点の三次元位置の誤差から算出する第2の誤差算出手段と、
前記相対位置算出手段で算出した前記相対位置の誤差を、前記第1の誤差算出手段で算出した前記特徴点の三次元位置の誤差と、前記第2の誤差算出手段で算出した前記基準位置の誤差との差分から算出する第3の誤差算出手段とを備え、
前記相対位置信頼度算出手段は、前記相対位置信頼度を、前記第3の誤差算出手段で算出した前記相対位置の誤差の絶対値に関して連続で滑らかな単調減少関数から算出することを特徴とする請求項9に記載のオブジェクト認識システム。 - 前記認識情報作成手段は、前記認識情報に、前記カメラの識別情報、撮影時刻、及び撮影パラメータを含めることを特徴とする請求項1乃至11のいずれか1項に記載のオブジェクト認識システム。
- 複数の前記カメラで撮影した画像から作成された前記認識情報に基づいて、統合情報を作成する統合情報作成手段をさらに備えたことを特徴とする請求項1乃至12のいずれか1項に記載のオブジェクト認識システム。
- 複数の前記カメラで撮影した画像から作成された前記認識情報が同一のオブジェクトに対するものであるか否かを判定する判定手段を備え、
前記統合情報作成手段は、前記判定手段で同一のオブジェクトに対するものと判定された複数の前記認識情報に基づいて、前記統合情報を作成することを特徴とする請求項13に記載のオブジェクト認識システム。 - 複数の前記カメラで撮影した画像から作成された前記認識情報に基づいて、統合情報を作成する統合情報作成手段をさらに備え、
前記統合情報作成手段は、前記統合情報に、同一と判定されたオブジェクトに対して、前記基準位置算出手段で算出した前記基準位置を、複数の前記認識情報に含まれる前記基準位置信頼度に応じて重み付け加算して算出した統合基準位置を含めることを特徴とする請求項7に記載のオブジェクト認識システム。 - 前記統合情報作成手段は、前記統合情報に、前記統合基準位置の信頼度を表す統合基準位置信頼度を含めることを特徴とする請求項15に記載のオブジェクト認識システム。
- 前記統合情報作成手段は、前記基準位置信頼度が所定の値よりも小さいカメラで作成した前記基準位置及び前記基準位置信頼度を除外して、前記統合基準位置及び前記統合基準位置信頼度を算出することを特徴とする請求項16に記載のオブジェクト認識システム。
- 前記統合情報作成手段は、前記基準位置が他のカメラで作成した前記基準位置と比較して所定の基準を超えて外れているカメラで作成した前記基準位置及び前記基準位置信頼度を除外して、前記統合基準位置及び前記統合基準位置信頼度を算出することを特徴とする請求項16に記載のオブジェクト認識システム。
- 複数の前記カメラで撮影した画像から作成された前記認識情報に基づいて、統合情報を作成する統合情報作成手段をさらに備え、
前記統合情報作成手段は、前記統合情報に、同一と判定されたオブジェクトの同一部位を示す特徴点に対して、前記相対位置算出手段で算出した前記相対位置を、複数の前記認識情報に含まれる前記相対位置信頼度に応じて重み付け加算して算出した統合相対位置を含めることを特徴とする請求項9に記載のオブジェクト認識システム。 - 前記統合情報作成手段は、前記統合情報に、前記統合相対位置の信頼度を表す統合相対位置信頼度を含めることを特徴とする請求項19に記載のオブジェクト認識システム。
- 前記統合情報作成手段は、前記相対位置信頼度が所定の値よりも小さいカメラで作成した前記相対位置及び前記相対位置信頼度を除外して、前記統合相対位置及び前記統合相対位置信頼度を算出することを特徴とする請求項20に記載のオブジェクト認識システム。
- 前記統合情報作成手段は、前記相対位置が他のカメラで作成した前記相対位置と比較して所定の基準を超えて外れているカメラで作成した前記相対位置及び前記相対位置信頼度を除外して、前記統合相対位置及び前記統合相対位置信頼度を算出することを特徴とする請求項20に記載のオブジェクト認識システム。
- 前記位置算出手段で算出した前記特徴点の三次元位置の誤差を、前記カメラの撮影パラメータの検出誤差と、前記抽出手段で抽出した前記画像内の前記オブジェクトの特徴点の二次元位置の算出誤差と、前記測距手段で測距した前記画像内の前記特徴点の二次元位置に対応する実空間における測距点までの距離の測定誤差とから算出する第1の誤差算出手段と、
前記基準位置算出手段で算出した前記基準位置の誤差を、前記基準位置を算出する際に使用した一つ以上の前記特徴点の三次元位置の誤差から算出する第2の誤差算出手段と、
前記相対位置算出手段で算出した前記相対位置の誤差を、前記第1の誤差算出手段で算出した前記特徴点の三次元位置の誤差と、前記第2の誤差算出手段で算出した前記基準位置の誤差との差分から算出する第3の誤差算出手段とを備え、
前記統合情報作成手段は、前記相対位置の誤差が、前記特徴点の三次元位置の誤差及び前記基準位置の誤差に一定の係数を乗じた値よりも小さくなるカメラを抽出し、前記抽出したカメラで作成した前記相対位置及び前記相対位置信頼度を用いて、前記統合相対位置及び前記統合相対位置信頼度を算出することを特徴とする請求項20に記載のオブジェクト認識システム。 - 複数の前記カメラで撮影した画像から作成された前記認識情報に基づいて、統合情報を作成する統合情報作成手段をさらに備え、
前記統合情報作成手段は、前記統合情報に、同一と判定されたオブジェクトに対して、前記基準位置算出手段で算出した前記基準位置を、複数の前記認識情報に含まれる、前記基準位置の信頼度を表す基準位置信頼度に応じて重み付け加算して算出した統合基準位置と、同一と判定されたオブジェクトの同一部位を示す特徴点に対して、前記相対位置算出手段で算出した前記相対位置を、複数の前記認識情報に含まれる前記相対位置信頼度に応じて重み付け加算して算出した統合相対位置との和で表される統合位置を含めることを特徴とする請求項9に記載のオブジェクト認識システム。 - 前記統合情報作成手段は、前記統合情報に、前記統合位置の信頼度を表す統合位置信頼度を含めることを特徴とする請求項24に記載のオブジェクト認識システム。
- 前記統合情報作成手段で作成した前記統合情報に基づいて、コンピュータグラフィックス画像を表示する表示制御手段をさらに備えたことを特徴とする請求項13乃至25のいずれか1項に記載のオブジェクト認識システム。
- 前記抽出手段は、機械学習処理によって、前記画像内の前記オブジェクトの前記特徴点を抽出することを特徴とする請求項1乃至26のいずれか1項に記載のオブジェクト認識システム。
- 前記カメラの死角領域に関する情報を記憶する記憶手段を備えたことを特徴とする請求項1乃至27のいずれか1項に記載のオブジェクト認識システム。
- 前記カメラが移動式のカメラであることを特徴とする請求項1乃至28のいずれか1項に記載のオブジェクト認識システム。
- 測距手段を有するカメラで撮影した画像内のオブジェクトを認識する認識手段と、
前記認識手段で認識した前記画像内の前記オブジェクトの特徴点を抽出する抽出手段と、
前記測距手段による測距結果に基づいて、前記抽出手段で抽出した前記画像内の前記特徴点に対応する実空間における前記特徴点の三次元位置を算出する位置算出手段と、
前記位置算出手段で算出した前記特徴点の三次元位置を含むように、前記オブジェクトの認識情報を作成する認識情報作成手段とを備えたことを特徴とするオブジェクト認識装置。 - 測距手段を有するカメラで撮影した画像内のオブジェクトを認識する認識ステップと、
前記認識ステップで認識した前記画像内の前記オブジェクトの特徴点を抽出する抽出ステップと、
前記測距手段による測距結果に基づいて、前記画像内の前記特徴点に対応する実空間における前記特徴点の三次元位置を算出する位置算出ステップと、
前記位置算出ステップで算出した前記特徴点の三次元位置を含むように、前記オブジェクトの認識情報を作成する認識情報作成ステップとを有することを特徴とするオブジェクト認識方法。 - 測距手段を有するカメラで撮影した画像内のオブジェクトを認識する認識手段と、
前記認識手段で認識した前記画像内の前記オブジェクトの特徴点を抽出する抽出手段と、
前記測距手段による測距結果に基づいて、前記抽出手段で抽出した前記画像内の前記特徴点に対応する実空間における前記特徴点の三次元位置を算出する位置算出手段と、
前記位置算出手段で算出した前記特徴点の三次元位置を含むように、前記オブジェクトの認識情報を作成する認識情報作成手段としてコンピュータを機能させるためのプログラム。 - 測距手段を有するカメラで撮影した画像内のオブジェクト上に計測点を設定する設定手段と、
前記測距手段による測距結果に基づいて、前記設定手段で設定した前記計測点に対応する実空間における三次元位置を算出する第1の位置算出手段と、
ランドマークの表面形状を表す特徴点の実空間における三次元位置が記録された地図情報から、前記計測点を設定した前記オブジェクトとともに前記画像内に写っているランドマークの特徴点の実空間における三次元位置を取得する取得手段と、
前記取得手段で取得した前記三次元位置に対応する前記画像内の二次元位置を抽出する抽出手段と、
前記抽出手段で抽出した前記二次元位置に対応する実空間における三次元位置を算出する第2の位置算出手段と、
前記取得手段で取得した前記三次元位置と、前記第1の位置算出手段で算出した前記三次元位置と、前記第2の位置算出手段で算出した前記三次元位置とに基づいて、前記第1の位置算出手段で算出した前記三次元位置の補正位置を算出する補正手段とを備えたことを特徴とする位置計測装置。 - 測距手段を有するカメラで撮影した画像内のオブジェクト上に計測点を設定する設定ステップと、
前記測距手段による測距結果に基づいて、前記設定ステップで設定した前記計測点に対応する実空間における三次元位置を算出する第1の位置算出ステップと、
ランドマークの表面形状を表す特徴点の実空間における三次元位置が記録された地図情報から、前記計測点を設定した前記オブジェクトとともに前記画像内に写っているランドマークの特徴点の実空間における三次元位置を取得する取得ステップと、
前記取得ステップで取得した前記三次元位置に対応する前記画像内の二次元位置を抽出する抽出ステップと、
前記抽出ステップで抽出した前記二次元位置に対応する実空間における三次元位置を算出する第2の位置算出ステップと、
前記取得手ステップで取得した前記三次元位置と、前記第1の位置算出手段で算出した前記三次元位置と、前記第2の位置算出手段で算出した前記三次元位置とに基づいて、前記第1の位置算出手段で算出した前記三次元位置の補正位置を算出する補正ステップとを有することを特徴とする位置計測方法。 - 測距手段を有するカメラで撮影した画像内のオブジェクト上に計測点を設定する設定手段と、
前記測距手段による測距結果に基づいて、前記設定手段で設定した前記計測点に対応する実空間における三次元位置を算出する第1の位置算出手段と、
ランドマークの表面形状を表す特徴点の実空間における三次元位置が記録された地図情報から、前記計測点を設定した前記オブジェクトとともに前記画像内に写っているランドマークの特徴点の実空間における三次元位置を取得する取得手段と、
前記取得手段で取得した前記三次元位置に対応する前記画像内の二次元位置を抽出する抽出手段と、
前記抽出手段で抽出した前記二次元位置に対応する実空間における三次元位置を算出する第2の位置算出手段と、
前記取得手段で取得した前記三次元位置と、前記第1の位置算出手段で算出した前記三次元位置と、前記第2の位置算出手段で算出した前記三次元位置とに基づいて、前記第1の位置算出手段で算出した前記三次元位置の補正位置を算出する補正手段としてコンピュータを機能させるためのプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019215601 | 2019-11-28 | ||
JP2019215601 | 2019-11-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021093151A true JP2021093151A (ja) | 2021-06-17 |
Family
ID=76312572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020195141A Pending JP2021093151A (ja) | 2019-11-28 | 2020-11-25 | オブジェクト認識システム、装置、方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021093151A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022255212A1 (ja) | 2021-06-02 | 2022-12-08 | キヤノン株式会社 | 映像管理システム、映像管理方法、読取装置及び情報処理装置 |
-
2020
- 2020-11-25 JP JP2020195141A patent/JP2021093151A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022255212A1 (ja) | 2021-06-02 | 2022-12-08 | キヤノン株式会社 | 映像管理システム、映像管理方法、読取装置及び情報処理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Long et al. | Unifying obstacle detection, recognition, and fusion based on millimeter wave radar and RGB-depth sensors for the visually impaired | |
KR101947619B1 (ko) | 모바일 디바이스에서의 slam | |
CN102313536B (zh) | 基于机载双目视觉的障碍物感知方法 | |
US20110206274A1 (en) | Position and orientation estimation apparatus and position and orientation estimation method | |
US20170337701A1 (en) | Method and system for 3d capture based on structure from motion with simplified pose detection | |
Yang et al. | A performance evaluation of vision and radio frequency tracking methods for interacting workforce | |
Vidas et al. | Real-time mobile 3D temperature mapping | |
JP2021530821A (ja) | 三次元無線モデル構築を実行するための方法、装置およびコンピュータプログラム | |
RU2662913C2 (ru) | Способ локализации робота в плоскости локализации | |
Basori et al. | Fast markerless tracking for augmented reality in planar environment | |
Carraro et al. | Skeleton estimation and tracking by means of depth data fusion from depth camera networks | |
Real-Moreno et al. | Obtaining object information from stereo vision system for autonomous vehicles | |
JP2021093151A (ja) | オブジェクト認識システム、装置、方法及びプログラム | |
Cooper et al. | An indoor positioning system facilitated by computer vision | |
JP2014092922A (ja) | 検出装置、検出方法及び検出プログラム | |
Kogler et al. | Ground truth evaluation for event-based silicon retina stereo data | |
KR20180066668A (ko) | 무인 이동체의 주행 환경 제작 기술을 위한 장치 및 방법 | |
Godil et al. | 3D ground-truth systems for object/human recognition and tracking | |
Pirahansiah et al. | Camera Calibration and Video Stabilization Framework for Robot Localization | |
JP7140710B2 (ja) | 情報端末装置及びプログラム | |
JP2017182564A (ja) | 位置合わせ装置、位置合わせ方法及び位置合わせ用コンピュータプログラム | |
Ghosh et al. | On localizing a camera from a single image | |
Mair et al. | Real-time image-based localization for hand-held 3d-modeling | |
Nguyen | Use of Image Processing Technology to Identify the Position of Indoor Robot | |
Martínez et al. | A closed-loop approach for tracking a humanoid robot using particle filtering and depth data |