JP6393409B2 - 画像認識システム、カメラ状態推定装置及びプログラム - Google Patents

画像認識システム、カメラ状態推定装置及びプログラム Download PDF

Info

Publication number
JP6393409B2
JP6393409B2 JP2017511354A JP2017511354A JP6393409B2 JP 6393409 B2 JP6393409 B2 JP 6393409B2 JP 2017511354 A JP2017511354 A JP 2017511354A JP 2017511354 A JP2017511354 A JP 2017511354A JP 6393409 B2 JP6393409 B2 JP 6393409B2
Authority
JP
Japan
Prior art keywords
camera
image
target
detection target
camera state
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.)
Active
Application number
JP2017511354A
Other languages
English (en)
Other versions
JPWO2017126072A1 (ja
Inventor
健一 米司
健一 米司
英克 高田
英克 高田
森田 健一
健一 森田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2017126072A1 publication Critical patent/JPWO2017126072A1/ja
Application granted granted Critical
Publication of JP6393409B2 publication Critical patent/JP6393409B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/63Control of cameras or camera modules by using electronic viewfinders
    • H04N23/633Control of cameras or camera modules by using electronic viewfinders for displaying additional information relating to control or operation of the camera
    • H04N23/635Region indicators; Field of view indicators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/61Control of cameras or camera modules based on recognised objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)

Description

