(57)【要約】【課題】階段などの多面体の形状を撮像して得た画像から認識するときに撮像位置や撮像距離の影響を受け難いと共に、形状を精度良く認識する多面体認識装置を提供する。【解決手段】２個のＣＣＤカメラ５０から入力した画像の中の所定の領域（階段候補領域）を選択すると共に（線分抽出ブロック８０２、平行線グループ化ブロック８０４）、前記２個のカメラでステレオ視して距離画像を得ると共に、選択された領域に基づいて得た距離画像上に処理領域を設定し（処理領域設定ブロック８０８）、設定された処理領域内の距離画像に基づいて階段などの多面体の形状を認識する（３Ｄ平面近似ブロック８１０、階段形状認識ブロック８１２）。【選択図】図５
2005182826.tif 000002
【特許請求の範囲】
【請求項１】
撮像手段から入力した画像に基づいて階段などの多面体の形状を認識する多面体認識装置において、前記撮像手段としての少なくとも１個のカメラと、前記カメラが撮像した画像の中の所定の領域を選択する領域選択手段と、前記カメラで得た画像から距離画像を得ると共に、前記選択された領域に基づいて前記得た距離画像上に処理領域を設定する処理領域設定手段と、および前記設定された処理領域内の前記距離画像に基づいて前記多面体の形状を認識する多面体形状認識手段とを備えることを特徴とする多面体認識装置。
【請求項２】
前記撮像手段として少なくとも２個のカメラを備え、前記領域選択手段は前記２個のカメラのいずれかが撮像した画像の中から前記所定の領域を選択すると共に、前記処理領域設定手段は前記２個のカメラでステレオ視して得た画像から前記距離画像を得ることを特徴とする請求項１記載の多面体認識装置。
【請求項３】
前記領域選択手段は、前記撮像した画像から所定長さ以上の線分群を抽出し、前記抽出した線分群の位置に基づいて前記所定の領域を選択することを特徴とする請求項１または２記載の多面体認識装置。
【請求項４】
前記領域選択手段は、前記抽出した線分群の中、互いに平行となる線分群であって、かつ距離的に接近する線分群の位置に基づいて前記所定の領域を選択することを特徴とする請求項３記載の多面体認識装置。
【請求項５】
前記多面体形状認識手段は、前記処理領域内の前記距離画像を構成する点集合を３次元空間上の距離データの集合として抽出し、前記抽出した点集合に基づいて前記多面体の形状を認識することを特徴とする請求項１から４のいずれかに記載の多面体認識装置。
【請求項６】
前記多面体が階段であると共に、前記多面体形状認識手段は、前記抽出した点集合を傾斜平面とみなし、その近似平面を求めることで前記階段の形状を認識することを特徴とする請求項５記載の多面体認識装置。
【請求項７】
前記多面体が階段であると共に、前記多面体形状認識手段は、前記抽出した点集合を垂直面で切断し、切断面の点集合と２次元モデルとの誤差に基づいて前記階段の形状を認識することを特徴とする請求項５または６記載の多面体認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は多面体認識装置に関し、より詳しくは、撮像した画像に基づき、階段などの多面体、より具体的にはその外形が多面体で近似される、階段などの多面体を認識する装置に関する。
【背景技術】
【０００２】
階段などの多面体を認識する装置としては、従来、以下の特許文献１に示すものが知られている。
【特許文献１】特許第３１９２７３６号公報（段落００１１から００２２。図４など）
【０００３】
この従来技術においては、撮像した画像の中、階段の水平面の２値画像の面積に基づいて階段の形状を認識している。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
即ち、この従来技術においては、画像から所定面積の平面群を抽出して認識しているため、階段を正面かつ近距離から撮像しないと、認識が困難になる場合があった。また、階段の形状を細部までも認識するものではなかった。
【０００５】
従って、この発明の目的は上記した不都合を解消し、階段などの多面体の形状を撮像して得た画像から認識するときも、撮像位置や撮像距離の影響を受け難いと共に、階段の形状を細部まで認識するようにした多面体認識装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記した課題を解決するために、請求項１においては、撮像手段から入力した画像に基づいて階段などの多面体の形状を認識する多面体認識装置において、前記撮像手段としての少なくとも１個のカメラと、前記カメラが撮像した画像の中の所定の領域を選択する領域選択手段と、前記カメラで得た画像から距離画像（距離情報）を得ると共に、前記選択された領域に基づいて前記得た距離画像上に処理領域を設定する処理領域設定手段と、および前記設定された処理領域内の前記距離画像に基づいて前記多面体の形状を認識する多面体形状認識手段とを備える如く構成した。
【０００７】
請求項２においては、前記撮像手段として少なくとも２個のカメラを備え、前記領域選択手段は前記２個のカメラのいずれかが撮像した画像の中から前記所定の領域を選択すると共に、前記処理領域設定手段は前記２個のカメラでステレオ視して得た画像から前記距離画像を得る如く構成した。
【０００８】
請求項３にあっては、前記領域選択手段は、前記撮像した画像から所定長さ以上の線分群を抽出し、前記抽出した線分群の位置に基づいて前記所定の領域を選択する如く構成した。
【０００９】
請求項４にあっては、前記領域選択手段は、前記抽出した線分群の中、互いに平行となる線分群であって、かつ距離的に接近する線分群の位置に基づいて前記所定の領域を選択する如く構成した。
【００１０】
請求項５にあっては、前記多面体形状認識手段は、前記処理領域内の前記距離画像を構成する点集合を３次元空間上の距離データの集合として抽出し、前記抽出した点集合に基づいて前記多面体の形状を認識するように構成した。
【００１１】
請求項６にあっては、前記多面体が階段であると共に、前記多面体形状認識手段は、前記抽出した点集合を傾斜平面とみなし、その近似平面を求めることで前記階段の形状を認識する如く構成した。
【００１２】
請求項７にあっては、前記多面体が階段であると共に、前記多面体形状認識手段は、前記抽出した点集合を垂直面で切断し、切断面の点集合と２次元モデルとの誤差に基づいて前記階段の形状を認識する如く構成した。
【発明の効果】
【００１３】
請求項１にあっては、カメラが撮像した画像の中の所定の領域を選択すると共に、選択された領域に基づき、カメラで得た距離画像（距離情報、より具体的には距離情報を示すテーブルデータ）上に処理領域を設定し、設定された処理領域内の距離画像に基づいて多面体の形状を認識するようにした。換言すれば、３次元画像情報に比して処理が容易な２次元画像情報を用いて処理領域を可能な限り限定すると共に、その限定された処理領域内の距離画像上に基づいて多面体の形状を認識するようにした。これによって、例えば３次元モデルマッチングなどによって認識するときも、処理領域が限定されていることで、撮像位置や撮像距離の影響を受け難いと共に、カメラの精度に応じて多面体の形状を細部まで認識することができる。
【００１４】
請求項２においては、より具体的には、２個のカメラのいずれかが撮像した画像の中の所定の領域を選択すると共に、選択された領域に基づき、２個のカメラでステレオ視して得た距離画像上に処理領域を設定し、設定された処理領域内の距離画像に基づいて多面体の形状を認識するようにしたので、請求項１で述べた如く、例えば３次元モデルマッチングなどによって認識するときも、処理領域が限定されていることで、撮像位置や撮像距離の影響を受け難いと共に、カメラの精度に応じて多面体の形状を細部まで認識することができる。
【００１５】
請求項３にあっては、撮像した画像から所定長さ以上の線分群を抽出し、その位置に基づいて領域を選択する如く構成したので、多面体が例えば階段であるときなど、段を構成する直線成分に相当する線分の位置に基づいて領域を選択することができ、領域を可能な限り限定できて認識精度を上げることができる。
【００１６】
請求項４にあっては、抽出した線分群の中、互いに平行となる線分群であって、かつ距離的に接近する線分群の位置に基づいて領域を選択する如く構成したので、多面体が例えば階段であるときなど、段を構成する直線成分に相当する線分の位置を良く検出することができ、それに基づいて領域を選択することができ、領域を可能な限り限定できて認識精度を上げることができる。
【００１７】
請求項５にあっては、処理領域内の距離画像を構成する点集合を３次元空間上の距離データの集合として抽出し、抽出した点集合に基づいて多面体の形状を認識するように構成したので、それによって例えば多面体の形状を示すモデルを用いて３次元モデルマッチングによって処理領域を評価することで、カメラの精度に応じて多面体の形状を細部まで効率良く認識することができる。
【００１８】
請求項６にあっては、多面体が階段であると共に、抽出した点集合を傾斜平面とみなし、その近似平面を求めることで階段の形状を認識する如く構成したので、近似平面からなる平面モデルを用いて３次元モデルマッチングによって処理領域を評価することができ、よってカメラの精度に応じて多面体の形状を細部まで効率良く認識することができる。
【００１９】
請求項７にあっては、多面体が階段であると共に、抽出した点集合を垂直面に切断し、切断面の点集合と２次元モデルとの誤差に基づいて階段の形状を認識する如く構成したので、カメラの精度に応じて階段の形状を細部まで一層効率良く認識することができる。
【発明を実施するための最良の形態】
【００２０】
以下、添付図面を参照してこの発明に係る多面体認識装置を実施するための最良の形態について説明する。
【実施例１】
【００２１】
図１は、この発明の第１実施例に係る多面体認識装置が搭載される、脚式移動ロボットの正面図である。
【００２２】
尚、この実施例においては、多面体認識装置を、２足歩行の脚式移動ロボットに搭載した場合を例にとって説明する。図１はその脚式移動ロボット（以下「ロボット」という）１の正面図、図２はその側面図である。
【００２３】
図１に示すように、ロボット１は、２本の脚部リンク（脚部）２を備えると共に、その上方には上体（基体）３が設けられる。上体３の上部には頭部４が設けられると共に、上体３の両側には２本の腕リンク（腕部）５が連結される。また、図２に示すように、上体３の背部には格納部６が設けられ、その内部にはＥＣＵ（電子制御ユニット。後述）およびロボット１の関節を駆動する電動モータ（駆動源。後述）のバッテリ電源（図示せず）などが収容される。尚、図１および図２に示すロボット１は、内部構造を保護するためのカバーが取着されたものを示す。
【００２４】
図３を参照して上記したロボット１の内部構造を関節を中心に説明する。
【００２５】
図示の如く、ロボット１は、左右それぞれの脚部２に６個の関節を備える。計１２個の関節は、腰部の脚回旋用の鉛直軸（Ｚ軸あるいは重力軸）まわりの関節１０Ｒ，１０Ｌ（右側をＲ、左側をＬとする。以下同じ）、股（腰部）のロール方向（Ｘ軸まわり）の関節１２Ｒ，１２Ｌ、股（腰部）のピッチ方向（Ｙ軸まわり）の関節１４Ｒ，１４Ｌ、膝部のピッチ方向（Ｙ軸まわり）の関節１６Ｒ，１６Ｌ、足首のピッチ方向（Ｙ軸まわり）の関節１８Ｒ，１８Ｌ、および同ロール方向（Ｘ軸まわり）の関節２０Ｒ，２０Ｌから構成される。脚部リンク２Ｒ（Ｌ）の下部には足平（足部）２２Ｒ，２２Ｌが取着される。
【００２６】
このように、脚部リンク２は、股関節（腰関節）１０Ｒ（Ｌ），１２Ｒ（Ｌ），１４Ｒ（Ｌ）、膝関節１６Ｒ（Ｌ）、および足関節１８Ｒ（Ｌ），２０Ｒ（Ｌ）から構成される。股関節と膝関節は大腿リンク２４Ｒ（Ｌ）で、膝関節と足関節は下腿リンク２６Ｒ（Ｌ）で連結される。
【００２７】
脚部リンク２は股関節を介して上体３に連結されるが、図３では上体３を上体リンク２８として簡略的に示す。前記したように、上体３には腕リンク５が連結される。腕リンク５は、肩部のピッチ方向の関節３０Ｒ，３０Ｌ、同ロール方向の関節３２Ｒ，３２Ｌ、腕の回旋用の鉛直軸まわりの関節３４Ｒ，３４Ｌ、肘部のピッチ軸まわりの関節３６Ｒ，３６Ｌ、手首回旋用の鉛直軸まわりの関節３８Ｒ，３８Ｌから構成される。手首の先にはハンド（エンドエフェクタ）４０Ｒ，４０Ｌが取着される。
【００２８】
このように、腕リンク５は、肩関節３０Ｒ（Ｌ），３２Ｒ（Ｌ），３４Ｒ（Ｌ）、手首関節３８Ｒ（Ｌ）から構成される。また肩関節と肘関節とは上腕リンク４２Ｒ（Ｌ）で、肘関節とハンドとは下腕リンク４４Ｒ（Ｌ）で連結される。
【００２９】
頭部４は、鉛直軸まわりの首関節４６およびそれと直交する軸で頭部４を回転させる頭部揺動機構４８から構成される。頭部４の内部には、少なくとも２個のＣＣＤカメラ（カメラ。撮像手段）５０が、左右に並列してステレオ視（複眼視）自在に取りつけられる。
【００３０】
ＣＣＤカメラ５０は頭部４に取りつけられると共に、頭部４は首関節４６と頭部揺動機構４８を介して上体３に取りつけられることから、ロボット１は、頭部４を回転あるいは上下に揺動させつつ、周囲の環境を撮像して得た画像に基づいて認識して移動する。尚、ＣＣＤカメラ５０はそれぞれ、３２０×２４０の画素を備えると共に、水平６０度、垂直４０度の視野を有する。
【００３１】
ロボット１の説明に戻ると、上記の構成により、脚部リンク２は左右の足について合計１２の自由度を与えられ、歩行中にこれらの１２個の関節を適宜な角度で駆動することで、足全体に所望の動きを与えることができ、任意に３次元空間を歩行させることができる。また、腕リンク５も左右の腕についてそれぞれ５つの自由度を与えられ、これらの関節を適宜な角度で駆動することで所望の作業を行わせることができる。
【００３２】
尚、足関節の下方の足部２２Ｒ（Ｌ）には公知の６軸力センサ５２が取着され、ロボットに作用する外力の中、接地面からロボットに作用する床反力の３方向成分Ｆｘ，Ｆｙ，Ｆｚとモーメントの３方向成分Ｍｘ，Ｍｙ，Ｍｚを示す信号を出力する。
【００３３】
また、上体３には傾斜センサ５４が設置され、鉛直軸に対する傾きとその角速度を示す信号を出力する。さらに、各関節の電動モータはその出力を減速・増力する減速機（後述）を介して前記したリンク２４，２６Ｒ（Ｌ）などを相対変位させると共に、その回転量を検出するロータリエンコーダ（図３で図示省略）が設けられる。
【００３４】
前記したとおり、格納部６の内部にはマイクロコンピュータからなるＥＣＵ（電子制御ユニット）６０などが収納され、６軸力センサ５２などの出力（図示の便宜のためロボット１の右側についてのみ図示する）は、ＥＣＵ６０に送られる。
【００３５】
図４はＥＣＵ６０の構成を詳細に示すブロック図である。図示の如く、ＥＣＵ６０はマイクロコンピュータから構成される。そこにおいて傾斜センサ５４などの出力はＡ／Ｄ変換器６２でデジタル値に変換され、その出力はバス６４を介してＲＡＭ６６に送られる。また各関節において電動モータに隣接して配置されるエンコーダの出力は、カウンタ６８を介してＲＡＭ６６内に入力される。
【００３６】
ＥＣＵ６０にはＣＰＵからなる演算装置７０が設けられ、演算装置７０は、ＲＯＭ７２に格納されているデータおよびセンサ出力に基づいて各関節の駆動に必要な制御値（操作量）を算出してＤ／Ａ変換器７４と各関節に設けられたアクチュエータ駆動装置（アンプ）７６を介して各関節を駆動する電動モータに出力する。
【００３７】
左右の（２個の）ＣＣＤカメラ５０がそれぞれ撮像して得た（モノクロームの）画像（出力）は画像処理ＥＣＵ８０に送られ、そこで後述する階段などの多面体の認識を含む画像処理が行われる。画像処理ＥＣＵ８０の出力は、ＥＣＵ６０に入力される。
【００３８】
図示の如く、この実施例に係る多面体認識装置は、ＣＣＤカメラ５０と、画像処理ＥＣＵ８０を必須の要件として構成される。
【００３９】
図５は、画像処理ＥＣＵ８０の多面体認識動作、即ち、この実施例に係る多面体認識装置の動作を機能的に示すブロック図である。
【００４０】
以下、同図を参照して説明する。
【００４１】
画像処理ＥＣＵ８０は画像入力選択ブロック８００を備え、画像入力選択ブロック８００は、左右の（２個の）ＣＣＤカメラ（ステレオカメラ）５０が撮像した画像を入力すると共に、その中で例えば右側のＣＣＤカメラが撮像した画像を選択する。
【００４２】
図６は、ＣＣＤカメラ５０の撮像環境、即ち、ロボット１が移動する環境を示す説明図である。図示の如く、そこには平面からなる多面体で近似される階段８２が存在し、ロボット１は通路（床面）８４を階段８２に向かって移動しつつあるものとする。通路８４の右手には窓８６と出入口８８が存在する。
【００４３】
ここで、図５に示す処理を概説すると、画像入力選択ブロック８００を介して入力された右側のカメラから入力された白黒濃淡画像（図示せず）は線分抽出ブロック８０２に送られ、そこで公知の微分エッジ抽出オペレータを用いて画像内の濃度変化の大きい画素が抽出され、次いで抽出されたエッジ画素の中、直線状に並んでいるものが接続されて（直線からなる）線分要素（２次元画像情報）が抽出される。図７に抽出された線分要素を示す。
【００４４】
次いで、抽出された線分画像情報は平行線グループ化ブロック８０４に送られ、そこで抽出された線分群の中から平行線の関係にあって、かつ距離的にも近い線分同士が抽出され、抽出された平行線グループを階段候補領域（前記した所定領域）とされる（選択される）。図８によって得た、Ａ，Ｂからなる平行線グループを示す。平行線グループ（階段候補領域）も、２次元画像情報（２Ｄ画像）として示される。
【００４５】
他方、画像処理ＥＣＵ８０において、左右のＣＣＤカメラ５０でステレオ視して得た画像は入力された後、ステレオ画像処理ブロック８０６に送られ、そこで距離画像（３Ｄ画像。より具体的には距離情報を示すテーブルデータ）が得られる（算出される）。得られた距離画像は処理領域設定ブロック８０８に送られ、そこで前記した階段候補領域（２Ｄ画像）に基づいて距離画像上に処理領域が設定される。
【００４６】
処理領域（階段候補領域）の中には窓８６の枠など平行線の多い構造物も含まれているため、設定された処理領域（階段候補領域）内の距離画像（３Ｄ画像）は３Ｄ平面近似ブロック８１０に送られ、そこで３次元（３Ｄ）上の位置としての階段領域が求められる。具体的には、図９に示す如く、処理領域内の（距離画像を構成する）３次元点集合（３Ｄ画像データ）に、平面モデル９０を当てはめ、その傾きによって階段であるか否か判断する。
【００４７】
よって得られた処理領域内の３次元点集合と、３次元（３Ｄ）上の位置として階段領域についての情報は、階段形状認識ブロック８１２に送られる。
【００４８】
階段形状認識ブロック８１２は入力した距離画像から、撮像位置（ＣＣＤカメラ５０の位置）から階段までの距離（図９に示すＸ方向の距離）が遠いか、あるいは入力画像の解像度が低いか否か判断し、肯定されるときは、処理を打ち切ると共に、然らざる場合、処理領域の３次元点集合（３Ｄ画像）に階段モデル９２（図１０に示す）を当てはめ、階段８２の位置および形状（高さ、奥行き）を計算すると共に、階段モデルに一致する３次元点集合の分布から階段８２の幅を計測する。
【００４９】
以下、個別に説明する。
【００５０】
平行線グループ化ブロック８０４の処理について説明すると、抽出された線分集合に対し、あまり水平ではないものは取り除いた後（制約１）、抽出された線分集合から任意の２つを取り出して大体同じ角度（方向）である（制約２）、共通部分が長い（制約３）、距離が近い（制約４）という４つの制約（条件）を満たす組み合わせの線分対を選び出し、繋がりのあるもので集合を作って１つのグループとする。上記で「水平」は、図９のＸＹ平面に平行なことを意味する。
【００５１】
上記で、制約２の大体同じ角度（方向）であるか否かは、角度のずれが第１のしきい値以下か否かで判断する。制約３の共通部分が長いか否かは、図１１に示す如く、線分の長さに比して共通部分が長い、即ち、ｃ／ｌ１が第２のしきい値以上か否かで判断する。制約４の距離が近いか否かは、同図の示す如く、線分間の距離ｄ（＝（ｄ１＋ｄ２）／２）が、線分の長さに比して近い、即ち、ｄ／ｌ１が第３のしきい値以下か否かで判断する。
【００５２】
この第１から第３のしきい値を緩く設定すると、明らかに平行ではない線分や無関係な線分が線分対として選び出され、誤検出が増加する。逆にしきい値を厳しく設定すると、誤検出は減少するものの、必要な階段領域やその一部が処理領域外になる恐れがある。
【００５３】
そこで、この実施例にあっては、第１から第３のしきい値のそれぞれについて２段階の値を設定し、図１２に示す如く、最初は厳しい方のしきい値で処理領域を選び、次いで選んだ領域を緩い方のしきい値を使用して拡張するようにした。これにより、階段以外の領域が選択されるのを防止しながら、階段領域を広く含むように処理領域を選択（設定）することができる。
【００５４】
さらに、抽出線分群の中から平行線の関係にある線分を選び出す場合、全ての線分対に対して作業する代わり、次のように予め線分対を分類しておき、検査すべき線分対の数を減らすようにした。即ち、図１３に示す如く、画像を大まかにｎ個（図示例では３個）の領域に分割し、それぞれの線分がどの領域に属するか記録し、同じ領域に属する線分対同士のみを比較する。例えば、領域（１）についていえば、線分（番号）１，２，３，４についてのみ判断すれば足るようにした。これにより、作業能率を向上させることができる。
【００５５】
次いで、３Ｄ平面近似ブロック８１０の処理について説明する。
【００５６】
図８に示すように、平行線分という特徴からだけでは、平行線分を多く持つ窓８６などの構造と、階段８２との区別をつけ難い。そこで、この実施例においては、３次元形状の特徴を用いて区別することとした。
【００５７】
具体的には、白黒濃淡画像から選択された処理領域（階段領域）内の距離画像を構成する点集合を、図１４に示す如く、Ｘ，Ｙ，Ｚ空間上の距離データの集合として抽出する。階段８２は、段があるために正確には平面ではないが、巨視的には斜め平面とみなすことができる。階段８２の段と測定誤差による距離データのばらつきに対処するため、適当な平面モデル当てはめ演算（例えば最小二乗法）によって前記した平面モデル９０を当てはめ、その傾きを求める。
【００５８】
図１５は、理解の便宜のため、図１４の視点Ｖ０からＸＺ平面に投影した場合の図を示す。測定した各々の３次元点集合は階段形状と測定誤差のため、図示のようにばらついているが、近似平面との距離ｅｉ（ｉ＝１．．．ｎ）が何らかの意味で小さくなるような平面モデル９０のパラメータを計算する。
【００５９】
上記によって、図９に示す如く、当てはめられた平面モデル９０の傾きを調べることで、階段と、窓あるいは壁（の模様）などを容易に区別することができる。
【００６０】
次いで、階段形状認識ブロック８１２の処理を説明する。
【００６１】
先ず、図１０に示す、前記した階段モデル９２を設定する。階段モデル９２は水平と垂直の２つの平面で１段が構成され、それを単位として接続されて複数段が構成される。１段の高さと奥行きは可変とし、幅は無限の長さを仮定する。
【００６２】
３Ｄ平面近似ブロック８１０の処理と同様、この階段モデルを３次元点集合に当てはめ、最も一致する位置、方向、高さ、奥行きを階段として認識する。ところが、位置３自由度、回転３自由度、高さと奥行き２自由度を合計すると８自由度となり、８自由度では最小化によるモデル当てはめ問題として扱うためには自由度が多すぎるので、次のように問題を分割する。
【００６３】
即ち、図１６に示すように、階段位置の３次元点集合を切断面に投影して取り出すようにした。具体的には、床面に垂直な複数の平面（ＸＺ平面）を用い、ある間隔で３次元点集合を切断し、平面に近い３次元点集合を集める。図１７に集められた切断面の点集合を示す。
【００６４】
これらの点集合はほぼ２次元データとみなすことができるので、それに対して２次元階段モデル（切断モデル）９４を当てはめる。図１８に示すように、データ点から階段モデルに最も近い点までの距離ｅ２ｉ（ｉ＝１．．．ｎ）を測定点１点に対する誤差と考え、適当な意味での誤差の合計を、例えば最小二乗法を用いて最小にするようにモデルを収束させる。２次元階段モデル９４は位置２自由度、回転１自由度、高さと奥行き２自由度の合計５自由度であって、モデルへの当てはめも、現実の空間ではなく、２次元平面でなされるので、現実的な時間で計算することができる。
【００６５】
この場合、漸近的にモデルにデータを当てはめていく手法なので、適当な初期値の設定が必要である。そこで、大まかな段の位置と間隔を推定するため、図１７の切断面データを水平および垂直方向に投影し、それぞれのヒストグラムを作成する。
【００６６】
図１９に、よって得たヒストグラムを示す。段のある位置には多くのデータ点があるので、ヒストグラムにはピークができ、そのピークは高さや奥行きと同じ周期になる筈である。そこで、図１９の垂直軸に示すように周期的なウインドウを設定し、位置と周期を変えながら、ウインドウ内のヒストグラムの和が最も大きくなる位置を段の位置、周期を１段の高さとする。横方向の位置と奥行きについても同様である。
【００６７】
尚、垂直の壁を持たない階段の場合、図１９の水平軸はヒストグラムのピークを持たないので、図２０に示す如く、データ点列に直線を当てはめ、その傾きをα、図１９に関して述べた垂直ヒストグラムから求めた高さをｈとすると、奥行きｄは、ｄ＝ｈ／α、で求めることができる。
【００６８】
上記のようにして求めた複数の切断面形状から、凸頂点と凹頂点を選び出し、同じ高さを持つ頂点を接続することで、図２１に示す如く、階段８２の位置と形状を求めることができる。
【００６９】
尚、階段８２の幅については、３次元点集合の中から当てはめた平面モデル９０（図１４などに関して説明）に十分近い点集合を選び出し、孤立点などのノイズを除去して求める。
【００７０】
この実施例は上記の如く構成したので、撮像位置や撮像距離の影響を受け難いと共に、階段の形状を細部まで精度良く認識できると共に、位置も認識することができる。
【００７１】
即ち、階段８２を認識するために平行線は有力な特徴であるが、ロボット１が移動する事務所や家庭などの人工的な環境では、他にも直線や平行線を持つ特徴や、組み合わせによって平行線となってしまう直線構造が多数存在する。また、３次元の斜面形状は階段の特徴ではあるが、モデルマッチングによる形状認識がうまく働くためには、処理範囲をできるだけ限定することが必要である。何故ならば、一般に３次元形状の認識は処理コストが大きいことに加え、処理領域内に複数の平面からなる物体などを含むと、モデルマッチング処理の際、相互にノイズとなって良好な処理結果が得られないからである。
【００７２】
そこで、２次元的な画像処理（平行線のグループ化）によって処理範囲を限定すると共に、ステレオ視して得た距離画像（距離情報、より具体的には距離情報を示すテーブルデータ）について平面モデルと階段モデルを用いた３次元モデルマッチングによって限定された領域を詳細に評価するようにした。
【００７３】
即ち、処理領域を可能な限り限定するようにしたので、撮像位置や撮像距離の影響を受け難い利点を備えると共に、限定された処理領域を３次元モデルマッチングで詳細に評価するようにした。これによって、ＣＣＤカメラ５０の精度に応じて階段の細部の形状および位置を効率良く認識、換言すれば、ＣＣＤカメラ５０の備える精度の限界の精度まで階段の細部の形状および位置を認識することができる。
【００７４】
従って、ロボット１に搭載するときも、移動空間内の通路８４に存在する階段８２の位置および形状を良く認識することができる。
【００７５】
このように、この実施例においては、撮像手段から入力した画像に基づいて階段８２などの多面体の形状を認識する多面体認識装置（画像処理ＥＣＵ８０）において、前記撮像手段としての少なくとも１個のカメラ（ＣＣＤカメラ５０）と、前記カメラが撮像した画像の中の所定の領域（階段候補領域）を選択する領域選択手段（線分抽出ブロック８０２、平行線グループ化ブロック８０４）と、前記カメラで得た画像から距離画像（距離情報、より具体的には距離情報を示すテーブルデータ）を得ると共に、前記選択された領域に基づいて前記得た距離画像上に処理領域を設定する処理領域設定手段（処理領域設定ブロック８０８）と、および前記設定された処理領域内の前記距離画像に基づいて前記多面体の形状を認識する多面体形状認識手段（３Ｄ平面近似ブロック８１０、階段形状認識ブロック８１２）とを備える如く構成した。
【００７６】
上記で、前記撮像手段として少なくとも２個のカメラ（ＣＣＤカメラ５０）を備え、前記領域選択手段は前記２個のカメラのいずれかが撮像した画像の中から前記所定の領域（階段候補領域）を選択すると共に、前記処理領域設定手段は前記２個のカメラでステレオ視して得た画像から前記距離画像を得る如く構成した。
【００７７】
上記で、前記領域選択手段（より具体的には、その中の平行線グループ化ブロック８０４）は、前記撮像した画像から所定長さ以上の線分群を抽出し、前記抽出した線分群の位置に基づいて前記所定の領域を選択する如く構成した。
【００７８】
また、前記領域選択手段（より具体的には、その中の平行線グループ化ブロック８０４）は、前記抽出した線分群の中、互いに平行となる線分群であって、かつ距離的に接近する線分群の位置に基づいて前記所定の領域を選択するように構成した。
【００７９】
また、前記多面体形状認識手段は、前記処理領域内の前記距離画像を構成する点集合を３次元空間（Ｘ，Ｙ，Ｚ空間）上の距離データの集合として抽出し、前記抽出した点集合に基づいて前記多面体の形状を認識するように構成した。
【００８０】
また、前記多面体が階段８２であると共に、前記多面体形状認識手段は、前記抽出した点集合を傾斜平面とみなし、その近似平面、より具体的には平面モデル９０を求めることで前記階段の形状を認識する如く構成した。
【００８１】
また、前記多面体が階段であると共に、前記多面体形状認識手段は、前記抽出した点集合を垂直面（ＸＺ平面）に切断し、切断面の点集合と２次元モデル９４との誤差に基づいて前記階段の形状を認識する如く構成した。
【００８２】
尚、上記した実施例において、モデル９４で求めた階段位置を初期値として図１０の階段モデル９２を、図１６の全ての階段領域内の３次元点集合に当てはめると、階段８２のより正確な位置と形状を求めることができる。その場合には断面データへの処理で真値に近い初期値を設定することができるので、現実的な計算量で収束させることができる。
【００８３】
また、２個のカメラでステレオ視して得た３次元画像から距離画像を得るように構成したが、３ＤＶ  ＳＹＳＴＥＭＳ社（米国）のＺｃａｍ（商標）などの距離計測手法を用い、１個のカメラで距離画像を得るようにしても良い。請求項１で「少なくとも１個のカメラ」と記載したのは、そのためである。
【００８４】
さらに、多面体の例として階段８２を挙げたが、それに限定されるものではなく、踏台などであっても良い。
【００８５】
さらに、階段８２の例として通常の階段を挙げたが、螺旋階段であっても良い。その場合は、前記した平行線グループ化ブロック８０４において、平行線に代え、規則的なずれ角をもって変化する線分群を抽出して処理領域を設定すると共に、３Ｄ平面近似ブロック８１０では適宜なモデルを使用することになる。
【００８６】
さらに、この実施例に係る多面体認識装置を脚式移動ロボットに搭載した場合を例にとって説明したが、この実施例に係る多面体認識装置は、ＣＣＤカメラ（撮像手段）５０と画像処理ＥＣＵ８０があれば足り、脚式移動ロボットは必須の要件ではない。
【００８７】
さらには、この実施例に係る多面体認識装置を他の装置に搭載する場合も、脚式移動ロボット、車輪式移動ロボット、クローラ式の移動ロボットなどのロボットに限られるものではなく、車両などの移動体であっても良い。また、その移動体も、有人であると、無人であると、問うものではない。
【図面の簡単な説明】
【００８８】
【図１】この発明の一つの実施例に係る多面体認識装置が搭載される、脚式移動ロボットの正面図である。
【図２】図１に示す脚式移動ロボットの側面図である。
【図３】図１に示す脚式移動ロボットの内部構造を関節を中心に全体的に示す概略図である。
【図４】図３に示す脚式移動ロボットのＥＣＵ（電子制御ユニット）の詳細を、搭載される、この実施例に係るＣＣＤカメラおよび画像処理ＥＣＵからなる多面体認識装置も含めて示すブロック図である。
【図５】図４に示す、画像処理ＥＣＵ８０によって行われる、この実施例に係る多面体認識装置の動作あるいは処理を機能的に示すブロック図である。
【図６】図４に示すＣＣＤカメラの撮像環境を示す説明図である。
【図７】図５の線分抽出ブロックによって抽出された線分要素（画像）を示す説明図である。
【図８】図５の平行線グループ化ブロックによって得られた平行線グループを示す説明図である。
【図９】図５の３Ｄ平面近似ブロックの動作を示す説明図である。
【図１０】図５の階段形状認識ブロックが用いる階段モデルを示す説明図である。
【図１１】図５の平行線グループ化ブロックの処理を示す説明図である。
【図１２】同様に、図５の平行線グループ化ブロックの処理を示す説明図である。
【図１３】同様に、図５の平行線グループ化ブロックの処理を示す説明図である。
【図１４】図５の３Ｄ平面近似ブロックの動作を示す説明図である。
【図１５】同様に、図５の３Ｄ平面近似ブロックの動作を示す説明図である。
【図１６】同様に、図５の３Ｄ平面近似ブロックの動作を示す説明図で、階段位置の３次元点集合から切断面を取り出す作業を示す説明図である。
【図１７】図１６の処理によって得られる切断面の点集合を示す説明図である。
【図１８】図１７に示す切断面のデータ点と２次元階段モデルへの当てはめを示す説明図である。
【図１９】図１６などの処理で必要な初期値を決定するために使用されるヒストグラムの説明図である。
【図２０】図１９と同様な、図１６などの処理で必要な初期値の決定を示す説明図である。
【図２１】図１６などの処理によって認識される、階段の位置と形状を示す説明図である。
【符号の説明】
【００８９】
１  脚式移動ロボット（ロボット）、２  脚部リンク、３  上体、５  腕リンク、５０ＣＣＤカメラ（カメラ、撮像手段）、６０  ＥＣＵ（電子制御ユニット）、８０  画像処理ＥＣＵ、８２  階段（多面体）、８４  通路、８６  窓、９０  平面モデル、９２  階段モデル、８０２  線分抽出ブロック、８０４  平行線グループ化ブロック、８０８  処理領域設定ブロック、８１０  ３Ｄ平面近似ブロック、８１２  階段形状認識ブロック
【図１】
2005182826.tif 000003
【図２】
2005182826.tif 000004
【図３】
2005182826.tif 000005
【図４】
2005182826.tif 000006
【図５】
2005182826.tif 000007
【図６】
2005182826.tif 000008
【図７】
2005182826.tif 000009
【図８】
2005182826.tif 000010
【図９】
2005182826.tif 000011
【図１０】
2005182826.tif 000012
【図１１】
2005182826.tif 000013
【図１２】
2005182826.tif 000014
【図１３】
2005182826.tif 000015
【図１４】
2005182826.tif 000016
【図１５】
2005182826.tif 000017
【図１６】
2005182826.tif 000018
【図１７】
2005182826.tif 000019
【図１８】
2005182826.tif 000020
【図１９】
2005182826.tif 000021
【図２０】
2005182826.tif 000022
【図２１】
2005182826.tif 000023