Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7107166B2 - Floor detection program, floor detection method, and terminal device - Google Patents
[go: Go Back, main page]

JP7107166B2 - Floor detection program, floor detection method, and terminal device - Google Patents

Floor detection program, floor detection method, and terminal device Download PDF

Info

Publication number
JP7107166B2
JP7107166B2 JP2018202208A JP2018202208A JP7107166B2 JP 7107166 B2 JP7107166 B2 JP 7107166B2 JP 2018202208 A JP2018202208 A JP 2018202208A JP 2018202208 A JP2018202208 A JP 2018202208A JP 7107166 B2 JP7107166 B2 JP 7107166B2
Authority
JP
Japan
Prior art keywords
floor surface
feature point
point group
floor
model information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018202208A
Other languages
Japanese (ja)
Other versions
JP2020067978A (en
Inventor
創輔 山尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018202208A priority Critical patent/JP7107166B2/en
Publication of JP2020067978A publication Critical patent/JP2020067978A/en
Application granted granted Critical
Publication of JP7107166B2 publication Critical patent/JP7107166B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

本発明は、床面検出プログラム、床面検出方法及び端末装置に関する。 The present invention relates to a floor detection program, a floor detection method, and a terminal device.

従来より、スマート端末等に搭載されるアプリケーションとして、AR(Augmented Reality)技術を利用したアプリケーション(例えば、ARレイアウト設計、ARナビゲーション等)が知られている。当該アプリケーションでは、検出した現実世界の床面の位置を基準として、各種AR画像の表示が行われる。 Conventionally, applications using AR (Augmented Reality) technology (for example, AR layout design, AR navigation, etc.) are known as applications installed in smart terminals and the like. In this application, various AR images are displayed based on the detected position of the floor surface in the real world.

ここで、床面の位置を検出する技術として、例えば、下記特許文献1には、撮影した床面の撮影画像から特徴点を抽出し、抽出した特徴点の3次元座標を算出することで、床面を特定する検出方法が開示されている。 Here, as a technique for detecting the position of the floor surface, for example, Patent Document 1 below discloses that feature points are extracted from a photographed image of the floor surface, and the three-dimensional coordinates of the extracted feature points are calculated. A detection method for identifying a floor surface is disclosed.

特開2015-175664号公報JP 2015-175664 A

しかしながら、撮影画像内の床面の特徴点を用いた検出方法の場合、床面の凹凸が少なかったり、光沢があった場合に、特徴点を抽出することができず、検出精度が低下するといった問題がある。 However, in the case of the detection method using the feature points of the floor surface in the photographed image, if the floor surface has little unevenness or is glossy, the feature points cannot be extracted, resulting in a decrease in detection accuracy. There's a problem.

一つの側面では、床面の検出精度を向上させることを目的としている。 One aspect aims at improving the detection accuracy of the floor surface.

一態様によれば、床面検出プログラムは、
撮影者の所定の部位を撮影し、
撮影した撮影画像から前記所定の部位の特徴点群を抽出し、
特徴点群と床面との位置関係を予め規定したモデル情報に基づき、抽出した特徴点群から床面の位置を算出し、撮影画像において床面を特定する、処理をコンピュータに実行させる。
According to one aspect, the floor detection program comprises:
Photographing a predetermined part of the photographer,
Extracting a feature point group of the predetermined part from the photographed image,
A computer is caused to execute a process of calculating the position of the floor surface from the extracted feature point group and specifying the floor surface in the photographed image based on the model information that prescribes the positional relationship between the feature point group and the floor surface.

床面の検出精度を向上させることができる。 It is possible to improve the detection accuracy of the floor surface.

スマート端末の外観構成の一例を示す図である。1 is a diagram illustrating an example of an external configuration of a smart terminal; FIG. スマート端末のハードウェア構成の一例を示す図である。1 is a diagram illustrating an example of a hardware configuration of a smart terminal; FIG. モデル情報の一例を示す第1の図である。FIG. 4 is a first diagram showing an example of model information; 床面検出処理の概要を説明するための第1の図である。FIG. 10 is a first diagram for explaining an overview of floor surface detection processing; 床面検出部の機能構成の一例を示す図である。It is a figure which shows an example of the functional structure of a floor detection part. 床面検出処理の流れを示す第1のフローチャートである。4 is a first flowchart showing the flow of floor surface detection processing; モード移行判定処理の流れを示す第1のフローチャートである。4 is a first flowchart showing the flow of mode transition determination processing; 領域設定処理の流れを示す第1のフローチャート及び領域設定処理の具体例を示す第1の図である。FIG. 10 is a first flowchart showing a flow of area setting processing and a first diagram showing a specific example of area setting processing; 特徴点抽出処理の流れを示す第1のフローチャート及び特徴点抽出処理の具体例を示す第1の図である。FIG. 10 is a first flowchart showing a flow of feature point extraction processing and a first diagram showing a specific example of feature point extraction processing; モデルフィッティング処理の流れを示す第1のフローチャート及びモデルフィッティング処理の具体例を示す第1の図である。FIG. 10 is a first flowchart showing a flow of model fitting processing and a first diagram showing a specific example of model fitting processing; モデルフィッティング処理の流れを示す第2のフローチャート及びモデルフィッティング処理の具体例を示す第2の図である。FIG. 10 is a second flowchart showing the flow of model fitting processing and a second diagram showing a specific example of model fitting processing; モデル情報の一例を示す第2の図である。FIG. 4 is a second diagram showing an example of model information; 床面検出処理の概要を説明するための第2の図である。FIG. 10 is a second diagram for explaining the outline of the floor surface detection process; 床面検出処理の流れを示す第2のフローチャートである。9 is a second flowchart showing the flow of floor surface detection processing; モード移行判定処理の流れを示す第2のフローチャートである。9 is a second flowchart showing the flow of mode transition determination processing; 領域設定処理の流れを示す第2のフローチャート及び領域設定処理の具体例を示す第2の図である。FIG. 10 is a second flowchart showing the flow of region setting processing and a second diagram showing a specific example of region setting processing; 特徴点抽出処理の流れを示す第2のフローチャート及び特徴点抽出処理の具体例を示す第2の図である。FIG. 10 is a second flowchart showing a flow of feature point extraction processing and a second diagram showing a specific example of feature point extraction processing; モデルフィッティング処理の流れを示す第3のフローチャート及びモデルフィッティング処理の具体例を示す第3の図である。FIG. 10 is a third flowchart showing a flow of model fitting processing and a third diagram showing a specific example of model fitting processing; モデルフィッティング処理の流れを示す第4のフローチャート及びモデルフィッティング処理の具体例を示す第4の図である。FIG. 10 is a fourth flowchart showing the flow of model fitting processing and a fourth diagram showing a specific example of model fitting processing; ARナビゲーションへの適用例を示す図である。It is a figure which shows the example of application to AR navigation.

以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。 Each embodiment will be described below with reference to the accompanying drawings. In the present specification and drawings, constituent elements having substantially the same functional configuration are denoted by the same reference numerals, thereby omitting redundant description.

[第1の実施形態]
<スマート端末の構成>
はじめに、第1の実施形態に係る端末装置の一例である、スマート端末の外観構成について説明する。図1は、スマート端末の外観構成の一例を示す図である。図1に示すように、スマート端末100は、前面側に表示画面101を有し、例えば、背面側に設けられた撮影装置(図1において不図示)により撮影された撮影画像を表示する。
[First Embodiment]
<Configuration of smart terminal>
First, the external configuration of a smart terminal, which is an example of the terminal device according to the first embodiment, will be described. FIG. 1 is a diagram showing an example of the external configuration of a smart terminal. As shown in FIG. 1, the smart terminal 100 has a display screen 101 on the front side, and displays, for example, an image captured by an imaging device (not shown in FIG. 1) provided on the back side.

スマート端末100には、床面検出プログラムがインストールされており、当該プログラムを実行することで、スマート端末100は、床面検出部110として機能する。床面検出部110は、モデル情報格納部120に格納されたモデル情報を参照することで、撮影装置により撮影された撮影画像において、床面を特定する。また、床面検出部110は、特定した床面を示す情報(例えば、マーカ)を、表示画面101に表示された撮影画像上に表示する。 A floor detection program is installed in the smart terminal 100 , and the smart terminal 100 functions as the floor detection unit 110 by executing the program. The floor surface detection unit 110 refers to the model information stored in the model information storage unit 120 to identify the floor surface in the captured image captured by the imaging device. The floor detection unit 110 also displays information (for example, a marker) indicating the specified floor on the captured image displayed on the display screen 101 .

<スマート端末のハードウェア構成>
次に、スマート端末100のハードウェア構成について説明する。図2は、スマート端末のハードウェア構成の一例を示す図である。図2に示すように、スマート端末100は、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203を有する。CPU201、ROM202、RAM203は、いわゆるコンピュータを形成する。
<Hardware configuration of smart terminal>
Next, the hardware configuration of smart terminal 100 will be described. FIG. 2 is a diagram illustrating an example of a hardware configuration of a smart terminal; As shown in FIG. 2 , the smart terminal 100 has a CPU (Central Processing Unit) 201 , a ROM (Read Only Memory) 202 and a RAM (Random Access Memory) 203 . The CPU 201, ROM 202, and RAM 203 form a so-called computer.

また、スマート端末100は、補助記憶装置204、表示装置205、操作装置206、撮影装置(背面)207、撮影装置(前面)208、慣性センサ209、通信装置210を有する。なお、スマート端末100の各ハードウェアは、バス211を介して相互に接続されている。 The smart terminal 100 also has an auxiliary storage device 204 , a display device 205 , an operation device 206 , an imaging device (back) 207 , an imaging device (front) 208 , an inertial sensor 209 , and a communication device 210 . Each piece of hardware of the smart terminal 100 is interconnected via a bus 211 .

CPU201は、補助記憶装置204にインストールされている各種プログラム(例えば、床面検出プログラム等)を実行する演算デバイスである。 The CPU 201 is an arithmetic device that executes various programs (for example, a floor detection program, etc.) installed in the auxiliary storage device 204 .

ROM202は、不揮発性メモリである。ROM202は、補助記憶装置204にインストールされている各種プログラムをCPU201が実行するために必要な各種プログラム、データ等を格納する主記憶デバイスとして機能する。具体的には、ROM202はBIOS(Basic Input/Output System)やEFI(Extensible Firmware Interface)等のブートプログラム等を格納する、主記憶デバイスとして機能する。 ROM 202 is a non-volatile memory. The ROM 202 functions as a main storage device that stores various programs, data, etc. necessary for the CPU 201 to execute various programs installed in the auxiliary storage device 204 . Specifically, the ROM 202 functions as a main storage device that stores boot programs such as BIOS (Basic Input/Output System) and EFI (Extensible Firmware Interface).

RAM203は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)等の揮発性メモリである。RAM203は、補助記憶装置204にインストールされている各種プログラムがCPU201によって実行される際に展開される作業領域を提供する、主記憶デバイスとして機能する。 A RAM 203 is a volatile memory such as a DRAM (Dynamic Random Access Memory) or an SRAM (Static Random Access Memory). The RAM 203 functions as a main storage device that provides a working area to be expanded when various programs installed in the auxiliary storage device 204 are executed by the CPU 201 .

