JP7164652B2 - Model generation device, model generation method, and model generation program - Google Patents

Model generation device, model generation method, and model generation program Download PDF

Info

Publication number
JP7164652B2
JP7164652B2 JP2021043304A JP2021043304A JP7164652B2 JP 7164652 B2 JP7164652 B2 JP 7164652B2 JP 2021043304 A JP2021043304 A JP 2021043304A JP 2021043304 A JP2021043304 A JP 2021043304A JP 7164652 B2 JP7164652 B2 JP 7164652B2
Authority
JP
Japan
Prior art keywords
room
data
point cloud
ceiling
model
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
JP2021043304A
Other languages
Japanese (ja)
Other versions
JP2022142994A (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.)
Kozo Keikaku Engineering Inc
Original Assignee
Kozo Keikaku Engineering Inc
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 Kozo Keikaku Engineering Inc filed Critical Kozo Keikaku Engineering Inc
Priority to JP2021043304A priority Critical patent/JP7164652B2/en
Publication of JP2022142994A publication Critical patent/JP2022142994A/en
Application granted granted Critical
Publication of JP7164652B2 publication Critical patent/JP7164652B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Generation (AREA)

Description

特許法第30条第2項適用 令和2年9月17日 2020年電子情報通信学会ソサイエティ大会オンライン開催(URL:https://www.ieice-taikai.jp/2020society/jpn/index.html)にて公開Article 30, Paragraph 2 of the Patent Act applies September 17, 2020 The 2020 IEICE Society Conference will be held online (URL: https://www.ieice-taikai.jp/2020society/jpn/index.html) published in

本発明は、屋内点群データから屋内の3Dモデルを作成するモデル生成装置、モデル生成方法、及びモデル生成プログラムに関する。 The present invention relates to a model generation device, a model generation method, and a model generation program for creating an indoor 3D model from indoor point cloud data.

屋内点群データから屋内の3Dモデルを作成する技術が知られており、このような3Dモデルを電波伝播シミュレータ向けに用いたいという需要がある。
電波伝播シミュレータに読み込める形式のメッシュ3Dモデルを作成する技術があるが、メッシュ化により作成したモデルは穴が空いたり面が細かくなったりする等、電波伝播シミュレーションには向かないことがある。
メッシュ化によらない3Dモデル作成技術として、例えば、特許文献1の装置は、建物の内部について取得された3次元の屋内点群データを読み込み、読み込んだ屋内点群データから平面を抽出し、抽出した平面を床面、天井面、壁面に分類する。そして、分類した床面、天井面、壁面をポリゴン化して3次元モデルを生成する。
また、特許文献2には、3D計測によって得られた計測点群情報に基づいて、床面、天井面、壁面がある部屋の3次元モデル情報を生成する情報処理装置が開示されている。
計測点群情報における計測点の数を高さ方向に計数し、高さ方向の計測点の数の分布を特定する。
高さ方向の上側の計測点群情報における、計測点数が最も多い高さの平面を天井面として特定する。高さ方向の下側の計測点群情報における計測点数が最も多い高さの平面を床面として特定する。
天井面、床面を特定したあと、天井面、床面夫々からの垂直面(壁面)を特定して、床面、天井面、壁面がある部屋の3次元モデル情報を生成する。
Techniques for creating indoor 3D models from indoor point cloud data are known, and there is a demand for using such 3D models for radio wave propagation simulators.
There is a technique for creating a mesh 3D model that can be read into a radio propagation simulator, but the model created by meshing may have holes or fine surfaces, making it unsuitable for radio propagation simulation.
As a 3D model creation technology that does not rely on meshing, for example, the device of Patent Document 1 reads 3D indoor point cloud data acquired about the inside of a building, extracts a plane from the read indoor point cloud data, and extracts The planes are classified into floor, ceiling, and wall surfaces. Then, the classified floor surface, ceiling surface, and wall surface are polygonized to generate a three-dimensional model.
Further, Patent Literature 2 discloses an information processing apparatus that generates three-dimensional model information of a room having a floor surface, a ceiling surface, and wall surfaces based on measurement point cloud information obtained by 3D measurement.
The number of measurement points in the measurement point group information is counted in the height direction, and the distribution of the number of measurement points in the height direction is specified.
A plane having the largest number of measurement points in the measurement point group information on the upper side in the height direction is specified as the ceiling plane. A plane having the largest number of measurement points in the measurement point cloud information on the lower side in the height direction is specified as the floor surface.
After specifying the ceiling surface and the floor surface, the vertical surface (wall surface) from the ceiling surface and the floor surface is specified, and the three-dimensional model information of the room having the floor surface, the ceiling surface and the wall surface is generated.

特開2019-168976公報Japanese Patent Application Laid-Open No. 2019-168976 特開2018-151835公報Japanese Patent Application Laid-Open No. 2018-151835

引用文献1、2に開示されて技術を適用することで、電波伝播シミュレータ向けの3Dモデルを作成することができる。
しかし、従来の方法にはユーザが設定すべきパラメータも多く、不慣れなユーザが3Dモデルを簡易に作成することが出来ないという問題があった。
本発明は、上記の問題を鑑みてなされたものであり、屋内点群データから、電波伝播シミュレータにも利用可能な3Dモデルを簡易的に作成可能とする。
By applying the techniques disclosed in Cited Documents 1 and 2, a 3D model for a radio wave propagation simulator can be created.
However, the conventional method has many parameters to be set by the user, and there is a problem that an inexperienced user cannot easily create a 3D model.
The present invention has been made in view of the above problems, and makes it possible to easily create a 3D model that can also be used for a radio wave propagation simulator from indoor point cloud data.

上記の課題を解決するために、本発明は、屋内点群データの入力を受け付けるデータ入力部と、ユーザによる入力パラメータの設定を受け付けるパラメータ設定部と、前記入力パラメータに基づいて内部パラメータを生成するパラメータ生成部と、入力された前記屋内点群データに基づいて高さのヒストグラムを生成するヒストグラム生成部と、前記高さのヒストグラムに基づいて、前記屋内点群データから天井データ及び床データを検出する床・天井検出部と、前記天井データに対して領域成長法を施し、1以上の部屋領域を分離する部屋領域分離部と、分離された各部屋の天井データの輪郭を検出する輪郭検出部と、検出された輪郭と、前記床データにおける床の高さ、前記天井データにおける天井の高さと、から各部屋の平面モデルを作成する部屋モデル生成部と、を備え、前記入力パラメータは、部屋の数を含み、前記パラメータ生成部は、前記部屋領域分離部が分離した部屋領域の数と前記入力パラメータとして設定される部屋の数とが異なる場合、前記内部パラメータを再度生成し、再度生成された前記内部パラメータに基づいて前記平面モデルを生成する、モデル生成装置を特徴とする。
In order to solve the above problems, the present invention provides a data input unit for receiving input of indoor point cloud data, a parameter setting unit for receiving input parameter settings by a user, and generating internal parameters based on the input parameters. A parameter generation unit, a histogram generation unit that generates a height histogram based on the indoor point cloud data that has been input, and a ceiling data and floor data that are detected from the indoor point cloud data based on the height histogram. a room region separation unit that applies region growth to the ceiling data to separate one or more room regions; and a contour detection unit that detects the contour of the separated ceiling data of each room. and a room model generation unit that generates a plane model of each room from the detected contour, the floor height in the floor data, and the ceiling height in the ceiling data, wherein the input parameter is the room When the number of room regions separated by the room region separation unit is different from the number of rooms set as the input parameters, the parameter generation unit regenerates the internal parameters, and regenerates the internal parameters. and a model generation device that generates the planar model based on the internal parameters .

上記のように構成したので、本発明によれば、屋内点群データから、電波伝播シミュレータにも利用可能な3Dモデルを簡易的に作成可能とすることができる。 Since it is configured as described above, according to the present invention, it is possible to easily create a 3D model that can also be used for a radio wave propagation simulator from indoor point cloud data.

フィルタ処理済みの屋内点群データの一例を示す図である。FIG. 4 is a diagram showing an example of filtered indoor point cloud data; 屋内点群データから作成した高さのヒストグラムを示す図である。FIG. 4 is a diagram showing a height histogram created from indoor point cloud data; 天井データ、床データを分離する前の屋内点群データを示す図である。FIG. 4 is a diagram showing indoor point cloud data before separation into ceiling data and floor data; 天井データ、床データを分離した後の屋内点群データを示す図である。FIG. 10 is a diagram showing indoor point cloud data after separating ceiling data and floor data; 領域成長法によって部屋領域に分離した天井データを示す図である。FIG. 10 is a diagram showing ceiling data separated into room regions by the region growing method; 部屋の輪郭を検出した投影画像を示す図である。FIG. 10 is a diagram showing a projection image in which the outline of a room is detected; 簡易物体モデルを示す図である。It is a figure which shows a simple object model. メッシュ物体モデルを示す図である。FIG. 10 is a diagram showing a mesh object model; 本実施形態のモデル生成装置が生成した屋内3Dモデルを示す図である。It is a figure which shows the indoor 3D model which the model generation apparatus of this embodiment produced|generated. 本実施形態のモデル生成装置の機能構成を説明する図である。It is a figure explaining the functional composition of the model generation device of this embodiment. 平滑閾値、曲率閾値の自動調整を説明する図である。It is a figure explaining automatic adjustment of a smoothing threshold value and a curvature threshold value. モデル生成装置のCPUが実行するモデル生成処理の流れを説明するフローチャート(その1)である。10 is a flowchart (part 1) for explaining the flow of model generation processing executed by the CPU of the model generation device; モデル生成装置のCPUが実行するモデル生成処理の流れを説明するフローチャート(その2)である。2 is a flowchart (part 2) for explaining the flow of model generation processing executed by the CPU of the model generation device;

以下に、図面を参照して、本発明の実施の形態を詳細に説明する。
本実施形態は、屋内点群(Point Cloud)データから電波伝播シミュレーション(レイトレース解析)向けの屋内3Dモデルを作成するモデル生成アルゴリズムと、これを実行するモデル生成装置に関する。
本実施形態のモデル生成装置は、特に、モデル生成アルゴリズムのためのパラメータ設定の一部を自動化することに特徴を有する。
本実施形態のモデル生成装置は、ユーザが容易に設定可能なパラメータから、モデル生成アルゴリズムのための内部パラメータを生成し、生成した内部パラメータに基づいてモデル生成アルゴリズムを実行する。さらに、アルゴリズムの実行結果(モデル生成結果)と、ユーザが設定したパラメータとに基づいて、必要なパラメータを自動で調整する。
本実施形態によれば、屋内点群データから屋内3Dモデルを生成するためのアルゴリズムに精通していないユーザであっても、容易にかつ短時間で電波伝播シミュレーションに適した屋内3Dモデルを生成することが出来る。
BEST MODE FOR CARRYING OUT THE INVENTION Below, embodiments of the present invention will be described in detail with reference to the drawings.
The present embodiment relates to a model generation algorithm for generating an indoor 3D model for radio wave propagation simulation (ray trace analysis) from indoor point cloud data, and a model generation device for executing this.
The model generating apparatus of this embodiment is characterized by automating part of the parameter setting for the model generating algorithm.
The model generation apparatus of this embodiment generates internal parameters for a model generation algorithm from parameters that can be easily set by the user, and executes the model generation algorithm based on the generated internal parameters. Further, necessary parameters are automatically adjusted based on the execution result of the algorithm (model generation result) and the parameters set by the user.
According to this embodiment, even a user who is not familiar with the algorithm for generating an indoor 3D model from indoor point cloud data can easily generate an indoor 3D model suitable for radio wave propagation simulation in a short time. can do

本実施形態では、領域成長法といった既存のアルゴリズムを活用して屋内点群データを1以上の部屋領域に分離する。その後、画像処理技術を用いることにより、電波伝播シミュレーションに適した屋内3Dモデルと屋内に存在する物体の3Dモデル(物体モデル)とを作成する。
屋内点群データから電波伝播シミュレーション向けの屋内3Dモデルを完全に手動で作成するには、数日から数週間が必要であったが、本実施形態のモデル生成装置は、数十分程度の計算で屋内モデル、物体モデルを作成することが出来る。
また、電波伝播シミュレーション向け3Dモデルを作成するための既知の方法は、ユーザが自ら設定すべきパラメータが多く、適切な値に設定するのが難しいという問題があった。本実施形態のモデル生成装置は、ユーザが容易に設定できるパラメータを使ってモデルを作成可能である。また既知の方法では屋内の物体をモデル化することも難しかったが、本実施形態のモデル生成装置は、屋内の物体をモデル化することもでき、物体の影響を考慮した電波伝播シミュレーションが可能となる。
In this embodiment, an existing algorithm such as the region growing method is utilized to separate the indoor point cloud data into one or more room regions. After that, by using image processing technology, an indoor 3D model suitable for radio wave propagation simulation and a 3D model of an object existing indoors (object model) are created.
It took several days to several weeks to completely manually create an indoor 3D model for radio wave propagation simulation from indoor point cloud data. can create indoor models and object models.
Moreover, the known method for creating a 3D model for radio wave propagation simulation has many parameters that the user should set by himself, and it is difficult to set appropriate values. The model generation device of this embodiment can create a model using parameters that can be easily set by the user. In addition, it is difficult to model indoor objects with known methods, but the model generation device of this embodiment can also model indoor objects, enabling radio wave propagation simulations that take into account the effects of objects. Become.

本実施形態のモデル生成装置の動作について概略を説明する。ユーザは、モデル生成装置が起動した後、別途作成したフィルタ処理済みの屋内点群データをモデル生成装置に入力し、フィルタ処理時の点の間隔、想定される屋内の部屋の数等のユーザパラメータを入力する。
モデル生成装置は、ユーザパラメータから内部パラメータを自動的に生成、調整し、モデル作成フローを実行してモデル作成結果を表示装置に出力する。
出力結果がユーザパラメータ(部屋の数)と適合しているかをユーザが判断することができる。出力結果がユーザパラメータと適合している場合、モデル生成装置は3Dモデルを出力する。適合していない場合、モデル生成装置は、内部パラメータを調整し直して再度モデル作成フローを実行する。
An outline of the operation of the model generation device of this embodiment will be described. After the model generator starts up, the user inputs the separately created filtered indoor point cloud data to the model generator, and uses user parameters such as point intervals during filtering and the number of assumed indoor rooms. Enter
The model generation device automatically generates and adjusts internal parameters from user parameters, executes a model generation flow, and outputs model generation results to a display device.
The user can determine if the output results match the user parameters (number of rooms). If the output results match the user parameters, the model generator outputs a 3D model. If not, the model generator readjusts the internal parameters and executes the model creation flow again.

以下に、本実施形態のモデル生成装置の構成と、モデル生成処理について詳細に説明する。
図1は、フィルタ処理済みの屋内点群データの一例を示す図である。
図1に示される屋内点群データは、3Dレーザースキャナーを用いて屋内をスキャンすることで得られる点の集合である。図1の屋内点群データは事前にフィルタ処理を行っている。フィルタ処理は、点群データに対する処理を高速化するために、点を間引き、点群の密度を下げる処理である。フィルタ処理には、例えばVoxel Grid filterと呼ばれる手法を用いることが出来る。Voxel Grid filterは、点群内に3次元の立方格子を配置し、各格子内に存在する点群の重心を各点の近似点であると見なして元の屋内点群データをその重心1点に差し替える手法である。
これによって、屋内点群データを一定間隔に間引き、点群の密度を下げることが出来る。図1に示す屋内点群データは、例えば1cm間隔で点数を削減している。
フィルタ処理済みの屋内点群データ1は、フィルタ処理を施された状態で、外部装置からあるいは記憶媒体を介して入力されてもよいし、フィルタ処理前の屋内点群データをモデル生成装置10がフィルタ処理することで得られてもよい。なお、以下の説明で屋内点群データ1と記載した場合、特に説明がない場合にはフィルタ処理済の屋内点群データを指すものとする。
The configuration of the model generation device of this embodiment and the model generation process will be described in detail below.
FIG. 1 is a diagram showing an example of filtered indoor point cloud data.
The indoor point cloud data shown in FIG. 1 is a set of points obtained by scanning indoors using a 3D laser scanner. The indoor point cloud data in FIG. 1 has undergone filtering in advance. Filter processing is processing for thinning out points and reducing the density of the point cloud in order to speed up the processing of the point cloud data. For filtering, for example, a method called Voxel Grid filter can be used. The Voxel Grid filter arranges a three-dimensional cubic grid in the point cloud, regards the center of gravity of the point cloud existing in each grid as an approximation point of each point, and converts the original indoor point cloud data to one point of the center of gravity. It is a method to replace with
As a result, the indoor point cloud data can be thinned out at regular intervals to reduce the density of the point cloud. In the indoor point cloud data shown in FIG. 1, the points are reduced at intervals of 1 cm, for example.
The filtered indoor point cloud data 1 may be input from an external device or via a storage medium in a filtered state. It may be obtained by filtering. In the following description, indoor point cloud data 1 refers to filtered indoor point cloud data unless otherwise specified.

[天井・床分離]
本実施形態のモデル生成方法において、モデル生成装置は、まず天井・床分離処理を行う。この天井・床分離処理において、モデル生成装置は、図1に示したフィルタ処理済みの屋内点群データ1から、高さのヒストグラムを作成する。
図2は高さのヒストグラムを示す図である。3Dスキャンによって得られた屋内点群データ1に含まれる点は、夫々高さの情報を有している。高さのヒストグラム2は、屋内点群データ1における、高さが同じ点の数の分布を示している。なお、屋内点群データ1において天井と床の高さに点が多く集まると考えられる。モデル生成装置10は、この点を利用してヒストグラム2の中でも数が多いピーク箇所に基づいて、屋内点群データ1から天井データと床データの分離、抽出を行う。
[Ceiling/floor separation]
In the model generation method of this embodiment, the model generation device first performs ceiling/floor separation processing. In this ceiling/floor separation processing, the model generation device creates a height histogram from the filtered indoor point cloud data 1 shown in FIG.
FIG. 2 shows a height histogram. Each point included in the indoor point cloud data 1 obtained by 3D scanning has height information. A height histogram 2 shows the distribution of the number of points having the same height in the indoor point cloud data 1 . In the indoor point cloud data 1, it is considered that many points are gathered at the height of the ceiling and the floor. Using this point, the model generation device 10 separates and extracts the ceiling data and the floor data from the indoor point cloud data 1 based on the most numerous peak points in the histogram 2 .

すなわち、モデル生成装置は、図2のヒストグラム2における2つのピーク箇所を天井、床の高さとみなして天井面、床面を検出する。モデル生成装置は、ヒストグラム2におけるピーク箇所のうち、高さが高い方のピーク箇所に属する点群を天井面に対応する天井データ2Aとして検出する。また、モデル生成装置は、ヒストグラム2のピーク箇所のうち、高さが低い方のピーク箇所に属する点群を床面に対応する床データ2Bとして検出する。そして、モデル生成装置は、検出した天井データ2A、床データ2Bを屋内点群データ1から分離、抽出する。 That is, the model generation device detects the ceiling surface and the floor surface by regarding the two peak points in the histogram 2 in FIG. 2 as the height of the ceiling and the floor. The model generation device detects the point group belonging to the higher peak point among the peak points in the histogram 2 as the ceiling data 2A corresponding to the ceiling surface. In addition, the model generation device detects a point group belonging to the lower peak point among the peak points of the histogram 2 as the floor data 2B corresponding to the floor surface. Then, the model generation device separates and extracts the detected ceiling data 2A and floor data 2B from the indoor point cloud data 1 .

図3は、天井データ、床データを分離する前の屋内点群データを示す図であり、図4は、天井データ、床データを分離した後の、屋内点群データ1Aを示す図である。
図3の状態の屋内点群データ1Aでは、屋内に存在するテーブルなどの物体を視認することができないが、図4の状態の屋内点群データ1Aでは、天井データ、床データが分離しており、屋内に存在する物体の物体点群データ2Cを視認することが出来る。屋内点群データ1に含まれる物体点群データ2Cは、屋内に存在する物体の3Dモデル化に利用することが出来る。
屋内点群データ1から天井データ2A、床データ2Bを分離することにより、屋内に存在する物体を、それぞれの物体の点群ごとに容易に分離することが出来る。
下記に説明する[物体モデル化]処理において物体の点群を個々の物体に分離する際、距離によるクラスタ分類を行うが、この際、床が存在すると、床を通じて物体同士を同じクラスタと分類してしまう。そこで、天井データ2Aとともに床データ2Bも分離した屋内点群データ1Aを作成する。
FIG. 3 is a diagram showing indoor point cloud data before separation of ceiling data and floor data, and FIG. 4 is a diagram showing indoor point cloud data 1A after separation of ceiling data and floor data.
In the indoor point cloud data 1A in the state of FIG. 3, an object such as a table existing indoors cannot be visually recognized, but in the indoor point cloud data 1A in the state of FIG. 4, the ceiling data and the floor data are separated. , the object point cloud data 2C of objects existing indoors can be visually recognized. The object point cloud data 2C included in the indoor point cloud data 1 can be used for 3D modeling of objects existing indoors.
By separating the ceiling data 2A and the floor data 2B from the indoor point cloud data 1, objects existing indoors can be easily separated by point cloud of each object.
When separating the point cloud of the object into individual objects in the [object modeling] process described below, cluster classification is performed based on distance. end up Therefore, the indoor point cloud data 1A is created by separating the floor data 2B as well as the ceiling data 2A.

[セグメンテーション処理]
次に、モデル生成装置は、セグメンテーション処理を行う。セグメンテーション処理は、天井データを1以上の部屋領域に分離、分割する処理である。
セグメンテーション処理において、モデル生成装置は、上記の天井・床分離処理で分離・抽出した天井データ2Aに対して、点群処理の一手法である領域成長法(Region Growing)を施して、天井データ2Aを1以上の部屋領域に分離する。領域成長法は点群処理手法の一例であり、天井データ2Aを分離することができればその他の方法を採用しても構わない。
[Segmentation processing]
Next, the model generation device performs segmentation processing. Segmentation processing is processing for separating and dividing ceiling data into one or more room regions.
In the segmentation process, the model generation device applies Region Growing, which is a method of point group processing, to the ceiling data 2A separated and extracted by the above-described ceiling/floor separation process to obtain the ceiling data 2A. into one or more room regions. The region growing method is an example of the point group processing method, and other methods may be adopted as long as the ceiling data 2A can be separated.

領域成長法について説明する。一般に、領域成長法は、画素値(輝度)などの条件を満たす空間的に連続する画素を一つの領域として認識する手法である。上記の条件を満たす任意の画素を「シード点」として手動で決定し、ラベルをつける。そして、シード点近傍で条件を満たす画素に同一のラベルをつける処理を繰り返す。
それに対して、本実施形態の領域成長法は特に点群に対して適用したものであり、点群に含まれる点を画素値に対応させ、点群に含まれる点の曲率値や法線などを用いてシード点や条件を定める。
すなわち、本実施形態の領域成長法の処理では、点群に含まれる点の曲率値と下記の「曲率閾値」とを用いてシード点を決定し、シード点の法線とシード点の隣接点の法線とがなす角度と下記の「平滑閾値」とに基づいて、シード点と同じ領域に属する隣接点を決定する。シード点を基準とした点の分類を繰り返し行うことによって、モデル生成装置は、シード点を基点とした領域の成長とを行う。シード点の隣接点とは、シード点から所定範囲(点数)内に存在する点である。隣接点を規定する範囲は、下記に説明するパラメータにて設定される。
A region growing method will be described. In general, the region growing method is a method of recognizing spatially continuous pixels satisfying conditions such as pixel values (luminance) as one region. Any pixel that satisfies the above conditions is manually determined as a "seed point" and labeled. Then, the process of assigning the same label to pixels satisfying the conditions near the seed point is repeated.
On the other hand, the region growing method of this embodiment is applied particularly to a point group. is used to determine seed points and conditions.
That is, in the processing of the region growing method of this embodiment, the seed points are determined using the curvature values of the points included in the point group and the following "curvature threshold", and the normal line of the seed points and the adjacent points of the seed points Adjacent points that belong to the same region as the seed point are determined based on the angle formed by the normal to and the "smoothing threshold" described below. By repeatedly classifying points based on the seed points, the model generator grows regions based on the seed points. A point adjacent to a seed point is a point that exists within a predetermined range (number of points) from the seed point. The range defining adjacent points is set by the parameters described below.

本実施形態における領域成長法の処理を詳しく説明する。
まず、モデル生成装置は、領域成長法の対象とする点群に含まれる点を曲率値で並び替えるソート処理を行う。そしてモデル生成装置は、上記ソート済の点群から曲率値が最も小さい点を最小曲率点として選択する。この最小曲率点がシード点となる。最小曲率点を選択する基準となる閾値が「曲率閾値」であり、モデル生成装置は、曲率閾値よりも小さい曲率値を有する点を最小曲率点として選択し、この最小曲率点をシード点として領域の成長を行う。最小曲率点は平坦領域に位置しており、より平坦な領域から領域の成長を行うことで、セグメントの数を少なくする(多くなりすぎないようにする)ことが出来るためである。「曲率閾値」は、下記に説明するパラメータにて設定される。
Processing of the region growing method in this embodiment will be described in detail.
First, the model generation device performs a sorting process for sorting points included in a point group to be subjected to the region growing method by curvature values. Then, the model generation device selects the point with the smallest curvature value from the sorted point group as the minimum curvature point. This minimum curvature point becomes the seed point. The threshold used as the criterion for selecting the minimum curvature point is the "curvature threshold", and the model generation device selects a point having a curvature value smaller than the curvature threshold as the minimum curvature point, and uses this minimum curvature point as a seed point to divide the region. growth. This is because the point of minimum curvature is located in a flat area, and by growing the area from a flatter area, the number of segments can be reduced (prevented from becoming too many). The "curvature threshold" is set by parameters described below.

モデル生成装置は、決定したシード点から領域を成長させるにあたり、「平滑条件(Smoothness constraint)」に関して十分に近い点同士を一つの領域(セグメント)に分類する。同一セグメント内の点は平滑面を構成するので、互いの法線の角度が大きく異ならない(点の法線同士がなす角度が小さい)。よってモデル生成装置は、互いの法線がなす角度より小さい点同士を同一セグメント内の点とみなす。点同士を同一セグメントとみなす法線同士の角度の閾値が「平滑閾値」である。
モデル生成装置は、シード点の隣接点のうち、その法線とシード点の法線とがなす角度が平滑閾値よりも小さい点を、シード点と同じセグメントに属する点とする。「平滑閾値」は、下記に説明するパラメータにて設定される。
When the model generator grows regions from the determined seed points, it classifies points that are sufficiently close with respect to the "smoothness constraint" into one region (segment). Since the points within the same segment form a smooth surface, the angles of the normals to each other do not differ greatly (the angles formed by the normals of the points are small). Therefore, the model generating device regards points that are smaller than the angle formed by the normals to each other as points within the same segment. A "smoothing threshold" is a threshold for an angle between normals for regarding points as the same segment.
The model generation device determines that, among adjacent points to the seed point, points at which the angle between the normal and the normal to the seed point is smaller than the smoothing threshold value belongs to the same segment as the seed point. The "smoothing threshold" is set by parameters described below.

領域成長法による処理の出力結果は、セグメントの集合であり、セグメントは同じ平滑面の一部とみす点の集合である。セグメントを規定するにあたり平滑条件を設定していることにより、壁の境界で平滑面が終了する(領域の成長が止まる)ことが担保される。
本実施形態について言えば、天井面の点群データ(天井データ2A)では、部屋と部屋の間に扉等による隙間が生じることが想定される。そして、その隙間付近の点は、シード点に対する法線の角度が「平滑閾値」を大きく超え、領域(セグメント)の拡大(成長)が止まると考えられる。従って領域成長法によって天井面(天井データ2A)が1以上の部屋領域に好適に分離されることが期待される。従って、部屋領域を分離する用途では、領域成長法がより好ましい方法であると言える。
The output result of the region growing process is a set of segments, a set of points that are considered part of the same smooth surface. By setting the smoothness condition in defining the segments, it is ensured that the smooth surface ends (the region stops growing) at the boundary of the wall.
As for the present embodiment, it is assumed that in the point cloud data of the ceiling surface (ceiling data 2A), there will be a gap due to a door or the like between the rooms. At points near the gap, the angle of the normal to the seed point greatly exceeds the "smoothing threshold", and expansion (growth) of the region (segment) is considered to stop. Therefore, it is expected that the ceiling surface (ceiling data 2A) will be suitably separated into one or more room areas by the area growing method. Therefore, it can be said that the region growing method is a more preferable method for the application of separating the room regions.

本実施形態の領域成長法の処理は、以下のように行われる。
モデル生成装置は、上記のソート処理を行い、曲率閾値よりも曲率が小さい最小曲率点をシード点としてラベル付けし、「シード群」に追加する。モデル生成装置は、未ラベルの点が点群内に無くなるまで、各シード点から領域の成長を開始する処理を実行する。
Processing of the region growing method of the present embodiment is performed as follows.
The model generation device performs the sorting process described above, labels the minimum curvature points whose curvature is smaller than the curvature threshold value as seed points, and adds them to the "seed group". The model generator proceeds to start growing regions from each seed point until there are no more unlabeled points in the point cloud.

モデル生成装置は、各シード点について隣接点を探した後、以下の処理を実行する。
(1)モデル生成装置は、各隣接点の法線と現在のシード点の法線との間の角度が上記の平滑閾値よりも小さい場合、その隣接点を現在の領域(セグメント)に追加してシード点と同じラベルを付ける。この処理を現在のシード点の全ての隣接点について行う。
(2)モデル生成装置は、曲率について全ての隣接点を検証し、曲率値が曲率閾値よりも小さい隣接点を「シード群」に追加する。
(3)モデル生成装置は、現在のシード点を「シード群」から削除する。次のシード点について、(1)、(2)の処理を実行し、処理済のシード点を「シード群」から削除する。「シード群」が空になると、領域を成長させきったことになるため、処理を終了する。
After searching for adjacent points for each seed point, the model generator performs the following processing.
(1) The model generator adds a neighboring point to the current region (segment) if the angle between the normal of each neighboring point and the normal of the current seed point is less than the above smoothing threshold. label the same as the seed point. This process is performed for all neighboring points of the current seed point.
(2) The model generator examines all adjacent points for curvature and adds adjacent points whose curvature value is less than the curvature threshold to the 'seed group'.
(3) The model generator removes the current seed point from the "seed group". The processes (1) and (2) are executed for the next seed point, and the processed seed point is deleted from the "seed group". When the "seed group" becomes empty, it means that the area has been grown, and the process ends.

図5は、領域成長法によって天井データを部屋領域に分離した状態を示す図である。
本実施形態の場合、領域成長法を用いた結果、天井データ2Aの点群を3つのセグメントとしての部屋領域(部屋領域3a、部屋領域3b、部屋領域3c)に分離することが出来た。
なお、図5から明らかなように領域成長法によって分離された各部屋領域の輪郭や部屋領域同士の境界は不明確であり、これを屋内3Dモデルの作成に供することは難しい。よって、下記のように部屋領域の輪郭を検出して明確にするための処理を行う。
FIG. 5 is a diagram showing a state in which the ceiling data is separated into room areas by the area growing method.
In the case of this embodiment, as a result of using the region growing method, the point cloud of the ceiling data 2A could be separated into three segmented room regions (room region 3a, room region 3b, and room region 3c).
As is clear from FIG. 5, the contours of the room regions and the boundaries between the room regions separated by the region growing method are unclear, and it is difficult to use them for creating an indoor 3D model. Therefore, processing for detecting and clarifying the outline of the room area is performed as follows.

[画像処理・輪郭近似]
図6は、部屋の輪郭を検出した投影画像を示す図である。
モデル生成装置は、図5で分離した部屋領域3a~3cの天井データを夫々二次元(xy平面)に投影した投影画像4a~4cを作成し、この投影画像に対して画像処理技術を適用することにより、部屋領域3a~3cの輪郭を多角形5a~5cとして検出する。
検出された輪郭が多くの点を含むと、電波伝播シミュレーションに適さないモデルが作成されてしまうので、モデル生成装置は、多角形5a~5cを検出する際には、投影画像4a~4cの輪郭を少ない点で近似するようにする。
[Image processing/contour approximation]
FIG. 6 is a diagram showing a projected image in which the outline of the room is detected.
The model generation device creates projected images 4a to 4c by projecting the ceiling data of the room areas 3a to 3c separated in FIG. Thus, the contours of the room regions 3a-3c are detected as polygons 5a-5c.
If the detected contour includes many points, a model that is not suitable for radio wave propagation simulation is created. is approximated with fewer points.

[部屋モデル化]
モデル生成装置は、検出した多角形5a~5cと、天井データ2A及び床データ2Bの高さの情報を用いて、各部屋の部屋3Dモデル6a~6c(図9参照)を作成する。
以上が、屋内3Dモデルを作成する手順である。
[Room modeling]
The model generator uses the detected polygons 5a-5c and height information of the ceiling data 2A and floor data 2B to create room 3D models 6a-6c (see FIG. 9) of each room.
The above is the procedure for creating an indoor 3D model.

[物体モデル化]
次に、部屋内に存在する物体の3Dモデルを作成する手順を説明する。
モデル生成装置は、図6に示す部屋の輪郭(多角形5a~5c)を用いて、物体の点群2C(図4)を部屋領域(セグメント)ごとに分離する。そしてモデル生成装置は、部屋領域(セグメント)毎に分離した物体2Cの点群にクラスタリング処理を行い、個々の物体点群を分離する。
ここで行うクラスタリング処理は、ユークリッドクラスタリング(Euclidian Clustering)である。ユークリッドクラスタリングは、一定の距離以内にある点を同じクラスタとみなす処理である。
さらにモデル生成装置は、クラスタリング処理によって分離した個々の物体の点群に対し、下記の2種類のモデル化処理(簡易物体モデル化、メッシュ物体モデル化)の何れかを実施して物体モデルを得る。
[Object modeling]
Next, a procedure for creating a 3D model of an object existing in a room will be described.
The model generating device separates the point cloud 2C (FIG. 4) of the object into each room region (segment) using the outline of the room (polygons 5a to 5c) shown in FIG. Then, the model generation device performs clustering processing on the point groups of the object 2C separated for each room region (segment), and separates individual object point groups.
The clustering processing performed here is Euclidian Clustering. Euclidean clustering is a process of regarding points within a certain distance as the same cluster.
Furthermore, the model generation device obtains an object model by performing either of the following two types of modeling processing (simple object modeling, mesh object modeling) on point groups of individual objects separated by clustering processing. .

図7は、簡易物体モデルを示す図である。簡易物体モデル化では、物体の点群を二次元(xy平面)に投影した画像を作成し、部屋領域に対して行った処理と同様の処理によって、物体の輪郭を検出する。そして、検出した輪郭と、物体の最大高、最小高を用いて多角形近似を行い、物体を多角柱によりモデル化する。その結果、図7に示す簡易物体モデルを得る。 FIG. 7 is a diagram showing a simple object model. In simple object modeling, an image is created by projecting the point group of the object two-dimensionally (xy plane), and the contour of the object is detected by the same processing as that for the room area. Polygonal approximation is then performed using the detected contour and the maximum and minimum heights of the object, and the object is modeled as a polygonal prism. As a result, the simple object model shown in FIG. 7 is obtained.

図8は、メッシュ物体モデルを示す図である。メッシュ物体モデル化では、例えば、点群処理手法の一つであるメッシュ化(GST:Greedy Surface Triangulation)によるモデル化を行い、図8に示すメッシュ物体モデルを得る。
簡易物体モデル化、メッシュ物体モデル化のどちらで生成されたモデルであっても、市販の電波伝播シミュレータに読み込むことが可能である。
FIG. 8 is a diagram showing a mesh object model. In mesh object modeling, for example, meshing (GST: Greedy Surface Triangulation), which is one of point group processing techniques, is performed to obtain a mesh object model shown in FIG.
A model generated by either simple object modeling or mesh object modeling can be read into a commercially available radio wave propagation simulator.

図9は、本実施形態のモデル生成装置が生成した屋内3Dモデルを示す図である。
図9に示す屋内3Dモデル6は、多角形5aに基づく部屋3Dモデル6aと、多角形5bに基づく部屋3Dモデル6bと、多角形5cに基づく部屋3Dモデル6cと、を含んでいる。さらに、部屋3Dモデル6a~6c内には、物体モデル7を含んでいる。
FIG. 9 is a diagram showing an indoor 3D model generated by the model generation device of this embodiment.
The indoor 3D model 6 shown in FIG. 9 includes a room 3D model 6a based on polygons 5a, a room 3D model 6b based on polygons 5b, and a room 3D model 6c based on polygons 5c. Furthermore, object models 7 are included in the room 3D models 6a-6c.

図10は、本実施形態のモデル生成装置の機能構成を説明する図であり、(a)はハードウェアによる機能ブロック図、(b)はソフトウェアによる機能ブロック図である。
図10(a)に示すように、モデル生成装置10は、装置全体の制御を行う汎用のオペレーティングシステムを実行するとともに、モデル生成装置10の機能を実現するプログラムを実行するCPU(Central Processing Unit)11と、CPU11による処理のために各種のプログラムや一時データ、変数が展開されるRAM(Random Access Memory)12と、プログラムやデータが格納されるHDD(Hard Disk Drive)13や不図示のROM(Read Only Memory)と、I/Oインターフェイス14と、読書装置15と、ネットワークI/F16と、表示装置17と、マウスやキーボードなどの入力装置18と、を備えている。
10A and 10B are diagrams for explaining the functional configuration of the model generation device of this embodiment, where FIG. 10A is a hardware functional block diagram and FIG. 10B is a software functional block diagram.
As shown in FIG. 10(a), the model generation device 10 executes a general-purpose operating system that controls the entire device, and a CPU (Central Processing Unit) that executes a program that implements the functions of the model generation device 10. 11, RAM (Random Access Memory) 12 in which various programs, temporary data, and variables are developed for processing by CPU 11, HDD (Hard Disk Drive) 13 in which programs and data are stored, and ROM (not shown). Read Only Memory), an I/O interface 14, a reading device 15, a network I/F 16, a display device 17, and an input device 18 such as a mouse or keyboard.