本発明は、カメラによって撮影された画像からカメラの状態を推定する技術に関する。
本発明の背景技術として、特開2008−275391号公報(特許文献1)に開示された技術がある。この公報には、「一つ以上の計測対象物体を撮像する撮像装置と計測対象物体との間の相対的な位置姿勢を、計測対象物体の3次元モデルを利用して計測する位置姿勢計測装置は、撮像装置により撮像画像を取得する。また、撮像装置の位置姿勢に基づいて、3次元モデルにおける幾何特徴の夫々を撮像画像上に投影し、投影幾何特徴を得る。そして、得られた投影幾何特徴から、投影幾何特徴間の撮像画像上の距離に基づいて、位置姿勢の算出に利用すべき投影幾何特徴を選択する。選択された投影幾何特徴と、撮像画像上から検出される選択された投影幾何特徴に対応する画像幾何特徴とを用いて、撮像装置と計測対象物体との間の相対的な位置姿勢を算出する。」と記載されている(要約参照)。
特開2008−275391号公報
カメラ画像から画像中に映る対象の検出及び対象の状態の認識をする処理において、画像撮影時のカメラ状態(カメラの姿勢、画角)などが必要となる場合がある。例えば、カメラに映る人物の速度を計測したい場合には、人物の一定時間における画面内の移動距離を、実空間における移動距離に変換する際に、前述のカメラ状態が必要となる。
カメラ状態を推定する技術は、カメラキャリブレーション技術として一般的に広く知られている。従来、カメラキャリブレーションは、チェッカーボードの様な、大きさ及びパターンが既知の特定の検知対象を撮影し、検知対象の映り方からカメラ状態を推定する方法が一般的であった。しかし、この方法は、カメラの状態が変化する状況においては逐一特定の検知対象を撮影し直す必要があり、現実的ではない。
上記の特許文献1には、データベースに保存されたデータと撮影対象を比較することで、カメラ状態を逐一推定する方法が記載されている。この方法によれば、ある特定の検知対象の3次元状態を保持したデータベースを用意し、そのデータベースとカメラ映像とを比較して検知対象の現在の状態を得ることで、ある検知対象が映っている場合におけるカメラ状態が逐一推定される。しかし、この方法では、検知対象の3次元情報をCADから取得し、データベースに保存する必要がある。CADデータは対象の設計図データ又は対象を正確に測定した測定データから作成されるため、データベースに検知対象の情報を入力する際に対象の正確な測定が必要であったり、対象の設計図が存在する必要があったりするため、情報入力に手間がかかり、また対象を自由に選択できないといった課題がある。
本発明は、上記の様な課題を解決するためになされたものであり、より簡素な情報を保持したデータベースを用いて、カメラ状態を逐一推定することを目的とする。
上記の課題を解決するために、本発明の一態様は、カメラと、ネットワークを介して前記カメラに接続されるカメラ状態推定装置と、を有する画像認識システムであって、前記カメラ状態推定装置は、前記ネットワークに接続される第1インターフェースと、前記第1インターフェースに接続される第1プロセッサと、前記第1プロセッサに接続される第1記憶装置と、を有し、前記第1記憶装置は、検知対象の画像の特徴量と、前記検知対象の実空間における大きさと、前記カメラの状態を示す一つ以上のパラメータの推定値と、を保持し、前記検知対象の実空間における大きさは、前記検知対象の下端から前記検知対象の所定の基準点までの高さを含み、前記カメラは、画像を撮影して前記カメラ状態推定装置に送信し、前記第1プロセッサは、前記カメラによって撮影された画像から、前記第1記憶装置に保持された特徴量に基づいて、前記検知対象と類似する対象を抽出し、前記検知対象の実空間における大きさと、前記一つ以上のパラメータの推定値と、前記類似する対象の前記基準点の前記画像内の位置と、前記類似する対象の前記画像内の大きさと、に基づいて、前記類似する対象の下端の実空間における第1座標値を計算し、前記計算された第1座標値のうち水平面内の座標値と、前記一つ以上のパラメータの推定値と、前記類似する対象の下端の前記画像内の位置と、に基づいて、前記類似する対象の下端の実空間における第2座標値を計算し、前記第1座標値と前記第2座標値との相違を、前記一つ以上のパラメータの推定値の誤差の大きさを示す指標として計算し、前記計算された相違が所定の値より小さい場合に、前記誤差の大きさを示す指標が所定の条件を満たすと判定し、前記計算された誤差の大きさを示す指標が所定の条件を満たさない場合に、前記一つ以上のパラメータの推定値を変更することを特徴とする。
本発明の一形態によれば、より簡素な情報を保持したデータベースを用いて、カメラ状態を推定することができる。
本発明の実施例1のカメラ状態推定装置の概略の説明図である。 本発明の実施例1における撮影環境の説明図である。 本発明の実施例1の画像認識システムのハードウェア構成を示すブロック図である。 本発明の実施例1におけるカメラ状態推定用データベースの一例の説明図である。 本発明の実施例1の画像マッチング処理部の構成例を示したブロック図である。 本発明の実施例1のカメラ状態推定部の構成例を示したブロック図である。 本発明の実施例1の画像マッチング処理のフローチャートである。 本発明の実施例1のカメラ状態推定処理のフローチャートである。 本発明の実施例1の状態推定用データベース更新処理のフローチャートである。 本発明の実施例1のデータベース更新装置における表示の一例の説明図である。 本発明の実施例2の画像認識システムのハードウェア構成を示すブロック図である。 本発明の実施例3におけるカメラ状態推定用データベースの一例の説明図である。
以下、図面を参照しつつ、本発明を実施するための形態を説明する。説明の明確化のため、以下の記載及び図面は、適宜、省略及び簡略化がなされている。また、各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略されている。
図1は、本発明の実施例1のカメラ状態推定装置の概略の説明図である。
図1では、カメラ状態推定装置100には、カメラ101が接続される。カメラ101は画像を撮影し、撮影された画像を画像取得部102が取得する。画像103は、画像取得部102が取得した画像の一例である。画像103内には地面106上に幾つかの対象(この例では対象107、108、109)が存在する。カメラ状態推定装置100には記憶装置104が付随し、記憶装置104内にカメラ状態推定用データベース105が保持される。カメラ状態推定装置100は前述の画像取得部102、記憶装置104に加え、画像マッチング処理部110及びカメラ状態推定部111を備える。画像マッチング処理部110にはカメラ101によって撮影された画像103とカメラ状態推定用データベース105が入力される。画像マッチング処理部110では入力された画像103に、データベース内の検知対象画像が含まれているかを調べ、含まれていた場合にはその画像上位置と対象の大きさに関する情報を抽出し出力する。カメラ状態推定部111は、画像マッチング処理部110の処理結果が入力されると、入力された情報からカメラ状態112を推定して出力する。
図2は、本発明の実施例1における撮影環境の説明図である。
カメラ101は、一定の設置高さ202の位置に、地面106に対して角度201の方向を向くように設置される。また、カメラ101は、視野角203の範囲を撮影している。実施例1は、地面106が水平に映る角度でカメラ101が設置されている場合(言い換えると、カメラ101が撮影した矩形の画像103の上下端の辺と、カメラ101が撮影した風景の水平線とが平行になるように、カメラ101が設置されている場合)を想定して説明する。撮影される対象206は地面106に接していることを前提とする。また対象の基準点204までの高さ205の様な、対象の大きさに関する情報が状態推定用データベースに保持される。
図2の様な状況のカメラ101の一例は、天井又は柱などに設置した可動式の監視カメラなどである。可動式の監視カメラはカメラの方向(方位角)及び地面に対する傾き(俯角又は仰角)を変更することができ、ズーム機能によって画角(視野角203)が変化する。実施例1は監視カメラのようなカメラを想定して説明する。
なお、本実施例におけるカメラ状態は、カメラの向き(方位角、俯角、仰角)、画角及び設置位置といった、カメラ101の状態を示す一つ以上のパラメータを含む。例えばズーム機能を有するカメラ101の画角、首振り機能を有するカメラ101の向きのように、少なくともいずれかのパラメータが可変であってもよい。また、可変であるか固定であるかを問わず、少なくとも一つのパラメータの値が未知であり、その値がカメラ状態推定装置100によって推定される。これらのパラメータは、後述する画像認識処理装置603が任意の画像認識処理(例えば撮影された対象物の追跡等)を行うために使用される。
図2のX軸207、Y軸208及びZ軸209は、本実施例の説明に用いる実空間座標の座標軸にそれぞれ対応し、カメラの真下の地面上の点210(すなわちカメラ101を通る垂直線と地面との交点)をその座標系の原点とする。また、足元座標211は、対象206の基準点204の真下の地面上の点の実空間座標であり、対象206が人間である場合は、通常、その人間の接地点(すなわち足元)の座標である。
なお、本実施例では、実空間の座標値と、画像上の座標値とが扱われる。実空間の座標値は、図2に示すように、カメラ101によって撮影される実空間のいずれかの点を原点とする3次元座標系の座標値である。一方、画像上の座標値は、撮影された画像上のいずれかの点を原点とする2次元座標系の座標値であり、その単位は例えば画素である。
図3は、本発明の実施例1の画像認識システムのハードウェア構成を示すブロック図である。
画像認識システムは、データベース更新装置601と、カメラ状態推定装置100と、画像認識処理装置603と、カメラ101と、を備え、それぞれネットワーク604を介して相互に接続されている。
データベース更新装置601は、プロセッサ621、メモリ622、ネットワークインターフェース(I/F)623、入力用端末607及び表示用装置608を備える。
プロセッサ621は、メモリ622に格納されたプログラムを実行することによって、以下に説明するデータベース更新装置601の種々の機能を実現する。
メモリ622には、プロセッサ621によって実行されるプログラムモジュールであるデータベース情報設定部609、カメラ状態推定信号出力部610、データベース情報取得部611及び画像取得部617が格納される。以下の説明では、これらの各部を機能ブロックとして扱い、各部が実行する処理を説明するが、実際にはそれらの処理は、プロセッサ621が、各プログラムモジュールに記述された命令に従って実行する。このとき、プロセッサ621は、必要に応じてネットワークI/F623、入力用端末607及び表示用装置608等を制御することで、各機能ブロックによるデータの通信及び入出力を行う。
図3には、汎用のプロセッサ621がメモリ622に格納されたプログラムを実行することによって各機能ブロックを実現する例を示すが、これらの機能ブロックの任意の一部又は全部がASIC(Application Specific Integrated Circuit)のような専用のハードウェアによって実現されてもよい。
ネットワークI/F623は、ネットワーク604に接続され、ネットワーク604を介して他の装置との通信を行うインターフェースである。
表示用装置608は、例えば液晶表示装置のような文字及び画像等の表示装置である。入力用端末607は、例えばキーボード、マウス又はタッチパネルのような、ユーザからのデータの入力が可能な入力装置を含む。例えば液晶タッチパネルのように、表示用装置608と入力用端末607とが一体化されていてもよい。
データベース情報取得部611は、カメラ状態推定装置100内のカメラ状態推定用データベース105から情報を取得し、表示用装置608に表示できる形式に変換して表示する。画像取得部617は、カメラ101から画像を取得し、表示用装置608に出力する。データベース情報設定部609は、入力用端末607から入力される操作情報に従ってカメラ状態推定用データベース105の更新情報を生成し、カメラ状態推定装置100に送信する。カメラ状態推定信号出力部610は、入力用端末607から入力される操作情報に従って、カメラ状態推定装置100におけるカメラ状態推定処理を開始する信号を生成し、カメラ状態推定装置100に送信する。
カメラ状態推定装置100は、プロセッサ624、メモリ625、ネットワークI/F626及び記憶装置104を備える。プロセッサ624は、メモリ625に格納されたプログラムを実行することによって、以下に説明するカメラ状態推定装置100の種々の機能を実現する。メモリ622には、プロセッサ621によって実行されるプログラムモジュールである画像取得部102、画像マッチング処理部110、カメラ状態推定部111及びデータベース更新部612が格納される。プロセッサ624とメモリ625に格納されたプログラムモジュールとそれらによって実現される機能ブロックとの関係、及び、機能ブロックの実現方法のバリエーションについては、データベース更新装置601について説明したものと同様であるため、詳細な説明を省略する。
ネットワークI/F626は、ネットワーク604に接続され、ネットワーク604を介して他の装置との通信を行うインターフェースである。
記憶装置104は、例えばハードディスクドライブ又はフラッシュメモリのようないわゆる補助記憶装置であり、カメラ状態推定用データベース105を格納する。カメラ状態推定用データベース105に含まれる情報の少なくとも一部が必要に応じてメモリ625にコピーされてもよい。
記憶装置104又はメモリ625には、さらに、カメラ状態を示す一つ以上のパラメータの値が格納される。これらの値の少なくとも一つは未知の値の推定値であり、後述する処理によって更新され、所定の条件が満たされる場合に画像認識処理装置603に送信される。
データベース更新部612は、データベース更新装置601から出力されたデータベース更新情報を受信し、カメラ状態推定用データベース105の更新処理を行う。画像取得部102は、データベース更新装置601から出力されたカメラ状態推定処理開始信号を受信し、カメラ101から画像を取得する。画像マッチング処理部110及びカメラ状態推定部111は、カメラ101から受信した画像及びカメラ状態推定用データベース105の情報を基にカメラ状態を推定し、画像認識処理装置603に送信する。
画像認識処理装置603は、プロセッサ627、メモリ628、ネットワークI/F629及び表示用装置614を備える。プロセッサ627は、メモリ628に格納されたプログラムを実行することによって、以下に説明する画像認識処理装置603の種々の機能を実現する。メモリ622には、プロセッサ621によって実行されるプログラムモジュールである画像取得部616、カメラ状態設定部613及び画像認識処理部615を備える。プロセッサ627とメモリ628に格納されたプログラムモジュールとそれらによって実現される機能ブロックとの関係、及び、機能ブロックの実現方法のバリエーションについては、データベース更新装置601について説明したものと同様であるため、詳細な説明を省略する。
ネットワークI/F629は、ネットワーク604に接続され、ネットワーク604を介して他の装置との通信を行うインターフェースである。表示用装置614は、例えば液晶表示装置のような文字及び画像等の表示装置である。
画像認識処理部615は、画像取得部616が取得したカメラからの映像に対し、所定の画像認識処理を適用する。画像認識処理部615が行う画像認識処理は、どのようなものであってもよいが、具体例としては、速度が一定以上の車を検出する処理などが挙げられる。画像認識処理部615は、処理結果を表示用装置614に表示する。カメラ状態設定部613は、カメラ状態推定装置100から出力されるカメラ状態を受信し、画像認識処理部615で用いるカメラ状態のパラメータ値を更新する。
以上のように構成することで、データベース更新装置601に表示される映像を見ながら必要な対象情報をカメラ状態推定用データベース105に追加することができる。これによって、実際にカメラが映している環境に適したデータベースを構築することができる。そして、追加された情報を基にカメラ状態を推定することで、より正確なカメラ状態推定が可能となる。この様にして推定されたカメラ状態を用いることで、カメラ状態が変わった際にも、画像認識処理部615では推定されたカメラ状態を使用して画像認識処理を行うことが可能となる。
図3の例では、データベース更新装置601とカメラ状態推定装置100と画像認識処理装置603を別々の装置としたが、データベース更新装置601とカメラ状態推定装置100が同一の装置であっても良く、また画像認識処理装置603内にデータベース更新装置601と同様の機能を持たせることでデータベース更新装置601を省略しても良い。また各装置は一つのネットワーク604を介して接続されてもよいが、複数のネットワーク又は一般的なケーブルを介して接続されても良い。
図4は、本発明の実施例1におけるカメラ状態推定用データベース105の一例の説明図である。
カメラ状態推定用データベース105では情報がID(識別子)302ごとに管理され、各IDごとに、検知対象の画像である対象画像303と、その画像の特徴量304と、検知対象の大きさを計測した基準位置の座標を示す基準位置座標305と、検知対象の大きさを示す高さ306とが対応付けられて保存される。
対象画像303にはカメラ状態推定に用いる特定の検知対象の画像が格納される。本実施例ではカメラ状態推定に用いる特定の検知対象を、検知対象又は対象と記載する。例えば、カメラ101が撮影した画像から、人もしくは自動車等の移動物体の画像、又は、郵便ポスト(郵便差出箱)等の移動しない物体の画像を切り出し、それらを検知対象の対象画像303として格納することができる。
特徴量304には画像の色及び形状から導出される数値列である特徴量が格納される。この特徴量は、検知対象が撮影された画像に存在するかどうかを判定する画像マッチング処理において、撮影された画像中の特徴量と、データベース内の特徴量304とを比較するために用いられる。
基準位置座標305には検知対象の大きさを計測した位置の情報が格納される。図4は、検知対象の大きさ(図4の例では高さ)を計測した点の画素座標値(すなわち画面上の座標値)を格納した例である。高さ306には、検知対象の実空間における大きさに関する情報が格納される。本実施例では、検知対象の大きさに関する情報として検知対象の実空間における高さの情報を用いる例を示すが、例えば検知対象の幅など、高さ以外の大きさに関する情報を用いてもよい。
詳細には、図9及び図10等を参照して後述するように、カメラ101が撮影した画像から、検知対象を含む領域が切り出され、それが対象画像303に格納されている場合、その切り出された画像に含まれる検知対象の大きさを計測した点の当該画像上の座標値が基準位置座標305に格納される。例えば、検知対象が人であり、検知対象の大きさがその人の下端(足元)から頭頂部までの高さ、すなわち身長である場合、切り出された画像に含まれる人の頭頂部の当該切り出された画像上の座標値(例えば、矩形に切り出された画像の左上の角を原点とする2次元座標系の座標値)が基準位置座標305に格納される。
例えば、本実施例の画像認識システムの初期状態においては、カメラ状態推定用データベース105にデータが格納されていなくてもよい。その場合、画像認識システム内のデータベース更新装置601及びカメラ状態推定装置100は、カメラ101によって撮影された画像から検知対象を抽出してそれに関するデータをカメラ状態推定用データベース105に格納する。このデータベース更新処理(図9、図10等参照)によって、カメラ状態推定用データベース105に十分な量の検知対象に関するデータが格納されると、カメラ状態推定装置100は、格納されたデータを利用して、後述する画像マッチング処理及びカメラ状態推定処理を行うことが可能になる。
あるいは、画像認識システムの初期状態において、既にカメラ状態推定用データベース105に代表的な検知対象に関するデータが格納されていてもよい。その場合、カメラ状態推定装置100は、それらのデータを継続的に利用して画像マッチング処理及びカメラ状態推定処理を行ってもよい。
いずれの場合であっても、必要に応じて(例えばカメラ101の設置環境の変化によって新しいデータが必要となった場合等に)上記のデータベース更新処理を行うことによって新たなデータを追加し、それを以後の処理に利用することができる。
図5は、本発明の実施例1の画像マッチング処理部110の構成例を示したブロック図である。
画像マッチング処理部110は、特徴量一致度算出処理部403と閾値判定処理部404と一致対象矩形抽出部405とを備える。これらは、例えば、画像マッチング処理部110に含まれるプログラムモジュールである。
カメラからの画像401は、カメラ101によって撮影され、送信されたものであり、画像取得部102によって取得される。画像取得実行のタイミングは外部から入力される画像取得実行信号406によって決定される。画像取得実行信号406は、例えばネットワーク604に接続された操作用端末(図示省略)などから手動で入力されても良いし、一定タイミングごとに自動的に発行されても良い。また、カメラ101の位置又は向きを操作できる場合、操作信号を画像取得実行信号406として入力することで、操作が行われるたびにカメラ状態を推定することもできる。また、画像取得部102は、画像取得実行信号406を受け取った際に、信号受信から一定期間複数フレームの画像を取得し続けてそれらを処理に用いても良い。
画像取得部102が取得した画像は特徴量一致度算出処理部403に入力される。さらに、特徴量一致度算出処理部403には、記憶装置104の記憶媒体402(例えばハードディスク)に記憶されているカメラ状態推定用データベース105からカメラ状態推定用データが入力される。特徴量一致度算出処理部403では、カメラ状態推定用データベース105に記録されている各検知対象データの画像特徴量を用いて、画像取得部102が取得した画像内に、カメラ状態推定用データベース105に記録されている各検知対象データと類似する部分があるか調べる。類似部分の有無は、例えば一般的なテンプレートマッチング処理と同様の処理によって判定することができる。
テンプレートマッチング処理は、入力画像の一部領域を選択し、選択された領域から特徴量を抽出し、その特徴量とデータベースに格納された特徴量との比較を行う処理を、画面内の選択領域をずらしながら繰り返し実行することによって、画面内をスキャンする処理であり、画面内の部分領域毎の一致度が算出される。特徴量一致度算出処理部403は、前述のテンプレートマッチング処理をデータベース内の各検知対象に対して行い、各検知対象の特徴量に対する画像の部分領域毎の一致度を算出する。
閾値判定処理部404は、特徴量一致度算出処理部403によって算出された一致度がある一定値(閾値)より高い検知対象を選択する処理を行う。この際、例えば撮影された画像の同一領域に対してカメラ状態推定用データベース105に格納されている複数の検知対象の一致度が高かった場合には、その中で最も一致度の高い検知対象のデータを選択しても良い。以下の説明において、一致度が高い検知対象(複数の一致度が高い検知対象の一つが選択された場合にはその選択された検知対象)を「一致した検知対象」とも記載する。一方、その検知対象との一致度が高い画像上の領域を「一致対象」とも記載する。
なお、撮影された画像の領域の特徴量とデータベースに格納された検知対象の特徴量とが完全に一致することは実際にはほとんどないため、上記の一致度は類似度と言い換えることができ、「一致した検知対象」は、例えば「類似する検知対象」又は「類似度が(所定の閾値より)高い検知対象」のように言い換えることができる。
一致対象矩形抽出部405には、閾値判定処理部404で選択された検知対象(すなわち一致した検知対象)の情報と、その検知対象が映っている画面上の領域の位置情報とが入力される。一致対象矩形抽出部405は、一致した検知対象が、入力された画像内のどの範囲に一致したかを判定し、その範囲を特定する情報を一致対象矩形の情報として出力する。例えば、一致対象矩形抽出部405は、一致度が高いと判定された矩形領域のサイズを、一致した検知対象のデータベースに格納された画像のサイズと合わせるようにスケーリングして得られる矩形領域の位置を特定する情報と、前述のスケーリング時の拡大率とを出力する。ここで、矩形領域の位置を特定する情報は、例えば、当該矩形領域を含む画像上の座標系における、当該矩形領域の左上の角の座標値(以下、左上座標とも記載する)を含んでもよい。
以上の様にして画像マッチング処理部110は、記憶媒体402に保存されているデータベースの情報を基に、撮影された画像に検知対象が映っているか(すなわちデータベースに格納されている検知対象と特徴量が類似する対象を含む領域があるか)を調べ、映っている場合にはその領域を抽出し、抽出された領域情報とデータベースに保存されている検知対象情報とを対応付けて出力する。
なお、撮影された画像内のある領域の特徴量とカメラ状態推定用データベース105に格納された検知対象の特徴量との一致度が高いことは、当該検知対象が当該領域に映っている(少なくともその可能性が高い)ことを意味する。ただし、このことは、当該検知対象と当該領域に映っている検知対象とが同一の物体である(例えば同一人物である)ことを必ずしも意味せず、同種の物体である(例えば別人ではあるがいずれも人間である)ことを意味する場合がある。特徴量の算出方法及び一致度の判定の閾値を調整することで、同一の物体以外を検知しにくくすることも、同種の物体を検知しやすくすることもできる。
同一ではないが同種の物体が検知された場合、その実際の大きさは、カメラ状態推定用データベース105に格納されている大きさとは異なる場合があるが、特徴量の一致度が高い同種の物体の大きさの個体差(人間であれば身長差)はそれほど大きくないと考えられることから、カメラ状態推定用データベース105に格納されている大きさ情報(例えば高さ306)を後述するカメラ状態推定処理において使用しても、十分な精度でカメラ状態を推定できると考えられる。
同種の物体を検知したい場合であっても、その種類の中にさらに外見上の特徴及び大きさが異なる複数のカテゴリ(例えば大人と子供、小型乗用車と大型トラックなど)が含まれる場合には、それぞれのカテゴリの物体の特徴量及び大きさをカメラ状態推定用データベース105に格納してもよい。一方、後述する実施例3に例示する建物又は看板のように、一つしかない物体を検知したい場合には、同一の物体を検知するのに適した特徴量及び閾値が使用される。
図6は、本発明の実施例1のカメラ状態推定部111の構成例を示したブロック図である。
カメラ状態推定部111は、対象基準点画素算出部505と対象下端画素算出部506と対象足元座標算出部508と対象下端高さ算出部509と対象下端誤差算出部510とカメラ状態更新処理部511とカメラ状態出力判定部512とを有する。これらは、例えば、カメラ状態推定部111に含まれるプログラムモジュールである。
カメラ状態推定部111には画像マッチング処理部110の処理結果501が入力される。画像マッチング処理部の処理結果501は、抽出された一致対象と同数の、対象高さ502、基準位置座標503及び一致対象矩形情報504の組を含む。各検知対象に関する処理結果501のうち、対象高さ502は、一致した検知対象の対象画像303に対応する高さ306であり、基準位置座標503は、その対象画像303に対応する基準位置座標305であり、一致対象矩形情報504は、一致対象矩形抽出部405から出力された一致対象の矩形領域の位置を特定する情報及びスケーリング時の拡大率を含む。
なお、本実施例では、2つ以上の一致対象が抽出された(すなわち対象高さ502〜一致対象矩形情報504の組が2つ以上入力された)場合には、カメラ状態推定部111が図6に示すカメラ状態推定処理を実施するが、一致対象が2つに満たない場合には正しくカメラ状態が推定できないため処理を実施せず、2つ以上の一致対象に関する情報が入力されるまで処理を待機する。この際、複数フレームにわたりカメラ状態が変化しない場合には、それらの複数フレーム(すなわちカメラ状態が変化していない期間中の異なる時刻に撮影された複数の画像)に対する画像マッチング処理結果に含まれる一致対象情報を全て用いてカメラ状態推定処理を行っても良い。
各入力情報のうち基準位置座標503及び一致対象矩形情報504は対象基準点画素算出部505に入力される。対象基準点画素算出部505は、入力された基準位置座標503及び一致対象矩形情報504から、画面内における検知対象の基準点画素の座標を算出する。この処理では、対象基準点画素算出部505は、一致対象矩形情報504から矩形の左上座標及び拡大率を取り出し、基準位置座標の値に拡大率をかけたものを、矩形の左上座標に加算することで、対象の基準点画素の座標を算出することができる。算出された基準点画素(すなわち対象基準点画素)の座標は対象足元座標算出部508に入力される。
対象足元座標算出部508には、カメラ状態507と、対象基準点画素算出部505で算出された座標と、対象高さ502とが入力される。ここで、カメラ状態507はカメラの高さ、地面に対する角度及び画角を意味する。カメラ状態507は、例えば、予め設定しておいたパラメータ値が初期状態として設定され、その後、後述する処理によって更新される。通常、カメラ状態507は、初期状態においては画像取得部102から入力された画像が撮影された時点のカメラ101の実際の状態と一致しておらず、その後、後述する処理によって更新されることで実際の状態に近づく。
対象足元座標算出部508は、対象基準点画素の座標と対象高さ502とを用いて、検知対象の足元座標211を算出する。足元座標は、一般的に知られている透視投影モデルに基づいたカメラ座標(すなわちカメラ101が撮影した画像上の座標)と実空間座標とを変換する変換行列を用いて計算される。
ここで、カメラの真下にある地面の位置を原点210とし、地面平面に実空間座標のX軸207とY軸208とを設定し、地面と直行する方向に実空間座標のZ軸209を設定した場合、カメラ101の画素数、画角、地面とカメラの距離及び地面に対するカメラの角度がカメラ状態507等に基づいて特定されれば、実空間座標上の点の座標を画像上の画素の座標に容易に変換できることは自明である。この関係を利用し、実空間座標上のZ座標の値を対象高さ502に設定することで、基準位置座標503を実空間座標上に変換することができる。カメラ状態307と、入力された画像に含まれる対象の当該画像中に占める位置と、に基づいて、実空間におけるカメラ101の設置位置から対象までの方向を計算でき、さらに、カメラ状態307と、入力された画像に含まれる対象の当該画像中の基準位置座標と、対象の実空間における大きさを示す対象高さ502と、に基づいて、カメラ101から対象までの実空間における距離を計算できるためである。
対象足元座標算出部508は、この様にして変換された基準位置座標503の実空間座標点の真下にある地面上の点(例えば対象として人が抽出された場合、その対象である人の下端、すなわち足元)の座標値を対象の足元座標211として出力する。ここでは計算方法の一例を示したが、その他の計算方法を使って対象の足元座標211を計算しても良い。計算された対象の足元座標211は、対象下端高さ算出部509に入力される。
対象下端画素算出部506には、一致対象矩形情報504が入力される。対象下端画素算出部506は、入力された一致対象矩形情報504から一致対象の下端画素を算出する。ここでは、一致対象矩形情報504の矩形の左上座標のうち、X座標に、矩形の幅の半分の値を加算し、Y座標に、矩形の高さの値を加算した座標値を、対象下端画素として算出する。ここで、矩形の幅及び高さは、一致対象矩形情報504に含まれていてもよいし、入力された画像内の検知対象に一致する対象画像303の大きさと、一致対象矩形情報504に含まれる拡大率とに基づいて算出されてもよい。算出された対象下端画素は対象下端高さ算出部509に入力される。
対象下端高さ算出部509には、対象下端画素、対象足元座標及びカメラ状態507が入力される。ここでは対象足元座標算出部508と同様に、カメラの透視投影モデルに基づいたカメラ座標と実空間座標とを変換する変換行列を用いた計算が行われる。まず、対象下端高さ算出部509は、対象下端画素を実空間座標上の座標値(これを対象下端座標とも記載する)に変換した場合に、変換された対象下端座標のX座標及びY座標(すなわち水平面内の座標)が、対象足元座標のX座標及びY座標に一致すると仮定する。この仮定を用いることで、対象下端座標の実空間座標のZ座標を透視投影モデルを用いて計算することができる。対象下端高さ算出部509は、計算された対象下端座標の実空間座標のZ座標の値と、対象足元座標の実空間座標のZ座標の値との相違を、対象下端高さとして出力する。出力された対象下端高さは対象下端誤差算出部510に入力される。
対象下端誤差算出部510は、全ての検知対象に対して計算された対象下端高さから、対象下端高さの誤差を算出する。カメラ状態507が正しい値である場合、理想的には、対象足元座標算出部508の処理と対象下端高さ算出部509の処理を通じて得られる対象下端高さは0になる。つまり、全ての検知対象に対して、対象下端高さが0になる場合に、カメラ状態507は正しい値となっているといえる。
これに対して、カメラ状態507が正しい値でない場合には、全ての検知対象に対して対象下端高さが0になることはない。例えば、計算に用いたカメラ状態507に含まれる画角が、カメラ101の実際の画角より狭い場合、対象足元座標算出部508は、撮影された画像上の検知対象の大きさに基づいて、カメラ101からその検知対象までの距離を実際の距離より小さく誤認する。その結果、対象足元座標のX座標及びY座標は、実際よりカメラ101に近い(すなわち原点210に近い)値となるため、対象下端高さ算出部509によって算出される対象下端画素の実空間座標上の位置もカメラ101に近くなる。すなわち、図2に示すようにカメラ101が検知対象を俯瞰するように撮影している場合には、対象下端高さ算出部509によって算出される対象下端高さは0より大きく(すなわち地面106より高く)なる。
例えばカメラ101の俯角と画角のように、カメラ状態507に含まれる複数のパラメータが未知である場合には、それらのいずれも正しくないにもかかわらず、いずれかの検知対象については対象下端高さが0になることがあり得る。しかし、その場合には別の(カメラ101からの距離が異なる)検知対象については対象下端高さが0にならないため、全ての検知対象に対して対象下端高さが0になることはない。これによって、カメラ状態が誤差を含んでいることを検出できる。
対象下端誤差算出部510は、全ての検知対象に対して計算された対象下端高さを合計し、その合計値を対象下端高さの誤差値としてカメラ状態出力判定部512に出力する。具体的には、例えば、対象下端座標の実空間座標のZ座標の値と、対象足元座標の実空間座標のZ座標の値との差の絶対値の合計値又は二乗和が計算されてもよい。この合計値は、カメラ状態507の誤差の大きさを示す指標に相当する。
カメラ状態出力判定部512は、対象下端誤差算出部510から入力された誤差値に基づいて、カメラ状態を出力するかどうか判定する。カメラ状態507を出力する条件としては、例えば、誤差値が一定値以下になったこと、又は、前回判定時の誤差値からの変化が小さいこと、などがある。このような条件が満たされる場合には、その時点で設定されているカメラ状態507が、カメラ101の実際の状態に十分に近いか、又は、実際の状態にそれ以上近づけることが困難であると考えられるため、カメラ状態507を出力すると判定される。カメラ状態出力判定部512は、カメラ状態を出力しないと判定した場合、入力された誤差値をカメラ状態更新処理部511に出力する。
カメラ状態更新処理部511は、現在のカメラ状態507を更新する。更新方法としては、例えば、今回入力された誤差値を観測し、誤差値が前回入力された誤差値より小さい場合には、前回のカメラ状態更新時のパラメータ変化分と同じ量の変化分を現在のパラメータに加算したものを新しいカメラ状態507とし、逆に、今回入力された誤差値が前回入力された誤差値より大きい場合には、前回のカメラ状態更新時のパラメータ変化分の正負を逆転し値を半減した値を現在のパラメータに加算したものを新しいカメラ状態507として出力する、などの方法がある。
以上の様に、本実施例では、対象下端高さ算出部509からカメラ状態更新処理部511までの一連の処理部での処理を繰り返し実行することで、最終的に誤差値が小さくなるカメラ状態507を算出し、出力する。この一連の処理によって、推定されたカメラ状態507から得られる地面座標上に、全ての検知対象が接地している状態となり、正しいカメラ状態507を推定することが可能となる。本実施例では、繰り返し処理の際に、誤差量に基づいてカメラ状態を更新する例を示したが、ランダムに用意したカメラ状態のパターン全てに対して対象下端誤差を算出し、最も誤差が小さいカメラ状態を選択するなどの方法を用いることもできる。
図7は、本発明の実施例1の画像マッチング処理のフローチャートである。
画像マッチング処理は、画像マッチング処理部110が、カメラ101で撮影された画像とカメラ状態推定用データベース105内の検知対象情報とをマッチングし、画像内に含まれる検知対象を検出して対象の情報を取得する処理である。図7の各ステップにおいて画像マッチング処理部110内の各部が実行する処理の詳細は、図5を参照して説明した通りである。
まず、特徴量一致度算出処理部403が、カメラ状態推定用データベース105から検知対象情報を取得する(S801)。
次に、特徴量一致度算出処理部403は、取得した全ての検知対象情報に対してS803、S804、S805の処理を実行する(S802)。画像部分領域指定処理ステップ(S803)において、特徴量一致度算出処理部403は、カメラ101で撮影された画像から特徴量の一致度を算出するための部分領域を指定する。次に、特徴量一致度算出処理部403は、指定した全ての部分領域に対して特徴量一致度算出処理(S805)を実行する(S804)。特徴量一致度算出処理部403は、各部分領域の画像とカメラ状態推定用データベース105の検知対象情報とを比較し、一致度を算出する(S805)。
閾値判定処理部404は、算出された全ての一致度に対して閾値判定処理を実行する(S806)。次に、閾値判定処理部404は、一致した検知対象が存在するかを判定し(S807)、一致した検知対象が存在する場合(S807:Yes)には一致対象矩形抽出部405がS808、S809、S810の処理を実施し、一致した検知対象が存在しない場合(S807:No)には処理を終了する。
S808では、一致対象矩形抽出部405が、全ての一致した検知対象に対して、一致対象の矩形を抽出する処理(S809)を実行する。一致対象矩形抽出部405は、全ての一致対象の矩形を抽出したら、一致対象情報を出力し(S810)、画像マッチング処理を完了する。
図8は、本発明の実施例1のカメラ状態推定処理のフローチャートである。
図8の各ステップにおいてカメラ状態推定部111内の各部が実行する処理の詳細は、図6を参照して説明した通りである。
まず、カメラ状態推定部111は、2つ以上の一致対象が入力されたかどうかを判定し(S901)、2つ以上の一致対象が入力されていない場合(S901:No)には次の入力まで待機し(S902)、2つ以上の一致対象が入力された場合(S901:Yes)にはS903以降の処理を実行する。ここで、2つ以上の一致対象とは、それぞれがカメラ状態推定用データベース105に格納された別の検知対象と類似する一致対象であってもよいし、同一の検知対象と類似する2つ以上の一致対象であってもよい。
次に、カメラ状態推定部111は、カメラ状態の初期値を設定する(S903)。
次に、カメラ状態推定部111は、入力される全ての一致対象情報に対してS905からS908の処理を実行する(S904)。対象基準点画素算出部505は、入力された検知対象情報を用いて検知対象の基準点画素算出処理を実行する(S905)。対象下端画素算出部506は、入力された検知対象情報を用いて検知対象の下端画素の算出処理を実行する(S906)。対象足元座標算出部508は、設定したカメラ状態と入力された対象基準点画素と対象高さとを用いて、検知対象の足元座標を算出する(S907)。対象下端高さ算出部509は、入力された検知対象の足元座標と対象下端画素とを用いて対象の下端高さを算出する(S908)。
全ての一致対象情報に対してS905からS908の処理が完了したら、次に、対象下端誤差算出部510が、全ての一致対象情報から得られた対象下端高さを用いて対象下端誤差を算出する(S909)。次に、カメラ状態出力判定部512が、計算された対象下端誤差を基に、現在のカメラ状態を出力するかどうかを判定する(S910)。カメラ状態を出力しないと判定された場合(S910:No)には、カメラ状態更新処理部511が、カメラ状態を更新(S911)したのち、カメラ状態推定部111がS904からS909の処理を繰り返す。S910においてカメラ状態を出力すると判定された場合(S910:Yes)には、カメラ状態推定部111がカメラ状態を出力(S912)してカメラ状態推定処理を完了する。
図8に示すように、カメラ状態推定部111は、複数の一致対象が入力された場合にS904以降の処理を実行する。これは、例えばカメラ101の俯角と画角のように、カメラ状態507に含まれる二つ以上の独立したパラメータが未知である場合には、二つ以上の一致対象について対象下端高さが十分に小さくなるパラメータの組合せを探す必要があるためである。このため、未知のパラメータが一つのみの場合(例えば、カメラ101の設置位置及び方向が固定されてその角度が既に得られており、ズーム機能によって画角のみが可変である場合など)には、一つの一致対象についてS905〜S911を繰り返し実行することで、そのパラメータの値を特定することができる。この場合は、一つの一致対象について計算された対象下端高さが、カメラ状態の誤差の大きさを示す指標として用いられる。
図9は、本発明の実施例1の状態推定用データベース更新処理のフローチャートである。
まず、データベース情報設定部609は、カメラ状態推定用データベース105に追加する検知対象の画像を選択する処理を実行する(S1001)。次に、データベース情報設定部609は、カメラ状態推定用データベース105に追加する検知対象の大きさ(例えば高さ)の情報を入力する処理を実行する(S1002)。次に、データベース情報設定部609は、検知対象の大きさ(例えば高さ)を測定した基準点の情報を指定する処理を実行する(S1003)。S1001からS1003の処理の具体例については図10を参照して後述する。
次に、データベース情報設定部609は、S1001からS1003で入力された情報をカメラ状態推定用データベース105に追加する処理を実行する(S1004)。具体的には、例えば、データベース情報設定部609が、S1001からS1003で入力された情報を、ネットワークI/F623及びネットワーク604を介してカメラ状態推定装置100に送信し、カメラ状態推定装置100のデータベース更新部612がその情報を記憶装置104のカメラ状態推定用データベース105に追加する。
次に、データベース更新部612は、カメラ状態推定用データベース105に十分な量のデータを追加したかどうかを判定する(S1005)。追加データの量に不足がある場合(S1005:No)にはデータベース更新部612は再度S1001からS1004の処理を繰り返す。追加データの量が十分である場合(S1005:Yes)には状態推定用データベース更新処理を完了する。
追加データの量が十分か否かの判定は、カメラ101の設置環境等に応じた基準に基づいて行うことができる。例えば、データベース更新部612は、追加された検知対象の数又は検知対象の種類(例えば人、自動車等)の数が所定の閾値を超えた場合に、十分な量のデータが追加されたと判定してもよい。
具体的には、例えば、人通りは多いが自動車が走行しない道路等にカメラ101が設置されている場合、所定の数の人物に関するデータが追加されたときに、追加データの量が十分であると判定されてもよい。常に多くの人が撮影される環境では、一人の人物のデータがデータベースに格納されていれば、カメラ状態の推定が可能となる場合もある。人と車両の両方が撮影され得る環境では、所定の数の人物と車両のデータが追加されたときに、追加データの量が十分であると判定されてもよい。
あるいは、例えばカメラ101が高所に設置され、広い範囲を監視する場合、看板又は建物のように固定された検知対象が主に追加されることが想定される。このような場合には、データを追加したことによって、カメラ101の画角及び方向が可動範囲内のいかなる値であったとしても必ず所定の数の検知対象が画像内に含まれるようになったときに、十分な量のデータが追加されたと判定してもよい。
あるいは、十分な量のデータが追加されたか否かをユーザが判定し、その結果をデータベース更新装置601に入力してもよい。その場合は、入力された判定結果がデータベース更新装置601からカメラ状態推定装置100に送信され、それに基づいてデータベース更新部612がS1005の判定を行ってもよい。
図10は、本発明の実施例1のデータベース更新装置601における表示の一例の説明図である。
図10の表示用装置701は図3の表示用装置608に、図10の文字入力用端末702(例えばキーボード)及びカーソル操作用端末703(例えばマウス)は図3の入力用端末607に相当する。表示用装置701には文字入力用端末702及びカーソル操作用端末703が接続される。表示用装置701の画面上にはカメラ画像704とカメラ状態推定用データベースのデータ情報表示フィールド705と高さ入力用フィールド706とデータベース追加処理実行用ボタン707とカメラ状態推定開始用ボタン708とカーソル709とカーソル操作結果として得られた領域710とが表示される。カメラ画像704は、カメラ101が撮影した画像であり、画像取得部617によって取得される。
高さ入力用フィールド706には文字入力用端末702から入力される高さ情報が表示される。カーソル709はカーソル操作用端末703によって操作される。ユーザは、追加対象画像選択処理S1001において、カーソル操作によって、これからデータを追加しようとする検知対象(図10の例では郵便差出箱)を含む画像上の一部の領域710を選択する事ができる。さらに、ユーザは、追加対象高さ入力処理S1002において、選択した領域の検知対象の高さ情報を高さ入力用フィールド706に入力する。さらに、ユーザは、対象基準点情報指定処理S1003において、カーソル操作によって、選択した領域の検知対象の基準点711を指定する。例えば、検知対象が郵便差出箱である場合はその上面の画素、検知対象が人である場合には頭頂部の画素等が基準点711として指定される。
データベース追加処理S1004において、ユーザがカーソル操作用端末703を用いてデータベース追加処理実行用ボタン707を操作すると、データベース情報設定部609は、カーソル709を用いて選択された領域710の画像データと、高さ入力用フィールド706に入力された高さ情報と、指定された基準点711の画像上の座標値と、をカメラ状態推定装置100に送信する。
これらの情報を受信したカメラ状態推定装置100のデータベース更新部612は、受信した情報に基づいて、カメラ状態推定用データベース105の新しいレコードの対象画像303に受信した領域710の画像データを、特徴量304にその画像データから計算された特徴量を、基準位置座標305に受信した基準点711の座標を、高さ306に高さ情報を、それぞれ追加することによって、カメラ状態推定用データベース105を更新する。
カメラ状態推定用データベース105が更新された後、データベース情報取得部611は、更新された結果をデータ情報表示フィールド705に表示する。ユーザがカメラ状態推定開始用ボタン708を操作すると、カメラ状態推定信号出力部610がカメラ状態推定処理を開始する信号を生成し、カメラ状態推定装置100に送信する。その信号を受信したカメラ状態推定装置100によってカメラ状態推定処理が実行される。
図10の例では入力用端末607としてマウス及びキーボードなどを想定しているが、タッチパネルなどを用いても良い。また図10の表示用装置701はカメラ画像を1枚表示しているが、複数のカメラの画像を同時に表示しても良い。また、表示用装置701は、カメラ状態推定用データベース105から削除するレコードを指定するためのフィールドなどを表示しても良い。
以上の実施例1によれば、地面に接地している検知対象の大きさにかかわる情報と画像とを対応付けたデータベースを用意し、カメラ画像中に存在する検知対象を検出することで、検出された検知対象の大きさ情報からカメラの状態を推定することができる。またデータベースを検知対象の画像及び大きさ情報といった簡易な情報で構成することで、データベースの更新作業が容易にできる。これによって、データベースに登録された検知対象が画像に映っていれば、逐一カメラ状態を推定することが可能となる。またデータベースは必要に応じて適宜更新ができるため、カメラが映している環境に合わせてデータベースを更新することで、より精度良くカメラ状態を推定することが可能となる。
次に、本発明の実施例2を、図11を用いて説明する。以下に説明する相違点を除き、実施例2の画像認識システムの各部は、図1〜図10に示された実施例1の同一の符号を付された各部と同一の機能を有するため、それらの説明は省略する。
本実施例では、カメラ101がカメラ状態推定用データベース105、画像マッチング処理部110及びカメラ状態推定部111を備える。
図11は、本発明の実施例2の画像認識システムのハードウェア構成を示すブロック図である。
図11に示す構成のうち実施例1の図1に示すカメラ状態推定用データベース105、画像マッチング処理部110、カメラ状態推定部111、図3に示す入力用端末607、表示用装置608、データベース情報設定部609、カメラ状態推定信号出力部610、データベース情報取得部611、データベース更新部612、カメラ状態設定部613、画像認識処理部615、及び画像取得部617と同じ構成は、同じ符号を付与し、説明を省略する。
すなわち、本実施例のカメラ101は、図3に示す実施例1のカメラ101に、カメラ状態推定装置100と同等の機能と、画像認識処理装置603の表示用装置614以外の部分の機能とを追加したものであるとも言え、図3に示す実施例1のカメラ状態推定装置100に、実施例1のカメラ101と同等の機能と、画像認識処理装置603の表示用装置614以外の部分の機能とを追加したものであるとも言える。
本実施例のカメラ101は、プロセッサ1102、メモリ1103、ネットワークI/F1104、画像撮影部1101及び記憶装置1105を備える。
プロセッサ1102は、メモリ1103に格納されたプログラムを実行することによって、本実施例のカメラ101の種々の機能を実現する。
メモリ1103には、プロセッサ1102によって実行されるプログラムモジュールである画像マッチング処理部110、カメラ状態推定部111、カメラ状態推定信号出力部610、データベース更新部612、カメラ状態設定部613及び画像認識処理部615が格納される。実施例1と同様、これらの各部は機能ブロックとして扱われるが、実際には各部の処理はプロセッサ1102が各プログラムモジュールに記述された命令に従って実行する。また、実施例1と同様、上記の機能ブロックの任意の一部又は全部が専用のハードウェアによって実現されてもよい。
ネットワークI/F1104は、ネットワーク604に接続され、ネットワーク604を介してデータベース更新装置601等との通信を行うインターフェースである。
画像撮影部1101は、レンズ及び撮像素子等からなる光学系を有し、それらを用いて画像撮影を行う。本実施例のカメラ101は、画像撮影部1101が撮影した画像と、カメラ状態推定用データベース105に保存された情報とを用いて、画像認識処理部615の処理に必要なカメラ状態を推定することができる。
記憶装置1105は、例えばハードディスクドライブ又はフラッシュメモリのようないわゆる補助記憶装置であり、カメラ状態推定用データベース105を格納する。データベース更新部612は、外部から(例えばデータベース更新装置からネットワーク604を介して)入力される情報を用いてカメラ状態推定用データベース105を更新する。
本実施例のデータベース更新装置601は、実施例1のデータベース更新装置601(図3)と同様に、プロセッサ621、メモリ622、ネットワークI/F623、入力用端末607及び表示用装置608を備える。メモリ622には、プロセッサ621によって実行されるプログラムモジュールであるデータベース情報設定部609、データベース情報取得部611、画像取得部617及び画像認識結果取得部1106が格納される。画像認識結果取得部1106は、カメラ101で処理された画像認識結果を取得し、表示用装置608に表示する。本実施例のデータベース更新装置601は、データベース更新機能と、カメラ映像の画像認識結果表示機能とを備えるが、それらの機能を別々の装置に分けても良い。
以上のように、本実施例においては、カメラ101内部にカメラ状態推定用データベース105と画像マッチング処理部110とカメラ状態推定部111を備えることで、実施例1のカメラ状態推定装置100が行うものと同様の処理をカメラ101内部で実行することができる。これによって、カメラ101が複数台に増えたときも、カメラ状態推定処理を各カメラ101で実施することができるため、システム全体にかかる負荷を各カメラ101に分散することで演算負荷を低減することが可能となる。
次に、本発明の実施例3を、図12を用いて説明する。以下に説明する相違点を除き、実施例2の画像認識システムの各部は、図1〜図10に示された実施例1又は図11に示された実施例2の各部と同一の機能を有するため、それらの図示及び説明は省略する。
具体的には、実施例3の画像認識システムは、カメラ状態推定用データベース105の代わりに(又はそれに加えて)カメラ状態推定用データベース1201を有し、それを利用した処理を行うという点を除き、実施例1又は実施例2の画像認識システムと同様である。
図12は、本発明の実施例3におけるカメラ状態推定用データベース1201の一例の説明図である。
図12に示すカメラ状態推定用データベース1201は、実施例1の図4に示すカメラ状態推定用データベース105が保持する対象のID302、対象画像303、特徴量304、基準位置305及び高さ306に加え、対象の幅1202及び対象の位置情報(例えば緯度経度)1203を保持する。
対象足元座標算出部508は、図12に示すカメラ状態推定用データベース1201を参照して、検知対象が画像内から検知された場合に、高さ306だけでなく幅1202も用いて、より高精度に検知対象の足元座標を算出することが可能となる(S907)。また、カメラ状態推定部111は、検知対象の位置情報1203を参照することで、カメラ101の向いている方向を推定することが可能となる。例えば、画像中にID302が「1」の検知対象が存在したことが検知できた場合には、カメラの視野内に、位置情報1203として登録された緯度経度(35、139)によって特定される地点の方角が含まれることが分かる。この方角を特定するために、カメラ状態推定部111は、緯度経度の値を、図2に示す実空間の座標系における座標値に変換してもよいし、はじめから図2に示す実空間の座標値を位置情報1203としてカメラ状態推定用データベース1201に格納してもよい。
以上のように、本実施例においては、カメラ状態推定用データベース1201に複数種類の大きさに関する情報が含まれ、さらに位置に関する情報が含まれる。これによって、より高精度にカメラ状態を推定でき、さらにカメラの向いている方向も推定可能となる。
なお、本発明は上述した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることも可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶装置、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
また、図面には、実施例を説明するために必要と考えられる制御線及び情報線を示しており、必ずしも、本発明が適用された実際の製品に含まれる全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。