補助記憶装置204は、各種プログラムや、各種プログラムが実行される際に用いられる情報を格納する補助記憶デバイスである。例えば、モデル情報格納部120は、補助記憶装置204において実現される。 The auxiliary storage device 204 is an auxiliary storage device that stores various programs and information used when various programs are executed. For example, the model information storage unit 120 is implemented in the auxiliary storage device 204 .

表示装置205は、表示画面101を有し、撮影画像等を表示する表示デバイスである。操作装置206は、スマート端末100のユーザがスマート端末100に対して各種指示を入力する入力デバイス(例えば、タッチパネル)である。 A display device 205 is a display device that has a display screen 101 and displays a captured image or the like. The operation device 206 is an input device (for example, a touch panel) through which the user of the smart terminal 100 inputs various instructions to the smart terminal 100 .

撮影装置(背面)207、撮影装置(前面)208は、例えば、RGBカメラであり、撮影画像を生成する。撮影装置(背面)207は、スマート端末100の背面側(表示画面101とは反対側)に設けられる。また、撮影装置(前面)208は、スマート端末100の前面側(表示画面101と同じ側)に設けられる。 The imaging device (back) 207 and the imaging device (front) 208 are, for example, RGB cameras, and generate captured images. The imaging device (back) 207 is provided on the back side of the smart terminal 100 (the side opposite to the display screen 101). Also, the imaging device (front) 208 is provided on the front side of the smart terminal 100 (on the same side as the display screen 101).

慣性センサ209は、3軸方向の角度(または角速度)と加速度を検出し、センサデータを生成する。通信装置210は、不図示のネットワークに接続するための通信デバイスである。なお、補助記憶装置204にインストールされる各種プログラムは、例えば、通信装置210を介して、ネットワークよりダウンロードされることでインストールされる。 The inertial sensor 209 detects angles (or angular velocities) and accelerations in three axial directions to generate sensor data. A communication device 210 is a communication device for connecting to a network (not shown). Various programs installed in the auxiliary storage device 204 are installed by being downloaded from a network via the communication device 210, for example.

<モデル情報の具体例>
次に、補助記憶装置204において実現されるモデル情報格納部120に格納されるモデル情報の具体例について説明する。図3は、モデル情報の一例を示す第1の図である。図3に示すように、モデル情報には、情報の項目として、“ユーザID”と“位置関係”とが含まれる。なお、図3に示すように、第1の実施形態においてモデル情報格納部120に格納されるモデル情報には、2種類のモデル情報が含まれるものとする。
<Specific example of model information>
Next, a specific example of model information stored in the model information storage unit 120 implemented in the auxiliary storage device 204 will be described. FIG. 3 is a first diagram showing an example of model information. As shown in FIG. 3, the model information includes "user ID" and "positional relationship" as information items. Note that, as shown in FIG. 3, the model information stored in the model information storage unit 120 in the first embodiment includes two types of model information.

このうち、図3(a)のモデル情報310は、水平面311と床面312との位置関係を規定したモデル情報である。図3(a)において、水平面311は、ユーザID=“U001”のユーザの足元を撮影した撮影画像より抽出された特徴点群(図3(a)の例では、F1~F7)との鉛直方向の距離の二乗和が最小となる面であって、法線が重力方向と平行な面である。 Among them, the model information 310 in FIG. 3A is model information that defines the positional relationship between the horizontal plane 311 and the floor plane 312 . In FIG. 3(a), a horizontal plane 311 is perpendicular to the feature point group (F1 to F7 in the example of FIG. 3(a)) extracted from the photographed image of the feet of the user with the user ID=“U001”. It is a plane in which the sum of the squares of the distances in the directions is the smallest, and whose normal is parallel to the direction of gravity.

また、床面312は、ユーザID=“U001”のユーザの足元を撮影した際の、床面を示している。このように、モデル情報310では、所定のユーザについて、水平面311と床面312との位置関係を規定している。 A floor surface 312 indicates the floor surface when the feet of the user with the user ID=“U001” are photographed. In this way, the model information 310 defines the positional relationship between the horizontal plane 311 and the floor plane 312 for a given user.

一方、図3(b)のモデル情報320は、特徴点群と床面321との位置関係を規定したモデル情報である。図3(b)において、特徴点群(図3(b)の例では、F1~F3)は、ユーザID=“U001”のユーザの足元を撮影した撮影画像より抽出されたものである。また、床面321は、ユーザID=“U001”のユーザの足元を撮影した際の、床面を示している。このように、モデル情報320では、所定のユーザについて、特徴点群と床面321との位置関係を規定している。 On the other hand, the model information 320 in FIG. 3B is model information that defines the positional relationship between the feature point group and the floor surface 321 . In FIG. 3(b), the feature point group (F1 to F3 in the example of FIG. 3(b)) is extracted from the photographed image of the feet of the user with the user ID=“U001”. A floor surface 321 indicates the floor surface when the feet of the user with the user ID=“U001” are photographed. In this way, the model information 320 defines the positional relationship between the feature point group and the floor surface 321 for a given user.

<床面検出処理の概要>
次に、床面検出部110による床面検出処理の概要について、図4を用いて説明する。図4は、床面検出処理の概要を説明するための第1の図であり、スマート端末100を操作するユーザの状態と、ユーザの動作と、スマート端末100内の処理とを対比して示した図である。
<Outline of floor surface detection processing>
Next, an overview of floor surface detection processing by the floor surface detection unit 110 will be described with reference to FIG. 4 . FIG. 4 is a first diagram for explaining an overview of the floor surface detection process, and shows the state of the user operating the smart terminal 100, the user's behavior, and the process in the smart terminal 100 in comparison. It is a diagram.

図4に示すように、ユーザ400が直立した状態で、スマート端末100を操作することで、床面検出プログラムが起動されると、スマート端末100では、撮影装置(背面)207による撮影が開始される。これにより、床面検出部110では、撮影画像を取得し、取得した撮影画像から推定される3次元点群(環境の3次元点群)に基づいて、撮影装置(背面)207の位置及び姿勢を推定する。なお、撮影画像から推定される3次元点群は、世界座標系の3次元座標により表現されるものとし、当該3次元点群に基づいて推定される撮影装置(背面)207の位置及び姿勢も、世界座標系により表現されるものとする。 As shown in FIG. 4 , when the user 400 operates the smart terminal 100 in an upright position to start the floor surface detection program, the smart terminal 100 starts photographing with the photographing device (back surface) 207 . be. As a result, the floor detection unit 110 acquires the captured image, and based on the three-dimensional point group (three-dimensional point group of the environment) estimated from the acquired captured image, determines the position and orientation of the imaging device (back surface) 207. to estimate Note that the three-dimensional point group estimated from the captured image is represented by three-dimensional coordinates in the world coordinate system, and the position and orientation of the imaging device (back surface) 207 estimated based on the three-dimensional point group are also , shall be expressed by the world coordinate system.

また、床面検出プログラムが起動されると、スマート端末100では、慣性センサ209による計測が開始される。これにより、床面検出部110では、センサデータを取得し、取得したセンサデータに基づいて、スマート端末100の重力方向を推定する。 Also, when the floor surface detection program is activated, the smart terminal 100 starts measurement by the inertial sensor 209 . As a result, the floor detection unit 110 acquires the sensor data and estimates the direction of gravity of the smart terminal 100 based on the acquired sensor data.

続いて、ユーザ400がスマート端末100を自身の足元に向けると、撮影装置(背面)207の姿勢(撮影装置(背面)207の光軸方向)と、重力方向とが概ね一致することになる。これにより、床面検出部110では、次のモードへと移行し、表示画面101に表示された撮影画像上に、特徴点を抽出すべき領域(特徴点抽出領域)を表示する。 Subsequently, when the user 400 points the smart terminal 100 at his or her feet, the orientation of the imaging device (rear surface) 207 (optical axis direction of the imaging device (rear surface) 207) and the direction of gravity generally match. As a result, the floor detection unit 110 shifts to the next mode, and displays an area (feature point extraction area) from which feature points should be extracted on the captured image displayed on the display screen 101 .

特徴点抽出領域が撮影画像上に表示されたことに伴い、ユーザ400は、特徴点抽出領域が、表示画面101に表示された撮影画像における、ユーザ400の足元の位置に合うように、スマート端末100の位置及び姿勢または足元の位置を調整する。 As the feature point extraction area is displayed on the captured image, the user 400 adjusts the smart terminal so that the feature point extraction area matches the position of the feet of the user 400 in the captured image displayed on the display screen 101. Adjust the position and posture of 100 or the position of the feet.

スマート端末100の位置及び姿勢または足元の位置の調整が完了すると、ユーザ400は、特徴点を抽出するための抽出指示を入力する。これにより、床面検出部110では、撮影画像から推定される3次元点群(足元の3次元点群)のうち、特徴点抽出領域に含まれる3次元点群を特徴点群として抽出する。 After completing the adjustment of the position and posture of the smart terminal 100 or the position of the feet, the user 400 inputs an extraction instruction for extracting feature points. As a result, the floor detection unit 110 extracts, as a feature point group, the 3D point group included in the feature point extraction region from the 3D point group (three-dimensional point group of the feet) estimated from the captured image.

特徴点群の抽出が完了すると、床面検出部110では、抽出した特徴点群と、モデル情報とを用いて、床面の位置(世界座標系の3次元座標)を算出し、現在の撮影装置(背面)207の位置及び姿勢のもとで撮影された撮影画像において床面を特定する。また、特定した床面を示す情報を、表示画面101に表示された撮影画像に表示する。これにより、ユーザ400は、表示画面101に表示された撮影画像上で床面を確認することができる。 When the extraction of the feature point group is completed, the floor surface detection unit 110 uses the extracted feature point group and the model information to calculate the position of the floor surface (three-dimensional coordinates in the world coordinate system). The floor surface is specified in the photographed image photographed under the position and orientation of the device (back surface) 207 . In addition, information indicating the specified floor surface is displayed on the captured image displayed on the display screen 101 . Thereby, the user 400 can confirm the floor surface on the captured image displayed on the display screen 101 .

<床面検出部の機能構成>
次に、床面検出部110の機能構成について説明する。図5は、床面検出部の機能構成の一例を示す図である。図5に示すように、床面検出部110は、撮影画像取得部501、3次元点群生成部502、撮影装置位置推定部503、撮影装置姿勢推定部504、センサデータ取得部505、重力方向推定部506を有する。また、床面検出部110は、モード移行判定部507、領域計算部508、特徴点取得部509、床面推定部510を有する。
<Functional configuration of floor detector>
Next, the functional configuration of the floor detection unit 110 will be described. FIG. 5 is a diagram illustrating an example of a functional configuration of a floor detection unit; As shown in FIG. 5, the floor detection unit 110 includes a captured image acquisition unit 501, a three-dimensional point cloud generation unit 502, an imaging device position estimation unit 503, an imaging device orientation estimation unit 504, a sensor data acquisition unit 505, a gravity direction It has an estimation unit 506 . Further, the floor surface detection unit 110 has a mode transition determination unit 507 , an area calculation unit 508 , a feature point acquisition unit 509 and a floor surface estimation unit 510 .

撮影画像取得部501は取得部の一例であり、撮影装置(背面)207において生成された撮影画像を取得する。 A captured image acquisition unit 501 is an example of an acquisition unit, and acquires a captured image generated by the imaging device (back surface) 207 .

