(57)【要約】【課題】撮像対象の物体に対する撮像部の姿勢を高精度に推定して表示情報の制御を行う。【解決手段】設定部3は、画像中の物体を、立体モデルに対する拡大、縮小、回転、せん断等のマニュアル編集操作を施した立体形状で近似した環境情報を受け取り、物体の初期姿勢となす。以降の物体の姿勢を、画像中から検出された線分と、直前推定姿勢における立体形状を投影した際の特徴線と、の対応関係を求めることで推定部2が逐次的に推定する。制御部4は推定姿勢に基づいて立体形状のオクルージョンを反映したうえで、表示部7での表示情報の制御を行う。【選択図】図１
2014106602.tif 000002
【特許請求の範囲】
【請求項１】
撮像対象を撮像した画像を得る撮像部を有する情報端末装置であって、
所定時点における画像内に写っている所定物体に対して重ね合わせて一致させるための、所定の立体形状を前記撮像部に対して所定の姿勢で配置する情報を環境情報として受け取る設定部と、
前記所定時点以降の画像内に写っている前記所定物体の前記撮像部に対する姿勢を、当該画像から検出した線分と、前記環境情報における所定の立体形状における面同士の境界線及び／又は稜線からなる特徴線と、に基づいて、前記所定の姿勢からの変動分として推定する推定部と、
情報を表示する表示部と、前記表示部で表示する情報を記憶する表示データベースと、前記表示データベースから読み出して前記表示部で表示する情報を、前記推定された姿勢に応じて制御する制御部と、を備えることを特徴とする情報端末装置。
【請求項２】
前記推定部が、
前記画像から線分を検出し、当該検出した線分と、前記環境情報における所定の立体形状の特徴線と、の対応関係を求め、対応する線分同士の配置関係に基づいて第1姿勢を推定する第1姿勢推定部と、
前記第1姿勢にて前記環境情報における所定の立体形状を前記撮像部の撮像面へ投影した際の線分上の所定の点に対応する点を前記画像から検出し、当該検出された各点と、当該各点に対応する前記環境情報における所定の立体形状の特徴線上の各点と、の対応関係を求め、対応する点同士の配置関係に基づいて第2姿勢を推定し、前記所定の姿勢からの変動分となす第2姿勢推定部と、を含むことを特徴とする情報端末装置。
【請求項３】
前記第２姿勢推定部が、前記線分上の所定の点として、線分の端点を採用することを特徴とする請求項２に記載の情報端末装置。
【請求項４】
前記第1姿勢推定部が、前記検出した線分の中から、線分の長さ、線分の密度及び線分の近傍領域の色変化、のうち少なくとも1つに関する所定条件を満たすものを前記特徴線の候補として選別したうえで、前記対応関係を求めることを特徴とする請求項２または３に記載の情報端末装置。
【請求項５】
前記推定部は、所定間隔毎に前記姿勢を推定し、
前記第1姿勢推定部は、現時点の画像に対する前記第1姿勢を推定するに際して、直近の過去時点に対して前記推定された第2姿勢を利用し、
前記直近の過去時点にて推定された第2姿勢にて前記前記環境情報における所定の立体形状を前記撮像部の撮像面へ投影した際の線分上の点を中心とする、当該直近の過去時点の画像における小領域に類似する小領域を、前記現時点の画像内から探索することによって、前記対応関係を求めることを特徴とする請求項２ないし４のいずれかに記載の情報端末装置。
【請求項６】
前記第1姿勢推定部は、前記探索するに際して、類似度が所定の閾値条件を満たす小領域のうち、前記投影して得られた小領域との距離が最短となる小領域を探索結果となすことを特徴とする請求項５に記載の情報端末装置。
【請求項７】
前記第1姿勢推定部は、前記探索するに際して、前記直近の過去時点にて推定された第2姿勢にて前記前記環境情報における所定の立体形状を前記撮像部の撮像面へ投影した際の線分上の点を中心とする、当該直近の過去時点における小領域であって、かつ、当該投影された所定の立体形状の占める前景に属する小領域に類似する小領域を、前記現時点の画像内から探索することを特徴とする請求項５または６に記載の情報端末装置。
【請求項８】
前記第1姿勢推定部は、前記投影した線分の各々につき、当該線分に対応する各小領域が、前記探索した小領域に最も近い前記現時点の画像内の前記検出された線分に投票することによって、最多票を獲得した線分を対応線分となすことで、前記対応関係を求めることを特徴とする請求項５ないし７のいずれかに記載の情報端末装置。
【請求項９】
前記第1姿勢推定部は、前記投票するに際して、前記探索した小領域に最も近い前記現時点の画像内の前記検出された線分に対する票のうち、当該小領域と当該線分との距離が所定基準を満たして長い場合の票を無効票となすことを特徴とする請求項８に記載の情報端末装置。
【請求項１０】
前記第1姿勢推定部は、前記投票するに際して、前記最多票を獲得した線分であっても、当該最多票の当該投票母数に対する割合が所定条件を満たして小さい場合には、前記対応線分が見つからなかったと判断することを特徴とする請求項８または９に記載の情報端末装置。
【請求項１１】
前記制御部が、前記推定された姿勢における前記所定の立体形状によって生じるオクルージョンを反映したうえで、前記表示部で表示する情報を制御することを特徴とする請求項１ないし１０のいずれかに記載の情報端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を提示する情報端末装置に関し、特に、撮像部と撮像対象の相対的位置関係の変化によって表示部での表示情報を制御できる情報端末装置に関する。
【背景技術】
【０００２】
撮像対象との相対的な位置関係に応じて情報を提示する装置は、提示する情報を直感的に変化させることが可能であり、利用者の利便性を向上させることができる。上記を実現する方法としては、以下のような方法が公開されている。
【０００３】
特許文献１では、ジャイロセンサと、加速度センサと、撮像手段とを備えた入力装置から操作データを取得し、ジャイロセンサが検出する角速度に基づいて入力装置の姿勢を算出した後に、加速度センサが検出する加速度データ及び撮像手段が撮像する所定の撮像対象の画像に基づいて入力装置の姿勢を補正する手法が提案されている。
【０００４】
非特許文献１には、撮像手段で得られた画像から特徴点を抽出し、パーティクルフィルタを適用することによって撮像手段の3 次元座標及び姿勢を動的に推定する手法が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2010-5332号公報
【非特許文献】
【０００６】
【非特許文献１】A. J. Davison, "Real-Time Simultaneous Localization and Mapping with a Single Camera," Proceedings of the 9th IEEE International Conference on Computer Vision Vol. 2, pp. 1403-1410, 2003.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１の姿勢算出装置では、まずジャイロセンサから逐次出力される角速度を積分し、初期状態からの姿勢の変化量を積分結果から算出することによって、現在の姿勢を算出する。このとき、ジャイロセンサの誤差が蓄積する問題を解決するため、加速度センサが示す向きが重力加速度方向であることを仮定して補正する。しかし、動きによっては装置が移動している最中に重力加速度方向以外に加速度が発生すること、及び加速度センサから算出される姿勢の誤差を想定していないために、特許文献１では姿勢を正確に算出することができないおそれがある。また、加速度センサのなかには重力加速度を計測できないものもあるため、利用できる加速度センサは限定される。一方、撮像手段を補正に利用する実施例では、赤外線を照射する装置を別途設置しておく必要があるため、特許文献１の装置を利用できる場所が限定されるという課題がある。
【０００８】
非特許文献１の手法では、多数のパーティクルが特徴点の確率分布を近似するが、十分な数のパーティクルが無いと精度が著しく低下するという問題がある。一方、パーティクルの数に処理時間が比例するため、計算資源に乏しい端末でリアルタイムに動作させるには適していないという問題がある。また、確率分布算出には過去の特徴点座標やカメラ座標が基準として用いられるため、誤差が蓄積しやすいという問題もある。さらに、特徴点が存在しない撮像対象には適用できないという問題もある。
【０００９】
本発明の目的は、上記課題を解決し、撮像部を用いて情報端末装置の姿勢を正確に算出し、表示部で表示する情報を制御できる情報端末装置を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明は、撮像対象を撮像した画像を得る撮像部を有する情報端末装置であって、所定時点における画像内に写っている所定物体に対して重ね合わせて一致させるための、所定の立体形状を前記撮像部に対して所定の姿勢で配置する情報を環境情報として受け取る設定部と、前記所定時点以降の画像内に写っている前記所定物体の前記撮像部に対する姿勢を、当該画像から検出した線分と、前記環境情報における所定の立体形状のにおける面同士の境界線及び／又は稜線からなる特徴線と、に基づいて、前記所定の姿勢からの変動分として推定する推定部と、情報を表示する表示部と、前記表示部で表示する情報を記憶する表示データベースと、前記表示データベースから読み出して前記表示部で表示する情報を、前記推定された姿勢に応じて制御する制御部と、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、姿勢が推定されるので、撮像部と、撮像対象としての所定物体と、の姿勢を変化させるだけで表示部での表示する情報を当該姿勢に応じて制御できるようになる。また、当該推定は固定値としての環境情報と、画像解析の結果との対比によってなされるので、誤差の累積などを発生させることなく、精度よく表示する情報の制御が可能となる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に係る情報端末装置の機能ブロック図である。
【図２】環境情報と、環境情報を利用した表示制御と、の例を説明するための図である。
【図３】設定部がユーザに環境情報の入力をさせるために提供する画面インターフェースの一例を示す図である。
【図４】推定部による姿勢推定における時系列上の関係を説明するための図である。
【図５】推定部での処理手順を示すフローチャートである。
【図６】環境情報から得られる特徴線及び特徴線の端点を説明するための図である。
【図７】小領域を定めるための特徴線上の所定点を説明するための図である。
【図８】投票によって線分対応を決定する例を示す図である。
【図９】姿勢推定における点の位置関係を模式的に示す図である。
【発明を実施するための形態】
【００１３】
図１は、本発明の一実施形態に係る情報端末装置の機能ブロック図である。情報端末装置10は、撮像部1、推定部2、設定部3、制御部4、環境ＤＢ(環境データベース)5、表示ＤＢ(表示データベース)6及び表示部7を備える。また、図中併記するように、推定部2は第1姿勢推定部21及び第2姿勢推定部22を含む。情報端末装置10には、携帯端末やスマートフォン等を採用することができるが、当該機能ブロックの構成を取れば、デスクトップ、ラップトップ又はタブレット端末その他のコンピュータを採用してもよい。
【００１４】
当該各部の概要は次の通りである。
【００１５】
撮像部1は、所定の撮像対象を撮像して、所定のサンプリング周期にてその画像を推定部2、設定部3及び制御部4に渡す。情報端末装置10が携帯端末等であれば、撮像部1には携帯端末等に標準装備されるデジタルカメラを用いることができる。
【００１６】
設定部3は、撮像部1から入力される画像に対して、表示情報の制御に利用する当該画像内の所定の立体形状をユーザが手動で設定した情報を受け取る。立体形状の指定は、平面や直方体、円柱、円錐などの基本的な形状モデルや3 次元形状モデル等をユーザが手動で画像内に配置して、画像内に写っている所定の立体形状に重ね合わせるようにすることによってなされる。
【００１７】
情報端末装置10のユーザは、不図示のキーパッド、タッチパネル等に対するメニュー選択等の入力操作で、当該モデルを1個以上選択し、それぞれに対する拡大、縮小、回転、せん断等の変形(「編集操作」とする)によって実環境の物体を近似するように、(すなわち、実環境の物体に画像上において一致して重ね合わせるように、)配置することで、3次元的な奥行き情報を含めて設定し、オクルージョンによって2次元画像上見えない領域をも含めて3次元空間上における表示情報制御領域を形成することができる。こうして立体形状モデルの種類とモデル同士の相対的な配置情報（相対的な3次元座標）とによって指定された領域情報は、環境情報として推定部2及び環境ＤＢ5に渡される。
【００１８】
環境ＤＢ5は、設定部3で設定された環境情報を蓄積している。一度設定された情報を保持しておき、再度同じ環境下で利用する際には、設定部3での操作を省略することもできる。情報端末装置10のユーザーは、不図示のキーパッド、タッチパネル等に対するメニュー選択等の入力操作で、環境ＤＢ5に蓄積されている環境情報の中から所望の環境情報を選択して推定部2に渡すようにすることができる。
【００１９】
推定部2は、撮像部1から入力される画像から線分と点を検出し、ユーザ指定により設定部3又は環境DB5から受け取った環境情報と比較することで、撮像対象のうち、環境情報で指定した所定の立体形状の撮像部に対する相対的な姿勢を段階的に推定する。
【００２０】
すなわち、第1姿勢推定部21によって、部分的な隠蔽に頑健な線分情報を利用して暫定的な姿勢を推定した後、第2姿勢推定部22によって、線分情報による姿勢推定結果をもとに点情報を検出して、正確な対応関係を得ることで、最終的な姿勢を推定する。当該推定された姿勢は、所定の変換式及び変換係数の形式で制御部に出力される。推定部2での処理の詳細は後述する。
【００２１】
表示ＤＢ6は、表示部7で表示する表示情報を予め複数蓄積している。情報端末装置10のユーザは、不図示のキーパッド、タッチパネル等に対するメニュー選択等の入力操作で、表示ＤＢ6に蓄積されている表示情報の中から所望の表示情報を選択して表示部7に表示させることができる。特に、所定の立体形状に対してその推定姿勢と連動させて画像上において付加表示を加える、AR(拡張現実)上の仮想表示情報として、表示部7に表示させることもできる。
【００２２】
表示部7での情報表示の際、制御部4は推定部2から受け取った姿勢（変換式及び変換係数）を表示情報に適用して、表示情報を加工して制御する。また、制御部4は、表示情報の座標と当該姿勢における立体形状の奥行き情報とを比較し、立体形状が表示情報の手前に存在している場合は、立体形状に応じて表示情報を適宜隠蔽することで、前後関係を保持した表現を提示する。すなわち、表示情報の表示に際しては、立体形状によるオクルージョンを反映した形で、表示を行う。
【００２３】
以下、図2〜図4を順次参照して、上記各部及び／又は各部の扱う情報の概念的な説明を行う。
【００２４】
図2は、撮像した画像に対する環境情報と、当該環境情報を用いての本発明による表示制御と、を説明するための例を示す図である。撮像した画像には(1)に示すように、机の上に電卓が配置されたところが写っている。ここでは(2)に示すように、当該机及び電卓を環境情報における立体形状として用いる。
【００２５】
すなわち、電卓は共有辺において所定の角度をなして互いに接続された２つの四角形からなる立体形状E1として、机は直方体の立体形状E2として、ユーザにより指定される。そして、(1)の画像上において当該モデルの位置・大きさ・向きなどをマニュアルで調整して各実物体(電卓及び机)上に一致するようにしたものが(2)となる。
【００２６】
ここで、机を表す立体形状E2は、撮像画像内にその一部のみが見えた状態となっており、例えば(2)に示す頂点P1は当該画像の外にあり、P2に示す画像手前側に関しても、画像の外にある。環境情報においてはこうした画像領域内において一部分が見え隠れしている状態も扱うことができ、また、オクルージョンも扱うことができる。
【００２７】
(3)が当該環境情報を用いての表示情報の制御例であり、付加画像A1〜A3が重畳されている。ここで、漁師の付加画像A1及びバケツの付加画像A2が環境情報における立体形状E2の直方体情報を利用して、当該直方体の面上、すなわち机の上に配置され、海の模様の付加画像A3が当該直方体の一辺で区切られた領域に付加されている。
【００２８】
バケツの付加画像A2に関してはさらに、立体形状E1の情報を利用して、電卓の背後にその一部分のみが見えた形で配置されている。すなわち、付加画像A2は立体形状E1によるオクルージョンを反映して配置されている。
【００２９】
図3は、設定部3がユーザに環境情報の入力をさせるために提供する画面インターフェースの一例である。すなわち、画面G1には所定立体形状の1つとしてそれぞれ、平面、直方体及び円柱を入力するためのメニューM1、M2及びM3があり、また、その他の所定の立体形状を入力するためのメニューM4がある。なお、図3では前記各種の編集操作を実施するためのインターフェースについては描くのを省略しているが、周知の各種のインターフェース(特に、3次元CAD[コンピュータ設計支援]等のCG[コンピュータグラフィック]の分野のもの)を利用することでも、当該編集操作用のインターフェースを実現可能である。
【００３０】
立体重畳入力領域R1には、撮像部1からの撮像画像が表示され(ただし図中では、描くのを省略している)、ユーザは当該メニューM1〜M4等を選択して1個以上の所望の立体形状を選び、前記各種の編集操作によって、当該領域R1上において撮像画像上の所望の特定の物体に編集された立体形状を一致させて重ね合わせる。
【００３１】
このため、当該編集操作中及び重ね合わせた結果の確認中においては、立体形状の辺のみを当該領域R1上に重畳表示することが好ましい。この際、オクルージョンにより見えなくなる部分については表示しないようにしてもよいし、見えている部分と線の表示方式を変えてオクルージョンの発生の旨をユーザが確認できるようにしてもよい。また、立体形状が円柱や円錐であれば、底面の円の縁の部分と、側面のうち稜線をなす部分と、を上記「辺」の場合と同様にして扱うようにすればよい。
【００３２】
領域R1にはこのような編集操作によって入力された、長方形F1、直方体F2及び円柱F3を立体形状として含む環境情報が表示されている。当該環境情報は、長方形F1上の所定位置に直方体F2が配置され、直方体F2の一面上の所定位置に円筒F3が配置されるという、立体形状間の相対的な配置情報を含んでいる。各立体形状に対応する実物体は例えば、長方形F1は下敷き、直方体F2は箱、円筒F3は容器であって、ユーザが領域R1に表示される撮像画像上においてその輪郭を一致させるように入力したものである。
【００３３】
図4は、推定部2による姿勢推定に際して、利用する情報の時系列上の関係を説明するための図である。(0)は初期時刻T=0、(1)は1回目の姿勢推定の時刻T=1、(2)は2回目の姿勢推定の時刻T=2、の状態を表している。なお、当該姿勢推定の各回の間隔に関しては所定間隔を設定しておけばよい。
【００３４】
(0)の初期時刻T=0は、設定部3を介してユーザより画像上の所定の立体形状の、画像上の配置の入力を受け取った時刻である。ここでは例として、長方形(の一部分)F20として入力された机の板と、机上の長方形F10として入力された下敷きと、下敷き上の直方体F30として入力された箱と、背景に存在する壁上の長方形(の一部分)F40として入力されたドア枠と、が入力されている。以降時刻におけるこれら(の線分が画像上から特定されたもの)の参照番号は、(1)の時刻T=1では下1桁を1としたもの、(2)の時刻T=2では下1桁を2としたもの、となる。
【００３５】
(0)にて環境情報として構成される当該F10〜F40により、立体形状の初期姿勢(姿勢[0])が定まる。次の時刻ステップT=1における推定される姿勢[1]は、姿勢[0]からの変動として求められ、初期姿勢の線分F10〜F40と、対応線分として特定された線分F11〜F41と、の関係として求められる。さらにその次のステップT=2において推定される姿勢[2]は、姿勢[1]からの変動として求められ、線分F11〜F41と、対応線分として特定された線分F12〜F41と、の関係として求められる。以降の各時刻Tについても同様である。
【００３６】
ここで特に結果的には、姿勢[1]、姿勢[2]及び以降の各時刻Tの姿勢[T]は、初期姿勢[0]における立体形状の配置情報を移動及び回転させたものとして求められることとなる。上記で直前の結果を参照するのは、見え方が大きくは変わらないことが想定され、推定が容易となるためである。
【００３７】
また特に、各時刻T=0,1,2, ... における各姿勢[T]を、初期姿勢[0]を与える際に特定された立体形状の配置情報と、各時刻Tにおける対応する線分特定の結果(配置情報のうちオクルージョンの影響を受けずに見えている部分に限定される)と、の関係として求める。前者(初期姿勢[0]を与える際に特定された立体形状の配置情報)は固定値であるために、本発明においては時刻経過に伴う姿勢推定の誤差累積がない。
【００３８】
また、図4の例では、初期姿勢における線分の中で例えばF20の一辺が画像上から完全に見えない位置に移動しているが、本発明はこのような場合でも対処可能であり、姿勢推定を継続することができる。あるいは逆に、当初はオクルージョン等で見えていなかった線分(例えば、直方体F30を(0)の裏側から見た場合に現れる面を構成する線分)が新たに見えるようになった場合であっても、姿勢推定を継続することができる。さらにまた、新たに見えるようになる線分と見えなくなる線分とが混在するような場合であっても、姿勢推定を継続することができる。
【００３９】
図5は、推定部2での処理手順を示すフローチャートである。以下、推定部2の詳細を説明する。図示するように順次、ステップS1の線分検出処理、ステップS2の線分選別処理、ステップS3の線分対応処理、ステップS4の第1姿勢推定処理、ステップS5の点対応処理及びステップS6の第2姿勢推定処理が実行される。
【００４０】
当該フロー全体が1回実行される毎に、図4で説明したような各時刻における姿勢推定結果が求まる。従って、フロー全体を順次繰り返すことで、各時刻の姿勢が順次求まる。当該繰り返しは推定部2において所定のタイミング間隔毎に行うようにすればよい。
【００４１】
また、図中に併記するように、ステップS1〜S4は第1姿勢推定部21が実行し、ステップS4,S5は第2姿勢推定部22が実行する。当該各部はすなわち、当該各処理を実行する機能を有している。各処理は以下の通りである。
【００４２】
(ステップS1；線分検出)
まず、線分検出処理では、撮像部から入力される画像から、線分を検出する。当該線分の中には、撮像対象の立体形状によるものが含まれている。線分検出手法の一例として、まずCanny 等のエッジ検出を行い、ノイズ除去およびエッジの拡幅等の整形をする。次に、Hough 変換によってエッジ成分の座標を極座標系に変換する。最後に、同じ座標になった個数が多い極座標上の点を直交座標系の直線として検出する。
【００４３】
(ステップS2；線分選別)
線分選別処理では、環境情報によって得られる、立体形状の直前時刻での推定姿勢において見えている稜線及び／又は面同士の境界線を特徴線とし、特徴線に対応する線分の候補となりうるもの(なお、具体的な線分対応は次ステップS3で定める)を入力された画像の中から選別する。具体的には、前記ステップS1の線分検出処理で得られた線分の中から、下記の条件([条件1]〜[条件3])の所定の組み合わせ(いずれか1つを満たす、いずれか2つを満たす、又は当該3つ全てを満たす)に合致する線分を抽出する。
【００４４】
[条件]
[条件1] 線分の長さが予め定めた閾値より長いこと
[条件2] 線分の密度が予め定めた閾値より小さいこと
[条件3] 線分の近傍領域の色変化が予め設定された閾値より小さいこと
【００４５】
なお、条件3は、立体形状の色情報に関して、色変化が少ない旨が予め既知である場合に適用可能であり、当該色変化の少ない旨は環境情報と共にユーザが設定部3にて設定しておくものとする。「近傍領域」に関しては、線分又は線分上の点を含んで線分の両側に所定範囲として形成される近傍領域のうち、少なくとも片側の近傍領域とする追加条件を課してもよい。当該追加条件は、後述の「[３−１] 類似小領域の探索」における小領域の範囲選択と同じ考えに基づくものである。
【００４６】
図6は、環境情報から得られる特徴線(及びその端点)を説明するための図である。ここでは、図6の(1)を参照して特徴線を説明する。(2)はその端点を説明するためのものであるが、これについては後述するステップS5及びS6において参照する。
【００４７】
図6の(1)では、環境情報における所定の立体形状として、長方形F62(下敷きなど)と、当該長方形F62上に配置される直方体F61(箱など)と、の組み合わせを想定している。直方体F61に関しては、6つの面のうち3つの面が見えているので、当該見えている面を構成し、面同士の境界線となっている各線分L11〜L19が特徴線となる。
【００４８】
当該特徴線は立体形状における面同士の境界線の例であるが、同様に円柱あるいは円錐の側面から得られるような、立体形状の稜線が特徴線に含まれていてもよい。
【００４９】
一方、長方形F62に関しては、構成辺として全て見えている3つの線分L22,L23及びL24が特徴線となると共に、残りの1つの構成辺に関しては、直方体F61によってオクルージョンが生じているので、当該オクルージョンにより分断された線分L21及びL25の2つが特徴線となる。すなわち、本来は点線L20による接続部分を介して一本の線分であるが、見えている区分毎に、特徴線とする。その他、画像の端をまたいで途切れるような場合でも同様に、適宜分断して特徴線となすものとする。
【００５０】
(ステップS3；線分対応)
線分対応処理では、前記ステップS2にて候補として画像から選別された線分と、環境情報の特徴線と、の対応関係を推定する。ここで、図4で説明したように、直前時刻における姿勢推定結果をもとに、当該直前の姿勢推定結果における特徴線が、当該姿勢推定対象の入力画像における線分のうちいずれに対応するか、という形で推定を行う。手順は、[３−１]類似小領域の探索、[３−２]線分対応の推定、となる。
【００５１】
[３−１] 類似小領域の探索
まず、環境情報にて直前の過去時点に推定された姿勢(第2姿勢)の立体形状に現れる特徴線を求め、すなわち、直前の姿勢で立体形状を投影した(オクルージョンを反映して画像上にどう見えるかを再現した、すなわち撮像部1の撮像面へと投影した、(以下、「投影」はこの意味とする))場合の特徴線を求め、当該特徴線上の複数の点に対して、各点を中心とした小領域に最も類似した小領域を、当該姿勢推定の対象である現在の入力画像内から探索する。ここで、直前姿勢を投影した際に、オクルージョン等によって線分が分離されて見えている場合、分離されている部分ごとに特徴線を定める。
【００５２】
一例として、類似領域の探索には以下の非特許文献2等に開示のＫＬＴ等を利用すればよい。
[非特許文献2] Jianbo Shi and Carlo Tomasi "Good Features to Track," IEEE Conference on Computer Vision and Pattern Recognition, pages 593-600, 1994.
【００５３】
あるいは、類似度が高い小領域が複数存在し、最大類似度のものを選択することが必ずしも正しくないことが想定される場合は、予め設定された閾値より類似度が高い小領域の中から、小領域間の距離が最短となる小領域を選択しても良い。
【００５４】
小領域の範囲に関しては、撮像部の相対的な位置及び姿勢によって、線分の両側が見かけ上変化するかしないかで、分けても良い。具体的には、線分が前景(設定部3で設定した所定の立体形状の領域)と背景(当該立体形状以外の領域)の境界である場合は、小領域は環境情報から前景の範囲に限定する。
【００５５】
すなわち、背景部分に関しては、何が写るか未知であり、また、写るものが時間によって変化することが想定され、類似判定に用いるべきではない。そこで、背景部分を小領域に含めないようにする。
【００５６】
一方、線分が同一物体内の稜線若しくは複数物体であっても位置関係が維持される境界である場合は、線分を挟んで両側が前景となるので、片側のみに限定することなく当該両側を小領域の範囲に設定する。
【００５７】
なお、小領域設定のための特徴線上の複数の点は、環境情報を構成するための立体形状の入力の際に予め所定設定を与えておくものとする。図7に小領域を定めるための点の設定例を示す。例えば(1)に示すように、特徴線L100に対して、所定の内分点として設定してもよい。(1)では9等分した8個の内分点P101〜P108を中心に小領域が設定される。
【００５８】
また、(2)に示すようにオクルージョンが発生して2つの特徴線L200,L300となっているような場合も、分断後の各特徴線の所定の内分点を利用するようにしてもよい。(2)ではそれぞれ4等分した2個の内分点P201,P202及びP301,P302が利用されている。あるいは、オクルージョンにより分断される前の特徴線における点を利用するようにしてもよい。分断がオクルージョン起因でなく、画像端で途切れることによる場合でも同様にしてよい。あるいは、オクルージョン・途切れの発生有無を問わず、特徴線の画像上における長さに応じた個数の内分点等の所定点を定めるようにしてもよい。
【００５９】
なおまた、前述の前景・背景の区別に関して、内分点を中心の小領域を定めるものとして図6の例で説明すると次の通りである。[1]両側が前景のみの線分は、L12、L13、L16、L18及びL19である。[2]片側が前景、もう片側が背景となる線分は、L11、L14、L21、L23、L24及びL25である。[3]点の位置により当該両者[1]及び[2]が混在しうる線分は、L15及びL17である。[3]の場合は、背景があれば背景を含めないようにして、点毎に前述の小領域設定手法を切り替えればよい。
【００６０】
[３−２] 線分対応の推定
次に、線分の対応関係は、同一線分上の小領域毎に、探索した小領域から最も近い線分に投票し、最も多く投票を獲得した線分を対応線分とする。ただし、小領域からの距離が最短であっても、予め設定された閾値より距離が長い線分は見失ったと判断し除外する。また、投票数が最多であっても、線分の長さに比例するように予め設定された閾値（長さと同様に、投票母数に対する所定割合の票数として閾値を定めてもよい）より対応数が少ない線分は見失ったと判断し除外する。
【００６１】
図8は当該投票による対応線分の推定の例を示す図である。実線で描いた線分L80は、直前の推定姿勢における一つの特徴線であり、点線で描いた線分L91及びL92は、当該姿勢推定対象の現在入力画像から前記ステップS2を経て選別された線分である。なお、その他の特徴線及び選別された線分に関しては、図8では描くのを省略している。ここでは、特徴線L80上の点を中心として小領域R81、R82、R83、R84及びR85が存在し、各小領域が自身の属する特徴線L80に対応する線分がいずれであるかの投票を行う。
【００６２】
矢印を併記するように、当該各小領域R81、R82、R83、R84及びR85に最も類似する小領域としてそれぞれ小領域R91、R92、R93、R94及びR95が探索された。探索された小領域R91、R92及びR93に関しては、最も近い線分が線分L91である。従って、線分L91が小領域R81、R82及びR83から3票を得る。探索された小領域R94及びR95に関しては、最も近い線分がL92であるが、小領域R95と線分L92との距離が閾値を超えている。従って、線分L91が小領域R84より1票を得ると共に、小領域R85の1票は無効票となる。
【００６３】
以上より、特徴線L80では投票数5票のうち、3票を線分L91に投じ、1票を線分L92に投じ、1票が無効票となった。従って、閾値判定を設けない場合であれば、最多票を得た線分L91が、特徴線L80の対応線分として決定される。また、特徴線L80において、例えば少なくとも4票（投票母数5票に対して80％の票）を得なければ対応線分として決定しない閾値判定が課されている場合には、特徴線L80に対応する線分は現在の入力画像上からは見つからなかった、という判断となる。
【００６４】
なお、図8では画像上における位置関係を示すために同一面上に描かれているが、特徴線L80上の点を中心とした小領域R81、R82、R83、R84及びR85は直前の過去時点の画像内における小領域であり、探索された小領域R91、R92、R93、R94及びR95は現在時点の画像内における小領域であるので、当該両者は実際には同一画像上には存在しない。
【００６５】
当該ステップS3の別の実施例では、直前過去の画像における線分は環境情報の線分との対応関係は既知であるため、直前過去の画像で姿勢推定に利用された線分と現在の入力画像における線分との対応関係を求めても良い。この場合、直前過去の画像において第2姿勢推定の際に探索されると共に、環境情報の線分との対応関係が得られた小領域が、図8のような投票を実施することとなる。
【００６６】
(ステップS4；第1姿勢推定)
第1姿勢の推定処理は、環境情報における立体形状の線分と、当該線分との対応が上記ステップS3で得られた入力画像の線分と、を比較することで、立体形状を画像中に投影した直線との誤差が最小となるような3 次元空間内の直線、撮像部の相対的な位置及び姿勢として、推定する。3次元直線L は線上の3 次元点p、単位方向ベクトルd、媒介変数k を使って、p + kd と表される。一方、直線L を含む平面の法線ベクトルn は、直線L の方向ベクトルd と垂直であるため、回転行列R と並進ベクトルt には次式が成り立つ。
【００６７】
【数１】
2014106602.tif 000003
【００６８】
【数２】
2014106602.tif 000004
【００６９】
なお、なお、T は転置操作を示す。N 本の線分の対応関係から下記の誤差関数を最小化することで、回転行列R を求める。
【００７０】
【数３】
2014106602.tif 000005
【００７１】
最後に、前記回転行列R を用いて下記の誤差関数を最小化することで、並進ベクトルtを求める。
【００７２】
【数４】
2014106602.tif 000006
【００７３】
（補足；第1姿勢推定処理S1〜S4の繰り返しについて）
なお、図5中には当該繰り返し処理は描いていないが、以下の第1実施形態及び／又は第2実施形態によって、第1姿勢の推定精度を改善すべく、ステップS1〜S4を再度(2回以上の場合を含む)繰り返してから、ステップS5へ進むようにしてもよい。
【００７４】
[第1実施形態]
最小の誤差((式4)で得られた誤差関数の最小化値)が予め設定された閾値より大きい場合は、推定した変換係数を適用したうえで、すなわち、推定した変換係数の表す姿勢によって以上の説明における直前に推定した姿勢を置き換えたうえで、前記ステップS1の線分選別処理から当該ステップS4までを再度実行することを、当該閾値条件を満たすまで繰り返す。
【００７５】
[第2実施形態]
当該現時点の画像に対して推定された第1姿勢で環境情報の立体形状を投影した画像(前述と同様に当該第1姿勢が画像上でオクルージョン等を反映することでどう見えるか再現したもの)において見えている線分と、直前の姿勢推定の画像において見えていた線分(推定された第2姿勢を投影して得られる線分)と、を比較し、以下[1],[2]のいずれか、または[1],[2]の両者に該当する場合、第1実施形態と同様に推定した変換係数を適用したうえで、ステップS1からステップS4までを再度実行する。
【００７６】
なお、この場合、図8で説明したような投票を実施する小領域は、直前に姿勢推定した画像内に存在するものに限定される。立体形状全面の色情報を予め設定部3で設定しておけば、当該色情報より小領域を構成してもよい。
【００７７】
[1]直前に見えていた線分のうち、現在の線分において完全に(当該線分の全体が)見えなくなっているものがある場合
[2]現在見えている線分の中に、直前には見えていなかった線分がある場合
【００７８】
(ステップS5；点対応)
点対応処理は、入力画像と過去画像において、本来同一の線分上の対応関係にある点を組み合わせる。線分が隠蔽(設定した立体形状同士間での隠蔽と、その他の原因による隠蔽とを含む)によって途切れたり、前記ステップS1の線分検出処理が反射光等によって正確に検出できない場合は、3 次元上の同一線分が2 次元上で複数の線分に見かけ上分離されているか、あるいは同一線分の一部分のみしか検出されていない。
【００７９】
線分の一部のみを用いた姿勢推定は誤差が大きい。そこで、前記ステップS4の姿勢推定では途切れて互いに独立な存在として扱っていた、あるいは一部分しか検出できていなかった線分に、当該ステップS5において3次元空間上では同一直線上にある旨の情報、あるいは続き部分が存在している旨の情報を加味することで、当該線分を統合ないし拡張する。さらに、次のステップS6にて当該3次元上の情報が加味された線分上の点から改めて姿勢を推定する。
【００８０】
まず、ステップS3の線分対応処理で得られた環境情報の立体形状の線分上にある点(小領域を設定するための点)を前記ステップS4の第1姿勢推定結果で投影し、線分上の点を再探索する。すなわち、環境情報における立体形状が第1姿勢を取る場合に、立体形状の線分上の点のうち画像上において見える点がどれであるかを判定する。なお、当該ステップS3及びS4は、前記第1及び／又は第2実施形態で繰り返した場合は、繰り返しの最後におけるものを指す。
【００８１】
次に、投影された各点(見えると判定された各点)を中心とした小領域に最も類似した小領域を現在の入力画像内から探索して投影点の画像上の位置を求め、直前に姿勢判定した画像における対応点とを組み合わせて出力する。当該探索は、前述のステップS3と同様にKLTなどを利用したうえで、所定距離内に範囲を限定し、所定基準によって最大類似度が小さいと判定された場合は、見つからなかったものとしてもよい。
【００８２】
なお、当該ステップS5で投影して再探索し次のステップS6で利用する線分上の点は、図7や図8で説明したのと同じく、特徴線上の所定の内分点を利用することができるが、点単位での探索であって、図8で説明したような線分単位での投票は行わない。また、内分点ではなく特徴線の端点のみを利用してもよい。図6の(2)は端点の例であり、環境情報における直方体F61の投影より端点P11,P12,P13,P14,P15,P16及びP17が得られ、長方形F62の投影より端点P21,P22,P23,P24,P32及びP31が得られる。
【００８３】
なお、端点のみ利用する場合は、環境情報の立体形状の投影結果の線分がオクルージョンで分断されている際には、本来存在する線分の端点のみを利用してもよい。図6の(2)の例であれば、端点P21,P31,P32及びP24は本来は長方形F62の一辺である線分がオクルージョンで分断されているので、点P31及びP32を除外して、本来の線分の端点P21及びP24を利用するようにしてもよい。
【００８４】
(ステップS6；第2姿勢推定)
第二の姿勢推定処理は、前記ステップS5で求めた入力画像(時刻T＝n)における点xn と直前の画像(時刻T＝n−1)における点xn―1 との組み合わせから姿勢を推定する。当該位置関係を模式的に図９に示す。図９にてL, p, d, n等は(式1)〜(式4)のそれに対応する。(ただし、nについては法線nと時刻インデクスT=nとを併用している。)
【００８５】
まず、エピポーラ拘束を用いて基本行列E を求める。
【００８６】
【数５】
2014106602.tif 000007
【００８７】
基本行列E を分解して回転行列R と並進ベクトルt を導出し、直前のT=n−1における姿勢からの変動として現在のT＝nにおける姿勢が得られる。さらに、直前のT=n−1における第2姿勢に当該変動の分を加味することで、現在のT＝nにおける第2姿勢が得られる。
【００８８】
なお前述のように、初期時刻T＝0における初期姿勢は、環境情報により与えられているので、(式5)の代わりに以下の(式6)の基本行列E を分解して回転行列R と並進ベクトルt を導出すれば、初期姿勢からの変動として現在のT=nにおける姿勢が得られる。同様にして、任意の過去時点からの変動として現在のT=nにおける姿勢を得ることができる。これらの場合、ステップS5において「直前に姿勢判定した画像における対応点」の代わりに、当該所定の過去時点の画像における対応点を出力させておく。
【００８９】
【数６】
2014106602.tif 000008
【００９０】
なおまた、当該基本行列E を分解して回転行列R と並進ベクトルt とを導出する一例としては、下記文献を用いることができる。
[特許文献３] K. Kanatani and Y. Sugaya, "Compact fundamental matrix computation," IPSJ Transactions on Computer Vision and Applications, Vol.  2, pp.  59-70, 23 2010.
【００９１】
以下、本発明における補足的事項を説明する。
【００９２】
（１）姿勢推定精度の観点からは好ましくないが、推定部2のうち第2姿勢推定部22を省略して、第1姿勢推定部21のみで本発明を実施することも可能である。この場合、第1姿勢を用いて制御部4が制御を実施することとなる。
【００９３】
（２）時刻T=nにおける立体形状がその直前の時刻T＝n−1における立体形状と比べて見え方が変わる場合、すなわちT＝n−1時点では見えていなかった特徴線が現れたり、逆に見えていた特徴線が消失したりする場合も、その他のある程度の割合の特徴線がT=n, n−1の両時点で共通であれば、第1姿勢推定処理によって、見えていなかったあるいは消失した特徴線を反映した第1姿勢を推定できる可能性が高い。従って、見え方が変化していく場合であっても、本発明では姿勢推定を行うことができる。
【００９４】
また、当該隣接時刻間に現れたり消失したりする特徴線が多くの割合で現れ、上記第1姿勢の推定では姿勢推定の継続が困難になることが予想される場合は、予め当該予想を反映して姿勢推定を実行するようにしてもよい。すなわち、現時点T=nにおける第1姿勢推定の際に比較用に参照する姿勢として、過去時点T=n−１における第2姿勢を用いる代わりに、一連の過去時点の第2姿勢の履歴から予測される姿勢を用いるようにしてもよい。
【００９５】
当該予測には、カルマンフィルタ又はパーティクルフィルタ等を用いることができる。当該予測姿勢は、予測姿勢において特徴線の消失又は発生が、直近過去姿勢内に存在していた特徴線の総数に対して所定割合を超える場合に利用するようにすればよい。また当該予測利用をする際も、通常手法で推定した姿勢と推定誤差を比較して、誤差の小さい方を採用するようにしてもよい。
【００９６】
（３）立体形状を入力して初期姿勢を定めた際に、または、上記（２）のように見えていなかった特徴線がT＝n時点で新たに見えるようになった際に、当該初期画像またはT＝n時点の画像上において、小領域が自動で読み込まれ、続く画像上における線分対応及び点対応の推定に利用されることとなる。当該自動で読み込む際も、前述のように前景・背景の区別のもと、背景がある場合は排除する形で小領域を読み込むようにしてもよい。なおまた、上記のように小領域が自動で読み込まれることから、本発明においては立体形状の色情報等をユーザがマニュアル入力することは必須ではない。
【００９７】
（４）設定部3でユーザが編集操作によって環境情報を入力する際は、方向軸の定まっていない自由空間での編集操作は煩雑であるので、まず立体を配置する平面をその境界線の指定等によって特定してから、当該平面上に拘束された形で立体形状を編集するようにしてもよい。その他適宜、入力補助のための「足場」としての立体形状を利用するようにしてもよく、前述のように周知のCAD分野の各種手法を利用してもよい。
【００９８】
また、撮像部1に対する位置及び姿勢を推定可能な各種の周知のAR（拡張現実）マーカを予め配置しておき、当該マーカの定める空間座標に所定の環境情報を予め当該マーカと対応付けて構築しておき、当該マーカを読み込むことで、当該所定の環境情報が設定部3において自動で読み込まれるようにしてもよい。当該各種のマーカの情報は環境DB5に予め登録しておいてもよい。
【００９９】
（５）制御部4による表示部7での表示制御の際には、推定された姿勢で環境情報の立体形状を配置した際のオクルージョンを反映した形で制御を実施することができる。追加で表示する情報に関しては、設定部3を用いて環境情報と全く同様にマニュアル入力するようにしてもよい。例えば図3の例では、平面F1及び直方体F2を環境情報とし、円筒F3を当該直方体F2上の所定位置に固定させて連動して動く追加表示情報とすることもできる。また、（４）のようなマーカを用いる場合であれば、環境情報と対応づけて追加表示情報も設定しておくこともできる。
【符号の説明】
【０１００】
10…情報端末装置、1…撮像部、2…推定部、3…設定部、4…制御部、5…環境DB（環境データベース）、6…表示DB（表示データベース）、7…表示部、21…第1姿勢推定部、22…第2姿勢推定部
【図１】
2014106602.tif 000009
【図２】
2014106602.tif 000010
【図３】
2014106602.tif 000011
【図４】
2014106602.tif 000012
【図５】
2014106602.tif 000013
【図６】
2014106602.tif 000014
【図７】
2014106602.tif 000015
【図８】
2014106602.tif 000016
【図９】
2014106602.tif 000017