(57)【特許請求の範囲】
【請求項１】
平行する白線が描かれた走路上に位置する移動体に載置されたカメラの映像を画像処理して、前記移動体の走行制御データを求める走行制御データ認識装置において、
カメラの映像信号をデジタルの画像データに変換するＡ／Ｄ変換手段と、
デジタル信号に変換された前記画像データを格納する画像メモリと、
前記画像メモリに格納された画像データの処理及び計算を行なって走行制御データを得る画像処理手段と
を備え、前記画像処理手段が、画像データの無限遠線上の各画素を始点とする放射線上の画素の明度値を加算し、その加算値を基に無限遠点を検出して、前記移動体の向きを認識することを特徴とする走行制御データ認識装置。
【請求項２】
前記画像処理手段が、前記加算値のピークをもたらす放射線の無限遠線上の始点を無限遠点として認識し、前記無限遠点から前記放射線の傾きを持って延びる線を走路上の白線として認識することを特徴とする請求項１に記載の走行制御データ認識装置。
【請求項３】
前記画像処理手段が、画像データ上で認識した白線の位置を、イメージ座標系から相対座標系に変換することによって、前記カメラの走路上の位置を求めることを特徴とする請求項１または２に記載の走行制御データ認識装置。
【請求項４】
前記画像処理手段が、極座標変換を行なって、前記無限遠線上の各画素を始点とする放射線上の画素の明度値を加算することを特徴とする請求項１に記載の走行制御データ認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ロボットや自動車等に設置したカメラより得られる画像データを処理して、走行制御に必要なデータを認識する走行制御データ認識装置に関し、特に、走行データを高精度に認識できるようにしたものである。
【０００２】
【従来の技術】
従来、ロボットの視覚に基づく走行制御として、農業機会学会誌第５４巻２号（１９９２）において述べられているように、沿目標移動、向目標移動、走行者追尾等がある。沿目標移動は、床面の白線等のガイドラインをサインパターン（目印）とし、サインパターンが画面の一定位置に来るように走行を制御する。向目標移動は、画面に存在する建物の入り口などをサインパターンとし、それに向かうように走行を制御する。走行者追尾は、ロボットの進行方向に進む歩行者をサインパターンにして移動する定型行動である。
【０００３】
また、画像処理による自動車等の移動ロボットの走行制御において、ロボットの走行方向と平行な直線の交点より求められる画像の無限遠点（＝消失点）を検出し、この無限遠点に基づいて走行方向を認識・制御する手法が数多く提案されている（特開平３−２７６２１１、特開平５−１７３６３７、特開平５−１５１３４１など）。
【０００４】
そうした方法の一つでは、画像を走査することにより、白線など、ロボットの走行方向に平行する直線を検出し、その直線の交点により無限遠点を検出している。また、他の方法では、Ｈｏｕｇｈ変換によりロボットの走行方向と平行する直線を検出し、その直線の交点により無限遠点を検出している。
【０００５】
【発明が解決しようとする課題】
しかし、このような直線の交点より無限遠点を求める方法は、画像データに存在するノイズにより直線の検出が困難であったり、検出した直線に誤差が含まれたりするため、無限遠点を算出することが難しく、また、無限遠点が得られた場合でも正確さに欠けることが多かった。そのため、こうした方法を用いる従来の走行制御データ認識装置では、カメラの向き、即ちロボットの走行方向や、ロボットの走路上の位置などを正確に認識・制御することが困難であった。
【０００６】
本発明は、こうした従来の問題点を解決するものであり、撮像した画像から無限遠点を正確に検出し、それを基に走行方向や走路上の位置を正確に認識・制御することができる走行制御データ認識装置を提供することを目的としている。
【０００７】
【課題を解決するための手段】
そこで、本発明の走行制御データ認識装置では、画像データの無限遠線上の各画素を始点とする放射線上の画素の明度値を加算し、その加算値のピークをもたらす放射線の始点を無限遠点として認識している。
【０００８】
そのため、検出した直線の交点から無限遠点を検出する場合と違って、誤差を減らすことができるので、ロボットの走行方向及びロボットの走路上の位置など、走行制御に必要なデータを高精度に認識することができる。
【０００９】
【発明の実施の形態】
本発明の請求項１に記載の発明は、平行する白線が描かれた走路上に位置する移動体に載置されたカメラの映像を画像処理して、移動体の走行制御データを求める走行制御データ認識装置において、カメラの映像信号をデジタルの画像データに変換するＡ／Ｄ変換手段と、デジタル信号に変換された画像データを格納する画像メモリと、画像メモリに格納された画像データの処理及び計算を行なって走行制御データを得る画像処理手段とを設け、画像処理手段が、画像データの無限遠線上の各画素を始点とする放射線上の画素の明度値を加算し、その加算値を基に無限遠点を検出して、移動体の向きを認識するように構成したものであり、無限遠点を誤差を含まずに検出することができ、移動体の向きを正確に認識することができる。
【００１０】
請求項２に記載の発明は、画像処理手段が、この加算値のピークをもたらす放射線の無限遠線上の始点を無限遠点として認識し、無限遠点からその放射線の傾きを持って延びる線を走路上の白線として認識するように構成したものであり、無限遠点を誤差を含まずに検出し、それを基に走路上の白線を誤差を含まずに認識することができる。
【００１１】
請求項３に記載の発明は、画像処理手段が、画像データ上で認識した白線の位置を、イメージ座標系から相対座標系に変換することによって、カメラの走路上の位置を求めるように構成したものであり、走路上の白線とカメラとの位置関係を正確に把握することができる。
【００１２】
請求項４に記載の発明は、画像処理手段が、極座標変換を行なって、無限遠線上の各画素を始点とする放射線上の画素の明度値を加算するように構成したものであり、放射線上の画素の明度値の加算を簡単に行なうことができる。
【００１３】
以下、本発明の実施の形態について、図面を用いて説明する。
【００１４】
（実施の形態）
実施形態の走行制御データ認識装置は、図１に示すように、ロボット前面に進行方向に向くように取り付けられるカメラ部１と、カメラ部１からの映像信号をデジタルの画像データに変換するＡ／Ｄ変換部３と、画像データを格納する画像メモリ部４と、画像メモリ部４に格納された画像データからロボットの走行方向及びロボットの走路上の位置を認識する画像処理部５と、画像処理部５の認識結果である走行データを伝送する結果伝送部６と、伝送された走行データを基にロボットの走行を制御する走行制御部７と、装置全体の動作を制御する全体制御部２とを備えている。
【００１５】
図２（ａ）は、ロボットに、この走行制御データ認識装置を取り付けた状態を示しており、また、図２（ｂ）は、自動車にこの装置を取り付けた状態を示している。この図において、８はカメラ部１であり、９は、Ａ／Ｄ変換部３、画像メモリ部４、画像処理部５、結果伝送部６、走行制御部７及び全体制御部２を収めた走行制御装置である。
【００１６】
次に、この実施形態の走行制御データ認識装置の動作について説明する。カメラ部１は、走行方向前方の映像を撮影し、この映像信号は、Ａ／Ｄ変換部３でデジタル信号に変換されて、画像メモリ部４に格納される。画像処理部５は、画像メモリ部４に格納された画像データを用いて、後述する方法でロボットの走行している向きや走路上の位置を認識する。この認識結果（走行データ）は、結果伝送部６を通じて走行制御部７に送られ、走行制御部７は、走行データを基に、ロボットの走行を制御する。
【００１７】
次に、画像処理部５の動作について説明する。
いま、ロボットに装着されたカメラ１が、図３に示すように、左右両側に平行する白線１３、１４が描かれた走路上に位置しているものとする。
【００１８】
カメラ１のレンズ中心を原点とし、原点を通り、道路面に平行で白線１３、１４と垂直な軸をＸ軸、原点を通り、道路面に垂直な軸をＹ軸、原点を通り、道路面に平行で白線１３、１４と平行な軸をＺ軸とする相対座標系を想定する。
【００１９】
カメラ１の向き１１、即ち、ロボットの進行方向は、Ｚ軸に対してθの角度を有している。Ｚ軸に対して右回りを＋、左回りを−として、θは−９０°≦θ≦９０°の範囲にある。相対座標系における左側白線１３のＸ座標をＸＬ  、右側白線１４のＸ座標をＸＲ  とする。画像処理部４は、画像データを処理することによって、このθ、ＸＬ  及びＸＲ  を認識することになる。
【００２０】
図４に示すように、カメラ１の俯角１２がφであり、カメラ１の道路面からの高さがＨであるとする。また、カメラ１の焦点距離をｆとする。
【００２１】
画像処理に用いる座標系として、図５（ａ）に示すように、画像の中心を原点とし、横軸をｘ軸、縦軸をｙ軸とするイメージ座標系を設定する。ｘの値はｘｍａｘ  からｘｍｉｎ  まで取ることができ、ｙの値はｙｍａｘ  からｙｍｉｎ  まで取ることができる。
【００２２】
画像の無限遠線は、イメージ座標系において、カメラの俯角をφとすると、
ｙｆ  ＝ｆｖ・ｔａｎφ
となる。ここで、ｆｖ  は垂直画素に換算した焦点距離である。図５（ｂ）には、この無限遠線１６を図示している。また、図６には、無限遠線１６とカメラの画像とを合わせて表示している。
【００２３】
図６に示すように、無限遠点１５は、この無限遠線１６上にある。無限遠線１６上の一点を始点とする放射線（但し、無限遠線１６より下側の放射線に限る）上の画素の明るさ（明度値）を各放射線ごとに加算し、この操作を、無限遠線１６上の点を順次ずらしながら行なうと、この放射線の明度値の加算値は、放射線が無限遠点１５を始点とし、道路上の白線１３、１４に重なるときに最大となる。この明度値の加算を求めるため、無限遠線上の各画素を始点とする極座標変換を行なう。この変換式は、Ｃ言語の表現を用いて、次式によって表すことができる。
【００２４】
0003575921.tif 000002
ここで、ｆｏｒ文は繰り返し処理を表しており、ｆｏｒ（ｘｉ＝ｘｍｉｎ；ｘｉ＜ｘｍａｘ；ｘｉ＋＋）は、ｘｉ  をｘｍｉｎ  からｘｍａｘ−１まで、ｘｉ  を１ずつインクリメント（ｘｉ＋＋）しながら繰り返し処理することを表している。また、ｆｏｒ（ｙｋ＝ｙｆ−１；ｙｋ＞ｙｍｉｎ；ｙｋ−−）は、ｙｋをｙｆ−１からｙｍｉｎ＋１まで、ｙｋを１ずつデクリメント（ｙｋ−−）しながら繰り返し処理することを表しており、ここでは、ｙについての処理をｙ＜ｆｖ・ｔａｎφの範囲に限定している。（１）式は、無限遠線上の座標（ｘｉ，ｙｆ）及び画素（ｘｊ，ｙｋ）を結ぶ直線とｘ軸とのなす角ａを求める式である。（２）式は、無限遠線上の画素（ｘｉ，ｙｆ）を始点とし、ｘ軸とのなす角がａである放射線上の画素の明度値ｉｍｇ［ｘｊ］［ｙｋ］を加算する式である。
【００２５】
図６より、無限遠点１５を始点として、白線１３、１４と重なる放射線上に存在する画素の明度値を合計した値が、明度値の加算値におけるピークを与えることが分かる。従って、Ｂ［ｘ］［ａ］のピークを与えるｘｆ  が無限遠点のｘ座標であり、また、そのときのｘｆ，ａにより、白線１３、１４を検出することができる。
【００２６】
ｘｆ  が検出できると、カメラ１の向き、即ち、ロボットの進行方向θは次式で算出できる。
【００２７】
θ＝ｔａｎ−１（ｘｆ／ｆｈ）                                        （３）
ｘｆ：無限遠点のｘ座標
ｆｈ：水平画素に換算した焦点距離
また、白線１３、１４間を走行しているロボットに設置したカメラからの画像における白線は、左側白線１３が上り勾配、右側白線１４が下り勾配という特徴がある（図６参照）。また、時系列画像の場合、前フレームにおける処理結果により現フレームのｘ及びａの範囲が限定できる。このような特徴を利用することによってより確実に白線及び無限遠点を検出することができる。
【００２８】
次に、以上の方法で検出した白線及び無限遠点の座標より、ロボットの通路上の位置を認識する方法について説明する。ロボットの通路上の位置は、相対座標系における白線のＸ座標から求める。
【００２９】
まず、上述した手法で求めたｘｆ  、ａＬ  、ａＲ  から、左右両白線１３、１４のｙ座標最小値ｙｍｉｎ  におけるイメージ座標ｘＬ’、ｘＲ’を次式によって求める。ここで、ａＬ  、ａＲ  は、上述した手法で求めた左側白線１３及び右側白線１４とｘ軸とのなす角度である。
【００３０】
ｙｍｉｎ＝ｔａｎ（ａ）×（ｘ−ｘｉ）＋ｙｆ
ｘＬ’  ＝ｘｆ＋（ｙｍｉｎ  −ｙｆ）／ｔａｎ（ａＬ）
ｘＲ’  ＝ｘｆ＋（ｙｍｉｎ  −ｙｆ）／ｔａｎ（ａＲ）                    （４）
【００３１】
ここで、相対座標系とイメージ座標系との関係を説明する。相対座標系の座標とイメージ座標系の座標との間では、次の関係が成り立つ。
【００３２】
Ｘ／ｘ＝Ｙ／ｙ＝Ｚ／ｆ                                      （５）
この関係から、
−Ｈ／ｙｍｉｎ＝Ｚ／ｆｖ
Ｘ’／ｘ’＝Ｚ／ｆｈ                                          （６）
が得られる。ここで、ｆｈ  、ｆｖ  は水平及び垂直画素に換算した焦点距離［ｐｉｘｅｌ］であり、Ｈはカメラ高さであり、ｘ’は白線１３、１４のｙ座標最小値ｙｍｉｎ  におけるイメージ座標であり、Ｘ’は、ｘ’に対応する相対座標系の座標（図３のＸＬ’、ＸＲ’）である。式（６）を変形して、ｘＬ’、ｘＲ’に対応する相対座標系の座標ＸＬ’、ＸＲ’を次式（７）のように表すことができる。
【００３３】
ＸＬ’＝−ｆｖ・ｘＬ’・Ｈ／ｆｈ・ｙｍｉｎ
ＸＲ’＝−ｆｖ・ｘＲ’・Ｈ／ｆｈ・ｙｍｉｎ                          （７）
式（４）から求めたｘＬ’、ｘＲ’を式（７）に代入することにより、左右白線の相対座標ＸＲ’、ＸＬ’が得られる。
【００３４】
相対座標系において白線１３、１４のＸ座標を表すＸＲ  、ＸＬ  の値は、このＸＲ’、ＸＬ’を次の射影変換の式（８）に代入することによって求めることができる。
【００３５】
ＸＬ＝ＸＬ’ｃｏｓθ＋Ｚｓｉｎθ
ＸＲ＝ＸＲ’ｃｏｓθ＋Ｚｓｉｎθ                                （８）
但し、Ｚ＝−ｆｖ・Ｈ／ｙｍｉｎ
従って、ロボットの位置Ｘｐ  は、基準点を設けることにより、ＸＬ  またはＸＲ  から求めることができる。
【００３６】
このように、実施形態の走行制御データ認識装置の画像処理部５では、簡単なプロセスで無限遠点や白線を検出することができる。この方法は、画面走査やＨｏｕｇｈ変換で求めた直線の交点から無限遠点を検出する方法に比べて、検出誤差を低減させることができる。
【００３７】
【発明の効果】
以上の説明から明らかなように、本発明の走行制御データ認識装置は、無限遠点の検出誤差を減らすことができ、その結果、ロボットの向き、走路上の位置など走行に必要なデータをより高精度に出力することができる。従って、細かい動作を必要とするロボットの走行制御に大いに役立てることができる。
【図面の簡単な説明】
【図１】本発明の実施形態の走行制御データ認識装置の構成を示すブロック図、
【図２】実施形態の走行制御データ認識装置の取付例、
【図３】実施形態の走行制御データ認識装置の画像処理説明用の相対座標系、
【図４】実施形態の走行制御データ認識装置のカメラの俯角を示す図、
【図５】実施形態の走行制御データ認識装置の画像処理説明用のイメージ座標系、
【図６】実施形態の走行制御データ認識装置で得られる画像の一例である。
【符号の説明】
１  カメラ部
２  全体制御部
３  Ａ／Ｄ変換部
４  画像メモリ部
５  画像処理部
６  結果伝送部
７  走行制御部
１１  カメラの向き
１２  カメラの俯角
１３、１４  白線
１５  無限遠点
１６  無限遠線
【図１】
0003575921.tif 000003
【図２】
0003575921.tif 000004
【図３】
0003575921.tif 000005
【図４】
0003575921.tif 000006
【図５】
0003575921.tif 000007
【図６】
0003575921.tif 000008