IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ DataLabs株式会社の特許一覧

特許7572100制御プログラム、モデル生成方法及びモデル生成システム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-10-15
(45)【発行日】2024-10-23
(54)【発明の名称】制御プログラム、モデル生成方法及びモデル生成システム
(51)【国際特許分類】
   G06T 19/20 20110101AFI20241016BHJP
   G01B 11/00 20060101ALI20241016BHJP
   G06Q 50/08 20120101ALI20241016BHJP
   G06T 17/00 20060101ALI20241016BHJP
【FI】
G06T19/20
G01B11/00 A
G06Q50/08
G06T17/00
【請求項の数】 7
(21)【出願番号】P 2024140683
(22)【出願日】2024-08-22
(62)【分割の表示】P 2023028115の分割
【原出願日】2023-02-27
【審査請求日】2024-08-22
【新規性喪失の例外の表示】特許法第30条第2項適用 (1)展示会においてチラシを配布 配布日 令和4年9月28日~令和4年9月30日 配布場所 インテックス大阪(大阪府大阪市住之江区南港北1-5-102) 展示会名 関西ジャパンビルド2022 (2)展示会においてチラシを配布 配布日 令和4年11月8日 配布場所 静岡コンベンションアーツセンター グランシップ(静岡県静岡市駿河区東静岡二丁目3番1号) 展示会名 新技術交流イベント in Shizuoka 2022 (3)展示会においてチラシを配布 配布日 令和4年12月5日~令和4年12月7日 配布場所 東京ビッグサイト(東京都江東区有明3-11-1) 展示会名 ジャパンビルド2022 (4)セミナーにおいて発表 開催日 令和4年12月21日 セミナー名 建設ソリューション成長戦略研究会 開催場所 京都タワーホテル(京都府京都市下京区烏丸通七条下る 東塩小路町 721-1) (5)セミナーにおいてチラシを配布 配布日 令和4年12月21日 配布場所 京都タワーホテル(京都府京都市下京区烏丸通七条下る 東塩小路町 721-1) セミナー名 建設ソリューション成長戦略研究会 (6)オンラインセミナーにおいて発表 開催日 令和5年1月31日 セミナー名 SuMi TRUST Pitch 2023 オンラインイベント ~Collaborate with uTIE~ 開催場所 オンライン (7)展示会においてチラシを配布 配布日 令和5年2月27日~令和5年2月28日 配布場所 東京国際フォーラム(東京都千代田区丸の内3丁目5番1号) 展示会名 City-Tech.Tokyo
【早期審査対象出願】
(73)【特許権者】
【識別番号】522183799
【氏名又は名称】DataLabs株式会社
(74)【代理人】
【識別番号】100150072
【弁理士】
【氏名又は名称】藤原 賢司
(72)【発明者】
【氏名】佐藤 大輔
(72)【発明者】
【氏名】中野 嵩士
【審査官】中田 剛史
(56)【参考文献】
【文献】特許第7150290(JP,B1)
【文献】特開2020-165806(JP,A)
【文献】特開2010-14693(JP,A)
【文献】特開2020-95009(JP,A)
【文献】特開2019-2737(JP,A)
【文献】中国特許出願公開第115239620(CN,A)
【文献】特開平4-326114(JP,A)
【文献】特開2010-151577(JP,A)
【文献】中国特許出願公開第115014198(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/20
G01B 11/00
G06Q 50/08
G06T 17/00
(57)【特許請求の範囲】
【請求項1】
複数の鉄筋を含む配筋に基づいて生成された第1点群データを取得するステップと、
前記第1点群データに基づいて生成された3次元画像データを出力するステップと、
前記3次元画像データが示す3次元画像における複数の点の指定をユーザから受け付けるステップと、
前記第1点群データのうち前記複数の点によって規定される領域の内側に位置する第2点群データに基づいて前記複数の鉄筋のうちの少なくとも一部の鉄筋のモデルを生成するステップとをコンピュータに実行させ、
前記複数の点は、第1点と第2点とを含み、
前記3次元画像において、前記第1点の奥行き方向の位置と前記第2点の奥行き方向の位置とは互いに異なり、
前記領域の形状は直方体であり、
前記少なくとも一部の鉄筋は2以上の鉄筋を含み、
前記第2点群データに基づいて前記少なくとも一部の鉄筋のモデルを生成するステップは、
前記領域のいずれかの辺又は面に平行な軸又は面であってモデル化対象の鉄筋の種類に応じた軸又は面への前記第2点群データの射影を行なうステップと、
前記射影の結果に基づいて前記第2点群データをクラスタリングすることによって複数のクラスタを生成するステップと、
クラスタリングされた前記第2点群データに基づいて前記少なくとも一部の鉄筋のモデルを生成するステップとを含み、
前記クラスタリングされた前記第2点群データに基づいて前記少なくとも一部の鉄筋のモデルを生成するステップは、
前記少なくとも一部の鉄筋の各々に対応するテンプレート点群データを生成するステップと、
前記テンプレート点群データの位置と前記複数のクラスタの各々の位置とを合わせるステップとを含む、制御プログラム。
【請求項2】
前記少なくとも一部の鉄筋が正しく配筋されているか否かに関して前記少なくも一部の鉄筋のモデルに基づいて評価するステップを前記コンピュータにさらに実行させる、請求項1に記載の制御プログラム。
【請求項3】
前記テンプレート点群データの位置と前記複数のクラスタの各々の位置とを合わせるステップは、
前記テンプレート点群データのバウンディングボックスの位置と前記複数のクラスタの各々のバウンディングボックスの位置とを合わせるステップと、
ICP(Iterative Closest Point)アルゴリズムを用いることによって前記テンプレート点群データの位置と前記複数のクラスタの各々の位置とを合わせるステップとを含む、請求項1又は請求項2に記載の制御プログラム。
【請求項4】
前記少なくとも一部の鉄筋はフープ形状を有する、請求項1又は請求項2に記載の制御プログラム。
【請求項5】
前記少なくとも一部の鉄筋は、平面視において円周上に配置された複数の主筋である、請求項1又は請求項2に記載の制御プログラム。
【請求項6】
複数の鉄筋を含む配筋に基づいて生成された第1点群データを取得するステップと、
前記第1点群データに基づいて生成された3次元画像データを出力するステップと、
前記3次元画像データが示す3次元画像における複数の点の指定をユーザから受け付けるステップと、
前記第1点群データのうち前記複数の点によって規定される領域の内側に位置する第2点群データに基づいて前記複数の鉄筋のうちの少なくとも一部の鉄筋のモデルを生成するステップとを含み、
前記複数の点は、第1点と第2点とを含み、
前記3次元画像において、前記第1点の奥行き方向の位置と前記第2点の奥行き方向の位置とは互いに異なり、
前記領域の形状は直方体であり、
前記少なくとも一部の鉄筋は2以上の鉄筋を含み、
前記第2点群データに基づいて前記少なくとも一部の鉄筋のモデルを生成するステップは、
前記領域のいずれかの辺又は面に平行な軸又は面であってモデル化対象の鉄筋の種類に応じた軸又は面への前記第2点群データの射影を行なうステップと、
前記射影の結果に基づいて前記第2点群データをクラスタリングすることによって複数のクラスタを生成するステップと、
クラスタリングされた前記第2点群データに基づいて前記少なくとも一部の鉄筋のモデルを生成するステップとを含み、
前記クラスタリングされた前記第2点群データに基づいて前記少なくとも一部の鉄筋のモデルを生成するステップは、
前記少なくとも一部の鉄筋の各々に対応するテンプレート点群データを生成するステップと、
前記テンプレート点群データの位置と前記複数のクラスタの各々の位置とを合わせるステップとを含む、モデル生成方法。
【請求項7】
複数の鉄筋を含む配筋に基づいて生成された第1点群データを取得する取得部と、
前記第1点群データに基づいて生成された3次元画像データを出力する出力部と、
前記3次元画像データが示す3次元画像における複数の点の指定をユーザから受け付ける受付部と、
前記第1点群データのうち前記複数の点によって規定される領域の内側に位置する第2点群データに基づいて前記複数の鉄筋のうちの少なくとも一部の鉄筋のモデルを生成する生成部とを備え、
前記複数の点は、第1点と第2点とを含み、
前記3次元画像において、前記第1点の奥行き方向の位置と前記第2点の奥行き方向の位置とは互いに異なり、
前記領域の形状は直方体であり、
前記少なくとも一部の鉄筋は2以上の鉄筋を含み、
前記生成部は、
前記領域のいずれかの辺又は面に平行な軸又は面であってモデル化対象の鉄筋の種類に応じた軸又は面への前記第2点群データの射影を行なうステップと、
前記射影の結果に基づいて前記第2点群データをクラスタリングすることによって複数のクラスタを生成するステップと、
クラスタリングされた前記第2点群データに基づいて前記少なくとも一部の鉄筋のモデルを生成するステップと実行し、
前記クラスタリングされた前記第2点群データに基づいて前記少なくとも一部の鉄筋のモデルを生成するステップは、
前記少なくとも一部の鉄筋の各々に対応するテンプレート点群データを生成するステップと、
前記テンプレート点群データの位置と前記複数のクラスタの各々の位置とを合わせるステップとを含む、モデル生成システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御プログラム、モデル生成方法及びモデル生成システムに関する。
【背景技術】
【0002】
特許第7150290号公報(特許文献1)は、情報処理システムを開示する。この情報処理システムは、情報処理装置と情報端末とを含んでいる。情報端末は、例えば、LIDAR(Light Detection and Ranging)を含み、複数の鉄筋を含む構造物の3次元の位置を測定可能である。情報端末は、構造物の3次元の位置を測定することによって点群データを生成する。情報処理装置は、情報端末によって生成された点群データを情報端末から取得する。情報処理装置は、取得された点群データに基づいて、対象範囲における鉄筋領域を特定する(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特許第7150290号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記特許文献1に開示されている技術においては、垂直方向及び水平方向に延びる棒状の鉄筋の領域が特定されるが、モデル化可能な鉄筋の形状及び並びのバリエーションは必ずしも多くない。また、複数の鉄筋を含む構造物の3次元の位置を測定することによって生成された点群データにはノイズが含まれることがある。ノイズを含む点群データに基づいて鉄筋領域を特定しようとすると、鉄筋の誤検知又は検知漏れ(以下、「鉄筋の誤検知等」とも称する。)が生じやすくなる。上記特許文献1にはこれらの問題を解決するための方法が開示されていない。
【0005】
本発明は、このような問題を解決するためになされたものであって、その目的は、モデル化可能な鉄筋の形状等のバリエーションが比較的多く、かつ、鉄筋の誤検知等を抑制可能な制御プログラム、モデル生成方法及びモデル生成システムを提供することである。
【課題を解決するための手段】
【0006】
本発明のある局面に従う制御プログラムは、複数の鉄筋を含む配筋に基づいて生成された第1点群データを取得するステップと、第1点群データに基づいて生成された3次元画像データを出力するステップと、3次元画像データが示す3次元画像における複数の点の指定をユーザから受け付けるステップと、第1点群データのうち上記複数の点によって規定される領域の内側に位置する第2点群データに基づいて複数の鉄筋のうちの少なくとも一部の鉄筋のモデルを生成するステップとをコンピュータに実行させる。上記複数の点は、第1点と第2点とを含み、上記3次元画像において、第1点の奥行き方向の位置と第2点の奥行き方向の位置とは互いに異なる。
【0007】
この制御プログラムが実行されると、ユーザによって指定された複数の点によって規定される領域の内側に位置する第2点群データに基づいて複数の鉄筋のうちの少なくとも一部の鉄筋のモデルが生成される。また、上記複数の点は第1点と第2点とを含み、上記3次元画像において、第1点の奥行き方向の位置と第2点の奥行き方向の位置とは互いに異なる。この制御プログラムによれば、第1点の奥行き方向の位置と第2点の奥行き方向の位置とが互いに異なるため、第2点群データを抽出するための領域を比較的自由に規定することができる。その結果、この制御プログラムによれば、例えば、径が奥行き方向に延びるフープ形状の鉄筋を含む領域が規定されることにより、フープ形状の鉄筋のモデルを生成することができる。また、この制御プログラムによれば、第1点群データ中のノイズが含まれないようにユーザが複数の点を指定することによって、高品質な点群データに基づいて鉄筋のモデルを生成することができる。その結果、この制御プログラムによれば、鉄筋の誤検知等を抑制することができる。
【0008】
上記制御部プログラムは、少なくとも一部の鉄筋が正しく配筋されているか否かに関して上記少なくも一部の鉄筋のモデルに基づいて評価するステップをコンピュータにさらに実行させてもよい。
【0009】
この制御プログラムによれば、少なくとも一部の鉄筋が正しく配筋されているか否かに関する評価を行なうことができる。
【0010】
上記制御プログラムにおいて、上記領域の形状は直方体であってもよく、少なくとも一部の鉄筋は2以上の鉄筋を含んでもよく、第2点群データに基づいて少なくとも一部の鉄筋のモデルを生成するステップは、上記領域のいずれかの辺又は面に平行な軸又は面であってモデル化対象の鉄筋の種類に応じた軸又は面への第2点群データの射影を行なうステップと、射影の結果に基づいて第2点群データをクラスタリングすることによって複数のクラスタを生成するステップと、クラスタリングされた第2点群データに基づいて少なくとも一部の鉄筋のモデルを生成するステップとを含んでもよい。
【0011】
この制御プログラムが実行されると、第2点群データの射影の結果に基づいて第2点群データがクラスタリングされ、クラスタリングされた第2点群データに基づいて少なくとも一部の鉄筋のモデルが生成される。したがって、この制御プログラムによれば、第2点群データのクラスタリングを通じて第2点群データに含まれる各データと鉄筋との対応付けが行なわれるため、クラスタリングされた第2点群データに基づいて2以上の鉄筋のモデルを生成することができる。
【0012】
上記制御プログラムにおいて、クラスタリングされた第2点群データに基づいて少なくとも一部の鉄筋のモデルを生成するステップは、少なくとも一部の鉄筋の各々に対応するテンプレート点群データを生成するステップと、テンプレート点群データの位置と複数のクラスタの各々の位置とを合わせるステップとを含んでもよい。
【0013】
一部の鉄筋はパラメトリックモデルといえるため、必要なパラメータが特定されることによって、鉄筋の形状をより正確に示すテンプレート点群データが生成される。この制御プログラムによれば、より正確に鉄筋の形状を示すテンプレート点群データが生成され、テンプレート点群データの位置と複数のクラスタの各々の位置とを合わせることにより鉄筋のモデルが生成されるため、より高精度なモデルを生成することができる。
【0014】
上記制御プログラムにおいて、テンプレート点群データの位置と複数のクラスタの各々の位置とを合わせるステップは、テンプレート点群データのバウンディングボックスの位置と複数のクラスタの各々のバウンディングボックスの位置とを合わせるステップと、ICP(Iterative Closest Point)アルゴリズムを用いることによってテンプレート点群データの位置と複数のクラスタの各々の位置とを合わせるステップとを含んでもよい。
【0015】
この制御プログラムによれば、テンプレート点群データのバウンディングボックスの位置と複数のクラスタの各々のバウンディングボックスの位置とがまず合わされるため、テンプレート点群データと複数のクラスタの各々との位置合わせにICPアルゴリズムを用いることができる。その結果、この制御プログラムによれば、より高精度な鉄筋のモデルを生成することができる。
【0016】
上記制御プログラムにおいて、少なくとも一部の鉄筋はフープ形状を有していてもよい。
【0017】
上記制御プログラムにおいて、少なくとも一部の鉄筋は、平面視において円周上に配置された複数の主筋であってもよい。
【0018】
本発明の他の局面に従うモデル生成方法は、複数の鉄筋を含む配筋に基づいて生成された第1点群データを取得するステップと、第1点群データに基づいて生成された3次元画像データを出力するステップと、3次元画像データが示す3次元画像における複数の点の指定をユーザから受け付けるステップと、第1点群データのうち複数の点によって規定される領域の内側に位置する第2点群データに基づいて複数の鉄筋のうちの少なくとも一部の鉄筋のモデルを生成するステップとを含む。上記複数の点は、第1点と第2点とを含み、上記3次元画像において、第1点の奥行き方向の位置と第2点の奥行き方向の位置とは互いに異なる。
【0019】
このモデル生成方法においては、ユーザによって指定された複数の点によって規定される領域の内側に位置する第2点群データに基づいて複数の鉄筋のうちの少なくとも一部の鉄筋のモデルが生成される。また、上記複数の点は第1点と第2点とを含み、上記3次元画像において、第1点の奥行き方向の位置と第2点の奥行き方向の位置とは互いに異なる。このモデル生成方法によれば、第1点の奥行き方向の位置と第2点の奥行き方向の位置とが互いに異なるため、第2点群データを抽出するための領域を比較的自由に規定することができる。その結果、このモデル生成方法によれば、例えば、径が奥行き方向に延びるフープ形状の鉄筋を含む領域が規定されることにより、フープ形状の鉄筋のモデルを生成することができる。また、このモデル生成方法によれば、第1点群データ中のノイズが含まれないようにユーザが複数の点を指定することによって、高品質な点群データに基づいて鉄筋のモデルを生成することができる。その結果、このモデル生成方法によれば、鉄筋の誤検知等を抑制することができる。
【0020】
本発明の他の局面に従うモデル生成システムは、取得部と、出力部と、受付部と、生成部とを備える。取得部は、複数の鉄筋を含む配筋に基づいて生成された第1点群データを取得する。出力部は、第1点群データに基づいて生成された3次元画像データを出力する。受付部は、3次元画像データが示す3次元画像における複数の点の指定をユーザから受け付ける。生成部は、第1点群データのうち複数の点によって規定される領域の内側に位置する第2点群データに基づいて複数の鉄筋のうちの少なくとも一部の鉄筋のモデルを生成する。上記複数の点は、第1点と第2点とを含み、上記3次元画像において、第1点の奥行き方向の位置と第2点の奥行き方向の位置とは互いに異なる。
【0021】
このモデル生成システムにおいては、ユーザによって指定された複数の点によって規定される領域の内側に位置する第2点群データに基づいて複数の鉄筋のうちの少なくとも一部の鉄筋のモデルが生成される。また、上記複数の点は第1点と第2点とを含み、上記3次元画像において、第1点の奥行き方向の位置と第2点の奥行き方向の位置とは互いに異なる。このモデル生成システムによれば、第1点の奥行き方向の位置と第2点の奥行き方向の位置とが互いに異なるため、第2点群データを抽出するための領域を比較的自由に規定することができる。その結果、このモデル生成システムによれば、例えば、径が奥行き方向に延びるフープ形状の鉄筋を含む領域が規定されることにより、フープ形状の鉄筋のモデルを生成することができる。また、このモデル生成システムによれば、第1点群データ中のノイズが含まれないようにユーザが複数の点を指定することによって、高品質な点群データに基づいて鉄筋のモデルを生成することができる。その結果、このモデル生成システムによれば、鉄筋の誤検知等を抑制することができる。
【発明の効果】
【0022】
本発明によれば、モデル化可能な鉄筋の形状等のバリエーションが比較的多く、かつ、鉄筋の誤検知等を抑制可能な制御プログラム、モデル生成方法及びモデル生成システムを提供することができる。
【図面の簡単な説明】
【0023】
図1】配筋検査システムの構成を模式的に示す図である。
図2】クラウドサーバの構成を模式的に示すブロック図である。
図3】端末の構成を模式的に示すブロック図である。
図4】クラウドサーバにおける動作手順の概要を示すフローチャートである。
図5】一列に並ぶ縦筋及び横筋を模式的に示す図である。
図6】円周上に並ぶ主筋を模式的に示す図である。
図7】一列に並ぶ環状形フープ筋を模式的に示す図である。
図8】一列に並ぶ縦筋又は横筋をモデリングする手順を示すフローチャートである。
図9】ユーザによって指定される直方体領域の例を模式的に示す図である。
図10】直方体領域の具体的な指定手順の一例を説明するための図である。
図11】ガイド平面の生成手順を説明するための図である。
図12】直方体領域の生成手順を説明するための図である。
図13】直方体領域を各軸に沿って移動させるモードにおいて表示される調整用画像を模式的に示す図である。
図14】直方体領域を各軸に沿って伸縮させるモードにおいて表示される調整用画像を模式的に示す図である。
図15】直方体領域を各軸に沿って回転させるモードにおいて表示される調整用画像を模式的に示す図である。
図16】点群データの射影処理について説明するための模式図である。
図17】射影処理の結果を示すヒストグラムの一例を模式的に示す図である。
図18】クラスタリング処理における第1の処理について説明するための図である。
図19】クラスタリング処理における第2の処理について説明するための図である。
図20】テンプレート点群を模式的に示す図である。
図21】位置合わせ処理について説明するための図である。
図22】円周上に並ぶ主筋を模式的に示す平面図である。
図23】円周上に並ぶ主筋のモデリングにおいて行なわれるクラスタリング処理のうち特徴的な処理について説明するための図である。
図24】垂直方向に一列に並ぶ複数の環状形フープ筋を模式的に示す図である。
図25】半自動検出モードにおいて縦筋をモデリングする動作について説明するための図である。
図26】半自動検出モードにおいて環状形フープ筋をモデリングする動作について説明するための図である。
図27】配筋検査処理の手順を示すフローチャートである。
図28】各設計値の入力画面の一例を模式的に示す図である。
図29】配筋検査帳票の一例を模式的に示す図である。
【発明を実施するための形態】
【0024】
以下、本発明の一側面に係る実施の形態(以下、「本実施の形態」とも称する。)について、図面を用いて詳細に説明する。なお、図中同一又は相当部分には同一符号を付してその説明は繰り返さない。また、各図面は、理解の容易のために、適宜対象を省略又は誇張して模式的に描かれている。
【0025】
[1.システムの概要]
図1は、本実施の形態に従う配筋検査システム10の構成を模式的に示す図である。図1に示されるように、配筋検査システム10は、クラウドサーバ100と、端末200とを含んでいる。クラウドサーバ100は、例えば、汎用コンピュータによって構成される。端末200は、例えば、スマートフォン、タブレット又はPC(Personal Computer)によって構成される。
【0026】
配筋検査システム10においては、情報処理を通じて、いわゆる配筋検査が実行される。配筋検査とは、建造物の基礎部分の鉄筋に関する検査のことをいう。配筋検査においては、例えば、建造物の基礎を構成する各鉄筋が設計図通りの位置に配置されているか否か(隣接する鉄筋同士の間隔が正しいか否か等)、及び、建造物の基礎を構成する各鉄筋の本数が設計図通りの本数となっているか否かが検査される。
【0027】
通常、配筋検査は、建設現場において配筋検査員によって行なわれる。すなわち、通常、配筋検査を行なうためには、配筋検査員自身が建設現場に行く必要がある。配筋検査システム10は、配筋検査員が建設現場に行かなくても配筋検査を行なうことが可能な機能を提供する。
【0028】
配筋検査システム10においては、検査対象の配筋を示す点群データが端末200によって生成される。点群データは、複数の鉄筋を含む配筋の3次元の位置を測定することによって生成され、例えば、多数の点の座標データ(X,Y,Z)によって構成される。詳細については後述するが、端末200は、点群データを生成する機能を有している。点群データは、例えば、建設現場で建設作業をする作業員が端末200を操作することによって生成される。端末200によって生成された点群データは、インターネットを通じて端末200からクラウドサーバ100へ送信される。
【0029】
クラウドサーバ100においては、端末200から受信された点群データに基づいて検査対象の配筋のモデル(以下、「配筋モデル」とも称する。)が生成される。そして、配筋モデルに基づいて配筋検査が行なわれ、検査結果が出力される。このように、配筋検査システム10においては、配筋検査員が建設現場に行かなくても配筋検査を行なうことが可能となっている。配筋モデルの生成手順、及び、配筋検査の手順については後程詳しく説明する。
【0030】
例えば、複数の鉄筋を含む配筋の3次元の位置を測定することによって生成された点群データにはノイズが含まれることがある。ノイズを含む点群データに基づいて配筋モデルが生成されると、鉄筋の誤検知又は検知漏れ(鉄筋の誤検知等)が生じやすくなる。本実施の形態に従う配筋検査システム10においては、鉄筋の誤検知等の発生を抑制する工夫が取り入れられている。また、配筋検査システム10においては、モデル化可能な鉄筋の形状及び並びのバリエーションが比較的多い。以下、配筋検査システム10について詳細に説明する。
【0031】
[2.構成]
<2-1.サーバの構成>
図2は、クラウドサーバ100の構成を模式的に示すブロック図である。上述のように、クラウドサーバ100は、例えば、汎用コンピュータによって実現される。図2に示されるように、クラウドサーバ100は、制御部110と、通信I/F(interface)130と、記憶部120とを含んでいる。
【0032】
制御部110は、CPU(Central Processing Unit)、RAM(Random Access Memory)及びROM(Read Only Memory)等(不図示)を含み、クラウドサーバ100の各構成要素を制御するように構成されている。通信I/F130は、インターネットを通じて端末200と通信するように構成されている。通信I/F130は、例えば、有線LAN(Local Area Network)モジュール又は無線LANモジュールで構成される。
【0033】
記憶部120は、例えば、ハードディスクドライブ又はソリッドステートドライブ等の補助記憶装置である。記憶部120は、例えば、制御プログラム121を記憶している。制御プログラム121が制御部110のCPUによって実行されることにより、クラウドサーバ100における各種機能が実現される。
【0034】
<2-2.端末の構成>
図3は、端末200の構成を模式的に示すブロック図である。上述のように、端末200は、例えば、スマートフォン、タブレット又はモバイルPC等によって構成される。図3に示されるように、端末200は、制御部210と、記憶部220と、通信I/F230と、カメラ240と、LiDAR(Light Detection And Ranging)250と、ディスプレイ260と、操作部270と、バッテリ280とを含んでいる。
【0035】
制御部210は、CPU、RAM及びROM等(不図示)を含み、端末200の各構成要素を制御するように構成されている。通信I/F230は、インターネットを通じてクラウドサーバ100と通信するように構成されている。通信I/F230は、例えば、有線LANモジュール又は無線LANモジュールで構成される。
【0036】
記憶部220は、例えば、ハードディスクドライブ又はソリッドステートドライブ等の補助記憶装置である。記憶部220は、例えば、制御プログラム221を記憶している。制御プログラム221が制御部210のCPUによって実行されることにより、端末200における各種機能が実現される。
【0037】
カメラ240は、被写体像を撮像し画像データを生成するように構成されている。カメラ240は、例えば、イメージセンサーを含むカメラモジュールで構成される。
【0038】
LiDAR250は、例えば、レーザ及び光センサを含む。LiDAR250は、例えば、レーザによって発される近赤外光、可視光又は紫外線を対象物に照射し、反射光を光センサで検出することによって対象物までの距離を測定するように構成されている。端末200においては、LiDAR250による測定結果に基づいて上述の点群データが生成される。なお、点群データは、必ずしもLiDAR250によって生成されなくてもよい。点群データは、例えば、カメラ240によって生成された複数の画像データに基づいてフォトグラメトリ-(Photogrammetry)を用いることによって生成されてもよい。
【0039】
ディスプレイ260は、画像を表示するように構成されている。ディスプレイ260は、例えば、液晶モニタ又は有機ELモニタ等のモニタで構成される。操作部270は、ユーザからの操作を受け付けるように構成されている。操作部270は、例えば、タッチパネル、キーボード、マウス及びマイクの一部又は全部で構成される。バッテリ280は、例えば、リチウムイオン電池によって構成される。バッテリ280に蓄えられた電力は、端末200の各構成要素へ供給される。
【0040】
[3.動作]
<3-1.クラウドサーバにおける動作の概要>
図4は、クラウドサーバ100における動作手順の概要を示すフローチャートである。このフローチャートに示される処理は、クラウドサーバ100の制御部110によって実行される。
【0041】
図4を参照して、制御部110は、通信I/F130を通じて端末200から点群データを受信する(ステップS100)。制御部110は、受信された点群データに基づいてモデリングを行なう(ステップS110)。すなわち、制御部110は、受信された点群データに基づいて配筋モデルを生成する。制御部110は、生成された配筋モデルに基づいて配筋検査処理を実行する(ステップS120)。配筋検査処理が完了すると、配筋検査の結果が、例えば、通信I/F130を通じて端末200へ送信され、端末200のディスプレイ260に表示される。
【0042】
<3-2.モデリング動作>
配筋検査システム10においては、配筋のモデリングに関して、「全自動検出モード」と「半自動検出モード」とが設けられている。「全自動検出モード」においては、端末200からクラウドサーバ100へ送信された点群データが示す配筋に含まれる複数の鉄筋のうち、ユーザによって指定された直方体領域内に位置する一又は複数の鉄筋のモデリングが自動的に行なわれる。すなわち、全自動検出モードに設定された配筋検査システム10によれば、点群データが示す3次元画像(3D画像)においてユーザが直方体領域を指定することによって、直方体領域に含まれる複数の鉄筋のモデリングを自動的に行なうことができる。
【0043】
なお、直方体領域の指定は、例えば、端末200の操作部270を介して行なわれる。例えば、点群データによって示される3次元画像データがクラウドサーバ100から端末200へ送信され、端末200のディスプレイ260に3次元画像が表示された状態で、直方体領域の指定が行なわれる。そして、操作部270を介して指定された直方体領域を示す情報は、通信I/F230を通じてクラウドサーバ100へ送信される。なお、ユーザは、操作部270を介して、端末200のディスプレイ260に表示された3次元画像を回転させること、及び、3次元画像を構成する各点を選択すること等を行なうことができる。
【0044】
「全自動検出モード」においてモデリング可能な鉄筋の種類としては、例えば、(1)一列に並ぶ縦筋又は横筋、(2)円周上に並ぶ主筋、及び、(3)一列に並ぶ環状形フープ筋が挙げられる。なお、配筋検査システム10においては、(1)-(3)のうち一部の種類の鉄筋のみがモデリング可能であってもよいし、他の種類の鉄筋がモデリング可能であってもよい。
【0045】
図5は、一列に並ぶ縦筋VR1及び横筋HR1を模式的に示す図である。図5を参照して、この例においては、複数の縦筋VR1が水平方向に一列に並んでおり、複数の横筋HR1が垂直方向に一列に並んでいる。配筋検査システム10が全自動検出モードに設定されている場合に、図5に示されるような複数の縦筋VR1及び複数の横筋HR1のモデリングが可能である。
【0046】
図6は、円周上に並ぶ主筋MR1を模式的に示す図である。図6を参照して、この例においては、複数の主筋MR1が仮想的な円周上に並んでいる。複数の主筋MR1の各々は、図面の前後方向に延びる棒状の鉄筋である。配筋検査システム10が全自動検出モードに設定されている場合に、図6に示されるような複数の主筋MR1のモデリングが可能である。
【0047】
図7は、一列に並ぶ環状形フープ筋HO1を模式的に示す図である。図7を参照して、この例においては、複数の環状形フープ筋HO1が垂直方向に一列に並んでいる。複数の環状形フープ筋HO1の各々は、平面視において正円形状を有している。配筋検査システム10が全自動検出モードに設定されている場合に、図7に示されるような複数の環状形フープ筋HO1のモデリングが可能である。
【0048】
一方、「半自動検出モード」においては、端末200からクラウドサーバ100へ送信された点群データが示す配筋に含まれる複数の鉄筋のうちユーザによって指定された鉄筋のモデリングが自動的に行なわれる。すなわち、半自動検出モードに設定された配筋検査システム10によれば、点群データが示す画像においてユーザがモデリング対象の鉄筋を選択することによって、鉄筋のモデリングを1つずつ行なうことができる。
【0049】
詳細については後述するが、半自動検出モードに設定された配筋検査システム10においては、例えば、縦筋VR1の長手方向における各端部(2点)がユーザによって指定されることにより1つの縦筋VR1のモデリングが行なわれる。また、例えば、環状形フープ筋HO1の円周上の3点がユーザによって指定されることにより1つの環状形フープ筋HO1のモデリングが行なわれる。以下、全自動検出モード及び半自動検出モードについて順に説明する。
【0050】
(3-2-1.全自動検出モードにおける動作)
上述のように、全自動検出モードにおいてモデリング可能な鉄筋の種類は、(1)一列に並ぶ縦筋又は横筋、(2)円周上に並ぶ主筋、及び、(3)一列に並ぶ環状形フープ筋の3種類である。以下、一列に並ぶ縦筋又は横筋をモデリングする動作、円周上に並ぶ主筋をモデリングする動作、及び、一列に並ぶ環状形フープ筋をモデリングする動作について順に説明する。
【0051】
図8は、一列に並ぶ縦筋又は横筋をモデリングする手順を示すフローチャートである。このフローチャートに示される処理は、モデリング対象として「一列に並ぶ縦筋又は横筋」が選択され、かつ、モードとして全自動検出モードが選択されている場合に、クラウドサーバ100の制御部110によって実行される。例えば、このフローチャートに示される処理が開始される時点で、端末200のディスプレイ260には、点群データによって示される配筋の3次元画像が表示されている。
【0052】
図8を参照して、クラウドサーバ100の制御部110は、ユーザによる直方体領域の指定が完了したか否かを判定する(ステップS200)。上述のように、ユーザによる直方体領域の指定は、端末200の操作部270を介して行なわれる。直方体領域の指定が完了していないと判定されると(ステップS200においてNO)、制御部110は、直方体領域の指定が完了するまで直方体領域の指定を補助する処理を継続する。
【0053】
図9は、ユーザによって指定される直方体領域CU1の例を模式的に示す図である。図9を参照して、モデリング対象が図9に示される9本の縦筋VR1である場合、又は、モデリング対象が図9に示される6本の横筋HR1である場合に、例えば、直方体領域CU1がユーザによって指定される。直方体領域CU1に含まれる点群データに基づいて鉄筋のモデリングが行なわれるため、ユーザは、モデリング対象の鉄筋が直方体領域CU1内に含まれるように直方体領域CU1を指定する。
【0054】
図10は、直方体領域CU1の具体的な指定手順の一例を説明するための図である。図10における状態1を参照して、ユーザは、端末200の操作部270を介して直方体領域CU1を構成する最初の1点(例えば、指定点P1)を指定する。最初の1点が指定されると、2つ目の点の指定が可能となる。この場合に、例えば、2つ目の点(例えば、指定点P2)を指定するためのカーソルと指定点P1との間にガイド線L1が表示される。ユーザは、ガイド線L1を確認しながらより適切な点を2つ目の点として指定することができる。なお、この例において、指定点P1の奥行き方向の位置と指定点P2の奥行き方向の位置とは互いに異なる。
【0055】
図10における状態2を参照して、2つ目の点が指定されると、3つ目の点の指定が可能となる。この場合に、指定点P1,P2を頂点に含み、さらに、3つ目の点(例えば、指定点P3)を指定するためのカーソル付近の点を頂点に含む四角形のガイド平面PL1が表示される。ガイド平面PL1は、例えば、水平面である。ガイド平面PL1は、3つ目の点を指定するためのカーソルの位置に応じて水平方向に伸縮する。ユーザは、ガイド平面PL1を確認しながらより適切な点を3つ目の点として指定することができる。3つ目の点の位置が確定すると(3つ目の点が指定されると)、3つ目の点の位置がガイド平面PL1の頂点位置に補正される。
【0056】
図11は、ガイド平面PL1の生成手順を説明するための図である。図11を参照して、ガイド平面PL1は、次の手順で生成される。まず、1つ目に指定された指定点P1Xから2つ目に指定された指定点P2Xへ向かうベクトルに基づいて方向Dr1Xが規定される。指定点P2Xから指定点P3X(カーソル位置を示す点)へ向かうベクトルVe23Xと方向Dr1Xとの外積の結果に基づいて方向Dr2Xが規定される。方向Dr1Xと方向Dr2Xとの外積の結果に基づいて方向Dr3Xが規定される。ベクトルVe23Xのうち方向Dr3Xの成分に基づいてベクトルVe23X2が求められ、指定点P3X2が求められる。指定点P1X,P2X,P3X2に基づいてガイド平面PL1が生成される。これにより、3つ目の点として多少ずれた点が指定されたとしても理想的なガイド平面PL1を生成することができる。
【0057】
図10における状態3を参照して、3つ目の点が指定されると、4つ目の点の指定が可能となる。この場合に、4つ目の点(例えば、指定点P4)を指定するためのカーソルによって垂直方向の位置が規定された直方体領域CU1がディスプレイ260に表示される。直方体領域CU1は、4つ目の点を指定するためのカーソルの位置に応じて垂直方向に伸縮する。ユーザは、直方体領域CU1を確認しながらより適切な点を4つ目の点として指定することができる。
【0058】
図12は、直方体領域CU1の生成手順を説明するための図である。図12を参照して、直方体領域CU1は、次の手順で生成される。まず、1つ目に指定された指定点P1Yから2つ目に指定された指定点P2Yへ向かうベクトルVe12Yに基づいて方向Dr1Yが規定される。また、指定点P1Yから3つ目に指定された指定点P3Y2へ向かうベクトルVe13Y2に基づいて方向Dr2Yが規定される。なお、指定点P3Y2は、3つ目の点が指定されるのに伴って既に位置が補正されている。方向Dr1Yと方向Dr2Yとの外積の結果に基づいて方向Dr3Yが規定される。指定点P1Yから4つ目に指定された指定点P4Yへ向かうベクトルVe14Yのうち方向Dr3Yの成分に基づいてベクトルVe14Y2が求められ、指定点P4Y2が求められる。指定点P1Y,P2Y,P3Y2,P4Y2に基づいて直方体領域CU1が生成される。これにより、3つ目及び4つ目の点として多少ずれた点が指定されたとしても理想的な直方体領域CU1を生成することができる。
【0059】
図10における状態4を参照して、指定点P4が指定されると、直方体領域CU1の指定が完了し、直方体領域CU1が規定される。4つ目の点の位置が確定すると(4つ目の点が指定されると)、4つ目の点の位置が直方体領域CU1の頂点位置に補正される。
【0060】
再び図8を参照して、ステップS200において直方体領域CU1の指定が完了したと判定されると(ステップS200においてYES)、制御部110は、直方体領域CU1の調整が完了したか否かを判定する(ステップS210)。直方体領域CU1の調整が完了していないと判定されると(ステップS210においてNO)、制御部110は、直方体領域CU1の調整が完了するまで直方体領域CU1の調整を補助する処理を継続する。ここで、直方体領域CU1の調整とは、直方体領域CU1の位置、大きさ及び傾きの調整のことをいう。
【0061】
配筋検査システム10においては、直方体領域CU1を各軸に沿って移動させる処理、直方体領域CU1を各軸に沿って伸縮させる処理、及び、直方体領域CU1を各回転方向に沿って回転させる処理を通じて、直方体領域CU1の位置、大きさ及び傾きをそれぞれ調整することができる。配筋検査システム10は、直方体領域CU1を各軸に沿って移動させるモード、直方体領域CU1を各軸に沿って伸縮させるモード、及び、直方体領域CU1を各回転方向に沿って回転させるモードに設定可能である。
【0062】
図13は、直方体領域CU1を各軸に沿って移動させるモードにおいて表示される調整用画像300を模式的に示す図である。図13を参照して、配筋検査システム10が直方体領域CU1を各軸に沿って移動させるモードに設定されると、端末200のディスプレイ260には調整用画像300が表示される。調整用画像300は、軸301,302,303を含んでいる。ユーザは、例えば、端末200の操作部270を操作することによって軸301を保持し調整用画像300を横方向へスライドさせることにより、直方体領域CU1を横方向へ移動させることができる。また、ユーザは、例えば、端末200の操作部270を操作することによって軸302を保持し調整用画像300を縦方向へスライドさせることにより、直方体領域CU1を縦方向へ移動させることができる。また、ユーザは、端末200の操作部270を操作することによって軸303を保持し調整用画像300を前後方向へスライドさせることにより、直方体領域CU1を前後方向へ移動させることができる。
【0063】
図14は、直方体領域CU1を各軸に沿って伸縮させるモードにおいて表示される調整用画像310を模式的に示す図である。図14を参照して、配筋検査システム10が直方体領域CU1を各軸に沿って伸縮させるモードに設定されると、端末200のディスプレイ260には調整用画像310が表示される。調整用画像310は、軸311,312,313を含んでいる。ユーザは、例えば、端末200の操作部270を操作することによって軸311を保持し調整用画像310を横方向へスライドさせることにより、直方体領域CU1を横方向へ伸縮させることができる。また、ユーザは、例えば、端末200の操作部270を操作することによって軸312を保持し調整用画像310を縦方向へスライドさせることにより、直方体領域CU1を縦方向へ伸縮させることができる。また、ユーザは、端末200の操作部270を操作することによって軸313を保持し調整用画像310を前後方向へスライドさせることにより、直方体領域CU1を前後方向へ伸縮させることができる。
【0064】
図15は、直方体領域CU1を各回転方向に沿って回転させるモードにおいて表示される調整用画像320を模式的に示す図である。図15を参照して、配筋検査システム10が直方体領域CU1を各回転方向に沿って回転させるモードに設定されると、端末200のディスプレイ260には調整用画像320が表示される。調整用画像320は、回転方向画像321,322,323を含んでいる。ユーザは、例えば、端末200の操作部270を操作することによって回転方向画像321を保持し調整用画像310をロール方向へ回転させることにより、直方体領域CU1をロール方向へ回転させることができる。また、ユーザは、例えば、端末200の操作部270を操作することによって回転方向画像322を保持し調整用画像310をヨー方向へ回転させることにより、直方体領域CU1をヨー方向へ回転させることができる。また、ユーザは、端末200の操作部270を操作することによって回転方向画像323を保持し調整用画像310をピッチ方向へ回転させることにより、直方体領域CU1をピッチ方向へ回転させることができる。
【0065】
なお、調整用画像300,310,320は互いに異なる形状を有している。また、調整用画像300,310,320の各々において、各軸又は各回転方向画像は互いに異なる色を有している。
【0066】
再び図8を参照して、ステップS210において直方体領域CU1の調整が完了したと判定されると(ステップS210においてYES)、制御部110は、直方体領域CU1内の点群データを抽出する処理を実行する(ステップS220)。なお、ステップS210においては、例えば、直方体領域CU1の確定ボタン、又は、モデリングの開始ボタンがユーザによって押下された場合に、直方体領域CU1の調整が完了したと判定されてもよい。
【0067】
直方体領域CU1内の点群データが抽出されると、制御部110は、抽出された点群データの射影処理を行なう(ステップS230)。
【0068】
図16は、点群データの射影処理について説明するための模式図である。図16を参照して、直方体領域CU1に含まれる複数の縦筋VR1のモデリングが行なわれる場合には、直方体領域CU1内の点群が軸AX1に射影される。軸AX1は、各縦筋VR1が延びる方向と直交する方向へ延びている。一方、直方体領域CU1に含まれる複数の横筋HR1のモデリングが行なわれる場合には、直方体領域CU1内の点群が軸AX2に射影される。軸AX2は、各横筋HR1が延びる方向と直交する方向へ延びている。
【0069】
図17は、射影処理の結果を示すヒストグラムの一例を模式的に示す図である。図17を参照して、横軸は点群が射影された軸における位置を示し、縦軸は射影された点の数を示す。図17に示されるように、ヒストグラムにおいては、モデリング対象の鉄筋に対応する位置にピークPE1が形成されている。制御部110は、ピークPE1近傍の点群データに基づいて各鉄筋のモデルを生成する。
【0070】
再び図8を参照して、点群データの射影処理が行なわれると、制御部110は、射影処理の結果に基づいて各点のクラスタリング処理を実行する(ステップS240)。各点のクラスタリングは、各点が射影された軸に沿って行なわれる。クラスタリング処理においては、計算量を削減するために、クラスタリング対象の点の間引きが行なわれる。間引き間隔は、例えば、モデリング対象の鉄筋(縦筋VR1又は横筋HR1)の直径に応じて調整される。クラスタリングのアルゴリズムとしては、例えば、OPTICS(Ordering Points To Identify the Clustering Structure)が用いられる。
【0071】
図18は、クラスタリング処理における第1の処理について説明するための図である。図18を参照して、クラスタリング処理においては、例えば、図17に示されるような射影処理の結果に含まれる各ピークPE1の位置を参照して、各点Po1にラベルが付与される。
【0072】
図19は、クラスタリング処理における第2の処理について説明するための図である。図19を参照して、クラスタリング処理においては、各点Po1のラベルが参照された上で、各クラスタCL1の幅W1がモデリング対象の鉄筋の直径に近付くように各クラスタが更新される。クラスタの更新が繰り返されることによって、鉄筋に対応するクラスタCL1とノイズに対応するクラスタCL2とが導かれる。各クラスタCL1を構成する各点Po1がモデリング対象の鉄筋を構成する点である。クラスタリング処理を通じて、点群データのうち、モデリング対象の各鉄筋に対応する点群データが抽出される。
【0073】
再び図8を参照して、クラスタリング処理が完了すると、制御部110は、モデリング対象の鉄筋に対応するテンプレート点群データを生成する(ステップS250)。テンプレート点群データとは、モデリング対象の鉄筋の理想的な形状を示す点群データである。
【0074】
図20は、テンプレート点群TP1を模式的に示す図である。図20を参照して、例えば、縦筋VR1及び横筋HR1の各々はパラメトリックモデルであるため、必要なパラメータが特定されることによって鉄筋の形状が特定される。具体的には、縦筋VR1及び横筋HR1の各々は、長手方向の長さ及び直径が特定されることによって形状が特定される。
【0075】
鉄筋の直径は、JIS(Japanese Industrial Standards)において規格化されている。配筋検査システム10においては、モデリング対象の鉄筋の直径が複数の候補から選択可能となっている。すなわち、クラウドサーバ100の記憶部120には、複数の鉄筋の直径が予め記憶されており、モデリング対象の鉄筋の直径の選択画面が、クラウドサーバ100から端末200へ送信され、端末200のディスプレイ260に表示される。ユーザは、端末200の操作部270を介して、モデリング対象の鉄筋の直径を選択することができる。
【0076】
また、配筋検査システム10において、モデリング対象の鉄筋の長手方向の長さは、例えば、直方体領域CU1の辺のうちモデリング対象の鉄筋の長手方向に沿う辺の長さに基づいて決定されてもよいし、モデリング対象の鉄筋に対応するクラスタCL1に含まれる点群のバウンディングボックスの長手方向の長さに基づいて決定されてもよい。なお、バウンディングボックスとは、例えば、モデリング対象の鉄筋等のオブジェクトを囲む領域のことをいう。
【0077】
配筋検査システム10において、クラウドサーバ100の制御部110は、ユーザによって選択された鉄筋の直径、及び、直方体領域CU1等から導かれた鉄筋の長手方向の長さに基づいてテンプレート点群TP1を生成する。配筋検査システム10によれば、より正確な鉄筋の形状を示すテンプレート点群TP1が生成され、テンプレート点群TP1を用いることによって鉄筋のモデルが生成されるため、より高精度な配筋モデルを生成することができる。
【0078】
再び図8を参照して、テンプレート点群データが生成されると、制御部110は、テンプレート点群TP1と各クラスタCL1に含まれる点群との位置合わせ処理を実行する(ステップS260)。
【0079】
図21は、位置合わせ処理について説明するための図である。図21を参照して、クラウドサーバ100の制御部110は、各クラスタCL1に含まれる点群PC1とテンプレート点群TP1との位置合わせを2段階で行なう。
【0080】
制御部110は、第1段階として、点群PC1のバウンディングボックスの位置と、テンプレート点群TP1のバウンディングボックスの位置とを合わせる。具体的には、制御部110は、テンプレート点群TP1のバウンディングボックスの水平垂直方向の位置と点群PC1のバウンディングボックスの水平垂直方向の位置とを合わせると共に、テンプレート点群TP1のバウンディングボックスの回転方向の位置と点群PC1のバウンディングボックスの回転方向の位置とを合わせる。これにより、第1段階のラフな位置合わせが完了する。
【0081】
また、制御部110は、第2段階として、ICP(Iterative Closest Point)アルゴリズムを用いることによって、点群PC1に含まれる各点の位置とテンプレート点群TP1に含まれる各点の位置とを合わせる。より具体的には、point to planeのICPアルゴリズムが用いられる。
【0082】
配筋検査システム10によれば、テンプレート点群TP1のバウンディングボックスの位置と各クラスタCL1の各々のバウンディングボックスの位置とがまず合わされるため、テンプレート点群TP1と各クラスタCL1との位置合わせにICPアルゴリズムを用いることができる。その結果、配筋検査システム10によれば、より高精度な鉄筋のモデルを生成することができる。
【0083】
再び図8を参照して、テンプレート点群TP1と各クラスタCL1との位置合わせが完了すると、このフローチャートに示される処理は終了する。これにより、直方体領域CU1内の各鉄筋のモデルが完成する。
【0084】
次に、モデリング対象として「円周上に並ぶ主筋」が選択され、かつ、モードとして全自動検出モードが選択されている場合の動作について説明する。円周上に並ぶ主筋のモデリングも、概ね図8に示されるフローチャートに示される手順で行なわれる。以下では、一列に並ぶ縦筋又は横筋のモデリング動作と異なる点を中心に説明する。
【0085】
再び図8を参照して、円周上に並ぶ主筋のモデリングにおいては、ステップS230において点群データが射影される場所が異なる。
【0086】
図22は、円周上に並ぶ主筋を模式的に示す平面図である。図22に示されるように、複数の主筋MR1は、仮想的な円周上に並んでいる。複数の主筋MR1の各々は、図中前後方向に延びている。図8のステップS230においては、各主筋MR1を示す点群が図中前後方向の前側又は後側の面に射影される。
【0087】
再び図8を参照して、円周上に並ぶ主筋のモデリングにおいては、ステップS240におけるクラスタリング方法が僅かに異なる。次にクラスタリング方法の異なる点について説明する。
【0088】
図23は、円周上に並ぶ主筋のモデリングにおいて行なわれるクラスタリング処理のうち特徴的な処理について説明するための図である。図23を参照して、クラウドサーバ100の制御部110は、点群データの射影処理によって得られた各点Po1に基づいてハフ(Hough)変換を行なうことにより、各点Po1が並ぶ円周の中心及び半径を導出する。制御部110は、各点Po1の円周上の位置を角度θ1で表わし、各点Po1にラベルを付す。その後、制御部110は、一次元の円周方向に沿って各点Po1をクラスタリングする。各点Po1にラベルが付された後の処理は、一列に並ぶ縦筋又は横筋のモデリングにおいて行なわれるクラスタリング処理と略同一である。クラスタリング処理の完了後にテンプレート点群と各クラスタとの位置合わせ処理が行なわれることによって、円周上に並ぶ主筋のモデルが生成される。
【0089】
次に、モデリング対象として「一列に並ぶ環状形フープ筋」が選択され、かつ、モードとして全自動検出モードが選択されている場合の動作について説明する。一列に並ぶ環状形フープ筋のモデリングも、概ね図8に示されるフローチャートに示される手順で行なわれる。以下では、一列に並ぶ縦筋又は横筋のモデリング動作と異なる点を中心に説明する。
【0090】
再び図8を参照して、一列に並ぶ環状形フープ筋のモデリングにおいて、ステップS230において点群データが射影される場所について説明する。
【0091】
図24は、垂直方向に一列に並ぶ複数の環状形フープ筋HO1を模式的に示す図である。図24を参照して、この例においては、3本の環状形フープ筋HO1が直方体領域CU1内に含まれている。この例では、点群データが軸AX3に射影される。すなわち、一列に並ぶ環状形フープ筋のモデリングにおいては、複数の環状形フープ筋が並ぶ方向に平行な軸上に点群データが射影される。その後、各点のクラスタリング処理が行なわれる。
【0092】
一列に並ぶ環状形フープ筋のモデリングにおいて、クラウドサーバ100の制御部110は、クラスタリング処理後に各クラスタに含まれる点群に基づいてハフ変換を行なうことにより、各点が並ぶ円周の中心及び半径を導出する。また、環状形フープ筋の断面直径(minor diameter)は、JISにおいて規格化されている。配筋検査システム10においては、予めモデリング対象の鉄筋(環状形フープ筋)の断面直径が複数の候補から選択可能となっている。すなわち、クラウドサーバ100の記憶部120には、複数の環状形フープ筋の断面直径が予め記憶されており、モデリング対象の環状形フープ筋の断面直径の選択画面が、クラウドサーバ100から端末200へ送信され、端末200のディスプレイ260に表示される。ユーザは、端末200の操作部270を介して、モデリング対象の環状形フープ筋の断面直径を選択することができる。制御部110は、ハフ変換を通じて導出された半径と、ユーザによって選択された断面直径とを用いてテンプレート点群(環状形フープ筋)を生成する。その後、テンプレート点群と各クラスタとの位置合わせ処理が行なわれることによって、一列に並ぶ環状形フープ筋のモデルが生成される。
【0093】
(3-2-2.半自動検出モードにおける動作)
上述のように、半自動検出モードに設定された配筋検査システム10においては、例えば、縦筋VR1及び横筋HR1のモデリング、並びに、環状形フープ筋HO1のモデリングが行なわれる。以下では、縦筋VR1及び横筋HR1のうち代表的に縦筋VR1のモデリングについて説明し、その後、環状形フープ筋HO1のモデリングについて説明する。
【0094】
図25は、半自動検出モードにおいて縦筋VR1をモデリングする動作について説明するための図である。図25を参照して、端末200の操作部270を介してユーザによって縦筋VR1の両端(指定点P5,P6)が指定されると、クラウドサーバ100の制御部110は、直方体領域CU1を生成する。直方体領域CU1のうち長手方向に延びる辺LE1の長さは、指定点P5,P6間の長さである。辺LE2,LE3の各々の長さは、指定点P5,P6の各々の直径である。指定点P5,P6の各々の直径は、例えば、モデリング対象の縦筋VR1の直径に基づいて設定される。なお、辺LE1,LE2,LE3の各々には、多少のマージンが加えられてもよい。
【0095】
制御部110は、点群データのうち直方体領域CU1内に位置する点群データを抽出し、抽出された点群データに基づいて縦筋VR1のモデルを生成する。抽出された点群データから縦筋VR1のモデルを生成する方法は、配筋検査システム10が全自動検出モードに設定されている場合と略同一である。すなわち、制御部110は、縦筋VR1のテンプレート点群を生成し、テンプレート点群と抽出された点群との位置合わせを行なうことによって縦筋VR1のモデルを生成する。
【0096】
図26は、半自動検出モードにおいて環状形フープ筋HO1をモデリングする動作について説明するための図である。図26を参照して、端末200の操作部270を介してユーザによって環状形フープ筋HO1の円周上の3点(指定点P7,P8,P9)が指定されると、クラウドサーバ100の制御部110は、指定された3点の垂直方向(高さ方向)の位置が同一となるように座標変換をし、変換後の座標系において指定された3点を通る正円を導出する。その後、制御部110は、導出された正円の座標系を再び元に戻し、導出された正円を内部に含む直方体領域CU1を生成する。
【0097】
直方体領域CU1において、辺LE4の長さは指定点P7,P8,P9の各々の直径である。指定点P7,P8,P9の各々の直径は、例えば、モデリング対象の環状形フープ筋HO1の断面直径に基づいて設定される。辺LE5,LE6の各々の長さは、指定点P7,P8,P9に基づいて導出された正円の直径と指定点P7,P8,P9の各々の直径との和である。なお、辺LE4,LE5,LE6の各々には、多少のマージンが加えられてもよい。
【0098】
制御部110は、点群データのうち直方体領域CU1内に位置する点群データを抽出し、抽出された点群データに基づいて環状形フープ筋HO1のモデルを生成する。抽出された点群データから環状形フープ筋HO1のモデルを生成する方法は、配筋検査システム10が全自動検出モードに設定されている場合と略同一である。すなわち、制御部110は、環状形フープ筋HO1のテンプレート点群を生成し、テンプレート点群と抽出された点群との位置合わせを行なうことによって環状形フープ筋HO1のモデルを生成する。
【0099】
<3-3.配筋検査動作>
図27は、配筋検査処理の手順を示すフローチャートである。このフローチャートに示される処理は、例えば、配筋検査対象の1又は複数の鉄筋のモデリングが完了した後に、クラウドサーバ100の制御部110によって実行される。
【0100】
図27を参照して、制御部110は、配筋検査対象の鉄筋の選択が完了したか否かを判定する(ステップS300)。配筋検査対象の鉄筋の選択が完了していないと判定されると(ステップS300においてNO)、制御部110は、配筋検査対象の鉄筋の選択が完了するまで待機する。
【0101】
一方、配筋検査対象の鉄筋の選択が完了したと判定されると(ステップS300においてYES)、制御部110は、配筋検査の開始指示を通信I/F130を通じて端末200から受信したか否かを判定する(ステップS310)。配筋検査の開始指示を受信していないと判定されると(ステップS310においてNO)、制御部110は、配筋検査の開始指示を受信するまで待機する。
【0102】
一方、配筋検査の開始指示を受信したと判定されると(ステップS310においてYES)、制御部110は、配筋検査における各種測定処理を実行する(ステップS320)。制御部110は、例えば、選択された複数の鉄筋のモデルに基づいて、隣接する鉄筋間の距離、及び、鉄筋の本数を測定する。各種測定処理が完了すると、制御部110は、設計値の入力画面を示す画像データを端末200へ送信するように通信I/F130を制御し、端末200のディスプレイ260に入力画面を表示させる(ステップS330)。
【0103】
図28は、各設計値の入力画面の一例を模式的に示す図である。図28を参照して、この入力画面(画像IM1)においては、ユーザが、例えば、設計図を参照することによって各設計値を入力する。実測結果等の測定結果、及び、設計値と測定結果との差分の各々は、クラウドサーバ100において自動的に入力される。
【0104】
再び図27を参照して、端末200のディスプレイ260に入力画面が表示されると、クラウドサーバ100の制御部110は、設計値の入力が完了したか否かを判定する(ステップS340)。設計値の入力が完了していないと判定されると(ステップS340においてNO)、制御部110は、設計値の入力が完了するまで待機する。制御部110は、例えば、図28に示される入力画面において「変更」ボタンがユーザによって押下された場合に、設計値の入力が完了したと判定する。
【0105】
一方、設計値の入力が完了したと判定されると(ステップS340においてYES)、制御部110は、検査処理を実行する(ステップS350)。検査処理とは、各種測定結果と設計値との差に基づいて、検査項目の各々について合格又は不合格を判定する処理である。検査処理が完了すると、制御部110は、検査結果を示す帳票を端末200へ送信するように通信I/F130を制御し、端末200のディスプレイ260に帳票を表示させる。
【0106】
図29は、配筋検査帳票の一例を模式的に示す図である。図29に示されるように、配筋検査帳票(画像IM2)には、各項目の設計値、実測値、設計値と実測値との差分値、及び、合否の結果が含まれている。ユーザは、配筋検査帳票を参照することによって、検査対象の配筋の状態を認識することができる。
【0107】
[4.特徴]
以上のように、本実施の形態に従う配筋検査システム10(モデル生成システムの一例)においては、ユーザによって指定された複数の点によって規定される直方体領域CU1の内側に位置する点群データに基づいて複数の鉄筋のうちの少なくとも一部の鉄筋のモデルが生成される。また、ユーザによって指定される複数の点は、例えば、第1点と第2点とを含み、ディスプレイ260に表示される3次元画像において、第1点の奥行き方向の位置と第2点の奥行き方向の位置とは互いに異なる。配筋検査システム10によれば、第1点の奥行き方向の位置と第2点の奥行き方向の位置とが互いに異なるため、モデリングに用いられる点群データを抽出するための領域を比較的自由に規定することができる。その結果、配筋検査システム10によれば、例えば、径が奥行き方向に延びるフープ形状の鉄筋(環状形フープ筋HO1)を含む領域が規定されることにより、フープ形状の鉄筋のモデルを生成することができる。また、配筋検査システム10によれば、点群データ中のノイズが直方体領域CU1に含まれないようにユーザが複数の点を指定することによって、高品質な点群データに基づいて鉄筋のモデルを生成することができる。その結果、配筋検査システム10によれば、鉄筋の誤検知等を抑制することができる。
【0108】
[5.他の実施の形態]
上記実施の形態の思想は、以上で説明された実施の形態に限定されない。例えば、いずれかの実施の形態の少なくとも一部の構成と、他のいずれかの実施の形態の少なくとも一部の構成とが組み合わされてもよい。以下、上記実施の形態の思想を適用できる他の実施の形態の一例について説明する。
【0109】
上記実施の形態に従う配筋検査システム10においては、直方体領域CU1の生成が4点を指定することによって行なわれた。しかしながら、直方体領域CU1の生成時に指定される点の数はこれに限定されない。例えば、ユーザによって指定される点の数は3つであり、指定された3つの点に基づいて平面が特定され、高さ方向の長さがモデリング対象の鉄筋の径に基づいて決定されてもよい。
【0110】
以上、本発明の実施の形態について例示的に説明した。すなわち、例示的な説明のために、詳細な説明及び添付の図面が開示された。よって、詳細な説明及び添付の図面に記載された構成要素の中には、課題解決のために必須でない構成要素が含まれることがある。したがって、それらの必須でない構成要素が詳細な説明及び添付の図面に記載されているからといって、それらの必須でない構成要素が必須であると直ちに認定されるべきではない。
【0111】
また、上記実施の形態は、あらゆる点において本発明の例示にすぎない。上記実施の形態は、本発明の範囲内において、種々の改良や変更が可能である。すなわち、本発明の実施にあたっては、実施の形態に応じて具体的構成を適宜採用することができる。
【符号の説明】
【0112】
10 配筋検査システム、100 クラウドサーバ、110,210 制御部、120,220 記憶部、121,221 制御プログラム、130,230 通信I/F、200 端末、240 カメラ、250 LiDAR、260 ディスプレイ、270 操作部、280 バッテリ、300,310,320 調整用画像、301-303,311-313,AX1-AX3 軸、321-323 回転方向画像、C1 中心候補、CL1,CL2 クラスタ、CP1X,CP1Y 中心、CU1 直方体領域、Dr1X-Dr3X,Dr1Y-Dr3Y 方向、HO1 環状形フープ筋、HR1 横筋、IM1,IM2 画像、L1 ガイド線、LE1-LE6 辺、MR1 主筋、P1-P9,P1X-P3X,P3X2,P1Y-P2Y,P4Y,P3Y2,P4Y2 指定点、PC1 点群、PE1 ピーク、PL1 ガイド平面、Po1 点、TP1 テンプレート点群、Ve23X,Ve23X2,Ve12Y,Ve14Y,Ve13Y2,Ve14Y2 ベクトル、VR1 縦筋、W1 幅。

【要約】
【課題】鉄筋の誤検知等を抑制可能な制御プログラム、モデル生成方法及びモデル生成システムを提供する。
【解決手段】制御プログラムは、複数の鉄筋を含む配筋に基づいて生成された第1点群データを取得するステップと、第1点群データに基づいて生成された画像データを出力するステップと、画像データが示す画像における複数の点の指定をユーザから受け付けるステップと、第1点群データのうち上記複数の点によって規定される領域の内側に位置する第2点群データに基づいて複数の鉄筋のうちの少なくとも一部の鉄筋のモデルを生成するステップとをコンピュータに実行させる。上記複数の点は、第1点と第2点とを含む。3次元画像において、第1点の奥行き方向の位置と第2点の奥行き方向の位置とは互いに異なる。
【選択図】図1

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29