Claims (11)

  1. カメラと、ネットワークを介して前記カメラに接続されるカメラ状態推定装置と、を有する画像認識システムであって、
    前記カメラ状態推定装置は、前記ネットワークに接続される第1インターフェースと、前記第1インターフェースに接続される第1プロセッサと、前記第1プロセッサに接続される第1記憶装置と、を有し、
    前記第1記憶装置は、検知対象の画像の特徴量と、前記検知対象の実空間における大きさと、前記カメラの状態を示す一つ以上のパラメータの推定値と、を保持し、
    前記検知対象の実空間における大きさは、前記検知対象の下端から前記検知対象の所定の基準点までの高さを含み、
    前記カメラは、画像を撮影して前記カメラ状態推定装置に送信し、
    前記第1プロセッサは、
    前記カメラによって撮影された画像から、前記第1記憶装置に保持された特徴量に基づいて、前記検知対象と類似する対象を抽出し、
    前記検知対象の実空間における大きさと、前記一つ以上のパラメータの推定値と、前記類似する対象の前記基準点の前記画像内の位置と、前記類似する対象の前記画像内の大きさと、に基づいて、前記類似する対象の下端の実空間における第1座標値を計算し、
    前記計算された第1座標値のうち水平面内の座標値と、前記一つ以上のパラメータの推定値と、前記類似する対象の下端の前記画像内の位置と、に基づいて、前記類似する対象の下端の実空間における第2座標値を計算し、
    前記第1座標値と前記第2座標値との相違を、前記一つ以上のパラメータの推定値の誤差の大きさを示す指標として計算し、
    前記計算された相違が所定の値より小さい場合に、前記誤差の大きさを示す指標が所定の条件を満たすと判定し、
    前記計算された誤差の大きさを示す指標が所定の条件を満たさない場合に、前記一つ以上のパラメータの推定値を変更することを特徴とする画像認識システム。
  2. 請求項1に記載の画像認識システムであって、
    前記第1記憶装置は、前記カメラの状態を示す複数のパラメータの推定値を保持し、
    前記第1プロセッサは、
    前記カメラによって撮影された画像から、前記検知対象と類似する複数の対象を抽出し、
    前記類似する複数の対象の各々の実空間における前記第1座標値を計算し、
    前記類似する複数の対象の各々の下端の実空間における前記第2座標値を計算し、
    前記類似する複数の対象の各々について、前記第1座標値と前記第2座標値との相違の合計を前記誤差の大きさを示す指標として計算し、
    前記計算された相違の合計が所定の値より小さい場合に、前記誤差の大きさを示す指標が所定の条件を満たすと判定することを特徴とする画像認識システム。
  3. 請求項1に記載の画像認識システムであって、
    前記一つ以上のパラメータの推定値は、前記カメラの画角の推定値と、前記カメラの撮影方向を示す角度の推定値と、の少なくとも一方を含むことを特徴とする画像認識システム。
  4. 請求項1に記載の画像認識システムであって、
    前記第1記憶装置は、前記検知対象の実空間における座標値をさらに保持し、
    前記一つ以上のパラメータの推定値は、前記カメラの撮影方向を示す角度の推定値を含み、
    前記第1プロセッサは、
    前記保持された座標値と、前記類似する対象の前記画像内の位置と、に基づいて、前記カメラの撮影方向を示す角度を計算することを特徴とする画像認識システム。
  5. 請求項1に記載の画像認識システムであって、
    前記ネットワークに接続されるデータベース更新装置をさらに有し、
    前記データベース更新装置は、前記ネットワークに接続される第2インターフェースと、前記第2インターフェースに接続される第2プロセッサと、前記第2プロセッサに接続される第2記憶装置と、前記第2プロセッサに接続される表示装置と、前記第2プロセッサに接続される入力装置と、を有し、
    前記表示装置は、前記カメラによって撮影された画像を表示し、
    前記入力装置は、前記表示された画像のうち、検知対象を含む領域及び当該検知対象の大きさを指定する情報の入力を受け付け、
    前記第2プロセッサは、前記第2インターフェースを介して、前記入力された情報を前記カメラ状態推定装置に送信し、
    前記第1プロセッサは、前記データベース更新装置から受信した情報に基づいて、前記指定された検知対象の画像の特徴量と、前記検知対象の大きさと、を前記第1記憶装置に追加することを特徴とする画像認識システム。
  6. プロセッサと、前記プロセッサに接続される記憶装置と、を有するカメラ状態推定装置であって、
    前記記憶装置は、検知対象の画像の特徴量と、前記検知対象の実空間における大きさと、カメラの状態を示す一つ以上のパラメータの推定値と、を保持し、
    前記検知対象の実空間における大きさは、前記検知対象の下端から前記検知対象の所定の基準点までの高さを含み、
    前記プロセッサは、
    前記カメラによって撮影された画像から、前記記憶装置に保持された特徴量に基づいて、前記検知対象と類似する対象を抽出し、
    前記検知対象の実空間における大きさと、前記一つ以上のパラメータの推定値と、前記類似する対象の前記基準点の前記画像内の位置と、前記類似する対象の前記画像内の大きさと、に基づいて、前記類似する対象の下端の実空間における第1座標値を計算し、
    前記計算された第1座標値のうち水平面内の座標値と、前記一つ以上のパラメータの推定値と、前記類似する対象の下端の前記画像内の位置と、に基づいて、前記類似する対象の下端の実空間における第2座標値を計算し、
    前記第1座標値と前記第2座標値との相違を、前記一つ以上のパラメータの推定値の誤差の大きさを示す指標として計算し、
    前記計算された相違が所定の値より小さい場合に、前記誤差の大きさを示す指標が所定の条件を満たすと判定し、
    前記誤差の大きさを示す指標が所定の条件を満たさない場合に、前記一つ以上のパラメータの推定値を変更し、
    前記誤差の大きさを示す指標が所定の条件を満たす場合に、前記一つ以上のパラメータの推定値を出力することを特徴とするカメラ状態推定装置。
  7. 請求項6に記載のカメラ状態推定装置であって、
    前記記憶装置は、前記カメラの状態を示す複数のパラメータの推定値を保持し、
    前記プロセッサは、
    前記カメラによって撮影された画像から、前記検知対象と類似する複数の対象を抽出し、
    前記類似する複数の対象の各々の実空間における前記第1座標値を計算し、
    前記類似する複数の対象の各々の下端の実空間における前記第2座標値を計算し、
    前記類似する複数の対象の各々について、前記第1座標値と前記第2座標値との相違の合計を前記誤差の大きさを示す指標として計算し、
    前記計算された相違の合計が所定の値より小さい場合に、前記誤差の大きさを示す指標が所定の条件を満たすと判定することを特徴とするカメラ状態推定装置。
  8. 請求項6に記載のカメラ状態推定装置であって、
    前記一つ以上のパラメータの推定値は、前記カメラの画角の推定値と、前記カメラの撮影方向を示す角度の推定値と、の少なくとも一方を含むことを特徴とするカメラ状態推定装置。
  9. 請求項6に記載のカメラ状態推定装置であって、
    前記記憶装置は、前記検知対象の実空間における座標値をさらに保持し、
    前記一つ以上のパラメータの推定値は、前記カメラの撮影方向を示す角度の推定値を含み、
    前記プロセッサは、
    前記保持された座標値と、前記類似する対象の前記画像内の位置と、に基づいて、前記カメラの撮影方向を示す角度を計算することを特徴とするカメラ状態推定装置。
  10. 請求項6に記載のカメラ状態推定装置であって、
    前記カメラをさらに有することを特徴とするカメラ状態推定装置。
  11. 計算機に以下の手順を実行させるためのプログラムであって、
    前記計算機は、プロセッサと、前記プロセッサに接続される記憶装置と、を有し、
    前記記憶装置は、検知対象の画像の特徴量と、前記検知対象の実空間における大きさと、カメラの状態を示す一つ以上のパラメータの推定値と、を保持し、
    前記検知対象の実空間における大きさは、前記検知対象の下端から前記検知対象の所定の基準点までの高さを含み、
    前記プログラムは、
    前記カメラによって撮影された画像から、前記記憶装置に保持された特徴量に基づいて、前記検知対象と類似する対象を抽出する手順と、
    前記検知対象の実空間における大きさと、前記一つ以上のパラメータの推定値と、前記類似する対象の前記基準点の前記画像内の位置と、前記類似する対象の前記画像内の大きさと、に基づいて、前記類似する対象の下端の実空間における第1座標値を計算する手順と、
    前記計算された第1座標値のうち水平面内の座標値と、前記一つ以上のパラメータの推定値と、前記類似する対象の下端の前記画像内の位置と、に基づいて、前記類似する対象の下端の実空間における第2座標値を計算する手順と、
    前記第1座標値と前記第2座標値との相違を、前記一つ以上のパラメータの推定値の誤差の大きさを示す指標として計算する手順と、
    前記計算された相違が所定の値より小さい場合に、前記誤差の大きさを示す指標が所定の条件を満たすと判定する手順と、
    前記誤差の大きさを示す指標が所定の条件を満たさない場合に、前記一つ以上のパラメータの推定値を変更する手順と、
    前記誤差の大きさを示す指標が所定の条件を満たす場合に、前記一つ以上のパラメータの推定値を出力する手順と、を前記プロセッサに実行させることを特徴とするプログラム。
