(57)【要約】【課題】画素同士の対応が検出しにくい領域における対応画素の検出数の増加と、ビタビアルゴリズムを適用したことによる適用方向に沿った対応画素の検出数の減少を抑制することと、を両立できる。【解決手段】視差を有する一対の撮像画像に写った対象までの距離を算出する測距装置（１０）は、撮像画像取得部（１００）と、基準画素から異なる方法で検出された第１候補画素および第２候補画素を用いて、第１視差および第２視差を計算する第１計算部（２１０）および第２計算部（２２０）と、第１候補画素が基準画素に対応する対応画素であるかの対応判定を実行する判定部（２３０）と、第１計算部の計算結果に基づく対応判定と、第２計算部の計算結果に基づく対応判定と、のうち少なくとも一方において対応画素として判定された画素を用いて対象までの距離を算出する距離算出部（２４０）と、を備える。【選択図】図１
2019066412.tif 000002
【特許請求の範囲】
【請求項１】
視差を有する一対の撮像画像に写った対象までの距離を算出する測距装置（１０）であって、
前記一対の撮像画像を取得する撮像画像取得部（１００）と、
前記一対の撮像画像のうち一方の画像である基準画像を構成する画素である基準画素と対応する第１候補画素を、他方の画像である比較画像を構成する画素の中から検出し、前記第１候補画素と対応する第２候補画素を、前記基準画像を構成する画素の中から検出し、前記基準画素の座標と前記第１候補画素の座標との距離を第１視差として計算し、前記第１候補画素の座標と前記第２候補画素の座標との距離を第２視差として計算する第１計算部（２１０）と、
前記基準画素と、前記基準画像を構成する画素の画素値および前記比較画像を構成する画素の画素値に基づくビタビアルゴリズムを適用して検出された前記第１候補画素および前記第２候補画素と、を用いて、前記第１視差および前記第２視差を計算する第２計算部（２２０）と、
前記第１候補画素が前記基準画素に対応する対応画素であるか否かの対応判定を実行する判定部であって、前記第１視差と前記第２視差との差が予め設定された閾値以下である場合に、前記基準画素と前記第１候補画素とは対応する対応画素であると判定し、前記差が前記閾値より大きい場合に、前記基準画素と前記第１候補画素とは前記対応画素ではないと判定する判定部（２３０）と、
前記対応画素に写った対象までの距離を算出する距離算出部（２４０）と、を備え、
前記判定部は、前記第１計算部の計算結果に基づく前記対応判定と、前記第２計算部の計算結果に基づく前記対応判定と、をそれぞれ実行し、
前記距離算出部は、前記第１計算部の計算結果に基づく前記対応判定と、前記第２計算部の計算結果に基づく前記対応判定と、のうち少なくとも一方において前記対応画素として判定された画素を用いて前記対象までの距離を算出する、測距装置。
【請求項２】
請求項１に記載の測距装置であって、
前記判定部が前記対応判定に用いる前記閾値は、前記第１計算部の計算結果に基づく前記対応判定と、前記第２計算部の計算結果に基づく前記対応判定と、はそれぞれ独立して調整できる、測距装置。
【請求項３】
請求項１または請求項２に記載の測距装置であって、さらに、
前記基準画素の画素値との類似度に基づく前記第１候補画素の第１信頼度および前記第１候補画素の画素値との類似度に基づく前記第２候補画素の第２信頼度を検出する信頼度検出部（２２５）を備え、
前記判定部は、前記差が前記閾値以下であるとともに前記第１信頼度と前記第２信頼度との積が予め設定された設定値以上である場合、前記基準画素と前記第１候補画素とは前記対応画素であると判定し、前記差が前記閾値より大きい場合、もしくは、前記積が前記設定値より低い場合、前記基準画素と前記第１候補画素とは前記対応画素ではないと判定する、測距装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、測距装置に関する。
【背景技術】
【０００２】
視差を有する一対の撮像画像に写った対象までの距離を算出する測距装置には、一対の撮像画像において互いに対応する画素である対応画素における視差に基づいて対応画素に写った対象までの距離を算出するものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１１４２６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一対の撮像画像において、一方の撮像画像において写っている対象の一部が他方の撮像画像においては他の対象に隠れて写っていない領域、もしくは、複数の似た模様の対象がそれぞれの撮像画像に写っている領域が存在する場合、該領域では、一対の撮像画像間における画素同士の対応が検出されにくいことから、視差に基づく対応画素の検出数が減少する。該領域を含む一対の撮像画像に対して、特許文献１の探索方法におけるビタビアルゴリズムを用いて、対応画素を求めた場合には、該領域における対応画素の検出数は増加するが、ビタビアルゴリズムを適用した適用方向に沿って対応画素の検出数が減少するという問題が生じる。このため、画素同士の対応が検出しにくい領域における対応画素の検出数の増加と、ビタビアルゴリズムを適用したことによる適用方向に沿った対応画素の検出数の減少を抑制することと、を両立できる技術が望まれている。
【課題を解決するための手段】
【０００５】
本開示は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態として実現することが可能である。
【０００６】
（１）本開示の一形態によれば、測距装置が提供される。この測距装置は、視差を有する一対の撮像画像に写った対象までの距離を算出する測距装置（１０）であって、前記一対の撮像画像を取得する撮像画像取得部（１００）と、前記一対の撮像画像のうち一方の画像である基準画像を構成する画素である基準画素と対応する第１候補画素を、他方の画像である比較画像を構成する画素の中から検出し、前記第１候補画素と対応する第２候補画素を、前記基準画像を構成する画素の中から検出し、前記基準画素の座標と前記第１候補画素の座標との距離を第１視差として計算し、前記第１候補画素の座標と前記第２候補画素の座標との距離を第２視差として計算する第１計算部（２１０）と、前記基準画素と、前記基準画像を構成する画素の画素値および前記比較画像を構成する画素の画素値に基づくビタビアルゴリズムを適用して検出された前記第１候補画素および前記第２候補画素と、を用いて、前記第１視差および前記第２視差を計算する第２計算部（２２０）と、前記第１候補画素が前記基準画素に対応する対応画素であるか否かの対応判定を実行する判定部であって、前記第１視差と前記第２視差との差が予め設定された閾値以下である場合に、前記基準画素と前記第１候補画素とは対応する対応画素であると判定し、前記差が前記閾値より大きい場合に、前記基準画素と前記第１候補画素とは前記対応画素ではないと判定する判定部（２３０）と、前記対応画素に写った対象までの距離を算出する距離算出部（２４０）と、を備え、前記判定部は、前記第１計算部の計算結果に基づく前記対応判定と、前記第２計算部の計算結果に基づく前記対応判定と、をそれぞれ実行し、前記距離算出部は、前記第１計算部の計算結果に基づく前記対応判定と、前記第２計算部の計算結果に基づく前記対応判定と、のうち少なくとも一方において前記対応画素として判定された画素を用いて前記対象までの距離を算出する。このような形態とすれば、一対の撮像画像に対して、第２計算部の計算結果に基づく対応判定を用いることにより、一対の撮像画像間において画素同士の対応が検出されにくい領域における対応画素の検出数を増加させる。また、第２計算部の計算結果に基づく対応判定に加えて、第１計算部の計算結果に基づく対応判定を用いることにより、第２計算部においてビタビアルゴリズムを適用したことによる適用方向に沿った対応画素の検出数の減少を抑制することができる。したがって、画素同士の対応が検出しにくい領域における対応画素の検出数の増加と、ビタビアルゴリズムを適用したことによる適用方向に沿った対応画素の検出数の減少を抑制することと、を両立できる。
【０００７】
本開示の形態は、測距装置に限るものではなく、例えば、測距装置を搭載した車両、車両の距離算出方法などの種々の形態に適用することも可能である。また、本開示は、前述の形態に何ら限定されるものではなく、本開示の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態における測距装置の概略構成を示すブロック図である。
【図２】第１計算部が実行する第１計算処理を示すフローである。
【図３】左画像および右画像の模式図である。
【図４】第２計算部が実行する第２計算処理を示すフローである。
【図５】類似度の網羅的算出により作成されるマトリクスの説明図である。
【図６】節点間を接続する接続コストの説明図である。
【図７】ビタビアルゴリズムによる算出結果を示した説明図である。
【図８】判定部が実行する対応判定処理を示すフローである。
【図９】実際の左画像および右画像を示す説明図である。
【図１０】第３実施形態における測距装置の概略構成を示すブロック図である。
【図１１】判定部が実行する対応判定処理を示すフローである。
【発明を実施するための形態】
【０００９】
Ａ．第１実施形態：
Ａ１．装置構成：
図１に示す測距装置１０は、視差を有する一対の撮像画像に写った対象までの距離を算出する。本実施形態では、測距装置１０は、車両に搭載されている。測距装置１０は、撮像画像取得部１００と、処理部２００とを備える。
【００１０】
撮像画像取得部１００は、一対の撮像画像を取得する。撮像画像取得部１００は、撮像部１１０Ｌと、撮像部１１０Ｒとを有する。撮像部１１０Ｌと撮像部１１０Ｒとは、重力方向において同じ高さに配されるとともに水平方向に離れた位置に配されるステレオカメラである。撮像部１１０Ｌと撮像部１１０Ｒとは、車両の前方方向における同一の対象を異なる方向から撮像する。撮像画像取得部１００が取得する一対の撮像画像とは、撮像部１１０Ｌおよび撮像部１１０Ｒが撮像した画像のことである。
【００１１】
処理部２００は、撮像画像取得部１００が取得した一対の撮像画像を用いて、各種処理を実行する。処理部２００は、第１計算部２１０と、第２計算部２２０と、判定部２３０と、距離算出部２４０とを備える。
【００１２】
第１計算部２１０は、図２に示す第１計算処理を実行する。第１計算処理は、撮像画像取得部１００が一対の撮像画像を取得した場合に実行される。本実施形態では、撮像画像取得部１００による一対の撮像画像の取得は、定期的に実行されるものとする。
【００１３】
第１計算処理が開始されると、第１計算部２１０は、第１候補画素の検出を行う（ステップＳ１００）。第１候補画素の検出は、図３を用いて説明する。
【００１４】
図３にて示される左画像ＰＬは、撮像部１１０Ｌによって撮像される画像を模式的に示したものである。図３にて示される左画像ＰＬは、説明の便宜上１０×１０ピクセルで構成されているが、撮像部１１０Ｌによって撮像される実際の画像は、１０×１０ピクセルより大きい画素数で構成される画像である。図３にて示される右画像ＰＲは、撮像部１１０Ｒによって撮像される画像を模式的に示したものである。右画像ＰＲも、左画像ＰＬと同様に、説明の便宜上１０×１０ピクセルで構成されているが、撮像部１１０Ｒによって撮像される実際の画像は、１０×１０ピクセルより大きい画素数で構成される画像である。
【００１５】
左画像ＰＬにおける各画素の位置は、行番号Ｒ１からＲ１０および列番号Ｃ１からＣ１０を用いて表される。なお、以降の説明において、行番号Ｒｘ（ｘは、１から１０の間の任意の整数）、列番号Ｃｙ（ｙは、１から１０の間の任意の整数）の位置における画素を示す場合、画素（Ｒｘ、Ｃｙ）と表すことがある。
【００１６】
右画像ＰＲにおける各画素の位置は、行番号ｒ１からｒ１０および列番号ｃ１からｃ１０を用いて表される。なお、以降の説明において、行番号ｒｘ、列番号ｃｙの位置における画素を示す場合、画素（ｒｘ、ｃｙ）と表すことがある。
【００１７】
上述のように、左画像ＰＬおよび右画像ＰＲを撮像する撮像部１１０Ｌおよび撮像部１１０Ｒは、重力方向において同じ高さに配されるとともに水平方向に離れた位置に配される。このため、左画像ＰＬおよび右画像ＰＲは、重力方向における位置が同じであって水平方向にずれた位置から同一の対象を写した画像である。よって、行番号Ｒ１と行番号ｒ１とは重力方向における位置が一致している。これと同様に、行番号Ｒ２からＲ１０と行番号ｒ２からｒ１０と、も重力方向における位置がそれぞれ一致している。なお、図３において左右方向に伸びた２本の破線は、左画像ＰＬと右画像ＰＲとの間の重力方向における位置の一致を図示したものである。
【００１８】
第１候補画素の検出では、左画像ＰＬを基準画像とするとともに右画像ＰＲを比較画像として、左画像ＰＬを構成する画素である基準画素と対応する第１候補画素を、右画像ＰＲを構成する画素の中から検出する。本実施形態では、基準画素を含む矩形領域Ａと最も類似する矩形領域Ｂを右画像ＰＲから探索するいわゆるブロックマッチング法を用い、矩形領域Ａ内の基準画素の位置と対応する矩形領域Ｂ内の位置の画素を第１候補画素として検出する。矩形領域Ａと矩形領域Ｂとの類似の程度の算出には、ＳＡＤ（Sum of Absolute Difference）もしくはＳＳＤ（Sum of Squared Difference）が用いられる。本実施形態では、左画像ＰＬにおいて基準画素が配置される行番号と対応した右画像ＰＲの行番号上に配置された画素の中から第１候補画素の検出が行われる。例えば、基準画素である画素（Ｒ１、Ｃ１）と対応する第１候補画素を検出する場合、画素（Ｒ１、Ｃ１）を含む矩形領域Ａと同じ大きさの矩形領域であって矩形領域Ａ内の画素（Ｒ１、Ｃ１）の位置と対応する位置に画素（ｒ１、ｃｙ）を含む矩形領域の中から、矩形領域Ａと最も類似する矩形領域Ｂを探索することにより、第１候補画素の検出を行う。このような第１候補画素の検出は、左画像ＰＬを構成するすべての画素について行われる。
【００１９】
第１候補画素の検出が行われたのち（ステップＳ１００）、第１計算部２１０は、第２候補画素の検出を行う（ステップＳ１１０）。第２候補画素の検出では、第１候補画素と対応する第２候補画素を、左画像ＰＬの中から検出する。本実施形態では、第１候補画素の検出と同様に、第１候補画素を含む矩形領域Ｃと最も類似する矩形領域Ｄを左画像ＰＬから探索するブロックマッチング法を用い、矩形領域Ｃ内の第１候補画素の位置と対応する矩形領域Ｄ内の位置の画素を第２候補画素として検出する。矩形領域Ｃと矩形領域Ｄとの類似の程度の算出には、第１候補画素の検出と同様に、ＳＡＤ（Sum of Absolute Difference）もしくはＳＳＤ（Sum of Squared Difference）が用いられる。本実施形態では、右画像ＰＲにおいて第１候補画素が配置される行番号と対応した左画像ＰＬの行番号上に配置された画素の中から第２候補画素の検出が行われる。例えば、基準画素である画素（Ｒ１、Ｃ１）と対応する第１候補画素が画素（ｒ１、ｃ２）であって第１候補画素である画素（ｒ１、ｃ２）と対応する第２候補画素を検出する場合、画素（ｒ１、ｃ２）を含む矩形領域Ｃと同じ大きさの矩形領域であって矩形領域Ｃ内の画素（ｒ１、ｃ２）の位置と対応する位置に画素（Ｒ１、Ｃｙ）を含む矩形領域の中から、矩形領域Ｃと最も類似する矩形領域Ｄを探索することにより、第２候補画素の検出を行う。このような第２候補画素の検出は、比較画像、すなわち、右画像ＰＲを構成するすべての画素について行われる。
【００２０】
第２候補画素の検出が行われたのち（ステップＳ１１０）、第１計算部２１０は、基準画素の座標と第１候補画素の座標との距離（以下、「第１視差」と呼ぶ）を計算するとともに、第１候補画素の座標と第２候補画素の座標との距離（以下、「第２視差」と呼ぶ）を計算する（ステップＳ１２０）。ここでいう第１視差とは、左画像ＰＬにおける基準画素の位置と右画像ＰＲにおける第１候補画素の位置との水平方向におけるずれのことである。例えば、基準画素が画素（Ｒ１、Ｃ１）であるとともに第１候補画素が画素（ｒ１、ｃ２）である場合、左画像ＰＬを構成する画素全体における画素（Ｒ１、Ｃ１）の位置と、右画像ＰＲを構成する画素全体における画素（ｒ１、ｃ２）の位置とは、１ピクセル分だけ水平方向にずれている。第１計算部２１０は、このずれ量である１ピクセルを第１視差として算出する。第１計算部２１０は、第１視差の計算と同様に、右画像ＰＲにおける第１候補画素の位置と左画像ＰＬにおける第２候補画素の位置との水平方向におけるずれを、第２視差として算出する。このような計算は、すべての基準画素（左画像ＰＬを構成するすべての画素）と、基準画素に対応する第１候補画素および第２候補画素を用いて行われる。
【００２１】
第１視差および第２視差の計算が行われたのち（ステップＳ１２０）、第１計算部２１０は、第１計算処理を終了する。
【００２２】
図１の処理部２００における第２計算部２２０は、図４に示す第２計算処理を実行する。第２計算処理は、第１計算処理が終了した後に実行される。
【００２３】
第２計算処理が開始されると、第２計算部２２０は、左画像を構成する画素および右画像を構成する画素についての類似度の網羅的算出を行う（ステップＳ２００）。類似度の網羅的算出については、図３と、図５から図７と、を用いて説明する。
【００２４】
類似度の網羅的算出では、行番号Ｒｘ（ｘは、１から１０の間の任意の整数）上に配置された一連の各画素（Ｒｘ、Ｃ１〜Ｃ１０）と、行番号ｒｘ上に配置された一連の各画素（ｒｘ、ｃ１〜１０）と、の類似度を算出する。ここでいう類似度とは、比較する画素同士の画素値の類似の程度を数値化したもののことである。ここでいう画素値とは、画素の階調値のことである。類似度は、０から１の範囲で表され、１に近いほど類似していることを示す。
【００２５】
図５にて示されるマトリクスは、類似度の網羅的算出により作成されるものであって、複数の節点から構成される。これら複数の節点には、行番号Ｒｘ（ｘは、１から１０の間の任意の整数）上に配置された一連の各画素（Ｒｘ、Ｃ１〜Ｃ１０）を基準として、行番号Ｒｘ上に配置された一連の各画素（Ｒｘ、Ｃ１〜Ｃ１０）と、行番号ｒｘ上に配置された一連の各画素（ｒｘ、ｃ１〜１０）と、を用いて算出された類似度に応じた類似コストが設定されている。類似コストは、類似度が１に近いほど低く設定される。
【００２６】
図５のマトリクスにおける横軸は、行番号Ｒｘ上に配置された一連の各画素の位置を示す。行番号Ｒｘ上に配置された画素の位置Ｃｙに配された画素に対して、節点を算出するために用いられる画素は、行番号ｒｘ上に配置された一連の各画素のうち画素の位置ｃｙから左側に配された画素である。例えば、Ｃ１０に配された画素に対して、節点を算出するために用いられる画素は、ｃ１０から左側に配された画素（ｒｘ、ｃ１〜ｃ１０）であり、Ｃ７に配された画素に対して、節点を算出するために用いられる画素は、ｃ７から左側に配された画素（ｒｘ、ｃ１〜ｃ７）である。なお、図５の横軸では、列番号Ｃ７からＣ１０までを示し、列番号Ｃ１からＣ６については、省略している。
【００２７】
図５のマトリクスにおける縦軸は、視差を示す。図５の縦軸における視差とは、行番号Ｒｘ上に配置された一連の各画素の位置と行番号ｒｘ上に配置された一連の各画素の位置との水平方向におけるずれのことである。
【００２８】
図５の複数の節点の内側に示された符号は、各節点の類似度の算出に用いられた行番号Ｒｘ上に配置された画素の列番号と行番号ｒｘ上に配置された画素の列番号とを示している。例えば、内側にＣ８ｃ６の符号が示された節点は、行番号Ｒｘ上に配置された画素のうち列番号Ｃ８に配置された画素と、行番号ｒｘ上に配置された画素のうち列番号ｃ６に配置された画素とを用いて算出された類似度に応じた類似コストが設定されている節点である（なお、類似コストは図示していない）。なお、以降の説明において、このような節点は、節点Ｃ８ｃ６と表すことがある。
【００２９】
このような類似度の網羅的算出（マトリクスの作成）は、行番号Ｒ１上に配置された一連の各画素から行番号Ｒ１０上に配置された一連の各画素まで、行番号毎に行われる。また、行番号ｒｘ上に配置された一連の各画素（ｒｘ、Ｃ１〜Ｃ１０）を基準として、行番号ｒｘ上に配置された一連の各画素（ｒｘ、Ｃ１〜Ｃ１０）と、行番号Ｒｘ上に配置された一連の各画素（Ｒｘ、ｃ１〜１０）と、を用いて算出された類似度の網羅的算出（マトリクスの作成）についても同様に、行番号ｒ１上に配置された一連の各画素から行番号ｒ１０上に配置された一連の各画素まで、行番号毎に行われる。したがって、行番号Ｒｘ上に配置された一連の各画素（Ｒｘ、Ｃ１〜Ｃ１０）を基準とした図５のようなマトリクス（Ｒ１〜Ｒ１０の合計１０行分）と、行番号ｒｘ上に配置された一連の各画素（ｒｘ、Ｃ１〜Ｃ１０）を基準としたマトリクス（ｒ１〜ｒ１０の合計１０行分）とが、類似度の網羅的算出（ステップＳ２００）によって作成される。
【００３０】
類似度の網羅的算出が行われたのち（ステップＳ２００）、第２計算部２２０は、ビタビアルゴリズムによる第１候補画素および第２候補画素の検出を行う（ステップＳ２１０）。ビタビアルゴリズムによる第１候補画素および第２候補画素の検出には、節点に設定された類似コストと、各画素の位置間を接続する矢印における接続コストと、の和が用いられる。接続コストについては、図６を用いて説明する。
【００３１】
図６にて示されるマトリクスには、例として、画素の位置Ｃ７における節点Ｃ７ｃ５と画素の位置Ｃ８における各節点との間を接続する複数の矢印が示されている。この矢印には、視差の変化量に応じた接続コストが設定されている（なお、接続コストは図示していない）。接続コストは、視差の変化量が小さいほど低く設定されている。例えば、視差の値が２ピクセルである節点Ｃ７ｃ５から視差の値が２ピクセルである節点Ｃ８ｃ６に伸びた矢印は、視差の変化量が０ピクセルであるため接続コストが低く設定される。一方、視差の値が２ピクセルである節点Ｃ７ｃ５から視差の値が４ピクセルである節点Ｃ８ｃ４に伸びた矢印は、視差の変化量が２ピクセルであるため接続コストが高く設定される。
【００３２】
類似コストと接続コストとを用いたビタビアルゴリズムでは、各画素の位置（Ｃ１からＣ１０）毎に１つ選ばれる節点に設定された類似コストと、各画素の位置（Ｃ１からＣ１０）毎に１つ選ばれる節点の間を接続する矢印に設定された接続コストと、の和が、最も低くなる節点と矢印との組み合わせを算出する。なお、図６では、５本の矢印が図示されているが、ビタビアルゴリズムによる算出において、所定の画素の位置における１つの節点と隣の画素の位置における節点とを接続する矢印として挙げられる候補の数は、隣の画素の位置における節点の数に応じて決まる。例えば、図６にて示される画素の位置Ｃ７における節点Ｃ７ｃ５からは、画素の位置Ｃ８における節点の数が８個であるから、８本の矢印が候補として挙げられる。
【００３３】
図７には、類似コストと接続コストとを用いたビタビアルゴリズムによって算出された節点と矢印との組み合わせが例示されている。上述のように、図７のマトリクスにおいて、かかる組み合わせは、類似コストと接続コストとの和が、全ての組み合わせの中で最も小さいものとする。図７の結果より、行番号Ｒｘ上に配置された一連の各画素（Ｒｘ、Ｃ１〜Ｃ１０）について、それらの画素と対応する第１候補画素が決定される。具体的には、第１候補画素の決定は、ビタビアルゴリズムによって算出された節点と矢印との組み合わせにおける節点に規定される画素の組み合わせに従って決定される。例えば、図７の結果から、画素（Ｒｘ、Ｃ７）と対応する第１候補画素は、画素（ｒｘ、ｃ５）に決定される。また、画素（Ｒｘ、Ｃ８）と対応する第１候補画素は、画素（ｒｘ、ｃ６）に決定される。
【００３４】
行番号Ｒｘ上に配置された一連の各画素（Ｒｘ、Ｃ１〜Ｃ１０）を基準とした１０行分（Ｒ１〜Ｒ１０）のマトリクスに対して、上記したビタビアルゴリズムを適用することにより、左画像ＰＬを構成する各画素に対応する第１候補画素が決定される。また、行番号ｒｘ上に配置された一連の各画素（ｒｘ、Ｃ１〜Ｃ１０）を基準とした１０行分（ｒ１〜ｒ１０）のマトリクスに対して、上記したビタビアルゴリズムを適用することにより、右画像ＰＲを構成する各画素に対応する第２候補画素が決定される。ステップＳ２１０において検出される第１候補画素および第２候補画素は、課題を解決するための手段における「前記基準画像を構成する画素の画素値および前記比較画像を構成する画素の画素値に基づくビタビアルゴリズムを適用して検出される前記第１候補画素および前記第２候補画素」に相当する。なお、ステップＳ２１０において適用されたビタビアルゴリズムの適用方向は、図３における左画像ＰＬおよび右画像ＰＲに対して、水平方向である。
【００３５】
図４に示すように、ビタビアルゴリズムによる第１候補画素および第２候補画素の検出が行われたのち（ステップＳ２１０）、第２計算部２２０は、第１視差、すなわち、基準画素の座標と第１候補画素の座標との距離を計算するとともに、第２視差、すなわち、第１候補画素の座標と第２候補画素の座標との距離を計算する（ステップＳ２２０）。第２計算部２２０では、基準画素の座標と、ステップＳ２１０におけるビタビアルゴリズムにより算出された第１候補画素の座標と第２候補画素の座標と、を用いて計算する。例えば、図７の結果を用いた計算では、基準画素を画素（Ｒｘ、Ｃ８）とした場合、画素（Ｒｘ、Ｃ８）の座標と、画素（Ｒｘ、Ｃ８）と対応する第１候補画素である画素（ｒｘ、ｃ６）の座標と、ビタビアルゴリズムにより算出された画素（ｒｘ、ｃ６）と対応する第２候補画素の座標と、を用いて、第１視差および第２視差の計算が行われる。
【００３６】
第１視差および第２視差の計算が行われたのち（ステップＳ２２０）、第２計算部２
２０は、第２計算処理を終了する。
【００３７】
図１に示す判定部２３０は、第１計算処理および第２計算処理で検出された第１候補画素がそれぞれ基準画素に対応する画素（以下、対応画素と呼ぶ）であるか否かの判定（以下、対応判定と呼ぶ）を実行する。図８に示す対応判定処理は、第２計算処理が終了した後に実行される。判定部２３０は、第１計算部２１０による第１視差および第２視差の計算結果に基づく対応判定処理と、第２計算部２２０による第１視差および第２視差の計算結果に基づく対応判定処理と、をそれぞれ実行する。
【００３８】
対応判定処理が開始されると、判定部２３０は、第１視差と第２視差との差が予め設定された閾値以下であるか否か判定する（ステップＳ３００）。本実施形態では、第１計算部２１０の計算結果に基づく対応判定処理および第２計算部２２０の計算結果に基づく対応判定処理に用いられる閾値は、同じである。本実施形態では、閾値は、絶対値１ピクセルである。すなわち、第１視差と第２視差との差が、−１ピクセル、０ピクセル、１ピクセルのいずれかである場合、第１視差と第２視差との差が予め設定された閾値以下であると判定される。
【００３９】
第１視差と第２視差との差が予め設定された閾値以下ではないと判定された場合（ステップＳ３００：ＮＯ）、基準画素と第１候補画素とは互いに対応する対応画素ではないと判定される（ステップＳ３１０）。その後、判定部２３０は、対応判定処理を終了する。なお、後述するように、対応画素は、対応画素に写った対象までの距離を算出するために用いられる。
【００４０】
第１視差と第２視差との差が予め設定された閾値以下であると判定された場合（ステップＳ３００：ＹＥＳ）、基準画素と第１候補画素とは対応する対応画素であると判定される（ステップＳ３２０）。その後、判定部２３０は、対応判定処理を終了する。
【００４１】
図１の処理部２００における距離算出部２４０は、対応画素に写った対象までの距離を算出する。距離算出部２４０が距離の算出に用いる対応画素は、第１計算部２１０による第１視差および第２視差の計算結果に基づく対応判定処理と、第２計算部２２０による第１視差および第２視差の計算結果に基づく対応判定処理と、のうち少なくとも一方において対応画素と判定された画素（基準画素および第１候補画素）である。本実施形態では、距離算出部２４０は、対応画素と判定される際に用いられた第１視差と第２視差とのうち小さい方の値に基づいて、対応画素に写った対象までの距離を算出する。他の実施形態では、距離算出部２４０は、対応画素と判定される際に用いられた第１視差と第２視差とのうち大きい方の値に基づいて、対応画素に写った対象までの距離を算出してもよい。また、対応画素と判定される際に用いられた第１視差と第２視差との平均値に基づいて、対応画素に写った対象までの距離を算出してもよい。
【００４２】
以上説明した第１実施形態の測距装置１０によれば、一対の撮像画像に対して、第２計算部２２０の計算結果に基づく対応判定を用いることにより、一対の撮像画像間において画素同士の対応が検出されにくい領域における対応画素の検出数を増加させる。また、第２計算部２２０の計算結果に基づく対応判定に加えて、第１計算部２１０の計算結果に基づく対応判定を用いることにより、第２計算部２２０においてビタビアルゴリズムを適用したことによる適用方向に沿った対応画素の検出数の減少を抑制することができる。したがって、画素同士の対応が検出しにくい領域における対応画素の検出数の増加と、ビタビアルゴリズムを適用したことによる適用方向に沿った対応画素の検出数の減少を抑制することと、を両立できる。
【００４３】
第１計算部２１０の計算結果に基づく対応判定処理と、第２計算部２２０の計算結果に基づく対応判定処理と、のうち少なくとも一方において対応画素であると判定された画素を、距離を算出するための対応画素として用いることによる効果について、以下に示す左画像ＰＬａおよび右画像ＰＲａを用いて、具体的に説明する。
【００４４】
図９にて示される左画像ＰＬａおよび右画像ＰＲａは、撮像部１１０Ｌおよび撮像部１１０Ｒによって撮像された実際の画像である。左画像ＰＬａには、画像の中心から左寄りにワイパーＷＰが写っている。また、右画像ＰＲａには、画像の左端側にワイパーＷＰが写っている。このため、左画像ＰＬａおよび右画像ＰＲａのうち一方の画像に写っている対象の一部が、他方の画像においては、ワイパーＷＰに隠れて写っていない領域が存在する。左画像ＰＬａおよび右画像ＰＲａを用いて、第１計算部２１０の計算結果に基づく対応判定処理を実行した場合、一方の画像においてワイパーＷＰが写っている領域では、他の領域と比べて、画素同士の対応が検出されにくい領域であることから、対応画素と判定される画素の検出数が減少する。また、複数の似た模様の対象が写っている領域、例えば、左画像ＰＬａおよび右画像ＰＲａにおける横断歩道ＣＷが写っている領域においても、同様に、画素同士の対応が検出されにくい領域であることから、対応画素と判定される画素の検出数が減少する。ここでいう「画素同士の対応が検出されにくい」とは、ある基準画素に対して、真に対応している位置にある第１候補画素が選ばれにくいということである。例えば、左画像ＰＬａにおいてワイパーＷＰが写っている領域を構成する基準画素は、右画像ＰＲａにおいて該基準画素と真に対応している位置にある画素とは、画素値が大きく異なる。このため、右画像ＰＲａにおいて該基準画素と真に対応している位置にある画素は、第１候補画素として検出されにくい。また、別の例としては、左画像ＰＬａにおける横断歩道ＣＷが写っている領域（特に白線部分）を構成する基準画素は、右画像ＰＲａにおいて横断歩道ＣＷが写っている領域（白線部分）の中に、該基準画素の画素値に近い画素が多く存在することから、該基準画素と真に対応している位置にある画素は、第１候補画素として検出されにくい。
【００４５】
左画像ＰＬａおよび右画像ＰＲａを用いて、第２計算部２２０の計算結果に基づく対応判定処理を実行した場合、左画像ＰＬａおよび右画像ＰＲａにおいてワイパーＷＰが写っている領域および横断歩道ＣＷが写っている領域では、第１計算部２１０の計算結果に基づく対応判定処理を実行した場合と比べて、ビタビアルゴリズムを適用したことにより対応画素であると判定される画素の検出数が増加する。しかし、一般的には、ビタビアルゴリズムの適用方向に沿って、対応画素と判定される画素の検出数が減少する。
【００４６】
ビタビアルゴリズムの適用方向に沿って、対応画素と判定される画素の検出数が減少する理由について説明する。ビタビアルゴリズムにおいて用いられる図６のようなマトリクス上の接続コストは、節点間における視差の変化量が小さいほど低く設定されている。このため、隣り合う画素の位置間においては、視差の変化量が小さい接続コストが設定された矢印が選ばれやすくなることから、隣り合う画素の位置における節点同士は、視差の変化量が小さい（視差の値が近い）節点が選ばれやすくなる。よって、図５のようなマトリクスにビタビアルゴリズムを適用した場合に、ある画素の位置において本来選ばれるべきではない節点（誤節点と呼ぶ）が類似コストに基づいて選ばれる場合、誤節点を起点として隣り合う画素の位置間における矢印は選ばれるため、誤節点が選ばれた画素の位置から隣の画素の位置においても、誤節点と視差の値が近い節点が選ばれやすくなる。ここでいう誤節点とは、節点の内側に示された符号が指す画素同士の対応関係が、真に対応している画素同士の対応関係ではない節点のことである。このような誤節点が選ばれたことによる影響は、ビタビアルゴリズムの適用方向に沿って広がる。したがって、適用方向に沿った影響を受けて算出された各画素の位置における節点により決定された第１候補画素（もしくは第２候補画素）を用いて対応判定処理を実行した場合、ビタビアルゴリズムの適用方向に沿って、対応画素と判定される画素の検出数が減少する傾向にある。
【００４７】
上述したように、第１計算部２１０の計算結果に基づく対応判定処理、もしくは、第２計算部２２０の計算結果に基づく対応判定処理、のいずれか一方のみを用いた場合、一対の撮像画像間における画素同士の対応が検出されにくい領域における対応画素の検出数の減少、もしくは、ビタビアルゴリズムを適用したことによる適用方向に沿った対応画素の検出数の減少、のいずれかが生じる。一方、第１実施形態の測距装置１０によれば、上述のとおり、一対の撮像画像間における画素同士の対応が検出されにくい領域における対応画素の検出数の増加と、ビタビアルゴリズムを適用したことによる適用方向に沿った対応画素の検出数の減少を抑制することと、を両立できる。
【００４８】
Ｂ．第２実施形態：
第２実施形態における測距装置１０ａでは、第１計算部２１０の計算結果に基づく対応判定処理と、第２計算部２２０の計算結果に基づく対応判定処理と、に用いられるそれぞれの閾値は、それぞれ独立して調整できる。このような形態において、例えば、第１計算部２１０の計算結果に基づく対応判定処理に用いられる閾値は、絶対値１ピクセルであり、第２計算部２２０の計算結果に基づく対応判定処理に用いられる閾値は、絶対値２ピクセルであってもよい。
【００４９】
以上説明した第２実施形態によれば、第１計算部２１０の計算結果に基づく対応判定処理と、第２計算部２２０の計算結果に基づく対応判定処理と、の各対応判定処理に用いられる閾値をそれぞれ独立して調整できることにより、各対応判定処理において対応画素であると判定される画素の数を調整することができる。その結果、距離算出部２４０による距離算出に用いられる対応画素のうち、第１計算部２１０の計算結果に基づく対応判定処理に由来する対応画素と、第２計算部２２０の計算結果に基づく対応判定処理に由来する対応画素と、の割合を調整することができる。例えば、一方の計算部による計算結果に基づく対応判定処理に由来する対応画素が少ない場合に、他方の計算部による計算結果に基づく対応判定処理に由来する対応画素が増えるよう、閾値を調整することにより、距離算出部２４０による距離算出に用いられる対応画素の数が不足することを防止できる。
【００５０】
Ｃ．第３実施形態：
図１０に示す測距装置１０ｂは、処理部２００に代えて処理部２００ｂを備える点において、第１実施形態における測距装置１０と異なる。処理部２００ｂは、信頼度検出部２２５および判定部２３０ｂを備える点を除いて、第１実施形態における処理部２００と同じである。
【００５１】
信頼度検出部２２５は、第１計算部２１０および第２計算部２２０において基準画素に対する第１候補画素および第２候補画素が検出された際、基準画素の画素値との類似度に基づく第１候補画素の第１信頼度および第１候補画素の画素値との類似度に基づく第２候補画素の第２信頼度を検出する。本実施形態では、第１信頼度および第２信頼度は、類似度と同じ値に設定された数値であり、０から１の範囲で表される。第１信頼度および第２信頼度は、１に近いほど信頼性が高いことを示す。
【００５２】
判定部２３０ｂは、判定部２３０が実行する対応判定処理と比べて、ステップＳ３００の内容が異なる点を除いて、同じ対応判定処理を実行する。図１１に示した判定部２３０ｂが実行する対応判定処理では、ステップＳ３００において、第１視差と第２視差との差が予め設定された閾値以下であるとともに第１信頼度と第２信頼度との積が予め設定された設定値以上であるか否か判定する（ステップＳ３００）。予め設定された設定値は、０から１の範囲から選択される。
【００５３】
第１視差と第２視差との差が予め設定された閾値以下ではない、もしくは、第１信頼度と第２信頼度との積が予め設定された設定値以上ではない、と判定された場合、基準画素と第１候補画素とは対応する対応画素ではないと判定される（ステップＳ３１０）。第１視差と第２視差との差が予め設定された閾値以下であるとともに第１信頼度と第２信頼度との積が予め設定された設定値以上であると判定された場合、基準画素と第１候補画素とは対応する対応画素であると判定される（ステップＳ３２０）。
【００５４】
以上説明した第３実施形態によれば、第１視差と第２視差との比較にのみ基づく対応判定処理と比べて、対応判定処理における判定の精度を向上させることができる。その結果、撮像画像に写った対象までの実際の距離と距離算出部２４０による距離算出の結果とを、より一層合致させることができる。
【００５５】
本開示は、上述の実施形態や実施例、変形例に限られるものではなく、その趣旨を逸脱しない範囲において種々の構成で実現することができる。例えば、発明の概要の欄に記載した各形態中の技術的特徴に対応する実施形態、実施例、変形例中の技術的特徴は、上述の課題の一部または全部を解決するために、あるいは、上述の効果の一部または全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【符号の説明】
【００５６】
１０  測距装置、１００  撮像画像取得部、２１０  第１計算部、２２０  第２計算部、２３０  判定部、２４０  距離算出部
【図１】
2019066412.tif 000003
【図２】
2019066412.tif 000004
【図３】
2019066412.tif 000005
【図４】
2019066412.tif 000006
【図５】
2019066412.tif 000007
【図６】
2019066412.tif 000008
【図７】
2019066412.tif 000009
【図８】
2019066412.tif 000010
【図９】
2019066412.tif 000011
【図１０】
2019066412.tif 000012
【図１１】
2019066412.tif 000013