3次元点群生成部502、撮影装置位置推定部503、撮影装置姿勢推定部504は、SLAM技術を用いることで、撮影画像より、環境の3次元点群、撮影装置(背面)207の位置及び姿勢をそれぞれ推定する。なお、SLAMとはSimultaneous Localization and Mappingの略称である。 A three-dimensional point cloud generation unit 502, an imaging device position estimation unit 503, and an imaging device attitude estimation unit 504 generate three-dimensional point clouds of the environment, the position of the imaging device (back surface) 207, and Each pose is estimated. Note that SLAM is an abbreviation for Simultaneous Localization and Mapping.

センサデータ取得部505は、慣性センサ209において生成されたセンサデータを取得する。重力方向推定部506は、センサデータに基づいて重力方向を推定する。 A sensor data acquisition unit 505 acquires sensor data generated by the inertial sensor 209 . The direction of gravity estimation unit 506 estimates the direction of gravity based on sensor data.

モード移行判定部507は、撮影装置姿勢推定部504において推定された撮影装置(背面)207の姿勢と、重力方向推定部506において推定された重力方向との関係が所定の条件を満たすか否かを判定する。具体的には、撮影装置(背面)207の姿勢から導出される撮影装置(背面)207の光軸方向が、重力方向に対して概ね平行であるか否かを判定する。 A mode transition determination unit 507 determines whether the relationship between the orientation of the imaging device (back surface) 207 estimated by the imaging device orientation estimation unit 504 and the direction of gravity estimated by the direction of gravity estimation unit 506 satisfies a predetermined condition. judge. Specifically, it is determined whether or not the optical axis direction of the imaging device (back surface) 207 derived from the posture of the imaging device (back surface) 207 is substantially parallel to the direction of gravity.

モード移行判定部507は、撮影装置(背面)207の光軸方向が重力方向に対して概ね平行であると判定した場合、次のモードへと移行し、領域計算部508に通知する。 When the mode transition determination unit 507 determines that the optical axis direction of the imaging device (back surface) 207 is substantially parallel to the gravitational direction, the mode transition determination unit 507 transitions to the next mode and notifies the area calculation unit 508 .

領域計算部508は、モード移行判定部507よりモード移行の通知を受けると、撮影装置(背面)207の現在の位置及び姿勢に基づき、特徴点抽出領域の世界座標系における3次元座標を算出する。 Upon receiving the mode transition notification from the mode transition determination unit 507, the area calculation unit 508 calculates the three-dimensional coordinates of the feature point extraction area in the world coordinate system based on the current position and orientation of the imaging device (back surface) 207. .

例えば、領域計算部508は、現在の撮影装置(背面)207の位置及び姿勢から、光軸方向に距離L[m]の位置の世界座標系における3次元座標を算出する。また、領域計算部508は、当該位置を中心位置として鉛直方向に高さh[m]、水平方向に半径r[m]の円柱領域を求め、当該円柱領域の世界座標系における3次元座標を、特徴点抽出領域の3次元座標として算出する。 For example, the area calculation unit 508 calculates the three-dimensional coordinates in the world coordinate system of the position of the distance L [m] in the optical axis direction from the current position and orientation of the imaging device (back surface) 207 . Further, the region calculation unit 508 obtains a cylindrical region having a vertical height of h [m] and a horizontal radius of r [m] with the position as the center position, and calculates the three-dimensional coordinates of the cylindrical region in the world coordinate system. , are calculated as the three-dimensional coordinates of the feature point extraction region.

また、領域計算部508は、現在の撮影装置(背面)207の位置及び姿勢のもとで撮影された撮影画像において、円柱領域の位置を特定し、表示画面101に表示された撮影画像に当該円柱領域を表示する。 Further, the area calculation unit 508 identifies the position of the cylindrical area in the captured image captured under the current position and orientation of the image capturing apparatus (back surface) 207 , and adds the corresponding column area to the captured image displayed on the display screen 101 . Display the cylindrical region.

特徴点取得部509は抽出部の一例であり、ユーザ400から特徴点の抽出指示が入力されると、3次元点群生成部502にて推定された3次元点群の中から、特徴点抽出領域に含まれる3次元点群を、特徴点群として抽出する。 The feature point acquisition unit 509 is an example of an extraction unit. When the user 400 inputs a feature point extraction instruction, the feature point extraction unit 509 extracts feature points from the three-dimensional point group estimated by the three-dimensional point group generation unit 502. A three-dimensional point group included in the region is extracted as a feature point group.

床面推定部510は特定部の一例であり、モデル情報格納部120に格納されたモデル情報(例えば、モデル情報310、320)を参照し、特徴点取得部509において抽出された特徴点群に基づいて、床面の位置の世界座標系における3次元座標を算出する。また、床面推定部510は、現在の撮影装置(背面)207の位置及び姿勢のもとで撮影された撮影画像において床面を特定し、表示画面101に表示された撮影画像に、特定した床面を示す情報を表示する。 The floor estimation unit 510 is an example of an identification unit, and refers to the model information (for example, the model information 310 and 320) stored in the model information storage unit 120, and the feature point group extracted by the feature point acquisition unit 509. Based on this, the three-dimensional coordinates of the position of the floor surface in the world coordinate system are calculated. In addition, the floor surface estimation unit 510 identifies the floor surface in the photographed image taken under the current position and orientation of the photographing device (back surface) 207, and adds the floor surface to the photographed image displayed on the display screen 101. Display information indicating the floor surface.

<床面検出処理の流れ>
次に、床面検出部110による床面検出処理の流れについて説明する。図6は、床面検出処理の流れを示す第1のフローチャートである。
<Flow of floor surface detection processing>
Next, the flow of floor surface detection processing by the floor surface detection unit 110 will be described. FIG. 6 is a first flowchart showing the flow of floor detection processing.

ステップS601において、撮影画像取得部501は、撮影装置(背面)207より撮影画像を取得し、センサデータ取得部505は、慣性センサ209よりセンサデータを取得する。 In step S<b>601 , the captured image acquisition unit 501 acquires a captured image from the imaging device (back surface) 207 , and the sensor data acquisition unit 505 acquires sensor data from the inertial sensor 209 .

ステップS602において、3次元点群生成部502、撮影装置位置推定部503、撮影装置姿勢推定部504は、撮影画像より、環境の3次元点群、撮影装置(背面)207の位置及び姿勢を推定する。 In step S602, the three-dimensional point group generation unit 502, the image capturing device position estimation unit 503, and the image capturing device orientation estimation unit 504 estimate the three-dimensional point cloud of the environment and the position and orientation of the image capturing device (back surface) 207 from the captured image. do.

ステップS603において、重力方向推定部506は、センサデータに基づいて、重力方向を推定する。 In step S603, the direction of gravity estimation unit 506 estimates the direction of gravity based on the sensor data.

ステップS604において、モード移行判定部507は、モード移行判定処理を行い、ステップS605において、領域計算部508は、領域設定処理を行う。また、ステップS606において、特徴点取得部509は、特徴点抽出処理を行い、ステップS607において、床面推定部510は、モデルフィッティング処理を行う。 In step S604, the mode transition determination unit 507 performs mode transition determination processing, and in step S605, the region calculation unit 508 performs region setting processing. In step S606, the feature point acquisition unit 509 performs feature point extraction processing, and in step S607, the floor estimation unit 510 performs model fitting processing.

なお、モード移行判定処理(ステップS604)~モデルフィッティング処理(ステップS607)の詳細は、後述する。 Details of the mode transition determination process (step S604) to the model fitting process (step S607) will be described later.

ステップS608において、床面推定部510は、床面を示す情報を、表示画面101に表示された撮影画像に表示する。 In step S<b>608 , the floor surface estimation unit 510 displays information indicating the floor surface on the captured image displayed on the display screen 101 .

<床面検出処理の各工程の詳細>
次に、床面検出処理の各工程(ここでは、モード移行判定処理(ステップS604)~モデルフィッティング処理(ステップS607))の詳細について説明する。
<Details of each step of floor detection processing>
Next, the details of each step of the floor surface detection process (here, the mode transition determination process (step S604) to the model fitting process (step S607)) will be described.

(1)モード移行判定処理(ステップS604)の詳細
はじめに、モード移行判定処理(ステップS604)の詳細について説明する。図7は、モード移行判定処理の流れを示す第1のフローチャートである。
(1) Details of Mode Transition Determination Processing (Step S604) First, details of the mode transition determination processing (step S604) will be described. FIG. 7 is a first flowchart showing the flow of mode transition determination processing.

ステップS701において、モード移行判定部507は、重力方向推定部506において推定された重力方向(撮影装置(背面)207の座標系)と、撮影装置(背面)207の姿勢とに基づき、世界座標系の重力方向ベクトルgを算出する。 In step S<b>701 , the mode transition determination unit 507 determines the world coordinate system based on the direction of gravity (coordinate system of the image capturing apparatus (back surface) 207 ) estimated by the direction of gravity estimation unit 506 and the attitude of the image capturing apparatus (back surface) 207 . to calculate the gravitational direction vector g c of .

ステップS702において、モード移行判定部507は、撮影装置(背面)207の姿勢から導出される、撮影装置(背面)207の光軸方向を示す世界座標系の光軸方向ベクトルvを取得する。 In step S<b>702 , the mode transition determination unit 507 acquires the optical axis direction vector vc of the world coordinate system indicating the optical axis direction of the imaging device (back) 207 , which is derived from the attitude of the imaging device (back) 207 .

ステップS703において、モード移行判定部507は、重力方向ベクトルgと光軸方向ベクトルvとのなす角度θを算出する。 In step S703, the mode transition determination unit 507 calculates the angle θ between the gravity direction vector g c and the optical axis direction vector v c .

ステップS704において、モード移行判定部507は、角度θが所定の閾値以下か否かを判定する。ステップS704において、角度θが所定の閾値以下であると判定した場合には(ステップS704においてYESの場合には)、ステップS705に進む。 In step S704, the mode transition determination unit 507 determines whether or not the angle θ is less than or equal to a predetermined threshold. If it is determined in step S704 that the angle θ is equal to or less than the predetermined threshold value (YES in step S704), the process proceeds to step S705.

ステップS705において、モード移行判定部507は、次のモードへと移行すると判定し、領域計算部508に通知した後、ステップS605に戻る。 In step S705, the mode transition determination unit 507 determines to transition to the next mode, notifies the region calculation unit 508, and then returns to step S605.

一方、ステップS704において、角度θが所定の閾値以下でないと判定した場合には(ステップS704においてNOの場合には)、直接、ステップS605に戻る。なお、この場合、床面検出部110ではステップS605以降の処理を行うことなく、床面検出処理を終了する(ただし、床面検出プログラムが継続して実行される場合には、再び、ステップS601から同様の処理を行う)。 On the other hand, if it is determined in step S704 that the angle θ is not equal to or less than the predetermined threshold value (NO in step S704), the process directly returns to step S605. In this case, the floor detection unit 110 ends the floor detection processing without performing the processing after step S605 (however, if the floor detection program continues to be executed, step S601 is executed again). ).

(2)領域設定処理(ステップS605)の詳細
次に、領域設定処理(ステップS605)の詳細について説明する。図8は、領域設定処理の流れを示す第1のフローチャート及び領域設定処理の具体例を示す第1の図である。
(2) Details of Area Setting Processing (Step S605) Next, details of the area setting processing (step S605) will be described. FIG. 8 is a first flowchart showing the flow of the area setting process and a first diagram showing a specific example of the area setting process.

