(57)【特許請求の範囲】
【請求項１】
レンジデータから３次元形状を算出し、３次元モデルを生成する方法であって、
レンジデータから得られる距離情報から、対象点と当該対象点について座標軸方向の前後に隣接する２点を含む連続する４点の当該座標軸方向の高低差を算出し、その高低差が規定した第１のパターンである「平ら、のぼり、平ら」、または第２のパターンである「平ら、下り、平ら」のいずれかに該当するパターンである場合、その対象点に対し、各座標軸方向のパターンが前記第１または第２のパターンのいずれであるかの情報と当該対象点の位置情報とを含む情報である、形状のエッジに関する特徴量を算出し設定するエッジ特徴量算出処理手順と、
前記算出された形状のエッジに関する特徴量から、当該特徴量が設定された点に囲まれる領域に含まれる対象点を探索し、該探索した対象点のうち前記形状のエッジに関する特徴量が設定されていない対象点に対し、各座標軸方向のパターンが第３のパターンである旨の情報と当該対象点の位置情報とを含む情報である、対象点の領域に関する特徴量を算出し設定する領域特徴量算出処理手順と、
前記算出された形状のエッジに関する特徴量、及び前記算出された対象点の領域に関する特徴量から、当該形状とその閉領域を抽出する形状抽出処理手順と、
前記形状抽出処理手順にて抽出された形状の閉領域に含まれる対象点に対して、当該閉領域内のレンジデータから、対象点と当該対象点について座標軸方向に隣接する点を含む連続する２点の当該座標軸方向の高低差を算出し、その高低差が規定した第４のパターンである「平ら」、第５のパターンである「のぼり」、または第６のパターンである「下り」のいずれに該当するかを調べ、その結果に基づき、各座標軸方向のパターンが前記第４、第５、または第６のパターンのいずれであるかの情報と当該対象点の位置情報とを含む情報である、勾配に関する特徴量を算出し設定する勾配特徴量算出処理手順と、
前記算出された勾配に関する特徴量から前記閉領域の分割を行い、得られた形状に基づき３次元形状を算出して３次元モデルを生成する形状整形処理手順と、を備える
ことを特徴とする３次元モデル生成方法。
【請求項２】
前記形状抽出処理手順では、
前記各座標軸方向のパターンが共に同じである特徴量を有する点の集合を一単位として形状を構成する直線を算出し、前記領域特徴量算出処理手順にて算出された対象点の領域に関する特徴量を利用して前記算出された直線群から同じ形状を構成する直線を抽出する
ことを特徴とする請求項１に記載の３次元モデル生成方法。
【請求項３】
前記形状整形処理手順では、
前記勾配特徴量算出処理手順にて算出された勾配に関する特徴量を分類し、該分類された同じ勾配に関する特徴量を有する対象点から構成される領域の最外郭点を抽出し、その点の分布を示す近似直線を算出し、該直線と前記形状抽出処理手順にて算出された形状を構成する直線に対して、閾値を満たし同じ直線とみなすことができるものを統合して該形状の整形を行う
ことを特徴とする請求項１または請求項２に記載の３次元モデル生成方法。
【請求項４】
レンジデータから３次元形状を算出し、３次元モデルを生成する装置であって、
レンジデータから得られる距離情報から、対象点と当該対象点について座標軸方向の前後に隣接する２点を含む連続する４点の当該座標軸方向の高低差を算出し、その高低差が規定した第１のパターンである「平ら、のぼり、平ら」、または第２のパターンである「平ら、下り、平ら」のいずれかに該当するパターンである場合、その対象点に対し、各座標軸方向のパターンが前記第１または第２のパターンのいずれであるかの情報と当該対象点の位置情報とを含む情報である、形状のエッジに関する特徴量を算出し設定するエッジ特徴量算出処理手段と、
前記算出された形状のエッジに関する特徴量から、当該特徴量が設定された点に囲まれる領域に含まれる対象点を探索し、該探索した対象点のうち前記形状のエッジに関する特徴量が設定されていない対象点に対し、各座標軸方向のパターンが第３のパターンである旨の情報と当該対象点の位置情報とを含む情報である、対象点の領域に関する特徴量を算出し設定する領域特徴量算出処理手段と、
前記算出された形状のエッジに関する特徴量、及び前記算出された対象点の領域に関する特徴量から、当該形状とその閉領域を抽出する形状抽出処理手段と、
前記形状抽出処理手段にて抽出された形状の閉領域に含まれる対象点に対して、当該閉領域内のレンジデータから、対象点と当該対象点について座標軸方向に隣接する点を含む連続する２点の当該座標軸方向の高低差を算出し、その高低差が規定した第４のパターンである「平ら」、第５のパターンである「のぼり」、または第６のパターンである「下り」のいずれに該当するかを調べ、その結果に基づき、各座標軸方向のパターンが前記第４、第５、または第６のパターンのいずれであるかの情報と当該対象点の位置情報とを含む情報である、勾配に関する特徴量を算出し設定する勾配特徴量算出処理手段と、
前記算出された勾配に関する特徴量から前記閉領域の分割を行い、得られた形状に基づき３次元形状を算出して３次元モデルを生成する形状整形処理手段と、を備える
ことを特徴とする３次元モデル生成装置。
【請求項５】
請求項１から請求項３までのいずれかに記載の３次元モデル生成方法における手順をコンピュータに実行させるためのプログラムを、該コンピュータが読み取り可能な記録媒体に記録した
ことを特徴とする３次元モデル生成方法の実行プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、地理情報システム（ＧＩＳ：Ｇｅｏｇｒａｐｈｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｙｓｔｅｍ）などで利用される３次元図形データを作成する方法に関するものであって、特に、レンジデータから３次元形状を算出し、３次元モデルを生成する方法に関するものである。
【０００２】
【従来の技術】
近年、都市の複雑化に伴い、高層ビル、地下街、立体交差、上下水道、電気・電話・ガスなどの設備に見られるような地上や地下にまで及ぶ都市の階層化が進んできており、ＧＩＳにおいて、より高度な管理や利用をするために、従来の２次元地図ではなく、より表現能力の高い３次元地図を利用したいという要望が高まっている。
【０００３】
このような３次元地図の生成手法に関して、２次元地図の図形に高さ情報を付与することにより３次元地図を生成する技術がこれまでに開発されている。例えば、特開２０００−１１２３４５号「３次元地図の作成方法」に記載の方法は、２次元地図の図形に付与された属性情報の住所情報から抽出された階数情報や部屋番号情報を利用して、高さ情報を付与するものである。
【０００４】
これに対して、より高精度な高さ情報を利用できるように、レーザ測距装置などを利用して高さ情報を計測するという技術も開発されている。例えば、公表平１１−５０８３５９号あるいは特開平８−２１７２９号に記載の装置が開発され、比較的簡単に高さ情報を取得することができる。
【０００５】
【発明が解決しようとする課題】
しかしながら、２次元地図の図形に高さ情報を付与して３次元地図を生成する従来の技術では、これらの高さ情報は階数情報や部屋番号情報の階数、及び１階当たりの適当な高さを利用して算出されるので、高精度の高さ情報を付与することは難しい。
【０００６】
また、レーザ測距装置などを利用して計測した高さ情報には一般的に計測誤差が多く含まれている。この測定誤差の影響により、この２次元地図の図形に付与しようとする高さ情報は、他の方法で正確に測量して作成された２次元地図のような情報との間にずれが生じてしまう。そのため、この高さ情報と２次元地図データとをそのまま利用すると、実際の高さとは異なる高さ情報をもつ３次元地図データが生成されることになり、実用的に利用することが非常に難しくなっている。
【０００７】
また何より、これらの技術では元となる２次元地図データが必要となり、これらのデータが無い場合には３次元地図データを生成することができないのが現状である。
【０００８】
上述したように、従来の技術では、２次元地図データが存在しない場合には、３次元地図データを生成することは非常に難しい。このため、人手を介して３次元地図データの生成を行う必要がある。この作業はかなりの時間と経験を要するものであり、その省力化、更には自動化が強く望まれている。
【０００９】
本発明は上述したような従来の技術が有する問題点や技術的な背景に鑑みてなされたものであって、レーザ測距装置などを利用して得られるレンジデータから３次元形状を算出し、３次元モデルを生成する方法及び装置を提供することを課題とする。
【００１０】
【課題を解決するための手段】
本発明による３次元モデル生成方法は、レンジデータから３次元形状を算出し、３次元モデルを生成する方法であって、レンジデータから得られる距離情報から、対象点と当該対象点について座標軸方向の前後に隣接する２点を含む連続する４点の当該座標軸方向の高低差を算出し、その高低差が規定した第１のパターンである「平ら、のぼり、平ら」、または第２のパターンである「平ら、下り、平ら」のいずれかに該当するパターンである場合、その対象点に対し、各座標軸方向のパターンが前記第１または第２のパターンのいずれであるかの情報と当該対象点の位置情報とを含む情報である、形状のエッジに関する特徴量を算出し設定するエッジ特徴量算出処理手順と、前記算出された形状のエッジに関する特徴量から、当該特徴量が設定された点に囲まれる領域に含まれる対象点を探索し、該探索した対象点のうち前記形状のエッジに関する特徴量が設定されていない対象点に対し、各座標軸方向のパターンが第３のパターンである旨の情報と当該対象点の位置情報とを含む情報である、対象点の領域に関する特徴量を算出し設定する領域特徴量算出処理手順と、前記算出された形状のエッジに関する特徴量、及び前記算出された対象点の領域に関する特徴量から、当該形状とその閉領域を抽出する形状抽出処理手順と、前記形状抽出処理手順にて抽出された形状の閉領域に含まれる対象点に対して、当該閉領域内のレンジデータから、対象点と当該対象点について座標軸方向に隣接する点を含む連続する２点の当該座標軸方向の高低差を算出し、その高低差が規定した第４のパターンである「平ら」、第５のパターンである「のぼり」、または第６のパターンである「下り」のいずれに該当するかを調べ、その結果に基づき、各座標軸方向のパターンが前記第４、第５、または第６のパターンのいずれであるかの情報と当該対象点の位置情報とを含む情報である、勾配に関する特徴量を算出し設定する勾配特徴量算出処理手順と、前記算出された勾配に関する特徴量から前記閉領域の分割を行い、得られた形状に基づき３次元形状を算出して３次元モデルを生成する形状整形処理手順と、を備えることを特徴とする。
【００１３】
あるいは、上記３次元モデル生成方法において、前記形状抽出処理手順では、前記各座標軸方向のパターンが共に同じである特徴量を有する点の集合を一単位として形状を構成する直線を算出し、前記領域特徴量算出処理手順にて算出された対象点の領域に関する特徴量を利用して前記算出された直線群から同じ形状を構成する直線を抽出することを特徴とする。
【００１５】
あるいは、上記３次元モデル生成方法において、前記形状整形処理手順では、前記勾配特徴量算出処理手順にて算出された勾配に関する特徴量を分類し、該分類された同じ勾配に関する特徴量を有する対象点から構成される領域の最外郭点を抽出し、その点の分布を示す近似直線を算出し、該直線と前記形状抽出処理手順にて算出された形状を構成する直線に対して、閾値を満たし同じ直線とみなすことができるものを統合して該形状の整形を行うことを特徴とする。
【００１６】
また、本発明による３次元モデル生成装置は、レンジデータから３次元形状を算出し、３次元モデルを生成する装置であって、レンジデータから得られる距離情報から、対象点と当該対象点について座標軸方向の前後に隣接する２点を含む連続する４点の当該座標軸方向の高低差を算出し、その高低差が規定した第１のパターンである「平ら、のぼり、平ら」、または第２のパターンである「平ら、下り、平ら」のいずれかに該当するパターンである場合、その対象点に対し、各座標軸方向のパターンが前記第１または第２のパターンのいずれであるかの情報と当該対象点の位置情報とを含む情報である、形状のエッジに関する特徴量を算出し設定するエッジ特徴量算出処理手段と、前記算出された形状のエッジに関する特徴量から、当該特徴量が設定された点に囲まれる領域に含まれる対象点を探索し、該探索した対象点のうち前記形状のエッジに関する特徴量が設定されていない対象点に対し、各座標軸方向のパターンが第３のパターンである旨の情報と当該対象点の位置情報とを含む情報である、対象点の領域に関する特徴量を算出し設定する領域特徴量算出処理手段と、前記算出された形状のエッジに関する特徴量、及び前記算出された対象点の領域に関する特徴量から、当該形状とその閉領域を抽出する形状抽出処理手段と、前記形状抽出処理手段にて抽出された形状の閉領域に含まれる対象点に対して、当該閉領域内のレンジデータから、対象点と当該対象点について座標軸方向に隣接する点を含む連続する２点の当該座標軸方向の高低差を算出し、その高低差が規定した第４のパターンである「平ら」、第５のパターンである「のぼり」、または第６のパターンである「下り」のいずれに該当するかを調べ、その結果に基づき、各座標軸方向のパターンが前記第４、第５、または第６のパターンのいずれであるかの情報と当該対象点の位置情報とを含む情報である、勾配に関する特徴量を算出し設定する勾配特徴量算出処理手段と、前記算出された勾配に関する特徴量から前記閉領域の分割を行い、得られた形状に基づき３次元形状を算出して３次元モデルを生成する形状整形処理手段と、を備えることを特徴とする。
【００１７】
また、上記の３次元モデル生成方法における手順をコンピュータに実行させるためのプログラムを、該コンピュータが読み取り可能な記録媒体に記録したことを特徴とする。
【００１８】
本発明では、レンジデータから得られる距離情報から算出される特徴量を利用することにより、３次元形状を算出し、３次元モデルを生成する。レンジデータから得られる距離情報から対象点を含む例えば連続する４点の高低差を算出し、その高低差が或る特定のパターンを有する場合、その方向におけるパターン、及び位置を特徴量として算出することにより、レンジデータの計測誤差により生じるノイズを軽減し、非常に効率の良い高速な処理を実現する。
【００１９】
また、Ｘ方向、及びＹ方向といった座標軸方向の高低差パターンが同じである特徴量を有する点の集合を一単位として形状を構成する直線を算出すること、及び領域特徴量算出処理の手順／手段にて算出された特徴量を利用して算出された直線群から同じ形状を構成する直線を抽出することにより、形状抽出処理の手順／手段におけるノイズが軽減し、処理の高精度化、高速化を実現する。
【００２０】
また、形状抽出処理の手順／手段にて算出された形状を構成する領域に対して、レンジデータから得られる距離情報から連続する２点の高低差を算出し、Ｘ方向、及びＹ方向といった座標軸方向の勾配を平ら、のぼり、くだりに分類することにより、平面ではない複雑な勾配を有するモデルを生成する。
【００２１】
また、勾配特徴量算出処理の手順／手段にて算出された勾配を分類したものに対して同じ勾配を有する領域を構成する直線を算出すること、及び該直線と形状抽出処理の手順／手段にて算出された直線に対して、閾値を満たし同じ直線とみなすことができるものを統合して該形状の整形を行うことにより、複雑な形状を有するモデルを生成し、また、効率の良い非常に高速な処理を実現する。
【００２２】
【発明の実施の形態】
以下、本発明の実施形態例について図面を用いて説明する。
【００２３】
本発明の一実施形態例の３次元モデル生成方法を実現する装置の構成を図１に示す。
【００２４】
本実施形態例における装置は、オペレータから処理を受け付け、その処理結果を３次元モデルデータベース７ヘ格納する入出力処理手段１と、レンジデータベース８から得られる距離情報から対象点とこの対象点に隣接する点との高低差を算出し、その高低差が或る特定のパターンとなる形状のエッジに関する特徴量を算出するエッジ特徴量算出処理手段２と、前記エッジ特徴量算出処理手段２にて算出された形状のエッジに関する特徴量から、それに囲まれる領域に含まれる対象点を探索し、該対象点の領域に関する特徴量を算出する領域特徴量算出処理手段３と、前記エッジ特徴量算出処理手段２にて算出された形状のエッジに関する特徴量、及び領域特徴量算出処理手段３にて算出された対象点の領域に関する特徴量から形状を抽出する形状抽出処理手段４と、前記形状抽出処理手段４にて算出された閉領域に対して、レンジデータベース８の該領域内のレンジデータから勾配に関する特徴量を算出する勾配特徴量算出処理手段５と、前記勾配特徴量算出処理手段５にて算出された領域内の勾配に関する特徴量から該閉領域の分割を行い、該形状のモデルを算出する形状整形処理手段６と、を備えている。
【００２５】
本発明の或る一つの態様においては、３次元モデルデータベース７は、モデル形状を構成する各点の３次元座標点のデータ、及び構成面のデータを含むデータを格納する。レンジデータベース８は、格子上の点（ｉ，ｊ）に対する距離情報Ｒａｎｇｅ（ｉ，ｊ）、及びこの格子間隔、（０，０）に対応する座標値を含むデータを格納する。
【００２６】
入出力処理手段１は、オペレータからの指示により処理対象領域を受け付け、処理結果を３次元モデルデータベース７ヘ格納する。この処理は、図２に示す手順で以下のように行われる。
［ステップ１］  処理対象領域を取得する。
［ステップ２］  エッジ特徴量算出処理を行う
［ステップ３］  領域特徴量算出処理を行う。
［ステップ４］  形状抽出処理を行う。
［ステップ５］  処理対象領域を閉領域ＳｈａｐｅＲｇｎ（ｏ）毎として閾値を下げて、［ステップ２］〜［ステップ４］を再度実行する。
［ステップ６］  勾配特徴量算出処理を行う。
［ステップ７］  形状整形処理を行う。
［ステップ８］  ３次元モデルデータベースに処理結果を格納する。
【００２７】
上記の閾値は、画像毎あるいは処理対象地域毎の値として、あらかじめ決めておくとしてもよいし、取得された処理対象領域に含まれる対象点のレンジデータの分散に応じて動的に設定するとしてもよい。
【００２８】
エッジ特徴量算出処理手段２は、レンジデータから得られる距離情報から対象点に隣接する点との高低差を算出し、その高低差が或る特定のパターンとなる形状のエッジに関する特徴量を算出する。この処理は、図３に示す手順で以下のように行われる。
［ステップ１］  処理領域に含まれる対象点に対するレンジデータ、閾値を取得する。
［ステップ２］  対象点（ｉ，ｊ）に対して、（ｉ−１，ｊ）−（ｉ，ｊ）間、（ｉ，ｊ）−（ｉ＋１，ｊ）間、（ｉ＋１，ｊ）−（ｉ＋２，ｊ）間の高低差を算出する。
［ステップ３］  算出された高低差が閾値を満たすかどうかを調べ、各対象点間のＸ方向の高低関係を↑（のぼり）、↓（下り）、→（平ら）と分類する。
［ステップ４］  分類された高低関係のパターンを調べ、該当するパターンの場合、特徴量Ｆ（ｎ）＝（ｔｙｐｅ，ｓｘ，ｓｙ，ｉ，ｊ）を格納する。ｔｙｐｅは分類種別、ｓｘはＸ方向のパターン（Ｕｐ  ｏｒ  Ｄｏｗｎ  ｏｒ  Ｐｌａｎｅ  ｏｒ  Ｂｅｔｗｅｅｎ）、ｓｙはＹ方向のパターン（Ｕｐ  ｏｒ  Ｄｏｗｎｏｒ  Ｐｌａｎｅ  ｏｒ  Ｂｅｔｗｅｅｎ）、ｉ，ｊは位置を示す。→↑→となる場合には、（１，Ｕｐ，ＮＵＬＬ，ｉ，ｊ）、（１，Ｕｐ，ＮＵＬＬ，ｉ＋１，ｊ）となり、→↓→となる場合には、（１，Ｄｏｗｎ，ＮＵＬＬ，ｉ，ｊ）、（１，Ｄｏｗｎ，ＮＵＬＬ，ｉ＋１，ｊ）となる。
［ステップ５］  （ｉ，ｊ）に対して、（ｉ，ｊ−１）−（ｉ，ｊ）間、（ｉ，ｊ）−（ｉ，ｊ＋１）間、（ｉ，ｊ＋１）−（ｉ，ｊ＋２）間の高低差を算出する。
［ステップ６］  算出された高低差が閾値を満たすかどうかを調べ、各対象点間のＹ方向の高低関係を↑、↓、→と分類する。
［ステップ７］  分類された高低関係のパターンを調べ、該当するパターンの場合、Ｆ（ｎ）を格納する。→↑→となる場合には、（１，ＮＵＬＬ，Ｕｐ，ｉ，ｊ）、（１，ＮＵＬＬ，Ｕｐ，ｉ，ｊ＋１）となり、→↓→となる場合には、（１，ＮＵＬＬ，Ｄｏｗｎ，ｉ，ｊ）、（１，ＮＵＬＬ，Ｄｏｗｎ，ｉ，ｊ＋１）となる。
［ステップ８］  対象となるすべての（ｉ，ｊ）に対して処理が終わるまで、［ステップ２］〜［ステップ７］を繰り返す。
【００２９】
領域特徴量算出処理手段３は、前記エッジ特徴量算出処理手段２にて算出された形状のエッジに関する特徴量から、それに囲まれる領域に含まれる対象点を探索し、該対象点の領域に関する特徴量を算出する。この処理は、図４に示す手順で以下のように行われる。
［ステップ１］  処理領域に含まれる対象点に対する特徴量Ｆ（ｎ）を取得する。
［ステップ２］  ｔｙｐｅ＝１のＦ（ｎ）を高さの高い順に並べ替える。
［ステップ３］  ｓｘ＝Ｕｐとなるｔｙｐｅ＝１のＦ（ｎ）を順に取得する。
［ステップ４］  対象点（ｉ，ｊ）からＸ方向にスキャンして、ｔｙｐｅ＝１で最初にｓｘ＝Ｄｏｗｎとなる（ｉ１，ｊ）を算出する。
［ステップ５］  （ｉ，ｊ）−（ｉ１，ｊ）間の各点のＦ（ｎ）にｓｘがまだ設定されていない場合、ｔｙｐｅ＝３，ｓｘ＝Ｂｅｔｗｅｅｎを設定する。
［ステップ６］  （ｉ，ｊ）からＹ方向にスキャンして、ｔｙｐｅ＝１で最初にｓｙ＝Ｄｏｗｎとなる（ｉ，ｊ１）を算出する。
［ステップ７］  （ｉ，ｊ）−（ｉ，ｊ１）間の各点のＦ（ｎ）にｓｙがまだ設定されていない場合、ｔｙｐｅ＝３，ｓｙ＝Ｂｅｔｗｅｅｎを設定する。
［ステップ８］  （ｉ，ｊ）、（ｉ１，ｊ）、（ｉ，ｊ１）のＦ（ｎ）にｔｙｐｅ＝２を設定する。
［ステップ９］  すべてのｔｙｐｅ＝１のＦ（ｎ）に対して処理が終わるまで、［ステップ２］〜［ステップ８］を繰り返す。
【００３０】
形状抽出処理手段４は、前記エッジ特徴量算出処理手段２にて算出された形状のエッジに関する特徴量、及び領域特徴量算出処理手段３にて算出された対象点の領域に関する特徴量から、形状を抽出する。この処理は、図５に示す手順で以下のように行われる。
［ステップ１］  処理領域に含まれる対象点に対する特徴量Ｆ（ｎ）、閾値を取得する。
［ステップ２］  ｓｘ、及びｓｙが共に同じＦ（ｎ）を有する点に対して、その間の最短距離が閾値を満たす集合に分類する。
［ステップ３］  算出された集合毎に、該集合に含まれる点の分布を示す近似直線Ｌｉｎｅ（ｍ）を最小二乗法により算出する。
［ステップ４］  ｔｙｐｅ＝３のＦ（ｎ）を高さの高い順に並べ替える。
［ステップ５］  ｔｙｐｅ＝３のＦ（ｎ）を順に取得し、該対象点に隣接する点のＦ（ｎ）の分類種別を順に調べ、同じｔｙｐｅ＝３を有する領域を抽出し、その領域を構成するすべて点のＦ（ｎ）にｔｙｐｅ＝４を設定する。
［ステップ６］  算出された領域に隣接するＬｉｎｅ（ｍ）を取得し、その各交点を算出し、閉領域ＳｈａｐｅＲｇｎ（ｏ）を抽出する。
［ステップ７］  すべてのｔｙｐｅ＝３のＦ（ｎ）に対して処理が終わるまで、［ステップ５］〜［ステップ６］を繰り返す。
【００３１】
なお、この［ステップ３］の最小二乗法により直線を算出する方法は、従来の手法と特に変わるところがないので、ここではその詳細な説明は省略する。
【００３２】
勾配特徴量算出処理手段５は、前記形状抽出処理手段４にて算出された閉領域に対して、該領域内のレンジデータから勾配に関する特徴量を算出する。この処理は図６に示す手順で以下のように行われる。
［ステップ１］  処理領域に含まれるＳｈａｐｅＲｇｎ（ｏ）、該領域に含まれる対象点のレンジデータを取得する。
［ステップ２］  ＳｈａｐｅＲｇｎ（ｏ）を高さの高い順に並べ替える。
［ステップ３］  ＳｈａｐｅＲｇｎ（ｏ）を順に取得し、該領域に含まれる対象点（ｉ，ｊ）に対して、（ｉ，ｊ）−（ｉ＋１，ｊ）間の高低差を算出する。
［ステップ４］  算出された高低差が閾値を満たすかどうかを調べ、各対象点間の高低関係を↑、↓、→と分類特徴量を格納する。↑の場合は（５，Ｕｐ，ＮＵＬＬ，ｉ，ｊ）、↓の場合は（５，Ｄｏｗｎ，ＮＵＬＬ，ｉ，ｊ）、→の場合は（５，Ｐｌａｎｅ，ＮＵＬＬ，ｉ，ｊ）となる。
［ステップ５］  （ｉ，ｊ）に対して、（ｉ，ｊ）−（ｉ，ｊ＋１）間の高低差を算出する。
［ステップ６］  算出された高低差が閾値を満たすかどうかを調べ、各対象点間の高低関係を↑、↓、→と分類特徴量を格納する。↑の場合は（５，ＮＵＬＬ，Ｕｐ，ｉ，ｊ）、↓の場合は（５，ＮＵＬＬ，Ｄｏｗｎ，ｉ，ｊ）、→の場合は（５，ＮＵＬＬ，Ｐｌａｎｅ，ｉ，ｊ）となる。
［ステップ７］  対象となるすべてのＳｈａｐｅＲｇｎ（ｏ）に対して処理が終わるまで、［ステップ３］〜［ステップ６］を繰り返す。
［ステップ８］  ｔｙｐｅ＝５のＦ（ｎ）を取得し、（ｉ，ｊ）に対して、（ｉ＋１，ｊ）、（ｉ−１，ｊ）のＦ（ｎ）のｓｘが同じ場合は、（ｉ，ｊ）のＦ（ｎ）のｓｘを変更する。↑，↓，↑の場合はｓｘ＝Ｐｌａｎｅ、↑，→，↑の場合はｓｘ＝Ｕｐ、→，↑，→の場合はｓｘ＝Ｐｌａｎｅ、→，↓，→の場合はｓｘ＝Ｐｌａｎｅ、↓，→，↓の場合はｓｘ＝Ｄｏｗｎ、↓，↑，↓の場合はｓｘ＝Ｐｌａｎｅとなる。
［ステップ９］  ｔｙｐｅ＝５のＦ（ｎ）を取得し、（ｉ，ｊ）に対して、（ｉ，ｊ＋１）、（ｉ，ｊ−１）のＦ（ｎ）のｓｙが同じ場合は、（ｉ，ｊ）のＦ（ｎ）のｓｙを変更する。↑，↓，↑の場合はｓｙ＝Ｐｌａｎｅ、↑，→，↓はｓｙ＝Ｕｐ、→，↑，→の場合はｓｙ＝Ｐｌａｎｅ、→，↓，→の場合はｓｙ＝Ｐｌａｎｅ、↓，→，↓の場合はｓｙ＝Ｄｏｗｎ、↓，↑，↓の場合はｓｙ＝Ｐｌａｎｅとなる。
【００３３】
なお、この閾値は処理対象地域毎の値としてあらかじめ決めておくとしてもよいし、取得された特徴量を有する点の距離情報の分散に応じて動的に設定するとしてもよい。
【００３４】
形状整形処理手段６は、前記勾配特徴量算出処理手段５にて算出された勾配に関する特徴量から、該閉領域の分割を行い、該形状のモデルを算出する。この処理は、図７に示す手順で以下のように行われる。
［ステップ１］  処理領域に含まれるＳｈａｐｅＲｇｎ（ｏ）、該領域を構成する対象点、及び該領域に含まれる対象点に対する特徴量Ｆ（ｎ）を取得する。
［ステップ２］  ＳｈａｐｅＲｇｎ（ｏ）を順に取得し、該領域を構成するｓｘ＝Ｕｐの対象点（ｉ，ｊ）に対して、Ｘ方向にスキャンして、ｓｘが同じである連続する領域に分類する。
［ステップ３］  該領域を構成するｓｙ＝Ｕｐの（ｉ，ｊ）に対して、Ｙ方向にスキャンして、ｓｙが同じである連続する領域に分類する。
［ステップ４］  分類された領域で隣接するものを９つの集合にまとめる。すなわち、（ｓｘ＝Ｕｐ，ｓｙ＝Ｕｐ）、（ｓｘ＝Ｕｐ，ｓｙ＝Ｄｏｗｎ）、（ｓｘ＝Ｕｐ，ｓｙ＝Ｐｌａｎｅ）、（ｓｘ＝ＰＩａｎｅ，ｓｙ＝Ｕｐ）、（ｓｘ＝Ｐｌａｎｅ，ｓｙ＝Ｄｏｗｎ）、（ｓｘ＝Ｐｌａｎｅ，ｓｙ＝Ｐｌａｎｅ）、（ｓｘ＝Ｄｏｗｎ，ｓｙ＝ＵＰ）、（ｓｘ＝Ｄｏｗｎ，ｓｙ＝Ｄｏｗｎ）、（ｓｘ＝Ｄｏｗｎ，ｓｙ＝Ｐｌａｎｅ）の集合である。
［ステップ５］  同じ分類の集合を構成する最外郭点を抽出し、その点の分布を示す近似直線を最小二乗法により算出する。
［ステップ６］  算出された直線、及びＳｈａｐｅＲｇｎ（ｏ）を構成するＬｉｎｅ（ｍ）に対して、各傾き、切片が閾値を満たす直線の組み合わせを算出し、統合する。
［ステップ７］  統合された直線の各交点を算出し、閉領域を抽出する。
［ステップ８］  算出された閉領域の各辺に対して、分類された領域の勾配となるように該辺の高さ情報を算出する。
【００３５】
なお、この［ステップ３］の最小二乗法により直線を算出する方法は、従来の手法と特に変わるところがないので、ここではその詳細な説明は省略する。また、この閾値は処理対象地域毎の値としてあらかじめ決めておくとしてもよいし、算出された直線の傾き、切片の値の分散に応じて動的に設定するとしてもよい。
【００３６】
以降では、上述した処理手順を実際のデータに即して、具体的に示す。
【００３７】
入出力処理にて、オペレータから処理を受付け、処理対象領域を取得し、処理をエッジ特徴量算出処理に移す。エッジ特徴量算出処理にて、処理領域に含まれる対象点に対するレンジデータ、閾値を取得する。ここでは、例えば、レンジデータの距離情報Ｒａｎｇｅ（ｉ，ｊ）を濃淡値として画像で表した際、図８の８０１で示されるようなレンジデータを対象とする。この対象点（ｉ，ｊ）に対して、（ｉ−１，ｊ）−（ｉ，ｊ）間、（ｉ，ｊ）−（ｉ＋１，ｊ）間、（ｉ＋１，ｊ）−（ｉ＋２，ｊ）間の高低差を算出し、その高低差が閾値を満たすかどうかを調べ、各対象点間のＸ方向の高低関係を↑、↓、→と分類し、その分類された高低関係のパターンを調べ、→↑→、あるいは、→↓→となる場合に、特徴量Ｆ（ｎ）を格納する。Ｙ方向についても同様に処理を行い、これらの処理を対象となるすべての（ｉ，ｊ）に対して繰り返す。例えば、Ｆ（ｎ）＝（１，Ｕｐ，Ｕｐ，ｉ，ｊ）となる特徴を有する点は図９（ａ）の９０１に、Ｆ（ｎ）＝（１，Ｕｐ，Ｄｏｗｎ，ｉ，ｊ）となる特徴を有する点は図９（ｂ）の９０２に、更に、Ｆ（ｎ）＝（１，Ｄｏｗｎ，Ｕｐ，ｉ，ｊ）となる特徴を有する点は図１０（ａ）の１００１に、Ｆ（ｎ）＝（１，Ｄｏｗｎ，Ｄｏｗｎ，ｉ，ｊ）となる特徴を有する点は図１０（ｂ）の１００２に、示すようになる。
【００３８】
次に、領域特徴量算出処理にて、処理領域に含まれる対象点に対するＦ（ｎ）を取得し、ｔｙｐｅ＝１のＦ（ｎ）を高さの高い順に並べ替える。これに対し、ｓｘ＝Ｕｐとなるｔｙｐｅ＝１のＦ（ｎ）を順に取得し、（ｉ，ｊ）からＸ方向にスキャンして、ｔｙｐｅ＝１で最初にｓｘ＝Ｄｏｗｎとなる（ｉ１，ｊ）を算出し、（ｉ，ｊ）−（ｉ１，ｊ）間の各点の特徴量にｓｘがまだ設定されていない場合、ｔｙｐｅ＝３，ｓｘ＝Ｂｅｔｗｅｅｎを設定する。例えば、図１１の１１０１は、図９の９０１，９０２、及び図１０の１００１，１００２を重畳表示したものであるが、この図１１の１１０２で示される（ｉ，ｊ）からＸ方向にスキャンして、ｔｙｐｅ＝１で最初にｓｘ＝Ｄｏｗｎとなるのは、図１１の１１０３で示される（ｉ１，ｊ）であり、このとき、図１１の１１０４で示されるこの（ｉ，ｊ）−（ｉ１，ｊ）間の各点のＦ（ｎ）にｓｘがまだ設定されていない場合ｔｙｐｅ＝３，ｓｘ＝Ｂｅｔｗｅｅｎが設定される。更に、（ｉ，ｊ）からＹ方向にスキャンして、ｔｙｐｅ＝１で最初にｓｙ＝Ｄｏｗｎとなる（ｉ，ｊ１）を算出し、（ｉ，ｊ）−（ｉ，ｊ１）間の各点のＦ（ｎ）にｓｙがまだ設定されていない場合、ｔｙｐｅ＝３，ｓｙ＝Ｂｅｔｗｅｅｎを設定する。最後に、（ｉ，ｊ）、（ｉ１，ｊ）、（ｉ，ｊ１）のＦ（ｎ）にｔｙｐｅ＝２を設定し、これらの処理をすべてのｔｙｐｅ＝１のＦ（ｎ）に対して処理が終わるまで繰り返す。
【００３９】
更に、形状抽出処理にて、処理領域に含まれる対象点に対するＦ（ｎ）、閾値を取得し、ｓｘ、及びｓｙが共に同じＦ（ｎ）を有する点に対して、その間の最短距離が閾値を満たす集合に分類する。例えば、図９の９０３で示される点は、図１２（ａ）の１２０２，１２０３の２つに分類される。これらの算出された集合気に、該集合に含まれる点の分布を示す近似直線Ｌｉｎｅ（ｍ）を最小二乗法により算出する。例えば、図１２（ａ）の１２０２，１２０３の各集合に対して、図１２（ｂ）の１２０５，１２０６で示される直線が算出される。次に、ｔｙｐｅ＝３のＦ（ｎ）を高さの高い順に並べ替え、順に取得し、該対象点に隣接する点のＦ（ｎ）の分類種別を順に調べ、同じｔｙｐｅ＝３を有する領域を抽出し、その領域を構成するすべて点のＦ（ｎ）にｔｙｐｅ＝４を設定する。例えば、図１３（ａ）の１３０１に示されるような領域が抽出される。これに対して、この領域に隣接するＬｉｎｅ（ｍ）を取得し、その各交点を算出し、閉領域ＳｈａｐｅＲｇｎ（ｏ）を抽出する。例えば、図１３（ａ）の１３０１に対しては、図１３（ｂ）の１３０２に示されるようなＳｈａｐｅＲｇｎ（ｏ）が抽出される。これらの処理をすべてのｔｙｐｅ＝３のＦ（ｎ）に対して繰り返す。
【００４０】
また、勾配特徴量算出処理にて、処理領域に含まれるＳｈａｐｅＲｇｎ（ｏ）、該領域に含まれる対象点のレンジデータを取得し、ＳｈａｐｅＲｇｎ（ｏ）を高さの高い順に並べ替える。このＳｈａｐｅＲｇｎ（ｏ）を順に取得し、該領域に含まれる対象点（ｉ，ｊ）に対して、（ｉ，ｊ）−（ｉ＋１，ｊ）間の高低差を算出し、この高低差が閾値を満たすかどうかを調べ、各対象点間の高低関係を↑，↓，（ｉ，ｊ＋１）間の高低差を算出し、この高低差が閾値を満たすかどうかを調べ、各対象点間の高低関係を↑，↓，→と分類し、特徴量を格納する。これらの処理を、対象となるすべてのＳｈａｐｅＲｇｎ（ｏ）に対して繰り返す。次に、ｔｙｐｅ＝５のＦ（ｎ）を取得し、（ｉ，ｊ）に対して、（ｉ＋１，ｊ）、（ｉ−１，ｊ）のＦ（ｎ）のｓｘが同じ場合は、（ｉ，ｊ）のＦ（ｎ）のｓｘを変更し、（ｉ，ｊ＋１）、（ｉ，ｊ−１）のＦ（ｎ）のｓｘが同じ場合は、（ｉ，ｊ）のＦ（ｎ）のｓｙを変更する。例えば、図１３（ｂ）の１３０２に示されるようなＳｈａｐｅＲｇｎ（ｏ）中で、図１３（ｂ）の１３０３で示される領域の高さが最も高かったとして処理を行った結果、Ｆ（ｎ）＝（５，Ｕｐ，Ｕｐ，ｉ，ｊ）となる特徴を有する点は図１４（ａ）の１４０１に、Ｆ（ｎ）＝（５，Ｐｌａｎｅ，Ｐｌａｎｅ，ｉ，ｊ）なる特徴を有する点は図１４（ｂ）の１４０２に示すようになる。
【００４１】
更に、形状整形処理にて、処理領域に含まれるＳｈａｐｅＲｇｎ（ｏ）、該領域を構成する対象点、及び該領域に含まれる対象点に対するＦ（ｎ）を取得し、このＳｈａｐｅＲｇｎ（ｏ）を順に取得し、該領域を構成するｓｘ＝Ｕｐの対象点（ｉ，ｊ）に対して、Ｘ方向にスキャンして、ｓｘが同じである連続する領域に分類する。また、ｓｙ＝Ｕｐの（ｉ，ｊ）に対して、Ｙ方向にスキャンして、ｓｙが同じである連続する領域に分類する。分類された領域で隣接するものを９つの集合にまとめ、同じ分類の集合を構成する最外郭点を抽出し、その点の分布を示す近似直線を最小二乗法により算出し、その直線、及びＳｈａｐｅＲｇｎ（ｏ）を構成するＬｉｎｅ（ｍ）に対して、各傾き、切片が閾値を満たす直線の組み合わせを算出し、統合する。これらの直線の各交点を算出して閉領域を抽出し、算出された閉領域の各辺に対して分類された領域の勾配となるように該辺の高さ情報を算出する。例えば、図１３（ｂ）の１３０３で示される領域に対しては、図１４（ａ）の１４０１、図１４（ｂ）の１４０２で示される領域に分類され、この各領域の閉領域を算出すると、図１４（ｃ）の１４０３で示される領域となる。ここで、この図１４（ｃ）の１４０４で示される領域はＦ（ｎ）＝（５，Ｕｐ，Ｕｐ，ｉ，ｊ）となるのでのぼりの面となり、図１４（ｃ）の１４０５で示される領域はＦ（ｎ）＝（５，Ｐｌａｎｅ，Ｐｌａｎｅ，ｉ，ｊ）となるので平面となる。こうして、図１４（ｄ）の１４０６で示されるような形状が算出される。また、例えば、図１２（ｂ）の１２０５，１２０６で示される直線のような場合、傾きや切片の値が近いので統合されでひとつの直線となり、形状構成点の削減が行われる。
【００４２】
最後に、入出力処理にて、処理結果を３次元モデルデータベースヘ格納する。ここでは、例えば、図１５に示すような３次元モデルデータが格納されることになる。
【００４３】
なお、図１で示した装置各部の一部もしくは全部の処理機能を、コンピュータを用いて実現することができること、あるいは、図２〜図７で示した処理手順をコンピュータに実行させることができることは言うまでもなく、コンピュータでその各部の処理機能を実現するためのプログラム、あるいは、コンピュータにその処理手順を実行させるためのプログラムを、そのコンピュータが読み取り可能な記憶媒体、例えば、ＦＤ（フロッピーディスク：登録商標）や、ＭＯ、ＲＯＭ、メモリカード、ＣＤ、ＤＶＤ、リムーバブルディスクなどに記録して、保存したり、提供したり、配布したりすることが可能である。
【００４４】
以上、本発明を実施形態例に基づき具体的に説明したが、本発明は上記の実施形態例に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００４５】
【発明の効果】
本発明によれば、レンジデータから得られる距離情報から算出される特徴量を利用するようにしたので、３次元形状を算出し、３次元モデルを生成することができる効果が得られる。
【００４６】
また、レンジデータから得られる距離情報から対象点を含む連続する４点の高低差を算出し、その高低差が或る特定のパターンを有する場合、その方向におけるパターン、及び位置を特徴量として算出するようにしたので、レンジデータの計測誤差により生じるノイズが軽減でき、非常に効率の良い高速な処理を実現することができる効果が得られる。
【００４７】
また、Ｘ方向、及びＹ方向といった座標軸方向の高低差パターンが同じである特徴量を有する点の集合を一単位として形状を構成する直線を算出すること、及び領域特徴量算出処理にて算出された特徴量を利用して算出された直線群から同じ形状を構成する直線を抽出するようにしたので、形状抽出処理におけるノイズが軽減でき、処理の高精度化、高速化を実現することができる効果が得られる。
【００４８】
また、形状抽出処理にて算出された形状を構成する領域に対して、レンジデータから得られる距離情報から連続する２点の高低差を算出し、Ｘ方向、及びＹ方向といった座標軸方向の勾配を平ら、のぼり、くだりに分類するようにしたので、平面ではない複雑な勾配を有するモデルを生成することができる効果が得られる。
【００４９】
また、勾配特徴量算出処理にて分類された勾配に対して同じ勾配を有する領域を構成する直線を算出すること、及び該直線と形状抽出処理にて算出された直線に対して、閾値を満たし同じ直線とみなすことができるものを統合して該形状の整形を行うようにしたので、複雑な形状を有するモデルを生成することができ、また、効率の良い非常に高速な処理を実現することができる効果が得られる。
【図面の簡単な説明】
【図１】本発明の一実施形態例における３次元モデル生成方法を実現する装置の構成図である。
【図２】本実施形態例における入出力処理処理フローを説明する図である。
【図３】本実施形態例におけるエッジ特徴量算出処理フローを説明する図である。
【図４】本実施形態例における領域特徴量算出処理フローを説明する図である。
【図５】本実施形態例における形状抽出処理フローを説明する図である。
【図６】本実施形態例における勾配特徴量算出処理フローを説明する図である。
【図７】本実施形態例における形状整形処理フローを説明する図である。
【図８】本実施形態例における距離情報Ｒａｎｇｅ（ｉ，ｊ）を濃淡値として画像で表したレンジデータの一例を説明する図である。
【図９】（ａ），（ｂ）は、本実施形態例におけるエッジ特徴量算出処理の一例を説明する図である。
【図１０】（ａ），（ｂ）は、本実施形態例におけるエッジ特徴量算出処理の一例の続きを説明する図である。
【図１１】本実施形態例における領域特徴量算出処理の一例を説明する図である。
【図１２】（ａ），（ｂ）は、本実施形態例における形状抽出処理の一例を説明する図である。
【図１３】（ａ），（ｂ）は、本実施形態例における形状抽出処理の一例の続きを説明する図である。
【図１４】（ａ），（ｂ），（ｃ），（ｄ）は、本実施形態例における勾配特徴量算出処理、及び形状整形処理の一例を説明する図である。
【図１５】本実施形態例において生成された３次元モデルデータの一例を説明する図である。
【符号の説明】
１…入出力処理手段
２…エッジ特徴量算出処理手段
３…領域特徴量算出処理手段
４…形状抽出処理手段
５…勾配特徴量算出処理手段
６…形状整形処理手段
７…３次元モデルデータベース
８…レンジデータベース
【図１】
0003572253.tif 000002
【図２】
0003572253.tif 000003
【図３】
0003572253.tif 000004
【図４】
0003572253.tif 000005
【図５】
0003572253.tif 000006
【図６】
0003572253.tif 000007
【図７】
0003572253.tif 000008
【図８】
0003572253.tif 000009
【図９】
0003572253.tif 000010
【図１０】
0003572253.tif 000011
【図１１】
0003572253.tif 000012
【図１２】
0003572253.tif 000013
【図１３】
0003572253.tif 000014
【図１４】
0003572253.tif 000015
【図１５】
0003572253.tif 000016