JP2004048555A - Calculation instrument of position and orientation of camera - Google Patents

Calculation instrument of position and orientation of camera Download PDF

Info

Publication number
JP2004048555A
JP2004048555A JP2002205543A JP2002205543A JP2004048555A JP 2004048555 A JP2004048555 A JP 2004048555A JP 2002205543 A JP2002205543 A JP 2002205543A JP 2002205543 A JP2002205543 A JP 2002205543A JP 2004048555 A JP2004048555 A JP 2004048555A
Authority
JP
Japan
Prior art keywords
camera
internal variable
video
sketch
designated
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
Application number
JP2002205543A
Other languages
Japanese (ja)
Inventor
Shingo Uchihashi
内橋 真吾
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2002205543A priority Critical patent/JP2004048555A/en
Publication of JP2004048555A publication Critical patent/JP2004048555A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a calculation instrument of a position and an orientation of a camera which can calculate the position and the orientation of the camera by simple work without requiring a special installation target. <P>SOLUTION: A sketch indicating a room, etc. where a video camera by which operations of pan/tilt angles, etc. are enabled is installed and a video image of the camera are displayed and an optional place where it is assumed that the camera is probably installed from the video image is set as an initial value indicating a camera position. A plurality of optional points on the front surface of the camera are specified by using the sketch and a pan angle and a tilt angle of the camera in the case of photographing the points are calculated. Minute fluctuation quantity is calculated from the pan angle and the tilt angle of the camera for photographing the specified optional points, the initial value is corrected and an exact position of the camera is calculated. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、カメラ位置および方向算出装置に関し、特に、見取り図を用いて操作を行うカメラの位置及び方向を求めるカメラ位置および方向算出装置に関する。
【0002】
【従来の技術】
パン・チルト角度及びズーム等の制御を外部から行うことが可能なビデオカメラを用いた会議や講演会等の撮影が広く行われている。
【0003】
このような撮影を行う際のカメラの操作方法としては、例えば、カメラで撮影された画像が表示されている画面を見ながら、ユーザが操作ボタンを用いてカメラのパン・チルト角度、及びズーム等を制御する操作方法が挙げられる。
【0004】
また、遠隔から簡易にカメラを操作する方法として、例えば、特開2000−83245では、カメラの設置されている場所の見取り図を用いた操作方法が提案されている。
【0005】
この見取り図を用いてカメラを制御する操作方法を利用するには、事前にカメラの位置と方向を測定し、パラメータとして保持するといった作業を行う必要があり、例えば、規定位置に特殊な測定目標を設置し、この測定目標を撮像することによって、カメラの位置や方向を求めていた。
【0006】
【発明が解決しようとする課題】
しかし、この方法では、カメラの位置や方向を求めるための特殊な測定目標を設置する必要があり、また、このような測定目標の設置が困難な場合は、パラメータの取得及び入力を手作業にたよるしかなく、見取り図を使ったカメラ操作法を利用するには、多大な労力と時間をかけてカメラの位置と方向を求める必要があった。
【0007】
そこで本発明では、特殊な設置目標を必要とすることなく、カメラの位置と方向を簡易な作業で算出することが可能なカメラ位置および方向算出装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明のカメラ位置および方向算出装置では、カメラが設置された設置場所の見取り図を記憶する記憶手段と、見取り図を表示する手段と、見取り図を用いてカメラの位置を指定するカメラ位置指定手段と、見取り図を用いて対象物を指定する対象物指定手段と、対象物指定手段で指定された対象物に対するカメラの制御角度を取得するカメラ制御角度取得手段と、カメラ位置指定手段で指定されたカメラの位置と対象物指定手段で指定された対象物の位置とカメラ制御角度取得手段で取得したカメラの制御角度とを用いてカメラの位置及び方向を算出する計算手段とを具備する。
【0009】
また、対象物指定手段で指定された対象物の高さを指定する高さ指定手段をさらに具備し、計算手段は、カメラ位置指定手段で指定されたカメラの位置とカメラ制御角度取得手段で取得したカメラの制御角度と対象物指定手段で指定された対象物の位置及び高さ指定手段で入力された対象物の高さとを用いてカメラの位置及び方向を計算する。
【0010】
ここで、対象物指定手段は、少なくとも3つの対象物を指定し、計算手段は、対象物指定手段で指定された少なくとも3つの対象物の指定に基づきカメラの位置及び方向を計算する。
【0011】
【発明の実施の形態】
以下、本発明に係わるカメラ位置および方向算出装置の実施の形態を添付図面を参照して詳細に説明する。
【0012】
図1は、本発明に係わるカメラ位置および方向算出装置の全体構成の一例を示す概略ブロック図である。
【0013】
このカメラ位置および方向算出装置は、ビデオカメラやデジタルカメラなどといったカメラの位置を見取り図上の任意の位置に仮定すると共に、複数の任意の点とその点に対する実際のカメラの傾きである制御角度を求め、これらの要素から実際のカメラの位置及び方向(カメラ情報)を求めるように構成されるもので、図1に示すように、カメラ位置および方向算出装置100には、カメラ位置および方向算出装置全体の制御処理を行うCPU110、例えば、RAMなどの記憶装置からなる一次記憶装置120、例えば、ハードディスクなどの記憶装置からなる二次記憶装置130、通信インターフェース140、ビデオキャプチャ・ユニット150、入出力インターフェース160、ビットマップ・ディスプレイ170、操作部180が設けられている。
【0014】
ここで操作部180としては、例えばマウスやタッチ・センサ・パネル、キーボードなどを適宜利用する事ができる。
【0015】
また、二次記憶装置130は、ビデオカメラ200を設置する部屋の見取り図、及び部屋基本情報を有している。
【0016】
そして、ビデオカメラ200で撮影された画像は、複数のビデオ信号を1つの画面に統合可能な多入力統合画面作成機300を介して、カメラ位置および方向算出装置100に送信される。
【0017】
ここで、ビデオカメラ200は、パン、チルト、ズームなどの制御を外部信号に従って行うことが可能であり、カメラ位置および方向算出装置100から送信される制御信号に従って操作されるように構成されている。
【0018】
なお、制御信号線としては、例えばRS−232Cなどを用いることが可能であり、また、本実施の形態では、4つのビデオ信号入力を1つの画面に統合して出力する4入力統合画面作成機を多入力統合画面作成機300として用いているが、入力数は4つに限られるものではない。
【0019】
次に、図2を用いて、本実施の形態におけるカメラ位置および方向算出装置の動作について説明する。
【0020】
図2において、まず、カメラ台数取得コマンドをCPUで作成し、通信インターフェースを介して各ビデオカメラに送信する。そして、カメラ台数取得コマンドを受信したビデオカメラからの応答を受信することによって、ビデオカメラの台数Nを取得し、一次記憶装置に保持する(ステップ101)。
【0021】
また、各カメラを識別するため、例えば、1〜Nの番号を各ビデオカメラに振り分け、一次記憶装置に保持すると共に、位置及び方向の検出を行なう番号iのカメラをユーザに通知する(ステップ102)。
【0022】
ここで、ユーザへの通知方法としては、例えば、図3に示すように、ビデオカメラの映像を表示する映像表示ウィンドウ400をディスプレイに表示し、カメラ番号iに対応するビデオカメラで撮影されている映像401を枠402で囲う処理を行う。
【0023】
なお、カメラ番号iに対応するビデオカメラに対し、上下または左右にビデオカメラの方向を往復運動させる制御信号や、任意の動きをする制御信号を送信し、映像表示ウィンドウ400上に表示される同ビデオカメラからの映像401が揺れることで、通知するように構成することもできる。
【0024】
そして、図4に一例を示すように、カメラ位置取得画面ウィンドウ410をディスプレイに表示する(ステップ103)。
【0025】
ここで、カメラ位置取得画面ウィンドウ410には、ビデオカメラの設置された場所の見取り図411、ユーザに対するメッセージを表示するメッセージ表示部412、確認ボタン413が設けられ、また、見取り図411は、二次記憶装置に記憶されている部屋見取り図より適当なものを選択して表示する。
【0026】
そして、メッセージ表示部412にメッセージを表示して、ユーザにカメラ番号iのカメラ位置の指定を要求し、ユーザから指定されたビデオカメラの位置を記憶する。
【0027】
ここで、ビデオカメラの位置指定は、例えば、操作部としてマウスを使用した場合、見取り図411上のクリック動作をユーザからの位置指定とし、クリック動作を行った見取り図411上の指定位置(Px, Py)を検出して記憶する。
【0028】
この際、表示されているビデオカメラの映像から、該カメラが設置されているであろうと想定される任意の位置を指定するように求めることが望ましく、また、指定された位置(Px, Py)を見取り図上に赤丸印等で表示し、ユーザが容易に確認することができるようにすることが好ましい。
【0029】
なお、ユーザは、見取り図411上の別の位置を再び指定することで、指定位置(Px, Py)の修正を行うことが出来る。
【0030】
そして、ユーザが確認ボタン413を押し、ビデオカメラの位置指定が確定すると、二次記憶装置に保持されている部屋基本情報に基づき指定位置(Px, Py)を画面上の座標系から実際の部屋空間中の座標系に変換して部屋空間中の点(P’x, P’y)を求め、内部変数Ox[i]にP’xを、内部変数Oy[i]にP’yを記録し、それぞれ一次記憶装置に保持する(ステップ104)。
【0031】
ここで、Ox[i]は、カメラ番号を示す内部変数iを用いて内部変数配列Oxのi番目の要素であり、Oy[i]も同様である。
【0032】
そして、図5に一例を示すカメラ方向指定画面ウィンドウ420を、カメラ位置取得画面ウィンドウに換えてディスプレイに表示する(ステップ105)。
【0033】
ここで、カメラ方向指定画面ウィンドウ420には、ビデオカメラの設置された場所の見取り図421、ユーザに対するメッセージを表示するメッセージ表示部422、確認ボタン423、カメラ制御部424、高さ指定部425が設けられ、また、見取り図421は、二次記憶装置に記憶されている見取り図より適当なものを選択して表示する。
【0034】
なお、カメラ制御部424は、例えば図5に示すように、方向指示ボタンで構成することが可能で、また、クリッカブル・マップやスライダーを用いて構成しても良い。この際、直接ビデオカメラの方向を指定することが可能である。
【0035】
そして、メッセージ表示部422にメッセージを表示してユーザに対象物の指定を要求し、ユーザは、操作部を用いてカメラ制御部424を操作してカメラ番号iのビデオカメラの方向を変更し、見取り図421上で、同カメラの正面側の任意の対象物を指定する。
【0036】
この際、ユーザに対して、高さが既知の対象物を指定するように要求する。高さが既知の対象物としては、例えば、高さが0cmであることが明らかな床上の点等を挙げることができ、また、高さが明らかな器具を対象物として指定しても良く、この場合、対象物の高さは高さ指定部425を用いてユーザが指定する。
【0037】
ここで、高さ指定部425としては、例えば、自由入力が可能なテキストボックスや、予め登録された複数の高さ情報から一つの高さを指定するセレクト・メニューやラジオ・ボタン群、予め登録された一つの高さ情報の使用・不使用を選択するチェックボックスなど、必要に応じて適宜選択することができる。
【0038】
また、対象物の指定操作は、例えば、操作部にマウスを使用した場合、見取り図421上のクリック動作をユーザからの位置指定とし、クリック動作を行った見取り図421上の位置(Dx, Dy)を対象物の位置として検出、記憶する。
【0039】
この際、記憶された位置(Dx, Dy)を見取り図上に緑丸印等、ビデオカメラの指定位置を示すシンボルとは異なる形や色等を用いて見取り図上に表示し、ユーザが容易に確認することができるようにすることが好ましく、また、ユーザは、見取り図411上の別の位置を再び指定することで、記憶位置(Dx, Dy)の修正を行うことが出来る。
【0040】
ここで、ユーザが確認ボタン423を押し、対象物の位置指定が確定すると、二次記憶装置に保持されている部屋基本情報に基づき(Dx, Dy)を画面上の座標系から実際の部屋空間中の座標系に変換して部屋空間中の点(D’x, D’y)を求め、内部変数ODx[i][j]にD’xを、内部変数ODy[i][j]にD’yを、ODz[i][j]に高さ指定部425で指定された値を記録し、それぞれ一次記憶装置に保持する。
【0041】
なお、ODx[i][j]は、カメラ番号を示す内部変数iおよび試行回数を示す内部変数jにより示される2次元配列構造を持つ内部変数配列ODxの行方向にi番目で列方向にj番目の要素であり、ODy[i][j]およびODz[i][j]も同様である。
【0042】
そして、CPUでカメラ方向取得コマンドを生成し、通信インターフェースを介してビデオカメラに送信し、対象物に対するカメラのパン・チルト角度(制御角度)を示すパン角度応答PAとチルト角度応答TAを通信インターフェースを介してビデオカメラから受信し、PAを内部変数PA[i][j]に、TAを内部変数TA[i][j]に記録し、それぞれ一次記憶装置に保持する(ステップ106)。
【0043】
ここで、試行回数が規定回数を終了したかの判断を行い(ステップ107)、試行回数を示す内部変数jの値が予め規定され規定試行回数値kを下回っている場合(ステップ107でNO)は、内部変数jに記録されている値に1を加え、新たな内部変数jとして一次記憶装置に保持し、再び対象物の指定を要求する(ステップ105)。
【0044】
なお、規定試行回数値kは任意でかまわないが、3以上であることが望ましい。
【0045】
また、内部変数jが示す値が規定試行回数値kと同値である場合(ステップ107でYES)は、一次記憶装置に保持されている内部変数iの示す値が、一次記憶装置に保持されているビデオカメラ台数を示す内部変数Nの値より上回っているかどうかの判定を行う(ステップ108)。
【0046】
そして、ビデオカメラ台数を示す内部変数Nの値と内部変数iの示す値とが同値または内部変数iの示す値がビデオカメラ台数を示す内部変数Nの値を下回っている場合(ステップ108でNO)は、カメラ番号を示す内部変数iに記録されている値に1を加え、新たな内部変数iとして一次記憶装置に保持し、新たな内部変数iで示されるカメラ番号iのビデオカメラをユーザに通知する(ステップ102)。
【0047】
また、内部変数iが示す値がビデオカメラ台数を示す内部変数Nと同値あるいは上回っている場合は、一次記憶装置に保持された、内部変数Nと、内部変数配列Oxと、内部変数配列Oyと、内部変数配列ODxと、内部変数配列ODyと、内部変数配列ODzと、内部変数配列PAと、内部変数配列TAとに記録された値から、ビデオカメラの位置及び方向の推定計算を行う(ステップ111)。
【0048】
ここで、ビデオカメラの位置及び方向を算出する推定計算は一般的に知られている幾何学の手法を用いて行うことも可能で、以下、図6を用いて、推定計算方法の一例を詳細に説明する。
【0049】
まずカメラ番号を示す内部変数iに値1を記録して初期化を行う(ステップ201)。
【0050】
そして、内部変数配列ODx、ODy、ODz、PA、TAから、3次元空間中の点(ODx[i][j], ODy[i][j], ODz[i][j])を通り傾き(cos(PA[i][j])cos(TA[i][j]), sin(PA[i][j])cos(TA[i][j]), sin(TA[i][j]))を通るk本の直線l1,…,lkを求める。
【0051】
ここでjは1からkまでの整数値を表す。さらにk本の直線l1,…,lkからの距離の総和が最も小さくなる3次元空間中の点M(Mx,My,Mz)を算出する。
【0052】
そして、内部変数Xに内部変数Ox[i]の値を、内部変数Yに内部変数Oy[i]の値、内部変数Zに点MのZ座標Mzの値を代入し、(X,Y,Z)をカメラ位置の初期値とする(ステップ202)。
【0053】
また、カメラ番号を示す内部変数iと、内部変数配列ODx[i]、ODy[i]、ODz[i]のm番目の要素とn番目の要素を用いて、3次元空間中の2点Pm(ODx[i][m], ODy[i][m], ODz[i][m])、Pn(OD[i][n], ODy[i][n], ODz[i][n])を定義する。
【0054】
ここで1からkまでの整数値から任意の2つmとnを選び、対応する3次元空間中の点PmおよびPnを定義し、カメラ位置(X,Y,Z)を頂点としてPmとPnが成す角度θmnの余弦cosθmnを算出する。
【0055】
また、内部変数配列PA[i]、TA[i]のm番目の要素から定められる方向ベクトルQm(cos(PA[i][m])cos(TA[i][m]), sin(PA[i][m])cos(TA[i][m]),sin(TA[i][m]))と、同様にn番目の要素から定まる方向ベクトルQn(cos(PA[i][n])cos(TA[i][n]), sin(PA[i][n])cos(TA[i][n]), sin(TA[i][n]))とが成す角度θ’mnの余弦cosθ’mnを算出する。
【0056】
そして、全てのmとnの組合わせについて、cosθmnとcosθ’mnとの差の自乗和をS(X,Y,Z)する。
【0057】
また、カメラ位置(X,Y,Z)からX軸、Y軸、および/またはZ軸方向に定数値±aまたは0離れた近傍点および当該位置についてS(X+dX,Y+dY,Z+dZ)を算出し、Sが最小の値となる微小変動量(dX,dY,dZ)を求める(ステップ203)。
【0058】
ここで、dX、dY、dZはそれぞれX軸方向、Y軸方向、Z軸方向の変動量を表し、値として+aまたは0または−aをとる。定数値aの値は、例えば1とすればよい。
【0059】
そして、カメラ位置の更新を行うかを判断し(ステップ204)、微笑変動量(dX,dY,dZ)が(0, 0, 0)でない場合(ステップ204でNO)、カメラ位置(X,Y,Z)に微小変動量(dX,dY,dZ)を加えてカメラ位置を更新し、再び、微少変動量の算出を行う(ステップ203)。
【0060】
また、(dX,dY,dZ)が(0, 0, 0)の場合(ステップ205でYES)は、カメラ位置(X,Y,Z)と、k個の3次元空間中の点Pm (m=1,…,k)とからk本の方向ベクトルVm (m=1,…,k)を決定する。
【0061】
なお、定数値の値aを小さくし、再び微少変動量を求め、より高い精度でカメラ位置(X,Y,Z)を求めてもよい。この時、定数値aを例えば1から0.1、0.01と順に小さくするとよい。
【0062】
そして、mの各値についてVmとQmとのパン方向およびチルト方向における角度の差分を求め、パン角度方向の差分の平均値dθをカメラ番号iで示されるビデオカメラのパン方向初期値SP[i]とし、チルト角度方向の差分の平均値dφをカメラ番号iで示されるビデオカメラのチルト方向初期値ST[i]とする。
【0063】
ここで、カメラ位置(X,Y,Z)をそれぞれ内部変数X[i]、Y[i]、Z[i]に記録し、一次記憶装置で保持する。また、SP[i]およびST[i]の値も同様に一次記憶装置に保持する(ステップ205)。
【0064】
また、全カメラの測定が終了したかの判断を行い(ステップ206)、内部変数iに記録されている値がカメラ台数を示す内部変数Nに記録されている値を超えない場合(ステップ206でNO)は、内部変数iに記録されている値に1を加えて新たな内部変数iとして一次記憶装置に保持し、新たな内部変数iで示されるカメラ番号iのビデオカメラの微小変動量(dX,dY,dZ)を求める(ステップ203)。
【0065】
また、内部変数iに記録されている値がカメラ台数を示す内部変数Nに記録されている値と同一である場合(ステップ206でYES)は、ビデオカメラの位置及び方向の推定計算を終了する。
【0066】
そして、推定計算によって求められた、各ビデオカメラの位置およびパン角度方向とチルト角度方向の初期方向を示すパラメータをXML形式等を用いて一次記憶装置に記録する。なお、この結果を二次記憶装置に転送して記録してもよい。
【0067】
本実施の形態では、ビデオカメラの映像と見取り図から、カメラの位置を仮定する初期値を容易に指定することができ、また、ビデオカメラの映像を確認しながらカメラのパン角度及びチルト角度操作することができるため、微少変動量を求めるための対象物を見取り図上で容易に指定することができる。
【0068】
そして、簡単な操作履歴と見取り図と実際の場所との対応関係とに基づき、カメラの位置および方向を正確に算出することができる。
【0069】
なお、カメラ位置及び方向算出装置を、カメラの画像を閲覧するクライアント側の端末であるクライアント装置、及びカメラの制御や撮像画像の配信等を行うサーバ装置からなるクライアントサーバ構成とすることもできる。
【0070】
この際、サーバ装置は、クライアント装置に部屋情報や見取り図などの情報を提供し、クライアント装置は、この情報に基づいて、カメラの台数を示す内部変数N、指定位置の実際の部屋空間中の座標系を示す内部変数配列Ox、Oy、対象物の実際の部屋空間中の座標系を示す内部変数配列ODx、ODyと、対象物の実際の部屋空間中の高さを示す内部変数配列ODz、パン角度応答を示す内部変数配列PA、チルト角度応答を示す内部変数配列TAを算出し、算出した情報をサーバ装置に送信し、この算出された情報に基づいて、サーバ装置でカメラの位置及び方向の推定計算(ステップ111)を行う。
【0071】
【発明の効果】
このように本発明では、特殊な測定目標等を用いることなく、容易にビデオカメラの位置および初期方向を示すパラメータを得ることができる。
【図面の簡単な説明】
【図1】本発明に係るカメラ位置および方向算出装置の全体構成の一例を示す概略ブロック図
【図2】本実施の形態におけるカメラ位置および方向算出装置の動作を示すフローチャート
【図3】映像表示ウィンドウの一例を示す概観図
【図4】カメラ位置取得画面ウィンドウの一例を示す概観図
【図5】カメラ方向指定画面ウィンドウの一例を示す概観図
【図6】本実施の形態における推定計算の流れを示すフローチャート
【符号の説明】
100…カメラ位置および方向算出装置
110…一次記憶装置
120…通信インターフェース
130…二次記憶装置
140…通信インターフェース
150…ビデオキャプチャユニット
160…入出力インターフェース
170…ディスプレイ
180…操作部
200…ビデオカメラ
300…多入力統合画面作成機
400…映像表示ウィンドウ
401…映像
402…枠
410…カメラ位置取得画面ウィンドウ
412…メッセージ表示部
413…確認ボタン
420…カメラ方向指定画面ウィンドウ
422…メッセージ表示部
423…確認ボタン
424…カメラ制御部
425…指定部
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a camera position and direction calculation device, and more particularly to a camera position and direction calculation device that obtains a position and a direction of a camera operated using a sketch.
[0002]
[Prior art]
2. Description of the Related Art Photographing of conferences and lectures using a video camera capable of controlling the pan / tilt angle, zoom, and the like from the outside is widely performed.
[0003]
As a method of operating the camera when performing such shooting, for example, the user can use the operation buttons while viewing the screen on which the image shot by the camera is displayed, and use the operation buttons to adjust the pan / tilt angle and zoom of the camera. Operation method for controlling the
[0004]
As a method for easily operating a camera remotely, for example, Japanese Patent Application Laid-Open No. 2000-83245 proposes an operation method using a sketch of a place where a camera is installed.
[0005]
In order to use the operation method of controlling the camera using this sketch, it is necessary to measure the position and direction of the camera in advance and hold it as a parameter, for example, to set a special measurement target at a specified position The position and direction of the camera are determined by installing the camera and imaging the measurement target.
[0006]
[Problems to be solved by the invention]
However, in this method, it is necessary to set a special measurement target for obtaining the position and direction of the camera, and when it is difficult to set such a measurement target, it is necessary to manually acquire and input parameters. To use the sketch-based camera operation method, it was necessary to find the position and orientation of the camera with great effort and time.
[0007]
Therefore, an object of the present invention is to provide a camera position and direction calculating device capable of calculating the position and direction of a camera by a simple operation without requiring a special installation target.
[0008]
[Means for Solving the Problems]
In the camera position and direction calculation device of the present invention, storage means for storing a sketch of the installation location where the camera is installed, means for displaying the sketch, camera position designation means for designating the position of the camera using the sketch, An object designating means for designating the object using the sketch, a camera control angle acquiring means for acquiring a control angle of the camera with respect to the object designated by the object designating means, and a camera designated by the camera position designating means. Calculating means for calculating the position and direction of the camera using the position, the position of the object designated by the object designating means, and the camera control angle acquired by the camera control angle acquiring means;
[0009]
Further, the apparatus further comprises height specifying means for specifying the height of the object specified by the object specifying means, wherein the calculating means obtains the position of the camera specified by the camera position specifying means and the camera control angle obtaining means. The position and direction of the camera are calculated using the obtained camera control angle and the position of the object specified by the object specifying means and the height of the object input by the height specifying means.
[0010]
Here, the object specifying means specifies at least three objects, and the calculating means calculates the position and direction of the camera based on the specification of at least three objects specified by the object specifying means.
[0011]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of a camera position and direction calculation device according to the present invention will be described in detail with reference to the accompanying drawings.
[0012]
FIG. 1 is a schematic block diagram showing an example of the overall configuration of a camera position and direction calculation device according to the present invention.
[0013]
This camera position and direction calculating device presumes the position of a camera such as a video camera or a digital camera at an arbitrary position on a sketch, and calculates a plurality of arbitrary points and a control angle which is an actual camera inclination with respect to the points. The camera position and direction calculation device 100 is configured to obtain the actual camera position and direction (camera information) from these elements. As shown in FIG. CPU 110 that performs overall control processing, for example, a primary storage device 120 that is a storage device such as a RAM, for example, a secondary storage device 130 that is a storage device such as a hard disk, a communication interface 140, a video capture unit 150, an input / output interface 160, bitmap display 170, operation unit 180 It is provided.
[0014]
Here, as the operation unit 180, for example, a mouse, a touch sensor panel, a keyboard, or the like can be appropriately used.
[0015]
In addition, the secondary storage device 130 has a floor plan of a room where the video camera 200 is installed, and room basic information.
[0016]
The image captured by the video camera 200 is transmitted to the camera position and direction calculation device 100 via the multi-input integrated screen creator 300 capable of integrating a plurality of video signals into one screen.
[0017]
Here, the video camera 200 can perform controls such as pan, tilt, and zoom in accordance with an external signal, and is configured to be operated in accordance with a control signal transmitted from the camera position and direction calculation device 100. .
[0018]
As the control signal line, for example, RS-232C or the like can be used. In the present embodiment, a four-input integrated screen creator that integrates and outputs four video signal inputs into one screen is provided. Is used as the multi-input integrated screen creator 300, but the number of inputs is not limited to four.
[0019]
Next, the operation of the camera position and direction calculation device according to the present embodiment will be described with reference to FIG.
[0020]
In FIG. 2, first, a camera number acquisition command is created by the CPU, and transmitted to each video camera via the communication interface. Then, by receiving a response from the video camera that has received the camera number acquisition command, the number N of video cameras is acquired and held in the primary storage device (step 101).
[0021]
Further, in order to identify each camera, for example, numbers 1 to N are allocated to the respective video cameras, and the video cameras are stored in the primary storage device and the user is notified of the camera having the number i for which the position and the direction are to be detected (step 102). ).
[0022]
Here, as a notification method to the user, for example, as shown in FIG. 3, a video display window 400 for displaying the video of the video camera is displayed on the display, and the video is captured by the video camera corresponding to the camera number i. A process of surrounding the video 401 with a frame 402 is performed.
[0023]
A control signal for causing the video camera corresponding to the camera number i to reciprocate up and down or left and right in the direction of the video camera and a control signal for performing any movement are transmitted to the video camera displayed on the video display window 400. It is also possible to configure so as to notify when the image 401 from the video camera shakes.
[0024]
Then, as shown in an example in FIG. 4, a camera position acquisition screen window 410 is displayed on the display (step 103).
[0025]
Here, the camera position acquisition screen window 410 is provided with a sketch 411 of a place where the video camera is installed, a message display unit 412 for displaying a message to the user, and a confirmation button 413. The sketch 411 is a secondary storage. An appropriate one is selected and displayed from the room plan stored in the device.
[0026]
Then, a message is displayed on the message display unit 412, requesting the user to specify the camera position of the camera number i, and storing the position of the video camera specified by the user.
[0027]
Here, for example, when a mouse is used as the operation unit, the position of the video camera is designated by a click operation on the floor plan 411 by the user, and the designated position (Px, Py) on the floor plan 411 where the click operation is performed is performed. ) Is detected and stored.
[0028]
At this time, it is desirable to request an arbitrary position where the camera is assumed to be installed from the displayed video image of the video camera, and to specify the specified position (Px, Py). It is preferable that the outline is displayed as a red circle on the sketch so that the user can easily confirm it.
[0029]
The user can correct the specified position (Px, Py) by specifying another position on the floor plan 411 again.
[0030]
Then, when the user presses the confirmation button 413 and the position designation of the video camera is determined, the designated position (Px, Py) is changed from the coordinate system on the screen to the actual room based on the room basic information held in the secondary storage device. Convert to a coordinate system in space to find a point (P'x, P'y) in the room space, record P'x in the internal variable Ox [i] and record P'y in the internal variable Oy [i] Then, they are stored in the primary storage device (step 104).
[0031]
Here, Ox [i] is the i-th element of the internal variable array Ox using the internal variable i indicating the camera number, and the same applies to Oy [i].
[0032]
Then, the camera direction designation screen window 420 shown in FIG. 5 is displayed on the display instead of the camera position acquisition screen window (step 105).
[0033]
Here, the camera direction designation screen window 420 is provided with a sketch 421 of a place where the video camera is installed, a message display unit 422 for displaying a message to the user, a confirmation button 423, a camera control unit 424, and a height designation unit 425. The sketch 421 selects and displays an appropriate sketch from the sketches stored in the secondary storage device.
[0034]
Note that the camera control unit 424 can be configured with a direction instruction button, for example, as shown in FIG. 5, or may be configured with a clickable map or a slider. At this time, it is possible to directly specify the direction of the video camera.
[0035]
Then, a message is displayed on the message display unit 422 to request the user to specify the object, and the user operates the camera control unit 424 using the operation unit to change the direction of the video camera with the camera number i. An arbitrary object on the front side of the camera is designated on the sketch 421.
[0036]
At this time, the user is requested to specify an object whose height is known. Examples of the object whose height is known include, for example, a point on the floor where the height is clearly 0 cm, and an appliance whose height is apparent may be specified as the object, In this case, the height of the object is specified by the user using the height specifying unit 425.
[0037]
Here, as the height specifying unit 425, for example, a text box that can be freely input, a select menu or a radio button group that specifies one height from a plurality of pieces of pre-registered height information, a pre-registered A check box for selecting use / non-use of one piece of height information may be appropriately selected as needed.
[0038]
For example, when a mouse is used for the operation unit, the user specifies the click operation on the sketch 421 as the position designation from the user, and specifies the position (Dx, Dy) on the sketch 421 where the click operation was performed. It is detected and stored as the position of the object.
[0039]
At this time, the stored position (Dx, Dy) is displayed on the sketch using a shape or color different from the symbol indicating the designated position of the video camera, such as a green circle, on the sketch, so that the user can easily check it. Preferably, the user can correct the storage location (Dx, Dy) by specifying another location on the floor plan 411 again.
[0040]
Here, when the user presses the confirmation button 423 and the position designation of the object is determined, (Dx, Dy) is converted from the coordinate system on the screen to the actual room space based on the room basic information held in the secondary storage device. The point (D'x, D'y) in the room space is obtained by converting the coordinate system into a medium coordinate system, D'x is assigned to the internal variable ODx [i] [j], and D'x is assigned to the internal variable ODy [i] [j]. The value designated by the height designation unit 425 is recorded in ODz [i] [j], and D′ y is stored in the primary storage device.
[0041]
Note that ODx [i] [j] is the ith in the row direction and j in the column direction of the internal variable array ODx having a two-dimensional array structure indicated by the internal variable i indicating the camera number and the internal variable j indicating the number of trials. ODy [i] [j] and ODz [i] [j] are the same.
[0042]
Then, the CPU generates a camera direction acquisition command, transmits the command to the video camera via the communication interface, and transmits a pan angle response PA and a tilt angle response TA indicating a pan / tilt angle (control angle) of the camera with respect to the object. , The PA is recorded in the internal variable PA [i] [j], and the TA is recorded in the internal variable TA [i] [j], and are respectively stored in the primary storage device (step 106).
[0043]
Here, it is determined whether or not the number of trials has finished the specified number of times (step 107), and when the value of the internal variable j indicating the number of trials is smaller than the predetermined number of times k of the specified number of trials (NO in step 107). Adds 1 to the value recorded in the internal variable j, holds it in the primary storage device as a new internal variable j, and requests the designation of the object again (step 105).
[0044]
The specified trial number k may be arbitrary, but is preferably 3 or more.
[0045]
If the value indicated by the internal variable j is the same as the prescribed trial count value k (YES in step 107), the value indicated by the internal variable i held in the primary storage device is held in the primary storage device. It is determined whether or not the value exceeds an internal variable N indicating the number of video cameras present (step 108).
[0046]
When the value of the internal variable N indicating the number of video cameras is equal to the value indicated by the internal variable i, or the value indicated by the internal variable i is smaller than the value of the internal variable N indicating the number of video cameras (NO in step 108) ) Indicates that the video camera with the camera number i indicated by the new internal variable i is added to the value recorded in the internal variable i indicating the camera number, and is stored in the primary storage device as a new internal variable i. (Step 102).
[0047]
When the value indicated by the internal variable i is equal to or greater than the internal variable N indicating the number of video cameras, the internal variable N, the internal variable array Ox, and the internal variable array Oy held in the primary storage device are stored. From the values recorded in the internal variable array ODx, the internal variable array ODy, the internal variable array ODz, the internal variable array PA, and the internal variable array TA, the position and direction of the video camera are estimated and calculated (step 111).
[0048]
Here, the estimation calculation for calculating the position and direction of the video camera can be performed using a generally known geometric technique. Hereinafter, an example of the estimation calculation method will be described in detail with reference to FIG. Will be described.
[0049]
First, a value 1 is recorded in an internal variable i indicating a camera number and initialization is performed (step 201).
[0050]
Then, the slopes from the internal variable arrays ODx, ODy, ODz, PA, and TA pass through the points (ODx [i] [j], ODy [i] [j], ODz [i] [j]) in the three-dimensional space. (Cos (PA [i] [j]) cos (TA [i] [j]), sin (PA [i] [j]) cos (TA [i] [j]), sin (TA [i] [ j])), and obtain k straight lines 11,..., lk.
[0051]
Here, j represents an integer value from 1 to k. Further, a point M (Mx, My, Mz) in the three-dimensional space where the sum of the distances from the k straight lines 11, 1,.
[0052]
Then, the value of the internal variable Ox [i] is substituted for the internal variable X, the value of the internal variable Oy [i] is substituted for the internal variable Y, the value of the Z coordinate Mz of the point M is substituted for the internal variable Z, and (X, Y, Z) is set as the initial value of the camera position (step 202).
[0053]
Further, two points Pm in a three-dimensional space are determined by using an internal variable i indicating a camera number and m-th and n-th elements of an internal variable array ODx [i], ODy [i], ODz [i]. (ODx [i] [m], ODy [i] [m], ODz [i] [m]), Pn (OD [i] [n], ODy [i] [n], ODz [i] [n ]) Is defined.
[0054]
Here, arbitrary two values m and n are selected from integer values from 1 to k, corresponding points Pm and Pn in the three-dimensional space are defined, and Pm and Pn are set with the camera position (X, Y, Z) as a vertex. Is calculated as the cosine cos θmn of the angle θmn.
[0055]
Also, a direction vector Qm (cos (PA [i] [m]) cos (TA [i] [m]), sin (PA) determined from the m-th element of the internal variable arrays PA [i] and TA [i] [I] [m]) cos (TA [i] [m]), sin (TA [i] [m])) and a direction vector Qn (cos (PA [i] [ n]) cos (TA [i] [n]), sin (PA [i] [n]) cos (TA [i] [n]), sin (TA [i] [n]) The cosine cos θ′mn of θ′mn is calculated.
[0056]
Then, for all combinations of m and n, the sum of squares of the difference between cos θmn and cos θ′mn is S (X, Y, Z).
[0057]
Further, S (X + dX, Y + dY, Z + dZ) is calculated for a nearby point separated from the camera position (X, Y, Z) by a constant value ± a or 0 in the X-axis, Y-axis, and / or Z-axis directions and the position. , S are determined to be the minimum value (dX, dY, dZ) (step 203).
[0058]
Here, dX, dY, and dZ represent the fluctuation amounts in the X-axis direction, the Y-axis direction, and the Z-axis direction, respectively, and take + a, 0, or -a as a value. The value of the constant value a may be, for example, 1.
[0059]
Then, it is determined whether or not to update the camera position (step 204). If the smile fluctuation amount (dX, dY, dZ) is not (0, 0, 0) (NO in step 204), the camera position (X, Y) , Z) to add the minute fluctuation amount (dX, dY, dZ) to update the camera position, and calculate the minute fluctuation amount again (step 203).
[0060]
When (dX, dY, dZ) is (0, 0, 0) (YES in step 205), the camera position (X, Y, Z) and k points Pm (m = 1,..., K), k direction vectors Vm (m = 1,..., K) are determined.
[0061]
Note that the camera position (X, Y, Z) may be obtained with higher accuracy by reducing the value a of the constant value and again obtaining the minute fluctuation amount. At this time, the constant value a is preferably reduced in order from, for example, 1 to 0.1 and 0.01.
[0062]
Then, for each value of m, the difference between the angles of Vm and Qm in the pan direction and the tilt direction is obtained, and the average value dθ of the difference in the pan angle direction is set to the pan direction initial value SP [i of the video camera indicated by the camera number i. ], And the average value dφ of the difference in the tilt angle direction is set as a tilt direction initial value ST [i] of the video camera indicated by the camera number i.
[0063]
Here, the camera position (X, Y, Z) is recorded in internal variables X [i], Y [i], Z [i], respectively, and is stored in the primary storage device. Also, the values of SP [i] and ST [i] are similarly stored in the primary storage device (step 205).
[0064]
Further, it is determined whether or not the measurement has been completed for all the cameras (step 206). If the value recorded in the internal variable i does not exceed the value recorded in the internal variable N indicating the number of cameras (step 206). NO) is obtained by adding 1 to the value recorded in the internal variable i and holding the same in the primary storage device as a new internal variable i, and the minute fluctuation amount of the video camera of the camera number i indicated by the new internal variable i ( dX, dY, dZ) are obtained (step 203).
[0065]
If the value recorded in the internal variable i is the same as the value recorded in the internal variable N indicating the number of cameras (YES in step 206), the estimation calculation of the position and direction of the video camera ends. .
[0066]
Then, the parameters indicating the position of each video camera and the initial directions of the pan angle direction and the tilt angle direction obtained by the estimation calculation are recorded in the primary storage device using the XML format or the like. Note that the result may be transferred to the secondary storage device and recorded.
[0067]
In this embodiment, it is possible to easily specify an initial value assuming the position of the camera from the video and the sketch of the video camera, and to operate the pan and tilt angles of the camera while checking the video of the video camera. Therefore, it is possible to easily specify an object on which to obtain the minute fluctuation amount on a sketch.
[0068]
Then, the position and direction of the camera can be accurately calculated based on the simple operation history, the correspondence between the sketch and the actual place.
[0069]
Note that the camera position and direction calculation device may have a client-server configuration including a client device that is a client-side terminal that views a camera image and a server device that controls the camera and distributes a captured image.
[0070]
At this time, the server device provides information such as room information and a floor plan to the client device. Based on this information, the client device determines an internal variable N indicating the number of cameras and coordinates of the designated position in the actual room space. Internal variable arrays Ox, Oy indicating the system, internal variable arrays ODx, ODy indicating the coordinate system of the object in the actual room space, internal variable arrays ODz indicating the height of the object in the actual room space, pan An internal variable array PA indicating an angle response and an internal variable array TA indicating a tilt angle response are calculated, and the calculated information is transmitted to the server device. Based on the calculated information, the server device determines the position and direction of the camera based on the calculated information. An estimation calculation (step 111) is performed.
[0071]
【The invention's effect】
As described above, according to the present invention, parameters indicating the position and initial direction of the video camera can be easily obtained without using a special measurement target or the like.
[Brief description of the drawings]
FIG. 1 is a schematic block diagram showing an example of the overall configuration of a camera position and direction calculation device according to the present invention. FIG. 2 is a flowchart showing the operation of the camera position and direction calculation device in the present embodiment. Overview diagram showing an example of a window [FIG. 4] Overview diagram showing an example of a camera position acquisition screen window [FIG. 5] Overview diagram showing an example of a camera direction designation screen window [FIG. 6] Flow of estimation calculation in the present embodiment [Description of reference numerals]
100: Camera position and direction calculation device 110: Primary storage device 120: Communication interface 130 ... Secondary storage device 140 ... Communication interface 150 ... Video capture unit 160 ... Input / output interface 170 ... Display 180 ... Operation unit 200 ... Video camera 300 ... Multi-input integrated screen creator 400 ... Video display window 401 ... Video 402 ... Frame 410 ... Camera position acquisition screen window 412 ... Message display unit 413 ... Confirmation button 420 ... Camera direction designation screen window 422 ... Message display unit 423 ... Confirmation button 424 ... Camera control unit 425 ... Designation unit