図8(a)に示すように、ステップS801において、領域計算部508は、現在の撮影装置(背面)207の位置及び姿勢から、光軸方向に距離L[m]の位置(中心位置)の世界座標系における3次元座標を算出する。なお、図8(b)において、矢印811は、光軸方向の距離L[m]を表しており、白丸812は、中心位置を表している。 As shown in FIG. 8A, in step S801, the area calculation unit 508 calculates the position (central position) of the distance L [m] in the optical axis direction from the current position and orientation of the imaging device (back surface) 207. Calculate three-dimensional coordinates in the world coordinate system. In FIG. 8B, an arrow 811 represents the distance L [m] in the optical axis direction, and a white circle 812 represents the center position.

ステップS802において、領域計算部508は、中心位置に対して鉛直方向に高さh[m]、水平方向に半径r[m]の円柱領域を求め、当該円柱領域の世界座標系における3次元座標を、特徴点抽出領域の3次元座標として算出する。なお、図8(b)において、矩形813は、特徴点抽出領域である円柱領域を横から見た様子を示している。 In step S802, the area calculation unit 508 obtains a cylindrical area having a height h [m] in the vertical direction and a radius r [m] in the horizontal direction with respect to the center position, and calculates the three-dimensional coordinates of the cylindrical area in the world coordinate system. are calculated as the three-dimensional coordinates of the feature point extraction region. Note that in FIG. 8B, a rectangle 813 indicates a side view of the columnar area, which is the feature point extraction area.

ステップS803において、領域計算部508は、現在の撮影装置(背面)207の位置及び姿勢のもとで撮影された撮影画像において、円柱領域の位置を特定し、表示画面101に表示された撮影画像に当該円柱領域を表示する。なお、図8(b)において、円821は、撮影画像820に表示された円柱領域を上から見た様子を示している。 In step S<b>803 , the region calculation unit 508 identifies the position of the cylindrical region in the captured image captured under the current position and orientation of the imaging device (back surface) 207 , and determines the position of the captured image displayed on the display screen 101 . to display the cylinder area. In addition, in FIG. 8B, a circle 821 indicates a top view of the columnar area displayed in the captured image 820 .

(3)特徴点抽出処理(ステップS606)の詳細
次に、特徴点抽出処理(ステップS606)の詳細について説明する。図9は、特徴点抽出処理の流れを示す第1のフローチャート及び特徴点抽出処理の具体例を示す第1の図である。
(3) Details of feature point extraction processing (step S606) Next, details of the feature point extraction processing (step S606) will be described. FIG. 9 is a first flowchart showing the flow of feature point extraction processing and a first diagram showing a specific example of the feature point extraction processing.

図9(a)に示すように、ステップS901において、特徴点取得部509は、ユーザより、特徴点を抽出するための抽出指示を受け付けたか否かを判定する。ステップS901において、抽出指示を受け付けていないと判定した場合には(ステップS901においてNOの場合には)、抽出指示を受け付けるまで待機する。 As shown in FIG. 9A, in step S901, the feature point acquisition unit 509 determines whether or not an extraction instruction for extracting feature points has been received from the user. If it is determined in step S901 that no extraction instruction has been received (NO in step S901), the process waits until an extraction instruction is received.

一方、ステップS901において、抽出指示を受け付けたと判定した場合には(ステップS901においてYESの場合には)、ステップS902に進む。 On the other hand, if it is determined in step S901 that an extraction instruction has been received (if YES in step S901), the process proceeds to step S902.

ステップS902において、特徴点取得部509は、推定された3次元点群の世界座標系における3次元座標を取得する。 In step S902, the feature point obtaining unit 509 obtains the three-dimensional coordinates of the estimated three-dimensional point group in the world coordinate system.

ステップS903において、特徴点取得部509は、抽出指示を受け付けた際の撮影装置(背面)207の位置及び姿勢に基づいて、世界座標系における特徴点抽出領域の範囲を特定する。 In step S903, the feature point acquisition unit 509 specifies the range of the feature point extraction area in the world coordinate system based on the position and orientation of the imaging device (back surface) 207 when the extraction instruction is received.

ステップS904において、特徴点取得部509は、特定した特徴点抽出領域の範囲に含まれる3次元点群を、特徴点群として抽出する。 In step S904, the feature point acquiring unit 509 extracts a three-dimensional point group included in the identified feature point extraction region as a feature point group.

図9(b)は、特徴点取得部509が、3次元点群の中から、特徴点抽出領域の範囲に含まれる3次元点群を、特徴点群として抽出した様子を示している(円821に含まれる点群が、特徴点群として抽出されたことを示している)。 FIG. 9B shows how the feature point acquiring unit 509 extracts the three-dimensional point group included in the range of the feature point extraction area from the three-dimensional point group as a feature point group (circle 821 is extracted as a feature point group).

(4)モデルフィッティング処理(ステップS607)の詳細その1
次に、床面推定部510によるモデルフィッティング処理(ステップS607)の詳細(モデル情報310を利用するケース)について説明する。図10は、モデルフィッティング処理の流れを示す第1のフローチャート及びモデルフィッティング処理の具体例を示す第1の図である。
(4) Details of Model Fitting Processing (Step S607) Part 1
Next, the details of the model fitting process (step S607) by the floor surface estimation unit 510 (case using the model information 310) will be described. FIG. 10 is a first flowchart showing the flow of model fitting processing and a first diagram showing a specific example of model fitting processing.

図10(a)に示すように、ステップS1001において、床面推定部510は、特徴点取得部509により抽出された特徴点群に対して、水平面を算出する。具体的には、床面推定部510は、特徴点群(図10(b)のF1~F7参照)と水平面との間の鉛直方向の距離(誤差)を算出し、最小二乗法を用いて誤差総和が最小となるように水平面(図10(b)の水平面1011)を算出する。 As shown in FIG. 10A, in step S1001, the floor estimation unit 510 calculates a horizontal plane for the feature point group extracted by the feature point acquisition unit 509. FIG. Specifically, the floor estimation unit 510 calculates the vertical distance (error) between the feature point group (see F1 to F7 in FIG. 10B) and the horizontal plane, and uses the least squares method to A horizontal plane (horizontal plane 1011 in FIG. 10B) is calculated so that the total error is minimized.

ステップS1002において、床面推定部510は、モデル情報(例えば、モデル情報310)を読み出し、水平面311と床面312との位置関係を取得する(図10(b)参照)。 In step S1002, the floor estimation unit 510 reads the model information (for example, the model information 310) and acquires the positional relationship between the horizontal plane 311 and the floor 312 (see FIG. 10B).

ステップS1003において、床面推定部510は、ステップS1001において算出した水平面1011に対して、ステップS1002において取得した位置関係に含まれる水平面311をフィッティングさせる。これにより、床面推定部510は、床面1012の位置の世界座標系における3次元座標を算出する(図10(b)参照)。 In step S1003, the floor estimation unit 510 fits the horizontal plane 311 included in the positional relationship acquired in step S1002 to the horizontal plane 1011 calculated in step S1001. Thereby, the floor surface estimation unit 510 calculates the three-dimensional coordinates of the position of the floor surface 1012 in the world coordinate system (see FIG. 10B).

(5)モデルフィッティング処理(ステップS607)の詳細その2
次に、床面推定部510によるモデルフィッティング処理(ステップS607)の詳細(モデル情報320を利用するケース)について説明する。図11は、モデルフィッティング処理の流れを示す第2のフローチャート及びモデルフィッティング処理の具体例を示す第2の図である。
(5) Details of Model Fitting Processing (Step S607) Part 2
Next, the details of the model fitting process (step S607) by the floor surface estimation unit 510 (case using the model information 320) will be described. FIG. 11 is a second flowchart showing the flow of the model fitting process and a second diagram showing a specific example of the model fitting process.

図11(a)に示すように、ステップS1101において、床面推定部510は、モデル情報(例えば、モデル情報320)を読み出し、特徴点取得部509により抽出された特徴点群に対して、モデル情報320に含まれる特徴点群をフィッティングさせる。 As shown in FIG. 11A, in step S1101, the floor surface estimation unit 510 reads model information (for example, the model information 320), and extracts the feature point group extracted by the feature point acquisition unit 509 from the model. A feature point group included in the information 320 is fitted.

具体的には、特徴点取得部509により抽出された特徴点群と、モデル情報320に含まれる、対応する特徴点群との間の鉛直方向の距離(誤差)を算出し、最小二乗法を用いて誤差が最小となるように、位置合わせを行うことでフィッティングさせる。なお、このような位置合わせ方法の一例として、ICP(Iterative Closest Point)アルゴリズムが挙げられる。 Specifically, the vertical distance (error) between the feature point group extracted by the feature point acquisition unit 509 and the corresponding feature point group included in the model information 320 is calculated, and the least squares method is applied. Fitting is performed by aligning so that the error is minimized. An example of such a registration method is the ICP (Iterative Closest Point) algorithm.

ステップS1102において、床面推定部510は、位置合わせされたモデル情報320の特徴点群と床面321との位置関係から、床面1111の位置の世界座標系における3次元座標を算出する(図11(b)参照)。 In step S1102, the floor surface estimation unit 510 calculates the three-dimensional coordinates of the position of the floor surface 1111 in the world coordinate system from the positional relationship between the feature points of the aligned model information 320 and the floor surface 321 (Fig. 11(b)).

以上の説明から明らかなように、スマート端末100では、ユーザの足元を撮影した撮影画像から特徴点群を抽出し、予め特徴点群と床面との位置関係を規定したモデル情報をフィッティングさせることで、床面の位置の世界座標系における3次元座標を算出する。また、スマート端末100では、算出した3次元座標から、現在の撮影装置(背面)207の位置及び姿勢のもとで撮影された撮影画像において床面を特定する。 As is clear from the above description, the smart terminal 100 extracts a feature point group from a captured image of the user's feet, and fits model information that prescribes the positional relationship between the feature point group and the floor surface. , the three-dimensional coordinates of the position of the floor surface in the world coordinate system are calculated. In addition, the smart terminal 100 identifies the floor surface in the photographed image taken under the current position and orientation of the photographing device (back surface) 207 from the calculated three-dimensional coordinates.

このように、床面を撮影した撮影画像から特徴点群を抽出する代わりに、ユーザの足元を撮影した撮影画像から特徴点群を抽出することで、床面の位置の世界座標系における3次元座標を算出することが可能となる。この結果、スマート端末100によれば、床面の属性によらず、撮影画像において床面を特定することが可能となり、床面の検出精度を向上させることができる。 In this way, instead of extracting a feature point group from a photographed image of the floor surface, a feature point group is extracted from a photographed image of the user's feet. It becomes possible to calculate the coordinates. As a result, according to the smart terminal 100, it is possible to specify the floor surface in the photographed image regardless of the attributes of the floor surface, thereby improving the detection accuracy of the floor surface.

[第2の実施形態]
上記第1の実施形態では、ユーザの足元を撮影した撮影画像から特徴点群を抽出する場合について説明した。しかしながら、ユーザが撮影対象とする部位は、足元に限定されず、例えば、頭部であってもよい。以下、撮影対象の部位を頭部とした第2の実施形態について、上記第1の実施形態との相違点を中心に説明する。
[Second embodiment]
In the first embodiment described above, a case has been described in which a feature point group is extracted from a photographed image of the user's feet. However, the part that the user wants to image is not limited to the feet, and may be the head, for example. The second embodiment in which the head is the part to be imaged will be described below, focusing on the differences from the first embodiment.