CPU11は、モデル生成装置10が備えて制御部を実現する制御回路の一例であり、制御回路としては、その他にマルチコアCPU、FPGA(Field Programmable Gate Array)、PLD(Programmable Logic Device)などのプロセッサを適用することができる。
HDD13は、内蔵するハードディスク(Hard Disk)を駆動するドライブ装置であり、HDD13は記憶媒体としてのハードディスクに格納されたプログラムやデータを読み出し、またハードディスクにデータを書き込む。
The CPU 11 is an example of a control circuit that is provided in the model generation device 10 and implements a control unit. can be applied.
The HDD 13 is a drive device that drives an internal hard disk. The HDD 13 reads programs and data stored in the hard disk as a storage medium, and writes data to the hard disk.

また、モデル生成装置10は、FD(Floppy Disk)、CD(Compact Disc)やDVD(Digital Versatile Disc)、BD(Blu-ray(登録商標) Disk)などの光学ディスク、フラッシュメモリなどの着脱可能な記憶媒体200に対してプログラムやデータを読み書きする読書装置15を備えてもよい。
読書装置15は、FDD(Floppy Disk Drive)、CDD(Compact Disc Drive)、DVDD(Digital Versatile Disc Drive)、BDD(Blu-ray (登録商標)Disk Drive)、USB(Universal Serial Bus)などである。
CPU11、RAM12、HDD13、I/Oインターフェイス14、読書装置15は、例えば内部バスを介して接続されている。
モデル生成装置10は、ネットワークI/F16を介して他装置からフィルタ処理済又はフィルタ処理前の屋内点群データを入力することが出来る。モデル生成装置10は、屋内点群データを格納した記憶媒体から読書装置15によってフィルタ処理済又はフィルタ処理前の屋内点群データを得ても良い。
モデル生成装置10は、I/Oインターフェイス14を介して接続された3Dスキャナから屋内点群データを入力されてもよい。その場合はとくに、モデル生成装置10は3Dスキャナから入力された屋内点群データにフィルタ処理をする機能を有することが望ましい。
In addition, the model generation device 10 can also be used to store optical discs such as FDs (Floppy Disks), CDs (Compact Discs), DVDs (Digital Versatile Discs), and BDs (Blu-ray (registered trademark) Disks), as well as detachable discs such as flash memories. A reader/writer 15 that reads and writes programs and data to/from the storage medium 200 may be provided.
The reading device 15 is FDD (Floppy Disk Drive), CDD (Compact Disc Drive), DVDD (Digital Versatile Disc Drive), BDD (Blu-ray (registered trademark) Disk Drive), USB (Universal Serial Bus), or the like.
The CPU 11, RAM 12, HDD 13, I/O interface 14, and reading device 15 are connected via an internal bus, for example.
The model generating device 10 can input filtered or unfiltered indoor point cloud data from another device via the network I/F 16 . The model generation device 10 may obtain filtered or pre-filtered indoor point cloud data by the reading device 15 from a storage medium storing indoor point cloud data.
The model generator 10 may receive indoor point cloud data from a 3D scanner connected via the I/O interface 14 . In that case, it is particularly desirable that the model generation device 10 has a function of filtering the indoor point cloud data input from the 3D scanner.

