(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
実施の形態1.
本実施の形態では、距離情報の入力の自由度を高めることができ、撮影対象空間における測量作業の負荷を軽減するカメラ撮影画像シミュレータ装置を説明する。
本実施の形態では、消失点が1つの静止撮影画像(以下、単に撮影画像という)を用いて実空間の情報を設定する例を説明する。
【0012】
図1は、実施の形態1に係るカメラ撮影画像シミュレータ装置の構成例を示すブロック図である。
図2は、実施の形態1に係るカメラ撮影画像シミュレータ装置の処理手順の一例を示すフロー図である。
はじめに、
図1のブロック構成について説明する。
【0013】
図1において、カメラ撮影画像シミュレータ装置100は、例えば汎用PC(Personal Computer)、スマートフォン、タブレット端末である。
【0014】
記録装置101は、3次元空間を撮影した撮影画像を記憶する。
記録装置101は、ハードディスクやSSD(Solid State Drive)のような内蔵ドライブでもよいし、SD(登録商標)カードなどの外部記録メディアでもよいし、一時記憶メモリ(RAM:Random Access Memory)でもよい。
【0015】
面情報設定部110は、撮影画像上の中央位置に矩形の枠線を重畳して表示する。
そして、ユーザが矩形の枠線の位置を、3次元空間(実空間)の奥行き方向の終端面(以下、奥行き面ともいう)に合わせることで、面情報設定部110は奥行き面を特定する。
消失点設定部111は、面情報設定部110により特定された奥行き面の近傍に消失点を表示するとともに、消失点を基準とする直方体ワイヤーフレームを表示する。
また、消失点設定部111は、ユーザの操作により消失点の位置を変化させるとともに、直方体ワイヤーフレームの形状も変化させ、3次元空間の形状に整合する直方体ワイヤーフレームを表示する。
面情報設定部110及び消失点設定部111は、ワイヤーフレーム管理部の例に相当する。
【0016】
面境界情報抽出部112は、直方体ワイヤーフレームの形状(各面の位置)と消失点の位置から、3次元空間(実空間)の各面の境界線を抽出する。
距離情報設定部113は、直方体ワイヤーフレームの奥行き方向の終端面(以下、基準面ともいう)に平行し、ユーザの操作によりワイヤーフレームの奥行き方向でスライド可能な仮想面を撮影画像及びワイヤーフレームの表示に重畳して表示する。
そして、距離情報設定部113は、ユーザのスライド操作により指定された仮想面の設定位置を特定し、仮想面の設定位置を基準とする一部の区間に対応する実距離の指定をユーザに依頼する。
また、距離情報設定部113は、ユーザからの実距離の入力を受け付け、ユーザから入力された実距離に基づき、3次元空間(実空間)での奥行き方向の全長の実距離を計算する。
距離情報設定部113は、仮想面管理部、メッセージ管理部及び距離算出部の例に相当する。
【0017】
次に、
図2を参照して、本実施の形態に係るカメラ撮影画像シミュレータ装置100の動作例を説明する。
【0018】
ユーザは、デジタルカメラなどを用いて撮影したシミュレート表示したい場所(監視カメラなら設置予定場所)の撮影画像1枚をカメラ撮影画像シミュレータ装置100に入力する(ステップST101)。
以下では、
図13に示す撮影画像を入力するものとする。
【0019】
面情報設定部110は、ステップST101で入力された撮影画像上の中央位置に矩形の枠線を重畳して表示する(ステップST102)。
例えば、
図3(a)のように矩形の枠線300を撮影画像上に表示する。
なお、枠線300の頂点はマウスのドラッグ操作で移動可能となっており、ユーザは、
図3(b)のように、枠線300が撮影画像中の正面の壁面(奥行き面)に合うように操作することで基準面の領域を設定する(ステップST103)。
このとき、面情報設定部110は、面領域(奥行き面)を指定するよう促すメッセージを表示する。
図3では、「面領域を設定してください。」というメッセージが表示されている。
また、面情報設定部110は、ユーザのマウス操作を解析して、奥行き面の位置、形状を特定する。
【0020】
次に、消失点設定部111が、撮影画像上の中央位置(奥行き面の近傍)に消失点を表示し、この消失点とステップST103で設定された枠線を基準面とした直方体ワイヤーフレームと垂直方向の補助線を重畳して表示する(ステップST104)。
具体的には、
図4(a)に示すように、奥行き面の近傍に消失点(カーソルが指し示している点)を表示するとともに、消失点と枠線を基準とする直方体ワイヤーフレーム400を撮影画像上に表示する。
更に、補助線(
図4(a)の消失点から延びている破線)を表示する。
ステップST104で表示された消失点はマウスのドラッグ操作で移動可能となっており、ユーザはこの消失点が撮影画像中の消失点に合うように操作することで消失点位置を設定する(ステップST105)。
このとき、消失点の移動に応じて、直方体ワイヤーフレームの基準面以外の面が変形するため、ユーザは撮影画像中の天井面、床面、壁面の境界に直方体ワイヤーフレームが合うように確認しながら操作することで消失点の位置を正確に設定できる(
図4(b))。
また、消失点設定部111は、消失点の位置を指定するよう促すメッセージを表示する。
図4では、「消失点を設定してください。」というメッセージが表示されている。
【0021】
次に、面境界情報抽出部112が、ステップST103で設定された面情報(奥行き面)とステップST105で設定された消失点位置情報を基に、撮影画像上における実空間の各面の境界線を抽出する(ステップST106)。
【0022】
次に、距離情報設定部113が、撮影画像上にステップST106で抽出した面の境界線を重畳して表示し、正面の壁面(奥行き面)を示す境界線の上辺と下辺に平行な線分を表示する(ステップST107)。
ステップST107で表示された線分はマウスのドラッグ操作で移動可能となっており、ユーザはこの線分を任意の位置に合わせた後、床面からその位置までの実空間の高さを入力する(ステップST108)。
つまり、ユーザは、実空間において床面からの高さが判明している位置に、
図5の線分500を合わせて、床面から線分500の位置までの実空間での高さを入力する。
このとき、距離情報設定部113は、実空間の高さの入力を促すメッセージを表示する。
図5では、「高さを設定してください。」というメッセージが表示されている。
【0023】
次に、距離情報設定部113は、ステップST108で入力された任意位置の高さ情報を基に、撮影画像中の実空間における天井高と正面の壁面(奥行き面)の幅を算出する(ステップST109)。
距離情報設定部113は、通常の幾何計算により、実空間の天井高と奥行き面の幅を算出することができる。
つまり、撮影画像における床面から線分500までの高さと、ユーザにより指定された実空間での高さと、撮影画像における床面から天井までの高さと、消失点の位置とに基づく幾何計算により、実空間の天井高を算出することができる。
また、撮影画像における床面から線分500までの高さと、ユーザにより指定された実空間での高さと、撮影画像における奥行き面の幅と、消失点の位置とに基づく幾何計算により、実空間の奥行き面の幅を算出することができる。
【0024】
次に、距離情報設定部113は、撮影画像上にステップST106で抽出した面の境界線を重畳して表示し、直方体ワイヤーフレームの正面の壁面(基準面)と平行な仮想面の枠線を2つ表示する(ステップST110)。
例えば、2つの仮想面の枠線として、枠線601(二点鎖線)と枠線602(二点鎖線)を撮影画像上に表示する。
ステップST110で表示された2つの仮想面の枠線601、602はマウスのドラッグ操作で移動可能となっている。
つまり、枠線601、602をドラッグ操作することで、2つの仮想面が直方体ワイヤーフレームの奥行き方向でスライド可能であり、ユーザは各仮想面を任意の位置に設定することができる。
距離情報設定部113は、ユーザが仮想面の位置を決定した後、2つの仮想面の間の区間(枠線601、枠線602との間の区間)に対応する実空間の奥行き距離の入力を促すメッセージ(実距離指定依頼メッセージ)を表示する。
図6では、「奥行距離を設定してください。」というメッセージが表示されている。
ユーザは、2つの仮想面の間の区間に相当する実距離を入力する(ステップST111)。
つまり、ユーザは、実空間において距離が判明している2点に、枠線601、602を合わせて、実空間での2点間の距離を入力する。
【0025】
距離情報設定部113は、ステップST111で入力された任意区間の距離情報を基に、撮影画像中の実空間の奥行き距離を算出する(ステップST112)。
つまり、ステップST111で入力された一部の区間の実距離に基づき、撮影画像の実空間の全奥行きの実距離を算出する。
この全奥行きの実距離は、通常の幾何計算により得られる。
つまり、撮影画像における2つの仮想面の間の距離と、ユーザにより指定された一部の区間(仮想面間の区間)の実距離と、撮影画像における全奥行き距離と、消失点の位置とに基づく幾何計算により実空間の全奥行き距離を算出することができる。
【0026】
以上より、ステップST101で入力された1枚の撮影画像に対し、1つの面領域・消失点の位置・任意位置の高さ・任意区間の奥行き距離を入力することで、現地撮影画像中の実空間情報(各面の境界情報と各方向の距離)を設定することが可能となる。
カメラ撮影画像シミュレータ装置100は、これら実空間情報を利用して撮影画像から仮想3次元空間を生成し、任意位置・任意視点のカメラ撮影画像をシミュレート表示する。
図7は、ステップST101〜ST112で設定された実空間情報を基に、撮影画像から仮想3次元空間を生成する際の処理イメージである。
【0027】
ここで、ステップST101では、1枚の実写画像を入力しているが、その1枚の画像は広範囲を撮影したパノラマ画像などを入力してもよいし、同箇所から撮影した複数枚の実写画像を用いて1枚の画像に合成してもよい。
ステップST107〜ST108では、床面からの高さを設定しているが、線分を2本表示してその2本間の高さを設定してもよい。
【0028】
また、ステップST110では、2つの仮想面を表示しているが、仮想面は1つでもよい。
例えば、
図6において、枠線601のみを表示し、ユーザが枠線601から奥行き面までの区間の実距離を入力するようにしてもよい。
【0029】
以上のように、本実施の形態によれば、1枚の撮影画像を用い、消失点を利用して面境界情報を設定するため、遠近法に則った正確な実空間の情報を簡単に設定できる。
また、距離情報入力時には対象区間を任意に設定できるため、距離情報入力の自由度を高めることで、設置場所における測量作業の負荷を軽減できる。
つまり、全奥行きの実距離を計測する必要はなく、奥行き方向の一部の区間の実距離のみを計測すれば足りるので、奥行き距離が長い空間を対象とする場合でも、測量作業を簡素化することができる。
【0030】
実施の形態2.
本実施の形態では、消失点が複数ある撮影画像での設定作業を効率化する構成を説明する。
前述の特許文献1の立体情報取得方法では、撮影画像中に消失点が複数ある場合は、消失点の数に応じて空間構図を設定する必要があり、消失点が1つの場合と比較して設定作業が倍増していく。
同様に、特許文献2の立体情報取得方法でも、撮影画像中に消失点が複数ある場合には、消失点の数に応じて操作手順が倍増する。
本実施の形態では、撮影画像中に複数の消失点がある場合に、実空間情報設定の作業負荷を軽減する構成を説明する。
なお、以下では、消失点が2つの撮影画像を用いて実空間の情報を設定する例を説明する。
【0031】
本実施の形態に係るカメラ撮影画像シミュレータ装置は、撮影画像を解析して、3次元空間の奥行き方向の消失点以外の消失点(追加消失点)が撮影画像に含まれているか否かを判断する。
そして、追加消失点が撮影画像に含まれていない場合は、3次元空間の奥行き方向での実距離の指定と、3次元空間の高さ方向での実距離の指定又は3次元空間の幅方向での実距離の指定とをユーザに依頼する。
一方、追加消失点が撮影画像に含まれている場合は、3次元空間の奥行き方向での実距離の指定と3次元空間の高さ方向での実距離の指定と3次元空間の幅方向での実距離の指定とをユーザに依頼する。
【0032】
図8は、本実施の形態に係るカメラ撮影画像シミュレータ装置の構成例を示すブロック図である。
また、
図9は、本実施の形態における処理手順の一例を示すフロー図である。
はじめに、
図8のブロック構成について説明する。
【0033】
図8では、
図1の構成と比較して、消失点算出部114が加わっている。
他の要素は、
図1に示したものと同じなので、説明を省略する。
消失点算出部114は、3次元空間の奥行き方向の消失点以外の消失点(追加消失点)が撮影画像に含まれているか否かを判断する。
消失点算出部114は、追加消失点判断部の例に相当する。
なお、本実施の形態では、距離情報設定部113は、メッセージ管理部、距離算出部の例に相当する。
本実施の形態では、実施の形態1との差異を説明する。
以下で説明していない事項は、実施の形態1で説明したものと同じである。
【0034】
次に、
図9を参照して、本実施の形態に係るカメラ撮影画像シミュレータ装置100の動作例を説明する。
【0035】
ユーザは、デジタルカメラなどを用いて撮影したシミュレート表示したい場所(監視カメラなら設置予定場所)の撮影画像1枚をカメラ撮影画像シミュレータ装置100に入力する(ステップST201)。
以下では、
図14に示す撮影画像を入力するものとする。
なお、
図14の撮影画像では、奥行き方向の消失点のほかに、水平方向に消失点がある。
【0036】
面情報設定部110は、ステップST201で入力された撮影画像上の中央位置に矩形の枠線を重畳して表示する(ステップST202)。
例えば、
図11(a)のように矩形の枠線1100を撮影画像上に表示する。
なお、枠線1100の頂点はマウスのドラッグ操作で移動可能となっており、ユーザは、
図11(b)のように、枠線1100が撮影画像中の正面の壁面(奥行き面)に合うように操作することで基準面の領域を設定する(ステップST203)。
このとき、枠線の上辺と下辺が平行でない場合には、枠線内を等分割するように左辺と右辺を結ぶ補助線(
図11(b)の破線)を表示する。
このとき、面情報設定部110は、面領域(奥行き面)を指定するよう促すメッセージを表示する。
図11では、「面領域を設定してください。」というメッセージが表示されている。
また、面情報設定部110は、ユーザのマウス操作を解析して、奥行き面の位置、形状を特定する。
【0037】
次に、消失点算出部114が、ステップST203で設定された枠線の上辺と下辺が平行でない場合に、2つ目の消失点(追加消失点)が存在すると判断し(ステップST204)、上辺と下辺の交点座標を消失点座標として算出する(ステップST205)。
【0038】
次に、消失点設定部111が、撮影画像上の中央位置(奥行き面の近傍)に消失点を表示し、この消失点とステップST202で設定された枠線を基準面とした直方体ワイヤーフレームと垂直方向の補助線を重畳して表示する(ステップST206)。
ステップST206で表示された消失点はマウスのドラッグ操作で移動可能となっており、ユーザはこの消失点が撮影画像中の消失点に合うように操作することで消失点位置を設定する(ステップST207)。
このとき、消失点の移動に応じて、直方体ワイヤーフレームの基準面以外の面が変形するため、ユーザは撮影画像中の天井面、床面、壁面の境界に直方体ワイヤーフレームが合うように確認しながら操作することで消失点の位置を正確に設定できる。
【0039】
次に、面境界情報抽出部112が、ステップST202で設定された面情報(奥行き面)とステップST207で設定された消失点位置情報を基に、撮影画像上における実空間の各面の境界線を抽出する(ステップST208)。
【0040】
次に、距離情報設定部113が、撮影画像上にステップST208で抽出した面の境界線を重畳して表示し、正面の壁面(奥行き面)を示す境界線の上辺と下辺に平行な線分を表示する(ステップST209)。
ステップST209で表示された線分はマウスのドラッグ操作で移動可能となっており、ユーザはこの線分を任意の位置に合わせた後、床面からその位置までの実空間の高さを入力する(ステップST210)。
距離情報設定部113は、ステップST210で入力された任意位置の高さ情報を基に、ステップST201で入力された撮影画像中の実空間における天井高を算出する(ステップST211)。
距離情報設定部113は、通常の幾何計算により、実空間の天井高を算出することができる。
【0041】
次に、距離情報設定部113は、ステップST205で算出された消失点が2つ以上だった場合に(ステップST212)、この消失点情報を基に、撮影画像上にステップST208で抽出した面の境界線を重畳して表示し、正面の壁面(奥行き面)を示す境界線の左辺と右辺に平行な線分を2本表示する(ステップST213)。
例えば、
図12に示すように、正面の壁面(奥行き面)に2つの線分1200を描画する。
ステップST213で表示された2本の線分1200はマウスのドラッグ操作で移動可能となっており、ユーザはこの線分1200を任意の位置に合わせた後、2本の線分1200の間の区間に対応する実空間の距離を入力する(ステップST214)。
このとき、距離情報設定部113は、実空間の距離の入力を促すメッセージを表示する。
図12では、「幅を設定してください。」というメッセージが表示されている。
【0042】
次に、距離情報設定部113は、ステップST214で入力された任意区間の距離情報を基に、撮影画像中の正面の壁面の実空間における幅を算出する(ステップST215)。
距離情報設定部113は、通常の幾何計算により、実空間の奥行き面の幅を算出することができる。
【0043】
次に、距離情報設定部113は、撮影画像上にステップST208で抽出した面の境界線を重畳して表示し、直方体ワイヤーフレームの正面の壁面(基準面)と平行な仮想面の枠線を2つ表示する(ステップST216)。
ステップST216で表示された2つの仮想面の枠線はマウスのドラッグ操作で移動可能となっており、ユーザはこの枠線を任意の位置に合わせた後、2つの枠線間が示す実空間の奥行き距離を入力する(ステップST217)。
【0044】
距離情報設定部113は、ステップST217で入力された任意区間の距離情報を基に、撮影画像中の実空間の奥行き距離を算出する(ステップST218)。
【0045】
以上より、ステップST201で入力された1枚の撮影画像に対し、1つの面領域・消失点の位置・任意位置の高さ・任意区間の幅・任意区間の奥行き距離を入力することで、現地撮影画像中の実空間情報(各面の境界情報と各方向の距離)を設定することが可能となる。
カメラ撮影画像シミュレータ装置100は、これら実空間情報を利用して撮影画像から仮想3次元空間を生成し、任意位置・任意視点のカメラ撮影画像をシミュレート表示する。
【0046】
ここで、ステップST201では、1枚の実写画像を入力しているが、その1枚の画像は広範囲を撮影したパノラマ画像などを入力してもよいし、同箇所から撮影した複数枚の実写画像を用いて1枚の画像に合成してもよい。
ステップST209〜ST211では、床面からの高さを設定しているが、線分を2本表示してその2本間の高さを設定してもよい。
【0047】
図9及び
図10のフローチャートでは、消失点が1つの場合は、ステップST209〜ST211においてユーザが指定位置の高さを入力し、ステップST211においてカメラ撮影画像シミュレータ装置100が天井高を算出している。
ステップST209〜ST211に代えて、ステップST213〜ST215を行うようにしてもよい。
つまり、ユーザが指定位置の高さを入力する代わりに、正面の壁面(奥行き面)における指定区間の幅を入力し、また、カメラ撮影画像シミュレータ装置100は、天井高を算出する代わりに、正面の壁面(奥行き面)の幅を算出するようにしてもよい。
なお、ステップST216〜ST218による奥行き方向の指定区間の入力と奥行き方向の全距離の算出は、ステップST209〜ST211又はステップST213〜ST215では代替できない(奥行き方向の指定区間の入力と奥行き方向の全距離の算出は必須)。
【0048】
以上のように、本実施の形態によれば、1枚の撮影画像を用い、消失点を利用して面境界情報を設定するため、遠近法に則った正確な実空間の情報を簡単に設定できる。
また、撮影画像中に消失点が2つある場合でも、ステップST213〜ステップST215を追加するだけで対応できるため、作業負荷の増大を防ぐことができる。
さらに、距離情報入力時には対象区間を任意に設定できるため、設置場所における測量作業の負荷を軽減できる。
【0049】
以上、本発明の実施の形態について説明したが、これらの実施の形態を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【0050】
最後に、実施の形態1及び2に示したカメラ撮影画像シミュレータ装置100のハードウェア構成例を
図15を参照して説明する。
カメラ撮影画像シミュレータ装置100はコンピュータ(スマートフォン、タブレット端末を含む)であり、カメラ撮影画像シミュレータ装置100の各要素をプログラムで実現することができる。
カメラ撮影画像シミュレータ装置100のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。
【0051】
演算装置901は、プログラムを実行するCPU(Central Processing Unit)である。
外部記憶装置902は、例えばROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置である。
主記憶装置903は、RAM(Random Access Memory)である。
通信装置904は、例えば、NIC(Network Interface Card)である。
入出力装置905は、例えばマウス、キーボード、ディスプレイ装置等である。
【0052】
プログラムは、通常は外部記憶装置902に記憶されており、主記憶装置903にロードされた状態で、順次演算装置901に読み込まれ、実行される。
プログラムは、
図1に示す「〜部」として説明している機能を実現するプログラムである。
更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、
図1に示す「〜部」の機能を実現するプログラムを実行する。
また、実施の形態1及び2の説明において、「〜の判断」、「〜の判定」、「〜の抽出」、「〜の算出」、「〜の計算」、「〜の設定」、「〜の特定」、「〜の選択」、「〜の生成」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置903にファイルとして記憶されている。
また、暗号鍵・復号鍵や乱数値やパラメータが、主記憶装置903にファイルとして記憶されてもよい。
【0053】
なお、
図15の構成は、あくまでもカメラ撮影画像シミュレータ装置100のハードウェア構成の一例を示すものであり、カメラ撮影画像シミュレータ装置100のハードウェア構成は
図15に記載の構成に限らず、他の構成であってもよい。
【0054】
また、実施の形態1及び2に示す手順により、本発明に係る情報処理方法を実現可能である。