<モデル情報の具体例>
はじめに、補助記憶装置204において実現されるモデル情報格納部120に格納されるモデル情報の具体例について説明する。図12は、モデル情報の一例を示す第2の図である。図3との相違点は、“位置関係”における規定内容である。
<Specific example of model information>
First, a specific example of model information stored in the model information storage unit 120 implemented in the auxiliary storage device 204 will be described. FIG. 12 is a second diagram showing an example of model information. The difference from FIG. 3 is the defined content of "positional relationship".

図12(a)のモデル情報1210は、水平面1211と床面1212との位置関係を規定する。図12(a)において、水平面1211は、ユーザID=“U001”のユーザの頭部を撮影した撮影画像より抽出された特徴点群(図12(a)中の白丸参照)との鉛直方向の距離の二乗和が最小となる面であって、法線が重力方向と平行な面である。 Model information 1210 in FIG. 12A defines the positional relationship between a horizontal plane 1211 and a floor plane 1212 . In FIG. 12(a), a horizontal plane 1211 is a vertical plane between the feature point group (see the white circles in FIG. 12(a)) extracted from the photographed image of the head of the user with the user ID=“U001”. This is the plane with the smallest sum of the squares of the distances, the normal of which is parallel to the direction of gravity.

また、床面1212は、ユーザID=“U001”のユーザの頭部を撮影した際の、床面を示している。このように、モデル情報1210では、所定のユーザについて、頭部の特徴点群に基づいて算出した水平面1211と床面1212との位置関係を規定している。 A floor surface 1212 indicates the floor surface when the head of the user with the user ID=“U001” is photographed. In this way, the model information 1210 defines the positional relationship between the horizontal plane 1211 and the floor plane 1212 calculated based on the feature point group of the head for a given user.

一方、図12(b)のモデル情報1220は、特徴点群と床面1221との位置関係を規定したモデル情報である。図12(b)において、特徴点群(図12(b)中の白丸参照)は、ユーザID=“U001”のユーザの頭部を撮影した撮影画像より抽出されたものである。また、床面1221は、ユーザID=“U001”のユーザの頭部を撮影した際の、床面を示している。このように、モデル情報1220では、所定のユーザについて、頭部の特徴点群と床面1221との位置関係を規定している。 On the other hand, model information 1220 in FIG. 12B is model information that defines the positional relationship between the feature point group and the floor surface 1221 . In FIG. 12(b), the feature point group (see white circles in FIG. 12(b)) is extracted from the photographed image of the head of the user with the user ID=“U001”. A floor surface 1221 indicates the floor surface when the head of the user with the user ID=“U001” is photographed. In this way, the model information 1220 defines the positional relationship between the feature point group of the head and the floor surface 1221 for a given user.

<床面検出処理の概要>
次に、床面検出部110による床面検出処理の概要について、図13を用いて説明する。図13は、床面検出処理の概要を説明するための第2の図であり、スマート端末100を操作するユーザの状態と、ユーザの動作と、スマート端末100内の処理とを対比して示した図である。
<Outline of floor surface detection processing>
Next, an overview of floor detection processing by the floor detection unit 110 will be described with reference to FIG. 13 . FIG. 13 is a second diagram for explaining an overview of the floor surface detection process, and shows the state of the user operating the smart terminal 100, the user's behavior, and the process in the smart terminal 100 in comparison. It is a diagram.

図13に示すように、ユーザ400が直立した状態で、スマート端末100を操作することで、床面検出プログラムが起動されると、スマート端末100では、撮影装置(背面)207による撮影が開始される。これにより、床面検出部110では、撮影画像を取得し、取得した撮影画像から推定される3次元点群(環境の3次元点群)に基づいて、撮影装置(背面)207の位置及び姿勢を推定する。 As shown in FIG. 13 , when the user 400 operates the smart terminal 100 in an upright position to start the floor surface detection program, the smart terminal 100 starts photographing with the photographing device (back surface) 207 . be. As a result, the floor detection unit 110 acquires the captured image, and based on the three-dimensional point group (three-dimensional point group of the environment) estimated from the acquired captured image, determines the position and orientation of the imaging device (back surface) 207. to estimate

また、床面検出プログラムが起動されると、スマート端末100では、慣性センサ209により計測が開始される。これにより、床面検出部110では、センサデータを取得し、取得したセンサデータに基づいて、スマート端末100の重力方向を推定する。 Also, when the floor surface detection program is started, the smart terminal 100 starts measurement by the inertial sensor 209 . As a result, the floor detection unit 110 acquires the sensor data and estimates the direction of gravity of the smart terminal 100 based on the acquired sensor data.

続いて、ユーザ400がスマート端末100を自身の頭部に向けると、撮影装置(背面)207の姿勢(撮影装置(背面)207の光軸方向)と、重力方向とが概ね直交することになる。これにより、床面検出部110では、次のモードへと移行する。また、撮影装置(前面)208による撮影が開始され、撮影装置(前面)208により撮影された撮影画像が表示画面101に表示されるとともに、特徴点を抽出すべき領域(特徴点抽出領域)が表示される。 Subsequently, when the user 400 turns the smart terminal 100 toward his or her head, the orientation of the imaging device (back surface) 207 (optical axis direction of the imaging device (back surface) 207) and the direction of gravity are substantially orthogonal. . As a result, the floor detector 110 shifts to the next mode. Further, photographing by the photographing device (front) 208 is started, and a photographed image photographed by the photographing device (front) 208 is displayed on the display screen 101, and a region (a feature point extraction region) from which feature points are to be extracted is displayed. Is displayed.

特徴点抽出領域が撮影画像上に表示されたことに伴い、ユーザ400は、特徴点抽出領域が、表示画面101に表示された撮影画像における、ユーザ400の頭部の位置に合うように、スマート端末100の位置及び姿勢または頭部の位置を調整する。 As the feature point extraction region is displayed on the captured image, the user 400 smartly adjusts the feature point extraction region so that it matches the position of the head of the user 400 in the captured image displayed on the display screen 101 . Adjust the position and posture of the terminal 100 or the position of the head.

スマート端末100の位置及び姿勢または頭部の位置の調整が完了すると、ユーザ400は、特徴点を抽出するための抽出指示を入力する。これにより、床面検出部110では、撮影装置(前面)208の撮影画像から推定される3次元点群(頭部の3次元点群)のうち、特徴点抽出領域に含まれる3次元点群を特徴点群として抽出する。 After completing the adjustment of the position and posture of the smart terminal 100 or the position of the head, the user 400 inputs an extraction instruction for extracting feature points. As a result, in the floor surface detection unit 110, among the 3D point group (the 3D point group of the head) estimated from the photographed image of the imaging device (front) 208, the 3D point group included in the feature point extraction region is extracted as a feature point group.

特徴点群の抽出が完了すると、床面検出部110では、抽出した特徴点群と、モデル情報とを用いて、床面の位置(世界座標系の3次元座標)を算出する。また、床面の位置の3次元座標を算出すると、床面検出部110では、表示画面101に表示される撮影画像を、撮影装置(前面)208により撮影された撮影画像から、撮影装置(背面)207により撮影された撮影画像へと切り替える。また、床面検出部110では、切り替え後の撮影装置(背面)207の位置及び姿勢のもとで撮影された撮影画像において床面を特定する。更に、特定した床面を示す情報を、表示画面101に表示された撮影画像に表示する。これにより、ユーザ400は、表示画面101に表示された撮影装置(背面)207の撮影画像上で床面を確認することができる。 When the extraction of the feature point group is completed, the floor detection unit 110 calculates the position of the floor (three-dimensional coordinates in the world coordinate system) using the extracted feature point group and the model information. When the three-dimensional coordinates of the position of the floor surface are calculated, the floor detection unit 110 converts the photographed image displayed on the display screen 101 from the photographed image photographed by the photographing device (front surface) 208 to the photographing device (back surface). ) 207 to the photographed image. Further, the floor surface detection unit 110 identifies the floor surface in the photographed image photographed under the position and orientation of the photographing device (rear surface) 207 after switching. Furthermore, information indicating the specified floor surface is displayed on the captured image displayed on the display screen 101 . Thereby, the user 400 can confirm the floor surface on the captured image of the imaging device (rear surface) 207 displayed on the display screen 101 .

<床面検出処理の流れ>
次に、床面検出部110による床面検出処理の流れについて説明する。図14は、床面検出処理の流れを示す第2のフローチャートである。
<Flow of floor surface detection processing>
Next, the flow of floor surface detection processing by the floor surface detection unit 110 will be described. FIG. 14 is a second flowchart showing the flow of floor surface detection processing.

ステップS601において、撮影画像取得部501は、撮影装置(背面)207より撮影画像を取得し、センサデータ取得部505は、慣性センサ209よりセンサデータを取得する。 In step S<b>601 , the captured image acquisition unit 501 acquires a captured image from the imaging device (back surface) 207 , and the sensor data acquisition unit 505 acquires sensor data from the inertial sensor 209 .

ステップS602において、3次元点群生成部502、撮影装置位置推定部503、撮影装置姿勢推定部504は、撮影画像より、環境の3次元点群、撮影装置(背面)207の位置及び姿勢を推定する。 In step S602, the three-dimensional point group generation unit 502, the image capturing device position estimation unit 503, and the image capturing device orientation estimation unit 504 estimate the three-dimensional point cloud of the environment and the position and orientation of the image capturing device (back surface) 207 from the captured image. do.

ステップS603において、重力方向推定部506は、センサデータに基づいて、重力方向を推定する。 In step S603, the direction of gravity estimation unit 506 estimates the direction of gravity based on the sensor data.

ステップS1401において、モード移行判定部507は、モード移行判定処理を行い、ステップS1402において、領域計算部508は、領域設定処理を行う。また、ステップS1403において、特徴点取得部509は、特徴点抽出処理を行い、ステップS1404において、床面推定部510は、モデルフィッティング処理を行う。 In step S1401, the mode transition determination unit 507 performs mode transition determination processing, and in step S1402, the region calculation unit 508 performs region setting processing. In step S1403, the feature point acquisition unit 509 performs feature point extraction processing, and in step S1404, the floor estimation unit 510 performs model fitting processing.

なお、モード移行判定処理(ステップS1401)~モデルフィッティング処理(ステップS1404)の詳細は、後述する。 Details of the mode transition determination process (step S1401) to the model fitting process (step S1404) will be described later.

ステップS608において、床面推定部510は、床面を示す情報を、表示画面101に表示された撮影画像に表示する。 In step S<b>608 , the floor surface estimation unit 510 displays information indicating the floor surface on the captured image displayed on the display screen 101 .

<床面検出処理の各工程の詳細>
次に、床面検出処理の各工程(ここでは、モード移行判定処理(ステップS1401)~モデルフィッティング処理(ステップS1404))の詳細について説明する。
<Details of each step of floor detection processing>
Next, details of each step of the floor surface detection process (here, mode transition determination process (step S1401) to model fitting process (step S1404)) will be described.

(1)モード移行判定処理(ステップS1401)の詳細
はじめに、モード移行判定処理(ステップS1401)の詳細について説明する。図15は、モード移行判定処理の流れを示す第2のフローチャートである。なお、ステップS701からステップS703、ステップS705の処理内容は、図7のステップS701からステップS703、ステップS705の処理内容と同じであるため、ここでは説明を省略する。
(1) Details of Mode Transition Determination Processing (Step S1401) First, details of the mode transition determination processing (step S1401) will be described. FIG. 15 is a second flowchart showing the flow of mode transition determination processing. Note that the processing contents of steps S701 to S703 and step S705 are the same as the processing contents of steps S701 to S703 and step S705 in FIG. 7, and thus description thereof is omitted here.

