(57)【要約】  視差算出装置は、取得部と、コントローラとを含む。取得部は、ステレオカメラによって撮像された基準画像および参照画像を取得する。コントローラは、前記基準画像及び前記参照画像のそれぞれから、三次元座標空間の基線長方向に対応する、画像空間上の第１方向に平行な複数のラインのうちの一部のラインを抽出する。コントローラは、該抽出した抽出ラインに含まれる複数の画素に基づいて前記基準画像及び前記参照画像の視差を算出する。
2017068792.tif 000002
【特許請求の範囲】
【請求項１】
ステレオカメラによって撮像された基準画像および参照画像を取得する取得部と、
前記基準画像及び前記参照画像のそれぞれから、三次元座標空間の基線長方向に対応する、画像空間上の第１方向に平行な複数のラインのうちの一部のラインを抽出し、該抽出した抽出ラインに含まれる複数の画素に基づいて前記基準画像及び前記参照画像の視差を算出するコントローラと、
を備える、視差算出装置。
【請求項２】
前記コントローラは、前記複数のラインから前記一部のラインを、前記第１方向に直交する第２方向において規則的に抽出する、請求項１に記載の視差算出装置。
【請求項３】
前記コントローラは、前記第１方向に直交する第２方向において、前記複数のラインから前記一部のラインを繰り返し周期で抽出する、請求項２に記載の視差算出装置。
【請求項４】
前記第１方向は、三次元座標空間における基線長方向に対応する、請求項１乃至３のいずれか一項に記載の視差算出装置。
【請求項５】
前記画像空間の上方および下方は、それぞれ、前記三次元座標空間の鉛直方向での上方および下方に対応し、
前記コントローラが前記画像空間上における下方の領域から抽出するラインの密度は、上方の領域から抽出するラインの密度より高い、請求項４に記載の視差算出装置。
【請求項６】
前記コントローラは、前記抽出したライン以外のラインの画素の位置の視差について、前記上方の領域では補間を行わず、前記下方の領域では、前記第１方向に直交する第２方向で該画素に隣接する、前記視差が算出された位置の視差に基づいて補間を行い、被写体までの距離を表す視差画像を生成する請求項５に記載の視差算出装置。
【請求項７】
前記基準画像及び前記参照画像の視差は、前記基準画像の各画素の位置に対する前記参照画像の各画素の位置の差である、請求項１乃至６のいずれか一項に記載の視差算出装置。
【請求項８】
前記コントローラは、前記抽出したライン以外の非抽出ラインの各画素に対応する視差を、周りに位置する前記抽出ラインにおける視差に基づいて補完して視差画像を生成する、請求項１乃至７のいずれか一項に記載の視差算出装置。
【請求項９】
前記コントローラは、前記非抽出ラインの各画素に対応する視差を、前記第１の方向に直交する第２の方向において隣接する、前記抽出ラインの視差の平均値とする、請求項８に記載の視差算出装置。
【請求項１０】
前記コントローラは、前記非抽出ラインの各画素に対応する視差を、前記第１の方向に直交する第２の方向において隣接する２つの前記抽出ラインの視差のいずれかとする、、請求項８に記載の視差算出装置。
【請求項１１】
前記コントローラは、前記非抽出ラインの各画素に対応する視差を、前記第１の方向に直交する第２の方向において隣接する、２つの前記抽出ラインの視差に基づいて直線補間する、請求項８に記載の視差算出装置。
【請求項１２】
ステレオカメラと、
前記ステレオカメラによって撮像された基準画像及び参照画像のそれぞれから、三次元座標空間の基線長方向に対応する、画像空間上の第１の方向に平行な複数のラインのうちの一部のラインを抽出し、該抽出した抽出ラインに含まれる複数の画素に基づいて前記基準画像及び前記参照画像の視差を算出するコントローラを含む視差算出装置と、
を備えたステレオカメラ装置。
【請求項１３】
ステレオカメラと、
前記ステレオカメラによって撮像された基準画像及び参照画像のそれぞれから、三次元座標空間の基線長方向に対応する、画像空間上の第１の方向に平行な複数のラインのうちの一部のラインを抽出し、該抽出した抽出ラインに含まれる複数の画素に基づいて前記基準画像及び前記参照画像の視差を算出するコントローラを有する、視差算出装置と、
を含むステレオカメラ装置を備えた車両。
【請求項１４】
取得部とコントローラとを備える視差算出装置が実行する視差算出方法であって、
前記取得部が、ステレオカメラによって撮像された基準画像および参照画像を取得し、
前記コントローラが、前記基準画像及び前記参照画像のそれぞれから、三次元座標空間の基線長方向に対応する、画像空間上の第１の方向に平行な複数のラインのうちの一部のラインを抽出し、該抽出した抽出ラインに含まれる複数の画素に基づいて前記基準画像及び前記参照画像の視差を算出する、
視差算出方法。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本出願は、２０１５年１０月２２日出願の日本国特許出願２０１５−２０８２４２の優先権を主張するものであり、当該出願の開示全体を、ここに参照のために取り込む。
【技術分野】
【０００２】
本開示は、視差算出装置、ステレオカメラ装置、車両および視差算出方法に関する。
【背景技術】
【０００３】
近年、自動車等の車両に、複数のカメラを用いて被写体までの距離を測定するステレオカメラ装置がある。【０００４】
ステレオカメラを用いた立体物の検出および距離測定において、画像上の各位置の視差を求めることによって行う方法が知られている。すなわち、ステレオカメラは、撮像した２つの画像をそれぞれ、基準画像および基準画像とし、基準画像を縦横それぞれ小領域に区分する。ステレオカメラは、区分された基準画像の小領域を、基準画像に対して基線長方向に、例えば１ピクセルずつなどのような順次等ピッチでシフトしながら順次評価する。基線長は、ステレオカメラの２台のカメラの光学中心を結ぶ方向である。特許文献１（特開２０００−２０７６９５号公報）に記載の車外監視装置は、基準画像および比較画像とを画素の輝度の差に基づいて評価している。この車外監視装置は、この評価に基づいて対象物までの距離に応じて生じる画素のズレを求めている。このようにして得られた画素のズレｄ、２台のカメラの基線長ｂおよびカメラの焦点距離ｆの３つから、車外監視装置は、三角測量の原理により、ブロックに撮像された被検出物までの距離Ｚを次の式で算出することができる。
Ｚ＝ｂ・ｆ／ｄ                    （１）
【発明の概要】
【０００５】
本開示の視差算出装置は、取得部とコントローラとを備える。前記取得部は、ステレオカメラによって撮像された基準画像および参照画像を取得する。前記コントローラは、前記基準画像及び前記参照画像のそれぞれから、三次元座標空間の基線長方向に対応する、画像空間上の第１の方向に平行な複数のラインのうちの一部のラインを抽出する。前記コントローラは、該抽出した抽出ラインに含まれる複数の画素に基づいて前記基準画像及び前記参照画像の視差を算出する。また、複数のラインについての「平行」は、厳密な平行に限られず、所定の範囲内のずれを許容する。
【０００６】
本開示のステレオカメラ装置は、ステレオカメラと、視差算出装置とを備える。前記視差算出装置は、コントローラを含む。前記コントローラは、前記ステレオカメラによって撮像された基準画像および参照画像のそれぞれから、三次元座標空間の基線長方向に対応する、画像空間上の第１の方向に平行な複数のラインのうちの一部のラインを抽出する。前記コントローラは、該抽出した抽出ラインに含まれる複数の画素に基づいて前記基準画像及び前記参照画像の視差を算出する。前記コントローラは、該抽出した前記複数のラインの各画素に基づいて視差を算出する。
【０００７】
本開示の車両は、ステレオカメラ装置を備える。前記ステレオカメラ装置は、ステレオカメラと視差算出装置とを含む。前記視差算出装置は、コントローラを有する。前記コントローラは、前記ステレオカメラによって撮像された基準画像および参照画像のそれぞれから、三次元座標空間の基線長方向に対応する、画像空間上の第１の方向に平行な複数のラインのうちの一部のラインを抽出する。前記コントローラは、該抽出した抽出ラインに含まれる複数の画素に基づいて前記基準画像及び前記参照画像の視差を算出する。
【０００８】
本開示の視差算出方法は、取得部とコントローラとを備える視差算出装置が実行する。前記取得部が、ステレオカメラによって撮像された基準画像および参照画像を取得する。前記コントローラが、前記基準画像及び前記参照画像のそれぞれから、三次元座標空間の基線長方向に対応する、画像空間上の第１の方向に平行な複数のラインのうちの一部のラインを抽出する。前記コントローラが、該抽出した抽出ラインに含まれる複数の画素に基づいて前記基準画像及び前記参照画像の視差を算出する。
【図面の簡単な説明】
【０００９】
【図１】図１は、道路上を走行するステレオカメラ装置を搭載した車両を簡略化して示す図である。
【図２】図２は、図１に示すステレオカメラによって撮像された画像の例を示す図であり、図２（ａ）は基準画像の例を示す図、図２（ｂ）は参照画像の例を示す図である。
【図３】図３は、実施形態の一例に係るステレオカメラ装置の概略構成を示すブロック図である。
【図４】図４は、抽出部によって、図２に示す画像から抽出する画素を説明する図であり、図４（ａ）は基準画像から抽出する画素を説明する図、図４（ｂ）は参照画像から抽出される画素を説明する図である。
【図５】図５は、抽出部によって生成された抽出画像の例を示す図であり、図５（ａ）は抽出基準画像の例を示す図、図５（ｂ）は抽出参照画像の例を示す図である。
【図６】図６は、抽出基準画像のブロックの抽出参照画像へのマッチングを説明する図である。
【図７】図７は、視差画像生成部によって生成された抽出視差画像の例を示す図である。
【図８】図８は、補間部によって抽出視差画像を補間することによって生成した補間視差画像の例を示す図である。
【図９】図９は、抽出視差画像から補間視差画像を生成する処理を説明する図である。
【図１０】図１０は、視差算出装置が行う視差画像生成処理の手順を示すフローチャートである。
【図１１】図１１は、抽出部が行う抽出画像の生成処理の詳細な手順を示すフローチャートである。
【図１２】図１２は、視差算出部が行う視差の算出処理の詳細な手順を示すフローチャートである。
【図１３】図１３は、視差画像生成部２０が行う補間視差画像の生成処理の詳細な手順を示すフローチャートである。
【図１４】図１４は、実施形態の一例において、抽出部によって、図２に示す画像から抽出する画素を説明する図であり、図１４（ａ）は参照画像から抽出する画素を説明する図、図１４（ｂ）は基準画像から抽出する画素を説明する図である。
【図１５】図１５は、実施形態の一例において、抽出部が行う抽出画像の生成処理の詳細な手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
従来技術の視差算出方法では、視差検出範囲内の全ての画素について輝度を比較する処理を行わなければならず、処理負荷が高くなることが多い。
【００１１】
本開示によれば、視差測定に係る処理負荷を低減することが可能となる。
以下、本開示の複数の実施形態の一つについて、図面を参照して説明する。
【００１２】
図１は、道路上を走行するステレオカメラ装置１０を搭載した車両１を簡略化して示す図である。図１に示す三次元座標空間において、車両１の進行方向（図において上方向）をＺ方向、車両１の車幅方向（図において右方向）をＸ方向、Ｘ方向およびＺ方向に直交する方向（紙面に直交する方向）である高さ方向をＹ方向とする。ここで、本開示における「車両」には、自動車、鉄道車両、産業車両、及び生活車両を含むが、これに限られない。例えば、車両には、滑走路を走行する飛行機を含めてよい。自動車は、乗用車、トラック、バス、二輪車、及びトロリーバス等を含むがこれに限られず、道路上を走行する他の車両を含んでよい。軌道車両は、機関車、貨車、客車、路面電車、案内軌道鉄道、ロープウエー、ケーブルカー、リニアモーターカー、及びモノレールを含むがこれに限られず、軌道に沿って進む他の車両を含んでよい。産業車両は、農業及び建設向けの産業車両を含む。産業車両には、フォークリフト、及びゴルフカートを含むがこれに限られない。農業向けの産業車両には、トラクター、耕耘機、移植機、バインダー、コンバイン、及び芝刈り機を含むが、これに限られない。建設向けの産業車両には、ブルドーザー、スクレーバー、ショベルカー、クレーン車、ダンプカー、及びロードローラを含むが、これに限られない。生活車両には、自転車、車いす、乳母車、手押し車、及び電動立ち乗り２輪車を含むが、これに限られない。車両の動力機関は、ディーゼル機関、ガソリン機関、及び水素機関を含む内燃機関、並びにモーターを含む電気機関を含むが、これに限られない。車両は、人力で走行するものを含む。なお、車両の分類は、上述に限られない。例えば、自動車には、道路を走行可能な産業車両を含んでよく、複数の分類に同じ車両が含まれてよい。
【００１３】
ステレオカメラ装置１０は、ステレオカメラ１１と、視差算出装置１２とを備える。ステレオカメラ１１は、進行方向（Ｚ方向）に向いて右側に位置する第１のカメラ１１ａおよび左側に位置する第２のカメラ１１ｂの２つのカメラを含んで構成される。視差算出装置１２は、ステレオカメラ１１に電気的に接続される。「ステレオカメラ」とは、互いに視差を有し、互いに協働する複数のカメラである。ステレオカメラは、少なくとも２つ以上のカメラを含む。ステレオカメラでは、複数のカメラを協働させて、複数の方向から対象を撮像することが可能である。ステレオカメラには、複数のカメラを協働させて対象を同時に撮像することができるものが含まれる。撮影の「同時」は、完全な同じ時刻に限られない。例えば、（ｉ）複数のカメラが同時刻に撮像すること、（ｉｉ）複数のカメラが同じ信号に基づいて撮像すること、及び（ｉｉｉ）複数のカメラが各々の内部時計において同時刻に撮像することは、本開示における「同時」に撮影するに含まれる。撮像の時間基準には、撮像の開始時刻、撮像の終了時刻、撮像した画像データの送信時刻、及び画像データを相手機器が受信した時刻が含まれる。ステレオカメラは、１つの筐体に複数のカメラが含まれる機器であってよい。ステレオカメラは互いに独立し、且つ互いに離れて位置する２台以上のカメラを含む機器であってよい。ステレオカメラは、互いに独立した複数のカメラに限られない。本開示では、例えば、離れた２箇所に入射される光を１つの受光素子に導く光学機構を有するカメラをステレオカメラとして採用できる。ステレオカメラ装置１０においては、互いに独立する第１のカメラ１１ａ及び第２のカメラ１１ｂの２台が並んでいる。本開示では、同じ被写体を異なる視点から撮像した複数の画像を「ステレオ画像」と呼ぶことがある。
【００１４】
第１のカメラ１１ａおよび第２のカメラ１１ｂは、撮像素子を含む。撮像素子は、ＣＣＤイメージセンサ（Charge-Coupled Device Image Sensor）、及びＣＭＯＳイメージセンサ（Complementary MOS Image Sensor）を含む。第１のカメラ１１ａおよび第２のカメラ１１ｂは、レンズ機構を含んでよい。
【００１５】
第１のカメラ１１ａ及び第２のカメラ１１ｂの光軸は、同じ対象物を撮像可能な方向を向いている。第１のカメラ１１ａ及び第２のカメラ１１ｂは、互いの光軸が異なる。第１のカメラ１１ａ及び第２のカメラ１１ｂは、撮像した画像に少なくとも同じ対象物が含まれるように、光軸及び位置が定められる。第１のカメラ１１ａ及び第２のカメラ１１ｂの光軸は、互いに平行になるように向けられる。この平行は、厳密な平行に限られず、組み立てのずれ、取付けのずれ、及びこれらの経時によるずれを許容する。第１のカメラ１１ａ及び第２のカメラ１１ｂの光軸は、平行に限られず、互いに異なる方向でよい。第１のカメラ１１ａおよび第２のカメラ１１ｂは、撮像する対象となる対象領域の一部が重複している。
【００１６】
第１のカメラ１１ａ及び第２のカメラ１１ｂは、車両１に対する位置及び向きの変化が少なくなるように、車両１の車体に対して固定される。第１のカメラ１１ａ及び第２のカメラ１１ｂは、固定されていても、車両１に対して位置及び向きが変化する場合がある。第１のカメラ１１ａ及び第２のカメラ１１ｂの光軸は、Ｚ方向から路面１３側に傾いている。第１のカメラ１１ａ及び第２のカメラ１１ｂの光軸は、Ｚ方向を向いていてよく、Ｚ方向から空側に傾いていてよい。第１のカメラ１１ａ及び第２のカメラ１１ｂの光軸の向きは、用途に応じて適宜変更される。
【００１７】
第１のカメラ１１ａおよび第２のカメラ１１ｂは、車幅方向（Ｘ方向）に横並びに離間して配置される。第１のカメラ１１ａと第２のカメラ１１ｂとの光学中心を結んだ距離を基線長と呼び、その方向を基線長方向と呼ぶ。したがって、ある１つの実施形態における基線長方向は、Ｘ方向となる。
【００１８】
第１のカメラ１１ａおよび第２のカメラ１１ｂは、光軸に交わる方向において離れて位置している。複数の実施形態のうちの１つにおいて、第１のカメラ１１ａ及び第２のカメラ１１ｂは、車両１の車幅方向（Ｘ方向）に沿って位置している。第１のカメラ１１ａは、前方を向いたときに第２のカメラ１１ｂの左側に位置し、第２のカメラ１１ｂは、前方を向いたときに第１のカメラ１１ａの右側に位置する。第１のカメラ１１ａと第２のカメラ１１ｂとの位置の違いにより、各カメラ１１ａ，１１ｂで撮像した２つの画像において、互いに対応する被写体の位置は、異なる。第１のカメラ１１ａから出力される画像と、第２のカメラ１１ｂから出力される画像とは、異なる視点から撮像したステレオ画像となる。
【００１９】
複数の実施形態のうちの１つにおいて、第１のカメラ１１ａ及び第２のカメラ１１ｂ光軸は、車両１の前方（Ｚ方向）に向けて、車両１の前側に固定されている。複数の実施形態のうちの１つにおいて、第１のカメラ１１ａ及び第２のカメラ１１ｂは、車両１のウインドシールドを介して車両１の外部を撮像できる。複数の実施形態において、第１のカメラ１１ａ及び第２のカメラ１１ｂは、車両１のフロントバンパー、フェンダーグリル、サイドフェンダー、ライトモジュール、及びボンネットのいずれかに固定されていてよい。第１のカメラ１１ａと第２のカメラ１１ｂとの位置はこれに限られず、複数の実施形態のうちの他の１つにおいて、第１のカメラ１１ａ及び第２のカメラ１１ｂは、上下方向（Ｙ方向）又はＸＹ平面内の斜め方向に沿って位置してよい。 その場合、第１のカメラ１１ａ及び第２のカメラ１１ｂから出力される画像は、それぞれ上下方向又は斜め方向に視差を有するステレオ画像となる。
【００２０】
第１のカメラ１１ａ及び第２のカメラ１１ｂは、それぞれ撮像した画像をデジタルデータとして視差算出装置１２に出力する。視差算出装置１２は、第１のカメラ１１ａ及び第２のカメラ１１ｂから出力される画像の各々に対して、種々の処理ができる。視差算出装置１２は、第１のカメラ１１ａ及び第２のカメラ１１ｂから出力された画像の両方から検出された物体までの距離を算出する。視差算出装置１２は、物体までの距離を三角測量の原理を含む公知の技術によって算出してよい。視差算出装置１２から得られる距離は、必要に応じ、レーザーレーダー、ミリ波レーダー等他のセンサーから得られる距離情報とともに、衝突回避のためのドライバへの警告、自動ブレーキ制御、および、オートクルーズコントロールのためのアクセル又はブレーキの制御を含む運転支援システムに活用される。
【００２１】
以降の説明においては、第１のカメラ１１ａから出力される画像、および第２のカメラ１１ｂから出力される画像の画像空間において、ｘ方向は、三次元座標空間のＸ方向に対応し、ｙ方向は、三次元座標空間のＹ方向に対応する。
【００２２】
複数の実施形態のうちの１つでは、図２（ａ）に示すような、第１のカメラ１１ａにより撮像された画像が基準画像とされ、図２（ｂ）に示すような、第２のカメラ１１ｂにより撮像された画像が参照画像とされる。以降の説明では図２（ａ）および（ｂ）に示すように、基準画像および参照画像における各画素の位置は、各画像の左上を原点とした座標で表される。また、ｘ方向の画素数は６４０、ｙ方向の画素数をは４８０とされるが、ｘ方向、ｙ方向の画素数は、ともに他の画素数とすることができる。画素数は、ステレオカメラ１１のハードウエア、およびソフトウエアにより決定される。
【００２３】
視差算出装置１２は、基準画像の参照画像に対する視差を算出する。第１のカメラ１１ａと第２のカメラ１１ｂとしては、同一の仕様のものを用いることができる。視差算出装置１２は、第２のカメラ１１ｂにより基準画像を撮像し、第１のカメラ１１ａにより参照画像を撮像することとしてもよい。
【００２４】
第１のカメラ１１ａおよび第２のカメラ１１ｂは、それぞれ第１のカメラ１１ａおよび第２のカメラ１１ｂが撮像した画像をデジタルデータとして、図１に示すような車両１内に設けられた視差算出装置１２に出力する。また、視差算出装置１２は、車両１内に搭載されている表示装置、車両制御装置等の他の情報処理装置とＣＡＮ（Controller Area Network）等のネットワークを介して、情報の送受信をすることができる。
【００２５】
図３は、本実施形態に係るステレオカメラ装置１０の概略構成を示すブロック図である。前述のように、ステレオカメラ装置１０は、ステレオカメラ１１と視差算出装置１２とを備える。視差算出装置１２は、取得部１５と、コントローラとしての制御部１６と、画像メモリ１７とを含んで構成されている。
【００２６】
取得部１５は、画像データを取得して視差算出装置１２へ入力する入力インタフェースである。取得部１５は、物理コネクタ、及び無線通信機が採用できる。物理コネクタは、電気信号による伝送に対応した電気コネクタ、光信号による伝送に対応した光コネクタ、及び電磁波による伝送に対応した電磁コネクタが含まれる。電気コネクタには、ＩＥＣ６０６０３に準拠するコネクタ、ＵＳＢ規格に準拠するコネクタ、ＲＣＡ端子に対応するコネクタ、EIAJ CP-1211Aに規定されるＳ端子に対応するコネクタ、EIAJ ＲC-5237に規定されるＤ端子に対応するコネクタ、ＨＤＭＩ（登録商標）規格に準拠するコネクタ、及びＢＮＣを含む同軸ケーブルに対応するコネクタを含む。光コネクタは、IEC 61754に準拠する種々のコネクタを含む。無線通信機は、Bluetooth（登録商標）、及びIEEE802.11を含む各規格に準拠する無線通信機を含む。無線通信機は、少なくとも１つのアンテナを含む。
【００２７】
取得部１５は、ステレオカメラ１１の撮像信号の伝送方式に対応し、第１のカメラ１１ａおよび第２のカメラ１１ｂからそれぞれ基準画像および参照画像の画像データを取得する。本開示では、基準画像および参照画像の２つを区別せずに、単に「画像」と呼ぶ場合がある。本開示では、基準画像の画像データ、および参照画像の画像データの２つを区別せずに、単に「画像データ」と呼ぶ場合がある。取得部１５は取得した画像を、制御部１６に引き渡す。取得部１５による取得は、有線ケーブルを介した信号入力、及び無線接続を介した信号入力を含む。取得部１５は、ステレオカメラ１１の撮像信号の伝送方式に対応してよい。
【００２８】
制御部１６は、視差算出装置１２の種々の演算処理を実行する部分である。制御部１６は、一つまたは複数のプロセッサを含む。制御部１６もしくはプロセッサは、種々の処理のためのプログラム及び演算中の情報を記憶する１または複数のメモリを含んでよい。メモリは、揮発性メモリ及び不揮発性メモリが含まれる。メモリは、プロセッサと独立しているメモリ、及びプロセッサの内蔵メモリが含まれる。プロセッサには、特定のプログラムを読み込ませて特定の機能を実行する汎用のプロセッサ、特定の処理に特化した専用のプロセッサが含まれる。専用のプロセッサには、特定用途向けＩＣ（ＡＳＩＣ；Application Specific Integrated Circuit）が含まれる。プロセッサには、プログラマブルロジックデバイス（ＰＬＤ；Programmable Logic Device）が含まれる。ＰＬＤには、ＦＰＧＡ（Field-Programmable Gate Array）が含まれる。制御部１６は、一つまたは複数のプロセッサが協働するＳｏＣ（System-on-a-Chip）、及びＳｉＰ（System In a Package）のいずれかであってよい。
【００２９】
次に、複数の実施形態の１つにおける制御部１６の各構成要素について説明する。複数の実施形態のうちの１つにおいて、制御部１６は、抽出部１８、視差算出部１９、及び視差画像生成部２０を含む。抽出部１８、視差算出部１９、及び視差画像生成部２０の各々は、ハードウエアモジュールであってよく、ソフトウエアモジュールであってよい。抽出部１８、視差算出部１９、及び視差画像生成部２０の各々が行える動作を、制御部１６は実行できる。制御部１６は、抽出部１８、視差算出部１９、及び視差画像生成部２０を含む形態に限られず、抽出部１８、視差算出部１９、及び視差画像生成部２０の１つ又は複数が省略されてよい。複数の実施形態のうちの１つにおいて、制御部１６は、抽出部１８、視差算出部１９、及び視差画像生成部２０の全ての動作を実行してよい。抽出部１８、視差算出部１９、及び視差画像生成部２０が行う動作は、制御部１６が行う動作として言い換えてよい。制御部１６が抽出部１８、視差算出部１９、及び視差画像生成部２０のいずれかを使役して行う処理は、制御部１６が自ら実行してよい。
【００３０】
抽出部１８は、取得部１５によって取得された基準画像および参照画像それぞれに対して処理をする。基準画像および参照画像の画像データでは、画像空間のｘ方向が三次元座標空間の基線長方向に対応する。ｘ方向は、第１方向と呼んでよい。基線長方向は、Ｘ方向と呼んでよい。ｙ方向は、画像空間においてｘ方向と交わる方向である。画像データは、複数の画素がｘ方向に並んでいる。本開示では、ｘ方向に並ぶ複数の画素をラインと呼ぶことがある。画像データは、複数のラインがｙ方向に並んでいる。抽出部１８は、複数のラインから一部のラインを抽出する。抽出部１８は、複数のラインから、規則的に一部のラインを抽出してよい。抽出部１８が抽出する規則は、周期性を含んでよい。本開示では、抽出が行われる周期を、繰り返し周期と呼ぶ場合がある。抽出部１８は、抽出したラインを抽出元の画像での位置に基づいて配置し直した基準画像の抽出画像および参照画像の抽出画像を生成する。本開示では、基準画像の抽出画像、および参照画像の抽出画像の２つを区別せずに、単に「抽出画像」という場合がある。基準画像の抽出画像は、「抽出基準画像」と呼ぶことがある。参照画像の抽出画像は、「抽出参照画像」と呼ぶことがある。「間引き画像」は「抽出画像」と呼ぶことがある。この繰り返し周期は、規則的であってもよいし、不規則であってもよい。抽出部１８は、規則的にラインを抽出することで、処理の対象となる画素数を減らす。以降の説明では、規則的にラインを抽出する例について説明する。
【００３１】
抽出部１８は、所定の間隔としてピッチＰｙ（Ｐｙは自然数）を設定してよい。抽出部１８は、他の構成から設定されたピッチＰｙを利用してよい。抽出部１８は、画像から複数のラインをｙ方向にピッチＰｙで抽出する。図４に示す例は、抽出しないラインを黒塗りしたものである。抽出部１８は、抽出したラインを、抽出元の画像での座標順に隙間を空けずに配置し直すことによって、図５に示すような抽出画像を生成する。
【００３２】
ピッチＰｙは、画素を抽出するｙ方向の間隔である。ピッチＰｙは、ピクセルを単位として表してよい。抽出部１８は、ピッチＰｙ＝ｎである場合、ｙ方向に沿って、ｎピクセルにつき１ラインを抽出する。図４および図５に示す例では、Ｐｙ＝２とする。抽出部１８は、ピッチＰｙ＝２である場合、ｙ方向に２ピクセルにつき１ピクセルの画素を抽出する。車両に搭載されたステレオカメラ１１によって撮像される近距離の被写体は、三次元座標空間において、１ピクセル程度の大きさが小石程度の大きさに相当とする。小石程度の大きさは、障害物等の検知には影響を与えない。遠距離の被写体は、三次元座標空間において、１ピクセル程度の大きさが８０ｃｍ程度の大きさの物体、人物等に相当する。障害物等の検知の対象とならない遠距離であれば、障害物等の検知には影響を与えない。ピッチＰｙは、Ｐｙ＝２に限ることなく、用途等に合わせて任意に設定することが可能である。
【００３３】
次に、抽出部１８が、抽出画像を生成する方法について詳細に説明する。
【００３４】
抽出部１８は、取得部１５によって取得された画像から、座標（ｋ，１×Ｐｙ）（図４に例として示す画像の（１）で示されるライン）の画素を抽出する。該画素の輝度値Ｌ（ｋ，１）を抽出画像の座標（ｋ，１）（図５に例として示す抽出画像の（１’）で示されるライン）に関連付けて画像メモリ１７に記憶する。ここでｋ＝１〜ｘｍａｘである。ｘｍａｘは画像のｘ方向のピクセル数、すなわちｘ座標の最大値であり、図２に示す例ではｘｍａｘ＝６４０である。
【００３５】
次に、抽出部１８は、取得部１５によって取得された画像の、前の処理の対象となった画素群のｙ座標にピッチＰｙを加算したｙ＝２×Ｐｙの画素を抽出する。すなわち、抽出部１８は、座標（ｋ，２×Ｐｙ）（図４に例として示す画像の（２）で示されるライン）の画素を抽出する。抽出部１８は、該画素の輝度値Ｌ（ｋ，２）に、抽出画像の座標（ｋ，２）（図５に例として示す抽出画像の（２’）で示されるライン）を関連付けて画像メモリ１７に記憶する。同様にして、抽出部１８は、取得部１５によって取得された画像の、前の処理の対象となったｙ座標にピッチＰｙを加算したｙ＝３×Ｐｙの画素を抽出する。すなわち、抽出部１８は、座標（ｋ，３×Ｐｙ）の画素（図４に例として示す画像の（３）で示されるラインの画素）を抽出する。抽出部１８は、座標（ｋ，３×Ｐｙ）の画素の輝度値Ｌ（ｋ，３）に、抽出画像の座標（ｋ，３）（図５に例として示す抽出画像の（３’）で示されるライン）を関連付けて画像メモリ１７に記憶する。
【００３６】
同様にして、抽出部１８は、順次取得部１５によって取得された画像の座標（ｋ，ｎ×Ｐｙ）（ここで、ｎは自然数）の画素を抽出し、該画素の輝度値Ｌ（ｋ，ｎ）に抽出画像の座標（ｋ，ｎ）を関連付けて画像メモリ１７に記憶する。
【００３７】
このようにして抽出部１８によって抽出される画素のｙ座標ｎ×Ｐｙが、取得部１５によって取得された画像のｙ座標の最大値ｙｍａｘ（図２に示す例では、ｙｍａｘ＝４７９）を超える前まで繰り返す。これによって、抽出部１８は、図２（ａ）に示すような基準画像から図５（ａ）に示す抽出基準画像を生成する。抽出部１８は、図２（ｂ）に示すような参照画像から図５（ｂ）に示す抽出参照画像を生成する。
【００３８】
視差算出部１９は、抽出部１８によって処理された抽出基準画像と抽出参照画像との視差を算出する。視差算出部１９は、抽出基準画像及び抽出参照画像の一方画像を複数の領域に分割する。視差算出部１９は、分割した複数領域の各々と他方画像とをマッチングさせる。視差算出部１９は、抽出基準画像と抽出参照画像とでマッチングした２つの領域の左右方向における座標の違いに基づいて、当該領域の距離を算出する。視差算出部１９は、距離が等しい領域が固まっている部分を検出することにより、当該位置に存在する物体を識別する。視差算出部１９は、物体を識別した領域の距離から、識別した物体までの距離を識別する。視差算出部１９が識別する物体には、障害物が含まれる。障害物には、人間、車両、道路標識、建築物、及び植物の少なくとも１つが含まれる。複数の実施形態の１つにおいて、視差算出部１９は、識別した物体と距離画像とを関連付ける。視差算出部１９は、距離画像、識別した物体、および当該物体までの距離の少なくとも１つを含む情報を出力する。複数の実施形態の１つにおいて、視差算出部１９は、リアルタイムで処理を実行する。
【００３９】
視差算出部１９は、抽出基準画像の画素（注目画素）と、注目画素の周囲の複数画素とを含む第１のブロックを抽出基準画像から抽出する。視差算出部１９は、連続する複数のラインから第１のブロックを抽出する。視差算出部１９は、抽出基準画像から抽出した第１のブロックとマッチングする複数の第２のブロックを抽出参照画像から抽出する。視差算出部１９は、複数の第２のブロックを、連続する複数のラインから抽出する。第２のブロックを抽出する複数ラインは、第１のブロックを抽出する複数ラインと同じｙ座標である。視差算出部１９は、第１のブロックと、複数の第２のブロックとの１次元マッチングをブロック毎に行う。視差算出部１９は、第１のブロックと１次元マッチングを行う第２のブロックを基線長方向に順次シフトさせて、１次元マッチングを順次行う。視差算出部１９は、抽出基準画像および抽出参照画像から抽出された各画素の輝度値に基づいて両画像の一次元マッチングを高速で行う。そのために、視差差出部１９は、視差算出回路として、ステレオ画像処理専用の並列処理演算回路を備えることができる。
【００４０】
ここで、視差算出部１９による視差算出方法について、図６を用いて詳細に説明する。図６（ａ）は抽出基準画像の一部を拡大して示した概念図であり、１つのセルが１つの画素を表し、例えば、座標（１，１）の画素をＲ0、座標（２，１）の画素をＲ7という。同様にして、図６（ｂ）は抽出参照画像の一部を拡大して示した概念図であり、１つのセルが１つの画素を表し、例えば、座標（８，１）の画素をＣ0、座標（９，１）の画素をＣ7という。
【００４１】
さらに具体的には、視差算出部１９は、抽出部１８によって生成された抽出基準画像の各画素（注目画素）について、３×３ピクセルの矩形のブロックを抽出する。３×３ピクセルの矩形のブロックは、図６に示すような、注目画素（図６（ａ）のＲ0）と該注目画素に隣接する画素（図６（ａ）のＲ1〜Ｒ8）とから構成される。そして、視差算出部１９は、抽出したブロックと基線長方向に同一のラインとなる抽出参照画像の３ライン（図６（ｂ）の第０行から第２行）の画像データを取得する。そして、視差算出部１９は、抽出参照画像のブロックを左から順に基線長方向にシフトさせ、抽出参照画像と１次元マッチングを行う。
【００４２】
ブロックの抽出は、抽出画像の全体に対して行ってもよいが、抽出画像の上部および下部について視差を算出しない場合は、視差を算出しない抽出画像の領域を除いた領域に対して行う。また、ブロックは、注目画素（Ｒ0）と該注目画素に隣接する画素（Ｒ1〜Ｒ8）のみではない。ブロックは、例えば、注目画素（Ｒ0）と、該注目画素（Ｒ0）に隣接する複数の画素（Ｒ1〜Ｒ8）と、さらにそれらの画素（Ｒ1〜Ｒ8）に隣接する画素とから構成される５×５ピクセルの矩形のブロックでもよい。同様にして、ブロックは９×９ピクセル等とすることもできる。ブロックの大きさが小さいと、視差算出に使用される情報量が少なく視差算出の精度の劣化が懸念される。一方、ブロックが大きくなると同一のブロック内に視差の異なる被写体物が混在する可能性が高くなる。ブロックの大きさは、３×３ピクセル以上１０×１０ピクセル未満の値を採用できるが、この範囲に限定されない。
【００４３】
視差画像生成部２０は、視差算出部１９によって算出した視差を、該視差に係る画素の抽出画像上での位置に表した抽出視差画像を生成する。
【００４４】
図７に示す抽出視差画像の例には視差が大きい画素、すなわちステレオカメラからの距離が短い被写体を表す画素ほど低い輝度値が付されている。また、抽出視差画像には、ステレオカメラからの距離が短い被写体を示す画素ほど高い輝度値が付されてもよい。抽出視差画像は、距離情報をカラースケールで表されてもよい。抽出視差画像には、例えば被写体までの距離が短い被写体を示す画素ほど青色に近く、距離が長い被写体を示す画素ほど赤色に近い色が付されてもよい。
【００４５】
また、視差画像生成部２０は、抽出視差画像に基づいて、取得部１５によって取得された画像と同様のサイズを有する、図８に示すような補間視差画像を生成するための補間処理を行う。具体的には、視差画像生成部２０は、視差算出部１９によって算出された視差を、該視差に係る画素の抽出元の基準画像での位置に対応する、補間視差画像上での位置に表す。視差画像生成部２０は、視差が算出されていない画素の位置には、視差算出部１９によって算出された、ｙ方向に隣接する画素の視差に基づいて視差を補間する。
【００４６】
カメラ１１ａおよび１１ｂによって撮像され、取得部１５によって取得された、例として図２（ａ）および（ｂ）に示す基準画像および参照画像はそれぞれ６４０×４８０ピクセルである。しかし、これらの画像に基づいて生成された抽出基準画像および抽出参照画像は図５に示したように６４０×２４０ピクセルとなる。そのため、図７に示したように、抽出視差画像のサイズは、ステレオカメラ１１によって撮像された画像のサイズより小さいものとなる。視差画像を参照する利用者にとっては、図８で示すように視差画像のサイズは元の画像のサイズと同等であることが望まれる。また、視差画像に基づいて車両の制御を行う車両制御装置にとっては、視差画像を撮像した画像上に重ね合わせて合成し、障害物検出等の画像処理を行うために、視差画像のサイズは元の画像と同じであってよい。情報量の少ない抽出視差画像ではなく、元の画像と同等の情報量を有する視差画像を用いる方が精度の高い制御を行うことができる。
【００４７】
ここで、図９を用いて、視差画像生成部２０が、抽出視差画像から補間視差画像を生成する補間処理の一例を説明する。図９（ａ）には抽出視差画像の概念図が示されており、各座標に示されている記号ｄ（１，１）〜ｄ（６４０，２４０）それぞれは、各座標（１，１）〜（６４０，２４０）の画素の視差ｄである。
【００４８】
視差画像生成部２０は、抽出視差画像から各ラインの画素、すなわち、座標（ｋ，ｎ）の画素の視差を抽出する。ここでｋ＝１〜ｘｍａｘであり、ｘｍａｘは抽出視差画像のｘ方向の画素数、すなわちｘ座標の最大値である。また、ｎ＝１〜ｙ’ｍａｘであり、ｙ’ｍａｘは抽出視差画像におけるｙ方向の画素数、すなわち、ｙ座標の最大値である。図９に示す例では、ｘｍａｘ＝６４０、ｙ’ｍａｘ＝２４０である。
【００４９】
そして、視差画像生成部２０は、座標（ｋ，ｎ）にある画素の視差ｄ（ｋ，ｎ）を座標（ｋ，ｎ×Ｐｙ）に関連付けて画像メモリ１７に記憶する。ここで、Ｐｙは、抽出画像を生成する処理で用いられたピッチＰｙと同一の値である。
【００５０】
次に、視差画像生成部２０は、図９（ｂ）に例示される補間視差画像においてブランクで示されているような、抽出部１８によって抽出されず、視差算出部１９によって視差が算出されていないラインに含まれる画素に対応する位置の視差ｄを補間する。すなわち、視差画像生成部２０は、座標（ｋ，ｎ×Ｐｙ）と座標（ｋ，（ｎ＋１）×Ｐｙ）との間にある位置に視差ｄを補間する。そのために、視差画像生成部２０は、座標（ｋ，ｎ×Ｐｙ）と座標（ｋ，（ｎ＋１）×Ｐｙ）との間にある位置に、第１の画素の位置における視差と第２の画素の位置における視差との平均値を補間する。第１の画素の位置とは、視差が算出されていない位置のｙ方向の一方で隣接する、視差が測定された画素である第１の画素の位置である。第１の画素の位置とは、ｙ方向の他方で隣接する、視差が測定された画素である第２の画素の位置である。
【００５１】
そのため、視差画像生成部２０は、補間視差画像において、座標（ｋ，ｎ×Ｐｙ）と座標（ｋ，（ｎ＋１）×Ｐｙ）との間の座標に、それぞれの座標にある画素の平均値を関連付けて記憶する。平均値は、視差ｄ（ｋ，ｎ）と視差ｄ（ｋ，ｎ）との平均値（ｄ（ｋ，ｎ）＋ｄ（ｋ，ｎ＋１））／２である。
【００５２】
これらの処理の具体例について図９を参照して説明する。ピッチＰｙは、抽出処理におけるピッチＰｙと同一であるため、ここでの説明において、上述した抽出処理の例と同様にＰｙ＝２とする。
【００５３】
視差画像生成部２０は、図９（ａ）に示す抽出視差画像から座標（１，１）〜（６４０，１）それぞれの視差ｄ（１，１）〜ｄ（６４０，１）を抽出する（図９（ａ）の（１）に示されるラインを参照）。視差画像生成部２０は、各視差ｄ（１，１）〜ｄ（６４０，１）を、それぞれ図９（ｂ）で示すような補間視差画像の座標（１，２）〜（６４０，２）に関連付けて画像メモリ１７に記憶させる（図９（ｂ）の（１’）に示されるラインを参照）。
【００５４】
同様にして、視差画像生成部２０は、抽出視差画像から座標（１，２）〜（６４０，２）のそれぞれ視差ｄ（１，２）〜ｄ（６４０，２）を抽出する（図９（ａ）の（２）に示される部分を参照）。そして、視差画像生成部２０は、各視差ｄ（１，２）〜ｄ（６４０，２）を、それぞれ図９（ｂ）で示すような補間視差画像の座標（１，４）〜（６４０，４）に関連付けて画像メモリ１７に記憶する（図９（ｂ）の（２’）に示されるラインを参照）。
【００５５】
そして、視差画像生成部２０は、補間視差画像において、視差がブランクである座標（１，３）に、視差ｄ（１，２）と視差ｄ（１，４）との平均値（ｄ（１，２）＋ｄ（１，４））／２を補間する。視差ｄ（１，２）は、座標（１，３）にｙ方向の一の側で隣接する、座標（１，２）にある画素の視差である。視差ｄ（１，４）は、座標（１，３）に、ｙ方向の反対の側で隣接する画素の視差である。同様にして、他の座標についても視差を補間する。
【００５６】
このようにして、視差画像生成部２０が、補間視差画像のブランクとなっている座標（ｋ，２×ｎ＋１）（ｋ＝１〜６４０、ｎ＝１〜２３９）について順次補間処理を行うことができる。なお、補間視差画像の座標（ｋ，１）の各ブランクについては、例えば、視差ｄ（ｋ，１）（すなわち、補間視差画像の座標（ｋ，２）と同じ視差）とすることができる。これによって、補間視差画像の全ての座標について視差が関連付けて記憶されることによって、補間視差画像が生成される。
【００５７】
また、視差画像生成部２０は、該視差画像生成部２０が生成した視差画像を車両制御装置に送信したり、視差画像を表示するための表示装置に出力したりする。
【００５８】
画像メモリ１７は、取得部１５によって取得され、制御部１６によって抽出処理された画像を一時的に蓄積するメモリである。画像メモリ１７は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）やＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）等の高速の揮発性メモリを用いることができる。画像メモリ１７は、画像を処理する間、画像を保持するとともに、視差算出部１９によって算出された各画素の視差を記憶する。
【００５９】
以下に、図１０のフローチャートを用いて、視差算出装置１２の視差算出方法について説明する。
【００６０】
まず、取得部１５が、第１のカメラ１１ａおよび第２のカメラ１１ｂからそれぞれ画像を取得する（ステップＳ１１）。
【００６１】
次に、制御部１６の抽出部１８は、取得部１５によって取得された画像それぞれについてｙ方向に抽出をした抽出画像を生成する（ステップＳ１２）。
【００６２】
ここで、図１１のフローチャートを用いて、抽出部１８による抽出画像の生成処理について説明する。
【００６３】
図１１に示すように、抽出部１８は、ｎ＝１とする（ステップＳ１２１）。そして、抽出部１８は、ピッチＰｙに基づいて、各ｋ（ｋ＝１〜６４０）について、画像から座標（ｋ，ｎ×Ｐｙ）、すなわち座標（ｋ，１×Ｐｙ）の画素の輝度値Ｌ（ｋ，１）を抽出する（ステップＳ１２２）。ステップＳ１２２で輝度値Ｌ（ｋ，１）が抽出されると、抽出された輝度値Ｌ（ｋ，１）に座標（ｋ，１）を関連付けて画像メモリ１７に記憶する（ステップＳ１２３）。
【００６４】
ステップＳ１２３で輝度値Ｌ（ｋ，１）と座標（ｋ，１）とが関連付けて画像メモリ１７に記憶されると、抽出部１８は、ｎに１を加算してｎ＝２とし（ステップＳ１２４）、ｎ×Ｐｙ＞ｙｍａｘであるか否かを判定する（ステップＳ１２５）。ステップＳ１２５で、ｎ×Ｐｙ≦ｙｍａｘであると判定されると、視差算出装置１２は、ステップＳ１２２に戻る。そして、抽出部１８は、画像から座標（ｋ，ｎ×Ｐｙ）、すなわち座標（ｋ，２×Ｐｙ）にある画素群の輝度値Ｌ（ｋ，２）を抽出する（ステップＳ１２２）。ステップＳ１２２で輝度値Ｌ（ｋ，２）が抽出されると、抽出部１８は、抽出された輝度値Ｌ（ｋ，２）に座標（ｋ，２）を関連付けて画像メモリ１７に記憶する（ステップＳ１２３）。
【００６５】
このようにして、ステップＳ１２２〜１２５の処理を繰り返して、ステップＳ１２５でｎ×Ｐｙ＞ｙｍａｘであると判定されると、抽出部１８は抽出処理を終了する。これにより、画像メモリ１７内に抽出画像が生成される。
【００６６】
図１０に戻って、ステップＳ１２で抽出部１８によって抽出画像が生成されると、視差算出部１９は、抽出画像のうちの抽出基準画像の各画素について、抽出参照画像と１次元マッチングを行うことにより視差を算出する（ステップＳ１３）。
【００６７】
ここで、図１２のフローチャートを用いて、視差算出部１９による視差の算出処理について説明する。
【００６８】
まず、視差算出部１９は、抽出基準画像から一の画素を選択する（ステップＳ１３０）。例えば、ブロックの大きさを３×３ピクセルとするとき、視差算出部１９は、画像メモリ１７からステップＳ１３０で選択した一の画素（図６のＲ0）と、該画素に隣接する複数の画素（図６のＲ1〜Ｒ8）とを含むブロックを抽出する（ステップＳ１３１）。
【００６９】
ステップＳ１３１でブロックが抽出されると、視差算出部１９は、抽出したブロックと、基線長方向に同一のライン（図６（ｂ）の第０行から第２行）となる３ラインの画像データを抽出参照画像から取得する。そして、視差算出部１９は、抽出参照画像のブロックを左から順に基線長方向にシフトさせ、以下のように抽出基準画像と抽出参照画像との１次元マッチングを行う。
【００７０】
まず、視差算出部１９は、選択されたブロックに対応して、シフト量ｍを０に設定する（ステップＳ１３２）。ここで、シフト量ｍは、抽出参照画像の画素の位置に対して、抽出基準画像のブロックを水平方向である基線長方向にシフトさせたピクセル数を表す量である。
【００７１】
次に、視差算出部１９は、シフト量ｍが０の場合の評価値を算出して、現在の評価値の最小値とする（ステップＳ１３３）。評価値の計算には、評価関数としてＳＡＤ（Sum of Absolute Difference）を使用する。すなわち、視差算出部１９は、抽出基準画像のブロックと、これに対応付けられた抽出参照画像の各画素について、輝度値の差の絶対値を算出し、これを、ブロックの全画素に渡って加算する。評価値が小さいほど、抽出参照画像のブロックと抽出基準画像とのマッチングが高いことを意味する。
【００７２】
図６を用いて、抽出基準画像のブロックの抽出参照画像への一次元マッチングがさらに説明される。まず、抽出基準画像から抽出されたブロックは３行３列の画素（Ｒ0〜Ｒ8）とされる。本実施形態では、図１に示すように、被写体の方向を見て右側に位置する第１のカメラ１１ａが基準画像を出力する。被写体の方向を見て左側に位置する第２のカメラ１１ｂが参照画像を出力する。これにより、図６に示すように、基準画像上での被写体は、参照画像上においてはより右側に位置する。このため、視差算出部１９は、抽出基準画像のブロックと同じ大きさの３×３ピクセルの領域を抽出参照画像上で、抽出基準画像のブロックと対応する位置から順次右方向にシフトさせて、抽出し評価関数の計算を行う。抽出基準画像について１次元マッチングを行うとは、このように抽出参照画像上でブロックと等しい大きさのウィンドウＷを基線長方向にシフトさせることを意味する。また、抽出基準画像について一次元マッチングを行うとは、ウィンドウＷ内の抽出参照画像の画素の輝度値と抽出基準画像のブロックの画素の輝度値との間でマッチングを行うことを意味する。
【００７３】
図６は、シフト量ｍが７の場合を示している。このときの、ウィンドウＷ内の３行３列の画素をＣ0〜Ｃ8とするとき、評価値ＳＡＤは、次式により得られる。
ＳＡＤ＝Σ｜Ｒi−Ｃi｜                  （２）
ここで、ＲiおよびＣiは、それぞれ抽出基準画像のブロックのｉ番目の画素の輝度値、および、抽出参照画像のウィンドウＷ内のｉ番目の画素の輝度値を示す。Σはｉ＝０〜８についての全ての総和をとることを意味する。
【００７４】
図１２のフローチャートに戻り、以降の処理で視差算出部１９は、１ピクセルずつシフト量ｍを順次増加させて、評価値の算出を繰り返し行う。
【００７５】
なお、本実施形態では、１ピクセルずつシフト量ｍを順次増加させるとしたが、任意のピクセル数ずつシフト量ｍをシフトさせてもよい。ただし、シフト量ｍをシフトさせるピクセル数は、ブロックの基線長方向の幅以下としてよい。本実施形態では、ブロックの大きさが３×３ピクセルであるから、シフト量ｍは最大でも３ピクセルずつシフトさせる。シフト量ｍを３ピクセルずつよりも大きくシフトさせると、評価値の最小値が正しく算出されない可能性が高くなる。
【００７６】
視差算出部１９はシフト量ｍがｍ≧ｍｍａｘでない場合（ステップＳ１３４）を１ピクセルだけ増加させる（ステップＳ１３５）。すなわち、視差算出部１９は、抽出基準画像のブロックを抽出参照画像に対して、さらに１ピクセルだけシフトさせる。そして、視差算出部１９は、シフト後の抽出参照画像のブロックと抽出基準画像との間で評価値を再び算出する（ステップＳ１３６）。
【００７７】
算出された評価値が、その時点の評価値の最小値よりも小さい場合は（ステップＳ１３７）、視差算出部１９は評価値の最小値を、新たに算出された評価値に更新する。さらに、視差算出部１９は、この評価値の最小値に対応するシフト量ｍを記憶する（ステップＳ１３８）。評価値が、その時点の評価値の最小値よりも大きい場合は、そのままステップＳ１３４に戻り、以下、ｍ≧ｍｍａｘとなるまで、ステップＳ１３４〜Ｓ１３８の処理を繰り返す。ここで、ｍｍａｘは、参照画像のブロックをシフトさせる最大値であり、ステレオ画像で算出できる最小の距離に対応する。ｍｍａｘは、例えば５０〜１００ピクセル程度に設定することができる。
【００７８】
一方、ステップＳ１３４において、ｍ≧ｍｍａｘとなった場合、視差算出部１９は、評価値の最小値に対応するシフト量ｍを当該ブロックの有する視差として決定する（ステップＳ１３９）。そして、視差算出部１９は、ステップＳ１３０に戻って、全ての画素の視差ｄを算出するまで、参照画像から順次、画素を選択して視差ｄの算出を繰り返す。全ての画素について視差ｄが決定された場合（ステップＳ１４０）、視差算出処理は終了される。
【００７９】
図１０に戻って、ステップＳ１３で視差が算出されると、視差画像生成部２０が、視差算出部１９によって座標（ｘ、ｙ）の画素について算出された視差ｄ（ｘ，ｙ）を画像メモリ１７に記憶することによって抽出視差画像を生成する（ステップＳ１４）。
【００８０】
ステップＳ１４で視差画像生成部２０によって抽出視差画像が生成されると、視差画像生成部２０が、画像メモリ１７に記憶された抽出視差画像に基づいて補間視差画像を生成する（ステップＳ１５）。
【００８１】
ここで、図１３のフローチャートを用いて、視差画像生成部２０による補間視差画像の生成処理について説明する。
【００８２】
図１３に示すように、視差画像生成部２０は、ｎ＝１とする（ステップＳ１５１）。視差画像生成部２０は、各ｋ（ｋ＝１〜６４０）について、画像メモリ１７に記憶されている抽出視差画像から座標（ｋ，ｎ）、すなわち座標（ｋ，１）の画素の視差ｄ（ｋ，１）を抽出する（ステップＳ１５２）。ステップＳ１５２で視差ｄ（ｋ，１）が抽出されると、視差画像生成部２０は、視差ｄ（ｋ，１）と座標（ｋ，ｎ×Ｐｙ）、すなわち座標（ｋ，１×Ｐｙ）とを関連付けて抽出補間画像として画像メモリ１７に記憶する（ステップＳ１５３）。
【００８３】
ステップＳ１５３で視差ｄ（ｋ，１）と座標（ｋ，１×Ｐｙ）とが関連付けて画像メモリ１７に記憶されると、視差画像生成部２０は、ｎに１を加算してｎ＝２とし（ステップＳ１５４）、ｎ＞ｙ’ｍａｘであるか否かを判定する（ステップＳ１５５）。
【００８４】
ステップＳ１５５でｎ≦ｙ’ｍａｘであると判定されるとステップＳ１５２に戻る。視差画像生成部２０は、画像から座標（ｋ，ｎ）、すなわち座標（ｋ，２）の位置にある画素の視差ｄ（ｋ，２）を画像メモリ１７から抽出する（ステップＳ１５２）。ステップＳ１５２で視差ｄ（ｋ，２）が抽出されると、視差画像生成部２０は、抽出された視差ｄ（ｋ，２）に座標（ｋ，ｎ×Ｐｙ）、すなわち座標（ｋ，２×Ｐｙ）を関連付けて画像メモリ１７に記憶する（ステップＳ１５３）。
【００８５】
このようにして、ステップＳ１５２〜Ｓ１５５の処理を繰り返して、ステップＳ１５５でｎ＞ｙ’ｍａｘであると判定されると、視差画像生成部２０は、ｎ＝１とする（ステップＳ１５６）。視差画像生成部２０は、各ｋ（ｋ＝１〜６４０）について、座標（ｋ，ｎ×Ｐｙ）と座標（ｋ，（ｎ＋１）×Ｐｙ）との間にある座標に、視差（ｄ（ｋ，ｎ）＋ｄ（ｋ，ｎ＋１））／２を関連付けて画像メモリ１７に記憶する（ステップＳ１５７）。視差（ｄ（ｋ，ｎ）＋ｄ（ｋ，ｎ＋１））／２は視差ｄ（ｋ，ｎ）と視差ｄ（ｋ，ｎ＋１）との平均値である。すなわち、視差画像生成部２０は、座標（ｋ，１×Ｐｙ）と座標（ｋ，２×Ｐｙ）との間にある座標に、視差（ｄ（ｋ，１）＋ｄ（ｋ，２））／２を関連付けて画像メモリ１７に記憶する。視差（ｄ（ｋ，１）＋ｄ（ｋ，２））／２は、視差ｄ（ｋ，１）と視差ｄ（ｋ，２）との平均値である
【００８６】
次に、視差画像生成部２０はｎに１を加算してｎ＝２とする（ステップＳ１５８）。視差画像生成部２０は、ｎ＋１＞ｙ’ｍａｘであるか否かを判定する（ステップＳ１５９）。ｎ＋１≦ｙ’ｍａｘであると判定されると、視差画像生成部２０は、ステップＳ１５７に戻る。視差画像生成部２０は、各ｋ（ｋ＝１〜６４０）について、座標（ｋ，２×Ｐｙ）と座標（ｋ，３×Ｐｙ）との間にある座標を、（ｄ（ｋ，２）＋ｄ（ｋ，３））／２に関連付けて画像メモリ１７に記憶する。（ｄ（ｋ，２）＋ｄ（ｋ，３））／２は視差ｄ（ｋ，２）と視差ｄ（ｋ，３）との平均値である
【００８７】
ステップＳ１５７〜Ｓ１５９の処理を繰り返して、ステップＳ１５９でｎ＋１＞ｙ’ｍａｘであると判定されると、視差画像生成部２０は補間処理を終了する。このように、視差画像生成部２０が補間処理を行うことによって、取得部１５によって取得された画像と同じサイズの補間視差画像が生成される。
【００８８】
以上説明したように、ある１つの実施形態によれば、視差算出装置１２は、基準画像および参照画像のそれぞれについて、三次元座標空間の基線長方向に対応する、画像空間のｘ方向に並んでいる画素を、ｙ方向において所定の間隔おきに抽出する。そして、視差算出装置１２は、抽出された画素に基づいて視差を算出する。そのため、視差を測定する対象となる画素の数が減少し、視差算出装置１２は、全体的な処理負荷を低減させることができる。
【００８９】
処理負荷の低減による処理能力の余裕を近距離の視差測定に振り向けることにより、同じ全体的な処理負荷でより近距離の視差を測定することが可能になる。これにより、近距離の被写体が表されている画素については精度の高い測定をすることが可能となる。
【００９０】
ある１つの実施形態によれば、視差算出部１９は、ｙ方向において所定の間隔おきに画素を抽出し、抽出された画素に基づいて視差を算出する。視差を算出するためには、視差算出部１９は、参照画像および基準画像のｙ方向における位置が同一の画素を比較することによって参照画像と基準画像との１次元マッチングを行う。ｙ方向において所定の間隔おきに画素を抽出し、ｘ方向については全ての画素が抽出されることになるため、参照画像で抽出された画素の比較の対象となる基準画像の画素が失われることがない。そのため、１次元マッチングの精度が低下することがない。したがって、処理を減少させつつ精度の低下を抑えて視差を算出することができる。
【００９１】
ある１つの実施形態によれば、視差算出部１９は、ステレオカメラ１１によって撮像された前回のフレームの画像を用いずに視差を算出する。そのため、前回のフレームの画像に撮像されている被写体までの距離が正確に算出されなかった場合にも、高い精度で視差を算出することができる。
【００９２】
ある１つの実施形態によれば、視差が算出されない画素の位置には、視差画像生成部２０該位置のｙ方向で隣接する、視差が算出された画素に基づいて視差を補間する。そのため、車両の制御を行う装置にとっては、情報量の少ない抽出視差画像ではなく、元の画像と同等の情報量を有する視差画像を用いて、高い精度で車両を制御することができる。
【００９３】
本開示の他の実施形態について、図面を参照して説明する。
【００９４】
ある１つの実施形態に係るステレオカメラ装置１０の概略構成は図３に示す第１の実施形態の概略構成と同様であり、視差算出装置１２は、取得部１５と、制御部１６と、画像メモリ１７とを含んで構成されている。また、制御部１６は、抽出部１８、視差算出部１９、視差画像生成部２０等の機能ブロックを含んで構成される。複数の実施形態における同様の構成については適宜説明を省略する。
【００９５】
ある１つの実施形態では、抽出部１８が、画像から抽出するラインの間隔は等間隔、すなわち、ピッチＰｙは一定としている。これに対して、ある１つの実施形態では、ピッチＰｙは、抽出元の画像でのｙ座標に応じて異なる。
【００９６】
車両１に取り付けられたステレオカメラ１１によって取得された、図２に示すような画像の上部の多くには空が撮像されている。上部とは、三次元座標空間における鉛直方向の上方が撮像されている領域、すなわち、図１４に示す画像でｙ座標がｙ1未満である領域である。一方、画像の下部には前方を走行する他の車両、障害物等の被写体が撮像されていることが多い。下部とは、三次元座標空間における鉛直方向の下方が撮像されている領域、すなわち、すなわち、図１４に示す画像でｙ座標がｙ1以上である領域である。したがって、後段の処理において画像の上部より下部の視差を高精度に算出するために、所定の間隔は、図１４に示すように、画像の領域に応じて異ならせる。視差算出部１９は、三次元座標空間の鉛直方向での上方が撮像されている領域（０≦ｙ＜ｙ1）では、下方が撮像されている領域（ｙ1≦ｙ≦ｙｍａｘ）より低い密度でラインを抽出する。ここで、ラインの抽出に係る「密度」とは、連続する所定数のラインのうち抽出する対象となるライン数の、所定数に対する割合のことである。所定数のラインのうち抽出するライン数が多くなるほど「高密度でラインを抽出する」という。例えば、ピッチＰｙを小さくすると、ラインは高密度で抽出されることになる。
【００９７】
本実施形態においては、ピッチＰｙは０≦ｙ＜ｙ1の領域についての抽出処理においてＰｙ＝ｕ（ｕは自然数）とし、ｙ1≦ｙ≦ｙｍａｘの領域についての抽出処理においてＰｙ＝ｖ（ｖは自然数でｖ＜ｕ）とする。
【００９８】
ここで、図１５のフローチャートを用いて、抽出部１８が抽出画像を生成する抽出処理について説明する。
【００９９】
図１５に示すように、抽出部１８は、ｎ＝１、Ｐｙ＝ｕとする（ステップＳ２３１）。設定部１８は、設定されているピッチＰｙ＝ｕに基づいて、画像から座標（ｋ，ｎ×ｕ）、すなわち座標（ｋ，１×ｕ）の位置にある画素の輝度値Ｌ（ｋ，１）を抽出する（ステップＳ２３２）。ステップＳ２３２で輝度値Ｌ（ｋ，１）が抽出されると、抽出部１８は、抽出された輝度値Ｌ（ｋ，１）に座標（ｋ，ｎ）、すなわち（ｋ，１）を関連付けて画像メモリ１７に記憶する（ステップＳ２３３）。
【０１００】
ステップＳ２３３で輝度値と座標とが関連付けて画像メモリ１７に記憶されると、抽出部１８は、ｎに１を加算してｎ＝２とし（ステップＳ２３４）、ｎ×Ｐｙ＞ｙ1であるか否かを判定する（ステップＳ２３５）。ｎ×Ｐｙ≦ｙ1であると判定されると、抽出部１８は、ピッチＰをｕのままとし、ステップＳ２３２〜Ｓ２３５の処理を繰り返す。
【０１０１】
ステップＳ２３５でｎ×Ｐｙ＞ｙ1であると判定されると、抽出部１８は、ピッチＰｙをｖに変更する（ステップＳ２３６）。そして、抽出部１８は、最後にｎ×Ｐｙ≦ｙ1と判定されたｎをｎ1として、画像から座標（ｋ，ｎ1×ｕ＋（ｎ−ｎ1）×ｖ）にある画素の輝度値Ｌ（ｋ，ｎ）を抽出する（ステップＳ２３７）。そして、抽出部１８は、抽出された輝度値Ｌ（ｋ，ｎ）に座標（ｋ，ｎ）を関連付けて画像メモリ１７に記憶する（ステップＳ２３８）。ステップＳ２３８で、輝度値Ｌ（ｋ，ｎ）と座標（ｋ，ｎ）とが関連付けて画像メモリ１７に記憶されると、抽出部１８は、ｎに１を加算してｎ＝ｎ＋１とする（ステップＳ２３９）。そして、抽出部１８は、ｎ1×ｕ＋（ｎ−ｎ1）×ｖ＞ｙｍａｘであるか否かを判定する（ステップＳ２４０）。
【０１０２】
ステップＳ２４０で、ｎ1×ｕ＋（ｎ−ｎ1）×ｖ≦ｙｍａｘであると判定されると、抽出部１８は、ふたたびステップＳ２３８〜Ｓ２４０の処理を繰り返す。抽出部１８は、ステップＳ２４０でｎ1×ｕ＋（ｎ−ｎ1）×ｖ＞ｙｍａｘであると判定されると抽出処理を終了する。
【０１０３】
抽出視差画像を補間して補間視差画像を生成する方法は他の実施形態と同様であるが、視差画像生成部２０は、視差画像の上部については補間処理を行わなくてもよい。
【０１０４】
以上説明したように、ある１つの実施形態によれば、抽出部１８は、画像の領域に応じて異なる間隔でラインを抽出し、下方が撮像されている領域では、上方が撮像されている領域より高い密度でラインを抽出する。そのため、遠方の物体や空が多く撮像されている領域では視差算出処理を減少させつつ、他の車両、障害物等の被写体が撮像されていることが多い領域では高精度に視差算出処理を行うことが可能になる。
【０１０５】
ある１つの実施形態において、視差算出部１９は、抽出部１８によって生成され、画像メモリ１７に記憶されている抽出画像に基づいて視差を算出しているが、この方法に限られない。視差算出部１９は、例えば、取得部１５によって取得された画像に基づいて視差を算出してもよい。この場合、視差算出部１９は、取得部１５によって取得された参照画像からピッチＰｙの間隔で抽出された画素を配列した矩形をブロックとする。そして、視差算出部１９は、参照画像から抽出した画素に係るブロックと、該ブロックのｙ座標と同一のｙ座標にある基準画像の画素を含むブロックとで１次元マッチングを行って視差を算出する。そして、視差画像生成部２０は、算出された視差を、抽出元の参照画像における位置に対応する、補間視差画像における位置の視差とする。
【０１０６】
視差画像生成部２０は、視差が算出されなかったラインの画素に対応する位置に、ｙ方向の一方で隣接する第１の画素の視差と、ｙ方向の他方で隣接する第２の画素の視差との平均値を補間したが、補間の方法はこの方法に限られない。例えば、視差画像生成部２０は、視差が算出されていないラインの画素の位置には、ｙ方向の一方で隣接する画素の視差と同一の値を補間してもよい。この場合、視差画像生成部２０は、座標（ｋ，ｎ×Ｐｙ）と座標（ｋ，（ｎ＋１）×Ｐｙ）との間にある座標に、座標（ｋ，ｎ×Ｐｙ）における視差ｄ（ｋ，ｎ×Ｐｙ）を関連付けて記憶する。
【０１０７】
視差画像生成部２０は、視差が算出されなかったラインの画素に対応する位置に、第１の画素の視差と、第２の画素の視差との間を直線補間することによって、視差を補間してもよい。第１の画素は、ｙ方向の一方で隣接する、視差が測定された画素である第１の画素の視差である。第２の画素は、ｙ方向の他方で隣接する、視差が測定された画素である。
【０１０８】
ある１つの実施形態において、抽出部１８は、ｙ座標の小さい位置にあるラインから順に抽出しているが、ラインを抽出する順は任意であってよい。また、視差画像生成部２０は、ｙ座標の小さい位置にあるラインから順に補間処理を行っているが、補間処理を行う順は任意であってよい。
【０１０９】
ある１つの実施形態において、視差画像生成部２０が、抽出画像に基づいて抽出視差画像を生成し、抽出視差画像に補間処理を行うことによって補間視差画像を生成する。しかし、例えば、視差画像生成部２０に代えて距離画像生成部が、抽出画像に基づいて算出した視差に基づいて、各画素が示す被写体までの距離を表す抽出距離画像を生成し、抽出距離画像に補間処理を行うことによって補間距離画像を生成してもよい。
【０１１０】
この場合、距離画像生成部は、視差算出部１９によって算出された各座標（ｘ，ｙ）にある画素の視差ｄ（ｘ，ｙ）、２台のカメラの基線長ｂ、およびカメラの焦点距離ｆを用いて、次式に基づいて距離Ｚxyを算出する。距離Ｚxyは、座標（ｘ，ｙ）にある画素が表す被写体までの距離である。
Ｚxy＝ｂ・ｆ／ｄxy                      （３）
【０１１１】
ある１つの実施形態においてピッチＰｙはｕおよびｖの２種類であるとしたが、２種類に限定することはなく３種類以上としてもよい。
【０１１２】
本出願において、「画像」、「画像データ」、及び「画像情報」という記載は、状況に応じて他の記載に変えて理解することができる。
【符号の説明】
【０１１３】
１      車両
１０    ステレオカメラ装置
１１    ステレオカメラ
１１ａ  第１のカメラ
１１ｂ  第２のカメラ
１２    視差算出装置
１３    路面
１４ａ，１４ｂ    区画線
１５    取得部
１６    制御部
１７    画像メモリ
１８    抽出部
１９    視差算出部
２０    視差画像生成部
【図１】
2017068792.tif 000003
【図２】
2017068792.tif 000004
【図３】
2017068792.tif 000005
【図４】
2017068792.tif 000006
【図５】
2017068792.tif 000007
【図６】
2017068792.tif 000008
【図７】
2017068792.tif 000009
【図８】
2017068792.tif 000010
【図９】
2017068792.tif 000011
【図１０】
2017068792.tif 000012
【図１１】
2017068792.tif 000013
【図１２】
2017068792.tif 000014
【図１３】
2017068792.tif 000015
【図１４】
2017068792.tif 000016
【図１５】
2017068792.tif 000017
【国際調査報告】
2017068792.tif 000018
2017068792.tif 000019
2017068792.tif 000020
2017068792.tif 000021