(57)【要約】【課題】  撮影された画像の消失点を精度良く検出し、通行可能領域を特定する。【解決手段】  画像処理装置１００は、歩道ＳＷを撮影したディジタル画像データを入力し、この画像データから線分を抽出する。この線分の中から、消失点に有用なものを選択し、消失点と線分の両端で作られる三角形の面積に基づいて定まる評価値を用いて消失点の位置を特定する。また、消失点を通過する線分について、その両側の濃度差に基づいて歩道側端線に相当するか否かの評価を行い、歩道領域を特定する。更に、画像内に存在する垂直線分に基づいて、歩道領域内の障害物を特定し、これを避けるようにして通行可能領域を設定する。【選択図】  図１
2005275500.tif 000002
【特許請求の範囲】
【請求項１】
撮影された画像を処理して消失点を特定する画像処理方法であって、
コンピュータが実行する工程として、
処理対象となる画像データを入力する入力工程と、
前記画像データから、複数の線分を検出する線分検出工程と、
前記複数の線分を用いた幾何学的な解析に基づき前記消失点の位置を特定する消失点特定工程とを備える画像処理方法。
【請求項２】
請求項１記載の画像処理方法であって、
前記検出された線分から、所定の選別条件に基づいて、前記解析用の線分を選別する選別工程を備え、
前記消失点特定工程は、前記選別工程により選別された線分を用いる画像処理方法。
【請求項３】
請求項２記載の画像処理方法であって、
前記選別工程は、前記画像の下辺側に予め設定された領域に含まれる線分を、前記解析用の線分から除外する画像処理方法。
【請求項４】
請求項２記載の画像処理方法であって、
前記選別工程は、所定の基準により前記消失点が存在し得る存在可能範囲を設定し、該存在可能範囲を通過し得ない方向にある線分を、前記解析用の線分から除外する画像処理方法。
【請求項５】
請求項２記載の画像処理方法であって、
前記選別工程は、前記画像の上辺側に予め設定された領域に含まれる線分を、前記解析用の線分から除外する画像処理方法。
【請求項６】
請求項２記載の画像処理方法であって、
前記選別工程は、前記画像の左右方向を基準として所定の角度範囲内の方向にある線分を、前記解析用の線分から除外する画像処理方法。
【請求項７】
請求項１記載の画像処理方法であって、
前記画像データの濃度値と所定の閾値との大小関係によって、２値化画像データを得る２値化工程を有し、
前記線分検出工程は、前記２値化画像データから前記線分の検出を行い、
前記消失点特定工程は、前記解析に用い得る線分の数が所定の条件を満たさない場合には、前記閾値を変更して前記２値化工程を再試行させる画像処理方法。
【請求項８】
請求項７記載の画像処理方法であって、
前記所定の条件は、前記消失点が存在する候補として所定の基準で設定された候補位置を挟んで左右に所定数以上の線分が存在するという条件である画像処理方法。
【請求項９】
請求項１記載の画像処理方法であって、
前記消失点特定工程は、前記各線分の両端と消失点で形成される複数の三角形の面積に基づく所定の評価値が極値となるよう前記消失点の位置を特定する画像処理方法。
【請求項１０】
撮影された画像を処理して通路を特定する画像処理方法であって、
コンピュータが実行する工程として、
処理対象となる画像データを入力する入力工程と、
前記画像データに基づき、前記消失点の位置を特定する消失点特定工程と、
前記画像データから、前記消失点を通過する通過線分を検出する通過線分検出工程と、
前記画像データに基づいて、前記通過線分の両側の濃度差を求め、該濃度差に基づき、前記通過線分が通路の側端線であるか否かを評価する評価工程とを備える画像処理方法。
【請求項１１】
撮影された画像を処理して通行可能領域を特定する画像処理方法であって、
コンピュータが実行する工程として、
処理対象となる画像データを入力する入力工程と、
前記画像データを解析して、通路領域を特定する通路特定工程と、
前記画像データから、上下方向を基準として所定の角度範囲にある垂直線分を検出する垂直線分検出工程と、
前記垂直線分を障害物とみなすことにより、前記通路領域内のうち障害物を避けた通行可能領域を特定する通行可能領域特定工程とを備える画像処理方法。
【請求項１２】
請求項１１記載の画像処理方法であって、
前記垂直線分検出工程は、ハフ変換によって前記垂直線分を検出する画像処理方法。
【請求項１３】
請求項１１記載の画像処理方法であって、
前記通行可能領域特定工程は、前記画像の下辺側の所定領域内に含まれる垂直線分を選別して用いる画像処理方法。
【請求項１４】
撮影された画像を処理して進行経路を特定する画像処理方法であって、
コンピュータが実行する工程として、
処理対象となる画像データを入力する入力工程と、
前記画像データを解析して、通行可能領域を特定する通行可能領域特定工程と、
前記通行可能領域を前記画像の左右方向に所定比率で内分する点群を推奨する進行経路として設定する推奨経路設定工程と、
前記通行可能領域のうち、前記画像の下辺に平行な直線上に左右双方の境界が現れる領域内で、前記進行経路上の一点を、現在位置から前記進行経路への移行点として設定する移行点設定工程とを備える画像処理方法。
【請求項１５】
撮影された画像を処理して消失点を特定する画像処理装置であって、
処理対象となる画像データを入力する入力部と、
前記画像データから、複数の線分を検出する線分検出部と、
前記複数の線分を用いた幾何学的な解析に基づき前記消失点の位置を特定する消失点特定部とを備える画像処理装置。
【請求項１６】
撮影された画像を処理して通路を特定する画像処理装置であって、
処理対象となる画像データを入力する入力部と、
前記画像データに基づき、前記消失点の位置を特定する消失点特定部と、
前記画像データから、前記消失点を通過する通過線分を検出する通過線分検出部と、
前記画像データに基づいて、前記通過線分の両側の濃度差を求め、該濃度差に基づき、前記通過線分が通路の側端線であるか否かを評価する評価部とを備える画像処理装置。
【請求項１７】
撮影された画像を処理して通行可能領域を特定する画像処理装置であって、
処理対象となる画像データを入力する入力部と、
前記画像データを解析して、通路領域を特定する通路特定部と、
前記画像データから、上下方向を基準として所定の角度範囲にある垂直線分を検出する垂直線分検出部と、
前記垂直線分を障害物とみなすことにより、前記通路領域内のうち障害物を避けた通行可能領域を特定する通行可能領域特定部とを備える画像処理装置。
【請求項１８】
撮影された画像を処理して進行経路を特定する画像処理装置であって、
処理対象となる画像データを入力する入力部と、
前記画像データを解析して、通行可能領域を特定する通行可能領域特定部と、
前記通行可能領域を前記画像の左右方向に所定比率で内分する点群を推奨する進行経路として設定する推奨経路設定部と、
前記通行可能領域のうち、前記画像の下辺に平行な直線上に左右双方の境界が現れる領域内で、前記進行経路上の一点を、現在位置から前記進行経路への移行点として設定する移行点設定部とを備える画像処理装置。
【請求項１９】
撮影された画像を処理して消失点を特定するためのコンピュータプログラムであって、
処理対象となる画像データを入力する入力機能と、
前記画像データから、複数の線分を検出する線分検出機能と、
前記複数の線分を用いた幾何学的な解析に基づき前記消失点の位置を特定する消失点特定機能とをコンピュータに実現させるコンピュータプログラム。
【請求項２０】
撮影された画像を処理して通路を特定するためのコンピュータプログラムであって、
処理対象となる画像データを入力する入力機能と、
前記画像データに基づき、前記消失点の位置を特定する消失点特定機能と、
前記画像データから、前記消失点を通過する通過線分を検出する通過線分検出機能と、
前記画像データに基づいて、前記通過線分の両側の濃度差を求め、該濃度差に基づき、前記通過線分が通路の側端線であるか否かを評価する評価機能とをコンピュータに実現させるコンピュータプログラム。
【請求項２１】
撮影された画像を処理して通行可能領域を特定するためのコンピュータプログラムであって、
処理対象となる画像データを入力する入力機能と、
前記画像データを解析して、通路領域を特定する通路特定機能と、
前記画像データから、上下方向を基準として所定の角度範囲にある垂直線分を検出する垂直線分検出機能と、
前記垂直線分を障害物とみなすことにより、前記通路領域内のうち障害物を避けた通行可能領域を特定する通行可能領域特定機能とをコンピュータに実現させるコンピュータプログラム。
【請求項２２】
撮影された画像を処理して進行経路を特定するためのコンピュータプログラムであって、
処理対象となる画像データを入力する入力機能と、
前記画像データを解析して、通行可能領域を特定する通行可能領域特定機能と、
前記通行可能領域を前記画像の左右方向に所定比率で内分する点群を推奨する進行経路として設定する推奨経路設定機能と、
前記通行可能領域のうち、前記画像の下辺に平行な直線上に左右双方の境界が現れる領域内で、前記進行経路上の一点を、現在位置から前記進行経路への移行点として設定する移行点設定機能とをコンピュータに実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影された画像データを解析し、画像内で無限遠点に相当する消失点の位置を求める技術に関する。
【背景技術】
【０００２】
近年、カメラで撮影された画像を解析して、種々の用途に活用しようとする試みが行われている。かかる用途としては、例えば、画像に写った建造物の高さを推定し、３次元の地図モデルの生成が挙げられる。また、ロボットに搭載されたカメラによって撮影された画像を解析することで、そのロボットが通行可能な通路を特定するという用途もある。
【０００３】
いずれの場合においても、無限遠点に相当する消失点の画像内での位置を特定することが解析上の重要な課題となる。例えば、特許文献１では、撮影した画像のエッジを検出し、ハフ変換によって直線を抽出し、これらの交点として無限遠点を特定する技術が開示されている。ハフ変換は、分断された線分が多数含まれている画像からでも、直線を精度良く検出することができる解析手法である。特許文献１は、更に、こうして得られた消失点を、ロボットの目標進行方向と設定し、ロボットの走行制御を行う技術を開示している。
【０００４】
【特許文献１】特開平８−１０６３２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来の技術では、消失点の精度に改善の余地があった。例えば、現実の撮影画像には、歩道の側端のように消失点に向かって延びる直線ばかりではなく、例えば、歩道沿いの樹木や建築物の影など、消失点検出に対する種々のノイズが存在する。これらのノイズには、消失点と無関係の方向にある直線上に乗る点列を構成するものもある。ハフ変換では、かかる点列に基づく直線も検出される場合があり、この結果、消失点の推定精度が不十分となる可能性があった。
【０００６】
撮影された画像を、ロボットの走行制御に活用しようとする場合には、更に、次の課題も存在した。現実の世界では、消失点に向かう経路上に樹木などの障害物が存在する可能性がある。従来技術では、かかる障害物が存在する可能性については十分に検討されていなかった。
【０００７】
本発明は、かかる背景に基づき、撮影された画像の解析により、消失点の推定精度を向上すること、および現実的な進行経路の設定を図ることを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、撮影された画像を処理して消失点を特定する第１の画像処理方法として構成することができる。本発明では、処理対象となる画像データを入力し、この画像データから、複数の線分を検出する。そして、この複数の線分を用いた幾何学的な解析に基づき消失点の位置を特定する。従来技術では、ハフ変換によって消失点を特定していたのに対し、本発明では、複数の有限長さの線分を用いる。ハフ変換に依らずに線分を検出する方法としては、例えば、矩形被覆理論に基づく検出方法が挙げられる。
【０００９】
第１の画像処理方法では、このように線分を用いることにより、分断された線分同士を個別のものとして扱うことができる。例えば、樹木の影などに含まれる線分と歩道の側端を構成する線分とを分けて扱うことが可能となる。従って、第１の画像処理方法によれば、線分の選別など、消失点の精度向上を図るための手段を講じることが可能となり、消失点の特定精度を向上することができる。
【００１０】
例えば、本発明においては、検出された線分から、所定の選別条件に基づいて、解析用の線分を選別し、この選別された線分を用いて消失点を特定してもよい。こうすることで、有用性の高い線分のみを用いて、消失点の特定精度を向上することができる。
【００１１】
解析用の線分を選別するための条件は、種々の設定が可能である。例えば、第１の条件として、画像の下辺側に予め設定された領域に含まれる線分を除外するものとしてもよい。一般に画像の下辺側には、通行路内の画像が主として撮影される。従って、第１の条件によれば、かかる領域内の線分を除外するため、例えば、通行路上の影などに含まれるノイズによる影響を効率的に回避することができる。
【００１２】
線分選別の第２の条件として、所定の基準により消失点が存在し得る存在可能範囲を設定し、存在可能範囲を通過し得ない方向にある線分を、解析用の線分から除外するようにしてもよい。こうすることにより、消失点の特定精度を阻害する恐れがある線分を効率的に除外することができる。
【００１３】
存在可能領域は、撮影条件によって種々の設定が可能である。例えば、画像の図心を仮想的な消失点とし、その周囲の所定の領域を存在可能範囲とすることができる。消失点の特定を繰り返し実行している場合には、前回の処理時に特定された消失点を中心として存在可能範囲を設定してもよい。
【００１４】
線分選別の第３の条件として、画像の上辺側に予め設定された領域に含まれる線分を、解析用の線分から除外するようにしてもよい。現実に撮影された画像では、通路の側端線など地上にある線分が消失点に有用であり、上方にある線分はあまり有用でない場合がある。第３の条件によれば、このように有用性の低い線分を効率的に除外することができる。
【００１５】
線分選別の第４の条件として、画像の左右方向を基準として所定の角度範囲内の方向にある線分を、解析用の線分から除外するようにしてもよい。カメラを水平に向け、傾けずに撮影する場合、画像の左右方向は水平方向と言い換えることもできる。所定の角度範囲内の線分とは、水平方向に近い線分、換言すれば、傾きが浅い線分を意味する。かかる線分は、消失点の特定にあまり有用でない場合があり、第４の条件によれば、このような線分を効率的に除外することができる。
【００１６】
線分選別の条件は、上述した他にも種々の設定が可能である。また、上述の第１〜第４の条件は、全てを適用する必要はなく、その一部を選択して適用しても構わない。また、これらの条件は、同等の重要度で扱っても良いし、条件に応じて優先度を設けても良い。
【００１７】
本発明においては、線分を精度良く検出するための前処理として、２値化処理、即ち、画像データの濃度値と所定の閾値との大小関係によって、２値化画像データを得る処理を行っても良い。線分は、この２値化画像データから検出することができる。この際、解析に用い得る線分の数が所定の条件を満たさない場合には、閾値を変更して２値化処理を再試行することが好ましい。こうすることで、オペレータが閾値の調整を行うまでなく、解析に適した２値化を実現でき、消失点の特定精度を向上することができる。
【００１８】
閾値を変更するか否かの判断基準となる所定の条件は、種々の設定が可能である。例えば、検出された線分数に基づく条件としてもよい。この場合、検出された線分の総数が所定値以上という条件としてもよいし、画像内の領域ごとに所定数以上の線分を要求する条件としてもよい。後者の例としては、例えば、消失点が存在する候補として所定の基準で設定された候補位置を挟んで左右に所定数以上の線分が存在するという条件とすることができる。これは、候補位置の左右に線分が存在することを要求することにより、消失点の特定精度を向上するための条件である。候補位置は、先に消失点の存在可能領域と同様、種々の設定を用いることができる。
【００１９】
本発明において、検出された線分に基づく消失点の特定は、種々の解析手法を用いることができる。例えば、これらの線分の交点を消失点として特定するようにしてもよい。かかる場合には、消失点から各線分までの距離の自乗和を評価値とし、この評価値が最小となるという条件を見たす点を消失点として特定することになる。
【００２０】
別の方法として、各線分の両端と消失点で形成される複数の三角形の面積に基づいて評価値を設定し、この評価値が極値となるよう消失点の位置を特定してもよい。評価値は、例えば、三角形の面積の自乗和とすることができ、この場合は、評価値が最小となる点を消失点とすることができる。三角形の面積には、線分の長さ、および線分と消失点との距離が影響を与える。従って、三角形の面積を評価値は、長い線分や、消失点から遠い線分に対して高い重みが付加された値となるため、消失点の特定精度を向上することができる。
【００２１】
本発明は、撮影された画像を処理して通路を特定する第２の画像処理方法として構成することもできる。第２の画像処理方法では、画像データを入力し、消失点の位置を特定する。消失点の特定は、第１の画像処理方法を適用してもよいし、従来技術を用いてもよい。第２の画像処理方法は、こうして求められた消失点を通過する通過線分を画像データから検出する。そして、通過線分の両側の濃度差を求め、この濃度差に基づき、通過線分が通路の側端線であるか否かを評価する。一般に通路の側端線では、その両側で濃度差が大きい。従って、第２の画像処理によれば、消失点を通過する種々の線分から、通路の側端線を精度良く抽出することができ、通路を精度良く特定することが可能となる。
【００２２】
本発明は、撮影された画像を処理して通行可能領域を特定する第３の画像処理方法でとして構成することもできる。第３の画像処理方法では、画像データを入力し、通路領域を特定する。通路領域の特定は、第１および第２の画像処理方法の少なくとも一方を適用してもよいし、従来技術によってもよい。第３の画像処理方法では、更に、画像データの上下方向を基準として所定の角度範囲にある垂直線分を検出する。こうすることにより、この垂直線分を障害物とみなして、通路領域内のうち障害物を避けた通行可能領域を特定することが可能となる。
【００２３】
第３の画像処理方法において、垂直線分の検出には、ハフ変換を用いることが好ましい。こうすることで、ノイズ等によって分断された線分群からでも、垂直線分を精度良く検出することができる。第１および第３の画像処理方法を組み合わせて用いる場合には、消失点を特定するための線分はハフ変換とは異なる方法で検出し、垂直線分はハフ変換によって検出することになる。
【００２４】
第３の画像処理方法では、画像の下辺側の所定領域内に含まれる垂直線分を選別して、通行可能領域を特定するようにしてもよい。画像の下辺側の領域は、現在位置に近い領域となる。従って、かかる領域の垂直線分を用いることにより、現在位置近くの領域を重視し、現実的な通行可能領域を精度良く特定することができる。
【００２５】
本発明は、撮影された画像を処理して進行経路を特定する第４の画像処理方法として構成してもよい。第４の画像処理方法では、画像データを入力し、通行可能領域を特定する。通行可能領域の特定には、第１〜第３の画像処理方法の少なくとも一部を利用してもよいし、従来技術によってもよい。第４の画像処理方法は、この通行可能領域を、画像の左右方向に所定比率で内分する点群を推奨する進行経路として設定する。そして、通行可能領域のうち、画像の下辺に平行な直線上に左右双方の境界が現れる領域内で、進行経路上の一点を、現在位置から進行経路への移行点として設定する。
【００２６】
こうすることにより、例えば、ロボットにおいて、推奨される進行経路を自動的に走行する制御を行わせることができる。第４の画像処理方法において、例えば、左右双方の境界が現れる領域の下端で移行点を設定すれば、進行経路への速やかな移行を実現することができる。移行点を上方に設定する程、進行経路に緩やかに移行させることができる。
【００２７】
本発明は、上述した特徴部分を全て備えている必要はなく、一部を省略しても構わない。また、第１〜第４の画像処理方法の特徴を組み合わせてもよい。本発明は、上述した画像処理方法の他、画像処理装置として構成してもよいし、上述の画像処理を実現するためのコンピュータプログラム、このコンピュータプログラムを記録した記録媒体などの形式で構成することもできる。記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等、コンピュータが読取り可能な種々の媒体を利用できる。
【発明を実施するための最良の形態】
【００２８】
本発明の実施例について以下の順序で説明する。
Ａ．システム構成：
Ｂ．走行コース設定処理：
Ｃ．前処理：
Ｃ１．濃度正規化、平滑化処理：
Ｃ２．２値化処理：
Ｄ．線分検出処理：
Ｅ．線分選別処理：
Ｆ．消失点推定処理：
Ｆ１．消失点推定処理（１）：
Ｆ２．消失点推定処理（２）：
Ｇ．通行可能領域の特定：
Ｇ１．側端線確度評価：
Ｇ２．側端線確度評価の変形例：
Ｇ３．通行可能領域特定処理：
Ｈ．進行パス決定処理：
【００２９】
Ａ．システム構成：
図１は実施例としての画像処理装置の概略構成を示す説明図である。実施例としての画像処理装置は、ディジタルカメラＤＳＣで歩道ＳＷを撮影した画像データＰｉｃを入力し、これを解析して、消失点、通行可能領域、進行パスを特定する。本実施例では、画像処理装置は、パーソナルコンピュータに図示する各機能ブロックを実現するためのコンピュータプログラムをインストールすることで構成される。実施例の画像処理装置およびディジタルカメラＤＳＣをロボットに搭載することにより、ロボットの走行制御を行う制御装置として構成してもよい。
【００３０】
本実施例では、画像Ｐｉｃは、次の条件で撮影されているものとする。歩道ＳＷの幅Ｗｒは、ほぼ一定である。ディジタルカメラＤＳＣは、歩道ＳＷ内の任意の点Ｐｃにおいて、撮影方向Ｖｃが水平になるよう設置される。撮影された画像データは、横方向にＷｉｄｔｈ，縦方向にＨｅｉｇｈｔの画素で構成され、各画素において、各色成分につき０〜２５５の濃度値を有するカラー画像データである。ディジタルカメラＤＳＣが水平に設置されていることから、以下、横方向を水平方向、縦方向を垂直方向と称することもある。
【００３１】
図中には、画像処理装置の機能ブロックを併せて示した。先に説明した通り、本実施例では、これらの機能ブロックは、ソフトウェア的に構成されているが、少なくとも一部をハードウェア的に構成しても差し支えない。
【００３２】
各機能ブロックは、主制御部１１０の制御下で、それぞれ以下の機能を実現する。画像入力部１２０は、ディジタルカメラＤＳＣで撮影された画像データＰｉｃを入力する。通常の写真をスキャンしディジタル化して入力するようにしてもよい。
【００３３】
コマンド入力部１３２は、キーボード、マウスなどに対するオペレータの操作を通じて、画像処理に関連する種々のコマンドを入力する。出力部１４０は、画像処理の結果を出力する。種々の出力形式を採ることが可能であるが、本実施例では、コンピュータのディスプレイに表示するものとした。
【００３４】
前処理部１２２は、入力された画像に対し、消失点を特定するための前処理を施す。前処理としては、画像データの濃度正規化、平滑化、エッジ強調が挙げられる。
【００３５】
２値化部１２４は、画像データの濃度値と所定の閾値との大小関係に基づいて、画像データを２値化する。２値化部１２４は、消失点を特定する過程で、主制御部１１０からの指示により、閾値を変更して、画像データの２値化を再処理する場合がある。
【００３６】
線分検出部１２６は、２値化画像データから、線分を検出する。線分の検出方法として、本実施例では、矩形被覆理論を用いるものとした。線分選別部１２８は、検出された線分から、種々の条件に基づき、消失点の推定に用いる線分を選別する。選別条件については、後述する。
【００３７】
消失点推定部１３０は、検出、選別された線分に基づいて、消失点を推定する。本実施例では、２種類の方法を使い分けて推定をするものとした。
【００３８】
側端線評価部１３４は、推定された消失点を通過する線分を評価し、歩道の両側端線、ひいては歩道領域を特定する。走行可能領域特定部１３６は、歩道領域中の障害物を検出し、障害物を避けて走行可能な領域、即ち走行可能領域を特定する。進行パス決定部１３８は、走行可能領域中に、推奨される進行パスを設定する。また、現在位置が進行パスからずれている場合、進行パスに移行するための当面の目標地点、即ち移行点を設定する。
【００３９】
図２は消失点を例示する説明図である。歩道を撮影した画像例を示した。直線ＬＲが歩道の右側端線、直線ＬＬが左側端線に相当する。歩道の左側には、樹木Ａが存在している。歩道上には樹木の影Ｂが写っている。消失点Ｖｐとは、無限遠点に相当し、歩道の側端線ＬＲ，ＬＬの交点に対応する。本実施例の画像処理装置は、このように、樹木の影などのノイズが存在する画像データを解析して、消失点Ｖｐを求め、歩道領域を特定し、進行パスを決定する。
【００４０】
Ｂ．走行コース設定処理：
図３は走行コース設定処理のフローチャートである。画像処理装置１００が実行する処理であり、画像データを入力してから、進行パスを決定するまでの全体の処理概要に相当する。本実施例では、この処理は、オペレータが画像データの入力、および解析開始のコマンドを入力することにより実行するものとした。例えば、ディジタルカメラＤＳＣに代えて、ディジタルビデオカメラを使用している場合には、この処理は、動画像を構成するフレーム画像データが入力される度に、自動的に繰り返し実行するようにしてもよい。以下では、まず図３に従って、全体の処理概要を説明し、各処理については後で詳述する。
【００４１】
この処理が開始されると、画像処理装置１００は、ディジタルカメラＤＳＣから画像データを入力する（ステップＳ１０）。本実施例では、カラー画像データのうち、単成分のみを解析に用いるものとした。カラー画像データがＲ，Ｇ，Ｂの成分で表されている場合には、Ｒ成分のみを用いる。ＹＣＣ分離されている場合には、Ｙ（輝度）成分のみを用いる。このように成分を選んだのは、実験の結果、消失点の推定精度が比較的良好であったからである。解析に使用する成分は、この例に限らず、任意に設定可能であり、また、画像データの全色成分を解析対象としても構わない。
【００４２】
次に、画像処理装置１００は、前処理として、この画像データの濃度正規化、平均化処理を実行する（ステップＳ３０）。また、平滑化されたデータに対し、Ｓｏｂｅｌオペレータによるエッジ強調処理を施す（ステップＳ５０）。エッジ強調処理は、Prewitt, Gradient, Laplacian, Laplacian  Of  Gaussian, Kirschなどのオペレータを用いてもよい。前処理が完了すると、画像処理装置１００は、２値化処理を実行する（ステップＳ７０）。２値化処理とは、画像データの各画素の濃度値と閾値との大小関係に基づいて、各画素に「０」または「１」のいずれかの濃度値を割り当てる処理である。
【００４３】
画像処理装置１００は、２値化画像データに基づき、線分をベクトルデータとして検出する線分検出処理を行い（ステップＳ９０）、これらの線分から消失点の推定に有効な線分を選別する線分選別処理を実行する（ステップＳ１１０）。
【００４４】
こうして選別された線分が所定の解析条件を満足するか否かを判定する（ステップＳ１３０）。解析条件とは、消失点の推定精度を確保するのに必要な数の線分が得られたか否かの判定条件である。この条件を満足しない場合には、画像処理装置１００は、２値化に用いる閾値を変更して、２値化処理以降の処理を再試行する。閾値を変更することにより、２値化結果、線分検出結果、線分選別結果がそれぞれ影響を受けるため、解析結果を満足する線分が得られる場合がある。画像処理装置１００は、閾値を段階的に変更しながら、解析条件を満たす線分が得られるまで、上述の処理を繰り返し実行する。この処理が無限に繰り返されるのを回避するため、繰り返し数に上限値を設けても良い。
【００４５】
解析条件を満足する線分が得られると、画像処理装置１００は、この線分を用いて消失点の推定処理（１）、（２）を実行する（ステップＳ１５０、Ｓ１７０）。そして、両者の結果に基づき、消失点の位置を特定する（ステップＳ１９０）。消失点推定処理（１）、（２）は、必ずしも双方を行う必要はなく、いずれか一方を省略しても差し支えない。
【００４６】
画像内の歩道の側端線は、消失点またはその近傍を通過する。従って、画像処理装置１００は、特定された消失点を通過する線分を検出し、側端線確度評価、即ち、各線分ごとに歩道の側端線と見なせるか否かの評価を行う（ステップＳ２１０）。この評価結果に基づき、画像処理装置１００は、画像内で歩道領域を特定することができる。
【００４７】
次に画像処理装置１００は、歩道領域内で障害物を避けて走行可能な領域を特定する（ステップＳ２３０）。そして、走行可能領域内で、推奨される進行パスを設定して（ステップＳ２５０）、これらの結果を出力して、走行コース設定処理を終了する。以下、上述の各処理について、その詳細な内容を説明する。
【００４８】
Ｃ．前処理：
Ｃ１．濃度正規化、平滑化処理：
図４は画像データ濃度正規化、平滑化処理のフローチャートである。図３のステップＳ３０に相当する処理である。この処理では、画像処理装置１００は、画像データを入力し（ステップＳ３１）、全画素の濃度平均値ａｖ、標準偏差ｓｉｇｍａを算出する（ステップＳ３２）。先に説明した通り、本実施例では、この処理は、ＲＧＢ画像データのＲ成分、またはＹＣＣデータのＹ成分についてのみ行うものとした。
【００４９】
図中に画像データにおける画素の配列を例示した。破線で描かれたマスが画素に相当する。濃度値ｉｍａｇｅ［ｉｙ］［ｉｘ］は、縦方向にｉｙ、横方向にｉｘの位置にある画素の濃度値を意味する。画像処理装置１００は、次式により、各画素の濃度値image[iy][ix]を補正し、正規化を行う（ステップＳ３３）。
image[iy][ix]←(image[iy][ix]-ave)×sigmanorm/sigma+avenorm;
ave...濃度平均値；
sigma...標準偏差；
avenorm...規格化濃度平均値；
sigmanorm...規格化標準偏差；
【００５０】
規格化濃度平均値avenorm、および規格化標準偏差sigmanormは、任意に設定可能であり、画像データが０〜２５５の濃度値を有する場合、avenorm=100、sigmanorm=64とすることができる。
【００５１】
次に、画像処理装置１００は、Ｍｅｄｉａｎフィルタによる平滑化処理を行う（ステップＳ３４）。図中にＭｅｄｉａｎフィルタの処理内容を模式的に例示した。ハッチングを付した画素が、処理対象である。Ｍｅｄｉａｎフィルタでは、処理対象となる画素の周囲に、例えば、３×３の領域を設定し、この領域内の濃度値を検出し、この濃度値を低い順にソートする。図中では、各画素の濃度値がｉ０〜ｉ８であるものとし、図示する大小関係にあるものとする。Ｍｅｄｉａｎフィルタでは、ソートされた濃度値の中央値、図の例では濃度値ｉ８を、処理対象の画素の濃度値として割り当てる。Ｍｅｄｉａｎフィルタに代えて、Ｇａｕｓｓｉａｎ、Ｍｅａｎなどの手法を用いてもよい。
【００５２】
図５は濃度正規化、平滑化処理の処理例を示す説明図である。図の上方には、処理前の画像データを示した。中段には、濃度正規化および平滑化処理を施した結果を示した。下段には、Ｓｏｂｅｌオペレータによるエッジ強調処理を施した結果を示した。
【００５３】
Ｃ２．２値化処理：
図６は２値化処理のフローチャートである。図３のステップＳ７０に相当する処理である。処理が開始されると、画像処理装置１００は、エッジ強調処理が完了した画像データを入力し（ステップＳ７１）、以下の手順で、画素ごとに２値化を行う。
【００５４】
画像処理装置１００は、着目画素の濃度値image[iy][ix]を読み込み（ステップＳ７２）、予め設定された閾値ｔｈＬ、ｔｈＨとの大小関係を比較する（ステップＳ７３）。ｔｈＬ≦image[iy][ix]≦ｔｈＨなる条件を満足する時には、濃度値image[iy][ix]に値１を代入し（ステップＳ７５）、その他の場合には濃度値image[iy][ix]に値０を代入する（ステップＳ７４）。本実施例では、濃度値１は白色、濃度値０は黒色を意味する。
【００５５】
閾値ｔｈＬ、ｔｈＨは、上述の通り２値化の基準となる値であり、０〜２５５の範囲で任意に設定可能である。本実施例では、ｔｈＨを用いることにより、エッジ強調処理の結果、明らかに白色ノイズ、即ち輝度が飽和したものと思われる部分の除去を図った。２値化はｔｈＬのみを用いて行うものとしてもよい。この場合、ｔｈＨは省略するか、値２５５に設定すればよい。画像処理装置１００は、以上の処理を全画素について終了するまで繰り返し実行する（ステップＳ７６）。
【００５６】
次に、画像処理装置１００は、ラベリングによるノイズ除去処理を実行する（ステップＳ７７）。図中にラベリングの処理概要を示した。図中の破線は画素を示し、ハッチングを施した画素は濃度値１、その他の画素は濃度値０であるものとする。ラベリング処理では、濃度値１の画素について、順次、ラベルを付していく。この際、濃度値１の画素同士が隣接する場合には、両者に同じラベルを付す。図中の例では、この処理により、０〜２の３種類のラベルが付された状態を示した。同一ラベルが付された画素のグループを、以下、塊領域と称するものとする。
【００５７】
画像処理装置１００は、こうして付されたラベルに基づき、各塊領域の面積を求め、その平均面積を算出する（ステップＳ７８）。そして、平均面積未満の面積となっている塊領域を除去する（ステップＳ７９）。こうすることにより、図中のラベル「２」のような微小な画素からなる点（微少領域）ノイズが除去される。
【００５８】
図７は２値化処理の処理例を示す説明図である。図の上段には、エッジ強調処理後の画像を示した。中段には、２値化処理後の画像を示した。下段には、ラベリングによるノイズ除去後の画像を示した。
【００５９】
Ｄ．線分検出処理：
図８、図９および図１０は線分検出処理のフローチャートである。図３のステップＳ９０に相当する処理である。この処理が開始されると、画像処理装置１００は、２値化およびノイズ除去された画像データを入力する（ステップＳ９１）。
【００６０】
画像処理装置１００は、まず線分検出のために、以下の手順で、塊領域の外側輪郭点だけを抽出する処理を行う。まず、画像処理装置１００は、この画像データのうち、濃度値１の各画素について、近傍画素のカウント値Ｃｎを求める（ステップＳ９２）。図中にカウント値Ｃｎを求める方法を例示した。図中の破線で囲まれたマスがそれぞれ画素を表している。ハッチングを付した画素は、濃度値１の画素である。この画素の中で、例えば、画素Ｐａが着目画素となっている場合を考える。画像処理装置１００は、着目画素の周辺に３×３の領域を設定する。そして、この領域中で、着目画素を除き、濃度値１となっている画素数を求め、この値をカウント値Ｃｎとする。着目画素Ｐａに対しては、カウント値Ｃｎは２となる。同様にして、着目画素Ｐｂに対しては、カウント値Ｃｎは７となる。
【００６１】
画像処理装置１００は、「２≦カウント値Ｃｎ≦４」となっている画素について、濃度値image[iy][ix]を値１とし、その他の画素について濃度値image[iy][ix]を値０とする（ステップＳ９３〜Ｓ９５）。上記条件を満足する画素は、画素Ｐａのように塊領域の輪郭に位置する画素に相当し、その他の画素は、塊領域の内側領域に位置する画素に相当する。従って、ステップＳ９３〜Ｓ９５の処理によって、画像処理装置１００は、画像データから、塊領域の外側輪郭点だけを抽出することができる。
【００６２】
次に、画像処理装置１００は、歩道領域の背景化処理を行う（ステップＳ９６）。図中に処理方法を併せて示した。図示する通り、画像データＰｉｃ中に、下辺を含む半楕円形の領域ＥＡを設定し、この領域ＥＡに含まれる画素に対しては、濃度値を値０とする。本実施例の場合、画像の下辺中心あたりは「歩道」である確率が高い。従って、歩道と推定される領域ＥＡ中の画素を濃度値０とすることにより、歩道の目地や樹木の影などによる雑音の影響を軽減することができる。領域ＥＡは、下辺を含む半楕円領域に限らず、歩道と推定される可能性が高い領域の形状を考慮して、半円、矩形、台形など、種々の形状に設定可能である。
【００６３】
次に、画像処理装置１００は、図９に示す手順で、線分に対応する点列を抽出する。画像処理装置１００は、画像の各画素を左下から順次、スキャンして、濃度値１の信号画素を検出する（ステップＳ９７）。図中にスキャン例を示した。ハッチングを施した画素が信号画素である。画素中の数字は、図８のステップＳ９２で求めたカウント数Ｃｎから１を減じた値を表している。この例では、画像処理装置１００は、最初に画素ＰＰを信号画素として検出することになる。
【００６４】
こうして信号画素が検出されると（ステップＳ９８）、画像処理装置１００は、この信号画素を第１点とし、その周辺の画素をスキャンして、線分を構成する第２点を特定する（ステップＳ９９）。図中左側に信号画素ＰＰを中心とする３×３の周辺画素について、スキャンの優先順位を数字で示した。本実施例では、直上を最優先、以下、右斜め上、左斜め上、その他の順序でスキャンする。この結果、図の右側の例では、信号画素ＰＰに対して、右斜め上（矢印方向）の画素が線分の第２点として特定される。
【００６５】
画像処理装置１００は、次に、第３点以降を特定する（ステップＳ１００）。第３点以降では、進行方向を基準としてスキャンの優先順位を設定する。例えば、図の例では、第１点画素から第２点画素に向かう斜め右方向が進行方向となるため、この方向を優先順位１としてスキャンを行う。この例では、かかる方向に信号画素が存在しないため、進行方向に対して斜め左（図中の矢印方向）が第３点として特定される。画像処理装置１００は、ステップＳ１００の処理を、信号画素が見いだせなくなるまで繰り返し実行する。
【００６６】
こうして一連の点列が検出されると、画像処理装置１００は、検出された画素についてカウント値を１だけデクリメントし（ステップＳ１０１）、カウント値０となった画素を信号画素から除外する。こうすることにより、線分の分岐点に相当する画素については、以後の線分検出の対象として残しつつ、検出済みの画素を以後の線分検出の対象から除外することができる。
【００６７】
画像処理装置１００は、以上の処理を、信号画素が検出されなくなるまで、繰り返し実行する（ステップＳ９８）。こうすることで、画像中の信号画素は、いずれかの線分を構成する点列として相互に関連づけられる。
【００６８】
図１０に移り、画像処理装置１００は、こうして関連づけられた点列を、長方形被覆処理によって折れ線データ化する（ステップＳ１０２）。図中にこの処理の内容を例示した。図中のハッチングを付したマスは、線分を構成する点列を表している。この処理では、これらの点列が可能な限り多く含まれるよう、予め設定された幅Ｌｈｍａｘの長方形の長さおよび方向を設定し、図示する通り、順次、配置する。そして、こうして配置された各長方形の対称軸をつなぐ折れ線Ｌを求める。画像処理装置１００は、この処理を、全点列について完了するまで繰り返し行う（ステップＳ１０３）。
【００６９】
次に、画像処理装置１００は、各線分の長さＬＬを検出し（ステップＳ１０４）、予め設定された下限値Ｌｍｉｎ以上のもののみを検出線分として、線分リストに登録する（ステップＳ１０５，Ｓ１０６）。下限値Ｌｍｉｎ未満の長さの線分については、解析に有用ではないと判断し、除外する。下限値Ｌｍｉｎは、解析への有用性を考慮して、０以上の任意の値に設定可能である。画像処理装置１００は、以上の処理を、全線分について完了するまで繰り返し（ステップＳ１０７）、線分検出処理を完了する。
【００７０】
図１１は線分検出の処理例を示す説明図である。上段には、２値化処理およびノイズ除去後の画像データを示した。中段には、外側輪郭点列を抽出した画像を示した。輪郭点列が黒で表されている。下段には、線分の検出結果を示した。右下には、歩道の側端線に相当する線分Ｌｒが検出されていることが分かる。
【００７１】
Ｅ．線分選別処理：
図１２は線分選別処理のフローチャートである。図３のステップＳ１１０に相当する処理である。この処理は、検出された線分のうち、消失点の推定に有効な線分を選別するための処理である。
【００７２】
この処理が開始されると、画像処理装置１００は、線分検出結果を入力する（ステップＳ１１１）。そして、第１の選別条件、即ち消失点の存在可能範囲を通過するという条件を満たす線分を抽出する（ステップＳ１１２）。図中に、第１の選別条件の内容を例示した。画像Ｐｉｃ内に、仮想的な消失点Ｖｐの位置を想定する。この位置は、例えば、画像Ｐｉｃの重心としてもよいし、走行コース設定処理（図３）を繰り返し実行している場合には、前回の処理時に求められた消失点位置に基づいて設定してもよい。
【００７３】
図中のハッチングを付した楕円領域は、消失点存在可能範囲Ａｐを表している。消失点存在可能範囲Ａｐは、想定された消失点に対して、生じ得る誤差範囲を考慮して任意に設定された領域である。本実施例では、消失点Ｖｐ周りに設けられた規定の楕円形領域を消失点存在可能範囲Ａｐと設定した。この範囲は、楕円形である必要はなく、円形、矩形、台形など種々の形状に設定することができる。
【００７４】
画像処理装置１００は、検出された各線分を延長し、この消失点存在可能範囲Ａｐを通過する線分のみを抽出する。通過するか否かの確認は、種々の幾何学的な解析手法で行うことができるが、本実施例で採用した方法については、後述する。図の例では、線分Ｌ１〜Ｌ５のうち、Ｌ３を除く各線分が抽出されることになる。この処理により、消失点存在可能範囲Ａｐを通過しない線分、即ちノイズである可能性が高い線分が除外される。
【００７５】
次に、画像処理装置１００は、第２の選別条件として、画像の上方領域内の線分を除外する（ステップＳ１１３）。図中にこの処理の内容を例示した。画像Ｐｉｃ内で、上辺を含む所定の領域Ａｕ内の線分Ｌ４が除去されることになる。消失点を特定する際には、歩道の側端線など地上に現れる線分が有用であり、上方に現れる線分は樹木の輪郭など、有用性が低い線分である可能性が高い。第２の選別条件によれば、このような線分を除外することができる。
【００７６】
上方領域は、種々の方法で規定可能である。本実施例では、画像の高さＢを用い、仮想的な消失点Ｖｐより距離Ｂ／４だけ上方の位置に、上方領域の境界線を設定した。この値「Ｂ／４」は、任意に設定可能である。また、固定値である必要はない。例えば、上方領域によって除外されずに残った線分数が所定数以上確保されるまで、距離を値０から徐々に大きくしつつ、ステップＳ１１３の処理を繰り返し実行してもよい。この繰り返し処理により、消失点の特定に必要な線分数は確保しつつ、有用性の低い線分を効率的に除外することが可能となる。
【００７７】
画像処理装置１００は、第３の選別条件として、ほぼ水平な線分を除去する（ステップＳ１１４）。ほぼ水平な線分は、前方を横切る道路の側端線など、消失点の推定にあまり有用でない可能性が高いからである。本実施例では、図中に示す通り、水平方向を基準として、±１５°の傾き、即ち、線分の傾きが、「−１５°≦傾き≦１５°」、「１６５°≦傾き≦１９５°」のいずれかの条件を満足するものを除去する設定とした。除去する傾き範囲は、この例に限らず、任意に設定可能である。かかる設定の結果、図の右側に示すように、画像Ｐｉｃ内の線分Ｌ１，Ｌ５のうち、線分Ｌ５が除去されることになる。
【００７８】
図１３は消失点存在可能範囲を通過するか否かの判定手法を示す説明図である。図１２のステップＳ１１２で説明した第１の選別条件を満たすか否かの判定手法に相当する。図中に示す通り、消失点Ｖｐの周りに設定された楕円形の消失点存在可能範囲Ａｐを、線分Ｌ１０が通過するか否かを判定する場合を例にとって説明する。
【００７９】
この処理では、判定対象となる線分Ｌ１０の一端Ｐａから、それぞれ消失点存在可能領域Ａｐに接線Ｌａ１、Ｌａ２を引く。そして、各線分Ｌａ１、Ｌａ２、Ｌ１０の方向角Ａａ１、Ａａ２、ＡＬを求める。方向角は、図中に示す通り、水平方向を０°として、反時計回りに定義する。
【００８０】
このようにして求められた方向角について、
（ＡＬ−Ａａ１）×（ＡＬ−Ａａ２）＜０
という条件を満足する時には、線分ＡＬは消失点存在可能領域Ａｐを通過し、この条件を満足しない時は、通過しないと判定することができる。
【００８１】
上記判定は、線分Ｌ１０の一端Ｐａについてのみ行うものとしてもよいが、本実施例では、より確実性を高めるため、他端Ｐｂについても同様の判定を行う。両端において、上述の条件を満たす場合に、線分Ｌ１０は消失点存在可能領域Ａｐを通過すると判定するものとした。
【００８２】
画像処理装置１００は、以上で説明した線分選別処理が完了すると、先に図３のステップＳ１３０で示した通り、選別された線分が以下に示す解析条件を満足するか否かを判定する。解析条件が満たされない場合には、閾値を変更して、２値化、線分検出処理、線分選別処理を再試行する。
【００８３】
図１４は解析条件を示す説明図である。図の上方に示す通り、画像Ｐｉｃ内に、線分Ｌ１、Ｌ２、Ｌ６、Ｌ７、仮想的な消失点Ｖｐ、消失点存在可能範囲Ａｐが存在する場合を例にとって説明する。本実施例では、仮想的な消失点位置Ｖｐを通過する縦方向の線により、画像Ｐｉｃを右側領域ＡＲと左側領域ＡＬに分ける。そして、右側領域ＡＲにおける右下がりの線分の本数ｎＲＴ、および左側領域ＡＬにおける左下がりの線分の本数ｎＬＴが、それぞれ１以上となることを解析条件とする。
【００８４】
図の例では、線分Ｌ１は、右側領域ＡＲにおいて右下がりの線分に相当する。線分Ｌ２は、左側領域ＡＬにおいて左下がりの線分に相当する。線分Ｌ６、Ｌ７は、これらの条件には該当しない。従って、ｎＲＴ、ｎＬＴは共に値１となり、解析条件が満たされる。
【００８５】
このように解析条件を設定することにより、仮想的な消失点の左右に存在し、かつ方向の異なる線分を用いて消失点を推定することができるため、推定精度を向上することができる。本実施例では、上述の解析条件を固定的に用いるものとしたが、２値化、線分検出処理、線分選別処理の試行数に応じて解析条件を緩和してもよい。例えば、傾きを不問として各領域ＡＲ、ＡＬに存在する線分の本数に基づいて解析条件を判定するようにしてもよい。逆に、領域を不問とし、傾きの異なる線分の本数に基づいて解析条件を判定するようにしてもよい。更には、領域、傾きを不問とし、単に選別された線分の本数のみに基づいて解析条件を判定するようにしてもよい。
【００８６】
Ｆ．消失点推定処理：
Ｆ１．消失点推定処理（１）：
図１５は消失点推定処理（１）のフローチャートである。図３のステップＳ１５０に相当する処理である。この処理が開始されると、画像処理装置１００は、線分の選別結果を入力する（ステップＳ１５１）。図中に入力された線分の例を示した。線分の両端の座標は、点Ｐ１ｉ（ｘ１ｉ，ｙ１ｉ）、点Ｐ２ｉ（ｘ２ｉ，ｙ２ｉ）であるものとする。また、消失点の想定位置がＰ０（ｘ，ｙ）であるものとする。
【００８７】
本実施例では、想定される消失点Ｐ０と、線分の両端Ｐ１ｉ、Ｐ２ｉで形成される三角形の面積Ｓｔの自乗値を求め、この自乗値の全線分についての総和を評価値とする。そして、この評価値が最小となるよう消失点Ｐ０の位置を決定する。面積Ｓｔには、線分の長さ、および線分と消失点Ｐ０との距離が反映される。従って、面積Ｓｔを用いて設定された評価値を用いることにより、長い線分および消失点から離れた線分が消失点位置に与える影響が大きくなり、消失点の推定精度を向上することができる。
【００８８】
ここで、評価値を算出し、消失点を決定するための式について説明する。
まず、三角形の面積Ｓｔは、次式（１）で与えられる。
Sｔ= ｜(y2i-y1i)*x+(x1i-x2i)*y+(y1i×x2i-y2i×x1i)｜  ...（１）
評価値Ｅは次式（２）で与えられる。
Ｅ＝ΣＳｔ２  ...（２）
【００８９】
この評価値Ｅが最小となるｘ、ｙは、評価値をｘ、ｙで偏微分した値がそれぞれ０となるという条件式（３）、（４）により与えられる。
Ｐ×x  +  Ｑ×y = Ｓ  ...（３）； 
Ｑ×x  +  Ｒ×y = Ｔ  ...（４）； 
ここで、
Ｐ＝Σ(y2i-y1i) ２；
Ｑ＝Σ(x1i-x2i)×(y2i-y1i)；
Ｒ＝Σ(x1i-x2i) ２；
Ｓ＝-Σ(y1i×x2i-y2i×x1i)×(y2i-y1i)；
Ｔ＝-Σ(y1i×x2i-y2i×x1i)×(x1i-x2i)；
【００９０】
従って、上式（３）、（４）の連立方程式を解けば、次式（５）、（６）により消失点の解（ｘ，ｙ）が得られる。
ｘ＝（Ｓ×Ｒ−Ｔ×Ｑ）／ＤＥＴ  ...（５）；
ｙ＝（Ｔ×Ｐ−Ｓ×Ｑ）／ＤＥＴ  ...（６）；
ＤＥＴ＝Ｐ×Ｒ−Ｑ×Ｑ；
【００９１】
画像処理装置１００は、以上で説明した原理に基づき、消失点の解（ｘ，ｙ）を求める。即ち、上式（３）、（４）の定数Ｐ，Ｑ，Ｒ、Ｓ，Ｔを算出し（ステップＳ１５２）、式（５）、（６）を演算する（ステップＳ１５３）。
【００９２】
消失点の推定処理においては、上述の定数Ｐ，Ｑ，Ｒ、Ｓ，Ｔを算出する際に、線分ごとに重みｗｉを乗じてもよい。重みＷｉは、種々の設定が可能である。例えば、ｗｉ＝ｗＲＴまたはｗＬＴとしてもよい。ｗＲＴは選別された右線分の積算長さであり、ｗＬＴは左線分の長さである。左線分には右の積算長ｗＲＴを、右線分には左の積算長ｗＬＴを重みとして与える。これによって、左右線分の数、積算長の不均衡による影響を緩和させることができる。
【００９３】
重みＷｉは、各線分の長さとしてもよい。また、ｗｉ＊（ＶＰＹＭＡＸ−ｙ１ｉ）としてもよい。ＶＰＹＭＡＸとは、消失点の許容最大高さ座標、即ち消失点存在可能領域の高さ座標の最大値である。こうすることにより、長い線分、および下辺に近い、即ち視点からの距離が近い線分を重視して、消失点を推定することができる。
【００９４】
Ｆ２．消失点推定処理（２）：
図１６は消失点推定処理（２）のフローチャートである。図３のステップＳ１７０に相当する処理である。この処理は、消失点を多様な方法で求めることにより、その推定精度の向上を図るために実行されるものである。先に説明した消失点推定処理（１）で、消失点の位置が求められるため、この処理は、省略しても差し支えない。
【００９５】
この処理が開始されると、画像処理装置１００は、線分の選別結果を入力し（ステップＳ１７１）、この中から可視線分を抽出する（ステップＳ１７２）。図中に可視線分の抽出方法を例示した。本実施例では、画像の下半分の重心位置に視点ＥＰを設定する。そして、他の線分に遮られることなく、この視点ＥＰから見える線分を抽出する。図の例では、線分Ｌ２１〜Ｌ２６、Ｌ３１〜Ｌ３５のうち、線分Ｌ２１〜Ｌ２３およびＬ３１〜Ｌ３３が可視線分として抽出される。画像処理装置１００は、こうして得られた可視線分のみを用いて、消失点推定処理（１）を実行し（ステップＳ１７３）、消失点位置を求める。
【００９６】
本実施例では、消失点推定処理（１）（２）により、消失点が２個求まる。消失点推定処理（１）の解は、比較的安定した解である。ただし左右線分の数・積算長に大きな開きがあると最適点からずれる場合がある。一方、消失点推定処理（２）の解は、左右に長い可視線分がもとまった場合には、精度が高いという特性がある。
【００９７】
本実施例では、上述の特性を考慮し、次の基準で、２つの解の一方を選択するものとした。消失点推定処理（１）、（２）の一方のみの解が得られている場合には、得られた解を選択する。消失点推定処理（１）（２）の双方の解が得られている場合、両者の距離が規定長以内であれば、消失点推定処理（２）の解を選択する。その他の場合は、消失点推定処理（１）を選択する。消失点推定処理（１）（２）の双方の解が得られている場合には、無条件に消失点推定処理（１）を選択するものとしてもよい。
【００９８】
Ｇ．通行可能領域の特定：
Ｇ１．側端線確度評価：
図１７、図１８は側端線確度評価処理のフローチャートである。図３のステップＳ２１０に相当する処理である。この処理は、消失点を通過する線分について、歩道の側端線に相当するか否かの評価を行い、歩道領域を特定するための処理である。
【００９９】
この処理が開始されると、画像処理装置１００は、線分の選別結果を入力する（ステップＳ２１１）。そして、各線分の方向角を算出する（ステップＳ２１２）。図中に方向角の定義を示した。図示する通り、方向角Ａｎｇは、消失点Ｖｐから線分Ｌ４０の中点Ｐｍに引いた線分によって特定される。方向角Ａｎｇは、水平方向を０°として反時計回りに計測する。歩道の側端線は、消失点を通過する可能性が高いことから、本実施例では、このように消失点を通過する線分によって、方向角を規定した。
【０１００】
次に、画像処理装置１００は、方向角のグループ化を行う（ステップＳ２１３）。図中にグループ化の処理例を示した。ステップＳ２１２の結果、各線分の方向角について、図示する分布が得られたとする。画像処理装置１００は、これらの分布において、規定の角度範囲Ｒａ内にある方向角を、同一のグループとしてまとめ、その平均値を各グループの方向角として用いる。図の例では、２つのグループが存在し、それぞれの方向角がＡｖｅ１、Ａｖｅ２と求められた状態を示している。
【０１０１】
画像処理装置１００は、こうして設定された各グループについて、中心線を設定する（ステップＳ２１４）。中心線とは、消失点を通り、各グループの方向角を有する直線を意味する。図には、画像Ｐｉｃ内で、消失点Ｖｐを通過し、方向角Ａｖｅ２に対応する中心線Ｌｃを図示した。画像Ｐｉｃから検出された線分Ｌ４０は、必ずしもこの中心線Ｌｃ上にあるとは限らないが、歩道側端線に相当する線分については、中心線Ｌｃとはほぼ一致する。
【０１０２】
こうして設定された中心線Ｌｃの全てが歩道の側端線を形成するとは限らない。本実施例では、画像処理装置１００は、以下に示す手順で、各中心線Ｌｃの両側の濃度差に基づいて、歩道側端線に相当する中心線を特定する。
【０１０３】
図１８に移り、画像処理装置１００は、中心線Ｌｃの両側に規定幅Ｗｄからなる矩形領域を設定し、これをサンプリング領域とする（ステップＳ２１５）。更に、本実施例では、中心線Ｌｃを規定数に分割し、分割点Ｓ１、Ｓ２、Ｓ３...を、サンプリング位置として設定する。
【０１０４】
画像処理装置１００は、平滑化処理された画像データ（図４参照）を入力し（ステップＳ２１６）、上述のサンプリング位置で、最大濃度差を特定する（ステップＳ２１７）。即ち、各サンプリング位置で、幅Ｗｄ方向に、各画素の濃度を検出し、その最大濃度差を求める。
【０１０５】
画像処理装置１００は、次に、濃度差に対する確度Ｖｔを算出する（ステップＳ２１８）。図中に確度Ｖｔの算出方法を示した。Ｓ１〜Ｓｎのサンプリング位置で、サンプル数ｎ個の最大濃度差が求められているものとする。この場合、確度Ｖｔは、全サンプル数ｎ個に対し、最大濃度差が閾値Ｔｈを超えるサンプル数の割合で定義する。閾値Ｔｈは、有意な濃度差が認められるか否かの判断基準となる値であり、０〜２５５の範囲で任意に設定可能である。確度Ｖｔが大きい中心線は、その両側の濃度差が大きいことを意味し、確度Ｖｔが小さい中心線は、濃度差が小さいことを意味する。
【０１０６】
一般に歩道の側端線では、その両側の濃度差は比較的大きい。これに対し、歩道内の目地に相当する線分では、その両端の濃度差は比較的小さい。従って、濃度差の大きさの評価値である確度Ｖｔにより、歩道の側端線か否かを判定することができる。
【０１０７】
このような判定処理を実現するため、画像処理装置１００は、この確度Ｖｔが規定の閾値Ｔｒａｔｅ以上の中心線を確定線分として線分リストに登録し（ステップＳ２１０、Ｓ２２０）、その他の線分は、単に候補線分として登録する（ステップＳ２２１）。閾値Ｔｒａｔｅは、歩道側端線か否かの判断基準となる値であり、任意に設定可能である。以上の処理により、画像処理装置１００は、歩道の側端線を検出することができ、歩道領域を特定することができる。
【０１０８】
図１９は側端線確度評価の処理例を示す説明図である。消失点Ｖｐを通過する中心線としてＬ５０〜Ｌ５５が検出されている。この中で、実線の線分Ｌ５０、Ｌ５２、Ｌ５３、Ｌ５５は、確度Ｖｔが大きく、歩道側端線の確定線分として登録される。破線の線分Ｌ５１、Ｌ５４は、確度Ｖｔが小さく、候補線分として登録される線分である。この例では、確定線分には、線分Ｌ５０、Ｌ５３のように、歩道側端線と異なる線分も含まれるが、少なくとも歩道側端線に相当する線分Ｌ５２、Ｌ５５が含まれているため、歩道領域を確定することは可能である。
【０１０９】
Ｇ２．側端線確度評価の変形例：
図２０は変形例としての側端線確度評価方法を示す説明図である。図の上方に示す画像Ｐｉｃに基づいて、評価方法を説明する。この画像Ｐｉｃでは、消失点Ｖｐを通過する中心線として、線分Ｌ６０〜Ｌ６５が求められているものとする。
【０１１０】
変形例の処理では、画像処理装置は、画像Ｐｉｃの下辺と消失点との間を、下辺に平行な線で等分する。この等分線として、図中では、ｉ＝０〜ｉ＝１９の２０本の破線を示した。画像Ｐｉｃ内には、中心線とこれらの等分線により、Ｚ１［１］、Ｚ２［１］のような台形領域が定義される。図中では、台形領域の一例として、ｉ＝１およびｉ＝２の等分線に挟まれた領域Ｚ１［１］にハッチングを付して示した。
【０１１１】
ここで、中心線Ｌ６２について側端線確度評価を行う場合を考える。画像処理装置１００は、中心線Ｌ６２の左側の各台形領域Ｚ１［ｉ］に対し、平滑化された画像データに基づき、平均濃度を求める。画像処理装置１００は、同様にして、中心線Ｌ６２の右側の各台形領域Ｚ２［ｉ］に対しても、平均濃度を求める。
【０１１２】
図の下段に、こうして求められた平均濃度をプロットした状態を示した。白抜きのグラフがＺ１［ｉ］、ハッチングを付したグラフがＺ２［ｉ］の結果を表している。画像処理装置１００は、カイ自乗検定法によって、Ｚ１［ｉ］、Ｚ２［ｉ］の濃度に有意差があるか否かを判定する。両者に有意差があると認められる場合には、中心線Ｌ６２を確定線分として登録し、有意差がないと認められる場合には、候補線分として登録する。
【０１１３】
Ｇ３．通行可能領域特定処理：
図２１は走行可能領域特定処理のフローチャートである。図３のステップＳ２３０に相当する処理である。この処理は、歩道領域内において、障害物を回避して通行可能な領域を設定するための処理である。
【０１１４】
処理が開始されると、画像処理装置１００は、歩道側端線の確定線分を入力し（ステップＳ２３１）、歩道領域を特定する（ステップＳ２３２）。図中に歩道領域の特定方法を示した。図示する通り、画像Ｐｉｃ内に、確定線分Ｌ７０〜Ｌ７３が存在している場合を考える。
【０１１５】
本実施例では、まず、画像Ｐｉｃの下辺上に、２つの基準点ｘＡ、ｘＢを設定する。基準点ｘＡ、ｘＢは、歩道内にある可能性が高いと考えられる点であり、画像Ｐｉｃの両端から、幅Ｗｉｄｔｈのａ％に相当する位置に設ける。基準点の位置を規定する値ａ％は、基準点が歩道とみなせる領域に入るよう、任意に設定可能である。
【０１１６】
画像処理装置１００は、消失点Ｖｐと、基準点ｘＡ、ｘＢを結ぶ線分ＡＡ、ＡＢを求める。そして、線分ＡＡ、ＡＢから順次、外側、即ち、図の矢印方向に確定線分を探し、最初に発見された線分Ｌ７１、Ｌ７３を歩道側端線と特定する。外側とは、線分ＡＡよりも方向角が小さい範囲、および線分ＡＢよりも方向角が大きい範囲を意味する。こうして歩道側端線が特定されると、この２本の線分に挟まれた領域が歩道領域と特定される。
【０１１７】
次に、画像処理装置１００は、２値化画像からハフ変換により垂直、水平線分を検出した後、その直線上に存在する垂直線分を検出する（ステップＳ２３３）。ハフ変換は、画像から直線を検出する周知の手法であるため、詳細な説明を省略する。垂直線分の検出に、線分検出処理（図８〜図１０）の手法を適用することも可能ではあるが、検出精度の観点から、ここでは、ハフ変換の方が好ましい。抽出された垂直線分は、樹木、建造物、標識などの危険物に対応している可能性が高い。
【０１１８】
画像処理装置１００は、こうして検出された垂直線分から危険物に相当する垂直線分を抽出し、通行可能領域を特定する（ステップＳ２３４）。図中に、この処理の内容を例示した。画像Ｐｉｃにおいて、垂直線分Ｌ８０〜Ｌ８３が検出されているものとする。
【０１１９】
本実施例では、歩道領域外の線分は危険物の垂直線分から除外する。また、遠方にある垂直線分についても除外する。遠方にある危険物は、当面の移動には支障がないこと、遠方に存在する危険物は、位置の検出精度が低いため、これらを考慮することで通行可能領域が無用に狭くなる可能性があることが理由である。本実施例では、消失点Ｖｐの高さ座標値ｙＶＰの８０％に相当する位置よりも上方を遠方領域と判断するものとした。これらの条件により、線分Ｌ８３、Ｌ８１が除外され、通行可能領域の設定には、線分Ｌ８０、Ｌ８２が用いられることになる。
【０１２０】
画像処理装置１００は、線分Ｌ８０、Ｌ８２の下端と消失点Ｖｐとを結ぶ線分ＷＡＬ、ＷＡＲを求め、これらの間を、通行可能領域として設定する。線分Ｌ８０、Ｌ８２の下端に対し、更に余裕を持たせて通行可能領域を設定してもよい。
【０１２１】
図２２は走行可能領域特定の処理を示す説明図である。図の左側には処理前の写真を示した。図の右側には、通行可能領域を示した。図中の線分Ｌ９０、Ｌ９３が歩道側端線に相当し、線分Ｌ９１，Ｌ９２で挟まれた領域が、通行可能領域である。歩道中に存在する樹木を回避して、通行可能領域が設定されていることが分かる。
【０１２２】
Ｈ．進行パス決定処理：
図２３は進行パス決定処理のフローチャートである。図３のステップＳ２５０に相当する処理である。本実施例では、通行可能領域を幅方向にｍ：ｎに内分する点群を進行パスに設定するものとした。例えば、「ｍ＝ｎ」の時、進行パスは、通行可能領域の中央線に設定されることになる。
【０１２３】
この処理が開始されると、画像処理装置１００は、通行可能領域の特定結果を入力し（ステップＳ２５１）、通行可能領域内に移行点を特定する（ステップＳ２５２）。画像処理装置１００は、また、現在位置から移行点に向かい、消失点に向かうように、進行パスを設定する（ステップＳ２５３）。
【０１２４】
図の右側に、移行点の設定方法を示した。画像Ｐｉｃ内に、消失点Ｖｐ、および通行可能領域ＷＡを規定する線分Ｌ１００，Ｌ１０１が特定されているものとする。現在位置は、この画像から外れた地点ＰＰに相当する。
【０１２５】
画像処理装置は、通行可能領域ＷＡを規定する線分Ｌ１００、Ｌ１０１の双方が、画像Ｐｉｃの下辺に平行な線上に、同時に現れる位置を検出する。図の例では、点Ｐ１００、Ｐ１０１よりも上の領域において、線分Ｌ１００、Ｌ１０１の双方が画像Ｐｉｃ内に現れている。移行点は、かかる領域で決定する。本実施例では、この領域の最下端、即ち、点Ｐ１００、Ｐ１０１を結ぶ線をｍ：ｎに内分する点を、移行点Ｐｔとした。移行点Ｐｔを画像下端に近づけるほど、通行可能領域をｍ：ｎに内分する経路に速やかに移行することになるし、上方に設けるほど、滑らかに移行することになる。
【０１２６】
以上で説明した本実施例の画像処理装置によれば、線分を用いて消失点推定処理を行うことにより、消失点を精度良く特定することが可能となる。また、歩道側端線確度評価や、垂直線分に基づく危険物有無の判断を用いることにより、妥当な通行可能領域を設定することが可能となる。
【０１２７】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、図３に示した各処理は、全てを実行する必要はなく、処理目的、処理に要求される精度に応じて、一部を省略しても良い。本実施例の画像処理は、必ずしも通行可能領域、および進行パスの設定に適用する必要はなく、消失点を求める（図３のステップＳ１９０）ための処理としても構わない。本実施例で求められる消失点は、例えば、写真の画像処理によって３次元の地図データを作成する際に、活用することができる。
【図面の簡単な説明】
【０１２８】
【図１】実施例としての画像処理装置の概略構成を示す説明図である。
【図２】消失点を例示する説明図である。
【図３】走行コース設定処理のフローチャートである。
【図４】画像データ濃度正規化、平滑化処理のフローチャートである。
【図５】濃度正規化、平滑化処理の処理例を示す説明図である。
【図６】２値化処理のフローチャートである。
【図７】２値化処理の処理例を示す説明図である。
【図８】線分検出処理のフローチャートである。
【図９】線分検出処理のフローチャートである。
【図１０】線分検出処理のフローチャートである。
【図１１】線分検出の処理例を示す説明図である。
【図１２】線分選別処理のフローチャートである。
【図１３】消失点存在可能範囲を通過するか否かの判定手法を示す説明図である。
【図１４】解析条件を示す説明図である。
【図１５】消失点推定処理（１）のフローチャートである。
【図１６】消失点推定処理（２）のフローチャートである。
【図１７】側端線確度評価処理のフローチャートである。
【図１８】側端線確度評価処理のフローチャートである。
【図１９】側端線確度評価の処理例を示す説明図である。
【図２０】変形例としての側端線確度評価方法を示す説明図である。
【図２１】走行可能領域特定処理のフローチャートである。
【図２２】走行可能領域特定の処理を示す説明図である。
【図２３】進行パス決定処理のフローチャートである。
【符号の説明】
【０１２９】
１００...画像処理装置
１１０...主制御部
１２０...画像入力部
１２２...前処理部
１２４...２値化部
１２６...線分検出部
１２８...線分選別部
１３０...消失点推定部
１３２...コマンド入力部
１３４...側端線評価部
１３６...走行可能領域特定部
１３８...進行パス決定部
１４０...出力部
【図１】
2005275500.tif 000003
【図２】
2005275500.tif 000004
【図３】
2005275500.tif 000005
【図４】
2005275500.tif 000006
【図５】
2005275500.tif 000007
【図６】
2005275500.tif 000008
【図７】
2005275500.tif 000009
【図８】
2005275500.tif 000010
【図９】
2005275500.tif 000011
【図１０】
2005275500.tif 000012
【図１１】
2005275500.tif 000013
【図１２】
2005275500.tif 000014
【図１３】
2005275500.tif 000015
【図１４】
2005275500.tif 000016
【図１５】
2005275500.tif 000017
【図１６】
2005275500.tif 000018
【図１７】
2005275500.tif 000019
【図１８】
2005275500.tif 000020
【図１９】
2005275500.tif 000021
【図２０】
2005275500.tif 000022
【図２１】
2005275500.tif 000023
【図２２】
2005275500.tif 000024
【図２３】
2005275500.tif 000025