IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 京セラ株式会社の特許一覧

特開2024-49235画像処理装置、ステレオカメラ装置及び画像処理方法
<>
  • 特開-画像処理装置、ステレオカメラ装置及び画像処理方法 図1
  • 特開-画像処理装置、ステレオカメラ装置及び画像処理方法 図2
  • 特開-画像処理装置、ステレオカメラ装置及び画像処理方法 図3
  • 特開-画像処理装置、ステレオカメラ装置及び画像処理方法 図4
  • 特開-画像処理装置、ステレオカメラ装置及び画像処理方法 図5
  • 特開-画像処理装置、ステレオカメラ装置及び画像処理方法 図6
  • 特開-画像処理装置、ステレオカメラ装置及び画像処理方法 図7
  • 特開-画像処理装置、ステレオカメラ装置及び画像処理方法 図8
  • 特開-画像処理装置、ステレオカメラ装置及び画像処理方法 図9
  • 特開-画像処理装置、ステレオカメラ装置及び画像処理方法 図10
  • 特開-画像処理装置、ステレオカメラ装置及び画像処理方法 図11
  • 特開-画像処理装置、ステレオカメラ装置及び画像処理方法 図12
  • 特開-画像処理装置、ステレオカメラ装置及び画像処理方法 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024049235
(43)【公開日】2024-04-09
(54)【発明の名称】画像処理装置、ステレオカメラ装置及び画像処理方法
(51)【国際特許分類】
   G06T 7/593 20170101AFI20240402BHJP
   G06T 7/60 20170101ALI20240402BHJP