図10(b)に示すように、CPU11は、制御部10Aとして、データ入力部31と、パラメータ設定部32と、パラメータ生成部33と、ヒストグラム生成部34と、床・天井検出部35と、部屋領域分離部36と、輪郭検出部37と、部屋モデル生成部38と、物体分離部39と、物体モデル生成部40と、を実行する。
これらの処理部は、モデル生成装置10の制御部10Aの機能を実現するプログラムであり、当該プログラムは、HDD13に含まれるハードディスクや記憶媒体200に格納され得る。プログラムは、HDD13や読書装置15によってハードディスクや記憶媒体200からRAM12に読み出されてCPU11によって実行される。
RAM12やHDD13は、モデル生成装置10の記憶部10Bを構成する。
記憶部10Bは、主に、点群データ記憶部51、パラメータ記憶部52と、を備える。
As shown in FIG. 10B, the CPU 11 includes, as a control unit 10A, a data input unit 31, a parameter setting unit 32, a parameter generation unit 33, a histogram generation unit 34, a floor/ceiling detection unit 35, A room region separation unit 36, an outline detection unit 37, a room model generation unit 38, an object separation unit 39, and an object model generation unit 40 are executed.
These processing units are programs that implement the functions of the control unit 10A of the model generating device 10, and the programs can be stored in the hard disk included in the HDD 13 or the storage medium 200. FIG. The program is read from the hard disk or storage medium 200 to the RAM 12 by the HDD 13 or reading device 15 and executed by the CPU 11 .
The RAM 12 and HDD 13 constitute a storage unit 10B of the model generating device 10. FIG.
The storage unit 10</b>B mainly includes a point cloud data storage unit 51 and a parameter storage unit 52 .

