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