ステップS1501において、モード移行判定部507は、角度θが90°±所定の閾値以下であるか否かを判定する。ステップS1501において、角度θが90°±所定の閾値以下であると判定した場合には(ステップS1501においてYESの場合には)、ステップS705に進む。 In step S1501, the mode transition determination unit 507 determines whether or not the angle θ is 90°±predetermined threshold value or less. If it is determined in step S1501 that the angle θ is equal to or less than 90°±the predetermined threshold value (YES in step S1501), the process proceeds to step S705.

一方、ステップS1501において、角度θが90°±所定の閾値以下でないと判定した場合には(ステップS1501においてNOの場合には)、直接、ステップS1403に戻る。なお、この場合、床面検出部110ではステップS1403以降の処理を行うことなく、床面検出処理を終了する(ただし、床面検出プログラムが継続して実行される場合には、再び、ステップS601から同様の処理を行う)。 On the other hand, if it is determined in step S1501 that the angle θ is not less than 90°±the predetermined threshold value (NO in step S1501), the process directly returns to step S1403. In this case, the floor detection unit 110 ends the floor detection processing without performing the processing after step S1403 (however, if the floor detection program continues to be executed, step S601 is executed again). ).

(2)領域設定処理(ステップS1402)の詳細
次に、領域設定処理(ステップS1402)の詳細について説明する。図16は、領域設定処理の流れを示す第2のフローチャート及び領域設定処理の具体例を示す第2の図である。
(2) Details of Area Setting Processing (Step S1402) Next, details of the area setting processing (step S1402) will be described. FIG. 16 is a second flowchart showing the flow of the area setting process and a second diagram showing a specific example of the area setting process.

図16(a)に示すように、ステップS1601において、領域計算部508は、撮影装置(前面)208による撮影を開始する。 As shown in FIG. 16A, in step S1601, the area calculation unit 508 starts photographing by the photographing device (front) 208. As shown in FIG.

ステップS1602において、領域計算部508は、現在の撮影装置(前面)208の位置及び姿勢から、光軸方向に距離N[m]の位置(中心位置)の世界座標系における3次元座標を算出する。なお、撮影装置(前面)208の位置及び姿勢は、撮影装置(背面)207の位置及び姿勢に基づいて導出してもよいし、撮影装置(背面)207の位置及び姿勢と同様に、撮影画像から推定してもよい。 In step S1602, the area calculation unit 508 calculates the three-dimensional coordinates in the world coordinate system of the position (central position) at a distance N [m] in the optical axis direction from the current position and orientation of the imaging device (front) 208. . Note that the position and orientation of the imaging device (front) 208 may be derived based on the position and orientation of the imaging device (back) 207 . can be estimated from

図16(b)において、矢印1611は、光軸方向の距離N[m]を表しており、白丸1612は、中心位置を表している。 In FIG. 16B, an arrow 1611 represents the distance N [m] in the optical axis direction, and a white circle 1612 represents the center position.

ステップS802において、領域計算部508は、中心位置に対して鉛直方向に高さh[m]、水平方向に半径r[m]の円柱領域を求め、当該円柱領域の世界座標系における3次元座標を、特徴点抽出領域の3次元座標として算出する。なお、図16(b)において、矩形1613は、特徴点抽出領域である円柱領域を横から見た様子を示している。 In step S802, the area calculation unit 508 obtains a cylindrical area having a height h [m] in the vertical direction and a radius r [m] in the horizontal direction with respect to the center position, and calculates the three-dimensional coordinates of the cylindrical area in the world coordinate system. are calculated as the three-dimensional coordinates of the feature point extraction region. Note that in FIG. 16B, a rectangle 1613 indicates a side view of the columnar area, which is the feature point extraction area.

ステップS803において、領域計算部508は、現在の撮影装置(前面)208の位置及び姿勢のもとで撮影された撮影画像において円柱領域の位置を特定し、表示画面101に表示された撮影画像に当該円柱領域を表示する。なお、図16(b)において、矩形領域1621は、撮影画像1620に表示された円柱領域を正面から見た様子を示している。 In step S<b>803 , the area calculation unit 508 identifies the position of the cylindrical area in the captured image captured under the current position and orientation of the imaging device (front) 208 , and determines the position of the cylindrical area in the captured image displayed on the display screen 101 . Display the cylinder area. Note that in FIG. 16B, a rectangular area 1621 shows a front view of the cylindrical area displayed in the captured image 1620 .

(3)特徴点抽出処理(ステップS1403)の詳細
次に、特徴点抽出処理(ステップS1403)の詳細について説明する。図17は、特徴点抽出処理の流れを示す第2のフローチャート及び特徴点抽出処理の具体例を示す第2の図である。
(3) Details of Feature Point Extraction Processing (Step S1403) Next, details of the feature point extraction processing (step S1403) will be described. FIG. 17 is a second flowchart showing the flow of the feature point extraction process and a second diagram showing a specific example of the feature point extraction process.

図17(a)に示すように、ステップS901において、特徴点取得部509は、ユーザより、特徴点を抽出するための抽出指示を受け付けたか否かを判定する。ステップS901において、抽出指示を受け付けていないと判定した場合には(ステップS901においてNOの場合には)、抽出指示を受け付けるまで待機する。 As shown in FIG. 17A, in step S901, the feature point acquisition unit 509 determines whether or not an extraction instruction for extracting feature points has been received from the user. If it is determined in step S901 that no extraction instruction has been received (NO in step S901), the process waits until an extraction instruction is received.

一方、ステップS901において、抽出指示を受け付けたと判定した場合には(ステップS901においてYESの場合には)、ステップS1701に進む。 On the other hand, if it is determined in step S901 that an extraction instruction has been received (if YES in step S901), the process proceeds to step S1701.

ステップS1701において、特徴点取得部509は撮影装置(前面)208の撮影画像に基づいて推定された3次元点群の世界座標系における3次元座標を算出する。 In step S<b>1701 , the feature point acquisition unit 509 calculates the three-dimensional coordinates in the world coordinate system of the three-dimensional point group estimated based on the captured image of the image capturing device (front) 208 .

ステップS1702において、特徴点取得部509は、抽出指示を受け付けた際の撮影装置(前面)208の位置及び姿勢に基づいて、世界座標系における特徴点抽出領域の範囲を特定する。 In step S1702, the feature point acquisition unit 509 identifies the range of the feature point extraction area in the world coordinate system based on the position and orientation of the imaging device (front) 208 when the extraction instruction is received.

ステップS904において、特徴点取得部509は、特定した特徴点抽出領域の範囲に含まれる3次元点群を、特徴点群として抽出する。 In step S904, the feature point acquiring unit 509 extracts a three-dimensional point group included in the identified feature point extraction region as a feature point group.

図17(b)は、特徴点取得部509が、3次元点群の中から、特徴点抽出領域の範囲に含まれる3次元点群を、特徴点群として抽出した様子を示している(矩形領域1621に含まれる点群が、特徴点群として抽出されたことを示している)。 FIG. 17B shows how the feature point acquisition unit 509 extracts the three-dimensional point group included in the range of the feature point extraction region from the three-dimensional point group as a feature point group (rectangular This indicates that the point group included in the area 1621 has been extracted as a feature point group).

(4)モデルフィッティング処理(ステップS1404)の詳細その1
次に、床面推定部510によるモデルフィッティング処理(ステップS1404)の詳細(モデル情報1210を利用するケース)について説明する。図18は、モデルフィッティング処理の流れを示す第3のフローチャート及びモデルフィッティング処理の具体例を示す第3の図である。
(4) Details 1 of model fitting processing (step S1404)
Next, the details of the model fitting process (step S1404) by the floor surface estimation unit 510 (case using the model information 1210) will be described. FIG. 18 is a third flowchart showing the flow of the model fitting process and a third diagram showing a specific example of the model fitting process.

図18(a)に示すように、ステップS1001において、床面推定部510は、特徴点取得部509により抽出された特徴点群に対して、水平面を算出する。具体的には、床面推定部510は、特徴点群(図18(b)の白丸参照)と水平面との間の鉛直方向の距離(誤差)を算出し、最小二乗法を用いて誤差総和が最小となるように水平面(図18(b)の水平面1801)を算出する。 As shown in FIG. 18A, in step S1001, the floor estimation unit 510 calculates a horizontal plane for the feature point group extracted by the feature point acquisition unit 509. FIG. Specifically, the floor estimation unit 510 calculates the vertical distance (error) between the feature point group (see white circles in FIG. 18B) and the horizontal plane, and uses the least squares method to sum the error. A horizontal plane (horizontal plane 1801 in FIG. 18B) is calculated so that is minimized.

ステップS1002において、床面推定部510は、モデル情報(例えば、モデル情報1210)を読み出し、水平面1211と床面1212との位置関係を取得する(図18(b)参照)。 In step S1002, the floor surface estimation unit 510 reads model information (for example, model information 1210) and acquires the positional relationship between the horizontal surface 1211 and the floor surface 1212 (see FIG. 18B).

ステップS1003において、床面推定部510は、ステップS1001において算出した水平面1801に対して、ステップS1002において取得した位置関係に含まれる水平面1211をフィッティングさせる。これにより、床面推定部510は、床面1802の位置の世界座標系における3次元座標を算出する(図18(b)参照)。 In step S1003, the floor estimation unit 510 fits the horizontal plane 1211 included in the positional relationship acquired in step S1002 to the horizontal plane 1801 calculated in step S1001. Thereby, the floor surface estimation unit 510 calculates the three-dimensional coordinates of the position of the floor surface 1802 in the world coordinate system (see FIG. 18(b)).

(5)モデルフィッティング処理(ステップS1404)の詳細その2
次に、床面推定部510によるモデルフィッティング処理(ステップS1404)の詳細(モデル情報1220を利用するケース)について説明する。図19は、モデルフィッティング処理の流れを示す第4のフローチャート及びモデルフィッティング処理の具体例を示す第4の図である。
(5) Details of model fitting processing (step S1404) 2
Next, the details of the model fitting process (step S1404) by the floor surface estimation unit 510 (case using the model information 1220) will be described. FIG. 19 is a fourth flowchart showing the flow of the model fitting process and a fourth diagram showing a specific example of the model fitting process.

図19(a)に示すように、ステップS1101において、床面推定部510は、モデル情報(例えば、モデル情報1220)を読み出し、特徴点取得部509により抽出された特徴点群に対して、モデル情報1220に含まれる特徴点群をフィッティングさせる。 As shown in FIG. 19A, in step S1101, the floor surface estimation unit 510 reads model information (for example, model information 1220), and extracts the feature point group extracted by the feature point acquisition unit 509 from the model A feature point group included in the information 1220 is fitted.

具体的には、特徴点取得部509により抽出された特徴点群と、モデル情報1220に含まれる、対応する特徴点群との間の鉛直方向の距離(誤差)を算出し、最小二乗法を用いて誤差が最小となるように、位置合わせを行うことでフィッティングさせる。 Specifically, the vertical distance (error) between the feature point group extracted by the feature point acquisition unit 509 and the corresponding feature point group included in the model information 1220 is calculated, and the least squares method is applied. Fitting is performed by aligning so that the error is minimized.

