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