(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-13
(45)【発行日】2023-11-21
(54)【発明の名称】図面認識システム及び図面認識方法
(51)【国際特許分類】
G06T 7/60 20170101AFI20231114BHJP
G06T 7/00 20170101ALI20231114BHJP
G06V 10/44 20220101ALI20231114BHJP
G06V 10/70 20220101ALI20231114BHJP
【FI】
G06T7/60
G06T7/00 350B
G06V10/44
G06V10/70
(21)【出願番号】P 2022049929
(22)【出願日】2022-03-25
【審査請求日】2023-07-18
【新規性喪失の例外の表示】特許法第30条第2項適用 ウェブサイトの掲載日 令和3年3月30日 ウェブサイトのアドレス(URL) https://lp.temoto-ai.jp/ 〔刊行物等〕ウェブサイトの掲載日 令和3年3月30日 ウェブサイトのアドレス(URL) https://nohara-inc.co.jp/news/release/4688/ https://nohara-inc.co.jp/wp/wp-content/uploads/2021/03/vdc_release_temoto210330-1.pdf 〔刊行物等〕ウェブサイトの掲載日 令和3年3月30日 ウェブサイトのアドレス(URL) https://prtimes.jp/main/html/rd/p/000000070.000019866.html 〔刊行物等〕メールの配信日 令和3年3月30日 メールの配信先 国土交通省建設専門紙記者会加盟メディア 〔刊行物等〕ウェブサイトの掲載日 令和3年11月22日 ウェブサイトのアドレス(URL) https://www.s-housing.jp/archives/254183 〔刊行物等〕発行日 令和3年11月29日 刊行物(刊行物名、巻数、号数、該当ページ、発行所/発行元等) 日刊工業新聞(令和3年11月29日付、朝刊 第15面) 〔刊行物等〕公開日 令和3年12月6日(開催期間:令和3年12月6日~8日) 展示会名、開催場所 第一回 建設DX展 東京ビッグサイト 西展示棟(東京都江東区有明3-11-1)
【早期審査対象出願】
(73)【特許権者】
【識別番号】595015258
【氏名又は名称】野原グループ株式会社
(74)【代理人】
【識別番号】110003476
【氏名又は名称】弁理士法人瑛彩知的財産事務所
(72)【発明者】
【氏名】東 政宏
【審査官】▲徳▼田 賢二
(56)【参考文献】
【文献】特開平10-124547(JP,A)
【文献】特開2019-8664(JP,A)
【文献】特開平11-259550(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/60
G06T 7/00
G06V 10/44
G06V 10/70
(57)【特許請求の範囲】
【請求項1】
建設物の平面図を含む図面データを取得する取得部と、
前記平面図に含まれる部屋数に応じて前記平面図を分割することによって、分割図面を生成する分割部と、
前記分割図面に基づいて前記平面図に含まれる要素を認識することによって、前記平面図の認識結果を生成する認識部と、
前記平面図の前記認識結果を出力する出力部と、を備える、図面認識システム。
【請求項2】
前記認識部は、複数の平面図を学習データとして用いた機械学習を実行することによって生成された認識モデルを備え、
前記認識モデルは、前記分割図面を受け取り、前記分割図面の認識結果を出力する、請求項1に記載の図面認識システム。
【請求項3】
前記平面図を複数の種類のいずれかに分類する分類部を更に備え、
前記認識部は、前記認識モデルとして、前記複数の種類に応じた複数の認識モデルを備え、
前記認識部は、
前記分類部によって分類された前記平面図の種類に応じて前記複数の認識モデルの中から1の認識モデルを選択し、選択された認識モデルを用いて前記平面図の前記認識結果を生成する、請求項2に記載の図面認識システム。
【請求項4】
前記分類部は、前記平面図が図面認識の精度を保証できる図面であるか図面認識の精度を保証できない図面であるかを判定し、
前記認識部は、前記平面図が図面認識の精度を保証できない図面であると判定された場合、前記平面図に含まれる要素の認識を行わない、請求項3に記載の図面認識システム。
【請求項5】
前記出力部は、前記平面図が図面認識の精度を保証できない図面であると判定された場合、図面認識の対象外であることを示す情報を出力する、請求項4に記載の図面認識システム。
【請求項6】
前記分割部は、前記平面図を二値化することによって二値化画像を生成し、前記二値化画像に含まれる白い領域のオブジェクトを検出し、前記オブジェクトに基づいて前記部屋数を算出する、請求項1~請求項5のいずれか一項に記載の図面認識システム。
【請求項7】
前記分割部は、前記分割図面に含まれる部屋数が所定数以下となるように、前記平面図を分割する、請求項1~請求項6のいずれか一項に記載の図面認識システム。
【請求項8】
建設物の平面図を含む図面データを取得するステップと、
前記平面図に含まれる部屋数に応じて前記平面図を分割することによって、分割図面を生成するステップと、
前記分割図面に基づいて前記平面図に含まれる要素を認識することによって、前記平面図の認識結果を生成するステップと、
前記平面図の前記認識結果を出力するステップと、を含む、図面認識方法。
【請求項9】
コンピュータを、請求項1~請求項7のいずれか一項に記載の図面認識システムにおける各部として機能させるための、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、図面認識システム及び図面認識方法に関する。
【背景技術】
【0002】
非特許文献1には、単純な住宅の平面図を用いて機械学習させることによって構成された機械学習モデル「Deep Floor Plan」が開示されている。この機械学習モデルは、入力された建設物の平面図に含まれる要素を認識する。
【先行技術文献】
【非特許文献】
【0003】
【文献】Zhiliang Zeng、 Xianzhi Li、 Ying Kin Yu、 Chi-Wing Fu、 “Deep Floor Plan Recognition Using a Multi-Task Network withRoom-Boundary-Guided Attention”、 The Chinese Universityof Hong Kong、August 29, 2019
【発明の概要】
【発明が解決しようとする課題】
【0004】
建設物の平面図には、戸建て住宅といった小規模な建設物の平面図だけでなく、病院、集合住宅、及びホテルといった大規模な建設物の平面図がある。規模の異なる建設物の平面図に含まれる要素を認識しようとした場合、正確な認識結果が得られないおそれがある。本技術分野では、様々な種類の建設物の平面図に含まれる要素を精度良く認識することが望まれている。
【0005】
本開示は、建設物の平面図の認識精度を向上可能な図面認識システム及び図面認識方法を説明する。
【課題を解決するための手段】
【0006】
本開示の一側面に係る図面認識システムは、建設物の平面図を含む図面データを取得する取得部と、平面図に含まれる部屋数に応じて平面図を分割することによって、分割図面を生成する分割部と、分割図面に基づいて平面図に含まれる要素を認識することによって、平面図の認識結果を生成する認識部と、平面図の認識結果を出力する出力部と、を備える。
【0007】
本開示の別の側面に係る図面認識方法は、建設物の平面図を含む図面データを取得するステップと、平面図に含まれる部屋数に応じて平面図を分割することによって、分割図面を生成するステップと、分割図面に基づいて平面図に含まれる要素を認識することによって、平面図の認識結果を生成するステップと、平面図の認識結果を出力するステップと、を含む。
【0008】
これらの図面認識システム及び図面認識方法においては、平面図に含まれる部屋数に応じて平面図が分割され、分割図面に基づいて平面図に含まれる要素が認識される。この構成によれば、規模の異なる建設物の平面図であっても、部屋数が考慮されて分割されるので、分割図面に含まれる部屋数のばらつきが抑えられ得る。したがって、分割図面に含まれる要素の認識精度を向上させることができる。その結果、建設物の平面図の認識精度を向上させることが可能となる。
【0009】
いくつかの実施形態では、認識部は、複数の平面図を学習データとして用いた機械学習を実行することによって生成された認識モデルを備えてもよい。認識モデルは、分割図面を受け取り、分割図面の認識結果を出力してもよい。この場合、認識モデルを十分な量の平面図を用いて学習させることによって、建設物の平面図の認識精度を向上させることが可能となる。
【0010】
いくつかの実施形態では、上記図面認識システムは、平面図を複数の種類のいずれかに分類する分類部を更に備えてもよい。認識部は、認識モデルとして、複数の種類に応じた複数の認識モデルを備えてもよい。認識部は、平面図の種類に応じて複数の認識モデルの中から1の認識モデルを選択し、選択された認識モデルを用いて平面図の認識結果を生成してもよい。この場合、平面図の種類に応じた認識モデルを用いて、分割図面に含まれる要素が認識される。この構成によれば、汎用の認識モデルを用いて複数の種類の平面図を認識する構成と比較して、平面図の認識精度を向上させることが可能となる。
【0011】
いくつかの実施形態では、分類部は、平面図が図面認識の精度を保証できる図面であるか図面認識の精度を保証できない図面であるかを判定してもよい。認識部は、平面図が図面認識の精度を保証できない図面であると判定された場合、平面図に含まれる要素の認識を行わなくてもよい。この構成によれば、図面認識の精度を保証できない平面図を認識対象から外すことによって、平面図の認識精度が低下することを回避できる。
【0012】
いくつかの実施形態では、出力部は、平面図が図面認識の精度を保証できない図面であると判定された場合、図面認識の対象外であることを示す情報を出力してもよい。例えば、ユーザに図面認識の対象外であることが通知されることにより、平面図が図面認識の対象外であることをユーザに認識させることができる。
【0013】
いくつかの実施形態では、分割部は、平面図を二値化することによって二値化画像を生成してもよく、二値化画像に含まれる白い領域のオブジェクトに基づいて部屋数を算出してもよい。この場合、平面図を画像処理することによって部屋数が得られる。したがって、他の情報を用いることなく、平面図から分割図面を生成することができる。
【0014】
いくつかの実施形態では、分割部は、分割図面に含まれる部屋数が所定数以下となるように、平面図を分割してもよい。この場合、平面図に複数の部屋が含まれていたとしても、分割図面には所定数以下の部屋数が含まれる。したがって、規模の異なる建設物の平面図であっても、分割図面に含まれる部屋数のばらつきが抑えられ得る。その結果、建設物の平面図の認識精度を向上させることが可能となる。
【発明の効果】
【0015】
本開示によれば、建設物の平面図の認識精度を向上させることができる。
【図面の簡単な説明】
【0016】
【
図1】
図1は、一実施形態に係る図面認識システムの機能構成の一例を示すブロック図である。
【
図2】
図2は、
図1に示される図面認識システムを構成するコンピュータのハードウェア構成の一例を示す図である。
【
図3】
図3は、ユーザが行う平面図の選択を説明するための図である。
【
図4】
図4は、ユーザが行う建設物の外周及び実寸値の指標線の入力を説明するための図である。
【
図5】
図5は、
図1に示される図面認識システムが行う図面認識方法のフローチャートである。
【
図6】
図6は、
図5の分類処理の一例を詳細に示すフローチャートである。
【
図7】
図7は、斜めの部屋の検出処理を説明するための図である。
【
図8】
図8は、
図5の分割処理の一例を詳細に示すフローチャートである。
【
図9】
図9は、平面図の分割手順を説明するための図である。
【
図12】
図12は、平面図の認識結果の別の例を示す図である。
【発明を実施するための形態】
【0017】
以下、図面を参照しながら本開示の実施形態が詳細に説明される。なお、図面の説明において同一要素には同一符号が付され、重複する説明は省略される。
【0018】
まず、
図1及び
図2を参照しながら、一実施形態に係る図面認識システムを説明する。
図1は、一実施形態に係る図面認識システムの機能構成の一例を示すブロック図である。
図2は、
図1に示される図面認識システムを構成するコンピュータのハードウェア構成の一例を示す図である。
【0019】
図1に示される図面認識システム10は、建設物の平面図に含まれる要素を認識するシステムである。建設物の例としては、戸建て住宅、集合住宅、病院、診療所、ホテル、及び福祉施設が挙げられる。要素の例としては、部屋、壁、及び開口部が挙げられる。図面認識システム10は、通信ネットワークを介してユーザの端末装置から平面図を含む図面データを受信する。通信ネットワークは、有線及び無線のいずれで構成されてもよい。通信ネットワークの例としては、インターネット、WAN(Wide Area Network)、及び移動体通信網が挙げられる。
【0020】
図面認識システム10は、1台のコンピュータ100(
図2参照)によって構成されてもよい。図面認識システム10は、クラウドコンピューティングのように複数台のコンピュータ100によって構成されてもよい。この場合、複数台のコンピュータ100は、通信ネットワークによって互いに通信可能に接続されることで、論理的に1つの図面認識システム10として機能する。
【0021】
図2に示されるように、コンピュータ100は、プロセッサ101、主記憶装置102、補助記憶装置103、通信装置104、入力装置105、及び出力装置106を含む。プロセッサ101の例としては、CPU(Central Processing Unit)が挙げられる。主記憶装置102は、RAM(Random Access Memory)及びROM(Read Only Memory)等で構成される。補助記憶装置103の例としては、半導体メモリ及びハードディスク装置が挙げられる。通信装置104の例としては、ネットワークカード及び無線通信モジュールが挙げられる。入力装置105の例としては、キーボード及びマウスが挙げられる。出力装置106の例としては、ディスプレイが挙げられる。なお、コンピュータ100は、入力装置105及び出力装置106を含んでいなくてもよい。
【0022】
図面認識システム10の各機能要素は、プロセッサ101又は主記憶装置102等のハードウェアに所定のコンピュータプログラムを読み込ませ、プロセッサ101にそのコンピュータプログラムを実行させることによって実現される。プロセッサ101は、コンピュータプログラムに従って、各ハードウェアを動作させるとともに、主記憶装置102及び補助記憶装置103におけるデータの読み出し及び書き込みを行う。
【0023】
図1に示されるように、図面認識システム10は、機能要素として、取得部11と、分類部12と、分割部13と、認識部14と、出力部15と、を含む。後述の図面認識方法の説明において、各機能要素の機能(動作)を詳細に説明するので、ここでは各機能要素の機能を簡単に説明する。
【0024】
取得部11は、各種データを取得する機能要素である。取得部11は、例えば、通信ネットワークを介してユーザの端末装置から平面図を含む図面データを取得する。
【0025】
分類部12は、平面図を複数の種類のいずれかに分類する機能要素である。分類部12は、例えば、斜めの部屋を含む図面、斜めの部屋を含まない図面、及び図面認識の精度を保証できない図面に平面図を分類する。図面認識の精度を保証できない図面の例としては、解像度が低い図面、画質が低い図面、斜線で覆われている図面、部屋がグレーアウトされている図面、及び間仕切りが点線で描かれた図面が挙げられる。
【0026】
分割部13は、平面図に含まれる部屋数に応じて平面図を分割することによって、分割図面を生成する機能要素である。分割部13は、各分割図面に含まれる部屋数が所定数(後述の基準部屋数Nrefに相当)以下となるように、平面図を分割する。所定数は、例えば20である。
【0027】
認識部14は、分割図面に基づいて平面図に含まれる要素を認識することによって、平面図の認識結果を生成する機能要素である。認識部14は、分類部12によって分類される複数の種類に応じた複数の認識モデルを含む。各認識モデルは、当該認識モデルに対応する種類の複数の平面図を学習データとして用いた機械学習を実行することによって生成される。各認識モデルは、分割図面を受け取り、分割図面の認識結果を出力する。認識部14は、取得部11によって取得された平面図の種類に応じて複数の認識モデルの中から1の認識モデルを選択し、選択された認識モデルを用いて平面図の認識結果を生成する。
【0028】
平面図の認識結果は、例えば、要素ID、図面名、要素種別、詳細種別、積算対象、予測値、及び単位を含む(
図12参照)。要素IDは、要素を一意に識別可能な情報である。要素種別は、部屋、開口部、及び壁といった要素の種別を示す。詳細種別は、要素種別を細分化した種別である。例えば、部屋は、リビングルーム等に細分化される。積算対象は、要素の大きさを規定するためのパラメータである。予測値は、図面認識によって得られた積算対象の値である。単位は、予測値の単位である。
【0029】
出力部15は、平面図の認識結果を出力する機能要素である。出力部15は、例えば、電子メールを用いて平面図の認識結果をユーザの端末装置に出力(送信)する。
【0030】
次に、
図3~
図12を参照しながら、図面認識システム10が行う図面認識方法を説明する。
図3は、ユーザが行う平面図の選択を説明するための図である。
図4は、ユーザが行う建設物の外周及び実寸値の指標線の入力を説明するための図である。
図5は、
図1に示される図面認識システムが行う図面認識方法のフローチャートである。
図6は、
図5の分類処理の一例を詳細に示すフローチャートである。
図7は、斜めの部屋の検出処理を説明するための図である。
図8は、
図5の分割処理の一例を詳細に示すフローチャートである。
図9は、平面図の分割手順を説明するための図である。
図10は、認識処理を説明するための図である。
図11は、平面図の認識結果の一例を示す図である。
図12は、平面図の認識結果の別の例を示す図である。
【0031】
まず、ユーザは、図面認識アプリケーションにおいて、所望の図面データをアップロードし、図面データ内の平面図を選択する。図面認識アプリケーションは、例えば、ウェブアプリケーションである。図面データは、例えば、PDF(Portable Document Format)ファイルである。例えば、
図3に示されるように、ユーザは、図面データに含まれる平面図を矩形状の枠Fで囲むことによって、認識対象となる平面図を選択する。なお、枠F内には、建設物の平面図の他、寸法等の情報が含まれている。
【0032】
続いて、ユーザは、選択された平面図に含まれている建設物の外周と実寸値の指標線とを入力する。例えば、
図4に示されるように、ユーザは、建設物の外壁に沿って線Lcを描画し、建設物を囲むことで、建設物の外周を入力する。さらに、ユーザは、実寸値の図面上の長さを表す指標線Lsを描画し、その指標線Lsが表す実寸値を入力する。
【0033】
端末装置は、上記入力を受け取ると、建設物の外周の頂点座標を算出し、図面データ、及び外周の頂点座標を図面認識システム10に送信する。これにより、
図5に示される一連の処理が開始される。
【0034】
図5に示されるように、まず、取得部11が図面データ、平面図を示す枠の頂点座標、及び外周の頂点座標を取得する(ステップS11)。そして、取得部11は、図面データ、平面図を示す枠の頂点座標、及び外周の頂点座標を分類部12及び分割部13に出力する。
【0035】
続いて、分類部12は、分類処理を行う(ステップS12)。ステップS12の分類処理では、
図6に示されるように、分類部12は、図面データ、平面図を示す枠の頂点座標、及び外周の頂点座標を受け取ると、図面データから建設物の平面図を抽出する(ステップS21)。分類部12は、例えば、外周の頂点座標の中から、X座標の最小値及び最大値と、Y座標の最小値及び最大値と、を求め、抽出する平面図の左下の座標(X座標の最小値,Y座標の最小値)及び右上の座標(X座標の最大値,Y座標の最大値)を算出する。そして、分類部12は、左下の座標及び右上の座標を対角の頂点とする長方形の範囲を建設物の平面図として図面データから抽出する。
【0036】
続いて、分類部12は、抽出した平面図から文字を除去する(ステップS22)。分類部12は、例えば、平面図を二値化し、所定の条件を満たす連続領域を文字領域として検出する。連続領域は、黒いピクセルが連続する領域である。そして、分類部12は、二値化された平面図から文字領域を除去して、二値化画像を生成する。
【0037】
続いて、分類部12は、平面図が図面認識の精度を保証できる図面であるか図面認識の精度を保証できない図面であるかを判定する(ステップS23)。ここでは、解像度が低い図面(画像が粗い図面)、及び斜線で覆われている図面を、図面認識の精度を保証できない図面の例として用いて、以下の説明を行う。
【0038】
まず、分類部12は、二値化画像に含まれる輪郭点、直線、及び斜線を検出する。輪郭点は、例えば、OpenCV(Open Source Computer Vision Library)のモジュールfindContoursを用いて検出される。検出された輪郭点同士が連続している場合には、輪郭線が生成される。直線は、例えば、OpenCVのモジュールHoughLinesPを用いて検出される。斜線は、例えば、二値化画像に斜め線のカーネル(フィルタ)を設け、OpenCVのモジュールdilate及びモジュールerodeを用いてモルフォロジー演算を行うことによって検出される。
【0039】
そして、分類部12は、輪郭点、直線、及び斜線を用いて、解像度のスコア及び斜線の被覆率のスコアを算出する。ここでは、分類部12は、二値化画像を縦(Y軸方向)及び横(X軸方向)にそれぞれ均等に3分割することで9つの画像領域を得て、各画像領域に対してスコアを算出する。
【0040】
斜線の被覆率のスコアの算出方法の一例を説明する。斜線の被覆率のスコアは初期値(ゼロ)に設定されている。分類部12は、検出されたすべての輪郭線が占めるピクセル数に対する検出されたすべての斜線が占めるピクセル数の比率を算出し、当該比率と予め定められた閾値Dth(例えば、0.25)とを比較する。そして、分類部12は、比率が閾値Dth以上である場合、斜線の被覆率が大きいと判定し、予め定められたポイントを斜線の被覆率のスコアに加算する。分類部12は、比率が閾値Dth未満である場合、斜線の被覆率が小さいと判定し、斜線の被覆率のスコアにはポイントを加算しない。以上により、斜線の被覆率のスコアが算出される。
【0041】
解像度のスコアの算出方法の一例を説明する。解像度のスコアは初期値(ゼロ)に設定されている。解像度が低い画像では、多くの輪郭点が検出される傾向にある。したがって、分類部12は、検出されたすべての輪郭線が占めるピクセル数に対する検出されたすべての輪郭点が占めるピクセル数の比率を算出し、当該比率を予め定められた閾値Rth1(例えば、1.5)と比較する。そして、分類部12は、比率が閾値Rth1以上である場合、解像度が低いと判定し、予め定められたポイントを解像度のスコアに加算する。分類部12は、比率が閾値Rth1未満である場合、解像度が高いと判定し、解像度のスコアにはポイントを加算しない。
【0042】
解像度が低い画像では、多くの輪郭点が検出され、直線が検出されにくい傾向にある。したがって、分類部12は、検出されたすべての輪郭線が占めるピクセル数に対する検出されたすべての直線が占めるピクセル数の比率を算出し、当該比率を予め定められた閾値Rth2(例えば、0.5)と比較する。そして、分類部12は、比率が閾値Rth2以下である場合、解像度が低いと判定し、予め定められたポイントを解像度のスコアに加算する。分類部12は、比率が閾値Rth2より大きい場合、解像度が高いと判定し、解像度のスコアにはポイントを加算しない。
【0043】
さらに、分類部12は、輪郭点の塊の集合に対する特徴量を用いて、解像度のスコアを計算してもよい。例えば、分類部12は、二値化画像にブラー処理を施して二値化画像を平滑化し、平滑化された二値化画像から輪郭点を検出する。そして、分類部12は、検出された輪郭点に膨張処理を施すことで、近隣の輪郭点同士を互いに結合させ、輪郭点の塊を生成する。そして、分類部12は、輪郭点の塊のうち、面積が所定の値よりも小さい塊を除去し、残りの塊の集合に対して、特徴量を計算する。特徴量としては、例えば、輪郭点の塊が成すピクセルの面積、幅、及び高さが用いられる。分類部12は、これらの値が所定の閾値以上である場合に、予め定められたポイントを解像度のスコアに加算する。以上により、解像度のスコアが算出される。
【0044】
例えば、分類部12は、いずれかの画像領域の解像度のスコアと斜線の被覆率のスコアとの合計スコアが予め設定された保証閾値を超える場合、平面図が図面認識の精度を保証できない図面であると判定し、すべての画像領域の上記合計スコアが保証閾値未満である場合、平面図が図面認識の精度を保証できる図面であると判定する。
【0045】
なお、部屋がグレーアウトされている図面においても、斜線の被覆率が高くなると考えられる。したがって、斜線の被覆率のスコアを用いることにより、部屋がグレーアウトされている図面は、図面認識の精度を保証できない図面であると判定され得る。
【0046】
図面認識の精度を保証できない図面に、間仕切りが点線で描かれた図面が含まれる場合、分類部12は、二値化画像に含まれる連続領域に基づいて、間仕切りが点線で描かれた図面であるか否かを判定する。例えば、分類部12は、二値化画像に含まれる連続領域と、膨張処理を施した二値化画像に含まれる連続領域と、を検出する。連続領域は、例えば、OpenCVのモジュールconnectedComponentsWithStatsを用いて検出される。点線で区切られている部分が多いほど、膨張処理が施された後の連続領域の個数は膨張処理が施される前の連続領域の個数よりも多くなる傾向にある。したがって、分類部12は、膨張処理が施される前の連続領域の個数に対する膨張処理が施された後の連続領域の個数の比率を算出し、当該比率を予め定められた判定閾値と比較する。そして、分類部12は、比率が判定閾値以上である場合、平面図が、間仕切りが点線で描かれた図面(図面認識の精度を保証できない図面)であると判定する。
【0047】
ステップS23において、平面図が図面認識の精度を保証できる図面であると判定された場合(ステップS23:YES)、分類部12は、平面図が斜めの部屋を含むか否かを判定する(ステップS24)。ステップS24では、まず、分類部12は、二値化画像に含まれる白い領域のオブジェクトを検出する。白い領域のオブジェクトは、例えば、OpenCVのモジュールconnectedComponentsWithStatsを用いて検出される。そして、分類部12は、
図7に示されるように、オブジェクトRに対して、回転を考慮しない外接矩形CR1と、回転を考慮した外接矩形CR2とを描画する。回転を考慮しない外接矩形CR1とは、X軸に沿った辺とY軸に沿った辺とを有し、オブジェクトRに外接する矩形である。回転を考慮した外接矩形CR2とは、オブジェクトRに外接する矩形のうち、矩形に占めるオブジェクトRの割合が最も大きくなる矩形である。
【0048】
分類部12は、例えば、外接矩形CR2のいずれかの辺とX軸とが成す角度(0度以上180度未満)が所定の角度以上であること、外接矩形CR1の面積に対するオブジェクトRの面積の比率が所定の面積比率以下であること、及び外接矩形CR1のピクセル数に対する外接矩形CR2とオブジェクトRとが重なる領域のピクセル数の割合が所定の割合以下であること、のすべての条件を満たした場合に、当該オブジェクトRは斜めの部屋であると判定する。そして、分類部12は、斜めの部屋の数が所定数以上である場合に、平面図が斜めの部屋を含むと判定し、斜めの部屋の数が所定数未満である場合に、平面図が斜めの部屋を含まないと判定する。
【0049】
一方、ステップS23において、平面図が図面認識の精度を保証できない図面であると判定された場合(ステップS23:NO)、分類部12は、ステップS24の処理を実施することなく、ステップS25の処理を実施する。
【0050】
続いて、分類部12は、分類結果を認識部14に出力する(ステップS25)。分類結果は、平面図の種類(ここでは、図面認識の精度を保証できない図面、斜めの部屋を含む図面、及び斜めの部屋を含まない図面)を示す情報を含む。以上により、ステップS12の分類処理が終了する。
【0051】
続いて、分割部13は、分割処理を行う(ステップS13)。ステップS13の分割処理では、
図8に示されるように、分割部13は、図面データ、平面図を示す枠の頂点座標、及び外周の頂点座標を取得部11から受け取ると、図面データから建設物の平面図を抽出し(ステップS31)、抽出した平面図から文字を除去する(ステップS32)。なお、ステップS31,S32の処理は、ステップS21,S22の処理と同じであるので、ここでは詳細な説明を省略する。
【0052】
続いて、分割部13は、平面図の分割回数Ndivを算出する(ステップS33)。分割回数Ndivは、平面図を2等分する回数である。ステップS33では、まず、分割部13は、二値化画像に含まれる白い領域のオブジェクトを検出する。白い領域のオブジェクトは、例えば、OpenCVのモジュールconnectedComponentsWithStatsを用いて検出される。
【0053】
そして、分割部13は、検出された白い領域のオブジェクトのそれぞれが部屋領域であるか否かを判定する。部屋領域は、ある程度の幅及び高さを有する長方形に近い形状を有すると考えられる。したがって、分割部13は、オブジェクトの幅又は高さが所定のピクセル(例えば、15ピクセル)以下であること、オブジェクトの高さに対する幅の比率又は幅に対する高さの比率が所定の値以上であること、並びにオブジェクトの面積が所定のピクセル(例えば、300ピクセル)以下であることのいずれかに該当する場合、当該オブジェクトは部屋領域ではないと判定する。
【0054】
分割部13は、オブジェクトの仮想的な外接矩形の重心とオブジェクトの重心との距離が所定のピクセル(例えば、30ピクセル)以上離れている場合に、当該オブジェクトは部屋領域ではないと判定してもよい。仮想的な外接矩形は、オブジェクトの幅(X軸方向の長さ)及び高さ(Y軸方向の長さ)を有する矩形である。あるいは、分割部13は、仮想的な外接矩形の面積に対するオブジェクトの面積の比率が所定の比率(例えば、0.5)以下である場合に、当該オブジェクトは部屋領域ではないと判定してもよい。
【0055】
分割部13は、複数のオブジェクトのうち、孤立しているオブジェクトを部屋領域ではないと判定してもよい。例えば、分割部13は、オブジェクトの仮想的な外接矩形から所定の範囲内に他のオブジェクトが存在しない場合に、当該オブジェクトは孤立していると判定する。所定の範囲は、例えば、仮想的な外接矩形と、すべてのオブジェクトの平均幅と平均高さとの和の半分だけ当該外接矩形の周縁から外側に離れた矩形と、によって囲まれる範囲である。
【0056】
平面図において、非常階段、階段、及び玄関等は、互いに連結された類似度の高い複数のオブジェクトの集合として表され得る。分割部13は、互いに連結された類似度の高い複数のオブジェクトを部屋領域でないと判定してもよい。具体的には、分割部13は、まず、類似度の高いオブジェクトをグルーピングする。ここで、あるオブジェクトの面積及び周囲長が別のオブジェクトの面積及び周囲長の0.7~1.3倍程度の範囲内である場合に、これらのオブジェクトの類似度は高いと判定される。分割部13は、グルーピングしたすべてのオブジェクトに膨張処理を施し、これらのオブジェクトを連結する。そして、分割部13は、連結されたオブジェクトの面積が、すべてのオブジェクトの平均面積の所定倍(例えば、4.5倍)以上である場合に、連結されたオブジェクト内のオブジェクトはいずれも部屋領域ではないと判定する。
【0057】
そして、分割部13は、白い領域のオブジェクトから、部屋領域でないと判定されたオブジェクトを除去し、残ったオブジェクトを部屋領域と判定する。そして、分割部13は、各分割図面に予め定められた基準部屋数Nrefの部屋が含まれるように、分割回数Ndivを算出する。具体的には、分割部13は、まず、式(1)に示されるように、部屋領域のオブジェクトの数Nroomと基準部屋数Nrefとを用いて、理想分割図面数Ndを算出する。なお、関数int(x)は、xの小数点を切り捨てて、整数を返す関数である。
【0058】
【0059】
そして、分割部13は、式(2)に示されるように、理想分割図面数Ndから分割回数Ndivを算出する。なお、関数round(x)は、xをx以上でxに最も近い偶数に丸めた結果を返す関数である。
【0060】
【0061】
続いて、分割部13は、平面図を分割する(ステップS34)。ステップS34では、分割部13は、平面図を2
Ndiv等分する。言い換えると、分割部13は、平面図の2分割をN
div回行う。これにより、分割図面が生成される。例えば、
図9に示されるように、1回目の分割では、分割部13は、平面
図Pの2つの長辺の中心を結ぶ分割線L0を設定する。そして、分割部13は、分割された2つの図面P1,P2が所定ピクセルだけ重なるように、分割線L0に基づいて平面
図Pを分割する。例えば、分割部13は、長辺方向において分割線L0を含む所定ピクセル分の領域が図面P1,P2のそれぞれに含まれるように、平面
図Pを分割する。
【0062】
2回目の分割では、分割部13は、図面P1の2つの長辺の中心を結ぶ分割線L1を設定し、分割された2つの図面P11,P12が所定ピクセルだけ重なるように、分割線L1に基づいて平面
図P1を分割する。同様に、分割部13は、図面P2の2つの長辺の中心を結ぶ分割線L2を設定し、分割された2つの図面P21,P22が所定ピクセルだけ重なるように、分割線L2に基づいて平面
図P2を分割する。以下、同様の分割が、分割回数N
divまで繰り返される。
【0063】
続いて、分割部13は、分割図面を認識部14に出力する(ステップS35)。なお、分割回数Ndivがゼロである場合には、平面図は分割されない。この場合、分割部13は、平面図を分割図面として認識部14に出力する。以上により、ステップS13の分割処理が終了する。
【0064】
続いて、認識部14は、認識処理を行う(ステップS14)。ステップS14では、認識部14は、分類部12から分類結果を受け取り、分割部13から分割図面を受け取ると、複数の認識モデルの中から平面図の種類に応じた1つの認識モデルを選択する。そして、認識部14は、選択した認識モデルに分割図面を1つずつ入力し、認識モデルから分割図面の認識結果を得る。
【0065】
図10に示されるように、認識部14は、認識モデルM1と、認識モデルM2と、を含む。認識モデルM1は、斜めの部屋を含む平面図を認識するための認識モデルである。認識モデルM2は、斜めの部屋を含まない平面図を認識するための認識モデルである。認識部14は、分類結果が斜めの部屋を含む図面を示す場合、認識モデルM1を選択し、認識モデルM1に分割図面を入力する。そして、認識部14は、認識モデルM1から分割図面の認識結果を得る。一方、認識部14は、分類結果が斜めの部屋を含まない図面を示す場合、認識モデルM2を選択し、認識モデルM2に分割図面を入力する。そして、認識部14は、認識モデルM2から分割図面の認識結果を得る。
【0066】
そして、認識部14は、各分割図面の認識結果を足し合わせることによって、平面図の認識結果を生成する。なお、認識結果として、
図11に示されるような平面図が用いられる場合、認識部14は、分割図面を単一の平面図に再結合してもよく、元の平面図をそのまま用いてもよい。そして、認識部14は、平面図の認識結果を出力部15に出力する。なお、認識部14は、分類結果が図面認識の精度を保証できない平面図であることを示す場合、認識処理を行わない。この場合、認識部14は、精度保証不可であることを示す平面図の認識結果を出力部15に出力する。
【0067】
続いて、出力部15は、平面図の認識結果を出力する(ステップS15)。ステップS15では、出力部15は、平面図の認識結果を認識部14から受け取ると、ユーザの端末装置に平面図の認識結果を出力(送信)する。出力部15は、例えば、平面図の認識結果を表示するためのURL(Uniform Resource Locator)を含む電子メールをユーザの端末装置に送信する。ユーザが端末装置においてURLをクリックすることによって、平面図の認識結果が表示される。
【0068】
図11に示されるように、平面図に含まれる要素が要素IDとともに、平面図に重畳表示されることによって、平面図の認識結果が表示されてもよい。
図12に示されるように、平面図の認識結果が表形式で表示されてもよい。例えば、各要素について、要素ID、図面名、要素種別、詳細種別、積算対象、予測値、及び単位が表示される。
【0069】
出力部15は、平面図の認識結果が精度保証不可であることを示す場合、ユーザの端末装置に、選択された平面図がサポート対象外であることを通知する。出力部15は、例えば、電子メールによってサポート対象外の通知を行う。以上により、図面認識方法の一連の処理が終了する。なお、ステップS13は、ステップS12よりも先に行われてもよく、ステップS12と並行して行われてもよい。
【0070】
以上説明した図面認識システム10及び図面認識方法においては、平面図に含まれる部屋数に応じて平面図が分割され、分割図面に基づいて平面図に含まれる要素が認識される。この構成によれば、規模の異なる建設物の平面図であっても、部屋数が考慮されて分割されるので、分割図面に含まれる部屋数のばらつきが抑えられ得る。したがって、分割図面に含まれる要素の認識精度を向上させることができる。その結果、建設物の平面図の認識精度を向上させることが可能となる。
【0071】
具体的には、分割部13は、分割図面に含まれる部屋数が基準部屋数Nref以下となるように、平面図を分割する。このため、平面図に複数の部屋が含まれていたとしても、分割図面には基準部屋数Nref以下の部屋数が含まれる。したがって、規模の異なる建設物の平面図であっても、分割図面に含まれる部屋数のばらつきが抑えられ得る。その結果、建設物の平面図の認識精度を向上させることが可能となる。
【0072】
認識部14は、複数の平面図を学習データとして用いた機械学習を実行することによって生成された認識モデルを含む。この構成では、認識モデルを十分な量の平面図を用いて学習させることによって、建設物の平面図の認識精度を向上させることが可能となる。
【0073】
平面図には、斜めの部屋を含む平面図、及び斜めの部屋を含まない平面図といった様々な種類(性質)の平面図がある。これらの平面図を汎用の認識モデルを用いて認識する構成では、認識精度が低下するおそれがある。一方、図面認識システム10では、認識部14は、認識モデルとして、平面図が分類され得る複数の種類に応じた複数の認識モデルを含み、認識対象の平面図の種類に応じて複数の認識モデルの中から1の認識モデルを選択し、選択された認識モデルを用いて平面図の認識結果を生成する。つまり、平面図の種類に応じた認識モデルを用いて、分割図面に含まれる要素が認識される。この構成によれば、汎用の認識モデルを用いて複数の種類の平面図を認識する構成と比較して、平面図の認識精度を向上させることが可能となる。
【0074】
分類部12は、平面図が図面認識の精度を保証できる図面であるか図面認識の精度を保証できない図面であるかを判定する。認識部14は、平面図が図面認識の精度を保証できない図面であると判定された場合、平面図に含まれる要素の認識を行わない。したがって、図面認識の精度を保証できない平面図が認識対象から外されるので、平面図の認識精度が低下することを回避できる。
【0075】
出力部15は、平面図が図面認識の精度を保証できない図面であると判定された場合、図面認識のサポート対象外であることを示す情報を出力する。例えば、ユーザに図面認識のサポート対象外であることが通知されることにより、平面図が図面認識のサポート対象外であることをユーザに認識させることができる。
【0076】
分割部13は、平面図を二値化することによって二値化画像を生成し、二値化画像に含まれる白い領域のオブジェクトに基づいて部屋数を算出する。この構成によれば、平面図を画像処理することによって部屋数が得られる。したがって、他の情報を用いることなく、平面図から分割図面を生成することができる。
【0077】
なお、本開示に係る図面認識システム及び図面認識方法は上記実施形態に限定されない。
【0078】
例えば、図面認識システム10は、分類部12を備えていなくてもよい。この場合、認識部14は、共通の認識モデルを用いて、平面図の認識結果を生成する。
【0079】
ユーザが分類を入力可能なように、図面認識アプリケーションが構成されていてもよい。この場合、図面認識システム10は、分類部12を備えていなくてもよい。あるいは、分類部12によって分類される平面図の種類とは異なる種類をユーザが入力してもよい。例えば、ユーザは、図面認識アプリケーションにおいて、平面図が住宅の平面図であるか、非住宅の平面図であるかを入力してもよい。この場合、認識部14は、ユーザによって入力された分類に応じた認識モデルを複数の認識モデルの中から選択し、選択された認識モデルを用いて平面図の認識結果を生成する。
【0080】
認識部14は、認識モデルに代えて、画像解析によって平面図に含まれる要素を認識してもよい。
【0081】
分類部12は、平面図が図面認識の精度を保証できる図面であるか図面認識の精度を保証できない図面であるかを判定しなくてもよい。この場合、認識部14は、すべての平面図を認識対象として図面認識を行う。
【符号の説明】
【0082】
10…図面認識システム、11…取得部、12…分類部、13…分割部、14…認識部、15…出力部、M1…認識モデル、M2…認識モデル。