データ入力部31は、フィルタ処理済の屋内点群データ1の入力を受け付け、点群データ記憶部51に格納する。
パラメータ設定部32は、例えば入力装置18を用いたユーザによるパラメータ(ユーザパラメータ)の設定入力を受け付ける。
パラメータ生成部33は、ユーザパラメータに基づいて内部パラメータを自動設定し又は自動調整し、パラメータ記憶部52に格納する。
ヒストグラム生成部34は、屋内点群データ1に含まれる点毎の高さ情報に基づいて、高さのヒストグラム2を生成する。
The data input unit 31 receives the input of the filtered indoor point cloud data 1 and stores it in the point cloud data storage unit 51 .
The parameter setting unit 32 accepts a setting input of parameters (user parameters) by the user using the input device 18, for example.
The parameter generator 33 automatically sets or adjusts the internal parameters based on the user parameters, and stores them in the parameter storage 52 .
The histogram generator 34 generates a height histogram 2 based on the height information for each point included in the indoor point cloud data 1 .

床・天井検出部35は、高さのヒストグラム2に基づいて屋内点群データから天井データ2A、床データ2Bを検出し、屋内点群データ1から天井データ2A、床データ2Bを分離する。
部屋領域分離部36は、天井データ2Aに対して領域成長法を施し、部屋領域を分離する。
輪郭検出部37は、分離された各部屋の天井データを二次元に投影した画像を作成し、画像処理を用いて部屋の輪郭を検出する。
部屋モデル生成部38は、検出された輪郭と、天井データ2A、床データ2Bにおける床の高さ、天井の高さから各部屋の屋内3Dモデルを作成する。
物体分離部39は、部屋の輪郭を用いて部屋内部の物体の点群を部屋ごとに分離する。
物体モデル生成部40は、物体の点群から物体モデルを生成する。
点群フィルタ部41は、外部装置からフィルタ処理前の屋内点群データが入力された場合に、入力された屋内点群データに対してフィルタ処理を施す。
The floor/ceiling detector 35 detects ceiling data 2A and floor data 2B from the indoor point cloud data based on the height histogram 2, and separates the ceiling data 2A and floor data 2B from the indoor point cloud data 1. FIG.
The room area separation unit 36 applies the area growing method to the ceiling data 2A to separate the room areas.
The contour detection unit 37 creates an image by two-dimensionally projecting the ceiling data of each separated room, and detects the contour of the room using image processing.
The room model generator 38 creates an indoor 3D model of each room from the detected outline, the floor height in the ceiling data 2A, and the ceiling height in the floor data 2B.
The object separation unit 39 separates point groups of objects inside the room for each room using the contour of the room.
The object model generator 40 generates an object model from the point group of the object.
When indoor point cloud data before filtering is input from an external device, the point cloud filter unit 41 performs filtering on the input indoor point cloud data.

モデル生成装置10は、以下に示す処理によってモデル生成アルゴリズムのための内部パラメータの自動生成、自動調整を行う。
モデル生成装置10のユーザは、モデル生成装置10に対して、フィルタ処理における点の間隔(フィルタ間隔)、想定される部屋の面積、物体の表面積、想定される部屋の検出数、部屋領域の最大点数、物体の輪郭の最大点数、を設定する。
このとき、モデル生成装置10は、これらの情報を指定するユーザパラメータとして、filter_spacing、room_min_area、room_max_area、obj_min_area、obj_max_area、room_num、room_max_vertices、obj_max_vertices等の設定入力を受け付ける。
The model generation device 10 automatically generates and automatically adjusts internal parameters for the model generation algorithm by the following processing.
The user of the model generation device 10 provides the model generation device 10 with a point interval (filter interval) in filtering, an assumed room area, an object surface area, an assumed detection number of rooms, a maximum room area Sets the number of points, the maximum number of points for the contour of the object.
At this time, the model generating device 10 receives setting inputs such as filter_spacing, room_min_area, room_max_area, obj_min_area, obj_max_area, room_num, room_max_vertices, obj_max_vertices, etc. as user parameters specifying these pieces of information.

filter_spacingは、フィルタ処理におけるフィルタ間隔を指定するパラメータである。
room_min_area、room_max_areaは、検出される部屋の最小面積、最大面積を夫々指定するパラメータである。
obj_min_area、obj_max_areaは、検出される物体の最小表面積、最大表面積を夫々指定するパラメータである。
room_numは、想定される部屋の検出数、あるいは検出が想定される部屋数を指定するパラメータである。
room_max_verticesは、部屋領域の輪郭の最大頂点数を指定するパラメータである。
obj_max_verticesは、物体の輪郭の最大頂点数を指定するパラメータである。
filter_spacing is a parameter that specifies the filter spacing in filtering.
room_min_area and room_max_area are parameters that specify the minimum area and maximum area of the detected room, respectively.
obj_min_area and obj_max_area are parameters that specify the minimum surface area and maximum surface area of the detected object, respectively.
room_num is a parameter that specifies the number of rooms to be detected or the number of rooms to be detected.
room_max_vertices is a parameter that specifies the maximum number of vertices of the outline of the room area.
obj_max_vertices is a parameter that specifies the maximum number of vertices of the contour of the object.

