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