Claims (3)

カメラが設置された設置場所の見取り図を記憶する記憶手段と、
前記見取り図を表示する手段と、
前記見取り図を用いて前記カメラの位置を指定するカメラ位置指定手段と、
前記見取り図を用いて対象物を指定する対象物指定手段と、
前記対象物指定手段で指定された対象物に対する前記カメラの制御角度を取得するカメラ制御角度取得手段と、
前記カメラ位置指定手段で指定されたカメラの位置と前記対象物指定手段で指定された対象物の位置と前記カメラ制御角度取得手段で取得したカメラの制御角度とを用いて前記カメラの位置及び方向を算出する計算手段と
を具備することを特徴とするカメラ位置および方向算出装置。
Storage means for storing a sketch of the installation location where the camera is installed,
Means for displaying the floor plan;
Camera position specifying means for specifying the position of the camera using the floor plan,
An object specifying means for specifying an object using the floor plan,
Camera control angle acquisition means for acquiring a control angle of the camera with respect to the object specified by the object specification means,
The position and direction of the camera using the camera position designated by the camera position designation unit, the position of the object designated by the object designation unit, and the control angle of the camera acquired by the camera control angle acquisition unit Calculating means for calculating the camera position and direction.
前記対象物指定手段で指定された対象物の高さを指定する高さ指定手段
をさらに具備し、
前記計算手段は、
前記カメラ位置指定手段で指定されたカメラの位置と前記カメラ制御角度取得手段で取得したカメラの制御角度と前記対象物指定手段で指定された対象物の位置及び前記高さ指定手段で入力された対象物の高さとを用いて前記カメラの位置及び方向を計算する
ことを特徴とする請求項1記載のカメラ位置および方向算出装置。
The apparatus further includes a height designation unit that designates a height of the object designated by the object designation unit,
The calculating means includes:
The position of the camera designated by the camera position designation unit, the control angle of the camera acquired by the camera control angle acquisition unit, the position of the object designated by the object designation unit, and the input by the height designation unit The camera position and direction calculation device according to claim 1, wherein the position and direction of the camera are calculated using the height of the object.
前記対象物指定手段は、
少なくとも3つの対象物を指定し、
前記計算手段は、
前記対象物指定手段で指定された少なくとも3つの対象物の指定に基づき前記カメラの位置及び方向を計算する
ことを特徴とする請求項1又は2記載のカメラ位置および方向算出装置。
The object specifying means,
Specify at least three objects,
The calculating means includes:
3. The camera position and direction calculation device according to claim 1, wherein the position and direction of the camera are calculated based on designation of at least three objects designated by the object designation means.
JP2002205543A 2002-07-15 2002-07-15 Calculation instrument of position and orientation of camera Pending JP2004048555A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002205543A JP2004048555A (en) 2002-07-15 2002-07-15 Calculation instrument of position and orientation of camera

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002205543A JP2004048555A (en) 2002-07-15 2002-07-15 Calculation instrument of position and orientation of camera