モデル生成装置10は、上記のユーザパラメータを用いて、下記のように内部パラメータを生成する。
モデル生成装置10は、ユーザパラメータroom_min_area、room_max_areaで指定される部屋の最小面積、最大面積と、ユーザパラメータfilter_spacingで指定されるフィルタ間隔と、に基づいて、内部パラメータrc_minsize、rc_maxsizeを生成する。
rc_minsizeは、部屋として検出される領域の最小点数を指定するパラメータである。
rc_maxsizeは、部屋として検出される領域の最大点数を指定するパラメータである。
具体的には、rc_minsize、rc_maxsizeは夫々、
rc_minsize=round(room_min_area/μ2)
rc_maxsize=round(room_max_area/μ2)
ただし、μ=filter_spacing(フィルタ間隔)
を演算することによって得られる。ここで、roundは四捨五入によって値をまるめる演算を意味する。下記についても同様である。
The model generator 10 uses the user parameters described above to generate internal parameters as follows.
The model generator 10 generates internal parameters rc_minsize and rc_maxsize based on the minimum and maximum room areas specified by the user parameters room_min_area and room_max_area and the filter spacing specified by the user parameter filter_spacing.
rc_minsize is a parameter that specifies the minimum number of points in an area to be detected as a room.
rc_maxsize is a parameter that specifies the maximum number of points in an area detected as a room.
Specifically, rc_minsize and rc_maxsize are
rc_minsize=round(room_min_area/μ 2 )
rc_maxsize=round(room_max_area/μ 2 )
However, μ = filter_spacing (filter spacing)
is obtained by computing Here, round means an operation of rounding a value by rounding off. The same applies to the following.

モデル生成装置10は、ユーザパラメータobj_min_area、obj_max_areaで指定される物体の最小表面積、最大表面積と、ユーザパラメータfilter_spacingで指定されるフィルタ間隔とに基づいて、内部パラメータos_minizie、os_maxsizeを生成する。
os_minizieは、物体として検出される領域の最小点数を指定するパラメータである。
os_maxsizeは、物体として検出される領域の最大点数を指定するパラメータである。
具体的には、上記os_minizie、os_maxsizeは夫々、
os_minsize=round(obj_min_area/μ2)
os_maxsize=round(obj_max_area/μ2)
ただし、μ=filter_spacing(フィルタ間隔)
を演算することによって得られる。
これらに加えて、内部パラメータksearch_neighboursを設定してもよい。これは法線計算のアルゴリズムで使用するパラメータである。
内部パラメータpixel_coeffを設定してもよい。これは1mが何ピクセルに対応するかを示すパラメータである。
内部パラメータrc_flagを設定してもよい。通常は0とするが、rc_flagの値が1である場合、天井全体を1部屋とみなす。
The model generator 10 generates internal parameters os_minizie and os_maxsize based on the minimum surface area and maximum surface area of the object specified by the user parameters obj_min_area and obj_max_area and the filter spacing specified by the user parameter filter_spacing.
os_minizie is a parameter that specifies the minimum number of points in an area to be detected as an object.
os_maxsize is a parameter that specifies the maximum number of points in an area to be detected as an object.
Specifically, the above os_minizie and os_maxsize are
os_minsize=round(obj_min_area/μ 2 )
os_maxsize=round(obj_max_area/μ 2 )
However, μ = filter_spacing (filter spacing)
is obtained by computing
In addition to these, an internal parameter ksearch_neighbors may be set. This is the parameter used in the normal calculation algorithm.
You may set the internal parameter pixel_coeff. This is a parameter indicating how many pixels 1m corresponds to.
An internal parameter rc_flag may be set. Normally it is set to 0, but if the value of rc_flag is 1, the entire ceiling is regarded as one room.

またモデル生成装置10は、room_numで指定される部屋数と領域成長法で分離した部屋数とが合致するように領域成長法の内部パラメータrc_curv_thresh、rc_smooth_thresh、rc_neighboursの自動生成、自動調整を行う。
rc_curv_threshは、上記に説明したように、領域成長法の対象とする点群からシード点として採用するための「最小曲率点」を選択するための上記曲率閾値であり、曲率値がこの曲率閾値以下である最小曲率点がシード点として選択される。
rc_smooth_threshは、領域成長法の対象とする点群内の一の点が所定のセグメントに属するか否かを判定するためのパラメータである。すなわち、一のシード点の隣接点である一の点がシード点と同じ領域(セグメント)に属するか否かを、この隣接点とシード点との法線の角度に基づいて判断する上記の平滑閾値である。シード点の法線との角度が「平滑閾値」以下となる法線を有する隣接点が、このシード点と同じく領域(セグメント)に属するものとされる。
rc_neighboursは、シード点から領域を拡大する際にシード点から探索する隣接点の数(探索範囲)を指定するパラメータである。つまり、モデル生成装置10は、シード点を基点にrc_neighboursで定められている数の隣接点に対して、その法線がrc_smooth_threshを満たすか否かを判定するのである。rc_smooth_threshを満たす点がなくなるまで判定を繰り返すことなく、適切な範囲内で判定をすることにより処理負荷が過度に高くなることを防ぐことが出来る。
The model generation device 10 also automatically generates and automatically adjusts the internal parameters rc_curv_thresh, rc_smooth_thresh, and rc_neighbors of the region growing method so that the number of rooms designated by room_num and the number of rooms separated by the region growing method match.
rc_curv_thresh is the curvature threshold for selecting the "minimum curvature point" to be adopted as the seed point from the point group targeted by the region growing method, as described above. is selected as the seed point.
rc_smooth_thresh is a parameter for determining whether or not one point in the point group targeted by the region growing method belongs to a predetermined segment. That is, the above smoothing method determines whether or not a point adjacent to a seed point belongs to the same region (segment) as the seed point based on the normal angle between this adjacent point and the seed point. is the threshold. Neighboring points with normals whose angle with the normal of the seed point is equal to or less than the "smooth threshold" are assumed to belong to the same region (segment) as the seed point.
rc_neighbors is a parameter that specifies the number of neighboring points (search range) searched from the seed point when expanding the region from the seed point. That is, the model generation device 10 determines whether or not the normals of the number of adjacent points determined by rc_neighbours with the seed point as a base point satisfy rc_smooth_thresh. It is possible to prevent the processing load from becoming excessively high by making decisions within an appropriate range without repeating the decision until there are no more points that satisfy rc_smooth_thresh.

モデル生成装置10は、領域成長法において、平滑閾値と曲率閾値とを用いて点群をセグメントに分類する。すなわちモデル生成装置10は、曲率閾値を満たす点をシード点に決定し、シード点の法線との角度が平滑閾値を満たす法線を有する点をシード値と同じセグメントに分類する。
平滑閾値、曲率閾値ともに0以上の値である。どちらも閾値も、大きくなるほど点同士が同じ領域とみなされ易くなり、その結果、検出される領域数(セグメント数)は少なくなる。
モデル生成装置10は、一般的な設定値(平滑閾値=3.0degree、曲率閾値=1.0)を基点として最適な平滑閾値と曲率閾値の組み合わせを二分探索的に調整する。
The model generation device 10 classifies the point group into segments using a smooth threshold value and a curvature threshold value in the region growing method. That is, the model generation device 10 determines points that satisfy the curvature threshold as seed points, and classifies points that have normals whose angles with respect to the normals of the seed points satisfy the smoothing threshold into the same segment as the seed value.
Both the smoothing threshold and the curvature threshold are values of 0 or more. In either case, the larger the threshold, the easier it is for the points to be regarded as the same area, and as a result, the number of detected areas (number of segments) decreases.
The model generating device 10 adjusts the optimum combination of the smoothing threshold and the curvature threshold in a binary search manner using general set values (smoothing threshold=3.0 degrees, curvature threshold=1.0) as base points.

モデル生成装置10は、具体的には、rc_smooth_thresh(平滑閾値)、rc_curv_thresh(曲率閾値)の二分探索的な自動設定、自動調整を以下のように行う。
図11は、平滑閾値、曲率閾値の自動調整を説明する図である。
下記の説明において、平滑閾値の単位degreeについては表示を省略している。
(lhs+rhs)/2=(3.0,1.0)を満たすように、lhs=(0,0)、rhs(6.0,2.0)とする。モデル生成装置10は、lhs=(0,0)とrhs=(6.0,2.0)の間で、最適な設定値(平滑閾値,曲率閾値)の組み合わせを探る処理を行う。
(1)(lhs+rhs)/2=((0,0)+(6.0,2.0))/2から上記の一般的な設定値A(3.0,1.0)が得られる。
モデル生成装置10は、この設定値Aによって領域成長法を実施して、天井データ2Aを部屋領域に分離する。分離された部屋領域数が、room_numで指定される部屋数と一致すれば処理は終了である。
(2-1)分離された部屋領域数が、room_numで指定される部屋数よりも大きければ、設定値Aを新たなlhsとして、(lhs+rhs)/2=((3.0,1.0)+(6.0,2.0))/2を演算し、新たな設定値B1(4.5,1.5)を得る。
(2-2)分離された部屋領域数が、room_numで指定される部屋数よりも小さければ、設定値Aを新たなrhsとして、(lhs+rhs)/2=((0,0)+(3.0,1.0))/2を演算し、新たな設定値B2(1.5,0.5)を得る。
Specifically, the model generation device 10 automatically sets and adjusts rc_smooth_thresh (smooth threshold value) and rc_curv_thresh (curvature threshold value) like a binary search as follows.
FIG. 11 is a diagram illustrating automatic adjustment of the smoothing threshold and the curvature threshold.
In the following description, the unit degree of the smoothing threshold is omitted.
Let lhs=(0,0) and rhs(6.0,2.0) so as to satisfy (lhs+rhs)/2=(3.0,1.0). The model generation device 10 performs a process of searching for a combination of optimal setting values (smooth threshold, curvature threshold) between lhs=(0, 0) and rhs=(6.0, 2.0).
(1) (lhs+rhs)/2=((0,0)+(6.0,2.0))/2 yields the above general setting A(3.0,1.0).
The model generation device 10 executes the region growing method with this set value A to separate the ceiling data 2A into room regions. If the number of separated room areas matches the number of rooms specified by room_num, the process ends.
(2-1) If the number of separated room regions is greater than the number of rooms specified by room_num, then the set value A is set to a new lhs, and (lhs+rhs)/2=((3.0, 1.0) +(6.0, 2.0))/2 to obtain a new set value B1 (4.5, 1.5).
(2-2) If the number of separated room regions is smaller than the number of rooms specified by room_num, (lhs+rhs)/2=((0, 0)+(3. 0, 1.0))/2 to obtain a new set value B2 (1.5, 0.5).