JP2017511354A 2016-01-21 2016-01-21 画像認識システム、カメラ状態推定装置及びプログラム Active JP6393409B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/051653 WO2017126072A1 (ja) 2016-01-21 2016-01-21 画像認識システム、カメラ状態推定装置及び記憶媒体

Publications (2)

Publication Number Publication Date
JPWO2017126072A1 JPWO2017126072A1 (ja) 2018-01-25
JP6393409B2 true JP6393409B2 (ja) 2018-09-19

Family

ID=59362290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017511354A Active JP6393409B2 (ja) 2016-01-21 2016-01-21 画像認識システム、カメラ状態推定装置及びプログラム

Country Status (2)

Country Link
JP (1) JP6393409B2 (ja)
WO (1) WO2017126072A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018034053A1 (ja) * 2016-08-18 2018-02-22 ソニー株式会社 情報処理装置、情報処理システム及び情報処理方法
JP7224832B2 (ja) * 2018-10-01 2023-02-20 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
KR102332179B1 (ko) * 2019-12-03 2021-11-30 한국과학기술정보연구원 영상 및 실공간 매핑장치 및 그 장치에서 각 기능을 실행시키기 위해 매체에 저장된 컴퓨터 프로그램

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231254A (ja) * 2009-03-25 2010-10-14 Fujifilm Corp 画像解析装置、画像解析方法およびプログラム
JP5331047B2 (ja) * 2010-04-01 2013-10-30 日本電信電話株式会社 撮像パラメータ決定方法、撮像パラメータ決定装置、撮像パラメータ決定プログラム
JP5552892B2 (ja) * 2010-05-13 2014-07-16 富士通株式会社 画像処理装置および画像処理プログラム