【FI】
G06T7/593
G06T7/60 180B
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022155578
(22)【出願日】2022-09-28
(71)【出願人】
【識別番号】000006633
【氏名又は名称】京セラ株式会社
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100132045
【弁理士】
【氏名又は名称】坪内 伸
(74)【代理人】
【識別番号】100203264
【弁理士】
【氏名又は名称】塩川 未久
(72)【発明者】
【氏名】渋沢 英次郎
(72)【発明者】
【氏名】外舘 弘理
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096CA05
5L096FA26
5L096FA66
5L096FA67
(57)【要約】
【課題】被写体までの距離をより精度良く測定することができる技術を提供する。
【解決手段】画像処理装置は、取得部と、制御部とを備える。制御部は、複数の平面射影変換によって基準画像の第1基準画素の座標を参照画像に含まれる複数の参照画素の座標に変換し、座標を変換した複数の参照画素のうちで第1基準画素と同じ被写体を含む参照画素を特定し、第1基準画素と特定した参照画素とを対応付ける対応付け処理を実行する。制御部は、複数の平面射影変換の逆変換によって第1基準画素に対応付けた参照画素の座標を基準画像に含まれる複数の基準画素の座標に変換し、座標を変換した複数の基準画素のうちで第1基準画素に対応付けた参照画素と同じ被写体を含む第2基準画素を特定し、第1基準画素と第2基準画素とに基づいて、第1基準画素と参照画素との対応付けが誤対応であるか否かを判定する判定処理を実行する。
【選択図】図1
【特許請求の範囲】
【請求項1】
基準位置で撮像により生成された基準画像のデータと、前記基準画像とは異なる位置で撮像により生成された参照画像のデータとを取得する取得部と、
複数の平面射影変換によって前記基準画像の第1基準画素の座標を前記参照画像に含まれる複数の参照画素の座標に変換し、座標を変換した前記複数の参照画素のうちで前記第1基準画素と同じ被写体を含む参照画素を特定し、前記第1基準画素と特定した前記参照画素とを対応付ける対応付け処理を実行する制御部と、を備え、
前記制御部は、
前記複数の平面射影変換の逆変換によって前記第1基準画素に対応付けた前記参照画素の座標を前記基準画像に含まれる複数の基準画素の座標に変換し、座標を変換した前記複数の基準画素のうちで前記第1基準画素に対応付けた前記参照画素と同じ被写体を含む第2基準画素を特定し、前記第1基準画素と前記第2基準画素とに基づいて、前記第1基準画素と前記参照画素との対応付けが誤対応であるか否かを判定する判定処理を実行し、
前記複数の平面射影変換は、前記基準画像を生成したカメラへの光線であって、複数の仮想平面のそれぞれに位置する複数の仮想点を通る光線を、前記参照画像を生成したカメラへの光線であって、前記複数の仮想点を通る光線に変換する、
画像処理装置。
【請求項2】
前記基準画像及び前記参照画像は、広角レンズによって撮像された画像である、請求項1に記載の画像処理装置。
【請求項3】
前記制御部は、前記判定処理において、
前記参照画像を生成したカメラへの光線であって、前記第1基準画素に対応付けられた前記参照画素を通る光線のデータを取得し、
取得した前記光線を前記複数の平面射影変換の逆変換によって前記基準画像を生成したカメラへの光線に変換し、変換した前記光線を前記基準画像に投影することにより、前記複数の基準画素の座標を取得する、請求項2に記載の画像処理装置。
【請求項4】
前記制御部は、前記判定処理において、前記第1基準画素と前記第2基準画素との間の距離が閾値以上であると判定した場合、前記第1基準画素と前記参照画素との対応付けが誤対応であると判定する、請求項1に記載の画像処理装置。
【請求項5】
前記仮想平面の法線方向は、前記基準画像を生成したカメラの光軸方向に基づいて設定され、
前記制御部は、前記第1基準画素に含まれる被写体までの距離を、前記基準位置から、前記第1基準画素に対応付けられた前記参照画素の座標の取得に用いられた前記仮想平面までの距離に基づいて取得する、請求項1に記載の画像処理装置。
【請求項6】
前記複数の仮想平面は、第1仮想平面及び第2仮想平面の両方を含み、
前記第1仮想平面の法線方向は、前記基準画像を生成したカメラの光軸方向である第1方向に一致し、
前記第1仮想平面は、前記第1方向に沿って前記基準位置から第1距離離れて位置し、
前記第2仮想平面の法線方向は、前記第1方向とは異なる第2方向に一致し、
前記第2仮想平面は、前記第2方向に沿って前記基準位置から第2距離離れて位置する、請求項1に記載の画像処理装置。
【請求項7】
前記制御部は、
前記対応付け処理において、前記第1基準画素の特徴量及び前記複数の参照画素の特徴量を抽出し、抽出した前記第1基準画素の特徴量と前記複数の参照画素のそれぞれの特徴量との間の類似度をそれぞれ示す複数のコスト値を算出し、前記複数のコスト値に基づいて、前記第1基準画素と同じ被写体を含む参照画素を特定し、
前記判定処理において、前記対応付け処理にて算出した前記複数のコスト値に基づいて、前記第1基準画素に対応付けた前記参照画素と同じ被写体を含む第2基準画素を特定する、請求項1に記載の画像処理装置。
【請求項8】
前記制御部は、前記被写体までの距離の情報に基づいた画素値を有する距離画素を含む距離画像を生成する、請求項5に記載の画像処理装置。
【請求項9】
前記制御部は、前記誤対応であると判定した前記第1基準画素に対応する前記距離画素を無効にする、請求項8に記載の画像処理装置。
【請求項10】
前記制御部は、複数の前記距離画素のうち、無効にした前記距離画素の画素値を、他の前記距離画素の画素値によって補間する、請求項9に記載の画像処理装置。
【請求項11】
出力部をさらに備え、
前記制御部は、前記距離画像のデータを外部機器に前記出力部によって出力する、請求項8から10までの何れか一項に記載の画像処理装置。
【請求項12】
前記制御部は、前記第1基準画素と前記第2基準画素との間の距離に基づいて、取得した前記被写体までの距離に対して信頼度を付与する、請求項5に記載の画像処理装置。
【請求項13】
出力部をさらに備え、
前記制御部は、前記被写体までの距離の情報及び前記信頼度を外部機器に前記出力部によって出力する、請求項12に記載の画像処理装置。
【請求項14】
基準位置で撮像により基準画像を生成する第1カメラと、前記基準画像とは異なる位置で撮像により参照画像を生成する第2カメラとを含むステレオカメラと、
複数の平面射影変換によって前記基準画像の第1基準画素の座標を前記参照画像に含まれる複数の参照画素の座標に変換し、座標を変換した前記複数の参照画素のうちで前記第1基準画素と同じ被写体を含む参照画素を特定し、前記第1基準画素と特定した前記参照画素とを対応付ける対応付け処理を実行する画像処理装置と、を備え、
前記画像処理装置は、
前記複数の平面射影変換の逆変換によって前記第1基準画素に対応付けた前記参照画素の座標を前記基準画像に含まれる複数の基準画素の座標に変換し、座標を変換した前記複数の基準画素のうちで前記第1基準画素に対応付けた前記参照画素と同じ被写体を含む第2基準画素を特定し、前記第1基準画素と前記第2基準画素とに基づいて、前記第1基準画素と前記参照画素との対応付けが誤対応であるか否かを判定する判定処理を実行し、
前記複数の平面射影変換は、複数の仮想平面のそれぞれに位置する複数の仮想点を通る前記第1カメラへの光線を前記複数の仮想点を通る前記第2カメラへの光線に変換する、
ステレオカメラ装置。
【請求項15】
基準位置で撮像により生成された基準画像のデータと、前記基準画像とは異なる位置で撮像により生成された参照画像のデータとを取得することと、
複数の平面射影変換によって前記基準画像の第1基準画素の座標を前記参照画像に含まれる複数の参照画素の座標に変換し、座標を変換した前記複数の参照画素のうちで前記第1基準画素と同じ被写体を含む参照画素を特定し、前記第1基準画素と特定した前記参照画素とを対応付ける対応付け処理を実行することと、
前記複数の平面射影変換の逆変換によって前記第1基準画素に対応付けた前記参照画素の座標を前記基準画像に含まれる複数の基準画素の座標に変換し、座標を変換した前記複数の基準画素のうちで前記第1基準画素に対応付けた前記参照画素と同じ被写体を含む第2基準画素を特定し、前記第1基準画素と前記第2基準画素とに基づいて、前記第1基準画素と前記参照画素との対応付けが誤対応であるか否かを判定する判定処理を実行することと、を含み、
前記複数の平面射影変換は、前記基準画像を生成したカメラへの光線であって、複数の仮想平面のそれぞれに位置する複数の仮想点を通る光線を、前記参照画像を生成したカメラへの光線であって、前記複数の仮想点を通る光線に変換する、
画像処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、画像処理装置、ステレオカメラ装置及び画像処理方法に関する。
【背景技術】
【0002】
特許文献1には、第1の視野及び第1の光軸を有する第1のカメラと、第2の視野及び第2の光軸を有する第2のカメラとを備える撮像システムが開示されている。特許文献1には、第1の視野及び第2の視野が少なくとも部分的に重複し、組み合わされた視野を形成することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表2020-522906号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
被写体までの距離をより精度良く測定することが求められる。
【0005】
かかる点に鑑みてなされた本開示の目的は、被写体までの距離をより精度良く測定することができる技術を提供することにある。
【課題を解決するための手段】
【0006】
本開示の一実施形態に係る画像処理装置は、
基準位置で撮像により生成された基準画像のデータと、前記基準画像とは異なる位置で撮像により生成された参照画像のデータとを取得する取得部と、
複数の平面射影変換によって前記基準画像の第1基準画素の座標を前記参照画像に含まれる複数の参照画素の座標に変換し、座標を変換した前記複数の参照画素のうちで前記第1基準画素と同じ被写体を含む参照画素を特定し、前記第1基準画素と特定した前記参照画素とを対応付ける対応付け処理を実行する制御部と、を備え、
前記制御部は、
前記複数の平面射影変換の逆変換によって前記第1基準画素に対応付けた前記参照画素の座標を前記基準画像に含まれる複数の基準画素の座標に変換し、座標を変換した前記複数の基準画素のうちで前記第1基準画素に対応付けた前記参照画素と同じ被写体を含む第2基準画素を特定し、前記第1基準画素と前記第2基準画素とに基づいて、前記第1基準画素と前記参照画素との対応付けが誤対応であるか否かを判定する判定処理を実行し、
前記複数の平面射影変換は、前記基準画像を生成したカメラへの光線であって、複数の仮想平面のそれぞれに位置する複数の仮想点を通る光線を、前記参照画像を生成したカメラへの光線であって、前記複数の仮想点を通る光線に変換する。
【0007】
本開示の一実施形態に係るステレオカメラ装置は、
基準位置で撮像により基準画像を生成する第1カメラと、前記基準画像とは異なる位置で撮像により参照画像を生成する第2カメラとを含むステレオカメラと、
複数の平面射影変換によって前記基準画像の第1基準画素の座標を前記参照画像に含まれる複数の参照画素の座標に変換し、座標を変換した前記複数の参照画素のうちで前記第1基準画素と同じ被写体を含む参照画素を特定し、前記第1基準画素と特定した前記参照画素とを対応付ける対応付け処理を実行する画像処理装置と、を備え、
前記画像処理装置は、
前記複数の平面射影変換の逆変換によって前記第1基準画素に対応付けた前記参照画素の座標を前記基準画像に含まれる複数の基準画素の座標に変換し、座標を変換した前記複数の基準画素のうちで前記第1基準画素に対応付けた前記参照画素と同じ被写体を含む第2基準画素を特定し、前記第1基準画素と前記第2基準画素とに基づいて、前記第1基準画素と前記参照画素との対応付けが誤対応であるか否かを判定する判定処理を実行し、
前記複数の平面射影変換は、複数の仮想平面のそれぞれに位置する複数の仮想点を通る前記第1カメラへの光線を前記複数の仮想点を通る前記第2カメラへの光線に変換する。
【0008】
本開示の一実施形態に係る画像処理方法は、
基準位置で撮像により生成された基準画像のデータと、前記基準画像とは異なる位置で撮像により生成された参照画像のデータとを取得することと、
複数の平面射影変換によって前記基準画像の第1基準画素の座標を前記参照画像に含まれる複数の参照画素の座標に変換し、座標を変換した前記複数の参照画素のうちで前記第1基準画素と同じ被写体を含む参照画素を特定し、前記第1基準画素と特定した前記参照画素とを対応付ける対応付け処理を実行することと、
前記複数の平面射影変換の逆変換によって前記第1基準画素に対応付けた前記参照画素の座標を前記基準画像に含まれる複数の基準画素の座標に変換し、座標を変換した前記複数の基準画素のうちで前記第1基準画素に対応付けた前記参照画素と同じ被写体を含む第2基準画素を特定し、前記第1基準画素と前記第2基準画素とに基づいて、前記第1基準画素と前記参照画素との対応付けが誤対応であるか否かを判定する判定処理を実行することと、を含み、
前記複数の平面射影変換は、前記基準画像を生成したカメラへの光線であって、複数の仮想平面のそれぞれに位置する複数の仮想点を通る光線を、前記参照画像を生成したカメラへの光線であって、前記複数の仮想点を通る光線に変換する。
【発明の効果】
【0009】
本開示の一実施形態によれば、被写体までの距離をより精度良く測定することができる技術を提供することができる。
【図面の簡単な説明】
【0010】
図1】本開示の一実施形態に係るステレオカメラ装置の概略構成を示すブロック図である。
図2図1に示すステレオカメラ装置が搭載される移動体を模式的に示す側面図である。
図3図1に示すステレオカメラ装置が搭載される移動体を模式的に示す正面図である。
図4】第1仮想画像及び第1仮想平面を説明するための図である。
図5】第1仮想画像における第1被写体の位置を説明するための図である。
図6】第2仮想画像及び第2仮想平面を説明するための図である。
図7】第2仮想画像における第2被写体の位置を説明するための図である。
図8】距離画像の一例を示す図である。
図9】対応付け処理の手順を示すフローチャートである。
図10】対応付け処理の手順を示すフローチャートである。
図11】誤対応の判定処理の手順を示すフローチャートである。
図12】誤対応の判定処理の手順を示すフローチャートである。
図13】魚眼レンズによって撮像された画像を説明するための図である。
【発明を実施するための形態】
【0011】
本開示において「ワールド座標系」とは、カメラの外部の実空間に基づいて設定された3次元座標系である。本開示において「カメラ座標系」は、カメラの位置を基準として設定される3次元座標系である。カメラ座標系とワールド座標系との間の変換は、カメラの外部パラメータによって規定される。本開示において「カメラの外部パラメータ」は、カメラの位置姿勢を意味する。本開示において「カメラの位置姿勢」とは、ワールド座標系において、基準となる位置に対するカメラの位置及び基準となる方向に対するカメラの傾き(姿勢)を意味する。
【0012】
本開示において「画像座標系」とは、カメラが生成した画像において設定される2次元座標系である。本開示において「カメラの内部パラメータ」は、カメラの焦点距離及び画像座標系の画像中心の情報を含む。
【0013】
本開示において「正規化画像座標系」とは、カメラが生成した画像において設定される画像座標系を正規化した2次元座標系である。正規化画像座標系は、カメラの光軸上の点が原点となり、カメラの焦点距離が1となるように正規化される。正規化画像座標系を構成する2つの軸は、カメラの光軸に直交する。
【0014】
本開示において、被写体を含む画像とは、被写体が描画された画像を意味する。被写体を含む画素とは、被写体が描画された画素を意味する。画像には、複数の画素が縦方向及び横方向に沿って並ぶ。本開示では、画像に画素が並ぶ縦方向及び横方向のうちの、一方が「行」と記載され、他方が「列」と記載される。
【0015】
以下、本開示に係る実施形態について、図面を参照して説明する。
【0016】
(ステレオカメラ装置の構成)
図1に示すように、ステレオカメラ装置1は、ステレオカメラ10と、画像処理装置20とを備える。図2及び図3に示すように、ステレオカメラ装置1は、例えば、移動体30に搭載される。
【0017】
移動体30は、路面上を走行する。路面は、例えば、道路又は滑走路等を含む走行路の表面である。移動体30は、例えば、自動車、産業車両、鉄道車両又は生活車両等の車両である。ただし、移動体30は、車両に限定されない。他の例として、移動体30は、航空機、船舶又はドローン等であってもよい。航空機は、例えば、固定翼機又は回転翼機等である。
【0018】
ステレオカメラ10と画像処理装置20とは、有線又は無線通信により通信可能である。ステレオカメラ10と画像処理装置20とは、ネットワークを介して通信してよい。ネットワークは、例えば、有線LAN(Local Area Network)、無線LAN又はCAN(Controller Area Network)等である。ステレオカメラ10及び画像処理装置20は、移動体30内の電子制御ユニット(ECU:Electronic Control Unit)と通信可能に構成されてよい。
【0019】
ステレオカメラ10は、移動体30の種々の箇所に搭載されてよい。複数の実施形態のうちの1つにおいて、ステレオカメラ10は、車両である移動体30の内部に搭載され、ウインドシールドを介して移動体30の外部を撮像してよい。例えば、ステレオカメラ10は、ルームミラーの前方、又は、ダッシュボード上に配置される。複数の実施形態の1つにおいて、ステレオカメラ10は、車両のフロントバンパー、フェンダーグリル、サイドフェンダー、ライトモジュール及びボンネットの何れかに固定されてよい。
【0020】
画像処理装置20は、移動体30の種々の箇所に搭載されてよい。例えば、画像処理装置20は、移動体30のダッシュボード内に搭載されてよい。
【0021】
図2及び図3では、ステレオカメラ10と画像処理装置20とは、離れて位置する。ただし、ステレオカメラ10と画像処理装置20とは、同じ筺体内に収納され、一体的に構成されてよい。
【0022】
ステレオカメラ10は、互いに視差を有し、互いに協働する複数のカメラを含む。ステレオカメラ10は、少なくとも2つ以上のカメラを含む。本実施形態では、ステレオカメラ10は、第1カメラ11と、第2カメラ12とを含む。ステレオカメラ10は、複数のカメラを協働させて、複数の方向から対象を撮像することが可能である。ステレオカメラ10は、同じ筐体に複数のカメラが含まれる機器であってよい。ステレオカメラ10は、互いに独立し、且つ、互いに離れて位置する2台以上のカメラを含む機器であってよい。ただし、ステレオカメラ10は、互いに独立した複数のカメラに限定されない。本開示のステレオカメラ10には、例えば、離れた2箇所に入射される光を1つの受光素子に導く光学機構を有するカメラを採用することもできる。本開示では、同じ被写体を異なる視点から撮像して生成された複数の画像は、「ステレオ画像」とも記載される。
【0023】
第1カメラ11は、光軸ОX1を規定する光学系と、撮像素子とを備える。第2カメラ12は、光軸OX2を規定する光学系と、撮像素子とを備える。第1カメラ11の光軸OX1と第2カメラの光軸OX2とは、異なる。第1カメラ11及び第2カメラ12のそれぞれの光学系は、レンズ又はミラーを含む。第1カメラ11及び第2カメラ12のそれぞれの光学系は、被写体像を撮像素子の受光面に結像させてよい。第1カメラ11及び第2カメラ12のそれぞれの光学系は、魚眼レンズ等の広角レンズを含んでよい。ただし、第1カメラ11及び第2カメラ12のそれぞれの光学系は、広角レンズに限定されず、任意のレンズを含んでよい。第1カメラ11及び第2カメラ12のそれぞれの撮像素子は、CCDイメージセンサ(Charge-Coupled Device Image Sensor)及びCMOSイメージセンサ(Complementary MOS Image Sensor)を含む。第1カメラ11及び第2カメラ12のそれぞれの撮像素子は、それぞれ、光軸OX1及び光軸OX2に垂直な同じ面内に存在してよい。第1カメラ11及び第2カメラ12は、画像のデータを撮像により生成する。画像のデータは、撮像素子で結像された画像を表すデータである。
【0024】
第1カメラ11及び第2カメラ12は、例えば、互いに固定される。第1カメラ11と第2カメラ12との間では、例えば第1カメラ11と第2カメラ12とが互いに固定されることにより、相対的な位置姿勢が互いに定められる。
【0025】
第1カメラ11の光軸OX1と第2カメラ12の光軸OX2とは、互いに同じ被写体を撮像可能な方向を向いている。第1カメラ11及び第2カメラ12がそれぞれ撮像した画像に少なくとも同じ被写体が含まれるように、第1カメラ11の位置及び光軸OX1と、第2カメラ12の位置及び光軸ОX2とが定められる。第1カメラ11の光軸OX1と第2カメラ12の光軸OX2とは、互いに平行になるように向けられる。この平行は、厳密な平行に限定されず、組み立てのずれ、取付けのずれ及びこれらの経時によるずれを許容する。第1カメラ11の光軸OX1と第2カメラ12の光軸OX2とは、平行に限定されず、互いに異なる方向を向いてよい。第1カメラ11の光軸OX1と第2カメラ12の光軸OX2とが互いに平行ではない場合でも、ステレオカメラ10又は画像処理装置20内で、画像を変換することによりステレオ画像を生成可能である。基線長は、第1カメラ11の光学中心と第2カメラ12の光学中心との間の距離である。例えば、基線長は、第1カメラ11の受光面への光軸ОX1の交点と、第2カメラ12の受光面への光軸ОX2の交点との間の距離に相当する。基線長方向は、第1カメラ11の光学中心と第2カメラ12の光学中心とを結ぶ方向である。
【0026】
図2に示すように、第1カメラ11及び第2カメラ12は、移動体30の前方を撮像可能となるように配置される。例えば、第1カメラ11の光軸ОX1及び第2カメラ12の光軸OX2が移動体30の直進方向と平行となるように、第1カメラ11及び第2カメラ12が配置される。
【0027】
第1カメラ11及び第2カメラ12は、光軸OX1及び光軸ОX2に交わる方向において離れて位置する。複数の実施形態のうちの1つにおいて、第1カメラ11及び第2カメラ12は、移動体30の左右方向に沿って離れて位置する。第1カメラ11は、前方を向いたときに第2カメラ12の左側に位置する。第2カメラ12は、前方を向いたときに第1カメラ11の右側に位置する。
【0028】
第1カメラ11は、被写体を撮像して基準画像を生成する。基準画像が撮像により生成される位置すなわち第1カメラ11の位置は、「基準位置」とも記載される。第2カメラ12は、被写体を撮像して参照画像を生成する。参照画像が撮像により生成される位置すなわち第2カメラ12の位置は、第1カメラ11の位置とは異なる。第1カメラ11の位置と第2カメラ12の位置とが異なることにより、同じ被写体であっても、基準画像における被写体の位置と参照画像における被写体の位置とは、異なる。基準画像及び参照画像は、異なる視点から被写体を撮像して生成されたステレオ画像となる。第1カメラ11及び第2カメラ12は、所定のフレームレート(例えば30fps)で被写体を撮像してよい。
【0029】
図1に示すように、画像処理装置20は、取得部21と、出力部22と、記憶部23と、制御部24とを備える。
【0030】
取得部21は、画像処理装置20の入力用インタフェースである。取得部21は、ステレオカメラ10及び他の装置から情報の入力を受け付け可能である。取得部21には、物理コネクタ、及び、無線通信モジュールが採用可能である。物理コネクタには、電気信号による伝送に対応した電気コネクタ、光信号による伝送に対応した光コネクタ、及び、電磁波による伝送に対応した電磁コネクタが含まれる。電気コネクタには、IEC60603に準拠するコネクタ、USB規格に準拠するコネクタ、RCA端子に対応するコネクタ、EIAJ CP-1211Aに規定されるS端子に対応するコネクタ、EIAJ RC-5237に規定されるD端子に対応するコネクタ、HDMI(登録商標)規格に準拠するコネクタ、及び、BNCを含む同軸ケーブルに対応するコネクタが含まれる。光コネクタには、IEC 61754に準拠する種々のコネクタが含まれる。無線通信モジュールには、Bluetooth(登録商標)、及び、IEEE802.11を含む各規格に準拠する無線通信モジュールが含まれる。
【0031】
取得部21は、第1カメラ11が生成した基準画像40のデータと、第2カメラ12が生成した参照画像41のデータとを取得する。取得部21は、取得した基準画像40のデータ及び参照画像41のデータを、制御部24に出力する。取得部21は、ステレオカメラ10のデータの伝送方式に対応してよい。取得部21は、ネットワークを介してステレオカメラ10の出力用インタフェースに接続されてよい。取得部21は、ネットワークを介して移動体30内の電子制御ユニットに接続されてよい。
【0032】
出力部22は、画像処理装置20の出力用インタフェースである。出力部22は、画像処理装置20の処理結果を、外部機器に出力可能である。外部機器は、例えば、移動体30内の他の装置又は移動体30外の他の装置等である。移動体30内の他の装置は、オートクルーズコントロール等の走行支援装置、及び、自動ブレーキ装置等の安全装置を含んでよい。移動体30外の他の装置は、他車両及び路測機等を含んでよい。移動体30内の他の装置又は移動体30外の他の装置は、画像処理装置20から受信した情報を適宜使用することができる。出力部22は、取得部21と同じ又は類似に、有線及び無線の通信に対応した種々のインタフェースを含んでよい。
【0033】
記憶部23は、少なくとも1つの半導体メモリ、少なくとも1つの磁気メモリ、少なくとも1つの光メモリ又はこれらのうちの少なくとも2種類の組み合わせを含んで構成される。半導体メモリは、例えば、RAM(Random Access Memory)又はROM(Read Only Memory)等である。RAMは、例えば、SRAM(Static Random Access Memory)又はDRAM(Dynamic Random Access Memory)等である。ROMは、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)等である。記憶部23は、主記憶装置、補助記憶装置又はキャッシュメモリとして機能してよい。記憶部23は、画像処理装置20の動作に用いられるデータと、画像処理装置20の動作によって得られたデータとを記憶する。
【0034】
記憶部23は、第1カメラ11及び第2カメラ12の内部パラメータを記憶する。記憶部23は、第1カメラ11及び第2カメラ12の外部パラメータを記憶する。記憶部23は、後述する回転行列R、並進ベクトルt及びパラメータK,K,ρ,ρを記憶する。
【0035】
制御部24は、少なくとも1つのプロセッサ、少なくとも1つの専用回路又はこれらの組み合わせを含んで構成される。プロセッサは、CPU(Central Processing Unit)若しくはGPU(Graphics Processing Unit)等の汎用プロセッサ又は特定の処理に特化した専用プロセッサである。専用回路は、例えば、FPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit)等である。制御部24は、画像処理装置20の各部を制御しながら、画像処理装置20の動作に関わる処理を実行する。
【0036】
制御部24は、基準画像40及び参照画像41のデータを取得部21によって取得する。
【0037】
以下、第1カメラ11の正規化画像座標系は、「正規化画像座標系C1」とも記載される。つまり、正規化画像座標系C1は、第1カメラ11が生成した画像において設定される画像座標系を正規化した2次元座標系である。第2カメラ12の正規化画像座標系は、「正規化画像座標系C2」とも記載される。つまり、正規化画像座標系C2は、第2カメラ12が生成した画像において設定される画像座標系を正規化した2次元座標系である。
【0038】
以下、第1カメラ11のカメラ座標系は、「カメラ座標系C11」とも記載される。第2カメラ12のカメラ座標系は、「カメラ座標系C12」とも記載される。
【0039】
以下、被写体までの距離を取得する取得処理の概要を説明した後、本実施形態に係る対応付け処理について説明する。この取得処理は、後述する第1仮想画像42が用いられる第1取得処理と、後述する第2仮想画像43が用いられる第2取得処理とがある。
【0040】
<第1取得処理>
制御部24は、参照画像41を第1仮想画像42に変換する。第1仮想画像42は、図4に示すような実空間上の仮想点X1(q=1,…,m1)(m1は1以上の整数)を基準位置で撮像したと仮想した画像である。仮想点X1は、実空間において第1方向D1に沿って基準位置から第1距離d1離れて位置する。第1方向D1は、第1カメラ11の光軸ОX1に沿う方向すなわち第1カメラ11の光軸方向である。第1方向D1の情報は、第1カメラ11のカメラ座標系C11に対応付けられて記憶部23に予め記憶されてよい。制御部24は、記憶部23から、カメラ座標系C11に対応付けられた第1方向D1の情報を取得することにより、第1方向D1を特定してよい。以下、第1距離d1に対応する第1仮想画像42は、「第1仮想画像42」とも記載される。
【0041】
制御部24は、参照画像41を第1仮想平面V1に射影変換し、射影変換後の参照画像41を第1仮想画像42として取得する。第1仮想平面V1は、仮想点X1が位置する仮想的な平面である。第1仮想平面V1は、第1方向D1に沿って基準位置から第1距離d1離れて位置する。つまり、第1距離d1に対応する第1仮想画像42は、第1方向D1に沿って基準位置から第1距離d1離れて位置する第1仮想平面V1に参照画像41を射影変換した後の画像とも言える。第1仮想平面V1の法線方向は、第1方向D1と一致する。参照画像41を第1仮想平面V1に射影変換して第1仮想画像42を取得する処理は、プレーンスイープ法(Plane Sweep)による処理とも言える。ここで、図4において、座標x1は、仮想点X1を基準画像40に投影させた場合に仮想点X1が基準画像40に描画される画素の座標である。座標x1は、正規化画像座標系C1における座標として与えられる。座標x2は、仮想点X1を参照画像41に投影させた場合に仮想点X1が参照画像41に描画される画素の座標である。座標x2は、正規化画像座標系C2における座標として与えられる。制御部24は、平面射影変換Hによって、仮想点X1を通る第1カメラ11の光線を、仮想点X1を通る第2カメラ12の光線に変換することができる。平面射影変換Hは、式(1)によって表される。
【数1】
式(1)において、回転行列Rは、第1カメラ11を基準とする第2カメラ12の回転を示す回転行列である。並進ベクトルtは、第1カメラ11を基準とする第2カメラ12の並進を示すベクトルである。回転行列Rと並進ベクトルtは、第1カメラ11と第2カメラ12との間で相対的な位置姿勢が互いに定められていることにより既知である。制御部24は、記憶部23から回転行列R及び並進ベクトルtの情報を取得する。
式(1)において、法線ベクトルnは、第1仮想平面V1の法線ベクトルである。
式(1)において、第1距離d1は、第1方向D1における第1仮想平面V1の基準位置からの距離である。
【0042】
制御部24は、第1仮想画像42によって、実空間上の第1被写体までの距離を取得することができる。第1被写体は、第1仮想平面V1に平行な面を含む被写体である。つまり、第1被写体の少なくとも一部の面の法線方向は、第1仮想平面V1の法線方向すなわち第1方向D1と一致する。第1被写体に含まれる面の法線方向が第1方向D1と一致することにより、第1方向D1に沿う第1距離d1を変化させながら複数の第1仮想画像42を取得した場合、第1仮想画像42における第1被写体の位置は、第1距離d1に応じて変化する。さらに、第1距離d1が第1方向D1における基準位置から第1被写体までの距離と一致する場合、第1仮想画像42における第1被写体の位置は、基準画像40における第1被写体の位置と一致する。つまり、第1仮想画像42における第1被写体の位置と基準画像40における第1被写体の位置とが一致する場合、当該第1仮想画像42に対応する第1距離d1は、第1方向D1における基準位置から第1被写体までの距離となる。
【0043】
そこで、制御部24は、基準画像40における第1被写体の位置と、複数の第1仮想画像42のそれぞれにおける第1被写体の位置とを比較する。制御部24は、複数の第1仮想画像42のうちから、その第1仮想画像42における第1被写体の位置が基準画像40における第1被写体の位置に最も近い第1仮想画像42を特定する。制御部24は、特定した第1仮想画像42に対応する第1距離d1を、実空間上の第1方向D1における基準位置から第1被写体までの距離として取得する。この処理は、後述する対応付け処理によって実行可能である。以下、図5を参照して説明する。
【0044】
図5には、基準画像40a及び参照画像41aを示す。基準画像40aは、部分画像40оb1を含む。部分画像40оb1は、基準画像40aのうちで、第1カメラ11によって撮像された第1被写体оb1が描画された部分である。参照画像41aは、部分画像41оb1を含む。部分画像41оb1は、参照画像41aのうちで、第2カメラ12によって撮像された第1被写体оb1が描画された部分である。第1被写体оb1の正面の法線方向は、第1方向D1に一致する。
【0045】
図5では、q=1,2,3とする。参照画像41aの右側に、第1仮想画像42a、第1仮想画像42a及び第1仮想画像42aを示す。第1仮想画像42aは、第1距離d1に対応する。第1仮想画像42aは、第1距離d1に対応する。第1仮想画像42aは、第1距離d1に対応する。
【0046】
図5では、説明の便宜上、第1仮想画像42a~42aのそれぞれにおいて、基準画像40aの部分画像40оb1を破線で示す。第1仮想画像42a~42aのそれぞれにおいて、部分画像41оb1の位置すなわち第1被写体оb1の位置は、第1距離d1に応じて変化する。ここで、第1仮想画像42aにおける第1被写体оb1の位置と、基準画像40aにおける第1被写体оb1の位置とは、一致する。つまり、第1方向D1における基準位置から第1被写体оb1までの距離は、第1距離d1となる。制御部24は、第1仮想画像42a~42aのうちから、基準画像40aにおける第1被写体оb1の位置と第1被写体оb1の位置が最も近い第1仮想画像42aを特定する。制御部24は、特定した第1仮想画像42aに対応する第1距離d1を、実空間上の第1方向D1における基準位置から第1被写体оb1までの距離として取得する。
【0047】
制御部24は、取得した第1距離d1すなわち第1方向D1における基準位置から第1被写体までの距離によって、基準位置から第1被写体までの直線距離を算出してもよい。例えば、制御部24は、式(2)によって、基準位置から第1被写体までの直線距離Zを算出してよい。
【数2】
式(2)において、単位ベクトルbは、正規化画像座標系C1の原点から第1被写体を含む画素に向かう方向に対応するカメラ座標系C11の方向の単位ベクトルである。
【0048】
<第2取得処理>
制御部24は、参照画像41を第2仮想画像43に変換する。第2仮想画像43は、図6に示すような実空間上の仮想点X2(q=1,…,m2)(m2は1以上の整数)を基準位置で撮像したと仮想した画像である。仮想点X2は、実空間において第2方向D2に沿って基準位置から第2距離d2離れて位置する。第2方向D2は、第1方向D1とは異なる方向である。例えば、第2方向D2におけるベクトルと、第1方向D1におけるベクトルとの内積は、ゼロ以外の値となる。第2方向D2は、水平面の法線方向であってよい。以下、第2方向D2は、路面の法線方向であるものとする。ただし、第2方向D2は、第1方向D1とは異なる方向であればよく、路面の法線方向に限定されない。第2方向D2の情報は、カメラ座標系C11に対応付けられて記憶部23に予め記憶されてよい。制御部24は、記憶部23からカメラ座標系C11に対応付けられた第2方向D2の情報を取得することにより、第2方向D2を特定してよい。以下、第2距離d2に対応する第2仮想画像43は、「第2仮想画像43」とも記載される。
【0049】
制御部24は、参照画像41を第2仮想平面V2に射影変換し、射影変換後の参照画像41を第2仮想画像43として取得する。第2仮想平面V2は、仮想点X2が位置する仮想的な平面である。第2仮想平面V2は、基準位置から第2距離d2離れて位置する。つまり、第2距離d2に対応する第2仮想画像43は、第2方向D2に沿って基準位置から第2距離d2離れて位置する第2仮想平面V2に参照画像41を射影変換した後の画像とも言える。第2仮想平面V2の法線方向は、第2方向D2に一致する。第1方向D1と同じ又は類似に、制御部24は、式(1)の平面射影変換Hによって、仮想点X2を通る第1カメラ11への光線を、仮想点X2を通る第2カメラ12への光線に変換することができる。この変換では、式(1)の第1距離d1の代わりに、第2距離d2が用いられる。また、式(1)の法線ベクトルnは、第2仮想平面V2の法線ベクトルとなる。
【0050】
制御部24は、第2仮想画像43によって、実空間上の第2被写体までの距離を取得することができる。第2被写体は、第2仮想平面V2に平行な面を含む被写体である。つまり、第2被写体の少なくとも一部の面の法線方向は、第2仮想平面V2の法線方向すなわち第2方向D2と一致する。第2被写体の例として、車止め及び路面の凹凸等が挙げられる。第2被写体は、第1被写体と同じ物体であってもよいし、第1被写体とは異なる物体であってもよい。第2被写体が第1被写体と同じ物体である場合、第2被写体は、第1仮想平面V1に平行な面と、第2仮想平面V2に平行な面とを含む。ここで、第2被写体に含まれる面の法線方向が第2方向D2と一致することにより、第2方向D2に沿う第2距離2を変化させながら複数の第2仮想画像43を取得した場合、第2仮想画像43における第2被写体の位置は、第2距離d2に応じて変化する。第2距離d2が第2方向D2における基準位置から第2被写体までの距離と一致する場合、第2仮想画像43における第2被写体の位置は、基準画像40における第2被写体の位置と一致する。つまり、第2仮想画像43における第2被写体の位置と基準画像40における第2被写体の位置とが一致する場合、当該第2仮想画像43に対応する第2距離d2は、第2方向D2における基準位置から第2被写体までの距離となる。
【0051】
そこで、制御部24は、基準画像40における第2被写体の位置と、複数の第2仮想画像43のそれぞれにおける第2被写体の位置とを比較する。制御部24は、複数の第2仮想画像43のうちから、その第2仮想画像43における第2被写体の位置が基準画像40における第2被写体の位置に最も近い第2仮想画像43を特定する。制御部24は、特定した第2仮想画像43に対応する第2距離d2を、実空間上の第2方向D2における基準位置から第2被写体までの距離として取得する。この処理は、後述する対応付け処理によって実行可能である。以下、図7を参照して説明する。
【0052】
図7には、基準画像40b及び参照画像41bを示す。基準画像40bは、部分画像40оb2を含む。部分画像40оb2は、基準画像40bのうちで、第1カメラ11によって撮像された第2被写体оb2が描画された部分である。参照画像41bは、部分画像41оb2を含む。部分画像41оb2は、参照画像41bのうちで、第2カメラ12によって撮像された第2被写体оb2が描画された部分である。第2被写体оb2の上面の法線方向は、第2方向D2に一致する。
【0053】
図7では、q=1,2,3とする。参照画像41bの右側に、第2仮想画像43b、第2仮想画像43b及び第2仮想画像43bを示す。第2仮想画像43bは、第2距離d2に対応する。第2仮想画像43bは、第2距離d2に対応する。第2仮想画像43bは、第2距離d2に対応する。
【0054】
図7では、説明の便宜上、第2仮想画像43b~43bのそれぞれにおいて、基準画像40bの部分画像40оb2を破線で示す。第2仮想画像43b~43bのそれぞれにおいて、部分画像41оb2の位置すなわち第2被写体оb2の位置は、第2距離d2に応じて変化する。ここで、第2仮想画像43bにおける第2被写体оb2の位置と、基準画像40bにおける第2被写体оb2の位置とは、一致する。つまり、第2方向D2における基準位置から第2被写体оb2までの距離は、第2距離d2となる。制御部24は、第2仮想画像43b~43bのうちから、基準画像40bにおける第2被写体оb2の位置と第2被写体оb2の位置が最も近い第2仮想画像43bを特定する。制御部24は、特定した第2仮想画像43bに対応する第2距離d2を、実空間上の第2方向D2における基準位置から第2被写体оb2までの距離として取得する。
【0055】
制御部24は、取得した第2距離d2すなわち第2方向D2における基準位置から第2被写体までの距離によって、基準位置から第2被写体までの直線距離を算出してもよい。制御部24は、式(2)によって、基準位置から第2被写体までの直線距離Zを算出してもよい。第2方向D2では、式(2)の法線ベクトルnは、第2仮想平面V2の法線ベクトルとなる。また、式(2)の単位ベクトルbは、正規化画像座標系C1の原点から第2被写体を含む画素に向かう方向に対応するカメラ座標系C11の方向の単位ベクトルである。
【0056】
<対応付け処理>
以下、基準画像40に含まれる画素は、「基準画素P40」とも記載される。参照画像41に含まれる画素は、「参照画素P41」とも記載される。
【0057】
以下において、仮想平面V3とは、仮想平面V3の法線方向が第1カメラ11の光軸OX1に沿う方向に基づいて設定される任意の仮想平面である。仮想平面V3は、第1仮想平面V1であってもよいし、第2仮想平面V2であってもよい。ただし、仮想平面V3は、第1仮想平面V1及び第2仮想平面V2に限定されない。仮想平面V3は、仮想平面V3の法線方向が第1カメラ11の光軸OX1に沿う方向に基づいて設定されれば、任意の仮想平面であってよい。つまり、仮想平面V3の法線方向と第1カメラ11の光軸OX1に沿う方向とがなす角度は、任意に設定されてよい。
【0058】
以下において、平面射影変換H(kは、「1≦k≦N」を満たす整数)は、仮想平面V3に位置する仮想点X3を通る第1カメラ11への光線を、当該仮想点X3を通る第2カメラ12への光線に変換するための変換式である。仮想平面V3(kは、「1≦k≦N」を満たす整数)の集合すなわち仮想平面V3~V3は、第1仮想平面V1及び第2仮想平面V2の両方を含んでもよいし、第1仮想平面V1及び第2仮想平面V2の何れか一方のみを含んでもよい。又は、仮想平面V3の集合(kは、「1≦k≦N」を満たす整数)は、第1仮想平面V1及び第2仮想平面V2に加えて又は第1仮想平面V1及び第2仮想平面V2の何れか一方に代えて、第1仮想平面V1及び第2仮想平面V2以外の仮想平面を含んでもよい。平面射影変換Hは、式(3)によって表される。
【数3】
式(3)の平面射影変換Hは、式(1)の平面射影変換Hの添え字q(qは、「1≦k≦m1」を満たす整数)を添え字k(kは、「1≦k≦N」を満たす整数)に置き換えたものとして理解することができる。
式(3)において、距離dは、仮想平面V3の法線方向における基準位置から仮想平面V3までの距離である。距離dは、仮想平面V3が第1仮想平面V1である場合、第1距離d1となる。距離dは、仮想平面V3が第2仮想平面V2である場合、第2距離d2となる。
式(3)において、法線ベクトルnは、仮想平面V3の法線ベクトルである。法線ベクトルnは、仮想平面V3が第1仮想平面V1である場合、第1方向D1と一致する。法線ベクトルnは、仮想平面V3が第2仮想平面V2である場合、第2方向D2と一致する。
【0059】
以下、本実施形態に係る対応付け処理について説明する。
【0060】
制御部24は、第1基準画素P40i,jの座標ui,jのデータを取得する。座標ui,jは、基準画像40において設定される画像座標系の座標である。行番号iは、基準画像40に並ぶ基準画素P40の行に対応する。列番号jは、基準画像40に並ぶ基準画素P40の列に対応する。
【0061】
制御部24は、第1基準画素P40i,jの座標ui,jを第1カメラ11への光線ρ -1(K -1i,j)に逆投影する。パラメータKは、第1カメラ11の内部パラメータである。つまり、座標ui,jとパラメータK -1とによって算出される座標K -1i,jは、正規化画像座標系C1の座標となる。また、パラメータρは、第1カメラ11への光線を正規化画像座標系C1の座標に投影するためのパラメータである。つまり、パラメータρ -1は、正規化画像座標系C1の座標を第1カメラへの光線に逆投影するためのパラメータとなる。したがって、座標K -1i,jとパラメータρ -1とによって、第1カメラ11への光線ρ -1(K -1i,j)が算出される。ここで、第1カメラ11の光軸ОX1と第1カメラ11への光線とのなす角度θと、正規化画像座標系C1における座標(x,y)の像の高さr=(x+y1/2との間の関係は、式(3)によって表される。
r=ρ(θ)≡θ+kθ+kθ +kθ +kθ 式(4)
式(4)において、係数k(j=1~4)は、第1カメラ11のレンズにおける歪みの特性を表す係数である。
【0062】
制御部24は、第1カメラ11への光線ρ -1(K -1i,j)を平面射影変換Hによって第2カメラ12への光線Hρ -1(K -1i,j)に変換する。制御部24は、変換後の第2カメラ12への光線Hρ -1(K -1i,j)を参照画像41に投影し、座標Kρ{Hρ -1(K -1i,j)}を取得する。座標Kρ{Hρ -1(K -1i,j)}は、参照画像41において設定される画像座標系の座標となる。パラメータKは、第2カメラ12の内部パラメータである。パラメータρは、第2カメラ12への光線を正規化画像座標系C2の座標に投影するためのパラメータである。ここで、第2カメラ12の光軸ОX2と第2カメラ12への光線とのなす角度θと、正規化画像座標系C2における座標(x,y)の像の高さr=(x+y1/2との間の関係は、式(5)によって表される。
r=ρ(θ)≡θ+kθ+kθ +kθ +kθ 式(5)
式(5)において、係数k(j=1~4)は、第2カメラ12のレンズにおける歪みの特性を表す係数である。
【0063】
制御部24は、第1基準画素P40i,jの座標ui,jに、座標Kρ{Hρ -1(K -1i,j)}を対応付ける。制御部24は、行番号i及び列番号jを変化させながら上述した処理を繰り返し実行することにより、全ての第1基準画素P40i,jの座標ui,jに、座標Kρ{Hρ -1(K -1i,j)}を対応付ける。
【0064】
制御部24は、複数の参照画素P41k,i,jのうちで、第1基準画素P40i,jと同じ被写体を含む参照画素P41k,i,jを特定する。参照画素P41k,i,jは、第1基準画素P40i,jの座標ui,jに対応付けられた座標Kρ{Hρ -1(K -1i,j)}に位置する参照画素P41である。本実施形態では、制御部24は、マッチング処理によって、第1基準画素と同じ被写体を含む参照画素P41k,i,jを特定する。
【0065】
マッチング処理では、制御部24は、第1基準画素P40i,jの特徴量及び参照画素P41k,i,jの特徴量を抽出する。特徴量は、例えば、画素の輝度及び色の少なくとも何れかを含む。制御部24は、AKAZE(Accelerated-KAZE)、ORB(Oriented FAST and Rotated BRIEF)又はSIFT(Scale-Invariant Feature Transform)等の任意のアルゴリズムによって、特徴量を抽出してよい。特徴量は、AKAZE、ORB又はSIFT等の形式で表されてもよいし、他の種々の形式で表されてもよい。
【0066】
マッチング処理では、制御部24は、kを変えていきながら、参照画素P41k,i,jの特徴量を抽出しつつ、第1基準画素P40i,jの特徴量と参照画素P41k,i,jの特徴量との間の類似度を示すコスト値Ck,i,jを算出する。本実施形態では、コスト値Ck,i,jが小さいほど、第1基準画素P40i,jの特徴量と参照画素P41k,i,jの特徴量との間の類似度が高いものとする。制御部24は、基準ブロックB40と参照ブロックB41とについて、SAD(Sum of Absolute Difference)、SSD(Sum of Squared Difference)、ZSSD(Zero-mean Sum of Squared Difference)又はZNCC(Zero means Normalized Cross Correlation)等を算出することにより、コスト値Ck,i,jを算出してよい。基準ブロックB40は、コスト値Ck,i,jの算出対象となる第1基準画素P40i,jを中心とする複数の基準画素P40のブロックである。参照ブロックB41は、コスト値Ck,i,jの算出対象となる参照画素P41k,i,jを中心とする複数の参照画素P41のブロックである。基準ブロックB40及び参照ブロックB41は、例えば、3画素×3画素のブロックである。
【0067】
制御部24は、算出したコスト値Ck,i,jのデータを記憶部23に記憶させる。記憶部23に記憶されたコスト値Ck,i,jは、後述の誤対応の判定処理に用いられる。
【0068】
制御部24は、第1基準画素P40i,jのそれぞれにおいてコスト値Ck,i,jが最小になるときのkを特定する。以下、k=αのとき、第1基準画素P40i,jについてのコスト値Ck,i,jが最小になるものとする。つまり、制御部24は、複数の参照画素P41k,i,jのうちで参照画素P41α,i,jが第1基準画素P40i,jと同じ被写体を含む参照画素P41k,i,jであると特定する。制御部24は、第1基準画素P40i,jに距離dαを対応づけて記憶部23に記憶させる。制御部24は、第1基準画素P40i,jと参照画素P41α,i,jと対応付ける。
【0069】
<誤対応の判定処理>
制御部24は、誤対応の判定処理を実行する。誤対応の判定処理は、第1基準画素P40i,jと参照画素P41α,i,jとの対応付けが誤対応であるか否かを判定する処理である。
【0070】
制御部24は、第2カメラ12への光線Hαρ -1(K -1i,j)のデータを取得する。第2カメラ12への光線Hαρ -1(K -1i,j)は、第1基準画素P40i,jに対応付けられた参照画素P41α,i,jを通る光線である。
【0071】
制御部24は、第2カメラ12への光線Hαρ -1(K -1i,j)を平面射影変換Hの逆変換すなわち平面射影変換H -1(kは、「1≦k≦N」を満たす整数)によって、第1カメラ11への光線H -1αρ -1(K -1i,j)に変換する。制御部24は、第1カメラ11への光線H -1αρ -1(K -1i,j)を基準画像40に投影し、基準画素P40k,I,Jの座標uk,I,Jを取得する。座標uk,I,Jは、基準画像40において設定された画像座標系における座標である。行番号Iは、基準画像40に並ぶ基準画素P40の行に対応する。列番号Jは、基準画像40に並ぶ基準画素P40の列に対応する。制御部24は、式(6)によって、座標uk,I,Jを取得する。ただし、式(6)の右辺の計算結果が整数にならない場合、制御部24は、式(6)の右辺の計算結果を四捨五入等によって整数化した後の座標uk,I,Jを取得する。
k,I,J=Kρ{H -1αρ -1(K -1i,j)} 式(6)
【0072】
制御部24は、複数の基準画素P40k,I,Jのうちで、参照画素P41α,i,jと同じ被写体を含む第2基準画素P40k,I,Jを特定する。本実施形態では、制御部24は、マッチング処理によって、参照画素P41α,i,jと同じ被写体を含む第2基準画素P40k,I,Jを特定する。
【0073】
マッチング処理では、制御部24は、kを変えていきながら、参照画素P41α,i,jの特徴量と基準画素P40k,I,Jの特徴量との間の類似度を示すコスト値Ck,I,Jが最小になるときのkを特定する。制御部24は、コスト値Ck,I,Jが最小になるときのkを特定することにより、第2基準画素P40k,I,Jを特定する。ここで、誤対応の判定処理では、制御部24は、記憶部23に記憶されたコスト値Ck,i,jのデータを用いて、コスト値Ck,I,Jが最小になるときのkを特定する。このような構成により、誤対応の判定処理では、コスト値Ck,I,Jを算出しなく済む。以下、k=βであるとき、参照画素P41α,i,jの特徴量と基準画素P40k,I,Jの特徴量との間の類似度を示すコスト値Ck,I,Jが最小になるものとする。つまり、制御部24は、複数の基準画素P40k,I,Jのうちで基準画素P40β,I,Jが参照画素P41α,i,jと同じ被写体を含む第2基準画素P40β,I,Jであると特定する。
【0074】
制御部24は、第1基準画素P40i,jと第2基準画素P40β,I,Jとに基づいて、第1基準画素P40i,jと参照画素P41α,i,jと対応付けが誤対応であるか否かを判定する。
【0075】
本実施形態では、制御部24は、第1基準画素P40i,jと第2基準画素P40β,I,Jとの間の距離によって、第1基準画素P40i,jと参照画素P41α,i,jと対応付けが誤対応であるか否かを判定する。制御部24は、第1基準画素P40i,jと基準画素P40β,I,Jとの間の距離を、第1基準画素P40i,jの座標ui,jと基準画素P40β,I,Jの座標Kρ{Hβ -1αρ -1(K -1i,j)}との差によって取得してよい。ここで、第1基準画素P40i,jと参照画素P41α,i,jと対応付けが誤対応ではない場合、理想的には、第1基準画素P40i,jと第2基準画素P40β,I,Jとは同じ基準画素P40になる。そのため、対応付けが誤対応ではない場合、第1基準画素P40i,jと第2基準画素P40β,I,Jとの間の距離はゼロになる。しかしながら、実際には、仮想平面V3の数が有限であったり、第1カメラ11及び第2カメラ12のレンズに歪み等があったりするため、第1基準画素P40i,jと第2基準画素P40β,I,Jとは、同じ基準画素P40にはならない。つまり、仮想平面V3の数がN個であったり、式(6)等にパラメータρ,ρ,K,Kが含まれたりすることにより、第1基準画素P40i,jと第2基準画素P40β,I,Jとの間の距離は、ゼロにはならない。
【0076】
そこで、制御部24は、第1基準画素P40i,jと第2基準画素P40β,I,Jとの間の距離が閾値を下回ると判定した場合、第1基準画素P40i,jと参照画素P41α,i,jと対応付けが誤対応ではないと判定する。一方、制御部24は、第1基準画素P40i,jと第2基準画素P40β,I,Jとの間の距離が閾値以上であると判定した場合、第1基準画素P40i,jと参照画素P41α,i,jと対応付けが誤対応であると判定する。本実施形態では、第1基準画素P40i,jと第2基準画素P40β,I,Jとの間の距離が画素数によって与えられるものとする。閾値は、第1カメラ11及び第2カメラ12のレンズの歪みの度合いに基づいて設定されてよい。閾値は、例えば、1画素である。
【0077】
制御部24は、行番号i及び列番号jを変えていきながら、上述した処理を繰り返し実行する。制御部24は、上述した処理を繰り返し実行することにより、第1基準画素P40i,jと参照画素P41α,i,jと対応付けのうちから、誤対応である対応付けを検出する。
【0078】
<距離の取得処理>
制御部24は、基準画素P40i,jに含まれる被写体までの距離を取得する。例えば、制御部24は、記憶部23から、第1基準画素P40i,jに対応付けた距離dαを取得する。制御部24は、取得した距離dαと式(2)とによって、基準位置から被写体までの直線距離Zを算出する。制御部24は、算出した直線距離Zを、第1基準画素P40i,jに含まれる被写体までの距離として取得する。又は、制御部24は、第1基準画素P40i,jに対応付けた距離dαを、第1基準画素P40i,jに含まれる被写体までの距離として取得してもよい。
【0079】
<距離画像の生成処理>
制御部24は、第1基準画素P40i,jに含まれる被写体までの距離を取得すると、取得した被写体までの距離の情報に基づいて、距離画像を生成する。距離画像は、複数の距離画素を含む。距離画像の各距離画素の画素値は、被写体までの距離に対応する。制御部24は、距離画素の画素値を、当該距離画素に対応する第1基準画素P40i,jに含まれる被写体までの距離の情報に基づいて生成することにより、距離画像を生成する。
【0080】
例えば、制御部24は、図8に示すような距離画像44を生成する。距離画像44は、複数の距離画素P44を含む。複数の距離画素P44のそれぞれは、複数の第1基準画素P40のそれぞれに対応する。距離画像44に並ぶ複数の距離画素P44において、行番号i及び列番号jに位置する距離画素P44は、「距離画素P44i,j」とも記載される。距離画素P44i,jは、第1基準画素P40i,jに対応する。制御部24は、距離画素P44i,jの画素値を第1基準画素P40i,jに含まれる被写体までの距離に基づいて生成する。
【0081】
制御部24は、第1基準画素P40i,jと参照画素P41α,i,jとの対応付けが誤対応であると判定した場合、第1基準画素P40i,jに対応する距離画素P44i,jを無効にしてもよい。距離画素を無効にするとは、当該距離画素が距離の情報を有さないようにすることであってよい。例えば、距離画素を無効にするとは、距離画素の画素値をゼロにすることであってよい。
【0082】
例えば、図8に示すような複数の距離画素P44は、複数の距離画素P44a及び複数の距離画素P44bを含む。図8では、距離画素P44aに、ハッチングを付す。距離画素P44bには、ハッチングを付さない。距離画素P44aは、制御部24が第1基準画素P40i,jと参照画素P41α,i,jとの対応付けが誤対応であると判定したことにより、無効にされた画素である。距離画素P44bは、参照画素P41との対応付けが誤対応ではないと判定された第1基準画素P40i,jに対応する。距離画素P44bの画素値は、第1基準画素P40に含まれる被写体までの距離の情報に基づいて生成されている。
【0083】
制御部24は、複数の距離画素のうち、無効にした距離画素の画素値を、他の距離画素の画素値によって補間してもよい。例えば、図8では、制御部24は、距離画素P44aの画素値を、距離画素P44aの周囲に位置する距離画素P44bの画素値によって補間してよい。
【0084】
制御部24は、第1基準画素P40i,jと参照画素P41α,i,jとの対応付けが誤対応であると判定した場合であっても、当該第1基準画素P40i,jに対応する距離画素を無効にしなくてもよい。つまり、制御部24は、第1基準画素P40i,jと参照画素P41α,i,jとの対応付けが誤対応であると判定した場合であっても、距離画像の全ての距離画素の画素値を、被写体までの距離の情報に基づいて生成してよい。この場合、制御部24は、距離画像と後述する信頼度とを、外部機器に出力部22によって出力してもよい。
【0085】
<信頼度の付与処理>
制御部24は、第1基準画素P40i,jに含まれる被写体までの距離を取得すると、取得した被写体までの距離に対して信頼度を付与してよい。信頼度は、取得した被写体までの距離の信頼性の高さを示す指標である。本実施形態では、信頼度が高いほど、信頼度が付与された被写体までの距離の信頼性が高いものとする。
【0086】
制御部24は、第1基準画素P40i,jと第2基準画素P40β,I,Jとの間の距離に基づいて、第1基準画素P40i,jに含まれる被写体までの距離に対して信頼度を付与してよい。上述したように、第1基準画素P40i,jと参照画素P41α,i,jとの対応付けが誤対応ではない場合、理想的には、第1基準画素P40i,jと第2基準画素P40β,I,Jとの間の距離は、ゼロになる。そこで、制御部24は、第1基準画素P40i,jと第2基準画素P40β,I,Jとの間の距離が短いほど、高い信頼度を付与してよい。
【0087】
<出力処理>
制御部24は、生成した距離画像を外部機器に出力部22によって出力する。制御部24は、被写体までの距離に対して信頼度を付与した場合、距離画像と信頼度とを外部機器に出力部22によって出力してもよい。
【0088】
(ステレオカメラ装置の動作)
図9及び図10は、対応付け処理の手順を示すフローチャートである。図9及び図10に示すような対応付け処理は、本実施形態に係る画像処理方法の一例に相当する。画像処理装置20の制御部24は、ステレオカメラ10が撮像を開始すると、図9に示すようなステップS1の処理を開始する。
【0089】
制御部24は、基準画像40のデータ及び参照画像41のデータを取得部21によって取得する(ステップS1)。
【0090】
制御部24は、第1基準画素P40i,jの座標ui,jのデータを取得する(ステップS2)。
【0091】
制御部24は、第1基準画素P40i,jの座標ui,jを第1カメラ11への光線ρ -1(K -1i,j)に逆投影する(ステップS3)。
【0092】
制御部24は、第1カメラ11への光線ρ -1(K -1i,j)を平面射影変換Hによって第2カメラ12への光線Hρ -1(K -1i,j)に変換する(ステップS4)。
【0093】
制御部24は、第1基準画素P40i,jの座標ui,jに、座標Kρ{Hρ -1(K -1i,j)}を対応付ける(ステップS5)。
【0094】
制御部24は、全ての第1基準画素P40i,jの座標ui,jに、座標Kρ{Hρ -1(K -1i,j)}を対応付けたか否かを判定する(ステップS6)。制御部24は、全ての第1基準画素P40i,jの座標ui,jに、座標Kρ{Hρ -1(K -1i,j)}を対応付けたと判定しない場合(ステップS6:NO)、行番号i及び列番号jを変化させ、ステップS1の処理に戻る。一方、制御部24は、全ての第1基準画素P40i,jの座標ui,jに、座標Kρ{Hρ -1(K -1i,j)}を対応付けたと判定した場合(ステップS6:YES)、図10に示すようなステップS7の処理に進む。
【0095】
図10に示すようなステップS7の処理では、制御部24は、第1基準画素P40i,jの特徴量及び複数の参照画素P41k,i,jの特徴量を抽出する。制御部24は、コスト値Ck,i,jを算出する(ステップS8)。制御部24は、ステップS8の処理で算出したコスト値Ck,i,jのデータを記憶部23に記憶させる(ステップS9)。
【0096】
制御部24は、第1基準画素P40i,jのそれぞれにおいてコスト値Ck,i,jが最小になるときのkを特定する(ステップS10)。制御部24は、第1基準画素P40i,jと参照画素P41α,i,jと対応付ける(ステップS11)。ステップS11の処理では、制御部24は、第1基準画素P40i,jに距離dαを対応づけて記憶部23に記憶させる。
【0097】
図11及び図12は、誤対応の判定処理の手順を示すフローチャートである。図11及び図12に示すような誤対応の判定処理は、本実施形態に係る画像処理方法の一例に相当する。画像処理装置20の制御部24は、図10に示すようなステップS11の処理後、図11に示すようなステップS21の処理を開始する。
【0098】
制御部24は、第2カメラ12への光線Hαρ -1(K -1i,j)のデータを取得する(ステップS21)。
【0099】
制御部24は、第2カメラ12への光線Hαρ -1(K -1i,j)を平面射影変換Hの逆変換すなわち平面射影変換H -1によって、第1カメラ11への光線H -1αρ -1(K -1i,j)に変換する(ステップS22)。
【0100】
制御部24は、第1カメラ11への光線H -1αρ -1(K -1i,j)を基準画像40に投影し、基準画素P40k,I,Jの座標uk,I,Jを取得する(ステップS23)。
【0101】
制御部24は、記憶部23から、コスト値Ck,i,jのデータをコスト値Ck,I,Jのデータとして取得する(ステップS24)。
【0102】
制御部24は、kを変えていきながら、コスト値Ck,I,Jが最小になるときのkを特定する(ステップS25)。制御部24は、コスト値Ck,I,Jが最小になるときのkを特定することにより、第2基準画素P40β,I,Jを特定する。
【0103】
制御部24は、ステップS25の処理の実行後、図12に示すようなステップS26の処理に進む。
【0104】
制御部24は、第1基準画素P40i,jと第2基準画素P40β,I,Jとの間の距離が閾値を下回るか否かを判定する(ステップS26)。
【0105】
制御部24は、第1基準画素P40i,jと第2基準画素P40β,I,Jとの間の距離が閾値を下回ると判定した場合(ステップS26:YES)、第1基準画素P40i,jと参照画素P41α,i,jと対応付けが誤対応ではないと判定する(ステップS27)。一方、制御部24は、第1基準画素P40i,jと第2基準画素P40β,I,Jとの間の距離が閾値以上であると判定した場合(ステップS26:NO)、第1基準画素P40i,jと参照画素P41α,i,jと対応付けが誤対応であると判定する(ステップS28)。
【0106】
ステップS29の処理では、全ての第1基準画素P40i,jと参照画素P41α,i,jとの対応付けについてステップS1~S28の処理を実行したか否かを判定する。制御部24は、全ての第1基準画素P40i,jと参照画素P41α,i,jとの対応付けについてステップS1~S28の処理を実行したと判定しない場合(ステップS29:NO)、行番号i及び列番号jを変え、ステップS21の処理に戻る。制御部24は、全ての第1基準画素P40i,jと参照画素P41α,i,jとの対応付けについてステップS1~S28の処理を実行したと判定した場合(ステップS29:YES)、誤対応の判定処理を終了する。
【0107】
このように本実施形態に係る画像処理装置20では、制御部24は、複数の平面射影変換Hによって第1基準画素P40i,jの座標ui,jを複数の参照画素P41の座標Kρ{Hρ -1(K -1i,j)}座標に変換する。制御部24は、複数の参照画素P41k,i,jのうちで第1基準画素P40i,jと同じ被写体を含む参照画素P40α,i,jを特定する。制御部25は、第1基準画素P40i,jと参照画素P40α,i,jとを対応付ける対応付け処理を実行する。ここで、上述したように、平面射影変換H(kは、「1≦k≦N」を満たす整数)は、仮想平面V3に位置する仮想点X3を通る第1カメラ11への光線を、当該仮想点X3を通る第2カメラ12への光線に変換するための変換式である。仮想平面V3は、仮想平面V3の法線方向が第1カメラ11の光軸OX1に沿う方向に基づいて設定される任意の仮想平面であってよい。つまり、本実施形態では、制御部24は、第1仮想平面V1を用いたプレーンスイープ法による処理に加えて、第1仮想平面V1以外の仮想平面V3を用いた処理を実行することができる。このような構成により、以下に説明するように、被写体までの距離をより精度良く測定することができる。
【0108】
第1比較例として、仮想平面V3(kは、「1≦k≦N」を満たす整数)の集合すなわち仮想平面V3~V3が第1仮想平面V1のみを含む場合を考える。つまり、第1比較例では、制御部24は、プレーンスイープ法による処理のみを実行し、第1基準画素P40i,jと参照画素P41α,i,jとを対応付ける対応付け処理を実行する。ここで、図7に示すような、第2被写体оb2は、第1仮想平面V1に平行な面を含まない。つまり、第2被写体оb2の何れの面の法線方向も、第1仮想平面V1の法線方向すなわち第1方向D1と一致しない。そのため、第1方向D1の第1距離d1を変化させながら複数の平面射影変換Hによって複数の参照画素P41k,i,jのデータを取得しても、第1基準画素P40i,jと同じ被写体を含む参照画素P41α,i,jを精度良く特定することができない。
【0109】
このような第1比較例に対し、本実施形態では、仮想平面V3は、第1仮想平面V1以外の仮想平面V3を含むことができる。このような構成により、第1仮想平面V1に平行な面を含まない被写体についても、制御部24は、その被写体を含む第1基準画素P40i,jと参照画素P41α,i,jとを精度良く対応付けることができる。例えば、図7では、仮想平面V3が第2仮想平面V2を含めば、制御部24は、第2被写体оb2を含む第1基準画素P40i,jと参照画素P41α,i,jとを対応付けることができる。ここで、例えば、第2被写体оb2が路面の凹凸である場合、本実施形態では、第2被写体оb2を含む第1基準画素P40i,jと参照画素P41α,i,jとを対応付けることにより、路面の凹凸までの距離を算出することができる。したがって、本実施形態では、路面形状をより高精度に検出することができる。
【0110】
第2比較例として、魚眼レンズによって撮像された基準画像及び参照画像によって被写体までの距離を測定することを考える。図13に、魚眼レンズによって撮像された画像40Xを説明するための図を示す。画像40Xにおける実線は、路面からの高さが同じになる地点を結んだ線である。画像40Xは、領域R1,R2を含む。領域R1では、領域R2と比較して実線の間隔が広い。領域R1では、実線の間隔が広いため、画像40Xに対して歪み補正を実行した場合、路面からの高さが異なる地点は、異なる画素に対応する。しかしながら、領域R2では、実線の間隔が狭いため、画像40Xに対して歪み補正を実行した場合、路面からの高さが異なる地点が、同じ画素に対応し得る。領域R2では、路面からの高さが異なる地点が同じ画素に対応するため、画像40Xのような基準画像及び参照画像にプレーンスイープ法を適用しても、被写体までの距離を取得できない場合がある。
【0111】
このような第2比較例に対し、本実施形態では、制御部24は、仮想平面V3は、プレーンスイープ法による第1仮想平面V1以外の仮想平面V3を含むことができる。つまり、仮想平面V3を適宜設定すれば、制御部24は、領域R2に写る被写体を含む第1基準画素P40i,jと参照画素P41α,i,jとを対応付けることができる。つまり、本実施形態では、第1カメラ11及び第2カメラ12の光学系に魚眼レンズを採用しても、被写体までの距離を取得することができる。本実施形態では、第1カメラ11及び第2カメラ12の光学系に魚眼レンズを採用することにより、より広い領域に存在する被写体の距離を取得することができる。
【0112】
さらに、本実施形態では、制御部24は、第1基準画素P40i,jと第2基準画素P40β,I,Jとに基づいて、第1基準画素P40i,jと参照画素P41α,i,jとの対応付けが誤対応であるか否かを判定する。ここで、ステレオ画像には、オクルージョン領域が生じる場合がある。オクルージョン領域とは、基準画像40及び参照画像41のうちの、一方に撮像され、他方には撮像されない領域である。オクルージョン領域が生じると、制御部24は、第1基準画素P40i,jと参照画素P41とを間違えて対応付けてしまう場合がある。また、格子模様等の周期的な模様が基準画像40及び参照画像41に含まれると、制御部24は、第1基準画素P40i,jと参照画素P41とを間違えて対応付けてしまう場合がある。このような場合でも、本実施形態では、第1基準画素P40i,jと第2基準画素P41β,I,Jとに基づいて、第1基準画素P40i,jと参照画素P41α,i,jとの対応付けが誤対応であるか否かを判定することができる。このような構成により、被写体までの距離をより精度良く測定することができる。
【0113】
よって、本実施形態によれば、被写体までの距離をより精度良く測定することができる技術を提供することができる。
【0114】
さらに、本実施形態では、第1カメラ11のレンズ及び第2カメラ12のレンズは、それぞれ、広角レンズであってもよい。この場合、制御部24は、誤対応の判定処理において、第1基準画素P40i,jに対応付けられた参照画素P41α,i,jを通る第2カメラ12への光線Hαρ -1(K -1i,j)のデータを取得してもよい。制御部24は、取得した第2カメラへの光線Hαρ -1(K -1i,j)を複数の平面射影変換Hの逆変換すなわち複数の平面射影変換H -1によって第1カメラ11への光線H -1αρ -1(K -1i,j)に変換してもよい。制御部24は、変換した第1カメラへの光線H -1αρ -1(K -1i,j)を基準画像40に投影することにより、複数の基準画素P40k,I,Jの座標uk,I,Jを取得してもよい。ここで、第1カメラ11及び第2カメラ12のレンズに広角レンズが採用される場合、第1カメラ11及び第2カメラ12のレンズの歪みの度合いが大きくなる。第1カメラ11及び第2カメラ12のレンズの歪みの度合いが大きくなると、基準画像40において設定された画像座標系から参照画像41において設定された画像座標系への単純な変換式によって、基準画素P41k,I,Jの座標を精度良く取得できなくなる。本実施形態では、第2カメラ12への光線Hαρ -1(K -1i,j)を平面射影変換Hの逆変換によって第1カメラ11への光線H -1αρ -1(K -1i,j)に変換することができる。このような構成により、第1カメラ11及び第2カメラ12のレンズの歪みの度合いが大きくても、複数の基準画素P40k,I,Jの座標を精度良く取得することができる。よって、本実施形態では、第1基準画素P40i,jと第2基準画素P40β,I,Jとに基づいて、第1基準画素P40i,jと参照画素P41α,i,jとの対応付けが誤対応であるか否かを精度良く判定することができる。
【0115】
さらに、本実施形態では、複数の仮想平面V3は、第1仮想平面V1及び第2仮想平面V2の両方を含んでもよい。このような構成により、制御部24は、上述したように第1仮想平面V1に平行な面を含まない第2被写体оb2について、第2被写体оb2を含む第1基準画素P40i,jと参照画素P41α,i,jとを対応付けることができる。ここで、被写体によっては、第1仮想平面V1に平行な面及び第2仮想平面V2に平行な面の両方を含むことにより、第1被写体及び第2被写体の両方に該当する場合がある。このような第1被写体及び第2被写体の両方に該当する被写体について、制御部24は、第1基準画素P40i,jと参照画素P41との対応付けを間違える場合がある。このような場合でも、制御部24は、第1基準画素P40i,jと第2基準画素P40β,I,Jとに基づいて、第1基準画素P40i,jと参照画素P41との対応付けが誤対応であるか否かを判定することができる。よって、複数の仮想平面V3が第1仮想平面V1及び第2仮想平面V2の両方を含んでも、誤対応であるか否かを判定することができるため、より多くの被写体までの距離を精度良く測定することができる。
【0116】
また、本実施形態では、制御部24は、誤対応の判定処理において、対応付け処理にて算出したコスト値Ck,i,jに基づいて、複数の基準画素P40k,I,Jのうちで、参照画素P41α,i,jと同じ被写体を含む第2基準画素P40β,I,Jを特定してもよい。このような構成により、誤対応の判定処理では、特徴量を抽出する処理を実行しなくてよい。また、誤対応の判定処理では、コスト値Ck,i,jを算出する処理を実行しなくてよい。結果として、制御部24は、より高速に、参照画素P41α,i,jと同じ被写体を含む第2基準画素P40β,I,Jを特定することができる。
【0117】
また、本実施形態では、第1基準画素P40i,jと第2基準画素P40β,I,Jとの間の距離に基づいて、被写体までの距離に対して信頼度を付与してもよい。制御部24は、被写体までの距離の情報及び信頼度を外部機器に出力部22によって出力してもよい。制御部24は、被写体までの距離の情報としての距離画像と、信頼度とを外部機器に出力部22によって出力してもよい。このような構成により、外部機器は、信頼度を参照することにより、被写体までの距離の情報を適切に処理することができる。
【0118】
一実施形態において、(1)画像処理装置は、
基準位置で撮像により生成された基準画像のデータと、前記基準画像とは異なる位置で撮像により生成された参照画像のデータとを取得する取得部と、
複数の平面射影変換によって前記基準画像の第1基準画素の座標を前記参照画像に含まれる複数の参照画素の座標に変換し、座標を変換した前記複数の参照画素のうちで前記第1基準画素と同じ被写体を含む参照画素を特定し、前記第1基準画素と特定した前記参照画素とを対応付ける対応付け処理を実行する制御部と、を備え、
前記制御部は、
前記複数の平面射影変換の逆変換によって前記第1基準画素に対応付けた前記参照画素の座標を前記基準画像に含まれる複数の基準画素の座標に変換し、座標を変換した前記複数の基準画素のうちで前記第1基準画素に対応付けた前記参照画素と同じ被写体を含む第2基準画素を特定し、前記第1基準画素と前記第2基準画素とに基づいて、前記第1基準画素と前記参照画素との対応付けが誤対応であるか否かを判定する判定処理を実行し、
前記複数の平面射影変換は、前記基準画像を生成したカメラへの光線であって、複数の仮想平面のそれぞれに位置する複数の仮想点を通る光線を、前記参照画像を生成したカメラへの光線であって、前記複数の仮想点を通る光線に変換する。
【0119】
(2)上記(1)に記載の画像処理装置では、
前記基準画像及び前記参照画像は、広角レンズによって撮像された画像であってもよい。
【0120】
(3)上記(1)又は(2)に記載の画像処理装置では、
前記制御部は、前記判定処理において、
前記参照画像を生成したカメラへの光線であって、前記第1基準画素に対応付けられた前記参照画素を通る光線のデータを取得し、
取得した前記光線を前記複数の平面射影変換の逆変換によって前記基準画像を生成したカメラへの光線に変換し、変換した前記光線を前記基準画像に投影することにより、前記複数の基準画素の座標を取得してもよい。
【0121】
(4)上記(1)から(3)までの何れか1つに記載の画像処理装置では、
前記制御部は、前記判定処理において、前記第1基準画素と前記第2基準画素との間の距離が閾値以上であると判定した場合、前記第1基準画素と前記参照画素との対応付けが誤対応であると判定してもよい。
【0122】
(5)上記(1)から(4)までの何れか1つに記載の画像処理装置では、
前記仮想平面の法線方向は、前記基準画像を生成したカメラの光軸方向に基づいて設定され、
前記制御部は、前記第1基準画素に含まれる被写体までの距離を、前記基準位置から、前記第1基準画素に対応付けられた前記参照画素の座標の取得に用いられた前記仮想平面までの距離に基づいて取得してもよい。
【0123】
(6)上記(1)から(5)までの何れか1つに記載の画像処理装置では、
前記複数の仮想平面は、第1仮想平面及び第2仮想平面の両方を含み、
前記第1仮想平面の法線方向は、前記基準画像を生成したカメラの光軸方向である第1方向に一致し、
前記第1仮想平面は、前記第1方向に沿って前記基準位置から第1距離離れて位置し、
前記第2仮想平面の法線方向は、前記第1方向とは異なる第2方向に一致し、
前記第2仮想平面は、前記第2方向に沿って前記基準位置から第2距離離れて位置してもよい。
【0124】
(7)上記(1)から(6)までの何れか1つに記載の画像処理装置では、
前記制御部は、
前記対応付け処理において、前記第1基準画素の特徴量及び前記複数の参照画素の特徴量を抽出し、抽出した前記第1基準画素の特徴量と前記複数の参照画素のそれぞれの特徴量との間の類似度をそれぞれ示す複数のコスト値を算出し、前記複数のコスト値に基づいて、前記第1基準画素と同じ被写体を含む参照画素を特定し、
前記判定処理において、前記対応付け処理にて算出した前記複数のコスト値に基づいて、前記第1基準画素に対応付けた前記参照画素と同じ被写体を含む第2基準画素を特定してもよい。
【0125】
(8)上記(1)から(7)までの何れか1つに記載の画像処理装置では、
前記制御部は、前記被写体までの距離の情報に基づいた画素値を有する距離画素を含む距離画像を生成してもよい。
【0126】
(9)上記(1)から(8)までの何れか1つに記載の画像処理装置では、
前記制御部は、前記誤対応であると判定した前記第1基準画素に対応する前記距離画素を無効にしてもよい。
【0127】
(10)上記(1)から(9)までの何れか1つに記載の画像処理装置では、
前記制御部は、複数の前記距離画素のうち、無効にした前記距離画素の画素値を、他の前記距離画素の画素値によって補間してもよい。
【0128】
(11)上記(1)から(10)までの何れか1つに記載の画像処理装置では、
出力部をさらに備え、
前記制御部は、前記距離画像のデータを外部機器に前記出力部によって出力してもよい。
【0129】
(12)上記(1)から(11)までの何れか1つに記載の画像処理装置では、
前記制御部は、前記第1基準画素と前記第2基準画素との間の距離に基づいて、取得した前記被写体までの距離に対して信頼度を付与してもよい。
【0130】
(13)上記(1)から(12)までの何れか1つに記載の画像処理装置では、
出力部をさらに備え、
前記制御部は、前記被写体までの距離の情報及び前記信頼度を外部機器に前記出力部によって出力してもよい。
【0131】
一実施形態において、(14)ステレオカメラ装置は、
基準位置で撮像により基準画像を生成する第1カメラと、前記基準画像とは異なる位置で撮像により参照画像を生成する第2カメラとを含むステレオカメラと、
複数の平面射影変換によって前記基準画像の第1基準画素の座標を前記参照画像に含まれる複数の参照画素の座標に変換し、座標を変換した前記複数の参照画素のうちで前記第1基準画素と同じ被写体を含む参照画素を特定し、前記第1基準画素と特定した前記参照画素とを対応付ける対応付け処理を実行する画像処理装置と、を備え、
前記画像処理装置は、
前記複数の平面射影変換の逆変換によって前記第1基準画素に対応付けた前記参照画素の座標を前記基準画像に含まれる複数の基準画素の座標に変換し、座標を変換した前記複数の基準画素のうちで前記第1基準画素に対応付けた前記参照画素と同じ被写体を含む第2基準画素を特定し、前記第1基準画素と前記第2基準画素とに基づいて、前記第1基準画素と前記参照画素との対応付けが誤対応であるか否かを判定する判定処理を実行し、
前記複数の平面射影変換は、複数の仮想平面のそれぞれに位置する複数の仮想点を通る前記第1カメラへの光線を前記複数の仮想点を通る前記第2カメラへの光線に変換する。
【0132】
一実施形態において、(15)画像処理方法は、
基準位置で撮像により生成された基準画像のデータと、前記基準画像とは異なる位置で撮像により生成された参照画像のデータとを取得することと、
複数の平面射影変換によって前記基準画像の第1基準画素の座標を前記参照画像に含まれる複数の参照画素の座標に変換し、座標を変換した前記複数の参照画素のうちで前記第1基準画素と同じ被写体を含む参照画素を特定し、前記第1基準画素と特定した前記参照画素とを対応付ける対応付け処理を実行することと、
前記複数の平面射影変換の逆変換によって前記第1基準画素に対応付けた前記参照画素の座標を前記基準画像に含まれる複数の基準画素の座標に変換し、座標を変換した前記複数の基準画素のうちで前記第1基準画素に対応付けた前記参照画素と同じ被写体を含む第2基準画素を特定し、前記第1基準画素と前記第2基準画素とに基づいて、前記第1基準画素と前記参照画素との対応付けが誤対応であるか否かを判定する判定処理を実行することと、を含み、
前記複数の平面射影変換は、前記基準画像を生成したカメラへの光線であって、複数の仮想平面のそれぞれに位置する複数の仮想点を通る光線を、前記参照画像を生成したカメラへの光線であって、前記複数の仮想点を通る光線に変換する。
【0133】
本開示を諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形又は修正を行うことが容易であることに注意されたい。したがって、これらの変形又は修正は本開示の範囲に含まれることに留意されたい。例えば、各機能部に含まれる機能等は論理的に矛盾しないように再配置可能である。複数の機能部等は、1つに組み合わせられたり、分割されたりしてよい。上述した本開示に係る各実施形態は、それぞれ説明した各実施形態に忠実に実施することに限定されるものではなく、適宜、各特徴を組み合わせたり、一部を省略したりして実施され得る。つまり、本開示の内容は、当業者であれば本開示に基づき種々の変形及び修正を行うことができる。したがって、これらの変形及び修正は本開示の範囲に含まれる。例えば、各実施形態において、各機能部、各手段、各ステップ等は論理的に矛盾しないように他の実施形態に追加し、若しくは、他の実施形態の各機能部、各手段、各ステップ等と置き換えることが可能である。また、各実施形態において、複数の各機能部、各手段又は各ステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。また、上述した本開示の各実施形態は、それぞれ説明した各実施形態に忠実に実施することに限定されるものではなく、適宜、各特徴を組み合わせたり、一部を省略したりして実施することもできる。
【0134】
例えば、画像処理装置20の制御部24は、基準画像40及び参照画像41に対して、明度調整処理、コントラスト調整処理又はガンマ補正処理等の任意の画像処理を実行してもよい。又は、第1カメラ11及び第2カメラ12は、それぞれ、基準画像40及び参照画像41に対して、明度調整処理、コントラスト調整処理又はガンマ補正処理等の任意の画像処理を実行してもよい。
【0135】
例えば、上述した実施形態では、図3に示すように、第1カメラ11及び第2カメラ12が移動体30の左右方向に沿って位置するものとして説明した。ただし、第1カメラ11及び第2カメラ12の位置は、これに限定されない。他の例として、第1カメラ11及び第2カメラ12は、移動体30の上下方向に沿って位置してもよい。
【0136】
例えば、上述した実施形態では、第1カメラ11が基準画像40を生成し、第2カメラ12が参照画像41を生成するものとして説明した。ただし、基準画像40及び参照画像41は、1つのカメラによって生成されてもよい。つまり、第1カメラと第2カメラとは、同じカメラであってよい。この場合、カメラは、移動することにより、基準位置で撮像により基準画像40を生成し、基準位置とは異なる位置で撮像により参照画像41を生成する。
【符号の説明】
【0137】
1 ステレオカメラ装置
10 ステレオカメラ
11 第1カメラ
12 第2カメラ
20 画像処理装置
21 取得部
22 出力部
23 記憶部
24 制御部
30 移動体
40,40a,40b 基準画像
40оb1,40оb2,41оb1,41оb2 部分画像
40X 画像
41,41a,41b 参照画像
42,42a,42a,42a,42 第1仮想画像
43,43b,43b,43b,43 第2仮想画像
45 距離画像
P40 基準画素
P41 参照画素
P44,P44a,P44b 距離画素
V1,V1,V1 第1仮想平面
V2,V2,V2 第2仮想平面
V3,V3 仮想平面
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13