上記設定値B1を得た場合、設定値B1を用いて領域成長法を実施して天井データ2Aを部屋領域に分離する。分離された部屋領域数が、room_numで指定される部屋数と一致すれば処理は終了である。
(3-1)分離された部屋領域数が、room_numで指定される部屋数よりも大きければ、設定値B1を新たなlhsとして、(lhs+rhs)/2=((4.5,1.5)+(6.0,2.0))/2を演算し、新たな設定値C1を得る。
(3-1)分離された部屋領域数が、room_numで指定される部屋数よりも小さければ、設定値B1を新たなrhsとして、(lhs+rhs)/2=((3.0,1.0)+((4.5,1.5))/2を演算し、新たな設定値C2を得る
When the set value B1 is obtained, the ceiling data 2A is separated into room regions by executing the region growing method using the set value B1. If the number of separated room areas matches the number of rooms specified by room_num, the process ends.
(3-1) If the number of separated room regions is greater than the number of rooms specified by room_num, then (lhs+rhs)/2=((4.5, 1.5) with the set value B1 as the new lhs +(6.0, 2.0))/2 to obtain a new set value C1.
(3-1) If the number of separated room areas is smaller than the number of rooms specified by room_num, (lhs+rhs)/2=((3.0, 1.0) with the set value B1 as the new rhs +((4.5, 1.5))/2 to obtain new set value C2

上記で設定値B2を得た場合、設定値B2を用いて領域成長法を実施して天井データ2Aを部屋領域に分離する。分離された部屋領域数が、room_numで指定される部屋数と一致すれば処理は終了である。
(3-3)分離された部屋領域数が、room_numで指定される部屋数よりも大きければ、((1.5,0.5))である設定値B2を新たなlhsとして、(lhs+rhs)/2=((1.5,0.5)+(3.0,1.0))/2を演算し、新たな設定値C3を得る。
(3-4)分離された部屋領域数が、room_numで指定される部屋数よりも小さければ、((1.5,0.5))である設定値B2を新たなrhsとして、(lhs+rhs)/2=((0.0,0.0)+((1.5,0.5))/2を演算し、新たな設定値C4を得る。
When the set value B2 is obtained as described above, the ceiling data 2A is separated into room regions by executing the region growing method using the set value B2. If the number of separated room areas matches the number of rooms specified by room_num, the process ends.
(3-3) If the number of separated room regions is greater than the number of rooms specified by room_num, ((1.5, 0.5)) is set as a new lhs, and (lhs+rhs) /2=((1.5, 0.5)+(3.0, 1.0))/2 to obtain a new set value C3.
(3-4) If the number of separated room areas is smaller than the number of rooms specified by room_num, ((1.5, 0.5)) is set as a new rhs, and (lhs+rhs) /2=((0.0,0.0)+((1.5,0.5))/2 is calculated to obtain a new set value C4.

さらに、新たな設定値C1、C2、C3、C4を用いて領域成長法を実施して天井データ2Aを分離し、分離結果とroom_numで指定される部屋数と比較することを行う。
上記に説明した処理を同様に繰り返し行うが、一定回数を繰り返しても検出される部屋領域数と、room_numで指定される部屋数とが一致しない場合は、近しい数となった時点で終了してもよい。
Furthermore, the ceiling data 2A is separated by executing the area growing method using the new set values C1, C2, C3, and C4, and the separation result is compared with the number of rooms specified by room_num.
The process described above is repeated in the same way, but if the number of detected room areas does not match the number of rooms specified by room_num even after repeating the process a certain number of times, the process ends when the numbers are close to each other. good too.

またモデル生成装置10は、room_max_verticesで指定される部屋領域の輪郭の最大頂点数と、obj_max_verticesで指定される物体の輪郭の最大頂点数を超えないように輪郭近似のパラメータ(wd_epsilon、os_epsilon)を自動調整する。
Douglas Peuckerアルゴリズムでは、モデル生成装置10は、epsilonの値を用いて輪郭を簡易化する。epsilonの値を大きくすると輪郭がより簡易化された結果となる。
自動調整の方法は、wd_epsilon、os_epsilon何れの場合も、epsilon=0.001に設定し、Douglas Peuckerアルゴリズムを実施して輪郭を簡易化する。
The model generation device 10 automatically sets contour approximation parameters (wd_epsilon, os_epsilon) so as not to exceed the maximum number of vertices of the contour of the room region specified by room_max_vertices and the maximum number of vertices of the contour of the object specified by obj_max_vertices. adjust.
In the Douglas Peucker algorithm, the model generator 10 uses the value of epsilon to simplify the contour. Larger values of epsilon result in more simplified contours.
The method of automatic adjustment is to set epsilon=0.001 for both wd_epsilon and os_epsilon and implement the Douglas Peucker algorithm to simplify the contour.

簡易化後の部屋の頂点数>room_max_verticesで指定される最大頂点数
あるいは
簡易化後の物体の頂点数>obj_max_verticesで指定される最大頂点数
である場合には、モデル生成装置10はepsilonを2倍にし、再度Douglas Peuckerアルゴリズムを実行する。
簡易化後の部屋の頂点数>room_max_verticesで指定される最大頂点数
あるいは
簡易化後の物体の頂点数>obj_max_verticesで指定される最大頂点数
でない場合には、モデル生成装置10は調整を完了する。
If the number of vertices of the room after simplification > the maximum number of vertices specified by room_max_vertices or the number of vertices of the object after simplification > the maximum number of vertices specified by obj_max_vertices, the model generator 10 doubles the epsilon. and run the Douglas Peucker algorithm again.
If the number of vertices of the room after simplification>the maximum number of vertices specified by room_max_vertices or the number of vertices of the object after simplification>the maximum number of vertices specified by obj_max_vertices, the model generator 10 completes the adjustment.

図12、図13は、モデル生成装置のCPUが実行するモデル生成処理の流れを説明するフローチャートである。
CPU11は、ステップS101において、屋内点群データが入力されたか否かを判定する。
屋内点群データが入力されたと判定した場合(ステップS101でYes)、CPU11は、ステップ102において、ユーザパラメータが入力されたか否かを判定する。
上記したように、入力されるユーザパラメータは、フィルタ処理におけるフィルタ間隔を指定するfilter_spacing、検出される部屋の最小面積、最大面積を夫々指定するroom_min_area、room_max_area、検出される物体の最大表面積、最小表面積を夫々指定するobj_min_area、obj_max_area、検出が期待される部屋数を指定するroom_num、部屋領域の輪郭の最大頂点数を指定するroom_max_vertices、物体の輪郭の最大頂点数を指定するobj_max_verticesである。
12 and 13 are flowcharts for explaining the flow of model generation processing executed by the CPU of the model generation device.
In step S101, the CPU 11 determines whether indoor point cloud data has been input.
When it is determined that indoor point cloud data has been input (Yes in step S101), the CPU 11 determines in step 102 whether user parameters have been input.
As described above, the input user parameters are filter_spacing that specifies the filter spacing in the filtering process, room_min_area and room_max_area that specify the minimum area and maximum area of the room to be detected, the maximum surface area of the object to be detected, and the minimum surface area. obj_min_area and obj_max_area that specify respectively, room_num that specifies the number of rooms expected to be detected, room_max_vertices that specifies the maximum number of vertices of the outline of the room area, and obj_max_vertices that specifies the maximum number of vertices of the outline of the object.

ユーザパラメータが入力されたと判定した場合(ステップS102でYes)、CPU11は、ユーザパラメータに基づいて、内部パラメータを自動設定し、パラメータ記憶部52に格納する。
特にCPU11は、パラメータroom_min_area、room_max_areaで指定される部屋の最小面積、最大面積と、filter_spacingで設定されるフィルタ間隔とに基づいて、部屋として検出される領域の最小点数を指定する内部パラメータrc_minsize、最大点数を指定する内部パラメータrc_maxsizeを生成する。
またモデル生成装置10は、obj_min_area、obj_max_areaで指定される物体の最小表面積、最大面積とfilter_spacingで指定されるフィルタ間隔とに基づいて、物体として検出される領域の最小点数(os_minizie)、最大点数(os_maxsize)を生成する。
When determining that a user parameter has been input (Yes in step S102), the CPU 11 automatically sets internal parameters based on the user parameters and stores them in the parameter storage unit 52. FIG.
In particular, the CPU 11 uses internal parameters rc_minsize, maximum Generate an internal parameter rc_maxsize that specifies the number of points.
The model generation device 10 also calculates the minimum number of points (os_minizie) and the maximum number of points (os_minizie) and the maximum number of points ( os_maxsize).

CPU11は、ステップS104において、屋内点群データに基づいて、高さのヒストグラムを作成する。
CPU11は、ステップS105において、作成したヒストグラムから、入力された屋内点群データにおける床面の屋内点群データ(床データ)と天井面の屋内点群データ(天井データ)を検出する。
CPU11は、[ヒストグラムの最大値]×fc_cutoff_coeff以上の値を持つビンをピークとして検出する。内部パラメータfc_cutoff_coeffは、ヒストグラムにおける最大のビンに対しピークとして検出するビンの閾値を決定する割合である。なおfc_cutoff_coeffは、自動設定、自動調整の対象とはならない固定パラメータである。
CPU11は、ピークとして検出されたビンクラスタのうち、高さが一番低い場所を床、それ以外を天井群とみなす。
ピーク検出がうまく行かない場合、内部パラメータfc_min_thresh、fc_max_threshで指定される天井の最小高さ、最大高さを用い、高さがfc_min_thresh以上且つfc_max_thresh以下であるのすべての点を天井データとみなすようにしてもよい。fc_min_thresh、fc_max_threshは、自動設定、自動調整の対象とはならない固定パラメータである。
In step S104, the CPU 11 creates a height histogram based on the indoor point cloud data.
In step S105, the CPU 11 detects indoor point cloud data of the floor surface (floor data) and indoor point cloud data of the ceiling surface (ceiling data) in the input indoor point cloud data from the created histogram.
The CPU 11 detects a bin having a value equal to or greater than [maximum value of histogram]×fc_cutoff_coeff as a peak. The internal parameter fc_cutoff_coeff is the ratio that determines the threshold of bins to be detected as peaks relative to the largest bin in the histogram. Note that fc_cutoff_coeff is a fixed parameter that is not subject to automatic setting or automatic adjustment.
Among the bin clusters detected as peaks, the CPU 11 regards the place with the lowest height as the floor, and the rest as the ceiling group.
If peak detection is not successful, use the minimum and maximum ceiling heights specified by the internal parameters fc_min_thresh and fc_max_thresh, and consider all points whose height is greater than or equal to fc_min_thresh and less than or equal to fc_max_thresh as ceiling data. may fc_min_thresh and fc_max_thresh are fixed parameters that are not automatically set or adjusted.

CPU11は、ステップS106において、内部パラメータrc_neighbours、rc_smooth_thresh、rc_curv_threshを用いて天井データに対する領域成長法を行い、天井データの点群を1以上の部屋領域に相当するセグメントに分離する。rc_smooth_thresh、rc_curv_threshの値については、上記したように初期値として一般的な値を用いる。
CPU11は、天井データの点群をセグメントに分離したあとセグメントに含まれる点数がステップS103で生成したrc_minsize以上、rc_maxsize以下であるときにそのセグメントを採用し、そうでない場合は採用しない。
In step S106, the CPU 11 performs a region growing method on the ceiling data using the internal parameters rc_neighbors, rc_smooth_thresh, and rc_curv_thresh, and separates the point cloud of the ceiling data into one or more segments corresponding to room regions. For the values of rc_smooth_thresh and rc_curv_thresh, general values are used as initial values as described above.
After separating the ceiling data point group into segments, the CPU 11 adopts the segment when the number of points included in the segment is equal to or greater than rc_minsize generated in step S103 and equal to or less than rc_maxsize, and otherwise does not adopt.

CPU11は、ステップS107において、分離した部屋領域を二次元に投影して各部屋の平面画像を作成する。CPU11は、セグメントに分離したそれぞれの天井データを部屋領域とみなし、夫々の部屋領域の点群を二次元に投影した画像データ(平面画像)を作成する。
point_size=1.414×100×μ(フィルタ間隔)を演算することにより、点群を二次元画像に投影するときの半径(単位:pixel)を設定してもよい。このpoint_sizeは、部屋領域の点群を投影する場合にも、物体の点群を投影する場合にも用いることが出来る。
In step S107, the CPU 11 creates a planar image of each room by projecting the separated room areas two-dimensionally. The CPU 11 regards each segmented ceiling data as a room area, and creates image data (planar image) by two-dimensionally projecting point groups of each room area.
By calculating point_size=1.414×100×μ (filter interval), the radius (unit: pixel) when projecting the point group onto the two-dimensional image may be set. This point_size can be used both when projecting the point cloud of the room area and when projecting the point cloud of the object.

CPU11は、ステップS108において、平面画像に画像処理を行って各部屋の輪郭を検出し、Douglas Peuckerアルゴリズムによって輪郭の頂点数を削減する。このとき、簡易化する程度を示す指標である内部パラメータwd_epsilonが用いられる。CPU11は、初期値としてwd_epsilon=0.001と設定してDouglas Peuckerアルゴリズムを実施し、部屋領域の輪郭を簡易化する。
CPU11は、S109において、簡易化後の部屋の最大頂点数がroom_max_verticesで指定される最大頂点数よりも大きいか否かを判定する。簡易化後の部屋の頂点数がroom_max_verticesで指定される最大頂点数よりも大きい場合(S109でYes)、CPU11は、S110においてwd_epsilonを2倍にする調整を行い、ステップS108に戻ってDouglas Peuckerアルゴリズムを実行する。簡易化後の部屋の頂点数がroom_max_verticesで指定される最大頂点数と同じか小さい場合(S109でNo)、CPU11は、wd_epsilonの調整を完了して次のステップに処理を移す。
In step S108, the CPU 11 performs image processing on the planar image to detect the outline of each room, and reduces the number of vertices of the outline by the Douglas Peucker algorithm. At this time, an internal parameter wd_epsilon, which is an index indicating the degree of simplification, is used. The CPU 11 sets wd_epsilon=0.001 as an initial value and implements the Douglas Peucker algorithm to simplify the outline of the room area.
In S109, the CPU 11 determines whether or not the maximum number of vertices of the room after simplification is greater than the maximum number of vertices specified by room_max_vertices. If the number of vertices of the room after simplification is greater than the maximum number of vertices specified by room_max_vertices (Yes in S109), the CPU 11 doubles wd_epsilon in S110, returns to step S108, and performs the Douglas Peucker algorithm. to run. If the number of vertices of the room after simplification is equal to or smaller than the maximum number of vertices specified by room_max_vertices (No in S109), the CPU 11 completes adjustment of wd_epsilon and proceeds to the next step.

CPU11は、ステップS111において、部屋領域数が、ユーザがroom_numに指定した部屋数に一致しているかを判定する。一致しないと判定した場合(ステップS111でNo)、CPU11は、ステップS112において、上記に説明したように領域成長法に用いるパラメータrc_smooth_thresh、rc_curv_threshを設定しなおす。そしてステップS106に処理を戻し、部屋領域の分離から処理をやりなおす。調整をしてもステップS111で分離した部屋数がユーザ指定の数と一致しない場合は、一番近い部屋数を用いればよい。 In step S111, the CPU 11 determines whether or not the number of room regions matches the number of rooms designated by the user as room_num. If it is determined that they do not match (No in step S111), the CPU 11 resets the parameters rc_smooth_thresh and rc_curv_thresh used in the region growing method in step S112 as described above. Then, the process is returned to step S106, and the process is redone from the separation of the room area. If the number of rooms separated in step S111 does not match the number specified by the user even after adjustment, the closest number of rooms may be used.

部屋領域数が、ユーザがroom_numに指定した部屋数に一致すると判定した場合(ステップS111でYes)、CPU11は、ステップS113において、部屋の輪郭を用いて各部屋内部の物体の点群を分離する。
CPU11は、ステップS113において、上記ステップS108で簡易化した部屋の輪郭を用いて屋内の物体を分離する。
物体の分離にあたり、CPU11は、内部パラメータdist_from_wall、wd_max_verticesを用いる。
dist_from_wallは、壁からどの程度の距離だけ内側にあれば部屋内部の点と見なすかを決める閾値であり、CPU11は、壁の内側且つ壁からの距離がdist_from_wall以上の点を物体の点とみなす。dist_from_wallは自動設定、自動調整の対象とはならない固定パラメータである。
wd_max_verticesは自動設定、自動調整の対象とはならない固定パラメータである。
If it is determined that the number of room regions matches the number of rooms specified by the user in room_num (Yes in step S111), the CPU 11 separates point groups of objects inside each room using the outline of the room in step S113. .
In step S113, the CPU 11 separates indoor objects using the outline of the room simplified in step S108.
When separating objects, the CPU 11 uses internal parameters dist_from_wall and wd_max_vertices.
dist_from_wall is a threshold value that determines how far inside the wall a point must be to be considered as a point inside the room. dist_from_wall is a fixed parameter that is not subject to automatic setting or automatic adjustment.
wd_max_vertices is a fixed parameter that is not automatically set or adjusted.

分離した物体をモデル化するが、上記したように、モデル生成装置10は、簡易物体モデル化とメッシュ物体モデル化とを行うことができる。このフローチャートでは、簡易物体モデル化を主に説明する。簡易物体モデル化は、部屋の輪郭を検出した場合と同様の手法を用いて物体の輪郭を検出し、検出した物体をモデル化する方法である。
簡易物体モデル化は、物体を分離する際の距離閾値である内部パラメータos_toleranceと、ステップS103で生成したos_minsize、os_maxsizeを用いる。os_toleranceは自動設定、自動調整の対象とはならない固定パラメータである。
CPU11は、os_toleranceで指定される距離よりも離れていない点同士を同じ物体に属すとみなし、この距離以上離れている点同士を別の物体と属すとみなすことにより、ステップS113で分離した物体を個々の物体に分離する。
さらにCPU11は、分離した個々の物体のうち、点数が、os_minsizeで指定される数よりも多く、且つos_maxsizeで指定される数よりも少ないものを物体として採用し、それ以外の物体を採用しない。
Although isolated objects are modeled, as described above, the model generator 10 is capable of simple object modeling and mesh object modeling. This flow chart mainly describes simple object modeling. Simplified object modeling is a method of detecting the contour of an object using a method similar to that for detecting the contour of a room, and modeling the detected object.
Simplified object modeling uses an internal parameter os_tolerance, which is a distance threshold for separating objects, and os_minsize and os_maxsize generated in step S103. os_tolerance is a fixed parameter that is not subject to automatic setting or automatic adjustment.
The CPU 11 regards points that are not separated by a distance specified by os_tolerance as belonging to the same object, and points that are separated by this distance or more as belonging to different objects, thereby dividing the objects separated in step S113. Separate into individual objects.
Furthermore, the CPU 11 adopts as an object the number of points greater than the number specified by os_minsize and less than the number specified by os_maxsize among the separated individual objects, and does not employ other objects.

CPU11は、ステップS115において、ステップS114で分離した個々の物体の点群を二次元に投影した画像データ(平面画像)を作成する。
CPU11は、平面画像に画像処理を行って各物体の輪郭を検出し、このときDouglas Peuckerアルゴリズムによって頂点数を削減する。このとき、輪郭の頂点数を削減する際に簡易化する程度を示す指標である内部パラメータos_epsilonが用いられる。CPU11は、まず初期値としてos_epsilon=0.001に設定してDouglas Peuckerアルゴリズムを実施し、物体の輪郭を簡易化する。
In step S115, the CPU 11 creates image data (planar image) by two-dimensionally projecting the point groups of the individual objects separated in step S114.
The CPU 11 performs image processing on the planar image to detect the contour of each object, and at this time, reduces the number of vertices by the Douglas Peucker algorithm. At this time, an internal parameter os_epsilon, which is an index indicating the degree of simplification when reducing the number of contour vertices, is used. The CPU 11 first sets os_epsilon=0.001 as an initial value and executes the Douglas Peucker algorithm to simplify the outline of the object.

CPU11は、S117において、簡易化後の物体の頂点数>obj_max_verticesで指定される最大頂点数であるか否かを判定する。簡易化後の物体の頂点数>obj_max_verticesで指定される最大頂点数である場合(S117でYes)、CPU11は、S118においてos_epsilonを2倍にする調整を行い、ステップS108に戻ってDouglas Peuckerアルゴリズムを実行する。簡易化後の物体の頂点数<obj_max_verticesで指定される最大頂点数である場合(S117でNo)、CPU11は、wd_epsilonの調整を完了し、次のステップに処理を移す。 In S117, the CPU 11 determines whether or not the number of vertices of the object after simplification>the maximum number of vertices specified by obj_max_vertices. If the number of vertices of the object after simplification>the maximum number of vertices specified by obj_max_vertices (Yes in S117), the CPU 11 doubles os_epsilon in S118, returns to step S108, and executes the Douglas Peucker algorithm. Run. If the number of vertices of the object after simplification<the maximum number of vertices specified by obj_max_vertices (No in S117), the CPU 11 completes the adjustment of wd_epsilon and proceeds to the next step.

CPU11は、ステップS119において、部屋の輪郭と、上記ヒストグラムに基づく床と天井の高さから、部屋の3Dモデルを作成する。
CPU11は、ステップS120において、物体の輪郭、最小高さ、最大高さに基づいて、物体の3Dモデルを作成する。
CPU11は、ステップS119、ステップS120で夫々作成した部屋の3Dモデル、物体の3Dモデルによって、図9に示すような屋内3Dモデルを生成する。
In step S119, the CPU 11 creates a 3D model of the room from the outline of the room and the heights of the floor and ceiling based on the histogram.
In step S120, the CPU 11 creates a 3D model of the object based on the contour, minimum height, and maximum height of the object.
The CPU 11 generates an indoor 3D model as shown in FIG. 9 from the 3D model of the room and the 3D model of the object respectively created in steps S119 and S120.

なお、メッシュ物体モデル化は、以下のように行う。CPU11は、Greedy Surface Triangulation(GST)アルゴリズムを用いて物体のメッシュ化を行う。メッシュ物体モデル化において、CPU11は、内部パラメータom_search_radius、om_mu、om_neighbours、om_max_surface_angle、om_min_angle、om_max_angleを用いる。
om_search_radiusは、メッシュ化する三角形の最大許容距離を示すGSTパラメータである。
om_muは、探索する近傍の大きさを制御するパラメータである。
om_neighboursは、探索する近傍の大きさを制御するパラメータである。
om_max_surface_angleは、鋭いエッジがあり、2つの三角形が互いにとても接近している場合に対処するためのパラメータである。
om_min_angleは、メッシュ化する三角形の最小角度を示すパラメータである。
om_max_angleは、メッシュ化する三角形の最大角度を示すパラメータである。
CPU11は、上記のパラメータによって物体をメッシュ化し、Quadratic Decimation(QD)アルゴリズムを用いてメッシュの数を削減する。その際には、目標削減面数の割合を示す内部パラメータom_target_reductionを用いる。
Note that mesh object modeling is performed as follows. The CPU 11 meshes the object using a Greedy Surface Triangulation (GST) algorithm. In mesh object modeling, the CPU 11 uses the internal parameters om_search_radius, om_mu, om_neighbors, om_max_surface_angle, om_min_angle, om_max_angle.
om_search_radius is a GST parameter that indicates the maximum allowable distance of meshing triangles.
om_mu is a parameter that controls the size of the neighborhood to search.
om_neighbours is a parameter that controls the size of the neighborhood to search.
om_max_surface_angle is a parameter to handle cases where there are sharp edges and two triangles are very close to each other.
om_min_angle is a parameter that indicates the minimum angle of triangles to be meshed.
om_max_angle is a parameter that indicates the maximum angle of triangles to be meshed.
The CPU 11 meshes the object with the above parameters and reduces the number of meshes using the Quadratic Decimation (QD) algorithm. At that time, an internal parameter om_target_reduction that indicates the ratio of the target number of reduction surfaces is used.

なお、図1の屋内点群データから、物体なしで部屋モデルのみを生成した場合、面数は54であり、計算時間は5分16秒であった。
部屋モデルに加えて簡易物体モデルの生成を行った場合、面数は全部で2447であり、計算時間は12分01秒であった。
部屋モデルに加えてメッシュ物体モデルの生成を行った場合、面数は331264であり、計算時間は5時間36分18秒であった。
簡易物体モデルはメッシュ物体モデルに比べて面数も少なく、計算時間を大幅に削減できることが分かる。
When only a room model was generated without objects from the indoor point cloud data of FIG. 1, the number of planes was 54, and the calculation time was 5 minutes and 16 seconds.
When the simple object model was generated in addition to the room model, the total number of surfaces was 2447, and the calculation time was 12 minutes and 01 seconds.
When the mesh object model was generated in addition to the room model, the number of surfaces was 331264 and the calculation time was 5 hours, 36 minutes and 18 seconds.
It can be seen that the simple object model has fewer faces than the mesh object model, and the calculation time can be greatly reduced.

なお、図12、図13に示した処理は一例であり異なる順序で行っても良い。例えばステップS106で部屋領域を分離したあと、部屋領域の輪郭検出に関わるステップS107~S110を行う前に、ステップS111の判断と、ステップS112のrc_smooth_thresh、rc_curv_threshの更新を行ってもよい。 Note that the processing shown in FIGS. 12 and 13 is an example and may be performed in a different order. For example, after separating the room area in step S106, the determination in step S111 and the update of rc_smooth_thresh and rc_curv_thresh in step S112 may be performed before performing steps S107 to S110 related to the contour detection of the room area.

以上のように構成したことにより、本実施形態によれば、ユーザは、部屋数などの簡単なパラメータを設定入力するのみで、屋内点群データから、簡単に屋内3Dモデルを作成することが出来る。また従来は難しかった部屋内に存在するテーブルや椅子などの物体も部屋とともに3Dモデル化することができる。その結果、電波伝播シミュレーション(レイトレース解析)により適した屋内3Dモデルを屋内点群データから作成することができる。 With the above configuration, according to the present embodiment, the user can easily create an indoor 3D model from indoor point cloud data simply by setting and inputting simple parameters such as the number of rooms. . In addition, objects such as tables and chairs existing in a room, which were difficult in the past, can also be 3D modeled together with the room. As a result, an indoor 3D model more suitable for radio wave propagation simulation (ray tracing analysis) can be created from indoor point cloud data.

10 モデル生成装置、11 CPU、12 RAM、13 HDD、14 I/Oインターフェイス、15 読書装置、16 ネットワークI/F、17 表示装置、18 入力装置、30A 制御部、30B 記憶部、31 データ入力部、32 パラメータ設定部、33 パラメータ生成部、34 ヒストグラム生成部、35 床・天井検出部、36 部屋領域分離部、37 輪郭検出部、38 部屋モデル生成部、39 物体分離部、40 物体モデル生成部、200 記憶媒体、41 点群フィルタ部 10 model generation device, 11 CPU, 12 RAM, 13 HDD, 14 I/O interface, 15 reading device, 16 network I/F, 17 display device, 18 input device, 30A control unit, 30B storage unit, 31 data input unit , 32 parameter setting unit, 33 parameter generation unit, 34 histogram generation unit, 35 floor/ceiling detection unit, 36 room region separation unit, 37 contour detection unit, 38 room model generation unit, 39 object separation unit, 40 object model generation unit , 200 storage medium, 41 point cloud filter unit

Claims (5)

屋内点群データの入力を受け付けるデータ入力部と、
ユーザによる入力パラメータの設定を受け付けるパラメータ設定部と、
前記入力パラメータに基づいて内部パラメータを生成するパラメータ生成部と、
入力された前記屋内点群データに基づいて高さのヒストグラムを生成するヒストグラム生成部と、
前記高さのヒストグラムに基づいて、前記屋内点群データから天井データ及び床データを検出する床・天井検出部と、
前記天井データに対して領域成長法を施し、1以上の部屋領域を分離する部屋領域分離部と、
分離された各部屋の天井データの輪郭を検出する輪郭検出部と、
検出された輪郭と、前記床データにおける床の高さ、前記天井データにおける天井の高さと、から各部屋の平面モデルを作成する部屋モデル生成部と、
を備え、
前記入力パラメータは、部屋の数を含み、
前記パラメータ生成部は、前記部屋領域分離部が分離した部屋領域の数と前記入力パラメータとして設定される部屋の数とが異なる場合、前記内部パラメータを再度生成し、
再度生成された前記内部パラメータに基づいて前記平面モデルを生成する、
ことを特徴とするモデル生成装置。
a data input unit for receiving input of indoor point cloud data;
a parameter setting unit that accepts input parameter settings by a user;
a parameter generator that generates internal parameters based on the input parameters;
a histogram generation unit that generates a height histogram based on the input indoor point cloud data;
a floor/ceiling detection unit that detects ceiling data and floor data from the indoor point cloud data based on the height histogram;
a room region separation unit that applies region growth to the ceiling data and separates one or more room regions;
a contour detection unit that detects the contour of the ceiling data of each separated room;
a room model generation unit that generates a plane model of each room from the detected outline, the floor height in the floor data, and the ceiling height in the ceiling data;
with
the input parameters include the number of rooms;
When the number of room regions separated by the room region separation unit is different from the number of rooms set as the input parameter, the parameter generation unit regenerates the internal parameters,
generating the planar model based on the regenerated internal parameters;
A model generation device characterized by:
請求項1に記載のモデル生成装置において、 In the model generation device according to claim 1,
前記屋内点群データは、予めフィルタ処理されたフィルタ処理済屋内点群データであり、 The indoor point cloud data is pre-filtered filtered indoor point cloud data,
前記入力パラメータは、さらに前記フィルタ処理済屋内点群データにおける点群の間隔を含む、 the input parameters further include point cloud spacing in the filtered indoor point cloud data;
ことを特徴とするモデル生成装置。A model generation device characterized by:
請求項1又は2に記載のモデル生成装置において、 In the model generation device according to claim 1 or 2,
部屋の輪郭を用いて部屋内部の物体の点群を部屋ごとに分離する物体分離部と、 an object separation unit that separates the point cloud of the object inside the room for each room using the contour of the room;
分離した点群を用いて物体モデルを生成する物体モデル生成部と、 an object model generation unit that generates an object model using the separated point cloud;
を備えることを特徴とするモデル生成装置。A model generating device comprising:
プロセッサによって実行されるモデル生成方法であって、 A model generation method executed by a processor, comprising:
ユーザによる屋内点群データの入力を受け付け、 Accepts input of indoor point cloud data by the user,
ユーザによる入力パラメータの設定を受け付け、 accepts input parameters set by the user,
前記入力パラメータに基づいて内部パラメータを生成し、 generating internal parameters based on said input parameters;
入力された前記屋内点群データに基づいて、高さのヒストグラムを生成し、 generating a height histogram based on the input indoor point cloud data;
前記高さのヒストグラムに基づいて、屋内点群データから天井データ、床データを検出し、 Detecting ceiling data and floor data from indoor point cloud data based on the height histogram;
前記天井データに対して領域成長法を施し、部屋領域を分離し、 subjecting the ceiling data to a region growing method to separate room regions;
分離された各部屋の天井データの輪郭を検出し、 Detect the contours of the ceiling data for each separated room,
検出された輪郭と、前記床データにおける床の高さ、前記天井データにおける天井の高さと、から各部屋の平面モデルを作成し、 creating a plane model of each room from the detected outline, the height of the floor in the floor data, and the height of the ceiling in the ceiling data;
前記入力パラメータは、部屋の数を含み、 the input parameters include the number of rooms;
分離した前記部屋領域の数と前記入力パラメータとして設定される部屋の数とが異なる場合、前記内部パラメータを再度生成し、 if the number of the separated room regions is different from the number of rooms set as the input parameters, regenerate the internal parameters;
再度生成された前記内部パラメータに基づいて前記平面モデルを生成する、 generating the planar model based on the regenerated internal parameters;
ことを特徴とするモデル生成方法。A model generation method characterized by:
プロセッサに実行させるモデル生成プログラムであって、 A model generation program to be executed by a processor,
ユーザによる屋内点群データの入力を受け付け、 Accepts input of indoor point cloud data by the user,
ユーザによる入力パラメータの設定を受け付け、 accepts input parameters set by the user,
前記入力パラメータに基づいて内部パラメータを生成し、 generating internal parameters based on said input parameters;
入力された前記屋内点群データに基づいて、高さのヒストグラムを生成し、 generating a height histogram based on the input indoor point cloud data;
前記高さのヒストグラムに基づいて、屋内点群データから天井データ、床データを検出し、 Detecting ceiling data and floor data from indoor point cloud data based on the height histogram;
前記天井データに対して領域成長法を施し、部屋領域を分離し、 subjecting the ceiling data to a region growing method to separate room regions;
分離された各部屋の天井データの輪郭を検出し、 Detect the contours of the ceiling data for each separated room,
検出された輪郭と、前記床データにおける床の高さ、前記天井データにおける天井の高さと、から各部屋の平面モデルを作成し、 creating a plane model of each room from the detected outline, the height of the floor in the floor data, and the height of the ceiling in the ceiling data;
前記入力パラメータは、部屋の数を含み、 the input parameters include the number of rooms;
分離した前記部屋領域の数と前記入力パラメータとして設定される部屋の数とが異なる場合、前記内部パラメータを再度生成し、 if the number of the separated room regions is different from the number of rooms set as the input parameters, regenerate the internal parameters;
再度生成された前記内部パラメータに基づいて前記平面モデルを生成する、 generating the planar model based on the regenerated internal parameters;
ことを特徴とするモデル生成プログラム。A model generation program characterized by:
JP2021043304A 2021-03-17 2021-03-17 Model generation device, model generation method, and model generation program Active JP7164652B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021043304A JP7164652B2 (en) 2021-03-17 2021-03-17 Model generation device, model generation method, and model generation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021043304A JP7164652B2 (en) 2021-03-17 2021-03-17 Model generation device, model generation method, and model generation program

Publications (2)

Publication Number Publication Date
JP2022142994A JP2022142994A (en) 2022-10-03
JP7164652B2 true JP7164652B2 (en) 2022-11-01

Family

ID=83453832

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021043304A Active JP7164652B2 (en) 2021-03-17 2021-03-17 Model generation device, model generation method, and model generation program

Country Status (1)

Country Link
JP (1) JP7164652B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019003621A (en) 2017-05-09 2019-01-10 ダッソー システムズDassault Systemes Determining architectural layout
US20200364929A1 (en) 2019-05-13 2020-11-19 Wuhan University Multi-story indoor structured three-dimensional modeling method and system
CN111986322A (en) 2020-07-21 2020-11-24 西安理工大学 Point cloud indoor scene layout reconstruction method based on structural analysis

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019003621A (en) 2017-05-09 2019-01-10 ダッソー システムズDassault Systemes Determining architectural layout
US20200364929A1 (en) 2019-05-13 2020-11-19 Wuhan University Multi-story indoor structured three-dimensional modeling method and system
CN111986322A (en) 2020-07-21 2020-11-24 西安理工大学 Point cloud indoor scene layout reconstruction method based on structural analysis

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
伊達宏昭,環境・構造物の3次元レーザ計測点群の取得と自動モデリング,シミュレーション,一般社団法人日本シミュレーション学会,2019年12月15日,第38巻,第4号,pp.9-15
岡村航 外4名,屋内環境における点群データを用いたレイトレース解析に適用可能な3次元平面モデル構築手法の提案および電波伝搬評価,2021年電子情報通信学会総合大会講演論文集 通信1,一般社団法人電子情報通信学会,2021年02月23日,p.113

Also Published As

Publication number Publication date
JP2022142994A (en) 2022-10-03

Similar Documents

Publication Publication Date Title
KR100933716B1 (en) Automatic 3D Scan Data Sorting System and Method
JPH0697460B2 (en) Point Generation Method for Finite Element Mesh
JP4568843B2 (en) Analytical curved surface segmentation device, method, program, and recording medium
US20070188490A1 (en) Apparatus, method and program for segmentation of mesh model data into analytic surfaces based on robust curvature estimation and region growing
CN101194290A (en) Information processing device and processing method, image processing device and image processing method and computer program
CN113269791B (en) Point cloud segmentation method based on edge judgment and region growth
CN110348435B (en) Target detection method and system based on regional candidate network
CN114491824B (en) Method, device and storage medium for automatic division of finite element mesh
EP1588323B1 (en) Method of segmenting a three-dimensional structure
CN106295639A (en) A kind of virtual reality terminal and the extracting method of target image and device
JP7164652B2 (en) Model generation device, model generation method, and model generation program
CN111783798A (en) Saliency feature-based mask generation method for simulating incomplete point cloud
CN106683105A (en) Image segmentation method and image segmentation device
KR102078547B1 (en) Method, Apparatus and Recording Medium For Automatic Setting Margin Line Of Providing Margin Line
CN115410036A (en) Automatic classification method for key element laser point clouds of high-voltage overhead transmission line
Sarrate et al. Numerical representation of the quality measures of triangles and triangular meshes
Pound et al. Surface reconstruction of plant shoots from multiple views
CN113655498B (en) Method and system for extracting cone barrel information in racetrack based on laser radar
Andre Sorensen et al. A RANSAC based CAD mesh reconstruction method using point clustering for mesh connectivity
JP2006277713A (en) Device, program and method for feature ridge line extraction device for three-dimensional mesh model
Cuadros-Vargas et al. Generating segmented tetrahedral meshes from regular volume data for simulation and visualization applications
Denker et al. On-line reconstruction of CAD geometry
KR20050110090A (en) Method and system for clustering bone images
CN117315184B (en) Method for automatically generating LOD1.3 model of building
Fayolle et al. User-assisted reverse modeling with evolutionary algorithms

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210317

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20210318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220627

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: 20221018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221020

R150 Certificate of patent or registration of utility model

Ref document number: 7164652

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150