(57)【要約】【課題】床面の検出精度を向上させる。【解決手段】床面検出プログラムは、撮影者の所定の部位を撮影し、撮影した撮影画像から前記所定の部位の特徴点群を抽出し、特徴点群と床面との位置関係を予め規定したモデル情報に基づき、抽出した特徴点群から床面の位置を算出し、撮影画像において床面を特定する、処理をコンピュータに実行させる。【選択図】図４
2020067978.tif 000002
【特許請求の範囲】
【請求項１】
撮影者の所定の部位を撮影し、
撮影した撮影画像から前記所定の部位の特徴点群を抽出し、
特徴点群と床面との位置関係を予め規定したモデル情報に基づき、抽出した特徴点群から床面の位置を算出し、撮影画像において床面を特定する、
処理をコンピュータに実行させるための床面検出プログラム。
【請求項２】
前記所定の部位を撮影した撮影画像から、３次元点群と撮影装置の位置及び姿勢とを推定し、推定した３次元点群から、前記所定の部位の特徴点群を抽出する、請求項１に記載の床面検出プログラム。
【請求項３】
前記所定の部位を撮影した撮影画像から推定される３次元点群のうち、前記撮影装置の光軸方向において、所定の距離にある所定の大きさの領域に含まれる３次元点群を、前記特徴点群として抽出する、請求項２に記載の床面検出プログラム。
【請求項４】
重力方向を示すデータを取得し、
前記撮影装置の姿勢が、前記重力方向に対して所定の条件を満たす場合に、前記領域を撮影画像上に表示する、請求項３に記載の床面検出プログラム。
【請求項５】
前記モデル情報には、所定の部位を撮影した場合に抽出される特徴点群に基づいて算出される水平面と、床面との位置関係が規定されており、
抽出した特徴点群に基づいて算出される水平面に対して、前記モデル情報に規定された水平面をフィッティングさせることで、前記床面の位置を算出する、請求項２に記載の床面検出プログラム。
【請求項６】
前記モデル情報には、所定の部位を撮影した場合に抽出される特徴点群と、床面との位置関係が規定されており、
抽出した特徴点群に対して、前記モデル情報に規定された特徴点群をフィッティングさせることで、前記床面の位置を算出する、請求項２に記載の床面検出プログラム。
【請求項７】
算出した前記床面の位置に基づいて、前記撮影装置の現在の位置及び姿勢のもとで撮影された撮影画像において床面を特定する、請求項５または６に記載の床面検出プログラム。
【請求項８】
特定した床面の位置を示す情報を、前記撮影装置の現在の位置及び姿勢のもとで撮影された撮影画像に表示する、請求項７に記載の床面検出プログラム。
【請求項９】
撮影者の所定の部位を撮影し、
撮影した撮影画像から前記所定の部位の特徴点群を抽出し、
特徴点群と床面との位置関係を予め規定したモデル情報に基づき、抽出した特徴点群から床面の位置を算出し、撮影画像において床面を特定する、
処理をコンピュータが実行する床面検出方法。
【請求項１０】
撮影者の所定の部位を撮影した撮影画像を取得する取得部と、
取得した撮影画像から前記所定の部位の特徴点群を抽出する抽出部と、
特徴点群と床面との位置関係を予め規定したモデル情報に基づき、抽出した特徴点群から床面の位置を算出し、撮影画像において床面を特定する特定部と
を有することを特徴とする端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、床面検出プログラム、床面検出方法及び端末装置に関する。
【背景技術】
【０００２】
従来より、スマート端末等に搭載されるアプリケーションとして、ＡＲ（Augmented  Reality）技術を利用したアプリケーション（例えば、ＡＲレイアウト設計、ＡＲナビゲーション等）が知られている。当該アプリケーションでは、検出した現実世界の床面の位置を基準として、各種ＡＲ画像の表示が行われる。
【０００３】
ここで、床面の位置を検出する技術として、例えば、下記特許文献１には、撮影した床面の撮影画像から特徴点を抽出し、抽出した特徴点の３次元座標を算出することで、床面を特定する検出方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１７５６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、撮影画像内の床面の特徴点を用いた検出方法の場合、床面の凹凸が少なかったり、光沢があった場合に、特徴点を抽出することができず、検出精度が低下するといった問題がある。
【０００６】
一つの側面では、床面の検出精度を向上させることを目的としている。
【課題を解決するための手段】
【０００７】
一態様によれば、床面検出プログラムは、
撮影者の所定の部位を撮影し、
撮影した撮影画像から前記所定の部位の特徴点群を抽出し、
特徴点群と床面との位置関係を予め規定したモデル情報に基づき、抽出した特徴点群から床面の位置を算出し、撮影画像において床面を特定する、処理をコンピュータに実行させる。
【発明の効果】
【０００８】
床面の検出精度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】スマート端末の外観構成の一例を示す図である。
【図２】スマート端末のハードウェア構成の一例を示す図である。
【図３】モデル情報の一例を示す第１の図である。
【図４】床面検出処理の概要を説明するための第１の図である。
【図５】床面検出部の機能構成の一例を示す図である。
【図６】床面検出処理の流れを示す第１のフローチャートである。
【図７】モード移行判定処理の流れを示す第１のフローチャートである。
【図８】領域設定処理の流れを示す第１のフローチャート及び領域設定処理の具体例を示す第１の図である。
【図９】特徴点抽出処理の流れを示す第１のフローチャート及び特徴点抽出処理の具体例を示す第１の図である。
【図１０】モデルフィッティング処理の流れを示す第１のフローチャート及びモデルフィッティング処理の具体例を示す第１の図である。
【図１１】モデルフィッティング処理の流れを示す第２のフローチャート及びモデルフィッティング処理の具体例を示す第２の図である。
【図１２】モデル情報の一例を示す第２の図である。
【図１３】床面検出処理の概要を説明するための第２の図である。
【図１４】床面検出処理の流れを示す第２のフローチャートである。
【図１５】モード移行判定処理の流れを示す第２のフローチャートである。
【図１６】領域設定処理の流れを示す第２のフローチャート及び領域設定処理の具体例を示す第２の図である。
【図１７】特徴点抽出処理の流れを示す第２のフローチャート及び特徴点抽出処理の具体例を示す第２の図である。
【図１８】モデルフィッティング処理の流れを示す第３のフローチャート及びモデルフィッティング処理の具体例を示す第３の図である。
【図１９】モデルフィッティング処理の流れを示す第４のフローチャート及びモデルフィッティング処理の具体例を示す第４の図である。
【図２０】ＡＲナビゲーションへの適用例を示す図である。
【発明を実施するための形態】
【００１０】
以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
【００１１】
［第１の実施形態］
＜スマート端末の構成＞
はじめに、第１の実施形態に係る端末装置の一例である、スマート端末の外観構成について説明する。図１は、スマート端末の外観構成の一例を示す図である。図１に示すように、スマート端末１００は、前面側に表示画面１０１を有し、例えば、背面側に設けられた撮影装置（図１において不図示）により撮影された撮影画像を表示する。
【００１２】
スマート端末１００には、床面検出プログラムがインストールされており、当該プログラムを実行することで、スマート端末１００は、床面検出部１１０として機能する。床面検出部１１０は、モデル情報格納部１２０に格納されたモデル情報を参照することで、撮影装置により撮影された撮影画像において、床面を特定する。また、床面検出部１１０は、特定した床面を示す情報（例えば、マーカ）を、表示画面１０１に表示された撮影画像上に表示する。
【００１３】
＜スマート端末のハードウェア構成＞
次に、スマート端末１００のハードウェア構成について説明する。図２は、スマート端末のハードウェア構成の一例を示す図である。図２に示すように、スマート端末１００は、ＣＰＵ（Central  Processing  Unit）２０１、ＲＯＭ（Read  Only  Memory）２０２、ＲＡＭ（Random  Access  Memory）２０３を有する。ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３は、いわゆるコンピュータを形成する。
【００１４】
また、スマート端末１００は、補助記憶装置２０４、表示装置２０５、操作装置２０６、撮影装置（背面）２０７、撮影装置（前面）２０８、慣性センサ２０９、通信装置２１０を有する。なお、スマート端末１００の各ハードウェアは、バス２１１を介して相互に接続されている。
【００１５】
ＣＰＵ２０１は、補助記憶装置２０４にインストールされている各種プログラム（例えば、床面検出プログラム等）を実行する演算デバイスである。
【００１６】
ＲＯＭ２０２は、不揮発性メモリである。ＲＯＭ２０２は、補助記憶装置２０４にインストールされている各種プログラムをＣＰＵ２０１が実行するために必要な各種プログラム、データ等を格納する主記憶デバイスとして機能する。具体的には、ＲＯＭ２０２はＢＩＯＳ（Basic  Input/Output  System）やＥＦＩ（Extensible  Firmware  Interface）等のブートプログラム等を格納する、主記憶デバイスとして機能する。
【００１７】
ＲＡＭ２０３は、ＤＲＡＭ（Dynamic  Random  Access  Memory）やＳＲＡＭ（Static  Random  Access  Memory）等の揮発性メモリである。ＲＡＭ２０３は、補助記憶装置２０４にインストールされている各種プログラムがＣＰＵ２０１によって実行される際に展開される作業領域を提供する、主記憶デバイスとして機能する。
【００１８】
補助記憶装置２０４は、各種プログラムや、各種プログラムが実行される際に用いられる情報を格納する補助記憶デバイスである。例えば、モデル情報格納部１２０は、補助記憶装置２０４において実現される。
【００１９】
表示装置２０５は、表示画面１０１を有し、撮影画像等を表示する表示デバイスである。操作装置２０６は、スマート端末１００のユーザがスマート端末１００に対して各種指示を入力する入力デバイス（例えば、タッチパネル）である。
【００２０】
撮影装置（背面）２０７、撮影装置（前面）２０８は、例えば、ＲＧＢカメラであり、撮影画像を生成する。撮影装置（背面）２０７は、スマート端末１００の背面側（表示画面１０１とは反対側）に設けられる。また、撮影装置（前面）２０８は、スマート端末１００の前面側（表示画面１０１と同じ側）に設けられる。
【００２１】
慣性センサ２０９は、３軸方向の角度（または角速度）と加速度を検出し、センサデータを生成する。通信装置２１０は、不図示のネットワークに接続するための通信デバイスである。なお、補助記憶装置２０４にインストールされる各種プログラムは、例えば、通信装置２１０を介して、ネットワークよりダウンロードされることでインストールされる。
【００２２】
＜モデル情報の具体例＞
次に、補助記憶装置２０４において実現されるモデル情報格納部１２０に格納されるモデル情報の具体例について説明する。図３は、モデル情報の一例を示す第１の図である。図３に示すように、モデル情報には、情報の項目として、“ユーザＩＤ”と“位置関係”とが含まれる。なお、図３に示すように、第１の実施形態においてモデル情報格納部１２０に格納されるモデル情報には、２種類のモデル情報が含まれるものとする。
【００２３】
このうち、図３（ａ）のモデル情報３１０は、水平面３１１と床面３１２との位置関係を規定したモデル情報である。図３（ａ）において、水平面３１１は、ユーザＩＤ＝“Ｕ００１”のユーザの足元を撮影した撮影画像より抽出された特徴点群（図３（ａ）の例では、Ｆ１〜Ｆ７）との鉛直方向の距離の二乗和が最小となる面であって、法線が重力方向と平行な面である。
【００２４】
また、床面３１２は、ユーザＩＤ＝“Ｕ００１”のユーザの足元を撮影した際の、床面を示している。このように、モデル情報３１０では、所定のユーザについて、水平面３１１と床面３１２との位置関係を規定している。
【００２５】
一方、図３（ｂ）のモデル情報３２０は、特徴点群と床面３２１との位置関係を規定したモデル情報である。図３（ｂ）において、特徴点群（図３（ｂ）の例では、Ｆ１〜Ｆ３）は、ユーザＩＤ＝“Ｕ００１”のユーザの足元を撮影した撮影画像より抽出されたものである。また、床面３２１は、ユーザＩＤ＝“Ｕ００１”のユーザの足元を撮影した際の、床面を示している。このように、モデル情報３２０では、所定のユーザについて、特徴点群と床面３２１との位置関係を規定している。
【００２６】
＜床面検出処理の概要＞
次に、床面検出部１１０による床面検出処理の概要について、図４を用いて説明する。図４は、床面検出処理の概要を説明するための第１の図であり、スマート端末１００を操作するユーザの状態と、ユーザの動作と、スマート端末１００内の処理とを対比して示した図である。
【００２７】
図４に示すように、ユーザ４００が直立した状態で、スマート端末１００を操作することで、床面検出プログラムが起動されると、スマート端末１００では、撮影装置（背面）２０７による撮影が開始される。これにより、床面検出部１１０では、撮影画像を取得し、取得した撮影画像から推定される３次元点群（環境の３次元点群）に基づいて、撮影装置（背面）２０７の位置及び姿勢を推定する。なお、撮影画像から推定される３次元点群は、世界座標系の３次元座標により表現されるものとし、当該３次元点群に基づいて推定される撮影装置（背面）２０７の位置及び姿勢も、世界座標系により表現されるものとする。
【００２８】
また、床面検出プログラムが起動されると、スマート端末１００では、慣性センサ２０９による計測が開始される。これにより、床面検出部１１０では、センサデータを取得し、取得したセンサデータに基づいて、スマート端末１００の重力方向を推定する。
【００２９】
続いて、ユーザ４００がスマート端末１００を自身の足元に向けると、撮影装置（背面）２０７の姿勢（撮影装置（背面）２０７の光軸方向）と、重力方向とが概ね一致することになる。これにより、床面検出部１１０では、次のモードへと移行し、表示画面１０１に表示された撮影画像上に、特徴点を抽出すべき領域（特徴点抽出領域）を表示する。
【００３０】
特徴点抽出領域が撮影画像上に表示されたことに伴い、ユーザ４００は、特徴点抽出領域が、表示画面１０１に表示された撮影画像における、ユーザ４００の足元の位置に合うように、スマート端末１００の位置及び姿勢または足元の位置を調整する。
【００３１】
スマート端末１００の位置及び姿勢または足元の位置の調整が完了すると、ユーザ４００は、特徴点を抽出するための抽出指示を入力する。これにより、床面検出部１１０では、撮影画像から推定される３次元点群（足元の３次元点群）のうち、特徴点抽出領域に含まれる３次元点群を特徴点群として抽出する。
【００３２】
特徴点群の抽出が完了すると、床面検出部１１０では、抽出した特徴点群と、モデル情報とを用いて、床面の位置（世界座標系の３次元座標）を算出し、現在の撮影装置（背面）２０７の位置及び姿勢のもとで撮影された撮影画像において床面を特定する。また、特定した床面を示す情報を、表示画面１０１に表示された撮影画像に表示する。これにより、ユーザ４００は、表示画面１０１に表示された撮影画像上で床面を確認することができる。
【００３３】
＜床面検出部の機能構成＞
次に、床面検出部１１０の機能構成について説明する。図５は、床面検出部の機能構成の一例を示す図である。図５に示すように、床面検出部１１０は、撮影画像取得部５０１、３次元点群生成部５０２、撮影装置位置推定部５０３、撮影装置姿勢推定部５０４、センサデータ取得部５０５、重力方向推定部５０６を有する。また、床面検出部１１０は、モード移行判定部５０７、領域計算部５０８、特徴点取得部５０９、床面推定部５１０を有する。
【００３４】
撮影画像取得部５０１は取得部の一例であり、撮影装置（背面）２０７において生成された撮影画像を取得する。
【００３５】
３次元点群生成部５０２、撮影装置位置推定部５０３、撮影装置姿勢推定部５０４は、ＳＬＡＭ技術を用いることで、撮影画像より、環境の３次元点群、撮影装置（背面）２０７の位置及び姿勢をそれぞれ推定する。なお、ＳＬＡＭとはSimultaneous  Localization  and  Mappingの略称である。
【００３６】
センサデータ取得部５０５は、慣性センサ２０９において生成されたセンサデータを取得する。重力方向推定部５０６は、センサデータに基づいて重力方向を推定する。
【００３７】
モード移行判定部５０７は、撮影装置姿勢推定部５０４において推定された撮影装置（背面）２０７の姿勢と、重力方向推定部５０６において推定された重力方向との関係が所定の条件を満たすか否かを判定する。具体的には、撮影装置（背面）２０７の姿勢から導出される撮影装置（背面）２０７の光軸方向が、重力方向に対して概ね平行であるか否かを判定する。
【００３８】
モード移行判定部５０７は、撮影装置（背面）２０７の光軸方向が重力方向に対して概ね平行であると判定した場合、次のモードへと移行し、領域計算部５０８に通知する。
【００３９】
領域計算部５０８は、モード移行判定部５０７よりモード移行の通知を受けると、撮影装置（背面）２０７の現在の位置及び姿勢に基づき、特徴点抽出領域の世界座標系における３次元座標を算出する。
【００４０】
例えば、領域計算部５０８は、現在の撮影装置（背面）２０７の位置及び姿勢から、光軸方向に距離Ｌ［ｍ］の位置の世界座標系における３次元座標を算出する。また、領域計算部５０８は、当該位置を中心位置として鉛直方向に高さｈ［ｍ］、水平方向に半径ｒ［ｍ］の円柱領域を求め、当該円柱領域の世界座標系における３次元座標を、特徴点抽出領域の３次元座標として算出する。
【００４１】
また、領域計算部５０８は、現在の撮影装置（背面）２０７の位置及び姿勢のもとで撮影された撮影画像において、円柱領域の位置を特定し、表示画面１０１に表示された撮影画像に当該円柱領域を表示する。
【００４２】
特徴点取得部５０９は抽出部の一例であり、ユーザ４００から特徴点の抽出指示が入力されると、３次元点群生成部５０２にて推定された３次元点群の中から、特徴点抽出領域に含まれる３次元点群を、特徴点群として抽出する。
【００４３】
床面推定部５１０は特定部の一例であり、モデル情報格納部１２０に格納されたモデル情報（例えば、モデル情報３１０、３２０）を参照し、特徴点取得部５０９において抽出された特徴点群に基づいて、床面の位置の世界座標系における３次元座標を算出する。また、床面推定部５１０は、現在の撮影装置（背面）２０７の位置及び姿勢のもとで撮影された撮影画像において床面を特定し、表示画面１０１に表示された撮影画像に、特定した床面を示す情報を表示する。
【００４４】
＜床面検出処理の流れ＞
次に、床面検出部１１０による床面検出処理の流れについて説明する。図６は、床面検出処理の流れを示す第１のフローチャートである。
【００４５】
ステップＳ６０１において、撮影画像取得部５０１は、撮影装置（背面）２０７より撮影画像を取得し、センサデータ取得部５０５は、慣性センサ２０９よりセンサデータを取得する。
【００４６】
ステップＳ６０２において、３次元点群生成部５０２、撮影装置位置推定部５０３、撮影装置姿勢推定部５０４は、撮影画像より、環境の３次元点群、撮影装置（背面）２０７の位置及び姿勢を推定する。
【００４７】
ステップＳ６０３において、重力方向推定部５０６は、センサデータに基づいて、重力方向を推定する。
【００４８】
ステップＳ６０４において、モード移行判定部５０７は、モード移行判定処理を行い、ステップＳ６０５において、領域計算部５０８は、領域設定処理を行う。また、ステップＳ６０６において、特徴点取得部５０９は、特徴点抽出処理を行い、ステップＳ６０７において、床面推定部５１０は、モデルフィッティング処理を行う。
【００４９】
なお、モード移行判定処理（ステップＳ６０４）〜モデルフィッティング処理（ステップＳ６０７）の詳細は、後述する。
【００５０】
ステップＳ６０８において、床面推定部５１０は、床面を示す情報を、表示画面１０１に表示された撮影画像に表示する。
【００５１】
＜床面検出処理の各工程の詳細＞
次に、床面検出処理の各工程（ここでは、モード移行判定処理（ステップＳ６０４）〜モデルフィッティング処理（ステップＳ６０７））の詳細について説明する。
【００５２】
（１）モード移行判定処理（ステップＳ６０４）の詳細
はじめに、モード移行判定処理（ステップＳ６０４）の詳細について説明する。図７は、モード移行判定処理の流れを示す第１のフローチャートである。
【００５３】
ステップＳ７０１において、モード移行判定部５０７は、重力方向推定部５０６において推定された重力方向（撮影装置（背面）２０７の座標系）と、撮影装置（背面）２０７の姿勢とに基づき、世界座標系の重力方向ベクトルｇｃを算出する。
【００５４】
ステップＳ７０２において、モード移行判定部５０７は、撮影装置（背面）２０７の姿勢から導出される、撮影装置（背面）２０７の光軸方向を示す世界座標系の光軸方向ベクトルｖｃを取得する。
【００５５】
ステップＳ７０３において、モード移行判定部５０７は、重力方向ベクトルｇｃと光軸方向ベクトルｖｃとのなす角度θを算出する。
【００５６】
ステップＳ７０４において、モード移行判定部５０７は、角度θが所定の閾値以下か否かを判定する。ステップＳ７０４において、角度θが所定の閾値以下であると判定した場合には（ステップＳ７０４においてＹＥＳの場合には）、ステップＳ７０５に進む。
【００５７】
ステップＳ７０５において、モード移行判定部５０７は、次のモードへと移行すると判定し、領域計算部５０８に通知した後、ステップＳ６０５に戻る。
【００５８】
一方、ステップＳ７０４において、角度θが所定の閾値以下でないと判定した場合には（ステップＳ７０４においてＮＯの場合には）、直接、ステップＳ６０５に戻る。なお、この場合、床面検出部１１０ではステップＳ６０５以降の処理を行うことなく、床面検出処理を終了する（ただし、床面検出プログラムが継続して実行される場合には、再び、ステップＳ６０１から同様の処理を行う）。
【００５９】
（２）領域設定処理（ステップＳ６０５）の詳細
次に、領域設定処理（ステップＳ６０５）の詳細について説明する。図８は、領域設定処理の流れを示す第１のフローチャート及び領域設定処理の具体例を示す第１の図である。
【００６０】
図８（ａ）に示すように、ステップＳ８０１において、領域計算部５０８は、現在の撮影装置（背面）２０７の位置及び姿勢から、光軸方向に距離Ｌ［ｍ］の位置（中心位置）の世界座標系における３次元座標を算出する。なお、図８（ｂ）において、矢印８１１は、光軸方向の距離Ｌ［ｍ］を表しており、白丸８１２は、中心位置を表している。
【００６１】
ステップＳ８０２において、領域計算部５０８は、中心位置に対して鉛直方向に高さｈ［ｍ］、水平方向に半径ｒ［ｍ］の円柱領域を求め、当該円柱領域の世界座標系における３次元座標を、特徴点抽出領域の３次元座標として算出する。なお、図８（ｂ）において、矩形８１３は、特徴点抽出領域である円柱領域を横から見た様子を示している。
【００６２】
ステップＳ８０３において、領域計算部５０８は、現在の撮影装置（背面）２０７の位置及び姿勢のもとで撮影された撮影画像において、円柱領域の位置を特定し、表示画面１０１に表示された撮影画像に当該円柱領域を表示する。なお、図８（ｂ）において、円８２１は、撮影画像８２０に表示された円柱領域を上から見た様子を示している。
【００６３】
（３）特徴点抽出処理（ステップＳ６０６）の詳細
次に、特徴点抽出処理（ステップＳ６０６）の詳細について説明する。図９は、特徴点抽出処理の流れを示す第１のフローチャート及び特徴点抽出処理の具体例を示す第１の図である。
【００６４】
図９（ａ）に示すように、ステップＳ９０１において、特徴点取得部５０９は、ユーザより、特徴点を抽出するための抽出指示を受け付けたか否かを判定する。ステップＳ９０１において、抽出指示を受け付けていないと判定した場合には（ステップＳ９０１においてＮＯの場合には）、抽出指示を受け付けるまで待機する。
【００６５】
一方、ステップＳ９０１において、抽出指示を受け付けたと判定した場合には（ステップＳ９０１においてＹＥＳの場合には）、ステップＳ９０２に進む。
【００６６】
ステップＳ９０２において、特徴点取得部５０９は、推定された３次元点群の世界座標系における３次元座標を取得する。
【００６７】
ステップＳ９０３において、特徴点取得部５０９は、抽出指示を受け付けた際の撮影装置（背面）２０７の位置及び姿勢に基づいて、世界座標系における特徴点抽出領域の範囲を特定する。
【００６８】
ステップＳ９０４において、特徴点取得部５０９は、特定した特徴点抽出領域の範囲に含まれる３次元点群を、特徴点群として抽出する。
【００６９】
図９（ｂ）は、特徴点取得部５０９が、３次元点群の中から、特徴点抽出領域の範囲に含まれる３次元点群を、特徴点群として抽出した様子を示している（円８２１に含まれる点群が、特徴点群として抽出されたことを示している）。
【００７０】
（４）モデルフィッティング処理（ステップＳ６０７）の詳細その１
次に、床面推定部５１０によるモデルフィッティング処理（ステップＳ６０７）の詳細（モデル情報３１０を利用するケース）について説明する。図１０は、モデルフィッティング処理の流れを示す第１のフローチャート及びモデルフィッティング処理の具体例を示す第１の図である。
【００７１】
図１０（ａ）に示すように、ステップＳ１００１において、床面推定部５１０は、特徴点取得部５０９により抽出された特徴点群に対して、水平面を算出する。具体的には、床面推定部５１０は、特徴点群（図１０（ｂ）のＦ１〜Ｆ７参照）と水平面との間の鉛直方向の距離（誤差）を算出し、最小二乗法を用いて誤差総和が最小となるように水平面（図１０（ｂ）の水平面１０１１）を算出する。
【００７２】
ステップＳ１００２において、床面推定部５１０は、モデル情報（例えば、モデル情報３１０）を読み出し、水平面３１１と床面３１２との位置関係を取得する（図１０（ｂ）参照）。
【００７３】
ステップＳ１００３において、床面推定部５１０は、ステップＳ１００１において算出した水平面１０１１に対して、ステップＳ１００２において取得した位置関係に含まれる水平面３１１をフィッティングさせる。これにより、床面推定部５１０は、床面１０１２の位置の世界座標系における３次元座標を算出する（図１０（ｂ）参照）。
【００７４】
（５）モデルフィッティング処理（ステップＳ６０７）の詳細その２
次に、床面推定部５１０によるモデルフィッティング処理（ステップＳ６０７）の詳細（モデル情報３２０を利用するケース）について説明する。図１１は、モデルフィッティング処理の流れを示す第２のフローチャート及びモデルフィッティング処理の具体例を示す第２の図である。
【００７５】
図１１（ａ）に示すように、ステップＳ１１０１において、床面推定部５１０は、モデル情報（例えば、モデル情報３２０）を読み出し、特徴点取得部５０９により抽出された特徴点群に対して、モデル情報３２０に含まれる特徴点群をフィッティングさせる。
【００７６】
具体的には、特徴点取得部５０９により抽出された特徴点群と、モデル情報３２０に含まれる、対応する特徴点群との間の鉛直方向の距離（誤差）を算出し、最小二乗法を用いて誤差が最小となるように、位置合わせを行うことでフィッティングさせる。なお、このような位置合わせ方法の一例として、ＩＣＰ（Iterative  Closest  Point）アルゴリズムが挙げられる。
【００７７】
ステップＳ１１０２において、床面推定部５１０は、位置合わせされたモデル情報３２０の特徴点群と床面３２１との位置関係から、床面１１１１の位置の世界座標系における３次元座標を算出する（図１１（ｂ）参照）。
【００７８】
以上の説明から明らかなように、スマート端末１００では、ユーザの足元を撮影した撮影画像から特徴点群を抽出し、予め特徴点群と床面との位置関係を規定したモデル情報をフィッティングさせることで、床面の位置の世界座標系における３次元座標を算出する。また、スマート端末１００では、算出した３次元座標から、現在の撮影装置（背面）２０７の位置及び姿勢のもとで撮影された撮影画像において床面を特定する。
【００７９】
このように、床面を撮影した撮影画像から特徴点群を抽出する代わりに、ユーザの足元を撮影した撮影画像から特徴点群を抽出することで、床面の位置の世界座標系における３次元座標を算出することが可能となる。この結果、スマート端末１００によれば、床面の属性によらず、撮影画像において床面を特定することが可能となり、床面の検出精度を向上させることができる。
【００８０】
［第２の実施形態］
上記第１の実施形態では、ユーザの足元を撮影した撮影画像から特徴点群を抽出する場合について説明した。しかしながら、ユーザが撮影対象とする部位は、足元に限定されず、例えば、頭部であってもよい。以下、撮影対象の部位を頭部とした第２の実施形態について、上記第１の実施形態との相違点を中心に説明する。
【００８１】
＜モデル情報の具体例＞
はじめに、補助記憶装置２０４において実現されるモデル情報格納部１２０に格納されるモデル情報の具体例について説明する。図１２は、モデル情報の一例を示す第２の図である。図３との相違点は、“位置関係”における規定内容である。
【００８２】
図１２（ａ）のモデル情報１２１０は、水平面１２１１と床面１２１２との位置関係を規定する。図１２（ａ）において、水平面１２１１は、ユーザＩＤ＝“Ｕ００１”のユーザの頭部を撮影した撮影画像より抽出された特徴点群（図１２（ａ）中の白丸参照）との鉛直方向の距離の二乗和が最小となる面であって、法線が重力方向と平行な面である。
【００８３】
また、床面１２１２は、ユーザＩＤ＝“Ｕ００１”のユーザの頭部を撮影した際の、床面を示している。このように、モデル情報１２１０では、所定のユーザについて、頭部の特徴点群に基づいて算出した水平面１２１１と床面１２１２との位置関係を規定している。
【００８４】
一方、図１２（ｂ）のモデル情報１２２０は、特徴点群と床面１２２１との位置関係を規定したモデル情報である。図１２（ｂ）において、特徴点群（図１２（ｂ）中の白丸参照）は、ユーザＩＤ＝“Ｕ００１”のユーザの頭部を撮影した撮影画像より抽出されたものである。また、床面１２２１は、ユーザＩＤ＝“Ｕ００１”のユーザの頭部を撮影した際の、床面を示している。このように、モデル情報１２２０では、所定のユーザについて、頭部の特徴点群と床面１２２１との位置関係を規定している。
【００８５】
＜床面検出処理の概要＞
次に、床面検出部１１０による床面検出処理の概要について、図１３を用いて説明する。図１３は、床面検出処理の概要を説明するための第２の図であり、スマート端末１００を操作するユーザの状態と、ユーザの動作と、スマート端末１００内の処理とを対比して示した図である。
【００８６】
図１３に示すように、ユーザ４００が直立した状態で、スマート端末１００を操作することで、床面検出プログラムが起動されると、スマート端末１００では、撮影装置（背面）２０７による撮影が開始される。これにより、床面検出部１１０では、撮影画像を取得し、取得した撮影画像から推定される３次元点群（環境の３次元点群）に基づいて、撮影装置（背面）２０７の位置及び姿勢を推定する。
【００８７】
また、床面検出プログラムが起動されると、スマート端末１００では、慣性センサ２０９により計測が開始される。これにより、床面検出部１１０では、センサデータを取得し、取得したセンサデータに基づいて、スマート端末１００の重力方向を推定する。
【００８８】
続いて、ユーザ４００がスマート端末１００を自身の頭部に向けると、撮影装置（背面）２０７の姿勢（撮影装置（背面）２０７の光軸方向）と、重力方向とが概ね直交することになる。これにより、床面検出部１１０では、次のモードへと移行する。また、撮影装置（前面）２０８による撮影が開始され、撮影装置（前面）２０８により撮影された撮影画像が表示画面１０１に表示されるとともに、特徴点を抽出すべき領域（特徴点抽出領域）が表示される。
【００８９】
特徴点抽出領域が撮影画像上に表示されたことに伴い、ユーザ４００は、特徴点抽出領域が、表示画面１０１に表示された撮影画像における、ユーザ４００の頭部の位置に合うように、スマート端末１００の位置及び姿勢または頭部の位置を調整する。
【００９０】
スマート端末１００の位置及び姿勢または頭部の位置の調整が完了すると、ユーザ４００は、特徴点を抽出するための抽出指示を入力する。これにより、床面検出部１１０では、撮影装置（前面）２０８の撮影画像から推定される３次元点群（頭部の３次元点群）のうち、特徴点抽出領域に含まれる３次元点群を特徴点群として抽出する。
【００９１】
特徴点群の抽出が完了すると、床面検出部１１０では、抽出した特徴点群と、モデル情報とを用いて、床面の位置（世界座標系の３次元座標）を算出する。また、床面の位置の３次元座標を算出すると、床面検出部１１０では、表示画面１０１に表示される撮影画像を、撮影装置（前面）２０８により撮影された撮影画像から、撮影装置（背面）２０７により撮影された撮影画像へと切り替える。また、床面検出部１１０では、切り替え後の撮影装置（背面）２０７の位置及び姿勢のもとで撮影された撮影画像において床面を特定する。更に、特定した床面を示す情報を、表示画面１０１に表示された撮影画像に表示する。これにより、ユーザ４００は、表示画面１０１に表示された撮影装置（背面）２０７の撮影画像上で床面を確認することができる。
【００９２】
＜床面検出処理の流れ＞
次に、床面検出部１１０による床面検出処理の流れについて説明する。図１４は、床面検出処理の流れを示す第２のフローチャートである。
【００９３】
ステップＳ６０１において、撮影画像取得部５０１は、撮影装置（背面）２０７より撮影画像を取得し、センサデータ取得部５０５は、慣性センサ２０９よりセンサデータを取得する。
【００９４】
ステップＳ６０２において、３次元点群生成部５０２、撮影装置位置推定部５０３、撮影装置姿勢推定部５０４は、撮影画像より、環境の３次元点群、撮影装置（背面）２０７の位置及び姿勢を推定する。
【００９５】
ステップＳ６０３において、重力方向推定部５０６は、センサデータに基づいて、重力方向を推定する。
【００９６】
ステップＳ１４０１において、モード移行判定部５０７は、モード移行判定処理を行い、ステップＳ１４０２において、領域計算部５０８は、領域設定処理を行う。また、ステップＳ１４０３において、特徴点取得部５０９は、特徴点抽出処理を行い、ステップＳ１４０４において、床面推定部５１０は、モデルフィッティング処理を行う。
【００９７】
なお、モード移行判定処理（ステップＳ１４０１）〜モデルフィッティング処理（ステップＳ１４０４）の詳細は、後述する。
【００９８】
ステップＳ６０８において、床面推定部５１０は、床面を示す情報を、表示画面１０１に表示された撮影画像に表示する。
【００９９】
＜床面検出処理の各工程の詳細＞
次に、床面検出処理の各工程（ここでは、モード移行判定処理（ステップＳ１４０１）〜モデルフィッティング処理（ステップＳ１４０４））の詳細について説明する。
【０１００】
（１）モード移行判定処理（ステップＳ１４０１）の詳細
はじめに、モード移行判定処理（ステップＳ１４０１）の詳細について説明する。図１５は、モード移行判定処理の流れを示す第２のフローチャートである。なお、ステップＳ７０１からステップＳ７０３、ステップＳ７０５の処理内容は、図７のステップＳ７０１からステップＳ７０３、ステップＳ７０５の処理内容と同じであるため、ここでは説明を省略する。
【０１０１】
ステップＳ１５０１において、モード移行判定部５０７は、角度θが９０°±所定の閾値以下であるか否かを判定する。ステップＳ１５０１において、角度θが９０°±所定の閾値以下であると判定した場合には（ステップＳ１５０１においてＹＥＳの場合には）、ステップＳ７０５に進む。
【０１０２】
一方、ステップＳ１５０１において、角度θが９０°±所定の閾値以下でないと判定した場合には（ステップＳ１５０１においてＮＯの場合には）、直接、ステップＳ１４０３に戻る。なお、この場合、床面検出部１１０ではステップＳ１４０３以降の処理を行うことなく、床面検出処理を終了する（ただし、床面検出プログラムが継続して実行される場合には、再び、ステップＳ６０１から同様の処理を行う）。
【０１０３】
（２）領域設定処理（ステップＳ１４０２）の詳細
次に、領域設定処理（ステップＳ１４０２）の詳細について説明する。図１６は、領域設定処理の流れを示す第２のフローチャート及び領域設定処理の具体例を示す第２の図である。
【０１０４】
図１６（ａ）に示すように、ステップＳ１６０１において、領域計算部５０８は、撮影装置（前面）２０８による撮影を開始する。
【０１０５】
ステップＳ１６０２において、領域計算部５０８は、現在の撮影装置（前面）２０８の位置及び姿勢から、光軸方向に距離Ｎ［ｍ］の位置（中心位置）の世界座標系における３次元座標を算出する。なお、撮影装置（前面）２０８の位置及び姿勢は、撮影装置（背面）２０７の位置及び姿勢に基づいて導出してもよいし、撮影装置（背面）２０７の位置及び姿勢と同様に、撮影画像から推定してもよい。
【０１０６】
図１６（ｂ）において、矢印１６１１は、光軸方向の距離Ｎ［ｍ］を表しており、白丸１６１２は、中心位置を表している。
【０１０７】
ステップＳ８０２において、領域計算部５０８は、中心位置に対して鉛直方向に高さｈ［ｍ］、水平方向に半径ｒ［ｍ］の円柱領域を求め、当該円柱領域の世界座標系における３次元座標を、特徴点抽出領域の３次元座標として算出する。なお、図１６（ｂ）において、矩形１６１３は、特徴点抽出領域である円柱領域を横から見た様子を示している。
【０１０８】
ステップＳ８０３において、領域計算部５０８は、現在の撮影装置（前面）２０８の位置及び姿勢のもとで撮影された撮影画像において円柱領域の位置を特定し、表示画面１０１に表示された撮影画像に当該円柱領域を表示する。なお、図１６（ｂ）において、矩形領域１６２１は、撮影画像１６２０に表示された円柱領域を正面から見た様子を示している。
【０１０９】
（３）特徴点抽出処理（ステップＳ１４０３）の詳細
次に、特徴点抽出処理（ステップＳ１４０３）の詳細について説明する。図１７は、特徴点抽出処理の流れを示す第２のフローチャート及び特徴点抽出処理の具体例を示す第２の図である。
【０１１０】
図１７（ａ）に示すように、ステップＳ９０１において、特徴点取得部５０９は、ユーザより、特徴点を抽出するための抽出指示を受け付けたか否かを判定する。ステップＳ９０１において、抽出指示を受け付けていないと判定した場合には（ステップＳ９０１においてＮＯの場合には）、抽出指示を受け付けるまで待機する。
【０１１１】
一方、ステップＳ９０１において、抽出指示を受け付けたと判定した場合には（ステップＳ９０１においてＹＥＳの場合には）、ステップＳ１７０１に進む。
【０１１２】
ステップＳ１７０１において、特徴点取得部５０９は撮影装置（前面）２０８の撮影画像に基づいて推定された３次元点群の世界座標系における３次元座標を算出する。
【０１１３】
ステップＳ１７０２において、特徴点取得部５０９は、抽出指示を受け付けた際の撮影装置（前面）２０８の位置及び姿勢に基づいて、世界座標系における特徴点抽出領域の範囲を特定する。
【０１１４】
ステップＳ９０４において、特徴点取得部５０９は、特定した特徴点抽出領域の範囲に含まれる３次元点群を、特徴点群として抽出する。
【０１１５】
図１７（ｂ）は、特徴点取得部５０９が、３次元点群の中から、特徴点抽出領域の範囲に含まれる３次元点群を、特徴点群として抽出した様子を示している（矩形領域１６２１に含まれる点群が、特徴点群として抽出されたことを示している）。
【０１１６】
（４）モデルフィッティング処理（ステップＳ１４０４）の詳細その１
次に、床面推定部５１０によるモデルフィッティング処理（ステップＳ１４０４）の詳細（モデル情報１２１０を利用するケース）について説明する。図１８は、モデルフィッティング処理の流れを示す第３のフローチャート及びモデルフィッティング処理の具体例を示す第３の図である。
【０１１７】
図１８（ａ）に示すように、ステップＳ１００１において、床面推定部５１０は、特徴点取得部５０９により抽出された特徴点群に対して、水平面を算出する。具体的には、床面推定部５１０は、特徴点群（図１８（ｂ）の白丸参照）と水平面との間の鉛直方向の距離（誤差）を算出し、最小二乗法を用いて誤差総和が最小となるように水平面（図１８（ｂ）の水平面１８０１）を算出する。
【０１１８】
ステップＳ１００２において、床面推定部５１０は、モデル情報（例えば、モデル情報１２１０）を読み出し、水平面１２１１と床面１２１２との位置関係を取得する（図１８（ｂ）参照）。
【０１１９】
ステップＳ１００３において、床面推定部５１０は、ステップＳ１００１において算出した水平面１８０１に対して、ステップＳ１００２において取得した位置関係に含まれる水平面１２１１をフィッティングさせる。これにより、床面推定部５１０は、床面１８０２の位置の世界座標系における３次元座標を算出する（図１８（ｂ）参照）。
【０１２０】
（５）モデルフィッティング処理（ステップＳ１４０４）の詳細その２
次に、床面推定部５１０によるモデルフィッティング処理（ステップＳ１４０４）の詳細（モデル情報１２２０を利用するケース）について説明する。図１９は、モデルフィッティング処理の流れを示す第４のフローチャート及びモデルフィッティング処理の具体例を示す第４の図である。
【０１２１】
図１９（ａ）に示すように、ステップＳ１１０１において、床面推定部５１０は、モデル情報（例えば、モデル情報１２２０）を読み出し、特徴点取得部５０９により抽出された特徴点群に対して、モデル情報１２２０に含まれる特徴点群をフィッティングさせる。
【０１２２】
具体的には、特徴点取得部５０９により抽出された特徴点群と、モデル情報１２２０に含まれる、対応する特徴点群との間の鉛直方向の距離（誤差）を算出し、最小二乗法を用いて誤差が最小となるように、位置合わせを行うことでフィッティングさせる。
【０１２３】
ステップＳ１１０２において、床面推定部５１０は、位置合わせされたモデル情報３２０の特徴点群と床面１２２１との位置関係から、床面１９０１の位置の世界座標系における３次元座標を算出する（図１９（ｂ）参照）。
【０１２４】
以上の説明から明らかなように、スマート端末１００では、ユーザの頭部を撮影した撮影画像から特徴点群を抽出し、予め特徴点群と床面との位置関係を規定したモデル情報をフィッティングさせることで、床面の位置の世界座標系における３次元座標を算出する。また、スマート端末１００では、算出した３次元座標から、現在の撮影装置（背面）２０７の位置及び姿勢のもとで撮影された撮影画像において床面を特定する。
【０１２５】
このように、床面を撮影した撮影画像から特徴点群を抽出する代わりに、ユーザの頭部を撮影した撮影画像から特徴点群を抽出することで、床面の位置の世界座標系における３次元座標を算出することが可能となる。この結果、スマート端末１００によれば、床面の属性によらず、撮影画像において床面を特定することが可能となり、床面の検出精度を向上させることができる。
【０１２６】
［第３の実施形態］
上記第１及び第２の実施形態では、床面検出部１１０の具体的な適用例について言及しなかったが、例えば、床面検出部１１０は、ＡＲナビゲーションの一機能として適用してもよい。図２０は、ＡＲナビゲーションへの適用例を示す図であり、スマート端末１００は、床面検出部１１０を適用したＡＲナビゲーション部２０００を搭載する。これにより、スマート端末１００では、ナビゲーション時に、床面検出部１１０により特定された撮影画像上の床面に、ＡＲ画像２０１１、２０１２を表示することができる。
【０１２７】
このとき、床面検出部１１０は、床面の属性によらず、床面を適切に検出することができる。このため、ＡＲ画像２０１１、２０１２の表示位置が、床面からずれるといった事態を回避することができる。
【０１２８】
［その他の実施形態］
上記第１及び第２の実施形態では、撮影対象の部位を、足元または頭部としたが、撮影対象の部位はこれらに限定されず、他の部位であってもよい。ただし、その場合、モデル情報格納部１２０には、当該部位に応じたモデル情報が格納されるものとする。
【０１２９】
また、上記第１及び第２の実施形態では、ユーザ４００が床面検出プログラムを起動した際、モデル情報３１０、３２０、１２１０、１２２０に含まれる、所定の１のユーザについての“位置関係”を用いて、床面の位置を算出するものとして説明した。しかしながら、モデル情報３１０、３２０、１２１０、１２２０に規定する位置関係は、所定の１のユーザについての位置関係に限定されず、複数のユーザそれぞれについての位置関係が規定されていてもよい。
【０１３０】
この場合、各ユーザは、規定された複数の位置関係の中から、いずれかの位置関係を選択する。これにより、スマート端末１００によれば、ユーザ４００以外のユーザが撮影者となった場合でも、当該撮影者が、自身に応じた位置関係を選択することで、床面の位置を適切に算出することができる。
【０１３１】
また、上記第１及び第２の実施形態では、特徴点抽出領域である円柱領域を表示し、撮影対象の部位が円柱領域に含まれるように、ユーザ４００がスマート端末１００の位置及び姿勢または撮影対象の部位の位置を調整するものとして説明した。しかしながら、位置を調整する際に表示する画像は、円柱領域に限定されない。例えば、撮影対象の部位に応じた形状の画像を表示するようにしてもよい。これにより、ユーザ４００は、撮影対象の部位に応じた形状の画像が、撮影対象の部位に重なるように、スマート端末１００の位置を調整するだけで、特徴点抽出領域を適切な位置に設定することが可能となる。
【０１３２】
また、上記第１及び第２の実施形態では、抽出した特徴点群を全て用いてモデルフィッティング処理を行うものとして説明した。しかしながら、抽出した特徴点群のうち、例えば、ＲＡＮＳＡＣ（RANdom  SAmple  Consensus）を用いて外れ値を除去したうえで、モデルフィッティング処理を行ってもよい。
【０１３３】
なお、開示の技術では、以下に記載する付記のような形態が考えられる。
（付記１）
撮影者の所定の部位を撮影し、
撮影した撮影画像から前記所定の部位の特徴点群を抽出し、
特徴点群と床面との位置関係を予め規定したモデル情報に基づき、抽出した特徴点群から床面の位置を算出し、撮影画像において床面を特定する、
処理をコンピュータに実行させるための床面検出プログラム。
（付記２）
前記所定の部位を撮影した撮影画像から、３次元点群と撮影装置の位置及び姿勢とを推定し、推定した３次元点群から、前記所定の部位の特徴点群を抽出する、付記１に記載の床面検出プログラム。
（付記３)
前記所定の部位を撮影した撮影画像から推定される３次元点群のうち、前記撮影装置の光軸方向において、所定の距離にある所定の大きさの領域に含まれる３次元点群を、前記特徴点群として抽出する、付記２に記載の床面検出プログラム。
（付記４）
重力方向を示すデータを取得し、
前記撮影装置の姿勢が、前記重力方向に対して所定の条件を満たす場合に、前記領域を撮影画像上に表示する、付記３に記載の床面検出プログラム。
（付記５）
前記モデル情報には、所定の部位を撮影した場合に抽出される特徴点群に基づいて算出される水平面と、床面との位置関係が規定されており、
抽出した特徴点群に基づいて算出される水平面に対して、前記モデル情報に規定された水平面をフィッティングさせることで、前記床面の位置を算出する、付記２に記載の床面検出プログラム。
（付記６）
前記モデル情報には、所定の部位を撮影した場合に抽出される特徴点群と、床面との位置関係が規定されており、
抽出した特徴点群に対して、前記モデル情報に規定された特徴点群をフィッティングさせることで、前記床面の位置を算出する、付記２に記載の床面検出プログラム。
（付記７）
算出した前記床面の位置に基づいて、前記撮影装置の現在の位置及び姿勢のもとで撮影された撮影画像において床面を特定する、付記５または６に記載の床面検出プログラム。
（付記８）
特定した床面の位置を示す情報を、前記撮影装置の現在の位置及び姿勢のもとで撮影された撮影画像に表示する、付記７に記載の床面検出プログラム。
（付記９）
撮影者の所定の部位を撮影し、
撮影した撮影画像から前記所定の部位の特徴点群を抽出し、
特徴点群と床面との位置関係を予め規定したモデル情報に基づき、抽出した特徴点群から床面の位置を算出し、撮影画像において床面を特定する、
処理をコンピュータが実行する床面検出方法。
（付記１０）
撮影者の所定の部位を撮影した撮影画像を取得する取得部と、
取得した撮影画像から前記所定の部位の特徴点群を抽出する抽出部と、
特徴点群と床面との位置関係を予め規定したモデル情報に基づき、抽出した特徴点群から床面の位置を算出し、撮影画像における床面を特定する特定部と
を有することを特徴とする端末装置。
【０１３４】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０１３５】
１００              ：スマート端末
１０１              ：表示画面
１１０              ：床面検出部
１２０              ：モデル情報格納部
３１０、３２０      ：モデル情報
３１１              ：水平面
３１２、３２１      ：床面
５０１              ：撮影画像取得部
５０２              ：３次元点群生成部
５０３              ：撮影装置位置推定部
５０４              ：撮影装置姿勢推定部
５０５              ：センサデータ取得部
５０６              ：重力方向推定部
５０７              ：モード移行判定部
５０８              ：領域計算部
５０９              ：特徴点取得部
１２１０、１２２０  ：モデル情報
１２１１            ：水平面
１２１２、１２２１  ：床面
【図１】
2020067978.tif 000003
【図２】
2020067978.tif 000004
【図３】
2020067978.tif 000005
【図４】
2020067978.tif 000006
【図５】
2020067978.tif 000007
【図６】
2020067978.tif 000008
【図７】
2020067978.tif 000009
【図８】
2020067978.tif 000010
【図９】
2020067978.tif 000011
【図１０】
2020067978.tif 000012
【図１１】
2020067978.tif 000013
【図１２】
2020067978.tif 000014
【図１３】
2020067978.tif 000015
【図１４】
2020067978.tif 000016
【図１５】
2020067978.tif 000017
【図１６】
2020067978.tif 000018
【図１７】
2020067978.tif 000019
【図１８】
2020067978.tif 000020
【図１９】
2020067978.tif 000021
【図２０】
2020067978.tif 000022