JP6736414B2 - 画像処理装置、画像処理方法及びプログラム - Google Patents

画像処理装置、画像処理方法及びプログラム Download PDF

Info

Publication number
JP6736414B2
JP6736414B2 JP2016157932A JP2016157932A JP6736414B2 JP 6736414 B2 JP6736414 B2 JP 6736414B2 JP 2016157932 A JP2016157932 A JP 2016157932A JP 2016157932 A JP2016157932 A JP 2016157932A JP 6736414 B2 JP6736414 B2 JP 6736414B2
Authority
JP
Japan
Prior art keywords
marker
image
destination
image processing
calibration
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
JP2016157932A
Other languages
English (en)
Other versions
JP2018026724A (ja
JP2018026724A5 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016157932A priority Critical patent/JP6736414B2/ja
Priority to US15/670,796 priority patent/US10515459B2/en
Publication of JP2018026724A publication Critical patent/JP2018026724A/ja
Publication of JP2018026724A5 publication Critical patent/JP2018026724A5/ja
Application granted granted Critical
Publication of JP6736414B2 publication Critical patent/JP6736414B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20092Interactive image processing based on input by user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker

Description

本発明は、画像処理装置、画像処理方法及びプログラムに関する。
従来、監視カメラシステムにおいて、複数のカメラを監視領域に配置し、複数のカメラで同一の被写体を同時に撮像することで、被写体の3次元位置を推定する手法が知られている。特許文献1には、カメラの位置と姿勢、カメラ画像上の被写体の位置から、ステレオ視の原理で3次元位置を推定する技術が開示されている。このような3次元情報を扱うマルチカメラシステムでは、事前にカメラの位置と姿勢をキャリブレーションによって決定する必要がある。非特許文献1には、動画像から複数のカメラでキャリブレーションマーカ(以降マーカと呼ぶ)を検出することで、カメラの位置を推定する方法が開示されている。ここで、マーカとは画像上で位置座標を特定しやすいような特徴的な色や形状を持った物体であり、例えば周囲と異なる色を持ったボールなどが使用される。カメラの位置と姿勢に関するパラメータを未知変数とし、画像上のマーカの座標を入力として解くことによって、カメラの位置と姿勢を求めることができる。画像上のマーカの座標からカメラの位置や姿勢を求める方法として、基礎行列を算出する手法やStructure from Motionによる手法が知られている(非特許文献2参照)。
特許第5454573号公報
野口真身、加藤丈和、"マーカー追跡による同期のない複数カメラキャリブレーション、"情報処理学会研究報告コンピュータビジョンとイメージメディア(CVIM)2005 Richard Hartley and Andrew Zisserman「Multiple View Geometry in Computer Vision SECOND EDITION」Cambridge University Press 2003
カメラの位置と姿勢を決定する場合において、適切な位置と数のマーカの検出結果が得られないと、正しいカメラの位置及び姿勢を求めることができず、この場合、カメラの位置及び姿勢の推定精度が低下してしまうという問題があった。例えば、マーカの取得位置が画像の特定個所のみに集中して存在するなど偏っている場合、解が特定個所に過剰適合するため、それ以外の個所での誤差が大きくなる。また、キャリブレーションを好適に行うために、適切なマーカの位置や数をユーザが把握するのは難しい。
本発明はこのような問題点に鑑みなされたもので、適切な位置及び数のマーカを検出することにより、精度よくカメラの位置及び姿勢のキャリブレーションを行うことを目的とする。
そこで、本発明は、画像処理装置であって、重複する領域を撮像する第1の撮像手段と第2の撮像手段それぞれにより撮像された第1の画像と第2の画像それぞれにおいて、マーカの位置を特定する特定手段と、前記マーカの位置に基づいて、前記マーカの複数の移動先と、各移動先の重要度と、を決定する決定手段と、前記複数の移動先とそれぞれの重要度とを示す移動先情報を出力する出力手段と、前記移動先へ移動後の前記マーカの位置に基づいて、前記第1の撮像手段及び前記第2の撮像手段のうち少なくとも一方の撮像手段の位置のキャリブレーションを行うキャリブレーション手段とを有することを特徴とする。
本発明によれば、適切な位置及び数のマーカを検出することにより、精度よくカメラの位置及び姿勢のキャリブレーションを行うことができる。
画像処理システムの全体図である。 監視領域の説明図である。 画像処理装置のソフトウェア構成を示す図である。 画像処理を示すフローチャートである。 移動先決定処理を示すフローチャートである。 S502の処理の説明図である。 S503の処理の説明図である。 候補領域マップの一例を示す図である。 移動先情報出力処理を示すフローチャートである。 移動先候補画面の一例を示す図である。
以下、本発明の実施形態について図面に基づいて説明する。
図1は、本実施形態に係る画像処理システム100の全体図である。画像処理システム100は、複数のカメラ110と、画像処理装置120と、携帯端末装置130とを有している。カメラ110は、監視カメラであり、監視領域の所定の場所に設置されているものとする。カメラ110は、撮像素子により得られた被写体像に関する時系列信号を処理し、デジタル信号に変換することにより画像を得る。本実施形態においては、画像処理システム100はカメラ110を備えることとするが、カメラ110の数は、4台に限定されるものではなく2台以上であればよい。
画像処理装置120は、4台のカメラ110の画像から、不審者の検出を行う。画像処理装置120はさらに不審者の位置を正確に特定するために、各カメラ110の設置位置及び姿勢のキャリブレーションを行う。カメラ110の位置及び姿勢のキャリブレーションを行うべく、ユーザは、マーカを手に持ち、監視領域を歩き回り、各位置におけるマーカの画像を各カメラ110が撮像する。キャリブレーションに用いられるマーカは、例えば赤色の球であるものとする。そして、画像処理装置120は、カメラ110により撮像されたマーカの画像に基づいて、カメラ110の位置及び姿勢のキャリブレーションを行う。
各カメラ110は、画像処理装置120に接続している。また、携帯端末装置130は、無線LAN等のネットワークを介して画像処理装置120に接続している。携帯端末装置130は、ユーザによりマーカと共に所持される。携帯端末装置130のディスプレイ131には、ユーザが次にどこに移動すべきかを示す情報等が表示される。なお、画像処理装置120と携帯端末装置130の間の通信は無線LAN以外の無線通信でもよく、また有線通信でもよい。また、携帯端末装置130は、専用端末とするが、他の例としては、汎用のタブレットやノートPC、スマートフォン、ヘッドマウントディスプレイなどであってもよい。また、携帯端末装置130は、ユーザが所持するものではなく、画像処理装置120とともに所定の場所に固定されているものでもよい。
画像処理装置120は、CPU121と、ROM122と、RAM123と、ディスプレイ124と、入力装置125と、通信装置126と、を有している。CPU121は、ROM122に格納されている制御プログラムを実行することにより、画像処理装置120全体の制御を行う。ROM122は、CPU121が実行する制御プログラムや各種パラメータデータを格納する。RAM123は、画像や各種情報を記憶する。また、RAM123は、CPU121のワークエリアやデータの一時待避領域として機能する。ディスプレイ124は各種情報を表示する。入力装置125は、マウス等のポインティングデバイスや、キーボード等であり、ユーザからの入力を受け付ける。
なお、後述する画像処理装置120の機能や処理は、CPU121がROM122に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。他の例としては、画像処理装置120の機能や処理の一部または全部を電子回路などのハードウェアで実現するようにしてもよい。また、携帯端末装置130のハードウェア構成は、画像処理装置120のハードウェア構成と同様である。
図2は、監視領域の説明図である。4台のカメラ110は、図2に示すように、撮影範囲が重複するように設置されているものとする。たとえば、カメラ1とカメラ2は、同一の領域200を撮影範囲に含んでいる。また、図2に示すように、ユーザAは、マーカ210と携帯端末装置130を所持している。ユーザAはマーカ210を手に持ち、自律的あるいは携帯端末装置130に表示される情報に従って、監視領域を歩き回る。
図3は、画像処理装置120のソフトウェア構成を示す図である。画像処理装置120は、画像取得部301と、マーカ特徴記憶部302と、マーカ検出部303と、フィルタ部304と、マーカ位置記憶部305と、判定部306と、を有している。画像処理装置120はまた、移動先決定部307と、経路決定部308と、通知部309と、キャリブレーション部310と、カメラ情報記憶部311と、を有している。
カメラ情報記憶部311は、事前にカメラ110の内部パラメータのキャリブレーションを行うことにより決定した各カメラ110の内部パラメータに関する情報を保持する。本実施形態においては、内部パラメータは焦点距離であるものとする。内部パラメータのキャリブレーションについては例えば以下に示す文献を参照することができる。

Zhengyou Zhang「A Flexible New Technique for Camera Calibration」,IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330−1334, 2000
マーカ特徴記憶部302は、検出対象のマーカの特徴に関する情報を予め記憶している。本実施形態においては、マーカの特徴は、マーカの色であるものとする。画像取得部301は、各カメラ110から画像を取得する。マーカ検出部303は、画像取得部301が取得した画像からマーカを検出し、その画像上での位置座標を特定する。フィルタ部304は、マーカ検出部303で検出されたマーカ群から、キャリブレーションに有用なマーカ群を抽出し、抽出したマーカ群の各マーカの位置座標をマーカ位置記憶部305に記憶する。有用なマーカ群の抽出の具体的な方法については後述する。マーカ位置記憶部305は、マーカの画像上での位置座標を記憶する。
キャリブレーション部310は、マーカ位置記憶部305に記憶されたマーカの位置座標とカメラ情報記憶部311に記憶されたカメラの内部パラメータを用いて、カメラ110の位置及び姿勢のキャリブレーションを行い、位置及び姿勢を決定する。移動先決定部307は、画像に基づいてマーカの移動先を決定する。経路決定部308は、マーカの移動先に基づいて、マーカの移動経路を決定する。通知部309は、移動先決定部307により決定された移動先や経路決定部308により決定された移動経路等を含む移動先情報を携帯端末装置130に出力する。
図4は、画像処理装置120による画像処理を示すフローチャートである。S400において、CPU121は、システムの初期化を行う。CPU121は、まず、事前に求めた各カメラの内部パラメータをカメラ情報記憶部311から取得する。次に、CPU121は、事前に設定したマーカの色をマーカ特徴記憶部302から取得する。このマーカの色は画像からマーカを検出する処理に用いられる。次に、S401において、画像取得部301は、各カメラ110から同時刻に撮影された画像を取得する。本実施形態においては、カメラ110が4台のため、画像取得部301は、4枚の画像を取得する。
次に、S402において、マーカ検出部303は、マーカ特徴記憶部302に記憶されているマーカの色を用いて、各画像からマーカを検出し、検出したマーカの位置座標を特定する。具体的には、マーカ検出部303は、画像をHSV色空間に変換し、マーカ特徴記憶部302に記憶されているマーカの色相の値との差がしきい値α以下の候補画素を抽出する。マーカ検出部303は、候補画素の数がしきい値β以下の場合は、その画像からマーカは検出されなかったと判定する。マーカ検出部303は、候補画素の数がしきい値βより大きい場合にマーカが検出されたと判定し、この場合には、候補画素についてラべリング処理を行い、最も大きい領域の重心をマーカの位置として特定する。本処理は、マーカの位置を特定する特定処理の一例である。
次に、S403において、フィルタ部304は、S402において検出されたマーカ群をキャリブレーションに採用するか否かを判定する。フィルタ部304は、マーカ群をキャリブレーションに採用する場合には(S403でYes)、処理をS404へ進める。フィルタ部304は、マーカ群をキャリブレーションに採用しない場合には(S403でNo)、マーカ群を破棄し、処理をS401へ進める。フィルタ部304は、マーカ群を採用するか否かの判定は、検出されたマーカ群にマーカ位置記憶部305に記憶された過去のマーカ群の中に類似した位置を持つマーカが含まれるか否かによって行う。マーカ群が特定個所に集中するとキャリブレーションの精度が低下するため、この処理ではそれを抑制する。
より具体的には、フィルタ部304は以下の処理を行う。すなわち、S401において得られた画像群から検出されたマーカ群をマーカ群Aとし、マーカ位置記憶部305に記憶された過去のある時刻のマーカ群をマーカ群Bとする。また、ai、bi(i=1,2,...,C)をそれぞれマーカ群A、Bに含まれるマーカの位置座標を表すベクトル、Cをカメラ台数、iをカメラのインデックスとする。そして、フィルタ部304は、マーカ群Aとマーカ群Bの位置の相違度f(A,B)を(式1)により求める。

Figure 0006736414
ここで、記号||・||はベクトルのノルムを表す。すなわち、同じカメラで検出されたマーカ間の距離の和を相違度f(A,B)としている。ただし、マーカが検出されず、距離が求まらない場合には、距離を無限大とする。過去に記憶されたマーカ群の中に(式1)で計算される相違度fがしきい値以下のものがなければ、フィルタ部304は、検出したマーカ群を採用すると判定する。
S404において、フィルタ部304は、S403において検出されたマーカ群をマーカ位置記憶部305に記録する。次に、S405において、移動先決定部307は、マーカの移動先、すなわちキャリブレーションに必要なマーカ画像に対応するマーカの位置の候補を決定する。本処理は、マーカの移動先を決定する決定処理の一例である。
図5は、移動先決定処理(S405)における移動先決定部307の詳細な処理を示すフローチャートである。移動先決定部307は、S500の処理を4台のカメラに対するすべてのペアに対して繰り返す。本実施形態においては、カメラ110が4台存在するため、6通りの組み合わせがある。このためS500の処理は6回繰り返される。
S500において、移動先決定部307は、マーカの位置座標からカメラ間の基礎行列(fundamental matrix)を算出する。基礎行列とは、カメラ間の3次元的な位置、姿勢の情報を含む3行3列の行列である。この基礎行列は、後述のキャリブレーションが可能か否かの判定やマーカの誤検出の除去に使用される。マーカの位置座標には、マーカの誤検出が含まれる。そのため、このようなマーカの誤検出があっても基礎行列を求めるために、移動先決定部307は、RANSAC(Random sample consensus)法によって基礎行列を計算する(非特許文献2参照)。RANSACは一部のサンプルをランダムに選んでモデルを決定することを複数回繰り返し、最もデータに合致するモデルを選ぶことで、外れ値に頑健にモデルを計算する手法である。ここで、マーカの位置座標の数が少ない場合や配置が同一平面上に存在するなど好適でない場合には、基礎行列が正しく計算ができないことが知られている。そのため、S500では基礎行列の計算ができない場合には、基礎行列は算出されない。
すべてのペアに対する基礎行列が算出されると、次に、移動先決定部307は、すべてのカメラに対し、S501〜S504の処理を繰り返す。本実施形態においては、カメラ110が4台存在するため、S501〜S504の処理が4回繰り返される。S501において、移動先決定部307は、キャリブレーションが可能か否かを判定する。S500において基礎行列が算出できるペアが存在しなかったカメラは、他のカメラとの3次元的な位置関係を決定することが難しい。そのため、移動先決定部307は、このようなカメラはキャリブレーションが可能でないと判定する。一方で、移動先決定部307は、S500で基礎行列が算出できるペアが存在したカメラはキャリブレーションが可能であると判定する。本処理は、マーカの位置に基づいて、キャリブレーションが可能か否かを判定する判定処理の一例である。移動先決定部307は、キャリブレーションが可能であると判定した場合は(S501でYes)、処理をS502へ進める。移動先決定部307は、キャリブレーションが可能でないと判定した場合は(S501でNo)、処理をS503へ進める。
S502において、移動先決定部307は、基礎行列を用いてマーカ点群から誤検出を除去する。具体的には、移動先決定部307は、基礎行列を用いて画像のあるマーカ点に対応する他の画像のマーカ点を探索し、対応が存在しない場合そのマーカ点を誤検出として除外する。
あるカメラで撮影された画像上のある点は他のカメラで撮影された画像上ではエピポーラ線と呼ばれる直線として投影される。基礎行列をF、画像のある点をx、エピポーラ線をlとすると、(式2)の関係が成り立つ。

l=Fx …(式2)

移動先決定部307は、まず、あるマーカ点について、他のすべてのカメラの画像上でエピポーラ線を作成する。そして、移動先決定部307は、このエピポーラ線lと距離がしきい値以下のマーカ点が存在しない場合、対応するマーカ点がないものと判定してその点xを除去する。例えば、図6(a)のカメラ1の画像600のマーカCの点によって、図6(b)に示すカメラ2の画像610において、エピポーラ線611が得られたとする。この場合、マーカBとこのエピポーラ線の距離がしきい値以下のため、マーカCはマーカBに対応するとみなされる。
次に、S503及びS504において、移動先決定部307は、マーカ位置記憶部305に記憶されている過去から処理時点までに得られたマーカ点群からマーカの位置の分布を特定し、移動先の候補領域を示すマップを生成する。すなわち、まずS503において、移動先決定部307は、カメラ110により得られた画像を5×5のブロックに分け、ブロック毎に検出されたマーカ点を計数する。なお、移動先決定部307は、画像を複数の領域に分割すればよく、分割後の領域の数及び各領域の形状及びサイズは実施形態に限定されるものではない。移動先決定部307は、これを各カメラについて行う。図7を用いて、ある1台のカメラに対するS503の処理を説明する。まず、図7(a)のように、過去の複数の時点において得られた、マーカを含む画像それぞれを5×5のブロックに分割する。そして、ブロック毎にすべての時点の画像においてマーカが位置するマーカ点数を計測する。これにより、図7(b)に示すような、ブロック毎のマーカ点数が得られる。
次に、S504において、移動先決定部307は、S503において計測されたマーカ点数に応じて、各ブロック(領域)の重要度を決定する。ここで、重要度は、移動先としてのマーカ位置の撮影画像の必要性が高いことを意味する。すなわち、重要度が高い程、マーカの撮影画像を収集すべきであることを意味する。S503において得られたマーカ点数が小さい程マーカ画像の収集が不十分であると考えられる。そこで、移動先決定部307は、マーカ点数が小さい程より大きい重要度を割り当てることとする。本実施形態においては、移動先決定部307は、マーカ点数が0の場合に重要度2を割り当て、マーカ点数が1の場合に重要度1を割り当て、マーカ点数が2の場合に重要度0を割り当てる。これにより、図7(c)に示す候補領域マップが得られる。候補領域マップは、各ブロックに重要度が割り当てられたマップである。S501〜S504をすべてのカメラに対して繰り返すことにより、各カメラに対し、候補領域マップが生成される。
図4に戻り、移動先決定処理(S405)の処理の後、CPU121は、処理をS406へ進める。S406において、経路決定部308は、複数の移動先と各移動先への重要度に基づいて、移動経路を決定する。より具体的には、経路決定部308は、重要度の高いブロックに先に移動するように、ブロック間を結ぶ移動経路を決定する。例えば、カメラ1に対し、図8に示す候補領域マップ800が得られているとする。候補領域マップ800において、ブロック811は、重要度2の領域であり、ブロック812〜813は、重要度1の領域であるとする。さらに、処理時点において、候補領域マップ800のブロック820に対応する位置にマーカ画像が検出されたとする。この場合、ブロック820からブロック811、ブロック814、ブロック15、ブロック813、ブロック812の順に移動するような移動経路が決定される。
図4に戻り、移動経路決定処理(S406)の処理の後、CPU121は、処理をS407へ進める。S407において、通知部309は、移動先に関する情報(移動先情報)を携帯端末装置130の表示部に表示させるべく、携帯端末装置130に出力する。本処理は、移動先情報を出力する出力処理の一例である。ここで、移動先情報は、移動先、すなわち、マーカ画像が必要なマーカ位置を示す情報と、各移動先の重要度と、各移動先を経由する移動経路を示す情報とを含んでいる。
図9は、移動先情報出力処理(S407)における通知部309の詳細な処理を示すフローチャートである。通知部309は、まずS900〜S902の処理を、すべてのカメラに対して繰り返す。本実施形態においては、カメラ110が4台存在するため、S900〜S902の処理は4回繰り返される。
S900において、通知部309は、キャリブレーションが可能か否かを判定する。なお、通知部309は、キャリブレーションが可能か否かについては、S501の処理結果を参照して判定すればよい。また、他の例としては、通知部309は、S501と同じ処理を行い、キャリブレーションが可能か否かを判定してもよい。通知部309は、キャリブレーションが可能な場合には(S900でYes)、処理をS901へ進める。通知部309は、キャリブレーションが不可能な場合には(S900でNo)、処理をS902へ進める。
S901において、通知部309は、候補領域マップ800をカメラ110により得られた画像に重畳して携帯端末装置130に表示すべく携帯端末装置130に出力する。具体的には、通知部309は、候補領域マップ800の重要度が高い程より濃い赤のブロックを画像に重畳して描画する。これにより、マーカ画像の収集が重要な領域程濃い赤色で示される。一方、S902においても、通知部309は、候補領域マップ800をカメラ110により得られた画像に重畳して携帯端末装置130に表示すべく出力するが、S902においてはS901の場合と異なる色で候補領域マップ800を描画する。本実施形態においては、通知部309は、候補領域マップ800の重要度が高い程より濃い青のブロックを画像に重畳して描画する。図10は、候補領域マップ800が重畳された画像を受信した携帯端末装置130のディスプレイ131に表示された移動先候補画面1000の一例を示す図である。移動先候補画面1000には、4台のカメラそれぞれに対する候補領域マップ800が重畳された画像、すなわち4つの画像が同時に表示される。
このように、通知部309は、キャリブレーションが可能な場合と不可能な場合とを識別可能に、候補領域マップ800を出力するよう制御し、ディスプレイ131には各カメラについての移動先候補が表示される。これにより、ユーザはどこに移動すればよいかを知ることができるだけでなく、そのカメラがキャリブレーション可能か否かを同時にかつ容易に把握することができる。
なお、通知部309は、キャリブレーションが可能な場合と不可能な場合とをユーザが識別可能に候補領域マップ800を出力すればよく、そのための具体的な方法は実施形態に限定されるものではない。他の例としては、通知部309は、黄色と緑等他の色で区別してもよい。また、他の例としては、通知部309は、丸印とバツ印のように図形や記号の種類を異ならせてもよい。また、通知部309は、「可」と「不可」のように文字を用いて表してもよい。また、通知部309は、異なる点滅方法で候補領域マップ800を表示してもよい。また、携帯端末装置130における候補領域マップ800の出力は、表示に限定されるものではなく、例えば音声等であってもよい。この場合、通知部309は、キャリブレーションの可否に応じて異なる音声情報を出力すればよい。
すべてのカメラに対するS900からS902の処理が終了すると、通知部309は、処理をS903へ進める。S903において、通知部309は、移動経路を携帯端末装置130のディスプレイ131に表示すべく携帯端末装置130に出力する。なお、このとき、通知部309は、携帯端末装置130が移動経路を音声出力するための音声情報も出力する。例えば、カメラ1に対し図8の候補領域マップ800が生成されたとする。この場合には、通知部309は、この候補領域マップ800からS406において決定された移動経路を示す文字を、画像と候補領域マップ800が表示された画面上にさらに重畳して表示すべく出力する。これにより、携帯端末装置130のディスプレイ131には移動経路がさらに表示される。
移動経路として、例えば、マーカに対し候補領域が左にあればカメラに対して左へ、右にあれば右へ、上にあれば奥へ、下にあれば手前へ移動するように誘導するような文字情報が表示される。図8の例では、「カメラ1に対し左奥に移動」と表示され、続けて、左手前、左奥、右奥という順番で移動するような移動経路が表示される。なお、通知部309は、移動経路と共に、または移動経路に替えて、移動先となるブロックまでの移動量や移動経路を携帯端末装置130に表示すべく携帯端末装置130に出力してもよい。また、移動経路のユーザへの通知方法は、実施形態に限定されるものではなく、色、矢印などの記号・図形、音声、点滅などの動き、振動などであってもよい。また、他の例としては、地図などの平面図に移動経路や移動方向を示してもよい。以上で、移動先情報通知処理が終了する。
図4に戻り、移動先情報通知処理(S407)の後、CPU121は、処理をS408へ進める。S408において、CPU121は、マーカ画像の撮影を継続するか否かを判定する。本実施形態においては、CPU121は、キャリブレーション不可と判定されたカメラが存在する場合に継続すると判定し、すべてのカメラがキャリブレーション可能と判定された場合には継続しないと判定する。CPU121は、継続する場合には(S408でYes)、処理をS401へ進める。CPU121は、継続しない場合には(S408でNo)、処理をS409へ進める。なお、継続か否かの判定は実施形態に限定されない。他の例としては、CPU121は、マーカの画像の撮影が必要なブロックの数が一定値以下になった場合や、マーカの画像の撮影が必要なブロックの分布の片寄が一定値以下になった場合に継続しない、といった条件でもよい。また、これらの条件を組み合わせてもよい。
また、他の例としては、CPU121は、ユーザ入力に応じて、継続するか否かを判定してもよい。また、ユーザが継続か否かを入力するユーザインターフェースを用いてもよい。例えば、CPU121は、GUI上でのユーザによる画面上のボタンの押下やキーボードの操作を受け付けることによって、継続か否かを判定してもよい。自動的に判定することで、ユーザの装置についての知識や熟練度にかかわらず、適切に判定ができる効果が見込める。一方、ユーザが判定できるようにする機構を導入することで、自動判定が難しい場合に適切に判定する効果が見込める。
S409において、キャリブレーション部310は、S401において得られたマーカの位置座標に基づいてカメラのキャリブレーションを実行する。ユーザが移動先情報に応じて移動した場合には、移動後のマーカの位置座標も参照してキャリブレーションを実行することができる。キャリブレーション部310は、Structure from Motionによりカメラキャリブレーションを行う。この方法によって、画像上のマーカ点群からカメラの位置、姿勢を計算することが可能である。Structure from Motionについては、以下の文献を参照することができる。

Pierre Moulon, Pascal Monasse, and Renaud Marlet「Adaptive structure from motion with a contrario model estimation」ACCV2012
次に、S410において、移動先決定部307は、移動先の候補領域を決定する。S410の処理は、S405の処理と同様の処理であり、候補領域マップを生成する。なお、S410の処理においては、Structure from Motionの過程でマーカ点が誤検出か否かの決定を行えるようにし、これをマーカ誤検出に係る判定に用いてもよい。
次に、S411において、キャリブレーション部310は、キャリブレーションに成功したか否かを判定する。キャリブレーション部310は、Structure from Motionですべてのカメラの位置と姿勢が求めることができた場合、キャリブレーションが成功したと判定する。キャリブレーション部310は、1台のカメラでもカメラの位置と姿勢が求まらなかった場合には、キャリブレーションが失敗したと判定する。キャリブレーション部310は、キャリブレーションに成功した場合は(S411でYes)、処理をS412へ進める。キャリブレーション部310は、キャリブレーションに失敗した場合には(S411でNo)、処理をS413へ進める。
S412において、通知部309は、成功時の情報を携帯端末装置130のディスプレイ131に表示すべく、携帯端末装置130に出力する。成功時の情報は、S409において決定した候補領域マップをS901において説明したように赤の濃淡で画像上に描画した情報である。通知部309は、さらに成功時の情報として、カメラの位置や姿勢を地図にプロットして可視化したものや推定誤差を出力してもよい。S413において、通知部309は、失敗時の情報を携帯端末装置130のディスプレイ131に表示すべく、携帯端末装置130に出力する。失敗時の情報は、S409において決定した候補領域マップをS902において説明したように青の濃淡で画像上に描画した情報である。通知部309は、さらに失敗時の情報として、キャリブレーションに失敗したカメラの名称や番号を出力してもよい。携帯端末装置130は、S412及びS413において出力された情報を受信した場合も、移動先候補を色の濃淡で示した図10に示すような移動先候補画面1000をディスプレイ131に表示する。
以上のように、本実施形態においては、画像処理装置120は、移動先や移動経路をユーザに提示することができる。したがって、マーカを所持するユーザは、キャリブレーションに必要なマーカの画像を撮影するためのマーカの移動先を容易に把握することができる。すなわち、画像処理システム100は、適切な位置及び数のマーカを検出することができ、これにより、精度よくカメラの位置及び姿勢のキャリブレーションを行うことができる。マーカを取得するべき場所をユーザに提示することで、適切にマーカの画像を取得することができ、キャリブレーションの成功頻度や精度の向上の効果が見込める。また、ユーザはカメラキャリブレーションに係わる知識や熟練度にかかわらずキャリブレーションを適切に行えるようになる効果が見込める。
本実施形態の第1の変形例について説明する。S403においては、過去のマーカ群の中に類似した位置のマーカ群が存在する場合、S402において検出したマーカ群を破棄した。類似した位置のマーカ群の収集を抑制することによって、特定の画像上の位置または3次元位置にマーカが集中することを抑制することができる。画像上の特定の領域に他の領域よりも極端に多くのマーカが存在した場合、その特定の部分にキャリブレーションが過剰適合し、他の領域での誤差が増加する。そのため、特定の領域にマーカが集まることを抑制することで、キャリブレーション精度の向上が見込める。例えば、マーカを持った人物が立ち止まっている場合などで、キャリブレーション精度の低下を抑制できる。
第2の変形例としては、S411において、キャリブレーション部310は、すべてのカメラの位置と姿勢が求まった場合、キャリブレーションが成功したと判定したが、他の条件を用いてもよい。例えば、一定個数以上や一定割合以上のカメラで位置と姿勢が求まった場合や、位置と姿勢の推定誤差がしきい値以下の場合などの条件を用いてもいい。また、カメラの位置、姿勢の推定結果を可視化したものや推定誤差の数値をユーザに提示する手段を設け、これをもとにユーザがキャリブレーションが成功したか否か選択する手段を設けてもよい。
第3の変形例としては、ディスプレイ131に表示される移動先候補画面1000における表示態様は実施形態に限定されるものではない。他の例としては、携帯端末装置130は、キャリブレーションに失敗したカメラ、キャリブレーションが不可のカメラ、マーカ収集が不十分なカメラ、位置や姿勢の推定誤差が大きいカメラなど、複数のカメラのうち一部のカメラの結果を選択して表示してもよい。また、携帯端末装置130は、キャリブレーションの可不可、マーカ画像の収集の不十分さの度合、マーカの個数、推定誤差などの基準でカメラの結果の順番を並び変えて表示してもよい。このように選択的にユーザに指示情報を通知することで、ユーザがキャリブレーションに問題があるカメラや問題が大きいカメラを特定しやすくなる。
第4の変形例としては、画像処理システム100は、マーカ画像を収集すべき領域を示す情報を出力したが、これに替えて、マーカ画像の収集が完了している領域を示す情報を出力してもよい。収集するべき領域と収集しなくてもよい領域は反転の関係にあるため、実質的に等価である。この場合、図5のS504において、移動先決定部307は、マーカ点数が小さい程より小さい重要度を割り当てればよい。
第5の変形例としては、マーカ点数の集計の処理は実施形態に限定されるものではない。本実施形態においては、5×5の領域ごとにマーカ点数を集計したが、マーカ点を点群としてプロットする方法や点群密度に応じた等高線やヒートマップ等の方法でマーカを収集するべき領域、マーカを収集しなくてもよい領域をユーザに提示してもよい。
第6の変形例としては、本実施例ではマーカを赤い球としたが、他の形状や色の物体でもよい。QRコード(登録商標)のような2次元コードが印刷された面でもいい。また、マーカを保持する物体、人物の顔や頭部、体のパーツなどの位置を認識してマーカとしてもよい。
第7の変形例としては、マーカを移動させるのは人間以外でもよく、例えばマーカを装着した自律走行するロボットや車両、自律飛行するドローン等の無人機に移動先情報を出力し、無人機を誘導してもよい。通知部309は、無線通信、有線通信、音声などで無人機に移動経路または移動方向を通知する。そして、無人機は通知された移動経路または移動方向に移動する。マーカが自動的に移動することで、キャリブレーションの省力化の効果や、作業者の熟練度によらずキャリブレーションが行えるようになる効果が見込める。
第8の変形例としては、図5のS501においてキャリブレーション可能か否かを判定する処理は実施形態に限定されず、他の手法によるカメラの3次元的な位置、姿勢を含む情報を用いてもよい。移動先決定部307は、例えば、基本行列(Essential Matrix)や多焦点テンソル(Multifocal Tensor)、射影行列(Projection Matrix)を用いてもよい。また、移動先決定部307は、Structure from Motionの結果、キャリブレーションと同様の手法によるカメラの位置、姿勢推定の結果などを用いてもよい。また、移動先決定部307は、本実施形態においては、カメラの3次元的な位置、姿勢を含む情報が算出できたか否かによりキャリブレーションが可能か否かを判定した。これに替えて、移動先決定部307は、えて、カメラの3次元的な位置、姿勢を含む情報の推定誤差が大きい場合(例えば、しきい値以上の場合)にキャリブレーション不可と判定してもよい。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100 画像処理システム
110 カメラ
120 画像処理装置
130 携帯端末装置

Claims (9)

  1. 重複する領域を撮像する第1の撮像手段と第2の撮像手段それぞれにより撮像された第1の画像と第2の画像それぞれにおいて、マーカの位置を特定する特定手段と、
    前記マーカの位置に基づいて、前記マーカの複数の移動先と、各移動先の重要度と、を決定する決定手段と、
    前記複数の移動先とそれぞれの重要度とを示す移動先情報を出力する出力手段と、
    前記移動先へ移動後の前記マーカの位置に基づいて、前記第1の撮像手段及び前記第2の撮像手段のうち少なくとも一方の撮像手段の位置のキャリブレーションを行うキャリブレーション手段と
    を有することを特徴とする画像処理装置。
  2. 前記出力手段は、前記移動先情報を前記第1の画像及び前記第2の画像のうち少なくとも一方の画像に重畳して出力することを特徴とする請求項1に記載の画像処理装置。
  3. 前記マーカの位置に基づいて、前記第1の撮像手段と前記第2の撮像手段のうち少なくとも一方の設置位置のキャリブレーションが可能か否かを判定する判定手段をさらに有し、
    前記出力手段は、前記キャリブレーションが可能な場合と不可能な場合とを識別可能に前記移動先情報を出力することを特徴とする請求項1または2に記載の画像処理装置。
  4. 前記移動先情報は、前記移動先を示す情報を含むことを特徴とする請求項1乃至の何れか1項に記載の画像処理装置。
  5. 前記移動先情報は、前記移動先の方向を示す情報を含むことを特徴とする請求項1乃至の何れか1項に記載の画像処理装置。
  6. 前記移動先情報は、前記移動先までの移動量を示す情報を含むことを特徴とする請求項1乃至の何れか1項に記載の画像処理装置。
  7. 前記移動先情報は、前記移動先までの移動経路を示す情報を含むことを特徴とする請求項1乃至の何れか1項に記載の画像処理装置。
  8. 画像処理装置が実行する画像処理方法であって、
    重複する領域を撮像する第1の撮像手段と第2の撮像手段それぞれにより撮像された第1の画像と第2の画像それぞれにおいて、マーカの位置を特定する特定ステップと、
    前記マーカの位置に基づいて、前記マーカの複数の移動先と、各移動先の重要度と、を決定する決定ステップと、
    前記複数の移動先とそれぞれの重要度とを示す移動先情報を出力する出力ステップと、
    前記移動先へ移動後の前記マーカの位置に基づいて、前記第1の撮像手段及び前記第2の撮像手段のうち少なくとも一方の撮像手段の位置のキャリブレーションを行うキャリブレーションステップと
    を含むことを特徴とする画像処理方法。
  9. コンピュータを、
    重複する領域を撮像する第1の撮像手段と第2の撮像手段それぞれにより撮像された第1の画像と第2の画像それぞれにおいて、マーカの位置を特定する特定手段と、
    前記マーカの位置に基づいて、前記マーカの複数の移動先と、各移動先の重要度と、を決定する決定手段と、
    前記複数の移動先とそれぞれの重要度とを示す移動先情報を出力する出力手段と、
    前記移動先へ移動後の前記マーカの位置に基づいて、前記第1の撮像手段及び前記第2の撮像手段のうち少なくとも一方の撮像手段の位置のキャリブレーションを行うキャリブレーション手段として機能させるためのプログラム。
JP2016157932A 2016-08-10 2016-08-10 画像処理装置、画像処理方法及びプログラム Active JP6736414B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016157932A JP6736414B2 (ja) 2016-08-10 2016-08-10 画像処理装置、画像処理方法及びプログラム
US15/670,796 US10515459B2 (en) 2016-08-10 2017-08-07 Image processing apparatus for processing images captured by a plurality of imaging units, image processing method, and storage medium storing program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016157932A JP6736414B2 (ja) 2016-08-10 2016-08-10 画像処理装置、画像処理方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2018026724A JP2018026724A (ja) 2018-02-15
JP2018026724A5 JP2018026724A5 (ja) 2019-09-19
JP6736414B2 true JP6736414B2 (ja) 2020-08-05

Family

ID=61159225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016157932A Active JP6736414B2 (ja) 2016-08-10 2016-08-10 画像処理装置、画像処理方法及びプログラム

Country Status (2)

Country Link
US (1) US10515459B2 (ja)
JP (1) JP6736414B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10447995B1 (en) * 2017-03-16 2019-10-15 Amazon Technologies, Inc. Validation of camera calibration data using augmented reality
US10554950B1 (en) 2017-03-16 2020-02-04 Amazon Technologies, Inc. Collection of camera calibration data using augmented reality
WO2018181248A1 (ja) * 2017-03-31 2018-10-04 パナソニックIpマネジメント株式会社 撮像システムおよび校正方法
EP3606038B1 (en) 2017-03-31 2021-12-08 Panasonic Intellectual Property Management Co., Ltd. Imaging system and correction method
WO2019225681A1 (ja) * 2018-05-23 2019-11-28 パナソニックIpマネジメント株式会社 校正装置および校正方法
US11689707B2 (en) * 2018-09-20 2023-06-27 Shoppertrak Rct Llc Techniques for calibrating a stereoscopic camera in a device
US11341683B2 (en) * 2020-09-22 2022-05-24 AiFi Corp Smart self calibrating camera system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8965898B2 (en) * 1998-11-20 2015-02-24 Intheplay, Inc. Optimizations for live event, real-time, 3D object tracking
JP3929384B2 (ja) * 2002-10-23 2007-06-13 オリンパス株式会社 ファインダ、撮影装置、マーカ提示部材、及び、キャリブレーションのための撮影方法
US7860162B2 (en) * 2005-09-29 2010-12-28 Panasonic Corporation Object tracking method and object tracking apparatus
JP4961850B2 (ja) * 2006-06-15 2012-06-27 ソニー株式会社 動き検出方法、動き検出方法のプログラム、動き検出方法のプログラムを記録した記録媒体及び動き検出装置
JP4757142B2 (ja) * 2006-08-10 2011-08-24 キヤノン株式会社 撮影環境校正方法及び情報処理装置
JP2009100342A (ja) * 2007-10-18 2009-05-07 Sanyo Electric Co Ltd カメラ校正装置及び方法、並びに、車両
JP5454573B2 (ja) 2009-04-28 2014-03-26 日本電気株式会社 物体位置推定装置、物体位置推定方法及びプログラム
US9019349B2 (en) * 2009-07-31 2015-04-28 Naturalpoint, Inc. Automated collective camera calibration for motion capture
WO2013005815A1 (ja) * 2011-07-01 2013-01-10 日本電気株式会社 物体検出装置、物体検出方法及びプログラム
US8934675B2 (en) * 2012-06-25 2015-01-13 Aquifi, Inc. Systems and methods for tracking human hands by performing parts based template matching using images from multiple viewpoints
US9230326B1 (en) * 2012-12-31 2016-01-05 Cognex Corporation System, method and calibration plate employing embedded 2D data codes as self-positioning fiducials
JP6034775B2 (ja) * 2013-11-29 2016-11-30 クラリオン株式会社 カメラ校正装置
US10455216B2 (en) * 2015-08-19 2019-10-22 Faro Technologies, Inc. Three-dimensional imager

Also Published As

Publication number Publication date
US10515459B2 (en) 2019-12-24
US20180047184A1 (en) 2018-02-15
JP2018026724A (ja) 2018-02-15

Similar Documents

Publication Publication Date Title
JP6736414B2 (ja) 画像処理装置、画像処理方法及びプログラム
US9895131B2 (en) Method and system of scanner automation for X-ray tube with 3D camera
JP6700752B2 (ja) 位置検出装置、位置検出方法及びプログラム
JP6635690B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP4757142B2 (ja) 撮影環境校正方法及び情報処理装置
JP5839929B2 (ja) 情報処理装置、情報処理システム、情報処理方法及びプログラム
JP3735344B2 (ja) キャリブレーション装置、キャリブレーション方法、及びキャリブレーション用プログラム
JP2012042396A (ja) 位置姿勢計測装置、位置姿勢計測方法、およびプログラム
WO2006019970A2 (en) Method and apparatus for machine-vision
JP5156601B2 (ja) 形状測定装置およびプログラム
JP2010256253A (ja) 三次元計測用画像撮影装置及びその方法
CN109171817B (zh) 三维乳腺超声扫描方法及超声扫描系统
JP2018128897A (ja) 対象物の姿勢等を検出する検出方法、検出プログラム
US10783376B2 (en) Information processing apparatus
JP7207561B2 (ja) 大きさ推定装置、大きさ推定方法および大きさ推定プログラム
JP2010256252A (ja) 三次元計測用画像撮影装置及びその方法
KR20210106036A (ko) 초분광영상을 이용한 하천 지형측량 방법
US20210042576A1 (en) Image processing system
JP2019211981A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP2019165658A (ja) 植物生育指標測定装置、方法およびプログラム
JP6659095B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP2009216480A (ja) 三次元位置姿勢計測方法および装置
CN115862124A (zh) 视线估计方法、装置、可读存储介质及电子设备
JP6606340B2 (ja) 画像検出装置、画像検出方法およびプログラム
KR101669850B1 (ko) 센서 켈리브레이션 방법 및 이를 위한 전자 장치와 마커 보드 장치

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190806

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190806

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200605

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: 20200616

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200715

R151 Written notification of patent or utility model registration

Ref document number: 6736414

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151