Also Published As

Publication number Publication date
WO2017126072A1 (ja) 2017-07-27
JPWO2017126072A1 (ja) 2018-01-25

Similar Documents

Publication Publication Date Title
JP7282851B2 (ja) 装置、方法及びプログラム
US10762386B2 (en) Method of determining a similarity transformation between first and second coordinates of 3D features
JP6723061B2 (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP5587137B2 (ja) 測定装置及び測定方法
US11842514B1 (en) Determining a pose of an object from rgb-d images
KR102130316B1 (ko) 영상 인식 장치 및 방법
KR102354299B1 (ko) 단일 영상을 이용한 카메라 캘리브레이션 방법 및 이를 위한 장치
JP6566768B2 (ja) 情報処理装置、情報処理方法、プログラム
JP5951043B2 (ja) 画像計測装置
US11037014B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
JP2019114103A (ja) 物体認識処理装置、物体認識処理方法及びプログラム
JP6393409B2 (ja) 画像認識システム、カメラ状態推定装置及びプログラム
JP2012048393A (ja) 情報処理装置およびその動作方法
CN107330974B (zh) 商品展示方法、装置及移动设备
CN113129249B (zh) 基于深度视频的空间平面检测方法及其系统和电子设备
US20210335010A1 (en) Calibration method and calibration apparatus
JP6132996B1 (ja) 画像処理装置,画像処理方法,画像処理プログラム
JP2016176816A (ja) 画像処理装置、画像処理方法、及びプログラム
JP5217917B2 (ja) 物体検知追跡装置,物体検知追跡方法および物体検知追跡プログラム
KR20220015056A (ko) 3d 환경 모델을 이용하여 피사체의 실제 크기를 측정 가능한 cctv 관제 시스템
CN113228117B (zh) 创作装置、创作方法和记录有创作程序的记录介质
CN107515844B (zh) 字体设置方法、装置及移动设备
JP2016206909A (ja) 情報処理装置、情報処理方法
CN107589834B (zh) 终端设备操作方法及装置、终端设备
JP2020027328A (ja) 信号機推定装置、信号機推定方法およびプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180509

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180821

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180824

R150 Certificate of patent or registration of utility model

Ref document number: 6393409

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150