(57)【特許請求の範囲】
【請求項１】
建築図面の画像を読み取ったイメージ画像データの水平方向及び垂直方向の黒又は白ドット数を計測して水平及び垂直方向のドット数計測配列データを作成し、
その作成した水平方向及び垂直方向のドット数計測配列データに基づいて建築図面の輪郭及び骨格を認識し、
その認識した輪郭及び骨格によって形成される矩形閉ループを抽出し、
その抽出した各矩形閉ループ毎にその縦及び横のサイズが押入れの許容範囲にあるか否かを判断して、縦及び横のサイズがいずれも押入れの許容範囲にある場合にその矩形閉ループで囲まれた領域を押入れの候補として抽出し、
その抽出した各押入れの候補毎にその矩形閉ループで囲まれた領域の画像データに対して２つの対角線の各方向にそれぞれ黒又は白ドット数を計測してドット数計測配列データを作成し、
その各ドット数計測配列データに基づいて前記２つの対角線の一方又は両方の対角線を認識できたときに、その押入れの候補を押入れと認識することを特徴とする建築図面認識方法。
【請求項２】
請求項１記載の建築図面認識方法において、押入れと認識した際には、その矩形閉ループで囲まれた領域の座標データを記憶することを特徴とする建築図面認識方法。
【請求項３】
請求項１又は２記載の建築図面認識方法において、
前記作成した水平方向及び垂直方向のドット数計測配列データに基づいて建築図面の輪郭及び骨格を認識した後、前記矩形閉ループの抽出を行なう前に、その認識した輪郭及び骨格に基づいて限定した範囲毎に前記イメージ画像データの水平方向及び垂直方向の黒又は白ドット数を計測して再度水平及び垂直方向のドット数計測配列データを作成し、その作成した水平方向及び垂直方向のドット数計測配列データに基づいて前記限定した各範囲内の建築図面の輪郭及び骨格を認識することを、新たな輪郭又は骨格を認識できなくなるまで繰り返すことを特徴とする建築図面認識方法。
【請求項４】
建築図面の画像を読み取ったイメージ画像データを入力する画像データ入力手段と、
該手段によって入力したイメージ画像データの水平方向及び垂直方向の黒又は白ドット数を計測して水平及び垂直方向のドット数計測配列データを作成するドット数計測配列データ作成手段と、
該手段によって作成された水平方向及び垂直方向のドット数計測配列データに基づいて建築図面の輪郭及び骨格を認識する輪郭・骨格認識手段と、
前記輪郭・骨格認識手段によって認識された輪郭及び骨格によって形成される矩形閉ループを抽出する矩形閉ループ抽出手段と、
該手段によって抽出された各矩形閉ループ毎にその縦及び横のサイズが押入れの許容範囲にあるか否かを判断して、縦及び横のサイズがいずれも押入れの許容範囲にある場合にその矩形閉ループで囲まれた領域を押入れ候補と認識する手段と、
該手段によって認識された各押入れの候補毎にその矩形閉ループで囲まれた領域の画像データに対して２つの対角線の各方向にそれぞれ黒又は白ドット数を計測してドット数計測配列データを作成する対角線方向ドット数計測配列データ作成手段と、
該手段によって作成された各ドット数計測配列データに基づいて、前記２つの対角線の一方又は両方を認識できたときにその押入れ候補を押入れと認識する押入れ認識手段と
を有することを特徴とする建築図面認識装置。
【請求項５】
前記押入れ認識手段が、押入れと認識した矩形閉ループで囲まれた領域の座標データを記憶する手段を有することを特徴とする請求項４に記載の建築図面認識装置。
【請求項６】
前記輪郭・骨格認識手段が、前記ドット数計測配列データ作成手段によって作成された水平方向及び垂直方向のドット数計測配列データに基づいて建築図面の輪郭及び骨格を認識した後、その認識した輪郭及び骨格に基づいて限定した範囲毎に前記イメージ画像データの水平方向及び垂直方向の黒又は白ドット数を計測して再度水平及び垂直方向のドット数計測配列データを作成し、その作成した水平方向及び垂直方向のドット数計測配列データに基づいて前記限定した各範囲内の建築図面の輪郭及び骨格を認識することを、新たな輪郭又は骨格を認識できなくなるまで繰り返す手段を有することを特徴とする請求項４又は５に記載の建築図面認識装置。
【請求項７】
前記画像データ入力手段が、建築図面の画像を読み取ってそのイメージ画像データを入力する画像読取手段である請求項４乃至６のいずれか一項に記載の建築図面認識装置。
【請求項８】
前記画像データ入力手段が、建築図面の画像を読み取ったイメージ画像データのランレングスを符号化した符号化画像データを入力する画像データ入力手段であり、
前記ドット数計測配列データ作成手段が、前記画像データ入力手段によって入力された符号化画像データから元のイメージ画像データを復元し、その水平方向又は垂直方向の黒又は白ドット数を計測して、水平又は垂直方向のドット数計測配列データを作成する手段であることを特徴とする請求項４乃至６のいずれか一項に記載の建築図面認識装置。
【請求項９】
前記画像データ入力手段が、前記符号化画像データを通信により受信して入力する画像データ受信手段である請求項８記載の建築図面認識装置。
【請求項１０】
請求項４乃至９のいずれか一項に記載の建築図面認識装置において、前記押入れ認識手段による押入れの認識結果を表示する表示手段を設けたことを特徴とする建築図面認識装置。
【請求項１１】
前記表示手段は、前記輪郭・骨格認識手段による建築図面の輪郭及び骨格の認識結果と、前記押入れ認識手段による押入れの認識結果とを表示する手段である請求項１０記載の建築図面認識装置。
【請求項１２】
前記表示手段は、前記画像データ入力手段により入力したイメージ画像データを、前記輪郭・骨格認識手段による建築図面の輪郭及び骨格の認識結果及び／又は前記押入れ認識手段による押入れの認識結果と同時に重ねて表示する手段を有することを特徴とする請求項１０又は１１記載の建築図面認識装置。
【請求項１３】
請求項１０乃至１２のいずれか一項に記載の建築図面認識装置において、前記表示手段に表示した前記押入れの認識結果を外部からの指示により確定する認識結果確定手段を設けたことを特徴とする建築図面認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、建築業界で広く使用されている建築図面中の建物の壁等の輪郭及び骨格と、「押入れ」の認識方法及びその認識装置に関するものである。なお、この明細書中で云う「押入れ」には「物入れ」も含むものとする。
【０００２】
【従来の技術】
近年、ＣＡＤシステム等を用いて、家屋やビル等の建築図面を容易に作成したり、そのデータを記憶させておいて設計変更や増改築等の際に利用することは行なわれている。しかし、その建築図面のデータには、作成したシステムにより互換性がなく、期間の経過や業者の変更により利用できなくなる。また、家屋の増改築等を行なう場合には、紙に描かれた古い建築図面しかない場合が多く、増改築の間取り図等を変更しない部分も含めて、全て描きなおさなければならなかった。
【０００３】
そこで、紙に描かれた建築図面を読み取って、コンピュータで処理できるデータとして認識して記憶させることも試みられているが、そのための特別な方法や装置はなく、建築図面をイメージスキャナで読み取り、そのイメージ画像データをパーソナルコンピュータ等に入力させて、一般の図形認識機能を利用して線分認識やパターン認識を行なっている。あるいはさらに、高機能の図形エディタを補助に使うことによって図形認識機能をレベルアップし、自動認識機能が多少不完全な場合でも、例えばラスタ・ベクタ変換することにより直線や円弧等の基本線図を自動認識できるようにしたものもある。
【０００４】
【発明が解決しようとする課題】
しかしながら、このような従来の図面認識装置は、高度の操作知識等を必要とし、パソコンなどを使い慣れている人や専門のオペレータに利用が限定され、建築図面を頻繁に使用する業界関係者にとって、決して使い勝手のよいものであるとはいえなかった。
【０００５】
また、直線や円弧等の基本線図は自動認識することができるが、基本線図の組み合わせ等からなる建築図面特有の図形シンボル（例えば、壁や柱等）を個別に認識することはできなかった。そのため、認識した図面を修正する際には線分毎に行なわなければならず、多くの手間を要していた。
【０００６】
さらに、建設業において使用される家屋やビル等の建築図面は、その図面上の各線分が人間の目には同じ大きさの連続線として見えても、厳密に見れば太さも一様でなく、軌跡もゆらいでいる。また、連続線のはずであっても所々切れている場合もある。これらの不完全さは作図時のみならず、用紙の経年変化や読み取り時の誤差などからも生じるものである。そのため、例えば線分として認識できる太さの限界があまり細いと、わずかなかすれでも線分が切れていると認識してしまう。また太めの線分を長方形のように認識してしまうこともある。
【０００７】
これは、原図の品質は勿論であるが、感光紙を使用したいわゆる青焼き図面のようにコントラストが低い（黒と白の境界がはっきりしない）図面が多く、さらにその青焼きの特徴である細かな点が表面に現れるため、従来の図面認識装置では精度の高い自動認識をすることは困難であり、その修正に多くの手間を要するので殆ど実用にならなかった。
【０００８】
ところで、家屋の建築図面では間取りを仕切る壁が図面の中心的役割を果たし、図面中のどの部分が壁であるかを認識することによって、建築図面のおおよその間取りを理解することができる。従って、図面中の壁の位置及びその長さを認識することは、建築図面を認識する上で最も重要な事項である。
【０００９】
また、この建築図面の中から、「押入れ」を認識するには、その間取りの大きさ(半畳前後)や形(長方形や正方形など)、対角線(片方向又は両方向)描画の有る／無し及び「押入れ」等の記述の有る／無しなどで判断することが多い。
従って、青焼きなどの建築図面から「押入れ」を認識するとき、図面中の壁の位置及びその長さから間取りを認識し、その間取りの中から「押入れ」に該当するものを認識するという、「壁」認識→「間取り」認識→「押入れ」認識の連携が、確実にできるか否かが重要な鍵になる。
【００１０】
しかし、従来の図面の中からの「押入れ」認識方法では、次のような問題があった。
（１）輪郭線追跡方法では、間取りの輪郭線にカスレや凹凸が多いと途切れた直線として認識され、あるいは２本や３本に分かれた直線として認識されてしまって、正確に認識できなかった。
（２）黒ドットの度数分布から求める射影特徴抽出方法では、線が細いと水平及び垂直方向の直線を見つけ出すとき、線が少しでも傾いていると特徴抽出ができなくなってしまい、直線らしい線の認識ができなくなっていた。
このような理由で、「押入れ」認識処理途中の「間取り」や「対角線」を正確に認識できなかった。
【００１１】
この発明は上記の点に鑑みてなされたものであり、青焼きや手書きにより線が途切れたり多少傾いた直線で紙に描かれた建築図面を読み取ったイメージ画像データ、あるいはそのランレングスを符号化した符号化画像データから、その建築図面の輪郭や骨格である「壁」を認識し、それから「間取り」を認識した後、「押入れ」を精度よく自動認識できるようにすることを目的とする。
【００１２】
【課題を解決するための手段】
この発明は上記の目的を達成するため、次のような建築図面認識方法及び建築図面認識装置を提供する。
この発明による建築図面認識方法は、次のステップで建築図面の輪郭及び骨格と「押入れ」を認識する。
【００１３】
（１）建築図面の画像を読み取ったイメージ画像データの水平方向及び垂直方向の黒又は白ドット数を計測して水平及び垂直方向のドット数計測配列データ（ヒストグラム）を作成する。
（２）その作成した水平方向及び垂直方向のドット数計測配列データに基づいて建築図面の輪郭及び骨格を認識する。
（３）その認識した輪郭及び骨格によって形成される矩形閉ループを抽出し、その抽出した各矩形閉ループ毎にその縦及び横のサイズが押入れの許容範囲にあるか否かを判断して、縦及び横のサイズがいずれも押入れの許容範囲にある場合にその矩形閉ループで囲まれた領域を押入れの候補として抽出する。
（４）その抽出した各押入れの候補毎に上記矩形閉ループで囲まれた領域の画像データに対して２つの対角線の各方向にそれぞれ黒又は白ドット数を計測してドット数計測配列データを作成し、その各ドット数計測配列データに基づいて少なくとも一方の対角線を認識できたときに、その押入れの候補を押入れと認識する。
【００１５】
上記（３）のステップで押入れと認識した際には、その矩形閉ループで囲まれた領域の座標データを記憶する。
【００１６】
さらに、上記の建築図面認識方法において、作成した水平方向及び垂直方向のドット数計測配列データに基づいて建築図面の輪郭及び骨格を認識した後、上記矩形閉ループの抽出を行なう前に、その認識した輪郭及び骨格に基づいて限定した範囲毎に上記イメージ画像データの水平方向及び垂直方向の黒又は白ドット数を計測して再度水平及び垂直方向のドット数計測配列データを作成し、その作成した水平方向及び垂直方向のドット数計測配列データに基づいて上記限定した各範囲内の建築図面の輪郭及び骨格を認識することを、新たな輪郭又は骨格を認識できなくなるまで繰り返すのが望ましい。
【００１７】
また、この発明による建築図面認識装置は、次の各手段を有する。
建築図面の画像を読み取ったイメージ画像データを入力する画像データ入力手段、
該手段によって入力したイメージ画像データの水平方向及び垂直方向の黒又は白ドット数を計測して水平及び垂直方向のドット数計測配列データを作成するドット数計測配列データ作成手段、
該手段によって作成された水平方向及び垂直方向のドット数計測配列データに基づいて建築図面の輪郭及び骨格を認識する輪郭・骨格認識手段、
上記輪郭・骨格認識手段によって認識された輪郭及び骨格によって形成される矩形閉ループを抽出する矩形閉ループ抽出手段、
該手段によって抽出された各矩形閉ループ毎にその縦及び横のサイズが押入れの許容範囲にあるか否かを判断して、縦及び横のサイズがいずれも押入れの許容範囲にある場合にその矩形閉ループで囲まれた領域を押入れ候補と認識する手段、
該手段によって認識された各押入れの候補毎にその矩形閉ループで囲まれた領域の画像データに対して２つの対角線の各方向にそれぞれ黒又は白ドット数を計測してドット数計測配列データを作成する対角線方向ドット数計測配列データ作成手段、
該手段によって作成された各ドット数計測配列データに基づいて、上記２つの対角線の一方又は両方を認識できたときにその押入れ候補を押入れと認識する押入れ認識手段。
【００２０】
上記押入れ認識手段は、押入れと認識した矩形閉ループで囲まれた領域の座標データを記憶する手段を有するとよい。
【００２１】
上記建築図面認識装置において、輪郭・骨格認識手段が、前記ドット数計測配列データ作成手段によって作成された水平方向及び垂直方向のドット数計測配列データに基づいて建築図面の輪郭及び骨格を認識した後、その認識した輪郭及び骨格に基づいて限定した範囲毎に前記イメージ画像データの水平方向及び垂直方向の黒又は白ドット数を計測して再度水平及び垂直方向のドット数計測配列データを作成し、その作成した水平方向及び垂直方向のドット数計測配列データに基づいて前記限定した各範囲内の建築図面の輪郭及び骨格を認識することを、新たな輪郭又は骨格を認識できなくなるまで繰り返す手段を有するのが望ましい。
【００２２】
上記画像データ入力手段は、建築図面の画像を読み取ってそのイメージ画像データを入力する画像読取手段であればよい。
あるいは、上記画像データ入力手段が、建築図面の画像を読み取ったイメージ画像データのランレングスを符号化した符号化画像データを入力する画像データ入力手段であり、上記ドット数計測配列データ作成手段が、画像データ入力手段によって入力された符号化画像データから元のイメージ画像データを復元し、その水平方向又は垂直方向の黒又は白ドット数を計測して、水平又は垂直方向のドット数計測配列データを作成する手段であってもよい。
【００２３】
その画像データ入力手段が、符号化画像データを通信により受信して入力する画像データ受信手段であるとよい。
また、これらの建築図面認識装置において、押入れ認識手段による押入れの認識結果を表示する表示手段を設けるとよい。
その表示手段は、輪郭・骨格認識手段による建築図面の輪郭及び骨格の認識結果と、押入れ認識手段による押入れの認識結果とを表示する手段であってもよい。
【００２４】
さらに、その表示手段は、画像データ入力手段により入力したイメージ画像データを、輪郭・骨格認識手段による建築図面の輪郭及び骨格の認識結果及び／又は押入れ認識手段による押入れの認識結果と同時に重ねて表示する手段を有することもできる。
そして、上記表示手段に表示した押入れの認識結果を外部からの指示により確定する認識結果確定手段を設けるとよい。
【００２５】
【発明の実施の形態】
以下、この発明の実施形態を図面に基づいて具体的に説明する。
図１は、この発明による建築図面認識方法を実施する建築図面認識装置の一例の概略構成を示すブロック図であり、ハード構成とマイクロコンピュータによるソフト処理の機能とを混在して示している。
【００２６】
この装置は、全体制御部１，画像読取部２，通信制御部３，メモリ４，自動スキュー補正部５，ドット数計測配列データ作成部６，輪郭・骨格認識部７，再マッピング制御部８，表示部９，操作入力部１０，外部記憶装置１１，印刷装置１２，押入れ認識部１３，及びこれらを接続するバス１４などから構成される。
なお、これらの各部（又は装置）とバス１４との間に必要なインタフェース部は図示を省略している。
【００２７】
全体制御部１は、この建築認識装置全体の動作及び機能を制御するマイクロコンピュータ（ＣＰＵ，ＲＯＭ，ＲＡＭ等から構成されるが代表して「ＣＰＵ」と略称される）であり、自動スキュー補正部５並びにこの発明に係るドット数計測配列データ作成部６，輪郭・骨格認識部７，再マッピング制御部８，及び押入れ認識部１３の各機能も、そのＣＰＵのソフト処理によって実現できる。
【００２８】
画像読取部２は、セットされた建築図面をスキャンして、その画像を読み取ってイメージ画像データを入力する画像データ入力手段であり、スキャン光学系及びＣＣＤなどのイメージセンサとその駆動回路等からなる公知のイメージスキャナである。また、その読み取ったイメージ画像データを所定の解像度で２値化して白ドットと黒ドットの画像データにする回路も含んでいる。
【００２９】
通信制御部３は、画像読取部２から画像データを取り込む代りに、外部から通信によりイメージ画像データ又はそのランレングスが符号化された符号化画像データを受信して入力する画像データ受信手段であると共に、この装置によって認識した建築図面のデータを外部装置へ送信することもできる。具体的にはＦＡＸモデムやパソコン通信制御手段を含むものである。
【００３０】
メモリ４は、画像読取部２によって読み取ったイメージ画像データ、通信制御部３によって受信したイメージ画像データ又は符号化画像データをはじめ、自動スキュー補正部５によってスキュー補正された画像データ、ドット数計測配列データ作成部６によって作成されたドット数計測配列データ、輪郭・骨格認識部７によって認識された輪郭及び骨格の認識結果、及び再マッピング制御部８によって再マッピングされた画像データ、押し入れ認識部１３によって認識された押し入れの認識結果等を格納する大容量のＲＡＭあるいはハードディスク等によるメモリである。
【００３１】
自動スキュー補正部５は、メモリ４に格納した画像データの角度を調整して水平及び垂直の線分方向を装置の水平及び垂直の基準方向と一致させるように補正するためのものであり、公知の自動スキュー補正技術を用いることができる。
なお、この自動スキュー補正部５により修正された画像データは、再びメモリ４に格納される。
【００３２】
ドット数計測配列データ作成部６は、自動スキュー補正がなされてメモリ４に格納されたイメージ画像データ又は符号化画像データ、及び後述する再マッピング制御部８によって再マッピングされた画像データに対して、その画像データを水平及び垂直方向の２方向に限定して、それぞれドット幅単位に黒又は白ドット数を計測（カウント）し、その結果により水平及び垂直方向のドット数計測配列データ（ヒストグラム）を作成してメモリ４に格納するドット数計測配列データ作成手段である。
【００３３】
なお、読み取った建築図面がポジ図面（地の明度より図の明度が低い図面）の場合には黒ドット数を計測し、ネガ図面（地の明度より図の明度が高い図面）の場合には白ドット数を計測する。
【００３４】
輪郭・骨格認識部７は、ドット数計測配列データ作成部６によって作成された水平及び垂直方向のドット数計測配列データに基づいて、建築図面の輪郭及び骨格を認識し、特に壁の位置，長さ，厚さ，種類等の壁データを抽出するための輪郭・骨格認識手段であり、その詳細は後で詳述する。
【００３５】
なお、参照したドット数計測配列データでは、壁の認識（抽出）が困難あるいは不確実な場合は、図面の水平及び垂直方向のドット数計測配列データ作成範囲の再設定要求を全体制御部１へ送り、作成範囲を変更設定してドット数計測配列データ作成部６に再度ドット数計測配列データを作成させる。
【００３６】
再マッピング制御部８は、輪郭・骨格認識部７により、壁と認識された部分により建築図面の範囲を限定して、その部分を他の認識情報をも考慮した上で、再度マッピングし、その限定した範囲毎にドット数計測配列データ作成部６に再度ドット数計測配列データを作成させるための画像データを作成するものであり、その際に原稿のノイズあるいは画像読取部２での読取ノイズも除去した画像データを作成する。このデータもメモリ４に格納される。
【００３７】
押入れ認識部１３は、輪郭・骨格認識部７で認識された壁の位置の認識処理結果を基に、矩形閉ループを抽出し、その中から押入れを認識する。その詳細は後で説明する。
【００３８】
表示部９は、画像読取部２又は通信制御部３から入力し、自動スキュー補正部５によってスキュー補正された建築図面の画像データ、ドット数計測配列データ作成部６で作成された水平及び垂直方向の黒又は白のドット数計測配列データ、輪郭・骨格認識部７によって認識された壁データ、再マッピング制御部８によって再マッピングされた画像データ、押し入れ認識部１３によって認識された押し入れのデータ等を表示するためのものであり、例えば、ＣＲＴや液晶ディスプレイ等である。
【００３９】
図２，図３は、表示部９の画面９ａの表示状態の例を示すものであり、図２は輪郭・骨格認識部７によって認識された建築図面の輪郭及び骨格（この例では壁）のデータを再マッピング制御部８によって再マッピングした画像データ（認識結果）の表示例である。この表示例において、二重の実線は壁の両面を示し、細線は壁の芯線及びその延長線を示している。
【００４０】
図３は、自動スキュー補正部５によってスキュー補正された建築図面の画像データ（入力したイメージ画像データ）と、上記再マッピングされた認識結果である壁の画像データを同時に重ね合わせて表示した例を示す。この場合、両者の識別が容易にできるように、スキュー補正された建築図面のイメージ画像データはハーフトーンで表示し（図３では図示の都合上点描で示している）、認識結果である壁の画像データを実線で表示する。
【００４１】
また、表示部９がカラーの表示装置である場合には、両画像の色を変えて表示することにより、識別性を向上させることができる。例えば、スキュー補正された入力イメージ画像データは薄青色で、認識結果の画像データをオレンジ色あるいは緑色等で表示することにより、操作者は認識結果の部分を容易に識別できる。
【００４２】
あるいは、表示部９の画面９ａを分割して、スキュー補正された入力イメージ画像データと認識結果の画像データをその分割したそれぞれの画面に対比させて表示することもできる。
または、同一の画面上にスキュー補正された入力イメージ画像データと再マッピングされた認識結果の画像データを選択的に表示できるようにしてもよい。その場合には後述する操作入力部１０に表示選定手段(キー等)を設ければよい。
【００４３】
さらに、この表示部９は、認識結果を操作者が確認するための画面も表示する。すなわち、上記再マッピングされた認識結果の画像データを表示し、「この認識結果でよろしいですか？（ＹＥＳ／ＮＯ）」というような表示を行なう。これにより、壁の認識が正確にできているかどうかを操作者が確認することができる。
【００４４】
操作入力部１０は、各種操作指示や機能選択指令、編集データ等を入力するためのものであり、キーボードやマウスあるいはタッチパネル等である。
この操作入力部１０は、表示選定手段としての機能も有し、表示部９の表示状態を操作者の所望の表示状態に変更することができる。例えばキー操作により、スキュー補正された建築図面の入力画像データと再マッピングされた認識結果の画像データを重ね合わせて表示させたり、どちらか一方のみを選択して表示させたりすることができる。
【００４５】
さらに、操作入力部１０は、上記「この認識結果でよろしいですか？（ＹＥＳ／ＮＯ）」の表示に対し、「ＹＥＳ」または「ＮＯ」の情報を入力するためのキー等の入力手段も有する。そして、「ＹＥＳ」が選択された場合は認識処理を終了し、「ＮＯ」が選択された場合は再認識処理あるいは訂正処理に移行する。これにより、操作者は認識結果の内容を確認し、それを確定することができる。
【００４６】
外部記憶装置１１は、入力した画像データや、ドット数計測配列データ作成部６で作成された黒ドット数計測配列データ、輪郭・骨格認識部７によって認識された壁データ、再マッピング制御部８によって再マッピングされた認識結果の画像データ、押し入れ認識部１３によって認識された押し入れデータ等を、フロッピディスク（ＦＤ）や光磁気ディスク（ＯＭＤ）等の外部へ取り出し可能な記憶媒体に記憶させる記憶装置である。印刷装置１２は、上記の各種データを紙に印刷あるいは描画して出力するプリンタあるいはプロッタである。
【００４７】
ここで、建築図面における「輪郭」と「骨格」及び「外壁」と「内壁」の定義について、表１及び表２と図４によって説明する。
【００４８】
【表１】
0003658468.tif 000002
【００４９】
【表２】
0003658468.tif 000003
【００５０】
「輪郭」とは「外輪郭」のことであり、表１に○印で示すように外周壁の外部に面している箇所のみ（図４の（ａ）に示す二重線の外側の線の部分）を意味するケース１の場合と、外部に接する壁の全体（図４の（ｂ）に太線で示す部分）を意味するケース２，３の場合とがある。
【００５１】
「骨格」とは、壁の総て（図４の（ｂ）（ｃ）に太線で示す部分の両方）を意味するケース１，２の場合と、外輪郭を除く壁（図４の（ｃ）に太線で示す部分のみ）を意味するケース３の場合とがある。これらの定義において、特に断わらない場合はケース１の通常の意味として扱われる。
【００５２】
「外壁」とは表２に○印で示すように、外輪郭と同じく外周壁の外部に面している箇所のみ（図４の（ａ）に示す二重線の外側の線で示す部分）を意味するケース４の場合と、外部に接する壁の全体（図４の（ｂ）に太線で示す部分）を意味するケース５の場合とがある。
【００５３】
「内壁」とは表２に○印で示すように、ケース４，５とも外壁を除く壁（壁＝外壁＋内壁）であるが、ケース４の場合は図４の（ａ）に示す二重線の内側の線の部分と図４の（ｃ）に太線で示す部分であり、ケース５の場合は図４の（ｃ）に太線で示す部分である。これらの定義においても、特に断わらない場合はケース５の通常の意味として扱われる。
【００５４】
次に、図１に示した建築図面認識装置による建築図面（主に家屋やビル等の建築図面）の認識手順について、図５乃至図８のフロー図と、図９乃至図２９によって説明する。なお、図６〜図８においては、各ステップを「Ｓ」で示している。また、この実施例では、認識する建築図面がポジ図面であるものとする。
図５は、この発明による建築図面認識処理のメインルーチンを示すフローチャートである。
【００５５】
図５の処理を開始すると、図１の画像読取部２にセットされた建築図面を読み取り、そのイメージ画像データを入力して、自動スキュー補正部５によって自動的にそのスキューを補正する。
そして、ステップＡのサブルーチンで、ドット数計測配列データ作成部６及び輪郭・骨格認識部７等により、その入力した画像データに対して壁の位置の認識処理を実行する。この処理については後に詳述する。なお、イメージ画像データを符号化したデータを通信制御部３から入力するようにしてもよい。
【００５６】
その後、押入れ認識部１３により、ステップＢの処理で矩形閉ループの抽出を行なって、矩形閉ループの個数ｎとそれぞれの矩形閉ループの輪郭を表すデータを取得する。矩形閉ループの抽出は、従来技術で実現できる。
ステップＣでは、ステップＢで取得した矩形閉ループ総てを順番にループ処理するために、その回数カウンタのカウント値ｉの初期設定（ｉ←１）を行う。
そして、ステップＤにおいて回数カウンタのカウント値ｉが矩形閉ループの個数ｎを超えた（ｉ＞ｎ）かどうかを判定する。超えていれば、当該図面の解析を終了し、ステップＫに移行する。超えていなければ、当該ｉ番目の矩形閉ループについて、ステップＥ〜ステップＩの押入れ認識処理を行う。
【００５７】
ステップＥでは、当該ｉ番目の矩形閉ループが、「押入れ」としての縦及び横サイズの許容範囲に入っているかどうかを判定する。「押入れ」としての縦及び横サイズの許容範囲とは、縮尺換算して、通常は長辺サイズが単位長の約２倍長（和式建築の場合は１間長）で、短辺サイズがほぼ単位長（和式建設の場合は半間長）となる約 ２：１ 長の比になっていることが一般的であるが、正方形型や長辺が少し長め(又は短め)になっているケース等もあるので、少し幅を持たせた次の判定内容とする。
【００５８】
（単位長×２／３）≦長辺≦（単位長×３）
（単位長×１／３）≦短辺≦（単位長×１.５）
「押入れ」としての縦及び横サイズの許容範囲に入っていなければ、ステップＪに移行する。許容範囲に入っていれば、ステップＦに移行する。
【００５９】
次に、ステップＦでは、「押入れ」の表現方法のチェックを行って、認識処理の詳細性を判断する。
「押入れ」の表現方法が、矩形だけによる簡易表現１の場合は、現在の認識段階で当該矩形閉ループを「押入れ」の輪郭とみなして、ステップＩに移行する。「押入れ」の表現方法が簡易表現１でない場合は、ステップＧに移行する。
この「押入れ」の表現方法は、この建築図面認識装置によって自動的に認識できるわけではなく、この建築図面認識装置の使用者が指定するものである。
【００６０】
「押入れ」の表現方法には、主に以下の三種類がある。
(ａ)図２７の(ａ)に示すように、矩形輪郭の中に「押入れ」に該当する文字(テキスト表現）だけが記述されたもの：「簡易表現１」と称する。
(ｂ)図２７の(ｂ)に示すように、矩形輪郭の中に片方の対角直線だけが引かれたもの：「簡易表現２」と称する。
(ｃ)図２７の(ｃ)に示すように、矩形輪郭の中に両方の対角直線が引かれたもの：「簡易表現３」と称する。
【００６１】
次に、図５のステップＧでは、上述の簡易表現２及び簡易表現３による「押し入れ」の認識・抽出を目的として、当該ｉ番目の矩形閉ループで囲まれた領域について、両側の対角線方向にそれぞれ黒ドット数計測配列データ（認識する建築図面がネガ図面の場合は白ドット数計測配列データ）を作成し、ステップＨに移行する。
【００６２】
ステップＨでは、その得られた黒ドット数計測配列データを分析して、簡易表現２又は簡易表現３に相当する対角線を抽出した場合には、当該ｉ番目の矩形閉ループで囲まれた領域を「押入れ」とみなしてステップＩに移行する。簡易表現２又は簡易表現３に相当する対角線を抽出できなかった場合、当該ｉ番目の矩形閉ループで囲まれた領域を「押入れ」とみなさず、ステップＪに移行する。
【００６３】
ステップＩでは、当該ｉ番目の矩形領域を「押入れ」とみなして認識し、矩形領域の座標データなどの認識結果情報を格納した後、ステップＪに移行する。ステップＪでは、次の矩形閉ループ領域を認識処理するために、矩形閉ループ・カウンタｉを＋１してから、ステップＤに戻って上述の処理を繰り返し行う。
【００６４】
以上のステップＤからステップＪまでの処理をｉ＝ｎになるまで行なった後、ステップＫに進んで、それまでの「押し入れ」の認識結果を出力し、処理を終了する。ステップＫによる処理では、図２６に示した画像データ中に斜線を施して示す矩形ループで囲まれた領域である「押入れ」の位置を示す座標データ（例えば４つの頂点の座標データ）及びサイズを、建築図面からの「押入れ」の認識結果としてメモリ４又は外部記憶装置１１に記憶させたり、表示部９に表示させるためデータを出力をする。
【００６５】
ここで、上述のステップＧ及びステップＨによる対角線の認識について、図２８及び図２９によって具体的に説明する。
図２８は、２値化した画像データの対象とする矩形閉ループで囲まれた領域にに対して、一方の対角線の方向（図で左上角と右下角とを結ぶ方向）の黒ドット数計測配列データを作成した結果を示す。これによれば、全体の平均値ａ１の３倍程度に設定した閾値ｂ１を越える線状のピークＰ１が現われており、このピークの方向に対角線が存在することが認識される。
【００６６】
図２９は、同じ矩形閉ループで囲まれた領域に対して、他方の対角線の方向（図で左下角と右上角とを結ぶ方向）の黒ドット数計測配列データを作成した結果を示す。これによれば、やはり全体の平均値ａ２の３倍程度に設定した閾値ｂ２を越える線状のピークＰ２が現われており、このピークの方向にも対角線が存在することが認識される。
【００６７】
この場合は、両方の対角線がある前述の「簡易表現３」による「押入れ」を認識することができる。「簡易表現２」の場合には、図２８又は図２９のいずれか一方の黒ドット数計測配列データに線状のピークが現われて、対角線の存在を認識できれば「押し入れ」と認識することになる。
【００６８】
図２５は、壁の芯線を認識してその結果から矩形閉ループを抽出する処理に使用した入力サンプルの建築図面のイメージ画像を、再マッピング制御部８によって再マッピングさせた画像データの表示部９による表示例を示す。
図２６は、その認識結果である輪郭及び骨格（壁）と押入れ（斜線を施して示す）の表示例を示す。
この認識結果と図２５に示した入力した建築図面のイメージ画像とを重ね合わせて表示したり、交互に表示することができる。
【００６９】
また、図１の操作入力部からの指示操作によって、いずれかの表示を選択したり、表示された認識結果を確定することができる。
このように、「押入れ」を三段階(簡易表現１〜３)に区別して認識処理することによって、収納面積や間取り認識につなげる建築図面の認識処理を、より詳細かつ正確に実施することができる。
【００７０】
次に、図５のステップＡによる壁の認識処理について説明する。図６はその壁の位置を認識する処理のサブルーチンの内容を示すフロー図である。
まず、ステップ３において、自動スキュー補正された画像データの全体を調査対象とする。そして、ステップ４において、ネスト変数を０（初期値：画像全体を対象にするという意味）にする。「ネスト変数」は建築図面の解析範囲をトップダウンで絞り込む時の絞り込み段階を表わす。ネスト変数の値が大きいほど解析が深くなっている（細かい部分まで進んでいる）ことを表わす。
【００７１】
ステップ５において、壁の位置の調査対象の領域を限定する処理を行なう。具体的には、この処理に至る直前に調査領域の指示が示されていて、ここでは以降のステップ６〜９の処理のための準備（インタフェースの共通化）を行なうだけである。個々の調査対象領域の形は矩形図になる。最初はネスト変数が０なので図面全体を調査対象とする。
【００７２】
ステップ６において、水平方向の黒ドット数計測配列データを作成する。これは、画像データの垂直方向の１ドット幅毎に水平方向の黒ドット数を計数（計測）し、その各計数データを保持するものである。
次にステップ７において、ステップ６で作成した水平方向の黒ドット数計測配列データに基づいて、壁の抽出（認識）処理を行なう。その処理手順については後述する。
【００７３】
ステップ８では、ステップ６と同様に垂直方向の黒ドット数計測配列データを作成する。すなわち、画像データの水平方向の１ドット幅毎に垂直方向の黒ドット数を計数（計測）し、その各計数データを保持する。ステップ９では、その垂直方向の黒ドット数計測配列データに基づいて壁の抽出（認識）処理を行なう。
【００７４】
そして、ステップ１０において領域を分割する壁候補があるかどうかを判断する。ここで、水平あるいは垂直方向で１つでも領域を分割する壁候補があれば、ステップ１１へ、１つもそのような壁候補がなければ、ステップ１３へ進む。
【００７５】
例えば、図９の（ａ）に示すような調査対象領域Ｓａ内に領域を分割する壁候補Ｗｄが存在するかどうかを判断する。
ステップ１１では、ネスト変数を＋１して再設定する。これは、現在の解析領域の中から壁を認識し、その壁を使って新たに区切られた現在の領域内の小領域に解析範囲を限定する段階に入ることを表わす。
【００７６】
そして、ステップ１２において、その調査対象の領域の細分化を行なう。具体的には、ステップ７，ステップ９で認識した壁候補の芯線（中心線）で、例えば図９の（ａ）に示すように調査対象領域を壁候補Ｗ，Ｗｄの細線で示す芯線によって領域Ｓａ１，Ｓａ２に２分割する。さらに、その最初の細分化領域（例えば最も左上の領域）に調査対象の位置づけを行なう。
【００７７】
この新たに細分化された領域群の中での解析の順番には特別な順序が必要になる訳ではないが、例えば、領域開始位置のｘ，ｙ座標値の小さい順番に行なうことなどが考えられる。図９の（ｂ）は、壁候補によって細分化された各領域のネストＮo.とその解析処理順序の一例を示し、実線は壁候補の芯線（中心線）を、▲１▼，▲２▼，▲３▼はネストＮo.を、１〜８の小さい数字は処理順序をそれぞれ示している。
【００７８】
その後、ステップ５に戻って上述の処理を繰り返し行なう。
ステップ１０において、領域を分割すべき壁候補が１つもなかった場合は、ステップ１３に進んで同次ネスト領域（図９の（ｂ）で同じネストＮo.の領域）の残りがないかどうかを判断する。残りがある場合は、ステップ１５において同次ネストの次の領域に調査対象を進めてステップ５に戻る。
【００７９】
同次ネスト領域の残りがない場合は、ステップ１４へ進んでネスト変数が０であるかどうかを判断する。ネスト変数が０でない場合は、ステップ１６においてネスト変数を−１して１段階上位のネスト領域の処理に戻り、ステップ１３でその段階の残りのネスト領域があるかどうかを判断する。あればステップ１５で次のネスト領域に調査対象を進めてステップ５に戻る。
【００８０】
ステップ１４でネスト変数が０の場合は、ステップ１７へ進んで、ステップ７，９によって得られた各領域毎の壁候補の認識データをもとに各壁の位置及びサイズを確定し、その壁認識データをメモリ４に格納する。その格納方法については後述する。以上の処理の後、当該サブルーチンを終了する。
【００８１】
次に図７に基づいて、図６のステップ７及び９の壁の抽出（認識）処理の手順を説明するが、それに先立って、建築図面（家屋の間取り図）の画像データとその全領域から作成した水平及び垂直方向の黒ドット数計測配列データの具体例を図１０及び図１１に示す。これらの図において、（ａ）は建築図面の画像データ、（ｂ）は水平方向の黒ドット数計測配列データ、（ｃ）は垂直方向の黒ドット数計測配列データである。さらに、図１０の（ｃ）に示した垂直方向の黒ドット数計測配列データを拡大して図１２に示す。
【００８２】
図１０の建築図面では、壁のシンボルが壁の両面と芯線によって表わされており、図１１の建築図面では、壁のシンボルが壁の厚さ内の塗りつぶし（黒）によって表わされている。
この黒ドット数計測配列データにおいて、一番細い黒線の幅が１ドット幅であり、各黒線の長さが（ａ）に示す建築図面の画像データの１ドット幅毎の水平方向又は垂直方向の黒ドット数の計数値に相当する。
【００８３】
これらの図から明らかなように、建築図面を構成する線分の大部分(９０％以上）は水平方向又は垂直方向に描かれており、特に壁の部分で黒ドットの密度が高くなっている。そのため、水平方向及び垂直方向の黒ドット数計測配列データには、壁が存在する位置にピークが表われることになる。
【００８４】
図７のフローの処理を開始すると、まずステップ２１において、指定方向とクロスする方向（水平方向の黒ドット数計測配列データ作成の指定であれば垂直方向に、また垂直方向の指定であれば水平方向に）に、建築図面の基準の単位長に相当する所定間隔ごとに何回壁認識処理のループが可能かを確認する。
ここで、この単位長は一般の住宅の場合にはその最小壁間隔である半間あるいは１メートルであり、ここでは半間（９１ｃｍ）とする。
【００８５】
そして、水平方向の黒ドット数計測配列データに対しては垂直方向の画像幅より若干長い寸法を幅サイズＬとし、垂直方向の黒ドット数計測配列データに対しては水平方向の画像幅より若干長い寸法を幅サイズＬとして自動設定する。
また、半間サイズをｈとし、この値は予め図面の縮尺データ及び半間長を入力するか又は計算による自動算出などにより決定する。
この幅サイズＬと半間サイズをｈからＬ／ｈを算出して小数点以下は切上げた数値を壁認識処理の大ループの実行回数ｎとする。図１２にｈで示す範囲が１回の大ループでの処理範囲である。
【００８６】
次いで、ステップ２２で大ループの回数カウンタのカウント値ｉの初期設定（ｉ←１）を行なう。
そして、ステップ２３において回数カウンタのカウント値ｉが可能な大ループの実行回数ｎを超えた（ｉ＞ｎ）かどうかを判定する。超えていれば、当該領域の解析を終了する。超えていなければ、ステップ２４において当該ｉ番目の半間内の最初の解析処理として最高ピーク（図１２にＰで示す）に位置付け、その点をｘｐとする。このように半間毎に解析処理することにより、その中のピーク値が壁の一部である可能性が高いことになる。
【００８７】
次に、ステップ２５において壁の対象としての最初の条件であるピーク（極大値）の高さが半間（ｈ）以上かどうかを判定する。その結果、ピークの高さが半間未満の場合には壁の認識不明として、次の半間先の解析に移るためにステップ３４に進む。ピークの高さが半間以上ある時には次の解析ステップ２６に移行する。このステップ２６において、最高ピークの位置から左右両側（例えば、２Ｗ幅）を調べて、壁の厚みの範囲（両面の位置：Ｗ１，Ｗ２)及び厚みＷｅ＝｜Ｗ１−Ｗ２｜の絞り込みを行なう。ここでＷは壁の厚みの意味で、例えばＷmax と同じ値で使用する。
【００８８】
この絞り込み方法としては、（最高ピーク値−min）* rate＋min
以上の値を持つ最高ピーク位置の両端又は片側のピーク位置を、壁の両面の位置Ｗ1，Ｗ2又は最高ピーク位置ｘｐが壁の一方の面の位置Ｗ1 であるときの他方の面の位置Ｗ2 として絞り込む方法がある。
【００８９】
図１３はこの絞り込み処理の説明図であり、（ａ）は最高ピーク位置ｘｐの両側に壁の両面の位置Ｗ1，Ｗ2が存在する場合の例である。この場合は、最高ピーク位置ｘｐは壁の芯線位置の候補と推定される。
【００９０】
図１３の（ｂ）は最高ピーク位置ｘｐが壁の一方の面の位置Ｗ1 であり、その片側に他方の面の位置Ｗ2 が存在する場合の例である。この場合は、長い方のピーク位置が図４の(ａ)に二重線で示した外輪郭の外壁位置の候補で、それに近接する短い方のピークがその内壁位置の候補と推定し得る。
【００９１】
ここで、「rate」は解析の前半(ネスト変数の値が小さい時)は小さめに、後半（ネスト変数の値が大きい時）は大きめにする(例えば、最初は rater＝０.７０とする)。「min」は図１３の(ｃ)に示すように現在注目している最大ピークＰの位置ｘｐの左右両側２Ｗに拡がった４Ｗ幅程度の幅内の黒ドット数計測データの最小値である。
【００９２】
このようにして、図７のステップ２６で絞り込んだ結果を基に、ステップ２７と２８で壁としての妥当性を確認する。
まずステップ２７においては、壁の厚みＷｅがその最大値 Ｗmax（例えば３０ｃｍ）を超えているか否かを判断し、超えている時は壁の認識不明として次の半間先の解析に移るためステップ３４に進む。超えていなければステップ２８へ進み、壁の厚みＷｅが最小値Ｗmin（例えば２.５ｃｍ）未満か否かを判断する。
【００９３】
その結果、壁の厚みＷｅが最小値 Ｗmin未満の場合はステップ３０へ進み、そうでない時はステップ２９に進む。ステップ３０においては壁以外のピーク（例えば、畳，窓，引戸など）を認識したものとしてその情報を得る。
ステップ２９においては、壁の候補となる領域から、壁としての条件を満たすかどうかを後述する２等分割探索法によって判定し、壁だと認識できたものについて、ステップ３１において当該壁の両面の位置Ｗ1，Ｗ2及び厚みＷｅなどの情報を退避（記憶）してステップ３２に進む。
【００９４】
ステップ２９で壁としての条件を満たさなければステップ３２に移行する。ステップ３２においては、壁の両面位置（座標）Ｗ1及びＷ2が共に現在処理を行なっている領域の内側かどうかを判定し、内側であればステップ３３に進む。そうでなければステップ３４に移行する。
【００９５】
ステップ３３では、現在の処理領域を細分化し、新しい細分領域を示す境界データとして、Ｗ1，Ｗ2，Ｗｅを退避（記憶）する。また、（Ｗ1＋Ｗ2）／２  がその壁の芯線位置である。ステップ３４では、次の半間先の処理を行なうために大ループの回数カウンタのカウント値ｉを＋１してから、ステップ２３に戻って上述の処理を繰り返し行なう。
【００９６】
このようにして、対象となる黒ドット数計測配列データの一端（先頭要素）から半間毎に解析処理し、反対の端まで解析が終われば、今回の範囲の解析を終了する。水平方向と垂直方向の２方向のを黒ドット数計測配列データに対して別々に解析し、次回の解析範囲は、今回の解析で壁と認識できた範囲に限定する。
そのため、水平及び垂直方向の黒ドット数計測配列データを解析した結果を組み合わせて、総当たりの場合分けを行なう。
【００９７】
この実施例では、壁の芯線位置は隣の壁との間隔が半間単位の整数倍になるように配置されているとみなす。
そして、特徴的なピークが発見できる範囲までを解析データとして有効に使用する。逆に云えば、解析対象とするある範囲内に壁に相当する特徴が、水平方向及び垂直方向の両方合わせても一つも発見できなかったときは解析を終了する。１回の解析範囲は、最初は図面全体を対象にし、以後発見された壁で区切られた範囲に限定し直す方法をとって、壁のピークが発見されやすくし、且つ細部までの解析が容易になるようにする。
【００９８】
次に、図７のステップ２９において「壁としての条件を満たすか」を判断する２等分割探索法について、図８のフロー図によって説明する。
この図８に示すフローの処理を開始すると、まずステップ４１において、２等分割探索法の初期設定を行なう。
すなわち、壁分析のための領域分割要素数ｎを１にし、壁部か非壁部かが未確定である分割要素の配列要素の最も小さいＮo.を指すｋを０に、また、調査領域の分割配列要素として、Ｓ〔０〕，Ｅ〔０〕それぞれに入力のスタート及びエンド画像アドレスを代入して初期設定とする。
【００９９】
その後、ステップ４２に進み、調査領域の開始アドレスＳ〔ｋ〕と終了アドレスＥ〔ｋ〕が等しければステップ５３に移行し、等しくなければステップ４３に進む。ステップ４３においてはイメージ画像データの対象領域の分割処理を行ない、元の領域を小数以下の誤差を除いて２等分割する。
【０１００】
すなわち、分割する前半の領域のスタート及びエンド画像アドレスＳ１，Ｅ１を、Ｓ１＝Ｓ〔ｋ〕，Ｅ１＝(１／２)（Ｓ〔ｋ〕＋Ｅ〔ｋ〕）とし、後半の領域のスタート及びエンド画像アドレスＳ２，Ｅ２を、Ｓ２＝(１／２)（Ｓ〔ｋ〕＋Ｅ〔ｋ〕）＋１，Ｅ２＝Ｅ〔ｋ〕とする。
【０１０１】
それによって、例えば図１４に示すように、建設図面のイメージ画像データ中において、壁候補が存在する線（一点鎖線で示す）の元の領域幅を最初は１の位置で２等分割する。その後壁の有無を判別できるまで、順次図１４に示す２の位置２で２回目、３の位置で３回目、４の位置で４回目というように２等分割を繰り返して細分化した領域でステップ４４及び４５の壁調査を行なうようにする。ステップ４４及び４５においては、２等分割したそれぞれの領域Ｐ１，Ｐ２が壁で満たされているかどうかを調査し、ステップ４６に進む。
【０１０２】
ここでは、指定された領域（スタートアドレスからエンドアドレスまで）の黒ドット数計測配列データを分析した結果、黒ドットのピーク（壁の厚みの広がりを保って）高さが、指定された領域の幅（長さ）と比較して次の▲１▼〜▲３▼の判断をする。
【０１０３】
▲１▼：５％以下のとき、  ｖ＝０：非壁部と判断
▲２▼：９５％以上のとき、ｖ＝１：壁部と判断
▲３▼：上記以外のとき、  ｖ＝２：どちらとも判断できない
これを図に示すと図１５に▲１▼，▲２▼，▲３▼で示すようになる。
【０１０４】
ステップ４６においては、ステップ４３で分割された前半の領域Ｐ１について、壁が存在するかどうか判断できない（ｖ１＝２）場合はステップ４７に進み、そうでなければステップ４９に進む。ステップ４７においては、ステップ４３によって分割する前の領域範囲の格納配列要素Ｓ〔ｋ〕，Ｅ〔ｋ〕，ｖ〔ｋ〕を、ステップ４３で分割された後半の領域データ（スタート及びエンド画像アドレスＳ２，Ｅ２と判定結果ｖ２）で置き換える。
【０１０５】
ステップ４８においては、新しい格納配列要素Ｓ〔ｎ〕，Ｅ〔ｎ〕，ｖ〔ｎ〕として、ステップ４３で分割された前半の領域データ（スタート及びエンド画像アドレスＳ１，Ｅ１と判定結果ｖ１）を退避し、ステップ５１に移行する。
ステップ４９においては、ステップ４３によって分割する前の領域範囲の格納配列要素Ｓ〔ｋ〕，Ｅ〔ｋ〕，ｖ〔ｋ〕を、ステップ４３で分割された前半の領域データ(スタート及びエンド画像アドレスＳ１，Ｅ１と判定結果ｖ１)で置き換える。
【０１０６】
ステップ５０においては、新しい格納配列要素Ｓ〔ｎ〕，Ｅ〔ｎ〕，ｖ〔ｎ〕として、ステップ４３で分割された後半の領域データ（スタート及びエンド画像アドレスＳ２，Ｅ２と判定結果ｖ２）を退避し、ステップ５１に移行する。
ステップ５１では、領域アドレスの新しい格納配列要素を示せるように新しい格納配列要素Ｎo.を示す変数ｎを＋１してから、ステップ５２に進む。
【０１０７】
ステップ５２においては、壁部か非壁部かが未確定である分割要素の最も小さいＮo.を指すｋ要素内の分類コードｖが壁が存在するかどうか判らない内容（ｖ［ｋ］＝２）の場合は、ステップ４２に戻って更に細分割する処理を繰り返す。そうでない場合はステップ５３に進む。
ステップ５３では、壁が存在するかどうか判らない内容が一つ解決したとして、その指標ｋを＋１してからステップ５４に進む。
【０１０８】
ステップ５４においては、壁分析のための領域分割要素数ｎと、壁部か非壁部かが未確定である分割要素の配列要素の最も小さいＮo.を指すｋとが、等しくなっているかどうか判定し、等しければ壁認識のための分割処理が終了したと判断してステップ５５へ進む。等しくなければステップ５２へ戻る。
【０１０９】
ステップ５５においては、分割された領域アドレス・データ（配列）が上昇順に並ぶよう、スタートアドレス順（昇順）にソートを実行してステップ５６に移行する。すなわち、Ｓ〔０〕〜Ｓ〔ｎ−１〕，Ｅ〔０〕〜Ｅ〔ｎ−１〕，ｖ〔０〕〜ｖ〔ｎ−１〕のデータをＳ〔  〕をキーにして昇順にソートする。
【０１１０】
ステップ５６においては、壁部分及び非壁部分が連続している場合は、それぞれ縮退処理（一つの範囲で表現）して終了する。すなわち、連続したｖ〔  〕値が０又は１の状態の場合は、Ｓ〔  〕，Ｅ〔  〕データを圧縮する。
なお、この時に、壁が存在するかどうか判らない内容（ｖ＝２）の配列要素を含む場合は、その要素の前後の要素が壁を示している場合には壁データに変更し、また、非壁を示している場合には非壁データに変更して処理する。
【０１１１】
上述した二等分割探索処理による画像データ中の壁位置の分析例を図１６に示す。この図１６の（ａ）には壁のイメージ画像（斜線を施した部分）Ｗとその調査対象領域を破線で示しており、この調査領域は先に認識された壁候補の存在位置に沿って設定される。そして、Ｓ〔０〕＝０がその調査領域の最初のスタートアドレス、Ｅ〔０〕＝１５が最初のエンドアドレスである。４，５，７等の途中の数字は分割後の対象領域のスタート又はエンドアドレス（いずれも画像アドレス）である。
【０１１２】
図１６の（ｂ）には変数ｎ＝１〜１０の各調査段階における各対象領域のスタートアドレスＳ，エンドアドレスＥ，及び壁の有無に関する判断結果ｖとその確定状況、ソート状況、並びに縮退処理結果をｋの値と共に示している。そして、最終的には画像アドレス５〜１２に壁が存在することを認識している。
【０１１３】
次に、図１７によって簡単な建築図面の壁認識例を説明する。
この図１７には、ネスト変数（ｎｅｓｔ）と、領域分割状態と認識された実際の壁の状態とを示している。
まず、ネスト変数＝０で建築図面の全体を壁位置の調査対象として壁の抽出を行なう。その結果（Ａ）に実線で示すように建築図面の家屋部の輪郭と水平及び垂直方向の壁候補の位置を認識できたとする。しかし、その認識できた壁候補のうち実際の壁は（ａ）に示す部分だけであるが、それはまだ判らない。
【０１１４】
そこで次に、ネスト変数＝１にして、（Ａ）に示す認識できた壁候補の芯線で区切られた各矩形領域毎に調査対象領域を限定して壁の抽出を行なう。それによって（Ｂ）に▲１▼，▲２▼，▲３▼，▲４▼で示す４つの調査対象領域で新たに太線で示す壁候補が認識されると共に、先に認識された壁候補のうち、実際の壁は（ａ）に示された部分だけであったことが確認され、（ｂ）に示す壁の状態が認識される。
【０１１５】
さらに、ネスト変数＝２にして、（Ｂ）において新たな壁候補が認識された４つの領域▲１▼〜▲４▼をそれぞれその新たに認識された壁によって分割して、調査対象領域をさらに限定して壁の抽出を行なう。それによって、（Ｃ）に▲５▼，▲６▼で示す２つの調査対象領域で新たに太線で示す壁候補が認識され、（ｃ）に示す壁の状態が認識される。
【０１１６】
その後、ネスト変数＝３にして、（Ｃ）において新たな壁候補が認識された２つの領域▲５▼，▲６▼をそれぞれその新たに認識された壁によって分割して、調査対象領域をさらに限定して壁の抽出を行なう。その結果いずれの分割領域でも新たな壁候補を抽出できなかった場合には、それによって壁位置の調査を終了し、（ｃ）に示す壁位置が最終的な壁認識結果であることが確定し、そのデータをメモリに格納する。
【０１１７】
このように、分割した各調査対象領域のいずれでも新たな壁候補が抽出されなくなるまで、調査対象領域を細分化して壁の抽出を行なう。それによって、小さな壁でも確実に認識することができ、且つ壁候補のうち実際には壁が存在する部分と存在しない部分とを正確に判別することができる。
【０１１８】
ここでさらに、前述した図６のフローチャートに従った具体的な建築図面の認識処理手順の例を、図１８乃至図２０によって説明する。図１８乃至図２０は一連の図であるが、図示の都合上３枚の図に分割して示している。これらの図におけるＳ３〜Ｓ１７は、図６のＳ３〜Ｓ１７の各ステップに対応している。また、各段階での領域分割図と実壁状態も図示している。
【０１１９】
以下の説明ではステップを「Ｓ」と略称する。図１８のＳ３で図面全体を調査対象とし、Ｓ４でネスト変数を０にする。Ｓ５で調査対象の限定を行なうがネスト変数が０なのでやはり図面全体を調査対象とする。Ｓ６〜Ｓ７で水平方向の黒ドット数計測配列データを作成して壁を抽出するが、輪郭以外の壁を発見できず、Ｓ８〜Ｓ９で垂直方向の黒ドット数計測配列データを作成して壁を抽出し、輪郭以外の壁を２か所に発見する。したがって、Ｓ１０でＹＥＳになり、Ｓ１１でネスト変数を１にし、Ｓ１２で領域の細分化（各壁の位置で）をしてＳ５へ戻り、調査対象領域を一番左の領域に限定する。
【０１２０】
そして、Ｓ６〜Ｓ７で壁を２か所に発見し、Ｓ８〜Ｓ９では壁を発見できなかったがＳ１０ではＹＥＳになり、Ｓ１１でネスト変数を２にして「入れ子処理」を、図１９のＳ１４でＮＯになり入れ子処理を終了するまで繰り返し実行し、左側の縦長の領域を新たに発見された２つの壁によって区切った３つの分割領域に対して、順次壁の抽出処理を行なう。
【０１２１】
この例ではそれによって新たな壁は発見されず、図１９のＳ１６でネスト変数を−１して１に戻し、真中の縦長の領域を調査対象領域として同様に壁の抽出を行なうが、この例では新たな壁候補は発見されない。
そこで、Ｓ１５，Ｓ５で右側の縦長の領域に調査対象領域を変更し、Ｓ６〜Ｓ７で壁を１ケ所発見する。
【０１２２】
そこで、図２０のＳ１０でＹＥＳになり、Ｓ１１でネスト変数を２にして「入れ子処理」を開始し、右側の縦長の領域を新たに発見された壁によって分割し、その各分割領の壁抽出処理を順次行なう。その結果、いずれの分割領域でも新たな壁は発見されず、Ｓ１３でＮＯになり入れ子処理を終了し、Ｓ１６でネスト変数を−１して１にするが、ネスト変数１の領域は残っていないので、さらにネスト変数を０に戻すが、その領域も残っていない。そのため、壁抽出の処理は完了したと判断し、Ｓ１７で抽出された壁候補の認識データにより各壁の位置及びサイズを確定し、そのデータをメモリに格納する。
【０１２３】
次に、上述のようにして認識した建築図面の輪郭及び骨格に相当する壁の位置及びサイズ等の情報（解析結果データ）を図１に示したメモリ４及び外部記憶装置１１の記憶媒体に格納する内容の一例について、図２１によって説明する。
図２１において、（Ａ）はネスト数、（Ｂ）は固有ネスト情報、（Ｃ）水平方向の壁情報、（Ｄ）は垂直方向の壁情報、（Ｅ）は水平な壁のモデル、（Ｆ）は垂直な壁のモデルを示す。
【０１２４】
ネスト数は、子ネストポインタの入れ子（親子関係）の深さを示し、壁が全然認識されなかった場合は、ネスト数＝０である。
固有ネスト情報は、ネストＮo.，ＮＥＸＴ兄弟ポインタ，子ネストポインタ，壁数（水平方向及び垂直方向），壁情報ポインタ（水平方向及び垂直方向）からなる。
【０１２５】
ＮＥＸＴ兄弟ポインタは、同時階層ネスト情報の次のアドレスを持つ。したがって、このポインタが示す場所の固有ネスト情報内のネストＮo.は、当該処理のものと同じ値である。
子ネストポインタは、一階層下の階層ネスト情報の先頭データのアドレスを持つ。したがって、このポインタが示す場所の固有ネスト情報内のネストＮo.は、当該処理のものに＋１した値である。
【０１２６】
（Ｂ）に示す固有ネスト情報中の水平方向の壁情報ポインタが示すアドレスを先頭アドレスとして、（Ｃ）に示す水平方向の壁情報が格納される。
その壁情報は、次の水平方向の壁情報の先頭アドレスの位置を示すＮＥＸＴポインタ、壁の始点座標（ｘ座標：ａ，ｙ座標：ｂ）、壁の横（ｘ方向）サイズ：ｃ、壁の縦（ｙ方向）サイズすなわち壁の厚み：ｄからなる。これらのａ〜ｄによって（Ｅ）に示す水平な壁のモデルを記憶し、またそれを再現することができる。
【０１２７】
同様に、固有ネスト情報中の垂直方向の壁情報ポインタが示すアドレスを先頭アドレスとして、（Ｄ）に示す垂直方向の壁情報が格納される。
その壁情報は、次の垂直方向の壁情報の先頭アドレスの位置を示すＮＥＸＴポインタ、壁の始点座標（ｘ座標：ｅ，ｙ座標：ｆ）、壁の縦（ｙ方向）サイズ：ｇ、壁の横（ｘ方向）サイズすなわち壁の厚み：ｈからなる。これらのｅ〜ｈによって（Ｆ）に示す垂直な壁のモデルを記憶し、またそれを再現することができる。
【０１２８】
ところで、実際の建築図面の画像データに対して、その図面全体を調査対象領域として水平方向及び垂直方向の黒ドット数計測配列データを作成した例を図１０及び図１１に示したが、その黒ドット数計測配列データに基づいて壁候補を認識した次の段階で、その図面の領域を認識した壁候補によって分割し、調査対象領域を限定した画像データに基づく水平及び垂直方向の黒ドット数計測配列データの作成例を、図２２乃至図２４に示す。
【０１２９】
図２３及び図２４は、図２２よりさらに調査対象領域を細分化した例である。このようにして、新たな壁候補が発見されなくなるまで、調査対象領域を細分化して、その画像データによる水平及び垂直方向の黒ドット数計測配列データを作成し、壁の抽出を行なう。
【０１３０】
なお、この実施形態ではポジ画像の建築図面を認識対象としたので、その２値化した画像データの水平及び垂直方向の黒ドット数を計測（カウント）して黒ドット数計測配列データを作成したが、ネガ画像の建築図面を認識対象とする場合には、その２値化した画像データの水平及び垂直方向の白ドット数を計測（カウント）して白ドット数計測配列データを作成すれば、壁の認識を同様に行なうことができる。
【０１３１】
また、上述のようにして認識した建築図面の輪郭及び骨格に関する認識データは、ＣＡＤ用ベクトルデータに変換をすることができ、異機種間のＣＡＤデータの互換性を得ることができる。
【０１３２】
さらに、前述したこの発明による「押入れ」の認識において、簡易表現１の場合は、黒ドットからなる部分の輪郭から「押入れ」に該当する大きさの矩形閉ループを抽出し、その矩形閉ループ毎に妥当性をチェックして、「押入れ」認識を行なう。そして、図面全体の間取り認識処理や建具の認識などと組み合わせて、部屋内の押入れあるいは物入れ（収納部）、廊下に面した物入れ（収納部）などの認識も可能になる。
【０１３３】
さらに、簡易表現２及び３について、その矩形閉ループ毎の対角線に注目し、斜め直線方向に所定ドット数を計測することによって、射影特徴を抽出し、それによって多少の途切れやノイズのある斜め直線も認識処理を行なうので、次に示すような利点がある。また、斜め直線が細く弱々しい場合には、当該領域の黒又は白ドットに注目した画像膨張を行ってから射影特徴を抽出すれば、その斜め直線の認識が可能となる。
【０１３４】
（利点１）大きさを勘案した矩形領域と、その中の対角線記述の認識を行うことによって、「押入れ」の記述を確実に認識できる。
（利点２）定規などを使用せずにフリーハンドで記述された図面でも、水平及び垂直方向に限らず斜め直線も含めて直線の揺らぎを相殺すると、矩形領域が水平及び垂直方向への正対性がよければ認識することができる。
【０１３５】
なお、手書き図面で家図面の正対方向のスキュー補正が困難な場合、手書き図面を方眼紙に記述して、スキュー補正はその方眼紙のマス目を利用して行なうようにするとよい。
また、やむをえず利用者の手作業に委ねる場合、スキャナ読み込み時にできるだけスキュー補正が不要な正対する図面を作成するように注意を促すマニュアルを添えるとよい。
【０１３６】
【発明の効果】
以上説明してきたように、この発明の建築図面認識方法及び認識装置によれば、従来正確な認識が困難であった線が途切れたり直線が多少傾いて記載された手書き図面や、青焼きなどの比較的コントラストが低い図面、ノイズの多い図面あるいは古い建築図面など、記載状態や画質の悪い建築図面でも、簡単にその輪郭，骨格を形成する壁及び「押入れ」を精度よく認識することができる。
【０１３７】
特に、最初に図面全体に対して認識した輪郭及び骨格に基づいて、その認識対象を細分化するようにその対象範囲を限定し、その範囲毎に建築図面のイメージ画像データの水平方向及び垂直方向の黒又は白ドットの数計測配列データを作成し、その両方向のドット数計測配列データに基づいて上記限定した各範囲内の建築図面の輪郭及び骨格を認識することを、新たな輪郭又は骨格を認識できなくなるまで繰り返すようにすれば、短い壁等の骨格をも確実に認識でき、且つ実際には存在しない部分の輪郭や骨格を誤認識する恐れもなくなる。それによって、壁に囲まれた押入れの候補となる矩形の閉ループ（縦横のサイズが押入れの許容範囲のもの）を確実に抽出することができ、押入れの認識精度も高くなる。
【０１３８】
また、その認識したデータをパソコンなどに取り込んで利用すれば、増改築の際の見取り図などの建築図面を容易且つ迅速に作成することが可能になる。
さらに、建築図面のイメージデータをランレングス符号化した画像データとしてＦＡＸ通信等によって入力し、その建築図面の輪郭及び骨格と押入れを認識することもできる。
【０１３９】
さらに、輪郭及び骨格の認識結果と押入れの認識結果を表示することにより、その認識結果を確認し、確定することができる。その場合、入力した建築図面のイメージ画像データを認識結果と同時にあるいは選択的に表示することにより、その表示内容を比較検討して、誤認識箇所や認識できなかった部分を見つけることができる。入力したイメージ画像データと認識結果とを重ね合わせて表示すれば、誤認識箇所や認識できなかった部分の発見及びその修正が一層容易になる。
【図面の簡単な説明】
【図１】この発明による建築図面認識方法を実施する建築図面認識装置の一例の概略構成を示すブロック図である。
【図２】図１の表示部９における再マッピングされた輪郭・骨格（壁）認識結果の画像データの表示例を示す図である。
【図３】同じくスキュー補正された建築図面の入力画像データを図１に示した認識結果の画像データと重ね合わせて表示した例を示す図である。
【図４】建築図面における外輪郭，外壁，内壁及び骨格の定義を説明するための図である。
【図５】図１に示した建築図面認識装置による建築図面認識処理のメインルーチンを示すフローチャートである。
【図６】図５におけるステップＡの壁の位置の認識処理のサブルーチンの詳細を示すフロー図である。
【図７】図６におけるステッブ７及び９の壁の抽出（認識）処理のサブルーチンのフロー図である。
【図８】同じく壁の位置を認識する２等分探索法を実行処理するフロー図である。
【図９】調査対象領域内の壁候補とそれによる領域分割例及び壁候補によって細分化された領域群のネストＮｏ．とその解析処理順序の一例を示す説明図である。
【図１０】建築図面（家屋の間取り図）の画像データとその全領域から作成した水平及び垂直方向の黒ドット数計測配列データの具体例を示す図である。
【図１１】同じくその他の具体例を示す図である。
【図１２】図１０の（ｃ）に示した垂直方向の黒ドット数計測配列データを拡大して示す図である。
【図１３】図７のステップ２６におけるピークの両側又は片側に壁の両面を絞り込む処理の説明図である。
【図１４】図８のステップ４３における領域幅の分割処理の説明図である。
【図１５】図８のステップ４４，４５における対象領域の壁調査による判断の説明図である。
【図１６】図８に示した２等分割探索処理による壁のサンプル（壁候補）の分析例を示す説明図である。
【図１７】この発明による簡単な建築図面の壁認識例の説明図である。
【図１８】図６のフローチャートに従った具体的な建築図面の認識処理手順の例を示す説明図である。
【図１９】図１８の続きの説明図である。
【図２０】図１９の続きの説明図である。
【図２１】解析結果データのメモリへの格納内容の一例を示す説明図である。
【図２２】図１０に示した建築図面の調査対象領域を限定した画像データとそれに基づく水平及び垂直方向の黒ドット数計測配列データの例を示す図である。
【図２３】図２２より調査対象領域をさらに限定した画像データとそれに基づく水平及び垂直方向の黒ドット数計測配列データの例を示す図である。
【図２４】図２２より調査対象領域をさらに限定した他の部分の画像データとそれに基づく水平及び垂直方向の黒ドット数計測配列データの例を示す図である。
【図２５】図１の表示部９における再マッピングされた建築図面の入力画像データーの表示例を示す図である。
【図２６】図２５の入力画像データから認識した輪郭・骨格（壁）の芯線と押入れの位置を示す図である。
【図２７】建築図面に記述される「押入れ」の簡易表現１，２，３の説明図である。
【図２８】建築図面（家屋の間取り図）の中から「押入れ」に該当する画像データとその矩形閉ループで囲まれた領域から作成した一方の対角線方向の黒ドット数計測配列データの具体例を示す図である。
【図２９】同じく「押入れ」に該当する画像データとその矩形閉ループで囲まれた領域から作成した他方の対角線方向の黒ドット数計測配列データの具体例を示す図である。
【符号の説明】
１：全体制御部（ＣＰＵ）    ２：画像読取部
３：通信制御部              ４：メモリ
５：自動スキュー補正部
６：ドット数計測配列データ作成部
７：輪郭・骨格認識部        ８：再マッピング制御部
９：表示部                １０：操作入力部
１１：外部記憶装置        １２：印刷装置
１３：押入れ認識部        １４：バス
【図１】
0003658468.tif 000004
【図２】
0003658468.tif 000005
【図３】
0003658468.tif 000006
【図４】
0003658468.tif 000007
【図５】
0003658468.tif 000008
【図６】
0003658468.tif 000009
【図７】
0003658468.tif 000010
【図８】
0003658468.tif 000011
【図９】
0003658468.tif 000012
【図１０】
0003658468.tif 000013
【図１１】
0003658468.tif 000014
【図１２】
0003658468.tif 000015
【図１３】
0003658468.tif 000016
【図１４】
0003658468.tif 000017
【図１５】
0003658468.tif 000018
【図１６】
0003658468.tif 000019
【図１７】
0003658468.tif 000020
【図１８】
0003658468.tif 000021
【図１９】
0003658468.tif 000022
【図２０】
0003658468.tif 000023
【図２１】
0003658468.tif 000024
【図２２】
0003658468.tif 000025
【図２３】
0003658468.tif 000026
【図２４】
0003658468.tif 000027
【図２５】
0003658468.tif 000028
【図２６】
0003658468.tif 000029
【図２７】
0003658468.tif 000030
【図２８】
0003658468.tif 000031
【図２９】
0003658468.tif 000032