ステップS1102において、床面推定部510は、位置合わせされたモデル情報320の特徴点群と床面1221との位置関係から、床面1901の位置の世界座標系における3次元座標を算出する(図19(b)参照)。 In step S1102, the floor surface estimation unit 510 calculates the three-dimensional coordinates of the position of the floor surface 1901 in the world coordinate system from the positional relationship between the feature points of the registered model information 320 and the floor surface 1221 (Fig. 19(b)).

以上の説明から明らかなように、スマート端末100では、ユーザの頭部を撮影した撮影画像から特徴点群を抽出し、予め特徴点群と床面との位置関係を規定したモデル情報をフィッティングさせることで、床面の位置の世界座標系における3次元座標を算出する。また、スマート端末100では、算出した3次元座標から、現在の撮影装置(背面)207の位置及び姿勢のもとで撮影された撮影画像において床面を特定する。 As is clear from the above description, the smart terminal 100 extracts a feature point group from a photographed image of the user's head, and fits model information that prescribes the positional relationship between the feature point group and the floor surface. Thus, the three-dimensional coordinates of the position of the floor in the world coordinate system are calculated. In addition, the smart terminal 100 identifies the floor surface in the photographed image taken under the current position and orientation of the photographing device (rear surface) 207 from the calculated three-dimensional coordinates.

このように、床面を撮影した撮影画像から特徴点群を抽出する代わりに、ユーザの頭部を撮影した撮影画像から特徴点群を抽出することで、床面の位置の世界座標系における3次元座標を算出することが可能となる。この結果、スマート端末100によれば、床面の属性によらず、撮影画像において床面を特定することが可能となり、床面の検出精度を向上させることができる。 In this way, instead of extracting a feature point group from a photographed image of the floor surface, a feature point group is extracted from a photographed image of the user's head. Dimensional coordinates can be calculated. As a result, according to the smart terminal 100, it is possible to specify the floor surface in the photographed image regardless of the attributes of the floor surface, and the detection accuracy of the floor surface can be improved.

[第3の実施形態]
上記第1及び第2の実施形態では、床面検出部110の具体的な適用例について言及しなかったが、例えば、床面検出部110は、ARナビゲーションの一機能として適用してもよい。図20は、ARナビゲーションへの適用例を示す図であり、スマート端末100は、床面検出部110を適用したARナビゲーション部2000を搭載する。これにより、スマート端末100では、ナビゲーション時に、床面検出部110により特定された撮影画像上の床面に、AR画像2011、2012を表示することができる。
[Third Embodiment]
In the above-described first and second embodiments, no specific application example of the floor detection unit 110 was mentioned, but the floor detection unit 110 may be applied as one function of AR navigation, for example. FIG. 20 is a diagram showing an application example to AR navigation, and the smart terminal 100 is equipped with an AR navigation unit 2000 to which the floor detection unit 110 is applied. As a result, the smart terminal 100 can display the AR images 2011 and 2012 on the floor surface of the captured image specified by the floor detection unit 110 during navigation.

このとき、床面検出部110は、床面の属性によらず、床面を適切に検出することができる。このため、AR画像2011、2012の表示位置が、床面からずれるといった事態を回避することができる。 At this time, the floor surface detection unit 110 can appropriately detect the floor surface regardless of the attributes of the floor surface. Therefore, it is possible to avoid a situation in which the display positions of the AR images 2011 and 2012 deviate from the floor surface.

[その他の実施形態]
上記第1及び第2の実施形態では、撮影対象の部位を、足元または頭部としたが、撮影対象の部位はこれらに限定されず、他の部位であってもよい。ただし、その場合、モデル情報格納部120には、当該部位に応じたモデル情報が格納されるものとする。
[Other embodiments]
In the above-described first and second embodiments, the parts to be imaged are the feet or the head, but the parts to be imaged are not limited to these, and may be other parts. In that case, however, the model information storage unit 120 stores model information corresponding to the part.

また、上記第1及び第2の実施形態では、ユーザ400が床面検出プログラムを起動した際、モデル情報310、320、1210、1220に含まれる、所定の1のユーザについての“位置関係”を用いて、床面の位置を算出するものとして説明した。しかしながら、モデル情報310、320、1210、1220に規定する位置関係は、所定の1のユーザについての位置関係に限定されず、複数のユーザそれぞれについての位置関係が規定されていてもよい。 Further, in the first and second embodiments, when the user 400 starts the floor surface detection program, the "positional relationship" for one predetermined user included in the model information 310, 320, 1210, 1220 is determined. was used to calculate the position of the floor surface. However, the positional relationships defined in the model information 310, 320, 1210, 1220 are not limited to the positional relationships for one predetermined user, and positional relationships for each of a plurality of users may be specified.

この場合、各ユーザは、規定された複数の位置関係の中から、いずれかの位置関係を選択する。これにより、スマート端末100によれば、ユーザ400以外のユーザが撮影者となった場合でも、当該撮影者が、自身に応じた位置関係を選択することで、床面の位置を適切に算出することができる。 In this case, each user selects one of the defined positional relationships. As a result, according to the smart terminal 100, even if a user other than the user 400 becomes the photographer, the photographer can appropriately calculate the position of the floor surface by selecting the positional relationship according to himself/herself. be able to.

また、上記第1及び第2の実施形態では、特徴点抽出領域である円柱領域を表示し、撮影対象の部位が円柱領域に含まれるように、ユーザ400がスマート端末100の位置及び姿勢または撮影対象の部位の位置を調整するものとして説明した。しかしながら、位置を調整する際に表示する画像は、円柱領域に限定されない。例えば、撮影対象の部位に応じた形状の画像を表示するようにしてもよい。これにより、ユーザ400は、撮影対象の部位に応じた形状の画像が、撮影対象の部位に重なるように、スマート端末100の位置を調整するだけで、特徴点抽出領域を適切な位置に設定することが可能となる。 In addition, in the above-described first and second embodiments, the columnar region, which is the feature point extraction region, is displayed, and the user 400 adjusts the position and orientation of the smart terminal 100 or the photographing area so that the region to be photographed is included in the columnar region. It has been described as adjusting the position of the target part. However, the image displayed when adjusting the position is not limited to the cylindrical region. For example, an image having a shape corresponding to the part to be imaged may be displayed. As a result, the user 400 can set the feature point extraction region at an appropriate position simply by adjusting the position of the smart terminal 100 so that an image having a shape corresponding to the part to be photographed overlaps the part to be photographed. becomes possible.

また、上記第1及び第2の実施形態では、抽出した特徴点群を全て用いてモデルフィッティング処理を行うものとして説明した。しかしながら、抽出した特徴点群のうち、例えば、RANSAC(RANdom SAmple Consensus)を用いて外れ値を除去したうえで、モデルフィッティング処理を行ってもよい。 Further, in the above-described first and second embodiments, the model fitting process is performed using all the extracted feature point groups. However, the model fitting process may be performed after outliers are removed from the extracted feature points using, for example, RANSAC (RANdom SAmple Consensus).

なお、開示の技術では、以下に記載する付記のような形態が考えられる。
(付記1)
撮影者の所定の部位を撮影し、
撮影した撮影画像から前記所定の部位の特徴点群を抽出し、
特徴点群と床面との位置関係を予め規定したモデル情報に基づき、抽出した特徴点群から床面の位置を算出し、撮影画像において床面を特定する、
処理をコンピュータに実行させるための床面検出プログラム。
(付記2)
前記所定の部位を撮影した撮影画像から、3次元点群と撮影装置の位置及び姿勢とを推定し、推定した3次元点群から、前記所定の部位の特徴点群を抽出する、付記1に記載の床面検出プログラム。
(付記3)
前記所定の部位を撮影した撮影画像から推定される3次元点群のうち、前記撮影装置の光軸方向において、所定の距離にある所定の大きさの領域に含まれる3次元点群を、前記特徴点群として抽出する、付記2に記載の床面検出プログラム。
(付記4)
重力方向を示すデータを取得し、
前記撮影装置の姿勢が、前記重力方向に対して所定の条件を満たす場合に、前記領域を撮影画像上に表示する、付記3に記載の床面検出プログラム。
(付記5)
前記モデル情報には、所定の部位を撮影した場合に抽出される特徴点群に基づいて算出される水平面と、床面との位置関係が規定されており、
抽出した特徴点群に基づいて算出される水平面に対して、前記モデル情報に規定された水平面をフィッティングさせることで、前記床面の位置を算出する、付記2に記載の床面検出プログラム。
(付記6)
前記モデル情報には、所定の部位を撮影した場合に抽出される特徴点群と、床面との位置関係が規定されており、
抽出した特徴点群に対して、前記モデル情報に規定された特徴点群をフィッティングさせることで、前記床面の位置を算出する、付記2に記載の床面検出プログラム。
(付記7)
算出した前記床面の位置に基づいて、前記撮影装置の現在の位置及び姿勢のもとで撮影された撮影画像において床面を特定する、付記5または6に記載の床面検出プログラム。
(付記8)
特定した床面の位置を示す情報を、前記撮影装置の現在の位置及び姿勢のもとで撮影された撮影画像に表示する、付記7に記載の床面検出プログラム。
(付記9)
撮影者の所定の部位を撮影し、
撮影した撮影画像から前記所定の部位の特徴点群を抽出し、
特徴点群と床面との位置関係を予め規定したモデル情報に基づき、抽出した特徴点群から床面の位置を算出し、撮影画像において床面を特定する、
処理をコンピュータが実行する床面検出方法。
(付記10)
撮影者の所定の部位を撮影した撮影画像を取得する取得部と、
取得した撮影画像から前記所定の部位の特徴点群を抽出する抽出部と、
特徴点群と床面との位置関係を予め規定したモデル情報に基づき、抽出した特徴点群から床面の位置を算出し、撮影画像における床面を特定する特定部と
を有することを特徴とする端末装置。
It should be noted that the technology disclosed herein can take forms such as those described below.
(Appendix 1)
Photographing a predetermined part of the photographer,
Extracting a feature point group of the predetermined part from the photographed image,
calculating the position of the floor surface from the extracted feature point group based on model information that prescribes the positional relationship between the feature point group and the floor surface, and specifying the floor surface in the captured image;
A floor detection program for causing a computer to execute processing.
(Appendix 2)
estimating a three-dimensional point group and the position and orientation of an imaging device from a photographed image of the predetermined site, and extracting a feature point group of the predetermined site from the estimated three-dimensional point group; The described floor detection program.
(Appendix 3)
Among the three-dimensional point group estimated from the photographed image of the predetermined part, the three-dimensional point group included in a predetermined size area at a predetermined distance in the optical axis direction of the photographing device is The floor detection program according to appendix 2, which is extracted as a feature point group.
(Appendix 4)
Acquire data indicating the direction of gravity,
3. The floor detection program according to appendix 3, wherein the area is displayed on the captured image when the posture of the imaging device satisfies a predetermined condition with respect to the direction of gravity.
(Appendix 5)
The model information defines a positional relationship between a horizontal plane calculated based on a group of feature points extracted when a predetermined part is photographed and a floor surface,
The floor surface detection program according to appendix 2, wherein the position of the floor surface is calculated by fitting the horizontal surface defined in the model information to the horizontal surface calculated based on the extracted feature point group.
(Appendix 6)
The model information defines the positional relationship between the feature point group extracted when a predetermined part is photographed and the floor surface,
The floor detection program according to appendix 2, wherein the position of the floor is calculated by fitting a feature point group defined in the model information to the extracted feature point group.
(Appendix 7)
7. The floor surface detection program according to appendix 5 or 6, wherein the floor surface is specified in the photographed image photographed under the current position and orientation of the photographing device, based on the calculated position of the floor surface.
(Appendix 8)
8. The floor detecting program according to appendix 7, wherein the information indicating the specified position of the floor is displayed in the photographed image photographed under the current position and orientation of the photographing device.
(Appendix 9)
Photographing a predetermined part of the photographer,
Extracting a feature point group of the predetermined part from the photographed image,
calculating the position of the floor surface from the extracted feature point group based on model information that prescribes the positional relationship between the feature point group and the floor surface, and specifying the floor surface in the captured image;
A floor detection method in which processing is executed by a computer.
(Appendix 10)
an acquisition unit that acquires a photographed image obtained by photographing a predetermined part of a photographer;
an extraction unit that extracts a feature point group of the predetermined part from the acquired photographed image;
a specifying unit that calculates the position of the floor surface from the extracted feature point group based on model information that prescribes the positional relationship between the feature point group and the floor surface, and specifies the floor surface in the captured image. terminal equipment.

なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。 It should be noted that the present invention is not limited to the configurations shown here, such as combinations with other elements, etc., in the configurations described in the above embodiments. These points can be changed without departing from the gist of the present invention, and can be determined appropriately according to the application form.

100 :スマート端末
101 :表示画面
110 :床面検出部
120 :モデル情報格納部
310、320 :モデル情報
311 :水平面
312、321 :床面
501 :撮影画像取得部
502 :3次元点群生成部
503 :撮影装置位置推定部
504 :撮影装置姿勢推定部
505 :センサデータ取得部
506 :重力方向推定部
507 :モード移行判定部
508 :領域計算部
509 :特徴点取得部
1210、1220 :モデル情報
1211 :水平面
1212、1221 :床面
100: smart terminal 101: display screen 110: floor detection unit 120: model information storage units 310, 320: model information 311: horizontal surfaces 312, 321: floor surface 501: photographed image acquisition unit 502: three-dimensional point group generation unit 503 : camera position estimation unit 504 : camera posture estimation unit 505 : sensor data acquisition unit 506 : gravity direction estimation unit 507 : mode transition determination unit 508 : area calculation unit 509 : feature point acquisition units 1210 and 1220 : model information 1211 : Horizontal planes 1212, 1221: floor plane

Claims (10)

撮影者の所定の部位を撮影し、
撮影した撮影画像から前記所定の部位の特徴点群を抽出し、
特徴点群と床面との位置関係を予め規定したモデル情報に基づき、抽出した特徴点群から床面の位置を算出し、撮影画像において床面を特定する、
処理をコンピュータに実行させるための床面検出プログラム。
Photographing a predetermined part of the photographer,
Extracting a feature point group of the predetermined part from the photographed image,
calculating the position of the floor surface from the extracted feature point group based on model information that prescribes the positional relationship between the feature point group and the floor surface, and specifying the floor surface in the captured image;
A floor detection program for causing a computer to execute processing.
前記所定の部位を撮影した撮影画像から、3次元点群と撮影装置の位置及び姿勢とを推定し、推定した3次元点群から、前記所定の部位の特徴点群を抽出する、請求項1に記載の床面検出プログラム。 3. estimating a three-dimensional point group and the position and orientation of an imaging device from a photographed image of said predetermined site, and extracting a feature point group of said predetermined site from said estimated three-dimensional point group. The floor detection program described in . 前記所定の部位を撮影した撮影画像から推定される3次元点群のうち、前記撮影装置の光軸方向において、所定の距離にある所定の大きさの領域に含まれる3次元点群を、前記特徴点群として抽出する、請求項2に記載の床面検出プログラム。 Among the three-dimensional point group estimated from the photographed image of the predetermined part, the three-dimensional point group included in a predetermined size area at a predetermined distance in the optical axis direction of the photographing device is 3. The floor surface detection program according to claim 2, which is extracted as a feature point group. 重力方向を示すデータを取得し、
前記撮影装置の姿勢が、前記重力方向に対して所定の条件を満たす場合に、前記領域を撮影画像上に表示する、請求項3に記載の床面検出プログラム。
Acquire data indicating the direction of gravity,
4. The floor detection program according to claim 3, wherein the area is displayed on the captured image when the posture of the imaging device satisfies a predetermined condition with respect to the direction of gravity.
前記モデル情報には、所定の部位を撮影した場合に抽出される特徴点群に基づいて算出される水平面と、床面との位置関係が規定されており、
抽出した特徴点群に基づいて算出される水平面に対して、前記モデル情報に規定された水平面をフィッティングさせることで、前記床面の位置を算出する、請求項2に記載の床面検出プログラム。
The model information defines a positional relationship between a horizontal plane calculated based on a group of feature points extracted when a predetermined part is photographed and a floor surface,
3. The floor surface detection program according to claim 2, wherein the position of the floor surface is calculated by fitting the horizontal surface defined in the model information to the horizontal surface calculated based on the extracted feature point group.
前記モデル情報には、所定の部位を撮影した場合に抽出される特徴点群と、床面との位置関係が規定されており、
抽出した特徴点群に対して、前記モデル情報に規定された特徴点群をフィッティングさせることで、前記床面の位置を算出する、請求項2に記載の床面検出プログラム。
The model information defines the positional relationship between the feature point group extracted when a predetermined part is photographed and the floor surface,
3. The floor surface detection program according to claim 2, wherein the position of the floor surface is calculated by fitting a feature point group defined in the model information to the extracted feature point group.
算出した前記床面の位置に基づいて、前記撮影装置の現在の位置及び姿勢のもとで撮影された撮影画像において床面を特定する、請求項5または6に記載の床面検出プログラム。 7. The floor surface detecting program according to claim 5, wherein the floor surface is specified in the photographed image photographed under the current position and orientation of the photographing device, based on the calculated position of the floor surface. 特定した床面の位置を示す情報を、前記撮影装置の現在の位置及び姿勢のもとで撮影された撮影画像に表示する、請求項7に記載の床面検出プログラム。 8. The floor surface detection program according to claim 7, wherein information indicating the specified position of the floor surface is displayed in the photographed image photographed under the current position and orientation of the photographing device. 撮影者の所定の部位を撮影し、
撮影した撮影画像から前記所定の部位の特徴点群を抽出し、
特徴点群と床面との位置関係を予め規定したモデル情報に基づき、抽出した特徴点群から床面の位置を算出し、撮影画像において床面を特定する、
処理をコンピュータが実行する床面検出方法。
Photographing a predetermined part of the photographer,
Extracting a feature point group of the predetermined part from the photographed image,
calculating the position of the floor surface from the extracted feature point group based on model information that prescribes the positional relationship between the feature point group and the floor surface, and specifying the floor surface in the captured image;
A floor detection method in which processing is executed by a computer.
撮影者の所定の部位を撮影した撮影画像を取得する取得部と、
取得した撮影画像から前記所定の部位の特徴点群を抽出する抽出部と、
特徴点群と床面との位置関係を予め規定したモデル情報に基づき、抽出した特徴点群から床面の位置を算出し、撮影画像において床面を特定する特定部と
を有することを特徴とする端末装置。
an acquisition unit that acquires a photographed image obtained by photographing a predetermined part of a photographer;
an extraction unit that extracts a feature point group of the predetermined part from the acquired photographed image;
a specifying unit that calculates the position of the floor surface from the extracted feature point group based on model information that prescribes the positional relationship between the feature point group and the floor surface, and specifies the floor surface in the captured image. terminal equipment.
JP2018202208A 2018-10-26 2018-10-26 Floor detection program, floor detection method, and terminal device Active JP7107166B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018202208A JP7107166B2 (en) 2018-10-26 2018-10-26 Floor detection program, floor detection method, and terminal device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018202208A JP7107166B2 (en) 2018-10-26 2018-10-26 Floor detection program, floor detection method, and terminal device

Publications (2)

Publication Number Publication Date
JP2020067978A JP2020067978A (en) 2020-04-30
JP7107166B2 true JP7107166B2 (en) 2022-07-27

Family

ID=70388538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018202208A Active JP7107166B2 (en) 2018-10-26 2018-10-26 Floor detection program, floor detection method, and terminal device

Country Status (1)

Country Link
JP (1) JP7107166B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7234995B2 (en) * 2020-04-04 2023-03-08 株式会社三洋物産 game machine
JP7234993B2 (en) * 2020-04-04 2023-03-08 株式会社三洋物産 game machine
JP7234991B2 (en) * 2020-04-04 2023-03-08 株式会社三洋物産 game machine
JP7234990B2 (en) * 2020-04-04 2023-03-08 株式会社三洋物産 game machine
JP7234992B2 (en) * 2020-04-04 2023-03-08 株式会社三洋物産 game machine
CN112348889B (en) * 2020-10-23 2024-06-07 浙江商汤科技开发有限公司 Visual positioning method, and related device and equipment

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007188417A (en) 2006-01-16 2007-07-26 Fujitsu Ten Ltd Image recognition device, image recognition method, and image recognition program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007188417A (en) 2006-01-16 2007-07-26 Fujitsu Ten Ltd Image recognition device, image recognition method, and image recognition program

Also Published As

Publication number Publication date
JP2020067978A (en) 2020-04-30

Similar Documents

Publication Publication Date Title
JP7107166B2 (en) Floor detection program, floor detection method, and terminal device
US9928656B2 (en) Markerless multi-user, multi-object augmented reality on mobile devices
CN110702111B (en) Simultaneous localization and map creation (SLAM) using dual event cameras
CN108765498B (en) Monocular vision tracking, device and storage medium
US9953461B2 (en) Navigation system applying augmented reality
CN103718213B (en) Automatic scene is calibrated
JP6338021B2 (en) Image processing apparatus, image processing method, and image processing program
CN104145294B (en) Self-Pose Estimation Based on Scene Structure
KR102354299B1 (en) Camera calibration method using single image and apparatus therefor
US10839544B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable storage medium
US10438412B2 (en) Techniques to facilitate accurate real and virtual object positioning in displayed scenes
CN103875020B (en) The method and apparatus that homography decomposes ambiguity is solved based on orientation sensor
US20130176337A1 (en) Device and Method For Information Processing
KR20150096922A (en) Apparatus for estimating camera pose and method for estimating camera pose
KR101703013B1 (en) 3d scanner and 3d scanning method
CN113228117B (en) Creation device, creation method, and recording medium recording creation program
WO2020195875A1 (en) Information processing device, information processing method, and program
CN110119189B (en) Initialization method, AR control method, device and system of SLAM system
JP2021047516A (en) Information processing device, coordinate conversion system, coordinate conversion method, and coordinate conversion program
KR102475790B1 (en) Map making Platform apparatus and map making method using the platform
JP6835665B2 (en) Information processing equipment and programs
JP2004020398A (en) Spatial information acquisition method, spatial information acquisition device, spatial information acquisition program, and recording medium recording the same
JP2017075961A (en) Mobile information device, size measurement method, and size measurement program
JP2017111034A (en) Terminal having camera, navigation information providing system, and navigation information display method
HK40050042B (en) Image registration method, visual positioning method and related devices, equipment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220627

R150 Certificate of patent or registration of utility model

Ref document number: 7107166

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150