Publications (1)

Publication Number Publication Date
JP2004048555A true JP2004048555A (en) 2004-02-12

Family

ID=31710824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002205543A Pending JP2004048555A (en) 2002-07-15 2002-07-15 Calculation instrument of position and orientation of camera

Country Status (1)

Country Link
JP (1) JP2004048555A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114374800A (en) * 2022-01-14 2022-04-19 浙江大华技术股份有限公司 Focusing processing method and device, storage medium and electronic device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114374800A (en) * 2022-01-14 2022-04-19 浙江大华技术股份有限公司 Focusing processing method and device, storage medium and electronic device

Similar Documents

Publication Publication Date Title
JP5093053B2 (en) Electronic camera
JP4002983B2 (en) Projection apparatus, projection apparatus control method, composite projection system, projection apparatus control program, and recording medium on which projection apparatus control program is recorded
US9832447B2 (en) Image processing system and image processing program
KR101871764B1 (en) Industrial infrastructure management platform building system based on virtual reality
JP5566281B2 (en) Apparatus and method for specifying installation condition of swivel camera, and camera control system provided with the apparatus for specifying installation condition
JP6812128B2 (en) Information processing device and information processing method
JP5825256B2 (en) Image processing apparatus, image processing method, and image processing program
JP7204346B2 (en) Information processing device, system, information processing method and program
US20180204387A1 (en) Image generation device, image generation system, and image generation method
WO2018179040A1 (en) Camera parameter estimation device, method, and program
WO2019093457A1 (en) Information processing device, information processing method and program
US11694349B2 (en) Apparatus and a method for obtaining a registration error map representing a level of sharpness of an image
JP4593172B2 (en) Camera control device
JP4227037B2 (en) Imaging system and calibration method
JP2003346185A (en) Information display system and personal digital assistant
CN111735414A (en) Area metering system and metering method based on panoramic three-dimensional imaging
JP2004048555A (en) Calculation instrument of position and orientation of camera
CN111699453A (en) Control method, device and equipment of movable platform and storage medium
JP2017134775A (en) Image processing apparatus, image processing method, and program
JPH07160412A (en) Pointed position detecting method
WO2015141214A1 (en) Processing device for label information for multi-viewpoint images and processing method for label information
JP2012244311A (en) Camera remote controller and camera remote control method
JP6773982B2 (en) Information processing equipment, its control method and program
KR102358950B1 (en) Augmented reality implement apparatus and method using mobile scanned object model scaling
Powell et al. Visualization of coregistered imagery for remote surface operations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070814

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071106